Furyu
[フリュー公式]

Tech Blog

フリュー株式会社の技術ブログです

2016年01月28日

sakata

ScalaMatsuri 2016に登壇します

Hello World! コンテンツ・メディア第1事業部の、jyukutyoこと阪田です。

1/30(土)、31(日)にScalaMatsuri 2016というカンファレンスが開催されます。ScalaMatsuriはプログラミング言語Scalaをテーマにした日本最大級のカンファレンスです。登壇者も日本人だけでなく外国人の方も多く担当します。そのため英語から日本語への同時通訳だけでなく、逆の日本語から英語への同時通訳もあります。

フリューではScalaを以前から実プロダクトに多く採用しており、ScalaMaturiも前回に続いてスポンサーとなっています。ScalaMatsuriではスポンサーのランク名に日本らしさを出しており、将軍、大名とありますがフリューは旗本スポンサーです。http://scalamatsuri.org/#sp

セッションはすべて公募であり、カンファレンスの参加チケットを購入された方の投票で決まります。私jyukutyoも発表内容を応募した結果、当選となり登壇できることとなりました!

私のセッションは1/30(土)14:30 – 14:45「ScalaコードはJVMでどのように表現されているのか」です。なお、私のチームではScalaではなくJavaで開発しており、Scalaそのものについては私は話せません。ただ、実行環境は同じJVMであるので、今回はScalaそのものではなくJVMで実行するためのScalaのバイトコードに着目した内容としています。

遠方で参加できない!やチケットが買えなかった!という場合でも、メイントラックのセッションはすべてニコニコ生放送されますので視聴できます。私のセッションもメイントラックですので、ぜひご覧ください。ScalaMatsuri 2016 1日目 メイントラック


2014年09月25日

kunihira

ScalaMatsuriでEnjoy.Scala!の裏側

こんにちは。 Scalaで女性を幸せにするエンジニアの国平です。

前回の記事では、ScalaMatsuriの表側として参加レポートを書きました。

今回の記事では、スタッフやスポンサーとして参加して見えた裏側の話を少ししてみようと思います。

アンカンファレンス

アンカンファレンスは国内ではあまり事例のないイベントですが、今回翻訳チームとしても、登壇者としても活躍されていた横田さんの提案で導入されました。 スタッフ内でもアンカンファレンス経験者がほとんどいなかったため、本当に手探りで準備を進めていきました。 特に、アンカンファレンスは当日の参加者に委ねられる部分が大きいので、何を準備すればいいのかというところから議論を重ねて、事前にリハーサルをしたり、アンカンファレンスの説明文を何度も遂行したりしました。

結果的に、Odersky先生によるCodeClinicやパネルディスカッションなど、その場に集まった方々の発想が相互作用して素晴らしいセッションをつくり上げることが出来ました。

セッションスケジュールを調整している時、「これはすごいことになってきた!」という発言がありました。 この瞬間に私はアンカンファレンスが成功したと感じました。

翻訳チームの貢献

ScalaMatsuriは日本が誇る国際的なScalaカンファレンスで、海外からの招待講演者を始め英語のセッションが多く用意されていました。 とはいえ、そのまま英語オンリーでは、参加者のハードルが高くなってしまいます。 ScalaMatsuriでは、その問題を解消するためにScalaMatsuriスタッフのうち、英語が堪能なメンバーがセッション中同時翻訳で、英語<->日本語で翻訳を行い、IRCに投稿、それを表示するという事を行っていました。

この翻訳作業、複数人のチームワークで行われていたのですが、ScalaMatsuriは朝から夜まで、しかも2日間に渡って続くイベントですので、本当にセッション中ずっと翻訳作業をしてくださっていました。

私自身、カンファレンスのスクール形式で英語を聞き取るのはかなり難しかったので、非常にありがたかったですし、逆に海外から参加して頂いた方に対して、日本のScala界隈の情報を発信出来たのではないかと思います。

スポンサーCM

今回セッション間の休憩中にスポンサー各社のCMを放映しました。 放映させて頂いたフリューのCMがこちらです。

FuRyuScalaMatsuriCM from Kuchitama on Vimeo.

はい、しょぼいですね。 なんせこれ、私が片手間で作ったムービーなので…

ただ、他のスポンサー各社はかなり力を入れられていました。 他のCM動画を公開できなくて残念ですが、日本のScala利用企業のパワフルさが発揮されてるように思いました。 来年は弊社ももっと力をいれたCMを作りたいです

スタッフとして活動してみて

私は、たまたまScalaMatsuriがボランティアスタッフを募集していることを知り、参加することにしました。

