Submit Search
Upload
Clojureに入門してみた、2017年秋
•
3 likes
•
3,870 views
Satoshi KOBAYASHI
Follow
Clojureを学んだ10ステップをまとめたものです。初学者向け。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 23
Download now
Download to read offline
Recommended
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
Tsutomu Yano
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
Kazuyuki TAKASE
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
kwatch
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
Recommended
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
Tsutomu Yano
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
Kazuyuki TAKASE
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
kwatch
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
ワタシはSingletonがキライだ
ワタシはSingletonがキライだ
Tetsuya Kaneuchi
テストコードの DRY と DAMP
テストコードの DRY と DAMP
Yusuke Kagata
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Mavenの真実とウソ
Mavenの真実とウソ
Yoshitaka Kawashima
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
power-assert in JavaScript
power-assert in JavaScript
Takuto Wada
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
Kotlinアンチパターン
Kotlinアンチパターン
Recruit Lifestyle Co., Ltd.
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
Daichi Koike
例外設計における大罪
例外設計における大罪
Takuto Wada
Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたもの
Recruit Lifestyle Co., Ltd.
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
Shingo Fukui
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
冬のLock free祭り safe
冬のLock free祭り safe
Kumazaki Hiroki
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
日本マイクロソフト株式会社
“Septeni×Scala”勉強会#1資料_20150219_寺坂
“Septeni×Scala”勉強会#1資料_20150219_寺坂
ikuyaterasaka
goog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生まで
Teppei Sato
More Related Content
What's hot
ワタシはSingletonがキライだ
ワタシはSingletonがキライだ
Tetsuya Kaneuchi
テストコードの DRY と DAMP
テストコードの DRY と DAMP
Yusuke Kagata
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Mavenの真実とウソ
Mavenの真実とウソ
Yoshitaka Kawashima
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
power-assert in JavaScript
power-assert in JavaScript
Takuto Wada
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
Kotlinアンチパターン
Kotlinアンチパターン
Recruit Lifestyle Co., Ltd.
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
Daichi Koike
例外設計における大罪
例外設計における大罪
Takuto Wada
Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたもの
Recruit Lifestyle Co., Ltd.
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
Shingo Fukui
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
冬のLock free祭り safe
冬のLock free祭り safe
Kumazaki Hiroki
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
日本マイクロソフト株式会社
What's hot
(20)
ワタシはSingletonがキライだ
ワタシはSingletonがキライだ
テストコードの DRY と DAMP
テストコードの DRY と DAMP
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Pythonによる黒魔術入門
Pythonによる黒魔術入門
Mavenの真実とウソ
Mavenの真実とウソ
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
power-assert in JavaScript
power-assert in JavaScript
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
Kotlinアンチパターン
Kotlinアンチパターン
オブジェクト指向できていますか?
オブジェクト指向できていますか?
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
例外設計における大罪
例外設計における大罪
Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたもの
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
冬のLock free祭り safe
冬のLock free祭り safe
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
Similar to Clojureに入門してみた、2017年秋
“Septeni×Scala”勉強会#1資料_20150219_寺坂
“Septeni×Scala”勉強会#1資料_20150219_寺坂
ikuyaterasaka
goog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生まで
Teppei Sato
つ部 2015 09 こわくないネイティブライブラリの使い方
つ部 2015 09 こわくないネイティブライブラリの使い方
Daisuke Takai
師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013
hiboma
第1回全てのソフトウェアをインストールできる
第1回全てのソフトウェアをインストールできる
Teppei Nakano
sukusuku-scrum introduction
sukusuku-scrum introduction
Nao Yamamoto
S07 t2 midorikawa
S07 t2 midorikawa
Takeshi Akutsu
スクラム開発に取り組んでみた
スクラム開発に取り組んでみた
yyasuyuki
Web技術勉強会 20110611
Web技術勉強会 20110611
龍一 田中
Coursera experience
Coursera experience
Brian Hooper
勉強会を始めるまで #java_ja
勉強会を始めるまで #java_ja
Go Sueyoshi (a.k.a sue445)
気の合う人達と社外で社内勉強会
気の合う人達と社外で社内勉強会
Yu Shibatsuji
教えてみてわかった、新しいことを覚えるしくみ
教えてみてわかった、新しいことを覚えるしくみ
Mori Kazue
Hiroshima.rb on github
Hiroshima.rb on github
Tomohiko Himura
研修デザインとプレゼンテクニックでディープラーニング活用の裾野を広げる
研修デザインとプレゼンテクニックでディープラーニング活用の裾野を広げる
Deep Learning Lab(ディープラーニング・ラボ)
アジャイルのスクラムなるものを発見
アジャイルのスクラムなるものを発見
Yuta Iwagami
Xtextハンズオン(仮)
Xtextハンズオン(仮)
You&I
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
GuildWorks
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
増田 亨
ソフトウェア開発ブースト4手
ソフトウェア開発ブースト4手
Keiichi Kobayashi
Similar to Clojureに入門してみた、2017年秋
(20)
“Septeni×Scala”勉強会#1資料_20150219_寺坂
“Septeni×Scala”勉強会#1資料_20150219_寺坂
goog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生まで
つ部 2015 09 こわくないネイティブライブラリの使い方
つ部 2015 09 こわくないネイティブライブラリの使い方
師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013
第1回全てのソフトウェアをインストールできる
第1回全てのソフトウェアをインストールできる
sukusuku-scrum introduction
sukusuku-scrum introduction
S07 t2 midorikawa
S07 t2 midorikawa
スクラム開発に取り組んでみた
スクラム開発に取り組んでみた
Web技術勉強会 20110611
Web技術勉強会 20110611
Coursera experience
Coursera experience
勉強会を始めるまで #java_ja
勉強会を始めるまで #java_ja
気の合う人達と社外で社内勉強会
気の合う人達と社外で社内勉強会
教えてみてわかった、新しいことを覚えるしくみ
教えてみてわかった、新しいことを覚えるしくみ
Hiroshima.rb on github
Hiroshima.rb on github
研修デザインとプレゼンテクニックでディープラーニング活用の裾野を広げる
研修デザインとプレゼンテクニックでディープラーニング活用の裾野を広げる
アジャイルのスクラムなるものを発見
アジャイルのスクラムなるものを発見
Xtextハンズオン(仮)
Xtextハンズオン(仮)
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
ソフトウェア開発ブースト4手
ソフトウェア開発ブースト4手
Recently uploaded
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
Recently uploaded
(14)
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
Clojureに入門してみた、2017年秋
1.
@ 教養としてのClojure /
2017.10.4 Clojureに入門してみた、2017年秋 〜 寄り道したかもしれない 10 ステップの足跡 〜
2.
はじめに
3.
● 小林 達
(こばやし さとし) ● BizReachで3年半。「スタンバイ」「HRMOS」立ち上げ ● 年の割にコード歴短い。雰囲気プログラマー ○ Scalaが主でサーバーサイドよりのフルスタック ● 土日は、娘の相手と、娘の写真と、料理担当 ● Clojureは興味だけは前からあった ○ これは半年前にスケジュール登録 ○ 登壇者3人が決まって役割を75%終えたようなもの ○ Clojureを1ヶ月経ったが、ほぼインプットのみ 誰かな?
4.
「教養(きょうよう)とは 個人の人格や学習に結びついた 知識や行いのこと」 一般に、独立した人間が持っているべきと考えられる一定レベルの様々 な分野にわたる知識や常識と、古典文学や芸術など質の高い文化に対す る幅広い造詣が、品位や人格および、物事に対する理解力や創造力に結 びついている状態を指す - Wikipedia 教養とは?1/2
5.
Clojureの知識・常識・造詣 理解力・想像力に結びつき、さらに品位・人格まで!? ● 実務に取り入れる淡い夢を抱きつつ、まず日々の開発に新鮮な視点を提供してく れることを期待 ● もしかして
Must Learnな技術のひとつとしてブランディングできたりしないかな? 教養とは? 2/2
6.
10ステップの足跡
7.
Step 1. Clojureのコンセプトを掴む Clojure
- 論理的根拠 より ● Lisp: シンプル、データとしてのコード(code-as-data) ○ 文法が少ない。data-as-code = evalみたいなもの? ○ ただ、括弧が増えすぎない・Javaが呼びやすいよう+αの工夫 ● 関数型プログラミングのための言語 (イミュータブル、高階関数) ● 確立されたプラットフォーム(JVM)と共存できる言語 ● 並行処理のために設計された言語 また、 ● REPLでインタラクティブに開発ができる! ● フレームワークよりライブラリ ● 動的な型付け
8.
● 言語としては成熟期に入っていそう ○ Clojure
1.9.0-beta1 (September 2017) ○ Clojure 1.8.0 (January, 2016) ○ Clojure 1.7.0 (June, 2015) ○ Clojure 1.6.0 (March, 2014) ○ Clojure 1.5.1 (March, 2013) ○ Clojure 1.4.0 (April, 2012) ○ Clojure 1.3.0 (September, 2011) ○ Clojure 1.2.1 (September, 2010) ○ Clojure 1.2.0 (August, 2010) ○ Clojure 1.1.0 (January, 2010) ○ Clojure 1.0.0 (July, 2009) Step 2. Clojureの現在 1/3
9.
● Stack Overflow
Developer Survey 2017 ○ 年収1位!、好きな言語上位! ● JVMerが最後に辿り着く 場所なのかもしれない Step 2. Clojureの現在 2/3
10.
国内事例はどうか (順不同) ● オプトさん
- Clojureをプロダクトに導入した話 - Opt Technologies Magazine ● サイボウズスタートアップさん - Clojureを用いたWebアプリケーション開発 - SSSSLIDE ● ユーザベースさん - Clojureの世界観 - 紙箱 ● 楽天さん?リクルートさん?TISさん? ● 小さな会社さん多数? Step 2. Clojureの現在 2/3
11.
Step 3. とりあえずコードを眺める Learn
X in Y minutes ● 1ページで少量 ● 小一時間で雰囲気をつかむことができる ● 眺めるもので、電車の中で読むような感じ ● REPLっぽい。コメント、コード、の連続 ● 余裕があれば、マクロ版も。 ※ 「X」として多くの言語があるが、REPLに 最適化されたClojureはこの形式が特にあってそう
12.
Step 4. 最低限の文法を学ぶ
1/2
13.
Step 4. 最低限の文法を学ぶ
2/2 (… 漢文みたいにレ点を入れたくなった)
14.
● ビルドツール。で REPL
を起動できる ● インストールに時間はかからない ○ 初回の立ち上げでJARを少しだけダウンロード ($HOME/.m2/repository に入 る) ● lein new で、新規プロジェクトの雛形を作れる ○ project.clj とその他のファイルを読むとなんとなく分かる ● 最近は、 boot なるものも ● 写経しながら、慣れた気分になる Step 5. Leiningen で REPL $ brew install leiningen $ lein repl
15.
基本の一冊を選ぶならこれか ● 家に、第一版第一刷があった ○ 流し読み ●
現在、第三版がベータでリリース間近 ○ 買ってみたが、初心者レベルでは 差がほとんどわからず ○ 日本語と英語の訳の対比に少し利用 Step 6. 「プログラミング Clojure」を読む 1/2
16.
出版されると流行がくる? ● 第3版 (英:
2017/11/25 ) ● 第2版 (英: 2012/4 日: 2013/4) ● 第1版 (英: 2009/6 日: 2010/1) Step 6. 「プログラミング Clojure」を読む 2/2
17.
● 変更を保存すると即時評価される。正解なら次の課題に自動で進む ○ はい次、はい次、と行けるので理解できてくる感がある ●
koan01から24まで。数時間ぐらい ○ 基本構造、関数、並行プログラミング、マクロまで ● ただ、エラーの内容がコンソールから読み取れない ○ 別ウィンドウで `lein repl` しておいて、コピペで試しながら進めた http://clojurescriptkoans.com/ は、更にお手軽。内容は大体(全く?)同じ。慣れるま で基本の反復練習として手を動かすのにいいかもしれない。 Step 7. Clojure Koans を解く $ git clone git@github.com:functional-koans/clojure-koans.git $ cd clojure-koans $ lein koan run
18.
時々出てくるLips用語でわからなかった。マクロはわかるけど、リーダー?フォーム?そんなときに発見: Clojure の基礎 〜マクロ編〜
(athosさん) 理解: ● フォーム … プログラムが読まれる単位。文字列、数値、キーワード、リストなどを指す ref. ● リーダー… テキストをパースし、コンパイラが解釈できるデータ構造を生成する ref. ● リーダーマクロ… 前置きされる特定のマクロ文字によって起動されるリーダーの特殊動作。冗長なリスト 形式の省略形としてつかう。新規登録は不可。「;」「’」「#」など ● マクロ … コードからコードへの変換を定義する関数 ref. Step 8. 押さえておきたい「リーダー」のあたり フォーム リーダー リーダーマ クロ ※青字で元資料に追加
19.
学ぶ過程でお世話になったリソースたちを gist にまとめ Step
9. リソースを整理
20.
「Clojure で Web
開発をはじめてみよう — Clojure の日本語ガイド」(by あやぴーさん)を 順を追って見てだいたい雰囲気がつかめる! ● ルーティング、HTMLテンプレート、DBアクセス、バリデーション ● サーバ再起動せずに変更を反映できるREPL上の開発 ● 他のライブラリの解説も充実 Step 10. Web開発のイロハ
21.
道半ば。 ● IntelliJの力はどうなんだ? ● ClojureScriptを試したかった! ○
React とか Redux とかと ● Rich Hickey をまだあまり知らない ○ 有名な格言とその哲学 Step 無念.
22.
まとめ
23.
● 最初は慣れない ○ 短い名前の関数とかが読みづらい。ただ、よく使うものは少なそう ○
手を動かす経験を重ねるのがよさそう。REPL便利 ○ Java/Scala辺りの経験はある程度あった方がよさそう ● 既に学ぶリソースは多く存在する ○ 情報にのまれたが少ないよりいい ○ Step 1-10 が少しでも参考になれば ● 理想一辺倒でも実用一辺倒でもないバランス。怖くなさそう ○ 十分な歴史があり、実用に耐えるものは多そう ○ 関数界隈のモナドとかそういう言葉は意外と見かけなかった ○ 勉学の秋にぜひ まとめ
Download now