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.8k
How did Clojure change my life
kbaba1001
May 27, 2019
Tweet
Share
More Decks by kbaba1001
See All by kbaba1001
talk-with-local-llm-with-web-streams-api
kbaba1001
0
260
Lume: Static Site Generator
kbaba1001
0
500
React_2023
kbaba1001
0
140
Word Penne
kbaba1001
0
150
I live by using a minor language
kbaba1001
0
130
fast optical line
kbaba1001
0
340
ArtPosePro and Procreate
kbaba1001
1
160
The Pragmatic Hanami
kbaba1001
0
1.9k
Recent writing of my Rails
kbaba1001
2
550
Other Decks in Programming
See All in Programming
Swift Testingのモチベを上げたい
stoticdev
2
190
ML.NETで始める機械学習
ymd65536
0
240
生成AIで加速するテスト実装 - ロリポップ for Gamersの事例と 生成AIエディタの活用
kinosuke01
0
140
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.2k
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
180
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
1.2k
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
200
CloudNativePGを布教したい
nnaka2992
0
120
GoとPHPのインターフェイスの違い
shimabox
2
210
ナレッジイネイブリングにAIを活用してみる ゆるSRE勉強会 #9
nealle
0
170
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
230
⚪⚪の⚪⚪をSwiftUIで再現す る
u503
0
100
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Documentation Writing (for coders)
carmenintech
68
4.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Agile that works and the tools we love
rasmusluckow
328
21k
Embracing the Ebb and Flow
colly
84
4.6k
Optimizing for Happiness
mojombo
377
70k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
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をはじめたら、友達と話題ができて裁縫のスキルが上 がった • 本がないので自分で書いた • 英語から逃げられなくなった • やってる人が少ないので目立てるので、就活で役立った
おわり