関西在住なのでリモートでのミーティング参加でした。 最初は、リモート参加することに不安がありました。 しかし、ミーティング以外でのやりとりの大半はco-meetingを使ってオンライン上で行われていましたし、ミーティング時もco-meetingに発言した内容を適宜拾ってもらえたので、問題なく意見交換をすることが出来ました。

タスクも、リモートでも作業可能な内容のものも多くありました。今回は、アンカンファレンスの説明用のチラシ作成のみ担当しましたが、まだまだリモートでも作業できることはあると思っています。

まとめ

2回にわたって、ScalaMatsuri2014の参加レポートを報告させて頂きました。 ScalaMatsuriというイベントがあったこと、その場の雰囲気、盛り上がりを少しでも知って頂けたら幸いです。 2日目が終わって、撤収作業を進めているときに、すでに「来年」の話題になっていました。 今も、次回に向けて少しずつ準備しています。 もし、Scalaが大好きで日本のScalaコミュニティに貢献したいという方がいらっしゃれば、私と一緒にボランティアに申し込んでイベントを盛り上げましょう。

Let’s Enjoy.Scala !!


2014年09月12日

kasuya

#ScalaMatsuri 参加の所感

粕谷です。

国平がボランティアスタッフとしての視点から参加レポートを投稿していたScalaMatsuri。僕は去年のScala Conference 2013に続いての参加となります。

そこで、去年と比べてScalaコミュニティにどのような変化があったか、と言った視点を交えつつ参加レポートを書きたいと思います。

導入企業の増加

去年のScala Conferenceは、コミュニティのコアなメンバーが集まっていた濃い雰囲気がありましたが、今年はそれに比べて段違いにオープンな雰囲気になっていました。要因としては、参加人数の増加が考えられると思いますが、その中でも「Scalaを実際に導入して活用している企業」が大幅に増えている印象が強いです。

カンファレンス内でも各企業が導入・活用事例を紹介していましたが、それらも単なる活用事例というよりも、実際の運用ノウハウの共有などといった、一歩踏み込んだ内容が多かったです。

Scalaの導入事例で面白かったのは、弊社のようにJavaからの移行、という例はむしろ少なくて、RubyやPHPのような動的言語からの移行事例が多いようです。特にスピード感が求められるWeb開発において、運用中のシステム改修の安定化という観点で、静的言語を用いて改修の影響範囲をコンパイル時に検知したい、というニーズが強まり、その中でScalaが採用候補として選ばれるパターンが多いようです。

このあたりは我々がScalaを用いてソーシャルゲームの開発・運用をする際に重視している観点とも共通しています。特にソーシャルゲーム開発は短い開発期間でコードの広い範囲に手をいれるケースも多く、現状の我々の運用方法を考えると動的言語の採用は少し難しいところです。

求人数の増加

Scala導入企業の増加に伴い、当然の流れとして求人数も増加しています。各社ともスポンサーLTでは積極的に採用情報をお話されていました。中には人事部の人と一緒に参加された企業もありました。

ちなみにScalaMatsuri参加企業は東京を拠点とするところが多かったですが、弊社は京都にてScalaを用いた開発を行っておりますので、関西でScala導入企業を探しておられるエンジニアの皆さんはお気軽にご相談ください。弊社のキャリア採用ページはこちらになります。

アンカンファレンスでDDDを学ぶ

弊社では現在、始業前の30分間を利用して、週2日DDD本の読書会を開催しています。
2日目のアンカンファレンスではかとうじゅんいちさんがDDDのセッションを立ちあげられたので、そこに参加してきました。

ScalaとDDDは非常に相性が良い、というのはかとうさん以前からのお考えで、そういった事もあってScalaMatsuriにおけるDDDセッションは盛況でした。
我々も、素人の集まりの読書会ではなかなか議論をしていても明確な答えにたどり着けないものもあったりしますので、有識者と直接対話する機会を得たことは大きかったです。普段の読書会で頻繁に議論になる問題について、直接質問して知見をいただく事ができました。

Scalaという言語の裾野が拡がっている

今年のScalaMatsuriに参加して思ったことは、Scalaという言語が結構な勢いで裾野を拡げているな、ということです。
もちろん、まだ「メジャー言語」と呼ばれるほどの位置づけではありませんが、前述した動的言語からの移行事例などを聴いていると、今後もさらなる普及の可能性があるように感じます。

まだまだフロンティアな世界でもあるScalaの世界。我々と一緒に開拓していきませんか?


2014年09月11日

kunihira

ScalaMatsuriでEnjoy.Scala!の表側

国平です。 前回の記事からご無沙汰しております。

