Safie Engineers' Blog!

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

会議が変わると組織が変わる!? ~開発本部会のやり方変えてみた話~

「この記事はSafie Engineers' Blog! Advent Calendar 8日目の記事です」

自己紹介と本日のテーマ

セーフィー株式会社 開発本部 エンジニアリングオフィスの武田 智一です。 セーフィーには2023年1月に入社して、エンジニアに対する組織開発全般をおこなっています。エンジニアオフィス(組織開発)って何やっているの?というのはまた別の機会でお話しするとして、 今回はセーフィーのエンジニア全員が参加する

「開発本部会のやり方変えてみた」

のお話しをさせてもらえればと思います。

  • 自己紹介と本日のテーマ
  • 全体会議の課題
  • 会議体の再定義
    • 1. なぜやるのかを言語化
    • 2. どうやって体感するか、の定義
    • 3. アジェンダの再設定
  • 改善ステップ(ストーリー作り)
    • 改善ステップ
  • 結果
  • まとめと今後の予定
続きを読む

QA組織を作ろう ~未経験者がQAチームを作るまで~

はじめに

こんにちは!Safie QAグループ(QCDグループ)のグループリーダーの山谷です。前回はテストの業務についてのテックブログを公開しましたが、今回はなりたちについてのお話になります。

私自身はSafieに入社するまではQAエンジニアどころかテストエンジニアとしてもキャリアがない状態で入社してます。 もし同じ状況でQAエンジニアチームを作る人達の何かの参考になれば嬉しいなと思い、ブログを書くことにしました。

  • テスト体制を作ろう
  • テスト担当者を作ろう
    • ■改善活動その1 ~顧客対応を巻き取る~
    • ■改善活動その2 ~バグチケットを溜める~
  • テストチームを作ろう
  • まとめ
続きを読む

ChatGPTの助けを借りて、FastAPIで画像ビューアーを作ってみた

この記事は Safie Engineers' Blog! Advent Calendar 2023 4日目の記事です。

  • はじめに
  • システム概要
    • システム構成
      • Stable Diffusion
      • ChatGPT
      • FastAPI
      • Poetry
  • 実装
    • プロジェクトの作成
    • ファイル一覧API
      • API作成
      • URLのパスでディレクトリを指定できるように修正
      • ファイルのダウンロード対応
    • ファイル一覧ページ
    • 画像のメタデータ取得
    • 画像一覧ページ
      • 画像のメタデータの表示
  • まとめ
続きを読む

tblsのViewPoint機能を用いたGithub Actions上でのDBドキュメントの自動生成

この記事はSafie Engineers' Blog! Advent Calendar 2日目の記事です。

セーフィー株式会社でテックリードをやっております鈴木敦志です。

セーフィーはクラウドカメラのSaaSを提供しており、現在22万台程度のデバイスに対してカメラ映像をクラウドから視聴する機能を提供しています。 それに加えエンタープライズ向けの権限管理機能や社内向けの販売管理ツールなど複数のサービスを運営しており、各サービスでMySQLのDBを共有しているためDBのテーブル数が肥大化し構造がわかりにくくなり、新機能開発の妨げとなっていました。

本稿ではデータベースのドキュメンテーションツールである tbls を導入し、DBスキーマ管理ツール skeema、ドキュメント生成ツール mkdocs、Github Actionsなどと組み合わせてスキーマ管理からドキュメント生成までをやっていきます。

  • 現在の問題点
  • ドキュメント記述方法の検討 - tbls
  • ドキュメント生成手順
    • skeema によるDBスキーマの適用
    • tbls によるドキュメント生成
    • mkdocsによるHTML生成
    • ドキュメント配信
  • tblsのViewPoints機能によるドキュメントの改善
  • 今後の課題
    • .tbls.yml のエディタ補完
続きを読む

wscatでcurlみたいにWebSocketの動作確認をする

この記事はSafie Engineers' Blog! Advent Calendar 1日目の記事です。

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

アドベントカレンダーついに始まりましたね。初日の記事なので少し緊張します。 今年も様々な領域の記事がたくさん公開されると思いますので、是非他の記事も楽しみにしてくださいませ。

さて今回は、WebSocketを用いているサーバ側のアプリケーションの動作確認にwscatというツールが便利だったよという話をします。

  • 背景
  • wscatとは
  • 動作確認してみる
  • 最後に
続きを読む

遠隔臨場モード機能とグループコーディングによる開発の進め方の紹介

こんにちは。フロントエンドエンジニアの江守です。 映像閲覧WebアプリであるSafie Viewer(以下Viewer)の開発をしています。 本記事では2023年6月に「Safie Pocketシリーズ」で利用可能となった遠隔臨場モードについて紹介したいと思います。

遠隔臨場モード機能とは

遠隔臨場モード機能とは、「遠隔臨場」での実施記録撮影時に、監督員などのワイプ映像をキャプチャ内に含めた保存ができる機能となります。

具体的には、下記手順にて有効となり、スクリーンショットで撮影いただくことで実施記録として保存することができます。

  1. デバイス設定の設定画面で、「遠隔臨場モード」をONにします。

  2. Viewerの音声通話を実行し、カメラのON/OFFボタンをONにするとViewer画面上にワイプ映像を表示します。

対応の背景

「Safie Pocketシリーズ」を販売していく中で、いくつかの地方自治体では以下のような独自要件があり、導入が難しいケースがあることが判明しました。

  • 受注者は遠隔臨場が行われた記録として、全景と近接の映像をスクリーンショット等で撮影
  • 記録の撮影時には必ず監督員の映像を含めて撮影

