アイリッジ開発者ブログ

アイリッジに所属するエンジニアが技術情報を発信していきます。

Google Fitと連携して歩数を取得する

開発部第2グループの天野です。 AndroidアプリにGoogle Fitと連携して歩数取得する方法を調べたので実装方法をご紹介します。 はじめに 基本的に以下の手順で可能です。 Get started on Android | Google Fit | Google Developers ただ、その中で特に実装前…

Django2.2から3.2へのバージョンアップで発生するクエリ変更への対応

開発部第2グループの佐藤です。 Django 2.2.23から3.2.6へのバージョンアップしたところ、ORMが生成するクエリが一部変更されていました。調査した変更内容と対応方法を共有します。使用しているDBはMySQLです。 起こったこと booleanフィールドでfilterする…

Re: EC2の既存システムをECSにリプレイスした話

こんにちは、プロダクト開発グループの増田です。普段は自社サービスの FANSHIP の開発・運用を行っています。 今回は、FANSHIP のとあるシステムを EC2 から ECS へ載せ替えたので、その時の振り返りを兼ねて書いてみたいと思います。過去に実施した同様の…

AWS 認定プロフェッショナル 二冠達成しました

こんにちは。プロダクト開発グループの川口です。現在はサーバーサイドの業務から少し離れていますが、三年ほど自社サービスである FANSHIP のインフラ・運用業務を主に担当していました。 今年3月に DevOps エンジニア – プロフェッショナル (DOP) 、9月…

iOSDC Japan 2021にシルバースポンサー&Tシャツスポンサーとして協賛します

こんにちは。エンジニア採用担当の久保山です。 アイリッジでは、ファン育成に強みを持つアプリマーケティングツール「FANSHIP」のSDK提供およびマーケティング効果の高いO2O/OMOアプリの受託開発においてiOSでの開発を行っており、iOSDC Japanには2018年よ…

CDK で GitLab Shared Runner 作ってみた

