EclipseのErlIDEでErlyWebのプロジェクトを作る方法

ErlIDEプラグインをインストールしたEclipseで、ErlyWebを使ったウェブアプリを作ってみたくて、新規プロジェクトを作成しました。

そのときの手順を忘れないようにメモ。

[前提条件]

  • Eclipse(3.7.1)に、ErlIDE(0.13.8)をインストール
  • Erlang(R14B03)をインストール
  • YawsとErlyWebをインストール
  • Mac OS X(10.7.3)

 

[手順]

まず、ターミナルで、Erlangを起動。

次に、Erlangのプロンプトで、以下のコマンドを実行。

erlyweb:create_app(“myappl”, “/Users/shimizu/Documents/workspace”).

※第一引数は、アプリ名(= Eclipse上のプロジェクト名)    <= 小文字のみにしておいた方が無難
第二引数は、Eclipseのworkspaceのパス

すると、workspaceにプロジェクトのディレクトリができるが、.projectはできていない状態になる。

なので、.projectを作成するため、EclipseでErlang Projectを作成する。
(その際、プロジェクト名は、上記アプリ名と同じものにする)

プロジェクト作成後、作成したプロジェクトをF5キーなどでリフレッシュすると、erlyweb:create_app()で作成したファイル群が見えるようになる。

以上。第一段階終了。

今後、このプロジェクトに色々実装を加えます。

 

 

 

 

 

カテゴリー:Erlang タグ: , , ,

プラグコンピュータを買ってみた

会社のとある要件から、プラグコンピュータが必要となった。

 

今回必要なったのは、次の二機種。

DreamPlug

GuruPlug Display

 

どちらも、超小型で省電力なPC。しかも結構安い!!

 

GLOBALSCALE社で2011年9月15日に注文。

DreamPlugは、$178、GuruPlug Displayは、199$でした。

 

それから待つこと数日間。9月28日に、送信したよ、とGLOBALSCALE社からメールが来ました。

メールには、FedExの追跡番号も記載されていました。

 

FedExの追跡番号から配送状況をこまめにチェック。

さすが、送料が$136もするだけあって、あっという間に事が進んでいきます。

結局会社に届いたのが、9月30日の午後。はやい。

 

で、到着したブツを開封してみました。

 

まず、DreamPlug。

IMG_20111002_234358

真ん中のが、本体。写真では本体を二つに分解しています。

繋げて使うことも、分解して使うこともできます。

(たぶん、電源と本体を離して配置したい場合、を想定してか、分解できるようになっていると思われます。)

分解した場合は、下に写っている、カバーをそれぞれ切れ目に被せ、右側に写っているケーブルで、二つを繋げます。

あとは、長い電源ケーブルと、LANケーブルが付属していました。

説明書?は右上の二枚。なかなか親切です。。。

 

次に、GuruPlug Display。

IMG_20111002_234721

ディスプレイ出力できるタイプのプラグコンピュータです。

HDMIケーブルが付属していました。

真ん中の、白い丸模様が入ったのが本体です。

こいつは、結構きれいな化粧箱に入っていました。

それと、DevKitなので、開発用に、MicroSDスロットに指す形式のものが二種類。

使い方は良くわかりませんが、大丈夫でしょう。

あとは、USBケーブルやらLANケーブルやらが入っていました。

 

まずは、取っ付きやすいGuruPlug Displayからいじり倒してみようと思います。

カテゴリー:Plug Computer タグ: , ,

Softbank版 DELL Streak (001DL)を買ってみた

前から欲しかった、001DLをヤマダ電機で購入しました。

4,800円で、スパボ一括。安くおもちゃが買えました。

しかも、FONのルータまでタダでもらってしまいました。

自宅に帰って、いろいろ触ってましたが、

いいですねー。サイズや質的に。

動作速度では、会社用で使っているGalaxy Tabにはかないませんが、

持ち運びやすくて、横持ちスタイルが結構便利だったり。

色は、ワインレッドにしたのですが、これも深みがあって結構好きです。

買う前は、001HTにしようかとも思ったのですが、こっちにしといて良かったです。

FONルータの初期設定後、001DLのWi-Fi設定をして、

ソフトウェアのアップデートをしました。

「設定 → 端末情報 → システムアップデート」でアップデート。

事前に、無線LANをスリープにしない設定をするように、

と表示させていたので、

「設定 → 無線とネットワーク → Wi-Fi設定」で、メニューボタンを押し、

詳細設定を選択。そこで「Wi-Fiのスリープ設定」を「スリープにしない」にして、スリープしないようにしました。

しばらく待って、ダウンロードが終了すると、通知バーの下矢印のアニメーションが止まるので、

その後、通知バーを開いて、インストール。

最終的には、ビルド番号が15055になりました。

