タグ

ブックマーク / buildersbox.corp-sansan.com (10)

  • Sansan iOSアプリにおけるPrivacy Manifests対応の詳細と詰まったこと - Sansan Tech Blog

    こんにちは、技術部 Mobile Applicationグループで iOSアプリケーション開発しています。武田です。 2月29日にAppleから発表がありました。それは5月1日からPrivacy Manifestsに対応していないアプリはアップデートができなくなる、という内容です。これに向け、営業DXサービス「Sansan」のiOSアプリでもPrivacy Manifestsに対応中です。記事ではその対応の詳細と対応中に詰まったことをご紹介します。 やることは大きく次の2つです。 1. アプリでPrivacy Manifests対応をする 2. サードパーティSDKをPrivacy Manifests対応バージョンに上げる*1 Privacy Manifests対応で何をするのか、その調査に関しては以前投稿した記事をご参照ください。 buildersbox.corp-sansan.co

    Sansan iOSアプリにおけるPrivacy Manifests対応の詳細と詰まったこと - Sansan Tech Blog
  • Swift Macrosの作り方 - Sansan Tech Blog

    こんにちは!技術部 Mobile ApplicationグループでiOSエンジニアをしている長﨑です。 Sansanアプリでは自分たちで定義したSwift Macrosを開発に導入し始めています。Swift Macrosについての勉強会も社内で実施しており、せっかくなので勉強会のコンテンツを記事にしてみます。 この記事では、Swift Macrosを開発するに当たって必要となる基礎知識からマクロの実装方法、CocoaPodsを使ったプロジェクトへの組み込み方法について、解説していきます。 Swift Macrosについての基礎知識 Swift Macrosって何? Swift Macrosの種類 Swift Macrosには独立したモジュールが必要 Swift Macrosを開発してみる Swift Macros Packageを作る Swift Macros Packageの構成 マク

    Swift Macrosの作り方 - Sansan Tech Blog
  • AndroidでBluetooth Low EnergyのL2CAP通信を行う方法と開発で得た知見 - Sansan Tech Blog

    技術部 Mobile Applicationグループに所属する北村です。SansanとEightの両プロダクトをまたぐプロダクト横断チームの一員として、モバイル領域の中長期的な技術的課題の解決や、PoCの開発を担当しています。 今回は昨年9月にリリースした、Eightのタッチ名刺交換機能をテーマに、そこで得た知見をこの記事で共有します。 jp.corp-sansan.com タッチ名刺交換とは、Eightのアプリを開いた状態で、同じくEightのアプリを開いた他のAndroid端末やiOS端末と自端末をタッチすることで、デジタル名刺が交換できる機能です。 その際にBluetooth Low Energy(以降BLE)を用いてタッチの検出やデジタル名刺の交換に必要な通信のコネクションを張るタッチ検出&通信ライブラリの開発を担当しました。 なお、今回開発したタッチ検出&通信ライブラリのBLE

    AndroidでBluetooth Low EnergyのL2CAP通信を行う方法と開発で得た知見 - Sansan Tech Blog
  • 生産性指標をFour Keysから変更した話 - Sansan Tech Blog

    技術部 Mobile Applicationグループの山です。名刺アプリEightの開発を行っています。 今回はMobile ApplicationグループのEight開発チームの生産性指標をFour Keysからベロシティを含む別の値に変更した話をします。 一般的にはベロシティは生産性指標にすべきではない、Four Keysは生産性指標として適切であるという評価だと思います。もちろんそれは理解した上でこの選択をしています。その理由について説明します。 なお組織全体がこのように考えているわけではないということに御注意ください。例えば同じMobile ApplicationグループでもSansan開発チームはFour Keysを生産性指標にしています。 生産量2倍計画 現在技術部では中期的な課題として1年で単月の生産量を2倍にするという目標を掲げています。 ポイントとして、技術部のレ

    生産性指標をFour Keysから変更した話 - Sansan Tech Blog
  • Sansan Androidチームのライブラリアップデートの取り組みについて - Sansan Tech Blog

    こんにちは。 この記事は、技術部 Mobile ApplicationグループでSansan(※プロダクトとしてのSansan)のAndroid開発を行っている、桑原、小林、鎌田、原田の共著でお届けします。 今回は、アプリで使用しているライブラリのアップデートについて、 Sansanではどのようなポリシーで行っているのか そのポリシーを守るためにしていること そこから見えてくる課題 そして今後について をお話します。 Sansanにおけるライブラリアップデートのポリシー アプリで使用しているさまざまなライブラリは日々更新されており、機能の追加や変更、脆弱性の修正などが行われています。つまりアップデートを長期間放置していると、新機能を使えないことで開発生産性が落ちるなど、重大なセキュリティリスクを抱えることにつながります。 Sansan / Eightでは、お客さまの大切なデータをお預かり

    Sansan Androidチームのライブラリアップデートの取り組みについて - Sansan Tech Blog
  • Order Oneでのドメインイベント実装 - Sansan Tech Blog

    技術部 Strategic Products Engineering Unit Order One Devグループで受注業務のDXから、事業を加速するプロダクトOrder Oneの開発をしている山邊です。 題に入る前にお知らせです。2/27 (火) に「自由な発想でつながる、失敗談を語るLTパーティー」というイベントを開催します。 ぜひ、お気軽にご参加ください! sansan.connpass.com Order Oneにドメインイベント・非同期イベントの仕組みを導入したので、仕組みの紹介をしたいと思います。ドメインイベントの導入を検討している方の役に立てば幸いです。 ドメインイベントとは GPTによると ドメインイベントは、ソフトウェアの専門分野(ドメイン)において重要な出来事が起こった際に使用される概念です。例えば、オンラインショップで顧客が注文すると、「注文が完了した」というドメ

    Order Oneでのドメインイベント実装 - Sansan Tech Blog
  • アプリ開発者が Privacy Manifests 対応でやることについて調べてみた - Sansan Tech Blog

    はじめに こんにちは。技術部 Mobile Application グループで iOS アプリエンジニアをやっている多鹿です。 さて、 WWDC 2023 にて Privacy Manifests が発表されましたね。そして、2024年春にはこの対応がされていないアプリはリジェクト対象になるというではありませんか。 ある日突然リジェクトされて慌てたくはないので、事前にどのような対応が必要か調べてみました。 はじめに Privacy Manifests とは? アプリ開発者がやるべきこと 最初にお断りを、、 記事における解釈について やるべきことの概要 1. アプリ側で Privacy Manifests の宣言をする Privacy Manifests ファイルの作成 NSPrivacyTracking NSPrivacyTrackingDomains NSPrivacyCollect

    アプリ開発者が Privacy Manifests 対応でやることについて調べてみた - Sansan Tech Blog
  • ジョブ理論に則り、ユーザーフィードバックを整理する。 - Sansan Tech Blog

    自己紹介 こんにちは、Sansan事業部プロダクト室の乙幡です。 新卒入社後、最初に配属されたのはビジネス部門で、Bill Oneというプロダクトのインサイドセールスを担当しました。その後、入社2年目の2023年にプロダクトマネージャーへのキャリアチェンジを行い、現在は日々新しいことを学びながら活動しています。 今回は、日々の業務でうまくいったTipsについて振り返りたいと思います。 なお記事は、Sansan Advent Calendar 2023の7日目の記事です。 ジョブ理論とは ジョブ理論(Job Theory)は、製品やサービスが市場で成功するための理論の一つで、クレイトン・クリステンセンによって提唱されました。*1この理論の核心は、「製品やサービスが消費者に採用されるのは、彼らが特定の“ジョブ”(仕事やタスク)を完了させたいというニーズがあるからである」という考え方に基づいて

    ジョブ理論に則り、ユーザーフィードバックを整理する。 - Sansan Tech Blog
  • 国際化を意識したWebアプリケーションにおける日付・時刻の扱い方 - Sansan Tech Blog

    こんにちは、クラウド請求書受領サービス Bill One の開発をしている加藤です。 新しくアプリケーションを開発する際は、それが日国内をターゲットにしたものであっても、グローバル対応するときに問題が発生したり、そもそもグローバル対応できなかったりする作りにはしたくないはずです。まずは日の顧客向けにスタートしたBill Oneを開発する際も、同じことを考えていました。 稿ではグローバル対応の中でも、日付・時刻にフォーカスします。 次の「タイムゾーン呪いの書 3部作」にあるように、日付・時刻の扱いの難しさはよく知られています。 タイムゾーン呪いの書 (知識編) タイムゾーン呪いの書 (実装編) タイムゾーン呪いの書 (Java 編) この3部作は2021年の改訂ということもあり、Bill Oneの開発を始めたばかりの頃に直接参考にできたわけではありません。 初版やエムスリーさんの記事を

    国際化を意識したWebアプリケーションにおける日付・時刻の扱い方 - Sansan Tech Blog
  • DBMSをGoで実装してみた - Sansan Tech Blog

    こんにちは。プロダクト開発部の荒川 id:ad-sho-loko です。突然ですが、皆さんはこんな疑問を持ったことはありませんか? データベースの内部実装はどうなっているのか? トランザクションとはどのようなアルゴリズムで実現されているのか? NoSQLが遅いのはなぜか? 古典的なデータベースとは内部的にどのように違うの? データベースを何かしらの形で利用しているのにも関わらず、意外と内部の仕組みを理解していない場合が多いかと思います。僕もそうです。*1 しかし、エンジニアたるもの、その仕組みを知ることは非常に重要です。僕もデータベースについて勉強しようといくつかのやサイトを調べていたのですが、なかでもCMU(カーネギーメロン大学)のDatabase System Groupがアップロードしている講義が最も勉強になりました。 www.youtube.com そしてブログでは、上記の講義

    DBMSをGoで実装してみた - Sansan Tech Blog
  • 1