タグ

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

  • 明日からできる、爆速Figma活用術 - エムスリーテックブログ

    こんにちは、エムスリーデザイングループでチームリーダーをやりながらエンジニアリングGも兼務しているプロダクトデザイナーの大月です。 私が所属しているエムスリーのデザイン組織は以下2つの強みがあります。 多様性 スピード 特に日々の業務では"スピード"をとても大切にしており、 デザインを早くすることで、検証回数を増やし、PDCAを多く回し、価値創造を加速することを意識しています。 こうしたエムスリーのスピード文化から、日々の業務を効率化できるFigma活用法もデザイナーのみんなで学びあっています。 今回は、エムスリーのデザイナー間で話題になった、意外と知らなかった、知っているだけで日々の業務が一気に楽になった!というFigma活用術を紹介します。 少しでもFigmaでのデザイン作業をスピードアップさせたい方の参考になれば幸いです! 爆速のための3種の神器 1. 秩序をつくる ファイル構成とコ

    明日からできる、爆速Figma活用術 - エムスリーテックブログ
    peketamin
    peketamin 2023/02/16
  • Bulk insertでも20時間以上かかっていたMySQLへのインサート処理を1時間以内にする - エムスリーテックブログ

    この記事はエムスリー Advent Calendar 2022の30日目の記事です。 前日は id:kijuky による チームメンバーのGoogleカレンダーの休暇予定一覧をスプレッドシート+GASで作った でした。 AI機械学習チームの北川(@kitagry)です。 今回はMySQLへのインサートを20倍以上高速化した話について書きます。 仕事をちゃんとしてるか見張る TL; DR はじめに 今回のテーブル バイナリログを無効化する 追試 LOAD DATA INFILE 追試 テーブルの正規化 インデックスを一時的に剥がす まとめ We are hiring!! TL; DR バイナリログをオフにする LOAD DATA INFILEを使う インデックスを一時的に消す はじめに AI機械学習チームではサイトトップからアプリに至るまで多くの推薦システムがあります。 そこでは推薦ロ

    Bulk insertでも20時間以上かかっていたMySQLへのインサート処理を1時間以内にする - エムスリーテックブログ
    peketamin
    peketamin 2022/12/30
  • エムスリーが誇る最強のプロダクトマネージャー育成環境:プロダクトマネージャー定例 - エムスリーテックブログ

    こんにちは、こんばんは。年末年始は12/24〜1/9まで17連休を取ってみた執行役員CTO兼VPoPの山崎です。この連休に向けてスノーピークのIGTを買おうと思ったのですが、3ユニットのノーマルと4ユニットのロングどちらを買うべきか、悩みに悩んで、結果ノーマルを2つ買えば6ユニット!ということに気がついて平穏を取り戻しました。もちろんリビングシェルロングProも調達しました。あとは年越しキャンプの予約を取るだけです(さっさと取らないと)。 ブログはエムスリー Advent Calendar 2022とプロダクトマネージャー Advent Calendar 2022の25日目の記事です。 双方の読者に届くようにダブルエントリーしてみました*1。 昨年は以下のとおり、エンジニア、QA、デザイナー、プロダクトマネージャーのためになりそうな良書を7冊選んでみました。未読の方がいれば是非読んでみて

    エムスリーが誇る最強のプロダクトマネージャー育成環境:プロダクトマネージャー定例 - エムスリーテックブログ
    peketamin
    peketamin 2022/12/26
  • エムスリー執行役員VPoE兼PdMの山崎が、エンジニア、QA、デザイナー、プロダクトマネージャーにお薦めする良書7選 - エムスリーテックブログ

    こんにちは。最近、お掃除職人きよきよ*1というYouTuberにハマってしまい掃除に明け暮れ、近所のドラッグストアでドメストとパイプフィッシュの原材料が同じことなどを知って、ふむふむと楽しんでいるエムスリー執行役員兼VPoE兼PdMの山崎です。薬剤を活用した掃除はDr. STONE*2気分で面白いですね。 ブログはエムスリー Advent Calendar 2021の25日目の記事です。 エムスリー Advent Calendar 2021の締めとして、今年も「VPoEとしてこの◯年間を振り返って」シリーズで2021年を締めくくろうかとも思ったのですが、先日fukabori.fmの第59回と第60回でしっかり語ったのと、流石に3年連続でやっていて4年目も同じネタだと皆さん飽き飽きするかなとも思ったので、日は新企画として「エムスリー執行役員VPoE兼PdMの山崎が、エンジニア、QA、デザ

    エムスリー執行役員VPoE兼PdMの山崎が、エンジニア、QA、デザイナー、プロダクトマネージャーにお薦めする良書7選 - エムスリーテックブログ
    peketamin
    peketamin 2021/12/26
  • 機械学習で逆ストリートビューを作り、写真から港区らしさを判定する - エムスリーテックブログ

    テストデータでの予測結果 先日新橋を散歩していたときの会話。 "こういう路地って新橋らしさあるよねー" 私 "当です?どういうところで当てられるの?" "歩道の雰囲気?" 私 "うーん" ということで、MLエンジニアたるもの、そんなことが当にできるのか機械学習で検証してみましょう。 写真から撮影場所を当てる 作るもの 港区らしさとは 柵でわかる中央区・千代田区・江東区 最もXX区に間違えそうなYY区の写真とは 技術的な話 参考論文: PlaNet Google Streetview API と Geolonia API 学習について 他の地域の分類機を作る 自分の撮った写真の地域を当てる Limitation まとめ We are hiring! おまけ: モデルと勝負! 写真から撮影場所を当てる こんにちは、AI機械学習チームリーダーの大垣(id:Hi_king)です。 こ

    機械学習で逆ストリートビューを作り、写真から港区らしさを判定する - エムスリーテックブログ
    peketamin
    peketamin 2021/12/12
  • エムスリーのデータ基盤を支える設計パターン - エムスリーテックブログ

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

    エムスリーのデータ基盤を支える設計パターン - エムスリーテックブログ
    peketamin
    peketamin 2021/10/03
  • Elasticsearchで関連キーワード機能がどれだけ低コストで実装できるかの旅路 - エムスリーテックブログ

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

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

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

    こんばんは、X-Forwarded-For警察です - エムスリーテックブログ
    peketamin
    peketamin 2021/02/15
  • たくさんのオンプレサービスをひたすらクラウドに移して得られた知見まとめ - エムスリーテックブログ

    こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 記事はエムスリー Advent Calendar 2020 の8日目の記事です。 この記事とかこの記事とかこの記事で 書いているように、弊社ではオンプレ環境で稼動するサービスのAWSGCPへの移行が進行中で、 ここ数ヶ月でクラウド移行作業が自分の業務の9割を占めています。 いろんなサービスのクラウド移行(主にECS Fargate)をやってきて知見が貯まってきたので一旦まとめてみます。 当初は何を考慮しなければいけないのかもよく分かっていませんでしたが、数をこなした結果、気をつけるポイントが分かってきました。 Docker化してECS Fargateで動かすのが目標ですが、GCPでk8sでも基的に考える点は共通だと思います。 秩父ミューズパークは、埼玉県秩父市および秩父郡小鹿野町にまたがる地域にある

    たくさんのオンプレサービスをひたすらクラウドに移して得られた知見まとめ - エムスリーテックブログ
    peketamin
    peketamin 2020/12/08
  • 今どきの Go の書き方まとめ (2020 年末版) - エムスリーテックブログ

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

    今どきの Go の書き方まとめ (2020 年末版) - エムスリーテックブログ
    peketamin
    peketamin 2020/12/06
  • シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ

    こんにちは! エンジニアリンググループ マルチデバイスチーム 新卒1年目の小林です。 エムスリーでは、2週間に1度、Tech Talkという社内LT会(現在はリモートで)が開催されています。これは、とある回の発表テーマリストです。 Tech Talkのとある回の発表テーマリスト このように、最近エムスリーでは文字列が流行っている(?)ようなので、その勢いに乗って私も文字列照合アルゴリズムについて書きたいと思います!(業務とは全然関係ない話です) Knuth-Morris-PrattやBoyer-Mooreアルゴリズムは解説記事がたくさん出ていると思うので、この記事ではシンプルかつ高速なQuick-SearchとQuite-Naiveアルゴリズムについて説明し、速度比較を行った結果についてご紹介します。 文字列照合アルゴリズムとは テキストとパターンという文字列が与えられたときに、中に出現す

    シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ
    peketamin
    peketamin 2020/09/28
  • アンケート作成システムのサーバサイドをKotlin + Quarkus + Doma, CQRSで構築している話 - エムスリーテックブログ

    エムスリー エンジニアの岩です。 現在私の所属しているチームでは、以前作成したアンケートを作るためのシステムのサーバサイドリプレースを検討しています。 ちなみにクライアントサイドは下記のものです。 qiita.com 採用した技術 なぜQuarkus? SQLアクセスはDoma Domaの記述方法 Quarkus + Domaで見つかった問題 設計方針はCQRS まとめ We're hiring! 採用した技術 以前のサーバサイドはJavaで作られており、再利用可能な既存の資産もあるため、JVM系の言語を検討しています。 他のシステムではKotlin + SpringBootを使っているため同様の構成も考えられるのですが、 SpringBootが開発しているうちに重くなり、起動に数十秒かかるようになり開発スピードが遅くなってしまったことや 新しいものに挑戦したいという技術者の考えを重要視

    アンケート作成システムのサーバサイドをKotlin + Quarkus + Doma, CQRSで構築している話 - エムスリーテックブログ
    peketamin
    peketamin 2020/03/20
  • Goのinterfaceの使いかた 基礎編 - エムスリーテックブログ

    エムスリーエンジニアリンググループ/BIRの滝安(@juntaki)です。 BIRはビジネスインテリジェンス&リサーチの略で、そこでは医療従事者の会員向けアンケートをベースに、製薬会社へのマーケティング支援を提供する事業を行っています。BIRではエムスリーではじめてGoを導入し、今ではほとんどの新規システムをGoで立ち上げています。(一部でKotlinもつかっています) Goでは、interfaceの使い方を知ることで、依存関係、コンポーネントの責務を整理した設計を考えることができます。 この記事ではGo導入当初にメンバに説明した、interfaceの基的な使い方やTipsを整理していきます(すでに、Goをよく知っている人には当たり前すぎるかもしれません)。 また、この記事の後にBIRのメンバーがGo関連記事をいろいろ書く予定となっています! interfaceの使い方 interfac

    Goのinterfaceの使いかた 基礎編 - エムスリーテックブログ
    peketamin
    peketamin 2020/03/14
  • git submodule はトモダチ!怖くないよ! (チートシート付き) - エムスリーテックブログ

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

    git submodule はトモダチ!怖くないよ! (チートシート付き) - エムスリーテックブログ
    peketamin
    peketamin 2020/02/29
  • 及川卓也さん新著「ソフトウェア・ファースト」コラム対談後記 - エムスリーテックブログ

    こんにちは。エムスリーエンジニアリンググループVPoE兼プロダクトマネージャーの山崎です。 先日発売され、プロダクトマネージャー界隈で大変話題になっている及川卓也さん新著「ソフトウェア・ファースト」の第2章末に、「特定領域で使われるプラットフォーム構築を目指す」好例として、なんとエムスリーの事例を掲載していただきました。 ソフトウェア・ファースト あらゆるビジネスを一変させる最強戦略 作者: 及川卓也出版社/メーカー: 日経BP発売日: 2019/10/10メディア: 単行この商品を含むブログを見る 日は、プロダクトマネージャーカンファレンス2019の開催も目前に迫ってきましたので、このコラム収録時の対談の様子について、対談後記としてご紹介したいと思います。 当日エムスリー受付にて記念撮影 宣伝:プロダクトマネージャーカンファレンス2019にて登壇します! 2019/11/12(火)〜

    及川卓也さん新著「ソフトウェア・ファースト」コラム対談後記 - エムスリーテックブログ
    peketamin
    peketamin 2019/11/11
  • 数としての赤黒木 - エムスリーテックブログ

    エンジニアリンググループの高島(@rst76)です。 社内の勉強会で、計算機科学の有名な教科書、アルゴリズムイントロダクション(Introduction to Algorithms)を輪読しています。 ちょうど赤黒木の章を私が担当したので、要点をかいつまんでご紹介したいと思います。 今回お話したいのは「ある条件の下で、赤黒木は記数法表現と見ることができる」という話です。 赤黒木の例 赤黒木 二分木というデータ構造があります。 計算機科学では一般的なデータ構造で、ランダムなデータであれば、検索や挿入などの操作を で実現できます。 ただ、データの与え方によっては偏った木ができてしまうことがあり、そうすると各操作の性能が に落ちてしまうので、どうやって木の平衡性を維持するかが課題です。 赤黒木は二分木の一種で、ノード(節点)を赤と黒に塗り分けて、赤と黒の組み合わせによって平衡性を保つための調整を

    数としての赤黒木 - エムスリーテックブログ
  • GraphQL について語る会を開催しました - エムスリーテックブログ

    エンジニアリンググループの松原@ma2geです。一昨日(10/9(水))に CrowdWorks さん *1 のオフィスをお借りして、「GraphQL について語る会」というイベントを開催しました! m3-engineer.connpass.com 会のテーマはその名の通り、GraphQL について語る場所を作ろうということで、クライアントからサーバサイドまで含めて GraphQL について盛り上がろうという趣旨で行いました。 参加された60名弱の方々も、GraphQL や周辺技術について懇親会でも議論していて盛り上がる会になったかと思います。来てくださりありがとうございました。 たくさんの方にお越しいただきました、司会は星川@oboenikuiさん この記事では発表内容についてそれぞれ振り返ります。 Apollo Code Generation 最初は弊社堀田(@horita_yuya)

    GraphQL について語る会を開催しました - エムスリーテックブログ
    peketamin
    peketamin 2019/10/12
  • 「医師版Stack Overflow」を開発しています - エムスリーテックブログ

    こんにちは。エムスリーエンジニアリングG、プロダクトマネージャーの中村です。 エムスリーは医療の領域、特に医師に向けてサービスを提供しているため、どんなサービスを作っているか外からは見えづらいという声をよく聞きます。そこで今回は、開発中の新規サービスについてご紹介します! さて、どんなサービスかというと、医師が診療で悩んだ時に専門性の高い医師に相談ができるQ&Aサービスです。「医師版Stack Overflow」というとイメージしやすいかもしれません。 ちなみに、エンジニア荒谷(@_a_akira)のブログ記事、「Kotlin Fest 2019でエムスリー社員(俺)が登壇しました」に、エムスリーではKotlinを導入しているサービスが多数あると記載がありましたが、サービスもその一つです。 どんなサービスを目指しているのか エムスリーの受付にはミッションが書かれています。 医師は、日々さ

    「医師版Stack Overflow」を開発しています - エムスリーテックブログ
    peketamin
    peketamin 2019/09/03
  • pytest ヘビー🐍ユーザーへの第一歩 - エムスリーテックブログ

    蛇行区間にはレールの内側に脱線防止ガードが設置される(文とは関係ありません)。 こんにちは、エムスリー・エンジニアリングG・基盤開発チーム小です。 pytest は Python のユニットテストのデファクトスタンダードです。エムスリーでも顧客向けレポートや機械学習Python&pytest をヘビー🐍1に使っています。 ですが、実は pytest は、意外と入門のハードルが高い。と言うのも、pytest の公式ドキュメント が、fixtureのような新概念も登場する上、詳細で分量が多いからです(しかも英語)。初心者にいきなり読ませると挫折する可能性大です 2。 そこで、とりあえず使い始めるのに必要そうな情報を日語でまとめました。 pytest ってどんなライブラリ? unittest や nose から簡単に移行できる 書き方がシンプル fixture モックもできる プラグイ

    pytest ヘビー🐍ユーザーへの第一歩 - エムスリーテックブログ
    peketamin
    peketamin 2019/08/23
  • APIのコードを自動生成させたいだけならgRPCでなくてもよくない? - エムスリーテックブログ

    こんにちは、エンジニアリンググループの福林 (@fukubaya) です。 先月から、今年の秋くらいにリリース予定の新サービスの設計、開発を始めました。 せっかく新しく始めるサービスなので、まだ経験したことがない言語やフレームワーク、技術を使わないと楽しくありません。 そこで、バックエンドにGoにして、フロントのAPIまで含めてgRPCの .proto ファイルで定義を一元化し、APIコードは protoc で生成させる計画を立てていたのですが、 フロントでgRPCとなると、 gRPC-web か grpc-gateway になるが、リリースまでに使える期間では認証も含めると検証が間に合わなさそう Goだけでなく、terraform(インフラ設計もやります) も Vue.jsも今回が初めて、というメンバーもおり、さらにRESTではなくgRPCも、となると未経験技術が多すぎてキャッチアップが

    APIのコードを自動生成させたいだけならgRPCでなくてもよくない? - エムスリーテックブログ
    peketamin
    peketamin 2019/08/15