banseivlog

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

URLと仲良くなりましょ

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

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

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

ぼくのつゆやすみ・三日目

昨日の疲れが残っていたので朝は寝坊して朝食を逃しました。残念。 三日目は寝坊しつつも無事チェックアウトを済ませ、札幌市内の観光へ とりあえず札幌に知見がないのでなけなし知識で知ってる観光スポットに行きます。 僕の持っている札幌の知識といえば -…

ぼくのつゆやすみ・二日目

北海道旅行2日目です 昨日のジンギスカンの匂いが胃の奥から香ってくるさわやかな目覚めとともに寝癖のまま朝食へ 今日はやることが決まっています そう、小樽に行く日です 2日目は見事に快晴。最高気温が27℃のこと。さっそく朝から小樽へ 小樽へは電車を使…

ぼくのつゆやすみ・一日目

1週間以上の暇ができたのでぶらり北海道まで旅行にきました。 そもそもなんで北海道まで来たかというと、今まで(ここ一年くらい)忙しくて取るべき休みを取ってなくて6日ほど休めたので一気にとってしまおうと思いつきで休みました。(なお、仕事のほうが落…

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…

iOS10 Safariでの401レスポンス時の仕様変更にハマった

iOS10が公開されましたね。 毎年のことですが、Safariの仕様変更には何かしら影響を受けていて楽しいです。 今年も例のごとく、見事にサービス影響がありました! 401レスポンス時に予期しないBasic認証が出てくるケースがある 401 Unauthorizedなレスポンス…

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

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

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

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

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

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

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

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