Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHPエンジニアが始めるScala
Search
harakenta
December 04, 2017
Technology
0
550
PHPエンジニアが始めるScala
青山エンジニア勉強交流会~Scala勉強会~
https://techplay.jp/event/640848
harakenta
December 04, 2017
Tweet
Share
Other Decks in Technology
See All in Technology
Digitization部 紹介資料
sansan33
PRO
1
6.4k
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
180
BidiAgent と Nova 2 Sonic から考える音声 AI について
yama3133
2
150
モノタロウ x クリエーションラインで実現する チームトポロジーにおける プラットフォームチーム・ ストリームアラインドチームの 効果的なコラボレーション
creationline
0
610
ハッカソンから社内プロダクトへ AIエージェント ko☆shi 開発で学んだ4つの重要要素
leveragestech
0
610
サラリーマンソフトウェアエンジニアのキャリア
yuheinakasaka
33
16k
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
310
迷わない!AI×MCP連携のリファレンスアーキテクチャ完全ガイド
cdataj
0
370
産業的変化も組織的変化も乗り越えられるチームへの成長 〜チームの変化から見出す明るい未来〜
kakehashi
PRO
1
420
複雑さを受け入れるか、拒むか? - 事業成長とともに育ったモノリスを前に私が考えたこと #RSGT2026
murabayashi
1
1.6k
I tried making a solo advent calendar!
zzzzico
0
140
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
0
340
Featured
See All Featured
Design in an AI World
tapps
0
110
Building Adaptive Systems
keathley
44
2.9k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
100
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
41
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
49
Navigating Weather and Climate Data
rabernat
0
66
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Typedesign – Prime Four
hannesfritz
42
2.9k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
44
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Technical Leadership for Architectural Decision Making
baasie
0
200
Transcript
1)1ΤϯδχΞ ͕࢝ΊΔ 4DBMB
ݪݡଠ )BSB,FOUB भۀେֶେֶӃमྃ ݱࡏגࣜձࣾϑΝϯίϛϡχέʔγϣϯζ भۀେֶଔۀ
αʔόαΠυΤϯδχΞͱͯ͠ܞΘΔ εϚʔτϑΥϯ͚ΞυωοτϫʔΫ OFOE αʔόαΠυΤϯδχΞͱͯ͠ܞΘΔ
ΞϓϦࠂ͚ ϏσΦΞυϓϥοτϑΥʔϜ ݱࡏαʔόαΠυΤϯδχΞͱͯ͠ܞΘΔ WJJEMF
ܕ ҆ શ ϥ Π ϒ ϥ Ϧ ෆ ม
None
ܕ ҆ શ
$account = array( "name" => "fan", "age" => 18 )
BSSBZ Ͱ ΰχϣΰχϣ
$account = array( "name" => "fan", "age" => "eighteen" )
ͨ·ʹ 4USJOH
case class Account( name: String, age: Int ) Կ͕ೖΔ͔ Ұྎવ
type Name = String type Age = Int case class
Account( name: Name, age: Age ) ܕΤΠϦΞε Ͱݟ͑Δੈք
type Name = String type Age = Int def hoge(name:
Name) : Age = 18 Ҿ ฦΓ Ұྎવ ίϯύΠϧ࣌ʹݟͯ͘ΕΔͷͰߋʹ҆৺
ܕ ҆ શ DBTFDMBTT ܕ Τ Π Ϧ Ξ ε
Ҿ ฦ Γ
ܕ ҆ શ DBTFDMBTT ܕ Τ Π Ϧ Ξ ε
Ҿ ฦ Γ ϥ Π ϒ ϥ Ϧ
$BLF1)1 Ͱ υϯʂʂ
scalaz/ cats બͿ͕࢟ ੜ·Εͨ doobie/ ScalikeJDBC ؔܕϓϩάϥϛϯά %# ૢ࡞
ܕ ҆ શ DBTFDMBTT ܕ Τ Π Ϧ Ξ ε
Ҿ ฦ Γ ϥ Π ϒ ϥ Ϧ ࢟ બ Ϳ ָ ͠ ͞
ܕ ҆ શ DBTFDMBTT ܕ Τ Π Ϧ Ξ ε
Ҿ ฦ Γ ϥ Π ϒ ϥ Ϧ ࢟ બ Ϳ ָ ͠ ͞ ෆ ม
$account = array( "name" => "fan", "age" => 18 )
͍ͭ͜Λ
$account = array( "name" => "fan", "age" => 18 )
unset($account["age"]) ͍ͭ͜Λ ͜͏͢Δͱ όάΒͤ·ͨ͠͝ΊΜͳ͍͞ɺͳΜͰ͠·͢
val account = Account("fan",18) JNNVUBCMF Ͱ҆৺
ܕ ҆ શ DBTFDMBTT ܕ Τ Π Ϧ Ξ ε
Ҿ ฦ Γ ϥ Π ϒ ϥ Ϧ ࢟ બ Ϳ ָ ͠ ͞ ෆ ม WBM JN N VUBCMF
ෆ ม 4DBMB ͷັྗ ͬͯ͜Ε͚ͩʁ
val hoge:Option[String] = Some("fan") val fuga:Option[String] = None 0QUJPO JTTFUɺFNQUZ
OVMMɺOVMM
ෆ ม val hoge:Option[String] = Some("fan") hoge match { case
Some(_) => ... case None => ... } NBUDIDBTF JG ͳΜ͍ͯΒͳ͍ ྻڍܕʢTFBMFEʣͰͷذͩͬͯՄೳ
val hoge : Either[Throwable,Int] = Right(18) &JUIFS 3JHIU SJHIU
val hoge: Either[Throwable,Int] ɹɹɹɹɹɹɹɹɹɹ= Right(18) val fuga: Either[Throwable,Int] ɹɹɹɹɹɹɹɹɹɹ= Right(20)
for { _ <- hoge _ <- fuga } yield () GPS ճ͢ͷศར
val hoge: Either[Throwable,Int] ɹɹɹɹɹɹɹɹɹɹ= Right(18) val fuga: Either[Throwable,Int] ɹɹɹɹɹɹɹɹɹɹ= Right(20)
for { _ <- hoge _ <- fuga } yield () GPS ͑ ͳʹ͜Ε
val hoge: List[Int] = List(1,2,3) val fuga = hoge.map{ i
=> i + 1 } NBQ ͋ ͋
val hoge: List[Int] = List(1,2,3) val fuga = hoge.flatMap{ i
=> List(Option(i + 1)) } qBU.BQ ͋
val hoge : List[Int] = List(1,2,3) val fuga = hoge.traverse{
... } USBWFSTF DBUT ͷͳͷͰৄࡉ࣍ͷൃදͰʂ
ϫλγɺϚμ ॻ͚ΔؾɺγφΠ
0QUJPO NBUDIDBTF &JUIFS NBQqBU.BQ USBWFSTF
Θͳͯ͘ ϓϩμΫτͷ ίʔυॻ͚Δ
ܕ ҆ શ DBTFDMBTT ܕ Τ Π Ϧ Ξ ε
Ҿ ฦ Γ ϥ Π ϒ ϥ Ϧ ࢟ બ Ϳ ָ ͠ ͞ ෆ ม WBM JN N VUBCMF ֶ श ί ε τ
XFC ͰؤுΔ υϫϯΰ༷ͷ 4DBMB5FYU IUUQTEXBOHPHJUIVCJPTDBMB@UFYU
ຊ ͰؤுΔ 4DBMB εέʔϥϒϧϓϩάϥϛϯά
ؤுΒͳ͍ ઌਓͷܙΛआΓΔ ͜ͷޙ͙͢ʂ
ܕ ҆ શ DBTFDMBTT ܕ Τ Π Ϧ Ξ ε
Ҿ ฦ Γ ϥ Π ϒ ϥ Ϧ ࢟ બ Ϳ ָ ͠ ͞ ෆ ม WBM JN N VUBCMF ֶ श ί ε τ X FC ຊ ઌ ਓ ͷ ܙ
1)1ΤϯδχΞ ͕࢝ΊΔ 4DBMB
None