美しい Go の設計とコードを目指して

Step 1. コードの書き方を学ぶ コードレビューする際に気をつけるポイントをまとめた CodeReview Comments。 他の言語とは違っている Go 特有の事例をたくさん載せてくれている。 原文は英語だけど、日本語訳もある。 golang/go CodeReviewComments 日本語翻…

スクエア・エニックスのテクニカルカンファレンスに行った

これに参加してきた。ネットゲームの通信の話だいすきなのでとても楽しかった。 www.jp.square-enix.com スクエア・エニックス社内の具体的な事例をベースにわかりやすく話してくれたし、無料でこんなに技術公開するのすごい!!って思った。 以下講演中にと…

GAE/Go の嫌なところ2018年4月

Google App Engine (GAE) + Go の組み合わせはとても良くて、これでクイックにWebアプリが始められる!って感じなんだけどまだいくつかなんとかしてほしい点があるのでこの時点でメモっておく カスタムドメイン+ワイルドカード証明書ができない https://<service_name>.ex</service_name>…

PHP のネイティブ拡張 (PHP extensions) についてメモ

php

php --re <extension_name> | head -n1 で拡張の詳細なバージョン情報を見ることができる php-fpm の場合、restart php-fpm しないと拡張の変更は反映されない</extension_name>

PHP と MySQL とマイクロ秒精度

PHP とマイクロ秒 経過秒数を int で返すものだと、マイクロ秒は切り捨てられる date() \DateTime::getTimestamp() マイクロ秒までの精度で取りたい場合、次のいずれかでやる 小数点以下を含む秒として扱う(例)1.234567秒 マイクロ秒を整数として扱う(例…

トラックパッドできるだけ触りたくない

自分の使い方が悪いだけなのか、トラックパッドを高頻度で使うと指が痛くなる。 この癖は直りそうにないのでそもそもトラックパッドに触る回数を減らす方向でかんがえる 極力キーボードで操作する 現在トラックパッドでやってる頻度の高い操作は ウィンドウ…

PHP の実行のやり方についてメモ

php

phpはなんとなく、mod apache と php-fpm があって、とりあえず php-fpm 使うか、といった適当な認識でいっていたが、いい加減どういうふうにスクリプトが実行されるのか知りたくなったのでメモ。 "SAPI" について知る ちょうど最近良い資料があがっていたの…

画像をDBに保存する

DBに画像などのメディアファイルを保存したい場合、保存する情報は次の2つに分けてかんがえる 画像の実体(バイナリ) 画像のメタデータ(名前、形式) 実体はどこに保存するべきか いまどきだと、クラウドサービスを使うのが良いと思う。 Amazon S3 Google …

minikube 入門した

最近は kubernetes (k8s) が人気。ただ、k8s は大規模なアプリでも耐えられるような設計なので、概念がめちゃ多くて理解がむずかしい。 ローカル環境開発では、そんなたいそうな物はいらないので、docker-compose を使うと簡単で良い しかし、それだとローカ…

Vuex で Flux pattern を勉強する

flux pattern とは? ただの observer パターン。このスライドを読めばわかる ReactとFluxのこと // Speaker Deck Flux が解決してくれること 遠く離れたコンポーネントへの情報伝播が楽になる 「苦しいバケツリレーをしなくてすむ」 これの一番下にある「統…

どこまでがソースコードの”コピペ”といえるのか?

ソースコードのコピペは著作権違反みたいだけど、ちょっと変えたらそれはコピペではないと言えるのか?ちょっと調べた。 ネット上で公開されているコードをコピペする前に確認すべきこと – tomeapp 自分の場合は以下の方法を取っています。 コピーしたいコー…

GAE + CircleCI, Gitlab CI ですごく消耗した記録

GAE/Go が gcloud app deploy でも goapp deploy でもデプロイできない これが一番はまってしまったので、Qiita に書いた。 qiita.com cp の引数のスラッシュの有無 cp でも rsync でもそうだが、 / をつける・つけないで挙動が変わるので思っていたのと異な…

依存関係の自動解決とパフォーマンスのトレード・オフ

依存関係を手動で書くというのは非常に面倒 なので、ソフトウェアによって自動的に解決する、という手段はよくある。 しかし、依存関係というのは recursive に探索するものが多いので、パフォーマンスの問題が起こる この話についてうまくまとまった記事と…

Angular 開発をはじめて面倒だったこと+解決策

とても急いで angular で開発をしていた。 angular-cli がとても便利で、フロントエンド環境構築面倒すぎ問題がかなり軽減される。 しかし、実際に開発してみるとまだ面倒なことがいくつかあったので、それを解決する方法もあるはず、で調べた。 調べただけ…

goroutine の数はどれくらいが良いのか

Go の主要な機能である Goroutine 好きなだけ並列に実行できるけど、増やしすぎるとかえって遅くなったりするのかどうなのか、気になった。 CPU処理か、IO処理かで変わる CPU処理であれば、CPU数以上上げても切り替わりが激しくなるだけで性能は上がらない I…