2025-11-23 TSKaigi Hokuriku 2025
2025-11-23 TSKaigi Hokuriku 2025
Google、AIでファイルの種類を高速正確に判別するオープンソース「Magika 1.0」公開。Rustで再構築し、より高速かつ対象を200種類に拡大へ Magikaは、あるファイルの中味が何なのか、記述されたプログラミング言語の種類、動画や画像、音声などのフォーマットの種類、ExcelやWord、PDFなどのオフィス系ソフトウェアの種類、OSの実行形式バイナリなどの種類を瞬時に判別してくれます。 最初のバージョンが昨年(2024年)2月にオープンソースとして公開されており、Googleはその時点でGmailやGoogle Driveなどの何百万ものファイル処理にすでに活用していると説明していました。 特に拡張子を偽ってユーザーにファイルを開かせようとするマルウェアに対処するため、ファイルの内容から種類を適切に判断し、ファイルの種類に合わせて用意されたスキャナーによる安全性評価を行うため
Node.jsでネイティブにTypeScriptを実行するための機能「Type Stripping」が、11月11日にリリースされた新バージョン「Node.js v25.2.0」で安定版になったことが発表されました。 これにより本番環境などでもType Stripping機能を用いたTypeScriptファイルの実行が安心してできるようになりました。 Node.jsはTypeScriptをサポートしていなかった Node.jsはもともとサーバサイドのJavaScriptランタイムとして開発されたため、JavaScriptのスーパーセットであるTypeScriptの型指定や高度な命令などには対応していません。 Node.jsでTypeScriptファイルを実行するには、TypeScriptトランスパイラを用いてJavaScriptに変換するなどの方法があります。 この方法を用いたts-nod
みなさん、普段から開発者体験(DX)を気にしてますか? DXとは、開発中に感じる“心地よさ”や“効率の良さ”を指します。 車輪の再開発のようなDXを損なう体験がなければ開発はずっと楽しいんです! そこでこの記事では、「心から開発を楽しめる」相棒たちを10選紹介します! 1. Convex “SQLの呪縛”からの解放 歴史のあるSQLはどうしても、歴史に引っ張られます。 Supabaseとかを使ってると、Row Level SecurityやSQL Functionsとかで、死ぬほど書きにくいSQLを書かなきゃいけなくなることありますよね。まるでFirebaseの認証ルール並み。良くも悪くも結局SQLだから、隠しきれない歴史の重み、つまりDXの悪さがでてくる。 しかしConvexは一切そういうのはありません!!!! 全てがDXを中心に一から考えられて作られたサービス。そう、React時代のバ
はじめに TypeScriptでコンポーネントのPropsやオブジェクトの型を定義するとき、typeとinterfaceのどちらを使うべきか、一度は悩んだことがあるのではないでしょうか。 巷では「どちらでも良い」「チームで統一されていればOK」といった意見もよく見かけます。 しかし、私は 明確な理由をもって「基本的にはinterfaceを使うべき」 だと主張します。 この記事では私の実体験で遭遇したReactのPropsの深刻なパフォーマンス問題を例に交えながら、なぜinterfaceが優れているのか、そしてtypeはどのような場面で使うべきなのかを解説します。 type aliasを使いたくなる魅力と、その裏に潜む罠 まず、なぜ多くの開発者がtypeを選びがちなのでしょうか。 それは、開発体験の良さにあります。 typeで定義した型は、VSCodeなどのエディタでホバーすると、最終的に解
はじめに 昨今、AI が急速に普及している中で、改めて「OCR(光学文字認識)」という技術に注目してみました。 OCR の API サービスは多数存在していますが、どれも従量課金制で、利用量が増えるとコストが膨らんでいきます。Google Cloud Vision API や Amazon Textract などは高精度ですが、個人開発や小規模なプロジェクトでは原価が気になるところです。 「日本語 OCR を自分で構築できれば、コストを気にせず色々なことに使えるのではないか?」 OSS の OCR ライブラリとしては、Tesseract や EasyOCR などが有名ですが、日本語の認識精度や文書構造の理解という点では課題がありました。そんな中、日本語に特化した「yomitoku」というライブラリを見つけたのですが、実際の使い勝手や実装方法について詳しく解説した記事があまり見当たりませんで
TypeScriptで開発をしていると、APIエラーやバリデーションエラーなど、さまざまなエラーを扱う場面があります。 そんなときに、標準のErrorクラスだけで対応していませんか。 この記事では、カスタムエラーを導入するメリットと、ボイラープレートを減らしてカスタムエラーを楽に定義出来るライブラリを紹介します。 カスタムエラーを作る理由 標準のErrorクラスを使用することで楽にエラーを作成できますが、次のような問題があります。 エラーの種類を区別しづらい 追加の情報(HTTPステータスやエラーコードなど)を持たせづらい メッセージが一貫しない たとえば次のような例を考えてみましょう。 try { throw new Error('User not found'); } catch (error) { if (error.message.includes('not found')) {
無職が Claude Code を使って 3 週間かけて OSS ライブラリを開発したけど誰も使ってくれなかった話 注意: この記事はAI(Claude Code)を活用して執筆されました。内容は筆者の実体験に基づいていますが、一部の文章生成にAIを使用しています。(2025年8月現在の情報を元に書かれています) 1. 概要 無職がClaude Codeを使ってChatGPTとの会話履歴をMarkdownに変換するツールを開発しましたが、残念ながら誰にも使われませんでした。。。 リリースして2週間、XでエゴサしたりGitHubのStar数を確認したりしましたが0件でした。これは誰も使っていないのだろうということになり、せめてネタにしないとOSSも報われないので投稿するに至った次第です。 2. はじめに このOSS開発を通じて、Claude Codeをかなり使い倒したので、そこから得た知見に
本連載について はじめまして! サイボウズ フロントエンドエキスパートチームのnus3です。 本連載では、Webフロントエンドに関してもう一歩踏み込んだ知識について、サイボウズフロントエンドエキスパートチームのメンバーによって不定期で解説記事を掲載しています。 本記事では、モダンフロントエンドにおけるテストについて、その種類や導入方法などを紹介します[1]。 モダンフロントエンドでのテスト ここ数年のWebフロントエンドでは次のように、さまざまな変化がありました。 ReactやVue.jsといった宣言的UIを採用したライブラリの普及 TypeScript中心としたエコシステムの発展 ES Modulesの採用の広がり ViteやSWC、RspackやTurbopackなどの新しいビルドツールの登場 この変化に合わせて、Webフロントエンドを対象にしたテストのツールや手法も増えてきました。
TSKaigi 2025 での発表資料です - スピーカーノート リポジトリ…
TOPコラムテック最前線レポート【後編】TypeScript×関数型×DDDで、ユニットテストが激減。実践の全貌とTips【Open Developers Conference 2024 レポート】 【後編】TypeScript×関数型×DDDで、ユニットテストが激減。実践の全貌とTips【Open Developers Conference 2024 レポート】 2024年11月18日 株式会社一休 CTO 伊藤 直也 大学院卒業後、新卒で入社したニフティ株式会社にて、ブログサービス「ココログ」を立ち上げ。2004年、株式会社はてなに入社、CTOに就任。「はてなブックマーク」などの開発を主導。2010年以降はグリー株式会社にて、ソーシャルメディア統括部長を務める。その後フリーランスを経て、2016年4月に、技術顧問を務めていた株式会社一休に入社。執行役員CTOに就任 X GitHub 2
はじめに GraphQLは、API開発において柔軟性と効率性を提供する強力なツールです。しかし、クエリの記述が自由な分、クライアント側で不用意に多くのフィールドを要求してしまうと、パフォーマンス低下や保守性の悪化につながる可能性があります🥲 本記事では、TypeScript Language Service Pluginの1つであるGraphQLSPを活用し、GraphQLクエリの"ダイエット"、つまり未使用フィールドの削減を実現する方法を紹介します。 ※ この記事はTSKaigi Kansai 2024で共有した内容を記事にしたものです。 GraphQLの課題と対策 over fetching問題 GraphQLは、クライアントが厳密に必要とするデータのみを要求できるため、REST APIに比べてオーバーフェッチによるパフォーマンス低下を抑えることができます✊しかし、GraphQLでも
「型システムの仕組み - TypeScriptで実装しながら学ぶ型とプログラミング言語」という本を書きました。 「型システムの仕組み - TypeScriptで実装しながら学ぶ型とプログラミング言語」 どんな本? 簡単な型チェッカを自作してみることで、型システムの仕組みを概観する本です。 型チェックする対象の言語はTypeScript(のサブセット言語)、型チェッカを実装するための言語もTypeScriptです。 たとえば、次のようなプログラムが型チェックできるようになります。 const add = (x: number, y: number) => { return x + y; } const a = add(1, 2); const b = a + true; 型チェッカは、それぞれの変数がどういう型を持つか管理しつつ、プログラムの各パートがどういう型になるかを判定していきます。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く