Gleyzer両氏によって共同開発されました。2019で、同言語の発表を行いました。InfoQはPurdy氏に言語と、氏らが解決を目指した問題について聞きました。設計/アーキテクチャアジャイルマニュフェスト:ソフトウェアアーキテクトの視点ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。ソフトウェア開発のマニフェストたゆまず息もつかずに市場に突進することで、会社を静かに消滅の崖っぷちへと追い込みます。それは設計してコードを書く方法を再考する時です。簡単さへの投資は、速さへの投資です。簡単さは知的財産の主鉱脈でもあります。競争上の優位性は、一度失ったら、もう一度手に入れることはほとんど不可能です。Buytaerts氏が過去10年間にわたって、企業がDevOps採用のハイプサイクルをくぐり抜け、変革に対する誤解を解消する過程を支援してきた経験について語ります。原文(投稿日:2014/10/31)へのリンクGitHubでの1年以上の発展期間を経て,プロジェクトStreamsはWHATWGによって,WebストリーミングAPIの標準化作業に採用されることになった。6の一部となったPromisesの頃から作業に携わっている人物だ。APIの目的は,"データストリームを生成,構成,使用する"ために,低レベルのI/Oプリミティブへのマッピングを提供することにある。これらはつまり,ファイルI/Oやソケット,マルチメディア,あるいはプロセス間通信といった,より高レベルな他のAPIの基盤として使用可能な生のストリームなのだ。その背景には,Web上のデータ全体をメモリにフェッチしすることなく,必要に応じたデータへのアクセスと取得できなくてはならない,という事情がある。"Transform"という,3タイプのストリームが提案されている。ReadableとWritableストリームのユースケースは自明だが,もうひとつのTransformストリームは,データのオンザフライでの暗号化/復号化,イメージの圧縮/展開,あるいはビデオへのフィルタ適用などで使用するためのものだ。ストリームが扱うのはデータのチャンクである。チャンクは,ストリームの処理するデータの基本ユニットを表すものだ。チャンクの内容はバイナリでもテキストでもよい。異なるタイプのチャンクを組み合わせることもできる。オブジェクトデータを処理の対象にすべきかどうかは,今でも議論されている部分だ。ストリームは,その基礎となるソースを取り囲むラッパである。Readableストリームでは,そのようなソースとして2つのタイプがある。ユーザに対してデータをプッシュするとともに,プッシュ処理の停止と再開のメカニズムも備える。ユーザからの要求を基本として,同期ないし非同期モードでデータを提供する。ストリームはこれら2つのタイプのソースの上に,統一されたインターフェースを提供する。プロデューサ(Producer)が,Writableストリームにデータを送る。ストリームは連続的な書き込みをキューし,それをひとつずつ,その基礎となるシンクに引き渡す。Transformストリームは,ReadableストリームとWritableストリームのパイプとして動作する。複数のTransformストリームをひとつにまとめて,パイプチェーンを形成することも可能だ。パイプはシグナルに基づくバックプレッシャ機構を備えていて,ストリームのひとつがオーバーロードになると,それが全体に通知される。ストリームはそれぞれ,バッファリングアプローチを利用したデータ処理を行う。次のストリームあるいは基礎となるシンクに対する変換を実行する順番が回ってくるまで,チャンクをキュー内に保持しておく。これらのキューを使ったキューイング方法によって,バックプレッシャ機構が実現されている。キューイング方式は,例えばストリームのひとつが3つ以上のチャンクをキューに持った場合に,バックプレッシャを発生させる,というようなものだ。5に変換された,リファレンス実装とテストが提供されている。Chromiumにストリームサポートを追加する初期段階の実装もある。我々はDenicola氏から,プロジェクトに関する詳しい情報を聞いた。ストリームが有用であることは承知していますが,すでにWeb上の至るところにあります。確かに多くのWebサイトで,基本技術として使われています。どれも開発者が操作できるようなものではありません。XMLHttpRequestを行う場合,その応答データを取得するには,そのすべてを一括してメモリに格納する以外に方法がないのです。これはつまり,例えばブラウザで<video>ストリーミングなどの実装にストリーミング技術を利用しようとしても,開発者自身がXMLHttpRequestを使ってそれを行う手段が存在しない,ということになります。Standard)の考え方は,おそらくはすでに利用されてはいるものの,開発者がアクセスを許されていない基本部分のストリーム機能を改めて公開する上で,共通のJavaScriptデータタイプを提供する,ということにあります。実際に私たちは,次のTC39ミーティングでその話をするつもりです[1]が,少し迷っています。それは別として,I/Oストリームそれ自体は十分に抽象化されていますし,仕様としても,環境に依存しないような方法で記述されています。大規模な標準ライブラリを備えた言語,例えばC++やJava,C#などは,ストリームを組み込みで備えています。それに比べて,ECMAScriptの標準ライブラリは昔から規模が小さい上に,言語レベルのプリミティブを重視したものでした。I/Oのようなものには,あまり関心が払われていなかったのです。ストリームのようなものは前例がありませんし,多少は物議を醸し出すかも知れませんね。実装はブラウザに限らず,たくさんのJS環境に存在するようになるでしょうね。初期化を扱うECMA-402は完全に独立した仕様ですが,さまざまなJS環境で実装されています。URL標準[3]はNode.jsのURL解析ライブラリより後で開発されたものですが,将来的にはNodeの実装の方が,URL標準に合うように更新されるのではないかと期待しています。Fetch標準[4]のようなものであっても,理屈から言えば,HTTP要求を処理する標準的な方法として,たくさんの異なるJS環境に実装できるはずです。MicrosoftとMozillaとは積極的に話をしています。どちらも自分たちのブラウザでストリームをサポートすることに,強い関心を持っているのです。初期の段階ですが,たくさんの支援を受けています。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。よい世界へ私たちが暮らす世界を大切に思い、よりよいものにしたいと考えています。人のためのソフトウェア開発を加速し私たちのミッションを実現することで、この思いを成し遂げようとしています。私たちは利益の1%をさまざまな慈善団体に寄付しています。会社として、また従業員として、そうしたことの価値を強く信じているからです。with.プライバシーBTあなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。アドレス*Eメールを変更すると確認のメールが配信されます。会社名:現在の会社名をご入力ください。Other組織規模:現在の組織規模をご入力ください。2,501+国:現在の国を設定してください。Zimbabwe都道府県:現在の都道府県に設定してください。次の都道府県にアップデートする:ニュースレターを購読しますか?インダストリーメールを購読しますか?本Eメールに登録すると、以前より関心のあったトピックの関連情報をお送りする場合がございます。詳細はこちらのプライバシーポリシーをご覧ください。newsletter?新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。