2012/04/09

JavaOne Tokyo 2012に参加して~4月4日~

7年ぶりに日本でJavaOneが開催されました。

私が4月4日に参加したセッションについて、技術的な内容については他の方々のBlogを参考にしてください。 ここでは私の感想を主に書いて、他には備忘録を書きたいと思います。

【 参加したセッション】

  1. 9:00-11:00 [JK1-01] Strategy Keynote
  2. 11:15-12:15 [JS1-04] 櫻庭 祐一 「NIO.2を使って、簡単ファイル操作」
  3. 12:30-13:30 ランチセッション-GlassFish
  4. 13:15-14:15 [JS1-14] 斉藤 賢哉 「Java EE 6時代におけるエンタープライズシステムのあり方」
  5. 14:30-15:30 [JS1-21] John Clingan 「Pragmatic Cloud and PaaS with Java EE 7 (and GlassFish)」
  6. 15:45-16:45 [JS1-33] 寺田 佳央 「What's coming in Java Message Service 2.0」
  7. 17:00-18:00 [BoF1-02] 佐藤 直生 「Windows AzureでのスケーラブルなJavaアプリケーション構築」
  8. 18:15-19:15 [BoF1-04] 谷本 心 江里口 温 「トラブルシューターの頭の中身 ~7年間のJavaトラブルシュートサービスから」
  9. 19:30-20:30 スペシャルセッションLT

1. 9:00-11:00 [JK1-01] Strategy Keynote

 このセッションでは、主に下記の2点についての報告があった(と思う)

  • これまでの標準化の進捗状況や今後のスケジュールについて
  • Java 7に搭載される各Editionの機能紹介
     (Java SE 7/Java EE 7/Java FX 2.0/GlassFish など)
あとはJavaがここまで発展したのは、コミュニティの存在が大きかったらしい。
各講演の中でスピーカーは常々、使ってみて不便なところがあったらメーリングリストにメールを投げて欲しい、コミュニティで発言して欲しい、と仰っていたのが印象的。Javaを一緒に作っていきましょう!という強いメッセージを感じた。

 続いて、Education分野であるOracle資格についての講演があった。
この中で話題になったのは、以下の2点。
・Javaの資格がOracleDBと同様にBronze、Silver、Goldという3形態になること
・現在のJava資格の合格者は日本だと合格点ぎりぎりだが、インドではほぼ満点。
日本人、頑張らないと仕事がなくなりそうって感じた。

資格については興味があったので、資格のレベルをまとめる。
【Gold】単独で開発が可能なレベル
【Silver】上級者のサポートの元で、開発が可能なレベル
【Bronze】Javaに関する基本知識レベル
そいや今はJavaSEに対してはOJC-Pが、JavaEEにはOJC-WCが、対応している認識だけど、これからはどうなるんだろう??


2.11:15-12:15 [JS1-04] 櫻庭 祐一 「NIO.2を使って、簡単ファイル操作」
■NIO2でできるようになったこと
・ファイルのコピーが簡単になった
・ファイルのメタデータの操作が可能になった
・ディレクトリツリーに対する操作も簡単になった
・ファイルを使用する際に冗長だった記述が非常にシンプルになった

これまで私個人の見解としては「Javaはファイル操作が苦手だ、」というイメージを持っていたけど、NIO2の登場によって、そんなイメージも完全になくなりそうな予感。
Java FXと組み合わせることで、Javaでかなり使い勝手の良いファイル操作アプリが作れそうな予感もする!


3.12:30-13:30 ランチセッション - GlassFish
GlassFishとはOracleが提供しているアプリケーションサーバーの開発プロジェクトのこと。
他に有名なJavaのアプリケーションサーバーにはTomcatがある。
GlassFishのライセンスはオープンソースになっているものもある。

GlassFish3はJava EE 6に、GlassFish4はJava EE 7に対応。

セッション開始時には、GlassFishのTシャツを投げる。
また、終了時にはGlassFishのシールを配布する、というイベントがあった。


4.13:15-14:15 [JS1-14] 斉藤 賢哉 「Java EE 6時代におけるエンタープライズシステムのあり方」
■Java EE5からの特徴
・開発容易性を実現
→POJO:シンプルなクラス
→アノテーション:XML地獄からの開放・テスト容易性の確保