社内でEMLauncherの運用も安定したので、続きの記事を書こうかと思っていたのですが、ちょっと連載ストップしてScalaについての記事を連投します。

(連載ってまだ1回しか書いてないですね…)

というのも、先日、東京は渋谷マークシティにあるサイバーエージェントさまのオフィスにて、JapanScalaAssociation主催のScalaMatsuri2014が開催されました。 日本最大のScalaイベントということもあり、去年のScalaConferenceに続いて今年もフリューはGoldスポンサーとしてご協力しました。

さらに、会社のスポンサーとは別に、私個人はScalaMatsuriスタッフとしても参加しました。

そんなわけで、ScalaMatsuriの表も裏も見えてしまいましたので、ご報告したいと思います。

表編

今回はScalaMatsuri表側のお話です。

Day1 カンファレンス

ScalaMatsuri1日目は、一般的なスクール形式での発表が組まれました。 座長の水島さんのオープニングセッションに始まり、Scalaそのものを開発され、Scalaスケーラブルプログラミング(通称コップ本)を執筆されたOdersky先生の発表がありました。

ScalaMatsuriのセッションの様子はドワンゴさまのご協力により、ニコニコ生放送で公開されていますので、ご興味のある方はそちらをご覧ください。

あと、ひょっとしたらフリューから参加した別のメンバーがこのブログに記事を書いてくれるかもしれません|д゚)チラッ

懇親会

1日目の最後は懇親会で締めくくられました。 懇親会は、フリューでも行ったビアバッシュ形式でした。 この懇親会のオープニングでサプライズが! なんとScalaMatsuri2014前日はOdersky先生のお誕生日でした! ということで、バースデーケーキのプレゼント!!

この後、Odersky先生に「私はScalaで日本の女性を幸せにしてます。」とご挨拶しました。 さらに、図々しくスタッフ法被にサインまでいただいて、さらにさらに一緒に写真を撮ってもらいました。

Odersky先生と

というわけで、

フリューはOdersky先生公認のScalaで日本の女性を幸せにする企業です!

あと、懇親会中にスポンサーLTと公募LTが行われました。 スポンサーLTには弊社の日本の女性を幸せにする女性エンジニアの辻が自身のScalaの習得体験談を発表。 さらに、公募LTでも弊社粕谷がLTを行いました。

ScalaMatsuri2014_tsuji_y ScalaMatsuri2014_daiksy

Day2 アンカンファレンス

ScalaMatsuri2014の2日目はアンカンファレンスを実施しました。 アンカンファレンスとは、カンファレンスに否定の接頭辞がついている事からわかるように、1日目のようなスクール形式の発表が続くカンファレンスではなく、主催者が場と設備を用意して、参加者が自分たちで作り上げるイベントです。 まだまだ日本では普及していないスタイルですが、NE Scala など海外のイベントではいくつも実施例があります。

アンカンファレンスの詳しい説明は是非SalaMatsuri公式ページのアンカンファレンスを参照してください。 この形式は日本ではまだまだ取り組みが少ないため、この公式ページの記載についても、スタッフで意見を出し合って、かなりブラッシュアップを重ねました。

Scalaエンジニアを増やすために

このセッション、私が提案し、座談会のファシリテータをつとめました。 このテーマを挙げた目的としては、フリューでは定期的にScalaで開発された乙女ゲームをリリースしていますが、事業の成長にあわせて、組織もスケールする必要が出てきました。 組織をスケールさせるために、どうすればScalaエンジニアを集める事ができるのか。他の方々はどういった取り組みを行っているのか。と言う点を、この場に集まった方々とディスカッションして深めたいという思いがありました。

最初にLTを少しはさんで、その後は座談会に進み、飛び込みでScalaMatsuri2014スタッフの @tototoshiさんにLTをしていただききました。

(私のLT資料をこのブログで公開しようかと思ったのですが、突貫で作ってクオリティが低いことと、あくまで座談会の導入として利用したという事から、ここでの公開は控えます)

ScalaMatsuri2014_kuchitama

この座談会を通して、Scalaエンジニアを増やすためには、Scalaの導入事例を発信したり、情報をまとめたりといった、地道な草の根活動を続けて行くのが大事なんじゃないかという方向性が見えてきました。 セッション中、「5年前からScalaに注目しているが、昔とは比べ物にならないほどユーザが拡大しているし、今も増えている」との意見があり、今後のScalaの拡大に期待が持てました。 実際ScalaMatsuriも去年のScalaConferenceよりも動員人数が増加しており、この勢いは続きそうです。 フリューもイベントスポンサーだけでなく、このブログなどで情報を発信して、Scalaコミュニティに貢献して行きたいと考えています。

