강의

멘토링

커뮤니티

Programming

/

Web Development

Vanilla JavaScriptで直接実装するNotion

この講義は、Vanilla JavaScriptでNotionを最初から最後まで直接実装し、単純なUIクローンを超えて内部動作原理を深く理解することに焦点を当てたフルスタックレベルのフロントエンドプロジェクト課程です。 サイドバーツリー、ネスト文書生成、自動保存、ルーティング、ゴミ箱、お気に入り、検索モーダル、設定モーダル、テーマ切り替え、Export/Import、キーボードショートカット、レスポンシブレイアウト、ドラッグリサイズなど、実際のノートアプリの核心機能をすべてバニラJSで直接実装します。 React、Vueのようなフレームワーク以前に必ず知っておくべきブラウザ標準動作(イベントバブリング、DOMツリー、ローカルストレージ、Blob、FileReader、ハッシュルーティングなど)をしっかりと学習し、「なぜこのように動作するのか」を完全に理解してデバッグできる実力を身につけることが目標です。

  • nhcodingstudio
실습 중심
토이프로젝트
프론트엔드
클론코딩
웹개발
JavaScript
React
Web Application
DOM
frontend

受講後に得られること

  • Vanilla JS 基盤大規模アプリアーキテクチャ設計

  • 単方向データフローと画面同期

  • ハッシュルーティングとアドレス同期

  • サイドバーツリー & ネスト文書モデリング

  • ネストされたドキュメント生成UX(生成→可視性→編集)

  • エディター入力・書式・ツールバー連結

  • 自動保存とデバウンス戦略(負荷・安全・即時性のバランス)

  • ローカルストレージスナップショット・スキーマガード

  • ゴミ箱(ソフト削除)・復元・完全削除

  • お気に入りと派生リストのレンダリング

  • 絵文字選択器・外側クリック閉じ・位置計算

  • 検索モーダル: リアルタイムフィルター & キーボードナビゲーション

  • 設定モーダルとテーマ切り替え: <html data-theme> + CSS変数

  • サイドバー幅制御・アニメーション・レスポンシブ対応

  • Export/Import・ショートカット・エラーハンドリング

📒 Vanilla JSでNotionアプリを作る

この講義はVanilla JavaScriptだけでNotionスタイルの文書管理アプリを最初から最後まで直接実装する過程です。React、Vueのようなフレームワークを使わずに純粋なJS、HTML、CSSだけで完成させるため、フロントエンドの根本原理をしっかりと理解することができます。

最近のクローンコーディング講座は、フレームワークでUIを真似する場合が多いです。もちろん役に立ちますが、結局ReactやVueも内部ではDOM操作と状態管理、イベントシステムVanilla JSで処理します。
したがって、フレームワークを正しく理解し、デバッグまでうまくやるには、
根本的なJSの動作原理とブラウザレンダリング構造を知る必要があります。この講座は、まさにその基礎を実務で使える完成プロジェクトを作りながら自然に身につけられるよう設計されています。

🚀 なぜVanilla JSでNotionなのか?

私たちが毎日のように使うNotion、その内部はどのような原理で動いているのでしょうか?
ReactVueのようなフレームワークでクローンする講座は多いですが、結局その底辺にはVanilla JSとDOMがあります。この講座では、フレームワークなしに、HTML・CSS・JavaScriptだけで実際のNotionスタイルアプリを最初から最後まで実装しながら、その原理をしっかりと学ぶことができます。

単純にUIを真似するのではなく、文書データ層、UIレンダリング、イベント・ルーティング相互作用という3つの軸でアーキテクチャを設計し、実際に動作するアプリを完成させます。

講義紹介

アプリは大きく3つの層で動作します。

第一にデータ層として、文書リスト、お気に入り、ゴミ箱、現在アクティブな文書、サイドバーの状態などを一つのstateオブジェクトで管理します。このデータはlocalStorageと連携し、リフレッシュ後も同じ状態をそのまま復元します。

二つ目はレンダリング層です。サイドバーツリー、本文エリア、ゴミ箱リスト、お気に入りモーダルなどは、すべて状態に基づいてDOMを再描画する構造になっています。原則は常に「状態 → 画面」であり、この単方向フローのおかげで複雑な部分更新なしでもデータと画面が一貫して保たれます。

