読者です 読者をやめる 読者になる 読者になる

ravelll の日記

よしなに

Mackerel で金の買取相場を監視する

去年末、社員旅行での抽選会で純金が当たった。 社員旅行の抽選会で純金当たった…— 谷口 (@ravelll) 2016年12月27日 これが金です。 https://t.co/mivJigz8LO— 谷口 (@ravelll) 2016年12月28日 まだしばらく売る気はないのだけど、ひとまず金相場が見たい、…

オブジェクト指向設計実践ガイド 第6章

6章は継承の話。既知の内容も多かったけど、フックメソッドのテクニックは知っておらず、なるほど〜という感じだった。 徐々にサンプルコードのコンテキストが厚くなってきたので写経しつつ読み進めた。 transcriptional_codes/guide_for_object_orient_desi…

第110回 PHP 勉強会に行ってきた + LT してきた

phpstudy.doorkeeper.jp 久しぶりの PHP 勉強会。最後に行ったのは第96回で、調べてみたらもう1年以上も前のことだった。当時に比べれば随分と PHP に詳しくなったと思う。 LT は最近踏んだバグについて話してきた。そこそこ盛り上がって安心しました。 spea…

オブジェクト指向設計実践ガイド 第4章

パブリックインターフェースについての話。デメテルの法則についても触れていました。 第4章 柔軟なインターフェースを作る オブジェクト指向アプリケーションは「クラスから成り立ち」「メッセージによって定義される」 オブジェクトの責任 = オブジェクト…

オブジェクト指向設計実践ガイド 第3章

読み進めるうちにしばしば「あのプロダクトのあの実装はこういう意図だったのでは!」と気づいて、その瞬間が気持ち良い。 第3章では特に「他クラスへのあるメッセージ送信についての依存を、そのメッセージに応答できるダックタイプへの依存に変えるとき、…

"オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方" を読み始めた

2度目のパーフェクト PHP の読了を果たした一昨日から、オブジェクト指向設計実践ガイドを読み始めた。 オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方作者: Sandi Metz,?山泰基出版社/メーカー: 技術評論社発…

Let's Encrypt を利用して ravelll.org を HTTPS 化した

Amazon EC2 上で動かしている自身のポータルサイトを Let's Encrypt を利用して HTTPS 化したので手順をメモ。思った以上に簡単にできてびっくりした。 まず Let's Encrypt のクライアントを入手し、証明書を取得します。 Amazon Linux は公式にサポートされ…

"【ペパボ×プレイド】Tech Meetup 〜自動テスト・CI編〜" にてトークしてきました

ウェブ接客プラットフォーム Karte を運営する株式会社プレイドさんと合同で行われた勉強会 "【ペパボ×プレイド】Tech Meetup 〜自動テスト・CI編〜" にてトークしてきました。 プレイドさんのテックブログにも開催エントリが公開されています。 tech.plaid.…

macOS Sierra の tmux + vim でコピーができなくなった

OS を Sierra にアップグレードしたところ、tmux 上で起動した Vim だとヤンクしてもレジスタに何も登録されなくなってしまい、コピーもペーストもできなくなった。 あれこれやったところ解決できたんだけど、問題が明確にならないまま解決されたのでどれが…

RubyKaigi 2016

RubyKaigi 2016 に参加してきた。今年は開催地が京都だったので旅行を兼ねられて良かったし、会もとても楽しかった。 今回ペパボはお菓子スポンサーをしていて、自分はその設営を担当していた。設営後はだいたいトークを聞きに行っていたのでブースにはあま…

社内 ISUCON に参加した

今週火曜に開催された社内向け ISUCON に参加してきた。これが、まあなんともなかなかに堪える体験だった。 〜開催日 個人では本家 ISUCON のまとめページにある解説や参加した方々のエントリを眺めて押さえるべきポイントを知ることから始めた。 まとめ : I…

新卒エンジニアたちに計算量の話をした

今年も弊社は新卒エンジニア向けに座学をする季節になりました。 自分は毎回興味はあるけど知識がない分野を教えることにして無理やり学習機会を作るスタイルでやっていて、今回は計算理論について教えることにした。 speakerdeck.com 1時間で教えるには無理…

担当サービスの Issue を 600 個くらい Close した

