自由課題

学んだり、考えたり、試したりしたこと。

C

声に出して読みたいUNIX&LINUXライブラリ関数

C C++

"LINUXプログラミングインターフェイス"という本を読みました。 この本は、"本書は Linux および UNIX システムプログラミング API の(ほぼ)完全な解説を目標とし、内容 は広範囲の Linux プラットフォームに通用するもの(まえがきより)"ということで、約150…

node.jsを支えるlibuvのチュートリアル"uvbook" :ユーティリティ

この文書はuvbookの日本語翻訳の一部となります。文書そのものの説明その他については目次をご覧ください。

node.jsを支えるlibuvのチュートリアル"uvbook" :イベントループ

この文書はuvbookの日本語翻訳の一部となります。文書そのものの説明その他については目次をご覧ください。 より進んだイベントループ libuvはイベントループに対して相当な制御機構を提供しており、複数のイベントループで曲芸を行うことにより興味深い結果…

node.jsを支えるlibuvのチュートリアル"uvbook" :プロセス

この文書はuvbookの日本語翻訳の一部となります。文書そのものの説明その他については目次をご覧ください。 プロセス libuvはかなりの量の子プロセス管理機能を提供しており、プラットフォーム間の差異を抽象化し、ストリームや名前付きパイプを用いて子プロ…

node.jsを支えるlibuvのチュートリアル"uvbook" :スレッド

この文書はuvbookの日本語翻訳の一部となります。文書そのものの説明その他については目次をご覧ください。 スレッド ちょっと待って下さい? なぜスレッドの話をするのですか? イベントループは web-scaleプログラミング を行うための 手段 だったのではない…

node.jsを支えるlibuvのチュートリアル"uvbook" :ネットワーク処理

この文書はuvbookの日本語翻訳の一部となります。文書そのものの説明その他については目次をご覧ください。 ネットワーク処理 libuvにおけるネットワーク処理は直接BSDソケットを用いた場合のそう変わりませんが、いくつかのことは簡単になっており、全ては…

node.jsを支えるlibuvのチュートリアル"uvbook" :ファイルシステム

この文書はuvbookの日本語翻訳の一部となります。文書そのものの説明その他については目次をご覧ください。 ファイルシステム 単純なファイルシステムの読み取り/書き込みには uv_fs_* 関数群と uv_fs_t 構造体を用います。 Note libuvのファイル操作はソケ…

node.jsを支えるlibuvのチュートリアル"uvbook" :基礎

この文書はuvbookの日本語翻訳の一部となります。文書そのものの説明その他については目次をご覧ください。 libuvの基礎 libuvは 非同期、 イベント駆動 のプログラミングスタイルを強制します。 libuvの中心的な機能はイベントループとI/Oと他の活動(activi…

node.jsを支えるlibuvのチュートリアル"uvbook" :イントロダクション

この文書はuvbookの日本語翻訳の一部となります。文書そのものの説明その他については目次をご覧ください。 イントロダクション この'書籍'はWindowsとUnixで同じAPIを提供するハイパフォーマンスなイベント駆動(evented)I/Oライブラリとしてlibuvを使うため…

node.jsを支えるlibuvのチュートリアル"uvbook" :目次

はじめに node.jsの基礎となるライブラリにlibuvというものがあります。以前からnode.jsの仕組みについて気になっていたので調べようと思ったところ、uvbookというlibuvのチュートリアルがあったので訳してみることにしました。 この文書のライセンスについ…

makecontext関数でコルーチンを実装してみる

C

ユーザレベルでコンテキストの切り替えを行う関数としてmakecontextという関数があります(ここでいうコンテキストはこれです)。 これを使うとpthreadやプロセスを利用せずに処理の流れを制御できます。 車輪の再発明感がかなりありますが、この関数と関連す…