フィネットエンジニアだより

株式会社フィネットのエンジニア感があるんだかないんだかよくわからないブログ

磯野ー!ビブリオバトルやろうぜー!

角田です。

 

今回は「ビブリオバトル」についてご紹介したいと思います。

 

ビブリオバトルとは?

【公式ルール】

1. 発表参加者が読んで面白いと思った本を持って集まる.

2. 順番に一人5分間で本を紹介する.

3. それぞれの発表の後に参加者全員でその発表に関するディスカッションを2~3分行う.

4. 全ての発表が終了した後に「どの本が一番読みたくなったか?」を基準とした投票を参加者全員で行い,最多票を集めたものを『チャンプ本』とする.

知的書評合戦ビブリオバトル公式ウェブサイト

弊社での開催実績とか(リンク切れてますが)

 

社内では年1~2回くらいの頻度で開催しています。(納会の余興で開催したりしています)

かなりその人のシュミが出るので、相手の意外な一面が見えてきたりするかも?

テーマを絞って開催したりしても楽しめるかもしれません。弊社では過去に「来年度の新人にオススメしたい本」というテーマで開催しました。

また、人前で話すための練習としては割とハードル低めなので、そのあたりがニガテな方の練習としてもちょうどいいかも知れません。

(ビブリオバトル自体は大変奥深いものですけどね)

なるほどわかった。で、どっかでビブリオバトル開催しないんか

それが本題です。というか、この告知のためにエントリ書きました。

2015-9-12(土)に「Ryoutei 座・スタジアム」で「座駆動ビブリオバトル」を開催します!

3時間食べ飲み放題の会場でのビブリオバトルとなります。 技術書でも雑誌でも薄い本でもOKです。むしろ観覧だけでも全然OKです!

会場の都合上20人以上必要でまだまだ人が足りないので、興味があれば是非参加ください。

県外からお越しの方には若干のキャッシュバックがある、かも?

座駆動(したかったけどI社駆動)ビブリオバトル20150912

Scala関西 Summit 2015に行ってきました #scala_ks

ご安全に!角田です。

 

8月1日に開催された、 Scala関西 Summit 2015 に会社の経費で(交通費ですね)岡山から参加してきました。

f:id:inet_engineer:20160427213620j:plain

会場は 大阪市中央公会堂 でした。重要文化財です。実際奥ゆかしい。

f:id:inet_engineer:20160427213711j:plain

ノベルティを色々いただきました。

拝聴したセッション

  • チャットワークScala化プロジェクトの一年
  • LT大会
  • パネルトーク

でした。 個人的にドストライクだったのはがくぞ先生の「Refactoring with Functional Programming Style」でした。 コードを以下にFunctionalにしていくか、具体的に示されているので大変分かりやすかったです。 FP in Scala事前に読んでおいてなお良かった!(みなさんも是非読みましょう)

セッションの資料が気になる方は、拙作の Togetterまとめ に公開されているものについてはまとめている(つもり)なので、こちらをチェックしてみてくださいね。

0次会

懇親会の前に、 チャットワーク のみなさまにへばりついて0次会に参加してきました。 大阪という土地柄からか、私が主催している 天領倉敷Scala に以前参加頂いた方と再開したり岡山出身の方が結構いたり。

懇親会

完全にネタ方向に振り切ったLTをしてきました。 (大都会岡山ではデファクトです)

弊社で作った 定時退社主義ステッカー を若干数配布したのですが、そこそこお持ちいただけたようです。是非会社のPCに貼って周囲を威嚇していただければ。

参加してみて

関西圏でもScalaが広く使われてきているなぁという印象でした。 岡山ではまだまだといった感じなので、コミュニティ活動をもう少し活発にしてみようかなと思いました。 (最近年イチくらいになってきているので)

と、いう訳なので次回の天領倉敷Scalaをよろしくお願いします。

天領倉敷Scala 第13回勉強会

おまけ

こちらもよろしくお願いします。

「座」って何ぞ?という方はこちら

