Slide 1

Slide 1 text

@kbaba1001 馬場一樹 2019/05/27

Slide 2

Slide 2 text

自己紹介 • 馬場一樹 (@kbaba1001) • フリーランス • 仕事は主にRuby • Clojureを触り始めて1年くらい

Slide 3

Slide 3 text

今日の話 • Clojureと関わるようになって僕の生活がどのように変わったか • マイナー言語を習得するメリットとか楽しさとか • 技術的な話はほぼしません

Slide 4

Slide 4 text

本編に入る前に • Clojureの紹介 • なぜClojureを始めようと思ったか • Clojureを触った感想

Slide 5

Slide 5 text

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個の データ構造にある方が良い” – アラン・パリス

Slide 6

Slide 6 text

Clojureとは • Map {:a 1 :b 2 :c 3} を中心にデータを扱う • Ednファイル • Javaの機能をそのまま使うことが多い • Jettyとか JDBC とか • 便利機能が色々ある • Multimethod, 非同期処理, clojure.spec, etc

Slide 7

Slide 7 text

なぜClojureを始めようと思ったか

Slide 8

Slide 8 text

なぜClojureを始めようと思ったか • Common Lisp より使いやすそうだった • Ruby on Rails で MVC とか DDD とかに飽きていて、もっとシ ンプルにできる方法が欲しかった • 静的型付け言語が好きになれなくて

Slide 9

Slide 9 text

Clojureを触った感想 • 思ったより素直に書ける • Lispに対する抵抗感は1時間くらいで消えた • RubyでもLambdaなどの関数型プログラミングの考えをよく使ってい たので、抵抗が少なかった • 小さなライブラリが多い • 1ファイル100行程度のものも多い • Leiningen, Ring などのエコシステムが統一されている • 思想が面白い

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

今日の話 • Clojureと関わるようになって僕の生活がどのように変わったか

Slide 12

Slide 12 text

Clojureをはじめてみて発生した変化 • 友達や他のエンジニアと話のネタができた • Lispエイリアングッツを作り始めた • 技術書典でClojureの本を書いた • 英語(と中国語)を勉強するようになった • Circle CI に就活した

Slide 13

Slide 13 text

話のネタができた • Clojureをやってる人が珍しい • 静的型付け言語との対比で話すことが多い • Lispきもいみたいな話になりがち

Slide 14

Slide 14 text

Lispエイリアングッツ ※非売品です

Slide 15

Slide 15 text

技術書典でClojureの本を書いた • 技術書典 • 技術書の同人誌即売会 • https://techbookfest.org/ • 技術書典5に参加 • 2018/10/08

Slide 16

Slide 16 text

書いた本(Kindleで買えます) • https://www.amazon.co.jp/dp/B07J3KJZYS/

Slide 17

Slide 17 text

書いた本 • Duct (Clojureの Web Framework) の入門書 • Clojure初心者向けでもあるので、Clojureの解説も少しある

Slide 18

Slide 18 text

なぜ書いたか • 日本語のClojureの本は2014年くらいから出版されてない • 英語では毎年数冊でてるっぽい • Ductに関するまとまったドキュメントは英語でもほぼない • 一番オフィシャルなドキュメント↓ • https://github.com/duct-framework/docs/blob/master/GUIDE.rst • (最近はちょっとずつブログポストなども増えてる) • 自分も初心者だし力不足だけど書くことにした

Slide 19

Slide 19 text

はじめての技術書作り • Re:View + Vivliostyle (CSS組版) • PDFとepubの両方を作った • PDF→epubの順で作ったが、epub用のデータを作り直すはめになった ので、epub→PDFの順のほうがたぶん楽だった • 書いても書いても終わらない… • 結局100ページくらい書いた

Slide 20

Slide 20 text

どのくらい売れたか • 技術書典ではQRコードを印刷した名刺サイズの紙を配布(電子 版のみで冊子は見本のみ) • 技術書典終了後、Kindleで販売 • 技術書典: 10冊~20冊くらい?(よく覚えてない) • Kindle: 約30冊 + Unlimitedで読まれた分 • 利益でいうと15,338円獲得

Slide 21

Slide 21 text

Clojureをはじめてみて発生した変化 • 友達や他のエンジニアと話のネタができた • Lispエイリアングッツを作り始めた • 技術書典でClojureの本を書いた • 英語(と中国語)を勉強するようになった • Circle CI に就活した

Slide 22

Slide 22 text

英語(と中国語) • Clojureは英語の情報が豊富 • 毎年書籍が出ている • Clojure Slack のコミュニティが活発 (英語) • http://clojurians.net/ • 英語を読むだけでなく”書く”/”話す”もできるようになりたいと 思った

Slide 23

Slide 23 text

英語(と中国語)の勉強 • 2019/01/01 から本腰を入れてやってる • 中国語も気分転換にやってる • 漢字なので日本人には理解しやすい • 文法や文化が日本に近いので勉強しやすい • 単語の意味を覚えればOKという事が多い(英語では同じ言葉が状況に よって異なる意味を持つことが多い) • DMM英会話、busuu、ELSA SPEAK、Tandemを主に使う • 本は文法・構文のみ • 資格試験(英検やTOEICなど)の勉強はしてない

Slide 24

Slide 24 text

Clojureをはじめてみて発生した変化 • 友達や他のエンジニアと話のネタができた • Lispエイリアングッツを作り始めた • 技術書典でClojureの本を書いた • 英語(と中国語)を勉強するようになった • Circle CI に就活した

Slide 25

Slide 25 text

Circle CI に就活した https://boards.greenhouse.io/circleci/jobs/4243017002

Slide 26

Slide 26 text

Circle CI の求人 • Circle CI は Clojure を使っている • 2018年に東京にオフィスができた (初の海外オフィス) • 東京オフィスで働くシニアフルスタックエンジニアの求人 • Webページから履歴書とカバーレター(自己推薦書)を送る

Slide 27

Slide 27 text

応募してみた • はじめて英語で履歴書とカバーレターを書いた • 「そもそもカバーレターって何…?」からスタートした • 一応日本語版も送った • 2週間後くらいに面接の案内メールが来た! • CTOとZoomで30分話した • 3日後くらいにお祈りメールが来た

Slide 28

Slide 28 text

なぜ書類選考が通ったのか • Clojureの本を書いていたので興味を持ってくれたらしい!

Slide 29

Slide 29 text

まとめ • Clojureをはじめたら、友達と話題ができて裁縫のスキルが上 がった • 本がないので自分で書いた • 英語から逃げられなくなった • やってる人が少ないので目立てるので、就活で役立った おわり