タグ

mizdraのブックマーク (7,388)

  • Zennの検索スピードを5倍に高速化した話

    @dyoshikawaです。 先日、以下のリリースでZennのサイト内検索の高速化を行いました。 結論を先に述べるとCDNキャッシュやPostgreSQLの全文検索インデックスを活用して対応しました。この記事ではパフォーマンス改善の取り組みについて紹介します。 Zennの構成 ZennGoogle Cloud上に構築されており、フロントエンドNext.jsとバックエンドRailsをそれぞれCloud Run上にホスティングしています。上の図では省かれていますが、CDNにはCloudflareを利用しています。 データベースはCloud SQL for PostgreSQLを利用しています。 検索速度とDB負荷に課題 2025年2月頃、某AIクローラーによる検索ページへの集中アクセスによりDBインスタンスのCPU使用率が100%近くに張り付いてしまうという事象が発生しました。 生成AI

    Zennの検索スピードを5倍に高速化した話
  • Rolldown | Rust bundler for JavaScript

    Why do we still need bundlers? ​Skipping the build step is impractical ​With the general availability of native ES modules and HTTP/2 in modern browsers, some developers are advocating for an unbundled approach for shipping web applications, even in production. While this approach works for smaller applications, in our opinion bundling is still very much necessary if you are shipping anything non-

    Rolldown | Rust bundler for JavaScript
  • Resilient Import Maps - Better Theme Development and Beyond (2025) - Shopify

    Resilient Import Maps - Better Theme Development and BeyondImport maps are great for both performance and developer experience, but their original limitations made them hard to use, especially at Shopify’s scale. We stepped up and pushed changes across the HTML spec, Chromium and WebKit to fix these issues at the web platform level. Now, developers can interleave JavaScript modules and multiple im

    Resilient Import Maps - Better Theme Development and Beyond (2025) - Shopify
    mizdra
    mizdra 2025/06/03
    import map より先にモジュールを読み込むとエラーになる仕様上の制約を撤廃したという話。Shopify の貢献により、制約を撤廃するよう仕様が調整され、Webkit と Chromium に実装された。
  • Kyash、Apple PayによるVisaのタッチ決済に対応開始

    KyashApple PayによるVisaのタッチ決済に対応開始~iPhoneおよびApple Watchユーザーに、よりスピーディーで安全・安心な決済体験を提供~ 株式会社Kyash社:東京都港区、代表取締役社長:鷹取 真一、以下「Kyash」)は、Apple Payにおいて、Kyash CardおよびKyash Card VirtualでVisaのタッチ決済サービスを開始することをお知らせいたします。 これにより、iPhoneおよびApple Watchをお持ちのKyash Card、Kyash Card Virtualの利用者さまは、日国内および海外Visaのタッチ決済対応加盟店において、より簡単、スピーディーかつ安全・安心にお支払いいただけるようになります。※一部ご利用いただけない加盟店もございます。 近年、消費者の決済ニーズは多様化しており、特に非接触決済の利用が拡大し

    Kyash、Apple PayによるVisaのタッチ決済に対応開始
    mizdra
    mizdra 2025/06/03
  • 【重要なお知らせ】QUICPay+™(クイックペイ)の新規申込および利用終了について - Kyash お知らせ

    いつもKyashをご利用いただき、誠にありがとうございます。 このたびKyashでは、より便利で統一されたキャッシュレス体験をご提供するため、Visaブランドへのサービス一化を進めております。その一環として、QUICPay+™の提供を順次終了させていただくこととなりましたので、ご案内申し上げます。 1. QUICPay+™の新規申込(プロビジョニング)終了2025年6月2日(月)17時をもちまして、新規のQUICPay+™の申込を終了いたします。 (カードの紛失盗難などによる再発行での申込も終了となります) 2025年6月2日(月)17時以降は、QUICPay+™の新規申込(Apple Payおよび Google Pay の設定)はできませんので、ご注意ください。 2. 既存ユーザーのQUICPay+™利用終了2025年8月31日(日)18時をもちまして、すでにお申込済みのQUICPay

    mizdra
    mizdra 2025/06/02
  • 情報収集の仕方を模索している - 下林明正のブログ

    情報収集が苦痛になってきた 10年くらい前までは調べたいテーマについてGoogleで検索するとマニアックな個人のブログ記事が色々出てきて、読むこと自体が楽しかったし、読み込んでいくとなんとなく分かった気になれていた。 けど最近は、検索してもあまり欲しい情報が出てこなくなっている気がする。 個人のブログで発信されていたような情報が、ブログではなくYouTubeに流れていっているという要因もある印象。 ただ、YouTubeは検索性や効率の面で問題があって、面倒に感じてしまって使う気になれないことが多い。 動画は、テキストに比べて効率が悪すぎる。 とはいえ文句を言っててもどうしようもないので、自分のやり方を変えようと思って少し試行錯誤をしてみた。 現時点での自分のやり方 ベタだけど、ChatGPTのdeep researchは悪くなさそうだった。 openai.com 試してみた感じでは、You

    情報収集の仕方を模索している - 下林明正のブログ
    mizdra
    mizdra 2025/05/31
    僕が情報収集している分野は、動画もあるけど大事な情報はブログでも出るから困ってないなー。質の良い情報を発信してる人とか、自分がファンになってる人の動画でない限り、見に行く必要ないと思って過ごしてます。
  • レジPOSシステム改修「1年かかる」 石破首相発言は「ほぼ正確」:朝日新聞

    ■【石破茂首相の発言】 「税率変更する時に、一体どれくらいの期間がかかるかということでございます」「スーパーを見れば分かりますが、そのシステムを変えるだけで1年はかかるということでございます」 (5月…

    レジPOSシステム改修「1年かかる」 石破首相発言は「ほぼ正確」:朝日新聞
  • TSKaigi 2025「SignalとObservable ― 新たなデータモデルを解きほぐす」補足解説 | lacolaco's marginalia

    2025-05-31 TSKaigi 2025「SignalとObservable ― 新たなデータモデルを解きほぐす」補足解説 先日TSKaigi 2025で話した「SignalとObservable ― 新たなデータモデルを解きほぐす」についての補足解説をする。当日は時間の関係で端折った部分や、登壇後のAsk the speakerでいただいた質問に対する見解なども含めている。 Signalを解きほぐす3部構成の初め、Signalについては以下のように論を展開した。 ECMAScriptへの提案からモチベーションを探る Signalと呼ばれる構造の基的要素をカウンターアプリの例から理解する 基的要素が既存のSignal実装にも共通することを確認する Signalと呼ばれるパターンがどのように成立してきたか系譜をたどる 現代のJavaScriptでSignalが求められている背景を理

    TSKaigi 2025「SignalとObservable ― 新たなデータモデルを解きほぐす」補足解説 | lacolaco's marginalia
    mizdra
    mizdra 2025/05/31
    Promise が async/await との相互連携に発展したように、Signal も密に連携して真価を発揮できる他の言語機能が見つかると面白そう
  • Announcing Rolldown-Vite

    TL;DR: Try out the Rolldown-powered Vite today by using the rolldown-vite package instead of the default vite package. It is a drop-in replacement, as Rolldown will become the default bundler for Vite in the future. Switching should reduce your build time, especially for larger projects. Reach out to discover production use cases! Over the last year, we've been working on Rolldown, a Rust-based ne

    Announcing Rolldown-Vite
  • Googleスライドのデフォルトページサイズは実は小さいので、解像度を上げる設定をすると良い - Diary of a Perpetual Student

    まとめ Googleスライドやそのテンプレートを作る人は、ページ設定から解像度を上げよう そうすると、Speaker Deckにアップロードするときなどに画像や文字の品質が上がる Googleスライドを新しく作成するとき、自然とアスペクト比が16:9の設定になっているかと思いますが、これが実際にどのぐらいのサイズなのかを気にしたことはありますか? そもそも、Googleスライドの縦横サイズは、ファイルメニューの中にある「ページ設定」で確認・変更することができます。 デフォルトだと以下の通り「ワイドスクリーン(16:9)」になっているのですが、ここから「カスタム」に変えて単位も変えてみると、「ワイドスクリーン(16:9)」というのは960*540pxであることがわかります。現代でもデフォルトがFull HDになっているわけではないのです。 画面に映してスライドショーをする分にはこの設定

    Googleスライドのデフォルトページサイズは実は小さいので、解像度を上げる設定をすると良い - Diary of a Perpetual Student
    mizdra
    mizdra 2025/05/30
  • Wake up, Remix!

    At React Conf last summer we announced that Remix was going to "take a nap". Remix v2 had become such a thin wrapper around React Router that an artificial separation developed between the two projects. We simplified the projects by moving the bundler and server runtime code from Remix directly into React Router v7, merging everything that made Remix great into React Router v7 “framework mode”. We

    Wake up, Remix!
    mizdra
    mizdra 2025/05/29
    React の代わりに Preact を使うのはそういう方針もアリだと思うけど、Preact のフォークにするのはどうなんだろう。本家への追従コストを払える余裕が開発チームにあるのかとか、互換性どうなるかとか気になる。
  • k1LoW/deck: MarkdownでGoogleスライドを作る | lacolaco's marginalia

    先日TSKaigi 2025で登壇したときに使った資料は、Googleスライドで作ったものだが、実はその「ソースコード」はMarkdownで書いた。どういうことかというと、MarkdownファイルからGoogleスライドを生成できる “deck” というツールを使った。開発者はk1LoWさん。deckが生まれるに至るまでの経緯はぜひご人のブログを読んでほしい。 deck はもともとk1LoWさんが個人的に使うために作ったツールのようだが、OSSとして公開されていたので試しに使わせてもらった。使ってみるとかなり手に馴染んで、実はTSKaigiの前にも「技術書お金 夏の夜」での発表スライド(非公開)もdeckで作っている。 TSKaigi用のスライドのソースコードをGistに貼った。コメントを多用するので、プレビューでは消えてしまう。Rawで見たほうがよくわかると思う。 なぜGoogle

    k1LoW/deck: MarkdownでGoogleスライドを作る | lacolaco's marginalia
    mizdra
    mizdra 2025/05/28
  • Pull Request ごとに S3 + CloudFront へ SPA のプレビュー環境をデプロイする - Classi開発者ブログ

    Classi でソフトウェアエンジニアをやっている koki です。 S3 + CloudFront でホスティングしている SPA (Single Page Application) で Pull Request ごとにプレビュー環境をデプロイする仕組みを作ってみたところ、かなり体験が良かったので紹介します。 前提 Classi で提供している学習トレーニング機能には、それを裏で支えるコンテンツ管理システム ( 以下、内部 CMS ) が存在しています。 この内部 CMS については以下の記事でも簡単に紹介されているので、こちらをご参照ください。 tech.classi.jp 内部 CMS のフロントエンドAngular を使用した SPA になっており、 Amazon S3 と Amazon Cloudfront を使用してホスティングされています。 抱えていた課題 / つくったも

    Pull Request ごとに S3 + CloudFront へ SPA のプレビュー環境をデプロイする - Classi開発者ブログ
    mizdra
    mizdra 2025/05/28
    API 通信を msw でモックするのおもしろい
  • JavaScriptを書かない2025年のモーダルの実装方法 – TAKLOG

    2025年のモーダルの実装方法のメモ書き。 <dialog> 要素の利用を前提とします。 Web アプリケーションで UI ライブラリを利用する場合は話が変わってきます。 1年前にdialog要素を使用したモーダルウィンドウの実装例を投稿しましたが、大幅にアップデートされているため、忘れても構いません。 結論<dialog>要素の開閉は command 属性を使用する<dialog>要素の外側をクリックした際に閉じる Light dismiss 機能は closedby 属性を使用するcommand 属性と closedby 属性は Polyfill を使用する開閉時のアニメーション、背面のスクロール抑制、スクロールバーの有無によるガタツキの防止は CSS で行う方針としては極力JavaScriptを書かないことを目指します。 次のようにHTMLを書くことで<dialog>要素の開閉および

    JavaScriptを書かない2025年のモーダルの実装方法 – TAKLOG
  • TypeScriptとReactで、WAI-ARIAの属性を正しく利用する

    このブラウザ バージョンのサポートは終了しました。サポートされているブラウザにアップグレードしてください。

    TypeScriptとReactで、WAI-ARIAの属性を正しく利用する
    mizdra
    mizdra 2025/05/27
    面白かった。TypeScript コンパイラ側でハックが入ってるのが中々厳しいなー。
  • TSKaigi 2025 参加レポート

    はじめに TSKaigi 2025 は、2025 年 5 月 23 日(金)と 24 日(土)の 2 日間にわたって開催され、私も現地で参加してきました。 記事では、聴講した講演から得た学びや感想をまとめます。 講演タイトルに、講演概要のリンクと、各節の最後に講演資料のリンクを引用させていただいております。 この場を借りて、TSKaigi 2025 の運営ならびに講演者の方々に心より感謝申し上げます Day 1 Day 1 は金曜日開催ということもあり、どこか特別な雰囲気を感じました。 また、TSKaigi 初日の未明(日時間)に TypeScript Native Previews が発表されたこともあり、会場ではその話題で大いに盛り上がっていました。 The New Powerful ESLint Config with Type Safety Vue をはじめとした著名なソフトウ

    TSKaigi 2025 参加レポート
  • GitHub Pagesでも`SharedArrayBuffer`を使いたい | Memory ice cubes

    というのも、簡単には使えないから・・・。 SharedArrayBuffer SharedArrayBuffer - JavaScript | MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer 某Spectreの絡みでセキュリティ要件が厳しくなって、現世では簡単に使えなくなった。 httpsであることはもちろん crossOriginIsolatedなドキュメントである これらの条件が満たされていないと、SharedArrayBufferを使うことはできない。というか、条件未達の場合SharedArrayBufferがそもそもグローバルに存在しない。 COI: Cross-origin isolated Window: crossOri

    GitHub Pagesでも`SharedArrayBuffer`を使いたい | Memory ice cubes
    mizdra
    mizdra 2025/05/26
    ServiceWorker で COOP/COEP ヘッダー付けられるのウケる
  • Kotlinの新しいエラーハンドリング「Rich Errors」 - Don't Repeat Yourself

    先日より開催されていたKotlinConfで、新しいエラーハンドリング「Rich Errors」についての言及がありました。従来のように例外を使用するのではなく、エラーを値として扱えるようにする新機能です。聴き逃しているだけかもしれませんが、まだリリース予定などは立っておらず、機能を設計中の段階なのではないかと思われます。 私はもともとKotlinのエラーハンドリングはなかなか悩ましいなと思っていた節があり、ずいぶん前からKEEP上での議論を追うなどしてキャッチアップしていました。最近同僚ともエラーハンドリングに関する決め事をあれこれするために議論しており、私自身はエラーハンドリングに対する関心が高いです。 私の所感としては、Kotlinの言語設計によく合ったエラーハンドリングの方式が採用されそうで非常に楽しみにしています。最近の議論ではともすればモナドであるとか、Result<T, E>

    Kotlinの新しいエラーハンドリング「Rich Errors」 - Don't Repeat Yourself
    mizdra
    mizdra 2025/05/26
    型階層に変更加えるのなるほど
  • 君だけのオリジナル async / await を作ろう / TSKaigi 2025

    TSKaigi 2025 での発表資料です - スピーカーノート リポジトリ…

    君だけのオリジナル async / await を作ろう / TSKaigi 2025
    mizdra
    mizdra 2025/05/26
    これくらいシンプルなコードで generator でも async/await 相当のことできるの面白い
  • ボタンを「押下(おうか)する」という言い方はかなり昔から存在していた(文献引用つき) - StatsBeginner: 初学者の統計学習ノート

    「押下する」は変な日語? IT業界でよく使われる「押下(おうか)する」という言葉について考察したQiitaの記事が話題になっておりました。 qiita.com ブコメをみると「変な日語だと思ってた」的なコメントが散見されましたが、実際、SIerの人とかと仕事をすると「押下する」という表現はもはや日常語レベルになっていて、よく耳&目にするんですよね*1。システムの設計書とかマニュアルに頻繁に出てきます。 私は就職して1年目に、自社内の業務システムのマニュアルに「◯◯ボタンを押下」というような表現があるのを見つけて初めて知りました。 上記の記事では、パソコンにおける「クリック」は「押し下げる」のではなく「押して離す」動作なのだから、「押下」と表現するのはおかしいのではないかみたいな話がされているのですが、あわせて「押下」という言葉が誕生した瞬間?についてのエピソードが紹介されております。

    ボタンを「押下(おうか)する」という言い方はかなり昔から存在していた(文献引用つき) - StatsBeginner: 初学者の統計学習ノート