サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
toromoti.hatenablog.com
Git入門git作者: Travis Swicegood,でびあんぐる出版社/メーカー: オーム社発売日: 2009/08/12メディア: 単行本(ソフトカバー)購入: 25人 クリック: 305回この商品を含むブログ (102件) を見る正直、この手の本なんていらないと思った。なぜなら、 簡単なことを難しく説明しすぎる。 そのうち知ればいいことをわざわざ教える。 文章が長い。なのでこわくない Gitいつやるの?Git入門SlideShareでこれとこれ読んで、リファレンス本でも買えばいいんじゃねえの。そんなことを思いました。Gitポケットリファレンス作者: 岡本隆史,武田健太郎,相良幸範出版社/メーカー: 技術評論社発売日: 2012/07/10メディア: 単行本(ソフトカバー)購入: 7人 クリック: 103回この商品を含むブログ (26件) を見る2014-02-22追記:アトラシア
Bash, Shellscript, Testing Framework, Linux, ShellTL;DRtoromoti/chocomint.sh(github)数カ月前に超絶便利なBashのテストツール*1をリリースした。ジャンル的にはsstephenson/bats(github)やmpapis/tf(github)と同じようなもの。乱暴に言えば、この2つを掛け合わせたようなツール。動機Bashで書いたコマンドラインツールのテストのためになにかいいものはないかとツールを探したが、好みのものが見つからなかったから。使用感わざわざRubyなんてインストールしたくないし、もっと言えば実際に動くスクリプトのなかのコメント文にテストを書きたいというズボラな僕のためのツール。たとえば、あまり例としては良くないんですが、こういうスクリプトがあるとしたら #!/usr/bin/env choco
Dockerなんかやっとわかった。DockerのCMDとENTRYPOINTってこう説明されてる。ENTRYPOINTはrun時の引数がENTRYPOINTの引数になるよ。CMDのときはrun時の引数がそのまま置き換わるよ。だいたいこんな感じの説明だけなので、よくわからなかった。要するにENTRYPOINTってのは絶対なわけだ。runする人が変えられない。Dockerfile作者が絶対に実行したいコマンドってこと。CMDは、runする人しだいで置き換えられるもの。で、ENTRYPOINTは絶対なんだけど、それに対する引数はユーザに選んでもらってもいいってときは、併用するんだ。 ENTRYPOINT ["ls", "-l"] CMD ["-a"] いい例が浮かばなかったけど、ls -lは変えられない。run時になにも指定しなければls -l -aになる。run時に-tを指定したらCMDが置き
Docker長らくブログ書いてなかったので、どうでもいい話をちょっと書こう。Blue-Greenでチヤホヤされる運命のDockerで、DBを動かすという需要はあんまりないとは思いますが、コンテナでDBを動かすというのもそれはまた一興です。DBを動かすとなると共有メモリをたくさん使うことになるかと思います。そういう共有メモリの設定に関して、バージョン1.0が出てからいままでのやり方が通用しなくなったので、それについて書きます。これまでこれまで、僕はDockerでPostgreSQLコンテナを動かすとき、まずコンテナ内で起動スクリプト的なシェルを実行するようにしていました。そのなかで、以下のようにカーネルパラメータshmmaxの値を大きくしていました。 sysctl -w kernel.shmmax=4418740224 なぜならコンテナ内のshmmaxの値がなぜか小さく設定されているために、
Docker, MemoDockerは激しく開発が進んでいるのでフロントの使い勝手のみならずバックエンドもなかなか動きが激しい。0.10.0も出て落ち着いてきたここいらで、Dockerのバックエンドはどんなもんか。軽く簡単にまとめておきたい。Dockerのバックエンドは大きく分けて実行ドライバとストレージドライバである。docker infoコマンドを叩けばバックエンドになにが使われているか見れる。Execution Driver実行ドライバには、 lxcドライバ nativeドライバがある。lxcドライバはlxcユーザランドツールを利用したドライバ。これを使ってコンテナを走らせた場合、ホスト側でpsをするとlxc-startのプロセスが見える。lxcユーザランドツールを使っているからlxc-attachなどのlxcファミリーなコマンドも使えるのがおいしいところ。*1First, we a
Docker, Immutable Infrastructure, Linux, Bash, Tool前段今日のタイトル怖い。この前、こんなの書いた。supervisordを使わずにコンテナ内で安全に複数のプロセスを走らせる - 技術野郎の復習このなかで、「コンテナ内の子プロセスを安全に止めるには親のSIGINTをトラップして、子プロセスを安全に殺してから親が死ねばいいじゃん。で、それやるんだったらsupervisordとかのプロセス管理ツール使えばいいけど、ちょっと大げさじゃね?」っていう話をした。*1ディスポーザブルなのに再起動supervisordとかmonitのやってくれるプロセス再起動がそんなにおいしいもんじゃなくね?って言ったのはあんまり深い意味はなくて、再起動してくれたら嬉しい場面もあるけど嬉しくない場面もあるし、ディスポーザブルって考えると死んじゃったらあっさり捨てて作りな
Docker, Bash 親はSIGINT、子はSIGKILLコンテナは基本的には One Work, One Container であるべきなんだけど、現状コンテナ内で複数のプロセスを走らせたいという状況はよくあると思う。Dockerコンテナ内で複数のプロセスを走らせるのなら、supervisordを使うと良いよっていうのは公式に書いてある。なんでかっていうと例えば、docker run -d centos multiexec.shとやってmultiexec.shの中で複数のプロセスをフォークさせていた場合、普通にdocker stopでコンテナを停止させると親プロセスにはSIGINTが送られるが、親プロセスの停止と同時に子プロセスはSIGKILLになるという動作になるからだ。 supervisordでプロセス管理…はやりすぎつまり、これでは子プロセスが安全に停止する猶予がないので、su
Memo, libvirt, Open vSwitch, KVMいまさらなんですが。仕事で KVM とか Open vSwitch とか使えるようになりましょうということになったので、ちょっと触り始めました。いまさら感すごいんですけど、すべてはOpenStackにつながるんです。つまり、管理ツールからちょちょいとIaaSを操作するのはいいけど、ある程度はバックエンドも自分で操作できないといざというときに痛い目見るでしょってことです。まず最初はKVMやlibvirtやOVSについて知っておく個々の道具について知っておかないとインストールから先がよくわからない状態になってしまうかと思います。特に、組み合わせて使うものは。どれもなんとなく知ってはいる感じのレベルですが、もう少し頭に入れといたほうが良いかもしれないなぁと思った次第。特にそれぞれの道具の繋ぎ目部分は理解しておいたほうがいいかもしれま
Docker青二才なのでいろいろと解釈が間違っている部分もあるかと思いますが、ご指摘あればお願いします。コンテナ型仮想化は一日にしてならず職場じゃ一番若手の部類なのですが、最近仕事もあんまり忙しくないから、業務に関係しているという意味でDockerの勉強をしてる、仕事中に。勉強した成果を会社で話せないかなーとか思ってる。まぁ、こんな新しい道具、すぐに使えないんですけど。たぶんDockerとか触ってる人って、それなりに知識も豊富な人が多い気がしますね。なので、ちょっと僕は素人なりに素朴にDockerを見ていきたいと思います。Dockerとはホストと共通のカーネル上でプロセスとファイルスペースを分離するLXCを使いやすくしたツール。あと、重ねあわせできるファイルシステムが特徴。Goで書かれてる。Apacheライセンス。コンテナ型仮想化と言われるように、ハイパーバイザ型の仮想化とはかなり仕組みが
Ubuntu, Python, LinuxPython開発用仮想環境を作れるってのはid:ymotongpooさんのブログを前から読んでいたから知ってはいたんだけど、そんなばりばりと開発をやるようでもなかったから「ふーん」「へー」程度に聞いていた。なので、いまさら感ありますが、基本的に最近書かれた Pythonの環境設定でむかついてる人はとりあえずこれをコピペで実行してください - YAMAGUCHI::weblogの記事を参考に、入れてみました。超簡単でした。そのへんのツールの情報整理仮想環境に関するツールってなんかいろいろとあるイメージなのですが、それはきっとeasy_install、pip、distributeあたりの論争も頭の中でごちゃごちゃに絡んでいるからのような気がする。easy_install、pip、distributeは仮想環境ツールじゃなくて、モジュールインストールツー
Linuxタイトルはホッテントリメーカーで書きました。でも実際に泣ける話かもしれないこれは。悲しいかな、bash_historybashってhistoryが溜まりますよね。え? 溜まらない? じゃぁ、溜まる人だけ聞いてくれればいいです。historyって便利で、「あれ? 自分なにやったんだっけ?」ってときに、ささっと、打ったコマンド見れて、「あーはいはい」って安心できる代物です。けれどhistoryに記録されるものって打ったコマンドだけで、HISTTIMEFORMAT使ったとしても日時が記録できるだけです。まぁ日時が記録できるだけでもだいぶ素敵なんですけど、こんなこと思う人もいるかと思います。 もっと詳細な履歴を残して、あとで詳細にトレースできるようにしたい。 それを解析してグラフ化したい。 詳細なコマンド履歴を眺めてうっとりしたい。ちょっと無理に3つ考えました。ちょっと気持ち悪いですね。
Debian, Memo, Ubuntuメモする動機Linuxコマンドのソースを見たい時などに使えるがそういう機会はなかなかない。僕らのclearコマンドの本当の姿例えば、clearコマンドを調べたい時は以下のようにする。 # whereis clear clear: /usr/bin/clear /usr/bin/X11/clear /usr/share/man/man1/clear.1.gz # apt-file search /usr/bin/clear bash: /usr/bin/clear_console libncurses5-dbg: /usr/lib/debug/usr/bin/clear ncurses-bin: /usr/bin/clear # apt-get source ncurses-bin # cd ncurses-5.9/ # find . -name "*
Debian色々と検索してみてもよくわからなかったので、最終的にWiFi - Debian Wikiに辿り着いた。恥ずかしながら、うちの家は危険なWEPをまだ使っている。もう、いいかげんにしないとねーと思うので家の主に提案しないとなぁ。Windows 2000 なんてもうやめましょう、と。すべての原因は“なぜかXPがインストールできない古いパソコン”にあるようです。はじめに # aptitude install wireless-tools ドライバのインストール $ dmesg | grep WiFi [ 6.340026] iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, 1.3.27ks [ 6.340161] iwlagn 0000:02:00.0: Detected Intel Wireless WiFi Link
Vim数カ月前からVimを使い始めて、モード切り替えには慣れてきたんですが、どうしてもカーソルキーを使ってしまう。Vimを使っているのにあまりサクサク感を感じないのはカーソルキーを使っているからではないかと…。 inoremap " inoremap " 追記:日本語入力時に誤動作する inoremap inoremap nnoremap nnoremap nnoremap nnoremap 日本語入力時はどうやらVim側がを利用するようなので、inoremap を有効にすると誤動作が起きます。ツイートする
VimこのあいだVimでの画期的なカーソル移動キーマップ - おもいつきでおもちつきなんていうものを書きました。邪道とはわかりつつも、しつこくVimネタでいきます。半分マジかもしれない。Vimは、キーマップをカスタマイズできるのが一つの売りらしいので、みようみまねでカスタマイズするわけですが、このカスタマイズ、どこまでが良しでどこからが邪道なのか、その線引きが難しいのです。今回は、わりと「これ邪道なんじゃねぇの?」寄りなキーバインドを紹介します。ちなみに正当な感じのほうは、たくさんの人が紹介していると思うのでやめときます。FPSライクな移動操作キー攻撃的なキーバインドですが、FPS大好きなVim初心者は飛びつくこと必至。ただ、あくまでもwasdは使わないこと。そこまで攻撃的になると右手が破壊されるかもしれない。 nnoremap h i nnoremap H I nnoremap i n
Joke, VimVimというものVimと言えば、Unix界隈においてEmacsと双璧をなすテキストエディタ。モードという概念があったり、キー操作が独特なため初心者はあまり定着せず、EmEditorなどに流れてしまうという傾向がある、んだと思う。「慣れれば速い」と言われるVimだけど、そんな噂、にわかには信じられない。Vimのカーソル移動Vimのカーソル移動は「HJKL」キーで行う。それぞれ、「←↓↑→」の移動に対応している。いわずと知れた「くまのり」である。この「くまのり」に何度となく苦行を強いられた。一直線のなかに隠された上下移動。それがVimの哲学であることは言うまでもない。本当に答えはそれしかないのか?「くまのり」でなければいけない必然性というものは、まぁ理解できる。でも、考え方を変えてみよう。別に「くま」じゃなくてもいいんじゃないか。そもそも「くまのり」とは、なんなのか。そこに意
このページを最初にブックマークしてみませんか?
『toromoti.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く