Gleyzer両氏によって共同開発されました。2019で、同言語の発表を行いました。InfoQはPurdy氏に言語と、氏らが解決を目指した問題について聞きました。設計/アーキテクチャアジャイルマニュフェスト:ソフトウェアアーキテクトの視点ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。ソフトウェア開発のマニフェストたゆまず息もつかずに市場に突進することで、会社を静かに消滅の崖っぷちへと追い込みます。それは設計してコードを書く方法を再考する時です。簡単さへの投資は、速さへの投資です。簡単さは知的財産の主鉱脈でもあります。競争上の優位性は、一度失ったら、もう一度手に入れることはほとんど不可能です。Buytaerts氏が過去10年間にわたって、企業がDevOps採用のハイプサイクルをくぐり抜け、変革に対する誤解を解消する過程を支援してきた経験について語ります。Appsのパフォーマンス向上にある。重視されているのが、起動パフォーマンス、ダウンロードサイズ、メモリ消費量だ。Officeと、Slackに代わるオープンソースの代替品であるMattermostを使った最初のベンチマークで裏付けられている。Hermesは、モバイルアプリのパフォーマンスの改善を目指すFacebookの活動から生まれたものだ。Facebookのエンジニアたちが突き止めた重要な要因のひとつに、JavaScriptエンジンそのものがあったことから、携帯電話アプリの制約された環境における最適化が目標とされた。いくつかの選択肢を検討した結果、Hermesという、新たなJavaScriptエンジンを開発しました。Nativeアプリに注目することによって、量販デバイスの制限されたメモリ、遅いストレージ、低い計算能力という条件下において、アプリのパフォーマンスが向上するように設計されています。前述のようにHermesは、アプリが使用可能になるまでに必要な時間(最初のインタラクションまでの時間、TTI)、アプリのダウンロードサイズ(APKサイズ)、メモリ使用率の3つの指標に焦点を当てている。Facebookは、これらのメトリクスを改善するために実施したアーキテクチャ上の重要な決定として、JavaScriptソースコードのプリコンパイル、JITコンパイラの廃止、モバイルOSの制約に対するガベージコレクション、の適合の3つを挙げて説明している。JavaScriptをバイトコードにプリコンパイルすることには、パフォーマンス上、2つの重要なメリットがある。ひとつは、解析とコンパイルを事前に行うことで、起動時にこれらのタスクに費やされる時間を直接的に節減できることだ。ひとつは、プリコンパイルフェーズでは時間的制約が緩やかであることから、一般論としてより小さく、より効率的なバイトコードの生成が可能になることだ。コンパイラは関数重複の削除や、文字列テーブルのパッキングなど、プログラム全体の最適化を行うことができる。バイトコードの形式に関して、Hermesのバイトコードは、ファイル全体を事前に読み取らなくても、メモリにマッピングすることが可能になっている。これにより、アクセスの遅いフラッシュメモリでの動作が大幅に改善されると同時に、アプリ変更がメモリの過剰使用によってOSから強制終了させられるリスクを低減できる。(画像はFacebookブログより)さらに、Facebookの主張によれば、JITコンパイラの主なメリットは、モバイルアプリでは一般的ではない、CPU集約型のワークロードに向けられている。従って、JITコンパイラを使用しなくても大きな損失はなく、逆にウォームアップ時間やネイティブコードのサイズ、メモリ消費量を低減することが可能になる。モバイルアプリのための最後のパフォーマンス最適化として、Hermesでは、メモリ使用量が原因でモバイルOSによってアプリケーションが強制終了される可能性を最小限に抑えるガベージコレクション戦略を採用している。これに従い、Hermesのガベージコレクタでは、移動や不要時にOSに返却が可能な、不連続なチャンクにオンデマンドアロケーションを実装することによる、全体的な仮想メモリ消費量の削減を試みている。前述のように、FacebookとMicrosoftがそれぞれ独自に行った最初のベンチマークでは、3つのすべてのメトリックが大幅な向上を示している。Slackの代替であるMattermostでは、インタラクション時間とアプリケーションサイズが半減し、全体的なメモリ使用率が25%削減された。Officeでも、すべての指標において20~25%の範囲でパフォーマンスが改善されている。(画像はFacebookブログより)Facebookは、この新しいJavaScriptエンジンのターゲットを、V8の汎用的な代替には置いていない。Nodeやブラウザベースのアプリには、V8が依然として最も適している、という考えだ。SDKに含まれるJavaScriptエンジンのみを使用するように拘束されているため、Hermesによる最適化の恩恵を受けることができない。この点にも注意が必要だ。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。よい世界へ私たちが暮らす世界を大切に思い、よりよいものにしたいと考えています。人のためのソフトウェア開発を加速し私たちのミッションを実現することで、この思いを成し遂げようとしています。私たちは利益の1%をさまざまな慈善団体に寄付しています。会社として、また従業員として、そうしたことの価値を強く信じているからです。with.プライバシーBTあなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。アドレス*Eメールを変更すると確認のメールが配信されます。会社名:現在の会社名をご入力ください。Other組織規模:現在の組織規模をご入力ください。2,501+国:現在の国を設定してください。Zimbabwe都道府県:現在の都道府県に設定してください。次の都道府県にアップデートする:ニュースレターを購読しますか?インダストリーメールを購読しますか?本Eメールに登録すると、以前より関心のあったトピックの関連情報をお送りする場合がございます。詳細はこちらのプライバシーポリシーをご覧ください。newsletter?新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。