hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

平均の情報

信頼性のない情報しか手に入らないときに人力で平均にするものの,あまり意味がない,ということがある
インターネットを見ながら料理するとき,よくクックパッドを見ているけど,僕はクックパッドにお金を払ってないので,人気のレシピが分からず,その結果,いくつかのレシピを見て,うまく平均くらいになるよう作っている.どれか1つ決めて信じることができないので,リスクを回避しようと,平均のレシピになるように勘で調整している.
その結果,まあまあおいしいけど,めちゃくちゃおいしいというわけでもないようなものができたりする.
以前のインターネットヤミ市インターネットの平均のレシピのカレーが売られていた.ヤミ市のカレーはインターネットお母さんのカレーの味を作ろう,というポジティブな気持ちだけど,僕の平均さは変なレシピにひきずられて変な味になるのを避けたい,というネガティブな気持ちからきている.
無理に平均を作らなくても,信頼できる良い情報があれば済む話で,レシピ本でも買うか,今日の料理のサイトを見るとか,そういった行動をとることはできるけど,検索して一番上に出てくるクックパッドの便利さには 抗えない.
便利さと引き換えに本当に良い情報を取りそこねていて,料理がまずくなっている可能性はあり,そのことは,わずかなクリックを惜しんで自らの幸せを犠牲にしているということになる.わずかなお金で解決できるのだからクックパッドにお金払おう,という話でもありそう.

著者近影

春に着れそうなシャツを見に行って試着したら写真を撮っていただいて,SOU SOUのブログの本日のお客様コーナーで紹介していただいた.

ジーンズは私物で,運動足袋を履かせてもらった.

この試着しているシャツを気に入ったので頂いたのだけど,ゆったりしていて気に入っていて,他の素材のも何枚か買おうかなという気持ちでいる.

www.sousou.co.jp

いま見たらシャツは売り切れらしい.軽い感じに着やすい素材で,ほかにも何種類かあったので,みなさま見に行かれるとよさそう.

みたやつ

滋賀県立美術館の常設展で山口晃の厩圖を観た.常設展に置いてあるくらいの形だったけど観てたのしい絵はあまり常設展に置いてないので良かった.

厩圖2004 | 滋賀県立近代美術館

滋賀県立美術館,3年くらい休むようで悲しい.滋賀の美術館といえばここかミホミュージアムという印象で,小学生くらいのときからぼちぼち通っていた.併設されている図書館には毎月くらい通っていた.

長期休館のお知らせ | 滋賀県立近代美術館

近デジダウンローダーをDockerで動かせるようにした

近デジダウンローダーはRubyで書かれていて,その実装にあたってはNokogiriやImageMagickなど,いろんなライブラリが使われていて,その利用にあたってはインストールに失敗してはエラーメッセージでググって勘で対応する,みたいなことがよくおこなわれている.
僕もたまに動かそうとするとなんか壊れたりしてて,こんなことで悩みたくないので難しかった.
…という課題感が以前からあって,Dockerで動くようになればポータビリティが上がってセットアップしやすくなってよさそうと思ったのでやってみた.



docker run hitode909/kindairb で動く

Dockerをインストール済なら以下の1コマンドで動く.
ワーキングディレクトリに柳田国男編,桃太郎の誕生がダウンロードされるはず.簡単.

 docker run --rm --volume "$PWD":/workdir hitode909/kindairb http://dl.ndl.go.jp/info:ndljp/pid/1062590



ファイルをダウンロードしてくれる君をDockerでどう扱うか

お手元のパソコンの画像ビューワーで画像を見るためにダウンロードしているので,コンテナの内側で保存してもあまり意味なくて,そこからなんとかして外側に取り出す必要がある.

  • volumeを指定して手元の適当なディレクトリをマウントして
  • workdirを指定してマウントしたディレクトリにダウンロードさせる

という形でうまくいった.gccのDockerイメージも以下のような形になっている.

$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp gcc:4.9 gcc -o myapp myapp.c



動かしたいアプリケーションどうやって入れるか

軽く眺めたところ,git cloneして動かすパターンや,gem install bundlerしてbundle execして動かすパターンなどあった.
もともとRubyGemsに置いてたので,gem installするだけでインストールできた.

FROM ruby:2.4.0

RUN gem install kindai

VOLUME /workdir
WORKDIR /workdir

ENTRYPOINT ["kindai.rb"]

kindairb/Dockerfile at master · hitode909/kindairb · GitHub



VOLUMEとWORKDIR

気になってるのが,VOLUMEとWORKDIRは起動時に毎回書いてもらえれば,Dockerfile側で書かなくてもよいかもしれない.
ここからさらにイメージを拡張して,毎回決まった本をダウンロードして配ってくれるイメージを作りたい,というユースケースでは,VOLUMEとWORKDIRはここに書いてある必要ないはず.
しかし,これを指定せずに動かすと,いきなり/にファイルがダウンロードされるのでよろしくなさそう.




