takenoko-strのブックマーク (821)

  • 正しい負荷をかけ、効果的・効率的に試験し、適切に評価する バックエンドの負荷試験の実施と評価で大切なこと

    多くのユーザーさまに安心して遊んでもらえる新作ゲームを提供するためのコロプラの取り組みを紹介する「大規模モバイルゲームのローンチを支える技術」。ここでサーバー基盤グループのごましお氏が登壇。ここからは、「複数人のプレイログを収集する」フェーズから「規模を増やしながら繰り返す」フェーズまでについて話します。前回はこちらから。 複数人のプレイログを収集する ごましお氏:続いては、複数人のプレイログを収集するフェーズです。例えば、開発チーム内でのプレイ会とか社内プレイ会みたいな、なるべく大人数がプレイするタイミングでログを収集します。 自分でプレイしてログを収集するのとは目的が違っています。ここでは、1ユーザーあたりのRPSを測定すること、それからAPI呼び出しの全体の割合を把握することを目標とします。なるべく多くの人数でプレイしたログが収集できると、それだけ精度の高い情報が得られて、以降の試験

    正しい負荷をかけ、効果的・効率的に試験し、適切に評価する バックエンドの負荷試験の実施と評価で大切なこと
  • TypeScriptではじめるChatGPT API:入門から一歩進んだテクニックまで - Uzabase for Engineers

    NewsPicks エンジニアの中村です。普段はデータ基盤や機械学習システムの開発、運用をやっています。 さて皆さん、すでにChatGPTは使っていらっしゃるでしょうか。エンジニア、非エンジニアを問わず世の中を席巻している感のある ChatGPT ですが、今月初めにいよいよ API も公開されて、アプリケーションやサービスに組み込みたいと考えている方も多いのではないでしょうか1。 というわけで、弊社でもこの新しい技術をより多くのエンジニアに使いこなせるようになってもらいたいと考え、ChatGPT API に関する社内勉強会を先日開催しました。記事ではこの勉強会の内容を再構成してお届けします。 とりあえず使うだけなら簡単な ChatGPT ですが、記事では、長文を扱ったり、ChatGPT と外部のシステムを連携させたりするテクニックなど、知っている人はすでに知っているが、まだそれほど広く

    TypeScriptではじめるChatGPT API:入門から一歩進んだテクニックまで - Uzabase for Engineers
  • SQSのApproximateNumberOfMessagesVisibleの値が増えないことがある - 365歩のテック

    概要 SQSのメッセージ数を監視する際にApproximateNumberOfMessagesVisibleというメトリクスを使用していたのですが、SQSにメッセージをプッシュしたにも拘らず値が増えないケースがあったため調査してみました。 現象 シチュエーション 「SQSにメッセージが1つ以上入ったらアクションを起こしたい」というシチュエーションでした。 「S3へのソースコードのデプロイを検知して、自動でCloudFrontのキャッシュをクリアする」ということがしたかったのですが、ソースコードファイルは複数あり、ファイルごとにS3イベントでLambdaを起動してキャッシュクリアをしていては非常に無駄です。 なので、S3への複数ファイルアップロードをまとめて1つのトリガーにしたいという思いがあり、SQSを使ってみることにしました。 ※デプロイをトリガーするための特定のファイル名を決めて単一の

    SQSのApproximateNumberOfMessagesVisibleの値が増えないことがある - 365歩のテック
  • ステファニー・ケルトン「中央銀行は利上げによって、インフレを低下させられるのだろうか? それとも高進させてしまうのだろうか?」(2023年2月20日)|経済学101

    ステファニー・ケルトン「中央銀行は利上げによって、インフレを低下させられるのだろうか? それとも高進させてしまうのだろうか?」(2023年2月20日) 先週、パウエルFRB議長は、「インフレ低下プロセスが始まった」と述べた。パウエルは、インフレを2%まで引き下げるまで「かなりの時間がかかるだろう」と言っていたのだが、先週の発言を受けて多くの人が安堵したかっこうだ。インフレ率を目標率まで低下させるため、パウエルは、政策金利の持続的な引き上げを示唆している。 今週になって、インフレのたるみは進行中ーーつまり、インフレは加速していることが判明した。 1月の総合インフレ率(CPI)は、前月比では0.5%上昇している。これは、2022年10月以降で最も高い物価上昇率だ。前年比では、6.4%上昇している。これは2021年10月以降だと最も低い物価上昇率だ。料とエネルギーを除いたコアインフレ率は、複雑

    ステファニー・ケルトン「中央銀行は利上げによって、インフレを低下させられるのだろうか? それとも高進させてしまうのだろうか?」(2023年2月20日)|経済学101
  • Git でコミットする時のルールを言語化してみた - pyてよn日記

    概要 記事の目標 注意 コミットする時のルール コミットメッセージの言語 コミットメッセージのフォーマット コミットの種類の分類と prefix ファイル,ライブラリの追加・消去に関する prefix 3 つ ユーザが利用する機能の追加・修正に関する prefix 4 つ 設定ファイルなどの編集,修正に関する prefix 1 つ 非機能に関するコミット prefix 2 つ コミットの粒度 補足 コミットメッセージの時制 時制に関する所感 Work in Progress パターン 終わりに 参考 記事,資料 便利なサービス 開発を行う際,多くの開発者がソースコードのバージョン管理システムを利用している.筆者自身も例に漏れず,その一つである Git を利用している. プログラミングを勉強し始めてから 1 年 8 ヶ月ほど経ち,「言語化していないけど,コミットをする時になんとなくこれは意

  • VPSや自宅サーバーにインストールしたいSaaS代替Webアプリ38選

    シェアウェア(という表現はおいておいてのやつ。https://anond.hatelabo.jp/20230124045812)の記事が面白かったので、自分の得意分野の領域でいろいろ紹介します。 基的に、SaaSのサービスは便利だけど、あれもこれもと契約していったらサブスク破産するので、 ものによってはセルフホストした方がいいと思ってる派。 Dropbox/GoogleDrive/box代替 NextCloudもともとownCloudっていうDropbox代替があったんだけど、そこから分派して今も機能開発が続いている。 興味深いのはLAMP構成なので、VPSや自宅サーバーじゃなくても、レンサバで動くのがいいよね。 データ保存領域はオブジェクトストレージ(S3互換)も利用できるので、例えばWasabiなんかと契約してお安く済ませてしまうのも全然アリかと。 Trello代替 Wekan最近は

    VPSや自宅サーバーにインストールしたいSaaS代替Webアプリ38選
    takenoko-str
    takenoko-str 2023/03/08
    “Penpot”
  • NestJS+Winstonでカスタムロガーを作る

    概要 NestJSとWinstonを組み合わせて、ロガーをカスタマイズします。 Winstonをカスタマイズすることで、ログファイルやコンソールログだけでなく、New RelicやDATADOGなどにも柔軟に連携できます。 セットアップ NestJSのプロジェクトを作成する NestJSのプロジェクトを作成します。 (Setup参照)

    NestJS+Winstonでカスタムロガーを作る
  • Check your server.keepAliveTimeout

    One of my Node.js server applications at work had constant 502 errors at AWS ELB (Application Load Balancer) in front of it (HTTPCode_ELB_502_Count). The number was very small. It was around 0.001% of the entire requests. It was not happening on other applications with the same configuration but with shorter response times and more throughputs. Because of the low frequency, I hadn’t bothered inves

    Check your server.keepAliveTimeout
  • 【ε論法】一様連続でないことの証明

    一様連続とは、関数全体が同じδで押さえられる連続性です。今回はイプシロン・デルタ論法によって一様連続でないことを証明する方法を例題を使って解説します。否定を学ぶことでイプシロン・デルタ論法をより深く理解できるはずです。

  • istio/samples/bookinfo at a9f4988c313b7df36f5d1da6b3b87cbe698935ae · istio/istio

  • AWSでもsysctlやらなきゃならんのか・・・ - 中年engineerの独り言 - crumbjp

    問題 構成 突発的に、1台のサーバーで5秒間だけ、502 Bad Gateway が数百〜数千出て困った。(②の部分) nginx.conf proxy_connect_timeout 5; 5秒はnginx設定によるモノなのだろうが、なんで一瞬だけ出るのか全然解らなかった。 nginxerror.log にはこう出てて、これってproxy_passの設定ミスってる時の奴だよな。。と。。(③の部分) /var/log/nginx/error.log upstream prematurely closed connection while reading response header from upstream, client: 172.XX.XX.XX, server: _, request: "GET / HTTP/1.1", upstream: ... 一瞬、nginx -> no

    AWSでもsysctlやらなきゃならんのか・・・ - 中年engineerの独り言 - crumbjp
  • Does Alpine have known DNS issue within Kubernetes?

    Lately, we've faced some DNS issues with micro-services based on Alpine image (node:12.18.1-alpine) on EKS when trying to resolve "big" DNS queries (When the answer is larger than 512M). So I've tried running this script for testing the DNS resolution: var dns = require('dns'); var w3 = dns.lookup('hugedns.test.dziemba.net', function (err, addresses, family) { console.log(addresses); }); with 2 di

    Does Alpine have known DNS issue within Kubernetes?
  • Dockerホストのパフォーマンスを引き出すTCPカーネルパラメータチューニング

    もう半年くらいフルDockerでmicroservicesなサービスを運用してるんですが、イマイチパフォーマンスを出し切れていないなという面がありまして、今回DockerホストのTCPカーネルパラメータを抜的に見直しました。 そしたら劇的に症状が改善して、インスタンス数も削減できた上に安定してメシウマ状態になったので紹介します。実際効果があったのでチューニングポイントとしてはある程度正解であったと考えていますが、もちろん扱ってるアプリケーションの特性にもよるはずなので一つのケーススタディであることをご了承頂ければと。 前提 まずは今回のお話の前提を。こんな環境です。 EC2 c3.xlarge ホストはUbuntu(EC2 Optimized AMIは未使用) Docker 1.11.2 MySQL(HAProxy経由)やRedisへのデータストアの通信、各microservicesへの

  • Nginx on Fargate で発生した Resource temporarily unavailable エラーを調査した

    Nginx on Fargate で発生した Resource temporarily unavailable エラーを調査した Nginx を Fargate で起動しているが、検証中にすぐにリクエストが詰まってしまう事象に悩まされました。 その際に調査したことをまとめます。

    Nginx on Fargate で発生した Resource temporarily unavailable エラーを調査した
  • 経済記者がみたエピソード 政治家とカネ、派閥… | 取材ノート | 日本記者クラブ JapanNationalPressClub (JNPC)

    取材ノート ベテランジャーナリストによるエッセー、日記者クラブ主催の取材団報告などを掲載しています。 「ここだけの話だが」と経済企画庁長官だった中尾栄一氏が得意そうに語った政治家とカネのエピソードがある。もっとも、ご当人は、どこへ行っても「ここだけ」と言っていたようだが。 「派閥の親方の中曽根康弘先生のところで時々軍資金を頂戴したが、いつも『政治家はかくあるべし』という類のお説教つき。差し出された封筒を引っ張っても、中曽根先生はグッと押さえて離さない。腕が疲れるころにようやくお説教は終わる」 「田中角栄先生にもあいさつに行った。新聞紙に包んだものをグッと差し出して、『中尾君まあ頑張れ』と一言だけ。後で開いたら、中曽根先生から長いお説教つきで受け取ったものの10倍も入っていた」 「病気療養している時、福田赳夫さんも見舞いに来てくれた。世間話をした後、福田さんが私の枕元に風呂敷包みを置こうと

    経済記者がみたエピソード 政治家とカネ、派閥… | 取材ノート | 日本記者クラブ JapanNationalPressClub (JNPC)
    takenoko-str
    takenoko-str 2023/02/27
    “三極委員会”
  • ニコニコ動画(Re:仮)

    ニコニコ動画(Re:仮)
  • 虎視眈々と和平交渉ゲームを仕掛ける習近平国家主席の狙いは何か - The Key Questions

    ウクライナ問題解決の最優先順位は何か。人によって答えは異なるだろう。ウクライナの人々の暮らしが一番だと考えるなら今回の中国の和平交渉案は非常に良いニュースである。ここでは和平交渉が「良いこと」なのか「悪いこと」なのかを考える。さらにアメリカバイデン大統領がなぜ物事を優位に進められなかったのかについても考察する。 中国ウクライナの状況を改善すべく和平交渉に乗り出した。和平提案というより中国の立ち位置を示したものに過ぎないとみられておりNATO/EUとアメリカからはほぼ黙殺されていた。一般的過ぎて具体的な内容がないという評価だ。 ただ、この状況は大きく変わった。ゼレンスキー大統領が習近平国家主席に会う意向を表明したからだ。戦時下の大統領としてゼレンスキー氏は非常にしたたかに動いている。アマチュア政治家であると言う評価もあるがこのバランスの取り方はなかなか侮れない。 和平提案とは認めない。

    虎視眈々と和平交渉ゲームを仕掛ける習近平国家主席の狙いは何か - The Key Questions
  • 分散トレーシングの仕組み 「ログの対応付け」と「受け渡すHTTPヘッダー」を大体5分で理解する

    はじめに これは Qiita Advent Calendar 2021 の D言語カレンダー 11日目 の記事です。 マイクロサービスの監視で出てくる「分散トレーシング」(Distributed tracing)の概念を簡単に解説し、分散トレーシングに対応したアプリ実装に必要なことと実装例をご紹介します。 サービスの実装言語やフレームワークが様々ある昨今ですが、何をすればちゃんとトレースされるのか、単にライブラリやサービスの使い方ではなくその仕組みや目的を理解しておくことも大切だろう、といった主旨の記事になります。 こちら粗方理解できると、主に「ログは記録されるけど対応付けがされないなぁ」といった問題の解決ができるようになるはずです。 気軽に作った自作アプリで何度もやらかしているので皆さんもご注意ください! なお今回は簡単のためにHTTP通信のみを対象とし、データの保存方法にはほとんど触れ

    分散トレーシングの仕組み 「ログの対応付け」と「受け渡すHTTPヘッダー」を大体5分で理解する
  • 追跡しやすいログ出力を実現する - Qiita

    サービス運用をしていくうえで、ログはとても重要です。 どういった操作がされているのか、どういったことが起こっているのか。運用しているサービスを調べる方法として、「実際のデータを確認すること」と「ログを確認すること」しかできません。 「データを確認する」ことは、問題があった時に原因が分からず、どうにかして確認するための最終手段となります(個人情報を含むようなサービスであれば、そう簡単には見ることができないでしょう…)。 ということは、サービス運用の視点も踏まえたログ出力を心掛ける必要があります。 では、実際にログを取得しないといけない状態になったと仮定しましょう。どういったことができると 楽ができる(早く見つけられる) でしょうか。 追跡しやすいログ出力にする意味 ログを確認する時、多くの場合は下記の流れになると思います。 「何かが発生した時間」で絞り込み その出力内容と同じ処理であるログ出

    追跡しやすいログ出力を実現する - Qiita
  • TypeScriptでカスタムエラークラス設計・実装 - 365歩のテック

    エラーの設計・実装方法について社内に共有する機会があり、設計の流れや一例を書いてみました。TypeScriptとは言っていますが、なるべく言語非依存・ライブラリ未使用で、カスタムエラークラスを使用する前提で書きました。 目次 目次 目次 概要 そもそもエラー時って 何が知りたいか 何が起きたか どこで起きたか 原因・種別は何か 何がしたいか デフォルトのErrorクラスが含むもの以外の情報を盛り込みたい アプリケーションの各エラーを共通でハンドリングする処理が書きたい エラーの種類によって処理を変えたい エラー時に、処理のカバリングがしたい カスタムエラー設計・実装の一例 前提 エラー設計・実装の流れ ①エラーの全体設計 1. エラー種類・エラー出力内容の洗い出し・分類 2. エラー生成時に行いたいこと(振る舞い・処理)の洗い出し 3. メッセージ形式決め ②エラークラス自体の実装 1.

    TypeScriptでカスタムエラークラス設計・実装 - 365歩のテック