最近ハマっているterraformプロジェクト構成

こんにちは。Engineering Managerの小林です。 今日は最近一番使い勝手がいいと思っているterraformのプロジェクト構成を公開します。 dev(development)、stg(staging)、prd(production)の3環境がある想定で進めていきます。 今回の構成で実現したいこ…

1 + 1 = 2 をプログラミングで理解する

Legalscape のしろくまです。 自然数の集合論的定義(フォン・ノイマンの構成)は空集合の公理と無限の公理を利用して 以下のようになります。 0 = ∅ 1 = {0} = {∅} 2 = {0, 1} = {∅, {∅}} 3 = {0, 1, 2} = {∅, {∅}, {∅, {∅}}} ・・・ また加算は S(n) = n ∪…

15分で適格度トレースまで辿りつく強化学習

15分で適格度トレースまで辿りつく強化学習 by @aximov Legalscape の中山大地です。 Legalscape では、Legalscape Night というイベントを開催しています。この記事では、10月の Legalscape Night で LT をしたときに使ったスライドをみながら、社内勉強会…

PDFの中身を仕様を片手に読んでみる

PDF

こんにちは。Engineering Managerの小林です。 Legalscapeでは各種コンテンツの利活用性を高めるために、すべてのコンテンツをHTMLにする取り組みをしており、これを構造化と呼んでいます。 構造化の対象はWebコンテンツに限らず書籍にも及ぶため、PDFもHTML…

LLMのコンテンツフィルターについて

3行でまとめる Azure OpenAIとGeminiでは、コンテンツフィルターの挙動が異なり、エラーハンドリングの実装方法も変わってくる Azure OpenAIは400エラーで明確にブロックする場合と200で一部ブロックする場合があり、Geminiは200レスポンスでブロック理由を…

LLMコストの盲点: 日本語トークナイザー効率で変わる実質コスト比較(GPT-5, Claude Sonnet 4.5, Gemini 2.5 Pro, PLaMo 2.1 Prime)

はじめに こんにちは、LegalscapeでAIエンジニア/データサイエンティストをしている富田です。 皆さんは各LLMの本当のコストを測ったことがありますか? 1Mtokenあたり○ドルという料金表は確認されていると思いますが、実は各LLMの日本語に対するトークン効…

TypeScript は Structural Type System ではない場合がある

Legalscape のしろくまです。 TypeScript の Type System では Nominal な比較が用いられることがあります。 例 class Product { private name: string; } class User { private name: string; } let p = new Product(); let u = new User(); // Type 'User'…

WarpはAIだけじゃない! WorkflowとNotebookを使ってコマンドの再利用性と安全性を上げるには

1. 導入 こんにちは!!近藤です 突然ですがみなさん、ターミナルエミュレータは何を使っていますか? 近年、Rust製でモダンなUIを持つWarpが注目を集めています。よく話題になるのが、自然言語でコマンドを生成してくれる Warp AI ですよね。 しかし、Warp…

React 19.2の<Activity>はVue.jsのv-showと同じ用途か?

こんにちは。エンジニアの橋本です。 React 19.2がリリースされ、新機能も追加されましたね。 その中でも、XでVue.jsのv-showのようで既視感があると言われていた<Activity>が気になったので、調べてみました。 Reactの<Activity> 今までのReactでは要素の表示・非表示を切り替え</activity></activity>…