はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    Google I/O

『qiita.com』

  • 人気
  • 新着
  • すべて
  • 線形代数学+Rustで画像圧縮のアルゴリズムを実装する - Qiita

    77 users

    qiita.com/tronicboy

    こんにちは👋 長く暑い夏が終わろうとしている今ですが、筆者は秋の季節を満喫しております。 LabBaseでは線形代数学の基礎を使って検索エンジンを構築していますが、レコメンド、検索アルゴリズムによく使われる王道の手法について記事を書くことにしました。 概要 線形代数学の特異値分解(SVD)の知識を活かして、原始的な画像圧縮アルゴリズムをRustで実装します。 SVDとは? SVDは、線形代数学でよく使われる行列の分解です。行列の分解は、同じマトリックスを他のマトリックスに分けて表現することです。SVDの他に、LU三角分解、QR分解などがあります。 SVDは、あるAというマトリックスの列空間と行空間の固有ベクトルを計算して、それぞれをUとVというマトリックスに収めます。さらに、Σという対角行列に、固有値の平方根を入れます。Vの転置行列をV'と定義しますが、以下の分解になります。 Σの体格行

    • テクノロジー
    • 2024/09/24 18:55
    • Rust
    • アルゴリズム
    • あとで読む
    • 画像
    • algorithm
    • qiita
    • math
    • RustのWASMをAngularのサービスとして使う方法 - Qiita

      3 users

      qiita.com/tronicboy

      ハイサイ!オースティンやいびーん! 概要 Rustとwasm_bindgenを使って、Angularのサービスとして使えるWASMを作る方法をサクサクと紹介します。 なぜWASMをAngularに? そもそもなぜWASMをAngularで使いたいのかというところを疑問に思う読者もいるかもしれませんが、その思いはおそらくパフォーマンスを追求するならAngularを使うのはどうかという前提だと仮定してお話しします。 Angularはパフォーマンスが悪いのはその通りです。特にFirst Paint(DOMに最初にレンダーされる)までの時間が悲惨です。読み込んだ後のパフォーマンスはReactよりはいいが素晴らしいわけでもないのです。 しかし、Angularが向いているのは、業務アプリであり、その業務アプリではサクサクと動作することが非常に大事です。以前勤めていた会社では、Angularを使ったアプ

      • テクノロジー
      • 2023/09/20 17:03
      • Astro.js - Next.jsからWebアプリケーションを移行してみた感想 - Qiita

        6 users

        qiita.com/tronicboy

        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はいさい!ちゅらデータぬオースティンやいびーん! 概要 最近、Astro.jsに、Next.jsのWebアプリケーションを移行しましたが、本投稿は、Astroの紹介と、移行作業の感想をまとめるものです。 Astro.jsは欧米ではとても注目されているフレームワークですが、日本ではまだまだ話が広まっていない気がします。 Astro.jsとは Astro.jsは、MPAの静的サイトをレンダーするJavaScriptフレームワークです。 フレームワークといえども、Next.jsのように、Reactなどのフロントエンドフレームワーク専用ではない

        • テクノロジー
        • 2023/08/18 14:58
        • WordPressのBlockでWeb Componentsを使ってGutenbergのReact地獄から脱出しましょう! - Qiita

          3 users

          qiita.com/tronicboy

          WordPressのBlockでWeb Componentsを使ってGutenbergのReact地獄から脱出しましょう!JavaScriptWordPressWebComponentsReactGutenberg ハイサイ!オースティンやいびーん 概要 WordPressのGutenbergの主要な機能、BlockをWeb Componentsで実装する方法を紹介します。 Gutenbergとは WordPressのブログ体験をよりモダンで快適なものにするために、WordPressチームは数年前から大掛かりな新機能開発に取り掛かっています。 そのプロジェクトと追加される機能をすべてGutenbergと呼んでいます。 その主な機能は、投稿などで再利用が可能になるBlockです。 上級開発者は、プラグインでBlockを開発して追加することもできます。 Block開発の問題 Block開発を試

          • テクノロジー
          • 2023/04/14 14:09
          • リファクタリング文化が根付かない企業:あなたはどうする? - Qiita

            13 users

            qiita.com/tronicboy

            はいさい!オースティンやいびーん! 概要 今日の記事は、リファクタリングについてお話しします。 特に、エンジニアがなぜリファクタリングをしないのかについて触れたいです。なぜできないか、というべきでしょうか。 そして最後に、リファクタリングの文化を根付かせるためにどのような対策を取ればいいかの話題でまとめます。 背景 筆者が複数の日系企業で働いてきましたが、健全なリファクタリング文化を育んでいる会社は一社も出会っておりません。 リファクタリングをしないせいで身の回りの動きがどんどん取れなくなっていく、つまり開発の効率が悪化する一方で徐々にコードベースがわからなくなってくるという悪循環をいくつかのプロジェクトで見てきました。 なぜリファクタリングを敬遠するのか、どんな課題があるのか、ずっと疑問に思っています。 リファクタリングとは リファクタリングは、ソースコードを見直して再編することです。つ

            • テクノロジー
            • 2023/03/05 22:30
            • リファクタリング
            • プログラム
            • エンジニア
            • 資料
            • 考え方
            • まとめ
            • あとで読む
            • _.cloneDeepを葬りましょう - Qiita

              3 users

              qiita.com/tronicboy

              はいさい!オースティンやいびーん! 概要 JavaScript・ブラウザのネイティブ機能で回帰的クローンをする方法を紹介します! それは、structuredCloneです。 これは、グローバルで定義されている関数で、現在のEvergreenブラウザ(Chrome、Safari、Edge等)ならサポートされています。 背景 JavaScript開発においてオブジェクトをクローンすることは常の課題です。 常套手段として以下のES6 Spreadがよく使われます。 const ob1 = { a: 1 }; const ob1ShallowClone = { ...ob1 }; // OR Object.create(ob1); これはいわゆるShallow Cloneの手法です。基本的にこれでもの足りるケースが多いのですが、非常に大きな欠点があります。 それは、配列のようなオブジェクトは回帰

              • テクノロジー
              • 2023/01/28 08:06
              • javascript
              • JavaScriptのimportmapを味方に付けよう - Qiita

                4 users

                qiita.com/tronicboy

                概要 今日、ご紹介するのは、JavaScriptのimportmapです。 importmapは、ブラウザで実行するimport構文によって読み込まれるパッケージのURLを指定することができるようにします。 つまり、import構文にエイリアスをアサインすることが可能になります。 すなわち、ブラウザでimport React from "react";というふうに書けるようにできるのです。 これを実現するためには、パッケージをダウンロードするためのURLと、import構文で指定するエイリアス名を関連づける必要があります。 そのやり方を説明していきましょう! importmapのJSONを書く どこか任意なところに、新しいダイレクトリを作って、index.htmlというファイルを作成してください。 そこに、以下のようなHTMLテンプレートを使います。 <!DOCTYPE html> <ht

                • テクノロジー
                • 2022/09/28 11:07
                • JavaScriptでCSVファイルを構文解析(Parse)する方法 - Qiita

                  4 users

                  qiita.com/tronicboy

                  はいさい! ちゅらデータ ぬ オースティン やいびーん どー! んな、 がんじゅー やいびーみ? 概要 .csv拡張子のファイルをJavaScriptで解析し、ヘッダーと行を抽出する方法を紹介します。 背景 npmに公開しているCSV構文解析ソフトは他にあります。が、今回は使いません。 なぜこれを使わないか? 筆者は不要であれば、第三者が作ったパッケージを極力組み入れたくないからです。 なぜ第三者パッケージを避けたいか? 複数の理由があります。 セキュリティの脆弱性が懸念される。Leftpad事件のような事件は今後も起きる。 そのパッケージがいつ放棄されるかわからない。放棄された時に、自分の手で維持しなければいけなくなる。 仕事で携わっているプロジェクトの特徴で、第三者パッケージを入れると稟議を通すのに時間がかかり、にりー(だるい) 第三者パッケージの使い方を学ぶより、JavaScript

                  • テクノロジー
                  • 2022/08/16 14:06
                  • React、過剰に複雑な代物。 - Qiita

                    354 users

                    qiita.com/tronicboy

                    はいさい!ちゅらデータぬオースティンやいびーん! 今回の記事は筆者に珍しく、技術紹介ではなく、僕の個人的な意見を書きます。あくまでも、自説です。 React自体は画期的で、プログラミング界に貢献したプロジェクトだと思っていますし、完全に否定したいわけではありません。 Reactに対する違和感=芽生えては大きく育った種 筆者はReactがとても好きでした。JavaScriptが好きになったきっかけもReactでした。何から何までもReactで書き直して、Custom Hooksを作って、refを子部品に渡したり、バリバリ満喫していました。 Vueも仕事の関係で習得せざるを得なくなったのですが、Vueは最高に大嫌いでした。これならReactで書き直してやるぅ!と思ったりも。 Reactについて社内でも導入を推進したり、React入門の勉強会を開いたりもしています。 しかし、そんな筆者は、最近に

                    • テクノロジー
                    • 2022/07/06 11:14
                    • react
                    • あとで読む
                    • javascript
                    • 考え方
                    • qiita
                    • hooks
                    • 開発
                    • DOM
                    • programming
                    • JavaScriptのFetch APIにtimeoutとretryの機能を追加する方法 - Qiita

                      3 users

                      qiita.com/tronicboy

                      目的 Vanilla JavaScriptのfetch()に特定の時間が追加したら、エラーを起こして処理を終わらせる時限機能、そして、fetchが取得に失敗した時に特定の回数のみ再度取得を試みる機能を追加すること。 背景 fetchを使うのか、axiosを使うのか、迷うエンジニアもいると思います。基本的に、axiosを使うべきだと筆者は考えています。なぜなら、Axiosを使えば、Timeoutはすぐに設定できるのと、axios-retryというパッケージを使えばretryの機能も簡単に追加できるからです。 ただし、場合によってはaxiosを入れたくない事情もあるのかもしれません。また、筆者も経験しましたが、axios-retryが思うように動いてくれなかったりします。axiosは簡単に使えるが、何をしているかわからん、ということはよろしくない状況なので、ここでは勉強も兼ねて同じことをfet

                      • テクノロジー
                      • 2022/01/17 12:15
                      • javascript
                      • TypeScriptを使った、Next.js + ExpressカスタムサーバーでSocket.ioのチャットアプリをDockerで実装 - Qiita

                        5 users

                        qiita.com/tronicboy

                        TypeScriptを使った、Next.js + ExpressカスタムサーバーでSocket.ioのチャットアプリをDockerで実装Socket.ioExpressTypeScriptDockerNext.js 目的 Next.jsに本来、含まれていないWebSocket機能をCustom ServerのSocket.ioで実装した上で、Dockerのコンテナで実行する。 目次 Next.jsでチャットアプリの作成 Custom ServerをTypeScriptで立ち上げる Production用にBuildできるように設定する Dockerの設定を行う DockerコンテナをBuildして終わり! チャットアプリの作成 以下のCommandを実行してNextのTypeScriptプロジェクトを作ります。 https://nextjs.org/docs/api-reference/c

                        • テクノロジー
                        • 2021/12/08 16:16
                        • あとで読む

                        このページはまだ
                        ブックマークされていません

                        このページを最初にブックマークしてみませんか?

                        『qiita.com』の新着エントリーを見る

                        キーボードショートカット一覧

                        j次のブックマーク

                        k前のブックマーク

                        lあとで読む

                        eコメント一覧を開く

                        oページを開く

                        はてなブックマーク

                        • 総合
                        • 一般
                        • 世の中
                        • 政治と経済
                        • 暮らし
                        • 学び
                        • テクノロジー
                        • エンタメ
                        • アニメとゲーム
                        • おもしろ
                        • アプリ・拡張機能
                        • 開発ブログ
                        • ヘルプ
                        • お問い合わせ
                        • ガイドライン
                        • 利用規約
                        • プライバシーポリシー
                        • 利用者情報の外部送信について
                        • ガイドライン
                        • 利用規約
                        • プライバシーポリシー
                        • 利用者情報の外部送信について

                        公式Twitter

                        • 公式アカウント
                        • ホットエントリー

                        はてなのサービス

                        • はてなブログ
                        • はてなブログPro
                        • 人力検索はてな
                        • はてなブログ タグ
                        • はてなニュース
                        • ソレドコ
                        • App Storeからダウンロード
                        • Google Playで手に入れよう
                        Copyright © 2005-2025 Hatena. All Rights Reserved.
                        設定を変更しましたx