Twitter Client for ZSH (2)

Twitter Client for
ZSH (2)
Dentoo.LT #3
ゆたか/@tmyt
自己紹介
• Twitter @tmyt
  • 社会人2年目
• プログラミング言語
  • C++, C#, Object Pascal, ZSH
• シェル
  • ZSH
• エディタ
  • VIM


• 国立じゃない方の電通大の出身です
前回
Dentoo.LT #2
Twitter Client for ZSH (2)
Twitter Client for ZSH (2)
Twitter Client for ZSH (2)
Twitter Client for ZSH (2)
今回
紹介するのは
こちら
tw.zsh
sha1.zsh
json.zsh
 zss.zsh
sha1.zsh
sha1.zsh
• Pure ZSH実装のSHA1
• OpenSSLその他外部ライブラリは不要

• Macについてるshasumコマンドと比較して
% time (seq 1 1000| shasum)
0.19s user 0.03s system 95% cpu 0.229 total

% time (_sha1_hash "$(seq 1 1000)")
33.36s user 65.04s system 92% cpu 1:45.83 total


353倍遅い
json.zsh
json.zsh
• Pure ZSH実装のJSONパーサ
• 外部ライブラリなどすべて不要
• 必要なものはZSHだけ!!

• Node.jsと比較して
% time (cat hoge.json | node)
0.05s user 0.01s system 101% cpu 0.061 total

% time (_json_parse_value )
11.93s user 21.67s system 94% cpu 35.627 total


584倍遅い
zss.zsh
(Zsh Shared Storage)
zss.zsh
• Sub shellの境界を越えて値を保存するライブラリ
• JSONパーサの解析位置を保持するためにSub shellを超え
  て値を共有する必要があった
• 親→子への伝播はされるが、子→親はできない

• ZSHにはTCP/IPを扱う機能があるのでClient/Serverモデル
  で壁を乗り越えてみた
tw.zsh
tw.zsh
• Pure ZSH実装のTwitterクライアント
• TimelineへPostする機能しかありません
• Timeline取得するサンプルもあります
前回と比較して
• curlが不要になりました
• JSONパーサが添付されました
• SHA1ハッシュを単独で計算できるようになりました
そして…
Twitter Client for ZSH (2)
% time ./tw てすとめっせーじ
./tw てすとめっせーじ 2.16s user 3.32s system 88% cpu 6.172 total
1秒遅くなった!!
github.com/tmyt/tw
1 of 25

Recommended

Intel TSX HLE を触ってみた x86opti by
Intel TSX HLE を触ってみた x86optiIntel TSX HLE を触ってみた x86opti
Intel TSX HLE を触ってみた x86optiTakashi Hoshino
7.3K views39 slides
Intel TSX 触ってみた 追加実験 (TTAS) by
Intel TSX 触ってみた 追加実験 (TTAS)Intel TSX 触ってみた 追加実験 (TTAS)
Intel TSX 触ってみた 追加実験 (TTAS)Takashi Hoshino
5K views31 slides
Webサーバの性能測定 by
Webサーバの性能測定Webサーバの性能測定
Webサーバの性能測定Ryo Maruyama
4.5K views21 slides
あなたの知らないnopたち@ラボユース合宿 by
あなたの知らないnopたち@ラボユース合宿あなたの知らないnopたち@ラボユース合宿
あなたの知らないnopたち@ラボユース合宿MITSUNARI Shigeo
3.4K views10 slides
about Tcpreplay by
about Tcpreplayabout Tcpreplay
about Tcpreplay@ otsuka752
29.5K views23 slides
JVM! JVM! JVM! by
JVM! JVM! JVM!JVM! JVM! JVM!
JVM! JVM! JVM!Masaaki HIROSE
17.4K views36 slides

More Related Content

What's hot

