Submit Search
Upload
Rubyで実はwritev(2) が使われているはなし
•
5 likes
•
7,818 views
Masaki Matsushita
Follow
大江戸Ruby会議05で発表した内容です
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 9
Download now
Download to read offline
Recommended
CouchDB JP & BigCouch
CouchDB JP & BigCouch
Yohei Sasaki
Summary of CouchDB JP 2010 and an introduction of BigCouch
最近のRust関連の活動
最近のRust関連の活動
Hattori Hideo
2019.12.01 Rust Kansai Meetup Osaka #1
Pd Kai#3 Startup Process
Pd Kai#3 Startup Process
nagachika t
Pd会 第3回 発表資料「PureData の起動プロセス」
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
#kbkz_tech https://github.com/neuecc/ZeroFormatter
RgGen ご紹介
RgGen ご紹介
Taichi Ishitani
Design Solution Forum 2021 SP13
Mono is Dead
Mono is Dead
melpon
Monoは死んだ
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)
Fuminobu Takeyama
Linux ベースの OS 上には、様々なコマンドラインツールがそろっています。 bash や zsh をはじめとする強力なシェルインタプリタはもちろん、今となっては開発者には必須の Git や、Python、Ruby といったスクリプト言語が標準搭載されています。 今や Windows 上で bash が動くようになることが騒がれるような時代です。 本セミナーでは、誰が教えてくれるわけでもない、コマンドラインツールのテクニックを、最近のものを中心に紹介します。
C++のビルド高速化について
C++のビルド高速化について
AimingStudy
Recommended
CouchDB JP & BigCouch
CouchDB JP & BigCouch
Yohei Sasaki
Summary of CouchDB JP 2010 and an introduction of BigCouch
最近のRust関連の活動
最近のRust関連の活動
Hattori Hideo
2019.12.01 Rust Kansai Meetup Osaka #1
Pd Kai#3 Startup Process
Pd Kai#3 Startup Process
nagachika t
Pd会 第3回 発表資料「PureData の起動プロセス」
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
#kbkz_tech https://github.com/neuecc/ZeroFormatter
RgGen ご紹介
RgGen ご紹介
Taichi Ishitani
Design Solution Forum 2021 SP13
Mono is Dead
Mono is Dead
melpon
Monoは死んだ
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)
Fuminobu Takeyama
Linux ベースの OS 上には、様々なコマンドラインツールがそろっています。 bash や zsh をはじめとする強力なシェルインタプリタはもちろん、今となっては開発者には必須の Git や、Python、Ruby といったスクリプト言語が標準搭載されています。 今や Windows 上で bash が動くようになることが騒がれるような時代です。 本セミナーでは、誰が教えてくれるわけでもない、コマンドラインツールのテクニックを、最近のものを中心に紹介します。
C++のビルド高速化について
C++のビルド高速化について
AimingStudy
MenohにおけるC++実装 / C API / C++API
MenohにおけるC++実装 / C API / C++API
Shintarou Okada
C++MIX#1での発表スライドです.
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
洋史 東平
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218
Takashi Okamoto
Shibuya.trac分散バージョン管理システム勉強会前説
Tinkerer for pyfes 201303
Tinkerer for pyfes 201303
shirou wakayama
Tinkerer is a Sphinx based blog generator. This presentation introduces What is the tinkerer, How to use and Where to deploy your blog.
Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話
yaegashi
golang.tokyo #26 https://golangtokyo.connpass.com/event/147175/
git-svnつかってみる?
git-svnつかってみる?
riskrisk
Subversionからgitへ移行したい人のための簡単な説明です。 第9回 Shibuya.trac勉強会 分散SCM勉強会で発表 こっちも一緒に御覧ください。 HIGH risk LOW return + α: git-svn で dcommitするときに。 <http: />
Lispmeetup11
Lispmeetup11
blackenedgold
js-ctypes - ネイティブコードを呼び出す新しいカタチ
js-ctypes - ネイティブコードを呼び出す新しいカタチ
Makoto Kato
This is the presentation for js-ctypes at Firefox Developers Conference 2009 Tokyo. But this is Japanese prensetation.
Boost sg msgpack
Boost sg msgpack
Takatoshi Kondo
20161106 osc-tokyo-command-line
20161106 osc-tokyo-command-line
Fuminobu Takeyama
Linux ベースの OS 上には、様々なコマンドラインツールがそろっています。 bash や zsh をはじめとする強力なシェルインタプリタはもちろん、今となっては開発者には必須の Git や、Python、Ruby といったスクリプト言語が標準搭載されています。 今や Windows 上で bash が動くようになることが騒がれるような時代です。 本セミナーでは、誰が教えてくれるわけでもない、コマンドラインツールのテクニックを紹介します。 昔は無かったコマンドラインツールや、端末アプリケーションとLinux デスクトップとの合わせ技なども紹介します。 ※本セミナーは OSC 群馬と OSC 名古屋の東海道らぐで発表した内容の本編です。 一部重複する部分があります。 ※OSC 直後にリリースされるエンタープライズ版ベースの openSUSE、 Leap 42.2 についても紹介します。
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
Fuminobu Takeyama
最近、ソフトウェア開発のプラットフォームとして、Linux ベースの OS が注目されています。 その理由としては、最近のプログラミング言語のコンパイラや Git、Ansible などの開発ツールが Linux ベースの OS では簡単にインストールできることが挙げられます。 また IntelliJ IDEA といった人気のある開発ツールも Linux ベースの OS で使用することができます。 本セミナーでは、いくつかの言語の開発環境を整備する方法を紹介します。 - 今話題の Kotlin (と Java)で Android アプリを開発する - Ruby on Rails アプリを開発する - C++ 1x アプリを KDevelop で開発 - Go, Rust, Haskell コンパイラも簡単にインストール また、セミナーの冒頭で、openSUSE の最新動向についても紹介します。 「サーバーだけじゃない!Linux デスクトップを使い倒そう」シリーズの過去のスライドは SlideShare で見ることができます。 その2: https://www.slideshare.net/ftake/20140301-31817090 その1: https://www.slideshare.net/ftake/20131019
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
Fuminobu Takeyama
※本セミナーは OSC 2016 Tokyo/Fall と 2017 Osaka と同内容です Linux ベースの OS 上には、様々なコマンドラインツールがそろっています。 bash や zsh をはじめとする強力なシェルインタプリタはもちろん、 今となっては開発者には必須の Git や、Python、Ruby といったスクリプト 言語が標準搭載されています。 今や Windows 上で bash が動くようになることが騒がれるような時代です。 一方でこれまでずっと GUI 環境で生きてきた人の中には、基本的なコマンド を知っていても、なかなか手早くシェルを操作できない(コマンドを打てない) という方もいるのではないでしょうか? 本セミナーでは、誰が教えてくれるわけでもない、コマンドラインツールの テクニックを紹介します。 コマンドライン初心者を脱して中級者を目指しませんか? 内容の例: - 手早くシェルを操作するテクニック - 端末アプリケーションとLinux デスクトップとの合わせ技 - 昔はなかった便利なコマンド ※最新の openSUSE Leap 42.2 についても紹介します。
Rustのテストやエコシステム
Rustのテストやエコシステム
KiyotomoHiroyasu
Rustのエコシステムcargoの概要やビルド/テストを実際にどう行うかを事例を交えて簡単に解説
CppCon2016 report and Boost.SML
CppCon2016 report and Boost.SML
Takatoshi Kondo
CppCon2016 tour report. Introduction of the new C++ state machine library Boost.SML.
俺の let p = PathBuf::from("/test").into_os_string().to_str();はなぜコンパイルエラーか
俺の let p = PathBuf::from("/test").into_os_string().to_str();はなぜコンパイルエラーか
ShunsukeNakamura17
第二回 MoT.rsの発表資料です
Ruby on RedHat Enterprise Linux
Ruby on RedHat Enterprise Linux
Tomoya Kawanishi
Red Hat Enterprise Linux 上での Ruby実行環境に関して説明しています。
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Fuminobu Takeyama
openSUSE を支える Ruby で実装されたツール紹介します。
UniRx勉強会 reactive extensions inside(公開用)
UniRx勉強会 reactive extensions inside(公開用)
wilfrem
UniRxの小規模勉強会での資料です。
OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料
slankdev
Open Source conference 2016Tokyo Springでの セキュリティ・キャンプ活動報告の発表資料です
Gr sakuraでtinet
Gr sakuraでtinet
Kazuhiro Takahashi
GR-SAKURAでITRON+TCP/IP(TINET)を手っ取り早く動かします。
SQL 脳から見た Ruby
SQL 脳から見た Ruby
yancya
大江戸 Ruby 会議 05 の Ninja Talks で話した内容のスライドです
Ember コミュニティとわたし
Ember コミュニティとわたし
Ryunosuke SATO
大江戸Ruby会議05 の Ninja Talks です。 http://regional.rubykaigi.org/oedo05/
More Related Content
What's hot
MenohにおけるC++実装 / C API / C++API
MenohにおけるC++実装 / C API / C++API
Shintarou Okada
C++MIX#1での発表スライドです.
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
洋史 東平
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218
Takashi Okamoto
Shibuya.trac分散バージョン管理システム勉強会前説
Tinkerer for pyfes 201303
Tinkerer for pyfes 201303
shirou wakayama
Tinkerer is a Sphinx based blog generator. This presentation introduces What is the tinkerer, How to use and Where to deploy your blog.
Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話
yaegashi
golang.tokyo #26 https://golangtokyo.connpass.com/event/147175/
git-svnつかってみる?
git-svnつかってみる?
riskrisk
Subversionからgitへ移行したい人のための簡単な説明です。 第9回 Shibuya.trac勉強会 分散SCM勉強会で発表 こっちも一緒に御覧ください。 HIGH risk LOW return + α: git-svn で dcommitするときに。 <http: />
Lispmeetup11
Lispmeetup11
blackenedgold
js-ctypes - ネイティブコードを呼び出す新しいカタチ
js-ctypes - ネイティブコードを呼び出す新しいカタチ
Makoto Kato
This is the presentation for js-ctypes at Firefox Developers Conference 2009 Tokyo. But this is Japanese prensetation.
Boost sg msgpack
Boost sg msgpack
Takatoshi Kondo
20161106 osc-tokyo-command-line
20161106 osc-tokyo-command-line
Fuminobu Takeyama
Linux ベースの OS 上には、様々なコマンドラインツールがそろっています。 bash や zsh をはじめとする強力なシェルインタプリタはもちろん、今となっては開発者には必須の Git や、Python、Ruby といったスクリプト言語が標準搭載されています。 今や Windows 上で bash が動くようになることが騒がれるような時代です。 本セミナーでは、誰が教えてくれるわけでもない、コマンドラインツールのテクニックを紹介します。 昔は無かったコマンドラインツールや、端末アプリケーションとLinux デスクトップとの合わせ技なども紹介します。 ※本セミナーは OSC 群馬と OSC 名古屋の東海道らぐで発表した内容の本編です。 一部重複する部分があります。 ※OSC 直後にリリースされるエンタープライズ版ベースの openSUSE、 Leap 42.2 についても紹介します。
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
Fuminobu Takeyama
最近、ソフトウェア開発のプラットフォームとして、Linux ベースの OS が注目されています。 その理由としては、最近のプログラミング言語のコンパイラや Git、Ansible などの開発ツールが Linux ベースの OS では簡単にインストールできることが挙げられます。 また IntelliJ IDEA といった人気のある開発ツールも Linux ベースの OS で使用することができます。 本セミナーでは、いくつかの言語の開発環境を整備する方法を紹介します。 - 今話題の Kotlin (と Java)で Android アプリを開発する - Ruby on Rails アプリを開発する - C++ 1x アプリを KDevelop で開発 - Go, Rust, Haskell コンパイラも簡単にインストール また、セミナーの冒頭で、openSUSE の最新動向についても紹介します。 「サーバーだけじゃない!Linux デスクトップを使い倒そう」シリーズの過去のスライドは SlideShare で見ることができます。 その2: https://www.slideshare.net/ftake/20140301-31817090 その1: https://www.slideshare.net/ftake/20131019
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
Fuminobu Takeyama
※本セミナーは OSC 2016 Tokyo/Fall と 2017 Osaka と同内容です Linux ベースの OS 上には、様々なコマンドラインツールがそろっています。 bash や zsh をはじめとする強力なシェルインタプリタはもちろん、 今となっては開発者には必須の Git や、Python、Ruby といったスクリプト 言語が標準搭載されています。 今や Windows 上で bash が動くようになることが騒がれるような時代です。 一方でこれまでずっと GUI 環境で生きてきた人の中には、基本的なコマンド を知っていても、なかなか手早くシェルを操作できない(コマンドを打てない) という方もいるのではないでしょうか? 本セミナーでは、誰が教えてくれるわけでもない、コマンドラインツールの テクニックを紹介します。 コマンドライン初心者を脱して中級者を目指しませんか? 内容の例: - 手早くシェルを操作するテクニック - 端末アプリケーションとLinux デスクトップとの合わせ技 - 昔はなかった便利なコマンド ※最新の openSUSE Leap 42.2 についても紹介します。
Rustのテストやエコシステム
Rustのテストやエコシステム
KiyotomoHiroyasu
Rustのエコシステムcargoの概要やビルド/テストを実際にどう行うかを事例を交えて簡単に解説
CppCon2016 report and Boost.SML
CppCon2016 report and Boost.SML
Takatoshi Kondo
CppCon2016 tour report. Introduction of the new C++ state machine library Boost.SML.
俺の let p = PathBuf::from("/test").into_os_string().to_str();はなぜコンパイルエラーか
俺の let p = PathBuf::from("/test").into_os_string().to_str();はなぜコンパイルエラーか
ShunsukeNakamura17
第二回 MoT.rsの発表資料です
Ruby on RedHat Enterprise Linux
Ruby on RedHat Enterprise Linux
Tomoya Kawanishi
Red Hat Enterprise Linux 上での Ruby実行環境に関して説明しています。
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Fuminobu Takeyama
openSUSE を支える Ruby で実装されたツール紹介します。
UniRx勉強会 reactive extensions inside(公開用)
UniRx勉強会 reactive extensions inside(公開用)
wilfrem
UniRxの小規模勉強会での資料です。
OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料
slankdev
Open Source conference 2016Tokyo Springでの セキュリティ・キャンプ活動報告の発表資料です
Gr sakuraでtinet
Gr sakuraでtinet
Kazuhiro Takahashi
GR-SAKURAでITRON+TCP/IP(TINET)を手っ取り早く動かします。
What's hot
(20)
MenohにおけるC++実装 / C API / C++API
MenohにおけるC++実装 / C API / C++API
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218
Tinkerer for pyfes 201303
Tinkerer for pyfes 201303
Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話
git-svnつかってみる?
git-svnつかってみる?
Lispmeetup11
Lispmeetup11
js-ctypes - ネイティブコードを呼び出す新しいカタチ
js-ctypes - ネイティブコードを呼び出す新しいカタチ
Boost sg msgpack
Boost sg msgpack
20161106 osc-tokyo-command-line
20161106 osc-tokyo-command-line
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
Rustのテストやエコシステム
Rustのテストやエコシステム
CppCon2016 report and Boost.SML
CppCon2016 report and Boost.SML
俺の let p = PathBuf::from("/test").into_os_string().to_str();はなぜコンパイルエラーか
俺の let p = PathBuf::from("/test").into_os_string().to_str();はなぜコンパイルエラーか
Ruby on RedHat Enterprise Linux
Ruby on RedHat Enterprise Linux
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
UniRx勉強会 reactive extensions inside(公開用)
UniRx勉強会 reactive extensions inside(公開用)
OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料
Gr sakuraでtinet
Gr sakuraでtinet
Viewers also liked
SQL 脳から見た Ruby
SQL 脳から見た Ruby
yancya
大江戸 Ruby 会議 05 の Ninja Talks で話した内容のスライドです
Ember コミュニティとわたし
Ember コミュニティとわたし
Ryunosuke SATO
大江戸Ruby会議05 の Ninja Talks です。 http://regional.rubykaigi.org/oedo05/
WebSocket For Web Rubyists
WebSocket For Web Rubyists
Mu-Fan Teng
My talk for #oedo05
mruby で mackerel のプラグインを作るはなし
mruby で mackerel のプラグインを作るはなし
Hiroshi SHIBATA
今やるなら mruby
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
mametter
http://regional.rubykaigi.org/oedo05/
NTT Tech Conference #1 Opening Keynote
NTT Tech Conference #1 Opening Keynote
NTT Communications Technology Development
This is "NTT Tech Conference #1" opening keynote slide.
Learning to forget continual prediction with lstm
Learning to forget continual prediction with lstm
Fujimoto Keisuke
第29回CV勉強会@関東 有名論文読み会発表資料
Urban Hacks
Urban Hacks
yuiseki yuiseki
think ecogeek
think ecogeek
yuiseki yuiseki
RubyWorld Conference 2012 へ何で行ったのか
RubyWorld Conference 2012 へ何で行ったのか
yancya
万葉.rb の公募 LT で発表した際のスライドです
BigQuery の relation 生成
BigQuery の relation 生成
yancya
GCPUG LT 忘年会での LT
ライブ中継サービスと機材について
ライブ中継サービスと機材について
Yoshiki Mizushima
ライブ中継サービス(Ustream, Youtube, ニコニコ生放送, TwitCasting)の特色とライブ中継をするのに必要となる機材選びの注意点についてまとめました。 各サービスを評価していますが、目的によって評価は変わりますので、主観と考えてください。
TPAC 2015 WebRTC WG 最新レポート
TPAC 2015 WebRTC WG 最新レポート
NTT Communications Technology Development
2015年度の第2回 W3C日本会員会議にて講演させていただいた際のスライドです。
OpsからみたOpenStack Summit
OpsからみたOpenStack Summit
NTT Communications Technology Development
OpenStack Summit Barcelona報告会で発表した資料です
Collect, summarize and notify of OpenStack's log
Collect, summarize and notify of OpenStack's log
NTT Communications Technology Development
This slide was used architecture show and tell at OpenStack Ops Meetup in Okinawa Open Days 2015.
Security Advisories Checker on Travis/Circle CI
Security Advisories Checker on Travis/Circle CI
Ryo Shibayama
phpblt #2 での slide SensioLabs の Security Advisories Checker で CI をまわすはなし
ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話
Preferred Networks
Ruby meets Go
Ruby meets Go
NTT Communications Technology Development
Presentation in RubyKaigi 2015
BigQueryのちょっとした話 #phpblt
BigQueryのちょっとした話 #phpblt
kunit
PHPBLT #2 での発表資料
RabbitMQ can scale out!!(jp ops-workshop-3)
RabbitMQ can scale out!!(jp ops-workshop-3)
NTT Communications Technology Development
RabbitMQ is said a point of bottleneck in OpenStack. We researched RabbitMQ and analyzed OpenStack RPC messaging. This slide shows that RabbitMQ can scale out with HA setting.
Viewers also liked
(20)
SQL 脳から見た Ruby
SQL 脳から見た Ruby
Ember コミュニティとわたし
Ember コミュニティとわたし
WebSocket For Web Rubyists
WebSocket For Web Rubyists
mruby で mackerel のプラグインを作るはなし
mruby で mackerel のプラグインを作るはなし
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
NTT Tech Conference #1 Opening Keynote
NTT Tech Conference #1 Opening Keynote
Learning to forget continual prediction with lstm
Learning to forget continual prediction with lstm
Urban Hacks
Urban Hacks
think ecogeek
think ecogeek
RubyWorld Conference 2012 へ何で行ったのか
RubyWorld Conference 2012 へ何で行ったのか
BigQuery の relation 生成
BigQuery の relation 生成
ライブ中継サービスと機材について
ライブ中継サービスと機材について
TPAC 2015 WebRTC WG 最新レポート
TPAC 2015 WebRTC WG 最新レポート
OpsからみたOpenStack Summit
OpsからみたOpenStack Summit
Collect, summarize and notify of OpenStack's log
Collect, summarize and notify of OpenStack's log
Security Advisories Checker on Travis/Circle CI
Security Advisories Checker on Travis/Circle CI
ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話
Ruby meets Go
Ruby meets Go
BigQueryのちょっとした話 #phpblt
BigQueryのちょっとした話 #phpblt
RabbitMQ can scale out!!(jp ops-workshop-3)
RabbitMQ can scale out!!(jp ops-workshop-3)
Similar to Rubyで実はwritev(2) が使われているはなし
関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU
Takuro Iizuka
RISC-V User level ISA
RISC-V User level ISA
たけおか しょうぞう
Risc-V spec V2.2 User level ISA
謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した
t-sin
Lisp meetup #69 にて。
スタート低レイヤー #0
スタート低レイヤー #0
Kiwamu Okabe
らくちん Go言語
らくちん Go言語
株式会社YEBIS.XYZ
20130824 Lightweight Language "Go" @LL matsuri
20130824 Lightweight Language "Go" @LL matsuri
Yoshifumi Yamaguchi
GoはLLだ!ということを無理矢理結論付けた発表です!
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
inaz2
2014/11/15 AVTOKYO2014 (Japanese Version) English Version: http://www.slideshare.net/inaz2/rop-illmatic-exploring-universal-rop-on-glibc-x8664-en-41595384
VAEで遊んでみる
VAEで遊んでみる
超史 宮崎
Kerasを使ってVAEで手書き数字を生成してみました
第2回勉強会スライド
第2回勉強会スライド
koturn 0;
前回の勉強会の内容が、C言語のハック的内容で、あまり役に立たないものだったので、今回は、C言語の基本に立ち返った内容にしました。 C言語のマナーとか書いているので、学校でC言語をやったよ、という人は、見ると得るものがあるかもしれません。 最後のほうには、オマケの内容も付けています。
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Jun-ichi Sakamoto
オープンソースカンファレンス Hokkaido 2015 におけるセッションスライドです。
Unix
Unix
Hiramatsu Ryosuke
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
Hirotaka Kawata
http://open-arch.org/
20170527 inside .NET Core on Linux
20170527 inside .NET Core on Linux
Takayoshi Tanaka
2017/05/27 Y8 2017 Spring in Shibuyaでのセッション
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
Toru Tamaki
ソフトウェア工学2023
Bossan dentoo
Bossan dentoo
kubo39
20130316 プログラミング言語Go
20130316 プログラミング言語Go
Yoshifumi Yamaguchi
Python Developers Festa 2013.03で発表したGoの紹介用スライドです。
Alt#0x008 2017/5/20
Alt#0x008 2017/5/20
Koki Natsume
ALT#0x008で発表。
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
AWS でゲームのバックエンドを構築運用してきた中での実戦でのノウハウを紹介します。HTTP な API サーバーと、TCP/UDP なリアルタイムサーバーでの Tips を紹介します。
KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)
Akihiro Suda
Docker Meetup Tokyo #23 で発表したKubeCon EU 2018 の報告です. https://dockerjp.connpass.com/event/87208/
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
hiyohiyo
Boost.勉強会 #21 札幌 http://connpass.com/event/36509/ にて CrystalDiskInfo から NVMe デバイスの S.M.A.R.T. 情報を読み出す方法を熱く解説させていただきました。 実行ファイル&ソースコード:http://crystalmark.info/
Similar to Rubyで実はwritev(2) が使われているはなし
(20)
関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU
RISC-V User level ISA
RISC-V User level ISA
謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した
スタート低レイヤー #0
スタート低レイヤー #0
らくちん Go言語
らくちん Go言語
20130824 Lightweight Language "Go" @LL matsuri
20130824 Lightweight Language "Go" @LL matsuri
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
VAEで遊んでみる
VAEで遊んでみる
第2回勉強会スライド
第2回勉強会スライド
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Unix
Unix
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
20170527 inside .NET Core on Linux
20170527 inside .NET Core on Linux
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
Bossan dentoo
Bossan dentoo
20130316 プログラミング言語Go
20130316 プログラミング言語Go
Alt#0x008 2017/5/20
Alt#0x008 2017/5/20
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
Rubyで実はwritev(2) が使われているはなし
1.
Rubyで実はwritev(2) が使われているはなし 2015年11月7日 松下 正樹
2.
自己紹介 ● 松下 正樹 ○ svn:
glass, twitter: @_mmasaki, github: mmasaki ● NTTコミュニケーションズ ● 136 commits for Ruby ○ 高速化: String#include?, Hash#flatten. Marshal.load ● 16 commits for OpenStack (Liberty) ○ “I like Python too.”と書いたらCFP通ったので OpenStack Summit Tokyoで発表
3.
知らない間に使われているwritev(2) # 書き込みバッファのサイズは8192バイト str =
"a" * 5000 File.open("foo", "w") do |f| f.write(str) # 書き込みバッファに収まる f.write(str) # 収まらない! end ● 下記のコードではwrite(2)が2回呼ばれ…ない ● writev(2)が1回だけ呼ばれる
4.
writev(2)とは? ● 複数のバッファの内容をアトミックに 書き込めるかもしれないシステムコール ○ write(2)同様バッファを全て書き込めるとは限らない struct
iovec { void *iov_base; size_t iov_len; }; struct iovec vector[2]; /* 2つのバッファを書き出す例 */ vector[0].iov_base = buf1; vector[0].iov_len = strlen(buf1); vector[1].iov_base = buf2; vector[1].iov_len = strlen(buf2); writev(1, vector, 2);
5.
RubyのIO typedef struct rb_io_t
{ FILE *stdio_file; int fd; /* file descriptor */ int mode; /* mode */ (中略) rb_io_buffer_t wbuf, rbuf; (後略) } struct rb_io_buffer_t { char *ptr; int off; int len; int capa; } ● stdioを使わず直接システムコールを使っている ● ruby自身が読み書きのバッファを持つ
6.
IO#writeの大まかな流れ (io.c) IO#writeの呼び出し ↓ io_write(): レシーバがIOかどうか、IOが書き込み可能かのチェック io_fwrite():
文字コード変換とStringのfreeze ↓ io_binwrite(): 書き込みバッファに溜め込む ↓ io_binwrite_string(): 書き込みバッファが溢れると呼ばれる ↓ write(2) or writev(2)
7.
io_binwrite_string()の実装: writev(2)導入前 if (書き込みバッファの中身がある)
{ if (渡されたバイト列がバッファに収まる) { if (バッファを詰めれば収まる) { 頑張って詰める; } バイト列を書き込みバッファに収める; } io_fflush(fptr); /* 中でwrite(2)が呼ばれる */ } rb_write_internal(p->fptr->fd, p->ptr, p->length);
8.
io_binwrite_string()の実装: writev(2)導入後 struct iovec
iov[2]; /* iov[0]: 書き込みバッファ */ iov[0].iov_base = fptr->wbuf.ptr+fptr->wbuf.off; iov[0].iov_len = fptr->wbuf.len; /* iov[1]: 書き込みバッファに収まらなかったバイト列 */ iov[1].iov_base = (char *)p->ptr; iov[1].iov_len = p->length; r = rb_writev_internal(fptr->fd, iov, 2);
9.
まとめ ● RubyのIOはstdioを使わず自前でシステムコールを叩く ● RubyのIOではwritev(2)が使われている ●
writev(2)は、複数のバッファをアトミックに書き込む ○ write(2)同様成功するとは限らない ● writev(2)の導入によって ○ システムコール呼び出し回数を減らすことができる ○ バッファの中身と渡されたStringをアトミックに 書き出せる(かもしれない)
Download now