Rubyのシグナルハンドラ

toRuby & guRuby 出張版 でシグナルについてやってたので、関連して書いてみます。 どのような時にシグナルハンドラを定義するのか どのような時にシグナルハンドラを定義するのかという話がありました。 UNIXのデーモンプログラムは、何が由来なのかわかり…

RubyHiroba 2014 に行きました

去年に引き続き RubyHiroba 2014 に行ってきました。 お目当ては toRuby & guRuby 出張版 です。 渋谷の一角の北関東。 咳さん(@m_seki)とか田中さん(@tanaka_akr)とか角さん(@kdmsnr)とか角谷さん(@kakutani)とか豪華メンバーが参加してました。 guRuby - …

メールアドレスの正規表現

たまにメールアドレスの形式を正規表現で表すのは不可能とかというのを目にするのですが、そんなことはありません。入れ子がなければたいていの文字列の形式は正規表現で表すことができます。 ということで、RFC5321, 5322 からメールアドレスの正規表現を書…

Dockerイメージを作る (NSEG#54)

NSEGの第54回勉強会で「Dockerイメージを作る」という発表をしました。 Dockerイメージを作る (SlideShare にもアップロードしました) スライドにも書きましたが、前回以降にやったことの自分用のまとめみたいな感じで、世間的に目新しい話題は特に無いです…

相手がいないのに ESTABLISHED になってる TCP ポート

最近 ParallelServer というライブラリを作ったのですが、その最中に奇妙な状態になってる TCP ポートを見つけたので、メモっておきます。 Ruby では TCP サーバーは次のような感じで作ることができます。お手軽ですね。 require 'socket' Socket.tcp_server…

#NSEG 第53回勉強会

NSEG 第53回勉強会に参加しました。 今回も会場はケイケンさんです。 今回のテーマは JavaScript でした。 自分が JavaScript を触り始めたのは結構前なんですけど、未だにちゃんと書ける自信がありません。 "0" == 0 == false なのに if ("0") { alert("hog…

JAWS-UG 長野支部 第1回勉強会

先月、JAWS-UG 長野支部が発足しましたが、その第1回勉強会があったので参加してきました。 会場は NSEG にも良く会場を提供して頂いてるケイケンさんの会議室でした。長野駅から徒歩数分で便利です。電源も WiFi もあってすばらしいです。 AWS のアカウント…

スクロールバーの矢印を表示する

最近は Xubuntu を使ってますが、テーマによるのかもしれませんが、スクロールバーの端の矢印が表示されなくなってて不便なので表示する方法を調べました。 Gtk3 $HOME/.config/gtk-3.0/gtk.css を次の内容で作成 .scrollbar { -GtkScrollbar-has-backward-s…

Ruby の Timeout.timeout に例外クラスを指定する時の注意

ちょっとハマったのでメモ。 Ruby の Timeout ライブラリを使うと、一定の時間が過ぎても終わらない処理を中断することができます。 require 'timeout' def hoge sleep end def main Timeout.timeout(3) do hoge end rescue Timeout::Error => e p 'main: ti…

Ubuntu の MySQL を標準以外のディレクトリで動かす

Ubuntu の MySQL の datadir は /var/lib/mysql です。これを別のディレクトリに変更して動かそうとするとエラーになります。 # mkdir /hoge # mysql_install_db --datadir=/hoge Installing MySQL system tables... 140614 8:57:23 [Warning] Can't create …

Git に対する Subversion の利点

気がついたら Git を初めて触ってからもう5年近くになってました。 それまで使ってた Subversion はもう全然使ってなくて、もう svn のサブコマンドは ls, log, co くらいしか使えません。Subversion のリポジトリを見ないといけないときは、とりあえず git …

Gitで最初のコミットをどうにかする

Git

最初のコミットの内容を変更したい Gitで最初のコミットの内容を変更したいと思って git rebase -i <最初のコミット> とやっても、最初のコミットは出てきません。 % git log --oneline 4f4f42c 二番目のコミット 9d4876c 最初のコミット % git rebase -i 9d…

「文字化けに関するトラブルシューティング」

ちょっと前の話ですが、こんなツイートを見かけました。 「『PDF ファイルが開かない場合の対処方法』という PDF ファイル 」pic.twitter.com/f4wixbH97r を見て、とっさに「文字化けに関するトラブルシューティング」を思い出した。 pic.twitter.com/vvbRWO…

Xubuntu 14.04

Ubuntu が Unity になって以来、デスクトップ環境を転々としている自分ですが、最近は Xubuntu を使っています。 しばらく前までは Linux Mint を使ってたのですが、会社の PC の OS が Windows 必須になってしまって、しかも PC のスペックがかなりヘボい(C…

「Dockerさわってみた」 #NSEG 50

(これは 5/18 に書きました) 第50回 NSEG 勉強会に参加して、Docker について話してきました。 Dockerさわってみた スライドに書いたとおり、Docker については触ってみた程度でそんなにちゃんとは理解してないです。 「詳しい人からのツッコミで教えてもら…