SPIDERPLUS Tech Blog

建設SaaS「スパイダープラス」のエンジニアとデザイナーのブログ

iframeをデータ受け渡しのために使ってみた

こんにちは、技術推進部の谷黒と申します。


スパイダープラスでは日々の業務での出来事や向き合った技術的課題を定期的にブログとして発信しております。
さて、今回はiframeをテーマにします。こちらは外部サイトなどをHTML内に埋め込みたい時などに使うことが一般的です。


ご存じの方もいらっしゃると思いますが、iframeはフレーム内の値をフレームの外の世界に渡すことができます。
今回、私たちはヘッドレスなAPIを使わずiframeをデータ受け渡し専用に用いた手法を採用し、機能開発を行いました。その方法を紹介いたします。

背景

私が開発を担当しているBIM(*Building Information Modelingの略で図面上により詳しい属性情報などがついたモデリングのこと)のサービスは、基本機能を提供するSPIDERPLUSとはマイクロサービス的な関係にあり、SPIDERPLUSとは独立したサーバーとして動作しています。

今回はSPIDERPLUSからBIMサーバーに対してcsvのダウンロード処理を依頼するという要件に対して、iframeとformを用いる手法を採用しました。

続きを読む

不具合分析始めました

皆様、はじめまして。品質管理チームのいのっちです。

ソフトウェア開発プロダクトにおいて、品質の維持と向上は非常に重要です。そのためには、不具合の早期発見と効果的な是正処置が必要不可欠です。
品質保証・品質管理の活動をより強化するため体制変更された品質管理チームでは、お客様からのフィードバックや開発工程で検出される不具合について、より詳細な分析をおこなうための取り組みを始めました。
このBlogでは今、進めている不具合分析活動について内容を共有したいと思います。

なぜ不具合分析が重要なのか?

すでに不具合分析をされている方やそんなの知っているという方には言わずもがなですが、不具合分析はソフトウェアの品質を高め、リリース後の問題を減少させるための重要なステップで、下記のような効果が考えられると思います。

続きを読む

プッシュ通知をFirebase Cloud Messaging(FCM)に移行した話

皆様こんにちは。スパイダープラス株式会社のプロダクトグループ技術推進部に所属する谷黒と申します。

GWが終わり梅雨に近づいてきました。新入社員の皆様は会社の空気に慣れてきた頃でしょうか。

さて、スパイダープラス株式会社では現場向けの「iOS/Androidアプリ」としてS+Partner(以下、SPP)のサービスを運用しております。このたびSPPのpush通知のサービスをFirebaseに移行いたしました。その件について今回お話させていただければと存じます。

モバイルpush通知のサービスの移行を検討している方に少しでもお役に足ればと思います。

背景

SPPは、主に建設現場での危険予知活動(KY)などに活用されているサービスで、ユーザー同士のコミュニケーションを強化するためにプッシュ通知機能を提供しています。

これまでプッシュ通知の実現には、ニフクラ mobile backend(ncmb)というサービスを使用してきました。しかし、ncmbのサービスが終了するとのことから、新たなサービスへの移行が必要となりました。

検討の結果、新しいプッシュ通知のプラットフォームとして、Firebase Cloud Messaging(FCM)を選びました。

なぜFCMを選定したか

続きを読む

やっぱりコードレビューはしたほうがいい、というお話

皆様こんにちは。プロダクトマネージャーの池田です。
私はゲーム機開発現場でプログラマーとして経験を積んだのちに漫画の編集会社でモバイルアプリ事業の立ち上げを経て、スパイダープラスに参加してからは建設の現場に関わるようになりました。
今回はスパイダープラスで実施しているコードレビューについて、私自身の経験も踏まえて書いていきます。

コードレビューなんて知らなかった頃のこと

さて、冒頭の自己紹介でも少し書きましたが、新卒でゲーム会社に入り、ゲームセンター用のゲーム機開発に携わりました。プログラマーとして経験を積み重ねていたある日、ゲームセンターでテストをする班に配属されたのですが、そこである日思わぬ経験をすることになりました。大規模クラッシュに遭遇したのです…!

