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
実践的な Reader Conditionals と Transit format
Search
ayato
December 20, 2015
Programming
2
420
実践的な Reader Conditionals と Transit format
ayato
December 20, 2015
Tweet
Share
More Decks by ayato
See All by ayato
Clojureという言語が私逹にもたらしたもの
ayato0211
6
2.9k
3年間考え続けてきたWebアプリケーションにおけるテストの話
ayato0211
3
230
Re:REPL-Driven Development
ayato0211
3
1.2k
Meta Template Engine
ayato0211
2
1k
超変換! Hiccup data structure!!
ayato0211
2
550
About Integrant
ayato0211
0
490
Muscle Assert
ayato0211
0
210
Clojureを用いたWebアプリケーション開発
ayato0211
2
3k
翻訳にまつわるエトセトラ
ayato0211
6
1.2k
Other Decks in Programming
See All in Programming
Click-free releases & the making of a CLI app
oheyadam
2
120
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
910
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
290
RubyLSPのマルチバイト文字対応
notfounds
0
120
Arm移行タイムアタック
qnighy
0
320
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
1.4k
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
860
Better Code Design in PHP
afilina
PRO
0
130
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
最新TCAキャッチアップ
0si43
0
140
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Speed Design
sergeychernyshev
25
620
Mobile First: as difficult as doing things right
swwweet
222
8.9k
A better future with KSS
kneath
238
17k
The Pragmatic Product Professional
lauravandoore
31
6.3k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Being A Developer After 40
akosma
86
590k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Happy Clients
brianwarren
98
6.7k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Transcript
1SBDUJDBM 3FBEFS$POEJUJPOBMT 5SBOTJUGPSNBU -JTQ.FFU6QQSFTFOUFECZ4IJCVZBMJTQ !@BZBUP@Q
͋ͽʔ $MPKVSFŧŔŕŪƂŜſŵƃ ීஈ$MPKVSFũƄŝſŵƃͱࣄͯ͠Δ $MPKVSFŜŝŦŘŵƃ୳ͯ͠·͢ $ZCP[V4UBSUVQT *OD
ࠓ͢Δ 3FBEFS$POEJUJPOBMTͱ5SBOTJUGPSNBU ͷݱ࣮తͳ׆༻ํ๏ʹ͍ͭͯ
&13FBEFS$POEJUJPOBMT ͋Δͷ͜ͱʜ ʮ3FBEFS$POEJUJPOBMTศརͰ͢ΑͶʔʯ "MJDFʮͲ͏͍͏ͱ͖ʹ͏ΜͰ͔͢ʁʯ ʮ͑ʯ "MJDFʮόϦσʔγϣϯͱ͔ʁʯ
3FBEFS$POEJUJPOBMT ʹ͍ͭͯ
3FBEFS$POEJUJPOBMTͱ $MPKVSF͔Βͷػೳ 3FBEFSTZOUBY ! Λͬͯ ϓϥοτϑΥʔϜґଘΛΓग़͢͜ͱ͕ग़དྷΔ ֦ுࢠΛDMKDͱ͢Δ͜ͱͰ ֤ϓϥοτϑΥʔϜ͔Βݺͼग़ͤΔ
ओʹϥΠϒϥϦ։ൃͰॏๅ͢Δ CJEJ DMKTBKBY FUD
(ns example.core #?(:clj (:import [java.net URLEncoder]))) (defn url-encode [string] (some->
string str #?(:clj (URLEncoder/encode "UTF-8") :cljs (js/encodeURIComponent)) (.replace "+" "%20"))) 3FBEFS$POEJUJPOBMT
Ͳ͏͍͏ͱ͖ʹ͑Δʁ ϧʔτఆٛͷڞ༗ αʔόʔαΠυϨϯμϦϯάGPS3FBHFOU ϞσϧͷόϦσʔγϣϯݕࠪ
%&.0
&15SBOTJUGPSNBU ͋Δͷ͜ͱ ʮ5SBOTJUGPSNBU࠷ߴͰ͢ΑͶʂʯ #PCʮ+40/ͱԿ͕ҧ͏ΜͰ͔͢ʁʯ ʮ͑ʯ #PCʮ+40/Ͱྑ͘ͳ͍Ͱ͢ʁʯ
5SBOTJUGPSNBU ʹ͍ͭͯ
5SBOTJUGPSNBUͱ $PHOJUFDU͕ఏএ͢ΔσʔλϑΥʔϚοτ ϓϩάϥϜͱϓϩάϥϜͷίϛϡχέʔγϣϯ ʹϑΥʔΧε͍ͯ͠Δ ֦ுੑ͕ߴ͘ɺϢʔβʔఆٛܕΛอ࣋ग़དྷΔ +40/ .FTTBHF1BDLͱޓੑ͕͋Δ 3FBEFS$POEJUJPOBMTͱ૬ੑ͕ྑ͍
(ns example.core (:require [cognitect.transit :as transit]) (:import [java.io ByteArrayInputStream ByteArrayOutputStream]))
(def writer (transit/writer out :json)) (transit/write writer [{:name "ayato_p" :age 24} {:name "alea" :age 24}]) (prn (.toString out)) ;; => "[[\"^ \",\"~:name\",\"ayato_p\",\"~:age\",24], [\"^ \",\"^0\",\"alea\",\"^1\",24]]" 5SBOTJUGPSNBU
Ͳ͏͍͏ͱ͖ʹ͑Δʁ $MPKVSFͱ$MPKVSF4DSJQUؒͷ௨৴
%&.0
·ͱΊ 3FBEFS$POEJUJPOBMT5SBOTJUGPSNBUศར $MPKVSF࠷ߴʂʂ
Enjoy Clojure