行動すれば次の現実

ほどよくモダンなシステム開発を目指しています。メインテーマは生産性、Ruby、Javascriptです。

Javascript

Railsでよくbuildエラーになるlibv8、therubyracer、mini_racerあたりをまとめてみた

Railsアプリを構築しようとするときにbuildエラーになるライブラリの代表にlibv8、mini_racerなどが上げられると思います。(個人的感覚) 毎回gemを最新化することでなんとなく解決していたのですが、これではその場凌ぎしかなく応用が効きません。 しっか…

yarnコマンドで発生したgyp ERR!の原因究明と対処方法

アプリケーションのnode.jsのバージョンを上げて、yarn installコマンドを実行したら以下のようなエラーが発生しました。 1 error generated. make: *** [Release/obj.target/binding/src/binding.o] Error 1 gyp ERR! build error gyp ERR! stack Error: `m…

Turbolinksとcookieは相性が悪い

Javascriptでcookieに値を設定する処理を実装していたのですが、タイミングによって同じcookie名で重複してvalueが登録される事案が発生しました。 調査するとどうやらTurbolinksが原因であることがわかりました。 Turbolinksを有効にするとcookieのpathに適…

JQueryでcheckbox操作 (チェックしたら○○する、チェック外したら○○する)

checkboxをチェックしたら何かをしたいときの条件式です。 $('#check').on('change', function (e) { if (e.target.checked) { // check:on時の処理 } else { // check:off時の処理 } }); clickイベントで拾いたい場合はこう書きます $('#check').on('click'…

Javascriptによる画像リサイズ処理の実装例(blueimp-load-imageなど)

画像アップロード処理をする際、昨今ではフロントサイドでもリサイズするのが主流である。 詳しくはこちらの記事を参照( 画像アップロード時はクライアントサイドでも圧縮処理をすべき理由 - SaaS開発者のあれこれ ) Javascriptのcanvas APIを使って実装す…

画像アップロード時はクライアントサイドでも圧縮処理をすべき理由

画像アップロードする際に、最近ではクライアントサイドであらかじめサイズを圧縮しておくのが主流である。 スマホカメラの高性能化に伴い、写真がどんどん高画質になっているためである。 10MB近いサイズのこともあったりする。 画像アップロードのフローか…

Reactのライフサイクル一覧まとめ

マウントフェーズ componentWillMount 基本的には非推奨 まずはconstructorかcomponentDidMountで制御できないか検討すること v16からUNSAFE_componentWillMountという名前に変更 renderよりも前に呼ばれる constructorよりも後に呼ばれる setStateしてもren…

RubyとJavascriptにおけるHashの順序保証の違い

RubyとJavascriptではHashの順序保証が言語のバージョンによって異なる。 昨今、バックエンドでRubyを利用し、フロントエンドはJavascriptという、いわゆるSPAで開発するケースが増えている。 RubyでHashを返して、JavascriptでHash(オブジェクトリテラル)を…