この記事で使用するOpenSSLのバージョンは1.0.1uです。 ハートブリード脆弱性を回避するには、1.0.1g以上を使用します。 OpenSSL公式ページ:https://www.openssl.org/ 公式文書:https://www.openssl.org/docs/ma…
2017.07.28
1,042
JavaScriptで有名な開発者、ダグラス・クロックフォードの言葉を借りると、Javascriptは、地球上で最も誤解されているプログラミング言語だといえるでしょう。もちろん、現在ではその誤解がたくさん解かれていますが、それでもJavaScriptは進化し続けており、その変化を詳しく知っている人は…
2017.07.24
236
ソフトウェア設計をしているとUMLで表現する必要がしばしばあります。オブジェクト指向の設計であったり、さまざまなモジュールが連動して動作するシステムであったり、状態の変化を説明するとき、UMLは非常に良い表現方法です。 ダイアグラムはその名のとおり図です。コンピュータを用いて画像を描画するには…
2017.07.13
432
Gitでソースを管理し、GitHubでコードレビューを行っている方も多いでしょう。 しかし、Gitを使って開発してみると、何かをミスしたり、予想に反する動作をすることが多いようです。 この記事では、実際に使用されているGit環境をサンプルに、よく発生する状況で使用できるGitコマンドを紹介し…
2017.07.11
289
前回の記事につながるWebコンポーネントの主要標準の1つであるカスタム要素について紹介します。 TL;DR <div>の代わりに<current-time>のように、適切な名前のタグを使用できる HTML要素とJavaScriptクラスを一度に作る IE11…
2017.06.22
250
React、Redux生態系のソケットのような外部イベント処理は、開発に多くの悩みを抱かせます。同じ外部イベントが発生してもアプリの状態によって、異なる方法で処理したり、無視したり、アプリの状態に関係なく常に処理したいこともあります。特に外部イベントがReduxのアクションと接続する場合、Redux…
2017.06.13
538
Webコンポーネント:Keep calm and #UseThePlatform このポスター(Keep Calm and Carry On, 平静を保ち、普段の生活を続けよ)は、英国政府が第二次世界大戦の直前、大規模空爆が予告された中で、国民にパニックや混乱に備え、平静を維持するようにと配布…
2017.06.12
54
ReduxはEvent SourcingパターンとFunctional programmingを組み合わせて、ライブラリ形式で実装したコンテナです。このコンテナは、アプリケーションの状態を保存し、簡単に予測できるようにして、一貫性のある実装を維持しつつ、テスト、メンテナンス、デバッグなどを簡単に処理…
2017.05.02
265
はじめに Socket.IO ウェブ環境では、クライアントであるブラウザとサーバー間でプッシュやリアルタイムデータを処理する際、複数の方法を利用しています。その中で、Ajaxを利用したpolling、Long pollingとストリーミングの特徴は、下図のように比較できます。 出典…
2017.06.08
1,039
Reactはシンプルでありながら十分に速い。しかし、大まかに作っても速いことはなく、うまく作ってこそ速くなります。Reactの動作原理を理解し、アプリケーションが遅くなる状況を探して修正することが重要です。幸いなことにReactはシンプルで理解しやすいライブラリです。 Reactのパフォーマンス最…
472