技術メモなど

業務や日々のプログラミングのなかで気になったことをメモしています。PHP 成分多め。

HerokuにLaravel+MySQL環境をデプロイする

PHP

heroku上にlaravel環境を構築したのでメモ。 前提条件 作業は下記をインストール済の環境で行なっている。また、事前にHerokuへの登録を済ましておく必要がある。 php7.1 composer1.8.4 heroku-cli/6.14.4 (darwin-x64) node-v12.1.0 git2.9.2 laravelプロジ…

Vuexのstate/getters/mutations/actionsについて調べた

JavaScript関連の基礎学習なう。 今回はVuexのステート・ゲッター・ミューテーション・アクションについて調べた。 ストアインスタンスの生成 Vuexを使用するには、まずストアオブジェクトを作成し、Vueインスタンスに登録する。 ストアオブジェクトの状態は…

JavaScriptのexport/importについて調べた

JavaScript再入門中。 今週はexport/importについてメモ。 export/importとは export 文は、モジュールから関数、オブジェクト、プリミティブな値をエクスポートするための JavaScript モジュールを作成するときに使用します。これらは別のプログラムで、 im…

JavaScriptのasync/waitについて調べた

JavaScript再入門中。 今回はasync/waitについてメモ。 async/waitとは async function 宣言は、 AsyncFunction オブジェクトを返す 非同期関数 を定義します。非同期関数は非同期でイベントループを介して実行され、暗黙的にPromiseを返します。なおコード…

JavaScriptのPromiseについて調べた

JavaScript再入門中。 async/awaitを覚えるにあたってPromiseをおさらいしないといけなさそうだったのでメモ。 Promiseとは Promiseは非同期処理の最終的な完了もしくは失敗を表すオブジェクトです。 Promiseを使う - MDN // 構文 new Promise( function(res…

JavaScriptのアロー関数について調べた

数年振りにJavaScriptを触ることになりそうなので、改めて今時の仕様をきちんと理解したいと思いいろいろ調べている。 今回はアロー関数について調べたのでメモ。 アロー関数とは アロー関数式は、より短く記述できる、通常の function 式の代替構文です。ま…

PHPでMarkdownをHTMLに変換するparsedownを試した

Markdownをパースするライブラリを調べたところparsedownが良い感じだったのでメモ。 文中のPHPは7.2を使用。 準備 composerでインストール。 $ composer require erusev/parsedown 実際に変換してみる setSafeMode(true); $md = <<

textlint で文書の校正を自動化する

npm

遅ればせながら、 textlint を導入してみたのでメモ。 textlint とは 文書の校正を自動化するツール。 npm で動作しており、指定したファイルのおかしな文章をエラー警告してくれる。 チェック事項はプラグイン追加や設定ファイルなどで柔軟に指定できる。 …

第137回PHP勉強会 in GMO Yours に初参加した!!!

渋谷の GMO Yours にて開催されたPHP勉強会に参加してきました! phpstudy.doorkeeper.jp オープニング 泡を吹くホワイトベルグ、問題無いです! #phpstudy pic.twitter.com/4eokZsJCTX— さっぴー川原 ㍻31/4/30 平成最後のLT大会&パーティ開催 (@sapi_kaw…

PHPUnit で例外・トレイトのテスト

PHPUnit の例外・トレイトのテスト方法についてまとめたのでメモ。 環境情報 PHP v7.2 PHPUnit v7.5.8 例外をテストする 例外をスローするメソッドをテストしたい。

PHPUnit のプラクティス

PHPUnit で単体テストを書く上でのプラクティスについて調べたのでメモ。 環境情報 PHP v7.2 PHPUnit v7.5.8 Arrange-Act-Assertを意識する assertEquals([1,2,3,4,5,6], division([2,4,6,8,10,12], 2)); } テストコードは、AAA(Arrange-Act-Assert) の区分…

【VSCode】Better PHPUnit で テストコードから直接テストを実行する

(若干見づらいけど)こんな感じでテストコード内のカーソルが置かれた任意のメソッドのテストをVSCode上で直接実行できる。クラス名にカーソルを合わせればそのクラスのテストをすべて実行する。 また、スイート全体の実行や前回実行したテストの再実行もで…

isset() とはなんぞや?

Twitterで isset() の挙動が話題になっていたので isset() について今一度きちんと理解しておこうと思い調べた。 バージョンは 7.2 で確認。 Q. isset() とは A. 変数がセットされていること、そして NULL でないことを検査する言語構造 ようはちゃんと意味…

PHPで考える開放閉鎖原則

開放/閉鎖原則(OCP:The Open-Closed Principle)とは、オープン・クローズドの原則とも呼ばれる、オブジェクト指向設計の原則のひとつです。 単一責任の原則と同じく、SOLID原則にまとめられています。 ソフトウェアの構成要素は、拡張に対して開いていて、…

PHPで考える単一責任の原則

単一責任の原則(SRP:Single responsibility principle)とは、Robert C.Martin 「アジャイルソフトウェア開発の奥義」*1にまとめられたソフトウェア開発における原則のひとつです。 後年になって、同著者の「Clean Architecture」*2によって以下のように再…

AWS ソリューションアーキテクト-アソシエイトに合格した話

AWS

昨日、AWSソリューションアーキテクト-アソシエイト(SAA)に合格しました! ので、記念に顛末をざっくりとまとめておきます。 受験前 AWSは、S3、SQS、Lamda、CloudSearchをちょっと触ったことがある程度でした。 試験2週間前の社内勉強会で?マークを連発し…

ファイルを強制ダウンロードさせるヘッダについて調べた

一般的なブラウザは、拡張子が html だったり jpg だったり pdf だったりといった表示可能なファイルを受け取ると、 問題なければそのままタブ内に表示しようとします。これをなんとかやめさせたい。何卒名前をつけて保存してほしい。 というわけでファイル…