darudaru

だるだるしてるエンジニア

powerlineのフォントパッチをあてる

vim

フォントパッチを当てる前のわたしのvimのステータスライン。 面倒で手を出していなかったpowerlineのフォントパッチを当ててlightlineのvimのステータスをかっこよくすることに。 lightlineをインストールしておく GitHub - itchyny/lightline.vim: A light…

長すぎるメソッド

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)を引き続き読んでます。 新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)作者: Martin Fowler,児玉公信,友野晶夫,平澤章,梅澤真史出…

コードの不吉な臭い

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)を読んでます。 新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)作者: Martin Fowler,児玉公信,友野晶夫,平澤章,梅澤真史出版社/メー…

日帰りで箱根へ

日帰りで箱根に行ってきました。 電車の中で日帰り温泉でググりながら目的地を決めて、ロマンスカーの特急券をネットで買い、行き当たりばったりの日帰り旅行へ。 箱根、歩いてるだけで癒された。 温泉は「天成園」に行ってきました。 11時ぐらいに到着して…

ログから操作できるtigがいい

Git

tigを最近使い始めました。Gitの操作が便利になるツールです。 インストール brew install tig GitHub - jonas/tig: Text-mode interface for git 使い方 公式のマニュアルはこちら。 Manual · Tig - Text-mode interface for Git tigとターミナルでうつと、…

DateTimeImmutableを使ったらどれくらい遅くなるのか

PHP

DateTimeImmutableのformat()を頻繁に使っていたら、コードレビューで「速度が気になる」と指摘を受けたので計測してみました。 先に結果 やっぱりDateTimeImmutableの関数の使用回数を減らしたほうが速い 計測 DateTimeImmutableのformat()で年月日を毎回取…

gulpを学ぶ

PHPerにもgulp便利だって聞いた。 gulp gulp.js タスクを自動化してくれるツール。「がるぷ」と呼びます。 gulpでできること ファイルをコピーしたりリネームしたり、画像圧縮したり、ファイル操作を自動化できる ファイルの変更を検知して何かできる Gettin…

vimrcを分ける

vim

暇だったのでvimrcを分割してキレイにしました。 やったこと setコマンドの記述をvimrcから切り離す TOMLでプラグインを管理する setコマンドの記述をvimrcから切り離す setコマンドの設定を別ファイルに記述し、vimrcでその設定ファイルを読み込みするよう…

DateTimeImmutableで日時を扱う

PHP

DateTimeImmutableクラス PHP5.5以上から使える DateTimeは参照渡しなので自身のオブジェクトが変わっていくが、DateTimeImmutableは新しいオブジェクトを返す モダンなやり方だって聞いた 使い方 現在の日時を取得する format('Y/m/d H:i:s'); // 2017/04/3…

FrisbyでREST APIのテスト自動化を試みる

REST APIのテストがめんどくさい、自動化したい、と調べていたら、FrisbyというREST APIのテストフレームワークのことを知ったので試してみた。 シナリオが書けるREST APIのテストツールを探した 意外になくて驚いた。 Frisbyを選んだ理由は、使っている人が…

初めてのこぎん刺し

こぎん刺しでコースターを作ってみました。歪んでいるのはご愛嬌。 こぎん刺しとは、青森の津軽地方に伝わる刺し子の技法のひとつ。らしい。 実はよく知らないまま、こぎん刺しのコースターを作るキットを買って作りました。 たまーに何かを作りたいという欲…

PHPUnitの知らなかったアノテーション

アノテーションとはメソッドのコメント部分に書く@で始まるタグのこと。 /** * @アノテーション名 引数 */ こう使う。 PHPUnitでテストコードを書くことが多いのですが、最近アノテーションの存在を知り、これは便利だなと思ったという話。 いいなと思ったア…

macでphpのバージョンを切り替える

PHP

php7が入っているmacでphp5.6の環境を必要になったので、phpenvでphpのバージョンを切り替えられるようにしました。 phpenv GitHub - CHH/phpenv: Thin Wrapper around rbenv for PHP version managment 「phpenv」でググると他にもphpenvと名がつくリポジト…

vimで開発をするために

vim

