タグ

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

  • Looker APIを活用して確実なデプロイを実現させる - エムスリーテックブログ

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

    Looker APIを活用して確実なデプロイを実現させる - エムスリーテックブログ
    ryshinoz
    ryshinoz 2023/12/11
  • AWS Lambda でも Rails で Web 開発 - エムスリーテックブログ

    日はコンシューマチームのブログリレー2日目です。 エムスリーエンジニアリングG コンシューマチームの松原(@ma2ge)です。 今回は以前筆者が M3 Tech Talk で話した AWS Lambda での Web アプリ開発に Rails を使う内容について、 若干内容を変えつつ Tech Blog の方でも紹介をしたいと思います。 最近使っているキーボードの様子 現在のチームで担当している主要なアプリは Rails で書かれていて、ほとんどがコンテナ化され Amazon ECS(ECS) と Fargate を使って運用されています。 そんな中今年の初めに AWS Lambda(Lambda) に適したプロジェクトが話にあがりました。ただ RailsLambda しかも Web アプリとなるとあまり採用事例を耳にしません。 とはいえ使い慣れている Rails をそのまま生かし

    AWS Lambda でも Rails で Web 開発 - エムスリーテックブログ
    ryshinoz
    ryshinoz 2023/11/23
  • 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はコンテナイメージでよくない? - エムスリーテックブログ
    ryshinoz
    ryshinoz 2023/09/01
  • 抗がん剤の副作用をAIで予測する - エムスリーテックブログ

    こんにちは、AI機械学習チームの浮田 (id:uKita) です。 今年のMultinational Association of Supportive Care in Cancer (MASCC)という国際学会にて、私たちのチームがサポートしてきた研究開発がオーラル発表されたので、今回はその内容について紹介します。発表のアブストラクトはこちらです。 www.eventsforce.net 臨床AIの開発 今回の研究の背景 データセット 解析 データ量があまり多くないことへの対処 画像の前処理 結果 データ量と精度の関係 まとめ We're hiring! 臨床AIの開発 AI機械学習チームでは、臨床現場で活用できるAIの開発に取り組んでいます。これまで、間質性肺炎の診断AICOVID-19肺炎の重症化を予測するAIをはじめ、様々な疾患や症状を対象にモデルを開発してきました。これらの

    抗がん剤の副作用をAIで予測する - エムスリーテックブログ
    ryshinoz
    ryshinoz 2023/08/18
  • BigQuery上のデータマートをクラスタ化したらクエリコストが9割カットできた話 - エムスリーテックブログ

    こんにちは、エンジニアリンググループ、データ基盤チームの木田です。 最近我が家では手作りピザがブームになっており、週末になると度々生地をこねては家庭内ピザパーティーを開催しております。 息子が盛り付けた手作りピザ (文とは特に関係ありません) さて、エムスリーではBigQueryをメインのデータウェアハウスとして活用していますが、費用最適化の取り組みの 1つとして一部のデータマートでクラスタ化テーブルの活用を始めました。日はその導入効果をご紹介できればと思います。 この記事は【データ基盤チーム ブログリレー4日目】です。データ基盤チーム設立の経緯についてはブログリレー1日目の鳥山の記事をぜひご覧ください。 www.m3tech.blog はじめに 費用最適化のアプローチ クラスタ化テーブルとは クラスタ化テーブルの作成方法 実際に速く・安くなるのか 複合キーによるクラスタリング クラス

    BigQuery上のデータマートをクラスタ化したらクエリコストが9割カットできた話 - エムスリーテックブログ
    ryshinoz
    ryshinoz 2023/07/09
  • 明日からできる、爆速Figma活用術 - エムスリーテックブログ

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

    明日からできる、爆速Figma活用術 - エムスリーテックブログ
    ryshinoz
    ryshinoz 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時間以内にする - エムスリーテックブログ
    ryshinoz
    ryshinoz 2022/12/31
  • 今どきの Go の書き方まとめ (2020 年末版) - エムスリーテックブログ

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

    今どきの Go の書き方まとめ (2020 年末版) - エムスリーテックブログ
    ryshinoz
    ryshinoz 2020/12/07
  • GKEでStreamlitをホスティングして社内用アプリを作った話 - エムスリーテックブログ

    はじめに ブンブンハローテックブログ。エムスリー AI機械学習チームでエンジニア兼YouTuberをやっています河合と笹川です*1。記事は、AIチームが社内向けに提供を初めたビジュアライズアプリケーションに関する解説の記事です。 GKE上のStreamlitサーバのホスティング設定と、機械学習エンジニアが社内向けの可視化を行う際の一例として、参考となれば幸いです。 はじめに Background Streamlitとは Streamlitの特徴 アプリケーション、インフラ構成 おわりに We're hiring Background 一般的に「機械学習エンジニアが社内向けの可視化アプリケーションを作る」といったケースでは、以下のようなシステム利用が考えられるかと思います。 HTML、xlsx、Googleスプレッドシートなどを作成、配布する S3、GCSのようなストレージの静的サイトホ

    GKEでStreamlitをホスティングして社内用アプリを作った話 - エムスリーテックブログ
    ryshinoz
    ryshinoz 2020/10/09
  • Cloud Run で NEWS ランキング API を作った話 - エムスリーテックブログ

    エンジニアリンググループ AI機械学習チームの岩月です。 これは エムスリー Advent Calendar 2019 の12月8日の記事です。 今回は、先日ついにGAになった Cloud Run を利用して、 NEWS のランキング API を作成した件についてまとめます。 NEWS ランキング API の役割 Cloud Run 構成 処理のフロー なぜこの構成になったか (Cloud Run を採用してよかった点) 運用のコストを減らしたかった GKE (Kubernetes) への移行がしやすい Cloud Run を使いたかった Cloud Run を採用したことによる制限 Keep-Alive ができない コールドスタート まとめ We're hiring! NEWS ランキング API の役割 エムスリーでは医療関連のニュースをはじめとする様々なニュースを扱っており、そこで

    Cloud Run で NEWS ランキング API を作った話 - エムスリーテックブログ
    ryshinoz
    ryshinoz 2019/12/13
  • ALB 経由で Lambda の Rails を実行してみた - エムスリーテックブログ

    お久しぶりです、エムスリーエンジニアリンググループ 兼 QLife エンジニアの園田です。 今回は、Rails のアプリを AWSLambda で動かして、ALB 経由でアクセスしてみようという内容です。 実現するためには ALB から Lambda を呼び出す。 LambdaRails を動かす。 上の2つをクリアするだけでいいので、動かすだけならとても簡単にできてしまいます。 1つめは、ALB の TargetGroup に Lambda 関数が指定できるので、それを使います。 2つめは、Github にある aws-samples/serverless-sinatra-sampleの Lambda 関数ブリッジ用ソース (MITライセンス、以降 aws-samples のサンプルソース と表記します) を利用にすればほぼ何もいじることなく実現できます。 serverles

    ALB 経由で Lambda の Rails を実行してみた - エムスリーテックブログ
    ryshinoz
    ryshinoz 2019/06/26
  • TypeScriptの型でなんかすごくがんばる - エムスリーテックブログ

    エンジニアリンググループの冨岡です。 先日、以下のTypeScript用DIライブラリを公開しました。大きな特徴として、解決するために不十分な依存がある場合にコンパイルエラーになるようになっています。 github.com www.m3tech.blog このコンパイル時の型チェックの実現には、TypeScriptにおける様々な型レベルのテクニックが用いられています。泥臭い試行錯誤の結果、なかなかhackyなこともやっていて面白い(?)ので、せっかくなので解説しようと思います。 もちろん、「もっとエレガントにできるよ」というアドバイスやプルリクも大歓迎です!皆さんも、自分だったらこうするなぁ、とか思いながら楽しんでいただければと思います! (なお記事ではこのバージョンのこのファイルをもとに解説していきます。) 前提と問題の設定 typesafe-diでは、各インスタンスのfactoryを

    TypeScriptの型でなんかすごくがんばる - エムスリーテックブログ
    ryshinoz
    ryshinoz 2019/04/23
  • 「入門 監視」を読んで見えてきた現状の課題と改善点 - エムスリーテックブログ

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

    「入門 監視」を読んで見えてきた現状の課題と改善点 - エムスリーテックブログ
    ryshinoz
    ryshinoz 2019/03/07
  • 新ストレージ管理システム Stratis について調べてみた - エムスリーテックブログ

    この記事は エムスリー Advent Calendar 2018 17日目の記事です。 皆さんはじめまして!11月にエンジニアリンググループに入りました、SREの平岡です。今回はSRE・・・というよりインフラ技術に携わるエンジニアとして、OSプラットフォーム周辺での新しい技術について紹介します。 8 が・・・来る! Stratisとは? 他のVMFsとの違いは? 使ってみた インストール&デーモン起動 プール作成〜ファイルシステム作成 その他にできること プールへのキャッシュデバイスの追加 ファイルシステムのスナップショット作成 サポート予定の機能 所感 余談:注目したいポイント We are hiring! 8 が・・・来る! 今年(2018年)11月の頭に Red Hat Enterprise Linux (RHEL) 8 のパブリックベータが公開されました。そのリリースノートに挙げら

    新ストレージ管理システム Stratis について調べてみた - エムスリーテックブログ
    ryshinoz
    ryshinoz 2019/01/04
  • この処理Pythonでどう書く? - エムスリーテックブログ

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

    この処理Pythonでどう書く? - エムスリーテックブログ
    ryshinoz
    ryshinoz 2018/11/25
  • エムスリー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チームのご紹介 - エムスリーテックブログ
    ryshinoz
    ryshinoz 2018/09/22
  • bashスクリプティング研修の資料を公開します - エムスリーテックブログ

    こんにちは、エンジニアリングGの中村です。 以前にこのブログにてエムスリーでの社内研修について紹介しました。今回は、この中でのbashスクリプティング講座の資料を公開します。 www.m3tech.blog 弊社の中でもいろいろな用途でbashが使われていますが、bashは簡単に利用できるもののプログラミング言語としてはバグを生みやすい、辛い言語だと思います。 ここで紹介しているのはいわゆるコーディング規則というよりも、バグ防止と可読性向上のためのルールをTips集的にまとめたものです。 bashにおいてまだまだ注意するところはありそうですが、多少なりともわかりにくいスクリプトの削減になればと期待しています。 [追記: 2018-08-22] はてブにて以下のコメントをいただきました。 bashスクリプティング研修の資料を公開します - エムスリーテックブログ bashで50行以上になった

    bashスクリプティング研修の資料を公開します - エムスリーテックブログ
    ryshinoz
    ryshinoz 2018/08/22
  • タイムゾーンを考慮した日時の扱いのベストプラクティス - エムスリーテックブログ

    こんにちは、server-side kotlinterraform を書くことが多い、エンジニアリングGの矢崎(id:Saiya)です。 タイムゾーンや日時の扱いについての話題がホットな昨今ですが、 そういった日時の扱いについて例えば以下のようなお話を受けることが少なからずありました: とりあえず日時は UTC からの時差情報付きで扱えばいいんでしょ? DB に保存するときもタイムゾーン情報付きで入れておけばいいんでしょ? こういったお話を振られた際に、思うところを一言でサッと説明できずもやもやする事もあり、 また web サービスにおいて日時・タイムゾーン・オフセットをどう扱うべきか?納得の行く説明をあまり見つけられなかったため、 筆者なりに考えをまとめてみました。 国家的祭典のために急にサマータイムが導入されるといった話に限らず、 クラウドサービスが UTC+0 の日時になってい

    タイムゾーンを考慮した日時の扱いのベストプラクティス - エムスリーテックブログ
    ryshinoz
    ryshinoz 2018/08/17
  • AWS Fargateのデプロイパイプライン(Gitlab > S3 > CodePipeline)を構築してみた - エムスリーテックブログ

    こんにちは、エムスリーエンジニアの園田です。 この記事はAWS FargateでElixirのコンテンツ配信システムを動かしてみた (実装編) - エムスリーテックブログの続きです。 エムスリーでは医療・ヘルスケアサイト向けのコンテンツ配信システムであるChuoiというサービスを運用しています。先日のポストで、ElasticBeanstalkからFargateに運用を切り替えたことについて書きました。 www.m3tech.blog 今回は前回に引き続きその実装編で、CodePipeline を利用したデプロイパイプラインの構築について書きます。 まずは構成のおさらいです。 デプロイ周りは以下のような構成です。 社内 Gitlab からの CI/CD パイプライン構築 先日の記事で述べたとおり、弊社ではソース管理にオンプレの Gitlab を使っており、 CodeBuild や CodeP

    AWS Fargateのデプロイパイプライン(Gitlab > S3 > CodePipeline)を構築してみた - エムスリーテックブログ
    ryshinoz
    ryshinoz 2018/08/02
  • 1