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

X509Certificateはjavax.security.certとjava.security.certのどっちを使えばいいのか問題

APIリファレンスにちゃんと書いてありました。 java.security.cert.X509Certificateを使うべき。 Note: The classes in the package javax.security.cert exist for compatibility with earlier versions of the Java Secure Sockets Extension (JSSE). New …

Time Machineバックアップの信頼性向上云々がでても諦めるな

2015-09-17追記 以下の対処でも全然直らないケースが増えてきたので、諦めてAirMac Extreme買ってそこに付けたUSB HDDでTimeMachineを使うようにしました。白旗。 事象 Macのバックアップが始まったと思ったら、こんなメッセージが。 「Time Machine でのバ…

mdadm RAID1復旧の試験

下準備 ディスクは3本ある状態。状況確認 fdisk -l フォーマット sdb,sdcでraid1作成。sddはスペアディスク。それぞれ10MB。 fdisk /dev/sdb fdisk /dev/sdc fdisk /dev/sdd fdiskのコマンドはこんな。 n, p, 1, 1 t, fd raid0作成 mdadm --create /dev/md0 …

Node.js, Express3, Socket.ioで作る、コマンド実行Webインターフェース

序 動画をポータブルな形式に変換したり、DVDのバックアップとったり、BitTorrentのファイルダウンロードを登録したり、 ejectコマンドでディスクトレイを開けたり、とか、たまーにサーバー上で簡単なコマンドを実行したいこととかありますよね。 そういうの…

MySQLでAUTO_INCREMENTを任意の数字に変更する

Redmine のチケットを復活させた ときに、誤ってissuesテーブルに違うtsvを食わせてしまい、ゴミデータを追加してauto_incrementの数字を大きくしてしまった。 手動で直したので、そのときの手順。 手順 状況確認 Auto_increment列をみる。 show table statu…

Redmineの誤って削除したチケットをバックアップから復活させた話

参考 基本的にここの記事の通りです。 http://daily-postit.blogspot.jp/2012/12/blog-post.html 前提 DBもファイルもバックアップを残してあること。 手順 ステップは2つ データの復旧 ファイルの復旧 データの復旧 復旧するデータのあるテーブル issues jo…

Shrewsoft VPN clientをMacでQTのGUIなしで動かす話

要約 Shrewsoft VPN clientはLinux/BSD/Mac向けのソースが公開されてるので、自分でコンパイルすればQtなしで動くバイナリが作れる。その場合はQtないから当然CUIなので、ターミナルから使うよ。 背景 無料のVPNクライアントとしてたぶん人気だと思うShrewso…

Sails.js の res.view() でのviewファイル指定の仕方の話

Sails.js のviewは、デフォルトではURLから自動で解決して任意のviewファイルを表示してくれる。 けど、自分で指定して任意のファイルを使う場合で少しハマったので記録しておく。 参考ディレクトリ構成 views ├── 404.ejs ├── 500.ejs ├── foo │ ├── hoge.e…

Sails のレイアウトに任意のブロックを追加する話

トップのページだけそのページ用の js とか css とか読ませたいときにどうすればいいのか知りたかったけど、Sails の View のドキュメント http://sailsjs.org/#!documentation/views だと Partial の説明くらいしかなかった。 なので、ちょろっと調べてみた…

RHEL, Cent OS, Scientific Linux向けのunicornのinitスクリプト書いた

initスクリプトの書き方忘れてるので、だいたい適当です。 start, stop, statusは動くことを確認。 restart, reload は適当。なんか表示がかっこわるい。。。

Mac上のVirtualBoxに入れたWindowsの共有フォルダにホストのMacからアクセスする方法

ホスト側のディレクトリをVirtualBoxの設定の共有フォルダーで共有するのでもいいけど、ゲスト側のディレクトリを開放するほうが好み、という人向け。 要素 Windowsのフォルダ共有はCIFSで動くようになっており、CIFSは445/TCPを使う なので、VirtualBoxのポ…

EC2上にPython実行環境を作った話

大したことはしてない。 パッケージ更新とpip sudo yum -y update sudo easy_install pip virtualenvとvirtualenvwrapper あとはまあイアン先生の言うとおりに。 http://www.ianlewis.org/jp/virtualenv-pip-fabric sudo pip install virtualenv sudo pip in…

/dev/diskにある固定のデバイス名を使ってmdadmを使う

