作成者別アーカイブ: toshiya

チャットワークの投稿をバックアップする方法

コンサルティング先のお客様から「無料プランのチャットワーク投稿をエクスポートしたい」と言うご相談がありましたので、こちらに対する解決方法を以下に記述致します。

解決方法

goodbye_chatwork という Ruby 言語で書かれた コマンドを利用することで簡単に行えます。

goodbye_chatwork 利用手順

  1. Ruby のインストール
  2. goodbye_chatwork のインストール
  3. goodbye_chatwork の使い方

1.Ruby のインストール(Windows版)

対象は Windows マシンを想定しております。
Macをお使いの場合は Ruby はデフォルトでインストールされておりますので、この節は読み飛ばして下さい。

Windows への Ruby のインストールは以前、私が書きました以下の記事を参考にして下さい。

Windows環境へのRubyのインストール

2.googbye_chatwork のインストール

Windows の[スタート]→[すべてのプログラム]→[アクセサリ]→[コマンドプロンプト]でコマンドプロンプトウィンドウを開き、以下のコマンドを入力します。

> gem install goodbye_chatwork

すると、以下のように Ruby のパッケージ管理システム「RubyGems」を通じて goodbye_chatwork がインストールされます。

Fetching: multipart-post-2.0.0.gem (100%)
Successfully installed multipart-post-2.0.0
Fetching: faraday-0.12.0.1.gem (100%)
Successfully installed faraday-0.12.0.1
Fetching: unf_ext-0.0.7.4-x64-mingw32.gem (100%)
Successfully installed unf_ext-0.0.7.4-x64-mingw32
Fetching: unf-0.1.4.gem (100%)
Successfully installed unf-0.1.4
Fetching: domain_name-0.5.20170404.gem (100%)
Successfully installed domain_name-0.5.20170404
Fetching: http-cookie-1.0.3.gem (100%)
Successfully installed http-cookie-1.0.3
Fetching: faraday-cookie_jar-0.0.6.gem (100%)
Successfully installed faraday-cookie_jar-0.0.6
Fetching: goodbye_chatwork-0.0.6.gem (100%)
Successfully installed goodbye_chatwork-0.0.6
invalid options: -SHN
(invalid options are ignored)
Parsing documentation for multipart-post-2.0.0
Installing ri documentation for multipart-post-2.0.0
Parsing documentation for faraday-0.12.0.1
Installing ri documentation for faraday-0.12.0.1
Parsing documentation for unf_ext-0.0.7.4-x64-mingw32
Installing ri documentation for unf_ext-0.0.7.4-x64-mingw32
Parsing documentation for unf-0.1.4
Installing ri documentation for unf-0.1.4
Parsing documentation for domain_name-0.5.20170404
Installing ri documentation for domain_name-0.5.20170404
Parsing documentation for http-cookie-1.0.3
Installing ri documentation for http-cookie-1.0.3
Parsing documentation for faraday-cookie_jar-0.0.6
Installing ri documentation for faraday-cookie_jar-0.0.6
Parsing documentation for goodbye_chatwork-0.0.6
Installing ri documentation for goodbye_chatwork-0.0.6
Done installing documentation for multipart-post, faraday, unf_ext, unf, domain_
name, http-cookie, faraday-cookie_jar, goodbye_chatwork after 11 seconds
8 gems installed

 

3.goodbye_chatwork の使い方

チャットルーム一覧(room_id, room_name)を取得するコマンドは以下の通りです。

> goodbye_chatwork -i チャットワークに登録のメールアドレス -p パスワード
例えば、チャットワークに登録のメールアドレスが 「hogehoge@hogehoge.com」、パスワードが「hogehoge」の場合、以下のような結果になります。
(動作に失敗する場合は、本ページ後述の「※ 特記事項: SSL エラー対応」を参照願います。)
>goodbye_chatwork -i hogehoge@hogehoge.com -p hogehoge
2017-04-23T16:42:41+09:00 login as hogehoge@hogehoge.com ...
2017-04-23T16:42:41+09:00 load initial data...
2017-04-23T16:42:42+09:00 load account info
52317712 mychat 53
53770634 ワードプレス 83
54513841 Rubyプログラミングの部屋 25
この出力の中で、出てきた 「mychat」、「ワードプレス」、「Rybyプログラミングの部屋」がチャットワークのそれぞれのチャットルームにあたり、「mychat(マイチャット)」の部屋の room_id は 52317712 となります。
特定のチャットルームのテキストログとファイルを取得するコマンドは以下の通りです。
> goodbye_chatwork -i メールアドレス -p パスワード -x room_id

 

