2013年5月22日水曜日

2013/05/14 Java Day Tokyo 2013 に参加しました

日本オラクル主催のJavaDayTokyo2013に参加してきました。
https://oj-events.jp/public/application/add/64

私の参加セッションは以下の通りです。
  • L-1 基調講演
  • A-1 ここからはじめる、JSR-356 WebSocket
  • A-2 Java SE 8 による関数プログラミングの構文と並列処理のシンプル化
  • A-3 Java プラットフォームにおけるBatchアプリケーション(JSR 352)
  • B-4 InvokeDynamic から Nashorn のご紹介
  • A-5 Java The Night (LTセッション) 
WebSocketの話は、私にとっては既に理解が進んでいたからかなり飲み込み易かったです。
しかし、私はレガシーJavaエンジニアなので実際にJavaでアノテーション使ってこう書けますよという話になると、急に理解し辛くなってしまいました。
こればかりは手を動かすしかないと思います。
とりあえずチャットとホワイトボード共有は基本ぽいですね。

Java SE 8ではラムダ式が使えるようになると話題になっていたので、関数プログラミングのセッションを聞きました。
従来のfor文の書き方では並列処理が出来ず、かといって並列処理に対応する書き方にすると複雑なコードになってしまう、そこで、関数型で書けばシンプルなコードで並列処理に対応できますよ、という話でした。
とはいえ、私は関数型プログラミングをほとんど知らないので提示されたコードが読解出来なかったのは残念でした。

BatchとInvokeDynamicの話は私には難しかったです。
Batchの話ではXMLが出て来たので、Twitterがざわついてましたねw
InvokeDynamicの話では、動的型付け言語は中間言語が1つに定まらないから難しい的なことは分かりました。

Java The Nightは当日まで内容が謎だったのですが、LTセッションでした。
発表者のほとんどがJavaFXを使用していて、 それだけ見るとJavaFX大流行みたいでしたね。
私的にはG1GCの可視化が最も興味深かったです。

最後にJava SE 7 APIドキュメントを日本語化したよ~という発表で終わりました。
http://docs.oracle.com/javase/jp/7/api/

2013年5月6日月曜日

HTML5とか勉強会 ページ一覧

個人用覚書です。

・第32回 「HTML5 Conference 2012 Reloaded (Web制作者向け)」
http://html5j.komasshu.info/hs32nd.html

・第33回 「Web-デバイス連携最新動向!!」
http://html5j.komasshu.info/ji33rd.html

・第34回 「「BaaS」(Backend as a Service)」
http://html5j.komasshu.info/0o34th.html

・第35回 「Web+OS最前線!」
http://html5j.komasshu.info/ri35th.html

・第36回 「2013年、Web開発の進化を探る」
http://html5j.komasshu.info/ui36th.html
http://tekepata.blogspot.jp/2013/02/20130218-36html5.html

2013年5月5日日曜日

2013年4月21日日曜日

2013/04/18 Web先端技術味見部#19 に参加しました

Web先端技術味見部#19に参加してきました。
http://atnd.org/events/38706
・Togetter
http://togetter.com/li/489752

今回のテーマは「asm.js」というものでした。
そもそもasm.jsってなんぞ? という話ですが、それはPublickeyさんがまとめられています。
http://www.publickey1.jp/blog/13/asmjsjavascript.html
私はasm.jsとても実行速度の速いちょっと特殊なJavaScriptであるとざっくり理解しました。
asm.jsはmozillaが提唱しているものなので、今はFirefoxでしか動作しません。

では、asm.jsがどんなものか実際に触ってみましょう(味見部名物味見)ということで、始めはこちらを参考に進みました。
http://ejohn.org/blog/asmjs-javascript-compile-target/
どうやらCやC++のコードをLLVMを用いてゴニョゴニョしてasm.jsのJavaScriptコードに変換することが出来るようです。

