タグ

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

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

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

    Gmailのメール認証規制強化への対応って終わってますか? - エムスリーテックブログ
  • goのLambdaはコンテナイメージでよくない? - エムスリーテックブログ

    【Unit4 ブログリレー8日目】 こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 今日の記事は、タイトルのとおりgoLambdaはコンテナイメージで管理するのがオススメって話です。 城島高原パーク(きじまこうげんパーク)は、大分県別府市の城島高原にある遊園地。文には関係ありません。 go1.xランタイムのサポート終了 コンテナイメージにする利点 起動時間は遅くならないの? 構成 処理体 main.go Dockerfile 番実行用イメージ ローカル実行用イメージ ローカルで実行 Lambdaの設定 まとめ We are hiring! go1.xランタイムのサポート終了 先日、AWS Lambdago1.x ランタイムのサポート2023/12/31で終了することが話題になっていました。 「なっていました」と伝聞なのは、Unit4ではすで

    goのLambdaはコンテナイメージでよくない? - エムスリーテックブログ
  • goquを駆使してgoでSQL構築も構造体マッピングもRDBテストもやる - エムスリーテックブログ

    【Unit4 ブログリレー6日目】 こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 最近まで開発していたm3ラウンジでは、goからRDBを利用していました。 m3ラウンジでは、SQLの組みやすさやテストのしやすさの観点で検討した結果、goquを採用しましたので、 そこで得られた知見とその実装例を紹介します。 これから試してみる方(と将来m3ラウンジの開発に新たに入ることになったメンバー)の参考になるように、サンプルコードも説明も多くなってしまいかなり長いです。 お時間ある時にお読みいただければ。 名古屋城は、日の城のひとつ。尾張国愛知郡名古屋(現在の愛知県名古屋市中区丸・北区名城)にある。文には特に関係ありません。 m3ラウンジ goqu 実例 modelの構造体 mapper mapperの実装 goquのSQLの結果から構造体へのマッピング

    goquを駆使してgoでSQL構築も構造体マッピングもRDBテストもやる - エムスリーテックブログ
  • いいねとその通知機能をDynamoDBで設計したら思ったよりムズい - エムスリーテックブログ

    【Unit4 ブログリレー4日目】 こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 今回は、SNSではごく一般的ないいねとその通知機能をDynamoDBを利用して実装したら思ったより大変だったので、その詳細をご紹介します。 キャナルシティ劇場は、福岡県福岡市博多区の複合商業施設「キャナルシティ博多」のシアタービル最上階に位置する劇場。文には特に関係ありません。 m3ラウンジ m3ラウンジのいいねとその通知の要件 RDBで実装したらどうなるか いいね機能 通知機能 DynamoDBで実装する いいね機能 通知機能 いいねする いいねを取り消す 通知を表示する 未読の通知の取得 未読の通知数 未読の通知を既読にする テーブル設計むずい PKとSKに何を選ぶか LSIは途中から作れない DynamoDBをローカルで動かして設計する まとめ We are h

    いいねとその通知機能をDynamoDBで設計したら思ったよりムズい - エムスリーテックブログ
  • Elasticsearchで関連キーワード機能がどれだけ低コストで実装できるかの旅路 - エムスリーテックブログ

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

    Elasticsearchで関連キーワード機能がどれだけ低コストで実装できるかの旅路 - エムスリーテックブログ
  • こんばんは、X-Forwarded-For警察です - エムスリーテックブログ

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

    こんばんは、X-Forwarded-For警察です - エムスリーテックブログ
  • SREの民主化とクラウド移行 - エムスリーテックブログ

    あけましておめでとうございます。今日から02/05までの平日にエムスリーのSREでブログリレーを開催します。その初日の投稿を担当させていただくエムスリーエンジニアリンググループの岩佐です。グループリーダーという立場でSREチーム、基盤チーム、セキュリティチーム、Unit4(m3.com/サイトプロモ)を担当しています。 私からはエムスリーでSREを拡大しようと推進している経緯/流れについて一筆認めさせていただこうかと思います。 要約、早速だけど 経緯、メンバーに敬意を、チームに契機を 方針、状況に合わせて更新 計画、そして軽快に改革 まとめ、ちょっとまともに 要約、早速だけど SREを短期的に大量に採用するのは不可能、じゃないかのう? オンプレミス環境で拡大していくサービス群をSREチームのみが運用していくのは難しい。こんなん困難では?はー、どうしよう 権限の移譲、DevOpsの推進をする

    SREの民主化とクラウド移行 - エムスリーテックブログ
  • 今どきの Go の書き方まとめ (2020 年末版) - エムスリーテックブログ

    こんにちは、m3 エンジニアリンググループ CTO 矢崎(id:Saiya)です。 過去に Go 言語の仕様を一通り見た経験があったのですが、久しぶりに Go のコードを最近読み書きした際に、ここ数年の Go 言語やエコシステムの進化による変化もあり、発見やハマりが多々ありました。 Go 言語公式のロゴもスピード感ありますね。 同じような迷い・回り道をしてしまう方ももしかしたらおられるのではないかと思いますゆえ、 エムスリー Advent Calendar 2020 6 日目の記事として、筆者が実際に「最初から知っていれば時間を無駄にしなかったのに...!」と感じた知見をざっくばらんにシェアいたします。 記事がどなたかの一助になりますと幸いです。 なお記事の内容は筆者個人の理解・自身で直接読み書きしたユースケースの範囲での知見であり、全ての Go 利用事例に当てはまらない点も含みうりま

    今どきの Go の書き方まとめ (2020 年末版) - エムスリーテックブログ
    L3msh0
    L3msh0 2020/12/06
  • 社内サービスを一括・即座・セキュアにリモートワーク開放した話 - エムスリーテックブログ

    はじめまして。 エムスリーエンジニアリンググループSREチームの山です。 先日来のリモートワーク促進の中、弊社でも多くの社員がオフィス外から接続するようになりました。 もちろん、VPNを利用すれば社内のサービスも利用できますが、VPNの使用量が一気に増えるとそちらの制限にかかります。 今回「VPNを可能な限り利用せず、なおかつセキュアに社内のサービスを利用してもらう」という課題に取り組みましたので、ここでその紹介をさせてください。 前提 方針 クライアント証明書の問題点 一括でのSSL化・証明書検証 ドメイン変換 実際の設定 Squidの設定(抜粋) unboundの設定 nginxの設定(クライアント証明書検証) nginxの設定(HTTPサーバに対するproxy) nginxの設定(個別対応) ブラウザのProxy設定 その後発生した問題 ポート問題 Hostヘッダ問題 戻りヘッダ問

    社内サービスを一括・即座・セキュアにリモートワーク開放した話 - エムスリーテックブログ
  • Terraformなにもわからないけどディレクトリ構成の実例を晒して人類に貢献したい - エムスリーテックブログ

    こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 さいたまスーパーアリーナは、埼玉県さいたま市中央区にある多目的アリーナ。文には特に関係ありません。 最近、Terraformを書くことが多く、知見が貯まりつつあった時にちょうどディレクトリ構成に関する記事を読んでタイミングがよかったので、 今回はTerraformのディレクトリ構造の実例を晒したいと思います。 結構固まってきたからうちのチームの構成も晒してみようかな。 | Terraformのディレクトリ構成の模索 - Adwaysエンジニアブログ https://t.co/31FMkcCJOo— Yuichiro Fukubayashi (@fukubaya) July 3, 2020 クラウド化推進 なぜ定番が決まらないのか 前提となる条件 番環境と検証環境はほぼ同じ構成 レポジトリとtfstat

    Terraformなにもわからないけどディレクトリ構成の実例を晒して人類に貢献したい - エムスリーテックブログ
  • 突撃!隣のキーボード M3 2019 - エムスリーテックブログ

    こんにちは、エムスリー エンジニアリンググループ AIチームに今年の2月にジョインしました河合 (@vaaaaanquish) です。 エムスリーテックブログでは今回初めての投稿で緊張しますが、お手柔らかにお願いします。 はじめに 近年、ソフトウェアエンジニアの「キーボード」への熱は高まり続けています。 昨年には、DMMさんにてキーボードをこよなく愛する人達によるイベントが開催され、250人以上が集まり、自作のキーボードやキーキャップを扱うノウハウが広く共有されました。 inside.dmm.com また2018年を振り返ると、自作キーボード専門店である遊舎工房の実店舗がオープンしたり、Cookpadさんはインターンでも自作キーボードの作成を取り入れて話題になりました。 techlife.cookpad.com こちらのインターンは、PCBでのリバースエンジニアリングやキーボードの回路の設

    突撃!隣のキーボード M3 2019 - エムスリーテックブログ
  • Vue.jsほぼ初心者だけのチームで既存サービスのリニューアルをやってみて得られた知見 - エムスリーテックブログ

    こんにちは、エンジニアリンググループの福林 (@fukubaya) です。 2019年3月に僕たちのチームが担当するスマートフォンサイトをリニューアルしました。 リニューアルに際して、せっかくなので新しい技術やフレームワークを採用したいということで、詳しいメンバーはいませんでしたがVue.jsでリニューアルすることにしました*1。 記事では、Vue.jsがほぼ初心者だけのチームでVue.js製プロジェクトをリリースするまでに得られた知見をまとめます。 すでにバリバリ使いこなしている方には物足りないと思いますが、これからVue.jsを始める方の参考になれば幸いです。 黒部宇奈月温泉駅は富山県黒部市にある北陸新幹線の駅。文には特に関係ありません。 サービスの概要 開発環境 プロジェクトの管理はVue CLIで Chromeの機能拡張 Vue.js devtoolsは必須 バンドルサイズの確

    Vue.jsほぼ初心者だけのチームで既存サービスのリニューアルをやってみて得られた知見 - エムスリーテックブログ
  • M3 における CTO - 権威ではなくロールとしての CTO - エムスリーテックブログ

    2019 年度から M3 (日)の CTO を Global CTO の Brian から引き継いだ矢崎(id:Saiya)です。 ...とは言いましたものの、CTO という単語は幅広い解釈が可能であり、M3 の CTO がどのようなものかというのも自明ではないように思われます。 そこで、弊社の特性・魅力の宣伝も兼ねて、M3 における CTO が(現時点で)どのようなことを目指しているのか、を記してみました。 エムスリー (株) について 弊社は2000年の創業から 19 年弱を経ている企業です。 「インターネットを活用し、健康で楽しく長生きする人を一人でも増やし、不必要な医療コストを一円でも減らすこと」をビジョンに、インターネット・コンピューティング技術を活かしたビジネスを展開しております。 19 年という歴史はありますが、しかし会社説明資料*1の背景画像の建設中のサグラダファミリアが

    M3 における CTO - 権威ではなくロールとしての CTO - エムスリーテックブログ
  • 「入門 監視」を読んで見えてきた現状の課題と改善点 - エムスリーテックブログ

    こんにちは、エンジニアリンググループ SREチームの高橋(@tshohe1)です。 「入門 監視」というが各所で話題になっていますが、エムスリーのエンジニアリンググループでも予約購入していました! www.oreilly.co.jp 監視というSREと非常に親和性の高いテーマのだったこともあり、多くのSREメンバがこのに目を通していたようです。 そこでぜひチーム内で感想を共有しようということになり、先日感想共有会が実施されました。 記事ではそのときに挙がった感想を一部抜粋して公開したいと思います。 モニターリザード 各章の感想 「1章 監視のアンチパターン」について 「第2章 監視のデザインパターン」について 「3章 アラート、オンコール、インシデント管理」について 「5章 ビジネスを監視する」について 「6章 フロントエンド監視」について 「7章 アプリケーション監視」について

    「入門 監視」を読んで見えてきた現状の課題と改善点 - エムスリーテックブログ
  • EmacsでWebサービスを開発して8ヶ月が経ちました - エムスリーテックブログ

    この記事はエムスリー Advent Calendar 2018 の16日目の記事です。 こんにちは、エンジニアリンググループ新卒1年目の青木です。クラウド電子カルテ「M3 DigiKar」の開発に携わっています。We are hiring!! 今回は私のチームが開発しているWebサービス「M3 DigiKar」の Emacs での開発方法を紹介します。 皆さんお馴染みのエディタ Emacs はじめに 共通設定 検索・補完・定義参照 company.el ivy.el & counsel.el & swiper.el dumb-jump.el Syntax Check & Lint flycheck.el Spell Check flyspell.el Visualize git-gutter-plus.el color-identifiers-mode.el rainbow-delimit

    EmacsでWebサービスを開発して8ヶ月が経ちました - エムスリーテックブログ
    L3msh0
    L3msh0 2018/12/16
  • この処理Pythonでどう書く? - エムスリーテックブログ

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

    この処理Pythonでどう書く? - エムスリーテックブログ
  • エムスリーSREチームのご紹介 - エムスリーテックブログ

    こんにちは。エンジニアリングGでSREチームのチームリーダーを務めている池田(@progrhyme)です。 以前のエンジニアリングG内には、システムインフラの構築・運用を主に担当する「インフラチーム」が存在していましたが、今年の7月から改称して「SREチーム」と名乗ることにしました。 以降では、SREチーム設立の経緯や、その役割、ミッション等について記します。 SREとは SREは「Site Reliability Engineering」の略で、2003年にGoogleで誕生したSREチームが実践してきたプラクティスに基づくシステム運用の新しい形です。 2016年にO'Reillyから同名の書籍が出版されたことで、IT業界を中心にその考え方やメソッドが広く普及していったと思います。 SRE(= Site Reliability Engineer)が単なる運用チームと異なるのは、彼らがソフ

    エムスリーSREチームのご紹介 - エムスリーテックブログ
  • 1