ちょっと縁があって、DELLのDRAC5カードを使ってみてます。 ※DRAC5カード=リモート管理用のデバイス。HPのiLOと同じ感じ R300で、NICを共有モードで使おうとしたけど選択できないんです。。。 マニュアルを見ても特に条件などは書いてないんですが・・・ と、いうことで、DELLのQ&Aサイトを見てみると
[Read More]IDManagerからKeepassXにデータ移行するxslt
はてな田中さん(@stanaka)がruby製の変換ツール書いてくれました。
独自項目が保存できるのでこちらを利用するのをお勧めします!
→https://gist.github.com/3263705
ruby 1.9.2-p290, 1.9.3-p194で使えました。使い方はこんな感じ。
→https://gist.github.com/3282820sed 's/encoding="shift-jis"/encoding="cp932"/' in.xml | idm2keepassx.rb >out.xml
以降は「XSLTでやってみたい!」という方向けのエントリ
Linux Desktopで業務を回そう計画の一環として、IDManagerをKeepassXへ移行する予定です。 アプリを変えるためにはデータ移行! ということで、IDManagerでエクスポートしたXMLを、KeepassXでインポートできるXMLに変換するXSLTを書きました。 XSLTヨクワカラナイのでいろいろ参考にさせてもらいました。 特に助かったのはここでした。改行置換はまるっと使わせてもらってます。 ⇒FAQ的なXSLTのサンプル ちゃんとXMLで出力するようにxsl:element使って書いたけど、すごく読みにくく。。 なんちゃってXMLで、HTMLっぽく書いてた時のほうが読みやすかったなぁ。 ※使用上の注意 IDManagerでエクスポートしたXMLのエンコーディング指定を書き換えないとうまく動かない場合があります!
before
<?xml version="1.0" encoding="shift-jis" standalone="yes"?><idmData>
after
<?xml version="1.0" encoding="CP932" standalone="yes"?><idmData>
本体はかなり長いので、つづきに書いておきます。
[Read More]
PostgreSQLのしくみ勉強会に参加しました
PostgreSQLのしくみ勉強会に参加しました ⇒PostgreSQLのしくみ勉強会のご案内:pgpool-IIのオンラインリカバリ、およびPITRの概要 参加者30人以上と大盛況でした。 スキル的には初心者~上級者、立場的にも開発~運用をやられている方まで幅広くいたような感じでした。 これからもぜひ継続していただきたいです。 以下メモ。
[Read More]BP Study#18に参加しました
毎月恒例:Be Proudさん主催の勉強会 BP Study に参加してきました。 ⇒第18回:リーンソフトウェア開発、Erlang 以下自分用のメモ。
【リーン開発】by MOONGIFT 中津川さん
ネタが、芸が細かいです。 細かすぎてすぐには資料を公開できない模様。 ★リーン開発=ムダをなくす★ ■ドキュメント・コードのムダ 次(工程)につながらないドキュメント・コードはムダ! ※何がムダかは会社や個人や状況によって変わる!※ ■引き継ぎのムダ=暗黙知のロスト 曰く、一人辞めると50%はロストする ⇒「ドキュメントでは補完しきれない」と割り切った上で、引き継ぎが発生しないように務める ⇒普段のコミュニケーションによる共有、メンバーの満足度向上などでフォロー ■品質を作り込む 結局のところ、つかってみないとわからない ⇒どんどん作る。どんどんリリース。どんどん改善。 ■決定を遅らせる 大前提:状況は変化する 変化に対応するために・・・ 「1から考える」のではなく「オプション(=選択肢)を提示して選択してもらう」ことでシステムの変化を手の内に収める ⇒そのためにはオプションの特性などをキッチリと把握しておく必要あり ★何をどう判断するかは経験則★ 変化に対応するために・・・ 速く提供する ⇒気が変わる前に提供する! ⇒フレームワークの活用 ⇒オープンソースの活用 ※受け側がアルファリリース・ベータリリースの未完成な段階を許容できるのは条件(もしくは、そのように教育する) ■人を尊重する 人員のマイクロ管理はやる気を損ない、創造性をなくしていく ⇒製造業化してしまう⇒泥沼 ⇒創造性を高めてエキスパート(個人に限らず、チーム)を育てる! ⇒仕事が特定個人に依存しすぎないようには注意する ■全体最適化 顧客のビジネスまで含めて最適化する ⇒時には利益相反する場合もあるがそれは別途交渉する ⇒Win-Winの関係を育てる そのとき、構成員個人に対するインセンティブは重要! ■気になる料金体系(事例) ・リリースまでは最低限(=人月原価)をもらう ・リリース後に残額(=付加価値)をもらう ・↑をオープンにして、誠意で交渉して納得してもらう ⇒契約よりも信頼に基づく関係を構築する! ■オープンソース PHPは利用できるのに、PHPを利用したオープンソースプロダクトは採用できない?変なの。。。 ⇒オープンソースのコードは、チェックしたりテストする ■個人的感想 アジャイルもリーン開発も、ある程度小さなチーム・ある程度優秀なメンバーを大前提にしていて、実はそれが難しいんだよね、、、って話を別途なんとかしないといけない。【Erlang】by id:voluntas
Mochiweb ・Erlangで実装されたwebサーバ。100行くらい?らしい ・Facebookのチャットで使われている Erlang ・軽量プロセスを大量に(メモリがある限り)作成可能 ・32GBメモリで4,000万プロセスの実績あり ・主にネットワークサーバで使われているらしい ・学習プロセスは低い。が、フレームワークが難しい ■個人的感想 同時4,000万セッションとかネットワーク機器がダウンしそう。。。 ⇒ネットワーク機器をErlangで書けばいいんですね。【その後】
懇親会で楽しく情報交換。 コミュニティごとにすごく色がついていて面白い! 今回は2次会なしでした。 haruさんの中で、私が2次会番長みたいな扱いになっていたのが大変遺憾。 仕方ないですね。夢のある業界づくり
常日頃思っていること。
ITって楽しいよ。
自分の手から生まれたものが大きな力になって世界に貢献する。
自分の力で世界を変える可能性があるんですよ。
その影響力たるやすさまじいものがあります。
クロノスの山本さんのエントリはそのアツい気持ちを思い出させてくれました
それを受けたひがさんのエントリはそのアツい気持ちを軌道に乗せるための方法論
一見ひがさんが反論してるように見えるのは、たぶん揚げ足取りっぽい記述があるからでしょう。。。
ひがさんが言うように、世間一般の判断基準でも価値が高いと思われるようにすることは、「しくみ」として回していく上でとても重要。
人間は霞を食って生きていけないし、家族がいたら養わなきゃいけないわけで、ひがさんの方法論は一般に受け入れられやすいでしょう。
ひがさんの方法論を軌道に乗せるためにはどうしたらいいのか。
たとえば、ITをスポーツだと、エンジニアはその選手だと考えてみたらどうでしょう。
有望・有能な選手は報酬が高い。とても自然なことだと思います。
ただ現状では世間一般ではこのコンセンサスが得られていないように思えます。
エンジニア=新3Kとか言われちゃってるくらいなので、安くてキツいイメージが先行しているようです。
納期が短すぎたり、予算が安すぎたり。よく聞く話です。
たいていの案件では、金額面の折衝の窓口は営業担当者がすることになると思います。
そこで
営業担当者がスポーツ選手のエージェントのように折衝をする
ってのはどうでしょう。
業担当者が、エージェントになって選手を売り込むわけです。
エージェントを社長さん自らがやっているような小さな会社だと、割とうまくいったりします。
現職は小さな会社だし、自分はなんでもいろいろやる係です。
営業の現場にも、営業として出ることもあるしエンジニアとして出ることもあります。
これから営業として出る時はこの【営業=エージェント】の気持ちを強くして出動してみます。
成長する人・しない人
Seasar2の(というと通りがいいと思う)、ひがやすおさんが面白いエントリを書いていたのでご紹介。
成長するかどうかの分かれ目は、自分でやるかやらないか。
やってみて初めてわかることは多いですよね(経験上)。
それを自分のこととして考えて、解決しているかどうかが分かれ目だと思います。
こういうのが採用の時のポイントだったりするわけです。はい。
[Read More]
PostgreSQLのしくみ勉強会のご案内:pgpool-IIのオンラインリカバリ、およびPITRの概要
2009/2/14(土)にPostgreSQLのしくみ勉強会を開催します。
お題は「pgpool-IIのオンラインリカバリ、およびPITRの概要」です。ぜひご参加ください。
演題: pgpool-IIのオンラインリカバリ、およびPITRの概要バージョン8.0で導入されたPITRによって、PostgreSQLの耐障害性は大きく向上しました。また、PostgreSQL専用のレプリケーションソフトpgpool-IIにはPITRを巧妙に使ったオンラインリカバリ機能が実装されています。今回はpgpool-IIのこの機能の説明を行います。またその説明を通して、PostgreSQLのPITRの概要、特にアーカイブログやControlFileやBackupLabelなどの登場人物について簡単な紹介を行い、PostgreSQL理解の手がかりを提供したいと思います。
なぜベンチャーなの?
たまには仕事論でも書いてみます。
そろそろ就活の時期ですね。
ウチのような無名のベンチャーは、新卒公募してもなかなかこなくて苦戦してたりします。
なんでもこの不況で大手志向が強まっているんだとか。
javaでftp接続テストプログラム(commons-ftp)
FTP接続テストでなんだかよくわからない状況になってしまったときのために簡単なFTP接続テストプログラムを作ったので、ついでに公開します。
commons-net 2.0を使ってます。
もしかしたら動かないかも?動かなかったらゴメンナサイで。
エラー処理とかもろもろはちゃんとしていないので、あくまでご参考までということでよろしくお願いします。
2009.7.7追記: コメントでご指摘いただいたエラー処理を少し追加しました。少しだけ立派になった!
package jp.netmark.ftptest; import java.io.IOException; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply; public class Ftptest { /** * @param args */ public static void main(String[] args) { if (args.length != 3) { System.err .println("args[0]=host, args[1]=username, args[2]=password"); System.exit(1); } String address = args[0]; String username = args[1]; String password = args[2]; boolean passiveOK = execute(address, username, password, true); boolean activeOK = execute(address, username, password, false); System.out.println("------------------------"); System.out.println("Check Result:"); System.out.println("Passive Mode\t=>" + (passiveOK ? "OK" : "NG")); System.out.println("Active Mode\t=>" + (activeOK ? "OK" : "NG")); } private static boolean execute(String address, String username, String password, boolean usePassiveMode) { boolean success = false; FTPClient client = new FTPClient(); try { System.out.println("connect"); client.connect(address); System.out.println(client.getReplyString()); client.login(username, password); System.out.println(client.getReplyString()); if (!FTPReply.isPositiveCompletion(client.getReplyCode())) { System.out.println("*** Login Failed ***"); client.disconnect(); return false; } if (usePassiveMode) { client.enterLocalPassiveMode(); System.out.println(client.getReplyString()); } else { client.enterLocalActiveMode(); System.out.println(client.getReplyString()); } client.pwd(); System.out.println(client.getReplyString()); String fileNames[] = client.listNames(); success = FTPReply.isPositiveCompletion(client.getReplyCode()); System.out.println(client.getReplyString()); if (fileNames != null) { for (int i = 0; i < fileNames.length; i++) { System.out.println(fileNames[i]); } } client.logout(); System.out.println(client.getReplyString()); client.disconnect(); } catch (Exception e) { if (client.isConnected()) { try { client.disconnect(); } catch (IOException ignore) { } } e.printStackTrace(); } return success; } }
Firebugの致命的な欠陥を修正する方法
もはや必須機能のFirebugですが、以前やっていたプロジェクトでは例のゴキブリホタルのアイコンのせいで女性陣から利用を拒否されました;;
そんなFirebugの致命的な欠陥を修正する方法がこちら
⇒Firebugの虫アイコンを変更する方法
firefox 3.0.5 on Windows Vista + Firebug 1.3.0 の場合、下記のファイルを書き換えました
C:\Users<i>ユーザ名\AppData\Roaming\Mozilla\Firefox\Profiles<i>なんかランダムな英数字.default\extensions\firebug@software.joehewitt.com\skin\classic</div>
[Read More]
firebug16.png
firebug24.png
firebug32.png
firebug.png
firebug-gray-16.png
↓すごくいい感じになりました!firebug24.png
firebug32.png
firebug.png
firebug-gray-16.png