Chrome デベロッパーツールで Copy XPath で取得した XPath を Nokogiri に食わせても要素が取得できないという現象があって、原因は「Chrome が tbody を補完する」だったわけなのですが、どうしてそうなっているかというと HTML の仕様的にないといけないからっぽいです。
libexecinfo-stubs
execinfo (というか backtrace) がない環境 (主に cygwin) 向けに execinfo の stub を書いてみました。
backtrace が 0 を返したり、backtrace_symbols が null を返すだけです。
gnulib とやっていることは同じということにあとから気付きました...。
「強いチームはオフィスを捨てる」を読んだ
リモートワークができる会社に移ったため、どのようにリモートワークで取り組めばいいかを知りたくて読んだ。
強いチームはオフィスを捨てる: 37シグナルズが考える「働き方革命」
- 作者: ジェイソン・フリード,デイヴィッド・ハイネマイヤー・ハンソン,高橋璃子
- 出版社/メーカー: 早川書房
- 発売日: 2014/01/24
- メディア: 単行本
- この商品を含むブログ (5件) を見る
まあ、考え方次第な気がする。
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>
gottos - Memory allocator wrapper
メモリアロケーション関数のラッパーを動的に切り替えられる仕組みというのを実装してみた。
GModule で malloc/free/realloc の外部モジュールを選択できるようにしてみただけです。
続きを読むshyaml というツールを知った話
環境変数を yaml にするスクリプトの結果を ruby に食わせていたら、psych の bug? を踏んでしまったらしく、何処に問題があったかさっぱりわからないという状況に遭遇してしまった。
続きを読むcygwin ports を書くなら atom でどうぞ
*.cygport を atom で開くと shell の syntax highlight になるように出した pull request が merge されたよ!
イケてる入力フォーム
もう、おっさんなのでいろいろつらい。
ということでカミさんが「イミダペプチドがいいらしいよ」という話から購入することになった。
んで、web でユーザ登録して購入するかと思ったら、入力フォームがイケてた。
ソースを読んでみると、通販システムの会社のものらしい。
リピート通販システムならたまごリピート(旧:たまごカート)定期購入専用ECネット通販システムASP、ショッピングカート、ステップメールシステム
このシステムを導入している他の会社のフォームも同じような感じだった。
https://rachelwine.com/account/my_page_loginrachelwine.com
こういうのをつくれるようになりたいですね。
xezat - complement of cygport
cygport や CYGWIN-PATCHES/README をいい感じに生成したり、パッケージに変なデータが残ってないかとか調べたりするやつを書いてみた。
gem も勉強がてらにつくってみた。
README.md が欲しいという奇特な issue が発行されていたため、書いたよと返事したら即効でハイテンションな返事とともに close されたのはワロタ。
ちなみに名前の意味は特になく、単に響きがかっこいいからという理由からです。
queue:work --daemon をきちんと動かしてみる
以前 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 にしたりもできそうです。
2014 年まとめ
今年の頭に部署異動をして、本当に何もないところからひとつのサービスの開始〜運用を中心になって携わることができたのは本当に良い経験でした。
というわけで今年はある意味、つくることに没頭できた感はあるため、来年はそれを上手く他人に引き継いだり、他のメンバが開発を効率よく進められる環境づくりの方に注力していきたいかなと思います。
というのももうエンジニアとしては定年なので、一人じゃ無理だよなあと感じてて、そろそろ若い人に楽しい仕事をしてもらって、自分は後ろから支えてあげる方が求められるんだろうなと思ってきてるのもあったりします。
ボジョレーヌーボー的に言うと、Laravel や AWS などの新しい技術に触り、学ぶ機会もたくさん得られたり、マネジメントの機会もあったため「ここ数年で最高」と言えると思います。
来年も必死に生きてるいけむらさんをよろしくお願いいたします。