読者です 読者をやめる 読者になる 読者になる

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

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

Kotlin

GoogleがKotlinをAndroid開発言語として公式サポートするってよ!

blog.jetbrains.com 苦節5年、Kotlinエバンジェリストを自称して啓蒙活動に励んできましたが、ついに! KotlinがAndroidアプリの開発用言語としてGoogleのお墨付きをもらいました! おめでとう! 毎年毎年、Google I/Oのキーノートを見ながら友達と「今年はK…

#DroidKaigi でKotlinハンズオンの講師をしたよ〜!

3/9(木)、3/10(金)にDroidKaigiに行ってきました。 2日目にはKotlinハンズオンの講師を務めました。 KotlinとAndroidを絡めたハンズオンをやるのは実は初めてで、結果的にはおおむね成功でしたが、課題がいくつか残りました。 90分という枠にいろいろ詰めす…

Kotlin 便利なプラグインが2つ登場しRealmが捗るよ〜

blog.jetbrains.com Kotiln 1.0.6がリリースされました! 同時に面白いプラグインが2つリリースされました。 all-open compiler pluginとno-arg compiler pluginです。 all-open compiler pluginは、指定したアノテーションがついたクラスが自動でopen指定さ…

2016年のKotlinまとめ #ktac2016

今年もアドベントカレンダーの季節がやって参りました。 ということでKotlin Advent Calendar 2016、1日目の記事です。 2011年にKotlinプロジェクトが発表され、2012年に実装が公開されました。 2013年は知る人ぞ知る言語という位置付けで、2014年、2015年は…

「Kotlinスタートブック - 新しいAndroidプログラミング」を執筆したよ〜

こんにちは、Kotlinエバンジェリスト(自称)のたろーです。 「Kotlinスタートブック - 新しいAndroidプログラミング」というタイトルで、国内初となるKotlin入門書を執筆させていただきました。 リックテレコムさんより出版されます。7月17日発売予定です!…

私のハッシュタグ活用術とビズリーチ勉強会に参加した話 #biz_kt

今日、ビズリーチさんの社内勉強会でKotlinについて発表してきました。 @takezoenさんからオファーをいただいたときは驚きましたが、とても楽しく発表させていただきました。 講演、執筆の依頼は、いつでもお待ちしていますので お気軽にお声かけください! …

京都のKotlin勉強会で発表してきたよ〜 #kotlin_kansai

昨日、「Kotlin 1.0リリース記念勉強会 in 京都」に参加してきました! 経緯 Kotlin 1.0のリリースを記念して、関西でKotlin勉強会を開催するから登壇してほしいと @backpaper0さんからオファーをいただきました。 Kotlinコミュニティには協力したいし、関西…

Kotlin Birthday Party を開催したよ〜 #jkug

はい、本日、2月26日に開催しました! kotlin.doorkeeper.jp めっちゃくちゃ楽しかったです!!!!! #jkug Kotlin! Happy birthday✨✨ pic.twitter.com/QxGh97nn97— たろう (@ngsw_taro) 2016年2月26日 #jkug pic.twitter.com/DXIYhT6anq— 山本裕介 Yusuke…

KotlinでJUnitするためのライブラリつくったよ〜

