サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大阪万博
blog.nnn.dev
株式会社ドワンゴは、2025/05/23 (金) - 24 (土) にて開催される日本最大級の TypeScript をテーマとした技術カンファレンス TSKaigi 2025 に、シルバースポンサーとして協賛いたします! 当日は、教育事業本部所属のエンジニアがスポンサーブースにてご対応しますので、現地にお越しの方はぜひお気軽にお立ち寄りください 🙌 スポンサーブースでは、TypeScript や教育事業に関連するアンケートパネルを展示している他、限定ノベルティもご用意しております 🎁 株式会社ドワンゴの "教育事業" とは? 私たちは、未来の「当たり前」の教育をつくるため、生徒・学生や教職員の「学ぶ」「教える」体験の最大化を日々目指しています。 2025/04 に開学した日本発の本格的なオンライン大学「ZEN 大学」や、30,000 名を超え日本最大の生徒数であるネットの高校「N 高
インターンを探している皆様、もしくはインターンを募集している皆様、こんにちは。Webフロントセクションのsokunoです。この記事では、教育事業本部のサービス開発部に長期インターンとして配属されているお二人の学生と「半年間ドワンゴでインターンをやってみてどうだったか」というテーマで対談しましたので、紹介いたします。インターンを探している方は雰囲気を掴むために、インターンを企画する方は運営のヒントに役立てていただけると嬉しいです。ライブ感が強めに仕上がっており、普段のこの開発者ブログの記事とは毛色が違うかもしれませんが、ぜひお付き合いください。 対談者紹介 Seiさん 福家さん sokuno 対談 このインターンはどうやって見つけましたか? ドワンゴに入ってみて キャッチアップと当初の不安 7ヶ月経って成長した実感はありますか? 学業との両立について インターン中の1週間のスケジュール例 勤
導入 ドキュメントとインデックス ドキュメント インデックス アナライザ Tokenizer n-gram 形態素解析 Character Filter Token Filter マッピング フィールド型 文字列 配列 null Multifields 検索クエリ Leaf Query match match_bool_prefix match_phrase multi_match query_string Compound Query Boolean Query あとがき We are hiring! 導入 ZEN Study の新しい教材基盤 (Kotlin) では、現在コンテンツ管理のための全文検索機能の導入中で、AWS OpenSearch Service を利用する予定です。 aws.amazon.com この記事は、OpenSearch導入にあたって各種概念モデルの概要を把握す
開発組織の拡大とともに、プロジェクトの増加に伴うマネジメントの課題が顕在化しています。 その解決策として、プロジェクトマネジメントの標準化やロードマップ管理の制度設計を担う部門PMO(プロジェクトマネジメントオフィス)を立ち上げます。 現在、最初のコアメンバーを募集しています! 教育×開発×PMO 新しい組織づくりに挑戦する仲間を求む! はじめに 私たちは、スマホやPCで多様な授業を受けられる学習システム「ZEN Study」をはじめ、日本最大級のオンライン高校「N高等学校・S高等学校」や、2025年4月に開学する「ZEN大学」など、ネットの時代に適した教育サービスを開発・運営しています。 急成長する事業を支えるため開発組織も急拡大しており、それに伴いプロジェクトマネジメントの重要性も高まっています。 その中で、開発組織全体の最適化を担うPMO(プロジェクトマネジメントオフィス)を立ち上げ
はじめに ドワンゴ教育事業でデータアナリストとして働いている小林です。 ドワンゴ教育事業におけるデータアナリストは企画開発組織の一員としてKPI可視化やレポーティングなどをメイン業務としています。個人的には新たなサービスが生まれる瞬間のお仕事が一番好きで、「何の指標をみていくのか」「どんなデータが流れてくるのか」など少し上流の工程からデータの取り扱いを検討するとともに、既存のダッシュボードをバージョンアップする良い機会にしたり、新たなステークホルダーに対して良いデータ分析の提供を考えたりと、楽しい日々が続きます。 私たちドワンゴ教育事業では大学開学やR高の開校など大きなサービスリリースが予定されていますので、サービス環境の変化を楽しみながらやりがいをポジティブなパワーに変えていきたいと思っています! 課題について(導入に代えて) 昨今、分析対象としてJSON文字列を取り扱うことが増えてきま
本記事は ドワンゴ Advent Calendar 2024 の25日目の記事です🎄 はじめに こんにちは。Webフロントエンドチームの山口です。 この度、鋭意開発しておりました、ZEN大学のWebシラバスを公開しました(以降シラバスと表記)。 公開後、多くのポジティブなご反応を頂いており、大変嬉しい限りです。 さて、本記事ではシラバスの技術面に焦点を当て、全体のアーキテクチャとWebフロントエンドの技術構成についてご紹介します。ぜひお付き合いください。 はじめに シラバスについて アーキテクチャ 技術構成 Next.js(App Router) Panda CSS Radix UI(Primitives) GitHub Actions その他 おわりに We are Hiring シラバスについて syllabus.zen.ac.jp 2025年4月開学の「ZEN大学」の履修科目の概要
こんにちは、ZEN Study 企画チームの井手です。 2024年8月28日に、ドワンゴが提供しているオンライン学習システム「N予備校」は「ZEN Study」に生まれ変わり、ホーム画面を中心に見た目も機能もリニューアルしました! 私は今回そのホーム画面の企画をメインで担当させていただきました。 ここでは、企画・デザインの観点から、なぜ名称を変更したのか、どんなユーザー体験を目指したのか、そこに至るまでの苦労話などができればと思います。 ※フロントエンド開発の視点からの関連記事もあります。 名称変更の背景 N予備校は2016年の誕生時、高校生をメインターゲットにしていました。しかしその後、中高生から一般の大人にまで活用いただけるよう成長してきたため、以前からあらゆる世代の学びに応えられるサービス名称に変えたいという話があったようです。 (自分も入社前の話なので社内の有識者から聞きました)
この記事はドワンゴ Advent Calendar 2024の 1 日目の記事です。 はじめに こんにちは。ZEN IDの開発をしている、エンジニアのユーンです。 株式会社ドワンゴは先日2024年11月16日に開催された日本最大級のTypeScriptをテーマとした技術カンファレンス TSKaigi Kansai 2024 にプラチナスポンサーとして協賛いたしました。 ドワンゴのスポンサーブース 私は個人でセッション「型付き API リクエストを実現するいくつかの手法とその選択」を発表し、OpenAPI を中心とした手法を一例として紹介しました。 speakerdeck.com このセッションで OpenAPI を記述する手段として紹介した TypeSpec について、 ZEN ID での実践例を交えて深く取り上げます。 OpenAPI の手書きに疲れた方、また TypeSpec を使い始
株式会社ドワンゴは2024年11月16日に開催される日本最大級のTypeScriptをテーマとした技術カンファレンス TSKaigi Kansai 2024 にプラチナスポンサーとして協賛いたします。 当日は弊社教育事業エンジニアが複数名参加します。スポンサーブースをいただいていますので、現地で参加される方は是非お気軽にお越しください。 スポンサーブースではZEN Study内にあるTypeScriptの教材を触れる他、限定ノベルティもご用意しております! ドワンゴの教育事業とは? 私たちは、未来の「当たり前」の教育をつくるため、生徒・学生や教職員の「学ぶ」「教える」体験の最大化を日々目指しています。 2025年4月に開学する日本発の本格的なオンライン大学「ZEN大学」や、3万名を超え日本最大の生徒数であるネットの高校「N高等学校・S高等学校・R高等学校(開校準備中)」と連携し、ネットの時
はじめに 初めまして! 2024年8月1日から 2024年10月31日の3ヶ月間、教材基盤開発セクションでインターンシップに参加していた市島功大です。 参加前のスキルレベルは以下のような状態でした。 JavaScript を使ったバックエンド開発を主に行なっていた TypeScript はプリミティブな値・オブジェクトの型等の使いそうな型定義は分かるが、Omit や Partial 等の TypeScript 独自の型定義は分からない状態 NestJS は学習経験があるが、何かしらアプリを作成する等の開発経験はない状態 参加をおすすめしたい人 ドワンゴの教育事業に興味のある方 書いてきたのは JavaScript・TypeScript だけれどバックエンド開発がしたい方 ZEN Study の教材入稿のような裏側のシステムに興味のある方 業務でのチーム開発がどのようなものか知りたい方 教材
導入 実行環境 テーブル定義 レコード作成 テーブルサイズ 検索速度 結論 We are hiring! 導入 みなさん、RDBのテーブル設計はしていますでしょうか。 テーブル設計時の大きな関心事の1つとして、主キー設計があります。 主キー設計では、「自然キー vs サロゲートキー」や「連番 vs 乱数」が主題になることが多いですが、今回はカラムサイズに注目して、主キーのサイズが検索性能に与える影響について調査してみたいと思います。 インデックスを使った検索が高速であることはRDBの常識中の常識ですが、その時もディスクやメモリからインデックスの値を読み取ってCPUを使って比較を行う操作が発生するわけで、値のサイズが小さいことは理屈上ではCPUキャッシュの利用やその他IO処理などにおいて有利に働くはずです。 今回は主キーを指定した単体取得のクエリにおいて、その影響がどの程度なのかを実際に計測
こんにちは、2024年新卒のXeramiyaです。 本記事では4ヶ月間のドワンゴの新卒研修について、研修生の立場からお話しします。 レッツゴー! 全体研修 入社直後の約2週間は、企画・デザイナー・エンジニア職合同での全体研修が行われました。 各事業部や会社の制度の紹介、社会人としての心構えなどを教わります。 また、ドワンゴグループ各社の新卒合同で行われるワークショップでは、数日に渡るグループワークでの実践を通じてビジネスの基礎を学ぶことができました。 アイデアを出し合い、互いに意見しながらプロジェクトを前へと進めた経験は、同期の人柄を知る近道になったと今では感じています。 全体研修は毎日出社で行われました。 遠慮がちな性格の自分としては、たった2週間ほどでしたが、リアルで動き回れたおかげで発言のハードルは明らかに下がりました。 リアルっていいですね、うまい飯も食べられますし。 エンジニア研
はじめに ドワンゴ教育事業でデータサイエンティストとして働いている中井です。 この記事では、PythonのパイプラインパッケージであるLuigiで構築したパイプラインにおいて、それを構成するタスク間の依存関係・タスクのグループ間(task_namespace で分けられる)の依存関係を良い感じに出力する方法についてお話しします。想定する読者はある程度Luigiを使ったことのある方としています。 Luigiではタスク全体の依存関係を出力できますが、大規模なタスクだともう少し荒い粒度であったり、全体のうちの一部だけ見たいといったこともあると思います。この記事を読むことでそのような荒い粒度の可視化やパイプラインの一部分に注目した可視化ができるようになります。この記事ではまずLuigiを使っていて課題に感じている部分について説明した後に、可視化対象のサンプルパイプラインについて少し触れて、そのパイ
みなさま、お疲れ様です!企画開発エンジニア の高瀬 (@Guvalif) です。 "企画開発エンジニア" という職種はあまり耳馴染みがないかもしれませんが、一般的には TechPM:Technical Product Manager として知られるような役割となります。ところで、プロダクトマネージャーってどうやったらなれるのか (なりたいと思えるのか)、どんな人に向くのかって、あまり分からなくないですか? 本記事では、エンジニア・バックグラウンドからプロダクトマネージャーに 未経験転職 をした自身の事例を紐解きながら、再現性のありそうなファクターを探っていきたいと思います 🔍 ◆ この記事の位置付け 前半は ... プロダクトマネジメント職種への、モチベーションに関する考察 後半は ... あまり表に出ないように思える、プロダクトマネージャーへの未経験転職事例 (N=1) 教育事業本部に
こんにちは、ZEN Study Android アプリ開発チームの 飯田 です。 株式会社ドワンゴは DroidKaigi 2024 の SUPPORTER としてスポンサーになりました。 ※「N予備校」は2024年8月末に「ZEN Study」にリニューアルしました DroidKaigi 2024 のスポンサーになりました DroidKaigi はエンジニアが主役の Android カンファレンスで、Android 関連の開発に関わる多くの人々が参加しています。 DroidKaigi 2024 は 2024 年 9 月 11 日 (水) ~ 9 月 13 日(金)の 3 日間に渡って、ベルサール渋谷ガーデンにて開催されます。 弊社では一昨年は以下のような形で協賛を行なってきました。 DroidKaigi 2022:SUPPORTER DroidKaigi を開催される皆様に、少しでもお力
こんにちは。ドワンゴの教育事業でAndroidエンジニアをしている崔です。 開発を担当している「N予備校」が8月28日、「ZEN Study」へと生まれ変わりました!🎉 www.nnn.ed.nico 今回のサービス名称変更において私は、フロントエンド(Web・iOS・Android)対応を取りまとめる役割を担っておりました。 この記事では、その対応内容と今回の経験で得られた知見や感想についてお話したいと思います。 プロジェクトについて 背景 zen-univ.jp 現在、ドワンゴの教育事業では「ZEN大学(仮称、設置認可申請中)」に関連してさまざまなプロジェクトが動いています。 その中でまず、オンライン大学として学習システムをどうするかの検討がなされました。 そこで以前からN高等学校・S高等学校で学習システムとして使っている「N予備校」にZEN大学向けの機能拡充を行いつつ、ブランドに一
はじめに N予備校 iOSアプリ開発チームに所属しているcoffmarkです。 iOSチームではSwiftUIを使って開発を進めています。 SwiftUI導入までの経緯については、ブログ記事(N予備校iOSアプリへ SwiftUI を導入するまでの道のりについて)で説明しています。 SwiftUI導入を進めていく中で、導入後に改善した点がいくつかあります。 今回はその中でもViewState列挙体を使ったSwiftUIの状態管理についてお話しします。 前提 (プロジェクト構成・SwiftUI実装方針のおさらい) N予備校 iOSアプリチームでは以下のような構成でiOSアプリを開発しています。 詳細はブログ記事(iOSチームではリファレンスレポジトリを運用しています)をご覧ください。 大まかな概要としては下記の通りのプロジェクト構成・SwiftUI実装方針です。 プロジェクト構成 RxSwi
こんにちは。N予備校 iOSチームです。 まず初めに、N予備校アプリのZEN Studyへのリニューアルが当初予定より遅れていることについて、心よりお詫び申し上げます。皆様のご期待に沿えるよう努めておりますので、今しばらくお待ちいただければ幸いです。 学習システム「ZEN Study」 App Store「 N予備校アプリ」 さて、近日中にN予備校アプリをZEN Studyとしてリリースする予定ですが、このアプリ名の変更に伴い、ユーザビリティ、特にアプリライブラリでの検索性について課題が浮上しました。ユーザーがアプリを探す際、アプリライブラリの検索機能を利用することもあるでしょう。しかし、アプリ名が変更された場合、従来の名称で検索できなくなる可能性があります。 そこで今回は、アプリリリースに先立ち、iOS上のアプリライブラリの検索アルゴリズムについて調査し、TestFlightを使用した際
はじめに ドワンゴ教育事業でデータアナリストとして働いている小林です。 一般的にデータアナリストはデータの収集・分析を通して組織の意思決定を支援する役割を期待されることが多く、ドワンゴ教育事業における私のミッションもKPI動向の可視化やダッシュボード / レポートの作成・提供を通してデータドリブンな組織に貢献するところにあります。 私たち教育事業には施策を実行する企画者やビジネス上の意思決定者だけでなく、サービスを活用して教育の現場に立っている方々、サービスに展開している教材を制作しているチームなど多様な方面からデータ収集・分析の需要があります。それだけにやりがいも大きく楽しい日々を過ごしています。 課題について(導入に代えて) クエリを書いて、結果を分析して、資料にまとめて、展開して、共有して・・・みたいな仕事をしているとSQLで抽出した縦持ちのデータを横持ちに作り変えたいことがよくあり
はじめに こんにちは。Webフロントエンドチームの山口です。 この記事では、N予備校の規約類を microCMS で管理して、運用を改善した取り組みについてご紹介します。早速ですが、前置きは抜きにして本題に入りたいと思います。ぜひお付き合いください! 背景、前提 N予備校では、基本的な 利用規約 の他、定期的に開催されるキャンペーンの応募規約など、様々な規約を公開しています。 中野信子講座での著書プレゼント企画 受講者参加型お悩み相談企画 総数は年々少しずつ増加しており、記事の執筆時点で23件もの規約が存在します。これらは全てプロダクトのコードベースにハードコードされており、開発チームが社内のステークホルダーから変更依頼を受け付ける形で管理されていました。 新しく規約を追加することもあれば、既存の規約に変更を加えることもあります。開発チームは依頼元と必要なコミュニケーションを取りながら対応
はじめに grpc-kotlin の実装に必要な要素 リクエスト・レスポンスクラス サービスクラス サーバークラス 普通に実装したときの不満点 不満1: 異なる関心事の混在 不満2: 共通処理 不満3: エラーハンドリング インターフェースを定義する validateAndConvertRequest process convertResponse エラーハンドリング おわりに We are hiring! & Kotlin Fest出展のお知らせ はじめに 過去にも何度か紹介しておりますが、現在開発中の新しい教材システムでは新たにgRPC通信によるKotlinサーバーを採用して開発が進められています。 blog.nnn.dev そして、技術選定の方針としてWebアプリケーションフレームワークはなるべくシンプルで薄くすることを決めたので、Spring Boot のような別フレームワークを介
はじめに こんにちは。ドワンゴ教育事業バックエンドエンジニアの金子です。 Okta Customer Identity Cloud(旧 Auth0。以下 Okta CIC)の新機能「Forms for Actions」(以下 Forms)がEarly Accessになりました。本番環境での使用も想定されているステージです。 教育事業での採用も見据えて、どんな機能なのか調べてみたので内容を紹介します。 Forms for Actionsとは Okta CICの認証フローをカスタマイズできる機能です。 ログイン成功時のActions1内でFormを呼び出し、ユーザーへ表示できます。 例えば下記のようなユースケースが想定されています。 プログレッシブプロファイリング 規約への同意の取得 サインアップ・ログインフローの追加ステップ メールアドレス検証の必須化 決済情報の入力 など 何がうれしいのか
こんにちは、バックエンドエンジニアの日下です。 CSV から JSON へ変換するスクリプトを、TypeScript で実装する機会がありました。 今回は、CSV のデータのバリデーションに Zod を使った話をします。 スクリプトの目的 システム間のデータ連携が目的です。 連携元のシステムから CSV 出力されたデータを、連携先のシステムで利用する JSON へ変換します。 また、JSON への変換以外にも以下の要件があります。 CSV のデータをバリデーションする 連携先のシステムで利用できるデータであることを保証するために、バリデーションを実行します。 バリデーション失敗時に、日本語のエラーメッセージを表示する スクリプトの実行は業務担当のエンドユーザーが行うため、日本語のエラーメッセージを表示します。 CSV の読み込み 元データとなる CSV の読み込みは、csv-parse を
バックエンドエンジニアの松尾です。 2024 年 5 月 11 日に開催された日本最大級の TypeScript をテーマとした技術カンファレンス TSKaigi 2024 に参加しました。 本記事では弊社からの登壇内容やスポンサーブースの様子をお伝えします。 登壇内容まとめ 弊社からは下記の LT で 2 名のエンジニアが登壇しました。 TypeScript で使いやすい OpenAPI の書き方 speakerdeck.com yukimochi さんからは OpenAPI の書き方について紹介しました。 変更に強く、ドメインモデルを正確に表現する書き方にすることで、TypeScript で使いやすいコードを生成できるとのことでした。 筆者は最近 OpenAPI spec を書くことは無いのですが、Union を用いた定義は非常に同意するところであり、今後の開発で活用していきたいと思い
はじめに こんにちは。ドワンゴ教育事業でエンジニアをしているユーンです。 N予備校アプリケーションやその他複数のプロジェクトで pnpm を採用しました。pnpm とは何か、npm とどう違うのかというのを node_modules の構造を追いながら理解しつつ、教育事業での採用した結果についてお話します。 pnpm とは pnpm とは、npm や yarn とレイヤーを同じくするパッケージマネージャであり、サードパーティのものです。 pnpm.io pnpm は他のツールと比較して高速でありディスク効率が良いと謳っています。 その pnpm の最大の特徴は、 node_modules の構造にあります。 例えば npm では v3 からフラットな node_modules を使うようになっております。yarn もデフォルトでは同様にフラットな node_modules を提供しています
株式会社ドワンゴは2024年5月11日に開催される日本最大級のTypeScriptをテーマとした技術カンファレンス TSKaigi 2024 にプラチナスポンサーとして協賛いたします。 TSKaigi 2024 当日は弊社教育事業エンジニアが複数名参加します。スポンサーブースをいただいていますので、現地で参加される方は是非お気軽にお越しください。 スポンサーブースではN予備校内にあるTypeScriptの教材を触れる他、限定ノベルティもご用意しております! ドワンゴの教育事業とは? 私たちは、未来の「当たり前」の教育をつくるため、生徒・学生や教職員の「学ぶ」「教える」体験の最大化を日々目指しています。 日本発の本格的なオンライン大学「ZEN大学(仮称)(設置認可申請中)」や、2万名を超え日本最大の生徒数であるネットの高校「N高等学校・S高等学校」と連携し、ネットの時代に合わせた教育関連のサ
N予備校のインフラを Amazon EKS に移行した話 はじめまして。ドワンゴの教育事業で SRE エンジニアをしている西永です。 N予備校 では Kubernetes を採用しています。 これまでは Control Planes 含めすべての構成要素を自前で構築し運用していましたが、様々な問題が発生してきたことから Amazon EKS に移行をおこないました。 この記事では、Amazon EKS への移行に取り組んだ事例にについて紹介します。 なぜ移行したのか Kubernetes のバージョンが古い これまでの構成では Kubernetes のバージョンアップが考慮されておらず、Kubernetes を利用した N予備校の提供開始以降バージョンアップができていない状態でした。 そのためバージョン 1.7 を利用し続けていました。 バージョン 1.7 は 2017 年にリリースされ、
ドワンゴ教育事業 バックエンドエンジニアのtakuminishです。 現在、私は教材入稿ツールの開発チームに所属しています。 教材入稿ツールは昨年の2023年06月に社内向けに正式リリースされた比較的新しいツールであり、リリース当初はリリースノートに関する運用について検討が進んでいませんでした。 リリースノートは開発メンバーが手動で作成しており、内容も前回リリース後にマージされたPRタイトルとリンクを箇条書きで記載しているだけの簡素なものでした。 また、PRタイトルのフォーマットも存在しなかったため、英語で記載されたタイトルと日本語で記載されたタイトルが混在している、ユーザ影響度がタイトルからわからないといった問題もありました。 そこで、教材入稿ツール開発チームではリリースノートの運用として、Conventional Commitsを導入するとともに、conventional-change
はじめに 先日Server-Side Kotlin MeetupのLT大会で登壇してきましたので、その内容をブログ記事でも公開します。 テーマはKotlin製のORマッパー、Ktormのクラス構造と機能拡張についてです。 Ktormの紹介 ktorm.org Ktormは、いくつかあるJDBCベースのKotlin製ORマッパーのうちの1つです。 それらの中でもっともメジャーと思われるExposedと比較すると、次のような特長があります。 シンプルな実行モデル 遅延実行やキャッシュなどの仕組みを持たないので、コードを読んで理解しやすく、SQLの実行タイミング等も把握しやすいです。 生SQLに近いDSL select() で検索条件を指定し slice() でカラムを指定する形式のExposedのDSL 1 に比べて、生SQLに近い文法を採用しており、SQLに習熟していれば少ない認知コストで読
次のページ
このページを最初にブックマークしてみませんか?
『ドワンゴ教育サービス開発者ブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く