tech::hexagram

personal note for technical issue.

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は執筆から時間が経過していたのか、最新のライブラリのバージョンで実装した場合と異なる部分が多々あり、何度かハマ…

AWS Summit Tokyo 2015に行ってきた

グランドプリンスホテル新高輪で6/2(火)、6/3(水)の2日間に渡り開催された、AWS Summit Tokyo 2015に行ってきた。 AWSのサービスは個人のドメイン向けにRoute53, VPS, EC2, S3などを使っているものの、あまり知識の深堀ができていないので、より積極的に使え…

map(&:to_i)すると文字列は0として評価される

[4] pry(main)> array = Array[1,2,3,'user_id'] => [1, 2, 3, "user_id"] [8] pry(main)> sorted_array = array.map(&:to_i) => [1, 2, 3, 0] [9] pry(main)> sorted_array = array.map(&:to_i).uniq => [1, 2, 3, 0] [10] pry(main)> sorted_array = array…

Objective-Cについて、後で調べたいこと

不思議な挙動だなと思ったことがあったので書いておく。 現象 @implementation ListClass - (NSInteger)indexOfObjectWithBaseClass:(BaseClass *)baseClass { NSUInteger index = [self.list indexOfObject:baseClass]; return (NSInteger)index; } @end @i…

GWまとめ

今日でGWが終わるのでまとめておく。 今年は5/7(木)、5/8(金)を有給休暇でお休みしたので9連休。 連休をとったものの、関東圏内から出ることはなかったが飲み遊び学び色々と充実していた。 買った ロードバイクを買いました。5/4に納車。 車種はcannondale S…

LINE Developer Dayに参加してきた

最近あまりカンファレンスに行けてなかったものの、渋谷開催で近かったのもあって久しぶりに参加してきた。 ラインナップとしては以下のとおり。細かいスライドの内容はgistに張ってあるのでそちらを参照してもらえると良いかと。 A-1 オープニング 10:30-10…

4/18 今週のつくりおき

今週も作ったので書いておく。 先週のはまだ食べきれてなくて明日でようやく完食。 反省も兼ねて副菜のボリュームを少し少なめにしてみた。 作ったもの 製作時間:2時間位 ほうれん草のおかか和え http://cookien.com/recipe/1624/ これ楽勝。レギュラーメニ…

4/12 今週のつくりおき

副菜くらいはまともに作れるようになりたいんで時間があるときに記録をつけて整理しておく。 作ったもの 製作時間:2時間位 鶏肉とキノコのガリバタ醤油炒め 市販の惣菜のタレ的なのをつけ合わせただけ 根菜とひき肉の味噌炒め http://cookien.com/recipe/21…

Xcode6でオレオレライブラリをCocoapods経由で入れるときの注意事項

iOS

OSはMavericks。 pod spec lintでエラーが出ていないか確認する $ pod spec lint targetfile.podspec これを実行した際に、ERRORが出ている部分は修正する必要がある。自分は以下のエラーが出ていたので修正した。 Loading subst-jis...done file. - ERROR |…

Vagrantメモ

http://lab.raqda.com/vagrant/index.html こちらを読んで、最低限利用するために必要な部分だけまとめた。 Vagrantとは 簡単な環境設定/複製可能なマシン/業界標準の技術で構築された1つの一貫したワークフローによって制御される可搬的な開発環境を提供し…

陰陽座全国ツアー2015「雷神」に行ってきた

陰陽座全国ツアー2014「風神」に行ってきた - tech::hexagram 陰陽座全国ツアー2014「風神」に行ってきた - tech::hexagram これの続編。ぐぐったらセトリが出ていたので、日が開いてしまったながらもこれをみながら所感を書いてみる。 陰陽座のライブは一般…

16連休を取ってやったこと

今年は、20日から有給を利用して16連休を頂いてたので、何をやったのかひと通りまとめてみる。 大掃除 部屋中のあらゆるところを徹底して掃除を行った。1週間くらいかかった気がする。 デスク、キッチン、冷蔵庫・洗濯機、ベッド、クローゼット、お風呂など…

SSL通信の勉強メモ

SSL Webサーバのために作成された電子証明書に含まれる秘密鍵と公開鍵を利用することで、WebサーバとクライアントPC間の通信を暗号化できる 接続したWebサーバが本当にドメインを所有しているかどうか(=ドメインの正当な証明書を持っているかどうか)をクライ…

例外Advent Calendar 途中までメモ

