今年の主なpull requestなど。
-
malthe/macfsevents supports UTF-8-MAC(NFD)
- MacFSEvent: pathに濁点/半濁点が含まれるとおかしくなるバグ修正。採用。Python
-
mathiasbynens/utf8.js Passed flake8
- JavaScriptのライブラリでなぜかPython用のflake8のせいでtestが通らない、ので修正提案。別方法で解消。
-
golang/oauth2 A newurlfetch import line has typos in README.md
- Goドキュメントのtypofixの提案。コントリビュートのルールに沿っていなかったようで、即却下された。
-
alexanderritola/validate add MinSubdomains
- Go言語のバリデータパッケージ。ドメイン形式のStringでサブドメインの最小個数を指定できる、機能追加の提案。採用。
-
russross/blackfriday more better URL fragments
- Go言語Markdownライブラリ。%エンコーディングされたURL文字列の処理の修正提案。話が進んでいるようだけど、内容を追っていないので読まないといけない。(WIP)
-
angular/angular.dart fix NoSuchMethodError in filter
- Angular Dartの修正提案。テストを書かないといけないので、未採用。(WIP)
-
Can not work a
rate
parameter that is less than1/s
of the Task Queue.:- GAE: TaskQueueのコンソール表示がおかしい件を報告。今は治ってる(はず)。
-
content-length header of the error status response that generated by endpoints is wrong
- GAE: 開発環境でのテスト実行時に支障になるので、報告とpatch提出。チケットは閉じたが、本当に修正されているか未確認。#TODO
-
Can not change the Task Queue Stored Task Bytes Limit from 500MB to 1GB.:
- GAE: TaskQueueの挙動について報告。その後、解消した。
開発環境
- Mac OS X 10.11 El Capitan
- vim
- SourceTree
- Visual Studio Code: Markdown書く用。日本語入力用。
dotfileは、SparkleShareでbitbucketへpushしている。
SparkleShareの動作が調子悪いので、なんとかして欲しい。か、Goでなんとかしたい。
環境
Amazon Web Service
https://aws.amazon.com/jp/
公開用Web用途にS3を使ってるくらい。github pagesに移行したい。
App Engineの制限で使えないライブラリがある場合は、AWS Lambdaを試したい。
Google Cloud Platform
App Engine
https://cloud.google.com/appengine/
ゴリゴリとチューニングして、なるべく無料枠に押し込む。
App Engine/Go
スピンアップが数十msで、ベースのメモリサイズが数MBと小さく、数msオーダーでレスポンスを返せる。
ので、この環境でできることに落とし込む。
Memcached
https://cloud.google.com/appengine/articles/scaling/memcache
数年前より生存確率がかなり良くなった。
ほとんどのデータをキャッシュしている。
Cloud Storage
https://cloud.google.com/storage/
key-valueストアの代替。
indexingが必要なく、key一発でアクセスできるデータ用データベース。
versioningができるので、論理削除とか更新履歴とか考えなくてよい。
GCPの外向きは、edgeに載らないとTTFBが長めなので注意。
Datastore
https://cloud.google.com/datastore/
indexingを伴うアクセスが必要なメタデータのみ。
Big Queryに対するクエリキャッシュのように使う。
クエリが依存するテーブルを属性値としてindexを張り、破棄するべきキャッシュを検出して消す。
Big Query
https://cloud.google.com/bigquery/
データベースの代替。
バイナリは入れられない。
TaskQueue
https://cloud.google.com/appengine/docs/go/taskqueue/
ほぼ全部の処理で、TaskQueue経由でdeferred関数を呼ぶ。
Chrome Web Store
https://chrome.google.com/webstore/category/apps
サブスクリプションで課金して欲しいので。開拓中。
言語
Go
https://golang.org/
2012年くらい〜。
まずはGoで書く。
そろそろ、BigQuery用の処理をパッケージにまとめたい。
flatbuffers
http://google.github.io/flatbuffers/
シリアライズはこれ。flateで圧縮する。
App Engine対応版のテスト運用がそろそろ1年経つので、pull requestする。#TODO
in memory cache
GoogleのgroupscacheのApp Engine用カスタマイズ版。
https://github.com/MiCHiLU/go-lru-cache-stats
そろそろWIP抜けてるかも。実装を見直しする/確認する。#TODO
goenv
https://bitbucket.org/ymotongpoo/goenv
Go environment manager.
のCONTRIBUTORで利用している。
Python
https://www.python.org/
2000年くらい〜。
マシーンラーニング系など、ライブラリがPython依存だったりするケース以外は使っていない。
gae-tap
https://github.com/MiCHiLU/gae-tap
Goをメインにする前に開発していた、GAE/Python用フルスタックフレームワーク。
名前は、クラフトビールに由来する。
python-functools32
https://github.com/MiCHiLU/python-functools32
Python 3.2の標準ライブラリfunctoolsのPython 2系バックポート。
ubuntuの何かが採用しているらしく、何か依頼が来ている。早急に対応しなければならない。
か、誰かへ移譲する。#TODO
Dart
https://www.dartlang.org/
JavaScriptよりかは、いくらか固め。
しかし、dart2jsの後、ブラウザでの実行時には、ふにゃふにゃなので、そこがハマりどころ。
Dart VM搭載のモバイルアプリ実行環境があるので、試したい。⇨flutter
TypeScriptに移行しようか定期的に迷うが、標準パッケージ周りにくると、やっぱりDartでいいや、となる。
Angularが重くて、待ち時間が長いのが悩みどころ。
Angular Dart
https://angulardart.org/
なんとかなる。
Angular2
https://angular.io/
気分は移行した。未実装機能を避けつつDartで使っている。
Virtual DOM
uixを採用したけど、次回からAngular2に搭載される何かでなんとかする。
sass
http://sass-lang.com/
CSSの代替。
CSS Framework/CSS Spritesはcompass。
ズルいデザインとか、一旦まとめたい。#TODO
haml
http://haml.info/
xmlの代替。タグを閉じなくて良い。
hamlで書いてからhtmlファイルを生成している。
coffee scriptとsassも書けるので便利。
Angular2のsyntaxと互換性がなくなってしまったので、なんか考える。
多分 https://github.com/eknkc/amber でツールを作る。
Twitter bootstrap的な
bootstrap v4を試した後、まだ完成していないし見た目の古臭さが出てきたので、Material Design Liteを試し中。おそらく移行する。
Make
node.jsが出る前からMakeです。
ファイル更新の検知には、まだ自作ツールが使えてる。
Docker
https://www.docker.com/
テスト/build/deploy環境用。
docker hostはGoogle Compute Engineか、Mac上ではDockerRoot running on xhyve hypervisor。
マシン変える度に開発環境をsetupしたくないので、開発環境用としても試したい。
ツールとか
Wercker CI
http://wercker.com/
CIはwerckerしか使ってない。
werckerからしかdeployしてない。
HipChat
https://www.hipchat.com/
werckerのビルド結果を確認しに行くのが面倒なので、導入した。
近所のお店のFacebookページviewerとしても使える。
Facebookのタイムラインを見なくてよいので、時間ロスがない。
Cloud Flare
https://www.cloudflare.com/
DNS/SSLはここ。
cacheコントロールのAPIがあるので、アプリケーションからcacheを消せる。
Hugo
https://gohugo.io/
サイト生成はこれ。
ドキュメントサイトがイケてない。素直にreadthedocsとかにして欲しい。
OGP
https://developers.facebook.com/tools/debug/
OGP確認用。
PageSpeed Insights
https://developers.google.com/speed/pagespeed/insights/?hl=ja
トリックを駆使して100点を目指す作業サイト。
AMP HTML(次項)なら、こんな苦労は要らないはず。
AMP HTML
https://www.ampproject.org/
早々に移行してみる。
タスク管理
Tree 2.app
http://www.topoftree.jp/tree/
アウトラインプロセッサーだが、todoリストでも使っている。
項目だけ管理すれば良いタスクを入れている。
工夫するとtabキー1発でステータスをdoneにできる。
asana
https://asana.com/
部外者にタスクを貼り付けられるので良い。
リマインドを設定したいプライベートなタスクも入れてる。
http://instagantt.com/ に行くとWBSビューで編集できるので良い。(これが決め手)
部外者への資料用。
Pivotal Tracker
https://www.pivotaltracker.com/
スケジュール感を把握したい案件を入れてる。
Backlogの溜まり具合で、なんとなく期間の見積もりをしている。
すごく適当に使ってる。
デザイン一般
紙のノート
アイコン、ロゴのデッサン用。
その他、時々ノートに書き出す。
字は書かないと、汚くなる。
Affinity Photo
https://affinity.serif.com/en-gb/photo/
写真加工調整作業用。
安くて瞬時にフォトショ職人になれる。
Photo用だけど、ベクタートレースもできるし、ベクターアイコンも作れる。
Inkscape
https://inkscape.org/ja/
Affinity Photoから出力したSVGのノード調整用。
Inkscapeでノード数を減らした後に、vimでまた編集する。
inline svgの時は、hamlへ書き換える。
Astropad
http://astropad.com/
http://astropad.com/iphone/ は無料。
Affinity Photoでタッチパッドを使いたい時用。
Skitch
https://evernote.com/intl/jp/skitch/
操作説明画像作成用。
画像圧縮
- BTJ32.exe: JPEG圧縮ではこれが最強。 これのためにEasyWineを入れてる。
- ImageAlpha: 減色用。
- ImageOptim: PNG圧縮用。
font
- IcoMoon: アイコンフォント作成用。
音楽系
- Apple GarageBand: 最近のは自動演奏が賢くなって楽しい。
jamstik+: MIDI入力用ギターヘッド。まだ配送中。
bandcamp: 気分転換用。作業用BGMはかけない。
映像系
- Apple iMovie: 採算的な都合で、無料なソフトでなんとかする。
- Apple Quartz Composer: まだまだ遊べる。
いい感じに連結する自動生成ツールを作りたい。こういうの⇨参考
ドキュメント
Google Drive
https://www.google.com/drive/
サイズ0になるフォーマット1択。これでできないことは作り込まない。
spreadsheetで文章を書かない。
スライドで資料を作らない。
Evernote
https://evernote.com/intl/jp/
あの時のあのページを検索する用。
気になったWebページのキャプチャ用。
Google検索だと最新の検索結果が上位にくるので、あの時に見たページに辿り着けないことがある。
ローカルディスクを圧迫するので、Google Driveに移行したい。
odrive
https://www.odrive.com/
過去資産となったstorageサービスの中身は、odrive経由で参照するのみ。
今は無料だけどサポートのレスポンスが良かった、ので印象が良い。
プロダクトの動作も問題ない。
その他
- Karabiner: USキーボードを日本語入力で使う用。
- karabiner-el-capitan-ja-input: El Captanの日本語入力がレインボーディスクになるのを回避する対策。
やりかけたもの
- Unity: asset storeに出品したかった。
- rinkak: 出品したかった。
- Project Ara: 延期になって残念。rinkakの企画で何か出したい。