From 8a7eda8014bcf0988f358e5cdf1c813c9d41b1e4 Mon Sep 17 00:00:00 2001 From: sanbuphy Date: Tue, 10 Feb 2026 17:23:27 +0800 Subject: [PATCH] refactor(docs): reorganize file structure and update content fix(docs): correct links and paths in multiple files style(docs): adjust formatting and alignment in README files docs: update content in multiple markdown files --- docs-readme/ar-SA/README.md | 20 +- docs-readme/de-DE/README.md | 18 +- docs-readme/en-US/README.md | 20 +- docs-readme/es-ES/README.md | 20 +- docs-readme/fr-FR/README.md | 20 +- docs-readme/ja-JP/README.md | 20 +- docs-readme/ko-KR/README.md | 18 +- docs-readme/vi-VN/README.md | 18 +- docs-readme/zh-CN/README.md | 237 ---- docs/.vitepress/config.mjs | 34 +- docs/ja-jp/stage-2/intro.md | 12 +- docs/zh-cn/appendix/cloud-services.md | 1213 +++++++++++++---- docs/zh-cn/guide/introduction.md | 6 +- docs/zh-cn/stage-0/index.md | 12 +- .../stage-1/1.0-finding-great-idea/index.md | 64 +- .../stage-1/1.2-building-prototype/index.md | 2 +- ...knowledge-base-integration.md => index.md} | 4 +- ...apability-starter-handbook.md => index.md} | 0 .../{extra2-what-is-api.md => index.md} | 2 +- ...-from-database-to-supabase.md => index.md} | 2 +- ...-is-git-and-what-is-github.md => index.md} | 2 +- ...to-deploy-web-applications.md => index.md} | 2 +- ...of-test-driven-development.md => index.md} | 2 +- .../backend/2.7-stripe-payment/index.md | 2 +- ...s-build-hogwarts-portraits.md => index.md} | 4 +- docs/zh-cn/stage-2/intro.md | 18 +- ...ow-does-it-work-and-future.md => index.md} | 0 docs/zh-cn/stage-3/intro.md | 2 +- 28 files changed, 1137 insertions(+), 637 deletions(-) rename docs/zh-cn/stage-2/ai-capabilities/2.1-dify-knowledge-base/chapter3/{chapter3-getting-started-with-dify-and-its-knowledge-base-integration.md => index.md} (99%) rename docs/zh-cn/stage-2/ai-capabilities/2.2-multimodal-api/extra3/{extra3-ai-capability-starter-handbook.md => index.md} (100%) rename docs/zh-cn/stage-2/backend/2.1-what-is-api/extra2/{extra2-what-is-api.md => index.md} (99%) rename docs/zh-cn/stage-2/backend/2.2-database-supabase/chapter5/{chapter5-from-database-to-supabase.md => index.md} (99%) rename docs/zh-cn/stage-2/backend/2.4-git-workflow/extra1/{extra1-what-is-git-and-what-is-github.md => index.md} (99%) rename docs/zh-cn/stage-2/backend/2.5-zeabur-deployment/extra6/{extra6-zeabur-what-is-it-and-how-to-deploy-web-applications.md => index.md} (99%) rename docs/zh-cn/stage-2/backend/2.6-modern-cli/extra7/{extra7-cli-ai-coding-tools-and-the-principles-of-test-driven-development.md => index.md} (99%) rename docs/zh-cn/stage-2/frontend/2.4-hogwarts-portraits/{chapter4-lets-build-hogwarts-portraits.md => index.md} (99%) rename docs/zh-cn/stage-3/ai-advanced/3.a1-rag-introduction/{extra5-what-is-rag-and-how-does-it-work-and-future.md => index.md} (100%) diff --git a/docs-readme/ar-SA/README.md b/docs-readme/ar-SA/README.md index a34f502..5cc1b6d 100644 --- a/docs-readme/ar-SA/README.md +++ b/docs-readme/ar-SA/README.md @@ -89,19 +89,19 @@ #### الملاحق: التفكير التجاري -| الفصل | المحتوى الرئيسي | الحالة | -| :------------------------------------------------------------------------------------------ | :----------------------------------------------------------- | :----- | -| [الملحق A: التفكير في المنتج وتصميم الحل](docs/zh-cn/stage-1/appendix-a-product-thinking/index.md) | أطر التفكير اللازمة لبناء منتج من الصفر إلى واحد | ✅ | -| [الملحق B: مرجع سيناريوهات تطبيق الذكاء الاصطناعي في الصناعة (B2B)](docs/zh-cn/stage-1/appendix-industry-scenarios/index.md) | فهم تطبيقات الذكاء الاصطناعي في مختلف الصناعات | ✅ | -| [الملحق C: مرجع إلهام سيناريوهات استهلاك الذكاء الاصطناعي (B2C)](docs/zh-cn/stage-1/appendix-c-consumer-scenarios/index.md) | استكشاف تطبيقات الذكاء الاصطناعي في منتجات المستهلكين | ✅ | +| الفصل | المحتوى الرئيسي | الحالة | +| :--------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------- | :----- | +| [الملحق A: التفكير في المنتج وتصميم الحل](docs/zh-cn/stage-1/appendix-a-product-thinking/index.md) | أطر التفكير اللازمة لبناء منتج من الصفر إلى واحد | ✅ | +| [الملحق B: مرجع سيناريوهات تطبيق الذكاء الاصطناعي في الصناعة (B2B)](docs/zh-cn/stage-1/appendix-industry-scenarios/index.md) | فهم تطبيقات الذكاء الاصطناعي في مختلف الصناعات | ✅ | +| [الملحق C: مرجع إلهام سيناريوهات استهلاك الذكاء الاصطناعي (B2C)](docs/zh-cn/stage-1/appendix-c-consumer-scenarios/index.md) | استكشاف تطبيقات الذكاء الاصطناعي في منتجات المستهلكين | ✅ | #### الملاحق: الحلول التقنية -| الفصل | المحتوى الرئيسي | الحالة | -| :--------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------- | :----- | -| [الملحق D: ماذا تفعل عند مواجهة أخطاء أثناء كتابة الكود](docs/zh-cn/stage-1/appendix-b-common-errors/index.md) | الأخطاء الشائعة في Vibe Coding وطرق استكشاف الأخطاء | ✅ | -| [الملحق E: مقارنة 7 أدوات برمجة الذكاء الاصطناعي](docs/zh-cn/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | مقارنة واختبار منصات برمجة الذكاء الاصطناعي الرئيسية | ✅ | -| [الملحق F: تصميم مواقع الويب باستخدام وكلاء التصميم والبرمجة](docs/zh-cn/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | تعلم كيفية استخدام وكلاء الذكاء الاصطناعي بشكل تعاوني | ✅ | +| الفصل | المحتوى الرئيسي | الحالة | +| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------- | :----- | +| [الملحق D: ماذا تفعل عند مواجهة أخطاء أثناء كتابة الكود](docs/zh-cn/stage-1/appendix-b-common-errors/index.md) | الأخطاء الشائعة في Vibe Coding وطرق استكشاف الأخطاء | ✅ | +| [الملحق E: مقارنة 7 أدوات برمجة الذكاء الاصطناعي](docs/zh-cn/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | مقارنة واختبار منصات برمجة الذكاء الاصطناعي الرئيسية | ✅ | +| [الملحق F: تصميم مواقع الويب باستخدام وكلاء التصميم والبرمجة](docs/zh-cn/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | تعلم كيفية استخدام وكلاء الذكاء الاصطناعي بشكل تعاوني | ✅ | ### 2. مهندس تطوير مستوى المبتدئ-المتوسط diff --git a/docs-readme/de-DE/README.md b/docs-readme/de-DE/README.md index ec70dbf..818b985 100644 --- a/docs-readme/de-DE/README.md +++ b/docs-readme/de-DE/README.md @@ -89,19 +89,19 @@ Wir glauben, dass durch die Beherrschung von Vibe Coding in Kombination mit syst #### Anhänge: Geschäftsdenken -| Kapitel | Schlüsselinhalt | Status | -| :-------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------ | :----- | -| [Anhang A: Produktdenken und Lösungsdesign](docs/zh-cn/stage-1/appendix-a-product-thinking/index.md) | Denkrahmen, die für die Erstellung eines Produkts von Null auf Eins erforderlich sind | ✅ | -| [Anhang B: Referenz für KI-Branchenanwendungsszenarien (B2B)](docs/zh-cn/stage-1/appendix-industry-scenarios/index.md) | Verstehen der KI-Anwendungen in verschiedenen Branchen | ✅ | +| Kapitel | Schlüsselinhalt | Status | +| :--------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------ | :----- | +| [Anhang A: Produktdenken und Lösungsdesign](docs/zh-cn/stage-1/appendix-a-product-thinking/index.md) | Denkrahmen, die für die Erstellung eines Produkts von Null auf Eins erforderlich sind | ✅ | +| [Anhang B: Referenz für KI-Branchenanwendungsszenarien (B2B)](docs/zh-cn/stage-1/appendix-industry-scenarios/index.md) | Verstehen der KI-Anwendungen in verschiedenen Branchen | ✅ | | [Anhang C: Referenz für KI-Verbrauchsszenarien-Inspiration (B2C)](docs/zh-cn/stage-1/appendix-c-consumer-scenarios/index.md) | Erkunden der KI-Anwendungen in Verbraucherprodukten | ✅ | #### Anhänge: Technische Lösungen -| Kapitel | Schlüsselinhalt | Status | -| :----------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------ | :----- | -| [Anhang D: Was Tun bei Fehlern beim Schreiben von Code](docs/zh-cn/stage-1/appendix-b-common-errors/index.md) | Häufige Fehler in Vibe Coding und Methoden zur Fehlerbehebung | ✅ | -| [Anhang E: Vergleich von 7 KI-Programmierungstools](docs/zh-cn/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | Vergleich und Testen der wichtigsten KI-Programmierplattformen | ✅ | -| [Anhang F: Websites mit Design- und Programmieragenten Entwerfen](docs/zh-cn/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | Lernen der kollaborativen Nutzung von KI-Agenten | ✅ | +| Kapitel | Schlüsselinhalt | Status | +| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- | :----- | +| [Anhang D: Was Tun bei Fehlern beim Schreiben von Code](docs/zh-cn/stage-1/appendix-b-common-errors/index.md) | Häufige Fehler in Vibe Coding und Methoden zur Fehlerbehebung | ✅ | +| [Anhang E: Vergleich von 7 KI-Programmierungstools](docs/zh-cn/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | Vergleich und Testen der wichtigsten KI-Programmierplattformen | ✅ | +| [Anhang F: Websites mit Design- und Programmieragenten Entwerfen](docs/zh-cn/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | Lernen der kollaborativen Nutzung von KI-Agenten | ✅ | ### 2. Entwicklungsingenieur auf Anfänger-Fortgeschrittenen-Niveau diff --git a/docs-readme/en-US/README.md b/docs-readme/en-US/README.md index db624c4..547cac4 100644 --- a/docs-readme/en-US/README.md +++ b/docs-readme/en-US/README.md @@ -92,19 +92,19 @@ We believe that by mastering Vibe Coding combined with systematic training, one #### Appendix: Business Thinking -| Chapter | Key Content | Status | -| :---------------------------------------------------------------------- | :--------------------------------------------------------------------- | :----- | -| [Appendix A: Product Thinking and Solution Design](docs/en-us/stage-1/appendix-a-product-thinking/) | Thinking framework needed to build products from scratch | 🚧 | -| [Appendix B: AI Industry Application Scenarios (B2B)](docs/en-us/stage-1/appendix-industry-scenarios/) | Understand AI applications in different industries | 🚧 | -| [Appendix C: AI Consumer Scenario Inspiration (B2C)](docs/en-us/stage-1/appendix-c-consumer-scenarios/) | Explore AI applications in consumer products | 🚧 | +| Chapter | Key Content | Status | +| :------------------------------------------------------------------------------------------------------ | :------------------------------------------------------- | :----- | +| [Appendix A: Product Thinking and Solution Design](docs/en-us/stage-1/appendix-a-product-thinking/) | Thinking framework needed to build products from scratch | 🚧 | +| [Appendix B: AI Industry Application Scenarios (B2B)](docs/en-us/stage-1/appendix-industry-scenarios/) | Understand AI applications in different industries | 🚧 | +| [Appendix C: AI Consumer Scenario Inspiration (B2C)](docs/en-us/stage-1/appendix-c-consumer-scenarios/) | Explore AI applications in consumer products | 🚧 | #### Appendix: Technical Solutions -| Chapter | Key Content | Status | -| :---------------------------------------------------------------------- | :--------------------------------------------------------------------- | :----- | -| [Appendix D: What to Do When Encountering Errors](docs/en-us/stage-1/appendix-b-common-errors/) | Common errors in vibe coding and troubleshooting methods | 🚧 | -| [Appendix E: Comparison of Seven AI Programming Tools](docs/en-us/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | Compare and test mainstream AI programming platforms | 🚧 | -| [Appendix F: Designing Websites with Design and Programming Agents](docs/en-us/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | Learn how to use AI agents collaboratively | 🚧 | +| Chapter | Key Content | Status | +| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------- | :----- | +| [Appendix D: What to Do When Encountering Errors](docs/en-us/stage-1/appendix-b-common-errors/) | Common errors in vibe coding and troubleshooting methods | 🚧 | +| [Appendix E: Comparison of Seven AI Programming Tools](docs/en-us/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | Compare and test mainstream AI programming platforms | 🚧 | +| [Appendix F: Designing Websites with Design and Programming Agents](docs/en-us/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | Learn how to use AI agents collaboratively | 🚧 | ### Stage 2: Intermediate Developer diff --git a/docs-readme/es-ES/README.md b/docs-readme/es-ES/README.md index ffaffb8..37aeb20 100644 --- a/docs-readme/es-ES/README.md +++ b/docs-readme/es-ES/README.md @@ -89,19 +89,19 @@ Creemos que al dominar Vibe Coding y combinarlo con entrenamiento sistemático, #### Apéndices: Pensamiento de Negocio -| Capítulo | Contenido clave | Estado | -| :--------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | :----- | -| [Apéndice A: Pensamiento de Producto y Diseño de Solución](docs/zh-cn/stage-1/appendix-a-product-thinking/index.md) | Marcos de pensamiento necesarios para crear un producto de cero a uno | ✅ | -| [Apéndice B: Referencia de Escenarios de Aplicación de AI en la Industria (B2B)](docs/zh-cn/stage-1/appendix-industry-scenarios/index.md) | Comprender las aplicaciones de AI en diferentes industrias | ✅ | -| [Apéndice C: Referencia de Inspiración de Escenarios de Consumo de AI (B2C)](docs/zh-cn/stage-1/appendix-c-consumer-scenarios/index.md) | Explorar las aplicaciones de AI en productos de consumo | ✅ | +| Capítulo | Contenido clave | Estado | +| :---------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------- | :----- | +| [Apéndice A: Pensamiento de Producto y Diseño de Solución](docs/zh-cn/stage-1/appendix-a-product-thinking/index.md) | Marcos de pensamiento necesarios para crear un producto de cero a uno | ✅ | +| [Apéndice B: Referencia de Escenarios de Aplicación de AI en la Industria (B2B)](docs/zh-cn/stage-1/appendix-industry-scenarios/index.md) | Comprender las aplicaciones de AI en diferentes industrias | ✅ | +| [Apéndice C: Referencia de Inspiración de Escenarios de Consumo de AI (B2C)](docs/zh-cn/stage-1/appendix-c-consumer-scenarios/index.md) | Explorar las aplicaciones de AI en productos de consumo | ✅ | #### Apéndices: Soluciones Técnicas -| Capítulo | Contenido clave | Estado | -| :------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------- | :----- | -| [Apéndice D: Qué Hacer Cuando se Encuentran Errores al Escribir Código](docs/zh-cn/stage-1/appendix-b-common-errors/index.md) | Errores comunes en Vibe Coding y métodos de solución de problemas | ✅ | -| [Apéndice E: Comparación de 7 Herramientas de Programación AI](docs/zh-cn/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | Comparar y probar las principales plataformas de programación AI | ✅ | -| [Apéndice F: Diseñar Sitios Web con Agentes de Diseño y Programación](docs/zh-cn/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | Aprender a usar agentes AI de forma colaborativa | ✅ | +| Capítulo | Contenido clave | Estado | +| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- | :----- | +| [Apéndice D: Qué Hacer Cuando se Encuentran Errores al Escribir Código](docs/zh-cn/stage-1/appendix-b-common-errors/index.md) | Errores comunes en Vibe Coding y métodos de solución de problemas | ✅ | +| [Apéndice E: Comparación de 7 Herramientas de Programación AI](docs/zh-cn/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | Comparar y probar las principales plataformas de programación AI | ✅ | +| [Apéndice F: Diseñar Sitios Web con Agentes de Diseño y Programación](docs/zh-cn/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | Aprender a usar agentes AI de forma colaborativa | ✅ | ### 2. Ingeniero de Desarrollo de Nivel Principiante-Intermedio diff --git a/docs-readme/fr-FR/README.md b/docs-readme/fr-FR/README.md index 0793a37..e7db06a 100644 --- a/docs-readme/fr-FR/README.md +++ b/docs-readme/fr-FR/README.md @@ -89,19 +89,19 @@ Nous croyons qu'en maîtrisant Vibe Coding et en le combinant avec un entraînem #### Annexes : Pensée Business -| Chapitre | Contenu clé | Statut | -| :--------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | :----- | -| [Annexe A : Pensée Produit et Conception de Solution](docs/zh-cn/stage-1/appendix-a-product-thinking/index.md) | Cadres de pensée nécessaires pour créer un produit de zéro à un | ✅ | -| [Annexe B : Référence des Scénarios d'Application AI dans l'Industrie (B2B)](docs/zh-cn/stage-1/appendix-industry-scenarios/index.md) | Comprendre les applications AI dans différentes industries | ✅ | -| [Annexe C : Référence d'Inspiration des Scénarios de Consommation AI (B2C)](docs/zh-cn/stage-1/appendix-c-consumer-scenarios/index.md) | Explorer les applications AI dans les produits grand public | ✅ | +| Chapitre | Contenu clé | Statut | +| :------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------- | :----- | +| [Annexe A : Pensée Produit et Conception de Solution](docs/zh-cn/stage-1/appendix-a-product-thinking/index.md) | Cadres de pensée nécessaires pour créer un produit de zéro à un | ✅ | +| [Annexe B : Référence des Scénarios d'Application AI dans l'Industrie (B2B)](docs/zh-cn/stage-1/appendix-industry-scenarios/index.md) | Comprendre les applications AI dans différentes industries | ✅ | +| [Annexe C : Référence d'Inspiration des Scénarios de Consommation AI (B2C)](docs/zh-cn/stage-1/appendix-c-consumer-scenarios/index.md) | Explorer les applications AI dans les produits grand public | ✅ | #### Annexes : Solutions Techniques -| Chapitre | Contenu clé | Statut | -| :------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------- | :----- | -| [Annexe D : Que Faire en Cas d'Erreur lors de l'Écriture de Code](docs/zh-cn/stage-1/appendix-b-common-errors/index.md) | Erreurs courantes en Vibe Coding et méthodes de dépannage | ✅ | -| [Annexe E : Comparaison de 7 Outils de Programmation AI](docs/zh-cn/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | Comparer et tester les principales plateformes de programmation AI | ✅ | -| [Annexe F : Concevoir des Sites Web avec des Agents de Design et de Programmation](docs/zh-cn/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | Apprendre à utiliser les agents AI de manière collaborative | ✅ | +| Chapitre | Contenu clé | Statut | +| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------- | :----- | +| [Annexe D : Que Faire en Cas d'Erreur lors de l'Écriture de Code](docs/zh-cn/stage-1/appendix-b-common-errors/index.md) | Erreurs courantes en Vibe Coding et méthodes de dépannage | ✅ | +| [Annexe E : Comparaison de 7 Outils de Programmation AI](docs/zh-cn/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | Comparer et tester les principales plateformes de programmation AI | ✅ | +| [Annexe F : Concevoir des Sites Web avec des Agents de Design et de Programmation](docs/zh-cn/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | Apprendre à utiliser les agents AI de manière collaborative | ✅ | ### 2. Ingénieur de Développement Niveau Débutant-Intermédiaire diff --git a/docs-readme/ja-JP/README.md b/docs-readme/ja-JP/README.md index 98ac315..2e3cdbd 100644 --- a/docs-readme/ja-JP/README.md +++ b/docs-readme/ja-JP/README.md @@ -89,19 +89,19 @@ AI でコードを書こうとしてエラーが続き、諦めかけたくな #### 付録:ビジネス思考 -| 章 | 主要内容 | 状態 | -| :--------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :--- | -| [付録 A:プロダクト思考とソリューション設計](docs/zh-cn/stage-1/appendix-a-product-thinking/index.md) | ゼロからイチまでプロダクトを作る際に必要な思考フレームワーク | ✅ | -| [付録 B:AI 業界アプリケーションシナリオ参考 (B2B)](docs/zh-cn/stage-1/appendix-industry-scenarios/index.md) | さまざまな業界での AI 応用事例を理解する | ✅ | -| [付録 C:AI 消費シナリオインスピレーション参考 (B2C)](docs/zh-cn/stage-1/appendix-c-consumer-scenarios/index.md) | 消費者向け製品での AI 応用事例を探索する | ✅ | +| 章 | 主要内容 | 状態 | +| :--------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------- | :--- | +| [付録 A:プロダクト思考とソリューション設計](docs/zh-cn/stage-1/appendix-a-product-thinking/index.md) | ゼロからイチまでプロダクトを作る際に必要な思考フレームワーク | ✅ | +| [付録 B:AI 業界アプリケーションシナリオ参考 (B2B)](docs/zh-cn/stage-1/appendix-industry-scenarios/index.md) | さまざまな業界での AI 応用事例を理解する | ✅ | +| [付録 C:AI 消費シナリオインスピレーション参考 (B2C)](docs/zh-cn/stage-1/appendix-c-consumer-scenarios/index.md) | 消費者向け製品での AI 応用事例を探索する | ✅ | #### 付録:技術ソリューション -| 章 | 主要内容 | 状態 | -| :------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------- | :--- | -| [付録 D:コード作成時にエラーが発生した場合の対処法](docs/zh-cn/stage-1/appendix-b-common-errors/index.md) | Vibe Coding における一般的なエラーとトラブルシューティング方法 | ✅ | -| [付録 E:7 つの AI プログラミングツール比較](docs/zh-cn/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | 主流の AI プログラミングプラットフォームの比較テスト | ✅ | -| [付録 F:デザインとプログラミングエージェントでウェブサイトを設計](docs/zh-cn/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | AI エージェントの協調的な使用方法を学ぶ | ✅ | +| 章 | 主要内容 | 状態 | +| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- | :--- | +| [付録 D:コード作成時にエラーが発生した場合の対処法](docs/zh-cn/stage-1/appendix-b-common-errors/index.md) | Vibe Coding における一般的なエラーとトラブルシューティング方法 | ✅ | +| [付録 E:7 つの AI プログラミングツール比較](docs/zh-cn/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | 主流の AI プログラミングプラットフォームの比較テスト | ✅ | +| [付録 F:デザインとプログラミングエージェントでウェブサイトを設計](docs/zh-cn/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | AI エージェントの協調的な使用方法を学ぶ | ✅ | ### 二、初中級開発エンジニア diff --git a/docs-readme/ko-KR/README.md b/docs-readme/ko-KR/README.md index eadb90e..08c6e73 100644 --- a/docs-readme/ko-KR/README.md +++ b/docs-readme/ko-KR/README.md @@ -89,19 +89,19 @@ AI로 코드를 작성하려고 할 때 오류가 계속 발생하고, 포기하 #### 부록: 비즈니스 사고 -| 장 | 주요 내용 | 상태 | -| :-------------------------------------------------------------------------------------------------- | :------------------------------------------- | :--- | +| 장 | 주요 내용 | 상태 | +| :---------------------------------------------------------------------------------------------------- | :-------------------------------------------------- | :--- | | [부록 A: 프로덕트 사고 및 솔루션 설계](docs/zh-cn/stage-1/appendix-a-product-thinking/index.md) | 0에서 1까지 프로덕트 만들 때 필요한 사고 프레임워크 | ✅ | -| [부록 B: AI 산업 적용 시나리오 참조 (B2B)](docs/zh-cn/stage-1/appendix-industry-scenarios/index.md) | 다양한 산업에서 AI 적용 사례 이해 | ✅ | -| [부록 C: AI 소비 시나리오 영감 참조 (B2C)](docs/zh-cn/stage-1/appendix-c-consumer-scenarios/index.md) | 소비자 제품에서 AI 적용 사례 탐색 | ✅ | +| [부록 B: AI 산업 적용 시나리오 참조 (B2B)](docs/zh-cn/stage-1/appendix-industry-scenarios/index.md) | 다양한 산업에서 AI 적용 사례 이해 | ✅ | +| [부록 C: AI 소비 시나리오 영감 참조 (B2C)](docs/zh-cn/stage-1/appendix-c-consumer-scenarios/index.md) | 소비자 제품에서 AI 적용 사례 탐색 | ✅ | #### 부록: 기술 솔루션 -| 장 | 주요 내용 | 상태 | -| :------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------- | :--- | -| [부록 D: 코드 작성 시 오류 발생 시 대처 방법](docs/zh-cn/stage-1/appendix-b-common-errors/index.md) | Vibe Coding의 일반적인 오류 및 문제 해결 방법 | ✅ | -| [부록 E: 7가지 AI 프로그래밍 도구 비교](docs/zh-cn/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | 주요 AI 프로그래밍 플랫폼 비교 테스트 | ✅ | -| [부록 F: 디자인 및 프로그래밍 에이전트로 웹사이트 설계](docs/zh-cn/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | AI 에이전트 협업 사용 방법 학습 | ✅ | +| 장 | 주요 내용 | 상태 | +| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------- | :--- | +| [부록 D: 코드 작성 시 오류 발생 시 대처 방법](docs/zh-cn/stage-1/appendix-b-common-errors/index.md) | Vibe Coding의 일반적인 오류 및 문제 해결 방법 | ✅ | +| [부록 E: 7가지 AI 프로그래밍 도구 비교](docs/zh-cn/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | 주요 AI 프로그래밍 플랫폼 비교 테스트 | ✅ | +| [부록 F: 디자인 및 프로그래밍 에이전트로 웹사이트 설계](docs/zh-cn/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | AI 에이전트 협업 사용 방법 학습 | ✅ | ### 2. 초중급 개발 엔지니어 diff --git a/docs-readme/vi-VN/README.md b/docs-readme/vi-VN/README.md index e9ef560..1c1ca28 100644 --- a/docs-readme/vi-VN/README.md +++ b/docs-readme/vi-VN/README.md @@ -89,18 +89,18 @@ Chúng tôi tin rằng thông qua việc làm chủ Vibe Coding kết hợp vớ #### Phụ lục: Tư duy Kinh doanh -| Chương | Nội dung chính | Trạng thái | -| :------------------------------------------------------------------------------------------- | :---------------------------------------------------------- | :--------- | -| [Phụ lục A: Tư duy Sản phẩm và Thiết kế Giải pháp](docs/zh-cn/stage-1/appendix-a-product-thinking/index.md) | Các khung tư duy cần thiết để tạo sản phẩm từ số không đến một | ✅ | -| [Phụ lục B: Tham khảo Ứng dụng AI trong Ngành (B2B)](docs/zh-cn/stage-1/appendix-industry-scenarios/index.md) | Hiểu các ứng dụng AI trong các ngành khác nhau | ✅ | -| [Phụ lục C: Tham khảo Cảm hứng Kịch bản Tiêu dùng AI (B2C)](docs/zh-cn/stage-1/appendix-c-consumer-scenarios/index.md) | Khám phá các ứng dụng AI trong sản phẩm tiêu dùng | ✅ | +| Chương | Nội dung chính | Trạng thái | +| :--------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- | :--------- | +| [Phụ lục A: Tư duy Sản phẩm và Thiết kế Giải pháp](docs/zh-cn/stage-1/appendix-a-product-thinking/index.md) | Các khung tư duy cần thiết để tạo sản phẩm từ số không đến một | ✅ | +| [Phụ lục B: Tham khảo Ứng dụng AI trong Ngành (B2B)](docs/zh-cn/stage-1/appendix-industry-scenarios/index.md) | Hiểu các ứng dụng AI trong các ngành khác nhau | ✅ | +| [Phụ lục C: Tham khảo Cảm hứng Kịch bản Tiêu dùng AI (B2C)](docs/zh-cn/stage-1/appendix-c-consumer-scenarios/index.md) | Khám phá các ứng dụng AI trong sản phẩm tiêu dùng | ✅ | #### Phụ lục: Giải pháp Kỹ thuật -| Chương | Nội dung chính | Trạng thái | -| :---------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------- | :--------- | -| [Phụ lục D: Làm gì khi Gặp lỗi khi Viết Code](docs/zh-cn/stage-1/appendix-b-common-errors/index.md) | Các lỗi phổ biến trong Vibe Coding và phương pháp khắc phục | ✅ | -| [Phụ lục E: So sánh 7 Công cụ Lập trình AI](docs/zh-cn/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | So sánh và thử nghiệm các nền tảng lập trình AI chính | ✅ | +| Chương | Nội dung chính | Trạng thái | +| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------- | :--------- | +| [Phụ lục D: Làm gì khi Gặp lỗi khi Viết Code](docs/zh-cn/stage-1/appendix-b-common-errors/index.md) | Các lỗi phổ biến trong Vibe Coding và phương pháp khắc phục | ✅ | +| [Phụ lục E: So sánh 7 Công cụ Lập trình AI](docs/zh-cn/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | So sánh và thử nghiệm các nền tảng lập trình AI chính | ✅ | | [Phụ lục F: Thiết kế Website với Agent Thiết kế và Lập trình](docs/zh-cn/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | Học cách sử dụng AI Agent cộng tác | ✅ | ### 2. Kỹ sư phát triển cấp sơ-trung diff --git a/docs-readme/zh-CN/README.md b/docs-readme/zh-CN/README.md index 2957ef0..e69de29 100644 --- a/docs-readme/zh-CN/README.md +++ b/docs-readme/zh-CN/README.md @@ -1,237 +0,0 @@ - -
- -
-███████╗ █████╗ ███████╗██╗   ██╗    ██╗   ██╗██╗██████╗ ███████╗
-██╔════╝██╔══██╗██╔════╝╚██╗ ██╔╝    ██║   ██║██║██╔══██╗██╔════╝
-█████╗  ███████║███████╗ ╚████╔╝     ██║   ██║██║██████╔╝█████╗  
-██╔══╝  ██╔══██║╚════██║  ╚██╔╝      ╚██╗ ██╔╝██║██╔══██╗██╔══╝  
-███████╗██║  ██║███████║   ██║        ╚████╔╝ ██║██████╔╝███████╗
-╚══════╝╚═╝  ╚═╝╚══════╝   ╚═╝         ╚═══╝  ╚═╝╚═════╝ ╚══════╝
- -# Easy-Vibe: Learn Vibe Coding from 0 to 1 - -### _零基础、项目制学习、构建第一个 AI 产品_ - -