まとめ

今回の記事では、私が見たScalaMatsuri2014の表についていくつかトピックをご報告しました。

Odersky先生を始め、世界トップクラスのScalaエンジニアが集まり、日本のScalaコミュニティは既に国際的なレベルまで成長していることがよくわかるイベントでした。

そして、Scalaが今後まだまだ成長する言語であることが様々な面から確信できるイベントでもありました。 Scalaエンジニアに取ってこれだけ価値のあるイベントはなかなかないので、次回開催の折にはぜひご参加いただきたいと、自信をもってオススメします。

フリューも、Odersky先生公認の日本の女性を幸せにするScala企業となったので、今後もScalaで頑張って行きたいと思います。


2014年06月10日

kunihira

GitBucketで社内OSSしませんか

GitBucketGit

皆様こんにちは。
季節の変わり目で夏風邪を引いてしまった国平です。
暑いからといって布団もかけずに扇風機つけっぱなしで寝て、 明け方に体を冷やしてしまいました。
皆様もご注意ください。

さて、今回は社内勉強会でGitBucketについてお話させていただいたので、 その内容を投稿させていただきます。

発表の目的

社内サーバにGitBucketを導入してしばらく一人で使っていたのですが、 問題なく利用できそうで、せっかくPullRequestやIssueなどの機能があるので、 もっと大勢で使いたいと思い、周知のために発表しました。

GitBucketとは

GitBucket@takezoen さんが開発してOSSとして公開されているGitHubクローンのWebアプリです。 Scalaで書かれていて、単体のjarでも実行できるので、お試し導入が非常にしやすいというメリットがあります。

もともと、お手軽に導入できるツールだったのですが、ここ最近、ブログやQiitaなどに記事が増えてきていて、情報も充実してきています。

参考

導入の経緯

フリューでは元々は普段の業務にSVNサーバを社内に立てて使っていたのですが、 2年ほど前からGitHubを使うようになりました。

それで社内にも自由に使えるGitリポジトリをホスティングしたかったのですが、 WindowsのGitクライアントであるmsysGitがgitプロトコルに未対応だったので、 Webフロントエンドを持っていてhttpプロトコルで利用できるGitBucketを導入しました。

勉強会の内容

要約すると、

  1. Gitいいよ、Git
  2. SocialCodingいいよ、SocialCoding
  3. でも、GitHubもBitBucketもちょっと社内ツールとか書き貯めるには制限が…
  4. そこでGitBucket!!
  5. いろいろリポジトリ作って上げてるので、プルリクください!

という感じです。

発表資料

発表資料はこちら↓

GitBucketで社内OSSしませんか? from Kiyotaka Kunihira

発表後の質疑

発表後にもらった質疑とその回答(加筆あり)をまとめます。

Q. GitHubでできてGitBucketでできないことはあるか?

A. 何点かあって、まずコミットに対してコメントをするレビュー機能が無いです。 これは、発表資料中にもあるソーシャルコーディングの機能の一つなのですが、Issueは上がっていて、対応予定はあるみたいです。

次に、コミットグラフの機能が無いです。これについてもIssueは上がっています。 とりあえず、下記のコマンドでCUI上でもグラフ表示することもできるので、問題にはならないと思います。

あと、GitHubはCircleCIとかいろいろ外部サービスと連携できる機能がありますが、 GitBucketはPushされたタイミングで、特定のURLを叩くだけになります。 とはいえ、社内ユースでJenkinsと連動させるなら十分だと思います。

Q. 同様のOSSにGitLabがあるけど、そっちは使わないの?

A. 昔、GitLabも検討したことがありますが、インストールが面倒で投げ出しました。 今は、rpmが公開されて導入が簡単になったみたいですが、すでにGitBucketインストール済みなので、試してないです。 あと、個人的にScalaを応援する意味でGitLab押しです。

Q. 会社のプロキシのせいでGit使いづらいんだけど…

A. こちらの方が素晴らしいツールを開発してくれてます。 git-proxy-clone Clone時はコレを使うと便利です。

すでにローカルにgitリポジトリがある場合は、 .git/config を修正したらOKです。 プロキシ経由したくない場合、下記みたいにしとけばプロキシを通らずにすみます。

プロキシを経由させたい場合は、Qiita / GitでProxyの設定を参考に、 local の設定を変更してもらったらいいと思います。

まとめ

GitBucketは導入が簡単で、社内で利用するのに最適なGitHubクローンです。 これを利用して、社内ツールの開発を活性化させて、快適な仕事環境を整えましょう。