2008-01-01から1年間の記事一覧
Perlでプログラミングする際の俺ルール。文字コード編。 内部的に扱う文字コードはutf8で統一。 プラグマはuse utf8のみ。 入力されたデータは必要に応じてutf8::decodeしてutf8で扱う。 出力するデータはutf8::encodeしてから出力。 ---- 2009/09/19 追記 -…
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 違う箇所がある場合、どこが違うのか表示される。 全く同じ場合は何も表示されない。
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に…
インストール $ sudo apt-get install libapache2-mod-perl2 で、mod_perl2はインストール完了。 設定 apache2.confとかがincludeしてくれる位置に、適当な設定ファイルを作っておくといい。 mods-enabledの中にperl.confとして作っておくと他のmodと似たよ…
ubuntuの場合、コマンド一行で完了。GLUTっていうOpenGLをラップして使いやすくしたライブラリをインストール。 $ sudo apt-get install freeglut3 freeglut3-dbg freeglut3-dev コンパイルするときは「glut」「GL」「GLU」をライブラリパスとして指定してリ…
google codeにて公開されているsparsehashがなかなか速くていいそうです。 http://code.google.com/p/google-sparsehash/ 要素アクセスの際のオーバーヘッドが2bits/entry。よく分からんのでこの辺要勉強。メモリ効率を重視した sparse_hash_map/set 実行速…
State/Strategyパターンは状態とか戦略とかのクラス化をするパターンです。 要するにインターフェースは同じままでアルゴリズムを取り替え可能にしましょって話。 複数のソートアルゴリズムを扱う場合の簡単過ぎる一例を書いておきます。 まぁこんな感じって…
プログラミングとかubuntuとか使っていく上での備忘録。 同じような所で詰まった人の助けとかになれば幸いです。
Kubuntu上でGUIプログラミングを行うのにQt4を利用しようと思ったので、必要な物のインストール及び設定メモ。 まずAdeptとかを使って公式のリポジトリからQt4関係の物を一式インストールしようと思ったけども、uicとかが何故か古いので本家のtrolltechから…