しばらく諸事情により遠ざかっていた Android アプリ開発を再開しようと思っている。 そのウォーミングアップとして Kotlin でスクリプトを書いたりしているのだが、 結構いい感じ。 もちろん普通に JavaVM 上で動く Kotlin で開発しているのだが、 それとは別に Kotlin Native というものがあり たとえば Linux X64 ネイティブ実行できる実行ファイルを生成できるらしい。 かっこいい!と思って調べはじめたのだが、思いのほか難しかった。 とりあえず、テキストファイルを読みとって標準出力するところまでたどり着いたので、 その記録を残す。
» Read MoreKotlin をコマンドラインで使う方法は、 以前のエントリー Kotlin Script が便利 Javaのライブラリも使える でも書いたのですが、 何通りかの方法があるので、整理しました。 Kotlin でライブラリ(jar)をつくり、それを Groovy スクリプトから使うこともできます。
» Read More先日の Cloud Vision API を使う Python3 編 に続いて Spring Boot Kotlin での Cloud Vision API の OCR のコード覚え書きです。
Python で既に書いたコードを Kotlin に移植しました。 Spring Boot は今まで使う機会がなかったのですが、 今回使って良いと思ったのは gradlew bootJar するだけで executable な単一の jar ファイルを生成してくれることです。
ただ Python のようにスクリプトファイルひとつで処理できるような小さな処理に Spring Boot を使うのは気が重いですね。
» Read MoreフォームデータがPOSTされたときのサーバ側でのフォームデータ取得方法 はわかったのだが、GETのときのURLの後ろに追加されるパラメータはどう取得すればいいのか?
» Read MoreフォームデータがPOSTされたときのサーバ側でのフォームデータ取得の記述方法。
» Read MoreHaskell での Map 操作の覚え書き。 身近なポケモンを使ったコードをつくります。
» Read MoreKotlin Script で POI を使ってエクセルデータをつくる。 セルスタイルを設定してやることで、エクセルデータの表現力を増すことができる。 エクセルを人間が扱うものとして考えると、この辺は重要かつ便利な機能ではある。
出来上がりは、こんな感じ:
kotlin script の詳細はこちらのエントリー をご覧ください。
» Read Moreテスト用に json を POST して json を返す ウェブサービスをつくる において、 クライアントで curl を使ってPOSTするときの指定で Content-Type に application/json を使っていた。 もし単なる plain text ポストしたい場合、plain/text を指定したらどうなるのかと試したらエラーになった。
そこで今回は plain/text を POST して plain/text の結果を得る コントローラを micronaut で書いてみることにした。 言語は groovy に代えて kotlin を使います。
» Read MoreKotlin が気軽に使える Kotlin Script 便利です。 インストール方法や使い方の詳細はこちら Kotlin Scripting Examples: kotlin-main-kts usages をご覧ください。
kotlin 関連のインストールがされている前提ですが、以下のように kotlin script を実行できます。
» Read MoreGo言語では first class functions とやらで、関数はファーストクラスオブジェクトであり値のように使うことができる。 そして、この関数の型(どんな型を引数にとってどんな型を返す、という情報)に名前をつけることができる。
» Read Moreパーサーコンビネータについて調べていて、 そもそもその元になる概念としてコンビネータがあることを知る(いまさら?!)。 つまり、パーサーコンビネータはいろいろあるコンビネータの中の一つ。 そして、いろいろあるコンビネータの中でもっとも有名なのが Y コンビネータとか Z コンビネータらしい。 そして、コンビネータを構成するパーツの一つがラムダ(式)とか無名関数であると。
名前付き関数はいつも使っていて、そして名前無し関数(無名関数)も結構使う。 では、ラムダ(式) と無名関数ってイコールじゃないの? と思って調べるもよくわからない。
Wikipedia によると: 「プログラミング言語における無名関数(英語: anonymous functionあるいはnameless function)とは,名前付けされずに定義された関数のことである.無名関数を表現するための方法には様々なものがあるが,近年主流となっているのはラムダ式による記法である.」 ということで、ラムダ式(という概念)をプログラム言語で表現するときに使うのが無名関数(または匿名関数)と考えて問題なさそう。
パーサーコンビネータや Yコンビネータを理解するための最初の一歩としてラムダ式を把握する。
» Read More