スポンサーリンク

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

Rubyの動かないコード (中級編) Ruby on Railsで,スレッドごとにトランザクションを分離したい

以下のRuby on Railsのコードが,意図した動作をしないのはなぜですか。(制限時間1分) やりたい事 2つのスレッドを同時に動かす。 スレッド1では,レコードを登録後,ロールバックする。 スレッド2では,レコードを登録後,コミットする。 タイミング…

主なIT資格の一覧とリンク集

下記のリンク集。 IT資格の一覧 国家資格 ベンダ資格

bashでcronジョブを自動登録する (Linuxバッチでcrontabを編集)

バッチのまとめTOPへ Linux上で,スケジュールされたタスクを実行するためには,cronが必要。 そのcronタスク設定操作を自動化するには,どうしたらよいか? 本記事では,以下の点を扱う。 crondのインストール(手動) crondのインストール(自動) cronに…

バッチで,コーディング規約を守らせよう (全ソースコードをチェックして,ルール違反を自動検出)

バッチのまとめTOPへ 「コードの読みやすさ」は,非常に重要だ。 ソースコードが読みづらくなると,コードが「仕様を表現」しなくなる。 簡単にバグが混入され,埋もれてしまう。それに気付きもしなくなる。保守や改良ができなくなる。プロジェクトが行き詰…

IEを自動操作する時,IEのバージョンを判定したい (WSH JScriptで,IE7とIE8の違いを自動認識する)

バッチのまとめTOPへ IEを自動操作するスクリプトを書いていると, IE7 IE8 の挙動の違いにぶつかる。例えば,フォームにファイルをアップロードする場合など。(サンプルを後述する。) こういうとき,スクリプトの側でIEのバージョンを判別して,バージョ…

Rubyの動かないコード (中級編) ローカル変数の「暗黙の初期化」に関するエラー(ローカル変数のスコープが事前コンパイルで決まる)

以下のRubyのコードが,意図した動作をしないのはなぜですか。(制限時間1分)やりたい事: 画面に「1」と表示する。 # aに1を代入する eval "a = 1" # aを呼び出す p a

利用中の拡張子を抽出するバッチ (存在するファイルの拡張子の種類を,バッチで全取得する)

バッチのまとめTOPへ あるフォルダ内に存在する全ファイルの,拡張子の種類を知りたい。 「.PNGはあるか?」とか, 「.htmlだけでなく,.htmも使ってたっけ?」とか, 一覧表形式にして,一発で把握したい。 そのためのバッチ。

Rubyの動かないコード (初級編) ブロックとクロージャの性質

以下のRubyのコードが,意図した動作をしないのはなぜですか。(制限時間1分)やりたい事: 1から3までの各数値の2乗を計算する。 プログラム終了時点での,変数の状態を表示する。 # 「p」で日本語を出力するための設定 $KCODE = "sjis" # 1から3までの範…

エンジニアとして,成功するための5つの秘訣 (3つのIN,2つのOUT)

開発者・エンジニアが,自分の仕事を成功させるためにはどうしたらよいか。 言いかえれば,「幸福なエンジニア」になるには,どうしたらよいか。 この手のエンジニア向けの情報源は山ほどあり,把握しきれない。 しかし,あらゆるノウハウは,5つに分類でき…

「実行可能ドキュメント」が満たすべき性質 − テスト自動化ツール「Excelenium」で使われている技術や手法

Exceleniumとは,Webアプリのテスト自動化ツール。 "Excelenium"(エクセレニウム)で,快適な自動回帰テストを (Seleniumのテストスクリプトとテスト仕様書を自動生成) http://language-and-engineering.hatenablog.jp/entry/20090524/p1 Excelenium (テ…

Javaで,private変数・privateメソッド・privateコンストラクタを,外部から呼び出そう (リフレクションの方法)

Javaでは,クラス内でprivate宣言されたメンバは,普通は外部からは呼び出せない。しかし,リフレクションを使えば,それも可能。 本エントリでは,以下のサンプルコードを示す。 (1) privateなインスタンス変数の呼び出し方法 privateなクラス変数の呼び…

