Re* Programming

Thoughts, stories and ideas.

eclipse

Eclipse + maven + jetty7でWebsocketを試す

Jetty7でWebsocketを使いたいと思って始めてみましたが、Jettyのデバッグが出来ず色々嵌りました。 もしかしたらJavaEEのバージョンをダウンロードすればもっと簡単にいけたのかもしれません。 また、今回はmavenを使いましたが必ず使う必要はありません。ただ、同時導入した結果です。 Maven無しでの構築の要望があれば記事書きます。。。 取り敢えずEclipseとプラグインまわりの準備から。 * ・ Java1.6.0_17 - http://www.java.com/ja/ * ・ Eclipse3.5 (for Java Developers) - http://www.eclipse.org/downloads/ * ・ M2Eclipse - http://m2eclipse.sonatype.org/ * ・ Maven 2.2.1 - http://maven.apache.org/ * ・ Werkzeugkasten - http://code.google.
7 min read
eclipse

Jetty7対応のEclipseプラグインを(便乗して)作ったよ

EclipseでJetty7の開発を行うために、Eclipseのプラグインをつくりました。 ベースはwerkzeugkastenというEclipseのプラグインのWebLauncherというものです。 googleCode werkzeugkastenプラグインhttp://code.google.com/p/werkzeugkasten/ 『werkzeugkasten』は『ツールボックス』の意ですかね。 このプラグインはTomcat他、Jetty6に対応していて、非常に使いやすそうだったのでJetty7用を追加で作成しました。 先日、Jetty上でwebsocketを実装して色々試そうと思っていたにも関わらず、環境の構築でずっと悩んでいました。 なかなかうまくいかずちゃんとしたものを作ろうと思って初めてながらEclipseのプラグインを作ってみました。 かなりエラーログが出ているようですが・・・ ~~; 詳しい説明は Eclipse + maven + jetty7でWebsocketを試す [https://nantokaworks.com/?p=701] の最後の方に書
1 min read
javascript

Postメソッドでwindow.openしたい