自分の開発のやり方の見直しをしていく中で、ほぼ素だったvimの設定も見直しました。プラグインもいろいろ入れてみて、開発がとてもやりやすくなりました。 プラグイン denite 定番。プラグインを管理するプラグインマネージャーです。 blog.darudaru-life.c…

ghqとpecoでGitのリポジトリ管理をシンプルに

Git

今まで1つのディレクトリの中にいろんなGitのリポジトリをcloneしていたのですが、リポジトリの名称が被って単純に1つのディレクトリで管理できなくなったため、Gitのリポジトリ管理の構成を見直すことにしました。 見直した結果使うことにしたツール ghqとp…

vimのビジュアルモードで開発をちょっと楽にする

vim

ビジュアルモードをどう使ったら便利なのかがいまいちわからなくて、色々調べた内容をまとめます。 vimのビジュアルモード 3つあります。 コマンド モード 説明 v ビジュアルモード 文字単位で選択する V ビジュアルラインモード 行単位で選択する Ctrl+v ビ…

ターミナル操作を録画してGifアニメーションにする

「asciinema」という手軽にターミナル操作を動画にできるWebサービスもあるようなのですが、そのサービスが終了すると動画が見られなくなってしまうので、自分でgif画像を生成する方法を試してみました。 こんな風にgifアニメーションでターミナル操作を見る…

名前空間があるXMLをPHPでパースする

PHP

Gmailでフィルタリングしている対象のメールのsubjectを取得したくて、フィルタのXMLをパースするプログラムを作ったけれども、空でしかデータが取得できず四苦八苦しました。 取得したいデータはXMLの名前空間を使って定義されていたのですが、PHPで名前空…

wordpressからはてなに引っ越してきました

初めまして、kanoeです。職業エンジニアです。 知識をアウトプットする癖をつけたい、wordpress触ってみたい、というところからwordpressでブログを1年書き続けていたのですが、はてなブログに引っ越してきました。 wordpressからはてなに引っ越した理由 メ…

dein.vimを使ってみたらやっぱり便利だった

vim

今までvimのプラグインをちまちまと個別でダウンロードしては使っていたのですが、プラグインを管理できるプラグインマネージャがあることを知り、使ってみました。 dein.vimとは vimのプラグインマネージャ。前はNeoBundleが主流だったようですが、もう開発…

エラーに苦しみながらvimのプラグイン NERDTreeをインストールした

vim

会社のmacにvimのプラグインであるNERDTreeをインストールしようとしたら手こずったので、その時の備忘録を。 NERDTreeとは下記のようにディレクトリ構造をツリー表示、かつファイルの操作もできるvimのプラグインです。 インストール手順 dein.vimを使って…

PHPの演算子を改めて調べてみたら新しい発見があった

PHP

先日、「xor」というPHPの演算子を初めて知りました。改めてPHPのドキュメントの演算子の項目を眺めていたら、意外に知らない演算子や使い方を知ることができたので、演算子についてまとめてみます。調べてみると意外に面白い演算子。 代入演算子 +$a $a を…

IFTTTを使ってslackに特定なアカウントのツイートを連携させる

わたしはKinKiKidsのファンです。大好きで、毎日情報収集に励んでいます。主にtwitterで情報を集めていることが多いのですが、山のようにツイートが流れてきて、見落とす情報が出てきたり、他にフォローしているアカウントのツイートが流れていってしまった…

Gitのオレオレサブコマンドを作ってみた

Git

仕事場でgit flowでブランチを運用していたのですが、別チームに異動になったタイミングでチーム独自のブランチの運用ルールに変わりました。gitのコマンドを普通に使っていたのですが、git flowのコマンドに比べると手順も多いし、気をつけていないとブラン…

git logで特定の文字列を含むコミットメッセージを検索する

Git

メンテにする対応ってどのファイルを改修すればいいんだっけ?ということを知りたくて、過去のコミットメッセージを検索したいなーと調べていたらgitのコマンドがありました。 $ git log --grep 検索文字列 これでコミットメッセージを検索できます。便利だ…

PHPUnitでechoやprintなどの出力処理をテストする

テストしたいコードにechoやprintなどの出力処理がある場合、PHPUnitでどうやってテストコード書いたらいいんだろう?って調べたのでまとめておく。 テストしたいコード

