nDiki

2015年5月2日 (土)

ScanSnap するので Evernote プレミアム復活

5年間継続していた Evernote プレミアムを3月にいったん解約したんだけれど、再契約した。Evernote プレミアムでないとファイル内検索ができないので ScanSnap して Evernote に突っ込んでもなあということで躊躇している間にいろいろ紙がたまってきてしまって、やはりプレミアムにしないと駄目だねということで。

セブン-イレブンiTunes コードプレゼントキャンペーンをやっていたので iTunes Card バリアブルを買ってきてそちらで決済。

Evernote をあまり使わなくなった理由の一つに Linux からだと Web 版だけで不便というのがあったのだけれど、MacBook Pro を買って Evernote アプリを入れたらまた常用してもいいかなという感じになったのも大きいかな。「ScanSnap Manager V3.2」 をインストールした後「ScanSnap Manager アップデート (V3.2L70)」をあてることで、 OS X Yosemite でも ScanSnap S1100 でスキャンして Evernote に保存できることを確認した。ThinkPad X200 + Windows 7 + Evernote では ScanSnap するのが重く感じていたので快適になってちょっと嬉しい。

スポンサード リンク

[ 5月2日全て ]

2015年5月1日 (金)

Emacs から go install する良い方法を知りたい

Go を使った開発で、とりあえず Emacs から M-x compile で

 GOPATH=<workspace_dir> go install github.com/user/<project>/...

みたいな感じでコンパイルしてみているのだけれど、もっといい方法がきっとどこかにあるはず。

"..." ワイルドカードについては go help packages して知った。


[ 5月1日全て ]

2015年4月30日 (木)

開発ディレクトリ毎に異なる環境変数を設定するのに direnv を使う

シェルで特定の開発ディレクトリ以下に移動すると自動的に設定ファイルで指定された環境変数を設定し、そのディレクトリから別のディレクトリに移動すると戻してくれる direnv が便利。

https://github.com/zimbatm/direnv

Go開発するのに GOPATH と bin への PATH 追加が面倒だったので導入してみた。

インストール

 git clone https://github.com/zimbatm/direnv
 cd direnv
 make build
 cp -a direnv $HOME/local/bin

なお direnv は Go で書かれているのでソースからビルドするには Go開発環境が必要。

Bash の設定

.bashrc に以下を追加。

 if command -v direnv > /dev/null; then
    eval "$(direnv hook bash)"
 fi

その他のシェルでの設定は https://github.com/zimbatm/direnv 参照。

Go プログラム開発ディレクトリでの設定

 $ cd project_dir
 $ export EDITOR=emacsclient # 次のコマンドで開くエディタ
 $ direnv edit .
   .envrc の編集用にエディタが開くので

   layout go

   と入力して保存。

後は Bash でこのディレクトリ以下(サブディレクトリも含む)に移動するとこの .envrc のあるディレクトリが GOPATH に追加され、また bin ディレクトリが PATH に追加される。便利。

