Home

Netforest Developer's Note

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • Comments (Close): -
  • TrackBack (Close): -

文字化けと文字コード

新人のDXです。。。

文字化けと文字コードについて、学んだことをパワーポイントにて作成したのでここに置かせていただきます。

お暇なときにでもご覧になってください。



大きい表示はこちら
(別のタブもしくは別のウィンドウで開きます。)


それでは。。。

WordPressをPostgreSQLで動かす(PG4WP)

バーボンです。 WordPressはデフォルトでDBにMySQLを使用してブログを作成することが想定されているようですが、 PostgreSQLを指定してWordPressが動かせるプラグイン(PG4WP)があったので使ってみました。

1.プラグインのインストール

こちらからプラグインをダウンロードします。
解凍後にできる"pg4wp"というフォルダを、「WordPressを配置したディレクトリ/wp-content/plugins」配下に設置します。
基本はこれで終わりです。

2.PostgreSQLのインストール、DB作成

PostgreSQLが入っていなければインストールします。WordPress用にDBもつくっておきます。

3.WordPressインストール

WordPressを配置したディレクトリ内にある"wp-config.php"を編集して、データベースへの接続情報を変更します。
認証用キーはこちらで作成したものを入力すると手っ取り早いです。

define('DB_NAME', 'wordpress');
define('DB_USER', 'bourbon');
define('DB_PASSWORD', 'password');

define('AUTH_KEY', 'auth');
define('SECURE_AUTH_KEY', 'secure');
define('LOGGED_IN_KEY', 'logged');
define('NONCE_KEY', 'nonce');

編集し終わったら、"~/wp-admin/install.php"にアクセスします。 DBに接続できれば、メールアドレス・パスワードを入れて、インストール完了です。

データベースに接続できなかったメモ

実はこれだけで接続できませんでした。
pg4wpはpg_connect()メソッドでPostgreSQLに接続しています。Unixのソケットを使ってpg_connect()で接続する場合はhostの指定を省略するか、ソケットパス(絶対パス)を指定するとできるということで、pw4wpフォルダの中の、"driver_pgsql.php"を編集

    $conn = pg_connect(”host=$pg_server user=$pg_user password=$pg_password dbname=$dbname”);
→ $conn = pg_connect(”user=$pg_user password=$pg_password dbname=$dbname”);

に変え、再チャレンジするとうまくいきました。

Google App Engine -メール送信機能-

新人のDXです。。。

先日、Google App Engine(以下GAE)にてメール機能を持ったwebアプリケーションを作成いたしました。GAEアプリケーションの開発にはJava、Pythonの2つが利用できます。今回はJavaを用いました。

開発までの準備

GAEアプリケーション開発のための環境の準備ですが、下記サイトのスタートガイドを参考に設定してください。
・Google App Engine トップページ
http://code.google.com/intl/ja/appengine/
Google App Engine - Google Code_1275112979965

アプリケーションについて

今回作成したアプリケーションでは、入力した宛先に件名と本文送信するシンプルなものとなっています。
また、危険なメールを送られないように合言葉を設定しています。
mail sender..._1275112900990
見た目に関してはjsp、メールを送る部分に関してはjavaのservletを用いて記述しています。

jspの<form>の中身は以下のようになっています。

	<form method="post" action="/mailsender">
	 <table>
	  <tr><td>宛先: <input type="text" name="address"></td></tr>
	  <tr><td>件名: <input type="text" name="title"></td></tr>
	  <tr><td>本文:<br><textarea name="message" cols="50" rows="10"></textarea></td></tr>

		<tr><td>
		<center>
		<br><br>
		
	  <table border="1" bgcolor="#f0fff0" bordercolor="#008844">
	   <tr>
	   <td><font color="#005522">合言葉: </font><input type="password" name="pass"></td>
	   <td>
	   <input type="submit" name="send" value="送信" style="color: white; background-color: #007f91; border:double #ccffcc;">
	   </td>
	   </tr>
	  </table>
		
		</center>
		</td></tr>

	 </table>
	</form>

ここで入力された値をPOSTで送り、以下のservletのdoPostメソッドで受け取って処理します。 doPostメソッドは以下の通りです。

	public void doPost (HttpServletRequest req, HttpServletResponse resp)
	throws IOException
	{
      //送られてきた値の取得
		String address = req.getParameter("address");
		String title = req.getParameter("title");
		String message = req.getParameter("message");
		String pass = req.getParameter("pass");
		
      //宛先が入力されているか確認
		if ( address == null || address.length() == 0 ) {
			resp.getWriter().println("宛先を入力してください。");
		}
		else  {
      //合言葉があっているか確認
			if ( !pass.equals("sesame") ) {
				resp.getWriter().println("合言葉が間違っています。");
			}
			else {
	    try{

      //メールの設定(宛先・件名・本文)
      //メール送信

	    }catch(MessagingException e){
	     e.printStackTrace();
	     return;
	    }
      //送信完了メッセージの表示
			}
		}
	}

これで件名と本文だけのメールを送ることができます。


付録:Logger

アプリケーション作成中にエラーが出現し、プログラムがどこで滞っているか調べる際にLoggerクラスを利用しました。

       //作っているservletのクラスのLoggerオブジェクトを取得
	private static final Logger log = Logger.getLogger(MailsenderServlet.class.getName());

	public void doPost (HttpServletRequest req, HttpServletResponse resp)
	throws IOException, ServletException
	{
        //メール送信プログラム
        //ログを表示させたい場所で表示させたいレベルでログを指定
    
        //一般的な情報
         log.info("一般的な情報を表示します。");
        //警告
         log.warning("警告を表示します。");
        //致命的エラー
         log.severe("致命的なエラーを表示します。");
        }

