はじめに
これは、振り返りブログです。毎年書いているので儀式的なものです。
振り返りも兼ねて。
枯れ果てていた自分のGitHubアカウントの緑化運動をした話をココに記します。
GitHubに草を生やす活動とは。GitHubにアカウントを作り、
適当にリポジトリを作り1日1プッシュは行う感じのやつです。
GitHub上だとContributionsとか書いてあるやつ。
毎年年末に大都会岡山で行われている合同勉強会と忘年会議に行ってきました!楽しかった!
togetter
合同勉強会 in 大都会岡山 -2016 Winter- & 忘年会議2016 まとめ #gbdaitokai #忘年会議
この記事はJava Puzzlers Advent Calendar 2016の12日目の記事です。
ぼくはハイレベルなJavaプログラマーではないので、本エントリもハイレベルなJava puzzleではありません。力を抜いて眺めて下さい。
これはJava EE Advent Calendar 2016の11日目の記事です。
@kikutaro_さんがアドベントカレンダーをみんなに書いてもらえるよう頑張ってたのがチラッと見えたので、
まぁ僕も協力したいなぁという次第です。
この記事はJava Puzzlers Advent Calendar 2016の11日目の記事です。
ぼくはハイレベルなJavaプログラマーではないので、本エントリもハイレベルなJava puzzleではありません。力を抜いて眺めて下さい。
コーディングをしていて。
自分自身本当に納得いっているコードや、自明であるから然るべき!
みたいな意志をもって生まれたコードは強靭であるとともに、たまに厄介な気がする。
2016/12/03に行われたJJUG CCC 2016 Fallに参加してきました。
50分1コマもらって発表もしてきました。
皆さん、楽しかったですお疲れ様です。
参加セッションと自分のセッションの説明補足などをしようと思います。
JJUG CCC 2016 Fall
2016-12-03(土)10:00 - 22:00
JVM言語とJava、切っても切れないその関係
近況報告ですが
最近はエビィというヘルシーな会社で働いています。
上北沢にある沖縄そば屋です。ウソです。
https://retty.me/area/PRE13/ARE22/SUB2203/100000004224/
試用期間が終わり?正社員らしいです。
優秀な方がたくさんいます。とても助かります。
あと、驚くことにみんな割ときちんと出勤しています。
会社に入って一番驚いたのはこれです。
僕も出勤しないとまずいです。
家がみんな割と会社から近いみたいで楽そうです。
近場に僕も引っ越したい。
会社ではギャグが飛び交うと聞いていたのでソワソワしていたんですが、
今のところ「取り急ぎトリンドルだから」って聞こえた気がしたのと、
(チョコレートの差し入れで)ビタミンC取ってください!と言っていたのを聞いたぐらいです。
働いてみると面白いな~という感じなので、色々やれる幅を広げていきたいなぁという所存です。
現場からは以上です。
11/26日に松竹スクエアにて行われました
Kotlin Internal 勉強会に参加してきました。
https://connpass.com/event/40360/
開催、設備など用意してくださったkmizuさんありがとうございました!
Payara Microがなんだか存在だけ知っていて気になっていたので、
勢いつけてブログ書きつつ導入してみる。
と思ったのだけど、Payara MicroProfileというものがあったのでそっちの方を選んで導入してみる。
今後Paraya MicroProfileを使いつつ、Java EEで遊びたいものがあれば試してみようかという目的もある。
最近めっきり寒くなってきましたね。
ところで、10月末を持って会社を辞めて別の会社に転職します。
誰がジョブホッパーや!
ということでですね、はい。
http://www.amazon.co.jp/registry/wishlist/1F9J3AGCUMTN4/ref=cm_sw_r_tw_ws_x_aR1eybADWNJCQ
「あれ、この人。前も転職しましたとか言ってなかったっけ?」
とかそういうのはきっと気のせいですよ。
書く意味あるんかなぁと思いますけど、自分の気持ちのスナップショットは残しておきたいなぁみたいな。
JJUGのイベントの中でもJavaOne報告会は毎年恒例かつ、
JavaOneの空気感を得られる&ネタ感が普段より多いみたいなお得感が高いので今回も参加しました。
色々お話していただいたみなさま、ありがとうございました!
以前に達人プログラマーを目指しての人とかが
以前に書いてたりしましたよね。
作業BGMについて。
ここぞというときの集中力Upのために、ヘッドフォンで音楽を聴きながらプログラミングしましょう - 達人プログラマーを目指して
作業中のBGMって、結構集中力に関わると思うわけです。
僕の場合ですが、仕事中に音楽を聞いていると作業効率が上がります。
それは人によりけりで、音楽聞かないほうが捗る人もいるとは思いますが。
そんな中で、一番オススメなのがsoma fmです。
http://somafm.com
Twitterで流れてきたので。
@omochimetaruさんに怒られたらブログ取り下げます。
GitHub上のKotlinソースを眺めているとたまに1ファイルで複数のクラスを扱っていることがあります。
例えば以下のようなExceptions.ktとか。
https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/src/kotlin/io/Exceptions.kt
ファイル名を複数形にし、その中に複数のExceptionクラスが実装されています。
こういう方法は割と見ます。
これの使いどころとかどうすべきなんだろう、という考察です。
Seasar Conference 2016 Finalに行ってきました。
https://event.seasarfoundation.org/sc2016/
「えっと、Seasar 2,SAStruts,S2JDBCが明日で終わります。でもリポジトリは残ってるし自由に使っていいです」
— やんく (@yy_yank) 2016年9月24日
Seasarプロジェクトが提供するプロダクトの多くは 2016年9月26日 をもって EOL (End of Life) となります。 EOLとなるのは以下を除いた全プロダクトです。 DBFlute DBFlute.NET Doma Emecha Mayaa S2Container.NET S2Dao.NET 上記以外のプロダクトは全て2016年9月26日をもってEOLとなり、 Seasarプロジェクトによるメンテナンスおよびサポートは終了となります。 EOLとなった後も、以下は引き続き提供されます。 各プロダクトのドキュメントサイトは引き続き公開されたままとなります。 各プロダクトのソースコードはGitHubにて引き続き公開されたままとなります。 Mavenリポジトリからのダウンロードは引き続き可能です。
filter関数じゃなくてfilterTo関数使おうという話。
Twitterでの話題のサルベージです。
Kotlinはver1.0.4現在の話です。
Kotlin の Set で filter したら List が返ってきて contains がくっそ重くなる事案が現実に起きてしまった……
— がくぞ (@gakuzzzz) 2016年9月23日
@yy_yank
— がくぞ (@gakuzzzz) 2016年9月23日
fun main(args: Array<String>) {
println(setOf(1, 2, 3, 4, 5, 6, 7, 8).filter { it % 2 == 0 } + (4))
}
とかやると4が重複して楽しいですよ
さっき風呂に入りながらボーッと考えてたことを書いてみる。
タイトルの通り。
簡単に言うと、中継点を作ってそのポイントに到達するたびに
レビューをするほうが良いのじゃないだろうかということ。
いや、大した話じゃないんですけど
みんなどうしてるのかなって思って。
Javaの定数クラス。皆さんの使用状況はこんな感じだろうか。
使うとすればどのように使うのが良いかなとか。
わざわざ考えたりしないような気がするので、あえて考える。
たろうさんと学ぼうKotlin入門 #javajoにチューターとして参加してきました。
https://javajo.doorkeeper.jp/events/49453
なんか、、エロい(笑) https://t.co/mJdnciXxvj
— Yan Zh (@yanex_ru) 2016年8月20日
@furusin_oriver タイトル決めたの俺じゃないしwww
— たろう (@ngsw_taro) 2016年8月4日
Gradle 3.0が出ました。
Gradle Release Notes
Kotlinがbuildスクリプトで使えるようになったらしいです。ウケる。
「使ってみろ」と天の声が聴こえた気がするので、使ってみましょう。
ちなみに、お前ら付き合いたてのカップルかよって感じのブログタイトルがこちら2つです。
Gradle Meets Kotlin - Kotlin Blog
Kotlin Meets Gradle - Gradle
今回はKotlinを知るために便利な、もしくは困ったときにヒントになるであろう、
Kotlin BytecodeをIntelliJ IDEAで見ることの出来る機能を紹介します。
今更感のあるTips的なやつです。
※私の確認環境はIntelliJ IDEA 15.0.6 CEです。
最近、胡散臭いブログエントリを書いてなかったので、
とびっきり胡散臭いのを書こうと思います(どれも胡散臭いよ、、とか言っちゃダメだ)。
2冊本を読んで、それが割と自分の生活の軸になっているという話です。
今回は書評記事です。Kotlinスタートブックに関して。
献本してもらいましたので、まぁ書評書かないとなぁっていう強迫観念で書きます。
嘘です。良い本なのでちゃんと書きます。
Kotlinスタートブック -新しいAndroidプログラミング
せっかく参加したので、ブログに書いておきます。
Kotlinスタートブックという本が発売されたので、
そのmeetupイベントが行われました!
趣味プログラミングをしていたら、Javaコンパイラのバグを踏んでしまいました。
コンパイラで例外が発生しました(1.8.0_25)。Bug Paradeで重複がないかをご確認のうえ、Java Developer Connection (http://java.sun.com/webapps/bugreport)でbugの登録をお願いいたします。レポートには、そのプログラムと下記の診断内容を含めてください。ご協力ありがとうございます。 java.lang.ClassCastException: com.sun.tools.javac.code.Type$UnionClassType cannot be cast to com.sun.tools.javac.code.Type$IntersectionClassType at com.sun.tools.javac.code.Types$8.visitClassType(Types.java:1540) at com.sun.tools.javac.code.Types$8.visitClassType(Types.java:1497) at com.sun.tools.javac.code.Type$ClassType.accept(Type.java:778) at com.sun.tools.javac.code.Types$DefaultTypeVisitor.visit(Types.java:4451)
こんな感じ。
今回は、このコンパイラのエラーメッセージにレポート送ってね、と書いてあったので送った話。
とその書き方を書きます。
これで皆さんも安心してjdkのバグが踏めますね!!(めったに起きるものではない)
逆引きKotlinというサイトがあまりに地味に活動しているので誰にも気づかれていない感!
ということで宣伝します。
2016/7/15現在、以下の様なページがあるんですが、
これ以外でもこういうの欲しいよというのを募集します。
逆引きKotlinのGitHubにissue登録してもらうか、プルリク出してもらうか
このブログにコメントしてもらうか、なんかしてもらえたら
多分サイトにもページを増やします。
プルリクする際はREADME.md読んでもらえると嬉しいです。
Doma 勉強会に行ってきました!!
http://eventdots.jp/event/592052
あと、LTしてきました(KotlinがDoma2でサポートされると聞いて)
※まぁ、ボクのポジション的にKotlinの発表しとくかー、と
mdファイルのpushを検知してmdファイルからhtmlへのparse->git commit、git push してくれるような何かが欲しい
— やんく (@yy_yank) 2016年6月17日
@yy_yank 僕の管理してるプロジェクトでそれやってますね。 sphinx だけど、 circle ci でビルドして push してる
— あやぴー (@_ayato_p) 2016年6月18日
Chromeのプラグイン作るの超簡単だなぁって話。
最近、GitHubに変更がありCurrent streakとLongest streakが表示されないUIに変更しました。 https://github.com/blog/2173-more-contributions-on-your-profile Current streak = 現在のGitHubリポジトリへのコントリビュートが継続している日数 Longest streak = GitHubリポジトリへのコントリビュートが継続した最長日数
今回は書評記事です。Kotlinスタートブックに関して。
献本してもらいましたので、まぁ書評書かないとなぁっていう強迫観念で書きます。
嘘です。良い本なのでちゃんと書きます。
Kotlinスタートブック -新しいAndroidプログラミング
タイトルにはAndroidという言葉が含まれていますが、
特にAndroidに興味がなくてもKotlinという言語に興味があれば買うメリットは有ると思います。
多分Androidって入ってるのは出版社的に売れやすいからってところとまぁKotlinという言語のターゲットが少なからずAndroidになっているという事実があるからだと思います。(サーバーサイドでもKotlinはもちろん使えます。SwingでもJavaFXでも使えます。)
Androidに関しては本の3分の1ぐらい。なので、基本的に言語部分をがっちり書いてあります。勢いでAndroidを始められちゃうかもっていうぐらいの気持ちで良いんじゃないかなぁ。
基本的な部分は全て網羅されているといっても過言ではないです。
これまで、Kotlinの日本語書籍がない中での1冊です。
「本が無いしなぁ〜」みたいなのはもう言えないわけですね!(ニヤニヤ)
Kotlinの情報は増えてきたとはいえ、これまではネット上にバラバラにあるような感じでした。(公式ドキュメントでも個人的には結構大丈夫なんですが)
そんな中、まとまった情報が書籍になったということで。
確実にこれが基準になってくるだろうなと思います。
概ね、これに従っておけば良いのですが妄信的にならないようにしてほしいなと僕、個人としては思います。
javapして欲しいし、生成されたクラスのデコンパイルとかして欲しい。
KotlinでAndroid開発を始める場合はこの本があれば怖くないんじゃないかなぁと思います。
基本的な知識を習得する目的にも使えますし、リファレンス的に利用するのもありでしょう。
サーバーサイドとか、Android以外で使う場合は言語の基礎は抑えられます。ただ、どういうフレームワークを使うかとかの選定、使っていくうえでのハマりどころの克服とかは自分たちでしないとダメですね。
ということで、「この本があるから導入してみましょう」とかネタになると思います。
まぁプロジェクトの問題とかマネジメントの問題とか色々あるとは思うのですが、それはKotlinに限らず、ですね。Javaでも、なんでも。
Kotlinという言語に関して2016/08現在、ハマりどころとしてはJSR269の絡むもの。例えばDatabindingとかDagger2とかそんなやつです。
ですが、それも本書内で説明がありますので多分なんとかやれるんじゃないかなぁと思います。
Kotlinを使ってみたいと迷っている方は実際に読んでみて確かめてみて欲しいですね。
もし、本に書いてない内容ハマったとしてもKotlinのSlackで質問してくれれば、みんなが答えてくれます。
http://kotlinlang-jp.herokuapp.com
言語の思想も含まれている
筆者のngsw_taroさんはKotlinという言語の発表当初からずっとこの言語を追いかけてきています。
したがって、今現在のKotlinのメジャーバージョンの表面部分だけが語られている本ではないです。著者自身の考えによるところもあるとは思いますが。
たとえば「Kotlinのこの言語設計はEffective Javaのこういう部分が・・・」など設計思想が書かれていたりします。これは単純に公式リファレンスを読むだけでは気づけなかったりする部分もあると思います。
愚者は経験に学び、賢者は歴史に学ぶというやつですね。
チームでみんな1冊持てば怖くない
この1冊あればAndroid開発は出来るか?考えたところ
基本的なJavaの知識とAndroidの知識があれば出来ると思います。
なのでみんな1冊買って開発すればいいと思います!w
褒めすぎましたかね、なんか嫌ですね。
ということで、あえて気になるところを出すとすればKotlinとScalaでtailrecの仕様が違うのに言及してほしいとか、3章のKotlinガイドツアーはしょっぱなから結構勢い出てるなぁって思ったこととか、です。
重箱の隅的なやつです。
Kotlin気になるなぁという人、取っ掛かりがほしい人、もっと詳しくなりたい人におすすめです!
Androidで使いたい人は後半部分(本の後ろ3分の1ぐらい)を立ち読みしてテンション上がったら買えば良いと思います。
Androidじゃない人はパラパラと流し読みしてオモシロイと思ったら買えば良いと思います。
「プロジェクト型組織」とはプロジェクトを実施する上での組織形態の1つ。 特定のプロジェクト専門のチームを作り、各々のプロジェクトで独立して事業が動かされる。 この「プロジェクト型組織」ではプロジェクト内のマネジメントはプロジェクトマネージャーが責任を持って行う。 各プロジェクトメンバーは定まったポジションはなく、プロジェクトが終了すれば別のプロジェクトに所属する。プロジェクト型組織とは
public class JavaBooleanSample { private boolean hoge; private boolean fuga; public boolean isHoge() { return hoge; } public void setHoge(boolean hoge) { this.hoge = hoge; } }
val sample = JavaBooleanSample() // setterアクセス sample.isHoge = false // getterアクセス sample.isHoge
class KotlinBooleanSample {
var hoge = true
}
public class AccessToKotlinBooleanAccessor { public static void main(String... args) { KotlinBooleanSample sample = new KotlinBooleanSample(); // Kotlinではvar hoge = true sample.getHoge(); sample.setHoge(true); } }
class KotlinBooleanSample {
var isFuga = true
}
public class AccessToKotlinBooleanAccessor { public static void main(String... args) { KotlinBooleanSample sample = new KotlinBooleanSample(); // Kotlinではvar isFuga = true sample.isFuga(); sample.setFuga(true); }
class KotlinBooleanSample { var isFuga = true // コンパイルエラー var fuga = true // コンパイルエラー }