三角Validator

△をバリデートするブログ

機械学習エンジニアになりたい人のための本という本を読んだ

難しいことは書いてないので、読むのが早い人は一日で読み終えることができるだろう。 機械学習界隈のキャリアの現状、どういうジョブがあるのか、世界事情、コミュニティ、情報収集、勉強方法まで、浅く広く理解するにはいい本だった。

機械学習周りのことをつぶやいてるTwitterアカウントやおすすめのブログなども載っていてて参考になったけれど、この分野はかなり移り変わりが激しいので、数年後この情報がどれだけ役に立つかはよくわからない。そういう意味で鮮度が重要な本なので、読もうと思ってるならできるだけ早く読んでおいたほうが良さそう。

転職活動の方法とか

第5章に機械学習周りの職種に転職するための方法が書いてある。履歴書、職務履歴書の書き方や面接対策まで書いてあって親切みを感じた。書類の書き方サンプルがあったけどあんまり参考にならん気がする。*1

個人のアピールポイントを載せてない履歴書(職務経歴書)をよく見かけるけど載せたほうが良いよということが書いてあった。僕は今の会社でソフトウェアエンジニアの応募書類を見たり面接をしたりしているけれど、確かにそういう書類は結構ある。この本にはその職種につきたい理由や、どんな仕事がやりたいかとか未来のことを書くのがいいみたいなアドバイスをしているけれど、面接する側からすると、過去にどういう成果を出してきたのかをたくさん書いてもらえると、応募者がどんなことに関心があって、仕事にどういう関わり方をしてきたかがわかるので嬉しい。過去の成果に対するアピールポイントがあった上で、未来はこういう感じでやっていきたいというようなことが書いてあると、文章に一貫性と説得力が生まれていいんちゃうかと思った。

海外事情

第8章に海外事情が書いてある。アメリカのシリコンバレーだけかなーと思ったら、ニューヨークやロサンゼルスのことも書いてあって面白かった。その他に中国、ヨーロッパ、東南アジアのことも簡潔にまとめてあって、日本以外がどうなってるかを雑に知るには丁度良かった。

まとめ

各項目が短くまとめてあってブログの記事感覚で読めるし、なんか時間が無くて効率的にこの界隈の情報とかリンク集を集めたい人にはおすすめと思いました。

*1:趣味でDJやってる話いる?

Logitech Bluetooth Illuminated Keyboard K810 US配列買った

f:id:lepton9:20161126123921j:plain

これまでのあらすじ

  • MacWindows共にApple Wireless Keyboard*1を使って入力していた。
  • Apple Wireless Keyboardの浅い打鍵感が好きだった。
  • でも電池の入れ替え面倒だった。
  • WindowsならWindows用のキーボードが使いたかった。
  • コードは邪魔だからワイヤレスのキーボードが使いたかった。
  • US配列が好きだった。
  • テンキーはいらなかった。
  • AltキーはSpaceキーの直ぐ左についていて欲しかった。

そして見つけたのがK810(US配列)だった。

*1:Magic Keyboardの一個前のやつ

続きを読む

Amazon Route 53 + namecheapで運用する独自ドメインメール

スマホの契約をキャリアからMVNOに移行しようと思っていて、そうするとキャリアメールが使えなくなるから、せっかくなら独自ドメインでメールを運用してみようと思った。

独自ドメインメールの運用に必要な作業としては大きく3つがある。

独自ドメインに関しては、Amazon Route 53のレジストラ機能を使って取得したものがあるのでそれを使おうと思う。その流れでDNSもRoute 53を使うことにする。問題はメールサーバー。 個人のメール用途程度でメールサーバーを自分で立てるのはちょっと仰々しいし、セキュリティに配慮したりスパムメール対策もあったりで面倒くさそう。だからメールサーバーをホスティングしてくれるサービスを使うことにした。

メールサーバーの比較

今回メールサーバーに求めるものとして

  • 安い。月100円前後くらい
  • 2段階認証がある

を条件にした。なぜ無料ではない条件にしたかというと、無料サービスはいつ有料になるかわからないから。Google AppsOutlookの前例があるし…。

