2010-01-01から1年間の記事一覧
以下のRuby on Railsのコードが,意図した動作をしないのはなぜですか。(制限時間1分) やりたい事 2つのスレッドを同時に動かす。 スレッド1では,レコードを登録後,ロールバックする。 スレッド2では,レコードを登録後,コミットする。 タイミング…
下記のリンク集。 IT資格の一覧 国家資格 ベンダ資格
バッチのまとめTOPへ Linux上で,スケジュールされたタスクを実行するためには,cronが必要。 そのcronタスク設定操作を自動化するには,どうしたらよいか? 本記事では,以下の点を扱う。 crondのインストール(手動) crondのインストール(自動) cronに…
バッチのまとめTOPへ 「コードの読みやすさ」は,非常に重要だ。 ソースコードが読みづらくなると,コードが「仕様を表現」しなくなる。 簡単にバグが混入され,埋もれてしまう。それに気付きもしなくなる。保守や改良ができなくなる。プロジェクトが行き詰…
バッチのまとめTOPへ IEを自動操作するスクリプトを書いていると, IE7 IE8 の挙動の違いにぶつかる。例えば,フォームにファイルをアップロードする場合など。(サンプルを後述する。) こういうとき,スクリプトの側でIEのバージョンを判別して,バージョ…
以下のRubyのコードが,意図した動作をしないのはなぜですか。(制限時間1分)やりたい事: 画面に「1」と表示する。 # aに1を代入する eval "a = 1" # aを呼び出す p a
バッチのまとめTOPへ あるフォルダ内に存在する全ファイルの,拡張子の種類を知りたい。 「.PNGはあるか?」とか, 「.htmlだけでなく,.htmも使ってたっけ?」とか, 一覧表形式にして,一発で把握したい。 そのためのバッチ。
以下のRubyのコードが,意図した動作をしないのはなぜですか。(制限時間1分)やりたい事: 1から3までの各数値の2乗を計算する。 プログラム終了時点での,変数の状態を表示する。 # 「p」で日本語を出力するための設定 $KCODE = "sjis" # 1から3までの範…
開発者・エンジニアが,自分の仕事を成功させるためにはどうしたらよいか。 言いかえれば,「幸福なエンジニア」になるには,どうしたらよいか。 この手のエンジニア向けの情報源は山ほどあり,把握しきれない。 しかし,あらゆるノウハウは,5つに分類でき…
Exceleniumとは,Webアプリのテスト自動化ツール。 "Excelenium"(エクセレニウム)で,快適な自動回帰テストを (Seleniumのテストスクリプトとテスト仕様書を自動生成) http://language-and-engineering.hatenablog.jp/entry/20090524/p1 Excelenium (テ…
Javaでは,クラス内でprivate宣言されたメンバは,普通は外部からは呼び出せない。しかし,リフレクションを使えば,それも可能。 本エントリでは,以下のサンプルコードを示す。 (1) privateなインスタンス変数の呼び出し方法 privateなクラス変数の呼び…
バッチのまとめTOPへ SVNリポジトリの,ディレクトリ上にコミットしておきたいバッチ。「ワーキングコピー上で実行したくなるバッチ」と言い換えることもできる。 ファイル表示系 たくさんあるファイルの目次(リンク集)が欲しい TODOリストを抽出したい コ…
SQLの「相関サブクエリ」がわかれば・・・ 巨大なSQLが,迷わずに読めるようになる。 「関数」のような,便利なサブクエリを書けるようになる。 以下では, 「相関サブクエリ」とは何か? 普通のサブクエリ(非相関サブクエリ)やJOIN操作とは何が違うのか?…
多言語を学ぶ目次へ ラテン語動詞の,現在形の活用表の覚え方。 基本的なパターン 第一変化 第二変化 第三変化(A) 第三変化(B) 第四変化 基本的なパターン 動詞の現在の変化形は,必ず,以下のように分解される。 語根+幹母音+人称変化語尾 現在形の基…
バッチのまとめTOPへ WSHからWord文書(.docファイル)の内容を読み取る。 段落ごとの読み取り 見出しごとの読み取り(特定のスタイルの段落のみを抽出) →見出しだけを抽出すれば,Word文書の「アウトライン」をテキスト形式で生成できる。
バリデーション系 サーバリ (サーバサイド・バリデーション) クラバリ (クライアントサイド・バリデーション) モデバリ (モデルクラスによるバリデーション) コンバリ (コントローラクラスによるバリデーション) デーバリ (DB上の制約によるバリデ…
JavaScriptプログラミングのTOPへ JavaScriptの例外(throw, try-catch-finally構文)の使い方について,以下の点を論じる。 (A)breakとreturnとthrowの比較 (B)throwを利用した設計のイメージ (C)throwの使いどころ (D)例外処理のサンプルコー…
バッチのまとめTOPへ ユーザ配布用の,linux上のシェルスクリプトを作成する。そのために必要なコマンドの入門知識。 開発者やアプリが実行するのではなく,配布先の一般のlinuxユーザが実行するシェルである,という点がポイント。そうすると,求められるの…
バッチのまとめTOPへ BASE64を使えば,バイナリのファイルをテキストデータ(英数字)に変換できる。もちろん,元のファイルに戻す事もできる。 だから, 「ファイルのアップロード」は不要になる。 (ファイルではなく,文字列を書き込んでどこかに保存すれ…
Ruby on RailsでのWebアプリ開発では,何もかも「レール」が敷かれていて便利。しかし「そのレールはいらない」という時もある。レールが,かえって足かせになるのだ。 その一例が,単体テストのテストデータ(フィクスチャ)の面倒くささ。 Ruby on Railsの…
以下のRubyのコードが,意図した動作をしないのはなぜですか。(制限時間1分)やりたい事: 1つのクラス内で定義されているメソッドを,順番に呼び出して実行する。 hoge.rb # クラス定義 class Hoge def self.main_method # このクラス中で定義されている…
以下のエントリの補足。 「スタートアップ」に,仕事をさせよう (朝,出社するだけで仕事が進む仕組み作り) http://language-and-engineering.hatenablog.jp/entry/20100929/p1 朝,スタートアップで自動的に仕事が進む。その際に,共有フォルダ上で作業し…
あなたは毎朝,会社で,マシンの電源を入れる。 そのあと,いつも定型の作業をしていないか? メーラを立ち上げて,特定の受信フォルダを読む。 ブラウザを立ち上げて,タイムカードの記録とかをする。 作業フォルダを開いて,右クリックし,SVNなどのリポジ…
JavaScriptプログラミングのTOPへ JavaScriptのコーディングでオブジェクトを扱う際,「インスタンスがちょっとずつ異なっている」という場合は,その自由度に見合ったクラス(=プロトタイプ)を1つだけ定義してやれば事足りる。 しかし,それに加えて「ク…
スキルチェックの目次へ JavaScriptはオブジェクト指向のスクリプト言語。オブジェクトやクラスの扱い方の基礎を理解していない場合,開発の戦力にならない。 JavaScriptの業務スキルレベル 判別表 (5段階) http://language-and-engineering.hatenablog.j…
バッチのまとめTOPへ Webアプリケーションのセキュリティチェックや自動テストを行なうために,WebサーバやAPサーバに対して,「任意のHTTPリクエスト」を手軽に発行したい。 「任意のHTTPリクエスト」とは,例えば・・・ リファラ(リンク元)改ざん ⇒画面…
バッチのまとめTOPへ プロジェクトに,コミュニケーションスキルの低いメンバがいる場合,どうしたらよいか。 一つの方法は,その人の作業を,何らかの手段によって「見える化」すること。 手軽な方法として,下記のような手がある。 プロジェクト内での共通…
バッチのまとめTOPへ IE8で,ファイルのアップロードを自動化する方法を発見した。 以下はWSH/JScriptによるサンプルスクリプト。IE8(Windows XP)で動作確認済み。 upload.js // IEを起動 var ie = WScript.CreateObject("InternetExplorer.Application");…
バッチのまとめTOPへ WSH/JScriptで, レジストリのキーの存在判定 レジストリの値の読み取り レジストリの値の書き込み,新規作成 をするためのサンプルコード。 サンプルコード reg.js // 対象とするレジストリのキー var reg_key = "HKEY_LOCAL_MACHINE\\…
バッチのまとめTOPへ WSH/JScriptから,Windowsのハードウェア情報を取得するサンプルコード。 CPU情報を取得 メモリ情報を取得 ほかにも大量の情報を取得可能。 すぐに試せる。 以下のコードを保存して,ダブルクリックするだけ。wmi.js WScript.Echo( getC…