■Java EE 6の特徴
・JSF2.0(Java Server Faces)
 Webアプリケーション標準フレームワーク
 【特徴】
 1.HTMLにJSFタグを埋め込むだけ(モックアップが不要)
 2.JSF拡張フレームワーク
 3.JS + JAX-RSパターン(ネットワークの切れ目=担当者の切れ目)
・EJB(Enterprise Java Beans)
 トランザクション管理、インターフェースが省略可
 シングルトンSessionBean

■デザインパターン
・EE 5:プレゼンテーション層+ビジネスロジック層+DAO層
 ※各層を疎結合にすることが目的。
 ※ただし、各層をつなぐための”グレーコード”(DTO)が必要。
  詰め替えを行うための不要な処理が必要となり、コード量が増大
・EE 6:フルスタックなフレームワーク
 ※CDIによって各コンポーネントの結合が楽になる
 ※”グレーコード”(DTO)が不要

■CDIを使用することで、
保守性・生産性がアップするらしい。
アプリ実装範囲の軽減することができるらしい。
モデリングが容易になるらしい(オブジェクト指向、モデリングスキルが必要だけど)
設定ファイルが不要になるらしい


5.14:30-15:30 [JS1-21] John Clingan 「Pragmatic Cloud and PaaS with Java EE 7 (and GlassFish)」

このセッションに関しては途中までしか把握できなかった。
把握できた内容は以下の通り。

Java EE 7は「PaaS」でクラウドに対応するよう作られている。
そのために、WebサーバとしてGlassFishが提供されている。

・SaaS:Software as a Service → PaaSに加えてWebアプリまでを提供。Webメールなど
・PaaS:Platform as a Service → IaaSに加えてWebサーバまでを提供(Webアプリとデータは自分で用意)
・IaaS:Infrastructure as a Service → サーバそのものを提供(Webアプリサーバなどは自分でインストール)

SaaSは業務でも開発しているものなので把握していたが、他の二つについてはきちんと把握できなかったから、復習になった。


6.15:45-16:45 [JS1-33] 寺田 佳央 「What's coming in Java Message Service 2.0」
大きな変更点
・アプリケーションサーバを利用
 →JDBCと同じように、コネクションプーリングの利用が可能
・EJBコンテナを利用して
 →コネクション接続の記述不要(コード削減)
・例外の実装方法が変更
 →7のtry-with-resourceに対応(コネクションのクローズ処理を書かなくてOK)
・ある例外を非チェック例外にした
 →try-catch不要(rollbackの記載が不要)
・Messageスケジューリングもできる(非同期通信として処理可能)

今まで使ったことはないが、かなり使いやすそう、というイメージを持った。
GAEだとTaskQueueがあるけど、そんな感じで使えるんだと思う。
AjaxでTaskQueueを動かしておいて、完了時にMessageを返して、って感じで使うといいのかなぁ~って思った。


7.17:00-18:00 [BoF1-02] 佐藤 直生 「Windows AzureでのスケーラブルなJavaアプリケーション構築」

サーバは世界に6台(日本にはない)。アプリデプロイ時にメインサーバを選択できる。
(ただし、すべてのサーバに自動バックアップされる)

■Azureで使えるもの
・テーブル:Key-Valueストア
・キュー
・BLOB:ファイル形式
・Drive:マウントしてローカルドライブのように使える

・データについては、SQL Azure DB(SQL Server)を利用
→論理サーバを提供
・Trafic Manager
→データセンター毎にクラッシュした場合、他方のセンターへ割り振り
・staticなデータはキャッシュしておく
(キャッシュサーバは日本にもある)

GAEとは異なり、デプロイ時にメインサーバを選べたり、サーバの設定ができるらしい。
GAEと同様にJavaアプリが動くので、状況によって使い分けることが大切になりそう。
あとは互いの特徴を調べて比較しないと何とも言えんな。


8.18:15-19:15 [BoF1-04] 谷本 心 江里口 温 「トラブルシューターの頭の中身 ~7年間のJavaトラブルシュートサービスから」
事例の紹介と、それに対し「どのように原因を究明するのか」の実演が行われた。
キーワードはこちら。
java -XX:+HeapDumpOnOutOfMemoryError
jvisualvm
jstack
Jメーターで負荷テスト

