タグ

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

  • GKEでStreamlitをホスティングして社内用アプリを作った話 - エムスリーテックブログ

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

    GKEでStreamlitをホスティングして社内用アプリを作った話 - エムスリーテックブログ
    mizchi
    mizchi 2020/10/09
  • シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ

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

    シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ
    mizchi
    mizchi 2020/09/29
  • 社内サービスを一括・即座・セキュアにリモートワーク開放した話 - エムスリーテックブログ

    はじめまして。 エムスリーエンジニアリンググループSREチームの山です。 先日来のリモートワーク促進の中、弊社でも多くの社員がオフィス外から接続するようになりました。 もちろん、VPNを利用すれば社内のサービスも利用できますが、VPNの使用量が一気に増えるとそちらの制限にかかります。 今回「VPNを可能な限り利用せず、なおかつセキュアに社内のサービスを利用してもらう」という課題に取り組みましたので、ここでその紹介をさせてください。 前提 方針 クライアント証明書の問題点 一括でのSSL化・証明書検証 ドメイン変換 実際の設定 Squidの設定(抜粋) unboundの設定 nginxの設定(クライアント証明書検証) nginxの設定(HTTPサーバに対するproxy) nginxの設定(個別対応) ブラウザのProxy設定 その後発生した問題 ポート問題 Hostヘッダ問題 戻りヘッダ問

    社内サービスを一括・即座・セキュアにリモートワーク開放した話 - エムスリーテックブログ
    mizchi
    mizchi 2020/09/13
  • Pythonのパッケージ周りのベストプラクティスを理解する - エムスリーテックブログ

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

    Pythonのパッケージ周りのベストプラクティスを理解する - エムスリーテックブログ
    mizchi
    mizchi 2019/01/12
    機械学習だけやると割り切ってる人は anaconda でいいんだろうけど、汎用プログラミング言語として扱おうとすると pipenv 必要になる
  • 1