tech::hexagram

personal note for technical issue.

2017-01-01から1年間の記事一覧

iPhoneをバッテリ交換に出したらiOSのバグに遭遇した

譲ってもらった中古のiPhone5sがバッテリの持ちが酷く、更にLightningケーブルを抜き差しすると極端にバッテリ残量の増減が変わってだいぶヘタっていたので今日バッテリ交換をお願いしてきた。このiPhoneはサブ機として運用している。 お願いした業者さんは …

初めてOSSにコミットした話

mariaex というElixirのMySQLライブラリにPull Requestを送って、無事に3日前にmergeされた。初めてのOSS貢献で感慨深かったので記事に書いておこうと思う。 github.com (※@hashijun は会社用のGithubアカウント) きっかけ 今年の2月頃、業務中にとあるDB…

さくらのVPS@Ubuntu14.04でmysqlが起動できなかった

ansibleを利用してmysqlをインストールしていたが、どうもmysqlの起動でコケてしまっていた。 直接ログインして sudo service mysql start を実行してもうんともすんともいわず、困っていた。 mysql.err を見てみると1つWARNINGが出ていたが特に関係のあるも…

MTのテンプレートタグの変数展開

セットした値を mtFor で利用したい場合は、変数名を $ で囲うと展開される。 <mt:SetVar name="current_year" value="2017"> <mt:For var="year" from="1990" to="$current_year" increment="1"> ... </mt:For> 追記: MTテンプレートタグで去年の年を取得する方法として、 MTDate を利用すると良いと一度書いたものの、これは 再構築した日時を表示します。更新日時を表示したいとき</mt:setvar>…

git fetchで、unable to update local refとエラーが出た場合の対処法

git

リモートでブランチが削除されたのか、git fetchしようとした時にエラーが出た。 git remote prune origin / git fetch originで解決。 error: there are still refs under 'refs/remotes/origin/XXX` ! [new branch] XXX -> origin/XXX (unable to update l…

distilleryを利用したリリースビルドから、command経由でmoduleを実行する際のハマりどころ

2点ハマりどころがあったのでまとめておく。 リリースビルドに含まれないmoduleを実行していないか /path/to/bin$ ./some command Elixir.Some.Module run ... {"init terminating in do_boot",{undef,[{'Elixir.Some.Module',application,[],[]},...,{line,…

Exqのenqueueのプロセスを追ってみた

仕事に必要だったのでメモ書き程度に残しておく。 Exq というRedisを利用したJob queueライブラリのコードリーディング。 Exq.enqueue/4 : use Exq.Enqueuer.EnqueueApi とあるので、その中に実体がある。 # Exq.Enqueuer.EnqueueApi def enqueue(pid, queue…

ロードバイクで仙台まで行ってきた

連休を利用し、3泊4日でロードバイクに乗ってはるばる仙台まで自走してきた。 総走破距離は386kmで、これまでで一番遠くまで行くことが出来た。今回の旅に向けて準備してきたこと、旅の道中、旅から帰宅後の反省も含めて記録しておく。このエントリは1万字を…

Javascriptで連想配列のDeepCopy

Object.assign を実装当初利用したものの、Safariでは9以上でないと動かないらしい。 jQueryの $.extend を利用するとオブジェクトのマージという形でDeepCopyが出来る。 var src = fetchSrc(); // 何かしらで取ってくる var dest = {}; $.extend(true, dest…

任意で渡ってきた変数が特定のStructかどうか判定する方法

is_struct みたいな便利メソッドがないようなので以下のように判定する必要があった。 割と面倒だったのでまとめておく。 例として、任意で受け取った引数 args が User のStructかどうかを判定する。 StructはMapの拡張になっている まずStructは Mapを拡張…