darudaru

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

PHPのNullableな型宣言

PHP

最近PHP7でプログラムを書いたりしてます。 PHP7から使えるようになった型宣言を使って、型で最初から縛れるのはいいなー、気持ちいいなー、と思いながらプログラミングしてたのですが、 「あれ、でもnullの可能性がある場合はどんな風に型宣言すればいいん…

Ruby on Railsの開発環境構築(Mac編)

MacでRuby on Railsの開発環境を構築していきます。 rubyonrails.org 1. Rubyのインストール rbenvで、RailsがサポートしているRubyの最新のバージョンをインストールします。 rbenvがインストールされていない場合は、まずrbenvのインストールをしておきま…

rbenvで最新のRubyのバージョンをインストールできるようにする

最近Rubyの勉強をはじめました。初心者です rbenvでRubyの2.5.1をインストールしようとしたら、インストール可能なRubyのバージョン一覧に2.5.1が見つかりませんでした。 $ rbenv install --list # => 2.5.1 がない!! rbenvをインストールしたのがだいぶ昔な…

PHPの静的変数(static変数)を知る

PHP

GithubでPHPのコードを読んでいたら、見慣れない変数の宣言方法を見かけました。

すぐできた!Vimでファイル別でインデント幅を切り替える

Rubyを勉強することになりました。 普段メインで使っているPHPと違い、Rubyはインデントはスペース2つ分とすることが一般的らしい。 ということで、Vimにファイルタイプによってインデント幅を変える設定を追加しました。 vimの設定に追加したこと .vimrcにf…

Node.jsでサクっとWebスクレイピングをする

私用でGithubの絵文字チートシート*1から絵文字の一覧を取得したかったのですが、良さげなツールがなかったのでWebスクレイピングで絵文字を引っこ抜くことにしました。 一応、Webスクレイピングの説明 Webサイトから情報を抽出する技術のことを指します。 W…

GoogleAnalyticsから1週間のPV数を取得するCLIを作ってみた

このブログのPV数を確認するときに、はてなのアクセス解析を開いたり、Google Analyticsの画面を確認したりするのですが、いちいちブラウザ立ち上げて画面開いてーという動作がめんどくさいなと感じてきたので、ターミナルからPV数を確認できるCLIツールを作…

学んだ記録をGithubにまとめ始めました

たまたまネットで見かけた「til」というGithubのリポジトリ。 tilとは「Today I Learned.」の略で、日々学んだことをまとめたリポジトリの名前に使われてたりする。2016年くらいに流行ったらしい。 Githubのいろんなtilリポジトリを見てみたのですが、使い方…

Node.jsでちゃんとしたCLIアプリケーションを作るまで

最近、Node.jsにハマってます。勉強のために、と小さいCLIアプリケーションをちまちま作っているのですが、最近やっとちゃんとしたCLIアプリケーションが作れるようになった・・・と思います。 「ちゃんとした」とは、ただ単に動くアプリケーションという意…

ただただ褒めてくれるCLIツールを作った

仕事中に疲れたとき、しんどくなったとき、ターミナルにtsuraiとかshindoiとか弱音を打ち込むことがあります。もちろんそんなコマンドはないので、command not foundとエラーがでて終わりです。 要はなんとなくしんどい気持ちを吐き出したいだけなのですが、…

FirebaseでNode.jsのWebアプリを動かす

express-generatorで作ったNode.jsのWebアプリケーションをFirebaseで動かすまでの手順の紹介です。 事前準備 Webアプリの初期化 Webアプリのプログラムの追加 WebアプリをFirebase用に変更 動作確認 事前準備 Firebaseのアカウント作成 Firebase CLIのイン…

Gitのコミットメッセージをうまく書けない人たちへ

Git

わたしです。 Gitのコミットメッセージを書くときに、修正内容を簡潔にまとめられない。まとめてみても、「いや、それプログラム見たらわかることだから」という書き方しかできない。ということに悩んでいました。 そもそもGitのコミットメッセージのルール…

Google Homeを遊びたおす会に行ってきました

Google Homeを遊びたおす会に行ってきました。 kotodama.connpass.com 少し前からスマートスピーカーに興味があり、ちょうど面白そうな勉強会を見つけたので行ってきました。当日の参加者は約300人!大盛況! Google Homeの基礎的な知識から実践的な話まで、…

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

(グラレコやってみました) 「レガシーソフトウェア改善ガイド」を読んだ。青いレガシーコード改善ガイドと似ているけれど、内容は別物。 レガシーソフトウェア改善ガイド作者: クリス・バーチャル出版社/メーカー: 翔泳社発売日: 2016/11/14メディア: Kindle…

gulpでPHPUnitを自動実行させる

普段、vimを使ってPHPで開発をしているのですが、開発中はgulpを使ってPHPUnitを自動実行させています。そのテストコード実行環境をご紹介。 gulpについては前にこちらの記事でまとめてますのでご参考までに。 blog.darudaru-life.com 準備 gulpと、PHPUnit…

Developers Summit 2018 1日目に参加してきました

event.shoeisha.jp 毎年恒例、Developers Summit 2018に参加してきました。去年はインフルにかかってしまい行けなかったのですが、今年は無事参加できてよかったです。1日目の午後から参加させていただきました。 各セッションの感想 人生20年説・好きな事と…

初めてのvimプラグイン開発

vim

vimrcの整理をしていたら、vimのプラグインを作ってみたくなりました。 ちなみに開発中のvimのプラグインは適当なディレクトリに設置しておいて、.vimrcのruntimepathにディレクトリパスを追加して動作確認してました。 まずプラグインの名前を決める vimの…

vimrcの見直し

vim

新年を迎えたので、新たな気持ちでと思いvimrcの見直しを行いました。ほんとは年末のうちにvimrcの大掃除として終わらせたかったけど、終わらなかった。 やったこと vimのディレクトリ構成の変更 今まで~/.vim配下にvimの設定ファイルを設置していましたが、…

サクッとDockerでCodeception

CodeceptionのAcceptance TestsをDockerで動かします。ドライバはSelenium Webdriverを使います。あ、メリークリスマス! Dockerの公式サイトに「Each container should have only one concern」と書かれているように、Dockerは1コンテナにつき1サービスを割…

初めてのDocker

「Docker For Mac」をインストールしました。Dockerに慣れたい。 Docker For Mac | Docker Dockerがインストールできてるか確認 Dockerのバージョンを確認するコマンドを叩いてみる。 $ docker --version Docker version 17.09.0-ce, build afdb6d4 $ docker…

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円。安い。 おかげ横丁で食べ歩きもして来ま…

夏の旬のくだもの

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

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…