nDiki : FAQ
Related term
1999年5月18日 (火)
■ プログラミング言語演習I第4回

今回は、scanf による入力と if 文の学習。
@ 本日の課題
「年齢を入力させ、その値から車の免許が取れるかどうかと酒を飲めるかどうかのメッセージを出力するプログラムを作れ。」
@ 学生から受けた質問等
- muleが起動しない: mule-nw とスペースを開けていないのが原因。
- scanfした後どうすればいいの: 課題の内容を再確認し、処理の流れを考えてもらう。(2件)
- gcc でエラーがでた: gcc のエラーメッセージの見方を説明
- getchar() を使ったが期待した値が入力できない: 似たプログラムがテキストにあって、ここでは getchar() を利用しているのでそれを真似た。ところが、getchar() では文字として入力しているので、入力した数値の最初の文字の文字コードが得られており期待通り動いていない。とりあえずここでは scanf を使うように説明。
- コンパイラエラー: ';' 抜け。(3件)
- どうみてもおかしくないのだが、コンパイラエラー: コメント開始と終了が /* ... */ ではなく \* ... *\ となっている。
- よく意味のわからないコンパイルエラー: 変数宣言の前に printf で出力を行ってしまっている ... 変数宣言は関数(ブロック)の先頭でなければならないことを説明。(2件)
- ソースファイルがない: gcc puro1.c -o puro1.c で上書きしまっている。ご愁傷さま。
- gcc で No such file: kadadi4.c というファイル名で編集しているのに、kadai4.c だと思って gcc していただけ。
- ファイルを保存しなかった: *scratch* バッファに入力。残念ながら mule 終了済み。カットアンドペーストもうまくいかず。ご愁傷さま。彼は本日同じことで2度ソースファイルを失い、これで3度目の入力だとか。
- if (a == '18'): 数はシングルクォートする必要なし。複数文字をシングルクォートすると warning もでる。参照しているテキストが、getchar() で文字を入力し if で文字と比較している例なため、勘違い。
- if ('a' == 18): 変数名をクォートしてしまっている。構文的にはエラーではないが、意図しない結果に。
- gcc のやり方は: もう今日は第4回なのに。忘れちゃったかな。演習の進め方をまとめてある Web ページを説明し、参照してもらう。
- warning: return type of 'main' is not 'int': main の返り値の型について。これも FAQ。すでに演習 Web ページに説明あり。上記メッセージを見て、main 関数の関数名を int にしたがうまくいかないという学生。ちょっとメッセージの読み違えですね。
- parse error before character 033: なぜか目にみえない変なコードがソースファイルにまぎれてしまっている。mule であたりをつけて削除。
- mail の見方: mail コマンドを説明
@ コメント
質問の内容が、操作からコンパイルエラーについてに変わってきた。 やっと、学生も操作になれてきたということか。 まだ、プログラム内容についてはついてきているようだ。 そのうち、どうプログラムを組んでいいかわからなくなってくる学生が増えてくるところか。
変数宣言が関数(ブロック)の先頭になければならない事は授業で説明されただろうか。指定のテキストでは明確にその点について記述されていないため、学生が間違えるのもしかたないか。
「MA1(えむえーわん)」と呼ばれている人がいたが彼は一体?
- [ Perl ] Log::Log4perlのはまりどころ (2004-03-02)
- PAR で DLL ファイルをロードできなかったら大文字小文字を疑え (2009-02-23)
- Evernote 使用開始 (2009-03-03)
- なめらかアルバム (2004-08-09)
- 日本語ファイル名どんとこい (2005-03-07)
2004年3月2日 (火)
■ [ Perl ] Log::Log4perlのはまりどころ

