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

雑多なことを綴ります

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