前提 Laravel のスケジューラーを Docker で動かす ログ(CloudWatch Logs)の課題 JSON 形式でログを出す まとめ 前提 PHP + Laravel で、Web サービスを開発しており、Laravel で実装した Web API が WAS ECS (Elastic Container Service) で動いているの…
はじめに JSON 形式のログを送ると何がいいのか 今回のサーバー構成 Laravel から JSON でログを送るには スタックトレースも出したい 課題 まとめ はじめに この記事は Qiita Laravel Advent Calendar 2023 の3日目の記事です。 1日目はこのカレンダー作成…
やろうとしたこと VPC Endpoint の仕様について VPC Endpoint に Security Group を追加しようとした どう解決したか もう少し詳細に調査してみる CDK の InterfaceVpcEndpoint について アクセスが Interface VPC Endpoint を経由しているかどうかの確認 他…
はじめに ECS Exec が有効になっているかどうか確認する方法 ECS Exec の有効化 AWS CDK の修正 タスクを再起動 AWS Exec 実行例 参考 はじめに ECS Exec を使うと、コンテナのシェルに接続できるので(docker exec ができる。SSH みたいな感じ)、AWS ECS …
はじめに AWS とそれ以外(Google Cloud 等)を混ぜて使う場合は? AWS CDK には便利なライブラリがついている AWS CDK 実行時の IAM 管理が複雑 どっちのほうがデプロイが速い? AWS CDK のほうが AWS 謹製だからいいのでは? ドキュメントの充実さ まとめ …
PHPStan を実行していると、以下のように、単に Error とだけ表示された XXXXXXXXXX の部分には人によって色々な文章が表示される -- ----------------------------------------------------------------------------------------------- Error -- ---------…
発生した現象 結論 詳細 発生した現象 AWS CDK で CodeBuild のプロジェクトを作成し、Docker のビルドを行ったところ、 Dockerfile の RUN apt-get update で以下のようなエラーが発生しビルドに失敗してしまった。 Err:1 http://security.ubuntu.com/ubunt…
これはなに Jersey 2.26 のリリースノートの内容のメモです。 https://eclipse-ee4j.github.io/jersey.github.io/release-notes/2.26.html Jersey 2.26 は、 HK2 系のライブラリが Jersey core ライブラリから分離されるなど、破壊的変更が入ったバージョン…
環境 設定方法 MTU とは何か 参考 環境 仕事でテレワークしているときなど、Mac で VPN 接続して作業しているときに、VPN 接続が定期的に切れる問題に悩まされていました。 大体1〜2時間に1回くらい VPN が切れます。 以下の設定方法である程度改善したので…
新しい Laravel では Vite がフロントエンドのデフォルトに 6月にこのようなニュースが出ていました laravel-news.com Laravel の開発チームは、以前から Vite というツールの開発に力を入れていたようで、 Laravel 9 からは Vite が導入されるとのことです…
はじめに GitHub Container Registry (ghcr.io)について ghcr.io マルチステージビルドで target を指定したい場合 はじめに 私はある個人プロダクトで、Docker を使って開発しており GitHub Actions で Docker イメージをビルド GitHub Container Registr…
AWS のサーバー構築 Terraform の欠点 AWS CDK の登場 CDK for Terraform の登場 AWS CDK を使ってみる AWS CDK コマンドラインツールのインストール AWS CDK で S3 を立ててみる コード デプロイ リソースの全削除 AWS CDK のメリット/デメリット CDK for T…
Laravel の HTTP Test Laravel には HTTP テストという機能がある https://readouble.com/laravel/8.x/ja/http-tests.html このテストはめちゃめちゃ便利で、実際にリクエストを送って、返ってくるレスポンスをシミュレートできる。 get('/'); $response->as…
writeSyncStep1 とは より詳細な仕様 writeSyncStep1 とは Yjs の WebSocket サーバーを実装していると、 writeSyncStep1 という謎のステップがあることがわかる。 共同編集に新しいクライアント(共同編集者)が参加した時に、今共同編集中のドキュメント全…
概要 Stripe の料金体系 標準の料金体系 パッケージ料金体系 段階的な料金体系 数量ベースの料金体系 概要 Stripe でサブスクリプションを実装する時に、様々な料金体系を実装したくなることがあります。 例えば、企業向けのサービスで「ユーザー1人あたり50…
Stripe とは Stripe のアカウント登録をする Stripe ダッシュボードについて 会社名(サービス名)の変更 テスト環境と本番環境 API Key などの開発情報の閲覧 商品情報の追加 Stripe とは Stripe とは、クレジットカード決済のための API などを提供してい…
Next.js でたまにこういうエラーが出てくる。 エラーが出てくるけど、dom は正常に描画されている。 どうやら、HTML タグの使い方がおかしい場合にこのエラーが出てくる事があるようだ。 私の場合は、<table> タグを使おうとしてこのエラーが出たのだが、<table> タグを使</table></table>…
Next.js の Head コンポーネントを使う タイトルとかをいい感じに使い回す Next.js の Head コンポーネントを使う Next.js では、 Head コンポーネントを使うことで、 title などの <head> タグ内の属性を設定できます。 import type { NextPage } from 'next'; im</head>…
ECS Exec で An error occurred (TargetNotConnectedException) Amazon ECS Exec Checker でトラブルシューティング 実行例 各項目の説明 Prerequisites for check-ecs-exec.sh Prerequisites for the AWS CLI to use ECS Exec Cluster Configuration Can I …
Stripe Checkout と Webhook Checkout session と Webhook の紐付け Subscription の metadata を使う customer.subscription.created 以外の Webhook を使うのは? success_url に到達した瞬間にサービス提供するのは? Stripe Checkout と Webhook Stripe …
はじめに Kubernetes 概要 kubectl コマンドについて Kubernetes クラスタの構築 indigo VPS を利用 kubeadm vs kubespray Kubernetes クラスタのマスターノードとワーカーノード kubeadm を使った Kubernetes クラスタ構築の手順 全てのノードで実行 マスタ…
composer ライブラリの依存エラー エラーの見かた 解決方法 詳細な解決方法 composer update guzzlehttp/psr7 guzzlehttp/promises 最後に composer ライブラリの依存エラー composer で aws/aws-sdk-php のライブラリをインストールしたところ、以下のよう…
docs.yjs.dev ※ Yjs は、ドキュメント共同編集用のライブラリです。 ※ Awareness 、あるいは、 Awareness 情報というのは、ドキュメント共同編集の際の、各ユーザーのカーソルの位置など、ドキュメントの更新以外の情報のことを指します。 Awareness & Prese…
y-protocols のドキュメントが少ない Yjs の WebSocket のサーバーサイドを自前実装しようとすると、y-protocols について理解しなければなりません。 github.com Yjs 公式には y-websocket というリポジトリがあり、この中にはサーバーサイドの実装も入って…
y-websocket の README の翻訳です。 github.com y-websocket とは Quick Start y-websocket をインストールします。 WebSocket サーバーを立ち上げます クライアントの実装例 API (Websocket Provider の API) Websocket サーバー データを永続化したい場…
ModelSerializer どのフィールドを含めるか ネストされたフィールドのシリアライズ フィールドの形式を指定する Readonly なフィールド HyperlinledModelSerializer ListSerializer BaseSerializer ModelSerializer JSON, XML など ↔︎ Django の model の変…
view で import している OrderingFilter のクラスが間違っている ダメな例 from django_filters.rest_framework import OrderingFilter from django_filters.filters import OrderingFilter 正解はこっち from rest_framework.filters import OrderingFilte…
www.django-rest-framework.org Serializers Declaring Serializers(シリアライザを定義する) Serializing object(シリアライズする) Deserializing objects(デシリアライズする) Serializers Serializers は、Django の QuerySet や、モデルのインス…
Guzzle とは リクエストオプションの指定の方法 例外処理の方法 例外の構造 例外の意味 GuzzleException まとめ Guzzle とは HTTP リクエストを送りたいとき、例えば、Web APIを叩きたい時、PHP では Guzzle という HTTP クライアントライブラリが最も有名で…
僕はエンジニアとして働いていて、開発には MacBook Pro を使っています。そんな僕が、2021年おすすめの Mac を紹介していきます。 なぜ Mac なのか どの Mac が良い? MacBook の中でどれを選択したら良い? MacBook Air をどういうスペックにするか MacBoo…