Safie Engineers' Blog!

Safieのエンジニアが書くブログです

FastAPI StreamingResponse の使い方

サーバサイドエンジニアの松木 (@tatsuma_matsuki) です。 Safieでは、FastAPIを利用していくつかのサービスを開発しています。Safieのサービスの性質上、APIサーバで画像ファイルなどのオブジェクトを扱うことが多いです。

大きいサイズのオブジェクトをクライアントにダウンロードさせるAPIなどでは、FastAPIの StreamingResponse を使うのが便利ですが、このStreamingResponseの使い方を扱った良いリファレンスがネット上であまり見つからなかったので、この記事で実際にコードなどを示しながら実装例を共有していきたいと思います!

  • StreamingResponse
  • S3からオブジェクトをダウンロードして返す
  • 同期・非同期イテレータでのダウンロード時間比較
  • 他サービスAPIからオブジェクトをダウンロードして返す
    • 単体テストの実装
  • まとめ
続きを読む

Angularのバージョンアップをしました

こんにちは、フロントエンドエンジニアの沖です。 セーフィーには2022年1月にジョインし映像閲覧WebアプリであるSafie Viewer(以下Viewer)の開発を担当しています。

今回は、Viewerで利用しているフレームワークであるAngularのバージョンアップを9月末のリリース時に行ったのでその話をしたいと思います。

  • Viewerについて
  • Viewerのアップデートサイクル
  • 今回のアップデートによる変更点
    • Standalone Components
    • Typed Forms
    • 地味な変更点
  • アップデート作業について
  • 今後試してみたい新機能
    • Standalone Components
    • runInContext(Angular 14.1系)
  • まとめ
続きを読む

エッジAIカメラ「SafieOne」の画像認識

はじめに

セーフィーで画像認識エンジニアをしている橋本です。本記事では、先日発売されたエッジAIカメラSafieOneで利用可能なサービス「Store People Detection Pack」で開発した画像認識システムとアルゴリズムについて紹介したいと思います。

  • はじめに
  • システムの概要
  • 物体検出
    • 学習時の工夫
    • 量子化の工夫
  • トラッキング
  • イベント発行と送信
  • まとめ
  • 参考URL
続きを読む

インフラからサーバサイド開発に転向した話

こんにちは。セーフィー株式会社 バックエンドエンジニアの村田 (@naofumimurata)です。

セーフィーには2020年9月に入社して今年の9月で2年が経ちました。入社後はインフラグループに配属となり、既存インフラの改善や新規サービスのインフラ設計/構築などサービスのインフラを支える仕事を担当していました。実は1年ほど前から自分の希望でチームを移動し、現在はサーバサイドの開発業務をメインで行っています。

今回はこれまでを振り返ってみて、サーバサイド開発に転向する上で大変だったことや良かったことなどを書いてみようと思います。

  • 自己紹介
  • インフラグループでの仕事
  • スクラム開発の導入とサーバサイド開発へのチャレンジ
  • なぜ転向したのか
  • 実際やってみて
    • 大変だったこと
    • 良かったこと
  • さいごに
続きを読む

エッジAIカメラ「SafieOne」のアプリ「Store People Detection Pack」とは

こんにちは「Store People Detection Pack」のPdM(プロダクトマネージャー)の谷野です。

8/4にセーフィー初となるエッジAIカメラ、「Safie One」の製品発表を行いました!

safie.co.jp

「SafieOne」では、エッジAIを利用する為の設定や結果を確認することができるブラウザアプリケーション「AI-App(あいあっぷ)」を使うことで、「映像×AIによる課題解決」ができる賢くなるカメラを目指しています。

その「AI-App」の第一弾として、「Store People Detection Pack」(AI-Appを使用できるようにするための、カメラと紐づくオプション)が小売り・飲食等向けに販売されます。

今回は、「AI-App」が目指すもの、そして「Store People Detection Pack」のコンセプトや機能に関して、PdM視点でご紹介させていただきます!

  • 店舗におけるAIの役割
  • 「Store People Detection Pack」のコンセプトとリリースまでの道のり
  • Store People Detection Packの3つの機能
    • ①立ち入り検知
    • ②通過人数カウント
    • ③立ち入りカウント
  • 「AI-App」の今後
  • さいごに