この1週間くらいで 600 個くらい Issue を Close した話です。 やっていたところたまたま id:hitode909 さんが Issue を閉じる話をされていて、弊社もアウトプットする気持ちとなりました。 古いissueをとりあえず閉じる - hitode909の日記 背景 今携わって…

PHPBLT#5 で LT します

7/20 (水) にある PHPBLT#5 で LT することにしました。(抽選なのでまだ未確定) phpblt.connpass.com 応募時点で話す内容は全く浮かんでなくて、最近興味のある PHP のコード解析に関して知見を集めて5分間をやっていこうかと考えているところ。 まだ LT …

Recruit Technologies Open Lab #03 に行ってきた

最近会社で puppet をいじってることが多かったり、これからの Infrastructure as Code(以後IaC)を考えるのは面白そうで、ならばまずは界隈の有識者のビジョンを聞くのがよかろう、ということで参加してきた。 atnd.org どの話も、新たな知見が得られたり…

Peco 経由で特定のタグバージョンに git checkout するやつ

git リポジトリの特定のタグバージョンへのチェックアウト方法を良く忘れるので peco でバッとやる関数を書いた。 function peco_git_tags () { local selected_tag="$(git tag -l | peco)" if [ -n "$selected_tag" ]; then BUFFER="git checkout refs/tags…

YAPC::Asia Hachioji 2日目

2日目はタスクへの知見が溜まりまくっていた上にネット担当スタッフの人数も増えて余裕ができたので幾つかトークを聞いてきた。 yusukebe さん:スマホ時代のBotアプリのつくり方 uzulla さん、そーだいさん:PHPの話(飛び入りトラック) fuku2015 さん:レ…

YAPC::Asia Hachioji 1日目 + トークしてきました

YAPC::Asia Hachioji 1日目 + トークしてきました スタッフは朝8時過ぎに集合となっていたのにトークの準備が前日深夜まで押してしまって、眠い目擦りながら行ってきました。 トークは PHP のバージョンアップについてで、個人的に PHP5.3 アプリを 7.0 で動…

Alfred から Wi-Fi を再起動できるようにした

最近ときどき無線が不調になっては Wi-Fi を再起動して解決していた。以前作った wifi-workflow で再起動できたらいいな〜と思ったので restart サブコマンドを追加した。 Alfred から wifi restart で再起動できます。便利。 github.com ref シンプルに Wi-…

Vim で NERD Tree のウインドウもまとめて閉じたい

NERD Tree 以外に1つしかウインドウがないときはウインドウを閉じたら NERD Tree も一緒に閉じられて欲しいという気持ちがしばらく前からあった。毎度2回ウインドウを閉じていられるほど人生は長くない。 それを設定するパラメータが存在するのではとリポジ…

『クラウド開発徹底攻略』(WEB+DB PRESS plus シリーズ)をご恵投いただきました

普段オフィスで3メートルの距離に座られている@hsbtさんより、『クラウド開発徹底攻略』(WEB+DB PRESS plus シリーズ)をご恵投いただきました。恐縮しつつも大変感謝しております。 クラウド開発徹底攻略ということで、PaaS・IaaS としては昨今知らずには…

WEB+DB PRESS Vol.92「Web開発新人研修」に寄稿しました

明後日4月23日は WEB+DB PRESS Vol.92 の発売日でありますが、4つ掲載される特集の1つ目である「Web開発新人研修」にペパボのエンジニアで寄稿させていただきました。 この35ページをなぞることで、Webエンジニアという種の多様さやそれぞれの生業について、…

vim-quickrun からサッと javascript の動作を確認する

渋谷で仕事をしていても vim で小さな javascript コードを書いて quickrun でサッと動作確認ができるとやはり便利です。 まず Gjs をインストールしましょう。Gjs は GNOME のために javascript をバインディングする何かです。homebrew を使ってインストー…

LPICレベル1を取得した

LPICレベル1とはこのような試験です。社内の高まり集団に介入して高まった結果、迂闊にも社の目標設定に書いてしまったため、昨日取得してきました。ちなみに同様の理由から6月までに201/202の少なくともどちらか1つに合格する必要があり、やはり迂闊と言え…

CentOS7.2 で PHP5.3.29 をビルドする

そんな必要あるのか!時は2016年だぞ!という話かもしれませんが、実際必要になったのでメモしておきます。 $ cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) まずビルドに必要なツールを入れます。 $ sudo yum install pkg-config libtool …

