2016-01-01から1年間の記事一覧

プログラミング言語を作る (1)

はじめに 学習目的でスクリプト言語を作っている。 github.com日々使っている言語も仕組みを知らなければ高いパフォーマンスを出せないし、仕組みを知りたければ自分で作ってみるのが一番だ。単純な四則演算からはじめて、これまでに以下の機能を実装した。 …

MacでPTHREAD_PROCESS_SHAREDは使えない

Mac

preforkサーバのようにプロセス間でロック機構を使いたい場合には、fcntl関数によるPosixファイルロックやディスクリプタパッシングなどの方法が用いられる。 pthreadの機能を使ったスレッドロックもその内の一つで、通常単一プロセスのスレッド間に用いるス…

HTTPServerのデーモンプロセス化

HTTPServerはクライアントからのリクエストを待ち受けて処理するタイプのプログラムなので、特定のターミナルに紐付けるのではなく、起動後は独立して動作するデーモンプロセスとする必要がある。github.comデーモンプロセスにする場合、以下のような手順で…

Couchbase Server 4.0をCentOS7にインストールする

Couchbase Couchbaseは分散ドキュメントを扱うNoSQLである。 主な特徴としては、 RAMベースでの高速な動作に加え非同期でのストレージ保存 (分離レベルを設定可能) キーバリュー型のシンプルなドキュメントストア構造 ノードのクラスタ追加によるリニアなス…

Macでのsyslogの利用

はじめに プログラム開発時のログ出力にはsyslog関数を使うと便利である。 特に、特定のターミナルと結びつかないデーモンプログラムの開発では、標準出力へのログ出力を行うことはできないため、syslogは重宝する。 ところが、このsyslogをMacで使う時は少…