- 📌 开始在线阅读 (Start Reading Online) -

- -

- 在线阅读 · - 学习地图 · - 社区交流 -

- -

- - Stars - - Forks - - License -

- -

- 简体中文 - 繁體中文 - English - 日本語 - Español - Français - Klingon - 한국어 - العربية - Türkçe - Tiếng_Việt - Deutsch - বাংলা -

- -
- -## 🚀 项目介绍 - -当你尝试用AI写代码,出错不断,时常想放弃,不清楚如何将程序真正上线 😢。 - -本教程专门设计,从0到1,带你逐步掌握 Vibe Coding 技巧: - -- **第一阶段**:从**小游戏入门**到**Web 应用原型**,掌握 AI 编程基础与产品思维 -- **第二阶段**:学习**前后端开发与 AI 能力**相关的 vibecoding 技巧,完成完整应用 -- **第三阶段**:掌握**多平台复杂应用**的构建方案,走向生产级应用 - -我们相信,掌握Vibe Coding并配合系统化训练,一个人就能成为集前后端开发、AI 能力集成、产品设计于一身的开发者。 - -> **本项目主要面向三类学习者:** -> -> - **新手(普通人 / 产品与运营侧)**:帮助非技术入门学习者听懂关键概念,完成第一个产品原型。 -> - **初中级开发者(有一定基础的学生和开发者)**:掌握前后端 vibe coding 与 AI 能力知识。 -> - **高级开发者(公司与初创、开源与独立开发者)**:高级开发技巧、多平台开发。 - -### 📖 内容导航 - -
- Learning Map -
- -### 总附录 - -[AI 能力词典:常见 AI 核心概念与名词、场景解释](docs/zh-cn/appendix/ai-capability-dictionary.md) - -### 一、新手入门 & PM - 从游戏到 Web 应用原型 - -| 章节 | 关键内容 | 状态 | -| :--------------------------------------------------------------------------------------------------- | :------------------------------------------------ | :--- | -| [前言:学习地图](docs/zh-cn/stage-0/0.1-learning-map/index.md) | 整体学习路径导览 | ✅ | -| [初级一:AI 时代,会说话就会编程](docs/zh-cn/stage-0/0.2-ai-capabilities-through-games/index.md) | 通过贪吃蛇等案例初步感受 AI 编程的能力 | ✅ | -| [初级二:寻找好想法](docs/zh-cn/stage-1/1.0-finding-great-idea/index.md) | 学会寻找和验证产品想法,找到值得做的项目 | ✅ | -| [初级三:认识 AI IDE 工具](docs/zh-cn/stage-1/1.1-introduction-to-ai-ide/index.md) | 学会使用 IDE,在本地制作小游戏 | ✅ | -| [初级四:动手做出原型](docs/zh-cn/stage-1/1.2-building-prototype/index.md) | 从需求分析、AI 生成单页面,再到生成多页面产品原型 | ✅ | -| [初级五:给原型加上 AI 能力](docs/zh-cn/stage-1/1.3-integrating-ai-capabilities/index.md) | 学会接入常见 AI 能力(文本、图片、视频) | ✅ | -| [初级六:完整项目实战](docs/zh-cn/stage-1/1.4-complete-project-practice/index.md) | 模拟真实场景、接受用户反馈迭代,完整化项目 | ✅ | - -#### 附录:业务思维 - -| 章节 | 关键内容 | 状态 | -| :----------------------------------------------------------------------------------------- | :----------------------------------------- | :--- | -| [附录A:产品思维与方案设计](docs/zh-cn/stage-1/appendix-a-product-thinking/index.md) | 从零到一做产品需要考虑的思维框架 | ✅ | -| [附录B:AI 行业应用场景参考 (B端)](docs/zh-cn/stage-1/appendix-industry-scenarios/index.md) | 了解 AI 在不同产业的应用场景 | ✅ | -| [附录C:AI 消费场景灵感参考 (C端)](docs/zh-cn/stage-1/appendix-c-consumer-scenarios/index.md) | 探索 AI 在消费级产品中的应用场景 | ✅ | - -#### 附录:技术方案 - -| 章节 | 关键内容 | 状态 | -| :-------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------- | :--- | -| [附录D:写代码时遇到错误怎么办](docs/zh-cn/stage-1/appendix-b-common-errors/index.md) | vibe coding 中的常见错误及排查方法 | ✅ | -| [附录E:七款 AI 编程工具对比](docs/zh-cn/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial.md) | 对比测试主流 AI 编程平台 | ✅ | -| [附录F:用设计和编程 Agent 设计网站](docs/zh-cn/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents.md) | 学习如何使用 AI 智能体协同工作 | ✅ | - -### 二、初中级开发工程师 - -#### 前端部分 - -| 章节 | 关键内容 | 状态 | -| :------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------- | :--- | -| [前端零:使用 lovart 生产素材](docs/zh-cn/stage-2/frontend/2.0-lovart-assets/) | 学会用 lovart 批量生成人物、场景等视觉素材,为 UI 设计和前端开发提供素材基础 | 🚧 | -| [前端一:Figma 与 MasterGo 入门](docs/zh-cn/stage-2/frontend/2.1-figma-mastergo/) | 用设计工具梳理信息架构和页面结构,为前端实现打基础 | 🚧 | -| [前端二:构建第一个现代应用程序-UI 设计](docs/zh-cn/stage-2/frontend/2.2-ui-design/) | 基于设计稿完成组件化界面,实现从设计到代码的第一条链路 | 🚧 | -| [前端三:参考 UI 设计规范与多产品 UI 设计](docs/zh-cn/stage-2/frontend/2.3-multi-product-ui/) | 围绕统一主视觉扩展多产品界面,练习系统化设计能力 | 🚧 | -| [前端四:一起做霍格沃茨画像](docs/zh-cn/stage-2/frontend/2.4-hogwarts-portraits/chapter4-lets-build-hogwarts-portraits.md) | 从 0 到 1 做出接入 AI 能力的前端应用,串联设计与开发 | ✅ | - -#### 后端与全栈部分 - -| 章节 | 关键内容 | 状态 | -| :-------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------ | :--- | -| [后端一:什么是 API](docs/zh-cn/stage-2/backend/2.1-what-is-api/extra2/extra2-what-is-api.md) | 理解 HTTP 接口与请求响应模型,为后端集成与联调做准备 | ✅ | -| [后端二:从数据库到 Supabase](docs/zh-cn/stage-2/backend/2.2-database-supabase/chapter5/chapter5-from-database-to-supabase.md) | 在 Supabase 上落地数据库和 API,打通数据模型与前端页面 | ✅ | -| [后端三:大模型辅助编写接口代码与接口文档](docs/zh-cn/stage-2/backend/2.3-ai-interface-code/) | 用大模型协助生成接口与数据库文档及代码,实现可读可测的后端 | 🚧 | -| [后端四:Git 工作流](docs/zh-cn/stage-2/backend/2.4-git-workflow/extra1/extra1-what-is-git-and-what-is-github.md) | 在 Git 工作流中管理代码,进行版本控制和协作 | ✅ | -| [后端五:Zeabur 部署](docs/zh-cn/stage-2/backend/2.5-zeabur-deployment/extra6/extra6-zeabur-what-is-it-and-how-to-deploy-web-applications.md) | 将应用部署到 Zeabur 上线 | ✅ | -| [后端六:现代 CLI 开发工具](docs/zh-cn/stage-2/backend/2.6-modern-cli/extra7/extra7-cli-ai-coding-tools-and-the-principles-of-test-driven-development.md) | 使用 CLI 类 AI 编程工具加速开发与调试,形成个人工程化工作流 | ✅ | -| [后端七:如何集成 Stripe 等收费系统](docs/zh-cn/stage-2/backend/2.7-stripe-payment/) | 接入支付系统,完成收费链路与基础结算流程 | 🚧 | -| [大作业 1:构建第一个现代应用程序-全栈应用](docs/zh-cn/stage-2/assignments/2.1-fullstack-app/) | 综合前端、后端与支付模块,完成可上线的全栈 Web 应用 | 🚧 | -| [大作业 2:现代前端组件库 + Trae 实战](docs/zh-cn/stage-2/assignments/2.2-modern-frontend-trae/) | 使用现代前端组件库与 Trae,独立完成可登录注册并支持收费的产品 | 🚧 | - -#### AI 能力附录 - -| 章节 | 关键内容 | 状态 | -| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- | :--- | -| [AI 一:Dify 入门与知识库集成](docs/zh-cn/stage-2/ai-capabilities/2.1-dify-knowledge-base/chapter3/chapter3-getting-started-with-dify-and-its-knowledge-base-integration.md) | 用 Dify Workflow 与基础 RAG 搭建工具类产品,为后续应用升级打样 | ✅ | -| [AI 二:学会查询 AI 词典与集成多模态 API](docs/zh-cn/stage-2/ai-capabilities/2.2-multimodal-api/extra3/extra3-ai-capability-starter-handbook.md) | 学会查找合适的模型与 API,并把文本、图像等多模态能力接入产品 | 🚧 | - -### 三、高级开发工程师 - -| 章节 | 关键内容 | 状态 | -| :------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------- | :--- | -| [高级一:MCP 与 ClaudeCode Skills](docs/zh-cn/stage-3/core-skills/3.1-mcp-claudecode-skills/) | 通过 MCP 与 Skills 扩展 IDE 能力,把外部服务接成工具 | 🚧 | -| [高级二:如何让 Coding Tools 长时间工作](docs/zh-cn/stage-3/core-skills/3.2-long-running-tasks/) | 设计和配置长时间运行的任务,让 Coding Tools 更稳定可靠 | 🚧 | -| [高级三:多平台开发:如何构建微信小程序](docs/zh-cn/stage-3/cross-platform/3.3-wechat-miniprogram/) | 了解微信小程序生态,从官方模板到上线完成一个前端小程序 | ✅ | -| [高级四:多平台开发:如何构建微信小程序-包含后端](docs/zh-cn/stage-3/cross-platform/3.4-wechat-miniprogram-backend/) | 在小程序中接入数据库与后端逻辑,打通完整业务闭环 | 🚧 | -| [高级五:多平台开发:如何构建安卓程序](docs/zh-cn/stage-3/cross-platform/3.5-android-app/) | 使用 Expo 等工具,完成 Web/原生一体化的安卓应用开发 | 🚧 | -| [高级六:多平台开发:如何构建 iOS 程序](docs/zh-cn/stage-3/cross-platform/3.6-ios-app/) | 使用 Expo 等工具,完成 Web/原生一体化的 iOS 应用开发 | 🚧 | -| [高级七:如何构建属于自己的个人网页与学术博客](docs/zh-cn/stage-3/personal-brand/3.7-personal-website-blog/) | 从选型、搭建到部署,构建展示个人项目与学术成果的长久在线主页 | 🚧 | - -#### AI 能力附录 - -| 章节 | 关键内容 | 状态 | -| :-------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------ | :--- | -| [高级 AI 一:什么是 RAG 以及它如何工作](docs/zh-cn/stage-3/ai-advanced/3.a1-rag-introduction/extra5-what-is-rag-and-how-does-it-work-and-future.md) | 系统理解 RAG 原理与常见架构,为复杂应用提供知识检索基础 | ✅ | -| [高级 AI 二:中高级 RAG 与工作流编排:以 LangGraph 为例](docs/zh-cn/stage-3/ai-advanced/3.a2-langgraph-advanced-rag/) | 使用 LangGraph 等工具设计多步工作流与中高级 RAG 系统 | 🚧 | - -## 🛠️ 如何学习 - -- 根据个人能力,选择性地阅读和实践相关章节,如果有问题欢迎 issue 提问。 - -## 💻 本地启动本课件 - -### 现代方案 - -在 AI IDE 对话框(vscode、cursor、trae 等)中,输入下列提示词启动本课件: - -``` -请你帮我运行这个项目的本地服务 -``` - -### 旧方案 - -1. npm install -2. npm run dev -3. 打开浏览器访问 `http://localhost:3000` 即可查看。 - -## 🤝 参与贡献 - -- 如果你发现了一些问题,或者觉得任何可以改进本项目的地方,可以提 Issue 进行反馈。如果提完没有人回复你可以联系[保姆团队](https://github.com/datawhalechina/DOPMC/blob/main/OP.md)的同学进行反馈跟进~ -- 如果你想参与贡献本项目,可以提 Pull Request,如果提完没有人回复你可以联系[保姆团队](https://github.com/datawhalechina/DOPMC/blob/main/OP.md)的同学进行反馈跟进~ -- 如果你对 Datawhale 很感兴趣并想要发起一个新的项目,请按照[Datawhale 开源项目指南](https://github.com/datawhalechina/DOPMC/blob/main/GUIDE.md)进行操作即可~ - -## 🙏 感谢每位贡献者 - -- [散步-项目负责人](https://github.com/sanbuphy) (Datawhale成员) -- 方可-指导老师(Datawhale成员, 清华大学) -- [Yerim Kang](https://github.com/yerim25)(实践项目部分-清华大学) -- 赵芷霖(实践项目部分-清华大学) -- [李亦萱](https://yixuan20.github.io/)(页面美术设计-清华大学) -- AI Vibe Coding 101 内测群完整给建议体验的小伙伴们 - -### 特别感谢 - -- 感谢 [@Sm1les](https://github.com/Sm1les) 对本项目的帮助与支持 -- 感谢所有为本项目做出贡献的开发者们 ❤️ - -
- - - -
- -## 📧 联系我们 - -
-

