あんパン

こしあん以外は認めない

docker-compose run --rm app bundle exec rails cがうごかなかったやつ

これ。 masawada.hatenadiary.com Dockerfileで FROM ruby:2.4.2 ... ENV BUNDLE_PATH /bundle としていたけど、ruby:2.4.2の方はこういう状態で、$BUNDLE_BINがあらぬ方向を向いている状態になってたっぽい?なぜかruby:2.4.1だとうまく行ってたんだけどナ…

サポーターズさんの勉強会で、はてなブログの開発フローなどの話をします

来る12月20日、サポーターズさん@東京の勉強会にご招待いただき、『はてなブログの実例で学ぶ「はてな流」大規模Webサービス開発の勘所』と題して、はてなブログで実践している開発・運用Tipsなどの話をします。 supporterzcolab.com 完全に煽ったタイトルを…

Google Homeで血圧を記録できるようにした

Google Homeを購入したのは日記に書いたとおり。 ぼくは高血圧ぎみで薬を飲んでいて最近は毎日血圧を測っているのだけれど、億劫で記録はしていなかった。いちいちノートにつけるのは面倒だしスマートフォンを開いてメモアプリを立ち上げるのも挫折した。 Go…

自分のサイトを作り直した

https://masawada.me もともとGitHub Pagesで管理していたが、そろそろHTTPSで配信してもよかろうと思い立ってCloudFront+S3で配信することにした。おおよそいつもの構成。 ↓このリポジトリで管理していて、masterにコミットが追加されるとCircle CIで勝手に…

Let's Splitを組み立てた

大抵のエンジニアにとってキーボードは、触らない日はないというほど身近なインターフェースだと思う。いままでHHKBやErgoDoxなど自分に合う鞍*1を探してきたわけだけれど、自分で作ってみるというのもアリなのではないか、とふと思い至った。 しかし、電子…

YAPC::Fukuoka 2017 HAKATAを見にいった

ブログを書くまでがYAPCということで、もう一週間以上前のことになるのだけど、そのときのことを書く。(月火と京都出張だったり、今週はなにかとイベントがあって遅れたのじゃ…) yapcjapan.org YAPCはYet Another Perl Conferenceの略で、一般社団法人 JPAが…

axiosでHTMLを取得してきてappendChildで埋め込む

普段axiosを使うときはレスポンスがJSONなAPIを叩くことが多いが、HTMLを取得して挿入することもあると思う。innerHTMLで直接挿入することもできるが、responseTypeをdocumentにすることでappendChildで要素を挿入することができる。 import axios from 'axi…

Windows 10とUbuntu 16.10 on LVM on LUKSを1つのマシンに同居させる

これの続き。 前回はrootとswapを別のパーティションに作成したため、起動時にパスワードを2回入れる必要があった。まあこれでも良いのだが、煩雑なので1回で済ませられるようにしたい。そこで、LVM on LUKSを試してみることにした。暗号化した1つのパーティ…

Windowsが入っているマシンにパーティションを暗号化した上でUbuntuを同居させる

新型MacBook Proのキーボードをヨドバシ店頭で触ったところ2秒でやっていけないことに気づいたのでThinkPad X260を購入した。ThinkPad EdgeやX201を使っていたこともありX260自体にはなんの不満もなく、安価でそこそこのスペックの製品を買うことができてよ…

エンジニア立ち居振舞い:サービスを使い倒す

ひとでくんさんが お題「エンジニア立ち居振舞い」 を作っていたので参加します。 toBなサービスを開発しているとなかなか難しいかもしれません。幸いなことに今自分が携わっているプロダクトはどちらかというとtoC寄りなので成り立っています。 サービスを…

Dropboxで静的コンテンツ配信ができなくなったのでS3で代替する

Dropboxで静的コンテンツの配信ができなくなるという話を聞いた。みんなの元にはメールが来ているけど、なぜかぼくの元にはメールがきていない。 https://www.dropbox.com/ja/help/16www.dropbox.com 2016 年 10 月 3 日より、ウェブ ブラウザで HTML コンテ…

ISUCON6予選やった

Iikanji Speed Up CONtestというのが毎年あって、それの第6回の予選に出た。2日目日曜日の方。去年も出ていたのだけど、全く意味わからなかった。今年は少しマトモで、決勝こそでられなかったもののそこそこのスコアになったので満足といった感じ。これくら…

YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa ネット担当を支える技術

7/2, 7/3は YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa でした。ぼくはネット担当(Twitter担当)としてスタッフをしていました。 本日この3人で本Twitterアカウントを運用します。よろしくお願いします!!!! #yapc8oji pic.twitter.com/wo5ChGis…

git diffで差分のあるファイルを一瞬で開くやつ

