サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
piyopiyoducky.net
起動中のDockerコンテナに接続する方法として、よくsshdを立ち上げておく方法が紹介されていますが、本来の目的と異なるプロセスを立ち上げるのは好ましくありませんし、準備も面倒です。 (参考: If you run SSHD in your Docker containers, you’re doing it wrong!) util-linuxに含まれているnsenterを使うことで、起動中のDockerコンテナに簡単に接続することができます。 しかも、jpetazzo/nsenterのDockerイメージを使うことでインストールも簡単にできます。 nsenterのインストール jpetazzo/nsenterイメージを用いて、次のように-vオプションを付けてコンテナを起動します。 $ docker run --rm -v /usr/local/bin:/target jpetazzo
Dockerには、コンテナ内から他のコンテナの情報を取得する仕組みがあります。 データベース用コンテナのIPアドレスを取得する例 この仕組を利用すると、PostgreSQLなどのデータベースのコンテナに簡単に接続することができます。 今回はPostgreSQLのオフィシャルイメージを利用します。 まず、接続先となるデータベースのコンテナを起動します。 このとき、--nameフラグで名前を付けておきます。 $ docker run --name sample_db -d postgres 次に、接続元となるコンテナを、--linkフラグを付けて起動します。 $ docker run --rm -it --link sample_db:db postgres sh -c 'psql -h $DB_PORT_5432_TCP_ADDR -U postgres' こうすることで、PostgreSQ
Emmet for Sublime Text 2 pluginは行末に移動しようとすると悲劇が起こることで有名なプラグインです。 Preferences > Package Settings > Emmet > Key Bindings – Defaultを直接書き換える方法をよく見かけますが、パッケージのアップデートで元に戻ってしまいます。 直接編集しなくても、Ctrl DとCtrl Eを再定義することでユーザー設定側に書くことができます。具体的にはPreferences > Key Bindings – Userに以下の内容を書きます。 [ { "keys": [ "ctrl d" ], "command": "right_delete" }, { "keys": [ "ctrl e" ], "command": "move_to", "args": { "to": "hardeol"
2013/09/10(Tue) Update インラインパッチのダウンロードURLを修正 2013/09/09(Mon) Update インラインパッチの更新に伴い他のパッチが不要になったため手順を修正 Emacs 24.3をOS Xにインストールするための手順です。 今まで複数のパッチを当てる必要がありましたが、インラインパッチにポップアップダイアログバグ対応とPreferred Languages対応が取り込まれたので、1つで済むようになりました。 また、以前はフルスクリーンパッチも必要でしたが、公式でフルスクリーンに対応したのでパッチは一応不要になりました。 一応と書いたのはツールバー非表示でフルスクリーンにすると、ツールバーの分だけ上部に隙間が開いてしまって残念な感じになるからです。 とりあえず、現状OS XのEmacsで日本語使う場合はインラインパッチを当てておけばOKな感じです
ブログをOctopress + GitHub PagesからMiddleman-Blog + Amazon S3へ移行しました。 Middlemanに興味があって試したところ、シンプルで使い勝手がよかったためそのまま移行することにしました。 AWSも勉強中なので、この機会に併せてホスティングをS3に、DNSサーバーもRoute 53にしました。 コスト意識を持った方が、色々工夫しようとする気持ちが強くなるので、技術が身につきやすいのかなぁと思います。 Goodbye Octopress Octopressを使うとき、まず本体をGitリポジトリからクローンし、その中に記事のファイルを追加していきます。 そのため、記事用のブランチを切ってはいますが、本体の更新のコミットと同居するのでログがかなり見づらいです。 記事だけ別のリポジトリにすれば幾分マシだったのかも?それもなんだかなぁ。 また、テン
zawというAnythingライクに色々できるZsh widgetがあり、既にcdr用のスクリプトも用意されているのですが、残念ながらエラーが出て動きません。Zsh 4.3で紹介されているサイトが多いので、Zsh 5.0から動かなくなったのかもしれません。 とりあえずZsh 5.0でも、問題の行の##<-> ##のスペースをエスケープすれば動くようになるのですが、ディレクトリパスにスペースを含んでいると、分割されて別のディレクトリ扱いになってしまう問題が残ります。 それならばpercolでやってしまおう、ということでwidgetを作ってみました。 前準備 percolのインストールと設定は「percol 入れて zsh と組み合わせたら超便利 – GitHub」を参照してください。 cdrの準備ができていない場合は「zshのchpwd_recent_dirsでよく行くディレクトリに移動する
いつも調べるのを後回しにして放置してしまっていたのですが、設定を見つけたので記録しておきます。 IDEAのデフォルトの設定では、Cmd + /でComment with Line Commentアクションを実行すると、インデントを無視して行の先頭からコメントになってしまいます。 設定はCode Style > Groovy…ではなくCode Style > Javaにありました。 Code GenerationタブにComment Codeという設定があり、その設定のチェックを外せばOKです。 Line comment at first columnがCmd + /のComment with Line Commentアクションの実行に影響し、Block comment at first columnがCtrl + Shift + /のComment with Block Commentアク
先日社内で環境変数_JAVA_OPTIONSを使っていると、javaコマンドの実行時にPicked up _JAVA_OPTIONS: ...が標準エラー出力に吐かれるため、アプリケーションがエラー判定してコケてしまうという話題が上がりました。 私自身はPicked up ...が出力されるのがイヤだったので、元々_JAVA_OPTIONSを設定しておらず、代わりにJAVA_OPTSを使っていました。 でも、JAVA_OPTSはJava系のアプリケーションが慣習的に用意しているだけで、javaコマンドにアプリケーションが渡してくれているというだけでした。 javaコマンドに何を渡したいかというと、-Dfile.encoding=UTF-8を渡したいという人がほとんどだと思います。 そこでこの機会にJavaのシステムプロパティの設定と文字コードがどういう動きをするのか整理してみました。 シス
GebでヘッドレスなWebDriverというとHtmlUnitが挙げられますが、JavaScriptのサポートが非常に弱かったり、余計なログを出しまくったりと正直かなり残念な感じです。 FirefoxやChromeを使えばよいのですが、PhantomJSをWebDriverとして使えるようにしたGhost Driverを見つけたのでGebから使ってみたいと思います。 PhantomJSのインストール まずPhantomJS本体が必要なので、HomeBrew等からインストールしておきましょう。 1 $ brew install phantomjs 1 2 $ phantomjs --version 1.9.1 必要な依存ライブラリについて 今回はGroovyスクリプトからGebを使います。Grapeで依存ライブラリを指定しましょう。 必要なのはGeb本体(geb-core)とPhantomJ
マップベースコンストラクターを使っていて気になったことがあったので書きます。 マップベースコンストラクターとは Groovyではマップベースコンストラクターを使うことができます。 名前付き引数のコンストラクターとも呼ばれます。 マップでフィールド名と値の組み合わせをコンストラクターの引数として渡すことで、 その渡された値で対応するフィールドが初期化されます。 1 2 3 4 5 6 class Person { String name Integer age } def person = new Person(name: 'Taro', age: 25) マップベースコンストラクターと引数なしコンストラクター ここで引数なしのコンストラクターを宣言してみます。 1 2 3 4 5 6 7 8 class Person { String name Integer age Person()
マップベースコンストラクターを使っていて気になったことがあったので書きます。 マップベースコンストラクターとは Groovyではマップベースコンストラクターを使うことができます。 名前付き引数のコンストラクターとも呼ばれます。 マップでフィールド名と値の組み合わせをコンストラクターの引数として渡すことで、 その渡された値で対応するフィールドが初期化されます。
Grailsではロギング実装としてLog4jが採用されていますが、 Log4jはもう古いし後継のLogbackを使いたくなったりしますよね? Logback Pluginを使うことでロギング実装をLog4jからLogbackに変更できます。 プラグインのページの説明通り設定すれば簡単にできるだろうと思っていたのですが、 ハマりポイントがあったのでそれも含めて書いていきます。 プラグインのインストール Logback Pluginはバイナリープラグインと呼ばれる種類のもので、 BuildConfig.groovyのpluginsブロックではなくdependenciesブロックに依存関係を書きます。 また、既存のLog4jを無効にするためにinherits('global')ブロックにも設定を追加します。 プラグインの説明のページに書いてあるのはここまでで、 これに加えてreposit
前記事の続きです。 結論から言うと、IntelliJ IDEA(やEclipse)にも環境変数LANGを渡すことができれば、Java 7における開発で日本語の扱いに問題が出なくなります。_JAVA_OPTIONSやJAVA_TOOL_OPTIONSは不要です。 file.encodingだけでは足りない ここではIntelliJ IDEAを取り上げますが、おそらくEclipseも同様です。 Java 6まではシステムプロパティfile.encodingをUTF-8に設定していればとりあえず大丈夫でした。 ところがJava 7ではfile.encodingを設定していてもうまくいきません。 file.encodingにUTF-8を設定した状態で日本語テストメソッドを実行しても、正しく認識されずエラーとなります。(余談ですがIDEAは12.1から-Dfile.encoding=UTF-8がin
rbenvのrehashに関してツイートしたらchrubyを教えて貰った。 @gantawitter checkout chruby github.com/postmodern/chr… Does not require rehashing.— Postmodernさん (@ …rbenvのrehashに関してツイートしたらchrubyを教えて貰った。 @gantawitter checkout chruby github.com/postmodern/chr… Does not require rehashing.— Postmodernさん (@postmodern_mod3) 2013年3月30日 HomeBrewですぐにインストールできます。 1 % brew install chruby .zshprofileとかから必要なスクリプトをsourceするようにしておきます。 Zs
G* Advent Calendar 2012の14日目です。 13日目は@irofさんのGroovyでJUnitなテストを書くときの注意点……なんて無かったでした。 propertyMissingについて書くことをしいられているんだと思いましたが、ネタDSLを作ることぐらいしか思いつかなかったので予定していた内容を書かせて頂きます。 Grailsのテストコードにおいて、フィクスチャーの生成処理が各テストクラスにコピペ実装で散らばっているのを何とかしたいと思い、せっかくなのでBuild Test Data PluginとGrails Fixtures Pluginを試してみることにしました。 お試し用のドメイン よくあるAuthorドメインとBookドメインです。 両プラグインのドキュメントに載っていたものをほぼそのまま持って来ました。 package fixture.sandbox
大ハマリ。 FirefoxのプロセスがGebのテストの実行のたびにポコポコ増殖してひどいことになった。 最初、Firefox 17でSeleniumが動かない問題のせいかと思っていたが、16にダウングレードしても動かなかったので追求していったら原因がわかった。 結論から書くと、Grailsに設定しているProxyがGebに引き継がれてしまい、localhostにProxy経由でアクセスしようとしていたためコケていただけであった。 Grailsのドキュメントには記載がないのだが、コマンドを実行してみると--noproxyオプションで除外設定ができることがわかる。 % grails add-proxy | Environment set to development.... | Error Usage: grails add-proxy [name] --host=[server] --p
最初Key Bindingsのexecで実現するのかと思っていたら全然見当違いだった。 どうやらSublimeにはビルドの機構があるようで、これに乗っかればいいみたい。 [Tools] -> [Build System] -> [New Build System...]から新たに下記の内容でファイルを作成する。 { "cmd": ["groovyclient","$file"], "path": "/usr/local/bin:/usr/bin:/bin", "selector": "source.groovy" } cmdGroovyServを指定 path適宜通しておく selectorこれでビルドシステムの自動判定が有効になるみたい 保存先は ~/Library/Application Support/Sublime Text 2/Packages/User/Groovy.subl
ブログをうっかり消してしまって消失していたEmacsのインストール手順を復活させました。 てっきりEvernoteに保管してあると思っていたら無かったので、24.2もリリースされたこともあり、改めて手順を作りました。 作業ディレクトリを作成します。 % mkdir -p ~/src/emacs-24.2 % cd ~/src/emacs-24.2 Emacs 24.2のアーカイブをダウンロードします。 % wget http://ftp.gnu.org/pub/gnu/emacs/emacs-24.2.tar.xz % gtar xvf emacs-24.2.tar.xz 各種パッチをダウンロードします。 フルスクリーンパッチ Patch for Emacs fullscreen support under Mac OS X 10.7 (Lion) % wget https://gist.
このページを最初にブックマークしてみませんか?
『PiyoPiyoDucky | Don't Do Agile, Be Agile.』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く