続きを読む

ChatGPTに気付かされる「便利」と「説明下手」

非エンジニアでも可能な自動化!ChatGPTとGoogleAppsScriptで効率アップ

こんにちは!
CREチームのくっきーです。

突然ですが、日々の作業の中でやりたいことに対して工程が多く『面倒だな…』と思うことありませんか?
エンジニアの方々は自分たちの技術で自動化ツールの作成等を進めていくことでしょう。
しかし!非エンジニアは手段がなく我慢するなんてことも少なくはありません…
今回は私の所属していたテストチームで上がった『煩わしさ』を自分ではコードを書かずにChatGPTに書いてもらって解消しようというお話です。
今更そんな話?と思うかもしれませんが、お付き合いいただけると嬉しいです!

ある日の振り返り会にて

「テスト実行開始後のテストケース修正が面倒だ!」という議題が上がりました。
えっ?文字を修正するだけなのに面倒?と思った方もいらっしゃると思います。

何故面倒なのか? 

続きを読む

tmuxの右クリックメニューを日本語化する

1.はじめに

こんにちは、技術開発部の宮囿です。
唐突ですが、私はtmuxが好きです。急なWi-Fiの不調やLANケーブルの断線、割り込みで入ってきた打合せ等の様々なアクシデントがあっても、tmux上で作業しておくことで作業の中断・再開は思うがまま、tmuxは最高です。
私の業務は割り込みが多いので、私はtmuxの利便性をとても享受しています。そしてとても便利なので布教したいと思っています。

さて、tmuxを布教するにあたってハードルになっているのは操作を覚えるコストの重さだと思っているのですが、tmuxはこのハードルに対し、コンソールアプリでありながら右クリックメニューを実装するという解を提示しています。実際に使うと以下のような感じになります。

最高ですね。ベテランtmuxユーザーのような速度で操作できることが分かります。

これならtmuxを布教するのも簡単だ、と思ったのですが、メニュー上の表現がどうも目に馴染みません。
というわけでこれをより布教しやすくするため、この記事ではtmuxの右クリックメニューの日本語化を行っていきます。

続きを読む

本番環境のデータベースを落として得た、学びと対策

こんにちは、技術推進部の佐藤です。

4 月ということもあり、社会人デビューをされた方たちを目にする機会が増えました。

「自分が若かった頃はこんなにしっかりしていたかな」などと懐かしんでいたら、ふと以前在籍していた会社で血の気が引くような失敗をしたことを思い出しました。

今回はそのお話をいたします。

ただ、その失敗から得た対策のおかげで、今まで 10 年以上もの間に一度も同じような失敗を起こしていません。

これからデータベースを触る方、今まで触っていても失敗したことがない方はご参考になれば幸いです。

  • 何が起こったのか
    • 背景
    • 事件
  • どう対処したか
    • 初動
    • その後
    • 収束
  • 学びとその後の対策
    • 防止する仕組み
      • 1. ターミナルソフトは本番環境が一目で分かるようにしておく
      • 2. 指差し確認と声出し、そして他者の立ち会い
      • 3. 読み取り専用ユーザーを作成しておく
    • 起こった場合の対策
      • バックアップを取っておく
  • 最後に

 

何が起こったのか

背景

昔在籍していた会社でのことですが、オンプレにある自社ウェブアプリケーションAWS 環境( EC2 + RDS )に移設するプロジェクトがありました。

その中で、私はデータベース( PostgreSQL )を RDS に移行する部分を担当しておりました。

基本的には既存データベースから dump ファイルを取得し、RDS へ流し込むだけの作業ですが、唯一のオーダーとして「文字コードは cp932 から UTF-8 に変えたい」というものがありました。

当時の私はこのオーダーを実現できるよう、RDS の設定変更や文字コードを変換しては dump ファイルを流し込み、文字化けしては DROP DATABASE を行う、という作業を繰り返していました。

事件

そんな繰り返し作業の最中に、うっかり事件を起こしてしまったのです。

続きを読む