WiKicker / DiKicker の Log::Log4perl 対応作業。
- www.naney.org は Apache の VirtualHost としてエラーログも個別に吐かれている
- エラーログは自分のホームディレクトリに吐かれるものの、root 所有である
- ディレクトリは自分に所有権があり、エラーログが肥大化したら消す事もできるのだが、Apache をリスタートする権利がないので(週に1度のシステム側のローテーションが起きるまで)二度とエラーログが見れなくなる。
ということで、warn -> Apache のエラーログに流れている警告メッセージも、Log::Log4perl の方に流して、好きに消せるようにしておくことにする。
@ Log::Log4perl->init_once
SpeedyCGI 下で動かす事を想定して初期化は、init_once で行うようにする。 可能な限り早く初期化すべきなので、設定ファイル名/設定文字列はプロパティファイルに記述しておくのではなく、CGI プログラムで最初に生成する Controller オブジェクトの初期化パラメータで指定するように。
@ $SIG{__WARN__} を設定
$SIG{__WARN__}を設定して、warn のメッセージを Log::Log4perl に送る。 最初はほぼ FAQ の例のまま、以下のように記述。
use Log::Log4perl qw(:easy);
BEGIN {
$::SIG{__WARN__} = sub {
local $Log::Log4perl::caller_depth = $Log::Log4perl::caller_depth + 1;
WARN(@_);
};
}
しかし期待していた通りに動かず悩む。原因は前述する init_once との絡み。 use Log::Log4perl qw(:easy) した時点でデフォルトの初期化が行われてしまうため、初期化済みになってしまって init_once での設定処理がスキップされていたのが問題。
use Log::Log4perl;
BEGIN {
$::SIG{__WARN__} = sub {
local $Log::Log4perl::caller_depth = $Log::Log4perl::caller_depth + 1;
if (Log::Log4perl->initialized) {
Log::Log4perl->get_logger->warn(@_);
}
};
}
と修正。 get_logger も暗黙的に初期化を行うので、init_once する前に warn されるとやはりデフォルトの初期化がおこってしまう。 それではまずいので initialized が真(=初期化済み)の時のみロギングするようにする。 ただしこれだと init_once する前の warn メッセージが失なわれる(STDERR あたりに print するようにすればいいかもしれない)。
@ CGI::Carpとの絡み
CGI::Carp も $SIG{__WARN__} を上書きするので同時に使えない。 以前に use していたのが残っていてはまる。
@ Log::Log4perl::Appender::Synchronized で core dump ?
NaneyOrgWiki、nDiki でロギングしはじめたところ、CGI プログラムの処理はきちんと成功しているもののその後(?) speedy_backend が core dump してしまう事があるようだ。 最初は $::SIG{__WARN__} の設定あたりに問題があるのかと思ったが、Log::Log4perl::Appender::Synchronized を使わないようにしたところ core を吐かなくなった。
IPC::Shareable、IPC::Semaphoreなんて使っているしやっぱりこれが怪しい。 とりあえず外しておくことにする。
しかし何らかの方法でシンクロしておかないとログファイルが壊れるはずだから、本当はどうにかしなければならないな。 もっと簡単に flock とかで排他制御する Appender とか無いのかな。 自分で書くしかない?
- www.naney.org サーバ断続的にダウン (2006-04-30)
- Windows 上での Apache 2.0.53 では PATH_INFO が シフト JIS に (2005-04-10)
- サーバ高負荷状態につき DiKicker 機能修正とサーバ設定変更 (2006-03-03)
- www.naney.org をさくらのレンタルサーバへ移転 (2009-12-23)
- DiKicker の出力する HTML コードを小さく (2006-10-05)
2004年9月13日 (月)
■ Template Toolkit + PAR

