## はじめに
この記事では、ImageMagickを使って、macOSで複数のpngファイルを一括でjpgファイルに変換する方法を説明します。
## ImageMagickのインストール
ImageMagickのコマンドはmacOSだと下記のコマンドでインストールできます。
Linu...
DDDにおけるコアドメインとは、一言でいうとそのプロダクトで最も売りになる機能のこと。
売りになる部分をかんたんに改修できることで、プロダクトの価値アップのペースが変わってくる。
コアドメインは注意しないと、多機能でプログラムのコードが...
使っているMacBook Airのスペックを忘備録として書いておく。
MacBook Air (Retina, 13-inch, 2020)
## Hardware
```
Model Name: MacBook Air
Model Identifier: MacBookAir9,1
Processor Name: Quad-Core Intel Core i7
Processo...
TOEICのSpeaking Testの対策をNativeCampの教材・レッスンを使って勉強したい場合どうすればよいか悩んでいたのですが、月一回無料の25分カウンセリングを受けてみたら良いアドバイスを貰えました。ですので備忘録代わりに書いておきます。
## Read...
PHPStormのDockerコンテナを使用した開発でXDebug3を使えるようにするための設定手順です。
### Dockerfile
`php:7.4-apache`のイメージを利用したDockerfileを作成する。
`docker-php-ext-enable xdebug`を実行することで、xdebugが有効化されて...
macOSでSpotlightのインデックスをターミナルから再構築したい場合は、以下のコマンドを実行します
```language-bash
sudo mdutil -E /
```
## mdutilのヘルプ
```language-x
名称
mdutil -- Spotlight が使用するメタデータのストア...
macOSに標準で入っているzip、unzipを使って、cliでファイルの暗号化と復号化を行う方法を説明します。
## 手順
foo.txtというファイルを暗号化することを想定します。
複数ファイル存在する場合は、あらかじめ`tar`コマンドなどで1ファイルにまと...
```language-bash
phpstan analyze -c ./phpstan.neon --memory-limit=1G
```
## max_user_connectionsの確認方法
RDS MySQLで、max_user_connectionsは下記のSQLで確認できる。
```
select @@max_connections;
```
## max_user_connectionsでカウントされるコネクションの数
RDSでは、利用者によるコネクションに加え...
1Gbpsの回線で一日にどれだけデータ転送できるかについて、理論上の上限値を知りたい場合、下記の計算式で算出できます。
## 計算式
前提知識
- 1日は86,400秒 (86400 = 24 * 3600)
- 1バイトは8ビット
- 1000ギガ(1000G)は1テラ(1T)
計算...
AWSではAWSの機能を気軽に体験できるようたくさんのチュートリアルを無料で公開しています。検索画面はあるのですが一覧が把握しづらかったので、表形式にしました。
## AWSチュートリアル一覧 (2022年1月 時点)
|カテゴリ|時間|タイトル|概要|...
PHPではphpcsを使うことでコードがPSR-12などのコーディング規約に従っているかを機械的にチェックすることができます。
通常はエラーのメッセージを見ながらコードを修正すればよいのですが、自動処理を行うなどの都合で、エラーが出力された理由が特...
LaravelでRedisのconfig情報をプログラムから取得する方法です。
## 環境
- Laravel6.x
- redisクライアントはphpredisを利用
```language-php
'redis' => [
'client' => env('REDIS_CLIENT', 'predis'),
// Rest of Redis configura...
コマンドラインのcurlコマンドでは、プロトコル部の指定を"telnet"にすることで、簡易的なtelnetクライアント相当の作業が行えます。
下記の例はcurlコマンドでRedis(port=6379)に接続したときの実行例です。
```language-bash
$ curl telnet://loc...
翔泳社のオンラインショップであるSEshopでは、定期的に電子書籍が半額となる50%オフセールを行っています。
今回はこのセールがいつタイミングで行われているか確認してみました。
## キャンペーンの実施周期
一覧で見るとわかりやすいのですが...
## 発生した事象
webpackにeslintの設定を行って、`yarn run webpack`を実行したら下記のエラーが出る。
```language-bash
$ yarn run webpack
yarn run v1.22.17
$ .../node_modules/.bin/webpack
asset main.js 1.8 KiB [compared for emit] (...
パス単一級の熟語をみていると、失敗する・うまく行かないと行った意味での熟語で、fizzle out / fall flat / fall throughが出てきます。それぞれのニュアンスの違いがわからなかったので辞書で調べてみました。
## fizzle out
- end weakly, especia...
## レスポンスステータスが正しいこと
```language-php
use Illuminate\Http\Response;
$response = $this->getAjax($path);
$response->assertStatus(Response::HTTP_OK);
```
## Jsonの構造が一致していること
```language-php
$respo...
以下の書き方で、特定のコマンドを実行した結果をmakefileの変数として格納できます。ターゲットの中では`$(変数名)`の形式で変数を参照できます。
## Makefile
```language-make
DATE_YESTERDAY := $(shell date +"%Y/%m/%d" --date '1 days ago')...
Makefileの先頭に下記のターゲット(help)を作成しておくと、`make`コマンドを実行するだけでコマンドの一覧が表示されます。
## 追加するターゲット
```language-make
help:
@grep "^[a-zA-Z\-]*:" Makefile | grep -v "grep" | sed -e 's/^/make...
Laravel 8.xでは、Laravel sailによるdocker環境が準備されており、`./vendor/bin/sail up`コマンドを実行するだけでMySQLやRedisを含めた開発環境が構築できます。
ですが、このコマンドはホストOSのポート80や3306が空いていることが前提になっている...
Reactのプロジェクトを、create-react-appで作成したとき`npm run build`でビルドすると、ビルド結果が./buildディレクトリに作成されます。
このビルド結果はドメインのルート(`https://example.com`など)に展開されることを想定されいます。
この...
JSTQB認定テスト技術者資格では、試験を申し込むときにSCRの掲載に関する質問があります。
このSCRとは何でしょうか?
## 申し込み時の確認項目
テストの申し込みでは、SCRについて下記の4つの確認があります。この質問は、"いいえ"を選択しても受験...
## 勉強に使用したテキスト
下記の書籍一冊だけでOKです。この書籍は毎年改定されており、書籍を購入すると過去問とその解説もpdfでダウンロードできます。
- [情報処理教科書 データベーススペシャリスト](https://www.amazon.co.jp/dp/B08DXDYDL1/...
データベーススペシャリストの問題で出てくる、3層スキーマについて調べてみた。
## 正式名称
ANSI/SPARC3 3層スキーマアーキテクチャ
## 3つの要素は何?
外部スキーマ、概念スキーマ、内部スキーマの3つ。
外部がユーザよりで、内部が実...
## 発生した問題
phpの`DOMDocument::loadHTML($html)`でutf-8のhtmlを読み込ませたところ、日本語が文字化けした。(`¤ªã‚ãƒãƒªã‚ノã`のような文字列になる)
## 原因
loadHTML()メソッドは、指示をしないと引数で渡された文字列をISO-8859-1であ...
文字コードの変換で少しはまったので、備忘録としてメモしておく。
## 疑問
Unicodeの`あ`は`U+3042`だが、これをutf-8で表すとなぜ`0xe3 0x81 0x82` (e3 81 82)になるのか?
## 確認した結果
U+3042の`0x30 0x42`は2進数で表すと、下記のビ...
macOSでキーリピートを爆速にしたいときは、コマンドラインから下記のコマンドを入力します。
前者はキーリピートがかかり始めるまでの待ち時間で、後者はキーリピートスピードを意味します。
```language-bash
defaults write NSGlobalDomain Initia...
データベーススペシャリストの過去問、H26(2014)の午後1の問1を解いて得られたきづきを書きます。
----
- データサイズの計算
- `NCHAR VARYING`は`文字数 * 2 + 4 byte`で計算する。NULLABLEな列なら更に+1byteする
- 列でコードを管理...
## 発生した事象
AndroidからSynologyの音楽ファイルにアクセスするため`DS Audio`アプリからログインしようとしたら"このサービスを使用する権限がありません"のエラーが表示される。
ログインしたユーザの権限を見ても、Audio Stationのアクセス権...
macOSでChromeを使用しているときに、検索ワードや、閲覧履歴、ダンロードファイルなどの履歴を、ショートカットキーをつかって素早く削除する方法です。
- Chromeを起動する
- `Cmd + Shift + Delete`を押す
- `データを削除`をクリックする
## 発生した問題
Reactで他のファイルをimportしようとしたら、`Module not found: Can't resolve 'Foo' in '...'`エラーが発生した。
- App.js
```language-js
import Item from 'Item';
...
return (
);
```
- Item.js
```langua...
## 理由
銅メダルは、(青ではなく)青銅でできているからです。
## CopperとBronzeの意味は?
Copperは銅で、Bronzeは青銅という意味です。
```language-php
銅: Copper
青銅: Bronze
```
## 青銅は何からできている?
青銅(Bronze)は、...
## 発生した事象
AWSの`aws s3 cp`で、ACLを指定してS3にファイルをアップロードすると、エラーが発生する
- 成功するパターン
```language-bash
aws s3 cp ./src/* s3://dest-bucket
```
- エラーになるパターン
```language-bash
aws ...
## 事象
AWSのCodeBuildで、ビルドすると、DOWNLOAD_SOURCEのステップで`i/o timeout for primary source`のエラーが表示された
```language-x
DOWNLOAD_SOURCE
CLIENT_ERROR: Get https://github.com/xxx/info/refs?service=git-upload-pack:...
[AWS Hands-on for Beginners
AWS Code サービス群を活用して、CI/CD のための構成を構築しよう!](https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-cicd-2020-reg-event-CP_031.html)
Mockeryで、以下のようなconst値を持つクラスをモックしたい場合があります。
```language-php
class UserItem
{
const MAX_ITEM_PER_USER = 200;
}
```
このような場合は、stubクラスを別途用意します。用意したスタブを`Mockery::namedM...
PHPのモックライブラリであるMockeryを使ってphpunitのコードを作成して実行するとき、`class already exists`のエラーが出ることがあります。
```language-php
Mockery\Exception\RuntimeException: Could not load mock FooClass, class already ex...
singletonのクラスをモックしたい場合は、"alias:"付きでMockを作ると良い
```language-php
# 準備
$factory = Mockery::mock('alias:' . UserFactory::class);
$factory->shoudReceive('getInstance')->withNoArg()->once()->andReturn($xxx);
```...
macOSでDocker Desktopの起動を待つbash/zshのスクリプトを作りたいことがあったのでその時のメモです。
dockerコマンドはdocker daemonに接続できないと異常終了するので、コマンドの戻り値を見て、起動されたかをチェックしています。
```language...
gitで現在のコミットと、特定のブランチとの差分を取って、変更されたファイルの一覧を取得する方法です。
## 2つのブランチの分岐点を求める
gitでは`git merge-base`コマンドで、2つのブランチが分かれる元になった、分岐点のコミットIDを求める...
## ELB:ロードバランサー
- ホスト名に基づいてEC2へのルーティングを決定したい場合は、ALBを使用する
- ELBで固定IPを使用したい場合は、NLBを使用する
- スティッキーセッションを無効にしていると、これが理由で配下のEC2の負荷が均等になら...
SourceTreeでファイルをcommitしようとするとき、ファイルの最終行に改行が無いと下記のエラーが表示されます。
```language-x
No newline at enf of file.
```
IDEやエディタがEditorConfigに対応している場合は、`.editorconfig`ファイルを作成し...
## 発生したエラー
PHPでDockerの`ubuntu:20.04`コンテナを使用して、AWS SDKを使用していたところ下記のエラーが発生した。
```language-bash
PHP Fatal error: Uncaught Error: Class 'SimpleXMLElement' not found in ./vendor/aws/aws-sdk-php/s...
PHPのスタイルフォーマッタである`php-cs-fixer`コマンドは、`--rules`オプションを指定することで特定のルールを1つだけ適用させることができます。
## 実行例
コマンドのインストール
```language-bash
# 現在のプロジェクトだけ有効にする...
UbuntuLinux(dockerのubuntu:xenialコンテナ)でphpをインストールするためにapt-add-repositoryを実行したところ、`'ascii' codec can't decode byte 0xc5 `エラーが発生しました
## エラー内容
```language-bash
# apt-add-repository ppa:ondrej/...
下記のURLにあるサンプルプロジェクトを少し編集してzipにアーカイブし直したいときの手順です。
- https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/tutorials.html
## 展開
node.jsの場合、nodejs.zipをダウンロードして、Finderでダブ...
## 読書メモ
- p.53
- 単語の暗記などで何度も反復するのは大事だが、頻度が高すぎる作業は「過剰学習」と呼ばれる。
- 過剰学習は、上記記憶の形成には何の役にも立たないので、適切な復習周期を決めることが大事。
- p.58
- 海馬と...
本記事では、AWSから2021年5月にリリースされたApp Runnerを使ってアプリケーションをリリースする方法を説明します。
App Runnerを利用することで、開発者は爆速で自分が作ったウェブアプリケーションを、最小のインフラ管理コストでリリースさせるこ...
## 質問
AWSのcliでは引数でファイルを指定するときに、`fileb://`をファイル名の接頭語に付ける場合があります。
通常`file://`だと、ローカルのファイルを意味しますが、`fileb://`の`b`は何を意味するでしょうか?
## 回答
`fileb://`の`b`...
AWSではIAMの権限周りでの概念で、AssumeRoleというものがあります。
assumeという単語を辞書で引くと、"推測する"や"仮定する"という意味が最初に出てきますが、AWSのAssumeRoleはこちらの意味ではなく、`引き受ける`という意味合いが近いです。
go...
macやwindows版のAnkiを使っていて、誤操作してしまったときなどに1枚前のカードに戻りたい場合があります。
このような場合、それぞれ下記のキーを押すことで前のカードに戻ることができます
- Windows: Ctrl+z
- macOS: Cmd+z
システムの要件によっては、S3に保存された"大きな"or"大量の"ファイルからヘッダ情報だけ読み込みたい場合があります。
このような場合、S3のGETリクエストでByte Range Fetchをすることで、ファイルの先頭Nバイトだけ読み込むことが可能です。
Byt...
AWSのAmazon RedShiftでは、ノード数を増やすことで複数のデータベースがクラスタ化されます。この結果、システムに対する耐傷害性を高めることができます。
RedShiftでは、特定のノードに障害が発生した場合は自動で検知されて問題があったノードが...
AWSで複数のマイクロサービス構成のシステムを構築する場合、負荷対策のためにELB(Elastic Load Balancing)をマイクロサービスごとに用意する必要はないです。
これは、ELB自体がアクセス負荷に応じて自動的にスケールアウト・スケールインする仕組みを...
AWSのEC2インスタンス間で低レイテンシー、高スループットの通信を行うためには、プレイスメントグループを使用します。
プレイスメントグループには、下記の3つがあります。
- プレイスメントグループ(クラスター)
- プレイスメントグループ(スプ...
Laravelでは`artisan route:list`でルーティングの一覧を表示できます。ですが、プロジェクトが大きくなるとルート定義が増え出力が見づらくなってしまいます。
このような場合、Laravelのパッケージ`wulfheart/pretty_routes`を使うことできれいなフォ...
macでsshのポートフォーワードを有効にしたときのメモです。
## 設定
今回の例では下記のサーバが存在するものとします。
- 踏み台サーバ: (bastion)
- global IP: 52.0.0.1
- private IP: 10.0.0.1
- port: 22
- user: ec2-...
PHPからaws-sdkを使ってS3にファイルをアップロードするスクリプトを作成する手順です
## 前提条件
今回のプログラムでは、ローカルに存在する`hello.txt`を、S3のバケット`aws-php-s3-test`へ`hello-sw.txt`の名前でアップロードします。
AWS...
AWSの利用経験がある人がAWSのクラウドプラクティショナー試験を受けるときに引っかかりやすいポイントを列挙します。
クラウドプラクティショナー試験は実務経験があれば無勉強でも合格できるレベルですが、試験対策で念の為に取りこぼしを減らしたい...
投稿ナビゲーション