開発時に,SVNリポジトリのディレクトリ上にコミットしておきたいバッチファイル

バッチのまとめTOPへ SVNリポジトリの,ディレクトリ上にコミットしておきたいバッチ。「ワーキングコピー上で実行したくなるバッチ」と言い換えることもできる。 ファイル表示系 たくさんあるファイルの目次(リンク集)が欲しい TODOリストを抽出したい コ…

「相関サブクエリ」とは何かを理解して,複雑なSQLでも読めるようになろう

SQLの「相関サブクエリ」がわかれば・・・ 巨大なSQLが,迷わずに読めるようになる。 「関数」のような,便利なサブクエリを書けるようになる。 以下では, 「相関サブクエリ」とは何か? 普通のサブクエリ(非相関サブクエリ)やJOIN操作とは何が違うのか?…

ラテン語文法の暗記表: 動詞の現在変化 活用パターンの覚え方

多言語を学ぶ目次へ ラテン語動詞の,現在形の活用表の覚え方。 基本的なパターン 第一変化 第二変化 第三変化(A) 第三変化(B) 第四変化 基本的なパターン 動詞の現在の変化形は,必ず,以下のように分解される。 語根+幹母音+人称変化語尾 現在形の基…

バッチで,Word文書の内容を読み取ろう (WSH/JScriptでWordファイルを操作する方法)

バッチのまとめTOPへ WSHからWord文書(.docファイル)の内容を読み取る。 段落ごとの読み取り 見出しごとの読み取り(特定のスタイルの段落のみを抽出) →見出しだけを抽出すれば,Word文書の「アウトライン」をテキスト形式で生成できる。

あまり知られていない,Webアプリ開発時の10の略語 (例文つき)

