ニート日報 2016-09-26

ニート17日目

残すところニート期間はあとちょうど1週間。
来週から働くというのが信じられない。

全ての時間を座れると思っていたアクセル・ワールドを最新刊まで読み終わった。
これで明日からいろいろ復帰できる。

あと部屋の掃除をした。
机の引き出しにぶち込みまくっていたいらない物を判別して捨てるだけの簡単なお仕事。
ちょっとスッキリした。

TODO進捗

https://gist.github.com/mihyaeru21/7ec2e6b408d0c7f546274fd4b5a1e610

  • アクセル・ワールド完了

ニート日報 2016-09-25

ニート16日目

前日同様、アクセル・ワールドを読む機械で終わる……はずだった。
が、夜になぜかリムジンに乗った。

リムジンの様子

CA系列の某氏に誘われ、新橋にてリムジンに乗ることになった(謎)。
IT系のエンジニア野郎のみ8人という謎面子で乗った。
4500円で乗れた。
たった1時間くらいだけど思っていたよりも安い値段で乗車できるようだ。

内部は想像よりも狭く、8人は完全に定員ギリギリという感じだった。
内部にはお酒(ワインとウイスキー)とかお菓子が設置されていて、自由に飲み食いできるスタイルだった。

新橋とか汐留とか付近の東京のオサレスポットを少し巡るルートだったようだ。
途中で下車し東京タワーとリムジンをバックに記念撮影とかした。

結論:4人くらいで乗るのがちょうど良い

TODO進捗

https://gist.github.com/mihyaeru21/7ec2e6b408d0c7f546274fd4b5a1e610

  • アクセル・ワールドを読む機械

ニート日報 2016-09-23

ニート14日目

ニート歴も2週間が終わる日。
終わりが始まってしまった。

火曜に行こうと思っていた医者へ行ってきた。
喉と咳の調子が良くならず、9月中ほとんど薬を飲んで生活している気がする。

終わりの始まり

