実は昨年の誕生日プレゼントでいただいてから、申し訳ないことに積ん読になってたのをようやく読むことができた。
従来のマーケティングとは違うんだよ!的な話かと思ったら、エンジニアからの手法全部がある意味グロースハックなんだよ!ってことになってて、なるほどなあと思った。
*.cygport を atom で開くと shell の syntax highlight になるように出した pull request が merge されたよ!
もう、おっさんなのでいろいろつらい。
ということでカミさんが「イミダペプチドがいいらしいよ」という話から購入することになった。
んで、web でユーザ登録して購入するかと思ったら、入力フォームがイケてた。
ソースを読んでみると、通販システムの会社のものらしい。
リピート通販システムならたまごリピート(旧:たまごカート)定期購入専用ECネット通販システムASP、ショッピングカート、ステップメールシステム
このシステムを導入している他の会社のフォームも同じような感じだった。
https://rachelwine.com/account/my_page_loginrachelwine.com
こういうのをつくれるようになりたいですね。
cygport や CYGWIN-PATCHES/README をいい感じに生成したり、パッケージに変なデータが残ってないかとか調べたりするやつを書いてみた。
gem も勉強がてらにつくってみた。
README.md が欲しいという奇特な issue が発行されていたため、書いたよと返事したら即効でハイテンションな返事とともに close されたのはワロタ。
ちなみに名前の意味は特になく、単に響きがかっこいいからという理由からです。
以前 qiita で公開していた記事を引っ越してきたものです。最終更新からかなり経っているため、情報の正確性は落ちている可能性があります。
続きを読む以前 qiita で公開していた記事を引っ越してきたものです。最終更新からかなり経っているため、情報の正確性は落ちている可能性があります。
bash で定義されているすべての shell variable を普通に declare で出力させると配列の場合の parse がかなり面倒であると感じたため、配列の場合は要素毎に別の変数のように表示させる declare を書いてみました。
$ ./declare.sh : : BASH=/bin/bash BASH_COMMAND=echo $var=${!var} BASH_LINENO[0]=0 BASH_SOURCE[0]=./declare.sh BASH_SUBSHELL=0 BASH_VERSINFO[0]=3 BASH_VERSINFO[1]=2 BASH_VERSINFO[2]=53 BASH_VERSINFO[3]=1 BASH_VERSINFO[4]=release BASH_VERSINFO[5]=x86_64-apple-darwin14 BASH_VERSION=3.2.53(1)-release : :
おそらく応用すれば yaml にしたりもできそうです。
今年の頭に部署異動をして、本当に何もないところからひとつのサービスの開始〜運用を中心になって携わることができたのは本当に良い経験でした。
というわけで今年はある意味、つくることに没頭できた感はあるため、来年はそれを上手く他人に引き継いだり、他のメンバが開発を効率よく進められる環境づくりの方に注力していきたいかなと思います。
というのももうエンジニアとしては定年なので、一人じゃ無理だよなあと感じてて、そろそろ若い人に楽しい仕事をしてもらって、自分は後ろから支えてあげる方が求められるんだろうなと思ってきてるのもあったりします。
ボジョレーヌーボー的に言うと、Laravel や AWS などの新しい技術に触り、学ぶ機会もたくさん得られたり、マネジメントの機会もあったため「ここ数年で最高」と言えると思います。
来年も必死に生きてるいけむらさんをよろしくお願いいたします。
以前 qiita で公開していた記事を引っ越してきたものです。最終更新からかなり経っているため、情報の正確性は落ちている可能性があります。
EB CLI の勉強をためにいろいろググってたら、いつの間にか EB CLI 3.x があることに気づいたので、ちょっと触ってみました。
日本語の資料がまだあんまりないっぽいためにさっくりと書いた mac での作業メモです。
ちなみに ubuntu でもだいたい一緒でした。
brew
でインストールされるのは 2.x 系列のようです。
$ brew install aws-elasticbeanstalk
3.x 系列を入れるには pip
を使うようです。
$ brew install python $ pip install awsebcli $ eb --version EB CLI 3.0.10 (Python 2.7.9)
2.x と同じような感じです。
あんまり 2.x を使いつくしてないため、それ違うんじゃね?というのもありそうですが、さっくり列挙。
2.x だと .elasticbeanstalk/config
をいじって eb update
していましたが、3.x だと eb config
で EDITOR が起動して yaml をいじるようになったようです。
そして 3.x の方は .elasticbeanstalk/config
に環境の情報が残らないっぽいように見えます。
2.x だと git aws.push
していましたが、3.x だと eb deploy
でするみたいです。
git aws.push
は aws の git の end point に push 後にそちらで s3 に zip 化しておくみたいな挙動に見えましたが、eb deploy
は git archive
するようなメッセージが出ていました。
そもそも同一アプリ内の複数の環境の設定を全部 .elasticbeanstalk/config
に置けないっぽくて、3.x 系列ならできるのかな?と思って調べてましたが、やっぱりできないようですね。
以前 qiita で公開していた記事を引っ越してきたものです。最終更新からかなり経っているため、情報の正確性は落ちている可能性があります。
そろそろ laravel 歴 1 年になりそうながら、まだまだ使いこなせていない @fd0 です。
今回は database 周りのとある処理で 2~3 日悩んだ時のことを書いてみたいと思います。
コードを追いきれていないため、もしかしたら、もっと簡単に解決する方法 or そもそもやり方が良くないかもしれませんので、その場合はコメントなどでツッコミをいただければと思います。
やりたかったことは単純に「とあるアクション内で slave に繋ぎたかった」だけなのですが、どうも Eloquent 経由で思ったとおりにいってくれませんでした。
最初は以下のようなコードを Controller で書いていました。
// default は master $model ->setConnection('slave') ->where('foo', $value) ->with(['bar' => function ($q) { $q->where('baz'); } ]) ->get();
ところがこれですと $model
は slave を参照しますが、bar
は master を参照してしまいました。
¥Illuminate¥Database¥Eloquent¥Model あたりを読んでみても、Relation に $this
を渡してるように見えるため、何故動いてくれないのかさっぱりでした。
with
ではなくて load
かなと思っていろいろ試行錯誤してみましたが、やはり slave を参照してくれません。var_dump
すると connection は slave になっているため、既に作成されている master の connection を使っているのかなと思いましたが、よくわかりません。
Eloquent を諦めて DB::connection('slave')
で解決しようかと思ったのですが、そうなると取得結果を Illuminate¥Database¥Eloquent¥Collection として処理している部分を書き換えないといけないため、それはそれで面倒だなあと思ってしまいました。
そうやって 2~3 日過ぎていった後にようやくできるようになりました。
とあるアクションの route だけ database の設定を config で上書きすることでやりたいことを実現することができました。
// filter.php Route::filter('db.slave', function() { Config::set('database.default', 'slave'); });
// route.php
Route::group(['before' => 'db.slave'], function()
{
Route::get('/', 'HogeController@actionGununu');
});
slave を参照しているかどうかは DB::connection('slave')->getQueryLog()
で確認しました。
同じことで困ってる人はいないのかとググッてみても全然見つからなかったので、まとめてみましたが、もしかしたら誰も困ってないのかもしれません...。(;^ω^)
あと、issues に関係ありそうな感じの Request がありましたが close されてました。
Laravel からいい感じに日本語 PDF を生成したかったのでいろいろと調べてみた。
続きを読む読んでたら、漠然と「あるなあ」と思ってたけど使ってなかった機能がいくつかあったと思うので、今度使ってみようと思った。
GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)
Archey という簡単なシステムの情報とディストリビューションのロゴを表示するユーティリティがある。
これは python で書かれているのだが、homebrew からだと別の人が書いた osx 向けの簡易版がインストールされる。
これを参考に cygwin 版を書いてみた。
実行すると以下のようになる。
ちなみに screenfetch というプログラムもある。こちらは一応 cygwin も対応しているように見えた。
実際に cygwin で動かしてみると、windows のコマンドを使うのを前提にしているらしき warning がちょこちょこ出た。
そもそもロゴが windows になるのが解せなかったのが、今回 archey を書いた理由でもあったりする。
あと、すごいどうでもいいことを言うと、cygwin のアイコンの AA は /etc/motd にあるものを JavE - Java Ascii Versatile Editor で縮小した。AA エディタによる編集の方がコードよりも時間がかかったかもしれない。
この本を読めば、だいたい解決すると思います。何故か家にありました。
幻想世界ネーミング辞典―13カ国語版 (COSMIC MOOK)
基本的な内容なのでちょっと物足りなかった感はあるが、読んで損はない内容だった。