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
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
210
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
360
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
460
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
500
What happened to RubyGems and what can we learn?
mikemcquaid
0
310
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
390
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.8k
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
630
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
Context Engineeringの取り組み
nutslove
0
370
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
私たち準委任PdEは2つのプロダクトに挑戦する ~ソフトウェア、開発支援という”二重”のプロダクトエンジニアリングの実践~ / 20260212 Naoki Takahashi
shift_evolve
PRO
1
110
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
What does AI have to do with Human Rights?
axbom
PRO
0
2k
A better future with KSS
kneath
240
18k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
63
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Crafting Experiences
bethany
1
50
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
54
Why Our Code Smells
bkeepers
PRO
340
58k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
140
Prompt Engineering for Job Search
mfonobong
0
160
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
330
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