並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 43件

新着順 人気順

DSLの検索結果1 - 40 件 / 43件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

DSLに関するエントリは43件あります。 rubyプログラミングrails などが関連タグです。 人気エントリには 『DSL作りたいんだけど何もわからないので識者に教えてもらいたい - Lambdaカクテル』などがあります。
  • DSL作りたいんだけど何もわからないので識者に教えてもらいたい - Lambdaカクテル

    トランスパイルするDSLを作りたいが何を読んだらいいのかまだよくわかっていないので、誰か教えてほしい、という記事です。 あらすじ DSL作りたい あらすじ 最近色々な技術を勉強している。具体的にはロガーの実装を読んだりRefinement Typesの勉強をしたりしている。仕事で必要というのが半分、興味半分といった具合で、素振りも兼ねてやっているので結果的に仕事で役立ったりしている。 個人的には、こういう暮らしの勉強みたいなところだと、本業で勉強しなければならないものに加えて、シナジーが生じるような勉強をしたり購買をすると良いのだろうなと思っている。 たとえばラズパイとかN100のマシンを買ってちょっとしたk3sクラスタを作ってみたりするとクラスタ技術の良い勉強になる。さらに電子工作の勉強をしておくとラズパイと組み合わせてIoT的なこともできるようになる。 そんな中、ずっと自分が勉強したい

      DSL作りたいんだけど何もわからないので識者に教えてもらいたい - Lambdaカクテル
    • Rubyでアドベンチャーゲーム用DSL(ドメイン固有言語)を作る | クリエイターのための総合情報サイト CREATIVE VILLAGE

      新しくプロダクト開発を始める時、あなたはどの言語でコードを書くことを選ぶでしょうか? シンプルに、スピーディーに開発が行える言語?メモリ効率や実行速度に優れた言語?はたまた一生使い続けると愛を誓った言語でしょうか。 今回は、そんな言語選定における選択肢としてのDSL(ドメイン固有言語)とその作り方について、Rubyを用いたコードを通して紹介していきます。 大和 拓朗(おおわ たくろう) 株式会社メンバーズ メンバーズエッジカンパニー Webエンジニア 2018年中途入社。SNS分野でのフィード広告運用システム・キャンペーン管理システムの開発に従事。 最近のブームは、リモートワーク定着を口実にしたホームオフィス環境の整備やスマートホーム化。お寿司とドーナツが好き。 GPLとDSL 言語選定は、プロダクトに求められる要件(保守性やパフォーマンス、セキュリティなど)を基準に、言語自体の性質、業界

        Rubyでアドベンチャーゲーム用DSL(ドメイン固有言語)を作る | クリエイターのための総合情報サイト CREATIVE VILLAGE
      • GitHub - mig1984/bashible: Simple bash DSL framework for writing shell scripts safe and agile.

        A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

          GitHub - mig1984/bashible: Simple bash DSL framework for writing shell scripts safe and agile.
        • RubyでDSLが書きやすい理由を整理する - Qiita

          これは何 Rubyは「DSLが書きやすい言語」という説明がされることがあります。 なぜRubyはDSLが書きやすい、と言われるのかを僕なりにまとめてみました。 「こういう要素もあるからだよ」などあればぜひコメントや編集リクエストをいただけると嬉しいです。 DSLの例 DSLとは直訳するとドメイン固有言語です。 簡単なイメージで言うと、「ユーザーが自由に構文に近い仕組みを実装、提供できる」ようなものです。 詳しい説明はWikipediaにお任せします。 RubyやRailsで使われているDSLで有名なものはActiveRecord周りの実装などでしょうか。 例を記載します。

            RubyでDSLが書きやすい理由を整理する - Qiita
          • 社内Ruby会の紹介:Rubyの Kernel#` の気持ちを悪用して面白DSLをつくる - ドワンゴ教育サービス開発者ブログ

            この記事は 『ドワンゴ Advent Calendar 2019』 の 25日目 の記事です。 はじめに Kernel#` について お題:HTMLを組み立てるDSL 実際に動く ` を使ったHTMLのDSLの例 まとめ おまけ はじめに こんにちは、 Ruたん( @ru_shalm )だよ! ドワンゴでは、毎週火曜日に有志による社内Rubyの会「KBKZ.rb」 1 を開催しています。 この会は、決まった何かをしないといけないとか、特定のチームの人しか参加できないと言ったものではなく、最近のRubyの話や、業務のRubyで困ったときの相談など、話をしたい人が自由にRubyに関する技術交流ができる会として開催されています。 例えば以下のような話をしたりします。 こういう gem 使ってみようと思うんだけど何か知見ある? こういうことを実現したいんだけど、いい感じの実装方法あるかなぁ? パイ

              社内Ruby会の紹介:Rubyの Kernel#` の気持ちを悪用して面白DSLをつくる - ドワンゴ教育サービス開発者ブログ
            • Ktorm のクラス設計を読み解いて、DSLを拡張する - ドワンゴ教育サービス開発者ブログ

              はじめに 先日Server-Side Kotlin MeetupのLT大会で登壇してきましたので、その内容をブログ記事でも公開します。 テーマはKotlin製のORマッパー、Ktormのクラス構造と機能拡張についてです。 Ktormの紹介 ktorm.org Ktormは、いくつかあるJDBCベースのKotlin製ORマッパーのうちの1つです。 それらの中でもっともメジャーと思われるExposedと比較すると、次のような特長があります。 シンプルな実行モデル 遅延実行やキャッシュなどの仕組みを持たないので、コードを読んで理解しやすく、SQLの実行タイミング等も把握しやすいです。 生SQLに近いDSL select() で検索条件を指定し slice() でカラムを指定する形式のExposedのDSL 1 に比べて、生SQLに近い文法を採用しており、SQLに習熟していれば少ない認知コストで読

                Ktorm のクラス設計を読み解いて、DSLを拡張する - ドワンゴ教育サービス開発者ブログ
              • 日本のDSLの4年間を振り返る

                国内のDSL事情について言及した記事を本誌で初めて掲載したのは、1996年8月のことになる。「普通の電話線で6~8Mbpsが可能になるADSL技術をNTTは採用するか」と題したレポートがそれだが、この時点では、日本の市内回線でDSLが提供されるという見込みはほとんどなかった。同記事中では、NTTで唯一ADSLの研究を行なっているというNTT光ネットワークシステム研究所研究部長(当時)の山下一郎氏のコメントとして、「NTTはADSLサービスは行なわず、FTTHを敷設することに全力を注ぐ」という方針が紹介されていた。 しかし翌年5月に入って、導入時期について発表できる段階ではないとしながらも、評価実験を進めていることを公表。また、NTTの宮津純一郎社長も、実用性があれば導入することに前向きであるとの考えを示すようになり、ADSLサービスは行なわないとしていたそれまでの方針に変化が見られた。実際

                • gRPC Federation: gRPC サービスのための Protocol Buffers を進化させるDSL | メルカリエンジニアリング

                  Merpay Engineering Productivity Team の goccy です。 gRPC Federation は、gRPC で通信する複数のサービスから得た結果を合成して返すようなサービスを簡単に作成するための仕組みです。DSL ( Domain Specific Language ) を Protocol Buffers 上で記述することで利用します。まずは、GraphQL(Apollo) Federation の gRPC 用のものだと考えるとわかりやすいと思います。2023年8月に OSS として公開し、先日 Public Roadmap を公開しました。2024/6月末を目標に Version 1.0 ( GA版 ) をリリースする予定です。また、最近は Protocol Buffers のエコシステムに参加しました。Protobuf Global Extens

                    gRPC Federation: gRPC サービスのための Protocol Buffers を進化させるDSL | メルカリエンジニアリング
                  • 【ワークマン】DSLプルパーカーとストレッチパンツ購入レビュー - こもれび

                    こんにちわ。 こもれび( @komorevi_net)です。 先日ワークマンに行ってきました。 ここ数年ワークマンは熱いですよ! 今回も良い買い物したな~と思いましたので、 皆さまに戦利品を紹介したいと思います。 レディースDSLプルパーカー レディースストレッチパンツ 防風ダブルボアパッチワークブルゾン 手袋 最後に レディースDSLプルパーカー 色は何色かありました。 黒が欲しかったけど、店舗にサイズがなく断念。 ドラム式洗濯機で乾燥付きで洗っても、 形が崩れません。 ☟フードの形とか保ってて、良いと思いました。 不満な点は、 丈が短いこと。 お尻が隠れません(^^; どうしても気になる場合は、 ☟こちらの商品みたいなものを着るのもアリ! ちなみにこのプルパーカー、 日によって、首回りがチクチクします。 わたしの肌が乾燥してるせいかもしれませんが、、、 わたしワガママボディなのです な

                      【ワークマン】DSLプルパーカーとストレッチパンツ購入レビュー - こもれび
                    • Kotlin Fest 2019 で Deep Dive into Kotlin DSL という発表をした - おでーぶでおでーぶ

                      Kotlin Fest 2019 - connpass 「Kotlinを愛でる」をビジョンに、Kotlinに関する知見の共有と、Kotlinファンの交流の場を提供する技術カンファレンスです。 というカンファレンスで、45分枠「Deep Dive into Kotlin DSL」を英語でやりました。 speakerdeck.com 内容 DSL の基礎知識 Kotlin DSL を記述する上での言語仕様、機能の紹介 DSL を開発する上での Tips Kotlin DSL 自体は別に特別な機能でもなんでもないので、 Deep Dive とは・・・って感じなんですが、DSL の発表になってもそれはまた主旨が違うので、「Kotlin らしさを維持した DSL とはどうやっていくか」みたいな点を出来る限り意識しました。 suspend は取り上げませんでした。継続における中断以外に suspend

                        Kotlin Fest 2019 で Deep Dive into Kotlin DSL という発表をした - おでーぶでおでーぶ
                      • Google App EngineのJava 11アプリをGradleでビルドする(Ktor + Gradle Kotlin DSL) - Qiita

                        Google App EngineのJava 11アプリをGradleでビルドする(Ktor + Gradle Kotlin DSL)KotlinGoogleAppEnginegradleKtorJava11 姉妹記事: Spring Boot版 この記事では、Google App EngineのJava 11ランタイムを使うアプリケーションをGradleでビルド・デプロイする方法を解説します。 この構成は意外と正確な情報がありません。App Engine Java 11ランタイムのサンプルコードはMavenが使われています。Gradleを使うドキュメントもあるものの、プラグインのバージョンが古かったり、不要なはずのwarの設定があったりします。 さらにGradle Kotlin DSLを使う場合の詰まりどころもあるので、Ktor + Gradle Kotlin DSLのGradleプロジ

                          Google App EngineのJava 11アプリをGradleでビルドする(Ktor + Gradle Kotlin DSL) - Qiita
                        • Gradle Kotlin DSL入門 - Qiita

                          Introduction これはQiita Kotlin Advent Calendar 2019 7日目の記事です。6日目は @yt8492 さんのKotlin向けgRPC/protobufライブラリKroto+を使ってみよう、8日目は@nnao45 さんのkotlin製ORM Exposed小技集です。 どうも、株式会社 justInCaseの関連会社であるjustInCase TechnologiesでバイトとしてAWS CDKのラッパーライブラリを自動生成する奴を作ってるトリナーと申します。 Gradle Kotlin DSLはGradle 5.0で正式版になった、GradleのビルドスクリプトをKotlinで書ける機能です。 従来のビルドスクリプトであるbuild.gradleとsettings.gradleはGroovyというJVM上で動作するスクリプト言語を用いていました。

                            Gradle Kotlin DSL入門 - Qiita
                          • GitHub - projectdiscovery/nuclei: Fast and customizable vulnerability scanner based on simple YAML based DSL.

                            Nuclei is a fast, template based vulnerability scanner focusing on extensive configurability, massive extensibility and ease of use. Usage: ./nuclei [flags] Flags: TARGET: -u, -target string[] target URLs/hosts to scan -l, -list string path to file containing a list of target URLs/hosts to scan (one per line) -resume string resume scan using resume.cfg (clustering will be disabled) -sa, -scan-all-

                              GitHub - projectdiscovery/nuclei: Fast and customizable vulnerability scanner based on simple YAML based DSL.
                            • regex-applicative: 内部DSLとしての正規表現(ブログ記事版) - Haskell-jp

                              RegexFestaで発表した内容を詳しく紹介しますPosted by YAMAMOTO Yuji(@igrep) on December 30, 2019Tags: 正規表現 先日、といっても2019年10月18日のことなんでもう2ヶ月以上も経ってしまいましたが、私はRegex Festaというイベントで、「regex-applicative」というパッケージの紹介を致しました。 今回はその際使用したスライドを、ブログ記事として詳しく共有させていただきたいと思います! 発表時のスライドと比べて、よりHaskellを知っている人向けになってしまいますが、regex-applicativeの魅力を明確に伝えるために必要なのでご了承ください。 Applicativeスタイルを前提知識とします。 Link to hereはじめにまとめ regex-applicativeは、Haskellの式で正

                                regex-applicative: 内部DSLとしての正規表現(ブログ記事版) - Haskell-jp
                              • GitHub - launchbadge/sqlx: 🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.

                                SQLx is an async, pure Rust† SQL crate featuring compile-time checked queries without a DSL. Truly Asynchronous. Built from the ground-up using async/await for maximum concurrency. Compile-time checked queries (if you want). See SQLx is not an ORM. Database Agnostic. Support for PostgreSQL, MySQL, MariaDB, SQLite. MSSQL was supported prior to version 0.7, but has been removed pending a full rewrit

                                  GitHub - launchbadge/sqlx: 🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.
                                • GitHub - AndyObtiva/glimmer-dsl-libui: Glimmer DSL for LibUI - Prerequisite-Free Ruby Desktop Development Cross-Platform Native GUI Library - The Quickest Way From Zero To GUI - If You Liked Shoes, You'll Love Glimmer! - No need to pre-install any prerequ

                                  Glimmer DSL for LibUI - Prerequisite-Free Ruby Desktop Development Cross-Platform Native GUI Library - The Quickest Way From Zero To GUI - If You Liked Shoes, You'll Love Glimmer! - No need to pre-install any prerequisites. Just install the gem and have platform-independent GUI that just works on Mac, Windows, and Linux. License

                                    GitHub - AndyObtiva/glimmer-dsl-libui: Glimmer DSL for LibUI - Prerequisite-Free Ruby Desktop Development Cross-Platform Native GUI Library - The Quickest Way From Zero To GUI - If You Liked Shoes, You'll Love Glimmer! - No need to pre-install any prerequ
                                  • 独自の外部 DSL 編集をエディタでサポートする - FLINTERS Engineer's Blog

                                    これは Datadog Advent Calendar 2019 13日目の記事です。 門脇(@blac_k_ey)です。 PYXISのデータ基盤チームでSREっぽいことを行っている傍ら、インフラチームとして横断的なインフラの管理・運用を行っています。 モチベーション 最近PYXISチームではモニタリングツールとしてDatadogの採用が進んでいます。 PYXISのインフラは主にAWSを利用しており、DatadogのAWS Integrationを導入することで各種サービスのメトリクスを取得することが可能になります。 ここで課題になるのが弊社のAWSのアカウント構成です。 PYXISチームのAWSアカウント管理は以下のような構成になっています。 このように、基幹となるAWSアカウントからAssumeRoleを使って、各プロジェクトで利用しているAWSアカウントにログインするという形を取って

                                      独自の外部 DSL 編集をエディタでサポートする - FLINTERS Engineer's Blog
                                    • GitHub - aws-cloudformation/cloudformation-guard: Guard offers a policy-as-code domain-specific language (DSL) to write rules and validate JSON- and YAML-formatted data such as CloudFormation Templates, K8s configurations, and Terraform JSON plans/configu

                                      Guard offers a policy-as-code domain-specific language (DSL) to write rules and validate JSON- and YAML-formatted data such as CloudFormation Templates, K8s configurations, and Terraform JSON plans/configurations against those rules. License

                                        GitHub - aws-cloudformation/cloudformation-guard: Guard offers a policy-as-code domain-specific language (DSL) to write rules and validate JSON- and YAML-formatted data such as CloudFormation Templates, K8s configurations, and Terraform JSON plans/configu
                                      • HiKOKI(日立工機)G18DSL 18Vコードレスグラインダーの修理&レストアとマキタバッテリーへの変換アダプタの自作

                                        外装結構キテる. 回転は「うぃーん…うぃーん…」って感じでよろよろ. ブラシが問題である事は間違いない. が,ブラシキャップは熱で溶着していて,外側から外す事は出来なかった. 分解とりあえず分解してみた. ユニット全体が外れたところ. モーター.切り粉だらけ. バラして各部を徹底的に洗浄する. 筐体も当然ぬるま湯石鹸の後,パーツクリーナーで. ブラシ予備のブラシも購入しているとゆう事で付けてもらったのだが,サイズが全然違う. オリジナルのブラシは熱でプラスチックと融合し,バネも焼きが戻って押さえる力がなくなっていた. ちょっと触ると簡単に折れてしまった. 手持ちのバネを再利用出来ないか検証しているところ. ブラシホルダの自作アリエクで注文したブラシホルダとブラシとブラシキャップのセットが全然届かないので自作する事にした. オリジナルの解けたブラシホルダをヤスリで拡大し,上記のサイズ違いのブ

                                          HiKOKI(日立工機)G18DSL 18Vコードレスグラインダーの修理&レストアとマキタバッテリーへの変換アダプタの自作
                                        • 週刊Railsウォッチ(20201028後編)RuboCop 1.0.0 stable版がリリース、Ruby DSLのGUIフレームワークGlimmer、Keycloakほか|TechRacho by BPS株式会社

                                          2020.10.28 週刊Railsウォッチ(20201028後編)RuboCop 1.0.0 stable版がリリース、Ruby DSLのGUIフレームワークGlimmer、Keycloakほか こんにちは、hachi8833です。 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙇 追記(2020/10/29): 来週の週刊Railsウォッチはお休みをいただき通常記事といたします🙇。 ⚓Ruby ⚓ RuboCop 1.0.0がリリース Changelog: rubocop/CHANGELOG.md at master · rubo

                                            週刊Railsウォッチ(20201028後編)RuboCop 1.0.0 stable版がリリース、Ruby DSLのGUIフレームワークGlimmer、Keycloakほか|TechRacho by BPS株式会社
                                          • Smashtest - スピードに特化した新たなWebアプリテスト用DSL

                                            原文(投稿日:2019/07/26)へのリンク Walt Disneyでテスト担当ソフトウェア開発エンジニア(Software Development Engineer in Test / SDET)のリーダを務めていたPeter Tesler氏は先頃、テストケースを記述し、デプロイするための新たなドメイン固有言語であるSmashtestの、最初のメジャーリリースを発表した。Smashtestでは、開発者が繰り返し実行するテスト作業を言語で簡潔に表現することによる、テスタの生産性向上に重点を置いている。新言語には、テストを並行して実行できるテストランナーやREPLなどの専用ツールが付属している。 Smashtestの大きな新機能は、テストをツリー風の形式で、宣言的に記述できることである。次のSmashtestスクリプトは、Smashtestサイトで紹介されているものだ。 Open Chro

                                              Smashtest - スピードに特化した新たなWebアプリテスト用DSL
                                            • GitHub - AndyObtiva/glimmer: DSL Framework consisting of a DSL Engine and a Data-Binding Library used in Glimmer DSL for SWT (JRuby Desktop Development GUI Framework), Glimmer DSL for Opal (Pure Ruby Web GUI), Glimmer DSL for LibUI (Prerequisite-Free Ruby

                                              DSL Framework consisting of a DSL Engine and a Data-Binding Library used in Glimmer DSL for SWT (JRuby Desktop Development GUI Framework), Glimmer DSL for Opal (Pure Ruby Web GUI), Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI Library), Glimmer DSL for Tk (Ruby Tk Desktop Development GUI Library), Glimmer DSL for GTK (Rub… License

                                                GitHub - AndyObtiva/glimmer: DSL Framework consisting of a DSL Engine and a Data-Binding Library used in Glimmer DSL for SWT (JRuby Desktop Development GUI Framework), Glimmer DSL for Opal (Pure Ruby Web GUI), Glimmer DSL for LibUI (Prerequisite-Free Ruby
                                              • MSPとTagless-finalで作るインタプリタ 実用的なDSL構築のアプローチ

                                                アジア最大級の国際Scalaカンファレンスである「ScalaMatsuri2020」がオンラインで開催されました。そこでビジョナル・インキュベーションの鈴木氏が、Dottyで可能になったマルチステージプログラミング(MSP:Multi-stage Programming)について話しました。後半では、Tagless-finalとマルチステージプログラミングを組み合わせた高性能なDSL構築アプローチについて話しました。前半はこちら。 Tagless-finalとは何か 鈴木健一氏(以下、鈴木):次は、Tagless-finalの話ですね。Tagless-finalはいろいろなところで最近話に出てきていますけれども、Tagless-finalパターンとしての、エフェクトラッパーとしてのTagless-finalの話とはちょっと違って、DSLを構築するところの話ですね。 Tagless-finalが何

                                                  MSPとTagless-finalで作るインタプリタ 実用的なDSL構築のアプローチ
                                                • Build your own DSL with Go & HCL

                                                  DSL stands for Domain Specific Language The main goal of tools such as Kubernetes, Docker compose, Jenkins CI, Gitlab CI, or Ansible, among others, is that their behavior can be customized by configuration. They‘re like a black box that depending on the input (YAML/JSON descriptors), will generate different output. Other tools which belong to HashiCorp, such as Terraform, Vault, or Nomad use HCL i

                                                    Build your own DSL with Go & HCL
                                                  • 独自の外部 DSL 編集をエディタでサポートする - FLINTERS Engineer's Blog

                                                    こんにちは。CTOの河内です。 多くのプロジェクトがスタート時はそうである通り、我々のプロジェクトもAPI仕様がありませんでした。 最初は規模が小さく問題として認識されていなかったのですが、規模が大きくなり、また開発者の入れ替わりを経験するごとに、「この API って何返してくるの?」という問いに答えられる人が段々といなくなってきました。 「ソースが仕様だ」とサーバの実装を読めばもちろん答えられるのですが、ソースコードを読み解く時間がかかるため効率的ではありません。 また、サーバ実装が唯一の情報源となるため、ロジックが何かおかしいと感じても、それが仕様なのかバグなのか判断できない状態でした。 API仕様を先に定義し、通信上の疑問にはAPI仕様で答えられるようにしたかったのです。 これは一般的な課題で、日本CTO協会が2019年12月に公開した DX Criteria DX Criteria

                                                      独自の外部 DSL 編集をエディタでサポートする - FLINTERS Engineer's Blog
                                                    • GitHub - Cosmo/OpenSwiftUI: WIP — OpenSwiftUI is an OpenSource implementation of Apple's SwiftUI DSL.

                                                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

                                                        GitHub - Cosmo/OpenSwiftUI: WIP — OpenSwiftUI is an OpenSource implementation of Apple's SwiftUI DSL.
                                                      • Building DSL with Ruby – Long Live Ruby

                                                        DSL’s around you Before diving into the technical aspects of building DSL in Ruby, let’s explore more examples for domain-specific languages used in popular Ruby solutions and libraries. Database migrations Creating and updating databases with Rails is an effortless and straightforward thing. A special DSL allows you to define columns, types, indexes, and many more. The definition is later transla

                                                        • Railsで通知管理のためのDSLを設計する4つのステップ

                                                          はじめに Railsでの開発を10年以上やって通知まわりのDSLを設計することが何度かあり、DSLの作り方を完璧に理解したので整理して共有します。 通知システムを作る 通知システムは一般に、複雑で全体像が把握しにくいものになりやすい特徴があります。 サービスのグロースでは通知を飛ばすのは一般的な手法ですが、そのために各チームがたくさん飛ばすことになり、全体が複雑になっていき、そして新しく通知を追加するのが困難になっていきます。 通知を追加したときに変化するものと変化しないものを明確にわけ、変化するもののためにDSLを設計することで、通知を追加しやすくかつ管理しやすいアーキテクチャにすることができます。 Step1: 通知システムのスコープを決める まず作ろうとしているシステムのスコープを決めていきましょう。 新しく通知を追加するときを想像して、そのときに必要になる要素を並べてみて、どこまで

                                                            Railsで通知管理のためのDSLを設計する4つのステップ
                                                          • Gradle Groovy DSL から Kotlin DSL への乗り換え方 - A Memorandum

                                                            はじめに スクリプトファイルの命名 Kotlin と Groovy の言語上の考慮事項 Gradle init によるプロジェクト生成 プラグインの適用 プラグインの設定 タスクの構成 タスクの作成 依存の指定 よくある設定 はじめに Gradle 5.0 よりGradle Kotlin DSL が提供され、groovy によるビルドスクリプトを Kotlin で記載できるようになりました。 Kotlin でビルドスクリプトを書くことで、IDEによるサジェストやコードジャンプなどの恩恵を十分に受けることができますし、タイプセーフでありリファクタリングなども容易となるので、これから Groovy のビルドスクリプトを書くのであれば Gradle Kotlin DSL を使うべきです。 ここでは、Groovy DSL と Kotlin DSL の違いと Kotlin DSL でビルドスクリプト

                                                              Gradle Groovy DSL から Kotlin DSL への乗り換え方 - A Memorandum
                                                            • GitHub - amancevice/yake: A Rake-like DSL for writing AWS Lambda handlers

                                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

                                                                GitHub - amancevice/yake: A Rake-like DSL for writing AWS Lambda handlers
                                                              • 有限体の実装5(PythonによるLLVM DSLの紹介)

                                                                初めに 今回はPythonで作ったLLVM DSLを実装します。 記事全体の一覧は有限体の実装一覧参照。 LLVM DSL 多倍長整数の実装8(LLVMを用いたasmコード生成)ではC++によるLLVMコード生成の方法を紹介しました。 あれから同じ機能を持ったPythonによるLLVMコード生成DSLを作ったのでそれを紹介します。 s_xbyak_llvm.pyはDSLからLLVM IRコード(以下ll)を生成するためのPythonツールです。 もともとは、C++でJITを実現するためのXbyakを開発していたのですが、JITじゃなくてもDSLでアセンブラを掛けるのが便利であることが分かってx64用のs_xbyak.pyを開発し(sは静的の意味)、それを今度はLLVMに適用したのです。 PythonによるDSLはコンパイル不要なので楽です。 詳しい説明は先月末に開催されたOpen Sour

                                                                  有限体の実装5(PythonによるLLVM DSLの紹介)
                                                                • Azureには ChatGPT用の DSLが用意されていた - Qiita

                                                                  実際に使ったわけではないのですが、情報をみかけたのでメモです。 (少し試すだけなら、ほぼお金はかからなそうではありますが。。) Azure では OpenAI の AI モデルを利用できる Azure OpenAI Services を提供しています。 OpenAI Services 関連のドキュメント(日本語)が結構公開されているようで、その中に ChatGPT 用の DSL のドキュメントがありました。 あまりこの辺よく知らなかったのですが、 チャット マークアップ言語 (ChatML) と呼ばれる一意のプロンプト形式を必要とします。 ChatGPT にプロンプトを与えるために ChatML という言語を使用するんですね。 ページ中のコードの部分の prompt という引数に ChatML で記述した内容を書いて渡すようになっています。 response = openai.Comple

                                                                    Azureには ChatGPT用の DSLが用意されていた - Qiita
                                                                  • HIW 2019で発表された、Copilotという内部DSLについて - Haskell-jp

                                                                    前回から引き続き、Haskell Implementors’ Workshop 2019への参加レポートとして、私の印象に残った発表を紹介します。 今回は、Copilotという、C言語のコードを生成するHaskell製内部DSLについての発表です。 Link to hereCopilot 3.0: a Haskell runtime verification framework for UAVs 発表者: Frank Dedden Royal Netherlands Aerospace Center, Alwyn Goodloe NASA Langley Research Center, Ivan Perez NIA / NASA Formal Methods Haskell製の内部DSLからC言語のソースコードを生成する、Copilotの紹介です。 似た謳い文句の内部DSLとしてivor

                                                                      HIW 2019で発表された、Copilotという内部DSLについて - Haskell-jp
                                                                    • GitHub - virtualshield/rails-graphql: A fresh, new GraphQL server designed for Rails applications, emphasizing a natural, Ruby-like DSL.

                                                                      rails-graphql is a fresh new implementation of a GraphQL server, designed to be as close as possible to Rails architecture and interfaces, which implies that it has shortcuts, lots of syntax sugar, and direct connection with Rails features like ActiveRecord and ActionCable. This gem has its own parser, written from scratch, using the C-API of Ruby, which empowers it with an outstanding performance

                                                                        GitHub - virtualshield/rails-graphql: A fresh, new GraphQL server designed for Rails applications, emphasizing a natural, Ruby-like DSL.
                                                                      • glimmer-dsl-libui の話 - Qiita

                                                                        GUIへのあこがれ こんにちは。 今日は glimmer-dsl-libui というGUIを操作するライブラリの紹介をします。 GUIっていうのは、パソコンの画面に「ウィンドウ」とか「ボタン」とか出すやつです。 はじめてコンピュータを触れたころ、コンピュータにウィンドウやボタンを表示してオリジナルなソフトを作りたいって思ってませんでしたか? でも現実はきびしくて、猫でもわかるプログラミングのサイトを見て、猫にはわかっても自分にはわからん、と思って諦めていました。 それからずっとプログラミングと縁のない生活を送ってましたが、なぜかRubyに触れたりして Ruby/Tk を使ってウィンドウを出せるようになりました。 けれどもTkには問題がありました。一つは、Ruby本体からTkが切り離されてしまったことです。これで、RubyをインストールすればTkが動くという前提がなくなりました。もう一つは、

                                                                          glimmer-dsl-libui の話 - Qiita
                                                                        • How We Built a Custom Permissions DSL at Figma | Figma Blog

                                                                          When our permissions system came apart at the seams, everything came to a halt. This is the story of how we fixed it while improving performance, accuracy, and developer ergonomics. Collaboration is core to Figma. It’s why we built Figma on the web, and why multiplayer is such an important part of the Figma editor. This focus on collaboration also means that our permissions rules are complex—decep

                                                                            How We Built a Custom Permissions DSL at Figma | Figma Blog
                                                                          • あなたの知らない Gradle の kotlin-dsl プラグイン - mike-neckのブログ

                                                                            やんくさんに頼まれたので、誰かが書くだろうと思って待ってたけど誰も書かない Gradle の kotlin-dsl プラグインについて書きます。 @mike_neck mikeさんアドベントカレンダー書くネタあったりしませんか?👉👈https://t.co/ZDwmyBpbC0— やんく (@yy_yank) 2020年12月12日 まず、先日(2020/12/11)開催された JJUG ナイトセミナーにて、時間がないのでほぼ飛ばしてしまった、こちらの話題について解説します。 build.gradle(build.gradle) の中で if 文(Kotlin だと式ですね)とか for 文(こっちは式だったっけ?)を書くと、宣言的なコード(例えば依存ライブラリーの宣言など)と命令的なコードが混在してしまいます。そのため、ビルドスクリプトを読むために頭の切り替えが必要になるのでメンテナ

                                                                              あなたの知らない Gradle の kotlin-dsl プラグイン - mike-neckのブログ
                                                                            • Free Monadで言語内DSLをつくろう - 雨粒blog

                                                                              抽象構文木の構築とその評価の分離 インタプリタやコンパイラでは最初に、コードの文字列を構文解析して抽象構文木 (AST) を構築する。その表現形式はDAGやSSAなどに変化して行くことも多いが、基本的にはこれらの中間表現に対して様々な最適化がほどこされる。インタプリタの場合にはこれが評価され実行されるが、コンパイラの場合にはこれがアセンブリの命令に置き換えられ、スケジューリングされ、レジスタが割り当てられ、最終的にはバイナリが生成される。こうした構文解析や構文木の構築と、中間表現の最適化、その評価の分離は、各工程をそれぞれ独立に作成し、必要に応じて取り替えられるという意味で、とても便利だ。 言語内DSLの処理系をそこまで重くするのは本末転倒感があるが、少なくとも構文木を構築しその評価と分離することは、抽象化の手段として適切な場合もあると思う。Haskellでは、言語内DSLのコードとその評

                                                                                Free Monadで言語内DSLをつくろう - 雨粒blog
                                                                              • 週刊Railsウォッチ(20210511後編)AWS Lambda関数ハンドラをDSLで書けるyake gem、VPC Peeringが同一AZ転送量無料化ほか|TechRacho by BPS株式会社

                                                                                週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙇 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Ruby 🔗 yake: AWS Lambda関数ハンドラをrake風に書ける(Ruby Weeklyより) つっつきボイス:「いぇーく?」「なるほど、

                                                                                  週刊Railsウォッチ(20210511後編)AWS Lambda関数ハンドラをDSLで書けるyake gem、VPC Peeringが同一AZ転送量無料化ほか|TechRacho by BPS株式会社
                                                                                • Kotlinを用いたDSL的な設計手法と使用上の注意

                                                                                  サーバーサイドKotlin LT大会 vol.11 の発表資料です。 https://server-side-kotlin-meetup.connpass.com/event/309183/

                                                                                    Kotlinを用いたDSL的な設計手法と使用上の注意

                                                                                  新着記事