uehaj's blog

Grな日々 - GroovyとかGrailsとかElmとかRustとかHaskellとかReactとかFregeとかJavaとか -

2015-01-01から1年間の記事一覧

React Meets Grails 〜ReactはエンタープライズSPAの夢を見るか?〜

本記事は、G*Advent Calendar 2015の24日目の記事です。 昨日は it__sseiさんの記事で、明日はtouchez_du_boisさんの記事です。 (2016/1/22追記) id:bati11_ さんが、本記事で作成しているボイラープレートコードのReact部分について、ステップバイステップ…

(Babel 5における)ES6のモジュールを解説してみた

警告 以下でのモジュールの説明はトランスパイラであるBabel 5,6で動作を確認した振舞いについての記述です。2015年11月現時点で、ECMAScriptのモジュール仕様策定範囲は、本来の全体範囲のまだ一部であるとのことです。その状況でのBabelの実装は、良く言え…

Reactはリアクティブプログラミングなのか?

Reactとは 設計をとりもどす Reactでやってみる Elm-HtmlとReactの対応 ReactはFRPか? ReactはFPか? FPとOOPの真の関係 まとめ 追記 Reactとは Reactは、Facebookが開発した、JSのUIフームワークもしくはライブラリです。Reactが提供する中核機能は以下です…

JCUnitのBuilder APIをためす

以前、以下の記事で紹介した、JCUnitの開発がすすんでいます。(開発ブログ, ソース) uehaj.hatenablog.com 主な拡張としては、状態機械をモデリングしてテスト生成、ビルダーAPIの整備などなど*1 Spockからの利用サンプルをかきなおしてみました。ビルダーAP…

今こそッ、始めようGrailsブートキャンプ!!!!

以下のイベントが予定されています。 Grails3対応のGrailsブートキャンプです。 Grails3というのが出たタイミングで、ちょっと取り組み直しみよう、という向きに最適です。 jggug.doorkeeper.jp 山本さん(id:yamkazu)NTTSOFTが講師です。 ご興味があればぜひ…

GroovyのクロージャとJava8のlambda式の違いについて

この両者は、似ているようでいて、基本的には別モノです。表にしてみます。 Groovyのクロージャ java8のlambda式 導入時期 2003年 2014年03月 ローカル変数へのアクセス 読み書き可能 実質的にfinal(変数そのものに対しては読み込みのみ) 実装方法 Closure型…

渋谷JVMで「いまさら始めようGroovy」を話しました

昨日、渋谷JVM 渋谷JVM (2015/04/18 13:00〜)d-cube.connpass.com にて発表させていただきました。 アテンドいただきましたコミュニティのみなさん、ビズリーチさま、聞いてくださったみなさん、ありがとうございました。また懇親会ごちそうさまでした(たこ…

TaPLのML実装をRustでやってみるシリーズ まとめ

型システム入門 −プログラミング言語と型の理論−、を読んでおります。 型システム入門 −プログラミング言語と型の理論−posted with amazlet at 15.04.13Benjamin C. Pierce オーム社 売り上げランキング: 336,081Amazon.co.jpで詳細を見る これをちまちまと…

関数型とかの論争について

身と蓋がナッシング まず身も蓋もないことをいうと、結局はCPUの命令セットとして動く言語ですからして、大差はないんですよね。 でもこういうことを言うのは、「どうせ宇宙なんて原子の集合だろ!」という小学生なみです。 なので言わない。でもその認識を捨…

G*Magazine Vol.8に記事をかきました

G*Magazine Vol.8に、Groovy 2.3, Groovy 2.4β4までで導入された新機能の解説記事を書きました。 PDF版もありますが、ブラウザで見れる以下のリンクを紹介します。 Groovy臨機応変(第三回)〜Groovy 2.3の新機能〜 - MyBetaBook Groovy臨機応変(第四回)〜…

G*なWeb API

Grails3もカウントダウンな感じのおり、イベント紹介です。以下引用。 G*ワークショップZは日本Grails/Groovyユーザーグループの定例イベントです。Java仮想マシン上で動作するGroovy、Grails、Gradle、Spock、vert.xといったG*技術をテーマに、ハンズオンや…

Elmでやってみるシリーズ16: マウスストーカーを実装する

「リアクティブプログラミングの技術を用いてマウスストーカーを実装する - はこべブログ ♨」という記事があり、興味深いのでElmのリアクティブプログラミングで似たようなことをやってみました。 全画面表示はこちらから。 コードは以下で、プロジェクト全…

Grails/Groovyのサイトを構築している、名もなき静的サイトジェネレータ

Grails/Groovyのサイトは、静的サイトジェネレータで作成されています。Groovyサイトは去年ぐらいからそうだったのですが、最近Grailsもそうなりました*1。 しかしこの静的サイトジェネレータの名前がわかりません。ソースコード上は、単に「generator/SiteG…

Elmでやってみるシリーズ15: Json.Decodeで9個以上のフィールドを持つobjectをデコードしてみる

本記事では、ElmのコアライブラリにおけるJSONデコードパッケージJson.Decodeを用いて、9個以上のフィールドをもつオブジェクトのデコード方法について説明する。 2015 08 31追記あり(andMapを使用する) その前に その前にJson.Decodeを簡単に説明する。 Jso…

Elmにおけるimportの使い方

Elmにおけるインポートの方法を説明する。本説明が対応するElmのバージョンはElm 0.14かそれ以降、ただしインポートの仕様は今後大きく変更される可能性がある(今後についての関連情報)。 他モジュールで定義され、エクスポートされた識別子(型コンストラク…

「Elmでやってみる」シリーズのまとめエントリ

このブログ記載のElmの記事で、動作するElmの実行プログラムをiframeで貼っていたのですが、いくつも動かなくなっていたので、動くようにしました。 ちなみに動かなくなっていた原因は2つありました。 Elmのコード共有サイトshare-elmの仕様がかわった。対処…

enumに継承を! traitとenumの妙な関係、もしくはGrailsのドメインクラスの選択フィールドを国際化表示するのにtraitが便利

Grailsのドメインクラスにおいて、いくつかの候補の数値のいずれか、というフィールドを作成し、scaffoldで生成した画面からCRUD操作したいとします。簡単なのは、こうですね。 class Domain { Integer something static constraints = { something inList:[…