エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

AWS AppSync を IAM 認証で使うための graphql-client のアダプター gem を公開しました

こんにちは、エムスリーエンジニアリンググループ 兼 QLife エンジニアの園田 (@ryoryoryohei) です。 AWS AppSync 使ってますか? サーバーレスで GraphQL のエンドポイントを提供できる強力なサービスです。 AppSync には認証方式が現状 4 つあり、そのう…

Jenkinsをエンジニアでない人も使えるDigdagのWeb UIとして使う

こんにちは、エンジニアリンググループの福林 (@fukubaya) です。 現在、弊社では長年運用され続けているレポート基盤のリニューアルを昨年から続けています。 その一環で、エンジニアでない人も使えるレポート生成UIを実現するため、 DigdagとJenkinsを利用…

ALB 経由で Lambda の Rails を実行してみた

お久しぶりです、エムスリーエンジニアリンググループ 兼 QLife エンジニアの園田です。 今回は、Rails のアプリを AWS の Lambda で動かして、ALB 経由でアクセスしてみようという内容です。 実現するためには ALB から Lambda を呼び出す。 Lambda で Rail…

ドメイン駆動設計座談会 & モデリングハンズオンを開催しました

DDD

エンジニアリンググループの西名(@mikesorae)です。 最近エムスリー社内でドメイン駆動設計(以下DDDと表記)への関心が高まり、社内でも勉強会を開催する流れになりました。 せっかくなので有識者から効率的な学習方法や注意点を学ぼうということで、DDD Comm…

新卒入社2ヶ月目に Datadog Dashboard を Terraform で生成した話

こんにちは、エンジニアリンググループ AI・機械学習チームの榎田(@niflh)です。就活のときに「バイトでプログラムは書いてますが、それより数学してるほうが好きです!」と言ったらエムスリーさんからお声がかかって、インターンを経て新卒入社しました。…

エンジニアリンググループが大学に行ってきたよ

こんにちは、エンジニアリンググループ新卒2年目の青木です。 現在はクラウド電子カルテ「エムスリーデジカル」の開発に携わっています。 先日、慶應義塾大学で行われた講義にエンジニアリンググループとして参加させていただきました! 今回はその時の内容…

SRE Lounge #9 で弊社の取り組みについて話しました

SRE

こんにちは、エンジニアリンググループ SREチームの高橋(@tshohe1)です。 5/29に開催されたSRE Loungeというイベントで「エムスリーはどのようにしてSREをはじめたか」というタイトルで登壇させていただきました! 登壇の場を提供していただいたSRE Lounge運…

Marp CLI (Marp Next) をとりあえず知る・使い始めるためのまとめ記事

Marp Marp は markdown 形式でプレゼンテーションを作成できるソフトウエアです。Markdown で記述したスライドをブラウザ上で描画したり PDF に出力したりできます。 その性質上、万人向けのツールではないところがあります *1。しかし、以下のようなニーズ…

Java Quiz 解答・解説

こんにちは、CTO の矢崎 (@saiya_moebius) です。 JJUG というイベントにて Java Quiz の配布をいたしました。設問はシンプルですが、特に 2 問目からは悩ましい問題だったのではないでしょうか。意識せずに使っている JVM の挙動を知るよいきっかけをご提供…

JJUG 参加レポート

こんにちは、CTO の矢崎 (@saiya_moebius) です。 JJUG というイベントにて、Java Quiz などの配布や登壇発表をいたしました。

JJUG CCC 2019 Spring - Java クイズ

[ Scroll down to read in English ] こんにちは、CTO の矢崎 (@saiya_moebius) です。 只今開催中の JJUG CCC 2019 Spring というイベントで Java のクイズを配布しております。 問題文自体はシンプルですが、JVM の意外な挙動や Java の言語仕様が関わって…

エムスリーは JJUG CCC 2019 Spring にゴールド&ブーススポンサーとして協賛します & CTOが登壇します

こんにちは、マルチデバイスチーム エンジニアの金丸 (@maru333) です。 来たる 5/18(土)、ベルサール新宿グランドにてJJUG CCC 2019 Springが開催されます。 昨年( *1 )に引き続き、エムスリーはゴールド&ブーススポンサーとして、本イベントの開催を後押…

数値で振り返る技術書典6とエムスリーテックブック

エンジニアリンググループの滝安(@juntaki)です。 技術書典6で「エムスリーテックブック#1」を頒布してきました!ご購入いただいた方、お立ち寄りいただいた方、ありがとうございました! 執筆自体にもたくさん学びはあったのですが、単純に参加して売ると…

世界のシステムに令和が反映されるまで

