勉強
概要 Kubernetes で運用しているシステムで、ちょっとした作業を行う Pod が欲しくなった。例えば、通信経路が確立できているか確認するため curl を実行するとか。 そういうときは Deployment を用意せず、kubectl run を駆使して一時的に Pod を立てて確認…
概要 Go1.18からfuzzing testができるようになった。 fuzzing testの概要と導入して嬉しいかの情報をまとめる。 What’s fuzzing test? ファジングは、プログラムへの入力を継続的に操作して、コードが影響を受けやすいパニック、バグ、データ競合などの問題…
概要 Infrastructureは構成管理することで、コードのプラクティスを取り込む方法が進んでいる(IaC)。モニタリングツールも同様の考えがあるらしい。 FYI Monitoring as Code: What It Is and Why You Need It – The New Stack 個人としてはプルリクエスト…
概要 qiita.com 数年前に軽く記事にしていたが、改めて技術調査をしたのでまとめてみる。 TL;DR いろいろなユースケースで使えるくらい充実してきた 思ったよりもすんなり動く ワーカーとか動かすと嬉しそう 実行環境 AWS公式でPHPの実行環境は提供されてお…
概要 ISRを利用したサイト開発を行うにあたり、認証周りの調査を行っていた。 その中でLaravel Sanctumの存在を知ったので遊んでみる。 所感 古き良きCookieを使ったセッションの仕組みを、トークンで再現した感。 試してみる Laravel Sanctumとは Laravel S…
E2Eテストとは End to Endのテストの略で、システム全体を通したテストを行うこと。 Webサービスで言うと、ブラウザ上からテストを行うこととなる。 メリット ブラウザ上から実行するということで、よりユーザに近い環境でテストを行い、品質を担保すること…
概要 Botmanで作成したコードをテストする方法。 実装 app/tests/BotMan/ExampleTest.php を例に進めていく。 感覚的にはPHPUnitと同様に、メソッドを実行し、返り値を判定する形となる。 シンプルな Hi のテストをベースに解説していく。 1. $this->bot->re…
概要 画面外をクリックしたときにポップアップを閉じるってやつ、結構ありますし便利ですよね。 今回はそれを実装します。 やること documentまたは、id要素に対してクリックイベントが発生したときに、クリックした対象が該当DOM以外であれば閉じるようにす…
概要 LaravelのORMやクエリビルダで発行されるクエリを見たい時がある。 毎回調べるのが億劫なので、ここにメモする。 やり方 クエリを見たい箇所に下記を挟む。 \DB::enableQueryLog(); モデルでもRepositoryでも可 \DB::getQueryLog(); 参考 Laravelで実行…
概要 フィーチャーファクトリー(機能を作る工場)という記事で、機能を作る工場となってしまっている兆候が記載されていました。 こちらをチェックリストに起こしてみます。 どれくらいチェックがついてしまうかで、自分たちの健康状態が測れそうですね。 チ…
概要 自分の携わっている開発でPackerを使っているので、共有も兼ねてハンズオンをやってみました。 作成した資料はGitHubに置いてあります。 感想 勉強会を開催してみると、色々と自分の勉強になり良い体験でした。 チームで使ってはいますが、自分で構築し…
概要 先日、ECSの環境構築を簡略化できる AWS Copilot というCLIツールが発表されました。 使用感の確認がてらチュートリアルを行おうとし、躓いた箇所を記載します。 手順と躓き 事前に今件で使うIAMユーザを作成しました。 Classmethodさんの記事を参考に…
はじめに 社内wikiに2017/12/12に書いたものを移植したものです。 対応 基本はMackerelの中の人の記事→mackerel-plugin-memcachedを参考に進めていきます。 ## memcached 通常通りインストールして、立ち上げておきます。 $ ps aux | grep memca memcached -…
はじめに 社内wikiに2017/08/19に書いたものを移植したものです。 対応 基本はmackerel-plugin-apache2を参考に進めていきます。 ## Apache Apacheは通常通りインストールし、httpd.confに下記の設定を行っていきます。 Listen 1080 ExtendedStatus On <VirtualHost 127.0.0.1:1080> <Location /server-status> Set</location></virtualhost>…
概要 LaravelでAPIを作成しており、ページネーションの処理を実装しようとしてました。 DBから取ってくるデータを使うので、Eloquentのpaginateを使いました。 そこで、試しに0のパラメータを渡したところ、15件が返ってきたので、その調査をしました。 TL;D…
概要 普段はPHPを使って、DBからデータを取得しています。 通常はそれで問題ないですが、PHPだとサーバに入れる必要があります。 ちょっとしたデータを取る際に、いちいちサーバにPHPを入れるのが面倒だと感じました。 そこで、PHPを入れないでもDBからデー…
概要 Go言語でなにか作る際に、色々準備をするのでメモを残します。 内容 go mod 最近のバージョンで、パッケージ管理が標準で装備されたようです。 ※前は dep とか使っていた 標準のものを使うので、プロジェクトを始める際は初期化をします。 go mod init …
概要 EC2のログをfluentdでCloudWatchに投げる - juve534のブログ 前回の実装時に、IAMでユーザを作って、設定ファイルに記載しました。 ただ、設定ファイルにユーザの情報が載ってしまうので、セキュリティが気になると思いました。 そこでロールを作成し、…
概要 Laravel本でADRパターンというのが紹介されていました。 それの実装について、メリットがピンと来ていなかったのですが、下記のスライドで理解できました。 speakerdeck.com そこでLaravelでADRのResponderを使ってみようと思います。 実装 書いてみた…
概要 fluentd でEC2のログを CloudWatchLog に投げていきます。 導入 まずは公式サイトに沿って導入します。 $ curl -L https://toolbelt.treasuredata.com/sh/install-amazon2-td-agent3.sh | sh 次にCloudWatchに投げたいので、プラグインを導入します。 …
概要 EC2のログをGUI上から確認したいと思っていました。 ログを投げるやり方は、 fluentdでやったことがありましたが、単純に、CloudWatchに投げるなら、 awslogs というのがあるそうです。 そこで下記記事を参考に awslogs を試しています。 【簡単】EC2で…
概要 CloudFormation入門 - juve534のブログ でCloudFormationに入門したのでその続き。 今回は値を動的にする方法を学びました。 内容 前回作ったものは値が動的になっており、そのまま使い回しができない状態になっています。 AWSTemplateFormatVersion: '…
概要 AWS用の構成管理ツール JSONやyamlで記載 スタックで管理 リソースの集合体(EC2, WAF) AWSで構成管理できる。 スタック単位で管理し、スタックにはリソースの集合体がぶら下がる。 そのため、スタックの構築や破棄でAWSのリソースを操作できる。 JSON…
概要 LaravelでControllerではなく、Actionというクラスを定義して、実装しようとして躓いた話をまとめます。 やりたかったこと postsってルーティングにアクセスしたら、 App\Http\Controllers\Posts\IndexAction が呼ばれる 起きたこと postAutoDumpで下記…
概要 DBの単体テストは、PHPUnitを使うことで手軽に行うことができていました。 しかし、APIのテストはやり方がわかっておらず、テストコードの作成を行えていませんでした。 今回Guzzleを使って、モックを差せることがわかったので、実践したやり方をまとめ…
概要 Laravelのtinkerでちょっと幸せになれたので、ここに残しておこうと思います。 tinker 説明 php aritisan tinker のことで、Laravelを対話的に動かすことができるコマンドです。 Eloquentはもちろんのこと、自分で作成した独自クラスの読み込みも可能で…
概要 業務でLaravel5.5を使っているので、家で学習がてらLaravelを触っていました。 そこで、外部キー制約を貼ったテーブルを作成しようとして躓いたので、忘れないように残しておきます。 やろうとしたこと ブログ投稿を管理するpostsテーブルと、そのブロ…
概要 CakePHP1系のアプリケーションでメモリリミットが起きていました。 原因を調査したところ、Primarykeyに検索をかけるだけの単純なクエリ実行で、メモリを多めに消費していることがわかりました。 原因 CakePHP1系のキャッシングが原因でした。 queryメ…
概要 swooleを触ってみようとytakeさんのvagrant boxを立ち上げた。 一回目は特に問題なく立ち上がったのだが、再度立ち上げたところディスク共有のところでエラーが…。 Vagrant was unable to mount VirtualBox shared folders. This is usually because th…
概要 PHPUnitを使って、PHPのテストコードを書いていたところ、dataProviderが動かなくて、数時間悩みました。 備忘録として、情報を残しておきます。 なにがあった? 下記のようなテストコードを書いて、PHPUnitを実行したところ、 rgumentCountError: Too …