私自身、作成したロジックのパフォーマンスを実際に検証することはなかった。
特にWebアプリを作っていると、ApachやTomcatの設定、SQLパフォーマンスに目が行き、Javaそのもののパフォーマンスを考えることが少ないように思う。
だけど、今回この話を聞いてパフォーマンス検証の重要性を感じた。
ヒープダンプを取ったりスレッドの状態をチェックしたりやってみよう。
Eclipseのプラグインでも見れるのかな?


9.19:30-20:30 スペシャルセッションLT

ここでは何人だったかな?5分で思いのたけを話すLTでした。
LTだけあってかなりユニークなプレゼンもありました。
一番びっくりしたのは「;」なしで色々実装した、というプレゼン。
そんな発想が私にはなかったので。。。ただただ「すげー」だった。。。

スペシャルセッションではご飯も出ました。
おにぎり2個とから揚げとたくあんと出し巻き卵と・・・
そんなくらいだったかな?
おにぎりの1個はJavaマスコットのDukeになってましたww



初日はこんな感じでした。
かなり刺激的な一日で途中からパンクしていました。。。

あとは、業務の中で、JavaでWebアプリ開発をしているけど、Javaについて知っていることは、ほんの一部でしかないことを実感しました。
全部を全部、自分だけで勉強することは難しいから、業務で知りえた範囲から一歩外側も勉強して知識を少しずつでもいいから増やしていきたい、と感じました。

2日目の5日の分については、また後日アップしたいと思います。

2011/12/14

GAEのことでやってみたい事のメモ

GAEを使ってやってみたい事を忘れないようにメモメモ。
  1. 簡単なアプリを作って公開する
  2. RDB→Bigtable(Key-Value)のDB設計方法の変換
  3. Slim3プロジェクトのディレクトリ構成の変更方法をまとめる
  4. ログのフォーマット変換とローカル環境でのログファイル保存方法

1は自分の勉強のため。
まずログイン処理をする。 そのあと、簡単な掲示板を作ってみる。 これで、一連の処理の流れを押さえられる、と思うから。

2は、RDBとは異なり敢えて非正規化をすることが必要とあるけど、 実際にはどのように設計すればいいのか、という具体例を見つけることができなかった。 (私の検索能力の問題だな・・・) だから、RDBでの簡単なテーブル2,3個をBigtable用にデザイン変更にしてみようかと。

3は、Slim3のデフォルトのディレクトリ構成が個人的に好きでないからww

4は、仕事上、ログのフォーマットを記録する必要があったから調べたので。 それを忘れないようにまとめておこうかと思います。

AndroidやGAEの事を考えると、 Googleさんは”JavaVM”という仮想OSを新しいOSとして利用することで、 マルチプラットホームを実現して、より簡単にアプリとかのサービスを 展開していこうとしているんだろうな~
となると、今のOSの未来も変わってくるのかな??

さて、今日はメモだけで寝ようかな~

2011/12/11

【GAE】Eclipseローカルで起動時に出るエラーメッセージ

会社のようなプロキシ経由で外部ネットワークに接続する場合、 Google App Engine(以降、GAE)をローカルで実行する際に 以下のようなエラーメッセージが表示されることがある。 (バージョン情報は伏せ時にしてます。)
Unable to access https://appengine.google.com/api/updatecheck?runtime=java&release=x.x.x×tamp=xxxxx1&api_versions=['x.x']
どうやら実行時にアプリのGAE SDKのバージョンと 公開されている最新のGAE SDKのバージョンの比較をするらしい。 その時、プロキシのせいで問い合わせができずにエラーが出ているみたい。 そこで、下図の画面で実行時のプロキシ設定を追加。

【画面表示】
プロジェクトを右クリック > Run As > Run Configrations > Argmentsタブをクリック

【追加内容】
proxy hostやproxy postは適宜変更で。

-Dhttp.proxyHost=<proxy host>
-Dhttp.proxyPort=<proxy port>

-Dhttps.proxyHost=<proxy host>
-Dhttps.proxyPort=<proxy post>

【実行環境】

Eclipse EE3.7
Java SDK1.0.27

【参考サイト】
Eclipse(Galileo)のGAEでプロキシ

2011/06/23

FlexPMDのEclipseプラグイン

仕事でFlash作成を行った。

開発環境:Flash Builder(Eclipseプラグイン)
開発言語:ActionScript3
コンパイラ:Flex4

結合テストの際に、ActionScriptのステップ数のカウントを行うためのプラグインを
探していたら、FlexPMDを発見した。
そのインストール手順の備忘録。
Eclipseのバージョンとかは以下のサイトを参考に。

