Home > アプリ

2010.08.28

screenとは?【初心者入門編】

screen とは、1つのターミナル内に、
複数の擬似ウィンドウを開くことが出来るようにするソフトウェアです。

歴史ある技術ですので、ほぼどのLinux環境にも使えて、動作も安定、
設定・操作も手軽で済むため、多くのエンジニアに重宝されています。
ターミナル用のソフトですが、サーバへインストールするものです。

今更の内容ですが、復習も兼ねてまとめてみることにしました。

ちなみに、タイトルに「初心者入門編」と書いていますが、
少なくとも自分は2年間、この内容だけで便利に使えています。
(まー、自分はかなり開発環境に無神経な方ですが)

(more…)

2010.08.24

Google App EngineでTwitterを活用する

今回は、Google App Engine (GAE) でTwitter上のデータを集約するRSSリーダーのようなアプリを作りたいと思います。

解説する内容は以下になります。

  1. Google App Engine (GAE) の利用方法
  2. Twitter API の利用方法
  3. ツイートの集積と簡単な未読・既読処理

 
(more…)

2010.06.10

VBを考える

今年の4月に最新版がリリースされたVisualBasic

.NET Frameworkを利用したアプリケーションを今回は紹介したいと思います。

  • VBの歴史

.NET になる前までのVBのバージョンは6まで。そのバージョン6.0がリリースされたのが1998年。このバージョンからVBはVBアプリだけでは無くASPアプリケーションを作成する事が可能になりました。

その後、.NETFramework を利用したオブジェクト指向型言語として装いを新たに VB.NET2002(VB7.0)がリリースされたのが2002年、その後2003年、2005年、2008年とバージョンを上げていき、今年の春に2010がリリースされました。これにより、.NET Frameworkも3.5から4.0へとアップグレードが行われます。

ちなみに、WindowsVistaには標準で.NET Framework3.5が導入されていますが他のOSは任意でインストールを行わねばなりません。

  • .NET Frameworkを利用する利点は?

VB.NET以前でアプリケーションを利用する為には、「アプリケーションを利用する為」の環境が必要となりました。言い換えてみれば、使いたいアプリケーションに必須なアプリケーションはファイル等を別途用意しないといけない事が有りました。またPCのスペックやOSがまだ大きくまちまちだった時代ですので、必須条件を満たしているか否かと言う事も大きな問題になっていました。

(例:OSで言えばWindow98,98SE,ME,NT4,2000など)

.NET Framework には以前のバージョンでは自らインストールしなければいけないコンポーネントや特殊なランタイム等を一括で保持している為にある程度の整合性を保つことが出来ます。要は.NET Framework はソフトウェアを運用するにあたり必要なパーツ群だと考えて貰えればと思います。

  • 宣言・変数について

PHPを利用していると、何の意識もせずに$hogeと言う形で変数を作成し、その中に数値やオブジェクトを入れる事が多々有りますが、VBの大きな考え方の違いと言えばここになります。変数を利用する際には、その変数に合致した変数を用意してあげなければならない。言葉で書くと少し小難しくなりますが、実際に変数として見てみると簡単だと思います。

Dim hoge as integer

これで整数数値型のhogeと言う器を利用する事が可能になりました。ですから

hoge = “文字列ですよ”

と言う書き方はエラーになる。

訳では無いのです。ここは開発環境の設定にもよりけりなのですが、デフォルトの設定である場合はVB.NET側が暗示的な理解を示しhogeを整数数値型から文字列型に変換してくれるのです。また、変数宣言を省く事も可能です。

Dim Ocha

一見シンプルで見やすい。と感じてしまうのですが、これはVB側が何を入れる器か判らない為にObject型と言う何でも入る便利な型の中にデータを格納する準備を行います。ただし、何でも入る便利な物だからこそリスクはついてくる物で、それだけメモリ消費が高くなり実行速度に問題が発生してしまいます。

また問題点として、暗示的な変数を多様すると偶然動作していた。と言う問題が発生した際に何がどうエラーであるかの追跡が難しくなってきます。上記の宣言の省略や暗示的な変数の変換等、一見便利ではありますが、これを利用する事無くプログラム作成の運用を行う事こそがVBとPHPの大きな違いとなってくる部分です。

  • VB6から.NETに変わって大きく変わった点は

もともとC#やJavaでは標準であった例外処理が.NETFrameworkを通して利用出来る事になりました。

