エムスリーテックブログ

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

Go

Goで時刻のゼロ値が変になった話

Go

エムスリーエンジニアリングG/BIRの遠藤です。 アドベントカレンダーは終わっちゃっいましたが、年納めに小ネタを。 BIRはビジネスインテリジェンス&リサーチの略で、そこでは医療従事者の会員向けアンケートをベースに、製薬会社へのマーケティング支援を提…

Go で Chrome Bookmark Fuzzy-finder を作ってたら無限ネスト JSON を平らにしてた

Go

Google Chromeのブックマークをfuzzy-findingできるツール ***bmfzf*** を作りました。今回はGoでfuzzy-findingツールを作る方法と、Chromeブックマークのような無限ネストJSONをVisitor patternでスライスにパースする方法などを紹介します。

BigQueryのテーブル連携時間を監視する

これは エムスリー Advent Calendar 2020 の15日目の記事です。 前日は id:Hi_king による、臨床AIはなにができ、何が難しいか: 臨床AI研究開発の3類型 でした。 エムスリーエンジニアリンググループ AI・機械学習チームの笹川です。 趣味はバスケと、筋トレ…

Goのchannelとスケジューリング

Go

この記事は エムスリー Advent Calendar 2020 の13日目の記事です。 エムスリーエンジニアリンググループ/BIRの滝安(@juntaki)です。 BIRはビジネスインテリジェンス&リサーチの略で、そこでは医療従事者の会員向けアンケートをベースに、製薬会社へのマー…

今どきの Go の書き方まとめ (2020 年末版)

Go

こんにちは、m3 エンジニアリンググループ CTO 矢崎(id:Saiya)です。 過去に Go 言語の仕様を一通り見た経験があったのですが、久しぶりに Go のコードを最近読み書きした際に、ここ数年の Go 言語やエコシステムの進化による変化もあり、発見やハマりが多々…

コードリーディング: Go 標準ライブラリ net/http/httputil ReverseProxy での WebSocket の取り扱い

エンジニアリンググループの山口 (@no_clock) です。 クラウド電子カルテ「エムスリーデジカル」のシステム水平分割(参考)を実施するにあたり、 HTTP リクエストを分割システム群にルーティングするリバースプロキシを実装しました。実装規模は Go 言語で …

IaCを意識したCLI開発のエッセンス

〇〇をファイルで宣言的に管理 したい。そのようなツールを開発 するときは少しコツが必要です。

最近のOSS活動の取り組みの紹介

エンジニアリンググループ、AI・機械学習チームでデータエンジニア/チームリーダーをしている笹川です。 趣味は文字列と、筋トレです。 先日、このところのWFHの影響で、運動不足が顕著だったので、2個で60kg弱のダンベルを注文したのですが、自宅に届けてく…

BIRの技術スタックとアーキテクチャ

この記事はエムスリー Advent Calendar 2019の12日目の記事です。 エムスリーエンジニアリンググループの滝安(@juntaki)です。BIRというチームでエンジニアやらプロダクトマネージャー的なことをしています。 BIRはビジネスインテリジェンス&リサーチの略…

Kubernetes上でのGoによるシンプルなAPIの開発と、その効率化のためのcookiecutter templateを作った話

エンジニアリンググループ AI・機械学習チームの笹川です。 これはエムスリー Advent Calendar 2019の12月4日の記事です。 前日は、CTO 矢崎による 1つの terraform で複数 AWS Account をまとめて構築・管理する でした。 今回は、AIチームでのAPI開発で利…

AWS SAM + DynamoDB Local + Go で始めるサーバレスアプリケーション開発

この記事は エムスリー Advent Calendar 2018 6日目の記事です。 こんにちは、エムスリー エンジニアリンググループの大和です。 普段は Spring Boot (Java + Kotlin) を使用したサーバサイド開発をしていますが、この度 AWS Lambda を使用したアプリケーシ…

WEBリサーチビジネスの業務プロセス・システムを改革していく

エンジニアリングGの井口です。WEBリサーチビジネス事業グループのエンジニアチームリーダをしています。 当グループは主に、「会員の皆様にアンケートにご協力いただき、集まった情報を元に、クライアントの課題を解決していく」というサービスを提供してい…