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
Clojure in General #TechLunch
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Livesense Inc.
PRO
April 23, 2014
Technology
0
44
Clojure in General #TechLunch
2012/01/18(水) @ Livesense TechLunch
発表者:佐藤 洋輔
Livesense Inc.
PRO
April 23, 2014
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
27新卒_総合職採用_会社説明資料
livesense
PRO
0
2.5k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
6.5k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
180
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
1.6k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
550
26新卒_総合職採用_会社説明資料
livesense
PRO
0
12k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
2
51k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
13k
中途セールス職_会社説明資料
livesense
PRO
0
290
Other Decks in Technology
See All in Technology
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
230
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
AI駆動PjMの理想像 と現在地 -実践例を添えて-
masahiro_okamura
1
110
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
560
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
140
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
350
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
450
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
650
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
230
AI駆動開発を事業のコアに置く
tasukuonizawa
1
180
Featured
See All Featured
Crafting Experiences
bethany
1
48
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
62
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
110
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
The SEO Collaboration Effect
kristinabergwall1
0
350
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Building AI with AI
inesmontani
PRO
1
690
Are puppies a ranking factor?
jonoalderson
1
2.7k
Transcript
Clojure in General Stairway to a L!p hacker
Table of Contents 1ɾClojureͱ 2ɾͯ͢ γʔέϯεͰ͋Δ 3ɾίʔυͱσʔλ 4ɾकഁ
1ɾClojureͱ
ؔܕݴޠ ; => ·ͨྲྀߦΓͷͰ͢ Lispํݴ ; => ׅހύϥμΠε(^o^) Rich Hickey
; => ಡΈํ͕ɻɻɻ 2007σϏϡʔ ; => nil ཧΑΓ࣮༻ੑॏࢹ ; => Haskell
༷ʑͳݴޠ࣮ JVMݴޠͱͯ͠༗໊͕ͩɺ࣮ඇґଘ Clojure ; => JVM࣮ ClojureCLR ; => .Net࣮
ClojureScript ; => JavaScript࣮
༷ʑͳϑϨʔϜϫʔΫ Noir ; => WebΞϓϦέʔγϣϯϑϨʔϜϫʔΫ Korma ; => RDBMSʢવO/RͰͳ͍ʣ SeeSaw
; => Swing Cascalog ; => Hadoop 2007ʹͰ͖ͨݴޠͱࢥ͑ͳ͍ॆ࣮ͿΓ
LispͷྗΛࣦΘͳ͍ ݶΓʹ͓͍ͯ ग़དྷΔ͚ͩLispΒ͘͠ͳ͘ car, cdr ; => ͕͢͞ʹաڈϋʔυґଘɻɻɻ ׅހলུ ;
=> ΄Μͷͪΐͬͱ(^_^;) ۭϦετධՁ ; => Clojureͷํ͕ݫີ
2ɾͯ͢ γʔέϯεͰ͋Δ
͕ͯ͢ϦετͷLispͱҧ͍ɺClojure ͷͯ͢γʔέϯε γʔέϯε΄ͱΜͲͷू߹ܕΛந Խͨ͠ͷ first, rest, consΛ࣮
LispͷϦετίϯεηϧ͕ͩɺ ClojureͷϦετ࣮ඇґଘ ( peek '(1 2 3)) ; => 1
( peek [1 2 3]) ; => 3
Ͳͷ͘Β͍͔ͯ͢
͕ͯ͢࿈ྻͳ JavaScript͞Μͷ߹
͕ͯ͢γʔέϯεͳ Clojure͞Μͷ߹
; => ͜ͷਗ਼ʑ͍͠·Ͱͷ ͯͬ͢Γ͕ Կͷʹཱͭͷ͔ɻɻɻ
3ɾίʔυͱσʔλ
ؔɺϚΫϩɺಛघܗࣜɺԋࢉࢠɺ ͦͷ͕ͯ͢΄ͱΜͲಉ͡Α͏ʹѻ͑ Δ μοΫλΠϓͷڀۃܥ ίʔυͱσʔλͷڥք͢Βᐆດ
4ɾकഁ
ClojureʢLispʣͷจ๏Clean Code తʹ͍͏ͱNGͳॻ͖ํΛॿ͍ͯ͠Δ ͍ҾϦετ ҾͷॱংʹΑΔڧ͍ҙຯ͚
; => جຊΛकΔ͚ͩͰ ಘΒΕͳ͍ྗ͕ ͋Δͱ͍͏͜ͱ
ߏจ͕؆ૉͳͨΊϝλϓϩάϥϛϯά͕ ༰қ ԋࢉࢠɺ΄΅ͳΜͰ࠶ఆ͕ٛͰ ͖Δ ҙຯෆ໌ʹͳΓ͗͢ͳ͍Α͏ϦʔμʔϚΫ ϩॻͰ͖ͳ͍ʢLispͱରরతʣ ෳࡶͳߏจΛҥ͢ΔRubyɺ؆ܿͳߏจ Λ֦ு͢ΔLisp
; => ݴޠͦͷͷΛ ഁյ͢ΔΑ͏ͳڧ͍ྗʹ େ͖ͳ͕͏
ΦϒδΣΫτࢦݴޠɺෳࡶ͗͢ΔߏจΛε Ϛʔτʹݟ͔͚ͤΔͨΊͷ࣮ʹखؒΛऔΒΕ ա͍͗ͯΔ ͦͯͦ͠ͷ࣮ʹΑΓ·ͨҰίʔυͷෳࡶ͞ ͕૿͍ͯ͠Δ ݱࡏCIπʔϧͳͲͰͦͷෳࡶ͔͞Βੜ·ΕΔ ϛεΛٵऩ͢Δํʹಈ͍͍ͯΔ ͰͦͷπΪϋΪ͞ɺ͔ͭͯίʔυͷγϯϓ ϧ͞ΛઃఆϑΝΠϧͰ୲อ͍ͯͨ࣌͠Λኲኵ ͱͤ͞Δ
; => ͦΖͦΖॅΈ׳Εͨ ॴ͔ΒΕΔͷʹ ͍͍࣌ظ͔͠Εͳ͍
͓·͚: ඌݺग़࠷దԽ ؔඌͰͷؔݺग़ɺݺग़ݩͷϦιʔεΛ DEALLOCATE͢Δ͜ͱͰ࠷దԽͰ͖Δ JVM͕ະରԠ Scalaಠࣗʹඌ࠶ؼ࠷దԽʢTCOʣΛ࣮ Clojurerecur...loopಛघܗࣜΛ༻ҙ
ͳͥClojureࣗಈͰ TCO͠ͳ͍͔ ؤுͬͯඌ“࠶ؼ”࠷దԽ͔͠Ͱ͖ͳ͍͔Β ໌ࣔతͳߏจΛ༻ҙ͢Δ͜ͱͰ࠷దԽνΣοΫ Ͱ͖Δ͔ΒʢScala2.8͔ΒΞϊςʔγϣϯͰ ޙଓʣ ࠶ؼઌΛؔͰॊೈʹઃఆͰ͖Δ͔Βʢ࠶ؼ ͷ୯Ґ͕খ͍͞߹ɺผؔఆٛμϧ͍ʣ
࣍ճ༧ࠂ
Git "#$buted Version Control Sy#em
Ͱͦͷޙ ClojureScript ClojureϑϨʔϜϫʔΫ ʹΔ༧ఆ
Bye!!!