(出典:石川県 建設現場における遠隔臨場に関する試行要領 概要版)

「Safie Pocketシリーズ」を使いながら遠隔臨場を行う際は、現場サイドでは携帯しているデバイスの音声通話を使い、監督員サイドではViewerの音声通話を使うケースがほとんどかと思います。

要件1つ目については、監督員サイドで音声通話中にスクリーンショットを撮ることで問題はないのですが、要件2つ目については、監督員の映像を表示することが出来ていなかったため対応を行いました。

グループコーディング

弊社フロントエンドエンジニアチームでは、要件やデザインが固まり実装フェーズに移行、または開発がある程度進んだ段階でグループコーディングを行っています。

グループコーディングとはVisual Studio Codeの拡張機能であるLive Share機能を使って、チーム全員でコードの共同編集を行うことです。

グループコーディングを導入した経緯としては下記があります。

  • 各メンバーの習熟度向上
    ViewerはフレームワークにAngularを利用しているのですが、長く利用し続けているメンバーもいれば、入社してから初めて利用するメンバーもおり、習熟度に差があります。
    習熟度の高いメンバーからアドバイスを受けることで、習熟度の向上を図ることができます。

  • ソースコードの品質向上
    常にレビューしながら開発を進めるため、実装方法の間違いや記載ミス、おかしな変数名があったらその場で修正することができ、ソースコードの品質を向上させることができます。

本開発でもグループコーディングを行い、ビューとロジックが一緒くたとなっている箇所があったので分割したり、不必要な記載を削除することで可読性、コードの品質を向上することができました。

また、Angular 15から安定版になったStandanlone Componentsという新しい機能を採用しました。

汎用モジュールが不要となるためコードの記載量を減らすことができ、スッキリと見通しの良いコードになりました。

まとめ

建設業界では2024年4月から働き方改革によって時間外労働が厳しくなり、遠隔臨場での現場確認の必要性が増してくるのではと考えております。

Pocketシリーズを遠隔臨場でご活用していただくためにも、今後も引き続き改善を進めていきます。

また、お客様の困りごとにスピード感を持って対応するためにも、グループコーディング等の様々な取り組みを行いながらエンジニアの習熟度、ソースコードの品質向上に努めていきます。

Developer Boost 2023 で登壇してきました

フロントエンドエンジニアの阿部です。

2023年7月に開催されたDeveloper Boost 2023で登壇をしてきました。 Developer Boostは登壇者も聴講者も30歳以下の若手デベロッパーを対象としたカンファレンスです。

event.shoeisha.jp


初めての登壇で大きなイベントということで緊張して臨んだのですが、何事もなく終わることができてホッとしています。 今回はこの登壇について振り返っていきたいと思います。

  • 登壇内容
    • スライド
    • 内容
  • きっかけ
  • 資料の作成
  • 発表練習
  • 本番
  • 今回のイベントに参加してみて
続きを読む

Safie API v2(正式版)の始め方とトライアル方法の紹介

企画本部 AIソリューション部 今野です。Safie DevelopersのPdMを担当しています。

過去に「Safie APIの始め方と動作方法の紹介」にて、Safie API β版の使い方を紹介させて頂きました。投稿から一年半以上経過する訳ですが、Safie APIはSafie Developersと同時にバージョンアップされ、現在はSafie API v2(正式版)として無事に公開することができています。過去の投稿の中ではβ版を正式版とすることが業務目標とお伝えしており、それを達成してこうしてまたBlogを投稿することができて嬉しい限りです。

本投稿では、Safie API v2(正式版)より提供を開始した無料トライアルを実際に使用してみた手順について紹介します。よろしくお願いいたします。

  • Safie Developers, Safie APIとは?
  • トライアルに必要なものを揃える
  • Safie APIをトライアルで動かしてみる
    • ①Safie Developersでアプリケーションを作る
    • ②APIキーとアプリケーションコードを取得する
    • ③デバイス連携をする
    • ④Safie APIでデバイス一覧を取得する
    • ⑤Safie APIで画像を取得する
  • 最後に
続きを読む

What is データ分析基盤

こんばんは。データ分析基盤グループ所属の大室です。

セーフィーではデータドリブン経営を推進すべく、2021年頃からデータ分析基盤のシステム開発が始まり、2022年に専門の組織「データ分析基盤グループ」が立ち上がっています。

システムも組織も産声を上げたばかりのデータ分析基盤。本記事ではその歴史や背景、組織やアーキテクチャにスポットライトを当てたいと思います!

  • そもそもデータ分析基盤とは?
    • データレイク
    • DWH
    • ETL
    • BIツール
  • セーフィーのデータ分析基盤ヒストリー
  • データ分析基盤グループについて
    • 所属組織
    • 所属メンバー
    • 開発手法
  • セーフィーのデータ分析基盤アーキテクチャ
    • 旧基盤
    • 新基盤
  • 最後に
    • We are hiring!
続きを読む

セーフィーのエンジニアはどんな開発環境を使っているのか?

こんにちは。サーバサイドエンジニアの村田です。

今回は、セーフィーのエンジニアがどんな開発環境を使っているのかアンケートをとってみたので、その結果をみなさんに共有したいと思います。

  • セーフィーにはどんなエンジニアがいるの?
  • アンケート結果
    • 使用しているエディタ・IDEは?
    • 使用しているキーボードは?
    • 使用しているマウス・トラックパッドは?
  • まとめ
続きを読む

© Safie Inc.