Kubernetes でちょっとした作業のために Pod を立てる

概要 Kubernetes で運用しているシステムで、ちょっとした作業を行う Pod が欲しくなった。例えば、通信経路が確立できているか確認するため curl を実行するとか。 そういうときは Deployment を用意せず、kubectl run を駆使して一時的に Pod を立てて確認…

Goのfuzzing testを調べる

概要 Go1.18からfuzzing testができるようになった。 fuzzing testの概要と導入して嬉しいかの情報をまとめる。 What’s fuzzing test? ファジングは、プログラムへの入力を継続的に操作して、コードが影響を受けやすいパニック、バグ、データ競合などの問題…

手動作成したDatadogのアラートをTerraformで構成管理する

概要 Infrastructureは構成管理することで、コードのプラクティスを取り込む方法が進んでいる(IaC)。モニタリングツールも同様の考えがあるらしい。 FYI Monitoring as Code: What It Is and Why You Need It – The New Stack 個人としてはプルリクエスト…

みんなでアジャイル ―変化に対応できる顧客中心組織のつくりかた

概要 目的 ヘビーリスナーとして聞いているYokohama North AMにて、アジャイルと心理的安全性が分かりやすいと紹介されていたため。 目標 アジャイルと心理的安全性を掴む。 総評 少ないページ数だが内容は濃厚。各章において、いくつかの企業の実例を交える…

AWS Lambda + PHPを技術調査した

概要 qiita.com 数年前に軽く記事にしていたが、改めて技術調査をしたのでまとめてみる。 TL;DR いろいろなユースケースで使えるくらい充実してきた 思ったよりもすんなり動く ワーカーとか動かすと嬉しそう 実行環境 AWS公式でPHPの実行環境は提供されてお…

SCRUMMASTER THE BOOK 優れたスクラムマスターになるための極意

概要 目的 スクラムマスターと開発者を兼任していたが、スクラムマスターっぽいことができなかった。スクラムマスターとしてどう振る舞うかきになったので読んでみる。 目標 スクラムマスターとしての振る舞いで使えるものを得る。 総評 今の自分が理解する…

Laravel Sanctumを試してみる

概要 ISRを利用したサイト開発を行うにあたり、認証周りの調査を行っていた。 その中でLaravel Sanctumの存在を知ったので遊んでみる。 所感 古き良きCookieを使ったセッションの仕組みを、トークンで再現した感。 試してみる Laravel Sanctumとは Laravel S…

イラストでわかるDockerとKubernetes

概要 目的 話題のKubernetesを知ってみようと思って購入。 漫画のつもりで買ってしまったことは内緒 目標 なんとなくKubernetesについて知る。 総評 DockerとKubernetesについてイラスト付きで解説されており、雰囲気がつかみやすい。 それでいて、それぞれ…

Team Geek ―Googleのギークたちはいかにしてチームを作るのか

概要 目的 オススメされたので読んでみる。 経験だけでチーム活動をしているので、体系的に学びたい。 目標 チーム活動で活かせるものを見つける。 総評 少し前の本だが、今でも現役で通じるところが多いと感じた。 リーダーに急になったときの振る舞い方は…

アジャイルなチームをつくる ふりかえりガイドブック 始め方・ふりかえりの型・手法・マインドセット

目的 ふりかえりがマンネリ気味(というか楽しくない)のでなにか打破できる内容がないか。 総評 ふりかえりにマンネリを感じていたが、これ読んでアプローチしたいことが、いっぱい見つかった。 最初に出てくる3つの段階を意識して、自分たちはどの段階か考…

初めてのE2E

E2Eテストとは End to Endのテストの略で、システム全体を通したテストを行うこと。 Webサービスで言うと、ブラウザ上からテストを行うこととなる。 メリット ブラウザ上から実行するということで、よりユーザに近い環境でテストを行い、品質を担保すること…

Botmanでテストコードを作成

概要 Botmanで作成したコードをテストする方法。 実装 app/tests/BotMan/ExampleTest.php を例に進めていく。 感覚的にはPHPUnitと同様に、メソッドを実行し、返り値を判定する形となる。 シンプルな Hi のテストをベースに解説していく。 1. $this->bot->re…

画面外clickでポップアップを閉じる

概要 画面外をクリックしたときにポップアップを閉じるってやつ、結構ありますし便利ですよね。 今回はそれを実装します。 やること documentまたは、id要素に対してクリックイベントが発生したときに、クリックした対象が該当DOM以外であれば閉じるようにす…

Laravelで発行されるクエリを確認する

概要 LaravelのORMやクエリビルダで発行されるクエリを見たい時がある。 毎回調べるのが億劫なので、ここにメモする。 やり方 クエリを見たい箇所に下記を挟む。 \DB::enableQueryLog(); モデルでもRepositoryでも可 \DB::getQueryLog(); 参考 Laravelで実行…

(翻訳)フィーチャーファクトリー(機能を作る工場)になってる兆候リストをまとめてみる