参考URL:http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD+Eclipse+plugin

◆インストール
1.Eclipseのメニュー Help > Install new software
2.Addボタンをクリックして、新規リポジトリの登録を行う。
 名前:FlexPMD
 場所:http://opensource.adobe.com/svn/opensource/flexpmd/plugin/trunk/flex-pmd-eclipse-plugin-site
3.FlexPMDをインストール
4.Eclipse再起動


◆設定
設定のためには、いくつかダウンロードが必要。
1.FlexPMDのコマンドライン.jarをダウンロード
 zipファイル
2.ダウンロードしたファイルを適当なディレクトリに展開。
 ただし、ディレクトリ名に半角スペースがあると、うまく動かない様子。
 (http://www.kei3.jp/diary.php?id=7561より)
 ちなみに、私はFlexSDKを以下のディレクトリに入れていたので、同じディレクトリに展開。
 <C:\tools\Flex\flex-pmd-all-in-one-bundle-1.1>
3.EclipseのFlexPMDアドインにコマンドライン.jarを登録する
 Eclipseメニュー > Window > Preferences > FlexPMD と設定画面を表示。
 ・FlexPMD command line installation:(2)のディレクトリ\flex-pmd-command-line.jar
 ・FlexPMD custom ruleset:今はブランクで
 ・FlexCPD command line installation:(2)のディレクトリ\flex-pmd-cpd-command-line.jar
 ※ファイル名にはダウンロードしたバージョンが入っている場合有
4.Apply > OK

以上で設定終了。


◆動作確認
検証したいファイル/ディレクトリを右クリック > FlexPMD > Run FlexPMD

これで検証結果が表示されれば、インストール&設定が完了!!
ただし、ワークスペース名に半角スペースがあると、うまく動かない様子。
 (http://www.kei3.jp/diary.php?id=7561より)


◆監査ルールの取得
1.監査ルールの設定ファイル(xml)のダウンロード
 URL:http://opensource.adobe.com/svn/opensource/flexpmd/bin/flex-pmd-ruleset-creator.html

2.上記サイトにアクセスし、画面下部の「Export」ボタンをクリック。
もし、ルールを変更したい場合は、画面内を操作してカスタマイズ可能。

3.ダウンロードしたファイルの格納場所は適当な場所へ。
 私の場合、以下のディレクトリに格納。
 ルールファイルはxmlなので、テキストエディタで編集可能。
  ・C:\tools\Flex\FlexPMD_Ruleset

4.ダウンロードしたルールファイルの設定
 Eclipseメニュー > Window > Preferences > FlexPMD と設定画面を表示。
 ・FlexPMD custom ruleset:(3)でダウンロードしたファイル


以上で、一通り動くはず!

2011/05/09

Flash(AS3)で外部XMLファイルを参照する方法



Flash(ActionScript3)でXMLファイルを読み込む手順について
解説されているサイトは沢山あったけど、今回自分がやりたかったのは、
<Flexプロジェクト>でのやり方。

これについては、なかなか紹介されているサイトがなく、
悩んだので、実現できた方法を忘れないようにまとめます。

ちなみに作成環境は以下の通り。
・Windows Vista
・Flash Develop(フリーのFlash開発環境統合ソフト)

【手順】
1)Flash Developにて<Flex3プロジェクト>を新規作成
 パッケージ:test
 テンプレートのコピーをする

2)src/test/Main.mxml の編集
~~~~~ Main.mxml ここから ~~~~~
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
  <mx:Script>
    <![CDATA[
      import test.asFile.ShowMessage;
    ]]>
  </mx:Script>
  
  <!-- レイアウト -->
  <mx:Text id="messe" text="以下に表示するファイル名を入力"/>
  <mx:TextInput id="textBox" text="test.xml" />
  <mx:Button id="button" label="Click!!"
    click="new ShowMessage(textBox, textArea)" />
  <mx:TextArea id="textArea"
    width="500" height="200"
    text="ここに指定したXMLファイルの内容が表示されます。" />
</mx:Application>
~~~~~ Main.mxml ここまで ~~~~~

