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

Perlの俺ルール

Perlでプログラミングする際の俺ルール。文字コード編。 内部的に扱う文字コードはutf8で統一。 プラグマはuse utf8のみ。 入力されたデータは必要に応じてutf8::decodeしてutf8で扱う。 出力するデータはutf8::encodeしてから出力。 ---- 2009/09/19 追記 -…

Perlでファイルアップロード

Perlでアップロードファイルを受け取る時の最小よりちょっと色々おまけが付いてるコード。 post.cgi UTF-8で記述。 #!/usr/bin/perl -w use strict; use warnings; use utf8; use CGI; use File::Copy; use File::Basename; &main(); sub main{ # CGIオブジ…

ファイル比較

バイナリ比較 $ cmp file1 file2 テキスト比較 $ diff file1 file2 違う箇所がある場合、どこが違うのか表示される。 全く同じ場合は何も表示されない。

mapとgrepの違い

Perlではmapとgrepというぱっと見よく似た関数があります。 mapが対象リストの各要素に対して行う処理は式。その結果のリストを返す。 grepが対象リストの各要素に対して行う処理は条件式。合致した要素だけからなるリストを返す。

ディレクトリ中のファイル一覧取得

opendir(DIR, $DirectoryPath); @DirectoryIndex = grep { !m/^(\.|\.\.)$/g } readdir DIR; closedir(DIR); . と .. 以外のファイル一覧が取得出来ます。

ワイルドカード

コンソールでパスを指定するときにはワイルドカードが使える。 $ sudo rm -R /* これで全部消えちゃいます。良い子は実行しないでね。 $ ln -s /hogehoge/* /hogehoge2 これで/hogehoge直下のファイル及びディレクトリへのシンボリックリンクが/hogehoge2に…

ubuntuでのApache2へのmod_perl2導入

インストール $ sudo apt-get install libapache2-mod-perl2 で、mod_perl2はインストール完了。 設定 apache2.confとかがincludeしてくれる位置に、適当な設定ファイルを作っておくといい。 mods-enabledの中にperl.confとして作っておくと他のmodと似たよ…

OpenGLプログラミングの準備

ubuntuの場合、コマンド一行で完了。GLUTっていうOpenGLをラップして使いやすくしたライブラリをインストール。 $ sudo apt-get install freeglut3 freeglut3-dbg freeglut3-dev コンパイルするときは「glut」「GL」「GLU」をライブラリパスとして指定してリ…

google - sparsehash

google codeにて公開されているsparsehashがなかなか速くていいそうです。 http://code.google.com/p/google-sparsehash/ 要素アクセスの際のオーバーヘッドが2bits/entry。よく分からんのでこの辺要勉強。メモリ効率を重視した sparse_hash_map/set 実行速…

State/Strategyパターン

State/Strategyパターンは状態とか戦略とかのクラス化をするパターンです。 要するにインターフェースは同じままでアルゴリズムを取り替え可能にしましょって話。 複数のソートアルゴリズムを扱う場合の簡単過ぎる一例を書いておきます。 まぁこんな感じって…

主に自分のメモ帳として利用予定。

プログラミングとかubuntuとか使っていく上での備忘録。 同じような所で詰まった人の助けとかになれば幸いです。

Qt 及び Qt Eclipse Integrationのインストール

Kubuntu上でGUIプログラミングを行うのにQt4を利用しようと思ったので、必要な物のインストール及び設定メモ。 まずAdeptとかを使って公式のリポジトリからQt4関係の物を一式インストールしようと思ったけども、uicとかが何故か古いので本家のtrolltechから…