概要 フィーチャーファクトリー(機能を作る工場)という記事で、機能を作る工場となってしまっている兆候が記載されていました。 こちらをチェックリストに起こしてみます。 どれくらいチェックがついてしまうかで、自分たちの健康状態が測れそうですね。 チ…

Packerハンズオンをやってみた感想

概要 自分の携わっている開発でPackerを使っているので、共有も兼ねてハンズオンをやってみました。 作成した資料はGitHubに置いてあります。 感想 勉強会を開催してみると、色々と自分の勉強になり良い体験でした。 チームで使ってはいますが、自分で構築し…

#マンガでわかるサーバー監視入門 の感想

目的 監視について、ベストエフォートで学習してきた。 ちゃんと入門したことがなかったので、技術書展を機会に読んで見る。 ピックアップ 1章 そもそも監視って何?なぜ必要なの? 監視が必要な理由について解説されている。 基本的な内容かもしれないが、…

AWS Copilotを触ってIAMで躓いた話

概要 先日、ECSの環境構築を簡略化できる AWS Copilot というCLIツールが発表されました。 使用感の確認がてらチュートリアルを行おうとし、躓いた箇所を記載します。 手順と躓き 事前に今件で使うIAMユーザを作成しました。 Classmethodさんの記事を参考に…

Mackerelプラグインを使ってmemcachedのメトリックを取得する

はじめに 社内wikiに2017/12/12に書いたものを移植したものです。 対応 基本はMackerelの中の人の記事→mackerel-plugin-memcachedを参考に進めていきます。 ## memcached 通常通りインストールして、立ち上げておきます。 $ ps aux | grep memca memcached -…

Mackerelプラグインを使ってApacheのメトリックを取得する

はじめに 社内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のpaginateで0を投げると15になる

概要 LaravelでAPIを作成しており、ページネーションの処理を実装しようとしてました。 DBから取ってくるデータを使うので、Eloquentのpaginateを使いました。 そこで、試しに0のパラメータを渡したところ、15件が返ってきたので、その調査をしました。 TL;D…

「レガシーソフトウェア改善ガイド」の感想

概要 レガシーなアプリケーションの改善についてヒントを得るため、読んでみました。 今の開発に使えるものがあればなーと。 https://www.amazon.co.jp/dp/B01MSLAFPT/ 全体的な感想 面白い。 レガシーソフトウェアの改善について、3部構成で気持ち・コード…

CircleCIでSAMをデプロイする

概要 業務でSAMを使って、Lambdaの管理を行っていますが、CI/CDの設定ができておらず、手動でデプロイしています。 READMEに手順は書いていますが、「手順がかけているなら自動化だろう!」ということで、デプロイ設定を行っていきます。 準備 アプリケーシ…

Object-Oriented Conference #ooc_2020

概要 まさかの2週連続カンファレンス参戦。 前回の参加記録はこちら。 juve534.hatenablog.com 先週のPHPerKaigi2020に続いたカンファレンスは、Object-Oriented Conferenceになりました。 今まではPHPの名を冠するカンファレンスに参加していたので、PHPが…

PHPerKaigi2020に参加しました #phperkaigi

概要 juve534.hatenablog.com juve534.hatenablog.com 3年連続の参加です。 今回は滑り込みでCfPしましたが通らず、サポーターで参加しました。 1年目が一般、2年目がスピーカーだったので、サポーターで名札の色を全制覇しにいきました。 結果から言うとジ…

シェルでDBからデータを取得する

概要 普段はPHPを使って、DBからデータを取得しています。 通常はそれで問題ないですが、PHPだとサーバに入れる必要があります。 ちょっとしたデータを取る際に、いちいちサーバにPHPを入れるのが面倒だと感じました。 そこで、PHPを入れないでもDBからデー…

Cookpad Tech Kitchen #23 Live・動画配信の開発最新事情に行ってきた #cookpad_tech_kitchen

概要 金沢の同僚から勉強会の存在を教えてもらったので、 19卒のメンバーと一緒に行ってきました。 発表 Android cookpadLiveの開発改善 内容 Androidについての話がメインなので、あんまりついていけず…。 とりあえず、メモを箇条書きで。 VIPER→MVVMにアー…

Go言語を始めるときに色々入れる

概要 Go言語でなにか作る際に、色々準備をするのでメモを残します。 内容 go mod 最近のバージョンで、パッケージ管理が標準で装備されたようです。 ※前は dep とか使っていた 標準のものを使うので、プロジェクトを始める際は初期化をします。 go mod init …

pecoでGitのブランチを手軽にお掃除

概要 GitHub上ではプルリクエストを出したときに、ブランチを削除するようにしていたが、ローカルは毎回削除していなかった。 そうすると、ローカルにブランチが溜まってしまい、一々削除するのが面倒になっていた。 前回はpecoを使って、Gitリポジトリを移…

ghq + pecoでターミナルを快適化してみる

概要 Gitをターミナルで操作するようにしたが、リポジトリ間の移動がやや面倒くさい。 そんなときにこの構成を知ったので試していく。 ghqとは リポジトリ管理ツール。ghqにGitリポジトリを集約することで、便利なコマンド等を利用できるようにする。 pecoと…