Rails でレコード数の多いテーブルを雑に抽出する

conn = ActiveRecord::Base.connection conn.select_all('show tables').rows.flatten. map {|table| [table, conn.select_all("select count(1) from #{table}").rows.flatten.first] }. sort_by {|_, c| -c }. take(10)

Raspberry Pi の無線 LAN の設定までした

長らく(1年半…)放置していたがついに重い腰を上げた。始めたら30分程度で出来たし、もっと早くやっておけばよかった… 参考にした記事: raspberry pi2 で 無線 LAN 設定まで

macOS Sierra にアップデートした

Karabiner が使えなくなるから…とアップデートを避けていたが、 Karabiner の設定を確認してみるとキーリマップは全部⌘英かなで代替できるものだったのと、キーリピート速度もコマンドで変更できることが分かったのでアップデートした。 現在のキーリマップ…

愛を伝え続けるために

この記事は妻・夫を愛してるITエンジニア Advent Calendar 2016の6日目です。 属性 私: Web 系プログラマ 妻: Web 系デザイナ(同じ職場) 子供: 3歳の娘と1歳の息子 本題: 妻を愛してる…けど 私は妻を愛しています。 日頃からそれを伝え続けたいと思っている…

Rails 5.1 から time 型の列もタイムゾーン考慮するようになるとのこと

経緯 Rails 5 で time 型の列をもつレコードを操作していたところ、以下のようなメッセージが表示された。 DEPRECATION WARNING: Time columns will become time zone aware in Rails 5.1. This still causes `String`s to be parsed as if they were in `Ti…

Yokohama.rb Monthly Meetup #70 :: どう書く

Yokohama.rb Monthly Meetup #70に行って「どう書く」に挑戦してきた。 問題はこれで、自分の回答は下に記載。 回答時間は20分いかないぐらいだったと思うんだけど、競技プログラミング勢なら10分かからないだろうとのこと。 もっとキレイに書きたかった & 1…

Mac + zshで音声リマインダ

動機 キーボードだけで操作できて、音声でリマインドしてくれる(画面切り替える必要が無い)簡単なリマインダが欲しかった。 実装 ~/.zshrc に remind() { sleep `expr 60 \* $1`; say $2 -v Kyoko; } と書いて、 source ~/.zshrc とすれば準備完了。あとは r…

ghq + peco 環境の構築メモ

いまさらだけど来年に向けての準備ということで ghq + peco な環境に移行する。 なお、ディレクトリ構成はghqを使ったローカルリポジトリの統一的・効率的な管理についてに従う。 goのインストール brew update brew install go して、 .zshrc に以下を追記…

Google Apps Scriptでマンガの発売日にSlackに通知を流してすぐ購入できるようにする

"王様達のヴァイキング"の9巻が出てる!と思ったら8巻を買ってなかった… 買い忘れないように 新刊.netを使う。 キーワードを登録すると発売日のリストを出してくれる。Kindle版の発売日にも対応していて便利。 iCal形式のカレンダーも作ってくれるので、Goog…

Google Apps ScriptでSlackに毎朝Google Calendarの予定を流す

予定が入っているのを忘れて困ったことになったので、毎朝Slackにその日と次の日の予定を流すようにしてみました。 初めてGoogle Apps Script触ったけど、サーバ無しでもcronっぽいことできるし日常を便利にするのにすごく使えそう。 下のコードを日タイマー…

Slackに特定ブランチへのpushを通知する

この記事はアクトインディ技師舞台報告書に自分が投稿したものの転載です。 --以下転載-- こんにちは、komatsuです。 日付が変わってしまいましたが、この記事はアクトインディ Advent Calendar 2015の19日目の記事です。ネムイ(´・ωゞ) 翌20日目の記事は、honda…

ActiveSupportのString#inquiry便利

例えば、Railsのviewでタブ的なものを書いていて、選択されているタブを表現するのに / hoge.html.slim = render 'tab', current: 'hoge' / _tab.html.slim li class=('active' if current == 'hoge') hoge li class=('active' if current == 'huga') huga …

出社したらSlackで自動的に挨拶する

これはアクトインディ技師舞台報告書に自分が投稿したものの転載です。 --以下転載-- こんにちは、komatsuです。 この記事はアクトインディ Advent Calendar 2015 の11日目の記事です。 前日の記事がハードコアだったので今日は軽いものを。 さて、弊社では…

Git リモートのマージ済みブランチを削除する

github.com をインストールして git checkout master && git fetch origin && git remote prune origin && git-prune-remote-branch する。 git-prune-remote-branch、以前は自作スクリプトでやってたけど、gemあるならそっち使った方が気楽という気持ち。

コピペした.sshだと警告が出てgit cloneできなかった

経緯 OSをクリーンインストール後、退避しておいた.sshをコピペしてgit cloneしようとしたら下の警告が出て失敗した。 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@…