Travis CIでcomposerのautoloadが効かずに悩んだ話

PHP

デザインパターンを学ぶために各デザインパターンのコードをPHPで書きつつ、勉強もかねてテストコードも書いているのですが。そのテストコードをCI環境で走らせてみようと思い、Travic CIを使おうとしたら、composerのautoloadがきかずにfatalエラーが出てか…

PHPでデザインパターン「Builderパターン」

PHP

GoFデザインパターンをPHPでプログラムを書いてみながら勉強していきます。「増補改訂版 Java言語で学ぶデザインパターン入門」を参考にさせて頂いています。プログラムはGithubにあげていきます。 Builderパターンとは builderとは、日本語で建築者、建造者…

PHP5の型宣言(タイプヒンティング)

PHP

あんまり自分が活用できていないPHPの型宣言について、今更ですがまとめてみました。ずっと「タイプヒンティング」っていう言葉を使っていたけれど、PHPの公式ドキュメントを読んでいたら型宣言って呼ぶように変わっていたっぽいので、型宣言の言葉の方を使…

PHPでデザインパターン「Template Methodパターン」

PHP

GoFデザインパターンをPHPでプログラムを書いてみながら勉強していきます。「増補改訂版 Java言語で学ぶデザインパターン入門」を参考にさせて頂いています。プログラムはGithubにあげていきます。 Template Methodパターンとは テンプレートの機能を持つパ…

MacにcomposerでPHPUnitをインストールする

MacにcomposerでPHPUnitをインストールした時の手順です。composerのglobalコマンドを使用してインストールしました。 環境 MacOS Sierra 10.12.2 composerでPHPUnitをインストールする どのPHPUnitのバージョンを指定すべきかは公式サイトで確認しておきま…

あけましておめでとうございます

あけましておめでとうございます。ガキ使を見ながらコードを書いていたら、2016年が終わっていました。 TSUTAYAで借りてきたピースオブケイクという映画を観ながらブログを書いています。多部未華子さんが可愛すぎる。多部未華子さんになりたい。 2017年も始…

大晦日

2016年ももう終わり。ということで今年の振り返りです。 ブログの話 2016/3/13にこのブログを始めました。書いた記事数は46記事でした。 「とりあえず技術ブログ、始めてみよう」と始めたこのブログ。ブログを始めてから、格段に情報のインプットが増えまし…

10年ぶりにKinKiKidsのライブに行ってきた

12月22日にKinKiKidsのライブ「We are KinKi Kids Live Tour 2016 TSUYOSHI & You & KOICHI」に行ってきましたー!場所は東京ドーム! 去年KinKiKidsのファンに出戻りしてFCに再入会しました。ライブのチケットも無事入手することができました。KinKiKidsの…

PHPでデザインパターン「Singletonパターン」

PHP

GoFデザインパターンをPHPでプログラムを書いてみながら勉強していきます。「増補改訂版 Java言語で学ぶデザインパターン入門」を参考にさせて頂いています。プログラムはGithubにあげていきます。 Singletonパターンとは singletonとは、要素を1個しか持た…

MacのPHPをPHP5.6にバージョンアップする

PHP

PHPUnitをインストールしようとしたらPHPのバージョンが古いと言われたので、PHPの5.6にバージョンアップしました。以下、その時の手順です。 環境 MacOS Sierra 10.12.2 PHP5.6へのバージョンアップの手順 とりあえずhomebrewでPHP5.6のインストールを試み…

PHPでデザインパターン「Bridgeパターン」

PHP

GoFデザインパターンをPHPでプログラムを書いてみながら勉強していきます。「増補改訂版 Java言語で学ぶデザインパターン入門」を参考にさせて頂いています。プログラムはGithubにあげていきます。 Bridgeパターンとは bridgeは日本語で「橋」という意味です…

MTGする上で一番大事なことは、準備だと思う

MTGに呼ばれて行って、1時間話してデスクに帰ってきて、「あれ?さっきのMTG結局なんだったんだろう」と首をかしげることがあります。「あのMTGにわたし必要だったのかな」と思うことも。 かつて、わたしはMTGすることがド下手でした。もちろん、今が完璧だ…

