$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

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

Linuxカーネル解読室11章(実メモリの管理)を読んだ

今回はLinux本の11章、実メモリの管理について読んで、マインドマップにまとめてみました。 マインドマップ pdfファイル [file:shiba_yu36:Linux本 11章 - 実メモリの管理.pdf] 補足など 今回はバディシステムのメモリ獲得、解放の流れが一番重要になると思…

Linuxカーネル解読室10章(カーネル空間のレイアウト)を読んだ

今回はLinux本の10章、カーネル空間のレイアウトについて読んで、マインドマップにまとめてみました。 マインドマップ pdfファイル [file:shiba_yu36:Linux本 10章 - カーネル空間のレイアウト.pdf] 補足など HIGHMEMアクセス領域がいまいち分かりづらかった…

Test::Mock::Guardを使ってみた

Test::Mock::Guard Released - 日向夏特殊応援部隊を見てちょっと使ってみたのでメモ。最初はこんな感じの使い方をしてた。 package test::Sample; use strict; use warnings; use Path::Class; use lib file(__FILE__)->dir->parent->subdir('lib')->string…

Linuxカーネル解読室9章(アドレス変換機構)を読んだ

今回はLinux本の9章、アドレス変換機構について読んで、マインドマップにまとめてみました。 マインドマップ pdfファイル [file:shiba_yu36:Linux本 9章 - アドレス変換機構.pdf]

Linuxカーネル解読室8章(シグナル処理)を読んだ

今回はLinux本の8章、シグナル処理について読んで、マインドマップにまとめてみました。 マインドマップ pdfファイル [file:shiba_yu36:Linux本 8章 - シグナル処理.pdf]

補足 - Web Applicationをきれいに設計するためのMVACという考え方

Web Applicationを綺麗に設計するためのMVACという考え方 - Dive into the Tech World! では、様々な意見をいただきありがとうございました。コメントを見る限り、うまく伝えきれていないなという部分がいくつかあったため、補足としてまとめたいと思います…

Web Applicationを綺麗に設計するためのMVACという考え方

【2016/03/04追記】以前まとめたこのMVACという名前の設計は既に古くなっており、今はこのようなアーキテクチャで設計していません。 こんにちは。最近ははてなでMVACというアーキテクチャに則って開発をしているのですが、ようやく意味を理解できてきました…

debianのapache2の実行ユーザを変更する

apacheの実行ユーザを変更しようと思っていろいろ見ていたので、メモしておきます。debianに入っているapache2は/etc/apache2/envvarに変数としてユーザやグループが定義されています。こんな感じ # envvars - default environment variables for apache2ctl…

Linuxカーネル解読室7章(プロセス管理)を読んだ

