タグ

2024年2月7日のブックマーク (10件)

  • マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング

    この記事はMERPAY TECH OPENNESS MONTHの15日目の記事です。 こんにちは。メルペイのPayment PlatformチームでPaymentServiceの開発を担当するエンジニアの @foghost です。 メルペイではマイクロサービスのアーキテクチャで決済システムを開発しています。その中でPaymentServiceは決済トランザクション管理の基盤サービスとして、下位層のサービス(外部サービスも含め)が提供する各種決済手段を利用して、上位層のサービス(メルカリ、NFC,コード払いなど)に必要な決済フローを共通APIとして提供しています。PaymentServiceが提供する決済処理に複数のサービスを跨いでお金の動きを正確に管理する必要があるので、作り始めた頃から決済トランザクション管理を最も重要な課題として、サービスを跨いでもデータの整合性が取れる仕組みを作ってき

    マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング
  • Intl.Segmenterはどうやって単語分割しているのか

    Intl.Segmenter についておさらい JavaScript には Intl と呼ばれる国際化 API があり、日時や数値のフォーマットを始めとする国際化に便利な機能が揃っています。Intl.Segmenter はこの Intl の一機能で、文字・単語・文章単位での文字列分割を可能にします。 文字単位での分割では複数のコードユニットやコードポイントを持った文字を考慮し、正確に見た目上の1文字(書記素)で分割できるので、絵文字を含んだ文字数のカウントなどに便利です。 const segmenter = new Intl.Segmenter("ja", { granularity: "grapheme" }); console.log("🇯🇵👨🏻‍💻".length); // ❌ 11 console.log([..."🇯🇵👨🏻‍💻"].length); // ❌

    Intl.Segmenterはどうやって単語分割しているのか
  • The Querynomicon

    Upon first encountering SQL after two decades of Fortran, C, Java, and Python, I thought I had stumbled into hell. I quickly realized that was optimistic: after all, hell has rules. I have since realized that SQL does too, and that they are no more confusing or contradictory than those of most other programming languages. They only appear so because it draws on a tradition unfamiliar to those of u

  • 楕円曲線暗号方式の強度について - dwango on GitHub

    ブログは2024/2に執筆されています。そのため、アップデートによってここに記載されている内容が現状と乖離する可能性があります。記載する内容を参照する場合は自己責任でお願いします。 はじめに こんにちは! ドワンゴでエンジニアをやっている小林と申します。競技プログラミング趣味にしています。 今回は業務には関係ありませんが、個人的に興味のあるトピックであるセキュリティーについて執筆します。 対象読者: 以下のどれかを満たす人 AtCoder で青色〜黄色以上、あるいは意欲のある水色以上 暗号理論に興味のある人 数学が好きな人 また、簡単な群論の知識を仮定します。(群の定義など) まとめ セキュリティーの強さはセキュリティーレベルと呼ばれる尺度で測ることができます。 \(k\) ビットセキュリティーはおよそ \(2^k\) 回の計算を要するレベルです。 \(n\) ビットの楕円曲線暗号方

    楕円曲線暗号方式の強度について - dwango on GitHub
  • Linux上で動作するAntiVirusに関して(I) - SIOS SECURITY BLOG

    こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面です。 こちらの記事は、以前(2016年11月)に書いた記事の更新版となります。 ここでは、Linux上で動作するAntiVirusを簡単にまとめ、各AntiVirusの性能面を実際にテストしたホワイトペーパーを紹介します。 Linux上のAntiVirusの必要性筆者もかつてAntiVirusベンダーにエンジニアとして居たことから、よく「LinuxにAntiVirusは必要なのか?」と聞かれることが有ります。 Linux上でのAntiVirusの必要性について、筆者の考える所は以下になります。 ユーザへのシェアの問題で対象外なだけだがLinuxでもMalwareは増加している MacOSなどの議論でもよく言われていますが、LinuxはやはりWindowsに比べてデスクトップPCとしての普及率は圧倒的に少ないです。 OSのシ

    Linux上で動作するAntiVirusに関して(I) - SIOS SECURITY BLOG
  • Cloud Run + Litestream で RDB を使いつつ費用を格安に抑える

    前から気になっていた Litestream を Cloud Run で使ってみたので、そのメモです。 Litestream とは? サンプルコード 手順 動作確認してみる 制限事項 おまけ まとめ 参考 Litestream とは? Litestream は、 SQLite のデータベースファイルを Amazon S3 や Google Cloud Storage などのオブジェクトストレージにリアルタイムでレプリケートすることができるオープンソースのツールです。 例えば通常 Cloud Run で DB エンジンとして SQLite を使用しようとしても、コンテナが破棄されると同時に毎回 SQLite のデータベースファイルも消えてしまうため、データを永続化することができません。 しかし Litestream を使用すれば、 SQLite のデータベースファイルをオブジェクトストレージに

    Cloud Run + Litestream で RDB を使いつつ費用を格安に抑える
  • WebAssemblyでOpenJDKのJavaランタイムを実装、JarファイルをそのままWebブラウザで実行できる「CheerpJ 3.0」正式リリース

    WebAssemblyでOpenJDKのJavaランタイムを実装、JarファイルをそのままWebブラウザで実行できる「CheerpJ 3.0」正式リリース Webブラウザ上で実行可能なWebAssemblyJavaVM 前バージョンのCheerpJは、Javaのバイトコードを事前コンパイルによりJavaScriptコードに変換することで、Webブラウザ上でJavaアプリケーションを実行可能にするコンパイラを中心とするツール群でした。 今回の新バージョン「CheerpJ 3.0」では、WebAssemblyによってOpenJDKのJavaランタイムを完全に実装したと説明されています。これにより、JITコンパイラなどを含むJavaVMの機能をWebブラウザ上で実行できるようになりました。 Javaアプリケーションのソースコードは不要で、ビルド済みのJarファイルをそのままWebブラウザで実行

    WebAssemblyでOpenJDKのJavaランタイムを実装、JarファイルをそのままWebブラウザで実行できる「CheerpJ 3.0」正式リリース
  • プログラマーの教養としての原則

    参考 プリンシプル オブ プログラミング - 3年目までに身につけたい一生役立つ101の原理原則 発行: 2016/3/23 著者: 上田 勲 まえがき プログラマーの世界で語り継がれる原則や格言を知ることは、その共通の言語や道徳を理解する手助けとなります。 『プリンシプル オブ プログラミング』(以下、プリプロ)は、統一された語句と形式により、先人のプログラマーたちが重要視していた思考法やアプローチを、微妙な概念の違いに気を使うことなく理解できるよう構築されています。この記事では、このを読む上で役立つ101の原則マップと原則から抽出した価値観をまとめます。プリプロを読む際のガイドになればと思います。 一方で、プリプロに収録されていないウィットに富んだ原則や格言も多く存在します。この記事では、主に私の現場で重要視しているプリプロの101の原則以外の原則・格言も追加で紹介します。 プログラ

    プログラマーの教養としての原則
  • レイテンシ(遅延)とスループット(帯域幅)と帯域幅遅延積 - Qiita

    マルチクラウド展開にまつわる既成概念を覆すより データ転送では、特に長距離の場合にレイテンシ(遅延)が問題になることがありますが、現在はすべてのクラウド・プロバイダーがそれぞれの物理インフラストラクチャを互いの近くに配置(専門用語では「コロケーション」)しているため、これはさほど問題となりません。この近接性(場合によっては同一コロケーション施設内の別の部屋)は、クラウド間のレイテンシがミリ秒単位であることを意味します。それに加え、クラウド・データセンター・リージョンは世界中で増加しており、クラウド・リージョン間の距離は縮まっています。 という事で、レイテンシ(遅延)について、まとめてみてみます。 ■ Agenda レイテンシ(遅延)とスループット(帯域幅) レイテンシと TCP の動作 帯域幅遅延積(Bandwidth-Delay Product) TCP Window Size の調整と

    レイテンシ(遅延)とスループット(帯域幅)と帯域幅遅延積 - Qiita
  • 高校世界史教科書で学びなおす歴史学習メソッド(2024年/令和6年改訂版)|tricken

    0. 2024年02月上旬の世界史トークから2024-02-05月 16:00時ごろ、下記のようなTweet (post) がありました。 (スタ・エレ/ @Bt1THS9XFohvr93 さんの歴史学習関連の書き込みに対して、@Simion_Sin さんが半端な歴史に頼ることのリスクに触れた、という流れです。) 中年になってから「勉強しなおそう」というときに紐解くべきは山川の歴史教科書であって、間違っても「教科書が教えない歴史」みたいなコンビニではないのだ(戒め #こねくと https://t.co/I7It6TkD0r — Simon_Sin (@Simon_Sin) February 5, 2024 2人が触れている #こねくと とは、2023年から『たまむすび』の後継番組として始まったTBSラジオの平日午後枠の番組『こねくと』のことです。月曜1600時台のアンケート企画で、「学

    高校世界史教科書で学びなおす歴史学習メソッド(2024年/令和6年改訂版)|tricken