3)asファイルの作成
~~~~~ ShowMessage.as ここから ~~~~~
package test.asFile {
  import flash.events.Event;
  import flash.net.URLLoader;
  import flash.net.URLRequest;
  import mx.controls.TextArea;
  import mx.controls.TextInput;

  /** XMLファイルの内容を表示するためのクラス */
  public class ShowMessage {
    /** XMLファイルを設置するディレクトリ */
    private const XML_HOME_DIR:String = "test/xml/";

    /** コンストラクタ */
    public function ShowMessage(
      textInput:TextInput, textArea:TextArea) {
      var fileName:String = textInput.text;
      ReadXMLFile(fileName, textArea);
    }
    
    /** ファイル内容の取得 */
    private function ReadXMLFile(
      fileName:String, textArea:TextArea):void {
      
      var xml:XML = new XML();
      var urlRequest:URLRequest =
        new URLRequest(XML_HOME_DIR + fileName);
      var urlLoader:URLLoader = new URLLoader(urlRequest);
      
      urlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
      
      function xmlLoaded(event:Event):void {
        xml = XML(urlLoader.data);
        trace(xml.toString());
        textArea.text = xml.toString();
      }
    }
  }
}
~~~~~ ShowMessage.as ここまで ~~~~~

4)xmlファイル作成
~~~~~ test.xml ここから ~~~~~
<?xml version="1.0" encoding="utf-8" ?>
<data>
 <member>
  <name>first</name>
 </member>
 <member>
  <name>second</name>
 </member>
</data>
~~~~~ test.xml ここまで ~~~~~

5)最終的なディレクトリ構成

XMLファイルを設置する場所がポイント!
swfファイルが設置されているディレクトリが
ホーム扱いになるので、
そこから相対パスで参照できるようにする
必要がある点に注意。

これに関しては、EclipseにFlash Developerのプラグインを入れてコンパイルすると
自動でディレクトリが作成されるからsrcディレクトリに入れると行ける。

2011/04/19

便利なEclipseのプラグイン~JStyle~

Eclipseを使ってJavaの開発を行ってます。

その時にいつも困っているのが、インデント。
半角4つだったり、タブだったり・・・
その区別もソースを見ただけだと判断できません。。。

そこで、Eclipseの設定を変更していました。
Window→Preferences→General→Editors→Text Editors
ここの「Show whitespace characters」にチェックを入れます。
そうすると、タブと改行の部分が明示的に表示されるようになります。

しかし、個人的にはタブは表示してほしいけど、改行は不要でした。
んで、見つけたのがJStyleというプラグイン!!
こいつがかなりナイスな働きをしてくれます!

JStyleでは以下の項目の表示/非表示が選択できます。
・改行
・タブ
・全角スペース
・半角スペース

私は、これの「タブ」と「全角スペース」にチェックを入れました。
「全角スペース」にもチェックを入れたのは、
以前ソースコード中に全角スペースを入れてしまいコンパイルエラーになったことがあるから・・・

参考サイトは検索してみてください。
ダウンロード、インストールなど色々な情報がありますので。

以上です。

2011/02/04

UbuntuサーバのMySqlにNaviCatでリモートアクセス~その2~

UbuntuのMySqlにVistaのNaviCatからリモート接続にリトライした。

まず、先日行ったことと同じことをやった。

UbuntuサーバのMySqlにNaviCatでリモートアクセス


1.以下のファイルの53行目をコメントアウト。
/etc/mysql/my.cnf
 53行目 →  # bind-address = 127.0.0.1

2.MySqlを再起動
sudo /etc/init.d/mysql restart


次にNaviCatの設定を。
3.新しい接続で、MySqlを選択

4.基本設定は以下の通り
  接続名:自分が分かりやすいもの
  ホスト名/IPアドレス:Ubuntu ServerのIPアドレス(プライベートアドレス)
  ポート:3306(初期設定)
  ユーザー名:root
  パスワード:MySqlインストール時に設定した値

5.SSH設定は以下の通り
  SSHトンネルを使用する:チェックを入れる
  ホスト名/IPアドレス:4で設定したIPアドレス
  ポート:22(初期設定)
  ユーザー名:Ubuntu Serverログインのユーザー名
  認証方法:「パスワード」
  パスワード:Ubuntu Serverログインのパスワード

6.「接続をテストする」を押下

これをやったが接続できなかった・・・

で、MySqlのユーザー設定を確認したら、以下の感じだった。
コマンド:select host, user from mysql.user
+------------+------------------+
| host | user |
+------------+------------------+
| 127.0.0.1 | root |
| localhost | debian-sys-maint |
| localhost | root |
| ubuntu-ser | root |
+------------+------------------+