いろいろ調べた結果、namecheapというドメインレジストラが扱っているメールサービスを使ってみることにした。というかこれくらいしか丁度いいプランやってるとこ見つけられなかった。他にいいところあったら教えてほしいくらい。

Namecheap.com • Cheap Domain Name Registration & Web Hosting

続きを読む

ストリームからBPMを計算する。RxJSを使って

ボタンを叩くタイミングからBPMを検出して設定してくれる、いわゆるタップテンポ機能。 シーケンサーサンプラーなどに搭載されていて、最近はブラウザ上で確認できるサービスもいくつかある。

続きを読む

Ansible GalaxyにGitBucketのroleを登録した

社内のsvn環境をgitに移行しようと思ってGitBucketの環境をansibleで構築してたのだけど、ふとAnsible Galaxyを見たらGitBucketのroleはまだ無かったし折角なので登録してみた。

https://galaxy.ansible.com/list#/roles/2155

これ。

githubにあるgitbucketリポジトリインストールスクリプトが置いてあるので、基本的にはこのスクリプトをansibleのyaml記法に書き換えて作った。UbuntuCentOSで起動することを確認している。

続きを読む

MacBook Pro Retina買ってからやったこと (2014年版 開発環境+DTM環境編)

MacBook Pro 15-inch, Mid 2009からMacBook Pro Retina 13-inch, Late 2013に乗り換えた。 次に買い換えるとき絶対忘れるので何をしたか残しておこうと思った。 古い方のmacbookにはいらないものがたくさん入ってそうだったのと、新しい方は256GBのSSDで容量節約したかったので今回は移行アシスタントは使わず、人力でがんばった。

続きを読む

コーディングを支える技術、読んだ

流行りの技術や特定の言語によらないプログラミングの学び方を学ぶ本。構成がよく考えられていて首尾一貫しているので自然に頭に入ってくるし楽しく読むことができた。少し感想を書きたい。

名前というものがある

名前を使う前までは番号を使ってたんだけど、人間は番号だけ見ても何のことかわからないしすぐ忘れちゃう。だから番号に対応するオブジェクトに名前をつけてあげたらわかりやすくて便利になった。とても便利でよかったんだけど、名前とオブジェクト対応表が一つだけだと、うっかり同じ名前を使ってしまうと競合して壊れるから注意して憶えておく必要がある。人間は無意識に記憶を改竄したりするし、ずっと対応表について思いを馳せていることはできない。じゃあどうしたかというとそこでスコープというものが産まれた。

こんな感じで人がいろいろ工夫して言語が進化していく過程が書かれている。普段考えもしない細部にも歴史がある。

多重継承に対する言語間の違い

多重継承には複数の親クラスの間で同じ名前のメソッドがあったとき、どちらを優先するかという問題がある。僕はc#メインで使っているので、多重継承禁止*1するのがすっきりしてていいと思ってた。でも果敢にも多重継承できるようにしちゃって、やっぱり結構苦労していたりする言語とか、moduleのみmix-inを可能にしたrubyとか、scalaなんかは初期からtraitがあったりする。それぞれの言語の実装の違いが簡潔にまとめられていてとてもわかりやすいと思った。

コラム

コラムがいくつかあって、その中でも

  • 理解を確認するためにはまずアウトプット
  • 何を学べがよいかがわからない理由
  • 具体的な知識と抽象的な知識
  • 噛み砕く
  • 必要なところからかじる
  • おおまかにつかんで徐々に詳細化する
  • 端から順番に写経する

このあたりなんだけど、なかなかこういう技術の学び方って文章化されにくいし、初心者の人はこのコラムだけ読んでもかなり参考になると思う。

僕は去年、応用情報技術者試験を受けていたのだけれど、その試験用に勉強した、こういうものがある、そういうものもある、みたいな広く薄い知識に、歴史という重みを与えてくれたのがこの本だった。海苔だけだったのに海苔に餅が包まれて質量あるし砂糖醤油で食べると美味しいみたいな感じです。もっと早く読めばよかった。

こちらに補足記事が載っているので全部読みましょう。

*1:interface除く