タグ

ブックマーク / tech.andpad.co.jp (25)

  • ANDPADのQualityControlを紹介します!2023 - ANDPAD Tech Blog

    はじめに 「アンドパッドのQC」って何? もう少し具体的に 日とベトナムの連携 結びと宣伝 はじめに こんにちは。 アンドパッドのTECH BLOGをご覧いただきありがとうございます。 QCの安室(やすむろ)です。 2021年6月に第三者検証の会社からアンドパッドに転職し、2年が経ちました。 入社当初は社員2,3人だったQC組織もこの2年で大きく成長し、色々な活動をできるようになってきたなあと感じる今日この頃です。 「もっといろんな人に、アンドパッドのQCが何やってるかを知ってもらいたい!」という思いから、今日はそんな紹介をさせていただきます。 「アンドパッドのQC」って何? 正式に言うと、「開発部 Quality Control Division」という位置づけになります。 (Quality Controlを略して「QC」) システム開発においては、様々な職種のメンバーが関わります。

    ANDPADのQualityControlを紹介します!2023 - ANDPAD Tech Blog
    invent
    invent 2023/07/27
  • ANDPADのiOSアプリの設計について - ANDPAD Tech Blog

    iOSアプリの設計について 施工管理アプリANDPADのモバイルアプリ開発をしている山下です。 今回はANDPADで採用しているiOSアプリの設計について書こうと思います。 ANDPADはサービスリリースしてから4年ほど経過しており、ユーザー数も右肩上がりに伸び続けています。アプリもリリースしてから3年半ほど経過して設計を振り返る機会ができたので記事を書いている次第です。 基的な設計方針としてはMVVMを採用しています。3年半ほど前は、アプリ界隈では比較的新しめの設計だったのですが、今では結構当たり前になっているのかなと思います。構成図はこのような感じです。 使っている主なライブラリは、 RxSwift Realm Alamofire などです。比較的今でもよく使われているライブラリなので選択は正解だったと思います。 MVVMの部分は、一般的な使い方と基同じなので説明を割愛します。Ap

    ANDPADのiOSアプリの設計について - ANDPAD Tech Blog
    invent
    invent 2023/06/22
  • SwiftUI + CombineでMVVM - ANDPAD Tech Blog

    はじめに こんにちは、Octでスマホアプリの開発をしているzigeninです。 SwiftUIとCombineによるMVVMの実装のポイントを解説します。 ログイン画面とログイン後の画面があるだけのサンプルアプリを題材とします。 前提 Apple公式のSwiftUIのチュートリアルは大体やり終えている RxSwiftを触ったことがある MVVMを知っている サンプルアプリのソースコード https://github.com/KamikazeZirou/SwiftUI-MVVM サンプルアプリの動作環境 XCode 11.1でビルド iPhone 11 Pro Max 13.1 サンプルアプリの画面構成 ※ユーザIDが"foobar@example.com"、パスワードが"password"のときのみログインは成功します。 サンプルアプリのクラス構成 ViewはSwiftUIとCombine

    SwiftUI + CombineでMVVM - ANDPAD Tech Blog
    invent
    invent 2023/06/22
  • データドリブンな開発をめざして 〜モバイル用分析基盤を整備した話〜 - ANDPAD Tech Blog

    モバイルアプリチームの工藤です。 ANDPADではこれまでユーザの声や思い描くビジョンを元にアプリの開発を進めてきましたが、徐々に機能変更や改善に関する仕事も増えてきています。現在のユーザの状況を意識して議論するシチュエーションも多々あるため、PdMより直々に早急にデータ分析基盤を用意せよとのお達しがありました。 まだまだ粗い部分もありますが、先日一区切りついたのでその対応内容をまとめようと思います 全体の方針を決める 今回の対応で最も意識したのは、複雑なことはしないで専任の担当者以外でも運用・維持ができるようにするという点です。弊社はスタートアップ企業であり、データ分析が根付いている他の企業に比べてまだまだエンジニアは多くありません。明確にアプリの分析担当者が居るわけではなく、職種に関わらずこのデータに触れる可能性があります。 そのため、将来的に突発的な運用作業や謎ルールに苦しめられるこ

    データドリブンな開発をめざして 〜モバイル用分析基盤を整備した話〜 - ANDPAD Tech Blog
    invent
    invent 2023/06/22
  • React Native経験者がFlutterをさわってみた - ANDPAD Tech Blog

    はじめに はじめまして、アプリチームの伊藤です。 オクトでは複数のアプリをリリースしていますが、その中でもReact Nativeを使っていたりFlutterを使っていたりと、同じクロスプラットフォーム開発ツールでも複数の技術が使われています。アプリチーム内でもよくこの話題があがっていたりして、もりあがっているテーマです。 そんな中、個人的にはReact Nativeか、Flutterかどちらかに注力して、ナレッジを蓄積したり、開発できるエンジニアを増やしたりすることも必要なのではないかと感じることがあります。そこで自分は前職でReact Nativeを使った開発をしていたこともあり、今回はFlutterをさわりながらその違いを学びつつ、今後の開発方針の検討材料にしていこうと思いました。 2つのツールを比較する まず、よくある2つのクロスプラットフォーム開発ツールのざっくりとした比較をまと

    React Native経験者がFlutterをさわってみた - ANDPAD Tech Blog
    invent
    invent 2023/04/03
  • AWS CodeBuildでRidgepoleをdry-runで動かしてMigration予定のDDLをGithubのPullRequestコメントに追記する - ANDPAD Tech Blog

    ANDPAD バックエンド担当の原田(@tomtwinkle)です。 普段はGolangでモリモリコードを書いていますがDevOps関連の記事ばかり書いてます。 お察しの通りなんですが、今回もDevOps関連の記事だったりします。 やり方だけ知りたい人は Motivation の部分は読み飛ばして貰っても問題ないです。 Motivation AWS CodeBuild側の準備 GithubのPrivate Access Tokenを発行する AWS Systems ManagerのParameter StoreにDBGithubへのアクセス情報を記述 CodeBuildを作成 Github Repository側の用意 Buildspecの記載 動作結果 謝辞 さいごに Motivation 私が担当しているANDPADボードではRDS(MySQL)を利用しています。 そして、DBのsc

    AWS CodeBuildでRidgepoleをdry-runで動かしてMigration予定のDDLをGithubのPullRequestコメントに追記する - ANDPAD Tech Blog
    invent
    invent 2022/10/19
  • ANDPADのモバイル技術採用方針について - ANDPAD Tech Blog

    はじめに こんにちはCDOの山下です。 ANDPADでは現在5種類のアプリをリリースしています。 リリース時期もストアのversion 1.0.0が登録された時期から大まかに推定するとこんな感じでした。 建築という業界であってもiOSの利用者数は多いため、そちらを先行して開発する傾向にありました。 アプリ名 役割 iOSリリース時期 Androidリリース時期 技術 ANDPAD 施工管理 2016/3 2016/3 swift/kotlin フルネイティブ ANDPAD CHAT チャット 2016/5 2017/3 swift/kotlin フルネイティブ ANDPAD 図面 図面を管理・共有 2018/3 - swift フルネイティブ ADNPAD 検査 検査業務に特化 2016/8 2018/2 react native -> flutterに移行予定 ANDPAD 短工事 短期

    ANDPADのモバイル技術採用方針について - ANDPAD Tech Blog
    invent
    invent 2022/08/25
  • Railsでのバックグラウンド処理を考える - ANDPAD Tech Blog

    こんにちはCDOの山下です。 今回は、新規サービス開発にあたりRailsのバックグラウンド処理について考えることがあったので記事にしようと思います。 現状のRails環境下でのバックグラウンドジョブ Railsでバックグラウンドジョブを扱うといえばresqueやsidekiqが有名で多くのサービスでも実運用で使われていると思います。弊社の主力であるANDPADでもサービス開始当初からsidekiqが使われてきましたが、Redisを仲介してジョブを処理するサーバーをアプリケーションサーバーとは別で運用する必要がありサービス規模が大きくなるにつれてインフラ管理コストが負担になってきました。 図1:sidekiqのインフラ構成 主な利用用途としては、以下に上げるようなもので、数10msecで終わるようなものから数時間単位で終わるものまで様々な処理がバックグラウンドジョブに放り込まれています。 主

    Railsでのバックグラウンド処理を考える - ANDPAD Tech Blog
    invent
    invent 2022/08/24
  • ANDPAD iOS開発における課題と最近取り組んでいる「マルチモジュール化」について - ANDPAD Tech Blog

    ANDPADに入社して1年と少しが経ちました、モバイルアプリエンジニアの佐藤(@ushisantoasobu)と申します。 タイトル通りではあるのですが、現状のANDPAD iOS開発における課題と、ここ数ヶ月取り組んできた「マルチモジュール化」について書いていきます。 ANDPAD iOS開発における課題 スーパーアプリ戦略 vs マルチアプリ戦略 ANDPADが向き合っている課題、ここでは一言で「建築DX」と呼んでしまいますが、建築DXはとてつもなくデカい課題だと自分は認識しています。ゆえにモバイルアプリ開発としても以下の2つの戦略のうちどちらかを選択する必要がありました。 スーパーアプリ戦略 全ての機能やドメインを1つの巨大なアプリに集約 マルチアプリ戦略 機能やドメインごとにアプリをリリース・運用 ANDPADでは後者の「マルチアプリ戦略」を採用しています。そこらへんの経緯などにつ

    ANDPAD iOS開発における課題と最近取り組んでいる「マルチモジュール化」について - ANDPAD Tech Blog
    invent
    invent 2022/04/28
  • Firebase Analyticsで始めるプロダクトの効果検証の取り組み - ANDPAD Tech Blog

    ANDPADチャットチームでエンジニアをしている椎野(@taikishiino)です。 前回、5000万件越えのRDS大量データをFirestoreに移行する勘所 という記事を書かせていただきました。 tech.andpad.co.jp その後、グロースのための施策にも徐々に注力できるようになってきました。 今回は効果的にグロースさせていくための効果検証の仕組み作りの取り組みについて紹介していきます。 効果検証 どんな方法で Firebase Analytics ログイベントについて どのようにイベント設計したか パラメータルール どのように可視化したか 画面内の機能導線タップ総数の割合 対象画面の各機能導線のタップ数/UU 対象機能導線のタップ数/UU この先の話 効果的な仮説検証へ 施策リリース前段階でのニーズ検証 さいごに 効果検証 主な効果検証の目的は以下の2つです。 リリースした

    Firebase Analyticsで始めるプロダクトの効果検証の取り組み - ANDPAD Tech Blog
    invent
    invent 2022/04/13
  • ANDPAD開発組織のセキュリティレベル向上への取り組みについて - ANDPAD Tech Blog

    こんにちは!エンジニアの福間(fkm_y)です。 今回はANDPADの開発組織におけるセキュリティレベル向上の取り組みについて紹介します! この記事を読んでANDPADの開発組織にもセキュリティメインで取り組んでいるチームがあることを知ってもらえればと思います。 セキュリティレベル向上の取り組みを行う理由 対応方針 取り組みの紹介 脆弱性の調査/解消 静的解析ツールの追加導入 輪読会の開催 セキュリティガイドラインの作成と周知 さいごに セキュリティレベル向上の取り組みを行う理由 ANDPADでは建設に関わる多数のユーザーにご利用いただいています。そのため、不正な入力によってサイトデザインが壊されたりレスポンスが返ってこなくなるとユーザーの業務を止めてしまいます。またユーザーの情報も多数取り扱っていますが、これが不正に取得され社外へ漏洩してしまうとユーザーに多大な損害を発生させてしまいます

    ANDPAD開発組織のセキュリティレベル向上への取り組みについて - ANDPAD Tech Blog
    invent
    invent 2022/03/17
  • 入社して1ヶ月で意思決定の速さに驚いた話 - ANDPAD Tech Blog

    2021/10から株式会社アンドパッドで働いているid:shiba_yu36です。現在はセキュリティチームで認証基盤に関するエンジニアリングをしています。 アンドパッドは2021/10/01時点で従業員数が539名となっています。入社する以前は「この人数になってくると自分が何か提案したとしても中々意思決定が進まずヤキモキするのではないだろうか」と不安に思っていました。 しかし入社してから自分が開発プロセスや人員配置に関して提案してみたところ、この心配は杞憂だったどころか、逆に思った以上の意思決定のスピードに驚いてしまいました。そこで今回は自分が入社してから1ヶ月ほどの間に実際に提案・採用した内容を書きながら、どの程度意思決定がスピーディだったか伝えられればと思います。 ミーティングではesaで同時編集しながら議事録をみんなで作るスタイルへ -> その日から開始 フルリモートでの円滑なコミュ

    入社して1ヶ月で意思決定の速さに驚いた話 - ANDPAD Tech Blog
    invent
    invent 2021/12/01
  • バウンスしすぎて Amazon SES から追放された俺たちは Mailgun と SendGrid に国を作ることにした - ANDPAD Tech Blog

    これは何 どのように技術選定してますか。よく聞かれます。SREチーム 鈴木心之介 です。しかし説明が難しい。難しいですが説明の助けになってほしく思い、技術選定を文書化した DesignDoc から1枚を公開してみました。 DesignDoc とは、ある程度の大きさや複雑さがあり一言で説明の難しい技術選定について、文書化したものです。これを通じて、技術選定をどのように行うか組織内に広めようとする試みです。2021年1月頃から始めています。 題材は、メール配信の冗長化をRailsで実現した tech.andpad.co.jp を、インフラ視点から技術選定した DesignDoc です。このメール配信SaaSの選定は2019年末頃に実施したもので、DesignDoc の取り組みを始めていなかった頃でした。時が経ち、ソースコードやSaaSの構成からは意図を読むことが難しく「なんじゃこれ」って質問を

    バウンスしすぎて Amazon SES から追放された俺たちは Mailgun と SendGrid に国を作ることにした - ANDPAD Tech Blog
    invent
    invent 2021/10/27
  • スタートアップにクリーンアーキテクチャを適用したが、技術的負債が塵積った件 〜開発合宿で技術的負債を粉砕します〜 - ANDPAD Tech Blog

    こんにちは。こんばんは。おはようございます。 アンドパッドで現在はバックエンドの方のエンジニアをやっている原田です。 アンドパッドには2021年6月にJOINしまして、現在までANDPADボードの開発に携わっています。 ANDPAD施工管理が比較的長期間の工事をターゲットにしているのに対して ANDPADボードは1日〜数日の間に短期間の工事や施工を行う際のスケジュール管理を行えるサービスです。 andpad.jp 今回は入社3ヶ月目というきりの良いタイミングで今まで行ってきたことを振り返りつつ、直近行った技術的負債を軽減するための「開発合宿」について書いていきます。 一応最初に書いておきますが、リファクタリングに関するチートスキルはないのでバーンとやってドーンと解決みたいなド派手な解決ではなく地道な改修作業をちまちま行いましたという内容です。 入社してからやってきたこと ANDPADボード

    スタートアップにクリーンアーキテクチャを適用したが、技術的負債が塵積った件 〜開発合宿で技術的負債を粉砕します〜 - ANDPAD Tech Blog
    invent
    invent 2021/09/17
  • ActionMailerでのエラーハンドリングと、メール配信機能の冗長化 - ANDPAD Tech Blog

    バックエンドエンジニアの宮澤です。 弊社のANDPADでは多くのWebサービスと同じようにメールでの通知機能を持っています。 今回はRailsと複数のメール配信サービスを組み合わせて、メール配信機能を冗長化した事例を紹介します。 ANDPADで導入しているメール配信サービス ANDPADでは2つのメール配信サービスを利用しています Mailgun(メイン) Sendgrid(サブ) 通常はMailgunを主系として利用し、SendgridはMailgunでの送信失敗時に備えて待機する構成になっていて、Mailgunで障害が発生した場合でも自動的にSendgird経由でメール配信できるようになっています。 また、サブにSendgridを採用している理由にRFCに準拠しないメールアドレスへの対策もあります。 ANDPADでは個人の携帯キャリアメールで登録しているアカウントも多く、キャリアメール

    ActionMailerでのエラーハンドリングと、メール配信機能の冗長化 - ANDPAD Tech Blog
    invent
    invent 2021/09/09
  • ANDPADを最高のRailsアプリにするために勉強会をやっていた話 - ANDPAD Tech Blog

    こんにちは! ソフトウェアエンジニアの金子と申します。2020年9月にアンドパッドに入社してはじめてのテックブログです。 今回は、わたしが入社直後から開始し、先日一区切りついた社内勉強会についてご紹介致します。 「となりのチームの様子がわからない」「チーム横断の会話がしたい」などの課題がある方にとってなにかヒントになるかもしれないと思ってこのお話を書いてみることにしました!もし何かの参考になれば幸いです。 勉強会の概要 開催の背景 2020年9月当時、アンドパッドにはコードベースで改良の余地がたくさんある状態でした。しかしながらその状態に対して、「Railsアプリとして標準的でない実装などよくないコードを無くしても新規で追加される」という問題、「良い書き方、考え方が広まらない」という問題がありました。 加えて機能開発やエスカレ対応など、どのチームもやることは当に山積みで、誰かが「このよう

    ANDPADを最高のRailsアプリにするために勉強会をやっていた話 - ANDPAD Tech Blog
    invent
    invent 2021/06/25
  • 最強のオンボーディングを目指して - ANDPAD Tech Blog

    はじめに こんにちは! アンドパッドEMの早田です。 アンドパッドでは現在絶賛採用強化中で、ありがたいことにどんどん人が増えています。 そんな中で多数のメンバーが様々な期待を持って、折角入社してくれていますのでいち早くアンドパッドという組織を知ってもらい、打ち解けていき、どんどん成果を出していってほしいという気持ちがあります。 今回は私のチームにメンバーが入った際に、どんなことを行うことでオンボーディングを達成していっているかを紹介させていただければと思います。 オンボーディングとは よくオンボーディングとかオンボとか会社で聞きますが、もともとは 「オン・ボーディング(on-boarding)」=「船や飛行機に乗っている」 という意味の単語です。 つまり会社/チームを船や飛行機に見立てて、新しいメンバーが同じ船の乗組員として目的地まで一緒に 航海してもらうために、色々なことを教えたり慣れる

    最強のオンボーディングを目指して - ANDPAD Tech Blog
    invent
    invent 2021/06/23
  • テックブログ編集長になって運営を半年で改善した話 - ANDPAD Tech Blog

    こんにちは! 半年程前からテックブログの編集長をしているエンジニアの福間(fkm_y)です! 今回はテックブログ運営をプロジェクトとして捉え改善したことを振り返り、やってよかったことなどを共有したいと思います。 テックブログについて 半年前の課題 課題の分解 やってみたこと 定期的な記事公開が滞っていた問題 編集チームを作り執筆を促すようにした 辞退者増加への対策 エントリーに繋げる グッドサイクル(成功の循環)を回す 結果 まとめ さいごに テックブログについて まずこのテックブログについて紹介したことがなかったので簡単に説明させてもらいます! テックブログを運用している目的は大きく2つあります。 社外への技術情報の発信 採用のためのアンドパッドのエンジニアリングの認知向上 運営メンバーは通常の開発業務を行っているエンジニアが有志で集まって運営をしており、定期公開をするために執筆予定者へ

    テックブログ編集長になって運営を半年で改善した話 - ANDPAD Tech Blog
    invent
    invent 2021/03/31
  • 5000万件越えのRDS大量データをFirestoreに移行する勘所 - ANDPAD Tech Blog

    はじめまして、開発部の@taikishiinoです。 2020年3月にアンドパッドにジョインし、約一年が経ちました。 現在、チャットサービスの開発・運用をするチームに所属しており、その中で最近、RDSからFirestoreへのデータ移行を行いました。 記事では、その際の課題やそれに対して実際に行ったことなどを中心にご紹介していきます。 データ移行の背景 僕たちのチャットサービスを開発するチームでは、現在、プロダクトのデータベースをRDSとFirebase RealtimeDatabaseのミックスからFirestoreに移行する大規模プロジェクトが行われています。 旧環境「RDSとFirebase RealtimeDatabase」の課題として、 チャットのアクセスを処理しているAPIサーバーのバックグラウンド処理は複数プロダクト共通で利用しており、チャット起因で負荷が高まってしまうとい

    5000万件越えのRDS大量データをFirestoreに移行する勘所 - ANDPAD Tech Blog
    invent
    invent 2021/03/24
  • AngularJSからVueへの置き換えを8ヶ月やってみて得られたこと - ANDPAD Tech Blog

    開発部の横溝です。 昨年、弊社ANDPADの機能「施工管理」をNuxt化するプロジェクトが始動し、停止しました。 「停止」というと残念な感じがするので、充電期間に入ったと言い直しておきます。 「Nuxt化するプロジェクト」とは? 背景 改めて、この記事について Nuxt化が始動して、停止した話 まず、エンジニアがそれを「やりたかった」 Nuxt化のはじまり 停止 いま、Nuxt化のリポジトリはどうなっているか プロジェクトの恩恵 残された課題 さいごに 追記(2021.03.12) 「Nuxt化するプロジェクト」とは? 2020年3月~2020年11月に実施した、レガシーコードをリプレイスするプロジェクトです。 前述の「施工管理」は、社内でも特に昔からある機能なのですが、フロントエンドに、主にRuby on Rails(slimテンプレート)+ AngularJSを利用しています。それを、

    AngularJSからVueへの置き換えを8ヶ月やってみて得られたこと - ANDPAD Tech Blog
    invent
    invent 2021/03/11