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
Simple Structured Log Format "SSON"
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
bash0C7
June 02, 2013
Technology
460
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Simple Structured Log Format "SSON"
RubyHiroba2013 Lightning Talks
公開版資料なので発表時とは一部スライドが異なっております。
bash0C7
June 02, 2013
More Decks by bash0C7
See All by bash0C7
技術・能力を向上する原理原則 #きのこセッションa #きのこ2026
bash0c7
0
120
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
1.2k
Infroduction of Ruby WASM Sound Visualizer Presentation
bash0c7
0
38
Introduction to ESP32 PicoRuby development
bash0c7
0
180
💡Ruby 川辺で灯すPicoRubyからの光
bash0c7
0
1.2k
2011年 「ぼっちが懇親会でするべき97のこと」 #97bocchi から積み重ねた【令和7年最新】技術コミュニティ交流戦略2025
bash0c7
1
1.2k
「笑顔」を伝える リモートMTG時代のコミュニケーション戦術
bash0c7
0
140
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
2k
20250527 #shinjukurb KaigiEffect LT
bash0c7
2
110
Other Decks in Technology
See All in Technology
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
200
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
120
気軽に使える"情報のハブ"としてのNotion活用 〜フロー情報の集積点 と、 Claude Code × Notion AI〜
syucream
1
180
作る力から、見極める力へ — AI時代に広がるエンジニアの価値と役割
rince
0
330
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
160
Kiro Ambassador を目指す話
k_adachi_01
0
130
アジャイルな経理と Claude Code と経営の未来
kawaguti
PRO
3
190
飲食店もAIで。レジ締めやハンディシステムをつくってる話 / Using AI for restaurant management
vtryo
0
160
5分でわかるDuckDB Quack
chanyou0311
3
250
PostgreSQL 19 新機能概要 OSC Hokkaido 2026
nori_shinoda
0
240
サイバーエージェントにおけるAI推進戦略と変革への取り組み
shotatsuge
0
530
Bucharest Tech Week 2026 - Guardians of the Cloud-Native Galaxy
edeandrea
PRO
0
140
Featured
See All Featured
Chasing Engaging Ingredients in Design
codingconduct
0
230
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
370
New Earth Scene 8
popppiees
3
2.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Speed Design
sergeychernyshev
33
1.9k
The Language of Interfaces
destraynor
162
27k
A better future with KSS
kneath
240
18k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Building Adaptive Systems
keathley
44
3.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Transcript
ϗϯτʹγϯϓϧͳߏԽ ϩάϑΥʔϚοτ440/ͷ ͝ఏҊ ౦ژSSONϢʔβձ ͜͠ ͱ͖͋͠ എܠը૾IUUQDPNNPOTOJDPWJEFPKQNBUFSJBMOD
3VCZ)JSPCBελοϑ 3VCZ,BKBൃද࢘ձ ౦ژ3VCZձ࣮ٞߦҕһ 4IJCVZBSC ג 70:"(&(3061ΞδϟΠϧઓུࣨ ג ;VDLTࠂ৴ۀΤϯδχΞ ͜͠ͱ͖͋͠ !CBTI$
IUUQEIBUFOBOFKQCBTI$
IUUQEIBUFOBOFKQCBTI$
IUUQTUXJUUFSDPNZVGV@50.Z5VNCMS
IUUQEIBUFOBOFKQCBTI$UXFFGGZ
ͲΜͳϩάϑΥʔϚοτ ͬͯΔʁ
Combinedɺݻఆɺλϒจࣈ۠ Γɺnullจࣈ۠ΓɺJSON…
IUUQXXXTMJEFTIBSFOFUSFKBTVQPUBSPT
IUUQXXXTMJEFTIBSFOFUSFKBTVQPUBSPT
IUUQXXXTMJEFTIBSFOFUSFKBTVQPUBSPT
SSON
Simple Sexp Object Notation
(("time" 1362020400)("NAME" "KOSHIBA")("AGE" 32)("HOGE" "fuga"))
RubyͰSࣜΛѻ͏
IUUQXXXOBNJLJMBCUVBUBDKQdTBTBEBQSPH SVDIFNFIUNM
IUUQPMEUZQFTVNJCJPSHTIPXQBHF/FOEP
SSONͰॻ͖ͩ͢
require ‘nendo’ core = Nendo::Core.new core.loadInitFile core.evalStr( '(define (sexpToString sexp)
(write-to-string sexp))' ) core.evalStr( '(export-to-ruby sexpToString)' ) list = {hoge: 123}.to_list core.sexpToString(list) #=> "((hoge . 123))"
qVFOUQMVHJO UBJMTTPO IUUQTHJUIVCDPNCBTI$qVFOUQMVHJOUBJMTTPO
in_tailͰJSON ಡΉͷͱಉ͡Α͏ʹ SSONಡΊΔΑ
<source> type tail_sson path /path/to/sson.log tag tail.sson format sson </source>
let(:text) {'(("time" 1362020400)("NAME" "KOSHIBA")("AGE" 32))'} ʻ৭ʑུʼ context do let(:time) {result.first}
it {time.should == 1362020400} end context do let(:hash) {result.last} it do hash.size.should == 3 hash['NAME'].should == 'KOSHIBA' hash['AGE'].should == 32 hash['HOGE'].should == 'fuga' end end
4JNQMF
͓ئ͍͝ͱ
·ͩ·ͩ͡ ·ͬͯͳ͍ʂ
ར༻ɺϥΠϒϥϦ࡞ɺύϑΥʔ ϚϯεଌఆɺͦͷଞΖΖ
ղܾ͖͢ ͢Ͱʹ͋Δ IUUQTUXJUUFSDPNUBHPNPSJTTUBUVT
͝ॿྗ͓·ͪ ͍ͯ͠·͢ʂ