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
430
実践的な Reader Conditionals と Transit format
ayato
December 20, 2015
Tweet
Share
More Decks by ayato
See All by ayato
マイクロサービス内で動くAPIをF#で書いている
ayato0211
1
840
Clojureという言語が私逹にもたらしたもの
ayato0211
6
3.1k
3年間考え続けてきたWebアプリケーションにおけるテストの話
ayato0211
3
260
Re:REPL-Driven Development
ayato0211
3
1.3k
Meta Template Engine
ayato0211
2
1.1k
超変換! Hiccup data structure!!
ayato0211
2
610
About Integrant
ayato0211
0
560
Muscle Assert
ayato0211
0
270
Clojureを用いたWebアプリケーション開発
ayato0211
2
3.1k
Other Decks in Programming
See All in Programming
AIでLINEスタンプを作ってみた
eycjur
1
230
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
1.7k
はじめてのMaterial3 Expressive
ym223
2
750
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
530
ProxyによるWindow間RPC機構の構築
syumai
3
1.2k
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
440
AIコーディングAgentとの向き合い方
eycjur
0
270
AWS発のAIエディタKiroを使ってみた
iriikeita
1
190
Laravel Boost 超入門
fire_arlo
3
220
概念モデル→論理モデルで気をつけていること
sunnyone
2
260
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
500
Namespace and Its Future
tagomoris
6
700
Featured
See All Featured
Music & Morning Musume
bryan
46
6.8k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
How STYLIGHT went responsive
nonsquared
100
5.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Six Lessons from altMBA
skipperchong
28
4k
Unsuck your backbone
ammeep
671
58k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
Bash Introduction
62gerente
615
210k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
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