そのほかやってみたかったのか、SIMの差し替え。

001DLは、これまでの銀SIMではなく、スマホSIMが刺さってました。

そのスマホSIMを何パターン化で試してみました。

(1) スマホSIMを、フィーチャーフォン(920T)に挿入

  → 無効なSIMと表示され、着信・通話とも不可

(2) スマホSIMを、Windows Mobileスマートフォン(X05HT)に挿入

  → SIMが認識され、着信・通話ともOK。パケット通信は怖くて試してません

(3) X05HTの銀SIMを001DLに挿入

  → 無効なSIMと表示されますが、Wi-Fiなどは使用できました

スマホSIMなんか作んなきゃ良かったのにね。(→ Softbankさん)

まだ触り始めたばかりなので、これからいろいろ発見があると思います。

なにか発見したら、こちらに書き込みたいと思います。

カテゴリー:Android

2011年最初の「残念な出来事」

ネビジョンの清水です。

しばらくブログ更新してませんでした。

気づけば2011年も1/3経過。

ご挨拶もままならず、時間だけが過ぎています。

 

ま、そんなこんなで2011年も始まってしまいましたが、いきなり残念な出来事が。。。

それは、1月中旬始まる予定だった常駐作業が、先方の都合で開始が2月上旬になる、という連絡が入り、1月の予定が空白になってしまった、ということです。(おいおい。。。)

年末にお話を頂いたときは、他にも頂いたお話があったにもかかわらず、お世話になってるところからの作業依頼だったため、他の話をお断させて頂いていました。

2010年のかみ合わない歯車が、2011年に流れ込んでしまってます。

パワースポットにでも行って、全身スッキリさせたい、そんな気分です。

 

ということで、すっぽり空いた1月の予定を埋めるべく、

システム開発の作業案件を大募集します!!

どなたか、この空白を埋めていただけませんか?

それでは、作業条件やアピールポイントを書いていきたいと思います。

 

[作業条件]

■作業請負(常駐作業)の場合

・1月中旬~2月中旬くらいまで、約1ヶ月(1人月)の作業

・私、清水が対応します

・作業場所は、広島市近郊を希望

・派遣契約は不可(代表者は派遣できないみたいで。。。)

・希望単価は、1人月50万円以上 (期間限定価格です。お買い得だと思います!)

・対応可能作業:上級SEなどのSE職。PGレベルの作業も可

・対応可能言語:C/C++/Java/PHP/JavaScript/ActionScript/VB/.NET関連など(詳細はアピールポイント参照)

■一括作業(持ち帰り作業)の場合

・作業内容(一例)

  • 古いシステムをリメイクしたい
  • 業務効率をUPしたい
  • システムを導入したいけど、どこに頼めばいいかわからない

など、企業様のシステムに関するお悩みを解決します!

・期間・規模・費用は相談に応じます。(比較的安い費用で対応できると思います。)

・一度打ち合わせを行い、対応方法について検討させていただきます。(初回打ち合わせ時の費用は無料!ただし、広島市近郊に限らせていただきます。)

・私、清水と、他数名で作業を対応させていただきます

 

[アピールポイント]

・多種多様な言語で開発が可能

一番長い期間使ってきた言語は、C/C++言語になります。

C/C++であれば、UNIX環境・Windows環境で対応が可能です。

特に、Windows系アプリが得意で、多様な要望にお応えすることができます。

C/C++以外では、Javaですかね。ServletからApplet、Androidアプリまで、一通りのことはできると思います。

経験年数ですが、C/C++が10年以上、Javaが4年弱となっています。

(C/C++、10年以上やってたんだ。そりゃ年取るはずだな。ちなみに、現在38才です。)

その他としては、PHP/JavaScript(これはWEB系のシステムを作る上で必要不可欠!)、VBも少々嗜み、あと大きな実績はないですが、Erlangという言語(知ってます?)や、Flashコンテンツに組み込み可能なActionScriptなどもやっています。その他、Perl/UNIX Shell/Windows Shell/VBAなど、幅広く習得しています。

 

・今まで構築してきたシステムたち

大学卒業後、ニフティという会社に入社し、パソコン通信(今は無き?)のシステムを開発していました。

その後独立し、大手携帯電話会社の通信網制御システムの開発や、大手自動車メーカのCAD関連のシステムにも携わってきました。その中でも、CAD関連のシステムでは大きな実績を上げ、うちみたいな小さい会社でも直取引口座を開設していただくまでになりました。

それらの作業の合間、Androidアプリの構築(もうすぐリリースします!)や、Windows Mobile上でのGPSロガーや、Windows CEハンディターミナルアプリの構築など、スマートデバイス系のアプリケーションも構築しました。

また、昨年度は、経済産業省の助成金案件2件を獲得し、他社と協業して、研究開発に従事していました。(ここで使ったのが、上にも書いたErlangという言語です。)

 