えるしってるか 大都会岡山には 最強の懇親会向け会場がある

Spring Boot Camp@岡山に参加してきました #okajug

ご安全に!角田です。 6/20(土)に開催されました Spring Boot Camp@岡山 に参加してきました。

Spring Boot #とは

Springプロジェクト には様々なプロダクトが存在します。

それらを組み合わせてプロダクション品質のアプリケーションを素早く作って即動かせるようにしてくれるフレームワークです。

何やってきたの?

あらかじめ途中までできているソースを元に、少しずつ実装しながらアプリケーションを仕上げていきました。 更にSpring Sessionを使って簡単にセッションを共有し、出来上がったアプリケーションを複数立ち上げられるようにしました。

簡単にアプリケーションがスケールしていく様子は参加者も大興奮でした。

ハンズオン資料 は公開されているので、興味のある方はぜひチャレンジしてみてください。

ハンズオン中はデモだけだったのですが、Dockerを利用してアプリケーションをポータブルにする方法も載っています。

Spring BootとDockerの相性はいい感じですね!

懇親会

ビアガーデンに行ってきました。ビールがおいしかったです。あとハイボールも。

講師の @making さんに著書のサインも頂きましたよ。

f:id:inet_engineer:20160427212856j:plain

参加してみて

色んな所で話題になっていたので、 事前に触ったり はしていたのですが、改めてSpring Bootの強力さを感じさせるハンズオンでした。

ハンズオンの内容はSpring Bootの内容とはちょっと外れた部分があったのですが、それもSpring Bootの素早くアプリケーションを構築することのできるチカラの賜物と言えるのではないでしょうか。

大都会岡山のIT勉強会コミュニティ一覧(2015年版)

f:id:inet_engineer:20160427212454j:plain

 角田です。こんにちはこんにちは!!

 

最近ちょいちょい新卒採用に絡んでて会社説明会で発表をしてるんですが(今日もやりました)、その中で弊社は「勉強会の運営や参加を社として推奨しています」的な話をしています。

で、取り敢えず言ってみたものの学生のみなさんはどんなのが開催されてるのか知らなかったりするだろうなと思い、ここに思いつく限り岡山で勉強会を開催しているコミュニティをリストアップすることにします。

Doorkeeperなんかは事前にコミュニティに参加しておくとイベントができた時にメールで連絡が来るので興味を惹くものがあれば登録しておくと吉だと思います。

その他にも、 AZusaar!! でイベントを横断検索できるので、「岡山」とかで検索すると色々見つかったりするかもしれません。

Study Mail で「岡山」のキーワードを登録しておいても色々拾ってくれると思います。

 

是非是非お近くの勉強会に足を運んでみてください。

 

あわせて読みたい勉強会に参加しよう

Rustことはじめ(その2 開発環境について)

f:id:inet_engineer:20160427205526p:plain

ドーモ、親愛なる読者のみなさん。角田です。

前回 に引き続き、今回はRustの開発環境について見ていきましょう。

Racerによるコード補完 

Racer は、Rustのコード補完を行ってくれます。

インストールは、今のところはソース取ってきてビルドしろ、らしいです。

とはいえ、Cargoでビルドするだけなので特に難しくはないです。

$ git clone https://github.com/phildawes/racer.git
$ cd racer
$ cargo build --release

target/release以下にバイナリが吐かれます。

Racerの動作にはRust本体のソースが必要となります。

別途ダウンロード しましょう。

実際にはRacerを別のエディタなりIDEなり経由で動かすことになるでしょう。RacerのreadmeにはEmacsVim について書かれています。

その他は?

指がEmacsVimに呪われてない人はどうすればいいのでしょうか?

上記以外のエディタやIDEについて見てみましょう。

SolidOak

f:id:inet_engineer:20160427212032p:plain

SolidOak は、Rustの軽量IDEです。

Racerはバンドルされており、ダウンロードすればすぐ動きます。が、LinuxMacのみのサポートです。

