タグ

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

  • チームで培われたベストプラクティスをlintとして周知する - エムスリーテックブログ

    こんにちは。AI機械学習チームの氏家(@mowmow1259)です。 エムスリー福岡オフィスの一人目のエンジニアとして福岡で働いています。 マクドナルドの月見バーガーが好きで、今年も発売開始当日にべに行きました。 私が所属するAI機械学習チームでは基的に2週間から1ヶ月程度で新規プロダクトをリリースするなど、高速にプロダクトを開発しています。 その過程で、「この書き方は落とし穴があるから使わない方がいい」といった開発に際したベストプラクティスが溜まっていきます。 そういったベストプラクティスはレビューでの指摘や技術共有会*1でチームに浸透してきますが、レビュー負荷や新メンバーへの周知などに課題がありました。 この記事では、それを解決するためにベストプラクティスをLinterの独自ruleとして規定し、CIで自動検知することでチーム全体に周知する取り組みについて紹介します。 独自ru

    チームで培われたベストプラクティスをlintとして周知する - エムスリーテックブログ
    demacs
    demacs 2024/10/03
  • AI・機械学習チームで学んだ開発技法で趣味の通知系ツールを量産した - エムスリーテックブログ

    AI機械学習チームブログリレー 7日目担当の高田です。 AI機械学習チームでは、開発するプロダクトの数が多く、スピード感を持って開発を進めることが求められます。 そのような環境の中では、高速にプロダクトを生むためのあるあるのアーキテクチャであったり、どのプロダクトでも使っているぞというライブラリが存在します。 それらのノウハウを活かして、日曜大工で作った趣味開発のプロダクトを紹介していきたいと思います。 AI機械学習チームのあるある アーキテクチャ編 ライブラリ編 趣味プロダクトもスピードが大事 YouTubeライブ開始通知 ポイ活案件検知 ANAトクたびマイル通知 まとめ We're hiring! AI機械学習チームのあるある アーキテクチャ編 例えばm3.com会員向けのコンテンツ配信設定など、ビジネスサイドでデータの入力を運用するプロダクトがあります。そういったプロダクトで

    AI・機械学習チームで学んだ開発技法で趣味の通知系ツールを量産した - エムスリーテックブログ
    demacs
    demacs 2024/08/16
  • 世にも奇妙なQUERY関数 ~冬のスプレッドシート特別編~ - エムスリーテックブログ

    この記事はエムスリーAdvent Calendar 2023の17日目の記事です。 こんにちは、エムスリーエンジニアリンググループ/ BIR(Business Intelligence and Research) チーム の遠藤(@en_ken)です。 皆さんGoogleスプレッドシート使っていますか? エンジニアだとあまり使わない方もいるかも知れませんが、BigQueryとの連携が非常に容易なため、 データをビジネスサイドに見せたり分析したりする際には便利なツールです。 BigQueryをバックエンドと考えると、スプレッドシートは簡易なフロントエンドのフレームワークとも捉えられます。 ちょっとしたビューの変更はセルで行えるため、 BIRでは業務を整理する際のプロトタイピングとして、 あるいはビジネスサイドの要件でExcel的なインタフェースが好ましいときのアプリケーションの作成方法として

    世にも奇妙なQUERY関数 ~冬のスプレッドシート特別編~ - エムスリーテックブログ
    demacs
    demacs 2023/12/18
  • Looker APIを活用して確実なデプロイを実現させる - エムスリーテックブログ

    これはエムスリーAdvent Calendar 2023 の10日目の記事です。 こんにちは、エンジニアリンググループの石塚です。最近は年明けに控えている結婚式という大イベントに向けてダイエット中でスポーツジムへ通い、有酸素運動するのと並行して事制限をして追い込んでいる毎日です。2ヶ月ほどで6kg弱の減量を目標に地道に日々目標をスプレッドシートにまとめながら追い込んでます。(今の所良いペースです。) 今回は、弊社で利用しているLookerというBIツールを利用しているなかで発生したつらみの共有と対策について共有します。少しニッチな内容ですが、自分自身が調べているときに同事象で苦しんでいるようなブログ記事が見当たらなかったこともあり、ニッチな人を対象に有益な内容になれば幸いです。 11/6からの体重減少とランニング累計の記録をグラフにしました。 Lookerとは? デプロイに成功したのに想

    Looker APIを活用して確実なデプロイを実現させる - エムスリーテックブログ
    demacs
    demacs 2023/12/11
  • 明日からできる、爆速Figma活用術 - エムスリーテックブログ

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

    明日からできる、爆速Figma活用術 - エムスリーテックブログ
    demacs
    demacs 2023/02/16
  • エムスリーが誇る最強のプロダクトマネージャー育成環境:プロダクトマネージャー定例 - エムスリーテックブログ

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

    エムスリーが誇る最強のプロダクトマネージャー育成環境:プロダクトマネージャー定例 - エムスリーテックブログ
    demacs
    demacs 2022/12/26
  • 機械学習で逆ストリートビューを作り、写真から港区らしさを判定する - エムスリーテックブログ

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

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

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

    エムスリーのデータ基盤を支える設計パターン - エムスリーテックブログ
    demacs
    demacs 2021/10/03
  • Digdag + Embulkをクラウド転生させてデータ基盤運用を圧倒的に楽にした話 - エムスリーテックブログ

    こんにちは、エムスリー エンジニアリンググループ / 製薬企業向けプラットフォームチームの鳥山 (@to_lz1)です。 これは エムスリー Advent Calendar 2020 の19日目の記事です。 エムスリーでは現在、各システムのオンプレ環境からクラウドへの移行を急ピッチで進めているところです(勉強会の配信アーカイブをYouTubeでもご覧いただけます。公式テックチャンネルのご登録、ぜひお願いします!) www.youtube.com これに関連して私のチームでも最近「データ基盤(Digdag + Embulk)のクラウド移行」を行ったため、そのときに考えたことや移行して良かったことを共有したいと思います。 エムスリーのデータ基盤について それまでの構成 クラウド環境でのアーキテクチャ DigdagとEmbulkの分離 Digdag on AWSからBigQueryを操作する 併

    Digdag + Embulkをクラウド転生させてデータ基盤運用を圧倒的に楽にした話 - エムスリーテックブログ
    demacs
    demacs 2020/12/19
  • Pythonの機械学習用Docker imageのサイズ削減方法の紹介 - エムスリーテックブログ

    エムスリーエンジニアリンググループ AIチームの笹川です。 バスケと、ロードバイクが趣味なのですが、現在、NBAのplayoffと、Tour de Franceが同時に開催されていて大変嬉しい毎日を過ごしています。 特にNBAのplayoffは、連日overtimeとなるような激戦や、giant killingがあったりのアツい戦いが繰り広げられていて最高です。 そういう状況なので(?)、今回は先日取り組んだ、Python機械学習バッチを実行するdocker imageのサイズ削減についてのアツい戦いについて紹介したいと思います。 膝の上に登って寝る為に、筆者がデスクに戻るのを机の下で待ち構える犬氏(かわいい) 今回の取り組みでは、もともと3GB程度だったPythonのML用のimageを、約2.0GBに削減することができました(それでもなかなかのサイズ。MLのimageは特に大きい印象

    Pythonの機械学習用Docker imageのサイズ削減方法の紹介 - エムスリーテックブログ
    demacs
    demacs 2020/09/19
  • 行動ログデータからのユーザーアンケート予測モデルを作り、ユーザーの嗜好分類をする - エムスリーテックブログ

    こんにちは。エンジニアリンググループ AI機械学習チームの大垣です。 これは エムスリー Advent Calendar 2019 の10日目の記事です。 前日は id:sora_sakaki による、量子ゲームを開発した話でした。 さて、この記事ではデータエンジニアの皆さんが戦われているであろうログデータの活用の話をします。 もちろんエムスリーでもレコメンドやコンテンツの出し分けなどログデータを活用したシステムが開発されています。 ここでは、そのログに加えて、アンケートを用いることで、解釈しやすいユーザーの嗜好分類を行う話をします。 なおこの内容は日の Machine Learning Night というイベントで簡単に紹介し、スライドも公開する予定です。ご興味のある方はそちらも是非ご覧ください。 webサービスでの行動ログとアンケートの結果を紐づけて予測モデルを作る。アンケート非回

    行動ログデータからのユーザーアンケート予測モデルを作り、ユーザーの嗜好分類をする - エムスリーテックブログ
    demacs
    demacs 2019/12/10
  • 新しいアンケートシステムをつくった(Digdag・Embulk・BigQueryデータ同期編) - エムスリーテックブログ

    「作れないものがない」アンケート作成システムを作成した、エムスリーエンジニアリンググループの岩です。 今回は「新しいアンケートシステムをつくった(Goとシステム概要編)」のバッチ部分について説明します。 概要 アンケートシステムのIbisの内部表現として設問があります。例えば下記のように設問が定義されているとき 設問ID設問タイトルカラム名 1年齢age 2好きなべ物favorite_food 分析時にTableauから参照するBigQueryでは、回答テーブルとして以下のように見えると処理しやすくなります。 回答番号agefavorite_food 137カレー 232スパゲッティ つまり、前回、滝安(@juntaki)が説明したとおりIbisで「設問の作成」を行うと、分析する際のカラムが1つ増えることになります。 縦持ちとなっている「設問」の情報を横持ちに変換し、BigQueryの

    新しいアンケートシステムをつくった(Digdag・Embulk・BigQueryデータ同期編) - エムスリーテックブログ
  • Pythonのパッケージ周りのベストプラクティスを理解する - エムスリーテックブログ

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

    Pythonのパッケージ周りのベストプラクティスを理解する - エムスリーテックブログ
  • 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ヶ月が経ちました - エムスリーテックブログ
  • この処理Pythonでどう書く? - エムスリーテックブログ

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

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