開発部の佐藤です。 弊社では複数の受託開発プロジェクトをまわしており、それぞれのチーム同士のコミュニケーションが不足しがちでした。その結果として、社内の共用GitLabの運用にあたって以下の課題を抱えていました。 全社共有のGitLab Runner(以下Runne…

MySQLdb(mysqlclient)をasyncioでブロックされずに使う

アイリッジ プロダクト開発グループの朴です。pythonでmysqlを扱うための多様なライブラリがありますが、その中、 pymysql(PyMySQL) MySQLdb(mysqlclient) mysql.connector(mysql-connector-python) aiomysql(aiomysql) がよく使われているかと思います。 上…

GitLabでアサインされたissue,MRを日時でslack通知するようにしたお話

こんにちは、プロダクト開発Gの城山です。 今回は普段業務を行う上で自分なりに問題に感じていた点を、実際に改善した時のお話です。 概要 システム構成 GitLab API application ソースコード 使用している技術 cron slack 通知内容 まとめ 概要 自分が所属…

RDSやS3にある300億のレコードを加工してBigQueryに格納する

こんにちは。プロダクト開発グループの福角です。 大量データを加工してBQに格納する場合の設計方針についてまとめました。 前提 元データの性質や管理方法によって、最適なプログラムの実装方法は違うと思いますので、この記事では、プログラム設計について…

Android 位置情報の許諾設定について

はじめに こんにちは、プロダクト開発部の山田です。 FANSHIP を利用する際にアプリに組み込む Android SDK の開発を主に担当しております。 Android SDK はアプリに組み込んでいただくとプッシュ通知の受け取りがすぐに可能となりますが、位置情報を利用し…

Django + MySQL なシステムで、時間のかかっているクエリを調べる

はじめまして、プロダクト開発グループでサーバーサイドのエンジニアをしている増田です。 弊社のシステムではサーバーアプリケーションとして Django を、データベースエンジンとして MySQL を使用しているものがいくつかあります。時々、特定のAPI呼び出し…

Datadog を4年間使った運用ノウハウまとめ

こんにちは。プロダクト開発グループの川口です。自社サービスである FANSHIP のインフラ・運用業務を主に担当しています。 今回は FANSHIP の運用・監視で使用している Datadog の細かい機能について、活用方法や知見などを紹介させていただきます。 なお、…

43インチ4Kディスプレイによる開発のすゝめ

こんにちは。プロダクト開発グループの高山です。 日頃は自社サービスである FANSHIP を iPhone 上で利用するために必要な SDK の開発を主に担当しています。 ここ一年半ほど、開発効率を上げる目的で43インチディスプレイを(解像度 3840x2160 で)使用して…

Datadog Synthetic API Testを使って外形監視を設定する

OMOソリューション本部プロダクト開発部の髙田です。 最近新しくできたAPIサーバに外形監視を設定する機会があり、Datadog Syntheticの利用を検討しました。 Datadogは公式ドキュメントが充実しているので目を通すだけで概要を把握することは容易なのですが…

OpenAPI モックサーバ用テンプレート作ってみた

テクノロジーパートナー本部開発部サーバサイドエンジニアの佐藤です。 社内で新規プロジェクトを開始する際に以下のような問題が発生しがちです。 開発初期にAPIドキュメントが不足する アプリ開発者がサーバー間のAPI開発待ちとなって、自前でモックファイ…

AWS ELB アクセスログを Datadog Logs に転送するシンプルな方法 w/Datadog Forwarder

はじめに プロダクト開発部の井口です。 私たちのプロダクトでは、システムを監視するための仕組みとして Datadog という SaaS を導入しています。 クラウドインフラにおけるログの一元的なモニタリング環境の整備を進めているのですが、今回はタイトルにも…

PyCon JP 2020にオンラインブースを出展しました。

こんにちは、アイリッジプロダクト開発グループの神原です。 去る2020年8月28日と29日に開催された「PyCon JP 2020」にて、弊社はゴールドスポンサーとしてオンラインブースを出展させていただきました。 2013年から継続的にスポンサーさせていただいており…

Management 3.0 Japan Conferenceに参加しました #m30Jp20

アイリッジの自社プロダクトであるFANSHIPの開発部でマネージャーをやっているすぎいです。 2020/09/12に開催された 『Management 3.0 Japan Conference』に参加してきました。 気づきや学びを共有したいと思います。 https://management30.doorkeeper.jp/ev…

Auroraの移設作業で得られた教訓

こんにちは、プロダクト開発グループの城山です。主にFANSHIPプロダクトのバックエンドを担当しています。 今回はFANSHIPプロダクトで使用しているauroraの移設作業を行ったので、その時に得られた教訓を述べたいと思います。 事の発端 FANSHIPで使用してい…

AWS SysOps アドミニストレーター アソシエイト の受験で業務知識が役立った話

こんにちは。プロダクト開発グループの川口です。自社サービスである FANSHIP のインフラ・運用業務を主に担当しています。 少し前になりますが、今年の3月にAWS 認定 SysOps アドミニストレーター – アソシエイト (以下 SOAA)を取得しました。その受験にあ…

複数人で取り組むテスト駆動開発のお話

こんにちは、プロダクト開発グループの城山です。主にFANSHIPプロダクトのバックエンドを担当しています。 今回はそんなFANSHIPプロダクトで最近リリースされたアプリ内メッセージ機能についてテスト駆動開発(TDD)を行ったので、その感想などを述べたいと思…

【開発者視点】プロジェクトを円滑に進める方法

テクノロジーパートナー本部 開発部所属の山崎です。 現在iOSエンジニアですが将来マネージャーを目指しています。その関係で、普段から開発そのもののみならず、どうしたらプロジェクトが上手くいくか? と考える事が多いです。 今回は、2020年1月〜3月に業…

自社プロダクト開発チームのスクラムの話

プロダクト開発グループの高田です。 自分の所属するチームでは1年以上前からスクラムをまわしています。 本記事では運用系のタスクをメインとするチームがどのようにスクラムを回しているのか、その取り組みについて書こうと思います。 チームについて スク…

XP祭り2019でオフショア開発の話をしてきました

アイリッジで開発グループのマネージャーをやっているすぎいです。去る2019年9月21日に開催された「XP祭り2019」にて、「オフショアだから失敗したの?誤解だらけのオフショアとアジャイルの再発見」というタイトルでオフショア開発をテーマとしたパネルディ…

位置情報のaccuracyを活用した来店判定方法

アイリッジ プロダクト開発グループの朴です。 geography上で位置情報を使ってユーザーの来店判定をする時、普段は距離を計算して判定すると思います。 もう少し細かく説明すると、特定場所(お店など)の中心になる座標とユーザーの位置情報を元に距離を計算…

負荷試験用JMeterクラスタをAWS上にさっと上げる

TL;DR 負荷試験時に活用できる、AWS上にJMeterクラスタを立てるテンプレートを作りましたので、ご利用下さい!! GitHub: https://github.com/iridgeinc/jmeter-cluster-template はじめに 開発推進グループのbbrfkr(ビビリフクロウ)こと、斎藤です。 Webサ…

Postmanを利用してAPIテストを自動化する

こんにちは、アイリッジ プロダクト開発グループの神原です。主に自社サービスであるFANSHIPの機能強化を担当しています。 FANSHIPではプッシュ通知の配信に関わる様々な機能をAPIとして提供しています。 以前、PostmanというGUIのツールを用いて、FANSHIPの…

EC2の既存システムをECSにリプレイスした話

アイリッジ プロダクト開発グループの高田です。 EC2からECSにインフラをリプレイスすることは割とあるケースだと思います。 これから似たようなことやる人にとって、少しでも参考になる記事になれば幸いです。 対象読者 EC2でサーバを立てたことがある人 EC…

Amazon RDS Classic -> VPC 移行におけるレプリケーション活用

こんにちは。アイリッジ プロダクト開発グループの川口です。主に自社サービスのインフラ・運用業務を担当しています。 VPC に所属していない、いわゆる Classic 環境に存在する RDS (MySQL 5.6) インスタンスを VPC の中へ今年の夏頃に移行させました。対象…

iOS13で登場したデザイン要素のまとめ

こんにちは、デザイナーの吉野です。 リリースから少々時間が経ってしまいましたが、 iOS13のデザインに関わる変更点をまとめたので、公開したいと思います。 SF Symbols SF Symbolsは、iOSのシステムフォントであるSan Franciscoと馴染むようにデザインされ…