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

Gaucheの*load-path*(その2)

スクリプトで (add-load-path "/home/username/dev/src/lib") ってやっても良いけど、goshは起動時のコマンドライン引数のオプションでも*load-path*に追加できるらしい。 gosh -I/home/username/dev/src/lib または gosh -A/home/username/dev/src/lib でい…

Gaucheの*load-path*

俺ライブラリを書き始めた。モジュールとして作って、それをuseしようと試みたらエラーになって1時間くらい悩んだのでメモ。 ;; ~/dev/src/lib/hoge.scm (define-module hoge (export foo)) (select-module foo) (define x 42) (define (foo n) (+ x n)) (pr…

条件分岐

if文 elseが無いif文はこんな感じ if 条件式 then 処理 fi then節とelse節がある場合 if 条件式 then 処理1 else 処理2 fi else ifみたいなのが付く場合 if 条件式1 then 処理1 elif 条件式2 then 処理2 elif 条件式3 then 処理3 else 処理4 fi case文 switc…

条件評価

例えばファイル「sample.dat」が存在するかどうか調べるとき test -f sample.dat または [ -f sample.dat ] とできる。-fが演算子でsample.datが被演算子みたいな感じかな?ファイルの存在以外にも、以下のようにいろいろな判断ができるそうだ。「真」という…

引数に関する変数

$argv 引数を格納した配列 $1, $2, $3,... 1番目、2番目、3番目...の引数 $# 引数の個数 $@ すべての引数(区切り文字はスペース) $* すべての引数(区切り文字はIFSの値) $? 直前に実行したコマンドの終了ステータス

引数argv

あるぇ?僕の環境(zs 4.3.10 i686-pc-linux-gnu)で、次のスクリプトが意図したとおりに動かない。 echo "arg1: $argv[1]" echo "arg2: $argv[2]" echo "arg3: $argv[3]" 実行結果は以下。 ./argv.sh foo bar baz arg1: [1] arg2: [2] arg3: [3]

lsコマンド

ls | wc -l ってやるとファイルの数を数えられることが理解できずにいた。 だって、 wc -l 改行文字を数えるコマンドでしょ?今居るディレクトリはファイル数は少ないし ls の結果は一行だよ? とか思いつつ、 ls > list.txt cat list.txt ってやってみたら…

Rを使ってみようかしら

作ろうとしているwebアプリは、初めは統計の計算も実装するつもりでいたけど、バックエンドとしてRを使ってみようかという気になってきた。どうすればできるか分からんけど。 あと、グラフに関しても考えることがある。 canvasタグでJavaScriptで描画する サ…

フォルダの右クリックメニューからコマンドプロンプトで開く

激しく今更だけど。以下のスクリプトを、拡張子をregで保存して、実行すればいいっぽい。 要再起動だったっけな? 自己責任で。 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\OpenCmdHere] @="Open here with cmd.exe" [HKEY_C…

Web開発の勉強

Web

僕は現在求職中。Web系開発の求人にも応募したけども、Web開発の経験が浅くスキルも不足しているため、やはり厳しい(もちろんスキル以外の原因もあるだろうけど)。 Web開発の業務経験としてはPHP 5.2.5 + PostgreSQL 8.0.1 の環境下で主に保守を2年やった…

宣伝

以前StatFlexV6というパッケージソフトの開発に携わったことがある。統計解析用のソフトウェアで、売りは データの可視化 妥当な統計処理のみを提供 教科書並みのユーザーズマニュアル などが挙げられると思う。それぞれについて簡単に紹介。興味をもたれた…

JSLint

JavaScriptを勉強している。 ブラウザとテキストエディタさえあれば良いという点でJavaScriptは始めやすいと聞いた。しかしブラウザ搭載の処理系のみだと文法エラーに長時間悩まされる(まだそのレベル)ので、非常にやりづらいと思っていた。そんな中、twit…

フィールド名一覧が欲しい

MySQLで、データベース名とテーブル名指定してフィールド情報を取得するには、次のSQLでいいのかな? SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_CATALOG = 'def' AND TABLE_SCHEMA = 'database_name' AND TABLE_NAME = 'table_name' ORDER BY O…

PEAR::MDB2のプリペアドステートメント

はまちちゃんも「SQLインジェクションに対してはプリペアドステートメントが有効」って言ってた(5分でできるPHPセキュリティ対策 - ぼくはまちちゃん!(Hatena))ので、やってみることにした。 だけどエラーに悩まされたので、そのことを書いておく。 やっ…

エラーメッセージの抑制

僕はXAMPPの上でPHPを書いているけど、デフォルトの設定だと、PEAR::MDB2を使うと以下のようなエラー(警告?)が大量に出る。 Deprecated: Assigning the return value of new by reference is deprecated in <ソースファイル名> Strict standards: Decla…

PEARでupgradeできない

upgradeとかupgrade-allしようとしたら、 Error getting channel info from pear.php.net: SECURITY ERROR: Will not write to <ファイルのパス> as it is symlinked to <ファイルのパス> - Possible symlink attackってエラーが出て、できなかった。 グ…

tr///による置換(第8章「もっと正規表現」続き)

英語の大文字と小文字を入れ替えたい場合に以下のようにしてもダメだ。 my $str = "How I wonder what you are.\n"; $str =~ s/[A-Z]/lc($&)/ge; $str =~ s/[a-z]/uc($&)/ge; print $str; http://ideone.com/IJRrI すべて大文字になってしまう。 そこで、tr/…

置換s///(第8章「もっと正規表現」続き)

今までは主に正規表現での検索についてやってきたけど、今回は検索した結果を置き換える置換s///に関して。 簡単な置換 置換には「s///」という機能(これは演算子?手続き?関数?構文????)を使うそうな。 次のようなスクリプトを実行すると、 my $str…

正規表現についていくつか

$1とか$2とかについて 選択させたい部分をカッコで囲むことがあるけど、やっぱりそれも$1とか$2とかを束縛するのかな?やってみよう。 my $str = 'interior and exterior'; while ($str =~ /(in|ex)\w+/g) { print "\$& = $&, \$1 = $1\n"; } http://ideone.…

第8章「もっと正規表現」

もっと正規表現をやるそうな。 マッチした範囲を複数個取り出す$1、$2、$3 my $str = '168,57,37'; if ($str =~ /(\d+),(\d+),(\d+)/) { my $height = $1; my $weight = $2; my $age = $3; print "\$height = $height\n"; print "\$weight = $weight\n"; pri…