今回は、Redux-Sagaで使用するジェネレータ関数、エフェクトについて紹介します。ジェネレータ関数は協力的で、run-to-completionではなく、かといって非同期でもない、そのような関数です。エフェクトはRedux-Sagaの最も中心となる特徴です。ReduxのActionのように単純で…
2018.01.29
268
Webコンポーネント(1):Keep calm and #UseThePlatform Webコンポーネント(2):Custom Elements Webコンポーネント(3):Shadow DOM Webコンポーネント(4):テンプレート要素&HTMLインポート 今回は、We…
2018.01.04
179
Webワードの基礎作成(1) Webワードプロセッサ(以下、Webワード)は、思ったより古い歴史を持っています。Google Docsが2006年に導入され、よく知られるようになりましたが、Webワードはすでに十数年の歴史があるソフトウェア分野です。ThinkFreeはJavaアプレットを基盤にブ…
27
React HOC集中探求(1) Reactが正式リリースされてから4年が経過しました。この間リリースされた16.0バージョンに至るまで内部的にも外部的にも多くの発展がありました。利点は4年以上経っても重要な概念やAPIがほぼそのまま維持されているということです。これはReactが初期から追求して…
2017.12.22
126
Redux-Saga:サイドエフェクトの管理 React、Redoxを活用して、Webアプリケーションを開発した際、非同期処理などのサイドエフェクト(Side effects)について試行錯誤を繰り返したことがありませんか?React、Redoxは、関数の応用、純粋関数、不変性などの関数型プログラ…
556
1.プロジェクトの背景と目的 背景 1. Javaは最も人気のあるプログラミング言語で、多くの企業で主力言語として選択されています。 2. 大部分のCMS(Content Management System)は、Python、JavaScript言語からなり、Java開発者が意図的に修正…
2017.12.21
HTML diffとは? Microsoft Wordの「変更履歴の記録」機能のように、HTMLのレンダリング結果画面の変更部分を検出し、その内容を視覚化して表示する機能です。 HTMLテキストのタグと属性データを解析して、ツリーのようなデータ構造で構造化し、構造化されたツリーを比較して…
431
マルチブラウザテスト環境を構築する ローカルテスト環境の限界 前回、単一PCにテスト環境を構築してテストを実行する過程を説明しました。 ローカルPC内でブラウザの自動テストを実行する場合、karma-chrome-launcherが、現在のkarmaの実行環境にインストールされたChromeブ…
2017.10.30
319
昨今、世界的に膨大な量の動画コンテンツが消費されています。Flashが主流だったウェブ動画の技術が、次第に標準技術であるHTML5ビデオに切り替わり、最近ではほとんどの動画サービスはHTML5基盤でサービスされています。動画の技術は徐々に高度化され、ネットワーク環境に応じて最適な動画品質をストリ…
2017.10.25
684
前回:JavaScriptでタイムゾーンの処理(1) この記事は、「JavaScriptでタイムゾーンの処理」の第2部です。1部では、タイムゾーンとオフセットの概念、IANA timezone Databaseなどについて説明しました。ここでは、1部の内容をもとに、JavaScrip…
2017.10.20
4,493