DBに画像などのメディアファイルを保存したい場合、保存する情報は次の2つに分けてかんがえる 画像の実体(バイナリ) 画像のメタデータ(名前、形式) 実体はどこに保存するべきか いまどきだと、クラウドサービスを使うのが良いと思う。 Amazon S3 Google …
最近は kubernetes (k8s) が人気。ただ、k8s は大規模なアプリでも耐えられるような設計なので、概念がめちゃ多くて理解がむずかしい。 ローカル環境開発では、そんなたいそうな物はいらないので、docker-compose を使うと簡単で良い しかし、それだとローカ…
flux pattern とは? ただの observer パターン。このスライドを読めばわかる ReactとFluxのこと // Speaker Deck Flux が解決してくれること 遠く離れたコンポーネントへの情報伝播が楽になる 「苦しいバケツリレーをしなくてすむ」 これの一番下にある「統…
ソースコードのコピペは著作権違反みたいだけど、ちょっと変えたらそれはコピペではないと言えるのか?ちょっと調べた。 ネット上で公開されているコードをコピペする前に確認すべきこと – tomeapp 自分の場合は以下の方法を取っています。 コピーしたいコー…
GAE/Go が gcloud app deploy でも goapp deploy でもデプロイできない これが一番はまってしまったので、Qiita に書いた。 qiita.com cp の引数のスラッシュの有無 cp でも rsync でもそうだが、 / をつける・つけないで挙動が変わるので思っていたのと異な…
依存関係を手動で書くというのは非常に面倒 なので、ソフトウェアによって自動的に解決する、という手段はよくある。 しかし、依存関係というのは recursive に探索するものが多いので、パフォーマンスの問題が起こる この話についてうまくまとまった記事と…
とても急いで angular で開発をしていた。 angular-cli がとても便利で、フロントエンド環境構築面倒すぎ問題がかなり軽減される。 しかし、実際に開発してみるとまだ面倒なことがいくつかあったので、それを解決する方法もあるはず、で調べた。 調べただけ…
Go の主要な機能である Goroutine 好きなだけ並列に実行できるけど、増やしすぎるとかえって遅くなったりするのかどうなのか、気になった。 CPU処理か、IO処理かで変わる CPU処理であれば、CPU数以上上げても切り替わりが激しくなるだけで性能は上がらない I…
webアプリの環境を整えるのは大変だけど、Google App Scripts (GAS) を使ってサーバーなしで状態の維持などができて結構すごい webアプリとして公開する GoogleカレンダーとSlackステータスをワンクリックで連携できるアプリをGoogle Apps Scriptで書いた - …
Google AppEngine でデプロイしたアプリを独自ドメイン管理にしたときに、CNAME レコードが出てきて「これってどういう意味だっけ?」となったのでメモ。 レコード 役割 A ドメイン名→IPアドレス CNAME ドメイン名→別のドメイン名 ということで、複数のサブ…
最近 GCP に入門していて、DBとして Datastore というものがよく使われているみたいなので自分も早速使おうと思って調べた。 そしたら、次の記事がヒットして ぼくが かんがえた さいきょうの でーたすとあ らっぱー - Qiita AppEngine DatastoreとCloud Dat…
設置型のブログとして、現在もっとも有名なものは Wordpress だろう。最近だとホワイトハウスで Wordpress が採用されたニュースがあったりと賑わっている印象だけど、自分はできる限り使いたくない。 Wordpress を使ったことは何度かあって、それを経験して…
Access Token さえあればいい Google API を使うためには、Access Token という文字列さえあればOK。ただ、この Access Token を取得するための手続きが複雑というだけである。 Refresh Token Access Token は使用期限がある。では、切れる度に新たに Access…
SECCON 2017 オンライン予選に Team: wight のメンバーとして参加した。 結果としては 2,500pt で全体57位、国内13位と今まで参加した中では最高記録! その中で自分が解いた問題は次の通り。 SHA-1 is dead (Crypto 100) SqlSRF (Web 400) Log search (Web …
プログラミング言語には文法が正しいかどうか、悪い書き方をしていないかどうかといったことをチェックして指摘してくれるツール(通称 linter)がたくさんある。 機械的にチェックできるようなことは、人にチェックしてもらう前に直しておく。そうすること…