ながのRubyの会を開催しました

12/2 ながのRubyの会第1回を開催しました。 naruby.connpass.com キャンセルもなく、飛び入り参加もあり、参加者&発表者あわせて19名でした。 発表者7人のうち普段からRubyを使ってプログラムを書いているのは私含めて約2人でした。長野のRuby層の厚さを感…

本当はこわいMySQLプロトコル

11/28 に Haskell で MySQL の Xプロトコルを実装したという話が聴ける Club MySQL というイベントがあったので参加してきました。 clubmysql.connpass.com MySQLのプロトコルの話ということで、平日の夜とは言え東京で参加者9人(発表者含む)というマニアッ…

Rubyのリファレンスマニュアルを端末で読むrefe

Rubyのリファレンスマニュアルをmanのように端末上で読むコマンドとしてriがありますが、残念ながらこれで読めるのは英語のマニュアルだけです。 Rubyには日本語でかかれたマニュアル(通称「るりま」)がありますが、いちいちブラウザで読むのも面倒だしネッ…

Firefox 57 のテキスト入力時に Ctrl-N で新規ウィンドウが開くようになってしまったが xremap で事なきを得た

Emacs 使いなので、デスクトップのキーバインドも Emacs にしていて、Firefox のテキスト入力欄でも Emacs ぽく入力していたのですが、Firefox 57 でなぜか Ctrl-N で新規ウィンドウが開くようになってしまいました。Ctrl-B, Ctrl-F, Ctrl-P はちゃんとカー…

第6回「オブジェクト指向設計実践ガイド」読書会に参加しました

11/15 NSEGの「オブジェクト指向設計実践ガイド」読書会の第6回に参加しました。参加者3名でした。寂しい。 nseg.connpass.com 今回は第6章を読みました。 第6章は継承の話でした。 普段あんまり意識せずになんとなく実装していたのですが、明文化されるとな…

Gitでコメントを無視して差分を見る

古いRubyのコードのコメントを独自のRDoc形式からYARD形式に変換して、さらにその後にプログラムを変更したんですが、その後に差分を見ると大量のコメントの差分が表示されて、実際のコードの差分が何かわからなくなったりしたので、コメントを無視して差分…

Rubyのbundlerをアップデートしたらプログラムが動かなくなった話

Ruby の bundler を 1.13 から 1.15 にアップデートしたら今まで動いたプログラムが動かなくなりました。 こんな感じ: % bundle _1.13.7_ exec ruby -r./hoge.rb -e Hoge.new % % bundle _1.15.4_ exec ruby -r./hoge.rb -e Hoge.new hoge.rb:3:in `initiali…

第5回「オブジェクト指向設計実践ガイド」読書会に参加しました

11/1 NSEGの「オブジェクト指向設計実践ガイド」読書会の第5回に参加しました。参加者7名でした。 nseg.connpass.com 今回は第5章を読みました。 オブジェクトの型(クラス)を調べて処理を変えるというコードの例としてcase文が使われてました: case preparer…

実行中プログラムのイメージを得る

Twitter見てたらこんなこと言ってる人がいました。 Unix で実行中の実行ファイルのパスを確実に得る方法はない、というのは FAQ だと思うけど、実際にやりたいことは自分自身を別プロセスで新たに立ち上げたいということなので、メモリにロード済の自分自身…

Ubuntu Mate 17.10

Ubuntu 17.10 が出たので、Xubuntu を 17.10 にしてみた。 あんまり代わり映えしなかったので、GNOME ベースになったという Ubuntu を使ってみた。 % sudo apt install ubuntu-desktop あいかわらず、アプリのメニューバーがアプリのウィンドウ内ではなく、…

Rubyおもしろい

Rubyは括弧をつけなくてもメソッドを呼び出せます。メソッド名は普通は英小文字で始まります。ローカル変数も英小文字で始まります。 こんなRubyプログラムを実行すると(ifの条件部で代入しているのはtypoではありません)、 def hoge 123 end p hoge x = 456…

QNAPの外付けディスクに日次差分バックアップ

最近1ドライブのQNAP(TS-121)を使ってるんだけど、やっぱりバックアップしないと恐いので、USBの外付けディスクをつけてバックアップすることに。 QNAPのミラー機能はなんかよくわからないしいまいち信用できないので、rsync を仕込んでみた。 ssh で QNAP …

MySQL の max_connections, table_open_cache, open_files_limit の関係

昔書いた記事を久々に見てみたら何書いてあるかさっぱりわからなかったので、最新情報で書き直してみます。 tmtms.hatenablog.com 以下は MySQL 5.6, 5.7 について書かれています。 MySQL の max_connectoins, table_open_cache, open_files_limit パラメー…

第3回「オブジェクト指向設計実践ガイド」読書会に参加しました

10/4 NSEGの「オブジェクト指向設計実践ガイド」読書会の第3回に参加しました。参加者11名でした。盛況ですね。 nseg.connpass.com 今回は第3章を読みました。 コード例が単順すぎて、より良い設計として挙げられてるコードがいまいちピンとこないところもあ…

NoException

役に立たないライブラリを作るシリーズです。 最近例外を発生させない某言語が流行ってるらしいと聞いて作ってみました。 インストール % gem install tmtms-noexception なんと noexception という名前は既に取られてた! 使い方 こんな風な例外を発生させ…