Loading [MathJax]/extensions/tex2jax.js

2011-01-28

[GWT]NetbeansにてGWT DevModeが起動しない

NetbeansでGWTのDevModeが起動しない場合があるのでその対応策です。先日、Netbeans 6.9.1 +GWT 2.1.1に代えたら、GWTのDevModeが起動しないことが判明しました。エラーメッセージをみると、

  • 「 -style」オプションは使えません
みたいなことが書いてあります。対策としては、

  • <プロジェクトディレクトリ>\nbproject\build-gwt.xml

に書かれてあり該当箇所をコメントアウトするとOKです。なお、具体的にどの箇所かというのは、デバッグのメッセージを眺めて、エラーが発生したフェーズの所です。

この話は以前からあったようで、きしださんのBLOGにて

でも指摘されているバグのようです。私の環境(GWT2.0.3)では問題なかったので、2.1.1になってから復活したのかもしれませんね。


2011-01-24

[Linux]Sambaの最新パッケージはSamba3X

たまにはマシン管理ネタを、、、、

研究室のファイルサーバはSamba on CentOSでドメイン管理をしているわけですが、

  • Samba3.0系は、Windows7をクライアントとしてドメイン参加できない
という制約があります。うちのサーバはまさに3.0系。そんなわけで、3.3以上にバージョンアップしないといけない状況になってます。卒研シーズンが終わるまでは3.0系で行きますが、以後は3.3以上にアップして、クライアントもWindows7に移行する予定です。SambaのCentOSでのパッケージ名は、Samba3Xとかいう名前に変わってます。よって、yumとかで管理するときにはアップデートにはならないので、旧Sambaは削除してSamba3Xを再インストールということになるようです。


2011-01-21

[C#]正規表現を利用する

C#では、
以下のサンプルは、TwitPicAPIが出力する画像の情報(JSON形式)から、正規表現で画像のURLを取り出すプログラムの抜粋です。TwitPicから送られてくるURLには、スラッシュ(/)の前にバックスラッシュ(\)が入っているので、それを事前に除いてます。不要であればその処理はカットしてもいいでしょう。

  1. using System.Text.RegularExpressions;  
  2.   
  3. //以下、txtにtwitpicからの戻り値のデータが入っているという前提  
  4. Regex re;  
  5. // \/ → / に置換する処理  
  6. ptn = "\\\\";  
  7. re = new Regex(ptn);  
  8. txt = re.Replace(txt, "");  
  9.   
  10. // urlに該当する箇所を抽出する正規表現  
  11. ptn = "url\":\"(?<uri>.*?)\"";//(注意)ここの左括弧(<)は半角に戻してください  
  12. re = new Regex(ptn);  
  13. Match m = re.Match(txt);  
  14.   
  15. //マッチするものが1つに限定される場合(今回はこちらでOK)  
  16. string url = m.Groups["uri"].Value; // urlに結果が入ってます。  
  17.   
  18. //もし複数マッチする場合があったら、下記のようにします。  
  19. for (Match m = re.Match(txt); m.Success; m = m.NextMatch()) {  
  20.     string url = m.Groups["uri"].Value;  
  21. }  


[C++/MFC] ダイヤログでキーボードイベントを検知する

ちょっとハマったのでメモ書き。MFCのダイヤログウィンドウは、コントロールを一つでも載せるとフォーカスがコントロールに移ってしまい、キーイベントが検知できなくなるという仕様が発覚。まあ、通常はGUIコントロールに対するクリックイベントなどが一般的だからもしれないけど、GUIアプリだってキーコマンド操作する事があったっていいはずだ。今回は、卒研のプログラムでどうしてもキーボードイベントを検知させたい必要性があったわけで、さてどうしたものかと試行錯誤しつつ解を発見。解決策は以下の通り。PreTranslateMessageメソッドを書くことで、イベントメッセージをキャッチできる。
  1. BOOL CkeyTestView::PreTranslateMessage(MSG* pMsg){  
  2.  if(pMsg->message == WM_KEYDOWN)  
  3.   {  
  4.    switch(pMsg->wParam) {  
  5.    case VK_TAB:  
  6.     CString str="tabが押された";  
  7.     AfxMessageBox(str);  
  8.     return true;  
  9.    }  
  10.   }  
  11.  else{  
  12.   return false;  
  13.  }  
  14.     
  15. }  


2011-01-08

あけましておめでとうございます ~2011年の抱負など~

遅れましたが、あけましておめでとうございます。ちょっと今日は2011年度の抱負でも語ってみようかと。。。研究面で自分自身にハッパをかけるべく、このブログを書き始めて1年半が経とうとしていますが、ある意味思惑通りになっています。いや、実際、研究成果は出ていないわけですがBLOGを振り返るとその理由が見えてきます。やはりというかなんというか、技術(プログラミング)系のネタが多くて、もうちょっとアカデミックな内容を増やしたいなと。例えば、文献サーべ報告をここでするとか。。。研究のやり方も変えないといけないなと。。。理想と現実は違いますからなかなか思うどおりにはいないですけど、研究者人生も半分にさしかかってますから、ちょっと考えないといけないなと思う今日この頃です。なにはともあれよろしくお願いします。