2016年の目標

あけましておめでとうございます。
今年もよろしくお願いします。

2016年の目標

  • プログラミングスキルアップ
  • アウトプットを増やす
    • ブログ更新頻度を上げる
    • 勉強会、イベントなどで登壇
  • 英会話、英語
    • 臆することなくコミュニケーションが取れるくらいの英語力を身に付けたい
    • 技術ドキュメントの英訳
  • 健康
    • 体重 -10kg
    • 健康的な生活を心がける

まとめ

2016年は上記を目標に、1つ1つ出来ることを増やしていこうと思います。
結果を出すことを意識してやっていきます。
今年もよろしくお願いします。

OS X El Capitan にバージョンアップした後にやったこと

備忘録的なメモ

ESET Cyber Security バージョンアップ

V6.1 へバージョンアップ

OnyX バージョンアップ

OnyX 3.1.2 へバージョンアップ

Xcode Command Line Tools インストール

Xcode メニューから [Open Developer Tool] -> [More Developer Tools] を選択し、Apple Developer から Command Line Tools (OS X 10.11) for Xcode 7.1 をダウンロード、インストール

Homebrew & Homebrew Cask パーミッション変更

下記エラー対応のため、パーミッション変更

Error: The /usr/local directory is not writable.
Even if this directory was writable when you installed Homebrew, other
software may change permissions on this directory. Some versions of the
"InstantOn" component of Airfoil are known to do this.

マルチユーザ対応のため、以下の感じでパーミッション変更

$ sudo chown -R root:staff /usr/local
$ sudo chmod -R 775 /usr/local
$ sudo chown -R root:staff /opt/homebrew-cask
$ sudo chmod -R 775 /opt/homebrew-cask

その他

  • メモリ解放アプリをやめて、"sudo purge" の定期実行に変更

pt-query-digest で memcached の操作を解析する

pt-query-digest は memcached のダンプも解析することができます。
type オプションで memcached を指定するだけです。

ダンプ取得

$ sudo tcpdump -i eth0 port 11211 -s 65535 -x -n -q -tttt > /var/tmp/memcached.dump

pt-query-digest で解析

$ cat /var/tmp/memcached.dump | pt-query-digest --type=memcached | grep -v -e '^\s*#' -e '^\s*$'

こんな感じで、memcached の key へのアクセスが分かります。

get xxxxxxxxxxxxxxxxxxxx
delete yyyyyyyyyyyyyyyyyyyy
set zzzzzzzzzzzzzzzzzzzz
get xxxxxxxxxxxxxxxxxxxx

pt-query-digest

YAPC::Asia Tokyo 2015(2日目)に行ってきた #yapcasia #yapcasia2015

ブログを書くまでがYAPCです。
1日目はこちら。

Google Cloud Platform の謎テクノロジーを掘り下げる(Deep Dive into Google Cloud Technology)

GCP のお話。
以下の 4 点をお話されてました。

  1. Big Data
  2. Container
  3. Networking
  4. The Feature

Google 社内では MapReduce は classic な技術だし、Big Query は 2006 年ごろから使っているので枯れている技術という話は興味深かった。
あと、「Google 社内で Big Data とは言わない。全てが Big Data だから。」という言葉はカッコイイと思った。
それにしても、bq 速い。

謎テクノロジーは謎のままだった。。。

我々はどのように冗長化を失敗したのか

式年遷宮インフラストラクチャ 3 部作(?)の第 2 弾のお話。
リリース前に冗長化やめたとはいえ、チャレンジしている姿勢は素晴らしいと思った。
このセッションだけではないけど、Consul が必要不可欠なツールになっているなぁと感じた。

  • 期待するな、計測しろ
  • 挑戦するなら、徹底的に検証しろ
  • 当たり前のことを当たり前に正しく行おう

最終章期待してます!!

MySQL で2億件のシリアルデータと格闘したチューニングの話

限られたリソースの中でのチューニングのお話。

  • インデックスの再構築こわい
  • テストデータは、本番データとほぼ同じものを準備(数値のランダム性とか)

ソーシャルゲームにおける AWS 移行事例

オンプレミス環境ソーシャルゲームAWS へ移行したお話。
RDS や ElasticCache for Redis を使用する際の罠とか Tips が参考になった。

  • RDS はタイムゾーンが変更できない
  • Percona server の mysqldump には、create table 文から unique と index を取り除くオプションがある
  • ElasticChache for Redis で 10GB のデータをわたして flashall すると勝手に fail over、しかも flashall が永遠に終了しない
  • RDS の Multi-AZ だと、書き込み速度が 2 倍になる(両 AZ に書き込むため)

