spacelyのブログ

Spacely Engineer's Blog

2023-01-01から1年間の記事一覧

社内モバイルLT会はじめました!

はじめに 株式会社スペースリー iOSエンジニアの樋川です。 普段は弊社サービスの、物件の撮影を補助/管理するアプリのiOSの開発をしています。 現在、モバイルアプリチームはマネージャー1人、iOS/Android 2名ずつの計5名の構成となっています。 今回は、モ…

リードレプリカの導入に関する挑戦

概要 弊社のサーバ(Ruby on Rails 6.1, Ruby2.7, MySQL5.7)環境にてデータベースの負荷が増加し、アラートが頻発しています。この問題を解決するために、 rails guide を読みながらリードレプリカの導入を検討しました。 このブログでは導入までの試行錯誤を…

Recoil で管理する状態を atom から atomFamily に変更した話

目次 目次 はじめに 状態管理したいデータ構造と機能要件 atom と atomFamily について atom atomFamily atom と atomFamily の使い分け atomFamily を使った実装 atom で実装した場合 atomFamily で実装した場合 atomFamily だからこその課題 atomFamily か…

AWSでFTPを実装するためのいくつかの方法

AWS spacelyはなぜAWSにFTPを実装するのか 私はこのあたり全くの門外漢なのですが、不動産業界で古くから利用されてきた基幹システムではシステム間の連携の手段としてFTPを利用することが多かったそうです。 不動産VRを掲げるspacelyの場合でも例にもれず、…

Spacelyの研究開発プロジェクト紹介

はじめに スペースリーの研究開発チームでエンジニアをしている植木です。この記事ではスペースリーで行っている研究開発について紹介します。 弊社は空間データプラットフォームを提供しており、具体的なアプリケーションとしては、不動産領域でのVR/Web内…

3DのWebサービス開発で宣言的なWebGLライブラリを導入して感じた保守運用上のメリット

1 はじめに スペースリーでエンジニアをしている長谷川です。 最近は3DのWebアプリの開発を担当していて、弊社でリリースしている「パノラマ変換3Dプレイヤー」のコンテンツ作成機能などを開発しています。 3DのWebアプリを開発する際には「React/Vue × WebG…

[Kotlin] GLSurfaceViewをキャプチャーしてbitmapを取得したい

まえがき 株式会社スペースリー Androidエンジニアのふかまちです。 普段は弊社サービスのツールであるAndroidアプリ「Spacely Photo Task」を開発しています。 現在、後述するパノラマ画像の360°Viewerをキャプチャーした動画を生成する開発に取り組んでお…

GitHub ActionsでPRを自動生成するチュートリアル

株式会社スペースリーのRailsエンジニアの海老原です。 スペースリーが提供するサービスの反映は、CSチームでテストを実施してから本番環境にリリースする業務フローになっております。各featureブランチごとに、テストを実施できるように、プルリクエストに…

WaylandでX sessionの環境変数を設定したり、初期起動をしたりする方法

Waylandではxprofileやxsessionは読まれない。 株式会社 スペースリーでEngineering Managerをやっている いちろー です。 最近仕事で開発の事を全くやっていないので、家のlinuxの環境回りからネタを引っ張って来ました。 Wayland環境では、~/.xprofileや~/…

An interface is not an interface - Recent thoughts about clean coding

Introduction Recently I've had to work on code which seemed to be based on clean architecture, but after a while I concluded that it is probably not and it made me think about clean coding in general and the principles of clean architectur…

150万レコードを持つ画像テーブルの移行

株式会社スペースリー Railsエンジニアの大津です。 弊社サービスでは物件画像データの管理機能を提供しており、サーバーサイドのフレームワークにはRuby on Railsを、データベース管理にはMySQLを採用しております。これまで物件画像は用途ごとにテーブルを…

Vue 2 から 3 へ移行しようとしたらいちばん大変なのが Vuetify 2 から 3 への移行だった話

はじめに 株式会社スペースリー フロントエンドエンジニアの宮坂と申します。 ふだんは3Dビューアやその編集画面のDOM部分をReactやVueで書きつつ、たまにフロントエンド開発環境構築おじさんとして他チームへ出しゃばったりして生きています。 今回はその環…

Using RenderDoc to Analyze Browser Rendering

What's RenderDoc? RenderDoc is a powerful tool for capturing and analyzing the rendering process of applications utilizing rendering APIs (Direct3D, OpenGL, Vulcan, etc.) RenderDoc injects itself into the application's execution process in…

モノレポでreviewdog/action-tflintを実行するためにOSSコントリビュートして解決した

インフラエンジニアの thaim です。 スペースリーではインフラの構築にTerraformを、Terraformのコードに対する静的解析にtflintを利用しています。 このtflintを上手く活用するために取り組んだこと、OSSコントリビュートに取り組んだことについて紹介しま…

MonoSDFによる360°パノラマ屋内シーンのテクスチャ付きメッシュ復元

はじめに スペースリーでインターンをしている大隣嵩です。弊社は空間データ活用プラットフォームとしてパノラマ画像を使った空間の3D化技術に関する研究開発を行っております。 最近では、iPhoneやAndroidで簡単に3Dスキャンができるアプリが登場しています…

NeRFによる360°パノラマ屋内シーンの任意視点画像合成

はじめに スペースリーでインターンをしている大隣嵩です。 弊社は空間データ活用プラットフォームを提供しており、パノラマ画像を使った空間の3Dビューワーをリリースしました。 研究開発チームでは、更なる精度向上やコンテンツ制作負担軽減のため、より精…

比べてみよう リレーショナル vs ドキュメントDB

はじめに 株式会社スペースリー Railsエンジニアの海老原です。 スペースリーではメインのデータベースとしてMySQLを採用していますが、今後、MongoDBの活用も視野に入れて検討をしています。 最適な活用方法を日々模索するなかで、一覧形式で機能を比較検討…

社内ライブラリを Swift Package Manager に対応させた

はじめに 株式会社スペースリー iOSエンジニアの樋川です。 普段は弊社サービスの、物件の撮影を補助/管理をするアプリのiOSの開発をしています。 今回は、研究開発チームが作成した、画像を台形補正する社内向けのライブラリをiOSプロジェクトに入れた時の…

counter_cacheの導入でレイテンシ改善

株式会社スペースリー エンジニアの出口です。 普段は弊社サービスの建物や物件といった情報の管理画面を開発しています。 バックエンドはruby on railsで開発されており、今回は建物一覧のレイテンシ改善のためActiveRecordのcounter_cacheを導入した経緯と…