案件でPostメソッドでwindow.openするような場面があったので作りました。 この方のコードをちょっと変更。 → 『window.open()でPOST [http://d.hatena.ne.jp/ujiujise/20081218/p1]』 window.openの引数をちゃんとすべて指定できないですが、そのあたりは適当に。 function onClickSample() { //設定 var url = "sample.html"; var query = [ { key:"hoge", value:"fuga"}, { key:"test", value:"test"}, ]; //実行 PostWindow = window.openByPost( url, query,
1 min read
FireWorks

Fireworks CS5で角丸を指定した値に変形するコマンド

FireWorksの長方形角丸で縦横の長さの比率が同じならきれいに角丸が出来ますが、縦横の比率が違うとどうも崩れる。 で、探していたらバシャログさん [http://c-brains.jp/blog/wsg/10/02/23-181801.php]経由で きんくまデザインさんの記事 [http://www.kuma-de.com/blog/2009-01-20/283]が。。。 そのままではCS5で動かなかったので、改変。 元々の動きが分からないのですが、たぶんFireWorksの仕様上『角丸長方形』のまま角をキレイにするのは難しそう。 なので、『長方形』の形式で角を変更するようにしています。 きんくまデザインさんのもとコードはこちら→Fireworksでくずれた角丸を元通りにするコマンド [http://www.kuma-de.com/blog/2009-01-20/283] (きんくまデザインさんの記事でライセンスがMITになってたんですが、ライセンス/著作権者名も明記がなかったんですが、どこに書くのがよいのかわかりません・・・) CS5用 var replacerou
1 min read
javascript

Feedback: JGP 読書会1回目

8/21 JavaScript : The Good Parts の読書会 [http://jsdokusho.org/?p=27]に参加しました。 読書会は初めての参加です。 読書会とは特定の本を各自持ち寄り内容を読み進めていき、わからないところや、おもしろいところを共有しようというもの。主催はTwitter@nine0527 [http://twitter.com/nine0527]さん。今回はJavascript本の良書 The Good Parts の1章~3章でした。 やはり、読み進めていくうちにその場ではわからないことも多々有り。 所々については宿題ということになったわけです。 全体の議事録はnine0527さんにお任せするとして・・・ 私は気になったところをピックアップ。 序盤ということもあって3章に疑問が集中しました。 3.1 オブジェクトリテラル ・プロパティ(連想配列)に関数を格納できる! Javascriptにおけるオブジェクトはキーによって整理された変更可能なデータの集合体。 関数や正規表現もオブジェクトであるとのこと。つまり、こんな書き方が可能。
6 min read
javascript

すべてのリンクをダブルクリック仕様にする誰得jQueryプラグイン

jQueryで『すべてのリンクをダブルクリック仕様にするプラグイン 』をつくりました! [http://jdtplugins.googlecode.com/svn/trunk/jdtlinkdoubleclick/index.html] [http://code.google.com/p/jdtplugins/downloads/detail?name=jdtlinkdoubleclick.zip&can=2&q=] jQueryとjDTLinkDoubleClickを読み込んで、実行! <script type="text/javascript" src="js/jquery.js"></script> <script type=
1 min read
javascript

それ誰得?開いてから10秒で画面が閉じるjQueryプラグイン

jQueryで 『ページを開いたら10秒のカウントダウンが始まって0になると強制的にウィンドウを閉じるプラグイン 』をつくりました! [https://nantokaworks.com/demo/jdttencount/] [http://code.google.com/p/jdtplugins/downloads/detail?name=jdttencount.zip&can=2&q=] ページを開いて10秒数えると勝手に画面を閉じちゃいます。 使い方はとっても簡単。 jQueryとjDTTenCountを読み込んで、 <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript&
1 min read
勉強会とか

ドットコーダーセッション2に参加しました

7/24に ドットコーダーセッション2 [http://tweetvite.com/event/dotcoder2](+ 飲み会 [http://tweetvite.com/event/docoda2])に行ってきました。 タイトルからコーダー・デザイナーさんだけの勉強会かと思いきや、私と同じプログラマーの方なども参加されていたり。 自分の会社ではいわゆるデザインを担当する部が無いのでこのような勉強会はとても刺激になります。 そんなこともあって、前回のセッション1や飲み会等に以前から参加させて頂いてます。 さて、セッション2のテーマは『jQuery』 セッション内容はこんな感じでした。 セッション * JSとDOM (@hogenishi [http://twitter.com/hogenishi]) * 愛されゆるふわ基礎jQuery (@5509 [http://twitter.com/5509]) * 画像スライダーを作ってみる (@itasan [http://twitter.com/itasan]) * ロールオーバーとかそういうの (@rewish
1 min read
PHP

PHPで多言語文字のCSVファイル出力

PHPで多言語文字をCSV出力してダウンロードするためのサンプルを書いてみました。 仕様についてはこちら多言語文字を文字化けせずにCSV形式で出力するには? [https://nantokaworks.com/?p=687]実際にはTSVですが・・・ リンク先にもありますがWindows環境下のExcel(2000)での確認しかしていません。 たぶんWindowsならどのバージョンでも大丈夫だとは思いますが・・・ 2010/05/10追記Office 2008 for Mac:評価版でも正常に開ける事を確認しました。 CSV出力に関してfputcsvでいけるかと思ったんですが、PHPはよくわからくてうまくUTF-16で出力できず、下記のサンプルで・・・ ソースファイルはUTF-8での保存を想定しています。 <?php header ("Content-Type: application/octet-stream"); header ("Content-Disposition: attachment; filename=" . "hoge.csv"); header ("Con
1 min read
windows

多言語文字を文字化けせずにCSV形式で出力するには?

仕事で多言語サイト作成でハマった所を一つ。 内容は、多言語表示した表(文字)をCSVでダウンロード出力する。といった内容だったのですが。。。 時系列で書いていきます。 が、気の早いあなたには、先に結論を。 タブ区切りのUTF16LE(リトルエンディアン):Bom付で出力してあげればOKです。 これでcsvファイルのダブルクリックでちゃんと文字化けせずに読み込めます。 ただ、検証環境は要件からWindows + Excel2000です。 新しいEccelやMacOfficeは検証していません。 というか、検証してくださるとありがたい>< 2010/05/10追記Office 2008 for Mac:評価版でも正常に開ける事を確認しました。 さて、多言語文字を出力する場合、当然文字コードはユニコード系で書き出さないといけないです。 (ここで言うユニコード系はUTF-8orUTF-16) このCSV出力で色々とはまりどころが。。。 カンマ区切り カンマ区切りCSVのダブルクリックで読み込む場合、Excelが読込む文字コードは「Shift-JIS」なので文字化けでNGでした。 第一
2 min read
JAVA

Google Web Toolkit 勉強会 in 京都リサーチパーク

4/16(金)Google Web Toolkit 勉強会 [http://groups.google.co.jp/group/kyoto-gtug/browse_thread/thread/e2d759c21698786b] に参加しました。 この勉強会は京都GTUG [http://kyoto-gtug.org/]のイベントの一つで、Google App Engine勉強会も行われたりと活発に活動されています。 Google App Engine勉強会の時もそうだったのですが、定時上がりで京都に向かうためいつも30分ほど遅刻してちょっと話についていけなかったり・・・。 そんな中消化できたキーワードを。。。 GWT(GoogleWebToolkit)は"グウィット"と呼ぶ?#gwt_kyoto タグで追っかけてみたのですが「布教中」とのことだったので、まだ一般的ではないのかな? 自分は「ジーダブリューティー」とそのまま読んでました。GWT-RPC ふむ?
1 min read
GoogleAppEngine

GAE/Jでロト6の抽選結果をお知らせするTwitterのBotを作ってみたよ

GAE/Jを使ってTwitter上でロト6などの抽選結果をつぶやくBotを作ってみました。 ・・・・・が。。。 すでに先人が作ったBotがあり、重複していないのはNumbers3の抽選結果お知らせBotだけでした・・・ なので、ひっそり公開しておいて勉強会などのネタにします・・・ す、スクレイピングを初めて使ってみたので別に悔しくなんかありません(´;ω;`) Twitter@Loto6Bot [http://twitter.com/Loto6Bot]ロト6の抽選結果をお知らせします。 毎週木曜日の20:00 or 21:00と翌日9:00に結果をつぶやきます。Twitter@MiniLotoBot [http://twitter.com/MiniLotoBot]ミニロトの抽選結果をお知らせします。 毎週火曜日の20:00 or 21:00と翌日9:00に結果をつぶやきます。Twitter@Numbers4Bot [http://twitter.com/Numbers4Bot]ナンバーズ4の・・・(以下略) 毎週月~金の20:00 or 21:00とそれぞれの翌日9:
c#

MonoTouchでHelloWorld!! (InterfaceBuilderを使わないVer.)

今回はInterface Builderを使わずにHelloworldをやってみる。 Interface Builder有りのHelloWorldは前回参照 [https://nantokaworks.com/?p=624]のこと。 ソリューション名:Helloworld2_Sol プロジェクト名:Helloworld2 新しいプロジェクトが生成された構成。 InterfaceBuilderは使わないので、最初にMainWindow.xibを削除します。 この状態からとりあえずプロジェクト生成時の状態まで復元しましょう。 まずAppdeligateとの関連付けが切れたためUIApplication.Main関数でAppDelegateクラス名を関数の引数として渡します。 static void Main (string[] args) { UIApplication.Main( args, null, "AppDelegate" ); } 次にAppdelegateはpartialでは無くなったため、AppDelegateクラスのpartial宣言を削除。
2 min read
c#

MonoTouchでHelloWorld!!

MonoTouchを使ってC#でHelloWorldをやってみましょう。 MonoDevelopを起動して、ソリューションの作成。 ファイル→新規→ソリューションを選択すると、ソリューション作成ダイアログが表示されます。 ソリューション名:Helloworld_Sol プロジェクト名:Helloworld まぁ、このあたりは任意で指定してください。 次に『プロジェクトの機能』を聞かれますが、そのまま何も選択せずOK。 すると新しいプロジェクトが生成される。 構成はこんな感じ。 □Main.cs Applicationクラスにはmain関数がある。 今回、実行処理はAppdelegateクラスのFinishedLaunching関数内に記述します。 □MainWindow.xib これはアプリのGUI定義ファイルです。 MainWindow.xib をダブルクリックするとInterface BuilderというGUI設計ツールが起動します。 Interface Builder上でラベルとボタンを配置する。 Library(画面左)からラベルとボタンをドラッグしてW
3 min read
PHP

CakePHPWorkshop関西 に参加しました

3月13日 slywalker [http://d.hatena.ne.jp/slywalker/]さん主催のCakePHPWorkshop関西に参加しました。 CakePHPWorkshop関西 - events.php.gr.jp [http://events.php.gr.jp/events/show/92] 参加対象は『これからCakePHPを始めてみようという方、また始めて間もない方』だったのですが、 実はCakePHPどころかPHPでの業務経験が無いという、半ば無謀な形で参加させていただきました。 □□□ Workshopということで前日までに少し予習して参加したのですが、後半から全くついていけませんでした・・・ 並行してソースを書くことはすっぱりあきらめて、お話されていることをしっかり頭に入れて帰るように切替えました>< 今回のようにバリバリ業務で使われている方のお話を聞ける機会はなかなか無いので、非常にためになりました。 あとはみなさんおっしゃってましたが、実際に作ってみることが大事ですね。 また、Github [http://wiki.github.com/
2 min read
PHP

オブジェクト指向をあえて車クラスタ目線で書いてみた

Redさんのエントリを見てちょっとオブジェクト化について書いてみた。 RedLine Magazine [http://redline.hippy.jp/]PHP オブジェクト指向の勉強 [http://redline.hippy.jp/lab/php/php_8.php]kamiyamという車好きな人のお話に置き換えてみました^^; ここで定義するクラスはある車屋さんです。 この車屋さんをオブジェクトとして捉えてみましょう。 【クラス定義】 BetaAuto.php ある車屋さん『ベータオート』さんが外向けの業務として受けつけている仕事は次の5つ (※言い換えると、クラスBetaAutoが、外部公開(public)している関数は次の5つ)○getNewCarMitumori($carname) 車名から見積もり金額を返す。○deliverNewCar($personname, $carname)車の納車。   だだし、ここでお金のやり取りはしていません。○getSeikyu($personname)顧客名から請求金額を返す○payMoney( $personname, $mone
4 min read
GoogleAppEngine

GAE/Jを使ってTwitterの時間お知らせBotを作ってみたよ

TwitterのBotを作ってみました。 twitter@TimeLineKeeper [http://twitter.com/TimeLineKeeper] 指定した時間にReply/DMしてくれます。 APIの制限がどれくらいでかかるとか、処理にどれくらいかかるか全く読めないので停止しちゃうかもしれません。 その時は多めに見てやってください。 (2009/1/20追記) フォロワーのつぶやきを自動的に拾えるようにしました。 (2009/1/20追記終わり) GoogleAppEngine/Javaで動かしています。 【きっかけ】 このBotを作ったきっかけはtwitter@msmg [http://twitter.com/msng]さんのこのポスト [http://twitter.com/msng/status/5552513277]【使い方】 1、TimeLineKeeper [http://twitter.com/TimeLineKeeper]をフォローします。 2、お知らせしてほしい時間を入れてTweet(つぶやき)。または、BotにReply/DMしてください。 3
2 min read
勉強会とか

関西アンカンファレンスに参加しました

12/19 (土) 関西アンカンファレンス [http://spreadsheets.google.com/viewform?formkey=dHV4dmtOUC1Kanp5bU94QlE4VkhRNnc6MA] に参加しました。 Twitter@kansaiun [http://twitter.com/kansaiun]ホント関西の熱さを体感しました。。。 セッション時間は10:00~15:00 (+ 交流会)だったのですが、あっという間に過ぎてしまいました。 今回、セッションが2部屋に分かれていましたが、『どちらも捨てがたい、両方見たいな』といった感じで見る側でも非常に面白かったです。 iseebiさん(Twitter@iseebi [http://twitter.com/iseebi/])がその場でセッション一覧を作成されていました。 backyard of 伊勢的新常識>>関西アンカンファレンスセッション一覧 [http://d.hatena.ne.jp/
1 min read
PostgreSQL

リモートデスクトップ接続でPostgreSQLをインストールできない

結論から書くと リモート側のコマンドプロンプトから『mstsc /console』でOK 後は、通常の接続方法と同じ。 上記コマンドでコンソールセッションへの接続となるようです。 このあたりは後で調べる。 > 実際の物理的なコンソールから利用しているセッションのことを特に「コンソール・セッション」といい、リモートから接続しているセッションのことを「リモート・セッション」という。 via) リモート・デスクトップでコンソール・セッションに接続する http://www.atmarkit.co.jp/fwin2k/win2ktips/519rdcons/rdcons.html その他参考ターミナルサービスセッションからはPostgreSQLをインストールできないというエラーメッセージが現れます。 http://pginstaller.projects.postgresql.org/faq/FAQ_windows_ja.html#3.5
windows

Windows(IIS)でWordPressを構築する

MicroSoftの環境構築ツールを使ってWindowsにWordPressを構築してみました。 この資料はWord Camp Kyotoに参加した際にもらったものです。 (ま、資料といってもURLだけですが。。。) □ Microsoft Web Platform Installer 2.0 http://www.microsoft.com/web/downloads/platform.aspxテストOS:Windows XP Professional アプリケーションサーバはIISです。 ※Home Editionでは基本的にIISがインストールできないため使えません。 上記サイトから『wpilauncher.exe』をダウンロード。 『wpilauncher.exe』をダブルクリックすると次のダイアログが出る場合も。 なんか欠落って言われるとびっくりしますが、要は『.NET2.0フレームワーク』がインストールされてないと。。。 .NET2.0インストール完了 で、あらためて『wpilauncher.exe』をダブルクリック WordPressを構築するだけなら次
3 min read
Wordpress

WordCamp Kyoto 2009 に参加しました

10/17(土) WordCamp Kyoto 2009 [http://kyoto.wordcamp.org/] コミュニティDayに参加しました。[参加ID:kamiyam] きっかけはTwitterのTL上で『開催されるよ。』っていうのを見かけたからなのです。 最近では情報の入手経路がRSSに並び、Twitterでのつぶやきからというのも少なくありませんね。 さて、全体のレポートは多分いろんな方がUpされていると思うので割愛します。いつものことですが・・・ 個人的に気になった点を記事後半に。。 メディアスポンサーの技術評論社の方が詳しくレポートされています。 WordCamp Kyoto 2009 最速レポート [http://gihyo.jp/news/report/01/wordcamp-kyoto-2009] 当日名刺交換させて頂きました。ありがとうございます。 ちなみに[改訂第3版] SQLポケットリファレンス [http://gihyo.jp/book/2009/978-4-7741-3835-0] は使っていて重宝しています。 他の人のレポートは『スポンサ
2 min read
IIS

インポートしたサーバ証明書の変換(IIS6.0→Tomcat4)

ここではTomcatでのサーバ証明書申請の方法ではなく、すでにIISで構築した証明書をTomcatに移行する際の手順です。 ○アプリケーションサーバ 移行前 IIS6.0(Windows2003Server) 移行後 Tomcat4.1.39 IISで利用できるサーバ証明書の形式(?)は『.pfx』ファイルでTomcatではPKCS12『.p12』ファイルです。 詳細は以下に続きますがopensslを使って『.pfx』→『.pem』→『.p12』と変換する必要があります。 ■IISから.pfxファイルをエクスポート IISマネージャから.pfxファイルをエクスポートする。 『.pfxファイルに現在の証明書をエクスポートする』 ※『.pfx』ファイルには秘密鍵も一緒にエクスポート 『.pfx』ファイル自体のパスワード(以下パスフレーズと呼ぶ)を設定 パスフレーズは忘れないように ■OpenSSLを利用して.pfxファイルから.p12ファイルへの変換を行う。 Openssl version Openssl 0.9.8k 25 Mar 2009 Opensslはソースコードでの公
1 min read
IIS

PHP on IIS設定(FastCGI)

(2011/08/30追記) リンクや設定方法を改めて記事にしました。 → PHP on IIS設定(FastCGI) 2011年版 [https://nantokaworks.com/?p=725] (2011/08/30追記終わり) WindowsXP(IIS5.1)での設定 ○FastCGIインストール http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&displaylang=en [http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&displaylang=en] インストーラー付きなので、実行するだけで特に設定は無く簡単 ○拡張子に対するマッピング 1,
c#

DataTableの内容をcsv出力する(型付きでも可)

よくGridvuewなどにバインドしたデータテーブルをCSV(TSV)ダウンロードしたいということがあります。 以下そのコードです。 ポリモーフィズムを使いたかったので、オリジナルで持っていたコードとは別物になってしまいましたが・・・^^; なお、コードの内容については責任は持てません。使用者が最終的な判断をしてください。 使い方としては 1. ページ内で適当なDatatableを生成 2. DownloadHandlerクラスのGetNewInstance関数でDataTableをセット 第2引数でTSVかどうかを選択 3. IsHeadrWrite プロパティ お好みでタイトル行出力要否をセット デフォルトは出力する 4. Encode プロパティ デフォルトでの設定 CSVはASCII TSVはUNICODE(UTF-16)BOM付き Excelでの使用を前提にしていますので、このあたりは適当に・・・ 5. DownLoad(Page page)関数 ダウンロード開始です。 ○ ダウンロード出力イベ
5 min read