例えば、チャットルーム「マイチャット」の room_id 52317712 を利用して、hogehoge@hogehoge.com のテキストログとファイルを取得した場合、以下のような結果となります。

>goodbye_chatwork -i hogehoge@hogehoge.com -p hogehoge -x 52317712
2017-04-23T18:19:06+09:00 login as hogehoge@hogehoge.com ...
2017-04-23T18:19:06+09:00 load initial data...
2017-04-23T18:19:08+09:00 load account info
2017-04-23T18:19:12+09:00 mkdir chatwork_logs
2017-04-23T18:19:12+09:00 export logs 52317712 ...
2017-04-23T18:19:12+09:00 get old chat 0- ...
2017-04-23T18:19:14+09:00 get file info 143056045 ...
 ・
 ・
 ・
2017-04-23T18:26:45+09:00 create chatwork_logs/52317712_mychat.csv
 (画像ファイルが多い場合、ダウンロードに時間がかかるかも知れません。)
出力した結果は エクスプローラーの個人用フォルダ ( C:\Users\(アカウント名)) 直下に 「chatwork_logs」というフォルダ名で保存されます。

※ 特記事項: SSL エラー対応

これまでの手順で、goodbye_chatwork を起動すると、以下のエラーが発生して、正常に動作を確認することができない場合があります。
C:/Ruby23-x64/lib/ruby/2.3.0/net/http.rb:933:in `connect_nonblock': SSL_connect 
returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify
failed (Faraday::SSLError)
この場合は、以下の ページから cecert.pem をエクスプローラの個人フォルダ直下にダウンロードして下さい。
https://curl.haxx.se/docs/caextract.html
ダウンロード方法は、ページ中の 「cecert.pem」のリンクを右クリックし、ポップアップメニューの「名前を付けてリンク先を保存…」を選択し、エクスプローラーの個人用フォルダ (C:\Users\(アカウント名)) に保存します。
その後、コマンドプロンプトで以下のコマンドを実行すると、以降、正常に goodbye_chatwork を利用することが可能となります。
> set SSL_CERT_FILE=./cacert.pem
 尚、上記の方法は、コマンドプロンプトを起動するたびに行う必要があります。
この手順を今後、行わないようにしたい場合は、以下の方法で Windows の環境変数を設定して下さい。

SSL_CERTファイルの Windows環境変数への登録方法

Windows の [スタート]→[コンピュータ]を右クリックし、プルダウンメニューの[プロパティ]をクリックします。

コントロールパネルの[システム]画面が開くので、画面左側の[システムの詳細設定]リンクをクリックします。
[システムのプロパティ]ダイアログが開くので、[詳細設定]タブを選択します。
[詳細設定]タブの下側にあるボタン[環境変数(N)…]をクリックします。
[環境変数]ダイアログが開くので、上側の[ (ユーザー名)のユーザー環境変数]の下にあるボタン[新規(N)…]をクリックします。
[新しいユーザー変数]ダイアログが開くので、以下の通り入力します。(以下の値をコピペすると確実です。)
  • 変数名:  SSL_CERT_FILE
  • 変数値: %HOMEPATH%\cacert.pem
[OK]ボタンをクリックして、[新しいユーザー変数]ダイアログを閉じます。
[OK]ボタンをクリックして、[環境変数]ダイアログを閉じます。
[OK]ボタンをクリックして、[システムのプロパティ]ダイアログを閉じます。

これで手続きは完了です。次回からコマンドプロンプト起動後に、set コマンドを打ち込む必要はありません。
Share Button

Julius 音声認識テスト

最近、再び話題の人工知能にとって、やはり人々が期待しているのはコンピュータの持つ「人間らしさ」かと。

そもそも、コンピュータ・システムは「演算」、「制御」、「記憶」においては人間の力を遥かに超えた能力を持っているのですが、これの入出力の部分で、まだまだ人間との融合が難しく思われているのかも知れません。

昔、アニメや特撮なんかで出てきたコンピューターって、例えば「バビル二世」に出てきたものは塔の上の水晶球がピカピカ光って言葉を話していたりしておりましたが、当時の実際のコンピュータってものは音声認識なんて夢のまた夢みたいな感じで、パンチカードシステムだったりしました。

ところが最近のコンピュータは音声認識も随分と技術が進んで、ジャイアントロボや電人ザボーガーやバリブルーンも夢ではなくなってきたように思います。

今回、自作のソフトウェアに音声認識を組み入れてみようと、「Julius ( http://julius.osdn.jp/ )」というオープンソースの音声認識エンジンをインストールしてみました。

以下はデモ動画ですが、こちらはマシンに対してマイクを通じて「人数」を言葉で話して認識させるものですが、しっかりと認識できていることが確認できます。 非常に面白いですね。

これは辞書に1人から10人までの言葉を登録して実行させているものですが、この様子を見ていると様々な応用が出来そうです。

例えば、辞書に寿司ネタのメニューを登録しておけば、お寿司屋さんでのお客さんの声での注文が、自動的に注文票に登録されるなどのことが出来そうです。

この Julius の素晴らしいところは高い音声認識率もさながら、やはり何と言っても無償のオープンソースであり、各自で自由にカスタマイズしてソフトウェアに組み込むことが出来ることにあると言うことに尽きると思います。

公開元の Julius開発チームには心より敬意を表したいと思います。

Share Button

業績悪化の大塚家具、株主総会で久美子社長を再任 経営責任問う株主も

業績悪化の大塚家具、株主総会で久美子社長を再任 経営責任問う株主も 

2年前の父娘間の経営方針の食い違いに関しては、僕は傍観者ではありますが、久美子氏の方針を真っ向否定しました。

それは、高級家具のショールーム販売によるシェアで成り立っていた大塚家具の経営スタイルを家具量販店に切り替えるということは、かなり危険な橋を渡ることが予測できたからということです。

ただ、もしもまたここで久美子社長を降ろして経営方針を元に戻すようなことになれば、さらに経営状態は悪化することも容易に想像できるのです。

大塚家具は今は、一番苦しい状況かもしれません。

ただ、この難局を乗り越えることが出来れば、きっと大塚家具は間違いなく生まれ変われることでしょう。

誰かが言ってますけれども、「成功」の反対は「失敗」ではなく、「挑戦しないこと」だと思うのです。

 

Share Button

さくらレンタルサーバーに Xdebug を入れると tmp 領域を食いつぶしてしまう件

さくらインターネットに Xdebug をインストールして利用するというのはあまりお勧めできません。

さくらのレンタルサーバー(スタンダードプラン)で個人が利用できる /tmp ( /var/tmp のエイリアス) の容量は 1GB に制限されているようですが、Xdebug を使ってリモートデバッグを行うと、あっという間にこの1GBのディスク容量を食いつぶしてしまうようなのです。

具体的には /tmp ディレクトリの下に、cachegrind.out.xxxxxx というようなファイルが大量に発生します。

tmp 領域を食いつぶしてしまうとどのような問題が発生するかと言うと、以下のような問題が起きます。

  • Webメールのクライアントからメールの送受信が出来ない様になる。
  • Symfonyのページに Warning: session_write_close(): write failed: Disk quota exceeded というメッセージが出る
  • WordPress のプラグインやテーマの更新が出来ない様になる

上記は私が実際に経験した不具合なのですが、その他にも様々な問題が発生することは間違いありません。

Xdebug を利用するにあたっては、cron などを使って定期的に /tmp の下をクリアするなどの処理を入れて問題を回避する方法も考えられますが、やはり Xdebug を使ったリモートデバッグは本番サイトでは行わないのが一番かと思いますね。

Share Button

git 用の SSH キーの作成

git 用の SSH キーの作成

git でリポジトリにアクセスをする場合、一般的には SSH キー を利用して認証を行います。
このキーはそれぞれの端末ごとに作成し、Gitリポジトリ(GitHubやBitBucket)への登録を個別に行います。

決して、他のマシンで作成した キーファイルの組み合わせをコピーして流用するようなことは行わないで下さい。

詳しい解説は以下のURLの通りです。

https://git-scm.com/book/ja/ch4-3.html

ここでは、Msys2をインストールした Windows マシンでの SSH キーの作成の仕方を解説します。

SSH キー作成手順

msys2 のターミナルから、以下のコマンドを実行します。

$ ssh-keygen

パスフレーズを求められますので、そのまま Enter キーを押下します。

Generating public/private rsa key pair.
Enter file in which to save the key (/home/xxxxx/.ssh/id_rsa):

パスフレーズの確認を求められますので、再度 Enter キーを押下します。

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

これで、 ~/.ssh ディレクトリの下に id_rsa と id_rsa.pub の組み合わせが作成されます。

ちなみに id_rsa は「秘密鍵」であり、このファイルは誰にも渡してはいけません。
id_rsa.pub は「公開鍵」であり、このファイルをリポジトリ管理サーバーに登録することによって、リポジトリアクセスの際に二つのキーの組み合わせをチェックして、認証を可能とします。

ここでは、例として、BitBucket へのキーの登録を行います。

msys2 ターミナルで、id_rsa キーの内容をクリップボードに保存します。

$ cat ~/.ssh/id_rsa.pub|clip

その後、Bitbucket にログインし、目的のリポジトリの管理ページを開き、左側のナビゲーションバーの最下段にある「設定」をクリックします。
その後、設定メニューの「一般」->「デプロイ鍵」でデプロイ鍵管理のタブを開き、「鍵を追加」ボタンをクリックして、鍵の登録画面を開きます。
開かれたダイアログの 「Key」項目に、クリップボードに収められた内容を貼り付けます。「Label」項目にはどんなタイトルを記述しても良いのですが、ここは msys2 ターミナルのプロンプト文字列をコピーして、貼り付けておきましょう。
これで、どの端末の何というユーザーからアクセスをするためのキーであるかが明確になります。
それそれのテキストエリアへの記入が終わったら「鍵を追加」ボタンをクリックして、デプロイ鍵の登録を完了します。

Share Button

さくらレンタルサーバーでのシェル上の文字化け解消方法

さくらレンタルサーバーでのシェル上の文字化け解消方法

さくらのレンタルサーバーに Teraterm や MSYS2 でログインしてターミナル上で日本語を扱うと見事に文字化けするんですよねぇ…。
 
こちらの解消方法なのですが、以下の手順で解決できました。

~/.cshrc に以下の内容を追記

setenv  LC_CTYPE ja_JP.UTF-8
setenv  LANG     ja_JP.UTF-8

ちょっとした事なんですけど、これでなんの問題もなくテキストエディタでバンバン日本語を書けるようになり、ちょっと幸せです(^o^)/

Share Button

MSYS2 のインストールと設定

MSYS2 のインストールと設定

Windows上で Unixライクなプログラミングを行うには、これまで Cygwin や MinGW+msys と言った方法を使うことが多かったのですが、Windowが 64bit 化されてから 64bit に特化したプログラミングを行うにあたって、徐々に多くの問題を目の当たりにするようになりました。

個人的な感想ではありますが、MSYS2 は 64bit Windows上で UNIX をエミュレートするための最も適したツールと思われ、私は今後、こちらをメインに 64bit Windows 上で UNIX ライクなプログラミングを行って行こうと思っております。

このページでは、以下の通り MSYS2 のインストールと設定を解説します。

MSYS2 は以下のサイトからダウンロードすることができます。
https://msys2.github.io/

このサイトでは msys2-i686(32bit Windows用)と msys2-x86_64(64bit Windows用) をダウンロード出来ますが、本ドキュメントでは 64bit Windows 用の (msys2-x86_64) について解説しますので、msys2-x86_64 をダウンロードして下さい。

インストール手順

installer01
ようこそ画面は、そのまま「次へ」をクリックして次画面に進みます。

installer02
インストール先フォルダはデフォルトで C:\msys64 となっていますが、そのまま「次へ」をクリックして次画面に進みます。

installer03
スタートメニューのショートカットもデフォルトの MSYS2 64bit のまま、そのまま「次へ」をクリックして次画面に進みます。

installer04
MSYS2 64bit のインストール画面では「インストール」ボタンをクリックしてインストールを開始します。インストール中、「詳細を表示する」ボタンをクリックするとインストール状況が表示されます。

installer05
インストール完了後は、「MSYS64 bit を実行中」のチェックをつけたまま「完了」ボタンをクリックすると、MSYS2のシェルウィンドウが起動します。

msys2_01

必要なコンポーネントを pacman からインストールする

$ pacman -Sy pacman
$ pacman -Syu

msys2_02

msys2_03

msys2_04

msys2_05

msys2_06

(ここで一旦、シェルウィンドウを再起動する。)
ウィンドウの閉じるボタンをクリックすと以下のダイアログが表示されるので、「OK」をクリックして終了処理を継続する。

msys2_07

$ pacman -Su

msys2_08

msys2_09

msys2_10

その後、開発に必要となるコンポーネントをインストールします。

$ pacman -S base-devel
$ pacman -S msys2-devel
$ pacman -S mingw-w64-x86_64-toolchain
$ pacman -S zip
$ pacman -S unzip
$ pacman -S p7zip
$ pacman -S sqlite3
$ pacman -S git

vim をインストールします。

$ pacman -S vim
$ cp /usr/share/vim/vim74/vimrc_example.vim ~/.vimrc

vim を使いやすくする。

$ vi ~/.vimrc

以下の行を追加(行番号表示、タブサイズを半角スペース4つ分とする。)

set number
set ts=4

vim を vi とのエイリアス設定をする。

$ vi ~/.bashrc

以下の行を追加

alias vi='vim'

以下のコマンドを実行し、.bashrc へのエイリアス定義を反映させる

$ source ~/.bashrc

シェルウィンドウ起動用のショートカットをデスクトップ上に作成する

今後の起動にあたって、Windowのスタートメニューから起動すると余計なDOS窓が開いてしまうので msys2_shell.bat から MSYS2 を起動するように設定するのが良いと思われます。

エクスプローラで、C:\msys64\msys2_shell.bat を右クリックし、ショートカットを作成後、デスクトップ上に移動する

ショートカットアイコンがバッチファイルのアイコンになっているので、ショートカットアイコンを右クリックし、「プロパティー」から、「ショートカット」タブを開き「アイコンの変更」をクリックし、「参照」ボタンを押してファイル選択ダイアログから、以下のアイコンを選択して設定する。

C:\msys64\msys2.ico

Share Button

さくらレンタルサーバーへの Symfony Demo インストール

Symfony フレームワークを利用するあたっての学習の一環として、Symfony の デモページを さくらのレンタルサーバーに配置してみる作業を行ってみました。

配置済みのデモページは以下のURLの通りです。
https://toshiya.org/symfony_demo/

この作業を行うにあたっての、大きな問題点は以下の2点でした。

  • さくらレンタルサーバーにはそのままの状態では Symfony は入れられない
  • 手順通りに作成したデモページが動かない

これらの問題を以下の通り解決し、無事にインストールを完了しました。

さくらレンタルサーバーへの Symfonyのインストール

PHPのバージョン確認

以下のように確認したところ、私の環境では PHP5.4 になっていました。

% php --version
PHP 5.4.45 (cli) (built: Feb 10 2016 10:17:56)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

PHP5.3以上であれば問題なく動くらしいのですが、さくらのサーバーコントロールパネルを開き、PHP5.6に更新しました。
phpversion

確認後(5.6にアップグレードされています。)

% php --version
PHP 5.6.18 (cli) (built: Feb 10 2016 10:19:55)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

Symfonyのインストールに必要なコンポーネントのインストール

Symfonyをサーバーで動かすためには、json, ctype, pdo_mysql, pdo_sqlite が必要になるらしいのですが、チェックしたところこちらは大丈夫そうでした。

% php -i | grep json
json
json support => enabled
json version => 1.2.1
proto_binary_fetched_json => 0

% php -i | grep ctype
ctype
ctype functions => enabled

% php -i | grep pdo_mysql
API Extensions => mysqli,pdo_mysql,mysql
pdo_mysql
pdo_mysql.default_socket => /tmp/mysql.sock => /tmp/mysql.sock

% php -i | grep sqlite
PDO drivers => mysql, sqlite
pdo_sqlite
sqlite3
sqlite3.extension_dir => no value => no value

その他に、icu と intl というライブラリが必要になることが分かりました。

ICU(International Components for Unicode)ライブラリのインストール

ICU ライブラリは C++ や java から呼び出せるネイティブコードで書かれたライブラリであり、PHPのintlコンポーネントが内部で呼び出して利用しています。
http://site.icu-project.org/

% cd ~/local/src
% curl -O http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-src.tgz
% tar zxvf icu4c-57_1-src.tgz
% cd icu/source
% ./configure --prefix=$HOME/local
% gmake
% gmake install

intlのインストール

国際化拡張モジュールintlは、PHPにICUライブラリの機能を公開します。
この拡張機能は、バージョン5.3以降のPHPに含まれており、intlバージョン3.0はPHP 5.5から利用できます。
http://pecl.php.net/package/intl

% cd ~/local/src
% curl -O http://pecl.php.net/get/intl-3.0.0.tgz
% tar zxvf intl-3.0.0.tgz
% cd intl-3.0.0
% phpize
% ./configure --prefix=$HOME/local --with-icu-dir=$HOME/local
% make
$ mkdir ~/local/lib
% mkdir ~/local/lib/php
% mkdir ~/local/lib/php/extensions
% cp ~/local/src/intl-3.0.0/modules/intl.so ~/local/lib/php/extensions 

intl を利用できるように LD_LIBRARY_PATH を追加

% vi ~/.cshrc

以下の環境変数を追加

setenv  LD_LIBRARY_PATH ~/local/lib/php/extensions

.cshrc の読込み

% source ~/.cshrc

xdebug のインストール

% curl -O https://xdebug.org/files/xdebug-2.4.0.tgz
% tar zxfv xdebug-2.4.0.tgz
% cd xdebug-2.4.0
% phpize
% ./configure
% make
% cp modules/xdebug.so ~/local/lib/php/extensions/

【注意】さくらのレンタルサーバーには、Xdebug をインストールしない方が良いです。

php.ini の編集

さくらサーバーコントロールの「PHP設定の編集」から以下の設定を追加する

※ (your_account)の部分はご自身のさくらサーバーのアカウント名です。

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Asia/Tokyo"
extension_dir = /home/(your_account)/local/lib/php/extensions
extension=intl.so

zend_extension = /home/(your_account)/local/lib/php/extensions/xdebug.so
xdebug.remote_enable=1
;xdebug.remote_host=121.2.XXX.XXX
xdebug.remote_port=9000
xdebug.remote_handler=dbgp

動的ライブラリの読み込み確認

% php -c ~/www/php.ini -m

intl
xdebug
が表示されていれば完了

Symfony本体のインストール

% cd
% mkdir local/bin
% curl -LsS http://symfony.com/installer > symfony.phar
% mv symfony.phar ~/local/bin/symfony
% chmod a+x ~/local/bin/symfony
% symfony

最後の symfony コマンドを実行すると、正しくインストールされていれば以下のようなメッセージが表示されます。

 Symfony Installer (1.5.1)
 =========================

 This is the official installer to start new projects based on the
 Symfony full-stack framework.

 To create a new project called blog in the current directory using
 the latest stable version of Symfony, execute the following command:

   symfony new blog

 Create a project based on the Symfony Long Term Support version (LTS):

   symfony new blog lts

 Create a project based on a specific Symfony branch:

   symfony new blog 2.3

 Create a project based on a specific Symfony version:

   symfony new blog 2.5.6

 Create a demo application to learn how a Symfony application works:

   symfony demo

 Updating the Symfony Installer
 ------------------------------

 New versions of the Symfony Installer are released regularly. To update your
 installer version, execute the following command:

   symfony self-update

Symfonyデモページの作成

% cd ~/www
% symfony demo

本番サーバーで動かす際の注意

Symfony デモのソースコードはローカルのDev環境での動作しますが、Prod(本番)環境ではデータベースの接続情報が設定されていない為、そのまま Webサーバーに配置しても動作しません。
このため Dev環境のDB接続設定を Prod環境にもコピーします。

~/www/symfony_demo/app/config/config_prod.yml を編集します。

#doctrine:
#    orm:
#        metadata_cache_driver: apc
#        result_cache_driver: apc
#        query_cache_driver: apc
doctrine:
    dbal:
        # temp workaround for https://github.com/doctrine/dbal/issues/1106: define DB path here
        path: "%kernel.root_dir%/data/blog.sqlite"

修正を反映させるためにサーバー上のキャッシュの削除します

% cd ~/www/symfony_demo
% php app/console c:c --env=prod --no-debug

ブラウザでの動作確認

PCのブラウザを開き、以下のURLを入力します。(XXXX は さくらインターネットの初期ドメイン名)
http://XXXX.sakura.ne.jp/symfony_demo/web/ にアクセスします。

Share Button
ToshiyaIcon

テレビ神奈川主催のハッカソンに参加しました

2014年8月10日(日) 日本列島に台風が迫る中、横浜のテレビ神奈川本社で行なわれたハッカソンに参加して参りました。

当日は即席の5名でチームを組み、横浜の商店街で活躍する看板娘にフューチャーを当てた動画投稿システムの提案及びデモの作成を行い、幸いながら最優秀賞を頂くことが出来ました。

今後、チームではこのハッカソンでの成果を具現化してゆくフェーズに入り、システム完成後はテレビ神奈川と連携してこれを広めて行くとのことです。

どうか皆さん、今後のチームの活躍にご期待下さい!!

1407754617

ヨコハマ経済新聞掲載記事:http://www.hamakei.com/headline/8979/

Share Button
ToshiyaIcon

もしも提供したアプリがウィルスと判断されたら…。

先日、顧客に提供した音声信号処理アプリ、先方の検収を待っていたのですが、どうも連絡なく、昨日、受けた連絡にはショッキングな事実が…。

どうやら、僕の製作したアプリがウィルスとして検出されてしまうらしく、起動後に実行できないどころか、自動的にチェストにされてしまい、exe ファイルが消えてしまうとのこと。

結局、納品には至らず、また問題対策に追われる状況に…(-_-;

問題となっているのは、 Avast! という無料アンチウィルスソフトであり、こちらは「無料」ということで、世の中に広く使われているものです。

そこで、実際に僕のシステムに Avast! をインストールしてみたところ、確かに開発環境で実行形式ファイルをビルドした瞬間、「Win32:Evo-gen [Susp]」というウィルスとしてチェストに移動されてしまう現象を確認。

はて… 本当に感染しているのだろうか…?

と、https://www.virustotal.com/ などでチェックしてみても問題なく、自信の環境に今度は AGV をインストールしてスキャンをかけても問題なし。

どうやら、 Avast! の誤検出らしく、Googleで検索してみれば、自作アプリがウィルスとして誤検出されると言う問題が多数報告されていました。

回避策としては、システムにインストールされている Avast! に 該当のファイルがウィルスではないことを判断させ、チェストから実ファイルシステムに復元する方法をとることで問題は回避できるのですが、これ、世の中のすべての Avast! ユーザーにこの手順を行なわせるには大変な労力です。

と、いうか、それ以前にウィルスの疑いを晴らすことが難しいのではないでしょうか?

実際に、「福井コンピュータ」という会社(僕とは関係ありません…(^-^; ) でも、この問題に困り、ユーザーに対して、問題の回避手順を公開しているページも発見。

http://www1.fukuicompu.co.jp/support/security_doc/index.pdf

ココ最近、しばらく ガッツリした Windows アプリを開発していなかったので、 気が付かなかったのですが、これ、本当にアプリ提供者泣かせの重要な問題です。

とりあえず、僕のシステムでは、アンチウィルスソフトを Avast! から AGV に変更することで問題は無くなったのですが、これと同じことをお客さんに強要するわけにも行かないですよね…。

すごく困ります…(-_-;

Share Button