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万通ほどのメッセージを送受信しています。 チャットなども含みますがメールが大半を占めており、メール送受信周りでは障害含め色々ありました。 今回はメール送受信系に限って運…

VPoEに就任しました

はじめに イタンジの福崎です、postするのが遅くなりましたが、11/1にイタンジ株式会社のVPoEに就任しました。 イタンジは前CTOの後ポストが空いたままでしたが、エンジニア組織が徐々に大きくなってきて、採用も強化していく必要があるこのタイミングでエン…

データサイエンティスト協会 エントリー層向けセミナー 「【初心者向け】データサイエンスでいいエリアの提案にチャレンジ!」開催報告

こんにちは、AI Strategy Center(AISC)の橋本&福中です。 先日、一般社団法人データサイエンティスト協会から依頼を受けてエントリー層向けのセミナーを開催しました。 熱意あふれる参加者の皆さんのおかげで、当日は大盛況でした。 (内容のアドバイスや…

サーバーの負荷が高い原因を探る〜初心者編〜

はじめに 先週に引き続いて、櫻井です。社内の仕入れシステムSUPPLIER by RENOSYの開発を行なっております。 ついに入社して1年が経ちました。 先月末はハロウィンでしたが、如何お過ごしでしたでしょうか。 弊社で日本最大級のハロウィンイベント「カワサキ…

stylelintを使うためにSassからScssに乗り換えた話

TL;DR auto-fix機能付きでSassに対応しているlinterが見つからなかったので、stylelintを使うために、SassからScssに乗り換えた。 変換については、sassc-rubyを使った簡単なスクリプトと、エディタの置換機能を用いて行った。 はじめに OHEYAGOを開発してい…

pugでできることはVueでもだいたいできる件について

GA technologiesの澤田です。先日友人に「Vueとpugで何か記事を書きたい」って話をしたら 友人「そういやpugのテンプレート構文で書ける事はだいたいVueの記法で書けるよ。」 との言葉を貰いました。 今までVueにおけるpugは単なる構文的に用いていて、pug独…

簡単な表記揺れチェッカーをCIに組み込んで、レビュー効率を改善した話

はじめに OHEYAGOの開発を行っている田渕です。 早速ですが本題に入ると、Webサービスを開発する上で、表記揺れが問題になることはよくありますね。 レビューで毎回チェックするのも面倒くさい大変なので、機械的にチェックしてしまいたいと思いました。 最…

チームでモブプログラミングはじめました

はじめに GA technologies Media & Appチームの長岡です。 Media & Appチームでは、Ruby on Rails でOWNR by RENOSYのAPIや管理画面を開発しています。 今回はOWNR by RENOSYプロジェクトでモブプログラミングをはじめたのでそれについて紹介したいと思いま…

Rubyでのメタプログラミングのことを初めて知った

こんにちは、PDDのドゥックです。仕事の上でsendメソッドをよく使って本当に便利だなと思って、そのようなメソッドをもっと知りたいので、調べてみたところメタプログラミングというものを見つけました。メタプログランミングは広くて難しい領域ですが、Ruby…

GASを使用して社内システムとスプレッドシートとの連携を行った話

はじめに エンジニアとしての実務未経験からGAに入社し、来月で丸1年が経ちます、櫻井と申します。 入社以来、不動産仕入れ用の社内システム「SUPPLIER by RENOSY(以下SUPPLIER)」の開発を行っています。 www.ga-tech.co.jp (ここに私は載っていません。…

【GA開発の日常】業務体験を通して学んだこと

こんにちは! 期初目標でTech Blogを書くと宣言していたのに全然書けていなかったので期末の今記事を大量生成している浜野です。 今日は【GA開発の日常】ということで、主にBoosterチーム(社内システムを開発するチーム)で行っている業務体験について書き…

コンシューマー・エレクトロニクスに関する国際会議(IEEE GCCE2019)のオーガナイズドセッション参加報告

こんにちは。英語ができないのに国際学会でChairになってしまったAI Strategy Center(AISC)の橋本です。 6月の人工知能学会 全国大会(JSAI) オーガナイズドセッションの関連セッションとして企画したIEEE GCCE 2019の国際オーガナイズドセッション「OS-R…

メソッドを上書きするときにModule#prependが便利だったという話

こんにちは〜! GA technologiesの澤田です。つい先日Ruby Goldを取得しまして、その勉強の際に知ったModule#prependがメソッドの動作を変更するのにすごく便利だなと思ったので記事にしてみました。 Module#prependとは 最初にメソッドの説明をしてしまいま…

複数プロダクトで使うコンテナをまとめて立ち上げるdocker-composeを作成して、環境構築をラクにした!

GA technologies Boosterチームの浜野です。一番好きな食べ物はさつまいもですこの季節になるとスーパーに行くだけで焼き芋の香りがして誘惑に打ち勝つのが大変です。 さて…Boosterチームでは、自社の不動産取引の様々なフェーズを効率化するプロダクトを複…

Distribution of Android build with fastlane

Introduction What is fastlane? How to Use? Step 1: initialize fastlane into project Step 2: Provide application package Fastfile for fastlane Useful methods of fastlane Post to Slack Channel やった Introduction Hi, I am Shiam Shabbir worki…

X-Tech meetup #04 ConTech(建設テック) 開催報告

こんにちは。GA technologies AI Strategy Center(AISC)の橋本です。 個人の緩い思いから始まったX-Tech Meetupも早いものでもう1年、今回で4回目となりました。 今回は#04 ConTech(建設テック) 〜技術・データ活用〜の開催報告です。 今回も登壇者に…

Docker for Mac遅すぎる問題の解決

こんにちは、イタンジの福崎です。 Docker for Macですがプロジェクトが大きくなるのに比例して重くなっていき、我慢できなくなりました。 docker syncを試したりもしたんですが安定しないので、もうMacからLinuxに変更しようかと思ったりもしましたがVagran…