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
bash0C7
June 02, 2013
Technology
460
0
Share
Simple Structured Log Format "SSON"
RubyHiroba2013 Lightning Talks
公開版資料なので発表時とは一部スライドが異なっております。
bash0C7
June 02, 2013
More Decks by bash0C7
See All by bash0C7
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
1.2k
Infroduction of Ruby WASM Sound Visualizer Presentation
bash0c7
0
34
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
1.9k
20250527 #shinjukurb KaigiEffect LT
bash0c7
2
110
【加筆修正版】ハードワークを支えるフィジカルとメンタルを構築る#rubymusclemixin 活動 #きのこ2025 #きのこ2025_b
bash0c7
0
360
Other Decks in Technology
See All in Technology
さきさん文庫の書籍ができるまで
sakiengineer
0
330
Spring AI × MCP 入門〜AIエージェントへのツール公開、境界設計から始める最小構成 〜
yuyamiyamoto
0
200
Dynamic Workersについて
yusukebe
2
570
オンコールの負荷軽減のためのBits Assistant 活用方法 / How to Use Bits Assistant to Reduce the Workload on On-Call Staff
sms_tech
1
370
20260528_生成AIを専属DSに_Howの次にすべきことを考える
doradora09
PRO
0
280
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/3 - 2026/5
oracle4engineer
PRO
1
140
Claude Codeですべての日常業務を爆速化しよう!
minorun365
PRO
17
16k
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
370
OpenID Connectによるサービス間連携
takesection
0
150
速さだけじゃない! VoidZero ツールが移行先に選ばれる理由
mizdra
PRO
6
730
AI活用を推進するために ファインディが下した、一つの小さな決断
starfish719
0
190
最低限これだけ押さえれ大丈夫_Claude Enterprise/Team企業展開ガバナンス入門
tkikuchi
1
670
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.3k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
170
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
400
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
200
74k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
410
Being A Developer After 40
akosma
91
590k
Statistics for Hackers
jakevdp
799
230k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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
͝ॿྗ͓·ͪ ͍ͯ͠·͢ʂ