ぴんくもひかん 深夜メンテ。
まれであれば遠足気分(?)で楽しかったりしますが、頻繁にあると生活リズムを崩してしまいますし、不慣れな作業なら「もし未知のトラブルに遭遇してサービスを長時間ダウンさせてしまったら・・・」など、不安も尽きません。
本トークでは主にWebアプリケーションのメンテナンスを日中にやるための交渉術や、ユーザー影響を抑えて日中に行うためのテクニックについてご紹介します。
きんじょうひでき JetBrainsのMPSは、外部DSL(ドメイン固有言語)を作成するためのIDEです。
DSLの文法自体を定義し、それをターゲット言語に変換するための仕組みを用意できます。
つまり、「独自の使いやすい文法で書いてもらって、PHPのコードに変換する」ことが可能です。
DSLの利用は、あなたのチームの開発の効率を高めるかも知れません。
余計なことが出来ない・無駄なことを考えなくて良いように、「必要なことにだけ集中する」ための強力なガードレールとして機能します。
必ずしも「独自の文法」を利用する必要はなく、JSONやYAMLを利用したり、あるいはPHPの文法の範疇で書かれた内容でも、多くの場合は事足りるでしょう。
とはいえ、「もっと良い方法」の引き出しがあるに越したことはありません。例えば、非開発者とのコラボレーションの手助けにもなりえます。
(・・・一度はやってみたくなりませんか?)
そして、MPSは普段使っているようなIDEとはかなり様子が違った、
悪く言えばクセが強い、よく言えばクセになるようなIDEです。
公式ドキュメントの表現を借りると、
「テキスト形式を避けることによって他の多くの言語ワークベンチとは一線を画しています。あなたのプログラムは常に AST で表されます。」
と記述されています。ちょっと面白そうだな、と感じませんか?
この独自の世界観を、ちょっと体験できるようなトークをします。
「素朴なDSLの作成」を題材としてウォークスルー的に追体験しつつ、MPSとその基本的な概念について紹介します。
今後ふとした時にちょっと便利な武器になるかもしれない、そんな知識を持ち帰ってください。
roku あなたも Laravel 用のパッケージ(composerライブラリ)を作って公開しませんか?
実際に作成したパッケージを例に、アセットの公開、config や migration の活用、オーバーライド可能な view など、開発者にとって使いやすいライブラリを作るための勘所をご紹介します。