続 cpsm で Vim: Cought deadly signal ABRT が出てしまう

会社で使っている Mac でも同様の問題が発生し、記事の方法に従ったところ解決しなかったので改めて調査して解法を探りました。 検証環境 OS X Yosemite 10.10.5 Homebrew で python, boost を入れている Pyenv で python 2.7.11 を入れている python の実行…

cpsm で Vim: Cought deadly signal ABRT が出てしまう

ほぼ下の Issue と同じ問題です。解決方法も概ね Issue のコメントにある通り。 何度か手元で発生していて、その度に解決方法を忘れていて手間取るのでメモ。 ちなみに OS は Yosemite で、バージョン10.10.5です。 OS X building? · Issue #3 · nixprime/cp…

色弱でも多少安心な Vim colorscheme を作った

自分は赤緑色弱で、そのせいか、いや全然原因違うのではとも思っているんだけど、多くのカラースキームが自身にはカラフル過ぎて、見てると気持ち悪くなってくる。そんな事もありここしばらくは vim-monochrome を使っていたんだけど、会社でペアプロしてい…

開発環境のモダン化について勉強会でLTした話

このエントリは gussan Advent Calendar 2015 の16日目のエントリです。 301: Moved Permanently gussan Advent Calendar 2015 明日は id:ravelll が担当です。

重かった vim-multiple-cursors の Insert がヌルッヌルになった

このエントリは gussan Advent Calendar 2015 の15日目のエントリです。 vim-multiple-cursors はその名前が表す機能を提供するプラグインで、1週間に5回くらい使ってる。 github.com ただ、Insert モードで 5~6行を同時に編集すると処理がかなり遅かった。…

LEOPOLD の FC660C を買った

このエントリは gussan Advent Calendar 2015 の14日目のエントリです。 しばらく前、会社の開発環境を見なおした。具体的には、デスクの上に直に置いて操作していた Macbook を台の上に置いて、外付けの操作機器を使うようにした。このおかげで、作業中に首…

第4回ペパボテックカンファレンスに行ってきた

今回で第4回目となるペパボテックカンファレンスに参加してきた。 イベントタイトルにEC編とあるように、今回の登壇者は全員ECサービス(カラーミー、カラメル)に従事する方々。 ただ各々がコミットしている箇所はバラバラで、同じ会社の同じ部署で働いてい…

surround.vim でスペース無しに括弧を付ける

surround.vim っていう Vim で括弧を付けるときに 便利なプラグインがあることは多くの人が知ってることと思うけど、 これで括弧を付けるとき自身とっては不要なスペースまで付いてしまって毎度落ち込んでいた。 で、Github 上の説明を読み返したら、ちゃん…

ターミナルのフォントを Inconsolata に換えた

Vim 上のコードを見ながら Atom でメモを取ってたら Atom からモダンオーラを感じてだんだん悔しくなってきた。 モダンに感じた原因はそのフォントで、調べてみると Inconsolata というフォントが Atom のデフォルトフォントとして使われているようだった。 …

PHP のバグレポートを投稿した

PHP 7.0.0RC5 で出ている(RC4 でも出てた)Opcache のエラーが気になってソース読んでみたら include の path が間違っている箇所が見つかった。 社の Slack の php チャンネルで話したところバグレポートしてみたら、という話になって同じ内容の投稿もなか…

Laravel をいじり始めた

結構前のことだけど、10/3 に開催された PHP カンファレンス 2015 に参加してきた。 あんまり多くの話は聞けなかったんだけど、PHPer の空気感を味わえてよかった。 Laravel はそのときに話が少し出ていて気になっていたフレームワークだった。 手元に個人的…

Soft Skills: The Software Developer's Life Manual を読んでる

何の本にしても手にとったときの熱を保って数日のうちに読み終えることは稀で、多くは途中で他の本に熱が移って読まなくなる。熱を保って読み切る努力は大変なので、せめて少しでも感想なりなんなり書いて知識を留める方向に努力を向けようと思った。 冒頭か…

cd 履歴ファイルから現存しないディレクトリを消す

cd した先をファイルに記録しておいて昔 cd したディレクトリには peco 経由で簡単に移動できるようにしてる。 dotfiles/jump.zsh at master · gs3/dotfiles · GitHub これが本当に便利で日に100回くらい実行してるんだけど、現存しないディレクトリも候補に…

