banseivlog

大器晩成型 - 仕事中の覚え書きや反省文を書く程度のブログです

frontend

URLと仲良くなりましょ

URLの文字列にどういう意味があって、どういった仕様になっているのかなんとなくでわかってる人が多かったので、ここで改めてURLを知っておきたい(ほしい)という気持ちをポエムに書き残しておきます。 僕の愛読書のNode.jsのドキュメントにわかりやすいURL…

CSSの読み込みを待つReactコンポーネントを作りたかった

※この記事ではstyled-componentやcss-modulesに関しては一切書いておりません。 僕は普段からReactを使ってIsomorphicなWebアプリケーションを開発してるのですが、個人の趣向でcss-modulesを使っておらずJavaScriptとCSSはそれぞれ独立させて作られています…

TypeScriptでIsomorphicなCode Splittingをする

以前webpack2でDynamic importsが実装される前にWebpackのCode Splittingについて書きましたが、せっかくTypeScript 2.4でもDynamic Importsが実装されたので(結構経ちますが)TypeScript環境下でいかにしてCode Splittingを実現させるかを書き残しておきま…

Next Billion Users と Accessibility - Google I/O

先日Google I/Oへ参加してきました。 参加レポートは会社のブログの方で書いたのでそちらを御覧ください。 developers.cyberagent.co.jp 個人的にアクセシビリティ周りで思うことがあったのでこっちのブログにまとめていきます。 Accessibility アクセシビリ…

npmパッケージ公開デビューした

npmパッケージデビューしました。 公開するまでに感じたあれこれを残しておこうと思います。 経緯としてはbrowserifyからwebpackに移行して、webpackと親しくなっていると痒いところに手が届くようなプラグインが欲しくなったというのがありました。 例えば …

多分詳しいChrome Flashの動向まとめ

Chrome 55にてFlash無効化(HTML5 by Default)が発表されて12月を迎えました。 Chrome 55がリリースされ、Flashの無効化されると思いきや嬉しいことに寿命が1ヶ月延びました。1ヶ月... 僕の立場を説明すると、Flashコンテンツを時サービスですこしだけ扱っ…

jQuery,Reactを使わずにvirtual-domを使ってLPを作った理由

TL;DR jQueryとReactの代わりにvirtual-dom使ってLP的なサイトを実装してみたけど案外良かったよ。 jQueryやReactを使わない選択肢 とあるサイトをリニューアルをしました その際、動的コンテンツの表示をするのに何を使うかを考えました。 jQuery: 今まで使…

axiosでのajaxリクエストをモックしてテストを書く

JavaScriptで使うAJAXライブラリといったら superagent, whatwg-fetch, axios が最近の主流ですね。ちなみに私はaxiosがその中でも使い勝手がよく、メインの開発で使っています。 テスト周りでの作業記録をば。 AJAXまわりでテストコードを書くときに、通信…

webpack.ensureとbabelでハマりがちなこと

以前qiitaのほうで webpackのrequire.ensureでDynamic Loadingをして大規模アプリケーションを作る という記事を書いたのですが、babel-loaderと組み合わせるとちょっと癖があってハマったのでここで補足をしようかなと思います。 import/exportとwebpack.en…

multerをマイナーからメジャーバージョンにアップデートするのに知りたい変更点

最近仕事でnodejsのバージョンを上げるためにミドルウェアのバージョンアップの調査をしています。 その際マイナーバージョンのmulterを今までのコードのままメジャーバージョンにアップデートしたら動かなくなってすこし悩みました。 よく考えれば簡単なこ…

ChromeでPushを実装してみた反省会場はこちらです

ChromeでPushが実装できるというのが広まってからしばらく経ちますが、 僕が開発に関わっているサービスでもプッシュを使いたいという温度感(特にビジネスサイドの)が高まってきたので、とうとう実装してしまいました(リリース済みです)。 どう実装する…

Browser Push #2 - 「このサイトはバックグラウンドで更新されました」

Pushのログその② 実装上は正しく呼び出しとか、例外とか処理しているようにのに 「このサイトはバックグラウンドで更新されました。」 という通知が何故か出てくる場合がある。 原因はだいたいコレ

Browser Push #1 - Chromeの通知表示制限に関して

ブラウザでPushを実装するときに気をつけること、気をつけたほうがいいことをこまめにログに残しておこうかなと思い立ったその①。 Chromeの通知表示制限に関して 同時多発テロ的にpushを配信しなければいいのだけども、同時に何件ものPushが来た時に何が起き…