N予備校のホーム改善の話

はじめに N予備校のデザイナーをしている、本下です。 8月にPC版、10月にAndroidアプリ版、11月にiOSアプリ版と段階的にリリースされた「ホーム改善」プロジェクトについてご紹介します。 このプロジェクトで私は、要件定義段階から参加し、主にデザイナーと…

Jetpack Compose を少しずつアプリに導入する方法と得られた知見について

この記事は、ドワンゴ Advent Calendar 2021 の15日目の記事です。 N予備校 Android チームでは、アプリの各画面を少しずつ Jetpack Compose で書き換えています。 developer.android.com この記事では、チームで Compose を学習した過程や、段階的な Compos…

Web フロントエンドのレガシーコードを置き換えるためのテストの考え方

この記事は、ドワンゴもスポンサードしていた JSConf JP 2021 にて、「Web フロントエンドのリプレースを支えるテストの考え方」というタイトルで berlysia がトークした内容をもとに再構成したものです。トークのアーカイブもご覧いただけます。 この記事は…

カジュアル面談と「ドワンゴ EdTech Talk」(事業説明会)のご紹介

私達ドワンゴの教育事業ではカジュアル面談しています。 よりお気軽にカジュアル面談に申し込みいただくため、どんな人がどんなことを話すのかこの記事でまとめてお伝えします。 カジュアル面談よりさらにカジュアルに話を聞いていただける場として、ドワン…

リグレッションテストを導入した話

こんにちは。N予備校の品質保証グループです。 品質保証グループでは、日々案件ごとの業務に関わっています。今後はより横断的な関わりを強化していき、開発チームと密な連携を進めようとしています。 そこで、今回はリグレッションテストについてお話しよう…

AndroidアプリをSingle Activityに移行するためにやったこと

N予備校 Android チームでは、tatsuyafujisaki さん、hiesiea さん、yoshiya12x さんにご協力いただき、画面構成のほとんどを Single Activity に移行しました。 この記事では、Single Activity に移行した背景とつまづいたポイント、Single Activity にした…

N予備校ってどんなサービス?

N予備校ってどんなサービス? 私達ドワンゴ教育事業本部ではN予備校を開発しています。 この記事では、N予備校がどんな機能やコンテンツを提供しているのか、ひととおり説明します。 N予備校サービス全体像 N予備校は月額1100円(税込)で様々なコンテンツを…

iOSチームではリファレンスリポジトリを運用しています

こんにちは。N予備校iOSアプリ開発チームです。今日はリファレンスリポジトリをご紹介します。 皆さんはチームの新メンバーをどうやって開発にアサインしてもらっていますか?この悩み、一度は悩まれたことがあるのではないでしょうか。そこで我がチームで登…

N予備校のマイクロサービス

N予備校のバックエンドは、2016年のリリース当初からマイクロサービスアーキテクチャを採用しています。 この記事では、N予備校のマイクロサービスアーキテクチャについて、主にアプリケーション側の観点からご紹介していきます! 目次 目次 N予備校の全体構…

品証チーム立ち上げ中です

現在、ドワンゴ教育事業では品質保証チーム(以下品証チーム)を立ち上げている最中です。 それに伴い、品質保証エンジニアの採用 もオープンしています。 この記事では募集の背景と目指しているところをお伝えします。 また、立ち上げの最初期、2021年1月か…

ドワンゴ教育事業 エンジニア採用中です!

ドワンゴの教育事業ではエンジニアを採用中です! 私達は「未来の当たり前の教育をつくる」ため、N予備校やN高等学校・S高等学校を支える教育システムの開発に日々取り組んでいます。 この記事を通じて、教育事業に興味をもっていただいたり話をきいてみたり…

Android App BundleのビルドをBitriseで自動化する

N予備校 Androidチームでは、アプリの配信形式を従来のAPKからAAB(Android App Bundle)に変更しました。 Google Play Storeで新しく配信する全てのAndroidアプリは、2021年8月からは配信形式をAABにしなければなりません。既存のアプリではAABへの対応は必…

