Anti-Pattern Inc. Engineering Blog
Anti-Pattern Inc.(株式会社アンチパターン)のエンジニアブログです。
Home
About
Corporate Site
About
SaaSus Platform
公共SaaSに乗り出すために、事業者が知っておくべきこと
はじめに:「日本の公共システムをイケてるシステムにしたい」 株式会社アンチパターンの信田健児です。普段は民間企業のSaaS開発支援をすることが多いですが、今回は、公共SaaSについてです。デジタル庁のイベント記事などもみながら、僕なりの解釈で書いてみたいと思います。 デジタル庁ガバメントクラウドチームは、2023年11月の日本オラクル主催セミナーで、ガバメントクラウド移行の狙いをこう語っています。 日本の公共システムを「イケてるシステム」にしたい※1 この言葉に、私たち株式会社アンチパターンは強く共感しています。 デジタル庁が推進する「公共SaaS」は、単なるクラウド移行の話ではありません。日本の公共ITが「所有」から「シェア」へと構造転換し、規模の大小を問わず全国の地方公共団体、国の政府機関、準公共団体、独立行政法人、などの公共組織がモダンな技術の恩恵を受けられる社会を目指す ── そういう大きな意志を持った取り組みだと、私たちは受け止めています。 その変革に参加できるのは、もはや大手SIerだけではありません。デジタル庁が運営するデジタルマーケットプレイス(DMP)
未経験から始まったSaaS Harborの立ち上げで、コミュニティマネージャーとして学んだこと
SaaSコミュニティの立ち上げが決まり、私のコミュニティマネージャーとしての歩みが始まりました。 とはいえ、最初は「コミュニティってそもそも何?」「何をすればいいの?」という状態。まずは『ファンベース』などの書籍を読み、コミュニティのあり方を学ぶところからのスタートでした。ワクワクした一方で、不安な気持ちもありました。 SaaS Harborは、B2B SaaSに携わる人たちが、顧客への価値提供や業界の知見について学び合い、実務につなげていくことを目指したコミュニティです。 初回の立ち上げイベントでは、登壇セッションや質疑応答、親睦会、そしてイベント後のDiscordでの交流を通じて、参加者同士がつながる場をつくろうとしました。 この記事では、コミュニティマネージャー未経験だった私が、SaaS Harborの立ち上げを通じて経験したこと、現場での反省、そして今大切にしたいと考えている視点をまとめました。 なお、当日のイベント内容については、レポートとしてまとめています。イベント全体の雰囲気やセッション内容を知りたい方は、ぜひそちらもあわせてご覧ください。 SaaS Ha
AWS Marketplace Agreement APIの2026年5月アップデートを検証
こんにちは。今回はアップデートで追加されたAgreement APIの新しいエンドポイントについて検証した結果を備忘録として残します。 これまでAWS Marketplaceでの製品購入やプライベートオファーの受諾は、AWSコンソール上での手動操作(UI操作)が必要になっていました。 https://aws.amazon.com/jp/about-aws/whats-new/2026/05/aws-marketplace-agreements-api/ 2026年5月のアップデートにより、Agreement APIに新しいエンドポイントが複数追加され、プログラム経由で見積もりの生成から契約の受諾までを完結できるようになったようです。今回はその中でもプライベートオファー受諾の挙動を検証した結果をまとめます。 1. 従来の Agreement API の使い方 アップデート以前よりAgreement APIは、主に以下のような参照系の操作で利用することができました。 * search-agreements:契約一覧の検索 * describe-agreement:詳細な契約情
Next.js の moduleResolution を TypeScript 7.0 目線で見直す
はじめに 普段開発している Next.js プロジェクトを VS Code で確認していたところ、tsconfig.json の moduleResolution: "node" に関するエラーが表示されていました。 moduleResolution は、TypeScript が import の参照先をどのように解決するかを決める設定です。普段の開発ではあまり意識しない項目ですが、Node.js、Next.js、バンドラー、TypeScript のバージョンによって適切な値が変わります。 今回エラーになっていた moduleResolution: "node" は、現在の TypeScript では node10 相当の古い解決方式として扱われます。 TypeScript 7.0 では、TypeScript 6.0 で非推奨となった一部の設定がハードエラーとして扱われるため、事前に見直しておく必要があります。その中に moduleResolution: "node" の解決方式も含まれています。 この記事では、VS Code 上で表示された moduleResoluti
Slackリストのステータス管理がいまいちだったのでワークフローで解決した話
こんばんは 最近、業務情報のSlack集約に勤しんでいます。Slackリストを活用して、タスクの管理をするとリマインドやワークフローに組み込めたりなどしてとても便利です。タスク管理や案件管理など、これまでスプレッドシートや別ツールでやっていたことをSlack内で完結できるので非常にありがたいです。Slackbotを活用する上でも情報をSlackに集約することは重要な活動になるのではないでしょうか。 ただ、実際に運用してみると「ここ、もうちょっとどうにかならないの? 」というポイントが出てきました。今回は、Slackリストのステータス管理における「二重管理問題」を、ワークフローを使ってサクッと解決したお話です。 Slackリストの罠 Slackリストでリマインドや未完了タスク等の通知を使うには、「タスク追跡フィールド」という項目をリストに含める必要があります。 「タスク追跡フィールド」は主に完了チェックと期限日を使うので、これらがリストに含まれることで、期限日やステータスを確認して通知するというようなことができます。(ワークフローで通知の設定をしたけどエラーが出るぞと悩んでいた
NotebookLMにGASのコードを放り込んで「説明書」を作ってみたよ
Google Apps Script(GAS)使ってますか。最近はAIに頼めばコード自体はすぐ書けるので、以前より活用の幅が広がったという人も多いのではないでしょうか。 ただ、実際に運用を始めると、次のような地味に困る問題が出てきませんか? * 「とりあえず動く」けど、中身をちゃんと把握できていない不安。 * 他の人にツールを渡すとき、毎回同じ説明をするのが面倒。 * 数ヶ月ぶりにコードを触ると、自分の書いたコードなのに「これ何だっけ?」となる。 かといって、わざわざWordやドキュメントでマニュアルを自作するのは大変。そんな悩みを解決するために、「NotebookLM」にGASのコードを読み込ませておけば「いつでも質問できる説明書」にできるのではと思って試してみた次第です。 1. GASでよくある「地味に困る」シチュエーション GASを使ってツールを作ると、時間が経つにつれていくつか課題が出てきます。 内容を正確に理解しきれていない AIにコードを書いてもらった場合、動作は完璧でも「なぜこの行が必要なのか」を細かく理解しきれていないことがあります。そのまま運用を続ける
gitleaksを使ってsecretの誤コミット対策してみた
こんにちは、いわむらです。 AI エージェントといっしょに作業することが増えてきました。速くて助かる一方で、ローカルの設定値や検証用トークンが、気づかないうちにコミットに紛れ込むリスクは前より意識するようになりました。 間違ってコミットに含まれてしまうのを避けるため、機密情報はコミット前に機械的に止めるやり方にチャレンジしてみた内容を共有できたらと思っています。今回は、gitleaks を lefthook から pre-commit で実行する構成にしています。 本記事で紹介するのは次の3点です。 * なぜ git-secrets ではなく gitleaks に寄せたのか * ローカルで止める最小構成 * ローカルで漏れた場合に GitHub Actions でどう拾うか 人の注意に頼る場所を減らして、フローの中で止める形にしてみてます。 gitleaks に寄せた理由 もともとは git-secrets を使っていました。AWS 系の検知が優秀なのですが、それ以外のサービスには標準では対応していません。今回は AWS 以外も最初から広めに見たかったので、gitle
AI
,
docker
AIエージェントを安全に動かすサンドボックス環境の作成
Claude Code の Auto Mode や GitHub Copilot CLI の Autopilot など、AIエージェントを自律的に動かす機能があります。 これらは非常に便利な反面、ホスト環境で直接動かすのは少し不安です。依存パッケージが汚染されたり、意図しないファイルを書き換えられたりするリスクがあります。 そこで今回は、エージェントをコンテナ内に閉じ込めつつ、ホストのプロジェクトディレクトリをシームレスに扱えるサンドボックス環境を作成しました。 https://github.com/yutakahashi114/sandbox -------------------------------------------------------------------------------- 概要 このツールは1つのシェルスクリプト sandbox を実行するだけで、Docker コンテナ上の開発環境に入ることができます。 $ sandbox # 現在のディレクトリで新しいセッションを開く $ sandbox -- <cm
いまさら理解する「メモリとは?」- Webアプリケーションエンジニアのための低レイヤー入門シリーズ その2
先日、とあるサービスで OOMKilled が発生しまして、メモリリミットに引っかかったんですが、「そもそもなんでこんなにメモリ使ってるんだ?」を調査するのに、メモリの基礎知識が改めて大事だなと思いました。 ということで、「低レイヤー入門シリーズ」の第二弾はメモリについて深掘りしていきます! 前回の「スタティックリンクとダイナミックリンク」 [https://tech.anti-pattern.co.jp/imasarali-jie-surusutateitukurinkutodainamitukurinkunituite/] では、プログラムがどのように実行ファイルになるかを学びました。今回は、その実行ファイルが動くときに欠かせないメモリの仕組み を、C言語を使って体感していきましょう。 -------------------------------------------------------------------------------- なぜWebエンジニアがメモリを理解すべきか? 普段、Ruby on RailsやNode.js、Goなどで開発していると、メモ
雇用保険の適用拡大について学ぼう!
こんにちは! アンチパターン管理部の森口です。 今回は、2024年5月10日に成立した「雇用保険法等の一部を改正する法律」で最も影響が大きい、2028年10月1日施行の「雇用保険の適用拡大」について学びたいと思います。 前提 労働者を1人でも雇用する事業は、原則として雇用保険の「強制適用事業」となり、事業主は、正社員・パート・アルバイトといった雇用形態にかかわらず、加入要件を満たす労働者を雇用保険に加入させる義務があります。 参考:第2章 雇用保険の適用について|厚生労働省 [https://www.mhlw.go.jp/file/06-Seisakujouhou-11600000-Shokugyouanteikyoku/0000172758.pdf] 雇用保険の適用拡大で何が変わるの? * 雇用保険の加入要件の一部が変わる 週の所定労働時間に関する要件が「週20時間以上」から「週10時間以上」に拡大されます。 これにより、今まで雇用保険の加入対象外であった「週10時間以上〜20時間未満」の短時間労働者に関しても、雇用保険の強制加入対象となります。 * 被保険者期
合宿を通じた取り組み
1. はじめに:期初に「全員」で集まる理由 私たちの会社では、半期に一度、新しい期のスタートに合わせて社員全員が参加する、1泊2日の全社合宿、名付けて「AP合宿」なるものを開催しています。 熱海や湯河原などの温泉地に足を運び、日常のオフィスや自宅から離れた環境で、心身ともにリフレッシュしながら議論を深める時間を大切にしています。 現在、私たちはフルリモートワークが可能な環境で業務を行っています。画面越しでも円滑に仕事が進む一方で、全員が同じ場所に集まり、直接顔を合わせる機会は決して多くありません。だからこそ、この合宿は私たちにとって、単なる会議の場としてだけではなく、対面でのコミュニケーションを通じて組織の連携を再確認する貴重な機会でもあるのです。 (なお、「旅」としてのワクワク感を楽しんでもらえるよう、人事として「合宿のしおり」を作成しており、部屋割りの発表なども含めた恒例行事として定着しています。) 本記事では、1日目、2日目とそれぞれの行程を追いながら、今回のAP合宿で具体的にどのような議論が行われ、それが組織にどのような変化をもたらしたのか、人事の視点からそのプロセスを
SaaSus Platform
,
Postman
SaaSus API が Postman に登場!APIの実行が気軽に行えるようになりました
SaaS 開発の認証やマルチテナント管理を支える SaaSus Platform。 これまで API の仕様を確認するには、ドキュメントを読み込み、コードを書いて実行する必要がありました。 この度、SaaSus API が Postman パブリックワークスペースに登場しました! Postman [https://www.postman.com/anti-pattern-inc/saasus-platform?sideView=agentMode]1. Postman で公開されると何が嬉しいのか? Postman パブリックワークスペースを利用することで、従来の開発フローにおける「手間」が以下のように解消されます。 * 認証設定の共通化: API キーなどの認証ヘッダー設定がテンプレート化されているため、設定ミスを防げます。 * 最新仕様が常に手元に: 公式のワークスペースを Fork すれば、常に最新のエンドポイント定義を同期して利用できます。 2. 最短で API を実行 以下の手順で、すぐに SaaSus API を手元で試せます。 1. ワークスペースへアク
Page 1 of 21
Next