シンプルに Wi-Fi を ON/OFF する Alfred Workflow を作った

会社で自分のデスクにいるときは有線 LAN を繋いでいて、Wi-Fi 設定はトラフィックを減らすべく off にしてる。 けど毎日席を立つごとにメニューバーにある無線アイコンをクリックして設定を変えることに疲弊し、Alfred からぺぺッと切り替えたい気持ちにな…

bundler v1.10.6 で Vagrant マシンへのテストが落ちる

とある puppet リポジトリで vagrant マシンに向けて Serverspec のテストを実行したところ、すべてがFになった。 どうやら vagrant のプラグインがコンフリクトしていて、bundler のバージョンもサポート外の様子。 $ bundle exec rake spec Vagrant experi…

Vim で日本語の文字化けを防ぐ

業務で触っているサービスにはUTF-8でないファイルが山ほどあります。 そういったファイルをナチュラルに開きグリッチされた日本語を見ては日々IQを下げていました。 そんな折、Vim の fileencodings を複数設定すると良いことを知りました。 vimの文字コー…

sudo.vim を直感的に使えるコマンドを書いた

書き込みに管理者権限を必要とするファイルを一般ユーザ権限で開いて編集してからそういえば sudo.vim の使い方を知らないなと気づく、みたいなことが何度かあった。 今は使い方を調べたから大丈夫だけど、使う機会少ないからまたすぐ忘れると思う。 なので…

プロセスを peco で便利に kill する

何かプロセスを kill するとき、今まで ps -ef | peco して PID 調べて kill コマンドをタイプしていた。 昨日のこと、いよいよその不毛さに嫌気がさして peco で選択したコマンドを kill する zsh widget を追加した。 dotfiles/kill.zsh at master · gs3/d…

Module#prepend と Module#include

Module#prepend をあまり知らなかったので Module#include と比較しつつコードを書いて確かめた。 Module#prepend はモジュールを継承チェーンの先頭に追加するメソッド。 一方で Module#include はモジュールを継承チェーンのひとつ手前に追加する。 module…

新卒エンジニアに Vim とかについて座学をした

弊社には先輩エンジニアが新卒エンジニアに好き勝手に座学をする習わしがある。 Git の話 by @kenchan 余暇プログラミング概論 by @morygonzalez コードレビューの話 by @hisaichi5518 素晴らしい話を色々な方がしている中恐縮だったのですが、Vim と…

Nested Resources 時に親モデルのルーティングはしたくない

どういうことかと言うと、 User has_many Products のような 2つのモデルがある POST /users/:user_id/products のルーティングがしたい けど、/users/ についてのルーティングはしたくない のような状況。より具体的には以下の感じです。 resources :users,…

アセンブリで Hello, World を書く

今日は普段より遅めに起きて出社したにも関わらず睡眠障害の一連の症状によって体調があまり芳しくなく早く機械の体になりたいという気持ちがあったため昼休みにアセンブリ言語を書いていた。 コードを書く hello.asm として以下のコードを記述する。 sectio…

Shell-Shock: rbenv で環境変数に仕込んだコードを実行してみる

rbenv の shebang が /usr/bin/env bash なので ruby 実行するだけで環境変数に仕込んだコマンド実行される— Kazuhito Hokamura (@hokaccha) 2014, 9月 25 わああと思ったので試してみた。 再現環境 Mac OSX 10.9.5 デフォルトシェル /usr/local/bin/zsh GNU…

なるほどUnixプロセス Rubyで学ぶUnixの基礎 を読んだ

新人エンジニアとの読書会でシグナルの話が出た時に色々知識が曖昧なことに気づいたので読んだ。(Spyglass についてはまだ触っていない) 社内の別の読書会にこれの原著を読むものがあったんだけど、 当時 Ruby や UNIX について知識がなさ過ぎたり英語読むの…

Terminal 上の URL をマウスクリックで開く

ターミナルに表示されたURLはcommand + ダブルクリックで開ける。 これは知らなかった。 ブラウザはデフォルトの物が使われるようです。 これで pinboard をいい感じに使う CLI 作れそうと思ったけど、 OSX なら open コマンドで open http://google.com の…