Post

プログラミング

2017-07-15 15:56:31

Laravel5.4でsqliteを使ってテストをかく準備

概要Laravel5.4でsqliteの使ってテストをかく準備をします。 前提 Laravelの基本 マイグレーションファイルの用意 phpunit.xmlを編集以下3行を追加します。 sqliteのインメモリ機能を使います。 <php> <env name="APP_ENV" value="testing"/> <env name="CACHE_DRIVER" value="array"/> <env name="SESSION_DRIVER" value="array"/>...

プログラミング

Laravel SQLite test

2016-12-18 21:13:47

Laravel5.3で自作artisanコマンド.md

今携わっているプロジェクトでRepositoryパターンを導入しているのですが、Repository関連のファイルを自動で生成するコマンドがあったら便利だなと思い、作ってみました。 コマンドを生成php artisan make:command Repository /CommandsにRespository.phpというコマンド用のファイルが生成されます。 コマンドファイルを編集Repository.phpを編集します。handleメソッド部分はCreating file using Artisan Command in Laravel 5.1のコードをお借りして、少しカスタマイズしました。...

プログラミング

Laravel repository artisan

2016-10-03 21:08:38

Laravel5.2にNotificationでNotificationを使う

Laravel5.3がリリースされましたが、あえてLaravel5.2でNotificationを使う話です。 環境 Laravel5.2(または5.1) NotificationをインストールNotificationとはナンゾヤ? Laravel.com - NotificaionsLaravel Notification Channel Laravel5.3以前では通知の管理などはEventとListenerを活用することで何とかゴニョゴニョやっていたかと思います。 それがNotificationによって、より便利に通知管理を行えるようになりました。※名前の通り、通知に特化したものなので...

プログラミング

Laravel

2016-10-03 21:07:08

Laravel+React+Superagentでフォームを実装

表題の通りです。Laravel+React+SuperagentでAjaxなフォームを実装します。 AjaxライブラリとしてSuperagentを採用しているのは、jQueryから脱却したいのと、jQueryのAjaxよりも分かりやすかったからです。プロミスとかいう難しい概念があるらしいですが、それは横に置いておいてもとりあえずは使えそうです。 Web標準の観点からするとFetchAPIがイケてるらしいのですが、各ブラウザベンダーの実装にばらつきがあるようなので避けました。 フロントエンドってつくづくカオスだなーとボヤキつつも話を進めていきたいと想います。 やること LaravelでAPIを用...

プログラミング

Laravel React AJAX superagent

2016-10-03 21:06:21

Laravel+React+ES6+Browserify

ちょっと前の記事で、bowerでReactの環境をセットアップするという話をしたのですが、npmでReactのパッケージ管理をしたほうがスマートだし、ES6かけるようになっといた方がこの先お得よねということで環境を再構築しました。 ES5からES6で書き方が色々変わるのでその辺の改修がちょっと面倒でしたが、さほど難しいことはないので気負いしなくとも良さそうです。 環境 Laravel5.2・・・5.1とか5.2ユーザーはelixirのバージョンを最新(5.3のそれと同じ)に上げとくといいかもです。 Browerify(Elixirについてるやつ) React ES6 Reactをnpmで用意...

プログラミング

React JavaScript npm webpack ES6 browerify ES5

2016-12-17 21:03:53

Laravel リポジトリパターンの実装

DB操作に関連するスマートな実装パターンであるリポジトリパターンについてかいてみようかと思います。 リポジトリパターンとはデータの操作に関連するロジックをビジネスロジックから切り離し、抽象化したレイヤに任せることで保守や拡張性を高めるパターンです。(必ずしもDB操作のロジックのみを留めるパターンというわけではないそうです。) Laravelにリポジトリパターンを取り入れることで、 テストがしやすくなる DBエンジンの変更に対応しやすくなる データ操作のロジックが1箇所にまとまり、管理しやすくなる といったメリットを得ることができます。 リポジトリパターンの実装Modelと同じ単位でRepo...

プログラミング

Laravel repository

2016-10-03 21:01:26

Google ExtenstionのPluginをつくってみた

英語版のGoogleで検索したい時には、ブックマークを利用してアクセスしていたのですが、プラグインで便利にできないかなーと思い、作ってみました。 デフォルトのブックマークが非表示で、Bookolio(ブクマを見やすくするやつ)とかいうプラグインを使っているニッチな人だと多少便利なプラグインかもしれません←自分 環境 Google Chrome Javascript 仕様プラグインの種類は色々ありますが、今回つくるのはこれです↓ 【プラグインの画像】 プラグインのアイコンを押すと、Googleの英語版を新規タブで開いてくれるだけの超単純な機能です。 超単純なだけに伸びしろのある仕様ですね()...

プログラミング

JavaScript google chrome extension

2017-01-30 20:59:54

gitコマンドを楽にするシェルスクリプトをかいた

概要.bashrcにgitのショートカットコマンドをつくったでgitのエイリアスコマンドをつくったのですが、中途半端だったので改良しました。 前回のエイリアスでもそこそこにgitコマンドが快適になりましたが、gitコマンドを叩く度にブランチ名をタイプしないといけない仕様は改善すべき点だと思ったので、selectを使って解決しました。 ソースgit branchの値をselectで回せばいいと思っていたのですが、ブランチ名だけではなくファイル名とか取得されてしまうので加工する必要がありました。ちょうど同じようなことを実践している記事があり、そちらを参考にさせていただきました。 作ったコマンドは...

