平素は、マネーフォワードグループが提供するサービスをご利用いただき、誠にありがとうございます。 当社がソフトウェア開発およびシステム管理に利用している『GitHub』※1の認証情報が漏えいし、これを用いた第三者による不正なアクセスが発生し、『GitHub』※1内の「リポジトリ」※2がコピーされたことが判明しました。 ※1『GitHub』: 米国 GitHub 社が提供しているソースコード管理サービス ※2 リポジトリ: プログラムの設計図が入っている保管庫 現時点において、ソースコードおよび、リポジトリに含まれていたファイル内に記載されていた個人情報の一部が流出した可能性があることを確認しております。なお、流出したソースコードおよび個人情報の不正利用等による被害や、お客さま情報を格納している本番データベースからの情報漏えいは確認されておりません。 【流出した可能性のある個人情報】 ・マネー
📢 アップデート版を公開しました(2026/05/01) この記事のあと、3スキル体制に分割 + テストハーネスで検出率100%を達成 しました。最新の使い方は以下の記事をどうぞ。 👉 claude-security-scanを3スキル体制にアップデートしたら月$1未満で検出率100%を達成した話🎯 はじめに こんにちは、Sabakanです。 今回、Claude Code 用のセキュリティ診断スキル claude-security-scan を作って公開しました。 正直、自分でもびっくりするくらい実用的なものができたので、紹介させてください。 リポジトリはこちら → https://github.com/sabakan0123/claude-security-scan こんな気持ち、ありませんか? 「セキュリティ診断、ちゃんとやりたいけど Burp Suite の使い方よくわからん」
プラットフォームチームの菅原です。 最近、pistachioという宣言的スキーマ管理ツールを作成し[1]、本番環境のDBマイグレーションに導入したので紹介させてください。 pistachioについて 「宣言的スキーマ管理」はTerraformのように「あるべきスキーマの状態」を記述し、差分を埋めるDDLを実行することでDBマイグレーションを行う方法です。 同様のツールとしてはatlasやsqldef、拙作ですがRidgepole、最近のものだとpgschemaなどがあります。 pistachioはPostgreSQL専用の宣言的スキーマ管理ツールで、SQLでスキーマを記述して管理します。 pistachioのワークフロー まずdumpコマンドで既存のスキーマをファイルに出力します。 $ pist dump > schema.sql $ cat schema.sql -- Dump of s
// packages/react-reconciler/src/ReactFiberConcurrentUpdates.js(L65-L72, 一部抜粋 / 日本語コメントは筆者) while (i < endIndex) { const fiber: Fiber = concurrentQueues[i]; concurrentQueues[i++] = null; // ← これは何のため? const queue: ConcurrentQueue = concurrentQueues[i]; concurrentQueues[i++] = null; // ... } 値を取り出した直後、わざわざ null を代入しています。コメントには「参照を切らないと GC(ガベージコレクション)に回収されず、メモリリークになる」とあります。 ここで疑問が湧きました。React に限らず、自分
UIの面倒、実はDBの問題だった ― Local-First と Instant が示す Web 開発の未来 はじめに 2026 年 4 月、開発開始から 4 年を経て Instant が v1.0 をリリースしました。 アナウンスでは、次の 3 つが改めて押し出されています。 Unlimited apps(多テナント Postgres なのでフリープランが止まらない) A sync engine in every app(Figma / Notion / Linear と同じ系譜のリアルタイム同期) Batteries included(Auth / File storage / Streams が同じ DB に同居) The best backend for AI-coded apps そして 1.0 のランディングにて、それと同じくらい強く言い切られているのが次の一文です。 Inst
wado-lang.org Wado言語の開発はずっと続けていて、最近は3-4日くらいで(Wadoの開発のために契約した)Claude Code Max 20x のweekly limitに達してしまってちょっと物足りないくらいです。 まあとにかく、けっこう面白い機能が揃ってきたので紹介します。 imort構文 「このモジュールは標準ライブラリなのかサードパーティなのかローカルなのか、そしてこのライブラリの導入でどういうシンボルが導入されるのか」というのはけっこう言語によって判断が変わるところで、たとえばRustは Cargo.toml に宣言したライブラリを宣言なく使うことができて、しかも wildcard import があるので「どのシンボルがどのライブラリから来ているか」というのがパッとみた感じわかりにくいです。LSPの力を借りればできますが、逆にいえばLSP前提の言語設計といえま
デンキヤギでは、2021年から 商用の帳票エンジン(yagisan-reports) を開発しています。 この間に 生成AIにプログラムを書かせることが当たり前 になりました。この流れに追従するため、 帳票エンジンの開発方針を生成AIに全振りして、4年以上取り組んでいた帳票デザイナーの開発を凍結する 決定をしました。 なお、この記事は2年半ぐらい前に書いた記事の続編です。 開発当初(2021年、AI以前)からの構想 yagisan-reportsは最初期から、 帳票テンプレートは人間が読みやすく、手書きできる ことを設計方針の軸の一つにしていました。その結果として、帳票テンプレートはJSXやXAMLなどに似た宣言的なXML形式となっています。 とはいえ、商用製品として売るためには「GUIの帳票デザイナー」が必要不可欠 であるとも考えていて、実際にかなりの初期段階から開発を進めていました。こ
折りたたみスマートフォンは国内では大手3キャリアやY!mobile、オープン市場でも販売されており、入手しやすくなった。Galaxy Foldの登場から間もなく7年。3つ折りタイプも登場して話題になりつつあるが、依然として扱いには注意が必要だ。今回は改めて折りたたみスマホを使う上での注意点を整理しよう。 折りたたみスマホで故障しやすいのはメインディスプレイ 折りたたみスマホで、最も故障しやすい部位は展開した「メインディスプレイ」だ。折りたたみ機構に最適化されたディスプレイは、薄型かつ柔軟性を持たせた設計のため、一般的なスマホのディスプレイに比べると耐久性で劣るものが多い。 現在はディスプレイにUTG(Ultra Thin Glass)という薄いガラスを採用し、その上に飛散防止フィルムを貼ったものが主流となっている。ヒンジ部の耐久性強化をはじめ、初期の製品と比較すると現行製品の耐久性は大きく
RubyKaigi 2026 に参加して、Matz のキーノートで Spinel の発表を聞きました。Spinel は Ruby の AOT コンパイラで、Ruby のコードを読み、C のコードを生成し、最後は native binary として実行できる形にします。Ruby を書いている人間としては、「Ruby の AOT コンパイラ」という言葉だけでテンションが上がります。 Ruby はかなり動的な言語でもあります。メソッド呼び出し、クラスの再オープン、メタプログラミング、eval、実行時に変わるオブジェクトの形。普通に考えると、AOT コンパイルとは相性が悪そうに見えます。 それでも Spinel は、Ruby を Prism で parse し、AST をもとに型推論し、C のコードを生成して native binary にします。発表を聞いていて、これは触ってみたいなと思いました
はじめに 生成AIの登場により、コーディングだけでなく障害調査の効率も劇的に改善されました。スタックトレースを貼り付けるだけで原因の仮説が返ってきます。ログを渡せばパターンを読み解いてくれます。以前なら数時間かかっていた調査が、数十分で終わるケースも珍しくありません。 しかし、最近は現場で気になる傾向が増えているように思えます。本番障害対応において、生成AIの提案に従った「正しすぎる修正」が、かえって悪影響を生んでいる ケースです。 この問題の厄介な点は、生成AIが本質的に正しい提案をするからこそ、発生してしまうという点にあります。 何が起きているか:現場の一例 先日、あるDB処理に起因する障害が発生しました。原因は特定の処理パターンにあることが判明し、担当者が生成AIに修正方針を相談しました。 AIは的確でした。該当箇所の問題を正確に分析し、同様の処理パターンが他にも複数存在することを指
As we see LLMs churn out scads of code, folks have increasingly turned to Cognitive Debt as a metaphor for capturing how a team can lose understanding of what a system does. Margaret-Anne Storey thinks a good way of thinking about these problems is to consider three layers of system health: Technical debt lives in code. It accumulates when implementation decisions compromise future changeability.
ライフハックツールではない 赤色に白い十字とハートが施されたデザインのヘルプマークは、援助や配慮を必要としている人が、周囲に知らせるために作製されたマークだ。 だが、このヘルプマークを悪用する人もいる。中国の旅行代理店が中国人観光客向けにヘルプマークを配布し、旅行用のハックツールとして活用しているという噂もあり、本来の利用方法以外の使われ方をしていることが話題になった。 ヘルプマークは特別な許可は不要で、誰でも身に着けることができる。だが、ファッション感覚や、病みアピールのツールとして安易に活用している人もいるようだ。彼らはヘルプマークの本来の意味について知っているのだろうか。 新宿近辺で遊んでいるというAさん(10代女性)はいわゆる“ぴえん系”と呼ばれる属性の女性。多少の区別はあるが、地雷系や量産型とも呼ばれ、彼女らの多くは『病んでいる』ことをステータスとして扱う傾向にある。「常に不安な
イベントループの設計 これらを1つのイベントループでどう協調させるかが最初の課題です。 最初に考えたのは、すべてのデータ取得をtokioのタスクとして非同期に走らせるアプローチです。しかし、ポートスキャンやプロセス一覧の取得はコマンド実行やシステムコール経由であり、非同期化してもほとんどメリットがありません。むしろ、同期的な処理と非同期処理を混在させたイベントループのほうが、実装がシンプルになりました。 let tick_rate = Duration::from_millis(config.general.refresh_rate_ms); let mut last_tick = Instant::now(); loop { // まず現在の状態を描画する terminal.draw(|f| ui::draw(f, &app))?; // 次のtickまで待ちつつ、上限は50msで区切る
go2bfという、Go言語(のサブセット)のソースコードをBrainfuckにコンパイルするコンパイラを作りました。 Goで書かれたソースコードをBrainfuckにコンパイルし、組み込みのインタプリタで実行できます。 Brainfuckはたった8つの命令しか持たないプログラミング言語です。 go2bfは、Go言語の制御構文、関数、再帰、配列、構造体、ポインタといった機能をBrainfuckにコンパイルし、内蔵しているインタープリタで実行します。 github.com Brainfuckの難しさの本質は、ランダムアクセスがないことにあります。 配列アクセスのように、実行時に決定するメモリー位置の値を読み取る仕組みも自分で作らないといけません。 この制約のもとで、配列はもちろん、関数呼び出しのスタックフレームを実現する必要があります。 スタックはガード、値、ゼロの三つのセルを一つのメモリーの
Intro Compression Dictionary Transport(CDT) は、まだ新しいプロトコルのため専用のツールが不足している。 それらを開発し公開したので、紹介する。 CDT-Toolkit CDT は、あらかじめ辞書を作ってクライアントに取得させておき、それを用いて転送を圧縮することができる。 ところが、この辞書を作る汎用的なツールはない。 また CDT で転送するには、作った辞書を用いて圧縮し、専用のヘッダを付ける必要がある。 ところが、この圧縮を行う専用のツールはない。 この 2 つができるツールを Rust で開発し、cdt-toolkit として公開した。 Jxck/cdt-toolkit https://github.com/Jxck/cdt-toolkit crates.io にも公開している。 cdt-toolkit - crates.io: Rust
neovim 0.11でLSP補完が有効になった。が、枠線がなかったりプレビューが不足していたり、実用するにはあと一歩足りてない感 があった。 0.11の補完画面 が、0.12でその辺に 強化が入った。 0.12の補完画面 見た目的にも結構変化がわかりやすい。 0.12で入った強化 neovim docsのNews-0.12に書いてあるこの辺りがポイント。 補完アイテムのプレビュー popup menu にボーダー追加 個人的に大きいのは1つ目。プレビュー(枠線部)があることで 圧倒的に使いやすくなった。 2つ目も気分的にはだいぶアガる。枠線が何もないと見づらくて使いづらかったので、けっこう嬉しい。 (他にも色が表示されるようになったという細かい変更もあるが、個人的にはふーんって感じだ) 設定方法 基本はこれでOK。 vim.o.pumborder = 'rounded' -- ポップアッ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く