shimada-kの日記

ソフトウェア・エンジニアのブログです

メモ

Synthでejsを使う

Synthでテンプレートエンジンにejsを使用する時のメモ。Synthのバージョンは0.5.2です。 back/node_modules/synth/synth.jsに追記 back/package.jsonにejsの項目を追記してsynth install -bを実行します。その後、back/node_modules/synth/synth.jsにejsを使…

apache-passengerで動かすsinatra環境のよさげな設定

自宅サーバでsinatraアプリを動かすことにしたので、既存のslimアプリとバッティングしない設定を試した時のメモです。/var/www/slimにslimアプリがあるとします。slimアプリもsinatraアプリもhttp://www.hoge.jp/slim/ http://www.hoge.jp/sinatra/のような…

xconfigとgconfigを使ってみました

GUIベースのカーネル設定ツール(ようは.configに書いてあるカーネルコンポーネントのn/m/yを切り替えるGUIフロントエンド)を使ってみたのでそのことについてのメモです。この記事を9割くらい書き終わった段階でid:meechさんの記事*1を見つけてしまいました。…

ページキャッシュのミスはどこで起きているのか

あけましておめでとうございます。これは「カーネル/VM Advent Calendar2011」35日目の記事です。そして2012年一発目の記事になります。この記事ではページキャッシュミスについて書きます。ページキャッシュとDB(主にtmpfsと絡めたお話)についてはid:naoy…

マイナー番号で複数のデバイスファイルを管理するコードのメモ

今までデバイスドライバを書く時はマイナー番号は0にしていました。なので「マイナー番号はメジャー番号の1つ下の階層の番号」ぐらいの理解でした。 #複数のデバイスファイルを扱う要件がなかったのでしかし、1つのドライバコードで複数のデバイスファイル…

L3キャッシュミス ア‐ラ‐カルト

L3キャッシュミスを計測するプログラムを書いてみました。しかし、一口にL3キャッシュミスと言っても複数のイベントがあります。状況に応じて適切なイベントを選択できるようにそれぞれのイベントの意味を整理しておこうという趣旨のメモです。今回は6種類の…

ImageMagickとマルチスレッドは混ぜるなキケン!?

画像処理をする要件が出たので手軽に扱えるライブラリは無いものかと探した結果、ImageMagickに行き着きました。ライブラリを利用して、油彩化とシャープネスを組み合わせた加工を施すプログラムです。この処理をスレッドに割り当て、マルチスレッドで画像処…

pthread_cancel(3)を使ってみた

マルチスレッドのプログラミングをしていく時にあからさまなポーリングをしない方法についてです。後々同じ内容で悩まないためのメモです。あからさまなポーリングとは int death_flag; /* 省略 */ void *thread_main(void *arg) { /* 省略 */ while(1){ /* …

debianでUSBメモリを実行権付きでマウントするメモ

debianでUSBメモリを扱う時のメモです。私はプログラムの開発プロジェクトをUSBメモリに保存しています。そうすると、USBメモリ内の実行ファイルを実行したいわけです。しかし、私が常用しているdebianではUSBメモリのファイルは「読み込み+書き込み権限」…