今回のプロジェクトに Template Toolkit を本格的に適用しようかと。 問題となるのは PAR にした時に、どのようにテンプレートを取得するか。 (PARでない場合は)テンプレートはモジュールと同じ位置にインストールしておき @INC から探すようにするつもり。
- PARのキャッシュディレクトリから読み込ませる -> PAR にはキャッシュ位置を取得する公開インタフェースが用意されていない。(今後)常にキャッシュディレクトリに展開されるとも限らない。
- Template::Provider をオーバーライドして、PAR から直接テンプレートをロードできるようにする -> http からのテンプレートの取得についてなどの話で FAQ に掲載されている方法。面倒。キャッシュ処理とかももっと面倒。
ということで泥臭いが「起動時に一時ディレクトリに展開してしまう」という方法を選択。 %PAR::LibCache を舐めて拡張子が 'tt2' であるものを、File::Temp で作ったディレクトリに放り込んで、Template の INCLUDE_PATH に指定する (実際には上記の処理を行うオブジェクトを作って INCLUDE_PATH で指定)。 Daemon 系ならこれで十分。
で、順次 Perl モジュールに散財していたHTML出力をテンプレートベースに変更。 コードがかなりすっきりしてきて気持ちいい。
今回の作業で @INC にサブルーチンリファレンスやら、オブジェクトやらを渡せることを初めてしった。実際 PAR で利用している。 CODE の混ざった @INC をそのまま Template の INCLUDE_PATH に渡すとエラーが起きるので除外したものを渡すように。
- PAR で DLL ファイルをロードできなかったら大文字小文字を疑え (2009-02-23)
- ActivePerl をやめて Strawberry Perl へ (2009-08-25)
- 音楽再生にあわせて処理をする amaroK スクリプトを書いてみる (2006-01-31)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
2006年5月26日 (金)
- 今日のさえずり: Web ビンタもあるだろうと検索したら、果たしてあった (2011-08-17)
- 今日のさえずり: 前職の彼が転職したことを Facebook で知る時代 (2011-11-12)
- 散歩 (2003-10-04)
- 今日のさえずり: 「さくりんごはん」が何だか知りたくてたまらない (2010-09-02)
- 今日のさえずり: 愛をたくさん入れるの (2011-09-01)
2009年2月23日 (月)
■ PAR で DLL ファイルをロードできなかったら大文字小文字を疑え

PDL を使っている Perl プログラムを、昨日構築した今ごろの環境で PAR を使って実行可能ファイル化したんだけれども、実行してみたら
Can't locate loadable object for module PDL::Core in @INC ...
というエラー。 実行時のキャッシュディレクトリを見ると core.dll が同梱されていない模様。 なんでだー。
いろいろやってみたところ、もしやと思ってインストール済みの core.dll を Core.dll という名前に変えたらエラーが出なくなった(正確には次のモジュールで同様のエラーが出た)。
ファイル名の大文字・小文字が問題だったらしい。 PAR の FAQ には「Win32::Perms の Perms.DLL でこのエラーが出たら、Perms.dll にしてね」と書かれている。 最初これ拡張子の問題だけだと思っていた。 ベース名でも同様のようだ。
以前は問題なかったから、比較的新しい PAR で発生するようになったと思われる。 これ絶対はまる。
- Template Toolkit + PAR (2004-09-13)
- ActivePerl をやめて Strawberry Perl へ (2009-08-25)
- 今日のさえずり - くるみマフィンの賞味期限が2月30日 (2009-02-23)
- Wineを入れてみる (2005-03-31)
- PAR::Repository でビルド済み Perl モジュールをネットワーク配信 (2006-12-12)
2009年12月29日 (火)
■ 今日のさえずり - 過去の未使用年賀はがきが累積で41枚

