More Related Content
PDF
PPTX
PDF
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ PPTX
世界一わかりやすいClean Architecture PPTX
PDF
Dockerfile を書くためのベストプラクティス解説編 PDF
Dockerfileを改善するためのBest Practice 2019年版 What's hot
PDF
PPTX
フリーでできるセキュリティWeb編(SQLMあpを楽しもう) PDF
PPTX
PPTX
トランザクションをSerializableにする4つの方法 PPTX
PPTX
PDF
Domain Modeling Made Functional (DevTernity 2022) PDF
PPTX
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」 PPTX
PDF
PDF
強いて言えば「集約どう実装するのかな、を考える」な話 PDF
PlaySQLAlchemy: SQLAlchemy入門 PDF
Docker道場オンライン#1 Docker基礎概念と用語の理解 PPTX
PDF
PDF
RSA暗号運用でやってはいけない n のこと #ssmjp PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」 Viewers also liked
PDF
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure PDF
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発 PDF
JobStreamerではじめるJavaBatchのクラウド分散実行 PDF
PDF
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか PDF
PDF
PDF
PDF
SIerにとっての越境 @ DevLOVE 199 PDF
で、次は何がくるの? - 第2回 TIS Matsuri PDF
PDF
Seasar conference 2015 sa-compojure PDF
元気玉的 分散テスト 実行システム TestStreamer PDF
PDF
PDF
PDF
PDF
プログラミング言語Clojureのニャンパスでの活用事例 KEY
PDF
Similar to キメるClojure
PDF
PDF
Everyday Life with clojure.spec PDF
PDF
PPTX
PPT
PDF
PPTX
Clojure座談会 #1 LT 独自コレクションを定義しよう KEY
PDF
Spectacular Future with clojure.spec PDF
PPTX
PDF
PDF
(IDEユーザのための) ClojureのEmacs開発環境について PDF
Lisp Tutorial for Pythonista : Day 3 ODP
PDF
Java開発の強力な相棒として今すぐ使えるGroovy PPT
KEY
PDF
More from Yoshitaka Kawashima
PDF
PDF
PDF
Are Design Patterns Dead? PDF
PDF
PDF
ソフトウェア設計における 意思決定とそのレビューの秘訣 PDF
PDF
PDF
PDF
PDF
PDF
PDF
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall PDF
PDF
PDF
Antifragile Java - Java Day Tokyo 2017 D1-E1 キメるClojure
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
Syntax
Clojure Ruby
String "Clojure""Ruby"
Keyword :clojure :ruby
(Symbol)
Numeric 123 (long)
123.0 (double)
22/7 (Ratio)
123 (Integer)
123.0 (Float)
22r/7 (Rational)
List (1 2 3) -
Vector [1 2 3] [1,2,3]
(Array)
Set #{1 2 3} Set[1, 2, 3]
Map {:a 1 :b "a"} {a: 1, b: "a"}
(Hash)
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
こういうロジック
fib 0,1,...
(rest fib)1,...
fib 0,1,1..
(rest fib) 1,1,..
fib 0,1,1,2...
(rest fib) 1,1,2,...
fib 0,1,1,2,3...
(rest fib) 1,1,2,3,..
fib 0,1,1,2,3,5...
(rest fib) 1,1,2,3,5..
- 13.
- 14.
(update-in ctx [:request:params
:address 2 :prefecture]
clojure.string/replace
#"府$" "都")
{:request
{:params
{:address
[{:prefecture "長崎県"}
{:prefecture "大阪都"}
{:prefecture "東京都"}]}}}
update-in
業務アプリ頻出の深いデータ構造を一発で更新
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
Destructing
String kanaSei =request.getParamter("KANA_SEI");
String kanaMei = request.getParamter("KANA_MEI");
String kanjiSei = request.getParamter("KANJI_SEI");
String kanjiMei = request.getParamter("KANJI_MEI");
String mailUser = request.getParameter("MAIL_USER");
String mailDomain = request.getParameter("MAIL_DOMAIN");
(let [{{:keys [kana-sei kana-mei kanji-sei kanji-mei
mail-user mail-domain]} :params} request]
(println "Name=" kanji-sei kanji-mei))
こんなコード、よく見かけるけど…
そんな代入派も、最小の手数で変数束縛できる
- 23.
- 24.
- 25.
- 26.
Ring
(-> handler
(wrap wrap-anti-forgery(get-in config [:security :anti-forgery] false))
(wrap wrap-flash (get-in config [:session :flash] false))
(wrap wrap-session (:session config false))
(wrap wrap-keyword-params (get-in config [:params :keywordize] false))
(wrap wrap-nested-params (get-in config [:params :nested] false))
(wrap wrap-multipart-params (get-in config [:params :multipart] false))
(wrap wrap-params (get-in config [:params :urlencoded] false))
(wrap wrap-cookies (get-in config [:cookies] false))
(wrap wrap-absolute-redirects (get-in config [:responses :absolute-redirects] false))
(wrap wrap-resource (get-in config [:static :resources] false))
(wrap wrap-file (get-in config [:static :files] false))
(wrap wrap-content-type (get-in config [:responses :content-types] false))
(wrap wrap-default-charset (get-in config [:responses :default-charset] false))
(wrap wrap-not-modified (get-in config [:responses :not-modified-responses]
false))
(wrap wrap-x-headers (:security config))
(wrap wrap-hsts (get-in config [:security :hsts] false))
(wrap wrap-ssl-redirect (get-in config [:security :ssl-redirect] false))
(wrap wrap-forwarded-scheme (boolean (:proxy config)))
(wrap wrap-forwarded-remote-addr (boolean (:proxy config)))))
統一されたMiddlewareインタフェース
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.