バリデーション系 サーバリ (サーバサイド・バリデーション) クラバリ (クライアントサイド・バリデーション) モデバリ (モデルクラスによるバリデーション) コンバリ (コントローラクラスによるバリデーション) デーバリ (DB上の制約によるバリデ…

JavaScriptでの例外設計 (throw,try-catch-finally構文のイメージと利用パターン)

JavaScriptプログラミングのTOPへ JavaScriptの例外(throw, try-catch-finally構文)の使い方について,以下の点を論じる。 (A)breakとreturnとthrowの比較 (B)throwを利用した設計のイメージ (C)throwの使いどころ (D)例外処理のサンプルコー…

ユーザ配布用のbashシェルを作成するための 17 のコマンド

バッチのまとめTOPへ ユーザ配布用の,linux上のシェルスクリプトを作成する。そのために必要なコマンドの入門知識。 開発者やアプリが実行するのではなく,配布先の一般のlinuxユーザが実行するシェルである,という点がポイント。そうすると,求められるの…

バッチで,BASE64のエンコード+デコードする方法 (WSH/JScriptで,バイナリのファイルをテキスト符号化)

バッチのまとめTOPへ BASE64を使えば,バイナリのファイルをテキストデータ(英数字)に変換できる。もちろん,元のファイルに戻す事もできる。 だから, 「ファイルのアップロード」は不要になる。 (ファイルではなく,文字列を書き込んでどこかに保存すれ…

Railsのモデルを,簡単に単体テストしよう (フィクスチャを使わない,気軽なテストバッチ)

Ruby on RailsでのWebアプリ開発では,何もかも「レール」が敷かれていて便利。しかし「そのレールはいらない」という時もある。レールが,かえって足かせになるのだ。 その一例が,単体テストのテストデータ(フィクスチャ)の面倒くささ。 Ruby on Railsの…

Rubyの動かないコード (初級編) 同じクラス内なのに,privateメソッドを呼べない場合がある

以下のRubyのコードが,意図した動作をしないのはなぜですか。(制限時間1分)やりたい事: 1つのクラス内で定義されているメソッドを,順番に呼び出して実行する。 hoge.rb # クラス定義 class Hoge def self.main_method # このクラス中で定義されている…

「スタートアップ」に仕事をさせよう の補足: 共有フォルダ上の作業

以下のエントリの補足。 「スタートアップ」に,仕事をさせよう (朝,出社するだけで仕事が進む仕組み作り) http://language-and-engineering.hatenablog.jp/entry/20100929/p1 朝,スタートアップで自動的に仕事が進む。その際に,共有フォルダ上で作業し…

「スタートアップ」に,仕事をさせよう (朝,出社するだけで仕事が進む仕組み作り)

あなたは毎朝,会社で,マシンの電源を入れる。 そのあと,いつも定型の作業をしていないか? メーラを立ち上げて,特定の受信フォルダを読む。 ブラウザを立ち上げて,タイムカードの記録とかをする。 作業フォルダを開いて,右クリックし,SVNなどのリポジ…

JavaScriptで,クラスを継承する方法 (複数のサブクラスから共通クラスのプロトタイプを参照する)

JavaScriptプログラミングのTOPへ JavaScriptのコーディングでオブジェクトを扱う際,「インスタンスがちょっとずつ異なっている」という場合は,その自由度に見合ったクラス(=プロトタイプ)を1つだけ定義してやれば事足りる。 しかし,それに加えて「ク…

JavaScriptで,オブジェクトやクラスの初歩を理解しているか,実力を確かめるための7つの質問 (サンプルコード付き)

スキルチェックの目次へ JavaScriptはオブジェクト指向のスクリプト言語。オブジェクトやクラスの扱い方の基礎を理解していない場合,開発の戦力にならない。 JavaScriptの業務スキルレベル 判別表 (5段階) http://language-and-engineering.hatenablog.j…

バッチで,リファラを改ざんし,ユーザエージェントを改ざんし,POSTリクエストを自動発行しよう (HTTPリクエストヘッダを自由に生成)

バッチのまとめTOPへ Webアプリケーションのセキュリティチェックや自動テストを行なうために,WebサーバやAPサーバに対して,「任意のHTTPリクエスト」を手軽に発行したい。 「任意のHTTPリクエスト」とは,例えば・・・ リファラ(リンク元)改ざん ⇒画面…

コマンドラインでメール送信する方法 (WindowsのバッチでSMTP通信。CDO.Messageを使用)

バッチのまとめTOPへ プロジェクトに,コミュニケーションスキルの低いメンバがいる場合,どうしたらよいか。 一つの方法は,その人の作業を,何らかの手段によって「見える化」すること。 手軽な方法として,下記のような手がある。 プロジェクト内での共通…

IE8で,ファイルのアップロードを自動化する方法  (WSH/JScriptでブラウザを自動操作するサンプルコード)

バッチのまとめTOPへ IE8で,ファイルのアップロードを自動化する方法を発見した。 以下はWSH/JScriptによるサンプルスクリプト。IE8(Windows XP)で動作確認済み。 upload.js // IEを起動 var ie = WScript.CreateObject("InternetExplorer.Application");…

バッチで,レジストリの値の読み取り・書き込み・存在判定をしよう(WSH/JScriptでレジストリ操作のサンプルコード)

バッチのまとめTOPへ WSH/JScriptで, レジストリのキーの存在判定 レジストリの値の読み取り レジストリの値の書き込み,新規作成 をするためのサンプルコード。 サンプルコード reg.js // 対象とするレジストリのキー var reg_key = "HKEY_LOCAL_MACHINE\\…

メモリ・CPUなどハードウェアの構成情報を,バッチで取得しよう (WSH/JScriptでWMIを使う方法)

バッチのまとめTOPへ WSH/JScriptから,Windowsのハードウェア情報を取得するサンプルコード。 CPU情報を取得 メモリ情報を取得 ほかにも大量の情報を取得可能。 すぐに試せる。 以下のコードを保存して,ダブルクリックするだけ。wmi.js WScript.Echo( getC…