Submit Search
Upload
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話
•
Download as PPTX, PDF
•
4 likes
•
2,965 views
omi end
Follow
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話
Read less
Read more
Internet
Report
Share
Report
Share
1 of 24
Download now
Recommended
Scala超入門 - 2014/12/13 Scala関西勉強会
Scala超入門 - 2014/12/13 Scala関西勉強会
Asami Abe
php-study69
php-study69
Kenichi Mukai
Play2+Scala事始め
Play2+Scala事始め
Asami Abe
Play!
Play!
Satoshi Ando
SkinnyFrameworkやろうぜ!(+ScalaMatsuriレポート) #scala_kb
SkinnyFrameworkやろうぜ!(+ScalaMatsuriレポート) #scala_kb
Asami Abe
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
SatoYu1ro
言語アップデート -Scala編-
言語アップデート -Scala編-
Kota Mizushima
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発
papamitra
Recommended
Scala超入門 - 2014/12/13 Scala関西勉強会
Scala超入門 - 2014/12/13 Scala関西勉強会
Asami Abe
php-study69
php-study69
Kenichi Mukai
Play2+Scala事始め
Play2+Scala事始め
Asami Abe
Play!
Play!
Satoshi Ando
SkinnyFrameworkやろうぜ!(+ScalaMatsuriレポート) #scala_kb
SkinnyFrameworkやろうぜ!(+ScalaMatsuriレポート) #scala_kb
Asami Abe
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
SatoYu1ro
言語アップデート -Scala編-
言語アップデート -Scala編-
Kota Mizushima
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発
papamitra
Scala 初めての人が Heroku で Web アプリを公開するまで
Scala 初めての人が Heroku で Web アプリを公開するまで
Hideaki Miyake
めんどくさくない Scala #kwkni_scala
めんどくさくない Scala #kwkni_scala
Kazuhiro Sera
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
takeuchi-tk
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
yujiro_t
Scala勉強会
Scala勉強会
omi end
Full Stack Scala
Full Stack Scala
Ramnivas Laddad
altJSの選び方
altJSの選び方
terurou
ネタじゃないScala.js
ネタじゃないScala.js
takezoe
Wrapping a C++ library with Cython
Wrapping a C++ library with Cython
fuzzysphere
[Android] モジュール管理で ビルド高速化!
[Android] モジュール管理で ビルド高速化!
ichigotake .
2016 Android × Scala @ScalaMatsuri2016
2016 Android × Scala @ScalaMatsuri2016
Yasuyuki Sugitani
No te comas la coma
No te comas la coma
Pablo Rico
Scalaと過ごした5ヶ月間
Scalaと過ごした5ヶ月間
Haruki Okada
Androidアプリ開発で活躍必至!? ビルドツールGradle
Androidアプリ開発で活躍必至!? ビルドツールGradle
amayaw9
AndroidでScalaを使う際の問題点と対策
AndroidでScalaを使う際の問題点と対策
Mogi Isamu
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
Hitoshi Asai
ScalaプログラマのためのHaskell入門
ScalaプログラマのためのHaskell入門
Yasuaki Takebe
Hpcビジネスコンテンスト発表資料
Hpcビジネスコンテンスト発表資料
Hironori Nakajo
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発
Mogi Isamu
Pythonについて
Pythonについて
Kenji NAKAGAKI
More Related Content
Viewers also liked
Scala 初めての人が Heroku で Web アプリを公開するまで
Scala 初めての人が Heroku で Web アプリを公開するまで
Hideaki Miyake
めんどくさくない Scala #kwkni_scala
めんどくさくない Scala #kwkni_scala
Kazuhiro Sera
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
takeuchi-tk
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
yujiro_t
Scala勉強会
Scala勉強会
omi end
Full Stack Scala
Full Stack Scala
Ramnivas Laddad
altJSの選び方
altJSの選び方
terurou
ネタじゃないScala.js
ネタじゃないScala.js
takezoe
Wrapping a C++ library with Cython
Wrapping a C++ library with Cython
fuzzysphere
[Android] モジュール管理で ビルド高速化!
[Android] モジュール管理で ビルド高速化!
ichigotake .
2016 Android × Scala @ScalaMatsuri2016
2016 Android × Scala @ScalaMatsuri2016
Yasuyuki Sugitani
No te comas la coma
No te comas la coma
Pablo Rico
Scalaと過ごした5ヶ月間
Scalaと過ごした5ヶ月間
Haruki Okada
Androidアプリ開発で活躍必至!? ビルドツールGradle
Androidアプリ開発で活躍必至!? ビルドツールGradle
amayaw9
AndroidでScalaを使う際の問題点と対策
AndroidでScalaを使う際の問題点と対策
Mogi Isamu
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
Hitoshi Asai
ScalaプログラマのためのHaskell入門
ScalaプログラマのためのHaskell入門
Yasuaki Takebe
Hpcビジネスコンテンスト発表資料
Hpcビジネスコンテンスト発表資料
Hironori Nakajo
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発
Mogi Isamu
Pythonについて
Pythonについて
Kenji NAKAGAKI
Viewers also liked
(20)
Scala 初めての人が Heroku で Web アプリを公開するまで
Scala 初めての人が Heroku で Web アプリを公開するまで
めんどくさくない Scala #kwkni_scala
めんどくさくない Scala #kwkni_scala
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
Scala勉強会
Scala勉強会
Full Stack Scala
Full Stack Scala
altJSの選び方
altJSの選び方
ネタじゃないScala.js
ネタじゃないScala.js
Wrapping a C++ library with Cython
Wrapping a C++ library with Cython
[Android] モジュール管理で ビルド高速化!
[Android] モジュール管理で ビルド高速化!
2016 Android × Scala @ScalaMatsuri2016
2016 Android × Scala @ScalaMatsuri2016
No te comas la coma
No te comas la coma
Scalaと過ごした5ヶ月間
Scalaと過ごした5ヶ月間
Androidアプリ開発で活躍必至!? ビルドツールGradle
Androidアプリ開発で活躍必至!? ビルドツールGradle
AndroidでScalaを使う際の問題点と対策
AndroidでScalaを使う際の問題点と対策
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
ScalaプログラマのためのHaskell入門
ScalaプログラマのためのHaskell入門
Hpcビジネスコンテンスト発表資料
Hpcビジネスコンテンスト発表資料
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発
Pythonについて
Pythonについて
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話
1.
Scala初心者が Playframework/Scalaで ロックなWebアプリを作ったお話 ~ 実戦での Scala
~ 6つの事例から知る Scala の勘所 ~ LT 2015年02月21日 @omiend Scala初心者がPlayframework/ScalaでWebアプリを作ったお話
2.
プロフィール 名前 @omiend 趣味 ・映画 ・ジョギング ・音楽 ・ライブ ・娘(7ヶ月)の相手(NEW!) 育った環境 姉、姉、僕、妹、妹の5人兄弟 それでも僕は女心が分からない Scala初心者がPlayframework/ScalaでWebアプリを作ったお話
3.
Scala初心者がPlayframework/ScalaでWebアプリを作ったお話
4.
大好きなあのアーティ ストがこの時間に! あのアーティストと時 間がかさなってる! 本当だ! どっち観に行く? Scala初心者がPlayframework/ScalaでWebアプリを作ったお話
5.
Scala初心者がPlayframework/ScalaでWebアプリを作ったお話 お酒の力を借りながら作ってみた ドリンク・ドリブン・デベロップメント
6.
Scala初心者がPlayframework/ScalaでWebアプリを作ったお話 マイタイテ!(Beta) http://mytite.herokuapp.com/
7.
Scala初心者がPlayframework/ScalaでWebアプリを作ったお話 タイムテーブルを自由に 作成することができる
8.
稼働環境 などなど Scala初心者がPlayframework/ScalaでWebアプリを作ったお話
9.
Scala初心者がPlayframework/ScalaでWebアプリを作ったお話 こんな感じ ①PUSH ②HOOK ③sbt test テストエラー時 メール配信 ④PUSH
10.
Scala初心者がPlayframework/ScalaでWebアプリを作ったお話 全部ひっくるめて無料稼働! •Heroku :1xDynos •ClearDB :Ignite •Codeship:100build/M ※無料枠
11.
学習方法 Scala初心者がPlayframework/ScalaでWebアプリを作ったお話
12.
Scala初心者がPlayframework/ScalaでWebアプリを作ったお話 Scalaの学習方法 •まずはHelloWorld •書籍で学習 •Webなどで
13.
Scala初心者がPlayframework/ScalaでWebアプリを作ったお話 Playの学習方法 JavaでCRUDな アプリを実装し Scalaで焼き直す
14.
Scala初心者がPlayframework/ScalaでWebアプリを作ったお話 マイタイテの実装 Javaで実装し Scalaで焼き直す Scalaでしか出来ない 実装方法があれば 修正してみる
15.
Scala初心者がPlayframework/ScalaでWebアプリを作ったお話 マイタイテの実装 •パターンマッチ •immutableに •Optionを使ったり •関数を使ってみたり (mapとかforeachとかcollectとかとか) •などなど
16.
辛かった事 Scala初心者がPlayframework/ScalaでWebアプリを作ったお話
17.
Scala初心者がPlayframework/ScalaでWebアプリを作ったお話 辛かったと感じた事 学習コストが高かった REPL?Tuple?implicit ?無名関数?カリー化?部分適用?ク ロージャ?immutable?=>ってなに?->とはちがうの? → 一つずつ調べて動かして試してみるし かない
18.
Scala初心者がPlayframework/ScalaでWebアプリを作ったお話 Anormを使った事 → Slickで書きなおしてみた ソースコード量が1/5くらいに → ScalikeJDBCも気になっている 辛かったと感じた事
19.
Scala初心者がPlayframework/ScalaでWebアプリを作ったお話 Javaライクに書けてしまう → Javaエンジニアが行き当たりばっ たりで実装出来ちゃうのは、いつの間 にかアンチパターンにハマってるん じゃないか?と、危険だと感じている 辛かったと感じた事
20.
それでも Scala初心者がPlayframework/ScalaでWebアプリを作ったお話
21.
Scala初心者がPlayframework/ScalaでWebアプリを作ったお話 今でもScalaを 書いていて 楽しい! と感じている
22.
Scalaの学習は継続し マイタイテ!は今後も 機能追加・改善を目指し ともに少しずつ 成長して/させていきます! Scala初心者がPlayframework/ScalaでWebアプリを作ったお話
23.
Scala初心者がPlayframework/ScalaでWebアプリを作ったお話 マイタイテ!(Beta) http://mytite.herokuapp.com/
24.
ご清聴 ありがとう ございました Scala初心者がPlayframework/ScalaでWebアプリを作ったお話
Editor's Notes
お疲れ様です、それでは Scala初心者がPlayframeworkとScalaでロックなWebアプリを作ったお話 をさせていだきます
初めまして、遠藤と申します。 業務では、なんかJavaっぽいものを書いている、妻と娘とお酒とロックを愛するしがないエンジニアです。 Scala歴は1年ちょっとのまだまだ初心者ですが、自分なりに普及させようと社内勉強会を主催したりとがんばってます 趣味は映画観賞や、音楽が大好きで、ライブにも良く行きます 特にロックフェスティバルというものが好きです
ロックフェスティバルというのはですね、 複数のステージと多数のアーティストが出演してライブをするというようなもので ステージごとの演奏スケジュールを”タイムテーブル”と呼んだりします これは昨年行われたとある夏フェスのタイムテーブルです
このタイムテーブルを友達と囲んで アレ見に行くコレ見に行くなんて感じでワイワイやるのが まあ一つのだいご味だったりするわけでして そんなタイムテーブルを好きなアーティストだけで自作して 友達と共有できたら楽しいだろうなと思って
お酒を飲みながら作ってみました! ダブルでロックです はい
ソレがコレです。 名前を「マイ タイムテーブル」、略して「マイタイテ!」と呼びます。
自由にタイムテーブルを作成することができますので このアプリで自分だけのオリジナルフェスを作って お友達とワイワイ遊んでもらえたらいいなーなんて思っています。
業務でとなると微妙かもしれませんが 学習・趣味がてら作ったアプリを動かす上では、十分でした。 Bitbucketさんにプッシュして、Codeshipさんにフックして、テストを回して OKだったらHerokuさんにプッシュして動作させています CodeshipさんとかHerokuさんの設定をちょっとしてあげるだけで あとは、僕がやることはBitbucketさんにプッシュするだけなのでコーディングに専念できます
これで、今のところ無料で稼働させています まあ、非力なのですぐに落ちと思いますが、ご愛嬌デス
まあ、あまり面白いものではないかもですが どうやってScalaとPlayを学習したかといった話です
Scalaについて、まあ大したことはありませんね ハロワーやって、書籍を購入して1ページずつめくって試して あとはネットの情報を読み漁ってます コップ本はですね、えーっと、嫁稟議がなかなか通らなくて、ですね まだ読んでません ごめんなさい
Playの方もだいたい一緒ですね Javaには慣れ親しんでいるので、まずはJavaでCRUDなアプリを作成してみました そこでつかんだ流れをもとに、Scalaで再度同じ処理を実装して行きました 手間ですけど、僕にとってはこれが一番分かりやすいとおもいました
基本的にここまでやれば、マイタイテの実装も出来るだろうということで、 同じように、手間ではありますが、初めはJavaで実装し、そこからScalaで焼きなおしてました あと、その中で、Scalaの特徴といいますが、Scalaでしか出来ない実装方法があれば、都度修正してみました 具体的ですが
パターンマッチを使ったり Nullを徹底的に排除してみるためOptionを使ったり 関数を使ってみたり などなどといった具合です 修正した結果、微妙だったら戻したり
やっぱり学習コストが高いと感じました 初めは分からないことだらけなのですが 一つずつ動かして覚えていくしかないですね
初めはデータベースのアクセス周りにAnormを使ってたのですが 分かりやすいのは良いのですが、コード量がすごく多くなってメンテナンスが大変でした なので、Slickに載せ替えてみました コード量で言うと1/5くらいになって、良い感じです あと、ScalikeJDBCも気になっています
これが一番つらいです Javaに慣れてるので、もしかしたら知らないうちにScalaのアンチパターンに陥ってるんじゃないか?って思ってます もちろんコレが正解!ってのは無いと思ってるので、いっぱい書いて覚えていくしかないんでしょうかね
Javaエンジニアからしてみると、Scalaの書き方ってすごくトリッキーに見えて、その実とてもスマートといいますか 「こういう書き方もあるのか!」と気づくのが面白いです 初めて1年ちょっととかになるのですが、今でもScalaを書いていて楽しいと感じます
とまあ、こういった感じで、今後も機能追加・改善を目指し少しずつ成長させていきます。
最後に ロックを聴きつつロックなお酒飲みながら作ったものですので大したものではありませんが 気になる方が居れば、是非一度のぞいてみてください!
ご清聴ありがとうございました。
Download now