エムスリーテックブログ
https://www.m3tech.blog/
エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです
フィード
関西と九州でエンジニアが働けるサテライトオフィスができました
エムスリーテックブログ
はじめに 皆様こんにちは、こんばんは。 最近のアークナイツの盛り上がりがたまらない、VPoEの河合(@vaaaaanquish)です。 自分のキャリアを選ぶ次女。欲張りです。本文とは関係ありません さて、タイトルの通り、エムスリーエンジニアリンググループは、関西と九州でエンジニアが働けるサテライトオフィスができました(というより出来てました!半年前に!笑)。 実際既に大阪、京都、福岡で働くエンジニアが在籍しており、サテライトオフィスのアピールも兼ねてと「サテライトオフィスブログリレー」を開催しています。 本記事では、VPoEとして私河合が「サテライトオフィス創設のねらい」について書いていきます…
7日前
入社 4 ヶ月の私が初見コードでも開発のスタートダッシュを切る技術
109
エムスリーテックブログ
はじめに 前提となるマインドセット 具体的な Tips コードを読まずに理解する技術 とりあえず Clone する インタフェースで理解する テストコードで理解する 慣習名で理解する コードの詳細を理解する技術 デバッガを使う とりあえずサンプルコードを書いてみる 分からないなら聞く 初見コードに安全に変更を加える技術 インタフェースを明らかにする Stub としての実装を用意する Design Doc を書く テストを書く まとめ We are hiring !! エンジニア採用ページはこちら カジュアル面談もお気軽にどうぞ インターンも常時募集しています はじめに 京都オフィス在籍で、AI…
11日前
エムスリー福岡Quineを作りました!
8
エムスリーテックブログ
突然ですが、次のM3柄のソースコードをPython(>=3.8)で実行し、実行結果を入力に何度か繰り返し実行してみてください! 結果はどうなるでしょうか? exec("""m=lambda_x:"".join(x.split()).replace("~"+"~",chr(32))""".replace("_",chr(32)),globals());exec(s:= m('''s="""exec(\\"\\"\\"m=lambda_x:"".join(x.split()).replace("~"+"~",chr(32))\\"\\"\\".replace("_",chr(32 )),globa…
12日前
Genericやらoverloadやらを使って、MLパイプラインツールgokartを型安全にしてみた
12
エムスリーテックブログ
AI・機械学習チームの北川(@kitagry)です。 このブログはサテライトオフィスのメンバーで投稿されるブログリレー1日目の記事になります。1 サテライトオフィスブログリレーとある通り、4月から京都オフィスに在籍しています。 最近京都オフィスメンバーで居酒屋に行ったりしたのですが、やはり関西めっちゃ安い。。 みんなおいでよと思っているところです。 本ブログではエムスリー株式会社がOSSとして公開しているgokartというPythonツールの型を強化した話について書きます。 Python3.5から型ヒントの機能が追加され、現在最新のPython3.13に至るまでに徐々に機能が追加されています。…
13日前
エムスリーが技術書典17で新刊を出します!
エムスリーテックブログ
エムスリーエンジニアリンググループ AI・機械学習チームでソフトウェアエンジニアをしている中村(@po3rin) です。 技術書典17が2024/11/03に開催されます。(オンライン開催は11/02〜11/17) 今回エムスリーでは有志で新刊を携えて参戦します。過去最大の210ページの大ボリュームでお届けします。今回も多様な分野・技術について弊社スタッフが執筆いたしました。エムスリーのギークな面がふんだんに詰まった一冊となります。 オンラインでの購入は11/02以降、こちらからも可能です! techbookfest.org この記事では皆さんに新刊を手に取ってもらえるように、各章がどんな内容…
18日前
チームで培われたベストプラクティスをlintとして周知する
エムスリーテックブログ
こんにちは。AI・機械学習チームの氏家(@mowmow1259)です。 エムスリー福岡オフィスの一人目のエンジニアとして福岡で働いています。 マクドナルドの月見バーガーが好きで、今年も発売開始当日に食べに行きました。 私が所属するAI・機械学習チームでは基本的に2週間から1ヶ月程度で新規プロダクトをリリースするなど、高速にプロダクトを開発しています。 その過程で、「この書き方は落とし穴があるから使わない方がいい」といった開発に際したベストプラクティスが溜まっていきます。 そういったベストプラクティスはレビューでの指摘や技術共有会*1でチームに浸透してきますが、レビュー負荷や新メンバーへの周知な…
2ヶ月前
プロダクトの成長を加速させる会議:エムスリーのプロダクトマネージャーが実践する「合宿」とは
エムスリーテックブログ
こんにちは。エムスリー エンジニアリンググループ プロダクト支援チームでプロダクトマネージャーをしている中村です。 今回の記事では、プロダクト支援チームのプロダクトマネージャー陣が活用している「合宿」と呼ばれる会議をご紹介します。「合宿」と言っても、泊まりに行くわけではなく、オフィスの会議室に集まって2時間程度集中してプロダクトについて議論する場を指します。エムスリーのプロダクトマネージャー陣は、この「合宿」という場を活用し、プロダクトビジョンや戦略について議論を深めています。 はじめに 「合宿」とは 議論の流れ ステップ1 ステップ2 ステップ3 「合宿」の効果 まとめ We are hir…
2ヶ月前
エムスリーエンジニアリングフェローに山本舜さんが就任しました!
エムスリーテックブログ
エンジニアリンググループHRBPの我如古です。この度、山本舜さんにエムスリーエンジニアリングフェローに就任いただくことになりましたのでお知らせいたします。 エムスリーエンジニアリングフェローとは 在籍中または卒業後に顕著な活躍をしたエンジニアに対して、エムスリーを卒業しても継続的にフェローとして称えるものです。また、エムスリー卒業生として定期的な意見交換を行ったり、エムスリーとエンジニアコミュニティをつなぐハブを担ってもらうという役割もあります。卒業は寂しいですが、新たな関係性のスタートですので引き続き仲間として良好な関係を築いて行きたいと思います!
2ヶ月前
データベース自作勉強会・輪実装会のススメ
エムスリーテックブログ
先日、社内有志で開催していたDB自作本 Database Design and Implementation の輪読会ならぬ輪実装会がついに完結を迎えました。 RDBMSをゼロから、毎週一人ずつ、1章分を実装してPullRequestを出しつつ資料も準備して発表をこなすという一見ハードな勉強会で、完走できるか不安もありつつスタートしましたが、やってみるとめちゃくちゃ楽しく最後まで完走できました。 本記事ではみなさんに「うちでもやってみたい」と思ってもらえることを願って、読んだ本の推しポイントや、どのように勉強会を進めたかを紹介したいと思います。 感動で涙の出るコード Part1: おすすめポイ…
2ヶ月前
AIチームのGameDayでNode Poolを吹き飛ばした話
エムスリーテックブログ
こんにちは、AI・機械学習チーム(AIチーム)の農見(@rookzeno)です。みなさんAWS GameDayというものをご存知でしょうか。AWS GameDayとはゲーム化されたリスクのない環境で現実世界の問題を解決するためのスキルを学ぶ演習です。 今回はそれをAIチーム内でやってみようということで、開発環境でわざと障害を起こして、それを担当者以外が解決できるかというGameDayをやりました。そして開発環境のGoogle Kubernetes Engine(GKE)のNode Pool*1を吹き飛ばしました😇 Node Poolが吹き飛ぶと、APIやバッチが全て落ちるのでおしまいです。 な…
2ヶ月前
インターンの二週間で社内APIを新しく建て本番リリースまで何でもやった話【ソフトウェアエンジニアインターン参戦記】
エムスリーテックブログ
はじめまして。河村 (@KowerKoint2010)です。 この夏、エンジニアリンググループ AI・機械学習チームで2週間の新卒ソフトウェアエンジニアインターンに参加しました。 インターンでは、「Yucca」という内部サービスの改善を担当しました。 当初与えられた課題については設計・開発から本番環境へのリリース、そしてユーザーへの利用法説明まで行い、まだ時間に余裕があったので追加でデータベースの改善も検討しました!*1 ここでは私がやったことを簡単に紹介しつつ、エムスリーという会社で働いてみた感想を伝えます。 エムスリーでのインターンや就職を考えている他の学生の参考になれることを願っています…
3ヶ月前
iOSDC Japan 2024に参加してきました
エムスリーテックブログ
こんにちは、マルチデバイスチームの小林(@bakobox)です。 今年もiOSDCが開催されました🎉エムスリーは、シルバースポンサーとして協賛させていただきました。 私はday0はオンライン、day1とday2はオフラインで参加してきましたので、レポートを書きたいと思います。 iOSDC 2024 印象に残ったセッション4選 座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」 Mergeable Libraryで高速なアプリ起動を実現しよう! 詳解UIWindow Mastering AsyncSequence - 使う・作る・他のデザインパ…
3ヶ月前
年間15個以上のプロダクトをリリースするAIチームを入社したてのフレッシュな目線で紹介する
エムスリーテックブログ
エムスリーのAI・機械学習チームは年間15個以上のプロダクトをリリースし、2024年8月現在までに93個のプロダクトがリリースされています。 本記事では2024年6月入社の筆者(中村)がどのようにチームに溶け込んだか、そしてこのような大量のプロダクトを開発し運用するAIチームについて、入社直後のフレッシュな目線で語っていきます。 はじめに AIチームの特徴 ビジネスのためのプロダクト開発 技術に対する高い裁量 オーナーシップ 楽しくプロダクトを覚える 大量のプロダクトを生み出す方法 ベンチャーマインドとフラットな組織 ROI文化 ものづくりが好きなメンバー We're hiring! エンジニ…
3ヶ月前
ちょっとJavaのsynchronizedをGoに移植しようとしたはずが、なぜか1万文字の作文ができた
エムスリーテックブログ
AI・機械学習チームのブログリレーも9日目になりました。同チームの横本@yokomotodです。 本日はJavaとGoを題材に並行プログラミングまわりの自由研究をしたお話をしてみたいと思います。 3部構成で、パート1では発端となった「排他制御」について、パート2では「メモリの可視化」について、それぞれJavaとGoを比べてみました。 最後にパート3では、それらの動作を規定する「メモリモデル」について、わかりやすく解説されているリソースを紹介します。
3ヶ月前
レビュー依頼の優先度について考えていたら、レビュー依頼をスコアリングしてソートするツールができた
エムスリーテックブログ
レビューの優先度を考えていく中で、「これは自動化したら面白いのではないか」と思い立ち、レビューの優先度をスコアリングするツールを作ったので、その経緯を簡単に紹介していきます。
3ヶ月前
AI・機械学習チームで学んだ開発技法で趣味の通知系ツールを量産した
エムスリーテックブログ
AI・機械学習チームブログリレー 7日目担当の高田です。 AI・機械学習チームでは、開発するプロダクトの数が多く、スピード感を持って開発を進めることが求められます。 そのような環境の中では、高速にプロダクトを生むためのあるあるのアーキテクチャであったり、どのプロダクトでも使っているぞというライブラリが存在します。 それらのノウハウを活かして、日曜大工で作った趣味開発のプロダクトを紹介していきたいと思います。
3ヶ月前
AI・機械学習チーム夏開発合宿@越後湯沢に行ってきました
エムスリーテックブログ
AI・機械学習チーム(以下、AIチーム)では、不定期で有志による開発合宿を行っています。今回は、先日実施したAIチーム夏合宿@越後湯沢の様子をお届けします。 宿の部屋からの景色
3ヶ月前
mypy plugin に入門して社内 OSS である gokart を型安全にしてみた
エムスリーテックブログ
今回は mypy plugin を利用して、型安全に対応していないライブラリを型安全にする方法を紹介します! 具体的にはエムスリーが開発する機械学習パイプラインツールである gokart を対象とし、mypy plugin を用いてどのように型の課題を解消したかについて解説します。 対象読者としては、既に gokart を使ってくださっている方はもちろんですが、dataclass や Pydantic がどのように型を担保しているかについて興味がある方も想定しています。
3ヶ月前
SRE NEXT2024 登壇&体験記 その2
エムスリーテックブログ
AI・機械学習チームの北川(@kitagry)です。 この記事はAI・機械学習チームブログリレーの記事です。 8/3,4の2日間、SRE NEXT 2024で登壇させていただきました。 こちらで自分の登壇の話しと印象に残ったセッションなどの参加レポートとして紹介します。 また、弊社の後藤もレポートを書いているので良ければこちらもご参照ください。 www.m3tech.blog SRE NEXT登壇の様子 Photo by SRE NEXT Staff
3ヶ月前
第27回 画像の認識・理解シンポジウム(MIRU2024)にシルバースポンサーとして参加します!
エムスリーテックブログ
こんにちは! AI・機械学習チームの氏家(@mowmow1259)です。 エムスリー福岡オフィスの一人目のエンジニアとして福岡で働いています。 本稿はエムスリーAI・機械学習チームで2週間連続で行われるブログリレー3日目の記事となります! 2日目の記事も是非ご覧ください。 www.m3tech.blog さて、この度、エムスリー株式会社は8/6〜8/9に熊本で開催される第27回 画像の認識・理解シンポジウム(以下、MIRU)にシルバースポンサーとして参加させていただきます! 皆様の研究発表から刺激を受けるとともに、弊社の臨床画像分野での研究の取り組みをご紹介することで医療分野での実応用の知見な…
3ヶ月前
ニューラルネットのレコメンドをメモ化して高速にする
エムスリーテックブログ
こんにちは、AI・機械学習チーム(AIチーム)の農見(@rookzeno)です。最近作ったニューラルネットのレコメンドが遅くて困ってました。その時ふと推論してるデータを見ると、これ同じユーザーとアイテムが多発してるなと気づいたので、メモ化をして高速化しました。メモ化して高速化は基礎の基礎ですが、ニューラルネットでやってるのはあまり見ないかなと思ったので、今回はそのやり方について記載します。 DALL-Eでサムネを作成 この記事はエムスリーAI・機械学習チームで2週間連続で行われるブログリレー2日目の記事です。昨日の記事もよろしくお願いします。 www.m3tech.blog 使っているモデルに…
3ヶ月前
肺動脈性肺高血圧症(PAH)を検出するAIを開発し、論文化しました
エムスリーテックブログ
こんにちは、AI・機械学習チーム(AIチーム)の農見(@rookzeno)です。最近、私が開発したAIの論文が公開されたので、今回はそれを紹介をします。 発表された論文はこちらです bmcpulmmed.biomedcentral.com この論文では、 胸部X線 (レントゲン) から肺動脈性肺高血圧症(PAH)を検出するAIを開発しました。 AIと医師を比較した結果、AIの方が医師よりもPAHの検出力が優れていました。 このAIを使うことでのPAHを早期に発見できることが期待されます。 この研究は千葉大学の今井 俊先生、坂尾 誠一郎先生と共同で行い、今井先生に執筆していただきました。ありがと…
3ヶ月前
エムスリーが難読プログラミングオタクに送るノベルティ、Python Quineクリアファイルの作り方
エムスリーテックブログ
早速ですが、こちらに書いてあるソースコード、実際に動くコードとして作成しました。実行結果はどのようになるでしょう? 答えはこれから各種イベントで配られるノベルティを受け取って打ち込んでみてください!!! まずはあすから行われるコンピュータビジョンの学会MIRU2024のスポンサーブースで配布します!!! と、いうのは冗談で、さすがに受け取れたとして打ち込みが大変ですし、以下にソースコードを貼り付けます。 本稿では以下のQuineの作り方について解説していきます。ただし、難読プログラミングが好きな人はまずは解説を読まずに自力で読んでみてください! exec('''m=lambda_x:exec(…
3ヶ月前
SRE NEXT 2024 登壇&参加レポート その1
エムスリーテックブログ
こんにちは、SREチームの後藤です。 8月3日と4日の2日間、Abema Towersで開催されたSRE NEXT 2024にて登壇させて頂きました。 こちらに、自身の登壇についての話と印象に残ったセッションなど参加レポートとしてご紹介させて頂きます。 正答率80%でギリギリゲットした信頼性カレー
3ヶ月前
市区町村マスタを手に入れろ、そして更新し続けろ
エムスリーテックブログ
全国の市区町村の名前とコードをデータベーステーブル化したもの、すなわち市区町村マスタはITシステムを作っていれば何かしらの場面で必要になるものです。 ではその市区町村マスタを作るための元データはどこから手に入れたらいいものか。 そして「作る」というのもありますが、市区町村は再編されるものですから最新の変更にどう追従するか、しかもそれを自動化できるかというのも大いに気になるところですね。 エムスリーエンジニアリンググループ三浦(@[email protected]) [記事一覧 ]です。 Unit1(製薬プロモーション)およびUnit9(治験臨床研究支援)のエンジニアです。 今回は私も皆様とまったく…
4ヶ月前
ZIO Lambdaを用いてScalaネイティブバイナリをAWS Lambdaで動かしてみた
エムスリーテックブログ
こんにちは。エムスリーエンジニアリンググループでScalaとマミさんが好きな安江です。今回は私が所属しているデジカルチームのお話です。ZIO Lambdaを使ってScalaネイティブバイナリをAWS Lambdaで動かしてみました。こちらの技術スタックの紹介をします。 ZIO Lambda 背景 技術スタック Scala ZIO ZIO Lambda GraalVM Native Image 実装 プロジェクトの作成 ライブラリの追加 ハンドラーの作成 ネイティブバイナリのビルド AWS Lambdaへのデプロイ まとめ We are hiring !! 背景 特定の処理で、外部から提供された…
4ヶ月前
goのエラーをスタックトレースも含めて構造化ログで残したい
エムスリーテックブログ
こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 golangでずっと課題に思っていたエラーの処理について試行錯誤してみました。 イオンモール センソックシティは、カンボジアにある商業施設。本文には関係ありません。 エラー処理のベストプラクティスは? ぼくがかんがえるエラー処理の要件 検討したパッケージ 構造化ログ パッケージの検討 pkg/errors cockroachdb/errors goark/errs go-errors/errors go-errors/errors がよさそう? pkg/errors や cockroachdb/errors …
4ヶ月前
Kotlin Fest 2024のためにCompose HTMLでWebサービスを開発した話
エムスリーテックブログ
こんにちは、モーニーングルーティーン担当、VPoEの河合(@vaaaaanquish)です。 サムネイルの写真は、娘が描いてくれたパパです。上手です。 本記事は、先日開催されましたKotlin Festにおいてエムスリーのスポンサーブースで展開していた『エンジニア トリ診断』の開発秘話を公開するものです。 Kotlin Festとエンジニアトリ診断 Kotlin Compose HTMLとは Compose HTMLをGitHub Pagesでホスティングする OGPを設定する Kotlinでフロントエンド開発を進める おわりに We are hiring !!
4ヶ月前
突撃! 隣のキーボード M3 2024
エムスリーテックブログ
こんにちは。AI・機械学習チームの氏家(@mowmow1259)です。 エムスリー福岡オフィスの一人目のエンジニアとして福岡で働いています。 さて、突然ですがみなさんはキーボードにこだわりがありますか? キーボードはタイピングを日常的に行う我々にとって大切な商売道具であり、その使用感は日々の生産性を大きく左右します。 そのような理屈を抜きにしても、自分好みにキーボード環境をカスタマイズしていくのは単純にオタク心をくすぐられますよね。 近年では自作キーボードなどカスタマイズ性の高いキーボードも多く販売されており、つい最近行われた天下一キーボードわいわい会は大変な盛り上がりを見せていたようです*1…
5ヶ月前
Kotlin Fest 2024 参加レポート
エムスリーテックブログ
Kotlin Fest 2024 こんにちは! マルチデバイスチームの小林(@bakobox)とデジスマチームの荒谷(@_a_akira)と大和(@daiwahome0)です。 Kotlinに関する技術カンファレンス「Kotlin Fest 2024」が6月22日に開催されました!*1 エムスリーはひよこスポンサーとして協賛させていただき、弊社社員も何人か参加したので振り返りを行いたいと思います! (Kotlin Festスタッフとして星川(@oboenikui)も参加していました) *1:https://www.kotlinfest.dev/kotlin-fest-2024
5ヶ月前