この記事は 第2のドワンゴ Advent Calendar 2016 - Qiita の 7 日目 (空いていたので飛び込んだのは 10 日目ですが) です。
続きを読むcalm のインストールと mksetupini
はじめに
cygport が 0.23.0 になった時に既存の genini が使えなくなるという問題に遭遇した。
原因は cygport が生成する hint のファイル名が固定の setup.hint から変わってしまったことによるもので、genini は setup.hint 固定されている前提の処理であったため、hint ファイルが認識できなくなってしまったというものであった。
というわけでなんとかしたい旨を cygport に issue ってみた。
https://github.com/cygwinports/cygport/issues/1github.com
すると genini じゃなくて calm の mksetupini を使えばいいんじゃね?という返事をもらったので、さっそく試してみた。
インストール
残念ながら pip で入れようとすると別の calm というパッケージが入ってしまうようなので、仕方なく setup.py でインストールすることにした。
$ git clone https://github.com/cygwin/calm.git $ cd calm $ python3 setup.py install $ rehash $ which mksetupini /usr/local/bin/mksetupini
実行
普通に実行しても、いろいろとエラーを吐かれたため、最終的には以下のようなオプションをつけての実行となった。
$ mksetupini --arch x86_64 --inifile ./x86_64/setup --okmissing required-package --releasearea . $ xz ./x86_64/setup
- genini とは異なり、結果を stdout に出してはくれない。(そのため、あとから xz している。)
- releasearea はデフォルトだと /sourceware 配下にあることを想定する。そのためオプションでカレントを指定した。
あと、追加で calm のソースコードをいじって、categories に Emulators など過去に存在したカテゴリを追加した。(ここで宣言されていないカテゴリが yacp に残っており、それらが存在するとエラーとなり、setup.ini が生成されなかったため)
time で実行時間を確認したところ genini の 2/3 くらいになったように見えた。
$ gtime ./genini --recursive x86_64 > /tmp/setup.ini 29.17user 7.23system 0:51.42elapsed 70%CPU (0avgtext+0avgdata 60227584maxresident)k 2367inputs+0outputs (258major+112605minor)pagefaults 0swaps $ gtime mksetupini --arch x86_64 --inifile /tmp/setup.ini --okmissing required-package --releasearea . 17.31user 4.70system 0:33.37elapsed 65%CPU (0avgtext+0avgdata 192790528maxresident)k 1950inputs+3outputs (676major+34400minor)pagefaults 0swaps
PokemonGo-Map をインストールしてみた
【追記】
「ポケモンGO」の生みの親、解析ツールPokeVisionを規約違反と明言 - iPhone Mania とのことなので、使用する場合は規約違反となる可能性があることを認識しておいてください。
使用によって生じた損害について、投稿者は一切責任を負いません。
【追記2】
http://www.i4u.com/2016/08/114046/niantic-breaks-pokemon-go-apis-and-all-bots-and-trackers-based-apis とのことなので、
このツールを使用しても、情報を取得することはできません。
Pokémon GOの運用についてのアップデート とのことなので、
このツールの利用は推奨されるものでもありません。
興味本位でインストールしてみました。
続きを読むRe: スクレイピングに Chrome のディベロッパーツールが便利
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
こういうのをつくれるようになりたいですね。