@dyoshikawaです。 私が開発しているOSSツール Rulesync では、npm配布に加えてシングルバイナリ配布を行っています。Node.jsランタイムなしでも使えるようにするためです。 もともとDenoの deno compile を使ってシングルバイナリを生成していたのですが、v5.5.1でBunの bun build --compile に切り替えたところ、ファイルサイズが大幅に小さくなりました。 この記事ではその経緯と、なぜこれほどの差が生まれるのかを掘り下げます。また、シングルバイナリ配布にあたり、異なるOS間の動作を保証するためのGitHub Actions ubuntu/macos/windows runner + E2Eテストの構成についても紹介します。 (現在v7.17.0なので、結構前の話ではあるんですが、記事にしようしようと思ってここまで来てしまいました。思
Today, we're excited to share what we've been working on the last few months: Prisma Next, a new foundation for Prisma ORM written fully in TypeScript. Before we begin This is not a product release, but an open look at where we’re headed next. We are fully committed to Prisma 7. It remains the recommended version of Prisma for production applications and will continue to receive updates and suppor
TypeScriptコンパイラが「Go」で書き直された衝撃 150万行のコードを持つVS Codeプロジェクト。そのTypeScriptビルドが、77.8秒から7.5秒に短縮されました。 10.4倍の高速化です。 2025年3月11日、TypeScriptの生みの親であるAnders Hejlsbergが公式ブログで発表した内容は、フロントエンド開発の常識を覆すものでした。TypeScript 7では、コンパイラの実装言語がTypeScript(JavaScript)からGoに完全移行します。これにより、ビルド速度の10倍高速化、エディタ起動の8倍高速化、メモリ使用量の50%削減が実現されます。 この記事では、3つの軸からこの変化を読み解いていきます。 なぜGoが選ばれたのか — RustでもC++でもない理由 どう速くなるのか — 10倍高速化の技術的な仕組み 開発現場への影響 — 今す
Go-style error handling for TypeScript. Unions instead of tuples. instanceof instead of nil checks. In Go, functions return errors as values instead of throwing exceptions. errore brings the same convention to TypeScript—but instead of Go's two-value tuple (val, err), you return a single Error | T union. Instead of checking err != nil, you check instanceof Error. TypeScript narrows the type automa
Chat SDK は TypeScript で記述されたライブラリで、1 つのコードベースで複数のチャットプラットフォームに対応するチャットボットを開発できるようになります。イベント型アーキテクチャを採用しており、メンション, メッセージ, リアクション, スラッシュコマンドなどのイベントに型安全なハンドラーを定義できます。この記事では実際に Chat SDK を使用して、Slack 向けのチャットボットを実装する方法を紹介します。 生成 AI の普及に伴い、チャット型 UI を構築する機会が増えた開発者も多いのではないでしょうか。Slack や Microsoft Teams、Discord などのチャットコミュニケーションツールは AI と対話するインターフェイスとしても優れており、これらのプラットフォーム向けにチャットボットを開発するケースも増えています。しかし、各プラットフォームは
Building chatbots across multiple platforms traditionally requires maintaining separate codebases and handling individual platform APIs. Today, we're open sourcing the new Chat SDK in public beta. It's a unified TypeScript library that lets teams write bot logic once and deploy it to Slack, Microsoft Teams, Google Chat, Discord, GitHub, and Linear. The event-driven architecture includes type-safe
はじめに:モデルの賢さだけではないエージェントの能力 日頃、Claude CodeやOpenCodeなどのAIコーディングエージェントを使っていると、そのアウトプットの質の高さに驚かされることがよくある。この際に、各社の最新フロンティアモデルの能力に目が向きがちだが、冷静に考えると、優れたアウトプットを生み出しているのはモデル単体の能力だけではないはずである。 これらのエージェントがLLMをどのように呼び出し、その応答をどう処理し、次のアクションにどうつなげているか。この「推論プロセスの設計」こそが、エージェントの実力を左右するもうひとつの重要な要素である。しかし、普段ツールを使っているだけではこの部分は完全にブラックボックスである。 本記事では、オープンソースのAIコーディングエージェントOpenCode (anomalyco/opencode)のソースコードを読みながら、エージェントの
Build ultra fast, tiny, and cross-platform desktop apps with TypeScript. Two years ago I paused co(lab) to build the desktop app framework I wished existed. Now that I've shipped a stable v1, this post is me reflecting on this two-year sidequest that had me learning Zig, C, C++, and Objective-C. Why I Built This My intro to programming was Visual Basic 6 in the early 2000s, building desktop apps.
2026 is the year JavaScript tooling gets faster. TypeScript is being rewritten in Go, and tools like Oxlint and Oxfmt are getting ready for mass adoption. Humans and LLMs both perform much better in codebases that have a fast feedback loop, strict guardrails, and strong local reasoning. This post aims to help everyone go faster with sensible and strict defaults.1If you are not convinced yet, the s
はじめに 「useEffectでデータ取得するのはやめた方がいい」— こんな話を聞いたことはないだろうか。 でも自分はずっと、useEffect + fetch でAPIを叩いていた。中でtry-catchして、useStateにセットして、ローディングもエラーも自分で管理して。チュートリアルで覚えたそのパターンを、特に疑うこともなく使い続けていた。 「やめた方がいいのは分かった。じゃあ何を使えばいいの?」— この記事は、その疑問に対する自分なりの答えを、実際にTanStack Queryに置き換えてみた過程から書いている。 useEffect + fetch で書くとこうなる 例として、APIから投稿一覧を取得して表示するコンポーネントを考える。 const [posts, setPosts] = useState<Post[]>([]); const [isLoading, setIs
Webブラウザで数KBのJSONを取得するなら標準の fetch で十分ですが、例えばブラウザ上のWeb Viewerで画像を数十枚表示するなどのユースケースに標準のfetchで対応しようとする場合以下のような問題がつきまとうことが多いでしょう。 再開不能: ネットワーク瞬断やリロードでダウンロード進捗が0に戻る 整合性不明: ダウンロードが完了しない限りファイルが破損なくダウンロードできているかわからない メモリ逼迫: 全データをメモリに展開する必要があり、クラッシュのリスクがある これらの問題を解決するためのライブラリとして、今回は VerifyFetch を使ってみようと思います。 github.com VerifyFetchの特徴 先述の3つの問題への対処として、VerifyFetchは3つの機能を提供しています。 1. 分割ダウンロードと都度検証 VerifyFetchでは、あら
AI & MLLearn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry. Generative AILearn how to build with generative AI. GitHub CopilotChange how you work with GitHub Copilot. LLMsEverything developers need to know about LLMs. Machine learningMachine learning tips, tricks, and best practices. How AI code generation worksExplore the capabilities and be
TypeScriptの言語設計を行い、現在も開発をリードしているアンダース・ヘルスバーグ(Anders Hejlsberg)氏は、1983年に発売され大きな人気を得たプログラミング言語であるTurbo Pascalの作者であり、その後もDelphi、C#などの優れたプログラミング言語の開発に携わってきたことで知られています。 そのヘイルスバーグ氏が1月27日付で公開されたGitHubのブログ記事「7 learnings from Anders Hejlsberg: The architect behind C# and TypeScript」で、同氏が長年の言語設計から得た7つの学びと、それが現在のTypeScriptにどう生かされているのかが紹介されています。 Why did TypeScript work when so many languages didn't? Anders He
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く