Try

Catch Exception

Finally

End Try

元々VB6まではon error goto~~と言う物は有ったが開発者が”意図的”に理解したエラーが発生した時のみの使い方が主流であった。その過去の遺物なのか、ラベルの概念が残っている。

exception画像

例外処理:例外は基本的に“エラー”として利用する事が多いが事によっては、わざと例外を起こさせる事も多々見かけられる。

共通最終処理:データベースの切断や、他に影響を及ぼすアプリケーションクラスの開放等を意識的にコーディングする事が出来る。
(代表的な処理としては、不意のエラー等でSQLサーバとのトランザクションセッションが開いたままアプリケーションが終了してしまう事を防ぐ)

今回紹介しましたVBは、Webアプリケーションと違って明示的にデータを示す。と言う事が重要になってきます。これは、プロジェクトの規模が大きければ大きいほど他人に自分の意図が伝わる一つの手立てとして利用出来る物です。たかが変数名。されど変数名。そこからどういう意図を汲み取れるのか。と言う意識をするだけでも、変数一つに考える事は変ってくるのではないでしょうか。

2010.04.11

Dojo Toolkitを使ってみる

Dojo Toolkitはjavascriptのフレームワークです。

趣味でzend frameworkの勉強をしているときに、Dojoに出会いました。

zend frameworkをFull Packageでインストールすると一緒に入っています。

最近はjavascriptのフレームワークといえば、jQueryが多く使われていますが、あえてDojoを使ってみたいと思います。。。

Dojo Toolkitの中身

Dojo Toolkitのフルパッケージには大きく分けて以下の3が入っています。

SDKの場合、大きく分けて以下の3つが入っています。

  1. Dojo (Dojo Core)    Dojoの基本部分。イベント処理やajaxなどのライブラリ。   xmlやjsonを扱うライブラリ。
  2. Dijit    ウィジェットをまとめたライブラリ。    (ウィジェットとはボタンなどのユーザーフォームを拡張したもの)
  3. Dojox    グラフやグリッドなどの拡張ライブラリ。

以下からDojoの使い方について説明していきたいと思います。

(more…)

2010.01.13

スマートフォン使ってみたら、ケータイがいらなくなった

年末、ブログを更新が少し滞ったのでご心配をかけたかもしれませんが…
元気すぎてお仕事が山積みになり、社員一丸となって取り組んでおりました。

おかげさまで新しいメンバーも多数加わり、キモチも新たに2010年もゲンキ良くスタートを切っております。
本年もよろしくお願いいたします。

<このブログは、エスキュービズムのエンジニア陣が担当制で更新しています>

さて、では、僕はセキュリティ対策の話を…と考えていたのだけど、ウイルス対策の次にセキュリティの話だと盛り上がらないなぁと思い、全く別の話題を。

最近よく「あの、新しいグーグルの携帯買わないの?」と聞かれる。
グーグルの携帯といってもドコモから出ているAndroid携帯ではなく、アメリカで発売された Nexus One のことだ。

(more…)

2010.01.07

そのアンチウィルスソフト、本当に安全? ~アンチウィルスソフトの評価サイト~

新しいPCを購入した際、まずアンチウィルスソフトをインストールする方は多いと思います。ウィルス対策はますます重要になっていますが、次に気になるのはアンチウィルスソフト自体の安全性です。そこで今回は、アンチウィルスソフトを公平な立場で、多角的に評価している海外のサイトを2つ紹介したいと思います。

(more…)

2009.11.27

ChromeOSをインストールしてみました

先週あたりに現在開発中のGoogleのOSである、”Chrome OS”が”Chromium OS”というプロジェクト名でオープンソース化され、ソースコードが入手可能になったので、早速試してみることにしました。

今回の目次

  1. ChromeOSって何?
  2. ビルド環境の準備
  3. ビルド
  4. 使ってみる

(more…)

2009.04.24

ライセンスなどのおさらい

ライセンスとは

知的財産権の側面におけるライセンスは、
権利者が独占する権利の実行を他者に許諾するものであるため、
当該権利を保有する人材や企業の確保は国益に重大な
影響を及ぼす。
そこで欧米ではこの分野を国際的な
政治戦略として高い位置づけでとらえ、
各種ライセンスの積極的な保護育成に力を
注いでいる。

らしい

主に、

実行許諾系と利用許諾系

実行許諾系には、下記のようなものがある

