技術

デバッグするにはdiffを見つけるといいと思うよ

僕はここ1ヶ月ほどデバッグばかりしています。で、僕がデバッグする際に結構使う手法があります。 それはdiffを見つけるということ。ちょっと抽象的で説明が難しいのですが、とにかく書いてみます。例えばAという機能にバグがあったとします。AはじつはBと…

Apache Portable Runtimeを少し調べてみる

Apache Portable Runtime (APR) は Apache HTTP Server のサポートライブラリである。 OSとソフトウェアの間でOSなどの環境の違いを吸収するAPIを提供する。そして、他のOSに一般的にある機能が存在しないOSでは、APRが代替を提供する。よって、APRを使うこ…

mod_pythonメモ

http://www.python.jp/doc/contrib/modpython/installation.htmlを試してみました。 Python version mismatch, expected '2.5.1', found '2.6.2'.とか [Sat May 23 23:24:37 2009] [error] [client ::1] mod_python (pid=9312, interpreter='Macintosh-6.loc…

LeopardでApacheモジュールをGDBでデバッグするときの注意点

Leopardでデフォルトで入っているApacheやportでいれたApacheだと自作モジュールをGDBでデバッグしようとすると以下のように行番号の情報が取れてないようでうまくいきません。 $ sudo gdb /opt/local/apache2/bin/httpd GNU gdb 6.3.50-20050815 (Apple ver…

LeopardでのApacheモジュール作成作業記録

Apacheモジュールの作成とgdbとloggerでのデバッグ方法 - よねのはてなあまりに素晴らしいエントリなのでLeopardですこし試してみました。これは作業記録です。作業前の状態 $ httpd -v Server version: Apache/2.2.9 (Unix) Server built: Sep 19 2008 10:5…

ポインタと再帰は難しい

私のささやかな経験から言わせてもらうと、伝統的に大学のコンピュータサイエンスのカリキュラムで教えられているもので、多くの人がうまく理解できないものが2つあった: ポインタと再帰だ。 Javaスクールの危険 - The Joel on Software Translation Project…

GitとかMercurialとかめも

$ sudo port install git-core $ git --version git version 1.6.2.1 $ git clone git://github.com/sstephenson/prototype.git prototype $ cd prototype $ git log commit 37bdd117a0a57c3d39075bd2d972de8dde71520f Author: Andrew Dupont Date: Wed Apr …

キャプチャとemacsと、時々Lisp

emacsを起動します。 enterを押します。 リストを作ろうとして怒られました。下のウインドウ(emacsではウインドウとフレームの概念が逆らしい)から上に行くにはCtrl+x+oです(逆も同じ)。ウインドウを非表示にするには非表示にしたいウインドウでCtrl+x+0…

Yコンビネータ

おとうさん、ぼくにもYコンビネータがわかりましたよ! - きしだのはてな を読んだけどうまく理解できず以下を読みかえしたがよくわからん。入門Common Lisp―関数型4つの特徴とλ(ラムダ)計算作者: 新納浩幸出版社/メーカー: 毎日コミュニケーションズ発売日:…

バグとどうつきあっていくか

ソフトウエア開発においてバグは避けては通れないものです。バグが無いことは証明できないので、いかにしてうまくつきあっていくかというのが重要になってきます。以下僕がこうやればいいのではというのを書いてみます。まあほとんどがブログやら書籍やらの…

結局のところ名のあるフレームワーク、ツール、製品を使うのが一番なのかも

今のプロジェクトはいわゆる内製でクローズドなフレームワークを2つ使っています。いつごろ作られたかはわかりませんがどちらも製品化はされていません。内容はというと1つはExcelをもとにStrutsのActionやstruts-config.xmlを自動生成するEclipseプラグイ…

PostgreSQLをEclipse CDTにセットアップしてみた

まずVistaにVMWare Player 2.5.1を入れてUbuntu 8.0.4のイメージを動かしてみる。ほとんどWindowsだね。こりゃ。 Java6やEclipse CDTも入れてみる。 Ubuntu 8.04でGANYMEDEが立ち上がらない - たぷつきませんという問題もあるのでパッケージは更新。 Subclip…

Case式なぞを弄ってみる

SQL編 >sqlite3 PopTbl.dat SQLite version 3.6.11 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> CREATE TABLE PopTbl(pref_name text, population integer); sqlite> INSERT INTO PopTbl values('徳島', 100); sqli…

PostgreSQLの共有メモリがどう使われているか見てみたいが。。。

とりあえずインストールと起動 $ sudo port install postgresql83 $ sudo port install postgresql83-server $ sudo mkdir -p /opt/local/var/db/postgresql83/defaultdb $ sudo chown postgres:postgres /opt/local/var/db/postgresql83/defaultdb $ sudo s…

デバッグログについてさらになんとなく書いてみる

ですので,何の為にデバッグログが必要で,誰に対して見せるのか? どのようにデバッグログを仕込むのか?などの 方針はある程度持っていた方が良いなーと思いました。 デバッグログについての考察が素晴らしすぎるのでメモる - あおうさ@日記 何の為にデバ…

スタックトレースの読み方

僕もスタックトレースの読み方についてちょっと書いてみる。 例はOracle Technology Network for Java Developers | Oracle Technology Network | Oracleを使う。 1:class MyClass { 2: public static void main (String args) { 3: crunch(null); 4: } 5: s…

デバッグログってやっぱり重要だよね

デバッグ手順(スタックトレース重要) - jfluteの日記良エントリ。 A-1. 例外クラス名・例外メッセージを読む A-2. スタックトレースを見て例外発生箇所を特定する A-3. デバッグログをみて挙動をトレースする A-4. 例外クラス名・例外メッセージ・スタックト…

デバッグ方法について

詳細設計、実装、単体テストといったいわゆる開発工程においてコードを書いている時間というのは少ないものです。 それよりもコードを読んでいる時間やデバッグしている時間のほうが圧倒的に長い。 その割にはコードの読み方やデバッグ方法に関する情報は少…

TERASOLUNA

WEBアプリケーション・サーバー 設計・構築ノウハウ作者: NTTデータ先端技術、NTTデータ出版社/メーカー: 日経BP社発売日: 2008/07/10メディア: 単行本購入: 6人 クリック: 141回この商品を含むブログ (11件) を見る職場で見かけたのでパラパラページめくっ…

JavaのNIOパッケージ

このうち、GlassFishではGrizzlyというJavaのNIOパッケージを使用したライブラリを使用する事で、スレッドをブロックする事なく処理を行う事を可能としています。1000本のコネクションが発生したからといって、1000個のスレッドが同時に消費される事はありま…

nullか長さ0の配列か

Effective Java プログラミング言語ガイド作者: Joshua Bloch,ジョシュア・ブロック,柴田芳樹出版社/メーカー: ピアソン・エデュケーション発売日: 2001/12/03メディア: 単行本購入: 5人 クリック: 124回この商品を含むブログ (105件) を見るの項目27にnull…

テストフレームワークとしてのDIコンテナ

Webアプリ書いてるときはともかく,ライブラリやフレームワーク的なものを書く時には JUnit でテストケースを書くようにしています。んで,その時には Seasar を使っていようといまいと S2JUnit4 を使って書いています。一番最初に Spring を使ったのもテス…

プログラムの柔軟性とソースの可読性はトレードオフ

いまいちMacが使いこなせないため、開発はちょっとおいといてブログを更新してみる。^^);#control+クリックでポップアップメニューとかめどい。ショートカットキーでいけるんだろうか。 #ファイルのリネームもWindowsならF2でいけるのに、Macだとマウスを…

ツールの重要性

「開発手法/方法論」のブログ記事一覧-N2 ToolBox(跡地) から 2007-01-07 - 日記 に飛んだら、Kijimunaの話題が出ていた。確かにリファクタリングに追随してほしいわな。って思ってたら、Kijimunaのplugin.xmlにorg.eclipse.ltk.core.refactoring.renamePart…