torutkのブログ

ソフトウェア・エンジニアのブログ

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

パッケージ管理yumでグループ作成

CentOSでは、パッケージ管理にyumを使用していますが、yumには個々のRPMパッケージをリポジトリから取得するほか、複数のRPMパッケージをグループとしてまとめてリポジトリから取得してインストールすることができます。 # yum groupinstall "GNOME Desktop …

alternativesによるGCJとSun JDKの切り替え

Linuxでは、標準パッケージであるGCCのJava言語機能であるGCJ版のコマンドが標準ディレクトリ(/usr/bin/)から起動されます。例えば、java, rmid, pack200, keytoolなどです。しかし、/usr/bin/の下に直接GCJのコマンドが入っているのではなく、実はシンボリ…

環境設定/etc/profile.d/

最近、Linuxに、/etc/profile.d/なるディレクトリのあることを知りました。中を見ると、vim.csh, vim.sh, kde.csh, kde.shといったファイルがあります。vimでは、alias vi=vimの設定が書かれており、各ユーザはログインすると自分の環境設定に何も記述してい…

Java読書会(通算第123回)開催

6月27日(土)に通算第123回となるJava読書会「Filthy Rich Client」を読む会(第3回)を開催しました。 今回は、読書会の開催準備について少し述べてみます。 読書会の準備 Java読書会の準備作業は、会場確保と参加者募集になります。Java読書会BOFは、川崎…

GroovyからSQLiteデータベースにアクセス

SQLite3のJDBCライブラリをid:torutk:20090611で試しましたが、そのJVM上でGroovyからアクセスできるかを実験してみました。Groovy(またはGrails)からSQLiteにアクセスする記述は見かけることができなかったのですが、JavaVM上で動くからにはいけるはず、…

IDL/C++マッピングにおけるvaluetypeの_copy_valueメンバについて

CORBAを使ったプログラミングで、valuetypeのインスタンスをコピーしたい局面があったのですが、単に実体の=ではエラー(operator=がprivateで隠される)となってしまうので、その方法を調べてみました。どうやら、valuetypeの基底クラスであるValueBaseで純…

CentOS 5用のC++ライブラリ(Qt/ACE+TAO/Boost)RPMパッケージ作成

以下のC++開発用ライブラリがバージョンアップしているので、CentOS 5用にRPMパッケージを更新してみました。RPMパッケージはファイルサイズが大きいので、個人ページでは容量制限をオーバーしてしまい、手順のみCentOS 5用バイナリパッケージのWebページで…

VMware上のLinux(CentOS)でoprofileの使用

プロファイラoprofileで性能計測ができると聞いて、自宅PCで実験してみましたが、機能していません。 # opcontrol --start Using default event: CPU_CLK_UNHALTED:100000:0:1:1 Using 2.6+ OProfile kernel interface. Using log file /var/lib/oprofile/sa…

JavaからSQLite DBを使う

C言語APIを持つライブラリ形式のSQLiteなので、Javaから使うにはどうすればよいのかと思ってググってみると、おおむね以下のSQLite用JDBCドライバを使うのがメジャーなようです。 http://www.zentus.com/sqlitejdbc/ 通常、JDBCはデータベース管理プロセスへ…

バージョン管理術

開発規模が大きく複数の会社が関わるソフトウェアのバージョン管理をしていると、一筋縄ではいかない問題が多発します。そんなときに、ヒントになりそうな情報をいくつか見かけたのでメモ。 「複数のアジャイルチームでのバージョン管理」 http://www.infoq.…

JDK6 Update14がリリース

http://java.sun.com/javase/downloads/index.jsp HotSpotVM関係に大きな更新があります。 新しいガベージコレクション G1GC の実験的導入 Escape Analysisの改良 VisualVMツールの改良 BugFixのリストも長大で、Update14は大きな更新となっているようです。

MySQLはじめの一歩

DB

MySQLをインストールし、サービス起動するようにした後にまずすることのメモ。 CUI (mysql)コマンドでMySQLに接続する MySQLのデータベースおよびテーブル一覧を見る MySQLのユーザ権限を作成する テーブルのスキーマを見る データベースおよびテーブルを作…

SQL/DB関連本とBash本

RDBMSは、いままで避けて通ってきた技術分野でしたが、いつまでも避け得るものでもなく、今回まともに取り組もうと書籍購入。 Head First SQL ―頭とからだで覚えるSQLの基本作者: Lynn Beighley,佐藤直生,松永多苗子出版社/メーカー: オライリージャパン発売…

bashでファイルから一行ずつ読み込み、正規表現で処理

