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

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

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勉強会で発表してきたよ〜

9/13(土)に@backpaper0さん主催の関西Kotlin勉強会に参加させていただきました! おそらく西日本では最初のKotlinオンリー勉強会だと思います。 少人数だったのでまったりとカジュアルな雰囲気で、ワイワイと勉強会は進行されました。 会の内容は@backpaper0…

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

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

Android Wear勉強会#2 で発表してきたよー #andwear

昨日、Android Wear勉強会 #2で発表しました。 タイトルは「既存アプリを1時間でWear対応する」です。 これは自分のアプリのWear対応で得られた知識をまとめたものです。 僕がWear対応したのは、Google I/O 2014で発表があってから1週間半後。 Wearに関する…

町田に新しく開店したカフェに行ってきたよー

7月8日に新しくオープンしたSun's Cafeに行ってきました。 太陽ハウジングさんが経営しているみたいで、内装はすごくお洒落で落ち着いた雰囲気でした。 アイスコーヒーMサイズ (240円) をいただきました。 開店前に配っていたチラシに、勉強や仕事で使ってい…

GuavaのLists#transformが返すリストはシリアライズできないんだね

Androidアプリをジャバで書くならGuavaは、僕にとって必要不可欠なライブラリだ。 リストをmapする操作は頻出するパターンなのでLists#transform(List, Function)メソッドがないと生きて行けない。 タイトルの通りなんだけど、このLists#transformメソッドが…

夢と魔法の待ち時間をAndroidWear対応した!

夢と魔法の待ち時間というAndroidアプリを趣味で開発しています。このアプリをAndroidWearに対応させました!Google Playよりダウンロードできます。 通知 Android電話やタブレットに届いた通知は、自動で接続しているAndroidWear端末(例えば時計)にも通知さ…

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

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

Java8でカリー化

完全におもちゃです。 使いたくなる場面はないでしょう。 いきなり全コード↓ package sample; import java.util.Optional; import java.util.function.BiFunction; import java.util.function.Function; public class Main { /** 2引数関数のカリー化 */ sta…

Android Wear Hackathon in Tokyoに参加してきた

AndroidWearのハッカソンに参加してきた。 僕は夢と魔法の待ち時間のWear対応に挑戦した。 待ち時間の自動更新をNotificationでユーザに知らせるって機能は以前からあったので、Wear固有のAPIを使ってよりリッチな通知を作り込もうと思った。 で、今回の成果…

天下一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を使ったサンプルコー…

2013年の振り返りと2014年の抱負

2013年振り返り 前職 3月。1年目の新入社員が一堂に会し、その1年間で学んだことを発表する場があった。 僕は変わった発表をした。 最初に念のため、課題テーマに沿った内容を発表した。これを駆け足で終え、残り時間で現代のソフトウェア開発論的な話を発表…

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

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

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

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

IntelliJ IDEA 13.0.0 で生成したAndroidプロジェクトが動かない問題について

先日IntelliJ IDEA 13がリリースされて早速インストール! Gradle Android Applicationでプロジェクトを作成! いい感じに自動生成されるプロジェクト! とりあえず実行してみる! Run -> Edit Configurations... を選んで表示される設定ウィンドウの下にDef…

第1回Android Test Casual Talks でEspressoのLTしてきた #androidtest

昨日、Android Test Casual Talks #1に参加した。ここ最近はAndroidのガチ勉強会行ってなかったけど主催する@hotchemiさんからLTしない?と誘われたのでLT駆動勉強もありかなと思ってLTすることにした。レベル感がわからなかったので、というよりも割とAndro…

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代表で登壇させていただいた。 パネルディスカッション、初めての体験だった。 台本とか筋書きがあるわけでもないので、普通の発表よりも緊張倍増。 でもモデレータの方や他の登壇…

ViewPagerで上下左右にスワイプできる画面を作ってみた

久しぶりにAndroidの話題。 上下にもスワイプできるViewPagerってあるのかなーと思って探してたらドンピシャなのがあった。 https://github.com/JakeWharton/Android-DirectionalViewPager 日本語でメモを残してくださった方もいらっしゃるみたい。 ViewPage…

新卒で入社した #SIer を退職しました

俺はSIerを辞めるぞ!ジョジョーーッ!!— たろう (@ngsw_taro) 2013, 9月 30 私事ですが、9月30日付けで某システムインテグレータを退職しました。現在は某Web系企業でプログラマとして働いています*1。 *1:「某」ばかりですみません。。

SlideShareのAPIラッパーをScalaで作ってるよー

最近はScalaを勉強している。 コップ本を6割くらい読んだ。 個人的にコップ本は読みにくい。丁寧で網羅的な解説はありがたいんだけど。。 ちょっとしたコード書いて遊んでる。 スライドパズル解くプログラム作った。 あと、タイトルのとおり今はSlideShareの…

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>…