で、途中からは仕様書から抜粋されている説明であるということで、仕様書を直接読んで進めることに。
・asm.jsの仕様書
http://asmjs.org/spec/latest/

どうやら、
x = x|0;
と書けばxがint型になり、
x=+x;
と書くとxがdouble型になるなどのようです。う~ん、かなり特殊な書式ですね。
JSのサブセットなので、asm.jsに対応していないブラウザでもエラーで死んだりしないようにorだの+だのが使われているらしいのでしたっけ。
しかし型に厳密過ぎる書式なので、簡単なベンチマークコードを書こうとするだけでエラーが頻出し味見部皆で四苦八苦。

最終的にはどうにかこうにか動作するようになって、
  • ちゃんと書けばどうやら速いっぽい
  • やっぱり人間の手で書くものではないね……
という結論を得た味見部でありました。

2013年4月14日日曜日

2012/10/24 Chrome Tech Talk Night #4 に参加しました

大分前の話になりますが、Chrome Tech Talk Night #4 に参加しました。
http://googledevjp.blogspot.jp/2012/10/chrome-tech-talk-night-4.html

Googleの方から直接Yeomanの話を聞くことが出来る機会だったのですが、どうも自分には前提知識が不足していたようで、きちんと話を理解しきれなかったのが残念なところです。
でも、開発は楽しくなきゃね、というメッセージは掴めたかなと思っています。

2013年2月21日木曜日

2013/02/18 第36回HTML5とか勉強会 に参加しました

第36回HTML5とか勉強会に参加してきました。
http://html5j.komasshu.info/ui36th.html

HTML5とか勉強会は、html5j.orgというコミュニティが主催の勉強会で、大体毎月1回実施されています。
いつも大盛況で、参加者の枠が結構早く埋まります。
(キャンセルもそれなりに出るので、補欠登録でも参加できることは良くあります。)

今回の とか勉強会 は、
の3本立てでした!
マイク・スミスさんのお話は半分以上英語だったので英語力壊滅な私は死にかけたのですが、親切な皆様が英訳しつつTweetして下さったので、なんとか理解出来たような。
そんな流れを含むTogetterはこちらにあります。
http://togetter.com/li/458528
にしても、Web Intents死んじゃったのはちとショックですよ;
MozillaのWeb Activitiesでのreincarnationに期待しております。

とか勉強会には毎回懇親会があって(私はあまり参加出来ていないのですが)、
今回の懇親会では食事、LTの他に最近話題のハーレムシェイクの撮影をしたみたいです!
最近、Nintendo of Americaもやったって載ってました。
そのビデオがこちら。


着ぐるみ好きの多い(!?)html5j.orgにはぴったりでしたね。

2013年2月18日月曜日

2013/02/15 Developers Summit 2013 に参加しました (2日目)

CodeZineにデブサミ2013の講演資料がまとめられていました。
http://codezine.jp/article/detail/7003

各講演のTogetterまとめは @s_kic さんと @natsu_nanana さんがたくさんまとめられているようでした。
http://togetter.com/id/s_kic
http://togetter.com/id/natsu_nanana

他にも devsumi タグで見つけることができます。
http://togetter.com/t/devsumi

私が2日目に参加したのは以下のセッションです。

【15-A-1】「爆速」を支えるテクノロジー

ヤフー 村上さんのセッション。
http://www.slideshare.net/devsumi/devsummit-2013-yahoocmorelease
タイトルはテクノロジーですが、テクノロジーというか組織の取り組みの話でした。
状況把握→意思決定→実行のサイクルのスピードを発的にめることが大事であるという話で、大組織であっても恐竜になってはならない、魚群になるべきという話が印象的でした。
恐竜は一説によると尻尾を切られてから気付くまで5分かかるらしく、そこから組織の一部に起こったことにすぐに組織全体が気付けないことを言っています。
一方魚群は、リーダーが不在で、それでいて個々が同じ目的を持って自立的に動くことを言っています。
爆速のための取り組みの1つとして説明されていた「承認プロセスの削減・現場への権限移譲」は大事なことだと思いました。
とはいえ、承認プロセスについては現場からでは働きかけにくいので、1尾の魚としてはgitの導入とかその辺りから取り組んでいきたいですね。

