Webエンジニアの日常とリーグオブレジェンド

Webエンジニアとして働いている猫のブログ。EmacsとMySQLとリーグオブレジェンド(LoL)が好物。主に技術的な記事かLoLの記事を書く。

開発

REST API の URL(PATH)をどう作っていくか - Search の例

REST API (RESTful API)は API の PATH をリソースの PATH に見立てて、 API のエンドポイントを決めていく、というのは皆さんご存知のことです。 単純なリソースの PATH 例えば、 id=1 の動画は GET /videos/1 id=3 の画像は GET /images/3 のようになり…

Akasic game engine で BGM の再生と停止を行う

Akashic Engine のロゴ はじめに 環境 音を鳴らすための準備 音源ファイルを用意する mp3 などを aac と ogg に変換する game.json の更新 aac と ogg のファイルを配置する systemId について BGM の再生・停止 上記コードの詳細 はじめに この記事は、 Aka…

Windows 10 に OpenJDK 8 をインストール

はじめに 環境 OpenJDK 8 をダウンロード PATH に追加 はじめに Oracle JDK がいろいろとあれなので Open JDK を windows に入れます。 環境 Windows 10 OpenJDK 8 OpenJDK 8 をダウンロード https://github.com/ojdkbuild/ojdkbuild からダウンロードします…

PCが突然再起動する問題がSSD交換で治ったのでSSDのファームウェアアップデートを試す - 開発者に必要なSSDの容量とは

この記事は何? 経緯 SSD交換 なぜ1TBにしたのか 買ったSSD 250GBのSSDのファームウェアアップデートを試す Crucial SSD のファームウェアアップデートの方法 WindowsでISOをUSBに焼く まとめ この記事は何? 目次を見てもらえればこの記事の流れはわかるか…

Vagrant で C:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.4.0/json/common.rb:156:in `parse': 751: unexpected token at '' (JSON::ParserError)

vagrant up などでエラー D:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.4.0/json/common.rb:156:in `parse': 751: unexpected token at '' (JSON::ParserError) from D:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.4.0/json/common.rb:156:in `pa…

とりあえず TypeScript を動かすまで

前提 npm init npm install typescript index.ts を用意 コンパイル 動かす 前提 node, npm はインストール済み npm init npm init を叩いて適当に package.json を作成する。 npm install typescript npm install typescript 以下が package.json に追記さ…

PHP Laravel 標準の AuthenticatesUsers によるログインの処理を見てみる

環境 はじめに AuthenticatesUsers::login の中でやっていること validateLogin hasTooManyLoginAttempts まわり ThrottlesLogins::hasTooManyLoginAttempts attemptLogin それ以降の処理 環境 PHP 7.3 Laravel 5.8 はじめに Laravel では標準で認証の機能が…

PHP, Laravelで開発する時に役に立ったページ

はじめに 個人的に役に立ったページです 執筆時のLaravelの最新版は 5.8 です 基本は公式ドキュメントが大事 随時更新していきます Homestead Laravel Homestead 5.8 Laravel HomesteadでPHP(Laravel)アプリケーションが動作しなくなった時の対処法 Model, M…

【AWS IAM】AWS EC2 から CodeCommit のコードを clone できるようにするまで【CloudFormation】

はじめに git cloneのために何をする必要があるか AWS IAMとは IAM ロールとは EC2からCodeCommitのcloneを行いたい場合 CloudFormationで表現する git config はじめに CodeCommit にpushされているコードを AWS EC2 にデプロイしたい。 ただし、CodeDeploy…

【PHP】LaravelでServiceProviderでInterfaceに実装を注入したりstringを注入する方法【DI】

Interfaceを利用する意義 Laravelでどうやって注入するの? サービスプロバイダとは register メソッドでDIの設定を書く Interfaceへの実装注入以外の用途でも使える まとめ Interfaceを利用する意義 LaravelはDIを勝手にいい感じにしてくれます。例えばこう…

Macにnpmをインストールする方法 in 令和(2019年)

僕が考える最強の「Macにnpmをインストールする方法」in 2019 環境 nodebrew nodebrewでnodeを入れる npmを入れる 環境 macOS Mojave Homebrewはインストール済みである前提 nodebrew npmを動かすためにはnodeを入れなければ入れないのだが、簡単にnodeのバ…

はてなブログでPHPのコードを書いたときのシンタックスハイライトについて

シンタックスハイライト はてなブログにはシンタックスハイライト(見やすいようにプログラムのコードに色をつけてくれる機能)がある。 シンタックスハイライトなし

GitHubのレビュー支援ツールであるJasperを使う

導入方法 Jasperのダウンロード GitHub Token の設定 プルリクエストを監視する設定 高度な設定 使い方 GitHubでレビューする際に、レビューが出された際にコメントはするものの、それからコメントに返信があったり、コメントを受けてレビューが更新されたり…

Vagrantを使ってPHP Laravel開発(PHP 7.3, Laravel 5.8 macOS)

はじめに PHPのWebフレームワークといえばLaravelである。今PHPでWebアプリケーションを開発するならLaravelを使っておけば間違い無い。 LaravelにはHomesteadという開発環境が用意されていて、これを使えばすぐにWebアプリを作成できる。 環境 今回はMacで…

FeedlyでGitHubのリリースを追ってみる

はじめに Feedly Feedlyに登録 GitHubのRSS まとめ はじめに 僕自身RSSリーダーというのは使ったことがありませんでした。はてなRSSリーダー、ライブドアリーダー(ライブドワンゴリーダー)など、様々なRSSサービスが終了してきたことから、RSS はもう古い…

OpenAPI Specification で Response の object の Key を固定値ではなくて可変にしたい場合(ハッシュを返したい場合)

はじめに Dictionary, ハッシュマップ, 連想配列 additionalProperty とは additionalProperty を利用してDictionaryを書く まとめ はじめに OpenAPのドキュメントの以下のページの訳的なブログです。 Dictionaries, Hashmaps, Associative Arrays | Swagger…

【PHP】Mockeryでクラスとインタフェースを継承したクラスをモックしたり、複数のインタフェースを実装したクラスをモックする

はじめに PHPのGuzzleHttp *1 を利用し、以下のようなコードを書いた。 guzzleClient は コンストラクタDIなどを利用して // $this->guzzleClinet = new \GuzzleHttp\Client(); を差し込むようにする $response = $this->guzzleClient->post($url); } catch …

MacでHomebrewを使っていて、コマンドラインから叩くphpのバージョンがなんかおかしくなった場合の対処

概要 ある日 composer install するとこんな警告が出た phpunit/phpunit 5.7.21 requires php ^5.6 || ^7.0 -> your PHP version (5.5.20) does not satisfy that requirement. phpunit 5.7.21 を利用するには php5.6 以上または php7.0 以上が必要だが、あ…

libprotoc 3.0.0 から libprotoc 3.3.2 にアップデートしたらコンパイル時の namespace 指定が効かなくなって GPBMetadata が生成されるようになった

状況 PHPで書かれたプロジェクトで protocol buffer を利用していた。最初は libprotoc 3.0.0 を使用していたが、 これを 3.3.2 にバージョンアップした瞬間、 コンパイルオプションの namespace が効かなくなり、3.0.0 とは異なる成果物が生成されるように…