GWで関西の実家に帰ったので、そこで開かれていた鹿駆動勉強会というのに行って来た。
奈良県新公会堂の能楽ホールでやるという面白い試みで、俺も発表すればよかったと
珍しく思った。
しかし、GWみたいな大型連休に、観光地付近で勉強会をやるというのは中々面白い。
帰りに大仏見て帰ってこれたし、これからもこのような、観光地勉強会メソッドが
流行すると面白いのではなかろうか。
ということで、以下に勉強会のメモを記載。
JavaFX
タイトルはわからなかったが、一発目にしてはクオリティも高かったし、
ハードルもあがった。何か、音楽を使ってたんだが、途中からごちゃ混ぜになって
うるさかった。内容は勉強になることばかりだったが。
- Javaの新しいGUI
- JavaFX Script(2007?2011)が終了したが、2011年にJavaFX2.0として復活
- 1.0はスクリプトだったが2.0はJavaになった。
- Structure:FXML←GUIの構造部分がJavaでなくなった
- スキーマがない
- 要素がクラス名で、自作クラス名をそのまま使える
- NetBeans、JavaFX Scene Builderってので、GUI作成できる
- Design:CSS
- Logic:Java←ロジック部分はJavaで記述
- Structure:FXML←GUIの構造部分がJavaでなくなった
- この間のJavaOneで発表された。まだβ版
- iPadでも動くバージョンがあるらしいが、まだリリースされていない
JavaFXでJavaScriptをテストする by @mike_neck
何か、スライドが途中までしか出来ていないので今日は止めますとかいう、
俺がもっとも嫌う止める辞める詐欺ネタを使ってきたので、やめる→タメ→続きの
タメのところで率先して「ありがとうの拍手」をしてみたところ、無事全体に拍手は
広がったのだが、何か泣きが入って続いてしまった。残念だ。
すでにメモした以外の内容は忘れたが、何もかも半端だったとメモに書いてあった。
俺はよほどこいつの発表が気に食わなかったんだろうな。
- JavaFXにはWebKitベースのWebViewがあるので、JSのテストをJavaで出来る
- 仕事では、gradleでbuildをしている
←このgradleってのはGroovyベースのビルド自動化システムらしく、気になった
Starting JavaFX by @hakurai(奈良生まれ奈良育ち)
JavaFXの話。Twitterクライアントを作るところを見せようとして途中で終わった。
- JavaFXはNetBeansと相性がいい
- アノテーションで、画面内の部品とJavaのフィールドやアクションと
- 連携できる
- 非同期処理
- Executerクラスで、重い処理は別スレッド化
- 画面の更新はJavaFX Application Threadでやるために、Platform#runLaterで終わらせる
- Listの見た目はCellFactory
ここまでで終わった。前の発表をなくして、こっちに当てればよかったのに。
Javaと並行と私 by うらがみ
最近は並行処理にThreadを直接作ることはなく、Executorというのを使うのが
主流らしいということを知った。あとは、Concurrency Utilitiesというのは
便利そうな仕組みだ。調べてみたい。
- 7?8月に神戸でJavaEEの勉強会したい
- スレッドセーフを実現する方法
- synchronizedブロック
- Javaの最適化によってスレッドセーフが失われる場合、volatileキーワードで抑止できる
- Concurrency Utilitiesを使う
- AtmicBooleanなどのクラスがある
- ExecutorやExecutorServiceを用いてスレッド作成
システムアーキテクトになる前に覚えて起きたい技術 by @_kozake
- キャリアパス上にシステムアーキテクトがない
- PGは若手しかやらないため、技術者が育たない
- システムアーキテクト
- 開発の技術リーダー
- 要件を具体化して、アーキテクチャ記述を作る
- 開発作業では技術でチームを導く
- 管理、業務知識同様技術も重要
IT企業のキャリアパス上、プログラミングなど実際の技術に触れる人間が若手か
下請けなどお金のかからない人間のみになっていて、3年目くらいからは技術に触れる
ことが難しくなり、だんだん人の管理にシフトしていく。その結果会社から技術が
失われてしまう。
そこで、技術の取り纏め係であるシステムアーキテクトを育てようという話。
話は共感できるのだが、要するに人の管理をしようが技術の管理をしようが、
最終的に安くシステムを作れればいいというのが、会社の思惑だと思う。そのため、
技術を極めるなら、結果としてコストが下がるような極め方にすればよいと俺は思う。
その上で、見積もりの根拠が人月になるという業界の特性を鑑み、
「このシステムを実現するためにはどれくらいの人月が必要だけど、ここは俺の技術で
かばーしてやれば安くすむだろうな」
というのを自分で持っていれば、ある程度安くしつつ利益も出せるので嬉しい筈だ。
あとは、リーダーであれば良いと思う。
プログラマという、単体でしか動けない状態を会社は良く思わないだろうが、チームで動ければ
特に問題はないだろう。
俺の持論としては、技術というのは自分独りの力で延ばすことが出来るので、家ででも
勉強すればよいと思う。一方チーム運営や人の管理といったものは、組織の中での方が
実地研修が出来るため伸びやすい。家では技術、会社で管理というのが最も効率的に
自分を鍛えられる。
新卒エンジニアが1年目を振り返る by くちたま
今年2年目の社会人が、去年学んだことを振り返ることにより、後輩育成に役立てて欲しいという話。
- java/Closureなどの技術者
- 1年でもっとも重要に思ったこと
- ソースコードレビューについて
- 先輩にコードを見せるのが怖いが
- 色々いわれるが、先輩の経験による知識を伝達されるため重要
- 自分のコードに自信がないのでコードレビューして欲しい
5分でわかるInvokeDdynamic
JVMが、動的言語を処理するために追加した新しい命令InvokeDynamicに関する説明の
話だが、本当にコマンドの説明しか話がなかった上に実例どころか前提も結論も
どこで話しているのかよくわからなかった。説明書の途中から途中までを読んでた気分。
吼えろペンという漫画で、漫画を途中で投げ出してしまうことに対する対策として、
最初と最後を最初に書けば大丈夫というのがあったが、5分しかないLTでもどうようにそれが
求められていると知った。
- Javaの動作原理
- コード→Class→JVM上で実行
- invokedynamicはJVM用の命令セットにJava7から追加された命令
- InvokeDynamic
- 型情報を持つ関数のポインタ
- JVM上で動作する動的言語に使う
資料はこちら。これ見て理解してくれ。
Innovationの話 by たのっち
イノベーションを実現するための話。受付のiPadアプリは、
申込者一覧が出ていて、タップで出席したことになるという代物。
簡単だが便利なのは確かだ。
アプリじゃなくWebアプリにして、ATNDと連動させればいいのにね。
- 受付のiPadアプリを作成した
- イノベーションの種類
- 継続的イノベーション
- 破壊的イノベーション
- どちらも行動が大事
- 3つのソウが大事
- 空想→あったらいいな
- 構想→どうやって実現するか
- 実装→実現のための行動
- PDCAやリーンスタートアップと似ている
- 「何か」いいよね禁止
- 徹底的に考える
MongoDBとか全文検索とか by @kiy0taka
ドキュメント指向DBのMongoDBで全文検索を実現するelasticsearchというツールの話。
全文検索という目的がある人間にとってはためになるのではなかろうか。
- elasticsearch
- Java製全文検索サーバ
- Apach Solrは面倒くさいので代わりに使う
- MongoDBをレプリケーション設定で起動し、elasticsearchをインストールしてプラグインを入れると使える
nodeについての話 by @hakobera
Node.jsでWebカメラを使えるという話。これはAR的にうれしい。
実際にサンプルで簡単な顔認識もやっていた。結構動きがカクカクだったので、
重いWebSocketでも使って処理はサーバに飛ばすとか分散させる必要があるかも。
- Playframeworkに興味あり
- 2012/11/18にNode学園祭というのをやる(まだWebページなし)
- WebRTC
- Camera、Audio
- Webページでカメラが使え、顔認識とか出来る
- CCV、Face.jsというライブラリで出来る
- WebSocket
- Push、Realtime、Reactive
- WebSockeetで、顔認識した結果を他のブラウザに流せる
JavaScriptのテンプレートエンジンについて by @shinsukeoda
JavaScriptでつくる、テンプレートエンジンの話。JsReaderとJsViewはよさそうだな。
あと、今はSPAなんて概念があるんだな。初めて知った。
日本語情報が少ないとのことなので、やってると有名になれる等いい事あるかも。
- jQuery Templates
- 非推奨
- JsRender
- 新しいテンプレートエンジン
- JsViews
- JsRenderをテンプレートエンジンに使ってデータバインディングを実現
- 最近流行のSPA(Single Page Application)に使われている
- MicrosoftのHotページも使ってる
- 日本語情報がないので発信して行こう
資料はこちら。タメになるよ。
PHPフレームワークKohanaについて by @nakau
PHP用のフレームワーク、Kohanaの解説。ただ、結果として何が出来るか不明。
PHPだからWebサイト作れるのかな?
- 日本ユーザ会の宣伝に来た
- メンバーが少ない
- PHP用Webアプリケーションフレームワーク
- オープンソース
- BSDライセンス
- CodeIgniterコミュニティから発足
- 今3.2.0
- 軽量、高速
- ライブラリフリーでインストールが簡単。PHP5.3があればすぐ動く
- HMVCが標準装備
- バージョンアップが難しい(3.1→3.2はかなり大変だった)
- ドキュメント少ない
- 5/12 PHPカンファレンス関西2012内にKohanaセッションあり(すでに定員のためUst)
最強のオブジェクトとは? by @_funya
オブジェクト指向の基本的な話。ケンシロウの声が出る計算機のためのネタだな。
- プリミティブ型だと、数値の精度が悪い
- 数値計算の世界だと、オブジェクトを利用する必要あり
- 計算機デモ
- 普通の計算機のデモ
- 音声が出る計算機のデモ
- 北斗の拳ネタ
- Webアプリ版
HadoopとAsakusa Frameworkについて by @aoetk
- Hadoop
- ファイルの分散配置
- 分散処理
- 業務だとこんなときに使いたい
- 夜間バッチの突き抜け回避
- RDBのディスクI/Oボトルネックの回避
- Asakusa Framework
- Hadoopを業務バッチに利用するためのフレームワーク
- バッチ処理をデータフローの始点の沿って設計し、JavaのDSLで書くとHadoop用にしてくれる
- テスト用のフレームワークもある
ユニットテストについて by @yujiorama
ここの関係者かな。
何か、早送りすぎて全然伝わらなかった。システムアーキテクチャというのは、
現状だと四角の積み重ねみたいになっているが、同心円として表現した方が、横の関係も
記載する事が出来て便利だという主張(何かの本に書いてあったのかな)
- システムアーキテクチャの表現を、1次元の組み合わせでなく同心円上に書く形にしたい
未定 by @irof
勉強会で発表する事のメリットについて。最後の、5分しかないのでつまらなかったり滑ってても
見てる人が耐えてくれると言う発言が良かった。
- 話す人のほうが情報が多い
- フィードバックがもらえる
- 知り合いが増える
- 最近は勉強が増えているため、話すのが簡単になっている
- 誰もがすべてを知っているわけではない
- 資料は直前にがんばって作る
- 発表はノリで飛び込む
- LTはテーマを大きく外していなければよい
- 5分なので失敗しても大丈夫
未定(2) by @pocketberserker
何か、テーマが決まってないので挙手で3つから選んだ結果これになった。
他の2つはまったく意味わからんかった。こいつも、F#のコードを幾つか見せられたのだが、
字が小さすぎて全くわからなかった。
- テスト駆動F#
- F#ならテスト駆動開発が簡単に出来る
カバレッジツールについて by @fukai_yas
日立の社員なのかな。自社のカバレッジツールが駄目過ぎるので、自分で
作ってみたとのこと。個人的に公開して、上手く動くようになったら社内に
紹介して使おうとしているらしい。
- 日立のカバレッジツール
- ソースを変換してカバレッジ取得コードを埋め込む
- 独自クラスローダでバイトコードを操作する
- 今回のツール
- Eclipseのデバッグ機能を利用する
- オプションをつけてプログラムを起動する
- クラスロード時にラインをブレイクポイントで埋め尽くし、カバレッジを見る
- 分岐の場合バイトコードインデックスでブレークポイント指定
- 三項演算子もカバーできる
- 公開した上で、HITACHIに使わせたい
- CLバージョンとJavaFXバージョンも作る
- JVMにコンパイルできる言語であれば全対応可能
勉強会の作り方 by @daiksy
今回の鹿駆動勉強会のスタッフの一人。勉強会を盛り上げるために色々やったという話。
- 鹿駆動勉強会のために
- 奈良新聞にメールなどしてみたが反応なし
- @ITに相談したら告知記事を書いてくれた&取材
- ホールの最小開催人数は50人だった
帰りに見てきた大仏。