Laravel APISpec Generatorの使い方

// Laravelのカレンダー | Advent Calendar 2021 - Qiita の3日目の記事。 前回Laravel APISpec Generatorを作った記事を公開した。 https://zenn.dev/kotamat/articles/2a63e9958e0905 ただ、この内容だけだと具体的にどういう効果がありそうかが見えないの…

Laravelに1行足すだけでOpenAPIを吐き出せるものを作った

この記事は個人ブログと同じ内容です。 kotamat.com SPA + API構成でLaravelを使っているところも多いかと思いますが、双方の通信のインターフェースを担保するのに皆さんはどうしているでしょうか。 REST APIのスキーマ定義としてOpen APIが現在主流かとは…

Nuxt3のuseFetchの型定義を探索してみたら結構面白かった話

この記事は個人ブログと同じ内容です kotamat.com 先日10/12にNuxt3がpublic betaになりました! Nuxt2から抜本的に変更されたNuxt3では面白い変更点が多いのですが、今回はuseFetchの挙動に関して探索してみようと思います。 useFetchとは? Data Fetching…

GASでテスト書くときのちょうどいい塩梅を探る

この記事は個人ブログの転載です kotamat.com GASは気軽にコードが書けるというのもあり、テストを書かないケースが多いのかなとは思っているのですが、とはいえある程度の規模になったらテストも書きたくなってくると思うので、どのへんをライン引きとして…

Vuexの型強化で学んだ、TypeScript型強化のTIPS

この記事は個人ブログの転載です。 kotamat.com Vuexは型がゆるいゆるいという話を散々されているのを見てきて、工夫すれば型の強化はできるんじゃないかと挑戦してみたところ、そこそこいい感じのものができたのですが、その過程でさまざまな工夫が必要だっ…

Apple-Silicon(M1チップ)のMBPにk8s環境を作る方法

こちらは個人ブログ記事の転載です。 kotamat.com Intel チップのときは Docker for Mac で Enable Kubernetes を on にするだけで k8s 環境が手に入っていました。 ただ、M1 チップ用の環境である Docker Desktop for Apple M1 で環境を構築すると執筆時点…

TypeScriptで深いJSON構造から要素を取り出すときに型をちゃんと取るTIPS