homebrewではなく、curlでMacにcomposerをインストールする

PHP

Macにcomposerをいれました。最初、homebrewでインストールを試みたのですが、OpenSSLのバージョンのエラーにひっかかって出来ず、curlを使ってインストールを行いました。ちなみにhomebrewでひっかかったエラーは、「If possible you should upgrade OpenSS…

無料でGoogleAnalyticsの情報をstatsbotを使ってslackに連携する

最近、ぼっちslackを始めました。slackのintegrationの機能をいろいろ試してみたいなーと思ったのと、毎日のちょっとした運用作業を自動化させたいな、と思いまして。 日々の自分の運用作業の中に、このブログのアクセス解析をGoogleAnalyticsで見る、という…

削除したファイルの履歴をGitで探す

Git

リポジトリのファイルの整理をしていたときに、本番環境にはファイルがあるのに、Gitのリポジトリにはどこにもファイルが見当たらなくて、理由が分からず困ったときに使ったGitのコマンド。 $ git log -- <path> ファイルパスは部分一致で探してくれるわけではない</path>…

Macにtmuxをインストールしようとしたらlibeventのエラーで手こずった

自分のMacにtmuxをhomebrewでインストールしようとしたら、一発でうまくいかずにかなり手こずってしまいました。会社のMacでインストールしたときはすんなりできたので、MacのOSの違いとかが原因なのかもしれないです。 環境 Mac OSX 10.9.5 tmuxをインスト…

lsコマンドの実行結果をカラーで出力する

先日、MacのターミナルをSolarizedのカラーテーマに変更する記事を書きました。 MacのターミナルカラーをSolarizedに変更して、キレイに表示させる lsコマンドの実行結果もSolarizedのカラー設定にすることができると知り設定をしたので、そのときの手順をメ…

.bashrcと.bash_profileって何がどう違って、何を書くべきなの?

開発環境を構築していると、よく「これは.bashrcに書いて!」「それは.bash_profile書いて!」という記事を見かけ、言われるがままに記述していたのですが、2つのファイルの使い分けを分かっていなかったので改めて調べてみました。 .bashrc bashから実行さ…

MacのターミナルカラーをSolarizedに変更して、キレイに表示させる

今までMacのターミナルアプリをずっとデフォルトのまま使い続けていたのですが、Solarizedという素敵なカラースキーマがあることを知って変更を行いました。 環境 Mac OSX 10.9.5 vim7.3 Solarizedをダウンロードする Githubからダウンロードします。 tomisl…

日本初のスタバのプリンを食べました

スタバにプリンがあることをご存知でしょうか。わたしは最近まで知りませんでした。というか、最近売り出されたみたいですね。もともとは韓国のスタバで販売されていたものが、日本のスタバでも売り出されるようになったとか。 スタバのプリン、ぜひ食べてみ…

初めてのMRI

人生初のMRIを受けてきました。 働き始めて数年、慢性的な偏頭痛に悩まされています。最近痛みが発生する頻度があがってきたことと、痛みも強くなってきて仕事に支障が出てきたこともあり、頭痛を看てくれる病院に通い始めました。1回目に痛みを抑える薬をも…

Fatal error: Allowed memory size of のエラーが出て試したこと

PHP

「Fatal error: Allowed memory size of …」のエラーが発生したときに対応したことのメモ。このエラーはサーバに割り当てられたメモリをオーバーしてしまうと発生します。 1.メモリの上限をあげる 割り当てるメモリの上限を増やす対応です。 php.iniの上限を…

phpのissetには複数の引数を渡すことができる

PHP

知らなかった…。 今までissetで複数の変数をチェックしたい場合は、全て個別で書いていたのですが、そもそもissetの関数の引数は複数対応しているということを初めて知りました。 if(isset($a) && isset($b) && isset($c)){ return true; } つまり上記のよう…

「チーム開発実践入門」を読んだ

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)作者: 池田尚史,藤倉和明,井上史彰出版社/メーカー: 技術評論社発売日: 2014/04/16メディア: 単行本(ソフトカバー)この商品を含むブログ (11件) を見る 仕事でプロジェクト…