いけむランド

はてダからやってきました

「強いチームはオフィスを捨てる」を読んだ

リモートワークができる会社に移ったため、どのようにリモートワークで取り組めばいいかを知りたくて読んだ。

強いチームはオフィスを捨てる: 37シグナルズが考える「働き方革命」

強いチームはオフィスを捨てる: 37シグナルズが考える「働き方革命」

まあ、考え方次第な気がする。

dompdf で pdf に画像を base64 で埋め込む

dompdf を使って pdf をつくる場合に画像を埋め込みたいけど http でアクセスできる場所に画像は置きたくないという時に base64 で埋め込めば良さそう。

<?php
$base64 = base64_encode(File::get($filepath));
?>

<!-- 画像を置く場合 -->
<img src="data:image/png;base64,{{{ $base64 }}}">

<!-- 背景にする場合 -->
<div style="background: url(data:image/png;base64,{{{ $base64 }}});"></div>

「グロースハッカー」を読んだ

実は昨年の誕生日プレゼントでいただいてから、申し訳ないことに積ん読になってたのをようやく読むことができた。

グロースハッカー

グロースハッカー

従来のマーケティングとは違うんだよ!的な話かと思ったら、エンジニアからの手法全部がある意味グロースハックなんだよ!ってことになってて、なるほどなあと思った。

イケてる入力フォーム

もう、おっさんなのでいろいろつらい。
ということでカミさんが「イミダペプチドがいいらしいよ」という話から購入することになった。

んで、web でユーザ登録して購入するかと思ったら、入力フォームがイケてた。


www.imida.jp


ソースを読んでみると、通販システムの会社のものらしい。


リピート通販システムならたまごリピート(旧:たまごカート)定期購入専用ECネット通販システムASP、ショッピングカート、ステップメールシステム


このシステムを導入している他の会社のフォームも同じような感じだった。


https://rachelwine.com/account/my_page_loginrachelwine.com


こういうのをつくれるようになりたいですね。

xezat - complement of cygport

cygport や CYGWIN-PATCHES/README をいい感じに生成したり、パッケージに変なデータが残ってないかとか調べたりするやつを書いてみた。

gem も勉強がてらにつくってみた。

README.md が欲しいという奇特な issue が発行されていたため、書いたよと返事したら即効でハイテンションな返事とともに close されたのはワロタ。


ちなみに名前の意味は特になく、単に響きがかっこいいからという理由からです。

定義されているシェル変数をやさしく出力してみる

以前 qiita で公開していた記事を引っ越してきたものです。最終更新からかなり経っているため、情報の正確性は落ちている可能性があります。

bash で定義されているすべての shell variable を普通に declare で出力させると配列の場合の parse がかなり面倒であると感じたため、配列の場合は要素毎に別の変数のように表示させる declare を書いてみました。

gist.github.com

$ ./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 にしたりもできそうです。

2014 年まとめ

今年の頭に部署異動をして、本当に何もないところからひとつのサービスの開始〜運用を中心になって携わることができたのは本当に良い経験でした。

というわけで今年はある意味、つくることに没頭できた感はあるため、来年はそれを上手く他人に引き継いだり、他のメンバが開発を効率よく進められる環境づくりの方に注力していきたいかなと思います。

というのももうエンジニアとしては定年なので、一人じゃ無理だよなあと感じてて、そろそろ若い人に楽しい仕事をしてもらって、自分は後ろから支えてあげる方が求められるんだろうなと思ってきてるのもあったりします。


ボジョレーヌーボー的に言うと、Laravel や AWS などの新しい技術に触り、学ぶ機会もたくさん得られたり、マネジメントの機会もあったため「ここ数年で最高」と言えると思います。

来年も必死に生きてるいけむらさんをよろしくお願いいたします。

EB CLI 3.x を触ってみた

以前 qiita で公開していた記事を引っ越してきたものです。最終更新からかなり経っているため、情報の正確性は落ちている可能性があります。

はじめに

EB CLI の勉強をためにいろいろググってたら、いつの間にか EB CLI 3.x があることに気づいたので、ちょっと触ってみました。

日本語の資料がまだあんまりないっぽいためにさっくりと書いた mac での作業メモです。

ちなみに ubuntu でもだいたい一緒でした。

インストール

docs.aws.amazon.com

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)

セットアップ

docs.aws.amazon.com

2.x と同じような感じです。

2.x との違い

あんまり 2.x を使いつくしてないため、それ違うんじゃね?というのもありそうですが、さっくり列挙。

config

2.x だと .elasticbeanstalk/config をいじって eb update していましたが、3.x だと eb config で EDITOR が起動して yaml をいじるようになったようです。

そして 3.x の方は .elasticbeanstalk/config に環境の情報が残らないっぽいように見えます。

deploy

2.x だと git aws.push していましたが、3.x だと eb deploy でするみたいです。

git aws.push は aws の git の end point に push 後にそちらで s3 に zip 化しておくみたいな挙動に見えましたが、eb deploygit archive するようなメッセージが出ていました。

おわりに

そもそも同一アプリ内の複数の環境の設定を全部 .elasticbeanstalk/config に置けないっぽくて、3.x 系列ならできるのかな?と思って調べてましたが、やっぱりできないようですね。