タグ

dslに関するt2y-1979のブックマーク (10)

  • HaskellとDSL - あどけない話

    LL Planets の「メタプログラミングの光と闇」で Haskell について話してきました。PerlPythonRuby が概ね内部 DSL を作る話だったのに対し、Haskell では外部DSLを内部に埋め込むという話をしました。短い時間で説明不足になった感があるので、この記事で二点ほど補足します。 Haskell では文法がうまく設計されており、コードを書けば自然とDSLっぽくなるので、わざわざ内部DSLなんて言わない。それよりもコンビネータという考え方を学ぶ方が新しい視野がひらけてよい。 Haskell ではパーサーを作るのが簡単。だから自分で言語を作るのも簡単。その言語を外部ファイルから読み込んでもいいし、HERE DOCUMENT のように内部に貼付けることもできる。 関数を二項演算子として扱う Haskell では関数をバッククォートで囲むと二項演算子になります。 i

    HaskellとDSL - あどけない話
  • シェルスクリプトの代替

    要約:決定版はとくにない。 kzys氏のシェルスクリプトを書かないという記事は面白かった。 https://blog.8-p.info/ja/2021/09/15/bash/ シェルスクリプト、ごくたまに書くことはあるが、ほんともう細かい話とかはすべて忘れているし、覚える価値を感じない。いまさら覚える必要のない技術だなと感じる。が、その一方でなかなか代替品がないようなニッチでもある。 自分は必要に応じてPythonRubyか、といったあたりを使うことが多いが(perlはもう書けなくなった)、なかなかこれという感じには思い至らない。なにがいいんだろうね?という。 前提条件:インタラクティブな環境(REPL)はなくてもいい。そこはもう既存のシェルでいい。自動化したシェルスクリプト的なタスク記述を目標とする。bashの置き換えという意味では「どこにでもインストールされていることを前提にしないと

    シェルスクリプトの代替
  • 7 reasons Looker built a new language for data | Google Cloud Blog

    To many people, analytics tools all look the same. Some dashboards, a few reports, a way to slice data. That’s because the real differentiators lie behind the scenes, where the great tools are separated from the merely good ones (and the not so good ones). Behind Looker’s pretty face is something quite revolutionary: LookML. And even though the vast majority of users will never see a line of LookM

    7 reasons Looker built a new language for data | Google Cloud Blog
  • 転職してからやってること - 兼雑記

    転職してからやってるプロジェクトについて何か書いてみようかと思います。 https://github.com/pfnet-research/chainer-compiler/ 公式ぽいブログも書きました。 https://research.preferred.jp/2019/01/chainer%E3%83%A2%E3%83%87%E3%83%AB%E3%81%AE%E3%81%95%E3%82%89%E3%81%AA%E3%82%8B%E9%AB%98%E9%80%9F%E5%8C%96%E3%80%81%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E3%81%AE%E7%B0%A1%E4%BE%BF%E5%8C%96%E3%80%81/ あまり綺麗にまとまった文章を書ける気がしないので、つらつらと時系列で思い出して行こうかと思います。 転職前、 define

    転職してからやってること - 兼雑記
  • Swagger 定義から goa の design を生成する ago という CLI を作りはじめた - tchsskのブログ

    これは Go (その2) Advent Calendar 2016 の 17 日目の記事です。 ここ半年ほど goa というフレームワークを気に入って使っているのですが、思うところがあって goa に関連する ago という CLI を作りはじめました。この記事では、簡単な goa の説明から、今回の開発に至った経緯と、このツールで行えることについて記述します。 goa とは Go でマイクロサービスな Web API を作るためのフレームワークです。 github.com goa の DSL で design と呼ばれる定義を書いたら、 goagen というジェネレータを使ってサーバやクライアントなど各種のコードを生成することができます。毎度リンクを貼らせて頂いているのですが @ikawaha さんによる連載記事が当にオススメです。 ikawaha.hateblo.jp goa 流行ら

  • これからMicroservicesな開発をするならgoaがおすすめという話 - Qiita

    実際にMicroservicesを作る場合の話 必要な要件を並べてみましたが、自分のチームの場合、実際は上記の多くはApplication側で解決せずAWSGCP、その他SaaS, PaaSの提供する機能で解決するようにしており、例えば下記のように対処可能です。 Load balancingはAWS ALB Message QueueはAWS SQS TracingはAWS Xray などなど。 とすると、Microservicesを開発する上で大切になってくるのは、チームが多くのAPIとやり取りするその過程を円滑にすることだと考えており、過去はそこをswaggerで記述してAPIデザインをレビューし合うことで解決しておりました。 ただし、課題としてAPIドキュメントを作成するフローと実際にAPIを作るフローが一連の流れにならない、ツールとして別々な世界の話になっているため、ドキュメント

    これからMicroservicesな開発をするならgoaがおすすめという話 - Qiita
  • The Lemur Toolkit - Indri Query Language Quick Reference

    INTRODUCTION The Indri query language, based on the Inquery query language, was designed to be robust. It can handle both simple keyword queries and extremely complex queries. Such a query language sets Indri apart from many other available search engines. It allows complex phrase matching, synonyms, weighted expressions, Boolean filtering, numeric (and dated) fields, and the extensive use of docu

    t2y-1979
    t2y-1979 2015/03/27
  • Shibu's Diary: cURL as DSLとは何だったのか。あるいは細かすぎて伝わらないcURL as DSL。

    渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 By Jeremy Brooks under CC BY-NC 先日、cURL as DSLというツールを公開しました。その後、何度も同じような質問を受けたりしたので、ブログにまとめてみます。 なぜこのツールを作ったの? RESTfulというものは大分一般的になってきました。HTTPでAPIを提供というのもよく見かけます。ですが、僕はこのRESTfulというやつが嫌いです。 GETのURLをシェアすればいつでも同じページがある(変な状態を持たない)、みたいな思想はいいんですが、HTTPのAPIはどうも使いにくい。ドキュメントのHTTPのサンプルを見て、ドキュメントをじっくり読み込んで、パラメータをJSONやらXMLで組み立ててボディに乗っけて(しかも大抵パラメータがアホのように

    t2y-1979
    t2y-1979 2015/03/24
    おもしろい
  • TypeScript の型定義からコードを自動生成するツールを作った - Qiita

    はじめに プログラマーなら誰しも、YAML や JSON、XML、Excel ファイル、あるいは独自の DSL などで書いた定義ファイルからコードを自動生成するツールを使用した経験があると思います。 でも、JSON、XML を手で書いていくのはつらい。独自 DSL は覚えるのがつらい。YAML も凝ったことやろうとするとカスタムタグとかいろいろ用意したりしないといけなくて、独自 DSL 化してつらい。Excel ファイルは…… ということで、みんな大好き TypeScript の表現力豊かな記法でそういった定義ファイルが書けて、コードを自動生成できたら幸せなんじゃないだろうかと思い、年末あたりに時間をかけて typhen というツールを作ってみました。 今回はそのご紹介です。 使い方 たとえば、typings/definitions.d.ts に下記のようなインターフェイスがあって、そこか

    TypeScript の型定義からコードを自動生成するツールを作った - Qiita
  • Querydsl - Unified Queries for Java

    JPA The popular choice for SQL persistence with a focus on CRUD and simple queries for object loading. more... SQL The alternative SQL abstraction with a focus on SQL operations and the full expressivity of the SQL standard. more...

  • 1