並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 174件

新着順 人気順

LRUの検索結果1 - 40 件 / 174件

  • GAFAコーディング面接こんな感じでした - yambe2002’s diary

    このあいだ、GAFA数社のコーディング面接を受けて全落ちしました。後続のため、オンサイト面接がこんな感じだったよ、というのをストーリー風に仕立てて公開します。問題と会話はダミーですが、雰囲気はかなり近くできたと思います。なお実際の会話はすべて英語で、バーチャルでの実施でした。 メイン問題はLeetCodeのNo.1472をもとに作成。 https://leetcode.com/contest/weekly-contest-192/problems/design-browser-history/ ちなみに「ぼく」はIQ+30くらいの設定です。それではどうぞ。 入室と自己紹介 面接官「やあ!わたしはシンディ。会えて嬉しいよ!」 ぼく「こんにちは、シンディ。ぼくはyambe2002。調子はどう?」 面「超いい感じだよ。きみは?」 ぼ「ぼくも超いい感じさ」 面「それはよかった。わたしは部署Aのソフ

      GAFAコーディング面接こんな感じでした - yambe2002’s diary
    • 大学で読んだ情報科学関連の教科書 - ジョイジョイジョイ

      先日、博士(情報学)になりました。学部と大学院をあわせた 9 年間で読んだ情報科学関連の教科書・専門書を思い出を振り返りつつここにまとめます。私は授業はあまり聞かずに独学するタイプだったので、ここに挙げた書籍を通読すれば、大学に通わなくてもおおよそ情報学博士ほどの知識は身につくものと思われます。ただし、特に大学院で重要となる論文を読み書きすることについては本稿には含めておりません。それらについては論文読みの日課についてや論文の書き方などを参考にしてください。 joisino.hatenablog.com 凡例:(半端)とは、数章だけ読んだ場合か、最後まで読んだものの理解が浅く、今となっては薄ぼんやりとしか覚えていないことを指します。☆は特におすすめなことを表します。 学部一年 寺田 文行『線形代数 増訂版』 黒田 成俊『微分積分』 河野 敬雄『確率概論』 東京大学教養学部統計学教室『統計学

        大学で読んだ情報科学関連の教科書 - ジョイジョイジョイ
      • アメリカでソフトウェアエンジニアの職を探した - pco2699’s blog

        はじめに 前提 アメリカで働くためのビザ 業務経験 2023年のアメリカのテック業界の状況 具体的な就活のステップ ソフトウェアエンジニアのインタビューで求められることの抽象的な理解 レジュメ Job Descriptionから逆算してレジュメを作る 一枚におさめる 数字を用いてスケールとビジネスインパクトを示す なるべく隙間を埋める フォーマット添削ツールにかける レビューを受ける ネットワーキング・リファラル 応募する アメリカの就活はNumber Game 採用のトレンドを追う 時期を見計らう Linkedinで最新の求人を見つける方法 Promotedをすべて非表示にする "Most Recent"順にする 検索クエリを工夫する 設定をブックマークする 時間を決めて巡回する コーディングインタビュー対策 アルゴリズムの地図を脳内に作る 大学やCouseraでアルゴリズムの授業を取る

          アメリカでソフトウェアエンジニアの職を探した - pco2699’s blog
        • 10 年前に JavaScript で Flash Player を開発し買収された話

          この記事は、JavaScript で Flash Player の実現を頑張った(もしくは現在進行系で頑張っている)人たちの集う Flash Advent Calendar 2020 に参加しております。 私は過去に自分が設立した会社で ExGame という HTML5 実装の Flash Player(正確には Flash Runtime Engine)を開発し、その会社ごと DeNA に買収(M&A)されました。あまり出来ない体験であるのは間違いないので、Flash が終了を迎える今、改めて振り返ってみようと思います。 Flash Player の開発 今から 10 年前の 2010 年、ちょうど iPhone が普及し始めてきてガラケーのシェアが 8 割から 6 割くらいに落ちようとしていた時期に、私は Flash Player を JavaScript で実装していました。以前この

          • DBMSをGoで実装してみた - Sansan Tech Blog

            こんにちは。プロダクト開発部の荒川 id:ad-sho-loko です。突然ですが、皆さんはこんな疑問を持ったことはありませんか? データベースの内部実装はどうなっているのか? トランザクションとはどのようなアルゴリズムで実現されているのか? NoSQLが遅いのはなぜか? 古典的なデータベースとは内部的にどのように違うの? データベースを何かしらの形で利用しているのにも関わらず、意外と内部の仕組みを理解していない場合が多いかと思います。僕もそうです。*1 しかし、エンジニアたるもの、その仕組みを知ることは非常に重要です。僕もデータベースについて勉強しようといくつかの本やサイトを調べていたのですが、なかでもCMU(カーネギーメロン大学)のDatabase System Groupがアップロードしている講義が最も勉強になりました。 www.youtube.com そして本ブログでは、上記の講義

              DBMSをGoで実装してみた - Sansan Tech Blog
            • この半年やったこと、継続していること - from scratch

              syohex.hatenablog.com studio3104.hatenablog.com あまりにも同じことをしていたので「せっかくなので」と思って筆を執ることにする。 @syohex さん も @studio3104 さん も僕もだいたい同年代の人たちが同年代の sugyan や色々な方の影響を受けて同じことをしているというのはシンパシーを感じますね。 僕は今の仕事はフロントエンドエンジニアであることが多いのですが、「知識に垣根は作らない」をモットーにしているので、色々半年間挑戦してみました。 Leetcode この半年で545問解きました。 github.com sugyan が leetcode に取り組んでいたのも見てたのですが、僕の場合は自分の会社の面接でコード面接をやることがあり、コード面接の時に自分が知らないような事を問題として出すのは恥ずかしいな、という思いから勉強し

                この半年やったこと、継続していること - from scratch
              • なぜDiscordはGoからRustへ移行するのか - MISONLN41's Blog

                DiscordがGoで書かれていたコンポーネントをRustに移行しているらしい。Windowsの低レイヤ層の一部で採用されるなど、近年どんどん注目を集めているRustだが、DiscordはなぜRustを選んだのか。その最大の特徴である「パフォーマンスを妨げる要素であるGCを排した上でメモリセーフな言語」であることにクローズアップした面白い内容だったので、えっちらおっちら和訳してみた。英語が得意というわけでもなく、無理やり翻訳しているところも多いのであしからず。ほとんどGoogle翻訳のままというのは内緒。 追記: 7/31にはてブでいっぱいブックマークされたみたい。気になったブコメへの返信を末尾に追記した。 原文: Why Discord is switching from Go to Rust - Discord Blog Rustは様々な分野において第一級の言語になりつつあります。Di

                  なぜDiscordはGoからRustへ移行するのか - MISONLN41's Blog
                • 実装言語を「Go」から「Rust」に変更、ゲーマー向けチャットアプリ「Discord」の課題とは

                  ゲーマー向けの無料音声テキストチャットアプリケーション「Discord」を開発、提供するDiscordは2020年2月5日(米国時間)、アプリケーションを支える基盤サービスの一つである「Read States」をRust言語で再実装し、その結果サービスのパフォーマンスが大幅に向上したと公式ブログで明らかにした。 Read StatesサービスはこれまでGo言語で実装されていた。それにもかかわらず、なぜRead StatesをRustで再実装しようとしたのか、どのように再実装したのか、再実装によってどのようにパフォーマンスが向上したかを解説した。 Rustで再実装した背景とは Read Statesサービスの目的は、Discordユーザーがどのチャンネルのどのメッセージを読んだのかを追跡することだ。つまり、ユーザーがDiscordに接続したり、メッセージを送信したり、メッセージを読んだりする

                    実装言語を「Go」から「Rust」に変更、ゲーマー向けチャットアプリ「Discord」の課題とは
                  • Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装

                    Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装 Redisやmemcachedに代表されるインメモリデータストアは、高速なデータアクセスを要求される場面で使われています。 このインメモリデータストアを2022年の最新技術を用いて設計、実装することで、Redis/memcached互換を実現しつつRedisの25倍高速とする「Dragonfly」が登場しています(開発元のアナウンス、GitHub)。 Redisやmemcachedが登場した十数年前と比べて、現在ではCPUのマルチコア化やI/Oの高速化、メモリの大容量化など、ハードウェア技術が大きく進化しています。 これらを最大限活用する設計と実装を取り入れることでRedisやmemcachedよりも大幅な高速化と高効率化を目指したのがDragonflyです。 採用した主な技術

                      Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装
                    • キャッシュを活用するために必要な知識と勘所 - そーだいなるらくがき帳

                      どうもキャッシュバスターズ、 id:Soudai です。 Cache(以下、キャッシュ)は特定の場面に置いて劇的な効果を発揮し、様々な問題を解決する反面、新たなコンポートやミドルウェアが追加され、複雑性が上がり、運用のレベルが上がるため、扱いに注意する必要があります。 キャッシュを活用することで、パフォーマンスの改善や負荷軽減が行われ、コンピュータリソースの最適化によるサーバコストの削減や、レスポンスの改善によるユーザエクスペリエンスの改善がされます。 反面、その劇的な効果に毒され安易に多用すると、サービスが強くキャッシュに依存してしまい、非常に壊れやすくなり、運用が難しくなってしまいます。これをWeb界隈では「キャッシュは麻薬」と比喩されて、戒められてきました。 そのためキャッシュを使わずにサービスが運用できるのであれば使わないに越したことはないのですが、ある一定以上の規模になった際にコ

                        キャッシュを活用するために必要な知識と勘所 - そーだいなるらくがき帳
                      • Linux procfs 徹底入門

                        これは Linux Advent Calendar 2019の 15 日目の記事です。procfs について勉強したことをまとめます。 検証環境CentOS 8 を利用する。 ]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-80.el8.x86_64 #1 SMP Tue Jun 4 09:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux procfs とは疑似ファイルシステムのひとつ。 ディスク上に実体は存在せず、メモリから情報を取得する。 カーネルだけが知っている情報 (例えばシステム全体のロードアベレージ/CPU負荷/メモリ利用状況や、プロセスごとの情報)が取得できる。

                          Linux procfs 徹底入門
                        • Fastlyについて知らないかもしれない30のこと – TravelBook Tech Blog

                          いわくら君が書いてくれた通り 、トラベルブックではFastlyを導入しました。Fastlyについて初めて分かったことがたくさんありました。列挙してみたら30個もあったので、一個ずつ紹介してみることにします。 そもそもFastlyとは そもそもFastlyとはCDNのサービスです。現在では後述するCompute@Edgeを主力としたサーバーレス環境を推していますが、とにかくCDNです。今回は www.travelbook.co.jp ドメイン全てに対して適応し、全てのHTMLページをFastly経由にしました。 もともとVarnishでページをキャッシュしていた部分をFastlyに置き換えることで冗長化・安定化、また、パフォーマンスアップを図ります。 加えて、これまでキャッシュの対象外だったページも、この際TTL付きでキャッシュする、というのが今回やったことです。 詳しくはいわくら君の書いた

                            Fastlyについて知らないかもしれない30のこと – TravelBook Tech Blog
                          • How I built a modern website in 2021

                            How I built a modern website in 2021September 29th, 2021 — 34 min read For over half of 2021, I worked on a complete rewrite of kentcdodds.com. You're reading this on the rewrite of this site! Are you using dark mode or light mode? Have you signed in and selected your team yet? Have you tried to call into the Call Kent Podcast? This blog post isn't about these and other features of the new site, b

                              How I built a modern website in 2021
                            • eBPFに3日で入門した話 - CADDi Tech Blog

                              はじめに eBPF とはなにか ざっくり概要 「Packet Filter」なのに「Virtual Machine」? eBPFでなにができるか? カーネルイベントのフック ユーザーランドアプリケーションとのやりとり eBPFの主な用途 eBPFが注目される背景 eBPFの仕組み アーキテクチャと処理フロー カーネルモジュールとeBPFの違い eBPFプログラムの作り方 eBPFプログラムを作ってみる 環境の準備 Hello world もう少し複雑なサンプル その他のサンプル HTTPリクエストのダンプ TCP接続先の調査 tcplife dirtop filetop oomkill まとめ eBPFはなにに使えるか 参考サイト はじめに こんにちは、Platformチームの小森です。 eBPF (extended Berkley Packet Filter) について、2022年8月2

                                eBPFに3日で入門した話 - CADDi Tech Blog
                              • Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run

                                KOBA789 です。みなさん DBMS は好きですか。私は好きです。 最近、自作 DBMS をずっと作っていて、ようやく最低限の機能ができたので公開をしました。 (とはいえコードを書いていたのは正味2日ほど。設計と勉強に2週間かかった) github.com この記事ではこれを作った目的と、そのちょっとした詳細についてご紹介します。 目的 Disk-Oriented DBMS の学習に適している Rust で書かれた実装が欲しかった、というのが理由です。 DBMS の勉強に適している実装というのは意外と多くありません。 MySQL や PostgreSQL といった有名な実装は実用的である一方でコード量は非常に多く、また細かな最適化によって教科書的なアルゴリズムと実際のコードの差が大きくなっているため、初学者にとっては構造を把握しづらくなっています。 教科書的な実装の Disk-Orie

                                  Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run
                                • キャッシュアルゴリズムの比較 - falsandtruのメモ帳

                                  アプリケーションなどOSより上に作られる高水準のプログラムではハードウェアの速度と容量を考慮しない数学的キャッシュアルゴリズムが使われ主にこれを本稿の対象とする。キー探索用マップと明示的キャッシュサイズ(対となる値が保持されているキーのサイズ)は計算量に含まれない。 LRU 最も単純かつ高性能な基礎的キャッシュアルゴリズム。そのため性能比較のベースラインとして常に使用される。逆に言えば実用最低水準の性能である。スキャン耐性皆無でスキャン一発でキャッシュとヒット率がリセットされゼロからやり直しになるため非常に脆く不確実な性能となりベンチマークにおける性能が表面上さほど悪くなく見えても実際の性能はこのような外乱により大きく低下しやすい。このためLRUより高度な主要アルゴリズムはすべて大なり小なりスキャン耐性を備えている。ちなみにプログラミング言語最大のパッケージマネージャであるJavaScri

                                    キャッシュアルゴリズムの比較 - falsandtruのメモ帳
                                  • Redis Explained

                                    Redis Explained InfographicWhat is Redis?Redis (“REmote DIctionary Service”) is an open-source key-value database server. The most accurate description of Redis is that it's a data structure server. This specific nature of Redis has led to much of its popularity and adoption amongst developers. 👋🏾You are reading Architecture Notes! Crave some byte-sized bites of this? Join me on Twitter. If it's

                                      Redis Explained
                                    • プライマリーキー(primary key)はシーケンシャルな値で良いと思うよ - 角待ちは対空

                                      zenn.dev を読んでの感想です。「シーケンスナンバーをPKにする」以外の項目については言及しませんが、言及しないことは正当性や妥当性を保証していることにはならないです。 InnoDB(MySQL)を想定してます。が、原理は割と一般的なので他のDBでも適用できることが多いと思います。 追記:一般的とは分散でないような"普通の"RDBMSを想定してましたが、分散システム(distributed systemないしreplicated system)のような場合では話が違います。 なぜシーケンシャルな値がよいか 端的にいうと書き込み操作時にバッファープール(baffuer pool)に読み混む必要のあるページが少なくて済むからです。その結果書き込み操作時にバッファープールにページが存在する可能性が高くレイテンシー的に有利になる可能性が高いです。 バッファープール、ページ、btreeなど具体

                                        プライマリーキー(primary key)はシーケンシャルな値で良いと思うよ - 角待ちは対空
                                      • Linux 6.1の注目機能「MGLRU」―メモリ管理に取り入れられたエイジングシステム | gihyo.jp

                                        Linus Torvaldsは12月11日(米国時間⁠)⁠、前週の告知どおりに「Linux 6.1」の正式リリースをアナウンスした。 Linux 6.1 -Linus Torvalds Linux 6.1はメインライン開発ではじめてRustを採用したことが大きな話題となったが、そのほかにもユーザ空間におけるメモリサニタイザーツールに似た動的エラー検出の「KMSAN」やB-treeベースのデータ構造「Maple Tree⁠」⁠、AMDの新しいPMFドライバのサポートなど多くのアップデートが行われている。Googleの開発者がメインラインへのマージを提案してきた「MGLRU(Multi-generational LRU⁠)⁠」もそのひとつで、古参のカーネル開発者であるAndrew MortonもMGLRUのメインライン化をバックアップしてきた。 Linuxカーネルではメモリ管理に「LRU(Le

                                          Linux 6.1の注目機能「MGLRU」―メモリ管理に取り入れられたエイジングシステム | gihyo.jp
                                        • データベースライブラリTkrzwの初版リリース - 豪鬼メモ

                                          データベースライブラリであるTkrzwの初版をリリースした。Kyoto Cabinetの正式な後継製品である。本家のサイトはここである。設計目標の通り、高速かつ堅牢で多目的に使える実装になったと思っている。私の下手な英文を読ませるのも忍びないので、ここに概要を書いておこう。 ダウンロードとインストール このディレクトリにソースファイルのパッケージが置いてあるので、ダウンロードする。あとは典型的なインストール手順を踏襲すればよい。 $ tar zxvf tkrzw-0.9.1.tar.gz $ cd tkrzw-0.9.1 $ ./configure $ make $ make check $ sudo make install自分の環境でもテストをしたいという人は以下のコマンドを実行してもよいし、しなくてもよい。テストケースはGoogle Testを使って書かれているので、予めそれをインス

                                            データベースライブラリTkrzwの初版リリース - 豪鬼メモ
                                          • オミクロン株「悪いところ総取り」 専門家指摘

                                            政府が監視体制を強める新型コロナウイルスの新たな変異株「オミクロン株」は、感染力が高まったり、ワクチン効果を弱めたりする可能性が指摘されている。その特徴を「主要な変異株の悪いところを総取りした」と表現する専門家もいるが、全体像は見えておらず解析が急がれている。 オミクロン株は、ヒトの細胞への感染の足掛かりとなる突起状の「スパイクタンパク質」に約30カ所の変異を持つ。これまで検出された変異株の中で最も多様な変異がある。世界中で広まったデルタ株やアルファ株などの特徴である「K417N」「T478K」「N501Y」などの変異があり、東京農工大の水谷哲也教授(ウイルス学)は「これまでの主要な変異株の悪いところを総取りしたような変異株だ」と指摘する。 ただ、詳しい性質は明らかになっていない。世界保健機関(WHO)は28日の声明で、オミクロン株について、南アフリカの一部地域で感染者と入院率が増えている

                                              オミクロン株「悪いところ総取り」 専門家指摘
                                            • Remix vs Next.js

                                              Easily the biggest question we get asked is something like: How is Remix different from Next.js? It appears we have to answer this question! We'd like to address it directly and without drama. If you're a fan of Remix and want to start tweeting smug reactions to this article, we kindly ask that you drop the smugness before hitting the tweet button 🤗. A rising tide lifts all boats. We've been frie

                                                Remix vs Next.js
                                              • キャッシングの課題と戦略

                                                Amazon で長年にわたってサービスを構築してきた中で、新しいサービスを構築するけれども、このサービスはそのリクエストを満たすためにいくつかのネットワーク呼び出しを行う必要があるというシナリオのさまざまなバージョンを経験してきました。おそらく、この呼び出しは、リレーショナルデータベース、Amazon DynamoDB などの AWS のサービス、または別の内部サービスに対するものです。単純なテストまたは低リクエストレートでは、サービスはうまく機能しますが、問題もあることにも気付きました。問題は、この他のサービスへの呼び出しが遅いこと、または呼び出し量が増えるとデータベースのスケールアウトに費用がかかることです。また、多くのリクエストが同じダウンストリームリソースまたは同じクエリ結果を使用していることに気づいたため、このデータをキャッシュすることが問題の解決策になると考えています。キャッシ

                                                  キャッシングの課題と戦略
                                                • 「多層キャッシュサーバー」を2人×2日で爆速開発 インフラリソースを10分の1にした、Go製サーバー開発の裏側

                                                  サイバーエージェントグループ横断でGoに関する知見を共有し合う社内勉強会「CA.go」。今回はその社外版として、「FIFA ワールドカップ カタール 2022」を全64試合無料生中継をした新しい未来のテレビ「ABEMA(アベマ)」のチームがGo活用事例を紹介しました。ここで登壇したのは、江頭宏亮氏。「ABEMA」のレコメンドに対する大規模アクセスを支えるGo製サーバー開発について発表しました。全2回。後半は、「Yatagarasu」に対するリクエストの具体例の説明と視聴者からの質問に答えました。前回はこちら。 Yatagarasuに対するリクエストの具体例を説明 江頭宏亮氏(以下、江頭):次に、オリジンのYatagarasuへのリクエストを具体的にどのようにやっているのか、説明したいと思います。 先ほど見せたスクリーンショットだと、右側にモジュールが3つ並んでいたと思いますが、実際は縦スク

                                                    「多層キャッシュサーバー」を2人×2日で爆速開発 インフラリソースを10分の1にした、Go製サーバー開発の裏側
                                                  • プログラミング言語 Ruby30 周年記念イベント レポート

                                                    プログラミング言語 Ruby30 周年記念イベント 2023 年 2 月 25 日、Ruby 誕生 30 年を記念したイベントが開催されました。 2020 年から流行した新型コロナウィルス感染症の影響で、一時期のイベントはすべてオンラインでの開催が主流となっていました。 本イベントも当初はオンライン形式で予定されていましたが、当日は松江オープンソースラボをメイン会場としてオフラインとオンラインのハイブリッドで開催されました。 開催日 2023-02-25 (土) 13:40 - 17:30 開催場所 松江オープンソースラボ / YouTube 配信 主催 一般財団法人 Ruby アソシエーション / 一般社団法人 日本 Ruby の会 公式ページ プログラミング言語 Ruby30 周年記念イベント 進行 :前田修吾 公式ハッシュタグ #ruby30th 動画 アーカイブ動画 オープニング

                                                    • Web配信の技術 ―HTTPキャッシュ・リバースプロキシ・CDNを活用する

                                                      この本の概要 HTTPキャッシュ,リバースプロキシ,CDNなどWeb開発で大切な「配信」の技術。 重要な技術ながら,現場では知見のあるエンジニアが少なく,なんとなくで運用されていたり,導入が遅れていたりします。 本書では,HTTPキャッシュの基礎から解説し,一冊でしっかり配信が学べます。 速くて落ちないWebサイト/Webサービス/Web APIの実現はもちろん。キャッシュ事故やセキュリティ上の問題を防ぐのにも役立ちます。 こんな方におすすめ CDNやリバースプロキシの導入に興味のあるアプリケーションエンジニア・インフラエンジニア 配信技術を学びたいインフラエンジニア Webサービスを高速化させたいフロントエンドエンジニア 第1章 はじめに 1.1 本書の対象と目的 1.2 本書の構成 1.3 下準備 第2章 配信の基礎 2.1 配信のとらえ方 2.1.1 配信の根幹 2.2 標準仕様でや

                                                        Web配信の技術 ―HTTPキャッシュ・リバースプロキシ・CDNを活用する
                                                      • Remix vs Next.js - React Japan

                                                        私たちに最も寄せられる質問は次のようなものです: RemixはNext.jsと一体どう違うの? この記事では私たちはこの質問を答えるべきのようです!私たちはこの議題をストレートに、そして何の感情的な議論なしに言及していきたいと思います。もしあなたがRemixのファンになってくれていて、この記事を見て、今すぐにでもNextよりもRemixの方がすごいぜ 😎、と自慢するようなツイートをしたい気持ちが出てきたとしても、もしできれば、自慢するというような形ではツイートをなるべくしないようにお願いしたいです。私たちは Vercel で働いている方々と Vercel が立ち上がる前から友達です。そして、彼らのやっていることはとても素晴らしく、私たちは彼らを尊敬しています。 ただ、勘違いをしてほしくないのは、私たちはRemixはNext.jsよりも優れている特徴があると思っています。(そうでなければ、

                                                          Remix vs Next.js - React Japan
                                                        • 間接参照を巨大仮想メモリで飲み込む - Software Transactional Memo

                                                          この記事はデータベース・システム系 Advent Calendar 2023の3日目の記事である。昨日の記事も僕でした。 間接参照を巨大仮想メモリで飲み込む メインメモリはハードディスクやSSDより容量が小さく、この問題は当面は解決の目処が立たない。 そもそも今のDRAMより速くて安くて大きいストレージが仮に発明されてもそれがDRAMに取って代わるメインメモリの立ち位置になるだけであってその下のレイヤーには依然としてそのメインメモリより安くて大きなストレージが置かれる事になる。大局的な観点ではストレージの階層構造とは経済活動の鏡像でもある。 バッファプール さて、耳にタコができるほど繰り返しているが現代のデータベースはディスクなどの永続ストレージにデータの本尊が保存され、メインメモリはそれに対する読み書きを高速化するためのデータ一時置き場としての役割を担当している。 代表的なRDBMSは3

                                                            間接参照を巨大仮想メモリで飲み込む - Software Transactional Memo
                                                          • MySQLで全文検索機能を使う際のパフォーマンスについて調査してみた - iimon tech blog

                                                            こんにちは、CTOの森です。iimonは今回が初のアドベントカレンダー参加です! 本記事はiimonアドベントカレンダー1日目の記事となります。 はじめに 検証した環境 MySQL/mecabのインストール 大量のデータを入れる 1レコードのINSERTにかかった時間 検索してみる 検索文字列が「出来事」の場合 インデックスなし N-gram(bi-gram) IN NATURAL LANGUAGE MODE IN BOOLEAN MODE MeCab IN NATURAL LANGUAGE MODE IN BOOLEAN MODE 検索文字列が「チューリングはロンドンのリッチモンドに住み」の場合 まとめ 参照したサイト 最後に はじめに 今回はMySQLで全文検索機能を使う際のパフォーマンスについて書こうと思います! 全文検索をちゃんと使うのであればElasticsearchやSolrな

                                                              MySQLで全文検索機能を使う際のパフォーマンスについて調査してみた - iimon tech blog
                                                            • PyCon JP 2019で見たセッションの聴講記録20個分 / 資料・動画・関連リンクなど - フリーランチ食べたい

                                                              2019年9月16日/17日に開催されたPyCon JP 2019で自分が直接/YouTubeで聴講したセッションについてのまとめです。主に下記の内容を書いています。 スピーカーURL 配信動画 スライド 発表内で出てきたライブラリなどのURL 自分の感想 「あのセッションで話していたライブラリなんだっけ」と思い出したい方やざっくり内容が知りたい方に読んでいただければ幸いです。PyCon JPに自分も発表者としても参加し、スタッフとして参加し、Webサイトの開発もしたので、それについては改めて書きたいと思います。 pycon.jp PythonとAutoML / 芝田 将 スピーカー: https://twitter.com/c_bata_ 動画: https://www.youtube.com/watch?v=Whkwu46DgBs スライド: https://www.slideshar

                                                                PyCon JP 2019で見たセッションの聴講記録20個分 / 資料・動画・関連リンクなど - フリーランチ食べたい
                                                              • QUICとNATと

                                                                Copyright © NTT Communications Corporation. All Rights Reserved. QUICとNATと NTT Communications Yuya Kawakami, SDN Tech Lead, Enterprise Cloud 2.0 2021-07-16 JANOG48 ライトニングトーク Copyright © NTT Communications Corporation. All Rights Reserved. ● 個人の「自主的な研究の成果の発表」だと受け止めてください ● QUICやNATの専門家ではありません ● 誤りやコメントがあれば是非ご連絡ください、事後資料で訂正します ● 時間が足りないので爆速で話します はじめに 2 Copyright © NTT Communications Corporation. All

                                                                • 広告配信サーバーにおける DynamoDB Accelerator (DAX) 活用事例の紹介 - クックパッド開発者ブログ

                                                                  メディアプロダクト開発部マーケティングサービス開発グループの我妻謙樹です。クックパッドにおける広告開発システム全般の新規開発・保守・運用を担当しています。 マーケティング事業全般やチーム体制については、前回の記事でご紹介しました。こちらを読んで頂ければ、メディアプロダクト事業部をめぐる組織体制や、マーケティングサービス開発グループの技術スタックについて概要を掴んでいただけると思います。 今回は、その記事でも触れた広告配信サーバーの技術的な取り組みについてご紹介します。その中でも特に、Amazon DynamoDB Accelerator (DAX) の活用に焦点を絞ってお伝えします。 背景 従来、広告をアプリ側で表示させるためには、マーケティングサービス開発グループがオーナーとして開発している広告 SDK を、クックパッド本体アプリに組み込み、非同期に広告配信サーバーにリクエストを行うこと

                                                                    広告配信サーバーにおける DynamoDB Accelerator (DAX) 活用事例の紹介 - クックパッド開発者ブログ
                                                                  • XDP入門

                                                                    こんにちは.閃光のハサウェイが配信開始されたので早速視聴しました.メッサーがいいですね. 前回もXDP関連の話題でしたが,今回はXDPに入門します. XDPを学習する際のロードマップやつまりどころの解消になればと思います. # 2023-12-30 加筆 本記事を公開して約 2 年が経過しました. この加筆で古くなってしまった情報を修正しています. 差分は このブログの Github の PR (opens new window) を見てください. この 2 年間で eBPF 及び XDP への注目はさらに高まったように感じます. 取得できる情報も充実してきました. 特に O'reilly より発売された 入門 eBPF (opens new window)(原書: Learning eBPF (opens new window)) は非常に充実した内容になっています. 日本語でこれらの情

                                                                    • ElastiCache Redisのメモリ溢れが起きたときの挙動、正しく理解できてますか?? | DevelopersIO

                                                                      こんにちは(U・ω・U) ElastiCacheおじさんを目指して日々鍛錬を続ける深澤です。 立派なElastiCacheおじさんに成長することを決意したラスベガスでの出来事でした。 — 深澤俊 (@shun_quartet) December 4, 2019 皆さん、ElastiCacheのRedisにどんどん情報を保存していって、メモリが溢れたらどんな挙動になると思いますか?ざっくりEvictionが発生してキーが削除されていくんじゃないの?と思われている方も多いかと思います。ですが実はそうとも限らないんですよ。今回はEvictionってなんだろう?というところから、メモリが溢れた場合の挙動について整理していきたいと思います。 Evictionとは?? どんどんデータが保存されて行ってmaxmemoryに到達した際、発生する挙動です。ちなみにCloudWatchのメトリクスで検知が可能

                                                                        ElastiCache Redisのメモリ溢れが起きたときの挙動、正しく理解できてますか?? | DevelopersIO
                                                                      • ある個人開発 OSS の歩み: 5 歳になった Janome のこれまでと,これから - Speaker Deck

                                                                        Transcript ͋Δݸਓ։ൃ OSS ͷาΈɿ 5 ࡀʹͳͬͨ Janome ͷ͜Ε·Ͱͱɼ͜Ε͔Β PyConJP 2020 ଧాஐࢠ ࣗݾ঺հ ଧాஐࢠ ڵຯɿݕࡧʢຊۀʣɼػցֶशɼࣗવݴޠॲཧ ❤ OSS : Janome ։ൃऀɼApache Lucene committer ॴଐɿʢגʣLegalForce ݚڀ։ൃΤϯδχΞ @moco_beta Agenda Janome ͷ঺հ ॳظϦϦʔε͔Β͜Ε·Ͱ 0.4.0 ϦϦʔεͷ͓஌Βͤ ͜Ε͔Β΍͍͖͍ͬͯͨ͜ͱ https://mocobeta.github.io/janome/ 扉絵の この子は絵師さんに描いてもらいました (*´Ŗ`*) Hello, Janome $ pip install janome $ python >>> from janome.tokenizer import Tokenizer >

                                                                          ある個人開発 OSS の歩み: 5 歳になった Janome のこれまでと,これから - Speaker Deck
                                                                        • 【画像】 ダイヤモンド・プリンセス号で作業する自衛隊員の服装をご覧ください : 痛いニュース(ノ∀`)

                                                                          【画像】 ダイヤモンド・プリンセス号で作業する自衛隊員の服装をご覧ください 1 名前:シュードノカルディア(茸) [US]:2020/02/17(月) 19:23:30.57 ID:/FYcSCV60 防衛省・自衛隊 @ModJapan_jp 自衛隊は、本日も引き続き、「ダイヤモンド・プリンセス号」において、計約150名が船内での医療、下船支援等を実施する予定です。また、陸上の宿泊施設においても、計約80名が、帰国者及び下船者の生活支援や健康状態の確認、健康相談を行っています。 #防衛省・自衛隊 #新型コロナウイルス感染症 https://twitter.com/modjapan_jp/status/1228911585193680898?s=21 6: デスルフレラ(家) [US] 2020/02/17(月) 19:24:16.72 ID:SxaRGj7U0 アホすぎる 7: クロロフレ

                                                                            【画像】 ダイヤモンド・プリンセス号で作業する自衛隊員の服装をご覧ください : 痛いニュース(ノ∀`)
                                                                          • 動的コンテツをエッジのKVにキャッシュする - ゆーすけべー日記

                                                                            Web APIのパフォーマンス向上に「Dynamic Content Storing = DCS」という戦略を考えている。 Web APIに限らず、サーバーサイドで動的に作られるコンテンツ全てへ適応できるものである。 本番環境で運用したわけではないが、実際に動くモックを作ってみた。 背景とともに紹介しよう。 要点 「Dynamic Content Storing」とは「動的コンテンツをエッジのkey-valueストアに保存する」ことを言う。 ユーザーには(初回以外)KVストアから取得したコンテンツを返す。 有効期限もしくはコンテンツの更新をトリガーに新しくコンテンツを生成する。 どんなバックエンドにも適応できる「Incremental Static Regeneration」と考えることができる。 原理は「Stale-While-Revalidate」と同じだがこの場合はコンテンツがより永

                                                                              動的コンテツをエッジのKVにキャッシュする - ゆーすけべー日記
                                                                            • Introducing Amazon MemoryDB for Redis – A Redis-Compatible, Durable, In-Memory Database Service | Amazon Web Services

                                                                              AWS News Blog Introducing Amazon MemoryDB for Redis – A Redis-Compatible, Durable, In-Memory Database Service Interactive applications need to process requests and respond very quickly, and this requirement extends to all the components of their architecture. That is even more important when you adopt microservices and your architecture is composed of many small independent services that communica

                                                                                Introducing Amazon MemoryDB for Redis – A Redis-Compatible, Durable, In-Memory Database Service | Amazon Web Services
                                                                              • Goの準々標準ライブラリの探索 - Qiita

                                                                                フューチャーアドベントカレンダー21日目のエントリーです。全25話中、神回が25回あったウルトラマンZが終わってしまいましたね。全日本人のうちの1億2000万人ほどがウルトラマンZロスでうちひしがれているころかと思います。 Goでは、Goをインストールしたときに一緒にインストールされるライブラリを「標準ライブラリ」と呼びます。また、golang.org/xなパッケージ群は準標準ライブラリと呼ばれます。準標準ライブラリには多彩なライブラリが含まれます。今ではもう本家に入ってしまって、後方互換性のためだけに残っているパッケージも一部ありますが・・・ これ以外にも https://github.com/golang/ にはたくさんパッケージがあります。一部はgolang/xのものも入っているのですが、それ以外のものをここでは仮に準々標準ライブラリと呼ぶことにします。 golang.org/xのも

                                                                                  Goの準々標準ライブラリの探索 - Qiita
                                                                                • ISUCON10予選に参加しました

                                                                                  こんにちは。飲食領域でテックリードをしている浅野です。 業務外ではあるのですが、9/12に開催されたISUCON10予選に参加させてもらっていました。 結果は初歩的なミスにより予選落ちとなってしまったのですが、一応参考スコアとしてはトップを記録していたので参考までにやったことの共有と、今後同じようなミスをするチームが出てこないよう啓蒙を兼ねて記事にさせていただきます。 やらかしの部分だけ知りたい方は結果まで飛ばしてください。 ISUCONについて Iikanjini Speed Up Contest の略で、LINE社主催で開催されているWebアプリケーションのチューニングを競うコンテストです。 業界ではもはや説明不要と言っても良いレベルで認知されているイベントですが、今年は予選が1日開催となり参加枠に制限が設けられる中で数日で枠が埋まるなど、今の時勢の中でも衰えない盛り上がりと人気の高さ

                                                                                    ISUCON10予選に参加しました