Gleyzer両氏によって共同開発されました。2019で、同言語の発表を行いました。InfoQはPurdy氏に言語と、氏らが解決を目指した問題について聞きました。設計/アーキテクチャアジャイルマニュフェスト:ソフトウェアアーキテクトの視点ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。ソフトウェア開発のマニフェストたゆまず息もつかずに市場に突進することで、会社を静かに消滅の崖っぷちへと追い込みます。それは設計してコードを書く方法を再考する時です。簡単さへの投資は、速さへの投資です。簡単さは知的財産の主鉱脈でもあります。競争上の優位性は、一度失ったら、もう一度手に入れることはほとんど不可能です。Buytaerts氏が過去10年間にわたって、企業がDevOps採用のハイプサイクルをくぐり抜け、変革に対する誤解を解消する過程を支援してきた経験について語ります。Technologyの准教授で、「プログラム変換と生成」(source)を教えている。Engineering」(WebDSL:ドメイン固有言語エンジニアリングにおけるケーススタディ)という論文(PDF・英語)を書き終えたばかりだが、この論文ではWebDSLの設計ならびに実装を調べ直している。この論文には「ドメイン固有言語エンジニアリング」プロセスに関する導入部分が2つと、WebエンジニアリングのソリューションとしてWebDSLを評価し、関連するDSLエンジニアリング・アプローチや言語エンジニアリングの研究課題を論じる考察部分が3つあります。WebDSL(source)は、リッチなデータモデルを使って動的Webアプリケーションを開発するためのドメイン固有言語である。根本的なターゲットアーキテクチャはJBossのSeamをベースにしている。Visser氏は2007年12月にWebDSL初のアルファリリースを発表した。Visser氏はDSLを次のように定義している。DSLとは言語、すなわち、正式に定義されたシンタックスとセマンティクスを持つ、テキストもしくはビジュアルで表記された文の集まりである。DSLは、低レベルの実装の詳細や、ことによると実装プラットフォームの詳細事項からの抽出という意味において、高レベルである。DSLはソフトウェアの実装をサポートすべきものである。DSLのコンセプトと抽象概念は、特定のドメインに関連している。Visser氏が見るところのDSLの目標は次のとおりである。...低レベルのボイラプレートコードから抽出することにより、ソフトウェアエンジニアの生産性を向上させること。メソッドとクラスのような、汎用プログラミング言語の従来の抽出メカニズムでは、もはや新規抽出レイヤの作成には不十分です。ライブラリとフレームワークは機能性のカプセル化に長けていますが、開発者がその機能性に到達するために使わなければならない言語、すなわちアプリケーション・プログラマーズ・インターフェース(API)は扱いにくいことがよくあります。場合によっては、APIがより適した言語をサポートすることもありますが、そうすると言葉はライブラリ呼び出しに渡される文字列リテラルの形をとり(たとえばSQLクエリ)、セマンティクスは言うまでもなく、シンタックスも、ホスト言語がチェックすることはありません。Visser氏は以下が必要と主張している。...DSLの設計および実装の技術のみならず、その技術を使うための方法論。言語設計および言語実装における一般的な問題にどのように取り組むかを開発者に示す、ガイドラインや設計パターン、再利用可能なDSLコンポーネントのコレクションです。言いながらも、氏は次のように特に言及している。Webアプリケーションのエンジニアリングはかなり成熟した分野であり...このドメインはDSL開発にぴったりの環境にあります。タスクの自動化:[JavaサーブレットおよびJSF]にもかかわらず、Webプログラミングには往々にして相当量のボイラプレートコードが必要です。;表記法:現在のプラットフォームは様々な関心事を扱うしばしば冗長な言語の混合物を提供しており、この混合物は統合されていません。検証:Webアプリケーション技術が統合されていない結果、実装が静的に検証されません。GUI構築:[JSP式のフレームワークには頻繁に]テンプレートが生成したHTMLコードの構造に関する知識が欠けているため、よい形式とは言えないドキュメントをいとも簡単に生成してしまいます。場合でさえ]テンプレートは非常に冗長であり、低レベルの詳細を取り上げています。分析と最適化:たとえば、データベースクエリをWiedermannおよびCook流に最適化[108]すれば、生成したクエリの調整を手動に頼ることなく、アプリケーションのパフォーマンスを改善する上で役立つかもしれません。.Visser氏は3つのDSL設計パターンを確認している。プログラミングパターンの検出コア言語の設計コア言語に加えて構文抽象の構築WebDSLについてVisser氏は、テキストのデータモデルDSLの定義から開始している。コードでエンティティ定義を変換する。その後、View/Edit(ビュー/編集)DSLを展開させるが、このDSLからJSFページとSeamセッションBeanを生成する。この後は、カスタマイズ可能なView/Editページやコレクション、複雑な関連付けを導入することにより、WebDSLを拡張して「適用範囲を拡大」することができる。Visser氏の報告によると、生成されたコード行をDSLの行で割った比率が100を超えていると、ジェネレータ改善の余地がある。氏の論文は、言語エンジニアリング・パラダイムと言語エンジニアリングの課題、そしてとりわけ「モデルマイグレーション」に関する議論へと続く。Visser氏は自身の経験に基づき、以下を推奨している。DSL[の開発を開始]...アプリケーションドメインを十分理解し、ドメイン内にシステム用のコードベースが相当規模で存在する場合。プログラムの比較的大きなチャンクをパターン候補として検討することから始めること。技術を研究、理解し、一般的なパターンを見分けること。早い段階に基本的なジェネレータを準備してください。シンタックスを特殊化しすぎないこと。始めからコア言語を識別しようとはしないでください。結果が目標の技術に接近しすぎることにもなりかねません。簡潔な表現を可能にする構文抽象を用いてコア言語を拡張すること。コードベースの組織化向けのモジュールやDSL断片の上位に位置するパラメータ付き抽象など、ライブラリを構築する機能を入れるようにしてください。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。よい世界へ私たちが暮らす世界を大切に思い、よりよいものにしたいと考えています。人のためのソフトウェア開発を加速し私たちのミッションを実現することで、この思いを成し遂げようとしています。私たちは利益の1%をさまざまな慈善団体に寄付しています。会社として、また従業員��して、そうしたことの価値を強く信じているからです。with.プライバシーBTあなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。アドレス*Eメールを変更すると確認のメールが配信されます。会社名:現在の会社名をご入力ください。Other組織規模:現在の組織規模をご入力ください。2,501+国:現在の国を設定してください。Zimbabwe都道府県:現在の都道府県に設定してください。次の都道府県にアップデートする:ニュースレターを購読しますか?インダストリーメールを購読しますか?本Eメールに登録すると、以前より関心のあったトピックの関連情報をお送りする場合がございます。詳細はこちらのプライバシーポリシーをご覧ください。newsletter?新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。