tech::hexagram

personal note for technical issue.

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を拡張…

ansibleでrubyのArray#zipみたいなことをやる

varsで定義した2つの同じ要素数のリストをrubyのArray#zipみたいに結合してよしなに何かする場合のサンプル。 template module で利用するJinja2というpythonのテンプレートエンジンが、yamlでも展開して利用できる。 - name: "hogehoge" vars: list1: - "1"…

PhoenixのテンプレートではMap |> Enum.eachでイテレートを回した中身が表示されない

ERBと同じように書こうとしたら詰まったのでメモ。 簡単な例で書いてみる。 Ruby @grouped_users = User.all.group_by(&:group) とcontrollerで定義しておくと、erbだと以下のようにループを回せる。 <% @grouped_users.each do |group, users| %> <% users…

Mac OSXで立ち上げたVagrant内で、dockerのcontainerを立ち上げる時の小技

課題 $ docker run -p 8080:80 --name some_container -it some_env:latest /bin/bash このように記述すると、containerを立ち上げた後に、開発用のユーザアカウントを用意してSSH接続する想定の場合は、sshdの起動の設定をする必要がある。 2回目以降の起動…

VagrantのCentOS7の仮想環境はcentos/7のほうが良さそう

centosから公式のimageと思われるboxが5ヶ月前くらいにリリースされたらしく、こちらを利用したらsftpのpathが正しい状態になっていた。 というわけでこの件は解決した!

決算書を読む上で役に立つ13のポイント

最近、会社の先輩から決算書を読む上で役に立つ本を貸していただいた。 ビジネススクールで身につける会計力と戦略思考力―ポケットMBA〈4〉 (日経ビジネス人文庫)作者: 大津広一出版社/メーカー: 日本経済新聞出版社発売日: 2007/08メディア: 文庫購入: 8人 …

最近のジムトレーニングメニュー(2016年1月版)

最近はもっぱらランニングと筋トレ。だいたい以下の順番にこなす。 ランニング ◯立ち漕ぎのエアロバイク 全力で漕ぐ。大体ケイデンス(1分間あたりの回転数)90から100前後、負荷かけるときは110まで上げる。時間はだいたい25~30分くらい、マシンのデフォルト…

rubyのeach, mapの違い

すごく初歩的ですが、新年一発目のエントリは去年の積み残しから。 each [20] pry(main)> def hoge [20] pry(main)* (1..10).to_a.each do |i| [20] pry(main)* unk = i + 1 [20] pry(main)* end [20] pry(main)* end => :hoge [21] pry(main)> ihr = hoge =…

2015年技術周りざっくり振り返り

今年は部署が変わり、去年に比べてさらにいろいろな分野に手を出した一年でした。 技術的には ruby, Ruby on Rails chef, ansible Vagrant, Docker jenkins あたりに手を出してきました。来年は以下に取り組んでみたいです。 swift python 機械学習 セキュリ…

2015年にはてブした記事振り返り

今年はてブした記事のうち、また見そうな記事について やった 後でやる ネタ に分けてまとめておく。 やった cookien.com 参考にしつつレシピ作ってた時期もあった。今はとりあえずほうれん草のおひたしはここからもらったレシピでよく作ってる www.bunkei-p…

mac miniでsnmpを動かすためのメモ

https://support.apple.com/kb/TA20884?locale=ja_JP&viewlocale=ja_JPsupport.apple.com 公式サイトを見ると、 アップルは、Admin CD 上の SNMP ツールが Mac OS X Server 10.1.5 以降で使用される場合にのみ、SNMP ツールに対するテクニカルサポートを行い…

windowsで入力した「~」とmacで入力した「〜」はUnicode文字コードが異なる

「〜」をwindowsで入力するとUnicode文字コードはU+FF5Eになり、macで入力するとU+301Cになる。 数値実体参照で言えばwindowsは&#65374;、macは&#12316; となる。ドウシテコウナッタ… 詳しい説明は以下の記事にあった。 Oracleデータベースで、波ダッシュの…

Mac OSXで特定のディレクトリ配下の内容の変更を監視してコマンド実行する

launchctlを使うとお手軽に出来るみたいなのでメモ。 <plist version="1.0"> <dict> <key>Label</key> <string>hoge.huga</string> <key>ProgramArguments</key> <array> <string>/bin/bash</string></array></dict></plist>

タワレコの会員登録でメアドパス忘れ

タワレコのネット会員登録しようとしたら既に会員になっていた事案が発生。 5年以上前にガラケーから登録してたらしい。 ガラケー辿って会員ページ見に行ったら登録していたメアドが確認できてそこから芋づる式に記憶辿ってパスワード思い出してなんとか回避…

VagrantのCentOS7の仮想環境で、ansibleがデフォルトの状態では動かなかった

仮想環境の構成管理をchefからansibleに乗り換えようと決意したものの、 デフォルトだとansible -m ping すら出来ない状況に。 以下の様なエラーが出ていた。 $ ansible development -m ping -i hosts -vvvv -c ssh <192.168.33.10> ESTABLISH CONNECTION FO…

4年目の健康診断とか

一昨日だった。 身長 : 173.9cm 変化なし 体重 : 63.6kg +3.7kg 視力 : あんま変わらず両目1.2 実感として正直測定値ほど見えている気がしない 血圧 : 上がちょっと上がった。1回測定ミスってテンパったのかもしれない 内科の担当医のおっちゃんがそっけなさ…

陰陽座の新ラジオ番組をRadikoで予約録音する

mttb.jugem.jp 先日、瞬火blogで紹介があり、TOKYO FMで陰陽座の新しいラジオ番組がスタートしたそうだ。 時間は水曜25:30-25:50(つまり木曜1:30-1:50)と遅く、リアルタイムの拝聴をすると翌日が平日なのでキツイ。 初回は聞き逃してしまったので、なんとか…

Chefで構築していた仮想開発環境をfedora 20からCentOS6.5に乗り換えた

少し前からChefを使って仮想開発環境を作れるgenerator(コードネーム:Almagest)を作っていた。 当初はOSにfedora 20を使っていたが、同僚からvagrantのboxを検索できるサイトを教えていただいた。 fedoraの新しいバージョンについてもイメージが乗っていたも…

iOSアプリのCoreDataの中身を確認する方法

iOS

雑記程度に。 iOS7以降では、CoreDataの保存方法がWALモードと呼ばれるものに変わった(stackoverflow)ため、単純にApp.sqliteだけ抽出しても確認ができない。 確認環境 Xcode6.4 実機からxcappdataを取り出す Window->Devicesから端末の情報画面を開く Mac…

sphykeのセキュリティパーツを個人輸入しようとしたら最悪だった話

タイトルの通り。 GWにロードバイクを買ったこともあり、ちょこちょこと自転車用のパーツを買い足している。 sphykeのC3Nという、自転車のボルト部分を鍵にしてサドルや前後輪の盗難防止をするロードバイク用のセキュリティパーツを自転車購入時と同時期に注…

Rails Tutorialの解説の古い部分まとめ(随時更新)

部署の勉強会で、Ruby on Railsを使ったプロダクトを作ることになり、Rails Tutorialを参考にしながら実装を進めていた。こちらのTutorialは執筆から時間が経過していたのか、最新のライブラリのバージョンで実装した場合と異なる部分が多々あり、何度かハマ…