ravelll の日記

よしなに

tech

PHPカンファレンス2017に行ってきた

PHPカンファレンス2017に行ってきた。去年は行けなかったので2年ぶり? phpcon.php.gr.jp 聞いてきたトークは以下のとおり。 PHPの今とこれから2017 できるPHP7アップグレード Lancersのバージョンアップ施策について 型を意識したPHPアプリケーション開発 …

アクティブな PHP の php.ini をピッと開くコマンド

php.ini を一時的に編集したいことがしばしばあって、そのたびに php -i の出力から php.ini の場所を特定してエディタで開く、としている流れが面倒に思えてきたので簡単な alias を zshrc に登録した。 alias vpi='$EDITOR $(php -i | grep "Loaded Config…

スーファミミニの予約に失敗した

午前9時ごろから Twitter に流れる情報を見つつ幾つかの Web サイトを張っていた。しかしながら、予約には失敗した。 一度ノジマでリンクタイプのクレカ決済を入力するところまで行ったのだけど、リクエスト元のページに戻ってこれず、再度サイトが表示でき…

RFC4180 を読んだ

CSV についての RFC である RFC4180 を読んだのでメモ。 導入 CSV が広く普及したあとでも正式なドキュメントは作られてこなかった TSV については専用の MIME type がある(text/tab-separated-values)けど、CSV は作られてこなかった この RFC は CSV の…

PHPカンファレンス福岡で大規模Webアプリケーションの言語バージョンアップについてトークしてきた

PHP カンファレンス福岡にて「1人から始める大規模Webアプリケーションの言語バージョンアップ」という題で登壇してきた。 speakerdeck.com 内容は少し前に終わったバージョンアップ業の終始をまとめたもの。 登壇した会場は600人収容のホールの半分ほどに椅…

WEB+DB PRESS Vol.99 の特集記事の執筆に参加しました

6/24 発売の WEB+DB PRESS vol.99 の特集1「Rubyで学ぶ!良いコードって何だろう?現場で光る変数、メソッド、クラス、モジュール活用法」を、GMO ペパボの有志たちで執筆しました。 変数・定数、関数、クラス、モジュール、またチーム開発といった視点から …

tmux 2.4 に合わせて .tmux.conf を直した

数日前に homebrew で install できる tmux のバージョンが 2.4 になった。 https://github.com/Homebrew/homebrew-core/commit/04c280961f568c8fcd25aa35d58834e016ccbd64 tmux 2.4 では幾つかのコマンドが廃止された。特に vi-copy, emacs-copy の廃止は多…

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

7章はモジュールの話。SOLID 原則の L であるリスコフの置換原則が出てきます。 第7章 モジュールでロールの振る舞いを共有する クラスによる継承はあくまで解法の1つでしかなく、クラスによる継承で解決できる問題には必ず他の解法も存在する 7.1 ロールを…

レガシーソフトウェア改善ガイドを読んだ

いくつかの書評を読んで、自身が所属するチームの活動に役立てられそうに思ったので読んでみた。 レガシーソフトウェア改善ガイドを読んだ - hakobe-blog ♨ レガシーソフトウェア改善ガイド読んだ - hitode909の日記 『レガシーソフトウェア改善ガイド』を読…

pixiv Night #02 に行ってきた

pixiv さんが話す画像処理技術、こりゃ面白そう!ということで connpass のページを見つけて即申し込んだ会でした。 pixiv Night #02 - 画像処理技術(go, blender, C++ライブラリ等) - connpass - 画像処理は大学の頃に研究で OpenCV で動画像処理をやって…

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

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

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

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

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

5章はダックタイピングの話。Ruby の特徴としてよく語られますね。 勘所がつかめると設計が洗練されるだけでなく OSS プロダクトのコードリーディングが捗って良さそうだな〜と思いました。 動的/静的型付け言語の話はなかなか強い口調で語られていて、読ん…

第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-…