算譜王におれはなる!!!!

偏りはあると思うけど情報技術全般についてマイペースに書くよ。

Kotlin

Kotlin未実装の機能(予想)

はじめに この記事はKotlin Advent Calendar 2014の11日目です。 昨日はyy_yankさんの【これは便利】知っててよかったKotlinのenum #ktac2014でした。 当アドベントカレンダーの記事ではありませんが、id:ayato0211さんが今日Kotlin のドキュメントが新しく…

Kotlin Advent Calendar 2014

ついにアドベントカレンダーの季節になってしまいました。 一寸の光陰軽んずべからずという言葉を胸に来年は生きたいと思います(さっき終わらせた冬コミの原稿を見ながら...)。 この記事はKotlin Advent Calendar 2014の1日目のエントリです。 まだまだ空き…

Kotlin M9まとめ

昨日のエントリで話したPlatform Type以外のM9で改善された言語機能について紹介するよ。 Non-local returns コードの通りです。 関数リテラル内でのreturnが出来るよって話。 このコードを実行すると「1」だけ表示される。 fun main(args: Array<String>) { invoke </string>…

Kotlin M9で追加されたPlatform Typeの話

Kotlinマイルストーン9がリリースされた! M9 is here! | Project Kotlin KotlinのNull-safetyは死んでしまったのかい?— たろう (@ngsw_taro) 2014, 10月 16 これについて。 Javaのメソッドの戻り値の型がPlatform Typeって呼ばれる特殊な感じになったらし…

Kotlinでだって型クラスしたい!

無理です。 でもAdapterパターンをいい感じに使えばそれっぽいことができます。 したいことは既存のクラスに触らずにインタフェースを追加したいのでAdapterパターンなのです。 /** 人です。名前を持ってます */ class Person(val name: String) /** 挨拶で…

第2回 かわいいKotlin勉強会を開催しました #jkug

@ngsw_taro Kotlin勉強会しましょう(突然)— 京都 (@hotchemi) May 6, 2014 ということで約1年振りにKotlin勉強会を開催しました。 今回はリクルートマーケティングパートナーズ様に会場をお借りしました。 とてもお洒落で落ち着いた雰囲気の会場でした。 準…

天下一altJS武闘会でKotlinの発表してきた #tenka1altjs

今日、天下一altJS武闘会でaltJSとしてのKotlinについて発表してきた。 発表時間、足りなかった。。 反省。。。

KotlinのNullable型をモナドっぽくしてみた

昨日、@seri_kさん主催の第五.五回 #渋谷javaに参加しました。そこで「Kotlin Nullable型をモナドっぽくしてみた」というタイトルで発表させていただきました。その内容をもう少し詳しく解説したいと思います。なおタイトルに含まれている「モナド」という言…

Kotlin M7でインライン関数がサポートされたよ〜

Kotlin M7公開 本日Kotlin M7が公開されました。 http://blog.jetbrains.com/kotlin/2014/03/m7-release-available Kotlinプロジェクト開始当初(たぶん)から仕様に盛り込まれていた インライン関数 がついに実装されました! インライン関数とは inlineアノ…

KotlinでAndroidアプリ開発: Viewのインジェクションを実現する

AndroidAnnotationsはKotlinでは使えない アノテーションを付けることでボイラープレートなコードを削減するツールであるAndroidAnnotationsは僕にとってもはやAndroidアプリ開発で欠かせないツールとなっています。AndroidAnnotationsを使ったサンプルコー…

Kotlin用DIフレームワークをつくってみた

つくってみました。 その名もInjeKTor。 この名前かなり気に入ってます。 全コードはこちら→https://github.com/ntaro/InjeKTor 以前書いたエントリでKotlinの委譲のための機能を紹介しました。 これを活かすためにコンストラクタ・インジェクションを行いま…

KotlinでDSLを作るときに活躍する5大言語機能

メリークリスマス!とか言いつつ、このエントリは、Kotlin Advent Calendar 2013の2日目分のエントリです。空きを放置はしたくないので過去分をやります。まだ枠はあるのでやりたい方はぜひ!! Kotlinは内部DSL (Internal Domain Specific Language) を記述…

KotlinでDIして遊ぶ

Kotlin Advent Calendar 2013 10日目のエントリです。 依存性注入したい タイトルの通り今回はKotlinでDIに挑戦。DIコンテナ使うんでなく素のKotlinでやってみる。難しいことをやろうとしているのではなく、責任外の処理を別のオブジェクトに委譲してユニッ…

Kotlinでカリー化と関数部分適用

Kotlin Advent Calendarの5日目。まだ空きだらけなので2回目やるよ。今日は以前少し書いた内容をもっと見て行こうと思う。 カリー化 Kotlinにおける関数オブジェクトをカリー化する。あたかも最初からカリー化されてるように見せるためにこんなコードを書く…

Kotlin Advent Calendar 2013

はじめに 12月です。アドベントカレンダーの季節です。1年あっという間ですね。 去年は全部俺のKotlinアドベントカレンダーをやりました。 1年前と比べるとKotlinの知名度はだいぶ上がったと思いますが、それでも身近なKotlin使いはなかなか増えず。。という…

JJUG CCC 2013 FallでKotlin宣伝してきたよ〜 #jjug_ccc

JJUG CCC 2013 Fallに参加してきた。 JVM言語パネルディスカッションでKotlin代表で登壇させていただいた。 パネルディスカッション、初めての体験だった。 台本とか筋書きがあるわけでもないので、普通の発表よりも緊張倍増。 でもモデレータの方や他の登壇…

KotlinでDBアクセスしてみた(原始的な方法、標準ライブラリ、3rdパーティライブラリ)

練習用のテーブル create table articles( id integer primary key, title varchar(20) not null, author varchar(20), content text not null ); 原始的な方法 Javaと同じ方法でゴリゴリ書く。

KotlinのConcurrencyライブラリを使う

スレッドを生成する Javaの標準ライブラリを使えばこんな感じ。 fun main(args: Array<String>) { Thread(object: Runnable { override fun run() { println("Done.") } }).start() } 実は、1つの抽象メソッドを持つインタフェースのインスタンスはより簡単に書ける*</string>…

第1回かわいいKotlin勉強会を主催したよ〜 #jkug

7/26にKotlinの勉強会を@hotchemiさんと主催した。 第1回 かわいいKotlin勉強会 #jkug on Zusaar 勉強会開始直後こそ緊張と沈黙の空気だったものの、全体的には楽しく笑いの起こる雰囲気だった。懇親会は@yusukeさんに手伝ってもらったおかげで大盛り上がり…

Kotlin M5.3発表:Delegated PropertyとCallable Reference(あと勉強会開催します #jkug)

Kotinのマイルストーン5.3が発表されました。 Kotlin M5.3: IntelliJ IDEA 13, Delegated Properties and more | Project Kotlin IntelliJ IDEA 13への対応と、間もなくAndroid Studioにも対応すること、コンパイラの性能改善とIDEの機能増強について言及さ…

あまり知られていない? #Kotlin の対話型評価環境

Kotlinは簡単に始められるプログラミング言語です。 Kotlin Web DemoはWebブラウザ越しに使えるKotlin開発環境です。 インストールや設定は不要で、サイトにアクセスするだけですぐに使えます。 ちょっとした実験的なコードを試すには持って来いの環境です。…

#日経ソフトウエア に #Kotlin の記事書いたよ〜

日経ソフトウエア2013年5月号にKotlinの記事を執筆させていただきました! ちょっと真面目な内容ですが、Kotlinの面白さを伝えられたら嬉しいです。 ぜひ読んでみてください! そしてレッツ・ことりん!! 日経ソフトウエア 2013年 05月号作者: 日経ソフトウ…

Kotlinで関数の合成と部分適用

Haskellでは関数の部分適用とか関数の合成ができますが、その仕組みをKotlinでも再現しようという実験、という名の遊びです。 案外うまくキレイに出来ました。 関数の部分適用 次のような拡張関数を用意して、実現しました。 fun <X, Y, R> Function2<X, Y, R>.invoke(x : X) =</x,></x,>…

#kotlin のWebフレームワークKara でTODOアプリをつくる:インストールからプロジェクト作成まで

はじめに とってもKoolな言語Kotlinと、それ向けに登場したWebフレームワーク Karaを使ってTODOアプリケーションを作ろうという試みです!Karaに関する簡単な紹介は以前書いたエントリをご覧ください。 なぜTODOアプリなのかというと、DB使うし、UIも最小限…

KotlinでDSLを作ってみた

DSL (Domain Specific Language) と言うとちょっと大げさだけど、試しにJSONビルダーをKotlinで作った。いきなりだけど、まずは完成品の紹介。 { "age": 24, "name": "taro", "programming_language": [ "Java", "Kotlin" ] } こんな感じのJSONデータを、次…

Kotlin向けWebフレームワークが面白い! #kotlin

先日、Kotlinのメーリングリストに「KotlinでWebフレームワーク作った!」という投稿があり、調べてみたら面白かったのでメモを残します。 このWebフレームワークの名前はKara。 Tiny Missionという会社に開発されたオープンソースなMVCフレームワーク。 ま…

【速報】#Kotlin マイルストーン3 出た

Kotlinの公式ブログでマイルストーン3が発表されました。http://blog.jetbrains.com/kotlin/2012/09/kotlin-m3-is-out/以下、ブログ見ながらTwitterへ流した実況kotlin M3きたーーーーーーーーーーーーーー— たろうさん (@ngsw_taro) 9月 20, 2012 Kotlin M3…

#Kotlin の拡張関数の優先度についてメモ

Kotlinの拡張関数は、現時点ではレシーバとなるオブジェクトを第1引数に取るstaticメソッドとしてバイトコードにコンパイルされる。ということは、既存のメンバ関数と同一のシグネチャをもった拡張関数を定義することが可能 。">*1。ここで疑問。同一シグネ…

落ち着け...素数を数えて落ち着くんだ... #kotlin

FizzBuzzブームが再び巻き起こり、鎮火したかと思ったら「整数を数えていき、素数のときにJOJOと表示する」遊びがひそかに流行している。 mike、mikeなるままに…: 素数の時にEnrico Pucciと出力するプログラムを書いてみた 素数の時にJoJo -Java- - 水まんじ…

いろいろあったけど、夏休みを迎えた #Kotlin #ウサギィ

今年の4月にSIerへ入社してから早4ヶ月が経った。 楽しい研修期間を終え、配属先へ...。 ぐーたらな学生生活を送ってきた僕には早起きと通勤ラッシュとExcel方眼紙が少々きつい。 けれど、算譜王を目指して日々精進。あ〜暑くてなんもできないわ〜 (;-д-)ゞ…