タグ

igrepのブックマーク (27,861)

  • 帳票エンジンの会社ですが、4年かけた帳票デザイナーを凍結してAIに全振りしました

    デンキヤギでは、2021年から 商用の帳票エンジン(yagisan-reports) を開発しています。 この間に 生成AIにプログラムを書かせることが当たり前 になりました。この流れに追従するため、 帳票エンジンの開発方針を生成AIに全振りして、4年以上取り組んでいた帳票デザイナーの開発を凍結する 決定をしました。 なお、この記事は2年半ぐらい前に書いた記事の続編です。 開発当初(2021年、AI以前)からの構想 yagisan-reportsは最初期から、 帳票テンプレートは人間が読みやすく、手書きできる ことを設計方針の軸の一つにしていました。その結果として、帳票テンプレートはJSXやXAMLなどに似た宣言的なXML形式となっています。 とはいえ、商用製品として売るためには「GUIの帳票デザイナー」が必要不可欠 であるとも考えていて、実際にかなりの初期段階から開発を進めていました。こ

    帳票エンジンの会社ですが、4年かけた帳票デザイナーを凍結してAIに全振りしました
    igrep
    igrep 2026/04/28
  • 修理費で13万円超えも 折りたたみスマホに「端末保険」が事実上必須といえる理由

    折りたたみスマートフォンは国内では大手3キャリアやY!mobile、オープン市場でも販売されており、入手しやすくなった。Galaxy Foldの登場から間もなく7年。3つ折りタイプも登場して話題になりつつあるが、依然として扱いには注意が必要だ。今回は改めて折りたたみスマホを使う上での注意点を整理しよう。 折りたたみスマホで故障しやすいのはメインディスプレイ 折りたたみスマホで、最も故障しやすい部位は展開した「メインディスプレイ」だ。折りたたみ機構に最適化されたディスプレイは、薄型かつ柔軟性を持たせた設計のため、一般的なスマホのディスプレイに比べると耐久性で劣るものが多い。 現在はディスプレイにUTG(Ultra Thin Glass)という薄いガラスを採用し、その上に飛散防止フィルムを貼ったものが主流となっている。ヒンジ部の耐久性強化をはじめ、初期の製品と比較すると現行製品の耐久性は大きく

    修理費で13万円超えも 折りたたみスマホに「端末保険」が事実上必須といえる理由
    igrep
    igrep 2026/04/27
  • Matz の Ruby AOT コンパイラ Spinel を試してみました

    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 にします。発表を聞いていて、これは触ってみたいなと思いました

    Matz の Ruby AOT コンパイラ Spinel を試してみました
    igrep
    igrep 2026/04/27
    まあそりゃそうよね。完全にサポートするのは無理がある。 "Ruby のサブセットを攻めた形で native binary にする実験的なコンパイラ"
  • 生成AIの正しい障害修正がキッカケで、あなたは顧客の信頼を失うかもしれない

    はじめに 生成AIの登場により、コーディングだけでなく障害調査の効率も劇的に改善されました。スタックトレースを貼り付けるだけで原因の仮説が返ってきます。ログを渡せばパターンを読み解いてくれます。以前なら数時間かかっていた調査が、数十分で終わるケースも珍しくありません。 しかし、最近は現場で気になる傾向が増えているように思えます。番障害対応において、生成AIの提案に従った「正しすぎる修正」が、かえって悪影響を生んでいる ケースです。 この問題の厄介な点は、生成AI質的に正しい提案をするからこそ、発生してしまうという点にあります。 何が起きているか:現場の一例 先日、あるDB処理に起因する障害が発生しました。原因は特定の処理パターンにあることが判明し、担当者が生成AIに修正方針を相談しました。 AIは的確でした。該当箇所の問題を正確に分析し、同様の処理パターンが他にも複数存在することを指

    生成AIの正しい障害修正がキッカケで、あなたは顧客の信頼を失うかもしれない
    igrep
    igrep 2026/04/27
    "コードの問題を聞けば、コードの観点から最善の回答を返します。それは正しいことです。しかし障害対応には、技術的文脈以外の判断軸が存在します。"
  • Fragments: April 2

    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.

    Fragments: April 2
    igrep
    igrep 2026/04/27
  • GitHub - hook0/hook0: Open-source webhook server that helps you provide webhooks to your users. It handles for you a great amount of features that are usually tedious to (re)implement.

  • 何かのアピール?ファッション感覚で「ヘルプマーク」を付ける若者たちの“驚きの理由” | FRIDAYデジタル

    ライフハックツールではない 赤色に白い十字とハートが施されたデザインのヘルプマークは、援助や配慮を必要としている人が、周囲に知らせるために作製されたマークだ。 だが、このヘルプマークを悪用する人もいる。中国旅行代理店が中国人観光客向けにヘルプマークを配布し、旅行用のハックツールとして活用しているという噂もあり、来の利用方法以外の使われ方をしていることが話題になった。 ヘルプマークは特別な許可は不要で、誰でも身に着けることができる。だが、ファッション感覚や、病みアピールのツールとして安易に活用している人もいるようだ。彼らはヘルプマークの来の意味について知っているのだろうか。 新宿近辺で遊んでいるというAさん(10代女性)はいわゆる“ぴえん系”と呼ばれる属性の女性。多少の区別はあるが、地雷系や量産型とも呼ばれ、彼女らの多くは『病んでいる』ことをステータスとして扱う傾向にある。「常に不安な

    何かのアピール?ファッション感覚で「ヘルプマーク」を付ける若者たちの“驚きの理由” | FRIDAYデジタル
    igrep
    igrep 2026/04/26
    線引きが難しいやつだし、悩ましいね
  • ターミナルで動く開発モニタをRustで作った — Ratatuiで実用TUIを作って見えた5つの設計課題とその解き方

    イベントループの設計 これらを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で区切る

    ターミナルで動く開発モニタをRustで作った — Ratatuiで実用TUIを作って見えた5つの設計課題とその解き方
  • GoからBrainfuckへのコンパイラを作った - プログラムモグモグ

    go2bfという、Go言語(のサブセット)のソースコードをBrainfuckにコンパイルするコンパイラを作りました。 Goで書かれたソースコードをBrainfuckにコンパイルし、組み込みのインタプリタで実行できます。 Brainfuckはたった8つの命令しか持たないプログラミング言語です。 go2bfは、Go言語の制御構文、関数、再帰、配列、構造体、ポインタといった機能をBrainfuckにコンパイルし、内蔵しているインタープリタで実行します。 github.com Brainfuckの難しさの質は、ランダムアクセスがないことにあります。 配列アクセスのように、実行時に決定するメモリー位置の値を読み取る仕組みも自分で作らないといけません。 この制約のもとで、配列はもちろん、関数呼び出しのスタックフレームを実現する必要があります。 スタックはガード、値、ゼロの三つのセルを一つのメモリーの

    GoからBrainfuckへのコンパイラを作った - プログラムモグモグ
  • Compression Dictionary Transport 用の Toolkit を公開した | blog.jxck.io

    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

    Compression Dictionary Transport 用の Toolkit を公開した | blog.jxck.io
  • GitHub - hyperlight-dev/hyperlight-sandbox: A multi-backend sandboxing framework for running untrusted code with controlled host capabilities built on Hyperlight.

  • neovim 0.12からはネイティブの補完で十分そう - Panda Noir

    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' -- ポップアッ

    neovim 0.12からはネイティブの補完で十分そう - Panda Noir
    igrep
    igrep 2026/04/22
  • Compression Dictionary Transport によるコンテンツ圧縮の最適化 | blog.jxck.io

    Intro Compression Dictionary Transport は、圧縮に用いる辞書を HTTP 上で共有するプロトコルであり、2025 年 9 月に RFC 9842 として標準化された。 サイトの対応を行ったので、方式の概要とデプロイ方法について解説する。 圧縮 圧縮は、基的に「同じ値が出てきたら、前の値への参照に置き換える」という方式が中心となる。 例えば以下のような HTML を考えよう。 <link rel="author" href="https://jxck.io"> <link rel="canonical" href="https://blog.jxck.io"> 参照する位置とその長さを [n:m] と表すと以下のように置き換えられる。 <link rel="author" href="https://jxck.io"> [0:11]canonical

    Compression Dictionary Transport によるコンテンツ圧縮の最適化 | blog.jxck.io
  • AIで実装は速くなった。でもチーム開発が逆に難しくなった理由 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 先に結論 AIを導入すると、実装スピードは確実に上がります。 ただ、チーム開発で当に問題になるのは、コードを書く速さではなくコードを理解し、判断を共有する速さです。 今回読んだ2の記事から得た学びを一言でまとめると、次の3つでした。 仕様書は「ずっと保守する正」ではなく、「認識を揃えるための起点」として使う AI時代のレビューは、「細かい指摘」より「なぜその実装なのか」を確認する場になる AIが書いたコードをチームの資産にするには、「説明できる状態」を作ることが必要 「AIで実装は速くなったのに、レビューや設計はむしろしんどくなっ

    igrep
    igrep 2026/04/22
  • AIコーディング時代に必要なプログラミングスキル - Qiita

    「もうプログラミングスキルは不要」勢へ 恐らくそれは「プログラミングスキル」ではないです。 いや単に「プログラミングスキル」という言葉の定義の問題かもしれない。 実際多くの人はPythonの文法、JavaScriptのフレームワーク、SQLのクエリ構文——つまり特定言語に関する文法知識をイメージするんじゃないかと思います。 それ故、コーディングエージェント全盛時代に、文法知識の重要性が相対的に下がる・・・これはその通りかと思います。 じゃあ「プログラミングスキルはもう要らない」のか? それは完全に誤りです。 自然言語でAIに指示する場合であっても、プログラミング的な思考能力がなければ正しい指示はできません。つまり、自然言語であってもプログラム であり、書き手には「プログラミングスキル」が要ると考えています。 ここでいう「プログラミングスキル」は文法知識ではありません。計算論的思考(Comp

    AIコーディング時代に必要なプログラミングスキル - Qiita
  • GitHub - forrestchang/andrej-karpathy-skills

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - forrestchang/andrej-karpathy-skills
    igrep
    igrep 2026/04/22
  • ブラウザで日本語入力中にIMEが勝手に切り替わると思ったらNeovimのLSPが原因だった

    この記事はVim駅伝の2026-04-20の記事です。 Vim駅伝は常に参加者を募集しています。詳しくはこちらのページをご覧ください。 はじめに Neovim日本語入力する際、挿入モードで日本語入力に切り替え、ノーマルモードに戻ったら英字入力に戻す、というのはよくある運用です。 私はmacismとNeovimのautocmd(特定のイベント発生時にコマンドを自動実行する仕組み)を使って「挿入モードを抜けたら自動で英字入力に戻す」設定をしていました。 さらに、取りこぼしを減らすためにイベントを大量に追加した結果、Neovim以外のアプリで日語を入力している最中に勝手に英字入力に切り替わるという怪奇現象に遭遇しました。 問題のあった設定 以下が当時のautocmd設定です。 local ime_switch_events = { "InsertLeave", "WinEnter", "Fo

    ブラウザで日本語入力中にIMEが勝手に切り替わると思ったらNeovimのLSPが原因だった
  • AI エージェント並列化で自分の脳が限界になったので Maestri を試した

    はじめに AI コーディングエージェントの並列運用を始めて、すぐに気づいたことがある。ボトルネックはもう、コードを書く速度じゃない。自分の脳だ。 Claude Code を 3 つ、4 つと同時に走らせる。それぞれが別々のタスクを猛烈な速度で片付けていく。でも、ふと顔を上げると——今どのターミナルが何をやっていて、どれが終わっていて、どれが詰まっているのかが、わからない。画面を切り替えるたびに文脈が飛び、戻ってくる頃には別のエージェントの出力がスクロールで流れている。 AI 側の性能は上がり続けているのに、それを捌く側の私の認知が追いつかない。典型的な解は tmux だけど、Mac 環境に慣れきっていない私には prefix キー+ショートカットの体系がどうしても定着せず、結局パラレルで見れるtmuxの恩恵を受けれずにいた。 そんな中で見つけたのがMaestriという macOS ネイティ

    AI エージェント並列化で自分の脳が限界になったので Maestri を試した
    igrep
    igrep 2026/04/21
  • Perry — TypeScript → Native

    v0.5.306 — generational GC + lazy JSON tape default, faster than Node and Bun on most benchmarks One Codebase. Every Platform. Native Performance.Perry compiles TypeScript to native GUI and CLI apps on macOS, iPadOS, iOS, Android, Linux, Windows, watchOS, tvOS, WebAssembly, and the Web. No runtime. No Electron. Just native binaries.

    Perry — TypeScript → Native
  • コンソールポチポチが好きだけどIaCやってます

    コンソールポチポチは良い 私はAWSマネジメントコンソールが好きです。 新しいサービスを試すとき、まずコンソールを開きます。画面を見ながら「このサービスにはこんな設定項目があるのか」「この項目はこう関連しているのか」と理解していく。ドキュメントを読むだけでは掴めない感覚が、画面を触ると分かることがあります。 コンソールの良さはいくつもあります。 すぐ試せて、すぐ壊せる。 検証したいことがあるとき、コンソールなら数クリックでリソースを作って動作を確認できます。うまくいかなければ消してやり直せばいい。このサイクルの速さは、学習でも検証でも大きな武器です。 何ができるか分かる。 コンソールの画面には設定項目が並んでいるので、「このサービスにはこんなオプションがあるのか」と気づけます。ドキュメントを端から端まで読まなくても、画面を見ればリソースの作り方が掴める。この「発見性の高さ」はコンソールなら

    コンソールポチポチが好きだけどIaCやってます
    igrep
    igrep 2026/04/20
    "すぐ試せて、すぐ壊せる" "何ができるか分かる" "依存関係を勝手に解決してくれる"