@ 2009年12月29日
- 08:41 ん? 会社のサーバにつながらない。
- 08:55 @as_tone つぎの水やりいつですか?
- 11:04 きりたんぽ鍋の残りで朝雑炊。ウマウマ。
- 11:06 @as_tone もしオフィスに行ったら ADSL モデムとルータ RTX1100 リセット(電源オンオフ)お願いしたいです。
- 11:21 過去の未使用年賀はがきが累積で41枚たまっていた。切手に交換するか。
- 11:30 2000年のお年玉くじつき切手11枚でてきた。
- 11:35 以前未使用年賀はがきから交換してもらったと思われる黄ばんだ5桁はがきが23枚、7桁はがきが13枚、それと5桁往復はがき2枚も発見。
- 11:36 41円・62円・72円・500円と使い勝手の悪い切手も出てきた。
- 11:39 @as_tone ADSL モデムは電源抜いて入れてください。ルータ RTX1100 は裏にスイッチがあるので一旦切って数十秒してから再度電源オンにしてください。お願いします。
- 11:41 @as_tone もし時間があれば PC から社内 Wiki など見られるか確認してもらえますか? 駄目なら ADSL モデム/ルータの問題ではなくてサーバ自体が落ちている可能性があります。
- 13:09 近所にフードコート欲しい。
- 13:10 RT @himanainu_kawai: スターバックスに長時間いて勉強して下さってもいいです。それで頭がよくなって下されば社会貢献ですよ。(スタバ岩田社長/日経MJ)
- 13:34 @as_tone よろしくお願いします。
- 16:18 久しぶりにケータイを忘れた外出から帰宅。電話もメール気にならないけど tweet できないと息苦しくてツライ。
- 16:55 マウカメドウズ FAQ 「スタッフの方が着用しているユニフォームは店舗で販売していますか。」 http://bit.ly/5Ikcxi
- 18:51 「年明けうどん」って明らかに業界がうどん売りたいっていう魂胆がみえみえで嫌だな。っていうかそばアレルギーな自分は基本年越しうどんなワケだが。
- 24:15 宛名面に文面を印刷するという失態を乗り越えてまず5枚年賀状を印刷。
- 25:14 さくらのレンタルサーバ SSH つながらないなあ。
- 25:26 @junjun_ Web は問題ないので SSH が Connection timed out するということは sshd が busy なだけなんでしょうか。最近さくらのレンタルサーバ使い始めたばかりで、そのあたりの塩梅がまだよくわからなくて。
- 25:58 2009年12月25日の歩行: 5244歩、4.02km、45分、5.27km/h、消費 203.0kcal、脂肪燃焼 29.0g、2.9エクササイズ。
- 25:59 2009年12月26日の歩行: 0歩、0.00km、0分、0.00km/h、消費 0.0kcal、脂肪燃焼 0.0g、0.0エクササイズ。
- 26:00 2009年12月27日の歩行: 6378歩、4.85km、59分、4.91km/h、消費 244.0kcal、脂肪燃焼 34.9g、3.4エクササイズ。
- 26:01 2009年12月28日の歩行: 8241歩、6.27km、77分、4.86km/h、消費 319.2kcal、脂肪燃焼 45.6g、4.4エクササイズ。
- 26:03 2009年12月29日の歩行: 3118歩、2.35km、30分、4.60km/h、消費 117.5kcal、脂肪燃焼 16.8g、1.6エクササイズ。
- 今日のさえずり: 「車に乗るやつ?」って言われた。それ違う、人生ゲームや。 (2010-11-16)
- 今日のさえずり - 年賀状作成特設会場とした (2009-12-30)
- 今日のさえずり - 停電って近隣にいる Twitter-ers あぶりだしに最適 (2010-01-21)
- 今日のさえずり - くるぴかポッチャマ廻しにくい (2009-12-27)
- 今日のさえずり - 外国人御一行がパセラのマンモス肉食品サンプルに釘付け (2009-10-25)
2010年3月16日 (火)
■ 今日のさえずり - 紫のハンドタオルを口に当てた人が電車から下りてきた