今回はLinux本の7章、プロセス管理について読んで、マインドマップにまとめてみました。今回は長かったので、二つになりました。 マインドマップ pdfファイル [file:shiba_yu36:Linux本 7章 - プロセス管理(前半).pdf] [file:shiba_yu36:Linux本 7章 - プ…

CSRFDefenderでワンタイムトークン使えるようにした

Mojolicious::Plugin::CSRFDefenderの機能を増やしてshipitしました。ワンタイムトークンを使えるオプションを増やしました。設定方法はこんな感じ。 plugin 'Mojolicious::Plugin::CSRFDefender' => { onetime => 1, }; ユーザから妥当なトークンが送られて…

perlのforの挙動がわからない

perl5.8.9で下のように書いたスクリプトがなぜか死なずに実行される。仕様なのかわからないし、他のバージョンだと動作がおかしくなっちゃうのかどうかもわからないので、だれか分かる人がいたら教えて欲しいです。。。 追記 twitter上で教えていただきまし…

Linuxカーネル解読室6章(同期と排他)を読んだ

今回はLinux本の6章、同期と排他について読んで、マインドマップにまとめてみました。 マインドマップ pdfファイル [file:shiba_yu36:Linux本 6章 - 同期と排他.pdf]

Mojolicious::Plugin::CSRFDefenderでオプションを使えるようにした

この前作ったMojolicious::Plugin::CSRFDefenderでオプションを使えるようにしました。下のような感じで使います。 plugin 'Mojolicious::Plugin::CSRFDefender' => { parameter_name => 'param-csrftoken', session_key => 'session-csrftoken', token_leng…

Linuxカーネル解読室5章(システムコール)を読んだ

今回はLinux本の5章、システムコールについて読んで、マインドマップにまとめてみました。 マインドマップ pdfファイル [file:shiba_yu36:Linux本 5章 - システムコール.pdf]

Linuxカーネル解読室4章(時計)を読んだ

今回はLinux本の4章、時計について読んで、マインドマップにまとめてみました。 マインドマップ pdfファイル [file:shiba_yu36:Linux本4章 - 時計.pdf]

Mojolicious::Plugin::CSRFDefenderというのを作った

最近はMojoliciousを使ってWebアプリケーション開発を行っています。CSRFの対策をどうしようかなと考えていて、最初はPlack::Middleware::CSRFBlockを使っていたのですが、 Sessionとかの仕組みはApplicationと同じものを使いたい CSRF対策はApplicationの層…

Linuxカーネル解読室3章(遅延処理)を読んだ

Linuxカーネル解読室の3章を読んで、マインドマップにまとめてみました。 マインドマップ PDFファイル [file:shiba_yu36:Linux本3章 - 遅延処理.pdf]

MojoliciousでPlack::Middlewareを使う

MojoliciousでPlack::Middleware::CSRFBlockを利用したかったので、どうやって使うか調べてみました。 Mojoliciousの場合、Plack::Middlewareを利用するにはscript/sampleのようなサーバ起動用スクリプトをPlack::Builderを使うようにすると、利用出来るよう…

Linuxカーネル解読室2章(割り込み)を読んだ

今回はLinux本の2章、割り込みについて読んで、マインドマップにまとめてみました。 マインドマップ pdfファイル [file:shiba_yu36:Linux本 第二章 - 割り込み.pdf]

gitosisをインストールするときの手順

いろいろ見てちょっと時間かかったので、どこ見たかメモ。 http://openbooth.org/archives/65.html http://openbooth.org/archives/82.html

capistranoでperlアプリケーションを簡単にデプロイ

自分の作ったアプリケーションをデプロイするのって結構大変ですよね。今回はcapistranoを使って、perlのアプリケーションをデプロイ出来るようにしてみたので、そのやり方をまとめてみました。 capistranoとは 「複数の環境に同じ処理を同時に実行させる」…

Mojoliciousアプリケーションをmod_perlでデプロイする方法

最近Mojolicious + SkinnyもしくはTeng + XslateでWebアプリを書いているんですが、デプロイ作業をやってみたので、そのまとめです。合わせて以下の記事も読んでみてください。 Mojolicious + Xslate + SkinnyでMVC開発環境 - $shibayu36->blog; Mojo + Skin…

debianにmod_perl2をインストールする

perlのビルドオプションとか、aptitudeでインストールするとperl5.10.0で入るとか、いろいろ問題があったのでメモ。 perlのインストール perlはソースからインストールするが、オプションによってはmod_perlがうまく入らなかった。次のようにいれました。い…

Mojoliciousでstaticファイルのpathを変える

自分はいつもstaticファイルはプロジェクト下のstaticディレクトリに置くのですが、mojoliciousのデフォルトだとpublicの下になってたので、変える方法を調べてみました。Mojoliciousの場合はstaticファイルはMojolicious::Staticで扱っているため、startup…

Mojo + Skinny + Xslateの雛形を作成するFlavorを作った

以前、Mojolicious + Xslate + SkinnyでMVC開発環境 - $shibayu36->blog;の記事で紹介したMojo + Skinny + XslateでのWeb Application開発ですが、毎回毎回あの変更を加えるのは面倒なので、Module::Setupを使ってすぐに雛形を作れるように、Flavorを作成し…

Module::Setupで雛形に渡ってくる変数を理解する

Module::SetupでWeb Application作るときの雛形を作ろうと思ったんですが、テンプレートファイルに渡ってくるパラメータがいまいちわからなかったので、コードを読んでみました。 ファイルに渡ってくる変数 実際のテンプレート作成はModule::Setupのcreate_s…

emacsでいろいろな情報をレジスタに保存する

emacsのwindow分割情報を一時的に保存できないかなーと思って探してたら、レジスタにいろいろな情報を保存できることがわかったのでメモ。 レジスタにwindow分割情報を保存する window-configuration-to-registerという関数でwindow分割情報を保存できます。…