N 予備校に Visual Regression Testing を導入した話 + tips

N 予備校の Web フロントエンド開発に、 Storycap + reg-suit による Visual Regression Testing を導入しました。設定の工夫から、設定中や運用してしばらくの間に実際に発生したハマりどころを挙げ、簡単に注意点や対処例を紹介します。

Androidアプリの非同期処理ライブラリをRxJava3にバージョンアップしました

N予備校Androidアプリでは、tatsuyafujisakiさん、naka2ttsuさんにご協力いただき、非同期処理を行うライブラリをRxJava3にバージョンアップしました。 これまではRxJava2を使用していましたが、RxJava2のサポートが2021年2月末で終了してしまうため、それに…

TypeScript Compiler APIを使って型を中心に実装を自動生成する

この記事は、ドワンゴアドベントカレンダー2020の10日目の記事です。 qiita.com はじめに ベルリシア(@berlysia) という名前で活動しています。Webが好きです。ドワンゴでは、N予備校をはじめとする教育事業のWebフロントエンド開発をしています。 この記事…

AndroidアプリのKotlin化をやり切るための腕力

この記事は、ドワンゴ Advent Calendar 2020の4日目の記事です。 N予備校Androidチームでは、およそ2年かけて、Javaで書かれたコードのほとんどをKotlinに書き換えました。この記事では、コードをKotlinに書き換える上で必要だったことをまとめていきます。 …

AndroidチームのPullRequestを小さくする開発方針について

この記事では、N予備校Androidチームが行っている開発方針についてまとめます。 Androidチームに興味を持ってくれた方や、新しく配属していただく方の参考になればと思います。 N予備校Androidチームの開発方針 N予備校Androidチームでは、開発方針として「…

Androidで使用するMockライブラリをmockito-kotlinに移行しました

N予備校Androidチームでは、Unit Testに使用しているMockライブラリをMockitoからmockito-kotlinに移行しました。 この記事では、ライブラリを移行した経緯、mockito-kotlinを選定した理由と移行して得られたメリットについて書きます。 Mockライブラリを移…

社内Ruby会の紹介:Rubyの Kernel#` の気持ちを悪用して面白DSLをつくる

この記事は 『ドワンゴ Advent Calendar 2019』 の 25日目 の記事です。 はじめに Kernel#` について お題:HTMLを組み立てるDSL 実際に動く ` を使ったHTMLのDSLの例 まとめ おまけ はじめに こんにちは、 Ruたん( @ru_shalm )だよ! ドワンゴでは、毎週…

エンジニアチームのナレッジ共有と改善

ドワンゴアドベントカレンダー2019の24日目です qiita.com こんにちは、@tsuwatch です。主にRubyを書きます。今はN予備校、ニコニコQをやっていて、昔はニコナレもやってました クリスマスイブですね。年末にニコ生に耽るのが楽しみです 早速ですが今回は、…

Kubernetes ラベルセレクターを client-go から使う

この記事は 第二のドワンゴ Advent Calendar 2019 の20日目の記事です。 qiita.com 投稿が遅くなりました。 「Kubernetesのカスタムコントローラーを作ってみた」的な記事を書きたかったのですが、作ってる際にハマったclient-goでのラベルセレクターの扱い…

Rails 5.1 で DatabaseRewinder + Activerecord-Import + PostgreSQL が上手くいかない問題が期せずして(?)解決した

この記事は 第二のドワンゴ Advent Calendar 2019 の19日目の記事です。 qiita.com 誰 naari3です。 ドワンゴで N予備校 のバックエンド開発をやっています。 概要 Rails 5.0 から Rails 5.1 にアップデートする対応の最中に遭遇した現象を紹介します。 依存…

ESLintを活用した漸進的リファクタリングのすすめ

この記事はドワンゴアドベントカレンダー2019の3日目です。 qiita.com TL;DR リファクタリング前の実装をESLintで指摘しよう disabledコメントで黙らせて、リファクタリング待ちのマークにしよう 指摘するためのルールにちょうどいいものがなければその場で…