@ 2010年03月15日
- 09:33 JR 3月13日にダイヤ改正したんだっけ。先週とちょっと電車の時間が違ってあれって思った。
- 09:53 ヨドびの公式サイトができたって。 (@ ヨドバシカメラマルチメディアAkiba) http://4sq.com/77WGwe
- 15:01 CoTweet サインアップしてみた。
- 15:02 ヨドびも Twitter やってるんだ。 RT @yodobi: @Naney わーい!ヨドびちゃんも仲間入りです。よろしくお願いします!
- 17:25 お茶 103円。 (@ ファミリーマート神田佐久間町店) http://4sq.com/biJuCj
- 20:17 あー、今日の夜何食べるかまだきまらない(会社で食べるつもりだったけど予想外にキリがついたので退社済み)。
- 20:20 隣の人が15分以上、中古 CD のシールを剥がして残った糊を猿のようにペタペタやってる。
- 20:25 ちょっと雨。さぼてんにした。 (@ アトレ大井町) http://4sq.com/8jv27N
- 23:10 おサイフケータイ対応ゴールドポイントカード削除。
- 23:20 おサイフケータイ Edy のサービス登録削除。
- 23:34 何もしていないブログマーケットを退会しようと思ったが、退会機能がない。FAQ によると問い合せフォームを使えと。
- 24:36 Gmail の特定のラベルに対応する Mew 上の IMAP ディレクトリを howm-search-path に指定しておけばウハウハじゃんと思ったが検索できなかった。そうか charset が違うんだよな。惜しい。
@ 2010年03月16日
- 09:33 紫のハンドタオルを口に当てた人が電車から下りてきて目を丸くした。
- 09:36 もしかしてクーラーかかってる? この京浜東北線。
- 09:43 @junjun_ あ、やっぱりクーラーかかってますか。上着きていると暑いぐらいなので、クーラー入っていると確かに快適です。
- 09:44 RT @miyawaki: みんなでブログ更新しましょう方式って、だいたいうまくいかないよね。なんでだろう?
- 12:13 オーブントースター見にきた。 (@ ヨドバシカメラマルチメディアAkiba) http://4sq.com/77WGwe
- 12:24 オーブントースター第1候補はサンヨー SK-CW12 かな。3月19日まで3310円。
- 12:34 ビッグマックセット(昼食) 590円。 (@ マクドナルド秋葉原昭和通り店) http://4sq.com/cVnVl2
- 13:29 Evernote のノートブックの共有ってもしかして「閲覧のみ」だとデスクトップには(read only とかで)同期されないの?
- 16:18 C++ ソースコードを Uncrustify したら、1行コメントの次の行のコードまでコメントアウトされていて驚愕した。
- 16:41 やばし。スコッティ切れた。
- 21:03 I'm at 秋葉原駅 (秋葉原駅, 千代田区) w/ 6 others. http://4sq.com/68fhHr
- 21:33 ヤマダ電機 3480円だった。
- 23:59 Evernote への転送/ラベル設定用 Gmail フィルタ・コンタクト設定をした。
- 25:02 Evernote プレミアムにした。
- Evernote 使用開始 (2009-03-03)
- 今日のさえずり: 本社誰も応答しないと思ったら、やっぱり総出で雪かきしてたらしい (2011-01-17)
- 今日のさえずり - ファミリーマートにクリスマスケーキ4号・5号 (2008-12-24)
- Evernote プレミアムにした (2010-03-17)
- 今日のさえずり - ここ最近裏紙が激しく不足している (2010-03-19)
2010年7月9日 (金)
■ 今日のさえずり: 裏秋葉原ってどこ?

@ 2010年07月09日
- 10:07 缶コーヒー 100円。
- 10:29 たまにしか使わないのにスタートアップ時に起動する設定になっていた PostgreSQL を停止。
- 12:09 裏秋葉原ってどこ?
- 12:34 浅草橋特集の「散歩の達人」 579円。 (@ 有隣堂 ヨドバシAKIBA店) http://4sq.com/4zEmzV
- 12:40 「男性・メンズ専門ネイルサロン」のティシューもらった。男性とメンズの違いがよくわからない。
- 12:42 別に男性専門でなくていいけど。
- 12:47 和風牛丼 350円。 (@ なか卯 神田佐久間町店) http://4sq.com/9tdwTs
- 13:10 風邪薬は今日の朝まででおしまい。
- 13:14 さっき買ったの。「散歩の達人 2010年 07月号 柳橋 浅草橋 蔵前 馬喰町」 http://amzn.to/9e6Nq4
- 13:25 @Meg_mama 自分は今回はガッと熱が出てすっと後腐れなく良くなったのですが、まわりでは長引いている人多いですね。薬は用心して長めに飲んでました。
- 17:32 Gmail の送信取り消し機能で助かった。
- 17:56 Google Apps のログイン画面で「ユーザー名」でよいところを「ユーザー名@ドメイン名」を入力して入れないのって FAQ になりつつある。
- 18:09 公認アカウントでつぶやけ指令をいただいた。
- 18:09 待っておりました。
- 18:35 RT @lrcomm: ぐるぐるアイコンの lrcomm です。お待たせいたしました。生産準備業務向けソフトウェアの新バージョン GP4 Manufacturing 2010 Rev.2 をリリースいたしました! http://bit.ly/9Zbof4
- 19:26 チーズクロワッサン 125円。この時間に弁当食べると確実にやる気がなくなるので。
- 19:40 バジルの恥ずかしい部分が露出。 http://movapic.com/...
- 21:49 あ、これからどこで夜御飯食べようかな。マクドナルド以外。
- 21:59 なぜこのタイミングで Amazon.co.jp は「デスマーチ」 http://amzn.to/cYwKbR を薦めてくるのか?
- 22:17 「土俵ガール」と「ゆうパック」の広告が並んでいるのはどうなのか。 (@ 秋葉原駅 w/ 7 others) http://4sq.com/68fhHr
- 22:21 今日 Norton Internet Security 2010 注文。週末にインストールできるといいな。
- 22:41 スーパーきたけど、これといったものがない。
- 22:49 富士そばでミニカレーセット 470円。
- 23:03 @_kojihiro 日高屋か、いいですね。行動範囲にあるので次はそこも候補にします。
- 今日のさえずり - ささやかな気持ちDES (2008-11-07)
- 今日のさえずり: iGoogle にタブ追加して Remember The Milk ガジェット2つ追加 (2010-11-10)
- 今日のさえずり - 待受画面が巨大仏像写真なのでビビった (2009-11-06)
- 今日のさえずり - Amazon.co.jp でママレモン売ってる (2008-10-16)
- 今日のさえずり - 夏が終わったのに黄色かよ (2009-10-02)
2012年2月6日 (月)
■ 今日のさえずり: 「嫁 Auth」って authorization の方だよね。認証とか言ってる人夫婦関係ヤバすぎ。

