ドワンゴの就業型インターンの体験記

はじめに 大阪産業大学3年の関佑太です。 2023年12月18日~2024年3月31日の間N予備校のAndroidチームにインターンで参加していました。 私がこのインターンに参加した時のスキルレベルとしては次のような感じです。 個人開発でアプリを作ったことはある テス…

Conventional CommitsとCHANGELOGの自動生成でリリースのユーザ影響をわかりやすくした話

ドワンゴ教育事業 バックエンドエンジニアのtakuminishです。 現在、私は教材入稿ツールの開発チームに所属しています。 教材入稿ツールは昨年の2023年06月に社内向けに正式リリースされた比較的新しいツールであり、リリース当初はリリースノートに関する運…

Ktorm のクラス設計を読み解いて、DSLを拡張する

先日Server-Side Kotlin MeetupのLT大会で登壇してきましたので、その内容をブログ記事でも公開します。 テーマはKotlin製のORマッパー、Ktormのクラス構造と機能拡張についてです。

N予備校エンジニアインターンシップ体験記🌟

初めに 初めまして、「教育学習サービス『N予備校』サーバーサイドエンジニアインターンシップ」に参加した落合大輔です。 私は大学院の修士1年生の秋頃にインターンシップに応募しました。内容はTypeScriptによるバックエンドの開発です。私の場合は期間は4…

@swc/jestで手間をかけずにテストを早くする

こんにちは、ドワンゴ教育事業 Web フロントエンドチームの猪井です。 この記事では babel-jest から @swc/jest に移行することで Jest によるテストが速くなった事例について紹介します。 JavaScript のテストツールは、Vitest のバージョンが 1 を迎えたり…

iOS版Twitter(X)アプリではツイート内のURLがUniversal linksとして機能しないので、N予備校アプリへの導線を見直した話

こんにちは。N 予備校 Webフロントエンド開発チームの中村です。 去年の夏頃、記事タイトルの件に絡んで起きていた問題の対応をしたのでその時の話を書きます。1 なおTwitter社の社名及び同社のサービス名は現在ではXとなっていますが、本文内容の当時はまだ…

ESLintのローカルルールで独自のコーディング規約を実装する

オンライン学習サービスN予備校の開発を支えるコーディング規約の考え方に少し触れ、その運用を支えるESLintの活用を紹介します。ESLintのフラットコンフィグで設定を書いていると、プロジェクト固有のルールを扱いやすいことを紹介しています。

レガシーブラウザ向けのビルドオプションを剪定する

この記事はドワンゴ Advent Calendar 2023 の 20 日目の記事です。 はじめに こんにちは。今年の 10 月に教育事業本部にフロントエンドエンジニアとして入社したユーンです。 この記事では、 2016 年から新陳代謝を続けている N予備校 Web フロントエンドの…

ドワンゴの「ものづくりが好き」というエンジニア文化の話

この記事は ドワンゴ Advent Calendar 2023 の16日目の記事です。 新卒採用イベントで会社説明をする機会があり、その中でもタイトルにもさせてもらっている通り「ものづくりが好き」をはじめとするドワンゴのエンジニア文化などの話をさせてもらいました。 …

バックエンドエンジニアがフロントエンドの開発をすることになった話

この記事は ドワンゴ Advent Calendar 2023 の 13 日目の記事です。 自己紹介 こんにちは。バックエンドエンジニアのlenです。 現在私は社内で使用する教材入稿ツールを改修するプロジェクトに参画しており、そこではバックエンドの実装に加え、フロントエン…

2023 年に行ったN予備校 Android アプリの開発まとめ

この記事は ドワンゴ Advent Calendar 2023 の 10 日目の記事です。 N予備校 Android アプリ開発チームでは、2023 年はアプリの実装および内部改善を活発に行い、内容をまとめた記事も例年より多く公開できました。 この記事では 2023 年に行った開発内容を…

N予備校とスマホゲームでの品質保証の違いについて

1.自己紹介 こんにちは。ドワンゴ教育事業のN予備校 品質保証チーム(以降「品証」)の栗山です。冒頭に簡単ではありますが、自己紹介をさせてください。 2023年3月より勤務しています。前職ではスマホゲームの品証を約5年ほど経験しておりました。 この記事で…

ドワンゴの25卒新卒採用はじまっています

今年もドワンゴの25卒新卒採用がはじまりました。 25卒の方を主なターゲットとしていますが、既卒の方でも一定の条件を満たせば応募可能です。 ニコニコ、教育、DMV(Dwango Media Village)と3つの事業で新卒を募集しています。 saiyo.dwango.co.jp 教育事…

遠隔地勤務の働き方

はじめに こんにちは。N予備校 品質保証チームの鈴木です。私は遠隔地勤務者として東北地方の福島県に居住しながら、2023年2月よりドワンゴの教育事業本部で勤務しています。この記事では私の遠隔地勤務の体験を通じて感じたことを紹介したいと思います。 は…

新卒エンジニアがESLintのFlat Config移行と格闘した話

