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
0
350
Simple Structured Log Format "SSON"
RubyHiroba2013 Lightning Talks
公開版資料なので発表時とは一部スライドが異なっております。
bash0C7
June 02, 2013
Tweet
Share
More Decks by bash0C7
See All by bash0C7
Shinjuku.rb #91 好きなもの紹介LT大会 "便利"や"役に立つ"とは別方面のRubyをつかったプログラミングがたのしい話
bash0c7
0
37
#oedo10 継続的 #RubyMuscleMixin 実践入門/RubyMuscleMixin
bash0c7
0
850
inside_announce
bash0c7
0
620
【公開版】マネジメントにおける 「技術選択」の勘所 / The key to technology selection in engineering management
bash0c7
0
280
数百人規模の会社でアイデアを組織的にインストールする実例と再現性の要/Pragmatic Fearless Change #devkan
bash0c7
0
180
【公開版】明日から動ける 切り拓け「おいしい」キャリア/build one's career #careerkaigi
bash0c7
2
450
[公開版]現役VP of Engineeringはこう見る!エンジニアを取り巻く環境と2020年代を生き延びる作戦/survive2020
bash0c7
5
2.1k
「アジャイル」な取り組みを 支えるマネジメント / Agile Support
bash0c7
2
2.1k
【公開版】「創作活動がもっと楽しくなる場所をつくることを楽しむ活動」/retty_pixiv_goodpatch
bash0c7
0
180
Other Decks in Technology
See All in Technology
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
570
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
120
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
360
ServiceNow Knowledge Learning Rise up
manarobot
0
210
ここが嬉しいABAC ここが辛いよABAC #再解説+補足編
masahirokawahara
1
270
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
3
2.4k
複雑な構成要素を持つUIとの向き合い方 〜新・支出グラフでの実例〜 / B43 TECH TALK
nakamuuu
0
140
Hands-on Gemini, the Google DeepMind LLM
meteatamel
1
110
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
310
DevOpsDays History and my DevOps story
kawaguti
PRO
9
2.5k
開発パフォーマンスを最大化するための開発体制
ham0215
2
400
VS CodeでAWSを操作しよう
smt7174
8
1.6k
Featured
See All Featured
Done Done
chrislema
178
15k
Scaling GitHub
holman
457
140k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
187
16k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
21
1.6k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Building Applications with DynamoDB
mza
88
5.6k
Visualization
eitanlees
136
14k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
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
͝ॿྗ͓·ͪ ͍ͯ͠·͢ʂ