読者です 読者をやめる 読者になる 読者になる

ソフトウェアエンジニア現役続行

雑多なことを綴ります

Stashでdiffビューの文字化けを解消する方法

Transcode diffs を有効にして文字化けを解消 Stash 3.1より前のバージョンでは、UTF-8 以外のファイルは diff ビューで文字化けを起こしていました。Stash 3.1以降では、「Repository details(リポジトリ詳細)」の「Transcode diffs(diffをトランスコー…

私の思う Bamboo の良いところ

Bamoo はブランチによる開発を協力にサポート Git の登場により、機能ブランチ(フィーチャーブランチ)や git-flow といった開発のワークフローが提唱されています。典型的なワークフローは以下のような形でしょうか。 機能ブランチを作成してそこで開発 開…

Confluence で lucene-kuromoji のユーザー辞書を使えるようにする

注意 以下の内容はConfluence 5.5.6からConfluenceのソースコードに反映されました(ブログの内容とは少し違う形で)。Confluence 5.5.6以降でユーザー辞書を使う方法はユーザー辞書を使って検索精度を向上させる方法を参照してください。 Confluence のカス…

Luke (Lucene インデックスブラウザ) の lucene-4.x 対応版

Luke は Lucene のインデックスブラウザで、とても便利なツールだったのですが、lucene のバージョンが 4.x になってから使うことができなくなっていました。ところが探してみると、4.x に対応したものが GitHub 上に公開されていました (tarzanek/luke · Gi…

Confluence のソースコードをビルドする方法

コラボレーションツールとして人気があるアトラシアン社の Confluence はソースコードが公開されているので、ソースコードからビルドしてサーバーにデプロイしてみました。やり方はアトラシアン社の Building Confluence From Source Code にまとまっていて…

rubygems の riak-client-1.4.3 が ruby-1.8.7 で Syntax Error

7つのデータベース 7つの世界という書籍でデータベースについて勉強中です。特にNoSQLやKey Value Storeと言われるデータベースを実際にインストールして動かしながら学ぶには非常に良い本だと思います。ちなみに理論だけで良ければNOSQLの基礎知識という書…

Riak-1.0.2 で make devrel ができない

7つのデータベース 7つの世界という書籍でデータベースについて勉強中です。特にNoSQLやKey Value Storeと言われるデータベースを実際にインストールして動かしながら学ぶには非常に良い本だと思います。ちなみに理論だけで良ければNOSQLの基礎知識という書…

「dpkg-reconfigure tzdata」コマンドをバッチ処理

Ubuntuでタイムゾーンを設定するときは「dpkg-reconfigure tzdata」コマンドを実行して、起動したインタラクティブウィンドウで Asia -> Tokyo を選択するのが良いのですが、chefなどバックグラウンドでバッチ処理で設定するときは、インタラクティブだと困…

UbuntuでTimezoneを変更する方法

Ubuntuでタイムゾーンを設定する方法を検索すると、主に以下の2通りが出てきます。 「cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime」コマンドを実行して再起動 「dpkg-reconfigure tzdata」コマンドを実行して、インタラクティブウィンドウが起動する…

スタンディングデスクのすすめ

スタンディングデスクの長所 色々なところでスタンディングデスクが紹介されているのを見て、自分もスタンディングデスクを使い始めました。実際にスタンディングデスクで仕事をするようになって1ヶ月が経ち、以下のような効果を感じています。 ・腰痛になり…

cassandra を apt-get でインストール(debとdeb-srcはコマンドではない)

やり方は以下に書かれています。 http://wiki.apache.org/cassandra/DebianPackaging が、以下を設定する方法が分からなかった。。。 deb http://www.apache.org/dist/cassandra/debian 11x main deb-src http://www.apache.org/dist/cassandra/debian 11x m…

Can't locate local/lib.pm in @INC at ...

私の使っている Ubuntu 12.04 だけかも知れませんが、必ずCPANコマンド実行の一回目は「Can't locate local/lib.pm in @INC at...」というメッセージでエラー終了します。でもリトライすると成功します。初回時のエラーメッセージは以下のとおりです。 ... C…

bindでゾーン転送の設定確認と手動適用

複数台のbind(DNSサーバー)を構築する場合、1台をマスターにして、残りをスレーブにするのが一般的です。そうすれば、マスターで設定したゾーンの設定が自動的にスレーブに反映されます。 「bind ゾーン転送」などで検索すると、方法が色々と出てきます。…

run-parts --test で cronスクリプトが動くかテスト

結論から言うと、以下のようにrun-partsコマンドを--testオプションで実行することで、cron.dailyで実行されるスクリプト名を確認することができます。同様にcron.hourly, cron.weekly, cron.monthlyも確認可能です。 run-parts --test /etc/cron.daily cron…

Facebookのシェアボタンを隠しパラメーターでカスタマイズ

Facebookのシェアボタンの設置 Facebookのシェアボタンの設置自体は難しくありません。Googleで検索しても簡単に出てくるし、Facebookにも開発者向けに公式ページが用意されています。https://developers.facebook.com/docs/reference/plugins/share-links/ …

ディスクアクセスが途切れる

突然、Windows VistaのPCでディスクアクセスが途切れるようになりました。ディスクアクセスが遅すぎて、まともなPCの作業ができません。タスクバーを見ると、見慣れないアイコンが。マウスを合わせても、右クリック・左クリックをしても何もメッセージが現れ…

World Visionに寄付しませんか

今回の震災で、多くの方が寄付をなさっていると思います。私は以前から寄付をしている「World Vision」に寄付をしました。信頼できる寄付先を探している人がいるかも知れないと思い、紹介しました。「World Vision」は自分の寄付による活動内容がしっかり見…

iPhone/iPod touchで音楽や動画を少しだけ早送り/巻き戻し

MAC

iPhoneやiPod touchで音楽を聴いたり、動画を観たりしていて、少しだけ早送り/巻き戻しをしたいと思ったことはありませんか?早送り/巻き戻しの方法は、進捗バー(という名称なのでしょうか)を指で押さえて、左右に動かします。これは直感的に分かります…

pingを使ってホップ数を調べる

マシン間のホップ数を調べるには traceroute を使うのが一般的ですが、ルータやISPによっては traceroute がうまくいかない環境があります。そのような環境でも、もしその機器と ping で通信ができるなら、-tオプション(Windowsの場合は-iオプション)を使…

PPPのtxqueuelenが小さすぎる

LinuxでイーサネットとPPPインタフェースのルーティングをすると、イーサネットからPPPインタフェースへの通信パケットをこぼしてしまうことがありました。 調べていった結果、PPPインタフェースのtxqueuelenが3(デフォルト値)であることが原因だと分かり…

京都大学 青谷准教授のTOEFL・英語学習説明会

今年に入ってから英語の勉強をしているのですが、そんな折、京都大学の青谷さんという准教授が「TOEFL・英語学習説明会(無料)」を開催すると知り、申し込みました。購読しているブログのエントリで知りました。 On Off and Beyond: 京大青谷准教授によるTO…

gcovを使ってテストカバー率を測定する

gcovというツールを使ってC言語のテストカバー率を測定することができます。gcovはgccパッケージに同梱されています。たとえば次のようにHoge.cをtestHoge.cでテストするとき↓ [Oswald@fedora14 tmp]$ cat Hoge.c int plus1(int i) { return i+1; }int minus…

DBD::SQLite-1.14に関数が戻ってこない不具合がある

Unix環境でperlのDBD::SQLite-1.14の関数を使ってsqlite3につなぐと、関数から戻ってこない不具合が起こることがあります。DBD::SQLite 1.14はCent OS 5.1に標準で入っているバージョンです。再現プログラムは↓ use DBI; DBI->connect('dbi:SQLite:dbname=/t…

英語学習最強プログラム

シリコンバレーに行ってきた(2010年12月30日)のエントリで書いたのですが、海外で働くことにとても興味を持っています。転職するにしろ、留学するにしろ、今の会社で海外に転勤するにしろ、チャンスをつかむためには英語が出来なくてはならないと感じ、英…

iPod touchでpodcastを直接ダウンロードする方法

MAC

今までは、PCでiTunesを立ち上げて、podcastをダウンロードしてからiPod touchに転送していました。PCが手元にないときに、Wifi環境のおいてiPod touchで直接ダウンロードしようとしたら、やり方がすぐに分からなくて迷ったので、メモしておきます。 1. iPod…

シリコンバレーに行ってきた

年末の休暇を使って、アメリカのカリフォルニア州に旅行してきました。サンフランシスコを観光したり、ヨセミテ国立公園でのんびりしたり。そんな中で、一番、印象に残っているのは、シリコンバレーを訪れ、そこにある半導体企業で働いている知り合いと、話…

fflushとfsyncとfdatasync

どれもバッファリングされているデータをフラッシュする関数ですが、それぞれの違いを再確認しました。 int fflush(FILE *stream); Cライブラリが与えているユーザー空間のバッファしかフラッシュしない。データが物理的にディスクに保存されることを保証し…

「はじめて読む486」が素晴らしい

Linuxカーネル2.6解読室を読み進めているのですが、割り込みやメモリ管理(仮想記憶、ページングなど)など、OSに関するある程度の前提知識が必要で、読んでて理解できないところも少なくありませんでした。仮想記憶、ページングなどは、Windowsはなぜ動くの…

ndiswrapper-1.56 と kernel-2.6.35

ndiswrapperはカーネルが上がるたびに自分で再コンパイルして、カーネルモジュールをインストールしなくてはなりません。fedora14が出たので、13から上げてみました。kernelのバージョンは2.6.35です。構造体のメンバーが変わったようで、コンパイルでエラー…

関数のスタック使用量を計算する方法

POSIXが使える環境でC言語のプログラムを書いていて、特定の関数が使用するスタックの量を調べる必要がありました。別スレッドを生成してその特定の関数を実行させることで、スタックの使用量を調べることができます。あらかじめ別スレッドのためのスタック…

Jolt Productivity Award: Testing and Debugging

昨日(2010年12月1日)、Jolt Productivity Award: Testing and Debuggingが発表されていました。 Jolt Productivity Award #1: Test and Debugging - QA Wizard Pro 2011 (Seapine Software) Jolt Productivity Award #2: Testing and Debugging - Sonar Jo…

Fedora14にMozcをインストール

FedoraにデフォルトでインストールされているAnthyというIMEはあまり優秀ではありません。特に長い文字を変換しようとするとうまく行かないようです。 例: ゆいがどくそん → 湯意が独尊 すみとみしんたくぎんこう → 隅とも信託銀行 しゅかいせん → 首魁せん…

メディアマーカーを始めました

アプレンティスシップ・パターンを読みましたで紹介したとおり、アプレンティスシップ・パターンは具体的な行動まで記載されていて良いです。僕がすぐに始めてみようと思ったことの一つが、読書リストを作ることです。アプレンティスシップ・パターンでは、…

ダイバーシティ

ダイバーシティという本を読みました。 きっかけは、自分の部署に外国人が来て、そのときに上司から「ダイバーシティ・マネジメント」という言葉を聞いて、興味を持ったからです。ダイバーシティとは英語で「多様性」のことです。読みやすくて、そしてとても…

ファイルサーバのためのユーザ

Linuxでファイルサーバを立ち上げるとき、クライアントPCがWindowsであることを考えると、Sambaによる共有フォルダ機能を使う方法と、Ftpサーバを使う方法があります。Sambaの場合、ログインできないユーザを作って、クライアントからはそのユーザで認証して…

F10キーでファイルメニューが開かれるのを無効にする

全角モードで文字を入力してからF10キーを押して、入力した文字を半角化するショートカットはとても便利です。しかし、fedoraやUbuntuでgedit(エディタ)やpidgin(チャット)を使っていてF10キーを押すと、半角化されずにファイルメニューが開かれてしまい…

アプレンティスシップ・パターンを読みました

先週(2010-07-08)に発売されたアプレンティスシップ・パターンを読みました。 アプレンティスシップとは「師弟制度」のことで、この本は指導者のための本ではなく、「ソフトウェア開発を経験したことがあり、卓越したソフトウェア開発者になることを切望し…

プロセスを再起動せずにログを削除するにはtruncate

Linuxサーバーで、sambaが大量のログを出力してパーティションがフルになってしまうトラブルが発生しました。 /var/log/samba/ディレクトリのログファイルを削除しても、改善されずにパーティションはフルのまま。これは、削除したファイルのファイルディス…

rootになったらプロンプトの色を変える

root権限になりたいとき、「$ su -」でrootになると、パスワードを入力が手間だったり、一般ユーザで使っていたときの環境変数がクリアされてしまいます。 「$ sudo bash」でrootになると、パスワードの入力を省略できるし(visudoでNOPASSWDを設定しておく…

世界の女性の現状とマイクロファイナンスの可能性

昨日、世界の女性の現状とマイクロファイナンスの可能性というイベントに参加してきました。マイクロファイナンスとは、貧困者向けの「小口(マイクロ)金融(ファイナンス)の総称です。貧困緩和と事業収益の両方を追求していることが特徴です。物乞いにお…

tomcat上で動かすプログラムの配置と実行

linuxマシンにtomcatとjdkを入れてjavaプログラムをサーブレット上で動かす方法です。 バージョンはtomcat6とjdk1.6.0です。 手順概要 tomcatへのサーブレットプログラムの配置と実行の手順は次のようになります。 サーブレットプログラムを作成・コンパイル…

ザワザワしているほうが気が散らない

昨日は読みたい本があって、図書館の自習室で読んでましたが、あまり集中できませんでした。とても静かでシンとしているからこそ、他人が鼻水をズルズル吸い上げる音や、咳や、職員の話し声が気になってしまいました。その後、ファミレスに行って本を読みま…

「国民の、ITによる、日本復活」を読んで

「国民の、ITによる、日本復活」書き起こし 孫正義&三木谷浩史を読みました。今回も、書き起こしをしてくれた方には本当に感謝です。日本に住む全ての人が光回線でインターネットを利用できるようにしたいという、とても壮大なビジョンを掲げています。僕が…

icalendar形式のファイルをgoogleカレンダーと同期する

うちの会社はグループウェアとしてサイボウズを使っています。サイボウズサーバがイントラネット上にあるため、社外からはアクセスすることができません。確かに安全ですが、社外からアクセスできないと不便なこともあります。そこで次のような方法で、サイ…

異なるHDDでデュアルブート

WindowsとLinuxのデュアルブートというと、単一のHDDをパーティション分割して、それぞれのOSを入れるのが一般的だと思いますが、HDDを二つ用意して、それぞれにWindowsとLinuxを入れてデュアルブートする方法もあります。 単一のHDDでデュアルブート 次のよ…

ApacheでユーザごとのhtmlとCGIを公開させる

CGIをnobodyで実行するのではなくユーザー権限で実行したいときがあります。そのときは次のようにします。 /etc/httpd/conf/httpd.confを編集する 次のようにUserDirを定義します。 #UserDir disabled (←コメントアウト) UserDir public_html (←コメント…

Process.destroy()の前に必ずすべてのストリームをcloseすること

次のような間違いを含んだコードがあります。 // 同じようなことがRuntime.exec(...)でも起こる ProcessBuilder pb = new ProcessBuilder(args); Process proc = pb.start(); InputStream in = proc.getInputStream(); // ・・・ここでスレッドのストリーム…

消費者と企業

購読している宋文洲さんのメルマガ。今週の内容は「嘘、消費者が企業を育てる」でした。宋文洲のメルマガの「読者広場」: 嘘、消費者が企業を育てる次の段落が印象的でした。 最近よく思うのですが、「消費者が企業を育てる」という言い方は本質を間違えてい…

孫正義 LIVE 2011

ソフトバンクの孫正義社長による、「孫正義 LIVE 2011」と題した講演会がすごく良かったと評判で、書き起こしがあったので読みました。全部読むのはかなり時間がかかりますが、その価値があると思います。書き起こしてくれた方に、心から感謝いたします。孫…

header競合

asm/statfs.h と sys/statfs.h を両方インクルードすると、headerがコンフリクト(競合)してコンパイルできません。次のように asm/statfs.h と sys/statfs.h をインクルードして・・・、 [Oswald@fedora tmp]$ cat conflict_headers.c #include #include i…