・最後に一言

基本的に手の掛からない子だと思います。特に幼少のときは、夜鳴きもせず、両親に、「こんな子だと、もう一人産んでもいいかも」といわせたくらいです。。。と、そんなことは言わんでもいいですね(笑)

でも、こういう仕事をしてると、調べごとは必須の作業となります。壁にぶち当たったとき、「すみません、これわかんないです」とは言いたくない人で、困ったことは一人でコツコツぐぐります。英語読みます。担当者に手をかけさせません。

ソースコードも説明を少し頂くと、スイスイ解読します。このへんの立ち回りは、自画自賛しています。

 

こんな技術者でもよろしければ、ご連絡いただければと思います。

http://www.nevision.co.jp のお問い合わせフォームに入力していただくか、

Twitterであれば、 http://twitter.com/nevision までお越しいただき、@メッセージを送っていただくか、DMでも大丈夫です。

Facebookのアカウントも持っています。http://www.facebook.com/nevision です。メッセージ送ってください。

それでは、よろしくおねがいします!

カテゴリー:ネビジョン

Hello world!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

カテゴリー:未分類

SSL証明書の有効期限切れ対応

うちの会社のメールサーバは、Ubuntu上のpostfix/dovecotという組み合わせで運用しています。

もちろん、セキュリティにも配慮し、TLS経由でのアクセスとしています。

約一年前にメールサーバを立ち上げ、スパムと戦いながら順調に運用してきました。

しかし、最近Outlookで接続すると、以下のような「接続しているサーバーは、確認できないセキュリティ証明書を使用しています。」というエラーが出るようになりました。

image

 

証明書の有効期限が切れている、と言われているのですが、クライアント側は、以下のように確認すると、有効期限は2019年になっていました。

  ■確認方法■
   インターネットエクスプローラ → [ツール] → [インターネットオプション] → [コンテンツ]タブ → [証明書]ボタン をクリック
   [信頼されたルート証明機関] で、発行元が、nevision.co.jpのものを参照。

 

サーバ側は、以下のコマンドで確認してみました。

  ■確認方法■
   openssl x509 –inform pem –in [ファイル名] –text
   [ファイル名]は、/etc/dovecot/dovecot.conf に設定されているファイル名。
   ssl_cert_file = xxx.pem
   ssl_key_file = xxx.pem    あたりの設定からファイル名を特定します。

上記コマンドを叩いてみると、

Validity
            Not Before: May 14 14:43:04 2009 GMT
            Not After : May 14 14:43:04 2010 GMT

 

となっており、有効期間が切れていることがわかりました。

ということで、サーバ側の証明書を変更する手順です。

1./etc/ssl/CAへ移動

  cd /etc/ssl/CA

2.証明書を、有効期間10年で作成

  sudo openssl req –new –x509 –days 3650 –key private/cakey.pem –out cacert_new.pem

  (注)既存のファイルを残しておきたかったので、ファイル名をcacert_new.pemとしました。
    元のファイル名は、cacert.pemでした。

3.サーバ証明書保存ディレクトリのopenssl.cnfを編集

  cd /etc/ssl/Server
  sudo vi /etc/ssl/Server/openssl.cnf

  certificate     = $dir/cacert.pem  # The CA certificate
  の行を、以下のように変更する。
  certificate     = $dir/cacert_2010.pem  # The CA certificate

4.サーバ証明書にCAで署名

  sudo openssl ca –config openssl.cnf –policy policy_anything –out ./cert-ca_new.pem –infiles request.pem

  すると、カレントディレクトリに、cert-ca_new.pemというファイルが作成されます。

5.メールサーバ用の証明書を作成

  sudo openssl x509 –in cert-ca_new.pem –out cert_new.pem

6.MUA用の証明書を作成

  sudo cat private.pem cert_new.pem > mail_new.pem

7.dovecot設定ファイルの変更

  sudo vi /etc/dovecot/dovecot.conf

  ssl_cert_file = /etc/ssl/Server/cert.pem
  ssl_key_file = /etc/ssl/Server/mail.pem
  上記2行をコメントアウト

  ssl_cert_file = /etc/ssl/Server/cert_new.pem
  ssl_key_file = /etc/ssl/Server/mail_new.pem
  上記2行を追加

8.postfix設定ファイルの変更

  sudo vi /etc/postfix/main.cf

  smtpd_tls_CAfile = /etc/ssl/CA/cacert.pem
  smtpd_tls_cert_file=/etc/ssl/Server/cert.pem
  smtpd_tls_key_file=/etc/ssl/Server/mail.pem
  上記3行をコメントアウト

  smtpd_tls_CAfile = /etc/ssl/CA/cacert_new.pem
  smtpd_tls_cert_file=/etc/ssl/Server/cert_new.pem
  smtpd_tls_key_file=/etc/ssl/Server/mail_new.pem
  上記3行を追加

