新卒エンジニアが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大学 (仮称) (設置構想中) (追記: 2024/04/25現在、設置認可申請中)の開学を目指しています。 ドワンゴ教育事業では、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年にドワンゴからリリースされた、パソコンやスマー…

N予備校バックエンドでサーバーサイドKotlin移行を始めました

現在、N予備校バックエンドチームでは、現行のRails製アプリケーションからKotlin製の新アプリケーションへ一部移行する計画を始めましたので、概要を説明します

開発者ブログ運営2年目の取り組み

この開発者ブログの運営体制を作ってから2年が経ちました。 2年目には開発者ブログの運営・執筆体制を固めるような施策をいくつか実施しました。 それら施策と、2年目に得られた成果について紹介します。 1年目の取り組みは以前の記事で紹介しています。 基…

Androidアプリエンジニアから見たiOSアプリ開発

Androidアプリ開発からiOSアプリ開発に移った時に筆者が特に違いを感じた点をまとめました。

N予備校の就業型インターンシップに参加してきました!

はじめに 動機 インターンシップ参加までの流れ 期間 就業環境 開発環境 業務内容 メインのタスクへの準備 メインのタスク「未送信解答救済機能の追加」 最後に はじめに 修士1年 (インターンシップ参加当時) の杉水俊輝です。 2022年の10月から12月までの3…

Android アプリをマルチモジュールにしたときのCI環境を整える

この記事は ドワンゴ Advent Calendar 2022 の 21 日目の記事です。 N予備校 Android アプリでは、コードの依存関係を明確にして、ビルドの速度を向上させるためにマルチモジュール構成を採用しています。マルチモジュールを導入した経緯やモジュール構成に…

N予備校で利用しているAWS CodeBuildについて

この記事は、ドワンゴ Advent Calendar 2022の8日目の記事です。 N予備校では、過去の記事でも触れた通りAWS CodeBuildを日常に利用しています。 この記事では、導入した経緯や実際の利用例などについてご紹介できればと思います。 AWS CodeBuildを導入した…

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

2022年度のドワンゴ新卒採用がはじまりました。 ニコニコ、教育、DMV(Dwango Media Village)と3つの事業で新卒を募集しています。 saiyo.dwango.co.jp 教育事業でも引き続き新卒を募集しています。 2022年度は3人の新卒が配属されました(年度によって配属…

研修で初めてRuby on Railsを触って学んだこと

配属研修で初めてRuby on Railsを触って、JavaScriptで開発した時との違いに関する感想と課題を取り組みながら学んだことについての記事です。

N予備校iOSアプリへ SwiftUI を導入するまでの道のりについて

iOS

SwiftUI 導入を実現する為にどのようなことを検討・実践してきたのかをご紹介します。

株式会社ドワンゴはDroidKaigi 2022のスポンサーになりました

こんにちは、N予備校 Android アプリ開発チームの @hiraike32 です。 株式会社ドワンゴは DroidKaigi 2022 の SUPPORTER としてスポンサーになりました。 droidkaigi2022 DroidKaigi はエンジニアが主役の Android カンファレンスで、Android 関連の開発に関…

技術ブログに CI を導入する

技術ブログで公開する記事の品質を安定させ、効率的に執筆できるよう、 CI の導入に着手しました。 技術ブログを継続的に運営する中で、多くのメンバーが執筆に参加しています。 多様な視点の記事を公開できる一方で、技術ブログ全体として一定の品質を担保…

品証チームに参画後の半年間で取り組んだこと

N予備校品質保証チームが立ち上がってから1年半で、プロダクト/プロセス品質向上の観点で取り組んだ改善活動をご紹介します。

N予備校開発でのRSpecの書き方指針

可読性や修正容易性の高いテストコードを書き方について、言語によらない一般的な考え方とチームで利用しているRSpec機能関連の利用方針の2つの観点から、チーム内に向けての文章を書きました。 今回は、それに対してサンプルコードの追加などの増補改訂した…

N予備校のバーチャル学習体験の全体像

はじめに この記事では、 N予備校で提供している VR 教材を利用した バーチャル学習について、体験のポイント、及びそれを実現するシステム構成と開発の工夫点をお伝えします。 全体を通して、 VR 教材を利用し始めるまでのサポートと、マルチデバイスで VR …