Kof2016 postgresql-9.6 by
Kof2016 postgresql-9.6Kof2016 postgresql-9.6
Kof2016 postgresql-9.6Toshi Harada
931 views98 slides
第六回渋谷Java Java8のJVM監視を考える by
第六回渋谷Java Java8のJVM監視を考える第六回渋谷Java Java8のJVM監視を考える
第六回渋谷Java Java8のJVM監視を考えるchonaso
15.4K views22 slides
postgreSQLを魔改造して 緊急対応した話 by
postgreSQLを魔改造して 緊急対応した話postgreSQLを魔改造して 緊急対応した話
postgreSQLを魔改造して 緊急対応した話asa 999
316 views13 slides
Varnishのログの眺め方 by
Varnishのログの眺め方Varnishのログの眺め方
Varnishのログの眺め方Iwana Chan
4.7K views16 slides
hpingで作るパケット by
hpingで作るパケットhpingで作るパケット
hpingで作るパケットTakaaki Hoyo
14.9K views21 slides
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方) by
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)Iwana Chan
3.4K views36 slides

What's hot(20)

Kof2016 postgresql-9.6 by Toshi Harada
Kof2016 postgresql-9.6Kof2016 postgresql-9.6
Kof2016 postgresql-9.6
Toshi Harada931 views
第六回渋谷Java Java8のJVM監視を考える by chonaso
第六回渋谷Java Java8のJVM監視を考える第六回渋谷Java Java8のJVM監視を考える
第六回渋谷Java Java8のJVM監視を考える
chonaso15.4K views
postgreSQLを魔改造して 緊急対応した話 by asa 999
postgreSQLを魔改造して 緊急対応した話postgreSQLを魔改造して 緊急対応した話
postgreSQLを魔改造して 緊急対応した話
asa 999316 views
Varnishのログの眺め方 by Iwana Chan
Varnishのログの眺め方Varnishのログの眺め方
Varnishのログの眺め方
Iwana Chan4.7K views
hpingで作るパケット by Takaaki Hoyo
hpingで作るパケットhpingで作るパケット
hpingで作るパケット
Takaaki Hoyo14.9K views
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方) by Iwana Chan
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
Iwana Chan3.4K views
システムパフォーマンス勉強会#5 by shingo suzuki
システムパフォーマンス勉強会#5システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5
shingo suzuki1.1K views
how to defend DNS authoritative server against DNS WaterTorture by @ otsuka752
how to defend DNS authoritative server against DNS WaterTorturehow to defend DNS authoritative server against DNS WaterTorture
how to defend DNS authoritative server against DNS WaterTorture
@ otsuka7522.8K views
Zabbix meeting 20101218_02-2 (Takanori Suzuki) by takanori suzuki
Zabbix meeting 20101218_02-2 (Takanori Suzuki)Zabbix meeting 20101218_02-2 (Takanori Suzuki)
Zabbix meeting 20101218_02-2 (Takanori Suzuki)
takanori suzuki4.2K views
iptables BPF module 効果測定 by @ otsuka752
iptables BPF module 効果測定iptables BPF module 効果測定
iptables BPF module 効果測定
@ otsuka7522.4K views
tcpdumpとtcpreplayとtcprewriteと他。 by (^-^) togakushi
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。
(^-^) togakushi11.9K views
Intel TSX について x86opti by Takashi Hoshino
Intel TSX について x86optiIntel TSX について x86opti
Intel TSX について x86opti
Takashi Hoshino8.7K views
My sql casual talks vol.6 by Satoshi Suzuki
My sql casual talks vol.6My sql casual talks vol.6
My sql casual talks vol.6
Satoshi Suzuki20.9K views
OLD_Lt traffic analyse_OLD by @ otsuka752
OLD_Lt traffic analyse_OLDOLD_Lt traffic analyse_OLD
OLD_Lt traffic analyse_OLD
@ otsuka752282 views
シェル芸初心者によるシェル芸入門 (修正版) by icchy
シェル芸初心者によるシェル芸入門 (修正版)シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)
icchy5.8K views
MySQL Casual Talks Vol.3 LT by Tomohiro Ikeda
MySQL Casual Talks Vol.3 LTMySQL Casual Talks Vol.3 LT
MySQL Casual Talks Vol.3 LT
Tomohiro Ikeda5.3K views
Linux Performance Analysis in 15 minutes by Yohei Azekatsu
Linux Performance Analysis in 15 minutesLinux Performance Analysis in 15 minutes
Linux Performance Analysis in 15 minutes
Yohei Azekatsu1.2K views

