2020-01-01から1年間の記事一覧

FirebaseのDynamic Linksを導入した話

はじめに OWNR by RENOSY Android開発のSugeunです。 今回OWNR by RENOSYでDynamic Linksを導入した流れについて話したいと思います。 DeepLinkの概念について全く分からなかったので実際導入してみるとすごく効率高いなと思いましたのでBlog書きました。 今…

Akka(Scala)で書かれたレガシーシステムをRailsでリプレイスした話

前置き この記事では、AkkaとRails,もしくはScalaとRubyのどちらが優れている、などという話は出てきません。 結論を先にも書いておくと、 フレームワークや言語に関わらず、テストや仕様書、CIなどがいかに整っているかが保守性に関わる 技術選定には、会…

ドメインの管理をVALUE DOMAINからRoute 53に安全に移行した話

はじめに イタンジのSREチームの田渕です! イタンジでは、基本的にはRoute 53でドメインを管理していますが、古くから使っているものに関しては、VALUE DOMAINでも管理をしていました。 しかしVALUE DOMAINではIaCツールによる管理ができないため、先日、ド…

terraformとクラウドの状態の差分を定期的に監視する仕組みを作った話

はじめに イタンジSREチームの田渕です! イタンジではクラウド管理のIaCツールとしてterraformを使っています。 terraformとクラウドの状態の差分を定期的に監視する仕組みを作ったところ、うまくワークし、かなり運用負荷が下がったため、皆様にも紹介しま…

KotlinでJavaのStaticを使う方法まとめ。

はじめに OWNR by RENOSY Android開発のSugeunです。 OWNR by RENOSYは海外のお客様向けに英語対応を始めました。 今回はKotlinにはstatic修飾子がなかったので、代わりとして@JVMアノテーション, companion Objectの使い方を勉強しました。 @JVMアノテーシ…

構造化データマークアップ(JSON-LD)をRENOSY ASSETとRENOSY マガジンに追加した話

1. はじめに はじめまして!RENOSYプロダクトのフロントエンドの開発をしている犬塚です。RENOSY ASSETとRENOSY マガジンには構造化データマークアップを導入しています。今回はその導入背景と実装方法について紹介したいと思います。 2. 導入背景と目的 SEO…

QAチーム1年9ヶ月くらいの振り返り

QA

ご無沙汰しております。QAチームの柿崎です。 GA technologies では半期に一度、 GREATEST AWARDS という社内表彰の場が設けられています。 先日、その場にて栄えある ENGINEER of the YEAR という賞を頂きまして、 良い機会なので入社してからの1年9ヶ月く…

Androidで使われているApplication ContextとActivity Contextの使い所まとめ。

始めに こんにちは、OWNR by RENOSY Android開発のSugeunです。 最近、OWNR by RENOSYはチャット機能を追加しました。弊社で不動産物件を購入いただいたお客様はご利用いただけます。是非気軽に使ってください。 今回は今までAndroid開発中でApplication Con…

業務中にrubocop-railsのCustomCopを作成して、そのままOSSにcontributeした話

はじめに OHEYAGOの開発の田渕です! 先日、OHEYAGOで書いたコードを流用して、rubocop-railsというOSSに新機能を追加して、contributeしました! マージされたPRはこちらです。 github.com 経緯 OHEYAGOのレビュー中に、content_tagをtagにしたほうが良いと…

Railsのテンプレートエンジンを、slimやhamlから、erbに戻して乗り換えた話

はじめに OHEYAGOの開発をしている田渕です! Railsのテンプレートエンジンには、デフォルトのerbや、代替のslimやhamlなどがあります。 OHEYAGOではslimを採用していましたが、先日、テンプレートエンジンをslimからデフォルトのerbに変更しました。 細かい…

Reactを使ったコンポーネント指向設計で、Atomic Designをやめようとしている話

はじめに OHEYAGOの開発をしている田渕です! OHEYAGOはtoCサイトなので、UI・UXを重要視しており、チームとしてデザイナーを2人抱えております。 デザイナーは他業務との兼任ですが、それに対してエンジニアは3人なので、デザイナーの割合がとても多いチー…

"headful(non-headless)" chrome on docker

TL; DR Xvfbで仮想ディスプレイ有りのnon-headless GoogleChromeをdocker上で実行した これは何 GA technologies / ITANDI, inc. の中村です。 本ドキュメントは、Selenium webdriver経由でのchrome操作を、主として自動化を目的に docker上で headless でな…

Kotlinのスコープ関数を活用するプログラミング。

初めに こんにちわ,OWNR by RENOSY Android開発のSugeunです。 今回は今までKotlinの関数を使ってはいましたがあんまり詳しく分からず使っていたので、 Kotlinの関数を深く見たいと思います。BlogのコードはKotlin 1.3バージョンで書かれています。️‍♂️ www.…

【Rails + AWS Fargate】簡単なシェルスクリプトでデプロイ前後の外形監視を行い、デプロイの安定性を高めた話

はじめに OHEYAGOの開発をしている田渕です! OHEYAGOのwebサーバーはFargate上で動いていますが、AWS Fargateでのデプロイを行う際に、マイグレーションやデプロイが本当に完了したタイミングがわかりにくいという問題がありました! 例えば、マイグレーシ…