三つ目はインタラクション層です。クリック、入力、ショートカット、ルーティング、モーダルの開閉、サイドバーのドラッグなどの動作は、すべてイベントリスナーを通じて発生します。イベントが状態を変更し、再びレンダリング層が反応する循環構造の中で、アプリが安定的に動作します。

この講義の核心は、単に「ボタンが動作する」ということではなく、その動作がどのような原理で可能になるのかをコード単位で理解することにあります。

  • サイドバーの幅調整はmousedown → mousemove → mouseupの流れとCSSカスタムプロパティがどのように連携するかを、

  • 検索モーダルは入力イベントとキーボードナビゲーション、ESC・背景クリック処理まで、UX全体がどのように完成されるのか、

  • テーマ切り替えは、チェックボックス1つとdata-theme属性、localStorage保存がどのように組み合わされるか、

この全ての過程を目で確認しながら進めていくことになります。

🔑 実装機能

この講義で直接実装してみる機能たちはすべて実務アプリの骨格を成す要素たちです。

📂 ドキュメントツリー構造&ネスト文書生成: 親子関係を持つ階層的サイドバーの実装


インライン名前変更: ダブルクリック/F2でタイトルを即座に修正

🗑 ゴミ箱管理: 文書削除 → ゴミ箱移動 → 復元/完全削除 全体フロー実装

お気に入りモーダル: 重要な文書を素早く固定してアクセス


🔍 検索モーダル: 入力即時フィルタリングキーボード矢印/エンターナビゲーション対応

設定モーダル: ライト・ダークテーマ切り替えlocalStorage永続保存

キーボードショートカット: Ctrl/Command+K 検索, Ctrl/Command+Shift+N 新規文書,
F2 名前変更

📏 サイドバー幅制御: ボタン折りたたみ/展開ドラッグリサイズモバイル自動折りたたみ


🔄 ルーティング & 状態復元: ハッシュベースナビゲーションリフレッシュ時の同一状態維持

💾 データ保存・読み込み: localStorage自動保存Export/Import対応

🧭 ルーティング初期化: アプリ初回起動時に「Welcome」ドキュメントへ移動またはハッシュ同期


📅 メタ情報表示: 「最終編集日」自動更新


🛠 Confirmモーダル: 永久削除など元に戻せない操作の確認手順

🎨 エディター領域連動: タイトル・本文入力と同時にstateと同期

🔗 状態-レンダリング-イベント循環構造: アプリアーキテクチャの核心原理を直接体得

🔑 実装機能

この講義で直接実装してみる機能は、すべて実務アプリの骨格を成す核心要素です。

  • 📂 ドキュメントツリー構造&ネストドキュメント生成: 親子関係を持つ階層的サイドバーの実装

  • インライン名前変更:ダブルクリック/F2でタイトルを即座に修正

  • 🗑 ゴミ箱管理: 文書削除 → ゴミ箱移動 → 復元/完全削除

  • お気に入りモーダル: 重要な文書を素早く固定してアクセス

  • 🔍 検索モーダル: 入力と同時にフィルタリング、キーボードの矢印キー/エンターで操作

  • 設定モーダル: ライト・ダークテーマ切り替え、localStorage永続保存

  • キーボードショートカット: Ctrl/Command+K 検索、Ctrl/Command+Shift+N 新しいドキュメント、F2 名前の変更

  • 📏 サイドバー幅制御: ボタン折りたたみ/展開、ドラッグリサイズ、モバイル自動折りたたみ

  • 🔄 ルーティング & 状態復元: ハッシュベースナビゲーション、リフレッシュ時の同一状態維持

  • 💾 データ保存・読み込み: localStorage基盤の自動保存とexport/import

  • 🧭 ルーティング初期化: アプリ初回進入時に「Welcome」ドキュメントに移動またはハッシュ同期

  • 📅 メタ情報表示: 「最終編集日」自動更新

  • 🛠 Confirmモーダル: 永久削除など元に戻せない操作にユーザー確認手順を追加

  • 🎨 エディター領域連動: タイトルと本文入力が即座にstateと同期

  • 🔗 状態-レンダリング-イベント循環構造: 全体的なアプリアーキテクチャ学習

