本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはcpanクライアントApp::cpmの開発などで知られる鍛治匠一さんで、テーマは「Perlによる内部DSLの作り方」です。 DSLとは DSL(Domain Specific Language、ドメイン特化言語)とは、ある特定の問題領域に特化したコンピュータ言語のことで、汎用的なコンピュータ言語と対比されます。たとえば、 リレーショナルデータベースへの問い合わせに特化したSQL ビルド手順記述に特化したMakefile cpanモジュール依存記述に特化したcpanfile などがDSLです。 DSLの利点 ではDSLの利点は何でしょうか。次の点が挙げられると思います。 簡潔である 適切なDSLを用いれば、問題を簡潔に記述できます。その結果わかりやすくなり、その問題の重要な部分に集中できます。 クールである 簡潔
The Slides from my talk at GGX 2015 in London. The video of the talk is available on Skills Matter. https://skillsmatter.com/skillscasts/7083-ast-transforms-building-a-simple-game-engine-dsl-for-kids For a short period up until 31/12/2015 the book is available at discount on PacktPub. Discount codes for the book http://bit.ly/1XVgZnC GGX2015ebook 50% off and GGX2015print 30% off.
この記事はKotlin Advent Calendar 2014の7日目の記事です。 昨日は@peko_kunさんによるKotlinでWebをやってみる - Hello Node.ktでした。 Kotlinとは Kotlin (コトリン)とは、IntelliJ IDEAなどのIDEで有名なJetBrains社が中心となって開発が進められているプログラミング言語です。JVM言語のひとつで、コンパイラはJavaバイトコードを出力します。いわゆるBetter Javaという位置づけで、Javaから離れすぎないシンプルな文法が特徴的ですが、Javaの悪しき習慣を招いたり、後方互換を維持するために残っているような文法・機能を削除し、Javaにはない強力な機能を有した言語です。JetBrains社はJavaとの完全な相互運用性と、Javaと同等以上のコンパイル速度、実行速度を目指すと言っています。 K
AnkoというKotlin向けAndroidライブラリがあります。 JetBrainsが開発しています。 先日、公式ブログでもアナウンスがありました。 blog.jetbrains.com 面白くて便利なAPIが揃っていますが、目玉機能はUIレイアウトを構築するDSLでしょう。 このDSLはKotlinコードなわけですが、型安全、NULL安全で宣言的に記述できるのが気持ちいいです。 詳しい説明は上記ブログか、Githubのページをご覧ください。 で、本題です。 サンプルコードを見るとActivityのonCreateの中でDSLをもりもり記述してレイアウトを組んでいます*1。 Activityが肥大化して見通し悪くなったりとか心配してしまいます。 そこで、こんな使い方どうだろ〜ということで考えてみました。 例えばこんなobjectを定義して object MainActivityViews
cURL as DSL¶ github repository Target: Curl Command: Generate Code Reset Result code is printed here. Usage¶ Select target envirionment and type curl command in above text box. You get source code that works as same as curl command. Enjoy! Supported Options¶ It doens’t support fully options of cURL. It supports only options for http 1.x in the following list: [supported options:] --basic Use HTTP
Sustainable Security Requirements with the ASVS Josh Grossman provides a brief overview of what the ASVS is, but takes a closer look at balancing trade-offs and prioritizing different security requirements. Josh shares how to make the process repeatable and how to implement it as part of your own organization's requirements process.
http://xuwei-k.github.io/slides/kowai_scala http://connpass.com/event/4112/ モナド(とScalaz)を説明しようと思った動機 ↓ "怖いScala"という勉強会タイトルだったので(本当はそこまで怖くないのに)必要以上にScala界隈で怖いと思われている(?)モナドを説明しよう ↓ 短い発表時間でモナドのすべてを説明するのは無理なので、少し変わった説明にしよう ↓ 「モナドとは何か?(what)」のみを説明して 「なぜモナドは便利なのか?(why)」「それぞれのモナドはどのように使うのか?(how)」「具体的にどんなモナドがあるのか?」は説明しない ↓ がくぞーさんの、以下のようなtweetがありましたが 比喩は害悪は同意だなー。最近はこの記事がわかりやすいと思ってた。 URL #fud_scala 2013-11-
もうすぐ、specs2がversion2というちょっとややこしい(?)メジャーversionになって出るらしいです。でました。 新機能いっぱいあって自分も把握できてないんですが、その中でも面白いDSLが新機能として入っていたので、それを簡単に紹介します。 英語読める人は、本人がblog書いてるのでこれ http://etorreborre.blogspot.jp/2013/05/the-latest-release-of-specs2-2.html 読みましょう、今回紹介するもの以外にも、網羅的に説明されてます まず、String InterpolationのDSLを説明するまえに、ちょっとspecs2の基本的な形式について説明します。 specs2にはimmutable*1とmutable*2という2つの形式があります。*3 公式のドキュメントからそのまま拝借しますが、 mutableは
Sustainable Security Requirements with the ASVS Josh Grossman provides a brief overview of what the ASVS is, but takes a closer look at balancing trade-offs and prioritizing different security requirements. Josh shares how to make the process repeatable and how to implement it as part of your own organization's requirements process.
先日、 [twitter:@seratch]さんから教えていただいたQuerydslがすごい良かったので記事として書きます。 http://www.querydsl.com/ JPAにおける課題 JPAではJPQLとCriteriaという二つのクエリ記述言語があります。 しかしながら、それぞれ使い勝手という意味では難のあるものでした。 JPQL JPQLは以下のような、SQLライクなクエリ記述言語です。 select new com.github.megascus.EmployeeBean(e.code, e.name, e.age) from Employee as e where name like 's%'SQLライクに記述することができるため、SQLが理解できる人にとっては理解しやすいという利点があります。 しかしながら、JPQL自体はただの文字列で定義する必要があります。 そのた
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く