hmiyadoのブックマーク (190)

  • DroidKaigi 2024 のスポンサーになりました - ドワンゴ教育サービス開発者ブログ

    こんにちは、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 を開催される皆様に、少しでもお力

    DroidKaigi 2024 のスポンサーになりました - ドワンゴ教育サービス開発者ブログ
    hmiyado
    hmiyado 2024/09/05
  • 「N予備校」を「ZEN Study」に変えてみた件 〜 サービス名称変更の経験 - ドワンゴ教育サービス開発者ブログ

    こんにちは。ドワンゴの教育事業でAndroidエンジニアをしている崔です。 開発を担当している「N予備校」が8月28日、「ZEN Study」へと生まれ変わりました!🎉 www.nnn.ed.nico 今回のサービス名称変更において私は、フロントエンド(Web・iOS・Android)対応を取りまとめる役割を担っておりました。 この記事では、その対応内容と今回の経験で得られた知見や感想についてお話したいと思います。 プロジェクトについて 背景 zen-univ.jp 現在、ドワンゴの教育事業では「ZEN大学(仮称、設置認可申請中)」に関連してさまざまなプロジェクトが動いています。 その中でまず、オンライン大学として学習システムをどうするかの検討がなされました。 そこで以前からN高等学校・S高等学校で学習システムとして使っている「N予備校」にZEN大学向けの機能拡充を行いつつ、ブランドに一

    「N予備校」を「ZEN Study」に変えてみた件 〜 サービス名称変更の経験 - ドワンゴ教育サービス開発者ブログ
    hmiyado
    hmiyado 2024/08/30
  • N予備校 iOSアプリのViewState列挙体を使ったSwiftUIの状態管理 - ドワンゴ教育サービス開発者ブログ

    はじめに N予備校 iOSアプリ開発チームに所属しているcoffmarkです。 iOSチームではSwiftUIを使って開発を進めています。 SwiftUI導入までの経緯については、ブログ記事(N予備校iOSアプリへ SwiftUI を導入するまでの道のりについて)で説明しています。 SwiftUI導入を進めていく中で、導入後に改善した点がいくつかあります。 今回はその中でもViewState列挙体を使ったSwiftUIの状態管理についてお話しします。 前提 (プロジェクト構成・SwiftUI実装方針のおさらい) N予備校 iOSアプリチームでは以下のような構成でiOSアプリを開発しています。 詳細はブログ記事(iOSチームではリファレンスレポジトリを運用しています)をご覧ください。 大まかな概要としては下記の通りのプロジェクト構成・SwiftUI実装方針です。 プロジェクト構成 RxSwi

    N予備校 iOSアプリのViewState列挙体を使ったSwiftUIの状態管理 - ドワンゴ教育サービス開発者ブログ
    hmiyado
    hmiyado 2024/07/31
    SwiftUIでの状態管理の際に、画面の状態を管理する列挙体を使うと見通しが良くなるという話です
  • ドキュメンテーションを文化にする〜コミュニケーションの「ハブ」作りに取り組んだ4年間~ - MonotaRO Tech Blog

    はじめに こんにちは。プラットフォームエンジニアリング部門の池田(@progrhyme)です。 この記事では、モノタロウのテック系の部門で筆者が取り組んできた「ドキュメンテーションプロジェクト」について、下の目次の流れに沿って紹介していきます。 【目次】 はじめに 「ドキュメンテーションプロジェクト」とは プロジェクト発足の背景 ねらい(まとめ) 何をやったか ドキュメンテーションの促進 Confluence → Googleドキュメントへの移行 その結果どうだったか 上手く行ったこと 上手く行かなかったこと まとめ 「ドキュメンテーションプロジェクト」とは 初めに、プロジェクトの概要について簡単に説明します。 このプロジェクトのミッション(=目標)は主に以下の2つです。 ドキュメンテーションを通してプロジェクト内外のコミュニケーションを効率化し、業務プロセスの効率を上げる 社内のドキュメ

    ドキュメンテーションを文化にする〜コミュニケーションの「ハブ」作りに取り組んだ4年間~ - MonotaRO Tech Blog
    hmiyado
    hmiyado 2024/07/31
  • iOSのアプリライブラリとTestFlight - ドワンゴ教育サービス開発者ブログ

    こんにちは。N予備校 iOSチームです。 まず初めに、N予備校アプリのZEN Studyへのリニューアルが当初予定より遅れていることについて、心よりお詫び申し上げます。皆様のご期待に沿えるよう努めておりますので、今しばらくお待ちいただければ幸いです。 学習システム「ZEN Study」 App Store「 N予備校アプリ」 さて、近日中にN予備校アプリをZEN Studyとしてリリースする予定ですが、このアプリ名の変更に伴い、ユーザビリティ、特にアプリライブラリでの検索性について課題が浮上しました。ユーザーがアプリを探す際、アプリライブラリの検索機能を利用することもあるでしょう。しかし、アプリ名が変更された場合、従来の名称で検索できなくなる可能性があります。 そこで今回は、アプリリリースに先立ち、iOS上のアプリライブラリの検索アルゴリズムについて調査し、TestFlightを使用した際

    iOSのアプリライブラリとTestFlight - ドワンゴ教育サービス開発者ブログ
    hmiyado
    hmiyado 2024/07/30
    アプリのリニューアルにあたり、アプリライブラリ上で新旧のアプリ名称がどのような検索クエリでヒットするか調査をまとめた記事です
  • ニコニコ動画 iOS アプリでの Xcode Cloud の活用 - dwango on GitHub

    はじめに こんにちは。ニコニコ開発部で ニコニコ動画 iOS アプリ を開発している兎澤です。 ニコニコ動画 iOS アプリでは2023年末より Jenkins から Xcode Cloud への移行を開始し、現在は完了しています。今回は、この移行をどのように進めていったのか?移行した結果どうだったか?について紹介します。 iOSDC 2024 のチャレンジトークンが記事内に 1つ 含まれています。ぜひ探してみてください! (※ 記事の見出しの横についている「#」はチャレンジトークンではありません。チャレンジトークンは文中に配置されています。) 課題 ニコニコ動画 iOS アプリの従来の CI/CD サービスは以下のような状況でした。 Jenkins を利用 社内クラウド上のマシンを Controller とする 社内ネットワークに接続された複数台の Mac mini を Agent とす

    ニコニコ動画 iOS アプリでの Xcode Cloud の活用 - dwango on GitHub
    hmiyado
    hmiyado 2024/07/29
  • BigQuery縦持ちデータを動的に横持ちデータにする方法 - ドワンゴ教育サービス開発者ブログ

    はじめに ドワンゴ教育事業でデータアナリストとして働いている小林です。 一般的にデータアナリストはデータの収集・分析を通して組織の意思決定を支援する役割を期待されることが多く、ドワンゴ教育事業における私のミッションもKPI動向の可視化やダッシュボード / レポートの作成・提供を通してデータドリブンな組織に貢献するところにあります。 私たち教育事業には施策を実行する企画者やビジネス上の意思決定者だけでなく、サービスを活用して教育の現場に立っている方々、サービスに展開している教材を制作しているチームなど多様な方面からデータ収集・分析の需要があります。それだけにやりがいも大きく楽しい日々を過ごしています。 課題について(導入に代えて) クエリを書いて、結果を分析して、資料にまとめて、展開して、共有して・・・みたいな仕事をしているとSQLで抽出した縦持ちのデータを横持ちに作り変えたいことがよくあり

    BigQuery縦持ちデータを動的に横持ちデータにする方法 - ドワンゴ教育サービス開発者ブログ
    hmiyado
    hmiyado 2024/07/17
  • N予備校の規約類を microCMS で管理して、運用を改善した取り組み - ドワンゴ教育サービス開発者ブログ

    はじめに こんにちは。Webフロントエンドチームの山口です。 この記事では、N予備校の規約類を microCMS で管理して、運用を改善した取り組みについてご紹介します。早速ですが、前置きは抜きにして題に入りたいと思います。ぜひお付き合いください! 背景、前提 N予備校では、基的な 利用規約 の他、定期的に開催されるキャンペーンの応募規約など、様々な規約を公開しています。 中野信子講座での著書プレゼント企画 受講者参加型お悩み相談企画 総数は年々少しずつ増加しており、記事の執筆時点で23件もの規約が存在します。これらは全てプロダクトのコードベースにハードコードされており、開発チームが社内のステークホルダーから変更依頼を受け付ける形で管理されていました。 新しく規約を追加することもあれば、既存の規約に変更を加えることもあります。開発チームは依頼元と必要なコミュニケーションを取りながら対応

    N予備校の規約類を microCMS で管理して、運用を改善した取り組み - ドワンゴ教育サービス開発者ブログ
    hmiyado
    hmiyado 2024/06/26
  • grpc-kotlinの実装をinterfaceの定義によってテンプレート化する - ドワンゴ教育サービス開発者ブログ

    はじめに grpc-kotlin の実装に必要な要素 リクエスト・レスポンスクラス サービスクラス サーバークラス 普通に実装したときの不満点 不満1: 異なる関心事の混在 不満2: 共通処理 不満3: エラーハンドリング インターフェースを定義する validateAndConvertRequest process convertResponse エラーハンドリング おわりに We are hiring! & Kotlin Fest出展のお知らせ はじめに 過去にも何度か紹介しておりますが、現在開発中の新しい教材システムでは新たにgRPC通信によるKotlinサーバーを採用して開発が進められています。 blog.nnn.dev そして、技術選定の方針としてWebアプリケーションフレームワークはなるべくシンプルで薄くすることを決めたので、Spring Boot のような別フレームワークを介

    grpc-kotlinの実装をinterfaceの定義によってテンプレート化する - ドワンゴ教育サービス開発者ブログ
    hmiyado
    hmiyado 2024/06/19
  • Okta Customer Identity Cloud(旧 Auth0)のForms for ActionsがEAになったよ - ドワンゴ教育サービス開発者ブログ

    はじめに こんにちは。ドワンゴ教育事業バックエンドエンジニアの金子です。 Okta Customer Identity Cloud(旧 Auth0。以下 Okta CIC)の新機能「Forms for Actions」(以下 Forms)がEarly Accessになりました。番環境での使用も想定されているステージです。 教育事業での採用も見据えて、どんな機能なのか調べてみたので内容を紹介します。 Forms for Actionsとは Okta CICの認証フローをカスタマイズできる機能です。 ログイン成功時のActions1内でFormを呼び出し、ユーザーへ表示できます。 例えば下記のようなユースケースが想定されています。 プログレッシブプロファイリング 規約への同意の取得 サインアップ・ログインフローの追加ステップ メールアドレス検証の必須化 決済情報の入力 など 何がうれしいのか

    Okta Customer Identity Cloud(旧 Auth0)のForms for ActionsがEAになったよ - ドワンゴ教育サービス開発者ブログ
    hmiyado
    hmiyado 2024/06/07
  • Zod を使って CSV からの入力データをバリデーションする - ドワンゴ教育サービス開発者ブログ

    こんにちは、バックエンドエンジニアの日下です。 CSV から JSON へ変換するスクリプトを、TypeScript で実装する機会がありました。 今回は、CSV のデータのバリデーションに Zod を使った話をします。 スクリプトの目的 システム間のデータ連携が目的です。 連携元のシステムから CSV 出力されたデータを、連携先のシステムで利用する JSON へ変換します。 また、JSON への変換以外にも以下の要件があります。 CSV のデータをバリデーションする 連携先のシステムで利用できるデータであることを保証するために、バリデーションを実行します。 バリデーション失敗時に、日語のエラーメッセージを表示する スクリプトの実行は業務担当のエンドユーザーが行うため、日語のエラーメッセージを表示します。 CSV の読み込み 元データとなる CSV の読み込みは、csv-parse を

    Zod を使って CSV からの入力データをバリデーションする - ドワンゴ教育サービス開発者ブログ
    hmiyado
    hmiyado 2024/05/22
    Zod でCSVパースだけでなく、関連ツールも利用することでエンドユーザー向けの日本語エラーメッセージもシュッと出せるのは良いですね 👍
  • TSKaigi 2024 参加レポート - ドワンゴ教育サービス開発者ブログ

    バックエンドエンジニアの松尾です。 2024 年 5 月 11 日に開催された日最大級の TypeScript をテーマとした技術カンファレンス TSKaigi 2024 に参加しました。 記事では弊社からの登壇内容やスポンサーブースの様子をお伝えします。 登壇内容まとめ 弊社からは下記の LT で 2 名のエンジニアが登壇しました。 TypeScript で使いやすい OpenAPI の書き方 speakerdeck.com yukimochi さんからは OpenAPI の書き方について紹介しました。 変更に強く、ドメインモデルを正確に表現する書き方にすることで、TypeScript で使いやすいコードを生成できるとのことでした。 筆者は最近 OpenAPI spec を書くことは無いのですが、Union を用いた定義は非常に同意するところであり、今後の開発で活用していきたいと思い

    TSKaigi 2024 参加レポート - ドワンゴ教育サービス開発者ブログ
    hmiyado
    hmiyado 2024/05/17
  • プロダクトマネジメントクライテリア

    プロダクトマネジメントを体系化したクライテリアです。企業がプロダクトを成功に導くために必要な要素を多角的かつ具体的に記載してあります。対象はプロダクトマネージャー個人ではなくプロダクトを取り巻くチームとし、プロダクトマネジメント全体をスコープにしています。 🎉 プロダクトの成功 プロダクトの成功には2つの要素があります。 ユーザー価値と事業収益がバランスを取りながら最大化している状態ビジョンが実現できている状態この2つを満たしたプロダクトの成功を実現するプロダクトマネジメントについて定義します。 🔄 プロダクトマネジメントのフロー 👆🏻2つのテーマ、5つのカテゴリプロダクトマネジメントには大きく2つのテーマがあります。 🎁 A. プロダクトをつくる仕事 👩‍👩‍👧‍👧 B. プロダクトチームをつくる仕事 そして、「🎁 A. プロダクトをつくる仕事」には大きく4つのカテゴ

    プロダクトマネジメントクライテリア
    hmiyado
    hmiyado 2024/05/12
  • pnpm の node_modules を探検して理解しよう - ドワンゴ教育サービス開発者ブログ

    はじめに こんにちは。ドワンゴ教育事業でエンジニアをしているユーンです。 N予備校アプリケーションやその他複数のプロジェクトで pnpm を採用しました。pnpm とは何か、npm とどう違うのかというのを node_modules の構造を追いながら理解しつつ、教育事業での採用した結果についてお話します。 pnpm とは pnpm とは、npm や yarn とレイヤーを同じくするパッケージマネージャであり、サードパーティのものです。 pnpm.io pnpm は他のツールと比較して高速でありディスク効率が良いと謳っています。 その pnpm の最大の特徴は、 node_modules の構造にあります。 例えば npm では v3 からフラットな node_modules を使うようになっております。yarn もデフォルトでは同様にフラットな node_modules を提供しています

    pnpm の node_modules を探検して理解しよう - ドワンゴ教育サービス開発者ブログ
    hmiyado
    hmiyado 2024/05/10
    yarn v3→pnpmで "CI ではキャッシュは使っていませんが...約 20 分かかっていたところが約 14 分に、 CD では cache がうまく効くことによって 7 分から 1 分へ、短縮ができました。" とのことでうれしいですね 👍
  • Eraser – AI co-pilot for technical design

    🎉 Announcing AI reference library, bring your building blocks.

    Eraser – AI co-pilot for technical design
  • 組織に“できたてホヤホヤの暗黙知”をシェアする仕組みをどうつくるか?子どもの「逆上がり」習得過程を見て気づいたこと|安斎勇樹

    組織に“できたてホヤホヤの暗黙知”をシェアする仕組みをどうつくるか?子どもの「逆上がり」習得過程を見て気づいたこと 今日は「子どもの日」ということで、個人的な話になりますが、先日、5歳の娘が「逆上がり」を習得しました。 一人の親として感動を覚える瞬間だったことはもちろん、習得のプロセスがまさにヴィゴツキーの言う「ZPD(Zone of Proximal Development、最近接発達領域)」そのもので、親としても、研究者としても非常に感激してしまいました。 そこで記事では、「娘の『逆上がり』習得」というきわめて身近なエピソードを通じて私が感じた、ナレッジマネジメントにおける「できたてホヤホヤの暗黙知」の重要性と、「ZPD」を学びにつなげるためのポイントについて、書いてみたいと思います。 ある日の公園での「驚き」の出来事ある日、保育園の帰り道に寄った公園にて。5歳になったばかりの娘が、

    組織に“できたてホヤホヤの暗黙知”をシェアする仕組みをどうつくるか?子どもの「逆上がり」習得過程を見て気づいたこと|安斎勇樹
    hmiyado
    hmiyado 2024/05/05
  • ヘッダー(グローバルナビゲーション)のデザイン事例100選|akane

    こんにちは!株式会社Rabeeのデザイナーのakaneです🐏 今回は、ヘッダー(グローバルナビゲーション)のデザイン事例を調べてみました!パターンごとに分類しながら紹介していくので、どうぞ最後までお楽しみください✍ はじめに:グローバルナビゲーションとは?グローバルナビゲーションとは、Webサイトの全ページに共通して表示される「主要なコンテンツへの案内リンク」です。 一般的には画面上部のヘッダーに設置されることが多く、ユーザーが「今、どこにいるのか?」「目的のページはどこか?」と迷わないように誘導する大切な役割があります。 どんなサイトを作るときもほとんど必須のパーツですが、わたしは気付けばいつも似たようなレイアウトを使いがち…。そこで今回は、グローバルナビゲーションのデザインを100事例見比べて分類してみます🔍 ・ ・ ・ 1. スタンダード型まずは、一般的に「ヘッダー」の言葉で想像

    ヘッダー(グローバルナビゲーション)のデザイン事例100選|akane
    hmiyado
    hmiyado 2024/04/26
  • 株式会社ドワンゴは TSKaigi 2024 をスポンサーしています - ドワンゴ教育サービス開発者ブログ

    株式会社ドワンゴは2024年5月11日に開催される日最大級のTypeScriptをテーマとした技術カンファレンス TSKaigi 2024 にプラチナスポンサーとして協賛いたします。 TSKaigi 2024 当日は弊社教育事業エンジニアが複数名参加します。スポンサーブースをいただいていますので、現地で参加される方は是非お気軽にお越しください。 スポンサーブースではN予備校内にあるTypeScriptの教材を触れる他、限定ノベルティもご用意しております! ドワンゴの教育事業とは? 私たちは、未来の「当たり前」の教育をつくるため、生徒・学生や教職員の「学ぶ」「教える」体験の最大化を日々目指しています。 日発の格的なオンライン大学「ZEN大学(仮称)(設置認可申請中)」や、2万名を超え日最大の生徒数であるネットの高校「N高等学校・S高等学校」と連携し、ネットの時代に合わせた教育関連のサ

    株式会社ドワンゴは TSKaigi 2024 をスポンサーしています - ドワンゴ教育サービス開発者ブログ
    hmiyado
    hmiyado 2024/04/25
  • N予備校のインフラを Amazon EKS に移行した話 - ドワンゴ教育サービス開発者ブログ

    N予備校のインフラを Amazon EKS に移行した話 はじめまして。ドワンゴの教育事業で SRE エンジニアをしている西永です。 N予備校 では Kubernetes を採用しています。 これまでは Control Planes 含めすべての構成要素を自前で構築し運用していましたが、様々な問題が発生してきたことから Amazon EKS に移行をおこないました。 この記事では、Amazon EKS への移行に取り組んだ事例にについて紹介します。 なぜ移行したのか Kubernetes のバージョンが古い これまでの構成では Kubernetes のバージョンアップが考慮されておらず、Kubernetes を利用した N予備校の提供開始以降バージョンアップができていない状態でした。 そのためバージョン 1.7 を利用し続けていました。 バージョン 1.7 は 2017 年にリリースされ、

    N予備校のインフラを Amazon EKS に移行した話 - ドワンゴ教育サービス開発者ブログ
    hmiyado
    hmiyado 2024/04/17
    7年ものの自前運用 Kubernetes 環境が EKS に移りました 🎉
  • ドワンゴの就業型インターンの体験記 - ドワンゴ教育サービス開発者ブログ

    はじめに 大阪産業大学3年の関佑太です。 2023年12月18日~2024年3月31日の間N予備校Androidチームにインターンで参加していました。 私がこのインターンに参加した時のスキルレベルとしては次のような感じです。 個人開発でアプリを作ったことはある テストコードは簡単なものしか書けない アーキテクチャは最近意識し始めた ドワンゴのインターンに参加するのに上記のスキルが必須かというと全くそのような事はなく、後述する開発サポートの時間で分からない事を現場のエンジニアに聞く事ができる時間があるので個人開発でアプリを作ったことがなかったり、テストコードを書いたことがなくても大丈夫だと思います。また、私は、インターンが始まった後にスキルレベルを聞かれましたが、その際に素直に言えば学習する時間を取ってくれると思います。 私は以下のインターンに応募して今回参加させていただく事になりました。

    ドワンゴの就業型インターンの体験記 - ドワンゴ教育サービス開発者ブログ
    hmiyado
    hmiyado 2024/03/25
    先日のバックエンドに続いて、Androidからもインターン体験記が公開されました 🚀 "就業型のインターンに参加する事によって自分がエンジニアとして働くイメージを鮮明に持つ事ができる" 長期就業型ならではですね!