@ledsun blog

無味の味は佳境に入らざればすなわち知れず

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

社内勉強会はヤメだ。自主的はいらん、全員技術発表だ!

社内勉強会について僕にも思うところがある*1。 社内勉強会をやらない理由 - 勘と経験と読経 社内内弁慶を社外勉強会に参加させる方法: ソフトウェアさかば 最初に言っておくと弊社は20人くらいしか居ないし、受託開発と派遣が半々くらいのSIerだ。 id:kent4…

JMeterで一定間隔でテストを実行する

負荷をかける際に一定の間隔をあけて負荷を掛けたいことがあります。 たとえば、NICTの公開しているNTPサーバにはHTTPインタフェースでは ポーリング間隔は1時間平均で20回(あるいは1日平均で480回)を越えないようにしてください と注意書きが記載されていま…

JMeterで変数を定義する

試験対象のサーバーが二台ある場合など、シナリオの一部を変数として変更したいことがあります。「ユーザー定義変数」コンポーネントを使って変数を定義します。 今回は google.co.jp と google.com の二つのURLで検索を実行します。異なる部分(co.jpとcom…

デザインパターンとともに学ぶオブジェクト指向のこころ

この本はいいね。表紙の堅苦しさに比べたら全然難しくない。 対象 オブジェクト指向プログラミングの三大要素 カプセル化 継承 ポリモーフィズム を知っている人、できればそれを使ってコーディングをしたことがある人が読むと良い。 内容 オブジェクト指向…

JMeterの見た目を見慣れたものにする

JMeterの見た目の初期設定はMetalです。フォントが読みづらいのでルック&フィールを変更して見やすくします。 前提 JMeterを起動していること。 起動できない場合はJMeter を起動するを見てください。 手順 手順説明 初期設定のルック&フィールを確認します …

JMeter の多すぎる機能(サンプラー)を減らす

JMeterは機能が多すぎるため使い慣れるまではどの機能を使えばよいのか迷います。使わないサンプラー(リクエストを送るコンポーネント)を無効にします。 前提 JMeterを起動していること。 起動できない場合はJMeter を起動するを見てください。 手順 手順…

JMeter でテストを実行する

JMeterでYahoo!JAPANのトップページを取得するHTTPリクエストを生成します。具体的には http://www.yahoo.co.jp にHTTPのGETリクエストを送ります。 使用コンポーネント 「HTTP リクエスト」サンプラー 「結果をツリーで表示」リスナー 前提 JMeterを起動し…

JMeter を起動する

JMeterの最新版を取得して起動します。 JMeterとは (主に)HTTPリクエストを送信する負荷試験ツールです。以下の点が好まれています。 Javaで作られているためWindows、Linux、Mac、いずれのOSでも動く リクエスト生成機能がプラグインになっていて、対応し…

Git for Windowsを使ってWindows PCに個人作業用リポジトリを作る

個人作業でチームのリポジトリにはコミットできない、かといって仕事用のソースコードを書きたいのでインターネットに公開できない、 githubを使いたくない。 そんな時もリポジトリを構築してバージョン管理をしたい。そこで Git for Windows を使ってWindow…

国内スマートフォンメーカーのシェア

3月29日 朝日新聞 NEC携帯電話事業撤退 沈みゆくガラケー という記事がありました。 その中の 図:国内携帯メーカーは5陣営になる のインパクトがあり、シャープ・パナソニック・ソニー・富士通・京セラの5社に絞られるという内容でした*1。 4月1日 VOYAG…

アジャイルがダメなようでダメじゃないちょっとだけダメだと思う7つの理由

素晴らしいエントリが立て続けに出ているので便乗します。 id:arclampさんのアジャイルがダメだと思う7つの理由 id:haradakiroさんのアジャイルがそんなにダメだと思わない7つの理由 1.全体スケジュールにコミットできない 主語を間違えやすいけど 経営者は…

デザインパターン厨よ、これが黄金の回転だ

状態管理用の変数をインスタンスに持たせるなこのタコって話 に面白い機能追加とリファクタリングの例がありました。TDDに慣れ親しんだ身からすると、 「黄金の回転のリズム」 テストを書く テストが通る最低限のコードを書く リファクタリング に比べると、…

JavaでMimeUtilライブラリを使ってファイルの中身からデータ形式を判定する

ファイルのデータ形式(MIMEタイプ)を拡張子からではなく、ファイルの中身で判別したいことがある。 JavaではMimeUtilというライブラリが使える。 準備 JDKはインストール済みで、binディレクトリにパスが通っている前提。 本体 http://sourceforge.net/pro…

Windowsに複数バージョンのRubyをインストールする

Windows上に複数バージョンのRubyの動きを確認する環境を整えます。 RubyやRailsのバージョンにこだわらずに最新のRuby on Railsを使ってみたいならRails Installerを使った方が簡単です。 Rubyのインストール RubyインストーラーでRubyを入れる。 http://ru…

RhinoまたはAntでJavaScriptを複数ファイルに分けるために

JavaScirptには別のファイルに書かれたスクリプトを読み込む方法がありません。しかしスクリプトファイルが大きくなると複数のファイルに分けたくなります。 別のスクリプトファイルを読み込む(includeする)方法が必要です*1。 次の file1.js を読み込みま…

単体テスト項目書を書くのに、守らなかったら自殺すべき3つの原則

1.テスト項目書を書くときは用語集を作ること 用語集を作れば 表記ブレを防げる 重複を減らせる 毎回説明を記述する必要がなくなるので全体はコンパクトになる。テスト実施者に重複した内容を何回も読ませる奴はDRY原則をわかってない、自殺すべき。 2.ユー…

AntからJavaScriptを実行したときに起きたエラーを拾う方法

Apache AntではScriptタスクを使うとJavaScirptを実行できる。 しかしJavaScriptで例外が上がると、表示される内容の9割以上がRhinoScriptEngineの例外になる。 興味があるJavaScriptの例外は一行だけ。 例外が起きるbuild.xml <project default="a"> <target name="a"> <script language="javascript"><![CDATA[ throw 'わあ!';</script></target></project>…

JavaScriptの値が配列かどうか見分ける方法のまとめ

JavaScriptには配列に typeof 演算子を使うと object が帰ってくるという糞仕様があるためみなさん苦労されている。 Douglas Crockfordさん Douglas CrockfordさんのDuckTyping方式。JavaScript: The Good Parts 「6.5 配列かどうか」より抜粋 var is_array …

Javaのスクリプティング機能のimportPackage文の書き方

Java スクリプティング機能とはJavaからJavaScriptを実行したり、JavaScriptからJavaのクラスを参照したりする機能。 詳しくはJava SE 6 じゃじゃ馬ならし Scriptingを見てもらうとして JavaScriptからJavaで定義されたクラスを参照する際にパッケージをimpo…

新人エンジニアにレポートを書かせて技術書の読み方を伝える。

技術者が1~3年目で成長するかは自習するかに依存してる。業務とは別に勉強する方法を叩き込めば誰でもそれなりに出来るようになる。 そんなわけで僕の所属している会社では年に5冊指定した本を読ませてレポートを書かせている*1。 なぜレポートを書かせるか …

タイムゾーンの出力文字列 WindowsでRuby

Rubyでタイムゾーン文字列を出力したら日本語が表示された。 C:\Users\ledsun>irb irb(main):001:0> Time.now.strftime('%Z') => "東京 (標準時)" Rubyリファレンス タイムゾーンによると、Windows*1の場合「環境変数TZ」を設定すると「JST」と出力されるそ…

pik環境でDevKitをインストール WindowsでRuby

pik*1環境でrdocインストールしたところjsonのインストールでエラーが起きました。 >>ERROR: Error installing json: The 'json' native gem requires installed build tools. Please update your PATH to include build tools or download the DevKit from …

DAOの詳細設計 C#編

J2EEパターンから始まって今となっては一般的になったDAOパターン、の詳細設計。 DTO DTOは更新時間、更新ユーザ以外のテーブルカラムをすべて持たせる。 カラム名とプロパティ名を対応させておくとINSERTとUPDATEのSQLを動的に生成できて楽。 マスタメンテ…