ESLintのFlat Configへの移行は進んでますでしょうか?試してみたでしょうか? 今回はドワンゴの新卒エンジニアが初仕事として取り組んだ、ESLintのFlat Configへの移行に関して「その方法と嵌ったところの乗り越え方」をお伝えします。 この記事で言及する…

マイクロサービス構成における NestJS での gRPC クライアントの運用戦略

はじめに はじめまして、バックエンドセクションの yukimochi です。 現在、N予備校ではバックエンドのアプリケーションの移行計画が進んでいます。 その一環で、一部のマイクロサービス間通信についても REST API + OpenAPI の現状から gRPC へと移行するこ…

Kotlinのsealed型を使って高機能なenum型を実装する

Kotlinのsealed型を使って、標準ライブラリの enum class よりも高機能なenum型を実装する方法を紹介します。

TypeScript5.2 で追加された using Declarations and Explicit Resource Management をテストで活用する

こんにちは。N予備校 Webフロントエンド開発チームの堀です。 先日 TypeScript@5.2 が正式リリースされました。 TypeScript@5.2 で新しく追加された using Declarations and Explicit Resource Management (using 構文と明示的リソース管理)によって、N予備…

DroidKaigi 2023 アプリにコントリビュートしました

こんにちは、N予備校 Android アプリ開発チームの @hiraike32 です。 今年も DroidKaigi の開催が近づいてきましたね。開催に先立って DroidKaigi の公式アプリのコードが GitHub で公開されました。 github.com N予備校 Android/iOS アプリ開発チームでも D…

Kotlin sealedタイプによる論理和型の実装: ポリモーフィズム形式と代数的データ型形式

Kotlinのsealed typeを使った論理和型の実装方法として、「ポリモーフィズム形式の実装」と「代数的データ型形式の実装」2つのパターンを比較検討します。

株式会社ドワンゴは iOSDC 2023 をスポンサーしています

iOS

こんにちは、N予備校 iOS アプリ開発チームです。 今年も WWDC 2023 が終わり、iOSDC 2023 の時期ですね! WWDC では新しいプロダクトの Vision Pro はもちろん、Swift だとマクロ、Xcode だと Asset の自動コード生成やローカライズ周りの強化などなど、さ…

マネージャーが育休を取得するときに気をつけたこと

この記事では、マネージャーである私(男)が、育休を取得するときに気をつけたことや取り組んだことについて紹介します。 「いなくても業務を円滑に回す」という大方針を軸に、自分なりに段取りを整えました。 ドワンゴでのマネージャー業務の一例として、…

Web フロントエンドチームの紹介

はじめに こんにちは。N 予備校 Web フロントエンド開発チームの三橋です。 この記事では Web フロントエンドチームについてご紹介します。 メンバー(実施時点 9 名)にカジュアル面談でよくご質問いただく項目を含めたアンケートに協力してもらいました。 チ…

GraphQLのFragment活用テクニック: colocationとmasking

GraphQLのFragment活用テクニック: colocationとmasking こんにちは。N 予備校 Webフロントエンド開発チームの中村です。 現在開発中のZEN CompassではGraphQLを採用しました。我々のチームでは(そして私個人としても)GraphQLを採用したのは初めてだったの…

kotlin-result入門

教育事業のバックエンドではサーバーサイドKotlinの導入に取り組んでいます。その際に kotlin-result を利用したエラーハンドリングを導入したので、特長や使い方を紹介します。

「 ZEN大学 (仮称) (設置構想中) 」 開学に向けエンジニア募集中!

はじめに 株式会社ドワンゴと公益財団法人日本財団は包括提携し、2025年4月に新しいオンラインの大学、ZEN大学 (仮称) (設置構想中) の開学を目指しています。 ドワンゴ教育事業では、ZEN大学生のオンライン学生生活を便利に、かつ豊かなものにするため、シ…

N予備校iOSアプリ SwiftPM 移行

iOS

はじめに SwiftPM 移行の準備 2021/12 〜 2023/02 (平和) 2023/02 中旬 〜 2023/03 上旬 (問題発生と対応) 一体どんな問題が起きていたのか? 調査結果の詳細 XcodeGen 実行時にクラッシュ Bitrise Xcode & OS 変更 SwiftPM 完全移行に向けて アプリクラッシ…

初めてのスクラムをやってみての反省点

はじめに こんにちは、lenです。 現在自分はバックエンドセクションのメンバーとともにある改善プロジェクトに参画しております。 そのプロジェクトでは、スクラムを用いてプロジェクトを進めていますが、初めてのスクラムだったので困ったことや反省点につ…

N予備校iOSアプリへ SwiftUI を導入してみて List編

iOS

SwiftUIの導入を行いました。今回は List に注目してお話します。

N予備校Androidアプリの改善でインターン生が取り組んだこと

はじめに 富山大学大学院 修士1年(2022年度現在)の吉川晃太です。 github.com 2022年9月から2023年3月までの7か月間、N予備校 Android向けアプリ改善インターンシップに参加しました。 N予備校とは、2016年にドワンゴからリリースされた、パソコンやスマー…