nana開発者ブログ

音楽SNSアプリ"nana"開発チームのブログです。

Xcode Previewsをまとめて実機で触れるUIプロトタイプアプリにする

iOS

nanaのiOSアプリ開発において、私たちはコードを書かずとも簡単にモックを作れるようなよくあるプロトタイピングツールを使わず、ネイティブアプリとしてプロトタイプを実装しています。nanaのプロトタイプには単なるデザインの事前確認だけではなく、仕様に…

10歳になるnanaは大きく生まれ変わります。

音楽SNSアプリnanaは、2022年に10周年を迎えます。その節目に、サービスをフルリニューアルし、アプリをゼロから作り直します。10年間ユーザーに支えられてきたサービスを大きく作り変えることに挑む開発チームの今を紹介します。

nanaの新機能、音声ライブ配信を支える技術 - Android編

nana musicでAndroidアプリ開発を担当している市原です。 前回の荒井の記事でもありましたように、10月にリリースした新機能nana LIVEのAndroidにおける開発を担当しましたので、 今回はライブのデータ同期をどうやってAndroidで実現したのかをご紹介したい…

nanaの新機能、音声ライブ配信を支える技術 - iOS編

iOS

初めまして!nana musicでiOSエンジニアを担当しております、荒井と申します。 iOSアプリ開発歴は10年程で、Objective-CにARC(AutomaticReferenceCounting)がない時代に、手作業でretainしたりreleaseしていたりするのがとても懐かしいです。 さて前回の中…

nanaの新機能、ライブ配信を支える技術

初めまして!nana musicサーバーサイドエンジニアの中島と申します。 今回のテックブログでは新たにリリースされた nana LIVEについての技術的なお話をさせていただこうと思います。 そもそもnana LIVEって何という方はこちらの記事を参照ください。 nana-mu…

XCUITestをシュミレーターで実行する前に設定しておくと便利なこと

初めまして!開発チームでQAエンジニアを担当している黒川と申します。 今回はXCUITestでテストを書いた後、シュミレーターでテストを実行する前に設定しておくと便利な設定を紹介します。 テストで使用する言語を固定する シュミレーターでキーボードを表示…

新nanaエフェクト設定、どうやって作っているかを公開します。

nana musicでデザインの仕事をしている藤木です。いまはnana公式Twitterでちょっとだけお披露目された、新しい録音やエフェクトの画面作りを担当しています。そんなデザインの本業にくわえ、各種エフェクトの音づくりもお手伝いしています。今回は後者の音作…

XCUITestとswift-snapshot-testingを共存させる際に気をつけたいこと

開発チームのiOSエンジニアをしている西山と申します! 前回の記事ではXCUITestについてご紹介させていただきましたが、 nanaではXCUITest以外にも、スナップショットテストを導入しています。 今回はXCUITestとスナップショットテストを共存させる時、 Bitr…

JMeterを使った負荷検証入門

はじめまして。 開発チームでサーバーサイドエンジニアをしている田中です。 今回は、JMeterを使用した負荷検証についてお話したいと思います。 主に導入〜基本操作のご紹介となりますが、これからJMeterを用いて負荷検証を行う方の参考になれば、幸いです。…

nana musicのNotion活用術を具体的にご紹介します!

データ活用全般を担当してる春日井です。 メイン業務は、アプリ行動ログなどの定量データやユーザーインタビューなどの定性データの取得・整備・分析ですが、「データならなんでも任せてくれ!」ということでドキュメント文化の醸成も担当しています。 この…

MTAudioProcessingTapを使って、AVPlayerで再生中のオーディオデータを取得する

こんにちは!音声信号処理エンジニアの kaede-san です。 私事ですが、先日、新型コロナウイルスのワクチンを打ちまして、ここ数日副反応に見舞われており、更新が遅くなってしまいました‍♀️ 今回は、MTAudioProcessingTapを使って、AVPlayerでオーディオデ…

AndroidアプリにFirebase AuthenticationによるTwitter認証を導入した話

はじめまして。 開発チームでAndroidエンジニアをしている松崎です。 今回は弊社のプロダクトである「nana」のAndroidアプリで初めて担当したFirebase Authenticationを使ったTwitter認証の機能を実装したお話をします。 なぜFirebase Authenticationを導入…

nanaで使っている開発系サービスの紹介

開発チームのエンジニアリングマネージャーをしている佐々木です。 今回はnanaで使っている開発系のツールやサービスを紹介します! GitHub github.com 言わずもがなのソースコード管理サービスです。全てのリポジトリを管理しています。 ZenHub www.zenhub.…

Bitrise上でXCUITestを動かすWorkflow

開発チームのiOSエンジニアをしている西山と申します! 今回は弊社で導入しているXCUITestをBitrise上で実行するための、Workflowを一部ご紹介したいと思います。 Device testing for iOS XCUITestを複数の端末で実行するために、以下二つのWorkflowを採用し…