Submit Search
Upload
プログラミング言語Clojureのニャンパスでの活用事例
•
18 likes
•
13,636 views
S
sohta
Follow
JJUG CCC 2015 Springでの発表資料です。
Read less
Read more
Software
Report
Share
Report
Share
1 of 34
Download now
Download to read offline
Recommended
メタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
"Simple Made Easy" Made Easy
"Simple Made Easy" Made Easy
Kent Ohashi
Quine・難解プログラミングについて
Quine・難解プログラミングについて
mametter
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
Takahiro Moteki
入門core.async
入門core.async
sohta
Spannerに関する技術メモ
Spannerに関する技術メモ
Etsuji Nakai
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法
Kumazaki Hiroki
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
Recommended
メタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
"Simple Made Easy" Made Easy
"Simple Made Easy" Made Easy
Kent Ohashi
Quine・難解プログラミングについて
Quine・難解プログラミングについて
mametter
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
Takahiro Moteki
入門core.async
入門core.async
sohta
Spannerに関する技術メモ
Spannerに関する技術メモ
Etsuji Nakai
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法
Kumazaki Hiroki
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
Tsutomu Yano
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
PostgreSQLアンチパターン
PostgreSQLアンチパターン
Soudai Sone
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
中3女子でもわかる constexpr
中3女子でもわかる constexpr
Genya Murakami
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
Ryo Suzuki
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
dcubeio
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
C#でわかる こわくないMonad
C#でわかる こわくないMonad
Kouji Matsui
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Kotlinアンチパターン
Kotlinアンチパターン
Recruit Lifestyle Co., Ltd.
Java web application testing
Java web application testing
Tokuhiro Matsuno
あなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情について
あなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情について
Shinichi Kozake
More Related Content
What's hot
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
Tsutomu Yano
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
PostgreSQLアンチパターン
PostgreSQLアンチパターン
Soudai Sone
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
中3女子でもわかる constexpr
中3女子でもわかる constexpr
Genya Murakami
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
Ryo Suzuki
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
dcubeio
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
C#でわかる こわくないMonad
C#でわかる こわくないMonad
Kouji Matsui
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Kotlinアンチパターン
Kotlinアンチパターン
Recruit Lifestyle Co., Ltd.
What's hot
(20)
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
PostgreSQLアンチパターン
PostgreSQLアンチパターン
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
TLS, HTTP/2演習
TLS, HTTP/2演習
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
中3女子でもわかる constexpr
中3女子でもわかる constexpr
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
Docker Compose 徹底解説
Docker Compose 徹底解説
プログラムを高速化する話
プログラムを高速化する話
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
C#でわかる こわくないMonad
C#でわかる こわくないMonad
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Pythonによる黒魔術入門
Pythonによる黒魔術入門
Kotlinアンチパターン
Kotlinアンチパターン
Viewers also liked
Java web application testing
Java web application testing
Tokuhiro Matsuno
あなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情について
あなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情について
Shinichi Kozake
開発を効率的に進めるられるまでの道程
開発を効率的に進めるられるまでの道程
Takao Sumitomo
JobStreamerではじめるJavaBatchのクラウド分散実行
JobStreamerではじめるJavaBatchのクラウド分散実行
Yoshitaka Kawashima
Droid kaigiプレゼン
Droid kaigiプレゼン
Suguru Oho
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
kyon mm
データモデルは時空を越える
データモデルは時空を越える
terahide
絶対落ちないアプリの作り方
絶対落ちないアプリの作り方
Fumihiko Shiroyama
Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有
Shinobu Okano
DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素
Takahiro YAMADA
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Yuki Anzai
マテリアルデザインを用いたデザインリニューアル [フリル編]
マテリアルデザインを用いたデザインリニューアル [フリル編]
YUKI YAMAGUCHI
SIerアーキテクト視点でみたKotlinの紹介
SIerアーキテクト視点でみたKotlinの紹介
Shinichi Kozake
ClojureでElectronアプリを作ろう
ClojureでElectronアプリを作ろう
Kazuhiro Hara
徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]
徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]
bitter_fox
Viewers also liked
(16)
Java web application testing
Java web application testing
あなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情について
あなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情について
開発を効率的に進めるられるまでの道程
開発を効率的に進めるられるまでの道程
JobStreamerではじめるJavaBatchのクラウド分散実行
JobStreamerではじめるJavaBatchのクラウド分散実行
Droid kaigiプレゼン
Droid kaigiプレゼン
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
データモデルは時空を越える
データモデルは時空を越える
絶対落ちないアプリの作り方
絶対落ちないアプリの作り方
Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有
DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
マテリアルデザインを用いたデザインリニューアル [フリル編]
マテリアルデザインを用いたデザインリニューアル [フリル編]
SIerアーキテクト視点でみたKotlinの紹介
SIerアーキテクト視点でみたKotlinの紹介
ClojureでElectronアプリを作ろう
ClojureでElectronアプリを作ろう
徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]
徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]
Similar to プログラミング言語Clojureのニャンパスでの活用事例
全部入り!WGPで高速JavaScript+HML5体験
全部入り!WGPで高速JavaScript+HML5体験
AdvancedTechNight
TypeScriptをオススメする理由
TypeScriptをオススメする理由
Yusuke Naka
From JS To CLJS
From JS To CLJS
Kent Ohashi
Arachne Unweaved (JP)
Arachne Unweaved (JP)
Ikuru Kanuma
Clojure で減価償却費計算
Clojure で減価償却費計算
ultrakanji
SwaggerとAPIのデザイン
SwaggerとAPIのデザイン
Kazuhiro Hara
AzureDevOpsで作るHoloLensアプリCI環境
AzureDevOpsで作るHoloLensアプリCI環境
Tatsuya Sakai
Ll tiger clojure
Ll tiger clojure
Toshiaki Maki
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
Yoshitaka Kawashima
入門ClojureScript
入門ClojureScript
sohta
SPA×Auth0
SPA×Auth0
春奈 岡
G* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - Introduction
Kazuchika Sekiya
Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~
Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~
拓将 平林
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
「はじめてのClojure」出版記念!Light Tableを使ってClojureに触れてみよう!【第2回】
「はじめてのClojure」出版記念!Light Tableを使ってClojureに触れてみよう!【第2回】
schoowebcampus
Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介
Yasushi Ishikawa
Web制作勉強会 #2
Web制作勉強会 #2
Moto Yan
お手軽Ajaxアプリケーションの作り方
お手軽Ajaxアプリケーションの作り方
Shunji Konishi
【JJUG LT 大会】Zulu Open JDK
【JJUG LT 大会】Zulu Open JDK
Shigeru Tatsuta
Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)
Koichi Sakata
Similar to プログラミング言語Clojureのニャンパスでの活用事例
(20)
全部入り!WGPで高速JavaScript+HML5体験
全部入り!WGPで高速JavaScript+HML5体験
TypeScriptをオススメする理由
TypeScriptをオススメする理由
From JS To CLJS
From JS To CLJS
Arachne Unweaved (JP)
Arachne Unweaved (JP)
Clojure で減価償却費計算
Clojure で減価償却費計算
SwaggerとAPIのデザイン
SwaggerとAPIのデザイン
AzureDevOpsで作るHoloLensアプリCI環境
AzureDevOpsで作るHoloLensアプリCI環境
Ll tiger clojure
Ll tiger clojure
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
入門ClojureScript
入門ClojureScript
SPA×Auth0
SPA×Auth0
G* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - Introduction
Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~
Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
「はじめてのClojure」出版記念!Light Tableを使ってClojureに触れてみよう!【第2回】
「はじめてのClojure」出版記念!Light Tableを使ってClojureに触れてみよう!【第2回】
Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介
Web制作勉強会 #2
Web制作勉強会 #2
お手軽Ajaxアプリケーションの作り方
お手軽Ajaxアプリケーションの作り方
【JJUG LT 大会】Zulu Open JDK
【JJUG LT 大会】Zulu Open JDK
Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)
More from sohta
Clojureシンタックスハイライター開発から考えるこれからのlispに必要なもの
Clojureシンタックスハイライター開発から考えるこれからのlispに必要なもの
sohta
入門Transducers
入門Transducers
sohta
Clojure Language Update (2015)
Clojure Language Update (2015)
sohta
REPLライフをもっと快適に
REPLライフをもっと快適に
sohta
genuine-highlighter: マクロを認識するClojure向けのシンタックスハイライター
genuine-highlighter: マクロを認識するClojure向けのシンタックスハイライター
sohta
ClojureではじめるSTM入門
ClojureではじめるSTM入門
sohta
Macros in Clojure
Macros in Clojure
sohta
Clojureによるバイトコードプログラミング
Clojureによるバイトコードプログラミング
sohta
More from sohta
(8)
Clojureシンタックスハイライター開発から考えるこれからのlispに必要なもの
Clojureシンタックスハイライター開発から考えるこれからのlispに必要なもの
入門Transducers
入門Transducers
Clojure Language Update (2015)
Clojure Language Update (2015)
REPLライフをもっと快適に
REPLライフをもっと快適に
genuine-highlighter: マクロを認識するClojure向けのシンタックスハイライター
genuine-highlighter: マクロを認識するClojure向けのシンタックスハイライター
ClojureではじめるSTM入門
ClojureではじめるSTM入門
Macros in Clojure
Macros in Clojure
Clojureによるバイトコードプログラミング
Clojureによるバイトコードプログラミング
プログラミング言語Clojureのニャンパスでの活用事例
1.
プログラミング言語Clojureの ニャンパスでの活用事例 JJUG CCC 2015
Spring 2015/04/11 @ ベルサール新宿グランド ニャンパス株式会社 太田 正悟
2.
自己紹介 ‣ 太田 正悟
(@athos0220) ‣ Clojureコントリビュータ ‣ 今年2月よりニャンパス所属 ‣ 2013年に某アニメ関連で話題になっていたニャン パスと交流をはじめる
3.
会社紹介 ‣ ニャンパス株式会社 ‣ 2010年設立 ‣
業務内容 ‣ Webサービス・アプリ開発 ‣ プロトタイピング(試作開発) ‣ コワーキングスペースHaLakeを運営
4.
アジェンダ ‣ Clojureの概要 ‣ Clojureを使う理由 ‣
Clojure活用事例 ‣ Clojureコミュニティに向けた取り組み
5.
Clojureの概要
6.
Clojureの概要 ‣ Lisp系言語 ‣ 関数型言語 ‣
JVM言語
7.
Clojureの概要: Lisp系言語 ‣ S式というLisp由来の独特のシンタックスをもつ ‣
言語がシンプルで覚えることが少ない ‣ マクロを使ってプログラマが言語を拡張できる(後述) (defn hello [name] (println (str “Hello ” name)))
8.
Clojureの概要: Lisp系言語 user=> (defn
f [x] (+ x 1)) #’user/f user=> (f 10) 11 user=> (defn f [x] (* x x)) #’user/f user=> (f 10) 100 REPL(Read-Eval-Print Loop)を 使ったインタラクティブな開発
9.
Clojureの概要: 関数型言語 ‣ 多くの値がイミュータブル(不変) ‣
ファーストクラスな関数 ‣ 遅延シーケンスで無限個の値も扱える (reduce (fn [a x] (+ a x)) (map (fn [x] (* x x)) (take-while (fn [x] (<= x 100)) (range))))
10.
Clojureの概要: 関数型言語 (->> (range) (take-while
#(<= % 100)) (map #(* % %)) (reduce +)) こうも書ける! ‣ 多くの値がイミュータブル ‣ ファーストクラスな関数 ‣ 遅延シーケンスで無限個の値も扱える
11.
Clojureの概要: JVM言語 ‣ Javaのオブジェクトを簡単に扱える ‣
無名クラスも簡単に作れる (String. “foo”) (.substring “foo” 1) Math/PI (Long/parseLong “42”) new String(“foo”) “foo”.substring(1) Math.PI Long.parseLong(“42”) Clojure Java
12.
Clojureの概要: JVM言語 ‣ Javaのオブジェクトを簡単に扱える ‣
無名クラスも簡単に作れる (reify Runnable (run [this] (println “foo”))) new Runnable() { public void run() { System.out.println(“foo”); } } Clojure Java
13.
Clojureを使う理由
14.
Clojureを使う理由 ‣ アジャイル開発との親和性 ‣ 十分な実用性 ‣
言語の自由度
15.
Clojureを使う理由: アジャイル開発との親和性 すばやいフィード バックループ すばやい データ構築 漸進的な設計 REPLによる! インタラクティブ開発 イミュータブルな! データ構造 後づけ可能な! ポリモーフィズム
16.
Clojureを使う理由: アジャイル開発との親和性 ‣ イミュータブルなマップ(辞書)でデータの表現を柔軟に ‣
設計に関する決定を後に遅らせることができる {:type :rectangle :width 30 :height 40} public class Rectangle extends Shape { int width, height; … } Clojure Java
17.
Clojureを使う理由: アジャイル開発との親和性 ‣ イミュータブルなマップ(辞書)でデータの表現を柔軟に ‣
設計に関する決定を後に遅らせることができる {:type :rectangle :width 30 :height 40} (defmulti area :type) (defmethod area :rectangle [shape] (* (:width shape) (:height shape))) public class Rectangle extends Shape { int width, height; … } Clojure Java ポリモーフィックな振る舞いは マルチメソッド等で後づけできる!
18.
Clojureを使う理由: 十分な実用性 十分な パフォーマンス 豊富なライブラリ 実用レベルの! エコシステム JVM上で動作 Javaとの! 相互運用性 Leiningen! Clojars, etc.
19.
Clojureを使う理由: 言語の自由度 実行時の プログラム変更 問題領域にあった 言語の定義 リロード機能! REPL, etc. マクロ
20.
Clojureを使う理由: 言語の自由度 マクロ ‣ プログラマが独自の構文を定義できる仕組み ‣
問題領域に合わせてClojureを拡張可能 (defmacro with-open [[name file] & body] `(let [~name ~file] (try ~@body (finally (.close ~name))))) (with-open [f (reader “foo”)] (write-to-file f)) (let [f (reader “foo”)] (try (write-to-file f) (finally (.close f)))) マクロの定義 展開
21.
Clojureを使う理由: 言語の自由度 マクロ! ライブラリ 静的 型チェック 非同期 プログラミング パターン マッチ 論理 プログラミング core.typed core.async core.match core.logic
22.
Clojure活用事例
23.
Clojure活用事例 ‣ baasday ‣ Lesson
Supporter
24.
25.
baasday ‣ MBaaS (Mobile
Backend as a Service) ‣ スマホアプリのバックエンド機能をクラウドサービスとして提供 ‣ 運用:2年 ‣ 利用者:のべ20万インストール ‣ スループット:150リクエスト/秒 Amazon SES Amazon SNS Amazon S3 Amazon ELB App (EC2) App (EC2) App (EC2) DB (EC2)
26.
Lesson Supporter ‣ 個人レッスン支援サービス ‣
簡易CMS・ブログ・予約管理機能等を提供 ‣ ボイストレーナー星野氏と共同で開発中 ‣ 近日公開予定
27.
Lesson Supporter CMSモデル ‣ CMSを構成するペー ジからなるマップ ‣
着手から3日でCMS モデルとページ描画 処理のコアが完成 ‣ 後にページテンプレ 毎のカスタム描画方 法をマルチメソッド で定義できるように {:description “太田のパソコン教室”, :_id “ohta-pc”, :name “ohta-pc”, :title “ようこそ太田のパソコン教室へ”, :pages [{:display-name “ホーム”, :name “intro”, :template “intro”, :context {:page-name “intro”, :content “”, :subtitle “よろしく”, :page-title “自己紹介”}} {:name “blog”, :template “blog”, :context {:blog-description nil}, :display-name “ブログ”} …… ]}
28.
Lesson Supporter user=> (import
'jp.webpay.webpay.WebPay) jp.webpay.webpay.WebPay user=> (def wp (WebPay. secret-key)) #'user/wp user=> (import 'jp.webpay.webpay.data.CardRequest) jp.webpay.webpay.data.CardRequest user=> (def req (.. (CardRequest.) (number number) (expMonth 3) (expYear 16) (cvc "123") (name "Shogo Ohta"))) #'user/req user=> (.. wp token createRequest (card req) execute) #<TokenResponse …> インタラクティブな APIの確認 ‣ WebPay APIによる クレジット決済 ‣ 初利用だったため、 REPLからAPIの使い 勝手を確認
29.
Clojureコミュニティ に向けた取り組み
30.
Clojureコミュニティに向けた取り組み ‣ OSS ‣ 勉強会 ‣
コワーキングスペースHaLake
31.
Clojureコミュニティに向けた取り組み: OSS clojournal (https://github.com/nyampass/clojournal) ‣
Clojureの日本語情報発信サイト (http://clojournal.com) clowpay (https://github.com/nyampass/clowpay) ‣ WebPay APIのClojureバインディング parabola (https://github.com/athos/parabola) ‣ Clojureチャットボットフレームワーク その他のリポジトリは https://github.com/nyampass/ から確認できます
32.
Clojureコミュニティに向けた取り組み: 勉強会 Tokyo.clj (渋谷) ‣
不定期開催。Clojure入門セッション、もくもく会。 Laketown.clj (HaLake@越谷レイクタウン) ‣ 月1開催。もくもく会。 テーマ特化勉強会 (gen-class勉強会/core.async勉強会/etc.) ‣ 特定の言語機能等にフォーカスした勉強会。
33.
ハンモック ‣ Rich Hickeyが提唱するハンモック駆動開発に由来。 Clojure割引 ‣
1日利用500円 (通常1000円)。 チェックインアプリ HaLake API ‣ OSSとして公開。 Clojureコミュニティに向けた取り組み: HaLake
34.
まとめ ‣ Clojureを使う理由 ‣ アジャイル開発との親和性 ‣
十分な実用性 ‣ 言語の自由度 ‣ 日本でもClojureコミュニティが徐々に活発化! ‣ さぁ、皆さんもClojureをはじめてみよう!!
Download now