Submit Search
Overview of Scala ~ Hacker Tackle
14 likes
4,462 views
Daisuke Kasuya
2015-09-26 Hacker Tackle
Technology
Read more
1 of 44
Download now
Downloaded 10 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
More Related Content
What's hot
(20)
PDF
ScalaにまつわるNewsな話
Yosuke Mizutani
PDF
JavaからScalaへ
takezoe
PDF
Scala勉強会_2014_11_18
Shuya Tsukamoto
PDF
関西Java女子部とScala関西勉強会のご紹介
Asami Abe
PDF
20140208 jaws hokuriku-intro
Kazuki Ueki
PDF
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Asami Abe
PDF
Scala×silverlight
terurou
PPTX
オイシックスxAWS導入事例
Saori Tanaka
PDF
Scalaの現状と課題
Kota Mizushima
PDF
AWS re:invent2019 内部勉強会
KEISUKE KONISHI
PPTX
元インフラエンジニアが Scalaを触ってつまづいたところ。
takako onoue
PDF
DOO-001_Azure を利用したエンタープライズ Java アプリケーション開発の今とこれから!!
decode2016
PPT
Swiftを迷わず選んだ理由
zuckerburg
PDF
逆引きクイックセミナー
Koichiro Ohba
PDF
Swift Library
Kosuke Usami
PDF
20141202 jaws ug
Shinya Yamada
PDF
20141216 CM re:Growth Previewが通りにくい“Aurora”を ガッツリ触ってみた! #cmdevio
宗 大栗
PPTX
ScalaでASICやFPGA用の回路を設計するChisel
Kei Nakazawa
PDF
BigDLでScala × DeepLearning に入門した話
hirotakanosato
PDF
Non-Functional Programming in Scala
takezoe
ScalaにまつわるNewsな話
Yosuke Mizutani
JavaからScalaへ
takezoe
Scala勉強会_2014_11_18
Shuya Tsukamoto
関西Java女子部とScala関西勉強会のご紹介
Asami Abe
20140208 jaws hokuriku-intro
Kazuki Ueki
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Asami Abe
Scala×silverlight
terurou
オイシックスxAWS導入事例
Saori Tanaka
Scalaの現状と課題
Kota Mizushima
AWS re:invent2019 内部勉強会
KEISUKE KONISHI
元インフラエンジニアが Scalaを触ってつまづいたところ。
takako onoue
DOO-001_Azure を利用したエンタープライズ Java アプリケーション開発の今とこれから!!
decode2016
Swiftを迷わず選んだ理由
zuckerburg
逆引きクイックセミナー
Koichiro Ohba
Swift Library
Kosuke Usami
20141202 jaws ug
Shinya Yamada
20141216 CM re:Growth Previewが通りにくい“Aurora”を ガッツリ触ってみた! #cmdevio
宗 大栗
ScalaでASICやFPGA用の回路を設計するChisel
Kei Nakazawa
BigDLでScala × DeepLearning に入門した話
hirotakanosato
Non-Functional Programming in Scala
takezoe
Viewers also liked
(7)
PPTX
Plasticity Investor Pitch
Jim Moss
PPTX
Seleccion de bandas
Martin Canibulin
PDF
大人の自動販売機を復活せよ!
stucon
PDF
Educación inclusiva, el camino hacia el futuro.
José María
PDF
I Want My MVP (Digital Project Management Summit 2014)
Anthony Armendariz
DOC
A project report on hdfc standard life insurance
Projects Kart
PDF
Ejemplo de primaria
Editorial MD
Plasticity Investor Pitch
Jim Moss
Seleccion de bandas
Martin Canibulin
大人の自動販売機を復活せよ!
stucon
Educación inclusiva, el camino hacia el futuro.
José María
I Want My MVP (Digital Project Management Summit 2014)
Anthony Armendariz
A project report on hdfc standard life insurance
Projects Kart
Ejemplo de primaria
Editorial MD
Similar to Overview of Scala ~ Hacker Tackle
(20)
PPTX
Futureのおまじないを理解する(LT)
Hideaki Tarumi
PDF
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Kazuhiro Sera
PDF
Scalaで萌える関数型プログラミング[エッセンシャル版]
Ra Zon
PDF
Scalaでのプログラム開発
Kota Mizushima
PPT
Scala Daysに行ってみて
Kota Mizushima
PDF
Scalaと過ごした5ヶ月間
Haruki Okada
PDF
20160127三木会 RDB経験者のためのspark
Ryuji Tamagawa
PPTX
Scala採用の背景とその後 @ hitomedia night #5
Jiro Hiraiwa
PDF
Scalaによるドメイン特化言語を使ったソフトウェアの動作解析
Yamagata Yoriyuki
PDF
日本Scalaユーザーズグループ発足
Kota Mizushima
KEY
Beginners Scala in FAN 20121009
Taisuke Shiratori
PDF
Skinny Framework で始めた Scala
Ryuji Yamashita
PDF
【LT】 怖くない恐怖のScala.js
Yuto Suzuki
PPTX
Scala.jsはじめました!
K Kinzal
PDF
Scala開発チームの挑戦-技術編-@DevLove2014
Kiyotaka Kunihira
KEY
Beginners scala 20121113
Taisuke Shiratori
PDF
ユーザーデータ基盤を1からScalaでつくった話し
Hideaki Tarumi
PDF
Dark vol4 for_slideshare
ara_ta3
PDF
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Kazuhiro Sera
PDF
Asakusa Framework 勉強会 2014 夏
鉄平 土佐
Futureのおまじないを理解する(LT)
Hideaki Tarumi
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Kazuhiro Sera
Scalaで萌える関数型プログラミング[エッセンシャル版]
Ra Zon
Scalaでのプログラム開発
Kota Mizushima
Scala Daysに行ってみて
Kota Mizushima
Scalaと過ごした5ヶ月間
Haruki Okada
20160127三木会 RDB経験者のためのspark
Ryuji Tamagawa
Scala採用の背景とその後 @ hitomedia night #5
Jiro Hiraiwa
Scalaによるドメイン特化言語を使ったソフトウェアの動作解析
Yamagata Yoriyuki
日本Scalaユーザーズグループ発足
Kota Mizushima
Beginners Scala in FAN 20121009
Taisuke Shiratori
Skinny Framework で始めた Scala
Ryuji Yamashita
【LT】 怖くない恐怖のScala.js
Yuto Suzuki
Scala.jsはじめました!
K Kinzal
Scala開発チームの挑戦-技術編-@DevLove2014
Kiyotaka Kunihira
Beginners scala 20121113
Taisuke Shiratori
ユーザーデータ基盤を1からScalaでつくった話し
Hideaki Tarumi
Dark vol4 for_slideshare
ara_ta3
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Kazuhiro Sera
Asakusa Framework 勉強会 2014 夏
鉄平 土佐
More from Daisuke Kasuya
(20)
PDF
Devlove mackerel
Daisuke Kasuya
PDF
PHPカンファレンス2015
Daisuke Kasuya
PDF
Api meetup LT
Daisuke Kasuya
PDF
中国地方Db勉強会
Daisuke Kasuya
PDF
トイレに閉じ込められた心情をMackerelで可視化してみる
Daisuke Kasuya
PDF
システムをダイナミックに運用する from DevLove関西
Daisuke Kasuya
PDF
ScalaMatsuri 2014 LT
Daisuke Kasuya
PDF
DevLOVE甲子園 西日本
Daisuke Kasuya
PDF
Scala関西ビギナーズ
Daisuke Kasuya
PDF
RxTStudy- git gitにされた俺の屍を越えて行け -
Daisuke Kasuya
PDF
こわくないScala
Daisuke Kasuya
PDF
デブサミ関西 自分戦略 2013
Daisuke Kasuya
PDF
Scala conf2013
Daisuke Kasuya
PDF
ペアプロ
Daisuke Kasuya
KEY
Dev love関西 forslideshare
Daisuke Kasuya
KEY
git gitにされたオレの屍を超えていけ
Daisuke Kasuya
KEY
Play勉強会 第3回
Daisuke Kasuya
KEY
Techreaders3
Daisuke Kasuya
KEY
鹿駆動勉強会ポスター2
Daisuke Kasuya
KEY
鹿駆動勉強会ポスター
Daisuke Kasuya
Devlove mackerel
Daisuke Kasuya
PHPカンファレンス2015
Daisuke Kasuya
Api meetup LT
Daisuke Kasuya
中国地方Db勉強会
Daisuke Kasuya
トイレに閉じ込められた心情をMackerelで可視化してみる
Daisuke Kasuya
システムをダイナミックに運用する from DevLove関西
Daisuke Kasuya
ScalaMatsuri 2014 LT
Daisuke Kasuya
DevLOVE甲子園 西日本
Daisuke Kasuya
Scala関西ビギナーズ
Daisuke Kasuya
RxTStudy- git gitにされた俺の屍を越えて行け -
Daisuke Kasuya
こわくないScala
Daisuke Kasuya
デブサミ関西 自分戦略 2013
Daisuke Kasuya
Scala conf2013
Daisuke Kasuya
ペアプロ
Daisuke Kasuya
Dev love関西 forslideshare
Daisuke Kasuya
git gitにされたオレの屍を超えていけ
Daisuke Kasuya
Play勉強会 第3回
Daisuke Kasuya
Techreaders3
Daisuke Kasuya
鹿駆動勉強会ポスター2
Daisuke Kasuya
鹿駆動勉強会ポスター
Daisuke Kasuya
Recently uploaded
(8)
PDF
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜.pdf
Masaki Yamakawa
PDF
プライバシ保護のためのインターネットアーキテクチャの進化 (2025-07-11)
Jun Kurihara
PDF
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
PDF
[Hardening Designers Confernece 2025]ランサムウェアでの見えざるログ・見えるログ
kataware
PDF
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
NTT DATA Technology & Innovation
PDF
Hyperledger Fabric公式サンプル fabric-samples徹底解説
LFDT Tokyo Meetup
PDF
Hyperledger Fabric最新v3.x系での機能強化、変更点にキャッチアップ!
LFDT Tokyo Meetup
PDF
20250711_日本IBM ミドルウエア・ユーザー研究会(JIMUC)総会_中村会長資料.pdf
ChikakoInami1
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜.pdf
Masaki Yamakawa
プライバシ保護のためのインターネットアーキテクチャの進化 (2025-07-11)
Jun Kurihara
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
[Hardening Designers Confernece 2025]ランサムウェアでの見えざるログ・見えるログ
kataware
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
NTT DATA Technology & Innovation
Hyperledger Fabric公式サンプル fabric-samples徹底解説
LFDT Tokyo Meetup
Hyperledger Fabric最新v3.x系での機能強化、変更点にキャッチアップ!
LFDT Tokyo Meetup
20250711_日本IBM ミドルウエア・ユーザー研究会(JIMUC)総会_中村会長資料.pdf
ChikakoInami1
Overview of Scala ~ Hacker Tackle
1.
Overview of Scala ~Scalaひとめぐり~ 2015年9月26日Hacker
Tackle id:daiksy
2.
本日の内容 • Scalaの周辺状況 • 採用事例(海外・国内) •
はてなインターンの様子 • Scalaの特徴
3.
粕谷 大輔 id:daiksy (@daiksy) 株式会社
はてな
7.
• スイス連邦工科大学 (EPFL)のMartin Odersky(小田好)教授によって設計 •
JVMで動作(古の時代は .net Frameworkでも動 いた) • オブジェクト指向と関数型言語のパラダイム
8.
daiksyのScala歴 • 2011年 くらいからちょっと触りだす •
2012年 ~ 2014年 フリュー株式会社 • 2015年 ~ 現在 株式会社 はてな
9.
日本でも規模の大きな カンファレンス • 2013年 Scala
Conference in Japan • 2014年 ScalaMatsuri 2014 • 2015年 Scala関西Summit
11.
採用事例 (海外) • Twitter 「Scalaで日本のバルスに耐えた」 (ScalaMatsuri2014にて) •
Linkedin • Netflix (はてな京都でミートアップ開催)
12.
採用事例 (国内) • ドワンゴ •
サイバーエージェント • スマートニュース • TIS (Typesafeとパートナー契約) • LINE • ヌーラボ • はてな
13.
Scala != Better
Java LLからの移行事例が増加 • チャットワーク PHP -> Scala • はてなブックマーク Perl -> Scala
14.
利用できる主なフレームワーク • Lift • Play
Framework • Scalatra • Skinny Framework
15.
はてなサマーインターン 2015 今年からScalaコースを新設
16.
はてなサマーインターン Scalaコースのカリキュラム • 1日目 Scalaの言語基礎
& 課題(講師 id:daiksy) • 2日目 DB講義 & 課題(講師 id:mechairoi) • 3日目 HTTP, WAF講義 & 課題(講師 id:Songmu) • 最後の3週間 Mackerelチームでプロダクト開発 他にもJavaScriptやインフラの講義も
17.
Scalaの特徴 • JVM上で動作 • 静的な型付けと型推論 •
オブジェクト指向 • 関数プログラミング
18.
静的な型付けと型推論
19.
静的な型付けと型推論
20.
多態性 (オブジェクト指向)
21.
多態性 (オブジェクト指向) • trait
を使って実現 • trait は複数mixinできる • trait に実装することもできる
22.
関数プログラミング • 関数が第一級オブジェクト • 副作用を伴わない実装のための機能 •
if 式 • for 式 • 抱負なコレクションメソッド
23.
関数が第一級オブジェクト
24.
副作用とは • 変数の値を変更する • オブジェクトのフィールドを変更する(Javaの setterとかC#
のプロパティとか) • ファイルやデータベースなどに対する入出力
25.
副作用のない宣言(immutable)
26.
副作用のない宣言(immutable) • var で宣言すると再代入できる •
val で宣言すると再代入できない • Scalaはコードスタイルや状況に応じてmutable とimmutableを使い分けられる • いわゆる「非純粋関数型言語」
27.
if 式
28.
if 式
29.
for 式
30.
コレクション • List/Array/Map/Set いろいろある •
コレクションには便利なメソッドが山程ある • map/filter/flatMap/find/findAll/reduce • take/drop/exists/sort/sortBy/zip/partition • grouped/groupBy
31.
FizzBazzを実装してみよう
32.
副作用のない実装まとめ • val で宣言することで変数が再代入できなくなる •
if式 for式 コレクション操作 などを駆使すると、 val だけでプログラミングできるようになる • 慣れるとvar を使わざるを得ない局面で悔しみを 感じる
33.
Scalaではnullも使わない • 言語仕様的にはnullは存在する • Scalaではnullを使わずOption型を使う
34.
Option型 • あるかないかわからない値を表現できる型 • Someの中身を使うには明示的に取り出す操作 が必要
(ぬるぽに悩まずにすむ)
35.
Option型 • 値があるときはSomeでくるむ • 値がないときはNone
36.
Option型 • Optionは型なので、そのまま使おうとすると コンパイルで怒られる
37.
Option型のいろいろな 取り出し方
38.
Option型 • 要素が0または1のコレクションとみなせる • flatMap,
foreachなどのコレクションのメソッ ドを持っている
39.
Option型同士の計算
40.
今日ご紹介しきれない いろいろな機能 • case class •
強力なパターンマッチ • 暗黙の変換 (implicit)
41.
無限に勉強できる
42.
Scalaは難しい? • 言語仕様が多いので学習コストは低くない • 表現力が抱負なので、Better
Javaとして書いて もよい (最初はvar使ってもいいのでは) • 関数プログラミングが難しい? -> 新しいパラダ イムの学習は難しい。オブジェクト指向もそれ は一緒
43.
Enjoy Scala!!
44.
ご清聴ありがとうございました
Download