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 という名前は既に取られてた! 使い方 こんな風な例外を発生させ…

AutoForker

Rubyで何の役に立つかわからなくて自分でも使わない誰得なライブラリを作るのが趣味なのですが、RubyKaigiに参加して高まったので一つ作ってみました。 というか実際にはRubyKaigi前に作ってあったけど名前が思いつかなくて放置していたのですが、RubyKaigi…

RubyKaigi2017

RubyKaigi2017に参加したのでメモ。 0日目 10時に家を出て6時間掛けて広島へ。 広島は台風の直撃コースでどうなるかと思いましたが新幹線はちゃんと定時に広島に到着しました。 広島より先が停電したらしく乗ってきた列車は広島止まりで、その後は結構遅れた…

NSEG #92

9/16 NSEG #92 に参加しました。参加者9人でした。 アベさんが「kotlin Null Safety」という発表をしました。 Kotlinでぬるぽを発生させる方法あれこれの紹介でした(?)。 http://rayflood.org/diary-temp/nseg92.html それ以外はネタが無かったので、「横浜…

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

9/6 NSEGの「オブジェクト指向設計実践ガイド」読書会の第1回に参加しました。参加者8名でした。 nseg.connpass.com 第1章は導入部って感じで具体的なことはあまり書かれていなかったのですが、胃が痛くなるようないい話が満載でした。 設計がないと、管理さ…

reveal-ck

ここ半年くらいプレゼンのスライドはreveal-ckというのを使ってます。 github.com reveal-ck は、ブラウザ上のプレゼンツール reveal.js を簡単に使えるようにしたものです。 LinuxでもFirefoxが色付き絵文字を使えるようになったのをきっかけに、Markdownで…

とちぎRuby会議07に参加しました

8/26に開催されたとちぎRuby会議07に参加してきたので雑感等。 昼飯の唐揚げのボリュームがすごい。 お弁当「小盛り」を頼んだのにこの大きさΣ(・□・;)アメリカ飯を思い出したよ!#toRuby pic.twitter.com/Z1yx77cxMh— ちょまど@MS本社チームになった (@c…

Gemの作り方

RightCSVで久々にGemを作ったので、最近のGemの作り方をメモっときます。 GitHub上にリポジトリを作って git clone 別に最初にやらなくてもいいですけど、どうせ GitHub で公開するのなら最初にやっといた方が楽です。READMEやLICENSEファイルも作ってくれま…

Rubyのnilを返さないCSVライブラリ

RubyのCSVライブラリは何故か空フィールドについてnilを返します(「"」で括られていると空文字列を返します)。 require 'csv' CSV.parse('a,,"","1,2"') do |row| p row end #=> ["a", nil, "", "1,2"] なのでそれを考慮していないと NoMethodError(いわゆる…

第15回 SQLアンチパターン読書会に参加しました

8/2 NSEGの「SQLアンチパターン読書会」の第15回に参加しました。 nseg.connpass.com 隔週の水曜日の夜に開催しています。だいたいいつも3〜4人くらいでこじんまりとやってます。今回は4人でした。 一人が1〜2ページくらいを音読して、気になったことをみん…

第14回 SQLアンチパターン読書会に参加しました

NSEGの「SQLアンチパターン読書会」の第14回に参加しました。 nseg.connpass.com 隔週の水曜日の夜に開催しています(が、今回は私の都合で1日ずらしてもらいました)。だいたいいつも3〜4人くらいでこじんまりとやってます。今回は5人でした。 一人が1〜2ペー…