【15-A-2】Webが生み出し始めた世界

産総研 @KoichiroEto さんのセッション。
私は大学時代はメディアアート系の研究室に所属していましたし、メディア論とか、Webとは何かとかWebが促進する効果とかそういった類の話は好きなので楽しかったのですが、結構研究者然とした講演だったので、他の参加者の方々が興味を持って聞けたのかは謎です。
それと、ニコニコ学会βの宣伝が結構ありました。
ちらっとスライドに出てたSHIRIを作った方は研究室の後輩だったりします。

【15-A-3】モバイル HTML5 による世界への挑戦

DeNAの @tkihira さんのセッション。
モバイルWeb、モバイルアプリの歴史から、将来の話。
@tkihira さんはインストールが嫌いでインストールの無い世界にしたいのだそうです。

【15-E-4】Androidアプリケーション開発者必見、 今求められている暗号化、難読化、セキュリティテクノロジ

商品紹介セッションでした。
次の日からでも自分で取り組めることなどを感じて帰れるのがデブサミの意義でもあると思うのですが、このセキュリティ製品・ソリューションを導入して下さい、とかだとActionし辛いのですよね……。

【15-A-5】人が作るソフトウェア ~今『組織パターン』を読む意味~

@digitalsoul0124 さんのセッション。
http://www.slideshare.net/digitalsoul0124/ss-16551233
パターンとか、パターン言語とか時々聞きますが、それってなんぞや状態だったので参考になりました。

【15-A-6】増加するセキュリティ脆弱性の解決策

安竹さんのセッション。
コード品質の向上によって防げる脆弱性は6割程度にしかならないそうで、それ以上は開発プロセス全体で継続的なセキュリティテストを行っていくことが大事という話でした。

【15-A-7】ワンクリックデプロイ ~いつまで手でデプロイしてるんですか~