昨日の記事でudevルール書くと書いたけど、HDDだと固有のIDぽいのがudevadm infoで取れなかった!で、よく考えたら、 固定のデバイス命名 に書いてあるように、 /dev/disk/by-id /dev/disk/by-uuid /dev/disk/by-path に固有のデバイス名がついてるので、こ…

デバイス名を固定するのにudevのルールを書いてみた

fstabでUUIDで指定する - Bouldering & Com.で書いた、起動のたびにデバイスIDが変わってしまうという話、実は全然解決していないのでした。mdadmでraidを組んでいるので、 /etc/mdadm/mdadm.conf に DEVICE /dev/sd[ab]1 みたいにデバイスの指定を書くんで…

Mac OS X Lionでのシングルユーザモード起動手順はLeopardのときと違う

最初にまとめ Lionでログインできないときにシングルユーザモードを使うのだけど、Leopardのときの情報[ Mac OS X 10.5:アップグレードインストール後にログインできない ]を参照して /System/Library/LaunchDaemons/com.apple.DirectoryServices.plist が…

fstabでUUIDで指定する

HP Proliant Microserverを使っているけど起動するたびにデバイスIDが変わってしまう。 のを2chで訊いたらLABEL使えって教えてくれた。 けど、なんかまだLABELの仕組みがわからないのでUUIDで指定するようにしてみた。 調べる by-uuidを見る shrkw@frutiger:…

mdadmのRAID1を再構築

まとめ 再構築したらちゃんとmd0でデバイス認識できた。ので、やり直すのがよいというのが今のところの結論。 経緯 進捗状況をみても本当に5000分だか10000分だかかかりそうだったので諦めて再構築する。 netatalkで公開してたりしたのでそれを止めてから、u…

mdadmで設定したのがmd127として認識されてる

確認してみる。 shrkw@frutiger:~$ cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md127 : active raid1 sda1[0] sdb1[1] 1953510841 blocks super 1.2 [2/2] [UU] unused devices: <none> md127って</none>…

HP Proliant MicroserverをホームNASとしてセットアップ

一部で話題のHP Proliant Microserverが電脳売王とかottoとかで20,000円を切ったので買ってみた。 そろそろ次のが出るかという噂もあるけど、このセグメント自体がディスコンになるとイヤなので現状モデルで。 構成内容 メモリはそのまま システムはUSBメモ…

blockdiagでちょっと複雑な画面遷移を書いてみたけど、うまく書けなかった話

