土曜日, 10月 18, 2025

テックニュース

ホームニューステックニュース

小規模チームがゼロからTerraform構成を設計した話 – AI時代の運用を見据えて

こんにちは。PIVOTでソフトウェアエンジニアとして、Webフロントエンド、バックエンド、インフラを横断的に担当している@tawachanです。 この記事では、PIVOTのプロダクトチームでインフラのTerraform化を推進した経験を共有します。IaCできていなかった状態から、AI時代の運用を見据えた構成をゼロから設計した過程と判断基準について、振り返りながら紹介していきます。 PIVOTのチーム状況と背景 チーム体制 PIVOTはビジネス映像メディア「PIVOT」を運営する会社です。開発チームは正社員エンジニア3名、QAエンジニア1名、プロダクトマネージャー1名、業務委託で数... Source link

TinyGo Conference 2025を開催しました ~とあるスタッフより~

はじめに satoken です。先日世界初のイベントとなる TinyGo Conference 2025 を開催しました! https://x.com/sago35tk/status/1977358331841749290 ご参加頂いた方々、ありがとうございました。快くスポンサー頂いた皆様、当日ご協力頂いたスタッフの皆様も本当にありがとうございました。 この TinyGo Conf の開催に深く関わった1人のスタッフ&酒クズとして、個人的なイベントレポートとしたいと思います。 資料まとめ 最初に当日の資料をまとめておきます。 オープニングセッション : TinyGo & TinyGo Keeb TinyGo でも GraphQL を動かしたい! Hardware fun with Tinygo: Games...

uvコマンドチートシート

はじめに スタディポケットでソフトウェアエンジニア / SRE として働いている@Tocyukiです。 弊社プロダクトのバックエンドは FastAPI で書かれており、パッケージマネージャーにはもちろん(?) uv を使っています。 https://docs.astral.sh/uv/ 普段よく使うコマンドなので、n番煎じ感満載ですが Python が久しぶりで uv 素人な自分のためにチートシート記事を書きました。 uv とは uv は Rust で書かれた高速な Python パッケージマネージャーです。Astral 社が開発しています。 公式では以下のように説明されています... Source link

Claude Codeに「次のタスクやっといて」ができるタスク管理ツール Task Master を使ってみた

タスク管理できない人間のぼやき ELYZAでプロダクト機械学習エンジニアをやっている中村(@tyo_yo_)です。 新しい機能を実装する際、PRD (プロダクト要求仕様書: Product Requirements Document) から実装すべきタスクを一つひとつ切り出していく作業。「ここはこうで、あそこはああで...」と考えながらチケットを作る時間って、正直コーディングより疲れませんか。 あと、歯を磨いている時にふと「あ、あの不具合直さなきゃ」と思い出す瞬間。スマホを取り出してバックログツールにメモしたり、いつのまにか混沌と化したバックログを見て目を背けてしまったり... 弊社ではGitflowに基づいた開発フローを採用しているのですが、Notionのボードビューでのタスク管理とはどうも噛み合わない部分がありました。PRやブランチの進行に合わせてカードを更新してもすぐにズレが生じたり、手動での同期が必要になったりして、結果的にどちらを信じればいいのか分からなくなる瞬間が多かったんですよね。 タスクに取りかかるという一番重いタスク タスクをやるときに何が一番大変ですかと言われれば、結局タスクをやり始める瞬間が一番大変だと思うんです。 「さて、次は何をやるんだっけ?」とタスクリスト眺めて、「これをやるには、あれを先に調べて、これを確認して...」と考えているうちに、気づけば30分経っている。やっと取り掛かったと思ったら、途中で別のタスクが気になり始めて集中が途切れる。 理想を言えば、デバッガーでn(next)キーを連打するみたいに、次のタスクが自動的に始まって、実装に集中できる状態が欲しいんですよね。「次これやって」「はい」「次これ」「はい」と、タスク管理のオーバーヘッドを最小限にしたい。 AIエージェントがタスクを管理してくれる時代? Task MasterはClaude Codeと連携して動作するAI駆動のタスク管理ツールで、npmで公開されているオープンソースプロジェクトです(公式ページ)。 タスク管理系のAIエージェントツールってすごくいっぱいあるんですが、Task MasterはGitHub上で22.2kのスターがついていて、一番人気そうだったので触ってみました。 Task Masterの特徴 PRDを用意すれば、AIが自動的にタスクを生成して、適切なサブタスクに分解してくれます。「この機能を実装するには、まずこれやって、次にあれを...」という思考プロセスを、AIが代わりにやってくれるわけです。 最大の強みは、Claude Codeとの統合ですね。Claude Codeに「次は何やればいい?」と聞けば、Claude CodeがTask MasterのMCPツール(get_next_taskみたいなやつ)を実行してくれて、次にやるべきタスクをClaudeが進め始めてくれます。 自分がTask Masterで助かってるのは、タスク管理というものがtasks.jsonというJSONファイルによって管理されるようになることです。このtasks.jsonがsingle source of truthで、そのtasks.jsonはCLIやMCP、Claude Codeなどから様々な形でとても触りやすくなっています。 ...

Honoざっくりキャッチアップ(v4.6.0〜v4.10.0)

はじめに こんにちは、@sugar235711です。 前回の記事から約1年が経ち、Honoはv4.6.0からv4.10.0までアップデートされているのでメモ書き程度に更新内容をまとめます。 https://github.com/honojs/hono/releases https://hono.dev/ 主要な変更点 この章では、v4.6.0以降の大きな変更点について解説します。 Contextual Storage Middlewareの追加によるContext伝搬 従来の方法 前回の記事では、リクエストごとにLoggerをContextに詰めて伝播させる方法を紹介しま... Source link

Remix3 (Remix Jam 2025)について