例外 Advent Calendar 読んで勉強した部分のまとめ。 単語の説明 成功 : ある命名された処理が、その名前から期待される処理を完了できた 失敗 : ある命名された処理が、その名前から期待される処理を完了できなかった 例外的状況 : ときおり失敗する状況 バ…

Android DI(Dependency Injection) memo

Simplenoteに転がってたメモを記事にして整理しておく。 DIとは あるmodule Aで別のmodule Bをnewすると、module Bが変更された場合その影響を受ける。依存性をアプリケーションクラスから取り除いてプラグイン実装へと移す。依存オブジェクトを(外部から)…

陰陽座全国ツアー2014「風神」に行ってきた

前作のアルバム発売から3年弱経って、待ちに待ったアルバムが2枚同時発売と期待を裏切らない陰陽座の新作ツアーに行ってきた。 2作のアルバム「風神界逅」「雷神創世」のうちの、前者のツアー。 今日が千秋楽ではあるものの、舌が乾かぬうちに(メンバー談)…

INC変数とシンボルテーブルとglob

仕事で実行中のスクリプトが読み込んでいるmoduleを確認する必要があり、いろいろ調べているうちにタイトルにつけたようなものに辿り着いたので、整理してまとめておく。 INC変数 @INC, %INCと呼ばれる変数で、以下の値を取得することが出来る。 @INC : モジ…

ランチパスポートで節約したお金をまとめてみた

今の会社は最寄りが渋谷なので、外でランチを食べるときは渋谷駅近辺やオフィスの近くで食べるわけだが、外食だと値段がバカにならない。基本的には1000円出さないとまともなものが食べられない状況… そんな中で救世主のごとく現れたランチパスポート。 ラン…

Xcode6でiPhoneアプリを作ろうとした時にレイアウト周りでハマったこと

iOS

Qiitaに書いてみた。 Xcode6でiPhoneアプリを作ろうとした時にレイアウト周りでハマったこと Xcode6になってから、レイアウト周りがまだとっつきにくくて色々と困っていることがある。 解決した問題については上の記事に書いたものの、まだ解決してない問題…

Google Analytics 勉強メモ

GoogleAnalytics勉強会 GA用語まとめ アカウント->プロパティ->ビューの順に階層構造が進む 指標:PV, UUなど ディメンション:指標を、集計を行う際の切り口 セグメント:集計結果を絞り込むもの セッション:1回の訪問単位。30分以内の連続したアクセスを…

iPhoneアプリを初めて作った時に導入したツールやライブラリまとめ

iOS

プライベートではじめてiPhoneアプリを作りました。自分が必要だったもので作っててとても楽しかったです。 リリースするまでに色々なツールやライブラリを初めて導入したので、利用方法についてまとめておこうと思います。 また、ハマった点もまとめておき…

Crashlyticsを初めて導入した時にハマったことまとめ

iOS

Qiitaに上げた。http://qiita.com/manji602/items/ca02752e80fe035de6d5ででーん

Githubの差分を表示するuser.jsを作成してみた

git

https://github.com/manji602/github_commit_viewer上げた。 会社でGithub Enterpriseを使っていて、コミットの差分をパッと見れないのがいまいちだったので作ったものをGithub向けにリメイクした。パッと使った感じだと、リポジトリトップから左上の「X com…

関数の呼び出し元を取得する方法まとめ

perl use Data::Dumper; warn Dumper( (caller 1)[3] ); JavaScript console.log( arguments.callee.caller );

3分間DNS 基礎講座メモ

3分間DNS基礎講座作者: 網野衛二出版社/メーカー: 技術評論社発売日: 2009/06/12メディア: 単行本(ソフトカバー)購入: 7人 クリック: 85回この商品を含むブログ (23件) を見る3分間DNSという本を会社の先輩にお借りしていて、ようやく読み終えたのでメモし…

2年目の健康診断

社会人2年目の健康診断があった。 身長は0.6mm増(おそらく、髪型の問題だと思う) 体重は3.2kg増(食事時間の変化と、まぁ要するに食べ過ぎと運動不足ですね) 視力はなぜか1.0->1.2へ(そこまで遠くがくっきりとは見えてない気がするけど、乱視の影響なの…

httpd.confメモ

プロのサーバ管理者は、StartServers、MaxClients、(Min|Max)SpareThreadsが等しくなるように設定します。 ServerLimit プロセスの上限値 ThreadLimit スレッド数の上限値 StartServers 起動時に生成される子プロセス数 MaxClients WebOTX Web サーバが処理…