ドワンゴ教育サービス開発者ブログ

https://blog.nnn.dev/

ドワンゴ教育事業の開発者ブログ

フィード

記事のアイキャッチ画像
株式会社ドワンゴは TSKaigi 2024 をスポンサーしています
はてなブックマークアイコン 21
ドワンゴ教育サービス開発者ブログ
株式会社ドワンゴは2024年5月11日に開催される日本最大級のTypeScriptをテーマとした技術カンファレンス TSKaigi 2024 にプラチナスポンサーとして協賛いたします。 TSKaigi 2024 当日は弊社教育事業エンジニアが複数名参加します。スポンサーブースをいただいていますので、現地で参加される方は是非お気軽にお越しください。 スポンサーブースではN予備校内にあるTypeScriptの教材を触れる他、限定ノベルティもご用意しております! ドワンゴの教育事業とは? 私たちは、未来の「当たり前」の教育をつくるため、生徒・学生や教職員の「学ぶ」「教える」体験の最大化を日々目指して…
3日前
記事のアイキャッチ画像
N予備校のインフラを Amazon EKS に移行した話
はてなブックマークアイコン 75
ドワンゴ教育サービス開発者ブログ
N予備校のインフラを Amazon EKS に移行した話 はじめまして。ドワンゴの教育事業で SRE エンジニアをしている西永です。 N予備校 では Kubernetes を採用しています。 これまでは Control Planes 含めすべての構成要素を自前で構築し運用していましたが、様々な問題が発生してきたことから Amazon EKS に移行をおこないました。 この記事では、Amazon EKS への移行に取り組んだ事例にについて紹介します。 なぜ移行したのか Kubernetes のバージョンが古い これまでの構成では Kubernetes のバージョンアップが考慮されておらず、Kub…
11日前
記事のアイキャッチ画像
ドワンゴの就業型インターンの体験記
ドワンゴ教育サービス開発者ブログ
はじめに 大阪産業大学3年の関佑太です。 2023年12月18日~2024年3月31日の間N予備校のAndroidチームにインターンで参加していました。 私がこのインターンに参加した時のスキルレベルとしては次のような感じです。 個人開発でアプリを作ったことはある テストコードは簡単なものしか書けない アーキテクチャは最近意識し始めた ドワンゴのインターンに参加するのに上記のスキルが必須かというと全くそのような事はなく、後述する開発サポートの時間で分からない事を現場のエンジニアに聞く事ができる時間があるので個人開発でアプリを作ったことがなかったり、テストコードを書いたことがなくても大丈夫だと思い…
1ヶ月前
記事のアイキャッチ画像
Conventional CommitsとCHANGELOGの自動生成でリリースのユーザ影響をわかりやすくした話
ドワンゴ教育サービス開発者ブログ
ドワンゴ教育事業 バックエンドエンジニアのtakuminishです。 現在、私は教材入稿ツールの開発チームに所属しています。 教材入稿ツールは昨年の2023年06月に社内向けに正式リリースされた比較的新しいツールであり、リリース当初はリリースノートに関する運用について検討が進んでいませんでした。 リリースノートは開発メンバーが手動で作成しており、内容も前回リリース後にマージされたPRタイトルとリンクを箇条書きで記載しているだけの簡素なものでした。 また、PRタイトルのフォーマットも存在しなかったため、英語で記載されたタイトルと日本語で記載されたタイトルが混在している、ユーザ影響度がタイトルから…
1ヶ月前
記事のアイキャッチ画像
Ktorm のクラス設計を読み解いて、DSLを拡張する
ドワンゴ教育サービス開発者ブログ
先日Server-Side Kotlin MeetupのLT大会で登壇してきましたので、その内容をブログ記事でも公開します。テーマはKotlin製のORマッパー、Ktormのクラス構造と機能拡張についてです。
2ヶ月前
記事のアイキャッチ画像
N予備校エンジニアインターンシップ体験記🌟
ドワンゴ教育サービス開発者ブログ
初めに 初めまして、「教育学習サービス『N予備校』サーバーサイドエンジニアインターンシップ」に参加した落合大輔です。 私は大学院の修士1年生の秋頃にインターンシップに応募しました。内容はTypeScriptによるバックエンドの開発です。私の場合は期間は4ヶ月程で1週間あたり16時間程のシフトです。 参加をおすすめする人 ドワンゴのインターンシップは下記の様な人にお勧めです。特に「ものづくりが好き」という人にお勧めです。 ものづくりや技術が好きな人 自分の手でコーディングを行い開発がしたい人 チーム開発のノウハウを学びたい人 開発環境 ドワンゴのインターンシップでは各自にPCが支給されます。OS…
2ヶ月前
記事のアイキャッチ画像
@swc/jestで手間をかけずにテストを早くする
ドワンゴ教育サービス開発者ブログ
こんにちは、ドワンゴ教育事業 Web フロントエンドチームの猪井です。 この記事では babel-jest から @swc/jest に移行することで Jest によるテストが速くなった事例について紹介します。 JavaScript のテストツールは、Vitest のバージョンが 1 を迎えたり Bun が登場したりして、よく使われる Jest 以外にもよさそうな選択肢が増えています。業務の手が少し空いたタイミングでそれらについて調査し実際に試してみたところ、最終的に @swc/jest を使用することで既存のテストを大きく書き換えることなく実行時間を短縮できました。 今回試した JavaSc…
2ヶ月前
記事のアイキャッチ画像
iOS版Twitter(X)アプリではツイート内のURLがUniversal linksとして機能しないので、N予備校アプリへの導線を見直した話
ドワンゴ教育サービス開発者ブログ
こんにちは。N 予備校 Webフロントエンド開発チームの中村です。 去年の夏頃、記事タイトルの件に絡んで起きていた問題の対応をしたのでその時の話を書きます。1 なおTwitter社の社名及び同社のサービス名は現在ではXとなっていますが、本文内容の当時はまだTwitterだったためこの記事ではTwitterと表記しています。 何が問題か 以前から開発チームに寄せられていた改善の要望として、「iOSのTwitterアプリ上でN予備校のURLをタップした際にN予備校アプリではなくWebページが開いてしまい、ユーザが目的のページに遷移できない」というものがありました。 iOSにはUniversal l…
3ヶ月前
記事のアイキャッチ画像
ESLintのローカルルールで独自のコーディング規約を実装する
ドワンゴ教育サービス開発者ブログ
オンライン学習サービスN予備校の開発を支えるコーディング規約の考え方に少し触れ、その運用を支えるESLintの活用を紹介します。ESLintのフラットコンフィグで設定を書いていると、プロジェクト固有のルールを扱いやすいことを紹介しています。
4ヶ月前
記事のアイキャッチ画像
レガシーブラウザ向けのビルドオプションを剪定する
ドワンゴ教育サービス開発者ブログ
この記事はドワンゴ Advent Calendar 2023 の 20 日目の記事です。 はじめに こんにちは。今年の 10 月に教育事業本部にフロントエンドエンジニアとして入社したユーンです。 この記事では、 2016 年から新陳代謝を続けている N予備校 Web フロントエンドのコードベースにおいて、 2019 年ぶりにビルドターゲットの設定を見直した話をします。 N予備校 Web フロントが約 8 年近くも新陳代謝を続けてきたあゆみについては、チームの古株である berlysia さんの以下の記事をご覧ください。 blog.nnn.dev はじめに 現状確認と課題設定 具体的な調査の取り…
4ヶ月前
記事のアイキャッチ画像
ドワンゴの「ものづくりが好き」というエンジニア文化の話
ドワンゴ教育サービス開発者ブログ
この記事は ドワンゴ Advent Calendar 2023 の16日目の記事です。 新卒採用イベントで会社説明をする機会があり、その中でもタイトルにもさせてもらっている通り「ものづくりが好き」をはじめとするドワンゴのエンジニア文化などの話をさせてもらいました。 会社説明で利用したスライドの抜粋 特にスライド中にも書いてありますが「とりあえず作ってみる」「不便なものはハックする」「あらゆるものをカスタマイズする」は、会社説明の中でもフォーカスしたかったものの時間の関係で話せなかったため、これまで自身で作成したツールの紹介や利用している技術を紹介できればと思います。 AWSマネジメントコンソー…
4ヶ月前
記事のアイキャッチ画像
バックエンドエンジニアがフロントエンドの開発をすることになった話
ドワンゴ教育サービス開発者ブログ
この記事は ドワンゴ Advent Calendar 2023 の 13 日目の記事です。 自己紹介 こんにちは。バックエンドエンジニアのlenです。 現在私は社内で使用する教材入稿ツールを改修するプロジェクトに参画しており、そこではバックエンドの実装に加え、フロントエンドの実装も携わっています。 ここではなぜフロントエンドの実装をすることになったのか、またそこから得られたことなどを紹介していきます。 フロントエンドの開発をすることになったきっかけ 理由は2つあります。 1つはバックエンドセクション内でフルスタックな人材が求められていたことです。 2021年の時はバックエンドセクションとフロン…
4ヶ月前
記事のアイキャッチ画像
2023 年に行ったN予備校 Android アプリの開発まとめ
ドワンゴ教育サービス開発者ブログ
この記事は ドワンゴ Advent Calendar 2023 の 10 日目の記事です。 N予備校 Android アプリ開発チームでは、2023 年はアプリの実装および内部改善を活発に行い、内容をまとめた記事も例年より多く公開できました。 この記事では 2023 年に行った開発内容を振り返りながら、得られた知見などをあらためてまとめていきます。 新機能の追加・改善 ユーザーがN予備校アプリを使って、さらに学習しやすくするためにいくつかの機能を追加・改善しました。 2023 年のもっとも大きなアプリの変更は、必修レポートの表示の追加です。これは、N/S高等学校に通う生徒が提出するレポートの状…
5ヶ月前
記事のアイキャッチ画像
N予備校とスマホゲームでの品質保証の違いについて
ドワンゴ教育サービス開発者ブログ
1.自己紹介 こんにちは。ドワンゴ教育事業のN予備校 品質保証チーム(以降「品証」)の栗山です。冒頭に簡単ではありますが、自己紹介をさせてください。 2023年3月より勤務しています。前職ではスマホゲームの品証を約5年ほど経験しておりました。 この記事では私がN予備校での品証とスマホゲームでの品証で感じた相違点を紹介したいと思います。 ※前職のゲーム会社での品証に限った内容になります。他のゲーム会社における品証とは異なる場合もあるかと思いますので、ご了承ください。 1.自己紹介 2.一日の業務の流れ N予備校 スマホゲーム 相違点 3.チームの動き方 N予備校 スマホゲーム 相違点 4.リリー…
5ヶ月前
記事のアイキャッチ画像
ドワンゴの25卒新卒採用はじまっています
ドワンゴ教育サービス開発者ブログ
今年もドワンゴの25卒新卒採用がはじまりました。 25卒の方を主なターゲットとしていますが、既卒の方でも一定の条件を満たせば応募可能です。 ニコニコ、教育、DMV(Dwango Media Village)と3つの事業で新卒を募集しています。 saiyo.dwango.co.jp 教育事業でも引き続き新卒を募集しています。 学習サービスN予備校の運営やN高等学校・S高等学校のサポートに加え、ZEN大学(仮称)(設置認可申請中)の開学に向けた開発も進めています。 2023年度は2人の新卒が配属されました(エンジニア職としての採用につき、配属先は入社後の決定となります)。 この記事では新卒の方向け…
6ヶ月前
記事のアイキャッチ画像
遠隔地勤務の働き方
ドワンゴ教育サービス開発者ブログ
はじめに こんにちは。N予備校 品質保証チームの鈴木です。私は遠隔地勤務者として東北地方の福島県に居住しながら、2023年2月よりドワンゴの教育事業本部で勤務しています。この記事では私の遠隔地勤務の体験を通じて感じたことを紹介したいと思います。 はじめに テレワークが遠隔地勤務の可能性を広げる ドワンゴで働きながら地方に住む ドワンゴの勤務形態 遠隔地勤務の日常 遠隔地勤務での品質保証業務 地方の暮らし 遠隔地勤務を実際にやってみて感じたこと メリット デメリット まとめ We are hiring! テレワークが遠隔地勤務の可能性を広げる 私はドワンゴで勤務する前から福島県に居住しており、地…
6ヶ月前
記事のアイキャッチ画像
新卒エンジニアがESLintのFlat Config移行と格闘した話
ドワンゴ教育サービス開発者ブログ
ESLintのFlat Configへの移行は進んでますでしょうか?試してみたでしょうか? 今回はドワンゴの新卒エンジニアが初仕事として取り組んだ、ESLintのFlat Configへの移行に関して「その方法と嵌ったところの乗り越え方」をお伝えします。 この記事で言及すること Flat Configに書き変えるときに見る資料 ESLintのconfigをFlat Configに移行するとき、configs.recommendedなどのプリセットを用いる場合はFlatCompatを使う eslint-plugin-importを使用してると嵌る どうやって新旧configが同じになっていること…
6ヶ月前
記事のアイキャッチ画像
マイクロサービス構成における NestJS での gRPC クライアントの運用戦略
ドワンゴ教育サービス開発者ブログ
はじめに はじめまして、バックエンドセクションの yukimochi です。 現在、N予備校ではバックエンドのアプリケーションの移行計画が進んでいます。 その一環で、一部のマイクロサービス間通信についても REST API + OpenAPI の現状から gRPC へと移行することになりました。 私の参画しているプロジェクトである教材入稿ツールでは TypeScript + NestJS を採用しており、結合している他マイクロサービスとの通信でgRPCを利用する際の gRPC クライアントと、そのスキーマ定義を担う proto の運用戦略、実現方法について記します。 proto ファイルと型定…
6ヶ月前
記事のアイキャッチ画像
Kotlinのsealed型を使って高機能なenum型を実装する
ドワンゴ教育サービス開発者ブログ
Kotlinのsealed型を使って、標準ライブラリの enum class よりも高機能なenum型を実装する方法を紹介します。
7ヶ月前
記事のアイキャッチ画像
TypeScript5.2 で追加された using Declarations and Explicit Resource Management をテストで活用する
ドワンゴ教育サービス開発者ブログ
こんにちは。N予備校 Webフロントエンド開発チームの堀です。 先日 TypeScript@5.2 が正式リリースされました。 TypeScript@5.2 で新しく追加された using Declarations and Explicit Resource Management (using 構文と明示的リソース管理)によって、N予備校のフロントエンドのテストでの本質的でない処理をカプセル化し、コード上のノイズを削減することができました。 この記事では、using 構文の活用方法や利用するまでの手順、調査した using 構文の挙動について紹介します。 N予備校のPCブラウザ向けフロントエン…
7ヶ月前
記事のアイキャッチ画像
DroidKaigi 2023 アプリにコントリビュートしました
ドワンゴ教育サービス開発者ブログ
こんにちは、N予備校 Android アプリ開発チームの @hiraike32 です。 今年も DroidKaigi の開催が近づいてきましたね。開催に先立って DroidKaigi の公式アプリのコードが GitHub で公開されました。 github.com N予備校 Android/iOS アプリ開発チームでも DroidKaigi アプリの開発に貢献すべく、「業務時間を使って 1 日 2 時間まで DroidKaigi アプリの開発をして良い(むしろ推奨)」というルールを設定して開発に取り組みました。 DroidKaigi アプリの開発に関わることで、最新の技術を使用したコードに触れて…
8ヶ月前
記事のアイキャッチ画像
Kotlin sealedタイプによる論理和型の実装: ポリモーフィズム形式と代数的データ型形式
ドワンゴ教育サービス開発者ブログ
Kotlinのsealed typeを使った論理和型の実装方法として、「ポリモーフィズム形式の実装」と「代数的データ型形式の実装」2つのパターンを比較検討します。
8ヶ月前
記事のアイキャッチ画像
株式会社ドワンゴは iOSDC 2023 をスポンサーしています
ドワンゴ教育サービス開発者ブログ
こんにちは、N予備校 iOS アプリ開発チームです。 今年も WWDC 2023 が終わり、iOSDC 2023 の時期ですね! WWDC では新しいプロダクトの Vision Pro はもちろん、Swift だとマクロ、Xcode だと Asset の自動コード生成やローカライズ周りの強化などなど、さまざまなアップデートがあったので、それを受けて iOSDC でどんな発表があるか楽しみです。 N予備校 iOS アプリ開発チームからも、以下のプロポーザルを出させていただきました。 SwiftUIのList以外でのswipeActions実現のためのSwipeableStackの紹介 by yo…
8ヶ月前
記事のアイキャッチ画像
マネージャーが育休を取得するときに気をつけたこと
ドワンゴ教育サービス開発者ブログ
この記事では、マネージャーである私(男)が、育休を取得するときに気をつけたことや取り組んだことについて紹介します。 「いなくても業務を円滑に回す」という大方針を軸に、自分なりに段取りを整えました。 ドワンゴでのマネージャー業務の一例として、育休や長期休暇を取得する際のノウハウの一例として、参考になれば幸いです。 育休は1ヶ月間でした。 より長期の休暇を取得する際にはさらに追加で対応が必要なこともあるかもしれませんが、基本的な考え方は変わらないと思います。 なお、育休を取得する際の社内や行政の手続きおよびそのノウハウについては記載しません。 休暇中に業務を円滑に回すための取り組みにフォーカスして…
9ヶ月前
記事のアイキャッチ画像
Web フロントエンドチームの紹介
ドワンゴ教育サービス開発者ブログ
はじめに こんにちは。N 予備校 Web フロントエンド開発チームの三橋です。 この記事では Web フロントエンドチームについてご紹介します。 メンバー(実施時点 9 名)にカジュアル面談でよくご質問いただく項目を含めたアンケートに協力してもらいました。 チームメンバーの雰囲気を知りたい チームメンバーがどんな働き方をしているか知りたい という方に読んでいただきたい内容になっています。 概要 新卒/中途 中途採用されたメンバーがこの 1~2 年で増えて、現在では新卒採用の方に比べて中途採用の方が多くなりました。 年齢のボリュームゾーン 30 代が 5 名と最多ですが、年齢に関係なく疑問を投げ…
9ヶ月前
記事のアイキャッチ画像
GraphQLのFragment活用テクニック: colocationとmasking
ドワンゴ教育サービス開発者ブログ
GraphQLのFragment活用テクニック: colocationとmasking こんにちは。N 予備校 Webフロントエンド開発チームの中村です。 現在開発中のZEN CompassではGraphQLを採用しました。我々のチームでは(そして私個人としても)GraphQLを採用したのは初めてだったのですが、実際に設計を進めていくうちに色々と知見を得ることができました。今回はその中でも特に重要だと思った、GraphQLのFragmentという仕様を活用したコンポーネント設計のテクニックについてお話ししようと思います。GraphQLを使用したWebアプリケーションに興味がある方にとって何か参…
10ヶ月前
記事のアイキャッチ画像
kotlin-result入門
ドワンゴ教育サービス開発者ブログ
教育事業のバックエンドではサーバーサイドKotlinの導入に取り組んでいます。その際に kotlin-result を利用したエラーハンドリングを導入したので、特長や使い方を紹介します。
10ヶ月前
記事のアイキャッチ画像
「 ZEN大学 (仮称) (設置認可申請中) 」 開学に向けエンジニア募集中!
ドワンゴ教育サービス開発者ブログ
はじめに 株式会社ドワンゴと公益財団法人日本財団は包括提携し、2025年4月に新しいオンラインの大学、ZEN大学 (仮称) (設置構想中) (追記: 2024/04/25現在、設置認可申請中)の開学を目指しています。 ドワンゴ教育事業では、ZEN大学生のオンライン学生生活を便利に、かつ豊かなものにするため、システムを開発中です。 それに伴い、エンジニアも募集中です。 この記事では、ZEN大学がどのような大学か、開学に向けてどのようなことをしていくか、といったことをご紹介します。 大学が開学すると、N中等部、N高等学校・S高等学校、ZEN大学と10年間にわたる教育を提供することになります。 この…
1年前
記事のアイキャッチ画像
N予備校iOSアプリ SwiftPM 移行
ドワンゴ教育サービス開発者ブログ
はじめに SwiftPM 移行の準備 2021/12 〜 2023/02 (平和) 2023/02 中旬 〜 2023/03 上旬 (問題発生と対応) 一体どんな問題が起きていたのか? 調査結果の詳細 XcodeGen 実行時にクラッシュ Bitrise Xcode & OS 変更 SwiftPM 完全移行に向けて アプリクラッシュ おわりに We are hiring! はじめに N予備校 iOS アプリ 開発チームです。 数ヶ月前までの教育iOSアプリでは、パッケージマネージャに CocoaPods(Ruby製) を使用していました。 環境構築の手間や Apple 標準ではないという点で、…
1年前
記事のアイキャッチ画像
初めてのスクラムをやってみての反省点
ドワンゴ教育サービス開発者ブログ
はじめに こんにちは、lenです。 現在自分はバックエンドセクションのメンバーとともにある改善プロジェクトに参画しております。 そのプロジェクトでは、スクラムを用いてプロジェクトを進めていますが、初めてのスクラムだったので困ったことや反省点についてお話していきます。 スクラムについて スクラムをするにあたり、弊社のエンジニア研修での課題図書でもある SCRUM BOOT CAMP THE BOOK(翔泳社) をあらためて読み直しました。 そこでは、スクラムとは以下の特徴があると述べられています。 要求を価値やリスクや必要性を基準にして並べ替えて、その順にプロダクトを作ることで成果を最大化します…
1年前