最近のbash (3.0)は、他のプログラミング言語並みに正規表現が使えることが分かりました。また、ファイルから一行ずつ読み込んで処理する記述がwhile制御構文で書けることも今回知ることができました。 while read line; do [[ "$line" =~ "^error in (.*):[…

共通フレーム2007

共通フレーム2007―経営者、業務部門が参画するシステム開発および取引のために (SEC BOOKS)作者: 情報処理推進機構ソフトウェアエンジニアリングセンター出版社/メーカー: オーム社発売日: 2007/10メディア: 単行本購入: 3人 クリック: 25回この商品を含むブ…

フォントの設定

d:id:torutk:20080109でJavaのフォント設定について言及しましたが、Windows Vista/JDK1.6.0u13において、MeiryoKe Gothicを指定しようとしてはまりました。 fontconfig.propertiesで指定するフォント名にアンダースコアは含めることができない フォント名…

フォント関連のメモ

IPAフォント IPAフォントが新しいライセンスとともにバージョンアップし(Ver.3)公開されました。 http://ossipedia.ipa.go.jp/ipafont/ 新しいライセンスはOpen Source Initiative(OSI)の定義に則っており、改変版の再配布も可能なようです(詳しくは上記U…

ソフトウェア・エンジニアリングはちゃんとした本を読もう

ずっと受けたかったソフトウェアエンジニアリングの授業(1) ずっと受けたかったソフトウェアエンジニアリングの授業(2) ずっと受けたかったソフトウェアエンジニアリングの新人研修めずらしくソフトウェア・エンジニアリング専門書が本屋に平積みで並んでい…

コンパイラ依存のコーディングを囲む#ifdefシンボル

C++

Windows上でのVC++とLinux上でのGCCとに対応するコードを書く際に、コンパイラ依存部分を#ifdefで切り替える場合のマクロ指定を調べました。 コンパイラがデフォルトで定義するマクロで使えそうなものは、 Linux/GCC __linux__, __GNUC__ Windows/VC++ _WIN3…

Visual C++長年の課題が

あまりWindowsプログラミングはしないので(Javaは使うがWindows固有なことはしない)、たまにVisual C++でプログラムを作成するときの課題で長年残っていたもののうち以下2つが今日解決しました。 Windows上でインストーラでインストールできるようにする …

Java読書会BOF合宿イベント「私のデスクトップでHello Javaを作る」

4/4-5の一泊合宿でのイベントの1つとして実施。プロジェクタ1台と各自持参のノートPCで、参加者が順番に自分のPC上でHello Javaを出すプログラムを作る様子を見せるというものです。持ち時間は5分+質疑応答5分。10人の参加者なので1時間強の予定で実施しま…

Java読書会BOFイベント:初合宿

Java読書会BOFでは、4月4日-5日の1泊2日で伊豆合宿を実施することになりました。貸し別荘で10人ほど集まるのでかなり安価な設定です。昨日の読書会後に簡単な準備ミーティングを行い、だいたいイベント内容が固まりました。メインイベントはネットゲーム作成…

Jolt award 19th (2009)の書籍

今年のJolt Awardの結果が出ていました。 http://www.joltawards.com/winners.htmlぱっと見ると、関数型プログラミングについての書籍が今年の特色です。 Jolt賞受賞書籍 General部門 Adrenaline Junkies and Template Zombies: Understanding Patterns of P…

Vista 64bit上でIE8を入れてみたら・・・

IE8のブラウザ上のリンクに対して、「新しいタブで開く」、「新しいウィンドウで開く」が機能しない。前者は空白のタブが1つできてタブ上の表示が「接続中」のまま、後者はウィンドウが現れる気配がない。IE8は、タブごとにプロセスが異なる(すっげー作り)…

洋書「Programming Principles and Practice Using C++」が来た

C++

Programming: Principles and Practice Using C++ (Developer's Library)作者: Bjarne Stroustrup出版社/メーカー: Addison-Wesley Professional発売日: 2008/12/15メディア: ペーパーバック クリック: 67回この商品を含むブログ (11件) を見るAmazonに1月下…

バックグラウンドで実行するプロセスの標準入力は・・・

標準入力からキー入力を受けるプログラムを、シェルスクリプト等ターミナル以外からバックグラウンド実行すると、EOFを読み続ける状態になるようです。ちょっとしたキー入力処理を付けた以下のようなプログラムを用意しました。 int main(int argc, char* ar…

Bootchartコマンドの実行エラーとJavaのバージョンとOpenJDK

CentOS 5.2にBootchartを入れて、Linuxの起動時間の詳細を調べようとしました。マシン起動時にbootchartログ版カーネルオプションを選択し、起動後、bootchartコマンドを実行するのですが、1台目のマシンは正常に見れましたが、2台目のマシンでは、bootchart…

flymakeの設定改善

CentOS 5のEmacsは21で、flymakeがうまく動かなかったので、flymakeを標準搭載しているEmacs 22をビルドして使用しています。 ここで、Emacsの設定が暗い背景に明るい文字であると、エラー行の色が明るいピンクと文字が見えなくなってしまい、いまいちです。…

動的共有ライブラリのバージョン管理

d:id:torutk:20081103でBoostライブラリのSONAMEについて調べていました。今回は、自分で作成するプログラムにおいて、動的共有ライブラリファイルのSONAMEの仕組みを使ってバージョン管理をする方法を模索しました。 やりたいこと C++のプログラムを動的共…

CentOS 5.2のカーネルを新しいバージョンに入れ替える(第2回)

昨日の失敗はVMwareによるところが大きいのではと思い、別のマシンで試すことに。昨日の手順と同じにビルドして再起動したところOKでした。かなりあっさり成功するものです。 カーネルのバージョンの振り方 LinuxカーネルのバージョンはMakefileに書かれてい…