hkdnetのブックマーク (424)

  • 「もうさばき切れない」アクセスが激増したECプラットフォームにおける負荷対策 - BASEプロダクトチームブログ

    はじめに CTOの川口 (id:dmnlk) です。 5月にオンラインmeetupをさせて頂きその中で「具体的な負荷対策に関しては開発ブログで!」と言っていた件ですが気づいたらもう9月になりかけていました。 コロナ禍においてネットショップ作成サービス「BASE」の利用者様が急増しました。 www.nikkei.com 5 月には 100 万ショップを超えるショップオーナー様にご利用していただいております。 今まで EC 事業を行っていなかった飲店様や様々な業種の方が利用をはじめていただき、ショップオーナー様も購入者様共に短期の見通しでは想定をしていないアクセスが発生しました。 その途中でシステムとして対応しきれない面もあり、アクセス負荷によるサービスの不安定を招き皆様にはご不便や販売時間を変更していただくお願いなどをしてしまい大変申し訳ありませんでした。 現在では安定しておりますが、その

    「もうさばき切れない」アクセスが激増したECプラットフォームにおける負荷対策 - BASEプロダクトチームブログ
    hkdnet
    hkdnet 2020/08/31
    “back_log キューは「サーバアプリケーションが listen しているソケットが、accept していない確立済 TCP コネクションを保持するキュー」であり、これが溢れてしまうと Aurora(サーバー)がパケットを drop してしまうため SYN の
  • argopt: Rust向けの宣言的なコマンドライン引数パーザー - 純粋関数型雑記帳

    TL;DR 簡潔で直感的に扱える、宣言的なRust向けのコマンドライン引数パーザーを作りました。 https://crates.io/crates/argopt モチベーション Rustにstructoptというライブラリがあります。これはコマンドライン引数をパーズするライブラリなんですが、僕はこのライブラリが大好きなんです。Rustのライブラリの中で一二を争うほど好きです。なんならコマンドラインツールをRustを書く理由の大部分がこのライブラリの存在といっても過言ではないかもしれません(過言ですけど)。 しかしstructoptも使い続けていると、どうにももっと便利にできるんじゃないのかと思う部分が出てきます。structoptでは名前の通りコマンドライン引数をstructで定義して、それに#[derive(StructOpt)] とStructOptをderiveすることでパーザーのコ

    argopt: Rust向けの宣言的なコマンドライン引数パーザー - 純粋関数型雑記帳
    hkdnet
    hkdnet 2020/08/31
  • Huge SQL Loads? Check Out These Benchmarks: AWS Graviton2 with Presto and Treasure Data CDP

    High Performance SQL: AWS Graviton2 Benchmarks with Presto and Treasure Data CDP High Performance SQL: AWS Graviton2 Benchmarks with Presto and Treasure Data CDP Last modified: March 4, 2022 High Performance SQL: AWS Graviton2 Benchmarks with Presto and Treasure Data CDP In December, AWS announced new Amazon EC2 M6g, C6g, and R6g instance types powered by Arm-based AWS Graviton2 processors. It is

    Huge SQL Loads? Check Out These Benchmarks: AWS Graviton2 with Presto and Treasure Data CDP
    hkdnet
    hkdnet 2020/03/28
  • オプトアウト方法及び法令遵守について - Treasure Data

    昨日(3月25日)より当社サービスのオプトアウトや法令遵守についてのご意見がインターネット上で交わされております。また当社へ直接のお問い合わせも頂戴しております。件を受けまして、当社サービスのオプトアウト方法及び法令遵守に向けた対応についてご説明させていただきます。 (1)Arm Treasure Dataのサービス概要 当社ではカスタマーデータプラットフォーム(CDP)と呼ばれる、データベース基盤のサービス提供を行っております。CDP内に保管されるパーソナルデータは当社の顧客企業が管理・保有するデータであり、広告配信等のマーケティング活動、CRM施策等は各企業の裁量により行われます。技術サポートやシステム運用等、当社サービスの運営上最低限必要な統計情報やログへのアクセスを除き、当社顧客が収集したデータを当社が使用することはなく、当社によるデータ利用は厳しく制限しています。 (2)オプト

    オプトアウト方法及び法令遵守について - Treasure Data
    hkdnet
    hkdnet 2020/03/27
  • HomebrewのインストーラーをRubyからBashに書き直しました! - プログラムモグモグ

    みなさんはHomebrewをお使いでしょうか。macOSをお使いの多くの開発者が使っていると思います。 HomebrewのインストーラーはRubyで書かれており、次のコマンドでインストールするようになっていました。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" HomebrewがRubyに依存していることは良いのですが (formulaの書きやすさはRubyならでは)、インストーラーの話になると事情が変わってきます。HomebrewのインストールコマンドはmacOSの工場出荷状態でも動く必要があります。こういうものにRubyを使っているのはリスクがあります。 将来的にmacOSデフォルトにRubyPythonが含まれなくなる (参考リンク

    HomebrewのインストーラーをRubyからBashに書き直しました! - プログラムモグモグ
    hkdnet
    hkdnet 2020/03/03
  • はてな匿名ダイアリー

    hkdnet
    hkdnet 2019/12/20
  • GitHub、オープンソースのコードを1000年以上にわたって保存する「GitHub Archive Program」発表。北極圏の非武装地帯永久凍土層地下250mに保管庫を設置

    GitHubは、オープンソースは現在の文明の基盤であり人類の共有財産であるとして、このコードを次世代の人類に確実に残していくための「GitHub Archive Program」を発表しました。 「GitHub Archive Program」は、スタンフォード大学図書館やオックスフォード大学ボドリアン図書館、一万年時計で知られるロングナウ協会、Internete ArchiveやSoftware Heritage財団、GHTorrent、Microsoft Researchなど、さまざまな団体がパートナーとして協力しています。 コードの保存はもっとも更新頻度の高いホットなレイヤから、定期的なアーカイブが行われるウォームレイヤ、そして長期的な保存が行われるコールドレイヤまで複数のレイヤにわたって行われます。 もっともホットなレイヤはGitHubのリポジトリそのものであり、GHtorrent

    GitHub、オープンソースのコードを1000年以上にわたって保存する「GitHub Archive Program」発表。北極圏の非武装地帯永久凍土層地下250mに保管庫を設置
    hkdnet
    hkdnet 2019/11/15
  • [速報]マイクロソフト、「Azure Synapse」発表。BigQuery対抗の大規模並列データ処理サービス。Ignite 2019

    フロリダ州オーランドで開催中のマイクロソフトのイベント「Microsoft Ignite 2019」が開催中です。 その基調講演において同社CEOのサティア・ナデラ氏は、大規模並列データ分析サービス「Azure Synapse Analytics」を発表しました。 同社は現在、大規模データウェアハウス向けのサービスとして「Azure SQL Data Warehouse」を提供していますが、「Azure Synapse」はそれをさらに発展させたもの。 データウェアハウス、ビッグデータ分析、データ統合などを1つのサービスとして統合し、事実上データ容量に上限がなく、ペタバイトクラスのデータでも高速に処理できる性能を提供します。 リレーショナルデータベースのような構造化されたデータおよび非構造化データのいずれにも対応し、SQLによって分析可能です。 そのために「Azure Synapse」では最

    [速報]マイクロソフト、「Azure Synapse」発表。BigQuery対抗の大規模並列データ処理サービス。Ignite 2019
    hkdnet
    hkdnet 2019/11/05
  • 福井行 - 世界線航跡蔵

    IngressのField Testがあるので福井に行ってきた。 Field Testは国内でも数か所で実施されるのでどこに行こうか結構迷ったのだけど、結果としては福井で正解であった。なんだか、自分でも思った以上に福井と縁があったので、終始それを感じて楽しめたのである。 さて、まず福井につくなり駅の階段で迎えてくれるのが永和システムマネジメントの広告である。Rubyといえばesm, esmといえば福井が社なので、最初からそこはかとない安心感と親近感を覚えさせてくれる。 福井だからなぁ pic.twitter.com/s9fs4Bl3U7— Yuki Yugui Sonoda (@yugui) September 14, 2019 次に、階段を降りたところにいるのが見慣れた恐竜博士の像。ながらく表参道で働いていたのだけれども、昼休みによく歩いたあたりに福井のアンテナショップがあって、その前

    福井行 - 世界線航跡蔵
    hkdnet
    hkdnet 2019/10/24
    “さて福井といって思い出すのは福井県民が活躍する『ミカるんX』であろう” いや俺もそうなんだけど普通そうじゃないと思います
  • 数としての赤黒木 - エムスリーテックブログ

    エンジニアリンググループの高島(@rst76)です。 社内の勉強会で、計算機科学の有名な教科書、アルゴリズムイントロダクション(Introduction to Algorithms)を輪読しています。 ちょうど赤黒木の章を私が担当したので、要点をかいつまんでご紹介したいと思います。 今回お話したいのは「ある条件の下で、赤黒木は記数法表現と見ることができる」という話です。 赤黒木の例 赤黒木 二分木というデータ構造があります。 計算機科学では一般的なデータ構造で、ランダムなデータであれば、検索や挿入などの操作を で実現できます。 ただ、データの与え方によっては偏った木ができてしまうことがあり、そうすると各操作の性能が に落ちてしまうので、どうやって木の平衡性を維持するかが課題です。 赤黒木は二分木の一種で、ノード(節点)を赤と黒に塗り分けて、赤と黒の組み合わせによって平衡性を保つための調整を

    数としての赤黒木 - エムスリーテックブログ
    hkdnet
    hkdnet 2019/10/21
    “なお純粋関数型データ構造には、他にも 0, 1, 2, 3, 4 を使う二進数(!)や三進数(ともちろんそれらに対応するデータ構造)が出てきます。 ワクワクしますよね。ぜひ読んでみてください。”
  • RxJSのOvservableを可視化しながら編集できるエディタを作りました - メモを揉め

    これは何? all-user.github.io RxJSのObservableを返すコードを書くとそのストリームに流れてくるイベントがリアルタイムに可視化されるエディタです。 下は実際に触っているところをスクリーンキャストにしたところです。 ダブルクリックの判定を書いています。 RxJSのObservableを直感的に扱えるように 以前このブログで書いた非同期処理の記事の中では次のように紹介しました。 値が次々に流れてくる川の流れのような時間軸を、そのまま抽象化したオブジェクトと言えるかもしれません。 RxJSを使うと、その川の流れのようなオブジェクト同士を、つなげたり、束ねたり、分岐したり、フィルターしたりできます。 イメージで伝われ!図解JavaScriptの非同期処理 - メモを揉め この川のことをイメージする時にマーブルダイアグラムを見たり、プリントデバッグしたりしていたのですが

    RxJSのOvservableを可視化しながら編集できるエディタを作りました - メモを揉め
    hkdnet
    hkdnet 2019/10/01
  • Ruby中間表現のバイナリ出力を改善する - クックパッド開発者ブログ

    Ruby 開発チームに4週間インターン生として参加いたしました、永山 (GitHub: NagayamaRyoga) です。 私は「Ruby中間表現のバイナリ出力の改善」という課題に取り組み、Railsアプリケーションのコンパイルキャッシュのサイズを70%以上削減することに成功しました。以下ではこの課題の概要とその成果について述べたいと思います。 InstructionSequenceの概要 まず、RubyVM 内で実行される命令の中間表現、InstructionSequence (以下 ISeq と省略) について簡単に説明します。 通常の Ruby プログラムは、以下のような手順で実行されます。 ソースコードを構文解析し、抽象構文木を作る。 抽象構文木をコンパイルして、ISeq を作る。 RubyVM (YARV) で ISeq を解釈し、実行する。 ISeq は、このように Ruby

    Ruby中間表現のバイナリ出力を改善する - クックパッド開発者ブログ
    hkdnet
    hkdnet 2019/09/27
  • NLB + Fluentd の構成でファイルディスクリプタが枯渇する謎の現象を解消した話 - Repro Tech Blog

    Repro インフラチーム (SRE + 分析基盤) の伊豆です。今回は、Repro のデータ収集基盤で私たちが遭遇した問題を紹介したいと思います。 具体的には、AWS Network Load Balancer(NLB) + Fluentd の構成でファイルディスクリプタが枯渇する謎の現象に遭遇したので、その問題の調査記録と解決策を共有します。また、この問題を解消するにあたり Fluentd に PR を送ったのでそれの紹介もします。 https://github.com/fluent/fluentd/pull/2352 データ収集基盤の構成 Repro のデータ収集基盤はFlunetd High Availability Configをもとに構成され、大まかに次のようになっています。 SDK からアップロードされたデータは、転送用 Fluentd(log forwarders)を経由し

    NLB + Fluentd の構成でファイルディスクリプタが枯渇する謎の現象を解消した話 - Repro Tech Blog
    hkdnet
    hkdnet 2019/07/03
  • セルフホストで学ぶJVM入門 - k0kubun's blog

    RubyのJIT開発でやろうと思ってることが大体 @_ko1 さんの作業待ちでブロックしていて暇なので何かを書こうと思い、JVMを書くことにした。 まだその辺のアプリを気軽に動かせるレベルでは全然ないが、別に秘密裏に開発する必要もないと思ったので公開した。 github.com これの紹介と、現時点で学べたことをこの記事に記録しておく。 何故JVMなのか 仕事でJVM言語を使っている 僕が所属しているTreasure Dataでは、大雑把に言うと番サーバーのサービスは大体Ruby, Java, Scala, Kotlinで書かれている*1ので、既にRubyのVMはある程度わかる*2ことを考えると、JVMさえ理解してしまえば社内の主要な言語評価系を抑えたことになり、運用面で活躍の機会が増える気がしている。 また、自分が最近一番書いているのはKotlinなのだが、JVMで動かしていることに由

    セルフホストで学ぶJVM入門 - k0kubun's blog
    hkdnet
    hkdnet 2019/06/27
  • FintechスタートアップのHandii、ニッセイ・キャピタル、Coral CapitalよりプレシリーズAで総額約3億円の資金調達を実施

    Fintechスタートアップの株式会社Handii(所在地:東京都中央区、代表取締役社長兼CEO:柳志明、以下「Handii」)は、ニッセイ・キャピタル株式会社(所在地:東京都千代田区、代表取締役社長:安達哲哉、以下「ニッセイ・キャピタル」)、株式会社Coral Capital(所在地:東京都千代田区、創業パートナーCEO:James Riney、以下「Coral Capital」)を引受先とする第三者割当増資により、総額約3億円の資金調達を実施しました。これによりHandiiの累積資金調達額は約4億円となります。 Handiiは法人向けウォレットサービス「paild(ペイルド)」を今秋リリースします。サービスのリリースに向けて、Handiiは株式会社オリエントコーポレーション(所在地:東京都千代田区、代表取締役社長:河野雅明、以下「オリコ」)と提携いたしました。提携により、オリコはp

    FintechスタートアップのHandii、ニッセイ・キャピタル、Coral CapitalよりプレシリーズAで総額約3億円の資金調達を実施
    hkdnet
    hkdnet 2019/06/26
  • 1px の変化も見逃さない!ビジュアルリグレッションテスト導入で快適フロントエンド開発 - dely Tech Blog

    こんにちは!dely でフロントエンドの開発をしています @all__user です。 今回は kurashiru のフロントエンド開発に導入されたビジュアルリグレッションテストについてご紹介したいと思います。 【反応を多くいただいた点について記事の最後に追記しました】 目次 目次 ビジュアルリグレッションテストとは 導入の背景 フロントエンドのテスト? SPA移行前後の比較 ツール reg-suit Loki Wraith BackstopJS テストのフロー GitHub + CodeBuild + BackstopJS ステージング環境 テストケースは Google スプレッドシートで管理 結果を S3 にアップロードして Slack に通知 まとめ 【追記】 運用が大変ではないか? 1pxの違いにそこまで工数かける? 広告が差し込まれたり変わっただけでテストが壊れるのでは? ビジュ

    1px の変化も見逃さない!ビジュアルリグレッションテスト導入で快適フロントエンド開発 - dely Tech Blog
    hkdnet
    hkdnet 2019/04/23
  • When a vulnerability is not a vulnerability - Magnus Hagander's blog

    hkdnet
    hkdnet 2019/04/04
  • railsdm2019.pdf

    Hitachi Hokudai Lab. & Hokkaido University Contest 2022 B問題解説

    railsdm2019.pdf
    hkdnet
    hkdnet 2019/03/22
  • 文系でプログラマーになったけど色々失敗して3年半で会社を辞めた話|denkigai

    2018年12月31日、新卒入社して3年半勤めた会社を辞めた。東京の八重洲にある、フリーペーパーやWebサービスを作る会社で働いていた。いわゆる「文系プログラマー」というやつで、文系学部を卒業後、会社に入ってからプログラミングを覚えた。現在は退職してフリーランスになり、個人で開発しつつ、ずっと漫画を描いている。 3年半のあいだ、大きく分けて2つの失敗をした。 1. プログラミング入門の仕方に失敗した 2. プログラミングを覚えてから何をすればいいかわからなかった 前者の失敗の結果、プログラミングを投げ出して京都に逃亡した。後者の失敗では精神を病み、3ヶ月休職をすることになった。前者は笑い話だが、後者は人生に暗い影しか落とさない。これからプログラミングを始めようと考えている人には同じような失敗を避けてほしい。そういう願いも込めてこの文章を書いている。 ※「文系プログラマー」という表現は適切で

    文系でプログラマーになったけど色々失敗して3年半で会社を辞めた話|denkigai
    hkdnet
    hkdnet 2019/01/21
  • gowrtr - goコード生成支援ライブラリ - その手の平は尻もつかめるさ

    gowrtr (go writerと発音します) というgoのコード生成支援ライブラリ (ジェネレータ群) を書きました. github.com Synopsisに書いたように, package main import ( "fmt" "github.com/moznion/gowrtr/generator" ) func main() { generator := generator.NewRoot( generator.NewComment(" THIS CODE WAS AUTO GENERATED"), generator.NewPackage("main"), generator.NewNewline(), ).AddStatements( generator.NewFunc( nil, generator.NewFuncSignature("main"), ).AddState

    gowrtr - goコード生成支援ライブラリ - その手の平は尻もつかめるさ
    hkdnet
    hkdnet 2019/01/15