2018年3月時点のスキルセット
学習フェーズ
最もよく使う言語。WEBアプリケーション、ツール開発などさっさと使いたい時に用いる。 wxpythonでGUIの基本的な部分は学んだ。
リハビリが必要
参考
研究室にいた時、数値計算用として利用。 constと@parallelを利用して、Matlabで7日間かかっていた計算を7分にしたのはいい思い出。 (Matlabの使い方がよくわからなかったのが原因でもある) 現在はほとんど利用していないので、リハビリが必要。
ふつうのLinuxプログラミング 第2版を写経したレベル。 Socketプログラミングや、LINUXユーザー管理、パーミッション、シグナルなど、 WEBを取り扱う上での基礎の基礎を学んだ。
積本: Linuxプログラミングインタフェース
アルバイトで教えていた経験あり(2年くらい)。 iOS/macOSのアプリケーショの作成経験があるが、どっちかというとmacOSのアプリケーション作成のほうが好き。 iOSのリリースはしていない。macOSに関してはGithubからダウンロードできるものもある。
以下の本は読んだ
Realmも使える。
#### パッケージ管理
cocoapodsとcarthageは利用できる。 Realmが利用したことがある。 React Nativeのエラーの時にこの知識が活躍した。
Xcode(>=9.2)のインタフェースはちょくちょく触ります。
Laravelは良かったです。
すごく昔に作った作品。物理の研究で、電磁波の挙動をアニメーションした時に作った。
LaravelのValidation->afterの実装パターンを見て、 Toggle系のイベント発火うまくできるんじゃないかと実装したやつ
VDOMの仕組みはpicodomの作者の発表(Node学園2017)と、 実際にソースコードを読んでコードレベルで理解した。
vuexを用いた状態管理はWebsocketの実装と相性が良く、気持ちよく書ける。
Cloud Functionで利用。 WEBアプリケーションをこれで作成したことはない。 ツールとして利用することは度々あるので、ちょっとしたことはかける。
いまはZappierやIFTTT、Cloud Functionと遊んでます。
Markdownで提出したらPDFを要求されたときの緊急避難対応用に作成した。 せっかくなので、npmでインストールできるようにリリースもしておいた。 リリースするならテストしろよってことで、jestでテストをちょこっと書いてtravis-ciにツッコんだ。 初めてnpmに登録したりしたので、2時間かかったけど、次はもうちょっと早く行けそう。
プラグインを登録
https://github.com/bottlepy/bottle/blob/master/bottle.py#L916-L932
からの、発火。
https://github.com/bottlepy/bottle/blob/master/bottle.py#L815-L825
わかりやすい。
バージョンは2.0を利用。(開発途中まで1系だったが、v2に切り替えた。一部Modelだけ変更したが、それ以外はテスト落ちず)。 データ基盤の中核として利用した。 APIはDjango REST frameworkを利用。 Task Queueに関しては、Celeryを導入し、 Celery 4系をDjango 2系に組み込んだ記事はなかったので、 [記事]../python/django/Introduction-of-Celery-Django/)にした。
Fixtureを生成
https://github.com/pallets/flask/blob/master/tests/conftest.py#L61-L64
setUp, tearDownを使わずにテストを作成。
https://github.com/pallets/flask/blob/master/tests/test_basic.py#L28-L35
賢い
Version 5.4を半年ほど。 一本記事を書いてます(本サイトに移植中)。
http://www.archiveknow.com/2017/10/fw-laravel-validator-after.html
この辺のコード賢いなぁと。
最近鈍っている。
Active Recordは優秀。最近鈍っている。
基本的にはORM任せにしている。最低限のCRUDとストアドプロシージャなどの操作はできる。 チューニングはほとんどやっていない(Cloud任せ)。 Slow Queryを見つけるぐらいはできる。
以下の本は抑えている。なので「NO」になっている。
RedisはTask Queueでだいぶお世話になっている。 クラスター化はまだしたことがないが、k8sのStatefullSetの勉強がてらそろそろやる。
下記のページのScala程度ならやった
http://docs.scala-lang.org/tour/basics.html
Twitterのデータなどを放り込むときなどに利用。 pubsub機能が公式でサポートされていればな、とか思っている。 クエリは叩けます。
ごく普通のレベル。 oatuh2をNginxにツッコんだぐらい。
今はもう使っていない。Docker以前の開発環境で利用。 ディストリビューションからVagrant用のBoxを1から作ったことがある。
関連記事:http://www.archiveknow.com/2017/04/vagrant-box.html
メインのデプロイ環境。 入門 Kubernetesの 6,7割程度は実際にやったことが在る。
Helm Chartsを公開しているので、ぜひ使って欲しいし、 他の人も公開して欲しい。今の所4つホスティングしている。
Kubernetesのプロジェクトで、GoogleCloudPlatform/agones をwatch中。
Version 2.0以降が使える。 ドキュメントは一部修正PRを投げてマージされている。 KubernetesのDeployフローで利用したことがある。
PublicでCIを回す時はTravis CIを利用する。 自分で仕込める。
使ったことはあるが、Circle CIのほうが使いやすかった。
仕込まれているものを使っただけで、設定はしたことがない。
酔いどれGCPUG 2018/03/02というイベントでLTしてきた事がある。 詳細は酔いどれGCPUG で発表してきましたに書いてある。
EC2とS3程度鹿利用したことがない。GCP民。 AuroraやDynamoDBに興味がある。
ざっと使えるかなというのもは次の通り。
2017年11月ぐらいから勉強を初めて使えるようになった。 情報収集に関してはGCPUGのSlack、GCPのアーキテクチャ実践レポート、 Twitterなどから逐次吸い上げ。
効率が上がるなら投資を惜しまない系です。