darudaru

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

CodeceptionでSelenium WebDriverを使う

CodeceptionでSelenium WebDriverを使った話。 Codeceptionの導入までは前に書きましたのでそちらを参考にしていただければと。 blog.darudaru-life.com 準備する Javaはあらかじめインスールしておくこと。 Selenium Standalone Serverをダウンロードする …

PHPのCodeceptionでE2Eテスト

PHPでE2Eテストが作れるCodeceptionが簡単に使えてとても良かったという話。 Codeception インストール composerでインストール Codeceptionをインストールしたいディレクトリ配下でcomposerでインストールを行う。 composer require "codeception/codecepti…

JavaScriptだけで作るチャットボット「BotUI」

JavaScriptだけで作れるbotフレームワーク「BotUI」で遊んでみた。 botui.org インストール npmのインストール npm install botui --save --save-exact 遊ぶ html BotUIのcssとjsを読み込む。CDNのパスを埋め込むだけでいいです。 botを表示したい位置に<bot-ui>タグ</bot-ui>…

初めてのElectron

github.com Electronを触ってみた。 インストール npm install electron --save-dev --save-exact とりあえず動かしてみる すぐに動かせるelectron-quick-startリポジトリが用意されているので、そちらを使います。 git clone https://github.com/electron/e…

よりそひ守り

乃木神社に参拝してきました。 乃木坂駅から出口でてすぐだった。出口でて左向いたらもう神社だった。 お目当はこれ。よりそひ守り。 友達が最近結婚したので、結婚祝いのプレゼントとして買いました。 数に限りがある・・と事前に乃木神社のサイトに書いて…

Preztoでプロンプトを可愛くする

可愛いプロンプトに憧れてPreztoを使い始めました。 github.com インストール リポジトリをcloneする git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" zshの設定ファイルを作る setopt EXTENDED_GLOB for …

真夏の伊勢神宮

伊勢神宮に行ってきました。 東京と違って綺麗な青空!ものすごく暑かったです。 鳥居をくぐり。 五十鈴川を横切り、と思ったら川がすごく綺麗だったので寄り道。 名物の伊勢うどんももちろん食べて来ました。 450円。安い。 おかげ横丁で食べ歩きもして来ま…

colorlsでlsにアイコンをつける

twitterで見かけて一目惚れした。 lsの結果にアイコンをつけてくれるcolorlsをインストールしました。 かわいい。 インストール github.com あらかじめrubyのインストールが必要です。 フォントをインストールする Homebrew Fontsでインストールしました。 b…

夏の旬のくだもの

最近スーパーでよく桃を見るので、買って家で食べてます。今が旬の桃。 ちょっと柔らかめの桃の皮を手で向いて、切って食べる。種の周りに残った果肉はかぶりついて食べる。 桃食べると夏っていう感じがする。 学生の頃、フルーツは高くてなかなか手が出せな…

proxy経由でcomposerを使う

PHP

なかなかproxyを突破できずハマりまくった。 proxyを突破するためには .bashrcに環境変数を追加する HTTP_PROXY=http://proxy-host:proxy-port/ HTTPS_PROXY=http://proxy-host:proxy-port/ 追加したら、composerが動くかチェックする。 composer diag エラ…

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が主流だったようですが、もう開発…