Profiling & Optimizing in Go

Go プログラムの最適化・プロファイリング方法をライブコーディングで説明。
私のレベルだと内容的にはほとんど ? な状態でしたが、プロファイリングツールが充実していることは分かった。
Go がんばろう。

感想とか

今回も刺激的なイベントでした。
最後の YAPC::Asia と思うと、感慨深いです。
私個人としては、Perl コミュニティに何も貢献できていないので何らかの形で貢献できるようになりたいなぁと思いました。*1

最後になりましたが、スタッフのみなさん、スピーカーのみなさん、参加者のみなさん、お疲れ様でした!


おまけ

  • 同時通訳がスゴかったです*2
  • 無限コーヒーの紙コップがオシャレ


YAPC::Asia Tokyo 2015

*1:Perl イベントで LT するくらいの力は付けたい

*2:とはいえ、やはり英語大事だなと思いました

YAPC::Asia Tokyo 2015(1日目)に行ってきた #yapcasia #yapcasia2015

YAPC::Asia Tokyo 2015 に行ってきました。
ブログを書くまでがYAPCです。

メリークリスマス!

Perl開発をトールキンの「ホビットの冒険」と「指輪物語」に例えながらの説明。
Perl6に興味を持ったのはもちろんですが、「ホビットの冒険」と「指輪物語」を読んでみようと思った。
Perl6は2015年のクリスマスにリリースされるそうです。*1
以下、印象に残った言葉。

  • 人の価値は、何を得られるかではなく、何を与えられるか
  • 正しく失敗する (I FAIL GOOD)
  • Perl5とPerl6は同じ物語
  • perlは成長の物語


世界展開する大規模ウェブサービスのデプロイを支える技術

Miiverse のデプロイのお話。
デプロイ改善したいので、参考になりました。
以下、メモ。

  • デプロイ時に停止してあるインスタンス起動してデプロイ、オートスケール時にそのまま突っ込む
  • Consul + strecher がデプロイ速くて良さそう
  • Miiverse は Perl5
  • Git 同期ツール hesokuri 初めて知りました

TBD

Ruby のパパ Matz ことまつもとゆきひろ氏による、Ruby の反省点・20 年間のアーキテクチャの変化で言語設計がどう変わったか・新言語「Streem」についてのお話。
パイプラインで処理をつなげるとマルチコアを使ってくれるからシェルスクリプトが見直されているという話は面白かった。
Streem は名前だけ知っている程度で、設計思想とか知らなかったので、興味深い話でした。

  • Rubyの悪いところは、Perlの影響
  • GIL(Global Interpreter Lock) のせいでマルチコア使えないと言われると、外してどんだけクラッシュするか見せてやろうかと思うことがある
  • Streem のアーキテクチャは、ピタゴラスイッチ・プログラミング*2
  • 「絶対に型を書きたくないでござる」
  • 「日本で唯一の言語デザイナー」

matz/streem · GitHub


Perlの上にも三年 〜 ずっとイケてるサービスを作り続ける技術 〜

はてなブログの裏のお話。
Perl の最新を求め、オブジェクト指向ドメイン駆動開発などなど試行錯誤した内容で、すごく面白かった。
きっと、オブジェクト指向入門 と ドメイン駆動設計 本がバカ売れしていると思います。

  • メソッド名は気持ちが大事
  • 名前決め大事
  • 一度Perlの世界からでて、いいものをPerlに持ち帰ってくる
  • 歯を食いしばって、実装しろ
  • フルスクラッチするときになったらわかるのでは
  • 最高

Electron: Building desktop apps with web technologies

Electron のお話。
デモがあって、分かりやすかったと思います。
Perl チャレンジ*3なるお題が出されました。

Perl6 on JVM: It works??

Perl6 を JVM で動かすお話。
以前は遊ぶことすらできなかったけど、遊べるようになった。
Web アプリケーション開発に必要な要素(File access, DB access, JSON, HTTP::Server, HTTP::Client etc...)は揃っているらしい。。。


2日目に続きます。
(追記) 2 日目書きました


YAPC::Asia Tokyo 2015

*1:たぶん、きっと

*2:パイプライン組立->パイプラインにデータが流れる

*3:PerlJavascript に変換するものがあるので、それを使って Electron アプリを作る