ずっとKindle版が出るのを待っていたアクセル・ワールドのKindle版が出ていることに気づいてしまった。
15-20巻を速攻でポチった。
そして……(メモはここで途絶えている

TODO進捗

https://gist.github.com/mihyaeru21/7ec2e6b408d0c7f546274fd4b5a1e610

  • アクセル・ワールドを読むのを追加

ニート日報 2016-09-22 PyCon JP 2016 2日目

ニート13日目

この日もPyConだけ。
気づいたらニート期間も折り返していた。

PyCon 2日目

ぎりぎり基調講演の開始に間に合ったような間に合わなかったような。
駅から会場まで回り込んで入るのが遠かった。

基調講演

Pythonのバージョンの話?とか型ヒントの話とかasyncioの話だった。

来年再来年あたりにPython 2系と3系を使っている割合が逆転して、ついに数字的にも3の時代になるようだ。
3系も3.5まで来てやっと統一が見えてきた気がした。

型ヒントはオマケではあるんだけど、個人的にはメソッドの入出力の型がはっきりしていると幸せだなーと思っている。

質疑にてロシア語で質問している人がいて強かった。
あと、ゆっくりはっきり喋っていただけたようで聞き取りやすい英語だった。

f2pyとmatplotlibを用いたブラウン粒子動力学のリアルタイム可視化

Fortranはまだまだ現役なのか!という感想。
Cよりも数値計算周りは最適化しやすいから利用されているっぽい?
f2pyは、PythonとFortranを繋ぐやつだった。

matplotlibでGUIちょこちょこ作れたのか…
あれはQtのやつだったのだろうか。

関係ないけど、matplotlibをpyenvのPythonで動かした時にmatplotlib.pyplotが使えないのが辛い。

ビッグデータとPythonではじめる野球の統計分析

力強かった。
60万行のデータがあるとか、すごい。

結論「ダルビッシュすごい」

Python を支える技術: モジュール・インポートシステム編

話している声が聞こえなすぎて内容に全く集中できなかった…
資料を見た感じ、とっても良さそうな内容だったのでとても残念。

メタプログラミングPython

Pythonにおけるメタい部分を広く浅く紹介する感じだった。

メタクラスの仕組みとか、Objective-Cとけっこう似てる気がした。
Ghost Methodは、メソッドを返すところが特徴的だと感じた。

withで影響範囲を絞って書き換えるのが便利そうだった。
PerlだとGuardオブジェクトを作って、Guardが生きているスコープで書き換えるとか、とくにテストでよくやる。

from forbiddenfruit import curseがとにかく強そうだった。

Pausable Unittest on EFI Stackless Python

Stackless Pythonなるものが存在していたこと知った。
言われてみれば、pyenv install -lした中にあった。

最初から聞いていたわけではなかったので、電源を切っても状態が保存されている?というのがわからないまま終わってしまった…

LT

Neo4jはグラフDBと。
一応存在だけ覚えた。

ルータが走るのやばかった。
しかし市販のルータ向けのLinuxディストリビューションがあるとは知らなかった(OpenWrt)。

その他

モノタロウブースにて、すてにゃん氏が目の前で1等を当てていて強さを感じた。

おやつ↓が可愛かった。

帰りになぜか10kmくらいの道を徒歩で返ってPyConが終わった。
3時間くらいかかって、さすがに頭おかしかった。

TODO進捗

https://gist.github.com/mihyaeru21/7ec2e6b408d0c7f546274fd4b5a1e610

進捗ダメです

ニート日報 2016-09-21 PyCon JP 2016 1日目

ニート12日目

この日はPyConの1日目だった。
朝から夜までPyConのみ。

PyCon 1日目

前日夜にfluentdとかElasticsearchとかKibanaとかをいじっていたせいで寝るのが遅くなってしまい、オープニングと基調講演に間に合わなかった。

聞いたトークとか一覧はこれ。

Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン

SWEBOKという概念の存在を知った。
知識を体系化しているまとめているやつらしい。
何かを学んだとき、体系の中のどこに位置するかを意識しながら学ぶと効果的なようだ。
自分には基礎体系の理解が不足している実感はあるので、急ぎで学ばないといけないものが無い時に本を読んでみようと思った。

後半は、特定の言語にとらわれないツールの開発手法についての話だった。
言語によらないカバレッジツールとか面白そう。
言語間共通部分の翻訳は、新しい言語を勉強するときにはそんなに必要なさそうに思った。
Twitterで誰かが言っていたけど、いろいろな言語に共通の部分は難しくなく、サンプルをちょっと読めばすぐに理解できるので。

たった一ファイルの python スクリプトから始める OSS 開発入門

オペレーションを手動からワンライナー、書捨てスクリプト、そして管理ツール?作成までの話だった。
手動オペレーションだったところを、むりやりスクリプト化するのにはエネルギーが必要そうだと感じた。
何事もステップアップが大切だと思った。

仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発

誰も(見えるところで)やっていなかったニッチな部分をやった話だった。
ニッチなところでも、後で自分と同じ道を通る人がいるかもしれないという考えでオープンにする考え方は立派だ…。
途中経過みたいなところの話が聞けたのが貴重だった。

最後の質疑にて、より良い書き方ができるというアドバイスを頂いていて、アウトプットすると改善の機会が増えるという良い例になっていた。

Pythonistaよ、Pythonistaを知っているか 〜こんなの欲しかった! iOSアプリ開発環境Pythonista〜

おめがし。
ハプニングが多くて見てるこっちがひやひやした。
発表資料の査読を頼まれてたけど、2日前の時点でプロットくらいしかできてなくて、その時点でもあせあせだった。
本番資料はきちんとできていて発表も大丈夫そうで良かった。

LT

全体的にパワーがあった。

カラオケは、歌う部分がフォーカスされちゃってたけども中身はすごかった。
採点システムを自ら作ってしまうとは、愛が感じられた。

天文学とPythonの知られざる関係が明かされた。
まさか、すばる望遠鏡の制御システムがPythonで動いているとは。
驚くばかり。

ぱーちー

天文学の方とお話しようと思ってたけど完全に忘れてしまっていた。残念。
あとは、知ってる人、初めて会う人何人かと主にPythonじゃない話をしていた。
ぷりんたい氏と初めてリアルで会った。

TODO進捗

https://gist.github.com/mihyaeru21/7ec2e6b408d0c7f546274fd4b5a1e610

進捗ダメです

ニート日報 2016-09-20

ニート11日目

またも堕落。やばい。
堕落しすぎてやばかったから、自サイトのアクセス解析基盤を整えることにした。

fluentd + Elasticsearch + Kibana

nginxのアクセスログをfluentdでElasticsearchにぶち込んでKibanaで表示する。ってやつを作ってみた。
よくわからないところから数時間で構築ができたので、なかなか生産性の高いツール群だと思った。

この記事を参考にした。

fluentd

fluentdの設定の基本的な構造はシンプルかつ拡張しやすいなーという感想。
参考にしたサイトはngixを動かす鯖とElasticsearchを動かす鯖を分けて、ログをfluentdで転送してからElasticsearchにぶち込むスタイルだった。
そのままパクると動かないが、理解しやすい構文だったので(あまりよくないけど)ドキュメントを参照せずとも、やりたいこと(nginxとElasticsearchを同じ鯖で動かす)を実現することができた。

Elasticsearch

入れただけでほとんどいじってない。
が、ぶちこんだ文字列がanalyzedになってしまい、PathとかUserAgentとかでのグルーピングが上手くできなくなってしまった。
この記事の内容を実施したら、not_analyzedになり良い感じになった。

Kibana

Kibana自体にアクセス制限の機能が無かったため、雑対応としてnginxのvirtualhostにて家のIPアドレスからしかアクセスを許可しないようにした。
家以外からアクセス出来ないのは不便なので、あとで強そうなパスワードのBasic認証に変える。

表示設定は、昔会社で少し触った記憶を蘇らせて適当にいじった。
全アクセスログの時系列カウントは簡単に表示できたが、それをvhostごとに分割して表示する方法まではヒント無しでたどり着けなかった。
ちょっとググったらすぐにやりかたがわかり、晴れて「vhostごとの時系列アクセスカウント」を可視化できるようになった。

Ubuntu 16.04環境にそれぞれインストールしてOS起動時に立ち上げる設定

下記コマンドは全てrootにて。

インストール

日本語の情報だとKibanaをaptで入れる感じの記事がぱっと見つからなかった。

1
2
3
4
5
6
7
8
9
10
11
12
# td-agent(fluentd)
curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-xenial-td-agent2.sh | sh
td-agent-gem install fluent-plugin-elasticsearch
# Elasticsearch
wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | apt-key add -
echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list
apt update && apt install elasticsearch
# Kibana
echo "deb http://packages.elastic.co/kibana/4.6/debian stable main" | tee -a /etc/apt/sources.list.d/kibana-4.6.list
apt update && apt install kibana

OS起動時に立ち上げる

td-agentは自動で登録されたっぽい

1
2
systemctl enable elasticsearch.service
systemctl enable kibana.service

起動

1
2
3
systemctl restart td-agent.service
systemctl restart elasticsearch.service
systemctl restart kibana.service

TODO進捗

https://gist.github.com/mihyaeru21/7ec2e6b408d0c7f546274fd4b5a1e610

  • PyConのLTは諦めた…
    • 無理に頑張れば準備は間に合いそうだけど、発表時にどかどか喋ると確実に咳き込むのが辛い

ニート日報 2016-09-19

ニート10日目

ISUCONの疲れからか、寝てばかりの1日だった。
というか、もう10日だと…

dotfiles整理

setupをmake移行しつつ、必要そうなソフトをどばーっと入れるのを追加した。
途中から、NeoBundleとかdeinで入れたプラグインのヘルプの生成に失敗する件を調べていた。
各プラグインごとについてヘルプ生成は問題ないけど、それらのヘルプファイルを1つのディレクトリにまとめてから生成しているのが怪しそうな雰囲気が感じ取れた。
ほとんどのプラグインは.txtしか用意されていないのでasciiで読む感じになっているところに.jaxが来て、エンコードがどうのって怒られてるのかね。
このあたりはhelptagsについてもちゃんと調べないと。

実は初めてのDocker

今まで触れてこなかったけどついに触ってみた。
Vagrantを初めて触ったときも、すげーってなったけどDockerもすごい。
軽量コンテナって軽量なんだな(粉みかん

TODO進捗

https://gist.github.com/mihyaeru21/7ec2e6b408d0c7f546274fd4b5a1e610

  • 「dotfilesのsetupをmakeに移行する」を半分くらい進めた
  • PyConでのLTは諦めの境地に近づいてしまった

ニート日報 2016-09-17

ニート八日目

実家にて、郵送待ちだった北海道の土産をゲットして家にデプロイしてすぐさま東京へ。
ISUCONの準備をして、帰宅後は溜まった荷物受け取りをした。
ISUCONについては別途記事を書く。
溜まった荷物についても別途記事を書く。

なんと五反田駅内のコンビニにて、あのカップヌードル謎肉祭が売っていた!
期待値が高すぎたけど実際に食べてみたら普通だったw
10倍じゃなくて20か30倍でも良いと思った。

夜、2年半放置していたチンコパッドThinkPad X200にUbuntu 16.04を入れて遊んだ。
iOSをいじることがなければメインマシンはUbuntuで良いんだよな〜という気持ちを再確認した。

何もやっていない気がするけどISUCON準備はそれなりに頑張った。
そんなこんなで1日終わり。

TODO進捗

https://gist.github.com/mihyaeru21/7ec2e6b408d0c7f546274fd4b5a1e610

  • PyConでのLTのネタを少し進捗