並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 32557件

新着順 人気順

高速化の検索結果41 - 80 件 / 32557件

  • pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator

    - はじめに - Pythonのパッケージ管理ツールは、長らく乱世にあると言える。 特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。 本記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれのツールに対してフラットな背景、技術的な説明を示しながら、所属企業内にてpoetry移行大臣として1年活動した上での経験、移行の意図について綴り、今後のPythonパッケージ管理の展望について妄想するものである。 注意:本記事はPythonパッケージ管理のベストプラクティスを主張する記事ではありません。背景を理解し自らの開発環境や状態に応じて適切に技術選定できるソフトウェアエンジニアこそ良いソフトウェアエンジニアであると筆者は考えています。 重要なポイントのみ把握したい場合は、各章の最後のまとめを読んで頂

      pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator
    • 何故 Fastly を使うのか

      数ある CDN のなかでも Fastly は圧倒的に優れた特性を持つものだと思うので、障害にかこつけてその優れた点を紹介していく。 キャッシュが消えるのがはやいCDN とは世界各地にあるキャッシュサーバーにコンテンツをキャッシュして配信してもらうことで、オリジンサーバーの負荷を軽減したりユーザーへの配信速度を上げたりするリバースプロキシのホスティングサービスだが、 Fastly の最大の特徴としてはそのキャッシュが消えるのが速い。普通の CDN が数十秒〜数分とかかるのにたいして 0.2 秒で全部消えることが保証されているし、キャッシュにたいしてキーをつけておけば(HTTP ヘッダーに Surrogate-Key って入れるだけ)特定のキーがついているキャッシュだけ 0.2 秒以内に消したりということができる。 これにより、 CDN による配信高速化の恩恵を受けながら、コンテンツをリアルタ

        何故 Fastly を使うのか
      • AWS 導入事例:任天堂株式会社、株式会社ディー・エヌ・エー | AWS

        全世界同時リリースする『マリオカート ツアー』の DB に Amazon Aurora を採用 高い品質が求められるゲーム配信基盤の運用工数を、大幅に削減 世界的ゲームメーカーである任天堂株式会社。2015 年ごろからスマートデバイス向けゲームアプリの開発をスタートした同社は、株式会社ディー・エヌ・エー(以下、DeNA)との協業により、全世界で 4 憶ダウンロードを超える『Super Mario Run』、『ファイアーエムブレム ヒーローズ』、『どうぶつの森 ポケットキャンプ』などにおいても、ゲームサーバーを含む各種機能を AWS 上に構築・運用してきました。2019 年に『マリオカート ツアー』をリリースするにあたり、データベースとして Amazon EC2 上で運用する MySQL から Amazon Aurora を採用。ユーザーが快適にプレイするために必要なパフォーマンスとスケーラ

          AWS 導入事例:任天堂株式会社、株式会社ディー・エヌ・エー | AWS
        • git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ

          個人用メモです。 「git gcってあんまし容量減らないよなぁ」 と思ったのが動機です。調べたけどパッと腑に落ちる記事がなかったので「自分で git のソースコード見た方がいいな」と急にモチベ発動してグワっと勉強しました。またついでに歴史改変の方法も調べたのですが、公式で既に WARNING が出てるほど非推奨化されてるfilter-branchを使用してる記事が多かったので、2021 年現在で多分一番推奨されてるfilter-repoを使ってやる方法もまとめました。 ちなみに容量減らしても高速化するかというとそこまで単純ではないです。そもそも減らさなくても partial clone で blob オブジェクトを必要最低限に指定して昔の blob をデフォルトで持ってこないようにしたり(--no-checkoutと併用するとより効果有る)、その後本当に自分が必要なやつだけ sparse-

            git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ
          • データベースを勉強したいあなたに送る技術書17冊(+11冊1講義7link)

            これはなに ども、レバテック開発部のもりたです。最近めっちゃ元気!! 今回は『データベースについて勉強したいあなたに送る技術書17冊(+11冊1講義7link)』として、もりたがここ半年くらいでわーっと集めたデータベース周りの書籍(とか)を紹介していきます。アプリケーションって結局はデータベースみたいなところがあると思うんですが、おれは長いことデータベースをどう学んだら良いのか分かりませんでした。同じような気持ちを抱えているITエンジニアの人もいると思うので、学習ロードマップと合わせて紹介していきます。 なお具体的な対象読者は業務でなんとなくSQL書いてるけど、ウィンドウ関数とか言われると分からんな……くらいの人です。 扱う領域と扱わない領域 扱う領域としてはだいたい以下 再入門本 SQL 内部構造 論理設計 周辺知識 データベース理論 その他高度なもの モデリング、NoSQL、分散データ

              データベースを勉強したいあなたに送る技術書17冊(+11冊1講義7link)
            • ITエンジニアの年収と責務の関係について体験交えて解説していくか|しのゆ

              Photo by Giorgio Trovato on Unsplash 年収800万は普通のエンジニアか否か。火種はいつものTwitterでしたが、いろんな意見が飛び交う興味深い話に各所でなっていたようですね。うーん、様式美。 ちなみに私の感覚だとこんな感じで、年収800万といえば、一般的なWEB開発においては複数プロジェクトの技術設計を行うアーキテクト級で、SIerではおそらく課長-部長級の給与になると思っております。年収800万はそういうラインです。 年収340 → 新卒 年収400 → 2年目(転職サイトゴロゴロ 年収500 → 普通のエンジニア 年収800 → アーキテクト、テックリード 年収1000 → PM、一部スタートアップエンジニア 私の感覚だとこれですね https://t.co/1bXuiPexRj — shinoyu (@shinoyu) February 9, 2

                ITエンジニアの年収と責務の関係について体験交えて解説していくか|しのゆ
              • SQLを速くするぞ―お手軽パフォーマンス・チューニング

                このサイトでは、SQL を高速化するためのちょっとしたパフォーマンス・チューニングの技術を紹介します。と言っても、『プログラマのためのSQL 第2版』の受け売りがほとんどなので、この本を読んでいただければ、本稿を読む必要はありません。 最初に、パフォーマンス・チューニングに関する全体の方針を述べておくと、それはボトルネック(一番遅いところ)を改善することです。当たり前ですが、既に十分速い処理をもっと速くしたところで、システム全体のパフォーマンスには影響しません。従って「処理が遅い」と感じたら、最初にすることは、SQL やアプリの改修ではなく、「どこが遅いのか」を調査することです。いきなりあてずっぽうで改善をはじめても効果は出ません。医者が患者を診るとき最初にすることが検査であるのと同じです。病因が何であるかを突き止めてからでないと、正しい処方はできないのです。 その基本を承知していただいた

                • 知っておくと便利な思考フレームワーク×35 | knowledge / baigie

                  世の中には、経営やマーケティングのためのフレームワークや論理モデルが数多く存在しています。これらを学ぶことは、ビジネスパーソンとしての私の基礎力に繋がるのではないかと思い、特に著名なフレームワークを中心に、作られた背景や基本的な特徴を少し調べてみました。 3C マッキンゼー・アンド・カンパニー在籍時代の大前研一氏が1982年に発表した著書『The Mind of the Strategist』の中で提唱したフレームワークです。環境分析の手法のひとつといえるもので、外部分析と内部分析を簡潔に組み合わせて、市場機会を発見することを目的としています。 1980年代、トヨタ、SONYなど日本の製造業が世界市場で高い競争力を持っていました。しかし、成功している企業には必ずしも優秀な戦略コンサルタントがいた訳ではなく、洞察力と直感力による戦略立案がなされていました。 経営やマーケティングに関する「天賦

                    知っておくと便利な思考フレームワーク×35 | knowledge / baigie
                  • 現代の僕「コンピュータが生まれた歴史知りたい」 - Qiita

                    TL;DR コンピュータの歴史も何も知らなかった私が、「ありがとう、先人たちよ」と言えるぐらいまでコンピュータの歴史を調べたので共有したいと思います。 最初の動機 「コンピュータってどうやって動いてるんだろう」 あなたは、この疑問に自信を持って答えられますか? そして、仮にコンピュータを知らない人類がいたとして、「コンピュータとは何か」を説明できますか? 私はできませんでした。 もちろん、コンピュータを使うことはできます。 こうして、キーボードをカタカタを打つと、見慣れた文字となってディスプレイに映すことが出来ます。 しかし、「使えること」と、「それが動く原理を説明すること」 は途方もなく大きな壁で隔てられています。 この記事では、コンピュータが動く原理を、その歴史をたどることで探っていきます。 コンピュータの歴史をまとめつつ、 「コンピュータってどうやって動くの?」 に答えられるようなも

                      現代の僕「コンピュータが生まれた歴史知りたい」 - Qiita
                    • 品質保証部門の陳腐化。そして陳腐化した品質保証は品質を悪化させる - 千里霧中

                      ※品質保証のエンジニアである筆者が自省・戒めのために書いた記事になります 品質管理(Quality Control)、品質マネジメントは国内では製造業を中心に発展し、プロダクトの競争力向上に貢献してきました。 JTCと呼ばれる旧来からのメーカーでは、その実績・年功の蓄積に応じて、独立性を保った品質管理・品質保証部門が権威を獲得し、今でもソフトウェア開発に強い影響力を保持するようになっています。筆者は複数のメーカーを転職やコンサルで巡って来ましたが、例えば品質保証部門が承認しないとマイルストーンで開発がブロックされる、プロダクトがリリースできないといった権限を持つ体制が、今なお普遍的に見受けられます。 この品質保証部門が権力を持ち、品質ゲートの門番として振る舞う体制は、今であっても、ある面で恩恵を提供しています。例えば次のようなものです: 法規制対応、標準化対応、その他公的なガバナンス要求へ

                        品質保証部門の陳腐化。そして陳腐化した品質保証は品質を悪化させる - 千里霧中
                      • もう諦めました。約8年間Macユーザーだった僕がWindowsに戻った理由 - すまほん!!

                        もともとWindowsを利用していた筆者ですが、MacBook ProがRetina化した際にMacユーザーデビューし、そこからMacを愛用していました。しかし、この度Windowsへ戻ることにしました。理由を紹介します。 なぜWindowsに戻るのか 理由は2つ。Catalinaが酷すぎるから、そしてMacBook Pro 2018が酷いから。 Catalinaは筆者の環境では作業中に突然電源が落ちたり、レインボーサークルが表示され操作不能になったり作業や仕事がままならないときが多くありました。Mojaveではこのような症状は一切起きなかったので、これはCatalinaの問題かと思います。 MacBook Pro 2018は熱が酷いです。ノートパソコンな故ある程度排熱が厳しい面がありますが、フルパワーで使うとCPU温度が100度を超えるときが頻繁にありました。その状態で使い続けると電源が

                          もう諦めました。約8年間Macユーザーだった僕がWindowsに戻った理由 - すまほん!!
                        • 【個人開発】爆速な賃貸物件の検索サービスを作った - Qiita

                          個人開発で 賃貸物件の検索サービス Comfy を作りました1。グラフや地図でサクサク絞り込める UI が特徴のサービスです。とにかく気持ち良い使い勝手を実現するために色々工夫しています。 既にリリースからは 4 ヶ月以上経っているのですが、改めてサービスの概要や、システム構成及び使用した技術・サービスをご紹介しようと思います。2。 サービスの概要 Comfy は日本全国の賃貸物件を検索できる Web サービス です。画面 UI は上の GIF 画像のような感じです。 こだわったポイントを色々書くよりも実際にさわって頂いた方が新感覚の UI や気持ちよさを体感頂けるかと思いますので、 実際のサービス をぜひお試し頂ければ幸いです! システム構成 図の通り、システムは大きく 3 つに分けられます。 フロントエンド バックエンド データ基盤 使用技術は図の通りではあるのですが、フロントエンドと

                            【個人開発】爆速な賃貸物件の検索サービスを作った - Qiita
                          • プログラミングを学ぶにあたって詰まったことと、そこから学んだこと - mizchi's blog

                            toyokeizai.net satoru-takeuchi.hatenablog.com 全然レイヤーが違うが、自分が何に悩んで、どういう風に理解したか、思い出しながら書き出してみる。 プログラミング歴 20歳からなので、現時点で10年ぐらいだが、中学生の時ちょっと触ったことがあった。 14 歳: 病気で入院したときに暇すぎて、2 週間ほど VBA を触った 大学 1 年: 大学の選択科目で Java, 夏休みに Python と Ubuntu の独習 大学 3 年: Python で自然言語処理のバイト 大学 4 年: Android アプリを作るバイト、就活ポートフォリオとして node/Websocket で MMO 一社目: Unity, ActionScript, Haskell, JavaScript 以降~: JavaScript/CoffeeScript/TypeScri

                              プログラミングを学ぶにあたって詰まったことと、そこから学んだこと - mizchi's blog
                            • 「Goの父」ロブ・パイクの「プログラミング5カ条」、ネット上で話題に

                              「UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている」「キャッシュはアーキテクチャではない。単なる最適化だ」などの語録を生んだ「Goの父」とも呼ばれるロブ・パイク氏の「プログラミング5カ条」について、ネット上で話題となっています users.ece.utexas.edu/~adnan/pike.html http://users.ece.utexas.edu/~adnan/pike.html Rob Pike's Rules of Programming (1989) | Hacker News https://news.ycombinator.com/item?id=24135189 パイク氏の「プログラミング5カ条」は以下。 ルール1:プログラムのどこで処理時間がかかるかはわからない。ボトルネックは意外な場所で発生するので、ボトルネックがどこにあるかを証明するまでは、臆測

                                「Goの父」ロブ・パイクの「プログラミング5カ条」、ネット上で話題に
                              • MacBookの生産性を向上させる、超強力なおすすめMacアプリ16選(有料&無料)

                                有料アプリ Macには非常に強力なサードパーティの有料アプリがラインナップされており、クリップボード、スクリーンショット、トラックパッドなどmacOSの各部分をそれぞれ大幅に強化できるものが揃っています。これら優秀な有料アプリの存在は個人的に長年Macを愛用している強い理由でもあり、どれも手放せないマストアイテムばかり。 これらの中には買い切りライセンス、アップデート期限付きライセンス、月額・年額サブスクリプションなど料金形態が細分化されていますが、初期費用を抑えて導入するのであればSetappというストアの利用もおすすめ。Setappは月額$9.99(約1,400円)の定額で幅広い有料Macアプリが使い放題のサービスで、初回は無料で7日間お試しする事も可能。 今回紹介するMacアプリの多くもSetapp経由で導入可能なので、気になった方は7日間の無料お試し期間を活用して色々と試してみるの

                                  MacBookの生産性を向上させる、超強力なおすすめMacアプリ16選(有料&無料)
                                • 株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版) | Recruit Tech Blog

                                  こんにちは! 2023年度エンジニア新卒の、吉田です。 株式会社リクルート 新卒エンジニアコースでは、部署への配属前に、BootCampと呼ばれる新人研修を行っています。 本日は2023年度の研修の内容を、実際に受講した新卒の立場から紹介させていただきます。 研修の内容については毎年反響をいただいていますが、今年度も一段と進化し、より充実した研修でした。 ページ下部に研修資料を公開していますので、ぜひ研修の雰囲気を感じ取っていただけると嬉しいです。 研修の概要 エンジニアコースの新人研修は、配属後にスピード感を持って成長できるようになることを見据え、 「さまざまな技術領域の講座を受け、興味関心を広げて、知らなかった好奇心に出会う」 「現場で求められる『仕事への取り組みスタンス』をつかむ」 「気軽に相談できる仲間(同期)をつくる」 の3点が目的とされています。 今年度は、入社前に行われたスキ

                                    株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版) | Recruit Tech Blog
                                  • コンピュータは難しすぎる|shi3z

                                    コンピュータは非常に便利なのだが、ほとんどのコンピュータユーザーがその能力の1%も使えてないのではないか。そんな気がするのだ。 というか、コンピュータの能力が人類の進歩に比べて上がり過ぎてる。 おかげでゲームもAIもビデオ編集も手軽になった。 MacBookの新しいCPUが発表されたのだが、40%高速化したというニューラルエンジンを一体全体何に使えばいいのか、人工知能の研究者である吾輩にもわからないので、これを使いこなすことができる人は将来登場するのだろうか。 コンピュータの能力を真に最大限引き出すには、残念ながらプログラマーになるしかない。しかも、マシン語レベルの最適化ができるプログラマーである。 プログラムさえ丁寧につくればコンピュータの持つ潜在能力は圧倒的に高い。だがコンピュータに比べて人間は頭が悪すぎる。 結局のところ、道具がどれだけ進歩しても使う側の人間の想像力が追いつかないと全

                                      コンピュータは難しすぎる|shi3z
                                    • 自作DBを始めたい人におすすめの本 - salachike:blog

                                      この記事は、慶應理工アドベントカレンダー2021の20日目の記事です。 カレンダー全日埋まってすごい 🎉🎉 adventar.org 「Database Design and Implementation」という簡素なDBをスクラッチで作っていく本に取り組んだので、その読了エントリです。 Database Design and Implementation: Second Edition (Data-Centric Systems and Applications) (English Edition) 作者:Sciore, EdwardSpringerAmazon こんな人におすすめ MySQLやPostgreSQLを使った経験はあるが、DBの理論やその実装はあまり詳しくない人に特におすすめです。特に自作〇〇*1に興味がある人は間違いなく楽しめると思います。単純に本に紹介されている理論

                                        自作DBを始めたい人におすすめの本 - salachike:blog
                                      • 図解Stable Diffusion

                                        ジェイ・アラマールのブログより。 AIによる画像生成は、(私を含めて)人々の度肝をぬく最新のAIの能力です。テキストの説明から印象的なビジュアルを作り出す能力は、魔法のような品質を持ち、人間がアートを創造する方法の変化を明確に指し示しています。Stable Diffusionのリリースは、高性能(画質だけでなく、速度や比較的低いリソース/メモリ要件という意味での性能)なモデルを一般の人々に提供することになったのは、この開発における明確なマイルストーンです。 AI画像生成を試してみて、その仕組みが気になり始めた方も多いのではないでしょうか。 ここでは、Stable Diffusionの仕組みについて優しく紹介します。 Stable Diffusionは、様々な使い方ができる汎用性の高いものです。まず、テキストのみからの画像生成(text2img)に焦点を当てます。上の画像は、テキスト入力と生

                                          図解Stable Diffusion
                                        • グーグル、高クオリティかつ高速なテキスト画像生成モデル「Muse」を発表

                                          グーグルは1月2日、従来のモデルよりも大幅に効率的でありながら、最先端の画像生成性能をもつテキスト画像AI生成モデル「Muse」を発表した。 競合モデルと同クオリティかつ超高速化 近年「Stable Diffusion」やOpenAIの「DALL-E 2」など、テキストから画像を生成するAIは驚くべき進化を見せている。グーグルもすでに「Imagen」と「Parti」という画像生成AIを発表しているが、「Muse」はそのどれとも異なる新しいモデルだ。

                                            グーグル、高クオリティかつ高速なテキスト画像生成モデル「Muse」を発表
                                          • Twitter で医師が拾われて Google のソフトウェアエンジニアになって 3 年半が過ぎました - nodchipの日記

                                            はじめに 『天才』はつくれる 競技プログラミング同好会競技就活部門 Google は世界最高のプログラミングスクールである 雇用形態と働き方 ソフトウェアエンジニア (SWE) Google でのお仕事 Google の面接の内容 Google の面接の問題の種類 コーディングクイズ 知識を吐き出す系 Open-ended question システムデザイン Google の面接の評価基準と対策方法 知識 技能 マインドセット Google の面接のタブー Google の面接の心構え 面接官への話し方 話す量 エリート意識 自己愛 優秀さ、知識量に対するこだわり Google の面接のテクニック 入力条件を確認する 入力の条件を簡単にできるか交渉する テストケースを作って提示する 関連する知識を答える 正しく修正する 競技プログラミングと Google の面接 おわりに はじめに nuc

                                              Twitter で医師が拾われて Google のソフトウェアエンジニアになって 3 年半が過ぎました - nodchipの日記
                                            • 生産性向上のために身に着けたい10のこと - Qiita

                                              はじめに こんにちは。 普段働いているとき「どうやったら生産性があがるんだろう?」と思うことが時々あります。 「生産性向上」といっても具体的にどうするのか、なかなかイメージがつきにくい方も多いと思います。 この度、最近色々なところで目にする「世界一流エンジニアの思考法」という本を読みました。 この本では主に生産性を向上させるためにアメリカの一流エンジニアが行っている習慣や考え方について書かれており、 そこから個人的に身に着けたい10のことをピックアップしました。 内容について 筆者の牛尾さんはマイクロソフトの現役ソフトウェアエンジニアです。 そこで出会う一流エンジニアたちの考え方や、実践していることについて書かれている内容となっています。 アメリカでの内容なので日本では考え方のことなる部分もあるかもしれませんが、参考になる部分は多く 働き方や思考法について考えさせられる内容です。 個人的に

                                                生産性向上のために身に着けたい10のこと - Qiita
                                              • 少しマジレスしたくなったので書いてみようかな。 まず、君は間違いなく中..

                                                少しマジレスしたくなったので書いてみようかな。 まず、君は間違いなく中途枠での採用となる。君の競争相手はすでに経験のある人たちだ。君はそのハンデを覆さないとならない。 ITは割と簡単にこの辺ひっくり返すことができるが、君のアプローチは採用するがわからしたら、ふーん、というものでしかない。 他の人たちには必ず+経験というブースターがついているので、Javaができます、Javaを使ってこんなことをしました、という話ができるからだ。 採用する側がほしいのはこんなことをしました、という部分なので、君には悪いが魅力がない。 なのでこのままだと無理だ、という回答になる。 こういった無理筋なことをひっくり返すには何をすればいいのか、という話に戻る。 大事なことをいくつか言うね。 君が何をやったのか 君に何ができるのか 君が何者かこれらがとにかく大切だ。勉強しまた!ではないからね まず、君が何をやったのか

                                                  少しマジレスしたくなったので書いてみようかな。 まず、君は間違いなく中..
                                                • jQueryからTypeScript・Reactまで - Viteで始めるモダンで高速な開発環境構築 - ICS MEDIA

                                                  Vite(ヴィート=フランス語で「速い」の意味)は2020年に発表された新しいフロントエンドのビルドツールです。 開発者がVue.jsの作者であるEvan You氏であるため、Vue.jsのツールであると誤解されることもありますが、プレーンなJavaScript(バニラJS)からVue.js・React・Svelteといった流行のフレームワークまで、さまざまな環境で利用できる汎用的なツールです。 位置付けとしてはwebpackのようなバンドラーと呼ばれるものに近い存在ですが、それだけではありません。この記事では、Viteを導入してプレーンなJavaScriptから、TypeScript+Vue.js・Reactといったフレームワークまで、快適な開発環境を手に入れる方法を紹介します。 この記事で紹介すること: Viteの特徴と基本の仕組み 基本の使い方 Vite + SCSS Vite +

                                                    jQueryからTypeScript・Reactまで - Viteで始めるモダンで高速な開発環境構築 - ICS MEDIA
                                                  • PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記

                                                    PHPとPythonとRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 本稿では3言語の連想配列の従来実

                                                      PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記
                                                    • ブラウザからDBに行き着くまでただまとめる

                                                      はじめに あなたはブラウザからデータベース(DB)に情報が行き着くまでにどんな技術が使われているか説明できますでしょうか? どのようなプロトコルが用いられ、どの技術を駆使してサーバと通信しているのか、Webサーバでは何が行われ、どのようにして負荷が分散されているのか、トランザクションはどのように管理されているのか、そしてデータベースではシャーディングや負荷対策のためにどのような対策が取られているのか… なんとなくは理解しているものの、私は自信を持って「こうなっている!!」とは説明ができません。 そこで今回は「大規模サービス」を題材としてブラウザからデータベースに至るまでの、情報の流れとその背後にある技術について、明確かつ分かりやすく解説していきたいと思います。 対象としてはこれからエンジニアとして働き出す、WEB、バックエンド、サーバーサイド、インフラ、SREを対象としております。 1.

                                                        ブラウザからDBに行き着くまでただまとめる
                                                      • HTTP/3はどうやってWebを加速するか? TCP、TLS、HTTP/2の問題とHTTP/3での解決策~Fastly奥氏が解説(前編)

                                                        HTTP/3はどうやってWebを加速するか? TCP、TLS、HTTP/2の問題とHTTP/3での解決策~Fastly奥氏が解説(前編) Webの世界では新しいHTTPの標準として「HTTP/3」の策定が進み、現在最終段階にあります。このHTTP/3はこれまでのHTTPをどのように改善し、高速化を実現していくのでしょうか。 2020年11月25日と26日にオンラインで開催されたFastly Japan主催のイベント「Yamagoya Traverse 2020」のセッション「Webを加速するHTTP/3」で、同社の奥一穂氏がHTTP/3の解説を行っています。 奥氏はHTTP/3に対応したHTTPサーバ「H2O」の開発を行うだけでなく、IETFでHTTP/3の標準策定にも関わるなど、日本においてもっともHTTP/3に詳しい人の一人であるといえます。 本記事では奥氏のセッションをダイジェストで

                                                          HTTP/3はどうやってWebを加速するか? TCP、TLS、HTTP/2の問題とHTTP/3での解決策~Fastly奥氏が解説(前編)
                                                        • DNSを変更するとネットワークは速くなるか | IIJ Engineers Blog

                                                          はじめに あえてどことは言いませんが、先日某サイトで「ネット速度を高速化する方法」としてDNSサーバの設定をpublic DNSサービスに変更する記事が出てました。その記事の結論としては「変更しても大差ない」というものでしたが、DNSでネットワークを高速化するというこのような記事は何年も前からときどき見かけます。いい機会なので、このあたりについてもう少し深く掘り下げて考えてみましょう。 ※この記事では、とくに明示しなければDNSサーバとはキャッシュDNSサーバ(フルサービスリゾルバ)を指すものとします。 DNS応答の速さ DNSの設定を変えることによりネットワークの速度が速くなるとすれば、(1)DNSそれ自体の応答が速くなるか、(2)その後のWebアクセスが速くなるか、のどちらか(または両方でしょう)。このそれぞれについて検討してみましょう。 前者が速くなると画像やJavascriptなど

                                                            DNSを変更するとネットワークは速くなるか | IIJ Engineers Blog
                                                          • 徐々に高度になるリングバッファの話 - Software Transactional Memo

                                                            リングバッファのイメージ図 1. リングバッファとは何か 機能的にはFirst In First Out (FIFO)とも呼ばれるキューの一種であるが、リング状にバッファを置いてそれの中でReadとWriteのインデックスがグルグルと回る構造をとる事によって容量に上限ができることと引き換えに高速な読み書き速度を得たものである。キューを単に実装するだけなら山ほど方法があって線形リストを使ってもいいしスタックを2つ使っても原理的には可能だ。その中でもリングバッファを用いた方法の利点はひとえに性能の高さでありメモリ確保などを行わないお陰でシステム系の様々な場所で使われている。 これの実装自体は情報系の大学生の演習レベルの難度であるが少し奥が深い。まずリングバッファのスタンダードなインタフェースと実装は以下のようなものである。 class RingBuffer { public: explicit

                                                              徐々に高度になるリングバッファの話 - Software Transactional Memo
                                                            • Amazon ECS でのコンテナデプロイの高速化

                                                              Amazon ECS でのコンテナデプロイの高速化 この記事は同僚の Nathan Peck (@nathanpeck)が書いた記事 “Speeding up Amazon ECS container deployments” を翻訳し、加筆・修正したものです. 元記事を ECS ユーザに紹介する機会が何回かあったので、せっかくなので翻訳することにしました. コンテナのオーケストレーションは非常に複雑な問題の一つです. アプリケーションコンテナのデプロイのために、相互にやり取りを行う複数の異なるコンポーネントが存在します. あなたのアプリケーションを実行したオーケストレータは、その実行されたアプリケーションが Web トラフィックを受け取る用意ができているかどうかについて判断する必要があります. その後そのアプリケーションはスケールダウンされたり、あるいは新しいバージョンのアプリケーション

                                                                Amazon ECS でのコンテナデプロイの高速化
                                                              • 0から始めるNode.jsパフォーマンスチューニング

                                                                近年の Node.js は API のサーバとしてはもちろん、Nuxt.js や Next.js といった SSR や BFF などフロントエンドのためのバックエンド言語としての人気が高まっています。 フロントエンドエンジニアがコンテキストスイッチ少なくバックエンドの整備ができることは非常に大きな利点です。 ですが、フロントエンド(ブラウザ側)とバックエンド(サーバ側)ではパフォーマンスチューニングで見るべき点が大きく違います。 しかし Node.js アプリケーションのパフォーマンスイシューの見つけ方などがまとまっている資料は少ないです。 そこで、本記事ではフロントエンドエンジニアが Node.js でパフォーマンスイシューを見つけ、改善するため自分が普段パフォーマンスチューニングを依頼されているときにみている基礎的なポイトをまとめていきます。 1. 計測ステップlink Node.js

                                                                  0から始めるNode.jsパフォーマンスチューニング
                                                                • 「スタートアップだからテストを書かない」は正しいか - An Epicurean

                                                                  スタートアップのCTOクラスの人がたまにそういうことを言っているのを聞くことがあります。もしくは「スピード優先だからテストを書かない」等です。 それは真ではなく、言ってしまえば、未熟だからテストを書「け」ない、のではないでしょうか。ただ、スタートアップという言葉に未熟であるという意味が含まれているのであれば「スタートアップだからテストを書かない」という問は真になるかも知れません。スタートアップは得てして未熟なものだし、それでも良いからです。 テストを書かないというジャッジをするのは構いません。でもそれは、スタートアップだからでもスピード優先だからでもない。自分達が未熟だからで、そこには向き合うべきだと考えます。状況のせいにするのではなく、徹底的に自分ごと化する。それがスタートアップに求められる姿勢です。少なくとも技術のトップが自分たちの技術力に向き合わないのはまずいでしょう。 「スタートア

                                                                    「スタートアップだからテストを書かない」は正しいか - An Epicurean
                                                                  • CloudflareのサーバーはもうIPを所有していません。では、どのようにインターネットに接続しているのでしょうか?

                                                                    データセンター内のIP共有サーバー間でIPを共有するという考え方は新しいものではありません。ルーター上のSource-NATで実現してきた方法です。残念なことに、必要なエグレスIPの数が非常に多く、また運用のサイズも大きいため、ルーターレベルでステートフルファイアウォールまたはNATに依存できません。また、当社は共有状態を好まないので、NATの分散インストールは避けたいところです。 代わりに選択したのは、ポート範囲によるサーバー間におけるエグレスIPの分割です。特定のエグレスIP に対して、各サーバーは使用可能な送信元ポートのごく一部(ポートスライス)を所有します。 インターネットからリターンパケットが届くと、それを正しいマシンに戻すルーティングをしなければなりません。このタスクのために、L4 XDPベースのロードバランサーである "Unimog "をカスタマイズしました。当社のL4 XD

                                                                    • データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし

                                                                      こんにちは、id:shallow1729です。最近はインフラ寄りなお仕事をよくやっていますがこれまでにいくつかデータ移行やデータ基盤構築などのバッチ処理のお仕事をしてきました。以前にも一度そういった経験を元に記事を書いたのですが、MySQLやシステムに関する知識が以前よりも増えた今もう一度書き直したいなと思いました。 なので今回はバッチ処理を書く時のテクニック2022版という感じです。今の仕事の関係でMySQLやrailsを前提にしている話が多いですが、おそらく他のデータベースを使っている人にも役に立つ話が多いのではないかと思います。ただ、今回の記事は経験に基づくものが多く、あまりよくないアイデアもあるかもしれません。改善点や間違いなどあればご指摘ください。 冪等性を持つように 冪等性とは端的に言えばある操作を複数回実行しても一回しか実行しなかった時と同じ結果になる性質の事です。長時間かか

                                                                        データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし
                                                                      • スマホから消えた「ワンセグ」、2021年は搭載機種ゼロに その背景を探る

                                                                        スマホから「ワンセグ」が消えつつある。これまで、ワンセグは国内メーカーのスマートフォンを中心に搭載機種が多かったが、2021年に発売されたスマホでワンセグを搭載した機種はゼロだった。なぜワンセグがスマホから消えたのか。その背景を探った。 フルセグ対応機は絶滅、ワンセグ対応機は1機種のみに ワンセグは、地上波テレビ放送のデジタル化に伴って2006年にスタートした携帯電話・カーナビ向けの放送サービスで、正式名称を「携帯電話・移動体端末向けの1セグメント部分受信サービス」という。地上デジタル放送の周波数の13分の1がワンセグに割り当てられており、320×240ピクセル(QVGA)という低解像度で、携帯電話の小型アンテナでも安定して受信できるようにした放送サービスだ。 スマートフォンでは、テレビ放送と同じ解像度の「フルセグ」が受信できる機種も登場した。2013年発売の「ARROWS NX F-06

                                                                          スマホから消えた「ワンセグ」、2021年は搭載機種ゼロに その背景を探る
                                                                        • 無料でYouTube・ニコニコ動画・Twitter・Instagramなどの動画を一発でダウンロード&MP3に変換などができる「Vividl」、最強ダウンローダー「yt-dlp」内蔵で初心者でも簡単に使える

                                                                          「Vividl」はYouTubeやニコニコ動画など数多くのウェブサイトからムービーをダウンロードできるアプリです。Vividlは数あるダウンロードアプリの中でも最高峰の機能を誇るコマンドラインツール「yt-dlp」を内蔵しており、初心者でも簡単操作でムービーをダウンロードできます。 GitHub - Bluegrams/Vividl: Modern Windows GUI for youtube-dl/ yt-dlp https://github.com/Bluegrams/Vividl ・目次 ◆1:Vividlのインストール手順 ◆2:Vividlでムービーをダウンロードする方法 ◆3:便利な設定 ◆1:Vividlのインストール手順 Vividlのインストーラーは以下のリンク先からダウンロードできます。 Vividl - Video Downloader - Browse Files

                                                                            無料でYouTube・ニコニコ動画・Twitter・Instagramなどの動画を一発でダウンロード&MP3に変換などができる「Vividl」、最強ダウンローダー「yt-dlp」内蔵で初心者でも簡単に使える
                                                                          • pixivのブックマークに関する負荷対策をしました - pixiv inside

                                                                            10/22(金) 追記 この記事で解説している内容について解説する勉強会を開催することとなりました。以下のconnpassよりお申し込みください。 pixiv.connpass.com 10/22(金) 追記 pixivのブックマークについて ブックマークDBの問題について 具体的な対策内容 論理削除廃止・index追加・ブックマークタグのテーブル分割 適応ハッシュインデックスの無効化 アプリケーションコードのリファクタリング・全発行クエリの列挙と見直し 大きな更新処理の非同期化 結果 あわせてよみたい pixivではサービスの成長に伴い、気に入った作品に対して付けることができるブックマークの総数が急速に増加しており、ユーザーの皆様に滞りなくサービスを提供し続けるためブックマークに関するデータベース(以後DB)の負荷対策が必要になりました。 2021年2月より対策を行うプロジェクトを発足し

                                                                              pixivのブックマークに関する負荷対策をしました - pixiv inside
                                                                            • 動画の雑音をほぼ消す技術、米国などのチームが開発 声のみが強調されすぎてアフレコみたいな結果に

                                                                              Innovative Tech: このコーナーでは、テクノロジーの最新研究を紹介するWebメディア「Seamless」を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。 米Dolby LaboratoriesとスペインのUniversitat Pompeu Fabraの研究チームが開発した「Universal Speech Enhancement With Score-based Diffusion」は、収録した映像のバックグラウンドノイズ(背景雑音)を強力に除去する技術だ。動画撮影した雑音を消し去り、話す声だけをくっきり残すことができる。強力すぎるため、映像がアフレコを挿入したみたいな仕上がりになってしまう。 実世界で録音した音声には必然的に背景の雑音や残響が含まれ、不快感や明瞭度の妨げになるためノイズ除去が行われる。最近では深層学習の登場によりノイズ除

                                                                                動画の雑音をほぼ消す技術、米国などのチームが開発 声のみが強調されすぎてアフレコみたいな結果に
                                                                              • 君はまだ平成のアーキテクチャを使ってるのか?僕はFirebaseと令和の時代に行くぞ。 - Qiita

                                                                                Help us understand the problem. What is going on with this article? メリークリスマス! この記事はFirebase Advent Calendar 2019の25日目の記事です。 これはなに? この1年、本を書いたり勉強会で登壇したりいろいろやってみた結果を振り返ってみると、本当に多くの人がFirebaseにふれるようになったなぁと思います。圧倒的な開発者体験の良さをもってバックエンドの関心事を一手に引き受け、アプリケーション開発を劇的に高速化してくれるソリューションとして、Webアプリでもモバイルアプリでもバックエンド第一の選択肢として確固たる地位を確立しつつあるのではないでしょうか。 それ自体はとてもいいことなのですが、Firebaseの強さを活かすためのアーキテクチャに関するアイデアはあまり表に出てきていないのではな

                                                                                  君はまだ平成のアーキテクチャを使ってるのか?僕はFirebaseと令和の時代に行くぞ。 - Qiita
                                                                                • 【閲覧注意】イライラ不可避なUIデザイン10選 - Qiita

                                                                                  弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 はじめに 人は見た目が9割 皆さん一度はこの言葉を耳にしたことがあるのでしょう。内面がどれほど素晴らしくても、外見がそれに見合わないと、なかなか本当の価値を認めてもらえないものです。 この話は人間だけでなく、アプリケーションにも当てはまります。どれだけ内容が素晴らしくても、見た目がイマイチだったり使い勝手が悪かったりすると、ユーザーに敬遠されてしまいます。(私は以前ネ⚪︎フリからア⚪︎プラに切り替えたのですが、使いにくく感じたため、すぐに元のサービスに戻しました) エンジニアの皆さん、優れた技術力を持ちながら、デザインが原因でユーザー離れを招いていませんか?そうならないよう

                                                                                    【閲覧注意】イライラ不可避なUIデザイン10選 - Qiita