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

  • Gmailのメール認証規制強化への対応って終わってますか? - エムスリーテックブログ

    こんにちは。エムスリー・QLife(エムスリーのグループ会社)・エムスリーヘルスデザイン(エムスリーのグループ会社)でエンジニアとして各種作業に関わっている山です! 以前もメール送信の話を書かせていただいたことがありますが、今回もまたメールネタとなります。今回のお題はメールセキュリティです。 大量メール送信のための予備知識 - エムスリーテックブログ すでにご覧になった方もいるかと思いますが、次のようなニュースが流れています。 www.proofpoint.com この「GoogleYahooの新Eメール認証要件」ってつまりどういうことよ? というところを具体的にどのように進めているかについて書かせていただきたいと思います。 2023/12/18追記 : Googleからメール送信にTLSを使うことが追加要件として示されました。 TL;DR とりあえず何から始める? 何はともあれ実際に

    Gmailのメール認証規制強化への対応って終わってますか? - エムスリーテックブログ
    tmatsuu
    tmatsuu 2023/10/29
    はい
  • テーブルを一個追加するたびにGRANT文書かないといけないの、やめられます - エムスリーテックブログ

    WebシステムがPostgreSQLにアクセスするときのDBロールはどうしていますか? postgres みたいな全能ロールをそのまま使う⋯⋯ でも動くシステムにはできるんですが、仮にアプリサーバ側の脆弱性を突かれたときに即DBの全権限まで危険にさらされる構成はインターネットにさらす番システムではやりにくく、SELECT/INSERT/UPDATE/DELET権限だけ付けたデータアクセス専用のロールを作ってこれを使うのが一般的かと思います。 すると手間になってくるのがテーブルを追加したときにGRANTが必要なことですし、それをうっかり忘れて番リリース後に権限エラー発生みたいな事故も起こりえます。 日も超小物のお題をお送りします、エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@yuba@reax.work) [記事一覧 ]です。 新規テーブ

    テーブルを一個追加するたびにGRANT文書かないといけないの、やめられます - エムスリーテックブログ
    tmatsuu
    tmatsuu 2023/09/18
    ALTER DEFAULT PRIVILEGES。へー知らなかった
  • postfixによる大量メール送信にまつわる問題と対処 - エムスリーテックブログ

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

    postfixによる大量メール送信にまつわる問題と対処 - エムスリーテックブログ
    tmatsuu
    tmatsuu 2023/06/17
    知見だ。こちらが重要だった。
  • 大量メール送信のための予備知識 - エムスリーテックブログ

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

    大量メール送信のための予備知識 - エムスリーテックブログ
    tmatsuu
    tmatsuu 2023/06/17
    わいわい。とても奥が深いのでビジネスでは金で解決を自分も薦めます。
  • 自作 Terraform Registry - エムスリーテックブログ

    こちらはエムスリー Advent Calendar 2022 Advent Calendar 2022の一日目の記事です。 エムスリーエンジニアリンググループ AI機械学習チームでソフトウェアエンジニアをしている中村(po3rin) です。検索とGoが好きです。今回はPrivate Terraform Registry周りを調べていて学んだTerraform Provider Registryを自作する方法を紹介します。 Overview Terraform Providerについて Terraform Registry API GoによるTerraform Provider Registry実装 Service Discovery API Regist Provider API List Available Versions API Find a Provider Package AP

    自作 Terraform Registry - エムスリーテックブログ
    tmatsuu
    tmatsuu 2022/12/10
    自作できる!わいわい
  • こんばんは、X-Forwarded-For警察です - エムスリーテックブログ

    エムスリーエンジニアリンググループ製薬企業向けプラットフォームチームの三浦 (@yuba)です。普段はサービス開発やバッチ処理開発をメインにやっておりますが、チームSREに参加してからはこれに加えて担当サービスのインフラ管理、そしてクラウド移行に携わっています。 今回はそのクラウド移行の話そのものではないのですが、それと必ず絡んでくるインフラ設定に関してです。 アクセス元IPアドレスを知りたい Webアプリケーションがアクセス元IPアドレスを知りたいシーンというのは、大まかに二つかと思います。ログ記録用と、アクセス制限ですね。どちらもアプリケーションそのものではなく手前のWebサーバの責務のようにも思えますが、そうとも言い切れません。動作ログ、特に異常リクエストをはじいた記録なんかにセットでIPアドレスを付けたいとなるとアプリケーション要件ですし、アクセス制限についてもマルチテナントサービ

    こんばんは、X-Forwarded-For警察です - エムスリーテックブログ
    tmatsuu
    tmatsuu 2021/02/14
  • IaCを意識したCLI開発のエッセンス - エムスリーテックブログ

    エムスリーエンジニアリンググループ AI機械学習チームの中村(@po3rin) です。 好きな言語はGo仕事では主に検索周りを担当しています。 エムスリーの検索基盤ではElasticsearchを利用しています。社内で積極的に検索改善が行われており複数のIndexが管理がしづらいという問題がありました。 そこで定義ファイルからIndexの状態を冪等性を持って同期させるeskeeperというOSSを作りました。 この経験から「定義ファイルで〇〇を宣言的に管理する系のツール」を作る時のちょっとしたコツを紹介します。タイトルの通り今回はIaCツールを作るのではなくIaCのプラクティスを意識してCLIを作るお話になるのでご了承ください。 なぜeskeeperを作るに至ったか チームでのElasticsearchの運用と課題 eskeeperとは IaCを意識したCLI開発のエッセンス コマンド

    IaCを意識したCLI開発のエッセンス - エムスリーテックブログ
    tmatsuu
    tmatsuu 2020/12/26
    わいわい
  • FireTV stickを懐かしのコインタイマー化 - エムスリーテックブログ

    エムスリー エンジニアリングGの岩です。 会社ではWeb開発をインフラ・サーバサイド・フロント・運用全てを担っています。 一方家ではDIY・IoT・スマホアプリなどを作る子育てエンジニアやっています。 今回は子育てのために作ったFireTV stickのコインタイマー化を紹介します。 まず作ったものはこちら。 www.youtube.com なぜ作ったのか 最近5歳になる娘がアニメを見すぎているなぁと感じていたのですが、土曜日の夜にふと思いつきました。 「昔、旅館でお金を入れてテレビを見る仕組みがあったけど、それを活用できないかな!?」ということで調べてみました。 Amazonで調べてみると今でも売っているようです。こういう製品です。懐かしいですね。 この製品を買えばかんたんに実現はできるのですが、実際に使ってもらえるかわからないのに3万弱も出せません。 ということで家にあるもので作れな

    FireTV stickを懐かしのコインタイマー化 - エムスリーテックブログ
    tmatsuu
    tmatsuu 2020/09/20
    わいわい。NintendoSwitchのコインタイマー化はポータブルが故に難しいね…
  • ベンフォードの法則を試してみる - エムスリーテックブログ

    こんにちは。エンジニアリンググループの高島(id:rst76)です。 最近、私が翻訳した『実用的でない Python プログラミング』というが出版されたので、内容の一部を紹介したいと思います。 実用的でないPythonプログラミング - 共立出版 原著者はこのを、Python を勉強する人が 2 冊目に読むものと位置づけています。 つまり基的な構文などは分かっていて、色々なプログラムを書いてみたいというときに読むです。 他のプログラミング言語を知っていて、 Python を触ってみたいというときにもいいかもしれません。 こので扱う手法は、遺伝的アルゴリズム、マルコフ連鎖解析、モンテカルロ・シミュレーションなど、多岐に渡ります。 これらについて既に知っている人はニヤリとするかもしれません。 どれも名前はカッコいいですが、それほど難しいものではないからです。 それらの手法を利用して扱

    ベンフォードの法則を試してみる - エムスリーテックブログ
    tmatsuu
    tmatsuu 2020/08/15
    書籍「実用的でないPythonプログラミング」よさそう
  • git submodule はトモダチ!怖くないよ! (チートシート付き) - エムスリーテックブログ

    この画像は文とは関係ありません。 こんにちは、エムスリー・エンジニアリングG・基盤開発チーム小です。 みなさん、git submodule コマンドは好きですか?git submodule は特定の状況下では便利なコマンドです。 社内アンケートでも25%が怖いという結果に しかし、なぜか世間にはgit submodule が怖いという人が相当数いるようです。推測ですが、git submodule は動作モデルや使用手順が誤解されがちなところがあり、それで「怖い」と思われているのないでしょうか。git 体でも昔そんなことがありましたよね。 この記事では git submodule の誤解を解き、適切な使い方を解説します。また、記事の最後にチートシートをつけます。 git submoduleはトモダチ!怖くないよ! git submodule って何? 誤解1 「プロジェクトが大きくなっ

    git submodule はトモダチ!怖くないよ! (チートシート付き) - エムスリーテックブログ
    tmatsuu
    tmatsuu 2020/03/08
    使うべきシーンはそんない多くない。なるほど。
  • 新規アプリでGraphQLを全面採用した話 - エムスリーテックブログ

    この記事は エムスリー Advent Calendar 2019 の17日目の記事です。 こんにちは、エムスリーエンジニアリンググループ マルチデバイスチームの金丸 (@maru333) です。 アナと雪の女王2 は最高でしたね。ただ、劇中の波のシーンが実写か3DCGかを考えだすと気になって夜も眠れません。 さて今日のAdvent Calender では、新アプリを開発する中でGraphQLを試行錯誤しながら色々試した話をしたいと思います。 栃木の大谷資料館 巨大地下空間に行った時の写真。ここはPV撮影や映画撮影など様々な事に使われる空間で、今ドラクエをやっているのでドラクエっぽいなと思って上げました (文とは一切関係ありません) GraphQLで言うと、弊社主催でGraphQLの勉強会を9月に開催しており、そこからのアップデートを主にご紹介するつもりです。 勉強会の内容はこちら (Gr

    新規アプリでGraphQLを全面採用した話 - エムスリーテックブログ
    tmatsuu
    tmatsuu 2020/01/01
    認証負荷の削減、なるほどー。
  • 1つの terraform で複数 AWS Account をまとめて構築・管理する - エムスリーテックブログ

    この記事は terraform Advent Calendar 2019, エムスリー Advent Calendar 2019 の 3 日目の記事です。 All your AWS Accounts are belong to us. *1 こんにちは、ここ数年で terraform で書いた aws_vpc + google_compute_network の数がようやっと 30 個ぐらいになろうかというエンジニア/CTOの矢崎 id:saiya です。 弊社でまとまった規模の AWS 環境を扱う際に、1 つの terraform プロジェクトで複数の AWS アカウントに対してまとめて plan & apply できるようにしていたのですが、その方法が意外と調べにくい様子でしたので、まとめてみました。 なお、やり方が分かってしまえば実施するのは結構簡単です。 これによって出来ること 1

    1つの terraform で複数 AWS Account をまとめて構築・管理する - エムスリーテックブログ
    tmatsuu
    tmatsuu 2019/12/08
    わいわい
  • 世界のシステムに令和が反映されるまで - エムスリーテックブログ

    こんにちは、Androidエンジニアの星川 (id:oboenikui) です。 いよいよあと5日で令和となりますね。幸いにもAndroidではアプリ側で扱おうとしない限り和暦は使用されないので安心して改元を迎えられそうです。 (iOSにはシステム設定で和暦表示に切り替える機能があるので若干無視できなかったりします) さて、この改元ですが、ほぼ日国内でしか使われていないものではあるものの、OSをはじめ世界中で使われているプロダクトにも影響を与えることは皆さまご存知の通りかと思います。今回はUnicode CLDR (Common Locale Data Repository) のチケットから、どのような流れでこの改元に対応したのか、また改元に合わせてどのような変更が行われたのかを見ていきたいと思います。 By 内閣官房内閣広報室 - 首相官邸ホームページ, CC 表示 4.0, Link

    世界のシステムに令和が反映されるまで - エムスリーテックブログ
    tmatsuu
    tmatsuu 2019/04/30
    漢数字表記を元年にするならわかるが、元、2、3、ってそれどうなのと思ってしまう。
  • Pythonのパッケージ周りのベストプラクティスを理解する - エムスリーテックブログ

    砲撃する自走砲(PzH2000自走榴弾砲)。自走砲は戦車によく似ていますが、戦車ではありません。*編とは関係ありません。 こんにちは、エムスリー基盤開発チーム小です。 Pythonのパッケージ管理周りでは、 「setup.pyでrequirements.txtを読み込むのが普通なんですよね?」 「pipenv があれば venv はオワコンなんですね?」 「pyenvは要らないんですよね!?」 「Python歴史が古い分、Rubyなどに比べてカオス」 みたいな混乱をよく目にします。 実際、複数のツールがあって(一見)複雑です。また「なぜこうした状況にあるのか」がドキュメント化されているわけでもありません。 なので、私なりに整理してみることにしました。 ※「追伸」を追加しました。この記事では汎用プログラミング言語としてPythonを使うケース(Webアプリとか、CLIツールとか、ライブ

    Pythonのパッケージ周りのベストプラクティスを理解する - エムスリーテックブログ
    tmatsuu
    tmatsuu 2019/01/16
    TL;DRで把握した
  • 新ストレージ管理システム Stratis について調べてみた - エムスリーテックブログ

    この記事は エムスリー Advent Calendar 2018 17日目の記事です。 皆さんはじめまして!11月にエンジニアリンググループに入りました、SREの平岡です。今回はSRE・・・というよりインフラ技術に携わるエンジニアとして、OSプラットフォーム周辺での新しい技術について紹介します。 8 が・・・来る! Stratisとは? 他のVMFsとの違いは? 使ってみた インストール&デーモン起動 プール作成〜ファイルシステム作成 その他にできること プールへのキャッシュデバイスの追加 ファイルシステムのスナップショット作成 サポート予定の機能 所感 余談:注目したいポイント We are hiring! 8 が・・・来る! 今年(2018年)11月の頭に Red Hat Enterprise Linux (RHEL) 8 のパブリックベータが公開されました。そのリリースノートに挙げら

    新ストレージ管理システム Stratis について調べてみた - エムスリーテックブログ
    tmatsuu
    tmatsuu 2019/01/03
    ありがたや。クラウド上(仮想化環境上)のサーバでもStratisを使うべきかは気になる。エフェメラルディスクを簡単にキャッシュ用デバイスとすることができるのでメリットはあるだろうけど、うーんどうでしょうね
  • コードレビューを支える『褒め文化』 - エムスリーテックブログ

    コードレビュー、好きですか? エンジニアリンググループの山口です。 クラウド電子カルテ「エムスリーデジカル」を開発しています。 今回は、チームに根ざしている『褒め文化』についてお話しします。 ※この記事は、エムスリー Advent Calendar 2018 13日目の記事です。 『褒め文化』とは 簡単に言えば、コードレビューで褒める文化です。 コメントに対してコメントしている様子 とても簡単です。 とても簡単なのですが、前職(SIer)ではこういった経験が全く無かったため*1、join直後は(良い意味で)驚いたのが印象に残っています。 とにかく褒める けっこう安易に安直に褒められますし、褒めます。 アカウント名は一部加工 思ったことを素直にコメントにしてしまいます。 褒め文化の効用 ここからは「※個人の感想です」になってしまいますが、こうした褒め文化は、レビュア・レビュイどちらの立場でも

    コードレビューを支える『褒め文化』 - エムスリーテックブログ
    tmatsuu
    tmatsuu 2019/01/03
    意識してやっていきたい
  • この処理Pythonでどう書く? - エムスリーテックブログ

    EF15形は高性能な電気機関車であったが、引き出し性能が蒸気機関車に劣ると誤解されていた。 誤った運転方法により来の性能を引き出せていなかったのである。 (spaceaero2 [CC BY 3.0], ウィキメディア・コモンズより) こんにちは、エムスリー・エンジニアリングG・基盤開発チーム小です。 WEBサイトは RailsやSpringなどの「体部分」だけでは完結しません。レポート作成・データ更新などの細かい処理も必要です。 過去にはこうした用途にはBashがよく使われました。しかし、Bashは落とし穴が多かったり、クラスなどの抽象化機能がなかったりして、規模が大きくなると辛くなります。 そこで、Bashの代替候補に挙がるのがPythonです。エムスリーでもかつてはBashを使っていましたが、現在は新規案件にはPythonを推奨しています。 しかし、実際にPythonで書き直そ

    この処理Pythonでどう書く? - エムスリーテックブログ
    tmatsuu
    tmatsuu 2018/11/25
    とてもいいね。シェルのpython置き換えの流れはうちも同じ。これ会社ごとに推奨言語は違うと思うので同じお題で各言語版があると良さそう
  • タイムゾーンを考慮した日時の扱いのベストプラクティス - エムスリーテックブログ

    こんにちは、server-side kotlinterraform を書くことが多い、エンジニアリングGの矢崎(id:Saiya)です。 タイムゾーンや日時の扱いについての話題がホットな昨今ですが、 そういった日時の扱いについて例えば以下のようなお話を受けることが少なからずありました: とりあえず日時は UTC からの時差情報付きで扱えばいいんでしょ? DB に保存するときもタイムゾーン情報付きで入れておけばいいんでしょ? こういったお話を振られた際に、思うところを一言でサッと説明できずもやもやする事もあり、 また web サービスにおいて日時・タイムゾーン・オフセットをどう扱うべきか?納得の行く説明をあまり見つけられなかったため、 筆者なりに考えをまとめてみました。 国家的祭典のために急にサマータイムが導入されるといった話に限らず、 クラウドサービスが UTC+0 の日時になってい

    タイムゾーンを考慮した日時の扱いのベストプラクティス - エムスリーテックブログ
    tmatsuu
    tmatsuu 2018/08/17
    ZonedDateTimeとOffsetDateTimeの概念の違いはわかるが、この説明での使い分け方が理解できなかった。修行が足りない。海外のサービスだと設定画面でタイムゾーンをユーザに選ばせる実装もあるよね。
  • 1