2015年8月28日金曜日

Spring in Summer 雑感

これいってきました

Spring in Summer ~ 夏なのにSpring
https://jsug.doorkeeper.jp/events/27682

最初のほうと、最後のほうは所要で外したんだけど、午後のセッションはだいたい聴くことができた。

その中でも、やっぱり、pivotalのJosh Long氏の話が面白くて時間作って行ってよかったなーと思った。(同時通訳の方も早口なのにすごい翻訳だった)

Josh Long氏は地球の裏側からきたばっかりらしいんだけど、3つのセッションを大変パワフルにこなしてました。

The Macro of Microservices
概念的な話。アジャイルでDevOpsでCIでねーみたいな。
pivotalは、開発とデリバリーの溝を埋めたい。
プラットフォームを作りたいという顧客がいる。これはクレイジーだと思う。
ソフトウェア企業だったら、ソフトウェアに注力しようよ。チップを製造したりはしないでしょ?
Art of scalability読んでみてね。いい本だよ。子どもにも読み聞かせよう(笑うとこ)
Netflixすごいよ話。アメリカ人めっちゃ見てるよ。
コンウェイの法則として知られる法則「ソフトウェアを開発する組織は、その構造をそっくりまねた構造の設計を生み出す」
オープンソースを開発している組織は、分散アーキテクチャになるけど、
クローズドソースで開発している組織は、同じ部屋で開発して、モノリシック化してしまう。

ほかいろいろ

The Bootiful Application
ライブコーディングセッション#1
Spring bootてきな。

The Bootiful Microservice
ライブコーディングセッション#2
Spring Cloudてきな。

以下、あんまり細かくメモはとってないので超ざっくりと雑感。
(細かいところは、twitterのhash tagをみるとよいかと:https://twitter.com/hashtag/jsug_sis?src=hash

マイクロサービスアーキテクチャ(以下、MSA)について、よく日本のネット界隈で言われてることって、ガラパゴス、とまでは言わないけど、ちょっと断片的だったり、ポイントがずれていたりするのかな、って思ったりした。

特に、実装面で、よくMSAとして言われてるのは単にAPIの集合みたいなケースが多いように思うんだけど、実際、netflixはこんな感じで(逸れるけど、netflixのgithubすごいよね)、我々の、spring bootとspring cloudで(netflixのOSSの力も使って)、こんな風に実現できるんだぜ、みたいな。

見せ方がうまいなーと思うのもあるけど、やっぱり概念だけじゃなくて、実装を見ると、SOAと言われてた時に、分散アーキテクチャとしてこういう要素要るよね、って言われてた内容が、MSAでも、こういうの必要だよね、ってなってリアリティがでてきた。

the Macro of Microservices by Josh Long
https://speakerdeck.com/joshlong/the-macro-of-microservices


ライブコーディングの一部はここにあるっぽい
https://github.com/joshlong/bootiful-microservices

勉強しないとなーという気になったので、行ってよかった。とりあえず、netflixとspring cloudのリポジトリみてみなきゃ。

おしまい٩(๑❛ᴗ❛๑)۶


見かけた公開資料

マイクロサービスアーキテクチャの設計
http://www.slideshare.net/yusuke/jug2015

Spring Framework / Boot / Data 徹底活用 〜Spring Data Redis 編〜
http://www.slideshare.net/yoshidanaohiro52/spring-framework-boot-data-spring-data-redis

Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
http://www.slideshare.net/Yoichi-KIKUCHI/jsug2015-summer-spring

20150828 JSUG Spring in Summer 2015 - Spring BootアプリケーションをAmazon Elastic Beanstalkに一発でデプロイしてみよう
http://www.slideshare.net/daisuke_m/20150828-jsug-spring-in-summer-2015-spring-bootamazon-elastic-beanstalk

2015年8月26日水曜日

golang1.5 + gb + gojiでhello world 3分クッキング

gojiを試しつつ、ginのほうが好きかも...

// 適当にpathを設定
$ export GOPATH=~/go

// gb落とす
$ go get github.com/constabulary/gb/...

// プロジェクトのディレクトリ掘る
$ mkdir -p example-project/src/hello

// ここ(https://github.com/zenazn/goji/blob/master/README.md)に書いてあるexampleをとりあえず動かしてみる
$ vim ./example-project/src/hello/main.go

// これ通さないとだめっぽい("don't run this binary directly, it is meant to be run as 'gb vendor ...'" って怒られる)
export GB_PROJECT_DIR=./example-project

// fetchする(vendorディレクトリがつくられる)
$ cd ./example-project
$ ~/go/bin/gb-vendor fetch github.com/zenazn/goji
$ ~/go/bin/gb-vendor fetch github.com/zenazn/goji/web

// buildする
$ ~/go/bin/gb build

// 実行
$ ./bin/hello

// アクセスしてみよう
http://localhost:8000/hello/shase

おしまい٩(๑❛ᴗ❛๑)۶