毎月恒例:Be Proudさん主催の勉強会 BP Study に参加してきました。 ⇒第18回:リーンソフトウェア開発、Erlang 以下自分用のメモ。
夢のある業界づくり
常日頃思っていること。
ITって楽しいよ。
自分の手から生まれたものが大きな力になって世界に貢献する。
自分の力で世界を変える可能性があるんですよ。
その影響力たるやすさまじいものがあります。
クロノスの山本さんのエントリはそのアツい気持ちを思い出させてくれました
それを受けたひがさんのエントリはそのアツい気持ちを軌道に乗せるための方法論
一見ひがさんが反論してるように見えるのは、たぶん揚げ足取りっぽい記述があるからでしょう。。。
ひがさんが言うように、世間一般の判断基準でも価値が高いと思われるようにすることは、「しくみ」として回していく上でとても重要。
人間は霞を食って生きていけないし、家族がいたら養わなきゃいけないわけで、ひがさんの方法論は一般に受け入れられやすいでしょう。
ひがさんの方法論を軌道に乗せるためにはどうしたらいいのか。
たとえば、ITをスポーツだと、エンジニアはその選手だと考えてみたらどうでしょう。
有望・有能な選手は報酬が高い。とても自然なことだと思います。
ただ現状では世間一般ではこのコンセンサスが得られていないように思えます。
エンジニア=新3Kとか言われちゃってるくらいなので、安くてキツいイメージが先行しているようです。
納期が短すぎたり、予算が安すぎたり。よく聞く話です。
たいていの案件では、金額面の折衝の窓口は営業担当者がすることになると思います。
そこで
営業担当者がスポーツ選手のエージェントのように折衝をする
ってのはどうでしょう。
業担当者が、エージェントになって選手を売り込むわけです。
エージェントを社長さん自らがやっているような小さな会社だと、割とうまくいったりします。
現職は小さな会社だし、自分はなんでもいろいろやる係です。
営業の現場にも、営業として出ることもあるしエンジニアとして出ることもあります。
これから営業として出る時はこの【営業=エージェント】の気持ちを強くして出動してみます。
成長する人・しない人
Seasar2の(というと通りがいいと思う)、ひがやすおさんが面白いエントリを書いていたのでご紹介。
成長するかどうかの分かれ目は、自分でやるかやらないか。
やってみて初めてわかることは多いですよね(経験上)。
それを自分のこととして考えて、解決しているかどうかが分かれ目だと思います。
こういうのが採用の時のポイントだったりするわけです。はい。
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>
firebug16.png
firebug24.png
firebug32.png
firebug.png
firebug-gray-16.png
↓すごくいい感じになりました!firebug24.png
firebug32.png
firebug.png
firebug-gray-16.png
BP Study#17に参加しました
毎月恒例:Be Proudさん主催の勉強会 BP Study に参加してきました。
今回は開発ネタで、O/Rマッパー対決の続きでした。
3つのうち、MS系が1つ、Pythonが2つ、となかなか偏った構成で楽しかったです。
自分は開発から離れて久しいですが、、、しかも業務で開発したことあるのはJavaだけですが、SQLAlchemyが持つHibernate的なLazy Loadingのしくみなんかは、知っておくだけでチューニングの時に参考になりますね。
懇親会はshohu33さんたちと、MySQLネタや仮想マシンのネタ、UNIXネタなど楽しく話させてもらいました。
2次会は一転して会社のスタイルやライフスタイルの話を立ち飲み屋で。こちらも楽しかったです。
やっぱり合宿とかするべきですよね。24/365の会社には若干ハードル高いのが難点です。。。
その後はいつもどおり(?)朝まで楽しく飲ませていただきました。
また次回もよろしくおねがいします!
MySQLチューニングの基本ツール - MySQL Tuner
MySQLをチューニングする時に、基本的な事項をチェックするツールとして便利なものがあったのでご紹介。
1ファイルのperlプログラムなので、ダウンロードして実行権限設定すれば簡単に実行できます。
↓実行結果はこんな感じ。カラーで安心。
細かい見方は、またおいおい。
URLの最大文字数
URLの最大文字数の制限について、改めて調べてみました。
URIではなく、URLについて。
URLなのでHTTPだろう、ということでRFC 2616をチェック。すると・・・
The HTTP protocol does not place any a priori limit on the length of a URI. Servers MUST be able to handle the URI of any resource they serve, and SHOULD be able to handle URIs of unbounded length if they provide GET-based forms that could generate such URIs. A server SHOULD return 414 (Request-URI Too Long) status if a URI is longer than the server can handle (see section 10.4.15).
Note: Servers ought to be cautious about depending on URI lengths above 255 bytes, because some older client or proxy implementations might not properly support these lengths. [続きを読む]