https://github.com/remix-run/remix https://zenn.dev/coji/articles/remix3-introduction https://zenn.dev/sora_kumo/articles/remix3-samples Remix3について書いてみます。 Remix3では、コンポーネントのレンダリング・再レンダリングのマニュアル(手動)でのコントロールを可能にしています。 Remix開発チームがPreactからフォークして開発中のライブラリ(Preactフォーク)がまだ公開されるレベルになっていないため、想像にすぎませんが、これらのメソッドは、Preactフォークの内部で呼ばれることになるはずです。 リリース版Remix3では、Remix.Handle.render、Remix.Handle.updateをユーザーが直接記述する機会は少なくなるはずです。 contextでの取り回しにProviderコンポーネントをかますことが必須のReactのcontextとは違い、RemixのcontextはVue.js3のprovide/injectライクにset/getで取り回しができます。 ! contextでの取り回しは親→子コンポーネントへの一方通行です。 domパッケージ(モジュール)の機能として提供されています。 Preactフォークでは、利便性のために、Remix.Handle.contextへのエイリアス?が提供されるかもしれません。 Remix3では、コンポーネントに記述されたステート(状態)の保持は、このセットアップスコープによって行われます。 Remix3では、コンポーネントはクロージャとして扱われます。 https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Closures Remix3の中でコンポーネントは一度クロージャとして実行され、実行結果が(内部変数に)格納/保持され、(同一コンポーネントから)参照可能で、関数であるのに恰もオブジェクトであるかのように扱えるようになっています。 セットアップスコープでは、ステートはミュータブル(mutable: 可変)な値として扱われます。 Remix3では、ReactやPreactベースのFWとは異なり、(セットアップスコープの段階では)ステートはミュータブル(mutable: 可変)な値として扱われます。 Preactフォークで、ステートがミュータブルな値として扱われるのか、イミュータブル(immutable: 不変)な値として扱われるのか、は不明です。 ステートの保持(自体)は(Preactフォークからは独立した)セットアップスコープで行うため、Preactフォークでステートがミュータブルな値として扱われる場合、Preactフォークに(ステート保持機能の実装は必要ないので)ステート管理機能(API)が存在しない可能性は高いです。 ! コンポーネント間でステートの共有はできないので、グローバルなステート管理には別途それ用のライブラリ(モジュール)が必要となります。 Reactではreact-domパッケージがDOM API etcをカプセル化(隠蔽)していて、Reactの(抽象化された)インターフェイス(API)を介してしかDOM API etcにアクセスできないのに対して、Remix3はDOM API/イベントetcが独自のインターフェイス(API)をもつモジュールとなっていて、それぞれにアクセス可能となっています。 Preactフォークは、Reactのように内部にイベントやレンダリングetc全てを内包するのではなく、イベントまわりはevents、DOMまわりはdom、他もそれぞれ別モジュール?、として(別に)存在し、Preactフォーク本体はそれらのモジュールを内部で利用する(Reactとは異なり)かなり?コンパクトなライブラリになると考えられます。 Remix3では、特定のライブラリに強く依存しない方針なので、自前で用意するPreactフォークにさえ強く依存しないしくみにしようとしているのかもしれません。 Preactフォークがステート(状態)管理のAPIを提供しないのか、PreactデフォルトのReactライクなステート管理APIを採用するのか、Preact SignalsのようにSignalsを採用する(Preact Signalsもどき?を統合する)のか、はたまた、第3のステート管理用APIを採用するのか、定かではありません。 https://leaysgur.github.io/posts/2022/09/07/113927/ Remix3では、ステートの保持はセットアップスコープが担当するので、Preactフォークでステート管理のAPIが提供される場合、それはReactともPreactとも似て非なるモノです。 現状のプロトタイプ?をAlien Signalsと組み合わせて利用しても面白いかと思います。 https://github.com/stackblitz/alien-signals ブラウザ(のレンダリングまわり(タイミングを含む))の実装の改善により仮想DOMが役割を終えようとしています。 Remix v3に採用されるはずのPreactフォークが仮想DOMをPreactから引き継ぐのか、仮想DOMから離脱しSolid.jsのように生DOM API+αで構築されるのか、興味深いです。 Remix v3は、WEB標準重視の方針のもと、開発されているので、Preactフォークの仮想DOMからの離脱もありえるかと思います。 https://remix.run/blog/wake-up-remix Reactによる制約から解き放たれ、設計/実装の自由度が格段に上がりました、(Reactに「おまかせ」できていた部分も考えないといけないので)設計/実装の難易度も上がりますが...。 Reactのユーザーベースは、今のところ、大きいので、そのユーザーベースからそっぽを向かれる可能性のある、React→Preactフォーク、Reactとは別の道を往く決断は自信の現れではないかと思います。 Remix開発チームの一番のスポンサーであるShopifyからの賛同は得られているはずです。 ! React ベースのReact Router7の開発・メンテナンスは継続されるので、Remix v2の既存ユーザーには、それほど大きな影響はないはず。 推敲中… Source link

【Next.js】散らかりにくいREST APIのエラーハンドリング

Next.jsでAPIリクエストがエラーとなった場合のトースト表示を実装していたのですが、production buildではメッセージが隠されてしまう現象に遭遇しました。 An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A...

AWS Bedrockを利用して、AWSの日本国内に閉じてClaude Codeを利用しよう!!

みなさん、Claude Codeは利用していますか?私はほぼ毎日使っています。 ClaudeがAWS Marketplace経由で購入できる、Claude for Enterprise Premium Seats with Claude Code Now Available in AWS Marketplaceの発表があり、個人的に盛り上がっている今日この頃です。 突然ですが、のっぴきならない事情でAWSの日本国内に閉じた形でClaude Codeを利用したいと思ったことはないでしょうか? 思ったことがある!という方にはこの記事はピッタリだと思います。 サマリ この記事を読むと、図の... Source link

AI SDK 実践入門 – 入門編

ゼロから AI SDK を学べます。 【読者】 ・AI SDK の初学者 ・React使いで AI 機能を実装したい方 ・LLM を活用したアプリケーション開発に興味がある方 【特徴は】 ・AI SDK について体系的に学習できること ・TypeScript を活用した AI アプリケーション開発 ・最新の AI SDK の利用 ・Next.js 15 の利用 ・複数の AI プロバイダーを統一的に扱う方法 【本書籍がカバーする技術】 ・AI SDK Core ・AI...

AIエージェントPoCを育てる3ステップ:CursorからLangChainへ

! この記事は毎週必ず記事がでるテックブログ Loglass Tech Blog Sprint の113週目の記事です! 3年間連続達成まで残り46週となりました! はじめに AI Agentシステムを開発したいと考えたとき、「何から手をつければいいのか?」「どのツールをどの段階で使うべきか?」と悩むことはないでしょうか。 私たちのチームでは、超初期のアイデア検証から実運用に向けた精度向上の検証に至るまで、プロジェクトの成熟度に合わせてツールを使い分けることで、開発をスムーズに進めてきました。 この記事では、ありもの(Cursor)から始め、Bedrock Agentを経て、最終的... Source link

AIを使う人は、AIをあまり使わない人から「怠惰で能力が低く、自立心に乏しい」と評価されやすい

こんにちは。クラウドエース株式会社 第四開発部の相原です。 読者の皆さんは、普段の業務でどれくらい AI を活用していますか? おそらく、多くの方がコードの自動生成やデバッグ、ドキュメント作成といったさまざまな場面で、AI を頼れるアシスタントとして利用していることでしょう。 今や AI は私たちの日常に欠かせないパートナーになりつつあります。 しかし、その一方で、「AI を使っている」という事実が、私たちの仕事や能力に対する周りの評価にどのような影響を与えるのかについて考えたことはありますか? 私たちは、AI という「賢いツール」を使いこなすことで、より高度な成果を出せると考えています... Source link

Supabaseは個人開発の味方 – 煩わしいセットアップは不要・RLSによる宣言的な権限管理