続きを読む

社内ハッカソン開催!

こんにちは。セーフィー株式会社 エンジニア 谷口、江守です。

今回、セーフィーで初めての社内ハッカソンを開催しました!
所属部門内に閉じた形ではありますが、事業成長とともに組織が変わっていく中で、組織活性化の手段として、また単純にハッカソンをやりたい!という個人的な思いを掛け合わせて実現させました。

その過程と実際に開催した内容をご紹介したいと思います。

  • ハッカソンをやりたいと思った理由
  • 実施の承認を得る
  • どのような形で開催するか
  • 社内ハッカソン実施要項
    • 目的
    • 期間
    • 参加者、チーム分け、作るもの
    • 進め方
    • 成果発表
    • その他
  • チーム分けと企画内容
  • 途中経過
  • 発表会
  • 最後に
続きを読む

SAML認証を用いたSSO(シングルサインオン)を実装する

こんにちは。セーフィー株式会社 バックエンドエンジニアの河津です。

セーフィーにはクラウドカメラやユーザーアカウントを一括管理できる統合環境である「Safie Manager」というサービスがあり、主にエンタープライズのお客様にご活用いただいています。

safie.link

7/7(木)にはSSO(シングルサインオン)の機能をリリースしました!

今回はそのリリースされたばかりの新機能「シングルサインオン(以下SSO)」と、それを実現させる仕組み「SAML認証」について解説させていただきます。

  • SSOについて
    • 1. 利便性が上がる
    • 2. セキュリティリスクが下がる
    • 3. IT部門での管理が容易になる
  • SAML認証に関わる用語解説
  • SAML認証について
    • 1: ユーザーがアプリケーションにアクセス
    • 2: SAML認証要求を生成
    • 3,4: IdPへのリダイレクト
    • 5: SAML認証要求を受け取り、認証を試みる
    • 6,7,8: ユーザー認証
    • 9: SAML認証応答を作成
    • 10: SPへの302 HTTP POST Binding
    • 11,12,13: SAML認証応答を検証し、ユーザーログインを許可
    • 14: ログイン成功
  • Safie ManagerとSSO
  • まとめ
続きを読む

Safie組み込みエンジニアの業務と独自ファームウェアSafieClientについて

プロダクト基盤開発グループデバイスコアチーム、組み込みエンジニアの楊(よう)です。

セーフィーのプロダクトというと、「カメラ」というイメージを持つ方も多いかもしれません。
そんなカメラを始めとしたデバイスの開発は、組み込みエンジニアが担当しています。
今回は組み込みエンジニアの業務内容やカメラ開発の中身をご紹介したいと思います。

  • セーフィー組み込みエンジニアの業務
  • Safieカメラ・デバイスの構成
    • Safie Client SDKの開発
    • カメラ・デバイスの開発
      • 自社カメラの開発
      • 他社市販カメラのSafie化開発
      • Safie Client SDKを外部へ提供
    • Safieエッジアプリやそのプラットフォームの開発
  • 最後に
続きを読む

スクラム開発のメリット 〜スクラム初心者が経験して感じたこと〜

初めまして。セーフィーの伊原と申します。
今年で社会人3年目で、セーフィーには2021年11月に入社いたしました。

現在はビジネスユニット1にてフロントエンド開発を主に担当しています。
ビジネスユニット1は主に飲食・小売業のDX実現を目的とした部署で、多店舗経営者向けのクラウドカメラ管理アプリケーションや、店舗内の人を検知するAIを搭載したクラウドカメラの開発を行っています。

今回は私が所属しているフロントエンドチームにて実施しているスクラム開発についてご紹介いたします。
私にとってスクラム開発はセーフィーが初めての経験で、当初は慣れない事も多かったですがとても良い取り組みだと感じています。

本記事では初めにスクラムの簡単な説明をした後、開発現場で実践している開発フローについてご紹介いたします。その後、私が考えるスクラムの良さについて所感を述べます。

  • スクラム開発の概要
  • Safieのフロントエンドの開発フロー
  • スクラム開発のメリット
  • 最後に
続きを読む

© Safie Inc.