@ 2012年02月06日
- 09:33 もう雨降ってるじゃない。 @ 渋谷駅 (Shibuya Sta.)にタッチ! http://t.co/UdUQW5UT
- 10:39 昨晩、Android 用テキストエディタとして Jota Text Editor インストールしてみた。Dropbox コンボでしばらく使ってみる。
- 11:32 「嫁 Auth」って authorization の方だよね。認証とか言ってる人夫婦関係ヤバすぎ。
- 15:10 referral marketing っていう言葉があるんだ。
- 15:46 某ネットサービスに問い合わせしたら、X-Mailer: TECHNOMARK MAIL v1.90 なメールで回答をいただいた。
- 15:51 テクノマークのサイトの導入事例に「株式会社はてな様」が掲載されていたので伏せる必要無かった。はてなさんテクノマークメール使ってるんだ。
- 15:53 そういえばコールセンター/CRM デモ&コンファレンス2011 in 東京(第12回)で「テクノマークFAQ」を見たんだけれど、その時は普通のツリー型の FAQ システムだなっていう印象だった。
- 21:24 DVD コンポの MD 部がイカれかけてるみたい。もう MD 修理とかねー。他各所調子悪くなってきてるし。あ、コンポジットAVケーブル買って iPad 2 つなげば、まだしばらくいけるかも。
- 22:15 iPhone用 コンポジットAVケーブルがタイムセールで 1,780円か。 http://t.co/aZYfdc8Q
- 22:19 注文した! RT @Naney: iPhone用 コンポジットAVケーブルがタイムセールで 1,780円か。 http://t.co/aZYfdc8Q
- 23:16 QuickSSHd 起動して Xperia に SSH 接続。build.prop をオリジナルに戻す。
- 23:38 ウホ、ようやくソフトウェア更新できた。1バイト書き換えただけでも駄目だったのね。
- 24:02 root 残ってたので、そのまま再度 build.prop いじってシャッター音無音化。めでたしめでたし。
- Evernoteデベロッパーズミーティング (2010-10-01)
- 今日のさえずり: 入試と PC と、落ちるのご勘弁ください (2011-09-05)
- 今日のさえずり: 「We はーと blog」シールをさっそく貼っといた (2010-10-15)
- 今日のさえずり: お年玉付き年賀はがきの当選番号チェックしました。全滅でした! (2011-01-29)
- Evernote 使用開始 (2009-03-03)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザインProcess Time: 0.213212s / load averages: 0.60, 0.92, 1.21
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker
Base theme by Nana (for tDiary)




◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。
◇ 2GB 無料のオンラインストレージサービス Dropbox に次のリンク先から登録すると今なら 250MB プラス! → Dropbox