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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ayato
December 20, 2015
Programming
450
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
実践的な Reader Conditionals と Transit format
ayato
December 20, 2015
More Decks by ayato
See All by ayato
マイクロサービス内で動くAPIをF#で書いている
ayato0211
1
1.6k
Clojureという言語が私逹にもたらしたもの
ayato0211
6
3.2k
3年間考え続けてきたWebアプリケーションにおけるテストの話
ayato0211
3
310
Re:REPL-Driven Development
ayato0211
3
1.4k
Meta Template Engine
ayato0211
2
1.2k
超変換! Hiccup data structure!!
ayato0211
2
670
About Integrant
ayato0211
0
610
Muscle Assert
ayato0211
0
330
Clojureを用いたWebアプリケーション開発
ayato0211
2
3.2k
Other Decks in Programming
See All in Programming
AIが無かった頃の素敵な出会いの話
codmoninc
1
340
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
140
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
130
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.5k
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
510
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
960
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
230
AIエージェントで 変わるAndroid開発環境
takahirom
2
760
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
380
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.3k
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
170
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
0
1k
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
The Spectacular Lies of Maps
axbom
PRO
1
880
Designing for Timeless Needs
cassininazir
1
430
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
270
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
380
Code Review Best Practice
trishagee
74
20k
Mind Mapping
helmedeiros
PRO
1
290
The Curse of the Amulet
leimatthew05
2
13k
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