🎯 この講義を通して学ぶこと

  1. ネストされたドキュメントツリー構造を直接設計してレンダリングする

  2. ルーティング原理とURLハッシュによるページ遷移の理解

  3. 状態管理と永続化: localStorageを利用してアプリデータの保存・復元

  4. モーダルパターン: オーバーレイ、ESC閉じる、背景クリック処理、アクセシビリティ考慮

  5. 検索機能: 入力と同時にフィルタリング、キーボードナビゲーションロジックの実装

  6. テーマシステム: ライト・ダークテーマの切り替えとグローバルCSS変数管理

  7. ショートカットキーロジック: キーボードイベントとプラットフォーム別ctrl/metaKey処理

  8. ファイルAPI: BlobとFileReaderを活用してJSONデータのエクスポート/インポート

  9. ゴミ箱復元/削除フロー: データ整合性を守る安全パターン

  10. Confirmモーダル: 取り消しできない操作の前に確認を取るUXパターン

  11. サイドバードラッグリサイズ:実務でよく使われるレイアウト制御技法

  12. 状態ベースレンダリング:「状態 → 画面」の単方向フローで予測可能なUI保証

  13. 初期化ロジック設計: init()関数でアプリ実行前プロセスの自動化

  14. デバッグ方法論: 状態 → レンダリングフローを追いながらバグの原因を素早く見つける

  15. フレームワーク理解度向上: React/VueのVirtual DOMと状態管理がなぜ必要なのかを実感

📈 この講義で得られるもの

  • 状態、DOM、イベントを一つのシステムとして連結する感覚

  • ブラウザストレージ(localStorage)と状態同期の原理理解

  • サイドバー/モーダル/検索窓などのUIパターンを最初から最後まで実装する経験

  • イベントバブリング、stopPropagationpreventDefaultを適材適所に活用する能力

  • CSS変数とカスタムプロパティを通じてレイアウトとテーマを制御する方法

  • レスポンシブUIとメディアクエリをJSと結合して制御する技法

  • 実際のNotionアプリで見ることができるUXフローをVanilla JSで復元する体験

  • フレームワークの抽象化の背後にある「本来の動作」を目で確認する力

  • 問題状況でDOMとイベントフローを追跡してデバッグする方法

  • 小さな機能単位からアプリ全体のアーキテクチャへと拡張していく設計経験

  • ショートカット、ポップオーバー、オーバーレイなどの実務インタラクション実装能力

  • 新しい文書の作成から削除まで続く文書全体のライフサイクル管理感覚

  • 単純なコードの真似ではなく、「なぜこのように動作するのか」を説明できる力

👩‍💻 このような方におすすめします

  • 単純な機能の真似ではなく、アプリの構造を深く理解したい方

  • フレームワークの前にVanilla JSの基礎体力を身につけたい方

  • React/Vueを学ぶ前に「なぜそのように動作するのか」原理を知りたい方

  • クローンコーディングを超えて自分のポートフォリオアプリを直接作りたい方

  • ウェブブラウザのDOM、イベント、ストレージの動作を実務的に理解したい方

  • サイドバー、モーダル、検索窓など実務UIパターンの実装方法を学びたい方

  • 小さなプロジェクトを直接完成させながらフロントエンドの自信を得たい方

  • サービス運営環境で発生するUI問題をデバッグして説明できる能力を身につけたい方

  • Vanilla JSをベースに今後TypeScript、React、Vueへ自然に拡張したい方

  • 「コードがなぜこのように動作するのか」を明確に説明できる開発者になりたい方

📌 受講前の参考事項

  • HTML/CSSの基本構造とJavaScriptの基礎文法をご存知でしたら、スムーズについてこられます。

  • 特にaddEventListenerif/elseforEach、オブジェクトアクセス方式程度は知っておくと良いでしょう。

  • Mac/Windows環境どちらでも受講可能で、別途インストール不要で最新のChromeブラウザさえあればすぐに実習できます。

まとめ

この講義は単純なクローンコーディングを超えて、フロントエンドアーキテクチャの原理と実務パターンを同時に身につけられるよう設計されています。49講をすべて修了すると、Notionスタイルのアプリが手の中に完成するだけでなく、React/Vueのようなフレームワークの内部動作をより深く理解し、デバッグできる目が養われます。

今度は皆さんが直接Vanilla JSでNotionを作る体験を通じて、フロントエンド開発者として一歩成長する番です。講義でお会いしましょう。🚀

こんな方に
おすすめです

