フォト
無料ブログはココログ

Amazon

  • おすすめ

Ads by Google


プログラミング

2009/09/06

はてなダイアリー用リンク作成ブックマークレット

はてなダイアリー用リンク作成

説明記事は、こちらです。↓↓↓↓↓

はてな記法自動生成ブックマークレットもどきを作ってみた。(外部リンク作成) - shinの成長記録

2009/06/21

【検証】Google App Engineを使ってみる

以前から触ってみたかった、Google App Engineを試してみた。
まず、最初に下記のページに記載されていることをそのまま試してみることにした。

Part1 Google App Engineの基礎知識

大きく分けて以下の作業が必要そうだ。

1.開発言語であるPythonをダウンロード&インストール
2.Googleアカウントと認証コードの取得
3.Google App Engine SDKのダウンロード&インストール
4.テスト環境(localhost)で稼働確認、その後、本番(googleのサーバ)へのアップロード

1~3はリンク先のページにも詳しく書いてあるので、特に記載はしない。

【特記メモ】

  • 基本的には上記2でアプリケーション名(世界で一意となる名前)を登録しておき、その名前のアプリケーションしか登録できないようになっている。
  • プログラムを実行するには、app.yamlという設定ファイルと各Pythonのプログラムを準備する必要がある。
    ※ここでは、アプリケーション名:shin-cloudとして登録している
4については、以下に手順を記録しておこうと思う。


【テスト実行の方法】

(1)任意の場所に、shin-cloudフォルダを作成し、app.yamlファイルと各プログラム準備する。

app.yamlファイル記述例
application: shin-cloud
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: welcome.py
  • application:GAEの認証コードを取得した際に、入力したアプリケーションを認識する名前を入れる必要がある
  • url、script:どのURLをどのscriptで扱うかを設定する。
    (上の場合は、すべてのURLはwelcome.pyで処理される)
    ※urlごとに対応するscriptを指定可能
welcome.pyは、ひとまず以下のプログラムとした。
※pythonの知識ゼロのため、とりあえず標準出力。

(Content-Type指定とそのあとの空改行がないと、
 なぜか、サーバにアップロードしたときに表示されなかったので注意。)

print "Content-Type: text/plain"
print ""
print "Welcome to Shin's Page!"

(2)コマンドプロンプトを起動し、上記ディレクトリの上位ディレクトリに移動し、次のコマンドを起動
  dev_appserver.py アプリケーション名(Ex.dev_appserver.py shin-cloud
(3)10行程度のメッセージ(最後に以下のように起動したメッセージが出る。)

INFO     2009-06-21 08:20:59,424 dev_appserver_main.py] Running application shin
-cloud on port 8080: http://localhost:8080

   ※初回、最初に1行Updateをcheckするか?のようなメッセージがでるので、y/nを入力
(4)ブラウザにて、http://localhost:8080/にアクセスする。
383412663169f0eca86_3
 












正しくメッセージが表示された。


【googleのサーバへのアップロード方法】

(1)上記、テスト実行と同じディレクトリにて、次のコマンドを入力

  appcfg.py update アプリケーション名(Ex.appcfg.py update shin-cloud
(2)googleアカウント登録のメールアドレス、及び、パスワードが求められるので入力する。
  その後、以下のメッセージが表示され、コマンド入力受け入れ態勢に戻る。
Scanning files on local disk.
Initiating update.
Email: XXXXXXXX@gmail.com
Password for
XXXXXXXX@gmail.com:
Cloning 1 application file.
Uploading 1 files.
Deploying new version.
Checking if new version is ready to serve.
Will check again in 1 seconds.
Checking if new version is ready to serve.
Closing update: new version is ready to start serving.
Uploading index definitions.
(3)http://アプリケーション名.appspot.com/にアクセスする。(Ex.http://shin-cloud.appspot.com/ 
3834126631708acf135













アップロードしたページが表示された。

今日のまとめ

若干、localのデバッグ環境と、本番(google)環境で動作が違うところがあったので、
ちょっと悩んだが、提供されているgoogleのリファレンス(Hello, World!)ページを見ることで解決できた。

デバッグ環境で動くが、本番で動かなかったソース例。

print "Welcome to Shin's Page!"

動くように修正したソース例。

print "Content-Type: text/plain"
print ""
print "Welcome to Shin's Page!"

次は、javaに行くか、このままpythonで進めるか悩んだが、
せっかく、いい機会なので、このままpythonで進めることにしたいと思う。
次はwebappフレームワークに手をつけてみたいと思う。

使い勝手はかなりよさそうなので、今後が楽しみになってきた。

2009/06/13

シェルスクリプト

仕事(保守)でLinuxを扱うことが多いので、シェルを本格的に勉強したいと思っていた。
いまは、色々調べながらだましだましやっているが・・・

なので、このページを見ながら、実験してみようと思う。

Bash&シェルスクリプトを極めるテクニックまとめ

2009/06/12

プログラミングの勉強方法

勉強になる記事を見たので、リンク。

perl - 現代的な Perl を再習得する方法は

クラウドの勉強をしようと思っていたので、
その際作成したソースコードをブログに記載する場合は、
他無料ブログでもいいかな?と少し思った。

上記ページでは、下の3つの候補を挙げています。
確かにアメブロだと、PVを稼げるとは思いますが、
やっぱりプログラムを書きやすいブログがよさそうです。

  1. アメブロ
  2. はてなダイアリー
  3. livedoor blog

2か3で試してみたいと思います。
ココログしか使ったことがないので、なんとも言えないですが。

2009/06/05

クラウドの疑問点

以前、クラウドの記事を書いたが、
僕の抱えてる疑問や不安なところを書いている記事があったので、
少し意見を書きたいと思う。

分からない点がやはり多いクラウド

この記事のなかで8つの疑問として、以下の疑問が挙げられている。

  1. 負荷テストや性能チューニングの方法は?
  2. これまでと同様のバックアップは可能か
  3. 疑似攻撃は可能か
  4. 大量データを移行できるか
  5. パッチの適用をユーザー側で制御できる?
  6. 障害発生時の体制をどう作るか
  7. エンジニアをどう育成するか
  8. 日本の法制度が及ばない地域での運用で問題は生じない?

たとえば1は、自前のサーバなら普通にリリース前にやることだが、
クラウドの場合はどうやってやるの?という疑問は確かにある。
「表示が遅いじゃないか?」となったとき、どうやって改善するのかが、
僕にはまだわかってない。。

6は前にも書いたが、
責任の所在や緊急時の体制などをどうするかは、
明確にしないといけない部分だと思う。

ひとまず、自分用のアプリを組んでみて感想を書いてみようと思う。

過去の記事↓↓↓↓↓↓↓↓↓↓
クラウド

2009/06/01

クラウド

業界のトレンドとして、クラウドという言葉をよく耳にする。
ぼんやりと「ああ、googleとかのAPI使って・・・」ぐらいしか考えてなかったが、
おもしろい記事を見つけたので、週末にでもチャレンジしてみようと思う。

実開発で分かったGoogle App Engine for Javaの“すごさ”

実際お客さんのところに導入するとなると、
保守の面、責任の所在などの考え方が従来の方法と違うため、
今後どうなっていくかは分からない部分も多いが、
一度自分で触っておかないとお客さんにも語れない。