これを見ると、4で設定したユーザーのrootが
localhostからじゃないと接続できないって感じ。

そこで、MySqlに新しいユーザーを登録。
7.GRANT ALL PRIVILEGES ON *.* TO ユーザー名 IDENTIFIED
  BY 'パスワード' WITH GRANT OPTION;

これで、4の設定したユーザーとパスワードを
7で作成したユーザの設定に変更。
そんで、接続テスト。

やっと接続できた!!!!!!!!
これで、GUIでテーブル内容を確認できそうです♪

2011/01/25

UbuntuサーバのMySqlにNaviCatでリモートアクセス

UbuntuサーバのMySqlにWindowsからNaviCatでアクセスしようとした時の覚書。

SSHトンネルして接続しようとしたけど、以下のようなエラーが。
「2013 - List connection to MySQL server at 'reading initial communication packet', system error: 0」

調べてみたら、MySQLは初期設定でローカルからのアクセスしか許可していない様子。
参照URL:http://mipin.blog6.fc2.com/blog-entry-102.html

参考にしたサイトの通り、以下のファイルの53行目をコメントアウト。
/etc/mysql/my.cnf
 53行目 →  # bind-address = 127.0.0.1

これで、接続確認。

結果。再起動はOKだった。
しかし、NaviCatからもコマンドからもMySQLにログインできなかった。
「1130 - Host '***.***.***.***' is not allowed to connect to this MySQL server」

ん~こりゃ別の方法を探さなきゃかな。。。
参考にしたサイトではVMwareを使ってるから、うまくできなかったのかもな・・・
残念・・・

2010/12/12

【DB】テーブルの移行

現在の仕事でテーブルの移行作業がある。
そのための手順について勉強したから、参考用にまとめておく。

【要求】
・サービスの改定に伴い、テーブル定義の変更が発生
・これまでのテーブルに登録された内容はそのまま移行
・ALTER TABLEの使用禁止
・追加するカラムには、定数が入る

【テスト環境】
・OS:Windows Vista
・RDBMS:SQLite3

【手順】
1.現在のテーブルのバックアップテーブルを作成する
 create table BackUpTable as select * from OriginalTable;

2.現在のテーブルを削除する
 drop table OriginalTable;

3.新しいテーブルを作成する
 create table NewTable(カラム名 属性, 追加カラム名 属性, ...);

4.バックアップテーブルから新しいテーブルにレコードをコピー
 insert into NewTable
  as select カラム名, 追加カラム名の値, ...
  from BackUpTable;


以上で移行ができるはず。
だけど、DBMSによって、SQL文に修正が必要かもしれない。
あと、SQLiteは型の制約がないから簡単にできたけど、他がどうかは分からない。
まず、実環境と同じ環境でテストし、動作確認が必要だな。

参考URL:
・テーブルデータの移行 - Database Expert - @IT
 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=40910&forum=26

2010/12/11

思ふこと

俺にとって
 仕事って?
 同僚って?
 同期って?

評価を
 どうされたい?
 だれにされたい?


今週ずっと残業してた。
毎日勤務開始1時間前に出勤して、23時くらいまで仕事してた。

先輩とチームで仕事をしてるから、俺の作業の遅れで迷惑をかけたくないって
気持ちでいた。

今日は先輩に飲みに誘われた。
同期も参加するって感じになった。
誘ってもらって、俺も行きたいって言った。

けど、行けなかった。
行けないって連絡もしなかった。。。

連絡する機会は何度もあった。
先輩が先に行く時、何度も気にして言ってくれた。
けど、俺は気づかなかった。
どこかで、”伝えてくれる”って甘えてたのかも。

約束の時間10分前に、同期が連絡くれてた。
サイレントにしてて全然気付かなかった。
けど、約束をしていたんだから携帯に注意を向けておくべきだった。

と、今更考えても「自分が悪い」って結論しか出てこない。


「俺=仕事を理由にして約束を破るやつ」


そんな風に評価されたいのか?
そんなん嫌と思ってるくせに、なぜ行動できなかった??

お前はこうやって自分から嫌われにいってる。
嫌われたくない癖に。

どうしないといけないか考えろ。
考えろ、考えろ、考えろ。。。

2010/07/30

LUMIX:メモモードのデータをSDカードへ