昔の本を読みたいだけの普通の人の手元にいろんなライブラリを入れていくのはさすがにちょっと…という感じがして気になっていたので,1コマンドで動くようになってよかった.
一方で,Dockerを手元に入れて動かすだけでちょっと概念的には難しいことをしているので,別の問題にすりかわっているだけな気もする.
もうちょっと動かしやすくするには,JSで書き直してElectronでGUIアプリにして配布することなどが考えられるけど,フルスクラッチすることになり大変そう.

FRONTEND CONFERENCE 2017に行ってきた

梅田でフロントエンドを学べるイベントをやってたので行ってきた.

kfug.jp

https://www.instagram.com/p/BRwrgGdlF3N/
向かってる

このおもしろいビルで開催されていた.ふだん勘でHTMLやJSやCSSなど書いていたので,本気でやっている人の話を聞けるのがおもしろく,また,W3CWHATWGの最新の動向を追いかけてる人から,スマートフォン向けのUI/UXの話まであって,話題も広くてよかった.
印象に残った話をいくつかメモ.

ワイヤーフレームの話

Sketchを作ってUIのプロトタイプを作と,シンボルをネストしたりオーバーライドしたりして,パーツを再利用できる.全体として統一感のとれたデザインができる.

このスライドもSketchで作られています,という話でおもしろかった.エンジニアから見るとKeynoteかHTMLで作ってしまいそう.

HTMLのスナップショットの話

W3CWHATWGの歴史13年分くらいを10分くらいでさらっと知れておもしろかった.前のセッションがUIの話だったので差が激しい.
main要素がW3Cではページ内に1つしか許可されてないけど,Living Standardでは複数置ける,というように違いがある,という話がおもしろかった.そんなことになっていたとは.
W3C HTMLとWHATWG HTMLのどちらを参照すれば良いのか,という話で,どちらか一方だけを参照するのはよろしくなく,時間とともに変わっていくので,両方参照するのが良い,という話だった.
とはいえ,ブラウザを作っているベンダはWHATWGを見ているので,そちらを主に見ておくのがよさそう,と個人的には思った.

HTMLでUIを作るときの話

ボタンを作るとき,divにonclickを書くだけでは,タブでフォーカスしたり,フォーカスしたときのスタイルを変えたり,スペースやエンターが押されたときの振舞いが抜け落ちてしまったりして困る.適切にマークアップしましょう.講演者はbutton要素が一番好き,という話だった.
モーダルをbodyにappendChildすると,タブでフォーカスする順が最後になってしまい不便.モーダルを開くボタンの近くにappendしましょう,という話がなるほどだった.さっそく実践したい.

スタンドアロンAMPの話

だいたい一人でAMPをやっていたので,AMPやってる仲間と出会えて嬉しかった.
AMPはモバイルファーストなだけで,デスクトップでも速い.ので,デスクトップ用HTML,モバイル用HTML,AMP,を用意するのではなく,AMPだけ用意することもできる,という話.たしかにAMPの公式サイトはAMPで作られている.
情報の集めかたを質問したところ,こないだのAMP Confの動画がもう上がってるので観れる,ということを教えていただいた.

flowの話

YAPCでも見かけたさいさん.flowを使うとちょっとずつ型を書けて便利そう.すでに開発中のアプリケーションに入れるにはよさそう.個人的にはTypeScript見るとウッとなってしまうので,これくらい,書きたいところだけ書ける,くらいで恩恵を受けられるのは楽そう.

プライベートプロダクトの話

発表の本題ではないけど,話題の一部として,顧客やスケジュールの制約がない,個人のプロダクトを持つと良いよ,という話があった.
ためしにアプリを作ってみると,アプリにはWebとは違う文脈がある.たとえばトップのアプリケーションのロゴ画像をクリックすると,Webではトップページに遷移するけど,アプリでは上にしゅしゅっとスクロールする.また,アプリにはホーム画面という概念はなく,タブが並んでいるだけ.とか.
勉強会に出るより自分のプロダクトを作ったほうがためになる,という話で,たしかにという感じだった.身の回りの強い人はだいたい趣味でもなんかやっていて,それでどんどんパワーアップしている印象がある.


用事があったのでほどほどに抜けてきたけど,良い会で,いい感じに刺激を受けられた.
こんな調子でいろんな勉強会にちょくちょく出てみると世界が広がりそうなので,ちょくちょく出て行きたい.
無料で丸一日おもしろい発表を聞けて最高だった.主催者の皆様,発表者の皆様,その他の皆様,ありがとうございました.