こんにちは、Androidエンジニアの星川 (id:oboenikui) です。 いよいよあと5日で令和となりますね。幸いにもAndroidではアプリ側で扱おうとしない限り和暦は使用されないので安心して改元を迎えられそうです。 (iOSにはシステム設定で和暦表示に切り替える…

難読Rubyコードクイズ問題と解説 in RubyKaigi 2019

RubyKaigi 2019に参加された方もそうでない方もお疲れ様でした。あと数日で到達するゴールデンウィークを指折り数えるowlです。 RubyKaigiでは多彩なセッションにより豊富な知見が得られた他に、Rubyist同士の交流も商店街を貸し切ってのパーティや無料屋台…

「RubyKaigi 2019」にPlatinum Sponsorとして参加しました!(ブース・セッションレポート)

エンジニアリンググループの山口です。4/18(木)〜4/20(土)に開催された「RubyKaigi 2019」に、Platinum Sponsorとして参加しました。 エムスリーのスポンサー協賛は4年目。私は初参加でしたが、参加者の方々のRuby愛を強く感じた3日間でした。 sponsor_booth…

Vue.jsほぼ初心者だけのチームで既存サービスのリニューアルをやってみて得られた知見

こんにちは、エンジニアリンググループの福林 (@fukubaya) です。 2019年3月に僕たちのチームが担当するスマートフォンサイトをリニューアルしました。 リニューアルに際して、せっかくなので新しい技術やフレームワークを採用したいということで、詳しいメ…

TypeScriptの型でなんかすごくがんばる

エンジニアリンググループの冨岡です。 先日、以下のTypeScript用DIライブラリを公開しました。大きな特徴として、解決するために不十分な依存がある場合にコンパイルエラーになるようになっています。 github.com www.m3tech.blog このコンパイル時の型チェ…

TypeScript用のDIライブラリを公開しました

エンジニアリンググループの冨岡です。 TypeScript向けのDIライブラリを公開したので紹介します。 github.com モチベーション Clean Architecture等の設計手法を使ってコードを書いていると、抽象に依存することが多くなってきます。 class CreateUserAccoun…

エムスリーエンジニアリンググループ第三回開発合宿を開催しました!

エンジニアリンググループ・マルチデバイスチームの金丸 (@maru333) です。 年度またぎのバタバタで遅れてしまいましたが(言い訳)、先日(3/15〜3/17)、第三回開発合宿を開催しましたので、その様子をご報告したいと思います! ご参考までに、これまでの開催…

エムスリーの人事グループでエンジニアの採用担当を募集します!

人事の友永です。この度、人事としてエンジニア採用を担当いただく方を1名追加で募集、私と一緒に2名で担当していくことになりましたので(嬉しい!)この記事を通じて、エムスリーのエンジニア採用は楽しいぞ!ということをお伝えしたいと思います。 なぜ、…

エムスリーは「RubyKaigi 2019」にプラチナスポンサーとして協賛 & ブース出展します

RubyKaigi2018のスポンサー欄エンジニアリンググループの三角です。 エムスリーは、4/18(木)から4/20(土)に開催される RubyKaigi 2019 に今年もプラチナスポンサーとして協賛します! エムスリーでは、コンシューマ向け事業やキャリア事業など複数のプロダク…

UX改善は利益に繋がる!? 利用頻度&利用の質が高いユーザーは平均の約8.4倍も利益が高かった

エンジニアリンググループの水野です。 サービスのUX改善活動の一環で、ユーザーのサービス利用頻度・利用の質と利益との関係を計測した際に気づきがあったためご紹介します。 チームの概要 私たちのチームでは主に、医療系ポータルサイトであるm3.comのメデ…

とりあえず使えそうな SQLAlchemy 入門(※ ORM機能は使いません)

物資難の時代にはカップ酒の空き瓶をビーカー代わりに使っていた・・・らしい(本文とは関係ありません) こんにちは、エムスリー・エンジニアリングG・基盤開発チーム小本です。 SQLAlchemyはPythonのSQLライブラリです。デファクトスタンダードであり、様…

日本経済新聞社さんと Kotlin 座談会を開きました

エンジニアリンググループの松原@ma2geです。 先日、株式会社日本経済新聞社のエンジニアの方々にお越しいただき、Kotlin 座談会を開きましたのでその様子を報告します。 日本経済新聞社様からは、長島様、浦野様、野口様の御三方が、弊社からは滝安、松原と…

M3 における CTO - 権威ではなくロールとしての CTO

2019 年度から M3 (日本)の CTO を Global CTO の Brian から引き継いだ矢崎(id:Saiya)です。 ...とは言いましたものの、CTO という単語は幅広い解釈が可能であり、M3 の CTO がどのようなものかというのも自明ではないように思われます。 そこで、弊社の特…

どこでもKotlin #7 〜Kotlin MPP特集〜 を開催しました

こんにちは、エムスリー エンジニアリングGの大和です。 3/27 (水) にCrowdWorksさん *1 のオフィスをお借りして、「どこでもKotlin #7 〜Kotlin MPP特集〜」を開催しました。 m3-engineer.connpass.com 発表内容 発表順に内容および資料を紹介します (敬称…

スプレッドシートライブラリHandsontableの1セルで構造化されたデータを扱う

エンジニアリンググループでアンケートを作るためのシステムを開発している岩本です。 エムスリーが実施するアンケートでは、薬剤ごとの処方数や患者数などを入力してもらうために、下記のように表形式で数値入力を大量に入力してもらうことが頻発します。 …

try! Swift Tokyo 2019に参加してきました&アンケート結果

エンジニアリンググループの古川です。エムスリーは、3/21(木)から3/23(土)に開催されたtry! Swift Tokyo 2019にゴールドスポンサーとして協賛しました。当日は多くの方に弊社ブースに訪れていただき、ありがとうございました。今回は、ブースで実施したアン…

GAE/Goで技術書典むけのダウンロードカードアプリを作った

エンジニアリンググループの滝安(@juntaki)です。 技術書典6で頒布する「エムスリーテックブック#1」の「第5章 GoでAPIサーバをはやくつくる」を担当しています。 サンプルアプリとして作ったダウンロードカード作成のためのアプリの機能を紹介します。(…