C言語で行末の空白を赤の下線で強調表示する
C言語でターミナルで表示される文字をカラー表示させる でのエスケープシーケンスによるカラー表示を使って行末の空白文字列を明示させてみる。 空白文字が見つかったら空白以外の文字が見つかるまでスキップして、見つかった空白以外の文字が ‘\n’ ならば下線付きでカラー表示させてスキップ回数分の空白を出力する。 見つかった空白以外の文字は ungetc を使って標準入力に戻す。 #include <…続きを読む
C言語でターミナルで表示される文字をカラー表示させる でのエスケープシーケンスによるカラー表示を使って行末の空白文字列を明示させてみる。 空白文字が見つかったら空白以外の文字が見つかるまでスキップして、見つかった空白以外の文字が ‘\n’ ならば下線付きでカラー表示させてスキップ回数分の空白を出力する。 見つかった空白以外の文字は ungetc を使って標準入力に戻す。 #include <…続きを読む
C言語でエスケープシーケンスを使って端末に表示される文字・背景をカラー表示させてみる。 \x1b は ESC の16進表記 背景色 前景色 黒 \x1b[40m 黒 \x1b[30m 赤 \x1b[41m 赤 \x1b[31m 緑 \x1b[42m 緑 \x1b[32m 黄色 \x1b[43m 黄色 \x1b[33m 青 \x1b[44m 青 \x1b[34m マゼンタ \x1b[45m マゼンタ…続きを読む
I18n generators でロケールファイルを自動生成して、プロジェクトの日本語化(多言語化)を行う。 I18n generators をインストール gem で git リポジトリからインストールする。 $ sudo gem source -a http://gems.github.com http://gems.github.com added to sources $ sudo gem…続きを読む
8.7 記憶割当て malloc, free の簡単な実装を学ぶ。 malloc 時に要求サイズが空きブロックより小さい場合に、後側からブロックを使用していくことに気がつかず、理解するのに時間がかかった。 後側からブロックを使用していくのは、空きリストのポインタを変更しなくてもよいからだろうか。 演習8-7 malloc での妥当なサイズの条件がいまいちわからない。 負の値が渡された場合、unsi…続きを読む
商品テーブル products にロケールの列 locale を追加するマイグレーションを作成する。 $ ruby script/generate migration add_locale_to_product locale:string exists db/migrate create db/migrate/20100329045143_add_locale_to_product.rb マイグレ…続きを読む
XMLレスポンスで商品カタログ配信 store コントローラの index メソッドで XML レスポンスを返すように変更する。 app/controllers/store_controller.rb の index メソッド の respond_to ブロック内で format.xml により XML レスポンスを返させる。 respond_to do |format| format.html …続きを読む
ユーザが1人も登録されていない場合に、フリーアクセスできるようにする。 アクセス制限のフィルタリング(authorize)時にユーザ数を確認して処理する。 ユーザ数が 0 ならばメッセージを表示させ、サイドバーに管理機能へのリンクを表示させる。 app/controllers/application_controller.rb def authorize if User.count.zero? f…続きを読む
リクエストの HTTP メソッドによって checkout メソッドの振舞いを分けさせる。 GET メソッドの場合はカートの中身の状態(空か否か)によってチェックアウト・フォームの表示を制御する。 POST メソッドの場合は @order を保存する。 app/controllers/store_controller.rb def checkout if request.post? # save …続きを読む
演習8-6 void *my_calloc(unsigned n, unsigned size) { void *p; if ((p = my_malloc(size * n)) == NULL) { fprintf(stderr, "can’t allocate memory\n"); exit(EXIT_FAILURE); } memset(p, 0, size * n);…続きを読む
『Rails によるアジャイルWebアプリケーション開発 第11章 タスクF:ユーザ管理』の自由課題のユーザ更新機能の作り替え問題。 app/views/users/new.html.erb テンプレートを app/views/users/edit.html.erb にコピーして submit ボタンのラベル部分のみ修正する。 ただ、このままだと password_non_blank のバリデーシ…続きを読む