このブログは個人ブログと同じ内容です kotamat.com 下記のような多段のマスターデータが存在しているときに、ちゃんと型安全に値を取り出したいとなったときの型定義を考える large.json { "1": "foo", "2": "baz" } detail.json { "1": { "1001": "foo1", …

Next.jsでStrict CSPを実現する

この記事は個人ブログと同じ内容です。 kotamat.com 業務では Nuxt.js を使用しているのですが、CSP の nonce の対応ができておらず、Next.js だとどうなんだろうと触ってみたらメチャクチャ簡単に設定できる事がわかったので、その方法について紹介します。…

HSTSってなんだっけ

この記事は個人ブログの転載になります。 kotamat.com HSTSに関して、話題に上がったことがあったので、改めてHSTSは何なのかをまとめてみました。 TL; DR HTTPSを強制するもの TLDベースとレスポンスヘッダーベースがある 導入するときは気をつけないといけ…

LaravelをECS上で運用するTips

// こちらの記事は下記ブログと同じものになります。 kotamat.com 今まではEC2上でLaravelを動かしてきたが、CVEの対応など、定期的にミドルウェアをアップデートする仕組みとして、VMレベルでのプロビジョニングをするのが大変になってきたので、Dockerコン…

CodePipelineとGitHubを連携する方法を追求したら Github Actionsでやるべきという結論に至った話

// こちらは下記のブログの転載です。 kotamat.com 会社でGitHubをソースコードの管理として、AWSをインフラ基盤としてつかっているのですが、今回ECSを用いて環境を構築する事になり、以前試験的に運用していたサービスで構築していたCodePipelineをつかっ…

ちゃんと改善を回すためのDX Criteriaの活用

DX Criteriaの第一弾がリリースされ、だいぶ時間が立ってから導入を検討することになったので、今更感は結構ありますが、ROXXなりの導入方法をもとに知見を共有することによって、今後導入される企業様並びにCTOの方々の何かしらの参考になればと思い、ブロ…

back checkのプレビュー環境

これは3/18に開催された、ROXX社内LT大会の資料です。 概要 今回は下記の内容を紹介します back checkのリポジトリの状況 プレビュー環境に求められる要件 参考にしたOSS 実際の昨日のアウトプット 具体的な実装 back checkのリポジトリの状況 backcheckには…

CDKとterraformの使い分け

こんにちは、 kotamat です。 少し前から、CDKを用いた環境整備を行いました。今までterraformで構築してきたので、それとの差分をメモ代わりに書こうと思います。 TL; DR 使い分けとしては下記のようになるかなと思っています CDK ベストプラクティスを簡単…

AWS Cloudfront をL7スイッチで使うならTerraform0.12 Dynamicが便利

こちらのブログは個人ブログと同じ内容です kotamat.com こんにちは、 kotamat です。 Terraform 0.12がでてしばらく立ちますが、先日構築したCloudfrontの環境において、Terraform0.12のdynamicを使わないと実現できない事案が発生したため、この際にと思い…

Inversifyを使った、型堅牢なDIコンテナの構築

Inversifyを使った、型堅牢なDIコンテナの構築 こんにちは、 kotamatです。 新マイクロサービスのアーキテクチャーにNode.jsとTypeScriptを導入したのですが、そちらの基盤技術としてInversifyを導入したらめちゃくちゃ良かったので、使い方含めて紹介します…

理想の開発組織に沿った行動を表彰しました!

こんにちは kotamat です。 弊社の開発チームでは、理想の開発組織像というものを定義しております techblog.scouter.co.jp 詳細は上記リンクを参考にしていただきたいですが、それを実現するために3つのバリューを設定しております。 ROCK 個々のプレゼンス…

saml2awsを使ったセキュアなTerraform管理

saml2awsを使ったセキュアなTerraform管理 こんにちは kotamatです。 本日発売の WEB+DB PRESS Vol.111に 【第2回】コードの書き方の統一 ……PHP_CodeSnifferによる規約への準拠,PHPStanによる静的解析……というタイトルで寄稿させていただいております。 gih…

AWS SystemManagerを使って、簡単にサーバー監視やIDS等を導入する

こんにちは kotamat です。 最近は社内セキュリティの向上に取り組んでおり、その一環でAWS System Managerを導入してみたら非常に簡単にいろいろなものがセットアップできたので、そちらの紹介をさせていただきます。 EC2へのソフトウェアインストールの課…

Laravel JP Conferenceでスポンサード&IRT&登壇しました

こんにちは kotamat です。 2019/02/16に行われたLaravel JP Conferenceにてゴールドスポンサーと、IRT、登壇をさせていただきました! conference2019.laravel.jp IRT 午前中の時間を使い、「Vue.js と Laravel の相談会」というテーマでInteractive Round …

理想とする技術組織

こんにちは、kotamatです。 開発メンバーも15人を超えてきて、開発ラインも複数走っている状況となってきました。 それぞれの開発ラインにおいて、上長となる開発責任者やマネージャーが要件やスケジュールを決めていくため、それぞれの開発ラインが独立駆動…

PHPConにて話した「PHPを使う理由」の解説

PHPConにて話した「PHPを使う理由」の解説 こんにちは、 kotamat です。 2018-12-15 PHPカンファレンス2018にて、スポンサリングさせていただきました! phpcon.php.gr.jp お配りしていたチラシ 結構目立っていたようです プラチナスポンサーをさせてもらっ…

SCOUTERの開発メンバーを紹介します!

SCOUTERの開発メンバーを紹介します! こんにちは、 @kotamat です。 弊社の開発のメンバーは個性的な方が多く、なかなか紹介する機会もないので、紹介させていただきます! 入社・ジョインまで何をやってきたのか 入ってから何をしているのか 今後の展望 を…

ららびゅう座談会で登壇してきました!

こんにちは @kotamat です。 先日ららびゅう座談会という勉強会にて登壇させていただきました。 laravue-forum.connpass.com 一緒に登壇していただいた方は、あのLaravel本を執筆された kurikazu さんと、弊社でも一緒に仕事していただいている nunulk さん…

LaravelのAPI開発でPhpStorm以外使わなくなった話

こんにちは、 id:kotamat です。 現在SCOUTER社では、新規事業の開発も行っており、そちらのバックエンドを開発しているのですが、そちらでは様々な手法を導入し、効率化を図っています。 今回はPhpStormを使った効率化の紹介となります。 (ちなみに僕はInte…

Babel7 OptionalChainingでLaravelのバリデーションをハンドリングする

# Babel7 OptionalChainingでLaravelのバリデーションをハンドリングする こんにちは、@kotamatです。 昨日Babel7がリリースされましたね https://babeljs.io/blog/2018/08/27/7.0.0 Babel6から3年かかってのリリースです。コントリビューターの方々お疲れ様…

NuxtMeetup#3開催しました

こんにちは id:kotamat です。 昨日SCOUTER社にてNuxtMeetup #3を開催させていただきました! 今回はじめてYoutubeライブをいれてみたのですが、承認が降りたのがイベント直前で十分に仕様を把握できずに使う形になってしまったので、だいぶ視聴環境として良…

SCOUTERが爆速開発できるたった1つの理由と4つの施策

エンジニア少ない問題 こんにちは id:kotamat です。 このブログを見ていただいている方は特に実感されていると思いますが、現在日本市場においてエンジニアは引く手あまたの完全売り手市場です。 また、エンジニアリングというのは、人数をただ増やせば線形…

スタートアップ×インフライベントで登壇しました!

こんにちは id:kotamat です。 2018-05-30 SmartHRさんの会場にて、 「スタートアップ × インフラ 〜爆速開発を行う4社の開発を支えるインフラ戦略〜」というテーマのもと airCloset SCOUTER SmartHR FABRIC TOKYO の4社合同イベントを開催いたしました。 開…

Laravel/Vue.js勉強会#4開催しました!

こんにちは、SCOUTERの id:kotamat です。 2018/04/25、ITプロパートナーズさんにて Laravel,Vue.js勉強会第四回を開催いたしました。 laravue.connpass.com 今回は転職ドラフトさんよりビールを提供していただきました! 今回は雨の影響もあり、当日キャン…