学習対象は
誰でしょう?

  • フレームワークに先立って、ウェブの基本動作原理をしっかりと理解したい方

  • ReactやVueで開発したことはあるけれど、デバッグの際に行き詰まることが多い方

  • 実務でよく使われる機能を最初から最後まで実装してみたい方

  • インターネット接続なしでも動作するローカル優先アプリ構造に興味がある方

  • 就職活動やポートフォリオ準備中で、実装過程を説明できるプロジェクトが必要な方

  • バックエンドやフルスタック開発者としてフロントエンド構造の理解が必要な方

  • チームで共通して使えるUI/UXパターンを確立したい方

  • ブラウザが持つ限界と可能性を理解したいデザイナーや企画者

  • 既存のjQueryや古いコードベースを現代的なJSに改善する必要がある方

  • QAやテスト業務をしながらSPAの状態変化を理解したい方

  • React、Vueなどのフレームワークを単純に使うことから脱却し、内部原理を理解したい方

  • アクセシビリティとキーボード中心のUXに関心のある方

  • 安定したユーザー体験を提供したい方

  • 教育用デモや社内スタディで基礎からフレームワークまで繋げて説明したいメンター

  • フロントエンド面接を準備しながらシステム設計とトレードオフを説明する言語が必要な方

前提知識、
必要でしょうか?

  • HTML & CSS

  • JavaScript

こんにちは
です。

479

受講生

34

受講レビュー

10

回答

4.8

講座評価

12

講座

안녕하세요, 우리동네코딩 스튜디오에 오신 것을 환영합니다!

우리동네코딩 스튜디오는 카네기 멜론, 워싱턴, 토론토, 워터루 등 북미의 주요 대학에서 컴퓨터공학을 전공하고, Google, Microsoft, Meta 등 글로벌 IT 기업에서 실무 경험을 쌓은 개발자들이 함께 만든 교육 그룹입니다.

처음에는 미국과 캐나다의 컴퓨터공학 전공자들끼리 함께 공부하며 성장하고자 만든 스터디 모임에서 시작되었습니다. 각기 다른 대학, 다른 시간대에 있었지만 함께 문제를 해결하고 서로에게 배운 그 시간은 매우 특별했고, 자연스럽게 이런 생각이 들었습니다.

“우리가 공부하던 이 방식, 그대로 다른 사람에게도 전하면 어떨까?”

그 물음이 바로 우리동네코딩 스튜디오의 출발점이었습니다.

현재는 약 30명의 현직 개발자와 컴퓨터공학 전공 대학생들이 각자의 전문 분야를 맡아, 입문부터 실전까지 아우르는 커리큘럼을 직접 설계하고 강의합니다. 단순한 지식 전달을 넘어, 진짜 개발자의 시선으로 배우고 함께 성장할 수 있는 환경을 제공합니다.

“진짜 개발자는, 진짜 개발자에게 배워야 합니다.”

저희는 웹 개발의 전 과정을 처음부터 끝까지 체계적으로 다루되, 이론에 머무르지 않고 실습과 실전 중심의 피드백을 통해 실력을 키워드립니다.
수강생 한 사람, 한 사람의 성장을 함께 고민하고 이끌어가는 것이 우리의 철학입니다.

🎯 우리의 철학은 분명합니다.
"진정한 배움은 실천에서 오고, 성장은 함께할 때 완성된다."

개발을 처음 시작하는 입문자부터, 실무 능력을 키우고 싶은 취업 준비생, 진로를 탐색 중인 청소년까지.
우리동네코딩 스튜디오는 모두의 출발점이자, 함께 걷는 든든한 동반자가 되고자 합니다.

이제, 혼자 고민하지 마세요.
우리동네코딩 스튜디오가 여러분의 성장을 함께하겠습니다.


Welcome to Neighborhood Coding Studio!

Neighborhood Coding Studio was founded by a team of developers who studied computer science at top North American universities such as Carnegie Mellon, the University of Washington, the University of Toronto, and the University of Waterloo, and went on to gain hands-on experience at global tech companies like Google, Microsoft, and Meta.

It all began as a study group formed by computer science students across the U.S. and Canada, created to grow together by sharing knowledge, solving problems, and learning from one another.
Though we were attending different schools in different time zones, the experience was so meaningful that it led us to one simple thought:

“What if we shared this way of learning with others?”

That thought became the foundation of Neighborhood Coding Studio.

