タグ

hirose504のブックマーク (13,983)

  • [K, U] extends [U, K] ← ナニコレ

    タイトルは初見時の自分の気持ちでした。内容は結構あっさりしたもので、5分あれば読めると思います。 「あーなるほどね」となった方はわざわざ読む必要がない記事っぽいです。 型の互換性チェック 一言で言ってしまえばそういうことです。KとUが互いに置き換え可能かどうかを確認しています。 これがKとUのままだと分かりづらいのですが、適当な型に置き換えてみると分かりやすいです。 type Test1 = [1, 1] extends [1, 1] ? true : false; // true type Test2 = [number, number] extends [number, number] ? true : false; // true type Test3 = [string, string] extends [string, string] ? true : false; // tru

    [K, U] extends [U, K] ← ナニコレ
    hirose504
    hirose504 2024/07/16
  • なぜ宣言的 UI は壊れにくいのか / Why declarative UI is less fragile

    Zli × サイバーエージェント 合同LT 2024/07/14 https://zli.connpass.com/event/319572/ ReactSwiftUIのような宣言的UIの「原理」を、10分のLTになんとか詰め込んでみました。 Reactフックは名詞起点 = オブジェクト指向…

    なぜ宣言的 UI は壊れにくいのか / Why declarative UI is less fragile
    hirose504
    hirose504 2024/07/15
  • 観光客に襲いかかる暴漢を通りすがりの全裸中年男性2人組が撃退「我々は善き隣人」 米・サンフランシスコ | BQN -B級ニュース情報局-


    72 2 2 LGBTLGBT
    観光客に襲いかかる暴漢を通りすがりの全裸中年男性2人組が撃退「我々は善き隣人」 米・サンフランシスコ | BQN -B級ニュース情報局-
    hirose504
    hirose504 2024/07/14
    “服は着ずとも心は錦” たぶん覚えても使う機会はなさそうだけど、良い言葉だな
  • チュートリアル: Yjs, valtio, React で実現する共同編集アプリケーション - ROUTE06 Tech Blog

    Yjsは、リアルタイム共同編集を実現するためのアルゴリズムとデータ構造を提供するフレームワークです。NotionFigma のように、1 つのコンテンツを複数人で同時に更新する体験を提供することができます。 Y.Map, Y.Array, Y.Text といった共有データ型を提供し、それらは JavaScriptMap や Array のように利用できます。さらにそのデータに対する変更は他のクライアントに自動的に配布・同期されます。 Yjs は Conflict-free Replicated Data Types (CRDT) と呼ばれるアルゴリズムの実装であり、複数人が同時にデータを操作してもコンフリクトが発生せず、最終的に全てのクライアントが同じ状態に到達するように設計されています。 クイックスタート Y.Map がクライアント間で自動的に同期されるコード例を見てみましょ

    チュートリアル: Yjs, valtio, React で実現する共同編集アプリケーション - ROUTE06 Tech Blog
    hirose504
    hirose504 2024/07/04
    “Yjs は Conflict-free Replicated Data Types (CRDT) と呼ばれるアルゴリズムの実装であり、複数人が同時にデータを操作してもコンフリクトが発生せず、最終的に全てのクライアントが同じ状態に到達するように設計されています。”
  • 精霊による魔法と科学が融合し発展した都市カイロを舞台に、伝説の魔術師との戦いを描く四冠達成のサイエンスファンタジー──『精霊を統べる者』 - 基本読書


     () :PAmazon4P20 
    精霊による魔法と科学が融合し発展した都市カイロを舞台に、伝説の魔術師との戦いを描く四冠達成のサイエンスファンタジー──『精霊を統べる者』 - 基本読書
    hirose504
    hirose504 2024/07/01
  • デーモン閣下に関するご報告 (H.E. DEMON KAKKA | INFORMATION)

    弊社(株式会社パワープレイミュージック)所属のデーモン閣下(悪魔。アーティスト。10万61歳)は今年2月に、日頃よりお世話になっているかかりつけ医に勧められて、内視鏡による検査を致しました。 その際、来の検査目的ではない部位において早期の癌を見つけることができました。 「なるべく早く専門医による治療を受けたほうが良い。」とのアドヴァイスを頂いたため、3/16(日)に開催された「ジゴロック大分地獄極楽ROCK FESTIVAL」の出演を最後に、既に決定していた仕事のほとんどをキャンセルさせて頂き、4月から5月にかけて検査入院と手術を致しました。 手術後も問題なく回復を致しまして、5月下旬に退院を致しました。 現在は、体力を回復させるため、トレーニングをするまでに至っております。 デーモン閣下は、厚生労働省「上手な医療のかかり方大使」を5年、広島県「がん検診啓発特使」を12年間務めており、そ

    hirose504
    hirose504 2024/06/27
    “色んな首を洗って待っているように!” が気になってるのは俺だけなのか、手首足首と後は…
  • こんなに違うよ MySQLとPostgreSQL /

    2024年6月22日に開催された「第14回 関西DB勉強会 」での、 『こんなに違うよ MySQLとPostgreSQLMySQLとPostgreSQLのニッチな違いを語る~』 の発表資料です。 https://kansaidbstudy.connpass.com/event/316348/

    こんなに違うよ MySQLとPostgreSQL /
    hirose504
    hirose504 2024/06/23
  • StorybookとPlaywrightがもたらす画期的なUIテスト

    はじめに StorybookPlaywrightを連携してテストすることで、思っていた以上に良い開発体験が得られたので紹介します。 今回の記事で紹介するテストは以下のリポジトリで公開しています。 具体的には以下の点が最高でした。 独立したコンポーネント開発 Storybookを利用することで、UIコンポーネントを独立して開発・テストできます。これにより、コンポーネントの再利用性が向上し、効率的な開発が可能になります。 シナリオベースのテスト Playwrightを使ってシナリオベースのテストを実行できます。これにより、ユーザーの実際の操作に近い状況でのテストが可能となり、アプリケーションの品質を高めることができます。 クロスブラウザテストの容易さ Playwrightは、複数のブラウザでの自動テストをサポートしています。これにより、異なるブラウザでの動作検証が容易になり、互換性の問題を効

    StorybookとPlaywrightがもたらす画期的なUIテスト
    hirose504
    hirose504 2024/06/20
  • そのuseRef+useEffect、refコールバックのほうが良いかも? - Qiita

    Reactにおいて、useEffectのユースケースとして知られているのが、DOMノードに直接アクセスしなければいけない場合です。useRefでDOMノードをrefオブジェクトに取得し、エフェクト内からDOMノードにアクセスするというのがその場合の基的なやり方です。 このようなuseRef + useEffect の使い方は、問題ない場合もありますが、実は別の手段を使った方がいい場合もあります。その場合に別の手段として適しているのがrefコールバックという機能です。 そこで、この記事ではどのような場合にuseRef + useEffectよりもrefコールバックが適しているのか、そしてrefコールバックを使う場合の注意点について解説します。 復習: refコールバックとは React DOMでは、組み込み要素(divなどHTMLの要素)に対してrefという特殊なpropを与えることができ

    そのuseRef+useEffect、refコールバックのほうが良いかも? - Qiita
    hirose504
    hirose504 2024/06/20
  • 「このパスでこのファイルのインポートをさせたくない、、、」をESLintでルール化する


    Webhikae SOLID  DDependency inversion principle   PR   使eslint-plugin-importnpm install --save-de
    「このパスでこのファイルのインポートをさせたくない、、、」をESLintでルール化する
    hirose504
    hirose504 2024/06/20
  • ウォータフォールはやめて2024年の開発をやろう!|牛尾 剛


     vs2024 20162024  2024
    ウォータフォールはやめて2024年の開発をやろう!|牛尾 剛
    hirose504
    hirose504 2024/06/19
  • ソートできるUUID v7をJavaで使うときの話

    JJUG CCC 2024 Spring の発表資料です

    ソートできるUUID v7をJavaで使うときの話
    hirose504
    hirose504 2024/06/16
  • 今話題となっているReact 19のSuspenseの変更内容を詳しく見てみました。

    はじめに 以下のツイートが発端でした。 投稿者は、React Query のメインコントリビュータの tkdodo さんです。 React 19 に含まれる変更にある異変を気づきました。 変更は以下に該当します react: Don’t prerender siblings of suspended component #26380 リリースノートに隅っこにありました。 この変更は RFC なしで含まれました。該当 PR は以下 What React では、 Suspense を使って、非同期処理を行うコンポーネントやReact.lazyによってコンポーネントの遅延ロード時に、読み込みを完了するまでフォールバックを表示させることができます。 以下のような実装があるとします。 import { lazy, Suspense, useState } from "react"; const Av

    今話題となっているReact 19のSuspenseの変更内容を詳しく見てみました。
    hirose504
    hirose504 2024/06/15
  • DoCoMoの25周年スペシャルムービーを見ると凄まじく感情が動くので書き殴ってしまった

    いまから7年前の2017年、とんでもないCMが世に放たれたことを皆さんはご存知だろうか。 DoCoMo25周年スペシャルムービーCM「いつかあたりまえになることを」。 このCMは4分にもおよぶ長さのためTVCMというより、もはやショートムービーなのだけど、とにかく破壊力が高いのでまずはしっかりと見てほしい。 なにこれ。 おそらく、この動画を見終わって、多くの人がこんな状態に陥ったんじゃないだろうか。 なんかしらんけど泣ける。 ただ、そこにあるのはあまりに複雑な感情なはずだ。 ありきたりで分かりやすいそれと違って、心の奥底がザワザワするような、敏感な場所を得体のしれないもので撫でられているような、まるでどこかで自分が経験したかのような、そんな感覚が生じているのだ。 もちろん、そうでない人もいるのだろうけど、それを言い出すと話が始まらないので、みんなそうなったと思い込んで話を進めていく。 感情

    DoCoMoの25周年スペシャルムービーを見ると凄まじく感情が動くので書き殴ってしまった
    hirose504
    hirose504 2024/06/14
  • TypeScriptのコンパイラを見てtype-challengesのEqual<X, Y>を完全に理解する


     U1 and U2 are identical types =U1U2U1U2XY <T>() => (T extends X ? 1 : 2) Equal<X,Y>  Conditional Types  Conditional Types Conditional Types  T extends X ? 1 : 2 TT Conditional Types (T
    TypeScriptのコンパイラを見てtype-challengesのEqual<X, Y>を完全に理解する
    hirose504
    hirose504 2024/06/12
  • TypeScriptの型と値とバリデーション


    TypeScript  JavaScript   TypeScript  TS使 zod  openapi 使  TypeScript ()2 :  :  TypeScript  JavaScript
    TypeScriptの型と値とバリデーション
    hirose504
    hirose504 2024/06/12
  • 「役に立たない機械」早慶戦 2024


    1          寿 使   使 
    「役に立たない機械」早慶戦 2024
    hirose504
    hirose504 2024/06/12
    良い
  • 大公開!バッチアプリケーションの品質を高めるZOZOの『バッチ開発ガイドライン』 - ZOZO TECH BLOG


    MA  Tips      Android iOS Frontend Backend Infra API Batch DB(Datab
    大公開!バッチアプリケーションの品質を高めるZOZOの『バッチ開発ガイドライン』 - ZOZO TECH BLOG
    hirose504
    hirose504 2024/06/11
  • LINE Botの開発でCloudflareとHonoを使う理由

    概要 速さが正義 LINE Botの開発でCloudflareとHonoを使う理由 Cloudflare Workersの応答速度が速いから PoPについて CloudflareAWSlambdaに比べてポイントオブプレゼンス(PoP)の数が多く、処理が実行される場所がよりユーザーの近くにある可能性が高い。 そのため、パフォーマンステストではAWS LambdaAWS Lambda@Edgeよりも応答時間が小さいという結果になった。 コールドスタートがない Cloudflare Workersはコールドスタートがなく、LambdaLambda@EdgeのようにEventBridgeで1分おきにツンツンしなくていい。 Service bindingsが便利だから Cloudflare WorkersのService bindingsを使用することで、worker間の通信はパブリックに

    LINE Botの開発でCloudflareとHonoを使う理由
    hirose504
    hirose504 2024/06/09
  • explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ


     SakiPHPPHP Appindex MySQLInnoDBRDB index index index
    explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ
    hirose504
    hirose504 2024/06/05