9.dovecotとpostfixの再起動

  sudo /etc/init.d/dovecot restart
  sudo /etc/init.d/postfix restart

 

これでエラーが出ずに、メールの送受信ができるようになりました。

ちなみに、今回の作業では、以下のサイトを参考にさせていただきました。

http://www.kazutoyo.com/ubuntu/

いろいろ参考になりますので、是非どうぞ。

 

あと、メールサーバ側の環境も書いておきます。

shimizu@hostname:/tmp$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 8.10
Release:        8.10
Codename:       intrepid
shimizu@hostname:/tmp$ dpkg -l |grep dovecot
ii  dovecot-common                    1:1.1.4-0ubuntu1.2             secure mail server that supports mbox and ma
ii  dovecot-imapd                     1:1.1.4-0ubuntu1.2             secure IMAP server that supports mbox and ma
ii  dovecot-pop3d                     1:1.1.4-0ubuntu1.2             secure POP3 server that supports mbox and ma
shimizu@hostname:/tmp$ dpkg -l |grep postfix
ii  postfix                           2.5.5-1                        High-performance mail transport agent
ii  postfix-mysql                     2.5.5-1                        MySQL map support for Postfix
ii  postfixadmin                      2.3rc4                         Virtual mail hosting interface for Postfix

カテゴリー:Server設定

Windows上でのプロセス監視

Windows上のプロセス活動状況を監視するツールを探していました。

Solarisだと、trussコマンドなどがあり、よく使っていましたが、Windowsではどうなの?

ということで以下の2つのツールを評価してみました。

 

1.Process Monitor

Microsoftが出しているツールです。

次のことができます。

  • レジストリアクセス監視
  • ファイルアクセス監視
  • ネットワークアクセス監視
  • プロセス・スレッドの起動状況の監視
  • プロファイリング

インストールは、サイトからZIPファイルをダウンロードして展開するのみで、インストーラなどはありません。

ZIPファイルを展開すると、以下のようになっていました。

image

このフォルダの、Procmon.exe を実行すると、以下のようなウィンドウが出てきます。

image

キャプチャが始まった状態で起動します。

キャプチャを停止するには、Fileメニューの Capture Eventsを選択するか、Ctrl + Eを入力して、キャプチャを停止します。

再開するには、同じメニューを選択するか、Ctrl + Eを入力します。

ツールバーにフィルタがあり、これをON/OFFすることで、必要な情報を絞り込みます。

例えばレジストリアクセスについてのみ必要であれば、以下のようにします。
    レジストリ → ON
    ファイル→ OFF
    ネットワーク→ OFF
    プロセス→ OFF
    プロファイル→ OFF

レジストリアクセスについては、どのプロセスがどのレジストリーキーにアクセスしたか全てわかりますし、ファイルも、どのファイルにアクセスしたかわかります。

なかなか強力なツールだと思います。

ただ、実際に呼ばれたAPIなどはわからないため、リソースを使わず、無限ループしているようなプロセスの状況を監視するには向いていないと思います。

 

2.StraceNT

StraceNTは、LINUXなどのコマンドである、straceのWindows版です。

straceとは、System call Tracer の略みたいです。

こちらのサイトからダウンロードできます。(http://www.intellectualheaven.com/default.asp?BH=projects&H=Strace.htm)

今回は、Version 0.8 を使ってみました。

こちらもProcess Monitor同様、ZIPを展開するだけインストールです。

ZIPファイルを展開すると、以下のようになっていました。

image

このフォルダの、StraceNtX.exe を実行すると、以下のようなウィンドウが出てきます。

image

こちらは勝手にキャプチャが開始されません。

キャプチャを開始するには、Traceメニューの Attach to Processを選択するか、Ctrl + Pを入力します。

image

すると、上記ウィンドウが開きますので、アタッチしたいプロセスを選択し、Attachボタンをクリックすると、キャプチャが開始されます。

キャプチャを停止するには、Traceメニューの Stop Tracingを選択するか、Ctrl + Qを入力します。

StraceNTでは、どういうAPIがどういう引数で呼ばれ、どういう戻り値を返却したか、がわかります。

Process Monitorとは異なり、リソースにアクセスしていなくても、挙動が掴めます。

ですが、レジストリのどういうキーにアクセスしたか、などはわからないため、そういう調査であれば、Process Monitorが向いています。

 

用途に応じてこの二つを使い分ければ、たいていの問題は解決するでしょう。

といっても、先月実施したある解析作業では、これらのツールだけでは問題が解決しませんでしたが。。。

カテゴリー:Windows監視ツール
フォロー

新しい投稿をメールで受信しましょう。