Today, we are a team of around 30 active developers and computer science students, each taking responsibility for their area of expertise—designing and delivering a curriculum that spans from foundational knowledge to real-world development.
We’re not just here to teach—we’re here to help you see through the lens of real developers and grow together.

“To become a real developer, you must learn from real developers.”

Our courses take you through the entire web development journey—from start to finish—focused on hands-on practice, real-world projects, and practical feedback.
We care deeply about each learner’s growth and are committed to supporting your path every step of the way.

🎯 Our philosophy is simple but powerful:
"True learning comes from doing, and true growth happens together."

Whether you're just getting started, preparing for your first job, or exploring your future in tech,
Neighborhood Coding Studio is here to be your launchpad—and your trusted companion on the journey.

You don’t have to do it alone.
Let Neighborhood Coding Studio walk with you toward your future in development.

カリキュラム

全体

51件 ∙ (4時間 49分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

5件

4.6

5件の受講レビュー

  • 쌀밥님의 프로필 이미지
    쌀밥

    受講レビュー 2

    平均評価 5.0

    修正済み

    5

    47% 受講後に作成

    평소에 노션과 같은 프로젝트를 만들어보고 싶었는데, 전체적인 구조 및 구현 방법을 엿볼 수 있어 매우 흥미롭습니다! 또한 질문에 대한 답변도 매우 정성들여 작성해주셔서 좋았습니다.👍 다만 코드를 작성하면서 설명하는 일반적인 강의와 달리, 이미 작성된 코드를 해설해주는 방식으로 진행되는 부분이 조금 낯서네요.😅 그리고 개인적으로 CSS 해설보단 기능 구현에 대한 설명이 조금만 더 자세했으면 좋았을 것 같습니다~

    • nhcodingstudio
      知識共有者

      안녕하세요 쌀밥님 😊 먼저 이렇게 정성스럽게 피드백 남겨주셔서 진심으로 감사드립니다. 처음으로 프로젝트형 강의를 제작하다 보니 설명 방식에서 다소 미흡한 부분이 있었던 것 같습니다. 이미 완성된 코드를 기반으로 해설하는 형식이 낯설게 느껴지셨을 수도 있을 텐데, 그 점 충분히 공감합니다. 앞으로 제작될 강의들은 쌀밥님께서 말씀해주신 것처럼 로직의 큰 흐름을 직관적으로 이해할 수 있고, 기능 구현 중심으로 단계별 과정을 따라갈 수 있는 방식으로 구성하겠습니다. 또한 CSS 해설보다 기능 구현과 동작 원리 중심으로 더 깊이 다뤄서, 단순히 따라 쓰는 수업이 아니라 “왜 이렇게 동작하는지”를 자연스럽게 이해할 수 있는 형태로 발전시켜 나가겠습니다. 혹시 강의를 들으시다가 궁금한 점이나 더 알고 싶은 부분이 생기면, 언제든 편하게 말씀 주세요. 작은 질문이라도 같이 이야기 나누면 좋겠습니다. 💬 오픈채팅방에서도 수강생분들과 함께 얘기 나누고 있으니, 시간 되실 때 가볍게 들러주세요. 👉 https://open.kakao.com/o/gC10Fnoh](https://open.kakao.com/o/gC10Fnoh 다시 한 번 진심으로 감사드립니다. 오늘도 좋은 하루 되세요! 🌿

  • 망고님의 프로필 이미지
    망고

    受講レビュー 33

    平均評価 4.7

    4

    100% 受講後に作成

    생각했던 강의는 아니지만 그래도 설명 들으면서 리팩토링 진행하면 좋은 복습이 될 것 같네요

    • nhcodingstudio
      知識共有者

      안녕하세요 망고 님 😊 소중한 후기 남겨주셔서 진심으로 감사드립니다. 🙏 생각하셨던 방향과는 조금 다르게 느껴지셨다고 솔직하게 말씀해 주셔서 정말 감사드립니다. 이 강의는 단순히 기능을 만드는 것을 넘어, 코드의 구조와 흐름을 이해하면서 리팩토링할 수 있도록 구성했지만, 말씀 주신 것처럼 앞으로는 기능 설명뿐 아니라 원리와 개선 과정을 함께 담을 수 있도록 더 보완해 나가겠습니다. 다음 강의에서는 “어떻게 구현하는가”보다 “왜 이렇게 구현해야 하는가”에 초점을 맞추고, 리팩토링 과정을 직접 보여드리며 설계 감각까지 함께 키울 수 있도록 준비하겠습니다. 또, 강의를 들으시다가 아쉬웠던 점이나 추가로 보고 싶은 주제가 있으시면 언제든 편하게 말씀해 주세요. 피드백 하나하나가 다음 강의를 더 나은 방향으로 발전시키는 데 큰 도움이 됩니다. 앞으로도 도움이 필요하신 부분이 있다면 언제든 성심껏 도와드리겠습니다. 함께 이야기 나누며 더 나은 학습 경험을 만들어가면 좋겠습니다. 다시 한 번 진심으로 감사드리며, 오늘도 좋은 하루 보내세요 🌿 수강생분들과 소통하는 오픈채팅방도 열려 있으니, 시간 되실 때 들러주세요. 👉 https://open.kakao.com/o/gC10Fnoh

  • somestory님의 프로필 이미지
    somestory

    受講レビュー 7

    平均評価 5.0

    5

    31% 受講後に作成

    아주 유익하게 잘 보고있습니다~

    • nhcodingstudio
      知識共有者

      안녕하세요, somestory님. 이렇게 좋은 말씀 남겨주셔서 정말 감사드립니다. 하루 동안 강의 준비로 지쳤던 마음이 단번에 풀릴 만큼 큰 힘이 되네요😊😊 강의를 만들 때마다 “이게 잘 전달될까?” 하는 고민이 많은데, 이렇게 유익하게 봐주셨다는 말씀이 정말 큰 위로가 됩니다. 앞으로도 조금이라도 더 도움 되는 내용, 그리고 직접 써먹을 수 있는 예제들로 보답드릴게요. 혹시 강의를 들으시다가 궁금한 점이나 더 알고 싶은 부분이 생기면, 언제든 편하게 말씀 주세요. 작은 질문이라도 같이 이야기 나누면 좋겠습니다. 💬 오픈채팅방에서도 수강생분들과 함께 얘기 나누고 있으니, 시간 되실 때 가볍게 들러주세요. 👉 [https://open.kakao.com/o/gC10Fnoh] 다시 한 번 진심으로 감사드립니다. 오늘도 좋은 하루 되세요!

    • 드디어 완강했습니다~ 바닐라 js를 전체적으로 훑어보고 응요해보고 싶으신 분들,, 특히 다른 프로그래밍 언어들을 해보신 분들 중 자바스크립트로 뭔가 하셔야하는 분들.. react, vue 등.. 프레임워크를 응요하시는 분들한테 심화학습용.. 아주 많은 도움이됐습니다. 적극 추천이에요

    • nhcodingstudio
      知識共有者

      안녕하세요 somestory님 😊 완강 진심으로 축하드립니다! 그리고 이렇게 따뜻한 수강평 남겨주셔서 진심으로 감사드립니다. 🙏 끝까지 함께해 주신 것만으로도 큰 힘이 되는데, 이렇게 좋은 말씀까지 전해주셔서 제작자로서 정말 큰 보람을 느낍니다. 강의가 전체적인 웹 개발 흐름을 이해하고 실무 감각을 쌓는 데 도움이 되었다니 정말 기쁩니다. 강의 제작 과정에서도 쉽지 않은 순간들이 많았지만, 수강생분들의 이런 응원이 저에게는 가장 큰 원동력입니다. 정말 고생 많으셨고, 앞으로의 개발 여정에도 좋은 일들만 가득하시길 바랍니다. 현재는 React 시리즈 강의를 준비하고 있습니다. 앞으로도 더욱 발전되고, 실제로 도움이 될 수 있는 콘텐츠로 찾아뵙겠습니다. 다시 한 번 감사드리며, 오늘도 즐겁고 행복한 하루 보내세요! 🌿

  • ADK123님의 프로필 이미지
    ADK123

    受講レビュー 326

    平均評価 5.0

    5

    100% 受講後に作成

    • wkdska1590님의 프로필 이미지
      wkdska1590

      受講レビュー 2

      平均評価 4.5

      4

      67% 受講後に作成

      ¥4,939

      nhcodingstudioの他の講座

      知識共有者の他の講座を見てみましょう!

      似ている講座

      同じ分野の他の講座を見てみましょう!