なお direnv edit . しないで直接 .envrc を作った場合は、別途 direnv allow . を実行してこの .envrc を使うことを明示的に許可する必要がある。許可したかどうかは ~/.config/direnv/allow/* に保存される(freedesktop.org の XDG Base Directory Specification っぽくなっているので XDG_CONFIG_HOME 環境変数があれば ~/.config ではなくてその下に保存される)。

その他標準で

  • layout go
  • layout node
  • layout perl
  • layout python
  • layout ruby

などが用意されている。また

 PATH_add bin

のようにして PATH への追加も簡単。

その他コマンドの実行も可能なので開発以外にもいろいろ便利に使える。


[ 4月30日全て ]

2015年4月29日 (水)

日記書いたりとか【日記】

ぼちぼちゴールデンウィークだけれど今日のところはゆっくりしてようかということで、ちょっと近所の公園に行ったぐらい。溜まっていた日記を書いたりしていた。

MacBook ProThinkPad X200 より圧倒的に静かなので、夜に開いてもストレスじゃなくなったのだけれど、まだ nDiki のドラフトをプレビューする環境を作ってないのでまだ ThinkPad X200 を併用中。


[ 4月29日全て ]

2015年4月28日 (火)

LINE DEVELOPER DAY_2015 Tokyo #linedevday

naney:17269564386

「エンジニアチームの様々な経験を、未解決の課題も含めて共有する」というテーマで開催された LINE 株式会社のエンジニア向けイベント LINE DEVELOPER DAY_2015 Tokyo に行ってきた。

会場の装飾やクリエイティブなどお金をかけていてすごいなと。始まる前にプレス向けにきちんと立ち位置や照明まで案内していて、とても行き届いていて運営力もすごい。

細かいところだけれどイベントサイトや事前案内は「LINE DEVELOPER DAY_2015 Tokyo」で当日の会場が「LINE DEVELOPER_DAY 2015 TOKYO」と表記を変えていてどんな理由なのかなというのが気になった。まあどうでもいいことだけれど、物を書くのにちょっと困る。

スライドはシンプルで洗練されているんだけれど、完成されすぎていて素材ぽくも感じた。

全体的に microservices アーキテクチャというのが印象に残るイベントだった。

A-1 オープニング 代表取締役社長 CEO 出澤剛氏

LINE の成長とサービスなどの紹介。ウォーミングアップ的に聞いていた。

A-2 LINE Global Culture 上級執行役員 CTO 朴イビン氏

LINE のグローバルな開発組織や文化について」

ちょっと綺麗にまとめられすぎていて感じがした。泥臭さが感じられない。より現場的な話をぜひ聞きたいなと思った。

ペンディング・先送りされた「cold-case プロジェクト」について、また取り組むきっかけを用意するというのは良いな。

A-3 LINE Messenger for the World 上級執行役員 サービス開発担当 池邉智洋 @ikebe 氏

「色々な国の通信各社、様々な環境に対応するために進めた実験や改善方法について」

LINE アプリのバイナリは1つとのこと。各国の事情について「LINE 遠征隊」として現地で実際に使って改善していくという取り組みがきちんとできているというのは素晴しいと感じた。グローバルなサービスではなく国内向けのサービスでも参考にできるな。

ストアのレビューについて、レビュー文章のキーワード分析や変化の把握もきちんとしているとのこと。(アプリではないけれど)化粧品業界などが良くやっているやつか。 この辺りは自分の部署でも取り組んでみたい。

A-4 LINE Platform Development Chronicle Tom.T @tsurutom 氏

LINE Platformを支えるアーキテクチャ、組織、文化について」

鶴原翔夢氏による LINE のアーキテクチャの変遷について。

  • polling / push / long polling
  • Erlang で LINE Event Delivery Gateway
  • SPDY

など。アーキテクチャは microservices に移行している。

Abusing も独立したバックエンドになっているとのことだった。abuse 対策のコンポーネント化は考えてはいるんだけれど、サービス毎に要件が結構異なるので本体とどの程度の結合にするかが迷いどころなんだよね。いつかはやりたいところ。

A-5 HBaseとRedisを使った100億超/日 メッセージを処理するLINEのストレージ Shunsuke.N @sunsuk7tp 氏

HBase と Redis の話し。桁違いだ。

A-8 Webサービスの国際化にあたり LINE Creators Market 開発がどのように行われたか Tokuhiro.M @tokuhirom 氏

最近 Java を書かれているようだけれども LINE Creators Market はやっぱり Perl で書かれているとのこと。ちなみにアプリケーションサーバでは Starlet を使っているそうだ。

実際に開発する上で問題になったことも混じえた @tokuhirom 氏らしい語り口のセッションだった。

B-5 ベイズ推定とDeep Learningを使用したレコメンドエンジン開発 Jun.N 氏

なみかわじゅん氏。

まずはスタンプ間の(レコメンド的な)距離を計算し、その上でユーザー-スタンプ間の距離を計算するというフローでレコメンドを生成しているとのこと。処理には Hive も使っているらしい。

コールドスタート問題については、Naver Labs と共同研究開発した画像類似度計算を使って似た絵のものをレコメンドできるようにして対応しているとのことだった。

以上

午後は途中オフィスに戻ったりしながら面白げなセッションを聞いてきた。夕方に歯医者があるので 17:30 まで聞いて退散。


歯の治療: 右下の歯のインレーを装着

18:30 歯医者17:30 までのセッションを聞いた後 LINE DEVELOPER DAY_2015 Tokyo を退散してきた。

前回型を取ってできてきたインレーを装着。知覚ビンビンな状態でセメント&インレーをした状態で綿を噛み続けるというもう少しで脳天までトリップできそうな時間を味わって完了。まだ慣れないので感覚的にはちょっと噛み合わせ的に高く感じるんだけれどしばらくすれば馴染むはず。

前のインレーは舌が当たると端がザラザラした感じがあったんだけれどそれも無くなっていい感じ。

次回5カ月後に歯の定期健診


[ 右下の歯 ]


[ 4月28日全て ]

About Me

Naney 「なにい」です。株式会社ミクシィで CS・ユーザーサポート・健全化・不正対策およびそれらに関する企画開発を行う企画開発部の部長をしています。 Perl・Emacs・Debian GNU/Linux 派。

'stats.label.addfriend' (MISSING TRANSLATION) (あるいは LINE アプリ上の [友だち追加]-[ID検索]で「@naney」で検索。どなたが友だち追加してくださったかは Naney には伝わらないようになっています。)

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。

右下のチャット・メッセージは Zopim を使用しています。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス

Process Time: 0.057287s / load averages: 0.48, 0.38, 0.37
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker