タグ

ブックマーク / www.m3tech.blog (11)

  • データベース自作勉強会・輪実装会のススメ - エムスリーテックブログ

    先日、社内有志で開催していたDB自作 Database Design and Implementation の輪読会ならぬ輪実装会がついに完結を迎えました。 RDBMSをゼロから、毎週一人ずつ、1章分を実装してPullRequestを出しつつ資料も準備して発表をこなすという一見ハードな勉強会で、完走できるか不安もありつつスタートしましたが、やってみるとめちゃくちゃ楽しく最後まで完走できました。 記事ではみなさんに「うちでもやってみたい」と思ってもらえることを願って、読んだ推しポイントや、どのように勉強会を進めたかを紹介したいと思います。 感動で涙の出るコード Part1: おすすめポイント が良い みんなでワイワイやるのが良い 3ヶ月で完走できるのがいい 完走後のモチベーションアップが良い Part2: 輪実装会 募集 参加者 進め方・実装 期間 Part3: おれたちのDB実装

    データベース自作勉強会・輪実装会のススメ - エムスリーテックブログ
  • 3年間Stripe Connectを運用した経験を共有します - エムスリーテックブログ

    こちらはエムスリー Advent Calendar 2023の22日目の記事です。 こんにちは、エムスリーエンジニアリンググループ、デジスマ診療チームの山 (id:shunyy) です。 医療機関向けSaaSであるデジスマ診療は、開発開始からちょうど3年が経ち、現在では予約・問診等、多様な機能を提供していますがリリース当初は決済機能のみを提供していました。そんなデジスマのコア機能である決済機能はStripe Connectを利用しており、今回は3年間運用した学びを共有したいと思います。 デジスマ診療のプロダクトの内容は以下のスライドを御覧ください。 speakerdeck.com そもそもStripe Connectとは何なのか Stripe Connectのアカウントタイプ・支払いタイプについて デジスマ診療の全体構成 追加開発事例 Amazon AppFlowを利用したBigQuer

    3年間Stripe Connectを運用した経験を共有します - エムスリーテックブログ
  • メール配信システムを SaaS から新規社内システムへ移行した - エムスリーテックブログ

    この記事はエムスリーAdvent Calendar 2023の20日目の記事です。 エムスリーエンジニアリングG コンシューマチームの松原(@ma2ge)です。 今回はコンシューマチームで利用していたSaaSのメール配信システムを、新規に開発した社内システムに移行した経緯や設計時に意識したことなどについて紹介します。 最近使っているキーボードの様子 背景 今回移行する契機となったのはメールの配信数増加に伴うSaaSの利用料金増です。 特に定期的に送るメルマガ配信については、配信量も多く利用コストを押し上げる要因となっていました。 そのためメルマガ配信で大量に使用する部分についてのシステム移行検討が始まりました。 移行検討 SaaSから移行後のシステムについて試算すると、システムの開発や利用料といったコスト面では社内で構築したシステムの方が大幅にコストが下がることがわかりました。 しかしなが

    メール配信システムを SaaS から新規社内システムへ移行した - エムスリーテックブログ
  • 世界最速で Astro SSR を Amplify Hosting で動かしてみた - エムスリーテックブログ

    こんにちは。エムスリーエンジニアリンググループのコンシューマチームでアーキテクトをしている園田です。 日はコンシューマチームのブログリレー 1 日目です。 2023/11/20 (日時間だと日) に AWS の Amplify Hosting で Next.js/Nuxt.js 以外の SSR サポートが発表されました。 aws.amazon.com aws.amazon.com さっそく Astro の node アダプターを使った SSR な Web サイトを Amplify Hosting できるかやってみました。 現在公式でサポートされているのは Nuxt のみですが、以下のドキュメントに他の SSR フレームワークにも適用できるようにディレクトリ構成などの仕様が記載されています。 docs.aws.amazon.com このドキュメントを参考に Astro SSR を構築し

    世界最速で Astro SSR を Amplify Hosting で動かしてみた - エムスリーテックブログ
  • PostgreSQL チューニングよもやま話 - エムスリーテックブログ

    【Unit4 ブログリレー3日目】 こんにちは,エムスリーエンジニアリンググループの榎田です.数学テレビゲームが好きです. 今回は,Unit4 で運用している "Docpedia" というサービスで実施した SQL チューニングの実例を2つご紹介します.普段の私が意識していなかった, RDBMS の内部機構に関する話が登場して面白かったので,今回の記事を書きました. なお,稿で扱う議論はすべて PostgreSQL 11.x 以上を対象としており,特にその他の RDBMS で同様の動作をするかは確認していません.定性的な挙動に共通するものはあるかもしれませんが,ここで述べた話はそのままは通らないであろうことをお断りさせてください*1. プロダクトについて index なしで意外と耐えたが,耐えきれなかった話 実際の SQL とテーブル定義 原因の分析 対応策 SELECT DISTIN

    PostgreSQL チューニングよもやま話 - エムスリーテックブログ
  • postfixによる大量メール送信にまつわる問題と対処 - エムスリーテックブログ

    【SREチーム ブログリレー2回目】 お疲れ様です。エンジニアリンググループ、コアSREの山です。 前回ブログリレー1回目の記事で大量メール送信のために基設定について書かせていただきました。 www.m3tech.blog 今回はそれを受けて構築したサーバで実際に発生したいくつかの問題、その問題への対処といったものを書かせてください。 エムスリーのメール送信で発生した問題とその対策 特定のメールサーバからの突然のメール拒否 メールの翌日までの滞留 TLS問題 メールがどうしても迷惑メール扱いされるという苦情 postfixのメール処理とステータス メールログの監視 まとめ We are Hiring! エムスリーのメール送信で発生した問題とその対策 実際にここ一年あたりの間に発生した問題とその問題への対応を記述していきたいと思います。postfixを利用して送信していますので設定はpo

    postfixによる大量メール送信にまつわる問題と対処 - エムスリーテックブログ
  • 大量メール送信のための予備知識 - エムスリーテックブログ

    【SREチーム ブログリレー1回目】 お疲れ様です。エンジニアリンググループ、コアSREの山です。 他の情報伝達手段が現れた今は「メール」は以前よりも比重は落ちたかもしれませんが、まだまだ多くの人に情報を一気に伝えるための重要なツールです。 エムスリーでは自社サーバを利用してメールの大量送信を実施していますが、メール送信を実施するにあたって気にすべき基的な事項についてシェアさせてください。 大量メール送信に関連する基的な設定 基的な設定(SPFと逆引き) DKIM IPの追加削除 バウンスメール処理 金で解決 まとめ We are Hiring! 大量メール送信に関連する基的な設定 メール送信自体はそれほど難しいものではありません。 エムスリーではpostfixを利用していますが、設定はほとんどオリジナルでもメール送信自体は可能です。せいぜいドメイン名を登録するくらいでもいけます

    大量メール送信のための予備知識 - エムスリーテックブログ
  • エムスリーのデータ基盤を支える設計パターン - エムスリーテックブログ

    こんにちは、エムスリー エンジニアリンググループ の鳥山 (@to_lz1)です。 ソフトウェアエンジニアとして 製薬企業向けプラットフォームチーム / 電子カルテチーム を兼任しています。 ソフトウェアエンジニアという肩書きではありますが、私は製薬企業向けプラットフォームチームで長らくデータ基盤の整備・改善といったいわゆる "データエンジニア" が行う業務にも取り組んできました。 日はその設計時に考えていること / 考えてきたことをデータ基盤の設計パターンという形でご紹介しようかと思います。多くの企業で必要性が認識されるようになって久しい "データ基盤" ですが、まだまだ確立された知見の少ない領域かと思います。少しでもデータエンジニアリングを行う方の業務の参考になれば幸いです。 データ基盤の全体像 収集部分の構成 RDBデータ ログデータ 活用部分の構成 データマートの実例 「データ基

    エムスリーのデータ基盤を支える設計パターン - エムスリーテックブログ
  • Flutterアプリでのデザインマネジメント - エムスリーテックブログ

    エンジニアリンググループ 新規プロダクト支援チーム所属の荒谷(@_a_akira)です。 あまり知られていないかもしれませんが弊社では、2019年末から既に6つの新規アプリをFlutterで実装しリリースしています。 先日リリースされたデジカルスマート診療(以降デジスマアプリ)という医療機関向けに予約やキャッシュレス決済を導入・利用できるアプリもFlutterで作成しています。 digikar-smart.jp このサービスの立ち上げからリリースまでの開発期間は約3ヶ月で開発側の人数もPdM1人、アシスタントPdM1人、デザイナー1人、バックエンド2人、WEB フロント(クリニック向け管理画面)1人、アプリ(患者向け, Flutter)1人の構成で開発しています。 このあたりの開発体制については先日記事が上がっているので興味のある方はそちらを見てみてください。 www.m3tech.blo

    Flutterアプリでのデザインマネジメント - エムスリーテックブログ
  • 検索基盤チームのElasticsearch×Sudachi移行戦略と実践 - エムスリーテックブログ

    エムスリーエンジニアリンググループ AI機械学習チームでソフトウェアエンジニアをしている中村(@po3rin) です。最近、AI機械学習チーム配下の検索基盤チームでElasticsearchのAnalyzerをKuromojiからSudachiに移行しました。今回はSudachi移行の背景と、Sudachiの概要、実際に移行するにあたってのプロセスや注意事項をお話しします。 対象読者 なぜSudahchiに移行したのか 検索基盤チームが抱えていた検索の課題 Sudachiとは Sudachiへの移行戦略と実践 今使っているKuromojiユーザー辞書をSudachiユーザー辞書に移行する 今使っているシノニム辞書からSudachi正規化機能でまかなえるものを削除する 平仮名/カタカナの正規化辞書を作る 移行時のSudachi切り替え戦略 移行後の影響の事前確認 Sudachi移行時のハ

    検索基盤チームのElasticsearch×Sudachi移行戦略と実践 - エムスリーテックブログ
  • Elasticsearchで関連キーワード機能がどれだけ低コストで実装できるかの旅路 - エムスリーテックブログ

    クエリに対する関連キーワード機能 エムスリーエンジニアリンググループ AI機械学習チームの中村(@po3rin) です。 好きな言語はGo仕事では主に検索周りを担当しています。 Overview 最近の仕事で医師に質問ができるサービスで「Elasticsearchを使ってなるべく低コストで関連キーワード機能を実装する」という案件に携わっていました。記事では関連キーワード機能を低コストで実装するための技術調査の結果と、実際に採用した方法をご紹介します。 今回紹介する方法は機械学習などは使わず、なるべく低コストである程度の品質を目指すものです。この記事を読むことで検索アプリケーションにサクッと関連キーワード機能を実装できるようになるでしょう。 Overview 検索における関連キーワード機能とは 実装の前提条件 実装パターンの紹介 (1) ログで出現した単語を数えあげる (2) ログに対

    Elasticsearchで関連キーワード機能がどれだけ低コストで実装できるかの旅路 - エムスリーテックブログ
  • 1