Viewers also liked

PhoneからPCへ。 by
PhoneからPCへ。PhoneからPCへ。
PhoneからPCへ。Yutaka Tsumori
404 views25 slides
EclipseもXcodeも窓から投げ捨てろ! by
EclipseもXcodeも窓から投げ捨てろ!EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!Yutaka Tsumori
1.6K views19 slides
よくわかるMPNS by
よくわかるMPNSよくわかるMPNS
よくわかるMPNSYutaka Tsumori
590 views31 slides
Wpdd lt by
Wpdd ltWpdd lt
Wpdd ltYutaka Tsumori
372 views6 slides
Community Open Day 沖縄 by
Community Open Day 沖縄Community Open Day 沖縄
Community Open Day 沖縄Yutaka Tsumori
3.2K views41 slides
Blync light for HACK by
Blync light for HACKBlync light for HACK
Blync light for HACKYutaka Tsumori
2.8K views19 slides

Viewers also liked(13)

EclipseもXcodeも窓から投げ捨てろ! by Yutaka Tsumori
EclipseもXcodeも窓から投げ捨てろ!EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!
Yutaka Tsumori1.6K views
Community Open Day 沖縄 by Yutaka Tsumori
Community Open Day 沖縄Community Open Day 沖縄
Community Open Day 沖縄
Yutaka Tsumori3.2K views
未来(あす)Xamlの1msに泣かないために by Yutaka Tsumori
未来(あす)Xamlの1msに泣かないために未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために
Yutaka Tsumori7.6K views
WPF開発での陥りやすい罠 by Sho Okada
WPF開発での陥りやすい罠WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
Sho Okada27K views

Similar to Twitter Client for ZSH (2)

DXライブラリでMMO作ったよ! by
DXライブラリでMMO作ったよ!DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!h2so5
11.8K views30 slides
リテラル文字列型までの道 by
リテラル文字列型までの道リテラル文字列型までの道
リテラル文字列型までの道Satoshi Sato
1.5K views100 slides
今日はMongoDBの話はしない by
今日はMongoDBの話はしない今日はMongoDBの話はしない
今日はMongoDBの話はしないAkihiro Kuwano
1.8K views27 slides
Code jp2015 cpuの話 by
Code jp2015 cpuの話Code jp2015 cpuの話
Code jp2015 cpuの話Shinichiro Niiyama
1.8K views71 slides
シェル芸初心者によるシェル芸入門 by
シェル芸初心者によるシェル芸入門シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門icchy
37.9K views65 slides
ゆるふわLinux-HA 〜PostgreSQL編〜 by
ゆるふわLinux-HA 〜PostgreSQL編〜ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜Taro Matsuzawa
6.8K views61 slides

Similar to Twitter Client for ZSH (2)(20)