作りました。 なぜか? RobolectricでKotlinしたかったんですが、JUnit(というかhamcrest)が使いづらくて。。 と言っても、1つだけ。 assertThat(actual, `is`(expected)) この`is`、すっごくイケてないw isってKotlinでは予約語なので、`で括ってやる必…

#DroidKaigi でKotlinの発表してきたよ〜2016

2月18日、19日に開催されたDroidKaigi 2016に行ってきました。 19日には、50分枠でKotlinについて発表しました! スライドは、最後に載せておきます。 動画は後日公開されるようなので、チェックしてみてください。 運営のみなさま、ありがとうございました…

"double context extension" pattern (命名適当) #kotlin

任意の型Aの拡張関数の中でエンクロージング型Bのメンバを使いたいとき、 次のようなコードは自然ですが、fooはBの中でしか使えなくて不便です。 When we want to use a enclosing type B's members in any type A's extension function, the following code…

AndroidでKotlin勉強会 @ Sansan で発表してきたよ〜 #Kotlin_Sansan

connpass.com 発表&企画・運営のお手伝いをして来ました。 昨年10月にSansanさんがKotlin勉強会を企画しているということで、 Kotlinエバンジェリストを自称している私に講演オファーがありました。 企画当初は、基調講演的にKotlinの紹介的な話をする予定…

KotlinプラグインのREPLが便利になってた #ktac2015

すごい!いつの間にかIntelliJ上でKotlinのREPLが動かせる!しかも指定したモジュールの環境上で動く(依存ライブラリが解決された上でKotlinコードを試せる)— たろう (@ngsw_taro) 2015, 12月 6 Kotlin Advent Calendar 2015の6日目の記事です(急遽担当変…

Javaイベント #jjug_ccc でKotlinの発表してきたよ〜

でっかいJavaイベントであるJJUG CCC 2015 Fallで発表しました。運営もしました。パネルディスカッションのモデレータもしました。 パネルディスカッションは@maaya8585のこの記事のとおりです。 楽しかったです。またやりたい。 発表スライドはこちらです。

俺とKotlinの馴れ初めと歩み 〜正式リリースに向けて〜 #ktac2015

12月になりました。2015年も残すところ1ヶ月ですね。 ということでKotlin Advent Calendar 2015の第1日目の記事です٩( 'ω' )و 年内にKotlin 1.0がリリースされるとの噂ですが、現バージョンは1.0-Beta2で、正式版リリースの足音が聞こえてきました。 正式版…

KotlinでFragmentのargumentsをいい感じに読み取りたい

夢と魔法の待ち時間というAndroidアプリを趣味で作っていて、これを100% Kotlinに移行するためここ最近ごりごりコードを書います。 1つのフラグメントで両パーク(陸と海)に対応するようにしていて、そんな感じのフラグメントがいくつかあります。 例えばア…

第2回関西Kotlin勉強会で発表してきたよ〜 #ashiyakt

9/19に関西Kotlin勉強会に参加すべく兵庫は芦屋へ行ってきました。 connpass.com 私の発表資料はこちら↓ 前回同様いい意味でゆる〜い雰囲気で、発表後の質疑応答も活発だったし、余った時間であーだこーだ議論するのも楽しかったです。 @takuji31さんの飛び…

Kotlin M13で追加されたsealed class

Kotlin マイルストーン13 がリリースされました! blog.jetbrains.com lateinit修飾子については↓の記事をば。 Kotlin M13で追加されたlateinit試してみた - 算譜王におれはなる!!!! sealed class クラスに付けられるsealed修飾子が追加されました。 一言で…

Kotlin M13で追加されたlateinit試してみた

Kotlin マイルストーン13 がリリースされました! blog.jetbrains.com その中で追加されたlateinitというプロパティにつける修飾子が便利そう。 プロパティの初期化を先延ばしにできるので既存のフレームワークにインジェクトしてもらえるって寸法です。 「…

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

第3回 かわいいKotlin勉強会 #jkugkotlin.doorkeeper.jp 開催しました!!! 第3回です!! 44名の方にご来場いただきました。 申し込み自体はキャンセル混みで86名です。 すごい人気です。 会場をご提供してくださいましたドリコム様(@sue445さん)、 運営ス…

Kotlin M12 言語仕様変更のまとめ

ついにKotlinマイルストーン12がリリースされました! 公式ブログはこちら。 言語仕様の変更についてまとめます。 今回はわりと多いです。 @ngsw_taro 変更多くて修正が大変かと思われますが、Analyze -> Code cleanupでプロジェクト内のKotlinソースファイ…

(ネタ)Kotlinで暗黙の引数いろいろ

Kotlinの関数リテラルはその引数が唯一つだけの場合、暗黙の引数としてitが使用できるのはみなさんご存知だと思います(暗黙の引数という言葉は正確じゃないような気がするけど気にしない)(知らない人は公式ドキュメントか今日発売のSoftwareDesignを見るとい…

KotlinのClass Delegationについて

KotlinにはClass Delegationという機能があります。 公式ドキュメントはこちら。 これの使い道について書きたいと思います。 そもそもClass Delegationって? Delegation、つまり委譲の仕組みです。 例えばこんな感じ。 // 挨拶する人のインタフェース trait…

#DroidKaigi でKotlinの発表してきたよ〜

Android系のイベントでこんなにワクワクするのすごく久しぶりだ!— たろう (@ngsw_taro) April 25, 2015 昨日DroidKaigiでKotlinについて発表させていただきました。 NULL安全についてもっと話したかったけど時間の関係で紹介程度にとどめました。 先週の渋…

#Kotlin 向けAndroidライブラリ #Anko のレイアウト組むやつこんな感じに使ってみるとよさげ?

AnkoというKotlin向けAndroidライブラリがあります。 JetBrainsが開発しています。 先日、公式ブログでもアナウンスがありました。 Announcing Anko for Androidblog.jetbrains.com 面白くて便利なAPIが揃っていますが、目玉機能はUIレイアウトを構築するDSL…

今月からSoftware Design( #gihyosd )で #Kotlin 連載します

ソフトウエアーデザイン 2015年 04 月号 [雑誌]出版社/メーカー: 技術評論社発売日: 2015/03/18メディア: 雑誌この商品を含むブログを見る 少しずつ丁寧に解説して行きたいと思います。 ブログとかでフォローできればと考えています。 これを機にKotlinで遊…

KotlinでJavaみたいなメソッド参照をする

Javaでのメソッド参照、便利です。 例えばこんな感じのやつ。 // Java class Person { // 省略 String getName() { return name; } } // Java Optional<String> name = Optional.of(person).map(Person::getName); すっごく便利ですよね! これをKotlinでやろうとす</string>…

Kotlin M10で追加されたreified type parameterがいい感じ

reified type paramter = 具象化された型パラメータ 名前が強そう。 目的としてはKotlinでJavaクラス(Classインスタンス)を得るための関数javaClassをもっと楽に使えるようにすることっぽい。 例えば今までは、こういう関数↓を作るには引数としてClassインス…

Kotlin M10リリースされた

本日Kotlinのマイルストーン10がリリースされました。 http://blog.jetbrains.com/kotlin/2014/12/m10-is-out/ いい感じですね。JS対応が面白くなってきました。今度まとめたいと思います。 今回は宣言箇所分散(declaration-site variance)まわりのコンパイ…

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開発環境です。 インストールや設定は不要で、サイトにアクセスするだけですぐに使えます。 ちょっとした実験的なコードを試すには持って来いの環境です。…