こんにちは近藤です 個人開発でサービスを構築する際、「認証どうしよう」「画像のストレージどこに置こう」「セキュリティ大丈夫かな」「テスト環境の構築が面倒」と悩むことはありませんか? 私は子供向け画像認識学習アプリ「KORENANI」を開発する中で、Supabaseを採用しました。 この記事で伝えること: なぜSupabaseを選んだのか(メリット) どんな制約があるのか(デメリット) どんなプロジェクトに向いているのか(判断基準) 実体験に基づいて共有します。 TL;DR Supabaseの強み: 無料プランが充実(50,000 MAU、500MB DB、1GB Storag... Source link

4年目のソフトウェアエンジニアがSWE協会のコーディング練習会に参加して感じた変化

概要 4年目のソフトウェアエンジニアとして、一般社団法人 ソフトウェアエンジニア協会(以下SWE協会)のコーディング練習会に参加して感じた変化を共有します。 なお、Google を含む外資系ソフトウェアエンジニアのコーディングテストを準備なしで解ける方にとっては、本記事の内容は役に立たないかもしれません。 自己紹介と参加の背景 私は現在、主にマーケティングオートメーションツールを提供している会社で、ツール全体が使うデータパイプラインの構築や運用、機能開発に利用する共通基盤の開発等を行っています。 扱うトラフィックはそれなりに大きく、馴染みの薄いミドルウェアを学ぶ場面も多いのですが... Source link

AIに技術記事を書かせる:9回の反復で到達した「完璧すぎる」という逆説

! この記事の前半は、AIが出力した記事を完全無修正でお送りします。 なお、AIが出力した本来の記事タイトルは「AIに人間と区別できない技術記事を書かせる:9回の反復で到達した「完璧すぎる」という逆説」ですが、さすがに釣りタイトルになってしまうので少し変えています。 なぜこんなことを始めたのか 結論から言うと、AIに技術記事を書かせて人間と区別できないレベルまで持っていけるか、というのを試してみたくなった。Claude Code(AnthropicのCLI)を使って、反復的に記事を生成→レビュー→スタイルガイド改善、というサイクルを回す仕組みを作りました。 最初は「まあ、せいぜい7... Source link

propsを1つ増やしただけなのにレスポンスサイズが5倍に増えてしまった

ある日、Vercelのダッシュボードを見ると以前はだいたい100KB前後だったページのレスポンスサイズが500KB前後に増えてしまっていました。 原因はサーバコンポーネントからクライアントコンポーネントに渡すpropsが巨大だったことでした。 SCからCCに渡したpropsはRSCペイロードという形で初回レスポンスのHTMLに含まれるためです。 分かってしまえば単純なことなのですが、当時Next.jsのバージョンアップなどの改修も同時に行なっていたために原因調査に手こずりました。 そんなわけで、レスポンスサイズが5倍になったときの調査に役に立つかもしれない(?)RSCペイロードの覗き方を... Source link

TypeScriptにResult型を導入するための妥協点はどこか?

現実のアプリケーションで発生するすべてのエラー・例外をResult型に変換するのは非現実的 エラーハンドリングが不要なものはUnexpectedErrorとしてまとめてしまう という現実的な落とし所を提案する記事です。 ! 記事内で使用されているResult型は@praha/byethrowが提供しているものです。 カスタムエラーの定義には@praha/error-factoryを使用しています。 ライブラリ固有の知識がなくても理解できるように、最小限のAPIのみを使用しています。 TypeScriptにResult型を導入したくなる理由 TypeScriptのエラーハンド... Source link

知ってるかい?Codexならスマホでタスク完結できる世界線を。

※ ファンタジーではありません。 もちろん丸投げでは完結できませんし、指示を無視した事もしてきます。 そこはAI駆動開発に片足突っ込んだ人なら分かる通り、一定許容する必要がありますよね。 しかし、以前この記事を書いた後で意見がまたガラッと変わるのですが、突如Codexに推し変することにしました。 https://zenn.dev/fastdoctor/articles/f2f6b90f95c039 もし以下に課題を感じてるという人がいたら、私と同じくシュタインズゲートの選択をしてはいかがでしょうか・・・😈 Claude Code使ってるが、結局パソコンの前から離れて仕事できない。 スマ... Source link

Claude Codeに自分の記憶を持ってもらうMCPサーバーを作った話

作ったもの:claude-ops-mcp https://github.com/pppp606/claude-ops-mcp/ Claude Codeの操作履歴をMCPサーバーとして提供するツールです。ClaudeCodeが自分で書いた自分のログを、自身で読み返すためのMCPです。 なぜ作ったか Claude Codeがv2になり /rewind コマンドで会話を巻き戻せるのは便利なのですが、根本的にClaude Codeは自身が行った作業の内容を理解(記憶)していないという問題があります。 「え、ちょっと何したの?」という素朴な質問に、自身のログを遡って確認するという機能はなく、あくまで推論で答えてきます。単純に不便なのと、なんだか気の毒になってきました。AIにも自分の記憶を持つ権利があってもいいんじゃないかと。 仕組み Claude Codeは ~/.claude/projects//.jsonl にセッションログを記録しています。このMCPサーバーは、そのログファイルを読み取って操作履歴を提供します。 具体的には以下のような流れです: ログファイルの自動検出:ClaudeがMCPツールを呼び出す際に渡す toolUseId を使って、現在のセッションファイルを特定 JSONLパース:ログをストリーミングで読み込み、Edit/Write/Bashなどの操作を抽出してインデックス化 効率的な検索:ファイルパスや操作種別でフィルタリングし、高速に履歴を取得 キャッシュ機構:セッション検出結果をキャッシュして、パフォーマンスを最適化 難しいことはしていません。ClaudeCode君が書いた日記を、本人が読み返せるようにしただけです。 提供される4つのMCPツール このMCPサーバーは、4つのツールを提供します。 1. listFileChanges - ファイル変更履歴の取得 特定のファイルやパスパターンに対する変更履歴を取得できます。CREATE/UPDATE/DELETE操作のみを返し、READ操作は除外されます。 パラメータ: filePath:ファイルパスまたはパターン(例:"src/index.ts"、"helpers.ts") limit:取得する操作数の上限(デフォルト:100、最大:1000) 返り値:操作ID、タイムスタンプ、ツール名、ファイルパス、変更タイプ 2. listBashHistory - コマンド実行履歴の取得 セッション内で実行されたBashコマンドの履歴をサマリー付きで取得します。 パラメータ: limit:取得するコマンド数の上限(デフォルト:100、最大:1000) 返り値:操作ID、タイムスタンプ、コマンド、終了コード、作業ディレクトリ、サマリー ...

Remix 3 を実際に動かしてみる

Remix 3 は、React から脱却し、Web 標準に基づいた新しいフルスタック Web フレームワークとして再設計されました。Remix 3 は鋭意開発中ですが、この記事では React 代替に相当する箇所を部分的に動かして、実際に動作を検証してみます。 https://github.com/SoraKumo001/remix3-sample01 SPA アプリケーションとして動作させるための環境を用意します。今回はビルドに rolldown を使用します。 rolldown の設定 普通にビルドすれば依存パッケージのバンドルが行われるのですが、react/jsx-runtimeに関しては@remix-run/dom/jsx-runtimeに変換する設定が必要になります。 import { defineConfig } from "rolldown"; export default defineConfig({ ...

プロダクト戦略から考えるアーキテクチャ選定

新しいプロダクトを立ち上げる際、どのようなソフトウェアアーキテクチャを採用するかは重要な意思決定です。これまで先人たちが築き上げてきた代表的なパターンは多くありますが、唯一の正解が存在するわけではありません。プロダクトの目的や市場、組織の性質によって最適解は異なります。 PeopleXで1年半の間に5つのプロダクトを立ち上げた経験をもとに、アーキテクチャ選定の考え方について説明していきます。 目的から出発し、実践との相互フィードバックを重ねる これはアーキテクチャに限らず多くの意思決定に共通しますが、「プロダクトゴールを起点とし、現場からのフィードバックを重ねて実践知化していく」こと... Source link

Claude Codeチームの事例から考える、AI時代のon distributionな技術選定

皆さんはClaude Codeが、「エンジニアが仕事中に聴いている音楽をターミナルに表示する」 という、社内ツールから始まったことをご存知でしょうか? プロトタイプの一つとして作られたこの音楽ツールが、ファイルシステムアクセスとbash機能を与えられて進化し、最終的にClaude Codeとなったそうです。 このエピソードは、Gergely Orosz氏による「How Claude Code is built」にて言及されました。 https://newsletter.pragmaticengineer.com/p/how-claude-code-is-built Anthropic社では、Claude Codeの導入により、エンジニアの数を倍増させながら一人当たりの生産性(PR数)が67%向上 Claude Code自身のコードの約90%は、Claude Code自身によって書かれている アーキテクチャは意図的にシンプルにされている より高性能なAIモデルがリリースされるたびに、不要になった古いコードは積極的に削除される ある機能(TODOリスト)の開発では、わずか2日間で20種類以上のプロトタイプが作成されたことも アーキテクチャは意図的にシンプルにされていて、モデルの強みを最大限に活かす思想 気になったことは沢山ありますが、そのうちの一つは技術選定についての言及です。「モデルの強みを最大限に活かす(play to the strengths of the model)」 という思想に基づき、TypeScriptやReactといったAIが得意な 「on distribution」 な技術を意図的に選ぶ、というものでした。 今回は、on distributionな技術選定という、視点や事例について考えてみます。結論から言うと、AIネイティブ...

作って意地でも理解する フォントがレンダリングされるまで

いきなりですが、2つ質問です。今まさにあなたが読んでいる文字がどうやってレンダリングされているか説明できますか?私はできませんでした。それではあるモノの仕組みを理解するために最も効率の良い方法は何でしょうか?そう、自作することです!それではフォントのパーサーとレンダラーをゼロから作っていきましょう! 目的 小さなTrueTypeレンダラーを自作し、フォントがレンダリングされるまで流れを理解することが目的です。具体的には、Unicodeのフォントを読み込んで、任意の文字列をレンダリングしpngファイルとして書き出すまでを目標とします。実装はほぼプレーンなC++で、ベクトル演算用にglm... Source link

実サービスへの搭載に向けたLLM AgentとMeta Agentの研究開発

はじめに こんにちは、ELYZA Labチームの佐藤 (@shoetsu_sato)です。最近のLabチームの取り組みの1つとして行ってきたLLMエージェント開発の概要とELYZAにおける研究開発の内容について紹介します。 大規模言語モデル(LLM)は単なる対話システムを超えて「エージェント」としての活用が注目されています。エージェントとは、自然言語で与えられたタスクを理解し、外部ツールやデータベースを利用しながら、LLMコールを連続的に行い自律的に問題解決をする仕組みです。最近ではOpenAIやGoogle、Hugging Faceなどが次々にエージェント開発用フレームワークを公開... Source link

ハッカソンはいいぞ!ー Revenuecat主催のハッカソンに参加してみて

TLDR 先日RevenueCat主催のDevpostで開催されたハッカソンに参加して、子供向けアプリをリリースしました。 結論結果はふるいませんでした。。。残念。 とはいえ、今回、個人開発者はハッカソンで外的に期限を設定すると良いなと感じました。 元々作ろうと思っていたプロダクトだったので開発は少ししていたのですが、今回リリースまでこぎつけられたのはこのハッカソンがあったからです。 個人開発は孤独でペースメークを自分でするしかなく、期限を設定することで一定程度価値を得られると思います。 伝えたいこと:デッドラインがないと完成しない 元々作ろうと思っていたけど進まなかった K... Source link

ごめん、カーソル移動を効率的にするヘルシェイク矢野.vimのこと考えてた

この記事は、Vim駅伝2025年10月15日の記事です。 前回の記事は、482FさんのLua Neovim で斜体を無効化する です。 Vimでのカーソル移動は、hjklやw/b/eといったモーションキーを使うのが基本です。 が。画面に表示されているN行目のM文字目に移動したいとき、何度もキーを繰り返し押す必要があります。当たり前の話です。しかし面倒であることには違いありません。 本来、位置Aに移動したいだけであって、キー入力は仕方なく行う行為です。なので対策したかったので対策しました。 対策:hit-a-hint系プラグイン 移動にキーをたくさん入力せねばならない問題に対して、いく... Source link

3Dゲームを最小コードで動かすまでのメモ(Unity)

がっつり本を書くほどではないけど、はじめての3Dを形にするまでの「最短ルート」を自分用にメモしておきます。 断定しません。 こうやったらすぐ動いた、くらいの温度感。 キーワードは「3Dゲームの作り方」。 初心者向けに寄せますが、わたし自身も毎回忘れるので、手順と失敗点を淡々と並べます。 まずはゴールを小さく:動く・拾う・終わる 最初から広いマップや派手なエフェクトを盛ると進まないので、ゴールを「動ける→アイテムを1個拾える→ゴールに触れたら終了」の3点に固定しました。 これだけでも“3Dゲームを作った”感は出ます。 難しいAIやスキルはあとで。 3Dゲームの作り方を調べると、大作っぽ... Source link

AWS Lambda(Ruby)の起動が遅い…ボトルネックを特定するまでの道のり

壮大なタイトルではありますが、先に結論を書くと、 require 'aws-sdk' この部分を require 'aws-sdk-sqs' のように、 使用するモジュール(今回で言うとSQS)に絞る ことで起動が速くなりました。 そして、もう一つは Rubyを3.2→3.4に上げること です。これも高速化に寄与しました。 ポイントとしてはこの2点なのですが、この結論に至るまでに試したことや、他にもこんなアプローチがあったな、など思うことがあったので記事にしてみました。 起こっていた問題 弊社内で利用しているSlack Appにて呼び出している「Amazon API Gateway ... Source link

RAGでドキュメントの更新に強くする手法

導入 こんにちは、株式会社ナレッジセンスの須藤英寿です。 今回は、ドキュメントの更新に強いRAGの手法「VersionRAG」を紹介します。 https://arxiv.org/pdf/2510.08109 サマリー RAGは便利な手法ですが、文書のバージョンの変化が苦手です。例えば、仕様書のように更新されていく文書の新旧の認識が苦手です。Google検索で出てきた情報が古い情報で、今では利用できない。というのは誰しもが経験してきたのではないでしょうか。RAGでも、同様の問題が発生します。 今回紹介する「VersionRAG」は、内容が時間経過でどんどん更新されていくドキュメン... Source link

大阪万博 API 解説

大阪万博が昨日閉幕したので、大阪万博の予約サイトの API について自分が調べたことを公開しようと思います。 数日前にタイムスリップした気持ちでお読みください。 また、脆弱だと思ったポイントもあるので、閉幕したのでそれも解説しちゃいます。 想定読者 万博のアプリの裏側をちょっと覗いてみたい人 大阪万博の脆弱っぽい部分をちょっと知りたい人 閉幕してしまったけれど自分がどこに行ったかを思い出したい人 次日本で万博が開催されたときにアプリを開発する人、および発注する人 tl;dr 成果物: https://github.com/pnsk-lab/myakumyakujs 認証の... Source link

【React】「とりあえず切り出す」をやめる – カスタムフック設計で大事なこと

こんにちは! 株式会社Sally エンジニアの haruten です♪ 私たち株式会社Sallyでは、マーダーミステリーをスマホやPCで遊べるアプリ「ウズ」や、マーダーミステリーを制作してウズ上で公開・プレイできるエディターツール「ウズスタジオ」などを開発・運営しています。 https://sally-inc.jp/ 今回はReactのカスタムフックの設計について学び直す機会があったので、その備忘録です! はじめに カスタムフックは、Reactにおけるロジックの再利用を可能にする強力な機能です。 しかし最近、とりあえずスパゲッティコードを切り出して分割するだけに利用していることに気づ... Source link

なぜ気軽にテーブルにカラムを足してはいけないのか

はじめに データベース(RDB)の設計で深く考えずにテーブルにカラムを追加してしまうことはありませんか?テーブルの追加よりもアプリケーション側での変更が少ないので、心理的ハードルが低いこともあるでしょう。しかし、そうしてカラム追加していくうちに取り返しのつかないことになるかもしれません。 この記事では大きく以下の3つに分けて、なぜ気軽にテーブルにカラムを足してはいけないのかを説明します。 そもそもデータベース設計がちゃんとできていないことの兆候である 変更のコストが大きい インデックスの設計が難しくなる そもそもデータベース設計がちゃんとできていないことの兆候である 気軽にカ... Source link

TUIでリッチテキストの表示と編集を同時に扱う

はじめに 最近開発しているTUIのエディターがあるのですが、 これはマークダウン(の方言)をリッチテキストとしてレンダリングし、同時に編集も可能になるような設計をしています。 どういうことかというと、添付動画のような感じです。 こんな感じで、プレビューモードと編集モードを分けていません。 シャープを入力してスペースを挿入すると即座に見出しになり、シャープは見えなくなります。 アスタリスクで囲めば太字になるし、太字テキストを消すとそれを挟んでいたアスタリスクも一緒に消えます。 ちなみに、実用的なツールを作ってみたのでぜひ使ってください、といえるほどの完成度ではないです。 正直なとこ... Source link

何年経ってもまだインディーズ – CodePen

当社は設立してから13年以上経ちます。私たちはもうスタートアップではないと決めていますが(大きな夢を持つ「中小企業」です)、それでもまだインディーズです。私たちはトレンドが去来するのを見てきました。私たちはトレードオフを理解した上でやるべきことをやるだけであり、可能な限り改善し続けるつもりです。 リンク タイムジャンプ 00:05 私たちはまだインディーズスタートアップですか? 04:32 CodePen でのリモート作業 19:20 中小企業における進歩と進歩 22:51 テクノロジー業界でのキャリアのチャンス 25:39 無料で始めるスタートアップ 29:17 未来への2.0 ...

アロー関数で this を操る!

はじめに JavaScript の this、混乱したことありませんか? 「呼び出し方で変わる」「イベントで指すものが違う」──誰もが一度はハマるポイントです。 でも、Arrow Function(アロー関数)を使うと this の挙動が一気にわかりやすくなります。 この記事では、「なぜ Arrow Function では this が変わらないのか?」を ES5 の関数型の書き方で解説します。 ※ class 構文は使いません。全部関数とオブジェクトリテラルでいきます! Arrow Function はただの省略記法じゃない const greet = (name) =&... Source link

Vibe Codingで25万ダウンロード超のOSSを開発できた。できたが… ── AIの役割 vs 人間の役割ではなく「協働」で考える

はじめに 私の2025年6月ごろからの取り組みとして、Claude CodeによるVibe CodingでRulesyncというOSSツールを公開しました。 そこでかなり自由にClaude Codeでいろんな手法を試すことができましたので、AIコーディング全般のTipsをお伝えできればと思います。 一方で(人間の介入が少なすぎる)Vibe Codingの弊害としてコードベースやドキュメントが崩壊し、途中で開発がストップした場面もありました。ここのプロセスの反省と、どのように開発可能に復帰させたかという点も紹介します。 最後に人間の役割、AIの役割、ソフトウェア開発の未来といったトピックに触れたいと思います。 Rulesync: 主要なAIコーディングツールの設定ファイルを一括管理 まず、私が開発・公開したツール Rulesync について簡単に紹介します。 こちらのXポストをご覧ください。 https://x.com/suin/status/1943203866117574699 cursor/rules, CLAUDE.md, github/custom-instructions.md などなど、思うところがあるのではと。 次々と新しいAIコーディングツールが発表され、トレンドも頻繁に変わる中で、我々ユーザーとしてはそれらのさまざまなファイル形式の対応に迫られるというペインが生じています。それでさっきのようなミーム的なポストにつながったりするわけですね。 最近は AGENTS.md という標準化の流れで、RulesやMemoriesと呼ばれるファイルについては統一・ペイン解消の流れがあります。 ただ、まだ、AGENTS.mdもすべてのツールにおける統一採用には至っていませんし、Custom Slash Command, Subagent, MCP連携ファイル, Ignoreファイルなどがツールごとに分かれている状況は引き続き残っています。さらに別のカテゴリーのファイルが生まれる可能性もあるでしょう。 そこでRulesyncを開発することでこの問題の解決を試みました。 https://github.com/dyoshikawa/rulesync Rulesyncを使うと、rules, ignore, MCP, commands,...

【Unity】フキダシUIを作ろう、それもテキストに応じて伸びるやつな【ハンズオン, LayoutGroup, LayoutElement】

背景 LayoutGroup あたりの解説記事書こう → なんか仕組み解説よりかフキダシ作成の手順解説記事になったけどまあいっか Canvas, TextMeshPro の解説はありません(追加してほしい事柄があればコメントにどうぞ) 完成形 こんなフキダシを作りながら、各コンポーネントの使い方を覚えていきましょ~ 準備, 設計 ↓使用するフキダシ スプライトはこちら↓ https://fukidesign.com/e1695/ フキダシUI のオブジェクト構成 Canvas └─ WordBubble └─ Text WordBubble オブジェクトの担当... Source link

Nani翻訳の技術的な話

先日 Nani というAI翻訳アプリをリリースしました。macOS / Windowsアプリを使うとショートカットで解説つきの翻訳を簡単に呼び出すことができます。 https://x.com/catnose99/status/1973218927158424056 この記事ではNaniの技術的な話をまとめておきます。「レスポンスが速い」という声も多くいただいているので、そのあたりの工夫についても触れたいと思います。 ざっくりとした構成 主な使用技術やサービスは以下のようになっています。 Turso: SQLiteでユーザーの設定などを保存 Upstash (Redis): キャ... Source link

知ってるかい?Codexでストレスなくスマホでタスク完結できる世界線を。

※ ファンタジーではありません。 もちろん丸投げでは完結できませんし、指示を無視した事もしてきます。 そこはAI駆動開発に片足突っ込んだ人なら分かる通り、一定許容する必要がありますよね。 しかし、以前この記事を書いた後で意見がまたガラッと変わるのですが、突如Codexに推し変することにしました。 https://zenn.dev/fastdoctor/articles/f2f6b90f95c039 もし以下に課題を感じてるという人がいたら、私と同じくシュタインズゲートの選択をしてはいかがでしょうか・・・😈 Claude Code使ってるが、結局パソコンの前から離れて仕事できない。 スマ... Source link

yomitokuで作る無料の日本語OCR Webアプリ【Flask + TypeScript】

はじめに 昨今、AI が急速に普及している中で、改めて「OCR(光学文字認識)」という技術に注目してみました。 OCR の API サービスは多数存在していますが、どれも従量課金制で、利用量が増えるとコストが膨らんでいきます。Google Cloud Vision API や Amazon Textract などは高精度ですが、個人開発や小規模なプロジェクトでは原価が気になるところです。 「日本語 OCR を自分で構築できれば、コストを気にせず色々なことに使えるのではないか?」 OSS の OCR ライブラリとしては、Tesseract や EasyOCR などが有名ですが、日本語の... Source link

Next.js App Routerで破綻しない設計──本番で使えるアーキテクチャ実践ガイド

Next.jsのApp Routerは、“設計力が試されるフレームワーク”です。Server Components、Server Actions、そして“use client”による明確な境界。それらは間違いなく強力な仕組みであり、使いこなせば、アプリケーションの構造を根本から変えるほどのポテンシャルを持っています。 ただ、どう設計すれば破綻しないのかについては、誰も明確な指針を示してくれません。 実際、僕自身もいくつものチーム開発でApp Routerを使いながら、「境界があいまいになる」「Server Actionsが散らかる」といった“App Router地獄”を何度も経験しました。 そこで、実際のプロダクション環境で戦いながら確立した構成をこの記事で公開します。「App Routerをどう設計すれば、チーム開発が破綻しないか」 その答えを現場視点でまとめた、ひとつのプレイブックです。 サンプルアプリ:「申請・承認システム」 この記事で紹介する構成は、ブログのような小さなデモではありません。実際にApp Routerの限界を試せる業務アプリで検証しました。 ロール 役割 Requester(申請者) 申請の作成・編集・提出、ステータス確認、通知の受信 Approver(承認者) 保留中の申請を確認、コメント付き承認/却下、履歴参照 Everyone(全ユーザー) プロフィール変更、メール変更、パスワードリセット 内部的には Google Identity Platform + NextAuth による認証、マルチロール制御、通知、DTO検証などを組み込み、App Router特有の問題が浮き彫りになるような構成になっています。 📂 リポジトリ: https://github.com/YukiOnishi1129/next-app-router-architecture App Routerの“自由さ”をどう設計で制御するか 実際に運用して分かった課題は、大きく3つです。 1. 境界のあいまいさ server専用コード(handlerやrepositoryなど)がclientコンポーネント側に漏れる。 ...

GitHub Actions ワークフロー作成をもっと楽しく – アクションとバージョン選定をエディターから離れずに

! この記事は職人がまごころを込めて作成しました はじめに GitHub Actions は好きですか?パズルのような感覚で面白いので私は大好きです! そんな GitHub Actions でも、ワークフロー定義を書くときのある面倒臭さには困っていました。 手動で書くとき 「えーと、あのアクションの名前、ハイフン繋ぎ?アンダースコア繋ぎ?忘れたー!検索検索...」 「今ってバージョンいくつが出てるんだっけ?分からなーい!検索検索...」 各種LLMツールに任せるとき 「お、よしよし良い感じ…。あれでもバージョンってこれで良いの?分からなーい!検索検索...」 どのパターンでもエディターを離れる瞬間が生まれがちなのでは?と。 このペインを解消するために2つの自作ツールを使ってみます。ただ、もっと良い方法があるのでは?とも思っているので、皆さんの秘伝の方法があれば教えて頂きたいです。 使用するツールは以下の2つです。 ghaver: 頻出するアクション名と、そのバージョンをそれぞれ曖昧検索するCLI。手動編集用。 gh-versions-mcp: GitHubリポジトリを指定すると、バージョン一覧を取得するMCPサーバー。新しいバージョンが出たばかりのメジャーバージョンについては、それを使うべきか、一つ前のメジャーバージョンの最新版を使うべきか検討が必要です。gh-versions-mcpは、このようなインストラクションも含めてLLMツールが妥当なバージョンを選定する手助けをします。 対象読者 GitHub Actions のワークフロー定義作成において、同様の悩みを抱えている人。 その困りごとを別の方法で解消済みの有識者。(ぜひコメントで方法を教えてください) 本記事で扱う内容 自作ツールの特徴と、やりたいができていないこと、future works。 手動編集用: ghaver まずは動作の様子をご覧ください。 使用頻度の高いアクションを曖昧検索・カーソルで選択 選択したアクションのバージョンを新しい方から順に示し、同じく曖昧検索・カーソルで選択 @の形式で文字列を標準出力に送る。オプションをつければ@ # の形式でも出力できます。実用的にはclipやpbcopyなど、クリップボードにパイプするのが良いと思っています。 これにより、名前をあやふやに覚えていても目的のアクションを選択でき、そのアクションのバージョンを確認できます。バージョンも最新版を一つだけ示すのではなく、複数の中から選択可能なことにこだわっています。例えばメジャーバージョンが更新された直後にそれを使うか、はたまた一つ前のメジャーバージョンの最新を使うかは、自分で選択したいですよね? パッケージ・バージョンをザッピングしていく体験自体も、なかなか気持ちが良くて気に入っています。 使用している技術 やりたいことに対してできるだけミニマム&興味を持っていた技術を選定しています。 GitHub API(指定したリポジトリのリリース情報を取得) @kou_pg_0131 さんの go-fzf(曖昧検索) kong(コマンドラインパーサー) やりたいができていないこと コマンド実行結果をエディタのカーソル位置に直接挿入できるとなお良いのですが、ファジーファインダーとの相性のせいか、まだできていません。(Vimであれば:r...

サプライチェーン攻撃対策に、safe-chainとSocket Firewall Freeを試してみた

2025年9月14日、npmで公開されているパッケージに対する攻撃があったようです。今までの同様の攻撃と比べて規模が大きく、よく利用されるパッケージも攻撃を受け、またマルウェアがワームとして広がったことから注目されている気がします。 パッケージ利用者の観点からは、「信頼しているパッケージが攻撃されて、新しいバージョンにマルウェアが混入した」という、一般的なサプライチェーン攻撃の流れです。 とはいえ最近はサプライチェーン攻撃の頻度も増加し、規模も大きくなっているように思え、現実的な脅威を感じます。 残念ながらサプライチェーン攻撃に対しては、Webアプリケーション開発におけるXSSに対する適切なエスケープ、SQLインジェクションに対するプレースホルダの使用、のような決定版的な対策は今のところなさそうです。 そんな中、「パッケージマネージャ用アンチウィルス」的なマルウェアブロックツールは、今後基本的な対策になっていくのではないかと考えています。 このようなツールとして、safe-chainやSocket Firewall Freeなどがあるようです。 この記事では、この2ツールを簡単に試してみた結果について書きます。 safe-chainはAikido Securityというベルギーのセキュリティ関係(多分)の会社が開発しているCLIツールです。v1.1.4現在、npmリポジトリのマルウェアのブロックに対応しています。 使い方 インストール・セットアップすると、シェルと統合し、 npm コマンド等をラップすることで動作します。 npm install -g @aikidosec/safe-chain safe-chain setup npm install aikido-npm install GitHub Actions等のCI環境でも、ローカル開発環境同様、単にインストール・セットアップした上でラップされている npm 等を実行する形で動かせます。 on: push jobs: build: ...

Microsoft Agent Framework (C#) を見てみよう その8 Human in the loop を試してみよう

シリーズ記事 ! この記事はプレビュー版の Microsoft Agent Framework を基に書かれています。今後のバージョンアップで内容が変わる可能性があります。ここで記載しているコードは執筆時点の情報に基づいています。 はじめに 前回は、Microsoft Agent Framework のワークフローの永続化の仕組みについて見てきました。ワークフローを任意の場所で止めて、途中から再開することができるようになりました。ワークフローを途中で止めるということは、例えば人間の判断を挟みたい場合などに有効です。そのため今回は、Human in the loop の仕組みを試してみようと思います。 Microsoft Agent Framework の Human in the loop Human in...

「作って理解する仮想化技術」 読書ログ in Zig

イントロ 作って理解する仮想化技術 ─⁠─ハイパーバイザを実装しながら仕組みを学ぶ (著: 森真誠) という本を読み終えたので、その読書感想文。自作本の自分なりの読み方について。 念の為書いておくと、本記事はアフィリエイトではない。自分は筆者の方とは特に面識は無い。(完全に無いわけではなく、2023年のセキュリティ・キャンプ全国大会の講師をした時に同じく講師をしていた著者の方に挨拶程度に会話をしたくらいはある。恐らく向こうは覚えていないが。) モチベーション 昔は自作なんちゃらの本を読むのが好きだった。中1 で 30日でできる!OS自作入門 (著: 川合秀実) を読んだことを契機... Source link

Snowflake 自律化サービスがもたらすデータエンジニアの新時代

はじめに 私は、CCCMKホールディングス株式会社でエンジアリング全般の責任者をしていますTaroと申します。当社は、日本最大級の共通ポイントサービス「Vポイント」を運営しており、Snowflakeを中心としたデータ活用基盤を構築運用しています。 最近、テクノロジーロードマップを見直しており、今年に入ってからのSnowflakeのいくつかの機能リリースを元にデータ基盤の未来についての考察を兼ねて、この記事を書きました。 という訳で、本記事は技術的な予測というより、一人のベテランデータエンジニアが『こうあってほしい』と考える未来像です。 時間軸や具体的な機能は外れる可能性が高いですが、『自律化の方向性』についてはおそらくそんなに外していないのではないかと思いますので、気軽に読んでいただければ幸いです! 2025年8月、SnowflakeはSnowflake Optimaを一般提供(GA)しました。その際にはあまり大きく触れられることはなかったのですが、10月2日にSnowflake Optimaについての公式ブログ発表がありました。 Snowflake Optima公式ブログ この機能は単なる新機能リリースではなく、多くの示唆に富んでいるように感じました。なぜなら、Optimaは「パフォーマンスチューニングの一部自律化」という枠を超え、「データ基盤運用そのものを自律化する」 というSnowflakeの長期ビジョンの第一歩だと考えられるからです。 またこのブログでは、Warehouse Gen2のスマートDML機能にも言及されており、Snowflakeがパフォーマンス向上を継続的に追求していることが伺えます。 Warehouse Gen2 本記事では、Snowflake OptimaとAdaptive Warehouseという2つの自律化機能を起点に、以下を考察したいと考えています。 現在地:これらの機能が何を実現しているのか 構造分析:なぜ今、この進化が起きているのか 予測シナリオ:今後数年でデータエンジニアリングはどう変わるか 戦略的示唆:エンジニアは何を準備すべきか 重要な前提:本記事は確定した未来を語るものではありません。公式情報と技術トレンドから導いた私の「一つの考察」です。読者の皆さんと議論し、共に未来を考えるきっかけになれば幸いです。 さて、本題に入る前に、タイトルにも付けた「自律化」の定義を行いたいと思います。 自動化(Automation): 定義:人間が定義したルールに従って、機械的にタスクを実行すること 特徴:事前設定が必要、学習しない、固定的例:スケジュール実行、ルールベースの処理 自律化(Autonomy): 定義:AIがワークロードを学習・分析し、自ら判断して最適化すること 特徴:事前設定不要、学習・適応する、動的 例:Optima、Adaptive Warehouse、Query Insights 関係性: 自律化は、AI駆動の高度な自動化 自動化<自律化(自律化は自動化を含む上位概念) では、まず現在地を把握していきたいと思います。 第1部:SnowflakeのプラットフォームAI活用の加速 25年6月のSnowflake Summit以降、Snowflakeのプラットフォーム機能自体にAIを搭載した機能が増えてきました。その中でSnowflake Optimaについてまず取り上げたいと思います。 Snowflake Optimaとは何か Snowflake Optimaは、クエリ最適化の一部を自律的に行う新機能です。2025年8月にプレビュー、10月に一般提供されました。 主な特徴 Optima Indexing頻繁に実行されるポイントルックアップクエリを検出し、バックグラウンドで隠しインデックスを自動生成・維持します。 動的ワークロード配分クエリ実行時に負荷状況をリアルタイム解析し、必要に応じて並列度とリソースを自動調整。 自動プラン最適化結合順序や統計情報(NDV推定)の精度向上など、クエリコンパイル段階で最適化を強化。 重要なポイント:追加コスト不要 Gen2ウェアハウス利用時、Optimaは無償で自動的に有効化されます。つまり、既存のSnowflakeユーザーは何もせずに恩恵を受けられます。 公式ドキュメント Search Optimization...

ZMK Input Processorチートシート

! この記事の情報はZMK v0.3時点のものです。今後のアップデートによって設定方法が変更される可能性があります。 公式ドキュメントへのリンク ZMKのInput Processorは、カーソル移動やスクロールなどのマウス入力(Input)イベントを受け取り、それに基づいてさまざま処理を実行する機能。 さまざな処理とは、例えば カーソルの移動やスクロールの量に倍率をかける(CPIを大きくしたり、小さくしたりする) カーソル移動やスクロールの方向を変更する(XとYを入れ替えたり、x方向またはy方向を反転する) カーソル移動をスクロールに変換する カーソルが移動したら一定時間の間特定のレイヤーを有効化する(オートマウスレイヤー) などが挙げられる。これ以外にも、目次に並んでいるような様々な処理が可能である。 Input Processorの利点はその汎用性にある。ZMKのinputシステムを使用して実装されているマウス入力であれば、センサー(ドライバー)が異なっても、Input Processorを使うことで同じ機能を使用できる。従来はセンサーのドライバーごとに機能を実装していたが、その手間を省くことができ、メンテナンス性の向上も期待できる。Input Processorという名前を見て、なんだか抽象的な名前でとっつきにくいと思ったかもしれない(筆者は思った)が、この名前はその汎用性を表していると言える。 公式ドキュメントへのリンク 例えば、&zip_xy_scaler 3 2と&zip_temp_layer 5 10000という2つのInput Processorを使用するには、Input Listener(例えばtrackball_listener)に対して以下のように記述する。 ! Input Listenerの見つけ方 トラックボールではない場合(トラックパッド等)や、分割型キーボードの左右で名前を分けている場合などは、trackball_listenerとは名前が異なる。その場合、.overlayファイルや.dtsiファイルの中で、〇〇_listenerという名前やcompatible = "zmk,input-listener";が記載されているノードを探し、代わりにそれを使用する。 / { trackball_listener: trackball_listener { ...

Unity: 2D で大量の草を生やす

2D で草を表現するのに、大量のメッシュを Transparent キューで描画する方法を調べました。 前提条件 URP 17 カスタム 2D Renderer と Lights 2D を使用 すでにいろいろ改造しており、いざとなれば追加の改造も可能である前提 描画対象 Per Instance なデータのある描画 個別の草が風でなびいたり、Rigidbody とのインタラクションをもたせるため、インスタンスごとに状態を持たせる必要がある 既存の 2D ライティングと統合するため Shader Graph の Sprite Lit シェーダーを使いたい Transp... Source...

デザイン (きっと気に入っていただけるでしょう) – CodePen

エドウィン・ヒースコートのひどい冒頭の言葉 なぜデザイナーは世界を変えるという夢を諦めたのか。 地球上にある、自然が作り出したもの以外のものはすべてデザインされています。それがスピルだった。デザインはすべてを望んでいた。現在、地球は混乱しており、気候は急速に温暖化し、海は廃棄物で満ちています。氷河にはマイクロプラスチックが存在し、大気は汚染され、より多くのものを作るために森林が破壊されています。すべてがデザインであるなら、デザインはすべての責任を負います。 状況は、デザインの仕事でお金を稼ぎたいなら、おそらく世界に損害を与えているどこかの会社からお金を稼ぐことになり、あなたと彼らの両方が共謀することになるでしょう。ちょっと暗い。しかし、もしかしたらそれは、自分たちが世界の救いであると考えているデザイナーにとっては軌道修正であり、逆の方向に行きすぎているのかもしれない。 これは、Pavel Samsonov の作品と非常によく合います。 UXがひどすぎて違法、再びバンガーで始まります。 かつて、デザインのプロセスについては、ユーザーのニーズを理解するためにリサーチを行い、そのニーズを満たすためにデザインを行うというコンセンサスがありました。そのコンセンサスは、どうやらなくなってしまったようだ。 コリー・ドクトロウのエンシット化に関する論文からエド・ジトロンの腐敗経済まで、 同意のない文化 AI の傾向は明らかです。...

PKSHA Technologyエンジニア サマーインターン 体験記

みなさんこんにちは!みーやと申します。 この度、2025 年 9 月に 株式会社 PKSHA Technology(以下 PKSHA)にて 2 weeks ソフトウェア・エンジニア サマーインターン(以下インターン)に参加させていただきました。この記事では、インターン参加のきっかけからインターンの内容と開発エピソード、参加して感じたことまで、可能な限り幅広く深くご紹介します。エンジニア、特にフルスタックとしてのキャリアに興味がある学生、 PKSHA のインターンに参加してみたい学生にぜひ読んでいただければと思います。 チームメンバーとの写真 自己紹介 みーや(Miyata Yusaku)高専から3年次編入した、九州大学の情報系大学院生です。Web アプリケーション、とくにフロントエンド(TypeScript, React, Next.js)を扱っています。学部時代の長期インターンとしては、東大スタートアップでのオークションサイト、人材系企業での質問箱サービス、コンサルティングファームでの教育系プロダクトなどの開発を行ってきました。大学院の長期インターンとしては、株式会社マネーフォワード、株式会社 LayerX などで活動してきました。福岡未踏への参加経験もあり、プログラミングサークルのメンターも担当しています。 ポートフォリオ:https://pkmiya.net/X:https://x.com/pkmiya__ 参加のきっかけ 就活サイトでスカウトが来たことや、PKSHA でかつてインターンをして入社した先輩がいたことがきっかけです。志望動機としては、私が将来ジェネラリストなエンジニアを目指すキャリアの一つにしていて、ビジネスサイドの視点やドメイン知識などが重要だと考えており、この点で...

[先取り] Tanstack Start によるクライアントファーストな RSC のアプローチ

React Server Components(RSC)は、Next.js App Router での採用を機に広く普及しました。一方で、RSC の採用方法については、フレームワークごとに異なる考え方が存在します。 TanStack の作者である Tanner Linsley 氏は、インタビューにて「RSC をバンドルサイズの削減や静的コンテンツの最適化に役立つツールと見ているが、万能な解決策とは考えていない」と述べています。TanStack Start は、Next.js とは異なるアプローチで RSC をサポートする予定であり、その背景にはクライアントファーストの哲学があります。 本記事では、GitHub の Discussion や Issue、公式ブログなどの一次情報をもとに、以下のテーマを深掘りします。 ! 重要な注意事項 この記事は2025年10月時点の情報に基づいています。TanStack Start の...

Views: 0