DXライブラリでMMO作ったよ! by h2so5
DXライブラリでMMO作ったよ!DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!
h2so511.8K views
リテラル文字列型までの道 by Satoshi Sato
リテラル文字列型までの道リテラル文字列型までの道
リテラル文字列型までの道
Satoshi Sato1.5K views
今日はMongoDBの話はしない by Akihiro Kuwano
今日はMongoDBの話はしない今日はMongoDBの話はしない
今日はMongoDBの話はしない
Akihiro Kuwano1.8K views
シェル芸初心者によるシェル芸入門 by icchy
シェル芸初心者によるシェル芸入門シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門
icchy37.9K views
ゆるふわLinux-HA 〜PostgreSQL編〜 by Taro Matsuzawa
ゆるふわLinux-HA 〜PostgreSQL編〜ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
Taro Matsuzawa6.8K views
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで by Masahiro Wakame
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例までBuildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Masahiro Wakame11.4K views
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム by SmartNews, Inc.
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテムSmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews, Inc.32K views
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja) by inaz2
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
inaz26.8K views
歌舞伎座Tech#2 C++11 LT by roentgen_jp
歌舞伎座Tech#2 C++11 LT歌舞伎座Tech#2 C++11 LT
歌舞伎座Tech#2 C++11 LT
roentgen_jp736 views
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば by Hirotaka Kawata
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
Hirotaka Kawata4.3K views
ROS Tutorial 02 - CIT by Daiki Maekawa
ROS Tutorial 02 - CITROS Tutorial 02 - CIT
ROS Tutorial 02 - CIT
Daiki Maekawa4.4K views
CRF を使った Web 本文抽出 by Shuyo Nakatani
CRF を使った Web 本文抽出CRF を使った Web 本文抽出
CRF を使った Web 本文抽出
Shuyo Nakatani15.7K views
HandlerSocket plugin for MySQL by akirahiguchi
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
akirahiguchi12.9K views
The· trend of Plasma research and develepment by wei-li
The· trend of Plasma research and develepmentThe· trend of Plasma research and develepment
The· trend of Plasma research and develepment
wei-li1.1K views

More from Yutaka Tsumori

Buri2019 by
Buri2019Buri2019
Buri2019Yutaka Tsumori
4.1K views28 slides
Setsな話 by
Setsな話Setsな話
Setsな話Yutaka Tsumori
2.6K views37 slides
XAMLで条件分岐 by
XAMLで条件分岐XAMLで条件分岐
XAMLで条件分岐Yutaka Tsumori
947 views14 slides
BuriKaigi2018 by
BuriKaigi2018BuriKaigi2018
BuriKaigi2018Yutaka Tsumori
173 views34 slides
Windows phoneの新しい通知api by
Windows phoneの新しい通知apiWindows phoneの新しい通知api
Windows phoneの新しい通知apiYutaka Tsumori
1.6K views14 slides
Twitter Client for ZSH by
Twitter Client for ZSHTwitter Client for ZSH
Twitter Client for ZSHYutaka Tsumori
395 views10 slides

More from Yutaka Tsumori(18)

Windows phoneの新しい通知api by Yutaka Tsumori
Windows phoneの新しい通知apiWindows phoneの新しい通知api
Windows phoneの新しい通知api
Yutaka Tsumori1.6K views
スマートフォン勉強会@九州 by Yutaka Tsumori
スマートフォン勉強会@九州スマートフォン勉強会@九州
スマートフォン勉強会@九州
Yutaka Tsumori444 views
Titanium mobileで遊んでみた by Yutaka Tsumori
Titanium mobileで遊んでみたTitanium mobileで遊んでみた
Titanium mobileで遊んでみた
Yutaka Tsumori664 views
Windows Phone 7 “Mango” SDK最速情報! by Yutaka Tsumori
Windows Phone 7 “Mango” SDK最速情報!Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!
Yutaka Tsumori359 views
ぼくのかんがえたさいきょうのついったーくらいあんと by Yutaka Tsumori
ぼくのかんがえたさいきょうのついったーくらいあんとぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんと
Yutaka Tsumori598 views
Smartphone workshop kansai #9 by Yutaka Tsumori
Smartphone workshop kansai #9Smartphone workshop kansai #9
Smartphone workshop kansai #9
Yutaka Tsumori388 views
スマートフォン勉強会@関西 #6 LT by Yutaka Tsumori
スマートフォン勉強会@関西 #6 LTスマートフォン勉強会@関西 #6 LT
スマートフォン勉強会@関西 #6 LT
Yutaka Tsumori531 views

Twitter Client for ZSH (2)