株式会社アルダグラム 開発チームさんのフィード

https://zenn.dev/aldagram

株式会社アルダグラムの開発チームのアカウントです Publicationページはこちら! https://zenn.dev/p/aldagram_tech

フィード

記事のアイキャッチ画像
Kotlin Serialization を使う利点について
株式会社アルダグラム 開発チームさんのフィード
こんにちは!アルダグラムのアプリチームです。本記事は株式会社アルダグラム Advent Calendar 2023 4日目の記事です。Androidのアプリでは JSON を通じてAPIサーバと通信を行うことは一般的なので、多くのアプリで JSON のシリアライゼーションライブラリを使っていると思います。アルダグラムの Kanna の Android アプリでも moshi を使っているのですが、JetBrains が出している kotlinx.serialization について調べるきっかけがあり moshi と比べても利点があると感じたのでいくつか紹介してみようと思います。...
5ヶ月前
記事のアイキャッチ画像
AndroidのスクリーンショットテストでのRoborazziの導入について
株式会社アルダグラム 開発チームさんのフィード
こんにちは!アルダグラム アプリチームです。先日アルダグラムのAndroidアプリでスクリーンショットテストを導入したので、導入の経緯や方法について紹介したいと思います。 スクリーンショットテストとはテスト中に画面のキャプチャを取得し、それを事前に取得しておいた期待する画面のキャプチャと比較することで検証を行うテスト手法になります。例えば、以下のような Composable のテストの UI テストを行いたい場合、@Composablefun HelloWorld() { Column { Text(text = "Hello world!") ...
7ヶ月前
記事のアイキャッチ画像
アルダグラムはiOSDC Japan 2023にプラチナスポンサーとして協賛します
株式会社アルダグラム 開発チームさんのフィード
はじめにiOSDC Japan 2023が近づいてきました、皆さん楽しみにしていますでしょうか 😉アルダグラムがプラチナスポンサーとしてiOSDC Japan 2023を初めて協賛させていただきます!イベント当日にはブースも設置されますので、ノンデスクワーク用のプロジェクト管理アプリに興味がある方はぜひお立ち寄りください iOSDCとはiOSDC Japan 2023はiOS関連技術をコアのテーマとしたソフトウェア技術者のためのカンファレンスです。今年もリアル会場とオンライン配信のハイブリッド開催です。今年の開催日は9月1日(金)から9月3日(日)です、場所は早稲田大学理...
9ヶ月前
記事のアイキャッチ画像
RSpec の実行を高速におえるためのヒント
株式会社アルダグラム 開発チームさんのフィード
こんにちは、アルダグラムの内倉です。テスト書いていますか?KANNA では現在、ci で多くの機能のテストをカバーしており、プロダクトの機能・要件が充実してきたこともあって、テスト数自体もかなり増えてきました。結果、テストの実行時間が長く「ci 通ったらマージしますね」などといった際の待ち時間が負担となっていました。テストデータの削除方法を見直したり、テストを並列実行にするなどの対策を行い、40〜60 分 → 10分弱まで短縮できていました。しかし、今回さらに TestProf というテストのパフォーマンスを分析してくれる gem を使って、テスト自体の無駄をなくす方向で試して...
1年前
記事のアイキャッチ画像
建設DX展に行ってきました!
株式会社アルダグラム 開発チームさんのフィード
こんにちは!アルダグラムでエンジニアをしている @sukechannnn です。12月5日から3日間、東京ビッグサイトで行われているジャパンビルド展示会(の中の “建設DX展”)にアルダグラムが出展しているのですが、現場で使われるサービスがたくさん展示されている…!ということで、開発者として勉強しに行ってきました!展示会なのでもちろん競合となるサービスもあるので偵察のようにならないよう配慮しつつ、どちらかというと「私たちのユーザーである “現場の方” の課題を解決するためにどういった選択肢があるのだろう?」ということを知るために行きました。「いま現場で求められてるサービスはどんな...
1年前
記事のアイキャッチ画像
Cloud Functions から BigQuery Storage Write API 使ってみた
株式会社アルダグラム 開発チームさんのフィード
こんにちは。株式会社アルダグラムの内倉です。今回は、掲題のとおり Cloud Functions + BigQuery Storage Write API 使ってみた話を書いてみたいと思います。 今回の経緯↓ざっと、こんなかんじの要件がありました。大量のログを貯めつつ、ある程度検索も自由にやりたいできるだけ、リアルタイムに近いかたちでクエリできるようにしたいDynamo や Elasticsearch 、KANNA でメインで利用しているRDSも、保存先候補としてあがりましたが主に1つ目の「大量のログを貯める」「ある程度自由に検索したい」というとこから、BigQue...
1年前
記事のアイキャッチ画像
MermaidでER図を書いてみました
株式会社アルダグラム 開発チームさんのフィード
こんにちは、アルダグラムのエンジニアの金子です。アルダグラムはノンデスクワーカー向けプロジェクト管理アプリ「KANNA」を提供しています。https://lp.kanna4u.com/今回は新しい機能の開発をしていく中で、ER図が欲しくなることがありました。ツールとしては様々なものがありますが、気軽に作成・編集・管理できるものとしてMermaidというものが良さげだったので、使い方を学習してみました。 MermaidとはMarkdown感覚に近い独自記法で様々な図を書けるツールです。テキストベースなのでプロジェクト内に配置してバージョン管理したりできます。Github...
2年前
記事のアイキャッチ画像
少しでも世界で使われる可能性があるならDBのタイムゾーンはUTCにしよう!
株式会社アルダグラム 開発チームさんのフィード
こんにちは、エンジニアの @sukechannnn です!私たちは2022年7月25日にノンデスクワーカー向けプロジェクト管理アプリKANNAの英語版をリリースしました。私は現在グローバル推進チームのリーダーを努めており、日本で提供することしか想定されていなかったシステムを国際化する対応を行っています。プロジェクトスタートから約半年で英語版をリリースしました。その中でもタイムゾーンの対応はとても大変で、最初からこうだったら…と思わずにはいられませんでした。僕らの反省が、これから世界展開するサービスを開発されるエンジニアの参考になれば嬉しいです。 結論: 少しでも世界で使われる可能...
2年前
記事のアイキャッチ画像
通知の言語を Web と App で分けた話
株式会社アルダグラム 開発チームさんのフィード
こんにちは!影山です。先日、プッシュ通知と、デスクトップ通知/Eメール/お知らせ(KANNAの機能) で見える言語を、App と Web で分ける機能がリリースされました。プッシュ通知 —> デバイスで設定されている言語デスクトップ通知/Eメール/お知らせ(KANNAの機能) —> Web 版 KANNA で設定した言語元々の実装は、全ての通知は App の言語を見るように実装されていましたが、Web 版 KANNA では言語設定のページを設けているため、Web 版はその言語で通知が飛ぶよう処理を変更しました。Web版KANNAでの言語設定の切り替えページW...
2年前
記事のアイキャッチ画像
多言語対応の辞書キーをフラットな構造にしてみたら良かった話
株式会社アルダグラム 開発チームさんのフィード
多言語対応の辞書キーをフラットな構造にしてみたら良かった話こんにちは、@sukechannnn です。私たちは2022年7月25日にノンデスクワーカー向けプロジェクト管理アプリKANNAの英語版をリリースしました。今回、英語版の開発を進めるに当たって I18n の辞書をゼロから作りました。その際、作成する辞書の構造について色々悩んだのですが、元々あった日本語の文言をキーにしてフラットな構造の辞書にしました。今のところいい感じなので、なんでそうしたのかを書いてみます。 よくある辞書の構成よくある辞書の構成として、ドメインやページ毎に分割/階層化してキーを設計していくというや...
2年前
記事のアイキャッチ画像
アルダグラムの技術的改善施策について
株式会社アルダグラム 開発チームさんのフィード
こんにちは、アルダグラムの開発ユニット長の田中です。アルダグラムはノンデスクワーカー向けプロジェクト管理アプリ「KANNA」を提供しています。https://lp.kanna4u.com/プロダクトの成長フェーズでは、機能開発がメインで技術的改善施策が後手に周りがちです。しかしアルダグラムでは技術的改善施策の時間を確保し、技術的投資や負債の返上などを行なっています。今回はその技術的改善施策についてどのように取り組んでいるか、ご紹介します。 技術的改善施策の取り組み 開発リソース配分について現在は開発リソースを一定の割合で、技術的改善施策に充てています。エンジニアの...
2年前
記事のアイキャッチ画像
React Native の Native Module に props を追加する方法(iOS編)
株式会社アルダグラム 開発チームさんのフィード
こんにちは!KANNA の開発のお手伝いをしております、 len_prog です。React NativeのNative Moduleでカメラ起動させてみた(iOS/Swift)https://zenn.dev/aldagram/articles/e74512b3747a3bReact NativeのNative Module化について(Android)https://zenn.dev/aldagram/articles/a89fac17788a3e上記記事にて Native Module を使用して新規実装を行う方法については解説していただきましたが、実際の業務では既存の ...
2年前
記事のアイキャッチ画像
iOS Distribution Certificate の更新方法
株式会社アルダグラム 開発チームさんのフィード
こんにちは!株式会社アルダグラムの渡辺です。今回は 年に1回更新しなければならない Distribution Certificate の更新方法について書いていければと思います。 背景アルダグラムでは KANNA というアプリを iOS と Android で提供しております。https://lp.kanna4u.com/その中でも iOS のアプリを公開するにあたって必要になってくるのが Distribution Certificate です。Distribution Certificate は期限が決まっており、期限がきれると Production と Develop...
2年前
記事のアイキャッチ画像
MagicPod(E2Eツール)を導入して品質とリリース頻度を両立している話
株式会社アルダグラム 開発チームさんのフィード
こんにちは!アルダグラムでエンジニアをしている @sukechannnn です。アルダグラムの開発チームでは、QAチームを中心にMagicPodを用いてE2E自動テストを追加/運用しています。このE2E活動をスタートしたのが今年の2月で、約半年かけてある程度の成果が見えるところまで来ました。そこで、私たちがどんな理由でE2E自動テストを運用することにしたのか、それによりどんな成果が得られたのかをこの記事では紹介します。E2E自動テストの導入を検討している方や、どんなツールを使うか迷っている方の参考になれば幸いです。 なぜE2E自動テストを運用することにしたのかアルダグラムでは...
2年前
記事のアイキャッチ画像
type-challenges初級を解いたのでNext.jsの初期ページを型安全にしてみる
株式会社アルダグラム 開発チームさんのフィード
こんにちは!影山です。アルダグラムが開発している KANNA アプリは、Next.js / TypeScript を導入して型安全に開発しています。TypeScript の体験は素晴らしいですが、慣れていないと最初は開発スピードが落ちてしまうこともあります。そのため、Web 上で type-challenges や サバイバルTypeScript などを通して、TypeScript のイロハを学びますが、 React との兼ね合いによるエラーで詰まってしまうことが第2の試練のように感じます。そこで、今回は type-challenges の初級問題をベースとした上で、それをどう ...
2年前
記事のアイキャッチ画像
NestJS + OpenAPI でのファイルアップロード
株式会社アルダグラム 開発チームさんのフィード
こんにちは。株式会社アルダグラムの安政です。NestJS 内の OpenAPI の機構を用いて、日々開発しています。ファイルをアップロードする処理を実装する機会がありましたので、実装方法などを紹介したいと思います。この記事では、ファイルアップロードの基本的な処理受け取るファイルの MimeType を用いてのバリデーション処理OpenAPI (Swagger)上から利用するためのデコレーター定義の順でご紹介します。また実装にあたってはこちらのサイトを参考にさせていただきました。https://notiz.dev/blog/type-safe-file-upload...
2年前
記事のアイキャッチ画像
Next.js + react-konvaを使ってみた
株式会社アルダグラム 開発チームさんのフィード
こんにちは! takjinです。今回はNext.js + react-konvaを使う機会がありましたので、導入から描画、画像データを保存するところまで、紹介していきたいと思います。実行環境はこちらですkonva: 8.3.9next: 12.1.6react: 18.1.0react-konva: 18.1.1 Next.jsとreact-konvaのセットアップNext.jsのプロジェクトを作成し、react-konvaをインストールしていきます// Next.jsのセットアップ$ npx create-next-app@latest// Next.jsでt...
2年前
記事のアイキャッチ画像
React NativeのNative Module化について(Android)
株式会社アルダグラム 開発チームさんのフィード
React NativeのNative Module化について(Android)こんにちは! アルダグラムで、サーバーサイド寄りのエンジニアをしている内倉です。KANNA のネイティブアプリは、React Native で作られているのですが諸事情により、カメラの機能だけ Native Module で実装することになりました。前回の記事では、@WatanabeKoki が iOS 版実装のさわり部分を紹介してくれたのでhttps://zenn.dev/aldagram/articles/e74512b3747a3b私の担当する Android 版のほうも、やっていきたい...
2年前
記事のアイキャッチ画像
React NativeのNative Moduleでカメラ起動させてみた(iOS/Swift)
株式会社アルダグラム 開発チームさんのフィード
こんにちは株式会社アルダグラムの渡辺です今回は React Native に自作の Native Module を使ってカメラの起動とボタンの配置・イベント発火までをコードベースで解説できればと思います 背景アルダグラムで提供しているサービス「KANNA」の App は React Native で開発を行なっております。この KANNA にカメラを使った機能を追加することになりましたはじめは React Native だけでカメラ機能を開発したかったのですが、KANNA で実現したいことはNative を組み込まないとできないと判断したため Native Module 化...
2年前
記事のアイキャッチ画像
Docker on Mac な Rails 環境を10倍速くする
株式会社アルダグラム 開発チームさんのフィード
こんにちは! @sukechannnn です。「Docker を Mac で使うと遅い」とは聞いてたのですが、本当にめちゃくちゃ遅い開発環境に遭遇してしまいました...はい、弊社です。僕が入社した時、Rails のプロセスを立ち上げるのにとても時間がかかる状態で、Rails console を立ち上げる度に「マダカナ-」となってました。最初はそれで開発していたのですが、しばらくして「これは遅い...なんとかしたい...!」という気持ちが高まってしまいました。そして試行錯誤の結果、最終的に Rails console を立ち上げるのにかかる時間が 50秒→5秒 に、データ初期化も 1...
2年前