デジカメのメモモードで数枚の写真を撮りました。
その写真をPCに取り込もうと思ったら・・・

(* ̄□ ̄*;

見れない(TдT)

取扱説明書を見ても分からない( ;∀;)


ということで、Google大先生に質問してみたら、
価格.comでイイ掲示板を発見!!


<サイト>
http://bbs.kakaku.com/bbs/00501911286/SortID=8394588/


<デジカメ>
Panasonic LUMIX DMC-FX60


<手順>
メモモード(内蔵メモリ)の写真をSDカードにコピー

1.モードをメモモードへ
2.再生モードへ
3.メニューの「画像コピー」を選択
4.コピーする画像を選択し、決定
5.必要枚数だけ4を繰り返し


これで、PCに取り込めるようになりました∠( ゚д゚)/

以上です。ではでは♪

2010/02/17

拡張子 ip のファイル

現在,ObjectDockとRKLauncherの二つのDockを使用している.

今日,Win Customizeというサイトで,
IconPackagerというカテゴリのアイコン集をダウンロードした.

「ip」という拡張子は初めてだった.
軽くグーグル先生に質問してみると,

「zip」の「z」が落ちただけ

という一文を発見.
それなら,ということで,インストールしている解凍ソフトに投入!

あっさり解凍でき,アイコンが使用可能になった♪
これで,また色々なアイコンで遊べそうだ(∩´∀`)∩ワーイ

2010/02/15

Windows Vista のタスクバーを Mac OS X 風に変更する

共同研究をやっている方が,医療機関の方で,
Macユーザーなため,自分で使用している.

Mac環境に少しでも慣れるため,自宅のWindows機のタスクバーを
画面上部に表示している.

XP だとあまり気にならないのだけど,Vistaだとスタートボタンの大きさが気になる...
あと,タスクバーそのものの幅も太い.

そこで,タスクバーをMac Leopard風に.
その際に参考にしたのが,次の2つのページ.

1)StyleSelector 万歳.ようやく|Blog.Ikubon.com
http://blog.ikubon.com/?eid=840219

2)StyleSelectorでWindows Vistaのビジュアルスタイルを変更する|Health is better than wealth
http://miracleblues.blog46.fc2.com/blog-entry-256.html


使用したソフトは,「StyleSelector」というフリーソフト.

ま,うまく行ったと思う.

2010/01/29

Excel 2007 & 2010 beta のグラフ

Excel2007からグラフにてパターンを選択できなくなった.
そこで,以下のサイトでパターンのアドイン(Patternui)の使用方法が公開されている.

Excel2007(エクセル2007)Q&A(Tips):塗りつぶしでパターン(斜線やドット)を使いたい
http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/FAQ/graph_pattern.html

自分での2007での動作は確認している.
そこで,ためしに2010betaにアドインを追加してみることに.

同じやり方で追加してみた.そしたら,ちゃんと動いた.
以下やり方.

~ Windows XP + Excel2010beta ~
(Windows Vistaでは挿入するフォルダが少し異なる)

  1. フォルダオプションで,隠しフォルダ及びファイルを表示するようにする

  2. 上記のサイトを参考にアドインをダウンロード

  3. ダウンロードしたファイルを解凍

  4. C:\Document and Settings\[ユーザ名]\Application Data\Microsoft\AddIns に解凍して出てきたファイルを移動

  5. Excel2010betaを起動

  6. ファイルタブをクリックし,オプションを選択

  7. 出てきた画面の左側にあるアドインを選択

  8. 下のほうにある管理が「Excelアドイン」となっていることを確認し,隣の設定ボタンをクリック

  9. 「Patternui」という欄にチェック.欄がないときは参照して,先ほどのファイルを選択



これで完了.
あとは,グラフを挿入して,グラフツールの書式タブを選択すると,
「Patterns」という項目が追加される.

2010/01/22

VAIO VGC-RC71PS RAID 0 のボリュームエラー

研究室で私の特等席となっているデスクトップPCがある。
それが、「VAIO VGC-RC71PS」。

こいつが「RAID 0のボリュームエラー」を訴えだした。
ドライバはCとDの2ドライブ。
でも、RAID 0だから、どっちがいかれているのかわからない状態。。。

とりあえず、ボスに報告し、バックアップ用の外付けHDDを買ってもらった。
Dドライブが約1TBあるから大変だった~

その後は、次のサイトを参考に対処。
http://search.vaio.sony.co.jp/qasearch/solution/S0505260019932/

1.Intel Matrix Storage Consoleを起動
2.赤く×の出ているHD上で右クリック
3.「標準としてマーク」をクリック
4.Windowsの再起動

今回はこれでエラーは出なくなった。
これでもダメだとリカバリが必要だそうな。

なんか、ソ○ーにいっぱい食わされた気分。。。

2010/01/18

WILLCOM Advanced/W-ZERO3[es]

WILLCOM Advanced/W-ZERO3[es] であるソフトをアンインストールした。
その後、スタートメニューの一覧から、そのソフトのショートカットを
削除しようとしたら・・・

「そのアプリケーションを移動できません。」

と、いうエラーが出た。
そこで検索かけたら、

attractionさんの「すけっちぶっくの備忘録」

というページがHIT!!

助かりました。ありがとうございました♪


URL:すけっちぶっくの備忘録
http://d.hatena.ne.jp/attraction/20080409/p1

2010/01/05

CANADA LOTTERY CORPORATION

本日、2010年1月5日早朝、こんなメールがGmailに来ていた。

---------- 引用開始 ----------
from C.L.C
to info3@canada.com
date Tue, Jan 5, 2010 at 6:22 AM
subject CANADA CORPERATION
---------- 引用終了 ----------

ちなみに、本文はなく、画像が添付されていた。
それが、下の画像。




思わず、「え!?80万ドルゲット!!!!!?」なんて喜んだ私。。。

日本人にも来ているみたい。
でも、まだ日本語の情報が少なく、というか全くと言っていいほどなく、
Googleで英語で調べてみた。

そしたら、結構多くの人が似たような内容のメールを受け取っているみたい。
で、やっぱり、scams(詐欺)だったみたい。
ということで、しばらく放置します♪

ちなみに、メールのドメインを調べてみたら、ちゃんとカナダのDNSサービスを使ってるみたい。
でも、きちんとLottoの販売をしているWestern Canada Lottery Corporationとは違うドメインを使ってた。
おまけに、企業のはずなのに、ドメインの連絡先が登録されてないみたい。

こんなところらからも、詐欺って思えた。


---------- 参考URL ----------
日本語Yahoo!知恵袋
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1319925788

アメリカYahoo!Answers
http://answers.yahoo.com/question/index?qid=20091130200432AAdrW2i

Western Canada Lottery Corporation
http://www.wclc.com/

2009/12/17

Javaで全角半角変換に向けて

研究の関係で、全角半角の変換を行う必要が出てきた。
数が多いので、Javaを使ってプログラムを書くことにした。

Javaは使用する文字コードがUnicodeで一貫している様子。
そこで、Unicodeの全角半角の文字コードに比較を行った。

英数字に関しては、16進数で
全角 = 半角 + ( FF00 - 0020)
半角 = 全角 - ( FF00 - 0020)

で、いけそう。

TeXでの条件分岐のやり方

ファイルを分割して作業をする必要上、
相対パスの設定に変更が必要となった。
そこで、条件分岐を使うことによって実現しようと思った。
その備忘録。

プリアンブル部分
% if文の定義
\newif\ifNAME
% 状態の定義
\NAMEtrue % TRUEの設定
\NAMEfalse % FALSEの設定

ボディ部分
\ifNAME
% TRUEの動作
\else
% FALSEの動作
\fi


参考URL
http://p-www.iwate-pu.ac.jp/~takasima/a-news/column/linux/1177730387.html

2009/12/16

トロイの木馬が・・・キター!!

11日あたり、自宅のPCにUSBメモリを挿入したら、McAfeeが

「トロイの木馬が検出され、削除しました」

といきなりメッセージが!!

ログを見たら、こんな感じ。

検出名:Generic PWS.ak
ファイル名:H:\emmsc2tf.exe
プロセス:C:\Windows\Explorer.EXE
プロセスの説明:エクスプローラ

あと、autorun.infを見たら、こんな感じ。
[AutoRun]
open=emmsc2tf.exe
shell\open\Command=emmsec2tf.exe

つまり、ファイルを残しておいて、USBを差し込んだら起動するようになっているみたい。
自分のPCはウィルスチェックかけて大丈夫だったみたい。

他のところに感染してないか、チェックしてもらうように、
お願いだしたけど、大丈夫かな??