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
How did Clojure change my life
Search
kbaba1001
May 27, 2019
Programming
3
1.9k
How did Clojure change my life
kbaba1001
May 27, 2019
Tweet
Share
More Decks by kbaba1001
See All by kbaba1001
How to build a video conferencing system that no one has ever told you about
kbaba1001
0
32
Build React system with ClojureScript (Squint)
kbaba1001
0
100
talk-with-local-llm-with-web-streams-api
kbaba1001
0
410
Lume: Static Site Generator
kbaba1001
0
590
React_2023
kbaba1001
0
160
Word Penne
kbaba1001
0
190
I live by using a minor language
kbaba1001
1
160
fast optical line
kbaba1001
0
360
ArtPosePro and Procreate
kbaba1001
1
200
Other Decks in Programming
See All in Programming
ABEMAモバイルアプリが Kotlin Multiplatformと歩んだ5年 ─ 導入と運用、成功と課題 / iOSDC 2025
akkyie
0
320
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
100
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
680
株式会社 Sun terras カンパニーデック
sunterras
0
210
クラシルを支える技術と組織
rakutek
0
190
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.5k
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
490
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
160
CSC305 Lecture 03
javiergs
PRO
0
230
実践AIチャットボットUI実装入門
syumai
7
2.4k
2025年版 サーバーレス Web アプリケーションの作り方
hayatow
23
25k
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
170
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Automating Front-end Workflow
addyosmani
1371
200k
Code Review Best Practice
trishagee
72
19k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
Side Projects
sachag
455
43k
KATA
mclloyd
32
15k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Balancing Empowerment & Direction
lara
4
680
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Transcript
@kbaba1001 馬場一樹 2019/05/27
自己紹介 • 馬場一樹 (@kbaba1001) • フリーランス • 仕事は主にRuby • Clojureを触り始めて1年くらい
今日の話 • Clojureと関わるようになって僕の生活がどのように変わったか • マイナー言語を習得するメリットとか楽しさとか • 技術的な話はほぼしません
本編に入る前に • Clojureの紹介 • なぜClojureを始めようと思ったか • Clojureを触った感想
Clojureとは • JVMで動く言語(ScalaやKotlinの仲間) • Node.jsや.NETの処理系も同じOrganizationで開発されている • LISP • Rich Hickey
• "It is better to have 100 functions operate on one data structure than to have 10 functions operate on 10 data structures." - Alan J. Perlis • “10個の関数が10個のデータ構造にあるよりも、100個の関数が1個の データ構造にある方が良い” – アラン・パリス
Clojureとは • Map {:a 1 :b 2 :c 3} を中心にデータを扱う
• Ednファイル • Javaの機能をそのまま使うことが多い • Jettyとか JDBC とか • 便利機能が色々ある • Multimethod, 非同期処理, clojure.spec, etc
なぜClojureを始めようと思ったか
なぜClojureを始めようと思ったか • Common Lisp より使いやすそうだった • Ruby on Rails で
MVC とか DDD とかに飽きていて、もっとシ ンプルにできる方法が欲しかった • 静的型付け言語が好きになれなくて
Clojureを触った感想 • 思ったより素直に書ける • Lispに対する抵抗感は1時間くらいで消えた • RubyでもLambdaなどの関数型プログラミングの考えをよく使ってい たので、抵抗が少なかった • 小さなライブラリが多い
• 1ファイル100行程度のものも多い • Leiningen, Ring などのエコシステムが統一されている • 思想が面白い
None
今日の話 • Clojureと関わるようになって僕の生活がどのように変わったか
Clojureをはじめてみて発生した変化 • 友達や他のエンジニアと話のネタができた • Lispエイリアングッツを作り始めた • 技術書典でClojureの本を書いた • 英語(と中国語)を勉強するようになった •
Circle CI に就活した
話のネタができた • Clojureをやってる人が珍しい • 静的型付け言語との対比で話すことが多い • Lispきもいみたいな話になりがち
Lispエイリアングッツ ※非売品です
技術書典でClojureの本を書いた • 技術書典 • 技術書の同人誌即売会 • https://techbookfest.org/ • 技術書典5に参加 •
2018/10/08
書いた本(Kindleで買えます) • https://www.amazon.co.jp/dp/B07J3KJZYS/
書いた本 • Duct (Clojureの Web Framework) の入門書 • Clojure初心者向けでもあるので、Clojureの解説も少しある
なぜ書いたか • 日本語のClojureの本は2014年くらいから出版されてない • 英語では毎年数冊でてるっぽい • Ductに関するまとまったドキュメントは英語でもほぼない • 一番オフィシャルなドキュメント↓ •
https://github.com/duct-framework/docs/blob/master/GUIDE.rst • (最近はちょっとずつブログポストなども増えてる) • 自分も初心者だし力不足だけど書くことにした
はじめての技術書作り • Re:View + Vivliostyle (CSS組版) • PDFとepubの両方を作った • PDF→epubの順で作ったが、epub用のデータを作り直すはめになった
ので、epub→PDFの順のほうがたぶん楽だった • 書いても書いても終わらない… • 結局100ページくらい書いた
どのくらい売れたか • 技術書典ではQRコードを印刷した名刺サイズの紙を配布(電子 版のみで冊子は見本のみ) • 技術書典終了後、Kindleで販売 • 技術書典: 10冊~20冊くらい?(よく覚えてない) •
Kindle: 約30冊 + Unlimitedで読まれた分 • 利益でいうと15,338円獲得
Clojureをはじめてみて発生した変化 • 友達や他のエンジニアと話のネタができた • Lispエイリアングッツを作り始めた • 技術書典でClojureの本を書いた • 英語(と中国語)を勉強するようになった •
Circle CI に就活した
英語(と中国語) • Clojureは英語の情報が豊富 • 毎年書籍が出ている • Clojure Slack のコミュニティが活発 (英語)
• http://clojurians.net/ • 英語を読むだけでなく”書く”/”話す”もできるようになりたいと 思った
英語(と中国語)の勉強 • 2019/01/01 から本腰を入れてやってる • 中国語も気分転換にやってる • 漢字なので日本人には理解しやすい • 文法や文化が日本に近いので勉強しやすい
• 単語の意味を覚えればOKという事が多い(英語では同じ言葉が状況に よって異なる意味を持つことが多い) • DMM英会話、busuu、ELSA SPEAK、Tandemを主に使う • 本は文法・構文のみ • 資格試験(英検やTOEICなど)の勉強はしてない
Clojureをはじめてみて発生した変化 • 友達や他のエンジニアと話のネタができた • Lispエイリアングッツを作り始めた • 技術書典でClojureの本を書いた • 英語(と中国語)を勉強するようになった •
Circle CI に就活した
Circle CI に就活した https://boards.greenhouse.io/circleci/jobs/4243017002
Circle CI の求人 • Circle CI は Clojure を使っている •
2018年に東京にオフィスができた (初の海外オフィス) • 東京オフィスで働くシニアフルスタックエンジニアの求人 • Webページから履歴書とカバーレター(自己推薦書)を送る
応募してみた • はじめて英語で履歴書とカバーレターを書いた • 「そもそもカバーレターって何…?」からスタートした • 一応日本語版も送った • 2週間後くらいに面接の案内メールが来た! •
CTOとZoomで30分話した • 3日後くらいにお祈りメールが来た
なぜ書類選考が通ったのか • Clojureの本を書いていたので興味を持ってくれたらしい!
まとめ • Clojureをはじめたら、友達と話題ができて裁縫のスキルが上 がった • 本がないので自分で書いた • 英語から逃げられなくなった • やってる人が少ないので目立てるので、就活で役立った
おわり