並び順

ブックマーク数

期間指定

  • から
  • まで

441 - 480 件 / 731件

新着順 人気順

パフォーマンスの検索結果441 - 480 件 / 731件

  • Reactで再レンダリングを抑えるシンプルな方法

    はじめに 「React で再レンダリングを抑えたい...」となった場合、多くの人が React.memo や useMemo、useCallback などのいわゆる 「メモ化」 を思い浮かべることでしょう。 しかし、そういった「メモ化」を用いなくても再レンダリングを抑える方法が実は存在しています。 今回はその代表的な例を2つ紹介していきたいと思います。 よくある例 まず例として、以下のような 「パフォーマンスに問題を抱えたコンポーネント」 を考えてみましょう。 import { useState } from "react"; export default function App() { let [color, setColor] = useState("red"); return ( <div> <input value={color} onChange={(e) => setColo

      Reactで再レンダリングを抑えるシンプルな方法
    • 日本のSREの火付け役ともなったエンジニアが貫く信念 ─ すべてはログの向こうにいるエンドユーザのために - Findy Engineer Lab

      こんにちは、はじめまして。さくらインターネット株式会社の長野雅広(@kazeburo)です。Webの業界に入ったのは学生だった2000年頃で、キャリアは20年以上になります。おそらくこの業界でも長い方ではないでしょうか。20年の間にmixiやlivedoor、メルカリといった企業で働く機会を得て、どの職場でもサービスの裏側にあるインフラや、Webアプリケーションの運用を支える仕事、今ではSREと呼ばれるような業務に携わってきました。 そして今年の1月から、さくらインターネットにてクラウドを中心にサービスの開発を行っています。つまり、インフラやクラウドを利用して一般のお客様向けにサービスを作るという仕事から、クラウドを作ることを仕事にする、という選択をしました。 この記事では、どのような経験からSREとして働くようになったのか、また現職に至る選択をした経緯について語りたいと思います。加えて、

        日本のSREの火付け役ともなったエンジニアが貫く信念 ─ すべてはログの向こうにいるエンドユーザのために - Findy Engineer Lab
      • Cloudflare Workers それは Frontend / Node.js が CDN Edge Side まで拡張されるもの

        最近は Cloudflare Workers が熱くて、週末はずっとその調査しています。この記事はそのまとめです。 注意点として、手元でいろいろなパターンで動かして試してはいますが、プロダクション環境で運用したわけではないです。それを踏まえた上でお読みください。 特に断りが無い限り、引用文は DeepL で翻訳したものです。 Cloudflare Workers とはなにか Cloudflare Workers | サーバーレスコンピューティング | Cloudflare 一言でいうなら 「ServiceWorker の API が CDN Edge 上で動く JavaScript 処理系」 です。 Technology Radar では、まだ ASSESS(調査) フェーズという扱いです。 Cloudflare Workers | Technology Radar | ThoughtWo

          Cloudflare Workers それは Frontend / Node.js が CDN Edge Side まで拡張されるもの
        • クラフトワークの「フクシマ 放射能」パフォーマンスが差別なのか、Xで議論に

          Manabu Murata a.k.a J @muratamuramura KURUUCREW所属 & AKBK所属 & GuitarFeedbacker VS NoiseDestroyer(w/ Napalm K)所属 & 海風土(w/ tentenko)所属 稀にサブカルコマンドーJ p-vine.jp/artists/kuruuc… Manabu Murata a.k.a J @muratamuramura クラフトワーク今年5月のライブでもno nukes坂本教授バージョンのRadio-Activityやってた。12年経ってもこのバージョンを世界中でパフォーマンスしてる事実に感謝しかない。今日の苗場でもこれやるだろうし、何か感じたら浪江から楢葉まで6号線を車で走ってみるだけでも思う事はあると思います。 pic.twitter.com/sdE2QwnGAJ Manabu Murata

            クラフトワークの「フクシマ 放射能」パフォーマンスが差別なのか、Xで議論に
          • React Server Componentsの仕組み:詳細ガイド | POSTD

            React Server Components(RSC)は、ページの読み込みパフォーマンスやバンドルサイズのほか、Reactアプリケーションの書き方に近い将来大きな影響を与えることになる、素晴らしい新機能です。 Plasmicでは、Reactのビジュアルビルダーを開発しており、Reactのパフォーマンスには大きな関心を持もっています。 当社のクライアントの多くは、Plasmicを使用して高いパフォーマンスが求められるマーケティングサイトやECサイトを構築しています。 したがって、RSCはまだReact 18の初期実験機能ですが、Plasmicではその仕組みを詳しく調べています。 このブログ記事では、これまでに分かったことを紹介したいと思います。 Plasmicのメンバーによるツイートまとめもご覧ください。 React Server Componentsとは何か サーバサイドレンダリングとの

              React Server Componentsの仕組み:詳細ガイド | POSTD
            • Nimを知ってほしい2022

              Nimを知ってほしいという記事があり、Nimを知らなかった人々向けに最初の紹介として大変な貢献をしてくださりました。 しかしまだNimを使ったプロダクトというのも少なく、競プロではチラホラ見かけるものの、人々の中にある意識としては「気になっています」という域を越えられていないのも事実です。 そこで今回は企業での意思決定をする人や、5年以上の経歴があるエンジニア向けに、Nimを書いてみようと感じてもらうことを目的に、先日私が登壇したみんなのPython勉強会#79 『Pythonistaに伝えたいNimの魅力』に加筆して投稿してみたいと思います。 Nimって何? 2008年から開発が始まった新しいプログラミング言語です。 「Pythonに型が付いて、Goみたいに高速に、バイナリになってOSの実行環境に依存しないで動いてくれる言語ないかな〜」という全プログラマーの夢を叶えてくれる言語です。 書

                Nimを知ってほしい2022
              • 大規模リポジトリで高速にgit cloneするテクニック - DeNA Testing Blog

                ニッチな話題ですが、業務におけるCI/CDの現場では避けることのできない大規模リポジトリと戦うためのgit cloneのテクニックを紹介します。 この記事はDeNA Advent Calendar 2020の10日目の記事です。 CI/CDマニアの@Kesin11です。SWETではCI/CDチームの一員として、CI/CDの啓蒙活動やJenkinsを必要とするチームのサポートなどの業務を行っています。 はじめに おそらくどこの会社でも1つぐらいは巨大なリポジトリが存在しているかと思いますが、歴史あるリポジトリはgit cloneするだけで数分を要し、checkout後のリポジトリサイズがGB単位になることも珍しくないでしょう。業務で古くから存在するプロジェクトのリポジトリを触ったことがある方はきっと経験があるかと思います。 git cloneを実行するのは最初のセットアップ時だけなのであまり

                  大規模リポジトリで高速にgit cloneするテクニック - DeNA Testing Blog
                • PayPayカード、メインフレームの基幹システムをAWSに移行--業界で前例なき規模

                  PayPayカードは4月21日、メインフレームで運用していた基幹システムのインフラをAmazon Web Services(AWS)に移行して4月に本格稼働を開始したと同日開催の「AWS Summit Tokyo」で発表した。国内クレジットカード業界では前例のない規模といい、専務執行役員 最高技術責任者(CTO)の信太宏之氏がその舞台裏を語ってくれた。 同社は、1963年設立の国内信販を源流として楽天KC、KCカードと変遷し、現在はPayPayの完全子会社として「PayPayカード」ブランドのクレジットカード事業などを手掛ける。2022年3月に1000万会員を突破し、5500万の決済ユーザーを抱えるPayPayとの連携推進など事業拡大を図り、会員数の倍増を目指している。 2015年にソフトバンクグループとなってからビジネスが大きく変わり、「『ネット屋の金融を目指す』というトップのビジョンの

                    PayPayカード、メインフレームの基幹システムをAWSに移行--業界で前例なき規模
                  • explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ

                    はじめに こんにちは、バックエンドエンジニアのSakiです!バックエンドでPHPを書いたり、PHPという言語そのもののメンテナーもしています。 この度、注文データダウンロードAppのパフォーマンスをアップさせるため、とても入念にデータベースまわりの処理を見直しました。その中でも特に速度に関わってくる「index」についての考え方をまとめたいと思います。 この記事はMySQL(InnoDB)についての記事であり、他のRDBについては当てはまらない場合もあるということにご注意ください。 indexとは何か、おさらい ご存知の方ももちろん多いと思いますが、indexについておさらいさせてください。 indexとは辞書でいうところの目次に相当するもので、目的のデータをいち早く検索するために重要なものです。もし辞書に目次が存在しなかった場合、目的の情報を探すのにとても苦労するだろうというのは想像しや

                      explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ
                    • Next.js製アプリケーションのコンパイルを約100倍高速化した話

                      Next.jsアプリケーションの開発時においてコンパイルが長時間に及ぶ問題が起きていたので、その原因を特定した手法と採用した解決策について記載します。 今回は結果的にコンパイル時間を100倍以上高速化することができました。 前提 今回の対応は以下のバージョンで行いました。 React@18.2.0 next@12.2.4 tailwindcss@3.2.4 postcss@8.4.14 Next.js の開発中に、コンパイル時間が長くなっていることに気づく 最近、Next.jsアプリケーションのローカル開発時に待ち時間が長くて生産性が低いのでなんとかしたい、という相談を受け、調査を開始しました。 まず、おもむろにyarn devでプロセスを立ち上げてみたところ、以下のようなコンパイル時間を示すログが表示されました。 yarn dev yarn run v1.22.19 $ next dev

                        Next.js製アプリケーションのコンパイルを約100倍高速化した話
                      • JavaScript 実行エンジン V8 の JIT 出力コードを読んでみよう

                        Chrome の JavaScript はとても高速なことでも有名ですが、その実行エンジンは V8 と呼ばれます。V8 自体は独立したモジュールであり、Node.js 等にも使われております。 V8 が JavaScript を高速に実行する技術の一つが JIT (Just In Time) コンパイルです(一般的に JIT と呼ばれます)。これは、そのまま実行すると遅い JavaScript を実行中にリアルタイムに直接マシンコードに変換し(これが Just In Time と呼ばれる所以です)、途中からそのコードに入れ替えて実行することで高速化を達成しています。特に何度も実行される関数で効力を発揮します。 JIT という名前は聞いたことがあろうとも、実際に JIT がどのようなコードを実行しているのかを確認する機会は滅多にないでしょう。この記事では、実際に V8 の JIT の出力を確

                        • 知っておきたいトマホークについて7つのこと : 海国防衛ジャーナル

                          話題の「トマホーク」について。 導入反対派からは、「型落ちで遅い」と侮られる一方で、「飽和攻撃に使うから敵が危険」という懸念も抱かれる不思議兵器と化したトマホーク。もとより政治的なポジションで様々な主張があることは当然ですが、ここで我が国が導入するトマホークについてちょっとだけまとめておこうと思います。 トマホーク導入の目的なぜ今スタンド・オフ兵器が必要なのか型落ちトマホーク?亜音速で遅い飽和攻撃専守防衛との関係トマホークを超えるスタンド・オフ兵器 1. トマホーク導入の目的我が国は、スタンド・オフ防衛能力[1]を構築中で、トマホーク巡航ミサイルもこのスタンド・オフ兵器のひとつとして米国から調達します。 トマホーク取得にあたり、防衛装備庁が次のように言及しています。 島嶼部を含む我が国に侵攻する上陸部隊等に対処するために導入します。国産のスタンド・オフ・ミサイルを所要量整備するためには一定

                            知っておきたいトマホークについて7つのこと : 海国防衛ジャーナル
                          • スケールアウトの落とし穴から学ぶ、SREチームでのダッシュボードのアップデート術 - MonotaRO Tech Blog

                            どんなことが起こったのか? モノタロウのサイトの監視について レイテンシ監視 トラフィック監視 エラー監視 リソース監視 ログ トラブルシュートの進め方 発生検知 発生箇所の特定 根本原因の調査 強化 課題 おわりに SREチームの市原(@ichi_taro3) です。 モノタロウでは、www.monotaro.com という大規模なECサイトを自社で開発、運用しています。 Webアプリケーションの運用ではトラブルはつきものです。今回は、とあるトラブルシュート事例を軸に、どのように運用を改善しているのかについて紹介します。 どんなことが起こったのか? あるとき、モノタロウのWebサービス全体でレイテンシ悪化やバックエンドAPIへのタイムアウトの増加が頻発したことがありました。 当然これらは歓迎される状況ではなく、すぐに開発者やSRE、インフラチームの担当者が集まり調査を開始しました。現象は

                              スケールアウトの落とし穴から学ぶ、SREチームでのダッシュボードのアップデート術 - MonotaRO Tech Blog
                            • 「自分でLLMを動かすことでイメージがつきやすくなる」 ローカルで使うメリットと、日本語特化LLMを動かすために必要なスペック

                              システムから言語モデルがどのように使えるか、その時どういうことに気をつける必要があるかを考える「『ChatGPTなどの言語モデルはどのようにシステムで使えるか』きしだなおき氏」。ここで、LINE Fukuoka株式会社のきしだなおき氏が登壇。続いて、システムがChatGPTをどのように使うかと、日本語特化のLLMについて話します。 システムはChatGPTをどのように使うか きしだなおき氏:今、人間がどう使うかという話を中心に話しました。(次に)じゃあシステムからどう使うかとなると、APIを使った利用になりますね。 今日(2023年6月14日時点)朝起きたら「関数定義が可能になったよ」みたいなものが出ていて。今回の(セッションで話した)概要(の内容)とか…。(この概要は)昨日になってやっと(運営に)送ることができたんですけど、「どういう話をしようか」と思って朝起きたら、毎日状況が変わってい

                                「自分でLLMを動かすことでイメージがつきやすくなる」 ローカルで使うメリットと、日本語特化LLMを動かすために必要なスペック
                              • 【やじうまPC Watch】 Windows 11のタスクバーの時計で「秒」表示が完全に無効化されたワケ

                                  【やじうまPC Watch】 Windows 11のタスクバーの時計で「秒」表示が完全に無効化されたワケ
                                • はじめてのPostgreSQLモニタリング入門 / PostgreSQL 11 Monitoring

                                  多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた / TSKaigi TypeScript Multilingualization

                                    はじめてのPostgreSQLモニタリング入門 / PostgreSQL 11 Monitoring
                                  • AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス

                                    AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス Amazon Web Services(AWS)は、実験的な実装としてサーバレス環境のAWS Lambdaで使うことにフォーカスした軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開しました。 LLRTはRustで開発され、JavaScriptエンジンにはQuickJSを採用しています。 LLRTの最大の特徴は、現在のJavaScriptランタイムにおいて性能向上のために搭載されているJITコンパイラをあえて搭載せず、よりシンプルで軽量なランタイムとして実装することで高速に起動することにこだわっている点です。 これにより(Node.jsやDenoや

                                      AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス
                                    • スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで - スタディサプリ Product Team Blog

                                      こんにちは。SREのkyontanです。Rubyが大好きなのでRubyの話をします。ちなみにリクルートはRubyKaigi 2024へGold Sponsorとして協賛しています! *1。ぜひ沖縄でお会いしましょう。 これはあるアプリケーションのメモリ消費量を示すグラフなのですが、まさかgemを入れ替えるだけでこんなに嬉しい変化が見られるとは思っていませんでした。今日はそんなgemの話をします。 話は遡って2023年4月のある日、インターネットを眺めていたところ、ShopifyがpitchforkというOSSを公開したという情報が目に留まりました。 調べてみると、どうやら著名なRackサーバー実装の1つであるunicornの派生版であり、メモリ使用量の削減に特化しているらしいのです。 github.com これはスタディサプリ小中高のあのリソースドカ食いマイクロサービス第一位である api

                                        スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで - スタディサプリ Product Team Blog
                                      • MySQL(InnoDB)のSQLパフォーマンスチューニングのエッセンス

                                        はじめに MySQL(InnoDB)でSQLのパフォーマンスチューニングをするときに役に立つ知識をエッセンスとしてまとめました。結合(JOIN)やB-treeインデックスの探索の仕組み、実行計画の基本的な見方を紹介します。 想定する読者は、SQLのパフォーマンスを改善する必要があるが実行計画をみてもいまいちピンと来ない方です。インデックスの作成の経験や、複合インデックスやカーディナリティの知識があることを前提にしています。目標は、実行計画の内容がよく分からない読者が、実行計画をみただけでクエリが実行される様子をイメージでき、自信を持ってクエリの改善にあたることができるようにすることです。 ストレージエンジンはInnoDBを前提としています。また、インデックスはB-treeインデックスを想定しています。全文検索の転置インデックスや空間検索のR-treeインデックスについては触れません。 イン

                                          MySQL(InnoDB)のSQLパフォーマンスチューニングのエッセンス
                                        • LINEユーザー8300万人を対象とするアンケートを1週間で開発するには? コロナ禍におけるLINEの施策とフロントエンド開発

                                          2020年6月17日に行われたイベント「UIT meetup vol.9『The new normal for frontend』」に、LINE株式会社のフロントエンドエンジニアであるChanghee Kim氏が登壇しました。「コロナ禍、私たちにできたこと」という講演タイトルで、新型コロナ対策のための全国調査を行った際のフロントエンド開発について紹介しました。講演資料はこちら コロナ禍での仕事の変化 Changhee Kim氏:それでは「コロナ禍、私たちにできたこと」というタイトルで発表させていただきます。まず自己紹介ですが、Kim Changhee(キム・チャンフィ)と申します。LINEでは2018年からフロントエンドエンジニアとして働いています。 LINEではたくさんの外国籍社員が働いています。私もその1人で、韓国出身のエンジニアです。ふだんはLINE公式アカウントの管理画面アプリを開

                                            LINEユーザー8300万人を対象とするアンケートを1週間で開発するには? コロナ禍におけるLINEの施策とフロントエンド開発
                                          • setTimeout の真の力、あなたは知っていますか? - Qiita

                                            こんにちは。ぬこすけ です。 皆さんは「 setTimeout とはどんな関数でしょう?」と聞いたら、どう答えますか? おそらく、ほとんどの人が「指定した時間に処理が走るようにする関数」と答えるのではないでしょうか? function main() { console.log('動いたよ!!'); } // 大体 3 秒後に main 関数が動き出す setTimeout(main, 3000); 大雑把な理解としては問題ないですが、実は setTimeout の隠された能力はそれだけではありません。 setTimeout の隠された能力を知るとどんな良いことがあるのでしょうか? 例えば、次のような良いことがあります。 ブラウザに対する理解が深まる Web サイトのパフォーマンスを向上させることができる ドヤれる まず、 ブラウザに対する理解が深まります 。 かのアリストテレスはこう言い残

                                              setTimeout の真の力、あなたは知っていますか? - Qiita
                                            • MySQLでIn句に大量の要素を渡すとまずい理由

                                              概要 MySQLでIN句を使用する時はIN句に渡す要素数に注意する必要があるとよく先輩エンジニアの方から聞いていたのですが、実際に大量の要素を渡すと何がまずいのかはっきり分かっていなかったので調べてみました。 この記事で伝えたいこと MySQLでIn句に大量の要素を渡すとまずい理由 まずい状況を回避するために気をつけるべきポイント 先に結論 MySQLでIN句に大量の要素を渡すとインデックスを貼っていたカラムだとしてもフルスキャンが発生しスロークエリになる可能性があります。 フルスキャンが発生してしまう条件はテーブルに設定してあるインデックスの内容とrange_optimizer_max_mem_size の設定値に依存しており、MySQL8でデフォルトの設定値 & シンプルなテーブルであってもおおよそ数万件の要素数をIN句に渡すとフルスキャンが発生する可能性があると考えられます。 検証環

                                                MySQLでIn句に大量の要素を渡すとまずい理由
                                              • GYAO!トップページの表示パフォーマンス改善 〜 GraphQLアーキテクチャへの移行

                                                ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、映像サービスプロダクト本部の浜田(@narirow)です。 GYAO!では最近トップページの大規模な変更が行われました。本記事では映像サービスのバックオフィスを含む大規模な構成変更と、その成果として得られたスケーラビリティ・ページの表示速度の向上についてをお話しします。 GYAO!のトップページの特徴 映像サービスであるGYAO!のトップページは、豊富なラインアップの中から作品を厳選して掲載しています。有名作品をただ並べるだけではなく、レコメンデーションやターゲティングの技術を使って、閲覧者の趣向にあった作品を一覧しています。大量の画像が表示されていることに加え、縦に長いページ構成となっています。 課題と解決のアプロー

                                                  GYAO!トップページの表示パフォーマンス改善 〜 GraphQLアーキテクチャへの移行
                                                • 大量データの JSON serialize 処理を高速化し、レスポンスが倍速になった話 - freee Developers Hub

                                                  こんにちは、freee会計でワークフロー機能の開発をしている @mitubaEX です。 先日 freee会計のパフォーマンスチューニングに取り組みました。本記事では、調査の流れ、改善の事例を紹介します。 問題発覚までの流れ freee では自社の経理業務に freee会計を利用しており、その中でも経費精算の機能はほぼすべての従業員が利用しています。そのため日々多くのフィードバックをもらえます。そのフィードバックの1つで、「経費精算の一覧を開くのが遅い」という報告をもらいました。幸い表示件数を指定できるので調整すれば遅くはならないのですが、一覧性が下がってしまうため有用な解決策ではありません。 そこでワークフローを開発しているチームで、このパフォーマンスイシューの調査を始めました。 調査する まず事前調査として Datadog*1 で一覧画面を表示するリクエストの処理を確認しました。 一覧

                                                    大量データの JSON serialize 処理を高速化し、レスポンスが倍速になった話 - freee Developers Hub
                                                  • Record, replay, and measure user flows  |  Chrome DevTools  |  Chrome for Developers

                                                    Take a glance at the new Recorder panel (preview feature) with the video below. Complete this tutorial to learn how to use the Recorder panel to record, replay, and measure user flows. For more information on how to share the recorded user flows, edit them and their steps, see the Recorder features reference. Open the Recorder panel Open DevTools. Click on More options     > More tools > Recorder.

                                                    • パーシャルクローンとシャロークローンを活用しよう

                                                      Git のリポジトリが大きくなると、新しい開発者がクローンして作業を始めるのが難しくなります。Git は 分散 バージョン管理システムとして設計されています。つまり、リポジトリとのやりとりを管理する中央サーバーに接続しなくても、自分のマシンで作業ができるということです。これが完全に実現できるのは、すべての到達可能なデータがローカルリポジトリにある場合だけです。 もっと良い方法があったらどうでしょうか?Git の全履歴にあるすべてのファイルのすべてのバージョンをダウンロードしなくても、リポジトリで作業を始めることができたらどうでしょうか?Git の パーシャルクローンやシャロークローンという機能は、こういったケースで役立ちます。その一方でこれらの機能にはトレードオフもあります。これらの選択肢は Git の分散という性質によってもたらされる可能性を少なくとも一つは壊してしまうため、こうしたトレ

                                                        パーシャルクローンとシャロークローンを活用しよう
                                                      • JestでTypeScriptを高速化する | miyauci.me

                                                        JestでTypeScriptを高速化するJestでテストの高速化させる方法を紹介します。トランスフォーマーとしてesbuildやswcを紹介し、TypeScriptで遅くなりがちなトランスパイルを高速化させることで、テストを自体を高速化します。 はじめにesbuild の登場により、フロントエンドの世界は、開発環境により速度を求めるようになりました。vite の隆盛はその最たるものといってもいいでしょう。 esbuild や swc は高速な Go や Rust によって書かれ、更に多くの場合、Typescript の型チェックを省略しています。 tsc の型チェックは、大抵 IDE やワークフローで行われているので、これらを削ぎ落とすことで、純粋なコンパイラとして JavaScript への変換に特化しているということですね。 さて、Typescript コードをテストする際、多くの場

                                                          JestでTypeScriptを高速化する | miyauci.me
                                                        • 5000万件越えのRDS大量データをFirestoreに移行する勘所 - ANDPAD Tech Blog

                                                          はじめまして、開発部の@taikishiinoです。 2020年3月にアンドパッドにジョインし、約一年が経ちました。 現在、チャットサービスの開発・運用をするチームに所属しており、その中で最近、RDSからFirestoreへのデータ移行を行いました。 本記事では、その際の課題やそれに対して実際に行ったことなどを中心にご紹介していきます。 データ移行の背景 僕たちのチャットサービスを開発するチームでは、現在、プロダクトのデータベースをRDSとFirebase RealtimeDatabaseのミックスからFirestoreに移行する大規模プロジェクトが行われています。 旧環境「RDSとFirebase RealtimeDatabase」の課題として、 チャットのアクセスを処理しているAPIサーバーのバックグラウンド処理は複数プロダクト共通で利用しており、チャット起因で負荷が高まってしまうとい

                                                            5000万件越えのRDS大量データをFirestoreに移行する勘所 - ANDPAD Tech Blog
                                                          • 【SQL】ちょっとしたパフォーマンスチューニングまとめ - Qiita

                                                            SELECT table_a.id, table_a.name FROM table_a INNER JOIN table_b ON table_a.id = table_b.id; メリットとしては、 どちらかのテーブルのid列のインデックスを使用可能 サブクエリがないことで中間テーブルが作成されない しかし、インデックスがない場合はEXISTSの方が良い場合があります ソートの回避 SQLでは暗黙的にソートが発生する演算が存在するので、 パフォーマンスにも影響するため、ソートが必要ない場合は考慮する必要があります ソートが発生する演算 GROUP BY句 ORDER BY 句 集約関数(SUM, COUNT, AVG) DISTINCT 集合演算子(UNION, INTERSECT, EXCEPT) ウィンドウ関数(RANK, ROW_NUMBER 等) メモリ上でのソートだけではなく

                                                              【SQL】ちょっとしたパフォーマンスチューニングまとめ - Qiita
                                                            • 末尾呼び出し最適化とJavaScript

                                                              著者情報 : kota-yata.com プレゼン動画 : https://www.youtube.com/watch?v=BcaPCnWZuvY

                                                                末尾呼び出し最適化とJavaScript
                                                              • Ultimate Guide to Improving MySQL Query Performance

                                                                MySQL is certainly a powerful open source database management system, but even the most robust engine struggles when queries take an eternity to execute. For DBAs and developers, improving MySQL query performance is an ongoing goal. Efficient query performance is crucial for ensuring the smooth operation and optimal user experience of applications powered by MySQL databases. When businesses rely h

                                                                  Ultimate Guide to Improving MySQL Query Performance
                                                                • git statusが43秒かかっていたのを1秒に高速化する大規模Gitリポジトリの操作を高速化するためのscalarを紹介 | Act as Professional

                                                                  Git 2.38がリリースされました。 このバージョンから大規模Gitリポジトリの操作を高速化するscalarが同梱されるようになりました。 今回はこのscalarによって、どれぐらいGitの操作が高速化されるのかを簡単に検証します。 結論から言うとgit statusが約43秒かかっていたのが約1秒で操作できるようになります。 Install Git 2.38 Git 2.38からscalarが同梱されましたので、各自の環境にあわせてInstallなりVersionUpなりをしてください。 $ git --version git version 2.38.0 Before 大規模Gitリポジトリとしてchromiumを利用しました。 普通にgit cloneしてきて、git statusを実施すると約37秒かかります。 ❯ time git status On branch main Y

                                                                    git statusが43秒かかっていたのを1秒に高速化する大規模Gitリポジトリの操作を高速化するためのscalarを紹介 | Act as Professional
                                                                  • .NET 5 を使いたい理由6選 - Qiita

                                                                    速いので使いたい 私の場合、ここ数か月で一番素晴らしいニュースだと感じたブログがこれでした。 https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-5/ .NET5 がどれだけパフォーマンス向上のために努力してきたかという内容です。 ものすごいボリュームで読むのが大変でしたが、満足感のある記事でした。 この記事を読んだだけでも、早く.NET 5 を使いたいという気持ちになりました。 パフォーマンスが良くなったという知らせはいつでもエンジニアの気持ちを高揚させるのだと思います。 使いたい理由1 : GCが高速化した いくつものアプローチを重ねたことが記されていました。 GCが到達可能オブジェクトをマークする処理の情報を他のスレッドでも流用できるようにして、各スレッド内の同処理の作業量を一部省略可能にした G

                                                                      .NET 5 を使いたい理由6選 - Qiita
                                                                    • 【大原雄介の半導体業界こぼれ話】 CPU処理性能向上の歴史というか、苦闘の歴史

                                                                        【大原雄介の半導体業界こぼれ話】 CPU処理性能向上の歴史というか、苦闘の歴史
                                                                      • 【Next.js 11】next/script には JavaScript の基本がつまっていた

                                                                        修正(2021/06/17) ツイッターでご指摘をいただき、一部修正を加えました🙇 はじめに 2021/06/16 未明に Next.js の新メジャーバージョン v11 がリリースされました。 ほぼ同じタイミングで Next.js Conf (Next.js のカンファレンス)が開催されており、Zenn ユーザの中にはリアルタイムで見ていた人も多いのではないでしょうか。 Core Web Vitals をはじめとした 、パフォーマンス改善に関する話題や新機能が多く、Google のチームが Next.js で最適化のトライを行いながら、Nuxt や Angular に反映していくというのが印象的でした。最先端の取り組みが、普段メインで使用している Next.js で行われているということで、非常に嬉しい限りです。 Next.jd 11 全体のまとめは今後誰かが書いてくれると思いますので

                                                                          【Next.js 11】next/script には JavaScript の基本がつまっていた
                                                                        • jestでDBありのテストを高速化する

                                                                          課題link お手伝いしているシステムでNestJSを採用しているバックエンドのテストが遅いという課題があったので対処した。 前提link フレームワークDBテストランナーその他 テストの総数は700弱。 最終結果link 最終的には2段階の改修を経てローカルのテストが3倍速程度高速化した。 # before Test Suites: 145 passed, 145 total Tests: 2 skipped, 681 passed, 683 total Snapshots: 0 total Time: 925.063 s Ran all test suites. Done in 926.48s. # ts-jestを@swc/jestに置き換えた Test Suites: 145 passed, 145 total Tests: 2 skipped, 681 passed, 683 t

                                                                            jestでDBありのテストを高速化する
                                                                          • Laravelへの異常な愛情 または私は如何にして心配するのを止めてEloquentを愛するようになったか

                                                                            動画: https://youtu.be/QHjRGPw34EI?si=MWb-1v1i1S5MG0eE プロポーザル: https://fortee.jp/phperkaigi-2023/proposal/6211083d-fc51-49a3-8b27-485d8e231b1f

                                                                              Laravelへの異常な愛情 または私は如何にして心配するのを止めてEloquentを愛するようになったか
                                                                            • MySQL8.0のバックアップはどれがいいのか - CyberAgent SRG #ca_srg

                                                                              #SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。

                                                                                MySQL8.0のバックアップはどれがいいのか - CyberAgent SRG #ca_srg
                                                                              • RDSで接続数とメモリ消費量の調整事例 | 外道父の匠

                                                                                RDS Auroraを使っているところで、OSの空きメモリが少なくなったアラートが出たので、それについて細かく考察したら、それなりの量になったのでまとめた感じです。 別にAuroraじゃなくRDS MySQLでも、MySQL Serverでも同じ話なのですが、クラウドならではの側面もあるなということでタイトルはRDSにしております。 RDSのメトリクス監視 RDSはブラックボックスとはいえ、必要なメトリクスはだいたい揃っているので、CloudWatch を見たり……APIで取得してどっかに送りつけたりして利用します。 なので、まずは接続数とメモリについて復習です。 SHOW STATUS 的には Threads_connected です。 CloudWatch Metrics 的には、DBInstanceIdentifier → DatabaseConnections です。 見た感じ、ど

                                                                                  RDSで接続数とメモリ消費量の調整事例 | 外道父の匠
                                                                                • Linear – Plan and build products

                                                                                  Linear is a purpose-built tool for planning and building productsLinear is a purpose-built tool for planning and building productsPlan and build your productPlan and build your product Meet the system for modern software development. Streamline issues, projects, and product roadmaps. Linear is a purpose-built tool for modern product development. Streamline issues, projects, and product roadmaps.

                                                                                    Linear – Plan and build products