@ryuzee さんのセッション。
http://www.ryuzee.com/contents/blog/6317
自動化の話なのですが、本題のワンクリックデプロイに辿り着くまでが遠いこと、遠いこと。
継続的インテグレーションサーバの用意、結合テストの自動化、デプロイの自動化……と、私のところではほぼ出来ていませんからね(^^;
自動化は一日にして成らずということで、コツコツ取り組んで行きたいです。
後は、自動デプロイ出来るようになっても、組織的なムダ(=上司のハンコ承認が無いとリリースできないなど)があると意味が無い、変化しない組織はゆるやかに死ぬというのも耳が痛いところで……。

【15-A-8】アジャイルサムライって当たり前になるのかな?

アジャイルサムライの先人方による事例紹介などのセッション。
アジャイルしたくて仕方がなかったので、1人でペアプロしてましたという話も。

【おまけ】2日目のランチ

「ハングリー ヘブン 目黒店」に行きました。
http://tabelog.com/tokyo/A1316/A131601/13119994/
スタンダードなハングリーヘブンバーガーを食べました。
最近、ファーストフードチェーン店でもセットで頼むと結構なお値段になったりしますが、それを食べる位ならこちらを食べた方が断然美味しいです。
やっぱりお肉が違いますね。
次に行く機会があれば、 別のメニューも食べてみようと思っています。

2013年2月17日日曜日

2013/02/14 Developers Summit 2013 に参加しました (1日目)

今年もDevelopers Summitに参加してきました。
http://event.shoeisha.jp/detail/1/

Developers Summitはデベロッパの祭典であり、セッションの内容は技術から開発プロセスや今後の話、ディスカッションなど広い範囲を押さえています。
また、デベロッパと言っても色々な分野で働く人が居るわけですが、今年はエンタープライズ、ソーシャル/ゲーム、スタートアップ(ベンチャー)の3つの世界があるよね的な話をセッション14-B-1ではしていて、つまりDevelopers Summitでは全てのデベロッパ的な人が対象になっているわけです。

Developers Summitの内容は世の中(デベロッパ界)の潮流で毎年変わるのですが、今年もアジャイルを始めとした開発手法の話が結構あったなと感じています。

私が1日目に参加したのは以下のセッションです。

【14-B-1】3つの世界:エンタープライズ、ソーシャル/ゲーム、スタートアップ
@KenTamagawa さんが司会の、それぞれの世界に属する3名の方によるパネルディスカッション。

【14-A-3】Ruby2.0
Rubyの生みの親 @yukihiro_matz さんのセッション。
私はRuby使いではないのですが @yukihiro_matz さんの話が聞きたくて聴講しました。

【14-D-4】The Action for Making the future Java
Oracle @yoshioterada さんによるJavaについてのセッション。
http://yoshio3.com/2013/02/15/dev-sumi-2013/
今年はJavaSE8とJavaEE7がリリースされます。
また、Javaイベントが 2013/5/14 に開催されるそうです。
私は一応Javaを使う人なのですが、新しいJavaはよく知らないので聴講しました。

【14-B-5】チケット駆動開発の本質
@sakaba37 さんと @akipii さんによる、チケット駆動開発(TiDD)についてのセッション。
http://www.slideshare.net/MakotoSAKAI/ss-16527220
http://www.slideshare.net/akipii.oga/devsumi-ogawa-20130214
trac環境を整備して使うことになったので、役立つかと思い聴講しました。

【14-A-6】ニコニコ静画(電子書籍)の作り方 〜みんながニコニコしてくれる読書体験を届けるために〜
@regtan さんによる、ニコニコ静画チームの開発についてのセッション。
https://speakerdeck.com/regtan/nikonikoshu-ji-falsezuo-rifang
運用ルールは複雑化するとどうせ守れないのでgitの掟は3つだけ。Simple is best.
良いセッションでした。うちの組織でも手順とかルールとか単純化して当たり前が当たり前に回るようにしたいな。

【14-D-7】Action!デブサミ2013オフィシャルコミュニティLT
コミュニティによるLTてんこもりセッション。
http://www.slideshare.net/YohNakamura/14d7lt
https://speakerdeck.com/bash0c7/devlove-pub-introduction-lightning-talks-in-developers-summit-2013
https://speakerdeck.com/tyabe/debusami2013-ohuisiyarukomiyuniteilt-by-shibuya-dot-rb
http://www.slideshare.net/flying-foozy/developer-summit-2013-tokyo-lt-mercurialusersjp
http://www.slideshare.net/tomhosokawa/2013lt-16542892
色々なコミュニティの話をちょこちょこ聞けて楽しいので、毎回聞くようにしています。

【おまけ】1日目のランチ
「づゅる麺池田」というお店に行きました。
http://tabelog.com/tokyo/A1316/A131601/13032592/
つけ麺が美味しかったです。結構麺が太くて驚きましたが。
狭いお店のため、外で並んで結構待つことになるので、食べたい方は急いで行くのが吉かと思います。

2013年2月10日日曜日

2013/01/31 Java ♡ HTML5 Night に参加しました

2013/01/31に開催された Java ♡ HTML5 Night に参加しました。
http://kokucheese.com/event/index/70487/

会場はオラクルさん。
会議室は広くて綺麗ですし、ほうじ茶は無料で飲めるしで素敵なところですね。

・Togetter
http://togetter.com/li/449231

Java ♡ HTML5 は、JJUGとhtml5jの共催でした。
Javaを扱っていて、HTML5にも興味のある私にはぴったりのイベントでした。

以下の発表がありました(発表者の方、Twitterアカウント敬称略)。
 個人的にはやっぱりWebSocketとJavaFXが気になりました。
でも、新技術以前にJava1.4脳にはアノテーションもSwingも理解できていないので、勉強が必要です(^^;