cmderのことが分かってきたきがするので、fluentd用のtasksを作ってみた
背景
昨年末に久しぶりに自作マシンをリニューアルして、Windows環境を使うようになり、Cmderなる イマドキのDOS窓を使うようになった
init.batをコピー
copy %ConEmuDir%\..\init.bat %ConEmuDir%\..\init_td.bat
init_td.batを編集
以下のように、
) else ( echo Creating user startup file: "%CMDER_ROOT%\config\user-profile.cmd" ( echo :: use this file to run your own startup commands echo :: use in front of the command to prevent printing the command echo. echo :: call "%%GIT_INSTALL_ROOT%%/cmd/start-ssh-agent.cmd" echo :: set "PATH=%%CMDER_ROOT%%\vendor\whatever;%%PATH%%" echo. ) > "%CMDER_ROOT%\config\user-profile.cmd" ) :: ここから call c:\opt\td-agent\td-agent-prompt.bat chcp 65001 cls set PYTHONIOENCODING=utf-8 :: ここまで exit /b
cmderの設定
fluentdのアイコンを作る
公式の
http://docs.fluentd.org/v0.12/articles/logo
から
DLして
ImageMagickでicoに変換
convert Fluentd_icon.png -define icon:auto-resize %CMDER_ROOT%\icons\fluentd.ico
完成
参考資料
関連記事
5年前の記事
4年前の記事
EC-CUBEで21世紀のお店屋さんごっこ~おきゃくさんをたくさんとうろくするよ~
おはようございます。先日、通っている園の卒園式がありました。早いもので、来年は長男が卒園します。@kjunichiです。
背景
前回準備したdockerで作ったEC-CUBEの店舗にお客さんを登録しないと、いつまで待ってもお客さんが来ません。
きみのおみせにたくさんおきゃくさんがきてかいものをしてもらうじゅんびをするよ。
こんぴゅーたーにおきゃくさんをとうろくしてもらおう!
今回はnightmareを使って、EC-CUBEのサイトに実際にアクセスして、入力して仮登録のメールを受信して、 本登録する作業を自動化してみるよ。
Nightmareの使い方
nightmareはv2.0からElectronを使うようになったWebサイト向けののテストツール。 昨今のJavaScriptなページでも頑張ると自動ブラウズできる模様。
超基本的なnightmareの使い方は以下。
const Nightmare = require('nightmare'); const nightmare = Nightmare({ show: true, switches : {'ignore-certificate-errors': null} }); nightmare .goto('https://localhost:8443/') .evaluate(() => { return document.body.innerHTML; }) .end() .then((result) => { console.log(result); }) .catch((error) => { console.error('Search failed:', error); });
かいいんとうろくする
コンピュータに自動的にやってもらう手順
- お店の入口のページを表示
- 会員登録のリンクをクリック
- お客さんの情報を入力する
- 確認ボタンをクリックする
- 確認画面の確認ボタンをクリックする
EC-CUBEのサイトの会員数が10万人越えた。 #テスト環境 https://t.co/FheT20B7I6 pic.twitter.com/4qM3PCjFGt
— kjunichi (@kjunichi) 2017年3月20日
やってみて困ったところ
nightmareがおそい
ぺーじがひょうじされるのをまつひつようがあり、ひとつだけうごかすとじかんがかかる。
とちゅうでうごかなくなる。
どうじにいつつくらいnightmareをうごかして、じかんあたりのしょりけんすうをおおくした。 これにはNode.jsのclusterをつかうことで、かんたんにつくることができた。
たいさく
docker-composeで動かしたコンテナ群を死活監視して、死んだらrestartさせるやつ探してもgoogle力が足りなくて、マジな奴しか見つからずホビーユース向けなのがなかったからnode.jsで作った。 #おはよう
— kjunichi (@kjunichi) 2017年3月21日
docker-compose psのけっかをちぇっくして、こんてながおちてるときはさいきどうするようにした。
成果物
git clone https://github.com/kjunichi/eccube-autodrive.git cd eccube-autodrive npm install node registermember.js
学んだこと
- node.jsのClusterモジュールの使い方
- docker-composeでの死活監視
- 大量にアクセスすると、hhvm,mailcatcherのコンテナが動かなくなる
関連記事
4年前の記事
3年前の記事
EC-CUBEをh2oと連携させてdocker for macで動かしてosxfsが大変遅いことを体感した件
おはようございます。なかなか次男のおむつが外れません。それどころか、ここ最近、よく漏らします。@kjunichiです。
背景
前々から、EC-CUBEを動かしたいとは思っていた。
最近Windows向けの記事が多かったけど、今回はMacでやってます。
こどもたちとのあそびをなんとか自分の趣味ともからめて何かできないかと、無い頭ひねって考えてみた。
21世紀でお店を開けば、当然オンラインでの店舗も必要ですよね、むしろ、実店舗をかまえない方が 21世紀は主流ではなかろうかと。
そこで、EC-CUBEをうごかし、21世紀のお店屋さんごっこをするという遊びをするべく、早速準備に入った。
DockerでEC-CUBEをうごかす
Qiitaの記事
を参考にやってみることに。
動かしたが、メチャおそい
docker-syncなるものを使うとファイルアクセスが早くなる旨が参考にした記事には書かれていたが、こどもたちとあそぶ程度なので、
docker-compose up -d
としてやっていた。
表示が遅い
Mac mini late2014なのも大きいが、いくらなんでも遅すぎるといったファーストインプレッション。
これでは、こどもたちにブーブー文句言われておみせやさんごっこができない。
h2oの力を借りてサクサクにする予定だった
まぁ、ちょっと遅すぎと思いつつも、Apacheでphpモジュールだからなのが大きいのだろうと考え、 h2oでFastCGIにすれば、劇的に高速化され、子供たちも文句を言わなくなるだろうと思い、やってみた。
この状態で、さすがに計測くらいはするかとtimeコマンドかまして、curlでトップページにアクセスしたら4秒もかかっている!!
改善策
一瞬真面目に、特権命令を有効にしてコンテナ上げなおして、straceするかと思ったが、 ふとdocker for macのファイル共有が遅いとのフレーズを思い出し、 コンテナ内にec-cube以下のディレクトリをコピーして、やり直した。
劇的に改善
HTTP/2でアクセスできるようになった事以外にも、fastcgiになったので 0.2秒程度になった。
成果物
せっかくなので、hhvmでやってみた。
学んだこと
apacheとの比較のため、/var/www/html/配下にec-cube,ec-cube2を同居させ、切り替えながら試している 際に、ec-cubeの初期設定もすこしわかるようになった。
設定ファイルを編集しないとクッキー周りでうまく行かないことがあった。(これは、もとにしたコンテナが、 ROOT_URLPATHを指定していた為であった)
参考資料
- EC-CUBE 開発コミュニティ - フォーラム
- Kazuho's Weblog: H2OとPHPを組み合わせるの、超簡単です(もしくはmod_rewriteが不要な理由)
- H2OでPHP(がちょっとだけ動くまで) - uzullaがブログ
関連記事
- 俺がlibh2oの記事を読んで学んだこと #osx #dylib
- Cygwinでh2oが動いた日
- hhvmをh2oと連携して動かす〜OSX編〜
- EC-CUBEで21世紀のお店屋さんごっこ~おきゃくさんをたくさんとうろくするよ~