* フリーソフト
フリーウェア - 無償のソフトウェア
フリーソフトウェア - フリーソフトウェア財団が提唱する
自由なソフトウェア
* シェアウェア
無償で使用可能であるが、継続使用する場合には対価を求める
開発費をユーザーで分担する」という意である。
* キーウェア
ソフトウェアの使用時にライセンスキーを入力しないと、
利用できないかデモ版として動作する。
* メールウェア
しばらくの間ユーザにソフトウェアを使ってもらい、
利用した感想や意見、バグレポートなどをメールで送って
もらうライセンス形態
* ポストカードウェア

などなど

よく聞くのは、フリーソフト、シェアウェア、キーウェア
もう一度おさらい。。。

利用許諾系には、下記が有名

GNU General Public License

かなり長いので、下記を参考に

http://ossipedia.ipa.go.jp/legalinfo/

2009.03.13

MySQLとPostgreSQLの簡易比較

よくMYSQLとPostgreSQLについて、どうなの?

と疑問を持たれる方がいると思います。

下記を見ながらふぅ~んと思いながらお読みください。

MYSQLは

■マルチスレッド構成で動作する
MySQL は、まず mysqld と呼ばれるプロセスの中にいくつかの
スレッドを起動します。
その中の1つのスレッドにてクライアントからの接続要求を
待ち受ける形になります。

■テーブルごとにストレージエンジンを選択できる
MySQL のストレージエンジンと言えば、
InnoDB や MyISAM が有名ですが、
その他にも多くのエンジンをサポートしています。
現状は、トランザクションと行レベルロックをサポートしている
InnoDB が主流そうです。

※InnoDBとは「いのでーびー」
コミット、ロールバック、クラッシュリカバリの
各機能を備えたトランザクションセーフ(ACID 準拠)の
ストレージエンジン

※MyISAMとは「マイアイサム」
MySQLでデフォルトのテーブルとして使用されている形式。
処理がPostgreSQL等に比べ非常に高速であるが、
機能は至ってシンプルである。
各 MyISAM テーブルはディスク上に3つのファイルとして
保管されます。そのファイル名はテーブル名で始まり、
ファイルタイプを指示する拡張子が付きます。.frm ファイルは
テーブルフォーマットを格納します。データファイルには .MYD (MYData) 拡張子が付きます。インデックスファイルには .MYI (MYIndex) 拡張子が付きます。
■簡単なロードマップ
・MySQL4.1系
サブクエリが使用可能となりました。また Unicode にも対応しました。
・MySQL5.0系
ビューやストアドプロシージャが使えます。
ただし、MySQL のビューには FROM 句にサブクエリが使えないという制限があります。
・MySQL5.1系
クラスタリング機能が実装されています。
・MySQL5.2系
ストレージエンジンに Falcon が登場予定?

PostgreSQLとは

■マルチプロセス構成で動作する
postmaster と呼ばれるプロセスでクライアントからの接続要求を待ち受けます。
■データベースエンジン
MySQL の InnoDB同様、トランザクションと行レベルロックをサポートしています。
どちらも MVCC(マルチバージョン並行処理制御)が使われています。

■簡単なロードマップ
・PostgreSQL7.x系
MySQL よりも早い段階で、RDBMS としての主要な機能(サブクエリやビュー)を搭載していた。
・PostgreSQL8.x系
性能向上が徐々にされ、クアッドコアなどマルチ CPU の環境で、
CPU 数に比例した処理を実現しているそうです。
8.3 では、VACUUM 処理を極力使わなくても済むように、
HOT という新機能が予定されています。

VACUUMは適度にした方がいいみたい・・・

まとめ

■PostgreSQL
・データの参照と削除は速い
・クライアントからの同時接続数が増えても、パフォーマンスには大きく影響しない
■MySQL
・データの登録と更新は速い
・クライアントからの同時接続数が 200 を超えたあたりからパフォーマンスが一気に低下する

とはいえ、ちゃんとどちらも専門知識をもち、用途によってSQLをチューニングすることを

考慮していないので、慣れているものを使うのがベストかも?と思った今日この頃・・・

2009.03.10

AmazonFPSを試してみました

米Amazon.comが、2月に決済サービスのAmazonFPS(Amazon Flexible Payments Service)をリリースしたわけですが、これは我らがEC-Orangeでも使えるのか?
と思い、試してみました。

(more…)