並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 54件

新着順 人気順

"task queue"の検索結果1 - 40 件 / 54件

  • JSの非同期処理を理解するために必要だった知識と学習ロードマップ

    はじめに JavaScript の非同期処理を学習してみて「ある程度自信を持って理解できたと言える」状態に到達したので、その感想とまとめの学習ロードマップとその中でどのような知識が必要になるかを紹介したいと思います。 あるいは、自分が実際に学習してきた道筋に基づいているのでショートカットとして参考にしてもらったり、使えるリソースなどの情報が共有できると思います。もしくは「JavaScript 初心者が非同期処理を理解できるようになるまでの道筋」というストーリーで1つのサンプルとして見ていただけるといいかもしれません。 ChangeLog 大きな変更のみをトラッキングしています。 2022-11-16 本の内容を反映させた追記・修正を追加 2022-05-21 構成を修正 「V8 エンジンから考える」の項目を追加 2022-04-30 「イベントループの共通性質」の項目を追加 「ロードマップ

      JSの非同期処理を理解するために必要だった知識と学習ロードマップ
    • 0から始めるNode.jsパフォーマンスチューニング

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

        0から始めるNode.jsパフォーマンスチューニング
      • 本当に役立つFAQ検索システムを目指して - Nota TechConf

        Nota Tech Conf 2021 Spring 3日目の発表資料です 2021/3/11 こんばんは daiizdaiiz.iconです Helpfeelの検索技術の話をします 開発、運用チーム プロダクトオーナー daiiz.icon プロジェクトマネージャー akix.icon Webディレクター akix.icon など テクニカルライター カスタマーサクセス エンジニア、デザイナー rakusai.iconakix.icondaiiz.iconshokai.icontakeru.iconTiro.icon 予測検索 Helpfeel CTO /masui/増井俊之.iconの展開ヘルプをベースとするFAQ検索システム PayPayフリマ様 FAQ テキパキと高速に検索できている クエリの表現に合わせて柔軟に結果が提示される Agenda いかにして探すか 1. 入力に対して遅

          本当に役立つFAQ検索システムを目指して - Nota TechConf
        • ⭐️🎀 JavaScript Visualized: Promises & Async/Await

          If you're already somewhat familiar with promises, here are some shortcuts to save you some precious scrolling time. Introduction When writing JavaScript, we often have to deal with tasks that rely on other tasks! Let's say that we want to get an image, compress it, apply a filter, and save it 📸 The very first thing we need to do, is get the image that we want to edit. A getImage function can tak

            ⭐️🎀 JavaScript Visualized: Promises & Async/Await
          • Optimize long tasks  |  Articles  |  web.dev

            Optimize long tasks Stay organized with collections Save and categorize content based on your preferences. You've been told "don't block the main thread" and "break up your long tasks", but what does it mean to do those things? Common advice for keeping JavaScript apps fast tends to boil down to the following advice: "Don't block the main thread." "Break up your long tasks." This is great advice,

              Optimize long tasks  |  Articles  |  web.dev
            • Google I/O 2022 のFirebaseまとめ

              Google I/O 2022 Googleでは毎年5月に開発者向けの、主力サービスの今までの成果や今後の新機能などの大きな発表が行われています。当記事では、先日2022年5月11日〜12日にかけて行われたGoogle I/O 2022の中で発表されたFirebaseに関連する情報のみを整理し、まとめたものです。筆者による雑翻訳ですので正確では無い部分も含まれております点を予めご了承ください。 参照元 当記事は次にあげる2点を中心に関連する内容をまとめたものです。 動画:What's new in Firebase ブログ記事:What's new from Firebase at Google I/0 2022 ここからは、セッション「What's new in Firebase」で発表の行われたトピックをその発表順で掲載します。関連するFirebase系の別セッションの内容なども該当ト

                Google I/O 2022 のFirebaseまとめ
              • gokartのMLパイプラインをKubernetesで並列分散実行できるライブラリkannonを作った話 - エムスリーテックブログ

                初めまして!2023年3月前半にエムスリーのAIチームで10日間インターンに参加していた小栗 (@irungo_ic )です。 インターンでは、エムスリー発の機械学習パイプラインOSSであるgokart をKubernetes上で高速にかつ簡単に実行できるようになるライブラリであるkannon('cannon'と同じ発音!)をゼロから実装し、OSSとして公開しました。 github.com この記事ではkannonの技術的な解説、インターンに参加した感想をお伝えします! gokartの概要 gokartの抱えていた課題 シングルスレッドでの逐次実行により実行時間が長くなってしまう GKEのリソースを効率的に使えない kannonの概要 kannonの使い方 gokart kannon gokart kannon 補足 kannonのアーキテクチャ kannonの実装 1. Task Que

                  gokartのMLパイプラインをKubernetesで並列分散実行できるライブラリkannonを作った話 - エムスリーテックブログ
                • kyju.org - Piccolo - A Stackless Lua Interpreter

                  Piccolo - A Stackless Lua Interpreter 2024-05-01 History of piccolo A "Stackless" Interpreter Design Benefits of Stackless Cancellation Pre-emptive Concurrency Fuel, Pacing, and Custom Scheduling "Symmetric" Coroutines and coroutine.yieldto The "Big Lie" Rust Coroutines, Lua Coroutines, and Snarfing Zooming Out piccolo is an interpreter for the Lua language written in pure, mostly safe Rust with a

                  • Angular と Firebase で月間PV1億超えの PWA を作った話 - Qiita

                    はじめに これは Angular Advent Calendar 2019 10日目の記事です。 こんにちは (。・ω・。) Angular と Firebase で CGM サービス(一般ユーザー投稿型サービス)を開発している者です。 早いもので、Angular Advent Calendar も 3 回目の参加となります。 例年ではなんとなく不吉な 4 日目をいただいていたのですが、今年も募集当日にエントリーしに行くと既に 9 割ほどの枠で参加表明があり、狙っていた? 4 日目も埋まっていました。 (どこでも良いので他の人が嫌がる確率が高そうなところに入ったろの精神 今まで #1 しかなかったカレンダーが今年は勢いそのまま #2 まで誕生し、ここ 1 年での Angular コミュニティの成長を実感しています (ノ゚∀゚)ノ 小話はこの辺で... この記事では、約 2 年間 Angul

                      Angular と Firebase で月間PV1億超えの PWA を作った話 - Qiita
                    • Pool Partyという攻撃手法を通じてWindowsの深淵を覗いた7日間(インターンシップ体験記) - NTT Communications Engineers' Blog

                      はじめに はじめまして、今回ドコモグループの現場受け入れ型インターンシップに参加させていただいた上野です。大学院ではコンテナセキュリティなどについて研究しています。 この記事では、インターンシップ体験記として以下の内容を紹介します。 私のインターンシップの参加経緯や取り組み NTTコミュニケーションズの業務やインターンシップについて知りたい就活生向け Process InjectionとPool Partyの概要 Pool Partyについて日本語で概要を知りたいセキュリティエンジニア向け 目次 はじめに 目次 RedTeam プロジェクト(RedTeam PJ) インターンシップ参加の経緯 インターンシップ概要 T1055 - Process Injection Pool Party Thread Pool Pool Party Variants Variant 1: Worker Fa

                        Pool Partyという攻撃手法を通じてWindowsの深淵を覗いた7日間(インターンシップ体験記) - NTT Communications Engineers' Blog
                      • Useful engineering metrics and why velocity is not one of them

                        Here’s my horoscope for today: Things should improve for you as the day progresses, Taurus. You shouldn’t depend on something that may not pan out the way you want. As you can see, it’s useless, just like your team’s velocity metrics and burndown charts. Velocity metrics are as loathsome as the horoscope because neither provides any insight on why something went wrong or how to fix it. Moreover, i

                        • Tkrzw: a set of implementations of DBM

                          In general, if you want a key-value storage with the highest performance, choosing the file hash database is recommended. If you need ordered access of records, choosing the file tree database is recommended. If you need scalability of ordered databases, choosing the file skip database is recommended. If you need extreme performance, the on-memory hash database and the on-memory tree database are

                          • スレッドプールの作り方

                            (*)が付いている材料は、コア数分用意できると性能がアップします。 シンプルなProducer-Consumerパターン スレッドを1本だけ使うパターンから紹介します。特に小細工する必要も無いので実装もシンプルになります。 メインスレッドから非同期に実行して欲しい処理をワーカースレッドのキューに積む ワーカースレッドはキューから処理を取り出して実行する 生産者(Producer)・消費者(Consumer)パターンと呼ばれる、非常に古典的なデザインパターンの1つです。 コードにするならこんな感じ。 #include <condition_variable> #include <deque> #include <functional> #include <mutex> #include <thread> class worker { public: worker() : thread_([t

                              スレッドプールの作り方
                            • How Instagram scaled to 14 million users with only 3 engineers

                              Author’s Note: This is a timeline of notes compiled from publicly available sources. All links and sources are posted at the bottom, and throughout. Instagram scaled from 0 to 14 million users in just over a year, from October 2010 to December 2011. They did this with only 3 engineers. They did this by following 3 key principles and having a reliable tech stack. Instagram’s Guiding PrinciplesKeep

                                How Instagram scaled to 14 million users with only 3 engineers
                              • Design youtube

                                CHAPTER 14: DESIGN YOUTUBE In this chapter, you are asked to design YouTube. The solution to this question can be applied to other interview questions like designing a video sharing platform such as Netflix and Hulu. Figure 14-1 shows the YouTube homepage. YouTube looks simple: content creators upload videos and viewers click play. Is it really that simple? Not really. There are lots of complex te

                                • Ruby 3: FiberやRactorでHTTPサーバーを手作りする(翻訳)|TechRacho by BPS株式会社

                                  概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: HTTP server in Ruby 3 - Fibers & Ractors 原文公開日: 2021/07/25 原著者: Dmitry Ishkov FiberとRactorについては以下もどうぞ。 class Fiber (Ruby 3.0.0 リファレンスマニュアル) Ruby 3.0 の Ractor を自慢したい - クックパッド開発者ブログ 動機 Rubyは歴史的にコンカレンシーを欠いていましたが、現在のRubyには「ネイティブ」スレッドがあります(Ruby 1.9より前は「グリーンスレッド」 のみでした)。ネイティブスレッドは、OS によって制御されるスレッドが複数存在することを意味しますが、一度に実行できるスレッドは 1 つだけで、GIL(Global Interpreter Lock)によって管理されます。た

                                    Ruby 3: FiberやRactorでHTTPサーバーを手作りする(翻訳)|TechRacho by BPS株式会社
                                  • JavaScriptの非同期処理の理解と非同期処理を同期に作る三つの方法 | DevelopersIO

                                    初心者の立場でJavaScriptの非同期に対して勉強したことと非同期処理を同期に作る三つの方法について整理して見ました。 今年四月に新入社員として入社したキム・スンヨンです。 私が週末の間、勉強したJavaScriptの非同期について理解したこととその非同期処理を同期に作る方法について整理して見ました。 非同期とは 非同期とは順番に進めることではなく、最初の動作の応答を受け取る前に他の作業を進めることです。 反対に同期は順番に作業を進めることです。 では、非同期に対して詳しい説明より、コードを見ましょう。 function func() { setTimeout(function () { console.log("success2"); }, 1000); console.log("success1"); } func(); 結果 => success1 success2 このように順

                                      JavaScriptの非同期処理の理解と非同期処理を同期に作る三つの方法 | DevelopersIO
                                    • ブロックチェーン知識は不要? 採用面談でよくあるQ&A集 - Gaudiy Tech Blog

                                      こんにちは!エンタメ領域のDXを推進するブロックチェーンスタートアップ、Gaudiyでエンジニアをしているkei(@kei32bit)です。 Gaudiyの採用スタンスや具体的なスカウト手法についてはこれまでもご紹介してきましたが、今回は、実際のカジュアル面談や採用面談でエンジニアの方からよく聞かれる質問について深くフォーカスしていきたいと思います。 ブロックチェーンを扱っていると聞くと「何か特殊な経験が必要なのでは?」と思われる方が多いと思いますが、本記事では 事前にブロックチェーンの知識を持っておく必要はない ブロックチェーンを扱う企業にはレイヤーの違いがある 重要なのはソフトウェアアーキテクチャの原則に基づいた開発経験 をお伝えできればなと思います! 1. ブロックチェーンって実際どういう風に業務で使われるの? 2. ソフトウェアアーキテクチャの考え方ってブロックチェーン業務でも使え

                                        ブロックチェーン知識は不要? 採用面談でよくあるQ&A集 - Gaudiy Tech Blog
                                      • kannonを実プロダクトに組み込んで3倍高速化を達成した話 - エムスリーテックブログ

                                        こんにちは!エムスリー Advent Calendar 2023 7日目担当の小栗 (@irungo_ic)です。私は東京大学 電子情報工学科で学生(B4)をしており、エムスリーには業務委託で参画しています。 今回はgokartの分散並列化ライブラリkannonをエムスリーの実プロダクトに組み込んだ取り組みについて紹介します。結果として、社内のとあるプロダクトのIntegration TestのJobを7時間30分から2時間20分に短縮するという、約3.2倍の高速化を達成できました!それまでに生じた苦労、kannonへの追加機能などについてお話しします。 kannonとは? kannonとは、M3が主体となって開発しているOSSのデータパイプラインライブラリgokartをk8s上で分散並列実行するためのライブラリです。私が今年3月に参加したAIチームでのインターンで開発したライブラリで、そ

                                          kannonを実プロダクトに組み込んで3倍高速化を達成した話 - エムスリーテックブログ
                                        • CeleryによるPythonベース非同期タスク処理

                                          はじめに 例えば機械学習モデルを運用する際に、WebAPI形式で予測を提供するのは一般的な方法と言えます。ここで推論処理に時間がかかる場合には、リクエストに対するレスポンスだけ先に返しておき、処理の本体はバックグラウンドで非同期的に実行するという選択肢が存在します。 本記事では、Pythonベースの分散タスクキューツールであるCeleryを用いて、WebAPIへのリクエストに対応したタスクを非同期実行し、結果を確認するまでを紹介します。サンプルコードは以下に配置しました。 Celeryとは 公式ドキュメントの冒頭には以下のように書かれています。 Celery is a simple, flexible, and reliable distributed system to process vast amounts of messages, while providing operation

                                            CeleryによるPythonベース非同期タスク処理
                                          • Async/Await | Writing an OS in Rust

                                            In this post, we explore cooperative multitasking and the async/await feature of Rust. We take a detailed look at how async/await works in Rust, including the design of the Future trait, the state machine transformation, and pinning. We then add basic support for async/await to our kernel by creating an asynchronous keyboard task and a basic executor. This blog is openly developed on GitHub. If yo

                                            • Retrieval Augmented Generation at scale — Building a distributed system for synchronizing and…

                                              Disclaimer: We will go into some technical and architectural details of how we do this at Neum AI — A data platform for embeddings management, optimization, and synchronization at large scale, essentially helping with large-scale RAG. As we’ve shared in other blogs in the past, getting a Retrieval Augmented Generation (RAG) application started is pretty straightforward. The problem comes when tryi

                                                Retrieval Augmented Generation at scale — Building a distributed system for synchronizing and…
                                              • 長いタスクを分割するscheduler.yieldという提案

                                                3 行まとめ scheduler.yieldが Chrome115 から origin trial で試せるように scheduler.yieldを使うと長いタスクを分割できる scheduler.yieldではユーザーのインタラクション以外のタスクが割り込まない Long task の問題とタスクの分割 ブラウザのメインスレッドを占有するような実行時間が長いタスク(Long task)は、そのタスクが実行されている間に何かしらのインタラクションがあっても、タスクが終わるまでブラウザはインタラクションに対応できません。 クリックしても長いタスクが終わるまではクリックのタスクは実行されない こういった長いタスクを分割することで、インタラクションなどの優先度の高いタスクに対応することができます。これは Core Web Vitals の指標であるInteraction to Next Pain

                                                  長いタスクを分割するscheduler.yieldという提案
                                                • Explicit Resource Management: Exploring JavaScript's and TypeScript's new feature | iliazeus

                                                  Explicit Resource Management: Exploring JavaScript's and TypeScript's new feature 2023-11-13 en CC BY-SA 4.0 read in russian One of my favorite new features of JavaScript and TypeScript is explicit resource management. It brings new syntax, using foobar = ..., that enables RAII, reducing boilerplate when managing the lifecycle of various resources. In this article, I will explore this feature as i

                                                  • Async/Await | Writing an OS in Rust

                                                    この記事は翻訳されたものです: この記事はAsync/Awaitをコミュニティの手により翻訳したものです。そのため、翻訳が完全・最新でなかったり、原文にない誤りを含んでいる可能性があります。問題があればこのissue上で報告してください! 翻訳者: @kahirokunn, @garasubo, @sozysozbot 及び @swnakamura. With contributions from @asami-kawasaki 及び @Foo-x. この記事では、Rustの協調的マルチタスクとasync/await機能について説明します。Rustのasync/await機能については、Future trait の設計、ステートマシンの変換、 pinning などを含めて詳しく説明します。そして、非同期キーボードタスクと基本的なexecutorを作成することで、カーネルにasync/awa

                                                    • [Ansible] そのtag設定、想定通りに動いてますか? (継承機能とその実装を確認する) - zaki work log

                                                      playbook内のtask定義にtagを設定しておくことで、指定tagのtaskのみ実行したり、逆に指定tagのtaskを除外してansible-playbookを実行することができます。 開発中のtaskのみピンポイントで実行したい場合や、逆に、共有のDBのデータを更新したりするtaskはほかのユーザーやチームと調整してからでないと実行が難しかったり、Blue-Greenデプロイメントの実装で環境Aの機能をオフにしてもう片方の環境Bをオンにするような処理だけど開発中は環境Bだけ確認したかったり、大量データのダウンロードや冪等の確認を伴い処理に時間がかかるため開発中は実行したくないなど特定のtaskは実行したくない場合に利用できます。 また、特殊tagとして、常に実行するalwaysと実行しないneverというtagが予約語として用意されています。 neverは特に「通常は実行したくない

                                                        [Ansible] そのtag設定、想定通りに動いてますか? (継承機能とその実装を確認する) - zaki work log
                                                      • serverless frameworkで設計されたLambda関数を実運用状況と比較しつつcdkで書き起こしてみた | DevelopersIO

                                                        serverless frameworkで構成されたLambda関数をcdkで書き起こしました。設定ファイルのみでは察知し辛く、実際に動作しているサービスと比較しながらの作業となりました。 はじめに とあるLambda関数をserverless frameworkベースからcdkベースへの切り替えが必要になりました。問題は私自身がserverless frameworkを初めて触るという点です。 serverless frameworkのドキュメントを読むことも考えましたが、Lambda関数の実装に用いていないかもしれない機能説明を只管読むのも時間の無駄と感じ、動いているものを読み解きながらの切り替えをやってみました。 serverless frameworkによる設計をなぞってみる 以下、実際のコードから幾つか省いた状態での引用となります。 provider: name: aws run

                                                          serverless frameworkで設計されたLambda関数を実運用状況と比較しつつcdkで書き起こしてみた | DevelopersIO
                                                        • HTTP server in Ruby 3 - Fibers & Ractors

                                                          This is part #2. Head over to part #1 to learn about HTTP in Ruby. Motivation Historically Ruby's been lacking in the concurrency department. Ruby has "native" threads (prior to 1.9 there were only "green"), which means there can be multiple threads controlled by an OS, but only 1 thread can be executed at a time, this is managed via Global Interpreter Lock (GIL). However, native calls and I/O cal

                                                            HTTP server in Ruby 3 - Fibers & Ractors
                                                          • Gevent チュートリアル

                                                            はじめに このチュートリアルはある程度の Python の知識を前提としていますが、 それ以上の知識は前提としていません。 並列プログラミングの知識も必要ありません。 このチュートリアルの目的は、 gevent を扱う道具を提供し、 読者がすでに持っている一般的な並列プログラミングの問題を手なづけて 非同期プログラムを書き始められるように手助けすることです。 寄稿者 時系列順の寄稿者: Stephen Diehl Jérémy Bethmont sww Bruno Bigras David Ripton Travis Cline Boris Feld youngsterxyf Eddie Hebert Alexis Metaireau Daniel Velkov そして Denis Bilenko に、 gevent の開発とこのチュートリアルを作る上での 指導について感謝します。 この共

                                                            • CeleryのMessage Priorities機能を利用した処理遅延の低減 - Nealle Developer's Blog

                                                              こんにちは、SREチームの宮後(@miya10kei)です。 バイクに乗っていて気持ちが良い季節になってきましたね🌸 メッセージキューを利用した非同期タスクを扱っていて、誰しも優先度順にタスクを処理したいなと思ったことがあるのではないでしょうか? 今回はCeleryの機能を利用して実現することができたので紹介したいと思います。 Celeryってなに? Celeryは分散メッセージキュー機能を提供するPythonベースのOSSです。 メッセージキューのBrokerとしてRedisやRabbitMQ、Amazon SQSなどを使用でき、分散環境での非同期タスクの実行を実現しています。 公式サイトを引用すると次の説明になりますね。 Celery is a simple, flexible, and reliable distributed system to process vast amou

                                                                CeleryのMessage Priorities機能を利用した処理遅延の低減 - Nealle Developer's Blog
                                                              • jsが非同期処理をシングルスレッドで実現する仕組み〜Web API、イベントループ、MicrotaskとしてのPromise〜

                                                                jsが非同期処理をシングルスレッドで実現する仕組み〜Web API、イベントループ、MicrotaskとしてのPromise〜 シングルスレッドのjsがどうやって非同期処理を実現しているのかという疑問から始まり、Web API、イベントループ、MicrotaskとしてのPromiseについてザッとみていく記事です👶 後半ではイベントループにおけるマイクロタスクの実行順序をJavaScript Visualizer 9000(こういうもの↓)を使って実際に目でみてみます👶 疑問その1: 「シングルスレッドじゃ非同期処理できなくない?」 jsはシングルスレッドである。ざっくり言えば、複数の処理を並行して行うことはできないことが言語仕様から由来するさだめなのである js誕生当時はシングルコアが当たり前で、コード量も少なかったから「シングルスレッド上等!」だった JavaScript is a

                                                                  jsが非同期処理をシングルスレッドで実現する仕組み〜Web API、イベントループ、MicrotaskとしてのPromise〜
                                                                • Liveness and Readiness Probes with Spring Boot

                                                                  Update: this blog post has been updated for changes released in Spring Boot 2.3.0.RC1 The Spring Boot team is actively working on a Kubernetes theme for the next 2.3.0 release. After Docker images creation and Graceful Shutdown support, it’s now time to introduce Liveness and Readiness probes support. With our 2.2.0 release, Spring Boot shipped with the Health Groups support, allowing developers t

                                                                    Liveness and Readiness Probes with Spring Boot
                                                                  • Google Cloud で、決まった時刻にjobを実行する、2つの方法

                                                                    こんにちは、カスタマーエンジニアの大戸(おおど)です。 この記事は、「Google Cloud Japan Advent Calendar 2022 - 今からはじめる Google Cloud」の17日目の記事になります。 はじめに ここでは、「今から始める Google Cloud」ということで、これから Google Cloud を使っていく/ 使ってみたい ユーザー を対象にした、入門向けの内容になります。 今回は、「決まった時刻にJobを実行する方法」として、「Cloud Tasks」を利用する方法、「Cloud Scheduler」を利用する方法を、それぞれご紹介します。 ここに書くこと/ 書かないこと 今回は、Cloud Tasks/ Cloud Scheduler を初めて使う人向けの記事とし、プロダクトの概要と簡単な比較、使い方に関してフォーカスして記載しています。 ここ

                                                                      Google Cloud で、決まった時刻にjobを実行する、2つの方法
                                                                    • Building modern Python API backends in 2022

                                                                      Intro This guide is intended for people who are already familiar with Python 3 and looking to start a new project. This guide comes from experience building api backends for a variety of startups in different industries, it serves as a starting point for what the state of “best practise” is for how I think about organising Python projects, structuring code, testing, and common libraries I’ve reuse

                                                                        Building modern Python API backends in 2022
                                                                      • アプリケーションをゆるやかに「つなぐ」Amazon SQSの特徴と魅力|コラム|クラウドソリューション|サービス|法人のお客さま|NTT東日本

                                                                        Amazon SQSの構築や運用について、NTT東日本のクラウド導入・運用サービスで貴社システムをサポートいたします。クラウド導入・運用サービスの提供機能や料金など詳しく記載したサービス資料をぜひダウンロードください。 Amazon SQSとは Amazon SQS(Simple Queue Service)は、AWSが提供する「サーバーレスでキューイングを実現できる」サービスです。Amazon SQSを理解するためにはまず「キューイング」の概念を知る必要があります。「キューイング」とは日本語にすると「待ち行列」という意味です。人気のお店で行列ができるのと同じで、システム用語では「処理の順番待ち」という意味で使われます。 さて、このキューイングがどういう効果をもたらすかというと、「分散アプリケーション上で非同期に処理が進められる」ようになるのです。通常、システム間での処理連携(メッセージン

                                                                          アプリケーションをゆるやかに「つなぐ」Amazon SQSの特徴と魅力|コラム|クラウドソリューション|サービス|法人のお客さま|NTT東日本
                                                                        • I Regret My $46k Website Redesign

                                                                          Two years ago, I created a website for my business. By combining my terrible design skills with a decent-looking template, I created a site that looked okay. I told myself that if the business took off, I’d hire a real designer to make it look professional. TinyPilot website, before design changes A year later, the business was generating $45k/month in revenue, but my website still looked like a c

                                                                            I Regret My $46k Website Redesign
                                                                          • Fine Parallel Processing Using a Work Queue

                                                                            In this example, you will run a Kubernetes Job that runs multiple parallel tasks as worker processes, each running as a separate Pod. In this example, as each pod is created, it picks up one unit of work from a task queue, processes it, and repeats until the end of the queue is reached. Here is an overview of the steps in this example: Start a storage service to hold the work queue. In this exampl

                                                                              Fine Parallel Processing Using a Work Queue
                                                                            • Building Reliable Distributed Systems in Node.js

                                                                              This post introduces the concept of durable execution, which is used by Stripe, Netflix, Coinbase, HashiCorp, and many others to solve a wide range of problems in distributed systems. Then it shows how simple it is to write durable code using Temporal’s TypeScript/JavaScript SDK. For an updated version of this post, see durable-execution.pdf Distributed systems When building a request-response mon

                                                                                Building Reliable Distributed Systems in Node.js
                                                                              • Open sourcing Querybook, Pinterest’s collaborative big data hub

                                                                                An efficient big data solution for an increasingly remote-working world. Charlie Gu | Tech Lead, Analytics Platform, Lena Ryoo | Software Engineer, Analytics Platform, and Justin Mejorada-Pier | Engineering Manager, Analytics Platform With more than 300 billion Pins, Pinterest is powering an ever-growing and unique dataset that maps interests, ideas, and intent. As a data-driven company, Pinterest

                                                                                  Open sourcing Querybook, Pinterest’s collaborative big data hub
                                                                                • How Pinterest scaled to 11 million users with only 6 engineers

                                                                                  Engineer’s Codex is a free, weekly publication distilling real-world software engineering. Subscribe now Read the discussion on Reddit or Hacker News. In January 2012, Pinterest hit 11.7 million monthly unique users with only 6 engineers. Having launched in March 2010, it was the fastest company to race past 10 million monthly users at the time. Pinterest is an image-heavy social network, where us

                                                                                    How Pinterest scaled to 11 million users with only 6 engineers