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
180
Lume: Static Site Generator
kbaba1001
0
450
React_2023
kbaba1001
0
130
Word Penne
kbaba1001
0
130
I live by using a minor language
kbaba1001
0
120
fast optical line
kbaba1001
0
330
ArtPosePro and Procreate
kbaba1001
1
150
The Pragmatic Hanami
kbaba1001
0
1.9k
Recent writing of my Rails
kbaba1001
2
540
Other Decks in Programming
See All in Programming
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
250
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
340
Beyond ORM
77web
9
1.4k
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
2
470
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
780
命名をリントする
chiroruxx
1
470
LLM Supervised Fine-tuningの理論と実践
datanalyticslabo
7
1.6k
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
190
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
9
2.1k
Go の GC の不得意な部分を克服したい
taiyow
3
870
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
210
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
200
Featured
See All Featured
Done Done
chrislema
182
16k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Faster Mobile Websites
deanohume
305
30k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
920
RailsConf 2023
tenderlove
29
940
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Being A Developer After 40
akosma
89
590k
Making the Leap to Tech Lead
cromwellryan
133
9k
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をはじめたら、友達と話題ができて裁縫のスキルが上 がった • 本がないので自分で書いた • 英語から逃げられなくなった • やってる人が少ないので目立てるので、就活で役立った
おわり