React + TypeScriptのtoCサービスでのIE対応の際にハマったことまとめ

はじめに OHEYAGOの開発をしている田渕です。 去年の話になるのですが、OHEYAGOでInternet Explorer(以下IE)対応を行いました。 いろいろ詰まる部分があったので、知見として共有します。 経緯 リリース時には、IEの対応を完全に切って、IEでアクセスした場…

Treasure DataとEmbulkで、バスケット分析をRENOSY MAGAZINEに導入してみた

はじめに こんにちは。RENOSYプロダクトの開発をしている生田です。 先日、RENOSY MAGAZINE(以下、MAGAZINE)におすすめ記事の機能を追加しました。 その際、Embulkという技術を使ってデータの抽出・転送を行ったので、その方法等について共有します。 Treasu…

多様なConstructorを@JvmOverloadsを使って簡略に書き換える。

初めに (✿✪‿✪。)ノコンニチワ♡ 不動産オーナーになりたい夢を毎日見ているOWNR by RENOSY Android開発のSugeunです。 OWNR by RENOSYは不動産投資を行なっているオーナーさんにもっと物件管理をし易く助けてくれる不動産オーナー向けのアプリケーションです。 …

typescript-eslintの最新オプションno-unsafe-*を使って、TypeScriptの型リファクタリングを簡単に行った話

はじめに OHEYAGOの開発の田渕です。 先日eslintを最大限活用してTypeScriptの型安全を少しずつ高める方法という記事を書きました。 さらに加えて、つい最近(約2週間前)、3/8にリリースされたtypescript-eslintの新機能を活用して更にリファクタリングするこ…

デザインパターンDIとDaggerを使ったAndroid開発(2)

初めに (✿✪‿✪。)ノコンニチワ♡ OWNR by RENOSY Android開発のSugeunです。 前回デザインパターンDIとDaggerを使ったAndroid開発(1)編ではDaggerとDIはなんなのかについて簡略に説明しました。今回も引き続きDaggerをもっと深めたいと思います。 OWNR by RENOSY…

デザインパターンDIとDaggerを使ったAndroid開発(1)

始めに (✿✪‿✪。)ノコンチャ, OWNR by RENOSY Android開発のSugeunです。 今回はOWNR by RENOSYアプリで使っているデザインパターンDIとDaggerに関して紹介したいと思います。 www.renosy.com DIとは DI (Dependency Injection)とは、あるオブジェクトが、他のオブ…

CloudFront+Lambda@Edgeでエッジコンピューティングする

GA technologies / イタンジの中村です。 技術者寄りのプロダクトマネージャーとして、プロダクト企画・開発からリサーチ・営業まで浅く広く何でも屋をしています。 CloudFrontでエッジコンピューティング? 今日は小ネタとして、n番煎じですがLambda@Edgeを…

デプロイ後のAWS ALBエラー数高騰に対処した話

はじめに こんにちは、はじめまして。イタンジ株式会社のtakumi1129と申します。 私事ではありますが、最近体重計に乗ったら体重が3桁になっておりました。 流石に冗談かと思って乗り直してみたものの冗談ではありませんでした。 正月太りって恐ろしいですね…

PageSpeed Insightsの結果を30点台から70点台まで上げるまでにやったこと

はじめに OHEYAGOの開発をしている田渕です。 OHEYAGOではページの大部分をReactでレンダリングしているので、スマホなどで見た際のパフォーマンスが問題になりやすいです。 SEOにも悪影響がありますし、ユーザーからも「OHEYAGOが重い」という声をしばしば…

RxJavaをキャッチアップした話し

はじめに こんにちは、OWNR by RENOSY アプリでAndroid開発を担当しているSuGeunです。 研修ではAsyncTaskを使って非同期式の処理を行いましたが 、 OWNR by RENOSYではデータを取得する非同期処理をRxJavaを使っているので本格的にRxJavaのキャッチアップを…

OHEYAGOでファーストビューでのJavaScript容量を28%削減した話

はじめに OHEYAGOの開発をしている田渕です。特にフロントエンド専門というわけではないのですが、最近はフロントエンドのチューニングをたくさんやっていたので、フロントエンド関連の記事が多くなりそうです。 サイトの速度はSEOなどの面からも重要で、そ…

eslintを最大限活用してTypeScriptの型安全を少しずつ高める方法

はじめに あけましておめでとうございます! OHEYAGOの開発の田渕です。 OHEYAGOではTypeScriptを導入し、少しでもバグが発生しにくい状態を心がけています。 しかし、リリース直後(昨年9月末)にはTypeScriptの良さを活かしきれていない状態でした。具体的に…

正月にfullstackopenをやってみた

はじめに イタンジの福崎です。 社内のslackで煽られてblog記事2本書くって言ったことを思い出し、2本目の記事を書いています。 正月休みに入ってから速攻インフルエンザになって、インフルエンザ治ってからはやろうと思ってた fullstackopen をちょいちょい…

メール送受信系サービスを構築する際に気をつける事

AWS

はじめに イタンジの福崎です。 弊社で運用しているサービスで現在年間約1000万通ほどのメッセージを送受信しています。 チャットなども含みますがメールが大半を占めており、メール送受信周りでは障害含め色々ありました。 今回はメール送受信系に限って運…