編集してまだgit addしてないやつをもう一度開きたいとき,いちいち探るの面倒なので作った.多分この世に既にごまんとあると思う. gitのサブコマンドとして作るならこんな感じ FILE_PATH=$(git diff --name-only | peco) if [ ${#FILE_PATH} -ne 0 ]; then…

ISBNから書名と著者名とるやつシュッと作った

調べながら30分くらいでシュッと書いた.あとでもうちょい綺麗にする. 検索には国立国会図書館サーチのAPIを使った. require 'rexml/document' require 'csv' require 'rest-client' # usage: # bundle exec ruby search.rb source.csv > result.csv table…

iTunes音楽同期事情を知りたい

いま業務と私物でPCが分かれてる.曲は私物PCに入ってるので,会社に行く時に毎日持ち歩いてる.iPhoneで聴くこともできるけど,選曲の度にiPhoneを開くのが苦痛なので,PCで聴いている.業務PCと私物PCで曲を同期できれば私物PCを持ち歩かなくて済む. 特に…

Googleスプレッドシートで支出管理

社会人になったのでさすがに家計簿みたいなのをつけるかとなった.帳簿につける上での要求は以下の通り. PCでシュッとつけられる 支出管理のみを行う 収入は基本一定なので,一定金額以上使わない目安にしたい 上限を多少厳格に定めて運用する.残りは貯蓄…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記 ↑毎年恒例のやつです こんにちは,id:masawadaです.本日付で株式会社はてなに入社しました.職種はWebアプリケーションエンジニアで,東京オフィス勤務です. 自分は2014年の…

case-insensitiveなファイルシステムにおいてGitで間違えてコミットしたcaseを修正する

TL;DR git mv を使いましょう 何を言っているのか OSXのファイルシステムはデフォルトでcase-insensitiveとなっている.OSを入れなおすことでcase-sensitiveにできたり,case-sensitiveなfsのパーティションを切ることもできる.なお,Linuxではたいていのフ…

zshでghq管理ディレクトリ以下にいるときはPROMPTのpwdを省略して表示する

motemen/ghq使い始めた.ghqはGitのリポジトリ管理ツールみたいな感じ. ghq自体かなり便利なのだけど,PROMPTにpwdを表示しているとこれが長くなって大変なことになる. というわけで,ghq管理ディレクトリ以下にいるときは省略しようというのが今回の試み…

pecoでgit-checkoutするやつ便利だった

qiita.com めちゃ便利.git-copみたいな名前で保存してPATHの通るところに置いて実行権限つけるとより便利.

brewでいれたreadlineとかopensslとかを含めてrbenv+ruby-buildでRubyをインストールするalias

.zshrcに alias ruby-install='RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)" rbenv install' っていうの書いてて ruby-install 2.3.0 みたいにすると一瞬で入って便利

iTunesで再生している曲をTwitterに投稿するNodeアプリケーション作った

github.com インストール方法 npmには上がってないので $ npm i -g masawada/tweet-nowplaying とするとGitHubからインストールできる. ホームディレクトリに設定用のJSON置いて $ tweet-nowplaying とするとツイートできる. Now Playing: "silky heart" f…

別ブランチの特定のファイルをvimで開く

$ git show branch_name:/path/to/file すると別のブランチのファイルを標準出力にだすことができる(知らなかった). $ git show branch_name:/path/to/file | vim - するとVimで開けて便利.lessとかに出すのも良さそう.branch_nameはコミットのハッシュで…

UMLシーケンス図を手軽に書いてTeXに貼る

卒論でUMLのシーケンス図をTeXに貼る必要が生まれた.Illustratorとかでちまちま描いても良いのだけど,面倒なのでテキストでなんとかしたい. 便利なツールあって,これ使うとテキストでシーケンス図を描くことができる. js-sequence-diagrams by bramp SV…

ActiveRecordでSTIとrelationを組み合わせる

Rails(ActiveRecord)にはSTI(単一継承テーブル)があって,テーブルは1つだけどtypeというカラムでモデルを出し分けることができる.例えば,アンケートの項目には単一/複数選択があり,これらを保存する先のテーブルは1つにまとめたいがプログラム上では別の…

Ridgepoleでfk設定するときはnameが必要

Railsで $ rails g model Hoge fuga:references $ rake db:migrate $ rm -rf db/migrate みたいな感じでモデル新規作成時だけ一旦マイグレーションファイル作ってからRidgepoleのSchemafileにdumpして… みたいな運用してたら詰まった. ActiveRecordのrefere…

RailsでPOSTリクエストのbodyをJSONで受け取る

application/jsonを受け取りたい場合 def params @params ||= JSON.parse(request.body.read, {:symbolize_names => true}) end 書いとくとapplication/x-www-form-urlencodedの場合と同じ感じでparamsを受け取ることができる.APIつくるときに便利. skip_b…

今年のFirefox OS活動

これは Firefox OS Advent Calendar 2015 21日目の記事です。 去年も一昨年も21日に書いていたので今年も21日、と思って今日書きます。 本当はちゃんと開発記事を書こうかと思っていたのですが、卒論その他で余裕がなく今年やったFirefox OS関連の活動とか感…

高専カンファでScratchXの話をしました

昨日、高専カンファの複数トラック発表でScratchXの話をしました。 長引く体調不良と睡眠不足によりスライドが雑なのはご容赦ください。 ScratchXの開発環境の話が雑に終わってしまったので、新しく記事を書きました。この話を期待していた人は以下をご覧い…