プログラミング

Git shellscript

2016-10-03 20:59:26

FormRequestのrulesメソッド内でバリデーションルールを振り分ける

複数のフォームがある状況で、「フォームリクエストのクラスは一つに絞って、rulesメソッド内で分岐したい」なんて思う日があるかもしれません。(私はRest APIつくっているときにありました。) 案外同じことを考えている人がいたようで、リファレンス漁るよりも先に結果が出ました。 Multiple Forms, Multiple Requests? FormRequestのrulesメソッド内でゴニョゴニョします。 /** * Get the validation rules that apply to the request. * * @return array...

プログラミング

Laravel

2016-11-04 21:05:27

ES6のExportとImportについて

ES6のexportとimportについて把握しきれていないところがあったので調べてみました。 exportの使い方 export 文は、指定したファイル (またはモジュール) から関数、オブジェクト、プリミティブをエクスポートするために使用 引用元:MDN - Export ここでいうエクスポートとは、何かを定義するという意味合いに近いかと思います。 エクスポートには2種類の方法があります。 名前付きエクスポートexport { hogeFunction };  // 宣言済みの関数をエクスポート export const hoge = 1; // 定数をエクスポート letやvarも可。...

プログラミング

JavaScript ES6

2017-05-06 20:58:17

dotEnvの環境変数をクライアントサイドでも使えるようにする - dotenv-webpack

dotenv-webpackは.envファイルに用意された環境変数をクライアントサイドでも利用したい時に便利なライブラリです。 導入npm install dotenv-webpack --save-dev webpack.config.jsにpluginとして設定します。 const Dotenv = require('dotenv-webpack'); module.exports = [ ~~~ゴニョゴニョゴニョ~~~ { plugins: [new Dotenv({ path: 'path/to/.env',...

プログラミング

JavaScript npm webpack

2017-01-30 20:55:51

cdコマンドでディレクトリをタイピングするのが面倒くさくなってきたのでシェルスクリプ...

概要cd hogehogeとかパスやらディレクトリやらタイプするのが面倒になるという怠惰っぷりを発揮してきたので、シェルスクリプトを使って少し楽できるようにしました。 ソース#!/bin/sh # cd by selecting numbers function cdSelect() { dirs=`ls -a` PS3="Select directory > " echo 'Directory list:' select dir in ${dirs} do stty e...

プログラミング

bash shellscript

2017-02-22 20:54:17

bitflyerのprivate apiを使ってビットコイン資産状況をslackに通知する

背景bitflyerが用意しているAPIをちょっと使ってみたかったので資産状況を返すAPIをたたいてみました。 ソースnodejsでAPIをたたきます。レスポンスデータは恥ずかしいので見せません。//// なおソースコードの大部分はドキュメントの例を参考にしています() var request = require('request'); var crypto = require('crypto'); var key = 'your_bitflyer_api'; var secret = 'your_bitflyer_secret'; var timestamp = Date.now().t...

プログラミング

API bitcoin Node.js bitflyer

2017-01-17 21:05:36

bitflyerのprivate apiを使ってビットコイン資産状況をslackに通知する Par...

前回、bitflyerのAPIを叩くだけ叩いてポイーしてたので、今回はレスポンスデータを整形して資産情報データとしてslackに投げれるようにします。 とりあえずasyncで非同期処理APIを複数叩く必要があったのでasyncを使いました。エラー拾っているところは参考サイト(失念しました)を真似ています。なんだか見通しの悪いコードになってしまいました・・・ var request = require('request'); var crypto = require('crypto'); var async = require('async'); var key = 'YOUR_KEY'; v...

プログラミング

bitflyer API async bitcoin Node.js

2016-11-22 20:49:06

.bashrcにgitのショートカットコマンドをつくった

git add hogehoge, git commit hogehoge, git push hogehoge.... 基本的なgitコマンドしか使わないのですが、毎回コマンド叩くの面倒くさい、楽したいということでエイリアスをつくってみました。 スクリプト#git branch alias git-b='git branch' #git checkout function gitCheckout() { stty erase ^H echo -n "What is the new branch name"?...

プログラミング

bash Git shellscript

2016-06-27 16:02:30

Laravelのデバッグツールlaravel-debugbarをつかってみる

Laravelのlaravel-debugbarというデバックツールについて紹介します。 github-laravel-debugbar laravel5.1でも5.2でも使えました。 composerでlaravel-debugarを導入composer require barryvdh/laravel-debugbar --dev からの composer install facadeで使えるようにするインストールするだけでもデバッグツールとして問題なく使えますが、より詳細にデバッグしたい場合はfacadeで使えるようにしておくと便利です。 app.phpのproviderとalias部...

プログラミング

Laravel

2016-05-15 16:05:02

Laravelをinstallerでカンタンインストール

Laravelをインストールする時、composerを使って毎回面倒なコマンドをうっていたのですが、インストーラを使ったほうが楽でした(今更感)。 準備 composer MacOS インストーラをグローバルインストールcomposer global require "laravel/installer" パスを通す MacOSならこれでいけると思います。(Winは知りません・・・) export PATH="~/.composer/vendor/bin:$PATH" 新規プロジェクト作成laravel new PROJECTNAME 最新版のLara...

プログラミング

Laravel