中身については、Vim+ファイルエクスプローラ+実行結果のコンソール、みたいな感じになっています。

指がVimに呪われてない人用にEasyMode(insertモードオンリーみたいな感じ)が用意されています。

が、これ個人的にはVimでいいんじゃないか感が…。

RustDT

f:id:inet_engineer:20160427212054p:plain

RustDT は、EclipseのRustプラグインです。

コード補完はRacerのパスをインストール後に設定する必要があります。

シンタックスハイライトとRacerのサポートくらいで、まだリファクタリングの機能などもない感じです。(アウトラインも出ない)

デバッグGDBを利用する形です。

idea-rust

f:id:inet_engineer:20160427212247p:plain

Intellij IDEA用のプラグイン です。

シンタックスハイライトくらいで、まだ補完機能はないようです。(近日来ます!的な文言がありますが直近の更新は2月くらい…)

light-rust

f:id:inet_engineer:20160427212159p:plain

LightTable 用のプラグインです。

こいつもシンタックスハイライトだけみたいです。

Sublime Text用プラグイン

f:id:inet_engineer:20160427212042p:plain

Sublime Text package for RustRust​Auto​Complete があるようです。それぞれシンタックスハイライトとRacer経由のコード補完をサポートします。

ちょっと使ってみた感じ結構良かったんですが、ドカドカtmpファイルを吐き出す謎挙動をしていました。何だったんだろう…。

まとめ

IDEの手厚いサポートについてはまだまだこれから、といったところです。

現時点だと、RustDTかSublimeText、もしくはVim/EmacsでRacerだけ使う、というのがベターでしょうか。

Rustことはじめ(その1 Hello WorldとCargo)

f:id:inet_engineer:20160427205526p:plain

 

ご安全に!角田です。 Mozillaが開発する Rust が5月16日に晴れて1.0.0をリリースしていたことで周囲でちょっと話題になっていたので、手を出してみました。

なるほどなるほど。ちょっと公式サイトとかWikipediaを見てみた感じ、ML系とかLispっぽい部分もあるっぽくて、結構好みです。

とりあえずインストール

ダウンロードページ を見てみると、流石に1.0.0の正式リリースだけあってLinux/Mac/Windowsあたりはバイナリが存在します。 Linux/Macではワンライナーでインストールドーン!!と行けます。

$ curl -sSf https://static.rust-lang.org/rustup.sh | sh

まずはHello World

まあこんなもんでしょうか。最近の言語にしては珍しく末尾にセミコロンがいるタイプみたいです。 ファイル名の命名規則は「スネークケースだけどアンダースコア入れなくてもよくね?」だそうです。ワイルド。

コンパイル

$ rustc main.rs

実行

$ ./main Hello, world!

Cargoでプロジェクト管理

Maven とか Gradle とか sbt とか Leiningen とか、まあその辺のツールに相当するものです。 Rustをインストールするとバンドルされています。

プロジェクトの新規作成

$ cargo new hello_world --bin

--binオプションは、アプリ作る用のオプションで、mainメソッドのあるソースが生成されます。 省略するとライブラリ用のプロジェクトになります。

--binあり

│ Cargo.toml
│
└─src
    main.rs

--binなし

│ Cargo.toml
│
└─src
    lib.rs

因みにここでは省略していますが、ついでに.gitディレクトリと.gitignoreまで作られます。なんだか色々と強気な感じがします。

Cargo.tomlはプロジェクトの設定ファイルです。 こんな感じのファイルが出来上がります。

authorsのところはgitで設定されていればそこから情報を引っ張ってくるみたいです。

ビルドと実行

ビルド

$ cargo build
Compiling hello_world v0.1.0 (file:///home/razon/workspace/hello_world)

実行 ```

$ cargo run
Running `target/debug/hello_world`
Hello, world!

もちろん、ビルドせずにrunしても、依存するbuildタスクを実行後にrunしてくれます。

次回は

開発環境について見てみようかと思います。 それではまた。