・Loggerクラス
http://java.sun.com/javase/ja/6/docs/ja/api/java/util/logging/Logger.html

Loggerクラスのメッセージは、GAEのMy Applicationsのページから見たいApplicationのページへ行き、Logsを選択します。
Logs - Mailsender_1275149196343
ここでログを確認することができます。

開発途中でつまずいたときに便利ですね。

それでは。。。

Androidアプリケーション-野良アプリ化と実機でのデモ-

新人のDXです。。。

研修で作成した、美人時計のように1分ごと社員の写真が切り替わるAndroidアプリケーションを野良アプリ化し、実機でデモを行いました。


野良アプリ化の手順


まず、野良アプリ化の手順を説明します。

1.apkファイルの作成
  • eclipseで、apkファイルにしたいプログラムを右クリック
  • 「Android Tools」から「Export Unsigned Application Package...」を選択
  • e0
  • apkファイルを適当な場所に保存(今回はデスクトップにファイルを保存しました。)

2.署名のための鍵を作成
  • .androidフォルダにある、keystoreファイル(ここではdebug.keystore)をデスクトップに移動
  • 利用しているjdkの中のforudaフォルダでShiftキーを押しながら右クリック
  • 「コマンドウィンドウをここで開く」選択
  • e1.png
  • コマンドプロンプトが開くのでコマンドを入力
  • >keytool -genkey -v -keystore ../../../../Users/user/Desktop/debug.keystore -alias debug -keyalg RSA -validity 10000
    が付いている部分は適当なものに変更してください。)


    keytoolコマンドについて詳しいことは下記を参考にしてください。
    http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/solaris/keytool.html

  • enterキーを押すとキーストアのパスワードを尋ねられるので、パスワードを入力(デフォルトでは"android")
  • いくつかの項目を入力し、最後yesと入力すると署名のためのキーが格納される
  • e3.png

3.apkファイルに署名
  • 先ほど開いたコマンドプロンプトに下記のコマンドを入力
  • >jarsigner -verbose -keystore ../../../../Users/user/Desktop/debug.keystore ../../../../Users/user/Desktop/AllInOne.apk debug
    が付いている部分は適当なものに変更してください。)


    jarsignerコマンドについては下記を参考にしてください。
    http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/win32/jarsigner.html

  • enterキーを押すとキーストアのパスワードを尋ねられるので、入力すると下記のような画面になり署名が完了する
  • e4.png
4.サーバーにアップロード
  • お手持ちのサーバーにアップロードする

これで野良アプリ化は完了です。

実機でのデモ


お手持ちのandroid搭載携帯に先ほどのサーバーからアプリをダウンロードすることで、野良アプリを利用することができるようになります。
今回は会社のサーバーにアップロードし、先輩のXperiaをお借りしてデモを行いました。
まずはXperiaに野良アプリをダウンロードして・・・と思ったのですが、ダウンロードを開始するとXperiaの画面が白くなってしまい、どうにもこうにもならなくなってしまいました。
ひとまずは実機でのデモを行いたかったので、eclipseからアプリを起動です。

100521_1926_02.jpg

エミュレーターで起動するよりも画像がきれいに見えました。

サーバーからダウンロードできなかった点については、今のところお手上げです。
すみません。

それでは。。。

Androidアプリケーション-1分の制御とエミュレータ-

新人のDXです。。。


研修で美人時計のように1分ごと社員の写真が切り替わるAndroidアプリケーションをEclipseで作成いたしました。
1分ごとの制御には、IntentFilterを用いています。

//起動時に呼ばれるメソッド内部
{
 ・・・
 //画面の設定
 ・・・

 //新しいIntentFilterをつくる
 IntentFilter filter = new IntentFilter();
 //filterに1分経過の検知を設定
 filter.addAction(Intent.ACTION_TIME_TICK);

 //filterが何を検知した際にどう行動するかの設定
 registerReceiver(intentReceiver, filter);

 //最初の画像を描画
 ・・・
}

//filterが1分を検知した際の行動
private final BroadcastReceiver intentReceiver = new BroadcastReceiver() 
{
 @Override
 public void onReceive(Context context, android.content.Intent intent) 
 {
  //2枚目以降の画像を描画
   ・・・
 }
};

8行目でfilterという名前の新しいIntentFilterをつくり、10行目で何を検知するのか、filterに設定しています。
ここではIntentクラスのACTION_TIME_TICKを検知しています。このACTION_TIME_TICKは、現在の時間が1分ごと変わったことを見つけてくれます。
詳しい説明はこちら↓
http://developer.android.com/reference/android/content/Intent.html#ACTION_TIME_TICK


上記サイトからダウンロードしたエミュレーターでの表示は下のようになります。

androidVer


今回はAndroidのdevelopersサイトにあるエミュレーターを用いて表示を確認いたしましたが、ここではSony Ericsson Xperiaのアドオンを用いる場合の手順を説明したいと思います。

1.まずはじめに、下記サイトから「Sony Ericsson Beta WebSDK 1.2」をダウンロードします。
http://developer.sonyericsson.com/wportal/devworld/search-downloads/docstools/browsing/websdk?cc=gb&lc=en
xperiaSite

2.インストールするとSony Ericssonというフォルダが任意の場所につくられます。(デフォルトではC:\Program Files\Sony Ericsson)

3.C:\Program Files\Sony Ericsson\Web SDKにある、Xperia X10 SkinフォルダをAndroid SDKのadd-onsフォルダに入れます。

これで準備はOKです。
eclipseを起動して、さっそく見てみましょう。
XperiaVer

これは白バージョンですが、他の色もあるのでしょうか。気になりますね。

それでは。。。

Home

Recent Comments
Recent Trackback
Search
Meta
Links
Feeds

Page Top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。