如果有问题提建议吐槽,或者想要一起交流,请扫描下方二维码

- - -

扫描下方二维码关注公众号:Datawhale

- -
- -## 📄 LICENSE - -
- - 知识共享许可协议 - -
-本作品采用 - - 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 - -进行许可。 -
- -## Star History - -[![Star History Chart](https://api.star-history.com/svg?repos=datawhalechina/easy-vibe&type=date&legend=top-left)](https://www.star-history.com/#datawhalechina/easy-vibe&type=date&legend=top-left) diff --git a/docs/.vitepress/config.mjs b/docs/.vitepress/config.mjs index 7f63146..f661de5 100644 --- a/docs/.vitepress/config.mjs +++ b/docs/.vitepress/config.mjs @@ -372,7 +372,7 @@ export default defineConfig({ }, { text: '前端四:一起做霍格沃茨画像', - link: '/zh-cn/stage-2/frontend/2.4-hogwarts-portraits/chapter4-lets-build-hogwarts-portraits' + link: '/zh-cn/stage-2/frontend/2.4-hogwarts-portraits/' } ] }, @@ -382,11 +382,11 @@ export default defineConfig({ items: [ { text: '后端一:什么是 API', - link: '/zh-cn/stage-2/backend/2.1-what-is-api/extra2/extra2-what-is-api' + link: '/zh-cn/stage-2/backend/2.1-what-is-api/extra2/' }, { text: '后端二:从数据库到 Supabase', - link: '/zh-cn/stage-2/backend/2.2-database-supabase/chapter5/chapter5-from-database-to-supabase' + link: '/zh-cn/stage-2/backend/2.2-database-supabase/chapter5/' }, { text: '后端三:大模型辅助编写接口代码与接口文档', @@ -394,15 +394,15 @@ export default defineConfig({ }, { text: '后端四:Git 工作流', - link: '/zh-cn/stage-2/backend/2.4-git-workflow/extra1/extra1-what-is-git-and-what-is-github' + link: '/zh-cn/stage-2/backend/2.4-git-workflow/extra1/' }, { text: '后端五:如何部署 Web 应用', - link: '/zh-cn/stage-2/backend/2.5-zeabur-deployment/extra6/extra6-zeabur-what-is-it-and-how-to-deploy-web-applications' + link: '/zh-cn/stage-2/backend/2.5-zeabur-deployment/extra6/' }, { text: '后端六:现代 CLI 开发工具', - link: '/zh-cn/stage-2/backend/2.6-modern-cli/extra7/extra7-cli-ai-coding-tools-and-the-principles-of-test-driven-development' + link: '/zh-cn/stage-2/backend/2.6-modern-cli/extra7/' }, { text: '后端七:如何集成 Stripe 等收费系统', @@ -430,11 +430,11 @@ export default defineConfig({ items: [ { text: 'AI 一:Dify 入门与知识库集成', - link: '/zh-cn/stage-2/ai-capabilities/2.1-dify-knowledge-base/chapter3/chapter3-getting-started-with-dify-and-its-knowledge-base-integration' + link: '/zh-cn/stage-2/ai-capabilities/2.1-dify-knowledge-base/chapter3/' }, { text: 'AI 二:学会查询 AI 词典与集成多模态 API', - link: '/zh-cn/stage-2/ai-capabilities/2.2-multimodal-api/extra3/extra3-ai-capability-starter-handbook' + link: '/zh-cn/stage-2/ai-capabilities/2.2-multimodal-api/extra3/' } ] } @@ -492,7 +492,7 @@ export default defineConfig({ items: [ { text: '高级 AI 一:什么是 RAG 以及它如何工作', - link: '/zh-cn/stage-3/ai-advanced/3.a1-rag-introduction/extra5-what-is-rag-and-how-does-it-work-and-future' + link: '/zh-cn/stage-3/ai-advanced/3.a1-rag-introduction/' }, { text: '高级 AI 二:中高级 RAG 与工作流编排 - 以 LangGraph 为例', @@ -513,23 +513,23 @@ export default defineConfig({ items: [ { text: 'Extra 1: Git & GitHub', - link: '/zh-cn/extra/extra1/extra1-what-is-git-and-what-is-github' + link: '/zh-cn/stage-2/backend/2.4-git-workflow/extra1/' }, { text: 'Extra 2: What is API', - link: '/zh-cn/extra/extra2/extra2-what-is-api' + link: '/zh-cn/stage-2/backend/2.1-what-is-api/extra2/' }, { text: 'Extra 5: What is RAG', - link: '/zh-cn/extra/extra5/extra5-what-is-rag-and-how-does-it-work-and-future' + link: '/zh-cn/stage-3/ai-advanced/3.a1-rag-introduction/' }, { text: 'Extra 6: Zeabur Deployment', - link: '/zh-cn/extra/extra6/extra6-zeabur-what-is-it-and-how-to-deploy-web-applications' + link: '/zh-cn/stage-2/backend/2.5-zeabur-deployment/extra6/' }, { text: 'Extra 7: CLI AI Tools & TDD', - link: '/zh-cn/extra/extra7/extra7-cli-ai-coding-tools-and-the-principles-of-test-driven-development' + link: '/zh-cn/stage-2/backend/2.6-modern-cli/extra7/' } ] } @@ -555,15 +555,15 @@ export default defineConfig({ items: [ { text: '前端四:霍格沃茨画像', - link: '/zh-cn/project/chapter4/chapter4-lets-build-hogwarts-portraits' + link: '/zh-cn/stage-2/frontend/2.4-hogwarts-portraits/' }, { text: '后端二:Supabase 数据库', - link: '/zh-cn/project/chapter5/chapter5-from-database-to-supabase' + link: '/zh-cn/stage-2/backend/2.2-database-supabase/chapter5/' }, { text: 'AI 一:Dify & Knowledge Base', - link: '/zh-cn/project/chapter3/chapter3-getting-started-with-dify-and-its-knowledge-base-integration' + link: '/zh-cn/stage-2/ai-capabilities/2.1-dify-knowledge-base/chapter3/' } ] } diff --git a/docs/ja-jp/stage-2/intro.md b/docs/ja-jp/stage-2/intro.md index c16017e..f5d88da 100644 --- a/docs/ja-jp/stage-2/intro.md +++ b/docs/ja-jp/stage-2/intro.md @@ -39,7 +39,7 @@ - +
🧙 @@ -55,7 +55,7 @@ API設計、データベース管理、アプリケーションデプロイメント戦略を学ぶ: - +
🗄️ @@ -75,7 +75,7 @@ API設計、データベース管理、アプリケーションデプロイメ
- +
🌿 @@ -85,7 +85,7 @@ API設計、データベース管理、アプリケーションデプロイメ
- +
🚀 @@ -95,7 +95,7 @@ API設計、データベース管理、アプリケーションデプロイメ
- +
💻 @@ -135,7 +135,7 @@ API設計、データベース管理、アプリケーションデプロイメ ### AI機能拡張 - +
🎭 diff --git a/docs/zh-cn/appendix/cloud-services.md b/docs/zh-cn/appendix/cloud-services.md index cf2caae..fead9bd 100644 --- a/docs/zh-cn/appendix/cloud-services.md +++ b/docs/zh-cn/appendix/cloud-services.md @@ -1,292 +1,984 @@ -# 云计算与常见云平台服务版图(可映射 AWS / 阿里云) +# 云服务厂商入门指南 -> **学习指南**:云服务器不是"买了就能用的玩具",而是"需要精细运营的资产"。本章节会围绕一个核心问题展开:**如何在 AWS 和阿里云之间做出明智的技术选型?** 我们会用真实案例、成本对比和实战代码,帮你避开那些年我们踩过的坑。 +> 💡 **学习指南**:云服务厂商不是"买服务器的网站",而是"像水电公司一样提供计算能力的基础设施"。本章节会围绕一个核心问题展开:**从零开始,如何理解并使用云服务?** 我们会用真实场景、生动类比和实战步骤,帮你建立云服务的完整认知地图。 在开始之前,建议你先了解: -- **基础概念**:如果你还不熟悉 VPC、EC2、ECS 等基本概念,建议先阅读本章节第 1-2 节。 -- **成本意识**:云服务的计费模式复杂,建议先了解按需、预留、抢占式等计费方式。 +- **基础网络概念**:如果你还不熟悉 IP 地址、端口、域名等概念,建议先阅读 [网络基础知识](./web-basics.md) +- **API 是什么**:如果你对 API 还不了解,可以先看 [API 入门](./api-intro.md) --- -## 0. 引言:为什么选对云服务商能省下一辆宝马? +## 0. 引言:为什么越来越多公司不买服务器了? -想象一下这个场景:你是一家创业公司的技术负责人,公司刚刚获得了一笔融资,需要快速搭建线上业务。你面临着一系列选择:选哪家云服务商?用什么类型的服务器?如何规划架构才能既省钱又高效? +想象一下这个场景: -很多人第一次接触云服务时都会遇到类似的情况: +小明在 2010 年创业,想做一个网站。他经历了什么? -- 看着 AWS 和阿里云琳琅满目的服务列表,不知道从哪里下手 -- 同样的配置,为什么账单差距能有 3 倍之多 -- 项目上线后才发现,选的实例类型根本不适合业务场景 -- 流量突增时,系统直接崩溃,因为没做弹性扩容 +1. **买服务器**:花 2 万块钱买了一台戴尔服务器 +2. **找机房**:联系 IDC 机房,每个月付 3000 元托管费 +3. **装系统**:自己安装 Linux、配置环境 +4. **担心硬件**:硬盘坏了要自己换,机器过热要自己解决 +5. **流量暴增**:用户突然多了,系统撑不住了,又要买新服务器 -**直觉上,我们会以为是:"这个服务商太贵了"。** - -但大多数时候,问题并不在于价格本身,而在于我们**没有理解不同云服务的定位和适用场景**。 - -面对这些挑战,单纯比价已经捉襟见肘。我们需要一套更系统的选型方法论,来在功能、性能、成本之间找到最佳平衡点。这正是本章试图解决的问题。 - - +一年后,小明花了 5 万,服务器利用率却只有 10%。 --- -## 1. 云服务版图全景:AWS vs 阿里云核心服务映射 +小红的公司在 2024 年创业,她是怎么做的? -先给出一个简短的服务对照表,再看几个典型场景。 +1. **打开云服务商网站**:注册账号 +2. **点几下鼠标**:创建一台云服务器(2 分钟完成) +3. **按量付费**:用多少付多少,不用不花钱 +4. **自动扩容**:流量大了,点一下升级配置 +5. **全球部署**:想开美国分部?换个地域就行 -> 云服务版图,本质上是一张"能力地图",告诉我们:什么场景下该用什么工具。 +一个月后,小红花了 500 元,服务器利用率 80%。 -### 1.1 核心计算服务对照表 +**直觉上,我们会以为是:"云服务就是租服务器"。** -| 服务类型 | AWS | 阿里云 | 典型场景 | -|----------|-----|--------|----------| -| **虚拟服务器** | EC2 | ECS | 通用计算、Web 服务 | -| **无服务器函数** | Lambda | 函数计算 FC | 事件驱动、API 后端 | -| **容器编排** | EKS | ACK | 微服务、容器化应用 | -| **Serverless 容器** | Fargate | ECI | 无需管理服务器的容器 | -| **批处理** | Batch | 批量计算 | 定时任务、数据处理 | +但云服务的本质远不止于此——它是一场**计算能力的革命**。 -👇 **动手点点看**: -点击上方的服务版图,查看 AWS 和阿里云各层服务的详细对比。 +**从传统托管到云服务的演变**: - - -### 1.2 真实踩坑案例:为什么同样的配置,账单差了 3 倍? - -**案例背景**: -某创业公司开发了一款 SaaS 产品,初期选择了 AWS EC2 t3.medium 实例(2核4G),按月运行约 500 小时。上线 3 个月后,账单让他们大吃一惊:实际支出比预期高出近 3 倍。 - -**问题诊断**: - -| 问题点 | 预期 | 实际 | 浪费比例 | -|--------|------|------|----------| -| 实例选型 | t3.medium 足够 | 峰值时 CPU 积分耗尽,被迫升配 | 40% | -| 计费模式 | 按需付费灵活 | 未使用预留实例折扣 | 35% | -| 存储配置 | 默认 100GB GP2 | 实际只用 30GB,且未用 GP3 | 15% | -| 网络传输 | 预估 500GB/月 | 实际 2TB(未用 CDN) | 10% | - -**解决方案**: - -1. **更换实例家族**:从 t3 改为 m6g(Graviton2),性能提升 40%,价格降低 20% -2. **购买 Savings Plans**:承诺 1 年 Compute Savings Plan,节省 35% -3. **优化存储**:改用 GP3 卷,IOPS 提升 4 倍,成本降低 20% -4. **启用 CloudFront**:缓存静态资源,减少 70% 源站流量 - -**最终效果**: -- 月度账单从 $1,200 降至 $420 -- 性能提升 50%(响应时间从 200ms 降至 100ms) -- 为下一阶段用户增长预留了 3 倍容量空间 - -**核心启示**: -> 云服务不是"买了就能用",而是"需要持续优化"。第一次选型正确只能解决 20% 的问题,剩下的 80% 需要在运营过程中不断调整。 +> 过去:买服务器 → 找机房 → 装系统 → 担心硬件 → 流量暴增时束手无策 +> +> 现在:注册账号 → 点几下鼠标 → 按需付费 → 自动扩容 → 全球部署 --- -## 2. 计算服务选型:从 EC2/ECS 到函数计算 +## 1. 什么是云服务厂商?(概念篇) -### 2.1 计算服务的四种"性格" +### 1.1 一句话定义 -如果把云服务器比作交通工具,那么: +> 云服务厂商,就是**把计算能力、存储能力、网络能力包装成标准化的服务**,像自来水公司提供水、电力公司提供电一样,通过互联网提供给用户使用的公司。 -| 服务类型 | 交通工具类比 | 特点 | 适用场景 | -|----------|-------------|------|----------| -| **虚拟服务器 (EC2/ECS)** | 私家车 | 完全掌控,但需自己驾驶 | 需要自定义环境、长期运行的应用 | -| **无服务器函数 (Lambda/FC)** | 出租车 | 随叫随到,按行程付费 | 事件驱动、短时任务、API 后端 | -| **容器服务 (EKS/ACK)** | 公交车 | 标准化路线,多人共享 | 微服务架构、需要编排的容器化应用 | -| **Serverless 容器 (Fargate/ECI)** | 网约车 | 无需养车,随叫随走 | 不想管理服务器但需要容器化的场景 | +**关键特点**: +- ✅ **按需使用**:用多少买多少,不用不花钱 +- ✅ **随时扩容**:需要更多资源?点一下就行 +- ✅ **按秒计费**:有些服务甚至按秒计费,极其灵活 +- ✅ **全球覆盖**:在几十个国家都有数据中心 +- ✅ **自助服务**:24 小时都能操作,不需要人工审批 -👇 **动手点点看**: -拖动滑块调整您的业务场景参数,获取最佳计算方案推荐。 +### 1.2 云服务 VS 传统托管 - +| 对比维度 | 传统 IDC 托管 | 云服务 | +|---------|-------------|--------| +| **启动时间** | 几天到几周(买硬件、上架) | 几分钟(点几下鼠标) | +| **成本模式** | 固定成本(一次性买服务器) | 可变成本(按使用量付费) | +| **扩容难度** | 需要买新服务器、上架、配置 | 点一下升级配置 | +| **维护责任** | 自己换硬盘、修网络 | 厂商全管,你只管用 | +| **地理覆盖** | 只能在一个地方 | 全球几十个地域 | +| **技术门槛** | 需要懂硬件、网络、运维 | 开发者就能用 | -### 2.2 实战代码:AWS Lambda vs 阿里云函数计算 +### 1.3 云服务的"三巨头"分类 -**场景**:构建一个简单的图片缩略图生成服务。 +就像餐厅有不同的经营模式,云服务也有三种: -**AWS Lambda (Python)**: +| 类型 | 特点 | 典型代表 | 适用场景 | +|------|------|---------|---------| +| **公有云** | 谁都能用,资源共享 | AWS、阿里云、Azure | 绝大多数企业和个人 | +| **私有云** | 自己搭,独享资源 | OpenStack、VMware | 大型企业、政府、银行 | +| **混合云** | 公有 + 私有结合 | 各厂商都有解决方案 | 既需要合规又需要弹性的场景 | + +👉 **本书重点讲公有云**,因为它最常用、最适合学习。 + +--- + +## 2. 著名的云服务厂商有哪些?(格局篇) + +### 2.1 国际三巨头(AWS、Azure、Google Cloud) + +**国际三巨头对比**: + +| 特性 | AWS | Azure | Google Cloud | +|------|-----|-------|--------------| +| **市场份额** | 32% (第一) | 23% (第二) | 10% (第三) | +| **服务种类** | 200+ (最全) | 100+ | 100+ | +| **技术优势** | 成熟稳定 | 企业集成 | Kubernetes、AI | +| **价格** | 偏高 | 中等 | 相对便宜 | +| **适合场景** | 出海、初创 | 传统企业 | 容器化、AI | + +#### **AWS(Amazon Web Services)** + +- **出身**:亚马逊 2006 年推出的云服务 +- **地位**:全球市场份额第一(约 32%) +- **特点**: + - 服务种类最全(200+ 种服务) + - 功能最成熟稳定 + - 文档和社区资源丰富 + - 价格偏高,但性价比好 +- **适合**:出海企业、初创公司、大型互联网公司 + +#### **Microsoft Azure** + +- **出身**:微软 2010 年推出的云服务 +- **地位**:全球市场份额第二(约 23%) +- **特点**: + - 与 Windows、Office 生态深度集成 + - 企业级客户资源丰富 + - 混合云能力强 + - 对 .NET 开发者友好 +- **适合**:传统企业、微软技术栈公司 + +#### **Google Cloud Platform (GCP)** + +- **出身**:谷歌 2011 年推出的云服务 +- **地位**:全球市场份额第三(约 10%) +- **特点**: + - 在 Kubernetes、数据分析、AI 领域领先 + - 技术创新能力强 + - 价格相对便宜 + - 市场份额较小,生态不如前两家 +- **适合**:技术驱动型公司、容器化应用、AI 项目 + +### 2.2 国内三巨头(阿里云、腾讯云、华为云) + +#### **阿里云** + +- **出身**:阿里巴巴 2009 年成立的云计算部门 +- **地位**:中国市场份额第一(约 40%) +- **特点**: + - 国内最早、最成熟 + - 服务种类齐全 + - 电商、双十一技术积累深厚 + - 价格相对较高 +- **适合**:国内企业、电商相关项目 + +#### **腾讯云** + +- **出身**:腾讯 2013 年成立的云服务部门 +- **地位**:中国市场份额第二(约 15%) +- **特点**: + - 游戏、音视频能力强 + - 与微信、QQ 生态结合好 + - 价格相对便宜 + - 近几年发展迅速 +- **适合**:游戏、社交、直播类项目 + +#### **华为云** + +- **出身**:华为 2015 年成立的云服务部门 +- **地位**:中国市场份额第三(约 10%) +- **特点**: + - 硬件技术积累强 + - 政府和企业客户资源丰富 + - 安全合规能力强 + - AI 芯片(昇腾)有特色 +- **适合**:政府项目、大型国企、制造业 + +### 2.3 其他值得关注的厂商 + +| 厂商 | 特色 | 适合场景 | +|------|------|---------| +| **百度智能云** | AI 能力强(文心一言) | AI 应用、自动驾驶 | +| **字节火山引擎** | 视频云、推荐算法 | 短视频、直播 | +| **京东云** | 电商、物流技术 | 供应链相关项目 | +| **天翼云 / 移动云** | 运营商背景 | 政府项目、合规要求高 | +| **UCloud / 青云** | 中立云厂商 | 不想绑定大厂的创业公司 | + +### 2.4 怎么选云服务商? + +**选型决策流程**: + +``` +问题1:你的用户主要在哪里? +├─ 中国 → 阿里云 / 腾讯云 +└─ 海外 → AWS / Azure + +问题2:你的技术栈是什么? +├─ .NET → Azure +├─ Kubernetes / 大数据 → Google Cloud +└─ 通用 → AWS + +问题3:你的项目阶段? +├─ 测试 / 试水 → 按需付费 +└─ 生产环境 → 包年包月(省 30-60%) +``` + +**选型原则**: + +1. **看目标市场** + - 用户在中国 → 选阿里云、腾讯云 + - 用户在海外 → 选 AWS、Azure + - 全球业务 → 选有多地域的厂商 + +2. **看技术栈** + - 用微软技术 → 选 Azure + - 用 Kubernetes、大数据 → 选 GCP + - 用 AI/ML → 看 AWS、GCP、百度云 + +3. **看成本** + - 小项目试水 → 选便宜的(腾讯云、UCloud) + - 大规模生产 → 看总体成本(AWS 长期可能更省钱) + +4. **看生态** + - 已用其他服务(如 GitHub、Office 365)→ 选同生态的 + +**现实建议**: +> 初学者/小项目:选阿里云或腾讯云(文档是中文,客服在国内) +> +> 出海项目:选 AWS(最成熟、全球覆盖最好) +> +> 大企业:可能需要多云策略(不同业务用不同云) + +--- + +## 3. 一般怎么用云服务?(实战篇) + +### 3.1 从注册到上线的完整流程 + +#### **第一步:注册账号** + +**注册流程**: + +| 步骤 | 操作 | 说明 | +|------|------|------| +| 1 | 打开官网 | 如 `https://www.aliyun.com/` | +| 2 | 点击"免费注册" | 填写邮箱、密码 | +| 3 | 验证手机号 | 输入短信验证码 | +| 4 | 实名认证 | 上传身份证或企业资质 | +| 5 | 绑定支付 | 信用卡或支付宝 | + +⏱️ **预计耗时**:10-20 分钟 + +**需要准备什么**: +- ✅ 邮箱地址(建议用企业邮箱) +- ✅ 手机号码(用于验证) +- ✅ 信用卡或支付宝(用于实名认证和付费) + +**注册过程**: +1. 打开云服务商官网(如 `https://aws.amazon.com/cn/` 或 `https://www.aliyun.com/`) +2. 点击"免费注册" +3. 填写邮箱、密码 +4. 验证手机号 +5. 实名认证(上传身份证或企业资质) +6. 绑定支付方式 + +⏱️ **耗时**:约 10-20 分钟 + +#### **第二步:了解基础概念** + +在使用云服务之前,必须理解几个核心概念: + +**云服务核心概念**: + +| 概念 | 通俗解释 | 例子 | +|------|---------|------| +| **地域 (Region)** | 数据中心在哪个城市 | 华东(杭州)、美东(弗吉尼亚) | +| **可用区 (AZ)** | 一个城市内的多个数据中心 | 华东 1 可用区 A、B、C | +| **实例 (Instance)** | 一台虚拟服务器 | 2 核 4G 的云服务器 | +| **镜像 (Image)** | 操作系统模板 | CentOS 7.9、Ubuntu 20.04 | + +👉 **选择原则**:地域离用户越近,延迟越低 + +**地域(Region)**: +- 是什么:云服务的数据中心所在地区 +- 例子:华东(杭州)、美东(弗吉尼亚)、亚太(新加坡) +- 选择原则:离你的用户越近越好(延迟更低) + +**可用区(Availability Zone, AZ)**: +- 是什么:一个地域内的多个数据中心,相互隔离 +- 例子:华东 1 可用区 A、华东 1 可用区 B +- 作用:提高可用性(一个可用区挂了,另一个还能用) + +**实例(Instance)**: +- 是什么:一台虚拟服务器 +- 例子:一台 2 核 4G 的云服务器 +- 计费:按时长(按小时/月)或按量(按秒/按请求数) + +#### **第三步:创建第一台云服务器** + +**创建云服务器配置清单**: + +``` +配置项 推荐选择(测试环境) +───────────────────────────────────── +付费模式 按量付费(不用可关) +地域 华东-杭州(或离你最近的) +实例规格 2 核 4G(够用) +镜像 Ubuntu 20.04 或 CentOS 7.9 +存储 40GB 系统盘(默认) +网络 默认 VPC 网络 +带宽 按使用流量付费(省钱) +密码 设置并牢记 root 密码 +``` + +⏱️ **创建耗时**:1-2 分钟 + +**实战:在阿里云创建一台云服务器(ECS)** + +1. **登录控制台** + - 注册成功后,登录云控制台 + +2. **找到 ECS 服务** + - 搜索"云服务器 ECS"或在产品列表中找到 + +3. **点击"创建实例"** + +4. **选择配置** + ``` + - 付费模式:按量付费(测试)或 包年包月(长期) + - 地域:选择离你最近的(如华东-杭州) + - 实例规格:2 核 4G(测试够用了) + - 镜像:选择操作系统(如 CentOS 7.9 或 Ubuntu 20.04) + - 存储:40GB 系统盘(默认够用) + - 网络:默认 VPC 网络即可 + - 带宽:按使用流量付费(测试省钱) + ``` + +5. **设置密码** + - 设置 root 用户密码(记得保存!) + +6. **确认订单并启动** + - 检查配置无误后,点击"确认订单" + - 等待 1-2 分钟,实例创建完成 + +⏱️ **耗时**:约 5 分钟 + +#### **第四步:连接云服务器** + +**Linux 服务器(推荐使用 SSH)**: + +```bash +# 方式1:用密码登录 +ssh root@你的服务器公网IP +# 输入密码(密码不会显示,直接输完回车) + +# 方式2:用密钥登录(更安全,推荐) +ssh -i 你的私钥.pem root@你的服务器公网IP +``` + +**Windows 服务器**: + +- 使用远程桌面(RDP) +- 输入:`你的服务器公网IP:3389` +- 用户名:`Administrator` +- 密码:你设置的密码 + +#### **第五步:部署你的应用** + +```bash +# 1. 更新系统 +sudo yum update -y # CentOS +# 或 +sudo apt update && sudo apt upgrade -y # Ubuntu + +# 2. 安装必要软件(以安装 Node.js 为例) +curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash - +sudo yum install -y nodejs + +# 3. 上传代码(可以用 git 或 scp) +git clone https://github.com/yourusername/yourproject.git +cd yourproject + +# 4. 安装依赖 +npm install + +# 5. 启动应用 +npm start +``` + +### 3.2 常见使用场景 + +#### **场景 1:托管个人网站 / 博客** + +- **需要的服务**:云服务器(ECS)+ 域名 +- **配置建议**:1 核 2G 足够 +- **成本**:约 50-100 元/月 +- **技术栈**:Nginx + 静态文件 / WordPress + +#### **场景 2:部署 API 后端** + +- **需要的服务**:云服务器 + 数据库(RDS) +- **配置建议**:2 核 4G 起步 +- **成本**:约 200-500 元/月 +- **技术栈**:Node.js/Python + MySQL/PostgreSQL + +#### **场景 3:存储图片 / 视频** + +- **需要的服务**:对象存储(OSS/S3) +- **配置建议**:按存储量和流量计费 +- **成本**:几元到几百元/月不等 +- **优势**:不用自己管硬盘,自动备份,CDN 加速 + +#### **场景 4:使用 AI 服务** + +- **需要的服务**:API 调用(如通义千问、文心一言) +- **配置建议**:按调用次数计费 +- **成本**:几分钱到几元/千次调用 +- **优势**:不用自己买 GPU,直接调用 API + +--- + +## 4. 如何购买和调用 API?(计费篇) + +### 4.1 云服务的计费模式 + +**云服务计费模式对比**: + +| 计费模式 | 类比 | 适合场景 | 节省潜力 | +|---------|------|---------|----------| +| **按需付费** | 单买票 | 测试环境、短期项目 | %(基准) | +| **包年包月** | 月票/年票 | 长期稳定负载 | 30-60% | +| **竞价实例** | 候补票 | 容错批处理任务 | 60-90% | +| **Serverless** | 计程车 | 事件驱动、流量波动大 | 视场景 40-70% | + +云服务的计费方式有很多种,理解它们能帮你省很多钱: + +#### **按需付费(Pay-as-you-go)** + +- **特点**:用多少付多少,不用不花钱 +- **适用**:测试环境、流量不稳定的项目 +- **例子**: + - 云服务器:按小时计费 + - 对象存储:按 GB + 请求次数计费 + - AI API:按调用次数计费 + +#### **包年包月 / 预留实例** + +- **特点**:承诺使用一定时长(1 年/3 年),享受折扣 +- **折扣**:通常 30-60% off +- **适用**:长期稳定运行的生产环境 +- **例子**:一台 2 核 4G 服务器 + - 按需:200 元/月 + - 包 1 年:140 元/月(省 30%) + +#### **竞价实例 / 抢占式实例** + +- **特点**:价格很低(最多能省 90%),但可能被强制回收 +- **适用**:批处理任务、容错性高的任务 +- **例子**:数据处理任务、渲染任务 +- **风险**:云厂商资源紧张时,会强制收回实例 + +#### **Serverless 按调用次数** + +- **特点**:不用关心服务器,只关心调用次数 +- **计费**:调用次数 + 计算时间 + 流量 +- **适用**:API 接口、事件驱动任务 +- **例子**:阿里云函数计算 + - 前 100 万次调用:免费 + - 超出后:1.33 元/百万次 + +### 4.2 购买 API 调用的完整流程 + +以**调用通义千问 API** 为例: + +**购买 API 调用流程**: + +``` +1. 开通服务 → 进入 AI 开放平台,点击"立即开通" +2. 获取密钥 → 进入 API-KEY 管理,创建密钥(只显示一次!) +3. 配置权限 → 创建 RAM 用户,授予最小权限 +4. 调用测试 → 用 Python 或 JavaScript 发起第一次调用 +``` + +⚠️ **重要提示**:API Key 只显示一次,请立即保存! + +#### **步骤 1:开通 API 服务** + +1. 打开云厂商的"AI 开放平台"或"机器学习平台 PAI" +2. 找到"通义千问"或"DashScope" +3. 点击"立即开通"或"免费试用" + +⏱️ **耗时**:约 2 分钟 + +#### **步骤 2:获取 API Key** + +1. 进入控制台的"API-KEY 管理" +2. 点击"创建我的 API-KEY" +3. **重要**:复制并保存这个 Key(只显示一次!) ```python +# 示例:你的 API Key 长这样 +sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +``` + +#### **步骤 3:配置权限(IAM)** + +**API Key 安全最佳实践**: + +| 安全实践 | 说明 | 示例 | +|---------|------|------| +| **环境变量** | 从环境变量读取密钥 | `os.environ['API_KEY']` | +| **最小权限** | 只授予必要的权限 | 只能调用 AI API,不能删除服务器 | +| **定期轮换** | 定期更换密钥 | 每 90 天轮换一次 | +| **监控告警** | 监控异常调用 | 调用频率异常时立即通知 | + +❌ **不要做**: +- 把密钥写在代码里 +- 把密钥提交到 GitHub +- 在公网传输明文密钥 + +在调用 API 之前,需要确保你的 API Key 有正确的权限: + +1. 进入"访问控制(RAM)"或"权限管理(IAM)" +2. 创建一个"用户"或"角色" +3. 给这个用户/角色授权: + - 只授权需要的权限(最小权限原则) + - 例如:只能调用通义千问,不能删除服务器 + +4. 生成 AccessKey ID 和 AccessKey Secret + +#### **步骤 4:调用 API** + +**Python 示例**: + +```python +import requests import json + +# 你的 API Key(需要从云厂商控制台获取) +API_KEY = "sk-your-api-key-here" + +# API 地址(以通义千问为例) +url = "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation" + +# 请求头 +headers = { + "Authorization": f"Bearer {API_KEY}", + "Content-Type": "application/json" +} + +# 请求体 +data = { + "model": "qwen-turbo", + "input": { + "messages": [ + {"role": "user", "content": "你好,请介绍一下你自己"} + ] + }, + "parameters": { + "result_format": "message" + } +} + +# 发送请求 +response = requests.post(url, headers=headers, json=data) + +# 处理响应 +if response.status_code == 200: + result = response.json() + print(result["output"]["choices"][0]["message"]["content"]) +else: + print(f"请求失败:{response.status_code}, {response.text}") +``` + +**JavaScript 示例**: + +```javascript +const fetch = require('node-fetch'); + +const API_KEY = 'sk-your-api-key-here'; +const url = 'https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation'; + +async function callQwen() { + const response = await fetch(url, { + method: 'POST', + headers: { + 'Authorization': `Bearer ${API_KEY}`, + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + model: 'qwen-turbo', + input: { + messages: [ + { role: 'user', content: '你好,请介绍一下你自己' } + ] + }, + parameters: { + result_format: 'message' + } + }) + }); + + const result = await response.json(); + console.log(result.output.choices[0].message.content); +} + +callQwen(); +``` + +### 4.3 计费陷阱与省钱技巧 + +#### **常见计费陷阱** + +**常见计费陷阱与解决方案**: + +| 陷阱 | 问题 | 后果 | 解决方案 | +|------|------|------|----------| +| **忘记关实例** | 测试完忘记关云服务器 | 一个月后收到几千元账单 | 设置自动释放时间 | +| **流量超了** | 以为是"包年包月",实际是"按流量计费" | 一个视频火了,流量费几千元 | 明确计费模式,使用 CDN | +| **免费额度用完** | 以为一直免费,实际有上限 | 额度用完后开始按高价计费 | 设置费用告警 | +| **请求爆炸** | 代码 Bug,无限循环调用 API | 一晚上产生几百万次调用 | 设置请求频率限制 | + +1. **忘记关实例** + - 问题:测试完忘记关云服务器,还在计费 + - 后果:一个月后收到几千元账单 + - 解决:设置自动释放时间,或用按量付费+定时关机 + +2. **流量超了** + - 问题:以为带宽是"包年包月",结果是"按流量计费" + - 后果:一个视频火了,流量费几千元 + - 解决:明确计费模式,使用 CDN 降低流量成本 + +3. **免费额度用完** + - 问题:以为一直免费,其实免费额度有上限 + - 后果:免费额度用完后开始按高价计费 + - 解决:设置费用告警,超过一定额度立刻通知 + +4. **请求次数爆炸** + - 问题:代码 Bug,无限循环调用 API + - 后果:一晚上产生几百万次调用,账单几千元 + - 解决:设置请求频率限制和费用上限 + +#### **省钱技巧** + +1. **使用免费额度** + - 大部分云服务都有免费试用 + - 例如:阿里云新用户 3 个月免费 + - AWS 12 个月免费 tier + +2. **购买预留实例** + - 长期运行的服务,买包年包月 + - 能省 30-60% + +3. **使用竞价实例** + - 批处理任务用竞价实例 + - 能省 70-90% + +4. **合理选择存储类型** + - 热数据用标准存储 + - 冷数据用低频访问或归档存储 + - 能省 50-80% + +5. **设置费用告警** + - 云厂商都支持设置"预算告警" + - 超过某个金额立刻发邮件/短信通知 + +--- + +## 5. 权限管理(IAM)是什么?怎么起源?(安全篇) + +### 5.1 为什么需要权限管理? + +想象一下这个场景: + +**场景对比:为什么需要权限管理?** + +| 场景 | 没有权限管理 | 有权限管理(IAM) | +|------|-------------|-----------------| +| **操作权限** | 开发者 A 不小心删除了生产数据库 | 开发者 A 只能操作测试环境 | +| **离职管理** | 开发者 B 离职后还能继续访问 | 开发者 B 离职后账号立即被禁用 | +| **操作追溯** | 不知道谁在什么时候做了什么 | 所有操作都有日志记录 | + +**结论**:权限管理不是"可有可无",而是**云安全的第一道防线**。 + +### 5.2 权限管理的起源 + +#### **早期:单机时代(1980s-1990s)** + +- **场景**:一台服务器,几个人共用 +- **权限管理**: + - 操作系统用户:`root`, `user1`, `user2` + - 文件权限:`chmod 755 file.txt` +- **问题**:只能控制"谁能访问这台机器" + +#### **网络时代(2000s)** + +- **场景**:多台服务器,很多应用 +- **权限管理**: + - 每台服务器单独设置用户 + - 用 LDAP/Active Directory 统一管理 +- **问题**:配置复杂,容易出错 + +#### **云计算时代(2010s-至今)** + +- **场景**:成千上万台服务器,几百个开发者 +- **新问题**: + - 服务器数量动态变化 + - 开发者需要访问不同的服务 + - 需要细粒度的权限控制(谁能做什么) +- **解决方案**:**IAM(Identity and Access Management)** + +### 5.3 IAM 的核心概念 + +**IAM 核心概念**: + +| 概念 | 定义 | 例子 | +|------|------|------| +| **用户 (User)** | 代表一个人或应用 | `alice@company.com` | +| **组 (Group)** | 多个用户的集合 | `developers` 组 | +| **角色 (Role)** | 临时身份,可被应用调用 | `EC2-to-S3-Read-Only` | +| **策略 (Policy)** | 定义权限规则的 JSON 文档 | 允许读取 S3,禁止删除 | + +#### **用户(User)** + +- 是什么:代表一个"人"或"应用" +- 例子:`alice@company.com`, `backend-service` +- 作用:可以登录、拥有自己的密码/密钥 + +#### **组(Group)** + +- 是什么:多个用户的集合 +- 例子:`developers` 组, `admins` 组 +- 作用:批量授权(给组授权,组内所有用户自动继承) + +#### **角色(Role)** + +- 是什么:一种"临时身份",可以被应用或服务调用 +- 例子:`EC2-to-S3-Read-Only` 角色 +- 作用: + - 你的服务器(EC2)需要访问 S3 + - 不需要存储密钥,而是"扮演"一个角色 + - 更安全,密钥不会泄露 + +#### **策略(Policy)** + +- 是什么:定义"能做什么、不能做什么"的规则 +- 格式:JSON 文档 +- 例子: + +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "s3:Get*", + "s3:List*" + ], + "Resource": "arn:aws:s3:::my-bucket/*" + }, + { + "Effect": "Deny", + "Action": "s3:Delete*", + "Resource": "*" + } + ] +} +``` + +**解读**: +- 允许读取(Get)和列出(List)`my-bucket` 里的所有文件 +- 禁止删除(Delete)任何地方的文件 + +### 5.4 权限管理的最佳实践 + +**权限管理最佳实践**: + +| 原则 | 说明 | 正确做法 | 错误做法 | +|------|------|---------|---------| +| **最小权限** | 只授予必要的权限 | 只给读取开发环境 S3 的权限 | 给开发者管理员权限 | +| **职责分离** | 不要把所有权力给一个人 | 开发人员创建服务器,财务查看账单 | 一个人既能创建服务器又能计费 | +| **定期审计** | 定期检查权限 | 每季度检查一次用户权限 | 离职员工账号仍然活跃 | +| **启用 MFA** | 多因素认证 | 登录时需要密码+手机验证码 | 只使用密码登录 | +| **使用角色** | 用 Role 代替密钥 | EC2 绑定角色自动获取凭证 | 把密钥写在代码里 | + +#### **原则 1:最小权限原则(Least Privilege)** + +- **含义**:只授予完成任务所需的**最小权限** +- **例子**: + - ❌ 错误:给开发者"管理员"权限 + - ✅ 正确:给开发者"只能读取开发环境的 S3"权限 + +#### **原则 2:职责分离** + +- **含义**:不要把所有权力给一个人 +- **例子**: + - ❌ 错误:一个人既能创建服务器,又能计费 + - ✅ 正确:开发人员能创建服务器,财务人员能查看账单 + +#### **原则 3:定期审计** + +- **含义**:定期检查谁有什么权限 +- **例子**: + - 每季度检查一次用户权限 + - 离职员工的账号立即禁用 + - 长期不用的账号删除 + +#### **原则 4:启用 MFA(多因素认证)** + +- **含义**:登录时不仅需要密码,还需要手机验证码 +- **重要性**:防止密码泄露后账号被盗 +- **例子**: + ``` + 登录流程: + 1. 输入密码 + 2. 打开手机认证器(如 Google Authenticator) + 3. 输入 6 位动态验证码 + 4. 验证通过,登录成功 + ``` + +#### **原则 5:使用角色而不是密钥** + +- **含义**:服务器访问云资源时,用 Role,不要硬编码密钥 +- **问题**:密钥可能泄露 +- **例子**: + +```python +# ❌ 错误:硬编码密钥 +AWS_ACCESS_KEY = "AKIAIOSFODNN7EXAMPLE" +AWS_SECRET_KEY = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" + +# ✅ 正确:使用角色(自动获取临时凭证) +# EC2 实例绑定了某个角色后,SDK 会自动使用这个角色 import boto3 -from PIL import Image -import io - -s3 = boto3.client('s3') - -def lambda_handler(event, context): - # 从 S3 事件获取图片信息 - bucket = event['Records'][0]['s3']['bucket']['name'] - key = event['Records'][0]['s3']['object']['key'] - - # 下载原图 - response = s3.get_object(Bucket=bucket, Key=key) - image = Image.open(io.BytesIO(response['Body'].read())) - - # 生成缩略图 - thumbnail = image.copy() - thumbnail.thumbnail((200, 200)) - - # 上传缩略图 - thumbnail_key = key.replace('uploads/', 'thumbnails/') - buffer = io.BytesIO() - thumbnail.save(buffer, format='JPEG') - s3.put_object( - Bucket=bucket, - Key=thumbnail_key, - Body=buffer.getvalue(), - ContentType='image/jpeg' - ) - - return { - 'statusCode': 200, - 'body': json.dumps({ - 'message': 'Thumbnail created successfully', - 'thumbnail': thumbnail_key - }) - } +s3 = boto3.client('s3') # 自动使用实例角色 ``` -**阿里云函数计算 (Python)**: +### 5.5 实战:创建一个受限用户 + +**实战:创建受限用户(5 步)**: + +``` +步骤 1:创建用户 +├─ 进入 IAM/RAM 控制台 +├─ 点击"创建用户" +└─ 用户名:developer-test + +步骤 2:创建自定义策略 +├─ 选择 JSON 编辑模式 +├─ 输入权限规则(只允许读写 dev-bucket) +└─ 命名策略:S3DevBucketReadWrite + +步骤 3:附加策略到用户 +├─ 在用户详情页点击"添加权限" +└─ 搜索并勾选刚创建的策略 + +步骤 4:生成访问密钥 +├─ 点击"创建访问密钥" +└─ ⚠️ 立即复制密钥(只显示一次!) + +步骤 5:测试权限 +├─ 测试访问 dev-bucket(应该成功) +└─ 测试访问 prod-bucket(应该失败) +``` + +#### **步骤 1:创建用户** + +1. 进入"IAM"或"RAM"控制台 +2. 点击"创建用户" +3. 用户名:`developer-test` +4. 访问方式:选择"编程访问"(会生成 AccessKey) + +#### **步骤 2:创建自定义策略** + +1. 点击"权限"→"创建策略" +2. 选择"JSON"编辑模式 +3. 输入以下策略: + +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "s3:GetObject", + "s3:PutObject", + "s3:DeleteObject", + "s3:ListBucket" + ], + "Resource": [ + "arn:aws:s3:::dev-bucket", + "arn:aws:s3:::dev-bucket/*" + ] + } + ] +} +``` + +4. 命名策略:`S3DevBucketReadWrite` + +#### **步骤 3:将策略附加到用户** + +1. 在用户详情页,点击"添加权限" +2. 选择"附加现有策略" +3. 搜索并勾选 `S3DevBucketReadWrite` +4. 点击"添加权限" + +#### **步骤 4:生成访问密钥** + +1. 在用户详情页,点击"创建访问密钥" +2. **重要**:立即复制 `Access Key ID` 和 `Secret Access Key`(只显示一次!) + +#### **步骤 5:测试权限** ```python -import json -import oss2 -from PIL import Image -import io -import os +import boto3 -# 从环境变量获取 OSS 配置 -OSS_ENDPOINT = os.environ['OSS_ENDPOINT'] -OSS_BUCKET = os.environ['OSS_BUCKET'] -OSS_ACCESS_KEY = os.environ['OSS_ACCESS_KEY'] -OSS_SECRET_KEY = os.environ['OSS_SECRET_KEY'] +# 使用刚才创建的密钥 +s3 = boto3.client( + 's3', + aws_access_key_id='YOUR_ACCESS_KEY', + aws_secret_access_key='YOUR_SECRET_KEY' +) -def handler(event, context): - # 解析 OSS 事件 - evt = json.loads(event) - oss_event = evt['events'][0] - bucket_name = oss_event['oss']['bucket']['name'] - object_key = oss_event['oss']['object']['key'] +# 测试:应该成功 +s3.list_objects_v2(Bucket='dev-bucket') - # 初始化 OSS 客户端 - auth = oss2.Auth(OSS_ACCESS_KEY, OSS_SECRET_KEY) - bucket = oss2.Bucket(auth, OSS_ENDPOINT, bucket_name) - - # 下载原图 - object_stream = bucket.get_object(object_key) - image = Image.open(io.BytesIO(object_stream.read())) - - # 生成缩略图 - thumbnail = image.copy() - thumbnail.thumbnail((200, 200)) - - # 上传缩略图 - thumbnail_key = object_key.replace('uploads/', 'thumbnails/') - buffer = io.BytesIO() - thumbnail.save(buffer, format='JPEG') - bucket.put_object(thumbnail_key, buffer.getvalue()) - - return { - 'statusCode': 200, - 'body': json.dumps({ - 'message': '缩略图生成成功', - 'thumbnail': thumbnail_key - }) - } +# 测试:应该失败(因为策略只允许 dev-bucket) +try: + s3.list_objects_v2(Bucket='prod-bucket') +except Exception as e: + print(f"访问被拒绝(符合预期):{e}") ``` -**成本对比(每月 100 万次调用)**: +### 5.6 常见错误与安全风险 -| 服务商 | 计算费用 | 请求费用 | 总费用 | 特点 | -|--------|----------|----------|--------|------| -| AWS Lambda | $0(前 1M 免费) | $0.20/百万 | ~$0.20 | 免费额度高,超出后贵 | -| 阿里云 FC | $0(前 100万 免费) | ¥0.0133/万次 | ~¥1.33 | 国内价格低,但免费额度少 | +**常见安全错误与风险**: + +| 错误类型 | 错误做法 | 后果 | 正确做法 | +|---------|---------|------|----------| +| **硬编码密钥** | 把密钥写在代码里 | 代码上传 GitHub 后泄露 | 从环境变量读取 | +| **过度授权** | 给所有人管理员权限 | 任何人都能删除资源 | 遵循最小权限原则 | +| **不启用 MFA** | 只使用密码登录 | 密码泄露后账号被盗 | 启用多因素认证 | +| **不审计** | 离职员工账号仍活跃 | 前员工可以继续访问 | 离职立即禁用账号 | + +**代码示例对比**: + +```python +# ❌ 危险:密钥泄露风险 +AWS_KEY = "AKIAIOSFODNN7EXAMPLE" +SECRET = "wJalrXUtnFEMI/K7MDENG..." + +# ✅ 安全:从环境变量读取 +import os +AWS_KEY = os.environ['AWS_ACCESS_KEY_ID'] +SECRET = os.environ['AWS_SECRET_ACCESS_KEY'] +``` + +**后果**:代码上传到 GitHub 后,密钥泄露,黑客可以用你的账号挖矿、删除数据。 --- -## 3. 存储服务选型:对象存储 vs 块存储 vs 文件存储 +## 6. 总结:云服务的本质 -### 3.1 存储服务的"三种形态" +通过本章的学习,我们可以得出几个核心结论: -如果把数据存储比作"存东西",那么: +**从实践来看**: +- 云服务不是"租服务器",而是"购买计算能力的基础设施服务" +- 选对云服务商可以省 30-50% 的成本 +- 权限管理是云安全的第一道防线,必须重视 -| 存储类型 | 现实类比 | 数据访问方式 | 典型场景 | -|----------|----------|--------------|----------| -| **对象存储 (S3/OSS)** | 仓库 | 通过唯一 ID 访问,扁平结构 | 图片、视频、备份、静态网站 | -| **块存储 (EBS/云盘)** | 硬盘 | 挂载到服务器,裸设备访问 | 数据库、需要文件系统的应用 | -| **文件存储 (EFS/NAS)** | 共享文件夹 | 通过文件路径访问,层次结构 | 共享文件、内容管理、HPC | +**从成本视角看**: +- 按需付费适合测试和流量不稳定的项目 +- 包年包月适合长期运行的生产环境 +- 设置费用告警,避免意外高额账单 -👇 **动手点点看**: -选择您的存储场景,查看 AWS 和阿里云的对应服务及选型建议。 +**从安全视角看**: +- 永远不要把密钥写在代码里 +- 遵循最小权限原则 +- 启用 MFA,定期审计权限 - - ---- - -## 4. 网络服务选型:VPC、负载均衡与 CDN - -### 4.1 网络服务的"交通规划" - -如果把云网络比作"城市交通系统",那么: - -| 网络服务 | 交通类比 | 核心功能 | 典型场景 | -|----------|----------|----------|----------| -| **VPC/专有网络** | 封闭小区 | 逻辑隔离的网络环境 | 多应用隔离、安全合规 | -| **ELB/SLB** | 交通调度员 | 流量分发、故障转移 | 高可用 Web 服务、应用集群 | -| **CloudFront/CDN** | 快递站点 | 边缘缓存、就近访问 | 静态资源加速、全球分发 | -| **Direct Connect** | 专属通道 | 专线连接、低延迟 | 混合云、大数据传输 | - -👇 **动手点点看**: -探索 AWS 和阿里云网络服务的架构差异和选型建议。 - - - ---- - -## 5. 安全与身份认证服务 - -### 5.1 云安全的"三道防线" - -| 安全层次 | AWS 服务 | 阿里云服务 | 核心功能 | -|----------|----------|------------|----------| -| **身份认证** | IAM | RAM | 用户管理、权限控制、访问密钥 | -| **网络安全** | WAF + Shield | WAF + 高防 | DDoS 防护、Web 攻击防护 | -| **数据安全** | KMS | KMS | 密钥管理、数据加密 | - -👇 **动手点点看**: -对比 AWS IAM 和阿里云 RAM 的功能差异和最佳实践。 - - - ---- - -## 6. 计费模式与成本优化 - -### 6.1 云服务的"四种买票方式" - -| 计费模式 | 类比 | 适用场景 | 节省潜力 | -|----------|------|----------|----------| -| **按需付费** | 单买票 | 测试环境、短期项目 | 0%(基准) | -| **预留实例** | 月票/年票 | 长期稳定负载 | 30-60% | -| **抢占式实例** | 候补票 | 容错批处理任务 | 60-90% | -| **无服务器** | 计程车 | 事件驱动、流量波动大 | 视场景 40-70% | - -👇 **动手点点看**: -计算不同计费模式下的成本对比和最优选择。 - - - ---- - -## 7. 实战:如何选择适合你的云服务组合? - -### 7.1 场景化选型决策树 - -👇 **动手点点看**: -根据您的业务场景,获取定制化的云服务选型建议。 - - +**下一步建议**: +1. 选择一个云服务商(建议国内选阿里云/腾讯云,海外选 AWS) +2. 注册账号,创建第一台云服务器 +3. 学习基础的 Linux 操作命令 +4. 了解并实践 IAM 权限管理 +5. 尝试调用一个 AI API(如通义千问) --- @@ -294,36 +986,19 @@ def handler(event, context): | 英文术语 | 中文对照 | 解释 | |----------|----------|------| -| **EC2** | 弹性计算云 | AWS 的虚拟服务器服务,类似阿里云的 ECS | -| **ECS** | 弹性计算服务 | 阿里云的虚拟服务器服务,类似 AWS 的 EC2 | -| **Lambda** | 无服务器函数 | AWS 的事件驱动计算服务,类似阿里云的函数计算 | -| **VPC** | 虚拟私有云 | 隔离的网络环境,AWS 和阿里云都有同名服务 | -| **S3** | 简单存储服务 | AWS 的对象存储,类似阿里云的 OSS | -| **OSS** | 对象存储服务 | 阿里云的对象存储,类似 AWS 的 S3 | -| **RDS** | 关系型数据库服务 | 托管的数据库服务,AWS 和阿里云都有 | -| **IAM** | 身份与访问管理 | 权限管理服务,AWS 和阿里云都有同名服务 | -| **ELB/SLB** | 负载均衡 | 流量分发服务,AWS 叫 ELB,阿里云叫 SLB | -| **CloudFront/CDN** | 内容分发网络 | 全球加速服务,AWS 叫 CloudFront,阿里云叫 CDN | - ---- - -## 总结:云选型的本质 - -通过本章的学习,我们可以得出几个核心结论: - -**从实践来看**: -- 不是功能越多越好,而是匹配度越高越好 -- 第一次选型只能解决 20% 的问题,剩下 80% 需要在运营中持续优化 -- 多云策略不是"全都要",而是"各取所长" - -**从成本视角看**: -- 预留实例和 Savings Plans 是长期稳定负载的最优选择 -- 抢占式/Spot 实例适合容错性高的批处理任务 -- 无服务器架构在流量波动大的场景下最具成本优势 - -**从架构视角看**: -- 计算服务的选择决定了系统的弹性和扩展能力 -- 存储服务的选择影响了数据的可靠性和访问速度 -- 网络服务的选择直接关系到用户体验和安全性 - -目标是:在给定的业务需求和预算约束下,让每一个云资源的投入都产生最大化的业务价值。 +| **Cloud Service Provider** | 云服务厂商 | 提供云计算服务的公司,如 AWS、阿里云 | +| **Region** | 地域 | 云服务的数据中心所在地区,如华东-杭州 | +| **Availability Zone (AZ)** | 可用区 | 一个地域内的多个数据中心,相互隔离 | +| **Instance** | 实例 | 一台虚拟服务器 | +| **ECS** | 弹性计算服务 | 阿里云的云服务器服务 | +| **EC2** | Elastic Compute Cloud | AWS 的云服务器服务 | +| **OSS** | 对象存储服务 | 阿里云的对象存储 | +| **S3** | Simple Storage Service | AWS 的对象存储 | +| **IAM** | 身份与访问管理 | 权限管理服务,控制谁能做什么 | +| **RAM** | Resource Access Management | 阿里云的权限管理服务 | +| **AccessKey** | 访问密钥 | 用于 API 调用的身份凭证 | +| **MFA** | 多因素认证 | 需要密码+验证码的登录方式 | +| **Policy** | 策略 | 定义权限规则的 JSON 文档 | +| **Role** | 角色 | 可以被应用或服务调用的临时身份 | +| **VPC** | 虚拟私有云 | 隔离的虚拟网络环境 | +| **CDN** | 内容分发网络 | 全球加速服务,缓存静态资源 | diff --git a/docs/zh-cn/guide/introduction.md b/docs/zh-cn/guide/introduction.md index e6fddf5..8dddece 100644 --- a/docs/zh-cn/guide/introduction.md +++ b/docs/zh-cn/guide/introduction.md @@ -53,14 +53,14 @@ | 前端一:Figma 与 MasterGo 入门 | 用设计工具梳理信息架构和页面结构,为前端实现打基础 | 🚧 | | 前端二:构建第一个现代应用程序-UI 设计 | 基于设计稿完成组件化界面,实现从设计到代码的第一条链路 | 🚧 | | 前端三:参考 UI 设计规范与多产品 UI 设计 | 围绕统一主视觉扩展多产品界面,练习系统化设计能力 | 🚧 | -| [前端四:一起做霍格沃茨画像](/zh-cn/stage-2/frontend/2.4-hogwarts-portraits/chapter4-lets-build-hogwarts-portraits) | 从 0 到 1 做出接入 AI 能力的前端应用,串联设计与开发 | 🚧 | +| [前端四:一起做霍格沃茨画像](/zh-cn/stage-2/frontend/2.4-hogwarts-portraits/) | 从 0 到 1 做出接入 AI 能力的前端应用,串联设计与开发 | 🚧 | #### 后端与全栈部分 | 章节 | 关键内容 | 状态 | | :---------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------ | :--- | | 后端一:什么是 API | 理解 HTTP 接口与请求响应模型,为后端集成与联调做准备 | 🚧 | -| [后端二:从数据库到 Supabase](/zh-cn/stage-2/backend/2.2-database-supabase/chapter5/chapter5-from-database-to-supabase) | 在 Supabase 上落地数据库和 API,打通数据模型与前端页面 | 🚧 | +| [后端二:从数据库到 Supabase](/zh-cn/stage-2/backend/2.2-database-supabase/chapter5/) | 在 Supabase 上落地数据库和 API,打通数据模型与前端页面 | 🚧 | | 后端三:大模型辅助编写接口代码与接口文档 | 用大模型协助生成接口与数据库文档及代码,实现可读可测的后端 | 🚧 | | 后端四:Git 工作流与 Zeabur 部署 | 在 Git 工作流中管理代码,并将应用部署到 Zeabur 上线 | 🚧 | | 后端五:现代 CLI 开发工具 | 使用 CLI 类 AI 编程工具加速开发与调试,形成个人工程化工作流 | 🚧 | @@ -72,7 +72,7 @@ | 章节 | 关键内容 | 状态 | | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- | :--- | -| [AI 一:Dify 入门与知识库集成](/zh-cn/stage-2/ai-capabilities/2.1-dify-knowledge-base/chapter3/chapter3-getting-started-with-dify-and-its-knowledge-base-integration) | 用 Dify Workflow 与基础 RAG 搭建工具类产品,为后续应用升级打样 | 🚧 | +| [AI 一:Dify 入门与知识库集成](/zh-cn/stage-2/ai-capabilities/2.1-dify-knowledge-base/chapter3/) | 用 Dify Workflow 与基础 RAG 搭建工具类产品,为后续应用升级打样 | 🚧 | | AI 二:学会查询 AI 词典与集成多模态 API | 学会查找合适的模型与 API,并把文本、图像等多模态能力接入产品 | 🚧 | ### 三、高级开发工程师 diff --git a/docs/zh-cn/stage-0/index.md b/docs/zh-cn/stage-0/index.md index 4e85117..0e40514 100644 --- a/docs/zh-cn/stage-0/index.md +++ b/docs/zh-cn/stage-0/index.md @@ -29,14 +29,14 @@ 从你自己的爱好出发。 + +::: tip 为什么爱好是最好的起点? + +**1. 你天然理解这个群体** +- 你自己就是用户,你知道这个群体的真实痛点 +- 你了解他们的语言、习惯、情感诉求 +- 你不需要做大量的用户调研,因为你就在其中 + +**2. 热情是最好的驱动力** +- 创业是漫长而艰难的旅程,热爱让你能坚持更久 +- 你会愿意花时间去深入了解,不断打磨产品 +- 即使遇到困难,热情也会推动你找到解决方案 + +**3. 天然的用户共情能力** +- 你能感同身受地理解用户的 frustrations +- 你知道什么功能真正重要,什么是锦上添花 +- 你的产品决策会更贴近真实需求 + +::: + +::: info 案例:从爱好中诞生的成功产品 + +**案例一:Strava(运动社交平台)** +- 创始人是狂热的自行车爱好者 +- 他发现骑行者渴望记录和分享自己的路线、成绩 +- 因为自己就是用户,所以产品功能非常贴合需求 +- 现在成为全球最大的运动社交平台之一 + +**案例二:Notion(笔记工具)** +- 创始人是效率工具的重度用户 +- 他自己就是目标用户,深知知识管理的痛点 +- 从个人需求出发,逐步扩展到团队协作 +- 现在估值超过 100 亿美元 + +**案例三:B站(哔哩哔哩)** +- 创始人徐逸本身就是二次元文化的爱好者 +- 他深刻理解 ACG 群体的需求和社区文化 +- 从个人兴趣出发,打造了独特的弹幕文化 +- 现在成为中国最大的年轻人文化社区 + +::: + +::: warning 关键洞察:你的爱好 + 群体痛点 = 最好的种子用户 + +当你从自己的爱好出发时: +- 你天然可以共情——你知道用户的喜怒哀乐 +- 你拥有最好的种子用户——你的朋友、同好就是这个群体 +- 你能做出最好的应用——因为你真正理解需求 + +**问问自己:** +1. 你平时最喜欢做什么?(游戏、运动、阅读、音乐、手工……) +2. 在这个爱好中,你有什么 frustrations? +3. 你的同好们经常抱怨什么? +4. 如果有一个产品能解决这些问题,你会用吗?会付费吗? + +**记住:** 最好的产品往往诞生于创始人解决自己问题的过程中。 + +::: + +### 2.2 案例:从"卡路里测量"中发现痛点 让我们从一个最简单的 idea 开始,看看如何从中发现真实痛点。 diff --git a/docs/zh-cn/stage-1/1.2-building-prototype/index.md b/docs/zh-cn/stage-1/1.2-building-prototype/index.md index 4192d0e..81c0be6 100644 --- a/docs/zh-cn/stage-1/1.2-building-prototype/index.md +++ b/docs/zh-cn/stage-1/1.2-building-prototype/index.md @@ -253,7 +253,7 @@ const duration = '约 8 小时' ## 2. 10分钟产出原型:让 AI IDE 落地"核心玩法" ::: info 💡 编程 Plan 建议 -如果你觉得当前 IDE 不够聪明,或者觉得很快就花完了额度,你可以去买一个**编程 Plan 计划**。提前预习参考[这个文章](../../stage-2/backend/2.6-modern-cli/extra7/extra7-cli-ai-coding-tools-and-the-principles-of-test-driven-development.md)使用 Claude 进行编程。 +如果你觉得当前 IDE 不够聪明,或者觉得很快就花完了额度,你可以去买一个**编程 Plan 计划**。提前预习参考[这个文章](../../stage-2/backend/2.6-modern-cli/extra7/)使用 Claude 进行编程。 ::: Thinking 是好事,但不可 over thinking,我们就此控制过度反思,尝试从单个页面开始制作原型。 diff --git a/docs/zh-cn/stage-2/ai-capabilities/2.1-dify-knowledge-base/chapter3/chapter3-getting-started-with-dify-and-its-knowledge-base-integration.md b/docs/zh-cn/stage-2/ai-capabilities/2.1-dify-knowledge-base/chapter3/index.md similarity index 99% rename from docs/zh-cn/stage-2/ai-capabilities/2.1-dify-knowledge-base/chapter3/chapter3-getting-started-with-dify-and-its-knowledge-base-integration.md rename to docs/zh-cn/stage-2/ai-capabilities/2.1-dify-knowledge-base/chapter3/index.md index c6924dc..913ad65 100644 --- a/docs/zh-cn/stage-2/ai-capabilities/2.1-dify-knowledge-base/chapter3/chapter3-getting-started-with-dify-and-its-knowledge-base-integration.md +++ b/docs/zh-cn/stage-2/ai-capabilities/2.1-dify-knowledge-base/chapter3/index.md @@ -1,4 +1,4 @@ -# Project 3: Dify 入门与知识库集成 +# Dify 入门与知识库集成 # 回顾上节课 @@ -210,7 +210,7 @@ Dify 是一个用于开发 LLM 应用的开源平台。它提供了直观的界 本部分内容原本安排在后续课程中详细介绍,但考虑到当前部分学习者可能因网络限制暂时无法访问 Dify 官方网站或云端服务,我们决定提前提供这一可选的学习路径,帮助你顺利推进课程进度。 -你需要参考该教程入门 Zeabur 部署平台的基本使用方式:[Extra Knowledge 6 - Zeabur: What Is It and How to Deploy Web Applications](https://github.com/datawhalechina/easy-vibe/blob/main/docs/extra/extra6/extra6-zeabur-what-is-it-and-how-to-deploy-web-applications.md) +你需要参考该教程入门 web 部署平台的基本使用方式:[如何部署 Web 应用](/zh-cn/stage-2/backend/2.5-zeabur-deployment/extra6/) ![](images/image13.png) diff --git a/docs/zh-cn/stage-2/ai-capabilities/2.2-multimodal-api/extra3/extra3-ai-capability-starter-handbook.md b/docs/zh-cn/stage-2/ai-capabilities/2.2-multimodal-api/extra3/index.md similarity index 100% rename from docs/zh-cn/stage-2/ai-capabilities/2.2-multimodal-api/extra3/extra3-ai-capability-starter-handbook.md rename to docs/zh-cn/stage-2/ai-capabilities/2.2-multimodal-api/extra3/index.md diff --git a/docs/zh-cn/stage-2/backend/2.1-what-is-api/extra2/extra2-what-is-api.md b/docs/zh-cn/stage-2/backend/2.1-what-is-api/extra2/index.md similarity index 99% rename from docs/zh-cn/stage-2/backend/2.1-what-is-api/extra2/extra2-what-is-api.md rename to docs/zh-cn/stage-2/backend/2.1-what-is-api/extra2/index.md index 1fd06a1..c6bde34 100644 --- a/docs/zh-cn/stage-2/backend/2.1-what-is-api/extra2/extra2-what-is-api.md +++ b/docs/zh-cn/stage-2/backend/2.1-what-is-api/extra2/index.md @@ -1,4 +1,4 @@ -# 扩展知识 2 - API 开发手册:从核心逻辑到 AI 场景集成 +# API 开发手册:从核心逻辑到 AI 场景集成 随着数字化进程的加速,我们每天都在与成百上千个软件系统打交道。但对于初学者来说,一个始终绕不开的困惑是:**这些看起来互不相干的应用,到底是怎么“对话”的?** 为什么我在这个 App 里点一下,另一个 App 就能立刻做出反应? diff --git a/docs/zh-cn/stage-2/backend/2.2-database-supabase/chapter5/chapter5-from-database-to-supabase.md b/docs/zh-cn/stage-2/backend/2.2-database-supabase/chapter5/index.md similarity index 99% rename from docs/zh-cn/stage-2/backend/2.2-database-supabase/chapter5/chapter5-from-database-to-supabase.md rename to docs/zh-cn/stage-2/backend/2.2-database-supabase/chapter5/index.md index c118da1..920df42 100644 --- a/docs/zh-cn/stage-2/backend/2.2-database-supabase/chapter5/chapter5-from-database-to-supabase.md +++ b/docs/zh-cn/stage-2/backend/2.2-database-supabase/chapter5/index.md @@ -1,4 +1,4 @@ -# Project 5: 从数据库到 Supabase +# 从数据库到 Supabase 在上节课中,我们学会了 UI 设计程序 Mastergo 和 Figma 的基本用法,能够使用 github 进行代码的获取与版本管理,并通过 Zeabur 部署网站将自己的应用 / 网站传达给更多人使用。 diff --git a/docs/zh-cn/stage-2/backend/2.4-git-workflow/extra1/extra1-what-is-git-and-what-is-github.md b/docs/zh-cn/stage-2/backend/2.4-git-workflow/extra1/index.md similarity index 99% rename from docs/zh-cn/stage-2/backend/2.4-git-workflow/extra1/extra1-what-is-git-and-what-is-github.md rename to docs/zh-cn/stage-2/backend/2.4-git-workflow/extra1/index.md index 6587681..88a5213 100644 --- a/docs/zh-cn/stage-2/backend/2.4-git-workflow/extra1/extra1-what-is-git-and-what-is-github.md +++ b/docs/zh-cn/stage-2/backend/2.4-git-workflow/extra1/index.md @@ -1,4 +1,4 @@ -# 扩展知识 1 - 什么是 Git 和 GitHub +# 什么是 Git 和 GitHub 在之前的课程中,我们学习了如何使用基于 Web 的 vibe coding 工具编写代码。每次对话都会创建一个新版本的代码。但是,让我们思考一个问题:如果我们想恢复到之前的修改,有没有方便的方法?有没有一种工具可以记录我们在不同阶段的代码,使我们能够随时在不同版本之间切换和修改? diff --git a/docs/zh-cn/stage-2/backend/2.5-zeabur-deployment/extra6/extra6-zeabur-what-is-it-and-how-to-deploy-web-applications.md b/docs/zh-cn/stage-2/backend/2.5-zeabur-deployment/extra6/index.md similarity index 99% rename from docs/zh-cn/stage-2/backend/2.5-zeabur-deployment/extra6/extra6-zeabur-what-is-it-and-how-to-deploy-web-applications.md rename to docs/zh-cn/stage-2/backend/2.5-zeabur-deployment/extra6/index.md index 4b0624a..e58c7f7 100644 --- a/docs/zh-cn/stage-2/backend/2.5-zeabur-deployment/extra6/extra6-zeabur-what-is-it-and-how-to-deploy-web-applications.md +++ b/docs/zh-cn/stage-2/backend/2.5-zeabur-deployment/extra6/index.md @@ -1,4 +1,4 @@ -# 扩展知识 6 - 如何部署 Web 应用 +# 如何部署 Web 应用 在本教程中,我们将介绍如何将你的 Web 应用部署到互联网上,让其他人可以访问。我们会介绍三个常用的部署平台:**腾讯云 CloudBase**、**Vercel** 和 **Zeabur**,帮助你快速完成从"写好代码"到"让别人可以在互联网上访问你的网站"的完整流程。 diff --git a/docs/zh-cn/stage-2/backend/2.6-modern-cli/extra7/extra7-cli-ai-coding-tools-and-the-principles-of-test-driven-development.md b/docs/zh-cn/stage-2/backend/2.6-modern-cli/extra7/index.md similarity index 99% rename from docs/zh-cn/stage-2/backend/2.6-modern-cli/extra7/extra7-cli-ai-coding-tools-and-the-principles-of-test-driven-development.md rename to docs/zh-cn/stage-2/backend/2.6-modern-cli/extra7/index.md index afb1770..daa7505 100644 --- a/docs/zh-cn/stage-2/backend/2.6-modern-cli/extra7/extra7-cli-ai-coding-tools-and-the-principles-of-test-driven-development.md +++ b/docs/zh-cn/stage-2/backend/2.6-modern-cli/extra7/index.md @@ -1,4 +1,4 @@ -# 扩展知识 7 - CLI AI 编程工具与测试驱动开发原则 +# CLI AI 编程工具与测试驱动开发原则 在本教程中,我们将介绍直接在命令行中运行的 AI 编程 Agent。它们和之前学过的 Trae、Cursor 中的 Agent 不同,CLI AI 编程工具只能在终端中使用。与集成在 AI IDE 里的 Agent 相比,它们通常具有更长的上下文窗口、更快的工具调用速度,并且可以兼容更多种类的大模型。在最新的 AI Vibe Coding 实战中,我们往往会优先使用 CLI AI 编程工具,而不是 IDE 内置的编码 Agent。 diff --git a/docs/zh-cn/stage-2/backend/2.7-stripe-payment/index.md b/docs/zh-cn/stage-2/backend/2.7-stripe-payment/index.md index eab6c30..ebaa6b8 100644 --- a/docs/zh-cn/stage-2/backend/2.7-stripe-payment/index.md +++ b/docs/zh-cn/stage-2/backend/2.7-stripe-payment/index.md @@ -1,3 +1,3 @@ -# 后端六:如何集成 Stripe 等收费系统 +# 如何集成 Stripe 等收费系统 > 本章节正在编写中,敬请期待... diff --git a/docs/zh-cn/stage-2/frontend/2.4-hogwarts-portraits/chapter4-lets-build-hogwarts-portraits.md b/docs/zh-cn/stage-2/frontend/2.4-hogwarts-portraits/index.md similarity index 99% rename from docs/zh-cn/stage-2/frontend/2.4-hogwarts-portraits/chapter4-lets-build-hogwarts-portraits.md rename to docs/zh-cn/stage-2/frontend/2.4-hogwarts-portraits/index.md index e7fc044..c04d656 100644 --- a/docs/zh-cn/stage-2/frontend/2.4-hogwarts-portraits/chapter4-lets-build-hogwarts-portraits.md +++ b/docs/zh-cn/stage-2/frontend/2.4-hogwarts-portraits/index.md @@ -533,9 +533,9 @@ curl -X POST 'http://xxxxxxxx/v1/chat-messages' \ 终于,恭喜你顺利完成了 Hogwarts Portraits 页面的开发实现!接下来我们需要将它上传到 GitHub 平台,并将其部署到公共环境让所有人都能访问。 -你需要参考该教程,对如何使用 Github 进行研究,将自己的项目上传至 Github:[什么是 Github](https://datawhalechina.github.io/easy-vibe/stage-2/backend/2.4-git-workflow/extra1/extra1-what-is-git-and-what-is-github.html) +你需要参考该教程,对如何使用 Github 进行研究,将自己的项目上传至 Github:[什么是 Github](https://datawhalechina.github.io/easy-vibe/stage-2/backend/2.4-git-workflow/extra1/) -此外,你还需要学会如何使用 Zeabur,将其连接到 Github,并成功部署你的项目:[什么是 Zeabur](https://datawhalechina.github.io/easy-vibe/stage-2/backend/2.5-zeabur-deployment/extra6/extra6-zeabur-what-is-it-and-how-to-deploy-web-applications.html) +此外,你还需要学会如何使用 Zeabur,将其连接到 Github,并成功部署你的项目:[什么是 Zeabur](https://datawhalechina.github.io/easy-vibe/stage-2/backend/2.5-zeabur-deployment/extra6/) 如果你觉得自己开发一套 Hogwarts Portraits 项目很困难,你可以先从参考别的项目开始进行修改,本节课的官方代码地址为:https://github.com/THU-SIGS-AIID/Project4-Hogwarts-Portraits diff --git a/docs/zh-cn/stage-2/intro.md b/docs/zh-cn/stage-2/intro.md index dd78e68..35f3f34 100644 --- a/docs/zh-cn/stage-2/intro.md +++ b/docs/zh-cn/stage-2/intro.md @@ -30,7 +30,7 @@ description="学习主流 UI 设计规范,提升产品设计的一致性与美感" /> @@ -42,12 +42,12 @@ @@ -57,17 +57,17 @@ description="利用 AI 辅助生成后端接口代码及标准的接口文档,提升开发效率" /> @@ -99,12 +99,12 @@ diff --git a/docs/zh-cn/stage-3/ai-advanced/3.a1-rag-introduction/extra5-what-is-rag-and-how-does-it-work-and-future.md b/docs/zh-cn/stage-3/ai-advanced/3.a1-rag-introduction/index.md similarity index 100% rename from docs/zh-cn/stage-3/ai-advanced/3.a1-rag-introduction/extra5-what-is-rag-and-how-does-it-work-and-future.md rename to docs/zh-cn/stage-3/ai-advanced/3.a1-rag-introduction/index.md diff --git a/docs/zh-cn/stage-3/intro.md b/docs/zh-cn/stage-3/intro.md index 29e3b83..3d0a026 100644 --- a/docs/zh-cn/stage-3/intro.md +++ b/docs/zh-cn/stage-3/intro.md @@ -66,7 +66,7 @@