tweetしたら @tk0miya さんが反応してくれたので、ソースを貼ってみる。 基本的にblockdiagはコンセプトもプロダクトも大好きです。 { j1 [label = "Introduction"]; j2 [label = "Branch", shape = "diamond"]; j3 [label = "Payment Method"]; j4 [label =…

CentOS 5.5にvirtualenvを入れて、Python2.7とFlaskの環境を作ったよ!

Flaskでも試そうと思ったけど、CentOS 5.5のPythonは2.4.3だったりして寂しい感じだったのでいろいろ環境整備からして、ようやく環境作り終わった。 [root@shrkw-rad]# python -V Python 2.4.3 Python2.7のインストール EPELのyumに2.6系のPythonがあるけど…

Redmineのユーザー一括登録プラグインを最新版のRedmineに対応させて、githubにコミットした

1年半前に作って作りっぱなしになってたRedmineのユーザー一括登録プラグイン Redmineのユーザー一括登録プラグインを作ってみた - Bouldering & Com., Redmine CSV User Import Plugin - Bouldering & Com. を、最新版のRedmineに対応させるべく、PARTAKE …

Firefox 3.5.7で使っているアドオン

3.6に上げる前に記録しておく。 Adobe DLM (powered by getPlus(R)) 1,6,2,49 AutoPagerize 0.4 Dictionary Tooltip 1.5 Download Statusbar 0.9.6.5 Echofon 1.9.4.1 Extension List Dumper 1.14.4 Firebug 1.5.0 Firecookie 1.0.2 FireGestures 1.5.5.1 Fo…

Firefoxが調子悪くなったのって、Switch proxy toolが原因だった

3.6まで対応となってるのでインストールしちゃうけど、3.5でも全然動かん。

ratproxyのオプションとかのメモ

本当にメモ。 ./ratproxy.exe -lexifscgjmXk -p 18080 -v . -w log -P {INNER_PROXY_SERVER}:8080pをつけないと8080で起動する。 Pをつけるとプロキシを経由してくれる。

LuceneのNumericUtilsで、数字でソートできるドキュメントを作る

Lucene2.9.1で試行。今まではNumberToolsだったけど、2.9からDeprecatedになったので、数字でソートできるフィールドを作るためにNumericUtilsを使う。experimentalって書いてあるのが気になるけど、まあこれしかないし。ポイントも今までとたいして変わらな…

multivaluedなfieldはありものだとソートできない

multivaluedなfieldはFieldCacheが返せないから、ありもののComparatorだとソートできないのか。http://search.lucidimagination.com/search/document/deb209151a5f93b9/how_to_cache_multivalued_field_using_fieldcache#7833c81490cae549もちろん、自前でF…

Lucene2.9で自前でComparatorを作って、複数フィールドの値を協調させてソートさせる

複数フィールドの値をみてソートをするという要件がでてきて、ページングとかの面倒さを考えるとソートはすべてLucene内部で完結させたいので自前でComparatorを作ろうと思ったけど、けっこう難易度が高かったのでその記録。マニングのLucene In Actionのサ…

Luceneで複数フィールドで検索してるときに、そのうちのひとつのフィールドでのスコアでソートする

ついでにほかのフィールドもソート条件に入れたいとか、わりとベタな要望だと思うけど、Lucene wikiで検索してもみつからなかったので考えてしまった。 はじめは、ソート用の結果を取得するのと、ホントのデータを取得するのとで二回サーチしないといかんか…

TerracottaでwebアプリのTIMを入れてものセッションクラスタリングをしないようにする

WEBアプリケーションでTerracottaを使うときはtim-tomcatとかのインテグレーションモジュールを入れて使うのが推奨されています。 例えば、WEBアプリでキャッシュ機構にEHCacheを使う場合のtc-config.xmlはこんな感じ。

TerracottaのTIMは必須ではないみたい

Terracottaを各種ミドルウェアやライブラリと一緒に使うときはTIMと呼ばれるインテグレーションモジュールを入れるのが推奨されているけど、あくまで推奨なのでいれなくても動かすことは可能。 ただし、dsoセクションにライブラリ内部で使われているクラスの…

JavaScript: The Good Parts――「良いパーツ」によるベストプラクティス 読了

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス作者: Douglas Crockford,水野貴明出版社/メーカー: オライリージャパン発売日: 2008/12/22メディア: 大型本購入: 94人 クリック: 1,631回この商品を含むブログ (183件) を見る 200ペー…

Terracotta3.1.1とEHCache1.7の統合ぶりがすごい

Terracotta3.1.1がリリースされたので試してみたら、EHCacheとの統合っぷりがすごい。http://www.terracotta.org/web/display/orgsite/Get%20Started%20With%20Ehcache%20Distributed%20Cache に書いてる手順だけど、 Terracottaサーバー立ち上げ /bin/start…

Lukeにクラスパスを通す

jarにクラスパスを通すといい方のほうが正しい?LuceneのインデックスビューワーのLukeを使って検索を試してるときって、自前のAnalyzerでパースさせたくなるけど、どうやって認識させればいいのかわからなかった。こんなんだとダメで、 C:\Users\foo\Deskto…

Google Guiceのアレコレ ―Guice管理のクラスをプロバイダを使って取得順を制御する―

DIコンテナで管理しているクラスの取得順というのは、コンテナの責務ではないと思うけど、そういうのが必要な場面も稀にあります。 登録側 Providerメソッドに@Injectアノテーションをつけて、引数で必要なのを渡すだけ。 冗長だけど、まあシンプルです。 pa…

Google Guiceのアレコレ ―同一の戻り値を持ったプロバイダを定義する―

2.0からProviderの書き方がちょっとラクになったみたいだけど、そのへんはよくわからん。 登録側 package jp.co.hogehoge.provider; import java.util.Arrays; import java.util.List; import com.google.inject.AbstractModule; import com.google.inject.P…

Google Guiceのアレコレ ―同一のインタフェースを持った複数のクラスの登録と取得―

http://groups.google.com/group/google-guice/browse_thread/thread/10cbc601380b8757/f2f414d8e69c40a5?lnk=gst&q=Using+annotation+on+injector+getInstance+call#f2f414d8e69c40a5 登録 binder.bind(IService.class).annotatedWith(Names.named("A")).to…

Google Guiceのアレコレ ―ListをGuiceで管理する―

あるいは、Genericタイプの着いたクラスをコンテナで管理する方法。Google Guiceをいろいろ試してていろいろ日本語情報で見つからないのがあったので、メモしておく。 登録 TypeLiteralを使ってあげる。 List<IService> list = new ArrayList<IService>(); list.add(new ServiceA</iservice></iservice>…

EHCacheのtimeToLiveSecondsとtimeToIdleSecondsの違い

ドキュメントを読んでもよくわからんかったけど、ここの説明をみてようやく理解できた。 timeToLive is a total time an entry stays in a cache region. timeToIdle specifies how long it should stay in cache if it is not referenced. https://forums.h…

dRubyによる分散・Webプログラミング 読了

ものすごく前に。 dRubyによる分散・Webプログラミング作者: 関将俊出版社/メーカー: オーム社発売日: 2005/07メディア: 単行本購入: 1人 クリック: 41回この商品を含むブログ (131件) を見る 読んだのはまだTwistedとか、python-multiprocessingとか知らな…

Snow Leopardに入れ替えたら、Macportsを入れ直すはめになった

ついこのまえMacbook Proを買って環境移行したばかりだけど、990円でメディアを購入。なんか届くのが遅くてこんな日に。 50分くらいで移行は完了。とくに問題ない、と思ったらダメだった。zsh起動させたらreadline.dylibがロードできないとかなんとかがでて…

Archivaで500エラー

このへんのと同じやつ。 http://jira.codehaus.org/browse/MRM-1237新しいバージョンでfixされてるみたいだけど、新しいのをビルドするのも面倒だったので別の方向を探る。 ↓ RedBackが怒ってるみたいだけど、パスワードがブランクなのが原因な気がする。 ↓ …

コンピュータの用語でのauthorize, certificate, authenticateの違い

こんな感じ? authorize 認可する 権限、許可を与える行為のこと certificate 証明書 または、認証するもの authenticate 証明する,認証する システム主体によって/システム主体について、主張された身元を検証すること certificateは動詞っぽく見えて、実…

cygwinで日本語

自分用のメモざんす。 ~/.bash_profile . ~/.bashrc cygwin.batで起動すると.bashrcが読み込まれないので強制的に読み込むようにする。自分ひとりだけで固定の環境でしか使わないから条件分岐とかいれない。 ~/.bashrc alias ls='ls --show-control-chars --…

Macbook Pro 15inch (MC118J/A) 購入したら、移行アシスタントがすごい優秀だった

初代Macbookが家族に引き取られて行ったので代替機を購入。というか順番逆だけど。移行アシスタントがすごい優秀。 from MA254J/A to MC118J/A でイーサネットケーブルでの接続だったけど、移行データが160GBくらいあったから8時間くらいかかったけど、すん…

Windows7に移行

会社のマシンが4年半、再インストールもしていないXPで、最近HDD周りから異音がしだしてきたのでマシンを交換。いいタイミングなので7へ移行。 おおむね快適なのはたぶんマシンスペックが4倍くらい上がってるから。 インストール だいたいこんな順番。 ドラ…

初代Macbook(MA254J/A)のCD-Rドライブ交換

一年前からドライブの調子が悪いのを外付けドライブでお茶を濁していたんだけどMacBookのコンポドライブがへたってきた - Bouldering & Com.、Macbookが家族に引き取られることになったのでCD-Rドライブを交換することになった。UJ-857がいいかなーと思った…

Eclipseのプロジェクト固有設定の置かれる場所がよくわからなかったけどなんとかなった話

やりたかったこと フォーマッタなどのプロファイルを共有して、エクスポート、インポートなしに適用させたい やり方 プロジェクトのプロパティで、プロファイルの名前が 管理されていないプロファイル とでるけど気にしないでバリバリ変更してOK.変更内容は…

TerracottaでHA構成を試してみた

サーバーアレイまでではなくてシンプルなActive-Passive構成でHAを試してみた。 参考資料 HAにするためのサンプル構成とかないかと探してみたけど、わりと情報が散乱しているのでこのへんを総合して構成してやらないといけなかった。 http://www.terracotta.…

Redmine勉強会のLTで発表してきた

Redmine勉強会 - events.php.gr.jp いいタイミングだったのでプラグインのことを発表してきました。主催のid:yandodさんと、会場提供のトライコーンさん、それに参加された皆さんに感謝。以下は、資料の手直ししながら書いてたメモを転載。 実践Redmine カテ…