diff --git a/README.md b/README.md index 7f6d19af73..4663a63b2a 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Follow these steps to get started using these resources: #### Supported via GitHub Action (Automated & Always Up-to-Date) -[Arabic](./translations/ar/README.md) | [Bengali](./translations/bn/README.md) | [Bulgarian](./translations/bg/README.md) | [Burmese (Myanmar)](./translations/my/README.md) | [Chinese (Simplified)](./translations/zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](./translations/zh-HK/README.md) | [Chinese (Traditional, Macau)](./translations/zh-MO/README.md) | [Chinese (Traditional, Taiwan)](./translations/zh-TW/README.md) | [Croatian](./translations/hr/README.md) | [Czech](./translations/cs/README.md) | [Danish](./translations/da/README.md) | [Dutch](./translations/nl/README.md) | [Estonian](./translations/et/README.md) | [Finnish](./translations/fi/README.md) | [French](./translations/fr/README.md) | [German](./translations/de/README.md) | [Greek](./translations/el/README.md) | [Hebrew](./translations/he/README.md) | [Hindi](./translations/hi/README.md) | [Hungarian](./translations/hu/README.md) | [Indonesian](./translations/id/README.md) | [Italian](./translations/it/README.md) | [Japanese](./translations/ja/README.md) | [Kannada](./translations/kn/README.md) | [Korean](./translations/ko/README.md) | [Lithuanian](./translations/lt/README.md) | [Malay](./translations/ms/README.md) | [Malayalam](./translations/ml/README.md) | [Marathi](./translations/mr/README.md) | [Nepali](./translations/ne/README.md) | [Nigerian Pidgin](./translations/pcm/README.md) | [Norwegian](./translations/no/README.md) | [Persian (Farsi)](./translations/fa/README.md) | [Polish](./translations/pl/README.md) | [Portuguese (Brazil)](./translations/pt-BR/README.md) | [Portuguese (Portugal)](./translations/pt-PT/README.md) | [Punjabi (Gurmukhi)](./translations/pa/README.md) | [Romanian](./translations/ro/README.md) | [Russian](./translations/ru/README.md) | [Serbian (Cyrillic)](./translations/sr/README.md) | [Slovak](./translations/sk/README.md) | [Slovenian](./translations/sl/README.md) | [Spanish](./translations/es/README.md) | [Swahili](./translations/sw/README.md) | [Swedish](./translations/sv/README.md) | [Tagalog (Filipino)](./translations/tl/README.md) | [Tamil](./translations/ta/README.md) | [Telugu](./translations/te/README.md) | [Thai](./translations/th/README.md) | [Turkish](./translations/tr/README.md) | [Ukrainian](./translations/uk/README.md) | [Urdu](./translations/ur/README.md) | [Vietnamese](./translations/vi/README.md) +[Arabic](./translations/ar/README.md) | [Bengali](./translations/bn/README.md) | [Bulgarian](./translations/bg/README.md) | [Burmese (Myanmar)](./translations/my/README.md) | [Chinese (Simplified)](./translations/zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](./translations/zh-HK/README.md) | [Chinese (Traditional, Macau)](./translations/zh-MO/README.md) | [Chinese (Traditional, Taiwan)](./translations/zh-TW/README.md) | [Croatian](./translations/hr/README.md) | [Czech](./translations/cs/README.md) | [Danish](./translations/da/README.md) | [Dutch](./translations/nl/README.md) | [Estonian](./translations/et/README.md) | [Finnish](./translations/fi/README.md) | [French](./translations/fr/README.md) | [German](./translations/de/README.md) | [Greek](./translations/el/README.md) | [Hebrew](./translations/he/README.md) | [Hindi](./translations/hi/README.md) | [Hungarian](./translations/hu/README.md) | [Indonesian](./translations/id/README.md) | [Italian](./translations/it/README.md) | [Japanese](./translations/ja/README.md) | [Kannada](./translations/kn/README.md) | [Khmer](./translations/km/README.md) | [Korean](./translations/ko/README.md) | [Lithuanian](./translations/lt/README.md) | [Malay](./translations/ms/README.md) | [Malayalam](./translations/ml/README.md) | [Marathi](./translations/mr/README.md) | [Nepali](./translations/ne/README.md) | [Nigerian Pidgin](./translations/pcm/README.md) | [Norwegian](./translations/no/README.md) | [Persian (Farsi)](./translations/fa/README.md) | [Polish](./translations/pl/README.md) | [Portuguese (Brazil)](./translations/pt-BR/README.md) | [Portuguese (Portugal)](./translations/pt-PT/README.md) | [Punjabi (Gurmukhi)](./translations/pa/README.md) | [Romanian](./translations/ro/README.md) | [Russian](./translations/ru/README.md) | [Serbian (Cyrillic)](./translations/sr/README.md) | [Slovak](./translations/sk/README.md) | [Slovenian](./translations/sl/README.md) | [Spanish](./translations/es/README.md) | [Swahili](./translations/sw/README.md) | [Swedish](./translations/sv/README.md) | [Tagalog (Filipino)](./translations/tl/README.md) | [Tamil](./translations/ta/README.md) | [Telugu](./translations/te/README.md) | [Thai](./translations/th/README.md) | [Turkish](./translations/tr/README.md) | [Ukrainian](./translations/uk/README.md) | [Urdu](./translations/ur/README.md) | [Vietnamese](./translations/vi/README.md) > **Prefer to Clone Locally?** > diff --git a/translated_images/km/.co-op-translator.json b/translated_images/km/.co-op-translator.json new file mode 100644 index 0000000000..5490918817 --- /dev/null +++ b/translated_images/km/.co-op-translator.json @@ -0,0 +1,860 @@ +{ + "1.b6da8c1394b07491.webp": { + "original_hash": "6b12479c2e6a54160867fa8945c04082", + "translation_date": "2026-04-06T21:36:11+00:00", + "source_file": "5-browser-extension/1-about-browsers/images/1.png", + "language_code": "km" + }, + "1.cc07a5cbe114ad1d.webp": { + "original_hash": "fc436b6749801dd90d0558ae92d56b60", + "translation_date": "2026-04-06T21:37:37+00:00", + "source_file": "3-terrarium/2-intro-to-css/images/1.png", + "language_code": "km" + }, + "2.1dae52ff08042246.webp": { + "original_hash": "3995628a6a986308859d0cb6eed8d787", + "translation_date": "2026-04-06T21:35:57+00:00", + "source_file": "5-browser-extension/1-about-browsers/images/2.png", + "language_code": "km" + }, + "after-codeswing-extension-pb.0ebddddcf73b5509.webp": { + "original_hash": "861d59ec65a7334c5f3a4c02dfe22ceb", + "translation_date": "2026-04-06T21:34:26+00:00", + "source_file": "8-code-editor/images/after-codeswing-extension-pb.png", + "language_code": "km" + }, + "background.148a8d43afde5730.webp": { + "original_hash": "5a50f015fb466782c69063ffebb256de", + "translation_date": "2026-04-06T21:31:57+00:00", + "source_file": "images/background.png", + "language_code": "km" + }, + "backgroundColor.e19c3c60768150c8.webp": { + "original_hash": "b3e10fe033f615ec9d3580cce61eae09", + "translation_date": "2026-04-06T21:35:22+00:00", + "source_file": "6-space-game/solution/spaceArt/png/Background/backgroundColor.png", + "language_code": "km" + }, + "browser-console.efaf0b51aaaf6778.webp": { + "original_hash": "8d6c5077d1f133d27c65c0014ef503a9", + "translation_date": "2026-04-06T21:36:26+00:00", + "source_file": "7-bank-project/2-forms/images/browser-console.png", + "language_code": "km" + }, + "browser.60317c9be8b7f84a.webp": { + "original_hash": "aa4461fec006d86899864d991b50cc74", + "translation_date": "2026-04-06T21:32:11+00:00", + "source_file": "sketchnotes/browser.jpg", + "language_code": "km" + }, + "canvas.fbd605ff8e5b8aff.webp": { + "original_hash": "29556305738d345dd023554d788d5477", + "translation_date": "2026-04-06T21:31:26+00:00", + "source_file": "teaching-files/canvas.png", + "language_code": "km" + }, + "canvas_grid.5f209da785ded492.webp": { + "original_hash": "8da354720ffbfd778571aa17402de890", + "translation_date": "2026-04-06T21:35:14+00:00", + "source_file": "6-space-game/2-drawing-to-canvas/canvas_grid.png", + "language_code": "km" + }, + "character.5c0dd8e067ffd693.webp": { + "original_hash": "076bbb4d25a17982c81973b8dba9d4fa", + "translation_date": "2026-04-06T21:31:50+00:00", + "source_file": "images/character.png", + "language_code": "km" + }, + "click-register.e89a30bf0d4bc9ca.webp": { + "original_hash": "ef9688313524664fad6ab9b0e080c758", + "translation_date": "2026-04-06T21:36:18+00:00", + "source_file": "7-bank-project/2-forms/images/click-register.png", + "language_code": "km" + }, + "clone_repo.5085c48d666ead57.webp": { + "original_hash": "28c00f3d5861ab95d188b4f6a2d337df", + "translation_date": "2026-04-06T21:37:39+00:00", + "source_file": "1-getting-started-lessons/2-github-basics/images/clone_repo.png", + "language_code": "km" + }, + "clone_repo.6a202fb230ab6bdd.webp": { + "original_hash": "9261d014674312eece91deae958538cf", + "translation_date": "2026-04-06T21:31:53+00:00", + "source_file": "images/clone_repo.png", + "language_code": "km" + }, + "codespace.bcecbdf5d2747d3d.webp": { + "original_hash": "ff86a65511122ddb448e092969566b0a", + "translation_date": "2026-04-06T21:37:40+00:00", + "source_file": "9-chat-project/assets/codespace.png", + "language_code": "km" + }, + "create-a-fork.297ab42b4bd0af99.webp": { + "original_hash": "10712b80e3dcfa7c44fb8820a6ff3ad3", + "translation_date": "2026-04-06T21:34:27+00:00", + "source_file": "8-code-editor/images/create-a-fork.png", + "language_code": "km" + }, + "create-new-file-pb.0797800d977ec3eb.webp": { + "original_hash": "c149c42e04132f2409651425d6924ffa", + "translation_date": "2026-04-06T21:33:51+00:00", + "source_file": "8-code-editor/images/create-new-file-pb.png", + "language_code": "km" + }, + "create-new-file.2814e609c2af9aeb.webp": { + "original_hash": "cf6df76faeac2d92904e5d877b7bdf69", + "translation_date": "2026-04-06T21:33:47+00:00", + "source_file": "8-code-editor/images/create-new-file.png", + "language_code": "km" + }, + "createcodespace.0238bbf4d7a8d955.webp": { + "original_hash": "4f504323085308f4a0e7b5bfb37e16d7", + "translation_date": "2026-04-06T21:31:46+00:00", + "source_file": "images/createcodespace.png", + "language_code": "km" + }, + "data-flow.fa2354e0908fecc8.webp": { + "original_hash": "c9b82b42fa1973b3b7bfad9c7128c24c", + "translation_date": "2026-04-06T21:36:38+00:00", + "source_file": "7-bank-project/4-state-management/images/data-flow.png", + "language_code": "km" + }, + "default-vscode-dev.5d06881d65c1b323.webp": { + "original_hash": "146fecc3a9da37cb1d5c9d628cd94996", + "translation_date": "2026-04-06T21:34:49+00:00", + "source_file": "8-code-editor/images/default-vscode-dev.png", + "language_code": "km" + }, + "dialog.93bba104afeb79f1.webp": { + "original_hash": "c56b5ad7eb8c4df4b3ed8a99bf67e6e2", + "translation_date": "2026-04-06T21:36:37+00:00", + "source_file": "7-bank-project/4-state-management/images/dialog.png", + "language_code": "km" + }, + "dom-tree.7daf0e763cbbba92.webp": { + "original_hash": "579f4ae298ff15a357def7f442671847", + "translation_date": "2026-04-06T21:36:45+00:00", + "source_file": "3-terrarium/3-intro-to-DOM-and-closures/images/dom-tree.png", + "language_code": "km" + }, + "earlybrowsers.d984b711cdf3a42d.webp": { + "original_hash": "810a4d2348668e25289029c5cfcb67bd", + "translation_date": "2026-04-06T21:35:53+00:00", + "source_file": "5-browser-extension/1-about-browsers/images/earlybrowsers.jpg", + "language_code": "km" + }, + "edit-a-file-pb.263555922c14fc52.webp": { + "original_hash": "5c52723d35259eadd110d0c720a87b04", + "translation_date": "2026-04-06T21:34:42+00:00", + "source_file": "8-code-editor/images/edit-a-file-pb.png", + "language_code": "km" + }, + "edit-a-file.52c0ee665ef19f08.webp": { + "original_hash": "c28903236d60be6bba3f3848ea368c63", + "translation_date": "2026-04-06T21:35:13+00:00", + "source_file": "8-code-editor/images/edit-a-file.png", + "language_code": "km" + }, + "enemyShip.035a46787bff658c.webp": { + "original_hash": "2a41854e0eaa974e8619298f3b333e11", + "translation_date": "2026-04-06T21:35:18+00:00", + "source_file": "6-space-game/5-keeping-score/solution/assets/enemyShip.png", + "language_code": "km" + }, + "enemyShip.1a1354d7988de290.webp": { + "original_hash": "2a41854e0eaa974e8619298f3b333e11", + "translation_date": "2026-04-06T21:35:18+00:00", + "source_file": "6-space-game/6-end-condition/solution/assets/enemyShip.png", + "language_code": "km" + }, + "enemyShip.22cbee6ea27a5809.webp": { + "original_hash": "2a41854e0eaa974e8619298f3b333e11", + "translation_date": "2026-04-06T21:35:16+00:00", + "source_file": "6-space-game/2-drawing-to-canvas/your-work/assets/enemyShip.png", + "language_code": "km" + }, + "enemyShip.321ecb1b4eb21f2c.webp": { + "original_hash": "2a41854e0eaa974e8619298f3b333e11", + "translation_date": "2026-04-06T21:35:18+00:00", + "source_file": "6-space-game/5-keeping-score/your-work/assets/enemyShip.png", + "language_code": "km" + }, + "enemyShip.4fbf2889e6129db4.webp": { + "original_hash": "2a41854e0eaa974e8619298f3b333e11", + "translation_date": "2026-04-06T21:35:17+00:00", + "source_file": "6-space-game/6-end-condition/your-work/assets/enemyShip.png", + "language_code": "km" + }, + "enemyShip.5df2a822c16650c2.webp": { + "original_hash": "2a41854e0eaa974e8619298f3b333e11", + "translation_date": "2026-04-06T21:35:17+00:00", + "source_file": "6-space-game/2-drawing-to-canvas/solution/assets/enemyShip.png", + "language_code": "km" + }, + "enemyShip.62983ed4bfb2220f.webp": { + "original_hash": "2a41854e0eaa974e8619298f3b333e11", + "translation_date": "2026-04-06T21:35:24+00:00", + "source_file": "6-space-game/3-moving-elements-around/solution/assets/enemyShip.png", + "language_code": "km" + }, + "enemyShip.add7036e1c3c3014.webp": { + "original_hash": "2a41854e0eaa974e8619298f3b333e11", + "translation_date": "2026-04-06T21:35:16+00:00", + "source_file": "6-space-game/4-collision-detection/solution/assets/enemyShip.png", + "language_code": "km" + }, + "enemyShip.b39a140287683bf7.webp": { + "original_hash": "2a41854e0eaa974e8619298f3b333e11", + "translation_date": "2026-04-06T21:35:24+00:00", + "source_file": "6-space-game/3-moving-elements-around/your-work/assets/enemyShip.png", + "language_code": "km" + }, + "enemyShip.b9626ed228a17a32.webp": { + "original_hash": "2a41854e0eaa974e8619298f3b333e11", + "translation_date": "2026-04-06T21:35:16+00:00", + "source_file": "6-space-game/4-collision-detection/your-work/assets/enemyShip.png", + "language_code": "km" + }, + "enemyShip.deb0477a7312f54d.webp": { + "original_hash": "2a41854e0eaa974e8619298f3b333e11", + "translation_date": "2026-04-06T21:35:20+00:00", + "source_file": "6-space-game/solution/spaceArt/png/enemyShip.png", + "language_code": "km" + }, + "enemyUFO.bf8585e4e8dcdb68.webp": { + "original_hash": "18198bef76e4882928e4092344d0fb98", + "translation_date": "2026-04-06T21:35:21+00:00", + "source_file": "6-space-game/solution/spaceArt/png/enemyUFO.png", + "language_code": "km" + }, + "extension-details.9f8f1fd4e9eb2de5.webp": { + "original_hash": "f57d2e246e6ba8a58463d7573640d714", + "translation_date": "2026-04-06T21:35:12+00:00", + "source_file": "8-code-editor/images/extension-details.png", + "language_code": "km" + }, + "extension-screenshot.0e7f5bfa110e92e3.webp": { + "original_hash": "4fdd1d3fdbc9ac2c2932f83847a5e4b8", + "translation_date": "2026-04-06T21:31:43+00:00", + "source_file": "5-browser-extension/extension-screenshot.png", + "language_code": "km" + }, + "extension-settings.21c752ae4f4cdb78.webp": { + "original_hash": "fd7ebcb5d84c78047026ab3337908306", + "translation_date": "2026-04-06T21:34:03+00:00", + "source_file": "8-code-editor/images/extension-settings.png", + "language_code": "km" + }, + "extensions.eca0e0c7f59a10b5.webp": { + "original_hash": "a6c9c8f51d3edd917262e53664f08441", + "translation_date": "2026-04-06T21:34:31+00:00", + "source_file": "8-code-editor/images/extensions.png", + "language_code": "km" + }, + "favicon.37b561214b36d454.webp": { + "original_hash": "228faa6584f8ba1f7e9a75e3200112e9", + "translation_date": "2026-04-06T21:31:47+00:00", + "source_file": "images/favicon.png", + "language_code": "km" + }, + "form-post.61de4ca1b964d91a.webp": { + "original_hash": "7e95c76a8ea2e82bceea70aae89f2360", + "translation_date": "2026-04-06T21:36:20+00:00", + "source_file": "7-bank-project/2-forms/images/form-post.png", + "language_code": "km" + }, + "history.7fdabbafa521e064.webp": { + "original_hash": "445d71bea6a747dfe547df7eea846439", + "translation_date": "2026-04-06T21:36:13+00:00", + "source_file": "7-bank-project/1-template-route/history.png", + "language_code": "km" + }, + "install-on-edge.78634f02842c4828.webp": { + "original_hash": "6224aad8f1cd252da83c2808ff5c7a4e", + "translation_date": "2026-04-06T21:31:34+00:00", + "source_file": "5-browser-extension/install-on-edge.png", + "language_code": "km" + }, + "install-on-edge.d68781acaf0b3d3d.webp": { + "original_hash": "6224aad8f1cd252da83c2808ff5c7a4e", + "translation_date": "2026-04-06T21:36:07+00:00", + "source_file": "5-browser-extension/1-about-browsers/images/install-on-edge.png", + "language_code": "km" + }, + "laserGreen.89904f0f49945560.webp": { + "original_hash": "ddf7102c86fc3ec46037714c60091851", + "translation_date": "2026-04-06T21:35:21+00:00", + "source_file": "6-space-game/solution/spaceArt/png/laserGreen.png", + "language_code": "km" + }, + "laserGreenShot.e4fbfc4714c08a5b.webp": { + "original_hash": "cb6ed500c16736a41998e4cd0c467df7", + "translation_date": "2026-04-06T21:35:21+00:00", + "source_file": "6-space-game/solution/spaceArt/png/laserGreenShot.png", + "language_code": "km" + }, + "laserRed.2040e11f55c0a40a.webp": { + "original_hash": "6f0626e9839beb9d9a82ff40699aabfd", + "translation_date": "2026-04-06T21:35:17+00:00", + "source_file": "6-space-game/6-end-condition/solution/assets/laserRed.png", + "language_code": "km" + }, + "laserRed.381bc5555491ce67.webp": { + "original_hash": "6f0626e9839beb9d9a82ff40699aabfd", + "translation_date": "2026-04-06T21:35:24+00:00", + "source_file": "6-space-game/3-moving-elements-around/your-work/assets/laserRed.png", + "language_code": "km" + }, + "laserRed.69730edd76f0b3bd.webp": { + "original_hash": "6f0626e9839beb9d9a82ff40699aabfd", + "translation_date": "2026-04-06T21:35:17+00:00", + "source_file": "6-space-game/6-end-condition/your-work/assets/laserRed.png", + "language_code": "km" + }, + "laserRed.b583dc1728eb8581.webp": { + "original_hash": "6f0626e9839beb9d9a82ff40699aabfd", + "translation_date": "2026-04-06T21:35:18+00:00", + "source_file": "6-space-game/5-keeping-score/solution/assets/laserRed.png", + "language_code": "km" + }, + "laserRed.cae9ab24ea9b18fd.webp": { + "original_hash": "6f0626e9839beb9d9a82ff40699aabfd", + "translation_date": "2026-04-06T21:35:16+00:00", + "source_file": "6-space-game/4-collision-detection/solution/assets/laserRed.png", + "language_code": "km" + }, + "laserRed.d81ce4986f87c251.webp": { + "original_hash": "6f0626e9839beb9d9a82ff40699aabfd", + "translation_date": "2026-04-06T21:35:20+00:00", + "source_file": "6-space-game/solution/spaceArt/png/laserRed.png", + "language_code": "km" + }, + "laserRed.e58ef8db2585dfbe.webp": { + "original_hash": "6f0626e9839beb9d9a82ff40699aabfd", + "translation_date": "2026-04-06T21:35:18+00:00", + "source_file": "6-space-game/5-keeping-score/your-work/assets/laserRed.png", + "language_code": "km" + }, + "laserRed.e66e29ace6666064.webp": { + "original_hash": "6f0626e9839beb9d9a82ff40699aabfd", + "translation_date": "2026-04-06T21:35:24+00:00", + "source_file": "6-space-game/3-moving-elements-around/solution/assets/laserRed.png", + "language_code": "km" + }, + "laserRed.e86e8fb629c6026e.webp": { + "original_hash": "6f0626e9839beb9d9a82ff40699aabfd", + "translation_date": "2026-04-06T21:35:16+00:00", + "source_file": "6-space-game/4-collision-detection/your-work/assets/laserRed.png", + "language_code": "km" + }, + "laserRedShot.c39d066745996a71.webp": { + "original_hash": "1f1048184aab9d405e9f7d067a57af01", + "translation_date": "2026-04-06T21:35:21+00:00", + "source_file": "6-space-game/solution/spaceArt/png/laserRedShot.png", + "language_code": "km" + }, + "life.27144b6d4bfdea76.webp": { + "original_hash": "9a5d93e699071693b15b7b157f760a90", + "translation_date": "2026-04-06T21:35:21+00:00", + "source_file": "6-space-game/solution/spaceArt/png/life.png", + "language_code": "km" + }, + "life.2a159298dd98f4ef.webp": { + "original_hash": "9a5d93e699071693b15b7b157f760a90", + "translation_date": "2026-04-06T21:35:18+00:00", + "source_file": "6-space-game/5-keeping-score/your-work/assets/life.png", + "language_code": "km" + }, + "life.466df3b1692a244a.webp": { + "original_hash": "9a5d93e699071693b15b7b157f760a90", + "translation_date": "2026-04-06T21:35:16+00:00", + "source_file": "6-space-game/4-collision-detection/your-work/assets/life.png", + "language_code": "km" + }, + "life.65a2aaceca875284.webp": { + "original_hash": "9a5d93e699071693b15b7b157f760a90", + "translation_date": "2026-04-06T21:35:16+00:00", + "source_file": "6-space-game/4-collision-detection/solution/assets/life.png", + "language_code": "km" + }, + "life.6fb9f50d53ee0413.webp": { + "original_hash": "9a5d93e699071693b15b7b157f760a90", + "translation_date": "2026-04-06T21:35:19+00:00", + "source_file": "6-space-game/5-keeping-score/solution/assets/life.png", + "language_code": "km" + }, + "life.78b6e96a3003767e.webp": { + "original_hash": "9a5d93e699071693b15b7b157f760a90", + "translation_date": "2026-04-06T21:35:17+00:00", + "source_file": "6-space-game/6-end-condition/your-work/assets/life.png", + "language_code": "km" + }, + "life.86d843ce9c23289c.webp": { + "original_hash": "9a5d93e699071693b15b7b157f760a90", + "translation_date": "2026-04-06T21:35:18+00:00", + "source_file": "6-space-game/6-end-condition/solution/assets/life.png", + "language_code": "km" + }, + "localstorage.472f8147b6a3f8d1.webp": { + "original_hash": "7706ccb87a13a08250f315f03140bc61", + "translation_date": "2026-04-06T21:35:28+00:00", + "source_file": "5-browser-extension/2-forms-browsers-local-storage/images/localstorage.png", + "language_code": "km" + }, + "log.804026979f3707e0.webp": { + "original_hash": "4c5e39f339781db01641b77b6b2d6026", + "translation_date": "2026-04-06T21:35:49+00:00", + "source_file": "5-browser-extension/3-background-tasks-and-performance/images/log.png", + "language_code": "km" + }, + "login-error.416fe019b36a6327.webp": { + "original_hash": "ea96ed372d7a4c37ee2df3f0352f79d1", + "translation_date": "2026-04-06T21:36:27+00:00", + "source_file": "7-bank-project/3-data/images/login-error.png", + "language_code": "km" + }, + "meteorBig.1e452b3ad7af50ad.webp": { + "original_hash": "07f37816512f563dd68780fdee2e30a6", + "translation_date": "2026-04-06T21:35:20+00:00", + "source_file": "6-space-game/solution/spaceArt/png/meteorBig.png", + "language_code": "km" + }, + "meteorSmall.0d729bc71c12d41f.webp": { + "original_hash": "ebabf6690cc614f9e33f019c356166fa", + "translation_date": "2026-04-06T21:35:20+00:00", + "source_file": "6-space-game/solution/spaceArt/png/meteorSmall.png", + "language_code": "km" + }, + "moodle.94eb93d714a50cb2.webp": { + "original_hash": "0d04a6ef1ac524b452d5a0aae3f45bee", + "translation_date": "2026-04-06T21:31:16+00:00", + "source_file": "teaching-files/moodle.png", + "language_code": "km" + }, + "mpa.7f7375a1a2d4aa77.webp": { + "original_hash": "021255b74f0b79b0c286c163c210ef3d", + "translation_date": "2026-04-06T21:36:30+00:00", + "source_file": "7-bank-project/3-data/images/mpa.png", + "language_code": "km" + }, + "nebula.55c2933d36d035d3.webp": { + "original_hash": "e0fa4f86653c6fe97bc77271c46241c2", + "translation_date": "2026-04-06T21:35:24+00:00", + "source_file": "6-space-game/solution/spaceArt/png/Background/nebula.png", + "language_code": "km" + }, + "new-file-github.com.c886796d800e8056.webp": { + "original_hash": "2e0ddd0dad4734e3968b70907df9c052", + "translation_date": "2026-04-06T21:34:56+00:00", + "source_file": "8-code-editor/images/new-file-github.com.png", + "language_code": "km" + }, + "open-palette-menu.46dda01084738da8.webp": { + "original_hash": "1860e80bf0534b9d54ef0fcb7e1a9f9e", + "translation_date": "2026-04-06T21:34:46+00:00", + "source_file": "8-code-editor/images/open-palette-menu.png", + "language_code": "km" + }, + "open-remote-repository.bd9c2598b8949e7f.webp": { + "original_hash": "777c01a9242da7d5d0e1b037df9c86f9", + "translation_date": "2026-04-06T21:34:29+00:00", + "source_file": "8-code-editor/images/open-remote-repository.png", + "language_code": "km" + }, + "palette-menu.4946174e07f42622.webp": { + "original_hash": "7387b91076790084ec8828866e88c6ce", + "translation_date": "2026-04-06T21:34:43+00:00", + "source_file": "8-code-editor/images/palette-menu.png", + "language_code": "km" + }, + "partI-solution.36c53b48c9ffae2a.webp": { + "original_hash": "fbbd263368f61f8ed3a86c4571e6810b", + "translation_date": "2026-04-06T21:35:15+00:00", + "source_file": "6-space-game/2-drawing-to-canvas/partI-solution.png", + "language_code": "km" + }, + "plant1.a876180d8659acb9.webp": { + "original_hash": "e08f9b0f46f6d9d7c9949d4c3e590694", + "translation_date": "2026-04-06T21:37:03+00:00", + "source_file": "3-terrarium/solution/images/plant1.png", + "language_code": "km" + }, + "plant10.2f2c47804ae52dd3.webp": { + "original_hash": "dba97454882c2796c52a33c403db61f7", + "translation_date": "2026-04-06T21:37:17+00:00", + "source_file": "3-terrarium/solution/images/plant10.png", + "language_code": "km" + }, + "plant11.0ce0081b0ef17aa1.webp": { + "original_hash": "68346dbd1ae03331b0a87025c3e8e9e2", + "translation_date": "2026-04-06T21:37:14+00:00", + "source_file": "3-terrarium/solution/images/plant11.png", + "language_code": "km" + }, + "plant12.6b934c4312a00228.webp": { + "original_hash": "dafacde8e7a0b56c4baaabe88b4f90e2", + "translation_date": "2026-04-06T21:37:34+00:00", + "source_file": "3-terrarium/solution/images/plant12.png", + "language_code": "km" + }, + "plant13.37d6ab2e2481421f.webp": { + "original_hash": "5cac561d7596ee631c4d02436d8f6998", + "translation_date": "2026-04-06T21:37:22+00:00", + "source_file": "3-terrarium/solution/images/plant13.png", + "language_code": "km" + }, + "plant14.908791477a46eb7f.webp": { + "original_hash": "349b8e5a33d1221bef4a4ac3bb439bb9", + "translation_date": "2026-04-06T21:37:07+00:00", + "source_file": "3-terrarium/solution/images/plant14.png", + "language_code": "km" + }, + "plant2.9e45efea224115b0.webp": { + "original_hash": "24beefd3dcca66085b44d3ae5d9758e1", + "translation_date": "2026-04-06T21:37:32+00:00", + "source_file": "3-terrarium/solution/images/plant2.png", + "language_code": "km" + }, + "plant3.06efdd0fa0c4b115.webp": { + "original_hash": "7e40e6f14cf52f7d75ed42320817b044", + "translation_date": "2026-04-06T21:37:27+00:00", + "source_file": "3-terrarium/solution/images/plant3.png", + "language_code": "km" + }, + "plant4.3b78072b427727c6.webp": { + "original_hash": "c523205855d0691a9a0161c6abca983c", + "translation_date": "2026-04-06T21:37:24+00:00", + "source_file": "3-terrarium/solution/images/plant4.png", + "language_code": "km" + }, + "plant5.8ec58b18ac336fa8.webp": { + "original_hash": "bcf5f2eacd7da3fe6b07c857d7f5a2ce", + "translation_date": "2026-04-06T21:37:29+00:00", + "source_file": "3-terrarium/solution/images/plant5.png", + "language_code": "km" + }, + "plant6.ca4ff8372e6676b1.webp": { + "original_hash": "6932fdb455fcae5b324b129367d2f56a", + "translation_date": "2026-04-06T21:37:09+00:00", + "source_file": "3-terrarium/solution/images/plant6.png", + "language_code": "km" + }, + "plant7.194d5a42fcf5a88c.webp": { + "original_hash": "b7a1e35f9946cb04440ce620c34f201d", + "translation_date": "2026-04-06T21:36:50+00:00", + "source_file": "3-terrarium/solution/images/plant7.png", + "language_code": "km" + }, + "plant8.7b247809ab0eb492.webp": { + "original_hash": "3eb38c747aaf33ce7aa70b58a31b62a8", + "translation_date": "2026-04-06T21:37:01+00:00", + "source_file": "3-terrarium/solution/images/plant8.png", + "language_code": "km" + }, + "plant9.8fe614c01ded1b1e.webp": { + "original_hash": "a9655c162938a27c63d48ac675061e2b", + "translation_date": "2026-04-06T21:36:54+00:00", + "source_file": "3-terrarium/solution/images/plant9.png", + "language_code": "km" + }, + "player.137ee0e47f895ffc.webp": { + "original_hash": "952e66c2dd458cfd6e82052f7123a97b", + "translation_date": "2026-04-06T21:35:18+00:00", + "source_file": "6-space-game/6-end-condition/solution/assets/player.png", + "language_code": "km" + }, + "player.2887422f6982c3cd.webp": { + "original_hash": "952e66c2dd458cfd6e82052f7123a97b", + "translation_date": "2026-04-06T21:35:18+00:00", + "source_file": "6-space-game/5-keeping-score/your-work/assets/player.png", + "language_code": "km" + }, + "player.391fed427ede24f5.webp": { + "original_hash": "952e66c2dd458cfd6e82052f7123a97b", + "translation_date": "2026-04-06T21:35:18+00:00", + "source_file": "6-space-game/5-keeping-score/solution/assets/player.png", + "language_code": "km" + }, + "player.3c4f50182552a73a.webp": { + "original_hash": "952e66c2dd458cfd6e82052f7123a97b", + "translation_date": "2026-04-06T21:35:24+00:00", + "source_file": "6-space-game/3-moving-elements-around/your-work/assets/player.png", + "language_code": "km" + }, + "player.47bc9de0714c723d.webp": { + "original_hash": "952e66c2dd458cfd6e82052f7123a97b", + "translation_date": "2026-04-06T21:35:17+00:00", + "source_file": "6-space-game/2-drawing-to-canvas/your-work/assets/player.png", + "language_code": "km" + }, + "player.57b3107c03012695.webp": { + "original_hash": "952e66c2dd458cfd6e82052f7123a97b", + "translation_date": "2026-04-06T21:35:21+00:00", + "source_file": "6-space-game/solution/spaceArt/png/player.png", + "language_code": "km" + }, + "player.606f85953e5e564e.webp": { + "original_hash": "952e66c2dd458cfd6e82052f7123a97b", + "translation_date": "2026-04-06T21:35:17+00:00", + "source_file": "6-space-game/6-end-condition/your-work/assets/player.png", + "language_code": "km" + }, + "player.680ea4c619b54fe1.webp": { + "original_hash": "952e66c2dd458cfd6e82052f7123a97b", + "translation_date": "2026-04-06T21:35:16+00:00", + "source_file": "6-space-game/4-collision-detection/your-work/assets/player.png", + "language_code": "km" + }, + "player.bfe14f110bddf56d.webp": { + "original_hash": "952e66c2dd458cfd6e82052f7123a97b", + "translation_date": "2026-04-06T21:35:24+00:00", + "source_file": "6-space-game/3-moving-elements-around/solution/assets/player.png", + "language_code": "km" + }, + "player.c99c25d54a615ca0.webp": { + "original_hash": "952e66c2dd458cfd6e82052f7123a97b", + "translation_date": "2026-04-06T21:35:16+00:00", + "source_file": "6-space-game/4-collision-detection/solution/assets/player.png", + "language_code": "km" + }, + "player.dd24c1afa8c71e9b.webp": { + "original_hash": "952e66c2dd458cfd6e82052f7123a97b", + "translation_date": "2026-04-06T21:35:17+00:00", + "source_file": "6-space-game/2-drawing-to-canvas/solution/assets/player.png", + "language_code": "km" + }, + "playerDamaged.181703f652fd5176.webp": { + "original_hash": "9d71aebe7303edd536064fb0f5e2ae82", + "translation_date": "2026-04-06T21:35:21+00:00", + "source_file": "6-space-game/solution/spaceArt/png/playerDamaged.png", + "language_code": "km" + }, + "playerLeft.0f928412e66ba5d9.webp": { + "original_hash": "40a42047b8ee49c6dd87c981e98d4d2e", + "translation_date": "2026-04-06T21:35:22+00:00", + "source_file": "6-space-game/solution/spaceArt/png/playerLeft.png", + "language_code": "km" + }, + "playerRight.e4825f489e29f737.webp": { + "original_hash": "1c7b03f73e1d6ed74955357680cb05cb", + "translation_date": "2026-04-06T21:35:22+00:00", + "source_file": "6-space-game/solution/spaceArt/png/playerRight.png", + "language_code": "km" + }, + "playground-choice.1d23ba7d407f4758.webp": { + "original_hash": "1c2e88cad7aad10922b4de1e87f1a47f", + "translation_date": "2026-04-06T21:37:52+00:00", + "source_file": "9-chat-project/assets/playground-choice.png", + "language_code": "km" + }, + "playground.d2b927122224ff8f.webp": { + "original_hash": "4152bb8cd5f23e73d58b3beb52919477", + "translation_date": "2026-04-06T21:37:50+00:00", + "source_file": "9-chat-project/assets/playground.png", + "language_code": "km" + }, + "preview.9215f0a010074476.webp": { + "original_hash": "6eaab6a69de1fa433e822578652c7287", + "translation_date": "2026-04-06T21:35:20+00:00", + "source_file": "6-space-game/solution/spaceArt/preview.jpg", + "language_code": "km" + }, + "profiler.5a4a62479c5df01c.webp": { + "original_hash": "40b8a4d9f47e2f3e18aa2e814a15356c", + "translation_date": "2026-04-06T21:35:46+00:00", + "source_file": "5-browser-extension/3-background-tasks-and-performance/images/profiler.png", + "language_code": "km" + }, + "project-on-vscode.dev.e79815a9a95ee7fe.webp": { + "original_hash": "35de4bc32ea66a11f919671558e07d52", + "translation_date": "2026-04-06T21:34:50+00:00", + "source_file": "8-code-editor/images/project-on-vscode.dev.png", + "language_code": "km" + }, + "result.96ef01f607bf856a.webp": { + "original_hash": "e83c44a0fcaa7720ce32eb71d53d5250", + "translation_date": "2026-04-06T21:36:23+00:00", + "source_file": "7-bank-project/2-forms/images/result.png", + "language_code": "km" + }, + "screen1.baccbba0f1f93364.webp": { + "original_hash": "92c8fa2dbe566c4e19c98a9e7de6faa6", + "translation_date": "2026-04-06T21:36:15+00:00", + "source_file": "7-bank-project/images/screen1.png", + "language_code": "km" + }, + "screen2.123c82a831a1d14a.webp": { + "original_hash": "43b7f2857d5f758394e443df8fbc31cf", + "translation_date": "2026-04-06T21:36:18+00:00", + "source_file": "7-bank-project/images/screen2.png", + "language_code": "km" + }, + "screenshot.0a1ee0d123df681b.webp": { + "original_hash": "f909b463a14ff6542a816470f68bfac3", + "translation_date": "2026-04-06T21:38:03+00:00", + "source_file": "9-chat-project/assets/screenshot.png", + "language_code": "km" + }, + "screenshot.e7a5ad659e364568.webp": { + "original_hash": "c562c1fdc9d73658456e02b873e4dff9", + "translation_date": "2026-04-06T21:32:00+00:00", + "source_file": "images/screenshot.png", + "language_code": "km" + }, + "screenshot_gray.0c796099a1f9f25e.webp": { + "original_hash": "324b7bff7867c38e100d0acad18ed53d", + "translation_date": "2026-04-06T21:36:40+00:00", + "source_file": "3-terrarium/images/screenshot_gray.png", + "language_code": "km" + }, + "shield.1b9412b7ca6610ab.webp": { + "original_hash": "a672dc1a5f905918272bb58f1e236340", + "translation_date": "2026-04-06T21:35:21+00:00", + "source_file": "6-space-game/solution/spaceArt/png/shield.png", + "language_code": "km" + }, + "snapshot.97750180ebcad737.webp": { + "original_hash": "9db2fa7afcc1d258ec1a130cef145f94", + "translation_date": "2026-04-06T21:35:31+00:00", + "source_file": "5-browser-extension/3-background-tasks-and-performance/images/snapshot.png", + "language_code": "km" + }, + "spa.268ec73b41f992c2.webp": { + "original_hash": "3d3d7273070c2ddab04458fbb084ad4a", + "translation_date": "2026-04-06T21:36:33+00:00", + "source_file": "7-bank-project/3-data/images/spa.png", + "language_code": "km" + }, + "speedLine.5bcabb93f48b5ae1.webp": { + "original_hash": "ef791dbe8ea2e21cf697831e203803d5", + "translation_date": "2026-04-06T21:35:23+00:00", + "source_file": "6-space-game/solution/spaceArt/png/Background/speedLine.png", + "language_code": "km" + }, + "spritesheet.bec82852290b14ee.webp": { + "original_hash": "d593b0f366e9efd2f2b3ef18e7eb2d0c", + "translation_date": "2026-04-06T21:35:16+00:00", + "source_file": "6-space-game/solution/spritesheet.png", + "language_code": "km" + }, + "starBackground.a897b8acb1b0587d.webp": { + "original_hash": "cca00ba0b9e73859ab5bb928d5ca2fa2", + "translation_date": "2026-04-06T21:35:23+00:00", + "source_file": "6-space-game/solution/spaceArt/png/Background/starBackground.png", + "language_code": "km" + }, + "starBig.72e9c6d0d18f363d.webp": { + "original_hash": "4e8f1abc8b48d75990117ea8b6207842", + "translation_date": "2026-04-06T21:35:22+00:00", + "source_file": "6-space-game/solution/spaceArt/png/Background/starBig.png", + "language_code": "km" + }, + "starSmall.ed78b961dbcd0898.webp": { + "original_hash": "609bf88a971475818f95816b8cf71508", + "translation_date": "2026-04-06T21:35:23+00:00", + "source_file": "6-space-game/solution/spaceArt/png/Background/starSmall.png", + "language_code": "km" + }, + "template.67ad477109d29a2b.webp": { + "original_hash": "a184e4c012fd4fca9ab3c552df87bd0c", + "translation_date": "2026-04-06T21:37:53+00:00", + "source_file": "9-chat-project/assets/template.png", + "language_code": "km" + }, + "terrarium-final.0920f16e87c13a84.webp": { + "original_hash": "324b7bff7867c38e100d0acad18ed53d", + "translation_date": "2026-04-06T21:36:46+00:00", + "source_file": "3-terrarium/3-intro-to-DOM-and-closures/images/terrarium-final.png", + "language_code": "km" + }, + "terrarium-final.2f07047ffc597d0a.webp": { + "original_hash": "c669f9222e16690bb2015ce86bb4739c", + "translation_date": "2026-04-06T21:37:35+00:00", + "source_file": "3-terrarium/2-intro-to-css/images/terrarium-final.png", + "language_code": "km" + }, + "validation-error.8bd23e98d416c22f.webp": { + "original_hash": "d614ce6b24e2583901da9038297fe327", + "translation_date": "2026-04-06T21:36:21+00:00", + "source_file": "7-bank-project/2-forms/images/validation-error.png", + "language_code": "km" + }, + "vs-code-index.e2986cf919471eb9.webp": { + "original_hash": "ed8437cb2629b95551fff5e5d72ef4f5", + "translation_date": "2026-04-06T21:36:41+00:00", + "source_file": "3-terrarium/1-intro-to-html/images/vs-code-index.png", + "language_code": "km" + }, + "webdev101-a11y.8ef3025c858d897a.webp": { + "original_hash": "3f5220c5d502a906028b8a85245cc6da", + "translation_date": "2026-04-06T21:33:18+00:00", + "source_file": "sketchnotes/webdev101-a11y.png", + "language_code": "km" + }, + "webdev101-css.3f7af5991bf53a20.webp": { + "original_hash": "9de1dc14864697c82395b02f31a72aec", + "translation_date": "2026-04-06T21:32:51+00:00", + "source_file": "sketchnotes/webdev101-css.png", + "language_code": "km" + }, + "webdev101-github.8846d7971abef6f9.webp": { + "original_hash": "412ec8fc404fead25f314e2fdb564548", + "translation_date": "2026-04-06T21:32:41+00:00", + "source_file": "sketchnotes/webdev101-github.png", + "language_code": "km" + }, + "webdev101-html.4389c2067af68e98.webp": { + "original_hash": "23bf24ecb0e72f0c6c835824dec5ee54", + "translation_date": "2026-04-06T21:32:20+00:00", + "source_file": "sketchnotes/webdev101-html.png", + "language_code": "km" + }, + "webdev101-js-arrays.439d7528b8a29455.webp": { + "original_hash": "564c9e2d7f8e5a3b7e23570df300c732", + "translation_date": "2026-04-06T21:33:45+00:00", + "source_file": "sketchnotes/webdev101-js-arrays.png", + "language_code": "km" + }, + "webdev101-js-datatypes.4cc470179730702c.webp": { + "original_hash": "20fda1612cc0e8d20e6be01ffc28e5f7", + "translation_date": "2026-04-06T21:33:28+00:00", + "source_file": "sketchnotes/webdev101-js-datatypes.png", + "language_code": "km" + }, + "webdev101-js-decisions.69e1b20f272dd1f0.webp": { + "original_hash": "5e49a0b9b4149f782a4378354ba7fd56", + "translation_date": "2026-04-06T21:33:08+00:00", + "source_file": "sketchnotes/webdev101-js-decisions.png", + "language_code": "km" + }, + "webdev101-js-functions.be049c4726e94f8b.webp": { + "original_hash": "ec4279b1b2191fa07a83e78a97e81f29", + "translation_date": "2026-04-06T21:33:00+00:00", + "source_file": "sketchnotes/webdev101-js-functions.png", + "language_code": "km" + }, + "webdev101-js.10280393044d7eaa.webp": { + "original_hash": "fe1f154de74b31fdeb9a6df40e7ad5e1", + "translation_date": "2026-04-06T21:33:38+00:00", + "source_file": "sketchnotes/webdev101-js.png", + "language_code": "km" + }, + "webdev101-programming.d6e3f98e61ac4bff.webp": { + "original_hash": "adf4dac4d350592773dbdba8ebaaa262", + "translation_date": "2026-04-06T21:32:31+00:00", + "source_file": "sketchnotes/webdev101-programming.png", + "language_code": "km" + }, + "working-tree-pb.6cd43e5076f23ba3.webp": { + "original_hash": "f6b14887694745dd143a09bd60b74185", + "translation_date": "2026-04-06T21:35:07+00:00", + "source_file": "8-code-editor/images/working-tree-pb.png", + "language_code": "km" + }, + "working-tree.c58eec08e6335c79.webp": { + "original_hash": "bf2608b4302123a00a8e7b1b6a430b4a", + "translation_date": "2026-04-06T21:34:59+00:00", + "source_file": "8-code-editor/images/working-tree.png", + "language_code": "km" + } +} \ No newline at end of file diff --git a/translated_images/km/1.b6da8c1394b07491.webp b/translated_images/km/1.b6da8c1394b07491.webp new file mode 100644 index 0000000000..1e2a4faeec Binary files /dev/null and b/translated_images/km/1.b6da8c1394b07491.webp differ diff --git a/translated_images/km/1.cc07a5cbe114ad1d.webp b/translated_images/km/1.cc07a5cbe114ad1d.webp new file mode 100644 index 0000000000..6fd9f47411 Binary files /dev/null and b/translated_images/km/1.cc07a5cbe114ad1d.webp differ diff --git a/translated_images/km/2.1dae52ff08042246.webp b/translated_images/km/2.1dae52ff08042246.webp new file mode 100644 index 0000000000..aaa45a2f4a Binary files /dev/null and b/translated_images/km/2.1dae52ff08042246.webp differ diff --git a/translated_images/km/after-codeswing-extension-pb.0ebddddcf73b5509.webp b/translated_images/km/after-codeswing-extension-pb.0ebddddcf73b5509.webp new file mode 100644 index 0000000000..0f79be5674 Binary files /dev/null and b/translated_images/km/after-codeswing-extension-pb.0ebddddcf73b5509.webp differ diff --git a/translated_images/km/background.148a8d43afde5730.webp b/translated_images/km/background.148a8d43afde5730.webp new file mode 100644 index 0000000000..6d79a1aa2c Binary files /dev/null and b/translated_images/km/background.148a8d43afde5730.webp differ diff --git a/translated_images/km/backgroundColor.e19c3c60768150c8.webp b/translated_images/km/backgroundColor.e19c3c60768150c8.webp new file mode 100644 index 0000000000..415592530a Binary files /dev/null and b/translated_images/km/backgroundColor.e19c3c60768150c8.webp differ diff --git a/translated_images/km/browser-console.efaf0b51aaaf6778.webp b/translated_images/km/browser-console.efaf0b51aaaf6778.webp new file mode 100644 index 0000000000..c10bb75401 Binary files /dev/null and b/translated_images/km/browser-console.efaf0b51aaaf6778.webp differ diff --git a/translated_images/km/browser.60317c9be8b7f84a.webp b/translated_images/km/browser.60317c9be8b7f84a.webp new file mode 100644 index 0000000000..cc04f68c9e Binary files /dev/null and b/translated_images/km/browser.60317c9be8b7f84a.webp differ diff --git a/translated_images/km/canvas.fbd605ff8e5b8aff.webp b/translated_images/km/canvas.fbd605ff8e5b8aff.webp new file mode 100644 index 0000000000..1b5d25e5a3 Binary files /dev/null and b/translated_images/km/canvas.fbd605ff8e5b8aff.webp differ diff --git a/translated_images/km/canvas_grid.5f209da785ded492.webp b/translated_images/km/canvas_grid.5f209da785ded492.webp new file mode 100644 index 0000000000..49c5579ebb Binary files /dev/null and b/translated_images/km/canvas_grid.5f209da785ded492.webp differ diff --git a/translated_images/km/character.5c0dd8e067ffd693.webp b/translated_images/km/character.5c0dd8e067ffd693.webp new file mode 100644 index 0000000000..6736fb70b9 Binary files /dev/null and b/translated_images/km/character.5c0dd8e067ffd693.webp differ diff --git a/translated_images/km/click-register.e89a30bf0d4bc9ca.webp b/translated_images/km/click-register.e89a30bf0d4bc9ca.webp new file mode 100644 index 0000000000..f054292ed6 Binary files /dev/null and b/translated_images/km/click-register.e89a30bf0d4bc9ca.webp differ diff --git a/translated_images/km/clone_repo.5085c48d666ead57.webp b/translated_images/km/clone_repo.5085c48d666ead57.webp new file mode 100644 index 0000000000..03ec13354d Binary files /dev/null and b/translated_images/km/clone_repo.5085c48d666ead57.webp differ diff --git a/translated_images/km/clone_repo.6a202fb230ab6bdd.webp b/translated_images/km/clone_repo.6a202fb230ab6bdd.webp new file mode 100644 index 0000000000..1545ac7314 Binary files /dev/null and b/translated_images/km/clone_repo.6a202fb230ab6bdd.webp differ diff --git a/translated_images/km/codespace.bcecbdf5d2747d3d.webp b/translated_images/km/codespace.bcecbdf5d2747d3d.webp new file mode 100644 index 0000000000..097b7cf658 Binary files /dev/null and b/translated_images/km/codespace.bcecbdf5d2747d3d.webp differ diff --git a/translated_images/km/create-a-fork.297ab42b4bd0af99.webp b/translated_images/km/create-a-fork.297ab42b4bd0af99.webp new file mode 100644 index 0000000000..2f7982b581 Binary files /dev/null and b/translated_images/km/create-a-fork.297ab42b4bd0af99.webp differ diff --git a/translated_images/km/create-new-file-pb.0797800d977ec3eb.webp b/translated_images/km/create-new-file-pb.0797800d977ec3eb.webp new file mode 100644 index 0000000000..90c582ef21 Binary files /dev/null and b/translated_images/km/create-new-file-pb.0797800d977ec3eb.webp differ diff --git a/translated_images/km/create-new-file.2814e609c2af9aeb.webp b/translated_images/km/create-new-file.2814e609c2af9aeb.webp new file mode 100644 index 0000000000..6f5b15b9b9 Binary files /dev/null and b/translated_images/km/create-new-file.2814e609c2af9aeb.webp differ diff --git a/translated_images/km/createcodespace.0238bbf4d7a8d955.webp b/translated_images/km/createcodespace.0238bbf4d7a8d955.webp new file mode 100644 index 0000000000..add279b509 Binary files /dev/null and b/translated_images/km/createcodespace.0238bbf4d7a8d955.webp differ diff --git a/translated_images/km/data-flow.fa2354e0908fecc8.webp b/translated_images/km/data-flow.fa2354e0908fecc8.webp new file mode 100644 index 0000000000..58cc069ce9 Binary files /dev/null and b/translated_images/km/data-flow.fa2354e0908fecc8.webp differ diff --git a/translated_images/km/default-vscode-dev.5d06881d65c1b323.webp b/translated_images/km/default-vscode-dev.5d06881d65c1b323.webp new file mode 100644 index 0000000000..a20718b485 Binary files /dev/null and b/translated_images/km/default-vscode-dev.5d06881d65c1b323.webp differ diff --git a/translated_images/km/dialog.93bba104afeb79f1.webp b/translated_images/km/dialog.93bba104afeb79f1.webp new file mode 100644 index 0000000000..e679b866d3 Binary files /dev/null and b/translated_images/km/dialog.93bba104afeb79f1.webp differ diff --git a/translated_images/km/dom-tree.7daf0e763cbbba92.webp b/translated_images/km/dom-tree.7daf0e763cbbba92.webp new file mode 100644 index 0000000000..2866b049cb Binary files /dev/null and b/translated_images/km/dom-tree.7daf0e763cbbba92.webp differ diff --git a/translated_images/km/earlybrowsers.d984b711cdf3a42d.webp b/translated_images/km/earlybrowsers.d984b711cdf3a42d.webp new file mode 100644 index 0000000000..34c2f1cc93 Binary files /dev/null and b/translated_images/km/earlybrowsers.d984b711cdf3a42d.webp differ diff --git a/translated_images/km/edit-a-file-pb.263555922c14fc52.webp b/translated_images/km/edit-a-file-pb.263555922c14fc52.webp new file mode 100644 index 0000000000..74baf7453d Binary files /dev/null and b/translated_images/km/edit-a-file-pb.263555922c14fc52.webp differ diff --git a/translated_images/km/edit-a-file.52c0ee665ef19f08.webp b/translated_images/km/edit-a-file.52c0ee665ef19f08.webp new file mode 100644 index 0000000000..56fc3fce5c Binary files /dev/null and b/translated_images/km/edit-a-file.52c0ee665ef19f08.webp differ diff --git a/translated_images/km/enemyShip.035a46787bff658c.webp b/translated_images/km/enemyShip.035a46787bff658c.webp new file mode 100644 index 0000000000..a668c6e249 Binary files /dev/null and b/translated_images/km/enemyShip.035a46787bff658c.webp differ diff --git a/translated_images/km/enemyShip.1a1354d7988de290.webp b/translated_images/km/enemyShip.1a1354d7988de290.webp new file mode 100644 index 0000000000..a668c6e249 Binary files /dev/null and b/translated_images/km/enemyShip.1a1354d7988de290.webp differ diff --git a/translated_images/km/enemyShip.22cbee6ea27a5809.webp b/translated_images/km/enemyShip.22cbee6ea27a5809.webp new file mode 100644 index 0000000000..a668c6e249 Binary files /dev/null and b/translated_images/km/enemyShip.22cbee6ea27a5809.webp differ diff --git a/translated_images/km/enemyShip.321ecb1b4eb21f2c.webp b/translated_images/km/enemyShip.321ecb1b4eb21f2c.webp new file mode 100644 index 0000000000..a668c6e249 Binary files /dev/null and b/translated_images/km/enemyShip.321ecb1b4eb21f2c.webp differ diff --git a/translated_images/km/enemyShip.4fbf2889e6129db4.webp b/translated_images/km/enemyShip.4fbf2889e6129db4.webp new file mode 100644 index 0000000000..a668c6e249 Binary files /dev/null and b/translated_images/km/enemyShip.4fbf2889e6129db4.webp differ diff --git a/translated_images/km/enemyShip.5df2a822c16650c2.webp b/translated_images/km/enemyShip.5df2a822c16650c2.webp new file mode 100644 index 0000000000..a668c6e249 Binary files /dev/null and b/translated_images/km/enemyShip.5df2a822c16650c2.webp differ diff --git a/translated_images/km/enemyShip.62983ed4bfb2220f.webp b/translated_images/km/enemyShip.62983ed4bfb2220f.webp new file mode 100644 index 0000000000..a668c6e249 Binary files /dev/null and b/translated_images/km/enemyShip.62983ed4bfb2220f.webp differ diff --git a/translated_images/km/enemyShip.add7036e1c3c3014.webp b/translated_images/km/enemyShip.add7036e1c3c3014.webp new file mode 100644 index 0000000000..a668c6e249 Binary files /dev/null and b/translated_images/km/enemyShip.add7036e1c3c3014.webp differ diff --git a/translated_images/km/enemyShip.b39a140287683bf7.webp b/translated_images/km/enemyShip.b39a140287683bf7.webp new file mode 100644 index 0000000000..a668c6e249 Binary files /dev/null and b/translated_images/km/enemyShip.b39a140287683bf7.webp differ diff --git a/translated_images/km/enemyShip.b9626ed228a17a32.webp b/translated_images/km/enemyShip.b9626ed228a17a32.webp new file mode 100644 index 0000000000..a668c6e249 Binary files /dev/null and b/translated_images/km/enemyShip.b9626ed228a17a32.webp differ diff --git a/translated_images/km/enemyShip.deb0477a7312f54d.webp b/translated_images/km/enemyShip.deb0477a7312f54d.webp new file mode 100644 index 0000000000..a668c6e249 Binary files /dev/null and b/translated_images/km/enemyShip.deb0477a7312f54d.webp differ diff --git a/translated_images/km/enemyUFO.bf8585e4e8dcdb68.webp b/translated_images/km/enemyUFO.bf8585e4e8dcdb68.webp new file mode 100644 index 0000000000..4f52507d2c Binary files /dev/null and b/translated_images/km/enemyUFO.bf8585e4e8dcdb68.webp differ diff --git a/translated_images/km/extension-details.9f8f1fd4e9eb2de5.webp b/translated_images/km/extension-details.9f8f1fd4e9eb2de5.webp new file mode 100644 index 0000000000..53388a425a Binary files /dev/null and b/translated_images/km/extension-details.9f8f1fd4e9eb2de5.webp differ diff --git a/translated_images/km/extension-screenshot.0e7f5bfa110e92e3.webp b/translated_images/km/extension-screenshot.0e7f5bfa110e92e3.webp new file mode 100644 index 0000000000..9350de8bcf Binary files /dev/null and b/translated_images/km/extension-screenshot.0e7f5bfa110e92e3.webp differ diff --git a/translated_images/km/extension-settings.21c752ae4f4cdb78.webp b/translated_images/km/extension-settings.21c752ae4f4cdb78.webp new file mode 100644 index 0000000000..7859462fc1 Binary files /dev/null and b/translated_images/km/extension-settings.21c752ae4f4cdb78.webp differ diff --git a/translated_images/km/extensions.eca0e0c7f59a10b5.webp b/translated_images/km/extensions.eca0e0c7f59a10b5.webp new file mode 100644 index 0000000000..749044b7be Binary files /dev/null and b/translated_images/km/extensions.eca0e0c7f59a10b5.webp differ diff --git a/translated_images/km/favicon.37b561214b36d454.webp b/translated_images/km/favicon.37b561214b36d454.webp new file mode 100644 index 0000000000..48a53960db Binary files /dev/null and b/translated_images/km/favicon.37b561214b36d454.webp differ diff --git a/translated_images/km/form-post.61de4ca1b964d91a.webp b/translated_images/km/form-post.61de4ca1b964d91a.webp new file mode 100644 index 0000000000..7054cc1768 Binary files /dev/null and b/translated_images/km/form-post.61de4ca1b964d91a.webp differ diff --git a/translated_images/km/history.7fdabbafa521e064.webp b/translated_images/km/history.7fdabbafa521e064.webp new file mode 100644 index 0000000000..4ba4c4c4b9 Binary files /dev/null and b/translated_images/km/history.7fdabbafa521e064.webp differ diff --git a/translated_images/km/install-on-edge.78634f02842c4828.webp b/translated_images/km/install-on-edge.78634f02842c4828.webp new file mode 100644 index 0000000000..62bd579fd9 Binary files /dev/null and b/translated_images/km/install-on-edge.78634f02842c4828.webp differ diff --git a/translated_images/km/install-on-edge.d68781acaf0b3d3d.webp b/translated_images/km/install-on-edge.d68781acaf0b3d3d.webp new file mode 100644 index 0000000000..4780daf9c6 Binary files /dev/null and b/translated_images/km/install-on-edge.d68781acaf0b3d3d.webp differ diff --git a/translated_images/km/laserGreen.89904f0f49945560.webp b/translated_images/km/laserGreen.89904f0f49945560.webp new file mode 100644 index 0000000000..bfe37aafc6 Binary files /dev/null and b/translated_images/km/laserGreen.89904f0f49945560.webp differ diff --git a/translated_images/km/laserGreenShot.e4fbfc4714c08a5b.webp b/translated_images/km/laserGreenShot.e4fbfc4714c08a5b.webp new file mode 100644 index 0000000000..dd3e87139b Binary files /dev/null and b/translated_images/km/laserGreenShot.e4fbfc4714c08a5b.webp differ diff --git a/translated_images/km/laserRed.2040e11f55c0a40a.webp b/translated_images/km/laserRed.2040e11f55c0a40a.webp new file mode 100644 index 0000000000..27c042acb2 Binary files /dev/null and b/translated_images/km/laserRed.2040e11f55c0a40a.webp differ diff --git a/translated_images/km/laserRed.381bc5555491ce67.webp b/translated_images/km/laserRed.381bc5555491ce67.webp new file mode 100644 index 0000000000..27c042acb2 Binary files /dev/null and b/translated_images/km/laserRed.381bc5555491ce67.webp differ diff --git a/translated_images/km/laserRed.69730edd76f0b3bd.webp b/translated_images/km/laserRed.69730edd76f0b3bd.webp new file mode 100644 index 0000000000..27c042acb2 Binary files /dev/null and b/translated_images/km/laserRed.69730edd76f0b3bd.webp differ diff --git a/translated_images/km/laserRed.b583dc1728eb8581.webp b/translated_images/km/laserRed.b583dc1728eb8581.webp new file mode 100644 index 0000000000..27c042acb2 Binary files /dev/null and b/translated_images/km/laserRed.b583dc1728eb8581.webp differ diff --git a/translated_images/km/laserRed.cae9ab24ea9b18fd.webp b/translated_images/km/laserRed.cae9ab24ea9b18fd.webp new file mode 100644 index 0000000000..27c042acb2 Binary files /dev/null and b/translated_images/km/laserRed.cae9ab24ea9b18fd.webp differ diff --git a/translated_images/km/laserRed.d81ce4986f87c251.webp b/translated_images/km/laserRed.d81ce4986f87c251.webp new file mode 100644 index 0000000000..27c042acb2 Binary files /dev/null and b/translated_images/km/laserRed.d81ce4986f87c251.webp differ diff --git a/translated_images/km/laserRed.e58ef8db2585dfbe.webp b/translated_images/km/laserRed.e58ef8db2585dfbe.webp new file mode 100644 index 0000000000..27c042acb2 Binary files /dev/null and b/translated_images/km/laserRed.e58ef8db2585dfbe.webp differ diff --git a/translated_images/km/laserRed.e66e29ace6666064.webp b/translated_images/km/laserRed.e66e29ace6666064.webp new file mode 100644 index 0000000000..27c042acb2 Binary files /dev/null and b/translated_images/km/laserRed.e66e29ace6666064.webp differ diff --git a/translated_images/km/laserRed.e86e8fb629c6026e.webp b/translated_images/km/laserRed.e86e8fb629c6026e.webp new file mode 100644 index 0000000000..27c042acb2 Binary files /dev/null and b/translated_images/km/laserRed.e86e8fb629c6026e.webp differ diff --git a/translated_images/km/laserRedShot.c39d066745996a71.webp b/translated_images/km/laserRedShot.c39d066745996a71.webp new file mode 100644 index 0000000000..99fcece7a8 Binary files /dev/null and b/translated_images/km/laserRedShot.c39d066745996a71.webp differ diff --git a/translated_images/km/life.27144b6d4bfdea76.webp b/translated_images/km/life.27144b6d4bfdea76.webp new file mode 100644 index 0000000000..442ec0a5b2 Binary files /dev/null and b/translated_images/km/life.27144b6d4bfdea76.webp differ diff --git a/translated_images/km/life.2a159298dd98f4ef.webp b/translated_images/km/life.2a159298dd98f4ef.webp new file mode 100644 index 0000000000..442ec0a5b2 Binary files /dev/null and b/translated_images/km/life.2a159298dd98f4ef.webp differ diff --git a/translated_images/km/life.466df3b1692a244a.webp b/translated_images/km/life.466df3b1692a244a.webp new file mode 100644 index 0000000000..442ec0a5b2 Binary files /dev/null and b/translated_images/km/life.466df3b1692a244a.webp differ diff --git a/translated_images/km/life.65a2aaceca875284.webp b/translated_images/km/life.65a2aaceca875284.webp new file mode 100644 index 0000000000..442ec0a5b2 Binary files /dev/null and b/translated_images/km/life.65a2aaceca875284.webp differ diff --git a/translated_images/km/life.6fb9f50d53ee0413.webp b/translated_images/km/life.6fb9f50d53ee0413.webp new file mode 100644 index 0000000000..442ec0a5b2 Binary files /dev/null and b/translated_images/km/life.6fb9f50d53ee0413.webp differ diff --git a/translated_images/km/life.78b6e96a3003767e.webp b/translated_images/km/life.78b6e96a3003767e.webp new file mode 100644 index 0000000000..442ec0a5b2 Binary files /dev/null and b/translated_images/km/life.78b6e96a3003767e.webp differ diff --git a/translated_images/km/life.86d843ce9c23289c.webp b/translated_images/km/life.86d843ce9c23289c.webp new file mode 100644 index 0000000000..442ec0a5b2 Binary files /dev/null and b/translated_images/km/life.86d843ce9c23289c.webp differ diff --git a/translated_images/km/localstorage.472f8147b6a3f8d1.webp b/translated_images/km/localstorage.472f8147b6a3f8d1.webp new file mode 100644 index 0000000000..5c30e75503 Binary files /dev/null and b/translated_images/km/localstorage.472f8147b6a3f8d1.webp differ diff --git a/translated_images/km/log.804026979f3707e0.webp b/translated_images/km/log.804026979f3707e0.webp new file mode 100644 index 0000000000..827b326128 Binary files /dev/null and b/translated_images/km/log.804026979f3707e0.webp differ diff --git a/translated_images/km/login-error.416fe019b36a6327.webp b/translated_images/km/login-error.416fe019b36a6327.webp new file mode 100644 index 0000000000..fa1d1baeda Binary files /dev/null and b/translated_images/km/login-error.416fe019b36a6327.webp differ diff --git a/translated_images/km/meteorBig.1e452b3ad7af50ad.webp b/translated_images/km/meteorBig.1e452b3ad7af50ad.webp new file mode 100644 index 0000000000..39fba10312 Binary files /dev/null and b/translated_images/km/meteorBig.1e452b3ad7af50ad.webp differ diff --git a/translated_images/km/meteorSmall.0d729bc71c12d41f.webp b/translated_images/km/meteorSmall.0d729bc71c12d41f.webp new file mode 100644 index 0000000000..631797205e Binary files /dev/null and b/translated_images/km/meteorSmall.0d729bc71c12d41f.webp differ diff --git a/translated_images/km/moodle.94eb93d714a50cb2.webp b/translated_images/km/moodle.94eb93d714a50cb2.webp new file mode 100644 index 0000000000..902b9962d2 Binary files /dev/null and b/translated_images/km/moodle.94eb93d714a50cb2.webp differ diff --git a/translated_images/km/mpa.7f7375a1a2d4aa77.webp b/translated_images/km/mpa.7f7375a1a2d4aa77.webp new file mode 100644 index 0000000000..0d5b3d008a Binary files /dev/null and b/translated_images/km/mpa.7f7375a1a2d4aa77.webp differ diff --git a/translated_images/km/nebula.55c2933d36d035d3.webp b/translated_images/km/nebula.55c2933d36d035d3.webp new file mode 100644 index 0000000000..a294cbf33d Binary files /dev/null and b/translated_images/km/nebula.55c2933d36d035d3.webp differ diff --git a/translated_images/km/new-file-github.com.c886796d800e8056.webp b/translated_images/km/new-file-github.com.c886796d800e8056.webp new file mode 100644 index 0000000000..e43c9a04ff Binary files /dev/null and b/translated_images/km/new-file-github.com.c886796d800e8056.webp differ diff --git a/translated_images/km/open-palette-menu.46dda01084738da8.webp b/translated_images/km/open-palette-menu.46dda01084738da8.webp new file mode 100644 index 0000000000..f5a8202973 Binary files /dev/null and b/translated_images/km/open-palette-menu.46dda01084738da8.webp differ diff --git a/translated_images/km/open-remote-repository.bd9c2598b8949e7f.webp b/translated_images/km/open-remote-repository.bd9c2598b8949e7f.webp new file mode 100644 index 0000000000..e0832eaeb8 Binary files /dev/null and b/translated_images/km/open-remote-repository.bd9c2598b8949e7f.webp differ diff --git a/translated_images/km/palette-menu.4946174e07f42622.webp b/translated_images/km/palette-menu.4946174e07f42622.webp new file mode 100644 index 0000000000..7faaa62049 Binary files /dev/null and b/translated_images/km/palette-menu.4946174e07f42622.webp differ diff --git a/translated_images/km/partI-solution.36c53b48c9ffae2a.webp b/translated_images/km/partI-solution.36c53b48c9ffae2a.webp new file mode 100644 index 0000000000..e7df45a1e9 Binary files /dev/null and b/translated_images/km/partI-solution.36c53b48c9ffae2a.webp differ diff --git a/translated_images/km/plant1.a876180d8659acb9.webp b/translated_images/km/plant1.a876180d8659acb9.webp new file mode 100644 index 0000000000..0afdb84923 Binary files /dev/null and b/translated_images/km/plant1.a876180d8659acb9.webp differ diff --git a/translated_images/km/plant10.2f2c47804ae52dd3.webp b/translated_images/km/plant10.2f2c47804ae52dd3.webp new file mode 100644 index 0000000000..a972d31971 Binary files /dev/null and b/translated_images/km/plant10.2f2c47804ae52dd3.webp differ diff --git a/translated_images/km/plant11.0ce0081b0ef17aa1.webp b/translated_images/km/plant11.0ce0081b0ef17aa1.webp new file mode 100644 index 0000000000..83718f4032 Binary files /dev/null and b/translated_images/km/plant11.0ce0081b0ef17aa1.webp differ diff --git a/translated_images/km/plant12.6b934c4312a00228.webp b/translated_images/km/plant12.6b934c4312a00228.webp new file mode 100644 index 0000000000..abfcadc6c1 Binary files /dev/null and b/translated_images/km/plant12.6b934c4312a00228.webp differ diff --git a/translated_images/km/plant13.37d6ab2e2481421f.webp b/translated_images/km/plant13.37d6ab2e2481421f.webp new file mode 100644 index 0000000000..77816483d2 Binary files /dev/null and b/translated_images/km/plant13.37d6ab2e2481421f.webp differ diff --git a/translated_images/km/plant14.908791477a46eb7f.webp b/translated_images/km/plant14.908791477a46eb7f.webp new file mode 100644 index 0000000000..9b2eea6374 Binary files /dev/null and b/translated_images/km/plant14.908791477a46eb7f.webp differ diff --git a/translated_images/km/plant2.9e45efea224115b0.webp b/translated_images/km/plant2.9e45efea224115b0.webp new file mode 100644 index 0000000000..e6b517d90c Binary files /dev/null and b/translated_images/km/plant2.9e45efea224115b0.webp differ diff --git a/translated_images/km/plant3.06efdd0fa0c4b115.webp b/translated_images/km/plant3.06efdd0fa0c4b115.webp new file mode 100644 index 0000000000..fa73f15cf9 Binary files /dev/null and b/translated_images/km/plant3.06efdd0fa0c4b115.webp differ diff --git a/translated_images/km/plant4.3b78072b427727c6.webp b/translated_images/km/plant4.3b78072b427727c6.webp new file mode 100644 index 0000000000..be231012e6 Binary files /dev/null and b/translated_images/km/plant4.3b78072b427727c6.webp differ diff --git a/translated_images/km/plant5.8ec58b18ac336fa8.webp b/translated_images/km/plant5.8ec58b18ac336fa8.webp new file mode 100644 index 0000000000..4e295e1859 Binary files /dev/null and b/translated_images/km/plant5.8ec58b18ac336fa8.webp differ diff --git a/translated_images/km/plant6.ca4ff8372e6676b1.webp b/translated_images/km/plant6.ca4ff8372e6676b1.webp new file mode 100644 index 0000000000..46a89a5455 Binary files /dev/null and b/translated_images/km/plant6.ca4ff8372e6676b1.webp differ diff --git a/translated_images/km/plant7.194d5a42fcf5a88c.webp b/translated_images/km/plant7.194d5a42fcf5a88c.webp new file mode 100644 index 0000000000..420dca0b96 Binary files /dev/null and b/translated_images/km/plant7.194d5a42fcf5a88c.webp differ diff --git a/translated_images/km/plant8.7b247809ab0eb492.webp b/translated_images/km/plant8.7b247809ab0eb492.webp new file mode 100644 index 0000000000..9b4c15c2fa Binary files /dev/null and b/translated_images/km/plant8.7b247809ab0eb492.webp differ diff --git a/translated_images/km/plant9.8fe614c01ded1b1e.webp b/translated_images/km/plant9.8fe614c01ded1b1e.webp new file mode 100644 index 0000000000..893f89540c Binary files /dev/null and b/translated_images/km/plant9.8fe614c01ded1b1e.webp differ diff --git a/translated_images/km/player.137ee0e47f895ffc.webp b/translated_images/km/player.137ee0e47f895ffc.webp new file mode 100644 index 0000000000..879c28a80f Binary files /dev/null and b/translated_images/km/player.137ee0e47f895ffc.webp differ diff --git a/translated_images/km/player.2887422f6982c3cd.webp b/translated_images/km/player.2887422f6982c3cd.webp new file mode 100644 index 0000000000..879c28a80f Binary files /dev/null and b/translated_images/km/player.2887422f6982c3cd.webp differ diff --git a/translated_images/km/player.391fed427ede24f5.webp b/translated_images/km/player.391fed427ede24f5.webp new file mode 100644 index 0000000000..879c28a80f Binary files /dev/null and b/translated_images/km/player.391fed427ede24f5.webp differ diff --git a/translated_images/km/player.3c4f50182552a73a.webp b/translated_images/km/player.3c4f50182552a73a.webp new file mode 100644 index 0000000000..879c28a80f Binary files /dev/null and b/translated_images/km/player.3c4f50182552a73a.webp differ diff --git a/translated_images/km/player.47bc9de0714c723d.webp b/translated_images/km/player.47bc9de0714c723d.webp new file mode 100644 index 0000000000..879c28a80f Binary files /dev/null and b/translated_images/km/player.47bc9de0714c723d.webp differ diff --git a/translated_images/km/player.57b3107c03012695.webp b/translated_images/km/player.57b3107c03012695.webp new file mode 100644 index 0000000000..879c28a80f Binary files /dev/null and b/translated_images/km/player.57b3107c03012695.webp differ diff --git a/translated_images/km/player.606f85953e5e564e.webp b/translated_images/km/player.606f85953e5e564e.webp new file mode 100644 index 0000000000..879c28a80f Binary files /dev/null and b/translated_images/km/player.606f85953e5e564e.webp differ diff --git a/translated_images/km/player.680ea4c619b54fe1.webp b/translated_images/km/player.680ea4c619b54fe1.webp new file mode 100644 index 0000000000..879c28a80f Binary files /dev/null and b/translated_images/km/player.680ea4c619b54fe1.webp differ diff --git a/translated_images/km/player.bfe14f110bddf56d.webp b/translated_images/km/player.bfe14f110bddf56d.webp new file mode 100644 index 0000000000..879c28a80f Binary files /dev/null and b/translated_images/km/player.bfe14f110bddf56d.webp differ diff --git a/translated_images/km/player.c99c25d54a615ca0.webp b/translated_images/km/player.c99c25d54a615ca0.webp new file mode 100644 index 0000000000..879c28a80f Binary files /dev/null and b/translated_images/km/player.c99c25d54a615ca0.webp differ diff --git a/translated_images/km/player.dd24c1afa8c71e9b.webp b/translated_images/km/player.dd24c1afa8c71e9b.webp new file mode 100644 index 0000000000..879c28a80f Binary files /dev/null and b/translated_images/km/player.dd24c1afa8c71e9b.webp differ diff --git a/translated_images/km/playerDamaged.181703f652fd5176.webp b/translated_images/km/playerDamaged.181703f652fd5176.webp new file mode 100644 index 0000000000..00d3377d91 Binary files /dev/null and b/translated_images/km/playerDamaged.181703f652fd5176.webp differ diff --git a/translated_images/km/playerLeft.0f928412e66ba5d9.webp b/translated_images/km/playerLeft.0f928412e66ba5d9.webp new file mode 100644 index 0000000000..0856babce5 Binary files /dev/null and b/translated_images/km/playerLeft.0f928412e66ba5d9.webp differ diff --git a/translated_images/km/playerRight.e4825f489e29f737.webp b/translated_images/km/playerRight.e4825f489e29f737.webp new file mode 100644 index 0000000000..8d6696a223 Binary files /dev/null and b/translated_images/km/playerRight.e4825f489e29f737.webp differ diff --git a/translated_images/km/playground-choice.1d23ba7d407f4758.webp b/translated_images/km/playground-choice.1d23ba7d407f4758.webp new file mode 100644 index 0000000000..5f0842ec30 Binary files /dev/null and b/translated_images/km/playground-choice.1d23ba7d407f4758.webp differ diff --git a/translated_images/km/playground.d2b927122224ff8f.webp b/translated_images/km/playground.d2b927122224ff8f.webp new file mode 100644 index 0000000000..84771ead6b Binary files /dev/null and b/translated_images/km/playground.d2b927122224ff8f.webp differ diff --git a/translated_images/km/preview.9215f0a010074476.webp b/translated_images/km/preview.9215f0a010074476.webp new file mode 100644 index 0000000000..a1f693216f Binary files /dev/null and b/translated_images/km/preview.9215f0a010074476.webp differ diff --git a/translated_images/km/profiler.5a4a62479c5df01c.webp b/translated_images/km/profiler.5a4a62479c5df01c.webp new file mode 100644 index 0000000000..090a0d315a Binary files /dev/null and b/translated_images/km/profiler.5a4a62479c5df01c.webp differ diff --git a/translated_images/km/project-on-vscode.dev.e79815a9a95ee7fe.webp b/translated_images/km/project-on-vscode.dev.e79815a9a95ee7fe.webp new file mode 100644 index 0000000000..a78b787ae8 Binary files /dev/null and b/translated_images/km/project-on-vscode.dev.e79815a9a95ee7fe.webp differ diff --git a/translated_images/km/result.96ef01f607bf856a.webp b/translated_images/km/result.96ef01f607bf856a.webp new file mode 100644 index 0000000000..c6f5d8933c Binary files /dev/null and b/translated_images/km/result.96ef01f607bf856a.webp differ diff --git a/translated_images/km/screen1.baccbba0f1f93364.webp b/translated_images/km/screen1.baccbba0f1f93364.webp new file mode 100644 index 0000000000..2774d826e1 Binary files /dev/null and b/translated_images/km/screen1.baccbba0f1f93364.webp differ diff --git a/translated_images/km/screen2.123c82a831a1d14a.webp b/translated_images/km/screen2.123c82a831a1d14a.webp new file mode 100644 index 0000000000..50d66d599d Binary files /dev/null and b/translated_images/km/screen2.123c82a831a1d14a.webp differ diff --git a/translated_images/km/screenshot.0a1ee0d123df681b.webp b/translated_images/km/screenshot.0a1ee0d123df681b.webp new file mode 100644 index 0000000000..bb3042527c Binary files /dev/null and b/translated_images/km/screenshot.0a1ee0d123df681b.webp differ diff --git a/translated_images/km/screenshot.e7a5ad659e364568.webp b/translated_images/km/screenshot.e7a5ad659e364568.webp new file mode 100644 index 0000000000..dbb6329985 Binary files /dev/null and b/translated_images/km/screenshot.e7a5ad659e364568.webp differ diff --git a/translated_images/km/screenshot_gray.0c796099a1f9f25e.webp b/translated_images/km/screenshot_gray.0c796099a1f9f25e.webp new file mode 100644 index 0000000000..66daf4b813 Binary files /dev/null and b/translated_images/km/screenshot_gray.0c796099a1f9f25e.webp differ diff --git a/translated_images/km/shield.1b9412b7ca6610ab.webp b/translated_images/km/shield.1b9412b7ca6610ab.webp new file mode 100644 index 0000000000..a2e065ca1b Binary files /dev/null and b/translated_images/km/shield.1b9412b7ca6610ab.webp differ diff --git a/translated_images/km/snapshot.97750180ebcad737.webp b/translated_images/km/snapshot.97750180ebcad737.webp new file mode 100644 index 0000000000..6edae76a11 Binary files /dev/null and b/translated_images/km/snapshot.97750180ebcad737.webp differ diff --git a/translated_images/km/spa.268ec73b41f992c2.webp b/translated_images/km/spa.268ec73b41f992c2.webp new file mode 100644 index 0000000000..bd0a3f02e7 Binary files /dev/null and b/translated_images/km/spa.268ec73b41f992c2.webp differ diff --git a/translated_images/km/speedLine.5bcabb93f48b5ae1.webp b/translated_images/km/speedLine.5bcabb93f48b5ae1.webp new file mode 100644 index 0000000000..57b77b3429 Binary files /dev/null and b/translated_images/km/speedLine.5bcabb93f48b5ae1.webp differ diff --git a/translated_images/km/spritesheet.bec82852290b14ee.webp b/translated_images/km/spritesheet.bec82852290b14ee.webp new file mode 100644 index 0000000000..02853f8a00 Binary files /dev/null and b/translated_images/km/spritesheet.bec82852290b14ee.webp differ diff --git a/translated_images/km/starBackground.a897b8acb1b0587d.webp b/translated_images/km/starBackground.a897b8acb1b0587d.webp new file mode 100644 index 0000000000..16f2c9669c Binary files /dev/null and b/translated_images/km/starBackground.a897b8acb1b0587d.webp differ diff --git a/translated_images/km/starBig.72e9c6d0d18f363d.webp b/translated_images/km/starBig.72e9c6d0d18f363d.webp new file mode 100644 index 0000000000..9177913336 Binary files /dev/null and b/translated_images/km/starBig.72e9c6d0d18f363d.webp differ diff --git a/translated_images/km/starSmall.ed78b961dbcd0898.webp b/translated_images/km/starSmall.ed78b961dbcd0898.webp new file mode 100644 index 0000000000..bf86a6e91c Binary files /dev/null and b/translated_images/km/starSmall.ed78b961dbcd0898.webp differ diff --git a/translated_images/km/template.67ad477109d29a2b.webp b/translated_images/km/template.67ad477109d29a2b.webp new file mode 100644 index 0000000000..1d9761d70c Binary files /dev/null and b/translated_images/km/template.67ad477109d29a2b.webp differ diff --git a/translated_images/km/terrarium-final.0920f16e87c13a84.webp b/translated_images/km/terrarium-final.0920f16e87c13a84.webp new file mode 100644 index 0000000000..cbed2996b4 Binary files /dev/null and b/translated_images/km/terrarium-final.0920f16e87c13a84.webp differ diff --git a/translated_images/km/terrarium-final.2f07047ffc597d0a.webp b/translated_images/km/terrarium-final.2f07047ffc597d0a.webp new file mode 100644 index 0000000000..fed1b6d021 Binary files /dev/null and b/translated_images/km/terrarium-final.2f07047ffc597d0a.webp differ diff --git a/translated_images/km/validation-error.8bd23e98d416c22f.webp b/translated_images/km/validation-error.8bd23e98d416c22f.webp new file mode 100644 index 0000000000..d862773e73 Binary files /dev/null and b/translated_images/km/validation-error.8bd23e98d416c22f.webp differ diff --git a/translated_images/km/vs-code-index.e2986cf919471eb9.webp b/translated_images/km/vs-code-index.e2986cf919471eb9.webp new file mode 100644 index 0000000000..48d99086c9 Binary files /dev/null and b/translated_images/km/vs-code-index.e2986cf919471eb9.webp differ diff --git a/translated_images/km/webdev101-a11y.8ef3025c858d897a.webp b/translated_images/km/webdev101-a11y.8ef3025c858d897a.webp new file mode 100644 index 0000000000..1d8a8f364c Binary files /dev/null and b/translated_images/km/webdev101-a11y.8ef3025c858d897a.webp differ diff --git a/translated_images/km/webdev101-css.3f7af5991bf53a20.webp b/translated_images/km/webdev101-css.3f7af5991bf53a20.webp new file mode 100644 index 0000000000..0afacc8ec1 Binary files /dev/null and b/translated_images/km/webdev101-css.3f7af5991bf53a20.webp differ diff --git a/translated_images/km/webdev101-github.8846d7971abef6f9.webp b/translated_images/km/webdev101-github.8846d7971abef6f9.webp new file mode 100644 index 0000000000..0f3aab7bd9 Binary files /dev/null and b/translated_images/km/webdev101-github.8846d7971abef6f9.webp differ diff --git a/translated_images/km/webdev101-html.4389c2067af68e98.webp b/translated_images/km/webdev101-html.4389c2067af68e98.webp new file mode 100644 index 0000000000..99f3ba3088 Binary files /dev/null and b/translated_images/km/webdev101-html.4389c2067af68e98.webp differ diff --git a/translated_images/km/webdev101-js-arrays.439d7528b8a29455.webp b/translated_images/km/webdev101-js-arrays.439d7528b8a29455.webp new file mode 100644 index 0000000000..bea74376d9 Binary files /dev/null and b/translated_images/km/webdev101-js-arrays.439d7528b8a29455.webp differ diff --git a/translated_images/km/webdev101-js-datatypes.4cc470179730702c.webp b/translated_images/km/webdev101-js-datatypes.4cc470179730702c.webp new file mode 100644 index 0000000000..facc9f6c46 Binary files /dev/null and b/translated_images/km/webdev101-js-datatypes.4cc470179730702c.webp differ diff --git a/translated_images/km/webdev101-js-decisions.69e1b20f272dd1f0.webp b/translated_images/km/webdev101-js-decisions.69e1b20f272dd1f0.webp new file mode 100644 index 0000000000..3d3c53ef30 Binary files /dev/null and b/translated_images/km/webdev101-js-decisions.69e1b20f272dd1f0.webp differ diff --git a/translated_images/km/webdev101-js-functions.be049c4726e94f8b.webp b/translated_images/km/webdev101-js-functions.be049c4726e94f8b.webp new file mode 100644 index 0000000000..4332099bc6 Binary files /dev/null and b/translated_images/km/webdev101-js-functions.be049c4726e94f8b.webp differ diff --git a/translated_images/km/webdev101-js.10280393044d7eaa.webp b/translated_images/km/webdev101-js.10280393044d7eaa.webp new file mode 100644 index 0000000000..22c20b3515 Binary files /dev/null and b/translated_images/km/webdev101-js.10280393044d7eaa.webp differ diff --git a/translated_images/km/webdev101-programming.d6e3f98e61ac4bff.webp b/translated_images/km/webdev101-programming.d6e3f98e61ac4bff.webp new file mode 100644 index 0000000000..70e9e001bb Binary files /dev/null and b/translated_images/km/webdev101-programming.d6e3f98e61ac4bff.webp differ diff --git a/translated_images/km/working-tree-pb.6cd43e5076f23ba3.webp b/translated_images/km/working-tree-pb.6cd43e5076f23ba3.webp new file mode 100644 index 0000000000..98c90f9959 Binary files /dev/null and b/translated_images/km/working-tree-pb.6cd43e5076f23ba3.webp differ diff --git a/translated_images/km/working-tree.c58eec08e6335c79.webp b/translated_images/km/working-tree.c58eec08e6335c79.webp new file mode 100644 index 0000000000..8ac1f5bdd1 Binary files /dev/null and b/translated_images/km/working-tree.c58eec08e6335c79.webp differ diff --git a/translations/ar/.co-op-translator.json b/translations/ar/.co-op-translator.json index 031257338b..2281d8f25e 100644 --- a/translations/ar/.co-op-translator.json +++ b/translations/ar/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T21:44:05+00:00", + "translation_date": "2026-04-06T17:39:16+00:00", "source_file": "AGENTS.md", "language_code": "ar" }, @@ -516,8 +516,8 @@ "language_code": "ar" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T16:45:52+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T17:35:46+00:00", "source_file": "README.md", "language_code": "ar" }, diff --git a/translations/ar/AGENTS.md b/translations/ar/AGENTS.md index c97410d938..8ed4cd399f 100644 --- a/translations/ar/AGENTS.md +++ b/translations/ar/AGENTS.md @@ -2,27 +2,27 @@ ## نظرة عامة على المشروع -هذا مستودع منهج تعليمي لتعليم أساسيات تطوير الويب للمبتدئين. المنهج عبارة عن دورة شاملة لمدة 12 أسبوعًا تم تطويرها من قبل دعاة سحابة مايكروسوفت، تتضمن 24 درسًا عمليًا تغطي جافا سكريبت، CSS، وHTML. +هذا مستودع منهج تعليمي لتعليم أساسيات تطوير الويب للمبتدئين. المنهج هو دورة شاملة مدتها 12 أسبوعًا تم تطويرها بواسطة Microsoft Cloud Advocates، ويشتمل على 24 درسًا عمليًا يغطي JavaScript وCSS وHTML. ### المكونات الرئيسية - **المحتوى التعليمي**: 24 درسًا منظمًا في وحدات قائمة على المشاريع -- **مشاريع عملية**: Terrarium، لعبة الكتابة، امتداد المتصفح، لعبة الفضاء، تطبيق البنك، محرر التعليمات البرمجية، ومساعد دردشة بالذكاء الاصطناعي -- **اختبارات تفاعلية**: 48 اختبارًا مع 3 أسئلة لكل اختبار (تقييمات ما قبل/بعد الدرس) -- **دعم متعدد اللغات**: ترجمات آلية لأكثر من 50 لغة عبر GitHub Actions -- **التقنيات**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، بايثون (لمشاريع الذكاء الاصطناعي) +- **المشاريع العملية**: تيراريوم، لعبة الطباعة، إضافة متصفح، لعبة الفضاء، تطبيق بنكي، محرر الشفرات، ومساعد دردشة الذكاء الاصطناعي +- **اختبارات تفاعلية**: 48 اختبارًا يحتوي كل منها على 3 أسئلة (تقييمات قبل وبعد الدرس) +- **دعم لغات متعددة**: ترجمات تلقائية لأكثر من 50 لغة عبر GitHub Actions +- **التقنيات**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، Python (لمشاريع الذكاء الاصطناعي) -### الهيكلية +### البنية - مستودع تعليمي به هيكل قائم على الدروس -- يحتوي كل مجلد درس على README، أمثلة تعليمية، وحلول -- مشاريع مستقلة في مجلدات منفصلة (quiz-app، مشاريع الدروس المختلفة) -- نظام الترجمة يستخدم GitHub Actions (co-op-translator) -- الوثائق مقدمة عبر Docsify ومتوفرة أيضًا كملف PDF +- يحتوي كل مجلد درس على README وأمثلة الشفرة والحلول +- مشاريع مستقلة في مجلدات منفصلة (quiz-app، مشاريع دروس متنوعة) +- نظام ترجمة يستخدم GitHub Actions (co-op-translator) +- التوثيق مقدم عبر Docsify ومتوفر كملف PDF ## أوامر الإعداد -هذا المستودع مخصص بشكل أساسي لاستهلاك المحتوى التعليمي. للعمل مع مشاريع محددة: +هذا المستودع موجه أساسًا لاستهلاك المحتوى التعليمي. للعمل على مشاريع محددة: ### إعداد المستودع الرئيسي @@ -41,22 +41,22 @@ npm run build # البناء للإنتاج npm run lint # تشغيل ESLint ``` -### API مشروع البنك (Node.js + Express) +### واجهة برمجة تطبيقات مشروع البنك (Node.js + Express) ```bash cd 7-bank-project/api npm install npm start # بدء خادم API npm run lint # تشغيل ESLint -npm run format # التنسيق باستخدام Prettier +npm run format # التنسيق مع Prettier ``` -### مشاريع امتداد المتصفح +### مشاريع إضافة المتصفح ```bash cd 5-browser-extension/solution npm install -# اتبع تعليمات تحميل الإضافة الخاصة بالمتصفح +# اتبع التعليمات الخاصة بتحميل الامتداد لمتصفح معين ``` ### مشاريع لعبة الفضاء @@ -64,53 +64,53 @@ npm install ```bash cd 6-space-game/solution npm install -# افتح index.html في المتصفح أو استخدم الخادم الحي +# افتح index.html في المتصفح أو استخدم Live Server ``` -### مشروع الدردشة (خلفية بايثون) +### مشروع الدردشة (باك إند بايثون) ```bash cd 9-chat-project/solution/backend/python pip install openai -# تعيين المتغير البيئي GITHUB_TOKEN +# تعيين متغير البيئة GITHUB_TOKEN python api.py ``` -## سير عمل التطوير +## سير العمل في التطوير ### للمساهمين في المحتوى -1. **استنسخ المستودع** إلى حساب GitHub الخاص بك -2. **انسخ الاستنساخ محليًا** +1. **انشئ فورك للمستودع** في حساب GitHub الخاص بك +2. **استنسخ فوركك** محليًا 3. **أنشئ فرعًا جديدًا** لتغييراتك -4. قم بإجراء تغييرات على محتوى الدروس أو أمثلة الشيفرة -5. اختبر أي تغييرات على الشيفرة في مجلدات المشاريع المعنية -6. قدم طلبات سحب طبقًا لإرشادات المساهمة +4. قم بإجراء تغييرات على محتوى الدروس أو أمثلة الشفرة +5. اختبر أي تغييرات بالشفرة في مجلدات المشاريع المعنية +6. قدم طلبات سحب وفقًا لإرشادات المساهمة ### للمتعلمين -1. استنسخ أو انسخ المستودع -2. انتقل إلى مجلدات الدروس بالتسلسل +1. أنشئ فوركًا أو استنسخ المستودع +2. انتقل إلى مجلدات الدروس تباعًا 3. اقرأ ملفات README لكل درس -4. أكمل اختبارات ما قبل الدرس عبر https://ff-quizzes.netlify.app/web/ -5. قم بتنفيذ الأمثلة البرمجية في مجلدات الدروس +4. أكمل اختبارات ما قبل الدرس على https://ff-quizzes.netlify.app/web/ +5. اعمل على أمثلة الشفرة في مجلدات الدرس 6. أكمل الواجبات والتحديات 7. خذ اختبارات ما بعد الدرس ### التطوير المباشر -- **الوثائق**: قم بتشغيل `docsify serve` من الجذر (المنفذ 3000) -- **تطبيق الاختبار**: شغل `npm run dev` في مجلد quiz-app -- **المشاريع**: استخدم ملحق VS Code Live Server لمشاريع HTML -- **مشاريع API**: شغل `npm start` في مجلدات API المعنية +- **التوثيق**: شغل `docsify serve` من جذر المستودع (المنفذ 3000) +- **تطبيق الاختبارات**: شغل `npm run dev` في مجلد quiz-app +- **المشاريع**: استخدم امتداد VS Code Live Server لمشاريع HTML +- **مشاريع API**: شغل `npm start` في مجلدات الـ API ذات الصلة ## تعليمات الاختبار -### اختبار تطبيق الاختبار +### اختبار تطبيق الاختبارات ```bash cd quiz-app -npm run lint # التحقق من مشاكل نمط الكود +npm run lint # التحقق من مشكلات نمط الشفرة npm run build # التحقق من نجاح البناء ``` @@ -118,69 +118,69 @@ npm run build # التحقق من نجاح البناء ```bash cd 7-bank-project/api -npm run lint # التحقق من مشكلات نمط الكود -node server.js # التحقق من بدء الخادم بدون أخطاء +npm run lint # التحقق من مشاكل نمط الكود +node server.js # التأكد من بدء الخادم بدون أخطاء ``` -### منهجية الاختبار العامة +### نهج الاختبار العام - هذا مستودع تعليمي بدون اختبارات آلية شاملة -- تركيز الاختبار اليدوي على: - - تشغيل أمثلة الشيفرة بدون أخطاء - - عمل الروابط في الوثائق بشكل صحيح - - إتمام بناء المشاريع بنجاح - - اتباع أفضل الممارسات في الأمثلة +- التركيز على الاختبار اليدوي على: + - تشغيل أمثلة الشفرة بدون أخطاء + - عمل روابط التوثيق بشكل صحيح + - اكتمال بناء المشاريع بنجاح + - اتّباع أفضل الممارسات في الأمثلة ### فحوصات ما قبل الإرسال -- شغل `npm run lint` في المجلدات التي تحتوي على package.json -- تحقق من صحة روابط الماركداون -- اختبر أمثلة الشيفرة في المتصفح أو Node.js -- تأكد من أن الترجمة تحافظ على البنية الصحيحة +- شغل `npm run lint` في المجلدات التي تحوي ملف package.json +- تحقق من صلاحية روابط markdown +- اختبر أمثلة الشفرة في المتصفح أو Node.js +- تحقق من أن الترجمات تحافظ على البنية الصحيحة -## إرشادات نمط الشيفرة +## إرشادات أسلوب كتابة الشفرة ### جافا سكريبت -- استخدام صياغة ES6+ الحديثة -- اتباع تهيئات ESLint القياسية المقدمة في المشاريع -- استخدام أسماء متغيرات ودوال ذات معنى للتوضيح التعليمي -- إضافة تعليقات تشرح المفاهيم للمتعلمين -- التنسيق باستخدام Prettier حيثما تم التهيئة +- استخدم بناء جملة ES6+ الحديثة +- اتبع تكوين ESLint القياسي في المشاريع +- استخدم أسماء متغيرات ودوال واضحة للتوضيح التعليمي +- أضف تعليقات تشرح المفاهيم للمتعلمين +- نسق الشفرة باستخدام Prettier حيثما تم تكوينه ### HTML/CSS -- عناصر HTML5 الدلالية +- استخدم عناصر HTML5 الدلالية - مبادئ التصميم المتجاوب -- تسميات واضحة للفئات (classes) +- قواعد تسمية واضحة للفئات - تعليقات تشرح تقنيات CSS للمتعلمين ### بايثون -- إرشادات نمط PEP 8 -- أمثلة شيفرة واضحة وتعليمية -- تعليمات النوع حيثما تسهل التعلم +- إرشادات الأسلوب PEP 8 +- أمثلة شفرة واضحة وتعليمية +- تلميحات الأنواع حيث تساعد في التعلم -### توثيق ماركداون +### توثيق Markdown -- تسلسل عناوين واضحة -- كتل شيفرة مع تحديد اللغة +- تراتبية عناوين واضحة +- كتل شفرة مع تحديد اللغة - روابط لمصادر إضافية -- لقطات وصور في مجلدات `images/` -- نص بديل للصور لدعم الوصول +- لقطات شاشة وصور في مجلدات `images/` +- نص بديل للصور لملائمة ذوي الاحتياجات ### تنظيم الملفات -- الدروس مرقمة بالتسلسل (1-getting-started-lessons, 2-js-basics,... ) -- يحتوي كل مشروع على مجلد `solution/` وغالباً `start/` أو `your-work/` -- تخزين الصور في مجلدات `images/` الخاصة بكل درس -- الترجمة في هيكل `translations/{language-code}/` +- دروس مرقمة بالتسلسل (1-getting-started-lessons، 2-js-basics، إلخ) +- كل مشروع يحتوي على مجلد `solution/` وغالبًا `start/` أو `your-work/` +- الصور مخزنة في مجلدات `images/` الخاصة بكل درس +- الترجمات في هيكل `translations/{language-code}/` ## البناء والنشر ### نشر تطبيق الاختبار (Azure Static Web Apps) -تم تهيئة تطبيق الاختبار للنشر على Azure Static Web Apps: +تم تهيئة quiz-app لنشر Azure Static Web Apps: ```bash cd quiz-app @@ -188,95 +188,95 @@ npm run build # ينشئ مجلد dist/ # ينشر عبر سير عمل GitHub Actions عند الدفع إلى الفرع الرئيسي ``` -إعداد Azure Static Web Apps: +إعداد Azure Static Web Apps: - **موقع التطبيق**: `/quiz-app` -- **موقع الإخراج**: `dist` +- **موقع الخرج**: `dist` - **سير العمل**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` -### إنشاء ملفات PDF للوثائق +### إنشاء PDF للتوثيق ```bash npm install # تثبيت docsify-to-pdf -npm run convert # توليد ملف PDF من المستندات +npm run convert # إنشاء ملف PDF من docs ``` ### توثيق Docsify ```bash -npm install -g docsify-cli # تثبيت Docsify على مستوى النظام -docsify serve # الخدمة على localhost:3000 +npm install -g docsify-cli # تثبيت دوكسفاي على مستوى النظام +docsify serve # الخادم على localhost:3000 ``` -### بناء خاص بكل مشروع +### عمليات بناء خاصة بالمشاريع -قد يحتوي كل مشروع على عملية بناء خاصة به: -- مشاريع Vue: أمر `npm run build` لإنشاء حزم الإنتاج -- المشاريع الثابتة: لا تحتاج لخطوة بناء، تقدم الملفات مباشرة +قد يحتوي كل مجلد مشروع على عملية بناء خاصة به: +- مشاريع Vue: `npm run build` لإنشاء حزَم الإنتاج +- المشاريع الثابتة: لا توجد خطوة بناء، يقدم الملفات مباشرة -## إرشادات طلب السحب +## إرشادات طلبات السحب -### صيغة العنوان +### تنسيق العنوان -استخدم عناوين واضحة ووصفيه تشير إلى مجال التغيير: +استخدم عناوين واضحة ووصّافية تشير إلى مجال التغيير: - `[Quiz-app] إضافة اختبار جديد للدرس X` -- `[Lesson-3] تصحيح خطأ إملائي في مشروع terrarium` +- `[Lesson-3] إصلاح خطأ في مشروع التيراريوم` - `[Translation] إضافة الترجمة الإسبانية للدرس 5` - `[Docs] تحديث تعليمات الإعداد` ### الفحوصات المطلوبة -قبل تقديم طلب السحب: +قبل تقديم PR: -1. **جودة الشيفرة**: - - شغّل `npm run lint` في مجلدات المشاريع - - أصلح جميع أخطاء وإنذارات الفحص +1. **جودة الشفرة**: + - شغل `npm run lint` في مجلدات المشاريع المتأثرة + - أصلح كل أخطاء وتحذيرات اللينت 2. **التحقق من البناء**: - - نفذ `npm run build` إن استدعى الأمر - - تحقق من عدم وجود أخطاء في البناء + - شغل `npm run build` إذا كان مطبقًا + - تأكد من عدم وجود أخطاء في البناء 3. **التحقق من الروابط**: - - اختبر جميع روابط الماركداون - - تحقق من عمل إشارات الصور + - اختبر كل روابط markdown + - تحقق من عمل مراجع الصور 4. **مراجعة المحتوى**: - - تدقيق نحوي وإملائي - - التأكد من صحة أمثلة الشيفرات وجودتها التعليمية - - التأكد من دقة الترجمات ومعناها الأصلي + - تدقيق إملائي ونحوي + - التأكد من صحة وأهداف أمثلة الشفرة التعليمية + - مراجعة الترجمات للحفاظ على المعنى الأصلي ### متطلبات المساهمة -- الموافقة على اتفاقية ترخيص مساهمات مايكروسوفت (فحص آلي على أول طلب سحب) -- اتباع [مدونة قواعد السلوك المفتوح لمايكروسوفت](https://opensource.microsoft.com/codeofconduct/) -- راجع [CONTRIBUTING.md](./CONTRIBUTING.md) للتفاصيل -- المرجعية لأرقام القضايا في وصف طلب السحب إن وجد +- الموافقة على اتفاقية المساهمة مع مايكروسوفت (فحص تلقائي عند PR الأول) +- اتبع [مدونة قواعد السلوك المفتوح لمايكروسوفت](https://opensource.microsoft.com/codeofconduct/) +- راجع [CONTRIBUTING.md](./CONTRIBUTING.md) للإرشادات التفصيلية +- أدرج أرقام القضايا في وصف PR إن وجدت ### عملية المراجعة -- مراجعة طلبات السحب من قبل الصيانة والمجتمع -- التركيز على الوضوح التعليمي -- يجب أن تتبع أمثلة الشيفرة أفضل الممارسات الحالية -- مراجعة الترجمات للتحقق من الدقة والتوافق الثقافي +- تراجع PRs من قِبل القائمين والمجتمع +- تُعطى أولوية للوضوح التعليمي +- يجب أن تتبع أمثلة الشفرة أفضل الممارسات الحالية +- تراجع الترجمات من حيث الدقة والملاءمة الثقافية ## نظام الترجمة -### الترجمة الآلية +### الترجمة التلقائية - يستخدم GitHub Actions مع سير العمل co-op-translator -- يترجم تلقائيًا لأكثر من 50 لغة -- ملفات المصدر في المجلدات الرئيسية +- يترجم تلقائيًا إلى أكثر من 50 لغة +- الملفات المصدرية في الدلائل الرئيسية - الملفات المترجمة في مجلدات `translations/{language-code}/` -### إضافة تحسينات يدوية للترجمة +### إضافة تحسينات الترجمة يدويًا -1. حدد الملف في `translations/{language-code}/` -2. قم بالتحسينات مع الحفاظ على البنية -3. تأكد من بقاء أمثلة الشيفرة عاملة +1. حدّد الملف في `translations/{language-code}/` +2. قم بالتحسينات مع الحفاظ على الهيكل +3. تأكد من بقاء أمثلة الشفرة عملية 4. اختبر أي محتوى اختبارات محلي -### بيانات وصفية للترجمة +### بيانات تعريف الترجمة -الملفات المترجمة تتضمن رأس بيانات وصفية: +تشمل الملفات المترجمة رأس بيانات تعريف: ```markdown ``` -## تصحيح الأخطاء واستكشاف المشاكل +## تصحيح الأخطاء واستكشاف المشكلات -### مشاكل شائعة +### المشاكل الشائعة -**فشل بدء تطبيق الاختبار**: -- تحقق من إصدار Node.js (يفضل v14+) -- احذف `node_modules` و `package-lock.json`، ثم شغل `npm install` من جديد -- تحقق من تعارض المنافذ (Vite الافتراضي يستخدم المنفذ 5173) +**فشل تطبيق الاختبارات في بدء التشغيل**: +- تحقق من إصدار Node.js (v14+ موصى به) +- احذف `node_modules` و`package-lock.json` ثم شغّل `npm install` مرة أخرى +- تحقق من تعارض المنافذ (الافتراضي: Vite يستخدم المنفذ 5173) **خادم API لا يبدأ**: -- تحقق من أن إصدار Node.js مناسب (node >=10) -- تحقق مما إذا كان المنفذ قيد الاستخدام بالفعل -- تأكد من تثبيت جميع التبعيات عبر `npm install` +- تحقق من أن إصدار Node.js يلبي الحد الأدنى (node >=10) +- تحقق مما إذا كان المنفذ مستخدمًا بالفعل +- تأكد من تثبيت كل التبعيات عبر `npm install` -**امتداد المتصفح لا يعمل**: -- تحقق من تنسيق manifest.json بشكل صحيح -- راجع أخطاء وحدة تحكم المتصفح -- اتبع تعليمات تثبيت الامتداد الخاصة بالمتصفح +**إضافة المتصفح لا تحمل**: +- تحقق من أن manifest.json منسق بشكل صحيح +- راجع وحدة تحكم المتصفح للأخطاء +- اتبع تعليمات تثبيت الإضافة الخاصة بالمتصفح -**مشاكل مشروع دردشة بايثون**: +**مشكلات مشروع الدردشة بايثون**: - تأكد من تثبيت حزمة OpenAI: `pip install openai` - تحقق من تعيين متغير البيئة GITHUB_TOKEN - راجع أذونات الوصول لنماذج GitHub -**عدم عرض Docsify للوثائق**: -- ثبت docsify-cli عالميًا: `npm install -g docsify-cli` -- شغّل الأمر من جذر المستودع -- تحقق من وجود ملف `docs/_sidebar.md` +**عدم تقديم Docsify للتوثيق**: +- ثبت docsify-cli بشكل عام: `npm install -g docsify-cli` +- شغّل من مجلد جذر المستودع +- تأكد من وجود `docs/_sidebar.md` ### نصائح بيئة التطوير -- استخدم VS Code مع ملحق Live Server لمشاريع HTML -- ثبت ملحقات ESLint وPrettier للتنسيق المتسق -- استخدم أدوات المطورين في المتصفح لتصحيح JavaScript -- لمشاريع Vue، ثبت ملحق Vue DevTools للمتصفح +- استخدم VS Code مع امتداد Live Server لمشاريع HTML +- ثبت امتدادات ESLint وPrettier للتنسيق المتناسق +- استخدم أدوات مطوري المتصفح لتصحيح JavaScript +- لمشاريع Vue، ثبت امتداد Vue DevTools للمتصفح ### اعتبارات الأداء -- عدد كبير من الملفات المترجمة (>50 لغة) يعني أن الاستنساخ الكامل ضخم -- استخدم استنساخ ضحل إذا كنت تعمل فقط على المحتوى: `git clone --depth 1` -- استثنِ الترجمات من البحث عند العمل على المحتوى بالإنجليزية -- قد تكون عمليات البناء بطيئة في التشغيل الأول (npm install، بناء Vite) +- العدد الكبير من الملفات المترجمة (أكثر من 50 لغة) يجعل النسخ الكامل كبير الحجم +- استخدم استنساخًا ضحلًا إذا كنت تعمل على المحتوى فقط: `git clone --depth 1` +- استبعد الترجمات من البحث عند العمل على المحتوى الإنجليزي +- عمليات البناء قد تكون بطيئة عند التشغيل الأول (npm install، بناء Vite) ## اعتبارات الأمان ### متغيرات البيئة -- لا يجب أبدًا تضمين مفاتيح API في المستودع -- استخدم ملفات `.env` (مضمّنة بالفعل في `.gitignore`) -- وثق متغيرات البيئة المطلوبة في ملفات README للمشاريع +- يجب ألا تُدرج مفاتيح API في المستودع +- استخدم ملفات `.env` (مدرجة مسبقًا بسجل gitignore) +- وثّق متغيرات البيئة المطلوبة في ملفات README للمشاريع ### مشاريع بايثون - استخدم بيئات افتراضية: `python -m venv venv` - حافظ على تحديث التبعيات -- يجب أن تمتلك رموز GitHub أقل الصلاحيات المطلوبة +- يجب أن تمتلك رموز GitHub أذونات ضيقة -### وصول نماذج GitHub +### الوصول إلى نماذج GitHub -- تتطلب رموز وصول شخصية (PAT) لنماذج GitHub -- يجب تخزين الرموز كمتغيرات بيئية -- لا تقم أبدًا بتضمين الرموز أو بيانات الاعتماد في المستودع +- تتطلب تذاكر وصول شخصية (PAT) لنماذج GitHub +- يجب حفظ التذاكر كمتغيرات بيئية +- لا تُدرج التذاكر أو بيانات الاعتماد في المستودع ## ملاحظات إضافية ### الجمهور المستهدف -- المبتدئون الكاملون في تطوير الويب -- الطلاب والمتعلمون الذاتيّون -- المعلمون الذين يستخدمون المنهج داخل الفصول الدراسية -- تم تصميم المحتوى ليكون وصوليًا وبناء مهارات تدريجي +- مبتدئون كاملون في تطوير الويب +- الطلاب والمتعلمون ذاتيًا +- المعلمون الذين يستخدمون المنهج في الفصول الدراسية +- المحتوى مصمم للسهولة وبناء المهارات تدريجيًا -### فلسفة التعليم +### الفلسفة التعليمية -- نهج التعلم القائم على المشاريع +- منهج يعتمد على المشاريع - فحوصات معرفية متكررة (اختبارات) -- تمارين تعليمية عملية -- أمثلة تطبيقية من الواقع -- التركيز على الأساسيات قبل الأُطُر البرمجية +- تمارين عملية في البرمجة +- أمثلة تطبيقية من العالم الحقيقي +- تركيز على الأساسيات قبل الأُطُر ### صيانة المستودع - مجتمع نشط من المتعلمين والمساهمين - تحديثات منتظمة للتبعيات والمحتوى -- مراقبة القضايا والنقاشات من قبل الصيانة -- تحديث الترجمة يتم تلقائيًا عبر GitHub Actions +- متابعة مستمرة للقضايا والنقاشات من قِبل القائمين +- تحديثات الترجمة مؤتمتة عبر GitHub Actions -### موارد ذات صلة +### الموارد ذات الصلة - [وحدات Microsoft Learn](https://docs.microsoft.com/learn/) - [موارد Student Hub](https://docs.microsoft.com/learn/student-hub/) - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) موصى به للمتعلمين -- دورات إضافية: الذكاء الاصطناعي التوليدي، علم البيانات، تعلم الآلة، مناهج إنترنت الأشياء +- دورات إضافية: الذكاء الاصطناعي التوليدي، علم البيانات، التعلم الآلي، مناهج إنترنت الأشياء متاحة ### العمل مع مشاريع محددة -للحصول على تعليمات تفصيلية حول المشاريع الفردية، راجع ملفات README في: -- `quiz-app/README.md` - تطبيق اختبار Vue 3 -- `7-bank-project/README.md` - تطبيق بنكي مع مصادقة -- `5-browser-extension/README.md` - تطوير امتداد متصفح -- `6-space-game/README.md` - تطوير لعبة قائمة على Canvas -- `9-chat-project/README.md` - مشروع مساعد دردشة بالذكاء الاصطناعي +للحصول على تعليمات تفصيلية عن المشاريع الفردية، راجع ملفات README في: +- `quiz-app/README.md` - تطبيق مسابقات Vue 3 +- `7-bank-project/README.md` - تطبيق بنكي مع المصادقة +- `5-browser-extension/README.md` - تطوير إضافة المتصفح +- `6-space-game/README.md` - تطوير لعبة على Canvas +- `9-chat-project/README.md` - مشروع مساعد دردشة AI -### هيكلية المونوريبو +### هيكل Monorepo -رغم أنه ليس مونوريبو تقليدي، يحتوي هذا المستودع على عدة مشاريع مستقلة: +على الرغم من أنه ليس monorepo تقليدي، يحتوي هذا المستودع على مشاريع مستقلة متعددة: - كل درس مستقل بذاته - المشاريع لا تشترك في التبعيات -- يمكنك العمل على مشاريع فردية دون التأثير على الأخرى -- استنسخ المستودع كاملًا لتجربة المنهج الكامل +- العمل على مشاريع فردية دون التأثير على الأخرى +- استنساخ المستودع كاملًا لتجربة المنهج الكامل --- -**تنويه**: -تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الموثوق. للمعلومات الهامة، يُنصح بالترجمة الاحترافية بواسطة بشر. نحن غير مسؤولين عن أي سوء فهم أو تفسير ناتج عن استخدام هذه الترجمة. +**إخلاء المسؤولية**: +تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى للدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار الوثيقة الأصلية بلغتها الأصلية المصدر الموثوق. للمعلومات الحساسة، يُنصح بالترجمة البشرية المهنية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة. \ No newline at end of file diff --git a/translations/ar/README.md b/translations/ar/README.md index 5d122bf29f..277db85e77 100644 --- a/translations/ar/README.md +++ b/translations/ar/README.md @@ -12,27 +12,27 @@ # تطوير الويب للمبتدئين - منهج دراسي -تعلم أساسيات تطوير الويب مع دورتنا الشاملة التي تستمر 12 أسبوعًا من قِبل دعاة السحابة في مايكروسوفت. كل درس من الدروس الـ 24 يغوص في JavaScript و CSS و HTML من خلال مشاريع تطبيقية مثل التيراريومات، امتدادات المتصفح، وألعاب الفضاء. شارك في اختبارات، مناقشات، وواجبات عملية. حسن مهاراتك وعزز احتفاظك بالمعرفة من خلال منهجنا الفعال المبني على المشاريع. ابدأ رحلتك في الترميز اليوم! +تعلم أساسيات تطوير الويب مع دورتنا الشاملة التي تستمر 12 أسبوعًا من Microsoft Cloud Advocates. كل من الدروس الـ 24 تغوص في JavaScript وCSS وHTML من خلال مشاريع تطبيقية مثل التيراريوم، وإضافات المتصفح، وألعاب الفضاء. تفاعل مع الاختبارات والمناقشات والمهام العملية. حسن مهاراتك وعزز استيعابك للمعرفة باستخدام منهجية التعلم القائمة على المشاريع الفعالة لدينا. ابدأ رحلتك في البرمجة اليوم! -انضم إلى مجتمع Azure AI Foundry على ديسكورد +انضم إلى مجتمع Azure AI Foundry على Discord [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) اتبع هذه الخطوات للبدء باستخدام هذه الموارد: -1. **فرع المستودع**: انقر على [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) -2. **انسخ المستودع محليًا**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**انضم إلى Azure AI Foundry على ديسكورد والتقِ بالخبراء والمطورين الآخرين**](https://discord.com/invite/ByRwuEEgH4) +1. **انشئ فورك للمستودع**: اضغط [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +2. **انسخ المستودع**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +3. [**انضم إلى Azure AI Foundry Discord والتق بخبراء وزملاء المطورين**](https://discord.com/invite/ByRwuEEgH4) ### 🌐 دعم متعدد اللغات -#### مدعوم عبر إجراء GitHub (آلي ومحدث دائمًا) +#### مدعوم عبر GitHub Action (مؤتمت ويُحدّث دائمًا) -[العربية](./README.md) | [البنغالية](../bn/README.md) | [البلغارية](../bg/README.md) | [البورمية (ميانمار)](../my/README.md) | [الصينية (المبسطة)](../zh-CN/README.md) | [الصينية (التقليدية، هونغ كونغ)](../zh-HK/README.md) | [الصينية (التقليدية، ماكاو)](../zh-MO/README.md) | [الصينية (التقليدية، تايوان)](../zh-TW/README.md) | [الكرواتية](../hr/README.md) | [التشيكية](../cs/README.md) | [الدانماركية](../da/README.md) | [الهولندية](../nl/README.md) | [الإستونية](../et/README.md) | [الفنلندية](../fi/README.md) | [الفرنسية](../fr/README.md) | [الألمانية](../de/README.md) | [اليونانية](../el/README.md) | [العبرية](../he/README.md) | [الهندية](../hi/README.md) | [الهنغارية](../hu/README.md) | [الإندونيسية](../id/README.md) | [الإيطالية](../it/README.md) | [اليابانية](../ja/README.md) | [الكانتادية](../kn/README.md) | [الكورية](../ko/README.md) | [الليتوانية](../lt/README.md) | [الماليزية](../ms/README.md) | [المالايالامية](../ml/README.md) | [الماراثية](../mr/README.md) | [النيبالية](../ne/README.md) | [النيجيرية بيدجن](../pcm/README.md) | [النرويجية](../no/README.md) | [الفارسية (اللغة الفارسية)](../fa/README.md) | [البولندية](../pl/README.md) | [البرتغالية (البرازيل)](../pt-BR/README.md) | [البرتغالية (البرتغال)](../pt-PT/README.md) | [البنجابية (غورموخي)](../pa/README.md) | [الرومانية](../ro/README.md) | [الروسية](../ru/README.md) | [الصربية (السيريلية)](../sr/README.md) | [السلوفاكية](../sk/README.md) | [السلوفينية](../sl/README.md) | [الإسبانية](../es/README.md) | [السواحيلية](../sw/README.md) | [السويدية](../sv/README.md) | [التاغالوغ (الفلبينية)](../tl/README.md) | [التاميلية](../ta/README.md) | [التيلجو](../te/README.md) | [التايلاندية](../th/README.md) | [التركية](../tr/README.md) | [الأوكرانية](../uk/README.md) | [الأردية](../ur/README.md) | [الفيتنامية](../vi/README.md) +[Arabic](./README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) -> **تفضل النسخ محليًا؟** +> **هل تفضل النسخ المحلي؟** > -> يحتوي هذا المستودع على أكثر من 50 ترجمة للغات مما يزيادة حجم التنزيل بشكل كبير. للنسخ بدون الترجمات، استخدم السحب المتفرق: +> يحتوي هذا المستودع على أكثر من 50 ترجمة للغات مما يزيد من حجم التنزيل بشكل كبير. للاكتفاء بالنسخ بدون الترجمات، استخدم sparse checkout: > > **Bash / macOS / Linux:** > ```bash @@ -48,232 +48,232 @@ > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> هذا يمنحك كل ما تحتاجه لإتمام الدورة بسرعة تنزيل أعلى. +> هذا يمنحك كل ما تحتاجه لإكمال الدورة بسرعة تنزيل أعلى. -**إذا رغبت بدعم لغات ترجمة إضافية فهي مدرجة [هنا](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**إذا كنت ترغب في دعم لغات ترجمة إضافية، فهي مدرجة [هنا](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** -[![افتح في Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) +[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) #### 🧑‍🎓 _هل أنت طالب؟_ -قم بزيارة [**صفحة مركز الطلاب**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) حيث ستجد موارد للمبتدئين، حقائب طلابية وحتى طرق الحصول على قسيمة شهادة مجانية. هذه الصفحة هي التي ترغب في إضافتها للمفضلة والتحقق منها بين الحين والآخر مع تحديث المحتوى شهريًا. +تفضل بزيارة صفحة [**مركز الطلاب**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) حيث ستجد موارد للمبتدئين، حزم للطلاب وحتى طرق للحصول على قسيمة شهادة مجانية. هذه هي الصفحة التي ترغب في وضعها في المفضلة والتحقق منها من وقت لآخر حيث نقوم بتبديل المحتوى شهريًا. -### 📣 إعلان - تحديات وضع GitHub Copilot Agent جديدة لإكمالها! +### 📣 إعلان - تحديات جديدة لوضع GitHub Copilot Agent لإكمالها! -تمت إضافة تحدي جديد، ابحث عن "تحدي GitHub Copilot Agent 🚀" في معظم الفصول. إنه تحدٍ جديد لك لتنجزه باستخدام GitHub Copilot ووضع Agent. إذا لم تستخدم وضع Agent من قبل، هو قادر ليس فقط على إنشاء النصوص بل يمكنه أيضًا إنشاء وتحرير الملفات، تشغيل الأوامر والمزيد. +تمت إضافة تحدٍ جديد، ابحث عن "تحدي GitHub Copilot Agent 🚀" في معظم الفصول. هذا تحدٍ جديد يجب عليك إكماله باستخدام GitHub Copilot ووضع Agent. إذا لم تستخدم وضع Agent من قبل، فهو قادر ليس فقط على إنشاء النصوص بل أيضًا على إنشاء وتحرير الملفات، تشغيل الأوامر والمزيد. -### 📣 إعلان - _مشروع جديد للبناء باستخدام الذكاء الاصطناعي التوليدي_ +### 📣 إعلان - _مشروع جديد للبناء باستخدام الذكاء الاصطناعي التوليدي_ -تمت إضافة مشروع مساعد الذكاء الاصطناعي الجديد، تحقق منه [المشروع](./9-chat-project/README.md) +تم إضافة مشروع مساعد الذكاء الاصطناعي الجديد، تفقده [المشروع](./9-chat-project/README.md) -### 📣 إعلان - _منهج جديد_ عن الذكاء الاصطناعي التوليدي لجافا سكريبت تم إصداره للتو +### 📣 إعلان - _منهج جديد_ عن الذكاء الاصطناعي التوليدي لـ JavaScript تم إصداره للتو -لا تفوت منهجنا الجديد عن الذكاء الاصطناعي التوليدي! +لا تفوت منهج الذكاء الاصطناعي التوليدي الجديد! -زر [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) للبدء! +تفضل بزيارة [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) للبدء! -![Background](../../translated_images/ar/background.148a8d43afde5730.webp) +![الخلفية](../../translated_images/ar/background.148a8d43afde5730.webp) - دروس تغطي كل شيء من الأساسيات إلى RAG. - تفاعل مع شخصيات تاريخية باستخدام GenAI وتطبيقنا المرافق. - سرد ممتع وجذاب، ستسافر عبر الزمن! -![character](../../translated_images/ar/character.5c0dd8e067ffd693.webp) +![الشخصية](../../translated_images/ar/character.5c0dd8e067ffd693.webp) -كل درس يتضمن واجبًا لإكماله، اختبار معرفة وتحديًا لترشدك على تعلم مواضيع مثل: -- الإرشاد والهندسة الموجهة للنصوص -- إنشاء تطبيقات نصية وصورية +كل درس يتضمن مهمة لإكمالها، اختبار معرفة، وتحدي يوجهك في تعلم مواضيع مثل: +- التوجيه وهندسة التوجيه +- توليد تطبيقات النص والصورة - تطبيقات البحث -زر [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) للبدء! +تفضل بزيارة [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) للبدء! -## 🌱 بداية العمل +## 🌱 البدء -> **أيها المعلمون**، لقد قمنا [بإدراج بعض الاقتراحات](for-teachers.md) حول كيفية استخدام هذا المنهج. نحب سماع ملاحظاتكم [في منتدى النقاش الخاص بنا](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! +> **أيها المعلمون**، لقد [ضمنّا بعض الاقتراحات](for-teachers.md) حول كيفية استخدام هذا المنهج. نود سماع ملاحظاتكم [في منتدى النقاش لدينا](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! -**[المتعلمون](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**، لكل درس، ابدأ باختبار قبلي ثم تابع بقراءة مادة المحاضرة، إكمال الأنشطة المختلفة، وفحص فهمك باختبار بعد المحاضرة. +**[المتعلمون](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**، لكل درس، ابدأ بفحص قبلي واكمل بقراءة مادة المحاضرة، وإنجاز الأنشطة المختلفة وفحص فهمك من خلال الفحص البعدي للمحاضرة. -لتعزيز تجربتك التعليمية، تواصل مع زملائك للعمل معًا على المشاريع! ينصح بالمناقشات في [منتدى النقاش](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) حيث سيكون فريق المشرفين لدينا متاحًا للرد على أسئلتك. +لتعزيز تجربتك التعليمية، تواصل مع زملائك للعمل على المشاريع معًا! المناقشات مشجعة في [منتدى النقاش](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) حيث سيكون فريق المراقبين متاحًا للإجابة على أسئلتكم. -لتطوير تعليمك أكثر، نوصي بشدة باستكشاف [مايكروسوفت ليرن](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) للمزيد من مواد الدراسة. +لتعميق تعليمك، نوصي بشدة باستكشاف [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) لمواد دراسية إضافية. ### 📋 إعداد بيئتك -هذا المنهج يحتوي على بيئة تطوير جاهزة للعمل! أثناء البدء يمكنك اختيار تشغيل المنهج في [Codespace](https://github.com/features/codespaces/) (_بيئة متصفح لا تحتاج تثبيتات_)، أو محليًا على جهاز الكمبيوتر الخاص بك باستخدام محرر نصوص مثل [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +يحتوي هذا المنهج على بيئة تطوير جاهزة! عند البدء يمكنك اختيار تشغيل المنهج في [Codespace](https://github.com/features/codespaces/) (_بيئة قائمة على المتصفح لا تتطلب تثبيت_)، أو محليًا على جهاز الكمبيوتر باستخدام محرر نصوص مثل [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -#### أنشئ مستودعك الخاص -لتمكينك من حفظ عملك بسهولة، يُنصح بأن تنشئ نسختك الخاصة من هذا المستودع. يمكنك فعل ذلك بالنقر على زر **Use this template** في أعلى الصفحة. هذا سينشئ مستودعًا جديدًا في حساب GitHub الخاص بك مع نسخة من المنهج. +#### أنشئ مستودعك +لكي تحفظ عملك بسهولة، يُنصح بإنشاء نسخة من هذا المستودع خاصتك. يمكنك فعل ذلك بالنقر على زر **Use this template** أعلى الصفحة. هذا سينشئ مستودعًا جديدًا في حساب GitHub الخاص بك مع نسخة من المنهج. اتبع هذه الخطوات: -1. **فرع المستودع**: انقر على زر "Fork" في أعلى يمين هذه الصفحة. -2. **انسخ المستودع محليًا**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +1. **انشئ فورك للمستودع**: اضغط على زر "Fork" في الركن العلوي الأيمن من هذه الصفحة. +2. **انسخ المستودع**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` #### تشغيل المنهج في Codespace -في نسختك من هذا المستودع التي أنشأتها، انقر زر **Code** واختر **Open with Codespaces**. سيُنشئ هذا مساحة عمل جديدة للعمل فيها. +في نسختك من هذا المستودع التي أنشأتها، اضغط على زر **Code** واختر **Open with Codespaces**. هذا سينشئ لك مساحة عمل جديدة في Codespace للعمل فيها. ![Codespace](../../translated_images/ar/createcodespace.0238bbf4d7a8d955.webp) #### تشغيل المنهج محليًا على جهاز الكمبيوتر الخاص بك -لتشغيل هذا المنهج محليًا على جهاز الكمبيوتر الخاص بك ستحتاج إلى محرر نصوص، متصفح أويب وأداة سطر الأوامر. درسنا الأول، [مقدمة إلى لغات البرمجة وأدوات التجارة](../../1-getting-started-lessons/1-intro-to-programming-languages)، سيرشدك عبر خيارات مختلفة لكل من هذه الأدوات لتختار الأنسب لك. +لتشغيل هذا المنهج محليًا على جهاز الكمبيوتر، ستحتاج إلى محرر نصوص، ومتصفح وأداة سطر أوامر. درسنا الأول، [مقدمة في لغات البرمجة وأدوات المهنة](../../1-getting-started-lessons/1-intro-to-programming-languages)، سيرشدك خلال الخيارات المختلفة لكل من هذه الأدوات لتختار ما يناسبك. توصيتنا هي استخدام [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) كمحرر، والذي يحتوي أيضًا على [طرفية مدمجة](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). يمكنك تنزيل Visual Studio Code من [هنا](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -1. قم باستنساخ مستودعك على جهاز الكمبيوتر الخاص بك. يمكنك القيام بذلك بالنقر على زر **Code** ونسخ عنوان URL: +1. انسخ المستودع الخاص بك إلى جهاز الكمبيوتر الخاص بك. يمكنك القيام بذلك عن طريق الضغط على زر **Code** ونسخ عنوان URL: [CodeSpace](./images/createcodespace.png) - ثم، افتح [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) داخل [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) وشغّل الأمر التالي، مستبدلاً `` بعنوان URL الذي قمت بنسخه للتو: + ثم افتح [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) داخل [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) وقم بتشغيل الأمر التالي، مع استبدال `` بعنوان URL الذي قمت بنسخه للتو: ```bash git clone ``` -2. افتح المجلد في Visual Studio Code. يمكنك القيام بذلك بالنقر على **File** > **Open Folder** واختيار المجلد الذي قمت باستنساخه للتو. +2. افتح المجلد في Visual Studio Code. يمكنك القيام بذلك بالنقر على **File** > **Open Folder** واختيار المجلد الذي استنساخته للتو. -> التوصيات الخاصة بالامتدادات في Visual Studio Code: +> الإضافات الموصى بها لـ Visual Studio Code: > > * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - لمعاينة صفحات HTML داخل Visual Studio Code -> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - لمساعدتك في كتابة الشيفرة بسرعة أكبر +> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - لمساعدتك على كتابة الكود بشكل أسرع -## 📂 كل درس يشمل: +## 📂 كل درس يتضمن: - ملاحظات تخطيطية اختيارية - فيديو تكميلي اختياري -- اختبار تمهيدي قبل الدرس +- اختبار تسخين قبل الدرس - درس مكتوب -- للدروس المبنية على المشاريع، إرشادات خطوة بخطوة لبناء المشروع -- اختبار معرفة +- دروس خطوة بخطوة للمشاريع العملية +- فحوصات معرفية - تحدي -- قراءة تكملية -- واجب +- قراءات تكميلية +- مهمة - [اختبار بعد الدرس](https://ff-quizzes.netlify.app/web/) -> **ملاحظة حول الاختبارات**: جميع الاختبارات موجودة في مجلد Quiz-app، هناك 48 اختبارًا بإجمالي ثلاث أسئلة لكل اختبار. متاحة [هنا](https://ff-quizzes.netlify.app/web/) كما يمكن تشغيل تطبيق الاختبار محلياً أو نشره على Azure؛ اتبع التعليمات في مجلد `quiz-app`. +> **ملاحظة حول الاختبارات**: كل الاختبارات موجودة في مجلد Quiz-app، يحتوي على 48 اختبارًا كل منها يحتوي على ثلاثة أسئلة. تتوفر هنا [هنا](https://ff-quizzes.netlify.app/web/) ويمكن تشغيل تطبيق الاختبار محليًا أو نشره على Azure؛ اتبع التعليمات في مجلد `quiz-app`. ## 🗃️ الدروس -| | اسم المشروع | المفاهيم التي يتم تدريسها | الأهداف التعليمية | الدرس المرتبط | المؤلف | +| | اسم المشروع | المفاهيم التي يتم تدريسها | أهداف التعلم | الدرس المرتبط | المؤلف | | :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | البداية | مقدمة في البرمجة وأدوات المهنة | تعلم الأساسيات التي تقوم عليها معظم لغات البرمجة وبرامج تساعد المطورين المحترفين في عملهم | [مقدمة إلى لغات البرمجة وأدوات المهنة](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | البداية | أساسيات GitHub، تتضمن العمل مع فريق | كيفية استخدام GitHub في مشروعك وكيفية التعاون مع الآخرين في قاعدة الشيفرة | [مقدمة إلى GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | البداية | إمكانية الوصول | تعلم أساسيات إمكانية الوصول على الويب | [أساسيات إمكانية الوصول](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | أساسيات JS | أنواع بيانات JavaScript | أساسيات أنواع بيانات JavaScript | [أنواع البيانات](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | أساسيات JS | الدوال والأساليب | تعلم عن الدوال والأساليب لإدارة تدفق منطق التطبيق | [الدوال والأساليب](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher | -| 06 | أساسيات JS | اتخاذ القرارات بـ JS | تعلم كيفية إنشاء الشروط في الشيفرة باستخدام أساليب اتخاذ القرار | [اتخاذ القرارات](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | أساسيات JS | المصفوفات والحلقات | العمل مع البيانات باستخدام المصفوفات والحلقات في JavaScript | [المصفوفات والحلقات](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [التيراريوم](./3-terrarium/solution/README.md) | HTML في التطبيق | بناء HTML لإنشاء تيراريوم إلكتروني، مع التركيز على بناء التخطيط | [مقدمة إلى HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [التيراريوم](./3-terrarium/solution/README.md) | CSS في التطبيق | بناء CSS لتنسيق التيراريوم الإلكتروني، مع التركيز على أساسيات CSS بما في ذلك جعل الصفحة متجاوبة | [مقدمة إلى CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [التيراريوم](./3-terrarium/solution/README.md) | إغلاق جافا سكريبت، التلاعب بـ DOM | بناء شيفرة JavaScript لجعل التيراريوم يعمل كواجهة سحب وإفلات، مع التركيز على الإغلاق والتلاعب بـ DOM | [إغلاق JavaScript، التلاعب بـ DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [لعبة الطباعة](./4-typing-game/solution/README.md) | بناء لعبة الطباعة | تعلم كيفية استخدام أحداث لوحة المفاتيح لتحريك منطق تطبيق JavaScript | [البرمجة المعتمدة على الأحداث](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [امتداد المتصفح الأخضر](./5-browser-extension/solution/README.md) | العمل مع المتصفحات | تعلم كيف تعمل المتصفحات، تاريخها، وكيفية إنشاء العناصر الأولى لامتداد متصفح | [حول المتصفحات](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [امتداد المتصفح الأخضر](./5-browser-extension/solution/README.md) | بناء نموذج، استدعاء API وتخزين المتغيرات في التخزين المحلي | بناء عناصر JavaScript لامتداد المتصفح لاستدعاء API باستخدام المتغيرات المخزنة في التخزين المحلي | [APIs، النماذج، والتخزين المحلي](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [امتداد المتصفح الأخضر](./5-browser-extension/solution/README.md) | العمليات الخلفية في المتصفح، أداء الويب | استخدام عمليات المتصفح الخلفية لإدارة أيقونة الامتداد؛ تعلّم عن أداء الويب وبعض التحسينات لتحقيق أداء أفضل | [المهام الخلفية والأداء](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [لعبة الفضاء](./6-space-game/solution/README.md) | تطوير ألعاب متقدم أكثر باستخدام JavaScript | تعلّم عن الوراثة باستخدام الفئات والتكوين ونمط النشر/الاشتراك، استعدادًا لبناء لعبة | [مقدمة لتطوير الألعاب المتقدم](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [لعبة الفضاء](./6-space-game/solution/README.md) | الرسم على اللوحة | تعلّم عن واجهة برمجة تطبيق Canvas، المستخدمة للرسم على الشاشة | [الرسم على اللوحة](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [لعبة الفضاء](./6-space-game/solution/README.md) | تحريك العناصر حول الشاشة | اكتشف كيف يمكن للعناصر أن تكتسب الحركة باستخدام الإحداثيات الديكارتية وواجهة برمجة Canvas | [تحريك العناصر](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [لعبة الفضاء](./6-space-game/solution/README.md) | كشف التصادم | جعل العناصر تتصادم وتتفاعل مع بعضها باستخدام ضغطات المفاتيح وتوفير وظيفة تبريد لضمان أداء اللعبة | [كشف التصادم](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [لعبة الفضاء](./6-space-game/solution/README.md) | حساب النقاط | إجراء حسابات رياضية بناءً على حالة اللعبة وأدائها | [حساب النقاط](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [لعبة الفضاء](./6-space-game/solution/README.md) | إنهاء وإعادة تشغيل اللعبة | تعلم عن إنهاء اللعبة وإعادة تشغيلها، بما في ذلك تنظيف الموارد وإعادة تعيين قيم المتغيرات | [شرط النهاية](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [تطبيق البنك](./7-bank-project/solution/README.md) | قوالب HTML والمسارات في تطبيق ويب | تعلم كيفية إنشاء هيكل موقع متعدد الصفحات باستخدام التوجيه وقوالب HTML | [قوالب HTML والمسارات](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [تطبيق البنك](./7-bank-project/solution/README.md) | بناء نموذج تسجيل دخول وتسجيل مستخدم | تعلم بناء النماذج وتعامل مع عمليات التحقق من الصحة | [النماذج](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [تطبيق البنك](./7-bank-project/solution/README.md) | طرق جلب واستخدام البيانات | كيف تتدفق البيانات داخل وخارج تطبيقك، وكيفية جلبها وتخزينها والتخلص منها | [البيانات](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [تطبيق البنك](./7-bank-project/solution/README.md) | مفاهيم إدارة الحالة | تعلم كيف يحتفظ تطبيقك بالحالة وكيفية إدارتها برمجياً | [إدارة الحالة](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [متصفح/محرر VScode](../../8-code-editor) | العمل مع VScode | تعلم كيفية استخدام محرر الشيفرة| [استخدام محرر VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [مساعدي الذكاء الاصطناعي](./9-chat-project/README.md) | العمل مع الذكاء الاصطناعي | تعلم كيفية بناء مساعد الذكاء الاصطناعي الخاص بك | [مشروع مساعد الذكاء الاصطناعي](./9-chat-project/README.md) | Chris | - -## 🏫 المنهجية التربوية - -تم تصميم منهجنا الدراسي باستخدام مبدأين تربويين رئيسيين في الاعتبار: -* التعلم المبني على المشاريع +| 01 | بدء الاستخدام | مقدمة في البرمجة وأدوات المهنة | تعلم الأساسيات التي تقوم عليها معظم لغات البرمجة والتعرف على البرمجيات التي تساعد المطورين المحترفين في أداء مهامهم | [مقدمة في لغات البرمجة وأدوات المهنة](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | بدء الاستخدام | أساسيات GitHub، تشمل العمل مع فريق | كيفية استخدام GitHub في مشروعك وكيفية التعاون مع الآخرين على قاعدة كود | [مقدمة في GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | بدء الاستخدام | إمكانية الوصول | تعلم أساسيات إمكانية الوصول على الويب | [أساسيات إمكانية الوصول](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | أساسيات JS | أنواع بيانات جافاسكريبت | الأساسيات المتعلقة بأنواع بيانات جافاسكريبت | [أنواع البيانات](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | أساسيات JS | الدوال والطرق | تعلم عن الدوال والطرق لإدارة منطق تطبيق | [الدوال والطرق](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher | +| 06 | أساسيات JS | اتخاذ القرارات باستخدام JS | تعلم كيفية إنشاء الشروط في الكود باستخدام طرق اتخاذ القرار | [اتخاذ القرارات](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | أساسيات JS | المصفوفات والحلقات | العمل مع البيانات باستخدام المصفوفات والحلقات في جافاسكريبت | [المصفوفات والحلقات](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML في التطبيق | بناء HTML لإنشاء تيراريوم على الإنترنت، مع التركيز على بناء التخطيط | [مقدمة في HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS في التطبيق | بناء CSS لتنسيق التيراريوم على الإنترنت، مع التركيز على أساسيات CSS بما في ذلك جعل الصفحة متجاوبة | [مقدمة في CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](./3-terrarium/solution/README.md) | إغلاق الجافاسكريبت، معالجة DOM | بناء جافاسكريبت لجعل التيراريوم يعمل كواجهة السحب والإفلات، مع التركيز على الإغلاق ومعالجة DOM | [إغلاق الجافاسكريبت، معالجة DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Typing Game](./4-typing-game/solution/README.md) | بناء لعبة الطباعة | تعلم كيفية استخدام أحداث لوحة المفاتيح للتحكم في منطق تطبيق جافاسكريبت | [برمجة معتمدة على الأحداث](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | العمل مع المتصفحات | تعلم كيفية عمل المتصفحات، تاريخها، وكيفية هيكلة العناصر الأولى لإضافة متصفح | [حول المتصفحات](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | بناء نموذج، استدعاء API وتخزين المتغيرات في التخزين المحلي | بناء عناصر جافاسكريبت لإضافة المتصفح لاستدعاء API باستخدام المتغيرات المخزنة في التخزين المحلي | [APIs، النماذج والتخزين المحلي](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | العمليات الخلفية في المتصفح، أداء الويب | استخدام العمليات الخلفية للمتصفح لإدارة أيقونة الإضافة؛ التعرف على أداء الويب وبعض التحسينات لجعل | [المهام الخلفية والأداء](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Space Game](./6-space-game/solution/README.md) | تطوير الألعاب الأكثر تقدماً باستخدام جافاسكريبت | تعلم عن الوراثة باستخدام الفئات والتكوين ونمط Pub/Sub، تمهيدًا لبناء لعبة | [مقدمة في تطوير الألعاب المتقدم](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Space Game](./6-space-game/solution/README.md) | الرسم على القماش | تعلم عن واجهة برمجة التطبيقات Canvas، المستخدمة لرسم العناصر على الشاشة | [الرسم على القماش](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Space Game](./6-space-game/solution/README.md) | تحريك العناصر على الشاشة | اكتشف كيف يمكن للعناصر اكتساب الحركة باستخدام الإحداثيات الكارتيزية وواجهة API الخاصة بـ Canvas | [تحريك العناصر](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Space Game](./6-space-game/solution/README.md) | كشف التصادم | جعل العناصر تتصادم وتتفاعل مع بعضها البعض باستخدام ضغطات المفاتيح وتوفير دالة تبريد لضمان أداء اللعبة | [كشف التصادم](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Space Game](./6-space-game/solution/README.md) | تتبع النقاط | إجراء الحسابات الرياضية بناءً على حالة اللعبة وأدائها | [تتبع النقاط](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Space Game](./6-space-game/solution/README.md) | إنهاء اللعبة وإعادة تشغيلها | التعرف على كيفية إنهاء اللعبة وإعادة تشغيلها، بما في ذلك تنظيف الموارد وإعادة تعيين قيم المتغيرات | [شروط النهاية](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Banking App](./7-bank-project/solution/README.md) | قوالب HTML والمسارات في تطبيق ويب | تعلم كيفية إنشاء هيكل موقع متعدد الصفحات باستخدام التوجيه وقوالب HTML | [قوالب HTML والمسارات](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Banking App](./7-bank-project/solution/README.md) | بناء نموذج تسجيل دخول وتسجيل | تعلم عن بناء النماذج والتعامل مع إجراءات التحقق | [النماذج](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Banking App](./7-bank-project/solution/README.md) | طرق جلب واستخدام البيانات | كيفية تدفق البيانات داخل التطبيق وخارجه، كيفية جلبها، تخزينها، والتخلص منها | [البيانات](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Banking App](./7-bank-project/solution/README.md) | مفاهيم إدارة الحالة | تعلم كيف يحتفظ تطبيقك بالحالة وكيفية إدارتها برمجيًا | [إدارة الحالة](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Browser/VScode Code](../../8-code-editor) | العمل مع VScode | تعلم كيفية استخدام محرر الكود| [استخدام محرر VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [AI Assistants](./9-chat-project/README.md) | العمل مع الذكاء الاصطناعي | تعلم كيفية بناء مساعدك الذكي الخاص | [مشروع المساعد الذكي](./9-chat-project/README.md) | Chris | + +## 🏫 المنهجية التعليمية + +تم تصميم منهجنا مع مبدئين تعليميين رئيسيين في الاعتبار: +* التعلم القائم على المشاريع * الاختبارات المتكررة -يقوم البرنامج بتدريس أساسيات JavaScript و HTML و CSS، بالإضافة إلى أحدث الأدوات والتقنيات التي يستخدمها مطورو الويب اليوم. سوف تتاح للطلاب الفرصة لاكتساب خبرة عملية من خلال بناء لعبة طباعة، تيراريوم افتراضي، امتداد متصفح صديق للبيئة، لعبة بأسلوب غزاة الفضاء، وتطبيق بنكي للأعمال. مع نهاية السلسلة، سيكون لدى الطلاب فهم قوي لتطوير الويب. +يعلِّم البرنامج أساسيات JavaScript و HTML و CSS، بالإضافة إلى أحدث الأدوات والتقنيات التي يستخدمها مطورو الويب اليوم. سيحظى الطلاب بفرصة تطوير خبرة عملية من خلال بناء لعبة طباعة، تيراريوم افتراضي، إضافة متصفح صديقة للبيئة، لعبة بأسلوب غزو الفضاء، وتطبيق مصرفي للأعمال. بنهاية السلسلة، سيكتسب الطلاب فهمًا قويًا لتطوير الويب. -> 🎓 يمكنك أخذ الدروس القليلة الأولى في هذا المنهج كـ [مسار تعلّم](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) على منصة Microsoft Learn! +> 🎓 يمكنك أخذ الدروس الأولى في هذا المنهج كـ [مسار تعلم](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) على Microsoft Learn! -من خلال ضمان أن المحتوى يتماشى مع المشاريع، يصبح التعلم أكثر جاذبية للطلاب ويزيد من ترسيخ المفاهيم. لقد كتبنا أيضًا عدة دروس تمهيدية في أساسيات JavaScript لتقديم المفاهيم، مرفقة بفيديو من سلسلة "[سلسلة للمبتدئين إلى: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" لتعليم الفيديو، ساهم بعض مؤلفيها في هذا المنهج. +من خلال ضمان توافق المحتوى مع المشاريع، يصبح التعلم أكثر جاذبية للطلاب ويزداد الاحتفاظ بالمفاهيم. كما كتبنا عدة دروس تمهيدية في أساسيات JavaScript لتقديم المفاهيم، مقرونة بفيديو من مجموعة "[سلسلة للمبتدئين: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" التي ساهم بعض مؤلفيها في هذا المنهج. -بالإضافة إلى ذلك، يحدد اختبار منخفض المخاطر قبل الدرس نية الطالب نحو تعلم موضوع ما، بينما يضمن اختبار ثاني بعد الدرس المزيد من الاحتفاظ بالمعلومات. تم تصميم هذا المنهج ليكون مرنًا وممتعًا ويمكن أخذه بالكامل أو جزئيًا. تبدأ المشاريع صغيرة وتزداد تعقيدًا تدريجياً بنهاية دورة الـ 12 أسبوعًا. +بالإضافة إلى ذلك، يحدد اختبار بسيط قبل الدرس نية الطالب تجاه تعلم الموضوع، بينما يضمن اختبار ثانٍ بعد الدرس مزيدًا من الاحتفاظ بالمعلومات. صمم هذا المنهج ليكون مرنًا وممتعًا ويمكن اتخاذه كاملاً أو جزئيًا. تبدأ المشاريع صغيرة وتزداد تعقيدًا حتى نهاية دورة الـ 12 أسبوعًا. -بينما تجنبنا عمدًا إدخال أُطُر JavaScript للتركيز على المهارات الأساسية المطلوبة كمطور ويب قبل اعتماد إطار عمل، فإن الخطوة التالية الجيدة لإكمال هذا المنهج هي تعلم عن Node.js عبر مجموعة أخرى من مقاطع الفيديو: "[سلسلة للمبتدئين إلى: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +وبينما تجنبنا عمدًا تقديم أُطُر جافاسكريبت للتركيز على المهارات الأساسية المطلوبة كمطور ويب قبل تبني أُطُر، فإن خطوة جيدة تالية لإكمال هذا المنهج هي تعلم Node.js من خلال مجموعة أخرى من الفيديوهات: "[سلسلة للمبتدئين: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> قم بزيارة [مدونة السلوك](CODE_OF_CONDUCT.md) وإرشادات [المساهمة](CONTRIBUTING.md) الخاصة بنا. نحن نرحب بتعليقاتك البناءة! +> قم بزيارة [مدونة السلوك](CODE_OF_CONDUCT.md) و [دليل المساهمة](CONTRIBUTING.md) الخاصة بنا. نرحب بتعليقاتكم البناءة! -## 🧭 الوصول دون اتصال +## 🧭 الوصول في وضع عدم الاتصال -يمكنك تشغيل هذه الوثائق دون اتصال بالإنترنت باستخدام [Docsify](https://docsify.js.org/#/). قم بتفريع هذا المستودع، [تثبيت Docsify](https://docsify.js.org/#/quickstart) على جهازك المحلي، ثم في المجلد الجذري لهذا المستودع، اكتب `docsify serve`. سيتم تقديم الموقع على المنفذ 3000 على جهازك المحلي: `localhost:3000`. +يمكنك تشغيل هذه الوثائق في وضع عدم الاتصال باستخدام [Docsify](https://docsify.js.org/#/). قم بعمل نسخة من هذا المستودع، [ثبت Docsify](https://docsify.js.org/#/quickstart) على جهازك المحلي، ثم في المجلد الجذري لهذا المستودع، اكتب `docsify serve`. سيتم تقديم الموقع على المنفذ 3000 على جهازك المحلي: `localhost:3000`. -## 📘 PDF +## 📘 ملف PDF يمكن العثور على ملف PDF لجميع الدروس [هنا](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). ## 🎒 دورات أخرى -يقوم فريقنا بإنتاج دورات أخرى! تحقق من: +يقوم فريقنا بإنتاج دورات أخرى! تفقد: ### LangChain -[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) -[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) -[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain4j للمبتدئين](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) +[![LangChain.js للمبتدئين](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain للمبتدئين](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) --- ### Azure / Edge / MCP / Agents -[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) -[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) -[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) +[![AZD للمبتدئين](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Edge AI للمبتدئين](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![MCP للمبتدئين](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) +[![وكلاء AI للمبتدئين](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) --- - + ### سلسلة الذكاء الاصطناعي التوليدي -[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) -[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) -[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) +[![الذكاء الاصطناعي التوليدي للمبتدئين](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![الذكاء الاصطناعي التوليدي (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) +[![الذكاء الاصطناعي التوليدي (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) +[![الذكاء الاصطناعي التوليدي (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) --- - -### التعليم الأساسي -[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) -[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) -[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) -[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) -[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) -[![IoT for Beginners](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) -[![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) + +### التعلم الأساسي +[![تعلم الآلة للمبتدئين](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) +[![علوم البيانات للمبتدئين](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) +[![الذكاء الاصطناعي للمبتدئين](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) +[![الأمن السيبراني للمبتدئين](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) +[![تطوير الويب للمبتدئين](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) +[![إنترنت الأشياء للمبتدئين](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) +[![تطوير XR للمبتدئين](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) --- - -### سلسلة الكوبيلوت -[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) -[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) -[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) + +### سلسلة المساعد الشخصي (Copilot) +[![المساعد الشخصي للبرمجة الزوجية بالذكاء الاصطناعي](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) +[![المساعد الشخصي لـ C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) +[![مغامرة المساعد الشخصي](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) ## الحصول على المساعدة -إذا واجهت صعوبة أو كان لديك أي أسئلة حول بناء تطبيقات الذكاء الاصطناعي. انضم إلى المتعلمين والمطورين ذوي الخبرة في مناقشات حول MCP. إنها مجتمع داعم حيث الأسئلة مرحب بها والمعرفة تُشارك بحرية. +إذا واجهت صعوبة أو كان لديك أي أسئلة حول بناء تطبيقات الذكاء الاصطناعي. انضم إلى المتعلمين والمطورين ذوي الخبرة في مناقشات حول MCP. إنها مجتمع داعم حيث الأسئلة مرحب بها والمعرفة تتم مشاركتها بحرية. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -إذا كان لديك ملاحظات على المنتج أو أخطاء أثناء البناء، قم بزيارة: +إذا كان لديك تعليقات على المنتج أو أخطاء أثناء البناء قم بزيارة: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) ## الترخيص -يتم ترخيص هذا المستودع بموجب ترخيص MIT. راجع ملف [LICENSE](../../LICENSE) لمزيد من المعلومات. +تم ترخيص هذا المستودع بموجب ترخيص MIT. راجع ملف [LICENSE](../../LICENSE) لمزيد من المعلومات. --- **إخلاء المسؤولية**: -تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي والمعتمد. للمعلومات الحرجة، يُنصح بالترجمة المهنية البشرية. نحن غير مسؤولين عن أي سوء فهم أو تفسير ناتج عن استخدام هذه الترجمة. +تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر المعتمد. للمعلومات الهامة، يوصى بالترجمة المهنية البشرية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة. \ No newline at end of file diff --git a/translations/bg/.co-op-translator.json b/translations/bg/.co-op-translator.json index b4b7e95048..6945c97e63 100644 --- a/translations/bg/.co-op-translator.json +++ b/translations/bg/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T20:35:22+00:00", + "translation_date": "2026-04-06T17:16:39+00:00", "source_file": "AGENTS.md", "language_code": "bg" }, @@ -516,8 +516,8 @@ "language_code": "bg" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T13:26:07+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T17:13:01+00:00", "source_file": "README.md", "language_code": "bg" }, diff --git a/translations/bg/AGENTS.md b/translations/bg/AGENTS.md index 328416db74..d9f292b4e0 100644 --- a/translations/bg/AGENTS.md +++ b/translations/bg/AGENTS.md @@ -1,30 +1,30 @@ # AGENTS.md -## Преглед на проекта +## Общ преглед на проекта -Това е репозиториум с учебна учебна програма за преподаване на основите на уеб разработката за начинаещи. Учебната програма е изчерпателен 12-седмичен курс, разработен от Microsoft Cloud Advocates, включващ 24 практически урока, обхващащи JavaScript, CSS и HTML. +Това е учебно хранилище с учебна програма за преподаване на основите на уеб разработката на начинаещи. Учебната програма е обширен 12-седмичен курс, разработен от Microsoft Cloud Advocates, включващ 24 практически урока, обхващащи JavaScript, CSS и HTML. -### Ключови компоненти +### Основни компоненти - **Образователно съдържание**: 24 структурирани урока, организирани в модули, базирани на проекти -- **Практически проекти**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor, and AI Chat Assistant +- **Практически проекти**: Терариум, Игра за писане, Разширение за браузър, Космическа игра, Банково приложение, Редактор на код и AI чат асистент - **Интерактивни тестове**: 48 теста с по 3 въпроса всеки (оценки преди/след урок) -- **Многоезична поддръжка**: Автоматични преводи за 50+ езика чрез GitHub Actions +- **Поддръжка на множество езици**: Автоматични преводи за над 50 езика чрез GitHub Actions - **Технологии**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (за AI проекти) ### Архитектура -- Образователен репозиториум със структура, базирана на уроци -- Всяка папка на урока съдържа README, примери с код и решения -- Самостоятелни проекти в отделни директории (quiz-app, различни проекти от уроците) +- Образователно хранилище с структура, базирана на уроци +- Всяка папка с урок съдържа README, кодови примери и решения +- Самостоятелни проекти в отделни директории (quiz-app, различни проекти за уроци) - Система за превод, използваща GitHub Actions (co-op-translator) -- Документация, обслужвана чрез Docsify и налична като PDF +- Документация, предоставена чрез Docsify и налична като PDF ## Команди за настройка -Този репозиториум е основно за консумация на образователно съдържание. За работа с конкретни проекти: +Това хранилище е основно за консумация на образователно съдържание. За работа с конкретни проекти: -### Основна настройка на репозитория +### Основна настройка на хранилището ```bash git clone https://github.com/microsoft/Web-Dev-For-Beginners.git @@ -36,27 +36,27 @@ cd Web-Dev-For-Beginners ```bash cd quiz-app npm install -npm run dev # Стартирай сървър за разработка -npm run build # Изгради за продукция -npm run lint # Пусни ESLint +npm run dev # Стартиране на сървъра за разработка +npm run build # Създаване за продукция +npm run lint # Стартиране на ESLint ``` -### API за банков проект (Node.js + Express) +### API на Bank проекта (Node.js + Express) ```bash cd 7-bank-project/api npm install -npm start # Стартирай API сървър -npm run lint # Стартирай ESLint -npm run format # Форматирай с Prettier +npm start # Стартиране на API сървър +npm run lint # Стартиране на ESLint +npm run format # Форматиране с Prettier ``` -### Проекти за разширения за браузър +### Проекти с разширения за браузър ```bash cd 5-browser-extension/solution npm install -# Следвайте инструкциите за зареждане на разширението, специфични за браузъра +# Следвайте инструкциите за зареждане на разширения, специфични за браузъра ``` ### Проекти за космическа игра @@ -64,44 +64,44 @@ npm install ```bash cd 6-space-game/solution npm install -# Отворете index.html в браузъра или използвайте Live Server +# Отворете index.html в браузър или използвайте Live Server ``` -### Чат проект (Python бекенд) +### Проект за чат (Python бекенд) ```bash cd 9-chat-project/solution/backend/python pip install openai -# Задайте променливата на средата GITHUB_TOKEN +# Задайте променлива на околната среда GITHUB_TOKEN python api.py ``` ## Работен процес за разработка -### За автори на съдържание +### За допринасящи съдържание -1. **Направете форк на репозитория** във вашия GitHub акаунт -2. **Клонирайте вашия форк** локално +1. **Форкнете хранилището** в своя GitHub акаунт +2. **Клонирайте форка си** локално 3. **Създайте нов клон** за вашите промени -4. Направете промени в съдържанието на уроците или в примерите с код -5. Тествайте всякакви кодови промени в съответните директории на проектите -6. Изпратете pull request-ове, следвайки указанията за принос +4. Направете промени в съдържанието на урок или в кодовите примери +5. Тествайте всички кодови промени в съответните проектни директории +6. Подайте pull request според указанията за допринасяне -### За учащите +### За учащи -1. Форкнете или клонирайте репозитория -2. Отидете в директориите на уроците по ред +1. Форкнете или клонирайте хранилището +2. Навигирайте последователно през директориите с уроци 3. Прочетете README файловете за всеки урок -4. Попълнете предварителните тестове на https://ff-quizzes.netlify.app/web/ -5. Работете с примерите с код в папките на уроците -6. Изпълнете задачите и предизвикателствата -7. Направете пост-урочните тестове +4. Завършете тестовете преди урока на https://ff-quizzes.netlify.app/web/ +5. Работете по кодовите примери в папките с уроци +6. Изпълнете задачи и предизвикателства +7. Направете тестовете след урока -### Разработка на живо +### Жива разработка - **Документация**: Стартирайте `docsify serve` в корена (порт 3000) - **Quiz App**: Стартирайте `npm run dev` в директорията quiz-app -- **Проекти**: Използвайте разширението Live Server на VS Code за HTML проекти +- **Проекти**: Използвайте разширението VS Code Live Server за HTML проекти - **API проекти**: Стартирайте `npm start` в съответните API директории ## Инструкции за тестване @@ -110,8 +110,8 @@ python api.py ```bash cd quiz-app -npm run lint # Проверете за проблеми със стила на кода -npm run build # Проверете, че изграждането е успешно +npm run lint # Проверка за проблеми със стила на кода +npm run build # Потвърдете успешното изграждане ``` ### Тестване на Bank API @@ -124,29 +124,29 @@ node server.js # Проверете дали сървърът стартир ### Общ подход за тестване -- Това е образователен репозиториум без изчерпателни автоматизирани тестове +- Това е образователно хранилище без обстойни автоматизирани тестове - Ръчното тестване се фокусира върху: - - Примерите с код да се изпълняват без грешки - - Връзките в документацията да работят правилно - - Проектните билдове да завършват успешно - - Примерите да следват добри практики + - Работоспособност на кодовите примери без грешки + - Работещи връзки в документацията + - Успешно изпълнение на билдове на проектите + - Примери, спазващи най-добри практики -### Проверки преди изпращане +### Проверки преди подаване -- Стартирайте `npm run lint` в директории с package.json +- Стартирайте `npm run lint` в директориите с package.json - Проверете дали markdown връзките са валидни -- Тествайте примерите с код в браузър или Node.js -- Проверете, че преводите запазват правилната структура +- Тествайте кодовите примери в браузър или Node.js +- Уверете се, че преводите запазват правилната структура ## Насоки за стил на кода ### JavaScript -- Използвайте съвременен синтаксис ES6+ -- Следвайте стандартните конфигурации на ESLint, предоставени в проектите -- Използвайте смислени имена на променливи и функции за образователна яснота +- Използвайте съвременен ES6+ синтаксис +- Следвайте стандартните ESLint конфигурации в проектите +- Използвайте смислени имена на променливи и функции за по-лесно разбиране - Добавяйте коментари, обясняващи концепциите за учащите -- Форматирайте с Prettier там, където е конфигуриран +- Форматирайте с Prettier, където е конфигуриран ### HTML/CSS @@ -157,124 +157,126 @@ node server.js # Проверете дали сървърът стартир ### Python -- Насоки за стил PEP 8 -- Ясни, образователни примери с код -- Указания за типове (type hints), когато са полезни за обучението +- Следвайте PEP 8 стилови указания +- Ясни, образователни кодови примери +- Използвайте типови подсказки, където е полезно за учене ### Markdown документация -- Ясна йерархия на заглавията -- Блокове с код със спецификация на езика +- Ясна иерархия на заглавията +- Кодови блокове с указание на езика - Връзки към допълнителни ресурси -- Екрани и изображения в директории `images/` -- Alt текст за изображения за достъпност +- Скрийншотове и изображения в папки `images/` +- Алтернативен текст на изображения за достъпност ### Организация на файловете -- Уроците номерирани последователно (1-getting-started-lessons, 2-js-basics, etc.) -- Всеки проект има `solution/` и често `start/` или `your-work/` директории -- Изображенията се съхраняват в за урок-специфични `images/` папки -- Преводите в структура `translations/{language-code}/` +- Уроците са номерирани последователно (1-getting-started-lessons, 2-js-basics и др.) +- Всеки проект има папки `solution/` и често `start/` или `your-work/` +- Изображенията се съхраняват в папки `images/` за съответния урок +- Преводите са в структура `translations/{езиков-код}/` -## Изграждане и разгръщане +## Съставяне и разгръщане ### Разгръщане на Quiz App (Azure Static Web Apps) +quiz-app е конфигуриран за разгръщане в Azure Static Web Apps: + ```bash cd quiz-app npm run build # Създава папка dist/ -# Извършва разгръщане чрез workflow на GitHub Actions при push към клона main +# Разгръща чрез GitHub Actions workflow при натискане към main ``` -Azure Static Web Apps конфигурация: -- **App location**: `/quiz-app` -- **Output location**: `dist` -- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` +Конфигурация на Azure Static Web Apps: +- **Местоположение на приложението**: `/quiz-app` +- **Изходна папка**: `dist` +- **Работен процес**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` -### Генериране на документация в PDF +### Създаване на PDF документация ```bash -npm install # Инсталиране на docsify-to-pdf -npm run convert # Генериране на PDF от docs +npm install # Инсталирайте docsify-to-pdf +npm run convert # Генерирайте PDF от документи ``` ### Документация с Docsify ```bash npm install -g docsify-cli # Инсталирайте Docsify глобално -docsify serve # Стартирайте сървър на localhost:3000 +docsify serve # Стартирайте на localhost:3000 ``` -### Проектно-специфични билдове +### Сглобяване, специфично за проектите -Всяка проектна директория може да има собствен процес за билд: -- Vue проекти: `npm run build` създава продукционни пакети -- Статични проекти: Няма стъпка за изграждане, сервирайте файловете директно +Всяка проектна директория може да има свой собствен процес на билд: +- Vue проектите: `npm run build` създава продукционни пакети +- Статичните проекти: Няма стъпка за билд, файловете се сервират директно -## Насоки за Pull Requests +## Правила за pull request ### Формат на заглавието -Използвайте ясни, описателни заглавия, указващи областта на промяната: -- `[Quiz-app] Add new quiz for lesson X` -- `[Lesson-3] Fix typo in terrarium project` -- `[Translation] Add Spanish translation for lesson 5` -- `[Docs] Update setup instructions` +Използвайте ясни и описателни заглавия, които указват областта на промяна: +- `[Quiz-app] Добавяне на нов тест за урок X` +- `[Lesson-3] Поправка на печатна грешка в проекта террариум` +- `[Translation] Добавяне на испански превод за урок 5` +- `[Docs] Актуализация на инструкциите за настройка` -### Задължителни проверки +### Изисквани проверки -Преди да изпратите PR: +Преди да подадете PR: -1. **Качеството на кода**: +1. **Качество на кода**: - Стартирайте `npm run lint` в засегнатите проектни директории - - Поправете всички грешки и предупреждения от lint + - Коригирайте всички намерени грешки и предупреждения при проверката -2. **Проверка на билда**: +2. **Проверка на билд**: - Стартирайте `npm run build`, ако е приложимо - - Уверете се, че няма грешки при билд + - Уверете се, че няма грешки при съставянето -3. **Валидиране на връзки**: +3. **Проверка на връзките**: - Тествайте всички markdown връзки - - Проверете референциите към изображенията + - Проверете дали референциите към изображения работят 4. **Преглед на съдържанието**: - - Коригирайте правописа и граматиката - - Уверете се, че примерите с код са правилни и образователни - - Потвърдете, че преводите запазват оригиналния смисъл + - Коригирайте правопис и граматика + - Уверете се, че кодовите примери са правилни и образователни + - Проверката дали преводите запазват оригиналния смисъл -### Изисквания за принос +### Изисквания за участие -- Съгласете се с Microsoft CLA (автоматична проверка при първия PR) -- Следвайте [Кодекс за поведение с отворен код на Microsoft](https://opensource.microsoft.com/codeofconduct/) +- Съгласие с Microsoft CLA (автоматична проверка при първия PR) +- Спазвайте [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) - Вижте [CONTRIBUTING.md](./CONTRIBUTING.md) за подробни указания -- Посочете номера на issue-ите в описанието на PR, ако е приложимо +- Посочете номера на проблеми в описанието на PR, ако е приложимо ### Процес на преглед - PR-овете се преглеждат от поддържащи и общността -- Образователната яснота е поставена на първо място -- Примерите с код трябва да следват текущите добри практики -- Преводите се преглеждат за точност и културна уместност +- Приоритет се дава на образователната яснота +- Кодови примери трябва да следват най-добрите съвременни практики +- Преводите се проверяват за точност и културна съобразност -## Система за преводи +## Система за превод ### Автоматизиран превод -- Използва GitHub Actions с co-op-translator workflow -- Превежда автоматично на 50+ езика -- Изходните файлове са в основните директории -- Преведените файлове в `translations/{language-code}/` директории +- Използва GitHub Actions с workflow co-op-translator +- Автоматичен превод на над 50 езика +- Оригинални файлове в основните директории +- Преведените файлове в директории `translations/{езиков-код}/` ### Добавяне на ръчни подобрения в превода -1. Намерете файла в `translations/{language-code}/` -2. Направете подобрения, като запазвате структурата -3. Уверете се, че примерите с код остават функционални -4. Тествайте всяко локализирано съдържание за тестове +1. Намерете файл в `translations/{езиков-код}/` +2. Направете подобрения, запазвайки структурата +3. Уверете се, че кодовите примери остават функционални +4. Тествайте всяко локализирано тестово съдържание ### Метаданни за превода -Преведените файлове включват хедър с метаданни: +Преведените файлове включват заглавна метаинформация: ```markdown ``` -## Отстраняване на грешки и решаване на проблеми +## Отстраняване на грешки и проблеми -### Чести проблеми +### Често срещани проблеми -**Quiz app fails to start**: +**Quiz приложението не стартира**: - Проверете версията на Node.js (препоръчително v14+) -- Изтрийте `node_modules` и `package-lock.json`, стартирайте `npm install` отново +- Изтрийте `node_modules` и `package-lock.json`, след което стартирайте отново `npm install` - Проверете за конфликти на портове (по подразбиране: Vite използва порт 5173) -**API server won't start**: +**Сървърът на API не стартира**: - Уверете се, че версията на Node.js отговаря на минималната (node >=10) -- Проверете дали портът вече не е зает +- Проверете дали портът вече не се използва - Уверете се, че всички зависимости са инсталирани с `npm install` -**Browser extension won't load**: +**Разширението за браузър не се зарежда**: - Проверете дали manifest.json е правилно форматиран - Проверете конзолата на браузъра за грешки -- Следвайте инструкции за инсталиране на разширения, специфични за браузъра +- Следвайте инструкциите за инсталиране на разширения според браузъра -**Python chat project issues**: +**Проблеми с Python чат проекта**: - Уверете се, че пакетът OpenAI е инсталиран: `pip install openai` -- Проверете, че променливата на средата GITHUB_TOKEN е зададена +- Проверете дали променливата на средата GITHUB_TOKEN е зададена - Проверете разрешенията за достъп до GitHub Models -**Docsify not serving docs**: -- Инсталирайте docsify-cli глобално: `npm install -g docsify-cli` -- Стартирайте от кореновата директория на репозитория -- Проверете, че `docs/_sidebar.md` съществува +**Docsify не сервира документацията**: +- Инсталирайте глобално docsify-cli: `npm install -g docsify-cli` +- Стартирайте от кореновата директория на хранилището +- Проверете дали съществува файлът `docs/_sidebar.md` -### Съвети за среда за разработка +### Съвети за средата за разработка - Използвайте VS Code с разширението Live Server за HTML проекти -- Инсталирайте разширенията ESLint и Prettier за последователно форматиране -- Използвайте DevTools на браузъра за отстраняване на JavaScript грешки -- За Vue проекти, инсталирайте разширението Vue DevTools за браузър +- Инсталирайте ESLint и Prettier разширения за последователно форматиране +- Използвайте DevTools на браузъра за отстраняване на JavaScript проблеми +- За Vue проекти инсталирайте браузър разширението Vue DevTools -### Съображения за производителност +### Съображения за производителността -- Голям брой преведени файлове (50+ езика) прави пълните клонове големи -- Използвайте shallow clone, ако работите само с съдържание: `git clone --depth 1` -- Изключете преводите от търсенията, когато работите с английско съдържание -- Процесите за билд може да са бавни при първото изпълнение (npm install, Vite build) +- Голям брой преведени файлове (50+ езика) означава големи пълни клонинги +- Използвайте shallow clone, ако работите само със съдържание: `git clone --depth 1` +- Изключете преводите от търсения при работа с английско съдържание +- Процесите на билд може да са бавни при първо изпълнение (npm install, Vite build) ## Съображения за сигурност ### Променливи на средата -- API ключовете никога не трябва да се комитират в репозитория +- Ключовете за API никога не бива да се комитват в хранилището - Използвайте `.env` файлове (вече в `.gitignore`) -- Документирайте необходимите променливи на средата в README файловете на проектите +- Документирайте необходимите променливи на средата в README на проектите ### Python проекти - Използвайте виртуални среди: `python -m venv venv` -- Поддържайте зависимостите актуални +- Поддържайте зависимостите обновени - GitHub токените трябва да имат минимално необходими разрешения ### Достъп до GitHub Models @@ -355,52 +357,52 @@ CO_OP_TRANSLATOR_METADATA: ### Целева аудитория - Напълно начинаещи в уеб разработката -- Студенти и самообучаващи се -- Учители, използващи учебната програма в класни стаи -- Съдържанието е проектирано за достъпност и постепенно изграждане на умения +- Студенти и самонайствнюющи се +- Учители, използващи учебната програма в класната стая +- Съдържанието е проектирано за достъпност и постепенно придобиване на умения ### Образователна философия -- Подход, базиран на проекти +- Проектно-базирано обучение - Чести проверки на знанията (тестове) -- Практически упражнения с код +- Практически упражнения по кодиране - Примери с реални приложения - Фокус върху основите преди фреймуърковете -### Поддръжка на репозитория +### Поддръжка на хранилището - Активна общност от учащи и допринасящи - Редовни актуализации на зависимости и съдържание -- Проблемите и дискусиите се следят от поддържащите -- Актуализациите на преводите автоматизирани чрез GitHub Actions +- Мониторинг на проблеми и дискусии от поддържащите +- Автоматизирани актуализации на преводите чрез GitHub Actions ### Свързани ресурси - [Модули на Microsoft Learn](https://docs.microsoft.com/learn/) - [Ресурси на Student Hub](https://docs.microsoft.com/learn/student-hub/) -- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) препоръчва се за учащите -- Допълнителни курсове: Generative AI, Data Science, ML, IoT учебни програми налични +- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) препоръчван за учащите +- Допълнителни курсове: генеративно AI, Data Science, ML, IoT учебни програми ### Работа с конкретни проекти -За подробни инструкции за отделните проекти, вижте README файловете в: -- `quiz-app/README.md` - Vue 3 quiz application -- `7-bank-project/README.md` - Banking application with authentication -- `5-browser-extension/README.md` - Browser extension development -- `6-space-game/README.md` - Canvas-based game development -- `9-chat-project/README.md` - AI chat assistant project +За подробни инструкции по отделните проекти вижте README файловете в: +- `quiz-app/README.md` - Vue 3 квиз приложение +- `7-bank-project/README.md` - Банково приложение с удостоверяване +- `5-browser-extension/README.md` - Разработване на разширения за браузър +- `6-space-game/README.md` - Разработка на игра с Canvas +- `9-chat-project/README.md` - AI чат асистент проект -### Структура на монорепо +### Структура на монорепозиторий -Въпреки че не е традиционно монорепо, този репозиториум съдържа множество независими проекти: -- Всеки урок е самостоятелен +Въпреки че не е традиционен монорепо, това хранилище съдържа множество независими проекти: +- Всеки урок е автономен - Проектите не споделят зависимости -- Работете по отделни проекти, без да засягате другите -- Клонирайте целия репозиториум за пълното преживяване на учебната програма +- Работете по отделните проекти без да влияете на други +- Клонирайте цялото хранилище за пълния учебен опит --- **Отказ от отговорност**: -Този документ е преведен с помощта на AI преводаческа услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на оригиналния език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Не носим отговорност за каквито и да е недоразумения или погрешни тълкувания, възникнали в резултат на използването на този превод. +Този документ е преведен с помощта на AI преводаческа услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматичните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за никакви недоразумения или неправилни тълкувания, произтичащи от използването на този превод. \ No newline at end of file diff --git a/translations/bg/README.md b/translations/bg/README.md index def8d63b10..318c9946fd 100644 --- a/translations/bg/README.md +++ b/translations/bg/README.md @@ -1,21 +1,21 @@ -# Уеб разработка за начинаещи - учебна програма +# Уеб разработка за начинаещи - Учебна програма -Научете основите на уеб разработката с нашия 12-седмичен всеобхватен курс от Microsoft Cloud Advocates. Всеки от 24-те урока разглежда JavaScript, CSS и HTML чрез практически проекти като терариуми, разширения за браузър и космически игри. Включете се с викторини, дискусии и практически задачи. Подобрете уменията си и оптимизирайте усвояването на знания с нашата ефективна педагогика, базирана на проекти. Започнете своето пътешествие в кодирането още днес! +Научете основите на уеб разработката с нашия 12-седмичен изчерпателен курс, воден от Microsoft Cloud Advocates. Във всеки от 24-те урока ще се потопите в JavaScript, CSS и HTML чрез практически проекти като терариуми, разширения за браузъри и космически игри. Включете се в викторини, дискусии и практически задачи. Подобрете уменията си и оптимизирайте усвояването на знания с нашия ефективен проектно-базиран подход. Започнете своето програмиране днес! -Присъединете се към общността Azure AI Foundry в Discord +Присъединете се към Azure AI Foundry Discord Общността -Следвайте тези стъпки, за да започнете да използвате тези ресурси: -1. **Форкнете хранилището**: Кликнете [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) -2. **Клонирайте хранилището**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**Присъединете се към Azure AI Foundry Discord и срещнете експерти и други разработчици**](https://discord.com/invite/ByRwuEEgH4) +Следвайте тези стъпки, за да започнете с тези ресурси: +1. **Клонирайте репозитория**: Натиснете [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +2. **Клонирайте репозитория локално**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +3. [**Присъединете се към Azure AI Foundry Discord и се срещнете с експерти и други разработчици**](https://discord.com/invite/ByRwuEEgH4) ### 🌐 Поддръжка на множество езици -#### Поддържа се чрез GitHub Action (автоматизирано и винаги актуално) +#### Поддържа се чрез GitHub Action (Автоматично и винаги актуално) > **Предпочитате да клонирате локално?** > -> Това хранилище включва над 50 езикови превода, което значително увеличава размера на изтегляне. За да клонирате без преводите, използвайте sparse checkout: +> Този репозитори включва над 50 превода на езици, което значително увеличава размера на изтегляне. За да клонирате без преводи, използвайте sparse checkout: > > **Bash / macOS / Linux:** > ```bash @@ -31,225 +31,221 @@ > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> Това ви осигурява всичко необходимо за завършване на курса с много по-бързо изтегляне. +> Това ви дава всичко необходимо за завършване на курса с много по-бързо изтегляне. -**Ако желаете поддръжка на допълнителни езици за превод, те са посочени [тук](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**Ако желаете да имате допълнителни поддържани езици за превод, те са изброени [тук](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** -#### 🧑‍🎓 _Студент ли сте?_ +#### 🧑‍🎓 _Вие студент ли сте?_ -Посетете [**страницата Студентски център**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), където ще намерите източници за начинаещи, студентски пакети и дори възможности за получаване на безплатен ваучер за сертификат. Това е страницата, която си струва да запазите и проверявате периодично, тъй като съдържанието се обновява месечно. +Посетете [**Страница за студенти**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), където ще намерите ресурси за начинаещи, студентски пакети и дори начини да получите безплатен ваучер за сертификат. Това е страницата, която трябва да запазите и да проверявате от време на време, тъй като месечно сменяме съдържанието. -### 📣 Обява - Нови предизвикателства в GitHub Copilot Agent режим! +### 📣 Обявление - Нови предизвикателства за режим GitHub Copilot Agent! -Добавено е ново предизвикателство, потърсете "GitHub Copilot Agent Challenge 🚀" в повечето глави. Това е ново предизвикателство, което да завършите, използвайки GitHub Copilot и Agent режим. Ако не сте използвали досега Agent режим, той може не само да генерира текст, но и да създава и редактира файлове, да изпълнява команди и още. +Добавено е ново предизвикателство, търсете "GitHub Copilot Agent Challenge 🚀" в повечето глави. Това е ново предизвикателство, което трябва да завършите, използвайки GitHub Copilot и режим Agent. Ако не сте използвали режим Agent преди, той може не само да генерира текст, но и да създава и редактира файлове, да изпълнява команди и още. -### 📣 Обява - _Нов проект за разработка с използване на генеративен AI_ +### 📣 Обявление - _Нов проект за изграждане с Generative AI_ -Току-що добавен нов проект AI Асистент, разгледайте го [тук](./9-chat-project/README.md) +Току-що добавен нов проект AI Асистент, разгледайте [проекта](./9-chat-project/README.md) -### 📣 Обява - _Нова учебна програма_ за генеративен AI за JavaScript току-що излезе +### 📣 Обявление - _Нова учебна програма_ за Generative AI за JavaScript току-що излезе -Не пропускайте новия ни курс за генеративен AI! +Не пропускайте нашата нова учебна програма за Generative AI! Посетете [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), за да започнете! -- Уроци, обхващащи всичко от основите до RAG. -- Взаимодействайте с исторически персонажи чрез GenAI и нашето спомагателно приложение. -- Забавен и ангажиращ разказ, пътуване във времето! +- Уроци, покриващи всичко от основи до RAG. +- Взаимодействайте с исторически личности чрез GenAI и нашето приложение спътник. +- Забавен и увлекателен разказ, ще пътувате във времето! -Във всеки урок има задача за изпълнение, проверка на знанията и предизвикателство, които ви насочват към изучаване на теми като: -- Създаване на команди и инженерство на подкани -- Генериране на текст и изображения за приложения +Всеки урок включва задача за изпълнение, проверка на знания и предизвикателство, които да ви помогнат при изучаването на теми като: +- Подсказване и инженеринг на подсказки +- Генериране на приложения за текст и изображения - Приложения за търсене -Посетете [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), за да започнете! - +Посетете [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) за да започнете! +## 🌱 Започване -## 🌱 Как да започнете +> **Учители**, ние сме [включили някои предложения](for-teachers.md) как да използвате тази учебна програма. Ще се радваме на обратна връзка от вас [в нашия форум за дискусии](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! -> **Учители**, включили сме някои предложения [тук](for-teachers.md) за използване на тази учебна програма. Ще се радваме на обратна връзка [в нашия форум за обсъждания](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! +**[Учащи](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, за всеки урок започнете с предварителна викторина и след това продължете с четене на учебния материал, изпълнение на различни дейности и проверете разбирането си с пост-лекционна викторина. -**[Обучаващи се](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, за всеки урок започнете с тест преди лекцията и продължете с четене на учебния материал, изпълнение на различни дейности и проверете разбирането си чрез тест след лекцията. +За да подобрите учебния си опит, свържете се с връстници, за да работите заедно по проектите! Насърчават се дискусии в нашия [форум за дискусии](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), където нашият екип от модератори ще е на разположение да отговаря на вашите въпроси. -За по-добро изживяване в ученето, свържете се с вашите връстници за съвместна работа по проектите! Обсъжданията са насърчавани в нашия [форум за обсъждания](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), където нашият екип от модератори е на разположение да отговори на вашите въпроси. - -За да задълбочите обучението си, силно препоръчваме да изследвате [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) за допълнителни учебни материали. +За да задълбочите образованието си, силно препоръчваме да разгледате [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) за допълнителни учебни материали. ### 📋 Настройване на вашата среда -Тази учебна програма включва готова развойна среда! Когато започвате можете да изберете да използвате курса в [Codespace](https://github.com/features/codespaces/) (_браузър-базирана среда без нужда от инсталации_), или локално на компютъра си с текстов редактор, като например [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +Тази учебна програма разполага с готова среда за разработка! Докато започвате, можете да изберете да изпълнявате учебната програма в [Codespace](https://github.com/features/codespaces/) (_среда в браузъра без нужда от инсталация_), или локално на компютъра си с текстов редактор като [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -#### Създайте свое хранилище -За да запазвате лесно работата си, е препоръчително да създадете собствено копие на това хранилище. Можете да го направите, като кликнете на бутона **Use this template** в горната част на страницата. Това ще създаде ново хранилище в профила ви в GitHub с копие на учебната програма. +#### Създаване на собствено репозитори +За да ви е по-лесно да запазвате работата си, се препоръчва да създадете собствено копие на това репозитори. Можете да го направите, като натиснете бутона **Use this template** в горната част на страницата. Това ще създаде нов репозитори в акаунта ви в GitHub с копие на учебната програма. Следвайте тези стъпки: -1. **Форкнете хранилището**: Кликнете бутона "Fork" в горния десен ъгъл на тази страница. -2. **Клонирайте хранилището**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` - -#### Използване на учебната програма в Codespace +1. **Клонирайте репозитория**: Натиснете бутона "Fork" в горния десен ъгъл на тази страница. +2. **Клонирайте репозитория локално**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -В създаденото от вас копие на хранилището, кликнете бутона **Code** и изберете **Open with Codespaces**. Това ще създаде нов Codespace, в който можете да работите. +#### Стартиране на учебната програма в Codespace -![Codespace](../../translated_images/bg/createcodespace.0238bbf4d7a8d955.webp) +В копието на това репозитори, което създадохте, натиснете бутона **Code** и изберете **Open with Codespaces**. Това ще създаде нов Codespace, в който да работите. -#### Използване на учебната програма локално на вашия компютър +#### Стартиране на учебната програма локално на компютъра -За да стартирате учебната програма локално, ще ви трябва текстов редактор, браузър и команден терминал. Нашият първи урок, [Въведение в програмните езици и инструментите](../../1-getting-started-lessons/1-intro-to-programming-languages), ще ви преведе през различни опции за всеки от тези инструменти, за да изберете най-подходящите за вас. +За да стартирате тази учебна програма локално на компютъра си, ще ви трябва текстов редактор, браузър и инструмент за команден ред. Нашият първи урок, [Въведение в програмните езици и инструментите](../../1-getting-started-lessons/1-intro-to-programming-languages), ще ви преведе през различни опции за всеки от тези инструменти, за да изберете най-подходящото за вас. -Нашата препоръка е да използвате [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) като редактор, който включва и интегриран [Терминал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Можете да изтеглите Visual Studio Code [тук](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -1. Клонирайте хранилището си на компютъра. Можете да го направите като кликнете върху бутона **Code** и копирате URL адреса: +Препоръчваме ви да използвате [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) като редактор, който разполага и с вграден [Терминал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Можете да изтеглите Visual Studio Code [тук](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +1. Клонирайте вашето хранилище на компютъра си. Можете да го направите като кликнете на бутона **Code** и копирате URL адреса: [CodeSpace](./images/createcodespace.png) - След това отворете [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) в [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) и изпълнете следната команда, като замените `` с току-що копирания URL адрес: + След това отворете [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) в [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) и изпълнете следната команда, като замените `` с URL адреса, който току-що копирахте: ```bash git clone ``` -2. Отворете папката във Visual Studio Code. Можете да го направите като кликнете върху **File** > **Open Folder** и изберете папката, която току-що клонирахте. +2. Отворете папката във Visual Studio Code. Можете да го направите като кликнете на **File** > **Open Folder** и изберете папката, която току-що клонирахте. -> Препоръчителни разширения за Visual Studio Code: +> Препоръчани разширения за Visual Studio Code: > -> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - за преглед на HTML страници в Visual Studio Code -> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - за бързо писане на код +> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - за преглед на HTML страници директно във Visual Studio Code +> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - да ви помага да пишете код по-бързо -## 📂 Всяко занятие включва: +## 📂 Всеки урок включва: -- по избор скица -- по избор допълнително видео -- въпросник за загряване преди занятието -- писмен урок -- за занятия на база проект, стъпка по стъпка инструкции за изграждане на проекта +- по желание скица +- по желание допълнително видео +- предварителен топъл тест преди урока +- написан урок +- за уроци, базирани на проекти, стъпка по стъпка ръководства за изграждане на проекта - проверки на знанията - предизвикателство - допълнително четиво -- задача -- [въпросник след занятието](https://ff-quizzes.netlify.app/web/) - -> **Бележка за въпросниците**: Всички въпросници са в папката Quiz-app, общо 48 с по три въпроса. Те са достъпни [тук](https://ff-quizzes.netlify.app/web/), приложението за въпросниците може да се изпълни локално или да се публикува в Azure; следвайте инструкциите в папката `quiz-app`. - -## 🗃️ Занятия - -| | Име на проекта | Преподавани концепции | Учебни цели | Свързан урок | Автор | -| :-: | :--------------------------------------------------------: | :--------------------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | Започване | Въведение в програмирането и инструментите на професията | Научете основите на повечето програмни езици и софтуер, който помага на професионалните разработчици да вършат работата си | [Въведение в програмните езици и инструментите](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | Започване | Основи на GitHub, включително работа в екип | Как да използвате GitHub в своя проект, как да сътрудничите по код | [Въведение в GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | Започване | Достъпност | Научете основите на уеб достъпността | [Основи на достъпността](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | Основи на JS | Типове данни в JavaScript | Основи на типовете данни в JavaScript | [Типове данни](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | Основи на JS | Функции и методи | Научете за функциите и методите за управление на логиката на приложението | [Функции и методи](./2-js-basics/2-functions-methods/README.md) | Jasmine и Christopher | -| 06 | Основи на JS | Вземане на решения с JS | Научете как да създавате условия във вашия код с методи за вземане на решения | [Вземане на решения](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | Основи на JS | Масиви и цикли | Работа с данни чрез масиви и цикли в JavaScript | [Масиви и цикли](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Терариум](./3-terrarium/solution/README.md) | Практическо HTML | Създайте HTML за онлайн терариум, съсредоточавайки се върху изграждането на оформлението | [Въведение в HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Терариум](./3-terrarium/solution/README.md) | Практическо CSS | Създайте CSS за стилизиране на онлайн терариума, фокусирайки се върху основите на CSS, включително правене на страницата отзивчива | [Въведение в CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Терариум](./3-terrarium/solution/README.md) | JavaScript Closures, манипулация на DOM | Създайте JavaScript, за да направите терариума с интерфейс за влачене и пускане, съсредоточени върху closures и манипулация на DOM | [JavaScript Closures, манипулация на DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Игра за писане](./4-typing-game/solution/README.md) | Създаване на игра за писане | Научете как да използвате клавиатурни събития за управление на логиката в JavaScript приложението ви | [Програмиране, базирано на събития](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Разширение за браузър](./5-browser-extension/solution/README.md) | Работа с браузъри | Научете как работят браузърите, тяхната история и как да създадете първите елементи на разширение за браузър | [Относно браузърите](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Разширение за браузър](./5-browser-extension/solution/README.md) | Изграждане на форма, извикване на API и съхраняване на променливи локално | Създайте JavaScript елементи на разширението си за браузър, за да извиквате API с променливи, съхранени локално | [APIs, Форми и Локално съхранение](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Разширение за браузър](./5-browser-extension/solution/README.md) | Фонови процеси в браузъра, уеб производителност | Използвайте фоновите процеси на браузъра за управление на иконата на разширението; научете за уеб производителността и оптимизации | [Фонови задачи и производителност](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Космическа игра](./6-space-game/solution/README.md) | По-напреднало игрово развитие с JavaScript | Научете за наследяване с класове и композиция и за дизайна Pub/Sub, в подготовка за изграждане на игра | [Въведение в напреднало игрово развитие](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [Космическа игра](./6-space-game/solution/README.md) | Рисуване върху канвас | Научете за Canvas API, използван за рисуване на елементи на екрана | [Рисуване върху Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Космическа игра](./6-space-game/solution/README.md) | Преместване на елементи по екрана | Открийте как елементите придобиват движение чрез декартови координати и Canvas API | [Преместване на елементи](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Космическа игра](./6-space-game/solution/README.md) | Откриване на сблъсъци | Направете елементите да се сблъскват и реагират един на друг чрез натискане на клавиши и предоставете cooldown функция | [Откриване на сблъсъци](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Космическа игра](./6-space-game/solution/README.md) | Отчитане на резултата | Извършвайте математически изчисления въз основа на състоянието и изпълнението на играта | [Отчитане на резултата](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Космическа игра](./6-space-game/solution/README.md) | Приключване и рестартиране на играта | Научете за приключването и рестартирането на играта, включително почистване на ресурси и нулиране на променливи | [Условия за приключване](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [Банково приложение](./7-bank-project/solution/README.md) | HTML шаблони и маршрути в уеб приложение | Научете как да създавате структурата на многостраничен уебсайт чрез маршрутизация и HTML шаблони | [HTML шаблони и маршрути](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [Банково приложение](./7-bank-project/solution/README.md) | Създаване на форма за влизане и регистрация | Научете за създаване на формуляри и обработка на валидиращи процедури | [Формуляри](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [Банково приложение](./7-bank-project/solution/README.md) | Методи за извличане и използване на данни | Как данните влизат и излизат от приложението ви, как да ги извличате, съхранявате и изхвърляте | [Данни](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [Банково приложение](./7-bank-project/solution/README.md) | Концепции за управление на състоянието | Научете как приложението ви задържа състояние и как да го управлявате програмно | [Управление на състоянието](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Код за браузър/VSCode](../../8-code-editor) | Работа с VScode | Научете как да използвате редактор на код | [Използване на редактор код в VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [AI асистенти](./9-chat-project/README.md) | Работа с AI | Научете как да изградите собствен AI асистент | [Проект AI асистент](./9-chat-project/README.md) | Chris | +- задание +- [тест след урока](https://ff-quizzes.netlify.app/web/) + +> **Бележка за тестовете**: Всички тестове се намират в папката Quiz-app, общо 48 теста с по три въпроса във всеки. Те са достъпни [тук](https://ff-quizzes.netlify.app/web/), приложението за тестове може да се изпълнява локално или да се публикува в Azure; следвайте инструкциите в папката `quiz-app`. + +## 🗃️ Уроци + +| | Име на проекта | Теми, които се преподават | Учебни цели | Свързан урок | Автор | +| :-: | :--------------------------------------------------------: | :-----------------------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | +| 01 | Getting Started | Въведение в програмирането и инструментите на занаята | Научете основите зад повечето програмни езици и софтуера, който помага на професионалните разработчици да вършат работата си | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Getting Started | Основи на GitHub, включва работа в екип | Как да използвате GitHub в проекта си, как да си сътрудничите с други върху кодовата база | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Getting Started | Достъпност | Научете основите на уеб достъпността | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | JS Basics | Типове данни в JavaScript | Основите на типовете данни в JavaScript | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | JS Basics | Функции и методи | Научете за функциите и методите за управление на логиката на приложението | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine и Christopher | +| 06 | JS Basics | Вземане на решения с JS | Научете как да създавате условия в кода си чрез методи за вземане на решения | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | JS Basics | Масиви и цикли | Работа с данни чрез масиви и цикли в JavaScript | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML на практика | Създайте HTML за онлайн терариум, с фокус върху създаването на оформление | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS на практика | Създайте CSS, за да стилизирате онлайн терариума с акцент върху основите на CSS, включително адаптивност на страницата | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript затваряния, манипулация на DOM | Създайте JavaScript, за да направите терариума функционален с drag/drop интерфейс, с акцент върху затваряния и манипулация на DOM | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Typing Game](./4-typing-game/solution/README.md) | Създаване на игра за писане | Научете как да използвате клавишни събития, за да управлявате логиката на вашето JavaScript приложение | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Работа с браузъри | Научете как работят браузърите, тяхната история и как да изградите първите елементи на браузър разширение | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Създаване на форма, повикване на API и съхраняване на променливи в локално хранилище | Изградете JavaScript елементи на браузър разширението си за извикване на API с използване на променливи, съхранявани в локално хранилище | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Фонови процеси в браузъра, уеб производителност | Използвайте фоновите процеси на браузъра за управление на иконата на разширението; научете за уеб производителността и оптимизации за повишаване | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Space Game](./6-space-game/solution/README.md) | По-напреднало разработване на игри с JavaScript | Научете за наследяването чрез класове и композиция и патърна Pub/Sub, като подготовка за създаване на игра | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Space Game](./6-space-game/solution/README.md) | Рисуване върху платно | Научете за Canvas API, използван за рисуване на елементи на екран | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Space Game](./6-space-game/solution/README.md) | Преместване на елементи по екрана | Открийте как елементите могат да придобият движение чрез декартови координати и Canvas API | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Space Game](./6-space-game/solution/README.md) | Откриване на сблъсък | Накарайте елементите да се сблъскват и реагират един на друг чрез натискане на клавиши и добавете функция за забавяне, за да осигурите производителност на играта | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Space Game](./6-space-game/solution/README.md) | Водене на резултати | Извършвайте математически изчисления въз основа на състоянието и представянето на играта | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Space Game](./6-space-game/solution/README.md) | Край и рестартиране на играта | Научете за край и рестартиране на играта, включително почистване на ресурси и нулиране на стойности на променливи | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML шаблони и маршрути в уеб приложение | Научете как да създадете скелет на архитектурата на многостраничен уебсайт чрез маршрутизиране и HTML шаблони | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Banking App](./7-bank-project/solution/README.md) | Създаване на формуляр за вход и регистрация | Научете за създаването на формуляри и обработката на валидационни процедури | [Forms](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Banking App](./7-bank-project/solution/README.md) | Методи за извличане и използване на данни | Как данните постъпват и излизат от приложението ви, как да ги изтегляте, съхранявате и изтривате | [Data](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Banking App](./7-bank-project/solution/README.md) | Концепции за управление на състояние | Научете как вашето приложение запазва състояние и как да го управлявате програмно | [State Management](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Browser/VScode Code](../../8-code-editor) | Работа с VScode | Научете как да използвате редактор на код| [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [AI Assistants](./9-chat-project/README.md) | Работа с изкуствен интелект | Научете как да създадете собствен AI асистент | [AI Assistant project](./9-chat-project/README.md) | Chris | ## 🏫 Педагогика -Нашата учебна програма е създадена с два ключови педагогически принципа на ум: -* обучение, базирано на проекти +Нашата учебна програма е създадена с два ключови педагогически принципа: +* обучение чрез проекти * чести тестове -Програмата учи основите на JavaScript, HTML и CSS, както и най-новите инструменти и техники, използвани от съвременните уеб разработчици. Студентите ще имат възможност да развият практически умения, като изградят игра за писане, виртуален терариум, екологичен браузър разширение, космическа инвазивна игра и банково приложение за бизнеси. В края на серията студентите ще имат солидно разбиране за уеб разработка. +Програмата преподава основите на JavaScript, HTML и CSS, както и най-новите инструменти и техники, използвани от съвременните уеб разработчици. Студентите ще имат възможност да придобият практичен опит, като изграждат игра за писане, виртуален терариум, екологично разширение за браузър, игра в стил „нападател на космоса“ и банково приложение за бизнес. В края на серията студентите ще имат солидно разбиране на уеб разработка. -> 🎓 Можете да вземете първите няколко урока от тази програма като [Учебен път](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) в Microsoft Learn! +> 🎓 Можете да започнете с първите няколко урока от тази учебна програма като [Учебен път](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) в Microsoft Learn! -Чрез осигуряване на съдържание, свързано с проекти, процесът става по-ангажиращ за студентите и запомнянето на концепциите се увеличава. Ние също така написахме няколко начални урока по основите на JavaScript за въведение на концепциите, с видео от колекцията "[Начинаещи по JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", част от чийто автори допринесоха за тази учебна програма. +Като гарантираме, че съдържанието съвпада с проектите, процесът за учениците става по-ангажиращ и задържането на концепциите се увеличава. Също така написахме няколко въвеждащи урока по основите на JavaScript, за да представим концепциите, съчетани с видео от поредицата "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", някои от авторите на които допринесоха за тази учебна програма. -Освен това, тест с ниска трудност преди занятието насочва вниманието на студента към изучаване на темата, докато втори тест след занятието гарантира по-добро усвояване. Тази учебна програма е проектирана да бъде гъвкава и забавна и може да се следва изцяло или частично. Проектите започват малки и стават все по-сложни до края на 12-седмичния цикъл. +Освен това, неангажиращ тест преди урока задава нагласата на студента към ученето на тема, а втори тест след урока осигурява допълнително задържане на материал. Тази учебна програма е създадена, за да бъде гъвкава и забавна и може да се взема цялостно или по части. Проектите започват с по-малки теми и стават все по-сложни до края на 12-седмичния цикъл. -Въпреки, че умишлено избегнахме въвеждането на JavaScript рамки, за да се концентрираме върху основните умения, нужни на един уеб разработчик преди преминаването към рамка, добър следващ ход след завършване на тази учебна програма би бил да научите за Node.js чрез друга колекция от видеа: "[Начинаещи по Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +Докато умишлено сме избегнали въвеждането на JavaScript рамки, за да се концентрираме върху основните умения, необходими като уеб разработчик преди да се премине към рамка, добър следващ ход след завършване на тази програма би бил да научите Node.js чрез друга поредица от видеа: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> Посетете нашите указания за [Етичен кодекс](CODE_OF_CONDUCT.md) и [Принос](CONTRIBUTING.md). Очакваме вашите конструктивни отзиви! +> Посетете нашите насоки [Кодекс на поведение](CODE_OF_CONDUCT.md) и [Принос](CONTRIBUTING.md). Очакваме вашите конструктивни отзиви! ## 🧭 Достъп офлайн -Можете да използвате тази документация офлайн с помощта на [Docsify](https://docsify.js.org/#/). Форкнете това хранилище, [инсталирайте Docsify](https://docsify.js.org/#/quickstart) на локалната си машина и след това в главната папка на това хранилище напишете `docsify serve`. Уебсайтът ще се обслужва на порт 3000 на вашия localhost: `localhost:3000`. +Можете да използвате тази документация офлайн чрез [Docsify](https://docsify.js.org/#/). Форкнете това хранилище, [инсталирайте Docsify](https://docsify.js.org/#/quickstart) на локалната си машина, след което в главната папка на хранилището въведете `docsify serve`. Уебсайтът ще се обслужва на порт 3000 на локалния ви хост: `localhost:3000`. ## 📘 PDF -PDF с всички уроци може да се намери [тук](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). +PDF с всички уроци може да бъде намерен [тук](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). -## 🎒 Други Курсове +## 🎒 Други курсове -Нашият екип произвежда и други курсове! Разгледайте: +Екипът ни произвежда и други курсове! Разгледайте: ### LangChain -[![LangChain4j за начинаещи](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) -[![LangChain.js за начинаещи](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) -[![LangChain за начинаещи](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) +[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) --- ### Azure / Edge / MCP / Агенти -[![AZD за начинаещи](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Edge AI за начинаещи](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) -[![MCP за начинаещи](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) -[![AI Агенти за начинаещи](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) +[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) +[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) --- -### Серия за Генеративен AI -[![Генеративен AI за начинаещи](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Генеративен AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) -[![Генеративен AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) -[![Генеративен AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) +### Генеративен AI Серия +[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) +[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) +[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) --- -### Основно Обучение -[![Машинно обучение за начинаещи](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) -[![Данни за начинаещи](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) -[![AI за начинаещи](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) -[![Киберсигурност за начинаещи](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) -[![Уеб разработка за начинаещи](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) -[![IoT за начинаещи](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) -[![XR Разработка за начинаещи](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) +### Основно обучение +[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) +[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) +[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) +[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) +[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) +[![IoT for Beginners](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) +[![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) --- ### Серия Copilot -[![Copilot за AI Сдвоявано Програмиране](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) -[![Copilot за C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) -[![Приключения с Copilot](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) +[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) +[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) +[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) -## Как да получите помощ +## Получаване на помощ -Ако се затрудните или имате въпроси относно изграждането на AI приложения, присъединете се към други учащи и опитни разработчици в дискусии за MCP. Това е подкрепяща общност, където въпросите са добре дошли и знанието се споделя свободно. +Ако изпитате затруднения или имате въпроси относно създаването на AI приложения, присъединете се към други учащи и опитни разработчици в дискусии за MCP. Това е подкрепяща общност, където въпросите са добре дошли и знанията се споделят свободно. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Ако имате обратна връзка за продукта или срещнете грешки по време на разработка, посетете: +Ако имате обратна връзка за продукта или грешки при създаването, посетете: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) ## Лиценз -Този репозиторий е лицензиран под лиценза MIT. Вижте файла [LICENSE](../../LICENSE) за повече информация. +Това хранилище е лицензирано под MIT лиценз. Вижте файла [LICENSE](../../LICENSE) за повече информация. --- **Отказ от отговорност**: -Този документ е преведен с помощта на AI преводаческа услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматичните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод. +Този документ е преведен с помощта на AI преводаческа услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматичните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод. \ No newline at end of file diff --git a/translations/bn/.co-op-translator.json b/translations/bn/.co-op-translator.json index cdc357b10a..c5f063a08c 100644 --- a/translations/bn/.co-op-translator.json +++ b/translations/bn/.co-op-translator.json @@ -1,7 +1,7 @@ { "1-getting-started-lessons/1-intro-to-programming-languages/README.md": { - "original_hash": "bec5e35642176d9e483552bfc82996d8", - "translation_date": "2026-03-06T17:29:49+00:00", + "original_hash": "d5eeb6e975b5864d8da52d4a41941f8d", + "translation_date": "2026-04-06T16:13:43+00:00", "source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md", "language_code": "bn" }, @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-06T17:43:46+00:00", + "translation_date": "2026-04-06T16:27:20+00:00", "source_file": "AGENTS.md", "language_code": "bn" }, @@ -516,8 +516,8 @@ "language_code": "bn" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T17:24:35+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T16:08:25+00:00", "source_file": "README.md", "language_code": "bn" }, diff --git a/translations/bn/1-getting-started-lessons/1-intro-to-programming-languages/README.md b/translations/bn/1-getting-started-lessons/1-intro-to-programming-languages/README.md index dd2f1fb495..eab1aaba48 100644 --- a/translations/bn/1-getting-started-lessons/1-intro-to-programming-languages/README.md +++ b/translations/bn/1-getting-started-lessons/1-intro-to-programming-languages/README.md @@ -1,15 +1,15 @@ -# প্রোগ্রামিং ভাষাসমূহ ও আধুনিক ডেভেলপার সরঞ্জামগুলোর পরিচিতি +# প্রোগ্রামিং ভাষাসমূহ এবং আধুনিক ডেভেলপার সরঞ্জামগুলোর পরিচিতি -হ্যালো, ভবিষ্যতের ডেভেলপার! 👋 আমি কি তোমাকে এমন কিছু বলতে পারি যা প্রতিদিন আমাকে রোমাঞ্চিত করে? তুমি শীঘ্রই আবিষ্কার করবে যে প্রোগ্রামিং শুধুমাত্র কম্পিউটার সংক্রান্ত নয় – এটি তোমার সবচেয়ে অবিশ্বাস্য ধারণাগুলো জীবন্ত করার জন্য সত্যিকারের অতিপ্রাকৃত ক্ষমতা পাওয়ার ব্যাপার! +হেই সেখানে, ভবিষ্যত ডেভেলপার! 👋 আমি কি তোমাকে এমন কিছু বলতে পারি যা প্রতিদিন আমাকে উত্তেজিত করে? তুমি আবিষ্কার করতে যাচ্ছ যে প্রোগ্রামিং শুধুমাত্র কম্পিউটার নিয়ে নয় – এটা তোমার বন্যতম ধারণাগুলো জীবন্ত করার জন্য আসল উপশক্তি পাওয়ার ব্যাপার! -তুমি কি সেই মুহূর্তটি জানো, যখন তুমি তোমার প্রিয় অ্যাপ ব্যবহার করছ, আর সবকিছু নিখুঁতভাবে কাজ করছে? যখন তুমি একটা বাটনে ট্যাপ করো এবং কিছু অবিশ্বাস্য ঘটনা ঘটে যা তোমাকে বলায় "আরে, ওরা এটা কীভাবে করল?" ঠিক সেইটাই—তোমার মতোই কেউ, সম্ভবত রাত ২টায় তাদের প্রিয় কফি শপে বসে তৃতীয় এস্প্রেসো পান করে, সেই জাদু তৈরি কোড লিখেছিল। আর এখানে যা তোমার মস্তিষ্ক ঘুরিয়ে দেবে: এই পাঠ শেষ হওয়ার আগে তুমি শুধু বুঝতে পারবে কিভাবে তারা এটা করেছিল তাই নয়, তোমাও নিজে যেন চেষ্টা করার জন্য উদ্বুদ্ধ হয়ে উঠবে! +তুমি জান কি সেই মুহূর্ত যখন তুমি তোমার প্রিয় অ্যাপ ব্যবহার করছ এবং সবকিছু নিখুঁতভাবে কাজ করছে? যখন তুমি একটি বোতামে ট্যাপ করো এবং এমন কিছু ম্যাজিক ঘটে যা তোমায় ভাবতে বাধ্য করে "বাহ, তারা এটা কীভাবে করলো?" ঠিক তখনই তোমার মতো কেউ – সম্ভবত রাত ২টায় প্রিয় ক্যাফেতে তাদের তৃতীয় এসপ্রেসোর সাথে বসে – সেই ম্যাজিকটা তৈরি করার কোড লিখেছে। আর যা তোমার মন ফাঁপিয়ে দেবে তা হলো: এই পাঠের শেষে তুমি শুধু বুঝবে কীভাবে তারা তা করলো না, বরং নিজে চেষ্টা করতে মরিয়া হয়ে উঠবে! -দেখো, আমি পুরোপুরি বুঝতে পারি যদি এখনই প্রোগ্রামিং তোমাকে একটু কঠিন মনে হয়। যখন আমি শুরু করছিলাম, আমি সত্যি ভাবতাম তোমাকে হতে হবে কেউ গণিতের মাস্টার বা পাঁচ বছর বয়স থেকেই কোডিং করে আসা। কিন্তু যা আমার দৃষ্টিভঙ্গি পুরো বদলে দিয়েছিল তা হলো: প্রোগ্রামিং ঠিক যেমন নতুন একটি ভাষায় কথোপকথন শেখার মতো। তুমি শুরু করো "হ্যালো" এবং "ধন্যবাদ" দিয়ে, তারপর কফি অর্ডার করার মতো কথা বলতে শিখো, আর হঠাৎ করে গভীর দার্শনিক আলোচনা করো! তবে এখানে, তুমি কম্পিউটারদের সঙ্গে কথোপকথন করছ, এবং সত্যিই? তারা সবচেয়ে ধৈর্যশীল কথোপকথন সঙ্গী—তারা তোমার ভুলের বিচার করে না এবং সব সময় আবার চেষ্টা করতে উৎসাহী! +দেখ, আমি পুরোপুরি বুঝতে পারি যদি তোমার কাছে প্রোগ্রামিং এখন ভয়ংকর মনে হয়। আমি যখন শুরু করি, সত্যি বলছি আমি ভাবতাম তোমাকে কোডিং করতে হলে ম্যাথের গুণী হতে হবে বা পাচ বছর বয়স থেকে কোড করতে হবে। কিন্তু আমার ভাবনাটা সম্পূর্ণ বদলে গেছে: প্রোগ্রামিং ঠিক নতুন ভাষায় আলাপ করতে শেখার মত। তুমি শুরু করো "হ্যালো" এবং "ধন্যবাদ" দিয়ে, তারপর কফি অর্ডার করো, আর সেটাই শোনার আগেই গভীর দার্শনিক আলোচনা শুরু হয়ে যায়! তবে এখানে, তুমি কম্পিউটারের সাথে কথা বলছ, এবং সত্যি বলছি? তারা সবচেয়ে ধৈর্যশীল আলাপচারী – তারা কখনো তোমার ভুল বিচার করে না এবং সবসময় আবার চেষ্টা করতে উত্তেজিত থাকে! -আজ, আমরা অন্বেষণ করব অসাধারণ সরঞ্জামগুলি যা আধুনিক ওয়েব ডেভেলপমেন্টকে শুধু সম্ভব করেই না, বরং অতিবার আসক্তিকর করে তোলে। আমি কথা বলছ আজীবনের একই সম্পাদক, ব্রাউজার এবং ওয়ার্কফ্লো নিয়ে যা Netflix, Spotify এবং তোমার প্রিয় ইন্ডি অ্যাপ স্টুডিও প্রতিদিন ব্যবহার করে। আর এখানে যা তোমাকে উল্লসিত করবে: এই পেশাদার মানসম্পন্ন, শিল্প-মানের সরঞ্জামগুলোর বেশিরভাগ সম্পূর্ণ ফ্রি! +আজ আমরা এক্সপ্লোর করব অসাধারণ সরঞ্জামগুলো যা আধুনিক ওয়েব ডেভেলপমেন্টকে শুধুমাত্র সম্ভব করে না, বরং গুরুতর আসক্ত করা যায়। আমি বলতে চাই একই সম্পাদক, ব্রাউজার, এবং ওয়ার্কফ্লো যা Netflix, Spotify, এবং তোমার প্রিয় ইন্ডি অ্যাপ স্টুডিও ব্যবহার করে প্রতিদিন। আর যা তোমাকে নাচাতে বাধ্য করবে: এই অধিকাংশ পেশাদার মানের, ইন্ডাস্ট্রি-স্ট্যান্ডার্ড সরঞ্জামগুলো পুরোপুরি বিনামূল্যে! ![Intro Programming](../../../../translated_images/bn/webdev101-programming.d6e3f98e61ac4bff.webp) -> স্কেচনোট [Tomomi Imura](https://twitter.com/girlie_mac) দ্বারা +> স্কেচনোট: [Tomomi Imura](https://twitter.com/girlie_mac) ```mermaid journey @@ -17,145 +17,145 @@ journey section আবিষ্কার করুন প্রোগ্রামিং কি: 5: You প্রোগ্রামিং ভাষাসমূহ: 4: You - সরঞ্জাম পর্যালোচনা: 5: You - section অনুসন্ধান করুন - কোড সম্পাদকগণ: 4: You - ব্রাউজার এবং ডেভটুলস: 5: You + টুলস ওভারভিউ: 5: You + section অন্বেষণ করুন + কোড এডিটরস: 4: You + ব্রাউজারস ও ডেভটুলস: 5: You কমান্ড লাইন: 3: You - section অনুশীলন + section অনুশীলন করুন ভাষা গোয়েন্দা: 4: You - সরঞ্জাম অনুসন্ধান: 5: You - সম্প্রদায়ের সংযোগ: 5: You + টুল অনুসন্ধান: 5: You + কমিউনিটি সংযোগ: 5: You ``` -## চল, দেখি তুমি ইতিমধ্যেই কী জানো! +## দেখা যাক তুমি কি কি জানো! -মজা শুরু করার আগে, আমি জানতে আগ্রহী—তুমি এখনো প্রোগ্রামিং জগত সম্পর্কে কী জানো? আর শোনো, যদি তুমি এই প্রশ্নগুলো দেখে ভাবো "আমার একদমই ধারনা নেই," সেটা একদম ঠিক আছে, বরং এটা নিখুঁত! এর মানে তুমি একেবারে সঠিক জায়গায় রয়েছো। এই কুইজটাকে এক ধরণের ওয়ার্ম-আপ ভাবো – আমরা স্মৃতিশক্তির পেশী গরম করছি! +সুন্দর বিষয়গুলোতে লাফানোর আগে, আমি কৌতূহলী – তুমি প্রোগ্রামিং সম্পর্কে কি জানো? আর শোনো, যদি তুমি এই প্রশ্নগুলো দেখে ভাবো "আমার একদম কোনো ধারণা নেই," সেটা কেবল ঠিকই নয়, এটা পারফেক্ট! এর মানে তুমি একদম সঠিক স্থানে আছো। ভাবো এই কুইজটা ওয়ার্ম-আপ হিসেবে – আমরা মস্তিষ্কের পেশি গরম করছি! -[পূর্ব-পাঠের কুইজ নাও](https://ff-quizzes.netlify.app/web/) +[পাঠের আগে কুইজ নাও](https://ff-quizzes.netlify.app/web/) -## আমরা আজ যে অভিযানে যাচ্ছি +## আমরা যে অ্যাডভেঞ্চারে যাচ্ছি -ঠিক আছে, আজ আমরা যা অন্বেষণ করবো তা নিয়ে আমি সত্যিই উচ্ছ্বসিত! সত্যি বলতে, আমি তোমার মুখটা দেখতে চাই যখন এই ধারণাগুলোর কোনটা তোমার জন্য স্পষ্ট হয়ে ওঠবে। এখানে আমাদের অবিশ্বাস্য যাত্রা: +ঠিক আছে, আমি সত্যিই উত্তেজিত আজ যা আমরা অন্বেষণ করব! সত্যিই, আমি চাই দেখতে পারতাম তোমার মুখ যখন কিছু ধারণা ক্লিক করবে। আমরা যে অসাধারণ যাত্রা একসাথে করব: -- **প্রোগ্রামিং আসলে কী (এবং কেন এটা সবচেয়ে দারুণ জিনিস!)** – আমরা আবিষ্কার করবো কিভাবে কোড হল অদৃশ্য জাদু যা তোমার চারপাশের সবকিছু চালায়, সেই অ্যালার্ম থেকে যা সোমবার সকাল বুঝে নেয়ো, সেই অ্যালগরিদম পর্যন্ত যা নিখুঁতভাবে তোমার Netflix সুপারিশ করে -- **প্রোগ্রামিং ভাষাসমূহ এবং তাদের অসাধারণ বৈশিষ্ট্য** – কল্পনা করো এমন একটি পার্টিতে গিয়ে যেখানে প্রত্যেকে সম্পূর্ণ ভিন্ন অতিপ্রাকৃত ক্ষমতা এবং সমস্যা সমাধানের পন্থা নিয়ে আছে। প্রোগ্রামিং ভাষার জগৎ ঠিক এমনটাই, এবং তুমি তাদের সাথে পরিচিত হতে ভালোবাসবে! -- **মৌলিক নির্মাণ ব্লক যা ডিজিটাল জাদু ঘটায়** – এগুলোকে ভাবো একটি চূড়ান্ত স্রষ্টামূলক LEGO সেট হিসেবে। একবার কিভাবে এই টুকরোগুলো একসাথে কাজ করে বুঝলে, তুমি অফুরন্ত কিছুই তৈরি করতে পারবে তোমার কল্পনার নাম অনুসারে -- **পেশাদার সরঞ্জাম যা তোমাকে মনে করাবে তোমার কাছে যাদুর ছড়ি এসেছে** – আমি নাটকীয়তা করছি না — এই সরঞ্জামগুলো সত্যিই তোমাকে অতিপ্রাকৃত অধিকার পাওয়ার মত অনুভূতি দেবে, আর সবচেয়ে ভাল কথা? এগুলোই প্রফেশনালরা ব্যবহার করে! +- **প্রোগ্রামিং আসলে কী (এবং কেন এটি সবচেয়ে কুল ব্যাপার!)** – আমরা আবিষ্কার করব কোড কীভাবে নিঃদৃশ্য ম্যাজিক যা তোমার চারপাশের সবকিছু চালায়, সেই এলার্ম থেকে যা সোমবার সকাল বুঝে নেয়, থেকে শুরু করে Netflix এর সুপারিশ এলগরিদম পর্যন্ত +- **প্রোগ্রামিং ভাষাসমূহ এবং তাদের চমৎকার ব্যক্তিত্ব** – কল্পনা করো তুমি এমন পার্টিতে যাচ্ছ যেখানে প্রতিটি ব্যক্তির আলাদা আলাদা সুপারপাওয়ার এবং সমস্যা সমাধানের ভিন্ন পন্থা আছে। প্রোগ্রামিং ভাষার জগতটা ঠিক তেমনই, আর তুমি তাদের সাথে পরিচিত হতে ভালোবাসবে! +- **মৌলিক নির্মাণ ব্লক যা ডিজিটাল ম্যাজিক করে** – এগুলোকে ভাবো চূড়ান্ত সৃজনশীল LEGO সেট হিসেবে। তুমি যখন বুঝবে কীভাবে এই টুকরোগুলো একসাথে মেলে, তখন হঠাৎ বুঝবে তুমি তোমার কল্পনার যেকোনো কিছু তৈরি করতে পারো +- **পেশাদার সরঞ্জাম যা তোমাকে উইজার্ডের ছড়ি পেয়ে যেরকম অনুভব করাবে** – আমি নাটকীয় হচ্ছি না – এই সরঞ্জামগুলো সত্যিই তোমাকে সুপারপাওয়ার দেবে, আর সবচেয়ে ভালো অংশ? এগুলোই প্রোফেশনালরা ব্যবহার করে! -> 💡 **মর্ম কথা:** আজকে সবকিছু মুখস্থ করার চেষ্টা করো না! এখন শুধু এটা অনুভব করো যে কি সম্ভব তা নিয়ে তোমার মধ্যে আগ্রহ তৈরি হচ্ছে। বিস্তারিতগুলো স্বাভাবিকভাবেই চর্চার মাধ্যমে মজবুত হবে – এরাই তো আসল শেখার পথ! +> 💡 **টিপ:** আজ সব কিছু মুখস্থ করার চেষ্টা করো না! এখন আমি চাই তুমি সম্ভাবনার জন্য সেই আগুন অনুভব করো। বিস্তারিত স্বাভাবিকভাবেই মস্তিষ্কে জায়গা পাবে যখন আমরা একসাথে চর্চা করব – এভাবেই আসল শেখা হয়! -> তোমরা এই পাঠটি [Microsoft Learn](https://learn.microsoft.com/en-us/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon) এ নিতে পারো! +> তুমি পাঠটি [Microsoft Learn](https://learn.microsoft.com/en-us/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon) থেকেও নিতে পারো! -## তাহলে প্রোগ্রামিং আসলে *কি*? +## তো প্রোগ্রামিং *কি* আসলে? -ঠিক আছে, আসুন আমরা সেরা প্রশ্নের উত্তর দিই: প্রোগ্রামিং আসলে কী? +ঠিক আছে, এই কোটি ডলারের প্রশ্নের উত্তর দিই: প্রোগ্রামিং আসলে কি? -আমি তোমাকে এমন একটা গল্প বলব যা আমার পুরো চিন্তা বদলে দিয়েছিল। গত সপ্তাহে, আমি আমার মাকে বোঝানোর চেষ্টা করছিলাম কিভাবে আমাদের নতুন স্মার্ট টিভির রিমোট ব্যবহার করতে হয়। আমি নিজেকে বলছিলাম, "লাল বাটন চাপবে, কিন্তু বড় লাল বাটন নয়, বাম দিকের ছোট লাল বাটনে... না, তোমার অন্য বাম... ঠিক আছে, এখন দুই সেকেন্ড ধরে ধরো, এক নয়, তিন নয়..." মনে হচ্ছে পরিচিত? 😅 +আমি তোমাকে একটা গল্প বলব যা সম্পূর্ণভাবে আমার ভাবনাচিন্তা বদলে দিয়েছে। গত সপ্তাহে আমি আমার মাকে বোঝাতে চাচ্ছিলাম কিভাবে আমাদের নতুন স্মার্ট টিভির রিমোট ব্যবহার করতে হয়। আমি নিজেকে ধরলাম বলতে বলতে "লাল বোতাম চাপো, কিন্তু বড় লাল বোতামটা নয়, বামদিকের ছোট লাল বোতাম... না, তোমার অন্য বাম হাত... ঠিক আছে, এখন দুই সেকেন্ড ধরে ধরো, এক নয়, তিন নয়..." পরিচিত শোনাচ্ছে কি? 😅 -এটাই প্রোগ্রামিং! এটা একটা শিল্প যেখানে খুব বিস্তারিত, ধাপে ধাপে নির্দেশ দেওয়া হয় এমন একটি শক্তিশালী সিস্টেমকে যেটাকে সবকিছু নিখুঁতভাবে স্পেল আউট করতে হয়। তবে এখানে মাকে (যিনি জিজ্ঞাসা করতে পারেন "কোন লাল বাটন?") নয়, বরং কম্পিউটারকে বোঝানো হয় (যে ঠিক তোমার কথামতো কাজ করে, যদিও তুমি ঠিক যেমনটি বলেছিলে তা বুঝতে পারো না)। +এটাই প্রোগ্রামিং! এটা এমন বিস্তৃত, ধাপে ধাপে নির্দেশনা দেওয়ার শিল্প যা কিছু খুব শক্তিশালী কিন্তু সম্পূর্ণ নিখুঁতভাবে সবকিছু ঠিকঠাক বলতে হয়। মা কে বোঝানোর বদলে (যিনি জিজ্ঞেস করতে পারেন “কোন লাল বোতাম?!”), তুমি কম্পিউটারকে বোঝাচ্ছ যা ঠিক তোমার দেয়া কথা অনুযায়ী কাজ করে, যদিও হয়তো তুমি যা বলেছো সেটাই তুমি নেই চেয়েছিলে। -যা আমাকে প্রথম শিখার সময় বিস্মিত করেছিল তা হলো: কম্পিউটারগুলি আসলেই মূলে খুবই সরল। তারা মাত্র দুইটি জিনিস বোঝে—১ এবং ০, যা হল "হ্যাঁ" এবং "না" বা "চালু" এবং "বন্ধ"। তাই! কিন্তু এখানেই জাদু শুরু হয়—আমাদের ১ এবং ০ তে কথা বলতে হবে না আরও বুঝি না! তখনই **প্রোগ্রামিং ভাষাসমূহ** আসেন সাহায্যে। তারা যেন বিশ্বের সেরা অনুবাদক, যারা তোমার স্বাভাবিক মানব চিন্তাভাবনাকে কম্পিউটারের ভাষায় অনুবাদ করে দেয়। +আমার মন ঘোরালো যখন প্রথম শিখলাম: কম্পিউটার আসলে তাদের মূল স্তরে বেশ সহজ। তারা শুধু দুইটি জিনিস বুঝতে পারে – ১ এবং ০, যেটা মূলত "হ্যাঁ" এবং "না" বা "অন" এবং "অফ"। এটাই! কিন্তু এখানে ম্যাজিক আসে – আমাদের ১ আর ০ তে কথা বলতে হয় না বরং **প্রোগ্রামিং ভাষা** আসে সাহায্যে। তারা যেন বিশ্বের সেরা দোভাষী, যারা তোমার নিখুঁত স্বাভাবিক মানুষের চিন্তাকে কম্পিউটার ভাষায় রূপান্তর করে। -আর প্রতিদিন সকালে যখন আমি উঠি তখন যা এখনো আমাকে রোমাঞ্চিত করে: তোমার জীবনের সমস্ত ডিজিটাল কিছুই শুরু হয়েছিল ঠিক তোমার মতো কারো হাত থেকে, সম্ভবত প্যাজামায় মোড়ানো, কফির কাপ হাতে নিয়ে ল্যাপটপে কোড টাইপ করতে করতে। সেই Instagram ফিল্টার যা তোমাকে পরফেক্ট দেখায়? কেউ সেটি কোড করেছিল। প্রস্তাবনা যা তোমাকে তোমার নতুন প্রিয় গানের দিকে নিয়ে গিয়েছিল? একজন ডেভেলপার সেই অ্যালগরিদম তৈরি করেছিল। সেই অ্যাপ যা তোমাকে তোমার বন্ধুদের সাথে ডিনার বিল ভাগ করতে সাহায্য করে? হ্যাঁ, কেউ ভাবল "এটা বিরক্তিকর, আমি এটা ঠিক করতে পারি" আর তারপর করেই ফেলল! +আর যা আজ সকালেও আমাকে রোমাঞ্চিত করে: তোমার জীবনের সমস্ত ডিজিটাল শুরু হয় কারো কাছ থেকে যিনি তোমার মতো কেউ, সম্ভবত পাজামা পরে কফির কাপ হাতে ল্যাপটপে কোড লিখছিল। সেই ইনস্টাগ্রাম ফিল্টার যা তোমাকে পরিপূর্ণ দেখায়? কেউ কোড করেছে। সেই সুপারিশ যা তোমাকে তোমার নতুন প্রিয় গানটার কাছে নিয়ে গেছে? একজন ডেভেলপার সেই এলগরিদম তৈরি করেছে। এক অ্যাপ যা তোমাকে বন্ধুদের সাথে ডিনার বিল ভাগ করতে সাহায্য করে? হ্যাঁ, কেউ ভাবলো "এটা বিরক্তিকর, আমি এটা ঠিক করতে পারি" এবং তারপর... ঠিক করল! -যখন তুমি প্রোগ্রামিং শিখবে, তুমি শুধু একটি নতুন দক্ষতা অর্জন করছ না—তুমি এমন একটি অসাধারণ সমস্যার সমাধানকারী সম্প্রদায়ের অংশ হয়ে উঠছো যারা প্রতিদিন ভাবছে, "কী হয়, যদি আমি এমন কিছু তৈরি করি যা কারো দিন একটু ভালো করে তোলে?" সত্যি বলছি, এর থেকে আর কিছু দারুণ হতে পারে? +তুমি যখন প্রোগ্রামিং শিখবে, তুমি শুধু নতুন একটি দক্ষতা গ্রহণ করছ না – তুমি অসাধারণ সমস্যাসমাধানকারী সম্প্রদায়ের অংশ হচ্ছ যা প্রতিদিন ভাবছে, "কী পাওয়া যেত যদি আমি এমন কিছু বানাই যা কারো দিনটা একটু উন্নত করে?" সত্যি বলছি, এর চাইতে ভালো আর কিছু হয় না! -✅ **মজার তথ্য খোঁজা:** যখন ফাঁকা সময় পাবে, এটা অনুসন্ধান করো—বিশ্বের প্রথম কম্পিউটার প্রোগ্রামার কে ছিলেন বলে তুমি ভাবো? আমি তোমায় একটি ইঙ্গিত দেবো: হয়তো তুমি যা ভাবছো তা নাও হতে পারে! এই ব্যক্তির গল্প বেশ মজাদার এবং দেখায় প্রোগ্রামিং সবসময় ছিল সৃজনশীল সমস্যা সমাধান এবং সাধারণ ধারা থেকে বেরিয়ে চিন্তার ব্যাপার। +✅ **মজার তথ্য অনুসন্ধান:** যখন তোমার কাছে অবসর থাকবে, তখন এই প্রশ্নটা খুঁজে দেখো – বিশ্বে প্রথম কম্পিউটার প্রোগ্রামার কে ছিল? আমি একটু ইঙ্গিত দেব: সেটা হয়তো তুমি ভাবছো না! এই ব্যক্তির গল্প পুরোপুরি আকর্ষণীয় এবং দেখায় প্রোগ্রামিং সবসময় সৃজনশীল সমস্যা সমাধান এবং দৃষ্টিকোণ থেকে ভিন্ন ভাবে চিন্তা করার বিষয়। -### 🧠 **চেক-ইন সময়: কেমন লাগছে?** +### 🧠 **চেক-ইন: কেমন লাগছে?** -**একটু ভাবো:** -- "কম্পিউটারকে নির্দেশ দেওয়ার" ধারণাটা কি এখন তোমার কাছে স্পষ্ট? -- এমন কোন কাজ আছে যা তুমি প্রোগ্রামিং দিয়ে স্বয়ংক্রিয় করতে চাও? -- প্রোগ্রামিং নিয়ে এখন তোমার মাথায় কি প্রশ্ন জাগছে? +**একটু সময় নিয়ে ভাবো:** +- "কম্পিউটারকে নির্দেশ দেওয়া" ভাবনাটা কি এখন বুঝতে পারছ? +- কোন দৈনন্দিন কাজ তুমি প্রোগ্রামিং দিয়ে স্বয়ংক্রিয় করতে চাও? +- এই পুরো প্রোগ্রামিং বিষয়ে কি প্রশ্ন তোমার মাথায় ঘুরছে? -> **মনে রেখো:** কিছু ধারণা যদি এখন পরিচ্ছন্ন না মনে হয় তাতে চিন্তা করার কিছু নেই। প্রোগ্রামিং শেখা হল নতুন একটি ভাষা শেখার মতো—তোমার মস্তিষ্ককে নতুন রাস্তাগুলো তৈরি করতে সময় লাগে। তুমি অসাধারণ করছ! +> **মনে রেখো:** কিছু ধারণা এখন ধূসর মনে হলে তা স্বাভাবিক। প্রোগ্রামিং শেখা হচ্ছে নতুন ভাষা শেখার মতো – মস্তিষ্কে নতুন পথ তৈরি করতে সময় লাগে। তুমি ভালই করছ! -## প্রোগ্রামিং ভাষাসমূহ হলো বিভিন্ন ধরণের জাদুর স্বাদ +## প্রোগ্রামিং ভাষা হলো বিভিন্ন ধরনের ম্যাজিকের স্বাদ -ঠিক আছে, এটা অদ্ভুত শোনাতে পারে, কিন্তু আমার সাথে থাকো—প্রোগ্রামিং ভাষাগুলো অনেকটা বিভিন্ন ধরনের সঙ্গীতের মতো। ভাবো: তোমার কাছে আছে জাজ, যা মসৃণ ও ইমপ্রোভাইজেশনভিত্তিক, রক যা শক্তিশালী ও সরল, ক্লাসিক্যাল যা উজ্জ্বল ও গঠিত এবং হিপ-হপ যা সৃজনশীল ও প্রকাশ্য। প্রতিটি ধারার নিজস্ব ভেজ, পরিপাটি ফ্যানের সম্প্রদায় এবং প্রতিটি আলাদা মেজাজ ও উপলক্ষে যথার্থ। +ঠিক আছে, এটা অদ্ভুত শোনাতে পারে, কিন্তু মনোযোগ দাও – প্রোগ্রামিং ভাষাগুলো হয়তো বিভিন্ন ধরনের সঙ্গীতের মত। ভাবো: তোমার কাছে জাজ আছে, যা মসৃণ এবং প্রাঞ্জল, রক যা শক্তিশালী এবং সরল, ক্লাসিক্যাল যা মার্জিত এবং কাঠামোগত, আর হিপ-হপ যা সৃজনশীল এবং প্রকাশমূলক। প্রতিটি শৈলীর নিজস্ব আবহ, তার নিজস্ব স্বপ্নিল ভক্ত সম্প্রদায়, এবং প্রতিটির জন্য সঠিক সময় ও মনোভাব আলাদা। -প্রোগ্রামিং ভাষাসমূহ একই রকম কাজ করে! তুমি এমন এক ভাষা ব্যবহার করবে না যা খেলাধূলার একটি মোবাইল গেম বানাতে যা বিশাল পরিমাণ জলবায়ু তথ্য বিশ্লেষণ করার জন্য দরকার, যেমন তুমি যোগ ক্লাসে ডেথ মেটাল প্লে করবে না (ঠিক আছে, বেশিরভাগ যোগ ক্লাসে না! 😄)। +প্রোগ্রামিং ভাষাগুলোও একদম এমনই কাজ করে! তুমি একই ভাষা ব্যবহার করবে না মজাদার একটি মোবাইল গেম বানানোর জন্য যেটা বিশাল পরিমাণ জলবায়ু ডেটা বিশ্লেষণ করার জন্য ব্যবহার করো, যেমন তুমি কোনো যোগ ক্লাসে ডেথ মেটাল বাজাবে না (তবে বেশিরভাগ যোগ ক্লাসে! 😄)। -কিন্তু যা আমাকে প্রতি বার মুগ্ধ করে ভাবলে: এই ভাষাগুলো হল একদম সবচেয়ে ধৈর্যশীল, মেধাবী দোভাষী তোমার পাশে বসে আছে। তুমি তোমার ভাবনা এমনভাবে প্রকাশ করতে পারো যা তোমার মানব মস্তিষ্কের জন্য স্বাভাবিক, আর তারা সমস্ত জটিল কাজ করে ১ ও ০ তে অনুবাদ করার যা কম্পিউটার বুঝে। এটা এমন একটি বন্ধুর মত, যিনি "মানব সৃজনশীলতা" এবং "কম্পিউটার যুক্তি" উভয় ভাষাতেই নিখুঁত পারদর্শী—তারা কখনো ক্লান্ত হয় না, কখনো কফি বিরতি দরকার হয় না, এবং তোমার একই প্রশ্ন বারবার করার জন্য কখনো বিচার করে না! +কিন্তু যা আমাকে প্রতিবার অবাক করে দেয় তা হলো: এই ভাষাগুলো হলো পৃথিবীর সবচেয়ে ধৈর্যশীল, প্রতিভাবান দোভাষী যিনি ঠিক তোমার পাশেই বসে আছেন। তুমি তোমার ভাবনাগুলো এমনভাবে প্রকাশ করতে পারো যা তোমার মানুষের মস্তিষ্কের জন্য স্বাভাবিক, আর তারা সেই ভাবনাগুলো ১ এবং ০ তে অনুবাদ করে যা কম্পিউটার বুঝে। এটা যেন একজন বন্ধু যার দুটো ভাষাতেই পারদর্শী – "মানব সৃজনশীলতা" এবং "কম্পিউটার লজিক" – এবং সে কখনো ক্লান্ত হয় না, কখনো কফির বিরতি নিতে চায় না, আর যেই প্রশ্ন দ্বিতীয়বার করো তাকে রাগ করে না! ### জনপ্রিয় প্রোগ্রামিং ভাষা এবং তাদের ব্যবহার ```mermaid mindmap - root((Programming Languages)) - Web Development + root((প্রোগ্রামিং ভাষাসমূহ)) + ওয়েব ডেভেলপমেন্ট JavaScript - Frontend Magic [ফ্রন্টএন্ড জাদু] - Interactive Websites [ইন্টারেক্টিভ ওয়েবসাইটস] + ফ্রন্টএন্ড ম্যাজিক + ইন্টারেক্টিভ ওয়েবসাইট TypeScript - JavaScript + Types [জাভাস্ক্রিপ্ট + টাইপস] - Enterprise Apps [এন্টারপ্রাইজ অ্যাপস] - Data & AI + JavaScript + টাইপস + এন্টারপ্রাইজ অ্যাপস + ডেটা ও এআই Python - Data Science [ডেটা সায়েন্স] - Machine Learning [মেশিন লার্নিং] - Automation [স্বয়ংক্রিয়করণ] + ডেটা সায়েন্স + মেশিন লার্নিং + অটোমেশন R - Statistics [পরিসংখ্যান] - Research [গবেষণা] - Mobile Apps + পরিসংখ্যান + গবেষণা + মোবাইল অ্যাপস Java - Android [অ্যান্ড্রয়েড] - Enterprise [এন্টারপ্রাইজ] + অ্যান্ড্রয়েড + এন্টারপ্রাইজ Swift iOS - Apple Ecosystem [অ্যাপল ইকোসিস্টেম] + অ্যাপল ইকোসিস্টেম Kotlin - Modern Android [আধুনিক অ্যান্ড্রয়েড] - Cross-platform [ক্রস-প্ল্যাটফর্ম] - Systems & Performance + আধুনিক অ্যান্ড্রয়েড + ক্রস-প্ল্যাটফর্ম + সিস্টেম ও পারফরম্যান্স C++ - Games [গেমস] - Performance Critical [পারফরম্যান্স ক্রিটিক্যাল] + গেমস + পারফরম্যান্স ক্রিটিক্যাল Rust - Memory Safety [মেমরি সেফটি] - System Programming [সিস্টেম প্রোগ্রামিং] + মেমরি সেফটি + সিস্টেম প্রোগ্রামিং Go - Cloud Services [ক্লাউড সার্ভিসেস] - Scalable Backend [স্কেলেবল ব্যাকএন্ড] + ক্লাউড সার্ভিসেস + স্কেলএবল ব্যাকএন্ড ``` -| ভাষা | সেরা ব্যবহার | কেন জনপ্রিয় | +| ভাষা | সেরার জন্য | কেন জনপ্রিয় | |----------|----------|------------------| -| **JavaScript** | ওয়েব ডেভেলপমেন্ট, ব্যবহারকারী ইন্টারফেস | ব্রাউজারে চলে এবং ইন্টারঅ্যাকটিভ ওয়েবসাইট চালায় | -| **Python** | ডেটা সায়েন্স, অটোমেশন, এআই | পড়তে ও শেখতে সহজ, শক্তিশালী লাইব্রেরি | -| **Java** | এন্টারপ্রাইজ অ্যাপ্লিকেশন, অ্যান্ড্রয়েড অ্যাপ | প্ল্যাটফর্ম-স্বাধীন, বড় সিস্টেমের জন্য মজবুত | +| **JavaScript** | ওয়েব ডেভেলপমেন্ট, ব্যবহারকারীর ইন্টারফেস | ব্রাউজারে চলে এবং ইন্টারেক্টিভ ওয়েবসাইট চালায় | +| **Python** | ডেটা সায়েন্স, অটোমেশন, AI | পড়া ও শেখা সহজ, শক্তিশালী লাইব্রেরি রয়েছে | +| **Java** | এন্টারপ্রাইজ অ্যাপ্লিকেশন, অ্যান্ড্রয়েড অ্যাপ | প্ল্যাটফর্ম-স্বাধীন, বড় সিস্টেমের জন্য মজবুত | | **C#** | উইন্ডোজ অ্যাপ্লিকেশন, গেম ডেভেলপমেন্ট | শক্তিশালী মাইক্রোসফট ইকোসিস্টেম সমর্থন | -| **Go** | ক্লাউড সার্ভিস, ব্যাক-এন্ড সিস্টেম | দ্রুত, সহজ, আধুনিক কম্পিউটিংয়ের জন্য ডিজাইন করা | +| **Go** | ক্লাউড সার্ভিস, ব্যাকএন্ড সিস্টেম | দ্রুত, সরল, আধুনিক কম্পিউটিংয়ের জন্য ডিজাইন করা | ### উচ্চ-স্তরের বনাম নিম্ন-স্তরের ভাষা -ঠিক আছে, এটা আসলেই এমন একটি ধারণা যা আমার মস্তিষ্ক ভেঙে দিয়েছিল যখন আমি প্রথম শিখছিলাম, তাই আমি সেই রূপকটি শেয়ার করব যা আমাকে শেষ পর্যন্ত বুঝতে সাহায্য করেছিল—আশা করি এটা তোমার জন্যও সাহায্য করবে! +ঠিক আছে, সত্যি বলতে শুরুতে এই ধারণাই আমার মাথা ঘুরিয়ে দিয়েছিল, তাই আমি এমন একটি উপমা শেয়ার করতে যাচ্ছি যা অবশেষে আমাকে বুঝিয়েছে – আশা করি তোমাকেও সাহায্য করবে! -ধরো তুমি এমন একটি দেশে যাচ্ছো যেখানে তুমি ভাষা বলতে পারো না, আর অবিলম্বে তোমার কাছে সবচেয়ে কাছের বাথরুম খুঁজে বের করতে হবে (আমরা সবাই সেখানে গিয়েছি, তাই না? 😅): +ভাবো তুমি এমন দেশে গেছ যেখানকার ভাষা তুমি বলতে পারো না, আর খুব জরুরি ভাবে কাছে বাথরুম খুঁজে বের করতে হবে (আমরা সবাই এমন পরিস্থিতিতে পড়েছি, তাই না? 😅): -- **নিম্ন-স্তরের প্রোগ্রামিং** এমন যেন তুমি স্থানীয় উপভাষাটি এতটাই ভালো শিখেছ যে তুমি সেই বুড়ি ঠাকুরমা সঙ্গে ফল বিক্রেতার সাথে বহু স্থানীয় রেফারেন্স, স্থানীয় ভাষা ও অভ্যন্তরীণ রসিকতা ব্যবহার করে আড্ডা মারতে পারো যা শুধু স্থানীয় মানুষই বুঝতে পারে। খুবই প্রভাবশালী ও কার্যকর... যদি তুমি সত্যিই সাবলীল হও! কিন্তু যখন তুমি শুধু বাথরুম খুঁজছ তখন সেটা বেশ জটিল। +- **নিম্ন-স্তরের প্রোগ্ৰামিং** হলো স্থানীয় উপভাষা এতটাই ভালো শেখা যাতে তুমি সেবাজার Fruit বিক্রেতা দাদী’কে স্থানীয় সাংস্কৃতিক রেফারেন্স, উপভাষা এবং ভিতরের রসিকতা দিয়ে বঝাতে পারো। সুপার ইম্প্রেসিভ এবং খুব দক্ষ... যদি তুমি দেওয়ানি হয়ে গেছ! কিন্তু যখন শুধু বাথরুম খুঁজছ, তখন সেটা বেশি চাপের। -- **উচ্চ-স্তরের প্রোগ্রামিং** হল সেই অসাধারন স্থানীয় বন্ধু যিনি তোমাকে বুঝে; তুমি সহজ ইংরেজিতে বলতে পারো "আমার বাথরুম খুঁজতে হবে," আর তারা সমস্ত সাংস্কৃতিক অনুবাদ করে এমন একটি পথ নির্দেশনা দেয় যা তোমার অজানা মস্তিষ্কেও একদম পরিষ্কার হয়। +- **উচ্চ-স্তরের প্রোগ্ৰামিং** হলো সেই অসাধারণ স্থানীয় বন্ধুর মত যিনি তোমাকে বুঝে বুঝে। তুমি সহজ ইংরেজিতে বলতে পারো "আমাকে বাথরুম খুঁজে পেতে হবে," এবং সে সমস্ত সাংস্কৃতিক অনুবাদ করে তোমাকে খুব সহজ ভাবে ঠিকঠাক নির্দেশনা দেয় যা তোমার বিদেশী মাথায় সহজবোধ্য। -প্রোগ্রামিংয়ের ভাষায়: -- **নিম্ন-স্তরের ভাষা** (যেমন এসেম্বলি বা সি) তোমাকে কম্পিউটারের আসল হার্ডওয়ারের সঙ্গে খুব বিস্তারিত কথোপকথন করতে দেয়, কিন্তু তোমাকে মেশিনের মত চিন্তা করতে হবে, যা বলতে গেলে একটি বড় মানসিক পরিবর্তন! -- **উচ্চ-স্তরের ভাষা** (যেমন JavaScript, Python, অথবা C#) তোমাকে মানবের মত চিন্তা করতে দেয় এবং তারা পেছনে সব মেশিন-ভাষার কাজ করে দেয়। সাথে সাথে, এগুলোর এমন অসাধারণ মৈত্রীপূর্ণ সম্প্রদায় আছে যেটা তোমাকে মনে করিয়ে দেয় তারা যখন নতুন ছিল তখন তারা কেমন ছিল এবং তারা তোমাকে সাহায্য করতে চায়! +প্রোগ্রামিংয়ের ভাষায়: +- **নিম্ন-স্তরের ভাষা** (যেমন Assembly বা C) তোমাকে কম্পিউটারের হার্ডওয়্যারের সাথে গভীরতায় কথা বলার সুযোগ দেয়, কিন্তু তোমাকে মেশিনের মত ভাবতে হয়, যা আদতে... হ্যাঁ, এটা প্রচন্ড মানসিক পরিবর্তন! +- **উচ্চ-স্তরের ভাষা** (যেমন JavaScript, Python, বা C#) তোমায় মানুষের মত ভাবতে দেয় যখন তারা পিছনে মেশিনভাষা সব কাজ পরিচালনা করে। আর তাদের কমিউনিটিগুলো অসাধারণ বন্ধুবৎসল যারা বুঝে নতুনদের কেমন লাগে এবং সত্যিই সাহায্য করতে চায়! -তুমি ভাবছ কোথা থেকে শুরু করো? 😉 উচ্চ-স্তরের ভাষাগুলো হলো এমন প্রশিক্ষণ চাকা যা তুমি কখনই খুলে ফেলতে চাও না কারণ তারা পুরো অভিজ্ঞতাটাকে আরো উপভোগ্য করে তোলে! +দেখো আমি কোনগুলো দিয়ে শুরু করার পরামর্শ দেব? 😉 উচ্চ-স্তরের ভাষাগুলো হলো সেই প্রশিক্ষণ চাকা যা তুমি কখনো খুলতে চাও না কারণ তারা পুরো অভিজ্ঞতাটাই অনেক বেশি সুখকর করে তোলে! ```mermaid flowchart TB - A["👤 মানব চিন্তা:
'আমি ফিবোনাচ্চি সংখ্যা গণনা করতে চাই'"] --> B{ভাষার স্তর নির্বাচন করুন} + A["👤 মানব চিন্তা:
'আমি ফিবোনাচ্চি সংখ্যা হিসাব করতে চাই'"] --> B{ভাষার স্তর নির্বাচন করুন} - B -->|উচ্চ-স্তর| C["🌟 জাভাস্ক্রিপ্ট/পাইথন
সহজে পড়া এবং লেখা যায়"] - B -->|নীচু-স্তর| D["⚙️ অ্যাসেমবলি/সি
ডিরেক্ট হার্ডওয়্যার নিয়ন্ত্রণ"] + B -->|উচ্চ-স্তর| C["🌟 জাভাস্ক্রিপ্ট/পাইথন
সহজে পড়া ও লেখা যায়"] + B -->|নিম্ন-স্তর| D["⚙️ অ্যাসম্বলি/সি
সরাসরি হার্ডওয়্যার নিয়ন্ত্রণ"] C --> E["📝 লিখুন: fibonacci(10)"] D --> F["📝 লিখুন: mov r0,#00
sub r0,r0,#01"] - E --> G["🤖 কম্পিউটার বোঝা:
অনুবাদক জটিলতা সামলায়"] + E --> G["🤖 কম্পিউটারের বোঝাপড়া:
বর্ণনাকারী জটিলতা সামলে নেয়"] F --> G G --> H["💻 একই ফলাফল:
0, 1, 1, 2, 3, 5, 8, 13..."] @@ -164,13 +164,13 @@ flowchart TB style D fill:#fff3e0 style H fill:#e8f5e8 ``` -### কেন উচ্চ-স্তরের ভাষাগুলো এত বন্ধুতা পূর্ণ, আমি দেখাবো +### দেখাই কেন উচ্চ-স্তরের ভাষাগুলো অনেক বেশি বন্ধুত্বপূর্ণ -ঠিক আছে, আমি তোমাকে কিছু দেখাতে যাচ্ছি যা দেখায় কেন আমি উচ্চ-স্তরের ভাষাগুলো ভালোবাসি, কিন্তু আগে—তুমি আমাকে একটা প্রতিশ্রুতি দাও। প্রথম কোড উদাহরণ দেখলে ভয় পেও না! এটা যথাযথরূপে একটু জটিল দেখাতে হবে। এজন্যই আমি এটা ধরিয়ে দিতে চাচ্ছি! +ঠিক আছে, আমি তোমাকে এমন একটি উদাহরণ দেখাতে যাচ্ছি যা আমার কেন উচ্চ-স্তরের ভাষাকে ভালোবাসি তা কেমন তা বুঝিয়ে দেয়, তবে আগে – একটাই অনুরোধ আছে। প্রথম কোডটা দেখলে ভয় পাওনা! এটা ভয়ঙ্কর দেখানো হয়েছে, ঠিক তেমনই হওয়া উচিত! -আমরা একই কাজ দুইটি সম্পূর্ণ ভিন্ন স্টাইলেই করব। দুইটাই ফিবোনাচ্চি সিকোয়েন্স তৈরি করবে – এটি একটি সুন্দর গণিত প্যাটার্ন যেখানে প্রতিটি সংখ্যা তার আগের দুটির যোগফল: ০, ১, ১, ২, ৩, ৫, ৮, ১৩... (মজার কথা: তুমি এই প্যাটার্ন প্রকৃতিতে সর্বত্র পাবে—সূর্যমুখীর বীজের সর্পিল, পাইনকন নিদর্শন, এমনকি গ্যালাক্সির গঠনেও!) +আমরা একই কাজ দুই ভিন্ন ধাঁচে দেখব। দুটোর কাজ হলো যে নাম দেওয়া হয় ফিবোনাচ্চি সিকোয়েন্স তৈরি করা – এটা এক অসাধারণ গণিতীয় প্যাটার্ন যেখানে প্রতিটি সংখ্যা আগের দুইটির যোগফল: 0, 1, 1, 2, 3, 5, 8, 13... (মজা করে বলছি, এই প্যাটার্ন তুমি প্রকৃতিতে সর্বত্র পাবে – সূর্যমুখী বীজের সপিরাল, পাইনকন প্যাটার্ন, এমনকি গ্যালাক্সি গঠনেও!) -দেখতে প্রস্তুত? চলো যাই! +দেখতে তৈরি? চল শুরু করি! **উচ্চ-স্তরের ভাষা (JavaScript) – মানুষের জন্য সহজ:** @@ -183,29 +183,29 @@ let next = 1; console.log('Fibonacci sequence:'); ``` -**এই কোডটি যা করে তা হলো:** -- **একটি ধ্রুবক ঘোষণা** করে আমাদের কত সংখ্যক ফিবোনাচ্চি সংখ্যা দরকার তা নির্ধারণ করে -- **দুটি ভেরিয়েবল শুরু** করে যা সিকোয়েন্সের বর্তমান ও পরবর্তী সংখ্যা ট্র্যাক করে -- **শুরুতে মান সেট** করে (০ ও ১) যেগুলো ফিবোনাচ্চি প্যাটার্ন সংজ্ঞায়িত করে -- **একটি শিরোনাম বার্তা প্রদর্শিত করে** আমাদের আউটপুটের পরিচয় হিসাবে +**এই কোডটি যা করে:** +- **ঘোষণা** একটি ধ্রুবক মান যেখানে কতগুলো ফিবোনাচ্চি সংখ্যা তৈরি করতে হবে নির্ধারণ করে +- **শুরু** দুইটি ভেরিয়েবল যেগুলো সিকোয়েন্সের বর্তমান এবং পরবর্তী সংখ্যার ট্র্যাক রাখে +- **সেটআপ** শুরু মানগুলো (0 এবং 1) যেগুলো ফিবোনাচ্চি প্যাটার্ন নির্ধারণ করে +- **দেখানো** একটি হেডার মেসেজ আউটপুট সম্পর্কিত ```javascript -// ধাপ ২: একটি লুপ দিয়ে সিকোয়েন্স তৈরি করুন +// ধাপ ২: একটি লুপ দিয়ে ক্রম তৈরি করুন for (let i = 0; i < fibonacciCount; i++) { console.log(`Position ${i + 1}: ${current}`); - // সিকোয়েন্সে পরবর্তী সংখ্যা গণনা করুন + // ক্রমের পরবর্তী সংখ্যা গণনা করুন const sum = current + next; current = next; next = sum; } ``` -**দেখো এখানে কী হচ্ছে:** -- **`for` লুপের মাধ্যমে** সিকোয়েন্সের প্রতিটি অবস্থানে ঘুরে -- **প্রতিটি সংখ্যা তার অবস্থানসহ** টেমপ্লেট লিটারাল ফর্ম্যাটিং দিয়ে দেখায় -- **পরবর্তী ফিবোনাচ্চি সংখ্যা হিসেব করে** বর্তমান ও পরবর্তী মান যোগ করে -- **আমাদের ট্র্যাকিং ভেরিয়েবল আপডেট করে** পরবর্তী ধাপে যাওয়ার জন্য +**এখানে যা ঘটছে ব্রেকডাউন:** +- **লুপ** প্রতিটি অবস্থানে `for` লুপ ব্যবহার করে +- **প্রদর্শন** প্রতিটি সংখ্যা এবং তার অবস্থান টেমপ্লেট লিটারাল ফরম্যাটে +- **হিসাব** পরবর্তী ফিবোনাচ্চি সংখ্যা যোগ করে যা বর্তমান এবং পরবর্তী মান গুলো নিয়ে তৈরি হয় +- **আপডেট** আমাদের ট্র্যাকিং ভেরিয়েবলগুলো পরবর্তী ধাপে নিয়ে যেতে ```javascript // ধাপ ৩: আধুনিক কার্যকরী পদ্ধতি @@ -225,12 +225,12 @@ console.log(fibSequence); ``` **উপরের কোডে আমরা:** -- **মডার্ন অ্যারো ফাংশন সিনট্যাক্স দিয়ে** একটি পুনঃব্যবহারযোগ্য ফাংশন তৈরি করেছি -- **একটি অ্যারে তৈরি করেছি** পুরো সিকোয়েন্স সংরক্ষণ করার জন্য, একে একে প্রদর্শনের পরিবর্তে -- **অ্যারে ইনডেক্স ব্যবহার করেছি** প্রতিটি নতুন সংখ্যা পূর্বের মান থেকে হিসাব করার জন্য -- **সম্পূর্ণ সিকোয়েন্স রিটার্ন করেছি** যাতে প্রোগ্রামের অন্যান্য অংশেও ব্যবহারযোগ্য হয় +- **তৈরি করেছি** একটি পুনঃব্যবহারযোগ্য ফাংশন আধুনিক অ্যারো ফাংশন সিনট্যাক্স ব্যবহার করে +- **নির্মাণ করেছি** একটি অ্যারে সম্পূর্ণ সিকোয়েন্সের জন্য যা একযোগে দেখানোর থেকে ভালো +- **ব্যবহার করেছি** অ্যারে ইনডেক্সিং প্রতিটি নতুন সংখ্যা আগের মান থেকে হিসাব করার জন্য +- **রিটার্ন করেছি** সম্পূর্ণ সিকোয়েন্স প্রোগ্রামের অন্য অংশে ব্যবহার করার জন্য -**নিম্ন-স্তরের ভাষা (ARM Assembly) – কম্পিউটারের জন্য বন্ধুত্বপূর্ণ:** +**নিম্ন-স্তরের ভাষা (ARM Assembly) – কম্পিউটারের জন্য উপযোগী:** ```assembly area ascen,code,readonly @@ -257,60 +257,60 @@ back add r0,r1 end ``` -দেখবে কিভাবে JavaScript সংস্করণটি ইংরেজি নির্দেশনার মতো পড়ে, যখন Assembly সংস্করণটি রহস্যময় কমান্ড ব্যবহার করে সরাসরি কম্পিউটারের প্রসেসর নিয়ন্ত্রণ করে। দুটোই একই কাজ সম্পন্ন করে, কিন্তু উচ্চ-স্তরের ভাষাটি মানুষের জন্য অনেক সহজ বোঝা, লেখা এবং রক্ষণাবেক্ষণের। +দ্রষ্টব্য: JavaScript সংস্করণ প্রায় ইংরেজি নির্দেশনার মতো পড়ে, যেখানে Assembly সংস্করণ রহস্যময় কমান্ড ব্যবহার করে যা সরাসরি কম্পিউটারের প্রসেসর নিয়ন্ত্রণ করে। উভয়ই এক্কেবারে একই কাজ করে কিন্তু উচ্চ-স্তরের ভাষা মানুষের জন্য বোঝা, লেখা ও রক্ষণাবেক্ষণে অনেক সহজ। -**মুখ্য পার্থক্য যা তুমি লক্ষ্য করবে:** -- **পঠনযোগ্যতা**: JavaScript বর্ণনামূলক নাম যেমন `fibonacciCount` ব্যবহার করে, যেখানে Assembly রহস্যময় লেবেল যেমন `r0`, `r1` ব্যবহার করে -- **মন্তব্য**: উচ্চ-স্তরের ভাষাগুলো ব্যাখ্যামূলক মন্তব্যকে উৎসাহিত করে যা কোডকে স্ব-মূল্যায়নযোগ্য করে তোলে -- **গঠন**: JavaScript এর যৌক্তিক প্রবাহ মানুষের সমস্যাগুলো ধাপে ধাপে চিন্তার সাথে মিলে যায় -- **রক্ষণাবেক্ষণ**: বিভিন্ন চাহিদার জন্য JavaScript সংস্করণ আপডেট করা সরল এবং স্পষ্ট +**মূল পার্থক্য যা দেখতে পাবে:** +- **পঠনযোগ্যতা**: জাভাস্ক্রিপ্ট ব্যবহার করে বর্ণনামূলক নাম যেমন `fibonacciCount`, যেখানে অ্যাসেম্বলি ব্যবহার করে রহস্যময় লেবেল যেমন `r0`, `r1` +- **টীকা**: উচ্চ স্তরের ভাষাগুলো ব্যাখ্যামূলক টীকা উৎসাহিত করে যা কোডকে স্বয়ংদস্তাবেজী করে তোলে +- **গঠন**: জাভাস্ক্রিপ্টের যৌক্তিক প্রবাহ মানুষের মত ধাপে ধাপে সমস্যার চিন্তা করার সঙ্গে মেলে +- **রক্ষণাবেক্ষণ**: ভিন্ন চাহিদার জন্য জাভাস্ক্রিপ্ট সংস্করণ আপডেট করা সহজ এবং পরিষ্কার -✅ **ফিবনাচ্চি ধারাবাহিক সম্পর্কে**: এই অত্যন্ত মনোরম সংখ্যার প্যাটার্ন (যেখানে প্রতিটি সংখ্যা তার পূর্বের দুই সংখ্যার যোগফল: 0, 1, 1, 2, 3, 5, 8...) প্রকৃতিতে *সর্বত্রই* দেখা যায়! আপনি এটি সূর্যমুখী ফুলের স্পাইরাল, পাইনকোনের প্যাটার্ন, নটিলাস শেল কিভাবে বাঁক নেয় এবং এমনকি গাছের শাখাগুলোর বৃদ্ধিতেও খুঁজে পাবেন। এটি অত্যন্ত বিস্ময়কর কিভাবে গণিত এবং কোড আমাদের প্রাকৃতিক সুন্দরতা তৈরি করতে ব্যবহৃত প্যাটার্নগুলো বোঝাতে এবং পুনরায় তৈরি করতে সহায়তা করে! +✅ **ফিবোনাকি সিকোয়েন্স সম্পর্কে**: এই একেবারে চমৎকার সংখ্যার ধারা (যেখানে প্রতিটি সংখ্যা তার আগের দুইটির যোগফল: ০, ১, ১, ২, ৩, ৫, ৮…) প্রকৃতিতে প্রকৃতপক্ষে *সবখানে* দেখা যায়! আপনি এটি দেখতে পাবেন সূর্যমুখী ফুলের সাপের মতো স্পাইরাল, পাইনকোন প্যাটার্ন, নটিলাস শেলের বক্ররেখায়, এমনকি গাছের ডালের বৃদ্ধিতেও। গণিত এবং কোড কতদূর আমাদের সাহায্য করতে পারে প্রকৃতির সৌন্দর্য তৈরিতে ব্যবহৃত প্যাটার্নগুলো বুঝতে এবং পুনর্নির্মাণ করতে — এটা সত্যিই চিন্তাশীল! -## যেসব মৌলিক উপাদান ম্যাজিক তৈরি করে +## যেসব ভিত্তি গঠন করে জাদু ঘটে -ঠিক আছে, এখন যেহেতু আপনি প্রোগ্রামিং ভাষাগুলো কর্মরত অবস্থায় দেখেছেন, চলুন সেই মৌলিক উপাদানগুলো ভাঙা যাক যা লিখিত প্রতিটি প্রোগ্রামের ভিত্তি তৈরি করে। এগুলোকে ভাবুন আপনার প্রিয় রেসিপির অপরিহার্য উপাদান হিসেবে – একবার আপনি প্রতিটির কাজ বুঝে গেলে, আপনি প্রায় যেকোনো ভাষায় কোড পড়তে এবং লিখতে সক্ষম হবেন! +ঠিক আছে, এখন আপনি প্রোগ্রামিং ভাষাগুলো কাজ করে দেখতে পেয়েছেন, চলুন প্রতিটি প্রোগ্রামের মূল উপাদানগুলো বিশ্লেষণ করি। এগুলোকে ভাবুন আপনার প্রিয় রেসিপির অপরিহার্য উপাদান হিসেবে – একবার আপনি বুঝে গেলে প্রতিটি উপাদান কী করে, আপনি প্রায় যেকোনো ভাষায় কোড পড়তে এবং লিখতে পারবেন! -এটি প্রোগ্রামিং ব্যাকরণ শিখার মতো। স্কুলে আপনি যখন noun, verb এবং বাক্য গঠনের নিয়ম শিখেছিলেন মনে আছে? প্রোগ্রামিং এরও নিজের ব্যাকরণ আছে, এবং সত্যি বলতে তা ইংরেজি ব্যাকরণ থেকে অনেক বেশি যৌক্তিক এবং সহিষ্ণু! 😄 +এটি প্রোগ্রামিংয়ের ব্যাকরণ শিখনের মতো কিছুটা। মনে আছে স্কুলে যখন আপনি নাম, ক্রিয়া, এবং বাক্য গঠনের নিয়ম শিখেছিলেন? প্রোগ্রামিংয়ের নিজস্ব ব্যাকরণ আছে এবং সৎভাবে বলতে কী, এটা ইংরেজি ব্যাকরণের তুলনায় অনেক বেশি যৌক্তিক এবং দয়ালু! 😄 -### বাক্য: ধাপে ধাপে নির্দেশনা +### বিবৃতি: ধাপে ধাপে নির্দেশনা -আসুন শুরু করি **বাক্য** দিয়ে – এগুলো হলো আপনার কম্পিউটারের সাথে কথোপকথনের একক বাক্য। প্রতিটি বাক্য কম্পিউটারকে একটি নির্দিষ্ট কাজ করতে বলে, ঠিক যেমন দিকনির্দেশ দেয়া: "এখানে বামদিকে ঘুরুন," "লাল আলোয় থেমে যান," "ওখানে গাড়ি দাঁড় করান।" +চলুন শুরু করি **বিবৃতি** দিয়ে – এগুলো আপনার কম্পিউটারের সাথে কথোপকথনের পৃথক বাক্যের মতো। প্রতিটি বিবৃতি কম্পিউটারকে একটি নির্দিষ্ট কাজ করতে বলে, যেন নির্দেশনা দেয়: "এখানে বামদিকে ঘুরো", "লাল বর্ণের আলোতে থামো", "এই স্পটে পার্ক করো।" -বাক্যগুলো সাধারণত পড়তে কতটা সহজ তা আমি খুবই পছন্দ করি। দেখে নিন: +বিবৃতিগুলো কতটা পড়তে সুবিধাজনক সে ব্যাপারে আমি খুব পছন্দ করি। এটা দেখুন: ```javascript -// মৌলিক বিবৃতি যা একক ক্রিয়া সম্পাদন করে +// মৌলিক বিবৃতিগুলো যা একক ক্রিয়া সম্পাদন করে const userName = "Alex"; console.log("Hello, world!"); const sum = 5 + 3; ``` -**এই কোডটি যা করে:** -- একটি ধ্রুবক ভেরিয়েবল ঘোষণা করে যা ব্যবহারকারীর নাম সংরক্ষণ করে -- কনসোলে স্বাগতম বার্তা প্রদর্শন করে -- একটি গাণিতিক অপারেশনের ফলাফল গণনা করে সংরক্ষণ করে +**এই কোড কী করে:** +- একটি ধ্রুবক ভেরিয়েবল ঘোষণা করে একজন ব্যবহারকারীর নাম সংরক্ষণ করতে +- কনসোলে একটি শুভেচ্ছা বার্তা প্রদর্শন করে +- একটি গাণিতিক ক্রিয়ার ফলাফল হিসাব করে সংরক্ষণ করে ```javascript -// যে বিবৃতিগুলি ওয়েব পৃষ্ঠাগুলির সাথে যোগাযোগ করে +// এমন বিবৃতিগুলি যা ওয়েব পৃষ্ঠাগুলির সাথে যোগাযোগ করে document.title = "My Awesome Website"; document.body.style.backgroundColor = "lightblue"; ``` -**ধাপে ধাপে, যা হচ্ছে:** -- ব্রাউজার ট্যাবে প্রদর্শিত ওয়েবপেজের শিরোনাম পরিবর্তন করে -- পুরো পৃষ্ঠা বডির ব্যাকগ্রাউন্ড রঙ পরিবর্তন করে +**ধাপে ধাপে যা ঘটছে:** +- ব্রাউজারের ট্যাবের শিরোনাম পরিবর্তন করে +- পুরো পৃষ্ঠার পটভূমির রঙ পরিবর্তন করে -### ভেরিয়েবল: আপনার প্রোগ্রামের মেমোরি সিস্টেম +### ভেরিয়েবল: আপনার প্রোগ্রামের স্মৃতি ব্যবস্থা -ঠিক আছে, **ভেরিয়েবল** সত্যি বলতে আমার সবচেয়ে প্রিয় ধারণাগুলোর একটি কারণ এগুলো প্রতিদিন আপনি যা ব্যবহার করেন তার মতোই! +ঠিক আছে, **ভেরিয়েবল** আসলে আমার সবচেয়ে প্রিয় ধারণাগুলোর একটি কারণ এগুলো প্রতিদিন আপনি যেগুলো ব্যবহার করেন তার মতোই! -আপনার ফোনের কন্টাক্ট তালিকা ভাবুন একটু। আপনি প্রত্যেকের ফোন নম্বর মুখস্থ করেন না – পরিবর্তে “মা,” “সেরা বন্ধু,” অথবা “পিজ্জা ডেলিভারি যা রাত ২টা পর্যন্ত” সংরক্ষণ করেন এবং আপনার ফোন সত্যিকার নম্বরগুলো মনে রাখে। ভেরিয়েবলগুলো একই রকম! এগুলো লেবেলযুক্ত পাত্রের মতো যেখানে আপনার প্রোগ্রাম তথ্য সংরক্ষণ করে এবং পরে বোঝান যায় এমন নাম ব্যবহার করে ফেরত আনে। +আপনার ফোনের কন্টাক্ট লিস্টের কথা ভাবুন এক মুহূর্ত। আপনি সবার ফোন নম্বর মুখস্থ করেন না – পরিবর্তে, আপনি "মা", "সেরা বন্ধু", অথবা "রাত ২টা পর্যন্ত পিজ্জা ডেলিভারির দোকান" সংরক্ষণ করেন এবং আপনার ফোন ওই সংখ্যাগুলো মনে রাখে। ভেরিয়েবলগুলোও ঠিক একই কাজ করে! এগুলো লেবেলযুক্ত ধারক যেখানে আপনার প্রোগ্রাম তথ্য সংরক্ষণ করতে পারে এবং পরে একটি বোধ্য নাম দিয়ে তা পুনরুদ্ধার করতে পারে। -একটি অসাধারণ জিনিস হলো: আপনার প্রোগ্রাম চলাকালীন ভেরিয়েবল পরিবর্তিত হতে পারে (এজন্যে নামটা “variable” – দেখুন কী সুন্দর)। যেমন আপনি পিজ্জা ডেলিভারি লিস্ট আপডেট করতে পারেন যখন আরও ভাল কিছু খুঁজে পান, ভেরিয়েবলগুলোও প্রোগ্রাম শিখতে থাকলে বা পরিস্থিতি পরিবর্তিত হলে আপডেট হতে পারে! +এখানে সবচেয়ে চমৎকার বিষয় হলো: ভেরিয়েবলগুলি আপনার প্রোগ্রামের চলাকালীন পরিবর্তন হতে পারে (তাই নামটা "ভেরিয়েবল" – দেখতে পাচ্ছেন?). যেমন আপনি যদি আরও ভাল কোনো পিজ্জার দোকান আবিষ্কার করেন আপনি সেই কন্টাক্টটা আপডেট করবেন, ঠিক তেমনই প্রোগ্রাম নতুন তথ্য শিখলেই বা পরিস্থিতি বদলালেই ভেরিয়েবল আপডেট করা যায়! -চলুন দেখাই কিভাবে এটা সুন্দর ও সহজ: +আমি দেখাই এটা কতটা সুন্দর এবং সোজা হতে পারে: ```javascript // ধাপ ১: মৌলিক ভেরিয়েবল তৈরি করা @@ -320,14 +320,14 @@ let temperature = 75; let isRaining = false; ``` -**এই ধারণাগুলো বোঝা:** -- ধ্রুবক মান `const` এ সংরক্ষণ করুন (যেমন সাইটের নাম) -- এমন মানের জন্য `let` ব্যবহার করুন যা প্রোগ্রামের মধ্যে পরিবর্তিত হতে পারে -- বিভিন্ন ডাটা টাইপ বরাদ্দ করুন: স্ট্রিং (টেক্সট), সংখ্যা, বুলিয়ান (সত্য/মিথ্যা) -- বর্ণনামূলক নাম দিন যা প্রতিটি ভেরিয়েবলের বিষয় বুঝায় +**এই ধারণাগুলো বোঝার জন্য:** +- অপরিবর্তনীয় মান `const` ভেরিয়েবল এ সংরক্ষণ করা (যেমন সাইটের নাম) +- `let` ব্যবহার করা এমন মানের জন্য যা পুরো প্রোগ্রামে পরিবর্তন হতে পারে +- বিভিন্ন ডেটা টাইপ নির্ধারণ করা: স্ট্রিং (পাঠ্য), সংখ্যা, এবং বুলিয়ান (সত্য/মিথ্যা) +- বর্ণনামূলক নাম নির্বাচন করা যা বোঝায় প্রতিটি ভেরিয়েবল কী ধারণ করে ```javascript -// ধাপ ২: সংশ্লিষ্ট ডেটা গ্রুপ করার জন্য অবজেক্ট নিয়ে কাজ করা +// পদক্ষেপ ২: সম্পর্কিত ডেটা গুচ্ছিত করার জন্য অবজেক্টের সাথে কাজ করা const weatherData = { location: "San Francisco", humidity: 65, @@ -335,50 +335,50 @@ const weatherData = { }; ``` -**উপরের কোডে আমরা:** -- সম্পর্কিত আবহাওয়ার তথ্য একত্রিত করতে একটি অবজেক্ট তৈরি করেছি -- একাধিক তথ্য একটি ভেরিয়েবল নামের অধীনে সংগঠিত করেছি -- প্রতিটি তথ্য স্পষ্ট করার জন্য কী-ভ্যালু জোড়া ব্যবহার করেছি +**উপরের উদাহরণে আমরা:** +- সম্পর্কিত আবহাওয়ার তথ্য একটি অবজেক্টে সংযুক্ত করেছি +- একাধিক তথ্য একই ভেরিয়েবল নামের নিচে সাজিয়েছি +- কী-ভ্যালু জোড়া ব্যবহার করে প্রতিটি তথ্য স্পষ্টভাবে লেবেল করেছি ```javascript -// ধাপ ৩: পরিবর্তনশীল ব্যবহার এবং আপডেট করা +// ধাপ ৩: চলকগুলি ব্যবহার এবং আপডেট করা console.log(`${siteName}: Today is ${currentWeather} and ${temperature}°F`); console.log(`Wind speed: ${weatherData.windSpeed} mph`); -// পরিবর্তনশীল পরিবর্তনশীল আপডেট করা +// পরিবর্তনযোগ্য চলকগুলি আপডেট করা currentWeather = "cloudy"; temperature = 68; ``` -**প্রত্যেক অংশ বোঝা যাক:** -- `${}` সিনট্যাক্স ব্যবহার করে টেমপ্লেট লিটারাল দিয়ে তথ্য প্রদর্শন -- অবজেক্টের প্রপার্টি ডট নোটেশন (`weatherData.windSpeed`) দিয়ে অ্যাক্সেস করা -- `let` দিয়ে ঘোষিত ভেরিয়েবলগুলো আপডেট করা যাতে পরিবর্তনশীল অবস্থা প্রতিফলিত হয় -- অর্থবহ বার্তা তৈরির জন্য একাধিক ভেরিয়েবল একত্রিত করা +**প্রত্যেক অংশ বুঝি:** +- `${}` সিনট্যাক্স দিয়ে টেমপ্লেট লিটারেল ব্যবহার করে তথ্য প্রদর্শন করা +- ডট নোটেশন (`weatherData.windSpeed`) দিয়ে অবজেক্টের প্রপার্টিতে অ্যাক্সেস করা +- `let` দিয়ে ঘোষিত ভেরিয়েবলগুলো আপডেট করে পরিবর্তনশীল পরিস্থিতি প্রতিফলিত করা +- অর্থবহ বার্তা তৈরিতে একাধিক ভেরিয়েবল মিলিয়ে ব্যবহার করা ```javascript -// ধাপ ৪: পরিষ্কার কোডের জন্য আধুনিক ডেসট্রাকচারিং +// ধাপ ৪: পরিষ্কার কোডের জন্য আধুনিক ডেস্ট্রাকচারিং const { location, humidity } = weatherData; console.log(`${location} humidity: ${humidity}%`); ``` **আপনাকে যা জানতে হবে:** -- ডেসট্রাকচারিং অ্যাসাইনমেন্ট ব্যবহার করে অবজেক্ট থেকে নির্দিষ্ট প্রপার্টি বের করা -- অবজেক্ট কী এর সাথে একই নামের নতুন ভেরিয়েবল তৈরি করা -- ডট নোটেশন বারবার ব্যবহার থেকে কোড সরল করা +- অবজেক্ট থেকে নির্দিষ্ট প্রপার্টি নিষ্কাশন করতে ডেস্ট্রাকচারিং অ্যাসাইনমেন্ট ব্যবহার করা +- একই নামে নতুন ভেরিয়েবল তৈরি করা যা অবজেক্টের কী-এর সমান +- বারংবার ডট নোটেশন ব্যবহার এড়িয়ে কোডটি সহজ করা -### কন্ট্রোল ফ্লো: আপনার প্রোগ্রামকে চিন্তা শেখানো +### নিয়ন্ত্রণ প্রবাহ: আপনার প্রোগ্রামকে চিন্তা শেখানো -ঠিক আছে, এটা সেই জায়গা যেখানে প্রোগ্রামিং সত্যিই অবিশ্বাস্য হয়ে ওঠে! **কন্ট্রোল ফ্লো** হলো আপনার প্রোগ্রামকে বুদ্ধিমত্তার সাথে সিদ্ধান্ত নিতে শেখানো, ঠিক যেমন আপনি প্রতিদিন বিনা চিন্তায় করেন। +ঠিক আছে, এখানে প্রোগ্রামিং একদম অবিশ্বাস্য হয়ে ওঠে! **নিয়ন্ত্রণ প্রবাহ** আসলে আপনার প্রোগ্রামকে বুদ্ধিদীপ্ত সিদ্ধান্ত নিতে শেখানো, ঠিক যেমন আপনি প্রতিদিন করেন অবচেতনভাবেই। -ভাবুন: আজ সকালে হয়তো আপনি এমন কিছু করেন “যদি বৃষ্টি হয়, আমি ছাতা নেব। যদি ঠান্ডা হয়, জ্যাকেট পড়ব। দেরি হলে নাস্তা বাদ দিয়ে পথে কফি নেব।” আপনার মস্তিষ্ক স্বাভাবিকভাবেই এই if-then লজিক দশোবার অনুসরণ করে প্রতিদিন! +কল্পনা করুন: আজ সকালেই আপনি হয়তো এমন কিছু করেছেন "যদি বৃষ্টি হয়, তবে ছাতা নিয়ে যাব। যদি ঠাণ্ডা হয়, তাহলে জ্যাকেট পরব। যদি দেরি হয়, তবে ব্রেকফাস্ট বাদ দিয়ে রাস্তার পাশে কফি নেব।" আপনার মস্তিষ্ক স্বাভাবিকভাবেই এই if-then লজিকটি দিনে কয়েকবার অনুসরণ করে! -এটাই প্রোগ্রামগুলোকে বুদ্ধিমান এবং জীবন্ত করে তোলে, শুধু একটি একঘেয়েমি স্ক্রিপ্ট অনুসরণ করার বদলে। তারা একটি পরিস্থিতি দেখতে পারে, মূল্যায়ন করতে পারে এবং যথোপযুক্ত প্রতিক্রিয়া দিতে পারে। এটা আপনার প্রোগ্রামকে এমন মস্তিষ্ক দেওয়ার মত যা মানিয়ে নিতে এবং সিদ্ধান্ত নিতে পারে! +এটাই প্রোগ্রামগুলোকে বুদ্ধিমান এবং জীবন্ত বোধ করায়, শুধু একঘেয়েমি এবং পূর্বানুমেয় স্ক্রিপ্ট অনুসরণ করে না। তারা বাস্তব পরিস্থিতি দেখতে পারে, মূল্যায়ন করতে পারে কী ঘটছে, এবং যথাযথ প্রতিক্রিয়া জানাতে পারে। এটি আপনার প্রোগ্রামকে এমন একটি মস্তিষ্ক দেয় যা অভিযোজন করতে এবং সিদ্ধান্ত নিতে পারে! -দেখতে চান এটা কতটা সুন্দর কাজ করে? দেখুন: +দেখতে চান এটা কত সুন্দর কাজ করে? আমি দেখাই: ```javascript -// ধাপ ১: মৌলিক শর্তাধীন লজিক +// ধাপ ১: মৌলিক শর্তসাপেক্ষ যুক্তি const userAge = 17; if (userAge >= 18) { @@ -389,14 +389,14 @@ if (userAge >= 18) { } ``` -**এই কোড যা করে:** -- ব্যবহারকারীর বয়স ভোটাধিকারের যোগ্যতা মেযা করে -- শর্ত অনুসারে বিভিন্ন কোড ব্লক চালায় -- যদি ১৮ এর নিচে হয় ভোটাধিকারের যোগ্য হওয়ার অবশিষ্ট সময় হিসাব করে দেখায় -- প্রতিটি পরিস্থিতির জন্য নির্দিষ্ট, সহায়ক ফিডব্যাক দেয় +**এই কোড কী করে:** +- ব্যবহারকারীর বয়স ভোটদানের যোগ্যতার জন্য পরীক্ষা করে +- শর্তের ফলাফলের উপর ভিত্তি করে ভিন্ন কোড ব্লক কার্যকর করে +- ১৮ এর নিচে থাকলে ভোটারের যোগ্য হওয়ার সময় কতদূর, তা হিসাব ও প্রদর্শন করে +- প্রতিটি পরিস্থিতির জন্য নির্দিষ্ট এবং সহায়ক প্রতিক্রিয়া প্রদান করে ```javascript -// ধাপ ২: লজিক্যাল অপারেটর সহ একাধিক শর্ত্‌গুলি +// ধাপ ২: যৌক্তিক অপারেটরস সহ একাধিক শর্ত const userAge = 17; const hasPermission = true; @@ -409,22 +409,22 @@ if (userAge >= 18 && hasPermission) { } ``` -**এখানে যা ঘটছে:** -- `&&` (এবং) অপারেটর ব্যবহার করে একাধিক শর্ত যুক্ত করা -- একাধিক পরিস্থিতির জন্য `else if` ব্যবহার করে শর্তের সজ্জা তৈরি করা -- সর্বশেষে `else` ব্যবহার করে সব সম্ভাব্য ক্ষেত্র পরিচালনা করা -- প্রতিটি ভিন্ন পরিস্থিতির জন্য স্পষ্ট এবং কার্যকর ফিডব্যাক প্রদান করা +**এখানে যা ঘটে তার বিশ্লেষণ:** +- `&&` (এবং) অপারেটর দিয়ে একাধিক শর্ত মিলিয়ে ব্যবহার করা +- একাধিক পরিস্থিতির জন্য `else if` এর মাধ্যমে শর্তের হায়ারার্কি তৈরি করা +- সব সম্ভব পরিস্থিতি শেষ পর্যন্ত `else` বিবৃতিতে হ্যান্ডেল করা +- প্রতিটি আলাদা পরিস্থিতির জন্য পরিষ্কার এবং প্রক্রিয়াযোগ্য প্রতিক্রিয়া প্রদান করা ```javascript -// ধাপ ৩: টার্নারি অপারেটর দিয়ে সংক্ষিপ্ত শর্তীয় বিবৃতি +// ধাপ ৩: টার্নারি অপারেটরসহ সংক্ষিপ্ত শর্তীয় বিবৃতি const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet"; console.log(`Status: ${votingStatus}`); ``` -**মনে রাখার জন্য:** -- সহজ দুই-অপশন শর্তের জন্য টার্নারি অপারেটর (`? :`) ব্যবহার করুন -- প্রথমে শর্ত লিখুন, তারপর `?`, তারপর সত্য ফলাফল, তারপর `:`, তারপর মিথ্যা ফলাফল -- যখন শর্ত অনুসারে মান বরাদ্দ করতে হয় এই প্যাটার্ন ব্যবহার করুন +**আপনাকে যা মনে রাখা দরকার:** +- সহজ দুই-চয়ন শর্তের জন্য টার্নারি অপারেটর (`? :`) ব্যবহার করা +- প্রথমে শর্ত লিখুন, তারপর `?`, সত্য ফলাফল, তারপর `:`, মিথ্যা ফলাফল লিখুন +- এই প্যাটার্ন প্রয়োগ করুন যখন শর্তের ভিত্তিতে মান বরাদ্দ করতে হয় ```javascript // ধাপ ৪: একাধিক নির্দিষ্ট ক্ষেত্রে পরিচালনা করা @@ -447,56 +447,56 @@ switch (dayOfWeek) { } ``` -**এই কোড যা করে:** -- ভেরিয়েবল মান একাধিক নির্দিষ্ট কেসের সাথে মেলে কিনা পরীক্ষা করে -- সমমনোনীত কেসগুলো একত্রিত করে (সাপ্তাহিক দিনের জন্য এবং উইকএন্ডের জন্য) -- মিলে গেলে উপযুক্ত কোড ব্লক চালায় -- অপ্রত্যাশিত মানের জন্য একটি `default` কেস অন্তর্ভুক্ত করে -- পরবর্তী কেসে যাওয়া আটকাতে `break` স্টেটমেন্ট ব্যবহার করে +**এই কোড নিম্নলিখিত accomplish করে:** +- ভেরিয়েবল মান একাধিক নির্দিষ্ট কেসের বিরুদ্ধে মিলিয়ে দেখে +- মিলসংক্রান্ত কেসগুলো (সপ্তাহের দিন বনাম ছুটির দিন) একত্রিত করে +- মিল পাওয়া গেলে যথাযথ কোড ব্লক কার্যকর করে +- অপ্রত্যাশিত মানের জন্য `default` কেস অন্তর্ভুক্ত করে +- পরবর্তী কেসে যাওয়া বন্ধ করতে `break` স্টেটমেন্ট ব্যবহার করে -> 💡 **বাস্তব জীবনের উপমা**: কন্ট্রোল ফ্লোকে ভাবুন সবচেয়ে ধৈর্যশীল GPS এর দিকনির্দেশনার মতো। এটি বলতে পারে “যদি মেইন স্ট্রিটে ট্রাফিক থাকে, তাহলে হাইওয়ে নাও। যদি হাইওয়ে নির্মাণে বন্ধ থাকে, তাহলে দৃশ্যমান রুট নাও।” প্রোগ্রামগুলো এই একই ধরণের শর্তাদি লজিক ব্যবহার করে বুদ্ধিমত্তার সাথে বিভিন্ন পরিস্থিতিতে সাড়া দেয় এবং সবসময় ব্যবহারকারীদের জন্য সেরা অভিজ্ঞতা দেয়। +> 💡 **বাস্তব জীবনের তুলনা**: নিয়ন্ত্রণ প্রবাহ ভাবুন এমন এক ধৈর্যশীল GPS-এর মতো যা আপনার পথে পথনির্দেশ দেয়। বলতে পারে "যদি মেইন স্ট্রিটে ট্রাফিক থাকে, তবে হাইওয়ে নাও। যদি হাইওয়ে নির্মাণ বাধাগ্রস্ত করে, তবে দৃশ্যমান পথ নাও।" প্রোগ্রামগুলো এক রকমের শর্তাধীন লজিক ব্যবহার করে বুদ্ধিমানভাবে ভিন্ন পরিস্থিতিতে সাড়া দেয় এবং ব্যবহারকারীদের সর্বোত্তম অভিজ্ঞতা প্রদান করে। -### 🎯 **ধারণা যাচাই: মৌলিক উপাদান দক্ষতা** +### 🎯 **ধারণা যাচাই: ভিত্তি দক্ষতা** -**চলুন দেখি আপনি মৌলিক বিষয়গুলো কতটা বুঝতে পেরেছেন:** -- আপনি কি নিজের ভাষায় ভেরিয়েবল এবং বাক্যের পার্থক্য ব্যাখ্যা করতে পারেন? -- একটি বাস্তব জীবনের উদাহরণ ভাবুন যেখানে if-then সিদ্ধান্ত ব্যবহার করবেন (যেমন আমাদের ভোটাধিকারের উদাহরণ) -- প্রোগ্রামিং যুক্তির কোন একটি বিষয় যা আপনাকে অবাক করেছে? +**চলুন দেখি আপনি মৌলিক বিষয়গুলো কতটা বুঝেছেন:** +- আপনার ভাষায় ভেরিয়েবল এবং বিবৃতির মধ্যে পার্থক্য বর্ণনা করতে পারেন? +- বাস্তব জীবনের এমন একটি পরিস্থিতি ভাবুন যেখানে if-then সিদ্ধান্ত ব্যবহার করবেন (যেমন ভোটদানের উদাহরণ) +- প্রোগ্রামিং লজিকের কোনটি আপনাকে সবচেয়ে বিস্মিত করেছে? -**দ্রুত আত্মবিশ্বাস বৃদ্ধিকারক:** +**দ্রুত আত্মবিশ্বাস বাড়ানোর জন্য:** ```mermaid flowchart LR - A["📝 বিবৃতি
(নির্দেশনা)"] --> B["📦 ভেরিয়েবলস
(সংগ্রহস্থল)"] --> C["🔀 নিয়ন্ত্রণ প্রবাহ
(সিদ্ধান্ত)"] --> D["🎉 কার্যকর প্রোগ্রাম!"] + A["📝 বিবৃতিসমূহ
(নির্দেশাবলী)"] --> B["📦 ভেরিয়েবলসমূহ
(সংগ্রহস্থল)"] --> C["🔀 নিয়ন্ত্রণ প্রবাহ
(সিদ্ধান্তসমূহ)"] --> D["🎉 কাজ করা প্রোগ্রাম!"] style A fill:#ffeb3b style B fill:#4caf50 style C fill:#2196f3 style D fill:#ff4081 ``` -✅ **পরবর্তী পর্যায়ে যা আসছে**: আমরা এই ধারণাগুলো আরও গভীরভাবে অন্বেষণ করে প্রচুর মজা করব! এখনই শুধু এই উত্তেজনা অনুভব করুন আপনার সামনে থাকা অসাধারণ সম্ভাবনাগুলোর জন্য। নির্দিষ্ট দক্ষতা ও কৌশলগুলো আমাদের একসাথে অনুশীলনে স্বাভাবিকভাবেই বসবে – আমি গ্যারান্টি দিচ্ছি এটি আপনি যেকোনো বিষয়ের তুলনায় অনেক বেশি মজার হবে! +✅ **পরবর্তী যে বিষয় আসছে:** আমরা এগুলো আরও গভীরে ডুব দেব এই অসাধারণ যাত্রায়! এখন শুধু পুরো দুনিয়ার অসাধারণ সম্ভাবনার প্রতি উৎসাহ অনুভব করুন। বিশেষ দক্ষতা এবং কৌশল স্বাভাবিকভাবেই আয়ত্ত হবে আমাদের একসঙ্গে অনুশীলন করার মাধ্যমে – আমি প্রতিশ্রুতি দিচ্ছি এটা আপনার প্রত্যাশার চেয়ে অনেক বেশি মজার হবে! -## বাণিজ্যের সরঞ্জাম +## যন্ত্রপাতি -ঠিক আছে, এটিই এমন একটা জায়গা যেখানে আমি এত উত্তেজিত হই যে নিজেকে ধরে রাখতে পারি না! 🚀 আমরা সেই অবিশ্বাস্য সরঞ্জামগুলো নিয়ে কথা বলব যা আপনাকে ডিজিটাল মহাকাশযানের চাবি হাতে পেয়েছেন এমন অনুভূতি দেবে। +ঠিক আছে, এখানে আমি এত উত্তেজিত হই যে নিজেকে সামলাতে পারি না! 🚀 আমরা এখন কথা বলব সেই অবিশ্বাস্য যন্ত্রপাতিগুলো সম্পর্কে যা আপনাকে ডিজিটাল স্পেসশিপের চাবি হাতে পেয়ে গিয়েছেন এমন অনুভূতি দিবে। -আপনি জানেন কিভাবে একজন শেফের সেই নিখুঁত ভারসাম্যপূর্ণ ছুরি থাকে যা তাদের হাতের বিস্তার মনে হয়? অথবা একজন সঙ্গীতশিল্পীর সেই গিটার যা স্পর্শ করলেই গান গায়? ঠিক তেমনই, ডেভেলপারদেরও এমন ম্যাজিক্যাল সরঞ্জাম আছে, এবং এখানে এমন কিছু আছে যা আপনার বুদ্ধি ধামাকা করে দেবে – অধিকাংশই সম্পূর্ণ ফ্রি! +আপনি জানেন কিভাবে একজন শেফের কাছে রয়েছে নিখুঁত ভারসাম্যপূর্ণ ছুরি যা হাতের অংশের মতো লাগে? অথবা কিভাবে একজন সঙ্গীতশিল্পীর কাছে একটা গিটার থাকে যা স্পর্শ করলেই গান শুরু করে? ঠিক তেমনই, ডেভেলপারদের রয়েছে এই যাদুকরি যন্ত্রপাতির নিজেদের সংস্করণ, আর এখানে যা আপনাকে চমকে দেবে – এদের অধিকাংশ সম্পূর্ণ ফ্রি! -আমি আসলে চেয়ারে লাফাচ্ছি এইগুলো আপনার সাথে ভাগ করে নিতে because এর ফলে সফটওয়্যার তৈরি করার পদ্ধতি সম্পূর্ণ পরিপুর্ণ পরিবর্তিত হয়েছে। আমরা কথা বলছি AI চালিত কোডিং সহকারী নিয়ে, যারা আপনার কোড লেখায় সাহায্য করে (আমি চুটিয়ে বলছি না!), ক্লাউড এনভায়রনমেন্টের যেখানে আপনি Wi-Fi সহ যেকোনো জায়গা থেকে পুরো অ্যাপ্লিকেশন তৈরি করতে পারেন, এবং এমন ডিবাগিং সরঞ্জাম যা আপনার প্রোগ্রামের জন্য X-ray দৃষ্টি দেয়। +আমি আসলে চেয়েও উদ্দীপিত যখন ভাবি এগুলো আপনার সাথে শেয়ার করার কথা কারণ এগুলো পুরোপুরি সফটওয়্যার নির্মাণের ধরনই বদলে দিয়েছে। আমরা কথা বলছি AI-চালিত কোডিং সহায়ক যারা আপনার কোড লিখতেও সাহায্য করবে (আমি মজা করছি না!), ক্লাউড পরিবেশ যেখানে আপনি যেকোনো জায়গা থেকে Wi-Fi দিয়ে পুরো অ্যাপ্লিকেশন তৈরি করতে পারবেন, এবং এমন ডিবাগিং টুলস যেগুলো এত উন্নত যে আপনার প্রোগ্রামের জন্য এক্স-রে ভিশনের মত! -এবং এখানে এমন একটি অংশ আছে যা এখনও আমাকে কেঁপে দেয়: এগুলো "শিখনার্থীদের সরঞ্জাম" নয় যা আপনি তাড়াতাড়ি বড় হয়ে ফেলবেন না। এগুলোই একই পেশাদার মানের সরঞ্জাম যা গুগল, নেটফ্লিক্স এবং আপনার প্রিয় ইন্ডি অ্যাপ স্টুডিওর ডেভেলপাররা এ মুহূর্তে ব্যবহার করছে। এগুলো ব্যবহার করে আপনি নিজেকে একজন পেশাদারই মনে করবেন! +এখানে যা এখনও আমাকে শিহরিত করে: এগুলো "নতুনদের টুল" নয় যা আপনি দ্রুত ছেড়ে দিবেন না। এগুলোই গুগল, নেটফ্লিক্স, এবং আপনার প্রিয় ইন্ডি অ্যাপ স্টুডিওর প্রোফেশনাল-গ্রেড টুলস, যা এই মুহূর্তেই ব্যবহার করা হচ্ছে। আপনি এগুলো ব্যবহার করে নিজেকে একদম প্রো মনে করবেন! ```mermaid graph TD - A["💡 আপনার ধারণা"] --> B["⌨️ কোড সম্পাদক
(VS কোড)"] + A["💡 আপনার ধারণা"] --> B["⌨️ কোড এডিটর
(VS Code)"] B --> C["🌐 ব্রাউজার ডেভটুলস
(পরীক্ষা ও ডিবাগিং)"] - C --> D["⚡ কমান্ড লাইন
(স্বয়ংক্রিয়করণ ও সরঞ্জাম)"] - D --> E["📚 ডকুমেন্টেশন
(শিখন ও রেফারেন্স)"] - E --> F["🚀 দুর্দান্ত ওয়েব অ্যাপ!"] + C --> D["⚡ কমান্ড লাইন
(স্বয়ংক্রিয়করণ ও টুলস)"] + D --> E["📚 ডকুমেন্টেশন
(শেখা ও রেফারেন্স)"] + E --> F["🚀 চমৎকার ওয়েব অ্যাপ!"] - B -.-> G["🤖 এআই সহকারী
(GitHub Copilot)"] - C -.-> H["📱 ডিভাইস পরীক্ষা
(রেসপনসিভ ডিজাইন)"] + B -.-> G["🤖 AI সহকারী
(GitHub Copilot)"] + C -.-> H["📱 ডিভাইস পরীক্ষণ
(রেস্পন্সিভ ডিজাইন)"] D -.-> I["📦 প্যাকেজ ম্যানেজারস
(npm, yarn)"] - E -.-> J["👥 কমিউনিটি
(Stack Overflow)"] + E -.-> J["👥 কমিউনিটি
(স্ট্যাক ওভারফ্লো)"] style A fill:#fff59d style F fill:#c8e6c9 @@ -505,108 +505,108 @@ graph TD style I fill:#ffccbc style J fill:#e8eaf6 ``` -### কোড এডিটর এবং IDE: আপনার নতুন ডিজিটাল সর্বশেষ সঙ্গী +### কোড এডিটর এবং IDE: আপনার নতুন ডিজিটাল সেরা বন্ধু -আসুন কথা বলি কোড এডিটর নিয়ে – এগুলো শীঘ্রই আপনার প্রিয় স্থান হয়ে উঠবে! এগুলো এমন একটি ব্যক্তিগত কোডিং আশ্রম, যেখানে আপনি আপনার অধিকাংশ সময় কাটিয়ে ডিজিটাল সৃজনশীলতা গড়ে তুলবেন এবং নিখুঁত করবেন। +চলুন কথা বলি কোড এডিটর নিয়ে – এগুলো আস্তে আস্তে আপনার নতুন প্রিয় স্থান হয়ে উঠবে! ভাবুন এগুলো আপনার ব্যক্তিগত কোডিং আশ্রয়স্থল যেখানে আপনি আপনার ডিজিটাল সৃষ্টিকে সবচেয়ে বেশি সময় তৈরি এবং পরিপূর্ণ করবেন। -কিন্তু আধুনিক এডিটরগুলোর ব্যাপারে যা জাদুকরী তা হলো: এরা শুধু ফ্যান্সি টেক্সট এডিটর নয়। এরা অধিকন্তু সবচেয়ে মেধাবী, সহায়ক কোডিং মেন্টর যারা ২৪/৭ আপনার পাশে বসে থাকে। তারা টাইপ করার আগেই ভুল ধরিয়ে দেয়, উন্নতির পরামর্শ দেয় যা আপনাকে জিনিয়াস করে তোলে, কোডের প্রতিটি অংশের কাজ বুঝতে সাহায্য করে, এবং অনেকে এমনকি আপনি যা টাইপ করতে যাচ্ছেন সেটা পূর্বাভাস দিয়ে শেষ করার প্রস্তাব দেয়! +কিন্তু আধুনিক এডিটরগুলোর সবচেয়ে জাদুকরী বিষয় হলো: তারা শুধুমাত্র ফ্যান্সি টেক্সট এডিটর নয়। তারা এমন এক অসাধারণ, সহায়ক কোডিং মেন্টর আপনার পাশে ২৪/৭ বসে থাকে। তারা আপনার টাইপো ধরবে আগেই যখন আপনি নিজেও লক্ষ্য করবেন না, উন্নতির পরামর্শ দিবে যেগুলো আপনাকে জ্ঞানী দেখাবে, প্রতিটি কোডের অংশ কী করে সেটা বোঝাতে সাহায্য করবে, এবং এমনকি কিছু এডিটর অনুমান করতে পারে আপনি কী টাইপ করতে যাচ্ছেন এবং আপনার চিন্তাগুলো সম্পন্ন করার প্রস্তাব করবে! -আমি মনে করি যখন প্রথমবার অটো-কাম্পলিশন আবিষ্কার করেছিলাম – সত্যিই মনে হচ্ছিল আমি ভবিষ্যতে বসবাস করছি। আপনি কিছু টাইপ শুরু করলে, আপনার এডিটর বলে, "এই, আপনি কি এই ফাংশনের কথা ভাবছিলেন যেটা ঠিক আপনার দরকার অনুযায়ী কাজ করে?" এটা ঠিক যেন আপনার কোডিং বন্ধু একজন মাইন্ড রিডার! +আমি যখন প্রথম অটো-কমপ্লিশন জানলাম তখন আমি সত্যিই মনে করেছিলাম আমি ভবিষ্যতে বাস করছি। আপনি কিছু টাইপ করা শুরু করলে, আপনার এডিটর বলে, "হে, আপনি কি সেই ফাংশনের কথা ভাবছিলেন যা ঠিক আপনার দরকারি কাজ করে?" এটা মনে হয় আপনার একটি মাইন্ড রিডার বন্ধু আছে কোডিং করার জন্য! -**এই এডিটরগুলো কেন এত অসাধারণ?** +**কেন এই এডিটরগুলো এত আশ্চর্যজনক?** -আধুনিক কোড এডিটর অনেক ফিচারের বিস্ময়কর সংগ্রহ অফার করে যা আপনার উৎপাদনশীলতা বাড়ায়: +আধুনিক কোড এডিটর একদম চমৎকার বৈশিষ্ট্যের সমাহার অফার করে যা আপনার উত্পাদনশীলতা বাড়ায়: -| ফিচার | যা করে | সাহায্যের কারণ | -|---------|--------------|--------------| -| **সিনট্যাক্স হাইলাইটিং** | আপনার কোডের বিভিন্ন অংশ রঙিন করে | কোড পড়া সহজ করে এবং ভুল ধরতে সাহায্য করে | -| **অটো-কাম্পলিশন** | টাইপ করার সময় কোড প্রস্তাব করে | কোডিং দ্রুত হয় এবং টাইপিং ভুল কমে যায় | -| **ডিবাগিং টুলস** | ভুল খুঁজে বের করা এবং ঠিক করতে সাহায্য করে | সমস্যা সমাধানে ঘন্টা বাঁচায় | -| **এক্সটেনশনস** | বিশেষায়িত ফিচার যুক্ত করে | আপনার এডিটরকে যেকোনো প্রযুক্তির জন্য কাস্টমাইজ করে | -| **AI সহকারী** | কোড এবং ব্যাখ্যা প্রস্তাব করে | শেখা এবং উৎপাদনশীলতা দ্রুততর করে | +| বৈশিষ্ট্য | এটি কী করে | কেন এটি সাহায্য করে | +|---------|--------------|--------------| +| **সিনট্যাক্স হাইলাইটিং** | আপনার কোডের বিভিন্ন অংশকে রঙ দেয় | কোড পড়তে সহজ করে এবং ভুল দ্রুত খুঁজে পেতে সাহায্য করে | +| **অটো-কমপ্লিশন** | টাইপ করার সময় কোড প্রস্তাব করে | কোডিং দ্রুততর করে এবং টাইপোগ্রাফিক ভুল কমায় | +| **ডিবাগিং টুল** | ভুল খুঁজে বের করে ঠিক করতে সাহায্য করে | সমস্যা সমাধানে অনেক সময় বাঁচায় | +| **এক্সটেনশন** | বিশেষায়িত বৈশিষ্ট্য যোগ করে | যেকোনো প্রযুক্তির জন্য এডিটর কাস্টমাইজ করা যায় | +| **AI সহকারী** | কোড এবং ব্যাখ্যা প্রস্তাব করে | শেখার গতি এবং উত্পাদনশীলতা বাড়ায় | -> 🎥 **ভিডিও রিসোর্স**: এই সরঞ্জামগুলো কর্মরত দেখতে চান? দেখুন এই [Tools of the Trade ভিডিও](https://youtube.com/watch?v=69WJeXGBdxg) ব্যাপক পর্যালোচনার জন্য। +> 🎥 **ভিডিও রিসোর্স**: এই টুলগুলো প্রবাহে দেখতে চান? এই [Tools of the Trade video](https://youtube.com/watch?v=69WJeXGBdxg) দেখুন বিস্তারিত ওভারভিউর জন্য। -#### ওয়েব ডেভেলপমেন্টের জন্য সুপারিশকৃত এডিটর +#### ওয়েব ডেভেলপমেন্টের জন্য প্রস্তাবিত এডিটর **[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (ফ্রি) - ওয়েব ডেভেলপারদের মধ্যে সবচেয়ে জনপ্রিয় - চমৎকার এক্সটেনশন ইকোসিস্টেম -- বিল্ট-ইন টার্মিনাল এবং Git ইন্টিগ্রেশন -- **অত্যাবশ্যক এক্সটেনশনস**: - - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - AI চালিত কোড প্রস্তাব +- বিল্ট-ইন টার্মিনাল এবং গিট ইন্টিগ্রেশন +- **অত্যাবশ্যক এক্সটেনশন**: + - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - AI-চালিত কোড প্রস্তাবনা - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - রিয়েল-টাইম সহযোগিতা - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - স্বয়ংক্রিয় কোড ফরম্যাটিং - - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - আপনার কোডে টাইপো ধরার জন্য + - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - কোডে টাইপো ধরার জন্য -**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (পেইড, ছাত্রদের জন্য ফ্রি) -- উন্নত ডিবাগিং এবং টেস্টিং টুলস -- বুদ্ধিমান কোড সম্পূরক -- বিল্ট-ইন সংস্করণ নিয়ন্ত্রণ +**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (পেইড, শিক্ষার্থীদের জন্য ফ্রি) +- উন্নত ডিবাগিং এবং টেস্টিং টুল +- বুদ্ধিমান কোড কমপ্লিশন +- বিল্ট-ইন ভার্সন কন্ট্রোল **ক্লাউড-ভিত্তিক IDEs** (বিভিন্ন মূল্য) -- [GitHub Codespaces](https://github.com/features/codespaces) - আপনার ব্রাউজারে পূর্ণ VS Code -- [Replit](https://replit.com/) - শেখা এবং কোড শেয়ার করার জন্য চমৎকার -- [StackBlitz](https://stackblitz.com/) - তাৎক্ষণিক, পূর্ণ-স্ট্যাক ওয়েব ডেভেলপমেন্ট +- [GitHub Codespaces](https://github.com/features/codespaces) - ব্রাউজারে সম্পূর্ণ VS Code +- [Replit](https://replit.com/) - শেখা এবং কোড শেয়ার করার জন্য দুর্দান্ত +- [StackBlitz](https://stackblitz.com/) - তৎক্ষণাৎ, ফুল-স্ট্যাক ওয়েব ডেভেলপমেন্ট -> 💡 **শুরুর টিপ**: Visual Studio Code দিয়ে শুরু করুন – এটি ফ্রি, শিল্পে ব্যাপক ব্যবহৃত, এবং একটি বিশাল কমিউনিটি সহায়ক টিউটোরিয়াল এবং এক্সটেনশন তৈরি করে। +> 💡 **শুরু করার টিপ:** Visual Studio Code দিয়ে শুরু করুন – এটা ফ্রি, শিল্পে ব্যাপক ব্যবহৃত, এবং অনেক বড় কমিউনিটি সাহায্যকারী টিউটোরিয়াল এবং এক্সটেনশন তৈরি করে। -### ওয়েব ব্রাউজার: আপনার গোপন উন্নয়ন ল্যাবরেটরি -ঠিক আছে, প্রস্তুত হন পুরোপুরি অবাক হতে! আপনি জানেন কিভাবে সোশ্যাল মিডিয়া স্ক্রোল করা এবং ভিডিও দেখা জন্য ব্রাউজার ব্যবহার করেছেন? আসলে তারা এই পুরো সময়টা অবিশ্বাস্য গোপন ডেভেলপার ল্যাবরেটরি লুকিয়ে রেখেছিল, শুধু আপনার আবিষ্কারের জন্য অপেক্ষা করছিল! +### ওয়েব ব্রাউজার: আপনার গোপন উন্নয়নাগার -প্রতিবার যখন আপনি একটি ওয়েবপেজে রাইট-ক্লিক করে "Inspect Element" নির্বাচন করেন, আপনি এমন একটি গোপন বিশ্বের দরজা খুলছেন যা সত্যি বলতে আমার আগে শত শত ডলার খরচ করে কেনা সফটওয়্যারের থেকেও অনেক বেশি শক্তিশালী। এটা ঠিক যেন আপনার সাধারণ রান্নাঘরের একটি সিক্রেট প্যানেলের পেছনে একজন পেশাদার শেফের গবেষণাগৃহ লুকিয়ে ছিল! -প্রথমবার কেউ আমাকে ব্রাউজার DevTools দেখিয়েছিল, আমি প্রায় তিন ঘন্টা কেবল ক্লিক করতে করতে এবং বলছিলাম "রুসি, এটা এটাও করতে পারে?!" আপনি আদৌ যেকোনো ওয়েবসাইট রিয়েল-টাইমে সম্পাদনা করতে পারেন, ঠিক কেমন দ্রুত সবকিছু লোড হচ্ছে তা দেখতে পারেন, বিভিন্ন ডিভাইসে আপনার সাইট কেমন দেখায় পরীক্ষা করতে পারেন, এমনকি জাভাস্ক্রিপ্ট ডিবাগ করতে পারেন পাশাঠ মতো। এটা পুরোপুরি চমকপ্রদ! +ঠিক আছে, প্রস্তুত হোন মনের সম্পূর্ণ বিস্ময়ের জন্য! আপনি জানেন কিভাবে সোশ্যাল মিডিয়া ব্রাউজ করতে এবং ভিডিও দেখতে ব্রাউজার ব্যবহার করেন? আসলে তারা এই অবিশ্বাস্য গোপন ডেভেলপার ল্যাবরেটরি সারা সময় লুকিয়ে রেখেছে, শুধু আপনার আবিষ্কারের অপেক্ষায়! -**এটাই কারণ ব্রাউজারগুলি আপনার গোপন অস্ত্র:** +প্রতি বার যখন আপনি একটি ওয়েবপেইজে রাইট-ক্লিক করে "Inspect Element" নির্বাচন করবেন, আপনি একটি গোপন ডেভেলপার টুলসের পৃথিবী খুলবেন যা সত্যিই কিছু দামি সফটওয়্যার থেকে শক্তিশালী। এটা ঠিক যেমন আপনার পুরনো রান্নাঘরে লুকানো রয়েছে পেশাদার শেফের গোপন ল্যাবরেটরি! +যখন প্রথমবার কেউ আমাকে ব্রাউজার DevTools দেখিয়েছিল, তখন আমি প্রায় তিন ঘণ্টা শুধু ক্লিক করে বেড়াতাম আর বলতাম "ওহ, এটা ও করতে পারে?!" আপনি বাস্তব সময়ে যেকোনো ওয়েবসাইট সম্পাদনা করতে পারেন, ঠিক কত দ্রুত সবকিছু লোড হচ্ছে তা দেখতে পারেন, আপনার সাইটটি বিভিন্ন ডিভাইসে কেমন দেখায় তা পরীক্ষা করতে পারেন, এবং এমনকি JavaScript ত্রুটি খুঁজে বের করতে পারেন পেশাদারদের মতো। এটা সত্যিই অবিশ্বাস্য! -যখন আপনি একটি ওয়েবসাইট বা ওয়েব অ্যাপ তৈরি করেন, আপনাকে দেখতে হয় এটা বাস্তব জগতে কেমন দেখায় এবং কিভাবে কাজ করে। ব্রাউজার শুধু আপনার কাজ প্রদর্শন করে না, বরং কার্যক্ষমতা, প্রবেশগম্যতা, এবং সম্ভাব্য সমস্যাগুলি সম্পর্কে বিস্তারিত প্রতিক্রিয়াও দেয়। +**ব্রাউজারগুলি আপনার গোপন অস্ত্র কেন:** -#### ব্রাউজার ডেভেলপার সরঞ্জাম (DevTools) +যখন আপনি একটি ওয়েবসাইট বা ওয়েব অ্যাপ্লিকেশন তৈরি করেন, তখন আপনাকে দেখতে হয় এটি বাস্তব জগতে কেমন দেখায় এবং আচরণ করে। ব্রাউজারগুলি শুধু আপনার কাজ প্রদর্শন করে না বরং পারফরম্যান্স, অ্যাক্সেসিবিলিটি এবং সম্ভাব্য সমস্যাগুলি সম্পর্কে বিস্তারিত প্রতিক্রিয়া দেয়। -আধুনিক ব্রাউজারগুলি বিস্তৃত ডেভেলপমেন্ট স্যুট অন্তর্ভুক্ত করে: +#### ব্রাউজার ডেভেলপার টুলস (DevTools) -| টুল ক্যাটাগরি | এটি কী করে | উদাহরণ ব্যবহারিক | -|---------------|--------------|------------------| -| **এলিমেন্ট ইন্সপেক্টর** | রিয়েল-টাইমে HTML/CSS দেখা এবং সম্পাদনা করা | স্টাইলিং সামঞ্জস্য করে তাৎক্ষণিক ফলাফল দেখা | -| **কন্সোলে** | ত্রুটি বার্তা দেখা ও জাভাস্ক্রিপ্ট টেস্ট করা | সমস্যা ডিবাগ করা এবং কোড নিয়ে পরীক্ষা-নিরীক্ষা করা | -| **নেটওয়ার্ক মনিটর** | রিসোর্স কিভাবে লোড হচ্ছে তা ট্র্যাক করা | কার্যক্ষমতা ও লোডিং সময় উন্নত করা | -| **অ্যাক্সেসিবিলিটি চেকার** | অন্তর্ভুক্ত ডিজাইনের জন্য টেস্ট করা | নিশ্চিত করা আপনার সাইট সব ব্যবহারকারীর জন্য কাজ করে | -| **ডিভাইস সিমুলেটর** | বিভিন্ন স্ক্রিন সাইজে প্রিভিউ | একাধিক ডিভাইস ছাড়াই রেসপনসিভ ডিজাইন পরীক্ষা করা | +আধুনিক ব্রাউজারগুলিতে ব্যাপক ডেভেলপমেন্ট স্যুট থাকে: -#### বিকাশের জন্য সুপারিশকৃত ব্রাউজার +| টুল ক্যাটাগরি | এটা কি করে | উদাহরণ ব্যবহার | +|---------------|--------------|------------------| +| **এলিমেন্ট ইন্সপেক্টর** | বাস্তব সময়ে HTML/CSS দেখা এবং সম্পাদনা | স্টাইলিং সামঞ্জস্য করে সরাসরি ফলাফল দেখা | +| **কনসোল** | ত্রুটি বার্তা দেখা এবং JavaScript পরীক্ষা | সমস্যা ডিবাগ করা এবং কোডের সাথে পরীক্ষা করা | +| **নেটওয়ার্ক মনিটর** | রিসোর্স লোড কিভাবে হচ্ছে তা ট্র্যাক করা | পারফরম্যান্স ও লোডিং সময় অপ্টিমাইজ করা | +| **অ্যাক্সেসিবিলিটি চেকার** | অন্তর্ভুক্তিমূলক ডিজাইন টেস্ট করা | নিশ্চিত করা আপনার সাইট সকল ব্যবহারকারীর জন্য কাজ করে | +| **ডিভাইস সিমুলেটর** | ভিন্ন স্ক্রিন সাইজে প্রিভিউ | একাধিক ডিভাইস ছাড়া রেসপন্সিভ ডিজাইন পরীক্ষা করা | -- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** - শিল্প মানের DevTools বিস্তৃত ডকুমেন্টেশন সহ -- **[Firefox](https://developer.mozilla.org/docs/Tools)** - চমৎকার CSS গ্রিড এবং অ্যাক্সেসিবিলিটি টুলস -- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - ক্রোমিয়ামে ভিত্তি করে মাইক্রোসফটের ডেভেলপার রিসোর্সস সহ +#### ডেভেলপমেন্টের জন্য সুপারিশকৃত ব্রাউজার -> ⚠️ **গুরুত্বপূর্ণ টেস্টিং টিপ**: সর্বদা আপনার ওয়েবসাইটগুলি একাধিক ব্রাউজারে পরীক্ষা করুন! যা ক্রোমে নিখুঁত কাজ করে তা সাফারি বা ফায়ারফক্সে ভিন্ন দেখাতে পারে। পেশাদার ডেভেলপাররা সব প্রধান ব্রাউজারে পরীক্ষা করে নিশ্চিত হন ব্যবহারকারীর অভিজ্ঞতা সঙ্গতিপূর্ণ থাকে। +- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** - ব্যাপক ডকুমেন্টেশন সহ ইন্ডাস্ট্রি-স্ট্যান্ডার্ড DevTools +- **[Firefox](https://developer.mozilla.org/docs/Tools)** - চমৎকার CSS Grid এবং অ্যাক্সেসিবিলিটি টুলস +- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - Microsoft এর ডেভেলপার রিসোর্স সহ Chromium ভিত্তিক +> ⚠️ **গুরুত্বপূর্ণ পরীক্ষা টিপস**: সর্বদা আপনার ওয়েবসাইটগুলি একাধিক ব্রাউজারে পরীক্ষা করুন! যা Chrome এ একেবারে ঠিক কাজ করে, তা Safari বা Firefox এ ভিন্ন দেখাতে পারে। পেশাদার ডেভেলপাররা সব প্রধান ব্রাউজারে পরীক্ষা করে ব্যবহারকারীর অভিজ্ঞতা ধারাবাহিক রাখতে। -### কমান্ড লাইন টুলস: আপনার ডেভেলপার স্সুপারপাওয়ারের প্রবেশদ্বার +### কমান্ড লাইন টুলস: আপনার ডেভেলপার সুপারপাওয়ারসের প্রবেশদ্বার -আচ্ছা, কমান্ড লাইন সম্পর্কে সম্পূর্ণ সৎ মুহূর্ত নেওয়া যাক, কারণ আমি চাই আপনি এটা এমন একজন থেকে শুনুন যিনি সত্যিই এটা বোঝেন। যখন আমি প্রথম এটাকে দেখেছিলাম – কেবল এই ভয়ঙ্কর কালো স্ক্রীন যা টিপটিপ করে লেখা দেখাচ্ছিল – আমি সত্যিই ভাবছিলাম, “না, একদম না! এটা যেন ১৯৮০-এর দশকের হ্যাকার সিনেমার কিছু, আর আমি নিশ্চিত এটা করার জন্য যথেষ্ট বুদ্ধিমান নই!” 😅 +ঠিক আছে, কমান্ড লাইনের ব্যাপারে একটা সম্পূর্ণ সৎ কথা বলি, কারণ আমি চাই আপনি এটা সত্যিই বুঝতে পারেন। যখন প্রথমবার আমি এটি দেখেছিলাম — শুধু এই ভয়ঙ্কর কালো স্ক্রিনে ঝিকিমিকি করা টেক্সট — আমি সত্যিই ভাবেছিলাম, "না, মোটেও নয়! এটা যেন ১৯৮০-এর দশকের হ্যাকারের মুভির কিছু, আর আমি একদম স্মার্ট নই এর জন্য!" 😅 -কিন্তু এখানেই আমি চাই কেউ আমাকে তখন বলত, আর আমি এখন আপনাকে বলছি: কমান্ড লাইন ভয়ঙ্কর নয় – এটা আসলে আপনার কম্পিউটারের সাথে সরাসরি কথোপকথনের মতো। ভাবুন এটা যেমন একটি ফ্যান্সি অ্যাপ থেকে ছবি আর মেনু সহ খাবার অর্ডার করার মতো (যা ভালো এবং সহজ), তার তুলনায় আপনার প্রিয় স্থানীয় রেস্টুরেন্টে হাঁটার মতো, যেখানে শেফ ঠিক জানে আপনি কি পছন্দ করেন এবং আপনি শুধু বললেই “দয়াকরে মুগ্ধকর কিছু সারপ্রাইজ দিন” সঙ্গে অসাধারণ কিছু রান্না করতে পারে। +কিন্তু আমি তখন কারও কাছ থেকে শুনতে চাইতাম এবং এখন আপনাকে বলছি: কমান্ড লাইন ভয়ঙ্কর নয় — এটা আসলে আপনার কম্পিউটারের সাথে সরাসরি কথা বলার মতো। ভাবুন এটা এমন, যেমন আপনি একটি সুদৃশ্য ছবিসম্পন্ন মেনু সহ অ্যাপ থেকে খাবার অর্ডার করছেন (যেটা সবুজ এবং সহজ) বনাম আপনার প্রিয় স্থানীয় রেস্টুরেন্টে গিয়ে যেখানে শেফ জানেন আপনি কী পছন্দ করেন এবং আপনি শুধু বললেই "অবিশ্বাস্য কিছু দিয়ে আমাকে সারপ্রাইজ করুন।" -কমান্ড লাইন হলো সেই জায়গা যেখানে ডেভেলপাররা পুরোপুরি যাদুকর হিসাবে অনুভব করে। আপনি কয়েকটি দেখতে জাদুকরী শব্দ টাইপ করেন (ঠিক আছে, এগুলো কমান্ড মাত্র, কিন্তু জাদুকরী মনে হয়!), এন্টার চাপেন, আর হঠাৎ – আপনি পুরো প্রকল্পের গঠন তৈরি করেছেন, শক্তিশালী সরঞ্জাম বিশ্বের বিভিন্ন স্থান থেকে ইন্সটল করেছেন, বা আপনার অ্যাপ ইন্টারনেটে মাইলিয়ন মানুষের দেখার জন্য ডিপ্লয় করেছেন। একবার আপনি এই ক্ষমতার স্বাদ পেয়ে গেলে, সত্যিই এটি আসক্তিকর হয়ে যায়! +কমান্ড লাইনই সেই জায়গা যেখানে ডেভেলপাররা যেমন একটি বিশুদ্ধ জাদুকরের মতো অনুভব করে। আপনি কয়েকটি মনে হয় যাদুকরী শব্দ টাইপ করেন (ঠিক আছে, এগুলো কেবল কমান্ড, কিন্তু মনে হয় জাদুকরী!), এন্টার চাপুন, এবং বুম — আপনি পুরো প্রকল্প কাঠামো তৈরি করেছেন, বিশ্বের বিভিন্ন স্থান থেকে শক্তিশালী টুলস ইনস্টল করেছেন, বা আপনার অ্যাপ ইন্টারনেটে প্রকাশ করেছেন যা কোটি কোটি মানুষ দেখতে পারবে। একবার সেই ক্ষমতার স্বাদ পেলে, এটা সত্যিই আসক্তিকর! -**কেন কমান্ড লাইন আপনার প্রিয় সরঞ্জাম হবে:** +**কেন কমান্ড লাইন হবে আপনার প্রিয় টুল:** -যদিও গ্রাফিক্যাল ইন্টারফেস অনেক কাজের জন্য দুর্দান্ত, কমান্ড লাইন স্বয়ংক্রিয়তা, নিখুঁততা এবং গতি নিয়ে ছাড়িয়ে যায়। অনেক ডেভেলপমেন্ট টুলস প্রধানত কমান্ড লাইন ইন্টারফেস ব্যবহার করে কাজ করে, এবং দক্ষতার সঙ্গে এগুলো ব্যবহার শেখা আপনার উৎপাদনশীলতা নাটকীয়ভাবে বাড়াতে পারে। +গ্রাফিক্যাল ইন্টারফেস অনেক কাজের জন্য অনেক ভালো, কিন্তু কমান্ড লাইন স্বয়ংক্রিয়তা, নিখুঁততা এবং গতি তে শ্রেষ্ঠ। অনেক ডেভেলপমেন্ট টুলস প্রধানত কমান্ড লাইন ইন্টারফেস থেকে কাজ করে, আর দক্ষতা ধরে শিখলে আপনার উৎপাদনশীলতা নাটকীয়ভাবে বাড়বে। ```bash -# ধাপ ১: প্রকল্প ডিরেক্টরি তৈরি করুন এবং সেখানে যান +# ধাপ ১: প্রজেক্ট ডিরেক্টরি তৈরি করুন এবং সেখানে যান mkdir my-awesome-website cd my-awesome-website ``` -**এই কোডটি কী করে:** -- **নতুন ডিরেক্টরি তৈরি করে** যার নাম "my-awesome-website" আপনার প্রকল্পের জন্য -- **নতুন তৈরি ডিরেক্টরিতে প্রবেশ করে** কাজ শুরু করার জন্য +**এই কোডটি কি করে:** +- **নতুন ডাইরেক্টরি তৈরি করে** নাম "my-awesome-website" আপনার প্রকল্পের জন্য +- **নতুন তৈরি ডাইরেক্টরিতে পরিবর্তন করে** কাজ করতে শুরু করার জন্য ```bash -# ধাপ ২: package.json দিয়ে প্রকল্প শুরু করুন +# ধাপ ২: package.json দিয়ে প্রকল্প initialization করুন npm init -y # আধুনিক উন্নয়ন সরঞ্জাম ইনস্টল করুন @@ -614,11 +614,11 @@ npm install --save-dev vite prettier eslint npm install --save-dev @eslint/js ``` -**ক্রমানুসারে, যা ঘটছে তা হলো:** -- `npm init -y` ব্যবহার করে ডিফল্ট সেটিংস সহ নতুন Node.js প্রকল্প আরম্ভ করা -- দ্রুত উন্নয়ন ও প্রোডাকশন বিল্ডের জন্য আধুনিক বিল্ড টুল Vite ইন্সটল করা -- স্বয়ংক্রিয় কোড ফরম্যাটিং এর জন্য Prettier এবং কোড গুণগত মান পরীক্ষা করার জন্য ESLint যোগ করা -- `--save-dev` ফ্ল্যাগ ব্যবহার করে এগুলোকে শুধুমাত্র ডেভেলপমেন্ট নির্ভরশীল হিসেবে চিহ্নিত করা +**ধাপে ধাপে এগুলো হচ্ছে:** +- `npm init -y` দিয়ে ডিফল্ট সেটিংস সহ নতুন Node.js প্রজেক্ট শুরু করা +- দ্রুত ডেভেলপমেন্ট এবং প্রোডাকশন বিল্ডের জন্য Vite ইনস্টল করা +- স্বয়ংক্রিয় কোড ফরম্যাটিংয়ের জন্য Prettier এবং কোড মান চেকের জন্য ESLint যুক্ত করা +- `--save-dev` ফ্ল্যাগ দিয়ে এগুলোকে ডেভেলপমেন্ট-শুধুমাত্র ডিপেন্ডেন্সি হিসেবে চিহ্নিত করা ```bash # ধাপ ৩: প্রকল্পের কাঠামো এবং ফাইল তৈরি করুন @@ -629,227 +629,226 @@ echo 'My Site

Hello Wo npx vite ``` -**উপরোক্ত ক্ষেত্রে, আমরা:** -- আলাদা সোর্স কোড ও এসেট ফোল্ডার তৈরি করে প্রকল্প সংগঠিত করেছি +**উপরের কোডে আমরা:** +- আলাদা ফোল্ডার তৈরি করে সোর্স কোড এবং অ্যাসেটগুলোর সংগঠন করেছি - সঠিক ডকুমেন্ট স্ট্রাকচার সহ একটি বেসিক HTML ফাইল তৈরি করেছি - লাইভ রিলোড এবং হট মডিউল রিপ্লেসমেন্টের জন্য Vite ডেভেলপমেন্ট সার্ভার শুরু করেছি -#### ওয়েব উন্নয়নের জন্য অপরিহার্য কমান্ড লাইন টুলস +#### ওয়েব ডেভেলপমেন্টের জন্য অপরিহার্য কমান্ড লাইন টুলস -| টুল | উদ্দেশ্য | কেন দরকার | +| টুল | উদ্দেশ্য | কেন আপনার দরকার | |------|---------|-----------------| -| **[Git](https://git-scm.com/)** | ভার্সন কন্ট্রোল | পরিবর্তন ট্র্যাক করা, সাথে কাজ করা, ব্যাকআপ রাখা | -| **[Node.js & npm](https://nodejs.org/)** | জাভাস্ক্রিপ্ট রানটাইম ও প্যাকেজ ম্যানেজমেন্ট | ব্রাউজারের বাইরে জাভাস্ক্রিপ্ট চালানো, আধুনিক ডেভেলপমেন্ট টুল ইনস্টল করা | -| **[Vite](https://vitejs.dev/)** | বিল্ড টুল ও ডেভ সার্ভার | অত্যন্ত দ্রুত উন্নয়ন হট মডিউল রিপ্লেসমেন্ট সহ | -| **[ESLint](https://eslint.org/)** | কোড গুণমান | স্বয়ংক্রিয়ভাবে জাভাস্ক্রিপ্ট কোডের সমস্যা খুঁজে বের করা ও ঠিক করা | -| **[Prettier](https://prettier.io/)** | কোড ফরম্যাটিং | আপনার কোড নিয়মিত ফরম্যাটেড ও পাঠযোগ্য রাখা | +| **[Git](https://git-scm.com/)** | ভার্সন কন্ট্রোল | পরিবর্তন ট্র্যাক করা, অন্যদের সাথে সহযোগিতা, ব্যাকআপ | +| **[Node.js & npm](https://nodejs.org/)** | JavaScript রানটাইম ও প্যাকেজ ম্যানেজমেন্ট | ব্রাউজারের বাইরে JavaScript চালানো, আধুনিক ডেভেলপমেন্ট টুলস ইনস্টল করা | +| **[Vite](https://vitejs.dev/)** | বিল্ড টুল ও ডেভ সার্ভার | অত্যন্ত দ্রুত ডেভেলপমেন্ট ও হট মডিউল রিপ্লেসমেন্ট | +| **[ESLint](https://eslint.org/)** | কোড মান | স্বয়ংক্রিয়ভাবে JavaScript এর সমস্যা খুঁজে বের করা এবং ঠিক করা | +| **[Prettier](https://prettier.io/)** | কোড ফরম্যাটিং | কোডকে ধারাবাহিক ও পাঠযোগ্য ফরম্যাটে রাখা | -#### প্ল্যাটফর্ম-নির্দিষ্ট অপশন +#### প্ল্যাটফর্ম-নির্দিষ্ট বিকল্পসমূহ **Windows:** -- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** – আধুনিক, বৈশিষ্ট্যসম্পন্ন টার্মিনাল -- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 – শক্তিশালী স্ক্রিপ্টিং পরিবেশ -- **[Command Prompt](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 – ঐতিহ্যবাহী উইন্ডোজ কমান্ড লাইন +- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** - আধুনিক, বৈশিষ্ট্যপূর্ণ টার্মিনাল +- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 - শক্তিশালী স্ক্রিপ্টিং পরিবেশ +- **[Command Prompt](https://learn.microsoft.com/windows-server/administration/windows-commands/windows-commands)** 💻 - প্রচলিত Windows কমান্ড লাইন **macOS:** -- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 – বিল্ট-ইন টার্মিনাল অ্যাপ্লিকেশন -- **[iTerm2](https://iterm2.com/)** – উন্নত বৈশিষ্ট্যসহ টার্মিনাল +- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 - বিল্ট-ইন টার্মিনাল অ্যাপ্লিকেশন +- **[iTerm2](https://iterm2.com/)** - উন্নত বৈশিষ্ট্য সহ টার্মিনাল **Linux:** -- **[Bash](https://www.gnu.org/software/bash/)** 💻 – স্ট্যান্ডার্ড লিনাক্স শেল -- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** – উন্নত টার্মিনাল এমুলেটর - -> 💻 = অপারেটিং সিস্টেমে প্রি-ইনস্টল করা +- **[Bash](https://www.gnu.org/software/bash/)** 💻 - স্ট্যান্ডার্ড লিনাক্স শেল +- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** - উন্নত টার্মিনাল ইমুলেটর -> 🎯 **শেখার পথ**: মৌলিক কমান্ড যেমন `cd` (ডিরেক্টরি পরিবর্তন), `ls` বা `dir` (ফাইল তালিকা), এবং `mkdir` (ফোল্ডার তৈরি) দিয়ে শুরু করুন। আধুনিক ওয়ার্কফ্লো কমান্ড যেমন `npm install`, `git status`, এবং `code .` (বর্তমান ডিরেক্টরিতে VS Code খুলে) দিয়ে অনুশীলন করুন। আরামদায়ক হওয়ার সাথে সাথেই আপনি স্বাভাবিকভাবেই আরও উন্নত কমান্ড এবং স্বয়ংক্রিয়করণ কৌশল শিখবেন। +> 💻 = অপারেটিং সিস্টেমে আগে থেকেই ইনস্টলকৃত +> 🎯 **শিখন পথ**: প্রাথমিক কমান্ড যেমন `cd` (ডাইরেক্টরি পরিবর্তন), `ls` বা `dir` (ফাইল তালিকা), এবং `mkdir` (ফোল্ডার তৈরি) দিয়ে শুরু করুন। আধুনিক ওয়ার্কফ্লো কমান্ড যেমন `npm install`, `git status`, এবং `code .` (বর্তমান ডিরেক্টরি VS Code এ খুলুন) নিয়ে প্র্যাকটিস করুন। আরামদায়ক হলে পরবর্তী উন্নত কমান্ড এবং স্বয়ংক্রিয়রণ শিখুন। -### ডকুমেন্টেশন: আপনার সর্বদা উপলব্ধ শেখার উপদেশক +### ডকুমেন্টেশন: আপনার সর্বদা প্রাপ্য শেখার মেন্টর -আচ্ছা, আমি একটি ছোট গোপন কথা শেয়ার করব যা আপনাকে শুরুতে অনেক ভালো লাগবে: সবচেয়ে অভিজ্ঞ ডেভেলপাররাও তাদের সময়ের একটা বিশাল অংশ ডকুমেন্টেশন পড়তে ব্যয় করেন। এবং এটা এই কারণে নয় যে তারা জানেন না কী করছেন – বরং এটা প্রজ্ঞার পরিচয়! +ঠিক আছে, আমি একটা ছোটো গোপন কথা শেয়ার করি যা আপনাকে বলতে সাহায্য করবে আপনি একজন নতুন হলেও ভালো বোধ করবেন: সবচেয়ে অভিজ্ঞ ডেভেলপাররাও তাদের সময়ের একটি বড় অংশ ডকুমেন্টেশন পড়ে কেটে দেন। এবং সেটা তাদের অজ্ঞতার কারনে নয় — আসলে এটা তাদের জ্ঞানের প্রমাণ! -ডকুমেন্টেশন ভাবুন বিশ্বজুড়ে সবচেয়ে ধৈর্যশীল, জ্ঞানশালী শিক্ষকদের প্রবেশাধিকার হিসেবে যারা ২৪/৭ উপলব্ধ। দুপুর ২টায় কোনো সমস্যায় আটকা? ডকুমেন্টেশন আপনাকে একটি উষ্ণ ভার্চুয়াল আলিঙ্গন ও সঠিক উত্তর সরবরাহ করে। কেউ নতুন কোনো শীতল ফিচার সম্পর্কে জানতে চায় যা সবাই আলোচনা করছে? ডকুমেন্টেশন আপনার পিঠ দেয় পর্যায়ক্রমিক উদাহরণ দিয়ে। কেন কিছু নিয়ে কাজ করে সে রীতিটি বুঝতে চান? অনুমান করুন – ডকুমেন্টেশন বুঝিয়ে দিতে প্রস্তুত যাতে আপনি অবশেষে তা বুঝতে পারেন! +ডকুমেন্টেশনকে ভাবুন বিশ্বের সবচেয়ে ধৈর্যশীল, জ্ঞানসম্পন্ন শিক্ষকগণের ২৪/৭ উপলব্ধ থাকার মতো। রাত ২টায় কোনো সমস্যায় আটকা পড়েছেন? ডকুমেন্টেশন আপনাকে আরামদায়ক ভার্চুয়াল আলিঙ্গন দিয়ে সঠিক উত্তর দেয়। নতুন ও আকর্ষণীয় ফিচার শিখতে চান যেটা সবাই আলোচনা করছে? ডকুমেন্টেশন আছে ধাপে ধাপে উদাহরণ নিয়ে। বুঝতে চান কেন কিছু কাজ করে যেভাবে করে? ডকুমেন্টেশন তা এমনভাবে বোঝায় যা শেষমেশ ক্লিক করিয়ে দেয়! -এটা এমন কিছু যা আমার দৃষ্টিভঙ্গি পুরোপুরি বদলে দিয়েছিল: ওয়েব ডেভেলপমেন্ট জগতটি দ্রুত এগিয়ে চলে, এবং কেউই (আমি বলছি একদম কেউই নয়!) সবকিছু মুখস্থ রাখে না। আমি ১৫+ বছরের অভিজ্ঞতা সম্পন্ন সিনিয়র ডেভেলপারদের মৌলিক সিনট্যাক্স খুঁজে দেখার ঘটনা দেখেছি, এবং জানেন কি? এটা লজ্জাজনক নয় – এটা বুদ্ধিমানের কাজ! নিখুঁত স্মৃতির ব্যাপারে নয়; বরং এটি দ্রুত নির্ভরযোগ্য উত্তর খুঁজে পেতে এবং প্রয়োগ করার কৌশল জানা। +আমার দৃষ্টিভঙ্গি পুরোপুরি বদলে দেয় এমন একটি বিষয় হলো: ওয়েব ডেভেলপমেন্ট বিশ্ব খুব দ্রুত এগিয়ে চলে, আর কেউই সবকিছু মুখস্থ রাখে না (অর্থাৎ একদম কেউই!). আমি দেখেছি ১৫+ বছরের সিনিয়র ডেভেলপাররা বেসিক সিন্ট্যাক্স খুঁজে দেখেন, আর জানেন কি? সেটা লজ্জার কিছু নয় — সেটা বুদ্ধিমানের কথা! এটা পুরোপুরি স্মৃতিশক্তির বিষয় না, বরং বিশ্বাসযোগ্য উত্তর দ্রুত খুঁজে পাওয়ার দক্ষতা এবং প্রয়োগ বুঝার বিষয়। **এখানেই আসল জাদু ঘটে:** -পেশাদার ডেভেলপাররা বড় অংশ ডকুমেন্টেশন পড়েন – এটা তাদের অজ্ঞতা নয়, বরং ওয়েব ডেভেলপমেন্ট দ্রুত পরিবর্তনশীল হওয়ার কারণে তারা সর্বদা নতুন কিছু শিখতে থাকে। অসাধারণ ডকুমেন্টেশন শুধু শেখায় *কিভাবে* কিছু ব্যবহার করবেন না, বরং *কেন* এবং *কবে* ব্যবহার করবেন। +পেশাদার ডেভেলপাররা ডকুমেন্টেশন পড়তে অনেক সময় ব্যয় করেন — কারণ ওয়েব ডেভেলপমেন্টের পরিবেশ এত দ্রুত পরিবর্তিত হয় যে আপডেটেড থাকা মানে ক্রমাগত শেখার প্রয়োজন। ভালো ডকুমেন্টেশন আপনাকে বুঝতে সাহায্য করে শুধু *কেন* এবং *কখন* একটি টুল ব্যবহার করবেন, শুধু *কিভাবে* নয়। -#### অপরিহার্য ডকুমেন্টেশন রিসোর্সেস +#### অপরিহার্য ডকুমেন্টেশন রিসোর্সসমূহ **[Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web)** -- ওয়েব প্রযুক্তির স্বর্ণ মানের ডকুমেন্টেশন -- HTML, CSS, এবং জাভাস্ক্রিপ্টের বিস্তৃত গাইড +- ওয়েব প্রযুক্তির জন্য স্বর্ণ মানদণ্ড +- HTML, CSS, এবং JavaScript এর জন্য বিস্তৃত গাইডগুলো - ব্রাউজার সামঞ্জস্যতা তথ্য অন্তর্ভুক্ত - ব্যবহারিক উদাহরণ এবং ইন্টারেক্টিভ ডেমো -**[Web.dev](https://web.dev)** (গুগল দ্বারা) -- আধুনিক ওয়েব উন্নয়নের সেরা অনুশীলন -- কার্যক্ষমতা অপ্টিমাইজেশন গাইড -- প্রবেশগম্যতা ও অন্তর্ভুক্ত ডিজাইন নীতি +**[Web.dev](https://web.dev)** (গুগলের) +- আধুনিক ওয়েব ডেভেলপমেন্টের সেরা পদ্ধতি +- কর্মক্ষমতা অপ্টিমাইজেশন গাইড +- অ্যাক্সেসিবিলিটি এবং অন্তর্ভুক্তিমূলক ডিজাইন নীতি - বাস্তব প্রকল্প থেকে কেস স্টাডি **[Microsoft Developer Documentation](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers)** -- Edge ব্রাউজার উন্নয়ন রিসোর্স -- প্রোগ্রেসিভ ওয়েব অ্যাপ গাইড -- ক্রস-প্ল্যাটফর্ম ডেভেলপমেন্ট অন্তর্দৃষ্টি +- Edge ব্রাউজার ডেভেলপমেন্ট রিসোর্স +- প্রগ্রেসিভ ওয়েব অ্যাপ গাইড +- ক্রস-প্ল্যাটফর্ম ডেভেলপমেন্ট ইনসাইট **[Frontend Masters Learning Paths](https://frontendmasters.com/learn/)** -- কাঠামোবদ্ধ শেখার পাঠ্যক্রম +- গঠনমূলক শেখার কারিকুলাম - শিল্প বিশেষজ্ঞদের ভিডিও কোর্স -- হাতে-কলমে কোডিং অনুশীলন +- হাতে কলমে কোডিং অনুশীলন -> 📚 **অধ্যয়ন কৌশল**: ডকুমেন্টেশন মুখস্থ করার চেষ্টা করবেন না – বরং কিভাবে দক্ষতার সঙ্গে চালনা করবেন তা শিখুন। প্রায়শই ব্যবহৃত রেফারেন্স বুকমার্ক করুন এবং নির্দিষ্ট তথ্য দ্রুত খুঁজে পেতে সার্চ ফাংশন ব্যবহৃতার চর্চা করুন। +> 📚 **অধ্যয়ন কৌশল**: ডকুমেন্টেশন মুখস্ত করার চেষ্টা করবেন না – বরং দক্ষতার সাথে এটি নেভিগেট করতে শিখুন। প্রায়শই ব্যবহৃত রেফারেন্স বুকমার্ক করুন এবং দ্রুত নির্দিষ্ট তথ্য খুঁজে পেতে সার্চ ফাংশন ব্যবহার অনুশীলন করুন। -### 🔧 **টুল দক্ষতা যাচাই: আপনার সাথে কী অনুরণিত হয়?** +### 🔧 **টুল মাস্টারি চেক: আপনার সাথে কী বেশি সামঞ্জস্যপূর্ণ?** -**একটু সময় নিয়ে ভাবুন:** -- কোন টুল প্রথমে চেষ্টা করতে সবচেয়ে আগ্রহী? (ভুল উত্তর নেই!) -- কমান্ড লাইন কি এখনও ভয়ানক মনে হয়, নাকি আপনি এতে কৌতূহলী? -- আপনি কি ব্রাউজার DevTools ব্যবহার করে আপনার প্রিয় ওয়েবসাইটগুলোর পেছনের পর্দা দেখতে কল্পনা করতে পারেন? +**এক মিনিট ভাবুন:** +- কোন টুলটি প্রথমে চেষ্টা করতে সবচেয়ে উত্তেজনাপূর্ণ মনে হয়? (সঠিক বা ভুল উত্তর নেই!) +- কমান্ড লাইন এখনও কি ভয়ানক মনে হয়, না আপনি আগ্রহী হয়েছেন? +- ব্রাউজার DevTools ব্যবহার করে আপনার প্রিয় ওয়েবসাইটের পর্দার পেছনের জিনিসগুলো দেখতে কল্পনা করতে পারেন? ```mermaid -pie title "টুলস এর সাথে ডেভেলপার সময় ব্যয়" - "কোড এডিটর" : 40 - "ব্রাউজার টেস্টিং" : 25 +pie title "উন্নয়নকারী সরঞ্জামগুলোর সাথে সময় কাটানো" + "কোড সম্পাদক" : 40 + "ব্রাউজার পরীক্ষণ" : 25 "কমান্ড লাইন" : 15 "ডকুমেন্ট পড়া" : 15 "ডিবাগিং" : 5 ``` -> **মজার অন্তর্দৃষ্টি**: অধিকাংশ ডেভেলপার তার সময়ের প্রায় ৪০% কোড সম্পাদকেই ব্যয় করে, কিন্তু লক্ষ করুন কত সময় যায় পরীক্ষা, শেখা, এবং সমস্যা সমাধানে। প্রোগ্রামিং কেবল কোড লেখা নয় – এটা অভিজ্ঞতা তৈরি! +> **মজার তথ্য**: অধিকাংশ ডেভেলপার তাদের সময়ের প্রায় ৪০% কোড এডিটরে কাটান, কিন্তু লক্ষ্য করুন কত সময় যায় পরীক্ষা, শেখা, ও সমস্যা সমাধানে। প্রোগ্রামিং শুধু কোড লেখার নাম নয় — এটা অভিজ্ঞতা নির্মাণ! -✅ **চিন্তার জন্য খাবার**: এখানে ভাবার জন্য কিছু মজার বিষয় – আপনি কী ভাবে ভাবেন, ওয়েবসাইট তৈরি করার টুল (ডেভেলপমেন্ট) এবং ডিজাইন সংক্রান্ত টুলগুলোর মধ্যে পার্থক্য কী? এটা ঠিক যেমন একজন স্থপতি সুন্দর বাড়ি ডিজাইন করেন আর ঠিকাদার সেই বাড়ি বাস্তবায়ন করেন। দুটোই গুরুত্বপূর্ণ, কিন্তু তাদের আলাদা আলাদা সরঞ্জাম বাক্স লাগে! এই ধরনের চিন্তা আপনাকে ওয়েবসাইট তৈরি হওয়ার বড় দিকগুলো দেখতে সাহায্য করবে। +✅ **ভেবেচিন্তে দেখুন**: ওয়েবসাইট তৈরি (ডেভেলপমেন্ট) এর টুলস আর দেখানোর (ডিজাইন) টুলস কিভাবে আলাদা হতে পারে? এটা অনেকটা একজন স্থপতির সঙ্গে তুলনা করার মতো যে সুন্দর একটি বাড়ি ডিজাইন করেন এবং ঠিকাদার যে সেটা বাস্তবে গড়ে তোলেন। দুটোই গুরুত্বপূর্ণ, কিন্তু আলাদা যন্ত্রপত্র দরকার! এই চিন্তা আপনাকে ওয়েবসাইট কীভাবে জীবন্ত হয় তা বড় ছবি দেখতে সাহায্য করবে। ## GitHub Copilot Agent চ্যালেঞ্জ 🚀 -Agent মোড ব্যবহার করে নিম্নলিখিত চ্যালেঞ্জ সম্পন্ন করুন: +Agent মোড ব্যবহার করে নিম্নলিখিত চ্যালেঞ্জটি সম্পন্ন করুন: -**বর্ণনা:** আধুনিক কোড সম্পাদক বা IDE এর বৈশিষ্ট্যগুলি অন্বেষণ করুন এবং দেখান কিভাবে এটি একজন ওয়েব ডেভেলপার হিসেবে আপনার ওয়ার্কফ্লো উন্নত করতে পারে। +**বর্ণনা:** আধুনিক কোড এডিটার বা IDE এর ফিচারসমূহ অনুধাবন করুন এবং দেখান কিভাবে এগুলো আপনার ওয়েব ডেভেলপমেন্ট কর্মপরিচালনা উন্নত করে। -**প্রম্পট:** একটি কোড সম্পাদক অথবা IDE নির্বাচন করুন (যেমন Visual Studio Code, WebStorm, বা ক্লাউড-ভিত্তিক IDE)। এমন তিনটি বৈশিষ্ট্য বা এক্সটেনশন তালিকাভুক্ত করুন যা কোড লেখা, ডিবাগ করা, বা রক্ষণাবেক্ষণে সাহায্য করে। প্রতিটির জন্য সংক্ষিপ্ত ব্যাখ্যা দিন কিভাবে এটি আপনার কাজের গতি বৃদ্ধি করে। +**প্রম্পট:** একটি কোড এডিটার বা IDE (যেমন Visual Studio Code, WebStorm, বা ক্লাউড-ভিত্তিক IDE) নির্বাচন করুন। তিনটি ফিচার বা এক্সটেনশন তালিকাভুক্ত করুন যা কোড লেখতে, ডিবাগ করতে বা রক্ষা করতে সাহায্য করে। প্রতিটির জন্য সংক্ষিপ্ত ব্যাখ্যা দিন কিভাবে এটি আপনার কর্মপ্রবাহে উপকার করে। --- ## 🚀 চ্যালেঞ্জ -**ঠিক আছে ডিটেকটিভ, আপনার প্রথম মামলার জন্য প্রস্তুত?** +**ঠিক আছে, গোয়েন্দা, তোমার প্রথম কেসের জন্য প্রস্তুত?** -এখন যেহেতু আপনার এই চমৎকার ভিত্তি গড়ে উঠেছে, আমি এক অভিযান দিচ্ছি যা আপনাকে দেখাবে কতটা বৈচিত্র্যময় ও আকর্ষণীয় প্রোগ্রামিং জগৎ আসলেই। আর শুনুন – এটা এখনও কোড লেখার ব্যাপার নয়, তাই চাপ নেই! নিজেকে ভাবুন প্রথম উত্তেজনাপূর্ণ মামলায় প্রোগ্রামিং ভাষার গোয়েন্দা হিসেবে! +এখন যখন তোমার এই দুর্দান্ত ভিত্তি তৈরি হয়েছে, আমি তোমার জন্য এমন একটি অভিযান এনেছি যা দেখাবে প্রোগ্রামিং বিশ্বের কতটা বিভিন্ন এবং চমকপ্রদ। এবং শোনো – এটা এখনো কোড লেখা নিয়ে নয়, তাই চাপ নেই! নিজেকে ভাবো প্রোগ্রামিং ভাষার গোয়েন্দা হিসেবে তোমার প্রথম উত্তেজনাপূর্ণ কেসে! -**আপনার মিশন, যদি আপনি গ্রহণ করতে চান:** -1. **ভাষার অনুসন্ধানী হন**: পুরোপুরি ভিন্ন তিনটি প্রোগ্রামিং ভাষা বাছুন – হয়তো একটি ওয়েবসাইট তৈরি করে, একটি মোবাইল অ্যাপ তৈরি করে, আরেকটি বিজ্ঞানীদের জন্য ডেটা বিশ্লেষণ করে। প্রতিটি ভাষায় একই সহজ কাজের উদাহরণ খুঁজে বের করুন। আমি আশ্বস্ত করছি, আপনি মুগ্ধ হবেন কীভাবে একেবারে ভিন্ন দেখতে হলেও একটিও কাজ একই রকম করে! +**তোমার মিশন, যদি গ্রহণ করো:** +১. **একজন ভাষা অনুসন্ধানকারী হও:** সম্পূর্ণ ভিন্ন বিশ্ব থেকে তিনটি প্রোগ্রামিং ভাষা বেছে নাও – হয়ত একটি ওয়েবসাইট তৈরি করে, একটি মোবাইল অ্যাপ তৈরি করে, আর একটি বিজ্ঞানীদের জন্য ডেটা বিশ্লেষণ করে। একই সরল কাজ প্রতি ভাষায় কীভাবে লেখা হয় তার উদাহরণ খুঁজে দেখো। আমি নিশ্চিত তুমি অবাক হবে কতটা ভিন্ন তারা দেখায় একই কাজ করার সময়! -2. **তাদের উত্স গল্প খুঁজে বের করুন**: প্রতিটি ভাষাকে বিশেষ করে তোলে কী? একটি মজার ঘটনা – প্রতিটি প্রোগ্রামিং ভাষা তৈরি হয়েছিল কারো মনে "আমি ভাবছি, এই নির্দিষ্ট সমস্যা সমাধানের একটা ভালো উপায় হওয়া উচিত" বলে। আপনি কি সেই সমস্যাগুলো বের করতে পারবেন? কিছু গল্প সত্যিই অসাধারণ! +২. **তাদের উৎপত্তির গল্প আড়ান:** প্রতিটি ভাষা কে বিশেষ করে তোলে? একটা মজার সত্য– প্রতিটি প্রোগ্রামিং ভাষা তৈরি করা হয়েছে যখন কেউ ভাবেছিল, "এই সমস্যা সমাধানে আরো ভাল উপায় থাকতে হবে।" তুমি কি বুঝতে পারো সেই সমস্যাগুলো কী ছিল? কিছু গল্প সত্যিই আকর্ষণীয়! -3. **কমিউনিটি চিনুন**: দেখুন প্রতিটি ভাষার কমিউনিটি কতটা বন্ধুত্বপূর্ণ ও উদ্দীপনাপূর্ণ। কিছু কমিউনিটিতে লাখ লাখ ডেভেলপার জ্ঞ্যান শেয়ার এবং সাহায্য করে, অন্যগুলি ছোট কিন্তু অতি-সংহত এবং সহায়ক। আপনি দেখতে পাবেন কিভাবে বিভিন্ন ব্যক্তিত্ব এই কমিউনিটিগুলোকে প্রাণবন্ত করে তোলে! +৩. **কমিউনিটিগুলোকে জানো:** প্রতিটি ভাষার কমিউনিটি কতটা স্বাগত জানায় এবং উত্সাহী তা পরীক্ষা করো। কিছু কমিউনিটি কোটি কোটি ডেভেলপারগণ জ্ঞান ভাগাভাগি করে এবং সাহায্য করে, অন্যগুলো ছোট কিন্তু অত্যন্ত বন্ধুত্বপূর্ণ এবং সমর্থনশীল। তুমি এই বিভিন্ন ব্যক্তিত্ব দেখতে ভালো লাগবে! -4. **নিজের অনুভূতি অনুসরণ করুন**: কোন ভাষাটি এখন সবচেয়ে গ্রহণযোগ্য মনে হচ্ছে? “সঠিক” নির্বাচন নিয়ে চিন্তা করবেন না – শুধু আপনার অন্তর জিজ্ঞাসা শুনুন! এখানে ভুল উত্তর নেই, এবং পরে আপনি অন্য ভাষাগুলোও অন্বেষণ করতে পারেন। +৪. **নিজের অনুভূতির পেছনে যাও:** কোন ভাষাটি এখন সবচেয়ে সহজলভ্য মনে হয়? "সঠিক" পছন্দ করার জন্য চাপ দিবেন না – শুধু নিজের অন্তর শোনো! সত্যিই কোনো ভুল উত্তর নেই, এবং তুমি সবসময় অন্য ভাষাও পরে অন্বেষণ করতে পারো। -**বোনাস গোয়েন্দা কাজ**: দেখতে পারেন কোন প্রধান ওয়েবসাইট বা অ্যাপ কোন ভাষা দিয়ে তৈরি। আমি নিশ্চিত আপনি অবাক হবেন কীভাবে Instagram, Netflix, বা আপনি যে মোবাইল গেমটি খেলতে থামাতে পারেন না, সেগুলো কী দিয়ে চালানো হয়! +**বোনাস গোয়েন্দা কাজ:** দেখতে পারো কোন প্রধান ওয়েবসাইট বা অ্যাপ কোন ভাষা দিয়ে তৈরি? আমি গ্যারান্টি দিচ্ছি তুমি ঘাবড়িয়ে যাবে জানতে কিভাবে Instagram, Netflix, বা তুমি যে মোবাইল গেম খেলছো তা তৈরি হয়েছে! -> 💡 **মনে রাখবেন**: আজকে আপনি কোন ভাষায় বিশেষজ্ঞ হতে চাইছেন না। আপনি শুধু আশেপাশের এলাকা চিন্তা করছেন যেখান থেকে আপনি ব্যবসা শুরু করবেন। ধীরে ধীরে, মজা করুন, এবং আপনার কৌতূহলকে পথপ্রদর্শক করুন! +> 💡 **মনে রাখবে**: আজকে কোনো ভাষায় বিশেষজ্ঞ হওয়ার চেষ্টা করো না। তুমি শুধু এক এলাকাটা চিনে নিচ্ছো কোথায় তোমার অফিস বসাতে চাও তা সিদ্ধান্ত নেওয়ার আগে। সময় নাও, মজা করো, আর তোমার উদ্দীপনা তোমাকে পরিচালিত করুক! -## চলুন উদযাপন করি আপনি যা আবিষ্কার করেছেন! +## যা শিখেছো তা উদযাপন করি! -ওহ মাই, আজ আপনি অসাধারণ অনেক তথ্য গ্রহণ করেছেন! আমি সত্যিই উন্মুখ দেখতে যে এই চমৎকার যাত্রার কতটুকু আপনার মনে গেঁথে গেছে। এবং মনে রাখবেন – এটা কোনো পরীক্ষা নয় যে আপনাকে সবকিছু নিখুঁত করতে হবে। এটা একটা উদযাপন আপনার শেখা সব দুর্দান্ত বিষয়ের! +বাহ, আজকে তুমি অসাধারণ অনেক তথ্য শিখেছো! আমি সৎভাবে উত্তেজিত তোমার এই দুর্দান্ত যাত্রার কতটা ধরা পড়েছে দেখতে। আর মনে রাখবে – এটা কোনো পরীক্ষা যেখানে সবকিছু নিখুঁত করতে হবে না। এটা তোমার শেখার যাত্রার এক উৎসব! -[পোস্ট-লেসন কুইজ দিন](https://ff-quizzes.netlify.app/web/) +[পোস্ট-লেসন কুইজ নাও](https://ff-quizzes.netlify.app/web/) -## পর্যালোচনা ও স্ব-অধ্যয়ন +## পর্যালোচনা ও স্বশিক্ষা -**সময় নিয়ে অন্বেষণ করুন এবং উপভোগ করুন!** -আপনি আজ অনেক কিছু শিখেছেন, এবং এটা নিয়ে গর্ব করার মত বিষয়! এখন মজার সময় এসেছে – সেই বিষয়গুলো অন্বেষণ করার যেগুলো আপনার কৌতূহল উসকে দিয়েছে। মনে রাখবেন, এটা কোনো হোমওয়ার্ক নয় – এটা এক ধরনের অভিযান! +**তোমার সময় নিয়ে এক্সপ্লোর করো এবং মজা করো!** +আপনি আজ অনেক ক্ষেত্র স IGN অর্জন করেছেন, এবং এটা নিয়ে গর্ব করার মতো বিষয়! এখন মজা শুরু হচ্ছে – সেই বিষয়গুলো আবিষ্কার করা যা আপনার কৌতূহল জাগিয়েছে। মনে রাখবেন, এটা কোনও হোমওয়ার্ক নয় – এটা একটি আকর্ষণীয় অভিযাত্রা! -**আপনাকে কি উত্তেজিত করে তা আরও গভীরভাবে জানুন:** +**যা আপনার উত্তেজনা জাগায় তার মধ্যে গভীরতর ডুব দিন:** -**প্রোগ্রামিং ভাষাগুলোর সাথে হাতেকলমে পরিচিত হোন:** -- ২-৩টি ভাষার অফিসিয়াল ওয়েবসাইট দেখুন যেগুলো আপনার নজর কেড়েছে। প্রত্যেকটির আলাদা আলাদা ব্যক্তিত্ব এবং গল্প আছে! -- [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), অথবা [Replit](https://replit.com/) এর মত কিছু অনলাইন কোডিং প্লেগ্রাউন্ডে চেষ্টা করুন। ভয় পাবেন না পরিক্ষা করতে – আপনি কিছু ভাঙতে পারবেন না! -- আপনার পছন্দের ভাষা কিভাবে তৈরি হলো সে সম্পর্কে পড়ুন। সত্যি বলছি, এই ভাষাগুলোর উৎপত্তি গল্পগুলো আকর্ষণীয় এবং এগুলো আপনাকে বুঝতে সাহায্য করবে কেন ভাষাগুলো এমন কাজ করে যেভাবে করে। +**প্রোগ্রামিং ভাষাগুলোর সঙ্গে নিজেকে পরিচিত করুন:** +- ২-৩টি ভাষার অফিসিয়াল ওয়েবসাইট ভিজিট করুন যেগুলো আপনার মনোযোগ আকর্ষণ করেছে। প্রত্যেকটির নিজস্ব চরিত্র ও গল্প আছে! +- অনলাইন কোডিং প্লেগ্রাউন্ডের মত কিছু ব্যবহার করে দেখুন যেমন [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), অথবা [Replit](https://replit.com/)। পরীক্ষা-নিরীক্ষা করতে ভয় পাবেন না – কিছু ভাঙার সম্ভাবনা নেই! +- আপনার পছন্দের ভাষাটি কীভাবে সৃষ্টি হয়েছিল সে সম্পর্কে পড়ুন। সত্যি বলতে, এই সংক্রান্ত অনেক গল্পই আকর্ষণীয় এবং আপনি বুঝতে পারবেন কেন ভাষাগুলি সেই রকম কাজ করে। -**আপনার নতুন টুলগুলোর সাথে স্বাচ্ছন্দ্য বোধ করুন:** -- যদি এখনও ডাউনলোড না করে থাকেন, তবে Visual Studio Code ডাউনলোড করুন – এটা বিনামূল্যে এবং আপনি এটি পছন্দ করবেন! -- কয়েক মিনিট নিন Extension মার্কেটপ্লেস দেখতে। এটি আপনার কোড এডিটরের জন্য একটি অ্যাপ স্টোরের মত! -- আপনার ব্রাউজারের Developer Tools খুলুন এবং শুধু ক্লিক করে দেখুন। সবকিছু বুঝতে হবে না – শুধু যা আছে তা নিয়ে পরিচিত হন। +**আপনার নতুন টুলগুলোর সঙ্গে আরামদায়ক হন:** +- Visual Studio Code ডাউনলোড করুন যদি এখনও না করে থাকেন – এটা বিনামূল্যের এবং আপনি এটা পছন্দ করবেন! +- কিছু সময় নিয়ে Extensions বাজার ঘুরে দেখুন। এটা আপনার কোড এডিটরের জন্য একটি অ্যাপ স্টোরের মতো! +- আপনার ব্রাউজারের Developer Tools খুলে রাখুন এবং ক্লিক করে দেখুন। সবকিছু বুঝতে হবে না – কেবল সেখানে যা আছে তা সাথে পরিচিত হোন। -**কমিউনিটিতে যোগ দিন:** -- [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), অথবা [GitHub](https://github.com/) এর মত ডেভেলপার কমিউনিটিগুলো অনুসরণ করুন। প্রোগ্রামিং কমিউনিটি নতুনদের অনেক আন্তরিক! -- YouTube এ কিছু শিখনযোগ্য কোডিং ভিডিও দেখুন। অনেক চমৎকার নির্মাতা আছেন যারা জানেন নতুন শুরু করার অনুভূতি কেমন। -- স্থানীয় মিটআপ বা অনলাইন কমিউনিটিতে যোগ দেওয়ার কথা ভাবুন। বিশ্বাস করুন, ডেভেলপাররা নতুনদের সাহায্য করতে ভালোবাসে! +**কমিউনিটিতে যুক্ত হন:** +- কিছু ডেভেলপার কমিউনিটি অনুসরণ করুন যেমন [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), অথবা [GitHub](https://github.com/)। প্রোগ্রামিং কমিউনিটি নতুনদের জন্য অত্যন্ত আন্তরিক! +- YouTube-এ কিছু শুরু করার জন্য উপযোগী কোডিং ভিডিও দেখতে পারেন। অনেক ভালো নির্মাতা আছেন যারা শুরুতে কী হয় সেটা মনে রাখেন। +- স্থানীয় মিটআপ অথবা অনলাইন কমিউনিটিতে যোগদানের কথা ভাবুন। বিশ্বাস করুন, ডেভেলপাররা নতুনদের সাহায্য করতে ভালোবাসেন! -> 🎯 **সাবধান, আমি যা বলব মনে রাখবেন**: আপনি রাতারাতি কোডিং জাদুকর হয়ে যাবেন এমন প্রত্যাশা নেই! এখন আপনি শুধু এই আশ্চর্য নতুন জগতের সাথে পরিচিত হচ্ছেন যার অংশ হতে যাচ্ছেন। সময় নিন, যাত্রা উপভোগ করুন, এবং মনে রাখবেন – আপনি যে প্রতিটি ডেভেলপারকে শ্রদ্ধা করেন তারা একসময় ঠিক আপনার মতোই বসে ছিলেন, উত্তেজিত ও হয়তো কিছুটা নগণ্য বোধ করছিলেন। এটা সম্পূর্ণ স্বাভাবিক, এবং এর মানে আপনি সঠিক পথে আছেন! +> 🎯 **শুনুন, আমি আপনাকে যা মনে রাখতে চাই**: রাতারাতি কোডিং উইজার্ড হওয়া প্রত্যাশা করবেন না! এখুনি, আপনি শুধু সেই বিস্ময়কর নতুন পৃথিবীর সঙ্গে পরিচিত হচ্ছেন যার অংশ হতে যাচ্ছেন। সময় নিয়ে এগিয়ে যান, অভিযাত্রার আনন্দ নিন, এবং মনে রাখবেন – আপনি যেসব ডেভেলপারকে শ্রদ্ধা করেন, তারাও একদিন ঠিক আপনার জায়গায় বসে ছিল, উত্তেজিত এবং হয়তো একটু উদ্বিগ্ন। এটা সম্পূর্ণ স্বাভাবিক, এবং এর মানে আপনি সঠিক পথে আছেন! -## অ্যাসাইনমেন্ট +## এসাইনমেন্ট [Reading the Docs](assignment.md) -> 💡 **আপনার অ্যাসাইনমেন্টের জন্য একটি ছোট টিপস**: আমি সত্যিই দেখতে চাই আপনি কিছু নতুন টুল অন্বেষণ করছেন যেগুলো আমরা এখনও আলোচনা করিনি! যেই এডিটর, ব্রাউজার এবং কমান্ড লাইন টুলগুলো আমরা শিখেছি সেগুলো বাদ দিন – এই বিশাল অসাধারণ ডেভেলপমেন্ট টুলসের জগত আছে অপেক্ষা করছে আবিষ্কারের জন্য। এমন গুলো খুঁজুন যেগুলো নিয়মিত আপডেট হয় এবং সুন্দর, সাহায্যকারী কমিউনিটি আছে (এই গুলোই সাধারণত সেরা টিউটোরিয়াল এবং সর্বাধিক সমর্থন পায় যখন আপনি আটকে যান এবং সাহায্যের প্রয়োজন হয়)। +> 💡 **আপনার এসাইনমেন্টের জন্য একটি ছোট প্রেরণা**: আমি সত্যিই চাই আপনি এমন কিছু টুল অন্বেষণ করুন যা আমরা এখনও আলোচনা করিনি! আমরা যেসব এডিটর, ব্রাউজার, এবং কমান্ড লাইন টুল আলোচনা করেছি সেগুলো বাদ দিন – সেখানে উত্তম উন্নয়ন টুলের এক বিশাল অবিশ্বাস্য বিশ্ব আছে, যা খুঁজে পাওয়া অপেক্ষা করছে। এমনগুলো খুঁজুন যা সক্রিয়ভাবে রক্ষণাবেক্ষণ করা হয় এবং উজ্জ্বল, সহায়ক কমিউনিটি রয়েছে (এগুলো সাধারণত সেরা টিউটোরিয়াল এবং সবচেয়ে সহায়ক মানুষদের জন্য বিখ্যাত, যখন আপনি আটকেন এবং সাহায্য চান)। --- ## 🚀 আপনার প্রোগ্রামিং যাত্রার টাইমলাইন -### ⚡ **পরবর্তী ৫ মিনিটে আপনি যা করতে পারেন** -- [ ] ২-৩টি প্রোগ্রামিং ভাষার ওয়েবসাইট বুকমার্ক করুন যেগুলো নজর কেড়েছে -- [ ] যদি এখনও না করে থাকেন Visual Studio Code ডাউনলোড করুন -- [ ] আপনার ব্রাউজারের DevTools (F12) খুলে যেকোনো ওয়েবসাইটে ক্লিক করে দেখুন -- [ ] একটি প্রোগ্রামিং কমিউনিটিতে যোগদান করুন (Dev.to, Reddit r/webdev, অথবা Stack Overflow) - -### ⏰ **এই ঘণ্টায় আপনি যা অর্জন করতে পারেন** -- [ ] পোস্ট-লেসন কুইজ সম্পন্ন করুন এবং আপনার উত্তর নিয়ে প্রতিফলন করুন -- [ ] VS Code এ GitHub Copilot এক্সটেনশন সেটআপ করুন -- [ ] ২টি ভিন্ন প্রোগ্রামিং ভাষায় অনলাইনে "হ্যালো ওয়ার্ল্ড" উদাহরণ চেষ্টা করুন -- [ ] YouTube এ "একজন ডেভেলাপারের জীবনের এক দিন" ভিডিও দেখুন -- [ ] আপনার প্রোগ্রামিং ভাষার গোয়েন্দা কাজ শুরু করুন (চ্যালেঞ্জ থেকে) - -### 📅 **আপনার সপ্তাহব্যাপী অভিযান** -- [ ] অ্যাসাইনমেন্ট সম্পন্ন করুন এবং ৩টি নতুন ডেভেলপমেন্ট টুল পড়ুন -- [ ] ৫ জন ডেভেলপার বা প্রোগ্রামিং অ্যাকাউন্ট সোশ্যাল মিডিয়ায় অনুসরণ করুন -- [ ] CodePen অথবা Replit এ কিছু ছোট্ট কিছু তৈরি করে দেখুন (যেমন "Hello, [Your Name]!") -- [ ] কারো কোডিং যাত্রা সম্পর্কে একটি ডেভেলপার ব্লগ পোস্ট পড়ুন -- [ ] একটি ভার্চুয়াল মিটআপে যোগ দিন বা প্রোগ্রামিং টক দেখুন -- [ ] অনলাইন টিউটোরিয়াল দিয়ে আপনার পছন্দের ভাষা শেখা শুরু করুন - -### 🗓️ **আপনার মাসব্যাপী রূপান্তর** -- [ ] আপনার প্রথম ছোট প্রকল্প তৈরি করুন (এমনকি একটি সাধারণ ওয়েবপেজও চলে!) -- [ ] একটি ওপেন-সোর্স প্রকল্পে অবদান রাখুন (ডকুমেন্টেশন থেকে শুরু করুন) -- [ ] যাঁরা নতুন শুরু করেছেন তাদের মেন্টর হন -- [ ] আপনার ডেভেলপার পোর্টফোলিওয়েবসাইট তৈরি করুন -- [ ] স্থানীয় ডেভেলপার কমিউনিটি বা স্টাডি গ্রুপের সাথে সংযোগ করুন -- [ ] আপনার পরবর্তী শেখার মাইলস্টোন প্ল্যান করা শুরু করুন - -### 🎯 **চূড়ান্ত প্রতিফলন পরীক্ষা** - -**আগে এগিয়ে যাওয়ার আগে এক মুহূর্ত উদযাপন করুন:** -- আজ কোডিং সম্পর্কে কোন বিষয়টি আপনার সবচেয়ে বেশি উত্তেজিত করেছে? -- কোন টুল বা ধারণা আপনি প্রথমে অন্বেষণ করতে চান? -- এই প্রোগ্রামিং যাত্রা শুরু করতে কেমন অনুভব করছেন? -- এখনই কোন প্রশ্ন আপনি একটি ডেভেলপারকে জিজ্ঞাসা করতে চান? +### ⚡ **অগামী ৫ মিনিটে যা করতে পারবেন** +- [ ] আপনার মনোযোগ আকর্ষণ করা ২-৩টি প্রোগ্রামিং ভাষার ওয়েবসাইট বুকমার্ক করুন +- [ ] যদি না করে থাকেন, Visual Studio Code ডাউনলোড করুন +- [ ] আপনার ব্রাউজারের DevTools (F12) খুলে যেকোনো ওয়েবসাইটে ক্লিক করে দেখুন +- [ ] একটি প্রোগ্রামিং কমিউনিটির সদস্য হন (Dev.to, Reddit r/webdev, অথবা Stack Overflow) + +### ⏰ **এই ঘন্টায় যা করে ফেলতে পারেন** +- [ ] পোস্ট-লেসন কুইজ সম্পন্ন করুন এবং আপনার উত্তরগুলোর উপরে চিন্তা করুন +- [ ] VS Code-এ GitHub Copilot এক্সটেনশন সেট আপ করুন +- [ ] অনলাইনে ২টি ভিন্ন প্রোগ্রামিং ভাষায় "হ্যালো ওয়ার্ল্ড" উদাহরণ চেষ্টা করুন +- [ ] ইউটিউবে "দ্য ডে ইন দ্য লাইফ অফ আ ডেভেলপার" ভিডিও দেখুন +- [ ] আপনার প্রোগ্রামিং ভাষা ডিটেকটিভ কাজ শুরু করুন (চ্যালেঞ্জ থেকে) + +### 📅 **আপনার এক সপ্তাহব্যাপী অভিযান** +- [ ] এসাইনমেন্ট সম্পন্ন করুন এবং ৩টি নতুন ডেভেলপমেন্ট টুল অন্বেষণ করুন +- [ ] ৫ জন ডেভেলপার বা প্রোগ্রামিং অ্যাকাউন্ট সোশ্যাল মিডিয়ায় অনুসরণ করুন +- [ ] CodePen বা Replit এ কিছু ছোটখাটো তৈরি করার চেষ্টা করুন (স্রেফ "Hello, [Your Name]!" ও হতে পারে) +- [ ] একজন ডেভেলাপারের ব্লগ পোস্ট পড়ুন তার কোডিং যাত্রা সম্পর্কে +- [ ] একটি ভার্চুয়াল মিটআপে যোগ দিন অথবা একটি প্রোগ্রামিং আলোচনা ভিডিও দেখুন +- [ ] আপনার নির্বাচিত ভাষা অনলাইন টিউটোরিয়াল থেকে শেখা শুরু করুন + +### 🗓️ **আপনার এক মাসব্যাপী রূপান্তর** +- [ ] আপনার প্রথম ছোট প্রকল্প তৈরি করুন (সরল একটি ওয়েবপেজও চলবে!) +- [ ] একটি ওপেন সোর্স প্রকল্পে অবদান রাখুন (প্রথমে ডকুমেন্টেশন সংশোধন থেকে শুরু করুন) +- [ ] যিনি নতুন প্রোগ্রামিং শুরু করছেন তাদের একজন মেন্টর হিসাবে সাহায্য করুন +- [ ] নিজের ডেভেলপার পোর্টফোলিও ওয়েবসাইট তৈরি করুন +- [ ] স্থানীয় ডেভেলপার কমিউনিটি বা স্টাডি গ্রুপের সঙ্গে যুক্ত হোন +- [ ] আপনার পরবর্তী শেখার মাইলস্টোনের পরিকল্পনা শুরু করুন + +### 🎯 **চূড়ান্ত প্রতিফলন যাচাই** + +**অগ্রসর হওয়ার আগে, কিছু সময় নিয়ে উদযাপন করুন:** +- আজ প্রোগ্রামিং সম্পর্কে একটি জিনিস কী যা আপনাকে উত্তেজিত করেছে? +- কোন টুল বা ধারণাটি প্রথমে অনুসন্ধান করতে চান? +- এই প্রোগ্রামিং যাত্রা শুরু করার ব্যাপারে আপনার অনুভূতিটি কেমন? +- এখনই একজন ডেভেলাপারের কাছে কোন একটি প্রশ্ন করতে চাইবেন? ```mermaid journey title আপনার আত্মবিশ্বাস গড়ার যাত্রা section আজ - উৎসাহী: 3: You - অতিপ্রশস্ত: 4: You - উন্মুখ: 5: You - section এই সপ্তাহে + কৌতূহলী: 3: You + বিব্রত: 4: You + উত্তেজিত: 5: You + section এই সপ্তাহ অনুসন্ধান করা: 4: You শেখা: 5: You সংযোগ করা: 4: You - section পরবর্তী মাস - নির্মাণ করা: 5: You + section আগামী মাস + গঠন করা: 5: You আত্মবিশ্বাসী: 5: You অন্যদের সাহায্য করা: 5: You ``` -> 🌟 **মনে রাখবেন**: প্রত্যেক বিশেষজ্ঞ একজন নবীন ছিলেন। প্রত্যেক সিনিয়র ডেভেলপার ঠিক আপনার মতো অনুভব করতেন – উত্তেজিত, হয়তো একটু হতবাক, এবং নিশ্চয়ই আগ্রহী কী সম্ভব। আপনি অসাধারণ কোম্পানিতে আছেন, এবং এই যাত্রা অসাধারণ হবে। প্রোগ্রামিংয়ের আশ্চর্যজনক জগতে স্বাগতম! 🎉 +> 🌟 **মনে রাখবেন**: প্রতিটি বিশেষজ্ঞ একসময় একজন শিক্ষানবিস ছিলেন। প্রতিটি সিনিয়র ডেভেলপার একসময় ঠিক আপনার মত অনুভব করেছেন – উত্তেজিত, হয়তো একটু বিভ্রান্ত, এবং নিশ্চিতভাবে সম্ভবনাগুলো নিয়ে উৎসাহী। আপনি চমৎকার মানুষের মধ্যেই আছেন, এবং এই যাত্রা অসাধারণ হতে চলেছে। প্রোগ্রামিংয়ের অসাধারণ জগতে স্বাগতম! 🎉 --- -**অস্বীকৃতি**: -এই নথিটি AI অনুবাদ সেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনূদিত হয়েছে। আমরা যথাসম্ভব সঠিকতার চেষ্টা করি, তবে স্বয়ংক্রিয় অনুবাদে ভুল বা অসম্পূর্ণতা থাকতে পারে তা ভালো করে বুঝে নেয়া উচিত। মূল নথিটি তার নিজস্ব ভাষায় কর্তৃপক্ষপূর্ণ উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদ গ্রহণ করা উত্তম। এই অনুবাদের ব্যবহারে সৃষ্টি হওয়া কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই। +**অনুগ্রহ করে খেয়াল করুন**: +এই নথিটি AI অনুবাদ সেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনূদিত হয়েছে। আমরা সঠিকতার জন্য চেষ্টা করলেও, স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল নথিটি তার নিজস্ব ভাষায় প্রামাণিক উৎস হিসেবে গণ্য করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানুষের অনুবাদ গ্রহণ করা সুপারিশ করা হয়। এই অনুবাদের ব্যবহারে কোনো ভুল বোঝাবুঝি বা ব্যাখ্যার জন্য আমরা দায়ী নই। \ No newline at end of file diff --git a/translations/bn/AGENTS.md b/translations/bn/AGENTS.md index 32cb471e24..f5986c4a9c 100644 --- a/translations/bn/AGENTS.md +++ b/translations/bn/AGENTS.md @@ -1,30 +1,30 @@ # AGENTS.md -## প্রকল্পের ওভারভিউ +## প্রকল্প পরিচিতি -এটি শিক্ষামূলক পাঠক্রমের রেপোজিটরি, যা শুরু থেকেই ওয়েব ডেভেলপমেন্টের মৌলিক বিষয়গুলি শেখানোর জন্য তৈরি। এই পাঠক্রমটি একটি ব্যাপক ১২ সপ্তাহের কোর্স, যা Microsoft Cloud Advocates দ্বারা উন্নত করা হয়েছে, এবং এতে জাভাস্ক্রিপ্ট, CSS, এবং HTML এর উপর ভিত্তি করে ২৪টি হ্যান্ডস-অন লেসন রয়েছে। +এটি শিক্ষামূলক কারিকুলাম রিপোজিটরি যা নবীনদের জন্য ওয়েব ডেভেলপমেন্টের মৌলিক বিষয়াবলী শেখানোর জন্য। কারিকুলামটি মাইক্রোসফট ক্লাউড অ্যাডভোকেটদের দ্বারা উন্নত একটি সমগ্র ১২-সপ্তাহের কোর্স, যাতে জাভাস্ক্রিপ্ট, CSS, এবং HTML সম্পর্কিত ২৪টি হ্যান্ডস-অন লেসন রয়েছে। ### মূল উপাদানসমূহ -- **শিক্ষামূলক বিষয়বস্তু**: ২৪টি কাঠামোবদ্ধ লেসন, প্রজেক্ট-ভিত্তিক মডিউলে সংগঠিত -- **ব্যবহারিক প্রজেক্ট**: টেরারিয়াম, টাইপিং গেম, ব্রাউজার এক্সটেনশন, স্পেস গেম, ব্যাংকিং অ্যাপ, কোড এডিটর, এবং AI চ্যাট অ্যাসিস্ট্যান্ট -- **ইন্টারেক্টিভ কুইজ**: ৪৮টি কুইজ, প্রত্যেকটির মধ্যে ৩টি প্রশ্ন (পূর্ব এবং পরবর্তী লেসন মূল্যায়ন) -- **মাল্টি-ভাষা সমর্থন**: GitHub Actions ব্যবহার করে ৫০+ ভাষায় স্বয়ংক্রিয় অনুবাদ -- **প্রযুক্তি**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI প্রকল্পের জন্য) +- **শিক্ষামূলক বিষয়বস্তু**: প্রকল্প-ভিত্তিক মডিউলে সংগঠিত ২৪টি কাঠামোবদ্ধ লেসন +- **প্রায়োগিক প্রকল্পসমূহ**: টেরারিয়াম, টাইপিং গেম, ব্রাউজার এক্সটেনশন, স্পেস গেম, ব্যাংকিং অ্যাপ, কোড এডিটর, এবং AI চ্যাট সহকারী +- **ইন্টারেক্টিভ কুইজ**: ৪৮টি কুইজ, প্রতিটির মধ্যে ৩টি প্রশ্ন (পূর্ব/পরে লেসন মূল্যায়ন) +- **বহুভাষিক সমর্থন**: GitHub Actions এর মাধ্যমে ৫০+ ভাষার স্বয়ংক্রিয় অনুবাদ +- **প্রযুক্তিসমূহ**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI প্রকল্পের জন্য) -### স্থাপত্য +### আর্কিটেকচার -- লেসন-ভিত্তিক কাঠামোসহ শিক্ষামূলক রেপোজিটরি -- প্রতিটি লেসন ফোল্ডারে README, কোড উদাহরণ, এবং সমাধান রয়েছে -- পৃথক ডিরেক্টরিতে স্ট্যান্ডঅ্যালোন প্রজেক্ট (quiz-app, বিভিন্ন লেসন প্রজেক্ট) -- GitHub Actions দ্বারা পরিচালিত অনুবাদ ব্যবস্থা (co-op-translator) -- Docsify এর মাধ্যমে ডকুমেন্টেশন পরিবেশন এবং PDF আকারে পাওয়া যায় +- লেসন-ভিত্তিক কাঠামো সহ শিক্ষামূলক রিপোজিটরি +- প্রতিটি লেসন ফোল্ডারে README, কোড উদাহরণ, এবং সমাধান থাকে +- আলাদা ডিরেক্টরিগুলিতে স্বতন্ত্র প্রকল্প (quiz-app, বিভিন্ন লেসন প্রকল্প) +- GitHub Actions (co-op-translator) ব্যবহার করে অনুবাদ ব্যবস্থা +- ডকুমেন্টেশন Docsify দ্বারা সরবরাহিত এবং PDF আকারে উপলব্ধ -## সেটআপ কমান্ড +## সেটআপ কমান্ডসমূহ -এই রেপোজিটরি প্রধানত শিক্ষামূলক বিষয়বস্তু ব্যবহারের জন্য। নির্দিষ্ট প্রজেক্ট নিয়ে কাজ করার জন্য: +এই রিপোজিটরিটি মূলত শিক্ষামূলক বিষয়বস্তু ব্যবহারের জন্য। নির্দিষ্ট প্রকল্পে কাজ করার জন্য: -### প্রধান রেপোজিটরি সেটআপ +### প্রধান রিপোজিটরি সেটআপ ```bash git clone https://github.com/microsoft/Web-Dev-For-Beginners.git @@ -36,12 +36,12 @@ cd Web-Dev-For-Beginners ```bash cd quiz-app npm install -npm run dev # উন্নয়ন সার্ভার শুরু করুন -npm run build # উৎপাদনের জন্য বিল্ড করুন +npm run dev # ডেভেলপমেন্ট সার্ভার শুরু করুন +npm run build # প্রোডাকশনের জন্য বিল্ড করুন npm run lint # ESLint চালান ``` -### ব্যাংক প্রজেক্ট API (Node.js + Express) +### ব্যাংক প্রকল্প API (Node.js + Express) ```bash cd 7-bank-project/api @@ -51,7 +51,7 @@ npm run lint # ESLint চালান npm run format # Prettier দিয়ে ফরম্যাট করুন ``` -### ব্রাউজার এক্সটেনশন প্রজেক্টসমূহ +### ব্রাউজার এক্সটেনশন প্রকল্পসমূহ ```bash cd 5-browser-extension/solution @@ -59,15 +59,15 @@ npm install # ব্রাউজার-নির্দিষ্ট এক্সটেনশন লোডিং নির্দেশাবলী অনুসরণ করুন ``` -### স্পেস গেম প্রজেক্টসমূহ +### স্পেস গেম প্রকল্পসমূহ ```bash cd 6-space-game/solution npm install -# ব্রাউজারে index.html খুলুন অথবা লাইভ সার্ভার ব্যবহার করুন +# ব্রাউজারে index.html খুলুন অথবা Live Server ব্যবহার করুন ``` -### চ্যাট প্রজেক্ট (Python ব্যাকেন্ড) +### চ্যাট প্রকল্প (Python ব্যাকএন্ড) ```bash cd 9-chat-project/solution/backend/python @@ -78,114 +78,114 @@ python api.py ## ডেভেলপমেন্ট ওয়ার্কফ্লো -### বিষয়বস্তু অবদানকারীদের জন্য +### কনটেন্ট কন্ট্রিবিউটরদের জন্য -1. আপনার GitHub অ্যাকাউন্টে **রেপোজিটরি ফর্ক করুন** -2. **আপনার ফর্ক লোকালি ক্লোন করুন** -3. আপনার পরিবর্তনের জন্য একটি **নতুন ব্রাঞ্চ তৈরি করুন** -4. লেসন বিষয়বস্তু বা কোড উদাহরণে পরিবর্তন করুন -5. সংশ্লিষ্ট প্রজেক্ট ডিরেক্টরিতে যেকোনো কোড পরিবর্তন পরীক্ষা করুন -6. অবদান নির্দেশিকা অনুসরণ করে পুল রিকোয়েস্ট জমা দিন +1. **রিপোজিটরি ফর্ক করুন** আপনার GitHub একাউন্টে +2. **আপনার ফর্ক ক্লোন করুন** স্থানীয়ভাবে +3. **নতুন ব্রাঞ্চ তৈরি করুন** আপনার পরিবর্তনগুলোর জন্য +4. লেসন বিষয়বস্তু বা কোড উদাহরণে পরিবর্তন আনুন +5. প্রাসঙ্গিক প্রকল্প ডিরেক্টরিতে কোড পরিবর্তন পরীক্ষা করুন +6. অবদান নির্দেশিকা অনুসারে পুল রিকোয়েস্ট সাবমিট করুন ### শিক্ষার্থীদের জন্য -1. রেপোজিটরি ফর্ক বা ক্লোন করুন -2. ধারাবাহিকভাবে লেসন ডিরেক্টরিতে নেভিগেট করুন +1. ফর্ক বা ক্লোন করুন রিপোজিটরি +2. ক্রমান্বয়ে লেসন ডিরেক্টরির মধ্যে যান 3. প্রতিটি লেসনের README ফাইল পড়ুন -4. https://ff-quizzes.netlify.app/web/ এ প্রি-লেসন কুইজ সম্পন্ন করুন -5. লেসন ফোল্ডারে কোড উদাহরণ কাজ করুন -6. অ্যাসাইনমেন্ট ও চ্যালেঞ্জ সম্পন্ন করুন -7. পোস্ট-লেসন কুইজ নিন +4. https://ff-quizzes.netlify.app/web/ এ লেসন পূর্ববর্তী কুইজ পূরণ করুন +5. লেসন ফোল্ডারে কোড উদাহরণগুলি অনুসরণ করুন +6. অস্যাইনমেন্ট এবং চ্যালেঞ্জ সমাধান করুন +7. পরবর্তী লেসনের কুইজ সম্পন্ন করুন ### লাইভ ডেভেলপমেন্ট -- **ডকুমেন্টেশন**: মূল ফোল্ডারে `docsify serve` চালান (পোর্ট ৩০০০) -- **কুইজ অ্যাপ**: quiz-app ডিরেক্টরিতে `npm run dev` চালান -- **প্রজেক্টসমূহ**: HTML প্রজেক্টের জন্য VS Code লাইভ সার্ভার এক্সটেনশন ব্যবহার করুন -- **API প্রজেক্টসমূহ**: সংশ্লিষ্ট API ডিরেক্টরিতে `npm start` চালান +- **ডকুমেন্টেশন**: `docsify serve` রান করুন রুটে (পোর্ট ৩০০০) +- **কুইজ অ্যাপ**: `npm run dev` রান করুন quiz-app ডিরেক্টরিতে +- **প্রকল্পসমূহ**: HTML প্রকল্পের জন্য VS Code Live Server এক্সটেনশন ব্যবহার করুন +- **API প্রকল্পসমূহ**: নিজ নিজ API ডিরেক্টরিতে `npm start` রান করুন ## পরীক্ষার নির্দেশাবলী -### কুইজ অ্যাপ টেস্টিং +### কুইজ অ্যাপ পরীক্ষা ```bash cd quiz-app -npm run lint # কোড স্টাইল সমস্যা পরীক্ষা করুন -npm run build # বিল্ড সফল হয় কি না যাচাই করুন +npm run lint # কোড স্টাইল সমস্যাগুলির জন্য পরীক্ষা করুন +npm run build # বিল্ড সফল হয় কিনা নিশ্চিত করুন ``` -### ব্যাংক API টেস্টিং +### ব্যাংক API পরীক্ষা ```bash cd 7-bank-project/api -npm run lint # কোড স্টাইল সমস্যাগুলি পরীক্ষা করুন -node server.js # সার্ভার ত্রুটি ছাড়া শুরু হচ্ছে কিনা যাচাই করুন +npm run lint # কোড স্টাইল সমস্যা পরীক্ষা করুন +node server.js # নিরীক্ষণ করুন সার্ভার ত্রুটি ছাড়াই শুরু হয় কিনা ``` ### সাধারণ পরীক্ষার পদ্ধতি -- এটি একটি শিক্ষামূলক রেপোজিটরি, পূর্ণাঙ্গ স্বয়ংক্রিয় টেস্ট নেই -- হাতে পরীক্ষার জোর দেওয়া হয়: - - কোড উদাহরণ ভুল ছাড়াই চলা - - ডকুমেন্টেশনে লিঙ্ক সঠিক কাজ - - প্রজেক্ট বিল্ড সাফল্যের সাথে সম্পন্ন হওয়া - - উদাহরণসমূহ সর্বোত্তম অনুশীলন অনুসরণ করে +- এটি একটি শিক্ষামূলক রিপোজিটরি, বিস্তৃত স্বয়ংক্রিয় পরীক্ষা নেই +- ম্যানুয়াল পরীক্ষায় ফোকাস থাকে: + - কোড উদাহরণগুলো ত্রুটিহীনভাবে চালানো + - ডকুমেন্টেশনের লিঙ্ক সঠিকভাবে কাজ করা + - প্রকল্প বিল্ড সফলভাবে সম্পন্ন হওয়া + - উদাহরণগুলো সেরা প্র্যাকটিস মেনে চলা -### সাবমিশনের আগে যাচাই +### সাবমিশনের পূর্বে চেকসমূহ -- যেখানে package.json আছে, সেখানগুলোতে `npm run lint` চালান -- মার্কডাউন লিঙ্কগুলি বৈধ কিনা যাচাই করুন -- কোড উদাহরণ ব্রাউজার বা Node.js এ পরীক্ষা করুন -- অনুবাদ সঠিক কাঠামো বজায় রাখে কিনা পরীক্ষা করুন +- package.json সহ ডিরেক্টরিতে `npm run lint` চালান +- মার্কডাউন লিঙ্কগুলো বৈধ আছে কিনা যাচাই করুন +- ব্রাউজার বা Node.js এ কোড উদাহরণ পরীক্ষা করুন +- অনুবাদগুলো কাঠামো বজায় রেখেছে কিনা দেখুন -## কোড স্টাইল গাইডলাইনস +## কোড স্টাইল নির্দেশিকা -### জাভাস্ক্রিপ্ট +### JavaScript - আধুনিক ES6+ সিনট্যাক্স ব্যবহার করুন -- প্রজেক্টের ESLint কনফিগারেশন অনুসরণ করুন -- শিক্ষার্থীদের জন্য অর্থপূর্ণ ভ্যারিয়েবল ও ফাংশন নাম ব্যবহার করুন -- শিক্ষার্থীদের বোঝার জন্য ব্যাখ্যামূলক কমেন্ট যুক্ত করুন -- যেখানে প্রিসেট আছে সেখানে Prettier দ্বারা ফরম্যাট করুন +- প্রকল্পের প্রদত্ত মানক ESLint কনফিগারেশন অনুসরণ করুন +- শিক্ষার্থীদের জন্য অর্থপূর্ণ ভেরিয়েবল এবং ফাংশন নাম ব্যবহার করুন +- ধারণা বোঝাতে মন্তব্য যোগ করুন +- Prettier এর মাধ্যমে ফরম্যাটিং করুন, যেখানে কনফিগার করা আছে ### HTML/CSS -- সেম্যান্টিক HTML5 উপাদান ব্যবহার করুন -- প্রতিক্রিয়াশীল ডিজাইন নীতিমালা অনুসরণ করুন -- স্পষ্ট ক্লাস নামকরণ পদ্ধতি -- CSS কৌশলগুলো শিক্ষার্থীদের জন্য ব্যাখ্যা সহ কমেন্ট করুন +- সেমান্টিক HTML5 উপাদান ব্যবহার করুন +- প্রতিক্রিয়াশীল ডিজাইন নীতি অনুসরণ করুন +- স্পষ্ট ক্লাস নামকরণ পদ্ধতি ব্যবহার করুন +- শিক্ষার্থীদের জন্য CSS কৌশল ব্যাখ্যাকারী মন্তব্য যোগ করুন -### পাইথন +### Python -- PEP 8 স্টাইল গাইডলাইন অনুসরণ করুন -- স্পষ্ট, শিক্ষামূলক কোড উদাহরণ দিন -- শেখার জন্য যেখানে দরকার, টাইপ হিন্ট যুক্ত করুন +- PEP 8 স্টাইল গাইড অনুসরণ করুন +- পরিষ্কার, শিক্ষামূলক কোড উদাহরণ দিন +- শেখার জন্য দরকার হলে টাইপ হিন্ট ব্যবহার করুন -### মার্কডাউন ডকুমেন্টেশন +### Markdown ডকুমেন্টেশন -- স্পষ্ট হেডিং হায়ারার্কি বজায় রাখুন -- ভাষা নির্দিষ্ট করে কোড ব্লক ব্যবহার করুন +- স্পষ্ট হেডিং হায়ারার্কি রাখুন +- ভাষা নির্দিষ্ট কোড ব্লক ব্যবহার করুন - অতিরিক্ত রিসোর্সের লিঙ্ক দিন -- `images/` ফোল্ডারে স্ক্রীনশট এবং ছবি সংরক্ষণ করুন -- প্রাপ্যতায় ছবির জন্য Alt টেক্সট দিন +- `images/` ডিরেক্টরির মধ্যে স্ক্রিনশট ও ছবি সংযুক্ত করুন +- এক্সেসিবিলিটির জন্য ছবি alt টেক্সট যোগ করুন ### ফাইল সংগঠন -- লেসন নম্বর ধারাবাহিকভাবে (1-getting-started-lessons, 2-js-basics ইত্যাদি) -- প্রতিটি প্রজেক্টের `solution/` এবং প্রায়শই `start/` বা `your-work/` ডিরেক্টরি থাকে -- লেসন-নির্দিষ্ট `images/` ফোল্ডারে ছবি সংরক্ষণ -- অনুবাদ থাকে `translations/{language-code}/` কাঠামোতে +- লেসন নম্বর ক্রমানুসারে (1-getting-started-lessons, 2-js-basics ইত্যাদি) +- প্রতিটি প্রকল্পে `solution/` এবং প্রায়ই `start/` বা `your-work/` ডিরেক্টরি থাকে +- লেসন-নির্দিষ্ট `images/` ফোল্ডারে ছবি সংরক্ষণ করুন +- অনুবাদ `translations/{language-code}/` স্ট্রাকচারে সংরক্ষিত ## বিল্ড এবং ডিপ্লয়মেন্ট ### কুইজ অ্যাপ ডিপ্লয়মেন্ট (Azure Static Web Apps) -quiz-app Azure Static Web Apps এ ডিপ্লয়মেন্টের জন্য কনফিগার করা হয়েছে: +কুইজ অ্যাপ Azure Static Web Apps ডিপ্লয়মেন্টের জন্য কনফিগার করা: ```bash cd quiz-app npm run build # dist/ ফোল্ডার তৈরি করে -# main-এ push করার সময় GitHub Actions ওয়ার্কফ্লোর মাধ্যমে ডিপ্লয় করে +# মূল ব্রাঞ্চে পুশ করার সময় GitHub Actions ওয়ার্কফ্লোর মাধ্যমে ডিপ্লয় করে ``` Azure Static Web Apps কনফিগারেশন: @@ -193,7 +193,7 @@ Azure Static Web Apps কনফিগারেশন: - **আউটপুট অবস্থান**: `dist` - **ওয়ার্কফ্লো**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` -### ডকুমেন্টেশন PDF তৈরি +### ডকুমেন্টেশন PDF জেনারেশন ```bash npm install # docsify-to-pdf ইনস্টল করুন @@ -204,79 +204,79 @@ npm run convert # ডক্স থেকে পিডিএফ ত ```bash npm install -g docsify-cli # গ্লোবালি Docsify ইনস্টল করুন -docsify serve # লোকালহোস্ট:3000 এ পরিবেশন করুন +docsify serve # লোকালহোস্ট:3000 এ পরিষেবা দিন ``` -### প্রজেক্ট-নির্দিষ্ট বিল্ড +### প্রকল্প-নির্দিষ্ট বিল্ড -প্রতিটি প্রজেক্ট ডিরেক্টরির নিজস্ব বিল্ড প্রক্রিয়া থাকতে পারে: -- Vue প্রজেক্ট: `npm run build` প্রোডাকশন বান্ডেল তৈরি করে -- স্ট্যাটিক প্রজেক্ট: বিল্ড ধাপ নেই, সরাসরি ফাইল পরিবেশন +প্রত্যেক প্রকল্পের আলাদা বিল্ড প্রক্রিয়া থাকতে পারে: +- Vue প্রকল্প: `npm run build` দিয়ে প্রোডাকশন বান্ডেল তৈরি করা হয় +- স্ট্যাটিক প্রকল্প: বিল্ড স্টেপ নেই, সরাসরি ফাইল পরিবেশন -## পুল রিকোয়েস্ট গাইডলাইন +## পুল রিকোয়েস্ট নির্দেশিকা -### শিরোনাম ফরম্যাট +### শিরোনামের ফরম্যাট -পরিবর্তনের ক্ষেত্র স্পষ্টভাবে উল্লেখ করে স্পষ্ট ও বর্ণনামূলক শিরোনাম ব্যবহার করুন: -- `[Quiz-app] Add new quiz for lesson X` -- `[Lesson-3] Fix typo in terrarium project` -- `[Translation] Add Spanish translation for lesson 5` -- `[Docs] Update setup instructions` +পরিবর্তনের ক্ষেত্র নির্দেশ করে স্পষ্ট, বর্ণনামূলক শিরোনাম ব্যবহার করুন: +- `[Quiz-app] লেসন X এর জন্য নতুন কুইজ যোগ করুন` +- `[Lesson-3] টেরারিয়াম প্রকল্পের টাইপো ঠিক করুন` +- `[Translation] লেসন ৫ এর স্প্যানিশ অনুবাদ যোগ করুন` +- `[Docs] সেটআপ নির্দেশাবলী আপডেট করুন` -### প্রয়োজনীয় যাচাই +### প্রয়োজনীয় চেক -PR জমা দেওয়ার আগে: +PR সাবমিট করার আগে: -1. **কোড মান**: - - প্রভাবিত প্রজেক্ট ডিরেক্টরিতে `npm run lint` চালান - - সব লিন্টিং ত্রুটি ও সতর্কতা ঠিক করুন +1. **কোড কোয়ালিটি**: + - প্রভাবিত প্রকল্প ডিরেক্টরিতে `npm run lint` চালান + - সব লিন্টিং এরর এবং ওয়ার্নিং ঠিক করুন 2. **বিল্ড যাচাই**: - - যেখানে প্রযোজ্য, `npm run build` চালান - - কোন বিল্ড ত্রুটি নেই তা নিশ্চিত করুন + - প্রযোজ্য হলে `npm run build` চালান + - কোন বিল্ড এরর নেই নিশ্চিত করুন 3. **লিঙ্ক যাচাই**: - সব মার্কডাউন লিঙ্ক পরীক্ষা করুন - - ইমেজ রেফারেন্সগুলো কাজ করছে কিনা যাচাই করুন + - ছবি রেফারেন্স কাজ করছে কিনা দেখুন 4. **বিষয়বস্তু পর্যালোচনা**: - - বানান ও ব্যাকরণ পরীক্ষা করুন - - কোড উদাহরণ সঠিক এবং শিক্ষামূলক কিনা নিশ্চিত করুন - - অনুবাদগুলি প্রাথমিক অর্থ বজায় রাখে কিনা যাচাই করুন + - বানান ও ব্যাকরণ যাচাই করুন + - কোড উদাহরণ সঠিক ও শিক্ষামূলক কিনা দেখুন + - অনুবাদ মূল অর্থ বজায় রেখেছে নিশ্চিত করুন -### অবদান দেওয়ার শর্ত +### অবদানের শর্তাবলী -- Microsoft CLA (প্রথম PR এ স্বয়ংক্রিয় যাচাই) +- Microsoft CLA তে সম্মত হন (প্রথম PR এ স্বয়ংক্রিয় পরীক্ষা) - [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) অনুসরণ করুন -- বিস্তারিত নির্দেশের জন্য [CONTRIBUTING.md](./CONTRIBUTING.md) দেখুন -- প্রযোজ্য হলে PR বর্ণনায় ইস্যু নম্বর উল্লেখ করুন +- বিস্তারিত নির্দেশনার জন্য [CONTRIBUTING.md](./CONTRIBUTING.md) দেখুন +- প্রয়োজনে ইস্যু নম্বর উল্লেখ করুন PR বর্ণনায় ### পর্যালোচনা প্রক্রিয়া - PR গুলো রক্ষণাবেক্ষক ও কমিউনিটি দ্বারা পর্যালোচনা করা হয় -- শিক্ষামূলক স্পষ্টতা অগ্রাধিকার পায় -- কোড উদাহরণ সর্বোত্তম অনুশীলন অনুসরণ করে -- অনুবাদ যথাযথতা ও সাংস্কৃতিক মানানসই কিনা যাচাই করা হয় +- শিক্ষাগত পরিষ্কারতা অগ্রাধিকার পায় +- কোড উদাহরণ বর্তমান সেরা প্র্যাকটিস অনুসরণ করবে +- অনুবাদ নির্ভুলতা ও সাংস্কৃতিক উপযুক্ততা যাচাই করা হয় ## অনুবাদ ব্যবস্থা ### স্বয়ংক্রিয় অনুবাদ -- GitHub Actions এ co-op-translator ওয়ার্কফ্লো ব্যবহার করে -- ৫০+ ভাষায় স্বয়ংক্রিয় অনুবাদ -- মূল ফাইল প্রধান ডিরেক্টরিতে থাকে -- অনুবাদ ফাইল থাকে `translations/{language-code}/` ডিরেক্টরিতে +- GitHub Actions ব্যবহার করে co-op-translator ওয়ার্কফ্লো +- ৫০+ ভাষায় স্বয়ংক্রিয় অনুবাদ করে +- মূল ফাইলগুলো প্রধান ডিরেক্টরিতে থাকে +- অনূদিত ফাইল `translations/{language-code}/` ডিরেক্টরিতে থাকে -### ম্যানুয়াল অনুবাদ উন্নতি যোগ করা +### ম্যানুয়াল অনুবাদ উন্নতি যুক্ত করা -1. `translations/{language-code}/` ফোল্ডারে ফাইল অবস্থান করুন +1. `translations/{language-code}/` ডিরেক্টরিতে ফাইলটি খুঁজুন 2. কাঠামো বজায় রেখে উন্নতি করুন -3. কোড উদাহরণগুলি কার্যকর থাকবে নিশ্চিত করুন -4. স্থানীয়কৃত কুইজ বিষয়বস্তু পরীক্ষা করুন +3. কোড উদাহরণ কার্যকর থাকবে নিশ্চিত করুন +4. লোকালাইজড কুইজ বিষয়বস্তু পরীক্ষা করুন -### অনুবাদ মেটাডেটা +### অনুবাদের মেটাডাটা -অনুবাদকৃত ফাইলগুলোতে মেটাডেটা হেডার থাকে: +অনূদিত ফাইলগুলিতে মেটাডাটা হেডার থাকে: ```markdown ``` -## ডিবাগিং ও সমস্যার সমাধান +## ডিবাগিং এবং সমস্যার সমাধান ### সাধারণ সমস্যা -**কুইজ অ্যাপ স্টার্ট হয় না**: -- Node.js ভার্সন পরীক্ষা করুন (v14+ সুপারিশকৃত) -- `node_modules` ও `package-lock.json` মুছে পুনরায় `npm install` চালান -- পোর্ট সংঘর্ষ আছে কিনা দেখুন (ডিফল্ট: Vite পোর্ট ৫১৭৩) +**কুইজ অ্যাপ শুরু হয় না**: +- Node.js ভার্সন চেক করুন (v14+ সুপারিশকৃত) +- `node_modules` এবং `package-lock.json` মুছে ছাড়ুন, পুনরায় `npm install` চালান +- পোর্ট সংঘর্ষ আছে কিনা দেখুন (ডিফল্ট: Vite 5173 পোর্ট ব্যবহার করে) -**API সার্ভার স্টার্ট হয় না**: -- Node.js সংস্করণ ন্যূনতম (node >=10) নিশ্চিত করুন -- পোর্ট ইতিমধ্যে অন্যত্র ব্যবহৃত কিনা দেখুন -- সব নির্ভরশীলতা `npm install` দিয়ে ইনস্টল করুন +**API সার্ভার চালু হয় না**: +- Node.js সর্বনিম্ন সংস্করণ (node >=10) নিশ্চিত করুন +- পোর্ট ইতিমধ্যে ব্যবহৃত না হচ্ছে তা যাচাই করুন +- সব নির্ভরশীলতা ইনস্টল হয়েছে কিনা দেখুন (`npm install`) **ব্রাউজার এক্সটেনশন লোড হয় না**: -- manifest.json সঠিক ফরম্যাটে আছে কিনা যাচাই করুন -- ব্রাউজার কনসোলে ত্রুটি আছে কিনা দেখুন -- ব্রাউজার-নির্দিষ্ট এক্সটেনশন ইনস্টলেশন নির্দেশিকা অনুসরণ করুন +- manifest.json সঠিক ফরম্যাটে আছে কিনা দেখুন +- ব্রাউজার কনসোলের ত্রুটি পরীক্ষা করুন +- ব্রাউজার-নির্দিষ্ট এক্সটেনশন ইনস্টলেশন নির্দেশনা অনুসরণ করুন -**পাইথন চ্যাট প্রজেক্ট সমস্যা**: +**Python চ্যাট প্রকল্প সমস্যা**: - OpenAI প্যাকেজ ইনস্টল আছে কিনা নিশ্চিত করুন: `pip install openai` - GITHUB_TOKEN পরিবেশ পরিবর্তনশীল সেট আছে কিনা দেখুন -- GitHub Models অ্যাক্সেস অনুমতি যাচাই করুন +- GitHub Models অ্যাক্সেস পারমিশন যাচাই করুন **Docsify ডকস পরিবেশন করছে না**: -- গ্লোবালি docsify-cli ইনস্টল করুন: `npm install -g docsify-cli` -- রেপোজিটরি রুট থেকে চালান -- `docs/_sidebar.md` আছে কিনা চেক করুন +- বিশ্বব্যাপী docsify-cli ইনস্টল করুন: `npm install -g docsify-cli` +- রিপোজিটরি মূল ডিরেক্টরি থেকে চালান +- `docs/_sidebar.md` ফাইল আছে কিনা নিশ্চিত করুন ### ডেভেলপমেন্ট পরিবেশ টিপস -- HTML প্রজেক্টের জন্য VS Code লাইভ সার্ভার এক্সটেনশন ব্যবহার করুন -- ESLint এবং Prettier এক্সটেনশন ইনস্টল করুন সামঞ্জস্যপূর্ণ ফরম্যাটিংয়ের জন্য -- জাভাস্ক্রিপ্ট ডিবাগ করার জন্য ব্রাউজার DevTools ব্যবহার করুন -- Vue প্রজেক্টের জন্য Vue DevTools ব্রাউজার এক্সটেনশন ইনস্টল করুন +- HTML প্রকল্পের জন্য VS Code এর Live Server এক্সটেনশন ব্যবহার করুন +- ধারাবাহিক ফরম্যাটিংয়ের জন্য ESLint এবং Prettier এক্সটেনশন ইনস্টল করুন +- জাভাস্ক্রিপ্ট ডিবাগিং এর জন্য ব্রাউজার DevTools ব্যবহার করুন +- Vue প্রকল্পের জন্য Vue DevTools ব্রাউজার এক্সটেনশন ইনস্টল করুন -### কর্মক্ষমতার বিবেচনা +### পারফরমেন্স বিবেচনা -- অনুবাদের সংখ্যা অনেক বেশি (৫০+ ভাষা), তাই সম্পূর্ণ ক্লোন বড় হয় -- শুধুমাত্র বিষয়বস্তুতে কাজ করলে shallow clone ব্যবহার করুন: `git clone --depth 1` -- ইংরেজি বিষয়বস্তুতে কাজ করার সময় অনুবাদগুলি অনুসন্ধান থেকে বাদ দিন -- প্রথম রান-এ বিল্ড প্রক্রিয়া ধীর হতে পারে (npm install, Vite build) +- অনূদিত ফাইলের বড় পরিমাণ (৫০+ ভাষা) থাকার কারণে ফোল্ডার ক্লোন বড় হয় +- শুধুমাত্র বিষয়বস্তু নিয়ে কাজ করলে শ্যালো ক্লোন ব্যবহার করুন: `git clone --depth 1` +- ইংরেজি বিষয়বস্তুর ক্ষেত্রে অনুসন্ধান থেকে অনুবাদ বাদ দিন +- প্রথম চালনার সময় বিল্ড ধীর হতে পারে (npm install, Vite build) -## নিরাপত্তা বিবেচনা +## সুরক্ষা বিবেচনা ### পরিবেশ পরিবর্তনশীল -- API কী কখনো রেপোজিটরিতে কমিট করবেন না -- `.env` ফাইল ব্যবহার করুন (যা `.gitignore` তে রয়েছে) -- প্রয়োজনীয় পরিবেশ পরিবর্তনশীল প্রকল্প README তে ডকুমেন্ট করুন +- API কী কখনো রিপোজিটরিতে কমিট করবেন না +- `.env` ফাইল ব্যবহার করুন (যা `.gitignore` এ আছে) +- প্রকল্প README গুলোতে প্রয়োজনীয় পরিবেশ পরিবর্তনশীল ডকুমেন্ট করুন -### পাইথন প্রজেক্টসমূহ +### Python প্রকল্পসমূহ - ভার্চুয়াল এনভায়রনমেন্ট ব্যবহার করুন: `python -m venv venv` -- নির্ভরশীলতা আপডেট রাখুন -- GitHub টোকেনের জন্য ন্যূনতম অনুমতি দিন +- নির্ভরশীলতাগুলো আপডেটেড রাখুন +- GitHub টোকেন খুবই সীমিত পারমিশনে রাখা উচিত -### GitHub মডেল অ্যাক্সেস +### GitHub Models অ্যাক্সেস -- GitHub মডেলের জন্য পার্সোনাল অ্যাক্সেস টোকেন (PAT) প্রয়োজন -- টোকেন পরিবেশ পরিবর্তনশীল হিসেবে সংরক্ষণ করুন -- কখনো টোকেন বা ক্রেডেনশিয়াল কমিট করবেন না +- GitHub Models এর জন্য Personal Access Tokens (PAT) প্রয়োজন +- টোকেনগুলো পরিবেশ পরিবর্তনশীল হিসেবে সংরক্ষণ করুন +- টোকেন বা ক্রেডেনশিয়াল কখনো কমিট করবেন না ## অতিরিক্ত নোট ### লক্ষ্য শ্রোতা -- সম্পূর্ণ শুরু থেকে ওয়েব ডেভেলপমেন্ট শিখতে ইচ্ছুক -- ছাত্র ও স্ব-শিক্ষার্থী -- শ্রেণিকক্ষে পাঠক্রম ব্যবহারকারী শিক্ষকগণ -- বিষয়বস্তুটি অ্যাক্সেসিবিলিটি এবং ধাপে ধাপে দক্ষতা গড়ে তোলার জন্য ডিজাইন করা হয়েছে +- সম্পূর্ণ নবীনরা যারা ওয়েব ডেভেলপমেন্ট শিখতে চায় +- ছাত্র ও স্বশিক্ষার্থী +- শিক্ষক যারা শ্রেণিকক্ষে কারিকুলাম ব্যবহার করেন +- বিষয়বস্তু এক্সেসিবিলিটি এবং ধাপে ধাপে দক্ষতা গড়ার জন্য ডিজাইন করা হয়েছে -### শিক্ষামূলক দার্শনিকতা +### শিক্ষাগত দার্শনিকতা -- প্রজেক্ট-ভিত্তিক শিক্ষা পদ্ধতি +- প্রকল্পভিত্তিক শেখার পদ্ধতি - নিয়মিত জ্ঞান যাচাই (কুইজ) -- হাতে কোডিং অনুশীলন -- বাস্তব-জগতের প্রয়োগ উদাহরণ -- ফ্রেমওয়ার্কের আগে মৌলিক বিষয়গুলিতে ফোকাস +- হ্যান্ডস-অন কোডিং অনুশীলন +- বাস্তব জীবনের আবেদন উদাহরণ +- ফ্রেমওয়ার্ক প্রথমে না, মৌলিক বিষয় আগে শেখা -### রেপোজিটরি রক্ষণাবেক্ষণ +### রিপোজিটরি রক্ষণাবেক্ষণ - সক্রিয় শিক্ষার্থী ও অবদানকারীদের কমিউনিটি - নির্ভরশীলতা ও বিষয়বস্তু নিয়মিত আপডেট -- রক্ষণাবেক্ষক দ্বারা সমস্যা ও আলোচনা মনিটর করা হয় -- অনুবাদের আপডেট স্বয়ংক্রিয়ভাবে GitHub Actions ব্যবহার করে +- রক্ষণাবেক্ষক দ্বারা ইস্যু ও আলোচনা মনিটর করা হয় +- অনুবাদ আপডেট স্বয়ংক্রিয়ভাবে GitHub Actions থেকে -### সংশ্লিষ্ট রিসোর্স +### সম্পর্কিত রিসোর্স -- [Microsoft Learn মডিউলস](https://docs.microsoft.com/learn/) -- [Student Hub রিসোর্স](https://docs.microsoft.com/learn/student-hub/) -- শিক্ষার্থীদের জন্য প্রস্তাবিত [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) -- অতিরিক্ত কোর্স: Generative AI, Data Science, ML, IoT পাঠক্রম উপলব্ধ +- [Microsoft Learn modules](https://docs.microsoft.com/learn/) +- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/) +- শিক্ষার্থীদের জন্য [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) সুপারিশকৃত +- অতিরিক্ত কোর্স: জেনেরেটিভ AI, ডেটা সায়েন্স, ML, IoT কারিকুলাম উপলব্ধ -### নির্দিষ্ট প্রজেক্টের সাথে কাজ +### নির্দিষ্ট প্রকল্পগুলোর জন্য কাজ -বিস্তারিত নির্দেশনার জন্য প্রতিটি প্রজেক্টের README ফাইল দেখুন: -- `quiz-app/README.md` - Vue 3 কুইজ অ্যাপ -- `7-bank-project/README.md` - প্রমাণীকরণসহ ব্যাংকিং অ্যাপ্লিকেশন +বিস্তারিত নির্দেশনার জন্য প্রকল্পের README ফাইল দেখুন: +- `quiz-app/README.md` - Vue 3 কুইজ অ্যাপ্লিকেশন +- `7-bank-project/README.md` - অথেনটিকেশন সহ ব্যাংকিং অ্যাপ্লিকেশন - `5-browser-extension/README.md` - ব্রাউজার এক্সটেনশন ডেভেলপমেন্ট - `6-space-game/README.md` - ক্যানভাস-ভিত্তিক গেম ডেভেলপমেন্ট -- `9-chat-project/README.md` - AI চ্যাট অ্যাসিস্ট্যান্ট প্রজেক্ট +- `9-chat-project/README.md` - AI চ্যাট সহকারী প্রকল্প ### মনোরেপো স্ট্রাকচার -এটি প্রচলিত মনোরেপো না হলেও, এই রেপোজিটরিতে একাধিক স্বাধীন প্রজেক্ট রয়েছে: -- প্রতিটি লেসন স্বতন্ত্র -- প্রজেক্টগুলি নির্ভরশীলতা শেয়ার করে না -- একক প্রজেক্টে কাজ করুন অন্যদের প্রভাব না ফেলেই -- সম্পূর্ণ পাঠক্রম অভিজ্ঞতার জন্য পুরো রেপো ক্লোন করুন +যদিও এটি প্রচলিত মনোরেপো নয়, তবে এই রিপোজিটরিতে একাধিক স্বাধীন প্রকল্প রয়েছে: +- প্রতিটি লেসন স্বয়ংসম্পূর্ণ +- প্রকল্পসমূহে নির্ভরশীলতা শেয়ার হয় না +- একত্রে প্রভাব নেই, আলাদাভাবে প্রকল্পে কাজ করতে পারবেন +- পুরো কারিকুলামের অভিজ্ঞতা নিতে পুরো রিপোজিটরি ক্লোন করুন --- **ডিসক্লেইমার**: -এই ডকুমেন্টটি এআই অনুবাদ সেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনূদিত হয়েছে। যদিও আমরা যথাসাধ্য সঠিকতার জন্য চেষ্টা করি, স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে তা অনুগ্রহ করে বিবেচনা করুন। মুল নথিটি তার নিজস্ব ভাষায় সর্বসম্মতিকৃত উৎস হিসাবে বিবেচিত হওয়া উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানুষের করা অনুবাদের সুপারিশ করা হয়। এই অনুবাদের ব্যবহারে কোনও ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই। +এই ডকুমেন্টটি AI অনুবাদ সেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনূদিত হয়েছে। আমরা সঠিকতার জন্য চেষ্টা করি, তবে দয়া করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ডকুমেন্টের নিজস্ব ভাষাটি কর্তৃত্বপূর্ণ উৎস হিসেবে গণ্য করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদের পরামর্শ দেওয়া হয়। এই অনুবাদের ব্যবহারে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই। \ No newline at end of file diff --git a/translations/bn/README.md b/translations/bn/README.md index 3c2d3d3496..f978c31f54 100644 --- a/translations/bn/README.md +++ b/translations/bn/README.md @@ -10,29 +10,29 @@ [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -# বেগিনার্সের জন্য ওয়েব ডেভেলপমেন্ট - একটি শিক্ষাক্রম +# ওয়েব ডেভেলপমেন্ট ফর বিগিনার্স - একটি পাঠ্যক্রম -Microsoft Cloud Advocates দ্বারা পরিচালিত ১২ সপ্তাহের বিস্তৃত কোর্সের মাধ্যমে ওয়েব ডেভেলপমেন্টের মৌলিক বিষয় শিখুন। ২৪টি পাঠের প্রতিটির মধ্যে JavaScript, CSS, এবং HTML নিয়ে অন্তর্ভুক্ত রয়েছে হাতে-কলমে প্রকল্প যেমন টেরারিয়াম, ব্রাউজার এক্সটেনশন এবং স্পেস গেমস। কুইজ, আলোচনা, এবং ব্যবহারিক অ্যাসাইনমেন্টে অংশগ্রহণ করুন। আমাদের কার্যকর প্রকল্প-ভিত্তিক শিক্ষা পদ্ধতির মাধ্যমে দক্ষতা বাড়ান এবং আপনার জ্ঞানের ধারণক্ষমতা উন্নত করুন। আজই আপনার কোডিং যাত্রা শুরু করুন! +মাইক্রোসফট ক্লাউড অ্যাডভোকেটদের ১২-সাপ্তাহিক বিস্তৃত কোর্সের মাধ্যমে ওয়েব ডেভেলপমেন্টের মৌলিক বিষয়গুলি শিখুন। ২৪টি পাঠের প্রতিটি অংশে JavaScript, CSS, এবং HTML শেখানো হয় হাতেকলমে প্রকল্পগুলির মাধ্যমে যেমন টেরারিয়াম, ব্রাউজার এক্সটেনশন এবং স্পেস গেমস। কুইজ, আলোচনা এবং ব্যবহারিক নিয়োগগুলির মাধ্যমে অংশ নিন। আমাদের কার্যকর প্রকল্প-ভিত্তিক শিক্ষাদানের মাধ্যম দিয়ে আপনার দক্ষতা উন্নত করুন এবং জ্ঞান ধরে রাখার ক্ষমতা বৃদ্ধি করুন। আজই আপনার কোডিং যাত্রা শুরু করুন! Azure AI Foundry Discord কমিউনিটিতে যোগ দিন [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -এনিয়ে কাজ শুরু করতে নিম্নলিখিত ধাপগুলি অনুসরণ করুন: -1. **রিপোজিটরি ফোর্ক করুন**: [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) এ ক্লিক করুন +এই রিসোর্সগুলি ব্যবহার শুরু করার জন্য এই ধাপগুলি অনুসরণ করুন: +1. **রিপোজিটরি ফরক করুন**: ক্লিক করুন [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) 2. **রিপোজিটরি ক্লোন করুন**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**Azure AI Foundry Discord এ যোগ দিন এবং বিশেষজ্ঞ ও সহকর্মী ডেভেলপারদের সঙ্গে পরিচিত হন**](https://discord.com/invite/ByRwuEEgH4) +3. [**Azure AI Foundry Discord এ যোগ দিন এবং বিশেষজ্ঞ ও অন্যান্য ডেভেলপারদের সঙ্গে দেখা করুন**](https://discord.com/invite/ByRwuEEgH4) -### 🌐 বহু-ভাষা সমর্থন +### 🌐 বহুভাষা সমর্থন -#### GitHub Action দ্বারা সমর্থিত (স্বয়ংক্রিয় এবং সর্বদা আপ-টু-ডেট) +#### GitHub Action দ্বারা সমর্থিত (স্বয়ংক্রিয় এবং সর্বদা আপ টু ডেট) -[Arabic](../ar/README.md) | [Bengali](./README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](./README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) -> **লোকালিতে ক্লোন করতে ইচ্ছুক?** +> **স্থানীয়ভাবে ক্লোন করতে চান?** > -> এই রিপোজিটরিটিতে ৫০+ ভাষায় অনুবাদ অন্তর্ভুক্ত রয়েছে যা ডাউনলোড সাইজ উল্লেখযোগ্যভাবে বৃদ্ধি করে। অনুবাদ ছাড়া ক্লোন করতে স্পার্স চেকআউট ব্যবহার করুন: +> এই রিপোজিটরিতে ৫০+ ভাষায় অনুবাদ রয়েছে যা ডাউনলোড সাইজ অনেক বাড়িয়ে দেয়। অনুবাদ ছাড়া ক্লোন করতে স্পারস চেকআউট ব্যবহার করুন: > > **Bash / macOS / Linux:** > ```bash @@ -48,172 +48,171 @@ Azure AI Foundry Discord কমিউনিটিতে যোগ দিন > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> এভাবে আপনি খুব দ্রুত ডাউনলোডের মাধ্যমে পুরো কোর্স সম্পন্ন করতে যা যা প্রয়োজন তা পাবেন। +> এটি আপনাকে দ্রুত ডাউনলোডের মাধ্যমে কোর্সটি সম্পন্ন করার জন্য প্রয়োজনীয় সবকিছু দেবে। -**আপনি যদি অতিরিক্ত অনুবাদ ভাষাসমূহ চাইতে চান, তারা [এখানে](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md) তালিকাভুক্ত আছে** +**অতিরিক্ত অনুবাদের ভাষা সমর্থন করতে চাইলে এখানে তালিকাভুক্ত রয়েছে [এখানে](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** [![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) -#### 🧑‍🎓 _আপনি কি ছাত্র?_ +#### 🧑‍🎓 _আপনি কি একজন ছাত্র?_ -[**Student Hub পেজে যান**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) যেখানে আপনি মূল বিষয়, ছাত্রদের জন্য প্যাক এবং এমনকি একটি ফ্রি সার্টিফিকেট ভাউচার পাওয়ার উপায় পাবেন। এটি এমন একটি পেজ যা আপনি বুকমার্ক করে মাঝে মাঝে দেখতে চাইবেন কারণ আমরা মাসিক ভিত্তিতে বিষয়বস্তু পরিবর্তন করি। +[**স্টুডেন্ট হাব পেজ**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) পরিদর্শন করুন যেখানে আপনি প্রারম্ভিক রিসোর্স, ছাত্র প্যাক এবং এমনকি একটি ফ্রি সার্টিফিকেট ভাউচারের উপায় পাবেন। এটি সেই পেজ যা আপনি বুকমার্ক করে মাঝে মধ্যে চেক করবেন কারণ আমরা প্রায় মাসিকভিত্তিতে বিষয়বস্তু পরিবর্তন করি। -### 📣 ঘোষণা - নতুন GitHub Copilot Agent মোড চ্যালেঞ্জ সম্পূর্ণ করুন! +### 📣 ঘোষণা - নতুন GitHub Copilot Agent মোড চ্যালেঞ্জসমূহ সম্পন্ন করার জন্য! -নতুন চ্যালেঞ্জ যুক্ত হয়েছে, বেশিরভাগ অধ্যায়ে "GitHub Copilot Agent Challenge 🚀" খুঁজুন। এটি আপনাদের জন্য GitHub Copilot এবং Agent মোড ব্যবহার করে নতুন একটি চ্যালেঞ্জ। যদি আগে Agent মোড ব্যবহার না করে থাকেন, এটি কেবল টেক্সট তৈরি করে না, এছাড়াও ফাইল তৈরি ও সম্পাদনা করতে, কমান্ড রান করতে এবং আরও অনেক কিছু করতে সক্ষম। +নতুন চ্যালেঞ্জ যুক্ত হয়েছে, অধিকাংশ অধ্যায়ে "GitHub Copilot Agent Challenge 🚀" খুঁজুন। এটি একটি নতুন চ্যালেঞ্জ যা GitHub Copilot এবং Agent মোড ব্যবহার করে সম্পন্ন করতে হবে। আপনি যদি আগে Agent মোড ব্যবহার না করে থাকেন, এটি শুধু টেক্সট তৈরি নয়, ফাইল তৈরি ও সম্পাদনা, কমান্ড চালানো এবং আরও অনেক কাজ করতে সক্ষম। -### 📣 ঘোষণা - _Generative AI ব্যবহার করে নতুন প্রকল্প তৈরি করুন_ +### 📣 ঘোষণা - _Generative AI ব্যবহার করে নতুন প্রকল্প তৈরি_ -নতুন AI অ্যাসিস্ট্যান্ট প্রকল্প যোগ করা হয়েছে, দেখে নিন [প্রকল্প](./9-chat-project/README.md) +নতুন AI সহকারী প্রকল্প সাম্প্রতিক যোগ হয়েছে, এটি পরীক্ষা করুন [প্রকল্প](./9-chat-project/README.md) -### 📣 ঘোষণা - _Generative AI_ জন্য জাভাস্ক্রিপ্টের নতুন শিক্ষাক্রম প্রকাশিত হয়েছে +### 📣 ঘোষণা - _Generative AI বিষয়ক নতুন পাঠ্যক্রম_ JavaScript এর জন্য এখন প্রকাশিত হয়েছে -আমাদের নতুন Generative AI শিক্ষাক্রম মিস করবেন না! +আমাদের নতুন Generative AI পাঠ্যক্রম মিস করবেন না! -শুরু করতে যান [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) +শুরু করতে যান [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) এ! ![Background](../../translated_images/bn/background.148a8d43afde5730.webp) -- বেসিক থেকে RAG পর্যন্ত সবকিছু কভার করে লেসন। -- GenAI এবং আমাদের কম্পানিয়ন অ্যাপ ব্যবহার করে ঐতিহাসিক চরিত্রদের সঙ্গে যোগাযোগ করুন। -- মজার এবং আকর্ষণীয় বর্ণনা, আপনি টাইম ট্রাভেল করবেন! +- মৌলিক থেকে RAG পর্যন্ত সমস্ত বিষয় শেখানো হয়েছে। +- ইতিহাসের চরিত্রদের সঙ্গে GenAI ও আমাদের সঙ্গী অ্যাপ ব্যবহার করে মিথস্ক্রিয়া করুন। +- মজাদার এবং আকর্ষণীয় বর্ণনা, আপনি সময় ভ্রমণে যাচ্ছেন! ![character](../../translated_images/bn/character.5c0dd8e067ffd693.webp) - -প্রতিটি লেসনে থাকে একটি অ্যাসাইনমেন্ট, একটি জ্ঞান যাচাইকরণ এবং একটি চ্যালেঞ্জ যা আপনাকে এই বিষয়গুলো শেখার জন্য গাইড করবে: -- প্রোম্পটিং এবং প্রোম্পট ইঞ্জিনিয়ারিং -- টেক্সট এবং চিত্র অ্যাপ তৈরী +প্রতিটি পাঠে রয়েছে সম্পন্ন করার জন্য নিয়োগ, একটি জ্ঞানের পরীক্ষা এবং একটি চ্যালেঞ্জ, যা আপনাকে শিখতে সাহায্য করবে যেমন: +- প্রম্পটিং এবং প্রম্পট ইঞ্জিনিয়ারিং +- টেক্সট ও ইমেজ অ্যাপ তৈরি - সার্চ অ্যাপস -শুরু করতে যান [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) +শুরু করতে যান [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) এ! ## 🌱 শুরু করা -> **শিক্ষকবৃন্দ**, আমরা [কিছু সুপারিশ](for-teachers.md) অন্তর্ভুক্ত করেছি কিভাবে এই শিক্ষাক্রম ব্যবহার করবেন। আপনার মতামত দিতে অনুগ্রহ করে আমাদের [আলোচনা ফোরামে](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner) যোগ দিন! +> **শিক্ষকগণ**, আমরা [কিছু প্রস্তাবনা অন্তর্ভুক্ত করেছি](for-teachers.md) এই পাঠ্যক্রমটি ব্যবহার করার জন্য। আপনার মতামত আমাদের [আলোচনা ফোরামে](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner) শেয়ার করতে চাইব! -**[শিক্ষানবিসগণ](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, প্রতিটি লেসনের জন্য, একটি প্রি-লেকচার কুইজ দিয়ে শুরু করুন এবং পড়ুন লেকচারের উপকরণ, নানা কার্যক্রম সম্পন্ন করুন এবং পোস্ট-লেকচার কুইজের মাধ্যমে আপনার বোঝাপড়া যাচাই করুন। +**[শিক্ষার্থীগণ](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, প্রতিটি পাঠের জন্য, একটি প্রাক-লেকচার কুইজ দিয়ে শুরু করুন এবং লেকচার উপকরণ পড়ে, বিভিন্ন কার্যকলাপ সম্পন্ন করুন এবং পরবর্তী-লেকচার কুইজের মাধ্যমে আপনার বোঝাপড়া যাচাই করুন। -আপনার শেখার অভিজ্ঞতা উন্নত করতে, আপনার সহপাঠীদের সঙ্গে সংযুক্ত হোন এবং একসাথে প্রকল্পে কাজ করুন! আমাদের [আলোচনা ফোরামে](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) আলোচনা উৎসাহিত করা হয় যেখানে আমাদের মধ্যস্থতাকারীদের একটি দল থাকবে যারা আপনার প্রশ্নের উত্তর দেবেন। +আপনার শেখার অভিজ্ঞতা উন্নত করার জন্য, সহপাঠীদের সঙ্গে প্রকল্পে একসঙ্গে কাজ করার জন্য সংযুক্ত হোন! আমাদের [আলোচনা ফোরামে](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) আলোচনা উৎসাহিত এবং সেখানে আমাদের মনিটারিং টিম আপনার প্রশ্নের উত্তর দেবে। -আপনার শিক্ষাকে আরো বাড়াতে, আমরা অত্যন্ত সুপারিশ করছি [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) পর্যালোচনা করার জন্য অতিরিক্ত অধ্যয়ন উপকরণ। +আপনার শিক্ষাকে আরও বাড়াতে, আমরা অতিরিক্ত অধ্যয়নের জন্য [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) অন্বেষণ করার পরামর্শ দিই। ### 📋 আপনার পরিবেশ সেটআপ করা -এই শিক্ষাক্রমের জন্য একটি ডেভেলপমেন্ট পরিবেশ প্রস্তুত আছে! আপনি শুরু করার সময় আপনি অবশ্যই [Codespace](https://github.com/features/codespaces/) (_ব্রাউজার ভিত্তিক, ইনস্টলেশন ছাড়াই পরিবেশ_), অথবা আপনার নিজের কম্পিউটারে একটি টেক্সট এডিটর যেমন [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ব্যবহার করে চালাতে পারেন। +এই পাঠ্যক্রমের জন্য একটি ডেভেলপমেন্ট পরিবেশ প্রস্তুত আছে! শুরু করার সময় আপনি এই পাঠ্যক্রমটি চালাতে পারবেন একটি [Codespace](https://github.com/features/codespaces/) (_একটি ব্রাউজার-ভিত্তিক, ইনস্টলেশনের প্রয়োজনহীন পরিবেশ_), অথবা স্থানীয়ভাবে আপনার কম্পিউটারে [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) এর মতো একটি টেক্সট এডিটর ব্যবহার করে। #### আপনার রিপোজিটরি তৈরি করুন -আপনার কাজ সহজে সংরক্ষণের জন্য, এটি সুপারিশ করা হয় যে আপনি এই রিপোজিটরির একটি কপি তৈরি করুন। এটি করতে পারেন পেইজের উপরের দিকের **Use this template** বাটনে ক্লিক করে। এটি আপনার GitHub অ্যাকাউন্টে শিক্ষাক্রমের একটি কপি সহ একটি নতুন রিপোজিটরি তৈরি করবে। +আপনার কাজ সহজে সংরক্ষণ করার জন্য, আপনার নিজস্ব একটি কপি তৈরি করার সুপারিশ করা হয়। এটি করতে, এই পৃষ্ঠার উপরের দিকে "Use this template" বোতামে ক্লিক করুন। এটি আপনার GitHub অ্যাকাউন্টে একটি নতুন রিপোজিটরি তৈরি করবে যার মধ্যে পাঠ্যক্রমের একটি কপি থাকবে। -নিম্নলিখিত ধাপ অনুসরণ করুন: -1. **রিপোজিটরি ফোর্ক করুন**: পেইজের উপরের-ডান কোণে "Fork" বাটনে ক্লিক করুন। +এই ধাপগুলি অনুসরণ করুন: +1. **রিপোজিটরি ফরক করুন**: এই পৃষ্ঠার উপরের ডানদিকে কোণে "Fork" বোতামে ক্লিক করুন। 2. **রিপোজিটরি ক্লোন করুন**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -#### Codespace এ শিক্ষাক্রম চালানো +#### Codespace এ পাঠ্যক্রম চালানো -আপনি যে কপি তৈরি করেছেন সেখান থেকে **Code** বাটনে ক্লিক করুন এবং **Open with Codespaces** নির্বাচন করুন। এটি আপনার কাজের জন্য একটি নতুন Codespace তৈরি করবে। +আপনি যে কপি তৈরি করেছেন, সেখানে **Code** বোতাম ক্লিক করুন এবং **Open with Codespaces** নির্বাচন করুন। এটি একটি নতুন Codespace তৈরি করবে যেখানে আপনি কাজ করতে পারবেন। ![Codespace](../../translated_images/bn/createcodespace.0238bbf4d7a8d955.webp) -#### আপনার কম্পিউটারে লোকালি শিক্ষাক্রম চালানো +#### স্থানীয়ভাবে আপনার কম্পিউটারে পাঠ্যক্রম চালানো -আপনার কম্পিউটারে লোকালি শিক্ষাক্রম চালানোর জন্য একটি টেক্সট এডিটর, একটি ব্রাউজার এবং একটি কমান্ড লাইন টুল দরকার। আমাদের প্রথম লেসন, [প্রোগ্রামিং ভাষা ও ট্রেডের সরঞ্জাম পরিচিতি](../../1-getting-started-lessons/1-intro-to-programming-languages), আপনাকে বিভিন্ন বিকল্প নিয়ে গাইড করবে যাতে আপনি যা সবচেয়ে ভালো মনে করেন তা নির্বাচন করতে পারবেন। +এই পাঠ্যক্রম স্থানীয়ভাবে চালাতে আপনার একটি টেক্সট এডিটর, একটি ব্রাউজার এবং একটি কমান্ড লাইন টুলের প্রয়োজন হবে। আমাদের প্রথম পাঠ, [Introduction to Programming Languages and Tools of the Trade](../../1-getting-started-lessons/1-intro-to-programming-languages), আপনাকে বিভিন্ন টুলের বিকল্পগুলি দেখিয়ে দেবে যাতে আপনি আপনার পছন্দের নির্বাচন করতে পারেন। -আমাদের সুপারিশ হলো [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ব্যবহার করা, যা একটি বিল্ট-ইন [টার্মিনাল](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) অফার করে। Visual Studio Code ডাউনলোড করতে পারেন [এখানে](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)। -1. আপনার রিপোজিটরি আপনার কম্পিউটারে ক্লোন করুন। আপনি এটি করতে পারেন **Code** বোতামে ক্লিক করে এবং URL কপি করে: +আমাদের সুপারিশ হল [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ব্যবহার করা, যেটির একটি বিল্ট-ইন [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) রয়েছে। Visual Studio Code ডাউনলোড করতে পারেন [এখানে](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)। +1. আপনার কম্পিউটারে আপনার রিপোজিটরি ক্লোন করুন। আপনি এটি করতে পারেন **Code** বোতামে ক্লিক করে এবং URL কপি করে: [CodeSpace](./images/createcodespace.png) - তারপর, [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) এর ভিতরে [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) খুলুন এবং নিম্নলিখিত কমান্ডটি চালান, `` এর জায়গায় আপনি যেই URL কপি করেছেন তা বসান: + তারপর, [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) এর মধ্যে [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) খুলুন এবং নীচের কমান্ডটি চালান, `` এর পরিবর্তে আপনি যে URL কপি করেছেন তা বসান: ```bash git clone ``` -2. Visual Studio Code এ ফোল্ডারটি খুলুন। আপনি এটি করতে পারেন **File** > **Open Folder** ক্লিক করে এবং যেই ফোল্ডারটি আপনি ক্লোন করেছেন তা নির্বাচন করে। +2. ভিজুয়াল স্টুডিও কোডে ফোল্ডারটি খুলুন। আপনি এটি করতে পারেন **File** > **Open Folder** এ ক্লিক করে এবং আপনি যা ক্লোন করেছেন সেই ফোল্ডারটি নির্বাচন করে। -> নির্দেশিত Visual Studio Code এক্সটেনশনসমূহ: +> সুপারিশকৃত ভিজুয়াল স্টুডিও কোড এক্সটেনশনসমূহ: > -> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - Visual Studio Code এর ভিতরে HTML পেজ প্রিভিউ করতে -> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - কোড লেখার গতি বাড়াতে সাহায্য করার জন্য +> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - ভিজুয়াল স্টুডিও কোডের মধ্যে HTML পৃষ্ঠাগুলো প্রিভিউ করার জন্য +> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - কোড দ্রুত লেখায় সাহায্য করার জন্য -## 📂 প্রতিটি পাঠ অন্তর্ভুক্ত করে: +## 📂 প্রতিটি পাঠে আছে: -- ঐচ্ছিক স্কেচনোট -- ঐচ্ছিক পরিপূরক ভিডিও -- পূর্ব-পাঠ ওয়ার্মআপ কুইজ +- ঐচ্ছিক স্কেচ নোট +- ঐচ্ছিক সম্পূরক ভিডিও +- পাঠের আগে ওয়ার্মআপ কুইজ - লিখিত পাঠ -- প্রকল্প-ভিত্তিক পাঠের জন্য, ধাপে ধাপে গাইড যে প্রকল্পটি কীভাবে তৈরি করতে হয় -- জ্ঞান যাচাই +- প্রকল্প-ভিত্তিক পাঠগুলোর জন্য, প্রকল্প তৈরির ধাপে ধাপে গাইড +- জ্ঞানের যাচাই - একটি চ্যালেঞ্জ -- পরিপূরক পাঠ +- পরিপূরক পড়াশোনা - অ্যাসাইনমেন্ট -- [পোস্ট-পাঠ কুইজ](https://ff-quizzes.netlify.app/web/) +- [পাঠ পরবর্তী কুইজ](https://ff-quizzes.netlify.app/web/) -> **কুইজ সম্পর্কে একটি নোট**: সব কুইজ `Quiz-app` ফোল্ডারে আছে, মোট ৪৮টি কুইজ যাদের প্রত্যেকটি তিনটি প্রশ্ন নিয়ে গঠিত। এগুলো [এখানে](https://ff-quizzes.netlify.app/web/) পাওয়া যায় এবং কুইজ অ্যাপটি লোকালি চালানো যেতে পারে অথবা Azure তে ডেপ্লয় করা যেতে পারে; `quiz-app` ফোল্ডারের মধ্যে নির্দেশনা অনুসরণ করুন। +> **কুইজ সম্পর্কে একটি নোট**: সমস্ত কুইজ Quiz-app ফোল্ডারে রয়েছে, মোট ৪৮ টি কুইজ, প্রতিটি তিনটি প্রশ্নের। সেগুলো এখানে উপলভ্য [এখানে](https://ff-quizzes.netlify.app/web/)। কুইজ অ্যাপ স্থানীয়ভাবে চালানো বা Azure এ ডিপ্লয় করা যেতে পারে; নির্দেশনা `quiz-app` ফোল্ডারে অনুসরণ করুন। ## 🗃️ পাঠসমূহ -| | প্রকল্পের নাম | শেখানো ধারণাসমূহ | শেখার উদ্দেশ্য | লিঙ্ক করা পাঠ | লেখক | -| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :-------------------: | -| 01 | শুরু করা | প্রোগ্রামিং এবং ট্রেড টুলসের পরিচিতি | অধিকাংশ প্রোগ্রামিং ভাষার মৌলিক ধারণা এবং সফটওয়্যার সম্পর্কে জানুন যা পেশাদার ডেভেলপারদের কাজে সাহায্য করে | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | শুরু করা | GitHub এর মৌলিক বিষয়, একটি টিমের সাথে কাজ করা | GitHub আপনার প্রকল্পে কীভাবে ব্যবহার করবেন, এবং কিভাবে অন্যদের সাথে কোড বেসে সহযোগিতা করবেন | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | শুরু করা | অ্যাকসেসিবিলিটি | ওয়েব অ্যাক্সেসিবিলিটির মৌলিক বিষয় শিখুন | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | JS মৌলিক | JavaScript ডেটা টাইপ | JavaScript ডেটা টাইপের মৌলিক বিষয় | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | JS মৌলিক | ফাংশন এবং মেথড | অ্যাপ্লিকেশনের লজিক নিয়ন্ত্রণ করার জন্য ফাংশন এবং মেথড সম্পর্কে শিখুন | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher | -| 06 | JS মৌলিক | JS দিয়ে সিদ্ধান্ত গ্রহণ | কোডে শর্ত তৈরি করার জন্য সিদ্ধান্ত গ্রহণ পদ্ধতি সম্পর্কে শিখুন | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | JS মৌলিক | অ্যারে এবং লুপস | JavaScript এ অ্যারে এবং লুপ ব্যবহার করে ডেটার উপর কাজ করুন | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML অনুশীলন | একটি অনলাইন টেরারিয়াম তৈরি করতে HTML তৈরি করুন, মূলত লেআউট তৈরি করার উপর ফোকাস করুন | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS অনুশীলন | অনলাইন টেরারিয়ামের CSS তৈরি করুন, CSS এর মৌলিক বিষয় এবং পেজকে রেসপন্সিভ করার উপরে ফোকাস করুন | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript ক্লোজার, DOM ম্যানিপুলেশন | টেরারিয়ামকে ড্র্যাগ/ড্রপ ইন্টারফেস হিসেবে কাজ করানোর জন্য JavaScript তৈরি করুন, ক্লোজার এবং DOM ম্যানিপুলেশনের উপর ফোকাস করুন | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [টাইপিং গেম](./4-typing-game/solution/README.md) | টাইপিং গেম তৈরি | কী-বোর্ড ইভেন্ট ব্যবহার করে JavaScript অ্যাপের লজিক ড্রাইভ করা শিখুন | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [গ্রিন ব্রাউজার এক্সটেনশন](./5-browser-extension/solution/README.md) | ব্রাউজারের কাজ | ব্রাউজার কিভাবে কাজ করে, এর ইতিহাস এবং ব্রাউজার এক্সটেনশনের প্রথম উপাদানগুলো স্ক্যাফোল্ড করা শিখুন | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [গ্রিন ব্রাউজার এক্সটেনশন](./5-browser-extension/solution/README.md) | ফর্ম তৈরি, API কল এবং লোকাল স্টোরেজে ভেরিয়েবল সংরক্ষণ | API কল করার জন্য ব্রাউজার এক্সটেনশনের JavaScript উপাদান তৈরি করুন যা লোকাল স্টোরেজে সঞ্চিত ভেরিয়েবল ব্যবহার করে | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [গ্রিন ব্রাউজার এক্সটেনশন](./5-browser-extension/solution/README.md) | ব্রাউজারের ব্যাকগ্রাউন্ড প্রসেস, ওয়েব পারফরম্যান্স | এক্সটেনশনের আইকন ম্যানেজ করার জন্য ব্রাউজারের ব্যাকগ্রাউন্ড প্রসেস ব্যবহার করুন; ওয়েব পারফরম্যান্স এবং কিছু অপ্টিমাইজেশন শিখুন | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [স্পেস গেম](./6-space-game/solution/README.md) | জাভাস্ক্রিপ্ট দিয়ে উন্নত গেম ডেভেলপমেন্ট | ক্লাস এবং কম্পোজিশন ব্যবহার করে ইনহেরিটেন্স এবং পাব/সাব প্যাটার্ন সম্পর্কে শিখুন, গেম তৈরির প্রস্তুতিতে | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [স্পেস গেম](./6-space-game/solution/README.md) | ক্যানভাসে আঁকা | ক্যানভাস API সম্পর্কে জানুন, যা স্ক্রিনে এলিমেন্ট আঁকার জন্য ব্যবহৃত হয় | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [স্পেস গেম](./6-space-game/solution/README.md) | স্ক্রিনে এলিমেন্টগুলি সরানো | কিভাবে কার্টেসিয়ান কোঅর্ডিনেট এবং ক্যানভাস API ব্যবহার করে এলিমেন্টগুলি গতি লাভ করতে পারে তা আবিষ্কার করুন | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [স্পেস গেম](./6-space-game/solution/README.md) | সংঘর্ষ সনাক্তকরণ | কীপ্রেস ব্যবহার করে এলিমেন্টগুলিকে সংঘর্ষ করতে এবং একে অপরের সাথে প্রতিক্রিয়া করতে দিন এবং গেমের পারফরম্যান্স নিশ্চিত করতে কুলডাউন ফাংশন দিন | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [স্পেস গেম](./6-space-game/solution/README.md) | স্কোর রাখা | গেমের অবস্থা এবং পারফরম্যান্সের উপর ভিত্তি করে গাণিতিক হিসাব নির্ণয় করুন | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [স্পেস গেম](./6-space-game/solution/README.md) | গেম শেষ করা এবং পুনরায় শুরু করা | গেম শেষ করা এবং পুনরায় শুরু করার সম্পর্কে শিখুন, যার মধ্যে রয়েছে অ্যাসেট পরিষ্কার করা এবং ভেরিয়েবল মান রিসেট করা | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | ওয়েব অ্যাপে HTML টেমপ্লেট এবং রাউট | রাউটিং এবং HTML টেমপ্লেট ব্যবহার করে একটি মাল্টিপেজ ওয়েবসাইটের স্থাপত্য তৈরি করতে শিখুন | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | লগইন এবং রেজিস্ট্রেশন ফর্ম তৈরি | ফর্ম তৈরি এবং ভ্যালিডেশন রুটিন হ্যান্ডল করার ব্যাপারে শিখুন | [Forms](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | ডেটা পাওয়া এবং ব্যবহার করার পদ্ধতি | অ্যাপে কীভাবে ডেটা প্রবাহিত হয়, কীভাবে এটি আনা, সংরক্ষণ এবং নিষ্কাশন করা হয় সে সম্পর্কে জানুন | [Data](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | স্টেট ম্যানেজমেন্টের ধারণা | কীভাবে আপনার অ্যাপ স্টেট ধরে রাখে এবং কীভাবে প্রোগ্রাম্যাটিকভাবে তা নিয়ন্ত্রণ করে সে সম্পর্কে শিখুন | [State Management](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Browser/VScode Code](../../8-code-editor) | VScode এর সাথে কাজ করা | একটি কোড এডিটর ব্যবহার করা শিখুন| [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [AI Assistants](./9-chat-project/README.md) | AI এর সাথে কাজ করা | আপনার নিজস্ব AI সহকারী তৈরি করা শিখুন | [AI Assistant project](./9-chat-project/README.md) | Chris | - -## 🏫 পেডাগজি - -আমাদের কারিকুলাম দুটি মূল শিক্ষাগত নীতির উপর ভিত্তি করে ডিজাইন করা হয়েছে: -* প্রকল্প-ভিত্তিক শেখা +| | প্রকল্পের নাম | শেখানো ধারণাসমূহ | শেখার উদ্দেশ্য | লিঙ্ক করা পাঠ | লেখক | +| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | +| 01 | Getting Started | প্রোগ্রামিংয়ের পরিচিতি এবং টুলস অব দ্য ট্রেড | অধিকাংশ প্রোগ্রামিং ভাষার মৌলিক ধারণা ও সফটওয়্যার সম্পর্কে শিখুন যা পেশাদার ডেভেলপারদের কাজকে সাহায্য করে | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Getting Started | গিটহাবের বেসিকস, দলের সাথে কাজসহ | আপনার প্রকল্পে গিটহাব কীভাবে ব্যবহার করবেন, কীভাবে অন্যদের সঙ্গে কোড বেসে সহযোগিতা করবেন | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Getting Started | প্রবেশযোগ্যতা | ওয়েব প্রবেশযোগ্যতার মৌলিক ধারণা শিখুন | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | JS Basics | জাভাস্ক্রিপ্ট ডেটা টাইপস | জাভাস্ক্রিপ্ট ডেটা টাইপের বেসিকস | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | JS Basics | ফাংশন এবং মেথডস | অ্যাপ্লিকেশনের লজিক ফ্লো পরিচালনার জন্য ফাংশন এবং মেথড সম্পর্কে শিখুন | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher | +| 06 | JS Basics | জাভাস্ক্রিপ্ট দিয়ে সিদ্ধান্ত নেওয়া | কোডে শর্ত তৈরি করা শিখুন, সিদ্ধান্ত গ্রহণ পদ্ধতি ব্যবহার করে | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | JS Basics | অ্যারে ও লুপ | জাভাস্ক্রিপ্টে অ্যারে এবং লুপ ব্যবহার করে ডেটার সাথে কাজ করুন | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML অনুশীলন | একটি অনলাইন টেরারিয়াম তৈরি করার জন্য HTML নির্মাণ করুন, লেআউট তৈরিতে ফোকাস করুন | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS অনুশীলন | অনলাইন টেরারিয়াম স্টাইল করতে CSS তৈরি করুন, পৃষ্ঠাটিকে প্রতিক্রিয়াশীল করতে CSS এর বেসিকস সহ ফোকাস দিন | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](./3-terrarium/solution/README.md) | জাভাস্ক্রিপ্ট ক্লোজার, DOM ম্যানিপুলেশন | টেরারিয়ামকে ড্র্যাগ/ড্রপ ইন্টারফেসে কাজ করানোর জন্য জাভাস্ক্রিপ্ট তৈরি করুন, ক্লোজার এবং DOM ম্যানিপুলেশনে মনোযোগ দিন | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Typing Game](./4-typing-game/solution/README.md) | টাইপিং গেম তৈরি | কী-বোর্ড ইভেন্ট ব্যবহার করে আপনার জাভাস্ক্রিপ্ট অ্যাপের লজিক চালানো শিখুন | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | ব্রাউজার নিয়ে কাজ | ব্রাউজার কীভাবে কাজ করে, এর ইতিহাস, এবং ব্রাউজার এক্সটেনশনের প্রথম উপাদানগুলি তৈরি করার পদ্ধতি শিখুন | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | ফর্ম তৈরি, API কল এবং লোকাল স্টোরেজে ভেরিয়েবল সংরক্ষণ | আপনার ব্রাউজার এক্সটেনশনের জাভাস্ক্রিপ্ট উপাদান তৈরি করুন API কল করার জন্য, লোকাল স্টোরেজে সংরক্ষিত ভেরিয়েবল ব্যবহার করুন | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | ব্রাউজারের ব্যাকগ্রাউন্ড প্রসেস, ওয়েব পারফরমেন্স | এক্সটেনশনের আইকন পরিচালনার জন্য ব্রাউজারের ব্যাকগ্রাউন্ড প্রসেস ব্যবহার করুন; ওয়েব পারফরমেন্স এবং কিছু অপ্টিমাইজেশন শিখুন | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Space Game](./6-space-game/solution/README.md) | জাভাস্ক্রিপ্ট দিয়ে আরও উন্নত গেম ডেভেলপমেন্ট | ক্লাস এবং কম্পোজিশন ব্যবহার করে ইনহেরিট্যান্স ও পাব/সাব প্যাটার্ন শিখুন, একটি গেম তৈরির প্রস্তুতিতে | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Space Game](./6-space-game/solution/README.md) | ক্যানভাসে আঁকা | একটি স্ক্রিনে উপাদান আঁকার জন্য ব্যবহৃত Canvas API শিখুন | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Space Game](./6-space-game/solution/README.md) | স্ক্রিনে উপাদান স্থানান্তর | কাকে Cartesian কোঅর্ডিনেট এবং Canvas API ব্যবহার করে উপাদানগুলো কীভাবে মুভ করে তা আবিষ্কার করুন | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Space Game](./6-space-game/solution/README.md) | সংঘর্ষ সনাক্তকরণ | কীপ্রেস ব্যবহার করে উপাদানগুলোকে সংঘর্ষ করান এবং প্রতিক্রিয়া দেখান, গেমের পারফরমেন্সের জন্য কুলডাউন ফাংশন প্রদান করুন | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Space Game](./6-space-game/solution/README.md) | স্কোর রাখা | গেমের অবস্থা এবং পারফরমেন্সের ভিত্তিতে গাণিতিক হিসাব করুন | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Space Game](./6-space-game/solution/README.md) | গেম শেষ করা এবং পুনরায় শুরু করা | গেম শেষ এবং পুনরায় শুরু করার বিষয়ে শিখুন, যার মধ্যে অ্যাসেট পরিষ্কার করা এবং ভেরিয়েবল মান রিসেট করা রয়েছে | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Banking App](./7-bank-project/solution/README.md) | ওয়েব অ্যাপে HTML টেমপ্লেট এবং রুটস | রাউটিং এবং HTML টেমপ্লেট ব্যবহার করে মাল্টিপেজ ওয়েবসাইট আর্কিটেকচারের শারীরিক কাঠামো তৈরি করা শিখুন | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Banking App](./7-bank-project/solution/README.md) | লগইন এবং রেজিস্ট্রেশন ফর্ম তৈরি | ফর্ম তৈরি এবং ভ্যালিডেশন রুটিন পরিচালনা সম্পর্কে শিখুন | [Forms](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Banking App](./7-bank-project/solution/README.md) | ডেটা আহরণ এবং ব্যবহার পদ্ধতি | আপনার অ্যাপে ডেটা প্রবাহের গতি, কীভাবে ডেটা আহরণ করবেন, সংরক্ষণ করবেন এবং কিভাবে এটি অপসারণ করবেন তা শিখুন | [Data](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Banking App](./7-bank-project/solution/README.md) | স্টেট ম্যানেজমেন্টের ধারণা | আপনার অ্যাপ কীভাবে স্টেট ধরে রাখে এবং প্রোগ্রাম্যাটিকভাবে কীভাবে এটি পরিচালনা করবেন তা শিখুন | [State Management](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Browser/VScode Code](../../8-code-editor) | VSCode সাথে কাজ করা | কীভাবে কোড এডিটর ব্যবহার করবেন তা শিখুন | [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [AI Assistants](./9-chat-project/README.md) | AI নিয়ে কাজ করা | নিজের AI সহকারী তৈরি শিখুন | [AI Assistant project](./9-chat-project/README.md) | Chris | + +## 🏫 শিক্ষা প্রক্রিয়া + +আমাদের পাঠ্যক্রম দুটি মূল শিক্ষাবিধির নীতির উপর ভিত্তি করে ডিজাইন করা হয়েছে: +* প্রকল্প-ভিত্তিক শিক্ষা * ঘন ঘন কুইজ -এই প্রোগ্রামটি JavaScript, HTML, এবং CSS এর মৌলিক বিষয়গুলি শেখায়, পাশাপাশি আজকের ওয়েব ডেভেলপারদের ব্যবহৃত সর্বশেষ টুল এবং প্রযুক্তি। শিক্ষার্থীরা একটি টাইপিং গেম, ভার্চুয়াল টেরারিয়াম, ইকো-ফ্রেন্ডলি ব্রাউজার এক্সটেনশন, স্পেস-ইনভেডার-স্টাইল গেম এবং ব্যবসায়ের জন্য একটি ব্যাংকিং অ্যাপ তৈরি করে হাতে কলমে অভিজ্ঞতা অর্জনের সুযোগ পাবে। সিরিজের শেষে শিক্ষার্থীরা ওয়েব ডেভেলপমেন্টের একটি দৃঢ় ধারণা অর্জন করবে। +প্রোগ্রামটি জাভাস্ক্রিপ্ট, HTML, এবং CSS এর মৌলিক বিষয়াদি শেখায়, পাশাপাশি আজকের ওয়েব ডেভেলপারদের দ্বারা ব্যবহৃত সর্বশেষ টুল এবং কৌশল। শিক্ষার্থীরা টাইপিং গেম, ভার্চুয়াল টেরারিয়াম, পরিবেশ বান্ধব ব্রাউজার এক্সটেনশন, স্পেস-ইনভেডার-স্টাইল গেম এবং ব্যবসায়িক ব্যাংকিং অ্যাপ তৈরি করে হাতে কলমে অভিজ্ঞতা অর্জন করবে। সিরিজের শেষে শিক্ষার্থীরা ওয়েব ডেভেলপমেন্টে শক্তিশালী ধারণা অর্জন করবে। -> 🎓 আপনি এই কারিকুলামের প্রথম কিছু পাঠ Microsoft Learn এ একটি [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) হিসেবে নিতে পারেন! +> 🎓 এই পাঠ্যক্রমের প্রথম কয়েকটি পাঠ আপনি [Microsoft Learn](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) এ একটি [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) হিসেবে নিতে পারেন! -কন্টেন্ট প্রকল্পের সাথে সামঞ্জস্যপূর্ণ করার মাধ্যমে, প্রক্রিয়াটি শিক্ষার্থীদের জন্য আরও আকর্ষণীয় হয় এবং ধারণাগুলোর ধারণক্ষমতা বাড়ে। আমরা JavaScript এর মৌলিক বিষয়গুলিতে কয়েকটি স্টার্টার পাঠ লিখেছি ধারণাগুলো পরিচয় করানোর জন্য, একটি ভিডিও "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" কালেকশনের সাথে জোড়া দিয়েছি, যার কিছু লেখক এই কারিকুলামেও অবদান রেখেছেন। +বিষয়বস্তু প্রকল্পগুলির সাথে সঙ্গতিপূর্ণ রাখার মাধ্যমে, শিক্ষার্থীদের জন্য প্রক্রিয়াটি আকর্ষণীয় হয় এবং ধারণাগুলোর ধারণক্ষমতা বৃদ্ধি পায়। আমরা কয়েকটি শুরুত্বর পাঠ লিখেছি জাভাস্ক্রিপ্ট বেসিকস-এ ধারণাগুলি পরিচয় করানোর জন্য, যার সাথে রয়েছে "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" ভিডিও টিউটোরিয়ালের একটি ভিডিও, যাদের কিছু লেখক এই পাঠ্যক্রমে অবদান রেখেছেন। -অতিরিক্তভাবে, একটি ক্লাসের আগে একটি নিম্ন-দাবি কুইজ শিক্ষার্থীর শেখার উদ্দেশ্য স্থির করে, আর ক্লাসের পরে দ্বিতীয় কুইজ আরও ভালো ধারণার অধিকার নিশ্চিত করে। এই কারিকুলামটি নমনীয় এবং মজাদার হওয়ার জন্য ডিজাইন করা হয়েছে এবং পুরো বা আংশিকভাবে নেওয়া যেতে পারে। প্রকল্পসমূহ ছোট থেকে শুরু করে ১২-সপ্তাহের চক্র শেষে ক্রমশ জটিল হবে। +অতিরিক্তভাবে, ক্লাসের আগে একটি কম চাপের কুইজ শিক্ষার্থীর শেখার উদ্দেশ্য নির্ধারণ করে, আর ক্লাসের পরে দ্বিতীয় কুইজ ধারণক্ষমতা বাড়ায়। এই পাঠ্যক্রমটি নমনীয় এবং মজাদার করার জন্য ডিজাইন করা হয়েছে এবং পুরো বা আংশিক অংশ হিসেবে নেওয়া যেতে পারে। প্রকল্পগুলি ছোট থেকে শুরু করে ১২ সপ্তাহের শেষে ক্রমাগত জটিলতর হয়। -আমরা ইচ্ছাকৃতভাবে JavaScript ফ্রেমওয়ার্কগুলো প্রবর্তন করা থেকে বিরত রয়েছি যাতে ওয়েব ডেভেলপার হিসেবে মৌলিক দক্ষতা অর্জনের প্রতি ফোকাস রাখা যায়, পরে একটি ভালো পরবর্তী ধাপ হবে Node.js সম্পর্কে শেখা "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)" ভিডিও কালেকশনের মাধ্যমে। +যদিও আমরা সচেতনভাবেই জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক পরিচয় করানো থেকে বিরত রয়েছি যেন মৌলিক দক্ষতাগুলোর প্রতি মনোযোগ দেয়া যায়, একটি ভালো পরবর্তী ধাপ হিসেবে এই পাঠ্যক্রম সম্পন্ন করার পর Node.js সম্পর্কে শেখা হতে পারে যা আরেক ভিডিও সংগ্রহ "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)" এ পাওয়া যাবে। -> আমাদের [আচারসংহিতা](CODE_OF_CONDUCT.md) এবং [অবদান Guidelines](CONTRIBUTING.md) দেখুন। আপনার গঠনমূলক প্রতিক্রিয়া আমরা স্বাগত জানাই! +> আমাদের [Code of Conduct](CODE_OF_CONDUCT.md) এবং [Contributing](CONTRIBUTING.md) নির্দেশিকা দেখুন। আমরা আপনার গঠনমূলক মতামতকে স্বাগত জানাই! ## 🧭 অফলাইন অ্যাক্সেস -আপনি [Docsify](https://docsify.js.org/#/) ব্যবহার করে এই ডকুমেন্টেশন অফলাইনে চালাতে পারেন। এই রিপোটি Fork করুন, আপনার লোকাল মেশিনে [Docsify ইনস্টল করুন](https://docsify.js.org/#/quickstart), তারপর এই রিপোর রুট ফোল্ডারে `docsify serve` টাইপ করুন। ওয়েবসাইটটি আপনার লোকালহোস্টের ৩০০০ পোর্টে চালিত হবে: `localhost:3000`। +আপনি [Docsify](https://docsify.js.org/#/) ব্যবহার করে এই ডকুমেন্টেশন অফলাইনে চালাতে পারেন। এই রিপোটি ফর্ক করুন, আপনার লোকাল মেশিনে [Docsify ইনস্টল করুন](https://docsify.js.org/#/quickstart), এবং তারপর এই রিপোর মূল ফোল্ডারে `docsify serve` টাইপ করুন। ওয়েবসাইটটি আপনার লোকালহোস্টে পোর্ট ৩০০০ এ চালু হবে: `localhost:3000`। -## 📘 পিডিএফ -সমস্ত পাঠের একটি পিডিএফ এখানে পাওয়া যেতে পারে [here](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf)। +## 📘 PDF +সব পাঠের একটি পিডিএফ এখানে পাওয়া যাবে [here](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf)। -## 🎒 অন্যান্য কোর্সসমূহ +## 🎒 অন্যান্য কোর্স -আমাদের দল অন্যান্য কোর্সও তৈরি করে! দেখে নিন: +আমাদের দল আরও কোর্স তৈরি করে! দেখুন: ### LangChain @@ -230,7 +229,7 @@ Azure AI Foundry Discord কমিউনিটিতে যোগ দিন --- -### Generative AI Series +### জেনেরেটিভ AI সিরিজ [![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) [![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) [![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) @@ -238,7 +237,7 @@ Azure AI Foundry Discord কমিউনিটিতে যোগ দিন --- -### মূল শিক্ষা +### কোর লার্নিং [![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) [![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) [![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) @@ -255,23 +254,23 @@ Azure AI Foundry Discord কমিউনিটিতে যোগ দিন [![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) -## সাহায্য নেওয়া +## সাহায্য পাওয়া -যদি আপনি আটকে যান বা AI অ্যাপ তৈরি করার বিষয়ে কোনো প্রশ্ন থাকে। MCP সম্পর্কে আলোচনা করতে সহকর্মী শিক্ষার্থী ও অভিজ্ঞ ডেভেলপারদের সাথে যোগ দিন। এটি একটি সহায়ক সম্প্রদায় যেখানে প্রশ্ন গ্রহণযোগ্য এবং জ্ঞান বিনিময় করা হয়। +যদি আপনি আটকে যান বা AI অ্যাপ নির্মাণ সম্পর্কে কোনো প্রশ্ন থাকে। MCP সম্পর্কে fellow learners এবং অভিজ্ঞ ডেভেলপারদের আলোচনায় যোগ দিন। এটি একটি সহায়ক কমিউনিটি যেখানে প্রশ্ন স্বাগত এবং জ্ঞান মুক্তভাবে শেয়ার করা হয়। [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -যদি আপনার পণ্য প্রতিক্রিয়া বা নির্মাণের সময় কোনো ত্রুটি থাকে, তাহলে দেখুন: +আপনার যদি পণ্য সংক্রান্ত প্রতিক্রিয়া বা নির্মাণের সময় ত্রুটি থাকে, তাহলে দেখুন: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) ## লাইসেন্স -এই রেপোজিটরিটি MIT লাইসেন্সের অধীনে অনুমোদিত। আরও তথ্যের জন্য দেখুন [LICENSE](../../LICENSE) ফাইল। +এই রিপোজিটরি MIT লাইসেন্সের আওতায় লাইসেন্সপ্রাপ্ত। আরও তথ্যের জন্য [LICENSE](../../LICENSE) ফাইল দেখুন। --- -**অস্বীকারোক্তি**: -এই ডকুমেন্টটি AI অনুবাদ সেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনূদিত হয়েছে। আমরা যথাসাধ্য সঠিকতার জন্য চেষ্টা করি, তবুও দয়া করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল নথি তার স্বতন্ত্র ভাষায়ই কর্তৃপক্ষসুত্র হিসেবে বিবেচিত হওয়া উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদের পরামর্শ দেওয়া হয়। এই অনুবাদের ব্যবহারে সৃষ্ট কোনো ভুলবোঝা বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই। +**স্পষ্টীকরণ**: +এই নথিটি AI অনুবাদ সেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনূদিত হয়েছে। যদিও আমরা সঠিকতার জন্য চেষ্টা করি, অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল নথিটি তার নিজস্ব ভাষায়ই প্রামাণিক উৎস হিসাবে বিবেচিত হওয়া উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদের ব্যবহারের ফলে যে কোনও ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই। \ No newline at end of file diff --git a/translations/cs/.co-op-translator.json b/translations/cs/.co-op-translator.json index ae343d503f..5f3049fb6a 100644 --- a/translations/cs/.co-op-translator.json +++ b/translations/cs/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T19:45:54+00:00", + "translation_date": "2026-04-06T15:52:25+00:00", "source_file": "AGENTS.md", "language_code": "cs" }, @@ -516,8 +516,8 @@ "language_code": "cs" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T15:57:56+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T15:48:38+00:00", "source_file": "README.md", "language_code": "cs" }, diff --git a/translations/cs/AGENTS.md b/translations/cs/AGENTS.md index 45d18b2c91..736c732256 100644 --- a/translations/cs/AGENTS.md +++ b/translations/cs/AGENTS.md @@ -2,29 +2,29 @@ ## Přehled projektu -Toto je vzdělávací repozitář kurikula pro výuku základů webového vývoje pro začátečníky. Kurikulum představuje komplexní 12týdenní kurz vyvinutý Microsoft Cloud Advocates, obsahující 24 praktických lekcí pokrývajících JavaScript, CSS a HTML. +Toto je vzdělávací repozitář kurikula pro výuku základů webového vývoje pro začátečníky. Kurikulum je komplexní 12týdenní kurz vyvinutý Microsoft Cloud Advocates, obsahující 24 praktických lekcí zaměřených na JavaScript, CSS a HTML. -### Klíčové komponenty +### Klíčové součásti - **Vzdělávací obsah**: 24 strukturovaných lekcí organizovaných do modulů založených na projektech -- **Praktické projekty**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor a AI Chat Assistant -- **Interaktivní kvízy**: 48 kvízů s 3 otázkami každý (před/po lekci) -- **Podpora více jazyků**: Automatické překlady do více než 50 jazyků pomocí GitHub Actions +- **Praktické projekty**: Terrárium, Hra na psaní, Rozšíření prohlížeče, Vesmírná hra, Bankovní aplikace, Kódový editor a AI Chat asistent +- **Interaktivní kvízy**: 48 kvízů s 3 otázkami každého (před a po lekci) +- **Podpora vícejazyčnosti**: Automatizované překlady do více než 50 jazyků pomocí GitHub Actions - **Technologie**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (pro AI projekty) ### Architektura -- Vzdělávací repozitář s lekčně založenou strukturou +- Vzdělávací repozitář se strukturou založenou na lekcích - Každá složka lekce obsahuje README, příklady kódu a řešení -- Samostatné projekty v oddělených adresářích (quiz-app, různé projekty lekcí) -- Překladový systém využívající GitHub Actions (co-op-translator) -- Dokumentace poskytována přes Docsify a dostupná i jako PDF +- Samostatné projekty v oddělených adresářích (quiz-app, různorodé projekty lekcí) +- Překladový systém používající GitHub Actions (co-op-translator) +- Dokumentace poskytována přes Docsify a dostupná jako PDF ## Příkazy pro nastavení -Tento repozitář je primárně určen ke konzumaci vzdělávacího obsahu. Pro práci se specifickými projekty: +Tento repozitář je primárně určen ke konzumaci vzdělávacího obsahu. Pro práci s konkrétními projekty: -### Nastavení hlavního repozitáře +### Hlavní nastavení repozitáře ```bash git clone https://github.com/microsoft/Web-Dev-For-Beginners.git @@ -41,17 +41,17 @@ npm run build # Sestavit pro produkci npm run lint # Spustit ESLint ``` -### Bankovní projekt API (Node.js + Express) +### Bankovní API projekt (Node.js + Express) ```bash cd 7-bank-project/api npm install -npm start # Spustit API server -npm run lint # Spustit ESLint -npm run format # Formátovat pomocí Prettier +npm start # Spusťte API server +npm run lint # Spusťte ESLint +npm run format # Formátujte pomocí Prettier ``` -### Projekty pro rozšíření prohlížeče +### Projekty rozšíření prohlížeče ```bash cd 5-browser-extension/solution @@ -59,7 +59,7 @@ npm install # Postupujte podle pokynů pro načítání rozšíření specifických pro prohlížeč ``` -### Projekty hry ve vesmíru +### Projekty vesmírné hry ```bash cd 6-space-game/solution @@ -67,7 +67,7 @@ npm install # Otevřete index.html v prohlížeči nebo použijte Live Server ``` -### Chat projekt (Python backend) +### Chat projekt (Python Backend) ```bash cd 9-chat-project/solution/backend/python @@ -78,201 +78,201 @@ python api.py ## Vývojový workflow -### Pro přispěvatele obsahu +### Pro přispěvovatele obsahu -1. **Vytvořte fork repozitáře** do svého GitHub účtu -2. **Naklonujte svojí větev** lokálně +1. **Forkujte repozitář** do svého GitHub účtu +2. **Klonujte svůj fork** lokálně 3. **Vytvořte novou větev** pro své změny 4. Proveďte změny v obsahu lekcí nebo příkladech kódu -5. Otestujte změny v příslušných projektech -6. Odešlete pull requesty dle zásad přispívání +5. Testujte jakékoliv změny kódu v příslušných adresářích projektů +6. Odešlete pull requesty podle pokynů pro přispívání ### Pro studenty -1. Vytvořte fork nebo klonujte repozitář -2. Postupujte sekvenčně do adresářů lekcí +1. Forkujte nebo klonujte repozitář +2. Procházejte složky lekcí sekvenčně 3. Čtěte README soubory každé lekce -4. Dokončete před/po- lekční kvízy na https://ff-quizzes.netlify.app/web/ -5. Procvičujte si příklady kódu v adresářích lekcí -6. Plňte úkoly a výzvy -7. Absolvujte závěrečné kvízy +4. Dokončete před- lekční kvízy na https://ff-quizzes.netlify.app/web/ +5. Procházejte příklady kódu ve složkách lekcí +6. Dokončete úkoly a výzvy +7. Udělejte post- lekční kvízy ### Živý vývoj - **Dokumentace**: Spusťte `docsify serve` v kořenovém adresáři (port 3000) -- **Quiz App**: Spusťte `npm run dev` v adresáři quiz-app +- **Quiz App**: Spusťte `npm run dev` ve složce quiz-app - **Projekty**: Použijte VS Code Live Server rozšíření pro HTML projekty -- **API projekty**: Spusťte `npm start` v příslušných API složkách +- **API projekty**: Spusťte `npm start` v příslušných API adresářích -## Testování +## Instrukce k testování ### Testování Quiz App ```bash cd quiz-app npm run lint # Zkontrolujte problémy se stylem kódu -npm run build # Ověřte, že sestavení proběhlo úspěšně +npm run build # Ověřte, že sestavení proběhne úspěšně ``` ### Testování Bank API ```bash cd 7-bank-project/api -npm run lint # Zkontrolujte problémy se stylem kódu -node server.js # Ověřte, zda server startuje bez chyb +npm run lint # Zkontrolujte problémy s kódovacím stylem +node server.js # Ověřte, že server startuje bez chyb ``` ### Obecný přístup k testování -- Tento repozitář je vzdělávací a nemá komplexní automatizované testy +- Toto je vzdělávací repozitář bez komplexních automatizovaných testů - Manuální testování se zaměřuje na: - - Spuštění příkladů kódu bez chyb + - Příkladový kód bez chyb při spuštění - Funkčnost odkazů v dokumentaci - Úspěšné sestavení projektů - - Dodržování osvědčených postupů v příkladech + - Příklady vyhovují zásadám best practices -### Předodeslání kontroly +### Kontroly před odesláním změn -- Spusťte `npm run lint` v adresářích s package.json -- Ověřte platnost markdown odkazů -- Testujte příklady kódu v prohlížeči nebo Node.js +- Spusťte `npm run lint` ve složkách s package.json +- Ověřte, že odkazy v markdownu jsou platné +- Otestujte příklady kódu v prohlížeči nebo Node.js - Zkontrolujte, že překlady zachovávají správnou strukturu -## Směrnice pro styl kódu +## Směrnice stylu kódu ### JavaScript - Používejte moderní ES6+ syntaxi -- Dodržujte standardní ESLint nastavení v projektech -- Používejte smysluplná jména proměnných a funkcí pro lepší porozumění -- Přidávejte komentáře vysvětlující pojmy pro studenty -- Formátujte kód pomocí Prettier tam, kde je nastaveno +- Dodržujte standardní konfigurace ESLint v projektech +- Používejte názvy proměnných a funkcí, které jsou srozumitelné pro výuku +- Přidávejte komentáře vysvětlující koncepty pro studenty +- Formátujte pomocí Prettier tam, kde je nakonfigurováno ### HTML/CSS -- Semantické elementy HTML5 +- Semantické HTML5 prvky - Principy responzivního designu -- Jasné konvence pojmenování tříd +- Jasná konvence pojmenování tříd - Komentáře vysvětlující CSS techniky pro studenty ### Python -- Dodržujte stylové pravidla PEP 8 +- Směrnice stylu PEP 8 - Jasné, vzdělávací příklady kódu -- Používejte typové anotace tam, kde je to pro učení užitečné +- Typové nápovědy tam, kde pomáhají s učením ### Markdown dokumentace - Jasná hierarchie nadpisů -- Bloky kódu s určením jazyka -- Odkazy na další zdroje -- Snímky obrazovky a obrázky ve složce `images/` -- Alt text pro obrázky pro zpřístupnění +- Bloky kódu s označením jazyka +- Odkazy na doplňkové zdroje +- Screenshoty a obrázky ve složkách `images/` +- Alternativní texty pro obrázky pro přístupnost ### Organizace souborů -- Lekce číslované sekvenčně (1-getting-started-lessons, 2-js-basics apod.) +- Lekce číslovány sekvenčně (1-getting-started-lessons, 2-js-basics, atd.) - Každý projekt má složky `solution/` a často `start/` nebo `your-work/` -- Obrázky uložené ve složkách `images/` jednotlivých lekcí +- Obrázky uložené v lekcemi specifických složkách `images/` - Překlady ve struktuře `translations/{language-code}/` -## Build a nasazení +## Sestavení a nasazení ### Nasazení Quiz App (Azure Static Web Apps) -Quiz-app je nakonfigurována pro nasazení na Azure Static Web Apps: +Quiz-app je nastaven pro nasazení na Azure Static Web Apps: ```bash cd quiz-app npm run build # Vytváří složku dist/ -# Nasazuje pomocí GitHub Actions workflow při pushi do main +# Nasazuje přes workflow GitHub Actions při pushnutí na main ``` Konfigurace Azure Static Web Apps: -- **Umístění aplikace**: `/quiz-app` -- **Výstupní složka**: `dist` +- **Místo aplikace**: `/quiz-app` +- **Výstupní umístění**: `dist` - **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` ### Generování PDF dokumentace ```bash npm install # Nainstalujte docsify-to-pdf -npm run convert # Vygenerujte PDF z dokumentace +npm run convert # Vygenerujte PDF z docs ``` -### Docsify dokumentace +### Dokumentace Docsify ```bash npm install -g docsify-cli # Nainstalujte Docsify globálně -docsify serve # Přes server na localhost:3000 +docsify serve # Serve na localhost:3000 ``` -### Buildy specifické pro projekty +### Sestavení specifická pro projekty -Každý adresář projektu může mít vlastní build proces: +Každý projekt může mít vlastní sestavovací proces: - Vue projekty: `npm run build` vytváří produkční balíčky -- Statické projekty: Bez build kroku, soubory se servírují přímo +- Statické projekty: Žádný sestavovací krok, soubory se přímo servírují -## Směrnice pro Pull Requesty +## Směrnice pro pull requesty -### Formát názvu +### Formát názvů -Používejte jasné, popisné názvy vyjadřující oblast změny: +Používejte jasné, popisné názvy indikující oblast změny: - `[Quiz-app] Přidat nový kvíz pro lekci X` -- `[Lesson-3] Opravit překlep v projektu terrarium` +- `[Lesson-3] Opravit překlep v projekt terrária` - `[Translation] Přidat španělský překlad pro lekci 5` -- `[Docs] Aktualizovat instrukce nastavení` +- `[Docs] Aktualizace instrukcí pro nastavení` -### Povinné kontroly +### Požadované kontroly Před odesláním PR: 1. **Kvalita kódu**: - - Spusťte `npm run lint` v dotčených projektech - - Opravte všechny chyby a varování + - Spusťte `npm run lint` ve zasažených projech složkách + - Opravte všechny linting chyby a varování -2. **Ověření buildů**: - - Spusťte `npm run build` kde je to potřeba - - Zajistěte bezchybný build +2. **Ověření sestavení**: + - Spusťte `npm run build` pokud je to relevantní + - Zajistěte, že nejsou chyby při sestavení -3. **Ověření odkazů**: +3. **Validace odkazů**: - Otestujte všechny markdown odkazy - - Zkontrolujte funkčnost odkazů na obrázky + - Ověřte funkčnost odkazů na obrázky 4. **Kontrola obsahu**: - Korektura pravopisu a gramatiky - - Ověřte správnost a edukační hodnotu příkladů kódu - - Překlady musí zachovat původný význam + - Ověření správnosti a vzdělávací hodnoty příkladů kódu + - Validace, že překlady zachovávají původní význam -### Požadavky na příspěvky +### Požadavky na přispívání -- Souhlas s Microsoft CLA (automatická kontrola při prvním PR) -- Dodržovat [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) +- Souhlas se smlouvou Microsoft CLA (automatická kontrola při prvním PR) +- Dodržování [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) - Viz [CONTRIBUTING.md](./CONTRIBUTING.md) pro podrobné pokyny -- Uveďte čísla issue v popisu PR, pokud je to relevantní +- Odkazování na čísla issues v popisu PR, pokud je to relevantní ### Proces revize -- PR jsou kontrolovány správci a komunitou -- Prioritní je srozumitelnost pro vzdělávání -- Příklady kódu by měly odpovídat aktuálním osvědčeným postupům -- Překlady jsou pečlivě revidovány pro přesnost a kulturní vhodnost +- PRs jsou revidovány správci i komunitou +- Prioritizuje se vzdělávací srozumitelnost +- Příklady kódu by měly odpovídat aktuálním best practices +- Překlady jsou kontrolovány na přesnost a kulturní vhodnost ## Překladový systém -### Automatický překlad +### Automatizovaný překlad - Používá GitHub Actions s workflow co-op-translator -- Automaticky překládá do více než 50 jazyků +- Překládá do více než 50 jazyků automaticky - Zdrojové soubory v hlavních adresářích -- Přeložené soubory ve složkách `translations/{language-code}/` +- Přeložené soubory v adresářích `translations/{language-code}/` ### Přidání manuálních vylepšení překladu -1. Najděte soubor ve složce `translations/{language-code}/` -2. Proveďte vylepšení se zachováním struktury -3. Ujistěte se, že příklady kódu zůstávají funkční -4. Otestujte lokalizovaný obsah kvízů +1. Najděte soubor v `translations/{language-code}/` +2. Proveďte vylepšení při zachování struktury +3. Zajistěte, že příklady kódu zůstanou funkční +4. Otestujte případný lokalizovaný obsah kvízů ### Metadata překladu @@ -289,68 +289,68 @@ CO_OP_TRANSLATOR_METADATA: --> ``` -## Ladění a řešení problémů +## Ladění a odstraňování potíží ### Běžné problémy **Quiz app se nespustí**: - Zkontrolujte verzi Node.js (doporučeno v14+) -- Odstraňte `node_modules` a `package-lock.json`, spusťte `npm install` znovu -- Zkontrolujte konflikt portů (výchozí: Vite používá port 5173) +- Odstraňte `node_modules` a `package-lock.json`, znovu spusťte `npm install` +- Zkontrolujte konflikty portu (výchozí: Vite používá port 5173) **API server se nespustí**: -- Ověřte minimální verzi Node.js (node >=10) +- Ověřte verzi Node.js (node >=10) - Zkontrolujte, zda port není již obsazen -- Ujistěte se, že jsou nainstalovány všechny závislosti pomocí `npm install` +- Ujistěte se, že všechny závislosti jsou nainstalovány pomocí `npm install` -**Rozšíření prohlížeče se nenahraje**: +**Rozšíření prohlížeče se nenačte**: - Ověřte správné formátování manifest.json -- Zkontrolujte chyby v konzoli prohlížeče -- Postupujte podle pokynů instalace pro konkrétní prohlížeč +- Kontrolujte konzoli prohlížeče na chyby +- Postupujte podle specifických instrukcí pro instalaci rozšíření v daném prohlížeči **Problémy s Python chat projektem**: -- Ujistěte se, že balík OpenAI je nainstalovaný: `pip install openai` +- Ujistěte se, že je nainstalovaný balíček OpenAI: `pip install openai` - Ověřte nastavení proměnné prostředí GITHUB_TOKEN -- Zkontrolujte přístupová práva k GitHub Models +- Zkontrolujte oprávnění přístupu k GitHub Models -**Docsify neservíruje dokumentaci**: +**Docsify neslouží dokumentaci**: - Nainstalujte docsify-cli globálně: `npm install -g docsify-cli` -- Spusťte z kořenového adresáře repozitáře -- Ujistěte se, že existuje soubor `docs/_sidebar.md` +- Spouštějte z kořenového adresáře repozitáře +- Ověřte, že existuje `docs/_sidebar.md` ### Tipy pro vývojové prostředí -- Používejte VS Code s rozšířením Live Server pro HTML projekty -- Nainstalujte rozšíření ESLint a Prettier pro konzistentní formátování +- Používejte VS Code s Live Server rozšířením pro HTML projekty +- Instalujte rozšíření ESLint a Prettier pro konzistentní formátování - Používejte DevTools prohlížeče pro ladění JavaScriptu -- Pro Vue projekty nainstalujte Vue DevTools rozšíření +- Pro Vue projekty instalujte Vue DevTools rozšíření prohlížeče -### Výkonnostní úvahy +### Výkonové aspekty -- Velké množství přeložených souborů (50+ jazyků) znamená, že klony jsou velké -- Použijte shallow clone, pokud pracujete pouze s obsahem: `git clone --depth 1` -- Při práci na anglickém obsahu vynechejte překlady z vyhledávání -- Build procesy mohou být pomalejší při prvním spuštění (npm install, Vite build) +- Velké množství přeložených souborů (50+ jazyků) znamená velké klony repozitáře +- Použijte shallow clone, pokud pracujete jen s obsahem: `git clone --depth 1` +- Při práci s anglickým obsahem vylučujte překlady z vyhledávání +- Sestavovací procesy mohou být pomalé při prvním spuštění (npm install, Vite build) -## Bezpečnostní opatření +## Bezpečnostní aspekty ### Proměnné prostředí -- API klíče nikdy nezadávejte do repozitáře -- Používejte `.env` soubory (jsou uvedeny v `.gitignore`) -- Dokumentujte požadované proměnné v README projektů +- API klíče by neměly být nikdy commitnuty do repozitáře +- Používejte `.env` soubory (jsou v `.gitignore`) +- Dokumentujte požadované proměnné prostředí v README projektů ### Python projekty - Používejte virtuální prostředí: `python -m venv venv` -- Udržujte závislosti aktuální +- Udržujte závislosti aktualizované - GitHub tokeny by měly mít minimální potřebná oprávnění ### Přístup k GitHub Models -- Osobní přístupové tokeny (PAT) jsou nutné pro GitHub Models -- Tokeny by měly být uloženy jako proměnné prostředí -- Nikdy neukládejte tokeny nebo přihlašovací údaje do repozitáře +- Vyžaduje se osobní přístupový token (PAT) +- Tokeny ukládejte jako proměnné prostředí +- Nikdy necommitujte tokeny nebo přihlašovací údaje ## Další poznámky @@ -358,51 +358,51 @@ CO_OP_TRANSLATOR_METADATA: - Kompletní začátečníci ve webovém vývoji - Studenti a samouci -- Učitelé využívající kurikulum ve třídách +- Učitelé používající kurikulum ve třídách - Obsah je navržen pro přístupnost a postupné budování dovedností ### Vzdělávací filozofie -- Přístup založený na projektech +- Případová výuka založená na projektech - Časté kontroly znalostí (kvízy) -- Praktická cvičení v kódování -- Příklady z reálného světa +- Praktické programovací cvičení +- Příklady reálného použití - Zaměření na základy před frameworky ### Údržba repozitáře - Aktivní komunita studentů a přispěvatelů - Pravidelné aktualizace závislostí a obsahu -- Problémy a diskuze jsou monitorovány správci -- Aktualizace překladů jsou automatizovány přes GitHub Actions +- Problémy a diskuze monitorované správci +- Automatické aktualizace překladů přes GitHub Actions ### Související zdroje - [Microsoft Learn moduly](https://docs.microsoft.com/learn/) - [Student Hub zdroje](https://docs.microsoft.com/learn/student-hub/) -- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) doporučený pro studenty -- Další kurzy: Generative AI, Data Science, ML, IoT kurikula k dispozici +- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) doporučeno pro studenty +- Další kurzy: Generativní AI, Data Science, ML, IoT kurikula dostupná -### Práce se specifickými projekty +### Práce s konkrétními projekty -Pro podrobné instrukce k jednotlivým projektům viz README soubory v: +Pro detailní instrukce k jednotlivým projektům odkazujte na README soubory v: - `quiz-app/README.md` - Vue 3 aplikace kvízu -- `7-bank-project/README.md` - Bankovní aplikace s autentizací +- `7-bank-project/README.md` - Bankovní aplikace s ověřováním - `5-browser-extension/README.md` - Vývoj rozšíření prohlížeče -- `6-space-game/README.md` - Vývoj hry na canvasu +- `6-space-game/README.md` - Vývoj hry založené na canvasu - `9-chat-project/README.md` - Projekt AI chat asistenta ### Struktura monorepa -I když to není tradiční monorepo, tento repozitář obsahuje více nezávislých projektů: +I když nejde o tradiční monorepo, tento repozitář obsahuje více nezávislých projektů: - Každá lekce je samostatná -- Projekty nesdílejí závislosti -- Pracujte na jednotlivých projektech bez ovlivnění ostatních -- Pro plný zážitek klonujte celý repozitář kurikula +- Projekty nesdílí závislosti +- Práce na jednotlivých projektech bez ovlivnění ostatních +- Klonujte celý repozitář pro plný zážitek z kurikula --- -**Prohlášení o vyloučení odpovědnosti**: -Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). I když usilujeme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro kritické informace je doporučen profesionální lidský překlad. Nejsme odpovědní za jakákoliv nedorozumění nebo chybné interpretace vyplývající z použití tohoto překladu. +**Upozornění**: +Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). I když usilujeme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho mateřském jazyce by měl být považován za autorizovaný zdroj. Pro zásadní informace se doporučuje profesionální lidský překlad. Nejsme odpovědni za žádné nedorozumění či chybné interpretace vyplývající z použití tohoto překladu. \ No newline at end of file diff --git a/translations/cs/README.md b/translations/cs/README.md index b4ad78650c..199cd31c24 100644 --- a/translations/cs/README.md +++ b/translations/cs/README.md @@ -10,29 +10,29 @@ [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -# Webový vývoj pro začátečníky - kurikulum +# Webový vývoj pro začátečníky - plán kurzu -Naučte se základy webového vývoje s naším 12týdenním komplexním kurzem od Microsoft Cloud Advocates. Každá ze 24 lekcí se zabývá JavaScriptem, CSS a HTML prostřednictvím praktických projektů, jako jsou terária, rozšíření pro prohlížeče a vesmírné hry. Zapojte se do kvízů, diskuzí a praktických úkolů. Zlepšete své dovednosti a optimalizujte uchování znalostí díky naší efektivní projektově orientované pedagogice. Začněte svou cestu programování ještě dnes! +Naučte se základy webového vývoje s naším 12týdenním komplexním kurzem od Microsoft Cloud Advocates. Každá z 24 lekcí proniká do JavaScriptu, CSS a HTML prostřednictvím praktických projektů, jako jsou terária, rozšíření prohlížeče a vesmírné hry. Zapojte se do kvízů, diskuzí a praktických úkolů. Zlepšete své dovednosti a optimalizujte si uchování znalostí díky naší efektivní pedagogice založené na projektech. Začněte svou cestu kódováním ještě dnes! -Připojte se k Azure AI Foundry Discord komunitě +Připojte se ke komunitě Azure AI Foundry na Discordu [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Postupujte podle těchto kroků, abyste začali používat tyto zdroje: -1. **Vytvořte Fork repozitáře**: Klikněte na [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +Postupujte podle těchto kroků, abyste mohli začít používat tyto zdroje: +1. **Vytvořte fork repozitáře**: Klikněte na [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) 2. **Naklonujte repozitář**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**Přidejte se k Azure AI Foundry Discord a poznejte experty a ostatní vývojáře**](https://discord.com/invite/ByRwuEEgH4) +3. [**Připojte se k Azure AI Foundry Discordu a setkejte se s experty a kolegy vývojáři**](https://discord.com/invite/ByRwuEEgH4) ### 🌐 Podpora více jazyků -#### Podporováno pomocí GitHub Action (automatizováno a vždy aktuální) +#### Podporováno přes GitHub Action (automatizováno a vždy aktuální) -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Čínština (zjednodušená)](../zh-CN/README.md) | [Čínština (tradiční, Hongkong)](../zh-HK/README.md) | [Čínština (tradiční, Macao)](../zh-MO/README.md) | [Čínština (tradiční, Tchaj-wan)](../zh-TW/README.md) | [Chorvatština](../hr/README.md) | [Čeština](./README.md) | [Dánština](../da/README.md) | [Nizozemština](../nl/README.md) | [Estonština](../et/README.md) | [Finština](../fi/README.md) | [Francouzština](../fr/README.md) | [Němčina](../de/README.md) | [Řečtina](../el/README.md) | [Hebrejština](../he/README.md) | [Hindština](../hi/README.md) | [Maďarština](../hu/README.md) | [Indonéština](../id/README.md) | [Italština](../it/README.md) | [Japonština](../ja/README.md) | [Kannadština](../kn/README.md) | [Korejština](../ko/README.md) | [Litevština](../lt/README.md) | [Malajština](../ms/README.md) | [Malayalam](../ml/README.md) | [Maráthština](../mr/README.md) | [Nepálština](../ne/README.md) | [Nigérijská pidžin](../pcm/README.md) | [Norština](../no/README.md) | [Perština (Farsi)](../fa/README.md) | [Polština](../pl/README.md) | [Portugalština (Brazílie)](../pt-BR/README.md) | [Portugalština (Portugalsko)](../pt-PT/README.md) | [Paňdžábština (Gurmukhí)](../pa/README.md) | [Rumunština](../ro/README.md) | [Ruština](../ru/README.md) | [Srbština (cyrilice)](../sr/README.md) | [Slovenština](../sk/README.md) | [Slovinština](../sl/README.md) | [Španělština](../es/README.md) | [Svahilština](../sw/README.md) | [Švédština](../sv/README.md) | [Tagalog (Filipínština)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugština](../te/README.md) | [Thajština](../th/README.md) | [Turečtina](../tr/README.md) | [Ukrajinština](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamština](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](./README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) > **Raději klonovat lokálně?** > -> Tento repozitář obsahuje více než 50 překladů jazyků, což výrazně zvětšuje velikost stahování. Pro klonování bez překladů použijte sparse checkout: +> Tento repozitář obsahuje více než 50 jazykových překladů, což výrazně zvětšuje velikost stahování. Pro klonování bez překladů použijte sparse checkout: > > **Bash / macOS / Linux:** > ```bash @@ -48,232 +48,233 @@ Postupujte podle těchto kroků, abyste začali používat tyto zdroje: > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> Tím získáte vše potřebné k dokončení kurzu s mnohem rychlejším stažením. +> Tento způsob vám poskytne vše potřebné ke zvládnutí kurzu s mnohem rychlejším stažením. -**Pokud chcete podporu dalších jazyků, jsou zde uvedeny podporované jazykové možnosti [zde](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**Pokud si přejete podporu dalších překladových jazyků, jsou uvedeny [zde](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** -[![Otevřít ve Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) +[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Otevřít%20ve%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) #### 🧑‍🎓 _Jste student?_ -Navštivte [**Student Hub stránku**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), kde naleznete zdroje pro začátečníky, studentské balíčky a dokonce i způsoby, jak získat bezplatný certifikát. Tuto stránku si chcete zařadit mezi oblíbené a čas od času ji zkontrolovat, protože obsah měníme měsíčně. +Navštivte [**Student Hub stránku**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), kde naleznete zdroje pro začátečníky, studentské balíčky a dokonce i způsoby, jak získat voucher na bezplatný certifikát. Tuto stránku si chcete uložit do záložek a občas jí kontrolovat, protože obsah měníme každý měsíc. -### 📣 Oznámení - Nové výzvy režimu GitHub Copilot Agent k dokončení! +### 📣 Oznámení - Nové výzvy v režimu GitHub Copilot Agent k dokončení! -Přidána nová výzva, hledejte "GitHub Copilot Agent Challenge 🚀" ve většině kapitol. To je nová výzva, kterou máte dokončit pomocí GitHub Copilot a režimu Agent. Pokud jste režim Agent nikdy nepoužili, umožňuje nejen generovat text, ale také vytvářet a upravovat soubory, spouštět příkazy a další. +Nová výzva přidána, hledejte "GitHub Copilot Agent Challenge 🚀" v většině kapitol. Je to nová výzva pro dokončení pomocí GitHub Copilot a režimu Agent. Pokud jste režim Agent dosud nepoužili, umožňuje nejen generovat text, ale také vytvářet a upravovat soubory, spouštět příkazy a další. -### 📣 Oznámení - _Nový projekt k vytvoření pomocí generativní AI_ +### 📣 Oznámení - _Nový projekt k vytvoření pomocí generativní AI_ -Právě přidán nový projekt AI asistenta, podívejte se na [projekt](./9-chat-project/README.md) +Právě přidán nový AI Assistant projekt, podívejte se na [projekt](./9-chat-project/README.md) -### 📣 Oznámení - _Nové kurikulum_ o generativní AI pro JavaScript bylo právě vydáno +### 📣 Oznámení - _Nový kurz_ o Generativní AI pro JavaScript byl právě zveřejněn -Nezmeškejte naše nové kurikulum Generativní AI! +Nezmeškejte náš nový kurz Generativní AI! Navštivte [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) a začněte! -![Pozadí](../../translated_images/cs/background.148a8d43afde5730.webp) +![Background](../../translated_images/cs/background.148a8d43afde5730.webp) -- Lekce pokrývají vše od základů až po RAG. -- Komunikujte s historickými postavami pomocí GenAI a naší průvodní aplikace. +- Lekce pokrývají vše od základů po RAG. +- Interakce s historickými postavami pomocí GenAI a naší doprovodné aplikace. - Zábavný a poutavý příběh, budete cestovat časem! -![postava](../../translated_images/cs/character.5c0dd8e067ffd693.webp) +![character](../../translated_images/cs/character.5c0dd8e067ffd693.webp) -Každá lekce obsahuje úkol k dokončení, ověření znalostí a výzvu, která vás provede tématy jako: -- Vytváření promptů a jejich inženýrství +Každá lekce obsahuje úkol k dokončení, kontrolu znalostí a výzvu, které vás provedou tématy jako: +- Promptování a tvorba promptů (prompt engineering) - Generování textových a obrazových aplikací - Vyhledávací aplikace Navštivte [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) a začněte! + ## 🌱 Začínáme -> **Učitelé**, zahrnuli jsme [několik návrhů](for-teachers.md), jak použít toto kurikulum. Budeme rádi za vaši zpětnou vazbu [v našem diskuzním fóru](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! +> **Učitelé**, zahrnuli jsme [některé návrhy](for-teachers.md), jak tento plán kurzu používat. Budeme rádi za vaši zpětnou vazbu [v našem diskuzním fóru](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! -**[Studující](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, u každé lekce začněte přednáškovým kvízem a pokračujte čtením přednáškového materiálu, dokončením různých aktivit a ověřením porozumění pomocí povětrná přednáškového kvízu. +**[Studenti](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, pro každou lekci začněte přednáškovým kvízem a pokračujte čtením výukového materiálu, plněním různých aktivit a ověřte si své porozumění pomocí popřednáškového kvízu. -Pro lepší zkušenosti s učením se spojte s kolegy a pracujte na projektech společně! Diskuze jsou vítané v našem [diskuzním fóru](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), kde je k dispozici náš tým moderátorů, kteří vám pomohou. +Pro zlepšení vašeho studijního zážitku se spojte s kolegy a pracujte společně na projektech! Diskuze jsou podporovány v našem [diskuzním fóru](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), kde je k dispozici tým moderátorů, aby zodpověděl vaše dotazy. -Pro další vzdělávání doporučujeme prozkoumat [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) pro doplňující studijní materiály. +Pro další vzdělávání důrazně doporučujeme prozkoumat [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) pro doplňující studijní materiály. ### 📋 Nastavení vašeho prostředí -Toto kurikulum má připravené vývojové prostředí! Na začátku si můžete vybrat, zda budete kurz spouštět v [Codespace](https://github.com/features/codespaces/) (_prohlížečem ovládané prostředí bez nutnosti instalace_), nebo lokálně na svém počítači pomocí textového editoru, například [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +Tento plán kurzu má připravené vývojové prostředí! Na začátku si můžete vybrat, zda budete kurz spouštět v [Codespace](https://github.com/features/codespaces/) (_prohlížečové prostředí bez nutnosti instalací_) nebo lokálně na vašem počítači s použitím textového editoru, jako je [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -#### Vytvořte si vlastní repozitář -Pro snadné ukládání vaší práce je doporučeno vytvořit si vlastní kopii tohoto repozitáře. Můžete tak učinit kliknutím na tlačítko **Použít tuto šablonu** na vrchu stránky. Tím se vytvoří nový repozitář na vašem GitHub účtu s kopií kurikula. +#### Vytvořte svůj repozitář +Pro snadné ukládání své práce se doporučuje vytvořit si vlastní kopii tohoto repozitáře. To můžete udělat kliknutím na tlačítko **Use this template** v horní části stránky. Tím se vytvoří nový repozitář ve vašem GitHub účtu s kopií kurzu. -Postupujte následovně: -1. **Vytvořte Fork repozitáře**: Klikněte na tlačítko „Fork“ v pravém horním rohu této stránky. +Postupujte podle těchto kroků: +1. **Vytvořte fork repozitáře**: Klikněte na tlačítko "Fork" v pravém horním rohu této stránky. 2. **Naklonujte repozitář**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -#### Spuštění kurikula v Codespace +#### Spuštění kurzu v Codespace -Ve své kopii repozitáře klikněte na tlačítko **Code** a vyberte **Open with Codespaces**. Tím vytvoříte nový Codespace, ve kterém můžete pracovat. +Ve vaší kopii tohoto repozitáře klikněte na tlačítko **Code** a vyberte **Open with Codespaces**. Tím se vytvoří nový Codespace, ve kterém můžete pracovat. ![Codespace](../../translated_images/cs/createcodespace.0238bbf4d7a8d955.webp) -#### Spuštění kurikula lokálně na vašem počítači +#### Spuštění kurzu lokálně na vašem počítači -Pro spuštění tohoto kurikula lokálně budete potřebovat textový editor, prohlížeč a nástroj příkazového řádku. Naše první lekce, [Úvod do programovacích jazyků a nástrojů](../../1-getting-started-lessons/1-intro-to-programming-languages), vás provede různými možnostmi pro každý z těchto nástrojů, abyste si vybrali, co vám vyhovuje nejvíce. +Pro spuštění tohoto kurzu lokálně na vašem počítači budete potřebovat textový editor, prohlížeč a nástroj příkazového řádku. Naše první lekce, [Úvod do programovacích jazyků a nástrojů řemesla](../../1-getting-started-lessons/1-intro-to-programming-languages), vás provede různými možnostmi pro každý z těchto nástrojů, abyste si mohli vybrat, co vám nejvíce vyhovuje. -Doporučujeme použít [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) jako editor, který má také zabudovaný [Terminál](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Visual Studio Code si můžete stáhnout [zde](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +Doporučujeme používat [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) jako editor, který má také integrovaný [Terminál](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Visual Studio Code si můžete stáhnout [zde](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). 1. Naklonujte si své úložiště do počítače. Můžete to udělat kliknutím na tlačítko **Code** a zkopírováním URL: [CodeSpace](./images/createcodespace.png) - Poté otevřete [Terminál](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) ve [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) a spusťte následující příkaz, přičemž `` nahraďte právě zkopírovanou URL: + Poté otevřete [Terminál](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) ve [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) a spusťte následující příkaz, přičemž `` nahraďte URL, kterou jste právě zkopírovali: ```bash git clone ``` -2. Otevřete složku ve Visual Studio Code. Můžete to udělat kliknutím na **File** > **Open Folder** a výběrem složky, kterou jste právě naklonovali. +2. Otevřete složku ve Visual Studio Code. Můžete to udělat kliknutím na **Soubor** > **Otevřít složku** a výběrem složky, kterou jste právě naklonovali. > Doporučené rozšíření Visual Studio Code: > -> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - pro náhled HTML stránek přímo ve Visual Studio Code -> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - pomáhá rychleji psát kód +> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) – pro náhled HTML stránek přímo ve Visual Studio Code +> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) – pro rychlejší psaní kódu ## 📂 Každá lekce obsahuje: -- volitelnou náčrtnou poznámku (sketchnote) +- volitelnou sketchnotu - volitelné doplňkové video -- rozcvičovací kvíz před lekcí +- rozehřívací kvíz před lekcí - psanou lekci -- u lekcí založených na projektu krok za krokem průvodce, jak projekt postavit -- kontrolní otázky +- u lekcí založených na projektech krok za krokem návody, jak projekt vybudovat +- ověřování znalostí - výzvu -- doplňkové čtení +- doplňující čtení - úkol - [kvíz po lekci](https://ff-quizzes.netlify.app/web/) -> **Poznámka ke kvízům**: Všechny kvízy jsou uloženy ve složce Quiz-app, celkem 48 kvízů po třech otázkách. Jsou dostupné [zde](https://ff-quizzes.netlify.app/web/), kvízovou aplikaci lze spustit lokálně nebo nasadit na Azure; postupujte podle instrukcí ve složce `quiz-app`. +> **Poznámka ke kvízům**: Všechny kvízy jsou umístěny ve složce Quiz-app, celkem 48 kvízů se třemi otázkami každý. Jsou dostupné [zde](https://ff-quizzes.netlify.app/web/), aplikaci s kvízy lze spustit lokálně nebo publikovat na Azure; řiďte se pokyny ve složce `quiz-app`. ## 🗃️ Lekce -| | Název projektu | Naučené koncepty | Cíle učení | Propojená lekce | Autor | -| :-: | :--------------------------------------------------------: | :--------------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | Začínáme | Úvod do programování a nástroje řemesla | Naučte se základní principy většiny programovacích jazyků a o softwaru, která pomáhá profesionálním vývojářům | [Úvod do programovacích jazyků a nástrojů](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | Začínáme | Základy GitHubu, včetně práce v týmu | Jak používat GitHub ve vašem projektu, jak spolupracovat s ostatními na kódu | [Úvod do GitHubu](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | Začínáme | Přístupnost | Naučte se základy webové přístupnosti | [Základy přístupnosti](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | Základy JS | Datové typy JavaScriptu | Základy datových typů v JavaScriptu | [Datové typy](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | Základy JS | Funkce a metody | Naučte se o funkcích a metodách k řízení logiky aplikace | [Funkce a metody](./2-js-basics/2-functions-methods/README.md) | Jasmine a Christopher | -| 06 | Základy JS | Rozhodování v JS | Naučte se vytvářet podmínky ve vašem kódu pomocí rozhodovacích metod | [Rozhodování](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | Základy JS | Pole a cykly | Práce s daty pomocí polí a cyklů v JavaScriptu | [Pole a cykly](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML v praxi | Vytvořte HTML pro online terárium, zaměřte se na tvorbu rozvržení | [Úvod do HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS v praxi | Vytvořte CSS pro stylování online terária, zaměřte se na základy CSS včetně responzivního designu | [Úvod do CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScriptové uzávěry, manipulace s DOM | Napište JavaScript, aby terárium fungovalo jako rozhraní drag/drop, zaměřte se na uzávěry a manipulaci s DOM | [JavaScriptové uzávěry, manipulace s DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Typing Game](./4-typing-game/solution/README.md) | Vytvoření hry psaní na klávesnici | Naučte se používat události klávesnice k řízení logiky JavaScriptové aplikace | [Programování řízené událostmi](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Práce s prohlížeči | Naučte se, jak fungují prohlížeče, jejich historii a jak vytvářet základy rozšíření prohlížeče | [O prohlížečích](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Vytváření formuláře, volání API a ukládání proměnných v lokálním úložišti | Vytvořte JavaScriptové prvky rozšíření pro volání API pomocí proměnných uložených v lokálním úložišti | [API, formuláře a lokální úložiště](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Pozadí procesů v prohlížeči, webový výkon | Použijte pozadí prohlížeče ke správě ikony rozšíření; naučte se o výkonu webu a optimalizacích | [Pozadí úkolů a výkon](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Space Game](./6-space-game/solution/README.md) | Pokročilejší vývoj her v JavaScriptu | Naučte se o dědičnosti pomocí tříd a kompozice a o vzoru Pub/Sub jako příprava na tvorbu hry | [Úvod do pokročilého vývoje her](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [Space Game](./6-space-game/solution/README.md) | Kreslení na plátno | Naučte se o Canvas API, které slouží k vykreslování prvků na obrazovku | [Kreslení na plátno](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Space Game](./6-space-game/solution/README.md) | Pohyb prvků po obrazovce | Objevte, jak mohou prvky získat pohyb pomocí kartézských souřadnic a Canvas API | [Pohyb prvků](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Space Game](./6-space-game/solution/README.md) | Detekce kolizí | Udělejte, aby se prvky srážely a reagovaly na sebe pomocí stisků kláves a přidejte funkci chladnutí pro výkon hry | [Detekce kolizí](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Space Game](./6-space-game/solution/README.md) | Udržování skóre | Proveďte matematické výpočty na základě stavu a výkonu hry | [Udržování skóre](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Space Game](./6-space-game/solution/README.md) | Ukončení a restartování hry | Naučte se o ukončení a restartování hry, včetně čištění zdrojů a resetování proměnných | [Podmínka ukončení](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML šablony a směrování ve webové aplikaci | Naučte se vytvářet architekturu vícestránkového webu pomocí směrování a HTML šablon | [HTML šablony a směrování](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [Banking App](./7-bank-project/solution/README.md) | Vytvoření přihlašovacího a registračního formuláře | Naučte se o tvorbě formulářů a zpracování validací | [Formuláře](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [Banking App](./7-bank-project/solution/README.md) | Metody získávání a použití dat | Jak data proudí do a z vaší aplikace, jak je získávat, ukládat a odstraňovat | [Data](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [Banking App](./7-bank-project/solution/README.md) | Koncepty správy stavu | Naučte se, jak vaše aplikace udržuje stav a jak ho programově spravovat | [Správa stavu](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Browser/VScode Code](../../8-code-editor) | Práce s VScode | Naučte se používat editor kódu | [Použití editoru kódu VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [AI Assistants](./9-chat-project/README.md) | Práce s AI | Naučte se vytvořit vlastního AI asistenta | [Projekt AI asistenta](./9-chat-project/README.md) | Chris | +| | Název projektu | Naučené koncepty | Výukové cíle | Propojená lekce | Autor | +| :-: | :--------------------------------------------------------: | :--------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | +| 01 | Začínáme | Úvod do programování a nástroje oboru | Naučit se základní principy většiny programovacích jazyků a software, který pomáhá profesionálním vývojářům jejich práci | [Úvod do programovacích jazyků a nástrojů](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Začínáme | Základy GitHubu, práce v týmu | Jak používat GitHub ve svém projektu, jak spolupracovat s ostatními na kódu | [Úvod do GitHubu](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Začínáme | Přístupnost | Naučit se základy přístupnosti webu | [Základy přístupnosti](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | Základy JS | Datové typy v JavaScriptu | Základy datových typů v JavaScriptu | [Datové typy](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | Základy JS | Funkce a metody | Naučit se o funkcích a metodách pro řízení logiky aplikace | [Funkce a metody](./2-js-basics/2-functions-methods/README.md) | Jasmine a Christopher | +| 06 | Základy JS | Rozhodování v JS | Naučit se vytvářet podmínky v kódu pomocí rozhodovacích metod | [Rozhodování](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | Základy JS | Pole a smyčky | Práce s daty pomocí polí a smyček v JavaScriptu | [Pole a smyčky](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrárium](./3-terrarium/solution/README.md) | HTML v praxi | Vytvořit HTML pro online terrárium, zaměřit se na tvorbu rozložení | [Úvod do HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrárium](./3-terrarium/solution/README.md) | CSS v praxi | Vytvořit CSS pro stylování online terrária, zaměřit se na základy CSS včetně responzivního designu | [Úvod do CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrárium](./3-terrarium/solution/README.md) | JavaScriptové uzávěry, manipulace s DOM | Napsat JavaScript, aby terrárium fungovalo jako rozhraní drag/drop, zaměřit se na uzávěry a manipulaci s DOM | [JavaScriptové uzávěry, manipulace s DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Hra na psaní](./4-typing-game/solution/README.md) | Vytvoření hry na psaní | Naučit se používat klávesové události pro řízení logiky ve své JavaScriptové aplikaci | [Programování řízené událostmi](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Ekologické rozšíření pro prohlížeč](./5-browser-extension/solution/README.md) | Práce s prohlížeči | Naučit se, jak fungují prohlížeče, jejich historii a jak vytvořit první prvky rozšíření | [O prohlížečích](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Ekologické rozšíření pro prohlížeč](./5-browser-extension/solution/README.md) | Vytváření formuláře, volání API a ukládání proměnných v lokálním úložišti | Napsat JavaScriptové prvky rozšíření pro volání API a ukládání proměnných v lokálním úložišti | [API, formuláře a lokální úložiště](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Ekologické rozšíření pro prohlížeč](./5-browser-extension/solution/README.md) | Procesy na pozadí v prohlížeči, webový výkon | Použití procesů na pozadí pro správu ikon rozšíření; poznání webového výkonu a některých optimalizací pro zlepšení | [Úlohy na pozadí a výkon](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Kosmická hra](./6-space-game/solution/README.md) | Pokročilejší vývoj her v JavaScriptu | Naučit se o dědičnosti pomocí tříd a kompozice a o vzoru Pub/Sub, jako přípravu na tvorbu hry | [Úvod do pokročilého vývoje her](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Kosmická hra](./6-space-game/solution/README.md) | Kreslení na plátno | Naučit se o Canvas API používaném pro kreslení prvků na obrazovku | [Kreslení na plátno](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Kosmická hra](./6-space-game/solution/README.md) | Pohyb prvků po obrazovce | Objevte, jak prvky získávají pohyb pomocí kartézských souřadnic a Canvas API | [Pohyb prvků po obrazovce](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Kosmická hra](./6-space-game/solution/README.md) | Detekce kolizí | Zajistit kolize a reakce prvků na sebe navzájem pomocí stisknutých kláves a přidat cooldown funkci pro výkon hry | [Detekce kolizí](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Kosmická hra](./6-space-game/solution/README.md) | Udržování skóre | Provádět matematické výpočty na základě stavu a výkonu hry | [Udržování skóre](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Kosmická hra](./6-space-game/solution/README.md) | Ukončení a restartování hry | Naučit se o ukončení a restartování hry, včetně čištění zdrojů a resetování proměnných | [Podmínka ukončení](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Bankovní aplikace](./7-bank-project/solution/README.md) | HTML šablony a routování ve webové aplikaci | Naučit se vytvářet kostru vícestránkové webové stránky pomocí routování a HTML šablon | [HTML šablony a routování](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Bankovní aplikace](./7-bank-project/solution/README.md) | Vytvoření přihlašovacího a registračního formuláře | Naučit se o tvorbě formulářů a zpracování validačních rutin | [Formuláře](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Bankovní aplikace](./7-bank-project/solution/README.md) | Metody získávání a používání dat | Jak data proudí do aplikace i ven z ní, jak je načítat, ukládat a mažet | [Data](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Bankovní aplikace](./7-bank-project/solution/README.md) | Koncept správy stavu | Naučit se, jak si aplikace uchovává stav a jak ho programově ovládat | [Správa stavu](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Kód prohlížeče/VScode](../../8-code-editor) | Práce s VScode | Naučte se používat editor kódu | [Použití editoru VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [AI asistenti](./9-chat-project/README.md) | Práce s AI | Naučte se vytvořit vlastního AI asistenta | [Projekt AI asistenta](./9-chat-project/README.md) | Chris | ## 🏫 Pedagogika -Náš výukový plán je navržen s ohledem na dva klíčové pedagogické principy: +Náš učební plán je navržený s dvěma klíčovými pedagogickými principy: * učení založené na projektech * časté kvízy -Program učí základy JavaScriptu, HTML a CSS, stejně jako nejnovější nástroje a techniky používané dnešními webovými vývojáři. Studenti budou mít možnost získat praktické zkušenosti stavbou hry psaní na klávesnici, virtuálního terária, ekologického rozšíření prohlížeče, hry ve stylu Space Invaders a bankovní aplikace pro firmy. Na konci série budou mít studenti pevné základy webového vývoje. +Program vede základy JavaScriptu, HTML a CSS, stejně jako nejnovější nástroje a techniky používané dnešními webovými vývojáři. Studenti budou mít příležitost získat praktické zkušenosti vytvořením hry na psaní, virtuálního terrária, ekologického rozšíření pro prohlížeč, hry ve stylu space-invader a bankovní aplikace pro firmy. Na konci série budou mít studenti pevné porozumění webovému vývoji. -> 🎓 První lekce tohoto kurzu můžete absolvovat jako [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) na Microsoft Learn! +> 🎓 První lekce v tomto kurikulu můžete absolvovat jako [Učební cestu](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) na Microsoft Learn! -Díky sladění obsahu s projekty je proces pro studenty zajímavější a zvyšuje se zapamatování konceptů. Také jsme napsali několik úvodních lekcí o základech JavaScriptu doplněných videi z kolekce "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", jejichž autoři se podíleli na tomto kurzu. +Díky propojení obsahu s projekty je proces pro studenty poutavější a zlepšuje se zapamatování konceptů. Také jsme napsali několik úvodních lekcí o základech JavaScriptu, které představují koncepty, doprovázené videi ze série "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" – někteří autoři těchto videí přispěli do tohoto kurikula. -Navíc nízkorizikový kvíz před hodinou nastavuje záměr studenta se učit dané téma, zatímco druhý kvíz po hodině podporuje další zapamatování. Tento kurz je navržen tak, aby byl flexibilní a zábavný a lze ho absolvovat celý nebo částečně. Projekty začínají malé a na konci 12týdenního cyklu jsou stále složitější. +Navíc nízkorizikový kvíz před lekcí pomáhá studentovi zaměřit se na téma, zatímco kvíz po lekci podpoří další zapamatování. Tento učební plán je navržen flexibilně a zábavně a lze ho absolvovat celý nebo částečně. Projekty začínají jednoduché a postupně se v průběhu 12 týdnů stávají složitějšími. -Záměrně jsme se vyhnuli zavádění JavaScriptových frameworků, abychom se soustředili na základní dovednosti potřebné jako webový vývojář před přijetím frameworku, dobrým dalším krokem po absolvování tohoto kurzu by bylo naučit se Node.js prostřednictvím jiné kolekce videí: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +I když jsme záměrně vynechali zavádění frameworků JavaScriptu, abychom se soustředili na základní dovednosti webového vývojáře před přijetím frameworku, dobrým dalším krokem po dokončení tohoto kurikula je naučit se o Node.js prostřednictvím další série videí: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> Navštivte naše [Kodex chování](CODE_OF_CONDUCT.md) a [Přispívání](CONTRIBUTING.md). Těšíme se na vaše konstruktivní návrhy! +> Navštivte naše [Kodex chování](CODE_OF_CONDUCT.md) a [Příspěvky](CONTRIBUTING.md) zásady. Vítáme vaše konstruktivní připomínky! ## 🧭 Offline přístup -Tuto dokumentaci můžete spustit offline pomocí [Docsify](https://docsify.js.org/#/). Forkněte si toto repo, [nainstalujte Docsify](https://docsify.js.org/#/quickstart) na svém počítači a poté v kořenové složce tohoto repozitáře spusťte příkaz `docsify serve`. Webová stránka bude servírována na portu 3000 na vašem localhostu: `localhost:3000`. +Tuto dokumentaci můžete používat offline pomocí [Docsify](https://docsify.js.org/#/). Forkněte si toto repozitář, [nainstalujte Docsify](https://docsify.js.org/#/quickstart) na svůj počítač a pak v kořenové složce repozitáře napište `docsify serve`. Webová stránka bude dostupná na portu 3000 na vašem localhostu: `localhost:3000`. ## 📘 PDF -PDF všech lekcí naleznete [zde](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). +PDF všech lekcí lze nalézt [zde](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). -## 🎒 Ostatní kurzy +## 🎒 Další kurzy -Náš tým připravuje i další kurzy! Podívejte se na: +Náš tým vytváří i další kurzy! Podívejte se na: ### LangChain -[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) -[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) -[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain4j pro začátečníky](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) +[![LangChain.js pro začátečníky](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain pro začátečníky](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) --- -### Azure / Edge / MCP / Agents -[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) -[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) -[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) +### Azure / Edge / MCP / Agenti +[![AZD pro začátečníky](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Edge AI pro začátečníky](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![MCP pro začátečníky](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) +[![AI agenti pro začátečníky](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) --- - -### Generativní AI série -[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) -[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) -[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) + +### Série Generativní AI +[![Generativní AI pro začátečníky](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Generativní AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) +[![Generativní AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) +[![Generativní AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) --- - + ### Základní vzdělávání -[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) -[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) -[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) -[![Kybernetická bezpečnost pro začátečníky](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) +[![ML pro začátečníky](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) +[![Data Science pro začátečníky](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) +[![AI pro začátečníky](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) +[![Kyberbezpečnost pro začátečníky](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) [![Webový vývoj pro začátečníky](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) [![IoT pro začátečníky](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) -[![Vývoj XR pro začátečníky](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) +[![XR vývoj pro začátečníky](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) --- - + ### Série Copilot -[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) -[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) +[![Copilot pro AI párové programování](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) +[![Copilot pro C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) [![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) ## Získání pomoci -Pokud se zaseknete nebo máte otázky ohledně tvorby AI aplikací, připojte se k ostatním studentům a zkušeným vývojářům v diskusích o MCP. Je to podpůrná komunita, kde jsou otázky vítány a znalosti se sdílejí otevřeně. +Pokud budete mít potíže nebo nějaké dotazy ohledně vytváření AI aplikací, připojte se k ostatním studentům a zkušeným vývojářům v diskuzích o MCP. Je to vstřícná komunita, kde jsou otázky vítány a znalosti se sdílejí otevřeně. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Pokud máte zpětnou vazbu k produktu nebo narazíte na chyby během vývoje, navštivte: +Pokud máte zpětnou vazbu k produktu nebo narazíte na chyby při tvorbě, navštivte: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) ## Licence -Tento repozitář je licencován pod licencí MIT. Více informací naleznete v souboru [LICENSE](../../LICENSE). +Toto úložiště je licencováno pod licencí MIT. Pro více informací viz soubor [LICENSE](../../LICENSE). --- -**Prohlášení o vyloučení odpovědnosti**: -Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). I když usilujeme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho rodném jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Za jakékoli nedorozumění nebo nesprávné výklady vzniklé z použití tohoto překladu neneseme odpovědnost. +**Zdroj informací**: +Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). Přestože usilujeme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho rodném jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za jakékoliv nedorozumění nebo nesprávné výklady vyplývající z použití tohoto překladu. \ No newline at end of file diff --git a/translations/da/.co-op-translator.json b/translations/da/.co-op-translator.json index 508c7707c3..eb9cbcfdb3 100644 --- a/translations/da/.co-op-translator.json +++ b/translations/da/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T18:53:21+00:00", + "translation_date": "2026-04-06T18:13:56+00:00", "source_file": "AGENTS.md", "language_code": "da" }, @@ -516,8 +516,8 @@ "language_code": "da" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T18:12:27+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T18:09:00+00:00", "source_file": "README.md", "language_code": "da" }, diff --git a/translations/da/AGENTS.md b/translations/da/AGENTS.md index e047fb6262..9ac2322b20 100644 --- a/translations/da/AGENTS.md +++ b/translations/da/AGENTS.md @@ -2,14 +2,14 @@ ## Projektoversigt -Dette er et uddannelsesmæssigt kursuslager for undervisning i grundlæggende webudvikling for begyndere. Læreplanen er et omfattende 12-ugers kursus udviklet af Microsoft Cloud Advocates, der indeholder 24 praktiske lektioner om JavaScript, CSS og HTML. +Dette er et uddannelses-kursuslager til undervisning i grundlæggende webudvikling for begyndere. Pensum er et omfattende 12-ugers kursus udviklet af Microsoft Cloud Advocates, med 24 praktiske lektioner, der dækker JavaScript, CSS og HTML. -### Centrale komponenter +### Vigtige komponenter -- **Uddannelsesindhold**: 24 strukturerede lektioner organiseret i projektbaserede moduler +- **Læremateriale**: 24 strukturerede lektioner organiseret i projektbaserede moduler - **Praktiske projekter**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor og AI Chat Assistant -- **Interaktive quizzer**: 48 quizzer med 3 spørgsmål hver (før/efter-lektion vurderinger) -- **Multisprogunderstøttelse**: Automatiserede oversættelser til 50+ sprog via GitHub Actions +- **Interaktive quizzer**: 48 quizzer med 3 spørgsmål hver (før/efter lektion evalueringer) +- **Flersproget support**: Automatiske oversættelser til 50+ sprog via GitHub Actions - **Teknologier**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (til AI-projekter) ### Arkitektur @@ -18,11 +18,11 @@ Dette er et uddannelsesmæssigt kursuslager for undervisning i grundlæggende we - Hver lektionsmappe indeholder README, kodeeksempler og løsninger - Selvstændige projekter i separate mapper (quiz-app, forskellige lektionsprojekter) - Oversættelsessystem ved brug af GitHub Actions (co-op-translator) -- Dokumentation serveret via Docsify og tilgængelig som PDF +- Dokumentation leveres via Docsify og er tilgængelig som PDF ## Opsætningskommandoer -Dette lager er primært til forbrug af uddannelsesindhold. For arbejde med specifikke projekter: +Dette lager er primært til forbrug af uddannelsesindhold. For at arbejde med specifikke projekter: ### Hovedlageropsætning @@ -48,7 +48,7 @@ cd 7-bank-project/api npm install npm start # Start API-server npm run lint # Kør ESLint -npm run format # Formater med Prettier +npm run format # Formatér med Prettier ``` ### Browser Extension Projekter @@ -56,7 +56,7 @@ npm run format # Formater med Prettier ```bash cd 5-browser-extension/solution npm install -# Følg browser-specifikke instruktioner til indlæsning af udvidelser +# Følg browser-specifikke udvidelsesindlæsningsinstruktioner ``` ### Space Game Projekter @@ -72,32 +72,32 @@ npm install ```bash cd 9-chat-project/solution/backend/python pip install openai -# Sæt miljøvariablen GITHUB_TOKEN +# Indstil GITHUB_TOKEN miljøvariabel python api.py ``` -## Udviklingsworkflow +## Udviklingsarbejdsgang -### For indholds bidragydere +### For indholdsbidragsydere 1. **Fork lageret** til din GitHub-konto 2. **Klon din fork** lokalt 3. **Opret en ny gren** til dine ændringer -4. Foretag ændringer i lektionens indhold eller kodeeksempler +4. Foretag ændringer i lektionsindhold eller kodeeksempler 5. Test eventuelle kodeændringer i relevante projektmapper 6. Indsend pull requests i henhold til bidragsretningslinjer ### For elever 1. Fork eller klon lageret -2. Naviger sekventielt til lektionsmapper +2. Naviger sekventielt til lektionsmapperne 3. Læs README-filer for hver lektion -4. Fuldfør før-lektion quizzer på https://ff-quizzes.netlify.app/web/ -5. Arbejd igennem kodeeksempler i lektionsmapper -6. Fuldfør opgaver og udfordringer -7. Tag post-lesson quizzer +4. Fuldfør præ-lektionsquizzer på https://ff-quizzes.netlify.app/web/ +5. Arbejd med kodeeksempler i lektionsmapperne +6. Udfør opgaver og udfordringer +7. Tag post-lektionsquizzer -### Live udvikling +### Live udvilkling - **Dokumentation**: Kør `docsify serve` i rodmappen (port 3000) - **Quiz App**: Kør `npm run dev` i quiz-app mappen @@ -110,8 +110,8 @@ python api.py ```bash cd quiz-app -npm run lint # Tjek for problemer med kodestil -npm run build # Bekræft, at build lykkes +npm run lint # Tjek for kode stilproblemer +npm run build # Bekræft at build lykkes ``` ### Bank API Test @@ -119,73 +119,73 @@ npm run build # Bekræft, at build lykkes ```bash cd 7-bank-project/api npm run lint # Tjek for kode stil problemer -node server.js # Bekræft at serveren starter uden fejl +node server.js # Bekræft at server starter uden fejl ``` ### Generel testtilgang -- Dette er et uddannelseslager uden omfattende automatiske tests +- Dette er et uddannelseslager uden omfattende automatiserede tests - Manuel test fokuserer på: - Kodeeksempler kører uden fejl - Links i dokumentationen fungerer korrekt - - Projekt builds gennemføres uden problemer + - Projekter bygger færdigt succesfuldt - Eksempler følger bedste praksis -### Forud for indsendelse tjek +### Kontroller før indsendelse - Kør `npm run lint` i mapper med package.json -- Verificer at markdown links er gyldige +- Bekræft at markdown-links er gyldige - Test kodeeksempler i browser eller Node.js -- Kontroller at oversættelser bevarer korrekt struktur +- Tjek at oversættelser bevarer korrekt struktur -## Kodestil retningslinjer +## Kode-stil retningslinjer ### JavaScript -- Brug moderne ES6+ syntax -- Følg standard ESLint konfigurationer leveret i projekter -- Brug meningsfulde variabel- og funktionsnavne for pædagogisk klarhed -- Tilføj kommentarer der forklarer koncepter for elever -- Formater ved hjælp af Prettier hvor konfigureret +- Brug moderne ES6+ syntaks +- Følg standard ESLint-konfigurationer leveret i projekterne +- Brug meningsfulde variabel- og funktionsnavne for bedre læring +- Tilføj kommentarer, der forklarer koncepter for elever +- Formater med Prettier hvor konfigureret ### HTML/CSS -- Semantiske HTML5 elementer +- Semantiske HTML5-elementer - Responsivt design principper -- Klare navngivningskonventioner for klasser -- Kommentarer der forklarer CSS teknikker for elever +- Klare klassenavnekonventioner +- Kommentarer, der forklarer CSS-teknikker for elever ### Python - PEP 8 stilretningslinjer -- Klare, pædagogiske kodeeksempler -- Typeangivelser hvor det er hjælpsomt for læring +- Klare, uddannelsesmæssige kodeeksempler +- Type hints hvor det hjælper læring ### Markdown dokumentation -- Klar overskriftsstruktur -- Kodeblokke med sprogspecifikation +- Klar overskriftshierarki +- Kodeblokke med sprogangivelse - Links til yderligere ressourcer - Skærmbilleder og billeder i `images/` mapper -- Alt-tekster til billeder for tilgængelighed +- Alt-tekst til billeder for tilgængelighed ### Filorganisation -- Lektioner nummereres sekventielt (1-getting-started-lessons, 2-js-basics osv.) +- Lektioner nummereret sekventielt (1-getting-started-lessons, 2-js-basics, osv.) - Hvert projekt har `solution/` og ofte `start/` eller `your-work/` mapper - Billeder gemt i lektionsspecifikke `images/` mapper - Oversættelser i `translations/{language-code}/` struktur -## Build og deployment +## Bygning og udrulning -### Quiz App Deployment (Azure Static Web Apps) +### Quiz App udrulning (Azure Static Web Apps) -quiz-app er konfigureret til Azure Static Web Apps deployment: +quiz-app er konfigureret til Azure Static Web Apps udrulning: ```bash cd quiz-app npm run build # Opretter dist/ mappe -# Udrulning via GitHub Actions workflow ved push til main +# Udruller via GitHub Actions workflow ved push til main ``` Azure Static Web Apps konfiguration: @@ -204,26 +204,26 @@ npm run convert # Generer PDF fra docs ```bash npm install -g docsify-cli # Installer Docsify globalt -docsify serve # Server på localhost:3000 +docsify serve # Kør på localhost:3000 ``` ### Projekt-specifikke builds -Hver projektmappe kan have sin egen build-proces: -- Vue projekter: `npm run build` skaber produktionsbundles -- Static projekter: Ingen build-trin, server filer direkte +Hver projektmappe kan have sin egen byggeproces: +- Vue projekter: `npm run build` skaber produktionspakker +- Statisk projekter: Ingen byggeproces, server filer direkte ## Pull Request retningslinjer ### Titel format -Brug klare, beskrivende titler der angiver ændringsområde: +Brug klare, beskrivende titler, der angiver område for ændring: - `[Quiz-app] Tilføj ny quiz til lektion X` - `[Lesson-3] Ret stavefejl i terrarium projekt` - `[Translation] Tilføj spansk oversættelse til lektion 5` - `[Docs] Opdater opsætningsinstruktioner` -### Krævede tjek +### Påkrævede kontroller Før indsendelse af PR: @@ -233,45 +233,45 @@ Før indsendelse af PR: 2. **Build verifikation**: - Kør `npm run build` hvis relevant - - Sørg for ingen build fejl + - Sikre ingen build fejl 3. **Link validering**: - Test alle markdown links - - Bekræft billedehenvisninger virker + - Bekræft at billedreferencer virker -4. **Indholdsgennemgang**: - - Korrekturlæs for stave- og grammatikefejl - - Sørg for kodeeksempler er korrekte og pædagogiske - - Verificer at oversættelser bevarer oprindelig betydning +4. **Indholdsrevision**: + - Korrekturlæs for stave- og grammatikfejl + - Sikre kodeeksempler er korrekte og pædagogiske + - Bekræft oversættelser bevarer oprindelig mening ### Bidragskrav - Accepter Microsoft CLA (automatisk tjek ved første PR) - Følg [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) - Se [CONTRIBUTING.md](./CONTRIBUTING.md) for detaljerede retningslinjer -- Referér issues i PR beskrivelsen hvis relevant +- Referer til issues i PR-beskrivelsen hvis relevant ### Gennemgangsproces - PR’er gennemgås af vedligeholdere og fællesskab -- Pædagogisk klarhed prioriteres -- Kodeeksempler bør følge aktuelle bedste praksisser -- Oversættelser vurderes for nøjagtighed og kulturel relevans +- Pædagogisk tydelighed prioriteres +- Kodeeksempler bør følge aktuelle bedste praksis +- Oversættelser gennemgås for nøjagtighed og kulturel tilpasning ## Oversættelsessystem ### Automatisk oversættelse - Bruger GitHub Actions med co-op-translator workflow -- Oversætter automatisk til over 50 sprog +- Oversætter til 50+ sprog automatisk - Kildefiler i hovedmapper - Oversatte filer i `translations/{language-code}/` mapper ### Tilføjelse af manuelle oversættelsesforbedringer 1. Find fil i `translations/{language-code}/` -2. Foretag forbedringer mens strukturen bevares -3. Sørg for at kodeeksempler forbliver funktionelle +2. Lav forbedringer mens struktur bevares +3. Sikr at kodeeksempler forbliver funktionelle 4. Test eventuelt lokaliseret quizindhold ### Oversættelsesmetadata @@ -289,89 +289,89 @@ CO_OP_TRANSLATOR_METADATA: --> ``` -## Debugging og fejlfinding +## Fejlfinding og problemløsning ### Almindelige problemer **Quiz app starter ikke**: - Tjek Node.js version (v14+ anbefalet) - Slet `node_modules` og `package-lock.json`, kør `npm install` igen -- Tjek for portkonflikter (standard: Vite bruger port 5173) +- Tjek for porte i konflikt (standard: Vite bruger port 5173) **API server starter ikke**: -- Bekræft at Node.js version opfylder minimum (node >=10) +- Bekræft Node.js version minimum (node >=10) - Tjek om port allerede er i brug -- Sørg for alle afhængigheder er installeret med `npm install` +- Sikr at alle afhængigheder er installeret med `npm install` -**Browser extension indlæses ikke**: -- Bekræft at manifest.json er korrekt formatteret -- Tjek browser konsol for fejl +**Browser extension loader ikke**: +- Bekræft manifest.json er korrekt formateret +- Tjek browserkonsol for fejl - Følg browserspecifikke installationsinstruktioner **Python chat projekt problemer**: -- Sørg for OpenAI pakken er installeret: `pip install openai` -- Bekræft at miljøvariablen GITHUB_TOKEN er sat +- Sikr OpenAI-pakken er installeret: `pip install openai` +- Bekræft GITHUB_TOKEN miljøvariabel er sat - Tjek GitHub Models adgangstilladelser -**Docsify serverer ikke dokumentation**: +**Docsify serverer ikke docs**: - Installer docsify-cli globalt: `npm install -g docsify-cli` -- Kør fra roden af lageret +- Kør fra rodmappen i lageret - Tjek at `docs/_sidebar.md` findes ### Udviklingsmiljø tips -- Brug VS Code med Live Server udvidelse til HTML projekter -- Installer ESLint og Prettier udvidelser for ensartet formatering -- Brug browser DevTools til debugging af JavaScript -- Til Vue projekter, installer Vue DevTools browserudvidelse +- Brug VS Code med Live Server extension til HTML projekter +- Installer ESLint og Prettier extensions for ensartet formatering +- Brug browser DevTools til fejlfinding af JavaScript +- Til Vue projekter, installer Vue DevTools browser extension -### Performance hensyn +### Ydelseshensyn - Stort antal oversatte filer (50+ sprog) betyder at fulde kloner er store -- Brug shallow clone hvis kun indhold arbejdes med: `git clone --depth 1` -- Ekskluder oversættelser fra søgninger når der arbejdes med engelsk indhold -- Buildprocesser kan være langsomme ved første kørsel (npm install, Vite build) +- Brug shallow clone hvis kun arbejder med indhold: `git clone --depth 1` +- Udeluk oversættelser fra søgninger når du arbejder med engelsk indhold +- Build-processer kan være langsomme første gang (npm install, Vite build) ## Sikkerhedshensyn ### Miljøvariabler -- API nøgler må aldrig committes til lageret +- API-nøgler må aldrig committes til lageret - Brug `.env` filer (allerede i `.gitignore`) -- Dokumentér nødvendige miljøvariabler i projekt READMEs +- Dokumentér nødvendige miljøvariabler i projekt-README’er -### Python projekter +### Python Projekter - Brug virtuelle miljøer: `python -m venv venv` - Hold afhængigheder opdaterede -- GitHub tokens bør have minimale nødvendige tilladelser +- GitHub tokens skal have minimale nødvendige tilladelser ### GitHub Models adgang -- Personlige adgangstokens (PAT) kræves til GitHub Models -- Tokens skal opbevares som miljøvariabler -- Må aldrig committes eller deles +- Personal Access Tokens (PAT) kræves for GitHub Models +- Tokens skal gemmes som miljøvariabler +- Commit aldrig tokens eller legitimationsoplysninger ## Yderligere noter ### Målgruppe -- Komplette begyndere til webudvikling -- Studerende og selvstuderende -- Lærere der bruger læseplanen i undervisning -- Indhold designet til tilgængelighed og gradvis færdighedsopbygning +- Fuldstændige begyndere til webudvikling +- Studerende og selvlærende +- Lærere, der bruger pensum i klasseværelser +- Indhold er designet til tilgængelighed og gradvis færdighedsopbygning ### Pædagogisk filosofi - Projektbaseret læringstilgang -- Hyppige videnscheck (quizzer) +- Hyppige videnschecks (quizzer) - Praktiske kodningsøvelser -- Virkelighedsnære eksempler +- Virkelighedsnære anvendelsestilfælde - Fokus på grundlæggende færdigheder før frameworks ### Lagervedligeholdelse -- Aktivt fællesskab af elever og bidragydere +- Aktivt fællesskab af elever og bidragsydere - Regelmæssige opdateringer til afhængigheder og indhold - Issues og diskussioner overvåges af vedligeholdere - Oversættelsesopdateringer automatiseres via GitHub Actions @@ -381,14 +381,14 @@ CO_OP_TRANSLATOR_METADATA: - [Microsoft Learn moduler](https://docs.microsoft.com/learn/) - [Student Hub ressourcer](https://docs.microsoft.com/learn/student-hub/) - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) anbefalet til elever -- Yderligere kurser: Generative AI, Data Science, ML, IoT læreplaner tilgængelige +- Yderligere kurser: Generativ AI, Data Science, ML, IoT pensum tilgængeligt ### Arbejde med specifikke projekter For detaljerede instruktioner om individuelle projekter, se README-filer i: - `quiz-app/README.md` - Vue 3 quiz applikation -- `7-bank-project/README.md` - Bankapplikation med autentificering -- `5-browser-extension/README.md` - Udvikling af browserudvidelser +- `7-bank-project/README.md` - Banking applikation med autentifikation +- `5-browser-extension/README.md` - Browser extension udvikling - `6-space-game/README.md` - Canvas-baseret spiludvikling - `9-chat-project/README.md` - AI chat assistent projekt @@ -398,11 +398,11 @@ Selvom det ikke er et traditionelt monorepo, indeholder dette lager flere uafhæ - Hver lektion er selvstændig - Projekter deler ikke afhængigheder - Arbejd på individuelle projekter uden at påvirke andre -- Klon hele repoet for den fulde kursusoplevelse +- Klon hele lageret for den fulde kursusoplevelse --- **Ansvarsfraskrivelse**: -Dette dokument er oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, bedes du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for eventuelle misforståelser eller fejltolkninger, der opstår som følge af brugen af denne oversættelse. +Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, bedes du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det oprindelige dokument på dets modersmål bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for eventuelle misforståelser eller fejltolkninger, der opstår som følge af brugen af denne oversættelse. \ No newline at end of file diff --git a/translations/da/README.md b/translations/da/README.md index 269374da08..d58cd81d06 100644 --- a/translations/da/README.md +++ b/translations/da/README.md @@ -10,29 +10,29 @@ [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -# Webudvikling for begyndere - en læseplan +# Webudvikling for begyndere - Et pensum -Lær grundlæggende webudvikling med vores 12-ugers omfattende kursus af Microsoft Cloud Advocates. Hver af de 24 lektioner dykker ned i JavaScript, CSS og HTML gennem praktiske projekter som terrarier, browserudvidelser og rumspil. Deltag i quizzer, diskussioner og praktiske opgaver. Forbedr dine færdigheder og optimer din vidensfastholdelse med vores effektive projektbaserede pædagogik. Start din kodningsrejse i dag! +Lær grundprincipperne i webudvikling med vores 12-ugers omfattende kursus af Microsoft Cloud Advocates. Hver af de 24 lektioner dykker ned i JavaScript, CSS og HTML gennem praktiske projekter som terrarier, browserudvidelser og rumspil. Deltag i quizzer, diskussioner og praktiske opgaver. Forbedr dine færdigheder og optimer din vidensfastholdelse med vores effektive projektbaserede pædagogik. Start din kodningsrejse i dag! Deltag i Azure AI Foundry Discord-fællesskabet [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) Følg disse trin for at komme i gang med at bruge disse ressourcer: -1. **Fork Repositoryet**: Klik [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) -2. **Klon Repositoryet**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +1. **Fork repoet**: Klik [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +2. **Klon repoet**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` 3. [**Deltag i Azure AI Foundry Discord og mød eksperter og medudviklere**](https://discord.com/invite/ByRwuEEgH4) -### 🌐 Flersproget support +### 🌐 Multisprog Support -#### Understøttet via GitHub Action (Automatiseret og altid opdateret) +#### Understøttet via GitHub Action (Automatisk & Altid Opdateret) -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](./README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](./README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) > **Foretrækker du at klone lokalt?** > -> Dette repository indeholder 50+ sprogoversættelser, hvilket øger downloadstørrelsen betydeligt. For at klone uden oversættelser skal du bruge spars checkout: +> Dette repository indeholder 50+ sprogoversættelser, hvilket markant øger downloadstørrelsen. For at klone uden oversættelser, brug sparse checkout: > > **Bash / macOS / Linux:** > ```bash @@ -48,43 +48,43 @@ Følg disse trin for at komme i gang med at bruge disse ressourcer: > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> Dette giver dig alt, hvad du behøver for at gennemføre kurset med en meget hurtigere download. +> Dette giver dig alt, hvad du behøver for at gennemføre kurset med en langt hurtigere download. -**Hvis du ønsker at få understøttelse af yderligere oversættelsessprog, er de listet [her](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**Hvis du ønsker, at yderligere oversættelsessprog understøttes, er de listet [her](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** [![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) #### 🧑‍🎓 _Er du studerende?_ -Besøg [**Student Hub siden**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), hvor du finder begynderressourcer, studenterpakker og endda muligheder for at få et gratis certifikatkupon. Dette er siden, du vil bogmærke og tjekke indimellem, da vi skifter indhold månedligt. +Besøg [**Student Hub-siden**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), hvor du finder begynderressourcer, Student-pakker og endda måder at få et gratis certifikatkupon på. Dette er siden, du vil bogmærke og tjekke fra tid til anden, da vi skifter indhold månedligt. ### 📣 Meddelelse - Nye GitHub Copilot Agent mode udfordringer at gennemføre! -Ny udfordring tilføjet, kig efter "GitHub Copilot Agent Challenge 🚀" i de fleste kapitler. Det er en ny udfordring, som du skal gennemføre ved hjælp af GitHub Copilot og Agent mode. Hvis du ikke har brugt Agent mode før, kan den ikke kun generere tekst, men også oprette og redigere filer, køre kommandoer og mere. +Ny udfordring tilføjet, se efter "GitHub Copilot Agent Challenge 🚀" i de fleste kapitler. Det er en ny udfordring, som du kan gennemføre ved at bruge GitHub Copilot og Agent mode. Hvis du ikke har brugt Agent mode før, kan den ikke blot generere tekst men også oprette og redigere filer, køre kommandoer og mere. -### 📣 Meddelelse - _Nyt projekt at bygge ved hjælp af Generativ AI_ +### 📣 Meddelelse - _Nyt projekt at bygge ved brug af Generativ AI_ -Nyt AI Assistant projekt er netop tilføjet, tjek det ud [projekt](./9-chat-project/README.md) +Nyt AI Assistant projekt er lige tilføjet, tjek projektet ud [her](./9-chat-project/README.md) -### 📣 Meddelelse - _Ny læseplan_ om Generativ AI for JavaScript er netop udgivet +### 📣 Meddelelse - _Nyt pensum_ om Generativ AI for JavaScript blev lige udgivet -Gå ikke glip af vores nye læseplan for Generativ AI! +Gå ikke glip af vores nye Generative AI pensum! Besøg [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) for at komme i gang! ![Background](../../translated_images/da/background.148a8d43afde5730.webp) -- Lektioner, der dækker alt fra det grundlæggende til RAG. -- Interagér med historiske figurer ved hjælp af GenAI og vores følgesvend-app. -- Sjov og engagerende fortælling, du vil rejse i tiden! +- Lektioner der dækker alt fra det grundlæggende til RAG. +- Interaktion med historiske personer ved brug af GenAI og vores companion app. +- Sjov og engagerende fortælling, du rejser i tiden! ![character](../../translated_images/da/character.5c0dd8e067ffd693.webp) -Hver lektion inkluderer en opgave, en videnscheck og en udfordring, der guider dig i at lære emner som: +Hver lektion inkluderer en opgave, en videnscheck og en udfordring til at guide dig i at lære emner som: - Prompting og prompt engineering -- Tekst- og billedappgenerering +- Tekst- og billedapps-generering - Søgeapps Besøg [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) for at komme i gang! @@ -93,122 +93,122 @@ Besøg [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) for at k ## 🌱 Kom godt i gang -> **Lærere**, vi har [inkluderet nogle forslag](for-teachers.md) til, hvordan I kan bruge denne læseplan. Vi vil meget gerne have jeres feedback [i vores diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! +> **Lærere**, vi har [inkluderet nogle forslag](for-teachers.md) til, hvordan dette pensum kan bruges. Vi vil elske at få jeres feedback [i vores diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! -**[Lærende](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, for hver lektion, start med en pre-lecture quiz og følg op med at læse forelæsningsmaterialet, gennemføre de forskellige aktiviteter og tjek din forståelse med post-lecture quizzen. +**[Lærende](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, for hver lektion, start med en præ-forelæsning quiz og fortsæt med at læse forelæsningsmaterialet, udføre de forskellige aktiviteter og tjek din forståelse med en post-forelæsnings quiz. -For at forbedre din læringsoplevelse, forbind med dine jævnbyrdige for at arbejde på projekterne sammen! Diskussioner opfordres i vores [diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), hvor vores team af moderatorer vil være tilgængelige for at besvare dine spørgsmål. +For at forbedre din læring, connect med dine jævnbyrdige for at arbejde sammen på projekterne! Diskussioner er opfordret i vores [diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), hvor vores team af moderatorer vil være til rådighed for at besvare dine spørgsmål. -For at fremme din uddannelse, anbefaler vi kraftigt at udforske [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) for yderligere studiematerialer. +For at videreuddanne dig anbefaler vi stærkt at udforske [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) for yderligere studiematerialer. ### 📋 Opsætning af dit miljø -Denne læseplan har et udviklingsmiljø klar til brug! Når du kommer i gang, kan du vælge at køre læseplanen i en [Codespace](https://github.com/features/codespaces/) (_et browser-baseret miljø, hvor ingen installation er nødvendig_), eller lokalt på din computer ved hjælp af en teksteditor som [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +Dette pensum har et udviklingsmiljø klar til brug! Når du kommer i gang, kan du vælge at køre pensum i en [Codespace](https://github.com/features/codespaces/) (_et browserbaseret miljø uden behov for installation_), eller lokalt på din computer ved hjælp af en teksteditor som [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). #### Opret dit repository -For at du nemt kan gemme dit arbejde anbefales det, at du opretter din egen kopi af dette repository. Det kan du gøre ved at klikke på **Use this template** knappen øverst på siden. Dette vil oprette et nyt repository i din GitHub-konto med en kopi af læseplanen. +For at du nemt kan gemme dit arbejde, anbefales det, at du opretter din egen kopi af dette repository. Det kan du gøre ved at klikke på knappen **Use this template** øverst på siden. Dette vil oprette et nyt repository i din GitHub-konto med en kopi af pensum. Følg disse trin: -1. **Fork Repositoryet**: Klik på "Fork" knappen øverst til højre på denne side. -2. **Klon Repositoryet**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +1. **Fork repoet**: Klik på "Fork"-knappen øverst til højre på denne side. +2. **Klon repoet**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -#### Køre læseplanen i en Codespace +#### Kør pensum i en Codespace -I din kopi af dette repository, som du har oprettet, klik på **Code** knappen og vælg **Open with Codespaces**. Dette opretter en ny Codespace til dig at arbejde i. +I din kopi af dette repository, som du har oprettet, klik på knappen **Code** og vælg **Open with Codespaces**. Dette vil oprette en ny Codespace til dig at arbejde i. ![Codespace](../../translated_images/da/createcodespace.0238bbf4d7a8d955.webp) -#### Køre læseplanen lokalt på din computer +#### Kør pensum lokalt på din computer -For at køre denne læseplan lokalt på din computer, skal du bruge en teksteditor, en browser og et kommandolinjeværktøj. Vores første lektion, [Introduktion til programmeringssprog og handelsværktøjer](../../1-getting-started-lessons/1-intro-to-programming-languages), vil guide dig gennem forskellige valgmuligheder for hvert af disse værktøjer, så du kan vælge, hvad der passer bedst til dig. +For at køre dette pensum lokalt på din computer, skal du bruge en teksteditor, en browser og et kommandolinjeværktøj. Vores første lektion, [Introduktion til programmeringssprog og handelsværktøjer](../../1-getting-started-lessons/1-intro-to-programming-languages), vil guide dig gennem forskellige muligheder for hvert af disse værktøjer, så du kan vælge det, der passer bedst til dig. -Vi anbefaler at bruge [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) som din editor, som også har et indbygget [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Du kan downloade Visual Studio Code [her](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -1. Klon dit repository til din computer. Det kan du gøre ved at klikke på **Code**-knappen og kopiere URL'en: +Vi anbefaler at bruge [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) som din editor, som også har et integreret [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Du kan downloade Visual Studio Code [her](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +1. Klon dit repository til din computer. Du kan gøre dette ved at klikke på **Code** knappen og kopiere URL'en: [CodeSpace](./images/createcodespace.png) - Åbn derefter [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) i [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) og kør følgende kommando, hvor du erstatter `` med den URL, du lige har kopieret: + Åbn derefter [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) i [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) og kør følgende kommando, hvor du erstatter `` med den URL, du lige kopierede: ```bash git clone ``` -2. Åbn mappen i Visual Studio Code. Det kan du gøre ved at klikke på **File** > **Open Folder** og vælge den mappe, du netop har klonet. +2. Åbn mappen i Visual Studio Code. Du kan gøre dette ved at klikke på **File** > **Open Folder** og vælge den mappe, du lige har klonet. > Anbefalede Visual Studio Code-udvidelser: > -> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - for at kunne forhåndsvise HTML-sider i Visual Studio Code -> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - for at hjælpe dig med at skrive kode hurtigere +> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - til at forhåndsvise HTML-sider inden for Visual Studio Code +> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - til at hjælpe dig med at skrive kode hurtigere ## 📂 Hver lektion inkluderer: -- valgfri skitsetegning +- valgfri sketchnote - valgfri supplerende video -- opvarmningsquiz før lektionen -- skreven lektion +- varm-quiz før lektionen +- skriftlig lektion - for projektbaserede lektioner, trin-for-trin vejledninger om, hvordan man bygger projektet -- videnschecks +- videnskontroller - en udfordring - supplerende læsning - opgave - [quiz efter lektion](https://ff-quizzes.netlify.app/web/) -> **En note om quizzes**: Alle quizzes findes i Quiz-app mappen, i alt 48 quizzes med tre spørgsmål hver. De er tilgængelige [her](https://ff-quizzes.netlify.app/web/); quiz-appen kan køres lokalt eller implementeres til Azure; følg instruktionerne i `quiz-app` mappen. +> **En note om quizzer**: Alle quizzer findes i Quiz-app mappen, 48 quizzer med tre spørgsmål hver. De er tilgængelige [her](https://ff-quizzes.netlify.app/web/) quiz-app'en kan køre lokalt eller udgives til Azure; følg instruktionerne i `quiz-app` mappen. ## 🗃️ Lektioner -| | Projektnavn | Gennemgåede Begreber | Læringsmål | Linket Lektion | Forfatter | -| :-: | :------------------------------------------------------: | :------------------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | Kom I Gang | Introduktion til programmering og værktøjer | Lær de grundlæggende elementer bag de fleste programmeringssprog og om software, der hjælper professionelle udviklere med deres arbejde | [Intro til programmeringssprog og værktøjer](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | Kom I Gang | Grundlæggende GitHub, inkl. samarbejde i team | Hvordan man bruger GitHub i sit projekt, og hvordan man samarbejder med andre om en kodebase | [Intro til GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | Kom I Gang | Tilgængelighed | Lær det grundlæggende om webtilgængelighed | [Tilgængelighedsgrundlag](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | JS Grundlæggende | JavaScript Datatyper | Grundlæggende JavaScript-datatyper | [Datatyper](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | JS Grundlæggende | Funktioner og Metoder | Lær om funktioner og metoder til at styre et programs logik | [Funktioner og Metoder](./2-js-basics/2-functions-methods/README.md) | Jasmine og Christopher | -| 06 | JS Grundlæggende | Beslutningstagning med JS | Lær at skabe betingelser i din kode ved hjælp af beslutningsmetoder | [Beslutningstagning](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | JS Grundlæggende | Arrays og Løkker | Arbejd med data ved brug af arrays og løkker i JavaScript | [Arrays og Løkker](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML i praksis | Byg HTML'en til at skabe et online terrarium med fokus på opbygning af layout | [Introduktion til HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS i praksis | Byg CSS'en til at style det online terrarium med fokus på det grundlæggende i CSS, inkl. responsivt design | [Introduktion til CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, DOM-manipulation | Byg JavaScript til at få terrariet til at fungere som en drag/drop-grænseflade med fokus på closures og DOM-manipulation | [JavaScript Closures, DOM-manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Typing Game](./4-typing-game/solution/README.md) | Byg et Typingspil | Lær at bruge tastaturbegivenheder til at styre logikken i din JavaScript-app | [Eventdrevet programmering](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Arbejde med browsere | Lær hvordan browsere fungerer, deres historie og hvordan man laver de første elementer i en browser-udvidelse | [Om browsere](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Byg et formular, kald et API og gem variabler i lokal lagring | Byg JavaScript-elementerne til din browserudvidelse for at kalde et API ved brug af variabler gemt i lokal lagring | [API'er, formularer og lokal lagring](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Baggrundsprocesser i browseren, webperformance | Brug browserens baggrundsprocesser til at styre udvidelsens ikon; lær om webperformance og nogle optimeringer for at forbedre | [Baggrundsopgaver og performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Space Game](./6-space-game/solution/README.md) | Mere avanceret spiludvikling med JavaScript | Lær om arv via både klasser og komposition samt Pub/Sub-mønsteret som forberedelse til et spil | [Introduktion til avanceret spiludvikling](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [Space Game](./6-space-game/solution/README.md) | Tegning til canvas | Lær om Canvas API, som bruges til at tegne elementer på en skærm | [Tegning til canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Space Game](./6-space-game/solution/README.md) | Flyt elementer rundt på skærmen | Opdag hvordan elementer kan bevæge sig vha. kartesiske koordinater og Canvas API | [Flyt elementer rundt](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Space Game](./6-space-game/solution/README.md) | Kollisionregistrering | Få elementer til at kollidere og reagere på hinanden ved tastetryk og tilføj en cooldown-funktion for at sikre spillets ydeevne | [Kollisionregistrering](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Space Game](./6-space-game/solution/README.md) | Hold styr på point | Udfør matematiske beregninger baseret på spillets status og præstation | [Hold styr på point](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Space Game](./6-space-game/solution/README.md) | Afslutning og genstart af spillet | Lær om at afslutte og genstarte spillet, inkl. oprydning af ressourcer og nulstilling af variabler | [Afslutningsbetingelsen](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-skabeloner og routes i en webapp | Lær hvordan man skaber arkitekturen for et multipages website ved hjælp af routing og HTML-skabeloner | [HTML-skabeloner og routes](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [Banking App](./7-bank-project/solution/README.md) | Byg en login- og registreringsformular | Lær om hvordan man laver formularer og håndterer valideringsrutiner | [Formularer](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [Banking App](./7-bank-project/solution/README.md) | Metoder til hentning og brug af data | Hvordan data flyder ind og ud af din app, hvordan man henter, gemmer og bortskaffer det | [Data](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [Banking App](./7-bank-project/solution/README.md) | Koncepter for tilstandsadministration | Lær hvordan din app bevarer tilstand og hvordan man programmerer styring af denne | [Tilstandsadministration](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Browser/VScode Code](../../8-code-editor) | Arbejde med VScode | Lær hvordan man bruger en kodeeditor | [Brug af VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [AI Assistants](./9-chat-project/README.md) | Arbejde med AI | Lær hvordan du bygger din egen AI-assistent | [AI Assistent projekt](./9-chat-project/README.md) | Chris | +| | Projektnavn | Underviste Begreber | Læringsmål | Linket Lektion | Forfatter | +| :-: | :-----------------------------------------------------: | :------------------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :-----------------------: | +| 01 | Kom godt i gang | Introduktion til programmering og værktøjer | Lær de grundlæggende principper bag de fleste programmeringssprog og om software, som hjælper professionelle udviklere | [Introduktion til programmeringssprog og værktøjer](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Kom godt i gang | Grundlæggende GitHub, inkl. arbejde i team | Hvordan man bruger GitHub i sit projekt, og hvordan man samarbejder med andre om kodebasis | [Introduktion til GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Kom godt i gang | Tilgængelighed | Lær det grundlæggende om webtilgængelighed | [Grundlæggende tilgængelighed](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | JS Basics | JavaScript-datatyper | Det grundlæggende om JavaScript-datatyper | [Datatyper](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | JS Basics | Funktioner og metoder | Lær om funktioner og metoder til at styre et applikations logikflow | [Funktioner og metoder](./2-js-basics/2-functions-methods/README.md) | Jasmine og Christopher | +| 06 | JS Basics | Beslutningstagning med JS | Lær hvordan man skaber betingelser i din kode ved hjælp af beslutningstagsmetoder | [Beslutningstagning](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | JS Basics | Arrays og løkker | Arbejd med data brugt arrays og løkker i JavaScript | [Arrays og løkker](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML i praksis | Byg HTML til at skabe et online terrarium med fokus på layout | [Introduktion til HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS i praksis | Byg CSS til at style det online terrarium med fokus på CSS grundlæggende inklusive responsivt design | [Introduktion til CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript closures, DOM-manipulation | Byg JavaScript til at gøre terrariet funktionelt som drag/drop-interface med fokus på closures og DOM-manipulation | [JavaScript Closures, DOM-manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Typing Game](./4-typing-game/solution/README.md) | Byg et Typing-spil | Lær hvordan keyboard events bruges til at styre logikken i din JavaScript-app | [Begivenhedsdrevet programmering](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Arbejde med browsere | Lær hvordan browsere fungerer, deres historie, og hvordan man skaber de første elementer i en browser extension | [Om browsere](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Bygge formular, kalde et API og gemme variabler i lokal lagring | Byg JavaScript-elementerne i din browser extension til at kalde et API ved hjælp af variabler i lokal lagring | [APIs, formularer og lokal lagring](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Baggrundsprocesser i browseren, webperformance | Brug browserens baggrundsprocesser til at styre extensionens ikon; lær om webperformance og optimeringer | [Baggrundsopgaver og performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Space Game](./6-space-game/solution/README.md) | Mere avanceret spiludvikling med JavaScript | Lær om arv ved brug af både klasser og komposition og Pub/Sub mønsteret som forberedelse til at bygge et spil | [Introduktion til avanceret spiludvikling](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Space Game](./6-space-game/solution/README.md) | Tegning på canvas | Lær om Canvas API, som bruges til at tegne elementer på en skærm | [Tegning på canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Space Game](./6-space-game/solution/README.md) | Flytning af elementer rundt på skærmen | Opdag hvordan elementer kan få bevægelse ved hjælp af kartesiske koordinater og Canvas API | [Flyt elementer rundt](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Space Game](./6-space-game/solution/README.md) | Kollisiondetektion | Få elementer til at kollidere og reagere på hinanden ved hjælp af tastetryk og tilføj en cooldown-funktion for at sikre ydeevne | [Kollisiondetektion](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Space Game](./6-space-game/solution/README.md) | Hold styr på point | Udfør matematiske beregninger baseret på spillets status og ydeevne | [Hold styr på point](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Space Game](./6-space-game/solution/README.md) | Afslutte og genstarte spillet | Lær om at afslutte og genstarte spillet, inklusiv oprydning af ressourcer og nulstilling af variabler | [Afslutningsbetingelsen](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-skabeloner og ruter i en webapp | Lær hvordan man skaber skabelonen for en multipage hjemmesides arkitektur ved brug af routing og HTML-skabeloner | [HTML-skabeloner og ruter](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Banking App](./7-bank-project/solution/README.md) | Byg en login- og registreringsformular | Lær om opbygning af formularer og håndtering af valideringsrutiner | [Formularer](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Banking App](./7-bank-project/solution/README.md) | Metoder til hentning og brug af data | Hvordan data flyder ind og ud af din app, hvordan man henter det, gemmer og rydder op | [Data](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Banking App](./7-bank-project/solution/README.md) | Begreber om tilstands-styring | Lær hvordan din app bevarer tilstand og hvordan man styrer det programmæssigt | [Tilstands-styring](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Browser/VScode Code](../../8-code-editor) | Arbejde med VScode | Lær hvordan man bruger en kodeeditor| [Brug VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [AI Assistants](./9-chat-project/README.md) | Arbejde med AI | Lær hvordan du bygger din egen AI-assistent | [AI Assistant projekt](./9-chat-project/README.md) | Chris | ## 🏫 Pædagogik -Vores læreplan er designet med to centrale pædagogiske principper for øje: +Vores pensum er designet med to centrale pædagogiske principper i tankerne: * projektbaseret læring -* hyppige quizzes +* hyppige quizzer -Programmet underviser i grundlæggende JavaScript, HTML og CSS samt de nyeste værktøjer og teknikker, som nutidens webudviklere bruger. Studerende vil få mulighed for at opnå praktisk erfaring ved at bygge et typing-spil, virtuelt terrarium, miljøvenligt browser-udvidelse, rum-invader-stil spil og en bankapp til virksomheder. Ved slutningen af serien vil studerende have opnået en solid forståelse af webudvikling. +Programmet underviser i grundlæggende JavaScript, HTML og CSS, samt de nyeste værktøjer og teknikker, som nutidens webudviklere bruger. Studerende får mulighed for at opnå praktisk erfaring ved at bygge et typing-spil, virtuelt terrarium, miljøvenlig browser extension, space-invader-stil spil og en bankapp til erhvervslivet. Ved slutningen af serien vil studerende have opnået en solid forståelse af webudvikling. -> 🎓 Du kan tage de første lektioner i denne læreplan som en [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) på Microsoft Learn! +> 🎓 Du kan tage de første par lektioner i dette pensum som en [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) på Microsoft Learn! -Ved at sikre, at indholdet er knyttet til projekter, bliver processen mere engagerende for studerende, og fastholdelsen af begreber styrkes. Vi har desuden skrevet flere introducerende lektioner i JavaScript grundlæggende for at introducere begreber, suppleret med en video fra "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" samlingen af videotutorials, hvoraf nogle forfattere bidrog til denne læreplan. +Ved at sikre at indholdet stemmer overens med projekter, gøres processen mere engagerende for eleverne og fastholdelse af begreber vil blive øget. Vi har også skrevet flere starterlektioner i JavaScript basics for at introducere begreber, parret med en video fra "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" samlingen af videotutorials, hvor nogle af forfatterne har bidraget til dette pensum. -Derudover sætter en lavrisiko quiz før en klasse målrettet elevens intention om at lære et emne, mens en anden quiz efter klasse sikrer yderligere fastholdelse. Denne læreplan er designet til at være fleksibel og sjov og kan tages helt eller delvist. Projekterne starter småt og bliver gradvist mere komplekse hen imod slutningen af den 12-ugers cyklus. +Derudover sætter en lav-stakes quiz før en lektion elevens fokus mod at lære et emne, mens en anden quiz efter lektionen sikrer yderligere fastholdelse. Dette pensum er designet til at være fleksibelt og sjovt og kan gennemføres helt eller delvist. Projekterne starter småt og bliver gradvist mere komplekse ved slutningen af 12-ugers cyklussen. -Selvom vi har undgået at introducere JavaScript-rammeværk for at fokusere på de grundlæggende færdigheder, der kræves som webudvikler, før man tager et rammeværk i brug, vil et godt næste skridt i denne læreplans afslutning være at lære om Node.js via en anden samling videoer: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +Mens vi bevidst har undgået at introducere JavaScript-rammer for at fokusere på de grundlæggende færdigheder som webudvikler, inden man tager en ramme i brug, vil et godt næste skridt til at fuldføre dette pensum være at lære om Node.js gennem en anden samling af videoer: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> Besøg vores [Adfærdskodeks](CODE_OF_CONDUCT.md) og [Bidrag](CONTRIBUTING.md) retningslinjer. Vi ser frem til din konstruktive feedback! +> Besøg vores [Adfærdskodeks](CODE_OF_CONDUCT.md) og [Bidragsvejledning](CONTRIBUTING.md). Vi byder din konstruktive feedback velkommen! ## 🧭 Offline adgang -Du kan køre denne dokumentation offline ved at bruge [Docsify](https://docsify.js.org/#/). Fork dette repo, [installer Docsify](https://docsify.js.org/#/quickstart) på din lokale maskine, og skriv derefter i rodmappen af dette repo `docsify serve`. Websitet vil blive serveret på port 3000 på din localhost: `localhost:3000`. +Du kan køre denne dokumentation offline ved at bruge [Docsify](https://docsify.js.org/#/). Fork dette repo, [installer Docsify](https://docsify.js.org/#/quickstart) på din lokale maskine, og skriv derefter i roden af dette repo `docsify serve`. Hjemmesiden serveres på port 3000 på din localhost: `localhost:3000`. ## 📘 PDF En PDF med alle lektionerne kan findes [her](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). @@ -216,7 +216,7 @@ En PDF med alle lektionerne kan findes [her](https://microsoft.github.io/Web-Dev ## 🎒 Andre Kurser -Vores team producerer andre kurser! Tjek dem ud: +Vores team producerer andre kurser! Tjek: ### LangChain @@ -233,7 +233,7 @@ Vores team producerer andre kurser! Tjek dem ud: --- -### Generative AI Series +### Generativ AI Serie [![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) [![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) [![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) @@ -252,7 +252,7 @@ Vores team producerer andre kurser! Tjek dem ud: --- -### Copilot Series +### Copilot Serie [![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) [![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) [![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) @@ -260,21 +260,21 @@ Vores team producerer andre kurser! Tjek dem ud: ## Få Hjælp -Hvis du sidder fast eller har spørgsmål om at bygge AI-apps. Deltag sammen med andre lærende og erfarne udviklere i diskussioner om MCP. Det er et støttende fællesskab, hvor spørgsmål er velkomne, og viden deles frit. +Hvis du sidder fast eller har spørgsmål om at bygge AI-apps, så deltag sammen med andre lærende og erfarne udviklere i diskussioner om MCP. Det er et støttende fællesskab, hvor spørgsmål er velkomne, og viden deles frit. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Hvis du har produktfeedback eller oplever fejl under udvikling, besøg: +Hvis du har produktfeedback eller fejl under bygning, besøg: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) ## Licens -Dette arkiv er licenseret under MIT-licensen. Se [LICENSE](../../LICENSE)-filen for mere information. +Dette depot er licenseret under MIT-licensen. Se filen [LICENSE](../../LICENSE) for mere information. --- -**Ansvarsfraskrivelse**: -Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det oprindelige dokument på dets modersmål bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for eventuelle misforståelser eller fejltolkninger, der opstår som følge af brugen af denne oversættelse. +**Ansvarsfraskrivelse**: +Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for misforståelser eller fejltolkninger, der opstår som følge af brugen af denne oversættelse. \ No newline at end of file diff --git a/translations/de/.co-op-translator.json b/translations/de/.co-op-translator.json index 1c6c12bc35..9f89c887a5 100644 --- a/translations/de/.co-op-translator.json +++ b/translations/de/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T21:42:04+00:00", + "translation_date": "2026-04-06T17:37:00+00:00", "source_file": "AGENTS.md", "language_code": "de" }, @@ -516,8 +516,8 @@ "language_code": "de" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T16:34:03+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T17:30:05+00:00", "source_file": "README.md", "language_code": "de" }, diff --git a/translations/de/AGENTS.md b/translations/de/AGENTS.md index be94e014bb..bc7fa0959b 100644 --- a/translations/de/AGENTS.md +++ b/translations/de/AGENTS.md @@ -2,36 +2,36 @@ ## Projektübersicht -Dies ist ein Bildungs-Curriculum-Repository zum Unterrichten der Grundlagen der Webentwicklung für Anfänger. Das Curriculum ist ein umfassender 12-wöchiger Kurs, entwickelt von Microsoft Cloud Advocates, mit 24 praktischen Lektionen zu JavaScript, CSS und HTML. +Dies ist ein Bildungs-Curriculum-Repository zum Vermitteln von Webentwicklungsgrundlagen für Anfänger. Das Curriculum ist ein umfassender 12-Wochen-Kurs, der von Microsoft Cloud Advocates entwickelt wurde und 24 praxisorientierte Lektionen zu JavaScript, CSS und HTML enthält. -### Hauptbestandteile +### Hauptkomponenten -- **Bildungsinhalt**: 24 strukturierte Lektionen, organisiert in projektbasierten Modulen -- **Praktische Projekte**: Terrarium, Tipp-Spiel, Browser-Erweiterung, Weltraumspiel, Banking-App, Code-Editor und KI-Chat-Assistent -- **Interaktive Quizze**: 48 Quizze mit jeweils 3 Fragen (Vor-/Nach-Lektion-Bewertungen) -- **Mehrsprachige Unterstützung**: Automatisierte Übersetzungen für 50+ Sprachen via GitHub Actions -- **Technologien**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (für KI-Projekte) +- **Bildungsinhalte**: 24 strukturierte Lektionen, organisiert in projektbasierten Modulen +- **Praktische Projekte**: Terrarium, Tipp-Spiel, Browser-Erweiterung, Weltraumspiel, Banking-App, Code-Editor und KI-Chat-Assistent +- **Interaktive Quizze**: 48 Quizze mit je 3 Fragen (Vor-/Nach-Lektionsbewertungen) +- **Mehrsprachige Unterstützung**: Automatisierte Übersetzungen in über 50 Sprachen via GitHub Actions +- **Technologien**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (für KI-Projekte) ### Architektur -- Bildungsrepository mit lektionenbasierter Struktur -- Jeder Lektionenordner enthält README, Codebeispiele und Lösungen -- Eigenständige Projekte in separaten Verzeichnissen (quiz-app, verschiedene Lektionen-Projekte) -- Übersetzungssystem mit GitHub Actions (co-op-translator) -- Dokumentation bereitgestellt via Docsify und als PDF verfügbar +- Bildungsrepository mit lektionenbasierter Struktur +- Jeder Lektionen-Ordner enthält README, Codebeispiele und Lösungen +- Eigenständige Projekte in separaten Verzeichnissen (quiz-app, diverse Lektionenprojekte) +- Übersetzungssystem mittels GitHub Actions (co-op-translator) +- Dokumentation bereitgestellt via Docsify und als PDF verfügbar -## Einrichtung Befehle +## Setup-Befehle Dieses Repository dient hauptsächlich zum Konsumieren von Bildungsinhalten. Für die Arbeit mit spezifischen Projekten: -### Haupt-Repository-Einrichtung +### Haupt-Repository Setup ```bash git clone https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners ``` -### Quiz-App Einrichtung (Vue 3 + Vite) +### Quiz-App Setup (Vue 3 + Vite) ```bash cd quiz-app @@ -41,7 +41,7 @@ npm run build # Für die Produktion bauen npm run lint # ESLint ausführen ``` -### Bank-Projekt API (Node.js + Express) +### Bankprojekt API (Node.js + Express) ```bash cd 7-bank-project/api @@ -72,109 +72,109 @@ npm install ```bash cd 9-chat-project/solution/backend/python pip install openai -# Setze die Umgebungsvariable GITHUB_TOKEN +# Setzen Sie die Umgebungsvariable GITHUB_TOKEN python api.py ``` -## Entwicklungsablauf +## Entwicklungs-Workflow -### Für Inhaltsmitwirkende +### Für Inhaltsbeiträge -1. **Forke das Repository** in deinem GitHub-Konto -2. **Klonen deinen Fork** lokal -3. **Erstelle einen neuen Branch** für deine Änderungen -4. Änderungen an Lektionstexten oder Codebeispielen vornehmen -5. Codeänderungen in relevanten Projektverzeichnissen testen -6. Pull Requests entsprechend der Beitragsrichtlinien einreichen +1. **Forke das Repository** in dein GitHub-Konto +2. **Klone deinen Fork** lokal +3. **Erstelle einen neuen Branch** für deine Änderungen +4. Ändere Inhalte der Lektionen oder Codebeispiele +5. Teste alle Codeänderungen in den relevanten Projektverzeichnissen +6. Reiche Pull Requests entsprechend der Beitragsrichtlinien ein ### Für Lernende -1. Repository forken oder klonen -2. Nacheinander durch Lektionenverzeichnisse navigieren -3. README-Dateien jeder Lektion lesen -4. Vor-Lektion-Quizze auf https://ff-quizzes.netlify.app/web/ absolvieren -5. Codebeispiele in Lektionenordnern durcharbeiten -6. Aufgaben und Herausforderungen abschließen -7. Nach-Lektion-Quizze machen +1. Forke oder klone das Repository +2. Navigiere nacheinander zu den Lektionen-Ordnern +3. Lies die README-Dateien jeder Lektion +4. Mache Vorab-Quizze unter https://ff-quizzes.netlify.app/web/ +5. Arbeite die Codebeispiele in den Lektionen durch +6. Bearbeite Aufgaben und Herausforderungen +7. Absolviere Nachbereitungs-Quizze ### Live-Entwicklung -- **Dokumentation**: `docsify serve` im Root ausführen (Port 3000) -- **Quiz-App**: `npm run dev` im quiz-app-Verzeichnis ausführen -- **Projekte**: Verwende VS Code Live Server Erweiterung für HTML-Projekte -- **API-Projekte**: `npm start` in jeweiligen API-Verzeichnissen ausführen +- **Dokumentation**: Führe `docsify serve` im Root aus (Port 3000) +- **Quiz-App**: Führe `npm run dev` im quiz-app-Verzeichnis aus +- **Projekte**: Nutze VS Code Live Server Erweiterung für HTML-Projekte +- **API-Projekte**: Führe `npm start` in jeweiligen API-Verzeichnissen aus -## Testanweisungen +## Testanleitungen -### Quiz-App Test +### Quiz-App Tests ```bash cd quiz-app -npm run lint # Überprüfen Sie auf Probleme mit dem Code-Stil -npm run build # Überprüfen Sie, ob der Build erfolgreich ist +npm run lint # Überprüfen auf Code-Stilprobleme +npm run build # Überprüfen, ob der Build erfolgreich ist ``` -### Bank API Test +### Bank API Tests ```bash cd 7-bank-project/api -npm run lint # Überprüfen auf Probleme mit dem Code-Stil -node server.js # Überprüfen, ob der Server ohne Fehler startet +npm run lint # Überprüfen Sie auf Code-Stilprobleme +node server.js # Überprüfen Sie, ob der Server ohne Fehler startet ``` ### Allgemeiner Testansatz -- Dies ist ein Bildungsrepository ohne umfassende automatisierte Tests -- Manueller Testfokus: - - Codebeispiele laufen fehlerfrei - - Links in der Dokumentation funktionieren korrekt - - Projekt-Builds werden erfolgreich abgeschlossen - - Beispiele folgen Best Practices +- Dies ist ein Bildungsrepository ohne umfassende automatisierte Tests +- Manuelle Tests konzentrieren sich auf: + - Codebeispiele laufen fehlerfrei + - Links in der Dokumentation funktionieren korrekt + - Projekt-Builds laufen erfolgreich durch + - Beispiele folgen Best Practices ### Vor-Einreichungs-Checks -- `npm run lint` in Verzeichnissen mit package.json ausführen -- Markdown-Links auf Gültigkeit prüfen -- Codebeispiele im Browser oder Node.js testen -- Prüfen, dass Übersetzungen die richtige Struktur beibehalten +- Führe `npm run lint` in Verzeichnissen mit package.json aus +- Überprüfe Markdown-Links auf Gültigkeit +- Teste Codebeispiele im Browser oder in Node.js +- Prüfe, dass Übersetzungen die korrekte Struktur beibehalten ## Code-Stilrichtlinien ### JavaScript -- Nutze moderne ES6+ Syntax -- Folge den standardmäßigen ESLint-Konfigurationen in Projekten -- Verwende aussagekräftige Variablen- und Funktionsnamen zur Bildungsklarheit -- Füge Kommentare hinzu, die Konzepte für Lernende erklären -- Formatierung mit Prettier, wenn konfiguriert +- Verwende moderne ES6+ Syntax +- Beachte Standard-ESLint-Konfigurationen der Projekte +- Nutze aussagekräftige Variablen- und Funktionsnamen zur besseren Verständlichkeit +- Füge erläuternde Kommentare für Lernende hinzu +- Formatiere mit Prettier, wo konfiguriert ### HTML/CSS -- Semantische HTML5-Elemente -- Responsive Design Prinzipien -- Klare Klassennamen-Konventionen -- Kommentare, die CSS-Techniken für Lernende erklären +- Semantische HTML5-Elemente +- Responsive Design Prinzipien +- Klare Klassennamen-Konventionen +- Kommentare, die CSS-Techniken für Lernende erklären ### Python -- PEP 8 Stilrichtlinien -- Klare, lehrreiche Codebeispiele -- Typ-Hinweise, wo hilfreich für das Lernen +- PEP 8 Stilrichtlinien +- Klare, didaktische Codebeispiele +- Typannotationen, wo sinnvoll für den Lernprozess ### Markdown-Dokumentation -- Klare Überschriften-Hierarchie -- Codeblöcke mit Sprachangabe -- Links zu zusätzlichen Ressourcen -- Screenshots und Bilder in `images/` Verzeichnissen -- Alt-Text für Bilder zur Barrierefreiheit +- Klare Überschriftenhierarchie +- Codeblöcke mit Sprachangabe +- Verlinkungen zu weiteren Ressourcen +- Screenshots und Bilder in `images/` Verzeichnissen +- Alt-Texte für Bilder zwecks Barrierefreiheit -### Datei-Organisation +### Dateiorganisation -- Lektionen sequenziell nummeriert (1-getting-started-lessons, 2-js-basics usw.) -- Jedes Projekt hat `solution/` und oft `start/` oder `your-work/` Verzeichnisse -- Bilder werden in lektion-spezifischen `images/` Ordnern gespeichert -- Übersetzungen in `translations/{language-code}/` Struktur +- Lektionen nummeriert und sequenziell (1-getting-started-lessons, 2-js-basics, etc.) +- Jedes Projekt mit `solution/` und oft `start/` oder `your-work/` Ordnern +- Bilder liegen in lektionenspezifischen `images/` Ordnern +- Übersetzungen in `translations/{language-code}/` Verzeichnisstruktur ## Build und Deployment @@ -184,99 +184,99 @@ Die quiz-app ist für Azure Static Web Apps Deployment konfiguriert: ```bash cd quiz-app -npm run build # Erstellt den Ordner dist/ -# Führt die Bereitstellung über GitHub Actions Workflow bei Push zum Branch main durch +npm run build # Erstellt Ordner dist/ +# Setzt Bereitstellung per GitHub Actions Workflow bei Push auf main um ``` + +Azure Static Web Apps Konfiguration: +- **App Location**: `/quiz-app` +- **Output Location**: `dist` +- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` -Azure Static Web Apps Konfiguration: -- **App-Standort**: `/quiz-app` -- **Ausgabeort**: `dist` -- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` - -### Dokumentation PDF-Erstellung +### PDF-Erstellung der Dokumentation ```bash npm install # Installiere docsify-to-pdf npm run convert # Erzeuge PDF aus docs ``` - + ### Docsify Dokumentation ```bash -npm install -g docsify-cli # Installiere Docsify global +npm install -g docsify-cli # Docsify global installieren docsify serve # Auf localhost:3000 bereitstellen ``` - + ### Projekt-spezifische Builds -Jedes Projektverzeichnis kann einen eigenen Build-Prozess haben: -- Vue-Projekte: `npm run build` erzeugt Produktions-Bundles -- Statische Projekte: Kein Build Schritt, Dateien direkt servieren +Jedes Projektverzeichnis kann einen eigenen Buildprozess haben: +- Vue-Projekte: `npm run build` erstellt Produktions-Bundles +- Statische Projekte: Kein Build-Schritt, Dateien werden direkt bedient -## Pull-Request Richtlinien +## Pull-Request-Richtlinien ### Titel-Format -Verwende klare, beschreibende Titel, die den Änderungsbereich anzeigen: -- `[Quiz-app] Neues Quiz für Lektion X hinzufügen` -- `[Lesson-3] Tippfehler im Terrarium-Projekt beheben` -- `[Translation] Spanische Übersetzung für Lektion 5 hinzufügen` -- `[Docs] Setup-Anweisungen aktualisieren` +Verwende klare, beschreibende Titel, die den Änderungsbereich angeben: +- `[Quiz-app] Füge neues Quiz für Lektion X hinzu` +- `[Lesson-3] Rechtschreibfehler im Terrarium-Projekt beheben` +- `[Translation] Füge Spanisch-Übersetzung für Lektion 5 hinzu` +- `[Docs] Aktualisiere Setup-Anweisungen` ### Erforderliche Prüfungen -Vor dem Einreichen eines Pull Requests: +Vor dem PR-Einreichen: -1. **Code-Qualität**: - - `npm run lint` in betroffenen Projektverzeichnissen ausführen - - Alle Linting-Fehler und Warnungen beheben +1. **Codequalität**: + - Führe `npm run lint` in betroffenen Projektverzeichnissen aus + - Behebe alle Lint-Fehler und Warnungen -2. **Build-Verifikation**: - - `npm run build` wenn zutreffend ausführen - - Sicherstellen, dass keine Build-Fehler vorliegen +2. **Build-Verifikation**: + - Führe `npm run build` falls zutreffend aus + - Sicherstellen, dass keine Build-Fehler auftreten -3. **Link-Validierung**: - - Alle Markdown-Links testen - - Bildverweise prüfen +3. **Link-Validierung**: + - Teste alle Markdown-Links + - Verifiziere Bildreferenzen -4. **Inhaltsprüfung**: - - Korrekturlesen auf Rechtschreibung und Grammatik - - Sicherstellen, dass Codebeispiele korrekt und bildend sind - - Übersetzungen auf Bedeutungsintaktheit prüfen +4. **Inhaltsprüfung**: + - Korrekturlesen von Rechtschreibung und Grammatik + - Sicherstellen, dass Codebeispiele korrekt und didaktisch sind + - Übersetzungen auf Bedeutungsgenauigkeit prüfen -### Beitragsanforderungen +### Beitragspflichten -- Zustimmung zur Microsoft CLA (automatische Überprüfung beim ersten PR) -- Befolgung des [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) -- Siehe [CONTRIBUTING.md](./CONTRIBUTING.md) für detaillierte Richtlinien -- Referenzierung von Issue-Nummern im PR-Beschreibung falls zutreffend +- Zustimmung zur Microsoft CLA (automatische Prüfung beim ersten PR) +- Befolgung des [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) +- Details in [CONTRIBUTING.md](./CONTRIBUTING.md) +- Verweise auf Issue-Nummern im PR-Beschreibungstext falls zutreffend ### Review-Prozess -- PRs werden von Maintainers und Community geprüft -- Bildungsverständlichkeit hat Priorität -- Codebeispiele sollten aktuellen Best Practices folgen -- Übersetzungen auf Genauigkeit und kulturelle Angemessenheit geprüft +- PRs werden von Maintainer- und Community-Mitgliedern geprüft +- Bildungsklarheit hat Priorität +- Codebeispiele sollten aktuellen Best Practices entsprechen +- Übersetzungen auf Genauigkeit und kulturelle Angemessenheit geprüft ## Übersetzungssystem ### Automatisierte Übersetzung -- Verwendet GitHub Actions mit co-op-translator Workflow -- Übersetzt automatisch in 50+ Sprachen -- Quell-Dateien in Hauptverzeichnissen -- Übersetzte Dateien in `translations/{language-code}/` Verzeichnissen +- Verwendet GitHub Actions mit co-op-translator Workflow +- Übersetzt automatisiert in über 50 Sprachen +- Quell-Dateien in Hauptverzeichnissen +- Übersetzungen in `translations/{language-code}/` Verzeichnissen ### Manuelle Verbesserungen an Übersetzungen -1. Datei in `translations/{language-code}/` finden -2. Verbesserungen bei Erhalt der Struktur vornehmen -3. Sicherstellen, dass Codebeispiele funktionsfähig bleiben -4. Lokalisiertes Quiz-Material testen +1. Datei in `translations/{language-code}/` finden +2. Verbesserungen vornehmen, Struktur bewahren +3. Sicherstellen, dass Codebeispiele funktionsfähig bleiben +4. Lokalisierte Quizinhalte testen ### Übersetzungs-Metadaten -Übersetzte Dateien enthalten Metadaten-Header: +Übersetzte Dateien enthalten Metadaten-Header: ```markdown ``` - -## Debugging und Fehlersuche + +## Debugging und Fehlerbehebung ### Häufige Probleme -**Quiz-App startet nicht**: -- Node.js Version prüfen (v14+ empfohlen) -- `node_modules` und `package-lock.json` löschen, danach `npm install` ausführen -- Auf Port-Konflikte prüfen (Standard: Vite verwendet Port 5173) +**Quiz-App startet nicht:** +- Prüfe Node.js Version (v14+ empfohlen) +- Lösche `node_modules` und `package-lock.json`, führe `npm install` erneut aus +- Prüfe Port-Konflikte (Standard: Vite nutzt Port 5173) -**API Server startet nicht**: -- Node.js Version >= 10 sicherstellen -- Prüfen, ob Port bereits belegt ist -- Alle Abhängigkeiten mit `npm install` installieren +**API-Server startet nicht:** +- Node.js Version mindestens v10 sicherstellen +- Prüfe, ob Port bereits belegt ist +- Alle Abhängigkeiten mit `npm install` installieren -**Browser-Erweiterung lädt nicht**: -- manifest.json auf korrekte Formatierung prüfen -- Browser-Konsole auf Fehler überprüfen -- Browser-spezifische Installationsanleitungen befolgen +**Browser-Erweiterung lädt nicht:** +- Prüfe Manifest.json auf korrekte Formatierung +- Browser-Konsole auf Fehler prüfen +- Browser-spezifische Installationshinweise beachten -**Python Chat-Projekt Probleme**: -- OpenAI-Paket installiert? `pip install openai` -- GITHUB_TOKEN Umgebungsvariable gesetzt? -- Zugriffsrechte für GitHub Models prüfen +**Python Chat-Projekt Probleme:** +- OpenAI-Paket installiert? `pip install openai` +- Umgebungsvariable GITHUB_TOKEN gesetzt? +- Zugriff auf GitHub Models überprüft? -**Docsify liefert keine Dokumentation**: -- docsify-cli global installieren: `npm install -g docsify-cli` -- Vom Repository-Root aus starten -- Prüfen, ob `docs/_sidebar.md` existiert +**Docsify liefert keine Docs aus:** +- docsify-cli global installieren: `npm install -g docsify-cli` +- Aus dem Root-Verzeichnis starten +- Prüfen, ob `docs/_sidebar.md` existiert -### Tipps zur Entwicklungsumgebung +### Entwicklungstipps -- VS Code mit Live Server Erweiterung für HTML-Projekte verwenden -- ESLint und Prettier Erweiterungen für einheitliche Formatierung installieren -- Browser DevTools zum JavaScript Debuggen nutzen -- Für Vue-Projekte Vue DevTools Browser-Erweiterung verwenden +- Nutze VS Code mit Live Server Erweiterung für HTML-Projekte +- Installiere ESLint und Prettier Extensions für konsistente Formatierung +- Verwende Browser DevTools zum Debuggen von JavaScript +- Für Vue-Projekte Vue DevTools Browser Extension installieren -### Performance Aspekt +### Performance-Aspekte -- Große Anzahl an Übersetzungsdateien (50+ Sprachen) führt zu großen Klonen -- Shallow Clone verwenden, wenn nur Inhaltsarbeit gewünscht: `git clone --depth 1` -- Übersetzungen bei Arbeit am englischen Inhalt von Suchvorgängen ausnehmen -- Build-Prozesse können beim ersten Lauf langsam sein (npm install, Vite Build) +- Große Anzahl übersetzter Dateien (50+ Sprachen) führt zu großen Klonen +- Nutze shallow clone, wenn nur mit Inhalten gearbeitet wird: `git clone --depth 1` +- Übersetzungen bei englischer Bearbeitung von Suchen ausschließen +- Build-Prozesse können beim ersten Mal langsam sein (npm install, Vite build) -## Sicherheitsüberlegungen +## Sicherheitsaspekte ### Umgebungsvariablen -- API-Schlüssel niemals ins Repository commiten -- `.env` Dateien verwenden (bereits in `.gitignore`) -- Benötigte Umgebungsvariablen in Projekt-READMEs dokumentieren +- API-Schlüssel niemals im Repository speichern +- `.env` Dateien nutzen (bereits in `.gitignore` enthalten) +- Benötigte Umgebungsvariablen in Projekt-README dokumentieren ### Python-Projekte -- Virtuelle Umgebungen verwenden: `python -m venv venv` -- Abhängigkeiten aktuell halten -- GitHub Tokens mit minimal erforderlichen Berechtigungen nutzen +- Virtuelle Umgebungen verwenden: `python -m venv venv` +- Abhängigkeiten aktuell halten +- GitHub-Tokens minimal erforderliche Rechte geben -### GitHub Models Zugriff +### Zugang zu GitHub Models -- Personal Access Tokens (PAT) für GitHub Models erforderlich -- Tokens als Umgebungsvariablen speichern -- Tokens oder Zugangsdaten niemals committen +- Personal Access Tokens (PAT) für GitHub Models erforderlich +- Tokens als Umgebungsvariablen speichern +- Keine Tokens oder Credentials commiten -## Zusätzliche Hinweise +## Weitere Hinweise ### Zielgruppe -- Absolute Anfänger in Webentwicklung -- Studierende und Selbstlernende -- Lehrkräfte, die das Curriculum im Unterricht einsetzen -- Inhalte sind auf Barrierefreiheit und schrittweise Kompetenzentwicklung ausgelegt +- Totale Anfänger in der Webentwicklung +- Studenten und autodidaktische Lernende +- Lehrende, die das Curriculum im Unterricht verwenden +- Inhalte sind auf Zugänglichkeit und graduelles Kompetenzaufbau ausgelegt -### Bildungskonzept +### Pädagogische Philosophie -- Projektbasiertes Lernen -- Häufige Wissensüberprüfungen (Quizze) -- Praktische Programmierübungen -- Beispiele mit realweltlichen Anwendungen -- Fokus auf Grundlagen vor Frameworks +- Projektbasierter Lernansatz +- Häufige Wissensüberprüfungen (Quizze) +- Praktische Programmierübungen +- Beispiele aus realen Anwendungsfällen +- Fokus auf Grundlagen vor Frameworks -### Repository-Wartung +### Repository-Pflege -- Aktive Gemeinschaft von Lernenden und Mitwirkenden -- Regelmäßige Aktualisierung von Abhängigkeiten und Inhalten -- Issues und Diskussionen werden von Maintainers überwacht -- Übersetzungsupdates automatisiert über GitHub Actions +- Aktive Community von Lernenden und Mitwirkenden +- Regelmäßige Aktualisierung der Abhängigkeiten und Inhalte +- Beobachtung von Issues und Diskussionen durch Maintainer +- Übersetzungsupdates automatisiert über GitHub Actions ### Verwandte Ressourcen -- [Microsoft Learn Module](https://docs.microsoft.com/learn/) -- [Student Hub Ressourcen](https://docs.microsoft.com/learn/student-hub/) -- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) empfiehlt sich für Lernende -- Weitere Kurse: Generative AI, Data Science, ML, IoT Curricula verfügbar +- [Microsoft Learn Module](https://docs.microsoft.com/learn/) +- [Student Hub Ressourcen](https://docs.microsoft.com/learn/student-hub/) +- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) empfohlen für Lernende +- Zusätzliche Kurse: Generative KI, Data Science, ML, IoT Curricula verfügbar ### Arbeit mit spezifischen Projekten -Für detaillierte Anleitungen zu einzelnen Projekten siehe README-Dateien in: -- `quiz-app/README.md` - Vue 3 Quiz-Anwendung -- `7-bank-project/README.md` - Banking-App mit Authentifizierung -- `5-browser-extension/README.md` - Browser-Erweiterungsentwicklung -- `6-space-game/README.md` - Canvas-basiertes Spiel -- `9-chat-project/README.md` - KI Chat-Assistent Projekt +Für detaillierte Anleitungen zu einzelnen Projekten siehe README-Dateien in: +- `quiz-app/README.md` - Vue 3 Quiz-Anwendung +- `7-bank-project/README.md` - Banking-Anwendung mit Authentifizierung +- `5-browser-extension/README.md` - Browsererweiterungsentwicklung +- `6-space-game/README.md` - Canvas-basiertes Spiel +- `9-chat-project/README.md` - KI-Chat-Assistent Projekt ### Monorepo-Struktur -Obwohl kein traditionelles Monorepo, enthält dieses Repository mehrere unabhängige Projekte: -- Jede Lektion ist eigenständig -- Projekte teilen keine Abhängigkeiten -- Arbeit an Einzelprojekten ohne Beeinflussung anderer -- Gesamtes Repo klonen für das komplette Curriculum-Erlebnis +Obwohl kein traditionelles Monorepo, enthält dieses Repository mehrere unabhängige Projekte: +- Jede Lektion ist eigenständig +- Projekte teilen keine Abhängigkeiten +- Arbeit an einzelnen Projekten ohne Beeinflussung anderer möglich +- Komplettes Repository klonen für das vollständige Curriculum-Erlebnis --- **Haftungsausschluss**: -Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir auf Genauigkeit achten, bitten wir zu beachten, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache ist als maßgebliche Quelle zu betrachten. Für wichtige Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Verwendung dieser Übersetzung entstehen. +Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache gilt als maßgebliche Quelle. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die sich aus der Verwendung dieser Übersetzung ergeben. \ No newline at end of file diff --git a/translations/de/README.md b/translations/de/README.md index 046d7a0f71..e54c09fb05 100644 --- a/translations/de/README.md +++ b/translations/de/README.md @@ -12,27 +12,27 @@ # Webentwicklung für Anfänger - Ein Lehrplan -Lerne die Grundlagen der Webentwicklung mit unserem umfassenden 12-wöchigen Kurs von Microsoft Cloud Advocates. Jede der 24 Lektionen vertieft JavaScript, CSS und HTML durch praktische Projekte wie Terrarien, Browser-Erweiterungen und Weltraumspiele. Engagiere dich mit Quizzen, Diskussionen und praktischen Aufgaben. Verbessere deine Fähigkeiten und optimiere dein Wissensspeicher mit unserer effektiven projektbasierten Didaktik. Starte noch heute deine Programmierreise! +Lerne die Grundlagen der Webentwicklung mit unserem 12-wöchigen umfassenden Kurs von Microsoft Cloud Advocates. Jede der 24 Lektionen taucht durch praktische Projekte wie Terrarien, Browser-Erweiterungen und Weltraumspiele in JavaScript, CSS und HTML ein. Engagiere dich mit Quizzen, Diskussionen und praktischen Aufgaben. Verbessere deine Fähigkeiten und optimiere dein Wissensspeicherung mit unserer effektiven projektbasierten Pädagogik. Beginne noch heute deine Programmierreise! -Tritt der Azure AI Foundry Discord Community bei +Tritt der Azure AI Foundry Discord-Community bei [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Folge diesen Schritten, um die Ressourcen zu nutzen: -1. **Repository forken**: Klicke [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) -2. **Repository klonen**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**Tritt dem Azure AI Foundry Discord bei und triff Experten und andere Entwickler**](https://discord.com/invite/ByRwuEEgH4) +Folge diesen Schritten, um mit diesen Ressourcen zu starten: +1. **Forke das Repository**: Klicke [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +2. **Klone das Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +3. [**Tritt der Azure AI Foundry Discord bei und triff Experten sowie andere Entwickler**](https://discord.com/invite/ByRwuEEgH4) ### 🌐 Mehrsprachige Unterstützung -#### Unterstützt über GitHub Action (Automatisiert & immer aktuell) +#### Unterstützt durch GitHub Action (Automatisiert & Immer Aktuell) -[Arabisch](../ar/README.md) | [Bengalisch](../bn/README.md) | [Bulgarisch](../bg/README.md) | [Birmanisch (Myanmar)](../my/README.md) | [Chinesisch (vereinfacht)](../zh-CN/README.md) | [Chinesisch (traditionell, Hongkong)](../zh-HK/README.md) | [Chinesisch (traditionell, Macau)](../zh-MO/README.md) | [Chinesisch (traditionell, Taiwan)](../zh-TW/README.md) | [Kroatisch](../hr/README.md) | [Tschechisch](../cs/README.md) | [Dänisch](../da/README.md) | [Niederländisch](../nl/README.md) | [Estnisch](../et/README.md) | [Finnisch](../fi/README.md) | [Französisch](../fr/README.md) | [Deutsch](./README.md) | [Griechisch](../el/README.md) | [Hebräisch](../he/README.md) | [Hindi](../hi/README.md) | [Ungarisch](../hu/README.md) | [Indonesisch](../id/README.md) | [Italienisch](../it/README.md) | [Japanisch](../ja/README.md) | [Kannada](../kn/README.md) | [Koreanisch](../ko/README.md) | [Litauisch](../lt/README.md) | [Malaiisch](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepalesisch](../ne/README.md) | [Nigerianisches Pidgin](../pcm/README.md) | [Norwegisch](../no/README.md) | [Persisch (Farsi)](../fa/README.md) | [Polnisch](../pl/README.md) | [Portugiesisch (Brasilien)](../pt-BR/README.md) | [Portugiesisch (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Rumänisch](../ro/README.md) | [Russisch](../ru/README.md) | [Serbisch (Kyrillisch)](../sr/README.md) | [Slowakisch](../sk/README.md) | [Slowenisch](../sl/README.md) | [Spanisch](../es/README.md) | [Suaheli](../sw/README.md) | [Schwedisch](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thailändisch](../th/README.md) | [Türkisch](../tr/README.md) | [Ukrainisch](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamesisch](../vi/README.md) +[Arabisch](../ar/README.md) | [Bengalisch](../bn/README.md) | [Bulgarisch](../bg/README.md) | [Birmanisch (Myanmar)](../my/README.md) | [Chinesisch (vereinfacht)](../zh-CN/README.md) | [Chinesisch (traditionell, Hongkong)](../zh-HK/README.md) | [Chinesisch (traditionell, Macau)](../zh-MO/README.md) | [Chinesisch (traditionell, Taiwan)](../zh-TW/README.md) | [Kroatisch](../hr/README.md) | [Tschechisch](../cs/README.md) | [Dänisch](../da/README.md) | [Niederländisch](../nl/README.md) | [Estnisch](../et/README.md) | [Finnisch](../fi/README.md) | [Französisch](../fr/README.md) | [Deutsch](./README.md) | [Griechisch](../el/README.md) | [Hebräisch](../he/README.md) | [Hindi](../hi/README.md) | [Ungarisch](../hu/README.md) | [Indonesisch](../id/README.md) | [Italienisch](../it/README.md) | [Japanisch](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Koreanisch](../ko/README.md) | [Litauisch](../lt/README.md) | [Malaiisch](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathisch](../mr/README.md) | [Nepalesisch](../ne/README.md) | [Nigerianisches Pidgin](../pcm/README.md) | [Norwegisch](../no/README.md) | [Persisch (Farsi)](../fa/README.md) | [Polnisch](../pl/README.md) | [Portugiesisch (Brasilien)](../pt-BR/README.md) | [Portugiesisch (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Rumänisch](../ro/README.md) | [Russisch](../ru/README.md) | [Serbisch (Kyrillisch)](../sr/README.md) | [Slowakisch](../sk/README.md) | [Slowenisch](../sl/README.md) | [Spanisch](../es/README.md) | [Suaheli](../sw/README.md) | [Schwedisch](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thailändisch](../th/README.md) | [Türkisch](../tr/README.md) | [Ukrainisch](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamesisch](../vi/README.md) -> **Lieber lokal klonen?** +> **Bevorzugst du das lokale Klonen?** > -> Dieses Repository enthält über 50 Sprachübersetzungen, was die Download-Größe erheblich erhöht. Um ohne Übersetzungen zu klonen, verwende Sparse Checkout: +> Dieses Repository enthält über 50 Sprachübersetzungen, die die Downloadgröße erheblich erhöhen. Um ohne Übersetzungen zu klonen, nutze Sparse Checkout: > > **Bash / macOS / Linux:** > ```bash @@ -48,44 +48,44 @@ Folge diesen Schritten, um die Ressourcen zu nutzen: > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> Damit erhältst du alles, um den Kurs zu absolvieren – und der Download geht viel schneller. +> Dies gibt dir alles, was du brauchst, um den Kurs mit einem viel schnelleren Download abzuschließen. -**Wenn du weitere Übersetzungen wünschst, findest du die unterstützten Sprachen [hier](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**Wenn du zusätzliche Übersetzungen möchtest, findest du unterstützte Sprachen [hier](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** [![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) #### 🧑‍🎓 _Bist du Student?_ -Besuche die [**Student Hub-Seite**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), wo du Anfängerressourcen, Studentenpakete und sogar Möglichkeiten findest, einen kostenlosen Zertifikatsgutschein zu erhalten. Diese Seite solltest du als Lesezeichen speichern und regelmäßig besuchen, da wir monatlich Inhalte austauschen. +Besuche die [**Student Hub-Seite**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), wo du Anfängerressourcen, Studentenkits und sogar Möglichkeiten findest, einen kostenlosen Zertifikatsgutschein zu erhalten. Dies ist die Seite, die du bookmarken solltest und von Zeit zu Zeit überprüfst, da der Inhalt monatlich aktualisiert wird. -### 📣 Ankündigung – Neue GitHub Copilot Agent Mode Herausforderungen zum Abschließen! +### 📣 Ankündigung – Neue Herausforderungen im GitHub Copilot Agent-Modus zum Abschließen! -Neue Herausforderung hinzugefügt, suche nach "GitHub Copilot Agent Challenge 🚀" in den meisten Kapiteln. Das ist eine neue Challenge für dich, die du mit GitHub Copilot und dem Agent Mode abschließen kannst. Falls du den Agent Mode noch nicht benutzt hast: Er erzeugt nicht nur Text, sondern kann auch Dateien erstellen und bearbeiten, Befehle ausführen und mehr. +Neue Herausforderung hinzugefügt, suche nach „GitHub Copilot Agent Challenge 🚀“ in den meisten Kapiteln. Das ist eine neue Herausforderung für dich, die du mit GitHub Copilot und dem Agent-Modus abschließen kannst. Falls du den Agent-Modus noch nicht benutzt hast: Er kann nicht nur Text generieren, sondern auch Dateien erstellen und bearbeiten, Befehle ausführen und mehr. -### 📣 Ankündigung – _Neues Projekt mit Generativer KI_ +### 📣 Ankündigung – _Neues Projekt zum Erstellen mit generativer KI_ -Neues KI-Assistent-Projekt gerade hinzugefügt, schau es dir an [Projekt](./9-chat-project/README.md) +Neues AI Assistant-Projekt gerade hinzugefügt, schau es dir an [Projekt](./9-chat-project/README.md) -### 📣 Ankündigung – _Neuer Lehrplan_ zu Generativer KI für JavaScript wurde gerade veröffentlicht +### 📣 Ankündigung – _Neuer Lehrplan_ zu generativer KI für JavaScript wurde gerade veröffentlicht -Verpasse nicht unseren neuen Generative AI Lehrplan! +Verpasse nicht unseren neuen Lehrplan zur generativen KI! Besuche [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), um loszulegen! ![Background](../../translated_images/de/background.148a8d43afde5730.webp) - Lektionen, die alles von den Grundlagen bis zu RAG abdecken. -- Interagiere mit historischen Figuren mit GenAI und unserer Begleit-App. -- Spaßige und fesselnde Erzählweise, du reist durch die Zeit! +- Interagiere mit historischen Persönlichkeiten mit GenAI und unserer Begleit-App. +- Spaßige und spannende Erzählung, du wirst durch die Zeit reisen! ![character](../../translated_images/de/character.5c0dd8e067ffd693.webp) -Jede Lektion enthält eine Aufgabe, einen Wissenscheck und eine Challenge, die dich beim Lernen von Themen wie den folgenden leitet: +Jede Lektion enthält eine Aufgabe, eine Wissensüberprüfung und eine Herausforderung, die dir beim Lernen von Themen wie: - Prompting und Prompt-Engineering -- Text- und Bildanwendungs-Generierung -- Suchanwendungen +- Text- und Bild-App-Generierung +- Such-Apps helfen Besuche [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), um loszulegen! @@ -93,125 +93,125 @@ Besuche [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), um los ## 🌱 Erste Schritte -> **Lehrkräfte**, wir haben [einige Vorschläge](for-teachers.md) aufgenommen, wie ihr diesen Lehrplan nutzen könnt. Wir freuen uns über euer Feedback [in unserem Diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! +> **Lehrer**, wir haben [einige Vorschläge](for-teachers.md) aufgenommen, wie dieser Lehrplan verwendet werden kann. Wir freuen uns auf dein Feedback [in unserem Diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! -**[Lernende](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, beginne jede Lektion mit einem Pre-Lecture-Quiz, lese dann das Vorlesungsmaterial, bearbeite die verschiedenen Aktivitäten und überprüfe dein Verständnis mit dem Post-Lecture-Quiz. +**[Lernende](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, beginne jede Lektion mit einem Pre-Lecture-Quiz, arbeite dich durch die Vorlesungsmaterialien, erledige die verschiedenen Aktivitäten und überprüfe dein Verständnis mit dem Post-Lecture-Quiz. -Um dein Lernen zu verbessern, vernetze dich mit deinen Mitlernenden, um gemeinsam an Projekten zu arbeiten! Diskussionen sind in unserem [Diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) erwünscht, wo unser Moderatorenteam deine Fragen beantwortet. +Um dein Lernerlebnis zu verbessern, verbinde dich mit deinen Mitlernenden, um gemeinsam an den Projekten zu arbeiten! Diskussionen sind in unserem [Diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) erwünscht, wo unser Moderatoren-Team deine Fragen beantwortet. -Für eine weiterführende Ausbildung empfehlen wir dringend, [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) für zusätzliche Lernmaterialien zu erkunden. +Zur Vertiefung empfehlen wir dir, [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) für zusätzliche Lernmaterialien zu erkunden. -### 📋 Einrichtung deiner Umgebung +### 📋 Einrichtung deiner Entwicklungsumgebung -Dieser Lehrplan verfügt über eine sofort einsatzbereite Entwicklungsumgebung! Du kannst zu Beginn wählen, ob du den Lehrplan in einem [Codespace](https://github.com/features/codespaces/) (_eine browserbasierte, installfreie Umgebung_) oder lokal auf deinem Computer mit einem Texteditor wie [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ausführen möchtest. +Dieser Lehrplan bietet eine sofort einsatzbereite Entwicklungsumgebung! Du kannst das Curriculum in einem [Codespace](https://github.com/features/codespaces/) (_einer browserbasierten, installationsfreien Umgebung_) oder lokal auf deinem Rechner mit einem Texteditor wie [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ausführen. #### Erstelle dein eigenes Repository -Damit du deine Arbeit leicht speichern kannst, wird empfohlen, eine eigene Kopie dieses Repositorys zu erstellen. Dazu klicke auf den Button **Use this template** oben auf der Seite. Damit wird ein neues Repository in deinem GitHub-Konto mit einer Kopie des Lehrplans erstellt. +Damit du deine Arbeit einfach speichern kannst, wird empfohlen, eine eigene Kopie dieses Repositorys zu erstellen. Klicke dazu auf die Schaltfläche **Use this template** oben auf der Seite. Dadurch wird ein neues Repository in deinem GitHub-Konto mit einer Kopie des Lehrplans erstellt. Folge diesen Schritten: -1. **Repository forken**: Klicke auf den „Fork“-Button rechts oben auf dieser Seite. -2. **Repository klonen**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +1. **Forke das Repository**: Klicke oben rechts auf dieser Seite auf die Schaltfläche „Fork“. +2. **Klone das Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` #### Ausführen des Lehrplans in einem Codespace -In deiner eigenen Kopie dieses Repositorys, klicke auf den Button **Code** und wähle **Open with Codespaces**. Dies erstellt einen neuen Codespace, in dem du arbeiten kannst. +Klicke in deiner kopierten Version dieses Repositorys auf die Schaltfläche **Code** und wähle **Open with Codespaces**. Dadurch wird ein neuer Codespace für dich erstellt, in dem du arbeiten kannst. ![Codespace](../../translated_images/de/createcodespace.0238bbf4d7a8d955.webp) -#### Ausführen des Lehrplans lokal auf deinem Computer +#### Lokal auf deinem Computer ausführen -Um diesen Lehrplan lokal auf deinem Computer auszuführen, benötigst du einen Texteditor, einen Browser und ein Kommandozeilen-Tool. Unsere erste Lektion, [Einführung in Programmiersprachen und Werkzeuge](../../1-getting-started-lessons/1-intro-to-programming-languages), führt dich durch verschiedene Optionen für diese Werkzeuge, sodass du wählen kannst, was am besten zu dir passt. +Um diesen Lehrplan lokal auf deinem Computer auszuführen, benötigst du einen Texteditor, einen Browser und ein Kommandozeilentool. Unsere erste Lektion, [Einführung in Programmiersprachen und Tools](../../1-getting-started-lessons/1-intro-to-programming-languages), führt dich durch verschiedene Optionen für jedes dieser Werkzeuge, damit du das Beste für dich auswählen kannst. -Wir empfehlen die Nutzung von [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) als Editor, der auch ein integriertes [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) bietet. Visual Studio Code kannst du [hier herunterladen](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -1. Klone dein Repository auf deinen Computer. Du kannst dies tun, indem du auf die **Code**-Schaltfläche klickst und die URL kopierst: +Wir empfehlen die Verwendung von [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) als Editor, das auch ein integriertes [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) bietet. Du kannst Visual Studio Code [hier herunterladen](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +1. Klonen Sie Ihr Repository auf Ihren Computer. Sie können dies tun, indem Sie auf die Schaltfläche **Code** klicken und die URL kopieren: [CodeSpace](./images/createcodespace.png) - Öffne dann [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) innerhalb von [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) und führe den folgenden Befehl aus, wobei du `` durch die gerade kopierte URL ersetzt: + Öffnen Sie dann das [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) innerhalb von [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) und führen Sie den folgenden Befehl aus, wobei Sie `` durch die gerade kopierte URL ersetzen: ```bash git clone ``` -2. Öffne den Ordner in Visual Studio Code. Du kannst dies tun, indem du auf **Datei** > **Ordner öffnen** klickst und den gerade geklonten Ordner auswählst. +2. Öffnen Sie den Ordner in Visual Studio Code. Sie können dies tun, indem Sie **Datei** > **Ordner öffnen** klicken und den gerade geklonten Ordner auswählen. -> Empfohlene Visual Studio Code-Erweiterungen: +> Empfohlene Erweiterungen für Visual Studio Code: > -> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - um HTML-Seiten direkt in Visual Studio Code vorzuschauen -> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - um dir beim schnelleren Schreiben von Code zu helfen +> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - zum Vorschau von HTML-Seiten innerhalb von Visual Studio Code +> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - um Ihnen zu helfen, Code schneller zu schreiben ## 📂 Jede Lektion beinhaltet: -- optionales Sketchnote +- optionale Sketchnote - optionales ergänzendes Video - Aufwärmquiz vor der Lektion - schriftliche Lektion - für projektbasierte Lektionen Schritt-für-Schritt-Anleitungen zum Erstellen des Projekts -- Wissensüberprüfungen +- Wissenschecks - eine Herausforderung - ergänzende Lektüre - Aufgabe - [Quiz nach der Lektion](https://ff-quizzes.netlify.app/web/) -> **Ein Hinweis zu den Quizzen**: Alle Quizze sind im Ordner Quiz-app enthalten, insgesamt 48 Quizze mit jeweils drei Fragen. Sie sind [hier](https://ff-quizzes.netlify.app/web/) verfügbar. Die Quiz-App kann lokal ausgeführt oder auf Azure bereitgestellt werden; folge den Anweisungen im Ordner `quiz-app`. +> **Ein Hinweis zu den Quizzen**: Alle Quizze befinden sich im Ordner Quiz-app, insgesamt 48 Quizze mit jeweils drei Fragen. Sie sind [hier](https://ff-quizzes.netlify.app/web/) verfügbar, die Quiz-App kann lokal ausgeführt oder auf Azure bereitgestellt werden; folgen Sie den Anweisungen im Ordner `quiz-app`. ## 🗃️ Lektionen -| | Projektname | Erlernte Konzepte | Lernziele | Verknüpfte Lektion | Autor | -| :-: | :----------------------------------------------------: | :------------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------: | :----------------: | -| 01 | Erste Schritte | Einführung in Programmierung und Werkzeuge | Erlerne die grundlegenden Konzepte der meisten Programmiersprachen und Software, die professionelle Entwickler verwenden | [Einführung in Programmiersprachen und Werkzeuge](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | Erste Schritte | Grundlagen von GitHub, inklusive Teamarbeit | Wie man GitHub im Projekt nutzt und mit anderen an einer Codebasis zusammenarbeitet | [Einführung in GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | Erste Schritte | Barrierefreiheit | Erlerne die Grundlagen der Web-Barrierefreiheit | [Grundlagen der Barrierefreiheit](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | JS-Grundlagen | JavaScript-Datentypen | Die Grundlagen der JavaScript-Datentypen | [Datentypen](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | JS-Grundlagen | Funktionen und Methoden | Lerne Funktionen und Methoden kennen, um den Ablauf einer Anwendung zu steuern | [Funktionen und Methoden](./2-js-basics/2-functions-methods/README.md) | Jasmine und Christopher | -| 06 | JS-Grundlagen | Entscheidungen in JS treffen | Lerne, wie man Bedingungen im Code mit Entscheidungsstrukturen erstellt | [Entscheidungen treffen](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | JS-Grundlagen | Arrays und Schleifen | Arbeite mit Daten in JavaScript mithilfe von Arrays und Schleifen | [Arrays und Schleifen](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML in der Praxis | Erstelle das HTML, um ein Online-Terrarium zu bauen, mit Schwerpunkt auf Layout | [Einführung in HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS in der Praxis | Erstelle das CSS, um das Online-Terrarium zu stylen, mit Fokus auf CSS-Grundlagen und responsives Design | [Einführung in CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, DOM-Manipulation | Erstelle das JavaScript, damit das Terrarium als Drag/Drop-Oberfläche funktioniert, Fokus auf Closures und DOM-Manipulation | [JavaScript Closures, DOM-Manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Tipp-Spiel](./4-typing-game/solution/README.md) | Ein Tipp-Spiel bauen | Lerne, wie Tastaturereignisse zur Steuerung der Logik deiner JavaScript-App verwendet werden | [Ereignisgesteuerte Programmierung](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Grüne Browsererweiterung](./5-browser-extension/solution/README.md) | Arbeiten mit Browsern | Lerne, wie Browser funktionieren, ihre Geschichte und wie man erste Elemente einer Browsererweiterung erstellt | [Über Browser](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Grüne Browsererweiterung](./5-browser-extension/solution/README.md) | Formular erstellen, API aufrufen und Variablen im lokalen Speicher ablegen | Erstelle JavaScript-Elemente deiner Browsererweiterung, um eine API unter Verwendung lokal gespeicherter Variablen zu nutzen | [APIs, Formulare und lokaler Speicher](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Grüne Browsererweiterung](./5-browser-extension/solution/README.md) | Hintergrundprozesse im Browser, Web-Performance | Nutze die Hintergrundprozesse des Browsers, um das Symbol der Erweiterung zu verwalten; lerne über Web-Performance und Optimierungen | [Hintergrundaufgaben und Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Fortgeschrittene Spieleentwicklung mit JavaScript | Lerne Vererbung mittels Klassen und Komposition sowie das Pub/Sub-Muster, als Vorbereitung für den Bau eines Spiels | [Einführung in die fortgeschrittene Spieleentwicklung](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Zeichnen auf Canvas | Lerne die Canvas-API kennen, um Elemente auf einem Bildschirm zu zeichnen | [Zeichnen auf Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Elemente auf dem Bildschirm bewegen | Entdecke, wie Elemente Bewegung mit kartesischen Koordinaten und der Canvas-API erhalten | [Elemente bewegen](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Kollisions-Erkennung | Lasse Elemente kollidieren und aufeinander reagieren, nutze Tastendrucke und implementiere eine Abklingfunktion zur Leistungssteigerung | [Kollisions-Erkennung](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Punkte zählen | Führe mathematische Berechnungen basierend auf Spielstatus und Leistung durch | [Punkte zählen](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Spiel beenden und neu starten | Lerne, wie man das Spiel beendet und neu startet, inklusive Bereinigung von Ressourcen und Zurücksetzen von Variablen | [Die Endbedingung](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [Bankanwendung](./7-bank-project/solution/README.md) | HTML-Templates und Routen in einer Web-App | Lerne, wie man das Gerüst einer mehrseitigen Webseite mithilfe von Routing und HTML-Templates erstellt | [HTML-Templates und Routen](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [Bankanwendung](./7-bank-project/solution/README.md) | Login- und Registrierungsformular erstellen | Lerne, wie man Formulare baut und Validierungsroutinen behandelt | [Formulare](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [Bankanwendung](./7-bank-project/solution/README.md) | Methoden zum Abrufen und Nutzen von Daten | Wie Daten in die App gelangen und wieder herausfließen, wie man sie abruft, speichert und entfernt | [Daten](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [Bankanwendung](./7-bank-project/solution/README.md) | Konzepte des State-Managements | Lerne, wie deine App Zustände behält und wie man diese programmatisch verwaltet | [State-Management](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Browser/VScode Code](../../8-code-editor) | Arbeiten mit VScode | Lerne, wie du einen Code-Editor benutzt | [Visual Studio Code Editor verwenden](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [KI-Assistenten](./9-chat-project/README.md) | Arbeiten mit KI | Lerne, wie du deinen eigenen KI-Assistenten baust | [KI-Assistenten-Projekt](./9-chat-project/README.md) | Chris | +| | Projektname | Vermittelte Konzepte | Lernziele | Verknüpfte Lektion | Autor | +| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | +| 01 | Einstieg | Einführung in Programmierung und Werkzeuge der Branche | Lernen Sie die Grundlagen der meisten Programmiersprachen und Software kennen, die professionelle Entwickler bei ihrer Arbeit unterstützt | [Einführung in Programmiersprachen und Werkzeuge der Branche](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Einstieg | Grundlagen von GitHub, inklusive Teamarbeit | Wie man GitHub im eigenen Projekt verwendet, wie man mit anderen an einer Codebasis zusammenarbeitet | [Einführung in GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Einstieg | Zugänglichkeit | Lernen Sie die Grundlagen der Barrierefreiheit im Web | [Grundlagen der Zugänglichkeit](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | JS Grundlagen | JavaScript-Datentypen | Die Grundlagen von JavaScript-Datentypen | [Datentypen](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | JS Grundlagen | Funktionen und Methoden | Lernen Sie Funktionen und Methoden kennen, um den Anwendungslogikfluss zu steuern | [Funktionen und Methoden](./2-js-basics/2-functions-methods/README.md) | Jasmine und Christopher | +| 06 | JS Grundlagen | Entscheidungen treffen mit JS | Lernen Sie, wie Sie Bedingungen in Ihrem Code mit Entscheidungsstrukturen erstellen | [Entscheidungen treffen](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | JS Grundlagen | Arrays und Schleifen | Arbeiten Sie mit Daten unter Verwendung von Arrays und Schleifen in JavaScript | [Arrays und Schleifen](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML in der Praxis | Erstellen Sie das HTML, um ein Online-Terrarium zu bauen, mit Fokus auf das Layout | [Einführung in HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS in der Praxis | Erstellen Sie das CSS, um das Online-Terrarium zu stylen, mit Fokus auf grundlegendes CSS einschließlich responsivem Design | [Einführung in CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, DOM-Manipulation | Erstellen Sie das JavaScript, um das Terrarium als Drag & Drop-Schnittstelle funktionsfähig zu machen, mit Fokus auf Closures und DOM-Manipulation | [JavaScript Closures, DOM-Manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Tipp-Spiel](./4-typing-game/solution/README.md) | Erstellen eines Tipp-Spiels | Lernen Sie, wie Sie Tastaturereignisse verwenden, um die Logik Ihrer JavaScript-App zu steuern | [Ereignisgesteuerte Programmierung](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Grünes Browser-Addon](./5-browser-extension/solution/README.md) | Arbeiten mit Browsern | Lernen Sie, wie Browser funktionieren, deren Geschichte und wie Sie die ersten Elemente eines Browser-Addons vorbereiten | [Über Browser](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Grünes Browser-Addon](./5-browser-extension/solution/README.md) | Formularerstellung, API-Aufrufe und lokale Speicherung von Variablen | Erstellen Sie die JavaScript-Elemente Ihres Browser-Addons, um eine API über in localStorage gespeicherte Variablen aufzurufen | [APIs, Formulare und lokale Speicherung](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Grünes Browser-Addon](./5-browser-extension/solution/README.md) | Hintergrundprozesse im Browser, Web-Performance | Verwenden Sie die Hintergrundprozesse des Browsers zur Verwaltung des Erweiterungssymbols; lernen Sie Web-Performance und Optimierungen kennen | [Hintergrundaufgaben und Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Weltraumspiel](./6-space-game/solution/README.md) | Fortgeschrittene Spieleentwicklung mit JavaScript | Lernen Sie Vererbung anhand von Klassen und Komposition sowie das Pub/Sub-Muster kennen, als Vorbereitung auf die Spieleentwicklung | [Einführung in die fortgeschrittene Spieleentwicklung](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Weltraumspiel](./6-space-game/solution/README.md) | Zeichnen auf der Leinwand | Lernen Sie die Canvas-API kennen, die zum Zeichnen von Elementen auf einem Bildschirm verwendet wird | [Zeichnen auf der Leinwand](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Weltraumspiel](./6-space-game/solution/README.md) | Bewegungen von Elementen auf dem Bildschirm | Entdecken Sie, wie Elemente durch kartesische Koordinaten und die Canvas-API Bewegung erhalten | [Bewegung von Elementen](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Weltraumspiel](./6-space-game/solution/README.md) | Kollisions-Erkennung | Lassen Sie Elemente kollidieren und aufeinander reagieren, verwenden Sie Tastendrücke und eine Cooldown-Funktion, um die Performance des Spiels sicherzustellen | [Kollisionserkennung](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Weltraumspiel](./6-space-game/solution/README.md) | Punktestand führen | Führen Sie mathematische Berechnungen basierend auf dem Spielstatus und der Performance durch | [Punktestand führen](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Weltraumspiel](./6-space-game/solution/README.md) | Spiel beenden und neu starten | Lernen Sie, wie man ein Spiel beendet und neu startet, einschließlich Aufräumen von Assets und Zurücksetzen von Variablen | [Die Endbedingung](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-Vorlagen und Routen in einer Web-App | Lernen Sie, wie das Grundgerüst einer mehrseitigen Website mit Routing und HTML-Vorlagen erstellt wird | [HTML-Vorlagen und Routing](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Banking App](./7-bank-project/solution/README.md) | Login- und Registrierungsformular erstellen | Lernen Sie, wie man Formulare erstellt und Validierungsroutinen handhabt | [Formulare](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Banking App](./7-bank-project/solution/README.md) | Methoden zum Abrufen und Verwenden von Daten | Wie Daten in die App hinein- und herausfließen, wie sie abgerufen, gespeichert und entsorgt werden | [Daten](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Banking App](./7-bank-project/solution/README.md) | Konzepte des Zustandsmanagements | Lernen Sie, wie Ihre App den Zustand beibehält und diesen programmatisch verwaltet | [Zustandsmanagement](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Browser/VScode Code](../../8-code-editor) | Arbeiten mit VScode | Lernen Sie, wie man einen Code-Editor benutzt | [VScode Code Editor verwenden](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [KI-Assistenten](./9-chat-project/README.md) | Arbeiten mit KI | Lernen Sie, wie Sie Ihren eigenen KI-Assistenten bauen | [KI-Assistenten-Projekt](./9-chat-project/README.md) | Chris | ## 🏫 Pädagogik -Unser Curriculum basiert auf zwei zentralen pädagogischen Prinzipien: +Unser Lehrplan basiert auf zwei wichtigen pädagogischen Prinzipien: * projektbasiertes Lernen * häufige Quizze -Das Programm vermittelt die Grundlagen von JavaScript, HTML und CSS sowie die neuesten Werkzeuge und Techniken, die heutige Webentwickler nutzen. Die Studierenden haben die Gelegenheit, praktische Erfahrungen zu sammeln, indem sie ein Tipp-Spiel, ein virtuelles Terrarium, eine umweltfreundliche Browser-Erweiterung, ein Weltraum-Invader-artiges Spiel und eine Bankanwendung für Unternehmen bauen. Am Ende der Reihe verfügen die Studierenden über ein solides Verständnis der Webentwicklung. +Das Programm vermittelt die Grundlagen von JavaScript, HTML und CSS sowie die neuesten Werkzeuge und Techniken, die heutige Webentwickler verwenden. Die Lernenden haben die Möglichkeit, praktische Erfahrungen zu sammeln, indem sie ein Tipp-Spiel, ein virtuelles Terrarium, eine umweltfreundliche Browsererweiterung, ein Weltraum-Invasoren-Spiel und eine Banking-App für Unternehmen erstellen. Am Ende der Reihe verfügen die Lernenden über ein solides Verständnis der Webentwicklung. -> 🎓 Die ersten Lektionen dieses Curriculums kannst du auch als [Learning Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) auf Microsoft Learn absolvieren! +> 🎓 Sie können die ersten Lektionen dieses Lehrplans als [Lernpfad](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) bei Microsoft Learn absolvieren! -Indem sichergestellt wird, dass die Inhalte auf Projekte abgestimmt sind, wird der Prozess für die Lernenden spannender und die Behaltensrate der Konzepte verbessert. Wir haben auch mehrere Einstiegskapitel zu den Grundlagen von JavaScript geschrieben und mit Videos aus der Tutorial-Reihe "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" kombiniert – einige der Autoren haben zu diesem Curriculum beigetragen. +Durch die Ausrichtung der Inhalte an Projekten wird der Prozess für die Lernenden ansprechender gestaltet und das Behalten der Konzepte verbessert. Wir haben auch mehrere Einstiegslektionen zu den Grundlagen von JavaScript geschrieben, um Konzepte vorzustellen, begleitet von einem Video aus der "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" Video-Tutorial-Sammlung, zu dessen Autoren einige zum Lehrplan beigetragen haben. -Darüber hinaus setzt ein niedrigschwelliges Quiz vor der Lektion die Lernabsicht der Studierenden, während ein weiteres Quiz danach die Behaltensrate sicherstellt. Das Curriculum wurde so konzipiert, dass es flexibel und unterhaltsam ist und sowohl vollständig als auch teilweise absolviert werden kann. Die Projekte starten klein und werden im Verlauf des 12-Wochen-Zyklus zunehmend komplexer. +Zudem setzt ein niedrigschwelliges Quiz vor der Lektion die Lernabsicht der Teilnehmer und ein zweites Quiz nach der Lektion sorgt für vertiefte Behaltensleistung. Dieser Lehrplan wurde so gestaltet, dass er flexibel und unterhaltsam ist und ganz oder teilweise absolviert werden kann. Die Projekte beginnen klein und werden bis zum Ende des 12-Wochen-Zyklus zunehmend komplexer. -Während wir bewusst darauf verzichtet haben, JavaScript-Frameworks einzuführen, um uns auf die grundlegenden Fähigkeiten eines Webentwicklers vor der Anwendung eines Frameworks zu konzentrieren, wäre ein guter nächster Schritt nach Abschluss dieses Curriculums das Erlernen von Node.js anhand einer weiteren Videoserie: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +Während wir bewusst darauf verzichtet haben, JavaScript-Frameworks einzuführen, um die grundlegenden Fähigkeiten als Webentwickler vor der Einführung eines Frameworks zu vermitteln, wäre ein guter nächster Schritt nach Abschluss dieses Lehrplans das Lernen über Node.js mittels einer weiteren Videosammlung: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> Besuche unsere [Verhaltensregeln](CODE_OF_CONDUCT.md) und [Beitragsrichtlinien](CONTRIBUTING.md). Wir freuen uns über dein konstruktives Feedback! +> Besuchen Sie unsere [Verhaltensrichtlinien](CODE_OF_CONDUCT.md) und [Beitragsrichtlinien](CONTRIBUTING.md). Wir freuen uns über Ihr konstruktives Feedback! ## 🧭 Offline-Zugriff -Du kannst diese Dokumentation offline mit [Docsify](https://docsify.js.org/#/) verwenden. Forke dieses Repo, [installiere Docsify](https://docsify.js.org/#/quickstart) auf deinem lokalen Rechner und gib dann im Stammordner dieses Repos `docsify serve` ein. Die Website wird auf Port 3000 auf deinem localhost ausgeführt: `localhost:3000`. +Sie können diese Dokumentation offline mit [Docsify](https://docsify.js.org/#/) ausführen. Forken Sie dieses Repository, [installieren Sie Docsify](https://docsify.js.org/#/quickstart) auf Ihrem lokalen Rechner und geben Sie dann im Stammverzeichnis dieses Repos `docsify serve` ein. Die Website wird lokal auf Port 3000 bereitgestellt: `localhost:3000`. ## 📘 PDF -Eine PDF mit allen Lektionen ist [hier](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf) zu finden. +Ein PDF aller Lektionen kann [hier](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf) gefunden werden. ## 🎒 Andere Kurse @@ -220,61 +220,61 @@ Unser Team produziert weitere Kurse! Schau dir an: ### LangChain -[![LangChain4j für Anfänger](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) -[![LangChain.js für Anfänger](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) -[![LangChain für Anfänger](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) +[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) --- -### Azure / Edge / MCP / Agenten -[![AZD für Anfänger](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Edge AI für Anfänger](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) -[![MCP für Anfänger](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) -[![KI-Agenten für Anfänger](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) +### Azure / Edge / MCP / Agents +[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) +[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) --- -### Generative KI-Serie -[![Generative KI für Anfänger](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Generative KI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) -[![Generative KI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) -[![Generative KI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) +### Generative AI Serie +[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) +[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) +[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) --- ### Kernlernen -[![ML für Anfänger](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) -[![Datenwissenschaft für Anfänger](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) -[![KI für Anfänger](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) -[![Cybersicherheit für Anfänger](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) -[![Webentwicklung für Anfänger](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) -[![IoT für Anfänger](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) -[![XR-Entwicklung für Anfänger](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) +[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) +[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) +[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) +[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) +[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) +[![IoT for Beginners](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) +[![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) --- -### Copilot-Serie -[![Copilot für KI-Paired-Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) -[![Copilot für C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) -[![Copilot-Abenteuer](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) +### Copilot Serie +[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) +[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) +[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) ## Hilfe erhalten -Wenn du festhängst oder Fragen zum Erstellen von KI-Anwendungen hast: Trete anderen Lernenden und erfahrenen Entwicklern in den Diskussionen über MCP bei. Es ist eine unterstützende Community, in der Fragen willkommen sind und Wissen frei geteilt wird. +Wenn du feststeckst oder Fragen zum Erstellen von KI-Apps hast. Tritt mit anderen Lernenden und erfahrenen Entwicklern in Diskussionen über MCP ein. Es ist eine unterstützende Gemeinschaft, in der Fragen willkommen sind und Wissen frei geteilt wird. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Wenn du Produktfeedback hast oder beim Bauen auf Fehler stößt, besuche: +Wenn du Produktfeedback oder Fehler beim Erstellen hast, besuche: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) ## Lizenz -Dieses Repository ist unter der MIT-Lizenz lizenziert. Siehe die [LICENSE](../../LICENSE) Datei für weitere Informationen. +Dieses Repository ist unter der MIT-Lizenz lizenziert. Siehe die [LICENSE](../../LICENSE)-Datei für weitere Informationen. --- **Haftungsausschluss**: -Dieses Dokument wurde mithilfe des KI-Übersetzungsdienstes [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir um Genauigkeit bemüht sind, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache gilt als maßgebliche Quelle. Für wichtige Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Nutzung dieser Übersetzung entstehen. +Dieses Dokument wurde mithilfe des KI-Übersetzungsdienstes [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir auf Genauigkeit achten, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache ist als maßgebliche Quelle zu betrachten. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Verwendung dieser Übersetzung entstehen. \ No newline at end of file diff --git a/translations/el/.co-op-translator.json b/translations/el/.co-op-translator.json index c91649296f..02fb163570 100644 --- a/translations/el/.co-op-translator.json +++ b/translations/el/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T18:35:16+00:00", + "translation_date": "2026-04-06T18:36:30+00:00", "source_file": "AGENTS.md", "language_code": "el" }, @@ -516,8 +516,8 @@ "language_code": "el" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T12:00:55+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T18:31:49+00:00", "source_file": "README.md", "language_code": "el" }, diff --git a/translations/el/AGENTS.md b/translations/el/AGENTS.md index 83c9252d21..a6e2a8025c 100644 --- a/translations/el/AGENTS.md +++ b/translations/el/AGENTS.md @@ -2,27 +2,27 @@ ## Επισκόπηση Έργου -Αυτό είναι ένα εκπαιδευτικό αποθετήριο προγράμματος σπουδών για τη διδασκαλία των βασικών αρχών ανάπτυξης ιστοσελίδων σε αρχάριους. Το πρόγραμμα σπουδών είναι ένα ολοκληρωμένο 12-εβδομάδων μάθημα που αναπτύχθηκε από τους Microsoft Cloud Advocates, περιλαμβάνοντας 24 πρακτικά μαθήματα που καλύπτουν JavaScript, CSS και HTML. +Αυτό είναι ένα αποθετήριο εκπαιδευτικού προγράμματος για τη διδασκαλία των βασικών της ανάπτυξης ιστοσελίδων σε αρχάριους. Το πρόγραμμα αποτελείται από ένα ολοκληρωμένο μάθημα 12 εβδομάδων που έχει αναπτυχθεί από τους Microsoft Cloud Advocates, με 24 πρακτικά μαθήματα που καλύπτουν JavaScript, CSS και HTML. -### Βασικά Στοιχεία +### Κύρια Στοιχεία -- **Εκπαιδευτικό Περιεχόμενο**: 24 οργανωμένα μαθήματα σε μονάδες βάση έργων -- **Πρακτικά Έργα**: Terrarium, Παιχνίδι Πληκτρολόγησης, Επέκταση Περιηγητή, Παιχνίδι Διαστήματος, Τραπεζική Εφαρμογή, Επεξεργαστής Κώδικα και Βοηθός AI Chat -- **Διαδραστικά Κουίζ**: 48 κουίζ με 3 ερωτήσεις το καθένα (αξιολογήσεις πριν/μετά το μάθημα) -- **Υποστήριξη Πολυγλωσσικότητας**: Αυτόματες μεταφράσεις για 50+ γλώσσες μέσω GitHub Actions -- **Τεχνολογίες**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (για έργα AI) +- **Εκπαιδευτικό Περιεχόμενο**: 24 δομημένα μαθήματα οργανωμένα σε μονάδες με έμφαση σε έργα +- **Πρακτικά Έργα**: Terrarium, Παιχνίδι Πληκτρολόγησης, Επέκταση Περιηγητή, Παιχνίδι Διαστήματος, Εφαρμογή Τράπεζας, Επεξεργαστής Κώδικα και Βοηθός Συνομιλίας AI +- **Διαδραστικά Κουίζ**: 48 κουίζ με 3 ερωτήσεις το καθένα (εκτιμήσεις πριν/μετά το μάθημα) +- **Υποστήριξη Πολλών Γλωσσών**: Αυτόματες μεταφράσεις για πάνω από 50 γλώσσες μέσω GitHub Actions +- **Τεχνολογίες**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (για έργα AI) ### Αρχιτεκτονική -- Εκπαιδευτικό αποθετήριο με δομή βάσει μαθημάτων -- Κάθε φάκελος μαθήματος περιέχει README, παραδείγματα κώδικα και λύσεις -- Αυτόνομα έργα σε ξεχωριστούς καταλόγους (quiz-app, διάφορα έργα μαθημάτων) -- Σύστημα μετάφρασης με χρήση GitHub Actions (co-op-translator) -- Τεκμηρίωση που σερβίρεται μέσω Docsify και είναι διαθέσιμη ως PDF +- Εκπαιδευτικό αποθετήριο με δομή βασισμένη στα μαθήματα +- Κάθε φάκελος μαθήματος περιέχει README, παραδείγματα κώδικα και λύσεις +- Αυτόνομα έργα σε ξεχωριστούς φακέλους (quiz-app, διάφορα έργα μαθημάτων) +- Σύστημα μετάφρασης με χρήση GitHub Actions (co-op-translator) +- Τεκμηρίωση διαθέσιμη μέσω Docsify και ως PDF -## Εντολές Εγκατάστασης +## Εντολές Ρύθμισης -Αυτό το αποθετήριο έχει κυρίως σκοπό την κατανάλωση εκπαιδευτικού περιεχομένου. Για εργασία με συγκεκριμένα έργα: +Αυτό το αποθετήριο είναι κυρίως για την κατανάλωση εκπαιδευτικού περιεχομένου. Για εργασία με συγκεκριμένα έργα: ### Ρύθμιση Κύριου Αποθετηρίου @@ -30,18 +30,18 @@ git clone https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners ``` - + ### Ρύθμιση Quiz App (Vue 3 + Vite) ```bash cd quiz-app npm install -npm run dev # Εκκίνηση διακομιστή ανάπτυξης +npm run dev # Ξεκινήστε το διακομιστή ανάπτυξης npm run build # Δημιουργία για παραγωγή npm run lint # Εκτέλεση ESLint ``` - -### Bank Project API (Node.js + Express) + +### API Έργου Τράπεζας (Node.js + Express) ```bash cd 7-bank-project/api @@ -50,15 +50,15 @@ npm start # Εκκίνηση διακομιστή API npm run lint # Εκτέλεση ESLint npm run format # Μορφοποίηση με Prettier ``` - + ### Έργα Επέκτασης Περιηγητή ```bash cd 5-browser-extension/solution npm install -# Ακολουθήστε τις οδηγίες φόρτωσης επεκτάσεων συγκεκριμένες για τον περιηγητή +# Ακολουθήστε τις οδηγίες φόρτωσης επεκτάσεων ειδικές για τον περιηγητή ``` - + ### Έργα Παιχνιδιού Διαστήματος ```bash @@ -66,43 +66,43 @@ cd 6-space-game/solution npm install # Ανοίξτε το index.html σε πρόγραμμα περιήγησης ή χρησιμοποιήστε Live Server ``` - -### Έργο Chat (Python Backend) + +### Έργο Συνομιλίας (Python Backend) ```bash cd 9-chat-project/solution/backend/python pip install openai -# Ορισμός μεταβλητής περιβάλλοντος GITHUB_TOKEN +# Ορίστε τη μεταβλητή περιβάλλοντος GITHUB_TOKEN python api.py ``` - + ## Ροή Ανάπτυξης -### Για Συμβολή στο Περιεχόμενο +### Για Συνεργάτες Περιεχομένου -1. **Κάντε fork το αποθετήριο** στο λογαριασμό σας στο GitHub -2. **Κατεβάστε το fork τοπικά** -3. **Δημιουργήστε νέο κλάδο** για τις αλλαγές σας -4. Κάντε αλλαγές στο περιεχόμενο των μαθημάτων ή στα παραδείγματα κώδικα -5. Δοκιμάστε οποιεσδήποτε αλλαγές κώδικα στους αντίστοιχους καταλόγους έργων -6. Υποβάλετε pull requests σύμφωνα με τις οδηγίες συμβολής +1. **Διακλάδωση (Fork)** του αποθετηρίου στο GitHub σας +2. **Κλωνοποίηση (Clone)** του fork τοπικά +3. **Δημιουργία νέου κλάδου** για τις αλλαγές σας +4. Κάντε αλλαγές στο περιεχόμενο μαθημάτων ή στα παραδείγματα κώδικα +5. Δοκιμάστε τις αλλαγές κώδικα στους σχετικούς φακέλους έργων +6. Υποβάλετε ζητήματα συγχώνευσης (pull requests) ακολουθώντας τις οδηγίες συμβολής ### Για Μαθητές -1. Κάντε fork ή clone το αποθετήριο -2. Πλοηγηθείτε στους καταλόγους μαθημάτων διαδοχικά -3. Διαβάστε τα αρχεία README για κάθε μάθημα -4. Ολοκληρώστε τα κουίζ πριν το μάθημα στη διεύθυνση https://ff-quizzes.netlify.app/web/ -5. Εργαστείτε στα παραδείγματα κώδικα στους φακέλους μαθημάτων -6. Ολοκληρώστε εργασίες και προκλήσεις -7. Πραγματοποιήστε τα κουίζ μετά το μάθημα +1. Διακλάδωση ή κλωνοποίηση του αποθετηρίου +2. Πλοηγηθείτε στους φακέλους μαθημάτων με σειρά +3. Διαβάστε τα αρχεία README κάθε μαθήματος +4. Ολοκληρώστε τα κουίζ πριν το μάθημα στη διεύθυνση https://ff-quizzes.netlify.app/web/ +5. Εργαστείτε στα παραδείγματα κώδικα στους φακέλους μαθημάτων +6. Ολοκληρώστε εργασίες και προκλήσεις +7. Κάντε τα κουίζ μετά το μάθημα ### Ζωντανή Ανάπτυξη -- **Τεκμηρίωση**: Εκτελέστε `docsify serve` στην ρίζα (πορτ 3000) -- **Quiz App**: Εκτελέστε `npm run dev` στον κατάλογο quiz-app -- **Έργα**: Χρησιμοποιήστε την επέκταση VS Code Live Server για έργα HTML -- **API Έργα**: Εκτελέστε `npm start` στους αντίστοιχους καταλόγους API +- **Τεκμηρίωση**: Εκτελέστε `docsify serve` στο ριζικό φάκελο (θύρα 3000) +- **Quiz App**: Εκτελέστε `npm run dev` στον φάκελο quiz-app +- **Έργα**: Χρησιμοποιήστε την επέκταση Live Server του VS Code για έργα HTML +- **API Έργα**: Εκτελέστε `npm start` στους αντίστοιχους φακέλους API ## Οδηγίες Δοκιμών @@ -110,173 +110,173 @@ python api.py ```bash cd quiz-app -npm run lint # Έλεγχος για προβλήματα στυλ κώδικα -npm run build # Επαλήθευση επιτυχίας κατασκευής +npm run lint # Ελέγξτε για προβλήματα στυλ κώδικα +npm run build # Επαληθεύστε ότι η κατασκευή ολοκληρώνεται με επιτυχία ``` - -### Δοκιμές Bank API + +### Δοκιμές API Τράπεζας ```bash cd 7-bank-project/api -npm run lint # Έλεγχος για προβλήματα στο στυλ κώδικα -node server.js # Επαλήθευση ότι ο διακομιστής ξεκινά χωρίς σφάλματα +npm run lint # Ελέγξτε για προβλήματα στυλ κώδικα +node server.js # Επαληθεύστε ότι ο διακομιστής ξεκινά χωρίς σφάλματα ``` - + ### Γενική Προσέγγιση Δοκιμών -- Αυτό είναι εκπαιδευτικό αποθετήριο χωρίς ολοκληρωμένες αυτοματοποιημένες δοκιμές -- Οι χειροκίνητες δοκιμές επικεντρώνονται σε: - - Εκτέλεση παραδειγμάτων κώδικα χωρίς σφάλματα - - Επαλήθευση συνδέσμων στην τεκμηρίωση - - Επιτυχής ολοκλήρωση κατασκευών έργων - - Παραδείγματα που ακολουθούν βέλτιστες πρακτικές +- Πρόκειται για εκπαιδευτικό αποθετήριο χωρίς πλήρεις αυτοματοποιημένες δοκιμές +- Η χειροκίνητη δοκιμή εστιάζει σε: + - Εκτέλεση παραδειγμάτων χωρίς σφάλματα + - Οι σύνδεσμοι στην τεκμηρίωση λειτουργούν σωστά + - Οι διαδικασίες κατασκευής έργων ολοκληρώνονται επιτυχώς + - Τα παραδείγματα ακολουθούν βέλτιστες πρακτικές ### Έλεγχοι Πριν την Υποβολή -- Εκτέλεση `npm run lint` σε καταλόγους με package.json -- Επαλήθευση εγκυρότητας συνδέσμων markdown -- Δοκιμή παραδειγμάτων κώδικα σε περιηγητή ή Node.js -- Έλεγχος ότι οι μεταφράσεις διατηρούν τη σωστή δομή +- Εκτελέστε `npm run lint` σε φακέλους με package.json +- Επαληθεύστε ότι οι σύνδεσμοι markdown είναι έγκυροι +- Δοκιμάστε τα παραδείγματα κώδικα στον περιηγητή ή Node.js +- Ελέγξτε ότι οι μεταφράσεις διατηρούν τη σωστή δομή ## Οδηγίες Στυλ Κώδικα ### JavaScript -- Χρήση σύγχρονης σύνταξης ES6+ -- Τήρηση των τυπικών ρυθμίσεων ESLint που παρέχονται στα έργα -- Χρήση νοήμονων ονομάτων μεταβλητών και συναρτήσεων για παιδαγωγική σαφήνεια -- Προσθήκη σχολίων που εξηγούν τις έννοιες στους μαθητές -- Μορφοποίηση με Prettier όπου έχει ρυθμιστεί +- Χρήση σύγχρονης σύνταξης ES6+ +- Ακολουθήστε τις τυπικές ρυθμίσεις ESLint που παρέχονται στα έργα +- Χρησιμοποιήστε ουσιαστικά ονόματα μεταβλητών και συναρτήσεων για εκπαιδευτική σαφήνεια +- Προσθέστε σχόλια που εξηγούν έννοιες για τους μαθητές +- Μορφοποιήστε με Prettier όπου έχει ρυθμιστεί ### HTML/CSS -- Σημασιολογικά στοιχεία HTML5 -- Αρχές σχεδιασμού για ανταποκρισιμότητα (responsive design) -- Καθαρή ονοματολογία κλάσεων -- Σχόλια που εξηγούν τεχνικές CSS για τους μαθητές +- Σημαντικά στοιχεία HTML5 +- Αρχές σχεδίασης για ευέλικτο σχεδιασμό (responsive) +- Καθαρούς κανόνες ονοματοδοσίας κλάσεων +- Σχόλια που εξηγούν τις τεχνικές CSS για εκπαιδευτικούς σκοπούς ### Python -- Κατευθυντήριες γραμμές στυλ PEP 8 -- Καθαρά, εκπαιδευτικά παραδείγματα κώδικα -- Χρήση τύπων όπου βοηθά στη μάθηση +- Οδηγίες στυλ PEP 8 +- Καθαρά, εκπαιδευτικά παραδείγματα κώδικα +- Τύποι (type hints) όπου είναι χρήσιμο για τη μάθηση ### Τεκμηρίωση Markdown -- Σαφής ιεραρχία επικεφαλίδων -- Μπλοκ κώδικα με καθορισμό γλώσσας -- Σύνδεσμοι προς επιπλέον πηγές -- Στιγμιότυπα οθόνης και εικόνες στους καταλόγους `images/` -- Alt κείμενο για εικόνες για πρόσβαση +- Σαφής ιεραρχία επικεφαλίδων +- Μπλοκ κώδικα με καθορισμένη γλώσσα +- Συνδέσμους σε επιπλέον πόρους +- Στιγμιότυπα και εικόνες στους φακέλους `images/` +- Εναλλακτικό κείμενο (alt text) για πρόσβαση ### Οργάνωση Αρχείων -- Μαθήματα αριθμημένα διαδοχικά (1-getting-started-lessons, 2-js-basics, κλπ.) -- Κάθε έργο έχει καταλόγους `solution/` και συχνά `start/` ή `your-work/` -- Οι εικόνες φυλάσσονται σε φακέλους `images/` ανά μάθημα -- Οι μεταφράσεις βρίσκονται σε δομή `translations/{language-code}/` +- Τα μαθήματα αριθμούνται διαδοχικά (1-getting-started-lessons, 2-js-basics, κ.λπ.) +- Κάθε έργο έχει φακέλους `solution/` και συχνά `start/` ή `your-work/` +- Εικόνες αποθηκεύονται σε φακέλους `images/` ανά μάθημα +- Μεταφράσεις σε δομή `translations/{language-code}/` ## Κατασκευή και Ανάπτυξη ### Ανάπτυξη Quiz App (Azure Static Web Apps) -Το quiz-app είναι ρυθμισμένο για ανάπτυξη σε Azure Static Web Apps: +Η εφαρμογή quiz-app είναι διαμορφωμένη για ανάπτυξη σε Azure Static Web Apps: ```bash cd quiz-app npm run build # Δημιουργεί τον φάκελο dist/ -# Κάνει ανάπτυξη μέσω της ροής εργασίας GitHub Actions κατά την ώθηση στο main +# Αναπτύσσει μέσω ροής εργασίας GitHub Actions κατά την αποστολή στον κλάδο main ``` - -Ρυθμίσεις Azure Static Web Apps: -- **Τοποθεσία εφαρμογής**: `/quiz-app` -- **Τοποθεσία εξόδου**: `dist` -- **Ροή εργασίας**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` + +Διαμόρφωση Azure Static Web Apps: +- **Τοποθεσία εφαρμογής**: `/quiz-app` +- **Τοποθεσία εξόδου**: `dist` +- **Ροή εργασίας**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` ### Δημιουργία PDF Τεκμηρίωσης ```bash -npm install # Εγκαταστήστε το docsify-to-pdf -npm run convert # Δημιουργήστε PDF από docs +npm install # Εγκατάσταση docsify-to-pdf +npm run convert # Δημιουργία PDF από docs ``` - + ### Τεκμηρίωση Docsify ```bash npm install -g docsify-cli # Εγκαταστήστε το Docsify παγκοσμίως -docsify serve # Εξυπηρετήστε στο localhost:3000 +docsify serve # Υπηρετήστε στο localhost:3000 ``` - + ### Κατασκευές ανά Έργο -Κάθε κατάλογος έργου μπορεί να έχει δική του διαδικασία κατασκευής: -- Έργα Vue: `npm run build` δημιουργεί παραγωγικά πακέτα -- Στατικά έργα: Δεν υπάρχει βήμα κατασκευής, τα αρχεία σερβίρονται άμεσα +Κάθε φάκελος έργου μπορεί να έχει τη δική του διαδικασία κατασκευής: +- Vue έργα: `npm run build` δημιουργεί bundles παραγωγής +- Στατικά έργα: Δεν απαιτείται βήμα κατασκευής, εξυπηρετούνται απευθείας τα αρχεία ## Οδηγίες Pull Request ### Μορφή Τίτλου -Χρησιμοποιήστε σαφείς, περιγραφικούς τίτλους που υποδεικνύουν την περιοχή αλλαγής: -- `[Quiz-app] Προσθήκη νέου κουίζ για το μάθημα X` -- `[Lesson-3] Διόρθωση τυπογραφικού λάθους στο έργο terrarium` -- `[Translation] Προσθήκη Ισπανικής μετάφρασης για το μάθημα 5` -- `[Docs] Ενημέρωση οδηγιών ρύθμισης` +Χρησιμοποιήστε σαφείς, περιγραφικούς τίτλους που υποδεικνύουν την περιοχή αλλαγής: +- `[Quiz-app] Προσθήκη νέου κουίζ για μάθημα X` +- `[Lesson-3] Διόρθωση τυπογραφικού λάθους στο έργο terrarium` +- `[Translation] Προσθήκη ισπανικής μετάφρασης για μάθημα 5` +- `[Docs] Ενημέρωση οδηγιών ρύθμισης` -### Απαραίτητοι Έλεγχοι +### Απαιτούμενοι Έλεγχοι -Πριν την υποβολή PR: +Πριν την υποβολή PR: -1. **Ποιότητα Κώδικα**: - - Εκτέλεση `npm run lint` στους αντίστοιχους καταλόγους έργων - - Διόρθωση όλων των σφαλμάτων και προειδοποιήσεων lint +1. **Ποιότητα Κώδικα**: + - Εκτελέστε `npm run lint` στους επηρεασμένους φακέλους έργων + - Διορθώστε όλα τα σφάλματα και προειδοποιήσεις lint -2. **Επαλήθευση Κατασκευής**: - - Εκτέλεση `npm run build` αν απαιτείται - - Εξασφάλιση μη ύπαρξης σφαλμάτων κατασκευής +2. **Επαλήθευση Κατασκευής**: + - Εκτελέστε `npm run build` αν ισχύει + - Βεβαιωθείτε ότι δεν υπάρχουν σφάλματα κατασκευής -3. **Επικύρωση Συνδέσμων**: - - Δοκιμή όλων των συνδέσμων markdown - - Επαλήθευση λειτουργίας εικόνων +3. **Επαλήθευση Συνδέσμων**: + - Δοκιμάστε όλους τους συνδέσμους markdown + - Επαληθεύστε ότι οι αναφορές εικόνων λειτουργούν -4. **Ανασκόπηση Περιεχομένου**: - - Διόρθωση ορθογραφίας και γραμματικής - - Επιβεβαίωση ορθότητας και εκπαιδευτικής αξίας παραδειγμάτων κώδικα - - Επαλήθευση ότι οι μεταφράσεις διατηρούν το αρχικό νόημα +4. **Ανασκόπηση Περιεχομένου**: + - Διορθώστε ορθογραφία και γραμματική + - Βεβαιωθείτε ότι τα παραδείγματα κώδικα είναι σωστά και εκπαιδευτικά + - Επαληθεύστε ότι οι μεταφράσεις διατηρούν την αρχική έννοια ### Απαιτήσεις Συμβολής -- Συμφωνία με το Microsoft CLA (αυτοματοποιημένος έλεγχος στο πρώτο PR) -- Τήρηση του [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) -- Δείτε το [CONTRIBUTING.md](./CONTRIBUTING.md) για λεπτομερείς οδηγίες -- Αναφορά αριθμών θεμάτων (issues) στην περιγραφή PR αν ισχύει +- Αποδοχή Microsoft CLA (αυτόματος έλεγχος στο πρώτο PR) +- Ακολουθήστε τον [Κώδικα Συμπεριφοράς Ανοικτού Κώδικα Microsoft](https://opensource.microsoft.com/codeofconduct/) +- Δείτε το [CONTRIBUTING.md](./CONTRIBUTING.md) για λεπτομερείς οδηγίες +- Αναφέρετε αριθμούς ζητημάτων στη περιγραφή PR, εφόσον εφαρμόζεται -### Διαδικασία Ανασκόπησης +### Διαδικασία Αναθεώρησης -- Τα PR εξετάζονται από διαχειριστές και κοινότητα -- Η παιδαγωγική σαφήνεια έχει προτεραιότητα -- Τα παραδείγματα κώδικα πρέπει να ακολουθούν τις τρέχουσες βέλτιστες πρακτικές -- Οι μεταφράσεις ελέγχονται για ακρίβεια και πολιτισμική καταλληλότητα +- Τα PR αναθεωρούνται από διαχειριστές και κοινότητα +- Προτεραιότητα στην εκπαιδευτική σαφήνεια +- Τα παραδείγματα κώδικα πρέπει να ακολουθούν τις τρέχουσες βέλτιστες πρακτικές +- Οι μεταφράσεις ελέγχονται για ακρίβεια και πολιτιστική καταλληλότητα ## Σύστημα Μετάφρασης ### Αυτόματη Μετάφραση -- Χρησιμοποιεί GitHub Actions με ροή εργασίας co-op-translator -- Μεταφράζει σε 50+ γλώσσες αυτόματα -- Αρχεία πηγής στους κύριους καταλόγους -- Μεταφρασμένα αρχεία σε `translations/{language-code}/` +- Χρήση GitHub Actions με ροή εργασίας co-op-translator +- Μετάφραση σε πάνω από 50 γλώσσες αυτόματα +- Αρχεία πηγής στους κύριους φακέλους +- Μεταφρασμένα αρχεία σε `translations/{language-code}/` -### Προσθήκη Χειροκίνητων Βελτιώσεων Μετάφρασης +### Προσθήκη Χειροκίνητων Βελτιώσεων -1. Εντοπίστε αρχείο στο `translations/{language-code}/` -2. Κάντε βελτιώσεις διατηρώντας τη δομή -3. Εξασφαλίστε ότι τα παραδείγματα κώδικα παραμένουν λειτουργικά -4. Δοκιμάστε τυχόν τοπικοποιημένο περιεχόμενο κουίζ +1. Βρείτε το αρχείο σε `translations/{language-code}/` +2. Κάντε βελτιώσεις διατηρώντας τη δομή +3. Εξασφαλίστε ότι τα παραδείγματα κώδικα παραμένουν λειτουργικά +4. Δοκιμάστε το τοπικό κουίζ αν υπάρχει ### Μεταδεδομένα Μετάφρασης -Τα μεταφρασμένα αρχεία περιλαμβάνουν επικεφαλίδα μεταδεδομένων: +Τα μεταφρασμένα αρχεία περιλαμβάνουν κεφαλίδα μεταδεδομένων: ```markdown ``` - -## Αποσφαλμάτωση και Επίλυση Προβλημάτων + +## Αντιμετώπιση Σφαλμάτων και Επίλυση Προβλημάτων ### Συνηθισμένα Προβλήματα -**Αποτυχία εκκίνησης quiz app**: -- Ελέγξτε την έκδοση Node.js (προτείνεται v14+) -- Διαγράψτε `node_modules` και `package-lock.json`, τρέξτε `npm install` ξανά -- Ελέγξτε για συγκρούσεις θυρών (κανονικά: Vite χρησιμοποιεί πόρτ 5173) +**Το quiz app δεν ξεκινά**: +- Ελέγξτε την έκδοση Node.js (συνιστάται v14+) +- Διαγράψτε τους φακέλους `node_modules` και το αρχείο `package-lock.json`, εκτελέστε ξανά `npm install` +- Ελέγξτε για συγκρούσεις θυρών (ο προεπιλεγμένος Vite χρησιμοποιεί θύρα 5173) -**Ο διακομιστής API δεν ξεκινά**: -- Επιβεβαιώστε ότι η έκδοση Node.js είναι >=10 -- Ελέγξτε αν η θύρα είναι ήδη σε χρήση -- Βεβαιωθείτε ότι έχουν εγκατασταθεί όλες οι εξαρτήσεις με `npm install` +**Ο server του API δεν ξεκινά**: +- Βεβαιωθείτε ότι η έκδοση Node.js είναι >=10 +- Ελέγξτε αν θύρα είναι ήδη σε χρήση +- Εξασφαλίστε ότι όλες οι εξαρτήσεις έχουν εγκατασταθεί με `npm install` -**Η επέκταση περιηγητή δεν φορτώνει**: -- Επιβεβαιώστε ότι το manifest.json είναι σωστά διαμορφωμένο -- Ελέγξτε το κονσόλα περιηγητή για σφάλματα -- Ακολουθήστε τις οδηγίες εγκατάστασης ειδικά για τον περιηγητή +**Η επέκταση περιηγητή δεν φορτώνει**: +- Βεβαιωθείτε ότι το manifest.json είναι σωστά διαμορφωμένο +- Ελέγξτε την κονσόλα του περιηγητή για σφάλματα +- Ακολουθήστε τις οδηγίες εγκατάστασης για επεκτάσεις συγκεκριμένου περιηγητή -**Προβλήματα έργου chat Python**: -- Βεβαιωθείτε ότι είναι εγκατεστημένο το πακέτο OpenAI: `pip install openai` -- Επιβεβαιώστε ότι η μεταβλητή περιβάλλοντος GITHUB_TOKEN έχει ρυθμιστεί -- Ελέγξτε τα δικαιώματα πρόσβασης στα GitHub Models +**Προβλήματα στο έργο συνομιλίας Python**: +- Εγκαταστήστε το πακέτο OpenAI: `pip install openai` +- Βεβαιωθείτε ότι το περιβάλλον μεταβλητής GITHUB_TOKEN είναι ρυθμισμένο +- Ελέγξτε τα δικαιώματα πρόσβασης στα GitHub Models -**Docsify δεν σερβίρει τα έγγραφα**: -- Εγκαταστήστε το docsify-cli παγκοσμίως: `npm install -g docsify-cli` -- Τρέξτε από τον κατάλογο ρίζας του αποθετηρίου -- Ελέγξτε ότι το αρχείο `docs/_sidebar.md` υπάρχει +**Το Docsify δεν εξυπηρετεί τεκμηρίωση**: +- Εγκαταστήστε το docsify-cli παγκοσμίως: `npm install -g docsify-cli` +- Εκτελέστε από το ριζικό φάκελο του αποθετηρίου +- Βεβαιωθείτε ότι το αρχείο `docs/_sidebar.md` υπάρχει ### Συμβουλές Περιβάλλοντος Ανάπτυξης -- Χρησιμοποιήστε το VS Code με το extension Live Server για έργα HTML -- Εγκαταστήστε τα extensions ESLint και Prettier για συνεπή μορφοποίηση -- Χρησιμοποιήστε τα DevTools του περιηγητή για αποσφαλμάτωση JavaScript -- Για έργα Vue, εγκαταστήστε το Vue DevTools extension για περιηγητή +- Χρησιμοποιήστε VS Code με την επέκταση Live Server για έργα HTML +- Εγκαταστήστε τις επεκτάσεις ESLint και Prettier για συνεπή μορφοποίηση +- Χρησιμοποιήστε τα εργαλεία ανάπτυξης του περιηγητή για αποσφαλμάτωση JavaScript +- Για έργα Vue, εγκαταστήστε την επέκταση Vue DevTools στον περιηγητή ### Θέματα Απόδοσης -- Μεγάλος αριθμός μεταφρασμένων αρχείων (50+ γλώσσες) σημαίνει μεγάλα πλήρη αντίγραφα -- Χρησιμοποιήστε shallow clone αν δουλεύετε μόνο με περιεχόμενο: `git clone --depth 1` -- Αποκλείστε τις μεταφράσεις από τις αναζητήσεις όταν εργάζεστε μόνο με αγγλικό περιεχόμενο -- Οι διαδικασίες κατασκευής μπορεί να είναι αργές σε πρώτη εκτέλεση (npm install, Vite build) +- Ο μεγάλος αριθμός μεταφρασμένων αρχείων (πάνω από 50 γλώσσες) καθιστά τους πλήρεις κλώνους μεγάλους +- Χρησιμοποιήστε shallow clone αν εργάζεστε μόνο με περιεχόμενο: `git clone --depth 1` +- Αποφύγετε τη συμπερίληψη μεταφράσεων σε αναζητήσεις όταν εργάζεστε σε αγγλικό περιεχόμενο +- Οι διαδικασίες κατασκευής μπορεί να είναι αργές στην πρώτη εκτέλεση (npm install, Vite build) ## Θέματα Ασφαλείας -### Μεταβλητές Περιβάλλοντος +### Περιβάλλον Μεταβλητών -- Τα κλειδιά API δεν πρέπει ποτέ να δεσμεύονται στο αποθετήριο -- Χρησιμοποιήστε αρχεία `.env` (ήδη στο `.gitignore`) -- Τεκμηριώστε τις απαιτούμενες μεταβλητές περιβάλλοντος στα README των έργων +- Τα κλειδιά API δεν πρέπει ποτέ να δεσμεύονται στο αποθετήριο +- Χρησιμοποιήστε αρχεία `.env` (ήδη στο `.gitignore`) +- Τεκμηριώστε τις απαιτούμενες περιβαλλοντικές μεταβλητές στα README των έργων ### Έργα Python -- Χρησιμοποιήστε εικονικά περιβάλλοντα: `python -m venv venv` -- Κρατήστε τις εξαρτήσεις ενημερωμένες -- Τα tokens GitHub πρέπει να έχουν τα ελάχιστα απαιτούμενα δικαιώματα +- Χρησιμοποιήστε εικονικά περιβάλλοντα: `python -m venv venv` +- Κρατήστε τις εξαρτήσεις ενημερωμένες +- Τα tokens GitHub πρέπει να έχουν ελάχιστα απαιτούμενα δικαιώματα ### Πρόσβαση στα GitHub Models -- Απαιτούνται Personal Access Tokens (PAT) για τα GitHub Models -- Τα tokens πρέπει να αποθηκεύονται ως μεταβλητές περιβάλλοντος -- Μην δεσμεύετε ποτέ tokens ή διαπιστευτήρια +- Απαιτούνται Personal Access Tokens (PAT) +- Τα tokens πρέπει να αποθηκεύονται ως περιβάλλον μεταβλητές +- Ποτέ μην δεσμεύετε tokens ή διαπιστευτήρια ## Πρόσθετες Σημειώσεις -### Στοχευόμενο Κοινό +### Στοχευμένο Κοινό -- Απόλυτοι αρχάριοι στην ανάπτυξη ιστοσελίδων -- Φοιτητές και αυτοδίδακτοι -- Δάσκαλοι που χρησιμοποιούν το πρόγραμμα σπουδών σε τάξεις -- Το περιεχόμενο έχει σχεδιαστεί για προσβασιμότητα και βαθμιαία ανάπτυξη δεξιοτήτων +- Απόλυτοι αρχάριοι στην ανάπτυξη ιστοσελίδων +- Μαθητές και αυτοδίδακτοι +- Εκπαιδευτικοί που χρησιμοποιούν το πρόγραμμα σε τάξεις +- Το περιεχόμενο σχεδιάστηκε με προσβασιμότητα και σταδιακή ανάπτυξη δεξιοτήτων -### Παιδαγωγική Φιλοσοφία +### Εκπαιδευτική Φιλοσοφία -- Προσέγγιση μάθησης βάσει έργων -- Συχνές επανεκτιμήσεις γνώσεων (κουίζ) -- Πρακτικές ασκήσεις κώδικα -- Παραδείγματα εφαρμογής σε πραγματικό κόσμο -- Εστίαση στα βασικά πριν τα frameworks +- Προσέγγιση μάθησης βασισμένη σε έργα +- Συχνές αξιολογήσεις γνώσης (κουίζ) +- Πρακτικές ασκήσεις κώδικα +- Παραδείγματα εφαρμογών πραγματικού κόσμου +- Εστίαση στα βασικά πριν τα πλαίσια εργασίας ### Συντήρηση Αποθετηρίου -- Ενεργή κοινότητα μαθητών και συνεργατών -- Τακτικές ενημερώσεις εξαρτήσεων και περιεχομένου -- Παρακολούθηση θεμάτων και συζητήσεων από διαχειριστές -- Αυτόματες ενημερώσεις μεταφράσεων μέσω GitHub Actions +- Ενεργή κοινότητα μαθητών και συνεργατών +- Τακτικές ενημερώσεις εξαρτήσεων και περιεχομένου +- Παρακολούθηση ζητημάτων και συζητήσεων από τους διαχειριστές +- Αυτόματες ενημερώσεις μεταφράσεων μέσω GitHub Actions ### Σχετικοί Πόροι -- [Microsoft Learn modules](https://docs.microsoft.com/learn/) -- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/) -- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) συνιστάται για μαθητές -- Επιπλέον μαθήματα: Γενετική AI, Επιστήμη Δεδομένων, Μηχανική Μάθηση, IoT διαθέσιμα +- [Microsoft Learn modules](https://docs.microsoft.com/learn/) +- [Πόροι Student Hub](https://docs.microsoft.com/learn/student-hub/) +- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) συνιστάται για μαθητές +- Πρόσθετα μαθήματα: Generative AI, Data Science, ML, IoT curricula διαθέσιμα ### Εργασία με Συγκεκριμένα Έργα -Για λεπτομερείς οδηγίες στα μεμονωμένα έργα, ανατρέξτε στα αρχεία README: -- `quiz-app/README.md` - Εφαρμογή κουίζ Vue 3 -- `7-bank-project/README.md` - Τραπεζική εφαρμογή με αυθεντικοποίηση -- `5-browser-extension/README.md` - Ανάπτυξη επέκτασης περιηγητή -- `6-space-game/README.md` - Ανάπτυξη παιχνιδιού με καμβά -- `9-chat-project/README.md` - Έργο βοηθού AI chat +Για λεπτομερείς οδηγίες στα επιμέρους έργα, ανατρέξτε στα αρχεία README στα: +- `quiz-app/README.md` - Εφαρμογή quiz Vue 3 +- `7-bank-project/README.md` - Εφαρμογή τραπεζικού με αυθεντικοποίηση +- `5-browser-extension/README.md` - Ανάπτυξη επέκτασης περιηγητή +- `6-space-game/README.md` - Ανάπτυξη παιχνιδιού με Canvas +- `9-chat-project/README.md` - Έργο βοηθού συνομιλίας AI ### Δομή Monorepo -Αν και δεν είναι παραδοσιακό monorepo, αυτό το αποθετήριο περιέχει πολλαπλά ανεξάρτητα έργα: -- Κάθε μάθημα είναι αυτόνομο -- Τα έργα δεν μοιράζονται εξαρτήσεις -- Μπορείτε να δουλεύετε σε μεμονωμένα έργα χωρίς να επηρεάζετε άλλα -- Κλωνοποιήστε ολόκληρο το αποθετήριο για πλήρη εμπειρία προγράμματος σπουδών +Αν και δεν είναι παραδοσιακό monorepo, αυτό το αποθετήριο περιέχει πολλαπλά ανεξάρτητα έργα: +- Κάθε μάθημα είναι αυτόνομο +- Τα έργα δεν μοιράζονται εξαρτήσεις +- Μπορείτε να εργαστείτε σε μεμονωμένα έργα χωρίς να επηρεάζονται τα υπόλοιπα +- Κλωνοποιήστε ολόκληρο το repo για πλήρη εμπειρία προγράμματος --- -**Αποποίηση Ευθύνης**: -Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που προσπαθούμε για ακρίβεια, παρακαλούμε να γνωρίζετε ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη γλώσσα προέλευσής του πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρανοήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης. +**Αποποίηση ευθυνών**: +Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που προσπαθούμε για ακρίβεια, παρακαλούμε να γνωρίζετε ότι οι αυτοματοποιημένες μεταφράσεις μπορεί να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η επίσημη πηγή. Για κρίσιμες πληροφορίες συνιστάται η επαγγελματική μετάφραση από ανθρώπους. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που απορρέουν από τη χρήση αυτής της μετάφρασης. \ No newline at end of file diff --git a/translations/el/README.md b/translations/el/README.md index 602c8e4c32..e7d5ddf19c 100644 --- a/translations/el/README.md +++ b/translations/el/README.md @@ -10,29 +10,29 @@ [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -# Ανάπτυξη Ιστού για Αρχαρίους - Ένα Πρόγραμμα Σπουδών +# Ανάπτυξη Ιστοσελίδων για Αρχάριους - Ένα Πρόγραμμα Σπουδών -Μάθετε τα βασικά της ανάπτυξης ιστοσελίδων με το ολοκληρωμένο 12-εβδομαδιαίο μάθημά μας από τους Microsoft Cloud Advocates. Κάθε ένα από τα 24 μαθήματα εμβαθύνει σε JavaScript, CSS και HTML μέσω πρακτικών έργων όπως τεραριαμικά, επεκτάσεις προγράμματος περιήγησης και παιχνίδια στο διάστημα. Συμμετέχετε σε κουίζ, συζητήσεις και πρακτικές αναθέσεις. Βελτιώστε τις δεξιότητές σας και μεγιστοποιήστε τη διατήρηση γνώσεων με την αποτελεσματική παιδαγωγική μας που βασίζεται σε έργα. Ξεκινήστε το ταξίδι κωδικοποίησής σας σήμερα! +Μάθετε τα βασικά της ανάπτυξης ιστοσελίδων με το ολοκληρωμένο μας μάθημα διάρκειας 12 εβδομάδων από τους Microsoft Cloud Advocates. Κάθε ένα από τα 24 μαθήματα εμβαθύνει σε JavaScript, CSS και HTML μέσα από πρακτικά έργα όπως τεράριουμ, επεκτάσεις προγράμματος περιήγησης και διαστημικά παιχνίδια. Ασχοληθείτε με κουίζ, συζητήσεις και πρακτικές εργασίες. Βελτιώστε τις δεξιότητές σας και βελτιστοποιήστε την απορρόφηση γνώσεων με τη στοχευμένη μας παιδαγωγική βασισμένη σε έργα. Ξεκινήστε το ταξίδι σας στον κώδικα σήμερα! Γίνετε μέλος της κοινότητας Azure AI Foundry στο Discord [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) Ακολουθήστε αυτά τα βήματα για να ξεκινήσετε με αυτούς τους πόρους: -1. **Δημιουργήστε Fork το Αποθετήριο**: Κάντε κλικ [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +1. **Δημιουργήστε Fork στο Αποθετήριο**: Πατήστε [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) 2. **Κλωνοποιήστε το Αποθετήριο**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` 3. [**Γίνετε μέλος του Azure AI Foundry Discord και γνωρίστε ειδικούς και άλλους προγραμματιστές**](https://discord.com/invite/ByRwuEEgH4) -### 🌐 Υποστήριξη Πολλαπλών Γλωσσών +### 🌐 Υποστήριξη Πολλών Γλωσσών -#### Υποστηρίζεται μέσω GitHub Action (Αυτοματοποιημένα & Πάντα Ενημερωμένα) +#### Υποστηρίζεται μέσω GitHub Action (Αυτοματοποιημένο & Πάντα Ενημερωμένο) -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](./README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](./README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) -> **Προτιμάτε να κλωνοποιήσετε τοπικά;** +> **Προτιμάτε να Κλωνοποιήσετε τοπικά;** > -> Αυτό το αποθετήριο περιλαμβάνει πάνω από 50 μεταφράσεις γλωσσών, που αυξάνουν σημαντικά το μέγεθος λήψης. Για να κλωνοποιήσετε χωρίς μεταφράσεις, χρησιμοποιήστε τον αραιό έλεγχο: +> Αυτό το αποθετήριο περιλαμβάνει πάνω από 50 μεταφράσεις που αυξάνουν σημαντικά το μέγεθος λήψης. Για κλωνοποίηση χωρίς μεταφράσεις, χρησιμοποιήστε sparse checkout: > > **Bash / macOS / Linux:** > ```bash @@ -51,39 +51,39 @@ > Αυτό σας δίνει όλα όσα χρειάζεστε για να ολοκληρώσετε το μάθημα με πολύ πιο γρήγορη λήψη. -**Εάν επιθυμείτε να υποστηρίζονται επιπλέον γλώσσες μετάφρασης, αναφέρονται [εδώ](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**Εάν επιθυμείτε να προστεθούν επιπλέον γλώσσες μετάφρασης, οι υποστηριζόμενες γλώσσες αναφέρονται [εδώ](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** -[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Άνοιγμα%20στο%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) +[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) -#### 🧑‍🎓 _Είστε φοιτητής;_ +#### 🧑‍🎓 _Είσαι φοιτητής;_ -Επισκεφθείτε τη [**Σελίδα για Φοιτητές**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) όπου θα βρείτε πόρους για αρχάριους, πακέτα για φοιτητές και ακόμα τρόπους να πάρετε δωρεάν κουπόνι πιστοποιητικού. Αυτή είναι η σελίδα που θέλετε να αποθηκεύσετε στα αγαπημένα σας και να ελέγχετε περιοδικά καθώς ανανεώνουμε το περιεχόμενο κάθε μήνα. +Επισκεφθείτε τη σελίδα [**Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) όπου θα βρείτε πόρους για αρχάριους, πακέτα για φοιτητές και ακόμη τρόπους να αποκτήσετε δωρεάν κουπόνι πιστοποίησης. Αυτή είναι η σελίδα που αξίζει να αποθηκεύσετε στα αγαπημένα και να ελέγχετε τακτικά καθώς ανανεώνουμε το περιεχόμενο κάθε μήνα. -### 📣 Ανακοίνωση - Νέες προκλήσεις λειτουργίας GitHub Copilot Agent για να ολοκληρώσετε! +### 📣 Ανακοίνωση - Νέες Προκλήσεις λειτουργίας GitHub Copilot Agent για ολοκλήρωση! -Νέα πρόκληση προστέθηκε, ψάξτε για "GitHub Copilot Agent Challenge 🚀" στα περισσότερα κεφάλαια. Αυτή είναι μια νέα πρόκληση για να ολοκληρώσετε χρησιμοποιώντας το GitHub Copilot και τη λειτουργία Agent. Αν δεν έχετε χρησιμοποιήσει τη λειτουργία Agent πριν, μπορεί όχι μόνο να δημιουργεί κείμενο αλλά και να δημιουργεί και να επεξεργάζεται αρχεία, να εκτελεί εντολές και άλλα. +Προστέθηκε νέα Πρόκληση, αναζητήστε "GitHub Copilot Agent Challenge 🚀" στις περισσότερες ενότητες. Πρόκειται για νέα πρόκληση για να ολοκληρώσετε χρησιμοποιώντας το GitHub Copilot και τη λειτουργία Agent. Αν δεν έχετε χρησιμοποιήσει τη λειτουργία Agent πριν, αυτή μπορεί όχι μόνο να δημιουργεί κείμενο αλλά και να δημιουργεί και να επεξεργάζεται αρχεία, να εκτελεί εντολές και άλλα. -### 📣 Ανακοίνωση - _Νέο Έργο για κατασκευή με τη χρήση Generative AI_ +### 📣 Ανακοίνωση - _Νέο Έργο για δημιουργία με τη χρήση Γενετικής Τεχνητής Νοημοσύνης_ -Πρόσφατα προστέθηκε ένα νέο έργο βοηθού AI, δείτε το [έργο](./9-chat-project/README.md) +Μόλις προστέθηκε νέο έργο AI Assistant, ρίξτε μια ματιά στο [έργο](./9-chat-project/README.md) -### 📣 Ανακοίνωση - _Νέο πρόγραμμα σπουδών_ για Generative AI για JavaScript μόλις κυκλοφόρησε +### 📣 Ανακοίνωση - _Νέο Πρόγραμμα Σπουδών_ για Γενετική Τεχνητή Νοημοσύνη για JavaScript μόλις κυκλοφόρησε -Μην χάσετε το νέο μας πρόγραμμα σπουδών για Generative AI! +Μην χάσετε το νέο μας πρόγραμμα Γενετικής Τεχνητής Νοημοσύνης! Επισκεφθείτε [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) για να ξεκινήσετε! ![Background](../../translated_images/el/background.148a8d43afde5730.webp) -- Μαθήματα που καλύπτουν από τα βασικά μέχρι το RAG. -- Αλληλεπιδράστε με ιστορικούς χαρακτήρες χρησιμοποιώντας GenAI και την companion εφαρμογή μας. +- Μαθήματα που καλύπτουν τα πάντα από τα βασικά έως RAG. +- Αλληλεπιδράστε με ιστορικούς χαρακτήρες χρησιμοποιώντας το GenAI και την εφαρμογή συνοδός μας. - Διασκεδαστική και συναρπαστική αφήγηση, θα ταξιδεύετε στο χρόνο! ![character](../../translated_images/el/character.5c0dd8e067ffd693.webp) -Κάθε μάθημα περιλαμβάνει ανάθεση για ολοκλήρωση, έλεγχο γνώσεων και πρόκληση που σας καθοδηγούν στην εκμάθηση θεμάτων όπως: -- Πώς να δημιουργείτε prompts και μηχανική prompts +Κάθε μάθημα περιλαμβάνει μια εργασία για ολοκλήρωση, έναν έλεγχο γνώσεων και μια πρόκληση που θα σας καθοδηγήσει στην εκμάθηση θεμάτων όπως: +- Δημιουργία προτροπών και τεχνική prompt engineering - Δημιουργία εφαρμογών κειμένου και εικόνας - Εφαρμογές αναζήτησης @@ -93,130 +93,130 @@ ## 🌱 Ξεκινώντας -> **Καθηγητές**, έχουμε [συμπεριλάβει ορισμένες προτάσεις](for-teachers.md) για το πώς να χρησιμοποιήσετε αυτό το πρόγραμμα σπουδών. Θα θέλαμε πολύ τα σχόλιά σας [στο φόρουμ συζητήσεών μας](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! +> **Καθηγητές**, έχουμε [συμπεριλάβει κάποιες προτάσεις](for-teachers.md) για το πώς να χρησιμοποιήσετε αυτό το πρόγραμμα σπουδών. Θα εκτιμούσαμε τα σχόλιά σας [στο φόρουμ συζητήσεων](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! -**[Μαθητές](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, για κάθε μάθημα, ξεκινήστε με ένα προ-μάθημα κουίζ και συνεχίστε διαβάζοντας το υλικό του μαθήματος, ολοκληρώνοντας τις διάφορες δραστηριότητες και ελέγξτε την κατανόησή σας με το μετα-μάθημα κουίζ. +**[Μαθητές](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, για κάθε μάθημα, ξεκινήστε με ένα προ-μάθημα κουίζ και συνεχίστε διαβάζοντας το υλικό, ολοκληρώνοντας τις διάφορες δραστηριότητες και ελέγχοντας την κατανόησή σας με το κουίζ μετά το μάθημα. -Για να βελτιώσετε την εμπειρία μάθησής σας, συνδεθείτε με τους συμφοιτητές σας για να δουλέψετε στα έργα μαζί! Οι συζητήσεις ενθαρρύνονται στο [φόρουμ συζητήσεών μας](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) όπου η ομάδα των συντονιστών μας θα είναι διαθέσιμη να απαντήσει στις ερωτήσεις σας. +Για να βελτιώσετε την εκπαιδευτική σας εμπειρία, συνδεθείτε με τους συναδέλφους σας για να δουλέψετε μαζί στα έργα! Οι συζητήσεις ενθαρρύνονται στο [φόρουμ συζητήσεών μας](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) όπου η ομάδα των συντονιστών μας θα είναι διαθέσιμη να απαντήσει στις ερωτήσεις σας. -Για περαιτέρω εκπαίδευση, συνιστούμε ανεπιφύλακτα να εξερευνήσετε το [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) για επιπλέον υλικό μελέτης. +Για περαιτέρω εκπαίδευση, προτείνουμε ανεπιφύλακτα να εξερευνήσετε το [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) για επιπλέον εκπαιδευτικό υλικό. -### 📋 Ρύθμιση του περιβάλλοντός σας +### 📋 Ρύθμιση του περιβάλλοντος εργασίας σας -Αυτό το πρόγραμμα σπουδών έχει έτοιμο περιβάλλον ανάπτυξης! Όταν ξεκινάτε, μπορείτε να επιλέξετε να τρέξετε το πρόγραμμα σε ένα [Codespace](https://github.com/features/codespaces/) (_περιβάλλον βασισμένο σε πρόγραμμα περιήγησης, χωρίς ανάγκη εγκατάστασης_), ή τοπικά στον υπολογιστή σας χρησιμοποιώντας έναν επεξεργαστή κειμένου όπως το [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +Αυτό το πρόγραμμα έχει ένα έτοιμο περιβάλλον ανάπτυξης! Καθώς ξεκινάτε, μπορείτε να επιλέξετε να τρέξετε το πρόγραμμα σε ένα [Codespace](https://github.com/features/codespaces/) (_ένα περιβάλλον βασισμένο σε πρόγραμμα περιήγησης, χωρίς να χρειάζεται εγκατάσταση_), ή τοπικά στον υπολογιστή σας χρησιμοποιώντας ένα επεξεργαστή κειμένου όπως το [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). #### Δημιουργήστε το αποθετήριό σας -Για να αποθηκεύετε εύκολα τη δουλειά σας, συνιστάται να δημιουργήσετε το δικό σας αντίγραφο αυτού του αποθετηρίου. Μπορείτε να το κάνετε κάνοντας κλικ στο κουμπί **Use this template** στην κορυφή της σελίδας. Αυτό θα δημιουργήσει ένα νέο αποθετήριο στον λογαριασμό σας στο GitHub με ένα αντίγραφο του προγράμματος σπουδών. +Για να αποθηκεύετε εύκολα τη δουλειά σας, συνιστάται να δημιουργήσετε το δικό σας αντίγραφο αυτού του αποθετηρίου. Μπορείτε να το κάνετε πατώντας το κουμπί **Use this template** στην κορυφή της σελίδας. Αυτό θα δημιουργήσει ένα νέο αποθετήριο στον λογαριασμό σας GitHub με ένα αντίγραφο του προγράμματος σπουδών. Ακολουθήστε αυτά τα βήματα: -1. **Δημιουργήστε Fork το Αποθετήριο**: Κάντε κλικ στο κουμπί "Fork" στην επάνω δεξιά γωνία αυτής της σελίδας. +1. **Δημιουργήστε Fork στο Αποθετήριο**: Πατήστε το κουμπί "Fork" στην πάνω δεξιά γωνία αυτής της σελίδας. 2. **Κλωνοποιήστε το Αποθετήριο**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -#### Τρέξιμο του προγράμματος σε Codespace +#### Εκτέλεση του προγράμματος σε Codespace -Στο αντίγραφο που δημιουργήσατε, κάντε κλικ στο κουμπί **Code** και επιλέξτε **Open with Codespaces**. Αυτό θα δημιουργήσει έναν νέο Codespace για να εργαστείτε. +Στο αντίγραφό σας αυτού του αποθετηρίου που δημιουργήσατε, πατήστε το κουμπί **Code** και επιλέξτε **Open with Codespaces**. Αυτό θα δημιουργήσει ένα νέο Codespace για να δουλέψετε μέσα. ![Codespace](../../translated_images/el/createcodespace.0238bbf4d7a8d955.webp) -#### Τρέξιμο του προγράμματος τοπικά στον υπολογιστή σας +#### Εκτέλεση του προγράμματος τοπικά στον υπολογιστή σας -Για να τρέξετε αυτό το πρόγραμμα τοπικά στον υπολογιστή σας θα χρειαστείτε έναν επεξεργαστή κειμένου, έναν πρόγραμμα περιήγησης και ένα εργαλείο γραμμής εντολών. Το πρώτο μας μάθημα, [Εισαγωγή στις Γλώσσες Προγραμματισμού και στα Εργαλεία](../../1-getting-started-lessons/1-intro-to-programming-languages), θα σας καθοδηγήσει ανάμεσα στις διάφορες επιλογές για κάθε ένα από αυτά τα εργαλεία, για να επιλέξετε ποια δουλεύει καλύτερα για εσάς. +Για να τρέξετε το πρόγραμμα τοπικά στον υπολογιστή σας, θα χρειαστείτε έναν επεξεργαστή κειμένου, ένα πρόγραμμα περιήγησης και ένα εργαλείο γραμμής εντολών. Το πρώτο μας μάθημα, [Εισαγωγή στις Γλώσσες Προγραμματισμού και Εργαλεία του Επαγγέλματος](../../1-getting-started-lessons/1-intro-to-programming-languages), θα σας καθοδηγήσει μέσα από τις διάφορες επιλογές κάθε εργαλείου ώστε να επιλέξετε τι ταιριάζει καλύτερα σε εσάς. -Η σύστασή μας είναι να χρησιμοποιήσετε το [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ως επεξεργαστή σας, που έχει επίσης ενσωματωμένο [τερματικό](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Μπορείτε να κατεβάσετε το Visual Studio Code [εδώ](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -1. Κλωνοποιήστε το αποθετήριο στον υπολογιστή σας. Μπορείτε να το κάνετε κάνοντας κλικ στο κουμπί **Code** και αντιγράφοντας τη διεύθυνση URL: +Η πρότασή μας είναι να χρησιμοποιήσετε το [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ως τον επεξεργαστή σας, που διαθέτει επίσης ενσωματωμένο [Τερματικό](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Μπορείτε να κατεβάσετε το Visual Studio Code [εδώ](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +1. Αντιγράψτε το αποθετήριο σας στον υπολογιστή σας. Μπορείτε να το κάνετε αυτό πατώντας το κουμπί **Code** και αντιγράφοντας το URL: [CodeSpace](./images/createcodespace.png) - Στη συνέχεια, ανοίξτε το [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) μέσα στο [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) και εκτελέστε την ακόλουθη εντολή, αντικαθιστώντας το `` με τη διεύθυνση URL που μόλις αντιγράψατε: + Στη συνέχεια, ανοίξτε το [Τερματικό](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) μέσα στο [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) και εκτελέστε την παρακάτω εντολή, αντικαθιστώντας το `` με το URL που μόλις αντιγράψατε: ```bash git clone ``` -2. Ανοίξτε το φάκελο στο Visual Studio Code. Μπορείτε να το κάνετε κάνοντας κλικ στο **File** > **Open Folder** και επιλέγοντας το φάκελο που μόλις κλωνοποιήσατε. +2. Ανοίξτε το φάκελο στο Visual Studio Code. Μπορείτε να το κάνετε αυτό πατώντας **File** > **Open Folder** και επιλέγοντας το φάκελο που μόλις αντιγράψατε. -> Προτεινόμενες επεκτάσεις Visual Studio Code: +> Προτεινόμενες επεκτάσεις για το Visual Studio Code: > > * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - για προεπισκόπηση σελίδων HTML μέσα στο Visual Studio Code -> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - για να σας βοηθήσει να γράφετε κώδικα πιο γρήγορα +> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - για να σας βοηθά να γράφετε κώδικα πιο γρήγορα ## 📂 Κάθε μάθημα περιλαμβάνει: -- προαιρετικό σκιτσάκι +- προαιρετικό σκίτσο - προαιρετικό συμπληρωματικό βίντεο -- προ-μαθησιακό quiz για προθέρμανση +- προθέρμανση με quiz πριν το μάθημα - γραπτό μάθημα -- για μαθήματα βασισμένα σε έργα, οδηγούς βήμα προς βήμα για την κατασκευή του έργου +- για μαθήματα με έργα, οδηγούς βήμα-βήμα για το πώς να φτιάξετε το έργο - ελέγχους γνώσης - μια πρόκληση - συμπληρωματική ανάγνωση -- ανάθεση -- [μετα-μαθησιακό quiz](https://ff-quizzes.netlify.app/web/) +- ανάθεση εργασίας +- [quiz μετά το μάθημα](https://ff-quizzes.netlify.app/web/) -> **Σημείωση σχετικά με τα quiz**: Όλα τα quiz περιέχονται στο φάκελο Quiz-app, συνολικά 48 quiz με τρεις ερωτήσεις το καθένα. Είναι διαθέσιμα [εδώ](https://ff-quizzes.netlify.app/web/), η εφαρμογή quiz μπορεί να τρέξει τοπικά ή να αναπτυχθεί στο Azure· ακολουθήστε τις οδηγίες στον φάκελο `quiz-app`. +> **Μια σημείωση για τα quiz**: Όλα τα quiz περιέχονται στον φάκελο Quiz-app, συνολικά 48 quiz με τρεις ερωτήσεις το καθένα. Είναι διαθέσιμα [εδώ](https://ff-quizzes.netlify.app/web/) και η εφαρμογή quiz μπορεί να τρέξει τοπικά ή να αναπτυχθεί στο Azure· ακολουθήστε τις οδηγίες στον φάκελο `quiz-app`. ## 🗃️ Μαθήματα -| | Όνομα Έργου | Διδασκόμενες Έννοιες | Μαθησιακοί Στόχοι | Συνδεδεμένο Μάθημα | Συγγραφέας | +| | Όνομα Έργου | Διδακτικές Έννοιες | Στόχοι Μάθησης | Συνδεδεμένο Μάθημα | Συγγραφέας | | :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | Ξεκινώντας | Εισαγωγή στον Προγραμματισμό και τα Εργαλεία της Εργασίας | Μάθετε τις βασικές αρχές πίσω από τις περισσότερες γλώσσες προγραμματισμού και για το λογισμικό που βοηθά τους επαγγελματίες προγραμματιστές να κάνουν τη δουλειά τους | [Εισαγωγή στις Γλώσσες Προγραμματισμού και Εργαλεία](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | Ξεκινώντας | Βασικά του GitHub, περιλαμβάνει συνεργασία με ομάδα | Πώς να χρησιμοποιείτε το GitHub στο έργο σας, πώς να συνεργάζεστε με άλλους σε βάση κώδικα | [Εισαγωγή στο GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | Ξεκινώντας | Προσβασιμότητα | Μάθετε τα βασικά της προσβασιμότητας ιστού | [Βασικά της Προσβασιμότητας](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | Βασικά JS | Τύποι Δεδομένων JavaScript | Τα βασικά των τύπων δεδομένων JavaScript | [Τύποι Δεδομένων](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | Βασικά JS | Συναρτήσεις και Μέθοδοι | Μάθετε για τις συναρτήσεις και μεθόδους για τη διαχείριση της ροής λογικής μιας εφαρμογής | [Συναρτήσεις και Μέθοδοι](./2-js-basics/2-functions-methods/README.md) | Jasmine και Christopher | -| 06 | Βασικά JS | Λήψη Αποφάσεων με JS | Μάθετε πώς να δημιουργείτε συνθήκες στον κώδικά σας χρησιμοποιώντας μεθόδους λήψης αποφάσεων | [Λήψη Αποφάσεων](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | Βασικά JS | Πίνακες και Βρόχοι | Εργαστείτε με δεδομένα χρησιμοποιώντας πίνακες και βρόχους σε JavaScript | [Πίνακες και Βρόχοι](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML στην Πράξη | Δημιουργήστε το HTML για ένα διαδικτυακό terrarium, εστιάζοντας στην κατασκευή μιας διάταξης | [Εισαγωγή στο HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS στην Πράξη | Δημιουργήστε το CSS για το στυλ του διαδικτυακού terrarium, εστιάζοντας στα βασικά του CSS, συμπεριλαμβανομένης της ανταπόκρισης της σελίδας | [Εισαγωγή στο CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrarium](./3-terrarium/solution/README.md) | Κλεισίματα JavaScript, χειρισμός DOM | Δημιουργήστε τον JavaScript κώδικα για τη λειτουργία του terrarium ως διεπαφή drag/drop, εστιάζοντας στα κλεισίματα και χειρισμό DOM | [Κλεισίματα JavaScript, χειρισμός DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Παιχνίδι Πληκτρολόγησης](./4-typing-game/solution/README.md) | Δημιουργία Παιχνιδιού Πληκτρολόγησης | Μάθετε πώς να χρησιμοποιείτε τα γεγονότα πληκτρολογίου για να κατευθύνετε τη λογική της εφαρμογής JavaScript | [Προγραμματισμός με βάση τα γεγονότα](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Εργασία με Περιηγητές | Μάθετε πώς λειτουργούν οι περιηγητές, την ιστορία τους και πώς να στήσετε τα πρώτα στοιχεία επέκτασης περιηγητή | [Σχετικά με τους Περιηγητές](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Δημιουργία φόρμας, κλήση API και αποθήκευση μεταβλητών στο τοπικό αποθηκευτικό χώρο | Δημιουργήστε τα στοιχεία JavaScript της επέκτασης περιηγητή σας για να καλέσετε ένα API χρησιμοποιώντας μεταβλητές αποθηκευμένες τοπικά | [APIs, Φόρμες και Τοπική Αποθήκευση](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Φόντινες διεργασίες στον περιηγητή, απόδοση ιστοσελίδας | Χρησιμοποιήστε τις φόντινες διεργασίες του περιηγητή για να διαχειριστείτε το εικονίδιο της επέκτασης· μάθετε για την απόδοση του ιστού και ορισμένες βελτιστοποιήσεις | [Φόντινες εργασίες και Απόδοση](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Προχωρημένη Ανάπτυξη Παιχνιδιών με JavaScript | Μάθετε για την Κληρονομικότητα χρησιμοποιώντας και Κλάσεις και Σύνθεση και το πρότυπο Pub/Sub, ως προετοιμασία για τη δημιουργία παιχνιδιού | [Εισαγωγή στην Προχωρημένη Ανάπτυξη Παιχνιδιών](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Σχεδίαση στον καμβά | Μάθετε για το Canvas API, που χρησιμοποιείται για να ζωγραφίζετε στοιχεία σε οθόνη | [Σχεδίαση στον Καμβά](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Μετακίνηση στοιχείων στην οθόνη | Ανακαλύψτε πώς τα στοιχεία μπορούν να αποκτούν κίνηση χρησιμοποιώντας τα καρτεσιανά συντεταγμένα και το Canvas API | [Μετακίνηση Στοιχείων](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Ανίχνευση συγκρούσεων | Κάντε τα στοιχεία να συγκρούονται και να αντιδρούν το ένα στο άλλο χρησιμοποιώντας πατήματα και παρέχετε λειτουργία ψύξης για τη βελτίωση της απόδοσης του παιχνιδιού | [Ανίχνευση Συγκρούσεων](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Διατήρηση σκορ | Εκτελέστε μαθηματικούς υπολογισμούς με βάση την κατάσταση και απόδοση του παιχνιδιού | [Διατήρηση Σκορ](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Τερματισμός και επανεκκίνηση παιχνιδιού | Μάθετε για τον τερματισμό και την επανεκκίνηση του παιχνιδιού, συμπεριλαμβανομένου του καθαρισμού πόρων και της επαναφοράς τιμών μεταβλητών | [Η Συνθήκη Τερματισμού](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Πρότυπα HTML και Διαδρομές σε μια Ιστοσελίδα | Μάθετε πώς να δημιουργήσετε τη δομή μιας πολυσέλιδης ιστοσελίδας χρησιμοποιώντας δρομολόγηση και πρότυπα HTML | [Πρότυπα HTML και Διαδρομές](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Δημιουργία Φόρμας Εισόδου και Εγγραφής | Μάθετε για τη δημιουργία φορμών και τη διαχείριση ρουτινών ελέγχου | [Φόρμες](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Μέθοδοι Λήψης και Χρήσης Δεδομένων | Πώς τα δεδομένα ρέουν μέσα κι έξω από την εφαρμογή σας, πώς να τα λαμβάνετε, να τα αποθηκεύετε και να τα απορρίπτετε | [Δεδομένα](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Έννοιες Διαχείρισης Κατάστασης | Μάθετε πώς η εφαρμογή σας διατηρεί κατάσταση και πώς να τη διαχειρίζεστε προγραμματιστικά | [Διαχείριση Κατάστασης](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Κώδικας Browser/VScode](../../8-code-editor) | Εργασία με το VScode | Μάθετε πώς να χρησιμοποιείτε έναν επεξεργαστή κώδικα | [Χρήση του επεξεργαστή κώδικα VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [Βοηθοί Τεχνητής Νοημοσύνης](./9-chat-project/README.md) | Εργασία με ΤΝ | Μάθετε πώς να φτιάξετε τον δικό σας βοηθό ΤΝ | [Έργο βοηθού ΤΝ](./9-chat-project/README.md) | Chris | +| 01 | Ξεκινώντας | Εισαγωγή στον Προγραμματισμό και τα Εργαλεία της Επαγγελματίας | Μάθετε τις βασικές αρχές που διέπουν τις περισσότερες γλώσσες προγραμματισμού και για το λογισμικό που βοηθά τους επαγγελματίες προγραμματιστές να κάνουν τη δουλειά τους | [Εισαγωγή στις Γλώσσες Προγραμματισμού και Εργαλεία](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Ξεκινώντας | Βασικά του GitHub, περιλαμβάνει συνεργασία με ομάδα | Πώς να χρησιμοποιείτε το GitHub στο έργο σας και πώς να συνεργάζεστε με άλλους σε μια βάση κώδικα | [Εισαγωγή στο GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Ξεκινώντας | Προσβασιμότητα | Μάθετε τα βασικά της προσβασιμότητας στο διαδίκτυο | [Βασικά Προσβασιμότητας](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | Βασικά JS | Τύποι Δεδομένων JavaScript | Τα βασικά για τους τύπους δεδομένων στη JavaScript | [Τύποι Δεδομένων](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | Βασικά JS | Συναρτήσεις και Μέθοδοι | Μάθετε για συναρτήσεις και μεθόδους για τη διαχείριση της ροής λογικής μιας εφαρμογής | [Συναρτήσεις και Μέθοδοι](./2-js-basics/2-functions-methods/README.md) | Jasmine και Christopher | +| 06 | Βασικά JS | Λήψη Αποφάσεων με JS | Μάθετε πώς να δημιουργείτε συνθήκες στον κώδικα σας χρησιμοποιώντας μεθόδους λήψης αποφάσεων | [Λήψη Αποφάσεων](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | Βασικά JS | Πίνακες και Βρόχοι | Εργαστείτε με δεδομένα χρησιμοποιώντας πίνακες και βρόχους στη JavaScript | [Πίνακες και Βρόχοι](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML στην Πράξη | Δημιουργήστε το HTML για να φτιάξετε ένα διαδικτυακό terrarium, εστιάζοντας στη δημιουργία διάταξης | [Εισαγωγή στο HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS στην Πράξη | Δημιουργήστε το CSS για να στυλιζάρετε το διαδικτυακό terrarium, εστιάζοντας στα βασικά του CSS και το responsive design | [Εισαγωγή στο CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](./3-terrarium/solution/README.md) | Κλεισίματα JavaScript, χειρισμός DOM | Δημιουργήστε το JavaScript ώστε το terrarium να λειτουργεί με drag/drop interface, εστιάζοντας στα closures και χειρισμό DOM | [Κλεισίματα JavaScript, χειρισμός DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Παιχνίδι Πληκτρολόγησης](./4-typing-game/solution/README.md) | Δημιουργία Παιχνιδιού Πληκτρολόγησης | Μάθετε πώς να χρησιμοποιείτε συμβάντα πληκτρολογίου για να καθοδηγήσετε τη λογική της εφαρμογής JavaScript σας | [Προγραμματισμός με συμβάντα](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Εργασία με Περιηγητές | Μάθετε πώς λειτουργούν οι περιηγητές, την ιστορία τους, και πώς να στήσετε τα πρώτα στοιχεία μιας επέκτασης περιηγητή | [Σχετικά με τους Περιηγητές](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Δημιουργία φόρμας, κλήση API και αποθήκευση μεταβλητών τοπικά | Δημιουργήστε τα JavaScript στοιχεία της επέκτασης περιηγητή σας για να καλέσετε ένα API χρησιμοποιώντας μεταβλητές αποθηκευμένες τοπικά | [APIs, Φόρμες και Τοπική Αποθήκευση](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Παρασκηνιακές διεργασίες στον περιηγητή, απόδοση στο web | Χρησιμοποιήστε τις παρασκηνιακές διεργασίες του περιηγητή για να διαχειριστείτε το εικονίδιο της επέκτασης· μάθετε για την απόδοση και βελτιστοποιήσεις | [Παρασκηνιακές Εργασίες και Απόδοση](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Προχωρημένη Ανάπτυξη Παιχνιδιού με JavaScript | Μάθετε για την κληρονομικότητα μέσω Κλάσεων και Σύνθεσης καθώς και το μοτίβο Pub/Sub, προετοιμαζόμενοι για ανάπτυξη παιχνιδιού | [Εισαγωγή στην Προχωρημένη Ανάπτυξη Παιχνιδιού](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Σχεδίαση σε καμβά | Μάθετε για το Canvas API, που χρησιμοποιείται για τη σχεδίαση στοιχείων σε οθόνη | [Σχεδίαση σε Καμβά](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Μετακίνηση στοιχείων στην οθόνη | Ανακαλύψτε πώς τα στοιχεία μπορούν να κινηθούν χρησιμοποιώντας καρτεσιανές συντεταγμένες και το Canvas API | [Μετακίνηση Στοιχείων](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Ανίχνευση Σύγκρουσης | Κάντε τα στοιχεία να συγκρούονται και να αντιδρούν μεταξύ τους χρησιμοποιώντας πατήματα πλήκτρων και παρέχετε συνάρτηση cooldown για την απόδοση του παιχνιδιού | [Ανίχνευση Σύγκρουσης](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Καταμέτρηση Βαθμολογίας | Πραγματοποιήστε μαθηματικούς υπολογισμούς βάσει της κατάστασης και της απόδοσης του παιχνιδιού | [Καταμέτρηση Βαθμολογίας](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Τερματισμός και επανεκκίνηση του παιχνιδιού | Μάθετε για τον τερματισμό και την επανεκκίνηση του παιχνιδιού, συμπεριλαμβανομένου του καθαρισμού πόρων και της επαναφοράς μεταβλητών | [Ο Όρος Τερματισμού](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Πρότυπα HTML και Διαδρομές σε Web Εφαρμογή | Μάθετε πώς να δημιουργήσετε τη δομή μιας πολυσέλιδης ιστοσελίδας χρησιμοποιώντας διαδρομές και πρότυπα HTML | [Πρότυπα HTML και Διαδρομές](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Δημιουργία Φόρμας Εισόδου και Εγγραφής | Μάθετε για τη δημιουργία φορμών και διαχείριση ελέγχων εγκυρότητας | [Φόρμες](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Μέθοδοι Ανάκτησης και Χρήσης Δεδομένων | Πώς ρέουν τα δεδομένα μέσα και έξω από την εφαρμογή σας, πώς να τα ανακτάτε, αποθηκεύετε και απορρίπτετε | [Δεδομένα](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Έννοιες Διαχείρισης Κατάστασης | Μάθετε πώς η εφαρμογή σας διατηρεί την κατάσταση και πώς να τη διαχειρίζεστε προγραμματιστικά | [Διαχείριση Κατάστασης](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Κώδικας Browser/VScode](../../8-code-editor) | Εργασία με VScode | Μάθετε πώς να χρησιμοποιείτε έναν κειμενογράφο κώδικα| [Χρήση του Visual Studio Code](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [Βοηθοί Τεχνητής Νοημοσύνης](./9-chat-project/README.md) | Εργασία με Τεχνητή Νοημοσύνη | Μάθετε πώς να δημιουργήσετε τον δικό σας βοηθό AI | [Έργο Βοηθού AI](./9-chat-project/README.md) | Chris | ## 🏫 Παιδαγωγική -Το πρόγραμμα σπουδών μας έχει σχεδιαστεί με δύο βασικές παιδαγωγικές αρχές στο μυαλό: +Το πρόγραμμα σπουδών μας έχει σχεδιαστεί με δύο βασικές παιδαγωγικές αρχές κατά νου: * μάθηση βασισμένη σε έργα * συχνά quiz -Το πρόγραμμα διδάσκει τα βασικά του JavaScript, HTML και CSS, καθώς και τα πιο πρόσφατα εργαλεία και τεχνικές που χρησιμοποιούν οι σημερινοί προγραμματιστές ιστού. Οι σπουδαστές θα έχουν την ευκαιρία να αποκτήσουν πρακτική εμπειρία χτίζοντας ένα παιχνίδι πληκτρολόγησης, ένα εικονικό terrarium, μια φιλική προς το περιβάλλον επέκταση περιηγητή, ένα παιχνίδι τύπου space-invader και μια τραπεζική εφαρμογή για επιχειρήσεις. Μέχρι το τέλος της σειράς, οι μαθητές θα έχουν αποκτήσει σταθερή κατανόηση της ανάπτυξης ιστού. +Το πρόγραμμα διδάσκει τα θεμέλια της JavaScript, HTML και CSS, καθώς και τα πιο σύγχρονα εργαλεία και τεχνικές που χρησιμοποιούν οι σύγχρονοι προγραμματιστές ιστοσελίδων. Οι μαθητές θα έχουν την ευκαιρία να αναπτύξουν πρακτική εμπειρία δημιουργώντας ένα παιχνίδι πληκτρολόγησης, ένα εικονικό terrarium, μια οικολογική επέκταση περιηγητή, ένα παιχνίδι τύπου space-invader και μια εφαρμογή τραπεζικής για επιχειρήσεις. Μέχρι το τέλος της σειράς, οι μαθητές θα έχουν αποκτήσει μια στέρεη κατανόηση της ανάπτυξης ιστού. -> 🎓 Μπορείτε να παρακολουθήσετε τα πρώτα λίγα μαθήματα αυτού του προγράμματος σπουδών ως [Μονοπάτι Μάθησης](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) στο Microsoft Learn! +> 🎓 Μπορείτε να παρακολουθήσετε τα πρώτα μαθήματα αυτής της ύλης ως [Μονοπάτι Μάθησης](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) στο Microsoft Learn! -Διασφαλίζοντας ότι το περιεχόμενο ευθυγραμμίζεται με τα έργα, η διαδικασία γίνεται πιο ελκυστική για τους μαθητές και η διατήρηση των εννοιών ενισχύεται. Επίσης γράψαμε αρκετά αρχικά μαθήματα στα βασικά της JavaScript για να παρουσιάσουμε έννοιες, σε συνδυασμό με βίντεο από τη συλλογή "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" με βιντεομαθήματα, με μερικούς από τους συγγραφείς τους να έχουν συμβάλει σε αυτό το πρόγραμμα σπουδών. +Με τη διασφάλιση ότι το περιεχόμενο ευθυγραμμίζεται με τα έργα, η διαδικασία γίνεται πιο ελκυστική για τους μαθητές και η διατήρηση των εννοιών ενισχύεται. Επίσης, γράψαμε αρκετά αρχικά μαθήματα στα βασικά της JavaScript για να εισαγάγουμε έννοιες, σε συνδυασμό με ένα βίντεο από τη συλλογή βιντεομαθημάτων "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", με ορισμένους από τους συγγραφείς της να συμβάλλουν σ' αυτό το πρόγραμμα σπουδών. -Επιπλέον, ένα ανεπίσημο quiz πριν από το μάθημα θέτει τον σκοπό του μαθητή προς την εκμάθηση μιας θεματικής ενότητας, ενώ ένα δεύτερο quiz μετά το μάθημα διασφαλίζει περαιτέρω διατήρηση. Αυτό το πρόγραμμα σπουδών έχει σχεδιαστεί ώστε να είναι ευέλικτο και διασκεδαστικό και μπορεί να παρακολουθηθεί στο σύνολό του ή μεμονωμένα τμήματα. Τα έργα ξεκινούν μικρά και γίνονται όλο και πιο σύνθετα μέχρι το τέλος του δωδεκαβδομαδιαίου κύκλου. +Επιπλέον, ένα quiz χαμηλής έντασης πριν από το μάθημα θέτει την πρόθεση του μαθητή για τη μάθηση ενός θέματος, ενώ ένα δεύτερο quiz μετά το μάθημα εξασφαλίζει περαιτέρω διατήρηση γνώσεων. Το πρόγραμμα σπουδών έχει σχεδιαστεί να είναι ευέλικτο και διασκεδαστικό και μπορεί να παρακολουθηθεί ολόκληρο ή μερικώς. Τα έργα ξεκινούν μικρά και γίνονται ολοένα και πιο σύνθετα μέχρι το τέλος του 12-εβδομάδων κύκλου. -Ενώ έχουμε σκοπίμως αποφύγει την εισαγωγή πλαισίων JavaScript για να επικεντρωθούμε στις βασικές δεξιότητες που χρειάζεται ένας προγραμματιστής ιστού πριν την υιοθέτηση πλαισίου, ένα καλό επόμενο βήμα για την ολοκλήρωση αυτού του προγράμματος σπουδών θα ήταν η εκμάθηση του Node.js μέσω μιας άλλης συλλογής βίντεο: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +Ενώ αποφεύξαμε σκόπιμα την εισαγωγή πλαισίων JavaScript για να εστιάσουμε στις βασικές δεξιότητες που χρειάζεται ένας προγραμματιστής ιστού πριν υιοθετήσει ένα πλαίσιο, το επόμενο βήμα για την ολοκλήρωση αυτού του προγράμματος θα ήταν η εκμάθηση του Node.js μέσω μιας άλλης συλλογής βίντεο: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> Επισκεφτείτε τους [Κανόνες Συμπεριφοράς](CODE_OF_CONDUCT.md) και τις οδηγίες [Συμμετοχής](CONTRIBUTING.md). Καλωσορίζουμε τις εποικοδομητικές σας παρατηρήσεις! +> Επισκεφτείτε τους [Κανόνες Συμπεριφοράς](CODE_OF_CONDUCT.md) και τις οδηγίες [Συμμετοχής](CONTRIBUTING.md). Καλωσορίζουμε τα εποικοδομητικά σας σχόλια! ## 🧭 Πρόσβαση εκτός σύνδεσης -Μπορείτε να τρέξετε αυτή την τεκμηρίωση εκτός σύνδεσης χρησιμοποιώντας το [Docsify](https://docsify.js.org/#/). Κλωνοποιήστε το αποθετήριο, [εγκαταστήστε το Docsify](https://docsify.js.org/#/quickstart) στον τοπικό σας υπολογιστή και μετά στον ριζικό φάκελο του αποθετηρίου, πληκτρολογήστε `docsify serve`. Ο ιστότοπος θα σερβιριστεί στην θύρα 3000 στο τοπικό σας μηχάνημα: `localhost:3000`. +Μπορείτε να εκτελέσετε αυτή την τεκμηρίωση χωρίς σύνδεση χρησιμοποιώντας το [Docsify](https://docsify.js.org/#/). Κάντε fork αυτό το αποθετήριο, [εγκαταστήστε το Docsify](https://docsify.js.org/#/quickstart) στον τοπικό σας υπολογιστή και στη συνέχεια στον ριζικό φάκελο αυτού του αποθετηρίου πληκτρολογήστε `docsify serve`. Η ιστοσελίδα θα σερβιριστεί στη θύρα 3000 στο localhost σας: `localhost:3000`. ## 📘 PDF -Ένα PDF με όλα τα μαθήματα μπορεί να βρεθεί [εδώ](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). +Ένα PDF με όλα τα μαθήματα μπορείτε να βρείτε [εδώ](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). ## 🎒 Άλλα Μαθήματα -Η ομάδα μας παράγει και άλλα μαθήματα! Δείτε: +Η ομάδα μας δημιουργεί και άλλα μαθήματα! Ρίξτε μια ματιά: ### LangChain @@ -233,7 +233,7 @@ --- -### Σειρά για Τη Γενετική Τεχνητή Νοημοσύνη +### Generative AI Series [![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) [![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) [![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) @@ -241,7 +241,7 @@ --- -### Βασική Μάθηση +### Core Learning [![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) [![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) [![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) @@ -252,7 +252,7 @@ --- -### Σειρά Copilot +### Copilot Series [![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) [![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) [![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) @@ -260,21 +260,21 @@ ## Λήψη Βοήθειας -Αν κολλήσετε ή έχετε απορίες σχετικά με την ανάπτυξη εφαρμογών ΤΝ, συμμετάσχετε σε συζητήσεις με άλλους μαθητές και έμπειρους προγραμματιστές για το MCP. Είναι μια υποστηρικτική κοινότητα όπου οι ερωτήσεις είναι ευπρόσδεκτες και η γνώση μοιράζεται ελεύθερα. +Αν κολλήσετε ή έχετε οποιεσδήποτε ερωτήσεις σχετικά με την ανάπτυξη εφαρμογών AI. Ενταχθείτε σε άλλους μαθητές και έμπειρους προγραμματιστές σε συζητήσεις για το MCP. Είναι μια υποστηρικτική κοινότητα όπου οι ερωτήσεις είναι ευπρόσδεκτες και η γνώση μοιράζεται ελεύθερα. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Εάν έχετε ανατροφοδότηση προϊόντος ή λάθη κατά την ανάπτυξη, επισκεφτείτε: +Αν έχετε σχόλια για το προϊόν ή σφάλματα κατά την ανάπτυξη επισκεφθείτε: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) -## Άδεια +## Άδεια Χρήσης -Αυτό το αποθετήριο έχει άδεια υπό την άδεια MIT. Δείτε το αρχείο [LICENSE](../../LICENSE) για περισσότερες πληροφορίες. +Αυτό το αποθετήριο έχει αδειοδοτηθεί υπό την άδεια MIT. Δείτε το αρχείο [LICENSE](../../LICENSE) για περισσότερες πληροφορίες. --- **Αποποίηση ευθυνών**: -Το παρόν έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρότι προσπαθούμε για ακρίβεια, παρακαλούμε να σημειώσετε ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το αρχικό έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης. +Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που επιδιώκουμε την ακρίβεια, παρακαλούμε σημειώστε ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε καμία ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης. \ No newline at end of file diff --git a/translations/en/.co-op-translator.json b/translations/en/.co-op-translator.json index 75aec9ae78..ca3d174359 100644 --- a/translations/en/.co-op-translator.json +++ b/translations/en/.co-op-translator.json @@ -487,7 +487,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T18:09:20+00:00", + "translation_date": "2026-04-06T15:24:53+00:00", "source_file": "AGENTS.md", "language_code": "en" }, @@ -510,8 +510,8 @@ "language_code": "en" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T10:36:58+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T15:19:36+00:00", "source_file": "README.md", "language_code": "en" }, diff --git a/translations/en/README.md b/translations/en/README.md index 7021d1c3a5..106bfdca8b 100644 --- a/translations/en/README.md +++ b/translations/en/README.md @@ -28,7 +28,7 @@ Follow these steps to get started using these resources: #### Supported via GitHub Action (Automated & Always Up-to-Date) -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) > **Prefer to Clone Locally?** > @@ -275,6 +275,6 @@ This repository is licensed under the MIT license. See the [LICENSE](../../LICEN --- -**Disclaimer**: -This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation. +**Disclaimer**: +This document has been translated using AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation. \ No newline at end of file diff --git a/translations/es/.co-op-translator.json b/translations/es/.co-op-translator.json index 4f240a386e..8dbd63e756 100644 --- a/translations/es/.co-op-translator.json +++ b/translations/es/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T18:13:05+00:00", + "translation_date": "2026-04-06T15:27:05+00:00", "source_file": "AGENTS.md", "language_code": "es" }, @@ -516,8 +516,8 @@ "language_code": "es" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T11:45:25+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T15:23:47+00:00", "source_file": "README.md", "language_code": "es" }, diff --git a/translations/es/AGENTS.md b/translations/es/AGENTS.md index ba6003a42b..389f3492f5 100644 --- a/translations/es/AGENTS.md +++ b/translations/es/AGENTS.md @@ -2,14 +2,14 @@ ## Descripción del Proyecto -Este es un repositorio curricular educativo para enseñar los fundamentos del desarrollo web a principiantes. El plan de estudios es un curso completo de 12 semanas desarrollado por Microsoft Cloud Advocates, que incluye 24 lecciones prácticas sobre JavaScript, CSS y HTML. +Este es un repositorio de currículo educativo para enseñar fundamentos del desarrollo web a principiantes. El currículo es un curso comprensivo de 12 semanas desarrollado por Microsoft Cloud Advocates, que cuenta con 24 lecciones prácticas cubriendo JavaScript, CSS y HTML. ### Componentes Clave - **Contenido Educativo**: 24 lecciones estructuradas organizadas en módulos basados en proyectos -- **Proyectos Prácticos**: Terrario, Juego de mecanografía, Extensión de navegador, Juego espacial, Aplicación bancaria, Editor de código y Asistente de chat con IA -- **Cuestionarios Interactivos**: 48 cuestionarios con 3 preguntas cada uno (evaluaciones pre/post lección) -- **Soporte Multilingüe**: Traducciones automatizadas en más de 50 idiomas mediante GitHub Actions +- **Proyectos Prácticos**: Terrarium, Juego de Mecanografía, Extensión de Navegador, Juego Espacial, Aplicación Bancaria, Editor de Código y Asistente de Chat con IA +- **Cuestionarios Interactivos**: 48 cuestionarios con 3 preguntas cada uno (evaluaciones pre/post-lección) +- **Soporte Multilenguaje**: Traducciones automáticas para más de 50 idiomas mediante GitHub Actions - **Tecnologías**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para proyectos de IA) ### Arquitectura @@ -18,11 +18,11 @@ Este es un repositorio curricular educativo para enseñar los fundamentos del de - Cada carpeta de lección contiene README, ejemplos de código y soluciones - Proyectos independientes en directorios separados (quiz-app, varios proyectos de lecciones) - Sistema de traducción usando GitHub Actions (co-op-translator) -- Documentación servida mediante Docsify y disponible en PDF +- Documentación servida via Docsify y disponible en formato PDF ## Comandos de Configuración -Este repositorio es principalmente para consumir contenido educativo. Para trabajar con proyectos específicos: +Este repositorio es principalmente para consumo de contenido educativo. Para trabajar con proyectos específicos: ### Configuración Principal del Repositorio @@ -31,7 +31,7 @@ git clone https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners ``` -### Configuración de la Aplicación de Cuestionarios (Vue 3 + Vite) +### Configuración de Quiz App (Vue 3 + Vite) ```bash cd quiz-app @@ -46,7 +46,7 @@ npm run lint # Ejecutar ESLint ```bash cd 7-bank-project/api npm install -npm start # Iniciar servidor API +npm start # Iniciar el servidor API npm run lint # Ejecutar ESLint npm run format # Formatear con Prettier ``` @@ -56,7 +56,7 @@ npm run format # Formatear con Prettier ```bash cd 5-browser-extension/solution npm install -# Siga las instrucciones específicas del navegador para cargar extensiones +# Sigue las instrucciones específicas del navegador para cargar extensiones ``` ### Proyectos del Juego Espacial @@ -78,35 +78,35 @@ python api.py ## Flujo de Trabajo de Desarrollo -### Para Contribuyentes de Contenido +### Para Colaboradores de Contenido -1. **Haz fork del repositorio** a tu cuenta de GitHub +1. **Haz fork** del repositorio a tu cuenta de GitHub 2. **Clona tu fork** localmente -3. **Crea una rama nueva** para tus cambios +3. **Crea una nueva rama** para tus cambios 4. Realiza cambios en el contenido de las lecciones o ejemplos de código -5. Prueba los cambios de código en los directorios de proyectos correspondientes +5. Prueba cualquier cambio de código en los directorios de proyecto relevantes 6. Envía pull requests siguiendo las pautas de contribución ### Para Estudiantes 1. Haz fork o clona el repositorio -2. Navega por los directorios de las lecciones en orden secuencial +2. Navega secuencialmente por los directorios de lecciones 3. Lee los archivos README de cada lección 4. Completa los cuestionarios previos en https://ff-quizzes.netlify.app/web/ -5. Trabaja con los ejemplos de código en las carpetas de las lecciones +5. Trabaja con los ejemplos de código en las carpetas de lecciones 6. Completa las tareas y desafíos -7. Realiza los cuestionarios posteriores a las lecciones +7. Realiza los cuestionarios posteriores a la lección ### Desarrollo en Vivo - **Documentación**: Ejecuta `docsify serve` en la raíz (puerto 3000) -- **Aplicación de Cuestionarios**: Ejecuta `npm run dev` en el directorio quiz-app +- **Quiz App**: Ejecuta `npm run dev` en el directorio quiz-app - **Proyectos**: Usa la extensión Live Server de VS Code para proyectos HTML -- **Proyectos API**: Ejecuta `npm start` en los directorios API correspondientes +- **Proyectos API**: Ejecuta `npm start` en los directorios API respectivos -## Instrucciones para Pruebas +## Instrucciones de Pruebas -### Pruebas de la Aplicación de Cuestionarios +### Pruebas de Quiz App ```bash cd quiz-app @@ -114,11 +114,11 @@ npm run lint # Verificar problemas de estilo de código npm run build # Verificar que la compilación sea exitosa ``` -### Pruebas API Bancaria +### Pruebas de Bank API ```bash cd 7-bank-project/api -npm run lint # Comprobar problemas de estilo de código +npm run lint # Verificar problemas de estilo de código node server.js # Verificar que el servidor arranque sin errores ``` @@ -126,74 +126,74 @@ node server.js # Verificar que el servidor arranque sin errores - Este es un repositorio educativo sin pruebas automatizadas exhaustivas - Las pruebas manuales se enfocan en: - - Los ejemplos de código funcionan sin errores - - Los enlaces en la documentación funcionan correctamente - - Las compilaciones de proyectos terminan sin errores - - Los ejemplos siguen las mejores prácticas + - Ejecución de ejemplos de código sin errores + - Funcionamiento correcto de enlaces en la documentación + - Compilación exitosa de proyectos + - Ejemplos que siguen las mejores prácticas -### Revisiones Previas a la Envío +### Chequeos Previos a Envíos -- Ejecutar `npm run lint` en los directorios con package.json -- Verificar que los enlaces markdown sean válidos -- Probar ejemplos de código en navegador o Node.js -- Comprobar que las traducciones mantengan la estructura adecuada +- Ejecuta `npm run lint` en directorios con package.json +- Verifica que los enlaces de markdown sean válidos +- Prueba los ejemplos de código en navegador o Node.js +- Revisa que las traducciones mantengan la estructura correcta -## Pautas de Estilo de Código +## Guías de Estilo de Código ### JavaScript -- Usar sintaxis moderna ES6+ -- Seguir configuraciones estándar de ESLint proporcionadas en los proyectos -- Usar nombres significativos en variables y funciones para claridad educativa -- Añadir comentarios explicativos para los conceptos -- Formatear con Prettier donde esté configurado +- Usa sintaxis moderna ES6+ +- Sigue configuraciones estándar ESLint proporcionadas en proyectos +- Usa nombres significativos para variables y funciones para claridad educativa +- Añade comentarios explicando conceptos para los estudiantes +- Formatea con Prettier donde esté configurado ### HTML/CSS -- Elementos semánticos HTML5 +- Elementos HTML5 semánticos - Principios de diseño responsivo -- Convenciones claras para nombres de clases +- Nomenclatura clara de clases - Comentarios que expliquen técnicas CSS para estudiantes ### Python -- Guías de estilo PEP 8 -- Ejemplos de código claros y educativos -- Anotaciones de tipos cuando sean útiles para el aprendizaje +- Lineamientos de estilo PEP 8 +- Código claro y educativo +- Anotaciones de tipo cuando ayuden al aprendizaje -### Documentación en Markdown +### Documentación Markdown -- Jerarquía clara en encabezados +- Jerarquía clara de encabezados - Bloques de código con especificación de lenguaje - Enlaces a recursos adicionales -- Capturas de pantalla e imágenes en `images/` directorios +- Capturas y imágenes en directorios `images/` - Texto alternativo en imágenes para accesibilidad ### Organización de Archivos - Lecciones numeradas secuencialmente (1-getting-started-lessons, 2-js-basics, etc.) -- Cada proyecto tiene carpetas `solution/` y a menudo `start/` o `your-work/` -- Imágenes almacenadas en carpetas `images/` específicas de la lección -- Traducciones en estructura `translations/{language-code}/` +- Cada proyecto tiene directorios `solution/` y a menudo `start/` o `your-work/` +- Imágenes almacenadas en carpetas `images/` específicas por lección +- Traducciones en estructura `translations/{código-idioma}/` ## Construcción y Despliegue -### Despliegue de la Aplicación de Cuestionarios (Azure Static Web Apps) +### Despliegue de Quiz App (Azure Static Web Apps) -La aplicación quiz-app está configurada para despliegue en Azure Static Web Apps: +La quiz-app está configurada para despliegue en Azure Static Web Apps: ```bash cd quiz-app npm run build # Crea la carpeta dist/ -# Despliega mediante el flujo de trabajo de GitHub Actions al hacer push a main +# Despliega a través del flujo de trabajo de GitHub Actions al hacer push en main ``` Configuración de Azure Static Web Apps: - **Ubicación de la app**: `/quiz-app` - **Ubicación de salida**: `dist` -- **Flujo de trabajo**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` +- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` -### Generación de PDF de la Documentación +### Generación de PDF de Documentación ```bash npm install # Instalar docsify-to-pdf @@ -207,76 +207,76 @@ npm install -g docsify-cli # Instalar Docsify globalmente docsify serve # Servir en localhost:3000 ``` -### Construcciones Específicas de Proyectos +### Construcciones Específicas por Proyecto -Cada directorio de proyecto puede tener su propio proceso de construcción: -- Proyectos Vue: `npm run build` crea paquetes para producción -- Proyectos estáticos: No tienen paso de construcción, se sirven archivos directamente +Cada directorio de proyecto puede tener su propio proceso de build: +- Proyectos Vue: `npm run build` crea bundles de producción +- Proyectos estáticos: Sin paso de construcción, se sirven archivos directamente ## Pautas para Pull Requests -### Formato de Título +### Formato del Título -Usar títulos claros y descriptivos que indiquen el área de cambio: -- `[Quiz-app] Añadir nuevo cuestionario para la lección X` -- `[Lesson-3] Corregir error tipográfico en proyecto terrario` +Usa títulos claros y descriptivos indicando el área del cambio: +- `[Quiz-app] Añadir nuevo quiz para la lección X` +- `[Lesson-3] Corregir error tipográfico en proyecto terrarium` - `[Translation] Añadir traducción al español para la lección 5` - `[Docs] Actualizar instrucciones de configuración` -### Requisitos para Revisiones +### Verificaciones Requeridas Antes de enviar un PR: -1. **Calidad del Código**: - - Ejecutar `npm run lint` en los directorios afectados de proyectos - - Corregir todos los errores y advertencias de linting +1. **Calidad de Código**: + - Ejecuta `npm run lint` en directorios de proyectos afectados + - Corrige todos los errores y advertencias de linting -2. **Verificación de Construcción**: - - Ejecutar `npm run build` si aplica - - Asegurar que no haya errores de construcción +2. **Verificación de Build**: + - Ejecuta `npm run build` si aplica + - Asegura que no haya errores de compilación 3. **Validación de Enlaces**: - - Probar todos los enlaces markdown - - Verificar que las referencias de imágenes funcionen + - Prueba todos los enlaces markdown + - Verifica que referencias a imágenes funcionen -4. **Revisión de Contenido**: - - Revisar ortografía y gramática - - Asegurar que los ejemplos de código sean correctos y educativos - - Verificar que las traducciones mantengan el significado original +4. **Revisión del Contenido**: + - Revisa ortografía y gramática + - Asegura que los ejemplos de código sean correctos y educativos + - Verifica que las traducciones mantengan el significado original -### Requisitos para Contribuciones +### Requisitos de Contribución -- Aceptar el CLA de Microsoft (verificación automática en el primer PR) +- Aceptar el CLA de Microsoft (revisión automática en el primer PR) - Seguir el [Código de Conducta de Código Abierto de Microsoft](https://opensource.microsoft.com/codeofconduct/) -- Consultar [CONTRIBUTING.md](./CONTRIBUTING.md) para pautas detalladas -- Referenciar números de issues en la descripción del PR si aplica +- Consultar [CONTRIBUTING.md](./CONTRIBUTING.md) para directrices detalladas +- Referenciar números de issue en la descripción del PR si aplica ### Proceso de Revisión -- Los PR son revisados por mantenedores y comunidad +- PR revisados por mantenedores y comunidad - Se prioriza la claridad educativa -- Los ejemplos de código deben seguir buenas prácticas actuales -- Las traducciones se revisan por precisión y adecuación cultural +- Los ejemplos de código deben seguir las mejores prácticas actuales +- Traducciones revisadas para precisión y adecuación cultural ## Sistema de Traducción ### Traducción Automatizada -- Usa GitHub Actions con el flujo de trabajo co-op-translator +- Usa GitHub Actions con workflow co-op-translator - Traduce automáticamente a más de 50 idiomas - Archivos fuente en directorios principales -- Archivos traducidos en `translations/{language-code}/` +- Archivos traducidos en directorios `translations/{código-idioma}/` -### Añadiendo Mejoras en Traducción Manual +### Agregar Mejoras Manuales a Traducciones -1. Ubica el archivo en `translations/{language-code}/` -2. Realiza mejoras preservando la estructura -3. Asegúrate que los ejemplos de código funcionen correctamente -4. Prueba contenido localizado de cuestionarios si aplica +1. Ubica el archivo en `translations/{código-idioma}/` +2. Haz mejoras preservando la estructura +3. Asegura que los ejemplos de código sigan funcionando +4. Prueba cualquier contenido localizado de cuestionarios ### Metadatos de Traducción -Los archivos traducidos incluyen encabezado de metadatos: +Los archivos traducidos incluyen encabezado con metadatos: ```markdown ``` -## Depuración y Solución de Problemas +## Depuración y Resolución de Problemas ### Problemas Comunes -**La aplicación de cuestionarios no inicia**: -- Verificar la versión de Node.js (recomendado v14+) -- Borrar `node_modules` y `package-lock.json`, ejecutar `npm install` nuevamente -- Comprobar conflictos en el puerto (por defecto: Vite usa puerto 5173) +**Quiz app no arranca**: +- Verifica la versión de Node.js (recomendada v14+) +- Elimina `node_modules` y `package-lock.json`, ejecuta `npm install` de nuevo +- Revisa conflictos de puertos (por defecto: Vite usa el puerto 5173) -**El servidor API no inicia**: -- Verificar que la versión de Node.js sea al menos (node >=10) -- Revisar si el puerto ya está en uso -- Asegurarse de que todas las dependencias estén instaladas con `npm install` +**Servidor API no inicia**: +- Confirma que la versión de Node.js cumple el mínimo (node >=10) +- Revisa si el puerto ya está en uso +- Asegura que todas las dependencias estén instaladas con `npm install` -**La extensión de navegador no carga**: -- Verificar que manifest.json esté correctamente formateado -- Revisar consola del navegador por errores -- Seguir instrucciones específicas para instalación de extensiones según navegador +**Extensión de navegador no carga**: +- Verifica que manifest.json esté correctamente formateado +- Revisa la consola del navegador por errores +- Sigue las instrucciones específicas de instalación para el navegador -**Problemas con el proyecto chat en Python**: -- Asegurar que el paquete OpenAI esté instalado: `pip install openai` -- Verificar que la variable de entorno GITHUB_TOKEN esté configurada -- Comprobar permisos de acceso a GitHub Models +**Problemas con proyecto de chat en Python**: +- Asegura que el paquete OpenAI esté instalado: `pip install openai` +- Verifica que la variable de entorno GITHUB_TOKEN esté configurada +- Revisa permisos de acceso a GitHub Models **Docsify no sirve la documentación**: -- Instalar docsify-cli globalmente: `npm install -g docsify-cli` -- Ejecutar desde el directorio raíz del repositorio -- Comprobar que `docs/_sidebar.md` exista +- Instala docsify-cli globalmente: `npm install -g docsify-cli` +- Ejecuta desde el directorio raíz del repositorio +- Confirma que existe `docs/_sidebar.md` ### Consejos para el Entorno de Desarrollo -- Usar VS Code con extensión Live Server para proyectos HTML -- Instalar extensiones ESLint y Prettier para formato consistente -- Usar herramientas de desarrollador del navegador para depurar JavaScript -- Para proyectos Vue, instalar extensión Vue DevTools para navegador +- Usa VS Code con la extensión Live Server para proyectos HTML +- Instala extensiones ESLint y Prettier para formato consistente +- Usa las DevTools del navegador para depurar JavaScript +- Para proyectos Vue, instala la extensión de navegador Vue DevTools ### Consideraciones de Rendimiento -- Gran número de archivos traducidos (50+ idiomas) hace que los clones completos sean pesados -- Usar clonación superficial si solo se trabaja con contenido: `git clone --depth 1` -- Excluir traducciones de búsquedas cuando se trabaja en contenido en inglés -- Procesos de construcción pueden ser lentos en ejecución inicial (npm install, construcción Vite) +- Gran cantidad de archivos traducidos (más de 50 idiomas) hace que los clones completos sean grandes +- Usa clonación superficial si solo trabajas con contenido: `git clone --depth 1` +- Excluye traducciones de búsquedas cuando trabajes con contenido en inglés +- Los procesos de build pueden ser lentos en la primera ejecución (npm install, build con Vite) ## Consideraciones de Seguridad ### Variables de Entorno -- Las claves API nunca deben incluirse en el repositorio -- Usar archivos `.env` (ya incluidos en `.gitignore`) -- Documentar las variables de entorno requeridas en los README de los proyectos +- Las claves API nunca deberían ser comprometidas en el repositorio +- Usa archivos `.env` (ya en `.gitignore`) +- Documenta las variables de entorno requeridas en los README de proyectos -### Proyectos en Python +### Proyectos Python -- Usar entornos virtuales: `python -m venv venv` -- Mantener dependencias actualizadas -- Los tokens de GitHub deben tener permisos mínimos necesarios +- Usa entornos virtuales: `python -m venv venv` +- Mantén dependencias actualizadas +- Los tokens de GitHub deben tener permisos mínimos requeridos ### Acceso a GitHub Models -- Se requieren Tokens de Acceso Personal (PAT) para GitHub Models -- Los tokens se deben guardar como variables de entorno -- Nunca se deben subir tokens ni credenciales al repositorio +- Se requieren Personal Access Tokens (PAT) para GitHub Models +- Guarda los tokens como variables de entorno +- Nunca cometas tokens ni credenciales ## Notas Adicionales ### Público Objetivo -- Principiantes completos en desarrollo web -- Estudiantes y autoaprendices -- Profesores usando el plan de estudios en aulas -- Contenido diseñado para accesibilidad y construcción gradual de habilidades +- Principiantes absolutos en desarrollo web +- Estudiantes y autodidactas +- Profesores usando el currículo en aulas +- Contenido diseñado para accesibilidad y desarrollo gradual de habilidades ### Filosofía Educativa -- Enfoque basado en aprendizaje por proyectos -- Evaluaciones frecuentes de conocimiento (cuestionarios) +- Enfoque de aprendizaje basado en proyectos +- Revisiones frecuentes de conocimientos (cuestionarios) - Ejercicios prácticos de codificación -- Ejemplos aplicados del mundo real -- Enfoque en fundamentos antes que en frameworks +- Ejemplos de aplicación en el mundo real +- Enfoque en fundamentos antes de frameworks ### Mantenimiento del Repositorio - Comunidad activa de aprendices y colaboradores -- Actualizaciones regulares de dependencias y contenido -- Issues y discusiones monitoreadas por mantenedores -- Actualizaciones de traducción automatizadas con GitHub Actions +- Actualizaciones regulares de dependencias y contenidos +- Monitoreo de issues y discusiones por mantenedores +- Actualizaciones de traducción automatizadas mediante GitHub Actions ### Recursos Relacionados - [Módulos de Microsoft Learn](https://docs.microsoft.com/learn/) -- [Recursos de Student Hub](https://docs.microsoft.com/learn/student-hub/) +- [Recursos del Student Hub](https://docs.microsoft.com/learn/student-hub/) - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) recomendado para estudiantes -- Cursos adicionales: IA generativa, Ciencia de Datos, ML, IoT disponibles +- Cursos adicionales: Currículos de IA generativa, Ciencia de Datos, ML, IoT disponibles -### Trabajando con Proyectos Específicos +### Trabajo con Proyectos Específicos -Para instrucciones detalladas sobre proyectos individuales, consulte los archivos README en: -- `quiz-app/README.md` - Aplicación de cuestionarios en Vue 3 -- `7-bank-project/README.md` - Aplicación bancaria con autenticación -- `5-browser-extension/README.md` - Desarrollo de extensión de navegador -- `6-space-game/README.md` - Desarrollo de juego con Canvas -- `9-chat-project/README.md` - Proyecto asistente de chat con IA +Para instrucciones detalladas sobre proyectos individuales, consulta los archivos README en: +- `quiz-app/README.md` - aplicación de quiz en Vue 3 +- `7-bank-project/README.md` - aplicación bancaria con autenticación +- `5-browser-extension/README.md` - desarrollo de extensión de navegador +- `6-space-game/README.md` - desarrollo de juego con canvas +- `9-chat-project/README.md` - proyecto asistente de chat con IA ### Estructura Monorepo Aunque no es un monorepo tradicional, este repositorio contiene múltiples proyectos independientes: -- Cada lección es autónoma +- Cada lección es autocontenida - Los proyectos no comparten dependencias -- Se puede trabajar en proyectos individuales sin afectar otros -- Clonar el repositorio completo para la experiencia completa del plan de estudios +- Trabaja en proyectos individuales sin afectar otros +- Clona el repositorio completo para la experiencia completa del currículo --- **Aviso legal**: -Este documento ha sido traducido utilizando el servicio de traducción AI [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de ningún malentendido o mala interpretación derivada del uso de esta traducción. +Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por lograr precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda la traducción profesional humana. No nos hacemos responsables de malentendidos o interpretaciones erróneas que surjan del uso de esta traducción. \ No newline at end of file diff --git a/translations/es/README.md b/translations/es/README.md index 83f1d6c2da..7ba5ec9d98 100644 --- a/translations/es/README.md +++ b/translations/es/README.md @@ -12,7 +12,7 @@ # Desarrollo Web para Principiantes - Un Currículo -Aprende los fundamentos del desarrollo web con nuestro curso integral de 12 semanas impartido por Microsoft Cloud Advocates. Cada una de las 24 lecciones profundiza en JavaScript, CSS y HTML a través de proyectos prácticos como terrarios, extensiones de navegador y juegos espaciales. Participa con cuestionarios, discusiones y tareas prácticas. Mejora tus habilidades y optimiza la retención de conocimiento con nuestra eficaz pedagogía basada en proyectos. ¡Comienza tu viaje de codificación hoy! +Aprende los fundamentos del desarrollo web con nuestro curso integral de 12 semanas impartido por Microsoft Cloud Advocates. Cada una de las 24 lecciones profundiza en JavaScript, CSS y HTML a través de proyectos prácticos como terrarios, extensiones de navegador y juegos espaciales. Participa con cuestionarios, discusiones y tareas prácticas. Mejora tus habilidades y optimiza la retención de conocimiento con nuestra efectiva metodología basada en proyectos. ¡Comienza tu viaje de codificación hoy! Únete a la Comunidad Azure AI Foundry en Discord @@ -21,18 +21,18 @@ Aprende los fundamentos del desarrollo web con nuestro curso integral de 12 sema Sigue estos pasos para comenzar a usar estos recursos: 1. **Haz un Fork del Repositorio**: Haz clic en [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) 2. **Clona el Repositorio**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**Únete al Azure AI Foundry Discord y conoce expertos y compañeros desarrolladores**](https://discord.com/invite/ByRwuEEgH4) +3. [**Únete al Azure AI Foundry Discord y conoce a expertos y otros desarrolladores**](https://discord.com/invite/ByRwuEEgH4) -### 🌐 Soporte Multilingüe +### 🌐 Soporte Multilenguaje #### Soportado vía GitHub Action (Automatizado y Siempre Actualizado) -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](./README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](./README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) > **¿Prefieres Clonar Localmente?** > -> Este repositorio incluye más de 50 traducciones que aumentan significativamente el tamaño de la descarga. Para clonar sin traducciones, usa sparse checkout: +> Este repositorio incluye más de 50 traducciones de idiomas que aumentan significativamente el tamaño de la descarga. Para clonar sin traducciones, usa checkout disperso: > > **Bash / macOS / Linux:** > ```bash @@ -51,62 +51,62 @@ Sigue estos pasos para comenzar a usar estos recursos: > Esto te da todo lo necesario para completar el curso con una descarga mucho más rápida. -**Si deseas que se admitan idiomas adicionales para traducciones están listados [aquí](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**Si deseas que se admitan idiomas adicionales para la traducción, están listados [aquí](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** -[![Abrir en Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) +[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) #### 🧑‍🎓 _¿Eres estudiante?_ -Visita la [**página del Centro de Estudiantes**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) donde encontrarás recursos para principiantes, paquetes para estudiantes e incluso formas de obtener un voucher gratuito para certificación. Esta es la página que debes guardar en favoritos y revisar periódicamente, ya que actualizamos contenido mensualmente. +Visita la [**página Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) donde encontrarás recursos para principiantes, paquetes para estudiantes e incluso formas de obtener un cupón para certificado gratis. Esta es la página que quieres marcar como favorita y revisar de vez en cuando ya que actualizamos el contenido mensualmente. -### 📣 Anuncio - ¡Nuevos desafíos de modo Agente de GitHub Copilot para completar! +### 📣 Anuncio - ¡Nuevos desafíos del modo Agente GitHub Copilot para completar! -Nuevo desafío añadido, busca "GitHub Copilot Agent Challenge 🚀" en la mayoría de los capítulos. Es un nuevo reto para que lo completes usando GitHub Copilot y el modo Agente. Si no has usado el modo Agente antes, es capaz no solo de generar texto sino también de crear y editar archivos, ejecutar comandos y más. +Nuevo desafío añadido, busca "GitHub Copilot Agent Challenge 🚀" en la mayoría de los capítulos. Es un nuevo desafío para que completes usando GitHub Copilot y el modo Agente. Si no has usado el modo Agente antes, es capaz no solo de generar texto, sino también de crear y editar archivos, ejecutar comandos y más. -### 📣 Anuncio - _Nuevo Proyecto para construir usando IA Generativa_ +### 📣 Anuncio - _Nuevo proyecto para construir usando IA Generativa_ -Nuevo proyecto de asistente de IA añadido, échale un vistazo [proyecto](./9-chat-project/README.md) +Nuevo proyecto Asistente AI añadido, échale un vistazo [proyecto](./9-chat-project/README.md) -### 📣 Anuncio - _Nuevo Currículo_ sobre IA Generativa para JavaScript acaba de ser lanzado +### 📣 Anuncio - _Nuevo currículo_ sobre IA Generativa para JavaScript acaba de ser lanzado -¡No te pierdas nuestro nuevo currículo de IA generativa! +¡No te pierdas nuestro nuevo currículo de IA Generativa! -Visita [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para comenzar. +Visita [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para comenzar! ![Background](../../translated_images/es/background.148a8d43afde5730.webp) -- Lecciones que cubren desde conceptos básicos hasta RAG. -- Interactúa con personajes históricos usando GenAI y nuestra aplicación complementaria. -- Narrativa divertida y atractiva, ¡vas a viajar en el tiempo! +- Lecciones que cubren desde lo básico hasta RAG. +- Interactúa con personajes históricos usando GenAI y nuestra aplicación compañera. +- ¡Narrativa divertida y atractiva, viajarás en el tiempo! ![character](../../translated_images/es/character.5c0dd8e067ffd693.webp) -Cada lección incluye una tarea para completar, una verificación de conocimiento y un desafío para guiarte en temas como: -- Solicitudes y diseño de prompts -- Generación de aplicaciones de texto e imágenes -- Aplicaciones de búsqueda +Cada lección incluye una tarea para completar, una revisión de conocimiento y un desafío para guiarte en temas como: +- Prompting y ingeniería de prompts +- Generación de apps de texto e imagen +- Apps de búsqueda -Visita [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para comenzar. +Visita [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para comenzar! -## 🌱 Comenzando +## 🌱 Primeros Pasos > **Profesores**, hemos [incluido algunas sugerencias](for-teachers.md) sobre cómo usar este currículo. ¡Nos encantaría recibir sus comentarios [en nuestro foro de discusión](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! -**[Estudiantes](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, para cada lección, comiencen con un cuestionario previo a la clase y continúen leyendo el material de la lección, completando las diversas actividades y verificando su comprensión con el cuestionario posterior a la clase. +**[Estudiantes](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, para cada lección, comiencen con un cuestionario previo y sigan leyendo el material de la lección, completando las diversas actividades y comprobando su comprensión con el cuestionario posterior a la clase. -Para mejorar tu experiencia de aprendizaje, ¡conéctate con tus compañeros para trabajar juntos en los proyectos! Se fomentan las discusiones en nuestro [foro de discusión](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) donde nuestro equipo de moderadores estará disponible para responder tus preguntas. +Para mejorar su experiencia de aprendizaje, ¡conéctense con sus compañeros para trabajar juntos en los proyectos! Las discusiones están alentadas en nuestro [foro de discusión](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) donde nuestro equipo de moderadores estará disponible para responder sus preguntas. -Para continuar tu educación, recomendamos explorar [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) para encontrar materiales de estudio adicionales. +Para profundizar en la educación, recomendamos altamente explorar [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) para materiales de estudio adicionales. ### 📋 Configurando tu entorno -¡Este currículo tiene un entorno de desarrollo listo para usar! Al comenzar, puedes elegir ejecutar el currículo en un [Codespace](https://github.com/features/codespaces/) (_un entorno basado en navegador, sin necesidad de instalaciones_), o localmente en tu computadora usando un editor de texto como [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +¡Este currículo tiene un entorno de desarrollo listo para usar! Al comenzar puedes elegir ejecutar el currículo en un [Codespace](https://github.com/features/codespaces/) (_un entorno basado en navegador, sin necesidad de instalaciones_), o localmente en tu computadora usando un editor de texto como [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). #### Crea tu repositorio -Para que sea fácil guardar tu trabajo, se recomienda crear tu propia copia de este repositorio. Puedes hacerlo haciendo clic en el botón **Usar esta plantilla** en la parte superior de la página. Esto creará un nuevo repositorio en tu cuenta de GitHub con una copia del currículo. +Para guardar fácilmente tu trabajo, se recomienda crear tu propia copia de este repositorio. Puedes hacerlo haciendo clic en el botón **Use this template** en la parte superior de la página. Esto creará un nuevo repositorio en tu cuenta de GitHub con una copia del currículo. Sigue estos pasos: 1. **Haz un Fork del Repositorio**: Haz clic en el botón "Fork" en la esquina superior derecha de esta página. @@ -114,16 +114,16 @@ Sigue estos pasos: #### Ejecutando el currículo en un Codespace -En tu copia del repositorio que creaste, haz clic en el botón **Code** y selecciona **Open with Codespaces**. Esto creará un nuevo Codespace para que trabajes. +En tu copia de este repositorio que creaste, haz clic en el botón **Code** y selecciona **Open with Codespaces**. Esto creará un nuevo Codespace para que trabajes. ![Codespace](../../translated_images/es/createcodespace.0238bbf4d7a8d955.webp) #### Ejecutando el currículo localmente en tu computadora -Para ejecutar este currículo localmente en tu computadora, necesitarás un editor de texto, un navegador y una herramienta de línea de comandos. Nuestra primera lección, [Introducción a los Lenguajes de Programación y Herramientas del Oficio](../../1-getting-started-lessons/1-intro-to-programming-languages), te guiará por varias opciones para cada una de estas herramientas para que selecciones la que funcione mejor para ti. +Para ejecutar este currículo localmente en tu computadora necesitarás un editor de texto, un navegador y una herramienta de línea de comandos. Nuestra primera lección, [Introducción a Lenguajes de Programación y Herramientas del Oficio](../../1-getting-started-lessons/1-intro-to-programming-languages), te guiará a través de varias opciones para cada una de estas herramientas para que elijas lo que mejor se adapte a ti. -Nuestra recomendación es usar [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) como editor, que también tiene una [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) integrada. Puedes descargar Visual Studio Code [aquí](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -1. Clona tu repositorio en tu computadora. Puedes hacerlo haciendo clic en el botón **Code** y copiando la URL: +Nuestra recomendación es usar [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) como tu editor, que también tiene un [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) integrado. Puedes descargar Visual Studio Code [aquí](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +1. Clona tu repositorio en tu computadora. Puedes hacer esto haciendo clic en el botón **Code** y copiando la URL: [CodeSpace](./images/createcodespace.png) @@ -133,88 +133,88 @@ Nuestra recomendación es usar [Visual Studio Code](https://code.visualstudio.co git clone ``` -2. Abre la carpeta en Visual Studio Code. Puedes hacerlo haciendo clic en **File** > **Open Folder** y seleccionando la carpeta que acabas de clonar. +2. Abre la carpeta en Visual Studio Code. Puedes hacer esto haciendo clic en **File** > **Open Folder** y seleccionando la carpeta que acabas de clonar. -> Extensiones recomendadas de Visual Studio Code: +> Extensiones recomendadas de Visual Studio Code: > > * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - para previsualizar páginas HTML dentro de Visual Studio Code > * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - para ayudarte a escribir código más rápido ## 📂 Cada lección incluye: -- sketchnote opcional +- nota gráfica opcional - video complementario opcional -- cuestionario de calentamiento previo a la lección +- cuestionario de calentamiento antes de la lección - lección escrita -- para lecciones basadas en proyectos, guías paso a paso para construir el proyecto +- para lecciones basadas en proyectos, guías paso a paso sobre cómo construir el proyecto - verificaciones de conocimiento - un desafío - lectura complementaria -- asignación +- tarea - [cuestionario posterior a la lección](https://ff-quizzes.netlify.app/web/) -> **Una nota sobre los cuestionarios**: Todos los cuestionarios están contenidos en la carpeta Quiz-app, con un total de 48 cuestionarios de tres preguntas cada uno. Están disponibles [aquí](https://ff-quizzes.netlify.app/web/), la aplicación de cuestionarios puede ejecutarse localmente o desplegarse en Azure; sigue las instrucciones en la carpeta `quiz-app`. +> **Una nota sobre los cuestionarios**: Todos los cuestionarios están contenidos en la carpeta Quiz-app, un total de 48 cuestionarios con tres preguntas cada uno. Están disponibles [aquí](https://ff-quizzes.netlify.app/web/); la aplicación de cuestionarios puede ejecutarse localmente o desplegarse en Azure; sigue las instrucciones en la carpeta `quiz-app`. ## 🗃️ Lecciones -| | Nombre del Proyecto | Conceptos Enseñados | Objetivos de Aprendizaje | Lección Vinculada | Autor | -| :-: | :-------------------------------------------------------------: | :------------------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | Primeros Pasos | Introducción a la programación y herramientas del oficio | Aprende los fundamentos básicos detrás de la mayoría de los lenguajes de programación y sobre el software que ayuda a los desarrolladores profesionales a hacer su trabajo | [Introducción a los Lenguajes de Programación y Herramientas del Oficio](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | Primeros Pasos | Fundamentos de GitHub, incluye trabajo en equipo | Cómo usar GitHub en tu proyecto, cómo colaborar con otros en una base de código | [Introducción a GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | Primeros Pasos | Accesibilidad | Aprende los fundamentos de la accesibilidad web | [Fundamentos de Accesibilidad](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | Conceptos Básicos de JS | Tipos de datos en JavaScript | Lo básico sobre tipos de datos en JavaScript | [Tipos de Datos](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | Conceptos Básicos de JS | Funciones y Métodos | Aprende sobre funciones y métodos para manejar el flujo lógico de una aplicación | [Funciones y Métodos](./2-js-basics/2-functions-methods/README.md) | Jasmine y Christopher | -| 06 | Conceptos Básicos de JS | Tomando decisiones con JS | Aprende a crear condiciones en tu código usando métodos de toma de decisiones | [Tomando Decisiones](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | Conceptos Básicos de JS | Arreglos y Bucles | Trabaja con datos usando arreglos y bucles en JavaScript | [Arreglos y Bucles](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrario](./3-terrarium/solution/README.md) | HTML en Práctica | Construye el HTML para crear un terrario en línea, enfocándote en construir un diseño | [Introducción a HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrario](./3-terrarium/solution/README.md) | CSS en Práctica | Construye el CSS para dar estilo al terrario en línea, enfocándote en lo básico de CSS incluyendo cómo hacer la página responsiva | [Introducción a CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrario](./3-terrarium/solution/README.md) | Closures en JavaScript, manipulación del DOM | Construye el JavaScript para que el terrario funcione como una interfaz de arrastrar y soltar, enfocándote en closures y manipulación del DOM | [Closures en JavaScript, manipulación del DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Juego de mecanografía](./4-typing-game/solution/README.md) | Construye un juego de mecanografía | Aprende a usar eventos de teclado para dirigir la lógica de tu aplicación JavaScript | [Programación basada en eventos](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Extensión de navegador verde](./5-browser-extension/solution/README.md) | Trabajando con navegadores | Aprende cómo funcionan los navegadores, su historia y cómo estructurar los primeros elementos de una extensión del navegador | [Acerca de los navegadores](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Extensión de navegador verde](./5-browser-extension/solution/README.md) | Construcción de formularios, llamada a API y almacenamiento local | Construye los elementos JavaScript de tu extensión de navegador para llamar una API usando variables almacenadas en almacenamiento local | [APIs, formularios y almacenamiento local](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Extensión de navegador verde](./5-browser-extension/solution/README.md) | Procesos en segundo plano del navegador, rendimiento web | Usa los procesos en segundo plano del navegador para gestionar el ícono de la extensión; aprende sobre rendimiento web y algunas optimizaciones | [Tareas en segundo plano y rendimiento](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Juego espacial](./6-space-game/solution/README.md) | Desarrollo avanzado de juegos con JavaScript | Aprende sobre herencia usando tanto clases como composición y el patrón Pub/Sub, en preparación para construir un juego | [Introducción al desarrollo avanzado de juegos](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [Juego espacial](./6-space-game/solution/README.md) | Dibujando en canvas | Aprende sobre la API Canvas, usada para dibujar elementos en pantalla | [Dibujando en Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Juego espacial](./6-space-game/solution/README.md) | Moviendo elementos en la pantalla | Descubre cómo los elementos pueden ganar movimiento usando coordenadas cartesianas y la API Canvas | [Moviendo elementos](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Juego espacial](./6-space-game/solution/README.md) | Detección de colisiones | Haz que los elementos colisionen y reaccionen entre sí usando pulsaciones de teclas y proporciona una función de enfriamiento para asegurar el rendimiento del juego | [Detección de colisiones](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Juego espacial](./6-space-game/solution/README.md) | Mantenimiento de puntuación | Realiza cálculos matemáticos basados en el estado y rendimiento del juego | [Mantenimiento de puntuación](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Juego espacial](./6-space-game/solution/README.md) | Terminando y reiniciando el juego | Aprende sobre finalizar y reiniciar el juego, incluyendo limpiar recursos y resetear valores de variables | [La condición de finalización](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [App bancaria](./7-bank-project/solution/README.md) | Plantillas HTML y rutas en una aplicación web | Aprende cómo crear la estructura de arquitectura de un sitio web multipágina usando rutas y plantillas HTML | [Plantillas HTML y rutas](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [App bancaria](./7-bank-project/solution/README.md) | Construcción de formularios de inicio de sesión y registro | Aprende sobre construcción de formularios y manejo de rutinas de validación | [Formularios](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [App bancaria](./7-bank-project/solution/README.md) | Métodos para obtener y usar datos | Cómo fluyen los datos dentro y fuera de tu aplicación, cómo obtenerlos, almacenarlos y deshacerse de ellos | [Datos](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [App bancaria](./7-bank-project/solution/README.md) | Conceptos de gestión de estado | Aprende cómo tu aplicación retiene el estado y cómo gestionarlo programáticamente | [Gestión de estado](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Código Editor Browser/VScode](../../8-code-editor) | Trabajando con VScode | Aprende a usar un editor de código| [Usar el Editor de Código VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [Asistentes de IA](./9-chat-project/README.md) | Trabajando con IA | Aprende cómo construir tu propio asistente de IA | [Proyecto de Asistente de IA](./9-chat-project/README.md) | Chris | +| | Nombre del Proyecto | Conceptos Enseñados | Objetivos de Aprendizaje | Lección Vinculada | Autor | +| :-: | :--------------------------------------------------------------: | :-----------------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :-------------------: | +| 01 | Comenzando | Introducción a la programación y herramientas del oficio | Aprende los fundamentos básicos detrás de la mayoría de los lenguajes de programación y sobre el software que ayuda a desarrolladores profesionales a hacer su trabajo | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Comenzando | Conceptos básicos de GitHub, incluye trabajo en equipo | Cómo usar GitHub en tu proyecto, cómo colaborar con otros en una base de código | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Comenzando | Accesibilidad | Aprende los conceptos básicos de accesibilidad web | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | JS Básico | Tipos de datos en JavaScript | Los conceptos básicos de los tipos de datos en JavaScript | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | JS Básico | Funciones y métodos | Aprende sobre funciones y métodos para manejar el flujo lógico de una aplicación | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine y Christopher | +| 06 | JS Básico | Tomando decisiones con JS | Aprende a crear condiciones en tu código utilizando métodos de toma de decisiones | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | JS Básico | Arreglos y bucles | Trabaja con datos usando arreglos y bucles en JavaScript | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML en práctica | Construye el HTML para crear un terrario en línea, enfocándote en construir un diseño | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS en práctica | Construye el CSS para darle estilo al terrario en línea, enfocándote en los fundamentos de CSS, incluyendo hacer la página responsiva | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](./3-terrarium/solution/README.md) | Closures en JavaScript, manipulación del DOM | Construye el JavaScript para que el terrario funcione como una interfaz de arrastrar y soltar, enfocándote en closures y manipulación del DOM | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Typing Game](./4-typing-game/solution/README.md) | Construye un juego de mecanografía | Aprende a usar eventos de teclado para manejar la lógica de tu aplicación JavaScript | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Trabajando con navegadores | Aprende cómo funcionan los navegadores, su historia y cómo esqueletonizar los primeros elementos de una extensión para navegador | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Construir un formulario, llamar a una API y almacenar variables localmente | Construye los elementos JavaScript de tu extensión de navegador para llamar una API usando variables almacenadas localmente | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Procesos en segundo plano en el navegador, rendimiento web | Usa los procesos en segundo plano del navegador para administrar el ícono de la extensión; aprende sobre el rendimiento web y algunas optimizaciones para mejorarlo | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Space Game](./6-space-game/solution/README.md) | Desarrollo de juegos más avanzado con JavaScript | Aprende sobre herencia usando tanto clases como composición y el patrón Pub/Sub, para prepararte para construir un juego | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Space Game](./6-space-game/solution/README.md) | Dibujando en canvas | Aprende sobre la API Canvas, usada para dibujar elementos en una pantalla | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Space Game](./6-space-game/solution/README.md) | Moviendo elementos por la pantalla | Descubre cómo los elementos pueden adquirir movimiento usando coordenadas cartesianas y la API Canvas | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Space Game](./6-space-game/solution/README.md) | Detección de colisiones | Haz que los elementos colisionen y reaccionen entre sí usando presiones de tecla y provee una función de enfriamiento para asegurar el rendimiento del juego | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Space Game](./6-space-game/solution/README.md) | Mantener puntuación | Realiza cálculos matemáticos basados en el estado y rendimiento del juego | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Space Game](./6-space-game/solution/README.md) | Finalizar y reiniciar el juego | Aprende sobre finalizar y reiniciar el juego, incluyendo limpiar recursos y reiniciar valores de variables | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Banking App](./7-bank-project/solution/README.md) | Plantillas HTML y rutas en una aplicación web | Aprende a crear la estructura de la arquitectura de un sitio web multipágina usando rutas y plantillas HTML | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Banking App](./7-bank-project/solution/README.md) | Construye un formulario de inicio de sesión y registro | Aprende a construir formularios y manejar rutinas de validación | [Forms](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Banking App](./7-bank-project/solution/README.md) | Métodos para obtener y usar datos | Cómo fluyen los datos dentro y fuera de tu aplicación, cómo obtenerlos, almacenarlos y desecharlos | [Data](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Banking App](./7-bank-project/solution/README.md) | Conceptos de gestión de estado | Aprende cómo tu aplicación retiene el estado y cómo gestionarlo programáticamente | [State Management](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Browser/VScode Code](../../8-code-editor) | Trabajar con VScode | Aprende a usar un editor de código | [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [AI Assistants](./9-chat-project/README.md) | Trabajar con IA | Aprende a construir tu propio asistente de IA | [AI Assistant project](./9-chat-project/README.md) | Chris | ## 🏫 Pedagogía -Nuestro plan de estudios está diseñado con dos principios pedagógicos clave en mente: +Nuestro currículo está diseñado con dos principios pedagógicos clave en mente: * aprendizaje basado en proyectos * cuestionarios frecuentes -El programa enseña los fundamentos de JavaScript, HTML y CSS, así como las últimas herramientas y técnicas usadas por los desarrolladores web actuales. Los estudiantes tendrán la oportunidad de desarrollar experiencia práctica construyendo un juego de mecanografía, un terrario virtual, una extensión de navegador ecológica, un juego estilo invasores espaciales y una app bancaria para negocios. Al final de la serie, los estudiantes habrán adquirido una sólida comprensión del desarrollo web. +El programa enseña los fundamentos de JavaScript, HTML y CSS, así como las últimas herramientas y técnicas utilizadas por los desarrolladores web actuales. Los estudiantes tendrán la oportunidad de desarrollar experiencia práctica construyendo un juego de mecanografía, un terrario virtual, una extensión de navegador ecológica, un juego estilo invasores espaciales y una aplicación bancaria para negocios. Al final de la serie, los estudiantes habrán adquirido una sólida comprensión del desarrollo web. -> 🎓 ¡Puedes tomar las primeras lecciones de este plan de estudios como un [Camino de Aprendizaje](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) en Microsoft Learn! +> 🎓 ¡Puedes tomar las primeras lecciones de este currículo como una [ruta de aprendizaje](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) en Microsoft Learn! -Al asegurar que el contenido esté alineado con proyectos, el proceso se vuelve más atractivo para los estudiantes y se potenciará la retención de conceptos. También escribimos varias lecciones introductorias sobre conceptos básicos de JavaScript para introducir conceptos, acompañadas por un video de la colección de tutoriales en video "[Serie para principiantes de: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", algunos de cuyos autores contribuyeron a este plan de estudios. +Al asegurar que el contenido se alinee con proyectos, el proceso se vuelve más atractivo para los estudiantes y se potencia la retención de conceptos. También escribimos varias lecciones introductorias en los fundamentos de JavaScript para introducir conceptos, acompañadas de un video de la colección de tutoriales en video "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", algunos de cuyos autores contribuyeron a este currículo. -Además, un cuestionario de baja presión antes de una clase establece la intención del estudiante hacia el aprendizaje de un tema, mientras que un segundo cuestionario después de la clase asegura una mayor retención. Este plan se diseñó para ser flexible y divertido y puede realizarse completo o en parte. Los proyectos comienzan pequeños y se vuelven cada vez más complejos al finalizar el ciclo de 12 semanas. +Además, un cuestionario de bajo riesgo antes de una clase establece la intención del estudiante hacia el aprendizaje de un tema, mientras que un segundo cuestionario después de la clase garantiza una mayor retención. Este currículo fue diseñado para ser flexible y divertido y puede tomarse en su totalidad o en parte. Los proyectos comienzan pequeños y se vuelven cada vez más complejos al final del ciclo de 12 semanas. -Aunque hemos evitado intencionadamente introducir frameworks de JavaScript para centrarnos en las habilidades básicas necesarias como desarrollador web antes de adoptar un framework, un buen siguiente paso después de completar este plan sería aprender sobre Node.js a través de otra colección de videos: "[Serie para principiantes de: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +Aunque hemos evitado intencionadamente introducir frameworks de JavaScript para concentrarnos en las habilidades básicas necesarias como desarrollador web antes de adoptar un framework, un buen siguiente paso después de completar este currículo sería aprender sobre Node.js a través de otra colección de videos: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> ¡Visita nuestras pautas de [Código de Conducta](CODE_OF_CONDUCT.md) y [Contribución](CONTRIBUTING.md)! ¡Esperamos tus comentarios constructivos! +> Visita nuestras guías de [Código de Conducta](CODE_OF_CONDUCT.md) y [Contribuciones](CONTRIBUTING.md). ¡Agradecemos tus comentarios constructivos! ## 🧭 Acceso sin conexión -Puedes ejecutar esta documentación sin conexión utilizando [Docsify](https://docsify.js.org/#/). Haz un fork de este repositorio, [instala Docsify](https://docsify.js.org/#/quickstart) en tu máquina local, y luego en la carpeta raíz de este repositorio, escribe `docsify serve`. El sitio web se servirá en el puerto 3000 en tu localhost: `localhost:3000`. +Puedes ejecutar esta documentación sin conexión utilizando [Docsify](https://docsify.js.org/#/). Haz un fork de este repositorio, [instala Docsify](https://docsify.js.org/#/quickstart) en tu máquina local y luego, en la carpeta raíz de este repositorio, escribe `docsify serve`. El sitio web se servirá en el puerto 3000 en tu localhost: `localhost:3000`. ## 📘 PDF Un PDF de todas las lecciones se puede encontrar [aquí](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). -## 🎒 Otros cursos +## 🎒 Otros Cursos ¡Nuestro equipo produce otros cursos! Mira: @@ -225,7 +225,7 @@ Un PDF de todas las lecciones se puede encontrar [aquí](https://microsoft.githu [![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) --- -### Azure / Edge / MCP / Agentes +### Azure / Edge / MCP / Agents [![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) [![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) [![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) @@ -241,7 +241,7 @@ Un PDF de todas las lecciones se puede encontrar [aquí](https://microsoft.githu --- -### Aprendizaje básico +### Aprendizaje Básico [![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) [![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) [![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) @@ -260,21 +260,21 @@ Un PDF de todas las lecciones se puede encontrar [aquí](https://microsoft.githu ## Obtener ayuda -Si te quedas atascado o tienes alguna pregunta sobre cómo crear aplicaciones de IA. Únete a otros estudiantes y desarrolladores experimentados en discusiones sobre MCP. Es una comunidad solidaria donde las preguntas son bienvenidas y el conocimiento se comparte libremente. +Si te quedas atascado o tienes alguna pregunta sobre cómo construir aplicaciones de IA. Únete a otros estudiantes y desarrolladores experimentados en discusiones sobre MCP. Es una comunidad de apoyo donde las preguntas son bienvenidas y el conocimiento se comparte libremente. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Si tienes comentarios sobre el producto o errores mientras construyes, visita: +Si tienes comentarios sobre el producto o encuentras errores mientras desarrollas, visita: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) ## Licencia -Este repositorio está bajo la licencia MIT. Consulta el archivo [LICENSE](../../LICENSE) para más información. +Este repositorio está licenciado bajo la licencia MIT. Consulta el archivo [LICENSE](../../LICENSE) para más información. --- **Aviso Legal**: -Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas derivadas del uso de esta traducción. +Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por lograr precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de cualquier malentendido o interpretación errónea que surja del uso de esta traducción. \ No newline at end of file diff --git a/translations/et/.co-op-translator.json b/translations/et/.co-op-translator.json index 1f8961b7e9..51a57f1b87 100644 --- a/translations/et/.co-op-translator.json +++ b/translations/et/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T23:23:44+00:00", + "translation_date": "2026-04-06T18:27:27+00:00", "source_file": "AGENTS.md", "language_code": "et" }, @@ -516,8 +516,8 @@ "language_code": "et" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T15:26:27+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T18:22:07+00:00", "source_file": "README.md", "language_code": "et" }, diff --git a/translations/et/AGENTS.md b/translations/et/AGENTS.md index 619f88aecd..344e6f59e7 100644 --- a/translations/et/AGENTS.md +++ b/translations/et/AGENTS.md @@ -2,42 +2,42 @@ ## Projekti ülevaade -See on hariduslik õppekava hoidla, mis on mõeldud veebiarenduse põhimõtete õpetamiseks algajatele. Õppekava on Microsoft Cloud Advocates'i loodud põhjalik 12-nädalane kursus, mis sisaldab 24 praktilist õppetundi JavaScripti, CSS-i ja HTML-i kohta. +See on hariduslik õppekursuse hoidla veebiarenduse põhitõdede õpetamiseks algajatele. Õppekava on Microsoft Cloud Advocatesi poolt välja töötatud põhjalik 12-nädalane kursus, mis sisaldab 24 praktilist õppetundi, katmas JavaScripti, CSSi ja HTMLi. ### Peamised komponendid -- **Hariduslik sisu**: 24 struktureeritud õppetundi, mis on korraldatud projektipõhistesse moodulitesse -- **Praktilised projektid**: Terrarium, Tippmäng, Brauserilaiendus, Kosmosemäng, Panga rakendus, Koodiredaktor ja AI juturobot -- **Interaktiivsed viktoriinid**: 48 viktoriini, igaühes 3 küsimust (enne ja pärast õppetundi) -- **Mitmekeelne tugi**: Automaatne tõlge 50+ keelde GitHub Actionsi kaudu -- **Tehnoloogiad**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI projektide jaoks) +- **Hariduslik sisu**: 24 struktureeritud õppetundi projektipõhistes moodulites +- **Praktilised projektid**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor ja AI Chat Assistant +- **Interaktiivsed viktoriinid**: 48 viktoriini, igaüks 3 küsimusega (enne ja pärast õppetundi) +- **Mitmekeelne tugi**: Automaatne tõlge 50+ keelde GitHub Actions abil +- **Tehnoloogiad**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (tehisintellekti projektide jaoks) ### Arhitektuur -- Hariduslik hoidla õppetundide struktuuriga -- Igas õppetunni kaustas on README, koodi näited ja lahendused -- Iseseisvad projektid eraldi kataloogides (quiz-app, erinevad õppetundi projektid) -- Tõlkesüsteem kasutades GitHub Actionsi (co-op-translator) -- Dokumentatsioon serveeritakse Docsify abil ja on saadaval PDF-ina +- Hariduslik hoidla õppetundidel põhineva struktuuriga +- Igas õppetunni kaustas on README, koodinäited ja lahendused +- Isetoimivad projektid eraldi kataloogides (quiz-app, erinevad õppetundide projektid) +- Tõlkesüsteem, mis kasutab GitHub Actions (co-op-translator) +- Dokumentatsioon esitatakse Docsify kaudu ja see on saadaval ka PDF-formaadis -## Seadistus-käsud +## Seadistuse käsud -See hoidla on peamiselt mõeldud haridusliku sisu tarbimiseks. Konkreetsete projektidega töötamiseks: +See hoidla on peamiselt mõeldud haridusliku sisu tarbimiseks. Spetsiifiliste projektidega töötamiseks: -### Peahoidla seadistus +### Peamine hoidla seadistamine ```bash git clone https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners ``` -### Viktoriini rakenduse seadistus (Vue 3 + Vite) +### Viktoriini äpi seadistamine (Vue 3 + Vite) ```bash cd quiz-app npm install npm run dev # Käivita arendusserver -npm run build # Ehita tootmiseks +npm run build # Koosta tootmiseks npm run lint # Käivita ESLint ``` @@ -56,10 +56,10 @@ npm run format # Vorminda Prettieriga ```bash cd 5-browser-extension/solution npm install -# Järgige brauserispetsiifilisi laienduste laadimise juhiseid +# Järgi brauseri-spetsiifilisi laienduste laadimise juhiseid ``` -### Kosmosemängu projektid +### Space Game projektid ```bash cd 6-space-game/solution @@ -67,50 +67,50 @@ npm install # Ava index.html brauseris või kasuta Live Serverit ``` -### Jutu projekt (Python backend) +### Vestlusprojekti (Python back-end) seadistamine ```bash cd 9-chat-project/solution/backend/python pip install openai -# Sea GITHUB_TOKEN keskkonnamuutuja +# Määra GITHUB_TOKEN keskkonnamuutuja python api.py ``` -## Arenduse töövoog +## Arendustöövoog -### Sisu kaasautoritele +### Sisu panustajatele -1. **Hargne hoidla** oma GitHubi kontole -2. **Kloonige oma hargnevus lokaalselt** +1. **Forkige hoidla** oma GitHubi kontole +2. **Kloonige oma fork lokaalselt** 3. **Loo uus haru** oma muudatuste jaoks -4. Tee muudatusi õppetundide sisus või koodi näidetes -5. Testi koodimuudatusi vastavates projektikaustades -6. Esita pull-päringud vastavalt panustamisjuhistele +4. Muutke õppetundide sisu või koodinäiteid +5. Testige koodi muudatusi vastavates projektikaustades +6. Esitage pull requeste vastavalt panustamise juhistele -### Õppuritele +### Õppijatele -1. Hargne või klooni hoidla -2. Liigu õppetundide kaustades järjestikku -3. Loe iga õppetunni README faile -4. Täida enne õppetundi viktoriinid aadressil https://ff-quizzes.netlify.app/web/ -5. Töötle läbi koodi näited õppetundide kaustades -6. Täida ülesanded ja väljakutsed -7. Tee pärast õppetundi viktoriinid +1. Forkige või kloonige hoidla +2. Liikuge järjest õppetundide kataloogidesse +3. Lugege iga õppetunni README faile +4. Täitke e-viktoriinid aadressil https://ff-quizzes.netlify.app/web/ +5. Töötage läbi õppetundide koodinäited +6. Täitke ülesanded ja väljakutsed +7. Sooritage pärast õppetundi viktoriinid -### Reaalajas arendus +### Otse arendus -- **Dokumentatsioon**: käivita juurkataloogis `docsify serve` (port 3000) -- **Viktoriini rakendus**: käivita `npm run dev` quiz-app kataloogis -- **Projektid**: kasuta VS Code Live Server laiendust HTML projektide jaoks -- **API projektid**: käivita vastavates API kataloogides `npm start` +- **Dokumentatsioon**: Käivitage `docsify serve` juurkataloogis (port 3000) +- **Viktoriini äpp**: Käivitage `npm run dev` quiz-app kaustas +- **Projektid**: Kasutage VS Code Live Serveri laiendust HTML projektide jaoks +- **API projektid**: Käivitage `npm start` vastavates API kaustades ## Testimise juhised -### Viktoriini rakenduse testimine +### Viktoriini äpi testimine ```bash cd quiz-app -npm run lint # Kontrolli koodistiili rikkumisi +npm run lint # Kontrolli koodistiili probleeme npm run build # Kontrolli, et ehitus õnnestub ``` @@ -119,73 +119,73 @@ npm run build # Kontrolli, et ehitus õnnestub ```bash cd 7-bank-project/api npm run lint # Kontrolli koodistiili probleeme -node server.js # Kontrolli, kas server käivitub ilma vigadeta +node server.js # Kontrolli, et server algab ilma vigadeta ``` -### Üldine testimisstrateegia +### Üldine testimislähenemine -- Tegemist on haridusliku hoidla, millel ei ole põhjalikke automaatseid teste -- Käsitsi testimine keskendub: - - Koodinäidete töötamisele ilma vigadeta - - Dokumentatsiooni linkide õigele toimimisele - - Projektide edukale ehitamisele +- Tegevhoidla ilma põhjalike automaattestideta +- Manuaaltestimine keskendub: + - Koodinäidete korrektsele käivitumisele + - Dokumentatsiooni linkide toimimisele + - Projektide koostamise edukusele - Näidete parimate tavade järgimisele -### Enne esitamise kontrollid +### Enne esitamist tehtavad kontrollid -- Käivita `npm run lint` kataloogides, kus on package.json -- Kontrolli markdown linkide kehtivust -- Testi koodi näiteid brauseris või Node.js keskkonnas -- Veendu, et tõlked hoiaksid õiget struktuuri +- Käivitage `npm run lint` kaustades, kus on package.json +- Kontrollige, et markdowni lingid oleksid korrektsed +- Testige koodinäiteid brauseris või Node.js-is +- Kontrollige, et tõlked säilitavad nõuetekohase struktuuri -## Koodi stiili juhised +## Koodi stiilijuhised ### JavaScript -- Kasuta kaasaegset ES6+ süntaksit -- Järgi projektides määratud tavapäraseid ESLint konfiguratsioone -- Kasuta tähenduslikke muutujate ja funktsioonide nimesid haridusliku selguse jaoks -- Lisa kommentaare, mis selgitavad kontseptsioone õppijatele -- Vorminda Prettier abil seal, kus see on seadistatud +- Kasutage kaasaegset ES6+ süntaksit +- Järgige standardseid ESLint konfiguratsioone projektides +- Kasutage tähenduslikke muutujate ja funktsioonide nimesid hariduslikuks selguseks +- Lisage kommentaare kontseptsioonide selgitamiseks õppijatele +- Kasutage vormindamiseks, kus seadistatud, Prettierit ### HTML/CSS -- Semantiline HTML5 elementide kasutus -- Reageeriva disaini põhimõtted -- Selged klassinime konventsioonid -- Kommentaarid, mis selgitavad CSS tehnikaid õppuritele +- Semantilised HTML5 elemendid +- Reageeriv disain +- Selged klassinimede konventsioonid +- Kommentaarid CSS tehnikate selgitamiseks õppijatele ### Python - PEP 8 stiilijuhised -- Selged, hariduslikud koodinäited -- Tüübiviited seal, kus need aitavad õppimist +- Selged, harivad koodinäited +- Tippimisvihjed õppimise hõlbustamiseks ### Markdown dokumentatsioon -- Selge päiste hierarhia -- Koodiblokid koos keele määratlusega +- Selge pealkirjade hierarhia +- Koodiplokid koos keele määratlusega - Lingid lisamaterjalidele - Ekraanipildid ja pildid `images/` kataloogides -- Piltide alt-tekst ligipääsetavuse tagamiseks +- Ligipääsetavuse huvides piltide alt-tekstid ### Failide korraldus -- Õppetunnid numbritega järjestatud (nt 1-getting-started-lessons, 2-js-basics jne) -- Igal projektil on `solution/` ja tihti `start/` või `your-work/` kataloogid -- Pildid salvestatud õppetundide eripärastesse `images/` kaustadesse -- Tõlked asuvad `translations/{language-code}/` struktuuris +- Õppetunnid nummerdatud järjest (1-getting-started-lessons, 2-js-basics jne) +- Igal projektil on `solution/` ja sageli ka `start/` või `your-work/` kaustad +- Pildid talletatud õppetundidele spetsiifilistes `images/` kaustades +- Tõlked paigutatud `translations/{language-code}/` kataloogistruktuuri -## Ehitamine ja juurutamine +## Koostamine ja juurutamine -### Viktoriinirakenduse juurutamine (Azure Static Web Apps) +### Viktoriini äpi juurutamine (Azure Static Web Apps) -quiz-app on seadistatud Azure Static Web Apps juurutamiseks: +Quiz-app on seadistatud Azure Static Web Apps juurutuseks: ```bash cd quiz-app npm run build # Loob kausta dist/ -# Teostab juurutamise GitHub Actions töövoo kaudu pushi korral main harusse +# Käivitab GitHub Actionsi töövoo, kui tehakse push main harusse ``` Azure Static Web Apps konfiguratsioon: @@ -196,31 +196,31 @@ Azure Static Web Apps konfiguratsioon: ### Dokumentatsiooni PDF genereerimine ```bash -npm install # Paigalda docsify-to-pdf -npm run convert # Genereeri PDF docsist +npm install # Installi docsify-to-pdf +npm run convert # Loo PDF docsist ``` ### Docsify dokumentatsioon ```bash -npm install -g docsify-cli # Installi Docsify globaalselt +npm install -g docsify-cli # Paigalda Docsify globaalselt docsify serve # Serveeri aadressil localhost:3000 ``` ### Projektipõhised ehitused -Igal projektil võib olla oma ehitusprotsess: -- Vue projektid: `npm run build` loob tootmise komplektid -- Staatilised projektid: pole ehitusetappi, failid serveeritakse otse +Igal projektikaustal võib olla oma ehitusprotsess: +- Vue projektid: `npm run build` loob tootmisversiooni pakette +- Staatilised projektid: ehitusfaasi pole, failid serveeritakse otse -## Pull-päringu juhised +## Pull requesti juhised ### Pealkirja formaat -Kasuta selgeid, kirjeldavaid pealkirju, mis näitavad muudatuse valdkonda: -- `[Quiz-app] Lisa uus viktoriin õppetund X jaoks` +Kasutage selgeid, kirjeldavaid pealkirju, mis näitavad muudatuste valdkonda: +- `[Quiz-app] Lisa uus viktoriin õppetunnile X` - `[Lesson-3] Paranda kirjaviga terrarium projektis` -- `[Translation] Lisa hispaania tõlge õppetund 5 jaoks` +- `[Translation] Lisa hispaania tõlge õppetunnile 5` - `[Docs] Uuenda seadistusjuhiseid` ### Nõutavad kontrollid @@ -228,55 +228,55 @@ Kasuta selgeid, kirjeldavaid pealkirju, mis näitavad muudatuse valdkonda: Enne PR-i esitamist: 1. **Koodi kvaliteet**: - - Käivita `npm run lint` mõjutatud projektikataloogides - - Paranda kõik lintimise vead ja hoiatused + - Käivitage `npm run lint` mõjutatud projektikaustades + - Parandage kõik lintimisvead ja hoiatused -2. **Ehituse kontroll**: - - Käivita `npm run build`, kui see on kohaldatav - - Veendu, et ehitus on edukas +2. **Ehituskontroll**: + - Käivitage `npm run build`, kui see on asjakohane + - Veenduge, et ehitusvead puuduvad 3. **Linkide valideerimine**: - - Testi kõik markdown lingid - - Kontrolli pildiviiteid + - Kontrollige kõiki markdowni linke + - Veenduge, et pildiviited töötavad -4. **Sisu ülevaatus**: - - Keele- ja õigekirjakontroll - - Veendu, et koodi näited on õiged ja hariduslikud - - Kontrolli, et tõlked säilitavad originaalse tähenduse +4. **Sisukontroll**: + - Oikige õigekirja ja grammatika + - Veenduge, et koodinäited on korrektsed ja harivad + - Kontrollige, et tõlked säilitavad algse tähenduse ### Panustamise nõuded -- Nõustu Microsofti CLA-ga (esimese PR-i automatiseeritud kontroll) -- Järgi [Microsofti avatud lähtekoodi käitumisreegleid](https://opensource.microsoft.com/codeofconduct/) -- Vaata üksikasjalikke juhiseid [CONTRIBUTING.md](./CONTRIBUTING.md) failist -- Viita PR kirjelduse juures vajadusel probleemide numbritele +- Nõustuge Microsofti CLA-ga (automatiseeritud kontroll esimese PR-i puhul) +- Järgige [Microsoft Open Source käitumiskoodeksit](https://opensource.microsoft.com/codeofconduct/) +- Lisateave panustamise kohta on [CONTRIBUTING.md](./CONTRIBUTING.md) +- Tõstke PR kirjelduses esile seotud issue numbrid, kui asjakohane -### Ülevaatusprotsess +### Käsitlusprotsess -- PR-sid vaatavad läbi hooldajad ja kogukond -- Prioriteediks on hariduslik selgus -- Koodi näited peavad järgima hetke parimaid praktikaid -- Tõlgetel on ülevaatus täpsuse ja kultuurilise sobivuse tagamiseks +- PR-id vaatavad üle hoidla hooldajad ja kogukond +- Eelistatakse hariduslikku selgust +- Koodinäited peaksid järgima parimaid tavasid +- Tõlked vaadatakse üle täpsuse ja kultuurilise sobivuse osas ## Tõlkesüsteem ### Automaatne tõlge -- Kasutab GitHub Actionsi koos co-op-translator töövooga +- Kasutab GitHub Actions koos co-op-translator töövooga - Tõlgib automaatselt 50+ keelde -- Allikafailid on põhikaustades +- Allikafailid on peakaustades - Tõlgitud failid asuvad `translations/{language-code}/` kataloogides -### Käsitsi tõlkeparanduste lisamine +### Käsitsi tõlke paranduste lisamine -1. Leia fail `translations/{language-code}/` kataloogist -2. Tee parandused, hoides struktuuri -3. Veendu, et koodi näited töötavad jätkuvalt -4. Testi kõiki kohandatud viktoriini sisu osi +1. Leidke fail `translations/{language-code}/` +2. Tehke parandusi, säilitades struktuuri +3. Veenduge, et koodinäited töötavad jätkuvalt +4. Testige kohalikku viktoriini sisu ### Tõlke metaandmed -Tõlgitud failidel on metaandmete päis: +Tõlgitud failid sisaldavad metaandmete päist: ```markdown ``` -## Silumine ja probleemide lahendamine +## Silumine ja tõrkeotsing -### Levinumad probleemid +### Levinud probleemid -**Viktoriinirakendus ei käivitu**: -- Kontrolli Node.js versiooni (soovituslik v14+) -- Kustuta `node_modules` ja `package-lock.json`, käivita `npm install` uuesti -- Kontrolli pordikonflikte (vaikimisi: Vite kasutab porti 5173) +**Viktoriini äpp ei käivitu**: +- Kontrollige Node.js versiooni (soovitav v14+) +- Kustutage `node_modules` ja `package-lock.json`, käivitage uuesti `npm install` +- Kontrollige portide konflikte (vaikimisi kasutab Vite porti 5173) **API server ei käivitu**: -- Kontrolli, et Node.js versioon on vähemalt 10 või uuem -- Kontrolli, kas port on juba hõivatud -- Veendu, et kõik sõltuvused on paigaldatud `npm install` abil +- Kontrollige, et Node.js versioon vastab nõuetele (node >=10) +- Kontrollige, kas port on juba kasutuses +- Veenduge, et kõik sõltuvused on installitud `npm install` abil -**Brauserilaiendus ei lae**: -- Kontrolli, et manifest.json on õigesti vormistatud -- Vaata brauseri konsoolist veateateid -- Järgi brauseripõhiseid laienduse paigaldusjuhiseid +**Brauserilaiend ei laadi**: +- Kontrollige, et manifest.json on korrektselt vormindatud +- Vaadake brauseri konsoolist veateateid +- Järgige brauseripõhiseid laiendi installi juhiseid -**Python juturoboti probleemid**: -- Veendu, et OpenAI pakett on paigaldatud: `pip install openai` -- Kontrolli, et GITHUB_TOKEN keskkonnamuutuja on seatud -- Kontrolli GitHub mudelitele juurdepääsu õigusi +**Python vestlusprojekti probleemid**: +- Veenduge, et OpenAI pakett on installitud: `pip install openai` +- Kontrollige, et GITHUB_TOKEN keskkonnamuutuja on seadistatud +- Kontrollige GitHub Models'i ligipääsuõigusi **Docsify ei serveeri dokumente**: -- Paigalda docsify-cli globaalselt: `npm install -g docsify-cli` -- Käivita hoidla juurkataloogist -- Kontrolli, et fail `docs/_sidebar.md` on olemas +- Paigaldage globaalne docsify-cli: `npm install -g docsify-cli` +- Käivitage hoidla juurkataloogist +- Kontrollige, et `docs/_sidebar.md` fail on olemas -### Arenduskeskkonna näpunäited +### Arenduskeskkonna näpunäiteid -- Kasuta VS Code’i koos Live Server laiendusega HTML projektide jaoks -- Paigalda ESLint ja Prettier laiendused ühtlaseks vormindamiseks -- Kasuta brauseri arendustööriistu JavaScripti silumiseks -- Vue projektide puhul paigalda Vue DevTools brauserilaiendus +- Kasutage VS Code'i koos Live Server laiendusega HTML projektide jaoks +- Paigaldage ESLint ja Prettier laiendused ühtlaseks vormindamiseks +- Kasutage brauseri DevTools’i JavaScripti silumiseks +- Vue projektide jaoks paigaldage Vue DevTools brauserilaiend ### Jõudluse kaalutlused -- Palju tõlgitud faile (50+ keeltes) tähendab suurt klooni suurust -- Kasuta madalat klooni, kui töötad ainult sisuga: `git clone --depth 1` -- Väldi tõlgete otsimist, kui keskendud inglisekeelsele sisule -- Ehitused võivad esimesel korral olla aeglased (npm install, Vite build) +- Suurem hulk tõlgitud faile (50+ keelt) teeb täiskloonid mahukaks +- Kasutage ülasidumist, kui töötate ainult sisuga: `git clone --depth 1` +- Välistage tõlked ingliskeelse sisuga töötades otsingutest +- Esimene kord võivad ehitusprotsessid olla aeglased (npm install, Vite build) ## Turvalisuse kaalutlused ### Keskkonnamuutujad -- API võtmeid ei tohi kunagi hoidlasse panna -- Kasuta `.env` faile (juba `.gitignore`-s) -- Dokumenteeri nõutud keskkonnamuutujad projekti READMEs +- API võtit ei tohi kunagi hoidlas hoida +- Kasutage `.env` faile (juba `.gitignore`-s) +- Dokumenteerige vajalikud keskkonnamuutujad projekti README-des ### Python projektid -- Kasuta virtuaalset keskkonda: `python -m venv venv` -- Hoia sõltuvused ajakohased -- GitHubi tokenid peaksid omama minimaalseid vajalikke õigusi +- Kasutage virtuaalset keskkonda: `python -m venv venv` +- Hoidke sõltuvused uuendatud +- GitHubi tokenitel peaks olema minimaalne nõutav ligipääs -### GitHub mudelitele juurdepääs +### GitHub Models ligipääs -- GitHub mudelite jaoks on vajalikud personaalsed juurdepääsutokenid (PAT) +- Isiklikud ligipääsu tokenid (PAT) on vajalikud GitHub Models'ile - Tokenid tuleks hoida keskkonnamuutujatena -- Ära kunagi pane tokenit või mandaate hoidla hulka +- Ärge kunagi pange tokeneid või kasutajatunnuseid hoidlasse ## Lisamärkused ### Sihtgrupp - Täielikud algajad veebiarenduses -- Üliõpilased ja iseseisvad õppijad +- Õpilased ja isetegijad - Õpetajad, kes kasutavad õppekava klassiruumis -- Sisu on loodud ligipääsetavaks ning oskuste järkjärguliseks arendamiseks +- Sisu on loodud ligipääsetavaks ja oskuste järkjärguliseks kujundamiseks -### Haridusalane filosoofia +### Hariduslik filosoofia - Projektipõhine õppe lähenemine -- Sageli toimuvad teadmiste kontrollid (viktoriinid) -- Praktilised kodeerimisharjutused -- Reaalmaailma rakenduste näited -- Keskendumine põhitõdedele enne raamistikke +- Sageli tehtavad teadmiste kontrollid (viktoriinid) +- Praktiseerivad kodeerimisülesanded +- Reaalsete rakenduste näited +- Fookus põhitalitustel enne raamistikke ### Hoidla hooldus - Aktiivne kogukond õppijate ja panustajatega -- Regulaarne sisu ja sõltuvuste uuendamine -- Hooldajad jälgivad issue-sid ja arutelusid -- Tõlkete uuendused on automatiseeritud GitHub Actionsi kaudu +- Sõltuvuste ja sisu regulaarne uuendamine +- Hoiuluründed ja arutelud hooldajate poolt jälgitavad +- Tõlkeuuendused automatiseeritud GitHub Actions abil ### Seotud ressursid - [Microsoft Learn moodulid](https://docs.microsoft.com/learn/) -- [Õpilaskeskuse ressursid](https://docs.microsoft.com/learn/student-hub/) -- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) soovitatav õppuritele -- Täiendavad kursused: Generatiivne AI, Andmeteadus, ML, IoT õppekavad saadaval +- [Student Hub ressursid](https://docs.microsoft.com/learn/student-hub/) +- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) soovitatav õppijatele +- Täiendavad kursused: Generative AI, Data Science, ML, IoT õppekavad saadaval -### Töötamine konkreetsete projektidega +### Spetsiaalprojektidega töötamine -Üksikasjalike juhiste jaoks üksikprojektidele vaata READMEsid: -- `quiz-app/README.md` - Vue 3 viktoriinirakendus -- `7-bank-project/README.md` - pangarakendus autentimisega -- `5-browser-extension/README.md` - brauserilaienduse arendus +Üksikute projektide üksikasjalike juhiste jaoks vt README faile: +- `quiz-app/README.md` - Vue 3 viktoriini rakendus +- `7-bank-project/README.md` - Panga rakendus autentimisega +- `5-browser-extension/README.md` - Brauserilaiendi arendamine - `6-space-game/README.md` - Canvas-põhine mänguarendus -- `9-chat-project/README.md` - AI juturoboti projekt +- `9-chat-project/README.md` - AI vestlusabilise projekt ### Monorepo struktuur -Kuigi see ei ole traditsiooniline monorepo, sisaldab see hoidla mitut sõltumatut projekti: +Kuigi ei ole traditsiooniline monorepo, sisaldab see hoidla mitut sõltumatut projekti: - Iga õppetund on iseseisev -- Projektidel pole ühiseid sõltuvusi -- Töötada saab eraldi projektide kallal ilma teistele mõjuta -- Klooni kogu hoidla kogu õppekava kogemuse saamiseks +- Projektid ei jaga sõltuvusi +- Töötage üksikute projektidega mõjutamata teisi +- Kloonige kogu hoidla kogu õppekava kogemuse saamiseks --- -**Vastutusest loobumine**: -See dokument on tõlgitud, kasutades AI tõlketeenust [Co-op Translator](https://github.com/Azure/co-op-translator). Kuigi me püüdleme täpsuse poole, palun pange tähele, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Originaaldokument selle emakeeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tekkida võivate arusaamatuste või valesti mõistmiste eest. +**Vastutusest vabastamine**: +Seda dokumenti on tõlgitud kasutades AI tõlketeenust [Co-op Translator](https://github.com/Azure/co-op-translator). Kuigi me püüdleme täpsuse poole, olge teadlik, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Originaaldokument selle emakeeles tuleks pidada autoriteetseks allikaks. Tähtsa teabe puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta ühegi arusaamatuse ega tõlgenduse eest, mis võivad tuleneda selle tõlke kasutamisest. \ No newline at end of file diff --git a/translations/et/README.md b/translations/et/README.md index c952f35991..281596379e 100644 --- a/translations/et/README.md +++ b/translations/et/README.md @@ -12,27 +12,27 @@ # Veebiarendus algajatele - õppekava -Õppige veebiarenduse aluseid meie 12-nädalase põhjaliku kursusega, mida viivad läbi Microsoft Cloud Advocates. Iga 24 õppetundi süveneb JavaScripti, CSS-i ja HTML-i tundmaõppimisse praktiliste projektide kaudu, nagu terrariumid, brauserilaiendused ja kosmosemängud. Osalege viktoriinides, aruteludes ja praktilistes ülesannetes. Parandage oma oskusi ja optimeerige teadmiste omandamist meie tõhusa projektipõhise pedagoogika abil. Alustage oma programmeerimisteekonda juba täna! +Õppige veebiarenduse põhialuseid meie Microsoft Cloud Advocates 12-nädalase põhjaliku kursusega. Iga 24 õppetundi sukeldub JavaScripti, CSS-i ja HTML-i praktiliste projektide kaudu, nagu terrariumid, brauserilaiendid ja kosmosemängud. Osalege viktoriinides, aruteludes ja praktilistes ülesannetes. Täiendage oma oskusi ja optimeerige teadmiste omandamist meie tõhusa projektipõhise pedagoogiaga. Alustage oma programmeerimisteekonda juba täna! Liituge Azure AI Foundry Discordi kogukonnaga [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) Järgige neid samme, et alustada nende ressursside kasutamist: -1. **Tehke fork**: Klõpsake [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) -2. **Kloonige hoidla**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**Liituge Azure AI Foundry Discordiga ja kohtuge ekspertide ning kaasarendajatega**](https://discord.com/invite/ByRwuEEgH4) +1. **Tehke hoidlast Fork**: Klõpsake [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +2. **Klooni hoidla**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +3. [**Liituge Azure AI Foundry Discordiga ja kohtuge ekspertide ning teiste arendajatega**](https://discord.com/invite/ByRwuEEgH4) -### 🌐 Mitmekeelse toe võimalus +### 🌐 Mitmekeelne tugi -#### Tugineb GitHub Actionile (automatiseeritud ja alati ajakohane) +#### Toetatud GitHub Actioni kaudu (automatiseeritud ja alati ajakohane) -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](./README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](./README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) -> **Eelistate kohalikku kloonimist?** +> **Eelistate kloonida lokaalselt?** > -> See hoidla sisaldab üle 50 keele tõlget, mis suurendab allalaadimismahu oluliselt. Tõlgeteta kloonimiseks kasutage sparsel checkouti: +> See hoidla sisaldab üle 50 keele tõlget, mis suurendab oluliselt allalaaditava faili suurust. Tõlgeteta kloonimiseks kasutage sparse checkouti: > > **Bash / macOS / Linux:** > ```bash @@ -51,172 +51,172 @@ Järgige neid samme, et alustada nende ressursside kasutamist: > See annab teile kõik vajaliku kursuse läbimiseks palju kiirema allalaadimisega. -**Kui soovite lisada uusi toetatud tõlkekeeli, on need loetletud [siin](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**Kui soovite, et toetataks täiendavaid tõlkekeeli, on need loetletud [siin](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** [![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) -#### 🧑‍🎓 _Oled õpilane?_ +#### 🧑‍🎓 _Kas oled õpilane?_ -Külasta [**Öpilaskeskuse lehte**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), kus leiad algajatele mõeldud ressursse, õpilaspakette ja isegi võimalusi saada tasuta sertifikaadikuponge. See on leht, mida soovid järjehoidjatesse lisada ja aeg-ajalt vaadata, sest sisu uuendatakse iga kuu. +Külasta [**Õpilase keskuse lehte**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), kus leiad algajate ressursid, õpilaspakid ja isegi võimalusi saada tasuta sertifikaadikuponk. Seda lehte soovitatakse järjehoidjates hoida ja aeg-ajalt kontrollida, sest me vahetame sisu igakuiselt. -### 📣 Teade - uued GitHub Copilot Agendi režiimi väljakutsed täitmiseks! +### 📣 Teade - Uued GitHub Copilot agendi režiimi väljakutsed täitmiseks! -Uus väljakutse lisatud, otsi enamikes peatükkides "GitHub Copilot Agent Challenge 🚀". See on uus väljakutse teile, mida täita GitHub Copiloti ja agendi režiimi abil. Kui te ei ole varem agendi režiimi kasutanud, on see võimeline genereerima mitte ainult teksti, vaid ka looma ja redigeerima faile, käivitama käske ja muud. +Lisatud uus väljakutse - otsi pealkirja "GitHub Copilot Agent Challenge 🚀" enamikus peatükkides. See on uus väljakutse GitHub Copiloti ja agendi režiimis kasutamiseks. Kui sa pole agendi režiimi varem kasutanud, siis see suudab lisaks teksti genereerimisele ka faile luua ja muuta, käsklusi jooksutada ja palju muud. -### 📣 Teade - _uus projekt, mille saab luua Generatiivse AI abil_ +### 📣 Teade - _Uus Projekt generatiivse tehisintellekti kasutamiseks_ -Uus AI assistendi projekt on just lisatud, vaata projekti [siit](./9-chat-project/README.md) +Lisatud on uus AI abiprojekt, vaata [projekti](./9-chat-project/README.md) -### 📣 Teade - _Uus õppekava_ Generatiivse AI kohta JavaScriptile on just välja antud +### 📣 Teade - _Uus õppekava_ generatiivse tehisintellekti kohta JavaScripti jaoks on just välja antud -Ära jää ilma meie uuest Generatiivse AI õppekavast! +Ära jäta vahele meie uut generatiivse tehisintellekti õppekava! -Külasta [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) alustamiseks! +Alusta aadressil [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course)! -![Background](../../translated_images/et/background.148a8d43afde5730.webp) +![Taust](../../translated_images/et/background.148a8d43afde5730.webp) -- Õppetunnid hõlmavad kõike alates algteadmistest kuni RAG-ini. -- Suhtle ajalooliste tegelastega GenAI ja meie kaaslase rakenduse abil. -- Lõbus ja kaasahaarav jutustus, kus sa rändad ajas! +- Õppetunnid hõlmavad kõike alates põhialustest kuni RAG-ini. +- Suhtle ajalooliste tegelastega GenAI ja meie kaasrakenduse abil. +- Lõbus ja kaasahaarav narratiiv, sa rändad ajas! -![character](../../translated_images/et/character.5c0dd8e067ffd693.webp) +![tegelane](../../translated_images/et/character.5c0dd8e067ffd693.webp) -Iga õppetund sisaldab täidetavat ülesannet, teadmiste kontrolli ja väljakutset, mis juhib õppimist teemadel nagu: -- Käsutamine ja käsu koostamine -- Teksti- ja pildirakenduste genereerimine +Iga õppetund sisaldab ülesannet, teadmiste kontrolli ja väljakutset, mis juhib sind järgmiste teemade õppimisel: +- Päringute koostamine ja päringute inseneritöö +- Teksti ja pildi rakenduste genereerimine - Otsingurakendused -Külasta [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) alustamiseks! +Alusta aadressil [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course)! ## 🌱 Alustamine -> **Õpetajad**, oleme lisanud [mõningaid soovitusi](for-teachers.md), kuidas seda õppekava kasutada. Ootame teie tagasisidet [meie arutelufoorumis](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! +> **Õpetajad**, oleme lisanud [mõned soovitused](for-teachers.md) selle õppekava kasutamiseks. Ootame teie tagasisidet [meie arutelufoorumis](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! -**[Õppijad](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, iga õppetunni puhul alustage eel-loengu viktoriiniga ja jätkake õppetükiga, täites erinevaid tegevusi ja kontrollides arusaamist järel-loengu viktoriiniga. +**[Õppijad](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, iga õppetunni juures alustage eelloenguviktoriiniga ja jätkake loengumaterjali lugemise, erinevate tegevuste lõpetamise ja järelviktoriini tegemisega oma arusaamise kontrollimiseks. -Õppimiskogemuse parandamiseks ühenduge oma eakaaslastega, et koos projekte teha! Arutelud on julgustatud meie [arutelufoorumis](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), kus meie moderaatorimeeskond vastab teie küsimustele. +Et parandada õpikogemust, ühenduge oma eakaaslastega, et projektides koos töötada! Arutelud on teretulnud meie [arutelufoorumis](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), kus meie moderaatorite meeskond vastab teie küsimustele. -Haridusteekonna süvendamiseks soovitame tungivalt uurida [Microsoft Learni](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) täiendavaid õppematerjale. +Hariduse süvendamiseks soovitame tungivalt uurida [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) täiendavate õppematerjalide jaoks. ### 📋 Keskkonna seadistamine -Sellel õppekaval on arenduskeskkond kohe kasutamiseks valmis! Alustades võite valida, kas kasutada õppekava [Codespaces](https://github.com/features/codespaces/) keskkonnas (_brauseripõhine, installimist mitte nõudev keskkond_) või oma arvutis lokaalselt tekstiredaktorit, näiteks [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +Sellel õppekaval on valmis arenduskeskkond! Alustades võite valida kursuse käivitamiseks [Codespace'is](https://github.com/features/codespaces/) (_brauseripõhine, ilma installeerimiseta keskkond_) või lokaalselt oma arvutis tekstiredaktori, nagu [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon), abil. #### Loo oma hoidla -Selleks, et oma tööd hõlpsasti salvestada, soovitame luua oma koopia sellest hoidlast. Seda saab teha, klõpsates lehe ülaosas nuppu **Use this template**. See loob uue hoidla teie GitHubi kontole koos õppekava koopiaga. +Et saaksid oma tööd mugavalt salvestada, soovitatakse luua oma hoidla koopia. Seda saab teha, klõpsates lehe ülaosas nuppu **Use this template**. Sellega luuakse teie GitHubi kontole uus hoidla koopia õppekavast. Järgige neid samme: -1. **Tehke fork**: Klõpsake selle lehe paremas ülanurgas nuppu "Fork". +1. **Tehke Fork hoidlast**: Klõpsake selle lehe paremas ülanurgas nuppu "Fork". 2. **Kloonige hoidla**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -#### Õppekava käitamine Codespaces keskkonnas +#### Kursuse käivitamine Codespace'is -Oma loodud hoidla koopias klõpsake nuppu **Code** ja valige **Open with Codespaces**. See loob teile uue Codespace'i, kus tööd teha. +Oma loodud hoidla koopias klõpsake nupul **Code** ja valige **Open with Codespaces**. See loob teile uue Codespace'i töötamiseks. ![Codespace](../../translated_images/et/createcodespace.0238bbf4d7a8d955.webp) -#### Õppekava käitamine lokaalselt oma arvutis +#### Kursuse käivitamine lokaalselt arvutis -Õppekava lokaalseks käivitamiseks vajate tekstiredaktorit, veebilehitsejat ja käsurea tööriista. Meie esimene õppetund, [Sissejuhatus programmeerimiskeeltesse ja tööriistadesse](../../1-getting-started-lessons/1-intro-to-programming-languages), juhendab teid erinevate võimaluste valikul iga tööriista jaoks. +Selle kursuse käivitamiseks lokaalselt arvutis vajate tekstiredaktorit, brauserit ja käsurea tööriista. Meie esimene õppetund, [Sissejuhatus programmeerimiskeeltesse ja kauplemisvahenditesse](../../1-getting-started-lessons/1-intro-to-programming-languages), juhendab teid erinevate tööriistade valiku läbi, et leida just teile sobiv lahendus. -Soovitame kasutada [Visual Studio Code'i](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) redaktorina, millel on sisseehitatud [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Visual Studio Code'i saate alla laadida [siit](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -1. Kopeeri oma hoidla arvutisse. Seda saad teha, klõpsates nuppu **Code** ning kopeerides URL-i: +Soovitame kasutada toimetajana [Visual Studio Code'i](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon), millel on ka sisseehitatud [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Visual Studio Code'i saate alla laadida [siit](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +1. Kopeeri oma hoidla oma arvutisse. Seda saad teha, klõpsates nuppu **Code** ja kopeerides URL-i: [CodeSpace](./images/createcodespace.png) - Seejärel ava [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) sees ning käivita järgmine käsk, asendades `` just äsja kopeeritud URL-iga: + Seejärel ava [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) [Visual Studio Code’is](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ning käivita järgmine käsk, asendades `` just kopeeritud URL-iga: ```bash git clone ``` -2. Ava Visual Studio Code’is kaust. Seda saad teha, klõpsates **File** > **Open Folder** ning valides kausta, mille just kloonisid. +2. Ava kaust Visual Studio Code’is. Seda saad teha, klõpsates **File** > **Open Folder** ja valides hiljuti kloonitud kausta. -> Soovitatud Visual Studio Code'i laiendused: +> Soovitatud Visual Studio Code laiendused: > -> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - HTML-lehtede eelvaade Visual Studio Code’is -> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - aitab kirjutada koodi kiiremini +> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - HTML-lehtede eelvaade Visual Studio Code’i sees +> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - aitab koodi kiiremini kirjutada -## 📂 Iga õppetükk sisaldab: +## 📂 Iga õppetund sisaldab: -- valikulist visandit +- valikulist visandimärkmikku - valikulist täiendavat videot -- soojendusharjutust enne tundi -- kirjalikku õppetükki -- projektipõhiste õppetükkide puhul samm-sammulisi juhendeid, kuidas projekti ehitada -- teadmiste kontrolli küsimustikke +- tunni eelset soojenduse viktoriini +- kirjalikku õppetundi +- projektipõhiste tundide puhul samm-sammult juhendeid, kuidas projekti koostada +- teadmiste kontrolli - väljakutset - täiendavat lugemist - ülesannet -- [pärastundi viktoriini](https://ff-quizzes.netlify.app/web/) - -> **Märkus viktoriinide kohta**: Kõik viktoriinid asuvad Quiz-app kaustas, kokku 48 viktoriini, milles igas on kolm küsimust. Need on kättesaadavad [siin](https://ff-quizzes.netlify.app/web/). Viktoriini rakendus saab käivitada lokaalselt või paigaldada Azure’i; järgige juhiseid `quiz-app` kaustas. - -## 🗃️ Õppetükid - -| | Projekti nimi | Õpitavad kontseptsioonid | Õpieesmärgid | Seotud õppetükk | Autor | -| :-: | :-------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | Alustamine | Sissejuhatus programmeerimisse ja tööriistadesse | Õpi programmeerimiskeelte põhialuseid ja tarkvara, mis aitab professionaalsel arendajal tööd teha | [Sissejuhatus programmeerimiskeeltesse ja tööriistadesse](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | Alustamine | GitHub põhialused, sh meeskonnatöö | Kuidas kasutada GitHubi projektis ja kuidas meeskonnana koodil koos töötada | [Sissejuhatus GitHubi](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | Alustamine | Juurdepääsetavus | Õpi veebipõhise juurdepääsetavuse aluseid | [Juurdepääsetavuse alused](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | JS põhitõed | JavaScripti andmetüübid | JavaScripti andmetüüpide põhialused | [Andmetüübid](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | JS põhitõed | Funktsioonid ja meetodid | Õpi funktsioonidest ja meetoditest rakenduse loogika juhtimisel | [Funktsioonid ja meetodid](./2-js-basics/2-functions-methods/README.md) | Jasmine ja Christopher | -| 06 | JS põhitõed | Otsuste tegemine JS-ga | Õpi, kuidas luua tingimusi oma koodis otsustuste tegemise meetodite abil | [Otsuste tegemine](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | JS põhitõed | Massiivid ja tsüklid | Töötle andmeid JavaScripti massiivide ja tsüklite abil | [Massiivid ja tsüklid](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML praktikas | Ehita HTML, et luua veebipõhine terrarium, keskendudes paigutuse loomisele | [Sissejuhatus HTML-i](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS praktikas | Ehita CSS veebiterrariumi kujundamiseks, keskendudes CSS põhialustele ja lehe reageerivusele | [Sissejuhatus CSS-i](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScripti sulgemised, DOM-i manipuleerimine | Ehita JavaScript, mis muudab terrariumi lohistatavaks kasutajaliideseks, keskendudes sulgemistele ja DOM-i manipuleerimisele | [JavaScript sulgemised ja DOM-i manipuleerimine](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Tippimismäng](./4-typing-game/solution/README.md) | Tippimismängu loomine | Õpi kasutama klaviatuuri sündmusi, et juhtida oma JavaScripti rakenduse loogikat | [Sündmuspõhine programmeerimine](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Roheline brauserilaiend](./5-browser-extension/solution/README.md) | Brauseritega töötamine | Õpi, kuidas brauserid töötavad, nende ajalugu ja kuidas luua brauserilaiendi esimesed elemendid | [Brauserite kohta](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Roheline brauserilaiend](./5-browser-extension/solution/README.md) | Vormide loomine, API kutsumine ja muutujate salvestamine lokaalsesse mällu | Ehita brauserilaiendi JavaScripti osad API kutsumiseks, kasutades lokaalsesse mällu salvestatud muutujaid | [API-d, vormid ja lokaalne mälu](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Roheline brauserilaiend](./5-browser-extension/solution/README.md) | Taustaprotsessid brauseris, veebitööjõudlus | Kasuta brauseri taustaprotsesse laiendi ikooni juhtimiseks; õpi veebitööjõudlusest ja mõningatest optimeerimistest | [Taustaprotsessid ja tööjõudlus](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Kosmosemäng](./6-space-game/solution/README.md) | Täiustatud mänguarendus JavaScriptiga | Õpi pärandamise kohta klasside ja koostise kaudu ning Pub/Sub mustrit, ettevalmistuseks mängu loomiseks | [Täiustatud mänguarenduse sissejuhatus](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [Kosmosemäng](./6-space-game/solution/README.md) | Joonistamine lõuendile | Õpi Canvas API kasutamist ekraanile elementide joonistamiseks | [Joonistamine lõuendile](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Kosmosemäng](./6-space-game/solution/README.md) | Elementide liigutamine ekraanil | Avastage, kuidas elementidele anda liikumist kasutades kaarteesia koordinaate ja Canvas API-d | [Elementide liigutamine](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Kosmosemäng](./6-space-game/solution/README.md) | Kokkupõrke tuvastamine | Tee elementide kokkupõrked ja reageerimine kasutades klahvivajutusi ning lisa jahutusfunktsioon, mis tagab mängu sujuvuse | [Kokkupõrke tuvastamine](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Kosmosemäng](./6-space-game/solution/README.md) | Skoriga arvestamine | Tee matemaatilisi arvutusi mängu staatuse ja jõudluse alusel | [Skoori pidamine](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Kosmosemäng](./6-space-game/solution/README.md) | Mängu lõpetamine ja taaskäivitamine | Õpi mängu lõpetamise ja taaskäivitamise kohta, sh ressursside puhastamine ja muutuja väärtuste lähtestamine | [Lõputingimus](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [Pangarakendus](./7-bank-project/solution/README.md) | HTML mallid ja marsruudid veebirakenduses | Õpi, kuidas luua mitmeleheküljelise veebilehe arhitektuuri tugistruktuur marsruutimise ja HTML mallide abil | [HTML mallid ja marsruudid](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [Pangarakendus](./7-bank-project/solution/README.md) | Logimise ja registreerimise vormi loomine | Õpi vormide loomist ja valideerimise teostamist | [Vormid](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [Pangarakendus](./7-bank-project/solution/README.md) | Andmete pärimise ja kasutamise meetodid | Kuidas andmed voolavad sinu rakendusse ja sealt välja, kuidas neid pärida, salvestada ja eemaldada | [Andmed](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [Pangarakendus](./7-bank-project/solution/README.md) | Seisundihalduse kontseptsioonid | Õpi, kuidas sinu rakendus säilitab seisundit ja kuidas seda programmeeritult hallata | [Seisundihaldus](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Brauser/VScode Kood](../../8-code-editor) | Töötamine VScode'iga | Õpi, kuidas kasutada koodiredaktorit| [Kasuta VScode koodiredaktorit](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [Tehisintellekti assistendid](./9-chat-project/README.md) | Töötamine tehisintellektiga | Õpi, kuidas ehitada oma tehisintellekti assistent | [Tehisintellekti assistendi projekt](./9-chat-project/README.md) | Chris | +- [tunni järgset viktoriini](https://ff-quizzes.netlify.app/web/) + +> **Märkuse viktoriinide kohta**: Kõik viktoriinid on paigutatud Quiz-app kausta, kokku 48 viktoriini, igaühes kolm küsimust. Need on saadaval [siin](https://ff-quizzes.netlify.app/web/), viktoriiniäppi saab käivitada lokaalselt või juurutada Azure’isse; järgige juhiseid kaustas `quiz-app`. + +## 🗃️ Õppetunnid + +| | Projekti nimi | Õpitud kontseptsioonid | Õpieesmärgid | Lingitud õppetund | Autor | +| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | +| 01 | Alustamine | Programmeerimise sissejuhatus ja tööriistad | Õpi programmeerimiskeelte põhitõdesid ja professionaalsetele arendajatele abiks olevat tarkvara | [Programmeerimiskeelte ja tööriistade sissejuhatus](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Alustamine | GitHubi põhialused, meeskonnatöö | Kuidas kasutada GitHubi oma projektis, kuidas teistega koodibaasis koostööd teha | [GitHubi sissejuhatus](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Alustamine | Juurdepääsetavus | Õpi veebisaidi juurdepääsetavuse aluseid | [Juurdepääsetavuse põhitõed](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | JS põhitõed | JavaScripti andmetüübid | JavaScripti andmetüüpide põhitõed | [Andmetüübid](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | JS põhitõed | Funktsioonid ja meetodid | Õpi rakenduse loogika haldamiseks funktsioonide ja meetodite kohta | [Funktsioonid ja meetodid](./2-js-basics/2-functions-methods/README.md) | Jasmine ja Christopher | +| 06 | JS põhitõed | Otsuste tegemine JavaScriptiga | Õpi, kuidas koodis tingimusi luua otsustamisstruktuuride abil | [Otsuste tegemine](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | JS põhitõed | Massiivid ja tsüklid | Töötle andmeid massiivide ja tsüklitega JavaScriptis | [Massiivid ja tsüklid](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML praktikas | Ehita HTML, et luua veebipõhine terrarium, keskendudes paigutuse loomisele | [HTML sissejuhatus](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS praktikas | Ehita CSS veebiterrariumi kujundamiseks, keskendudes CSS alustele ja veebilehe reageerivusele | [CSS sissejuhatus](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScripti sulgudes, DOM-i manipuleerimine | Kirjuta JavaScript, mis võimaldab terrariumil toimida lohista ja lase liidesena, keskendudes sulgudele ja DOM-i manipuleerimisele | [JavaScripti sulgudes, DOM-i manipuleerimine](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Tippimismäng](./4-typing-game/solution/README.md) | Tippimismängu loomine | Õpi kasutama klahvisündmusi JavaScripti rakenduse loogika juhtimiseks | [Sündmustepõhine programmeerimine](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Roheline brauserilaiendus](./5-browser-extension/solution/README.md) | Brauseritega töötamine | Õpi, kuidas brauserid töötavad, nende ajalugu ja kuidas luua brauserilaienduse esimesed elemendid | [Brauserite kohta](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Roheline brauserilaiendus](./5-browser-extension/solution/README.md) | Vormide loomine, API kutsumine ja muutujate salvestamine lokaalses salvestusruumis | Ehita oma brauserilaienduse JavaScripti elemendid API kutsumiseks, kasutades lokaalses salvestusruumis talletatud muutujaid | [API-d, vormid ja lokaalne salvestusruum](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Roheline brauserilaiendus](./5-browser-extension/solution/README.md) | Brauseri taustaprotsessid, veebiseo jõudlus | Kasuta brauseri taustaprotsesse laienduse ikooni haldamiseks; õpi veebiseose ja optimeerimiste kohta, et parandada performantsi | [Taustatöötlus ja jõudlus](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Tähesõjamäng](./6-space-game/solution/README.md) | Täiustatud mänguarendus JavaScriptiga | Õpi pärimise kohta nii klasside kui ka koosseisude kaudu, samuti Pub/Sub mustrit, et valmistuda mängu loomiseks | [Täiustatud mänguarenduse sissejuhatus](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Tähesõjamäng](./6-space-game/solution/README.md) | Joonistamine lõuendile | Õpi Canvas API kasutamist elementide joonistamiseks ekraanile | [Joonistamine lõuendile](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Tähesõjamäng](./6-space-game/solution/README.md) | Elementide liigutamine ekraanil | Uuri, kuidas elementidel võib olla liikumine kasutades karteesia koordinaate ja Canvas API-t | [Elementide liigutamine](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Tähesõjamäng](./6-space-game/solution/README.md) | Kokkupõrgete tuvastamine | Pane elemendid kokkupõrkama ja reageerima omavahel vajutuste abil ning lisa jahutuse funktsioon, et tagada mängu jõudlus | [Kokkupõrgete tuvastamine](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Tähesõjamäng](./6-space-game/solution/README.md) | Skoori hoidmine | Tee matemaatilisi arvutusi mängu seisundi ja tulemuse põhjal | [Skoori hoidmine](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Tähesõjamäng](./6-space-game/solution/README.md) | Mängu lõpetamine ja taasalustamine | Õpi mängu lõpetamise ja taasalustamise kohta, sealhulgas varade puhastamist ja muutujate väärtuste lähtestamist | [Lõpetamise tingimus](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Pangarakendus](./7-bank-project/solution/README.md) | HTML mallide ja marsruutide loomine veebiäpis | Õpi looma multipage veebilehe arhitektuuri skafoldi kasutades marsruutimist ja HTML malle | [HTML mallid ja marsruudid](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Pangarakendus](./7-bank-project/solution/README.md) | Sisse- ja registreerimisvormi ehitamine | Õpi vormide loomist ja valideerimise käsitlemist | [Vormid](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Pangarakendus](./7-bank-project/solution/README.md) | Andmete toomise ja kasutamise meetodid | Kuidas andmed sinu rakendusse tulevad, neid toodakse, salvestatakse ja hävitatakse | [Andmed](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Pangarakendus](./7-bank-project/solution/README.md) | Olekuhalduse kontseptsioonid | Õpi, kuidas sinu rakendus säilitab olekut ja kuidas seda programmeerivalt hallata | [Olekuhaldus](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Brauser/VScode kood](../../8-code-editor) | Töötamine VScode'iga | Õpi, kuidas koodi redaktorit kasutada| [VScode redaktori kasutamine](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [AI assistendid](./9-chat-project/README.md) | Töötamine tehisintellektiga | Õpi, kuidas luua oma AI assistent | [AI assistendi projekt](./9-chat-project/README.md) | Chris | ## 🏫 Pedagoogika -Meie õppekava on kavandatud kahe peamise pedagoogilise põhimõtte järgi: +Meie õppekava on kujundatud kahe põhilise pedagoogilise põhimõtte alusel: * projektipõhine õpe * sagedased viktoriinid -Programm õpetab JavaScripti, HTML-i ja CSS-i põhialuseid ning uusimaid tööriistu ja tehnikaid, mida kasutavad tänapäeva veebiarendajad. Õpilastel on võimalus praktiliselt kogeda, ehitades tippimismängu, virtuaalse terrariumi, keskkonnasõbraliku brauserilaiendi, kosmose-invader stiilis mängu ja pangarakenduse ettevõtetele. Perioodi lõpuks omandavad õpilased tugeva arusaama veebiarendusest. +Programm õpetab JavaScripti, HTML-i ja CSS-i põhitõdesid ning uusimaid tööriistu ja tehnikaid, mida tänased veebiarendajad kasutavad. Õpilastel on võimalus omandada praktilisi kogemusi, luues tippimismängu, virtuaalse terrariumi, keskkonnasõbraliku brauserilaienduse, ruumivõitlusstiilis mängu ja äripangarakenduse. Sarja lõpuks on õpilased omandanud kindla arusaama veebiarendusest. -> 🎓 Võid esimesed paar õppetükki sellest õppekavast läbida ka [Õppeteekina](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) Microsoft Learn platvormil! +> 🎓 Võid selle õppekava esimesed paar õppetundi võtta Microsoft Learn'i [Õppetee](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) kaudu! -Sisule vastavate projektide abil tehakse õppimisprotsess kaasahaaravamaks ning mõistete meeldejätmine paraneb. Kirjutasime ka mitu algõpetust JavaScripti põhialuste kohta, tutvustamaks mõisteid koos videoga "[Algajate sari: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", mille mõned autorid panustasid sellesse õppekavasse. +Tagades, et sisu on projekte nõustav, on õppimisprotsess õpilaste jaoks kaasahaaravam ning kontseptsioonide kinnistumine parem. Kirjutasime ka mitu alustavat õppetundi JavaScripti põhialustega, et tutvustada kontseptsioone, lisaks on videosari "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", mille autorid mõningal määral selle õppekava loomisele kaasa aitasid. -Lisaks seab klassieelse lihtsalt stressivaba viktoriiniga õpilase eesmärgi konkreetse teema õppimiseks, ning teine viktoriin klassijärgsel ajal tagab teadmiste edasi kinnistamise. See õppekava on loodud olema paindlik ja lõbus ning seda saab läbida tervikuna või osaliselt. Projektid alustavad väikestest ja muutuvad 12-nädalase tsükli jooksul järjest keerukamaks. +Lisaks seab madala riskiga viktoriin enne tundi õpilasele eesmärgi teemaga tegeleda, samal ajal kui teine viktoriin pärast tundi tagab teadmiste parema kinnistumise. See õppekava on loodud olema paindlik ja lõbus ning seda võib võtta tervikuna või osadena. Projektid algavad väikesena ja muutuvad 12-nädalase tsükli lõpuks järjest keerukamaks. -Kuigi oleme teadlikult hoidunud JavaScripti raamistikest, et keskenduda esmalt vajalikele oskustele veebiarendajana enne raamistikku omaksvõttu, võiks järgmine samm selle õppekava lõpetamisel olla Node.js õppimine teise videosarja kaudu: "[Algajate sari: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +Kuigi oleme teadlikult vältinud JavaScripti raamistike sisseviimist, et keskenduda esmalt veebiarendaja põhilisoskustele enne raamistiku omaksvõttu, oleks hea järgneva sammuna tutvuda Node.js-ga, kasutades teist videosarja: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> Vaata meie [käitumisreegleid](CODE_OF_CONDUCT.md) ja [panustamise juhiseid](CONTRIBUTING.md). Oleme avatud konstruktiivsele tagasisidele! +> Tutvu meie [Käitumisjuhendiga](CODE_OF_CONDUCT.md) ja [Panustamise juhistega](CONTRIBUTING.md). Ootame sinu konstruktiivset tagasisidet! -## 🧭 Võimalus töötada offline +## 🧭 Offline ligipääs -Seda dokumentatsiooni saad kasutada offline režiimis, kasutades [Docsify](https://docsify.js.org/#/). Hargne see hoidla, [paigalda Docsify](https://docsify.js.org/#/quickstart) oma arvutisse ja seejärel käivita hoidla juurkataloogis käsk `docsify serve`. Veebileht on kättesaadav aadressil `localhost:3000` pordil 3000. +Seda dokumentatsiooni saab käivitada ka offline-režiimis, kasutades [Docsify](https://docsify.js.org/#/). Hargi see hoidla, paigalda [Docsify](https://docsify.js.org/#/quickstart) oma lokaalmasinale ja seejärel kirjuta selles hoidla juurkaustas käsk `docsify serve`. Veebileht on kättesaadav pordi 3000 kaudu sinu kohalikus arvutis: `localhost:3000`. ## 📘 PDF -Kõigi õppetundide PDF-versiooni leiate siit [here](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). +Kõikide õppetundide PDF on leitav [siit](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). ## 🎒 Teised kursused -Meie meeskond toodab ka teisi kursusi! Vaadake: +Meie meeskond toodab ka teisi kursuseid! Vaata: ### LangChain @@ -233,7 +233,7 @@ Meie meeskond toodab ka teisi kursusi! Vaadake: --- -### Generatiivse tehisintellekti seeria +### Generatiivse AI sari [![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) [![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) [![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) @@ -241,7 +241,7 @@ Meie meeskond toodab ka teisi kursusi! Vaadake: --- -### Põhiline õppimine +### Põhiõpe [![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) [![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) [![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) @@ -252,7 +252,7 @@ Meie meeskond toodab ka teisi kursusi! Vaadake: --- -### Copiloti seeria +### Copilot sari [![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) [![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) [![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) @@ -260,21 +260,21 @@ Meie meeskond toodab ka teisi kursusi! Vaadake: ## Abi saamine -Kui teil tekib takistusi või küsimusi AI-rakenduste loomisel, liituge teiste õppijate ja kogenud arendajatega aruteludes MCP kohta. See on toetav kogukond, kus küsimused on teretulnud ja teadmisi jagatakse vabalt. +Kui sa oled kinni jäänud või sul on küsimusi AI rakenduste loomise kohta, tule liitu teiste õppijate ja kogenud arendajatega, kes arutavad MCP-d. See on toetav kogukond, kus küsimusi oodatakse ja teadmisi jagatakse vabalt. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Kui teil on toodete kohta tagasisidet või ehitamise ajal ilmnevad vead, külastage: +Kui sul on produkti tagasisidet või ehitamisel vigu, külasta: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) ## Litsents -See hoidla on litsentseeritud MIT litsentsi all. Lisateabe saamiseks vaadake faili [LICENSE](../../LICENSE). +See hoidla on litsentseeritud MIT litsentsi alusel. Täpsema info saamiseks vaata faili [LICENSE](../../LICENSE). --- **Vastutusest loobumine**: -See dokument on tõlgitud kasutades tehisintellekti tõlketeenust [Co-op Translator](https://github.com/Azure/co-op-translator). Kuigi püüame tagada täpsust, palun pidage meeles, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Originaaldokument selle algkeeles tuleks pidada autoriteetseks allikaks. Kriitilise informatsiooni puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta ühegi arusaamatuse ega valesti mõistmise eest, mis võib tuleneda sellest tõlkest. +See dokument on tõlgitud AI tõlketeenuse [Co-op Translator](https://github.com/Azure/co-op-translator) abil. Kuigi me püüdleme täpsuse poole, olge teadlikud, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Originaaldokument selle algkeeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta võimalike arusaamatuste või väärinterpreteerimiste eest, mis võivad selle tõlke kasutamisest tuleneda. \ No newline at end of file diff --git a/translations/fa/.co-op-translator.json b/translations/fa/.co-op-translator.json index bfcdd968b9..c5606bd540 100644 --- a/translations/fa/.co-op-translator.json +++ b/translations/fa/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T22:13:41+00:00", + "translation_date": "2026-04-06T18:58:08+00:00", "source_file": "AGENTS.md", "language_code": "fa" }, @@ -516,8 +516,8 @@ "language_code": "fa" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T16:09:59+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T18:53:56+00:00", "source_file": "README.md", "language_code": "fa" }, diff --git a/translations/fa/AGENTS.md b/translations/fa/AGENTS.md index 56a3b6a567..eb39bb5096 100644 --- a/translations/fa/AGENTS.md +++ b/translations/fa/AGENTS.md @@ -1,37 +1,37 @@ # AGENTS.md -## نمای کلی پروژه +## مروری بر پروژه -این یک مخزن برنامه درسی آموزشی برای آموزش مبانی توسعه وب به مبتدیان است. این برنامه درسی یک دوره جامع ۱۲ هفته‌ای توسعه یافته توسط مدافعان ابر مایکروسافت است که شامل ۲۴ درس عملی در زمینه‌های JavaScript، CSS و HTML می‌باشد. +این مخزن یک برنامه درسی آموزشی برای آموزش اصول توسعه وب به مبتدیان است. این برنامه درسی یک دوره جامع ۱۲ هفته‌ای است که توسط مدافعان مایکروسافت کلود توسعه یافته و شامل ۲۴ درس عملی است که مباحث JavaScript، CSS و HTML را پوشش می‌دهد. ### اجزای کلیدی -- **محتوای آموزشی**: ۲۴ درس سازمان‌یافته در قالب ماژول‌های پروژه‌محور -- **پروژه‌های عملی**: Terrarium، بازی تایپ، افزونه مرورگر، بازی فضایی، برنامه بانکداری، ویرایشگر کد، و دستیار چت هوش مصنوعی -- **آزمون‌های تعاملی**: ۴۸ آزمون با ۳ سوال هر کدام (ارزیابی قبل و بعد درس) -- **پشتیبانی چندزبانه**: ترجمه‌های خودکار به بیش از ۵۰ زبان از طریق GitHub Actions -- **فناوری‌ها**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، Python (برای پروژه‌های هوش مصنوعی) +- **محتوای آموزشی**: ۲۴ درس ساختاریافته سازمان‌یافته در قالب ماژول‌های مبتنی بر پروژه +- **پروژه‌های عملی**: تراریوم، بازی تایپ، افزونه مرورگر، بازی فضایی، اپلیکیشن بانکی، ویرایشگر کد و دستیار چت هوش مصنوعی +- **آزمون‌های تعاملی**: ۴۸ آزمون با ۳ سوال هر کدام (ارزیابی پیش و پس از درس) +- **پشتیبانی چندزبانه**: ترجمه‌های خودکار برای بیش از ۵۰ زبان با استفاده از GitHub Actions +- **فناوری‌ها**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، Python (برای پروژه‌های AI) ### معماری - مخزن آموزشی با ساختار مبتنی بر درس -- هر پوشه درس شامل README، نمونه کدها و راه‌حل‌ها -- پروژه‌های مستقل در دایرکتوری‌های جداگانه (quiz-app و پروژه‌های مختلف درس) +- هر پوشه درس شامل README، نمونه‌های کد و راه‌حل‌ها +- پروژه‌های مستقل در دایرکتوری‌های جداگانه (quiz-app، پروژه‌های مختلف دروس) - سیستم ترجمه با استفاده از GitHub Actions (co-op-translator) -- مستندسازی ارائه شده توسط Docsify و قابل دسترس به صورت PDF +- مستندات ارائه شده از طریق Docsify و در دسترس به صورت PDF ## دستورات راه‌اندازی -این مخزن عمدتاً برای مصرف محتوای آموزشی است. برای کار با پروژه‌های خاص: +این مخزن عمدتاً برای مرور محتوای آموزشی است. برای کار با پروژه‌های خاص: -### راه‌اندازی مخزن اصلی +### تنظیم مخزن اصلی ```bash git clone https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners ``` -### راه‌اندازی اپلیکیشن آزمون (Vue 3 + Vite) +### راه‌اندازی برنامه آزمون (Vue 3 + Vite) ```bash cd quiz-app @@ -41,14 +41,14 @@ npm run build # ساخت برای تولید npm run lint # اجرای ESLint ``` -### API پروژه بانک (Node.js + Express) +### API پروژه بانکی (Node.js + Express) ```bash cd 7-bank-project/api npm install npm start # شروع سرور API npm run lint # اجرای ESLint -npm run format # قالب‌بندی با Prettier +npm run format # فرمت با Prettier ``` ### پروژه‌های افزونه مرورگر @@ -56,7 +56,7 @@ npm run format # قالب‌بندی با Prettier ```bash cd 5-browser-extension/solution npm install -# دستورالعمل‌های بارگذاری افزونه خاص مرورگر را دنبال کنید +# دستورالعمل‌های بارگذاری افزونه مخصوص مرورگر را دنبال کنید ``` ### پروژه‌های بازی فضایی @@ -64,10 +64,10 @@ npm install ```bash cd 6-space-game/solution npm install -# فایل index.html را در مرورگر باز کنید یا از سرور زنده استفاده کنید +# فایل index.html را در مرورگر باز کنید یا از Live Server استفاده کنید ``` -### پروژه چت (بک‌اند پایتون) +### پروژه چت (بک‌اند Python) ```bash cd 9-chat-project/solution/backend/python @@ -80,38 +80,38 @@ python api.py ### برای مشارکت‌کنندگان محتوا -1. **فورک کردن مخزن** در حساب GitHub خود -2. **کلون کردن فورک** به صورت محلی -3. **ایجاد شاخه جدید** برای تغییرات -4. اعمال تغییرات در محتوای درس یا نمونه کدها -5. تست تغییرات کد در دایرکتوری‌های پروژه مرتبط -6. ارسال درخواست‌های pull طبق دستورالعمل‌های مشارکت +1. **فورک مخزن** به حساب گیت‌هاب خود +2. **کلون فورک** به صورت محلی +3. **ایجاد شاخه جدید** برای تغییرات خود +4. ایجاد تغییرات در محتوای درس یا نمونه‌های کد +5. تست هر تغییر کد در دایرکتوری‌های مربوط به پروژه +6. ارسال درخواست کشش (Pull Request) طبق دستورالعمل‌های مشارکت ### برای یادگیرندگان -1. فورک یا کلون کردن مخزن -2. رفتن به دایرکتوری‌های درس به ترتیب -3. مطالعه فایل‌های README هر درس -4. انجام آزمون‌های قبل از درس در https://ff-quizzes.netlify.app/web/ -5. کار با نمونه کدهای داخل پوشه‌های درس -6. تکمیل تمرین‌ها و چالش‌ها -7. شرکت در آزمون‌های پس از درس +1. فورک یا کلون مخزن +2. به ترتیب به دایرکتوری‌های درس بروید +3. فایل‌های README هر درس را مطالعه کنید +4. آزمون‌های پیش از درس را در https://ff-quizzes.netlify.app/web/ تکمیل کنید +5. نمونه‌های کد در پوشه‌های درس را انجام دهید +6. وظایف و چالش‌ها را کامل کنید +7. آزمون‌های بعد از درس را انجام دهید ### توسعه زنده -- **مستندسازی**: اجرای `docsify serve` در ریشه (پورت 3000) -- **اپلیکیشن آزمون**: اجرای `npm run dev` در دایرکتوری quiz-app +- **مستندات**: اجرای `docsify serve` در شاخه ریشه (پورت ۳۰۰۰) +- **برنامه آزمون**: اجرای `npm run dev` در دایرکتوری quiz-app - **پروژه‌ها**: استفاده از افزونه Live Server در VS Code برای پروژه‌های HTML - **پروژه‌های API**: اجرای `npm start` در دایرکتوری‌های مربوطه ## دستورالعمل‌های تست -### تست اپلیکیشن آزمون +### تست برنامه آزمون ```bash cd quiz-app npm run lint # بررسی مشکلات سبک کد -npm run build # اطمینان از موفقیت ساخت +npm run build # تایید موفقیت ساخت ``` ### تست API بانک @@ -119,164 +119,164 @@ npm run build # اطمینان از موفقیت ساخت ```bash cd 7-bank-project/api npm run lint # بررسی مشکلات سبک کد -node server.js # اطمینان از شروع سرور بدون خطاها +node server.js # تأیید راه‌اندازی سرور بدون خطاها ``` ### رویکرد کلی تست -- این مخزن آموزشی فاقد تست‌های خودکار جامع است -- تست دستی بر موارد زیر تمرکز دارد: - - اجرای بدون خطای نمونه کدها - - عملکرد صحیح لینک‌های مستندات - - کامپایل موفق پروژه‌ها - - پیروی نمونه‌ها از بهترین شیوه‌ها +- این یک مخزن آموزشی است که فاقد تست‌های خودکار جامع است +- تست دستی متمرکز بر: + - اجرای بدون خطا نمونه‌های کد + - درستی لینک‌ها در مستندات + - تکمیل موفقیت‌آمیز فرآیند ساخت پروژه + - رعایت بهترین شیوه‌ها در نمونه‌ها ### بررسی‌های پیش از ارسال - اجرای `npm run lint` در دایرکتوری‌های دارای package.json -- اطمینان از اعتبار لینک‌های markdown -- تست نمونه کدها در مرورگر یا Node.js -- بررسی ساختار درست ترجمه‌ها +- اعتبارسنجی لینک‌های مارک‌داون +- اجرای نمونه‌های کد در مرورگر یا Node.js +- بررسی حفظ ساختار صحیح ترجمه‌ها -## راهنمایی‌های سبک کدنویسی +## دستورالعمل‌های سبک کدنویسی -### جاوااسکریپت +### JavaScript -- استفاده از نحو ES6+ مدرن -- پیروی از تنظیمات ESLint استاندارد پروژه‌ها -- استفاده از نام‌های معنادار متغیرها و توابع برای وضوح آموزشی -- افزودن کامنت‌های توضیحی برای مفاهیم -- فرمت کد با Prettier در صورت تنظیم +- استفاده از سینتکس مدرن ES6+ +- پیروی از تنظیمات ESLint استاندارد در پروژه‌ها +- استفاده از نام‌های متغیر و توابع معنادار برای وضوح آموزشی +- افزودن توضیحات برای مفاهیم یادگیرندگان +- فرمت کردن با Prettier در صورت وجود تنظیمات ### HTML/CSS - استفاده از عناصر معنایی HTML5 -- اصول طراحی واکنش‌گرا -- نام‌گذاری کلاس‌ها به صورت واضح -- کامنت‌هایی برای توضیح تکنیک‌های CSS برای یادگیرندگان +- رعایت اصول طراحی واکنش‌گرا +- نام‌گذاری واضح کلاس‌ها +- افزودن توضیحات برای تکنیک‌های CSS جهت یادگیرندگان -### پایتون +### Python -- پیروی از قوانین سبک PEP 8 -- نمونه کدهای واضح و آموزشی -- استفاده از تایپ هینت‌ها در صورت امکان و مفید بودن برای یادگیری +- پیروی از دستورالعمل‌های سبک PEP 8 +- نمونه‌های کد روشن و آموزشی +- استفاده از نوع‌دهی (type hints) در صورت مناسب بودن برای یادگیری -### مستندسازی مارک‌داون +### مستندسازی Markdown -- سلسله مراتب هدینگ واضح -- بلوک‌های کد با تعیین زبان +- سلسله مراتب واضح سرفصل‌ها +- بلوک‌های کد با مشخص کردن زبان - لینک به منابع اضافی -- اسکرین‌شات‌ها و تصاویر داخل پوشه‌های `images/` -- متن جایگزین برای تصاویر جهت دسترسی‌پذیری +- اسکرین‌شات‌ها و تصاویر در پوشه‌های `images/` +- متن جایگزین برای تصاویر جهت دسترسی ### سازماندهی فایل‌ها -- شماره‌گذاری درس‌ها به ترتیب (1-getting-started-lessons، 2-js-basics و غیره) -- هر پروژه دارای دایرکتوری‌های `solution/` و معمولاً `start/` یا `your-work/` -- تصاویر در پوشه‌های خاص آن درس در `images/` ذخیره می‌شوند -- ترجمه‌ها در ساختار `translations/{language-code}/` قرار دارند +- شماره‌گذاری دروس به ترتیب (1-getting-started-lessons, 2-js-basics و غیره) +- هر پروژه دارای دایرکتوری‌های `solution/` و اغلب `start/` یا `your-work/` +- ذخیره تصاویر در پوشه‌های `images/` مربوط به هر درس +- ترجمه‌ها در ساختار `translations/{language-code}/` ## ساخت و استقرار -### استقرار اپلیکیشن آزمون (Azure Static Web Apps) +### استقرار برنامه آزمون (Azure Static Web Apps) -اپلیکیشن quiz-app برای استقرار در Azure Static Web Apps تنظیم شده است: +برنامه آزمون برای استقرار در Azure Static Web Apps پیکربندی شده است: ```bash cd quiz-app -npm run build # ایجاد پوشه dist/ -# استقرار از طریق گردش کار GitHub Actions هنگام فشار به شاخه main +npm run build # پوشه dist/ را ایجاد می‌کند +# از طریق جریان کاری GitHub Actions در هر بار پوش به شاخه main مستقر می‌کند ``` پیکربندی Azure Static Web Apps: - **مکان برنامه**: `/quiz-app` - **مکان خروجی**: `dist` -- **فرآیند کاری**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` +- **روند کاری**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` ### تولید PDF مستندات ```bash npm install # نصب docsify-to-pdf -npm run convert # تولید PDF از docs +npm run convert # تولید فایل PDF از داکس ``` -### مستندسازی با Docsify +### مستندات Docsify ```bash npm install -g docsify-cli # نصب Docsify به صورت سراسری -docsify serve # سرویس‌دهی در localhost:3000 +docsify serve # خدمت رسانی در localhost:3000 ``` -### ساخت‌های مخصوص پروژه +### ساخت‌های خاص پروژه -هر دایرکتوری پروژه ممکن است روند ساخت خاص خود را داشته باشد: -- پروژه‌های Vue: اجرای `npm run build` بسته‌های پروداکشن ایجاد می‌کند -- پروژه‌های استاتیک: بدون مرحله ساخت، فایل‌ها مستقیماً سرو می‌شوند +هر پوشه پروژه ممکن است فرآیند ساخت مختص به خود را داشته باشد: +- پروژه‌های Vue: اجرای `npm run build` برای ایجاد بسته‌های تولید +- پروژه‌های استاتیک: مرحله ساخت ندارد، سرویس‌دهی مستقیم فایل‌ها ## دستورالعمل‌های ارسال Pull Request ### قالب عنوان -از عناوین واضح و توصیفی با اشاره به حوزه تغییر استفاده کنید: +از عناوین واضح و توصیفی استفاده کنید که حوزه تغییرات را نشان دهد: - `[Quiz-app] افزودن آزمون جدید برای درس X` -- `[درس-3] اصلاح غلط املایی در پروژه terrarium` -- `[ترجمه] افزودن ترجمه اسپانیایی برای درس 5` -- `[مستندات] به‌روزرسانی دستورالعمل‌های راه‌اندازی` +- `[Lesson-3] اصلاح اشتباه تایپی در پروژه تراریوم` +- `[Translation] افزودن ترجمه اسپانیایی برای درس ۵` +- `[Docs] به‌روزرسانی دستورالعمل‌های راه‌اندازی` -### بررسی‌های اجباری +### بررسی‌های مورد نیاز قبل از ارسال PR: 1. **کیفیت کد**: - - اجرای `npm run lint` در دایرکتوری‌های پروژه مربوطه - - اصلاح تمام خطاها و هشدارهای lint + - اجرای `npm run lint` در دایرکتوری‌های پروژه مربوط + - رفع همه خطاها و هشدارهای lint -2. **تأیید ساخت**: +2. **تایید ساخت**: - اجرای `npm run build` در صورت لزوم - - اطمینان از عدم وجود خطا در ساخت + - اطمینان از عدم وجود خطای ساخت 3. **اعتبارسنجی لینک‌ها**: - - تست تمام لینک‌های markdown - - اطمینان از عملکرد لینک تصاویر + - تست همه لینک‌های مارک‌داون + - بررسی صحت ارجاعات تصویر 4. **بازبینی محتوا**: - - بازخوانی برای غلط‌های املایی و گرامری - - اطمینان از درستی و آموزشی بودن نمونه کدها - - تأیید حفظ معنی اصلی ترجمه‌ها + - ویرایش املایی و گرامری + - اطمینان از صحت و آموزشی بودن نمونه‌های کد + - بررسی حفظ معنای اصلی ترجمه‌ها -### نیازمندی‌های مشارکت +### الزامات مشارکت -- توافق با CLA مایکروسافت (بررسی خودکار در اولین PR) -- پیروی از [کد رفتار منبع باز مایکروسافت](https://opensource.microsoft.com/codeofconduct/) +- موافقت با CLA مایکروسافت (بررسی خودکار در اولین PR) +- پیروی از [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) - مشاهده [CONTRIBUTING.md](./CONTRIBUTING.md) برای دستورالعمل‌های دقیق -- ارجاع شماره مسائل در توضیحات PR در صورت لزوم +- ارجاع شماره مسائل در توضیح PR در صورت لزوم ### فرایند بازبینی -- بازبینی PRها توسط نگه‌داران و جامعه -- اولویت به وضوح آموزشی -- نمونه کدها باید بهترین شیوه‌های جاری را رعایت کنند -- بررسی ترجمه‌ها برای دقت و مناسب بودن فرهنگی +- PRها توسط نگهدارندگان و جامعه مرور می‌شوند +- وضوح آموزشی در اولویت است +- نمونه‌های کد باید از بهترین شیوه‌های فعلی پیروی کنند +- ترجمه‌ها از نظر دقت و سازگاری فرهنگی بررسی می‌شوند ## سیستم ترجمه ### ترجمه خودکار -- استفاده از GitHub Actions با workflow co-op-translator +- استفاده از GitHub Actions با گردش کار co-op-translator - ترجمه خودکار به بیش از ۵۰ زبان - فایل‌های منبع در دایرکتوری‌های اصلی - فایل‌های ترجمه شده در ساختار `translations/{language-code}/` -### افزودن بهبودهای ترجمه دستی +### افزودن بهبودهای دستی ترجمه -1. فایل را در `translations/{language-code}/` بیابید -2. بهبودها را در حفظ ساختار اعمال کنید -3. اطمینان داشته باشید نمونه کدها عملکرد دارند -4. هر محتوای آزمون محلی‌شده را تست کنید +1. پیدا کردن فایل در `translations/{language-code}/` +2. انجام بهبودها بدون تغییر ساختار +3. اطمینان از عملکرد نمونه‌های کد +4. تست محتوای آزمون‌های بومی شده ### متادیتای ترجمه -فایل‌های ترجمه دارای هدر متادیتا هستند: +فایل‌های ترجمه شامل سربرگ متادیتا هستند: ```markdown ``` -## اشکال‌زدایی و عیب‌یابی +## عیب‌یابی و رفع اشکال ### مشکلات رایج -**اپلیکیشن آزمون اجرا نمی‌شود**: -- نسخه Node.js بررسی شود (v14+ توصیه می‌شود) -- حذف `node_modules` و `package-lock.json` سپس اجرای مجدد `npm install` -- بررسی تداخل پورت (پورت پیش‌فرض Vite برابر ۵۱۷۳ است) +**عدم شروع برنامه آزمون**: +- بررسی نسخه Node.js (توصیه شده v14+) +- حذف پوشه‌های `node_modules` و فایل `package-lock.json`، سپس اجرای مجدد `npm install` +- بررسی تعارض پورت (پیش‌فرض: پورت 5173 توسط Vite استفاده می‌شود) **سرور API راه‌اندازی نمی‌شود**: -- اطمینان از حداقل نسخه Node.js (node >=10) -- بررسی استفاده بودن پورت -- اطمینان از نصب تمامی وابستگی‌ها با `npm install` +- بررسی نسخه Node.js (حداقل node >=10) +- اطمینان از عدم استفاده پورت توسط برنامه دیگر +- اطمینان از نصب تمام وابستگی‌ها با `npm install` -**افزونه مرورگر بارگذاری نمی‌شود**: -- بررسی قالب‌بندی صحیح manifest.json -- مشاهده کنسول مرورگر برای خطاها -- پیروی از دستورالعمل نصب افزونه مطابق مرورگر +**بارگذاری نشدن افزونه مرورگر**: +- بررسی قالب صحیح manifest.json +- مشاهده خطاها در کنسول مرورگر +- پیروی از دستورالعمل‌های نصب افزونه خاص مرورگر -**مشکلات پروژه چت پایتون**: -- نصب بسته OpenAI: `pip install openai` +**مشکلات پروژه چت Python**: +- اطمینان از نصب بسته OpenAI: `pip install openai` - تنظیم متغیر محیطی GITHUB_TOKEN -- بررسی مجوزهای دسترسی به مدل‌های GitHub +- بررسی دسترسی به مدل‌های GitHub -**عدم سرو مستندات Docsify**: -- نصب docsify-cli به صورت سراسری: `npm install -g docsify-cli` -- اجرای دستور از دایرکتوری ریشه مخزن +**عدم سرویس‌دهی مستندات Docsify**: +- نصب جهانی docsify-cli: `npm install -g docsify-cli` +- اجرا از شاخه ریشه مخزن - اطمینان از وجود فایل `docs/_sidebar.md` ### نکات محیط توسعه - استفاده از VS Code با افزونه Live Server برای پروژه‌های HTML - نصب افزونه‌های ESLint و Prettier برای فرمت یکنواخت -- استفاده از ابزارهای توسعه مرورگر برای اشکال‌زدایی جاوااسکریپت +- استفاده از DevTools مرورگر برای اشکال‌زدایی JavaScript - نصب افزونه Vue DevTools برای پروژه‌های Vue ### ملاحظات عملکرد -- تعداد زیاد فایل‌های ترجمه شده (بیش از ۵۰ زبان) سبب حجم بزرگ کلون کامل می‌شود -- استفاده از کلون سطحی در صورت کار صرفاً با محتوا: `git clone --depth 1` -- حذف ترجمه‌ها از جستجو هنگام کار با محتوای انگلیسی -- روندهای ساخت در اولین اجرا ممکن است کند باشند (npm install، ساخت Vite) +- تعداد زیاد فایل‌های ترجمه شده (بیش از ۵۰ زبان) باعث بزرگ بودن کلون کامل می‌شود +- برای کار فقط روی محتوا از کلون کم‌عمق استفاده کنید: `git clone --depth 1` +- هنگام کار بر روی محتوای انگلیسی، از جستجو در ترجمه‌ها خودداری کنید +- فرآیندهای ساخت ممکن است در اولین اجرا کند باشد (نصب npm، ساخت Vite) ## ملاحظات امنیتی ### متغیرهای محیطی -- کلیدهای API نباید در مخزن کامیت شوند -- استفاده از فایل‌های `.env` (قبلاً در `.gitignore` قرار دارند) +- کلیدهای API هرگز نباید در مخزن کامیت شوند +- استفاده از فایل‌های `.env` (که در `.gitignore` هستند) - مستندسازی متغیرهای محیطی مورد نیاز در README پروژه‌ها -### پروژه‌های پایتون +### پروژه‌های Python -- استفاده از محیط‌های مجازی: `python -m venv venv` -- نگه داشتن به‌روزرسانی وابستگی‌ها -- توکن‌های GitHub باید حداقل مجوزهای لازم را داشته باشند +- استفاده از محیط مجازی: `python -m venv venv` +- به‌روز نگه داشتن وابستگی‌ها +- توکن‌های GitHub باید حداقل دسترسی لازم را داشته باشند ### دسترسی به مدل‌های GitHub -- توکن‌های دسترسی شخصی (PAT) برای دسترسی به مدل‌ها لازم است -- توکن‌ها باید در متغیرهای محیطی ذخیره شوند -- هرگز توکن‌ها یا اطلاعات حساس را کامیت نکنید +- توکن‌های دسترسی شخصی (PAT) برای GitHub Models لازم است +- توکن‌ها باید به عنوان متغیر محیطی ذخیره شوند +- هرگز توکن یا اطلاعات ورود را کامیت نکنید ## یادداشت‌های اضافی ### مخاطبان هدف - مبتدیان کامل در توسعه وب -- دانش‌آموزان و یادگیرندگان خودآموز -- معلمانی که برنامه درسی را در کلاس تدریس می‌کنند -- محتوا به گونه‌ای طراحی شده که دسترسی‌پذیر و به صورت تدریجی مهارت‌ها را می‌سازد +- دانشجویان و خودآموزها +- معلمانی که برنامه درسی را در کلاس درس استفاده می‌کنند +- محتوای طراحی شده برای دسترس‌پذیری و پیشرفت تدریجی مهارت‌ها ### فلسفه آموزشی - رویکرد یادگیری مبتنی بر پروژه -- بررسی مکرر دانش (آزمون‌ها) -- تمرین‌های عملی برنامه‌نویسی -- مثال‌های کاربردی در دنیای واقعی -- تأکید بر مبانی پیش از فریمورک‌ها +- بررسی‌های مکرر دانش (آزمون‌ها) +- تمرین‌های کدنویسی عملی +- مثال‌هایی از کاربردهای واقعی +- تمرکز بر اصول پایه قبل از فریم‌ورک‌ها ### نگهداری مخزن -- جامعه فعالی از یادگیرندگان و مشارکت‌کنندگان -- به‌روزرسانی منظم وابستگی‌ها و محتوا -- نظارت بر بحث‌ها و مسائل توسط نگه‌داران -- بروزرسانی ترجمه‌ها به‌طور خودکار توسط GitHub Actions +- وجود جامعه فعال از یادگیرندگان و مشارکت‌کنندگان +- به‌روزرسانی‌های منظم وابستگی‌ها و محتوا +- بررسی مسائل و بحث‌ها توسط نگهدارندگان +- به‌روزرسانی‌های ترجمه به‌صورت خودکار از طریق GitHub Actions ### منابع مرتبط - [ماژول‌های Microsoft Learn](https://docs.microsoft.com/learn/) -- [مرکز دانش‌آموزان Student Hub](https://docs.microsoft.com/learn/student-hub/) -- [گیت‌هاب کوپایلوت GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) توصیه‌شده برای یادگیرندگان -- دوره‌های اضافی: هوش مصنوعی مولد، علوم داده، یادگیری ماشین، برنامه درسی اینترنت اشیا +- [منابع Student Hub](https://docs.microsoft.com/learn/student-hub/) +- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) پیشنهادی برای یادگیرندگان +- دوره‌های اضافی: AI مولد، علم داده، یادگیری ماشین، برنامه‌های IoT موجود -### کار با پروژه‌های مشخص +### کار با پروژه‌های خاص -برای دستورالعمل‌های دقیق درباره پروژه‌های فردی، به فایل‌های README در: -- `quiz-app/README.md` - اپلیکیشن آزمون Vue 3 -- `7-bank-project/README.md` - برنامه بانکداری با احراز هویت +برای دستورالعمل‌های دقیق پروژه‌های جداگانه به فایل‌های README در: +- `quiz-app/README.md` - برنامه آزمون Vue 3 +- `7-bank-project/README.md` - اپلیکیشن بانکی با احراز هویت - `5-browser-extension/README.md` - توسعه افزونه مرورگر -- `6-space-game/README.md` - توسعه بازی مبتنی بر Canvas -- `9-chat-project/README.md` - پروژه دستیار چت AI +- `6-space-game/README.md` - توسعه بازی مبتنی بر کانواس +- `9-chat-project/README.md` - پروژه دستیار چت هوش مصنوعی ### ساختار مونو رپو -اگرچه این مخزن یک مونو رپوی سنتی نیست، شامل چند پروژه مستقل است: -- هر درس خودکفا است +اگرچه یک مونو رپو سنتی نیست، این مخزن شامل چندین پروژه مستقل است: +- هر درس به‌صورت جداگانه - پروژه‌ها وابستگی مشترک ندارند -- می‌توان روی پروژه‌های فردی بدون تأثیر بر دیگران کار کرد -- کلون کل مخزن برای تجربه کامل برنامه درسی لازم است +- کار روی پروژه‌های جداگانه بدون تأثیر بر سایرین +- کلون کل مخزن برای تجربه کامل برنامه درسی --- **سلب مسئولیت**: -این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما برای دقت تلاش می‌کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا عدم دقت‌هایی باشند. سند اصلی به زبان بومی خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما مسئول هیچ گونه سوءتفاهم یا تفسیر نادرست ناشی از استفاده از این ترجمه نیستیم. +این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما برای دقت تلاش می‌کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان بومی خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما مسئول هیچ گونه سوء تفاهم یا تفسیر نادرستی که ناشی از استفاده از این ترجمه باشد، نمی‌باشیم. \ No newline at end of file diff --git a/translations/fa/README.md b/translations/fa/README.md index 5c49284d64..4d00c75aee 100644 --- a/translations/fa/README.md +++ b/translations/fa/README.md @@ -12,211 +12,210 @@ # توسعه وب برای مبتدیان - یک برنامه درسی -اصول پایه توسعه وب را با دوره جامع ۱۲ هفته‌ای ما توسط مدافعان مایکروسافت کلود بیاموزید. هر یک از ۲۴ درس به صورت عملی به جاوااسکریپت، CSS و HTML می‌پردازد، با پروژه‌های کاربردی مانند تراریوم‌ها، افزونه‌های مرورگر و بازی‌های فضایی. در آزمون‌ها، بحث‌ها و وظایف عملی شرکت کنید. مهارت‌های خود را افزایش دهید و حفظ دانش خود را با روش تدریس پروژه‌محور مؤثر ما بهینه‌سازی کنید. سفر کدنویسی خود را امروز آغاز کنید! +اصول توسعه وب را با دوره جامع ۱۲ هفته‌ای ما توسط مدافعان ابری مایکروسافت بیاموزید. هر یک از ۲۴ درس به صورت پروژه‌های عملی مثل تراریوم‌ها، افزونه‌های مرورگر و بازی‌های فضایی به جاوااسکریپت، CSS و HTML می‌پردازد. با آزمون‌ها، بحث‌ها و تمرین‌های عملی درگیر شوید. مهارت‌های خود را ارتقا دهید و با روش آموزش پروژه‌محور موثر ما، دانش خود را بهینه کنید. امروز سفر برنامه‌نویسی خود را آغاز کنید! به جامعه دیسکورد Azure AI Foundry بپیوندید [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) برای شروع استفاده از این منابع، مراحل زیر را دنبال کنید: -1. **فورک کردن مخزن**: کلیک کنید بر [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) -2. **کلون کردن مخزن**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**به دیسکورد Azure AI Foundry بپیوندید و با کارشناسان و توسعه‌دهندگان همدل ملاقات کنید**](https://discord.com/invite/ByRwuEEgH4) +1. **فورک کردن مخزن**: کلیک کنید [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +2. **کلون کردن مخزن**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +۳. [**به دیسکورد Azure AI Foundry بپیوندید و با کارشناسان و توسعه‌دهندگان هم‌سطح ملاقات کنید**](https://discord.com/invite/ByRwuEEgH4) -### 🌐 پشتیبانی چند زبانه +### 🌐 پشتیبانی چندزبانه #### پشتیبانی شده توسط GitHub Action (خودکار و همیشه به‌روز) -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](./README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](./README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) -> **ترجیح می‌دهید محلی کلون کنید؟** +> **ترجیح می‌دهید به صورت محلی کلون کنید؟** > -> این مخزن شامل بیش از ۵۰ ترجمه زبانی است که سایز دانلود را به طور قابل توجهی افزایش می‌دهد. برای کلون بدون ترجمه‌ها، از sparse checkout استفاده کنید: +> این مخزن شامل بیش از ۵۰ ترجمه زبانی است که باعث افزایش قابل توجه اندازه دانلود می‌شود. برای کلون بدون ترجمه‌ها، از sparse checkout استفاده کنید: > -> **Bash / macOS / Linux:** +> **بش / macOS / لینوکس:** > ```bash > git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git > cd Web-Dev-For-Beginners > git sparse-checkout set --no-cone '/*' '!translations' '!translated_images' > ``` > -> **CMD (Windows):** +> **CMD (ویندوز):** > ```cmd > git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git > cd Web-Dev-For-Beginners > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> این به شما همه چیز مورد نیاز برای اتمام دوره را همراه با دانلود بسیار سریعتر می‌دهد. +> این همه چیز مورد نیاز برای اتمام دوره را با دانلود بسیار سریع‌تر به شما می‌دهد. -**اگر مایلید زبان‌های ترجمه اضافی پشتیبانی شود، آنها در این آدرس لیست شده‌اند [اینجا](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**اگر مایل به حمایت از زبان‌های ترجمه بیشتری هستید، زبان‌های پشتیبانی شده در [اینجا](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md) لیست شده‌اند** [![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) -#### 🧑‍🎓 _آیا دانش‌آموز هستید؟_ +#### 🧑‍🎓 _آیا دانشجو هستید؟_ -به صفحه [**مرکز دانش‌آموزان**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) مراجعه کنید که در آن منابع مبتدی، بسته‌های دانش‌آموزی و حتی راه‌هایی برای دریافت کوپن گواهی‌نامه رایگان پیدا خواهید کرد. این صفحه‌ای است که می‌خواهید آن را نشانک گذاری کنید و گهگاه چک کنید چون محتوای آن ماهانه به‌روزرسانی می‌شود. +به صفحه [**Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) مراجعه کنید، جایی که منابع مبتدی، بسته‌های دانشجویی و حتی راه‌هایی برای دریافت کوپن رایگان گواهی دریافت خواهید کرد. این صفحه‌ای است که می‌خواهید آن را نشانک (Bookmark) کنید و هر از گاهی چک کنید چون محتوای آن ماهانه به‌روزرسانی می‌شود. -### 📣 اعلامیه - چالش‌های جدید GitHub Copilot Agent Mode برای تکمیل! +### 📣 اطلاعیه - چالش‌های جدید حالت GitHub Copilot Agent برای تکمیل! -چالش جدید اضافه شده است، به دنبال "چالش GitHub Copilot Agent 🚀" در اکثر فصل‌ها باشید. این یک چالش جدید برای شماست تا با استفاده از GitHub Copilot و حالت Agent آن را کامل کنید. اگر قبلاً از حالت Agent استفاده نکرده‌اید، این حالت قادر است نه تنها متن تولید کند بلکه می‌تواند فایل ایجاد و ویرایش کند، دستورها را اجرا کند و بیشتر. +چالش جدید اضافه شده، دنبال "GitHub Copilot Agent Challenge 🚀" در اکثر فصل‌ها باشید. این یک چالش جدید برای شما است تا با استفاده از GitHub Copilot و حالت Agent کامل کنید. اگر قبلاً از حالت Agent استفاده نکرده‌اید، این حالت قادر است نه تنها متن تولید کند بلکه فایل‌ها را ایجاد و ویرایش کند، فرمان‌ها را اجرا کرده و بیشتر. -### 📣 اعلامیه - _پروژه جدیدی برای ساخت با استفاده از هوش مصنوعی مولد_ +### 📣 اطلاعیه - _پروژه جدید برای ساخت با استفاده از هوش مصنوعی مولد_ پروژه دستیار هوش مصنوعی جدید به تازگی اضافه شده است، آن را بررسی کنید [پروژه](./9-chat-project/README.md) -### 📣 اعلامیه - _برنامه درسی جدید_ برای هوش مصنوعی مولد در جاوااسکریپت به تازگی منتشر شده است +### 📣 اطلاعیه - _برنامه درسی جدید_ درباره هوش مصنوعی مولد برای جاوااسکریپت به تازگی منتشر شده است -برنامه درسی جدید هوش مصنوعی مولد ما را از دست ندهید! +برنامه درسی هوش مصنوعی مولد ما را از دست ندهید! -برای شروع به آدرس [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) مراجعه کنید! +برای شروع به [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) مراجعه کنید! -![Background](../../translated_images/fa/background.148a8d43afde5730.webp) +![پس‌زمینه](../../translated_images/fa/background.148a8d43afde5730.webp) - درس‌هایی که از مبانی تا RAG را پوشش می‌دهند. - تعامل با شخصیت‌های تاریخی با استفاده از GenAI و اپلیکیشن همراه ما. -- روایت سرگرم‌کننده و جذاب، شما به سفر در زمان خواهید رفت! +- روایت سرگرم‌کننده و جذاب، شما در حال سفر در زمان هستید! -![character](../../translated_images/fa/character.5c0dd8e067ffd693.webp) +![شخصیت](../../translated_images/fa/character.5c0dd8e067ffd693.webp) +هر درس شامل یک تکلیف برای کامل کردن، یک آزمون دانش و چالشی برای راهنمایی شما در یادگیری موضوعاتی مانند: +- درخواست‌دهی و مهندسی درخواست +- تولید اپلیکیشن‌های متنی و تصویری +- اپلیکیشن‌های جستجو -هر درس شامل یک تکلیف برای تکمیل، یک تست دانش و یک چالش برای راهنمایی شما در یادگیری موضوعاتی مانند: -- پرامپت و مهندسی پرامپت -- تولید برنامه‌های متن و تصویر -- برنامه‌های جستجو - -برای شروع به آدرس [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) مراجعه کنید! +برای شروع به [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) مراجعه کنید! ## 🌱 شروع به کار -> **معلمان**، ما [برخی پیشنهادات](for-teachers.md) برای چگونگی استفاده از این برنامه درسی ارائه کرده‌ایم. ما مشتاقانه منتظر بازخورد شما [در انجمن بحث ما](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner) هستیم! +> **معلمان**، ما [برخی پیشنهادات](for-teachers.md) درباره نحوه استفاده از این برنامه درسی ارائه کرده‌ایم. منتظر بازخورد شما در [انجمن بحث ما](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner) هستیم! -**[یادگیرندگان](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**، برای هر درس، با یک آزمون قبل از درس شروع کنید و سپس به خواندن مطالب درس بپردازید، فعالیت‌های مختلف را انجام دهید و در پایان در آزمون بعد از درس دانش خود را بسنجید. +**[دانش‌آموزان](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**، برای هر درس، با یک آزمون پیش‌نمایش درس شروع کنید و ادامه دهید با خواندن مطالب درس، انجام فعالیت‌های مختلف و درک خود را با آزمون پس از درس بسنجید. -برای بهبود تجربه یادگیری خود، با هم‌کلاسان‌تان به همکاری در پروژه‌ها بپردازید! بحث و گفتگو در [انجمن بحث](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) تشویق می‌شود که تیمی از ناظران ما برای پاسخ به سوالات شما حضور دارند. +برای بهبود تجربه یادگیری خود، با همسالان خود ارتباط برقرار کنید و روی پروژه‌ها با هم کار کنید! در [انجمن بحث](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) گفتگو encouraged است و تیم مدیران ما در دسترسند تا به سوالات شما پاسخ دهند. -برای گسترش دانش خود، ما قویاً توصیه می‌کنیم که [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) را برای منابع مطالعاتی اضافی بررسی کنید. +برای ادامه تحصیل، ما اکیداً توصیه می‌کنیم با [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) برای مطالعات بیشتر آشنا شوید. -### 📋 راه‌اندازی محیط کاری شما +### 📋 راه‌اندازی محیط توسعه شما -این برنامه درسی دارای محیط توسعه آماده به کار است! با شروع، می‌توانید انتخاب کنید که در [Codespace](https://github.com/features/codespaces/) (_یک محیط مبتنی بر مرورگر بدون نیاز به نصب_) یا به صورت محلی روی کامپیوتر خود با استفاده از یک ویرایشگر متن مانند [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) کار کنید. +این برنامه درسی محیط توسعه‌ای آماده دارد! هنگام شروع می‌توانید انتخاب کنید دوره را در یک [Codespace](https://github.com/features/codespaces/) (_محیط مبتنی بر مرورگر بدون نیاز به نصب_) اجرا کنید یا به صورت محلی روی کامپیوتر خود با استفاده از یک ویرایشگر متن مانند [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) آن را اجرا کنید. #### ایجاد مخزن خود -برای این که راحت‌تر کارهای خود را ذخیره کنید، توصیه می‌شود نسخه‌ای از این مخزن را ایجاد کنید. می‌توانید این کار را با کلیک بر روی دکمه **Use this template** در بالای صفحه انجام دهید. این کار یک مخزن جدید در حساب گیت‌هاب شما با نسخه‌ای از برنامه درسی ایجاد می‌کند. +برای ذخیره راحت کار خود، پیشنهاد می‌شود یک نسخه کپی از این مخزن بسازید. این کار را می‌توانید با کلیک روی دکمه **Use this template** در بالای صفحه انجام دهید. این یک مخزن جدید در حساب GitHub شما با کپی برنامه درسی ایجاد می‌کند. مراحل زیر را دنبال کنید: -1. **فورک کردن مخزن**: روی دکمه "Fork" در گوشه بالا سمت راست این صفحه کلیک کنید. -2. **کلون کردن مخزن**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +۱. **فورک کردن مخزن:** روی دکمه "Fork" در گوشه بالا-راست این صفحه کلیک کنید. +۲. **کلون کردن مخزن:** `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` #### اجرای برنامه درسی در Codespace -در نسخه‌ای از این مخزن که ایجاد کرده‌اید، دکمه **Code** را کلیک کرده و گزینه **Open with Codespaces** را انتخاب کنید. این برای شما یک Codespace جدید ایجاد می‌کند. +در نسخه کپی شده مخزن، دکمه **Code** را کلیک کنید و **Open with Codespaces** را انتخاب کنید. این یک Codespace جدید برای شما ایجاد خواهد کرد. ![Codespace](../../translated_images/fa/createcodespace.0238bbf4d7a8d955.webp) -#### اجرای برنامه درسی به صورت محلی روی کامپیوتر +#### اجرای برنامه درسی به صورت محلی روی کامپیوتر شما -برای اجرای این برنامه درسی به صورت محلی روی کامپیوتر خود، به یک ویرایشگر متن، یک مرورگر و یک ابزار خط فرمان نیاز دارید. اولین درس ما، [مقدمه‌ای بر زبان‌های برنامه‌نویسی و ابزارهای مورد استفاده](../../1-getting-started-lessons/1-intro-to-programming-languages) شما را با گزینه‌های مختلف این ابزارها آشنا می‌کند تا بتوانید بهترین‌ها را انتخاب کنید. +برای اجرای این برنامه درسی به صورت محلی، به یک ویرایشگر متن، مرورگر و ابزار خط فرمان نیاز دارید. اولین درس ما، [مقدمه‌ای بر زبان‌ها و ابزارهای برنامه‌نویسی](../../1-getting-started-lessons/1-intro-to-programming-languages)، گزینه‌های مختلف برای هر کدام از این ابزارها را به شما معرفی می‌کند تا بهترین‌ها را انتخاب کنید. -توصیه ما استفاده از [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) به عنوان ویرایشگر است که همچنین یک [ترمینال](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) داخلی دارد. می‌توانید Visual Studio Code را از [اینجا](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) دانلود کنید. -1. مخزن خود را روی کامپیوترتان کلون کنید. می‌توانید این کار را با کلیک روی دکمه **Code** و کپی کردن آدرس URL انجام دهید: +توصیه ما استفاده از [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) به عنوان ویرایشگر است که دارای [ترمینال داخلی](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) نیز می‌باشد. می‌توانید Visual Studio Code را از [اینجا](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) دانلود کنید. +1. کد مخزن خود را روی کامپیوترتان کلون کنید. می‌توانید این کار را با کلیک روی دکمه **Code** و کپی کردن URL انجام دهید: [CodeSpace](./images/createcodespace.png) - سپس، درون [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) در [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) باز کنید و فرمان زیر را اجرا کنید، به جای `` آدرسی که تازه کپی کرده‌اید را جایگزین کنید: + سپس، در [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) داخل [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) باز کرده و دستور زیر را اجرا کنید، به جای `` آدرسی که تازه کپی کرده‌اید را جایگزین کنید: ```bash git clone ``` -2. پوشه را در Visual Studio Code باز کنید. می‌توانید این کار را با کلیک روی **File** > **Open Folder** انجام داده و پوشه‌ای را که تازه کلون کرده‌اید انتخاب کنید. +2. پوشه را در Visual Studio Code باز کنید. می‌توانید این کار را با کلیک روی **File** > **Open Folder** و انتخاب پوشه‌ای که تازه کلون کرده‌اید انجام دهید. > افزونه‌های پیشنهادی Visual Studio Code: > -> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - برای پیش‌نمایش صفحات HTML درون Visual Studio Code -> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - برای کمک به نوشتن کد سریع‌تر +> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - برای پیش‌نمایش صفحات HTML در داخل Visual Studio Code +> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - برای کمک به نوشتن سریع‌تر کد ## 📂 هر درس شامل: -- طرح اولیه اختیاری (sketchnote) -- ویدئوی کمکی اختیاری -- آزمون گرم‌کننده پیش از درس -- درس کتبی -- برای درس‌های مبتنی بر پروژه، راهنماهای گام به گام ساخت پروژه -- بررسی‌های دانش -- یک چالش -- مطالعه تکمیلی -- تکلیف +- یادداشت تصویری اختیاری +- ویدیوی تکمیلی اختیاری +- آزمون پیش‌گرم‌کننده پیش از درس +- درس نوشتاری +- برای درس‌های مبتنی بر پروژه، راهنماهای گام‌به‌گام برای ساخت پروژه +- چک‌های دانش +- چالش +- خواندن تکمیلی +- تمرین - [آزمون پس از درس](https://ff-quizzes.netlify.app/web/) -> **نکته‌ای درباره آزمون‌ها**: همه آزمون‌ها در پوشه Quiz-app قرار دارند، در مجموع ۴۸ آزمون با هر کدام شامل سه سوال. آن‌ها قابل دسترس [در اینجا](https://ff-quizzes.netlify.app/web/) هستند و می‌توان اپلیکیشن آزمون را به صورت محلی اجرا کرد یا در Azure مستقر نمود؛ دستورالعمل‌ها در پوشه `quiz-app` آمده است. +> **نکته‌ای درباره آزمون‌ها**: همه آزمون‌ها در پوشه Quiz-app قرار دارند، مجموعاً ۴۸ آزمون هر کدام با سه سؤال. آن‌ها در [اینجا](https://ff-quizzes.netlify.app/web/) در دسترس هستند، اپ آزمون می‌تواند به صورت محلی اجرا یا به Azure منتشر شود؛ دستورالعمل‌ها در پوشه `quiz-app` آمده است. -## 🗃️ درس‌ها +## 🗃️ دروس | | نام پروژه | مفاهیم آموزش داده شده | اهداف یادگیری | درس مرتبط | نویسنده | | :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | شروع به کار | مقدمه‌ای بر برنامه‌نویسی و ابزارهای کار | یادگیری اصول پایه‌ای اکثر زبان‌های برنامه‌نویسی و نرم‌افزاری که به توسعه‌دهندگان حرفه‌ای در انجام کارشان کمک می‌کند | [مقدمه‌ای بر زبان‌ها و ابزارهای برنامه‌نویسی](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | شروع به کار | مبانی گیت‌هاب، شامل کار گروهی | چگونگی استفاده از گیت‌هاب در پروژه و همکاری با دیگران روی کد | [مقدمه‌ای بر گیت‌هاب](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | شروع به کار | دسترسی‌پذیری | فراگیری مبانی دسترسی‌پذیری وب | [مبانی دسترسی‌پذیری](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | مبانی JS | انواع داده در JavaScript | مبانی انواع داده در JavaScript | [انواع داده](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | مبانی JS | توابع و روش‌ها | آشنایی با توابع و روش‌ها برای مدیریت جریان منطقی برنامه | [توابع و روش‌ها](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher | -| 06 | مبانی JS | گرفتن تصمیم با JS | یادگیری چگونگی ایجاد شرایط در کد با استفاده از روش‌های تصمیم‌گیری | [گرفتن تصمیم](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | مبانی JS | آرایه‌ها و حلقه‌ها | کار با داده‌ها با استفاده از آرایه‌ها و حلقه‌ها در JavaScript | [آرایه‌ها و حلقه‌ها](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [تراریوم](./3-terrarium/solution/README.md) | HTML در عمل | ساخت HTML برای ایجاد تراریوم آنلاین، تمرکز بر ساختار بندی صفحه | [مقدمه‌ای بر HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [تراریوم](./3-terrarium/solution/README.md) | CSS در عمل | ساخت CSS برای طراحی تراریوم آنلاین، تمرکز بر مبانی CSS شامل واکنش‌گرا کردن صفحه | [مقدمه‌ای بر CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [تراریوم](./3-terrarium/solution/README.md) | بسته‌های JavaScript، دستکاری DOM | ساخت جاوااسکریپت برای کارکرد تراریوم به صورت رابط کشیدن/رها کردن، تمرکز بر بسته‌ها و دستکاری DOM | [بسته‌های JavaScript، دستکاری DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [بازی تایپ](./4-typing-game/solution/README.md) | ساخت بازی تایپ | یادگیری استفاده از رویدادهای صفحه کلید برای هدایت منطق برنامه جاوااسکریپت | [برنامه‌نویسی رویدادمحور](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [افزونه مرورگر سبز](./5-browser-extension/solution/README.md) | کار با مرورگرها | یادگیری کارکرد مرورگرها، تاریخچه آن‌ها و راه‌اندازی اولیه افزونه مرورگر | [درباره مرورگرها](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [افزونه مرورگر سبز](./5-browser-extension/solution/README.md) | ساخت فرم، فراخوانی API و ذخیره متغیرها در local storage | ساخت عناصر جاوااسکریپت افزونه مرورگر برای فراخوانی API با استفاده از متغیرهای ذخیره شده در local storage | [APIها، فرم‌ها و ذخیره محلی](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [افزونه مرورگر سبز](./5-browser-extension/solution/README.md) | فرآیندهای پس‌زمینه در مرورگر، کارایی وب | استفاده از فرآیندهای پس‌زمینه مرورگر برای مدیریت آیکون افزونه؛ آشنایی با عملکرد وب و بهینه‌سازی‌هایی برای بهبود آن | [وظایف پس‌زمینه و کارایی](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [بازی فضایی](./6-space-game/solution/README.md) | توسعه بازی پیشرفته‌تر با JavaScript | یادگیری وراثت با هر دو کلاس و ترکیب و الگوی Pub/Sub، برای آماده‌سازی ساخت بازی | [مقدمه‌ای بر توسعه بازی پیشرفته](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [بازی فضایی](./6-space-game/solution/README.md) | رسم روی بوم | آشنایی با API بوم (Canvas) برای رسم عناصر روی صفحه | [رسم روی بوم](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [بازی فضایی](./6-space-game/solution/README.md) | حرکت عناصر در صفحه نمایش | کشف چگونگی حرکت گرفتن عناصر با استفاده از مختصات کارتزین و API بوم | [حرکت دادن عناصر](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [بازی فضایی](./6-space-game/solution/README.md) | تشخیص برخورد | ایجاد برخورد و واکنش عناصر به یکدیگر با استفاده از فشار کلیدها و فراهم کردن عملکرد خنک‌کننده برای اطمینان از کارایی بازی | [تشخیص برخورد](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [بازی فضایی](./6-space-game/solution/README.md) | نگهداری امتیاز | انجام محاسبات ریاضی بر اساس وضعیت و عملکرد بازی | [نگهداری امتیاز](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [بازی فضایی](./6-space-game/solution/README.md) | پایان و شروع مجدد بازی | یادگیری پایان دادن و شروع مجدد بازی، شامل پاکسازی منابع و بازنشانی مقادیر متغیرها | [شرط پایان](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [اپ بانک](./7-bank-project/solution/README.md) | قالب‌ها و مسیرها در یک اپ وب | یادگیری ساخت اسکلت معماری وبسایت چندصفحه‌ای به کمک روتینگ و قالب‌های HTML | [قالب‌ها و مسیرها](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [اپ بانک](./7-bank-project/solution/README.md) | ساخت فرم ورود و ثبت‌نام | یادگیری ساخت فرم‌ها و مدیریت روال‌های اعتبارسنجی | [فرم‌ها](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [اپ بانک](./7-bank-project/solution/README.md) | روش‌های دریافت و استفاده از داده | جریان داده در برنامه، نحوه دریافت، ذخیره و حذف آن | [داده](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [اپ بانک](./7-bank-project/solution/README.md) | مفاهیم مدیریت وضعیت | یادگیری حفظ وضعیت برنامه و مدیریت برنامه‌ای آن | [مدیریت وضعیت](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [کد مرورگر/VScode](../../8-code-editor) | کار با VScode | یادگیری استفاده از ویرایشگر کد | [استفاده از ویرایشگر کد VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [دستیارهای هوش مصنوعی](./9-chat-project/README.md) | کار با هوش مصنوعی | یادگیری ساخت دستیار هوش مصنوعی خودتان | [پروژه دستیار هوش مصنوعی](./9-chat-project/README.md) | Chris | - -## 🏫 روش آموزش - -برنامه‌ی درسی ما با دو اصل کلیدی آموزش طراحی شده است: +| 01 | شروع کار | مقدمه‌ای بر برنامه‌نویسی و ابزارها | یادگیری مبانی پایه‌ای که پشت اکثر زبان‌های برنامه‌نویسی است و درباره نرم‌افزاری که به توسعه‌دهندگان حرفه‌ای کمک می‌کند تا وظایفشان را انجام دهند | [مقدمه‌ای بر زبان‌های برنامه‌نویسی و ابزارها](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | شروع کار | مبانی گیت‌هاب، شامل کار تیمی | نحوه استفاده از گیت‌هاب در پروژه‌تان، نحوه همکاری با دیگران روی یک پایگاه کد | [مقدمه‌ای بر گیت‌هاب](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | شروع کار | دسترس‌پذیری | یادگیری مبانی دسترس‌پذیری وب | [مبانی دسترس‌پذیری](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | مبانی جاوااسکریپت | انواع داده‌های جاوااسکریپت | مبانی انواع داده‌های جاوااسکریپت | [انواع داده](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | مبانی جاوااسکریپت | توابع و متدها | یادگیری درباره توابع و متدها برای مدیریت جریان منطق یک برنامه | [توابع و متدها](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher | +| 06 | مبانی جاوااسکریپت | تصمیم‌گیری با جاوااسکریپت | یادگیری نحوه ایجاد شرایط در کد با استفاده از روش‌های تصمیم‌گیری | [تصمیم‌گیری](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | مبانی جاوااسکریپت | آرایه‌ها و حلقه‌ها | کار با داده‌ها با استفاده از آرایه‌ها و حلقه‌ها در جاوااسکریپت | [آرایه‌ها و حلقه‌ها](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [تردارخانه](./3-terrarium/solution/README.md) | تمرین HTML | ساخت HTML برای ایجاد یک تراریوم آنلاین، تمرکز بر ساختار‌بندی | [مقدمه‌ای بر HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [تردارخانه](./3-terrarium/solution/README.md) | تمرین CSS | ساخت CSS برای استایل‌دهی تراریوم آنلاین، تمرکز بر مبانی CSS شامل ساخت واکنشگرا | [مقدمه‌ای بر CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [تردارخانه](./3-terrarium/solution/README.md) | بسته‌های جاوااسکریپت، دستکاری DOM | ساخت کد جاوااسکریپت برای عملکرد تراریوم به عنوان واسط کشیدن/رها کردن، تمرکز بر بسته‌ها و دستکاری DOM | [بسته‌های جاوااسکریپت، دستکاری DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [بازی تایپینگ](./4-typing-game/solution/README.md) | ساخت بازی تایپینگ | یادگیری استفاده از رویدادهای صفحه‌کلید برای هدایت منطق اپلیکیشن جاوااسکریپت | [برنامه‌نویسی مبتنی بر رویداد](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [افزونه مرورگر سبز](./5-browser-extension/solution/README.md) | کار با مرورگرها | آشنایی با نحوه کار مرورگرها، تاریخچه آن‌ها و نحوه ساخت عناصر اولیه یک افزونه مرورگر | [درباره مرورگرها](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [افزونه مرورگر سبز](./5-browser-extension/solution/README.md) | ساخت یک فرم، فراخوانی API و ذخیره متغیرها در حافظه محلی | ساخت عناصر جاوااسکریپت افزونه مرورگر برای فراخوانی API با استفاده از متغیرهای ذخیره شده در حافظه محلی | [APIها، فرم‌ها و حافظه محلی](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [افزونه مرورگر سبز](./5-browser-extension/solution/README.md) | فرآیندهای پس‌زمینه در مرورگر، عملکرد وب | استفاده از فرآیندهای پس‌زمینه مرورگر برای مدیریت آیکون افزونه؛ یادگیری درباره عملکرد وب و بهینه‌سازی‌هایی برای افزایش | [کارهای پس‌زمینه و عملکرد](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [بازی فضا](./6-space-game/solution/README.md) | توسعه بازی پیشرفته‌تر با جاوااسکریپت | یادگیری درباره وراثت با استفاده از کلاس‌ها و ترکیب و الگوی Pub/Sub، برای آماده‌سازی جهت ساخت بازی | [مقدمه‌ای بر توسعه بازی پیشرفته](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [بازی فضا](./6-space-game/solution/README.md) | نقاشی روی بوم | آشنایی با API بوم برای ترسیم عناصر روی صفحه | [نقاشی روی بوم](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [بازی فضا](./6-space-game/solution/README.md) | حرکت دادن عناصر روی صفحه | کشف نحوه حرکت گرفتن عناصر با استفاده از مختصات کارتزینی و API بوم | [حرکت دادن عناصر](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [بازی فضا](./6-space-game/solution/README.md) | تشخیص برخورد | ایجاد برخورد و واکنش عناصر نسبت به یکدیگر با استفاده از فشردن کلیدها و فراهم کردن تابع خنک‌سازی برای حفظ عملکرد بازی | [تشخیص برخورد](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [بازی فضا](./6-space-game/solution/README.md) | نگهداری امتیاز | انجام محاسبات ریاضی بر اساس وضعیت و عملکرد بازی | [نگهداری امتیاز](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [بازی فضا](./6-space-game/solution/README.md) | خاتمه و راه‌اندازی مجدد بازی | یادگیری درباره خاتمه و راه‌اندازی مجدد بازی، شامل پاک‌سازی منابع و بازنشانی مقدار متغیرها | [شرط پایان](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [اپ بانکداری](./7-bank-project/solution/README.md) | قالب‌های HTML و مسیرها در اپ وب | یادگیری نحوه ایجاد اسکلت معماری وب‌سایت چند صفحه‌ای با استفاده از مسیر‌دهی و قالب‌های HTML | [قالب‌های HTML و مسیرها](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [اپ بانکداری](./7-bank-project/solution/README.md) | ساخت فرم ورود و ثبت‌نام | یادگیری ساخت فرم‌ها و مدیریت چک‌کردن اعتبار | [فرم‌ها](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [اپ بانکداری](./7-bank-project/solution/README.md) | روش‌های دریافت و استفاده از داده‌ها | جریان داده‌ها در اپلیکیشن شما، نحوه دریافت، ذخیره و حذف آن | [داده](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [اپ بانکداری](./7-bank-project/solution/README.md) | مفاهیم مدیریت وضعیت | یادگیری نحوه حفظ وضعیت در اپلیکیشن و مدیریت آن به صورت برنامه‌نویسی | [مدیریت وضعیت](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [کد مرورگر/وی‌اس‌کد](../../8-code-editor) | کار با وی‌اس‌کد | یادگیری نحوه استفاده از ویرایشگر کد| [استفاده از ویرایشگر کد وی‌اس‌کد](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [دستیارهای هوش مصنوعی](./9-chat-project/README.md) | کار با هوش مصنوعی | یادگیری چگونگی ساخت دستیار هوش مصنوعی خودتان | [پروژه دستیار هوش مصنوعی](./9-chat-project/README.md) | Chris | + +## 🏫 روش تدریس + +برنامه درسی ما با دو اصل کلیدی آموزشی طراحی شده است: * یادگیری مبتنی بر پروژه * آزمون‌های مکرر -این برنامه اساس‌های JavaScript، HTML و CSS را آموزش می‌دهد، همچنین جدیدترین ابزارها و تکنیک‌هایی که توسعه‌دهندگان وب امروزه استفاده می‌کنند. دانش‌آموزان فرصت کسب تجربه عملی را با ساخت بازی تایپ، تراریوم مجازی، افزونه مرورگر دوستدار محیط زیست، بازی سبک Space Invader و اپ بانک برای کسب‌وکارها خواهند داشت. تا پایان این مجموعه، یک درک جامع از توسعه وب کسب خواهند کرد. +این برنامه مبانی جاوااسکریپت، HTML و CSS را آموزش می‌دهد، به‌علاوه جدیدترین ابزارها و تکنیک‌هایی که توسعه‌دهندگان وب امروزی استفاده می‌کنند. دانشجویان فرصت خواهند داشت تا تجربه عملی با ساخت بازی تایپینگ، تراریوم مجازی، افزونه مرورگر سازگار با محیط زیست، بازی سبک مهاجم فضایی و اپ بانکداری برای کسب‌وکارها کسب کنند. تا پایان این سری، دانشجویان درک محکمی از توسعه وب به دست خواهند آورد. -> 🎓 شما می‌توانید چند درس اول این برنامه را به صورت [مسیر یادگیری](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) در Microsoft Learn دنبال کنید! +> 🎓 می‌توانید چند درس اول این برنامه درسی را به عنوان یک [مسیر یادگیری](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) در Microsoft Learn بگذرانید! -با اطمینان از هماهنگی محتوا با پروژه‌ها، روند یادگیری برای دانش‌آموزان جذاب‌تر شده و ماندگاری مفاهیم افزایش می‌یابد. همچنین چند درس مقدماتی در مبانی JavaScript نوشته شده است که مفاهیم را معرفی می‌کند و با ویدئویی از مجموعه آموزشی "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" همراه است که برخی نویسندگان آن به این برنامه کمک کرده‌اند. +با اطمینان از اینکه محتوا با پروژه‌ها هماهنگ است، فرآیند برای دانش‌آموزان جذاب‌تر شده و حفظ مفاهیم تقویت خواهد شد. همچنین چند درس شروع‌کننده در مبانی جاوااسکریپت نوشتیم تا مفاهیم را معرفی کنیم، همراه با ویدیویی از مجموعه "[سری شروع‌کنندگان به: جاوااسکریپت](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" که برخی نویسندگان آن به این برنامه درسی کمک کرده‌اند. -علاوه بر این، یک آزمون کم‌فشار قبل از کلاس هدف دانش‌آموز را به سمت یادگیری موضوع تعیین می‌کند، در حالی که آزمون دوم پس از کلاس، حفظ بهتر مطلب را تضمین می‌کند. این برنامه طوری طراحی شده که انعطاف‌پذیر و سرگرم‌کننده باشد و می‌توان آن را به صورت کامل یا بخشی از آن را گذراند. پروژه‌ها از سطح کوچک آغاز شده و تا پایان چرخه ۱۲ هفته‌ای به طور فزاینده‌ای پیچیده می‌شوند. +علاوه بر این، آزمونی با ریسک کم پیش از کلاس قصد دانش‌آموز را برای یادگیری موضوع تنظیم می‌کند، در حالی که آزمون دوم پس از کلاس حفظ بیشتر را تضمین می‌کند. این برنامه درسی به گونه‌ای طراحی شده که انعطاف‌پذیر و سرگرم‌کننده باشد و می‌توان آن را کامل یا جزیی دنبال کرد. پروژه‌ها با پروژه‌های کوچک شروع شده و تا پایان دوره ۱۲ هفته‌ای به تدریج پیچیده‌تر می‌شوند. -در حالی که عمداً از معرفی فریم‌ورک‌های JavaScript اجتناب کرده‌ایم تا روی مهارت‌های پایه‌ای که به عنوان توسعه‌دهنده وب نیاز دارید تمرکز کنیم، گام بعدی خوب برای تکمیل این برنامه، یادگیری Node.js از طریق مجموعه ویدئوهای دیگر است: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +در حالی که عمداً از معرفی چارچوب‌های جاوااسکریپت پرهیز کرده‌ایم تا روی مهارت‌های پایه‌ای لازم قبل از پذیرش چارچوب تمرکز کنیم، گام بعدی خوب برای تکمیل این برنامه یادگیری Node.js از طریق مجموعه دیگری از ویدیوهاست: "[سری شروع‌کنندگان به: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> به [کد رفتاری](CODE_OF_CONDUCT.md) و [راهنمای مشارکت](CONTRIBUTING.md) ما مراجعه کنید. بازخورد سازنده شما را خوش‌آمد می‌گوییم! +> به راهنمای [کد رفتار](CODE_OF_CONDUCT.md) و [مشارکت](CONTRIBUTING.md) ما مراجعه کنید. ما از بازخورد سازنده شما استقبال می‌کنیم! ## 🧭 دسترسی آفلاین -شما می‌توانید این مستندات را به صورت آفلاین با استفاده از [Docsify](https://docsify.js.org/#/) اجرا کنید. این مخزن را فورک کنید، [Docsify را روی دستگاه خود نصب کنید](https://docsify.js.org/#/quickstart) و سپس در پوشه اصلی مخزن این فرمان را وارد کنید `docsify serve`. وب‌سایت روی پورت ۳۰۰۰ در لوکال‌هاست شما اجرا خواهد شد: `localhost:3000`. +شما می‌توانید این مستندات را به صورت آفلاین با استفاده از [Docsify](https://docsify.js.org/#/) اجرا کنید. این مخزن را فورک کنید، [Docsify را نصب کنید](https://docsify.js.org/#/quickstart) روی دستگاه محلی خود، سپس در پوشه ریشه این مخزن دستور `docsify serve` را تایپ کنید. وبسایت روی پورت ۳۰۰۰ در لوکال‌هاست شما سرو خواهد شد: `localhost:3000`. ## 📘 PDF -یک فایل PDF از تمام درس‌ها را می‌توانید [در اینجا](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf) پیدا کنید. +یک فایل PDF از تمام درس‌ها را می‌توانید [اینجا](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf) پیدا کنید. ## 🎒 دوره‌های دیگر -تیم ما دوره‌های دیگری هم تولید می‌کند! نگاه کنید به: +تیم ما دوره‌های دیگری هم تولید می‌کند! مشاهده کنید: ### LangChain @@ -233,7 +232,7 @@ --- -### سری هوش مصنوعی مولد +### سری آموزش هوش مصنوعی مولد [![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) [![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) [![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) @@ -241,7 +240,7 @@ --- -### آموزش‌های پایه‌ای +### آموزش‌های اصلی [![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) [![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) [![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) @@ -252,19 +251,19 @@ --- -### سری CoPilot +### سری آموزش کوپایلوت [![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) [![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) [![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) -## گرفتن کمک +## دریافت کمک -اگر گیر کردید یا سوالی درباره ساخت اپلیکیشن‌های هوش مصنوعی دارید، به جمع یادگیرندگان و توسعه‌دهندگان با تجربه در بحث‌های MCP بپیوندید. این یک جامعه حمایتگر است که سوالات پذیرفته شده و دانش به صورت آزاد به اشتراک گذاشته می‌شود. +اگر گیر کردید یا هر سوالی درباره ساخت اپلیکیشن‌های هوش مصنوعی دارید. به همراه دیگر یادگیرندگان و توسعه‌دهندگان با تجربه در بحث‌های مربوط به MCP شرکت کنید. این یک جامعه حمایت‌کننده است که در آن سوالات پذیرفته می‌شود و دانش به‌طور آزادانه به اشتراک گذاشته می‌شود. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -اگر بازخورد محصول یا خطا در حین ساخت دارید، به نشانی زیر مراجعه کنید: +اگر بازخورد محصول یا اشکالی هنگام ساخت دارید به اینجا مراجعه کنید: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) @@ -275,6 +274,6 @@ --- -**سلب مسئولیت**: -این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما تلاش می‌کنیم دقت را حفظ کنیم، لطفاً آگاه باشید که ترجمه‌های خودکار ممکن است شامل اشتباهات یا نواقصی باشند. سند اصلی به زبان بومی خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما مسئول هیچ گونه سوءتفاهم یا برداشت نادرست ناشی از استفاده از این ترجمه نیستیم. +**سلب مسئولیت**: +این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. با اینکه ما برای دقت تلاش می‌کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نواقص باشند. سند اصلی به زبان مادری خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما مسئول هیچ گونه سوءتفاهم یا برداشت نادرست ناشی از استفاده از این ترجمه نیستیم. \ No newline at end of file diff --git a/translations/fi/.co-op-translator.json b/translations/fi/.co-op-translator.json index 82cc5a63fd..63e14f3b81 100644 --- a/translations/fi/.co-op-translator.json +++ b/translations/fi/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T18:55:35+00:00", + "translation_date": "2026-04-06T18:16:16+00:00", "source_file": "AGENTS.md", "language_code": "fi" }, @@ -516,8 +516,8 @@ "language_code": "fi" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T18:24:56+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T18:12:47+00:00", "source_file": "README.md", "language_code": "fi" }, diff --git a/translations/fi/AGENTS.md b/translations/fi/AGENTS.md index ab5a584f5f..ebbe5717fc 100644 --- a/translations/fi/AGENTS.md +++ b/translations/fi/AGENTS.md @@ -2,36 +2,36 @@ ## Projektin yleiskuvaus -Tämä on opetussisältövarasto, joka on tarkoitettu verkkokehityksen perusteiden opettamiseen aloittelijoille. Opetussuunnitelma on kattava 12 viikon kurssi, jonka ovat kehittäneet Microsoft Cloud Advocates, ja se sisältää 24 käytännönläheistä oppituntia JavaScriptistä, CSS:stä ja HTML:stä. +Tämä on opetuskokonaisuus, joka sisältää verkkokehityksen perusteiden opettamisen aloittelijoille. Opetussuunnitelma on kattava 12 viikon kurssi, jonka ovat kehittäneet Microsoft Cloud Advocates -tiimin jäsenet. Kurssi koostuu 24 käytännön oppitunnista, joissa käydään läpi JavaScriptiä, CSS:ää ja HTML:ää. ### Keskeiset osat -- **Opetussisältö**: 24 rakenteellista oppituntia, jotka on järjestetty projektipohjaisiksi moduuleiksi +- **Koulutussisältö**: 24 jäsenneltyä oppituntia, jotka on järjestetty projektipohjaisiin moduuleihin - **Käytännön projektit**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor ja AI Chat Assistant -- **Interaktiiviset monivalintakyselyt**: 48 kyselyä, joissa on 3 kysymystä jokaisessa (ennen ja jälkeen oppitunnin arvioinnit) -- **Monikielinen tuki**: Automaattiset käännökset yli 50 kielelle GitHub Actionsin avulla -- **Teknologiat**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (tekoälyprojekteihin) +- **Interaktiiviset tietokilpailut**: 48 tietokilpailua, joissa jokaisessa on 3 kysymystä (ennakko-/jälkitestit) +- **Monikielinen tuki**: Automaattinen käännös yli 50 kielelle GitHub Actions -työkalun avulla +- **Teknologiat**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI-projekteihin) ### Arkkitehtuuri -- Opetussisältövarasto, jossa on oppituntirakenne -- Jokainen oppituntikansio sisältää README-tiedoston, koodiesimerkkejä ja ratkaisuja -- Erilliset projektit omissa hakemistoissaan (quiz-app, eri oppituntiprojektit) -- Käännösjärjestelmä käyttäen GitHub Actionsia (co-op-translator) -- Dokumentaatio tarjolla Docsifylla ja PDF-muodossa +- Opetussisältöarkisto oppituntipohjaisella rakenteella +- Jokainen oppituntikansio sisältää README-tiedoston, koodiesimerkit ja ratkaisut +- Erilliset projektit omissa hakemistoissaan (quiz-app, eri oppiprojektit) +- Käännösjärjestelmä GitHub Actions -työkalun (co-op-translator) avulla +- Dokumentaatio tarjotaan Docsify:n kautta ja on saatavilla PDF-muodossa -## Asennuskäskyt +## Asennuskomennot -Tämä varasto on ensisijaisesti tarkoitettu opetussisällön kuluttamiseen. Työskenneltäessä tietyissä projekteissa: +Tätä arkistoa käytetään ensisijaisesti opetussisällön kuluttamiseen. Työskentelyä varten omien projektien kanssa: -### Päävaraston asennus +### Pääarkiston asennus ```bash git clone https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners ``` -### Quiz App -asennus (Vue 3 + Vite) +### Quiz-sovelluksen asennus (Vue 3 + Vite) ```bash cd quiz-app @@ -41,33 +41,33 @@ npm run build # Rakenna tuotantoon npm run lint # Suorita ESLint ``` -### Bank Project API (Node.js + Express) +### Pankkiprojektin API (Node.js + Express) ```bash cd 7-bank-project/api npm install npm start # Käynnistä API-palvelin npm run lint # Suorita ESLint -npm run format # Muotoile Prettierilla +npm run format # Muotoile Prettierillä ``` -### Selaimen laajennusprojektit +### Selaimen laajennus -projektit ```bash cd 5-browser-extension/solution npm install -# Noudata selaimelle spesifisiä laajennuksen latausohjeita +# Noudata selaimen erityisiä laajennusten latausohjeita ``` -### Space Game -projektit +### Avaruuspeli-projektit ```bash cd 6-space-game/solution npm install -# Avaa index.html selaimessa tai käytä Live Server -laajennusta +# Avaa index.html selaimessa tai käytä Live Serveriä ``` -### Chat-projekti (Python Backend) +### Chat-projekti (Python-taustapalvelu) ```bash cd 9-chat-project/solution/backend/python @@ -76,37 +76,37 @@ pip install openai python api.py ``` -## Kehitysprosessin työkulku +## Kehitystyön työnkulku ### Sisällöntuottajille -1. **Luo haarukka** varastosta GitHub-tilillesi -2. **Kloonaa haarukkasi** paikallisesti -3. **Luo uusi haara** muutoksillesi -4. Tee muutoksia oppituntisisältöön tai koodiesimerkkeihin -5. Testaa kaikki koodimuutokset asiaankuuluvissa projektihakemistoissa -6. Lähetä pull-pyyntöjä noudattaen kontribuutiokäytäntöjä +1. **Tee fork** arkistosta omaan GitHub-tiliisi +2. **Kloonaa fork** paikallisesti +3. **Luo uusi haara** muutoksiasi varten +4. Tee muutoksia oppitunneissa tai koodiesimerkeissä +5. Testaa muutokset asianmukaisissa projektihakemistoissa +6. Lähetä pull request -pyyntöjä osallistumisohjeiden mukaisesti ### Oppijoille -1. Luo haarukka tai kloonaa varasto +1. Tee fork tai kloonaa arkisto 2. Siirry oppituntihakemistoihin järjestyksessä -3. Lue jokaisen oppitunnin README-tiedostot -4. Tee ennen oppituntia tehtävät monivalintakyselyt osoitteessa https://ff-quizzes.netlify.app/web/ -5. Työstä koodiesimerkkejä oppituntikansioissa -6. Tee tehtäviä ja haasteita -7. Tee oppitunnin jälkeiset monivalintakyselyt +3. Lue kunkin oppitunnin README-tiedostot +4. Tee ennakkotehtävät osoitteessa https://ff-quizzes.netlify.app/web/ +5. Käy läpi koodiesimerkit oppituntikansioissa +6. Tee tehtävät ja haasteet +7. Suorita jälkitestit -### Live-kehitys +### Kehitys livenä -- **Dokumentaatio**: Suorita `docsify serve` juurihakemistossa (portti 3000) -- **Quiz App**: Suorita `npm run dev` quiz-app-hakemistossa -- **Projektit**: Käytä VS Code Live Server -laajennusta HTML-projekteille -- **API-projektit**: Suorita `npm start` vastaavissa API-hakemistoissa +- **Dokumentaatio**: Suorita `docsify serve` juurikansiossa (portti 3000) +- **Quiz-sovellus**: Suorita `npm run dev` quiz-app-hakemistossa +- **Projektit**: Käytä VS Code Live Server -laajennusta HTML-projekteihin +- **API-projektit**: Suorita `npm start` niille varatuissa API-kansioissa -## Testiohjeet +## Testausohjeet -### Quiz App -testaus +### Quiz-sovelluksen testaus ```bash cd quiz-app @@ -114,7 +114,7 @@ npm run lint # Tarkista koodityylin ongelmat npm run build # Varmista, että käännös onnistuu ``` -### Bank API -testaus +### Bank API:n testaus ```bash cd 7-bank-project/api @@ -124,29 +124,29 @@ node server.js # Varmista, että palvelin käynnistyy ilman virheitä ### Yleinen testauslähestymistapa -- Tämä on opetussisältövarasto ilman kattavia automatisoituja testejä -- Manuaalinen testaus keskittyy: - - Koodiesimerkkien toimivuuteen ilman virheitä +- Tämä on opetuskäyttöön tarkoitettu arkisto ilman kattavia automatisoituja testejä +- Manuaalitestaus painottuu: + - Koodiesimerkkien virheettömään suorittamiseen - Dokumentaation linkkien toimivuuteen - - Projektien build-prosessien onnistumiseen - - Esimerkkien parhaiden käytäntöjen noudattamiseen + - Projektien onnistuneeseen käännökseen + - Esimerkkien noudattavan parhaita käytäntöjä -### Tarkistukset ennen lähettämistä +### Ennen lähettämistä tehtävät tarkistukset -- Suorita `npm run lint` hakemistoissa, joissa on package.json -- Varmista, että markdown-linkit ovat kelvollisia -- Testaa koodiesimerkkejä selaimessa tai Node.js:ssä +- Suorita `npm run lint` kansioissa, joissa on package.json +- Varmista, että markdown-linkit ovat toimivia +- Testaa koodiesimerkit selaimessa tai Node.js:ssä - Tarkista, että käännökset säilyttävät rakenteen ## Koodityyliohjeet ### JavaScript -- Käytä modernia ES6+ -syntaksia -- Noudata projektien standardoituja ESLint-configeja -- Käytä merkityksellisiä muuttuja- ja funktioiden nimiä opetuksellisuuden vuoksi +- Käytä nykyaikaista ES6+-syntaksia +- Noudata projektien tarjoamia ESLint-asetuksia +- Käytä selkeitä muuttuja- ja funktioiden nimiä opetuksellisuuden vuoksi - Lisää kommentteja, jotka selittävät käsitteitä oppijoille -- Muotoile Prettierillä, jos se on määritetty +- Muotoile Prettierillä, jos se on määritelty ### HTML/CSS @@ -157,106 +157,104 @@ node server.js # Varmista, että palvelin käynnistyy ilman virheitä ### Python -- PEP 8 -tyyliohjeiden noudattaminen -- Selkeät, opetukselliset koodiesimerkit -- Tyyppivihjeet, joissa ne auttavat oppimisessa +- PEP 8 -tyyliohjeet +- Selkeät ja opetukselliset koodiesimerkit +- Tyyppivihjeet oppimisen tukena ### Markdown-dokumentaatio -- Selkeä otsikkohierarkia +- Selkeä otsikkorakenne - Koodilohkot, joissa kielimääritys -- Linkit lisäresursseihin -- Kuvakaappaukset ja kuvat `images/`-kansioissa -- Kuvien alt-teksti saavutettavuuden vuoksi +- Linkit lisämateriaaleihin +- Kuvakaappaukset ja kuvat `images/`-hakemistoissa +- Vaihtoehtoinen teksti kuville saavutettavuuden vuoksi -### Tiedostojen järjestäminen +### Tiedostojen organisointi - Oppitunnit numeroitu peräkkäin (1-getting-started-lessons, 2-js-basics jne.) -- Jokaisella projektilla on `solution/` ja usein myös `start/` tai `your-work/` -kansiot -- Kuvat säilytetään oppituntikohtaisissa `images/`-kansioissa -- Käännökset hakemistossa `translations/{language-code}/` +- Jokaisessa projektissa on `solution/` ja usein `start/` tai `your-work/` -hakemistot +- Kuvia säilytetään oppituntikohtaisissa `images/`-kansioissa +- Käännökset kansiorakenteessa `translations/{language-code}/` -## Rakennus ja julkaisu +## Käännös- ja käyttöönotto -### Quiz App -julkaisu (Azure Static Web Apps) +### Quiz-sovelluksen käyttöönotto (Azure Static Web Apps) -Quiz-app on konfiguroitu Azure Static Web Apps -julkaisua varten: +Quiz-sovellus on konfiguroitu Azure Static Web Apps -käyttöönottoa varten: ```bash cd quiz-app -npm run build # Luo dist/-kansion -# Ottaa käyttöön GitHub Actions -työnkulun kautta, kun push tapahtuu päähaaraan +npm run build # Luo dist/ -kansion +# Ottaa käyttöön GitHub Actions -työnkulun päivityksessä mainiin ``` -Azure Static Web Appsin konfigurointi: +Azure Static Web Apps -asetukset: - **Sovelluksen sijainti**: `/quiz-app` -- **Tulossijainti**: `dist` +- **Tulostehakemisto**: `dist` - **Työnkulku**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` -### Dokumentaation PDF:ksi generointi +### Dokumentaation PDF-generointi ```bash npm install # Asenna docsify-to-pdf -npm run convert # Luo PDF docsista +npm run convert # Luo PDF docs-sisällöstä ``` ### Docsify-dokumentaatio ```bash npm install -g docsify-cli # Asenna Docsify globaalisti -docsify serve # Palvele osoitteessa localhost:3000 +docsify serve # Tarjoa paikallisesti osoitteessa localhost:3000 ``` -### Projektikohtaiset build-prosessit +### Projektikohtaiset käännökset -Jokaisella projektihakemistolla voi olla oma build-prosessinsa: -- Vue-projektit: `npm run build` tuottaa tuotantopaketteja -- Staattiset projektit: Ei build-vaihetta, tiedostot tarjotaan suoraan +Jokaisella projektihakemistolla voi olla oma rakennusprosessi: +- Vue-projekteilla: `npm run build` tuottaa tuotantopaketteja +- Staattisissa projekteissa ei ole erillistä rakennusvaihetta, tiedostot palvellaan suoraan -## Pull-pyyntöjen ohjeet +## Pull Request -ohjeet -### Otsikkomuoto +### Otsikon muotoilu -Käytä selkeitä, kuvaavia otsikoita, jotka kertovat muutosten alueen: +Käytä selkeitä ja kuvaavia otsikoita, jotka kertovat muutoksen alueen: - `[Quiz-app] Lisää uusi tietovisa oppitunnille X` - `[Lesson-3] Korjaa kirjoitusvirhe terrarium-projektissa` - `[Translation] Lisää espanjankielinen käännös oppitunnille 5` - `[Docs] Päivitä asennusohjeet` -### Vaaditut tarkistukset - -Ennen PR:n lähettämistä: +### Vaatimukset ennen lähettämistä 1. **Koodin laatu**: - - Suorita `npm run lint` asiaankuuluvissa projektihakemistoissa - - Korjaa kaikki lint-virheet ja varoitukset + - Suorita `npm run lint` vaikutuksen alaisissa projektin kansioissa + - Korjaa kaikki mahdolliset lint-virheet ja varoitukset -2. **Buildin varmistus**: - - Suorita `npm run build`, jos sovellettavissa - - Varmista, ettei build-virheitä ilmene +2. **Rakennuksen varmistus**: + - Suorita tarvittaessa `npm run build` + - Varmista, ettei rakennuksessa ole virheitä -3. **Linkkien tarkistus**: - - Testaa kaikki markdown-linkit - - Varmista, että kuvalinkit toimivat +3. **Linkkien tarkastus**: + - Testaa kaikki markdown-linkit toimiviksi + - Varmista kuvaviittausten toimivuus -4. **Sisällön tarkistus**: - - Tarkista oikeinkirjoitus ja kielioppi +4. **Sisällön tarkastus**: + - Tarkista kirjoitus- ja kielioppivirheet - Varmista, että koodiesimerkit ovat oikein ja opetuksellisia - - Tarkista, että käännökset säilyttävät alkuperäisen merkityksen + - Tarkista käännösten tarkkuus ja alkuperäisen säilyminen -### Panostusvaatimukset +### Osallistumisen vaatimukset - Hyväksy Microsoft CLA (automaattinen tarkistus ensimmäisessä PR:ssä) -- Noudata [Microsoftin avoimen lähdekoodin käytösohjeita](https://opensource.microsoft.com/codeofconduct/) -- Katso [CONTRIBUTING.md](./CONTRIBUTING.md) yksityiskohtia varten -- Viittaa ongelmanumeroihin PR-kuvauksessa tarvittaessa +- Noudata [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) -käyttäytymisohjetta +- Lue yksityiskohtaiset ohjeet [CONTRIBUTING.md](./CONTRIBUTING.md)-tiedostosta +- Mainitse PR-kuvauksessa asiaankuuluvat issue-numerot -### Tarkastusprosessi +### Tarkistusprosessi - PR:t tarkistetaan ylläpitäjien ja yhteisön toimesta -- Opetuksellisuus on etusijalla -- Koodiesimerkkien tulee noudattaa nykyaikaisia parhaita käytäntöjä -- Käännökset tarkistetaan tarkkuuden ja kulttuurisen sopivuuden mukaan +- Opetuksellinen selkeys on etusijalla +- Koodiesimerkkien tulee noudattaa hyviä käytäntöjä +- Käännökset tarkistetaan oikeellisuuden ja kulttuurisen sopivuuden osalta ## Käännösjärjestelmä @@ -264,19 +262,19 @@ Ennen PR:n lähettämistä: - Käyttää GitHub Actionsia co-op-translator-työnkululla - Kääntää automaattisesti yli 50 kielelle -- Lähdetiedostot pääkansioissa -- Käännetyt tiedostot hakemistossa `translations/{language-code}/` +- Lähtötiedostot ovat päähakemistoissa +- Käännetyt tiedostot sijaitsevat `translations/{language-code}/`-kansioissa -### Käsin tehdyt parannukset käännöksiin +### Käsin tehtävien parannusten lisääminen 1. Etsi tiedosto kansiosta `translations/{language-code}/` -2. Tee parannukset säilyttäen rakenne -3. Varmista, että koodiesimerkit säilyvät toimivina -4. Testaa mahdolliset paikallistetut tietovisaosiot +2. Tee parannuksia rakenteen säilyttäen +3. Varmista, että koodiesimerkit toimivat edelleen +4. Testaa lokalisoitu tietovisasisältö -### Käännöksen metatiedot +### Käännösmetadata -Käännetyt tiedostot sisältävät metatietojen otsikon: +Käännetyt tiedostot sisältävät metatietopäätettä: ```markdown ``` -## Virheiden etsintä ja vianmääritys +## Virheenkorjaus ja vianetsintä -### Yleiset ongelmat +### Yleisiä ongelmia -**Quiz-app ei käynnisty**: -- Tarkista Node.js-versio (v14+ suositeltu) +**Quiz-sovellus ei käynnisty**: +- Tarkista Node.js:n versio (v14+ suositeltu) - Poista `node_modules` ja `package-lock.json`, suorita `npm install` uudelleen -- Tarkista porttikonfliktit (oletuksena: Vite käyttää porttia 5173) +- Tarkista, ettei portti ole varattu (Viten oletusportti 5173) **API-palvelin ei käynnisty**: -- Varmista, että Node.js-versio täyttää minimivaatimuksen (node >=10) -- Tarkista, onko portti jo käytössä +- Varmista, että Node.js:n versio on vähintään 10 +- Tarkista portin varaus - Varmista, että kaikki riippuvuudet on asennettu komennolla `npm install` **Selaimen laajennus ei lataudu**: -- Varmista, että manifest.json on oikein muotoiltu -- Tarkista selaimen konsolista virheet -- Noudata selainkohtaisia laajennuksen asennusohjeita +- Tarkista, että manifest.json on oikein muotoiltu +- Tarkista selainkonsoli virheilmoituksille +- Noudata selaimen laajennuksen asennusohjeita **Python-chat-projektin ongelmat**: - Varmista, että OpenAI-paketti on asennettu: `pip install openai` -- Tarkista, että GITHUB_TOKEN-ympäristömuuttuja on asetettu -- Tarkista GitHub Models -käyttöoikeudet +- Tarkista GITHUB_TOKEN-ympäristömuuttuja +- Varmista GitHub-mallien käyttöoikeudet **Docsify ei tarjoa dokumentaatiota**: -- Asenna docsify-cli globaaliin käyttöön: `npm install -g docsify-cli` -- Suorita varaston juuressa -- Varmista, että tiedosto `docs/_sidebar.md` on olemassa +- Asenna docsify-cli globaalisti: `npm install -g docsify-cli` +- Aja komento arkiston juurihakemistosta +- Varmista, että `docs/_sidebar.md` on olemassa -### Kehitysympäristön vinkit +### Kehitysympäristövinkkejä -- Käytä VS Codea ja Live Server -laajennusta HTML-projekteissa -- Asenna ESLint- ja Prettier-laajennukset yhtenäisyyden vuoksi -- Käytä selaimen DevTools-työkaluja JavaScriptin vianetsintään -- Vue-projekteissa asenna Vue DevTools -selainlaajennus +- Käytä VS Codea Live Server -laajennuksella HTML-projekteissa +- Asenna ESLint- ja Prettier-laajennukset yhtenäiseen muotoiluun +- Hyödynnä selaimen kehittäjätyökaluja JavaScriptin virheenkorjaukseen +- Vue-projekteissa asenna Vue DevTools -selaimen laajennus -### Suorituskykyyn liittyvät seikat +### Suorituskykysiirtymät -- Suuri määrä käännettyjä tiedostoja (50+ kieltä) tekee kopioinneista isoja -- Käytä matalatasoista kloonausta, jos työskentelet vain sisällön parissa: `git clone --depth 1` -- Sulje pois käännökset hauista, kun työskentelet englanninkielisen sisällön kanssa -- Build-prosessit saattavat olla hitaita ensimmäisellä suorituskerralla (npm install, Vite build) +- Suuri määrä käännettyjä tiedostoja (yli 50 kieltä) tekee kloonauksesta raskaan +- Käytä kevyttä kloonausta, jos työskentelet vain sisällön parissa: `git clone --depth 1` +- Sulje käännökset hausta, kun työskentelet englanninkielisen sisällön parissa +- Rakennusprosessit voivat olla hitaita ensimmäisellä suorituskerroilla (npm install, Vite build) -## Turvallisuusnäkökohdat +## Turvallisuusseikat ### Ympäristömuuttujat -- API-avaimia ei koskaan saa sitoa varastoon -- Käytä `.env`-tiedostoja (jo kuuluvat `.gitignoreen`) -- Dokumentoi vaaditut ympäristömuuttujat projektin README-tiedostoissa +- API-avaimia ei saa koskaan tallentaa arkistoon +- Käytä `.env`-tiedostoja (joita ei ole versioitu) +- Dokumentoi vaaditut ympäristömuuttujat projektien READMEissa ### Python-projektit - Käytä virtuaaliympäristöjä: `python -m venv venv` -- Pidä riippuvuudet ajantasalla -- GitHub-tokenien käyttöoikeuksien tulee olla vähimmäisvaatimusten mukaisia +- Pidä riippuvuudet ajan tasalla +- GitHub-tokenien käyttöoikeudet tulee olla mahdollisimman rajatut -### GitHub Modelsin käyttö +### GitHub-mallien käyttöoikeus -- Henkilökohtaiset käyttöoikeustokenit (PAT) vaaditaan GitHub Models -pääsyyn -- Säilytä tokenit ympäristömuuttujissa -- Älä koskaan tallenna tokeneita tai tunnuksia julkisesti +- Personaaliset käyttöoikeustokenit (PAT) vaaditaan GitHub-malleihin +- Tokenit tulee säilyttää ympäristömuuttujina +- Älä koskaan tallenna tokeneita tai tunnistetietoja arkistoon -## Lisähuomiot +## Lisätiedot ### Kohdeyleisö - Täysin aloittelijat verkkokehityksessä - Opiskelijat ja itseopiskelijat - Opettajat, jotka käyttävät opetussuunnitelmaa luokkahuoneissa -- Sisältö suunniteltu saavutettavaksi ja asteittain taitoja kehittäväksi +- Sisältö on suunniteltu saavutettavaksi ja asteittaisen taitojen kehittämiseen ### Opetuksellinen filosofia - Projektipohjainen oppiminen -- Säännölliset tiedon tarkistukset (kyselyt) -- Käytännön koodiharjoitukset -- Todellisten sovellusesimerkkien hyödyntäminen -- Painotus perusasioissa ennen frameworkkeja +- Usein toistuvat tietovisat tiedon tarkistamiseen +- Käytännön ohjelmointiharjoitukset +- Todelliset sovellusesimerkit +- Perusteiden hallinta ennen kehysten käyttöä -### Varaston ylläpito +### Arkiston ylläpito -- Aktiivinen oppijoiden ja kontribuenttien yhteisö -- Riippuvuuksien ja sisällön säännölliset päivitykset -- Ongelmien ja keskustelujen seuraaminen ylläpitäjien toimesta -- Käännösten päivitys automatisoitu GitHub Actionsilla +- Aktiivinen oppijoiden ja osallistujien yhteisö +- Riittävä päivitystiheys riippuvuuksiin ja sisältöön +- Issue-ja keskusteluseuranta ylläpitäjien toimesta +- Käännösten päivitykset automatisoitu GitHub Actionsin kautta -### Aiheeseen liittyvät resurssit +### Lisäresurssit -- [Microsoft Learnin moduulit](https://docs.microsoft.com/learn/) -- [Student Hubin resurssit](https://docs.microsoft.com/learn/student-hub/) +- [Microsoft Learn -moduulit](https://docs.microsoft.com/learn/) +- [Student Hub -resurssit](https://docs.microsoft.com/learn/student-hub/) - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) suositeltu oppijoille -- Lisäkurssit: Generatiivinen AI, Data Science, ML, IoT -opetussuunnitelmat saatavilla +- Lisäkursseja: Generatiivinen AI, Data Science, ML, IoT opetussuunnitelmat saatavilla -### Työskentely tietyissä projekteissa +### Työskentely yksittäisten projektien kanssa -Yksityiskohtaiset ohjeet yksittäisistä projekteista löytyvät README-tiedostoista: -- `quiz-app/README.md` - Vue 3 tietovisaohjelma -- `7-bank-project/README.md` - Pankkisovellus todennuksella -- `5-browser-extension/README.md` - Selaimen laajennuksen kehitys -- `6-space-game/README.md` - Canvas-pohjainen peli -- `9-chat-project/README.md` - AI-chat-avustajaprojekti +Yksittäisiä projekteja koskevat ohjeet löytyvät README-tiedostoista: +- `quiz-app/README.md` – Vue 3 quiz-sovellus +- `7-bank-project/README.md` – Pankkisovellus autentikoinnilla +- `5-browser-extension/README.md` – Selaimen laajennuksen kehitys +- `6-space-game/README.md` – Canvas-pohjainen peli +- `9-chat-project/README.md` – AI-chat avustajajärjestelmä -### Monorepon rakenne +### Monorepo-rakenne -Vaikka tämä ei ole perinteinen monorepo, varastossa on useita itsenäisiä projekteja: +Vaikka tämä ei ole perinteinen monorepo, arkistossa on useita itsenäisiä projekteja: - Jokainen oppitunti on itsenäinen kokonaisuus - Projektit eivät jaa riippuvuuksia -- Työskentele yksittäisten projektien parissa vaikuttamatta muihin -- Kloonaa koko varasto saadaksesi koko opetussuunnitelmakokemuksen +- Työskentele projekteissa erikseen toinen toisiinsa vaikuttamatta +- Kloonaa koko arkisto saadaksesi täyden opetuskokemuksen --- -**Vastuuvapauslauseke**: -Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua [Co-op Translator](https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, otathan huomioon, että automaattiset käännökset saattavat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäiskielisenä versiona tulee pitää auktoritatiivisena lähteenä. Tärkeissä tiedoissa suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa tämän käännöksen käytöstä johtuvista väärinymmärryksistä tai tulkinnoista. +**Vastuuvapauslauseke**: +Tämä asiakirja on käännetty käyttäen tekoälypohjaista käännöspalvelua [Co-op Translator](https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, ole hyvä ja huomioi, että automaattikäännökset saattavat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja alkuperäiskielellä tulee pitää auktoriteettisena lähteenä. Tärkeiden tietojen osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa tämän käännöksen käytöstä aiheutuvista väärinymmärryksistä tai tulkinnoista. \ No newline at end of file diff --git a/translations/fi/README.md b/translations/fi/README.md index 91fb8e16d9..de0a4b8c3c 100644 --- a/translations/fi/README.md +++ b/translations/fi/README.md @@ -10,29 +10,29 @@ [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -# Verkkokehitys aloittelijoille – opetussuunnitelma +# Verkkokehitys aloittelijoille - Opetussuunnitelma -Opi verkkokehityksen perusteet Microsoft Cloud Advocatesin 12 viikon kattavan kurssin avulla. Jokaisessa 24 oppitunnissa perehdytään JavaScriptiin, CSS:ään ja HTML:ään käytännön projekteilla, kuten terrarioilla, selainlaajennuksilla ja avaruuspeleillä. Osallistu tietovisoihin, keskusteluihin ja käytännön tehtäviin. Kehitä taitojasi ja optimoi tiedon omaksumisesi tehokkaan projektipohjaisen opetustapamme avulla. Aloita koodausmatkasi tänään! +Opi verkkokehityksen perusteet kattavalla 12 viikon kurssillamme, jonka on laatinut Microsoft Cloud Advocates. Jokainen 24 oppitunnista syventyy JavaScriptiin, CSS:ään ja HTML:ään käytännön projektien, kuten terraarioiden, selaimen laajennusten ja avaruuspelien kautta. Osallistu tietokilpailuihin, keskusteluihin ja käytännön tehtäviin. Kehitä taitojasi ja optimoi tietojesi omaksuminen tehokkaan projektilähtöisen pedagogiikkamme avulla. Aloita koodausmatkasi tänään! -Liity Azure AI Foundry Discord -yhteisöön +Liity Azure AI Foundryn Discord-yhteisöön [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Seuraa näitä vaiheita aloittaaksesi näiden resurssien käytön: +Seuraa näitä ohjeita aloittaaksesi näiden resurssien käytön: 1. **Forkkaa repositorio**: Klikkaa [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) 2. **Kloonaa repositorio**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**Liity Azure AI Foundry Discordiin ja tapaa asiantuntijoita sekä muita kehittäjiä**](https://discord.com/invite/ByRwuEEgH4) +3. [**Liity Azure AI Foundryn Discordiin ja tapaa asiantuntijoita sekä muita kehittäjiä**](https://discord.com/invite/ByRwuEEgH4) ### 🌐 Monikielinen tuki -#### Tuettu GitHub Actionin kautta (automaattinen ja aina ajan tasalla) +#### Tuettu GitHub Actionin kautta (automaattinen & aina ajan tasalla) -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](./README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](./README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) > **Haluatko kloonata paikallisesti?** > -> Tämä repositorio sisältää yli 50 kielen käännökset, mikä lisää merkittävästi latauskokoa. Jos haluat kloonata ilman käännöksiä, käytä sparse checkoutia: +> Tämä repositorio sisältää yli 50 kieliversiota, mikä lisää huomattavasti latauskokoa. Kloonataksesi ilman käännöksiä, käytä sparse checkoutia: > > **Bash / macOS / Linux:** > ```bash @@ -48,86 +48,85 @@ Seuraa näitä vaiheita aloittaaksesi näiden resurssien käytön: > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> Näin saat kaiken tarvitsemasi kurssin suorittamiseen nopeammalla latauksella. +> Saat kaiken tarvittavan kurssin suorittamiseen paljon nopeammalla latauksella. -**Jos haluat, että muita kieliä tuetaan, ne löytyvät listattuna [täältä](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**Jos haluat, että muita käännöskieliä tuetaan, ne löytyvät [täältä](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** -[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Avaa%20Visual%20Studio%20Codessa&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) +[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Avaa%20Visual%20Studio%20Codeen&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) #### 🧑‍🎓 _Oletko opiskelija?_ -Vieraile [**Opiskelijakeskussivulla**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), josta löydät aloittelijoille tarkoitettuja materiaaleja, opiskelijapaketteja ja jopa tapoja saada ilmainen todistusvakuuttaja. Tämä sivu kannattaa lisätä kirjanmerkkeihin ja tarkistaa säännöllisesti, sillä päivitätämme sisältöä kuukausittain. +Vieraile [**Student Hub -sivulla**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), josta löydät aloittelijoille suunnattuja resursseja, opiskelijapaketit ja jopa tapoja saada ilmainen todistuksen voucher. Tämä sivu kannattaa lisätä kirjanmerkkeihin ja tarkistaa säännöllisesti, koska sisältö vaihtuu kuukausittain. -### 📣 Ilmoitus – Uudet GitHub Copilot Agent -tilahaasteet suoritettavaksi! +### 📣 Ilmoitus - Uudet GitHub Copilot Agent -tilahaasteet suoritettavaksi! -Uusi haaste lisätty, etsi "GitHub Copilot Agent Challenge 🚀" useimmista luvuista. Tämä on uusi haaste, jonka voit suorittaa käyttämällä GitHub Copilotia ja Agent-tilaa. Jos et ole käyttänyt Agent-tilaa aiemmin, se ei vain luo tekstiä, vaan voi myös luoda ja muokata tiedostoja, suorittaa komentoja ja muuta. +Uusi haaste lisätty, etsi "GitHub Copilot Agent Challenge 🚀" useimmista luvuista. Tämä on uusi haaste, jonka voit suorittaa käyttäen GitHub Copilotia ja Agent-tilaa. Jos et ole aiemmin käyttänyt Agent-tilaa, se pystyy tuottamaan ei pelkästään tekstiä, vaan myös luomaan ja muokkaamaan tiedostoja, suorittamaan komentoja ja muuta. -### 📣 Ilmoitus – _Uusi Generatiivisen tekoälyn projekti_ +### 📣 Ilmoitus - _Uusi projekti rakennettavaksi Generatiivisella AI:lla_ -Uusi tekoälyavustajaprojekti lisätty, tutustu projektiin [tästä](./9-chat-project/README.md) +Uusi AI-avustajaprojekti juuri lisätty, tutustu [projektiin](./9-chat-project/README.md) -### 📣 Ilmoitus – _Uusi Generatiivisen tekoälyn opetussuunnitelma JavaScriptille julkaistu_ +### 📣 Ilmoitus - _Uusi opetussuunnitelma_ Generatiivisesta AI:sta JavaScriptille juuri julkaistu -Älä missaa uutta Generatiivisen tekoälyn opetussuunnitelmaamme! +Älä missaa uutta Generatiivisen AI:n opetussuunnitelmaamme! -Aloita osoitteessa [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course)! +Siirry sivulle [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) aloittaaksesi! -![Background](../../translated_images/fi/background.148a8d43afde5730.webp) +![Tausta](../../translated_images/fi/background.148a8d43afde5730.webp) -- Oppitunnit kattavat kaiken perusasioista RAG:iin. -- Keskustele historiallisten hahmojen kanssa GenAI:n ja sovelluksemme avulla. -- Hauska ja mukaansatempaava kertomus, jossa matkustat ajassa! +- Oppitunnit kattavat kaiken perusteista RAG:iin saakka. +- Keskustele historiallisten hahmojen kanssa GenAI:n ja kumppanisovelluksemme avulla. +- Hauska ja mukaansatempaava kertomus, jossa aikamatkustat! -![character](../../translated_images/fi/character.5c0dd8e067ffd693.webp) +![Hahmo](../../translated_images/fi/character.5c0dd8e067ffd693.webp) - -Jokaisessa oppitunnissa on suoritettava tehtävä, tiedon tarkistus ja haaste, jotka ohjaavat sinua oppimaan mm.: -- Käskyttäminen ja kehotteiden suunnittelu -- Tekstin ja kuvan sovellusgenerointi +Jokaisessa oppitunnissa on suoritettava tehtävä, tietotesti ja haaste, jotka ohjaavat oppimaan aiheita kuten: +- Kehote- ja prompteinsinööritaito +- Tekstin ja kuvan sovellustuotanto - Hakusovellukset -Aloita osoitteessa [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) +Siirry sivulle [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) aloittaaksesi! -## 🌱 Aloita +## 🌱 Aloittaminen -> **Opettajat**, olemme [sisällyttäneet joitain ehdotuksia](for-teachers.md) opetussuunnitelman käyttöön. Haluaisimme kuulla palautettanne [keskustelufoorumillamme](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! +> **Opettajat**, olemme lisänneet [joitakin ehdotuksia](for-teachers.md) tämän opetussuunnitelman käyttöön. Arvostamme palautettanne [keskustelufoorumillamme](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! -**[Oppijat](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, aloita jokainen oppitunti esiluennon tietovisalla ja jatka lukemalla luentomateriaali, suorittamalla erilaisia aktiviteetteja ja testaa ymmärryksesi jälkiluennon tietovisalla. +**[Oppijat](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, jokaiselle oppitunnille, aloita ennakko-oppitentin tekemisellä ja etene lukemalla luentomateriaali, suorittamalla erilaiset tehtävät ja tarkista ymmärryksesi jälkitentin avulla. -Paranna oppimiskokemustasi tekemällä projekteja yhdessä muiden kanssa! Keskustelua suositellaan [keskustelufoorumillamme](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), jossa moderaattoritiimimme on käytettävissä vastaamaan kysymyksiisi. +Parantaaksesi oppimiskokemustasi, yhdistä voimasi vertaistesi kanssa projektien parissa! Keskusteluja suositaan [keskustelufoorumillamme](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), jossa moderaattoritiimimme on valmiina vastaamaan kysymyksiisi. -Koulutuksesi tueksi suosittelemme tutustumaan [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) -sivustoon lisämateriaalien saamiseksi. +Koulutuksesi syventämiseksi suosittelemme lämpimästi tutustumaan [Microsoft Learniin](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) lisäoppimateriaaleja varten. -### 📋 Ympäristön käyttöönotto +### 📋 Ympäristön asennus -Tässä opetussuunnitelmassa on valmis kehitysympäristö! Voit aloittaa käyttämällä kurssia [Codespacessa](https://github.com/features/codespaces/) (_selaimessa toimiva, ilman asennuksia toimiva ympäristö_) tai paikallisesti tietokoneellasi tekstieditorilla, kuten [Visual Studio Codella](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +Tässä opetussuunnitelmassa on kehitysympäristö valmiina käytettäväksi! Aloittaessasi voit valita opetussuunnitelman ajamisen [Codespace](https://github.com/features/codespaces/) -ympäristössä (_selainpohjainen, ei asennuksia tarvitseva ympäristö_) tai paikallisesti tietokoneellasi käyttämällä tekstieditoria, kuten [Visual Studio Codea](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). #### Luo oma repositoriosi -Jotta voit helposti tallentaa työsi, suosittelemme, että luot oman kopion tästä repositoriosta. Voit tehdä tämän klikkaamalla sivun yläosassa olevaa **Use this template** -painiketta. Tämä luo uuden repositorion GitHub-tilillesi kopiona opetussuunnitelmasta. +Jotta voit helposti tallentaa työsi, on suositeltavaa luoda oma kopio tästä repositoriosta. Voit tehdä sen klikkaamalla sivun ylälaidassa olevaa **Use this template** -painiketta. Tämä luo uuden repositorion GitHub-tilillesi, jossa on kopio opetussuunnitelmasta. -Noudata näitä ohjeita: -1. **Forkkaa repositorio**: Klikkaa sivun oikeassa yläkulmassa "Fork" -painiketta. +Seuraa nämä vaiheet: +1. **Forkkaa repositorio**: Klikkaa "Fork" -painiketta tämän sivun oikeassa yläkulmassa. 2. **Kloonaa repositorio**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` #### Opetussuunnitelman suorittaminen Codespacessa -Omaasi luodussa kopiossa klikkaa **Code** -painiketta ja valitse **Open with Codespaces**. Tämä luo sinulle uuden Codespace-ympäristön työskentelyä varten. +Luo omaan kopioosi tästä repositoriosta, jonka teit, klikkaa **Code** -painiketta ja valitse **Open with Codespaces**. Tämä luo sinulle uuden Codespace-ympäristön työskentelyä varten. ![Codespace](../../translated_images/fi/createcodespace.0238bbf4d7a8d955.webp) #### Opetussuunnitelman suorittaminen paikallisesti tietokoneellasi -Kurssin ajamiseen paikallisesti tietokoneellasi tarvitset tekstieditorin, selaimen ja komentorivityökalun. Ensimmäinen oppituntimme, [Ohjelmointikielten ja työkalujen esittely](../../1-getting-started-lessons/1-intro-to-programming-languages), esittelee eri vaihtoehtoja näille työkaluilla, jotta voit valita sinulle parhaiten sopivat. +Suorittaaksesi tämän opetussuunnitelman paikallisesti tietokoneellasi tarvitset tekstieditorin, selaimen ja komentorivityökalun. Ensimmäinen oppituntimme, [Johdanto ohjelmointikieliin ja työkaluihin](../../1-getting-started-lessons/1-intro-to-programming-languages), opastaa sinua erilaisten työkaluvaihtoehtojen läpi, joista voit valita sinulle parhaiten sopivat. -Suosittelemme käyttämään tekstieditorina [Visual Studio Codea](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon), jossa on myös sisäänrakennettu [Pääte](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Voit ladata Visual Studio Coden [tästä](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -1. Kloonaa varastosi tietokoneellesi. Voit tehdä tämän napsauttamalla **Code**-painiketta ja kopioimalla URL-osoitteen: +Suosittelemme käyttämään editorina [Visual Studio Codea](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon), jossa on myös sisäänrakennettu [Komentorivi](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Voit ladata Visual Studio Coden [tästä](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +1. Kloonaa arkistosi tietokoneellesi. Voit tehdä tämän napsauttamalla **Code**-painiketta ja kopioimalla URL-osoitteen: [CodeSpace](./images/createcodespace.png) - Sitten avaa [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) [Visual Studio Codessa](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ja suorita seuraava komento, korvaten `` juuri kopioimallasi URL-osoitteella: + Avaa sitten [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) [Visual Studio Codessa](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ja suorita seuraava komento korvaten `` juuri kopioimallasi URL-osoitteella: ```bash git clone @@ -138,80 +137,80 @@ Suosittelemme käyttämään tekstieditorina [Visual Studio Codea](https://code. > Suositellut Visual Studio Code -laajennukset: > -> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - esikatsella HTML-sivuja Visual Studio Codessa +> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - HTML-sivujen esikatselua varten Visual Studio Codessa > * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - auttaa sinua kirjoittamaan koodia nopeammin ## 📂 Jokainen oppitunti sisältää: -- valinnaisen luonnosmuistiinpanon -- valinnaisen lisävideon +- valinnaisen sketchnoten +- valinnaisen tukevan videon - lämmittelykyselyn ennen oppituntia - kirjallisen oppitunnin - projektipohjaisissa oppitunneissa vaiheittaiset ohjeet projektin rakentamiseen -- tietovisakokeet +- tietämyksen tarkistukset - haasteen -- lisälukemista +- tukevan lukemisen - tehtävän -- [oppitunnin jälkeisen tietovisan](https://ff-quizzes.netlify.app/web/) +- [oppitunnin jälkeisen kyselyn](https://ff-quizzes.netlify.app/web/) -> **Muistutus tietovisoista**: Kaikki tietovisat löytyvät Quiz-app-kansiosta, yhteensä 48 tietovisaa, joissa jokaisessa on kolme kysymystä. Ne ovat saatavilla [tässä](https://ff-quizzes.netlify.app/web/). Tietovisasovellus voidaan suorittaa paikallisesti tai ottaa käyttöön Azureen; seuraa ohjeita `quiz-app`-kansiossa. +> **Huomio kyselyistä**: Kaikki kyselyt ovat Quiz-app-kansiossa, yhteensä 48 kyselyä, joissa jokaisessa on kolme kysymystä. Ne ovat saatavilla [tästä](https://ff-quizzes.netlify.app/web/). Kyselysovellusta voi käyttää paikallisesti tai ottaa käyttöön Azuren kautta; noudata ohjeita `quiz-app`-kansiossa. ## 🗃️ Oppitunnit -| | Projektin nimi | Opitut käsitteet | Oppimistavoitteet | Linkitetty oppitunti | Tekijä | -| :-: | :-------------------------------------------------------: | :--------------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | Aloittaminen | Johdatus ohjelmointiin ja työkaluihin | Opit useimpien ohjelmointikielten perusteet ja ohjelmistot, jotka auttavat ammattilaiskehittäjiä työssään | [Johdatus ohjelmointikieliin ja työkaluihin](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | Aloittaminen | GitHubin perusteet, mukaan lukien tiimityö | Kuinka käyttää GitHubia projektissasi, miten tehdä yhteistyötä muiden kanssa koodipohjassa | [Johdatus GitHubiin](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | Aloittaminen | Saavutettavuus | Opit verkkosaavutettavuuden perusteet | [Saavutettavuuden perusteet](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | JS Perusteet | JavaScriptin tietotyypit | JavaScriptin tietotyyppien perusteet | [Tietotyypit](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | JS Perusteet | Funktiot ja metodit | Opit funktioista ja metodeista sovelluksen loogisen virran hallintaan | [Funktiot ja metodit](./2-js-basics/2-functions-methods/README.md) | Jasmine ja Christopher | -| 06 | JS Perusteet | Päätöksenteko JavaScriptillä | Opit luomaan ehtoja koodissasi päätöksentekomenetelminä | [Päätöksenteko](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | JS Perusteet | Taulukot ja silmukat | Työskentele tietojen kanssa taulukoiden ja silmukoiden avulla JavaScriptissä | [Taulukot ja silmukat](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML käytännössä | Rakenna HTML verkossa toimivan terrariumin luomiseen keskittyen asettelun rakentamiseen | [Johdatus HTML:ään](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS käytännössä | Rakenna CSS tyylitämään verkossa olevaa terrariumia, keskittyen CSS:n perusteisiin ja sivun responsiivisuuden tekemiseen | [Johdatus CSS:ään](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript-sulkeet, DOM-manipulointi | Rakenna JavaScript, joka mahdollistaa terrariumin toiminnan drag & drop -käyttöliittymänä, keskittyen sulkeisiin ja DOM-manipulointiin | [JavaScript-sulkeet, DOM-manipulointi](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Typing Game](./4-typing-game/solution/README.md) | Rakennetaan kirjoituspeli | Opit käyttämään näppäimistötapahtumia JavaScript-sovelluksesi logiikan ohjaamiseen | [Tapahtumapohjainen ohjelmointi](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Työskentely selainten kanssa | Opi miten selaimet toimivat, niiden historiasta ja miten rakennetaan selaimen laajennuksen ensimmäiset osat | [Tietoa selaimista](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Lomakkeen rakentaminen, API-kutsu ja muuttujien tallennus paikalliseen tallennustilaan | Rakenna JavaScript-selaimen laajennuksen osat, jotka käyttävät API-kutsua paikalliseen tallennustilaan tallennettujen muuttujien avulla | [API:t, lomakkeet ja paikallinen tallennustila](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Taustaprosessit selaimessa, web-suorituskyky | Käytä selaimen taustaprosesseja laajennuksen kuvakkeen hallintaan; opi web-suorituskyvystä ja joistakin optimoinneista | [Taustatehtävät ja suorituskyky](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Space Game](./6-space-game/solution/README.md) | Edistyneempi pelikehitys JavaScriptillä | Opit perinnöstä käyttäen sekä luokkia että koostetta sekä julkaisija-tilaaja-mallia pelin rakentamisen valmisteluna | [Johdatus edistyneeseen pelikehitykseen](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [Space Game](./6-space-game/solution/README.md) | Piirtäminen canvas-elementtiin | Opit Canvas API:n, jota käytetään elementtien piirtämiseen näyttöön | [Piirtäminen canvas-elementtiin](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Space Game](./6-space-game/solution/README.md) | Elementtien liikuttaminen näytöllä | Tutustu miten elementeille saadaan liikettä kartesiakkoordinaattien ja Canvas API:n avulla | [Elementtien liikuttaminen](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Space Game](./6-space-game/solution/README.md) | Törmäyksentunnistus | Tee elementtien törmäyksiä ja reagoi niihin käyttämällä näppäimistön painalluksia ja tarjoa cooldown-toiminto pelin suorituskyvyn turvaamiseksi | [Törmäyksentunnistus](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Space Game](./6-space-game/solution/README.md) | Pisteiden laskeminen | Suorita laskelmia pelin tilan ja suorituskyvyn pohjalta | [Pisteiden laskeminen](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Space Game](./6-space-game/solution/README.md) | Pelin lopettaminen ja uudelleenkäynnistäminen | Opit pelin lopettamisesta ja uudelleenkäynnistämisestä, mukaan lukien resurssien siivous ja muuttujien arvon nollaaminen | [Lopetusehto](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-mallipohjat ja reitit web-sovelluksessa | Opit luomaan monisivuisen verkkosivuston arkkitehtuurin rungon reitityksen ja HTML-mallipohjien avulla | [HTML-mallipohjat ja reitit](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [Banking App](./7-bank-project/solution/README.md) | Kirjautumis- ja rekisteröintilomakkeen rakentaminen | Opit lomakkeiden rakentamisesta ja validointirutiinien käsittelystä | [Lomakkeet](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [Banking App](./7-bank-project/solution/README.md) | Tietojen hakemisen ja käyttämisen menetelmät | Miten tiedot virtaavat sovellukseesi ja siitä ulos, miten hakea, tallentaa ja poistaa niitä | [Data](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [Banking App](./7-bank-project/solution/README.md) | Tilanhallinnan käsitteet | Opit miten sovelluksesi säilyttää tilan ja miten hallita sitä ohjelmallisesti | [Tilanhallinta](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Browser/VScode Code](../../8-code-editor) | Työskentely VScoden kanssa | Opit käyttämään koodieditoria | [Käytä VScode-koodieditoria](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [AI Assistants](./9-chat-project/README.md) | Työskentely tekoälyn kanssa | Opit rakentamaan oman tekoälyavustajan | [Tekoälyavustajan projekti](./9-chat-project/README.md) | Chris | +| | Projektin nimi | Käsitellyt käsitteet | Oppimistavoitteet | Linkitetty oppitunti | Tekijä | +| :-: | :----------------------------------------------------------: | :------------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------: | :---------------------: | +| 01 | Getting Started | Ohjelmoinnin perusteet ja työkalut | Opi useimpien ohjelmointikielten perustukset ja ohjelmistot, jotka auttavat ammattilaiskehittäjiä työssään | [Johdatus ohjelmointikieliin ja työkaluihin](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Getting Started | GitHubin perusteet, sisältää yhteistyön tiimissä | Kuinka käyttää GitHubia projektissasi, miten tehdä yhteistyötä muiden kanssa koodikannan parissa | [Johdatus GitHubiin](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Getting Started | Esteettömyys | Opi verkkosisällön saavutettavuuden perusteet | [Esteettömyyden perusteet](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | JS Basics | JavaScriptin tietotyypit | JavaScriptin tietotyyppien perusteet | [Tietotyypit](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | JS Basics | Funktiot ja metodit | Opi funktioista ja metodeista sovelluksen logiikan hallinnassa | [Funktiot ja metodit](./2-js-basics/2-functions-methods/README.md) | Jasmine ja Christopher | +| 06 | JS Basics | Päätöksenteko JS:llä | Opi luomaan ehtoisuuksia koodissasi päätöksentekomenetelmillä | [Päätöksenteko](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | JS Basics | Taulukot ja silmukat | Työskentele datan kanssa taulukoiden ja silmukoiden avulla JavaScriptissä | [Taulukot ja silmukat](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML käytännössä | Rakenna HTML luodaksesi verkkoterraarion keskittyen asettelun rakentamiseen | [Johdatus HTML:ään](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS käytännössä | Luo CSS tyylitelläksesi verkkoterraariota, keskittyen CSS:n perusteisiin ja sivun responsiivisuuteen | [Johdatus CSS:ään](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closuret, DOM-manipulointi | Rakenna JavaScript, joka tekee terrariumin toimivaksi drag/drop-käyttöliittymänä, keskittyen closureihin ja DOM-manipulointiin | [JavaScript Closuret, DOM-manipulointi](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Typing Game](./4-typing-game/solution/README.md) | Typing-pelin rakentaminen | Opi käyttämään näppäimistötapahtumia JavaScript-sovelluksesi logiikan ohjaamiseen | [Tapahtumaohjautuva ohjelmointi](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Toimiminen selaimissa | Opi, miten selaimet toimivat, niiden historia ja miten rakentaa selaimien laajennuksen ensimmäiset elementit | [Tietoa selaimista](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Lomakkeen rakentaminen, API:n käyttäminen ja muuttujien tallentaminen paikalliseen muistiin | Rakenna selainlaajennuksen JavaScript-elementit API-kutsujen tekemiseen käyttäen paikalliseen muistiin tallennettuja muuttujia | [API:t, lomakkeet ja paikallinen muisti](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Taustaprosessit selaimessa ja verkkosuorituskyky | Käytä selaimen taustaprosesseja laajennuksen kuvakkeen hallintaan; opi verkkosuorituskyvystä ja joistakin optimoinneista | [Taustatehtävät ja suorituskyky](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Space Game](./6-space-game/solution/README.md) | Edistyneempi pelinkehitys JavaScriptillä | Opi perinnäisyydestä käyttäen sekä luokkia että koostetta sekä Pub/Sub-mallista pelin rakentamista varten | [Johdatus edistyneeseen pelinkehitykseen](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Space Game](./6-space-game/solution/README.md) | Piirtäminen canvakselle | Opi Canvas API:sta, jota käytetään elementtien piirtämiseen näytölle | [Piirtäminen canvakselle](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Space Game](./6-space-game/solution/README.md) | Elementtien liikuttaminen näytöllä | Tutustu, miten elementtejä voi liikuttaa käyttäen karteesisia koordinaatteja ja Canvas API:a | [Elementtien liikuttaminen](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Space Game](./6-space-game/solution/README.md) | Törmäysten havaitseminen | Tee elementtien törmäämisestä ja reagoimisesta toisiinsa näppäinpainallusten avulla ja lisää cooldown-toiminto pelin suorituskyvyn varmistamiseksi | [Törmäysten havaitseminen](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Space Game](./6-space-game/solution/README.md) | Pisteiden seuranta | Tee matemaattisia laskelmia pelin tilan ja suorituskyvyn perusteella | [Pisteiden seuranta](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Space Game](./6-space-game/solution/README.md) | Pelin lopetus ja uudelleen käynnistys | Opi pelin lopettamisesta ja uudelleenkäynnistyksestä, mukaan lukien resurssien siivouksesta ja muuttujien nollauksesta | [Lopetusehto](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-mallit ja reititys web-sovelluksessa | Opi luomaan monisivuisen verkkosivuston runko reitityksen ja HTML-mallien avulla | [HTML-mallit ja reititys](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Banking App](./7-bank-project/solution/README.md) | Kirjautumis- ja rekisteröitymislomakkeen rakentaminen | Opi lomakkeiden rakentamisesta ja validoinnin käsittelystä | [Lomakkeet](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Banking App](./7-bank-project/solution/README.md) | Tietojen hakemisen ja käytön menetelmät | Kuinka tieto virtaa sovelluksessasi, miten sitä haetaan, tallennetaan ja hävitetään | [Tieto](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Banking App](./7-bank-project/solution/README.md) | Tilanhallinnan käsitteet | Opi, miten sovelluksesi säilyttää tilaa ja hallinnoi sitä ohjelmallisesti | [Tilanhallinta](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Browser/VScode Code](../../8-code-editor) | Työskentely VScoden kanssa | Opi käyttämään koodieditoria| [Käytä VScode-koodieditoria](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [AI Assistants](./9-chat-project/README.md) | Työskentely tekoälyn kanssa | Opi rakentamaan oma tekoälyavustajasi | [Tekoälyavustajaprojekti](./9-chat-project/README.md) | Chris | ## 🏫 Pedagogiikka -Opetussuunnitelmamme on suunniteltu kahden keskeisen pedagogisen periaatteen mukaisesti: +Oppimateriaalimme on suunniteltu kahden keskeisen pedagogisen periaatteen pohjalta: * projektipohjainen oppiminen -* usein toistuvat tietovisat +* säännölliset kyselyt -Ohjelma opettaa JavaScriptin, HTML:n ja CSS:n perusasiat sekä viimeisimmät työkalut ja tekniikat, joita nykypäivän web-kehittäjät käyttävät. Opiskelijat saavat käytännön kokemusta rakentamalla kirjoituspelin, virtuaalisen terrariumin, ympäristöystävällisen selainlaajennuksen, avaruustyyppisen pelin ja yrityksille tarkoitetun pankkisovelluksen. Sarjan lopussa opiskelijat ovat saaneet vahvan ymmärryksen web-kehityksestä. +Ohjelma opettaa JavaScriptin, HTML:n ja CSS:n perusteet sekä uusimmat työkalut ja tekniikat, joita nykypäivän web-kehittäjät käyttävät. Opiskelijat saavat käytännön kokemusta rakentamalla kirjoituspelin, virtuaalisen terrarion, ympäristöystävällisen selainlaajennuksen, avaruuslajin pelin sekä pankkisovelluksen yrityksille. Sarjan lopuksi opiskelijoilla on vankka ymmärrys web-kehityksestä. -> 🎓 Voit suorittaa tämän opetussuunnitelman ensimmäiset oppitunnit Microsoft Learnin [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) -kurssina! +> 🎓 Voit suorittaa tämän oppimateriaalin ensimmäiset oppitunnit osana [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) -opintopolkua Microsoft Learnissä! -Varmistamalla, että sisältö vastaa projekteja, prosessi on opiskelijoille kiinnostavampi ja käsitteiden oppiminen parantuu. Kirjoitimme myös useita JavaScriptin perusteiden aloitusoppitunteja käsitteiden esittelemiseksi, parina videona "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" -videosarjasta, jonka osan tekijöistä osallistui tähän opetussuunnitelmaan. +Sisällön linkittäminen projekteihin tekee prosessista opiskelijalle mielekkäämpää ja käsitteiden muistaminen paranee. Kirjoitimme myös useita aloittavia JavaScriptin perusteisiin keskittyviä oppitunteja, joissa perehdytään käsitteisiin, ja ne ovat parina videon kanssa "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" kokoelmasta, jonka osa tekijöistä osallistui tämän oppimateriaalin laadintaan. -Lisäksi ennen luokkaa suoritettava pieni tietovisa asettaa opiskelijan tavoitteeksi aiheen oppimisen, ja toinen tietovisa luokan jälkeen varmistaa syvemmän oppimisen. Tämä opetussuunnitelma on suunniteltu joustavaksi ja hauskaksi, ja se voidaan suorittaa kokonaan tai osittain. Projektit alkavat pieninä ja kasvavat monimutkaisemmiksi 12 viikon jakson loppua kohden. +Lisäksi kevyt kysely ennen luentoa asettaa opiskelijan opiskelutavoitetta ja toinen kysely luennon jälkeen varmistaa sisällön parempaa omaksumista. Tämä oppimateriaali on tarkoitettu joustavaksi ja hauskaksi, ja sen voi suorittaa kokonaan tai osittain. Projektit alkavat yksinkertaisista ja monimutkaistuvat 12 viikon jaksolla. -Vaikka olemme tietoisesti välttäneet JavaScript-kehysten esittelyä keskittyäksemme perusosaamiseen web-kehittäjänä ennen kehysten käyttöönottoa, hyvä seuraava askel tämän opetussuunnitelman jälkeen olisi Node.js:n opettelu toisen videosarjan avulla: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +Vaikka tarkoituksella vältimme JavaScript-kirjastojen esittelyä keskittyäksemme verkkokehittäjän perustaitoihin ennen kirjastoihin siirtymistä, seuraava hyvä askel tämän oppimateriaalin jälkeen olisi Node.js:n opiskelu toisen videosarjan avulla: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> Tutustu [käyttäytymissääntöihimme](CODE_OF_CONDUCT.md) ja [osallistumisohjeisiin](CONTRIBUTING.md). Otamme mielellämme vastaan rakentavaa palautettasi! +> Tutustu [käyttäytymissääntöihimme](CODE_OF_CONDUCT.md) ja [osallistumisohjeisiimme](CONTRIBUTING.md). Otamme mielellämme vastaan rakentavaa palautettasi! ## 🧭 Offline-käyttö -Voit käyttää tätä dokumentaatiota offline-tilassa käyttämällä [Docsify](https://docsify.js.org/#/). Haarauta tämä repo, asenna [Docsify](https://docsify.js.org/#/quickstart) paikalliselle koneellesi ja kirjoita tämän reposton juurikansiossa `docsify serve`. Verkkosivusto palvelee portissa 3000 paikallisessa isäntäkoneessasi: `localhost:3000`. +Voit käyttää tätä dokumentaatiota offline-tilassa käyttämällä [Docsify](https://docsify.js.org/#/). Haarauta tämä arkisto, [asenna Docsify](https://docsify.js.org/#/quickstart) paikallisesti koneellesi, ja kirjoita tämän arkiston juurikansiossa `docsify serve`. Sivusto palvelee portissa 3000 paikallisessa ympäristössä: `localhost:3000`. ## 📘 PDF -Kaikkien oppituntien PDF löytyy täältä [here](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). +Kaikkiin oppitunteihin liittyvän PDF:n löydät täältä [here](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). ## 🎒 Muut kurssit @@ -233,7 +232,7 @@ Tiimimme tuottaa myös muita kursseja! Tutustu: --- -### Generative AI Series +### Generatiivinen tekoäly -sarja [![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) [![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) [![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) @@ -241,7 +240,7 @@ Tiimimme tuottaa myös muita kursseja! Tutustu: --- -### Core Learning +### Perusopiskelu [![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) [![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) [![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) @@ -252,7 +251,7 @@ Tiimimme tuottaa myös muita kursseja! Tutustu: --- -### Copilot Series +### Copilot-sarja [![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) [![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) [![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) @@ -260,21 +259,21 @@ Tiimimme tuottaa myös muita kursseja! Tutustu: ## Apua -Jos jäät jumiin tai sinulla on kysyttävää tekoälysovellusten rakentamisesta, liity oppijoiden ja kokeneiden kehittäjien keskusteluihin MCP:stä. Se on kannustava yhteisö, jossa kysymykset ovat tervetulleita ja tieto jaetaan vapaasti. +Jos juutut tai sinulla on kysyttävää tekoälysovellusten rakentamisesta, liity muiden oppijoiden ja kokeneiden kehittäjien keskusteluihin MCP:stä. Se on kannustava yhteisö, jossa kysymykset ovat tervetulleita ja tieto jaetaan vapaasti. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Jos sinulla on tuotepalautetta tai kohtaat virheitä rakennuksen aikana, käy osoitteessa: +Jos sinulla on palautetta tuotteesta tai löydät virheitä rakentaessasi, käy: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) ## Lisenssi -Tämä arkisto on lisensoitu MIT-lisenssillä. Lisätietoja saat tiedostosta [LICENSE](../../LICENSE). +Tämä arkisto on lisensoitu MIT-lisenssillä. Katso lisätietoja [LICENSE](../../LICENSE)-tiedostosta. --- -**Vastuuvapauslauseke**: -Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua [Co-op Translator](https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, ota huomioon, että automaattikäännökset saattavat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja omalla kielellään on virallinen ja luotettava lähde. Tärkeissä asioissa suosittelemme ammattimaista ihmis kääntäjän tekemää käännöstä. Emme ole vastuussa mahdollisista väärinymmärryksistä tai tulkinnoista, jotka johtuvat tämän käännöksen käytöstä. +**Vastuuvapauslauseke**: +Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua [Co-op Translator](https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, ota huomioon, että automaattikäännöksissä saattaa esiintyä virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen omalla kielellä tulisi pitää virallisena lähteenä. Tärkeiden tietojen osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa tämän käännöksen käytöstä johtuvista väärinymmärryksistä tai tulkinnoista. \ No newline at end of file diff --git a/translations/fr/.co-op-translator.json b/translations/fr/.co-op-translator.json index f54bd3be28..f0c909c6cb 100644 --- a/translations/fr/.co-op-translator.json +++ b/translations/fr/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T18:11:27+00:00", + "translation_date": "2026-04-06T15:26:01+00:00", "source_file": "AGENTS.md", "language_code": "fr" }, @@ -516,8 +516,8 @@ "language_code": "fr" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T11:40:06+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T15:21:47+00:00", "source_file": "README.md", "language_code": "fr" }, diff --git a/translations/fr/AGENTS.md b/translations/fr/AGENTS.md index fe8dccb295..318039dd61 100644 --- a/translations/fr/AGENTS.md +++ b/translations/fr/AGENTS.md @@ -1,21 +1,21 @@ # AGENTS.md -## Vue d'ensemble du projet +## Aperçu du projet -Il s'agit d'un référentiel de programme éducatif pour enseigner les fondamentaux du développement web aux débutants. Le programme est un cours complet de 12 semaines développé par Microsoft Cloud Advocates, comprenant 24 leçons pratiques couvrant JavaScript, CSS et HTML. +Il s'agit d'un référentiel de programme éducatif pour enseigner les fondamentaux du développement web aux débutants. Le programme est un cours complet de 12 semaines développé par les Microsoft Cloud Advocates, comprenant 24 leçons pratiques couvrant JavaScript, CSS et HTML. ### Composants clés - **Contenu éducatif** : 24 leçons structurées organisées en modules basés sur des projets -- **Projets pratiques** : Terrarium, Jeu de frappe, Extension de navigateur, Jeu spatial, Application bancaire, Éditeur de code et Assistant de chat IA -- **Quiz interactifs** : 48 quiz avec 3 questions chacun (évaluations pré/post-lesson) -- **Support multilingue** : Traductions automatisées pour plus de 50 langues via GitHub Actions +- **Projets pratiques** : Terrarium, jeu de frappe, extension de navigateur, jeu spatial, application bancaire, éditeur de code, et assistant de chat IA +- **Quiz interactifs** : 48 quiz avec 3 questions chacun (évaluations avant/après les leçons) +- **Support multilingue** : traductions automatisées en 50+ langues via GitHub Actions - **Technologies** : HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (pour les projets IA) ### Architecture -- Référentiel éducatif avec structure basée sur les leçons -- Chaque dossier de leçon contient un README, des exemples de code, et des solutions +- Référentiel éducatif avec une structure basée sur les leçons +- Chaque dossier de leçon contient README, exemples de code et solutions - Projets autonomes dans des répertoires séparés (quiz-app, divers projets de leçon) - Système de traduction utilisant GitHub Actions (co-op-translator) - Documentation servie via Docsify et disponible en PDF @@ -31,13 +31,13 @@ git clone https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners ``` -### Installation de l'application Quiz (Vue 3 + Vite) +### Installation de l’application Quiz (Vue 3 + Vite) ```bash cd quiz-app npm install npm run dev # Démarrer le serveur de développement -npm run build # Construire pour la production +npm run build # Compiler pour la production npm run lint # Exécuter ESLint ``` @@ -59,12 +59,12 @@ npm install # Suivez les instructions spécifiques au navigateur pour le chargement des extensions ``` -### Projets de jeu spatial +### Projets de jeux spatiaux ```bash cd 6-space-game/solution npm install -# Ouvrez index.html dans le navigateur ou utilisez Live Server +# Ouvrez index.html dans un navigateur ou utilisez Live Server ``` ### Projet de chat (backend Python) @@ -83,30 +83,30 @@ python api.py 1. **Forkez le référentiel** sur votre compte GitHub 2. **Clonez votre fork** localement 3. **Créez une nouvelle branche** pour vos modifications -4. Effectuez des changements dans le contenu des leçons ou les exemples de code -5. Testez toute modification de code dans les répertoires de projets concernés -6. Soumettez des pull requests en suivant les directives de contribution +4. Effectuez des modifications dans le contenu des leçons ou les exemples de code +5. Testez les modifications de code dans les répertoires de projets concernés +6. Soumettez des pull requests selon les directives de contribution ### Pour les apprenants 1. Forkez ou clonez le référentiel -2. Naviguez séquentiellement dans les répertoires des leçons -3. Lisez les fichiers README de chaque leçon -4. Complétez les quiz pré-lesson sur https://ff-quizzes.netlify.app/web/ -5. Travaillez les exemples de code dans les dossiers de leçon +2. Naviguez séquentiellement dans les dossiers de leçon +3. Lisez les fichiers README pour chaque leçon +4. Complétez les quiz avant la leçon à https://ff-quizzes.netlify.app/web/ +5. Travaillez sur les exemples de code dans les dossiers des leçons 6. Réalisez les devoirs et défis -7. Passez les quiz post-lesson +7. Passez les quiz après la leçon ### Développement en direct -- **Documentation** : Lancez `docsify serve` à la racine (port 3000) -- **Application Quiz** : Lancez `npm run dev` dans le répertoire quiz-app -- **Projets** : Utilisez l'extension VS Code Live Server pour les projets HTML -- **Projets API** : Lancez `npm start` dans les répertoires API correspondants +- **Documentation** : lancez `docsify serve` à la racine (port 3000) +- **Application Quiz** : lancez `npm run dev` dans le dossier quiz-app +- **Projets** : utilisez l’extension Live Server de VS Code pour les projets HTML +- **Projets API** : lancez `npm start` dans les répertoires API respectifs ## Instructions de test -### Tests de l'application Quiz +### Test de l’application Quiz ```bash cd quiz-app @@ -114,86 +114,86 @@ npm run lint # Vérifier les problèmes de style de code npm run build # Vérifier que la compilation réussit ``` -### Tests de l'API bancaire +### Test de l’API bancaire ```bash cd 7-bank-project/api -npm run lint # Vérifier les problèmes de style de code -node server.js # Vérifier que le serveur démarre sans erreurs +npm run lint # Vérifiez les problèmes de style de code +node server.js # Vérifiez que le serveur démarre sans erreurs ``` ### Approche générale des tests -- Ce référentiel éducatif ne dispose pas de tests automatisés complets -- Les tests manuels portent sur : - - L'exécution des exemples de code sans erreurs - - Le bon fonctionnement des liens dans la documentation - - Le succès des compilations des projets - - Le respect des bonnes pratiques dans les exemples +- Il s’agit d’un référentiel éducatif sans tests automatisés complets +- Les tests manuels se concentrent sur : + - Exécution des exemples de code sans erreurs + - Fonctionnement correct des liens dans la documentation + - Succès des compilations des projets + - Respect des bonnes pratiques dans les exemples ### Vérifications avant soumission -- Lancez `npm run lint` dans les répertoires contenant package.json -- Vérifiez la validité des liens markdown -- Testez les exemples de code dans le navigateur ou Node.js -- Vérifiez que les traductions conservent la bonne structure +- Lancez `npm run lint` dans les dossiers contenant package.json +- Vérifiez que les liens markdown sont valides +- Testez les exemples de code dans un navigateur ou Node.js +- Assurez-vous que les traductions conservent la structure correcte -## Guide de style de code +## Directives de style de code ### JavaScript - Utilisez la syntaxe moderne ES6+ - Suivez les configurations ESLint standard fournies dans les projets -- Utilisez des noms de variables et de fonctions significatifs pour la clarté pédagogique +- Utilisez des noms de variables et de fonctions significatifs pour la clarté éducative - Ajoutez des commentaires expliquant les concepts pour les apprenants -- Formatez avec Prettier lorsqu'il est configuré +- Formatez avec Prettier là où configuré ### HTML/CSS - Éléments HTML5 sémantiques - Principes de design responsive -- Conventions claires de nommage de classes +- Conventions claires de nommage des classes - Commentaires expliquant les techniques CSS pour les apprenants ### Python -- Respect des directives de style PEP 8 -- Exemples de code clairs et pédagogiques -- Indications de type là où c'est utile pour l'apprentissage +- Directives de style PEP 8 +- Exemples de code clairs et éducatifs +- Annotations de types là où c’est utile pour l’apprentissage ### Documentation Markdown - Hiérarchie claire des titres -- Blocs de code avec spécification du langage -- Liens vers des ressources additionnelles -- Captures d'écran et images dans les dossiers `images/` -- Texte alternatif pour les images pour l'accessibilité +- Blocs de code avec spécification de langage +- Liens vers des ressources supplémentaires +- Captures d’écran et images dans les dossiers `images/` +- Texte alternatif pour les images pour l’accessibilité ### Organisation des fichiers - Leçons numérotées séquentiellement (1-getting-started-lessons, 2-js-basics, etc.) -- Chaque projet possède des répertoires `solution/` et souvent `start/` ou `your-work/` -- Images stockées dans des dossiers `images/` spécifiques à chaque leçon +- Chaque projet a des dossiers `solution/` et souvent `start/` ou `your-work/` +- Images stockées dans des dossiers `images/` spécifiques aux leçons - Traductions dans la structure `translations/{language-code}/` -## Compilation et déploiement +## Construction et déploiement -### Déploiement de l'application Quiz (Azure Static Web Apps) +### Déploiement de l’application Quiz (Azure Static Web Apps) -L'application quiz-app est configurée pour le déploiement sur Azure Static Web Apps : +L’application quiz est configurée pour un déploiement sur Azure Static Web Apps : ```bash cd quiz-app npm run build # Crée le dossier dist/ -# Déploie via le workflow GitHub Actions lors d'une poussée sur main +# Déploie via le workflow GitHub Actions lors d'un push sur main ``` Configuration Azure Static Web Apps : -- **Emplacement de l'application** : `/quiz-app` +- **Emplacement de l’appli** : `/quiz-app` - **Emplacement de sortie** : `dist` - **Workflow** : `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` -### Génération de PDF de la documentation +### Génération PDF de la documentation ```bash npm install # Installer docsify-to-pdf @@ -207,54 +207,54 @@ npm install -g docsify-cli # Installer Docsify globalement docsify serve # Servir sur localhost:3000 ``` -### Builds spécifiques aux projets +### Builds spécifiques par projet Chaque répertoire de projet peut avoir son propre processus de build : -- Projets Vue : `npm run build` crée des bundles de production -- Projets statiques : pas d'étape de build, les fichiers sont servis directement +- Projets Vue : `npm run build` crée les bundles de production +- Projets statiques : pas d’étape de build, fichiers servis directement -## Directives pour les pull requests +## Directives des pull requests ### Format du titre Utilisez des titres clairs et descriptifs indiquant la zone de changement : - `[Quiz-app] Ajouter un nouveau quiz pour la leçon X` -- `[Lesson-3] Correction de faute dans le projet terrarium` +- `[Lesson-3] Corriger une faute dans le projet terrarium` - `[Translation] Ajouter la traduction espagnole pour la leçon 5` -- `[Docs] Mise à jour des instructions d'installation` +- `[Docs] Mettre à jour les instructions d’installation` ### Vérifications requises Avant de soumettre une PR : 1. **Qualité du code** : - - Exécutez `npm run lint` dans les répertoires de projet affectés - - Corrigez toutes les erreurs et avertissements de linting + - Lancez `npm run lint` dans les dossiers projets concernés + - Corrigez toutes erreurs et avertissements de lint -2. **Vérification de la build** : - - Exécutez `npm run build` si applicable - - Assurez-vous qu'il n'y ait pas d'erreurs de build +2. **Vérification de build** : + - Lancez `npm run build` si applicable + - Assurez-vous qu’il n’y a pas d’erreurs de build 3. **Validation des liens** : - Testez tous les liens markdown - - Vérifiez le fonctionnement des références d'images + - Vérifiez que les références aux images fonctionnent 4. **Relecture du contenu** : - - Corrigez l'orthographe et la grammaire + - Vérifiez l’orthographe et la grammaire - Assurez-vous que les exemples de code sont corrects et pédagogiques - - Vérifiez que les traductions conservent leur sens original + - Vérifiez que les traductions conservent le sens original ### Exigences de contribution -- Acceptez la CLA Microsoft (vérification automatique lors de la première PR) -- Suivez le [Code de conduite Open Source Microsoft](https://opensource.microsoft.com/codeofconduct/) -- Consultez [CONTRIBUTING.md](./CONTRIBUTING.md) pour les directives détaillées -- Mentionnez les numéros d’issues dans la description de la PR le cas échéant +- Accepter la CLA Microsoft (vérification automatisée à la première PR) +- Suivre le [Code de Conduite Open Source Microsoft](https://opensource.microsoft.com/codeofconduct/) +- Voir [CONTRIBUTING.md](./CONTRIBUTING.md) pour les directives détaillées +- Référencer les numéros d’issues dans la description de la PR si applicable ### Processus de revue -- Les PR sont examinées par les mainteneurs et la communauté -- La clarté pédagogique est priorisée +- PRs examinées par les mainteneurs et la communauté +- La clarté éducative est priorisée - Les exemples de code doivent suivre les meilleures pratiques actuelles - Les traductions sont revues pour précision et adéquation culturelle @@ -263,18 +263,18 @@ Avant de soumettre une PR : ### Traduction automatisée - Utilise GitHub Actions avec le workflow co-op-translator -- Traduit automatiquement en plus de 50 langues -- Fichiers sources dans les répertoires principaux -- Fichiers traduits dans les répertoires `translations/{language-code}/` +- Traduit automatiquement en 50+ langues +- Fichiers source dans les répertoires principaux +- Fichiers traduits dans les dossiers `translations/{language-code}/` -### Ajout d'améliorations manuelles de traduction +### Ajout d’améliorations manuelles 1. Localisez le fichier dans `translations/{language-code}/` -2. Apportez des améliorations tout en préservant la structure +2. Effectuez des améliorations en conservant la structure 3. Assurez-vous que les exemples de code restent fonctionnels 4. Testez tout contenu localisé de quiz -### Métadonnées de traduction +### Métadonnées des traductions Les fichiers traduits incluent un en-tête de métadonnées : ```markdown @@ -289,56 +289,56 @@ CO_OP_TRANSLATOR_METADATA: --> ``` -## Débogage et dépannage +## Débogage et résolution de problèmes ### Problèmes courants -**L'application quiz ne démarre pas** : +**L’application quiz ne démarre pas** : - Vérifiez la version de Node.js (v14+ recommandée) -- Supprimez `node_modules` et `package-lock.json`, relancez `npm install` -- Vérifiez s'il y a des conflits de ports (par défaut : Vite utilise le port 5173) +- Supprimez `node_modules` et `package-lock.json`, lancez `npm install` à nouveau +- Vérifiez les conflits de port (par défaut : Vite utilise le port 5173) **Le serveur API ne démarre pas** : - Vérifiez que la version de Node.js est suffisante (node >=10) - Vérifiez si le port est déjà utilisé - Assurez-vous que toutes les dépendances sont installées avec `npm install` -**L'extension de navigateur ne se charge pas** : -- Vérifiez que manifest.json est bien formaté -- Consultez la console du navigateur pour les erreurs -- Suivez les instructions d'installation spécifiques au navigateur +**L’extension de navigateur ne se charge pas** : +- Vérifiez que manifest.json est correctement formaté +- Contrôlez la console du navigateur pour les erreurs +- Suivez les instructions d’installation spécifiques au navigateur -**Problèmes avec le projet chat Python** : +**Problèmes avec le projet de chat Python** : - Assurez-vous que le package OpenAI est installé : `pip install openai` -- Vérifiez que la variable d'environnement GITHUB_TOKEN est définie -- Contrôlez les permissions d'accès aux modèles GitHub +- Vérifiez que la variable d’environnement GITHUB_TOKEN est définie +- Vérifiez les autorisations d’accès aux modèles GitHub **Docsify ne sert pas la documentation** : - Installez docsify-cli globalement : `npm install -g docsify-cli` - Lancez depuis le répertoire racine du référentiel - Vérifiez que `docs/_sidebar.md` existe -### Conseils pour l'environnement de développement +### Conseils pour l’environnement de développement -- Utilisez VS Code avec l'extension Live Server pour les projets HTML +- Utilisez VS Code avec l’extension Live Server pour les projets HTML - Installez les extensions ESLint et Prettier pour un formatage cohérent - Utilisez les DevTools du navigateur pour déboguer JavaScript -- Pour les projets Vue, installez l'extension Vue DevTools pour navigateur +- Pour les projets Vue, installez l’extension Vue DevTools pour navigateur ### Considérations de performance - Le grand nombre de fichiers traduits (50+ langues) rend les clones complets volumineux -- Utilisez un clone superficiel si vous travaillez seulement sur le contenu : `git clone --depth 1` -- Excluez les traductions des recherches lors du travail sur le contenu anglais +- Utilisez un clone superficiel si vous travaillez uniquement sur le contenu : `git clone --depth 1` +- Excluez les traductions des recherches lorsque vous travaillez sur le contenu anglais - Les processus de build peuvent être lents au premier lancement (npm install, build Vite) ## Considérations de sécurité -### Variables d'environnement +### Variables d’environnement -- Les clés API ne doivent jamais être commitées dans le référentiel -- Utilisez les fichiers `.env` (déjà dans `.gitignore`) -- Documentez les variables d'environnement requises dans les README des projets +- Les clés API ne doivent jamais être commises dans le référentiel +- Utilisez des fichiers `.env` (déjà dans `.gitignore`) +- Documentez les variables d’environnement requises dans les README des projets ### Projets Python @@ -348,61 +348,61 @@ CO_OP_TRANSLATOR_METADATA: ### Accès aux modèles GitHub -- Les Personal Access Tokens (PAT) sont nécessaires pour les modèles GitHub -- Les tokens doivent être stockés en variables d'environnement -- Ne commitez jamais de tokens ou de credentials +- Les tokens d’accès personnel (PAT) sont requis pour les modèles GitHub +- Les tokens doivent être stockés comme variables d’environnement +- Ne jamais commettre les tokens ou les identifiants ## Notes supplémentaires ### Public cible -- Débutants complets en développement web -- Étudiants et auto-apprenants +- Débutants complets au développement web +- Étudiants et autodidactes - Enseignants utilisant le programme en classe -- Le contenu est conçu pour l'accessibilité et la montée en compétences progressive +- Le contenu est conçu pour l’accessibilité et un apprentissage progressif ### Philosophie éducative -- Approche d'apprentissage par projet +- Approche d’apprentissage par projet - Vérifications fréquentes des connaissances (quiz) -- Exercices de codage pratiques -- Exemples d'applications réelles -- Accent sur les fondamentaux avant les frameworks +- Exercices pratiques de codage +- Exemples d’application dans des cas réels +- Focus sur les fondamentaux avant les frameworks ### Maintenance du référentiel -- Communauté active d'apprenants et de contributeurs +- Communauté active d’apprenants et de contributeurs - Mises à jour régulières des dépendances et du contenu - Suivi des issues et discussions par les mainteneurs - Mises à jour des traductions automatisées via GitHub Actions -### Ressources associées +### Ressources connexes - [Modules Microsoft Learn](https://docs.microsoft.com/learn/) - [Ressources Student Hub](https://docs.microsoft.com/learn/student-hub/) - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) recommandé pour les apprenants -- Cours supplémentaires : IA générative, Data Science, ML, cursus IoT disponibles +- Cours supplémentaires : IA générative, Data Science, ML, IoT disponibles -### Travailler avec des projets spécifiques +### Travail avec des projets spécifiques Pour des instructions détaillées sur les projets individuels, consultez les fichiers README dans : -- `quiz-app/README.md` - Application quiz Vue 3 -- `7-bank-project/README.md` - Application bancaire avec authentification -- `5-browser-extension/README.md` - Développement d'extension de navigateur -- `6-space-game/README.md` - Développement de jeu sur Canvas -- `9-chat-project/README.md` - Projet d'assistant de chat IA +- `quiz-app/README.md` - application de quiz Vue 3 +- `7-bank-project/README.md` - application bancaire avec authentification +- `5-browser-extension/README.md` - développement d’extension de navigateur +- `6-space-game/README.md` - développement de jeu basé sur Canvas +- `9-chat-project/README.md` - projet d’assistant de chat IA -### Structure du monorepo +### Structure Monorepo Bien que ce ne soit pas un monorepo traditionnel, ce référentiel contient plusieurs projets indépendants : - Chaque leçon est autonome - Les projets ne partagent pas leurs dépendances - Travaillez sur des projets individuels sans impacter les autres -- Clonez le référentiel complet pour une expérience complète du programme +- Clonez le référentiel complet pour l’expérience du programme complet --- **Avertissement** : -Ce document a été traduit à l'aide du service de traduction IA [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant foi. Pour les informations critiques, une traduction professionnelle humaine est recommandée. Nous ne sommes pas responsables des malentendus ou mauvaises interprétations résultant de l'utilisation de cette traduction. +Ce document a été traduit à l’aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforçons d’assurer l’exactitude, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d’origine doit être considéré comme la source faisant autorité. Pour les informations critiques, une traduction professionnelle réalisée par un humain est recommandée. Nous ne sommes pas responsables des malentendus ou des erreurs d’interprétation résultant de l’utilisation de cette traduction. \ No newline at end of file diff --git a/translations/fr/README.md b/translations/fr/README.md index ba2a3c70bb..29e63c121c 100644 --- a/translations/fr/README.md +++ b/translations/fr/README.md @@ -12,118 +12,115 @@ # Développement Web pour Débutants - Un Programme -Apprenez les fondamentaux du développement web avec notre cours complet de 12 semaines proposé par les Microsoft Cloud Advocates. Chacune des 24 leçons explore JavaScript, CSS, et HTML à travers des projets pratiques comme des terrariums, des extensions de navigateur, et des jeux spatiaux. Participez à des quiz, des discussions, et des devoirs pratiques. Améliorez vos compétences et optimisez la rétention de vos connaissances grâce à notre pédagogie efficace basée sur les projets. Commencez votre parcours de codage dès aujourd'hui ! +Apprenez les fondamentaux du développement web avec notre cours complet de 12 semaines conçu par les Défenseurs du Cloud Microsoft. Chacune des 24 leçons explore JavaScript, CSS et HTML à travers des projets pratiques comme des terrariums, des extensions de navigateur et des jeux spatiaux. Participez à des quiz, des discussions et des exercices pratiques. Améliorez vos compétences et optimisez votre rétention des connaissances grâce à notre pédagogie efficace basée sur des projets. Commencez votre apprentissage du code dès aujourd'hui ! -Rejoignez la communauté Azure AI Foundry sur Discord +Rejoignez la Communauté Azure AI Foundry sur Discord [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Suivez ces étapes pour commencer à utiliser ces ressources : -1. **Bifurquez le Référentiel** : Cliquez sur [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) -2. **Clonez le Référentiel** : `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**Rejoignez l'Azure AI Foundry Discord pour rencontrer des experts et d'autres développeurs**](https://discord.com/invite/ByRwuEEgH4) +Suivez ces étapes pour commencer à utiliser ces ressources : +1. **Faites un fork du dépôt** : Cliquez sur [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +2. **Clonez le dépôt** : `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +3. [**Rejoignez le Discord Azure AI Foundry et rencontrez des experts ainsi que d'autres développeurs**](https://discord.com/invite/ByRwuEEgH4) ### 🌐 Support Multilingue -#### Pris en charge via GitHub Action (Automatisé & Toujours à Jour) +#### Pris en charge via GitHub Action (Automatisé et Toujours à Jour) -[Arabe](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgare](../bg/README.md) | [Birman (Myanmar)](../my/README.md) | [Chinois (Simplifié)](../zh-CN/README.md) | [Chinois (Traditionnel, Hong Kong)](../zh-HK/README.md) | [Chinois (Traditionnel, Macao)](../zh-MO/README.md) | [Chinois (Traditionnel, Taïwan)](../zh-TW/README.md) | [Croate](../hr/README.md) | [Tchèque](../cs/README.md) | [Danois](../da/README.md) | [Néerlandais](../nl/README.md) | [Estonien](../et/README.md) | [Finnois](../fi/README.md) | [Français](./README.md) | [Allemand](../de/README.md) | [Grec](../el/README.md) | [Hébreu](../he/README.md) | [Hindi](../hi/README.md) | [Hongrois](../hu/README.md) | [Indonésien](../id/README.md) | [Italien](../it/README.md) | [Japonais](../ja/README.md) | [Kannada](../kn/README.md) | [Coréen](../ko/README.md) | [Lituanien](../lt/README.md) | [Malais](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Népalais](../ne/README.md) | [Pidgin Nigérian](../pcm/README.md) | [Norvégien](../no/README.md) | [Persan (Farsi)](../fa/README.md) | [Polonais](../pl/README.md) | [Portugais (Brésil)](../pt-BR/README.md) | [Portugais (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Roumain](../ro/README.md) | [Russe](../ru/README.md) | [Serbe (Cyrillique)](../sr/README.md) | [Slovaque](../sk/README.md) | [Slovène](../sl/README.md) | [Espagnol](../es/README.md) | [Swahili](../sw/README.md) | [Suédois](../sv/README.md) | [Tagalog (Philippin)](../tl/README.md) | [Tamoul](../ta/README.md) | [Télougou](../te/README.md) | [Thaï](../th/README.md) | [Turc](../tr/README.md) | [Ukrainien](../uk/README.md) | [Ourdou](../ur/README.md) | [Vietnamien](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](./README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) -> **Vous préférez Cloner Localement ?** -> -> Ce référentiel inclut plus de 50 traductions de langues, ce qui augmente considérablement la taille du téléchargement. Pour cloner sans les traductions, utilisez un "sparse checkout" : -> -> **Bash / macOS / Linux :** +> **Vous préférez cloner localement ?** +> +> Ce dépôt comprend plus de 50 traductions, ce qui augmente significativement la taille du téléchargement. Pour cloner sans les traductions, utilisez le checkout sparse : +> +> **Bash / macOS / Linux :** > ```bash > git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git > cd Web-Dev-For-Beginners > git sparse-checkout set --no-cone '/*' '!translations' '!translated_images' > ``` -> -> **CMD (Windows) :** +> +> **CMD (Windows) :** > ```cmd > git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git > cd Web-Dev-For-Beginners > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` -> -> Cela vous donne tout ce dont vous avez besoin pour suivre le cours avec un téléchargement beaucoup plus rapide. +> +> Cela vous donne tout ce dont vous avez besoin pour suivre le cours avec un téléchargement beaucoup plus rapide. -**Si vous souhaitez avoir d'autres langues de traduction prises en charge, elles sont listées [ici](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**Si vous souhaitez que d'autres langues de traduction soient prises en charge, elles sont listées [ici](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** [![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) -#### 🧑‍🎓 _Êtes-vous étudiant(e) ?_ +#### 🧑‍🎓 _Êtes-vous étudiant ?_ -Visitez la [**page Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) où vous trouverez des ressources pour débutants, des packs étudiants et même des moyens d’obtenir un bon de réduction pour un certificat gratuit. C’est la page que vous voulez mettre en favori et consulter de temps en temps, car nous changeons le contenu chaque mois. +Visitez la [**page Hub Étudiant**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) où vous trouverez des ressources pour débutants, des packs pour étudiants et même des moyens d'obtenir un bon de certificat gratuit. C’est la page que vous voudrez mettre en favori et consulter régulièrement car son contenu est mis à jour chaque mois. -### 📣 Annonce - Nouveaux défis du mode GitHub Copilot Agent à compléter ! +### 📣 Annonce - Nouveaux défis en mode GitHub Copilot Agent à compléter ! -Nouveau défi ajouté, cherchez "GitHub Copilot Agent Challenge 🚀" dans la plupart des chapitres. C’est un nouveau défi à relever en utilisant GitHub Copilot et le mode Agent. Si vous n'avez jamais utilisé le mode Agent, il est capable non seulement de générer du texte, mais aussi de créer et modifier des fichiers, exécuter des commandes, et plus encore. +Nouveau défi ajouté, cherchez le "Défi GitHub Copilot Agent 🚀" dans la plupart des chapitres. C’est un nouveau défi à compléter en utilisant GitHub Copilot et le mode Agent. Si vous n'avez jamais utilisé le mode Agent, il est capable non seulement de générer du texte, mais aussi de créer et modifier des fichiers, exécuter des commandes et plus encore. -### 📣 Annonce - _Nouveau projet à construire avec l’IA Générative_ +### 📣 Annonce - _Nouveau projet à construire en utilisant l’IA générative_ -Nouveau projet d’assistant IA ajouté, découvrez-le [projet](./9-chat-project/README.md) +Nouveau projet Assistant IA ajouté, consultez le [projet](./9-chat-project/README.md) -### 📣 Annonce - _Nouveau programme_ sur l’IA Générative pour JavaScript vient d’être publié +### 📣 Annonce - _Nouveau programme_ sur l’IA générative pour JavaScript vient d’être publié -Ne manquez pas notre nouveau programme sur l’IA Générative ! +Ne manquez pas notre nouveau programme sur l’IA générative ! Visitez [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) pour commencer ! ![Background](../../translated_images/fr/background.148a8d43afde5730.webp) -- Leçons couvrant tout, des bases au RAG. -- Interagissez avec des personnages historiques grâce à GenAI et notre application compagnon. -- Une narration amusante et engageante, vous voyagerez dans le temps ! +- Des leçons couvrant tout, des bases au RAG. +- Interagissez avec des personnages historiques grâce à GenAI et notre application compagnon. +- Une narration amusante et immersive, vous voyagerez dans le temps ! ![character](../../translated_images/fr/character.5c0dd8e067ffd693.webp) - -Chaque leçon comprend un devoir à réaliser, un contrôle des connaissances et un défi pour vous guider sur des thèmes tels que : -- Le prompting et l'ingénierie de prompt -- La génération d’applications textuelles et imagées -- Les applications de recherche +Chaque leçon comprend un devoir à réaliser, un contrôle de connaissances et un défi pour vous guider dans l’apprentissage de sujets comme : +- Le prompt et l’ingénierie du prompt +- La génération d’applications texte et image +- Les applications de recherche Visitez [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) pour commencer ! +## 🌱 Pour commencer +> **Enseignants**, nous avons [inclus quelques suggestions](for-teachers.md) sur comment utiliser ce programme. Nous attendons vos retours [dans notre forum de discussion](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner) ! -## 🌱 Pour Commencer - -> **Enseignants**, nous avons [inclus quelques suggestions](for-teachers.md) sur la façon d’utiliser ce programme. Nous aimerions avoir votre retour [sur notre forum de discussion](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner) ! - -**[Apprenants](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, pour chaque leçon, commencez par un quiz pré-lecture puis poursuivez avec la lecture du matériel de cours, la réalisation des diverses activités et vérifiez votre compréhension avec le quiz post-lecture. +**[Apprenants](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, pour chaque leçon, commencez par un quiz pré-conférence puis lisez le contenu de la conférence, complétez les diverses activités et vérifiez votre compréhension via le quiz post-conférence. -Pour améliorer votre expérience d’apprentissage, connectez-vous avec vos pairs pour travailler ensemble sur les projets ! Les discussions sont encouragées dans notre [forum de discussion](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) où notre équipe de modérateurs sera disponible pour répondre à vos questions. +Pour améliorer votre expérience d’apprentissage, connectez-vous avec vos pairs pour travailler ensemble sur les projets ! Les discussions sont encouragées sur notre [forum de discussion](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) où notre équipe de modérateurs sera disponible pour répondre à vos questions. -Pour approfondir votre formation, nous recommandons fortement d’explorer [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) pour des matériaux d’étude supplémentaires. +Pour approfondir vos connaissances, nous recommandons vivement d’explorer [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) pour des supports d’étude supplémentaires. ### 📋 Configuration de votre environnement -Ce programme dispose d’un environnement de développement prêt à l’emploi ! Lors de vos débuts, vous pouvez choisir d’exécuter le programme dans un [Codespace](https://github.com/features/codespaces/) (_un environnement basé sur navigateur, sans besoin d’installation_), ou localement sur votre ordinateur en utilisant un éditeur de texte tel que [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +Ce programme dispose d’un environnement de développement prêt à l’emploi ! Pour démarrer, vous pouvez choisir d’exécuter le programme dans un [Codespace](https://github.com/features/codespaces/) (_un environnement basé sur navigateur, sans installation nécessaire_), ou localement sur votre ordinateur avec un éditeur de texte comme [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -#### Créez votre répertoire -Pour pouvoir sauvegarder facilement votre travail, il est recommandé de créer votre propre copie de ce répertoire. Vous pouvez le faire en cliquant sur le bouton **Use this template** en haut de la page. Cela créera un nouveau répertoire dans votre compte GitHub avec une copie du programme. +#### Créez votre dépôt +Pour sauvegarder facilement votre travail, il est recommandé de créer votre propre copie de ce dépôt. Vous pouvez le faire en cliquant sur le bouton **Use this template** en haut de la page. Cela créera un nouveau dépôt dans votre compte GitHub avec une copie du programme. -Suivez ces étapes : -1. **Bifurquez le Référentiel** : Cliquez sur le bouton "Fork" en haut à droite de cette page. -2. **Clonez le Référentiel** : `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +Suivez ces étapes : +1. **Faites un fork du dépôt** : Cliquez sur le bouton "Fork" en haut à droite de cette page. +2. **Clonez le dépôt** : `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` #### Exécuter le programme dans un Codespace -Dans votre copie de ce répertoire que vous avez créée, cliquez sur le bouton **Code** et sélectionnez **Open with Codespaces**. Cela créera un nouveau Codespace dans lequel vous pourrez travailler. +Dans votre copie de ce dépôt, cliquez sur le bouton **Code** puis sélectionnez **Open with Codespaces**. Cela créera un nouveau Codespace pour que vous puissiez travailler. ![Codespace](../../translated_images/fr/createcodespace.0238bbf4d7a8d955.webp) #### Exécuter le programme localement sur votre ordinateur -Pour exécuter ce programme localement sur votre ordinateur, vous aurez besoin d’un éditeur de texte, d’un navigateur et d’un outil en ligne de commande. Notre première leçon, [Introduction aux langages de programmation et outils du métier](../../1-getting-started-lessons/1-intro-to-programming-languages), vous guidera à travers plusieurs options pour chacun de ces outils afin que vous puissiez choisir ce qui vous convient le mieux. +Pour exécuter ce programme localement, vous aurez besoin d’un éditeur de texte, d’un navigateur et d’un outil en ligne de commande. Notre première leçon, [Introduction aux langages de programmation et outils du métier](../../1-getting-started-lessons/1-intro-to-programming-languages), vous guidera à travers diverses options pour chacun de ces outils afin que vous puissiez choisir ce qui vous convient le mieux. -Nous recommandons d’utiliser [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) comme éditeur, qui possède également un [Terminal intégré](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Vous pouvez télécharger Visual Studio Code [ici](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -1. Clonez votre dépôt sur votre ordinateur. Vous pouvez le faire en cliquant sur le bouton **Code** et en copiant l'URL : +Nous recommandons l’utilisation de [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) comme éditeur, qui inclut également un [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) intégré. Vous pouvez télécharger Visual Studio Code [ici](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +1. Clonez votre dépôt sur votre ordinateur. Vous pouvez le faire en cliquant sur le bouton **Code** et en copiant l’URL : [CodeSpace](./images/createcodespace.png) @@ -133,7 +130,7 @@ Nous recommandons d’utiliser [Visual Studio Code](https://code.visualstudio.co git clone ``` -2. Ouvrez le dossier dans Visual Studio Code. Vous pouvez le faire en cliquant sur **Fichier** > **Ouvrir un dossier** et en sélectionnant le dossier que vous venez de cloner. +2. Ouvrez le dossier dans Visual Studio Code. Vous pouvez le faire en cliquant sur **Fichier** > **Ouvrir le dossier** et en sélectionnant le dossier que vous venez de cloner. > Extensions Visual Studio Code recommandées : @@ -141,73 +138,73 @@ Nous recommandons d’utiliser [Visual Studio Code](https://code.visualstudio.co > * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - pour prévisualiser les pages HTML dans Visual Studio Code > * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - pour vous aider à écrire du code plus rapidement -## 📂 Chaque leçon inclut : +## 📂 Chaque leçon comprend : -- sketchnote optionnel -- vidéo supplémentaire optionnelle +- sketchnote optionnelle +- vidéo complémentaire optionnelle - quiz d’échauffement avant la leçon - leçon écrite -- pour les leçons basées sur un projet, guides étape par étape pour construire le projet -- vérifications de connaissances +- pour les leçons basées sur un projet, des guides étape par étape pour construire le projet +- vérifications des connaissances - un défi -- lecture complémentaire +- lectures complémentaires - devoir - [quiz post-leçon](https://ff-quizzes.netlify.app/web/) -> **Une note au sujet des quiz** : Tous les quiz sont regroupés dans le dossier Quiz-app, avec un total de 48 quiz composés chacun de trois questions. Ils sont disponibles [ici](https://ff-quizzes.netlify.app/web/). L'application de quiz peut être exécutée localement ou déployée sur Azure ; suivez les instructions dans le dossier `quiz-app`. +> **Une note à propos des quiz** : Tous les quiz sont contenus dans le dossier Quiz-app, avec 48 quiz au total de trois questions chacun. Ils sont disponibles [ici](https://ff-quizzes.netlify.app/web/) ; l’application de quiz peut être exécutée localement ou déployée sur Azure ; suivez les instructions dans le dossier `quiz-app`. ## 🗃️ Leçons -| | Nom du projet | Concepts enseignés | Objectifs d’apprentissage | Leçon liée | Auteur | -| :-: | :--------------------------------------------------------: | :-----------------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | Prise en main | Introduction à la programmation et aux outils du métier | Apprenez les bases communes à la plupart des langages de programmation et sur les logiciels qui aident les développeurs professionnels | [Introduction aux langages de programmation et outils du métier](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | Prise en main | Bases de GitHub, y compris travailler en équipe | Comment utiliser GitHub dans votre projet, comment collaborer avec d’autres sur une base de code | [Introduction à GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | Prise en main | Accessibilité | Apprenez les bases de l’accessibilité web | [Fondamentaux de l’accessibilité](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | Bases JS | Types de données JavaScript | Les bases des types de données en JavaScript | [Types de données](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | Bases JS | Fonctions et méthodes | Apprenez les fonctions et méthodes pour gérer le flux logique d’une application | [Fonctions et méthodes](./2-js-basics/2-functions-methods/README.md) | Jasmine et Christopher | -| 06 | Bases JS | Prise de décision avec JS | Apprenez à créer des conditions dans votre code en utilisant les méthodes de prise de décision | [Prise de décisions](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | Bases JS | Tableaux et boucles | Travaillez avec les données en utilisant les tableaux et les boucles en JavaScript | [Tableaux et boucles](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML en pratique | Construisez le HTML pour créer un terrarium en ligne, en vous concentrant sur la création de la mise en page | [Introduction à HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS en pratique | Construisez le CSS pour styliser le terrarium en ligne, en vous concentrant sur les bases du CSS, y compris rendre la page responsive | [Introduction à CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrarium](./3-terrarium/solution/README.md) | Fermetures JavaScript, manipulation du DOM | Construisez le JavaScript pour rendre le terrarium fonctionnel en tant qu’interface drag/drop, en vous concentrant sur les fermetures et la manipulation du DOM | [Fermetures JavaScript, manipulation du DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Jeu de frappe](./4-typing-game/solution/README.md) | Construire un jeu de frappe | Apprenez à utiliser les événements clavier pour piloter la logique de votre application JavaScript | [Programmation événementielle](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Extension de navigateur verte](./5-browser-extension/solution/README.md) | Travailler avec les navigateurs | Apprenez comment fonctionnent les navigateurs, leur histoire, et comment structurer les premiers éléments d’une extension de navigateur | [À propos des navigateurs](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Extension de navigateur verte](./5-browser-extension/solution/README.md) | Construire un formulaire, appeler une API et stocker des variables en local storage | Construisez les éléments JavaScript de votre extension de navigateur pour appeler une API en utilisant des variables stockées en local storage | [API, formulaires et stockage local](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Extension de navigateur verte](./5-browser-extension/solution/README.md) | Processus d’arrière-plan dans le navigateur, performance web | Utilisez les processus d’arrière-plan du navigateur pour gérer l’icône de l’extension ; apprenez la performance web et des optimisations | [Tâches d’arrière-plan et performances](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Jeu spatial](./6-space-game/solution/README.md) | Développement de jeu plus avancé avec JavaScript | Apprenez l’héritage avec Classes et Composition ainsi que le pattern Pub/Sub, en préparation à la création d’un jeu | [Introduction au développement de jeu avancé](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [Jeu spatial](./6-space-game/solution/README.md) | Dessin sur canvas | Apprenez l’API Canvas, utilisée pour dessiner des éléments sur un écran | [Dessin sur Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Jeu spatial](./6-space-game/solution/README.md) | Déplacer des éléments à l’écran | Découvrez comment les éléments peuvent se déplacer en utilisant les coordonnées cartésiennes et l’API Canvas | [Déplacement des éléments](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Jeu spatial](./6-space-game/solution/README.md) | Détection de collision | Faites se percuter et réagir les éléments en utilisant les pressions de touches et fournissez une fonction de temps de recharge pour assurer les performances du jeu | [Détection de collision](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Jeu spatial](./6-space-game/solution/README.md) | Tenir le score | Effectuez des calculs mathématiques basés sur le statut et les performances du jeu | [Tenir le score](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Jeu spatial](./6-space-game/solution/README.md) | Terminer et relancer le jeu | Apprenez à terminer et relancer le jeu, y compris nettoyer les ressources et réinitialiser les variables | [La condition de fin](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [Application bancaire](./7-bank-project/solution/README.md) | Templates HTML et routes dans une application web | Apprenez à créer l’ossature de l’architecture d’un site multipage en utilisant le routage et les modèles HTML | [Templates HTML et routes](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [Application bancaire](./7-bank-project/solution/README.md) | Construire un formulaire de connexion et d’inscription | Apprenez à construire des formulaires et à gérer les routines de validation | [Formulaires](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [Application bancaire](./7-bank-project/solution/README.md) | Méthodes de récupération et d’utilisation des données | Comment les données entrent et sortent de votre application, comment les récupérer, les stocker et les éliminer | [Données](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [Application bancaire](./7-bank-project/solution/README.md) | Concepts de gestion d’état | Apprenez comment votre application conserve l’état et comment le gérer par programmation | [Gestion d’état](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Navigateur/Editeur VScode](../../8-code-editor) | Travailler avec VScode | Apprenez à utiliser un éditeur de code | [Utiliser l’éditeur de code VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [Assistants IA](./9-chat-project/README.md) | Travailler avec IA | Apprenez à créer votre propre assistant IA | [Projet assistant IA](./9-chat-project/README.md) | Chris | +| | Nom du Projet | Concepts Enseignés | Objectifs d’Apprentissage | Leçon Associée | Auteur | +| :-: | :--------------------------------------------------------: | :---------------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------: | :--------------------: | +| 01 | Premiers Pas | Introduction à la Programmation et Outils du Métier | Apprendre les bases communes à la plupart des langages de programmation et sur les logiciels qui aident les développeurs pros | [Introduction aux langages de programmation et aux outils](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Premiers Pas | Bases de GitHub, y compris le travail en équipe | Comment utiliser GitHub dans votre projet et collaborer avec d’autres sur une base de code | [Introduction à GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Premiers Pas | Accessibilité | Apprendre les bases de l’accessibilité web | [Fondamentaux de l’accessibilité](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | Bases JS | Types de données en JavaScript | Les bases des types de données en JavaScript | [Types de données](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | Bases JS | Fonctions et Méthodes | Apprendre les fonctions et méthodes pour gérer le flux logique d’une application | [Fonctions et Méthodes](./2-js-basics/2-functions-methods/README.md) | Jasmine et Christopher | +| 06 | Bases JS | Prise de décisions avec JS | Apprendre à créer des conditions dans votre code grâce aux méthodes de prise de décisions | [Prise de décisions](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | Bases JS | Tableaux et Boucles | Travailler avec les données en utilisant tableaux et boucles en JavaScript | [Tableaux et boucles](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML en Pratique | Construire le HTML pour créer un terrarium en ligne, en se concentrant sur la création d’une mise en page | [Introduction au HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS en Pratique | Construire le CSS pour styliser le terrarium en ligne, en se concentrant sur les bases du CSS y compris le rendu responsive | [Introduction au CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](./3-terrarium/solution/README.md) | Fermetures JavaScript, manipulation DOM | Écrire le JavaScript pour rendre le terrarium fonctionnel en tant qu’interface drag/drop, en se concentrant sur les closures et DOM | [Closures JS, manipulation DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Jeu de frappe](./4-typing-game/solution/README.md) | Construire un jeu de frappe | Apprendre à utiliser les événements clavier pour piloter la logique de votre application JavaScript | [Programmation événementielle](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Extension Navigateur Vert](./5-browser-extension/solution/README.md) | Travailler avec les navigateurs | Découvrir comment fonctionnent les navigateurs, leur histoire, et comment initier les premiers éléments d’une extension | [À propos des navigateurs](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Extension Navigateur Vert](./5-browser-extension/solution/README.md) | Construire un formulaire, appeler une API et stocker localement | Construire les éléments JavaScript de votre extension navigateur pour appeler une API en utilisant des variables en stockage local | [APIs, formulaires et stockage local](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Extension Navigateur Vert](./5-browser-extension/solution/README.md) | Processus en arrière-plan dans le navigateur, performance web | Utiliser les processus en arrière-plan du navigateur pour gérer l’icône de l’extension ; apprendre la performance web et optimisations | [Tâches en arrière-plan et performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Jeu Spatial](./6-space-game/solution/README.md) | Développement avancé de jeu avec JavaScript | Apprendre l’héritage utilisant classes et composition ainsi que le pattern Pub/Sub, en préparation au développement d’un jeu | [Introduction au développement avancé](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Jeu Spatial](./6-space-game/solution/README.md) | Dessiner sur Canvas | Découvrir l’API Canvas, utilisée pour dessiner des éléments sur écran | [Dessiner sur Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Jeu Spatial](./6-space-game/solution/README.md) | Déplacer des éléments à l’écran | Découvrir comment les éléments peuvent se déplacer avec les coordonnées cartésiennes et l’API Canvas | [Déplacer des éléments](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Jeu Spatial](./6-space-game/solution/README.md) | Détection de collisions | Faire entrer en collision les éléments et réagir grâce aux pressions de touches, avec une fonction de refroidissement pour la performance | [Détection de collisions](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Jeu Spatial](./6-space-game/solution/README.md) | Gestion du score | Effectuer des calculs mathématiques basés sur le statut et la performance du jeu | [Gestion du score](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Jeu Spatial](./6-space-game/solution/README.md) | Fin et redémarrage du jeu | Apprendre à terminer et redémarrer une partie, y compris le nettoyage des ressources et la réinitialisation des variables | [La condition de fin](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Application bancaire](./7-bank-project/solution/README.md) | Templates HTML et Routes dans une application web | Apprendre à créer l’ossature d’un site web multipages avec routage et templates HTML | [Templates HTML et Routes](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Application bancaire](./7-bank-project/solution/README.md) | Construire un formulaire de connexion et d'inscription | Apprendre la construction de formulaires et la gestion des validations | [Formulaires](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Application bancaire](./7-bank-project/solution/README.md) | Méthodes pour récupérer et utiliser les données | Comment les données entrent et sortent de votre application, comment les récupérer, stocker et gérer | [Données](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Application bancaire](./7-bank-project/solution/README.md) | Concepts de gestion d’état | Comprendre comment votre application conserve l’état et comment le gérer par programmation | [Gestion d’état](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Code Navigateur/VScode](../../8-code-editor) | Travailler avec VScode | Apprendre à utiliser un éditeur de code | [Utiliser l’éditeur de code VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [Assistants IA](./9-chat-project/README.md) | Travailler avec l’IA | Apprendre à créer votre propre assistant IA | [Projet Assistant IA](./9-chat-project/README.md) | Chris | ## 🏫 Pédagogie -Notre programme est conçu selon deux principes pédagogiques clés : -* apprentissage par projet +Notre programme est conçu autour de deux principes pédagogiques clés : +* apprentissage par projets * quiz fréquents -Le programme enseigne les fondamentaux de JavaScript, HTML et CSS, ainsi que les outils et techniques les plus récents utilisés par les développeurs web d’aujourd’hui. Les étudiants auront l’opportunité d’acquérir une expérience pratique en créant un jeu de frappe, un terrarium virtuel, une extension de navigateur écologique, un jeu de type space invader et une application bancaire pour entreprises. À la fin de la série, les étudiants auront acquis une solide compréhension du développement web. +Le programme enseigne les fondamentaux du JavaScript, HTML et CSS, ainsi que les outils et techniques les plus récents utilisés par les développeurs web d’aujourd’hui. Les étudiants auront l’opportunité de développer une expérience pratique en construisant un jeu de frappe, un terrarium virtuel, une extension de navigateur écologique, un jeu de type space-invader, et une application bancaire pour entreprises. À la fin de la série, les étudiants auront acquis une solide compréhension du développement web. -> 🎓 Vous pouvez suivre les premières leçons de ce cursus sous forme de [parcours d’apprentissage](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) sur Microsoft Learn ! +> 🎓 Vous pouvez suivre les premières leçons de ce programme en tant que [Parcours d’apprentissage](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) sur Microsoft Learn ! -En assurant que le contenu est aligné sur des projets, l’apprentissage devient plus engageant pour les étudiants et la rétention des concepts est améliorée. Nous avons également rédigé plusieurs leçons d’introduction aux bases de JavaScript pour présenter les concepts, associées à une vidéo de la collection de tutoriels vidéo "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", dont certains auteurs ont contribué à ce programme. +En alignant le contenu sur des projets, le processus est rendu plus attrayant pour les étudiants et la rétention des concepts est améliorée. Nous avons aussi créé plusieurs leçons de base en JavaScript pour introduire les concepts, associées à une vidéo de la collection de tutoriels vidéo "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", dont certains auteurs ont contribué à ce programme. -En outre, un quiz à faible enjeu avant un cours fixe l’intention de l’étudiant pour l’apprentissage d’un sujet, tandis qu'un second quiz après le cours assure une meilleure rétention. Ce programme a été conçu pour être flexible et amusant, il peut être suivi dans sa totalité ou en partie. Les projets commencent petits et deviennent de plus en plus complexes à la fin du cycle de 12 semaines. +De plus, un quiz à faible enjeu avant la classe prépare l’intention d’apprentissage de l’étudiant sur un sujet, tandis qu’un second quiz après la classe assure une meilleure rétention. Ce programme est conçu pour être flexible et ludique et peut être suivi en totalité ou en partie. Les projets commencent petits et deviennent de plus en plus complexes à la fin du cycle de 12 semaines. -Bien que nous ayons délibérément évité d’introduire des frameworks JavaScript pour nous concentrer sur les compétences de base nécessaires en tant que développeur web avant d’adopter un framework, une bonne prochaine étape après ce cursus serait d’apprendre Node.js via une autre collection de vidéos : "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +Bien que nous ayons délibérément évité d’introduire des frameworks JavaScript afin de nous concentrer sur les compétences de base nécessaires avant l’adoption d’un framework, une bonne étape suivante serait d’apprendre Node.js via une autre collection de vidéos : "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> Visitez nos [Règles de conduite](CODE_OF_CONDUCT.md) et [Contribuer](CONTRIBUTING.md). Nous accueillons vos retours constructifs ! +> Consultez nos directives [Code de conduite](CODE_OF_CONDUCT.md) et [Contribution](CONTRIBUTING.md). Nous accueillons vos retours constructifs ! ## 🧭 Accès hors ligne -Vous pouvez consulter cette documentation hors ligne en utilisant [Docsify](https://docsify.js.org/#/). Forkez ce dépôt, [installez Docsify](https://docsify.js.org/#/quickstart) sur votre machine locale, puis dans le dossier racine de ce dépôt, tapez `docsify serve`. Le site sera servi sur le port 3000 de votre localhost : `localhost:3000`. +Vous pouvez consulter cette documentation hors ligne en utilisant [Docsify](https://docsify.js.org/#/). Forkez ce dépôt, [installez Docsify](https://docsify.js.org/#/quickstart) sur votre machine locale, puis dans le dossier racine de ce dépôt, tapez `docsify serve`. Le site sera servi sur le port 3000 sur votre localhost : `localhost:3000`. ## 📘 PDF Un PDF de toutes les leçons est disponible [ici](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). @@ -215,7 +212,7 @@ Un PDF de toutes les leçons est disponible [ici](https://microsoft.github.io/We ## 🎒 Autres cours -Notre équipe produit d’autres cours ! Découvrez : +Notre équipe produit d'autres cours ! Découvrez : ### LangChain @@ -232,7 +229,7 @@ Notre équipe produit d’autres cours ! Découvrez : --- -### Série IA Générative +### Série IA générative [![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) [![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) [![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) @@ -240,14 +237,14 @@ Notre équipe produit d’autres cours ! Découvrez : --- -### Apprentissage Fondamental +### Apprentissage de base [![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) [![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) [![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) -[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) -[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) -[![IoT for Beginners](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) -[![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Cybersécurité pour les débutants](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) +[![Développement Web pour les débutants](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) +[![IoT pour les débutants](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) +[![Développement XR pour les débutants](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) --- @@ -257,23 +254,23 @@ Notre équipe produit d’autres cours ! Découvrez : [![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) -## Obtenir de l’aide +## Obtenir de l'aide -Si vous êtes bloqué ou si vous avez des questions sur la création d’applications IA. Rejoignez d’autres apprenants et des développeurs expérimentés dans des discussions sur MCP. C’est une communauté solidaire où les questions sont les bienvenues et où les connaissances sont librement partagées. +Si vous êtes bloqué ou avez des questions sur la création d'applications d'IA, rejoignez d'autres apprenants et développeurs expérimentés dans les discussions sur MCP. C'est une communauté de soutien où les questions sont les bienvenues et où les connaissances sont librement partagées. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Si vous avez des retours sur le produit ou rencontrez des erreurs lors de la création, visitez : +Si vous avez des retours produit ou des erreurs lors du développement, rendez-vous sur : [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) ## Licence -Ce dépôt est sous licence MIT. Consultez le fichier [LICENSE](../../LICENSE) pour plus d’informations. +Ce dépôt est sous licence MIT. Consultez le fichier [LICENSE](../../LICENSE) pour plus d'informations. --- **Avertissement** : -Ce document a été traduit à l’aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforçons d’assurer l’exactitude, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d’origine doit être considéré comme la source faisant foi. Pour les informations critiques, une traduction professionnelle réalisée par un humain est recommandée. Nous déclinons toute responsabilité en cas de malentendus ou d’interprétations erronées résultant de l’utilisation de cette traduction. +Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant foi. Pour des informations cruciales, une traduction professionnelle humaine est recommandée. Nous ne sommes pas responsables des malentendus ou des interprétations erronées résultant de l'utilisation de cette traduction. \ No newline at end of file diff --git a/translations/he/.co-op-translator.json b/translations/he/.co-op-translator.json index 85356a8c99..b14621c453 100644 --- a/translations/he/.co-op-translator.json +++ b/translations/he/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T21:27:49+00:00", + "translation_date": "2026-04-06T17:25:14+00:00", "source_file": "AGENTS.md", "language_code": "he" }, @@ -516,8 +516,8 @@ "language_code": "he" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T13:40:37+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T17:21:28+00:00", "source_file": "README.md", "language_code": "he" }, diff --git a/translations/he/AGENTS.md b/translations/he/AGENTS.md index bbd53cda30..ae8e59c313 100644 --- a/translations/he/AGENTS.md +++ b/translations/he/AGENTS.md @@ -2,23 +2,23 @@ ## סקירת הפרויקט -זהו מאגר תוכן חינוכי ללימוד יסודות פיתוח ווב למתחילים. הקורס הינו קורס מקיף בן 12 שבועות שפותח על ידי Microsoft Cloud Advocates, וכולל 24 שיעורים מעשיים המכסים JavaScript, CSS ו-HTML. +זהו מאגר תוכן חינוכי ללימוד יסודות הפיתוח לאינטרנט למתחילים. התכנית היא קורס מקיף בן 12 שבועות שפותח על ידי Microsoft Cloud Advocates, ומכיל 24 שיעורים מעשיים בנושא JavaScript, CSS ו-HTML. ### רכיבים מרכזיים -- **תוכן חינוכי**: 24 שיעורים מובנים המאורגנים במודולים מבוססי פרויקטים -- **פרויקטים מעשיים**: Terrarium, משחק הקלדה, תוסף לדפדפן, משחק חלל, אפליקציית בנקאות, עורך קוד ועוזר צ'אט מבוסס AI -- **חידונים אינטראקטיביים**: 48 חידונים עם 3 שאלות בכל אחד (הערכות לפני/אחרי השיעור) -- **תמיכה בריבוי שפות**: תרגומים אוטומטיים ל-50+ שפות באמצעות GitHub Actions -- **טכנולוגיות**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (לפרויקטים מבוססי AI) +- **תוכן חינוכי**: 24 שיעורים מסודרים המאורגנים במודולים מבוססי פרויקטים +- **פרויקטים מעשיים**: Terrarium, משחק הקלדה, תוסף דפדפן, משחק חלל, אפליקציית בנקאות, עורך קוד ועוזר צ'אט מבוסס AI +- **חידונים אינטראקטיביים**: 48 חידונים עם 3 שאלות כל אחד (הערכות לפני/אחרי השיעור) +- **תמיכה רב-שפתית**: תרגומים אוטומטיים ל-50+ שפות באמצעות GitHub Actions +- **טכנולוגיות**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (לפרויקטי AI) ### ארכיטקטורה - מאגר חינוכי עם מבנה מבוסס שיעורים -- כל תיקיית שיעור מכילה README, דוגמאות קוד ופתרונות -- פרויקטים עצמאיים בתיקיות נפרדות (quiz-app, פרויקטים שונים של שיעורים) +- בכל תיקיית שיעור יש README, דוגמאות קוד ופתרונות +- פרויקטים עצמאיים בתיקיות נפרדות (quiz-app, פרויקטי שיעורים שונים) - מערכת תרגום באמצעות GitHub Actions (co-op-translator) -- תיעוד המוגש דרך Docsify וזמין גם כ-PDF +- תיעוד מוגש באמצעות Docsify וזמין גם בקובץ PDF ## פקודות התקנה @@ -30,137 +30,136 @@ git clone https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners ``` - -### התקנת אפליקציית החידונים (Vue 3 + Vite) + +### התקנת אפליקציית חידונים (Vue 3 + Vite) ```bash cd quiz-app npm install npm run dev # הפעל שרת פיתוח -npm run build # בנייה לייצור +npm run build # בנייה לסביבה יצרנית npm run lint # הרץ ESLint ``` - -### API לפרויקט בנק (Node.js + Express) + +### API לפרויקט הבנק (Node.js + Express) ```bash cd 7-bank-project/api npm install npm start # הפעל שרת API -npm run lint # הרץ ESLint +npm run lint # הפעל ESLint npm run format # עיצוב עם Prettier ``` - + ### פרויקטים של תוספי דפדפן ```bash cd 5-browser-extension/solution npm install -# עקוב אחר הוראות טעינת התוסף הספציפיות לדפדפן +# עקוב אחר הוראות טעינת התוספים הספציפיות לדפדפן ``` - -### פרויקטים של משחק חלל + +### פרויקטים של משחקי חלל ```bash cd 6-space-game/solution npm install # פתח את index.html בדפדפן או השתמש ב-Live Server ``` - -### פרויקט צ'אט (Backend בפייתון) + +### פרויקט צ'אט (Backend ב-Python) ```bash cd 9-chat-project/solution/backend/python pip install openai -# הגדר משתנה סביבה GITHUB_TOKEN +# הגדר את משתנה הסביבה GITHUB_TOKEN python api.py ``` + +## זרימת פיתוח +### לתורמים לתוכן -## זרימת עבודה לפיתוח - -### לתורמי תוכן - -1. **פעל למזלג את המאגר** לחשבון ה-GitHub שלך -2. **שכפל את המזלג** באופן מקומי -3. **צור ענף חדש** לשינויים שלך +1. **בצע fork של המאגר** לחשבון ה-GitHub שלך +2. **שכפל את ה-fork** באופן מקומי +3. **צור סניף חדש** עבור השינויים שלך 4. בצע שינויים בתוכן השיעור או בדוגמאות הקוד -5. בדוק שינויים בקוד בתיקיות הפרויקטים הרלוונטיות -6. שלח בקשות משיכה לפי הנחיות התרומה +5. בדוק שינויים בקוד בתיקיות הפרויקטים הרלוונטיים +6. הגש בקשות משיכה על פי הנחיות התרומה ### ללומדים -1. מזלג או שכפל את המאגר -2. עבור לתיקיות השיעורים ברצף -3. קרא קבצי README בכל שיעור -4. השלם חידונים לפני השיעור בכתובת https://ff-quizzes.netlify.app/web/ -5. עבוד על דוגמאות הקוד בתיקיות השיעור +1. בצע fork או שכפל את המאגר +2. נווט בתיקיות השיעורים לפי סדר +3. קרא את קבצי README של כל שיעור +4. מלא את חידוני טרום-שיעור בכתובת https://ff-quizzes.netlify.app/web/ +5. עבוד עם דוגמאות הקוד בתיקיות השיעור 6. השלם מטלות ואתגרים -7. השתתף בחידונים לאחר השיעור +7. ענה על חידוני לאחר השיעור -### פיתוח בשידור חי +### פיתוח חי -- **תיעוד**: הרץ `docsify serve` בתיקיית השורש (פורט 3000) -- **אפליקציית חידונים**: הרץ `npm run dev` בתיקיית quiz-app -- **פרויקטים**: השתמש בתוסף Live Server של VS Code לפרויקטי HTML -- **פרויקטים מבוססי API**: הרץ `npm start` בתיקיות ה-API המתאימות +- **תיעוד**: הפעל `docsify serve` בתיקיית השורש (פורט 3000) +- **אפליקציית חידונים**: הפעל `npm run dev` בתיקיית quiz-app +- **פרויקטים**: השתמש בתוסף VS Code Live Server לפרויקטי HTML +- **פרויקטי API**: הפעל `npm start` בתיקיות ה-API המתאימות -## הוראות בדיקה +## הנחיות לבדיקות -### בדיקת אפליקציית החידונים +### בדיקות אפליקציית חידונים ```bash cd quiz-app -npm run lint # בדוק בעיות בסגנון הקוד +npm run lint # בדוק בעיות סגנון קוד npm run build # אמת שהבנייה מצליחה ``` - -### בדיקת API של הבנק + +### בדיקות API בנק ```bash cd 7-bank-project/api npm run lint # בדוק בעיות בסגנון הקוד -node server.js # אמת את התחלת השרת ללא שגיאות +node server.js # אמת שהשרת מתחיל ללא שגיאות ``` + +### גישת בדיקות כללית -### גישה כללית לבדיקות - -- זהו מאגר חינוכי ללא בדיקות אוטומטיות רחבות היקף +- זהו מאגר חינוכי ללא בדיקות אוטומטיות מקיפות - בדיקות ידניות מתמקדות ב: - הרצת דוגמאות קוד ללא שגיאות - - קישורים בתיעוד תקינים - - בניית הפרויקט מצליחה - - דוגמאות מממשות נהלים מיטביים + - קישורים בתיעוד עובדים כראוי + - בניית פרויקטים בהצלחה + - סילוק דוגמאות ע"פ שיטות עבודה מומלצות ### בדיקות לפני שליחה -- הרץ `npm run lint` בתיקיות עם package.json -- ודא שכל הקישורים במרקדאון תקינים +- הפעל `npm run lint` בתיקיות עם package.json +- אמת את תקינות הקישורים במרקדאון - בדוק דוגמאות קוד בדפדפן או ב-Node.js -- ודא שהתרגומים שומרים על מבנה תקין +- וודא שהתרגומים שומרים על המבנה הנכון -## הנחיות סגנון קוד +## קווי הנחיה לסגנון קוד ### JavaScript -- השתמש בסינטקס מודרני ES6+ -- פעל לפי קונפיגורציות ESLint סטנדרטיות בפרויקטים -- השתמש בשמות משתנים ופונקציות משמעותיים להבהרת התוכן החינוכי -- הוסף הערות שמסבירות מושגים ללומדים -- עיצוב קוד באמצעות Prettier כאשר מוגדר +- השתמש בתחביר מודרני ES6+ +- פעל לפי הגדרות ESLint הסטנדרטיות בפרויקטים +- השתמש בשמות משתנים ופונקציות בעלי משמעות ברורה עבור לימוד +- הוסף הערות המסבירות מושגים ללומדים +- עיצוב הקוד באמצעות Prettier במקומות שהוגדרו ### HTML/CSS -- אלמנטים סמנטיים ב-HTML5 +- אלמנטים סמנטיים של HTML5 - עקרונות עיצוב רספונסיבי -- שמות מחלקות ברורים לפי קונבנציות -- הערות שמסבירות טכניקות CSS ללומדים +- קונבנציות שמות ברורות למחלקות +- הערות המסבירות טכניקות CSS ללומדים ### Python - הנחיות סגנון PEP 8 - דוגמאות קוד ברורות וחינוכיות -- רמיזות טיפוס (type hints) היכן שמועיל ללמידה +- רמזי טיפוס (type hints) במידת הצורך ללמידה ### תיעוד Markdown @@ -168,96 +167,96 @@ node server.js # אמת את התחלת השרת ללא שגיאות - בלוקים עם ציון שפת הקוד - קישורים למשאבים נוספים - צילומי מסך ותמונות בתיקיות `images/` -- טקסט חלופי לתמונות לנגישות +- טקסט אלטרנטיבי לתמונות לנגישות ### ארגון קבצים - שיעורים ממוספרים ברצף (1-getting-started-lessons, 2-js-basics וכו') -- לכל פרויקט תיקיית `solution/` ולרוב גם `start/` או `your-work/` -- תמונות נשמרות בתיקיות ספציפיות לשיעור `images/` -- תרגומים במבנה `translations/{language-code}/` +- לכל פרויקט תיקיית `solution/` ולעיתים גם `start/` או `your-work/` +- תמונות מאוחסנות בתיקיות `images/` ייעודיות לשיעור +- תרגומים בתיקיות `translations/{language-code}/` ## בנייה ופריסה -### פריסת אפליקציית החידונים (Azure Static Web Apps) +### פריסת אפליקציית חידונים (Azure Static Web Apps) -האפליקציה quiz-app מוגדרת לפריסה ב-Azure Static Web Apps: +האפליקציה מוגדרת לפריסת Azure Static Web Apps: ```bash cd quiz-app -npm run build # יוצר תיקייה dist/ -# מפרסם דרך תהליך עבודה של GitHub Actions כאשר דוחפים ל-main +npm run build # יוצרת תיקיה dist/ +# מפרסמת דרך תהליך GitHub Actions בלחיצה על main ``` - -הגדרות Azure Static Web Apps: + +ההגדרות לפריסת Azure Static Web Apps: - **מיקום האפליקציה**: `/quiz-app` - **מיקום הפלט**: `dist` - **זרימת עבודה**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` -### יצירת PDF תיעוד +### יצירת PDF של התיעוד ```bash npm install # התקן docsify-to-pdf -npm run convert # צור PDF מ־docs +npm run convert # יצירת PDF מ-docs ``` - + ### תיעוד Docsify ```bash -npm install -g docsify-cli # התקן את Docsify באופן גלובלי -docsify serve # שירות בכתובת localhost:3000 +npm install -g docsify-cli # התקן את Docsify בצורה גלובלית +docsify serve # הפעל על localhost:3000 ``` + +### תהליכי בנייה ספציפיים לפרויקטים -### תהליכי בנייה ספציפיים לפרויקט - -לכל תיקיית פרויקט עשוי להיות תהליך בנייה משלו: -- פרויקטים ב-Vue: `npm run build` ליצירת חבילות הפקה -- פרויקטים סטטיים: ללא בנייה, מגישים קבצים ישירות +לכל פרויקט יכול להיות תהליך בנייה משלו: +- פרויקטי Vue: `npm run build` ליצירת חבילות הפצה +- פרויקטים סטטיים: אין שלב בנייה, שרת קבצים ישירות -## הנחיות לבקשות משיכה +## הנחיות להגשת בקשות משיכה ### פורמט הכותרת -השתמש בכותרות ברורות ותיאוריות המצביעות על תחום השינוי: +השתמש בכותרות ברורות ומתארות את תחום השינוי: - `[Quiz-app] הוסף חידון חדש לשיעור X` -- `[Lesson-3] תקן שגיאת כתיב בפרויקט terrarium` -- `[Translation] הוסף תרגום ספרדי לשיעור 5` +- `[Lesson-3] תקן טעות בפרויקט terrarium` +- `[Translation] הוסף תרגום לספרדית לשיעור 5` - `[Docs] עדכן הוראות התקנה` -### בדיקות נדרשות +### בדיקות דרושות -לפני שליחת בקשה: +לפני הגשת PR: 1. **איכות קוד**: - - הרץ `npm run lint` בתיקיות הפרויקט הרלוונטיות - - תקן את כל שגיאות האיתור + - הפעל `npm run lint` בתיקיות הפרויקט הרלוונטיות + - תקן את כל שגיאות ואזהרות הלינטר -2. **אימות בניה**: - - הרץ `npm run build` אם נדרש - - ודא שאין שגיאות בניה +2. **אימות בנייה**: + - הפעל `npm run build` אם רלוונטי + - וודא שאין שגיאות בנייה -3. **בדיקת קישורים**: +3. **תיקוף קישורים**: - בדוק את כל הקישורים במרקדאון - - וודא הפניות לתמונות תקינות + - אמת הפניות לתמונות 4. **סקירת תוכן**: - - הגהה לאיות ודקדוק - - ודא שהדוגמאות נכונות וחינוכיות - - בדוק שתרגומים שומרים על המשמעות המקורית + - בדוק איות ודקדוק + - ודא שהדוגמאות בקוד נכונות ומלמדות + - אמת שהתרגומים שומרים על המשמעות המקורית ### דרישות לתרומה -- הסכמה ל-Microsoft CLA (בדיקה אוטומטית בבקשה הראשונה) -- פעול לפי [קוד ההתנהגות של מיקרוסופט בקוד פתוח](https://opensource.microsoft.com/codeofconduct/) -- ראה [CONTRIBUTING.md](./CONTRIBUTING.md) להנחיות מפורטות -- הפנייה למספרי נושאים בתיאור הבקשה אם רלוונטי +- הסכמה על Microsoft CLA (בדיקה אוטומטית בבקשה הראשונה) +- פועלים לפי [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) +- ראו [CONTRIBUTING.md](./CONTRIBUTING.md) להנחיות מפורטות +- ציין מספרי נושאים בתיאור הבקשה אם רלוונטי -### תהליך סקירה +### תהליך סיקור -- בקשות משיכה נבדקות על ידי מנהלי המאגר והקהילה -- מועדפת בהירות חינוכית -- דוגמאות קוד יש לעקוב אחרי שיטות עבודה מומלצות עדכניות -- תרגומים נבדקים לדיוק ולקליטת תרבותית +- בקשות משיכה נסקרות על ידי מנחים והקהילה +- עדיפות לבריאות חינוכית +- יש לעקוב אחרי שיטות עבודה מומלצות בדוגמאות קוד +- התרגומים נסקרים לדיוק ולהתאמה תרבותית ## מערכת תרגום @@ -265,19 +264,19 @@ docsify serve # שירות בכתובת localhost:3000 - משתמש ב-GitHub Actions עם זרימת עבודה co-op-translator - מתרגם ל-50+ שפות באופן אוטומטי -- קבצי המקור בתיקיות הראשיות -- קבצים מתורגמים ב-`translations/{language-code}/` +- קבצי מקור בתיקיות הראשיות +- קבצים מתורגמים בתיקיות `translations/{language-code}/` ### הוספת שיפורים ידניים לתרגום -1. אתר קובץ ב-`translations/{language-code}/` +1. אתר את הקובץ בתיקיית `translations/{language-code}/` 2. בצע שיפורים תוך שמירה על המבנה -3. ודא שדוגמאות קוד ממשיכות לפעול -4. בדוק כל תוכן חידון ממוקם +3. ודא שדוגמאות הקוד נשארות תקינות +4. בדוק כל תוכן חידון מקומי -### מטאנתוני תרגום +### מטא-נתוני תרגום -לקבצים מתורגמים יש כותרת מטאנתונים: +קבצים מתורגמים כוללים כותרת מטא-נתונים: ```markdown ``` - - -## איתור תקלות ופתרון בעיות + +## איתור שגיאות ופתרון בעיות ### בעיות נפוצות -**אפליקציית החידונים לא מתחילה**: +**האפליקציית חידונים נכשלת בהפעלה**: - בדוק גרסת Node.js (מומלץ v14+) -- מחק את `node_modules` ו-`package-lock.json` והרץ `npm install` מחדש -- בדוק התנגשויות פורטים (ברירת מחדל: Vite משתמש בפורט 5173) +- מחק `node_modules` ו-`package-lock.json` והפעל `npm install` מחדש +- בדוק סתירות פורטים (ברירת מחדל: Vite משתמש בפורט 5173) **שרת ה-API לא מתחיל**: -- וודא שגרסת Node.js עומדת בדרישה (node >=10) -- בדוק אם הפורט בשימוש כבר +- אמת שגרסת Node.js מתאימה (node >=10) +- בדוק אם הפורט כבר בשימוש - ודא שכל התלויות מותקנות עם `npm install` **תוסף הדפדפן לא נטען**: -- בדוק ש-manifest.json מעוצב כראוי -- בדוק קונסול הדפדפן לשגיאות -- עקוב אחר הוראות ההתקנה הספציפיות לדפדפן +- אמת ש-manifest.json מעוצב כראוי +- בדוק קונסול דפדפן לשגיאות +- פעל לפי הוראות התקנת תוסף ספציפיות לדפדפן -**בעיות בפרויקט הצ'אט בפייתון**: -- וודא שהתקנת את חבילת OpenAI: `pip install openai` -- ודא משתנה הסביבה GITHUB_TOKEN מוגדר -- בדוק הרשאות גישה למודלים ב-GitHub +**בעיות בפרויקט צ'אט ב-Python**: +- ודא שמותקן חבילת OpenAI: `pip install openai` +- אמת ש-GITHUB_TOKEN מוגדר בסביבה +- בדוק הרשאות גישה ל-GitHub Models -**Docsify לא מציג תיעוד**: -- התקן docsify-cli גלובלית: `npm install -g docsify-cli` -- הרץ מתיקיית השורש של המאגר -- וודא שקובץ `docs/_sidebar.md` קיים +**Docsify לא מגיש את התיעוד**: +- התקן docsify-cli גלובלי: `npm install -g docsify-cli` +- הפעל מתיקיית השורש של המאגר +- בדוק שקיים `docs/_sidebar.md` ### טיפים לסביבת פיתוח -- השתמש ב-VS Code עם תוסף Live Server לפרויקטים ב-HTML -- התקן את ההרחבות ESLint ו-Prettier לעיצוב אחיד -- השתמש בכלי הפיתוח בדפדפן לפירוק שגיאות JavaScript -- לפרויקטים ב-Vue, התקן את תוסף Vue DevTools בדפדפן +- השתמש ב-VS Code עם תוסף Live Server לפרויקטים HTML +- התקן את תוספי ESLint ו-Prettier לעיצוב עקבי +- השתמש בכלי הפיתוח של הדפדפן לדיבוג JavaScript +- לפרויקטי Vue, התקן תוסף Vue DevTools לדפדפן ### שיקולי ביצועים -- מספר גדול של קבצים מתורגמים (50+ שפות) גורם לשכפולים מלאים גדולים -- השתמש בשכפול רדוד אם עובדים רק על תוכן: `git clone --depth 1` -- אל תכלול תרגומים בחיפושים כשעובדים על תוכן באנגלית -- תהליכי בנייה עשויים להיות איטיים בהרצה ראשונה (npm install, בניית Vite) +- מספר רב של קבצים מתורגמים (50+ שפות) גורם לשכפולים גדולים +- השתמש בשכפול רדוד אם עובד רק עם התוכן: `git clone --depth 1` +- הוצא תרגומים מחיפושים בעת עבודה על תוכן באנגלית +- תהליכי בנייה עשויים להיות איטיים בהרצה ראשונה (npm install, Vite build) ## שיקולי אבטחה ### משתני סביבה - אסור להכניס מפתחות API למאגר -- השתמש בקבצי `.env` (כבר ב-.gitignore) -- תעד את משתני הסביבה הנדרשים ב-READMEs של הפרויקטים +- השתמש בקבצי `.env` (כבר ב-`.gitignore`) +- תעד משתני סביבה נדרשים בקבצי README של הפרויקטים -### פרויקטי Python +### פרויקטים ב-Python - השתמש בסביבות וירטואליות: `python -m venv venv` -- שמור על עדכון תלויות -- טוקנים של GitHub צריכים הרשאות מינימליות נדרשות +- שמור על עדכון תלותים +- טוקנים ל-GitHub צריכים להיות בעלי הרשאות מינימליות -### גישת מודלים ב-GitHub +### גישה ל-GitHub Models -- נדרשים Personal Access Tokens (PAT) עבור מודלים של GitHub +- דרושים Personal Access Tokens (PAT) ל-GitHub Models - יש לאחסן טוקנים במשתני סביבה -- לעולם אל תכלול טוקנים או אישורים במאגר +- אף פעם לא להכניס טוקנים או אישורים למאגר ## הערות נוספות ### קהל יעד -- מתחילים מוחלטים בפיתוח ווב -- סטודנטים ולומדי עצמאות -- מורים המשתמשים בתכנית בכיתות -- התוכן מעוצב לנגישות ולבניית מיומנויות הדרגתית +- מתחילים מלאים בפיתוח אינטרנט +- תלמידים ולומדים עצמאיים +- מורים שמשתמשים בתכנית בכיתות +- התוכן מותאם לנגישות ולהתפתחות מיומנויות הדרגתית -### הפילוסופיה החינוכית +### פילוסופיית הלימוד -- גישת למידה מבוססת פרויקטים +- גישה מבוססת פרויקטים - בדיקות ידע תכופות (חידונים) - תרגילי קידוד מעשיים -- דוגמאות יישום מהמציאות -- דגש על יסודות לפני מסגרות +- דוגמאות ליישומים בעולם האמיתי +- התמקדות ביסודות לפני מסגרות עבודה ### תחזוקת המאגר -- קהילת לומדים ותורמים פעילה -- עדכונים שוטפים לתלויות ולתוכן -- ניהול סוגיות ושיחות על ידי מנהלים +- קהילה פעילה של לומדים ותורמים +- עדכונים סדירים לתלויות ותוכן +- ניהול נושאים ודיונים על ידי מנהלים - עדכוני תרגום אוטומטיים באמצעות GitHub Actions ### משאבים קשורים -- [מודולים ב-Microsoft Learn](https://docs.microsoft.com/learn/) -- [משאבים ב-Student Hub](https://docs.microsoft.com/learn/student-hub/) +- [Microsoft Learn modules](https://docs.microsoft.com/learn/) +- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/) - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) מומלץ ללומדים -- קורסים נוספים: AI גנרטיבי, Data Science, ML, IoT זמינים +- קורסים נוספים: AI גנרטיבי, מדעי נתונים, למידת מכונה, IoT ### עבודה עם פרויקטים ספציפיים -להוראות מפורטות על פרויקטים בודדים, עיין בקבצי README ב: +להוראות מפורטות לפרויקטים בודדים, עיין בקבצי README ב: - `quiz-app/README.md` - אפליקציית חידונים ב-Vue 3 - `7-bank-project/README.md` - אפליקציית בנקאות עם אימות - `5-browser-extension/README.md` - פיתוח תוסף דפדפן -- `6-space-game/README.md` - פיתוח משחק בקנבס +- `6-space-game/README.md` - פיתוח משחק מבוסס Canvas - `9-chat-project/README.md` - פרויקט עוזר צ'אט מבוסס AI ### מבנה מונורפו -למרות שאינו מונורפו קלאסי, מאגר זה כולל מספר פרויקטים עצמאיים: -- כל שיעור עצמאי בפני עצמו -- פרויקטים אינם חולקים תלויות -- עבודות על פרויקטים בודדים ללא השפעה על אחרים -- שכפל את כל המאגר לחוויית קורס מלאה +אף שזו לא מונורפו קלאסית, המאגר מכיל מספר פרויקטים עצמאיים: +- כל שיעור הוא עצמאי +- אין שיתוף תלותים בין פרויקטים +- העבודה על פרויקטים בודדים ללא השפעה על האחרים +- שכפל את כל המאגר לחוויית הלימוד המלאה --- **כתב ויתור**: -מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית [Co-op Translator](https://github.com/Azure/co-op-translator). בעוד שאנו שואפים לדיוק, יש להיות מודעים לכך שתרגומים אוטומטיים עלולים להכיל שגיאות או אי-דיוקים. יש להסתמך על המסמך המקורי בשפת המקור כמקור הסמכות. למידע קריטי מומלץ לבצע תרגום מקצועי על ידי אדם. אנו לא נישא באחריות לכל אי-הבנה או פרשנות לא נכונה הנובעת משימוש בתרגום זה. +מסמך זה תורגם באמצעות שירות התרגום בינה מלאכותית [Co-op Translator](https://github.com/Azure/co-op-translator). למרות שאנו שואפים לדיוק, יש לשים לב כי תרגומים ממוחשבים עלולים להכיל טעויות או אי-דיוקים. יש להתייחס למסמך המקורי בשפתו המקורית כמקור הסמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי מתרגם אנושי. אנו לא אחראיים לכל אי-הבנה או פרשנות שגויה הנובעות מהשימוש בתרגום זה. \ No newline at end of file diff --git a/translations/he/README.md b/translations/he/README.md index 732fd2df50..ff12eacdd1 100644 --- a/translations/he/README.md +++ b/translations/he/README.md @@ -1,38 +1,38 @@ -[![GitHub license](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE) -[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/) -[![GitHub issues](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/) -[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/) -[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) +[![רישיון GitHub](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE) +[![תורמי GitHub](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/) +[![בעיות GitHub](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/) +[![בקשות משיכה GitHub](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/) +[![ברוכים הבאים ל-PRs](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) -[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/) -[![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/) -[![GitHub stars](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/) +[![צופים ב-GitHub](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/) +[![Forks ב-GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/) +[![כוכבים ב-GitHub](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/) [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -# פיתוח אתרים למתחילים - תוכנית לימודים +# פיתוח אתרים למתחילים - תכנית לימודים -למדו את יסודות פיתוח האינטרנט עם הקורס המקיף שלנו של 12 שבועות שנבנה על ידי מומחי Microsoft Cloud. כל אחד מ-24 השיעורים מתעמק ב-JavaScript, CSS ו-HTML דרך פרויקטים מעשיים כמו טרריום, תוספי דפדפן ומשחקי חלל. השתתפו בחידונים, דיונים ופעילויות מעשיות. שפרו את היכולות שלכם ואופטמו את חווית הלמידה עם שיטת הלימוד המבוססת פרויקטים שלנו. התחילו את מסע התכנות שלכם היום! +למדו את יסודות פיתוח האינטרנט עם הקורס המקיף שלנו בן 12 השבועות על ידי Microsoft Cloud Advocates. כל אחת מ-24 השיעורים מתעמקת ב-JavaScript, CSS ו-HTML דרך פרויקטים מעשיים כמו טרטריומים, תוספות לדפדפן, ומשחקי חלל. התנסו עם חידונים, דיונים ומשימות מעשיות. שפרו את הכישורים שלכם ואופטימיזו את השימור של הידע עם הפדגוגיה היעילה שלנו המבוססת על פרויקטים. התחילו את מסע הקידוד שלכם היום! הצטרפו לקהילת Azure AI Foundry ב-Discord [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -עקבו אחרי השלבים הבאים כדי להתחיל להשתמש במשאבים אלו: -1. **פיצול המאגר**: לחצו [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) -2. **שיבוט המאגר**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**הצטרפו ל-Azure AI Foundry בדיסקורד ובלו עם מומחים ומפתחים אחרים**](https://discord.com/invite/ByRwuEEgH4) +עקבו אחר השלבים הבאים כדי להתחיל להשתמש במשאבים אלו: +1. **פיצול הריפוזיטורי**: לחצו כאן [![Forks ב-GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +2. **שכפול הריפוזיטורי**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +3. [**הצטרפו ל-Azure AI Foundry Discord ופגשו מומחים ומפתחים נוספים**](https://discord.com/invite/ByRwuEEgH4) -### 🌐 תמיכה בריבוי שפות +### 🌐 תמיכה רב-שפתית -#### נתמך באמצעות GitHub Action (אוטומטי ותמיד מעודכן) +#### נתמך בעזרת פעולה של GitHub (אוטומטי ותמיד מעודכן) -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](./README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) +[ערבית](../ar/README.md) | [בנגלית](../bn/README.md) | [בולגרית](../bg/README.md) | [בורמזית (מיאנמר)](../my/README.md) | [סינית (מפושטת)](../zh-CN/README.md) | [סינית (מסורתית, הונג קונג)](../zh-HK/README.md) | [סינית (מסורתית, מקאו)](../zh-MO/README.md) | [סינית (מסורתית, טייוואן)](../zh-TW/README.md) | [קרואטית](../hr/README.md) | [צ'כית](../cs/README.md) | [דנית](../da/README.md) | [הולנדית](../nl/README.md) | [אסטונית](../et/README.md) | [פינית](../fi/README.md) | [צרפתית](../fr/README.md) | [גרמנית](../de/README.md) | [יוונית](../el/README.md) | [עברית](./README.md) | [הינדי](../hi/README.md) | [הונגרית](../hu/README.md) | [אינדונזית](../id/README.md) | [איטלקית](../it/README.md) | [יפנית](../ja/README.md) | [קנדה](../kn/README.md) | [חמרית](../km/README.md) | [קוריאנית](../ko/README.md) | [ליטאית](../lt/README.md) | [מלאית](../ms/README.md) | [מאלאיאלאם](../ml/README.md) | [מרטהית](../mr/README.md) | [נפאלית](../ne/README.md) | [ניגרית פידגין](../pcm/README.md) | [נורווגית](../no/README.md) | [פרסית (פארסית)](../fa/README.md) | [פולנית](../pl/README.md) | [פורטוגזית (ברזיל)](../pt-BR/README.md) | [פורטוגזית (פורטוגל)](../pt-PT/README.md) | [פונג'בית (ג׳רמוקי)](../pa/README.md) | [רומנית](../ro/README.md) | [רוסית](../ru/README.md) | [סרבית (קירילית)](../sr/README.md) | [סלובקית](../sk/README.md) | [סלובנית](../sl/README.md) | [ספרדית](../es/README.md) | [סוואהילית](../sw/README.md) | [שבדית](../sv/README.md) | [טגלוג (פיליפינית)](../tl/README.md) | [טמילית](../ta/README.md) | [טלוגו](../te/README.md) | [תאית](../th/README.md) | [טורקית](../tr/README.md) | [אוקראינית](../uk/README.md) | [אורדו](../ur/README.md) | [וייטנאמית](../vi/README.md) > **מעדיפים לשכפל מקומית?** > -> מאגר זה כולל מעל 50 תרגומים שונים שמגדילים משמעותית את גודל ההורדה. כדי לשכפל בלי תרגומים, השתמשו ב-sparse checkout: +> מאגר זה כולל למעלה מ-50 שפות תרגום, מה שמגדיל משמעותית את גודל ההורדה. לשכפול ללא תרגומים, השתמשו ב-sparse checkout: > > **Bash / macOS / Linux:** > ```bash @@ -48,42 +48,41 @@ > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> זה נותן לכם את כל מה שצריך בכדי להשלים את הקורס במהירות הורדה גבוהה יותר. +> זה נותן לכם את כל מה שנדרש כדי להשלים את הקורס עם הורדה מהירה הרבה יותר. -**אם תרצו לתמוך בשפות תרגום נוספות, הן רשומות [כאן](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**אם אתם מעוניינים בתמיכה בשפות תרגום נוספות, הן רשומות [כאן](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** -[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) +[![פתחו ב-Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) #### 🧑‍🎓 _האם אתה תלמיד?_ -בקר ב[**דף מרכז התלמיד**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) בו תמצאו משאבי מתחילים, חבילת תלמידים ואפילו דרכים לקבל שובר הסמכה חינמי. זהו הדף שכדאי לשמור כסימנייה ולבדוק מעת לעת כאשר אנו מחליפים תוכן מדי חודש. +בקרו ב-[**דף מרכז התלמיד**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) שם תמצאו משאבים למתחילים, חבילות לסטודנטים ועוד דרכים לקבל שובר לתעודה חינמית. זה הדף שכדאי לכם לסמן בבקבוק ולעיין בו מדי פעם כשאנו מחליפים תוכן מדי חודש. -### 📣 הכרזה - אתגרי מצב סוכן חדש ל-GitHub Copilot להשלים! +### 📣 הכרזה - אתגרי מצב GitHub Copilot Agent חדשים להשלים! -אתגר חדש נוסף, חפשו "GitHub Copilot Agent Challenge 🚀" ברוב הפרקים. זהו אתגר חדש עבורכם להשלים בעזרת GitHub Copilot ומצב סוכן. אם לא השתמשתם במצב סוכן קודם, הוא מסוגל לא רק ליצור טקסט אלא גם ליצור ולערוך קבצים, להפעיל פקודות ועוד. +אתגר חדש נוסף, חפשו "GitHub Copilot Agent Challenge 🚀" ברוב הפרקים. זהו אתגר חדש עבורכם להשלים תוך שימוש ב-GitHub Copilot ובמצב Agent. אם לא השתמשתם במצב Agent קודם לכן, הוא מסוגל לא רק לייצר טקסט אלא גם ליצור ולערוך קבצים, להריץ פקודות ועוד. ### 📣 הכרזה - _פרויקט חדש לבנייה באמצעות AI גנרטיבי_ -פרויקט עוזר AI חדש נוסף, בדקו את [הפרויקט](./9-chat-project/README.md) +פרויקט עוזר AI חדש נוסף, בדקו אותו [כאן](./9-chat-project/README.md) -### 📣 הכרזה - _תוכנית לימודים חדשה_ על AI גנרטיבי ל-JavaScript זה עתה שוחררה +### 📣 הכרזה - _תכנית לימודים חדשה_ ל-AI גנרטיבי עבור JavaScript שפורסמה לאחרונה -אל תפספסו את תוכנית הלימודים החדשה שלנו ב-AI גנרטיבי! +אל תפספסו את תכנית הלימודים החדשה שלנו ל-AI גנרטיבי! בקרו ב-[https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) כדי להתחיל! -![Background](../../translated_images/he/background.148a8d43afde5730.webp) +![רקע](../../translated_images/he/background.148a8d43afde5730.webp) -- שיעורים שמכסים הכל מהבסיס ועד RAG. -- התקשורת עם דמויות היסטוריות באמצעות GenAI והאפליקציה המלווית שלנו. -- נרטיב מהנה ומרתק, תנסו נסיעה בזמן! +- שיעורים המכסים הכל מבסיסי ועד RAG. +- אינטראקציה עם דמויות היסטוריות באמצעות GenAI ואפליקציית הליווי שלנו. +- נרטיב מהנה ומרתק, טיול בזמן מחכה לכם! -![character](../../translated_images/he/character.5c0dd8e067ffd693.webp) +![דמות](../../translated_images/he/character.5c0dd8e067ffd693.webp) - -כל שיעור כולל מטלה להשלים, בדיקת ידע ואתגר שינחו אתכם בלימוד נושאים כגון: -- הנעת פקודות והנדסת פרומפטים +כל שיעור כולל משימה להשלים, בדיקת ידע ואתגר להנחות אותך בנושאים כמו: +- יצירת פקודות והנדסת פקודות - יצירת אפליקציות טקסט ותמונה - אפליקציות חיפוש @@ -91,43 +90,43 @@ -## 🌱 התחלת העבודה +## 🌱 להתחיל -> **מורים**, כללנו [כמה הצעות](for-teachers.md) לשימוש בתוכנית לימודים זו. נשמח למשוב שלכם [בפורום הדיונים שלנו](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! +> **מורים**, כללנו [הצעות](for-teachers.md) כיצד להשתמש בתכנית לימודים זו. נשמח למשוב שלכם [בפורום הדיון שלנו](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! -**[לומדים](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, עבור כל שיעור, התחילו בחידון מקדים ועברו על חומר ההרצאה, השלימו פעילויות שונות ובדקו את ההבנה שלכם עם החידון לאחר ההרצאה. +**[לומדים](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, עבור כל שיעור, התחילו בחידון טרום-הרצאה ועקבו אחר קריאת חומר ההרצאה, השלמת הפעילויות השונות ובדיקת ההבנה שלכם עם חידון לאחר ההרצאה. -כדי לשפר את חוויית הלמידה שלכם, התחברו לחברים לקבוצות עבודה על הפרויקטים יחד! עידוד דיונים בפורום הדיונים שלנו [בפורום הדיונים](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) בו צוות המנהלים שלנו יהיה זמין למענה על שאלותכם. +כדי לשפר את חוויית הלמידה שלכם, התחברו עם חבריכם לעבוד יחד על הפרויקטים! דיונים מומלצים ב[פורום הדיון שלנו](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) שבו צוות המפמ"רים שלנו יהיה זמין לענות על שאלותיכם. -לקידום הלימודים, אנו ממליצים בחום לבדוק את [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) למשאבי לימוד נוספים. +להרחבת ההשכלה שלכם, אנו ממליצים בחום לחקור את [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) לקבלת חומרי לימוד נוספים. -### 📋 הקמת סביבת הפיתוח שלכם +### 📋 הגדרת סביבת העבודה שלכם -לתוכנית הלימודים הזו יש סביבת פיתוח מוכנה לשימוש! כאשר תתחילו, תוכלו לבחור להריץ את תוכנית הלימודים ב-[Codespace](https://github.com/features/codespaces/) (_סביבת דפדפן ללא צורך בהתקנות_), או מקומית במחשב שלכם באמצעות עורך טקסט כמו [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +לתכנית לימודים זו קיימת סביבת פיתוח מוכנה לשימוש! כאשר תתחילו תוכלו לבחור להריץ את התכנית ב-[Codespace](https://github.com/features/codespaces/) (_סביבת עבודה בדפדפן ללא צורך בהתקנות_), או מקומית במחשב שלכם תוך שימוש בעורך טקסט כמו [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -#### צרו את המאגר שלכם -כדי שתוכלו לשמור בקלות את העבודה שלכם, מומלץ ליצור עותק אישי של המאגר. ניתן לעשות זאת על ידי לחיצה על כפתור **Use this template** בראש הדף. זה ייצור מאגר חדש בחשבון GitHub שלכם עם עותק של תוכנית הלימודים. +#### צרו את מאגר הקוד שלכם +כדי שתוכלו לשמור את העבודה שלכם בקלות, מומלץ ליצור עותק משלכם של מאגר הקוד הזה. ניתן לעשות זאת על ידי לחיצה על כפתור **Use this template** בראש הדף. זה ייצור מאגר חדש בחשבון ה-GitHub שלכם עם עותק של תכנית הלימודים. -עקבו אחרי השלבים הבאים: -1. **פיצול המאגר**: לחצו על כפתור "Fork" בפינה הימנית העליונה של הדף הזה. -2. **שיבוט המאגר**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +עקבו אחר השלבים האלה: +1. **פיצול הריפוזיטורי**: לחצו על כפתור "Fork" בפינה הימנית העליונה של דף זה. +2. **שכפול הריפוזיטורי**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -#### הרצת תוכנית הלימודים ב-Codespace +#### הרצת תכנית הלימודים ב-Codespace -בעותק שיצרתם של מאגר זה, לחצו על כפתור **Code** ובחרו **Open with Codespaces**. זה ייצור Codespace חדש עבורכם לעבוד בו. +בעותק שלכם של המאגר שיצרתם, לחצו על כפתור **Code** ובחרו **Open with Codespaces**. זה ייצור Codespace חדש שבו תוכלו לעבוד. ![Codespace](../../translated_images/he/createcodespace.0238bbf4d7a8d955.webp) -#### הרצת תוכנית הלימודים מקומית במחשב שלכם +#### הרצת תכנית הלימודים במחשב האישי שלכם -להריץ תוכנית לימודים זו במחשב שלכם, תזדקקו לעורך טקסט, לדפדפן וכלי שורת פקודה. השיעור הראשון שלנו, [הקדמה לשפות תכנות וכלי עבודה](../../1-getting-started-lessons/1-intro-to-programming-languages), יכוון אתכם דרך אפשרויות שונות לכל אחד מהכלים הללו כדי שתוכלו לבחור את המתאים לכם ביותר. +כדי להריץ תכנית לימודים זו באופן מקומי, תזדקקו לעורך טקסט, לדפדפן וכלי שורת פקודה. השיעור הראשון שלנו, [מבוא לשפות תכנות וכלים מקצועיים](../../1-getting-started-lessons/1-intro-to-programming-languages), ידריך אתכם דרך אפשרויות שונות לכל אחד מהכלים לבחירתכם. -ההמלצה שלנו היא להשתמש ב-[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) כעורך שלכם, שיש גם [טרמינל](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) מובנה. ניתן להוריד את Visual Studio Code [כאן](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -1. שכפל את המאגר שלך למחשב שלך. ניתן לעשות זאת על ידי לחיצה על לחצן **Code** והעתקת כתובת ה-URL: +ההמלצה שלנו היא להשתמש ב-[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) כעורך הטקסט שלכם, שיש לו גם [טרמינל מובנה](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). ניתן להוריד את Visual Studio Code [כאן](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +1. שכפל את המאגר שלך למחשב האישי. ניתן לעשות זאת על ידי לחיצה על כפתור **Code** והעתקת ה-URL: [CodeSpace](./images/createcodespace.png) - לאחר מכן, פתח את [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) בתוך [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) והרץ את הפקודה הבאה, כשהחלף את `` בכתובת ה-URL שהעתקת זה עתה: + לאחר מכן, פתח את [הטרמינל](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) בתוך [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) והרץ את הפקודה הבאה, כשהחלפת את `` עם ה-URL שהעתקת זה עתה: ```bash git clone @@ -138,84 +137,85 @@ > הרחבות מומלצות ל-Visual Studio Code: > -> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - לתצוגת תצוגה מקדימה של דפי HTML בתוך Visual Studio Code -> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - לעזור לך לכתוב קוד מהר יותר +> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - לתצוגה מקדימה של דפי HTML בתוך Visual Studio Code +> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - כדי לעזור לך לכתוב קוד מהר יותר ## 📂 כל שיעור כולל: -- הערת רישום אופציונלית -- וידאו תומך אופציונלי -- בחן חימום לפני השיעור +- סקצ'נוט אופציונלי +- וידאו משלים אופציונלי +- חידון חימום לפני השיעור - שיעור כתוב -- לשיעורים מבוססי פרויקט, מדריכים שלב אחרי שלב כיצד לבנות את הפרויקט +- בשיעורים מבוססי פרויקטים, מדריכים שלב-אחר-שלב כיצד לבנות את הפרויקט - בדיקות ידע - אתגר -- קריאה תומכת -- מטלה -- [בחן לאחר השיעור](https://ff-quizzes.netlify.app/web/) +- קריאה משלימה +- משימה +- [חידון לאחר השיעור](https://ff-quizzes.netlify.app/web/) -> **הערה על החנים**: כל החנים נמצאים בתיקיית Quiz-app, 48 חנים בסך הכל של שלוש שאלות כל אחד. הם זמינים [כאן](https://ff-quizzes.netlify.app/web/) אפליקציית החנים ניתנת להרצה מקומית או פריסה ב-Azure; עקוב אחר ההוראות שבתיקיית `quiz-app`. +> **הערה על חידונים**: כל החידונים נמצאים בתיקיית Quiz-app, 48 חידונים בסך הכול עם שלוש שאלות בכל אחד מהם. הם זמינים [כאן](https://ff-quizzes.netlify.app/web/) ניתן להריץ את אפליקציית החידון באופן מקומי או לפרוס אותה לאזור; עקבו אחרי ההוראות בתיקיית `quiz-app`. ## 🗃️ שיעורים -| | שם הפרויקט | המושגים הנלמדים | יעדי הלמידה | השיעור המקושר | מחבר | -| :-: | :------------------------------------------------------: | :-----------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------: | :-------------------: | -| 01 | התחלה מהירה | מבוא לתכנות וכלי המקצוע | למד את היסודות של רוב שפות התכנות ועל תוכנות המסייעות למפתחים מקצועיים לבצע את עבודתם | [Introduction to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | התחלה מהירה | יסודות GitHub, כולל עבודה עם צוות | כיצד להשתמש ב-GitHub בפרויקט שלך, כיצד לשתף פעולה עם אחרים בקוד | [Introduction to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | התחלה מהירה | נגישות | למד את היסודות של נגישות באינטרנט | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | יסודות JS | טיפוסי נתונים ב-JavaScript | היסודות של טיפוסי הנתונים ב-JavaScript | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | יסודות JS | פונקציות ושיטות | למד על פונקציות ושיטות לניהול זרימת הלוגיקה של האפליקציה | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher | -| 06 | יסודות JS | קבלת החלטות עם JS | למד כיצד ליצור תנאים בקוד שלך באמצעות שיטות קבלת החלטות | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | יסודות JS | מערכים ולולאות | עבודה עם נתונים באמצעות מערכים ולולאות ב-JavaScript | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML בתרגול | בניית HTML ליצירת טרריום מקוון, תוך דגש על בניית פריסת עמוד | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS בתרגול | בניית CSS לעיצוב הטרריום המקוון, התמקדות ביסודות ה-CSS כולל עיצוב תגובתי של העמוד | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrarium](./3-terrarium/solution/README.md) | סגירות JavaScript, מניפולציה של DOM | בניית JavaScript להפעלת הטרריום כממשק גרירה וגרירה, התמקדות בסגירות ומניפולציה של DOM | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Typing Game](./4-typing-game/solution/README.md) | בניית משחק הקלדה | למד כיצד להשתמש באירועי מקלדת כדי להניע את הלוגיקה של אפליקציית ה-JavaScript שלך | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | עבודה עם דפדפנים | למד כיצד דפדפנים פועלים, ההיסטוריה שלהם, וכיצד לבנות את האלמנטים הראשונים של תוסף דפדפן | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | בניית טופס, קריאה ל-API ואחסון משתנים באחסון מקומי | בניית אלמנטים של JavaScript בתוסף הדפדפן שלך לקריאה ל-API תוך שימוש במשתנים המאוחסנים באחסון מקומי | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | תהליכים ברקע בדפדפן, ביצועי רשת | שימוש בתהליכים ברקע של הדפדפן כדי לנהל את האייקון של התוסף; לימוד על ביצועים ואופטימיזציות באינטרנט | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Space Game](./6-space-game/solution/README.md) | פיתוח משחק מתקדם יותר ב-JavaScript | למד על ירושה באמצעות מחלקות והרכבה ודפוס Pub/Sub, כהכנה לבניית משחק | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [Space Game](./6-space-game/solution/README.md) | ציור ב-canvas | למד על ה-Canvas API, המשמש לציור אלמנטים על המסך | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Space Game](./6-space-game/solution/README.md) | הזזת אלמנטים על המסך | גלה כיצד אלמנטים יכולים לקבל תנועה באמצעות קואורדינטות קרטזיות ו-Canvas API | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Space Game](./6-space-game/solution/README.md) | זיהוי התנגשויות | לגרום לאלמנטים להתנגש ולתגובה זה לזה באמצעות לחיצות מקשים ולספק פונקציית קירור להבטחת ביצועי המשחק | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Space Game](./6-space-game/solution/README.md) | שמירת ניקוד | בצע חישובים מתמטיים על בסיס מצב וביצועי המשחק | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Space Game](./6-space-game/solution/README.md) | סיום והפעלה מחדש של המשחק | למד על סיום והפעלה מחדש של המשחק, כולל ניקוי משאבים ואיפוס ערכי משתנים | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [Banking App](./7-bank-project/solution/README.md) | תבניות HTML ונתיבים באפליקציית רשת | למד כיצד ליצור את השלד של ארכיטקטורת אתר אינטרנט מרובה דפים באמצעות נתיבים ותבניות HTML | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [Banking App](./7-bank-project/solution/README.md) | בניית טופס כניסה והרשמה | למד על בניית טפסים וטיפול בשגרות אימות | [Forms](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [Banking App](./7-bank-project/solution/README.md) | שיטות של שליפה ושימוש בנתונים | כיצד נתונים זורמים לתוך ומחוץ לאפליקציה שלך, כיצד לשלוף אותם, לאחסן ולפנות אליהם | [Data](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [Banking App](./7-bank-project/solution/README.md) | מושגי ניהול מדינה | למד כיצד האפליקציה שלך שומרת מדינה וכיצד לנהל אותה תוכניתית | [State Management](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Browser/VScode Code](../../8-code-editor) | עבודה עם VScode | למד להשתמש בעורך קוד | [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [AI Assistants](./9-chat-project/README.md) | עבודה עם AI | למד לבנות עוזר AI משלך | [AI Assistant project](./9-chat-project/README.md) | Chris | +| | שם הפרויקט | מושגים שנלמדים | מטרות הלמידה | שיעור מקושר | מחבר | +| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | +| 01 | מתחילים | מבוא לתכנות וכלי המסחר | למדו את היסודות הבסיסיים שמאחורי רוב שפות התכנות ועל התוכנה שעוזרת למפתחים מקצועיים לבצע את עבודתם | [מבוא לשפות תכנות וכלי מסחר](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | ג'אזמין | +| 02 | מתחילים | יסודות GitHub, כולל עבודה בצוות | כיצד להשתמש ב-GitHub בפרויקט שלך, כיצד לשתף פעולה עם אחרים בבסיס קוד | [מבוא ל-GitHub](./1-getting-started-lessons/2-github-basics/README.md) | פלור | +| 03 | מתחילים | נגישות | למדו את יסודות הנגישות באינטרנט | [יסודות הנגישות](./1-getting-started-lessons/3-accessibility/README.md) | כריסטופר | +| 04 | יסודות JS | סוגי נתונים ב-JavaScript | היסודות של סוגי הנתונים ב-JavaScript | [סוגי נתונים](./2-js-basics/1-data-types/README.md) | ג'אזמין | +| 05 | יסודות JS | פונקציות ושיטות | למדו על פונקציות ושיטות לניהול זרימת הלוגיקה באפליקציה | [פונקציות ושיטות](./2-js-basics/2-functions-methods/README.md) | ג'אזמין וכריסטופר | +| 06 | יסודות JS | קבלת החלטות עם JS | למדו כיצד ליצור תנאים בקוד שלכם באמצעות שיטות קבלת החלטות | [קבלת החלטות](./2-js-basics/3-making-decisions/README.md) | ג'אזמין | +| 07 | יסודות JS | מערכים ולולאות | עבודה עם נתונים באמצעות מערכים ולולאות ב-JavaScript | [מערכים ולולאות](./2-js-basics/4-arrays-loops/README.md) | ג'אזמין | +| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML בפעולה | בניית ה-HTML ליצירת טרריום מקוון, התמקדות בבניית פריסה | [מבוא ל-HTML](./3-terrarium/1-intro-to-html/README.md) | ג'ן | +| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS בפעולה | בניית ה-CSS לעיצוב הטרריום המקוון, התמקדות ביסודות CSS כולל התאמת העמוד לתצוגה רספונסיבית | [מבוא ל-CSS](./3-terrarium/2-intro-to-css/README.md) | ג'ן | +| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, מניפולציית DOM | בניית הקוד ב-JavaScript כדי לגרום לטרריום לתפקד כממשק גרירה ושחרור, עם דגש על Closure ומניפולציית DOM | [JavaScript Closures, מניפולציית DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | ג'ן | +| 11 | [Typing Game](./4-typing-game/solution/README.md) | בניית משחק הקלדה | למדו כיצד להשתמש באירועי מקלדת כדי לנהל את הלוגיקה של אפליקציית ה-JavaScript שלכם | [תכנות מוכוון אירועים](./4-typing-game/typing-game/README.md) | כריסטופר | +| 12 | [הרחבת דפדפן ירוקה](./5-browser-extension/solution/README.md) | עבודה עם דפדפנים | למדו כיצד דפדפנים עובדים, ההיסטוריה שלהם, ואיך להקים את רכיבי הבסיס של הרחבת דפדפן | [על דפדפנים](./5-browser-extension/1-about-browsers/README.md) | ג'ן | +| 13 | [הרחבת דפדפן ירוקה](./5-browser-extension/solution/README.md) | בניית טופס, קריאה ל-API ואחסון משתנים בזיכרון מקומי | בנו את רכיבי ה-JavaScript של הרחבת הדפדפן שלכם לקריאה ל-API תוך שימוש במשתנים המאוחסנים בזיכרון המקומי | [API, טפסים ואחסון מקומי](./5-browser-extension/2-forms-browsers-local-storage/README.md) | ג'ן | +| 14 | [הרחבת דפדפן ירוקה](./5-browser-extension/solution/README.md) | תהליכים ברקע בדפדפן, ביצועי ווב | השתמשו בתהליכים ברקע של הדפדפן לניהול האייקון של ההרחבה; למדו על ביצועי רשת וכמה אופטימיזציות לשיפור ביצועי ההרחבה | [משימות רקע וביצועים](./5-browser-extension/3-background-tasks-and-performance/README.md) | ג'ן | +| 15 | [משחק חלל](./6-space-game/solution/README.md) | פיתוח משחק מתקדם יותר עם JavaScript | למדו על ירושה באמצעות מחלקות וקומפוזיציה וגם על תבנית Pub/Sub, כהכנה לבניית משחק | [מבוא לפיתוח משחק מתקדם](./6-space-game/1-introduction/README.md) | כריס | +| 16 | [משחק חלל](./6-space-game/solution/README.md) | ציור על הקנבס | למדו על Canvas API, המשמש לציור אלמנטים על המסך | [ציור על קנבס](./6-space-game/2-drawing-to-canvas/README.md) | כריס | +| 17 | [משחק חלל](./6-space-game/solution/README.md) | הזזת אלמנטים על המסך | גלו כיצד אלמנטים יכולים לקבל תנועה באמצעות קואורדינטות קרטזיות ו-Canvas API | [הזזת אלמנטים](./6-space-game/3-moving-elements-around/README.md) | כריס | +| 18 | [משחק חלל](./6-space-game/solution/README.md) | זיהוי התנגשות | הפכו אלמנטים להתנגש ולהגיב זה לזה באמצעות לחיצות מקשים וספקו פונקציית קירור כדי לוודא ביצועים טובים במשחק | [זיהוי התנגשות](./6-space-game/4-collision-detection/README.md) | כריס | +| 19 | [משחק חלל](./6-space-game/solution/README.md) | שמירת ניקוד | בצעו חישובים מתמטיים על בסיס מצב המשחק והביצועים | [שימור ניקוד](./6-space-game/5-keeping-score/README.md) | כריס | +| 20 | [משחק חלל](./6-space-game/solution/README.md) | סיום והפעלה מחדש של המשחק | למדו על סיום והפעלה מחדש של המשחק, כולל ניקוי משאבים ואיפוס ערכי משתנים | [תנאי סיום](./6-space-game/6-end-condition/README.md) | כריס | +| 21 | [אפליקציית בנקאות](./7-bank-project/solution/README.md) | תבניות HTML ונתיבים באפליקציית ווב | למדו כיצד ליצור תשתית של אתר רב-דפי באמצעות ניתוב ותבניות HTML | [תבניות HTML ונתיבים](./7-bank-project/1-template-route/README.md) | יוהאן | +| 22 | [אפליקציית בנקאות](./7-bank-project/solution/README.md) | בניית טופס התחברות והרשמה | למדו על בניית טפסים וטיפול בשגרות אימות | [טפסים](./7-bank-project/2-forms/README.md) | יוהאן | +| 23 | [אפליקציית בנקאות](./7-bank-project/solution/README.md) | שיטות לקבלת שימוש בנתונים | כיצד נתונים זורמים פנימה והחוצה מהאפליקציה שלך, כיצד לאחסן אותם, לשלוף אותם ולפנות אותם | [נתונים](./7-bank-project/3-data/README.md) | יוהאן | +| 24 | [אפליקציית בנקאות](./7-bank-project/solution/README.md) | מושגי ניהול מצב | למדו כיצד האפליקציה שלכם שומרת מצב וכיצד לנהל אותו תכנותית | [ניהול מצבים](./7-bank-project/4-state-management/README.md) | יוהאן | +| 25 | [קוד דפדפן/VScode](../../8-code-editor) | עבודה עם VScode | למדו כיצד להשתמש בעורך קוד| [שימוש בעורך קוד VScode](./8-code-editor/1-using-a-code-editor/README.md) | כריס | +| 26 | [עוזרי בינה מלאכותית](./9-chat-project/README.md) | עבודה עם בינה מלאכותית | למדו כיצד לבנות עוזר AI משלכם | [פרויקט עוזר AI](./9-chat-project/README.md) | כריס | ## 🏫 פדגוגיה תכנית הלימודים שלנו מעוצבת עם שני עקרונות פדגוגיים מרכזיים: * למידה מבוססת פרויקטים -* חנים תכופים +* חידונים תכופים -הקורס מלמד את היסודות של JavaScript, HTML ו-CSS, וכן את הכלים והטכניקות העדכניים ביותר בהם משתמשים מפתחי האינטרנט של היום. לסטודנטים תהיה הזדמנות לפתח ניסיון מעשי על ידי בניית משחק הקלדה, טרריום וירטואלי, תוסף דפדפן ידידותי לסביבה, משחק בסגנון פלישת החלל ואפליקציית בנקאות לעסקים. בסיום הסדרה הסטודנטים ירכשו הבנה איתנה של פיתוח ווב. +התכנית מלמדת את הבסיס של JavaScript, HTML, ו-CSS, כמו גם את הכלים והשיטות העדכניות שמשתמשים בהם מפתחי ווב כיום. לתלמידים תינתן ההזדמנות לפתח ניסיון מעשי באמצעות בניית משחק הקלדה, טרריום וירטואלי, הרחבת דפדפן אקולוגית, משחק בסגנון Space Invaders, ואפליקציית בנקאות לעסקים. בסיום הסדרה, התלמידים ירכשו הבנה מוצקה של פיתוח אתרי אינטרנט. -> 🎓 ניתן לקחת את כמה השיעורים הראשונים בתכנית זו כ-[מרכז למידה](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) ב-Microsoft Learn! +> 🎓 ניתן לקחת את השיעורים הראשונים בתכנית זו כ-[נתיב למידה](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) ב-Microsoft Learn! -על ידי הבטחת התאמה של התכנים לפרויקטים, התהליך נעשה מעניין יותר עבור הסטודנטים והחזקת המושגים תוגבר. כמו כן, כתבנו כמה שיעורי פתיחה ביסודות JavaScript כדי להציג מושגים, יחד עם וידאו מסדרת "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" של סרטוני הדרכה, שחלק מהמחברים שלהם תרמו לתכנית זו. +על ידי הבטחת ההתאמה בין התוכן לפרויקטים, התהליך נעשה יותר מרתק עבור התלמידים וזכירת המושגים מועצמת. כמו כן כתבנו מספר שיעורי בסיס ב-JavaScript להכרות עם מושגים, בתוספת וידאו מתוך אוסף ההדרכות "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", חלק מהכותבים שלהם תרמו לתכנית לימודים זו. -בנוסף, בחן ללא סיכון לפני השיעור מגדיר את כוונת הסטודנט ללמוד נושא, בעוד בחן שני לאחר השיעור מבטיח החזקה נוספת. תכנית הלימודים עוצבה להיות גמישה ומהנה וניתן לקחת אותה בשלמותה או בחלקים. הפרויקטים מתחילים קטנים והופכים למורכבים יותר לקראת סיום מחזור של 12 שבועות. +בנוסף, חידון בעל סיכון נמוך לפני השיעור מגדיר את כוונת התלמיד ללמידת נושא, בעוד שחידון שני לאחר הכיתה מבטיח זכירה נוספת. תכנית הלימודים עוצבה להיות גמישה ומהנה וניתן לעבור אותה כולה או בחלקה. הפרויקטים מתחילים קטנים והולכים ומסובכים לקראת סוף מחזור של 12 שבועות. -בעוד שהימנענו בכוונה מהכנסת מסגרות JavaScript כדי להתמקד בכישורים הבסיסיים הנדרשים כמפתח ווב לפני אימוץ מסגרת, צעד טוב להשלמת תכנית זו הוא ללמוד על Node.js דרך אוסף וידאו נוסף: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +אמנם הימנענו במודע מהכנסת מסגרות JavaScript כדי להתמקד בכישורים הבסיסיים הדרושים כמפתח ווב לפני אימוץ מסגרת, צעד טוב הבא להשלמת תכנית זו יהיה ללמוד על Node.js באמצעות אוסף וידאו נוסף: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> בקר במדריך ההתנהגות שלנו [Code of Conduct](CODE_OF_CONDUCT.md) ובכללי ההשתתפות שלנו [Contributing](CONTRIBUTING.md). נשמח למשובכם הבונה! +> בקרו בהנחיות [קוד ההתנהגות שלנו](CODE_OF_CONDUCT.md) ו[השתתפות](CONTRIBUTING.md). נשמח לקבל משוב בונה ממכם! ## 🧭 גישה לא מקוונת -ניתן להפעיל תיעוד זה במצב לא מקוון באמצעות [Docsify](https://docsify.js.org/#/). נסה לפצל מאגר זה, [התקן Docsify](https://docsify.js.org/#/quickstart) במחשב המקומי שלך, ואז בתיקיית השורש של המאגר הקלד `docsify serve`. האתר יופעל בפורט 3000 על ה-localhost שלך: `localhost:3000`. +ניתן להפעיל תיעוד זה במצב לא מקוון באמצעות [Docsify](https://docsify.js.org/#/). פצלו את הרפו, [התקינו Docsify](https://docsify.js.org/#/quickstart) במחשב המקומי שלכם, ואז בתיקיית השורש של הרפו, הקלידו `docsify serve`. האתר יפעל על פורט 3000 במחשב המקומי שלכם: `localhost:3000`. -## 📘 קובץ PDF +## 📘 PDF ניתן למצוא קובץ PDF של כל השיעורים [כאן](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). -## 🎒 קורסים נוספים -הצוות שלנו מפיק קורסים נוספים! בדקו את: +## 🎒 קורסים אחרים + +הצוות שלנו מפיק קורסים נוספים! עיינו ב: ### LangChain @@ -224,7 +224,7 @@ [![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) --- -### Azure / Edge / MCP / סוכנים +### Azure / Edge / MCP / Agents [![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) [![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) [![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) @@ -232,7 +232,7 @@ --- -### סדרת בינה מלאכותית גנרטיבית +### סדרת AI גנרטיבי [![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) [![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) [![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) @@ -240,7 +240,7 @@ --- -### לימוד יסודי +### לימודה בסיסית [![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) [![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) [![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) @@ -251,7 +251,7 @@ --- -### סדרת Copilot +### סדרת קופיילוט [![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) [![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) [![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) @@ -259,21 +259,21 @@ ## קבלת עזרה -אם אתה נתקע או יש לך שאלות לגבי בניית אפליקציות בינה מלאכותית. הצטרף ללומדים אחרים ומפתחים מנוסים בדיונים על MCP. זוהי קהילה תומכת שבה שאלות מתקבלות בברכה והידע משותף בחופשיות. +אם אתם נתקעים או יש לכם שאלות לגבי בניית אפליקציות AI. הצטרפו ללומדים אחרים ולמפתחים מנוסים לדיונים על MCP. זה קהילה תומכת שבה שאלות מתקבלות בברכה והידע נשאר חופשי. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -אם יש לך משוב על המוצר או שגיאות בזמן בנייה, בקר: +אם יש לכם משוב על המוצר או שגיאות במהלך הבנייה בקרו ב: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) ## רישיון -מאגר זה מורשה תחת רישיון MIT. ראה את קובץ [LICENSE](../../LICENSE) למידע נוסף. +מאגר זה מורשה תחת רישיון MIT. ראה את הקובץ [LICENSE](../../LICENSE) למידע נוסף. --- **כתב ויתור**: -מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית [Co-op Translator](https://github.com/Azure/co-op-translator). למרות שאנו שואפים לדיוק, יש לקחת בחשבון כי תרגומים אוטומטיים עלולים להכיל טעויות או ליקויים. יש להתייחס למסמך המקורי בשפתו המקורית כמקור סמכותי. למידע קריטי מומלץ לפנות לתרגום מקצועי על ידי אדם. איננו אחראים לכל אי הבנה או פרשנות שגויה הנובעת משימוש בתרגום זה. +מסמך זה תורגם באמצעות שירות תרגום בינה מלאכותית [Co-op Translator](https://github.com/Azure/co-op-translator). אף שאנו שואפים לדיוק, יש להביא בחשבון כי תרגומים ממוכנים עלולים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפת המקור שלו צריך להיחשב למקור הסמכותי. עבור מידע קריטי, מומלץ תרגום מקצועי על ידי אדם. אנו לא נושאים באחריות לכל אי הבנה או פרשנות שגויה הנובעות מהשימוש בתרגום זה. \ No newline at end of file diff --git a/translations/hi/.co-op-translator.json b/translations/hi/.co-op-translator.json index b9a085b865..f586193b14 100644 --- a/translations/hi/.co-op-translator.json +++ b/translations/hi/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T19:12:37+00:00", + "translation_date": "2026-04-06T18:05:49+00:00", "source_file": "AGENTS.md", "language_code": "hi" }, @@ -516,8 +516,8 @@ "language_code": "hi" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T14:44:55+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T18:01:52+00:00", "source_file": "README.md", "language_code": "hi" }, diff --git a/translations/hi/AGENTS.md b/translations/hi/AGENTS.md index 6d33905848..51ac72360a 100644 --- a/translations/hi/AGENTS.md +++ b/translations/hi/AGENTS.md @@ -2,29 +2,29 @@ ## परियोजना अवलोकन -यह शुरुआती लोगों के लिए वेब विकास के मूल सिद्धांतों को सिखाने के लिए एक शैक्षिक पाठ्यक्रम भंडार (रिपॉजिटरी) है। यह पाठ्यक्रम माइक्रोसॉफ्ट क्लाउड एडवोकेट्स द्वारा विकसित एक व्यापक 12-सप्ताह का कोर्स है, जिसमें JavaScript, CSS, और HTML को कवर करते हुए 24 व्यावहारिक पाठ शामिल हैं। +यह शुरुआती लोगों को वेब विकास के मूलभूत सिद्धांत सिखाने के लिए एक शैक्षिक पाठ्यक्रम भंडार है। यह पाठ्यक्रम Microsoft Cloud Advocates द्वारा विकसित एक व्यापक 12-सप्ताह का कोर्स है, जिसमें जावास्क्रिप्ट, CSS, और HTML को कवर करते हुए 24 व्यावहारिक पाठ शामिल हैं। ### मुख्य घटक - **शैक्षिक सामग्री**: परियोजना-आधारित मॉड्यूल में व्यवस्थित 24 संरचित पाठ -- **व्यावहारिक परियोजनाएं**: टेररियम, टाइपिंग गेम, ब्राउज़र एक्सटेंशन, स्पेस गेम, बैंकिंग ऐप, कोड एडिटर, और AI चैट असिस्टेंट -- **इंटरैक्टिव क्विज़**: प्रत्येक में 3 प्रश्नों के साथ 48 क्विज़ (पाठ से पहले/बाद मूल्यांकन) -- **बहुभाषी समर्थन**: GitHub Actions के माध्यम से 50+ भाषाओं के लिए स्वचालित अनुवाद -- **प्रौद्योगिकियां**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI परियोजनाओं के लिए) +- **व्यावहारिक परियोजनाएँ**: टेरारियम, टाइपिंग गेम, ब्राउज़र एक्सटेंशन, स्पेस गेम, बैंकिंग ऐप, कोड संपादक, और एआई चैट सहायक +- **इंटरैक्टिव क्विज़**: प्रत्येक में 3 प्रश्नों के साथ 48 क्विज़ (पाठ से पहले/बाद के मूल्यांकन) +- **मल्टी-भाषा समर्थन**: GitHub Actions के माध्यम से 50+ भाषाओं के लिए स्वचालित अनुवाद +- **प्रौद्योगिकियाँ**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (एआई परियोजनाओं के लिए) -### संरचना +### वास्तुकला -- शैक्षिक रिपॉजिटरी जो पाठ-आधारित संरचना पर आधारित है +- पाठ-आधारित संरचना वाला शैक्षिक भंडार - प्रत्येक पाठ फ़ोल्डर में README, कोड उदाहरण, और समाधान होते हैं -- अलग-अलग निर्देशिकाओं में स्वतंत्र परियोजनाएं (quiz-app, विभिन्न पाठ परियोजनाएं) -- GitHub Actions (co-op-translator) का उपयोग कर अनुवाद प्रणाली -- दस्तावेज़ीकरण Docsify के माध्यम से उपलब्ध और PDF के रूप में भी उपलब्ध +- स्वतंत्र परियोजनाएँ अलग-अलग निर्देशिकाओं में (quiz-app, विभिन्न पाठ परियोजनाएँ) +- GitHub Actions का उपयोग करते हुए अनुवाद प्रणाली (co-op-translator) +- Docsify के माध्यम से प्रलेखन सेवा प्रदान और PDF के रूप में उपलब्ध ## सेटअप कमांड -यह रिपॉजिटरी मुख्य रूप से शैक्षिक सामग्री के उपभोग के लिए है। विशिष्ट परियोजनाओं के साथ काम करने के लिए: +यह भंडार मुख्य रूप से शैक्षिक सामग्री उपभोग के लिए है। विशिष्ट परियोजनाओं के साथ काम करने के लिए: -### मुख्य रिपॉजिटरी सेटअप +### मुख्य भंडार सेटअप ```bash git clone https://github.com/microsoft/Web-Dev-For-Beginners.git @@ -38,20 +38,20 @@ cd quiz-app npm install npm run dev # विकास सर्वर शुरू करें npm run build # उत्पादन के लिए निर्माण करें -npm run lint # ESLint चलाएँ +npm run lint # ESLint चलाएं ``` -### बैंक परियोजना API (Node.js + Express) +### बैंक प्रोजेक्ट API (Node.js + Express) ```bash cd 7-bank-project/api npm install npm start # एपीआई सर्वर शुरू करें npm run lint # ESLint चलाएं -npm run format # Prettier के साथ फॉर्मेट करें +npm run format # Prettier के साथ स्वरूपित करें ``` -### ब्राउज़र एक्सटेंशन परियोजनाएं +### ब्राउज़र एक्सटेंशन परियोजनाएँ ```bash cd 5-browser-extension/solution @@ -59,7 +59,7 @@ npm install # ब्राउज़र-विशिष्ट एक्सटेंशन लोडिंग निर्देशों का पालन करें ``` -### स्पेस गेम परियोजनाएं +### स्पेस गेम परियोजनाएँ ```bash cd 6-space-game/solution @@ -80,29 +80,29 @@ python api.py ### सामग्री योगदानकर्ताओं के लिए -1. **रिपॉजिटरी को फ़ॉर्क करें** अपने GitHub खाते पर -2. **अपने फ़ॉर्क को स्थानीय रूप से क्लोन करें** -3. **अपने बदलावों के लिए नई ब्रांच बनाएं** -4. पाठ सामग्री या कोड उदाहरणों में बदलाव करें +1. **अपने GitHub खाते में** भंडार को फोर्क करें +2. **अपने फोर्क को** स्थानीय रूप से क्लोन करें +3. **अपने परिवर्तनों के लिए** एक नई शाखा बनाएं +4. पाठ सामग्री या कोड उदाहरणों में परिवर्तन करें 5. संबंधित परियोजना निर्देशिकाओं में कोड परिवर्तनों का परीक्षण करें -6. योगदान दिशानिर्देशों का पालन करते हुए पुल अनुरोध प्रस्तुत करें +6. योगदान दिशानिर्देशों का पालन करते हुए पुल रिक्वेस्ट सबमिट करें ### शिक्षार्थियों के लिए -1. रिपॉजिटरी को फ़ॉर्क या क्लोन करें +1. भंडार को फोर्क या क्लोन करें 2. क्रमशः पाठ निर्देशिकाओं में जाएं 3. प्रत्येक पाठ के README फाइल पढ़ें -4. https://ff-quizzes.netlify.app/web/ पर पूर्व-पाठ क्विज़ पूरा करें -5. पाठ फ़ोल्डरों में कोड उदाहरणों के साथ काम करें -6. असाइनमेंट और चुनौतियाँ पूरा करें -7. पोस्ट-पाठ क्विज़ लें +4. https://ff-quizzes.netlify.app/web/ पर पूर्व-पाठ क्विज़ पूरी करें +5. पाठ फ़ोल्डर में कोड उदाहरणों पर काम करें +6. असाइनमेंट और चुनौतियाँ पूरी करें +7. बाद-पाठ क्विज़ लें ### लाइव विकास -- **दस्तावेज़ीकरण**: रूट में `docsify serve` चलाएं (पोर्ट 3000) -- **क्विज़ ऐप**: quiz-app निर्देशिका में `npm run dev` चलाएं -- **परियोजनाएं**: HTML परियोजनाओं के लिए VS Code Live Server एक्सटेंशन का उपयोग करें -- **API परियोजनाएं**: संबंधित API निर्देशिकाओं में `npm start` चलाएं +- **प्रलेखन**: रूट में `docsify serve` चलाएँ (पोर्ट 3000) +- **क्विज़ ऐप**: quiz-app निर्देशिका में `npm run dev` चलाएँ +- **परियोजनाएँ**: HTML परियोजनाओं के लिए VS Code Live Server एक्सटेंशन का उपयोग करें +- **API परियोजनाएँ**: संबंधित API निर्देशिकाओं में `npm start` चलाएँ ## परीक्षण निर्देश @@ -110,82 +110,82 @@ python api.py ```bash cd quiz-app -npm run lint # कोड स्टाइल समस्याओं के लिए जांच करें -npm run build # सुनिश्चित करें कि निर्माण सफल हो जाता है +npm run lint # कोड स्टाइल समस्याओं की जांच करें +npm run build # पुष्टि करें कि बिल्ड सफल होता है ``` ### बैंक API परीक्षण ```bash cd 7-bank-project/api -npm run lint # कोड शैली की समस्याओं के लिए जाँच करें -node server.js # पुष्टि करें कि सर्वर बिना त्रुटियों के शुरू होता है +npm run lint # कोड स्टाइल समस्याओं की जांच करें +node server.js # सुनिश्चित करें कि सर्वर बिना त्रुटियों के शुरू होता है ``` ### सामान्य परीक्षण दृष्टिकोण -- यह एक शैक्षिक रिपॉजिटरी है जिसमें व्यापक स्वचालित परीक्षण नहीं हैं -- मैनुअल परीक्षण पर ध्यान केंद्रित: - - कोड उदाहरण बिना त्रुटि के चलना चाहिए - - दस्तावेज़ीकरण में लिंक सही काम करते हैं - - परियोजना निर्माण सफलतापूर्वक पूरा होता है - - उदाहरणों में सर्वोत्तम प्रथाओं का पालन होता है +- यह एक शैक्षिक भंडार है जिसमें व्यापक स्वचालित परीक्षण नहीं हैं +- मैनुअल परीक्षण इस पर केंद्रित है: + - कोड उदाहरण त्रुटि बिना चलें + - प्रलेखन में लिंक सही काम करें + - परियोजना बिल्ड सफलतापूर्वक पूरी हों + - उदाहरण अच्छी प्रथाओं का पालन करें -### सबमिशन से पहले जांच +### प्री-सबमिशन जांचें -- package.json वाले निर्देशिकाओं में `npm run lint` चलाएं -- मार्कडाउन लिंक मान्य हैं यह सत्यापित करें +- package.json वाले निर्देशिकाओं में `npm run lint` चलाएँ +- मार्कडाउन लिंक मान्य हों - ब्राउज़र या Node.js में कोड उदाहरणों का परीक्षण करें -- सुनिश्चित करें कि अनुवाद सही संरचना बनाए रखते हैं +- सुनिश्चित करें कि अनुवाद संरचना बनाए रखते हैं ## कोड स्टाइल दिशानिर्देश ### JavaScript - आधुनिक ES6+ सिंटैक्स का उपयोग करें -- परियोजनाओं में प्रदान किए गए मानक ESLint विन्यास का पालन करें -- शैक्षिक स्पष्टता के लिए सार्थक चर और फ़ंक्शन नाम उपयोग करें -- शिक्षार्थियों के लिए अवधारणाओं को समझाने वाले टिप्पणियां जोड़ें -- जहां कॉन्फ़िगर हो Prettier का उपयोग करें +- परियोजनाओं में उपलब्ध मानक ESLint कंफिगरेशन का पालन करें +- शैक्षिक स्पष्टता के लिए सार्थक वेरिएबल और फ़ंक्शन नाम चुनें +- शिक्षार्थियों के लिए अवधारणाओं को समझाते हुए टिप्पणियाँ जोड़ें +- Prettier का उपयोग करें जहाँ कॉन्फ़िगर हो ### HTML/CSS -- सेमंटिक HTML5 तत्व +- सेमांटिक HTML5 तत्व - उत्तरदायी डिज़ाइन सिद्धांत -- स्पष्ट क्लास नामकरण सम्मेलन -- शिक्षार्थियों के लिए CSS तकनीकों को समझाने वाली टिप्पणियां +- स्पष्ट कक्षा नामकरण सम्मेलन +- शिक्षार्थियों के लिए CSS तकनीकों की व्याख्या करने वाली टिप्पणियाँ ### Python - PEP 8 शैली दिशानिर्देश - स्पष्ट, शैक्षिक कोड उदाहरण -- जहां उपयोगी हो, टाइप हिन्ट्स +- जहाँ सहायक हो वहाँ टाइप हिंट्स -### मार्कडाउन दस्तावेज़ीकरण +### Markdown प्रलेखन -- स्पष्ट हेडिंग पदानुक्रम -- भाषा निर्दिष्ट कोड ब्लॉक +- स्पष्ट शीर्षक पदानुक्रम +- भाषा निर्दिष्ट कोड ब्लॉक्स - अतिरिक्त संसाधनों के लिंक -- `images/` निर्देशिकाओं में स्क्रीनशॉट और छवियां -- पहुंच योग्यता के लिए छवियों के लिए Alt टेक्स्ट +- `images/` निर्देशिकाओं में स्क्रीनशॉट और चित्र +- पहुँच के लिए छवियों हेतु Alt टेक्स्ट ### फ़ाइल संगठन -- पाठ क्रमशः क्रमांकित (1-getting-started-lessons, 2-js-basics, आदि) -- प्रत्येक परियोजना में `solution/` और अक्सर `start/` या `your-work/` निर्देशिकाएं होती हैं -- छवियां पाठ-विशिष्ट `images/` फ़ोल्डरों में संग्रहीत +- पाठ क्रमांकित (1-getting-started-lessons, 2-js-basics, आदि) +- प्रत्येक परियोजना में `solution/` और अक्सर `start/` या `your-work/` होती है +- पाठ-विशिष्ट `images/` फ़ोल्डर में चित्र संग्रहीत - अनुवाद `translations/{language-code}/` संरचना में ## निर्माण और परिनियोजन ### क्विज़ ऐप परिनियोजन (Azure Static Web Apps) -क्विज़-ऐप Azure Static Web Apps परिनियोजन के लिए कॉन्फ़िगर है: +क्विज़ ऐप Azure Static Web Apps परिनियोजन के लिए कॉन्फ़िगर है: ```bash cd quiz-app npm run build # dist/ फ़ोल्डर बनाता है -# मुख्य शाखा पर पुश करने पर GitHub Actions वर्कफ़्लो के माध्यम से तैनाती करता है +# मुख्य शाखा में पुश करने पर GitHub Actions वर्कफ़्लो के माध्यम से डिप्लॉय करता है ``` Azure Static Web Apps कॉन्फ़िगरेशन: @@ -193,90 +193,90 @@ Azure Static Web Apps कॉन्फ़िगरेशन: - **आउटपुट स्थान**: `dist` - **वर्कफ़्लो**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` -### दस्तावेज़ीकरण PDF निर्माण +### प्रलेखन PDF निर्माण ```bash -npm install # docsify-to-pdf स्थापित करें -npm run convert # docs से PDF बनाएँ +npm install # docsify-to-pdf इंस्टॉल करें +npm run convert # docs से PDF उत्पन्न करें ``` -### Docsify दस्तावेज़ीकरण +### Docsify प्रलेखन ```bash npm install -g docsify-cli # Docsify को ग्लोबली इंस्टॉल करें -docsify serve # localhost:3000 पर सेवा दें +docsify serve # localhost:3000 पर सर्व करें ``` -### परियोजना-विशिष्ट निर्माण +### परियोजना-विशिष्ट बिल्ड -प्रत्येक परियोजना निर्देशिका में अपना निर्माण प्रक्रिया हो सकती है: -- Vue परियोजनाएं: `npm run build` उत्पाद बंडल बनाता है -- स्थैतिक परियोजनाएं: कोई निर्माण चरण नहीं, सीधे फाइलें सर्व करें +प्रत्येक परियोजना निर्देशिका में स्वयं का बिल्ड प्रोसेस हो सकता है: +- Vue परियोजनाएं: `npm run build` उत्पादन बंडल बनाता है +- स्थिर परियोजनाएं: बिल्ड स्टेप नहीं, सीधे फाइलें सर्व करें -## पुल अनुरोध दिशानिर्देश +## पुल रिक्वेस्ट दिशानिर्देश ### शीर्षक प्रारूप -परिवर्तन के क्षेत्र को दर्शाने वाले स्पष्ट, वर्णनात्मक शीर्षक का उपयोग करें: -- `[Quiz-app] Add new quiz for lesson X` -- `[Lesson-3] Fix typo in terrarium project` -- `[Translation] Add Spanish translation for lesson 5` -- `[Docs] Update setup instructions` +परिवर्तन क्षेत्र को स्पष्ट करने वाले शीर्षक का उपयोग करें: +- `[Quiz-app] पाठ X के लिए नया क्विज़ जोड़ें` +- `[Lesson-3] टेरारियम परियोजना में टाइपो सुधारें` +- `[Translation] पाठ 5 के लिए स्पेनिश अनुवाद जोड़ें` +- `[Docs] सेटअप निर्देश अपडेट करें` ### आवश्यक जांच -PR प्रस्तुत करने से पहले: +PR सबमिट करने से पहले: 1. **कोड गुणवत्ता**: - - प्रभावित परियोजना निर्देशिकाओं में `npm run lint` चलाएं - - सभी लिंटिंग त्रुटियों और चेतावनियों को ठीक करें + - प्रभावित परियोजना निर्देशिकाओं में `npm run lint` चलाएँ + - सभी लिंटिंग त्रुटियाँ और वार्निंग्स ठीक करें -2. **निर्माण सत्यापन**: - - यदि लागू हो तो `npm run build` चलाएं - - कोई निर्माण त्रुटि न हो +2. **बिल्ड सत्यापन**: + - लागू हो तो `npm run build` चलाएँ + - सुनिश्चित करें कि कोई बिल्ड त्रुटि न हो 3. **लिंक सत्यापन**: - सभी मार्कडाउन लिंक जांचें - छवि संदर्भ काम करते हों 4. **सामग्री समीक्षा**: - - वर्तनी और व्याकरण ठीक करें + - वर्तनी और व्याकरण जांचें - कोड उदाहरण सही और शैक्षिक हों - अनुवाद मूल अर्थ बनाए रखें -### योगदान आवश्यकताएं +### योगदान आवश्यकताएँ -- Microsoft CLA से सहमत हों (पहले PR पर स्वचालित जांच) +- Microsoft CLA के लिए सहमति (पहली PR पर स्वचालित जांच) - [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) का पालन करें -- विस्तृत दिशानिर्देशों के लिए [CONTRIBUTING.md](./CONTRIBUTING.md) देखें -- PR विवरण में समस्या नंबर का संदर्भ दें यदि लागू हो +- विस्तृत दिशानिर्देश के लिए [CONTRIBUTING.md](./CONTRIBUTING.md) देखें +- यदि लागू हो तो PR विवरण में इश्यू नंबर संदर्भित करें ### समीक्षा प्रक्रिया -- PRs रख-रखावकर्ताओं और समुदाय द्वारा समीक्षा की जाती हैं +- PR मेंटेनर्स और समुदाय द्वारा समीक्षा की जाती है - शैक्षिक स्पष्टता को प्राथमिकता दी जाती है -- कोड उदाहरणों को वर्तमान सर्वोत्तम प्रथाओं का पालन करना चाहिए +- कोड उदाहरण नवीनतम सर्वोत्तम प्रथाओं का पालन करें - अनुवाद सटीकता और सांस्कृतिक उपयुक्तता के लिए समीक्षा किए जाते हैं ## अनुवाद प्रणाली ### स्वचालित अनुवाद -- GitHub Actions के साथ co-op-translator वर्कफ़्लो का उपयोग -- 50+ भाषाओं में स्वचालित अनुवाद -- स्रोत फाइलें मुख्य निर्देशिकाओं में -- अनुवादित फाइलें `translations/{language-code}/` निर्देशिकाओं में +- GitHub Actions के साथ co-op-translator वर्कफ़्लो का उपयोग करता है +- 50+ भाषाओं में स्वचालित रूप से अनुवाद करता है +- मुख्य निर्देशिकाओं में स्रोत फ़ाइलें +- `translations/{language-code}/` निर्देशिकाओं में अनूदित फाइलें ### मैनुअल अनुवाद सुधार जोड़ना -1. `translations/{language-code}/` में फ़ाइल ढूंढें +1. `translations/{language-code}/` में फ़ाइल खोजें 2. संरचना बनाए रखते हुए सुधार करें -3. सुनिश्चित करें कि कोड उदाहरण कार्यशील रहें -4. किसी भी स्थानीयकृत क्विज़ सामग्री का परीक्षण करें +3. कोड उदाहरण कार्यक्षमता सुनिश्चित करें +4. स्थानीयकृत क्विज़ सामग्री का परीक्षण करें ### अनुवाद मेटाडेटा -अनुवादित फाइलों में मेटाडेटा हेडर शामिल है: +अनूदित फ़ाइलों में मेटाडेटा हेडर शामिल है: ```markdown **अस्वीकरण**: -यह दस्तावेज़ [Co-op Translator](https://github.com/Azure/co-op-translator) एआई अनुवाद सेवा का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता के लिए प्रयासरत हैं, कृपया ध्यान दें कि स्वत: अनुवादों में त्रुटियां या गलतियाँ हो सकती हैं। मूल दस्तावेज़ अपनी मूल भाषा में ही प्राधिकृत स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सलाह दी जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं। +इस दस्तावेज़ का अनुवाद AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके किया गया है। जबकि हम सटीकता के लिए प्रयास करते हैं, कृपया ध्यान रखें कि स्वचालित अनुवादों में गलतियाँ या अस्पष्टताएँ हो सकती हैं। मूल दस्तावेज़ अपनी मूल भाषा में प्राधिकृत स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सलाह दी जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम जिम्मेदार नहीं हैं। \ No newline at end of file diff --git a/translations/hi/README.md b/translations/hi/README.md index c69a61167d..386d6f0a26 100644 --- a/translations/hi/README.md +++ b/translations/hi/README.md @@ -1,21 +1,38 @@ +[![GitHub license](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE) +[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/) +[![GitHub issues](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/) +[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/) +[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) + +[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/) +[![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/) +[![GitHub stars](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/) + +[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) + # शुरुआती लोगों के लिए वेब विकास - एक पाठ्यक्रम -Microsoft क्लाउड एडवोकेट्स द्वारा हमारे 12-सप्ताह के व्यापक पाठ्यक्रम के साथ वेब विकास के मूल बातें सीखें। 24 पाठों में से प्रत्येक JavaScript, CSS, और HTML को हाथों-हाथ प्रोजेक्ट्स जैसे टेरारियम, ब्राउज़र एक्सटेंशनों, और स्पेस गेम्स के माध्यम से गहराई से समझाता है। क्वीज़, चर्चाओं, और व्यावहारिक असाइनमेंट्स में भाग लें। हमारी प्रभावी परियोजना-आधारित शिक्षा पद्धति के साथ अपनी कौशलों को बढ़ाएं और आपकी ज्ञान की स्मृति को बेहतर बनाएं। आज ही अपनी कोडिंग यात्रा शुरू करें! +Microsoft Cloud Advocates द्वारा प्रस्तुत हमारे 12 सप्ताह के व्यापक पाठ्यक्रम के साथ वेब विकास की मूल बातें सीखें। 24 पाठों में से प्रत्येक में तरैरियम, ब्राउज़र एक्सटेंशन और स्पेस गेम जैसे प्रायोगिक परियोजनाओं के माध्यम से JavaScript, CSS, और HTML पर गहराई से चर्चा की गई है। क्विज़, चर्चाओं और व्यावहारिक असाइंमेंट्स के साथ जुड़ें। हमारे प्रभावी परियोजना-आधारित शिक्षण पद्धति के साथ अपने कौशल को निखारें और अपनी ज्ञान धारणा को बढ़ाएं। अपनी कोडिंग यात्रा आज ही शुरू करें! -Azure AI Foundry डिसकॉड समुदाय में शामिल हों +Azure AI Foundry Discord समुदाय में शामिल हों -इन संसाधनों का उपयोग शुरू करने के लिए इन चरणों का पालन करें: -1. **रिपॉजिटरी को फ़ोर्क करें**: क्लिक करें [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) -2. **रिपॉजिटरी को क्लोन करें**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) + +इन संसाधनों का उपयोग शुरू करने के लिए ये कदम उठाएं: +1. **रिपॉजिटरी फोर्क करें**: क्लिक करें [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +2. **रिपॉजिटरी क्लोन करें**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` 3. [**Azure AI Foundry Discord में शामिल हों और विशेषज्ञों तथा अन्य डेवलपर्स से मिलें**](https://discord.com/invite/ByRwuEEgH4) ### 🌐 बहुभाषी समर्थन -#### GitHub Action के माध्यम से समर्थित (स्वचालित और हमेशा अद्यतित) +#### GitHub Action के माध्यम से समर्थित (स्वचालित और हमेशा अपडेटेड) -> **क्या आप स्थानीय रूप से क्लोन करना पसंद करते हैं?** + +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](./README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) + +> **स्थानीय रूप से क्लोन करना पसंद है?** > -> इस रिपॉजिटरी में 50+ भाषा अनुवाद शामिल हैं, जिससे डाउनलोड आकार काफी बढ़ जाता है। बिना अनुवाद के क्लोन करने के लिए, sparse checkout का प्रयोग करें: +> यह रिपॉजिटरी 50+ भाषा अनुवाद शामिल करती है जो डाउनलोड आकार को काफी बढ़ा देती है। बिना अनुवाद के क्लोन करने के लिए स्पार्स चेकआउट का उपयोग करें: > > **Bash / macOS / Linux:** > ```bash @@ -31,168 +48,172 @@ Azure AI Foundry डिसकॉड समुदाय में शामिल > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> यह आपको कोर्स पूरा करने के लिए आवश्यक सब कुछ देता है और डाउनलोड भी तेज होता है। +> इससे आपको कोर्स पूरा करने के लिए आवश्यक सब कुछ अधिक तेजी से डाउनलोड मिलेगा। + + +**यदि आप अतिरिक्त अनुवाद भाषाओं को शामिल करना चाहते हैं, तो ये यहाँ सूचीबद्ध हैं [यहाँ](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** -**यदि आप अतिरिक्त अनुवाद भाषा चाहते हैं, तो वे [यहाँ](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md) सूचीबद्ध हैं** +[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) -#### 🧑‍🎓 _क्या आप एक छात्र हैं?_ +#### 🧑‍🎓 _क्या आप छात्र हैं?_ -[**छात्र हब पेज**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) देखें जहाँ आपको शुरुआती संसाधन, छात्र पैक और मुक्त सर्टिफिकेट वाउचर प्राप्त करने के तरीके मिलेंगे। यह वह पेज है जिसे आप बुकमार्क करें और समय-समय पर देखें क्योंकि हम मासिक रूप से सामग्री बदलते रहते हैं। +[**Student Hub पेज**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) पर जाएं जहाँ आप शुरुआती संसाधन, छात्र पैक और मुफ्त प्रमाणपत्र वाउचर प्राप्त करने के तरीके पा सकते हैं। यह पेज आपका पसंदीदा होना चाहिए और समय-समय पर जांचते रहना चाहिए क्योंकि हम मासिक रूप से कंटेंट अपडेट करते हैं। -### 📣 घोषणा - नए GitHub Copilot Agent मोड चुनौतियाँ पूरी करें! +### 📣 घोषणा - नए GitHub Copilot एजेंट मोड चुनौतियाँ पूरी करें! -नई चुनौती जोड़ी गई है, अधिकांश अध्यायों में "GitHub Copilot Agent Challenge 🚀" ढूंढें। यह GitHub Copilot और Agent मोड का उपयोग करके पूरी करने के लिए आपकी एक नई चुनौती है। यदि आपने पहले Agent मोड का उपयोग नहीं किया है, तो यह केवल टेक्स्ट उत्पन्न करने में सक्षम नहीं है, बल्कि यह फ़ाइलें बना सकता है, संपादित कर सकता है, कमांड चला सकता है और भी बहुत कुछ कर सकता है। +नई चुनौती जोड़ी गई है, अधिकांश अध्यायों में "GitHub Copilot Agent Challenge 🚀" देखें। यह आपकी नई चुनौती है जिसे आप GitHub Copilot और Agent मोड का उपयोग करके पूरा कर सकते हैं। अगर आपने पहले Agent मोड का उपयोग नहीं किया है, तो यह केवल टेक्स्ट जनरेट ही नहीं करता बल्कि फाइलें बना सकता है, संपादित कर सकता है, कमांड चला सकता है और बहुत कुछ कर सकता है। -### 📣 घोषणा - _Generative AI का उपयोग करके निर्माण करने के लिए नया प्रोजेक्ट_ +### 📣 घोषणा - _Generative AI का उपयोग करके नया प्रोजेक्ट बनाएँ_ नया AI सहायक प्रोजेक्ट अभी जोड़ा गया है, इसे देखें [project](./9-chat-project/README.md) -### 📣 घोषणा - _Javascript के लिए Generative AI_ पर नया पाठ्यक्रम अभी जारी किया गया है +### 📣 घोषणा - _Generative AI के लिए नया पाठ्यक्रम_ JavaScript के लिए अभी जारी किया गया -हमारा नया Generative AI पाठ्यक्रम न चूकें! +हमारा नया Generative AI पाठ्यक्रम खोना मत! -शुरू करने के लिए जाएँ [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) +शुरू करने के लिए जाएं [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course)! ![Background](../../translated_images/hi/background.148a8d43afde5730.webp) -- बुनियादी से RAG तक सब कुछ कवर करता पाठ। -- GenAI और हमारे सहायक ऐप का उपयोग कर ऐतिहासिक पात्रों के साथ बातचीत करें। -- मज़ेदार और आकर्षक कथा, आप समय यात्रा कर रहे होंगे! +- बुनियादी से लेकर RAG तक सब कुछ शामिल पाठ। +- GenAI और हमारे साथी ऐप के साथ ऐतिहासिक पात्रों के साथ संवाद करें। +- मजेदार और आकर्षक कथा, आप समय यात्रा पर हैं! ![character](../../translated_images/hi/character.5c0dd8e067ffd693.webp) -प्रत्येक पाठ में एक असाइनमेंट, ज्ञान जांच और एक चुनौती शामिल है जो आपको निम्न विषयों पर सीखने में मार्गदर्शन करती है: +हर पाठ में एक असाइंमेंट, ज्ञान जांच और एक चुनौती शामिल है जो आपको निम्न विषयों को सीखने में मार्गदर्शन करेगी: - प्रॉम्प्टिंग और प्रॉम्प्ट इंजीनियरिंग -- टेक्स्ट और इमेज एप जनरेशन -- सर्च एप्लिकेशन +- टेक्स्ट और छवि ऐप जनरेशन +- खोज ऐप्स + +शुरू करने के लिए जाएं [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course)! + -शुरू करने के लिए जाएँ [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) ## 🌱 शुरुआत करना -> **शिक्षकों**, हमने इस पाठ्यक्रम का उपयोग करने के लिए [कुछ सुझाव](for-teachers.md) शामिल किए हैं। हमें आपकी प्रतिक्रिया [हमारे डिस्कशन फोरम](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner) में पसंद आएगी! +> **शिक्षक**, हमने [कुछ सुझाव शामिल किए हैं](for-teachers.md) कि इस पाठ्यक्रम का उपयोग कैसे करें। हम आपके फीडबैक का स्वागत करते हैं [हमारे चर्चा मंच पर](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! -**[शिक्षार्थी](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, प्रत्येक पाठ के लिए, एक पूर्व व्याख्यान क्विज़ के साथ शुरू करें और व्याख्यान सामग्री पढ़ने, विभिन्न गतिविधियों को पूरा करने, और पोस्ट-व्याख्यान क्विज़ के साथ अपनी समझ जाँचें। +**[सीखने वाले](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, प्रत्येक पाठ के लिए, प्री-लेक्चर क्विज़ से शुरू करें और फिर व्याख्यान सामग्री पढ़ें, विभिन्न गतिविधियों को पूरा करें और पोस्ट-लेक्चर क्विज़ से अपनी समझ जांचें। -अपनी सीखने के अनुभव को बेहतर बनाने के लिए, अपने सहपाठियों के साथ जुड़ें और परियोजनाओं पर एक साथ काम करें! चर्चाओं का स्वागत है हमारे [डिस्कशन फोरम](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) में, जहाँ हमारे मॉडरेटर प्रश्नों का जवाब देने के लिए उपलब्ध होंगे। +अपने सीखने के अनुभव को बढ़ाने के लिए, अपने साथियों के साथ जुड़ें और परियोजनाओं पर मिलकर काम करें! चर्चाएँ हमारे [चर्चा मंच](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) में प्रोत्साहित की जाती हैं जहाँ हमारे मॉडरेटर आपकी प्रश्नों का जवाब देंगे। -अपनी शिक्षा को और बढ़ाने के लिए, हम अत्यधिक अनुशंसा करते हैं कि आप अतिरिक्त अध्ययन सामग्री के लिए [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) देखें। +अपनी शैक्षिक यात्रा को और आगे बढ़ाने के लिए, हम अतिरिक्त अध्ययन सामग्री के लिए [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) का पता लगाने की सलाह देते हैं। -### 📋 अपना पर्यावरण सेट करें +### 📋 अपना परिवेश सेट करना -इस पाठ्यक्रम के पास तैयार विकास पर्यावरण है! शुरुआत करते समय आप पाठ्यक्रम को [Codespace](https://github.com/features/codespaces/) (ब्राउज़र-आधारित, बिना इंस्टॉल के वातावरण) में चलाना चुन सकते हैं, या अपने कंप्यूटर पर स्थानीय रूप से [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) जैसे टेक्स्ट संपादक का उपयोग कर सकते हैं। +इस पाठ्यक्रम के लिए विकास पर्यावरण तैयार है! शुरुआत करते समय, आप इसे [Codespace](https://github.com/features/codespaces/) (_एक ब्राउज़र-आधारित, बिना इंस्टॉल के पर्यावरण_) में चला सकते हैं, या अपने कंप्यूटर पर कोई टेक्स्ट एडिटर जैसे [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) का उपयोग कर सकते हैं। #### अपनी रिपॉजिटरी बनाएँ -अपने कार्य को आसानी से सहेजने के लिए, ये अनुशंसित है कि आप इस रिपॉजिटरी की अपनी कॉपी बनाएं। आप इसे पेज के ऊपर के **Use this template** बटन पर क्लिक करके कर सकते हैं। यह आपके GitHub खाते में पाठ्यक्रम की एक कॉपी के साथ एक नई रिपॉजिटरी बनाएगा। +अपने कार्य को आसानी से संग्रहीत करने के लिए अपनी कॉपी बनाना अनुशंसित है। ऐसा करने के लिए पृष्ठ के शीर्ष पर **Use this template** बटन पर क्लिक करें। इससे आपके GitHub खाते में पाठ्यक्रम की कॉपी के साथ एक नई रिपॉजिटरी बन जाएगी। इन चरणों का पालन करें: -1. **रिपॉजिटरी को फ़ोर्क करें**: इस पेज के ऊपर-दाएं कोने में "Fork" बटन पर क्लिक करें। -2. **रिपॉजिटरी को क्लोन करें**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +1. **रिपॉजिटरी फोर्क करें**: इस पृष्ठ के ऊपरी-दाएँ कोने में "Fork" बटन पर क्लिक करें। +2. **रिपॉजिटरी क्लोन करें**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -#### एक Codespace में पाठ्यक्रम चलाएँ +#### Codespace में पाठ्यक्रम चलाना -आपकी बनाई गई इस रिपॉजिटरी की कॉपी में, **Code** बटन पर क्लिक करें और **Open with Codespaces** चुनें। यह आपके लिए काम करने के लिए एक नया Codespace बनाएगा। +जिस कॉपी की आपने बनाई है, उसमें **Code** बटन पर क्लिक करें और **Open with Codespaces** चुनें। इससे आपके काम के लिए नया Codespace बन जाएगा। ![Codespace](../../translated_images/hi/createcodespace.0238bbf4d7a8d955.webp) -#### अपने कंप्यूटर पर स्थानीय रूप से पाठ्यक्रम चलाएँ +#### अपने कंप्यूटर पर स्थानीय रूप से पाठ्यक्रम चलाना -अपने कंप्यूटर पर स्थानीय रूप से इस पाठ्यक्रम को चलाने के लिए, आपको एक टेक्स्ट संपादक, एक ब्राउज़र और एक कमांड लाइन टूल की आवश्यकता होगी। हमारा पहला पाठ, [Introduction to Programming Languages and Tools of the Trade](../../1-getting-started-lessons/1-intro-to-programming-languages), आपको इन टूल्स के विभिन्न विकल्पों के बारे में गाइड करेगा ताकि आप अपने लिए सबसे अच्छा विकल्प चुन सकें। +अपने कंप्यूटर पर इस पाठ्यक्रम को चलाने के लिए, आपको एक टेक्स्ट एडिटर, एक ब्राउज़र और एक कमांड लाइन टूल की ज़रूरत होगी। हमारा पहला पाठ, [प्रोग्रामिंग भाषाओं और ट्रेड टूल का परिचय](../../1-getting-started-lessons/1-intro-to-programming-languages), आपके लिए इन उपकरणों की विभिन्न विकल्पों के बारे में मार्गदर्शन करेगा। -हमारा सुझाव है कि आप [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) का उपयोग संपादक के रूप में करें, जिसमें एक अंतर्निहित [टर्मिनल](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) भी है। आप Visual Studio Code को [यहाँ](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) से डाउनलोड कर सकते हैं। -1. अपने रिपोजिटरी को अपने कंप्यूटर पर क्लोन करें। आप यह **Code** बटन पर क्लिक करके और URL कॉपी करके कर सकते हैं: +हमारी सिफारिश है कि आप अपने संपादक के रूप में [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) का उपयोग करें, जिसमें एक अंतर्निर्मित [टर्मिनल](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) भी है। आप Visual Studio Code को [यहाँ से डाउनलोड कर सकते हैं](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)। +1. अपने कंप्यूटर पर अपने रिपॉजिटरी को क्लोन करें। आप इसे **Code** बटन पर क्लिक करके और URL कॉपी करके कर सकते हैं: [CodeSpace](./images/createcodespace.png) - फिर, [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) के भीतर [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) खोलें और निम्नलिखित कमांड चलाएं, `` के स्थान पर वह URL डालें जो आपने अभी कॉपी किया है: + फिर, [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) के भीतर [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) खोलें और निम्न कमांड चलाएं, `` को उस URL से बदलते हुए जिसे आपने अभी कॉपी किया है: ```bash git clone ``` -2. Visual Studio Code में फ़ोल्डर खोलें। आप यह करके कर सकते हैं **File** > **Open Folder** पर क्लिक करके और उस फ़ोल्डर का चयन करके जिसे आपने अभी क्लोन किया है। +2. Visual Studio Code में फोल्डर खोलें। आप इसे **File** > **Open Folder** पर क्लिक करके और उस फोल्डर को चुनकर कर सकते हैं जिसे आपने अभी क्लोन किया है। - -> अनुशंसित Visual Studio Code एक्सटेंशन्स: +> अनुशंसित Visual Studio Code एक्सटेंशन: > > * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - Visual Studio Code के भीतर HTML पेजों का पूर्वावलोकन करने के लिए -> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - कोड तेजी से लिखने में मदद के लिए +> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - कोड तेजी से लिखने में मदद करने के लिए -## 📂 हर पाठ में शामिल हैं: +## 📂 प्रत्येक पाठ में शामिल हैं: - वैकल्पिक स्केचनोट - वैकल्पिक पूरक वीडियो -- प्री-लेसन वार्मअप क्विज़ +- पूर्व-पाठ वार्मअप क्विज़ - लिखित पाठ -- प्रोजेक्ट-आधारित पाठों के लिए, प्रोजेक्ट बनाने के चरण-दर-चरण मार्गदर्शिकाएँ +- प्रोजेक्ट-आधारित पाठों के लिए, परियोजना कैसे बनाएं पर चरण-दर-चरण मार्गदर्शिकाएँ - ज्ञान जांच - एक चुनौती - पूरक पठन - असाइनमेंट -- [पोस्ट-लेसन क्विज़](https://ff-quizzes.netlify.app/web/) +- [पाठोपरांत क्विज़](https://ff-quizzes.netlify.app/web/) -> **क्विज़ के बारे में एक नोट**: सभी क्विज़ क्विज़-ऐप फ़ोल्डर में हैं, कुल 48 क्विज़ जिनमें तीन-तीन प्रश्न हैं। ये [यहां](https://ff-quizzes.netlify.app/web/) उपलब्ध हैं, क्विज़ ऐप को स्थानीय रूप से चलाया जा सकता है या Azure पर परिनियोजित किया जा सकता है; `quiz-app` फ़ोल्डर में दिए निर्देशों का पालन करें। +> **क्विज़ के बारे में नोट**: सभी क्विज़ Quiz-app फोल्डर में निहित हैं, कुल 48 क्विज़, प्रत्येक में तीन प्रश्न। ये [यहाँ](https://ff-quizzes.netlify.app/web/) उपलब्ध हैं; क्विज़ ऐप स्थानीय रूप से चलाया जा सकता है या Azure पर तैनात किया जा सकता है; `quiz-app` फोल्डर में निर्देश का पालन करें। ## 🗃️ पाठ -| | प्रोजेक्ट का नाम | सिखाए गए अवधारणाएं | सीखने के उद्देश्य | लिंक्ड पाठ | लेखक | -| :-: | :----------------------------------------------------------: | :-----------------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------: | :-------------------: | -| 01 | शुरुआत करना | प्रोग्रामिंग और टूल्स का परिचय | अधिकांश प्रोग्रामिंग भाषाओं के पीछे के बुनियादी सिद्धांत सीखें और सॉफ़्टवेयर के बारे में जानें जो पेशेवर विकासकर्ताओं को मदद करता है | [प्रोग्रामिंग भाषाओं और टूल्स का परिचय](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | शुरुआत करना | GitHub के मूल बातें, टीम के साथ काम करना | अपने प्रोजेक्ट में GitHub का उपयोग कैसे करें, और किसी कोड बेस पर दूसरों के साथ सहयोग कैसे करें | [GitHub का परिचय](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | शुरुआत करना | एक्सेबिलिटी | वेब एक्सेसिबिलिटी के मूल बातें सीखें | [एक्सेसिबिलिटी के मूल सिद्धांत](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | JS बेसिक्स | जावास्क्रिप्ट डेटा टाइप | जावास्क्रिप्ट डेटा टाइप के मूल बातें | [डेटा टाइप](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | JS बेसिक्स | फंक्शन और मेथड्स | किसी एप्लिकेशन के लॉजिक फ्लो को प्रबंधित करने के लिए फंक्शन और मेथड्स के बारे में जानें | [फंक्शन और मेथड्स](./2-js-basics/2-functions-methods/README.md) | Jasmine और Christopher | -| 06 | JS बेसिक्स | JS के साथ निर्णय लेना | निर्णय लेने के तरीकों का उपयोग करके अपने कोड में कंडीशन्स कैसे बनाएं सीखें | [निर्णय लेना](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | JS बेसिक्स | एरे और लूप्स | जावास्क्रिप्ट में एरे और लूप्स का उपयोग करके डेटा के साथ काम करें | [एरे और लूप्स](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [टेरियम](./3-terrarium/solution/README.md) | HTML का अभ्यास | ऑनलाइन टेरियम बनाने के लिए HTML बनाएं, विशेष रूप से लेआउट बनाने पर ध्यान केंद्रित करें | [HTML का परिचय](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [टेरियम](./3-terrarium/solution/README.md) | CSS का अभ्यास | ऑनलाइन टेरियम को स्टाइल करने के लिए CSS बनाएं, जिसमें CSS की बुनियादें शामिल हैं और पेज को उत्तरदायी बनाना | [CSS का परिचय](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [टेरियम](./3-terrarium/solution/README.md) | जावास्क्रिप्ट क्लोज़र्स, DOM हेरफेर | टेरियम को ड्रैग/ड्रॉप इंटरफ़ेस के रूप में बनाने के लिए जावास्क्रिप्ट बनाएं, क्लोज़र्स और DOM हेरफेर पर ध्यान केंद्रित करें | [जावास्क्रिप्ट क्लोज़र्स, DOM हेरफेर](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [टाइपिंग गेम](./4-typing-game/solution/README.md) | टाइपिंग गेम बनाएं | अपने जावास्क्रिप्ट ऐप का लॉजिक चलाने के लिए कीबोर्ड इवेंट्स का उपयोग करना सीखें | [इवेंट-संचालित प्रोग्रामिंग](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [ग्रीन ब्राउज़र एक्सटेंशन](./5-browser-extension/solution/README.md) | ब्राउज़र के साथ काम करना | ब्राउज़र कैसे काम करते हैं, उनका इतिहास और ब्राउज़र एक्सटेंशन के पहले तत्वों को स्कैफोल्ड करना सीखें | [ब्राउज़र के बारे में](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [ग्रीन ब्राउज़र एक्सटेंशन](./5-browser-extension/solution/README.md) | फॉर्म बनाना, API कॉल करना और लोकल स्टोरेज में वेरिएबल स्टोर करना | अपने ब्राउज़र एक्सटेंशन के जावास्क्रिप्ट तत्व बनाएँ जो API कॉल करें और लोकल स्टोरेज में रखे गए वेरिएबल्स का उपयोग करें | [API, फॉर्म, और लोकल स्टोरेज](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [ग्रीन ब्राउज़र एक्सटेंशन](./5-browser-extension/solution/README.md) | ब्राउज़र में पृष्ठभूमि प्रक्रियाएं, वेब प्रदर्शन | एक्सटेंशन के आइकन को प्रबंधित करने के लिए ब्राउज़र की पृष्ठभूमि प्रक्रियाओं का उपयोग करें; वेब प्रदर्शन और कुछ अनुकूलन सीखें | [पृष्ठभूमि कार्य और प्रदर्शन](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [स्पेस गेम](./6-space-game/solution/README.md) | जावास्क्रिप्ट के साथ अधिक उन्नत गेम विकास | इनहेरिटेंस के बारे में जानें, क्लासेस और कंपोजीशन और Pub/Sub पैटर्न का उपयोग करके, गेम बनाने की तैयारी में | [उन्नत गेम विकास का परिचय](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [स्पेस गेम](./6-space-game/solution/README.md) | कैनवास पर ड्राइंग | Canvas API के बारे में जानें, जिसका उपयोग स्क्रीन पर तत्वों को ड्रॉ करने के लिए किया जाता है | [कैनवास पर ड्राइंग](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [स्पेस गेम](./6-space-game/solution/README.md) | स्क्रीन पर तत्वों को घुमाना | खोजें कि तत्व कैसा गति प्राप्त कर सकते हैं कार्टेशियन कोऑर्डिनेट्स और Canvas API का उपयोग करके | [तत्वों को घुमाना](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [स्पेस गेम](./6-space-game/solution/README.md) | टक्कर पता लगाना | तत्वों को टकराने दें और एक-दूसरे के प्रति प्रतिक्रिया दें कीप्रेस का उपयोग करके, और गेम के प्रदर्शन सुनिश्चित करने के लिए कूलडाउन फंक्शन प्रदान करें | [टक्कर पता लगाना](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [स्पेस गेम](./6-space-game/solution/README.md) | स्कोर बनाए रखना | गेम की स्थिति और प्रदर्शन के आधार पर गणितीय गणनाएँ करें | [स्कोर बनाए रखना](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [स्पेस गेम](./6-space-game/solution/README.md) | गेम को खत्म करना और पुनः शुरू करना | गेम खत्म करने और पुनः शुरू करने के बारे में जानें, जिसमें संसाधनों की सफाई और वेरिएबल मानों को रीसेट करना शामिल है | [समाप्ति शर्त](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [बैंकिंग ऐप](./7-bank-project/solution/README.md) | वेब ऐप में HTML टेम्प्लेट और रूट्स | रूटिंग और HTML टेम्प्लेट का उपयोग करते हुए एक मल्टिपेज वेबसाइट की संरचना बनाने का तरीका सीखें | [HTML टेम्प्लेट और रूट्स](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [बैंकिंग ऐप](./7-bank-project/solution/README.md) | लॉगिन और रजिस्ट्रेशन फॉर्म बनाएं | फॉर्म बनाना और वैधता प्रक्रियाओं को संभालने के बारे में जानें | [फॉर्म](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [बैंकिंग ऐप](./7-bank-project/solution/README.md) | डेटा प्राप्त करने और उपयोग करने के तरीके | आपका ऐप डेटा को कैसे प्रवाहित करता है, इसे कैसे प्राप्त करे, संग्रहित करे, और निपटाएं | [डेटा](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [बैंकिंग ऐप](./7-bank-project/solution/README.md) | स्टेट मैनेजमेंट की अवधारणाएं | सीखें कि आपका ऐप स्टेट को कैसे रखता है और प्रोग्रामेटिक रूप से इसे कैसे प्रबंधित करता है | [स्टेट मैनेजमेंट](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [ब्राउज़र/VScode कोड](../../8-code-editor) | VScode के साथ काम करना | सीखें कि कोड एडिटर का उपयोग कैसे करें | [VScode कोड एडिटर का उपयोग](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [एआई सहायक](./9-chat-project/README.md) | AI के साथ काम करना | अपना खुद का AI सहायक बनाना सीखें | [AI सहायक प्रोजेक्ट](./9-chat-project/README.md) | Chris | - -## 🏫 शिक्षा पद्धति - -हमारा पाठ्यक्रम दो मुख्य शैक्षिक सिद्धांतों के साथ डिज़ाइन किया गया है: -* प्रोजेक्ट-आधारित सीखना -* बारम्बार क्विज़ - -यह प्रोग्राम जावास्क्रिप्ट, HTML, और CSS के मूल सिद्धांतों के साथ-साथ आज के वेब डेवलपर्स द्वारा उपयोग किए जाने वाले नवीनतम टूल्स और तकनीकों को सिखाता है। छात्र टाइपिंग गेम, वर्चुअल टेरियम, इको-फ्रेंडली ब्राउज़र एक्सटेंशन, स्पेस-इनवेडर शैली के गेम, और व्यवसायों के लिए बैंकिंग ऐप बनाकर व्यावहारिक अनुभव प्राप्त करेंगे। श्रृंखला के अंत तक, छात्रों को वेब विकास की ठोस समझ प्राप्त हो जाएगी। - -> 🎓 आप इस पाठ्यक्रम के पहले कुछ पाठ [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) के रूप में Microsoft Learn पर ले सकते हैं! - -सुनिश्चित करके कि सामग्री प्रोजेक्ट के अनुरूप हो, प्रक्रिया को छात्रों के लिए अधिक आकर्षक बनाया जाता है और अवधारणाओं की पकड़ बढ़ती है। हमने जावास्क्रिप्ट बेसिक्स में कई प्रारंभिक पाठ भी तैयार किए हैं, जो अवधारणाओं का परिचय देते हैं, साथ ही "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" वीडियो ट्यूटोरियल संग्रह से एक वीडियो है, जिनके कुछ लेखक ने इस पाठ्यक्रम में योगदान दिया है। - -इसके अतिरिक्त, कक्षा से पहले एक कम जोखिम वाला क्विज़ छात्र की सीखने की इच्छा सेट करता है, जबकि कक्षा के बाद दूसरा क्विज़ और अधिक पकड़ सुनिश्चित करता है। यह पाठ्यक्रम लचीला और मज़ेदार बनाने के लिए डिज़ाइन किया गया है और संपूर्ण या आंशिक रूप से लिया जा सकता है। प्रोजेक्ट छोटे से शुरू होते हैं और 12 सप्ताह के चक्र के अंत तक काफी जटिल हो जाते हैं। - -जबकि हमने जावास्क्रिप्ट फ्रेमवर्क पेश करने से जानबूझकर बचा है ताकि एक वेब डेवलपर के रूप में आवश्यक बुनियादी कौशल पर ध्यान केंद्रित किया जा सके, इस पाठ्यक्रम को पूरा करने के बाद अगला अच्छा कदम Node.js के बारे में सीखना होगा, जो एक और वीडियो संग्रह "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)" के माध्यम से किया जा सकता है। - -> हमारे [व्यवहार संहिता](CODE_OF_CONDUCT.md) और [योगदान](CONTRIBUTING.md) दिशानिर्देश देखें। हम आपके रचनात्मक सुझावों का स्वागत करते हैं! - +| | परियोजना का नाम | सिखाई गई अवधारणाएं | शिक्षण उद्देश्य | लिंक्ड पाठ | लेखक | +| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | +| 01 | Getting Started | प्रोग्रामिंग और उपकरणों का परिचय | अधिकांश प्रोग्रामिंग भाषाओं के मूल तत्व और ऐसे सॉफ़्टवेयर के बारे में जानें जो पेशेवर डेवलपर्स को उनके कार्यों में मदद करते हैं | [प्रोग्रामिंग भाषाओं और उपकरणों का परिचय](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Getting Started | GitHub की बुनियादी बातें, जिसमें टीम के साथ काम शामिल है | अपने प्रोजेक्ट में GitHub कैसे उपयोग करें, एक कोड बेस पर दूसरों के साथ सहयोग कैसे करें | [GitHub का परिचय](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Getting Started | पहुंच योग्यता | वेब पहुंच योग्यता के मूल बातें सीखें | [पहुंच योग्यता के मूल तत्व](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | JS Basics | JavaScript डेटा प्रकार | JavaScript डेटा प्रकारों का परिचय | [डेटा प्रकार](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | JS Basics | फ़ंक्शंस और मेथड्स | एप्लिकेशन के लॉजिक फ्लो को प्रबंधित करने के लिए फ़ंक्शंस और मेथड्स के बारे में जानें | [फ़ंक्शंस और मेथड्स](./2-js-basics/2-functions-methods/README.md) | Jasmine और Christopher | +| 06 | JS Basics | JS के साथ निर्णय लेना | निर्णय लेने की विधियों का उपयोग करके अपने कोड में शर्तें कैसे बनाएं सीखें | [निर्णय लेना](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | JS Basics | ऐरे और लूप्स | JavaScript में डेटा के साथ ऐरे और लूप्स का उपयोग करें | [ऐरे और लूप्स](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML का अभ्यास | एक ऑनलाइन टेरैरियम बनाने के लिए HTML बनाएं, लेआउट निर्माण पर केंद्रित | [HTML का परिचय](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS का अभ्यास | ऑनलाइन टेरैरियम को स्टाइल करने के लिए CSS बनाएं, CSS के मूल बातें सीखते हुए पृष्ठ को उत्तरदायी बनाना | [CSS का परिचय](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript क्लोजर, DOM मैनिपुलेशन | टेरैरियम को ड्रैग/ड्रॉप इंटरफ़ेस के रूप में काम करने के लिए JavaScript बनाएं, क्लोजर और DOM मैनिपुलेशन पर ध्यान केंद्रित करें | [JavaScript क्लोजर, DOM मैनिपुलेशन](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Typing Game](./4-typing-game/solution/README.md) | एक टाइपिंग गेम बनाना | अपने JavaScript ऐप की लॉजिक को नियंत्रित करने के लिए कीबोर्ड इवेंट्स का उपयोग कैसे करें | [इवेंट-ड्रिवन प्रोग्रामिंग](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | ब्राउज़र के साथ काम करना | ब्राउज़र कैसे काम करते हैं, उनके इतिहास के बारे में जानें, और एक ब्राउज़र एक्सटेंशन के पहले तत्वों को स्कैफोल्ड कैसे करें | [ब्राउज़र्स के बारे में](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | एक फॉर्म बनाना, API कॉल करना और स्थानीय स्टोरेज में वेरिएबल्स स्टोर करना | अपने ब्राउज़र एक्सटेंशन के JavaScript तत्व बनाएं ताकि स्थानीय स्टोरेज में संग्रहित वेरिएबल्स का उपयोग करते हुए API कॉल करें | [APIs, फॉर्म, और स्थानीय स्टोरेज](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | ब्राउज़र में पृष्ठभूमि प्रक्रियाएँ, वेब प्रदर्शन | एक्सटेंशन के आइकन का प्रबंधन करने के लिए ब्राउज़र की पृष्ठभूमि प्रक्रियाओं का उपयोग करें; वेब प्रदर्शन और कुछ अनुकूलन की जानकारी प्राप्त करें | [पृष्ठभूमि कार्य और प्रदर्शन](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Space Game](./6-space-game/solution/README.md) | JavaScript के साथ अधिक उन्नत गेम विकास | इनहेरिटेंस के बारे में जानें, दोनों क्लासेस और कॉम्पोजीशन के साथ, और Pub/Sub पैटर्न के साथ, एक गेम निर्माण की तैयारी में | [उन्नत गेम विकास का परिचय](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Space Game](./6-space-game/solution/README.md) | कैनवास पर चित्र खींचना | स्क्रीन पर तत्वों को ड्रॉ करने के लिए उपयोग की जाने वाली Canvas API के बारे में जानें | [कैनवास पर ड्रॉइंग](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Space Game](./6-space-game/solution/README.md) | स्क्रीन पर तत्वों को घुमाना | पता लगाएं कि कैसे तत्व कार्टेशियन समन्वय और Canvas API का उपयोग करके गति प्राप्त कर सकते हैं | [तत्वों को घुमाना](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Space Game](./6-space-game/solution/README.md) | टक्कर का पता लगाना | तत्वों को आपस में टकराने और कीप्रेस का उपयोग करके प्रतिक्रिया देने के लिए बनाएं और गेम के प्रदर्शन को सुनिश्चित करने के लिए कूलडाउन फ़ंक्शन प्रदान करें | [टक्कर का पता लगाना](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Space Game](./6-space-game/solution/README.md) | स्कोर बनाए रखना | गेम की स्थिति और प्रदर्शन के आधार पर गणना करें | [स्कोर बनाए रखना](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Space Game](./6-space-game/solution/README.md) | गेम खत्म करना और पुनः प्रारंभ करना | गेम को समाप्त करने और पुनः प्रारंभ करने के बारे में जानें, जिसमें संसाधनों की सफाई और वेरिएबल मानों को रीसेट करना शामिल है | [समाप्ति शर्त](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Banking App](./7-bank-project/solution/README.md) | वेब ऐप में HTML टेम्पलेट्स और रूट्स | राउटिंग और HTML टेम्पलेट्स का उपयोग करके एक मल्टीपेज वेबसाइट की संरचना का निर्माण करना सीखें | [HTML टेम्पलेट्स और रूट्स](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Banking App](./7-bank-project/solution/README.md) | लॉगिन और रजिस्ट्रेशन फ़ॉर्म बनाएं | फॉर्म बनाने और वैधता प्रक्रियाओं के बारे में जानें | [फॉर्म](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Banking App](./7-bank-project/solution/README.md) | डेटा प्राप्त करने और उपयोग करने के तरीके | आपके ऐप में डेटा कैसे आता है और जाता है, इसे कैसे प्राप्त करें, संग्रहित करें और निपटान करें | [डेटा](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Banking App](./7-bank-project/solution/README.md) | राज्य प्रबंधन की अवधारणाएँ | अपने ऐप में राज्य कैसे रखा जाता है और इसे प्रोग्रामिंग द्वारा कैसे प्रबंधित करें | [राज्य प्रबंधन](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Browser/VScode Code](../../8-code-editor) | VScode के साथ काम करना | कोड संपादक के उपयोग के बारे में सीखें | [VScode कोड संपादक का उपयोग करें](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [AI Assistants](./9-chat-project/README.md) | AI के साथ काम करना | अपना स्वयं का AI सहायक कैसे बनाएं सीखें | [AI सहायक प्रोजेक्ट](./9-chat-project/README.md) | Chris | + +## 🏫 शिक्षणशास्त्र + +हमारा पाठ्यक्रम दो मुख्य शिक्षण सिद्धांतों के साथ डिजाइन किया गया है: +* प्रोजेक्ट-आधारित शिक्षण +* बार-बार क्विज़ + +यह कार्यक्रम JavaScript, HTML, और CSS के मूल सिद्धांतों के साथ-साथ आज के वेब डेवलपर्स द्वारा उपयोग किए जाने वाले नवीनतम उपकरणों और तकनीकों को सिखाता है। छात्रों को टाइपिंग गेम, वर्चुअल टेरैरियम, पर्यावरण के अनुकूल ब्राउज़र एक्सटेंशन, स्पेस-इनवेडर शैली गेम, और व्यवसायों के लिए एक बैंकिंग ऐप बनाने के माध्यम से व्यावहारिक अनुभव प्राप्त करने का अवसर मिलेगा। श्रृंखला के अंत तक, छात्रों को वेब विकास की ठोस समझ प्राप्त हो जाएगी। + +> 🎓 आप इस पाठ्यक्रम के पहले कुछ पाठों को Microsoft Learn पर [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) के रूप में ले सकते हैं! + +सुनिश्चित करके कि सामग्री परियोजनाओं के साथ मेल खाती है, प्रक्रिया छात्रों के लिए अधिक आकर्षक बनती है और अवधारणाओं का प्रतिधारण बढ़ता है। हमने कई शुरुआती पाठ JavaScript बुनियादी बातें में लिखे हैं ताकि अवधारणाओं का परिचय दिया जा सके, जिनके साथ "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" वीडियो ट्यूटोरियल संग्रह का एक वीडियो है, जिनमें से कुछ लेखक इस पाठ्यक्रम के योगदानकर्ता हैं। + +इसके अतिरिक्त, कक्षा से पहले एक कम-दांव वाला क्विज़ छात्र की सीखने की इच्छा को निर्धारित करता है, जबकि कक्षा के बाद दूसरा क्विज़ और अधिक अवधारणाओं को स्थायी बनाता है। यह पाठ्यक्रम लचीला और मजेदार होने के लिए डिजाइन किया गया है और इसे पूरी तरह या आंशिक रूप से लिया जा सकता है। परियोजनाएँ छोटी शुरुआत से शुरू होकर 12-सप्ताह के चक्र के अंत तक अधिक जटिल होती जाती हैं। + +हमने जानबूझकर JavaScript फ्रेमवर्क पेश करने से बचा है ताकि एक वेब डेवलपर के रूप में बुनियादी कौशलों पर ध्यान केंद्रित किया जा सके, फ्रेमवर्क अपनाने से पहले; इस पाठ्यक्रम को पूरा करने का अगला अच्छा कदम Node.js के बारे में सीखना होगा एक अन्य वीडियो संग्रह के माध्यम से: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)"। + +> हमारे [Code of Conduct](CODE_OF_CONDUCT.md) और [Contributing](CONTRIBUTING.md) गाइडलाइन्स देखें। हम आपकी रचनात्मक प्रतिक्रिया का स्वागत करते हैं! ## 🧭 ऑफ़लाइन एक्सेस -आप [Docsify](https://docsify.js.org/#/) का उपयोग करके इस दस्तावेज़ को ऑफ़लाइन चला सकते हैं। इस रिपोजिटरी को फोर्क करें, अपने स्थानीय मशीन पर [Docsify इंस्टॉल करें](https://docsify.js.org/#/quickstart), और फिर इस रिपोजिटरी के रूट फ़ोल्डर में टाइप करें `docsify serve`। वेबसाइट आपके लोकलहोस्ट पर पोर्ट 3000 पर सर्व होगी: `localhost:3000`। +आप [Docsify](https://docsify.js.org/#/) का उपयोग करके इस दस्तावेज़ को ऑफलाइन चला सकते हैं। इस रिपॉजिटरी को फोर्क करें, अपने स्थानीय मशीन पर [Docsify इंस्टॉल करें](https://docsify.js.org/#/quickstart), और फिर इस रिपॉजिटरी की रूट फ़ोल्डर में `docsify serve` टाइप करें। वेबसाइट आपके लोकलहोस्ट पर पोर्ट 3000 पर संचालित होगी: `localhost:3000`। -## 📘 PDF -सभी पाठों का एक पीडीएफ [यहाँ](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf) पाया जा सकता है। +## 📘 पीडीएफ +सभी पाठों का एक पीडीएफ [यहाँ](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf) उपलब्ध है। -## 🎒 अन्य पाठ्यक्रम -हमारी टीम अन्य पाठ्यक्रम भी बनाती है! देखें: +## 🎒 अन्य कोर्स + +हमारी टीम अन्य कोर्स भी बनाती है! देखें: ### LangChain @@ -208,7 +229,7 @@ Azure AI Foundry डिसकॉड समुदाय में शामिल [![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) --- - + ### जनरेटिव AI श्रृंखला [![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) [![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) @@ -216,8 +237,8 @@ Azure AI Foundry डिसकॉड समुदाय में शामिल [![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) --- - -### मुख्य शिक्षण + +### कोर सीखना [![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) [![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) [![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) @@ -227,20 +248,20 @@ Azure AI Foundry डिसकॉड समुदाय में शामिल [![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) --- - -### कॉपिलट श्रृंखला + +### Copilot श्रृंखला [![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) [![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) [![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) -## सहायता प्राप्त करना +## मदद प्राप्त करना -यदि आप फंसे हुए हैं या AI ऐप बनाने के बारे में कोई प्रश्न हैं, तो MCP के बारे में चर्चा में अन्य सीखने वालों और अनुभवी डेवलपर्स से जुड़ें। यह एक सहायक समुदाय है जहाँ प्रश्नों का स्वागत है और ज्ञान स्वतंत्र रूप से साझा किया जाता है। +यदि आप फंस गए हैं या AI एप्लिकेशन बनाने के बारे में कोई प्रश्न हैं। MCP के बारे में चर्चा में अन्य सीखने वालों और अनुभवी डेवलपर्स के साथ जुड़ें। यह एक सहायक समुदाय है जहां प्रश्न स्वागत है और ज्ञान स्वतंत्र रूप से साझा किया जाता है। [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -यदि आपके पास उत्पाद प्रतिक्रिया या निर्माण के दौरान त्रुटियाँ हैं तो यहाँ जाएँ: +यदि आपके पास उत्पाद प्रतिक्रिया है या निर्माण के दौरान त्रुटियाँ हो रही हैं तो यहाँ जाएँ: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) @@ -251,6 +272,6 @@ Azure AI Foundry डिसकॉड समुदाय में शामिल --- -**अस्वीकरण**: -यह दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनूदित किया गया है। जबकि हम सटीकता के लिए प्रयासरत हैं, कृपया ध्यान दें कि स्वचालित अनुवादों में त्रुटियाँ या असत्यताएँ हो सकती हैं। मूल दस्तावेज़ अपनी मातृभाषा में ही आधिकारिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम जिम्मेदार नहीं हैं। +**अस्वीकरण**: +यह दस्तावेज़ एआई अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनूदित किया गया है। जबकि हम सटीकता के लिए प्रयासरत हैं, कृपया ध्यान दें कि स्वचालित अनुवादों में त्रुटियाँ या गलतियां हो सकती हैं। मूल दस्तावेज़ अपनी मूल भाषा में ही प्राधिकृत स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं। \ No newline at end of file diff --git a/translations/hr/.co-op-translator.json b/translations/hr/.co-op-translator.json index 3d7db5dd95..ac407dd29a 100644 --- a/translations/hr/.co-op-translator.json +++ b/translations/hr/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T23:38:18+00:00", + "translation_date": "2026-04-06T17:00:55+00:00", "source_file": "AGENTS.md", "language_code": "hr" }, @@ -516,8 +516,8 @@ "language_code": "hr" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T15:02:12+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T16:56:27+00:00", "source_file": "README.md", "language_code": "hr" }, diff --git a/translations/hr/AGENTS.md b/translations/hr/AGENTS.md index 0f6405d998..7ca0f8cbda 100644 --- a/translations/hr/AGENTS.md +++ b/translations/hr/AGENTS.md @@ -2,56 +2,56 @@ ## Pregled projekta -Ovo je edukativni repozitorij za podučavanje temelja web razvoja početnicima. Kurikulum je obuhvatan tečaj u trajanju od 12 tjedana koji je razvijen od strane Microsoft Cloud Advocatesa, a sadrži 24 praktične lekcije pokrivajući JavaScript, CSS i HTML. +Ovo je edukacijski repozitorij za podučavanje osnova web razvoja početnicima. Kurikulum je sveobuhvatan tečaj od 12 tjedana koji su razvili Microsoft Cloud zagovornici, sa 24 praktične lekcije koje pokrivaju JavaScript, CSS i HTML. ### Ključne komponente -- **Edukativni sadržaj**: 24 strukturirane lekcije organizirane u module temeljene na projektima -- **Praktični projekti**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor i AI Chat Assistant -- **Interaktivni kvizovi**: 48 kvizova sa po 3 pitanja (prije/poslije lekcije) -- **Podrška za više jezika**: Automatski prijevodi za 50+ jezika preko GitHub Actions +- **Edukativni sadržaj**: 24 strukturirane lekcije organizirane u module temeljene na projektima +- **Praktični projekti**: Terrarium, igra tipkanja, ekstenzija za preglednik, svemirska igra, banka aplikacija, uređivač koda i AI chat asistent +- **Interaktivni kvizovi**: 48 kvizova sa po 3 pitanja (evaluacije prije i poslije lekcija) +- **Podrška za više jezika**: Automatizirani prijevodi za 50+ jezika putem GitHub Actions - **Tehnologije**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (za AI projekte) ### Arhitektura -- Edukativni repozitorij s organizacijom po lekcijama -- Svaka mapa lekcije sadrži README, primjere koda i rješenja -- Samostalni projekti u zasebnim direktorijima (quiz-app, razni projekti lekcija) -- Sustav za prijevod koristeći GitHub Actions (co-op-translator) +- Edukacijski repozitorij s lekcijskom strukturom +- Svaka mapa lekcije sadrži README, primjere koda i rješenja +- Samostalni projekti u zasebnim direktorijima (quiz-app, razni projekti lekcija) +- Sustav prijevoda koristeći GitHub Actions (co-op-translator) - Dokumentacija dostupna preko Docsify i kao PDF ## Komande za postavljanje -Ovaj repozitorij je prvenstveno namijenjen za konzumaciju edukativnog sadržaja. Za rad na specifičnim projektima: +Ovaj repozitorij je prvenstveno za konzumaciju edukativnog sadržaja. Za rad s pojedinim projektima: -### Glavno postavljanje repozitorija +### Postavljanje glavnog repozitorija ```bash git clone https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners ``` -### Postavljanje Quiz app (Vue 3 + Vite) +### Postavljanje Quiz aplikacije (Vue 3 + Vite) ```bash cd quiz-app npm install -npm run dev # Pokreni razvojni server +npm run dev # Pokreni razvojni poslužitelj npm run build # Izgradi za produkciju npm run lint # Pokreni ESLint ``` -### Bank Project API (Node.js + Express) +### Bankovni projekt API (Node.js + Express) ```bash cd 7-bank-project/api npm install -npm start # Pokreni API poslužitelj +npm start # Pokreni API server npm run lint # Pokreni ESLint npm run format # Formatiraj s Prettierom ``` -### Projekti browser ekstenzija +### Projekti ekstenzija za preglednik ```bash cd 5-browser-extension/solution @@ -59,7 +59,7 @@ npm install # Slijedite upute za učitavanje proširenja specifične za preglednik ``` -### Projekti Space game +### Projekti svemirske igre ```bash cd 6-space-game/solution @@ -67,46 +67,46 @@ npm install # Otvorite index.html u pregledniku ili koristite Live Server ``` -### Chat projekt (Python backend) +### Chat projekt (Python Backend) ```bash cd 9-chat-project/solution/backend/python pip install openai -# Postavite varijablu okoline GITHUB_TOKEN +# Postavi GITHUB_TOKEN varijablu okoline python api.py ``` -## Razvojni tijek rada +## Radni tijek razvoja ### Za suradnike na sadržaju -1. **Forkajte repozitorij** na svoj GitHub račun -2. **Klonirajte svoj fork** lokalno -3. **Napravite novu granu** za svoje promjene -4. Izvršite izmjene u sadržaju lekcija ili primjerima koda -5. Testirajte promjene koda u relevantnim direktorijima projekata -6. Podnesite pull request slijedeći smjernice za doprinos +1. **Forkajte repozitorij** na svoj GitHub račun +2. **Klonirajte svoj fork** lokalno +3. **Napravite novu granu** za svoje promjene +4. Izmijenite sadržaj lekcija ili primjere koda +5. Testirajte promjene koda u relevantnim direktorijima projekata +6. Pošaljite pull requestove prateći smjernice za doprinos ### Za učenike -1. Forkajte ili klonirajte repozitorij -2. Krenite redom kroz mape lekcija -3. Pročitajte README datoteke za svaku lekciju -4. Riješite kvizove prije lekcije na https://ff-quizzes.netlify.app/web/ -5. Prođite kroz primjere koda u mapama lekcija -6. Završite zadatke i izazove -7. Riješite kvizove nakon lekcije +1. Forkajte ili klonirajte repozitorij +2. Redom prolazite kroz direktorije lekcija +3. Čitajte README datoteke za svaku lekciju +4. Riješite pred-lezijske kvizove na https://ff-quizzes.netlify.app/web/ +5. Prođite primjere koda u mapama lekcija +6. Ispratite zadatke i izazove +7. Odgovorite na post-lezijske kvizove -### Razvoj u stvarnom vremenu +### Aktivni razvoj -- **Dokumentacija**: Pokrenite `docsify serve` u root direktoriju (port 3000) -- **Quiz App**: Pokrenite `npm run dev` u quiz-app direktoriju -- **Projekti**: Koristite VS Code Live Server ekstenziju za HTML projekte +- **Dokumentacija**: Pokrenite `docsify serve` u korijenu (port 3000) +- **Quiz App**: Pokrenite `npm run dev` u direktoriju quiz-app +- **Projekti**: Koristite VS Code Live Server ekstenziju za HTML projekte - **API projekti**: Pokrenite `npm start` u odgovarajućim API direktorijima ## Upute za testiranje -### Testiranje Quiz app +### Testiranje Quiz aplikacije ```bash cd quiz-app @@ -114,169 +114,169 @@ npm run lint # Provjerite ima li problema sa stilom koda npm run build # Provjerite je li izgradnja uspješna ``` -### Testiranje Bank API +### Testiranje Bank API-ja ```bash cd 7-bank-project/api -npm run lint # Provjeri probleme sa stilom koda -node server.js # Provjeri da li se server pokreće bez grešaka +npm run lint # Provjerite probleme sa stilom koda +node server.js # Provjerite pokreće li se server bez pogrešaka ``` ### Opći pristup testiranju -- Ovo je edukativni repozitorij bez potpune automatizirane testne pokrivenosti -- Ručno testiranje fokusira se na: - - Primjere koda da se izvršavaju bez grešaka - - Da linkovi u dokumentaciji rade ispravno - - Da se projekti mogu uspješno buildati - - Primjere koji slijede najbolje prakse +- Ovo je edukacijski repozitorij bez sveobuhvatnih automatiziranih testova +- Ručno testiranje fokusira se na: + - Primjere koda koji se izvršavaju bez grešaka + - Ispravnost linkova u dokumentaciji + - Uspješno dovršen build projekata + - Primjere u skladu s najboljim praksama -### Provjere prije podnošenja +### Provjere prije slanja -- Pokrenite `npm run lint` u direktorijima s package.json -- Provjerite valjanost markdown linkova -- Testirajte primjere koda u pregledniku ili Node.js -- Provjerite održavanje strukture u prijevodima +- Pokrenite `npm run lint` u direktorijima s package.json +- Provjerite valjanost markdown linkova +- Testirajte primjere koda u pregledniku ili Node.js +- Provjerite da prijevodi održavaju ispravnu strukturu -## Smjernice za stil kodiranja +## Smjernice za stil koda ### JavaScript -- Koristite modernu ES6+ sintaksu -- Slijedite standardne ESLint konfiguracije iz projekata -- Koristite smisleno imenovanje varijabli i funkcija radi bolje edukativne jasnoće -- Dodajte komentare koji objašnjavaju koncepte za učenike -- Formatirajte kod koristeći Prettier gdje je konfigurirano +- Koristite modernu ES6+ sintaksu +- Pridržavajte se standardnih ESLint konfiguracija u projektima +- Koristite značenjem bogate nazive varijabli i funkcija za edukativnu jasnoću +- Dodajte komentare koji objašnjavaju koncepte za učenike +- Formatirajte kod pomoću Prettiera gdje je konfigurirano ### HTML/CSS -- Semantički HTML5 elementi -- Principi responzivnog dizajna -- Jasne konvencije imenovanja klasa -- Komentari koji objašnjavaju CSS tehnike za učenike +- Semantički HTML5 elementi +- Principi responzivnog dizajna +- Jasan sustav imenovanja klasa +- Komentari koji pojašnjavaju CSS tehnike za učenike ### Python -- Smjernice za stil PEP 8 -- Jasni, edukativni primjeri koda -- Tipizacija tamo gdje je korisna za učenje +- Slijedite PEP 8 stil +- Jasni, edukativni primjeri koda +- Tipizacija gdje pomaže za učenje ### Markdown dokumentacija -- Jasna hijerarhija naslova -- Blokovi koda s označenim jezikom -- Linkovi na dodatne izvore -- Screenshoti i slike u mapama `images/` +- Jasna hijerarhija naslova +- Blokovi koda s označenim jezikom +- Linkovi na dodatne resurse +- Screenshoti i slike u mapama `images/` - Alt tekst za slike radi pristupačnosti ### Organizacija datoteka -- Lekcije numerirane sekvencijalno (1-getting-started-lessons, 2-js-basics, itd.) -- Svaki projekt ima mape `solution/` i često `start/` ili `your-work/` -- Slike pohranjene u lekcijski specifičnim mapama `images/` +- Lekcije numerirane uzlazno (1-getting-started-lessons, 2-js-basics itd.) +- Svaki projekt sadrži `solution/` i često `start/` ili `your-work/` mape +- Slike pohranjene u mapama `images/` specifičnim za lekciju - Prijevodi u strukturi `translations/{language-code}/` -## Izrada i deploy +## Izgradnja i implementacija -### Deploy Quiz app (Azure Static Web Apps) +### Implementacija Quiz aplikacije (Azure Static Web Apps) -quiz-app je podešen za Azure Static Web Apps deployment: +Quiz-app je konfigurirana za implementaciju na Azure Static Web Apps: ```bash cd quiz-app npm run build # Stvara mapu dist/ -# Postavlja putem GitHub Actions tijeka rada pri pushanju na main +# Raspoređuje putem GitHub Actions workflow-a prilikom push-a na main ``` -Konfiguracija Azure Static Web Apps: -- **Lokacija aplikacije**: `/quiz-app` -- **Lokacija izlaza**: `dist` +Konfiguracija Azure Static Web Apps: +- **Lokacija aplikacije**: `/quiz-app` +- **Izlazna mapa**: `dist` - **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` ### Generiranje PDF dokumentacije ```bash npm install # Instalirajte docsify-to-pdf -npm run convert # Generiraj PDF iz docsa +npm run convert # Generirajte PDF iz docsa ``` ### Docsify dokumentacija ```bash -npm install -g docsify-cli # Instalirajte Docsify globalno +npm install -g docsify-cli # Globalno instalirajte Docsify docsify serve # Poslužite na localhost:3000 ``` -### Build specifični za projekte +### Svojstvene gradnje projekata -Svaki direktorij projekta može imati svoj build proces: -- Vue projekti: `npm run build` kreira produkcijske bundleove -- Statički projekti: Nema build koraka, služenje datoteka direktno +Svaki projekt može imati svoj proces izgradnje: +- Vue projekti: `npm run build` kreira produkcijske bundle +- Statički projekti: Nema izgradnje, datoteke se serviraju direktno -## Smjernice za pull requestove +## Smjernice za pull request ### Format naslova -Koristite jasne, opisne naslove koji označavaju područje izmjene: -- `[Quiz-app] Dodaj novi kviz za lekciju X` -- `[Lesson-3] Ispravi tipfelere u terrarium projektu` -- `[Translation] Dodaj španjolski prijevod za lekciju 5` +Koristite jasne, opisne naslove koji označavaju područje promjene: +- `[Quiz-app] Dodaj novi kviz za lekciju X` +- `[Lesson-3] Ispravi tipfeler u terrarium projektu` +- `[Translation] Dodaj španjolski prijevod za lekciju 5` - `[Docs] Ažuriraj upute za postavljanje` ### Potrebne provjere -Prije podnošenja PR-a: +Prije slanja PR-a: -1. **Kvaliteta koda**: - - Pokrenite `npm run lint` u pogođenim projekt direktorijima - - Ispravite sve lint greške i upozorenja +1. **Kvaliteta koda**: + - Pokrenite `npm run lint` u pogođenim direktorijima projekata + - Ispravite sve linting greške i upozorenja -2. **Provjera builda**: - - Pokrenite `npm run build` ako je primjenjivo - - Osigurajte da nema build grešaka +2. **Provjera builda**: + - Pokrenite `npm run build` ako je primjenjivo + - Provjerite da nema grešaka u buildu -3. **Provjera linkova**: - - Testirajte sve markdown linkove - - Provjerite da reference na slike rade +3. **Validacija linkova**: + - Testirajte sve markdown linkove + - Provjerite ispravnost referenci na slike -4. **Pregled sadržaja**: - - Provjerite pravopis i gramatiku - - Potvrdite da su primjeri koda točni i edukativni - - Osigurajte da prijevodi zadržavaju izvornu poruku +4. **Pregled sadržaja**: + - Le Korrekture pravopisa i gramatike + - Osigurajte da su primjeri koda točni i edukativni + - Provjerite da prijevodi točno prenose značenje ### Zahtjevi za doprinos -- Prihvatite Microsoft CLA (automatska provjera pri prvom PR-u) -- Slijedite [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) -- Pogledajte [CONTRIBUTING.md](./CONTRIBUTING.md) za detaljne smjernice -- Referencirajte brojeve issue-a u opisu PR-a ako je primjenjivo +- Prihvatite Microsoft CLA (automatska provjera kod prvog PR-a) +- Pridržavajte se [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) +- Pogledajte [CONTRIBUTING.md](./CONTRIBUTING.md) za detaljne smjernice +- Uključite brojeve problema u opis PR-a ako je primjenjivo ### Proces pregleda -- PR-ove pregledavaju maintaineri i zajednica -- Prioritet je edukativna jasnoća -- Primjeri koda trebaju slijediti aktualne najbolje prakse -- Prijevodi se pregledavaju radi točnosti i prikladnosti kulture +- PR-ove pregledavaju održavatelji i zajednica +- Prioritet je edukativna jasnoća +- Primjeri koda trebaju slijediti aktualne najbolje prakse +- Prijevodi se pregledavaju zbog točnosti i kulturne prikladnosti ## Sustav prijevoda ### Automatski prijevod -- Koristi GitHub Actions s co-op-translator workflowom -- Automatski prevodi na 50+ jezika -- Izvorne datoteke u glavnim direktorijima -- Prevedene datoteke u mapama `translations/{language-code}/` +- Koristi GitHub Actions s co-op-translator workflowom +- Automatski prevodi na 50+ jezika +- Izvorne datoteke u glavnim direktorijima +- Prevedene datoteke u `translations/{language-code}/` direktorijima ### Dodavanje ručnih poboljšanja prijevoda -1. Pronađite datoteku u `translations/{language-code}/` -2. Napravite poboljšanja dok čuvate strukturu -3. Osigurajte da primjeri koda ostaju funkcionalni -4. Testirajte lokalizirani kviz sadržaj +1. Pronađite datoteku u `translations/{language-code}/` +2. Izvršite poboljšanja uz očuvanje strukture +3. Provjerite da primjeri koda ostaju funkcionalni +4. Testirajte lokalizirani sadržaj kvizova ### Metapodaci prijevoda -Prevedene datoteke sadrže zaglavlje metapodataka: +Prevedene datoteke sadrže zaglavlje metapodataka: ```markdown ``` -## Otklanjanje pogrešaka i rješavanje problema +## Debugiranje i rješavanje problema -### Uobičajeni problemi +### Česti problemi -**Quiz app se ne pokreće**: -- Provjerite verziju Node.js (preporučeno v14+) -- Izbrišite `node_modules` i `package-lock.json`, zatim pokrenite `npm install` ponovno -- Provjerite konflikt porta (default: Vite koristi port 5173) +**Quiz aplikacija se ne pokreće**: +- Provjerite verziju Node.js (preporuka v14+) +- Obrišite `node_modules` i `package-lock.json`, pokrenite ponovno `npm install` +- Provjerite konflikte portova (zadano: Vite koristi port 5173) -**API server se ne pokreće**: -- Provjerite je li verzija Node.js minimalno node >=10 -- Provjerite koristi li neko drugi već port -- Osigurajte da su sve ovisnosti instalirane s `npm install` +**API server se ne pokreće**: +- Provjerite minimalnu verziju Node.js (node >=10) +- Provjerite je li port zauzet +- Osigurajte da su sve ovisnosti instalirane s `npm install` -**Browser ekstenzija se ne učitava**: -- Provjerite da je manifest.json pravilno formatiran -- Provjerite konzolu preglednika radi grešaka -- Slijedite upute za instalaciju specifične za preglednik +**Ekstenzija preglednika se ne učitava**: +- Provjerite je li manifest.json ispravno formatiran +- Provjerite konzolu preglednika za greške +- Slijedite upute za instalaciju ekstenzija za konkretan preglednik -**Problemi s Python chat projektom**: -- Provjerite je li instaliran OpenAI paket: `pip install openai` -- Provjerite je li varijabla okoline GITHUB_TOKEN postavljena -- Provjerite pristupni token za GitHub modele +**Problemi s chat projektom u Pythonu**: +- Osigurajte da je paket OpenAI instaliran: `pip install openai` +- Provjerite je li postavljena varijabla okoline GITHUB_TOKEN +- Provjerite dozvole pristupa GitHub Models -**Docsify ne prikazuje dokumentaciju**: -- Instalirajte docsify-cli globalno: `npm install -g docsify-cli` -- Pokrenite iz root direktorija repozitorija +**Docsify ne prikazuje dokumente**: +- Instalirajte docsify-cli globalno: `npm install -g docsify-cli` +- Pokrenite iz korijena repozitorija - Provjerite postoji li `docs/_sidebar.md` ### Savjeti za razvojno okruženje -- Koristite VS Code s Live Server ekstenzijom za HTML projekte -- Instalirajte ESLint i Prettier ekstenzije za konzistentno formatiranje -- Koristite browser DevTools za debugiranje JavaScript-a -- Za Vue projekte instalirajte Vue DevTools ekstenziju u preglednik +- Koristite VS Code s Live Server ekstenzijom za HTML projekte +- Instalirajte ESLint i Prettier ekstenzije za dosljedno formatiranje +- Koristite DevTools preglednika za debugiranje JavaScript-a +- Za Vue projekte instalirajte Vue DevTools ekstenziju preglednika -### Razmatranja performansi +### Performanse -- Velik broj prevedenih datoteka (50+ jezika) znači velike full clone-ove -- Koristite shallow clone ako radite samo na sadržaju: `git clone --depth 1` -- Isključite prijevode iz pretraživanja kada radite na engleskom sadržaju -- Build procesi mogu biti spori pri prvom pokretanju (npm install, Vite build) +- Velik broj prevedenih datoteka (50+ jezika) znači da su puni klonovi veliki +- Koristite shallow clone ako radite samo na sadržaju: `git clone --depth 1` +- Izuzmite prijevode iz pretraživanja prilikom rada na engleskom sadržaju +- Procesi buildanja mogu biti spori pri prvom pokretanju (npm install, Vite build) ## Sigurnosne napomene -### Okolišne varijable +### Varijable okoline -- API ključevi nikada ne smiju biti komitirani u repozitorij -- Koristite `.env` datoteke (već u `.gitignore`) -- Dokumentirajte potrebne okolišne varijable u README-ima projekata +- API ključevi se nikada ne smiju komitirati u repozitorij +- Koristite `.env` datoteke (već u `.gitignore`) +- Dokumentirajte potrebne varijable okoline u README-ima projekata ### Python projekti -- Koristite virtualna okruženja: `python -m venv venv` -- Održavajte ovisnosti ažurnima -- GitHub tokeni trebaju imati minimalna potrebna dopuštenja +- Koristite virtualna okruženja: `python -m venv venv` +- Održavajte ovisnosti ažurirane +- GitHub tokeni trebaju imati minimalne potrebne dozvole -### Pristup GitHub modelima +### Pristup GitHub Models -- Potrebni su Personal Access Tokens (PAT) za GitHub modele -- Tokene treba čuvati kao okolišne varijable -- Nikada nemojte komitirati tokene ili pristupne podatke +- Za GitHub Models potrebni su Personal Access Tokeni (PAT) +- Tokeni se trebaju pohraniti kao varijable okoline +- Nikad ne komitirajte tokene ili pristupne podatke ## Dodatne napomene ### Ciljana publika -- Potpuni početnici u web razvoju -- Studenti i samouki učenici -- Nastavnici koji koriste kurikulum u učionicama -- Sadržaj je dizajniran za pristupačnost i postupno usvajanje vještina +- Potpuni početnici u web razvoju +- Studenti i samouki učenici +- Nastavnici koji koriste kurikulum u učionicama +- Sadržaj je dizajniran za pristupačnost i postupno izgrađivanje vještina ### Edukativna filozofija -- Pristup temeljen na projektima -- Česti provjeri znanja (kvizovi) -- Praktične vježbe kodiranja -- Primjeri primjene u stvarnom svijetu -- Fokus na temelje prije frameworka +- Projektno učenje +- Česte provjere znanja (kvizovi) +- Praktične vježbe kodiranja +- Primjeri primjene u stvarnom svijetu +- Fokus na osnovama prije frameworka ### Održavanje repozitorija -- Aktivna zajednica učenika i suradnika -- Redovita ažuriranja ovisnosti i sadržaja -- Pratiti issue-e i diskusije maintaineri -- Ažuriranja prijevoda automatizirana preko GitHub Actions +- Aktivna zajednica učenika i suradnika +- Redovna ažuriranja ovisnosti i sadržaja +- Problemi i diskusije nadzirani od strane održavatelja +- Ažuriranja prijevoda automatizirana putem GitHub Actions ### Povezani resursi -- [Microsoft Learn moduli](https://docs.microsoft.com/learn/) -- [Student Hub resursi](https://docs.microsoft.com/learn/student-hub/) -- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) preporučen za učenike -- Dodatni tečajevi: Generativni AI, Data Science, ML, IoT kurikulumi dostupni +- [Microsoft Learn moduli](https://docs.microsoft.com/learn/) +- [Student Hub resursi](https://docs.microsoft.com/learn/student-hub/) +- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) preporučen za učenike +- Dodatni tečajevi: Generative AI, Data Science, ML, IoT kurikulumi dostupni -### Rad sa specifičnim projektima +### Rad s pojedinim projektima -Za detaljne upute o pojedinačnim projektima, pogledajte README datoteke u: -- `quiz-app/README.md` - Vue 3 aplikacija za kviz -- `7-bank-project/README.md` - Bankarska aplikacija s autentifikacijom -- `5-browser-extension/README.md` - Razvoj browser ekstenzije -- `6-space-game/README.md` - Razvoj igre u canvasu -- `9-chat-project/README.md` - Projekt AI chat asistenta +Za detaljne upute o pojedinačnim projektima, pogledajte README datoteke u: +- `quiz-app/README.md` - Vue 3 aplikacija kviza +- `7-bank-project/README.md` - Bankovna aplikacija s autentikacijom +- `5-browser-extension/README.md` - Razvoj ekstenzije za preglednik +- `6-space-game/README.md` - Razvoj igre koristeći Canvas +- `9-chat-project/README.md` - AI chat asistent projekt -### Struktura Monorepo-a +### Struktura monorepa -Iako nije tradicionalni monorepo, ovaj repozitorij sadrži više neovisnih projekata: -- Svaka lekcija je samostalna cjelina -- Projekti ne dijele ovisnosti -- Radite pojedinačno na projektima bez utjecaja na druge -- Klonirajte cijeli repozitorij za potpuni kurikulum iskustvo +Iako nije tradicionalni monorepo, ovaj repozitorij sadrži više neovisnih projekata: +- Svaka lekcija je samostalna +- Projekti ne dijele ovisnosti +- Radite na pojedinim projektima bez utjecaja na druge +- Klonirajte cijeli repozitorij za kompletno iskustvo kurikuluma --- -**Odricanje**: -Ovaj dokument preveden je pomoću AI prevoditeljskog servisa [Co-op Translator](https://github.com/Azure/co-op-translator). Iako težimo točnosti, molimo imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku smatra se službenim izvorom. Za kritične informacije preporučuje se profesionalni ljudski prijevod. Ne snosimo odgovornost za bilo kakve nesporazume ili pogrešna tumačenja proizašla iz korištenja ovog prijevoda. +**Odricanje od odgovornosti**: +Ovaj dokument preveden je koristeći AI servis za prevođenje [Co-op Translator](https://github.com/Azure/co-op-translator). Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku smatra se autoritativnim izvorom. Za kritične informacije preporučuje se profesionalni ljudski prijevod. Ne snosimo odgovornost za bilo kakva nesporazuma ili pogrešne interpretacije koje proizlaze iz uporabe ovog prijevoda. \ No newline at end of file diff --git a/translations/hr/README.md b/translations/hr/README.md index 30ba7d4d7f..aa8b798548 100644 --- a/translations/hr/README.md +++ b/translations/hr/README.md @@ -10,29 +10,29 @@ [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -# Razvoj weba za početnike - Nastavni plan +# Web development za početnike - Nastavni plan -Naučite osnove web razvoja kroz naš sveobuhvatni 12-tjedni tečaj kojeg vode Microsoft Cloud Advocatei. Svaka od 24 lekcije detaljno obrađuje JavaScript, CSS i HTML kroz praktične projekte poput terarija, proširenja za preglednike i svemirskih igara. Uključite se u kvizove, rasprave i praktične zadatke. Unaprijedite svoje vještine i optimizirajte usvajanje znanja pomoću naše učinkovite pedagoške metode temeljenje na projektima. Započnite svoje programersko putovanje već danas! +Naučite osnove web razvoja s našim opsežnim tečajem od 12 tjedana koji vode Microsoft Cloud zagovaratelji. Svaka od 24 lekcija detaljno obrađuje JavaScript, CSS i HTML kroz praktične projekte kao što su terariji, proširenja preglednika i igre u svemiru. Uključite se u kvizove, rasprave i praktične zadatke. Poboljšajte svoje vještine i optimizirajte zadržavanje znanja našom učinkovitošću pedagoškog pristupa zasnovanog na projektima. Započnite svoje kodiranje danas! Pridružite se Azure AI Foundry Discord zajednici [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Slijedite ove korake da biste započeli s korištenjem ovih resursa: -1. **Forkajte repozitorij**: Kliknite [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) -2. **Klonirajte repozitorij**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**Pridružite se Azure AI Foundry Discordu i upoznajte stručnjake i kolege developere**](https://discord.com/invite/ByRwuEEgH4) +Slijedite ove korake za početak korištenja ovih resursa: +1. **Razvucite spremište**: Kliknite [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +2. **Klonirajte spremište**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +3. [**Pridružite se Azure AI Foundry Discordu i upoznajte stručnjake i kolege programere**](https://discord.com/invite/ByRwuEEgH4) ### 🌐 Podrška za više jezika -#### Podržano putem GitHub akcija (Automatski i uvijek ažurirano) +#### Podržano putem GitHub akcije (Automatski i uvijek ažurno) -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](./README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](./README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) -> **Radije klonirati lokalno?** +> **Radije lokalno klonirati?** > -> Ovaj repozitorij uključuje više od 50 prijevoda što značajno povećava veličinu preuzimanja. Za kloniranje bez prijevoda, koristite sparse checkout: +> Ovo spremište uključuje prevode na 50+ jezika što znatno povećava veličinu preuzimanja. Za kloniranje bez prijevoda, koristite sparse checkout: > > **Bash / macOS / Linux:** > ```bash @@ -48,42 +48,42 @@ Slijedite ove korake da biste započeli s korištenjem ovih resursa: > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> Ovo vam daje sve što vam treba za dovršetak tečaja s puno bržim preuzimanjem. +> Ovo vam daje sve što je potrebno za dovršavanje tečaja uz mnogo brže preuzimanje. -**Ako želite da budu podržani dodatni jezici za prijevod, oni su navedeni [ovdje](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**Ako želite dodati podršku za dodatne jezike, popis podržanih jezika nalazi se [ovdje](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** -[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Otvorite%20u%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) +[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) #### 🧑‍🎓 _Jeste li student?_ -Posjetite [**Student Hub stranicu**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) gdje ćete pronaći resurse za početnike, studentske pakete pa čak i načine kako dobiti besplatni certifikat. Ovo je stranica koju želite označiti i povremeno provjeravati jer mjesečno mijenjamo sadržaje. +Posjetite [**Student Hub stranicu**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) gdje ćete pronaći resurse za početnike, studentske pakete pa čak i načine za dobivanje besplatnog vaučera za certifikat. Ovo je stranica koju biste trebali označiti i povremeno provjeravati jer redovito mijenjamo sadržaj. -### 📣 Objavljeno - Novi izazovi uz GitHub Copilot Agent mode! +### 📣 Najava - Novi izazovi u GitHub Copilot Agent modu za dovršiti! -Dodani su novi izazovi, potražite "GitHub Copilot Agent Challenge 🚀" u većini poglavlja. To je novi izazov koji možete dovršiti koristeći GitHub Copilot i Agent mode. Ako niste ranije koristili Agent mode, on ne samo da generira tekst već može i kreirati i uređivati datoteke, izvršavati naredbe i još mnogo toga. +Dodani su novi izazovi, pogledajte "GitHub Copilot Agent Challenge 🚀" u većini poglavlja. To je novi izazov koji trebate dovršiti koristeći GitHub Copilot i Agent mod. Ako do sada niste koristili Agent mod, on ne samo da može generirati tekst, već i stvarati i uređivati datoteke, pokretati naredbe i više. -### 📣 Objavljeno - _Novi projekt za izgradnju korištenjem generativne AI_ +### 📣 Najava - _Novi projekt za izgraditi koristeći Generativnu AI_ -Upravo dodat novi AI Assistant projekt, pogledajte [projekt](./9-chat-project/README.md) +Novi AI Assistant projekt upravo dodan, pogledajte [projekt](./9-chat-project/README.md) -### 📣 Objavljeno - _Novi nastavni plan_ o generativnoj AI za JavaScript upravo je objavljen +### 📣 Najava - _Novi Nastavni plan_ o Generativnoj AI za JavaScript upravo je objavljen -Ne propustite naš novi nastavni plan o generativnoj AI! +Ne propustite naš novi nastavni plan o Generativnoj AI! Posjetite [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) za početak! ![Background](../../translated_images/hr/background.148a8d43afde5730.webp) -- Lekcije pokrivaju sve od osnova do RAG-a. -- Interakcija s povijesnim likovima kroz GenAI i našu prateću aplikaciju. -- Zabavno i zanimljivo pripovijedanje, putovat ćete kroz vrijeme! +- Lekcije koje pokrivaju sve od osnova do RAG-a. +- Interakcija s povijesnim likovima koristeći GenAI i našu aplikaciju suputnicu. +- Zabavan i zanimljiv narativ, putovat ćete kroz vrijeme! ![character](../../translated_images/hr/character.5c0dd8e067ffd693.webp) -Svaka lekcija uključuje zadatak za dovršiti, provjeru znanja i izazov za učenje tema poput: -- Promptanje i prompt inženjering +Svaka lekcija uključuje zadatak za dovršiti, provjeru znanja i izazov koji vas vodi kroz teme kao što su: +- Promptanje i inženjering prompta - Generiranje tekstualnih i slikovnih aplikacija - Pretraživačke aplikacije @@ -91,190 +91,190 @@ Posjetite [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) za po -## 🌱 Početak +## 🌱 Početak rada -> **Nastavnici**, uključili smo [neke prijedloge](for-teachers.md) kako koristiti ovaj nastavni plan. Voljeli bismo vaše povratne informacije [na našem forumu za rasprave](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! +> **Nastavnici**, uključili smo [neke prijedloge](for-teachers.md) kako koristiti ovaj nastavni plan. Voljeli bismo vaše povratne informacije [u našem forumu za raspravu](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! -**[Učenici](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, za svaku lekciju započnite s pred-lecture kvizom, zatim pročitajte predavanje, dovršite različite aktivnosti i provjerite svoje razumijevanje pomoću post-lecture kviza. +**[Učeći](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, za svaku lekciju započnite s predpredavanjem kvizom i nastavite s čitanjem materijala predavanja, dovršavanjem raznih aktivnosti i provjerite svoje razumijevanje s postpredavačkim kvizom. -Za povećanje svog iskustva učenja, povezujte se s kolegama i radite projekte zajedno! Poticanje rasprava je u našem [forumu za rasprave](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) gdje je naš tim moderatora dostupan za odgovaranje na vaša pitanja. +Kako biste poboljšali svoje iskustvo učenja, povežite se sa svojim vršnjacima da zajedno radite na projektima! Rasprave su poticane na našem [forum za raspravu](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) gdje će naš tim moderatora biti dostupan za odgovore na vaša pitanja. Za daljnje obrazovanje, toplo preporučujemo istraživanje [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) za dodatne materijale za učenje. ### 📋 Postavljanje vašeg okruženja -Ovaj nastavni plan ima spremno razvojno okruženje! Kada započnete, možete odabrati pokretanje nastavnog plana u [Codespaceu](https://github.com/features/codespaces/) (_okruženje bazirano na pregledniku bez potrebe za instalacijama_), ili lokalno na vašem računalu koristeći tekstualni uređivač poput [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +Ovaj nastavni plan ima razvojno okruženje spremno za upotrebu! Kad započnete, možete odabrati za pokretanje nastavnog plana u [Codespaceu](https://github.com/features/codespaces/) (_okruženje temeljeno na pregledniku, bez potrebe za instalacijama_), ili lokalno na vašem računalu koristeći uređivač teksta kao što je [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -#### Kreirajte svoj repozitorij -Kako biste jednostavno spremili svoj rad, preporučuje se da kreirate vlastitu kopiju ovog repozitorija. To možete učiniti klikom na gumb **Use this template** na vrhu stranice. Time će se u vašem GitHub računu kreirati novi repozitorij s kopijom nastavnog plana. +#### Izradite svoje spremište +Kako biste si olakšali spremanje vašeg rada, preporučuje se da napravite vlastitu kopiju ovog spremišta. To možete napraviti klikom na gumb **Use this template** na vrhu stranice. Time ćete stvoriti novo spremište na vašem GitHub računu s kopijom nastavnog plana. Slijedite ove korake: -1. **Forkajte repozitorij**: Kliknite na gumb "Fork" u gornjem desnom kutu ove stranice. -2. **Klonirajte repozitorij**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +1. **Razvucite spremište**: Kliknite na gumb "Fork" u gornjem desnom kutu ove stranice. +2. **Klonirajte spremište**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` #### Pokretanje nastavnog plana u Codespaceu -U vašoj kopiji ovog repozitorija kliknite na gumb **Code** i odaberite **Open with Codespaces**. Time će se kreirati novi Codespace u kojem ćete raditi. +U svojoj kopiji ovog spremišta koju ste napravili, kliknite na gumb **Code** i odaberite **Open with Codespaces**. To će stvoriti novi Codespace u kojem možete raditi. ![Codespace](../../translated_images/hr/createcodespace.0238bbf4d7a8d955.webp) #### Pokretanje nastavnog plana lokalno na vašem računalu -Da biste ovaj nastavni plan pokrenuli lokalno na računalu, trebat će vam tekstualni uređivač, preglednik i alat za naredbenu liniju. Naša prva lekcija, [Uvod u programske jezike i alate](../../1-getting-started-lessons/1-intro-to-programming-languages), provest će vas kroz različite opcije za svaki od ovih alata kako biste odabrali što vam najviše odgovara. +Za pokretanje ovog nastavnog plana lokalno na vašem računalu, potreban vam je uređivač teksta, preglednik i alat naredbene linije. Naša prva lekcija, [Uvod u programske jezike i alate struke](../../1-getting-started-lessons/1-intro-to-programming-languages), pokazat će vam različite opcije za svaki od ovih alata kako biste mogli odabrati ono što vam najbolje odgovara. -Naša preporuka je da koristite [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) kao uređivač koji također ima ugrađeni [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Visual Studio Code možete preuzeti [ovdje](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -1. Klonirajte vaš repozitorij na računalo. To možete učiniti klikom na gumb **Code** i kopiranjem URL-a: +Naša preporuka je korištenje [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) kao uređivača, koji također ima ugrađeni [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Visual Studio Code možete preuzeti [ovdje](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +1. Klonirajte svoj repozitorij na svoje računalo. To možete učiniti klikom na gumb **Code** i kopiranjem URL-a: [CodeSpace](./images/createcodespace.png) - Zatim otvorite [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) unutar [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) i pokrenite sljedeću naredbu, zamjenjujući `` s URL-om koji ste upravo kopirali: + Zatim otvorite [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) unutar [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) i pokrenite sljedeću naredbu, zamjenjujući `` URL-om koji ste upravo kopirali: ```bash git clone ``` -2. Otvorite mapu u Visual Studio Code. To možete učiniti klikom na **File** > **Open Folder** i odabirom mape koju ste upravo klonirali. +2. Otvorite mapu u Visual Studio Code-u. To možete učiniti klikom na **File** > **Open Folder** i odabirom mape koju ste upravo klonirali. -> Preporučeni dodaci za Visual Studio Code: +> Preporučeni Visual Studio Code dodaci: > -> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - za pregled HTML stranica unutar Visual Studio Codea +> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - za pregled HTML stranica unutar Visual Studio Code-a > * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - za pomoć pri bržem pisanju koda ## 📂 Svaka lekcija uključuje: -- neobaveznu skicu -- neobavezni dodatni video +- opcionalni sketchnote +- opcionalni dodatni video - kviz za zagrijavanje prije lekcije - pisanu lekciju -- za lekcije temeljene na projektima, korak-po-korak vodiče za izgradnju projekta +- za lekcije temeljene na projektima, vodiče korak-po-korak o izradi projekta - provjere znanja - izazov -- dodatno čitanje +- dodatnu literaturu - zadatak - [kviz nakon lekcije](https://ff-quizzes.netlify.app/web/) -> **Napomena o kvizovima**: Svi kvizovi su u mapi Quiz-app, ukupno 48 kvizova s po tri pitanja. Dostupni su [ovdje](https://ff-quizzes.netlify.app/web/); aplikacija kviza može se pokrenuti lokalno ili implementirati u Azure; slijedite upute u mapi `quiz-app`. +> **Napomena o kvizovima**: Svi kvizovi nalaze se u mapi Quiz-app, ukupno 48 kvizova s po tri pitanja. Dostupni su [ovdje](https://ff-quizzes.netlify.app/web/); aplikacija za kviz može se pokrenuti lokalno ili postaviti na Azure; slijedite upute u mapi `quiz-app`. ## 🗃️ Lekcije -| | Naziv projekta | Koncepti koji se podučavaju | Ciljevi učenja | Povezana lekcija | Autor | -| :-: | :-------------------------------------------------------: | :--------------------------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------ | :-----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | Početak rada | Uvod u programiranje i alate trgovine | Naučite osnovne temelje iza većine programskih jezika i o softveru koji pomaže profesionalnim programerima u njihovom radu | [Uvod u programske jezike i alate](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | Početak rada | Osnove GitHub-a, uključuje rad u timu | Kako koristiti GitHub u vašem projektu, kako surađivati s drugima na bazi koda | [Uvod u GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | Početak rada | Pristupačnost | Naučite osnove pristupačnosti weba | [Osnove pristupačnosti](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | Osnove JS | JavaScript tipovi podataka | Osnove tipova podataka u JavaScriptu | [Tipovi podataka](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | Osnove JS | Funkcije i metode | Naučite o funkcijama i metodama za upravljanje tokom logike aplikacije | [Funkcije i metode](./2-js-basics/2-functions-methods/README.md) | Jasmine i Christopher | -| 06 | Osnove JS | Donošenje odluka u JS | Naučite kako kreirati uvjete u vašem kodu koristeći metode za donošenje odluka | [Donošenje odluka](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | Osnove JS | Nizovi i petlje | Radite s podacima koristeći nizove i petlje u JavaScriptu | [Nizovi i petlje](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrarij](./3-terrarium/solution/README.md) | HTML u praksi | Izgradite HTML za online terarij, fokusirajući se na izradu rasporeda | [Uvod u HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrarij](./3-terrarium/solution/README.md) | CSS u praksi | Izgradite CSS za stiliziranje online terarija, fokusirajući se na osnove CSS-a uključujući responsivni dizajn stranice | [Uvod u CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrarij](./3-terrarium/solution/README.md) | JavaScript closures, manipulacija DOM-om | Izgradite JavaScript koji omogućava funkcionalnost terarija kao povuci-i-ispusti sučelja, fokusirajući se na closures i DOM | [JavaScript closures, manipulacija DOM-om](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Igra tipkanja](./4-typing-game/solution/README.md) | Izradite igru tipkanja | Naučite koristiti događaje tipkovnice za upravljanje logikom vaše JavaScript aplikacije | [Programiranje vođeno događajima](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Ekstenzija za zeleno pregledavanje](./5-browser-extension/solution/README.md) | Rad s preglednicima | Naučite kako preglednici rade, njihovu povijest i kako izgraditi prve elemente ekstenzije preglednika | [O preglednicima](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Ekstenzija za zeleno pregledavanje](./5-browser-extension/solution/README.md) | Izrada obrasca, pozivanje API-ja i pohrana varijabli u lokalnu pohranu | Izradite JavaScript elemente vaše ekstenzije za preglednik za pozivanje API-ja koristeći varijable pohranjene u lokalnu pohranu | [API-ji, obrasci i lokalna pohrana](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Ekstenzija za zeleno pregledavanje](./5-browser-extension/solution/README.md) | Pozadinski procesi u pregledniku, web performanse | Koristite pozadinske procese preglednika za upravljanje ikonom ekstenzije; naučite o web performansama i nekim optimizacijama | [Pozadinski zadaci i performanse](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Igra u svemiru](./6-space-game/solution/README.md) | Naprednija izrada igara s JavaScriptom | Naučite o nasljeđivanju koristeći i klase i kompoziciju te Pub/Sub obrascu, kao pripremu za izradu igre | [Uvod u naprednu izradu igara](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [Igra u svemiru](./6-space-game/solution/README.md) | Crtanje na platnu | Naučite o Canvas API-ju, koji se koristi za crtanje elemenata na zaslonu | [Crtanje na platnu](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Igra u svemiru](./6-space-game/solution/README.md) | Pomicanje elemenata po zaslonu | Otkrijte kako elementi mogu dobiti gibanje koristeći kartezijanske koordinate i Canvas API | [Pomicanje elemenata](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Igra u svemiru](./6-space-game/solution/README.md) | Detekcija sudara | Neka se elementi sudaraju i međusobno reagiraju korištenjem pritisaka tipki i izvedite funkciju cooldown za osiguranje performansi igre | [Detekcija sudara](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Igra u svemiru](./6-space-game/solution/README.md) | Vođenje rezultata | Izvršite matematičke izračune temeljene na statusu igre i izvedbi | [Vođenje rezultata](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Igra u svemiru](./6-space-game/solution/README.md) | Završetak i ponovno pokretanje igre | Naučite o završavanju i ponovnom pokretanju igre, uključujući čišćenje resursa i resetiranje vrijednosti varijabli | [Uvjet završetka](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [Bankarska aplikacija](./7-bank-project/solution/README.md) | HTML predlošci i rute u web aplikaciji | Naučite kako napraviti arhitekturu višestranične web stranice koristeći rutiranje i HTML predloške | [HTML predlošci i rute](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [Bankarska aplikacija](./7-bank-project/solution/README.md) | Izrada obrasca za prijavu i registraciju | Naučite o izradi obrazaca i rukovanju procedurama validacije | [Obrasci](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [Bankarska aplikacija](./7-bank-project/solution/README.md) | Metode dohvaćanja i korištenja podataka | Kako podaci ulaze i izlaze iz vaše aplikacije, kako ih dohvatiti, pohraniti i odbaciti | [Podaci](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [Bankarska aplikacija](./7-bank-project/solution/README.md) | Koncepti upravljanja stanjem | Naučite kako vaša aplikacija zadržava stanje i kako ga upravljati programatski | [Upravljanje stanjem](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Browser/VScode Code](../../8-code-editor) | Rad s VScode | Naučite kako koristiti uređivač koda | [Korištenje VScode uređivača](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [AI asistenti](./9-chat-project/README.md) | Rad s AI | Naučite kako izgraditi vlastitog AI asistenta | [AI projekt asistenta](./9-chat-project/README.md) | Chris | +| | Naziv projekta | Pojmovi koji se uče | Ciljevi učenja | Povezana lekcija | Autor | +| :-: | :--------------------------------------------------------: | :------------------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------: | :---------------------: | +| 01 | Početak rada | Uvod u programiranje i alati struke | Naučite osnovne osnove većine programskih jezika i o softveru koji pomaže profesionalnim programerima u njihovom radu | [Uvod u programske jezike i alate struke](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Početak rada | Osnove GitHuba, uključujući rad u timu | Kako koristiti GitHub u svom projektu, kako surađivati s drugima na kodnoj bazi | [Uvod u GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Početak rada | Pristupačnost | Naučite osnove web pristupačnosti | [Osnove pristupačnosti](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | Osnove JS | JavaScript tipovi podataka | Osnove JavaScript tipova podataka | [Tipovi podataka](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | Osnove JS | Funkcije i metode | Učite o funkcijama i metodama za upravljanje logikom aplikacije | [Funkcije i metode](./2-js-basics/2-functions-methods/README.md) | Jasmine i Christopher | +| 06 | Osnove JS | Donošenje odluka s JS | Naučite kako kreirati uvjete u svom kodu koristeći metode donošenja odluka | [Donošenje odluka](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | Osnove JS | Nizovi i petlje | Rad s podacima korištenjem nizova i petlji u JavaScriptu | [Nizovi i petlje](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarij](./3-terrarium/solution/README.md) | HTML u praksi | Izgradite HTML za online terarij, fokusirajući se na izradu rasporeda | [Uvod u HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarij](./3-terrarium/solution/README.md) | CSS u praksi | Izgradite CSS za stiliziranje online terarija, fokusirajući se na osnove CSS-a uključujući prilagodbu stranice | [Uvod u CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarij](./3-terrarium/solution/README.md) | JavaScript zatvaranja, manipulacija DOM-om | Izradite JavaScript da terarij funkcionira kao sučelje za povlačenje i ispuštanje, fokusirajući se na zatvaranja i manipulaciju DOM-a | [JavaScript zatvaranja, manipulacija DOM-om](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Igra tipkanja](./4-typing-game/solution/README.md) | Izgradnja igre tipkanja | Naučite kako koristiti događaje tipkovnice za upravljanje logikom vaše JavaScript aplikacije | [Programiranje vođeno događajima](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Zeleni proširenje preglednika](./5-browser-extension/solution/README.md) | Rad s preglednicima | Naučite kako preglednici rade, njihovu povijest i kako napraviti osnove proširenja za preglednik | [O preglednicima](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Zeleni proširenje preglednika](./5-browser-extension/solution/README.md) | Izrada forme, pozivanje API-ja i pohranjivanje varijabli u lokalnu pohranu | Izradite JavaScript elemente za vaše proširenje preglednika za pozivanje API-ja koristeći varijable pohranjene u lokalnoj pohrani | [API, forme i lokalna pohrana](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Zeleni proširenje preglednika](./5-browser-extension/solution/README.md) | Pozadinski procesi u pregledniku, web performanse | Koristite pozadinske procese preglednika za upravljanje ikonom proširenja; naučite o web performansama i nekim optimizacijama | [Pozadinski zadaci i performanse](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Igra u svemiru](./6-space-game/solution/README.md) | Napredniji razvoj igara s JavaScriptom | Naučite o nasljeđivanju koristeći klase i kompoziciju kao i Pub/Sub obrazac, kao pripremu za izgradnju igre | [Uvod u napredni razvoj igara](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Igra u svemiru](./6-space-game/solution/README.md) | Crtanje na platnu | Naučite o Canvas API-ju koji se koristi za crtanje elemenata na zaslonu | [Crtanje na platnu](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Igra u svemiru](./6-space-game/solution/README.md) | Pomicanje elemenata po zaslonu | Saznajte kako elementi mogu dobiti pokret koristeći kartezijanske koordinate i Canvas API | [Pomicanje elemenata](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Igra u svemiru](./6-space-game/solution/README.md) | Detekcija sudara | Omogućite da se elementi sudaraju i međusobno reagiraju koristeći tipke te pružite funkciju hladnog vremena radi performansi | [Detekcija sudara](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Igra u svemiru](./6-space-game/solution/README.md) | Vođenje rezultata | Izvršite matematičke izračune na temelju statusa i performansi igre | [Vođenje rezultata](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Igra u svemiru](./6-space-game/solution/README.md) | Završavanje i ponovno pokretanje igre | Naučite o završavanju i ponovnom pokretanju igre, uključujući čišćenje resursa i resetiranje varijabli | [Uvjeti završetka](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Bankarska aplikacija](./7-bank-project/solution/README.md) | HTML predlošci i rute u web aplikaciji | Naučite kako napraviti kostur arhitekture višestranične web stranice koristeći routanje i HTML predloške | [HTML predlošci i rute](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Bankarska aplikacija](./7-bank-project/solution/README.md) | Izgradnja forme za prijavu i registraciju | Naučite o izradi formi i postupanju s rutama validacije | [Forme](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Bankarska aplikacija](./7-bank-project/solution/README.md) | Metode dohvaćanja i korištenja podataka | Kako podaci ulaze u aplikaciju i izlaze iz nje, kako ih dohvatiti, pohraniti i ukloniti | [Podaci](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Bankarska aplikacija](./7-bank-project/solution/README.md) | Koncepti upravljanja stanjem | Naučite kako vaša aplikacija zadržava stanje i kako ga programatski upravljati | [Upravljanje stanjem](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Code preglednik/VScode](../../8-code-editor) | Rad s VScode | Naučite koristiti uređivač koda | [Korištenje VScode uređivača koda](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [AI asistenti](./9-chat-project/README.md) | Rad s umjetnom inteligencijom | Naučite kako izraditi vlastitog AI asistenta | [Projekt AI asistenta](./9-chat-project/README.md) | Chris | ## 🏫 Pedagogija -Naš kurikulum je dizajniran s dvije ključne pedagoške smjernice: +Naš kurikulum je osmišljen s dva ključna pedagoška principa na umu: * učenje temeljeno na projektima -* učestali kvizovi +* česti kvizovi -Program uči osnove JavaScripta, HTML-a i CSS-a, kao i najnovije alate i tehnike koje koriste današnji web programeri. Studenti će imati priliku razviti praktično iskustvo izradom igre tipkanja, virtualnog terarija, ekološki prihvatljive proširenje za preglednik, igre u stilu space invadera i bankarske aplikacije za poduzeća. Na kraju serije, studenti će imati čvrsto razumijevanje web razvoja. +Program podučava osnove JavaScript-a, HTML-a i CSS-a, kao i najnovije alate i tehnike koje koriste današnji web programeri. Studenti će imati priliku steći praktično iskustvo izradom igre tipkanja, virtualnog terarija, ekološki prihvatljivog proširenja za preglednike, igre u stilu space-invadera i bankovne aplikacije za poduzeća. Na kraju serije, studenti će imati solidno razumijevanje web razvoja. -> 🎓 Prve lekcije ovog kurikuluma možete proći kao [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) na Microsoft Learn! +> 🎓 Prve lekcije ovog kurikuluma možete pohađati kao [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) na Microsoft Learn! -Osiguravanjem podudarnosti sadržaja s projektima, proces je angažiraniji za studente i zadržavanje koncepata će biti poboljšano. Također smo napisali nekoliko uvodnih lekcija o osnovama JavaScripta za upoznavanje s konceptima, uparene s videom iz zbirke video tutorijala "[Početnička serija za: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", od kojih su neki autori doprinijeli ovom kurikulumu. +Osiguravanjem usklađenosti sadržaja s projektima proces je zanimljiviji za studente i povećava zadržavanje pojmova. Također smo napisali nekoliko početnih lekcija o osnovama JavaScript-a kako bismo uveli koncepte, uparene s videozapisom iz kolekcije "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", od kojih su neki autori pridonijeli ovom kurikulumu. -Osim toga, kviz s niskim ulozima prije sata usmjerava namjeru učenika prema učenju teme, dok drugi kviz nakon predavanja osigurava dodatno zadržavanje. Ovaj kurikulum je dizajniran da bude fleksibilan i zabavan te može se pohađati u cjelini ili djelomično. Projekti počinju mali i postaju sve složeniji do kraja 12-tjednog ciklusa. +Uz to, nizak-rizik kviz prije nastave postavlja namjeru studenta za učenje teme, dok drugi kviz nakon nastave osigurava dodatno zadržavanje. Ovaj je kurikulum dizajniran da bude fleksibilan i zabavan te se može pohađati u cijelosti ili djelomično. Projekti počinju jednostavno, a do kraja 12-tjednog ciklusa postaju sve složeniji. -Iako smo namjerno izbjegavali uvođenje JavaScript frameworka kako bismo se koncentrirali na osnovne vještine potrebne kao web programer prije usvajanja frameworka, dobar sljedeći korak u dovršetku ovog kurikuluma bilo bi učenje o Node.js putem druge zbirke videozapisa: "[Početnička serija za: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +Iako smo namjerno izbjegavali uvođenje JavaScript okvira da bismo se usredotočili na osnovne vještine potrebne kao web programer prije usvajanja okvira, dobar sljedeći korak nakon završetka ovog kurikuluma bio bi naučiti o Node.js kroz drugu kolekciju videozapisa: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> Posjetite naše smjernice [Kodeksa ponašanja](CODE_OF_CONDUCT.md) i [Doprinos](CONTRIBUTING.md). Dobrodošli su vaši konstruktivni komentari! +> Posjetite naše smjernice [Kodeksa ponašanja](CODE_OF_CONDUCT.md) i [Doprinos](CONTRIBUTING.md). Veselimo se vašim konstruktivnim povratnim informacijama! -## 🧭 Pristup izvan mreže +## 🧭 Pristup bez interneta -Ovu dokumentaciju možete pokrenuti izvan mreže koristeći [Docsify](https://docsify.js.org/#/). Forkajte ovaj repozitorij, [instalirajte Docsify](https://docsify.js.org/#/quickstart) na svoje lokalno računalo, a zatim u korijenskoj mapi ovog repozitorija upišite `docsify serve`. Web stranica će se poslužiti na portu 3000 na vašem localhostu: `localhost:3000`. +Ovu dokumentaciju možete prikazati offline koristeći [Docsify](https://docsify.js.org/#/). Forkajte ovaj repozitorij, [instalirajte Docsify](https://docsify.js.org/#/quickstart) na svoje lokalno računalo, i zatim u korijenskoj mapi ovog repozitorija upišite `docsify serve`. Web stranica će biti poslužena na portu 3000 na vašem localhostu: `localhost:3000`. ## 📘 PDF -PDF svih lekcija možete pronaći [ovdje](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). +PDF svih lekcija može se pronaći [ovdje](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). -## 🎒 Drugi tečajevi +## 🎒 Ostali Tečajevi Naš tim proizvodi i druge tečajeve! Pogledajte: ### LangChain -[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) -[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) -[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain4j za početnike](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) +[![LangChain.js za početnike](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain za početnike](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) --- -### Azure / Edge / MCP / Agents -[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) -[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) -[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) +### Azure / Edge / MCP / Agenti +[![AZD za početnike](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Edge AI za početnike](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![MCP za početnike](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) +[![AI Agenti za početnike](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) --- -### Serija Generativne AI -[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) -[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) -[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) +### Serija Generativnog AI +[![Generativni AI za početnike](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Generativni AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) +[![Generativni AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) +[![Generativni AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) --- ### Osnovno učenje -[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) -[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) -[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) -[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) -[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) -[![IoT for Beginners](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) -[![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) +[![ML za početnike](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) +[![Data Science za početnike](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) +[![AI za početnike](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) +[![Cybersecurity za početnike](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) +[![Web razvoj za početnike](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) +[![IoT za početnike](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) +[![XR razvoj za početnike](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) --- ### Serija Copilot -[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) -[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) -[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) +[![Copilot za AI uparenog programiranja](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) +[![Copilot za C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) +[![Copilot Avantura](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) ## Dobivanje pomoći -Ako zapnete ili imate bilo kakvih pitanja o izradi AI aplikacija, pridružite se ostalim polaznicima i iskusnim developerima u raspravama o MCP-u. To je podržavajuća zajednica gdje su pitanja dobrodošla, a znanje se slobodno dijeli. +Ako zapnete ili imate pitanja o izradi AI aplikacija, pridružite se drugim učenicima i iskusnim programerima u raspravama o MCP-u. To je podržavajuća zajednica u kojoj su pitanja dobrodošla, a znanje se slobodno dijeli. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Ako imate povratne informacije o proizvodu ili prijavite greške tijekom izrade, posjetite: +Ako imate povratne informacije o proizvodu ili greške tijekom izrade, posjetite: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) ## Licenca -Ovo spremište licencirano je pod MIT licencom. Pogledajte datoteku [LICENSE](../../LICENSE) za više informacija. +Ovaj repozitorij licenciran je pod MIT licencom. Pogledajte datoteku [LICENSE](../../LICENSE) za više informacija. --- **Odricanje od odgovornosti**: -Ovaj dokument je preveden pomoću AI usluge za prevođenje [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za važne informacije preporučuje se profesionalni ljudski prijevod. Ne snosimo odgovornost za bilo kakva nesporazuma ili pogrešna tumačenja koja proizlaze iz korištenja ovog prijevoda. +Ovaj dokument je preveden pomoću AI prevoditeljskog servisa [Co-op Translator](https://github.com/Azure/co-op-translator). Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati službenim izvorom. Za kritične informacije preporučuje se profesionalni ljudski prijevod. Ne snosimo odgovornost za bilo kakva nesporazuma ili pogrešne interpretacije koje proizlaze iz korištenja ovog prijevoda. \ No newline at end of file diff --git a/translations/hu/.co-op-translator.json b/translations/hu/.co-op-translator.json index c0fb2154e0..e2502e5aa2 100644 --- a/translations/hu/.co-op-translator.json +++ b/translations/hu/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T19:44:46+00:00", + "translation_date": "2026-04-06T15:51:17+00:00", "source_file": "AGENTS.md", "language_code": "hu" }, @@ -516,8 +516,8 @@ "language_code": "hu" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T15:50:16+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T15:46:20+00:00", "source_file": "README.md", "language_code": "hu" }, diff --git a/translations/hu/AGENTS.md b/translations/hu/AGENTS.md index af9124ef8d..67dfa0e073 100644 --- a/translations/hu/AGENTS.md +++ b/translations/hu/AGENTS.md @@ -1,28 +1,28 @@ # AGENTS.md -## Projekt áttekintése +## Projekt áttekintés -Ez egy oktatási tananyag-tár, amely a webfejlesztés alapjainak tanítására szolgál kezdők számára. A tananyag egy átfogó, 12 hetes kurzus, amelyet a Microsoft Cloud Advocates fejlesztett ki, és 24 gyakorlati leckét tartalmaz, amelyek JavaScript-et, CSS-t és HTML-t fednek le. +Ez egy oktatási tananyag tárhely, amely kezdők számára tanítja a webfejlesztés alapjait. A tananyag egy átfogó 12 hetes kurzus, amelyet a Microsoft Cloud Advocates fejlesztett ki, és 24 gyakorlati leckét tartalmaz JavaScript, CSS és HTML témakörökben. ### Főbb elemek -- **Oktatási tartalom**: 24 strukturált lecke, projekt-alapú modulokba rendezve -- **Gyakorlati projektek**: Terrárium, Gépelős játék, Böngészőbővítmény, Űrjáték, Banki alkalmazás, Kódszerkesztő és AI csevegőasszisztens -- **Interaktív kvízek**: 48 kvíz, mindegyik 3 kérdéssel (elő- és utóleckés értékelések) -- **Többnyelvű támogatás**: Automatikus fordítás 50+ nyelvre GitHub Actions segítségével +- **Oktatási tartalom**: 24 strukturált lecke, projekt alapú modulokba rendezve +- **Gyakorlati projektek**: Terrárium, gépelős játék, böngészőbővítmény, űrjáték, banki alkalmazás, kódszerkesztő és AI chat asszisztens +- **Interaktív kvízek**: 48 kvíz, mindegyikben 3 kérdés (elő- és utóleckés értékelés) +- **Többnyelvű támogatás**: Automatikus fordítás 50+ nyelvre GitHub Actions használatával - **Technológiák**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI projektekhez) ### Architektúra -- Oktatási tárhely lecke-alapú struktúrával -- Minden lecke mappája tartalmaz README-t, kódpéldákat és megoldásokat -- Önálló projektek külön könyvtárakban (quiz-app, különböző lecke projektek) -- Fordítási rendszer GitHub Actions (co-op-translator) használatával -- Dokumentáció Docsify-val szolgáltatva és PDF-ben elérhető +- Oktatási tárhely lecke-alapú szerkezettel +- Minden lecke mappa tartalmaz README fájlt, kód példákat és megoldásokat +- Önálló projektek külön könyvtárakban (quiz-app, különféle lecke projektek) +- Fordítási rendszer GitHub Actions segítségével (co-op-translator) +- Dokumentáció Docsify-n keresztül elérhető és PDF-ként is rendelkezésre áll -## Telepítési parancsok +## Beállítási parancsok -Ez a tárhely elsősorban oktatási tartalom fogyasztására szolgál. Egyedi projektekkel való munka esetén: +Ez a tárhely elsősorban oktatási tartalom fogyasztására szolgál. Az egyes projektek használatához: ### Fő tárhely beállítása @@ -31,13 +31,13 @@ git clone https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners ``` -### Kvíz alkalmazás beállítása (Vue 3 + Vite) +### Quiz App beállítása (Vue 3 + Vite) ```bash cd quiz-app npm install npm run dev # Fejlesztői szerver indítása -npm run build # Termelésre építés +npm run build # Build előállítása éles környezetre npm run lint # ESLint futtatása ``` @@ -56,7 +56,7 @@ npm run format # Formázás Prettier-rel ```bash cd 5-browser-extension/solution npm install -# Kövesse a böngészőspecifikus bővítménybetöltési utasításokat +# Kövesse a böngészőspecifikus kiterjesztés betöltési utasításait ``` ### Űrjáték projektek @@ -64,10 +64,10 @@ npm install ```bash cd 6-space-game/solution npm install -# Nyisd meg az index.html-t böngészőben vagy használd a Live Server-t +# Nyisd meg az index.html fájlt böngészőben vagy használd a Live Server-t ``` -### Csevegő projekt (Python háttér) +### Chat projekt (Python backend) ```bash cd 9-chat-project/solution/backend/python @@ -78,35 +78,35 @@ python api.py ## Fejlesztési munkafolyamat -### Tartalomszolgáltatók számára +### Tartalomközreműködőknek -1. **Forkold a tárhelyet** a saját GitHub fiókodba -2. **Klónozd le** a forkot helyileg -3. **Hozz létre egy új ágat** a változtatásaid számára -4. Módosítsd a lecke tartalmát vagy a kódpéldákat -5. Teszteld a kódváltoztatásokat a vonatkozó projekt könyvtáraiban -6. Küldj pull requesteket a hozzájárulási útmutató szerint +1. **Forkold le a tárhelyet** a GitHub fiókodba +2. **Clone-old le lokálisan** a saját forkodat +3. **Hozz létre egy új ágat** a változtatásaidnak +4. Végezze el a változtatásokat a leckék tartalmában vagy kódpéldákban +5. Teszteld a kódváltozásokat a projekt könyvtárakban +6. Küldj be pull request-et a hozzájárulási irányelvek szerint -### Tanulók számára +### Tanulóknak -1. Forkold vagy klónozd a tárhelyet -2. Lépj sorban a lecke könyvtárakba +1. Forkold vagy clone-ld le a tárhelyet +2. Haladj sorban a lecke könyvtárakban 3. Olvasd el az egyes leckék README fájljait -4. Teljesítsd az előleckés kvízeket a https://ff-quizzes.netlify.app/web/ oldalon -5. Dolgozz át a lecke mappák kódpéldáin +4. Töltsd ki a tanulás előtti kvízeket a https://ff-quizzes.netlify.app/web/ oldalon +5. Haladj a lecke mappák kódpéldáin keresztül 6. Végezd el a feladatokat és kihívásokat -7. Teljesítsd a utóleckés kvízeket +7. Töltsd ki az utóleckés kvízeket ### Élő fejlesztés -- **Dokumentáció**: Futtasd a `docsify serve` parancsot a gyökérkönyvtárban (3000-es porton) -- **Kvíz alkalmazás**: Futtasd az `npm run dev` parancsot a quiz-app könyvtárban -- **Projektek**: Használd a VS Code Live Server kiterjesztését HTML projektekhez -- **API projektek**: Futtasd az `npm start` parancsot a megfelelő API könyvtárakban +- **Dokumentáció**: Futtasd a `docsify serve` parancsot a gyökérben (3000-es port) +- **Quiz App**: Futtasd az `npm run dev` parancsot a quiz-app könyvtárban +- **Projektek**: Használd a VS Code Live Server kiterjesztést HTML projektekhez +- **API projektek**: Futassd az `npm start` parancsot a megfelelő API könyvtárakban ## Tesztelési utasítások -### Kvíz alkalmazás tesztelése +### Quiz App tesztelése ```bash cd quiz-app @@ -119,164 +119,164 @@ npm run build # Ellenőrizze, hogy a build sikeres-e ```bash cd 7-bank-project/api npm run lint # Ellenőrizze a kódstílus problémákat -node server.js # Ellenőrizze, hogy a szerver hibamentesen indul-e +node server.js # Ellenőrizze, hogy a szerver hibák nélkül indul-e ``` ### Általános tesztelési megközelítés -- Ez egy oktatási tárhely, átfogó automatikus tesztek nélkül -- Manuális tesztelés fókuszpontjai: - - Kódpéldák hibamentes futása - - Dokumentáció linkjeinek helyessége - - Projektek sikeres buildelése - - Példák legjobb gyakorlatokat követnek +- Ez egy oktatási tárhely, nem tartalmaz teljes körű automatizált teszteket +- Kézi tesztelés fókuszpontjai: + - A kódpéldák futnak hiba nélkül + - A dokumentációban lévő linkek működnek + - A projekt build sikeres + - A példák követik a legjobb gyakorlatokat ### Beküldés előtti ellenőrzések -- Futtasd az `npm run lint` parancsot a package.json fájlt tartalmazó könyvtárakban -- Ellenőrizd a markdown linkeket -- Teszteld a kódpéldákat böngészőben vagy Node.js-ben -- Ellenőrizd, hogy a fordítások megfelelő szerkezetet tartanak fenn +- Futtasd az `npm run lint` parancsot a package.json-t tartalmazó könyvtárakban +- Ellenőrizd a markdown linkek érvényességét +- Teszteld a kódpéldákat böngészőben vagy Node.js alatt +- Ellenőrizd, hogy a fordítások megőrzik a megfelelő struktúrát -## Kódstílus irányelvek +## Kódstílus útmutató ### JavaScript -- Használj modern ES6+ szintaxist -- Kövesd a projektekben megadott szabványos ESLint konfigurációkat -- Használj érthető változó- és függvényneveket az oktatási érthetőségért -- Adj hozzá kommenteket a fogalmak magyarázatához tanulók számára -- Formázd a kódot Prettier-rel, ahol be van állítva +- Használd a modern ES6+ szintaxist +- Kövesd a projektekben adott standard ESLint konfigurációkat +- Használj jelentésgazdag változó- és függvényneveket oktatási tisztaság érdekében +- Kommentáld a kódot a tanulók számára +- Formázd a kódot Prettier-rel ahol be van állítva ### HTML/CSS -- Szemantikus HTML5 elemek -- Reszponzív tervezési elvek -- Áttekinthető osztályelnevezések -- Kommentekkel magyarázott CSS technikák tanulóknak +- Szémantikus HTML5 elemek +- Reszponzív dizájn elvek +- Egyértelmű osztálynevezések +- Kommentáld a CSS technikákat a tanulók számára ### Python -- PEP 8 stílus előírások -- Tiszta, oktató jellegű kódpéldák -- Típusjelzések, ha hasznos a tanuláshoz +- Kövesd a PEP 8 stílus útmutatót +- Egyértelmű, oktatási kódpéldák +- Használj típusjelöléseket, ha segítséget nyújt a tanulásban ### Markdown dokumentáció -- Világos címsor struktúra +- Tiszta fejléc hierarchia - Kódblokkok nyelvi megjelöléssel -- Hivatkozások további forrásokra +- Linkek további erőforrásokhoz - Képernyőképek és képek az `images/` könyvtárakban -- Alternatív szöveg a képekhez hozzáférhetőség miatt +- Alternatív szöveg a képekhez az akadálymentesség érdekében ### Fájlok szervezése -- A leckék folyamatos számozással (1-getting-started-lessons, 2-js-basics stb.) -- Minden projektnek van `solution/`, gyakran `start/` vagy `your-work/` könyvtára -- Képek lecke-specifikus `images/` mappákban tárolva +- A leckék sorban számozva (1-getting-started-lessons, 2-js-basics stb.) +- Minden projektnek van `solution/` és gyakran `start/` vagy `your-work/` könyvtára +- Képek lecke specifikus `images/` mappákban tárolva - Fordítások a `translations/{language-code}/` struktúrában ## Build és telepítés -### Kvíz alkalmazás telepítése (Azure Static Web Apps) +### Quiz App telepítés (Azure Static Web Apps) -A quiz-app konfigurálva van Azure Static Web Apps telepítéshez: +A quiz-app konfigurálva van Azure Static Web Apps telepítésre: ```bash cd quiz-app npm run build # Létrehozza a dist/ mappát -# GitHub Actions munkafolyamat segítségével telepít a main ágra történő push esetén +# Telepítés GitHub Actions munkafolyamat révén a main ágba történő push esetén ``` Azure Static Web Apps konfiguráció: - **App helye**: `/quiz-app` - **Kimeneti hely**: `dist` -- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` +- **Munkafolyamat**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` ### Dokumentáció PDF generálás ```bash npm install # Telepítse a docsify-to-pdf csomagot -npm run convert # PDF generálása dokumentációból +npm run convert # PDF generálása a docs-ból ``` ### Docsify dokumentáció ```bash -npm install -g docsify-cli # Docsify telepítése globálisan -docsify serve # Szolgáltatás futtatása a localhost:3000 címen +npm install -g docsify-cli # Telepítse a Docsify-t globálisan +docsify serve # Szolgáljon a localhost:3000 címen ``` -### Projekt-specifikus build folyamatok +### Projektspecifikus build folyamatok -Minden projekt könyvtárában lehet saját build lépés: -- Vue projektek: az `npm run build` elkészíti a gyártási csomagokat -- Statikus projektek: nincs külön build lépés, a fájlokat közvetlen szolgálja ki +Minden projekt könyvtárnak saját build folyamata lehet: +- Vue projektek: `npm run build`, amely létrehozza a produkciós csomagokat +- Statikus projektek: nincs build lépés, a fájlokat közvetlenül szolgálják ki -## Pull request irányelvek +## Pull Request irányelvek -### Címsor formátum +### Cím formátum -Használj tiszta, leíró címsorokat, amelyek jelzik a változtatás területét: +Használj tiszta, leíró címeket, amelyek jelzik a változtatás területét: - `[Quiz-app] Új kvíz hozzáadása az X. leckéhez` -- `[Lesson-3] Elírás javítása a terrárium projektben` +- `[Lesson-3] Hibajavítás a terrárium projektben` - `[Translation] Spanyol fordítás hozzáadása az 5. leckéhez` -- `[Docs] Telepítési utasítások frissítése` +- `[Docs] Beállítási utasítások frissítése` ### Kötelező ellenőrzések -PR beküldése előtt: +Pull request beküldése előtt: 1. **Kódminőség**: - - Futás `npm run lint` a érintett projekt könyvtáraiban + - Futtasd az `npm run lint` parancsot az érintett projektek könyvtáraiban - Javíts minden lint hibát és figyelmeztetést 2. **Build ellenőrzés**: - - Futtasd az `npm run build` parancsot, ha van ilyen lépés - - Győződj meg, hogy nincs build hiba + - Futtasd az `npm run build` parancsot ha szükséges + - Bizonyosodj meg, hogy nincs build hiba -3. **Hivatkozások ellenőrzése**: - - Teszteld a markdown linkeket +3. **Link validáció**: + - Teszteld az összes markdown linket - Ellenőrizd a kép hivatkozásokat -4. **Tartalom átnézése**: - - Ellenőrizd helyesírást és nyelvtant - - Győződj meg a kódpéldák helyességéről és oktatási jellegéről +4. **Tartalom átvizsgálás**: + - Ellenőrizd a helyesírást és nyelvtant + - Győződj meg róla, hogy a kódpéldák helyesek és oktatók - Ellenőrizd, hogy a fordítások megőrzik az eredeti jelentést -### Hozzájárulási feltételek +### Hozzájárulási követelmények -- Fogadj el Microsoft CLA-t (automatikus ellenőrzés az első PR-nál) -- Kövesd a [Microsoft nyílt forráskódú magatartási kódexét](https://opensource.microsoft.com/codeofconduct/) -- Részletes útmutatók a [CONTRIBUTING.md](./CONTRIBUTING.md) fájlban -- Ha van, hivatkozz issue számokra a PR leírásában +- Fogadd el a Microsoft CLA-t (automatikus ellenőrzés az első PR-nál) +- Kövesd a [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) irányelveit +- Részletes irányelvek a [CONTRIBUTING.md](./CONTRIBUTING.md) fájlban +- Hivatkozz issue számokra a PR leírásában, ha alkalmazható ### Áttekintési folyamat -- A PR-eket a karbantartók és a közösség vizsgálja át -- Oktatási érthetőség az elsődleges szempont -- Kódpéldák kövessék a legjobb aktuális gyakorlatokat -- A fordításokat pontosság és kulturális megfelelőség alapján értékelik +- PR-eket fenntartók és a közösség is átnézi +- Oktatási érthetőség prioritás +- Kódpéldák követik a jelenlegi legjobb gyakorlatokat +- Fordításokat pontosság és kulturális megfelelőség szerint vizsgálják ## Fordítási rendszer ### Automatikus fordítás -- GitHub Actions használatával, co-op-translator workflow-val -- 50+ nyelvre automatikusan fordít +- GitHub Actions-t használ co-op-translator munkafolyamattal +- Több mint 50 nyelvre fordít automatikusan - Forrásfájlok a fő könyvtárakban -- Fordított fájlok a `translations/{language-code}/` mappákban +- Fordított fájlok a `translations/{language-code}/` könyvtárakban ### Kézi fordítási javítások hozzáadása -1. Keresd meg a fájlt a `translations/{language-code}/` könyvtárban -2. Javításokat végezz a szerkezet megtartásával -3. Biztosítsd, hogy a kódpéldák továbbra is működnek +1. Keress rá a fájlra a `translations/{language-code}/` könyvtárban +2. Végezd el a javításokat a struktúra megtartásával +3. Bizonyosodj meg róla, hogy a kódpéldák működőképesek maradnak 4. Teszteld a lokalizált kvíz tartalmakat -### Fordítás metaadatok +### Fordítási metaadatok -A fordított fájlok tartalmazzák az alábbi metaadat fejléceket: +A fordított fájlok tartalmazzák a metaadat fejlécet: ```markdown -**Felelősségkizárás**: -Ez a dokumentum az [Co-op Translator](https://github.com/Azure/co-op-translator) AI fordító szolgáltatás segítségével készült. Bár a pontosságra törekszünk, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az anyanyelvén tekintendő hivatalos forrásnak. Kritikus információk esetén professzionális emberi fordítást javasolt igénybe venni. Nem vállalunk felelősséget semmilyen félreértésért vagy helytelen értelmezésért, amely ebből a fordításból adódik. +**Felelősség kizárása**: +Ez a dokumentum az AI fordító szolgáltatás [Co-op Translator](https://github.com/Azure/co-op-translator) segítségével készült. Bár az pontosságra törekszünk, kérjük, vegye figyelembe, hogy az automatikus fordítás hibákat vagy pontatlanságokat tartalmazhat. Az eredeti dokumentum a saját nyelvén tekintendő hiteles forrásnak. Kritikus információk esetén professzionális emberi fordítást javaslunk. Nem vállalunk felelősséget a fordítás használatából eredő félreértésekért vagy téves értelmezésekért. \ No newline at end of file diff --git a/translations/hu/README.md b/translations/hu/README.md index 77b0958506..6f258a8cfa 100644 --- a/translations/hu/README.md +++ b/translations/hu/README.md @@ -10,29 +10,29 @@ [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -# Webfejlesztés kezdőknek - Tananyag +# Webfejlesztés kezdőknek - Tanmenet -Ismerd meg a webfejlesztés alapjait a Microsoft Cloud Advocates által tartott 12 hetes átfogó tanfolyamunkon. A 24 leckéből mindegyik JavaScriptet, CSS-t és HTML-t tárgyal, gyakorlati projektek révén, mint terráriumok, böngészőbővítmények és űrjátékok. Vegyél részt kvízekben, beszélgetésekben és gyakorlati feladatokban. Fejleszd készségeidet és optimalizáld a tudásod megtartását hatékony, projekt-alapú tanulási módszerünkkel. Kezdd el a kódolási utadat még ma! +Ismerkedjen meg a webfejlesztés alapjaival a Microsoft Cloud Advocates által készített 12 hetes átfogó tanfolyamunkkal. Mind a 24 lecke a JavaScript, CSS és HTML témakörébe nyújt betekintést gyakorlati projektek segítségével, mint például terráriumok, böngészőkiegészítők és űrjátékok. Vegyen részt kvízekben, beszélgetésekben és gyakorlati feladatokban. Fejlessze képességeit és optimalizálja tudásának megőrzését hatékony, projekten alapuló oktatásunkkal. Kezdje el a kódolási kalandot még ma! -Csatlakozz az Azure AI Foundry Discord közösséghez +Csatlakozzon az Azure AI Foundry Discord közösséghez [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Kövesd ezeket a lépéseket, hogy elkezdd használni ezeket az erőforrásokat: -1. **Repozitorium klónozása**: Kattints ide [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) -2. **Repozitorium klónozása**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**Csatlakozz az Azure AI Foundry Discordhoz, és ismerkedj meg szakértőkkel és fejlesztőtársaiddal**](https://discord.com/invite/ByRwuEEgH4) +Kövesse az alábbi lépéseket, hogy elkezdje használni ezeket az erőforrásokat: +1. **Forkolja a tárházat**: Kattintson ide [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +2. **Klónozza a tárházat**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +3. [**Csatlakozzon az Azure AI Foundry Discordhoz, hogy találkozzon szakértőkkel és fejlesztőtársaival**](https://discord.com/invite/ByRwuEEgH4) ### 🌐 Többnyelvű támogatás -#### GitHub Action segítségével támogatott (Automatikus és mindig naprakész) +#### GitHub Action segítségével támogatott (Automatizált és Mindig naprakész) -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](./README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) +[Arab](../ar/README.md) | [Bengáli](../bn/README.md) | [Bolgár](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Kínai (egyszerűsített)](../zh-CN/README.md) | [Kínai (hagyományos, Hong Kong)](../zh-HK/README.md) | [Kínai (hagyományos, Makaó)](../zh-MO/README.md) | [Kínai (hagyományos, Tajvan)](../zh-TW/README.md) | [Horvát](../hr/README.md) | [Cseh](../cs/README.md) | [Dán](../da/README.md) | [Holland](../nl/README.md) | [Észt](../et/README.md) | [Finn](../fi/README.md) | [Francia](../fr/README.md) | [Német](../de/README.md) | [Görög](../el/README.md) | [Héber](../he/README.md) | [Hindi](../hi/README.md) | [Magyar](./README.md) | [Indonéz](../id/README.md) | [Olasz](../it/README.md) | [Japán](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Koreai](../ko/README.md) | [Litván](../lt/README.md) | [Maláj](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepáli](../ne/README.md) | [Nigériai pidgin](../pcm/README.md) | [Norvég](../no/README.md) | [Perzsa (Farsi)](../fa/README.md) | [Lengyel](../pl/README.md) | [Portugál (Brazília)](../pt-BR/README.md) | [Portugál (Portugália)](../pt-PT/README.md) | [Pandzsábi (Gurmukhi)](../pa/README.md) | [Román](../ro/README.md) | [Orosz](../ru/README.md) | [Szerb (cirill)](../sr/README.md) | [Szlovák](../sk/README.md) | [Szlovén](../sl/README.md) | [Spanyol](../es/README.md) | [Szuahéli](../sw/README.md) | [Svéd](../sv/README.md) | [Tagalog (Filippínó)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Török](../tr/README.md) | [Ukrán](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnami](../vi/README.md) -> **Szeretnéd helyben klónozni?** +> **Szeretné helyben klónozni?** > -> Ez a repozitórium több mint 50 nyelvi fordítást tartalmaz, ami jelentősen megnöveli a letöltési méretet. Ha fordítások nélkül szeretnéd klónozni, használj sparse checkoutot: +> Ez a tárház több mint 50 nyelvi fordítást tartalmaz, ami jelentősen megnöveli a letöltési méretet. Ha fordítások nélkül szeretné klónozni, használja a sparse checkout-ot: > > **Bash / macOS / Linux:** > ```bash @@ -48,91 +48,92 @@ Kövesd ezeket a lépéseket, hogy elkezdd használni ezeket az erőforrásokat: > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> Így mindent megkapsz, amire szükséged van a tanfolyam elvégzéséhez, sokkal gyorsabb letöltéssel. +> Ez mindent megad, amire szüksége van a tanfolyam elvégzéséhez sokkal gyorsabb letöltéssel. -**Ha további nyelvű fordításokat szeretnél, ezek itt találhatók [itt](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**Ha további támogatott fordítási nyelveket szeretne, azok [itt találhatók](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** -[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) +[![Megnyitás Visual Studio Code-ban](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) -#### 🧑‍🎓 _Tanuló vagy?_ +#### 🧑‍🎓 _Diák vagy?_ -Látogasd meg a [**Hallgatói központ oldalt**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), ahol megtalálod a kezdő erőforrásokat, hallgatói csomagokat és akár ingyenes tanúsítvány kupont is szerezhetsz. Ezt az oldalt érdemes elmenteni könyvjelzőnek és időnként ellenőrizni, mert havonta frissítjük a tartalmat. +Látogass el a [**Diák Hub oldalra**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), ahol kezdő erőforrásokat, diák csomagokat és akár ingyenes tanúsítvány utalványokat is találsz. Ezt az oldalt érdemes rendszeresen könyvjelzőzni, mivel havonta frissítjük a tartalmat. -### 📣 Bejelentés - Új GitHub Copilot Agent mód kihívások várnak! +### 📣 Bejelentés - Új GitHub Copilot Agent mód kihívások! -Új kihívás került hozzáadásra, keresd a "GitHub Copilot Agent Challenge 🚀" feliratot a legtöbb fejezetben. Ez egy új kihívás, amelyet GitHub Copilot és Agent mód segítségével teljesíthetsz. Ha még nem használtad az Agent módot, tud szöveget generálni, fájlokat létrehozni és szerkeszteni, parancsokat futtatni és még sok mást. +Új kihívás került hozzáadásra "GitHub Copilot Agent Challenge 🚀" néven a legtöbb fejezetben. Ez egy új kihívás, amit a GitHub Copilot és az Agent mód segítségével teljesíthetsz. Ha még nem használtad az Agent módot, az nemcsak szöveg generálására képes, hanem fájlok létrehozására és szerkesztésére, parancsok futtatására és még sok másra. -### 📣 Bejelentés - _Új projekt generatív MI használatával_ +### 📣 Bejelentés - _Új projekt a Generatív Mesterséges Intelligencia használatával_ -Új AI asszisztens projekt került hozzáadásra, nézd meg a [projektet](./9-chat-project/README.md) +Új AI asszisztens projekt került hozzáadásra, nézd meg a [projektdokumentációt](./9-chat-project/README.md) -### 📣 Bejelentés - _Új tananyag_ Generatív MI témában JavaScripthez +### 📣 Bejelentés - _Új tanmenet_ JavaScript Generatív MI témában jelent meg -Ne hagyd ki új generatív MI tananyagunkat! +Ne hagyd ki új Generatív MI tanmenetünket! -Látogasd meg a [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) oldalt a kezdéshez! +Látogass el a [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) oldalra, és kezdj bele! ![Háttér](../../translated_images/hu/background.148a8d43afde5730.webp) - Leckék az alapoktól a RAG-ig. -- Történelmi karakterekkel interakció GenAI-val és kísérő alkalmazásunkkal. -- Szórakoztató és lebilincselő történet, időutazás! +- Történelmi szereplőkkel léphetsz interakcióba a Generatív MI és kísérő alkalmazásunk segítségével. +- Szórakoztató és lebilincselő történet, időutazás élményével! -![karakter](../../translated_images/hu/character.5c0dd8e067ffd693.webp) +![szereplő](../../translated_images/hu/character.5c0dd8e067ffd693.webp) -Minden lecke tartalmaz egy kitöltendő feladatot, tudásellenőrzést és egy kihívást, amelyek segítenek a következők elsajátításában: -- Promptolás és prompttervezés -- Szöveg és kép alkalmazás generálás + +Minden lecke egy feladatot, egy tudásellenőrzést és egy kihívást tartalmaz, hogy segítsen a következő témák elsajátításában: +- Promptolás és prompt mérnöki munka +- Szöveg- és képalkalmazás generálás - Keresőalkalmazások -Látogasd meg a [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) oldalt a kezdéshez! +Látogass el a [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) oldalra, és kezdj bele! -## 🌱 Első lépések +## 🌱 Kezdés -> **Tanárok**, [tartalmazunk néhány javaslatot](for-teachers.md) a tananyag használatához. Visszajelzéseteket szívesen várjuk [a beszélgetési fórumunkon](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! +> **Tanárként** néhány javaslatot [ide](for-teachers.md) tettünk közzé a tanmenet használatára. Szívesen fogadjuk visszajelzésedet [vitafórumunkban](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! -**[Tanulók](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, minden leckéhez kezdjetek egy előadás előtti kvízzel, majd olvassátok el az előadás anyagát, végezzétek el a különféle feladatokat, és a végén a jó megértés érdekében oldjátok meg az előadás utáni kvízt. +**[Tanulók](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, minden lecke előtt végezzetek bevezető kvízt, majd olvassátok el az anyagot, végezzétek el a feladatokat, és teszteljétek tudásotokat az utólagos kvízzel. -A tanulási élmény fokozása érdekében dolgozzatok együtt társaitokkal a projekteken! A beszélgetéseket ösztönözzük [beszélgetési fórumunkon](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), ahol moderátoraink rendelkezésre állnak, hogy válaszoljanak kérdéseitekre. +A tanulási élmény fokozása érdekében dolgozzatok együtt diáktársaitokkal a projekteken! A beszélgetések ösztönzöttek a [vitafórumunkon](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), ahol moderátor csapatunk készen áll válaszolni kérdéseitekre. -Tovább mélyítheted tudásodat, ha felfedezed a [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) oldalát további tananyagokért. +A tanulmányaitok elősegítéséhez erősen ajánljuk a [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) platform további anyagainak felfedezését. -### 📋 Környezeted beállítása +### 📋 Fejlesztői környezet beállítása -Ez a tananyag fejlesztői környezettel érkezik, ami készen áll a használatra! A kezdéshez választhatod, hogy a tananyagot egy [Codespace-ben](https://github.com/features/codespaces/) futtatod (_böngésző alapú, telepítés nélküli környezet_), vagy helyben a számítógépeden egy szövegszerkesztővel, például a [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) alkalmazással. +Ez a tanmenet egy működő fejlesztői környezettel érkezik! Kezdésként választhatjátok a tanmenet futtatását [Codespace-ben](https://github.com/features/codespaces/) (_böngésző alapú, telepítés nélküli környezet_), vagy helyben, a számítógépeden egy szövegszerkesztővel, például a [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) segítségével. -#### Hozd létre saját repositorydat -Ahhoz, hogy könnyen elmented a munkádat, ajánlott, hogy készíts saját másolatot erről a repozitóriumról. Ezt megteheted, ha a lap tetején a **Use this template** gombra kattintasz. Ez létrehoz egy új repozitóriumot a GitHub fiókodban a tananyag másolatával. +#### Hozd létre a saját tárházad +A munkád biztonságos mentése érdekében ajánlott létrehoznod a saját példányodat ebből a tárházból. Ezt megteheted az oldal tetején található **Use this template** gombra kattintva. Ez egy új tárházat hoz létre GitHub fiókodban, a tanmenet másolatával. -Kövessétek ezeket a lépéseket: -1. **Forráspont másolása (Fork)**: Kattints a "Fork" gombra a lap jobb felső sarkában. -2. **Repo letöltése (Clone)**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +Lépések: +1. **Forkold a tárházat**: Kattints a jobb felső sarokban lévő "Fork" gombra. +2. **Klónozd a tárházat**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -#### A tananyag futtatása Codespace-ben +#### Tanmenet futtatása Codespace-ben -A saját másolatodban, amit létrehoztál, kattints a **Code** gombra, majd válaszd az **Open with Codespaces** lehetőséget. Ez új Codespace-et hoz létre a munkához. +A tárházadban, amit létrehoztál, kattints a **Code** gombra, majd válaszd az **Open with Codespaces** opciót. Ez létrehoz egy új Codespace-t a munkához. ![Codespace](../../translated_images/hu/createcodespace.0238bbf4d7a8d955.webp) -#### A tananyag helyi futtatása +#### Tanmenet futtatása helyben a számítógépeden -A tananyag helyi futtatásához egy szövegszerkesztőre, böngészőre és parancssori eszközre lesz szükséged. Az első leckénk, [Bevezetés a programozási nyelvekbe és eszközökbe](../../1-getting-started-lessons/1-intro-to-programming-languages), bemutat különféle lehetőségeket ezek közül, hogy kiválaszthasd a számodra legmegfelelőbbet. +A tanmenet helyi futtatásához szükséged lesz egy szövegszerkesztőre, egy böngészőre és egy parancssori eszközre. Az első leckénk, [Bevezetés a programozási nyelvekbe és eszközökbe](../../1-getting-started-lessons/1-intro-to-programming-languages) segít több lehetőség közötti választásban ezek közül. -Ajánljuk a [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) használatát szerkesztőként, amely beépített [Terminált](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) is tartalmaz. A Visual Studio Code-ot innen töltheted le: [ide](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -1. Klónozd le a tárolódat a számítógépedre. Ezt úgy teheted meg, hogy rákattintasz a **Code** gombra, majd kimásolod az URL-t: +Ajánljuk a [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) használatát szerkesztőként, amely beépített [Terminált](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) is tartalmaz. A Visual Studio Code letölthető [innen](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +1. Klónozd a tárolódat a számítógépedre. Ezt úgy teheted meg, hogy rákattintasz a **Code** gombra, és kimásolod az URL-t: [CodeSpace](./images/createcodespace.png) - Ezután nyisd meg a [Terminált](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) a [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) alkalmazáson belül, és futtasd a következő parancsot, a `` helyére beillesztve az imént kimásolt URL-t: + Ezután nyisd meg a [Terminált](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) a [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) belül, és futtasd a következő parancsot, az `` helyére beillesztve a most kimásolt URL-t: ```bash git clone ``` -2. Nyisd meg a mappát a Visual Studio Code-ban. Ezt a **File** > **Open Folder** menüpont kiválasztásával, majd a klónozott mappa megadásával teheted meg. +2. Nyisd meg a mappát a Visual Studio Code-ban. Ezt úgy teheted meg, hogy rákattintasz a **File** > **Open Folder** menüpontra, majd kiválasztod a klónozott mappát. > Ajánlott Visual Studio Code kiterjesztések: @@ -144,136 +145,136 @@ Ajánljuk a [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academi - opcionális vázlatrajzot - opcionális kiegészítő videót -- leckét megelőző bemelegítő kvízt +- tanóra előtti bemelegítő kvízt - írott leckét -- projekt alapú leckékhez lépésről lépésre útmutatókat a projekt elkészítéséhez -- tudásellenőrzőket +- projekt alapú leckékhez lépésről lépésre útmutatókat a projekt megépítéséhez +- tudásellenőrzéseket - kihívást - kiegészítő olvasnivalót - feladatot -- [lecke utáni kvízt](https://ff-quizzes.netlify.app/web/) +- [tanóra utáni kvízt](https://ff-quizzes.netlify.app/web/) -> **Megjegyzés a kvízekhez**: Az összes kvíz a Quiz-app mappában található, összesen 48 darab, mindhárom kérdésből álló teszt. Elérhetők [itt](https://ff-quizzes.netlify.app/web/), a kvíz alkalmazás helyileg is futtatható vagy Azure-ra telepíthető; kövesd az utasításokat a `quiz-app` mappában. +> **Megjegyzés a kvízekhez**: Minden kvíz a Quiz-app mappában található, összesen 48 kvíz három kérdéssel. Elérhetőek [itt](https://ff-quizzes.netlify.app/web/), a kvízalkalmazás futtatható helyileg vagy telepíthető Azure-ra; kövesd az utasításokat a `quiz-app` mappában. ## 🗃️ Leckék -| | Projekt neve | Tanított koncepciók | Tanulási célok | Kapcsolódó lecke | Szerző | +| | Projekt neve | Tanított fogalmak | Tanulási célok | Hivatkozott lecke | Szerző | | :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | Első lépések | Bevezetés a programozásba és a szakmában használt eszközök | Ismerd meg a legtöbb programozási nyelv alapjait és azokat a szoftvereket, amelyek segítik a profi fejlesztőket a munkájukban | [Bevezetés a programozási nyelvekbe és eszközökbe](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | Első lépések | A GitHub alapjai, csapatmunkával együtt | Hogyan használd a GitHubot a projektedben, és hogyan működj össze másokkal egy kódalapon | [Bevezetés a GitHubba](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | Első lépések | Akadálymentesség | Ismerd meg a webes akadálymentesség alapjait | [Az akadálymentesség alapjai](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | JS Alapok | JavaScript adattípusok | A JavaScript adattípusainak alapjai | [Adattípusok](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | JS Alapok | Függvények és metódusok | Ismerd meg a függvényeket és metódusokat, amelyek az alkalmazás logikájának kezelésére szolgálnak | [Függvények és metódusok](./2-js-basics/2-functions-methods/README.md) | Jasmine és Christopher | -| 06 | JS Alapok | Döntéshozatal JS-ben | Tanuld meg, hogyan készíts feltételeket a kódodban döntéshozó módszerekkel | [Döntéshozatal](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | JS Alapok | Tömbök és ciklusok | Dolgozz adatokkal tömbök és ciklusok segítségével JavaScriptben | [Tömbök és ciklusok](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrárium](./3-terrarium/solution/README.md) | HTML a gyakorlatban | Építsd meg az online terrárium HTML-jét, fókuszálva a layout elkészítésére | [Bevezetés a HTML-be](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrárium](./3-terrarium/solution/README.md) | CSS a gyakorlatban | Építsd meg a CSS-t az online terrárium stílusához, beleértve az oldal reszponzívvá tételét is | [Bevezetés a CSS-be](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrárium](./3-terrarium/solution/README.md) | JavaScript lezárások, DOM kezelése | Építsd meg a JavaScript-et, hogy a terrárium drag/drop felületként működjön, fókuszálva a lezárásokra és a DOM kezelésére | [JavaScript lezárások, DOM kezelés](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Billentyűzetes játék](./4-typing-game/solution/README.md) | Billentyűzetes játék építése | Tanulj meg billentyűeseményeket használni JavaScript alkalmazásod logikájának vezérléséhez | [Eseményvezérelt programozás](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Zöld böngészőbővítmény](./5-browser-extension/solution/README.md) | Böngészőkkel való munka | Ismerd meg, hogyan működnek a böngészők, történetüket és hogyan készítsd el az első elemeket egy böngészőbővítményhez | [A böngészőkről](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Zöld böngészőbővítmény](./5-browser-extension/solution/README.md) | Űrlap készítése, API hívás és változók tárolása helyi tárolóban | Építsd meg a böngészőbővítmény JavaScript elemeit, hogy API-t hívj változók használatával, melyek helyileg tárolódnak | [API-k, űrlapok és helyi tárolók](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Zöld böngészőbővítmény](./5-browser-extension/solution/README.md) | Háttérfolyamatok a böngészőben, webteljesítmény | Használd a böngésző háttérfolyamatait az ikon kezelésére; ismerd meg a webteljesítményt és néhány optimalizálást | [Háttérfeladatok és teljesítmény](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Űrjáték](./6-space-game/solution/README.md) | Haladóbb játékfejlesztés JavaScript-tel | Tanuld meg az öröklődést osztályok és kompozíció segítségével, valamint a Pub/Sub mintát egy játék fejlesztéséhez | [Bevezetés a haladó játékfejlesztésbe](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [Űrjáték](./6-space-game/solution/README.md) | Rajzolás vászonra | Ismerd meg a Canvas API-t, amely elemek rajzolására szolgál a képernyőre | [Rajzolás vászonra](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Űrjáték](./6-space-game/solution/README.md) | Mozgatás a képernyőn | Fedezd fel, hogyan mozdíthatók el elemek kartézián koordináták és a Canvas API segítségével | [Elemmozgatás](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Űrjáték](./6-space-game/solution/README.md) | Ütközésérzékelés | Tedd lehetővé, hogy az elemek ütközzenek, reagáljanak egymásra billentyűleütések alapján, és legyen visszaállító funkció a teljesítmény érdekében | [Ütközésérzékelés](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Űrjáték](./6-space-game/solution/README.md) | Pontszámlálás | Végezz matematikai számításokat a játék állapotának és teljesítményének megfelelően | [Pontszámlálás](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Űrjáték](./6-space-game/solution/README.md) | A játék befejezése és újraindítása | Ismerd meg, hogyan zárd le és indítsd újra a játékot, beleértve az erőforrások felszabadítását és a változók alaphelyzetbe állítását | [A befejezés feltétele](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [Banki alkalmazás](./7-bank-project/solution/README.md) | HTML sablonok és útvonalak egy webalkalmazásban | Tanuld meg, hogyan készítsd el egy többlapos weboldal architektúrájának alapját útvonalak és HTML sablonok használatával | [HTML sablonok és útvonalak](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [Banki alkalmazás](./7-bank-project/solution/README.md) | Belépési és regisztrációs űrlap készítése | Tanuld meg az űrlapok építését és az érvényesítés kezelését | [Űrlapok](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [Banki alkalmazás](./7-bank-project/solution/README.md) | Az adatok lekérése és használata | Hogyan áramlanak az adatok az alkalmazásban, hogyan kérhetők le, tárolhatók és törölhetők | [Adatok](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [Banki alkalmazás](./7-bank-project/solution/README.md) | Állapotkezelés alapjai | Tanuld meg, hogyan őrzi meg az alkalmazás az állapotot, és hogyan kezelheted programozottan | [Állapotkezelés](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Böngésző / VScode kód](../../8-code-editor) | VScode használata | Tanuld meg a kódszerkesztő használatát | [VScode kódszerkesztő használata](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [AI asszisztensek](./9-chat-project/README.md) | Mesterséges intelligenciával való munka | Tanuld meg, hogyan építsd fel a saját AI asszisztensedet | [AI asszisztens projekt](./9-chat-project/README.md) | Chris | - -## 🏫 Didaktika - -Tananyagunk kialakításánál két alapvető didaktikai elv vezérelt minket: -* projektalapú tanulás +| 01 | Kezdés | Bevezetés a programozásba és a szakmai eszközökbe | Ismerd meg a legtöbb programozási nyelv alapjait és azokat a szoftvereket, amelyek segítik a profi fejlesztők munkáját | [Bevezetés a programozási nyelvekbe és eszközökbe](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Kezdés | A GitHub alapjai, beleértve a csapatmunkát | Hogyan használd a GitHubot a projektedben, és hogyan működj együtt másokkal kódbázison | [Bevezetés a GitHubba](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Kezdés | Akadálymentesség | Ismerd meg a web akadálymentesség alapjait | [Akadálymentesség alapjai](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | JS alapok | JavaScript adattípusok | A JavaScript adattípusok alapjai | [Adattípusok](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | JS alapok | Függvények és metódusok | Ismerd meg a függvényeket és metódusokat az alkalmazás logikájának kezeléséhez | [Függvények és metódusok](./2-js-basics/2-functions-methods/README.md) | Jasmine és Christopher | +| 06 | JS alapok | Döntéshozatal JS-ben | Tanuld meg, hogyan hozz létre feltételeket a kódodban döntéshozatali módszerekkel | [Döntéshozatal](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | JS alapok | Tömbök és ciklusok | Dolgozz adatkezeléssel tömbök és ciklusok segítségével JavaScriptben | [Tömbök és ciklusok](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrárium](./3-terrarium/solution/README.md) | HTML gyakorlatban | Építsd meg a HTML-t egy online terráriumhoz, a layout készítésére fókuszálva | [Bevezetés a HTML-be](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrárium](./3-terrarium/solution/README.md) | CSS gyakorlatban | Építsd meg a CSS-t az online terráriumhoz, a CSS alapjaira fókuszálva, beleértve az oldal reszponzívvá tételét | [Bevezetés a CSS-be](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrárium](./3-terrarium/solution/README.md) | JavaScript closures, DOM manipuláció | Építsd meg a JavaScript-et, hogy a terrárium drag/drop felületként működjön, fókuszálva a closures és a DOM kezelésére | [JavaScript closures, DOM manipuláció](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Gépelős játék](./4-typing-game/solution/README.md) | Gépelős játék építése | Tanuld meg, hogyan használd a billentyűzetes eseményeket appod logikájának vezérlésére | [Eseményvezérelt programozás](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Zöld böngészőbővítmény](./5-browser-extension/solution/README.md) | Böngészőkkel való munka | Tanuld meg, hogyan működnek a böngészők, történetüket és hogyan használd a böngészőbővítmény első elemeinek létrehozásához | [A böngészőkről](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Zöld böngészőbővítmény](./5-browser-extension/solution/README.md) | Űrlap készítése, API hívása és helyi tároló változók használata | Építsd meg a böngészőbővítményed JavaScript elemeit egy API meghívásához helyi tároló változókkal | [API-k, űrlapok és helyi tárolás](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Zöld böngészőbővítmény](./5-browser-extension/solution/README.md) | Háttérfolyamatok a böngészőben, web teljesítmény | Használd a böngésző háttérfolyamatait az ikonjának kezelésére; ismerd meg a web teljesítményét és néhány optimalizálási módszert | [Háttérfeladatok és teljesítmény](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Űr játék](./6-space-game/solution/README.md) | Fejlettebb játékfejlesztés JavaScript-tel | Ismerd meg az öröklést osztályok és összetétel (composition) használatával, valamint a Pub/Sub mintát, hogy előkészülj egy játék építésére | [Bevezetés a fejlett játékfejlesztésbe](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Űr játék](./6-space-game/solution/README.md) | Rajzolás a vászonra | Ismerd meg a Canvas API-t, amellyel elemeket rajzolhatunk a képernyőre | [Rajzolás a vászonra](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Űr játék](./6-space-game/solution/README.md) | Mozgatás a képernyőn | Fedezd fel, hogyan kaphatnak mozgást az elemek a kartézián koordináták és a Canvas API segítségével | [Elemek mozgatása](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Űr játék](./6-space-game/solution/README.md) | Ütközésészlelés | Készíts ütközéseket és reagálást az elemek között billentyűleütésekkel és adj hozzá hűlési funkciót a játék teljesítményének biztosítására | [Ütközésészlelés](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Űr játék](./6-space-game/solution/README.md) | Pontszám nyilvántartás | Végez matematika műveleteket a játék állapota és teljesítménye alapján | [Pontszámlálás](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Űr játék](./6-space-game/solution/README.md) | A játék befejezése és újraindítása | Tanuld meg a játék befejezését és újraindítását, beleértve az erőforrások takarítását és a változó értékek visszaállítását | [A befejezési feltétel](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Banki alkalmazás](./7-bank-project/solution/README.md) | HTML sablonok és útvonalak egy webalkalmazásban | Tanuld meg, hogyan készítsd el egy többoldalas weboldal felépítését routinggal és HTML sablonokkal | [HTML sablonok és útvonalak](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Banki alkalmazás](./7-bank-project/solution/README.md) | Bejelentkezési és regisztrációs űrlap készítése | Tanuld meg az űrlapkészítést és az érvényesítési rutinok kezelését | [Űrlapok](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Banki alkalmazás](./7-bank-project/solution/README.md) | Adatok lekérése és használata | Hogyan áramlanak be és ki az adatok az alkalmazásból, hogyan kérd le, tárold és szabadulj meg tőlük | [Adatok](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Banki alkalmazás](./7-bank-project/solution/README.md) | Állapotkezelés fogalmai | Tanuld meg, hogyan őrzi meg az alkalmazás az állapotot és hogyan kezeld programozottan | [Állapotkezelés](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Böngésző/VScode kód](../../8-code-editor) | Munka VScode-dal | Tanulj meg kódszerkesztőt használni | [VScode kódszerkesztő használata](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [Mesterséges intelligencia asszisztensek](./9-chat-project/README.md) | Munkavégzés MI-vel | Tanuld meg, hogyan építsd fel a saját MI asszisztensed | [MI asszisztens projekt](./9-chat-project/README.md) | Chris | + +## 🏫 Pedagógia + +Tananyagunk két fontos pedagógiai elv szerint készült: +* projekt alapú tanulás * gyakori kvízek -A program a JavaScript, HTML és CSS alapjait, valamint a mai webfejlesztők által használt legújabb eszközöket és technikákat tanítja. A diákoknak lehetőségük lesz gyakorlati tapasztalatot szerezni egy billentyűzetes játék, virtuális terrárium, környezetbarát böngészőbővítmény, űrinváziós stílusú játék és egy banki alkalmazás építésével. A tanfolyam végére szilárd webfejlesztési ismeretekkel rendelkeznek majd. +A program JavaScript, HTML és CSS alapjait tanítja meg, valamint a legújabb eszközöket és technikákat, amelyeket a mai webfejlesztők használnak. A diákoknak lehetőségük nyílik gyakorlati tapasztalat szerzésére gépelős játék, virtuális terrárium, környezetbarát böngészőbővítmény, űrhajós játék és üzleti bankalkalmazás építésével. A sorozat végére alapos webfejlesztési tudásra tesznek szert. -> 🎓 Az első pár leckét ebben a tananyagban egy [tanulási útvonal](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) formájában is elvégezheted a Microsoft Learn-en! +> 🎓 Az első néhány leckét ebben a tananyagban Microsoft Learn-ön [Tanulási útvonalként](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) is végezheted! -Az anyag projektekhez igazítása által a folyamat élvezetesebb lesz a diákok számára, és növeli a koncepciók elsajátítását. Emellett több bevezető leckét is írtunk a JavaScript alapjairól, kiegészítve a "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" videós oktatóanyag gyűjtemény egyik videójával, amelynek néhány szerzője közreműködött ebben a tananyagban. +Azáltal, hogy a tartalom a projektekhez igazodik, a folyamat érdekesebb a diákok számára, és a fogalmak megtartása is javul. Több kezdő leckét is írtunk JavaScript alapokból, hogy megismertessük az alapfogalmakat, kiegészítve a "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" videósorozat néhány szerzőjének oktató videóival, akik szintén hozzájárultak ehhez a tananyaghoz. -Továbbá, egy alacsony tétű kvíz az óra előtt segíti a tanuló elköteleződését a téma iránt, míg egy második kvíz az óra után tovább erősíti a tudás megszilárdítását. Ez a tananyag rugalmas és szórakoztató, egészben vagy részleteiben is végezhető. A projektek kicsiben indulnak, és a 12 hetes ciklus végére egyre összetettebbekké válnak. +Továbbá egy alacsony tétű kvíz óra előtt beállítja a diák szándékát a tanulásra, míg egy második kvíz óra után elősegíti a tudás mélyebb rögzítését. Ez a tananyag rugalmas és szórakoztató, egészben vagy részleteiben is végezhető. A projektek kicsiben indulnak és fokozatosan egyre összetettebbek lesznek a 12 hetes ciklus végére. -Miközben szándékosan mellőztük JavaScript keretrendszerek bemutatását, hogy a webfejlesztőként szükséges alapvető készségekre koncentráljunk, mielőtt keretrendszert alkalmaznánk, egy jó következő lépés a tananyag elvégzése után a Node.js megismerése lehet a következő videósorozaton keresztül: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +Bár tudatosan kerültük a JavaScript keretrendszerek bevezetését, hogy az alapvető webfejlesztői készségekre koncentráljunk a keretrendszerhasználat előtt, a tananyag elvégzése után jó következő lépés a Node.js megismerése egy másik videósorozat segítségével: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> Látogasd meg a [Viselkedési kódexünket](CODE_OF_CONDUCT.md) és a [Hozzájárulás](CONTRIBUTING.md) irányelveinket. Örömmel fogadjuk konstruktív visszajelzésed! +> Látogasd meg [Viselkedési Kódexünket](CODE_OF_CONDUCT.md) és [Hozzájárulás](CONTRIBUTING.md) irányelveinket. Szívesen fogadjuk építő jellegű visszajelzéseidet! -## 🧭 Offline használat +## 🧭 Offline hozzáférés -Ez a dokumentáció offline is használható a [Docsify](https://docsify.js.org/#/) használatával. Forkold ezt a repo-t, telepítsd a Docsify-t helyileg a gépeden, majd a repo gyökerében írd be, hogy `docsify serve`. A weboldal a 3000-es porton lesz elérhető a localhostodon: `localhost:3000`. +Ezt a dokumentációt offline is futtathatod a [Docsify](https://docsify.js.org/#/) használatával. Fork-old ezt a repót, [telepítsd a Docsify-t](https://docsify.js.org/#/quickstart) a helyi gépedre, majd a repó gyökérmappájában írd be: `docsify serve`. Az oldal a 3000-es porton lesz elérhető a localhostodon: `localhost:3000`. ## 📘 PDF -Az összes leckéről készült PDF [itt található](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). +A PDF az összes leckéről megtalálható [itt](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). -## 🎒 Egyéb tanfolyamok +## 🎒 Egyéb kurzusok -Csapatunk más tanfolyamokat is készít! Nézd meg: +Csapatunk más kurzusokat is készít! Nézd meg: ### LangChain -[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) -[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) -[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain4j kezdőknek](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) +[![LangChain.js kezdőknek](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain kezdőknek](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) --- ### Azure / Edge / MCP / Ügynökök -[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) -[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) -[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) +[![AZD kezdőknek](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Edge AI kezdőknek](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![MCP kezdőknek](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) +[![AI ügynökök kezdőknek](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) --- - + ### Generatív AI sorozat -[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) -[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) -[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) +[![Generatív AI kezdőknek](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Generatív AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) +[![Generatív AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) +[![Generatív AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) --- - + ### Alapvető tanulás -[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) -[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) -[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) -[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) -[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) -[![IoT for Beginners](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) -[![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Gépi tanulás kezdőknek](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) +[![Adattudomány kezdőknek](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) +[![AI kezdőknek](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) +[![Kiberbiztonság kezdőknek](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) +[![Webes fejlesztés kezdőknek](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) +[![IoT kezdőknek](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) +[![XR fejlesztés kezdőknek](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) --- - + ### Copilot sorozat -[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) -[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) -[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) +[![Copilot AI páros programozáshoz](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) +[![Copilot C#/.NET-hez](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) +[![Copilot kaland](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) ## Segítségkérés -Ha elakadsz vagy kérdésed van az AI alkalmazások építésével kapcsolatban, csatlakozz más tanulókhoz és tapasztalt fejlesztőkhöz az MCP-ről szóló beszélgetésekben. Ez egy támogató közösség, ahol a kérdéseket örömmel fogadják és a tudást szabadon megosztják. +Ha elakadsz vagy kérdésed van AI alkalmazások fejlesztésével kapcsolatban. Csatlakozz tanulótársaidhoz és tapasztalt fejlesztőkhöz a MCP témájú beszélgetésekben. Ez egy támogató közösség, ahol a kérdések szívesen látottak, és a tudás szabadon megosztott. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Ha termék-visszajelzésed vagy hibajelentésed van fejlesztés közben, látogass el ide: +Ha visszajelzésed vagy hibák vannak a fejlesztés közben, látogass el ide: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) ## Licenc -Ez a tároló az MIT licenc alatt áll. Részletekért lásd a [LICENSE](../../LICENSE) fájlt. +Ez a tároló az MIT licenc alatt áll. További információért lásd a [LICENSE](../../LICENSE) fájlt. --- -**Jóváhagyási nyilatkozat**: -Ezt a dokumentumot az AI fordító szolgáltatás, a [Co-op Translator](https://github.com/Azure/co-op-translator) használatával fordítottuk le. Bár a pontosságra törekszünk, kérjük, vegye figyelembe, hogy az automatikus fordítások tartalmazhatnak hibákat vagy pontatlanságokat. Az eredeti, anyanyelvi dokumentum tekintendő a hiteles forrásnak. Kritikus információk esetén professzionális, emberi fordítást javaslunk. Nem vállalunk felelősséget az ebből a fordításból eredő félreértésekért vagy félreértelmezésekért. +**Felelősség kizárása**: +Ezt a dokumentumot az AI fordító szolgáltatás [Co-op Translator](https://github.com/Azure/co-op-translator) segítségével fordítottuk. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum a saját nyelvén tekintendő hivatalos forrásnak. Kritikus információk esetén professzionális emberi fordítás javasolt. Nem vállalunk felelősséget a fordítás használatából eredő félreértésekért vagy félreértelmezésekért. \ No newline at end of file diff --git a/translations/id/.co-op-translator.json b/translations/id/.co-op-translator.json index f44b6e615a..53d3ca3b05 100644 --- a/translations/id/.co-op-translator.json +++ b/translations/id/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T19:26:05+00:00", + "translation_date": "2026-04-06T16:49:02+00:00", "source_file": "AGENTS.md", "language_code": "id" }, @@ -516,8 +516,8 @@ "language_code": "id" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T12:47:54+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T16:43:44+00:00", "source_file": "README.md", "language_code": "id" }, diff --git a/translations/id/AGENTS.md b/translations/id/AGENTS.md index 5ba6cd2308..6abfcdd9eb 100644 --- a/translations/id/AGENTS.md +++ b/translations/id/AGENTS.md @@ -1,28 +1,28 @@ # AGENTS.md -## Gambaran Proyek +## Ikhtisar Proyek -Ini adalah repositori kurikulum pendidikan untuk mengajarkan dasar-dasar pengembangan web kepada pemula. Kurikulum ini adalah kursus lengkap selama 12 minggu yang dikembangkan oleh Microsoft Cloud Advocates, menampilkan 24 pelajaran langsung yang mencakup JavaScript, CSS, dan HTML. +Ini adalah repositori kurikulum edukasi untuk mengajarkan dasar-dasar pengembangan web kepada pemula. Kurikulumnya adalah kursus komprehensif selama 12 minggu yang dikembangkan oleh Microsoft Cloud Advocates, menampilkan 24 pelajaran praktis yang mencakup JavaScript, CSS, dan HTML. ### Komponen Utama -- **Konten Edukasi**: 24 pelajaran terstruktur yang diorganisir ke dalam modul berbasis proyek -- **Proyek Praktis**: Terrarium, Permainan Mengetik, Ekstensi Peramban, Permainan Ruang Angkasa, Aplikasi Perbankan, Editor Kode, dan Asisten Chat AI -- **Kuis Interaktif**: 48 kuis dengan 3 pertanyaan masing-masing (penilaian sebelum/setelah pelajaran) +- **Konten Edukasi**: 24 pelajaran terstruktur yang diorganisasi dalam modul berbasis proyek +- **Proyek Praktis**: Terrarium, Permainan Mengetik, Ekstensi Browser, Permainan Luar Angkasa, Aplikasi Perbankan, Editor Kode, dan Asisten Obrolan AI +- **Kuis Interaktif**: 48 kuis dengan 3 pertanyaan setiap kuis (penilaian sebelum dan sesudah pelajaran) - **Dukungan Multi-bahasa**: Terjemahan otomatis untuk 50+ bahasa melalui GitHub Actions - **Teknologi**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (untuk proyek AI) ### Arsitektur - Repositori edukasi dengan struktur berbasis pelajaran -- Setiap folder pelajaran berisi README, contoh kode, dan solusi +- Setiap folder pelajaran memuat README, contoh kode, dan solusi - Proyek mandiri dalam direktori terpisah (quiz-app, berbagai proyek pelajaran) - Sistem terjemahan menggunakan GitHub Actions (co-op-translator) - Dokumentasi disajikan melalui Docsify dan tersedia dalam format PDF ## Perintah Setup -Repositori ini terutama untuk konsumsi konten edukasi. Untuk bekerja dengan proyek tertentu: +Repositori ini terutama untuk konsumsi konten edukasi. Untuk bekerja dengan proyek spesifik: ### Setup Repositori Utama @@ -51,15 +51,15 @@ npm run lint # Jalankan ESLint npm run format # Format dengan Prettier ``` -### Proyek Ekstensi Peramban +### Proyek Ekstensi Browser ```bash cd 5-browser-extension/solution npm install -# Ikuti instruksi pemuatan ekstensi spesifik browser +# Ikuti instruksi pemuatan ekstensi khusus browser ``` -### Proyek Permainan Ruang Angkasa +### Proyek Permainan Luar Angkasa ```bash cd 6-space-game/solution @@ -67,7 +67,7 @@ npm install # Buka index.html di browser atau gunakan Live Server ``` -### Proyek Chat (Backend Python) +### Proyek Obrolan (Backend Python) ```bash cd 9-chat-project/solution/backend/python @@ -81,10 +81,10 @@ python api.py ### Untuk Kontributor Konten 1. **Fork repositori** ke akun GitHub Anda -2. **Clone fork Anda** secara lokal +2. **Clone hasil fork** secara lokal 3. **Buat cabang baru** untuk perubahan Anda -4. Lakukan perubahan pada konten pelajaran atau contoh kode -5. Uji perubahan kode di direktori proyek yang relevan +4. Buat perubahan pada konten pelajaran atau contoh kode +5. Uji perubahan kode di direktori proyek terkait 6. Ajukan pull request sesuai pedoman kontribusi ### Untuk Pembelajar @@ -92,17 +92,17 @@ python api.py 1. Fork atau clone repositori 2. Navigasi ke direktori pelajaran secara berurutan 3. Baca file README untuk setiap pelajaran -4. Kerjakan kuis sebelum pelajaran di https://ff-quizzes.netlify.app/web/ +4. Kerjakan kuis pra-pelajaran di https://ff-quizzes.netlify.app/web/ 5. Kerjakan contoh kode dalam folder pelajaran 6. Selesaikan tugas dan tantangan -7. Ikuti kuis setelah pelajaran +7. Kerjakan kuis pasca-pelajaran ### Pengembangan Langsung - **Dokumentasi**: Jalankan `docsify serve` di root (port 3000) - **Aplikasi Kuis**: Jalankan `npm run dev` di direktori quiz-app -- **Proyek**: Gunakan ekstensi Live Server VS Code untuk proyek HTML -- **Proyek API**: Jalankan `npm start` di direktori API terkait +- **Proyek**: Gunakan ekstensi VS Code Live Server untuk proyek HTML +- **Proyek API**: Jalankan `npm start` di direktori API masing-masing ## Instruksi Pengujian @@ -124,57 +124,57 @@ node server.js # Verifikasi server mulai tanpa kesalahan ### Pendekatan Pengujian Umum -- Ini adalah repositori edukasi tanpa pengujian otomatis lengkap -- Pengujian manual berfokus pada: +- Ini adalah repositori edukasi tanpa pengujian otomatis yang lengkap +- Pengujian manual difokuskan pada: - Contoh kode berjalan tanpa error - - Tautan dalam dokumentasi berfungsi dengan benar - - Build proyek berhasil + - Tautan di dokumentasi berfungsi dengan baik + - Build proyek selesai dengan sukses - Contoh mengikuti praktik terbaik -### Pemeriksaan Sebelum Pengiriman +### Pemeriksaan Sebelum Pengajuan -- Jalankan `npm run lint` di direktori yang memiliki package.json +- Jalankan `npm run lint` di direktori dengan package.json - Verifikasi tautan markdown valid - Uji contoh kode di browser atau Node.js -- Periksa bahwa terjemahan mempertahankan struktur yang benar +- Pastikan terjemahan mempertahankan struktur yang benar ## Pedoman Gaya Kode ### JavaScript - Gunakan sintaks ES6+ modern -- Ikuti konfigurasi ESLint standar yang disediakan dalam proyek +- Ikuti konfigurasi ESLint standar yang disediakan di proyek - Gunakan nama variabel dan fungsi yang bermakna untuk kejelasan edukasi -- Tambahkan komentar yang menjelaskan konsep untuk pembelajar -- Format menggunakan Prettier jika dikonfigurasi +- Tambahkan komentar untuk menjelaskan konsep kepada pembelajar +- Format menggunakan Prettier jika sudah dikonfigurasi ### HTML/CSS - Elemen HTML5 semantik - Prinsip desain responsif - Konvensi penamaan kelas yang jelas -- Komentar yang menjelaskan teknik CSS untuk pembelajar +- Komentar yang menjelaskan teknik CSS untuk pembelajaran ### Python - Pedoman gaya PEP 8 - Contoh kode yang jelas dan edukatif -- Petunjuk tipe jika membantu proses pembelajaran +- Tambahkan tipe (type hints) jika membantu proses belajar ### Dokumentasi Markdown - Hirarki judul yang jelas - Blok kode dengan spesifikasi bahasa -- Tautan ke sumber tambahan -- Tangkapan layar dan gambar di direktori `images/` +- Tautan ke sumber daya tambahan +- Screenshot dan gambar di direktori `images/` - Teks alt untuk gambar demi aksesibilitas ### Organisasi File -- Pelajaran diberi nomor secara berurutan (1-getting-started-lessons, 2-js-basics, dll.) -- Setiap proyek memiliki direktori `solution/` dan biasanya `start/` atau `your-work/` -- Gambar disimpan di folder `images/` khusus pelajaran -- Terjemahan dalam struktur `translations/{language-code}/` +- Pelajaran diberi nomor berurutan (1-getting-started-lessons, 2-js-basics, dll.) +- Setiap proyek memiliki direktori `solution/` dan sering `start/` atau `your-work/` +- Gambar disimpan dalam folder `images/` khusus pelajaran +- Terjemahan di struktur `translations/{kode-bahasa}/` ## Build dan Deployment @@ -193,10 +193,10 @@ Konfigurasi Azure Static Web Apps: - **Lokasi output**: `dist` - **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` -### Generasi PDF Dokumentasi +### Pembuatan PDF Dokumentasi ```bash -npm install # Instal docsify-to-pdf +npm install # Pasang docsify-to-pdf npm run convert # Hasilkan PDF dari docs ``` @@ -209,30 +209,30 @@ docsify serve # Jalankan di localhost:3000 ### Build Spesifik Proyek -Setiap direktori proyek mungkin memiliki proses build sendiri: -- Proyek Vue: `npm run build` menghasilkan bundel produksi -- Proyek statis: Tidak ada langkah build, sajikan file langsung +Setiap direktori proyek dapat memiliki proses build sendiri: +- Proyek Vue: `npm run build` membuat bundle produksi +- Proyek statis: Tidak ada langkah build, file disajikan langsung ## Pedoman Pull Request ### Format Judul -Gunakan judul yang jelas dan deskriptif yang menunjukkan area perubahan: +Gunakan judul yang jelas dan deskriptif menunjukkan area perubahan: - `[Quiz-app] Tambah kuis baru untuk pelajaran X` -- `[Lesson-3] Perbaiki typo pada proyek terrarium` +- `[Lesson-3] Perbaiki typo di proyek terrarium` - `[Translation] Tambah terjemahan Spanyol untuk pelajaran 5` - `[Docs] Perbarui instruksi setup` ### Pemeriksaan Wajib -Sebelum mengirimkan PR: +Sebelum mengirim PR: 1. **Kualitas Kode**: - Jalankan `npm run lint` di direktori proyek yang terpengaruh - - Perbaiki semua error dan peringatan lint + - Perbaiki semua error dan peringatan linting 2. **Verifikasi Build**: - - Jalankan `npm run build` jika relevan + - Jalankan `npm run build` jika diperlukan - Pastikan tidak ada error build 3. **Validasi Tautan**: @@ -240,39 +240,39 @@ Sebelum mengirimkan PR: - Verifikasi referensi gambar berfungsi 4. **Review Konten**: - - Baca ulang untuk ejaan dan tata bahasa + - Baca ulang pengejaan dan tata bahasa - Pastikan contoh kode benar dan edukatif - Verifikasi terjemahan mempertahankan makna asli ### Persyaratan Kontribusi -- Setuju dengan Microsoft CLA (pemeriksaan otomatis pada PR pertama) +- Setuju dengan Microsoft CLA (cek otomatis pada PR pertama) - Ikuti [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) -- Lihat [CONTRIBUTING.md](./CONTRIBUTING.md) untuk pedoman detail -- Referensikan nomor isu dalam deskripsi PR jika relevan +- Lihat [CONTRIBUTING.md](./CONTRIBUTING.md) untuk pedoman rinci +- Cantumkan nomor isu dalam deskripsi PR jika ada ### Proses Review - PR direview oleh maintainer dan komunitas -- Kejelasan edukasi menjadi prioritas +- Kejelasan edukasi diprioritaskan - Contoh kode harus mengikuti praktik terbaik saat ini -- Terjemahan ditinjau untuk akurasi dan kesesuaian budaya +- Terjemahan direview untuk akurasi dan kesesuaian budaya ## Sistem Terjemahan ### Terjemahan Otomatis - Menggunakan GitHub Actions dengan workflow co-op-translator -- Menerjemahkan ke 50+ bahasa secara otomatis +- Menerjemahkan otomatis ke 50+ bahasa - File sumber di direktori utama -- File terjemahan di direktori `translations/{language-code}/` +- File terjemahan di direktori `translations/{kode-bahasa}/` ### Menambahkan Perbaikan Terjemahan Manual -1. Temukan file di `translations/{language-code}/` +1. Temukan file di `translations/{kode-bahasa}/` 2. Lakukan perbaikan sambil mempertahankan struktur 3. Pastikan contoh kode tetap berfungsi -4. Uji konten kuis yang sudah dilokalisasi +4. Uji konten kuis yang sudah dilokalkan ### Metadata Terjemahan @@ -295,28 +295,28 @@ CO_OP_TRANSLATOR_METADATA: **Aplikasi kuis gagal mulai**: - Periksa versi Node.js (disarankan v14+) -- Hapus `node_modules` dan `package-lock.json`, jalankan `npm install` ulang +- Hapus `node_modules` dan `package-lock.json`, jalankan `npm install` lagi - Periksa konflik port (default: Vite menggunakan port 5173) -**Server API tidak mulai**: -- Pastikan versi Node.js memenuhi minimum (node >=10) -- Periksa apakah port sudah digunakan -- Pastikan semua dependensi sudah di-install dengan `npm install` +**Server API tidak mau mulai**: +- Verifikasi versi Node.js minimal (node >=10) +- Cek apakah port sedang digunakan +- Pastikan semua dependensi terinstall dengan `npm install` -**Ekstensi peramban tidak dimuat**: -- Pastikan manifest.json terformat dengan benar -- Periksa console browser untuk error +**Ekstensi browser tidak termuat**: +- Pastikan manifest.json diformat dengan benar +- Cek console browser untuk error - Ikuti instruksi instalasi ekstensi spesifik browser -**Masalah proyek chat Python**: -- Pastikan paket OpenAI terpasang: `pip install openai` -- Verifikasi variabel lingkungan GITHUB_TOKEN diset -- Periksa izin akses Model GitHub +**Masalah proyek obrolan Python**: +- Pastikan paket OpenAI terinstall: `pip install openai` +- Verifikasi variabel lingkungan GITHUB_TOKEN disetel +- Periksa izin akses model GitHub **Docsify tidak menyajikan dokumentasi**: -- Instal docsify-cli secara global: `npm install -g docsify-cli` -- Jalankan dari direktori root repositori -- Periksa keberadaan `docs/_sidebar.md` +- Install docsify-cli global: `npm install -g docsify-cli` +- Jalankan dari root repositori +- Pastikan `docs/_sidebar.md` ada ### Tips Lingkungan Pengembangan @@ -327,45 +327,45 @@ CO_OP_TRANSLATOR_METADATA: ### Pertimbangan Performa -- Banyaknya file terjemahan (50+ bahasa) membuat clone penuh besar -- Gunakan clone dangkal jika hanya bekerja pada konten: `git clone --depth 1` -- Kecualikan terjemahan dari pencarian saat bekerja dengan konten Bahasa Inggris -- Proses build mungkin lambat pada first-run (npm install, build Vite) +- Banyaknya file terjemahan (50+ bahasa) berarti clone penuh cukup besar +- Gunakan clone shallow jika hanya mengerjakan konten: `git clone --depth 1` +- Kecualikan terjemahan dari pencarian saat mengerjakan konten bahasa Inggris +- Proses build mungkin lambat pada pertama kali (npm install, build Vite) ## Pertimbangan Keamanan ### Variabel Lingkungan - Kunci API tidak boleh di-commit ke repositori -- Gunakan file `.env` (sudah di `.gitignore`) -- Dokumentasikan variabel lingkungan yang diperlukan di README proyek +- Gunakan file `.env` (sudah dalam `.gitignore`) +- Dokumentasikan variabel lingkungan yang dibutuhkan pada README proyek ### Proyek Python - Gunakan virtual environment: `python -m venv venv` -- Jaga dependensi tetap terbaru -- Token GitHub harus memiliki izin minimum yang diperlukan +- Jaga dependensi tetap terbarui +- Token GitHub harus memiliki izin minimal yang diperlukan ### Akses Model GitHub -- Personal Access Tokens (PAT) diperlukan untuk Model GitHub +- Personal Access Tokens (PAT) diperlukan untuk model GitHub - Token harus disimpan sebagai variabel lingkungan - Jangan pernah commit token atau kredensial ## Catatan Tambahan -### Audiens Sasaran +### Sasaran Audiens - Pemula lengkap dalam pengembangan web - Pelajar dan pembelajar mandiri - Guru yang menggunakan kurikulum di kelas - Konten dirancang untuk aksesibilitas dan pembangunan keterampilan bertahap -### Filosofi Pendidikan +### Filosofi Edukasi - Pendekatan pembelajaran berbasis proyek -- Pemeriksaan pengetahuan yang sering (kuis) -- Latihan coding langsung +- Pemeriksaan pengetahuan sering (kuis) +- Latihan coding praktis - Contoh aplikasi dunia nyata - Fokus pada dasar sebelum framework @@ -373,28 +373,28 @@ CO_OP_TRANSLATOR_METADATA: - Komunitas pembelajar dan kontributor yang aktif - Pembaruan rutin pada dependensi dan konten -- Isu dan diskusi dipantau oleh maintainer -- Pembaruan terjemahan otomatis via GitHub Actions +- Isu dan diskusi diawasi oleh maintainer +- Pembaruan terjemahan otomatis melalui GitHub Actions -### Sumber Terkait +### Sumber Daya Terkait -- [Modul Microsoft Learn](https://docs.microsoft.com/learn/) -- [Sumber Student Hub](https://docs.microsoft.com/learn/student-hub/) +- [Microsoft Learn modules](https://docs.microsoft.com/learn/) +- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/) - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) direkomendasikan untuk pembelajar -- Kursus tambahan: AI Generatif, Data Science, ML, kurikulum IoT tersedia +- Kursus tambahan: Generative AI, Data Science, ML, IoT tersedia -### Bekerja dengan Proyek Tertentu +### Bekerja dengan Proyek Spesifik -Untuk instruksi detail pada proyek individual, lihat file README di: +Untuk instruksi detail proyek individual, lihat file README di: - `quiz-app/README.md` - aplikasi kuis Vue 3 - `7-bank-project/README.md` - aplikasi perbankan dengan autentikasi -- `5-browser-extension/README.md` - pengembangan ekstensi peramban -- `6-space-game/README.md` - pengembangan game berbasis canvas -- `9-chat-project/README.md` - proyek asisten chat AI +- `5-browser-extension/README.md` - pengembangan ekstensi browser +- `6-space-game/README.md` - pengembangan permainan canvas +- `9-chat-project/README.md` - proyek asisten obrolan AI ### Struktur Monorepo -Meskipun bukan monorepo tradisional, repositori ini berisi banyak proyek mandiri: +Walaupun bukan monorepo tradisional, repositori ini berisi beberapa proyek independen: - Setiap pelajaran berdiri sendiri - Proyek tidak berbagi dependensi - Kerjakan proyek individual tanpa memengaruhi yang lain @@ -404,5 +404,5 @@ Meskipun bukan monorepo tradisional, repositori ini berisi banyak proyek mandiri **Penafian**: -Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berupaya untuk akurasi, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang paling sahih. Untuk informasi penting, disarankan menggunakan terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau salah tafsir yang timbul dari penggunaan terjemahan ini. +Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berusaha untuk akurasi, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sahih. Untuk informasi penting, disarankan menggunakan terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau salah tafsir yang timbul dari penggunaan terjemahan ini. \ No newline at end of file diff --git a/translations/id/README.md b/translations/id/README.md index b9b211f20d..eb5f36233c 100644 --- a/translations/id/README.md +++ b/translations/id/README.md @@ -1,38 +1,38 @@ -[![GitHub license](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE) -[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/) -[![GitHub issues](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/) -[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/) -[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) +[![Lisensi GitHub](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE) +[![Kontributor GitHub](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/) +[![Masalah GitHub](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/) +[![Permintaan tarik GitHub](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/) +[![PRs Selamat Datang](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) -[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/) -[![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/) -[![GitHub stars](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/) +[![Pengamat GitHub](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/) +[![Fork GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/) +[![Bintang GitHub](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/) [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) # Pengembangan Web untuk Pemula - Kurikulum -Pelajari dasar-dasar pengembangan web dengan kursus komprehensif selama 12 minggu oleh Microsoft Cloud Advocates. Setiap dari 24 pelajaran menyelami JavaScript, CSS, dan HTML melalui proyek langsung seperti terrarium, ekstensi browser, dan permainan luar angkasa. Ikuti kuis, diskusi, dan tugas praktis. Tingkatkan keterampilan dan optimalkan retensi pengetahuan Anda dengan pedagogi berbasis proyek kami yang efektif. Mulai perjalanan coding Anda hari ini! +Pelajari dasar-dasar pengembangan web dengan kursus komprehensif selama 12 minggu dari Microsoft Cloud Advocates. Setiap dari 24 pelajaran membahas JavaScript, CSS, dan HTML melalui proyek langsung seperti terarium, ekstensi browser, dan permainan luar angkasa. Ikuti kuis, diskusi, dan tugas praktis. Tingkatkan kemampuan Anda dan optimalkan retensi pengetahuan dengan pedagogi berbasis proyek kami yang efektif. Mulailah perjalanan coding Anda hari ini! -Bergabunglah dengan Komunitas Discord Azure AI Foundry +Bergabung dengan Komunitas Discord Azure AI Foundry [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Ikuti langkah-langkah berikut untuk mulai menggunakan sumber daya ini: -1. **Fork Repositori**: Klik [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) -2. **Clone Repositori**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**Bergabunglah dengan Azure AI Foundry Discord dan temui para ahli serta sesama pengembang**](https://discord.com/invite/ByRwuEEgH4) +Ikuti langkah-langkah ini untuk mulai menggunakan sumber daya ini: +1. **Fork Repository**: Klik [![Fork GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +2. **Clone Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +3. [**Bergabung dengan Azure AI Foundry Discord dan temui para ahli serta sesama pengembang**](https://discord.com/invite/ByRwuEEgH4) -### 🌐 Dukungan Multi-Bahasa +### 🌐 Dukungan Multibahasa #### Didukung melalui GitHub Action (Otomatis & Selalu Terbaru) -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](./README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](./README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) -> **Lebih suka Clone Lokal?** +> **Lebih suka Clone Secara Lokal?** > -> Repositori ini mencakup 50+ terjemahan bahasa yang secara signifikan menambah ukuran unduhan. Untuk meng-clone tanpa terjemahan, gunakan sparse checkout: +> Repository ini mencakup lebih dari 50 terjemahan bahasa yang secara signifikan meningkatkan ukuran unduhan. Untuk clone tanpa terjemahan, gunakan sparse checkout: > > **Bash / macOS / Linux:** > ```bash @@ -48,43 +48,43 @@ Ikuti langkah-langkah berikut untuk mulai menggunakan sumber daya ini: > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> Ini memberikan Anda semua yang Anda butuhkan untuk menyelesaikan kursus dengan unduhan yang jauh lebih cepat. +> Ini memberi Anda semua yang diperlukan untuk menyelesaikan kursus dengan waktu unduh yang jauh lebih cepat. -**Jika Anda ingin bahasa terjemahan tambahan didukung, daftar bahasa tersedia di [sini](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**Jika Anda ingin bahasa terjemahan tambahan didukung, daftar lengkapnya ada [di sini](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** -[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) +[![Buka di Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) #### 🧑‍🎓 _Apakah kamu seorang pelajar?_ -Kunjungi [**halaman Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) dimana kamu akan menemukan sumber daya pemula, paket pelajar hingga cara mendapatkan voucher sertifikat gratis. Ini adalah halaman yang ingin kamu tandai dan periksa secara berkala karena kami akan mengganti konten tiap bulan. +Kunjungi [**halaman Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) di mana Anda akan menemukan sumber belajar pemula, paket Pelajar dan bahkan cara mendapatkan voucher sertifikat gratis. Ini adalah halaman yang patut Anda tandai dan cek secara berkala karena kami mengganti konten setiap bulan. ### 📣 Pengumuman - Tantangan mode GitHub Copilot Agent baru untuk diselesaikan! -Tantangan baru ditambahkan, cari "GitHub Copilot Agent Challenge 🚀" di sebagian besar bab. Itu adalah tantangan baru untuk Anda selesaikan menggunakan GitHub Copilot dan mode Agent. Jika Anda belum pernah menggunakan mode Agent sebelumnya, mode ini mampu tidak hanya menghasilkan teks tetapi juga dapat membuat dan mengedit file, menjalankan perintah, dan lainnya. +Tantangan baru ditambahkan, cari "GitHub Copilot Agent Challenge 🚀" di sebagian besar bab. Itu adalah tantangan baru untuk Anda selesaikan menggunakan GitHub Copilot dan mode Agent. Jika Anda belum pernah menggunakan mode Agent sebelumnya, mode ini tidak hanya mampu menghasilkan teks tetapi juga dapat membuat dan mengedit file, menjalankan perintah dan lainnya. -### 📣 Pengumuman - _Proyek Baru untuk dibangun menggunakan Generative AI_ +### 📣 Pengumuman - _Proyek Baru yang dibuat menggunakan Generative AI_ -Proyek Asisten AI baru saja ditambahkan, cek [proyek](./9-chat-project/README.md) +Proyek Asisten AI baru saja ditambahkan, lihat [proyek](./9-chat-project/README.md) ### 📣 Pengumuman - _Kurikulum Baru_ tentang Generative AI untuk JavaScript baru saja dirilis -Jangan lewatkan kurikulum Generative AI terbaru kami! +Jangan lewatkan kurikulum Generative AI baru kami! Kunjungi [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) untuk memulai! -![Background](../../translated_images/id/background.148a8d43afde5730.webp) +![Latar Belakang](../../translated_images/id/background.148a8d43afde5730.webp) -- Pelajaran meliputi semuanya dari dasar hingga RAG. -- Berinteraksi dengan tokoh historis menggunakan GenAI dan aplikasi pendamping kami. +- Pelajaran yang mencakup semuanya dari dasar hingga RAG. +- Berinteraksi dengan karakter sejarah menggunakan GenAI dan aplikasi pendamping kami. - Narasi yang menyenangkan dan menarik, Anda akan melakukan perjalanan waktu! -![character](../../translated_images/id/character.5c0dd8e067ffd693.webp) +![karakter](../../translated_images/id/character.5c0dd8e067ffd693.webp) -Setiap pelajaran termasuk tugas yang harus diselesaikan, pemeriksaan pengetahuan dan tantangan untuk membimbing Anda mempelajari topik seperti: -- Prompt dan rekayasa prompt -- Aplikasi teks dan gambar yang dihasilkan +Setiap pelajaran mencakup tugas untuk diselesaikan, pemeriksaan pengetahuan, dan tantangan untuk membimbing Anda mempelajari topik seperti: +- Prompting dan rekayasa prompt +- Generasi aplikasi teks dan gambar - Aplikasi pencarian Kunjungi [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) untuk memulai! @@ -93,99 +93,99 @@ Kunjungi [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) untuk ## 🌱 Memulai -> **Guru**, kami telah [menyediakan beberapa saran](for-teachers.md) tentang cara menggunakan kurikulum ini. Kami sangat menghargai masukan Anda [di forum diskusi kami](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! +> **Guru**, kami telah [menyertakan beberapa saran](for-teachers.md) tentang cara menggunakan kurikulum ini. Kami sangat menghargai umpan balik Anda [di forum diskusi kami](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! -**[Pelajar](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, untuk setiap pelajaran, mulailah dengan kuis pra-lecture dan lanjutkan dengan membaca materi kuliah, menyelesaikan berbagai aktivitas dan periksa pemahaman Anda dengan kuis pasca-lecture. +**[Pembelajar](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, untuk setiap pelajaran, mulailah dengan kuis sebelum kuliah dan lanjutkan dengan membaca materi kuliah, menyelesaikan berbagai aktivitas dan periksa pemahaman Anda dengan kuis pasca kuliah. -Untuk meningkatkan pengalaman belajar Anda, hubungkan dengan rekan sejawat Anda untuk mengerjakan proyek bersama! Diskusi dianjurkan di [forum diskusi kami](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) dimana tim moderator kami akan tersedia menjawab pertanyaan Anda. +Untuk meningkatkan pengalaman belajar Anda, hubungkan dengan teman sebaya untuk mengerjakan proyek bersama! Diskusi sangat dianjurkan di [forum diskusi kami](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) di mana tim moderator kami akan siap menjawab pertanyaan Anda. -Untuk memperdalam pendidikan, kami sangat menyarankan menjelajahi [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) untuk materi studi tambahan. +Untuk melanjutkan pendidikan Anda, kami sangat menyarankan untuk menjelajahi [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) untuk materi belajar tambahan. ### 📋 Menyiapkan lingkungan Anda -Kurikulum ini sudah memiliki lingkungan pengembangan siap dipakai! Saat Anda memulai Anda dapat memilih menjalankan kurikulum di [Codespace](https://github.com/features/codespaces/) (_lingkungan berbasis browser tanpa perlu instalasi_), atau secara lokal di komputer Anda menggunakan editor teks seperti [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +Kurikulum ini memiliki lingkungan pengembangan yang siap digunakan! Saat Anda memulai, Anda dapat memilih menjalankan kurikulum ini di [Codespace](https://github.com/features/codespaces/) (_lingkungan berbasis browser tanpa perlu instalasi_), atau secara lokal di komputer Anda menggunakan editor teks seperti [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -#### Buat repositori Anda -Agar Anda mudah menyimpan pekerjaan Anda, disarankan membuat salinan sendiri dari repositori ini. Anda dapat melakukannya dengan mengklik tombol **Use this template** di bagian atas halaman ini. Ini akan membuat repositori baru di akun GitHub Anda dengan salinan kurikulum. +#### Buat repository Anda +Untuk memudahkan Anda menyimpan pekerjaan, disarankan untuk membuat salinan sendiri dari repository ini. Anda bisa melakukannya dengan mengklik tombol **Use this template** di bagian atas halaman. Ini akan membuat repository baru di akun GitHub Anda dengan salinan kurikulum. Ikuti langkah-langkah ini: -1. **Fork Repositori**: Klik tombol "Fork" di pojok kanan atas halaman ini. -2. **Clone Repositori**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +1. **Fork Repository**: Klik tombol "Fork" di pojok kanan atas halaman ini. +2. **Clone Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` #### Menjalankan kurikulum di Codespace -Di salinan repositori yang Anda buat, klik tombol **Code** dan pilih **Open with Codespaces**. Ini akan membuat Codespace baru untuk Anda kerjakan. +Di salinan repository yang Anda buat, klik tombol **Code** dan pilih **Open with Codespaces**. Ini akan membuat Codespace baru untuk Anda bekerja di sana. ![Codespace](../../translated_images/id/createcodespace.0238bbf4d7a8d955.webp) #### Menjalankan kurikulum secara lokal di komputer Anda -Untuk menjalankan kurikulum ini secara lokal di komputer Anda, Anda membutuhkan editor teks, browser dan alat baris perintah. Pelajaran pertama kami, [Pengenalan Bahasa Pemrograman dan Alat Perdagangan](../../1-getting-started-lessons/1-intro-to-programming-languages), akan memandu Anda melalui berbagai opsi masing-masing alat agar Anda dapat memilih yang paling cocok. +Untuk menjalankan kurikulum ini secara lokal di komputer Anda, Anda memerlukan editor teks, browser, dan alat baris perintah. Pelajaran pertama kami, [Pengenalan Bahasa Pemrograman dan Alat Perdagangan](../../1-getting-started-lessons/1-intro-to-programming-languages), akan membimbing Anda melalui berbagai opsi untuk masing-masing alat ini agar Anda dapat memilih yang terbaik untuk Anda. -Rekomendasi kami adalah menggunakan [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) sebagai editor Anda, yang juga dilengkapi dengan [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Anda dapat mengunduh Visual Studio Code [di sini](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -1. Kloning repositori Anda ke komputer Anda. Anda dapat melakukannya dengan mengklik tombol **Code** dan menyalin URL: +Rekomendasi kami adalah menggunakan [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) sebagai editor Anda, yang juga memiliki [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) bawaan. Anda dapat mengunduh Visual Studio Code [di sini](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +1. Clone repositori Anda ke komputer Anda. Anda dapat melakukan ini dengan mengklik tombol **Code** dan menyalin URL: [CodeSpace](./images/createcodespace.png) - Kemudian, buka [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) dalam [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) dan jalankan perintah berikut, ganti `` dengan URL yang baru saja Anda salin: + Kemudian, buka [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) di dalam [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) dan jalankan perintah berikut, mengganti `` dengan URL yang baru saja Anda salin: ```bash git clone ``` -2. Buka folder tersebut di Visual Studio Code. Anda dapat melakukannya dengan mengklik **File** > **Open Folder** dan memilih folder yang baru saja Anda kloning. +2. Buka folder tersebut di Visual Studio Code. Anda dapat melakukan ini dengan mengklik **File** > **Open Folder** dan memilih folder yang baru saja Anda clone. > Ekstensi Visual Studio Code yang direkomendasikan: > -> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - untuk melihat pratinjau halaman HTML dalam Visual Studio Code +> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - untuk mempratinjau halaman HTML di dalam Visual Studio Code > * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - untuk membantu Anda menulis kode lebih cepat -## 📂 Setiap pelajaran mencakup: +## 📂 Setiap pelajaran termasuk: - sketchnote opsional -- video pelengkap opsional +- video tambahan opsional - kuis pemanasan sebelum pelajaran - pelajaran tertulis -- untuk pelajaran berbasis proyek, panduan langkah demi langkah cara membangun proyek +- untuk pelajaran berbasis proyek, panduan langkah demi langkah tentang cara membangun proyek - pemeriksaan pengetahuan - tantangan -- bacaan pelengkap -- penugasan +- bacaan tambahan +- tugas - [kuis pasca-pelajaran](https://ff-quizzes.netlify.app/web/) -> **Catatan tentang kuis**: Semua kuis terdapat di folder Quiz-app, total 48 kuis dengan tiga pertanyaan setiapnya. Mereka tersedia [di sini](https://ff-quizzes.netlify.app/web/) aplikasi kuis dapat dijalankan secara lokal atau diterapkan ke Azure; ikuti instruksi di folder `quiz-app`. +> **Catatan tentang kuis**: Semua kuis terdapat dalam folder Quiz-app, total 48 kuis dengan tiga pertanyaan masing-masing. Mereka tersedia [di sini](https://ff-quizzes.netlify.app/web/) aplikasi kuis dapat dijalankan secara lokal atau dideploy ke Azure; ikuti instruksi di folder `quiz-app`. ## 🗃️ Pelajaran -| | Nama Proyek | Konsep yang Diajarkan | Tujuan Pembelajaran | Pelajaran Terkait | Penulis | +| | Nama Proyek | Konsep yang Diajarkan | Tujuan Pembelajaran | Pelajaran Terkait | Penulis | | :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | Memulai | Pengenalan Pemrograman dan Alat Kerja | Pelajari dasar-dasar yang mendasari sebagian besar bahasa pemrograman dan perangkat lunak yang membantu pengembang profesional melakukan pekerjaan mereka | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | Memulai | Dasar GitHub, termasuk bekerja dengan tim | Cara menggunakan GitHub dalam proyek Anda, cara berkolaborasi dengan orang lain pada basis kode | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | Memulai | Aksesibilitas | Pelajari dasar-dasar aksesibilitas web | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | Dasar JS | Tipe Data JavaScript | Dasar-dasar tipe data JavaScript | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | Dasar JS | Fungsi dan Metode | Pelajari tentang fungsi dan metode untuk mengelola alur logika aplikasi | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher | -| 06 | Dasar JS | Membuat Keputusan dengan JS | Pelajari cara membuat kondisi dalam kode Anda menggunakan metode pengambilan keputusan | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | Dasar JS | Array dan Loop | Bekerja dengan data menggunakan array dan loop di JavaScript | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML dalam Praktek | Bangun HTML untuk membuat terrarium online, fokus pada membangun tata letak | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS dalam Praktek | Bangun CSS untuk menata terrarium online, fokus pada dasar-dasar CSS termasuk membuat halaman responsif | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrarium](./3-terrarium/solution/README.md) | Penutupan JavaScript, manipulasi DOM | Bangun JavaScript untuk membuat terrarium berfungsi sebagai antarmuka drag/drop, fokus pada closure dan manipulasi DOM | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Typing Game](./4-typing-game/solution/README.md) | Membangun Game Mengetik | Pelajari cara menggunakan event keyboard untuk menggerakkan logika aplikasi JavaScript Anda | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Bekerja dengan Browser | Pelajari bagaimana browser bekerja, sejarahnya, dan cara membuat elemen pertama dari ekstensi browser | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Membangun form, memanggil API dan menyimpan variabel di penyimpanan lokal | Bangun elemen JavaScript dari ekstensi browser Anda untuk memanggil API menggunakan variabel yang disimpan di penyimpanan lokal | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Proses latar belakang di browser, performa web | Gunakan proses latar belakang browser untuk mengelola ikon ekstensi; pelajari tentang performa web dan beberapa optimasi untuk membuat | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Space Game](./6-space-game/solution/README.md) | Pengembangan Game Lanjutan dengan JavaScript | Pelajari tentang Pewarisan menggunakan baik Kelas maupun Komposisi dan pola Pub/Sub, sebagai persiapan untuk membangun sebuah game | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [Space Game](./6-space-game/solution/README.md) | Menggambar ke kanvas | Pelajari tentang Canvas API, yang digunakan untuk menggambar elemen ke layar | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Space Game](./6-space-game/solution/README.md) | Memindahkan elemen di sekitar layar | Temukan bagaimana elemen bisa bergerak menggunakan koordinat kartesian dan Canvas API | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Space Game](./6-space-game/solution/README.md) | Deteksi tabrakan | Buat elemen bertabrakan dan bereaksi satu sama lain menggunakan penekanan tombol dan menyediakan fungsi cooldown untuk memastikan performa game | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Space Game](./6-space-game/solution/README.md) | Menjaga skor | Lakukan perhitungan matematika berdasarkan status dan performa permainan | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Space Game](./6-space-game/solution/README.md) | Mengakhiri dan memulai ulang game | Pelajari tentang mengakhiri dan memulai ulang game, termasuk membersihkan aset dan mereset nilai variabel | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [Banking App](./7-bank-project/solution/README.md) | Template HTML dan Routing dalam Aplikasi Web | Pelajari cara membuat kerangka arsitektur situs web multipage menggunakan routing dan template HTML | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [Banking App](./7-bank-project/solution/README.md) | Membangun Form Login dan Registrasi | Pelajari tentang membangun form dan menangani rutin validasi | [Forms](./7-bank-project/2-forms/README.md) | Yohan | +| 01 | Memulai | Pengenalan Pemrograman dan Alat Kerja | Pelajari dasar-dasar di balik sebagian besar bahasa pemrograman dan tentang perangkat lunak yang membantu pengembang profesional melakukan pekerjaan mereka | [Pengenalan Bahasa Pemrograman dan Alat](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Memulai | Dasar-dasar GitHub, termasuk bekerja dalam tim | Cara menggunakan GitHub dalam proyek Anda, cara berkolaborasi dengan orang lain pada basis kode | [Pengenalan GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Memulai | Aksesibilitas | Pelajari dasar-dasar aksesibilitas web | [Dasar-dasar Aksesibilitas](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | Dasar JS | Tipe Data JavaScript | Dasar-dasar tipe data JavaScript | [Tipe Data](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | Dasar JS | Fungsi dan Metode | Pelajari tentang fungsi dan metode untuk mengelola alur logika aplikasi | [Fungsi dan Metode](./2-js-basics/2-functions-methods/README.md) | Jasmine dan Christopher | +| 06 | Dasar JS | Membuat Keputusan dengan JS | Pelajari cara membuat kondisi dalam kode Anda menggunakan metode pengambilan keputusan | [Membuat Keputusan](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | Dasar JS | Array dan Loop | Bekerja dengan data menggunakan array dan loop di JavaScript | [Array dan Loop](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML dalam Praktik | Bangun HTML untuk membuat terrarium online, fokus pada membangun tata letak | [Pengenalan HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS dalam Praktik | Bangun CSS untuk menata terrarium online, fokus pada dasar-dasar CSS termasuk membuat halaman responsif | [Pengenalan CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, manipulasi DOM | Bangun JavaScript agar terrarium berfungsi sebagai antarmuka drag/drop, fokus pada closures dan manipulasi DOM | [JavaScript Closures, manipulasi DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Typing Game](./4-typing-game/solution/README.md) | Membuat Game Mengetik | Pelajari cara menggunakan peristiwa keyboard untuk menggerakkan logika aplikasi JavaScript Anda | [Pemrograman Berbasis Event](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Bekerja dengan Browser | Pelajari cara kerja browser, sejarahnya, dan cara membuat elemen pertama dari ekstensi browser | [Tentang Browser](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Membangun formulir, memanggil API dan menyimpan variabel di penyimpanan lokal | Bangun elemen JavaScript pada ekstensi browser Anda untuk memanggil API menggunakan variabel yang disimpan di penyimpanan lokal | [API, Formulir, dan Penyimpanan Lokal](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Proses latar belakang di browser, performa web | Gunakan proses latar belakang browser untuk mengelola ikon ekstensi; pelajari tentang performa web dan beberapa optimasi untuk meningkatkan | [Tugas Latar Belakang dan Performa](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Space Game](./6-space-game/solution/README.md) | Pengembangan Game Lanjutan dengan JavaScript | Pelajari tentang Pewarisan menggunakan Kelas dan Komposisi serta pola Pub/Sub, sebagai persiapan untuk membangun game | [Pengenalan Pengembangan Game Lanjutan](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Space Game](./6-space-game/solution/README.md) | Menggambar ke kanvas | Pelajari tentang Canvas API, yang digunakan untuk menggambar elemen ke layar | [Menggambar ke Kanvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Space Game](./6-space-game/solution/README.md) | Memindahkan elemen di sekitar layar | Temukan bagaimana elemen dapat bergerak menggunakan koordinat kartesius dan Canvas API | [Memindahkan Elemen](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Space Game](./6-space-game/solution/README.md) | Deteksi tabrakan | Buat elemen bertabrakan dan bereaksi satu sama lain menggunakan penekanan tombol dan berikan fungsi pending untuk memastikan performa game | [Deteksi Tabrakan](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Space Game](./6-space-game/solution/README.md) | Menjaga skor | Lakukan perhitungan matematis berdasarkan status dan performa game | [Menjaga Skor](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Space Game](./6-space-game/solution/README.md) | Mengakhiri dan memulai ulang game | Pelajari tentang mengakhiri dan memulai ulang game, termasuk membersihkan aset dan mereset nilai variabel | [Kondisi Akhir](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Banking App](./7-bank-project/solution/README.md) | Template HTML dan Rute dalam Aplikasi Web | Pelajari cara membuat kerangka arsitektur situs web multipage menggunakan routing dan template HTML | [Template HTML dan Rute](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Banking App](./7-bank-project/solution/README.md) | Membuat Form Login dan Registrasi | Pelajari tentang membangun formulir dan menangani rutinitas validasi | [Formulir](./7-bank-project/2-forms/README.md) | Yohan | | 23 | [Banking App](./7-bank-project/solution/README.md) | Metode Mengambil dan Menggunakan Data | Bagaimana data mengalir masuk dan keluar dari aplikasi Anda, cara mengambilnya, menyimpannya, dan membuangnya | [Data](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [Banking App](./7-bank-project/solution/README.md) | Konsep Manajemen State | Pelajari bagaimana aplikasi Anda mempertahankan state dan cara mengelolanya secara programatis | [State Management](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Browser/VScode Code](../../8-code-editor) | Bekerja dengan VScode | Pelajari cara menggunakan editor kode| [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [AI Assistants](./9-chat-project/README.md) | Bekerja dengan AI | Pelajari cara membangun asisten AI Anda sendiri | [AI Assistant project](./9-chat-project/README.md) | Chris | +| 24 | [Banking App](./7-bank-project/solution/README.md) | Konsep Manajemen Status | Pelajari bagaimana aplikasi Anda mempertahankan status dan cara mengelolanya secara programatik | [Manajemen Status](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Browser/VScode Code](../../8-code-editor) | Bekerja dengan VScode | Pelajari cara menggunakan editor kode | [Gunakan Editor Kode VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [AI Assistants](./9-chat-project/README.md) | Bekerja dengan AI | Pelajari cara membangun asisten AI Anda sendiri | [Proyek Asisten AI](./9-chat-project/README.md) | Chris | ## 🏫 Pedagogi @@ -193,22 +193,22 @@ Kurikulum kami dirancang dengan dua prinsip pedagogis utama: * pembelajaran berbasis proyek * kuis yang sering -Program ini mengajarkan dasar-dasar JavaScript, HTML, dan CSS, serta alat dan teknik terbaru yang digunakan oleh pengembang web saat ini. Siswa akan memiliki kesempatan untuk mengembangkan pengalaman langsung dengan membangun game mengetik, terrarium virtual, ekstensi browser ramah lingkungan, game gaya penyerang luar angkasa, dan aplikasi perbankan untuk bisnis. Pada akhir seri, siswa akan memiliki pemahaman mendalam tentang pengembangan web. +Program ini mengajarkan dasar-dasar JavaScript, HTML, dan CSS, serta alat dan teknik terbaru yang digunakan oleh pengembang web masa kini. Siswa akan memiliki kesempatan untuk mengembangkan pengalaman langsung dengan membangun game mengetik, terrarium virtual, ekstensi browser ramah lingkungan, game bergaya penyerang luar angkasa, dan aplikasi perbankan untuk bisnis. Pada akhir seri, siswa akan memiliki pemahaman yang solid tentang pengembangan web. -> 🎓 Anda dapat mengikuti beberapa pelajaran pertama dalam kurikulum ini sebagai [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) di Microsoft Learn! +> 🎓 Anda dapat mengikuti beberapa pelajaran pertama dalam kurikulum ini sebagai [Jalur Pembelajaran](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) di Microsoft Learn! -Dengan memastikan bahwa konten selaras dengan proyek, proses menjadi lebih menarik bagi siswa dan retensi konsep akan meningkat. Kami juga menulis beberapa pelajaran pengantar dasar JavaScript untuk memperkenalkan konsep, dipasangkan dengan video dari koleksi tutorial video "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", beberapa penulisnya berkontribusi untuk kurikulum ini. +Dengan memastikan konten sesuai dengan proyek, proses pembelajaran menjadi lebih menarik bagi siswa dan retensi konsep akan meningkat. Kami juga menulis beberapa pelajaran awal tentang dasar-dasar JavaScript untuk memperkenalkan konsep, dipasangkan dengan video dari koleksi tutorial video "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", beberapa penulisnya berkontribusi pada kurikulum ini. -Selain itu, kuis berkategori rendah sebelum kelas menetapkan niat siswa untuk mempelajari topik, sementara kuis kedua setelah kelas memastikan retensi lebih lanjut. Kurikulum ini dirancang agar fleksibel dan menyenangkan dan dapat diikuti secara keseluruhan atau sebagian. Proyek dimulai kecil dan menjadi semakin kompleks pada akhir siklus 12 minggu. +Selain itu, kuis tanpa tekanan sebelum kelas mengatur niat siswa untuk mempelajari topik, sementara kuis kedua setelah kelas memastikan retensi lebih lanjut. Kurikulum ini dirancang agar fleksibel dan menyenangkan serta dapat diambil secara penuh atau sebagian. Proyek dimulai dari yang kecil dan menjadi semakin kompleks di akhir siklus 12 minggu. -Meskipun kami sengaja menghindari memperkenalkan framework JavaScript untuk berkonsentrasi pada keterampilan dasar yang dibutuhkan sebagai pengembang web sebelum mengadopsi framework, langkah selanjutnya yang baik untuk menyelesaikan kurikulum ini adalah mempelajari Node.js melalui koleksi video lain: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +Walaupun kami sengaja menghindari pengenalan kerangka kerja JavaScript untuk berkonsentrasi pada keterampilan dasar yang dibutuhkan sebagai pengembang web sebelum mengadopsi kerangka kerja, langkah selanjutnya yang baik setelah menyelesaikan kurikulum ini adalah belajar tentang Node.js melalui koleksi video lain: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> Kunjungi [Kode Etik](CODE_OF_CONDUCT.md) dan panduan [Kontribusi](CONTRIBUTING.md) kami. Kami menyambut masukan konstruktif Anda! +> Kunjungi [Kode Etik](CODE_OF_CONDUCT.md) dan panduan [Kontribusi](CONTRIBUTING.md) kami. Kami menyambut umpan balik konstruktif Anda! ## 🧭 Akses Offline -Anda dapat menjalankan dokumentasi ini secara offline dengan menggunakan [Docsify](https://docsify.js.org/#/). Fork repo ini, [pasang Docsify](https://docsify.js.org/#/quickstart) di mesin lokal Anda, lalu di folder root repo ini, ketik `docsify serve`. Situs web akan dilayani pada port 3000 di localhost Anda: `localhost:3000`. +Anda dapat menjalankan dokumentasi ini secara offline dengan menggunakan [Docsify](https://docsify.js.org/#/). Fork repo ini, [instal Docsify](https://docsify.js.org/#/quickstart) di mesin lokal Anda, lalu di folder root repo ini, ketik `docsify serve`. Situs web akan disajikan pada port 3000 di localhost Anda: `localhost:3000`. ## 📘 PDF PDF dari semua pelajaran dapat ditemukan [di sini](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). @@ -216,7 +216,7 @@ PDF dari semua pelajaran dapat ditemukan [di sini](https://microsoft.github.io/W ## 🎒 Kursus Lainnya -Tim kami menghasilkan kursus lain! Cek: +Tim kami memproduksi kursus lain! Lihat: ### LangChain @@ -225,7 +225,7 @@ Tim kami menghasilkan kursus lain! Cek: [![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) --- -### Azure / Edge / MCP / Agen +### Azure / Edge / MCP / Agens [![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) [![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) [![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) @@ -260,11 +260,11 @@ Tim kami menghasilkan kursus lain! Cek: ## Mendapatkan Bantuan -Jika Anda mengalami kesulitan atau memiliki pertanyaan tentang membangun aplikasi AI. Bergabunglah dengan sesama pembelajar dan pengembang berpengalaman dalam diskusi tentang MCP. Ini adalah komunitas yang mendukung di mana pertanyaan diterima dan pengetahuan dibagikan dengan bebas. +Jika Anda mengalami kebuntuan atau memiliki pertanyaan tentang membangun aplikasi AI. Bergabunglah dengan sesama pembelajar dan pengembang berpengalaman dalam diskusi tentang MCP. Ini adalah komunitas yang mendukung di mana pertanyaan dipersilakan dan pengetahuan dibagikan secara bebas. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Jika Anda memiliki umpan balik produk atau menemui kesalahan saat membangun, kunjungi: +Jika Anda memiliki umpan balik produk atau menemukan kesalahan saat membangun kunjungi: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) @@ -275,6 +275,6 @@ Repositori ini dilisensikan di bawah lisensi MIT. Lihat file [LICENSE](../../LIC --- -**Penafian**: -Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berupaya mencapai akurasi, harap diperhatikan bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sahih. Untuk informasi penting, disarankan menggunakan jasa terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau salah tafsir yang timbul dari penggunaan terjemahan ini. +**Penafian**: +Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berupaya untuk mencapai akurasi, harap diketahui bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi penting, disarankan menggunakan terjemahan manusia profesional. Kami tidak bertanggung jawab atas kesalahpahaman atau salah tafsir yang timbul dari penggunaan terjemahan ini. \ No newline at end of file diff --git a/translations/it/.co-op-translator.json b/translations/it/.co-op-translator.json index 0992a0f032..db840e0871 100644 --- a/translations/it/.co-op-translator.json +++ b/translations/it/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T21:58:14+00:00", + "translation_date": "2026-04-06T18:48:10+00:00", "source_file": "AGENTS.md", "language_code": "it" }, @@ -516,8 +516,8 @@ "language_code": "it" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T18:35:20+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T18:42:54+00:00", "source_file": "README.md", "language_code": "it" }, diff --git a/translations/it/AGENTS.md b/translations/it/AGENTS.md index 713585f303..e82af59690 100644 --- a/translations/it/AGENTS.md +++ b/translations/it/AGENTS.md @@ -2,42 +2,42 @@ ## Panoramica del Progetto -Questo è un repository per un curriculum educativo per insegnare le basi dello sviluppo web ai principianti. Il curriculum è un corso completo di 12 settimane sviluppato dai Microsoft Cloud Advocates, con 24 lezioni pratiche che coprono JavaScript, CSS e HTML. +Questo è un repository curriculare educativo per insegnare le basi dello sviluppo web ai principianti. Il curriculum è un corso completo di 12 settimane sviluppato dai Microsoft Cloud Advocates, che presenta 24 lezioni pratiche che coprono JavaScript, CSS e HTML. ### Componenti Chiave -- **Contenuto Educativo**: 24 lezioni strutturate organizzate in moduli basati su progetti -- **Progetti Pratici**: Terrarium, Gioco di Digitazione, Estensione per Browser, Gioco Spaziale, App Bancaria, Editor di Codice e Assistente Chat AI +- **Contenuti Educativi**: 24 lezioni strutturate organizzate in moduli basati su progetti +- **Progetti Pratici**: Terrario, Gioco di Digitazione, Estensione Browser, Gioco Spaziale, App Bancaria, Editor di Codice e Assistente Chat AI - **Quiz Interattivi**: 48 quiz con 3 domande ciascuno (valutazioni pre/post lezione) -- **Supporto Multilingue**: Traduzioni automatizzate per più di 50 lingue tramite GitHub Actions +- **Supporto Multilingue**: Traduzioni automatizzate per oltre 50 lingue tramite GitHub Actions - **Tecnologie**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (per progetti AI) ### Architettura - Repository educativo con struttura basata sulle lezioni - Ogni cartella lezione contiene README, esempi di codice e soluzioni -- Progetti autonomi in directory separate (quiz-app, vari progetti di lezione) -- Sistema di traduzione tramite GitHub Actions (co-op-translator) +- Progetti autonomi in directory separate (quiz-app, vari progetti lezioni) +- Sistema di traduzione usando GitHub Actions (co-op-translator) - Documentazione servita tramite Docsify e disponibile in PDF -## Comandi di Configurazione +## Comandi di Setup -Questo repository è principalmente per il consumo di contenuti educativi. Per lavorare con progetti specifici: +Questo repository è principalmente per il consumo di contenuti educativi. Per lavorare su progetti specifici: -### Configurazione Principale del Repository +### Setup Principale del Repository ```bash git clone https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners ``` -### Configurazione Quiz App (Vue 3 + Vite) +### Setup Quiz App (Vue 3 + Vite) ```bash cd quiz-app npm install npm run dev # Avvia il server di sviluppo -npm run build # Compila per la produzione +npm run build # Costruisci per la produzione npm run lint # Esegui ESLint ``` @@ -64,7 +64,7 @@ npm install ```bash cd 6-space-game/solution npm install -# Apri index.html nel browser o usa Live Server +# Apri index.html nel browser oppure usa Live Server ``` ### Progetto Chat (Backend Python) @@ -78,35 +78,35 @@ python api.py ## Flusso di Lavoro per lo Sviluppo -### Per i Collaboratori dei Contenuti +### Per i Collaboratori di Contenuti -1. **Fork del repository** nel tuo account GitHub -2. **Clona il tuo fork** in locale +1. **Forka il repository** nel tuo account GitHub +2. **Clona il tuo fork** localmente 3. **Crea un nuovo branch** per le tue modifiche 4. Modifica contenuti delle lezioni o esempi di codice -5. Testa eventuali modifiche al codice nelle directory di progetto rilevanti -6. Invia pull request seguendo le linee guida di contributo +5. Testa eventuali modifiche al codice nelle directory dei progetti pertinenti +6. Invia pull request seguendo le linee guida per i contributi ### Per gli Studenti -1. Fai fork o clona il repository -2. Naviga nelle cartelle delle lezioni in ordine +1. Fork o clona il repository +2. Naviga nelle directory delle lezioni in sequenza 3. Leggi i file README di ogni lezione 4. Completa i quiz pre-lezione su https://ff-quizzes.netlify.app/web/ 5. Lavora sugli esempi di codice nelle cartelle delle lezioni -6. Completa compiti e sfide -7. Sostieni i quiz post-lezione +6. Completa esercizi e sfide +7. Fai i quiz post-lezione ### Sviluppo in Diretta -- **Documentazione**: esegui `docsify serve` nella root (porta 3000) -- **Quiz App**: esegui `npm run dev` nella directory quiz-app -- **Progetti**: usa l’estensione Live Server di VS Code per i progetti HTML -- **Progetti API**: esegui `npm start` nelle directory API corrispondenti +- **Documentazione**: Esegui `docsify serve` nella root (porta 3000) +- **Quiz App**: Esegui `npm run dev` nella directory quiz-app +- **Progetti**: Usa l'estensione Live Server di VS Code per progetti HTML +- **Progetti API**: Esegui `npm start` nelle directory API rispettive -## Istruzioni per il Test +## Istruzioni per il Testing -### Test Quiz App +### Testing Quiz App ```bash cd quiz-app @@ -114,78 +114,78 @@ npm run lint # Controlla problemi di stile del codice npm run build # Verifica che la compilazione abbia successo ``` -### Test API Bancaria +### Testing Bank API ```bash cd 7-bank-project/api -npm run lint # Controlla problemi di stile del codice +npm run lint # Verifica la presenza di problemi di stile del codice node server.js # Verifica che il server si avvii senza errori ``` -### Approccio Generale ai Test +### Approccio Generale al Testing - Questo è un repository educativo senza test automatizzati completi -- I test manuali si concentrano su: - - Esecuzione senza errori degli esempi di codice - - Funzionamento corretto dei link nella documentazione - - Build dei progetti completati con successo - - Gli esempi seguono le migliori pratiche +- Il testing manuale si concentra su: + - Esempi di codice eseguiti senza errori + - Link nella documentazione funzionanti correttamente + - Build dei progetti completate con successo + - Esempi che seguono le migliori pratiche -### Controlli Pre-Consegna +### Controlli Pre-Invio - Esegui `npm run lint` nelle directory con package.json - Verifica che i link markdown siano validi -- Testa esempi di codice in browser o Node.js +- Testa gli esempi di codice in browser o Node.js - Controlla che le traduzioni mantengano la struttura corretta -## Linee Guida di Stile del Codice +## Linee Guida per lo Stile del Codice ### JavaScript - Usa sintassi moderna ES6+ - Segui le configurazioni ESLint standard fornite nei progetti - Usa nomi di variabili e funzioni significativi per chiarezza educativa -- Aggiungi commenti che spiegano i concetti agli studenti -- Format con Prettier dove configurato +- Aggiungi commenti che spiegano i concetti per gli studenti +- Formattta con Prettier ove configurato ### HTML/CSS -- Elementi HTML5 semantici -- Principi di design responsive -- Convenzioni chiare per nomi delle classi -- Commenti che spiegano tecniche CSS per studenti +- Elementi semantici HTML5 +- Principi di design responsivo +- Convenzioni chiare per nomi di classi +- Commenti che spiegano le tecniche CSS per gli studenti ### Python - Linee guida di stile PEP 8 -- Esempi di codice chiari e didattici -- Hint tipi dove utile per l’apprendimento +- Esempi di codice chiari e educativi +- Indicazioni di tipo dove utili per l’apprendimento ### Documentazione Markdown -- Gerarchia chiara delle intestazioni -- Blocchi di codice con specifica di linguaggio +- Chiara gerarchia di intestazioni +- Blocchi di codice con specifica del linguaggio - Link a risorse aggiuntive - Screenshot e immagini nelle cartelle `images/` - Testo alternativo per immagini per accessibilità ### Organizzazione dei File -- Lezioni numerate sequenzialmente (1-getting-started-lessons, 2-js-basics, ecc.) +- Lezioni numerate progressivamente (1-getting-started-lessons, 2-js-basics, ecc.) - Ogni progetto ha directory `solution/` e spesso `start/` o `your-work/` -- Immagini archiviate in cartelle `images/` specifiche per lezione -- Traduzioni nella struttura `translations/{language-code}/` +- Immagini conservate in cartelle `images/` specifiche per la lezione +- Traduzioni in struttura `translations/{language-code}/` ## Build e Distribuzione ### Distribuzione Quiz App (Azure Static Web Apps) -La quiz-app è configurata per la distribuzione su Azure Static Web Apps: +La quiz-app è configurata per distribuzione su Azure Static Web Apps: ```bash cd quiz-app npm run build # Crea la cartella dist/ -# Esegue il deployment tramite workflow GitHub Actions al push su main +# Esegue il deploy tramite workflow di GitHub Actions al push sul ramo main ``` Configurazione Azure Static Web Apps: @@ -204,44 +204,44 @@ npm run convert # Genera PDF da docs ```bash npm install -g docsify-cli # Installa Docsify globalmente -docsify serve # Serve su localhost:3000 +docsify serve # Servi su localhost:3000 ``` ### Build Specifici per Progetto Ogni directory progetto può avere un proprio processo di build: - Progetti Vue: `npm run build` crea bundle di produzione -- Progetti statici: Nessun passaggio di build, servire i file direttamente +- Progetti statici: nessun passaggio di build, servire file direttamente ## Linee Guida per le Pull Request ### Formato del Titolo -Usa titoli chiari e descrittivi che indicano l’area di modifica: -- `[Quiz-app] Aggiungi nuovo quiz per lezione X` -- `[Lesson-3] Correggi errore di battitura nel progetto terrarium` -- `[Translation] Aggiungi traduzione spagnola per lezione 5` -- `[Docs] Aggiorna istruzioni di configurazione` +Usa titoli chiari e descrittivi indicanti l’area di modifica: +- `[Quiz-app] Aggiungi nuovo quiz per la lezione X` +- `[Lesson-3] Correggi errore di battitura nel progetto terrario` +- `[Translation] Aggiungi traduzione spagnola per la lezione 5` +- `[Docs] Aggiorna istruzioni di setup` ### Controlli Richiesti Prima di inviare una PR: 1. **Qualità del Codice**: - - Esegui `npm run lint` nelle directory di progetto interessate + - Esegui `npm run lint` nelle directory progetto coinvolte - Risolvi tutti gli errori e avvisi di linting 2. **Verifica Build**: - Esegui `npm run build` se applicabile - - Assicurati che non ci siano errori di build + - Assicurati di non avere errori di build 3. **Validazione Link**: - Testa tutti i link markdown - - Verifica che i riferimenti alle immagini funzionino + - Verifica i riferimenti alle immagini -4. **Revisione Contenuto**: - - Controlla ortografia e grammatica - - Assicurati che gli esempi di codice siano corretti e didattici +4. **Revisione Contenuti**: + - Correggi errori di ortografia e grammatica + - Assicurati che gli esempi di codice siano corretti ed educativi - Verifica che le traduzioni mantengano il significato originale ### Requisiti per il Contributo @@ -249,12 +249,12 @@ Prima di inviare una PR: - Accetta il CLA Microsoft (controllo automatico alla prima PR) - Segui il [Codice di Condotta Open Source Microsoft](https://opensource.microsoft.com/codeofconduct/) - Consulta [CONTRIBUTING.md](./CONTRIBUTING.md) per linee guida dettagliate -- Riferisci i numeri degli issue nella descrizione della PR se applicabile +- Riporta i numeri degli issue nella descrizione della PR se applicabile ### Processo di Revisione - Le PR sono revisionate da manutentori e comunità -- Priorità alla chiarezza educativa +- La chiarezza educativa è una priorità - Gli esempi di codice devono seguire le migliori pratiche correnti - Le traduzioni sono revisionate per accuratezza e adeguatezza culturale @@ -263,20 +263,20 @@ Prima di inviare una PR: ### Traduzione Automatica - Usa GitHub Actions con workflow co-op-translator -- Traduce automaticamente in oltre 50 lingue +- Traduce automaticamente in più di 50 lingue - File sorgente nelle directory principali - File tradotti nelle directory `translations/{language-code}/` -### Aggiunta di Miglioramenti Manuali alla Traduzione +### Aggiunta di Miglioramenti Manuali alle Traduzioni 1. Trova il file in `translations/{language-code}/` 2. Effettua miglioramenti mantenendo la struttura -3. Assicurati che gli esempi di codice rimangano funzionanti -4. Testa eventuale contenuto quiz localizzato +3. Assicurati che gli esempi di codice restino funzionanti +4. Testa eventuali quiz localizzati -### Metadati della Traduzione +### Metadati di Traduzione -I file tradotti includono header metadati: +I file tradotti includono header di metadati: ```markdown ``` -## Debug e Risoluzione Problemi +## Debugging e Risoluzione Problemi ### Problemi Comuni **Quiz app non si avvia**: -- Controlla versione Node.js (consigliato v14+) -- Elimina `node_modules` e `package-lock.json`, esegui di nuovo `npm install` +- Controlla la versione di Node.js (consigliata v14+) +- Cancella `node_modules` e `package-lock.json`, esegui di nuovo `npm install` - Controlla conflitti di porta (default: Vite usa porta 5173) -**Server API non si avvia**: -- Verifica versione minima Node.js (node >=10) +**Server API non parte**: +- Verifica che la versione di Node.js sia minima (node >=10) - Controlla se la porta è già in uso - Assicurati che tutte le dipendenze siano installate con `npm install` **Estensione browser non si carica**: -- Controlla che manifest.json sia formattato correttamente +- Verifica che manifest.json sia formattato correttamente - Controlla la console del browser per errori -- Segui istruzioni specifiche per installazione estensioni browser +- Segui le istruzioni di installazione specifiche per il browser -**Problemi progetto chat Python**: +**Problemi con progetto chat Python**: - Assicurati che il pacchetto OpenAI sia installato: `pip install openai` - Verifica che la variabile ambiente GITHUB_TOKEN sia impostata -- Controlla permessi di accesso GitHub Models +- Controlla i permessi di accesso ai GitHub Models **Docsify non serve la documentazione**: - Installa docsify-cli globalmente: `npm install -g docsify-cli` - Esegui dalla directory root del repository -- Controlla che `docs/_sidebar.md` esista +- Controlla che esista `docs/_sidebar.md` -### Consigli per l’Ambiente di Sviluppo +### Suggerimenti per l’Ambiente di Sviluppo - Usa VS Code con estensione Live Server per progetti HTML - Installa estensioni ESLint e Prettier per formattazione coerente -- Usa DevTools del browser per il debug JavaScript -- Per progetti Vue, installa estensione browser Vue DevTools +- Usa DevTools del browser per il debugging di JavaScript +- Per progetti Vue, installa l’estensione Vue DevTools per browser ### Considerazioni sulle Prestazioni -- Il gran numero di file tradotti (oltre 50 lingue) rende i clone completi grandi +- L’elevato numero di file tradotti (oltre 50 lingue) rende le clone complete grandi - Usa clone superficiale se lavori solo sui contenuti: `git clone --depth 1` -- Escludi traduzioni dalle ricerche quando lavori sui contenuti in inglese +- Escludi le traduzioni dalle ricerche quando lavori solo su contenuti in inglese - I processi di build possono essere lenti alla prima esecuzione (npm install, build Vite) ## Considerazioni sulla Sicurezza ### Variabili d’Ambiente -- Le chiavi API non devono mai essere committate nel repository -- Usa file `.env` (già in `.gitignore`) -- Documenta le variabili ambiente richieste nei README dei progetti +- Le API key non devono mai essere immesse nel repository +- Usa file `.env` (già inclusi in `.gitignore`) +- Documenta le variabili d’ambiente richieste nei README dei progetti ### Progetti Python - Usa ambienti virtuali: `python -m venv venv` -- Mantieni aggiornate le dipendenze +- Mantieni le dipendenze aggiornate - I token GitHub devono avere permessi minimi necessari -### Accesso ai Modelli GitHub +### Accesso a GitHub Models -- Sono necessari Personal Access Tokens (PAT) per i Modelli GitHub -- I token devono essere conservati come variabili ambiente -- Non committare mai token o credenziali +- Sono necessari Personal Access Token (PAT) per GitHub Models +- I token vanno conservati come variabili d’ambiente +- Mai commitare token o credenziali ## Note Aggiuntive @@ -358,51 +358,51 @@ CO_OP_TRANSLATOR_METADATA: - Principianti completi nello sviluppo web - Studenti e autodidatti -- Insegnanti che utilizzano il curriculum in classe -- Contenuti progettati per accessibilità e crescita graduale delle competenze +- Insegnanti che usano il curriculum in aula +- Contenuti progettati per accessibilità e costruzione graduale di competenze ### Filosofia Educativa -- Approccio basato su apprendimento tramite progetto -- Controlli di conoscenza frequenti (quiz) -- Esercizi pratici di programmazione -- Esempi di applicazione reali -- Focus sulle fondamenta prima dei framework +- Approccio basato su apprendimento via progetti +- Controlli frequenti della conoscenza (quiz) +- Esercizi pratici di coding +- Esempi di applicazione reale +- Focus sui fondamenti prima dei framework ### Manutenzione del Repository - Comunità attiva di studenti e collaboratori - Aggiornamenti regolari di dipendenze e contenuti - Monitoraggio di issue e discussioni da parte dei manutentori -- Aggiornamenti traduzioni automatizzati tramite GitHub Actions +- Aggiornamenti traduzione automatizzati tramite GitHub Actions ### Risorse Correlate - [Moduli Microsoft Learn](https://docs.microsoft.com/learn/) - [Risorse Student Hub](https://docs.microsoft.com/learn/student-hub/) - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) consigliato per studenti -- Corsi aggiuntivi: AI generativa, Data Science, ML, curricula IoT disponibili +- Corsi aggiuntivi: curricula Generative AI, Data Science, ML, IoT disponibili ### Lavorare con Progetti Specifici -Per istruzioni dettagliate sui progetti singoli, consulta i file README in: -- `quiz-app/README.md` - Applicazione quiz Vue 3 -- `7-bank-project/README.md` - Applicazione bancaria con autenticazione -- `5-browser-extension/README.md` - Sviluppo estensione per browser -- `6-space-game/README.md` - Sviluppo gioco basato su Canvas -- `9-chat-project/README.md` - Progetto assistente chat AI +Per istruzioni dettagliate sui singoli progetti, consulta i file README in: +- `quiz-app/README.md` - applicazione quiz Vue 3 +- `7-bank-project/README.md` - applicazione bancaria con autenticazione +- `5-browser-extension/README.md` - sviluppo estensione browser +- `6-space-game/README.md` - sviluppo gioco basato su canvas +- `9-chat-project/README.md` - progetto assistente chat AI ### Struttura Monorepo -Pur non essendo un monorepo tradizionale, questo repository contiene più progetti indipendenti: +Anche se non è un monorepo tradizionale, questo repository contiene molti progetti indipendenti: - Ogni lezione è autonoma - I progetti non condividono dipendenze -- Lavora su singoli progetti senza influire sugli altri -- Clona l'intero repository per l’esperienza completa del curriculum +- Lavora su progetti individuali senza influenzare gli altri +- Clona l’intero repo per l’esperienza completa del curriculum --- **Disclaimer**: -Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Pur impegnandoci per l’accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o inesattezze. Il documento originale nella sua lingua nativa deve essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un esperto umano. Non siamo responsabili per eventuali malintesi o interpretazioni errate derivanti dall’uso di questa traduzione. +Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Pur impegnandoci per garantire l’accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o inesattezze. Il documento originale nella sua lingua originale dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un essere umano. Non ci assumiamo alcuna responsabilità per eventuali malintesi o interpretazioni errate derivanti dall’uso di questa traduzione. \ No newline at end of file diff --git a/translations/it/README.md b/translations/it/README.md index 84a36ad7a4..263cff8ed1 100644 --- a/translations/it/README.md +++ b/translations/it/README.md @@ -1,133 +1,113 @@ -[![GitHub license](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE) -[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/) -[![GitHub issues](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/) -[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/) -[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) - -[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/) -[![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/) -[![GitHub stars](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/) - -[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) - # Sviluppo Web per Principianti - Un Curriculum -Impara le basi dello sviluppo web con il nostro corso completo di 12 settimane offerto dai Microsoft Cloud Advocates. Ognuna delle 24 lezioni esplora JavaScript, CSS e HTML attraverso progetti pratici come terrari, estensioni per browser e giochi spaziali. Partecipa a quiz, discussioni e compiti pratici. Migliora le tue competenze e ottimizza la tua memorizzazione con la nostra efficace pedagogia basata su progetti. Inizia oggi il tuo viaggio nel coding! - -Unisciti alla Comunità Discord di Azure AI Foundry +Impara le basi dello sviluppo web con il nostro corso completo di 12 settimane tenuto dai Microsoft Cloud Advocates. Ognuna delle 24 lezioni approfondisce JavaScript, CSS e HTML attraverso progetti pratici come terrari, estensioni per browser e giochi spaziali. Partecipa a quiz, discussioni e compiti pratici. Migliora le tue competenze e ottimizza la tua memoria con la nostra efficace metodologia di apprendimento basata su progetti. Inizia il tuo percorso di codifica oggi stesso! -[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) +Unisciti alla community Discord di Azure AI Foundry -Segui questi passaggi per iniziare a utilizzare queste risorse: -1. **Forka il Repository**: Clicca su [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) -2. **Clona il Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**Unisciti al Discord di The Azure AI Foundry e incontra esperti e altri sviluppatori**](https://discord.com/invite/ByRwuEEgH4) +Segui questi passaggi per iniziare a usare queste risorse: +1. **Fork del repository**: Clicca [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +2. **Clona il repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +3. [**Unisciti al Discord di Azure AI Foundry e incontra esperti e altri sviluppatori**](https://discord.com/invite/ByRwuEEgH4) -### 🌐 Supporto Multilingue +### 🌐 Supporto Multilingua #### Supportato tramite GitHub Action (Automatizzato e sempre aggiornato) - -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](./README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) - -> **Preferisci clonare localmente?** +> **Preferisci clonare localmente?** > -> Questo repository include oltre 50 traduzioni linguistiche che aumentano significativamente la dimensione del download. Per clonare senza le traduzioni, usa il sparse checkout: +> Questo repository include più di 50 traduzioni linguistiche aumentando significativamente la dimensione del download. Per clonare senza traduzioni, usa il checkout parziale: > -> **Bash / macOS / Linux:** +> **Bash / macOS / Linux:** > ```bash > git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git > cd Web-Dev-For-Beginners > git sparse-checkout set --no-cone '/*' '!translations' '!translated_images' > ``` -> -> **CMD (Windows):** +> +> **CMD (Windows):** > ```cmd > git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git > cd Web-Dev-For-Beginners > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` -> -> Ti fornisce tutto il necessario per completare il corso con un download molto più veloce. - +> +> Questo ti darà tutto ciò che serve per completare il corso con un download molto più veloce. -**Se desideri altre lingue di traduzione, quelle supportate sono elencate [qui](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** - -[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Apri%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) +**Se desideri che vengano supportate altre lingue di traduzione, sono elencate [qui](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** #### 🧑‍🎓 _Sei uno studente?_ -Visita la [**pagina Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) dove troverai risorse per principianti, pacchetti per studenti e anche i modi per ottenere un voucher gratuito per il certificato. Questa è la pagina da aggiungere tra i preferiti e controllare periodicamente poiché i contenuti vengono aggiornati mensilmente. +Visita la [**pagina Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) dove troverai risorse per principianti, pacchetti per studenti e anche modi per ottenere un voucher gratuito per la certificazione. Questa è la pagina da aggiungere ai preferiti e controllare di tanto in tanto, poiché aggiorniamo i contenuti mensilmente. -### 📣 Annuncio - Nuove sfide Modalità GitHub Copilot Agent da completare! +### 📣 Annuncio - Nuove sfide modalità GitHub Copilot Agent da completare! -Nuova sfida aggiunta, cerca "GitHub Copilot Agent Challenge 🚀" nella maggior parte dei capitoli. È una nuova sfida da completare usando GitHub Copilot e la modalità Agent. Se non hai mai usato la modalità Agent, questa non genera solo testo ma può anche creare e modificare file, eseguire comandi e altro. +È stata aggiunta una nuova sfida, cercala come "GitHub Copilot Agent Challenge 🚀" nella maggior parte dei capitoli. È una nuova sfida da completare utilizzando GitHub Copilot e la modalità Agent. Se non hai mai usato la modalità Agent, è in grado non solo di generare testo ma anche di creare e modificare file, eseguire comandi e altro ancora. -### 📣 Annuncio - _Nuovo Progetto da costruire usando Generative AI_ +### 📣 Annuncio - _Nuovo progetto da costruire usando l’AI generativa_ -Nuovo progetto Assistente AI appena aggiunto, dai un’occhiata al [progetto](./9-chat-project/README.md) +È stato appena aggiunto un nuovo progetto AI Assistant, dai un’occhiata al [progetto](./9-chat-project/README.md) -### 📣 Annuncio - _Nuovo Curriculum_ sulla Generative AI per JavaScript appena pubblicato +### 📣 Annuncio - _Nuovo curriculum_ sull’AI Generativa per JavaScript appena rilasciato -Non perdere il nostro nuovo curriculum sulla Generative AI! +Non perderti il nostro nuovo curriculum sull’AI Generativa! Visita [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) per iniziare! ![Background](../../translated_images/it/background.148a8d43afde5730.webp) -- Lezioni che coprono tutto, dalle basi al RAG. -- Interagisci con personaggi storici usando GenAI e la nostra app companion. +- Lezioni che coprono tutto, dalle basi al RAG. +- Interagisci con personaggi storici usando GenAI e la nostra app companion. - Narrazione divertente e coinvolgente, viaggerai nel tempo! ![character](../../translated_images/it/character.5c0dd8e067ffd693.webp) - -Ogni lezione include un compito da completare, un controllo delle conoscenze e una sfida per guidarti nell’apprendimento di argomenti come: -- Prompt e prompt engineering -- Generazione di app di testo e immagini +Ogni lezione include un compito da completare, un controllo di conoscenza e una sfida che ti guiderà nell’apprendimento di argomenti come: +- Prompting e ingegneria del prompt +- Generazione di app testuali e di immagini - App di ricerca Visita [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) per iniziare! -## 🌱 Per Iniziare +## 🌱 Iniziare -> **Insegnanti**, abbiamo [incluso qualche suggerimento](for-teachers.md) su come usare questo curriculum. Ci piacerebbe avere il vostro feedback [nel nostro forum di discussione](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! +> **Insegnanti**, abbiamo [incluso alcuni suggerimenti](for-teachers.md) su come usare questo curriculum. Ci piacerebbe ricevere i vostri feedback [nel nostro forum di discussione](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! -**[Studenti](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, per ogni lezione, iniziate con un quiz pre-lezione e continuate leggendo il materiale della lezione, completando le varie attività e verificando la comprensione con il quiz post-lezione. +**[Studenti](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, per ogni lezione, iniziate con un quiz pre-lezione e proseguite leggendo il materiale della lezione, completando le varie attività e verificando la comprensione con il quiz post-lezione. -Per migliorare la tua esperienza di apprendimento, connettiti con i tuoi compagni per lavorare insieme sui progetti! Sono incoraggiate le discussioni nel nostro [forum di discussione](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) dove il nostro team di moderatori sarà disponibile a rispondere alle tue domande. +Per migliorare l’esperienza di apprendimento, connettiti con i tuoi compagni per lavorare insieme sui progetti! Le discussioni sono incoraggiate nel nostro [forum di discussione](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) dove il nostro team di moderatori sarà disponibile per rispondere alle tue domande. -Per approfondire la tua formazione, ti consigliamo vivamente di esplorare [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) per ulteriori materiali di studio. +Per approfondire la tua formazione, consigliamo vivamente di esplorare [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) per materiali di studio aggiuntivi. -### 📋 Configurare il tuo ambiente +### 📋 Configurazione del tuo ambiente -Questo curriculum ha un ambiente di sviluppo pronto all’uso! Quando inizi puoi scegliere di eseguire il curriculum in un [Codespace](https://github.com/features/codespaces/) (_un ambiente basato su browser, senza bisogno di installazioni_), oppure localmente sul tuo computer usando un editor di testo come [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). +Questo curriculum include un ambiente di sviluppo pronto all’uso! All’inizio puoi scegliere di eseguire il curriculum in un [Codespace](https://github.com/features/codespaces/) (_un ambiente basato su browser, senza necessità di installazioni_), oppure localmente sul tuo computer usando un editor di testo come [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -#### Crea il tuo repository -Per salvare facilmente il tuo lavoro, si consiglia di creare una copia di questo repository. Puoi farlo cliccando sul pulsante **Usa questo modello** in alto nella pagina. Questo creerà un nuovo repository nel tuo account GitHub con una copia del curriculum. +#### Crea il tuo repository +Per salvare facilmente il tuo lavoro, si consiglia di creare una copia personale di questo repository. Puoi farlo cliccando sul pulsante **Usa questo modello** in alto nella pagina. Questo creerà un nuovo repository nel tuo account GitHub con una copia del curriculum. -Segui questi passaggi: -1. **Forka il Repository**: Clicca sul bottone "Fork" in alto a destra di questa pagina. -2. **Clona il Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +Segui questi passi: +1. **Fork del repository**: clicca sul pulsante "Fork" nell’angolo in alto a destra di questa pagina. +2. **Clona il repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -#### Eseguire il curriculum in un Codespace +#### Esecuzione del curriculum in un Codespace -Nella tua copia del repository che hai creato, clicca il bottone **Code** e seleziona **Open with Codespaces**. Questo creerà un nuovo Codespace dove potrai lavorare. +Nella tua copia di questo repository che hai creato, clicca sul pulsante **Code** e seleziona **Open with Codespaces**. Questo creerà un nuovo Codespace su cui lavorare. ![Codespace](../../translated_images/it/createcodespace.0238bbf4d7a8d955.webp) -#### Eseguire il curriculum localmente sul tuo computer +#### Esecuzione del curriculum localmente sul tuo computer + +Per eseguire questo curriculum localmente sul tuo computer, ti servirà un editor di testo, un browser e uno strumento da riga di comando. La nostra prima lezione, [Introduzione ai linguaggi di programmazione e strumenti del mestiere](../../1-getting-started-lessons/1-intro-to-programming-languages), ti guiderà attraverso varie opzioni per ciascuno di questi strumenti per poterti scegliere ciò che funziona meglio per te. -Per eseguire questo curriculum localmente serve un editor di testo, un browser e uno strumento da riga di comando. La nostra prima lezione, [Introduzione ai linguaggi di programmazione e agli strumenti del mestiere](../../1-getting-started-lessons/1-intro-to-programming-languages), ti guiderà attraverso varie opzioni per ciascuno di questi strumenti in modo che tu possa scegliere quella che preferisci. +La nostra raccomandazione è di usare [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) come editor, che include anche un [Terminale](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) integrato. Puoi scaricare Visual Studio Code [qui](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -La nostra raccomandazione è di usare [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) come editor, che ha anche un [Terminale](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) integrato. Puoi scaricare Visual Studio Code [qui](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon). -1. Clona il tuo repository sul computer. Puoi farlo cliccando sul pulsante **Code** e copiando l’URL: +1. Clona il tuo repository sul computer. Puoi farlo cliccando sul pulsante **Code** e copiando l'URL: [CodeSpace](./images/createcodespace.png) - Poi, apri [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) all’interno di [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ed esegui il comando seguente, sostituendo `` con l’URL che hai appena copiato: + Poi, apri [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) all'interno di [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ed esegui il comando seguente, sostituendo `` con l'URL appena copiato: ```bash git clone @@ -136,87 +116,87 @@ La nostra raccomandazione è di usare [Visual Studio Code](https://code.visualst 2. Apri la cartella in Visual Studio Code. Puoi farlo cliccando su **File** > **Open Folder** e selezionando la cartella appena clonata. -> Estensioni consigliate di Visual Studio Code: +> Estensioni Visual Studio Code raccomandate: > -> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - per visualizzare in anteprima pagine HTML all’interno di Visual Studio Code +> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - per visualizzare in anteprima le pagine HTML all’interno di Visual Studio Code > * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - per aiutarti a scrivere codice più velocemente ## 📂 Ogni lezione include: - sketchnote opzionale - video supplementare opzionale -- quiz di riscaldamento prima della lezione +- quiz di riscaldamento pre-lezione - lezione scritta -- per le lezioni basate su progetti, guide passo-passo su come costruire il progetto -- controlli delle conoscenze +- per lezioni basate su progetti, guide passo-passo su come costruire il progetto +- verifiche di conoscenza - una sfida - letture supplementari - compito - [quiz post-lezione](https://ff-quizzes.netlify.app/web/) -> **Una nota sui quiz**: Tutti i quiz si trovano nella cartella Quiz-app, 48 quiz totali di tre domande ciascuno. Sono disponibili [qui](https://ff-quizzes.netlify.app/web/); l’app del quiz può essere eseguita localmente o distribuita su Azure; segui le istruzioni nella cartella `quiz-app`. +> **Una nota sui quiz**: Tutti i quiz sono contenuti nella cartella Quiz-app, 48 quiz totali con tre domande ciascuno. Sono disponibili [qui](https://ff-quizzes.netlify.app/web/); l'app dei quiz può essere eseguita localmente o distribuita su Azure; segui le istruzioni nella cartella `quiz-app`. ## 🗃️ Lezioni -| | Nome Progetto | Concetti Insegnati | Obiettivi di Apprendimento | Lezione Collegata | Autore | -| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | Getting Started | Introduzione alla Programmazione e Strumenti del Mestiere | Impara le basi comuni alla maggior parte dei linguaggi di programmazione e sul software che aiuta gli sviluppatori professionisti a svolgere il loro lavoro | [Introduzione ai Linguaggi di Programmazione e Strumenti del Mestiere](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | Getting Started | Nozioni base su GitHub, incluso il lavoro in team | Come usare GitHub nel tuo progetto, come collaborare con altri su una base di codice | [Introduzione a GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | Getting Started | Accessibilità | Impara le basi dell’accessibilità web | [Fondamenti di Accessibilità](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | JS Basics | Tipi di Dati JavaScript | Le basi dei tipi di dati in JavaScript | [Tipi di Dati](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | JS Basics | Funzioni e Metodi | Impara su funzioni e metodi per gestire il flusso logico di un’applicazione | [Funzioni e Metodi](./2-js-basics/2-functions-methods/README.md) | Jasmine e Christopher | -| 06 | JS Basics | Prendere Decisioni con JS | Impara a creare condizioni nel tuo codice usando metodi decisionali | [Prendere Decisioni](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | JS Basics | Array e Cicli | Lavora con dati usando array e cicli in JavaScript | [Array e Cicli](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML in Pratica | Costruisci l’HTML per creare un terrario online, focalizzandoti sulla costruzione del layout | [Introduzione a HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS in Pratica | Costruisci il CSS per stilizzare il terrario online, concentrandoti sulle basi del CSS inclusa la responsività della pagina | [Introduzione a CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrarium](./3-terrarium/solution/README.md) | Chiusure JavaScript, manipolazione del DOM | Costruisci il JavaScript per far funzionare il terrario come interfaccia drag/drop, concentrandoti su chiusure e manipolazione del DOM | [Chiusure JavaScript, manipolazione del DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Typing Game](./4-typing-game/solution/README.md) | Costruire un Gioco di Digitazione | Impara a usare eventi da tastiera per guidare la logica della tua app JavaScript | [Programmazione Event-Driven](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Lavorare con i Browser | Impara come funzionano i browser, la loro storia e come strutturare i primi elementi di un’estensione del browser | [Informazioni sui Browser](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Costruzione di un form, chiamata API e memorizzazione variabili in local storage | Costruisci gli elementi JavaScript della tua estensione per chiamare un’API usando variabili memorizzate nel local storage | [API, Form e Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Processi in background nel browser, prestazioni web | Usa i processi in background del browser per gestire l’icona dell’estensione; impara sulle prestazioni web e alcune ottimizzazioni per migliorare | [Attività Background e Prestazioni](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Space Game](./6-space-game/solution/README.md) | Sviluppo di giochi più avanzato con JavaScript | Impara sull’Ereditarietà usando sia Classi che Composizione e sul pattern Pub/Sub, in preparazione per costruire un gioco | [Introduzione allo Sviluppo Avanzato di Giochi](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [Space Game](./6-space-game/solution/README.md) | Disegnare su canvas | Impara la Canvas API, usata per disegnare elementi su uno schermo | [Disegnare su Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Space Game](./6-space-game/solution/README.md) | Muovere gli elementi sullo schermo | Scopri come gli elementi possono muoversi usando coordinate cartesiane e la Canvas API | [Muovere gli Elementi](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Space Game](./6-space-game/solution/README.md) | Rilevamento collisioni | Fai collidere elementi e reagire tra loro usando pressioni di tasti e fornisci una funzione di cooldown per assicurare le prestazioni del gioco | [Rilevamento Collisioni](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Space Game](./6-space-game/solution/README.md) | Mantenere il punteggio | Esegui calcoli matematici basati sullo stato e prestazioni del gioco | [Mantenere il Punteggio](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Space Game](./6-space-game/solution/README.md) | Terminare e riavviare il gioco | Impara a terminare e riavviare il gioco, inclusa la pulizia delle risorse e il reset dei valori delle variabili | [La Condizione di Fine](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [Banking App](./7-bank-project/solution/README.md) | Template HTML e Routing in un'app web | Impara a creare la struttura architettonica di un sito multipagina usando routing e template HTML | [Template HTML e Routing](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [Banking App](./7-bank-project/solution/README.md) | Costruire un form di login e registrazione | Impara a costruire form e gestire routine di validazione | [Form](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [Banking App](./7-bank-project/solution/README.md) | Metodi di Fetching e Uso dei Dati | Come i dati entrano e escono dalla tua app, come recuperarli, salvarli e scartarli | [Dati](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [Banking App](./7-bank-project/solution/README.md) | Concetti di Gestione dello Stato | Impara come la tua app mantiene lo stato e come gestirlo programmaticamente | [Gestione dello Stato](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Browser/VScode Code](../../8-code-editor) | Lavorare con VScode | Impara a usare un editor di codice| [Usare VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [AI Assistants](./9-chat-project/README.md) | Lavorare con AI | Impara a costruire il tuo assistente AI | [Progetto Assistente AI](./9-chat-project/README.md) | Chris | +| | Nome del Progetto | Concetti Insegnati | Obiettivi di Apprendimento | Lezione Collegata | Autore | +| :-: | :-----------------------------------------------------------: | :-----------------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | +| 01 | Getting Started | Introduzione alla programmazione e agli strumenti del mestiere | Imparare le basi che stanno dietro la maggior parte dei linguaggi di programmazione e sul software che aiuta gli sviluppatori professionisti a svolgere il loro lavoro | [Introduzione ai Linguaggi di Programmazione e Strumenti](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Getting Started | Nozioni base di GitHub, inclusa la collaborazione in team | Come usare GitHub nel tuo progetto, come collaborare con altri su una base di codice | [Introduzione a GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Getting Started | Accessibilità | Imparare le basi dell'accessibilità web | [Fondamenti di Accessibilità](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | JS Basics | Tipi di dati in JavaScript | Le basi dei tipi di dati in JavaScript | [Tipi di Dati](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | JS Basics | Funzioni e Metodi | Imparare sulle funzioni e metodi per gestire il flusso logico di un'applicazione | [Funzioni e Metodi](./2-js-basics/2-functions-methods/README.md) | Jasmine e Christopher | +| 06 | JS Basics | Prendere decisioni con JS | Imparare a creare condizioni nel codice usando metodi di decisione | [Prendere Decisioni](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | JS Basics | Array e Cicli | Lavorare con dati usando array e cicli in JavaScript | [Array e Cicli](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML in pratica | Costruire l'HTML per creare un terrario online, concentrandosi sulla costruzione di un layout | [Introduzione all'HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS in pratica | Costruire il CSS per lo stile del terrario online, concentrandosi sulle basi del CSS inclusa la resa responsiva della pagina | [Introduzione al CSS](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](./3-terrarium/solution/README.md) | Closure JavaScript, manipolazione DOM | Costruire il JavaScript per fare in modo che il terrario funzioni come un'interfaccia drag & drop, concentrandosi su closure e manipolazioni DOM | [Closure JavaScript, manipolazione DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Typing Game](./4-typing-game/solution/README.md) | Costruire un gioco di digitazione | Imparare a usare eventi da tastiera per guidare la logica della tua app JavaScript | [Programmazione basata su eventi](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Lavorare con i browser | Imparare come funzionano i browser, la loro storia e come strutturare i primi elementi di un'estensione per browser | [Informazioni sui browser](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Costruire un modulo, chiamare un’API e memorizzare variabili nello storage locale | Costruire gli elementi JavaScript della tua estensione browser per chiamare un'API usando variabili memorizzate nello storage locale | [API, moduli e storage locale](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Processi in background nel browser, performance web | Usare i processi in background del browser per gestire l'icona dell'estensione; imparare sulle performance web e alcune ottimizzazioni per migliorare | [Processi di background e performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Space Game](./6-space-game/solution/README.md) | Sviluppo di giochi avanzato con JavaScript | Imparare sull'ereditarietà usando sia Classi che Composizione e il pattern Pub/Sub, in preparazione per costruire un gioco | [Introduzione allo sviluppo di giochi avanzato](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Space Game](./6-space-game/solution/README.md) | Disegnare su canvas | Imparare l'API Canvas, usata per disegnare elementi su schermo | [Disegnare su Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Space Game](./6-space-game/solution/README.md) | Muovere elementi sullo schermo | Scoprire come gli elementi possono acquisire movimento usando coordinate cartesiane e l'API Canvas | [Muovere elementi](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Space Game](./6-space-game/solution/README.md) | Rilevamento collisioni | Far collidere e reagire elementi tra loro usando pressioni di tasti e fornire una funzione di cooldown per assicurare le prestazioni del gioco | [Rilevamento collisioni](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Space Game](./6-space-game/solution/README.md) | Tenere il punteggio | Effettuare calcoli matematici basati sullo stato e le prestazioni del gioco | [Tenere il punteggio](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Space Game](./6-space-game/solution/README.md) | Finire e riavviare il gioco | Imparare a finire e riavviare il gioco, compreso pulire le risorse e reimpostare i valori delle variabili | [La condizione di fine](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Banking App](./7-bank-project/solution/README.md) | Template HTML e Routing in una Web App | Imparare a creare la struttura di un sito web multipagina usando routing e template HTML | [Template HTML e Routing](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Banking App](./7-bank-project/solution/README.md) | Costruire un modulo di login e registrazione | Imparare a costruire moduli e gestire routine di validazione | [Moduli](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Banking App](./7-bank-project/solution/README.md) | Metodi per recuperare e usare dati | Come i dati fluiscono dentro e fuori dalla tua app, come recuperarli, memorizzarli e smaltirli | [Dati](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Banking App](./7-bank-project/solution/README.md) | Concetti di gestione dello stato | Imparare come la tua app mantiene lo stato e come gestirlo programmaticamente | [Gestione dello Stato](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Browser/VScode Code](../../8-code-editor) | Lavorare con VScode | Imparare a usare un editor di codice| [Usa l’editor di codice VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [AI Assistants](./9-chat-project/README.md) | Lavorare con l’AI | Imparare a costruire il tuo assistente AI | [Progetto assistente AI](./9-chat-project/README.md) | Chris | ## 🏫 Pedagogia -Il nostro curriculum è progettato secondo due principi pedagogici chiave: +Il nostro curriculum è progettato seguendo due principi pedagogici chiave: * apprendimento basato su progetti * quiz frequenti -Il programma insegna le basi di JavaScript, HTML e CSS, così come gli strumenti e le tecniche più recenti usati dagli sviluppatori web di oggi. Gli studenti avranno l’opportunità di acquisire esperienza pratica costruendo un gioco di digitazione, un terrario virtuale, un’estensione browser ecologica, un gioco in stile space-invader e un’app bancaria per aziende. Alla fine della serie, gli studenti avranno acquisito una solida comprensione dello sviluppo web. +Il programma insegna le basi di JavaScript, HTML e CSS, nonché gli strumenti e le tecniche più recenti usati dagli sviluppatori web di oggi. Gli studenti avranno l'opportunità di acquisire esperienza pratica costruendo un gioco di digitazione, un terrario virtuale, un'estensione browser eco-sostenibile, un gioco in stile space invader e un'app bancaria per imprese. Alla fine della serie, gli studenti avranno acquisito una solida comprensione dello sviluppo web. -> 🎓 Puoi seguire le prime lezioni di questo curriculum come [Percorso di Apprendimento](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) su Microsoft Learn! +> 🎓 Puoi seguire le prime lezioni di questo curriculum come un [Percorso di Apprendimento](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) su Microsoft Learn! -Assicurando che il contenuto sia allineato ai progetti, il processo diventa più coinvolgente per gli studenti e la ritenzione dei concetti sarà aumentata. Abbiamo inoltre scritto diverse lezioni introduttive sulle basi di JavaScript per introdurre i concetti, abbinate a un video della raccolta "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", alcuni dei cui autori hanno contribuito a questo curriculum. +Garantendo che il contenuto sia allineato con i progetti, il processo risulta più coinvolgente per gli studenti e la ritenzione dei concetti sarà aumentata. Abbiamo inoltre scritto diverse lezioni introduttive sulle basi di JavaScript per introdurre i concetti, abbinate a un video dalla collezione "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" di tutorial video, alcuni autori dei quali hanno contribuito a questo curriculum. -Inoltre, un quiz a bassa pressione prima di una lezione pone l’intenzione dello studente verso l’apprendimento di un argomento, mentre un secondo quiz dopo la lezione assicura una maggiore ritenzione. Questo curriculum è stato progettato per essere flessibile e divertente e può essere seguito integralmente o parzialmente. I progetti iniziano piccoli e diventano progressivamente più complessi entro la fine del ciclo di 12 settimane. +Inoltre, un quiz a basso rischio prima della lezione stabilisce l'intenzione dello studente verso l'apprendimento di un argomento, mentre un secondo quiz dopo la lezione assicura una maggiore ritenzione. Questo curriculum è stato progettato per essere flessibile e divertente e può essere seguito interamente o parzialmente. I progetti iniziano piccoli e diventano progressivamente più complessi entro la fine del ciclo di 12 settimane. -Sebbene abbiamo volutamente evitato l’introduzione di framework JavaScript per concentrarci sulle competenze di base necessarie come sviluppatore web prima di adottare un framework, un buon passo successivo per completare questo curriculum sarebbe imparare Node.js tramite un’altra raccolta di video: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". +Anche se abbiamo volutamente evitato di introdurre framework JavaScript per concentrarci sulle abilità di base necessarie come sviluppatore web prima di adottare un framework, un buon passo successivo per completare questo curriculum sarebbe imparare Node.js tramite un'altra collezione di video: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)". -> Visita le nostre linee guida [Codice di Condotta](CODE_OF_CONDUCT.md) e [Contributi](CONTRIBUTING.md). Accogliamo con piacere il tuo feedback costruttivo! +> Visita le nostre linee guida su [Codice di Condotta](CODE_OF_CONDUCT.md) e [Come contribuire](CONTRIBUTING.md). Accogliamo con piacere i tuoi feedback costruttivi! ## 🧭 Accesso offline -Puoi eseguire questa documentazione offline usando [Docsify](https://docsify.js.org/#/). Fai un fork di questo repo, [installa Docsify](https://docsify.js.org/#/quickstart) sulla tua macchina locale, e poi nella cartella principale di questo repo, digita `docsify serve`. Il sito sarà servito sulla porta 3000 del tuo localhost: `localhost:3000`. +Puoi eseguire questa documentazione offline usando [Docsify](https://docsify.js.org/#/). Fai un fork di questo repository, [installa Docsify](https://docsify.js.org/#/quickstart) sulla tua macchina locale, e poi nella cartella radice di questo repository, digita `docsify serve`. Il sito web sarà servito sulla porta 3000 del tuo localhost: `localhost:3000`. ## 📘 PDF -Un PDF di tutte le lezioni è disponibile [qui](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). +Un PDF di tutte le lezioni può essere trovato [qui](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). ## 🎒 Altri Corsi -Il nostro team produce altri corsi! Dai un'occhiata: +Il nostro team produce altri corsi! Dai un’occhiata a: ### LangChain @@ -241,7 +221,7 @@ Il nostro team produce altri corsi! Dai un'occhiata: --- -### Apprendimento Core +### Formazione Base [![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) [![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) [![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) @@ -260,21 +240,21 @@ Il nostro team produce altri corsi! Dai un'occhiata: ## Ottenere Aiuto -Se rimani bloccato o hai domande sulla creazione di app AI, unisciti ad altri studenti e sviluppatori esperti nelle discussioni su MCP. È una comunità di supporto dove le domande sono benvenute e la conoscenza viene condivisa liberamente. +Se ti blocchi o hai domande sulla creazione di app AI, unisciti ad altri studenti e sviluppatori esperti nelle discussioni su MCP. È una comunità di supporto dove le domande sono benvenute e la conoscenza è condivisa liberamente. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Se hai feedback sul prodotto o incontri errori durante la creazione visita: +Se hai feedback sul prodotto o errori durante lo sviluppo visita: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) ## Licenza -Questo repository è concesso in licenza sotto la licenza MIT. Consulta il file [LICENSE](../../LICENSE) per maggiori informazioni. +Questo repository è concesso in licenza sotto la licenza MIT. Vedere il file [LICENSE](../../LICENSE) per maggiori informazioni. --- -**Avvertenza**: -Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Pur facendo del nostro meglio per garantire l'accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o inesattezze. Il documento originale nella sua lingua nativa deve essere considerato la fonte autorevole. Per informazioni critiche, si consiglia la traduzione professionale effettuata da un umano. Non ci assumiamo responsabilità per eventuali malintesi o interpretazioni errate derivanti dall'uso di questa traduzione. +**Disclaimer**: +Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Pur impegnandoci per garantire l’accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua originale deve essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale umana. Non siamo responsabili per eventuali malintesi o interpretazioni errate derivanti dall’uso di questa traduzione. \ No newline at end of file diff --git a/translations/ja/.co-op-translator.json b/translations/ja/.co-op-translator.json index 2d2edfab2d..a40e38eae1 100644 --- a/translations/ja/.co-op-translator.json +++ b/translations/ja/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-03-27T19:10:31+00:00", + "translation_date": "2026-04-06T18:03:22+00:00", "source_file": "AGENTS.md", "language_code": "ja" }, @@ -516,8 +516,8 @@ "language_code": "ja" }, "README.md": { - "original_hash": "a2c9eed480687319517c08a6319e5536", - "translation_date": "2026-03-06T14:29:38+00:00", + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T17:57:44+00:00", "source_file": "README.md", "language_code": "ja" }, diff --git a/translations/ja/AGENTS.md b/translations/ja/AGENTS.md index 3336fe5f8b..4720a8caf3 100644 --- a/translations/ja/AGENTS.md +++ b/translations/ja/AGENTS.md @@ -2,46 +2,46 @@ ## プロジェクト概要 -これは初心者にウェブ開発の基礎を教えるための教育カリキュラムリポジトリです。カリキュラムは Microsoft Cloud Advocates によって開発された包括的な12週間のコースで、JavaScript、CSS、HTML を扱う24の実践的なレッスンを特徴としています。 +これは初心者向けにウェブ開発の基礎を教えるための教育カリキュラムリポジトリです。カリキュラムはMicrosoft Cloud Advocatesによって作成された包括的な12週間コースで、JavaScript、CSS、HTMLを扱う24の実践的なレッスンが含まれています。 -### 主なコンポーネント +### 主な構成要素 -- 教育コンテンツ: プロジェクトベースのモジュールに構成された24の体系的なレッスン -- 実践プロジェクト: テラリウム、タイピングゲーム、ブラウザー拡張機能、宇宙ゲーム、銀行アプリ、コードエディター、AIチャットアシスタント -- インタラクティブクイズ: 各3問の48のクイズ(レッスン前後の評価) -- 多言語対応: GitHub Actions による50以上の言語の自動翻訳 +- 教育コンテンツ: プロジェクトベースのモジュールに整理された24の構造化されたレッスン +- 実践的プロジェクト: テラリウム、タイピングゲーム、ブラウザー拡張機能、スペースゲーム、バンキングアプリ、コードエディター、AIチャットアシスタント +- インタラクティブクイズ: 各レッスン前後に3問ずつの48のクイズ +- 多言語対応: GitHub Actionsによる50以上の言語の自動翻訳対応 - 技術スタック: HTML、CSS、JavaScript、Vue.js 3、Vite、Node.js、Express、Python(AIプロジェクト用) ### アーキテクチャ -- レッスンベースの構造をもつ教育リポジトリ -- 各レッスンフォルダーに README、コード例、解答例を含む -- 独立したプロジェクトは別ディレクトリに配置(quiz-app、各種レッスンプロジェクト) +- レッスンベース構造の教育リポジトリ +- 各レッスンフォルダーにはREADME、コード例、ソリューションが含まれる +- 独立したプロジェクトは個別のディレクトリに(quiz-app、各種レッスンプロジェクト) - GitHub Actions(co-op-translator)を用いた翻訳システム -- Docsify でドキュメント配信および PDF での提供 +- Docsifyで提供されるドキュメントおよびPDF形式での提供もあり ## セットアップコマンド -このリポジトリは主に教育コンテンツの参照用です。特定のプロジェクトに取り組む際は以下を参照してください。 +このリポジトリは主に教育コンテンツの閲覧用です。特定のプロジェクトを扱う場合は以下を参照してください。 -### メインリポジトリセットアップ +### メインリポジトリのセットアップ ```bash git clone https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners ``` -### クイズアプリセットアップ (Vue 3 + Vite) +### クイズアプリのセットアップ(Vue 3 + Vite) ```bash cd quiz-app npm install -npm run dev # 開発サーバーを起動 -npm run build # 本番用にビルド -npm run lint # ESLintを実行 +npm run dev # 開発サーバーを起動する +npm run build # 本番用にビルドする +npm run lint # ESLintを実行する ``` -### 銀行プロジェクトAPI (Node.js + Express) +### バンクプロジェクトAPI(Node.js + Express) ```bash cd 7-bank-project/api @@ -56,15 +56,15 @@ npm run format # Prettierでフォーマットする ```bash cd 5-browser-extension/solution npm install -# ブラウザ固有の拡張機能読み込み手順に従ってください +# ブラウザ固有の拡張機能の読み込み手順に従ってください ``` -### 宇宙ゲームプロジェクト +### スペースゲームプロジェクト ```bash cd 6-space-game/solution npm install -# ブラウザでindex.htmlを開くか、Live Serverを使用してください +# index.html をブラウザで開くか、Live Server を使用してください ``` ### チャットプロジェクト(Pythonバックエンド) @@ -72,7 +72,7 @@ npm install ```bash cd 9-chat-project/solution/backend/python pip install openai -# GITHUB_TOKEN 環境変数を設定する +# GITHUB_TOKEN環境変数を設定する python api.py ``` @@ -80,117 +80,117 @@ python api.py ### コンテンツ寄稿者向け -1. リポジトリを GitHub のアカウントに フォーク する -2. フォークしたリポジトリをローカルに クローン する -3. 変更用の 新しいブランチ を作成する -4. レッスンの内容やコード例を編集する +1. リポジトリをGitHubアカウントでフォークする +2. フォークをローカルにクローンする +3. 変更用に新しいブランチを作成する +4. レッスンコンテンツやコード例を編集する 5. 関連プロジェクトディレクトリでコード変更をテストする -6. 貢献ガイドラインに従いプルリクエストを提出する +6. 貢献ガイドラインに沿ってプルリクエストを提出する ### 学習者向け 1. リポジトリをフォークまたはクローンする -2. レッスンディレクトリを順番に進む -3. 各レッスンの README を読む -4. https://ff-quizzes.netlify.app/web/ でレッスン前クイズを受ける -5. レッスンフォルダ内のコード例を実践する -6. 課題やチャレンジを完了する -7. レッスン後クイズを受ける +2. レッスンディレクトリを順に移動する +3. 各レッスンのREADMEを読む +4. https://ff-quizzes.netlify.app/web/ でレッスン前クイズを完了する +5. レッスンフォルダーのコード例に取り組む +6. 課題とチャレンジを完了する +7. レッスン後のクイズを受験する ### ライブ開発 - ドキュメント: ルートで `docsify serve` を実行(ポート3000) -- クイズアプリ: quiz-appディレクトリで `npm run dev` を実行 -- プロジェクト: VS Code Live Server 拡張機能を使用(HTMLプロジェクト用) -- **APIプロジェクト**: 各APIディレクトリで `npm start` を実行 +- クイズアプリ: quiz-appディレクトリで `npm run dev` 実行 +- プロジェクト: HTMLプロジェクトはVS CodeのLive Server拡張を使用 +- **APIプロジェクト**: 該当APIディレクトリで `npm start` 実行 ## テスト手順 -### クイズアプリテスト +### クイズアプリのテスト ```bash cd quiz-app npm run lint # コードスタイルの問題をチェックする -npm run build # ビルドが成功することを確認する +npm run build # ビルドが成功するか確認する ``` -### 銀行APIテスト +### バンクAPIのテスト ```bash cd 7-bank-project/api -npm run lint # コードスタイルの問題を確認する -node server.js # エラーなくサーバーが起動するか検証する +npm run lint # コードスタイルの問題をチェックする +node server.js # サーバーがエラーなく起動することを確認する ``` ### 一般的なテスト方針 -- 包括的な自動テストはない教育リポジトリです -- 手動テストは以下に着目: - - コード例がエラーなく実行できるか - - ドキュメント内のリンクが正しく動作するか - - プロジェクトビルドが正常に完了するか - - 例がベストプラクティスに沿っているか +- 本リポジトリは包括的な自動テストを含みません +- 手動テストは以下に重点を置く: + - コード例がエラーなく動作すること + - ドキュメント内リンクが正しく機能すること + - プロジェクトが正常にビルドできること + - 例がベストプラクティスに従っていること ### 提出前チェック -- package.json のあるディレクトリで `npm run lint` を実行 -- Markdownリンクの有効性を検証 -- ブラウザまたは Node.js でコード例をテスト -- 翻訳が正しい構造を保持していることを確認 +- package.jsonのあるディレクトリで `npm run lint` を実行 +- マークダウンのリンクが有効か確認 +- ブラウザやNode.jsでコード例を検証 +- 翻訳が正しい構造を維持していることを確認 ## コードスタイルガイドライン ### JavaScript -- 最新の ES6+ 構文を使用 -- プロジェクトで提供される標準 ESLint 設定を遵守 -- 教育上わかりやすい変数名・関数名を使用 -- 概念説明のコメントを追加 -- Prettier でフォーマット(設定がある場合) +- モダンなES6+構文を使用 +- プロジェクト内の標準ESLint設定に従う +- 教育目的でわかりやすい変数・関数名を使用 +- 学習者向けに概念を説明するコメントを追加 +- Prettierでフォーマット(設定されている場合) ### HTML/CSS -- セマンティックなHTML5要素 -- レスポンシブデザインの原則 +- セマンティックなHTML5要素を使用 +- レスポンシブデザインの原則を守る - 明確なクラス命名規則 -- CSS技術についての説明コメント +- CSS手法を説明するコメントを付加 ### Python -- PEP 8 スタイルガイドに準拠 -- 教育的にわかりやすいコード例 -- 学習支援のための型ヒントも活用 +- PEP 8スタイルガイドに準拠 +- わかりやすく教育的なコード例 +- 学習を助ける型ヒントを適宜使用 ### Markdownドキュメント - 明確な見出し階層 -- 言語指定のコードブロック +- 言語指定付きコードブロック - 追加リソースへのリンク -- `images/` ディレクトリのスクリーンショット、画像 -- アクセシビリティのための代替テキスト +- `images/` ディレクトリ内のスクリーンショットや画像 +- アクセシビリティ対応のための代替テキスト ### ファイル構成 -- レッスンは順番に番号付け(1-getting-started-lessons、2-js-basics 等) -- 各プロジェクトに `solution/`、多くは `start/` または `your-work/` ディレクトリ -- 画像はレッスン固有の `images/` フォルダに格納 -- 翻訳は `translations/{language-code}/` 構造 +- レッスンは番号付きで順番に並ぶ(1-getting-started-lessons、2-js-basicsなど) +- 各プロジェクトは `solution/` と、しばしば `start/` や `your-work/` ディレクトリを持つ +- 画像は各レッスン固有の `images/` フォルダーに保存 +- 翻訳は `translations/{language-code}/` 構造で管理 ## ビルドとデプロイ -### クイズアプリのデプロイ (Azure Static Web Apps) +### クイズアプリのデプロイ(Azure Static Web Apps) -quiz-app は Azure Static Web Apps 用に設定済み: +quiz-appはAzure Static Web Apps用の設定済み: ```bash cd quiz-app -npm run build # dist/フォルダを作成します -# mainブランチへのプッシュ時にGitHub Actionsワークフローを通じてデプロイします +npm run build # dist/フォルダを作成する +# mainにプッシュされたときにGitHub Actionsワークフローを介してデプロイする ``` -Azure Static Web Apps の設定: -- アプリの場所: `/quiz-app` -- 出力場所: `dist` +Azure Static Web Apps構成: +- アプリロケーション: `/quiz-app` +- 出力先: `dist` - ワークフロー: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` ### ドキュメントPDF生成 @@ -203,76 +203,76 @@ npm run convert # docs から PDF を生成する ### Docsifyドキュメント ```bash -npm install -g docsify-cli # Docsify をグローバルにインストールする -docsify serve # localhost:3000 でサーブする +npm install -g docsify-cli # Docsifyをグローバルにインストールする +docsify serve # localhost:3000でサービスを開始する ``` -### プロジェクト別ビルド +### プロジェクトごとのビルド -各プロジェクトディレクトリに特有のビルドプロセスあり: -- Vue プロジェクト: `npm run build` で本番バンドル作成 -- 静的プロジェクト: ビルド不要、ファイルを直接配信 +各プロジェクトディレクトリには独自のビルド処理がある場合がある: +- Vueプロジェクト:`npm run build` で本番用バンドル生成 +- 静的プロジェクト:ビルド不要でファイルを直接提供 ## プルリクエストガイドライン ### タイトル形式 -変更箇所をわかりやすく明示: -- `[Quiz-app] レッスンX用の新しいクイズ追加` +変更内容がわかりやすい明確なタイトルを使用: +- `[Quiz-app] レッスンXの新しいクイズ追加` - `[Lesson-3] テラリウムプロジェクトのタイプミス修正` - `[Translation] レッスン5のスペイン語翻訳追加` -- `[Docs] セットアップ手順更新` +- `[Docs] セットアップ手順の更新` ### 必須チェック -PR提出前に実施: +PR提出前に以下を実施: 1. コード品質: - - 関連プロジェクトで `npm run lint` を実行 - - 全ての警告・エラーを修正 + - 該当プロジェクトディレクトリで `npm run lint` 実行 + - すべてのリンティングエラーと警告を修正 2. ビルド確認: - - 該当する場合 `npm run build` を実行 - - ビルドエラーなしを確保 + - 必要に応じて `npm run build` 実行 + - ビルドエラーなしを確認 3. リンク検証: - - 全Markdownリンクをテスト - - 画像参照の動作確認 + - すべてのマークダウンリンクをテスト + - 画像の参照が正しいことを確認 -4. 内容レビュー: - - スペル・文法の校正 - - コード例の正確さと教育的妥当性 - - 翻訳が原文の意味を維持しているか確認 +4. コンテンツレビュー: + - スペルと文法の校正 + - コード例が正しく教育的であること確認 + - 翻訳が原文の意味を忠実に反映していることを検証 ### 貢献条件 -- Microsoft CLA に同意(初PR時に自動チェック) -- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) を遵守 -- 詳細は [CONTRIBUTING.md](./CONTRIBUTING.md) 参照 -- PR説明に関連issue番号を記載(該当時) +- Microsoft CLAへの同意(初回PR時に自動チェック) +- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)の遵守 +- 詳細は [CONTRIBUTING.md](./CONTRIBUTING.md) を参照 +- PR説明に課題番号記載(該当する場合) -### レビュー体制 +### レビュー過程 -- PRはメンテナとコミュニティでレビュー -- 教育的な明瞭さを優先 -- コード例は最新のベストプラクティスに沿うこと -- 翻訳は正確性と文化的適合性を重視してレビュー +- メンテナとコミュニティによるレビュー +- 教育のわかりやすさを最優先 +- コード例は最新のベストプラクティスに合致させる +- 翻訳は正確さと文化的適切さもチェック ## 翻訳システム ### 自動翻訳 -- GitHub Actions と co-op-translator ワークフローを使用 +- GitHub Actionsのco-op-translatorワークフローを利用 - 50以上の言語へ自動翻訳 -- ソースファイルはメインディレクトリ内 -- 翻訳ファイルは `translations/{language-code}/` に保管 +- ソースファイルはメインディレクトリ +- 翻訳ファイルは `translations/{language-code}/` に格納 ### 手動翻訳改善の追加 -1. `translations/{language-code}/`内のファイルを特定 -2. 構造を崩さず改善を加える -3. コード例が動作し続けるように注意 -4. ローカライズされたクイズ内容もテスト +1. `translations/{language-code}/` 内のファイルを見つける +2. 構造を維持しつつ改善を加える +3. コード例の動作が維持されていることを確認 +4. ローカライズされたクイズ内容をテスト ### 翻訳メタデータ @@ -294,115 +294,115 @@ CO_OP_TRANSLATOR_METADATA: ### よくある問題 クイズアプリが起動しない: -- Node.js のバージョンを確認(v14以上推奨) -- `node_modules` と `package-lock.json` を削除し `npm install` を再実行 -- ポート競合(デフォルト Vite ポート 5173)をチェック +- Node.jsのバージョンを確認(v14以上推奨) +- `node_modules` と `package-lock.json` を削除し、`npm install` を再実行 +- ポート競合の確認(デフォルトはViteのポート5173) **APIサーバーが起動しない**: -- Node.js バージョンは最低 node >=10 であることを確認 -- ポートが既に使われていないかチェック -- 依存関係は `npm install` 済みか確認 +- Node.jsバージョンが最小要件(node >=10)を満たしているか +- ポートが使用中でないか確認 +- すべての依存を `npm install` でインストール済みか -ブラウザー拡張機能が読み込まれない: -- manifest.json が正しくフォーマットされているか確認 -- ブラウザのコンソールでエラーを確認 -- ブラウザ固有の拡張機能インストール手順に従う +ブラウザー拡張機能が読み込めない: +- manifest.jsonの適切なフォーマットを確認 +- ブラウザコンソールのエラーを確認 +- ブラウザ固有のインストール手順に従う **Pythonチャットプロジェクトの問題**: -- OpenAI パッケージがインストールされていること: `pip install openai` -- GITHUB_TOKEN 環境変数が設定済みか確認 -- GitHub Models へのアクセス権限をチェック +- OpenAIパッケージのインストールを確認: `pip install openai` +- GITHUB_TOKEN環境変数が設定されていることを確認 +- GitHub Modelsのアクセス権を確認 -**Docsify がドキュメントを配信しない**: -- docsify-cli をグローバルにインストール: `npm install -g docsify-cli` -- リポジトリルートで起動 -- `docs/_sidebar.md` が存在しているか確認 +**Docsifyがドキュメントを提供しない**: +- docsify-cliをグローバルにインストール: `npm install -g docsify-cli` +- リポジトリルートで実行 +- `docs/_sidebar.md` が存在することを確認 ### 開発環境のヒント -- HTMLプロジェクトには VS Code の Live Server 拡張機能を使用 -- 一貫したフォーマットのため ESLint と Prettier 拡張をインストール -- JavaScript のデバッグにはブラウザの DevTools を活用 -- Vueプロジェクトには Vue DevTools ブラウザ拡張をインストール +- HTMLプロジェクトはVS CodeのLive Server拡張を利用 +- ESLintとPrettier拡張をインストールして一貫性あるフォーマット +- JavaScriptデバッグにはブラウザのDevToolsを使用 +- VueプロジェクトではVue DevToolsのブラウザ拡張をインストール -### パフォーマンス上の注意 +### パフォーマンス考慮事項 -- 50以上の言語の大量翻訳ファイルによってフルクローンは大きくなる -- コンテンツのみ作業時は浅いクローンで: `git clone --depth 1` -- 英語コンテンツ作業時は翻訳ファイルを検索外にすると高速化 -- 初回のビルドプロセスは遅い場合あり(npm install、Viteビルド) +- 翻訳ファイルが50以上あるため、フルクローンは大容量 +- コンテンツ作業のみなら浅いクローンを推奨:`git clone --depth 1` +- 英語コンテンツ作業時は検索から翻訳を除外すると効果的 +- 最初のビルド(npm install、Viteビルド)は時間がかかる場合あり -## セキュリティ上の考慮点 +## セキュリティ考慮事項 ### 環境変数 -- APIキーは決してリポジトリにコミットしない -- `.env` ファイルを使用(既に `.gitignore` に設定) -- 必要な環境変数はプロジェクトのREADMEに記載 +- APIキーはリポジトリにコミットしない +- `.env` ファイルを利用(既に `.gitignore` で除外) +- 必須環境変数をプロジェクトREADMEに記載 ### Pythonプロジェクト -- 仮想環境を使用: `python -m venv venv` -- 依存関係は常に最新に保つ -- GitHub トークンは最小限の権限を付与 +- 仮想環境を使用:`python -m venv venv` +- 依存を最新に保つ +- GitHubトークンは必要最小限の権限で管理 ### GitHub Modelsアクセス -- GitHub Models のための個人アクセストークン(PAT)が必要 +- GitHub Models利用には個人アクセストークン(PAT)が必要 - トークンは環境変数として管理 -- トークンや認証情報は絶対にコミットしない +- トークンや認証情報を決してコミットしないこと -## その他の注意点 +## 追加情報 ### 対象ユーザー -- ウェブ開発の完全初心者 +- ウェブ開発の完全な初心者 - 学生や独学者 -- 教室でカリキュラムを使う教師 -- アクセシビリティに配慮しスキルを段階的に積み上げられる内容 +- 教室でカリキュラムを利用する教師 +- アクセシブルで段階的なスキルアップを目指した内容 -### 教育方針 +### 教育理念 - プロジェクトベースの学習アプローチ - 頻繁な理解度チェック(クイズ) -- 実際に手を動かすコーディング演習 -- 実世界の応用例を示す -- フレームワークより基礎を重視 +- 実践的なコード演習 +- 実世界の応用例を提供 +- フレームワークよりも基礎の重視 ### リポジトリのメンテナンス -- 学習者や貢献者の活発なコミュニティ -- 依存関係とコンテンツの定期的な更新 -- メンテナが課題や議論を監視 -- GitHub Actions による翻訳更新の自動化 +- 積極的な学習者・貢献者コミュニティ +- 依存関係やコンテンツの定期的な更新 +- メンテナによる課題管理と議論の監視 +- GitHub Actionsによる翻訳の自動更新 ### 関連リソース -- [Microsoft Learn モジュール](https://docs.microsoft.com/learn/) -- [Student Hub リソース](https://docs.microsoft.com/learn/student-hub/) -- 学習者に推奨される [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) -- ジェネレーティブ AI、データサイエンス、ML、IoT の追加コースも利用可能 +- [Microsoft Learnモジュール](https://docs.microsoft.com/learn/) +- [Student Hubリソース](https://docs.microsoft.com/learn/student-hub/) +- 学習者向けに推奨される [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) +- 追加コース:ジェネレーティブAI、データサイエンス、ML、IoTカリキュラムもあり -### 特定プロジェクトの利用 +### 特定プロジェクトの扱い -各プロジェクトの詳細は以下の README ファイルを参照: -- `quiz-app/README.md` - Vue 3 クイズアプリケーション -- `7-bank-project/README.md` - 認証付き銀行アプリ +各プロジェクトの詳細な手順は以下のREADMEを参照: +- `quiz-app/README.md` - Vue 3クイズアプリケーション +- `7-bank-project/README.md` - 認証付きバンキングアプリ - `5-browser-extension/README.md` - ブラウザー拡張機能開発 -- `6-space-game/README.md` - Canvasベースのゲーム +- `6-space-game/README.md` - Canvasベースのゲーム開発 - `9-chat-project/README.md` - AIチャットアシスタントプロジェクト -### モノレポ構造 +### モノレポ構成 -伝統的なモノレポではありませんが、複数の独立プロジェクトを含むリポジトリです: -- 各レッスンは独立型 -- プロジェクト同士で依存性は共有しない -- 個別プロジェクトに集中可能 -- カリキュラム全体体験には全リポジトリのクローンが推奨される +本リポジトリは従来のモノレポではありませんが、複数の独立プロジェクトを含みます: +- 各レッスンは自己完結型 +- プロジェクト間で依存関係を共有しない +- 個別プロジェクトで独立して作業可能 +- 全カリキュラム体験にはリポジトリ全体をクローンしてください --- **免責事項**: -本書類は AI 翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確さを期していますが、自動翻訳には誤りや不正確な部分が含まれる場合があることをご理解ください。原文のネイティブ言語による資料が権威ある情報源とみなされるべきです。重要な情報については、専門の人間翻訳を推奨します。本翻訳の使用により生じた誤解や誤訳について、当方は一切の責任を負いません。 +本書類は AI 翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性の向上に努めていますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご了承ください。原文の言語による文書が権威ある情報源と見なされるべきです。重要な情報については、専門の人間による翻訳を推奨します。本翻訳の使用により生じた誤解や解釈の相違について、当方は一切の責任を負いません。 \ No newline at end of file diff --git a/translations/ja/README.md b/translations/ja/README.md index 21058ad5da..c9ba975283 100644 --- a/translations/ja/README.md +++ b/translations/ja/README.md @@ -10,29 +10,29 @@ [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -# はじめてのウェブ開発 - カリキュラム +# Web Development for Beginners - カリキュラム -Microsoft Cloud Advocatesによる全12週間の包括的なコースでウェブ開発の基礎を学びましょう。24の各レッスンは、テラリウムやブラウザ拡張機能、宇宙ゲームといった実践的なプロジェクトを通じてJavaScript、CSS、HTMLを深く掘り下げます。クイズ、ディスカッション、実習課題に取り組みましょう。効果的なプロジェクトベースの教育法でスキルを向上させ、知識の定着を最大化します。今日からコーディングの旅を始めましょう! +Microsoft Cloud Advocates による12週間の総合的なコースでウェブ開発の基本を学びましょう。24回の各レッスンは、テラリウム、ブラウザー拡張機能、宇宙ゲームなどの実践的プロジェクトを通じてJavaScript、CSS、HTMLを深掘りします。クイズやディスカッション、実践課題に参加してください。効果的なプロジェクトベースの教育法でスキルを高め、知識の定着を最適化しましょう。今日からコーディングを始めましょう! -Azure AI Foundry Discordコミュニティに参加しよう +Azure AI Foundry Discord コミュニティに参加する [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -以下の手順でこれらのリソースの利用を始めましょう: -1. **リポジトリをフォークする**:[![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)をクリック -2. **リポジトリをクローンする**:`git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -3. [**Azure AI Foundry Discordに参加し、専門家や開発者仲間と出会う**](https://discord.com/invite/ByRwuEEgH4) +これらのリソースを使い始めるには、以下の手順に従ってください: +1. リポジトリをフォークする: クリック [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) +2. リポジトリをクローンする: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +3. [**Azure AI Foundry Discord に参加し、専門家や他の開発者と交流する**](https://discord.com/invite/ByRwuEEgH4) -### 🌐 多言語対応 +### 🌐 多言語サポート -#### GitHub Actionsでサポート(自動化&常に最新) +#### GitHub Action を通じてサポート(自動&常に最新) -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](./README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](./README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) -> **ローカルでクローンしたいですか?** +> **ローカルでクローンする方が良いですか?** > -> このリポジトリには50以上の言語翻訳が含まれており、ダウンロードサイズが大幅に増加します。翻訳を含めずにクローンするには、スパースチェックアウトを使用してください: +> このリポジトリには50以上の言語翻訳が含まれており、ダウンロードサイズが大きくなります。翻訳なしでクローンしたい場合はスパースチェックアウトを使用してください: > > **Bash / macOS / Linux:** > ```bash @@ -41,180 +41,181 @@ Azure AI Foundry Discordコミュニティに参加しよう > git sparse-checkout set --no-cone '/*' '!translations' '!translated_images' > ``` > -> **CMD(Windows):** +> **CMD (Windows):** > ```cmd > git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git > cd Web-Dev-For-Beginners > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> これにより、コースを完了するために必要なすべてがより高速なダウンロードで得られます。 +> これにより、速いダウンロードでコースを完了するのに必要なものがすべて手に入ります。 -**追加の翻訳言語を希望される場合は、[こちら](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)をご覧ください** +**追加の翻訳言語サポートをご希望の場合は、[こちら](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)をご覧ください** [![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners) -#### 🧑‍🎓 _学生の方ですか?_ +#### 🧑‍🎓 _学生の方へ_ -[**Student Hubページ**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon)へアクセスすると、初心者向けの教材、学生パック、無料の証明書バウチャー取得方法などが見つかります。このページをブックマークし、毎月コンテンツが更新されるので定期的にチェックしてください。 +[**Student Hub ページ**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon)を訪れて、初心者向けリソースや学生パック、無料の証明書バウチャー取得方法をご覧ください。このページは月ごとにコンテンツが切り替わるため、ブックマークして定期的にチェックするのがおすすめです。 -### 📣 お知らせ - 新しいGitHub Copilot Agentモードチャレンジが追加されました! +### 📣 お知らせ - 新しい GitHub Copilot Agent モードチャレンジの追加! -多くの章で「GitHub Copilot Agent Challenge 🚀」という新しいチャレンジが追加されています。これはGitHub CopilotとAgentモードを使って完了するチャレンジです。Agentモードを使ったことがない方は、テキスト生成だけでなく、ファイルの作成・編集やコマンドの実行なども可能な機能です。 +新しいチャレンジ「GitHub Copilot Agent Challenge 🚀」が多くの章に追加されました。これはGitHub CopilotとAgentモードを使ってクリアする新しい課題です。Agentモードをまだ使ったことがない方へ、テキスト生成だけでなく、ファイル作成・編集やコマンド実行も可能な機能です。 -### 📣 お知らせ - 生成AIを使った新プロジェクト +### 📣 お知らせ - 新しい生成AIを使ったプロジェクト -新しいAIアシスタントプロジェクトが追加されました。こちらの[プロジェクト](./9-chat-project/README.md)をチェックしてください。 +新たに AIアシスタント プロジェクトを追加しました。詳細は [プロジェクト](./9-chat-project/README.md) をご覧ください。 -### 📣 お知らせ - JavaScriptの生成AIに関する新カリキュラムがリリースされました +### 📣 お知らせ - JavaScript用の生成AIに関する新カリキュラムがリリースされました 生成AIの新カリキュラムをお見逃しなく! -開始はこちら [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) +[https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) にアクセスして始めましょう! ![Background](../../translated_images/ja/background.148a8d43afde5730.webp) -- 基礎からRAGまでカバーするレッスン -- GenAIとコンパニオンアプリで歴史上の人物と対話可能 -- 楽しく引き込まれるストーリー、タイムトラベル体験! +- 基礎からRAGまでを網羅するレッスン +- GenAIと連動したコンパニオンアプリで歴史上の人物と対話 +- 楽しく魅力的なストーリーで時空を超えて旅しよう! ![character](../../translated_images/ja/character.5c0dd8e067ffd693.webp) -各レッスンには課題、理解度チェック、チャレンジが用意されています。学習トピック例: +各レッスンには課題、知識の確認、チャレンジがあり、以下のテーマを学べます: - プロンプトとプロンプトエンジニアリング -- テキストおよび画像アプリの生成 +- テキスト&画像アプリ生成 - 検索アプリ -開始はこちら [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) +[https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) から始めましょう! ## 🌱 はじめに -> **先生方へ**、このカリキュラムの使い方に関する[提案](for-teachers.md)を用意しています。ぜひ[ディスカッションフォーラム](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)でフィードバックをお寄せください! +> 先生方へ、[このカリキュラムの使い方の提案](for-teachers.md)を含んでいます。ご意見は[ディスカッションフォーラム](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)でお寄せください! -**[学習者の皆さん](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**、各レッスンは事前クイズから始め、講義資料の読解、様々なアクティビティの実施、終了後の確認用クイズへと進んでください。 +[受講者](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)は各レッスンで、事前クイズから始め、講義資料を読んで様々なアクティビティを完了し、事後クイズで理解度をチェックしてください。 -学習経験を向上させるため、仲間とつながって一緒にプロジェクトに取り組みましょう!ディスカッションは[ディスカッションフォーラム](https://github.com/microsoft/Web-Dev-For-Beginners/discussions)で推奨しており、モデレーターが質問に対応します。 +学習効果を高めるために、仲間とつながりプロジェクトに一緒に取り組みましょう!ディスカッションは[ディスカッションフォーラム](https://github.com/microsoft/Web-Dev-For-Beginners/discussions)で推奨されており、モデレーターチームが質問に答えます。 -さらなる学習のために、追加教材がある[Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon)をぜひご利用ください。 +さらに学習を進めるには、[Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon)の補助教材をぜひご活用ください。 -### 📋 開発環境のセットアップ +### 📋 環境設定 -このカリキュラムはすぐに使える開発環境を用意しています!開始時には[Codespace](https://github.com/features/codespaces/)(ブラウザベースでインストール不要の環境)で実行するか、お使いのコンピューター上で[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)などのテキストエディターを使って実行するか選べます。 +このカリキュラムは、すぐに使える開発環境が用意されています!開始時に、ブラウザー上でインストール不要の[Codespace](https://github.com/features/codespaces/)で実行するか、ローカルのテキストエディター(例: [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon))で実行することが選べます。 #### リポジトリを作成する -作業を簡単に保存するため、自分のコピーのリポジトリを作成することをお勧めします。ページ上部の**Use this template**ボタンをクリックすると、自分のGitHubアカウントにカリキュラムのコピーが作成されます。 +作業内容を簡単に保存できるよう、このリポジトリのコピーを作成することをおすすめします。ページ上部の **Use this template** ボタンをクリックすると、ご自身のGitHubアカウントにカリキュラムのコピーを作成できます。 -手順はこちら: -1. **リポジトリをフォークする**:ページ右上の「Fork」ボタンをクリックします。 -2. **リポジトリをクローンする**:`git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` +手順は以下のとおりです: +1. リポジトリをフォークする: ページ右上の「Fork」ボタンをクリック。 +2. リポジトリをクローンする: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` -#### Codespaceでカリキュラムを実行する +#### Codespace でカリキュラムを実行する -作成したリポジトリのコピーで、**Code**ボタンをクリックし、**Open with Codespaces**を選択します。すると作業用の新しいCodespaceが作成されます。 +作成したコピーのリポジトリで、**Code** ボタンをクリックし **Open with Codespaces** を選択します。これで作業用の Codespace が作成されます。 ![Codespace](../../translated_images/ja/createcodespace.0238bbf4d7a8d955.webp) -#### お使いのコンピューターでカリキュラムを実行する +#### ローカルマシンでカリキュラムを実行する -カリキュラムをローカルで実行するには、テキストエディター、ブラウザー、コマンドラインツールが必要です。最初のレッスン[プログラミング言語とツールの紹介](../../1-getting-started-lessons/1-intro-to-programming-languages)で、それぞれのツールの選択肢を説明しています。自分に合ったものを選びましょう。 +ローカルで実行するには、テキストエディター、ブラウザー、コマンドラインツールが必要です。最初のレッスン[プログラミング言語と開発ツール入門](../../1-getting-started-lessons/1-intro-to-programming-languages)で各ツールの選択肢を案内しますので、ご自身に合うものを選択してください。 -お勧めは、[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)のエディター使用で、内蔵の[ターミナル](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon)が便利です。Visual Studio Codeは[こちら](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)からダウンロードできます。 -1. リポジトリをコンピューターにクローンします。これは **Code** ボタンをクリックしてURLをコピーすることで行えます: +推奨は [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) です。VS Codeには[統合ターミナル](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon)も備わっています。Visual Studio Codeは[こちら](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)からダウンロードできます。 +1. リポジトリをコンピューターにクローンします。これは、**Code** ボタンをクリックしてURLをコピーすることで行えます: [CodeSpace](./images/createcodespace.png) - 次に、[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) 内の [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) を開き、コピーした `` を置き換えて次のコマンドを実行します: + 次に、[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) 内の [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) を開き、先ほどコピーしたURLを `` に置き換えて、以下のコマンドを実行します: ```bash git clone ``` -2. Visual Studio Codeでフォルダーを開きます。これには **File** > **Open Folder** をクリックし、先ほどクローンしたフォルダーを選択します。 +2. Visual Studio Codeでフォルダーを開きます。これは、**File** > **Open Folder** をクリックし、先ほどクローンしたフォルダーを選択することで行えます。 -> 推奨されるVisual Studio Code拡張機能: +> 推奨される Visual Studio Code 拡張機能: > -> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - Visual Studio Code内でHTMLページをプレビューするため -> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - コードを書くのを速く手助けするため +> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - Visual Studio Code 内でHTMLページをプレビューするため +> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - コード作成を支援するため -## 📂 各レッスンには次が含まれます: +## 📂 各レッスンに含まれるもの: - 任意のスケッチノート - 任意の補足ビデオ -- 事前レッスンのウォームアップクイズ -- 書かれたレッスン -- プロジェクトベースのレッスンの場合、プロジェクトの作り方の手順付きガイド -- 理解度チェック +- レッスン前のウォームアップクイズ +- 文章によるレッスン +- プロジェクトベースのレッスンの場合は、プロジェクトの構築手順のガイド +- 知識確認 - チャレンジ -- 補足読書 +- 補足読み物 - 課題 -- [ポストレッスンクイズ](https://ff-quizzes.netlify.app/web/) +- [レッスン後のクイズ](https://ff-quizzes.netlify.app/web/) -> **クイズについての注意**:すべてのクイズはQuiz-appフォルダーに収められており、合計48の3問クイズがあります。これらは[こちら](https://ff-quizzes.netlify.app/web/)から利用可能で、クイズアプリはローカルで実行するかAzureにデプロイできます。`quiz-app`フォルダー内の指示に従ってください。 +> クイズについての注意: クイズはすべて Quiz-app フォルダーに含まれており、全部で48問、3問ずつのクイズがあります。これらは[こちら](https://ff-quizzes.netlify.app/web/)で利用可能で、クイズアプリはローカルで実行することもAzureへデプロイすることもできます。`quiz-app`フォルダー内の指示に従ってください。 ## 🗃️ レッスン一覧 -| | プロジェクト名 | 学習内容 | 学習目標 | 関連レッスン | 著者 | -| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | Getting Started | プログラミングの紹介と開発ツールの基礎 | 主要なプログラミング言語の基本的な基礎知識と、プロの開発者が仕事に使うソフトウェアについて学ぶ | [プログラミング言語と開発ツールの紹介](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | Getting Started | GitHubの基本、チームでの作業を含む | プロジェクトでGitHubを利用する方法とコードベースで他者と協力する方法 | [GitHubの紹介](./1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | Getting Started | アクセシビリティ | ウェブアクセシビリティの基本を学ぶ | [アクセシビリティの基礎](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | JS Basics | JavaScriptのデータ型 | JavaScriptのデータ型の基本を学ぶ | [データ型](./2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | JS Basics | 関数とメソッド | アプリケーションのロジックの流れを管理する関数とメソッドについて学ぶ | [関数とメソッド](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher | -| 06 | JS Basics | JSでの条件分岐 | コード内で条件を作る決定手法について学ぶ | [条件分岐](./2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | JS Basics | 配列とループ | JavaScriptで配列やループを使ってデータを操作する方法 | [配列とループ](./2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrarium](./3-terrarium/solution/README.md) | 実践的HTML | オンラインテラリウムを作成するためのHTMLを構築し、レイアウトを重視 | [HTMLの紹介](./3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrarium](./3-terrarium/solution/README.md) | 実践的CSS | オンラインテラリウムのスタイリング用CSSを構築し、ページのレスポンシブ化などCSSの基本を学ぶ | [CSSの紹介](./3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScriptのクロージャーとDOM操作 | ドラッグ&ドロップインターフェースとして機能するテラリウムのJavaScriptを構築し、クロージャーとDOM操作に注力 | [クロージャーとDOM操作](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Typing Game](./4-typing-game/solution/README.md) | タイピングゲームを作る | キーボードイベントを利用してJavaScriptアプリのロジックを操作する方法 | [イベント駆動プログラミング](./4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | ブラウザの仕組み | ブラウザの動作や歴史を学び、ブラウザー拡張機能の最初の要素をスキャフォールドする方法 | [ブラウザについて](./5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | フォーム構築、API呼び出し、ローカルストレージ変数の利用 | 変数をローカルストレージに保存しAPIを呼び出すブラウザー拡張機能のJavaScript要素を作成 | [API、フォーム、ローカルストレージ](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | ブラウザのバックグラウンドプロセス、ウェブパフォーマンス | 拡張機能のアイコン管理にブラウザのバックグラウンドプロセスを使い、ウェブパフォーマンスと最適化手法を学ぶ | [バックグラウンドタスクとパフォーマンス](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Space Game](./6-space-game/solution/README.md) | JavaScriptによる高度なゲーム開発 | クラスとコンポジションの継承およびPub/Subパターンについて学び、ゲーム開発の準備をする | [高度なゲーム開発の紹介](./6-space-game/1-introduction/README.md) | Chris | -| 16 | [Space Game](./6-space-game/solution/README.md) | Canvasへの描画 | 画面に要素を描画するためのCanvas APIについて学ぶ | [Canvasへの描画](./6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Space Game](./6-space-game/solution/README.md) | 画面上での要素の動かし方 | 要素に動きを与えるためのデカルト座標系とCanvas APIの使い方を学ぶ | [要素の移動](./6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Space Game](./6-space-game/solution/README.md) | 衝突検知 | 要素を衝突させ、互いに反応させ、パフォーマンスを維持するためのクールダウン機能を提供する方法 | [衝突検知](./6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Space Game](./6-space-game/solution/README.md) | 得点管理 | ゲームの状態とパフォーマンスに基づいた数学的計算を行う | [得点管理](./6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Space Game](./6-space-game/solution/README.md) | ゲームの終了と再開 | アセットのクリーンアップと変数値のリセットを含む、ゲームの終了と再開方法について学ぶ | [終了条件](./6-space-game/6-end-condition/README.md) | Chris | -| 21 | [Banking App](./7-bank-project/solution/README.md) | ウェブアプリのHTMLテンプレートとルーティング | 複数ページのウェブサイト構造のスキャフォールディングをルーティングとHTMLテンプレートを使って学ぶ | [HTMLテンプレートとルーティング](./7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [Banking App](./7-bank-project/solution/README.md) | ログインと登録フォームの構築 | フォーム作成およびバリデーション処理について学ぶ | [フォーム](./7-bank-project/2-forms/README.md) | Yohan | -| 23 | [Banking App](./7-bank-project/solution/README.md) | データ取得と使用の方法 | アプリ内でのデータの流れ、取得、保存、破棄の方法を学ぶ | [データ](./7-bank-project/3-data/README.md) | Yohan | -| 24 | [Banking App](./7-bank-project/solution/README.md) | ステート管理の概念 | アプリがステートを保持し、プログラムで管理する方法を学ぶ | [ステート管理](./7-bank-project/4-state-management/README.md) | Yohan | -| 25 | [Browser/VScode Code](../../8-code-editor) | VScodeの使い方 | コードエディタの使い方を学ぶ| [VScodeコードエディタの使い方](./8-code-editor/1-using-a-code-editor/README.md) | Chris | -| 26 | [AI Assistants](./9-chat-project/README.md) | AIを使う | オリジナルのAIアシスタントの作り方を学ぶ | [AIアシスタントプロジェクト](./9-chat-project/README.md) | Chris | +| | プロジェクト名 | 学習する概念 | 学習目標 | 関連レッスン | 著者 | +| :-: | :--------------------------------------------------------: | :-----------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :-------------------: | +| 01 | Getting Started | プログラミング入門と開発ツールの基礎 | ほとんどのプログラミング言語の基本と、プロの開発者が使用するソフトウェアについて学ぶ | [プログラミング言語入門とツール](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Getting Started | GitHubの基礎、チーム作業を含む | プロジェクトでGitHubを使う方法、コードベースで他者と協働する方法 | [GitHub入門](./1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Getting Started | アクセシビリティ | ウェブアクセシビリティの基本を学ぶ | [アクセシビリティの基礎](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | JS Basics | JavaScript のデータ型 | JavaScript のデータ型の基本 | [データ型](./2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | JS Basics | 関数とメソッド | アプリケーションのロジックを管理する関数とメソッドについて学ぶ | [関数とメソッド](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher | +| 06 | JS Basics | JavaScriptでの条件分岐 | 条件分岐の作成方法を学ぶ | [条件分岐](./2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | JS Basics | 配列とループ | JavaScriptで配列とループを使ってデータを扱う | [配列とループ](./2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML実践 | オンラインテラリウムを作成するHTML構築、レイアウト作成に重点を置く | [HTML入門](./3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS実践 | オンラインテラリウムをスタイリングするCSS構築、レスポンシブページの基本を学ぶ | [CSS入門](./3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScriptのクロージャ、DOM操作 | ドラッグ&ドロップ機能を持つテラリウムを作るJavaScript構築、クロージャとDOM操作に焦点を当てる | [JavaScriptのクロージャとDOM操作](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Typing Game](./4-typing-game/solution/README.md) | タイピングゲームの開発 | キーボードイベントを使ったJavaScriptアプリのロジック制御方法を学ぶ | [イベント駆動型プログラミング](./4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | ブラウザの仕組み | ブラウザの動作、歴史、ブラウザ拡張機能の最初の要素の足場作りを学ぶ | [ブラウザについて](./5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | フォームの作成、API呼び出し、ローカルストレージへの変数保存 | APIを呼び出すブラウザ拡張機能のJavaScript要素の構築、ローカルストレージ変数の使用 | [API、フォーム、ローカルストレージ](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | ブラウザのバックグラウンド処理、ウェブパフォーマンス | 拡張機能アイコン管理のためのブラウザバックグラウンド処理の利用、ウェブパフォーマンスと最適化のいくつかの技術を学ぶ | [バックグラウンド処理とパフォーマンス](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Space Game](./6-space-game/solution/README.md) | JavaScriptによる高度なゲーム開発 | クラスとコンポジションを用いた継承、Pub/Subパターンについて学び、ゲーム開発に備える | [高度なゲーム開発入門](./6-space-game/1-introduction/README.md) | Chris | +| 16 | [Space Game](./6-space-game/solution/README.md) | Canvasへの描画 | 画面に要素を描画するためのCanvas APIについて学ぶ | [Canvasへの描画](./6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Space Game](./6-space-game/solution/README.md) | 画面上の要素の移動 | 要素に動きを与えるためのカーティジアン座標とCanvas APIの活用方法を発見する | [要素の移動](./6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Space Game](./6-space-game/solution/README.md) | 衝突検出 | キープレスで要素を衝突させ反応させ、ゲーム性能を維持するためのクールダウン機能を実装する | [衝突検出](./6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Space Game](./6-space-game/solution/README.md) | スコアの保持 | ゲームの状態と性能に基づいて数学的計算を行う | [スコアの保持](./6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Space Game](./6-space-game/solution/README.md) | ゲームの終了と再開 | ゲームの終了と再開について学び、アセットのクリーンアップや変数のリセットを行う | [終了条件](./6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Banking App](./7-bank-project/solution/README.md) | WebアプリのHTMLテンプレートとルーティング | マルチページウェブサイトの構築骨架をルーティングとHTMLテンプレートを使って学ぶ | [HTMLテンプレートとルーティング](./7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Banking App](./7-bank-project/solution/README.md) | ログインと登録フォームの構築 | フォームの構築とバリデーションの処理について学ぶ | [フォーム](./7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Banking App](./7-bank-project/solution/README.md) | データの取得と利用方法 | アプリ内でのデータの流れ、取得、保存、破棄の方法を学ぶ | [データ](./7-bank-project/3-data/README.md) | Yohan | +| 24 | [Banking App](./7-bank-project/solution/README.md) | 状態管理の概念 | アプリの状態管理とプログラム的処理の仕方を学ぶ | [状態管理](./7-bank-project/4-state-management/README.md) | Yohan | +| 25 | [Browser/VScode Code](../../8-code-editor) | VScodeの使い方 | コードエディタの使い方を学ぶ | [VScodeコードエディタの使い方](./8-code-editor/1-using-a-code-editor/README.md) | Chris | +| 26 | [AI Assistants](./9-chat-project/README.md) | AIの活用 | 独自のAIアシスタントの作り方を学ぶ | [AIアシスタントプロジェクト](./9-chat-project/README.md) | Chris | ## 🏫 教育方針 -当カリキュラムは次の2つの主要な教育原則を基に設計されています: +私たちのカリキュラムは、以下の2つの主要な教育原理を念頭に設計されています: * プロジェクトベースの学習 -* 頻繁なクイズ実施 +* 頻繁なクイズ -プログラムはJavaScript、HTML、CSSの基本と、今日のウェブ開発者が使う最新のツールや技術を教えます。学習者はタイピングゲーム、バーチャルテラリウム、環境配慮型ブラウザー拡張機能、スペースインベーダースタイルのゲーム、ビジネス向け銀行アプリ構築を通じて実践経験を積むことができます。シリーズの終了時にはウェブ開発の確固たる理解が得られます。 +本プログラムはJavaScript、HTML、CSSの基本に加え、現代のウェブ開発者が活用する最新のツールと手法を教えます。受講生は、タイピングゲーム、バーチャルテラリウム、環境に優しいブラウザ拡張機能、スペースインベーダースタイルのゲーム、そしてビジネス向けのバンキングアプリの構築を通して実践的な経験を積むことができます。シリーズの終わりには、ウェブ開発の確かな理解を得ることができます。 -> 🎓 このカリキュラムの最初の数レッスンはMicrosoft Learnの[Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon)として受講可能です! +> 🎓 このカリキュラムの最初の数レッスンは、Microsoft Learnの [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) として受講可能です! -内容をプロジェクトに沿わせることで学習者の興味を引きつけ、概念の定着効果を高めます。また、JavaScriptの基本を紹介するいくつかのスターターレッスンと、“[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)”の動画シリーズ(本カリキュラムの著者の一部も関わっている)も組み合わせています。 +コンテンツがプロジェクトと連動していることで、学習者はより集中しやすくなり、概念の定着も促進されます。JavaScriptの基本概念を紹介するために、いくつかの入門レッスンと、動画チュートリアルコレクション「[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)」の映像も組み合わせています。本カリキュラムの著者の一部もこの動画シリーズに寄稿しています。 -さらに、クラス前の低負荷クイズで学習者の学習意欲を高め、クラス後の2回目のクイズで理解の定着を促します。このカリキュラムは柔軟かつ楽しく受講でき、全体または一部を選んで学ぶことができます。プロジェクトは小さなものから始まり、12週間コースの終わりにかけて徐々に複雑になります。 +さらに、授業前の簡単なクイズが学習意欲を高め、授業後のクイズが理解を深めます。このカリキュラムは柔軟で楽しく、全編または一部だけを受講できます。プロジェクトは小さなものから始まり、12週間の期間終了時には徐々に複雑になります。 -フレームワーク導入をあえて避けているため、まずはウェブ開発者としての基本スキルを身につけることに集中できます。次のステップとしては別の動画シリーズ「[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)」を通じてNode.jsを学ぶことが推奨されます。 +あえてJavaScriptのフレームワークは導入せず、基礎スキルの習得に集中しています。カリキュラム修了後の次のステップとしては、別の動画シリーズ「[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)」でNode.jsを学ぶことをお勧めします。 + +> 私たちの [行動規範](CODE_OF_CONDUCT.md) と [コントリビューションガイド](CONTRIBUTING.md) をご覧ください。皆様の建設的なフィードバックを歓迎します! -> 当プロジェクトの[行動規範](CODE_OF_CONDUCT.md)と[貢献ガイド](CONTRIBUTING.md)をご覧ください。建設的なフィードバックを歓迎します! ## 🧭 オフラインアクセス -[Docsify](https://docsify.js.org/#/)を使うことで、このドキュメントをオフラインで利用できます。このリポジトリをフォークし、ローカルマシンに[Docsifyをインストール](https://docsify.js.org/#/quickstart)した後、リポジトリのルートフォルダーで `docsify serve` コマンドを実行します。ウェブサイトはローカルホストのポート3000で提供されます: `localhost:3000`。 +このドキュメントは [Docsify](https://docsify.js.org/#/) を使ってオフラインで動かすことができます。このリポジトリをフォークし、ローカルマシンに [Docsifyをインストール](https://docsify.js.org/#/quickstart) してください。その後、このリポジトリのルートフォルダーで `docsify serve` と入力します。ウェブサイトはローカルホストのポート3000番で提供されます:`localhost:3000`。 ## 📘 PDF -すべてのレッスンのPDFは、[こちら](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf)で入手できます。 +すべてのレッスンのPDFは[こちら](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf)から入手できます。 ## 🎒 その他のコース -私たちのチームはその他のコースも制作しています!ぜひご覧ください: +私たちのチームは他のコースも制作しています!ぜひチェックしてください: ### LangChain @@ -231,7 +232,7 @@ Azure AI Foundry Discordコミュニティに参加しよう --- -### ジェネレーティブAIシリーズ +### 生成AIシリーズ [![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) [![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) [![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) @@ -239,7 +240,7 @@ Azure AI Foundry Discordコミュニティに参加しよう --- -### コア学習 +### コアラーニング [![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) [![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) [![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) @@ -250,29 +251,29 @@ Azure AI Foundry Discordコミュニティに参加しよう --- -### Copilotシリーズ +### コパイロットシリーズ [![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) [![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) [![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) -## ヘルプを得るには +## ヘルプの受け方 -AIアプリの構築で行き詰まったり質問がある場合は、MCPに関する議論に参加して、仲間の学習者や経験豊富な開発者と交流しましょう。質問歓迎で知識を自由に共有するサポートコミュニティです。 +AIアプリの構築で行き詰まったり質問があれば、MCPに関する議論に参加しましょう。同じ学習者や経験豊富な開発者と交流できる支援コミュニティで、質問は歓迎され、知識は自由に共有されています。 [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -製品のフィードバックや構築中のエラーについては、こちらをご覧ください: +製品のフィードバックや構築中のエラーについては次をご覧ください: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) ## ライセンス -このリポジトリはMITライセンスの下でライセンスされています。詳細は[LICENSE](../../LICENSE)ファイルをご覧ください。 +このリポジトリはMITライセンスの下で提供されています。詳細は[LICENSE](../../LICENSE)ファイルをご覧ください。 --- -**免責事項**: -本書類はAI翻訳サービス「Co-op Translator」(https://github.com/Azure/co-op-translator) を使用して翻訳されました。正確性の向上に努めておりますが、自動翻訳には誤りや不正確な箇所が含まれる可能性があります。正式な情報源は原文の原語版となります。重要な情報については、専門の翻訳者による人力翻訳を推奨します。本翻訳の利用により発生した誤解や誤訳について、一切の責任を負いかねます。 +**免責事項**: +本書類は AI 翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を期しておりますが、自動翻訳には誤りや不正確な点が含まれる可能性があることをご了承ください。原文の言語での文書が権威ある情報源と見なされます。重要な情報に関しては、専門の人間による翻訳をお勧めします。この翻訳の利用により生じたいかなる誤解や解釈の相違についても、当方は責任を負いかねます。 \ No newline at end of file diff --git a/translations/km/.co-op-translator.json b/translations/km/.co-op-translator.json new file mode 100644 index 0000000000..98039a0a71 --- /dev/null +++ b/translations/km/.co-op-translator.json @@ -0,0 +1,584 @@ +{ + "1-getting-started-lessons/1-intro-to-programming-languages/README.md": { + "original_hash": "d5eeb6e975b5864d8da52d4a41941f8d", + "translation_date": "2026-04-06T21:21:03+00:00", + "source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md", + "language_code": "km" + }, + "1-getting-started-lessons/1-intro-to-programming-languages/assignment.md": { + "original_hash": "17b8ec8e85d99e27dcb3f73842e583be", + "translation_date": "2026-04-06T21:21:35+00:00", + "source_file": "1-getting-started-lessons/1-intro-to-programming-languages/assignment.md", + "language_code": "km" + }, + "1-getting-started-lessons/2-github-basics/README.md": { + "original_hash": "5c383cc2cc23bb164b06417d1c107a44", + "translation_date": "2026-04-06T21:30:37+00:00", + "source_file": "1-getting-started-lessons/2-github-basics/README.md", + "language_code": "km" + }, + "1-getting-started-lessons/3-accessibility/README.md": { + "original_hash": "7f2c48e04754724123ea100a822765e5", + "translation_date": "2026-04-06T21:13:59+00:00", + "source_file": "1-getting-started-lessons/3-accessibility/README.md", + "language_code": "km" + }, + "1-getting-started-lessons/3-accessibility/assignment.md": { + "original_hash": "e6d0f456dfc22afb41bbdefeb5ec179d", + "translation_date": "2026-04-06T21:15:21+00:00", + "source_file": "1-getting-started-lessons/3-accessibility/assignment.md", + "language_code": "km" + }, + "1-getting-started-lessons/README.md": { + "original_hash": "770d9f83dddc841c19f210dee5fe0712", + "translation_date": "2026-04-06T19:18:30+00:00", + "source_file": "1-getting-started-lessons/README.md", + "language_code": "km" + }, + "10-ai-framework-project/README.md": { + "original_hash": "3925b6a1c31c60755eaae4d578232c25", + "translation_date": "2026-04-06T19:14:53+00:00", + "source_file": "10-ai-framework-project/README.md", + "language_code": "km" + }, + "2-js-basics/1-data-types/README.md": { + "original_hash": "672b0bb6e8b431075f3bdb7130590d2d", + "translation_date": "2026-04-06T19:34:31+00:00", + "source_file": "2-js-basics/1-data-types/README.md", + "language_code": "km" + }, + "2-js-basics/1-data-types/assignment.md": { + "original_hash": "6fd645e97c48cd5eb5a3d290815ec8b5", + "translation_date": "2026-04-06T19:34:51+00:00", + "source_file": "2-js-basics/1-data-types/assignment.md", + "language_code": "km" + }, + "2-js-basics/2-functions-methods/README.md": { + "original_hash": "71f7d7dafa1c7194d79ddac87f669ff9", + "translation_date": "2026-04-06T19:30:41+00:00", + "source_file": "2-js-basics/2-functions-methods/README.md", + "language_code": "km" + }, + "2-js-basics/2-functions-methods/assignment.md": { + "original_hash": "8328f58f4593b4671656ff8f4b2edbd9", + "translation_date": "2026-04-06T19:31:12+00:00", + "source_file": "2-js-basics/2-functions-methods/assignment.md", + "language_code": "km" + }, + "2-js-basics/3-making-decisions/README.md": { + "original_hash": "c688385d15dd3645e924ea0ffee8967f", + "translation_date": "2026-04-06T19:37:59+00:00", + "source_file": "2-js-basics/3-making-decisions/README.md", + "language_code": "km" + }, + "2-js-basics/3-making-decisions/assignment.md": { + "original_hash": "ffe366b2d1f037b99fbadbe1dc81083d", + "translation_date": "2026-04-06T19:38:39+00:00", + "source_file": "2-js-basics/3-making-decisions/assignment.md", + "language_code": "km" + }, + "2-js-basics/4-arrays-loops/README.md": { + "original_hash": "1710a50a519a6e4a1b40a5638783018d", + "translation_date": "2026-04-06T19:41:44+00:00", + "source_file": "2-js-basics/4-arrays-loops/README.md", + "language_code": "km" + }, + "2-js-basics/4-arrays-loops/assignment.md": { + "original_hash": "8abcada0534e0fb3a7556ea3c5a2a8a4", + "translation_date": "2026-04-06T19:42:22+00:00", + "source_file": "2-js-basics/4-arrays-loops/assignment.md", + "language_code": "km" + }, + "2-js-basics/README.md": { + "original_hash": "cc9e70a2f096c67389c8acff1521fc27", + "translation_date": "2026-04-06T19:10:03+00:00", + "source_file": "2-js-basics/README.md", + "language_code": "km" + }, + "3-terrarium/1-intro-to-html/README.md": { + "original_hash": "3fcfa99c4897e051b558b5eaf1e8cc74", + "translation_date": "2026-04-06T20:58:46+00:00", + "source_file": "3-terrarium/1-intro-to-html/README.md", + "language_code": "km" + }, + "3-terrarium/1-intro-to-html/assignment.md": { + "original_hash": "650e63282e1dfa032890fcf5c1c4119d", + "translation_date": "2026-04-06T20:59:30+00:00", + "source_file": "3-terrarium/1-intro-to-html/assignment.md", + "language_code": "km" + }, + "3-terrarium/2-intro-to-css/README.md": { + "original_hash": "e39f3a4e3bcccf94639e3af1248f8a4d", + "translation_date": "2026-04-06T21:07:11+00:00", + "source_file": "3-terrarium/2-intro-to-css/README.md", + "language_code": "km" + }, + "3-terrarium/2-intro-to-css/assignment.md": { + "original_hash": "bee6762d4092a13fc7c338814963f980", + "translation_date": "2026-04-06T21:07:57+00:00", + "source_file": "3-terrarium/2-intro-to-css/assignment.md", + "language_code": "km" + }, + "3-terrarium/3-intro-to-DOM-and-closures/README.md": { + "original_hash": "973e48ad87d67bf5bb819746c9f8e302", + "translation_date": "2026-04-06T21:03:26+00:00", + "source_file": "3-terrarium/3-intro-to-DOM-and-closures/README.md", + "language_code": "km" + }, + "3-terrarium/3-intro-to-DOM-and-closures/assignment.md": { + "original_hash": "947ca5ce7c94aee9c7de7034e762bc17", + "translation_date": "2026-04-06T21:04:02+00:00", + "source_file": "3-terrarium/3-intro-to-DOM-and-closures/assignment.md", + "language_code": "km" + }, + "3-terrarium/README.md": { + "original_hash": "bc5c5550f79d10add90ce419ee34abb3", + "translation_date": "2026-04-06T19:17:58+00:00", + "source_file": "3-terrarium/README.md", + "language_code": "km" + }, + "3-terrarium/solution/README.md": { + "original_hash": "6329fbe8bd936068debd78cca6f09c0a", + "translation_date": "2026-04-06T21:04:13+00:00", + "source_file": "3-terrarium/solution/README.md", + "language_code": "km" + }, + "4-typing-game/README.md": { + "original_hash": "efa2ab875b8bb5a7883816506da6b6d2", + "translation_date": "2026-04-06T19:17:48+00:00", + "source_file": "4-typing-game/README.md", + "language_code": "km" + }, + "4-typing-game/solution/README.md": { + "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c", + "translation_date": "2026-04-06T20:52:22+00:00", + "source_file": "4-typing-game/solution/README.md", + "language_code": "km" + }, + "4-typing-game/typing-game/README.md": { + "original_hash": "da8bc72041a2bb3826a54654ee1a8844", + "translation_date": "2026-04-06T20:55:33+00:00", + "source_file": "4-typing-game/typing-game/README.md", + "language_code": "km" + }, + "4-typing-game/typing-game/assignment.md": { + "original_hash": "3eac59d70e2532a677a2ce6bf765485a", + "translation_date": "2026-04-06T20:56:09+00:00", + "source_file": "4-typing-game/typing-game/assignment.md", + "language_code": "km" + }, + "5-browser-extension/1-about-browsers/README.md": { + "original_hash": "00aa85715e1efd4930c17a23e3012e69", + "translation_date": "2026-04-06T20:28:51+00:00", + "source_file": "5-browser-extension/1-about-browsers/README.md", + "language_code": "km" + }, + "5-browser-extension/1-about-browsers/assignment.md": { + "original_hash": "b6897c02603d0045dd6d8256e8714baa", + "translation_date": "2026-04-06T20:29:50+00:00", + "source_file": "5-browser-extension/1-about-browsers/assignment.md", + "language_code": "km" + }, + "5-browser-extension/2-forms-browsers-local-storage/README.md": { + "original_hash": "2b6203a48c48d8234e0948353b47d84e", + "translation_date": "2026-04-06T20:20:30+00:00", + "source_file": "5-browser-extension/2-forms-browsers-local-storage/README.md", + "language_code": "km" + }, + "5-browser-extension/2-forms-browsers-local-storage/assignment.md": { + "original_hash": "25b8d28b8531352d4eb67291fd7824c4", + "translation_date": "2026-04-06T20:21:01+00:00", + "source_file": "5-browser-extension/2-forms-browsers-local-storage/assignment.md", + "language_code": "km" + }, + "5-browser-extension/3-background-tasks-and-performance/README.md": { + "original_hash": "b275fed2c6fc90d2b9b6661a3225faa2", + "translation_date": "2026-04-06T20:25:10+00:00", + "source_file": "5-browser-extension/3-background-tasks-and-performance/README.md", + "language_code": "km" + }, + "5-browser-extension/3-background-tasks-and-performance/assignment.md": { + "original_hash": "a203e560e58ccc6ba68bffc40c7c8676", + "translation_date": "2026-04-06T20:25:59+00:00", + "source_file": "5-browser-extension/3-background-tasks-and-performance/assignment.md", + "language_code": "km" + }, + "5-browser-extension/README.md": { + "original_hash": "b121a279a6ab39878491f3e572673515", + "translation_date": "2026-04-06T19:15:58+00:00", + "source_file": "5-browser-extension/README.md", + "language_code": "km" + }, + "5-browser-extension/solution/README.md": { + "original_hash": "fab4e6b4f0efcd587a9029d82991f597", + "translation_date": "2026-04-06T20:30:04+00:00", + "source_file": "5-browser-extension/solution/README.md", + "language_code": "km" + }, + "5-browser-extension/solution/translation/README.es.md": { + "original_hash": "cbaf73f94a9ab4c680a10ef871e92948", + "translation_date": "2026-04-06T20:30:57+00:00", + "source_file": "5-browser-extension/solution/translation/README.es.md", + "language_code": "km" + }, + "5-browser-extension/solution/translation/README.fr.md": { + "original_hash": "9361268ca430b2579375009e1eceb5e5", + "translation_date": "2026-04-06T20:31:12+00:00", + "source_file": "5-browser-extension/solution/translation/README.fr.md", + "language_code": "km" + }, + "5-browser-extension/solution/translation/README.hi.md": { + "original_hash": "dd58ae1b7707034f055718c1b68bc8de", + "translation_date": "2026-04-06T20:30:42+00:00", + "source_file": "5-browser-extension/solution/translation/README.hi.md", + "language_code": "km" + }, + "5-browser-extension/solution/translation/README.it.md": { + "original_hash": "9a6b22a2eff0f499b66236be973b24ad", + "translation_date": "2026-04-06T20:32:05+00:00", + "source_file": "5-browser-extension/solution/translation/README.it.md", + "language_code": "km" + }, + "5-browser-extension/solution/translation/README.ja.md": { + "original_hash": "3f5e6821e0febccfc5d05e7c944d9e3d", + "translation_date": "2026-04-06T20:31:30+00:00", + "source_file": "5-browser-extension/solution/translation/README.ja.md", + "language_code": "km" + }, + "5-browser-extension/solution/translation/README.ms.md": { + "original_hash": "21b364c158c8e4f698de65eeac16c9fe", + "translation_date": "2026-04-06T20:31:49+00:00", + "source_file": "5-browser-extension/solution/translation/README.ms.md", + "language_code": "km" + }, + "5-browser-extension/start/README.md": { + "original_hash": "26fd39046d264ba185dcb086d3a8cf3e", + "translation_date": "2026-04-06T20:30:22+00:00", + "source_file": "5-browser-extension/start/README.md", + "language_code": "km" + }, + "6-space-game/1-introduction/README.md": { + "original_hash": "a6332a7bb4d0be3bfd24199c83993777", + "translation_date": "2026-04-06T20:12:01+00:00", + "source_file": "6-space-game/1-introduction/README.md", + "language_code": "km" + }, + "6-space-game/1-introduction/assignment.md": { + "original_hash": "c8fc39a014d08247c082878122e2ba73", + "translation_date": "2026-04-06T20:12:40+00:00", + "source_file": "6-space-game/1-introduction/assignment.md", + "language_code": "km" + }, + "6-space-game/2-drawing-to-canvas/README.md": { + "original_hash": "7994743c5b21fdcceb36307916ef249a", + "translation_date": "2026-04-06T19:54:21+00:00", + "source_file": "6-space-game/2-drawing-to-canvas/README.md", + "language_code": "km" + }, + "6-space-game/2-drawing-to-canvas/assignment.md": { + "original_hash": "87cd43afe5b69dbbffb5c4b209ea6791", + "translation_date": "2026-04-06T19:54:50+00:00", + "source_file": "6-space-game/2-drawing-to-canvas/assignment.md", + "language_code": "km" + }, + "6-space-game/3-moving-elements-around/README.md": { + "original_hash": "8c55a2bd4bc0ebe4c88198fd563a9e09", + "translation_date": "2026-04-06T20:16:22+00:00", + "source_file": "6-space-game/3-moving-elements-around/README.md", + "language_code": "km" + }, + "6-space-game/3-moving-elements-around/assignment.md": { + "original_hash": "c162b3b3a1cafc1483c8015e9b266f0d", + "translation_date": "2026-04-06T20:16:41+00:00", + "source_file": "6-space-game/3-moving-elements-around/assignment.md", + "language_code": "km" + }, + "6-space-game/4-collision-detection/README.md": { + "original_hash": "039b4d8ce65f5edd82cf48d9c3e6728c", + "translation_date": "2026-04-06T19:50:46+00:00", + "source_file": "6-space-game/4-collision-detection/README.md", + "language_code": "km" + }, + "6-space-game/4-collision-detection/assignment.md": { + "original_hash": "124efddbb65166cddb38075ad6dae324", + "translation_date": "2026-04-06T19:51:15+00:00", + "source_file": "6-space-game/4-collision-detection/assignment.md", + "language_code": "km" + }, + "6-space-game/4-collision-detection/solution/README.md": { + "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c", + "translation_date": "2026-04-06T20:16:56+00:00", + "source_file": "6-space-game/4-collision-detection/solution/README.md", + "language_code": "km" + }, + "6-space-game/4-collision-detection/your-work/README.md": { + "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c", + "translation_date": "2026-04-06T20:16:50+00:00", + "source_file": "6-space-game/4-collision-detection/your-work/README.md", + "language_code": "km" + }, + "6-space-game/5-keeping-score/README.md": { + "original_hash": "2ed9145a16cf576faa2a973dff84d099", + "translation_date": "2026-04-06T20:08:15+00:00", + "source_file": "6-space-game/5-keeping-score/README.md", + "language_code": "km" + }, + "6-space-game/5-keeping-score/assignment.md": { + "original_hash": "81f292dbda01685b91735e0398dc0504", + "translation_date": "2026-04-06T20:08:27+00:00", + "source_file": "6-space-game/5-keeping-score/assignment.md", + "language_code": "km" + }, + "6-space-game/5-keeping-score/solution/README.md": { + "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c", + "translation_date": "2026-04-06T20:17:23+00:00", + "source_file": "6-space-game/5-keeping-score/solution/README.md", + "language_code": "km" + }, + "6-space-game/5-keeping-score/your-work/README.md": { + "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c", + "translation_date": "2026-04-06T20:17:15+00:00", + "source_file": "6-space-game/5-keeping-score/your-work/README.md", + "language_code": "km" + }, + "6-space-game/6-end-condition/README.md": { + "original_hash": "a4b78043f4d64bf3ee24e0689b8b391d", + "translation_date": "2026-04-06T20:04:28+00:00", + "source_file": "6-space-game/6-end-condition/README.md", + "language_code": "km" + }, + "6-space-game/6-end-condition/assignment.md": { + "original_hash": "232d592791465c1678cab3a2bb6cd3e8", + "translation_date": "2026-04-06T20:05:31+00:00", + "source_file": "6-space-game/6-end-condition/assignment.md", + "language_code": "km" + }, + "6-space-game/6-end-condition/solution/README.md": { + "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c", + "translation_date": "2026-04-06T20:17:08+00:00", + "source_file": "6-space-game/6-end-condition/solution/README.md", + "language_code": "km" + }, + "6-space-game/6-end-condition/your-work/README.md": { + "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c", + "translation_date": "2026-04-06T20:17:02+00:00", + "source_file": "6-space-game/6-end-condition/your-work/README.md", + "language_code": "km" + }, + "6-space-game/README.md": { + "original_hash": "c40a698395ee5102715f7880bba3f2e7", + "translation_date": "2026-04-06T19:15:09+00:00", + "source_file": "6-space-game/README.md", + "language_code": "km" + }, + "6-space-game/solution/README.md": { + "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c", + "translation_date": "2026-04-06T20:12:47+00:00", + "source_file": "6-space-game/solution/README.md", + "language_code": "km" + }, + "7-bank-project/1-template-route/README.md": { + "original_hash": "351678bece18f07d9daa987a881fb062", + "translation_date": "2026-04-06T20:41:07+00:00", + "source_file": "7-bank-project/1-template-route/README.md", + "language_code": "km" + }, + "7-bank-project/1-template-route/assignment.md": { + "original_hash": "df0dcecddcd28ea8cbf6ede0ad57d673", + "translation_date": "2026-04-06T20:41:32+00:00", + "source_file": "7-bank-project/1-template-route/assignment.md", + "language_code": "km" + }, + "7-bank-project/2-forms/README.md": { + "original_hash": "7cbdbd132d39a2bb493e85bc2a9387cc", + "translation_date": "2026-04-06T20:36:16+00:00", + "source_file": "7-bank-project/2-forms/README.md", + "language_code": "km" + }, + "7-bank-project/2-forms/assignment.md": { + "original_hash": "efb01fcafd2ef40c593a6e662fc938a8", + "translation_date": "2026-04-06T20:37:05+00:00", + "source_file": "7-bank-project/2-forms/assignment.md", + "language_code": "km" + }, + "7-bank-project/3-data/README.md": { + "original_hash": "86ee5069f27ea3151389d8687c95fac9", + "translation_date": "2026-04-06T20:46:24+00:00", + "source_file": "7-bank-project/3-data/README.md", + "language_code": "km" + }, + "7-bank-project/3-data/assignment.md": { + "original_hash": "d0a02cb117e91a5b5f24178080068a3d", + "translation_date": "2026-04-06T20:47:11+00:00", + "source_file": "7-bank-project/3-data/assignment.md", + "language_code": "km" + }, + "7-bank-project/4-state-management/README.md": { + "original_hash": "b807b09df716dc48a2b750835bf8e933", + "translation_date": "2026-04-06T20:51:02+00:00", + "source_file": "7-bank-project/4-state-management/README.md", + "language_code": "km" + }, + "7-bank-project/4-state-management/assignment.md": { + "original_hash": "50a7783473b39a2e0f133e271a102231", + "translation_date": "2026-04-06T20:51:59+00:00", + "source_file": "7-bank-project/4-state-management/assignment.md", + "language_code": "km" + }, + "7-bank-project/README.md": { + "original_hash": "830359535306594b448db6575ce5cdee", + "translation_date": "2026-04-06T19:16:22+00:00", + "source_file": "7-bank-project/README.md", + "language_code": "km" + }, + "7-bank-project/api/README.md": { + "original_hash": "9884f8c8a61cf56214450f8b16a094ce", + "translation_date": "2026-04-06T20:37:22+00:00", + "source_file": "7-bank-project/api/README.md", + "language_code": "km" + }, + "7-bank-project/solution/README.md": { + "original_hash": "461aa4fc74c6b1789c3a13b5d82c0cd9", + "translation_date": "2026-04-06T20:52:14+00:00", + "source_file": "7-bank-project/solution/README.md", + "language_code": "km" + }, + "8-code-editor/1-using-a-code-editor/README.md": { + "original_hash": "a9a3bcc037a447e2d8994d99e871cd9f", + "translation_date": "2026-04-06T19:45:48+00:00", + "source_file": "8-code-editor/1-using-a-code-editor/README.md", + "language_code": "km" + }, + "8-code-editor/1-using-a-code-editor/assignment.md": { + "original_hash": "effe56ba51c38d7bdfad1ea38288666b", + "translation_date": "2026-04-06T19:47:33+00:00", + "source_file": "8-code-editor/1-using-a-code-editor/assignment.md", + "language_code": "km" + }, + "9-chat-project/README.md": { + "original_hash": "2066c17078e9d18b5e309f31d8e8bc24", + "translation_date": "2026-04-06T19:27:51+00:00", + "source_file": "9-chat-project/README.md", + "language_code": "km" + }, + "9-chat-project/solution/README.md": { + "original_hash": "cb549dcad8eea3221cb89793aeaa3bb3", + "translation_date": "2026-04-06T21:30:43+00:00", + "source_file": "9-chat-project/solution/README.md", + "language_code": "km" + }, + "9-chat-project/solution/backend/README.md": { + "original_hash": "bcd2c2bbaae71151b1ed1b9170aa78af", + "translation_date": "2026-04-06T21:30:56+00:00", + "source_file": "9-chat-project/solution/backend/README.md", + "language_code": "km" + }, + "9-chat-project/solution/backend/python/README.md": { + "original_hash": "0aaa930f076f2d83cc872ad157f8ffd3", + "translation_date": "2026-04-06T21:31:08+00:00", + "source_file": "9-chat-project/solution/backend/python/README.md", + "language_code": "km" + }, + "9-chat-project/solution/frontend/README.md": { + "original_hash": "7746a470be8fc7f736eb1b43ebb710ee", + "translation_date": "2026-04-06T21:30:49+00:00", + "source_file": "9-chat-project/solution/frontend/README.md", + "language_code": "km" + }, + "AGENTS.md": { + "original_hash": "a362efd06d64d4134a0cfe8515a86d34", + "translation_date": "2026-04-06T19:04:32+00:00", + "source_file": "AGENTS.md", + "language_code": "km" + }, + "CODE_OF_CONDUCT.md": { + "original_hash": "b0a9b4cccd918195f58224d5793da1a6", + "translation_date": "2026-04-06T19:04:41+00:00", + "source_file": "CODE_OF_CONDUCT.md", + "language_code": "km" + }, + "CONTRIBUTING.md": { + "original_hash": "777400e9f0336c7ee2f9a1200a88478f", + "translation_date": "2026-04-06T19:02:55+00:00", + "source_file": "CONTRIBUTING.md", + "language_code": "km" + }, + "Git-Basics/README.md": { + "original_hash": "5cf5e1ed51455fefed4895fcc4d6ba2a", + "translation_date": "2026-04-06T19:10:40+00:00", + "source_file": "Git-Basics/README.md", + "language_code": "km" + }, + "README.md": { + "original_hash": "b885c87c7544109b78d6684daad6cba6", + "translation_date": "2026-04-06T19:09:56+00:00", + "source_file": "README.md", + "language_code": "km" + }, + "Roadmap.md": { + "original_hash": "28bf6185fd7f27b62ddc210514366192", + "translation_date": "2026-04-06T19:02:28+00:00", + "source_file": "Roadmap.md", + "language_code": "km" + }, + "SECURITY.md": { + "original_hash": "4ecc3bf2e27983d4c780be6f26ee6228", + "translation_date": "2026-04-06T19:05:02+00:00", + "source_file": "SECURITY.md", + "language_code": "km" + }, + "SUPPORT.md": { + "original_hash": "c9d207ff77b4bb46e46dc2b607a8ec1a", + "translation_date": "2026-04-06T19:02:40+00:00", + "source_file": "SUPPORT.md", + "language_code": "km" + }, + "_404.md": { + "original_hash": "ea9f0804bd62f46d9808e953ec7fc459", + "translation_date": "2026-04-06T19:03:05+00:00", + "source_file": "_404.md", + "language_code": "km" + }, + "docs/_navbar.md": { + "original_hash": "3bd2f51ecf4ac9b39277cba748943793", + "translation_date": "2026-04-06T19:18:20+00:00", + "source_file": "docs/_navbar.md", + "language_code": "km" + }, + "docs/_sidebar.md": { + "original_hash": "655c91b5979de46f1d70d97f0c5f1d14", + "translation_date": "2026-04-06T19:18:12+00:00", + "source_file": "docs/_sidebar.md", + "language_code": "km" + }, + "for-teachers.md": { + "original_hash": "71009af209f81cc01a1f2d324200375f", + "translation_date": "2026-04-06T19:02:03+00:00", + "source_file": "for-teachers.md", + "language_code": "km" + }, + "lesson-template/README.md": { + "original_hash": "0494be70ad7fadd13a8c3d549c23e355", + "translation_date": "2026-04-06T19:18:43+00:00", + "source_file": "lesson-template/README.md", + "language_code": "km" + }, + "lesson-template/assignment.md": { + "original_hash": "b5f62ec256c7e43e771f0d3b4e1a9130", + "translation_date": "2026-04-06T19:18:49+00:00", + "source_file": "lesson-template/assignment.md", + "language_code": "km" + }, + "memory-game/README.md": { + "original_hash": "ff47271e53637b2ba6ba72ad2b70f6d7", + "translation_date": "2026-04-06T19:16:09+00:00", + "source_file": "memory-game/README.md", + "language_code": "km" + }, + "quiz-app/README.md": { + "original_hash": "5301875c55bb305e6046bed3a4fd06d2", + "translation_date": "2026-04-06T19:15:37+00:00", + "source_file": "quiz-app/README.md", + "language_code": "km" + } +} \ No newline at end of file diff --git a/translations/km/1-getting-started-lessons/1-intro-to-programming-languages/README.md b/translations/km/1-getting-started-lessons/1-intro-to-programming-languages/README.md new file mode 100644 index 0000000000..937cf7a224 --- /dev/null +++ b/translations/km/1-getting-started-lessons/1-intro-to-programming-languages/README.md @@ -0,0 +1,849 @@ +# ការណែនាំអំពីភាសាកម្មវិធី និងឧបករណ៍អ្នកអwickាសពេលបច្ចុប្បន្ន + +សួស្តីអ្នកអwickាសនៅអនាគត! 👋 តើខ្ញុំអាចប្រាប់អ្នកអ្វីមួយដែលនៅតែធ្វើអោយខ្ញុំមានអារម្មណ៍រំភើបគ្រប់ថ្ងៃបានទេ? អ្នកកំពុងត្រៀមខ្លួនដើម្បីស្គាល់ថាការកម្មវិធីមិនមែនត្រឹមតែជាកុំព្យូទ័រទេ – តែវា គឺជាការទទួលបានអំណាចពិសេសដើម្បីធ្វើឱ្យគំនិតសំខាន់ៗរបស់អ្នកក្លាយជាជាក់ស្តែង! + +អ្នកដឹងថាពេលណាដែលអ្នកកំពុងប្រើកម្មវិធីពេញចិត្តរបស់អ្នក ហើយសព្វគ្រប់យ៉ាងគឺជារឿងល្អឥតខ្ចោះមែនទេ? ពេលអ្នកចុចប៊ូតុងមួយ ហើយមានអ្វីមួយប្រសើរជាប់ចិត្តដែលធ្វើអោយអ្នកនិយាយថា "វ៉ាវ, តើអ្នកបានធ្វើរបៀបណា?" អ្នកណាម្នាក់ដូចជាអ្នក - ប្រហែលជាកំពុងអង្គុយនៅកាហ្វេទាំងមនុស្សនៅម៉ោង ២ ព្រឹកជាមួយកាហ្វេអេសប្រេសសូទីបី - បានសរសេរកូដដែលបង្កើតអ្វីមួយអស្ចារ្យនោះ។ ហើយនេះជារឿងដែលនឹងធ្វើអោយអ្នកភ្ញាក់ផ្អើល៖ នៅចុងบทសិក្សានេះ អ្នកនឹងមិនត្រឹមតែយល់ពីរបៀបដែលពួកគេចែករំលែកតែប៉ុណ្ណោះទេ ប៉ុន្តែអ្នកនឹងមានបំណងចង់សាកល្បងវាផងដែរ! + +សូមមើល ខ្ញុំយល់ថា ប្រសិនបើការកម្មវិធីធ្វើអោយអ្នកមានអារម្មណ៍ភ័យក្រែងឥឡូវនេះមែនទេ។ នៅពេលខ្ញុំចាប់ផ្តើម ខ្ញុំពិតជាចាប់អារម្មណ៍ថាអ្នកត្រូវតែជាអ្នកដំណឹងគណិតវិទ្យាឬបានរៀនកូដម្ដង ពីពេលអ្នកមានពាន់ឆ្នាំប្រាំ។ ប៉ុន្តែនេះជារឿងដែលបានផ្លាស់ប្តូរមើលឃើញរបស់ខ្ញុំបាននៅលើសម្បយ: ការកម្មវិធីគឺដូចជាការរៀនធ្វើបន្ទាប់បន្សល់ក្នុងភាសាថ្មីមួយ។ អ្នកចាប់ផ្តើមជាមួយ "ជំរាបសួរ" ហើយ "អរគុណ" បន្ទាប់មករៀនបញ្ជាទិញកាហ្វេ ហើយមុនពេលអ្នកដឹង អ្នកកំពុងមានការពិភាក្សាទូលំទូលាយទូទៅ! លើកលែងតែរឿងនេះ អ្នកកំពុងនិយាយជាមួយកុំព្យូទ័រ ហើយពិតប្រាកដទេ? ពួកវាជាដៃគូនិយាយដែលអត់ថប់សន្លាក់បំផុតដែលអ្នកធ្លាប់មាន – ពួកវាមិនដែល phê phán កំហុសរបស់អ្នក ហើយពួកវាផ្ទាល់ខ្លួនរំខានចង់សាកល្បងម្តងទៀត! + +ថ្ងៃនេះ យើងនឹងរំលឹកទៅលើឧបករណ៍អស្ចារ្យដែលធ្វើឱ្យការអwickាសវែបសម័យទំនើបមិនមែនត្រឹមតែអាចធ្វើបានទេ ប៉ុន្តែនៅក្នុងកម្រិតដែលធ្វើឱ្យអ្នកចងចាំ! ខ្ញុំកំពុងនិយាយអំពីក្រុមកម្មវិធីកែសម្រួល, កម្មវិធីរកមើល និងដំណើរការដូចគ្នានឹងដែលអ្នកអwickាសនៅ Netflix, Spotify និងស្ទូឌីយ៉ូកម្មវិធីឯករាជ្យដែលអ្នកចូលចិត្តប្រើរៀងរាល់ថ្ងៃ។ ហើយនេះជាផ្នែកដែលនឹងធ្វើឱ្យអ្នករាំសប្បាយចិត្ត៖ ឧបករណ៍ស្តង់ដារផ្នែកវិស័យភាគច្រើននេះគឺឥតគិតថ្លៃទាំងស្រុង! + +![Intro Programming](../../../../translated_images/km/webdev101-programming.d6e3f98e61ac4bff.webp) +> Sketchnote ដោយ [Tomomi Imura](https://twitter.com/girlie_mac) + +```mermaid +journey + title ដំណើរការប្រាំប្រែរបស់អ្នកថ្ងៃនេះ + section ស្វែងរក + អ្វីទៅជា ការសរសេរកូដកម្មវិធី: 5: You + ភាសាកម្មវិធី: 4: You + ជូរមេរៀនឧបករណ៍: 5: You + section ស្វែងរកបន្ថែម + កម្មវិធីកែសម្រួលកូដ: 4: You + ទស្សនាវដ្តី និងឧបករណ៍អភិវឌ្ឍន៍: 5: You + បន្ទាត់បញ្ជា: 3: You + section អនុវត្តន៍ + អ្នកស៊ើបអង្កេតភាសា: 4: You + ការស្វែងរកឧបករណ៍: 5: You + ការតភ្ជាប់សហគមន៍: 5: You +``` +## ឲ្យមើលថាតើអ្នកបានដឹងអ្វីហើយ! + +មុនពេលយើងចូលទៅកាន់រឿងសប្បាយៗ ខ្ញុំចង់ធ្វើការសួរថា – តើអ្នកបានដឹងអ្វីមួយអំពីពិភពកម្មវិធីនេះហើយទេ? ហើយសូមស្តាប់ ខ្ញុំសូម្បីអោយអ្នកបានមើលសំណួរទាំងនេះហើយគិតថា "ខ្ញុំមិនដឹងអ្វីពីរឿងនេះទេ," វាមិនមែនជារឿងខុសទេ វាសាកល្បងថាអ្នកនៅត្រឹមទីតាំងត្រឹមត្រូវ។ សូមគិតថាឆ្នោតប្រឡងនេះគឺដូចជាការប្តូរជាមុននឹងហាត់ប្រាណ – យើងកំពុងកំដៅខួរក្បាល! + +[ចូលរួមចំណាយពេលប្រឡងមុនសិក្សា](https://ff-quizzes.netlify.app/web/) + + +## ធ្វើដំណើរដែលយើងនឹងធ្វើរួមគ្នា + +ល្អហើយ ខ្ញុំមាន អារម្មណ៍រំភើបយ៉ាងខ្លាំងអំពីអ្វីដែលយើងនឹងស្វែងរកថ្ងៃនេះ! ពិតប្រាថ្នាខ្ញុំអាចមើលមុខអ្នកពេលដែលមុខងារដែលខ្លះទទួលបានចំណាំ។ នេះគឺជាធម្មតាដំណើរអស្ចារ្យដែលយើងនឹងធ្វើរួមគ្នា៖ + +- **តើកម្មវិធីជាអ្វីពិត (និងមូលហេតុដែលវាជារឿងដ៏កក់ក្តៅ!)** – យើងនឹងរកឃើញថាកូដគឺជាអាកាសធាតុមិនច្បាស់ដែលបណ្តាលថាមពលអ្វីគ្រប់យ៉ាងនៅជុំវិញអ្នក ពីឧបករណ៍រោទិ៍ដែលដឹងថាព្រឹកថ្ងៃច័ន្ទ រហូតដល់អាល់ហ្គរីធ្ម៍ដែលរៀបចំជាផ្លូវការជួប Netflix របស់អ្នកបានគ្រប់លក្ខណៈ +- **ភាសាកម្មវិធី និងបុគ្គលិកលក្ខណៈដ៏អស្ចារ្យរបស់ពួកវា** – សូមស្រមៃថាអ្នកចូលរួមក្នុងគ្រួសារ ដែលមនុស្សនីមួយៗមានអំណាចពិសេស និងវិធីដោះស្រាយបញ្ហាទាំងមូល។ នេះគឺជាពិភពភាសាកម្មវិធី ហើយអ្នកនឹងស្រឡាញ់ការជួបពួកវា! +- **ឋាននឿយយ៉ាងសំខាន់ដែលធ្វើអោយវេទិកាឌីជីថលកើតឡើង** – សូមគិតថា រឿងទាំងនេះដូចជាបន្ទះ LEGO បង្កើតដ៏អស្ចារ្យបំផុត។ នៅពេលអ្នកយល់ពីរបៀបភ្ជាប់ចំណែកទាំងនេះ អ្នកនឹងដឹងថាអ្នកអាចបង្កើតអ្វីគ្រប់យ៉ាងតាមក្តីស្រមៃរបស់អ្នក +- **ឧបករណ៍វិជ្ជាជីវៈដែលនឹងធ្វើអោយអ្នកមានអារម្មណ៍ដូចជាពួកគេមួយមានដែកឆ្លងពិសេស** – ខ្ញុំមិនខ្លាចនិយាយទេ – ឧបករណ៍ទាំងនេះពិតជានឹងធ្វើអោយអ្នកមានអំណាចពិសេស ហើយផ្នែកល្អបំផុត គឺពួកវាជាឧបករណ៍ដែលអ្នកជំនាញប្រើប្រាស់! + +> 💡 **នេះជារឿងមួយ**៖ កុំគិតអំពីការចងចាំអ្វីគ្រប់យ៉ាងថ្ងៃនេះទេ! ឥឡូវនេះ ខ្ញុំគ្រាន់តែនឹងចង់ឲ្យអ្នកមានអារម្មណ៍រំភើបចំពោះអ្វីដែលអាចបង្កើតបាន។ លម្អិតនឹងត្រូវចងចាំដោយស្វ័យប្រវត្តិពេលដែលយើងហាត់រួមគ្នា – នេះជាការសិក្សាពិតប្រាកដ! + +> អ្នកអាចយកមេរៀននេះនៅលើ [Microsoft Learn](https://learn.microsoft.com/en-us/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon)! + +## តើកម្មវិធីគឺជាអ្វី? + +ល្អហើយ ទស្សនាអំពីសំណួរមានតំលៃម៉ឺនដុល្លារ៖ តើកម្មវិធីគឺជាអ្វីពិតប្រាកដ? + +ខ្ញុំនឹងប្រាប់អ្នករឿងមួយដែលបានផ្លាស់ប្តូរយ៉ាងខ្លាំងចំពោះការគិតរបស់ខ្ញុំអំពីរឿងនេះ។ សប្តាហ៍មុន ខ្ញុំកំពុងព្យាយាមពន្យល់ឲ្យម៉ាក់បានដឹងពីរបៀបប្រើឧបករណ៍ត្រួតប័ណ្ណរបស់ធេវីឆ្លាតថ្មីរបស់យើង។ ខ្ញុំបាននិយាយដូចក្ដៅថា "ចុចប៊ូតុងក្រហម ប៉ុន្តែមិនត្រូវចុចប៊ូតុងក្រហមធំទេ ជាប៊ូតុងក្រហមតូចនៅខាងឆ្វេង... មិនមែនខាងឆ្វេងនេះទេ... ល្អហើយ ឥឡូវចុចយករយៈពេលពីរវិនាទី មិនមែនមួយ មិនមែនបី..." តើអ្នកធ្លាប់បានជួបទេ? 😅 + +នេះហើយហ្នឹងហៅថាកម្មវិធី! វាជាសិល្បៈនៃការផ្តល់ដាក់ទិសដៅលម្អិតប្រកបដោយជំហានច្រើនទៅឱ្យអ្វីមួយមានអំណាចខ្ពស់ប៉ុន្ត្រូវការបញ្ជាក់គ្រប់រឿងត្រឹមត្រូវ។ លើកលែងតែពេលដែលអ្នកពន្យល់ទៅឱ្យម៉ាក់ (ដែលអាចសួរថា "ប៊ូតុងក្រហមមួយណា?") អ្នកកំពុងពន្យល់ទៅកុំព្យូទ័រ (ដែលគ្រាន់តែអនុវត្តតាមអ្វីដែលអ្នកបានប្រាប់ ព្រមទាំងបញ្ហាដែលអ្នកចង់ប្រាប់មិនមែនសម្រាប់អ្វីដែលអ្នកមានជំនឿ)។ + +នេះជារឿងដែលធ្វើអោយខ្ញុំភ្ញាក់ផ្អើលពេលខ្ញុំបានរៀនដំបូង៖ កុំព្យូទ័រពិតជាប្រហែលថាតូចស្រីតាមសំណុំរបស់ពួកវា។ ពួកវាគ្រាន់តែយល់ពីពីរពាក្យតែប៉ុណ្ណោះ – 1 និង 0 ដែលគឺមានន័យថា "បាទ/ចាស" និង "ទេ" ឬ "បើក" និង "បិទ"។ មានតែក្នុងនេះប៉ុណ្ណោះ! ប៉ុន្តែមកទីនេះចាប់ផ្តើមពន្លឺ – យើងមិនត្រូវនិយាយជាផ្ទាំង ១ និង ០ ដូចជានៅក្នុងភាពយន្ត The Matrix ទេ។ នោះហើយជា **ភាសាកម្មវិធី** ជួយយើងបាន។ ពួកវាគឺដូចជាអ្នកបកប្រែបំផុតល្អបំផុតដែលយកគំនិតជាមនុស្សរបស់អ្នក ហើយបម្លែងវាទៅជាភាសាកុំព្យូទ័រ។ + +ហើយនេះគឺជារឿងដែលនៅតែធ្វើអោយខ្ញុំមានអារម្មណ៍ដូចជាអារម្មណ៍រំញ័រពិតប្រាកដនៅរៀងរាល់ព្រឹកពេលខ្ញុំនិយាយថា៖ ពីរស្គាល់ *គ្រប់យ៉ាង* ឌីជីថលនៅក្នុងជីវិតអ្នកបានចាប់ផ្តើមជាមួយនរណាម្នាក់ដូចអ្នក កំពុងអង្គុយក្នុងប៉ោម៉៉ាសាហ្វាតទាំងមួយជាមួយកាហ្វេ ហើយសរសេរកូដលើកុំព្យូទ័រយួរដៃរបស់ពួកគេ។ ឧបករណ៍ Instagram ធ្វើឲ្យអ្នកមើលស្រស់ស្អាត? មាននរណាម្នាក់សរសេរកូដនោះ។ កម្មវិធីណែនាំដែលនាំអ្នកទៅកាន់បទចម្រៀងថ្មីដែលអ្នកចូលចិត្ត? អwickាសបានបង្កើតអាល់ហ្គរីធ្ម៍នោះ។ កម្មវិធីជួយអ្នកបែងចែកលុយដល់ម៉ឺនុយនៅម៉ោងអាហារពេលល្ងាចជាមួយមិត្តភក្តិ? មែនហើយ អ្នកណាម្នាក់បានគិតថា "នេះគឺគ្មានអារម្មណ៍ល្អទេ ខ្ញុំអាចជួសជុលបាន" ហើយបន្ទាប់មកពួកគេបានធ្វើទៅហើយ! + +ពេលអ្នករៀនកុំប្រតិបត្តិការ អ្នកមិនត្រឹមតែទទួលបានជំនាញថ្មីនោះទេ – អ្នកកំពុងក្លាយជាផ្នែកមួយនៃសហគមន៍បញ្ហាដោះស្រាយដ៏អស្ចារ្យដែលចំណាយពេលរាល់ថ្ងៃនិយាយថា "តើយ៉ាងដូចម្តេចបើខ្ញុំអាចបង្កើតអ្វីមួយដែលធ្វើឲ្យថ្ងៃរបស់នរណាម្នាក់ល្អប្រសើរបន្តិច?" ពិតហើយ តើមានអ្វីល្អបំផុតជាងនេះទេ? + +✅ **ការស្វែងរកពត៌មានសប្បាយភ្ញាក់ផ្អើល**៖ នេះជារឿងមួយដ៏អស្ចារ្យសម្រាប់ស្វែងរកពេលមានវេលាចន្លោះ – តើអ្នកគិតថា នរណាជាអwickាសកុំព្យូទ័រដំបូងបំផុតនៅលើពិភពលោក? ខ្ញុំនឹងផ្តល់ស្វ័យតំណរណ៍មួយ៖ វាប្រហែលជាមិនមែនជាអ្នកដែលអ្នករំពឹងទុកទេ! រឿងពីក្រោយមនុស្សនេះគឺគួរឱ្យចាប់អារម្មណ៍ ហើយបង្ហាញថាកម្មវិធីតែងតែជាអំពើបញ្ហាដោះស្រាយដោយច្នៃប្រឌិត និងគិតផុតពីប្រអប់។ + +### 🧠 **ពេលពិនិត្យ៖ អ្នកមានអារម្មណ៍យ៉ាងដូចម្តេច?** + +**សូមចំណាយពេលមួយដើម្បីគិតថា:** +- តើគំនិតនៃ "ផ្តល់សេចក្ដីណែនាំទៅកុំព្យូទ័រ" បានច្បាស់រួចហើយទេ? +- តើអ្នកអាចគិតអំពីភារកិច្ចប្រចាំថ្ងៃណាមួយដែលអ្នកចង់ស្វ័យប្រវត្តិកម្មបានទេ? +- តើមានសំណួរអ្វីខ្លះកំពុងកើតឡើងនៅក្នុងចិត្តរបស់អ្នកអំពីការកម្មវិធីនេះ? + +> **ចងចាំ**: វាត្រូវបានគ្រាន់តែក្នុងស្ថានភាពអនុញ្ញាត បើសិនជាភាសាតិចសារសម្រាប់ខ្លះៗត្រូវបានចូលចិត្ត។ ការរៀនកម្មវិធីដូចជាការរៀនភាសាថ្មី – វាត្រូវការពេលវេលាដើម្បីអោយខួរក្បាលរបស់អ្នកបង្កើតផ្លូវប្រសាសន៍ឆ្លងកាត់ខួរក្បាល។ អ្នកកំពុងធ្វើបានល្អណាស់! + +## ភាសាកម្មវិធីគឺដូចជារសជាតិដ៏ខុសគ្នារបស់ព្រះបាទមហាវិស័យ + +ល្អហើយ នេះឮអដូចជាអ្វីមួយច្របូកច្របល់ ប៉ុន្តែសូមរង់ចាំខ្ញុំ – ភាសាកម្មវិធីគឺស្រដៀងនឹងតន្ត្រីច្រើនប្រភេទ។ សូមគិតថា: អ្នកមានជាស្ទាយ jazz ដែលទន់ភ្លន់និងហួសចិត្ត, rock ដែលខ្លាំងនិងត្រង់, classical ដែលឯកទេសនិងមានសណ្ឋាន, និង hip-hop ដែលច្នៃប្រឌិតនិងបង្ហាញអារម្មណ៍។ រៀងទាំងស្ទាយមានយ៉ាងខ្លួនផ្ទាល់, ក្រុមគាំទ្រគ្រប់គ្នាដែលមានចិត្តស្មោះ, ហើយរៀងរាល់មួយគឺល្អសម្រាប់ជំរើសនិងឱកាសខុសៗគ្នា។ + +ភាសាកម្មវិធីដំណើរការដូចគ្នា! អ្នកមិននឹងប្រើភាសាដូចគ្នាដើម្បីបង្កើតហ្គេមទូរស័ព្ទដែលគួរឲ្យសប្បាយតែអ្នកនឹងប្រើដើម្បីកាន់ទិន្នន័យអាកាសធាតុនៅកម្រិតខ្ពស់ទេ ដូចដែលអ្នកមិនលេង death metal នៅក្នុងថ្នាក់យូហ្គាឡើយ (យើងប្រហែលជាក៏មែន! 😄)។ + +ប៉ុន្តែនេះជាអ្វីដែលធ្វើអោយខ្ញុំភ្ញាក់រីករាយគ្រប់ពេលខ្ញុំគិតពីវា៖ ភាសាទាំងនេះដូចជាអ្នកបកប្រែពិតប្រាកដម្នាក់ដែលអង្គុយនៅចំហៀងអ្នក។ អ្នកអាចបញ្ចេញគំនិតរបស់អ្នកដោយរបៀបដែលធម្មតាចំពោះខួរក្បាលមនុស្សរបស់អ្នក ហើយពួកវាត្រូវទទួលខុសត្រូវការងារលំបាកក្នុងការបម្លែងទៅជារបៀប ១ និង ០ ដែលកុំព្យូទ័រនិយាយ។ វាដូចជាមានមិត្តភ័ក្រម្នាក់ដែលមានជំនាញជាភាសាមនុស្ស និងភាសាគណិតវិទ្យារៀងរាល់ពេល – ហើយពួកគេមិនដែលទៅអស់កម្លាំង មិនដែលត្រូវការឈប់ផឹកកាហ្វេ ក៏មិនដែល phê phán អ្នកសម្រាប់សំណួរដូចគ្នាដងពីរទេ! + +### ភាសាកម្មវិធីពេញនិយម និងការប្រើប្រាស់របស់ពួកវា + +```mermaid +mindmap + root((ភាសាកម្មវិធី)) + ការអភិវឌ្ឍវេបសាយ + JavaScript + មន្តស្រមោលផ្នែកមុខ + គេហទំព័របញ្ញវន្ត + TypeScript + JavaScript + ប្រភេទ + កម្មវិធីស្ថាប័ន + ទិន្នន័យ & បញ្ញាសិប្បនិម្មិត + Python + វិជ្ជាសារព័ត៌មានទិន្នន័យ + រៀនម៉ាស៊ីន + ឯករាជ្យដំណើរការ + R + ស្ថិតិវិទ្យា + ការស្រាវជ្រាវ + កម្មវិធីទូរសព្ទ័ចល័ត + Java + Android + ស្ថាប័ន + Swift + iOS + អេកូស៊ីស្ទម Apple + Kotlin + Android សម័យទំនើบ + បណ្តាប្រព័ន្ធសហគ្រិន + ប្រព័ន្ធ & ប្រសិទ្ធភាព + C++ + ហ្គេម + សារៈសំខាន់ប្រសិទ្ធភាព + Rust + សន្តិសុខអង្គចងចាំ + កម្មវិធីប្រព័ន្ធ + Go + សេវាកម្មពពក + ផ្នែកខាងក្រោយអាចពង្រីកបាន +``` +| ភាសា | ល្អបំផុតសម្រាប់ | ហេតុអ្វីបានពេញនិយម | +|----------|----------|------------------| +| **JavaScript** | ការអwickាសវែប, ចំណុចប្រទាក់អ្នកប្រើ | រត់នៅក្នុងកម្មវិធីរកមើល និងគ្រប់គ្រងវែបសាយអន្តរប្រតិបត្តិការ | +| **Python** | វិទ្យាសាស្ត្រទិន្នន័យ, ស្វ័យប្រវត្តិ, AI | ស្រាលក្នុងការអាន និងរៀន មានបណ្ណាល័យដ៏មានអំណាច | +| **Java** | កម្មវិធីសម្រាប់សហគ្រាស, កម្មវិធី Android | ផ្នែកប្លាតផ្លាត់មិនខ្វះខាត និងរឹងមាំសម្រាប់ប្រព័ន្ធធំៗ | +| **C#** | កម្មវិធីវីនដូ, ការ​អwickាសហ្គេម | មានគាំទ្រយ៉ាងខ្លាំងពីប្រព័ន្ធ Microsoft | +| **Go** | សេវាកម្មពពក, ប្រព័ន្ធក្រោយ | លឿន, សាមញ្ញ, រចនាសម្រាប់កុំព្យូទ័រសម័យថ្មី | + +### ភាសារថ្មីកម្រិតខ្ពស់ និងភាសារថ្មីកម្រិតទាប + +ល្អ, នេះជាឧទាហរណ៍មួយដែលអស់សមត្ថភាពខួរក្បាលខ្ញុំច្រើនពេលខ្ញុំចាប់ផ្តើមរៀន ដូច្នេះខ្ញុំនឹងចែករំលែករឿងងាយយល់ដែលបានធ្វើអោយវាច្បាស់សម្រាប់ខ្ញុំ – ហើយខ្ញុំសង្ឃឹមវានឹងជួយអ្នកផងដែរ! + +សូមស្រមៃថាអ្នកកំពុងទៅទស្សនាប្រទេសមួយដែលអ្នកមិនចេះភាសា ហើយអ្នកត្រូវការស្វែងរកបង្គន់ជិតជាងគេតែម៉េច? (យើងរាល់គ្នាត្រូវបានដែរមែនទេ? 😅): + +- **ការកម្មវិធីកម្រិតទាប** គឺដូចជា ជ្រាបភាសាតំបន់ដែលអ្នកអាចនិយាយជាមួយពៅតាស់ដាំផ្លែឈើនៅមួកផ្លូវ ប្រើការប្រៀបធៀបវប្បធម៌, ពាក្យសំដីនៅតំបន់, និងរឿងកំប្លែងក្នុងស្រុក ដែលមានតែអ្នកដែលបានធំឡើងនៅទីនោះតែប៉ុណ្ណោះដែលយល់។ គួរអោយកត់សម្គាល់ខ្លាំងហើយមានប្រសិទ្ធភាពខ្ពស់... ប៉ុន្តែវាលំបាកខ្លាំងនៅពេលអ្នកត្រឹមត្រូវស្វែងរកបង្គន់។ +- **ការកម្មវិធីកម្រិតខ្ពស់** គឺដូចជាមិត្តភ័ក្រ្តនៅក្នុងស្រុកដែលយល់អ្នក។ អ្នកអាចនិយាយថា "ខ្ញុំត្រូវការស្វែងរកបង្គន់" ជាភាសាអង់គ្លេសធម្មតា ហើយពួកគេនឹងបកប្រែវាបានជាថ្មីជាមួយព័ត៌មានវប្បធម៌ និងផ្តល់ទិសដៅដែលមានសមតុល្យមែនទែនសម្រាប់ខួរក្បាលអ្នកដែលមិនមែនជាកន្លែងជាតិ។ + +ក្នុងភាសាកម្មវិធី៖ +- **ភាសាប្រភេទកម្រិតទាប** (ដូចជា Assembly ឬ C) អនុញ្ញាតឲ្យអ្នកមានការពិភាក្សារយៈពេលលម្អិតជាមួយឧបករណ៍រឹងដែលកុំព្យូទ័រប្រើ ប៉ុន្តែអ្នកត្រូវតែគិតដូចជាម៉ាស៊ីនមួយ ដែល... យើងនិយាយថា វា ជាការផ្លាស់ប្តូរចិត្តយ៉ាងធំមួយ! +- **ភាសាប្រភេទកម្រិតខ្ពស់** (ដូចជា JavaScript, Python, ឬ C#) អនុញ្ញាតឲ្យអ្នកគិតដូចមនុស្ស ខណៈពួកវាកំពុងគ្រប់គ្រងការលំបាកជាច្រើនដែលមាននៅជាប់ក្រោយម៉ាស៊ីន។ លើសពីនេះ ពួកវាមានសហគមន៍មនុស្សទាំងស្រុងដែលចាំបាច់ខ្លួនជាគ្រាប់តូចទាំងមូលផងដែរ ហើយពិតជាចង់ជួយអ្នក! + +អ្នកគិតថាអ្នកនឹងចាប់ផ្តើមជាមួយភាសាណា? 😉 ភាសាកម្រិតខ្ពស់គឺដូចជាម៉ាស៊ីនប៉ា្រស៊ែតដែលអ្នកមិនចង់ដកចេញទេ ព្រោះវាធ្វើអោយបទពិសោធន៍ទាំងមូលគួរឲ្យរីករាយជាងមុន! + +```mermaid +flowchart TB + A["👤 គំនិតមនុស្ស:
'ខ្ញុំចង់គណនាលេខ Fibonacci'"] --> B{ជ្រើសរើសកម្រិតភាសា} + + B -->|កម្រិតខ្ពស់| C["🌟 JavaScript/Python
ងាយស្រួលអាន និងសរសេរ"] + B -->|កម្រិតទាប| D["⚙️ Assembly/C
ការគ្រប់គ្រងឧបករណ៍ដោយផ្ទាល់"] + + C --> E["📝 សរសេរ: fibonacci(10)"] + D --> F["📝 សរសេរ: mov r0,#00
sub r0,r0,#01"] + + E --> G["🤖 កុំព្យួទ័រយល់ដឹង:
អ្នកបកប្រែគ្រប់គ្រងភាពស្មុគស្មាញ"] + F --> G + + G --> H["💻 លទ្ធផលដូចគ្នា:
0, 1, 1, 2, 3, 5, 8, 13..."] + + style C fill:#e1f5fe + style D fill:#fff3e0 + style H fill:#e8f5e8 +``` +### ខ្ញុំនឹងបង្ហាញអ្នកថា អេត្បោវភាសាកម្រិតខ្ពស់កាន់តែងាយស្រួល + +ល្អហើយ ខ្ញុំនឹងបង្ហាញអ្នកអ្វីដែលបង្ហាញយ៉ាងច្បាស់ថាហេតុអ្វីខ្ញុំស្រឡាញ់ភាសាកម្រិតខ្ពស់ តែសិនខ្ញុំត្រូវការអ្នកសន្យាអ្វីមួយ។ នៅពេលអ្នកឃើញឧទាហរណ៍កូដលើកដំបូង កុំភ័យ! វាត្រូវមានរូបរាងធ្វើអោយភ័យ។ នេះជាគោលបំណងដែលខ្ញុំចង់បញ្ជាក់! + +យើងនឹងមើលការងារដូចគ្នាមួយដែលបានសរសេរដោយរបៀបពីរផ្សេងៗគ្នាទាំងស្រុង។ ទាំងពីរបង្កើតអ្វីដែលហៅថាស៊េរី Fibonacci – របៀបគណិតវិទ្យាដ៏ស្រស់ស្អាត ដែលលេខនីមួយៗគឺជាផលបូករបស់លេខពីរមុនៗ៖ 0, 1, 1, 2, 3, 5, 8, 13... (កំណត់សំគាល់: អ្នកនឹងឃើញរបៀបនេះនៅគ្រប់ទីកន្លែងធម្មជាតិ – ព្រលឹងមូលផ្កាផ្សិតទូៗ, រចនាសម្ព័ន្ធប្រចាំត្នោត, រហូតដល់របៀបឆ្នាំកាឡាក់ស៊ីកើតឡើង!) + +តើអ្នករួចរាល់ទេដើម្បីមើលភាពខុសគ្នា? ទៅមុខ! + +**ភាសាកម្រិតខ្ពស់ (JavaScript) – ងាយស្រួលសម្រាប់មនុស្ស:** + +```javascript +// ជំហានទី 1: ការកំណត់ Fibonacci មូលដ្ឋាន +const fibonacciCount = 10; +let current = 0; +let next = 1; + +console.log('Fibonacci sequence:'); +``` + +**នេះគឺជាអ្វីដែលកូដនេះធ្វើ:** +- **ប្រកាស** ថាតើចង់បង្កើតលេខ Fibonacci ចំនួនប៉ុន្មាន +- **ចាប់ផ្តើម** ២អថេរ ដើម្បីតាមដានលេខបច្ចុប្បន្ន និងលេខបន្ទាប់ +- **កំណត់តម្លៃចាប់ផ្តើម** (0 និង 1) ដែលកំណត់លំនាំ Fibonacci +- **បង្ហាញ** សាររូមក្បាល ដើម្បីសម្គាល់ចេញលទ្ធផលរបស់យើង + +```javascript +// ជំហានទី 2: បង្កើតរាយនីយការដោយមានរង្វិល +for (let i = 0; i < fibonacciCount; i++) { + console.log(`Position ${i + 1}: ${current}`); + + // គណនាលេខបន្ទាប់នៅក្នុងរាយនីយការ + const sum = current + next; + current = next; + next = sum; +} +``` + +**ពន្យល់ពីអ្វីដែលកើតឡើង:** +- **ភ្ជាប់** ជុំសម្រាប់រាល់ទីតាំងក្នុងស៊េរីដោយប្រើ `for` +- **បង្ហាញ** លេខនីមួយៗជាមួយទីតាំងដោយប្រើទ្រង់ទ្រាយអក្សរស្លាក (template literal) +- **គណនា** លេខ Fibonacci បន្ទាប់ ដោយបូកលេខបច្ចុប្បន្ននិងលេខបន្ទាប់ +- **បច្ចុប្បន្នភាព** អថេរដើម្បីចូលទីតាំងបន្ទាប់ + +```javascript +// ជំហានទី ៣: វិធីសាស្ត្រសម័យទំនើប +const generateFibonacci = (count) => { + const sequence = [0, 1]; + + for (let i = 2; i < count; i++) { + sequence[i] = sequence[i - 1] + sequence[i - 2]; + } + + return sequence; +}; + +// ឧទាហរណ៍ការប្រើប្រាស់ +const fibSequence = generateFibonacci(10); +console.log(fibSequence); +``` + +**នៅក្នុងនេះ យើងបាន:** +- **បង្កើត** មុខងារដែលអាចប្រើឡើងវិញ ដោយប្រើរបៀបសរសេរមុខងារបង្ហើប (arrow function) +- **កសាង** អារេដើម្បីទុកស៊េរីពេញលេញ មិនបង្ហាញចេញតែមួយៗទេ +- **ប្រើ** ការកំណត់ទីតាំងអារេដើម្បីគណនាលេខថ្មីៗ ពីតម្លៃមុនៗ +- **ត្រឡប់** ស៊េរីពេញលេញសម្រាប់ប្រើប្រាស់បានច្រើនផ្នែកក្រៅក្នុងកម្មវិធីរបស់យើង + +**ភាសាកម្រិតទាប (ARM Assembly) – ងាយស្រួលសម្រាប់កុំព្យូទ័រ:** + +```assembly + area ascen,code,readonly + entry + code32 + adr r0,thumb+1 + bx r0 + code16 +thumb + mov r0,#00 + sub r0,r0,#01 + mov r1,#01 + mov r4,#10 + ldr r2,=0x40000000 +back add r0,r1 + str r0,[r2] + add r2,#04 + mov r3,r0 + mov r0,r1 + mov r1,r3 + sub r4,#01 + cmp r4,#00 + bne back + end +``` + +សូមសម្គាល់ថា សំឡេង JavaScript កន្លែងនេះអានដូចជាដឹកនាំជាភាសាអង់គ្លេស ខណៈសំឡេង Assembly ប្រើបញ្ជាក្រុមហ៊ុនដែលគ្រប់គ្រងផ្ទាល់ processor របស់កុំព្យូទ័រ។ ទាំងពីរធ្វើការងារដូចគ្នា តែភាសាកម្រិតខ្ពស់ងាយស្រួលសម្រាប់មនុស្សយល់ សរសេរ និងថែរក្សាបំផុត។ + +**ភាពខុសគ្នាចម្បងដែលអ្នកនឹងមើលឃើញ:** +- **អាចអានបាន**: JavaScript ប្រើឈ្មោះពណ៌នាដូចជា `fibonacciCount` ខណៈពេលដែល Assembly ប្រើស្លាកសញ្ញាដ៏អស្ចារ្យដូចជា `r0`, `r1` +- **មន្ត្រីផ្តល់កត់សម្គាល់**: ភាសាឧត្តមកម្រិតលើកលែងរំលឹកពីមន្ត្រីសំខាន់ៗដែលធ្វើឱ្យកូដអាចធ្វើឱ្យមានឯកសារផ្ទាល់ខ្លួន +- **រចនាសម្ព័ន្ធ**: ជំហានตรេត្រដ្ឋនៃ JavaScript ល្អនិងផ្គូផ្គងនឹងរបៀបដែលមនុស្សគិតអំពីបញ្ហាជាជំហានៗ +- **ការថែទាំ**: ការអាប់ដេតកំណែ JavaScript សម្រាប់តម្រូវការផ្សេងៗកាន់តែងាយស្រួល និងច្បាស់លាស់ + +✅ **អំពីស៊េរី Fibonacci**: លំនាំលេខដ៏ស្អាតប្លែកនេះ (កំណត់ឥតខ្លាចលេខមួយស្មើនឹងទិន្នផលនៃលេខពីរ​កន្លងមក: 0, 1, 1, 2, 3, 5, 8...) មាននៅជិតគ្រប់ទីកន្លែងក្នុងធម្មជាតិ! អ្នកអាចរកឃើញវានៅក្នុងស្លឹកផ្កាឈូក, លំនាំផ្លែស៉ៃ, របៀបសង្ហារលំនាំសន្លឹក Nautilus ហើយរហូតដល់របៀបជាំបាក់ពន្លឺរបស់ដើមឈើ។ វាបង្ហាញពីវិធីដែលគណិតវិទ្យានិងកូដអាចជួយយើងយល់ដឹងនិងបង្កើតឡើងវិញនូវលំនាំដែលធម្មជាតិប្រើដើម្បីបង្កើតភាពស្រស់ស្អាត! + +## គ្រឿងដែកគ្រឿងធ្វើអោយយុទ្ធសាស្ត្ររូបមន្ដកើតឡើង + +ចាប់ផ្តើមឥឡូវដែលអ្នកបានឃើញរបៀបដែលភាសាកម្មវិធីមើលទៅក្នុងសកម្មភាព ខ្ញុំចង់បំបែកផ្នែកមូលដ្ឋានដែលបង្កើតកម្មវិធីអ្វីៗគ្រប់សរសេរឡើង។ គិតថាវា​ជា​គ្រឿងផ្សំមូលដ្ឋាន​នៅ​ក្នុង resipe ដែលអ្នកចូលចិត្ត - ពេលអ្នកយល់ពីតួនាទីនៃមួយៗ អ្នកនឹងអាចអាននិងសរសេរកូដនៅភាសាគ្រប់មាន! + +នេះគឺដូចជាការរៀនវេយ្យាករណ៍របស់កម្មវិធី។ ចាំបានមុនពេលនៅសាលាដែលអ្នករៀនអំពីនាម វិធាន និងរបៀបដាក់ប្រយោគរួម? កម្មវិធីក៏មានរចនាសម្ព័ន្ធវេយ្យាករណ៍ផ្ទាល់ខ្លួន ហើយជាសំណាងមួយ វាល្អប្រសើរជាងវេយ្យាករណ៍ភាសាអង់គ្លេសច្រើន! 😄 + +### សម្ងាត់៖ คំពុងផ្តល់​ដំណើរការ​​​ជាថ្នាក់ៗ + +ចាប់ផ្តើមជាមួយ **សម្ងាត់** – អ្វីនេះគឺដូចជាប្រយោគ​បុគ្គល​មួយ​ក្នុង​ការពិភាក្សាជាមួយកុំព្យូទ័រ។ សម្ងាត់មួយៗសំដៅឱ្យកុំព្យូទ័រធ្វើអ្វីមួយជាក់លាក់ ដូចជាការបញ្ជូនផ្លូវ៖ "បត់ឆ្វេងទីនេះ," "ឈប់នៅច្រកសញ្ញាចរាចរណ៍ក្រហម," "ចតឡាននៅកន្លែងនោះ។" + +អ្វីដែលខ្ញុំចូលចិត្តនៅលើសម្ងាត់គឺថាវាអាចអានបានយ៉ាងស្រួល។ សូមពិនិត្យមើលនេះ៖ + +```javascript +// ប្រកាសមូលដ្ឋានដែលអនុវត្តសកម្មភាពតែមួយ +const userName = "Alex"; +console.log("Hello, world!"); +const sum = 5 + 3; +``` + +**នេះគឺអ្វីដែលកូដនេះធ្វើ៖** +- **ប្រកាស** អថេរមួយដើម្បីរក្សារឈ្មោះអ្នកប្រើ +- **បង្ហាញ** សារពីពាក្យអរគុណទៅកាន់ការបង្ហាញ console +- **គណនា** និងរក្សាទុកលទ្ធផលនៃប្រតិបត្តិការគណិតវិទ្យា + +```javascript +// ពាក្យបញ្ជាដែលអន្តរ្គង់ជាមួយទំព័របណ្តាញ +document.title = "My Awesome Website"; +document.body.style.backgroundColor = "lightblue"; +``` + +**ជាកណ្តាប់ដៃ៖ នេះគឺអ្វីដែលកើតឡើង៖** +- **កែប្រែ** ចំណងជើងគេហទំព័រដែលប្រារព្ធនៅលើផ្ទាំងទូរស័ព្ទ +- **ផ្លាស់ប្ដូរ** ពណ៌ខាងក្រោយរបស់រាងកាយទំព័រទាំងមូល + +### អថេរ៖ ប្រព័ន្ធឧស្សាហកម្មចងចាំកម្មវិធីរបស់អ្នក + +បានហើយ, **អថេរ** គឺជាគំនិតមួយដែលខ្ញុំ​ចូលចិត្ត​បង្រៀនបំផុតព្រោះវាដូចនឹងអ្វីដែលអ្នកប្រើរាល់ថ្ងៃ! + +គិតអំពីបញ្ជីទំនាក់ទំនងទូរស័ព្ទមួយ។ អ្នកមិនបង្រៀនលេខទូរស័ព្ទរបស់គ្រប់គ្នាទេ - អ្នករក្សា "ម៉ាក់," "មិត្តល្អបំផុត," ឬ "ហាងប៊ិចហ្សាដែលដឹករហូតដល់ម៉ោង ២ ព្រឹក" ហើយទូរស័ព្ទនឹងចងចាំលេខពិត។ អថេរមានដូចគ្នាដូចនេះ! វាជាធុងដែលមានស្លាក ដែលកម្មវិធីរបស់អ្នកអាចរក្សាទុកពត៌មាន ហើយយកវិញមកបានដោយឈ្មោះដែលមានន័យ។ + +នេះគឺគ្រប់គ្រាន់: អថេរអាចផ្លាស់ប្តូរបាននៅពេលកម្មវិធីរបស់អ្នកដំណើរការ (ដូច្នេះហៅថា "អថេរ" – យល់បាន​ទេ?). ដូចដែលអ្នកប្រហែលជាអាប់ដេតទំនាក់ទំនងហាងប៊ិចពេលអ្នកស្វែងរកកន្លែងល្អជាង បន្ទាប់មកអថេរអាចត្រូវបានធ្វើបច្ចុប្បន្នភាពនៅពេលកម្មវិធីរៀនព័ត៌មានថ្មី ឬក៏នៅពេលបរិបទផ្លាស់ប្តូរ! + +ខ្ញុំនឹងបង្ហាញអ្នកថាវាធ្វើរបៀបសាមញ្ញយ៉ាងម៉េច៖ + +```javascript +// ជំហានទី ១: ការបង្កើតអថេរមូលដ្ឋាន +const siteName = "Weather Dashboard"; +let currentWeather = "sunny"; +let temperature = 75; +let isRaining = false; +``` + +**ការយល់ដឹងពីគំនិតទាំងនេះ៖** +- **រក្សាទុក** តម្លៃមិនផ្លាស់ប្តូរបានដោយប្រើអថេរ `const` (ដូចជា ឈ្មោះគេហទំព័រ) +- **ប្រើ** `let` សម្រាប់តម្លៃដែលអាចផ្លាស់ប្តូរបានរគ្រប់លំដាប់កូដ +- **ផ្ដល់** ប្រភេទទិន្នន័យខុសៗគ្នា៖ សរសេរ (អក្សរ), លេខ និងប៊ូល (ពិត/មិនពិត) +- **ជ្រើសរើស** ឈ្មោះពណ៌នាដែលពន្យល់ពីអត្ថន័យនៃអថេរ + +```javascript +// ជំហានទី 2: ធ្វើការជាមួយអوبيជեկտដើម្បីក្រុមព័ត៌មានដែលពាក់ព័ន្ធ +const weatherData = { + location: "San Francisco", + humidity: 65, + windSpeed: 12 +}; +``` + +**នៅខាងលើ យើងបាន៖** +- **បង្កើត** វត្ថុមួយដើម្បីរួមបញ្ចូលព័ត៌មានអាកាសធាតុទាំងឡាយ +- **រៀបចំ** ចំណុចពត៌មានជាច្រើននៅក្រោមឈ្មោះអថេរមួយ +- **ប្រើ** គូសោត-តម្លៃក្នុងការស្លាកចំណុចព័ត៌មាននីមួយៗយ៉ាងច្បាស់ + +```javascript +// ជំហានទី 3៖ ការប្រើប្រាស់ និងធ្វើបច្ចុប្បន្នភាពអថេរ +console.log(`${siteName}: Today is ${currentWeather} and ${temperature}°F`); +console.log(`Wind speed: ${weatherData.windSpeed} mph`); + +// ការធ្វើបច្ចុប្បន្នភាពអថេរដែលអាចផ្លាស់ប្តូរ +currentWeather = "cloudy"; +temperature = 68; +``` + +**យល់ដឹងលម្អិតពីមួយៗ៖** +- **បង្ហាញ** ព័ត៌មានដោយប្រើ template literals ជាមួយ `${}` ស៊ីនតាក់ +- **ចូលដំណើរការ** អចលនវត្ថុដោយប្រើ dot notation (`weatherData.windSpeed`) +- **ធ្វើបច្ចុប្បន្នភាព** អថេរដែលបានប្រកាសជាមួយ `let` ដើម្បីបង្ហាញស្ថានភាពផ្លាស់ប្តូរ +- **បញ្ចូលគ្នា** ជាមួយអថេរជាច្រើនដើម្បីបង្កើតសារ​មានអត្ថន័យ + +```javascript +// ជំហាន 4: ការបំបែកទំនាក់ដោយទំនើបសម្រាប់កូដស្អាតជាងមុន +const { location, humidity } = weatherData; +console.log(`${location} humidity: ${humidity}%`); +``` + +**អ្វីដែលអ្នកត្រូវចេះគឺ៖** +- **ដកស្រង់** លក្ខណៈពិសេសពីវត្ថុដោយប្រើការចំណាត់ថ្នាក់ destructuring assignment +- **បង្កើត** អថេរថ្មីដោយស្វ័យប្រវត្តិជាមួយឈ្មោះដូចគ្នានៅក្នុងវត្ថុ +- **សម្រួល** កូដដោយជៀសវាងការប្រើ dot notation ក្រៀមក្រំឡើងវិញ + +### របៀបដំណើរការ ​Control Flow៖ បង្រៀនកម្មវិធីឲ្យគិត + +ល្អណាស់ នៅទីនេះកម្មវិធីក្លាយជារឿងចម្លែកមែន! **Control flow** គឺជាការបង្រៀនកម្មវិធីរបស់អ្នកឱ្យធ្វើជម្រើសរបស់ខ្លួនយ៉ាងវៃឆ្លាត ដូចជាអ្នកធ្វើរៀងរាល់ថ្ងៃដោយមិនចេះអើយ។ + +សូមរៀបរាប់៖ ព្រឹកនេះអ្នកប្រហែលជាមានរឿងជា "បើមានភ្លៀង ខ្ញុំនឹងយកឆ័ត្រ។ បើត្រជាក់ ខ្ញុំនឹងស្លៀកអាវក្រៅ។ បើខ្ញុំពេញលេញខ្ពស់ ខ្ញុំនឹងរំលងអាហារព្រឹកហើយយកកាហ្វេកាន់ទៅ។" សម្ថតិបញ្ញារបស់អ្នកធម្មជាតិតាមដាន បើ-បរិបទ នេះជាច្រើនដងរាល់ថ្ងៃ! + +នេះជាឱកាសដែលកម្មវិធីមានផាសុខភាពនិងមានជីវិត ជាជាងតែការតាមដានស្គ្រីបរ៉ូបូតដូចជាកំណត់។ វាអាចពិនិត្យឡើងវិញពីស្ថានភាព ធ្វើការវាយតម្លៃ តាមដាននិងឆ្លើយតបយ៉ាងសមស្រប។ វាដូចជាការផ្តល់ខួរក្បាលដល់កម្មវិធីដែលអាចបត់បែននិងធ្វើជម្រើសបាន! + +ចង់ឃើញរបៀបដែលវាដំណើរការយ៉ាងស្រស់ស្អាតទេ? ខ្ញុំនឹងបង្ហាញអ្នក៖ + +```javascript +// ជំហានទី១៖ לូជិចលលក្ខខណ្ឌមូលដ្ឋាន +const userAge = 17; + +if (userAge >= 18) { + console.log("You can vote!"); +} else { + const yearsToWait = 18 - userAge; + console.log(`You'll be able to vote in ${yearsToWait} year(s).`); +} +``` + +**នេះជាអ្វីដែលកូដធ្វើ៖** +- **ពិនិត្យ** អាយុអ្នកប្រើឲ្យបានតម្លៃតំបន់បោះឆ្នោត +- **បញ្ជាព្រិត្តិការទាំងផ្សេងៗជាមួយលក្ខខណ្ឌ +- **គណនា** និងបង្ហាញពេលវេលាចាប់ពីពេលដែលអាចបោះឆ្នោតបាន ប្រសិនបើក្រោម 18 ឆ្នាំ +- **ផ្តល់** មតិយោបល់ជាក់លាក់ និងអាចជួយបានសម្រាប់ស្ថានភាពនីមួយៗ + +```javascript +// ជំហាន ២: លក្ខខណ្ឌច្រើនជាមួយអូបូឡង់លោហហ្សិច +const userAge = 17; +const hasPermission = true; + +if (userAge >= 18 && hasPermission) { + console.log("Access granted: You can enter the venue."); +} else if (userAge >= 16) { + console.log("You need parent permission to enter."); +} else { + console.log("Sorry, you must be at least 16 years old."); +} +``` + +**បំបែកអ្វីកើតឡើងនៅទីនេះ៖** +- **បញ្ចូល** លក្ខខណ្ឌជាច្រើនដោយប្រើឧបករណ៍ `&&` (និង) +- **បង្កើត** ជំនាន់លក្ខខណ្ឌដោយប្រើ `else if` សម្រាប់ស្ថានភាពជាច្រើន +- **ដោះស្រាយ** គ្រប់ករណីដោយប្រើសម្ងាត់ `else` ចុងក្រោយ +- **ផ្តល់** មតិយោបល់ច្បាស់លាស់ជាកម្មវិធីសម្រាប់ស្ថានភាពខុសៗគ្នា + +```javascript +// ជំហានទី 3: លក្ខខណ្ឌសង្ខេបជាមួយអូប៉េរ៉ាទ័រតឺណារី +const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet"; +console.log(`Status: ${votingStatus}`); +``` + +**អ្វីដែលអ្នកត្រូវចងចាំ៖** +- **ប្រើ** អ្នកបម្រើ ternary (`? :`) សម្រាប់លក្ខខណ្ឌពីរជម្រើសងាយស្រួល +- **សរសេរ** លក្ខខណ្ឌមុន បន្ទាប់ជា `?`, បន្ទាប់ជា លទ្ធផលពិត, បន្ទាប់ជា `:`, បន្ទាប់ជា លទ្ធផលមិនពិត +- **អនុវត្ត** លំនាំនេះពេលអ្នកត្រូវចាត់តម្លៃទៅលើលក្ខខណ្ឌ + +```javascript +// ជំហានទី ៤: ដោះស្រាយករណីច្រើនជាក់លាក់ +const dayOfWeek = "Tuesday"; + +switch (dayOfWeek) { + case "Monday": + case "Tuesday": + case "Wednesday": + case "Thursday": + case "Friday": + console.log("It's a weekday - time to work!"); + break; + case "Saturday": + case "Sunday": + console.log("It's the weekend - time to relax!"); + break; + default: + console.log("Invalid day of the week"); +} +``` + +**កូដនេះបានសម្រេចរួច៖** +- **ផ្គូផ្គង** តម្លៃអថេរសម្រាប់ករណីជាច្រើនពិសេស +- **ផ្ដុំ** ករណីដែលដូចគ្នា (ថ្ងៃធ្វើការ vs ទីរដូវសៅរ៍-អាទិត្យ) +- **បញ្ជា** សម្ងាត់ស្របតាមការប្រហែលបាន +- **មាន** ករណី `default` ដើម្បីចាប់ករណីមិនរំពឹងទុក +- **ប្រើ** សម្ងាត់ `break` ដើម្បីបញ្ឈប់កូដមិនឲ្យបន្តទៅករណីបន្ទាប់ + +> 💡 **ការប្រៀបធៀបពីពិភពពិត**៖ គិតថា control flow ដូចជាការមាន GPS ដែលមានភាពអត់ធ្មត់ខ្ពស់បំផុតក្នុងពិភពលោកបញ្ចូនអ្នកផ្លូវ។ វាអាចនិយាយថា "បើមានចរាចរណ៍នៅផ្លូវ Main Street សូមទៅផ្លូវល្បឿនវិញ។ បើមានការសំណង់រារាំងផ្លូវល្បឿន សូមសាកល្បងផ្លូវទេសភាព។" កម្មវិធីប្រើលក្ខខណ្ឌដូចគ្នានេះដើម្បីឆ្លើយតបយ៉ាងឆ្លាតវៃទៅស្ថានភាពខុសៗគ្នា ហើយផ្តល់បទពិសោធន៍ល្អបំផុតជាមនុស្សប្រើ។ + +### 🎯 **ពិនិត្យគំនិត៖ ជំនាញគ្រឿងគ្រឹះ** + +**សូមមើលថាអ្នកដំណើរការយ៉ាងម៉េចជាមួយគ្រឿងគ្រឹះ៖** +- តើអ្នកអាចពន្យល់​មាតិកាផ្សេងគ្នារវាងអថេរនិងសម្ងាត់ដោយប្រើពាក្យរបស់អ្នកឯងទេ? +- គិតពីស្ថានភាពពិតដែលអ្នកនឹងប្រើ if-then ជម្រើស (ដូចជា ឧទាហរណ៍បោះឆ្នោតរបស់យើង) +- តើមានអ្វីមួយពីលក្ខណៈវិធីកម្មវិធីដែលបានធ្វើឲ្យអ្នកភ្ញាក់ផ្អើល? + +**កំណត់ពេលខ្លីដើម្បីបន្ថែមទំនុកចិត្ត៖** +```mermaid +flowchart LR + A["📝 សេចក្តីថ្លែង
(ការណែនាំ)"] --> B["📦 អថេរ
(ការផ្ទុក)"] --> C["🔀 ស្ទ្រីមត្រួតគ្រប់គ្រង
(ការសម្រេចចិត្ត)"] --> D["🎉 កម្មវិធីដំណើរការ!"] + + style A fill:#ffeb3b + style B fill:#4caf50 + style C fill:#2196f3 + style D fill:#ff4081 +``` +✅ **អ្វីដែលនឹងមកជាបន្ទាប់**៖ យើងត្រូវធ្វើការកំសាន្តយ៉ាងខ្លាំងក្នុងការជ្រាបជ្រៅសារមន្ទីរ​នេះខណៈពេលយើងបន្តដំណើរល្អមួយនេះជាមួយគ្នា! សព្វថ្ងៃនេះ គ្រាន់តែលើកទឹកចិត្តអារម្មណ៍របស់អ្នកចំពោះពេលវេលាពិតប្រាកដ។ ជំនាញ និងបច្ចេកទេសជាក់លាក់នឹងឆាប់រឹតតែរឹងនិងសម្រួលដោយធម្មជាតិពេលយើងអនុវត្តជាមួយគ្នា – ខ្ញុំសន្យាថា វានឹងរីករាយជាងដែលអ្នកគិត! + +## ឧបករណ៍ធ្វើការងារ + +ល្អហើយ, នេះជាកន្លែងដែលខ្ញុំមានអារម្មណ៍រំភើបខ្លាំងដែលមិនអាចទប់បាន! 🚀 យើងកំពុងនិយាយអំពីឧបករណ៍ដ៏អស្ចារ្យដែលនឹងធ្វើឲ្យអ្នកមានអារម្មណ៍ថាអ្នកទទួលបានសោភន្តិភាពនៃចរាចរណ៍យន្តហោះឌីជីថលមួយ។ + +អ្នកដឹងថា​គ្រូបោកបាចខ្សែដែកមានកាំបិតដែលត្រូវគ្នាយ៉ាងល្អជាមួយដៃរបស់ពួកគេដែរឬទេ? ឬតើអ្នកអ្នកតន្ត្រីមានហ្គីតាប្រភេទមួយដែលផ្តួលសំឡេងពេលពួកគេចាប់វា? អ្នកអwickរការអភិវឌ្ឍន៍មានឧបករណ៍ផ្ទាល់ខ្លួនដូចជាទាំងនោះ ហើយនេះជាអ្វីដែលនឹងបំផ្លាញចិត្តអ្នក – ភាគច្រើនទាំងនេះមានឥតគិតថ្លៃទាំងស្រុង! + +ខ្ញុំកំពុងរាំឡើងសម្រាប់ចែករំលែកវាជាមួយអ្នក ព្រោះវាបានបំលែងវិធីដែលយើងសាងសង់កម្មវិធី។ យើងនិយាយអំពីជំនួយការសរសេរកូដដែលចលនាដោយ AI ដែលអាចជួយសរសេរកូដអ្នក (ខ្ញុំមិនបានលេងរឿងទេ!), បរិយាកាសខ្សែបាយដែលអាចបង្កើតកម្មវិធីពេញលេញពីកន្លែងណាមួយតាមឥតខ្សោយ Wi-Fi និងឧបករណ៍ស្វែងរកកំហុសដែលមានភាពចวามហ៊ុមដូចជាមានទស្សនៈវិច្ឆ័យ X-ray សម្រាប់កម្មវិធីរបស់អ្នក។ + +ហើយនេះជាផ្នែកដែលនៅតែធ្វើឲ្យខ្ញុំមានកន្ធ្រាក់ទឹកក្តៅ៖ ទាំងនេះមិនមែនជា "ឧបករណ៍សម្រាប់អ្នកចាប់ផ្តើម" ដែលអ្នកអាចលះបង់បាននាពេលក្រោយទេ។ ទាំងនេះជាឧបករណ៍កម្រិតវិជ្ជាជីវៈដដែលដែលអ្នកអភិវឌ្ឍនៅ Google, Netflix និងស្ទូឌីយោ app indie ដែលអ្នកចូលចិត្តកំពុងប្រើនៅពេលនេះ។ អ្នកនឹងមានអារម្មណ៍ថាអ្នកជាអ្នកជំនាញយ៉ាងខ្លាំងដោយប្រើវា! + +```mermaid +graph TD + A["💡 គំនិតរបស់អ្នក"] --> B["⌨️ កម្មវិធីកែសម្រួលកូដ
(VS Code)"] + B --> C["🌐 ឧបករណ៍អភិវឌ្ឍន៍កម្មវិធីផ្សារភ្ជាប់អ៊ីនធឺណិត
(ការធ្វើតេស្ត & ការត្រួតពិនិត្យកំហុស)"] + C --> D["⚡ បន្ទាត់ពាក្យបញ្ជា
(ស្វ័យប្រវត្តិកម្ម & ឧបករណ៍)"] + D --> E["📚 ឯកសារ
(ការសិក្សា & ឯកសារយោង)"] + E --> F["🚀 កម្មវិធីវែបដ៏អស្ចារ្យ!"] + + B -.-> G["🤖 ជំនួយការគូទ្រ AI
(GitHub Copilot)"] + C -.-> H["📱 ការធ្វើតេស្តឧបករណ៍
(រចនាប័ទ្មឆ្លើយតប)"] + D -.-> I["📦 គ្រប់គ្រងផ្ទុកឯកសារ
(npm, yarn)"] + E -.-> J["👥 សហគមន៍
(Stack Overflow)"] + + style A fill:#fff59d + style F fill:#c8e6c9 + style G fill:#e1f5fe + style H fill:#f3e5f5 + style I fill:#ffccbc + style J fill:#e8eaf6 +``` +### កម្មវិធីកែសម្រួលកូដ និង IDEs៖ មិត្តភាពឌីជីថលថ្មីរបស់អ្នក + +អញ្ចឹងនិយាយអំពីកម្មវិធីកែសម្រួលកូដ – វាចឹងជាកន្លែងដែលអ្នកនឹងស្រឡាញ់ខ្លាំងក្នុងការស្នាក់នៅ! គិតពួកវាដូចជាកន្លែងស្នាក់នៅផ្ទាល់ខ្លួនដែលអ្នកត្រូវចំណាយពេលភាគច្រើនដើម្បីបង្កើតនិងបរិច្ឆេទច្នៃប្រឌិតឌីជីថលរបស់អ្នក។ + +តែអ្វីដែលដ៏អស្ចារ្យនៅលើកម្មវិធីកែសម្រួលចុងក្រោយគឺ ពួកវាមិនមែនគ្រាន់តែជាកម្មវិធីកែសម្រួលអត្ថបទធម្មតា។ ពួកវាដូចជាមានគ្រូបង្រៀនកូដដ៏ឆ្លាតវៃម្នាក់អង្គុយក្បែរអ្នក24ម៉ោងជារៀងរាល់ថ្ងៃ។ ពួកវាបញ្ចេញកំហុសមុនពេលអ្នកសង្កេតឃើញ វាស្នើសុំកែលំអរដែលធ្វើឱ្យអ្នកមើលទៅឆ្លាត បង្រៀនអំពីអ្វីដែលកូដនីមួយៗធ្វើ ហើយក៏មាននរណាមួយអាចទស្សនាថាអ្នកកំពុងសរសេរអ្វី ហើយផ្តល់ដំណោះស្រាយសម្រាប់បញ្ចប់គំនិតរបស់អ្នក! + +ខ្ញុំចាំបានពេលប្រាថ្នាដំបូងរបស់ auto-completion – ខ្ញុំដូចជាកំពុងរស់នៅក្នុងអនាគត។ អ្នកចាប់ផ្តើមសរសេរអ្វីមួយ ហើយកម្មវិធីកែសម្រួលនោះនិយាយថា "សូម្បីតែក្រោមមនុស្សកំពុងគិតអំពីមុខងារ​នេះដែលអាចជួយបានអ្វីដែលអ្នកត្រូវការ?" វាដូចជាមិត្តភក្តិអាចអានចិត្តរបស់អ្នកបាននៅក្នុងពេលសរសេរកូដ! + +**តើអ្វីខ្លះធ្វើឱ្យកម្មវិធីកែសម្រួលទាំងនេះអស្ចារ្យ?** + +កម្មវិធីកែសម្រួលទំនើបផ្តល់លក្ខណៈពិសេសជាច្រេីនដើម្បីបង្កើនផលិតភាពរបស់អ្នក៖ + +| លក្ខណៈពិសេស | វាធ្វើអ្វី | ហេតុអ្វីបានជាវាជួយ | +|---------|--------------|--------------| +| **ការផ្ដូរពណ៌នៅក្នុងវេយ្យករណ៍** | ពណ៌ផ្សេងៗសម្រាប់ផ្នែកខុសៗនៃកូដ | ធ្វើឲ្យកូដអាចអានបានងាយនិងរកកំហុសលឿន | +| **បញ្ចូលដោយស្វ័យប្រវត្តិ** | មានការស្នើរកូដពេលអ្នកសរសេរ | ល្បឿនខ្ពស់និងកាត់បន្ថយកំហុសវាយអក្សរ | +| **ឧបករណ៍ស្វែងរកកំហុស** | ជួយរកនិងដោះស្រាយកំហុស | រក្សាពេលវេលាការស្វែងរកកំហុសបានជាច្រើនម៉ោង | +| **ផ្នែកបន្ថែម** | បន្ថែមមុខងារពិសេស | បង្រៀនកម្មវិធីរបស់អ្នកសម្រាប់បច្ចេកវិទ្យាទាំងឡាយ | +| **ជំនួយការជាមួយ AI** | ស្នើលទ្ធផលកូដនិងការពន្យល់ | បង្កើនល្បឿនរៀននិងផលិតភាព | + +> 🎥 **វីដេអូសម្រង់ច្បាស់**៖ ចង់មើលឧបករណ៍ទាំងនេះដំណើរការទេ? សូមមើលវីដេអូ [Tools of the Trade video](https://youtube.com/watch?v=69WJeXGBdxg) សម្រាប់ការបង្ហាញយ៉ាងទូលំទូលាយ។ + +#### កម្មវិធីកែសម្រួលណែនាំសម្រាប់អភិវឌ្ឍន៍បណ្ដាញ + +**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (ឥតគិតថ្លៃ) +- មានភាពពេញនិយមបំផុតចំពោះអ្នកអភិវឌ្ឍបណ្ដាញ +- ប្រព័ន្ធផ្នែកបន្ថែមល្អឥតខ្ចោះ +- ផ្ទៃបញ្ជាលើកំពូលនិងការចូលរួម Git ជាមួយ +- **ផ្នែកបន្ថែមដែលត្រូវមាន**: + - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - ជំនួយកូដដោយ AI + - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - ការសហការពេលវេលាពិត + - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - ការតំឡើងទ្រង់ទ្រាយគូដដោយស្វ័យប្រវត្តិ + - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - បាញ់កំហុសវាយអក្សរក្នុងកូដ + +**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (មានតម្លៃ, ឥតគិតថ្លៃសម្រាប់សិស្ស) +- ឧបករណ៍ស្វែងរកកំហុស និងសាកល្បងកម្រិតខ្ពស់ +- ការសរសេរកូដវៃឆ្លាត +- ជំនួយគ្រប់គ្រងកំណែទំរង់ក្នុងខ្លួន + +**IDEs បើកមេឃ** (តំលៃផ្សេងៗ) +- [GitHub Codespaces](https://github.com/features/codespaces) - Visual Studio Code ពេញលេញនៅក្នុងប្រាវស័រ +- [Replit](https://replit.com/) - ល្អសម្រាប់រៀននិងចែករំលែកកូដ +- [StackBlitz](https://stackblitz.com/) - ការអភិវឌ្ឍន៍បណ្តាញពេញលេញភ្លាមៗ + +> 💡 **មួកចាប់ផ្ដើម**៖ ចាប់ផ្ដើមជាមួយ Visual Studio Code – វាឥតគិតថ្លៃ ប្រើគ្រប់ជ្រុងប្រាជ្ញានៃឧស្សាហកម្ម ហើយមានសហគមន៍ធំទូលាយបង្កើតមេរៀននិងផ្នែកបន្ថែមជួយ។ + +### កម្មវិធីរុករកបណ្ដាញ៖ ហេដ្ឋារចនាសម្រង់ពិសេសរបស់អ្នក + +ល្អហើយ សូមរៀបចំចិត្តឲ្យភ្ញាក់ផ្អើលឡើងទាំងស្រុង! អ្នកដឹងថាអ្នកកំពុងប្រើកម្មវិធីរុករកដើម្បីរុករកបណ្តាញសង្គម និងមើលវីដេអូមែនទេ? ប៉ុន្តែកម្មវិធីនោះបានលាក់សារព័ត៌មាននៃមន្ទីរពិសោធន៍អភិវឌ្ឍន៍ដ៏អស្ចារ្យមួយទាំងមូល ដែលរង់ចាំឲ្យអ្នករកឃើញ! + +រាល់ពេលដែលអ្នកចុចមុនបង្អួចវេបសាយហើយជ្រើសរើស "Inspect Element" អ្នកកំពុងបើកពិភពដែលមិនគួរជឿនៃឧបករណ៍អភិវឌ្ឍដែលមានថាមពលខ្លាំងជាងកម្មវិធីថ្លៃថ្លាដែលខ្ញុំធ្លាប់បង់រាប់រយដុល្លារ។ វាដូចជាការរកឃើញថាម៉ាក់ចាស់របស់អ្នកបានលាក់មន្ទីរពិសោធន៍ឆុងផៅមុខជំនាញអ្នកខ​រោចដូចជាផ្ទាំងសម្ងាត់! +ពេលដំបូងដែលនរណាម្នាក់បង្ហាញខ្ញុំអំពី DevTools នៃកម្មវិធីរុករក វាបានចំណាយម៉ោងប្រហែលបីម៉ោងដើម្បីចុចជុំវិញហើយនិយាយថា “រង់ចាំ មើល! វាអាចធ្វើបានដែរ​ឬ?!” អ្នកអាចកែប្រែគេហទំព័រណាមួយបានជាល real-time មើលឃើញច្បាស់ថាអ្វីៗត្រូវបានផ្ទុកលឿនប៉ុណ្ណា ទៀតទៀតអាចសាកល្បងមើលវេបសាយអ្នកនៅលើឧបករណ៍ផ្សេងៗ ហើយក៏អាចដោះស្រាយបញ្ហា JavaScript ដូចជាអ្នក​ជំនាញពេញលេញ។ វាគឺជារឿងដែលធ្វើឲ្យមានការភ្ញាក់ផ្អើលជាបំផុត! + +**សូមមើលហេតុผลដែលកម្មវិធីរុករកគឺជាឧបករណ៍សម្ងាត់របស់អ្នក៖** + +ពេលដែលអ្នកបង្កើតគេហទំព័រ ឬកម្មវិធីវេប អ្នកត្រូវការមើលថាដូចម្តេចវាមានរាង និងឥរិយាបថក្នុងពិភពពិត។ កម្មវិធីរុករកមិនត្រឹមតែបង្ហាញការងាររបស់អ្នកផ្ទាល់ទេ ប៉ុន្តែផ្តល់មតិយោបល់លម្អិតអំពីប្រសិទ្ធិភាព ការចូលប្រើបាន និងបញ្ហាអាចកើតមាន។ + +#### ឧបករណ៍ភាគីអ្នកអភិវឌ្ឍកម្មវិធីរុករក (DevTools) + +កម្មវិធីរុករកទំនើបរួមបញ្ចូលផ្នែកអភិវឌ្ឍន៍ទូលំទូលាយៈ + +| ក្រុមឧបករណ៍ | ការងារដែលវាជួយ | ករណីប្រើប្រាស់ឧទាហរណ៍ | +|---------------|------------------|----------------------------| +| **ការ​ពិនិត្យធាតុ** | មើល និងកែប្រែ HTML/CSS ជាលស real-time | កែសម្រួលស្ទៃក្នុងទ្វារបង្ហាញដើម្បីមើលលទ្ធផលភ្លាមៗ | +| **Console** | មើលសារបញ្ហា និងសាកល្បង JavaScript | ដោះស្រាយបញ្ហា និងសាកល្បងកូដ | +| **នីតិវិធីបណ្តាញ** | តាមដានរបៀបធនធានត្រូវបានផ្ទុក | ធ្វើឲ្យប្រសើរប្រសិទ្ធភាព និងពេលវេលាបន្ថែមចំណាយក្នុងការផ្ទុក | +| **កម្មវិធីពិនិត្យការចូលប្រើបាន** | សាកល្បងការរចនាដែលរួមបញ្ចូល | ធានាថាតំបន់គេហទំព័ររបស់អ្នកអាចប្រើបានសម្រាប់អ្នកប្រើគ្រប់គ្នា | +| **កម្មវិធីសមមូលឧបករណ៍** | មើលជាមុនលើទំហំអេក្រង់ផ្សេងៗ | សាកល្បងការរចនាដែលផ្តល់បទបញ្ចូលដោយគ្មានឧបករណ៍ច្រើន | + +#### កម្មវិធីរុករកដែលផ្តល់អនុសាសន៍សម្រាប់អភិវឌ្ឍន៍ + +- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** - DevTools ស្តង់ដារឧស្សាហកម្មជាមួយឯកសារពេញលេញ +- **[Firefox](https://developer.mozilla.org/docs/Tools)** - ឧបករណ៍ CSS Grid និងការចូលប្រើបានល្អឥតខ្ចោះ +- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - បង្កើតលើ Chromium ជាមួយធនធាន អ្នកអភិវឌ្ឍន្ទ Microsoft + +> ⚠️ **កុំភ្លេចសាកល្បង**៖ តែងតែសាកល្បងគេហទំព័ររបស់អ្នកនៅក្នុងកម្មវិធីរុករកច្រើនៗ! អ្វីដែលធ្វើបានល្អក្នុង Chrome អាចមើលខុសគ្នានៅ Safari ឬ Firefox។ អ្នកអភិវឌ្ឍពហុជំនាញពិនិត្យនៅក្នុងកម្មវិធីរុករកធំៗទាំងអស់ដើម្បីធានាបទពិសោធន៍ប្រើប្រាស់សរុបកន្លង។ + +### ឧបករណ៍បន្ទាត់បញ្ជា៖ ទ្វារចូលរបស់អ្នកក្នុងការជាមនុស្សវីរបុរសអភិវឌ្ឍន៍ + +មើលទៅ តោះយកពេលក្លាយជាផ្នែកពេញចិត្តស្មោះត្រង់អំពីបន្ទាត់បញ្ជា ព្រោះខ្ញុំចង់ឲ្យអ្នកស្តាប់ពីនរណាម្នាក់ដែលយល់អារម្មណ៍របស់វា ពេលខ្ញុំបានមើលវាលើកដំបូង — របារក្រហមខ្មៅភ្លឺរះក្រហម — ខ្ញុំបានគិតថា "ទេ! មិនចាំបាច់! វាហាក់ដូចជាសុបិន្តភាគទី១៩៨០ និងខ្ញុំមិនមានប្រាជ្ញាគ្រប់គ្រាន់សម្រាប់វានោះទេ!" 😅 + +តែកន្លែងនេះកាលណាខ្ញុំចង់ឲ្យអ្នកដឹងថាខ្ញុំចង់ប្រាប់អ្នកឥឡូវនេះ៖ បន្ទាត់បញ្ជាគឺមិនភ័យសោះទេ — វាជាផ្លូវដែលមានការទំនាក់ទំនងផ្ទាល់មកកុំព្យូទ័ររបស់អ្នក។ គិតវាដូចជាការត្រូវបញ្ជាទិញម្ហូបតាមកម្មវិធីបង្ហាញរូបភាព និងម៉ឺនុយដែលងាយស្រួល ទល់នឹងការចូលទៅភោជនីយដ្ឋានដែលអ្នកចូលចិត្តដែលបំប៉នចេះច្បាប់ហើយអាចធ្វើម្ហូបល្អដោយឲ្យអ្នកនិយាយ "ជំហានឲ្យខ្ញុំភ្ញាក់ផ្អើលទៅជាមួយអ្វីមួយរីករាយ"។ + +បន្ទាត់បញ្ជាគឺជាកន្លែងដែលអ្នកអភិវឌ្ឍន៍ត្រូវការដើម្បីមានអារម្មណ៍ដូចជាគណៈកម្មការតន្ត្រីមួយ។ អ្នកវាយពាក្យបញ្ជាដូចរឿងមន្ត (សូមចាំថាវាជាបញ្ជា ប៉ុន្តែគេមានអារម្មណ៍ជាមន្ត!), ចុច enter ហើយស្ទើរតែភ្លាម – អ្នកបានបង្កើតរចនាសម្ព័ន្ធគម្រោង ពីការដំឡើងឧបករណ៍មានអំណាចពីជុំវិញពិភពលោក ឬដាក់កម្មវិធីរបស់អ្នកនៅលើអ៊ីនធឺណិតសម្រាប់មនុស្សរាប់លានឲ្យមើល។ បន្ទាប់ពេលអ្នកទទួលបានរសជាតិដំបូងនៃអំណាចនោះ វាគឺជាការចាប់ផ្តើមដែលគួរឲ្យញញឹមពិតមែន! + +**ហេតុអ្វីបានជា បន្ទាត់បញ្ជា នឹងក្លាយជាឧបករណ៍ដែលអ្នកចូលចិត្ត៖** + +ក្នុងខណៈដែលផ្ទៃមុខក្រាហ្វិកល្អសម្រាប់ការងារច្រើន បន្ទាត់បញ្ជាមានភាពលេចធ្លោក្នុងការអូតូម៉ាស៊ីន ពិតប្រាកដ និងលឿន។ ឧបករណ៍អភិវឌ្ឍច្រើនគឺប្រើប្រាស់ដោយផ្ទាល់តាមបន្ទាត់បញ្ជា ហើយការរៀនប្រើវាឱ្យមានប្រសិទ្ធភាពអាចបង្កើនផលិតភាពរបស់អ្នកយ៉ាងខ្លាំង។ + +```bash +# ជំហ៊ានទី ១៖ បង្កើត និងហែកទិសទៅថតគម្រោង +mkdir my-awesome-website +cd my-awesome-website +``` + +**អ្វីដែលកូដនេះធ្វើ៖** +- **បង្កើត**ថតថ្មីឈ្មោះ "my-awesome-website" សម្រាប់គម្រោងរបស់អ្នក +- **បញ្ចូល**ទៅក្នុងថតថ្មីដែលបង្កើតដើម្បីចាប់ផ្តើមធ្វើការ + +```bash +# ជំហានទី 2: បង្កើតគម្រោងជាមួយ package.json +npm init -y + +# តំឡើងឧបករណ៍អភិវឌ្ឍន៍ទំនើបៗ +npm install --save-dev vite prettier eslint +npm install --save-dev @eslint/js +``` + +**ជំហាននិម្មិតនេះកំពុងធ្វើអ្វី៖** +- **ចាប់ផ្តើម**គម្រោង Node.js ថ្មីដោយប្រើការកំណត់លំនាំ `npm init -y` +- **ដំឡើង** Vite ជាឧបករណ៍សាងសង់ទំនើបសម្រាប់អភិវឌ្ឍន៍លឿន និងបង្កើតផលិតផល +- **បន្ថែម** Prettier សម្រាប់បង្ហាញទ្រង់ទ្រាយកូដដោយស្វ័យប្រវត្តិ និង ESLint សម្រាប់ពិនិត្យគុណភាពកូដ +- **ប្រើ**ស្លាក `--save-dev` ដើម្បីសម្គាល់ថាវាជាឧបករណ៍អភិវឌ្ឍន៍ប៉ុណ្ណោះ + +```bash +# ជំហានទី 3: បង្កើតរចនាសម្ព័ន្ធគម្រោង និងឯកសារ +mkdir src assets +echo 'My Site

Hello World

' > index.html + +# ចាប់ផ្តើមម៉ាស៊ីនមេអភិវឌ្ឍនា +npx vite +``` + +**នៅលើគេមាន៖** +- **រៀបចំ**គម្រោងដោយបង្កើតថតបំបែកសម្រាប់កូដប្រភព និងទ្រព្យសម្បត្តិ +- **បង្កើត**ឯកសារ HTML មូលដ្ឋានដែលមានរចនាសម្ព័ន្ធឯកសារ​ត្រឹមត្រូវ +- **ចាប់ផ្តើម**ម៉ាស៊ីនបម្រើអភិវឌ្ឍន៍ Vite សម្រាប់ការផ្ទុកឡើងឡើងវិញអ៊ីឡិចត្រូនិច និងជំនួសម៉ូឌុលកម្ដៅ + +#### ឧបករណ៍បន្ទាត់បញ្ជាសម្រាប់អភិវឌ្ឍន៍វេបសាយ + +| ឧបករណ៍ | គោលបំណង | ហេតុអ្វីអ្នកត្រូវការ | +|------|---------|-----------------| +| **[Git](https://git-scm.com/)** | ការត្រួតពិនិត្យជំនាន់ | តាមដានការផ្លាស់ប្តូរ ធ្វើការរួមគ្នា និងបម្រុងទុកការងារ | +| **[Node.js & npm](https://nodejs.org/)** | រត់ JavaScript និងគ្រប់គ្រងកញ្ចប់ | រត់ JavaScript នៅក្រៅកម្មវិធីរុករក ដំឡើងឧបករណ៍អភិវឌ្ឍទំនើប | +| **[Vite](https://vitejs.dev/)** | ឧបករណ៍សាងសង់ និងម៉ាស៊ីនបម្រើអភិវឌ្ឍន៍ | អភិវឌ្ឍន៍លឿនជាពិសេសជាមួយការជំនួសម៉ូឌុលកម្ដៅ | +| **[ESLint](https://eslint.org/)** | គុណភាពកូដ | ស្វ័យប្រវត្តិតាមរក និងកែប្រែបញ្ហាកូដ JavaScript | +| **[Prettier](https://prettier.io/)** | ទ្រង់ទ្រាយកូដ | រក្សារបែបកូដឲ្យជាប់ច្រក និងអាចអានបានងាយ | + +#### ជម្រើសជាមូលដ្ឋានតាមវេទិកា + +**Windows:** +- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** - តាមបែបទំនើប និងមានមុខងារច្រើន +- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 -បរិស្ថានស្គ្រីបមានអំណាច +- **[Command Prompt](https://learn.microsoft.com/windows-server/administration/windows-commands/windows-commands)** 💻 - បន្ទាត់បញ្ជាប្រពៃណីWindows + +**macOS:** +- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 -កម្មវិធីបន្ទាត់បញ្ជាបញ្ចូលរួច +- **[iTerm2](https://iterm2.com/)** - បន្ទាត់បញ្ជាដែលបានបង្កើតឡើងជាមួយមុខងារវិជ្ជមាន + +**Linux:** +- **[Bash](https://www.gnu.org/software/bash/)** 💻 - សែល Linux ស្ដង់ដារ +- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** - ឧបករណ៍និម្មិតបន្ទាត់បញ្ជាពេញលេញ + +> 💻 = មានតម្លើងរួចក្នុងប្រព័ន្ធប្រតិបត្តិការ + +> 🎯 **ផ្លូវរៀន**៖ ចាប់ផ្តើមជាមួយបញ្ជាយដូចជា `cd` (ផ្លាស់ទីថត), `ls` ឬ `dir` (បញ្ជីឯកសារ), និង `mkdir` (បង្កើតថត)។ អនុវត្តជាមួយបញ្ជាសម្រាប់វេហ្បូរកម្មវិធីទំនើបដូចជា `npm install`, `git status`, និង `code .` (បើកថតបច្ចុប្បន្នក្នុង VS Code)។ ពេលដែលអ្នកចេះល្អ អ្នកនឹងយល់ពីបញ្ជាឡើងជម្រៅ និងបច្ចេកទេសរៀបចំស្វ័យប្រវត្តិ។ + +### ឯកសារណែនាំ៖ មិត្តអ្នករៀនដែលមានស្រាប់របស់អ្នក + +យ៉ាងហោចណាស់ ខ្ញុំចង់ចែករំលែកអាថ៌កំបាំងមួយដែលធ្វើឲ្យអ្នកមានអារម្មណ៍ល្អពេញលេញក្នុងការជាអ្នកចាប់ផ្តើម៖ អ្នកអភិវឌ្ឍមានបទពិសោធន៍ភាគច្រើនចំណាយពេលភាគច្រើនក្នុងការអានឯកសារណែនាំ។ ហើយវាមិនមកពីព្រោះពួកគេទាំងអស់មិនដឹងអ្វីទាំងអស់ទេ — វាជាសញ្ញានៃការបញ្ញា! + +គិតឯកសារណែនាំដូចជាគ្រូបង្រៀនរដូវក្ដៅ សំណាងល្អនិងមានប្រាជ្ញាដែលអាចស្វាគមន៍អ្នកត круглម៉ោង។ បញ្ហាដែលអ្នក មិនដឹងថ្ងៃ ២ ត្រឹមម៉ោង ២ ព្រឹក? ឯកសារណែនាំនៅទីនោះជាមួយកន្លែងទន់ភ្លន់ និងចម្លើយត្រឹមត្រូវដែលអ្នកត្រូវការ។ ចង់រៀនអំពីមុខងារថ្មីៗដែលមនុស្សទាំងអស់និយាយ? ឯកសារណែនាំមានគំនូរសំណុំ និងប្រើប្រាស់អនឡាញ។ កំពុងព្យាយាមយល់ថាហេតុអ្វីអ្វីមួយដំណើរការដូច្នេះ? អ្នកគួរតែដឹងថា ឯកសារណែនាំរួចរាល់ក្នុងការបង្រៀនអ្នកយល់ប្រកបដោយន័យ! + +នេះជារឿងដែលផ្លាស់ប្តូរយោបល់ខ្ញុំសម្រាប់មហិច្ឆតាវេបសាយ៖ ពិភពអភិវឌ្ឍន៍វេបដំណើរយ៉ាងលឿន និងគ្មានមនុស្សណា (ពិតៗគ្មានទេ!) រក្សាទុកអ្វីៗទាំងអស់ក្នុងចម្លងចងចាំ។ ខ្ញុំបានមើលអ្នកអភិវឌ្ឍវ័យជំនាន់ចាស់​ដែលមានបទពិសោធអោយជាង ១៥ ឆ្នាំ មើលសំណុំពាក្យផងដែរ ហើយអ្នកដឹងទេ? វាមិនអាក្រក់ទេ – វាគឺជាអំពើបញ្ញា! វាមិនមែនជារឿងផ្ដេកផ្ដួច ចាំបាច់ចាំបាន ១០០% ទាំងអស់ទេ ប៉ុន្តែជាអំពើដឹងជ្រាបកន្លែងស្វែងរកចម្លើយដែលជាក់ស្តែងបានយ៉ាងលឿន ហើយយល់ពីរបៀបប្រើប្រាស់របស់វា។ + +**កន្លែងដែលអស្ចារ្យត្រូវកើតឡើង៖** + +អ្នកអភិវឌ្ឍវិជ្ជាជីវៈចំណាយពេលយ៉ាងច្រើនក្នុងការអានឯកសារណែនាំ — មិនមែនព្រោះពួកគេទាំងអស់មិនដឹងអ្វីទេ ប៉ុន្តែព្រោះពិភពអភិវឌ្ឍវេបផ្លាស់ប្ដូរយ៉ាងលឿន ដូច្នេះការសិក្សាបន្តគឺទាមទារជានិច្ច។ ឯកសារណែនាំល្អជួយអ្នកយល់បានមិនត្រឹមតែ *របៀប* ប្រើអ្វីមួយទេ ប៉ុន្តែ *ហេតុផល* និង *ពេលវេលា* ត្រូវប្រើវា។ + +#### ឧបករណ៍ឯកសារណែនាំចម្បងៗ + +**[Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web)** +- ស្តង់ដារពិបាកសម្រាប់ឯកសារបច្ចេកទេសវេប +- មគ្គុទេសក៍ពេញលេញសម្រាប់ HTML, CSS និង JavaScript +- រួមបញ្ចូលព័ត៌មានអំពីការចូលរួមកម្មវិធីរុករក +- មានឧទាហរណ៍ជាក់ស្តែង និងការបង្ហាញអន្តរកម្ម + +**[Web.dev](https://web.dev)** (ដោយ Google) +- គោលការណ៍អភិវឌ្ឍវេបសម័យទំនើប +- មគ្គុទេសក៍កែលម្អប្រសិទ្ធិភាព +- ស្ថាបត្យកម្មឈានមុខ និងគោលការណ៍រចនាបំណងចូលរួម +- ករណីវិជ្ជមានពីគម្រោងពិត + +**[Microsoft Developer Documentation](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers)** +- ធនធានអភិវឌ្ឍកម្មវិធីកម្មវិធីរុករក Edge +- មគ្គុទេសក៍កម្មវិធីវេបអេបប្រើប្រាស់ច្រើនជាប់ +- វិធានការអភិវឌ្ឍតាមវេទិកាផ្សេងៗ + +**[Frontend Masters Learning Paths](https://frontendmasters.com/learn/)** +- មេរៀនរៀបចំមានរចនាសម្ព័ន្ធ +- វីឌីអូជាដៃពីអ្នកជំនាញឧស្សាហកម្ម +- ការហាត់ការសរសេរកូដពិតប្រាកដ + +> 📚 **យុទ្ធសាស្រ្តសិក្សា**៖ កុំព្យាយាមចងចាំឯកសារណែនាំទាំងមូល — តែត្រូវរៀនរបៀបរៀបចំវា។ គូសបរិច្ឆេទយោងដែលប្រើជាញឹកញាប់ ហើយហាត់ប្រើមុខងារស្វែងរកដើម្បីរកព័ត៌មានជាក់លាក់យ៉ាងរហ័ស។ + +### 🔧 **ពិសោធន៍ចំពោះឧបករណ៍៖ អ្វីដែលខុសគ្នាជាមួយអ្នក?** + +**យកពេលសម្រួលមួយ៖** +- ឧបករណ៍ណាដែលអ្នកអស់ចិត្តទុកដាក់ចង់សាកល្បងជាចម្បង? (គ្មានចម្លើយខុសទេ!) +- បន្ទាត់បញ្ជានៅតែមានអារម្មណ៍ភ័យខ្លាច ឬអ្នកចាប់អារម្មណ៍ចំពោះវា? +- អ្នកអាចនឹកស្រមៃប្រើ DevTools រុករកដើម្បីមើលនៅពីក្រោយមូលដ្ឋានគេហទំព័រដែលអ្នកចូលចិត្តបានទេ? + +```mermaid +pie title "ពេលវេលាអ្នកអភិវឌ្ឍចំណាយជាមួយឧបករណ៍" + "កូដក្រុមហ៊ុន" : 40 + "ការធ្វើតេស្តកម្មវិធីរុករក" : 25 + "បញ្ជាទាំងបន្ទាត់" : 15 + "ការអានឯកសារ" : 15 + "ការដំណើរការត្រួតពិនិត្យកំហុស" : 5 +``` +> **ការជ្រាបជ្រាបសប្បាយ**៖ អ្នកអភិវឌ្ឍច្រើនក្នុងសំណុំបឺកឧបករណ៍កូដរបស់ពួកគេប្រហែល ៤០% ពេលវេលា ប៉ុន្តែចំណាយពេលជាច្រើនក្នុងការសាកល្បង រៀន និងដោះស្រាយបញ្ហា។ ការប្រមូលផ្តុំកូដគឺមិនមែនតែក្នុងការសរសេរកូដទេ — ផ្ទុយទៅវិញ វាជាការអភិវឌ្ឍបទពិសោធន៍! + +✅ **អាហារសម្រាប់គិត**៖ នេះជារឿងគួរឱ្យចាប់អារម្មណ៍សម្រាប់គិត — តើយុទ្ធសាស្រ្តសម្រាប់សាងសង់គេហទំព័រ (អភិវឌ្ឍន៍) អាចខុសពីឧបករណ៍សម្រាប់រចនាដូចម្តេច? វាស្រដៀងនឹងការខុសគ្នារវាងស្ថាបត្យករ ដែលរចនាប្រទេសដ៏ស្រស់ស្អាត និងអ្នកតម្កល់ដីដែលបង្កើតវា។ ពួកគេចាំបាច់ ប៉ុន្តែត្រូវការឧបករណ៍ខុសៗគ្នា! វាជារបៀបគិតដែលជួយឲ្យអ្នកមើលឃើញទិដ្ឋភាពធំសម្រាប់របៀបដែលគេហទំព័រមកម្នាក់ទៅជិត។ + +## ការប្រកួតប្រជែង GitHub Copilot Agent 🚀 + +ប្រើរបៀប Agent ដើម្បីបញ្ចប់ការប្រកួតខាងក្រោម៖ + +**ការពិពណ៌នា៖** ស្វែងសម្បទានៃកម្មវិធីកូដរូបភាពទំនើប ឬ IDE ហើយបង្ហាញពីរបៀបវាអាចធ្វើឲ្យការងារអភិវឌ្ឍរបស់អ្នកប្រសើរឡើង។ + +**ការស្នើសុំ៖** ជ្រើសកម្មវិធីកូដរបស់អ្នក ឬ IDE (ដូចជា Visual Studio Code, WebStorm, ឬ IDE នៅលើពពក)។ រាយបញ្ជីលក្ខណៈពិសេសឬបន្ថែមបីដែលជួយអ្នកសរសេរ ដោះស្រាយបញ្ហា ឬថែរក្សាកូដឲ្យមានប្រសិទ្ធភាពជាងមុន។ សម្រាប់នីមួយៗ ផ្តល់ការពិពណ៌ខ្លីពីរបៀបវាផ្តល់ផលប្រយោជន៍ដល់ការងាររបស់អ្នក។ + +--- + +## 🚀 ការប្រកួតប្រជែង + +**យល់ហើយ អ្នកត្រូវស្រោចស្រង់សំណួរដំបូងរបស់អ្នកទេ?** + +ឥឡូវនេះដែលអ្នកមានមូលដ្ឋានដ៏អស្ចារ្យនេះ ខ្ញុំមានការផ្សងព្រមមួយដែល នឹងជួយអ្នកឲ្យឃើញថាពិភពកម្មវិធីសរសេរកូដពិតជាគួរឲ្យចាប់អារម្មណ៍និងមានការផ្សេងគ្នាដូចម្តេច។ ហើយស្តាប់ — វាមិនមែនជាការសរសេរកូដនៅឡើយទេ ដូច្នេះកុំមានសំពាធណា! គិតថាខ្លួនអ្នកជាអ្នកស៊ើបអង្កេតភាសាកម្មវិធី នៅក្នុងការស៊ើបអង្កេតតំបន់ដំបូងដែលគួរឱ្យរំភើប! + +**បេសកកម្មរបស់អ្នក ប្រសិនបើអ្នកព្រមទទួល៖** +1. **ក្លាយជាអ្នកស្វែងរកភាសា**៖ ជ្រើសរើសភាសាកម្មវិធីបីយ៉ាងពី​លក្ខណៈផ្សេងៗ មួយឆ្លើយតបបង្កើតគេហទំព័រ មួយបង្កើតកម្មវិធីចល័ត មួយប្រែប្រួលទិន្នន័យសម្រាប់អ្នកវិទ្យាសាស្ត្រ។ រកឧទាហរណ៍នៃភាសាកម្មវិធីទាំងបីសម្រាប់ការងារងាយៗដូចគ្នាផង។ ខ្ញុំធានាអ្នកនឹងភ្ញាក់ផ្អើលចំពោះភាពខុសគ្នានៃរបៀបបង្ហាញខុសៗគ្នា ទោះបីដំណើរការតែមួយដដែលក៏ដោយ! + +2. **រកមើលរឿងប្រែប្រួលរបស់ពួកវា**៖ តើអ្វីដែលធ្វើឲ្យភាសា​នីមួយៗពិសេស? នេះជាការពិតបែបវីរុស — កម្មវិធីភាសាត្រូវបង្កើតឡើង ព្រោះនរណាមួយគិតថា "ដឹងទេ អាចមានគន្លងល្អប្រសើរជាងនេះសម្រាប់ដោះស្រាយបញ្ហាគ្រាន់តែនេះ"។ អ្នកអាចស្វែងយល់ពីបញ្ហានេះទេ? រឿងខ្លះគួរឲ្យចាប់អារម្មណ៍ពិតជាមិនធម្មតា! + +3. **ជួបប្រជុំសហគមន៍**៖ មើលថា សហគមន៍នៃភាសាបានស្វាគមន៍ អំណរខ្លាំងទេដូចម្តេច។ មានភាសាដែលមានអ្នកអភិវឌ្ឍរាប់លាន ចែករំលែកចំណេះដឹង និងជួយគ្នា ច្រើនឬតិចប៉ុន្តែមានភាពរឹងមាំនិងគាំទ្រខ្លាំង។ អ្នកនឹងរីករាយនឹងមើលស្ទីលជាញឹកញាប់របស់សហគមន៍នោះ! + +4. **តាមចិត្តរបស់អ្នក**៖ ភាសាណាដែលមានអារម្មណ៍ងាយស្រួលសម្រាប់អ្នកឥឡូវនេះ? កុំភ័យក្នុងការជ្រើសរើស “ល្អបំផុត” — តែត្រូវស្តាប់អារម្មណ៍របស់អ្នក! អ្នកមិនមានចម្លើយខុសទេ ហើយអ្នកបានរីករាយក្នុងការស្វែងរកវិញពេលក្រោយ។ + +**ការស៊ើបអង្កេតបន្ថែម**៖ ព្យាយាមស្វែងរក​ឃើញថាគេហទំព័រឬកម្មវិធីធំៗណាដែលបានបង្កើតជាមួយភាសានីមួយៗ។ ខ្ញុំធានាអ្នកនឹងភ្ញាក់ផ្អើលមើលថា Instagram, Netflix ឬហ្គេមចល័តដែលអ្នកមិនអាចផ្អាកលេងបាន វាអាចត្រូវបានបង្កើតដោយភាសាណាដែរ! + +> 💡 **កុំភ្លេច**៖ អ្នកមិនត្រូវក្លាយជាអ្នកជំនាញភាសាណាមួយថ្ងៃនេះទេ។ អ្នកគ្រាន់តែស្វែងយល់បរិស្ថានមុន ដើម្បីសម្រេចចិត្តថាអ្នកចង់ចាប់ផ្តើមនៅណា។ ចំណាយពេលរីករាយជាមួយវា ហើយអោយចិត្តក្មេងរបស់អ្នកដឹកនាំ! + +## មករីករាយជាមួយអ្វីដែលអ្នកបានរកឃើញ! + +លើកដំបូង អ្នកបានទទួលយកព័ត៌មានអស្ចារ្យច្រើនណាស់ថ្ងៃនេះ! ខ្ញុំមានអារម្មណ៍រីករាយពិតប្រាកដ ហើយរំពឹងថាអ្នកមានតម្លៃចំពោះដំណើរដ៏អស្ចារ្យនេះ។ ហើយចងចាំមិនមែនជាការប្រលងដែលអ្នកត្រូវតែបានត្រឹមត្រូវទាំងស្រុងទេ។ វាមានទំនងជាការប្រារព្ធពិធីអបអរសាទរអំពីអ្វីដែលអ្នកបានរៀនពីពិភពដែលគួរឱ្យចាប់អារម្មណ៍នេះ! + +[ចូលប្រឡងបន្ទាប់មេរៀននេះ](https://ff-quizzes.netlify.app/web/) + +## ពិនិត្យឡើងវិញ និងសិក្សាឯករាជ្យ + +**ចំណាយពេលរីករាយជាមួយការស្វែងយល់!** +អ្នកបានគ្របដណ្តប់ច្រើនណាស់ថ្ងៃនេះ ហើយវាជារឿងដែលគួរអោយ गर्व! ឥឡូវនេះជាផ្នែកដែលគួរឱ្យសប្បាយ – ការស្វែងយល់ពីប្រធានបទដែលបង្កើតការចាប់អារម្មណ៍របស់អ្នក។ ចងចាំថា វា​មិនមែន​ជា​ការងារផ្ទះ​ទេ – វាជាការផ្សងព្រេង! + +**ជ្រេ្ជះជ្រែងជាងនេះទៀតនូវអ្វីដែលធ្វើឱ្យអ្នករំភើប៖** + +**អនុវត្តន៍ភាសាកម្មវិធី៖** +- ទៅកាន់គេហទំព័រផ្លូវការរបស់ភាសា ២-៣ ដែលទាក់ទាញចិត្តអ្នក។ រាល់ភាសាម្នាក់មានបុគ្គលិកលក្ខណៈ និងរឿងរ៉ាវផ្ទាល់ខ្លួន! +- សាកល្បងលេងកូដតាមអនឡាញដូចជា [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), ឬ [Replit](https://replit.com/). កុំខ្លាចសាកល្បង – អ្នកមិនអាចបំបែកអ្វីក៏បានទេ! +- អានអំពីរបៀបដែលភាសាដែលអ្នកចូលចិត្តបានកើតឡើង។ ទីបំផុត រឿងនិទានដើមផងណាស់គឺគួរឲ្យចាប់អារម្មណ៍ និងជួយឲ្យអ្នកយល់ដឹងថាហេតុអ្វីភាសានីមួយៗធ្វើការបែបនេះ។ + +**ធ្វើឲ្យស្រួលចិត្តជាមួយឧបករណ៍ថ្មី៖** +- ទាញយក Visual Studio Code ប្រសិនបើអ្នកមិនទាន់មានទេ – វាឥតគិតថ្លៃ និងអ្នកនឹងស្រលាញ់វា! +- ចំណាយពេលប៉ុន្មាននាទីស្វែងរក Extensions នៅក្នុង marketplace។ វាដូចជាហាង app សម្រាប់កម្មវិធីកូដរបស់អ្នក! +- បើក Developer Tools របស់ browser របស់អ្នក ហើយចុចលេង។ កុំបារម្ភអំពីការយល់ដឹងគ្រប់យ៉ាង – តែសូមស្គាល់អ្វីដែលមាននៅទីនោះ។ + +**ចូលរួមជាផ្នែកក្រុមសហគមន៍៖** +- តាមដានសហគមន៍អ្នកអភិវឌ្ឍមួយចំនួននៅ [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), ឬ [GitHub](https://github.com/). សហគមន៍កម្មវិធីកំពុងស្វាគមន៍អ្នកថ្មីដ៏សប្បាយរីករាយ! +- មើលវីដេអូបណ្តុះបណ្តាលកូដសម្រាប់អ្នកចាប់ផ្តើមនៅ YouTube. មានអ្នកបង្កើតល្អៗជាច្រើន ដែលចាំបានពីអារម្មណ៍នៃការចាប់ផ្តើម។ +- ពិចារណាចូលរួមជាមួយការជួបជុំក្នុងតំបន់ឬសហគមន៍អនឡាញ។ ជំនាញមិនមែនអត់គ្នា អ្នកអភិវឌ្ឍស្រឡាញ់ការជួយអ្នកថ្មី! + +> 🎯 **សូមស្តាប់ ខ្ញុំចង់ឲ្យអ្នកចងចាំ**៖ អ្នកមិនត្រូវរីកចម្រើនជាជំនាញកូដរហ័សទេ! ឥឡូវនេះ អ្នកកំពុងស្គាល់ភពលោកថ្មីដ៏អស្ចារ្យដែលអ្នកនឹងចូលរួម។ សូមចំណាយពេលរបស់អ្នក រីករាយនឹងការផ្សងព្រេង ហើយចងចាំថា – អ្នកអភិវឌ្ឍម្នាក់ៗដែលអ្នកគោរព គឺធ្លាប់អង្គុយនៅត្រង់កន្លែងដែលអ្នកកំពុងនៅពេលនេះ ដើម្បីមានក្តីរំភើប និងខ្លះៗអាចនឹកស្មារតីច្រើន។ នេះជារឿងធម្មតា និងមានន័យថាអ្នកកំពុងធ្វើបានត្រឹមត្រូវ! + +## Assignment + +[Reading the Docs](assignment.md) + +> 💡 **ជំនួយតិចសម្រាប់ការងាររបស់អ្នក**៖ ខ្ញុំចង់ឃើញអ្នកស្វែងរកឧបករណ៍មួយចំនួនដែលយើងមិនទាន់គ្របដណ្តប់ទេ! ដោះលែងកម្មវិធីកែសម្រួល browser និងឧបករណ៍ command line ដែលយើងបានបញ្ចេញរួចហើយ – មានអក្ខរាវិទ្យាមុនការអភិវឌ្ឍដ៏អស្ចារ្យមួយទៀតដែលរង់ចាំការស្វែងរក។ សូមស្វែងរកឧបករណ៍ដែលបានថែរក្សាទាញយក និងមានសហគមន៍រស់រវើក និងជួយគ្នា (ទូទៅមានមេរៀនល្អបំផុត និងមនុស្សគាំទ្រល្អបំផុតទស្សនាថាត្រូវការជំនួយ)។ + +--- + +## 🚀 អធិភាពដំណើរការកម្មវិធីរបស់អ្នក + +### ⚡ **អ្វីដែលអ្នកអាចធ្វើបានក្នុង ៥ នាទីខាងមុខ** +- [ ] គូសទុកគេហទំព័រភាសាកម្មវិធី ២-៣ ដែលទាក់ទាញអ្នក +- [ ] ទាញយក Visual Studio Code ប្រសិនបើអ្នកមិនទាន់មានទេ +- [ ] បើក Developer Tools របស់ browser (F12) និងចុចលេងគេហទំព័រណាមួយ +- [ ] ចូលរួមជាមួយសហគមន៍កម្មវិធីមួយ (Dev.to, Reddit r/webdev, ឬ Stack Overflow) + +### ⏰ **អ្វីដែលអ្នកអាចបំពេញបានក្នុង​មួយម៉ោងនេះ** +- [ ] បញ្ចប់ការប្រលងបន្ទាប់មកកម្មវិធី ហើយពិចារណាពីចម្លើយរបស់អ្នក +- [ ] ដំឡើង VS Code ជាមួយផ្នែកបន្ថែម GitHub Copilot +- [ ] សាកល្បងឧទាហរណ៍ "Hello World" ក្នុងភាសាកម្មវិធី ២ ផ្សេងគ្នាផ្សេងគ្នាផ្សេងគ្នាផ្សេងគ្នាភាសាក្នុងអនឡាញ +- [ ] មើលវីដេអូ "មួយថ្ងៃជាអ្នកបង្កើតកម្មវិធី" នៅ YouTube +- [ ] ចាប់ផ្តើមស្វែងរករឿងរ៉ាវភាសាកម្មវិធីរបស់អ្នក (ពីលំហាត់) + +### 📅 **ការផ្សងព្រេងរយៈសប្តាហ៍របស់អ្នក** +- [ ] បញ្ចប់ការងារនិងស្វែងរកឧបករណ៍អភិវឌ្ឍ ៣ ថ្មី +- [ ] តាមដានអ្នកអភិវឌ្ឍ ៥ នាក់ ឬគណនីកម្មវិធីនៅបណ្តាញសង្គម +- [ ] ព្យាយាមបង្កើតអ្វីមួយតូចនៅ CodePen ឬ Replit (សូម្បីតែនិយាយ "Hello, [Your Name]!") +- [ ] អានអត្ថបទប្លុកអ្នកអភិវឌ្ឍម្នាក់ពីគោលដៅកម្មវិធីរបស់គាត់ +- [ ] ចូលរួមជួបមិត្តក្នុងការប្រជុំវីដេអូឬមើលការនិយាយកម្មវិធី +- [ ] ចាប់ផ្តើមរៀនភាសាកម្មវិធីដែលអ្នកជ្រើសរើសជាមួយមេរៀនអនឡាញ + +### 🗓️ **ការបម្លែងរយៈខែរបស់អ្នក** +- [ ] បង្កើតគម្រោងតូចដំបូងរបស់អ្នក (ច្រើនពេកគេហទំព័រពេញលេញក៏រាប់បញ្ចូល!) +- [ ] ចូលរួមក្នុងគម្រោង open-source (ចាប់ផ្តើមពីការជួសជុលឯកសារ) +- [ ] ក្រូវជាម៉ង់ទ័រអ្នកដែលទើបចាប់ផ្តើមដំណើរការកម្មវិធី +- [ ] បង្កើតគេហទំព័រផ្ទាល់ខ្លួនរបស់អ្នក ជាអ្នកអភិវឌ្ឍ +- [ ] ភ្ជាប់ជាមួយសហគមន៍អ្នកអភិវឌ្ឍក្នុងតំបន់ ឬក្រុមសិក្សា +- [ ] ចាប់ផ្តើមផែនការពហិការអនាគតនៃការរៀនរបស់អ្នក + +### 🎯 **ការត្រួតពិនិត្យចុងក្រោយ** + +**មុនពេលអ្នកបន្ត សូមចំណាយពេលខ្លីអបអរសាទរ៖** +- តើអ្វីមួយទាក់ទងកម្មវិធីដែលធ្វើឱ្យអ្នករំភើបថ្ងៃនេះ? +- តើឧបករណ៍ ឬគោលន័យណាមួយដែលអ្នកចង់ស្វែងរកជាមុនដំបូង? +- តើអ្នកមានអារម្មណ៍ដូចម្តេចនៅពេលចាប់ផ្តើមដំណើរការកម្មវិធីនេះ? +- តើសំណួរណាមួយដែលអ្នកចង់សួរអ្នកអភិវឌ្ឍឥឡូវនេះ? + +```mermaid +journey + title ឈានដល់ភាពទទួលខុសត្រូវរបស់អ្នក + section ថ្ងៃនេះ + គំនិតចង់ដឹង: 3: You + មិនទាន់ដឹង: 4: You + រំភើប: 5: You + section សប្តាហ៍នេះ + កំពុងស្ទង់មើល: 4: You + កំពុងរៀន: 5: You + កំពុងភ្ជាប់ទំនាក់ទំនង: 4: You + section ខែក្រោយ + កំពុងសាងសង់: 5: You + មានទំនុកចិត្ត: 5: You + ជួយអ្នកផ្សេង: 5: You +``` +> 🌟 **ចងចាំ**៖ អ្នកជំនាញទាំងអស់ធ្លាប់ជាអ្នកចាប់ផ្តើម។ អ្នកអភិវឌ្ឍជាន់ខ្ពស់ទាំងឡាយធ្លាប់មានអារម្មណ៍ដូចអ្នកឥឡូវនេះ – រំភើប អាចមានបន្តិចបន្តួចស្ទើរច្របូកច្របល់ និងចាប់អារម្មណ៍ថាអ្វីទៅទៅបាន។ អ្នកកំពុងនៅក្នុងក្រុមដ៏អស្ចារ្យ ហើយដំណើរនេះនឹងអស្ចារ្យណាស់។ សូមស្វាគមន៍មកភពលោកដ៏អស្ចារ្យនៃកម្មវិធី! 🎉 + +--- + + +**ការសម្គាល់**៖ +ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលយើងខិតខំសម្រាប់ភាពត្រឹមត្រូវ សូមយល់ឲ្យបានថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុសឬភាពចម្លងមិនពិតប្រាកដ។ ឯកសារដើមជាភាសាគោលគួរត្រូវបានគេចាត់ទុកជាធនធានច្បាស់លាស់។ សម្រាប់ព័ត៌មានសំខាន់ ការបកប្រែដោយអ្នកជំនាញមនុស្សត្រូវបានកាន់តែផ្តល់អាទិភាព។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការប្រែប្រួលមិនត្រឹមត្រូវណាមួយដែលកើតមានពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។ + \ No newline at end of file diff --git a/translations/km/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md b/translations/km/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md new file mode 100644 index 0000000000..95d6341a42 --- /dev/null +++ b/translations/km/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md @@ -0,0 +1,69 @@ +# Assignment: ស្វែងយល់អំពីឧបករណ៍អភិវឌ្ឍន៍វែបទំនើប + +## Instructions + +ប្រព័ន្ធអភិវឌ្ឍន៍វែបមានឧបករណ៍ជាច្រើនដែលមានលក្ខណៈឯកទេសជួយឲ្យអ្នកអភិវឌ្ឍន៍បង្កើត សាកល្បង និងថែទាំកម្មវិធីបានយ៉ាងមានប្រសិទ្ធភាព។ ភារកិច្ចរបស់អ្នកគឺស្រាវជ្រាវ និងយល់ដឹងអំពីឧបករណ៍ដែលបំពេញជាមួយនឹង那些已涵盖于本课程中的工具。 + +**បេសកកម្មរបស់អ្នក:** ជ្រើសរើស **បីឧបករណ៍** ដែល **មិនបានរៀបរាប់ក្នុងមេរៀននេះ** (ជៀសវាងការជ្រើសរើសកម្មវិធីកែសម្រួលកូដ, កម្មវិធីរុករក ឬឧបករណ៍បញ្ជារដែលបានរាប់បញ្ចូលរួច)។ ផ្តោតលើឧបករណ៍ដែលដោះស្រាយបញ្ហាផ្សេងៗក្នុងចរន្តការងារអភិវឌ្ឍន៍វែបទំនើប។ + +**សម្រាប់ឧបករណ៍នីមួយៗ សូមផ្តល់:** + +1. **ឈ្មោះឧបករណ៍ និងប្រភេទ** (ឧ. "Figma - ឧបករណ៍រចនា" ឬ "Jest - ស៊ុមសាកល្បង") +2. **គោលបំណង និងអត្ថប្រយោជន៍** - ពន្យល់ក្នុង 2-3 ប្រយោគថាហេតុអ្វីអ្នកអភិវឌ្ឍន៍វែបប្រើឧបករណ៍នេះ និងបញ្ហាអ្វីដែលវាដោះស្រាយ +3. **តំណខ្សែឯកសារផ្លូវការសម្រាប់ឧបករណ៍** - ផ្តល់តំណខ្សែទៅឯកសារផ្លូវការឬគេហទំព័រនៃឧបករណ៍ (មិនមែនតំណបណ្ដាញបង្រៀនទេ) +4. **បរិបទពិភពលោកពិត** - រាយការណ៍ពីវិធីមួយឧបករណ៍នេះសមរម្យក្នុងចរន្តការងារអភិវឌ្ឍន៍វិជ្ជាជីវៈ + +## ប្រភេទឧបករណ៍ដែលបានផ្តល់អនុសាសន៍ + +សូមពិចារណាស្វែងយល់ពីឧបករណ៍ពីប្រភេទខាងក្រោម៖ + +| ប្រភេទ | ឧទាហរណ៍ | តួនាទីរបស់វា | +|----------|----------|--------------| +| **ឧបករណ៍បង្កើត** | Vite, Webpack, Parcel, esbuild | បញ្ចូល និងបង្រួមកូដសម្រាប់ផលិតកម្មជាមួយម៉ាស៊ីនម៉ូដអភិវឌ្ឍន៍លឿន | +| **ស៊ុមសាកល្បង** | Vitest, Jest, Cypress, Playwright | ធានាគូដដំណើរការប្រក្រតី និងចាប់កំហុសមុនការចេញផ្សាយ | +| **ឧបករណ៍រចនា** | Figma, Adobe XD, Penpot | បង្កើតគំរូ, ព្រីប្រតូតាយ និងប្រព័ន្ធរចនាដោយរួមចំណែកគ្នា | +| **វេទិការចាប់ផ្តើមផ្សាយ** | Netlify, Vercel, Cloudflare Pages | អភិរក្ស និងចែកចាយគេហទំព័រជាមួយ CI/CD ស្វ័យប្រវត្តិ | +| **ការគ្រប់គ្រងកំណែ** | GitHub, GitLab, Bitbucket | គ្រប់គ្រងការផ្លាស់ប្តូរកូដ, ការសហការហើយចរន្តការងារ | +| **ស៊ុម CSS** | Tailwind CSS, Bootstrap, Bulma | លឿនបំផុតរចនាស្ទាយជាមួយបណ្ណាល័យក្រុមភាពបំពាក់រួចរាល់ | +| **អ្នកគ្រប់គ្រងកញ្ចប់** | npm, pnpm, Yarn | ដំឡើង និងគ្រប់គ្រងបណ្ណាល័យកូដ និងការពឹងផ្អែក | +| **ឧបករណ៍គ្រប់គ្រងការចូលដំណើរការ** | axe-core, Lighthouse, Pa11y | សាកល្បងរចនាបានរួមចូល និងគោរពតាម WCAG | +| **អភិវឌ្ឍ API** | Postman, Insomnia, Thunder Client | សាកល្បង និងចេញផ្សាយឯកសារសម្រាប់ API ក្នុងដំណើរការ | + +## ទម្រង់តម្រូវការ + +**សម្រាប់ឧបករណ៍នីមួយៗ៖** +``` +### [Tool Name] - [Category] + +**Purpose:** [2-3 sentences explaining why developers use this tool] + +**Documentation:** [Official website/documentation link] + +**Workflow Integration:** [1 sentence about how it fits into development process] +``` + +## គោលនយោបាយគុណភាព + +- **ជ្រើសរើសឧបករណ៍នាពេលបច្ចុប្បន្ន**: ជ្រើសឧបករណ៍ដែលត្រូវបានថែរក្សាដោយសកម្ម និងប្រើប្រាស់យ៉ាងទូលំទូលាយនៅឆ្នាំ ២០២៥ +- **ផ្តោតលើតម្លៃ**: ពន្យល់អត្ថប្រយោជន៍ជាក់លាក់មិនមែនត្រឹមតែអ្វីដែលឧបករណ៍ធ្វើបានទេ +- **បរិបទវិជ្ជាជីវៈ**: ការពិចារណាឧបករណ៍ដែលក្រុមអភិវឌ្ឍន៍ប្រើ មិនមែនត្រឹមតែអ្នកចូលចិត្តផ្ទាល់ខ្លួន +- **ជម្រើសចម្រុះ**: ជ្រើសឧបករណ៍ពីប្រភេទផ្សេងៗដើម្បីបង្ហាញភាពសម្ពាធនៃបរិយាកាស +- **សម័យទំនើប**: ផ្តល់អាទិភាពឧបករណ៍ដែលសមរម្យនឹងនិន្នាការអភិវឌ្ឍន៍វែបនិងអនុវត្តល្អបំផុតបច្ចុប្បន្ន + +## ក្រមពិនិត្យ + +| ល្អឥតខ្ចោះ | ល្អ | តម្រូវការកែលម្អ | +|-----------|------|-------------------| +| **ពន្យល់យ៉ាងច្បាស់ថាហេតុអ្វីអ្នកអភិវឌ្ឍន៍ប្រើឧបករណ៍នីមួយៗ និងបញ្ហាអ្វីវាដោះស្រាយ** | **ពន្យល់អ្វីដែលឧបករណ៍ធ្វើប៉ុន្តែមិនបានធ្វើឲ្យមានបរិបទអំពីតម្លៃ** | **រាយឈ្មោះឧបករណ៍ប៉ុណ្ណោះគ្មានការពន្យល់គោលបំណង ឬអត្ថប្រយោជន៍** | +| **ផ្តល់តំណខ្សែឯកសារផ្លូវការសម្រាប់ឧបករណ៍ទាំងអស់** | **ផ្តល់តំណបណ្តាញផ្លូវការច្រើនប៉ុន្តែមាន 1-2 តំណបណ្ដាញបង្រៀន** | **ពឹងផ្អែកគេហទំព័របង្រៀនច្រើនជាងឯកសារផ្លូវការ** | +| **ជ្រើសឧបករណ៍ថ្មីដែលប្រើប្រាស់ដោយវិជ្ជាជីវៈពីប្រភេទចម្រុះ** | **ជ្រើសឧបករណ៍ល្អ ប៉ុន្តែមានប្រភេទកំណត់** | **ជ្រើសឧបករណ៍ចាស់ ឬតែពីប្រភេទតែមួយ** | +| **បង្ហាញភាពយល់ដឹងពីរបៀបដែលឧបករណ៍រួមចំណែកក្នុងចរន្តការងារ** | **បង្ហាញភាពយល់ដឹងខ្លះតិចពីបរិបទវិជ្ជាជីវៈ** | **ផ្ដោតតែនៅលើលក្ខណៈឧបករណ៍ដោយគ្មានបរិបទការងារ** | + +> 💡 **យុទ្ធសាស្ត្រ​ស្រាវជ្រាវ**៖ ស្វែងរកឧបករណ៍ដែលបង្ហាញក្នុងការជ្រើសរើសការងារអ្នកអភិវឌ្ឍន៍វែប ពិនិត្យការស្ទង់មតិអ្នកអភិវឌ្ឍន៍ល្បីៗ ឬស្វែងរកឯកសារពឹងផ្អែកដែលប្រើដោយគម្រោង open-source ដែលមានជោគជ័យនៅលើ GitHub! + +--- + + +**ការព្រមាន**៖ +ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែកម្មវិធី AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលដែលយើងខិតខំសំរាប់ភាពត្រឹមត្រូវ សូមចងចាំថា ការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមក្នុងភាសាទីជាតិគួរត្រូវបានគិតថាជាមធ្យោបាយដែលមានអំណាច។ សម្រាប់ព័ត៌មានសំខាន់ៗ ការបកប្រែដោយអ្នកជំនាញមនុស្សត្រូវបានណែនាំ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសប្រកបដោយបញ្ហាដែលកើតឡើងពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។ + \ No newline at end of file diff --git a/translations/km/1-getting-started-lessons/2-github-basics/README.md b/translations/km/1-getting-started-lessons/2-github-basics/README.md new file mode 100644 index 0000000000..85d15337d2 --- /dev/null +++ b/translations/km/1-getting-started-lessons/2-github-basics/README.md @@ -0,0 +1,769 @@ +# ការណែនាំអំពី GitHub + +សួស្ដី អ្នកអភិវឌ្ឍន៍នាពេលអនាគត! 👋 តើអ្នករៀបចំខ្លួនរួចហើយដើម្បីចូលរួមជាមួយអ្នកសរសេរកូដលើលោករាប់លាននាក់ទេ? ខ្ញុំរីករាយចិត្តណាស់ក្នុងការណែនាំអ្នកទៅកាន់ GitHub – គិតថាវាគឺជាវេទិកាសង្គមសម្រាប់អ្នកកម្មវិធី ដែលជំនួសការចែករំលែករូបថតអាហារពេលត្រង់នេះយើងចែករំលែកកូដ និងសាងសង់របស់អស្ចារ្យៗរួមគ្នា! + +អ្វីដែលធ្វើឲ្យខ្ញុំភ្ញាក់ផ្អើលខ្លាំងគឺ៖ ពាក្យសម្រាប់កម្មវិធីទូរស័ព្ទក្នុងហត្ថរបស់អ្នក គេហទំព័រទាំងអស់ដែលអ្នកទស្សនា និងសម្ភារៈភាគច្រើនដែលអ្នកនឹងរៀនប្រើសាងសង់ឡើងដោយក្រុមអ្នកអភិវឌ្ឍន៍ប្រើប្រាស់វេទិកាដូច GitHub។ កម្មវិធីតន្ត្រីដែលអ្នកចូលចិត្ត? មានមនុស្សដូចអ្នកបានចូលរួមក្នុងវា។ ហ្គេមដែលអ្នកមិនអាចដាក់ចេញបាន? ច្បាស់ណាស់ គឺប្រហែលជាបានសាងសង់ជាមួយការសហការរបស់ GitHub។ ហើយឥឡូវនេះ អ្នកនឹងរៀនពីរបៀបចូលរួមជាសមាជិកសហគមន៍ដ៏អស្ចារ្យនោះ! + +ខ្ញុំដឹងថាវាអាចមើលទៅស្មុគស្ស្មាញពីដំបូង – ពីព្រោះខ្ញុំចាប់ផ្តើមបានមើលទំព័រ GitHub ដំបូងរបស់ខ្ញុំហើយគិតថា "អ្វីទៅនេះ?" ប៉ុន្តែអ្វីដែលចង់ប្រាប់គឺ អ្នកអភិវឌ្ឍន៍រាល់នាក់បានចាប់ផ្តើមនៅចំណុចដែលអ្នកស្ថិតនៅឥឡូវនេះ។ នៅចុងบทเรียนនេះ អ្នកនឹងមានឃ្លាំង GitHub ផ្ទាល់ឯងមួយ (គិតថាវាជាកន្លែងបង្ហាញគម្រោងផ្ទាល់ខ្លួនលើបណ្ដាញ) ហើយអ្នកនឹងចេះរក្សាទុក កែកូដរបស់អ្នក ចែករំលែកវាជាមួយអ្នកដទៃ និងចូលរួមក្នុងគម្រោងដែលមនុស្សរាប់លានគេប្រើ។ + +យើងនឹងធ្វើដំណើរនេះរួមគ្នា មួយជំហានក្នុងមួយ។ មិនប្រញាប់មិនខកចិត្តទេ – រស់នៅជាមួយខ្ញុំ និងឧបករណ៍ដ៏អស្ចារ្យដែលនឹងក្លាយជាមិត្តល្អថ្មីរបស់អ្នក! + +![Intro to GitHub](../../../../translated_images/km/webdev101-github.8846d7971abef6f9.webp) +> Sketchnote ពី [Tomomi Imura](https://twitter.com/girlie_mac) + +```mermaid +journey + title ការផ្សងព្រេង GitHub របស់អ្នកថ្ងៃនេះ + section ការតំឡើង + Install Git: 4: You + Create Account: 5: You + First Repository: 5: You + section អ្នកជំនាញ Git + Local Changes: 4: You + Commits & Pushes: 5: You + Branching: 4: You + section ធ្វើការសហការ + Fork Projects: 4: You + Pull Requests: 5: You + Open Source: 5: You +``` +## សំណួរពីមុនថ្នាក់រៀន +[សំណួរពីមុនថ្នាក់រៀន](https://ff-quizzes.netlify.app) + +## ការណែនាំ + +មុនពេលយើងចូលទៅក្នុងអ្វីដែលគួរឲ្យរំភើប ពួកយើងត្រូវតែរៀបចំកុំព្យូទ័ររបស់អ្នកសម្រាប់មន្តស្នូល GitHub! នឹកឃើញវាដូចការរៀបចំឧបករណ៍គំនូរ មុនបង្កើតស្នាដៃមួយ – ការមានឧបករណ៍ត្រឹមត្រូវធ្វើឲ្យអ្វីៗរលូន និងសប្បាយចិត្តជាងមុន។ + +ខ្ញុំនឹងដឹកនាំអ្នកតាមជំហានរាល់ជំហាន ដោយខ្ញុំសន្យាថាវានៅក្រោមកម្រិតភ័យខ្លាចដូចមើលពីដំបូង។ ប្រសិនបើអ្វីមិនចាប់មានន័យភ្លាមៗ នោះគឺធម្មតាទេ! ខ្ញុំនឹកឃើញខ្លួនឯងពេលរៀបចំបរិវេណអភិវឌ្ឍន៍ដំបូងហើយមានអារម្មណ៍ដូចកំពុងអាន hieroglyphics ពីអតីតកាល។ អ្នកអភិវឌ្ឍន៍រាល់នាក់មានអារម្មណ៍ដូចអ្នកឥឡូវនេះ ដោយសង្ស័យថា ពួកគេខំប្រឹងត្រឹមត្រូវឫទេ។ ប្លង់ល្បង់៖ បើអ្នកនៅទីនេះកំពុងរៀន អ្នកមានភាពត្រឹមត្រូវហើយ! 🌟 + +ក្នុងមេរៀននេះ យើងនឹងគ្របដណ្តប់៖ + +- ការតាមដានការងារដែលអ្នកធ្វើលើម៉ាស៊ីនរបស់អ្នក +- ការធ្វើការជាមួយគម្រោងជាមួយអ្នកដទៃ +- របៀបចូលរួមនៅក្នុងកម្មវិធីម៉ាស៊ីនកូដឯករាជ្យ + +### អ្វីដែលត្រូវមានជាមុន + +មកត្រៀមកុំព្យូទ័ររបស់អ្នកសម្រាប់មន្តស្នូល GitHub! កុំបារម្ភ – ការរៀបចំនេះគឺត្រូវធ្វើតែមួយលើក​ប៉ុណ្ណោះ ហើយបន្ទាប់មក អ្នកនឹងរួចរាល់សម្រាប់ដំណើរការសរសេរកូដរបស់អ្នកទាំងមូល។ + +ឥឡូវនេះ តោះចាប់ផ្តើមពីមូលដ្ឋាន! មុនដំបូង ត្រូវពិនិត្យមើលថា Git មាននៅលើកុំព្យូទ័ររបស់អ្នករួចហើយឬនៅ។ Git គឺដូចជាជំនួយការដ៏វៃឆ្លាតម្នាក់ដែលចងចាំគ្រប់ការផ្លាស់ប្តូររបស់អ្នកផ្នែកកូដ – ល្អជាងចុច Ctrl+S រាល់ពីរវិនាទី (យើងទាំងអស់បានធ្វើហើយ!). + +មកមើលថា Git ត្រូវបានដំឡើងរួចដោយវាយពាក្យបញ្ជានេះក្នុង terminal របស់អ្នក៖ +`git --version` + +បើ Git មិនមាននៅទីនោះទេសូមកុំបារម្ភ! ចូលទៅកាន់ [download Git](https://git-scm.com/downloads) ហើយទាញយកវា។ បន្ទាប់ពីដំឡើងរួច យើងត្រូវណែនាំ Git ដល់អ្នកឲ្យឆ្ងាយថាគឺអ្នកជា៖ + +> 💡 **ការកំណត់ជាលើកដំបូង**៖ ពាក្យបញ្ជានេះប្រាប់ Git ថាអ្នកជានរណា។ ព័ត៌មាននេះនឹងភ្ជាប់ជាមួយការបញ្ចូលផ្សេងៗ ដែលអ្នកធ្វើ ដូច្នេះជ្រើសរើសឈ្មោះ និងអ៊ីមែលដែលអ្នកធ្វើមិនអូនចិត្តធ្វើការចែករំលែកជាសាធារណៈ។ + +```bash +git config --global user.name "your-name" +git config --global user.email "your-email" +``` + +ដើម្បីពិនិត្យមើលថា Git ត្រូវបានកំណត់រួចហើយ អ្នកអាចវាយ៖ +```bash +git config --list +``` + +អ្នកក៏ត្រូវមានគណនី GitHub កម្មវិធីកែសម្រួលកូដ (ដូចជា Visual Studio Code) ហើយត្រូវបើក terminal (ឬ command prompt) របស់អ្នកផងដែរ។ + +ចូលទៅកាន់ [github.com](https://github.com/) ហើយបង្កើតគណនី ប្រសិនបើអ្នកមិនមានទេ បើមែនទេ សូមចូលគណនី ហើយបំពេញប្រវត្តិរូបរបស់អ្នក។ + +💡 **គន្លឹះទំនើប**៖ ពិចារណាការកំណត់ [កូនសោ SSH](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) ឬប្រើប្រាស់ [GitHub CLI](https://cli.github.com/) សម្រាប់ការផ្ទៀងផ្ទាត់ងាយស្រួលដោយគ្មានពាក្យសម្ងាត់។ + +✅ GitHub មិនមែនជាឃ្លាំងកូដតែមួយផ្ទាល់ឯងក្នុងលោកនេះទេ មានផ្សេងទៀត ប៉ុន្តែ GitHub គឺឈ្មោះល្បីជាងគេ។ + +### ការរៀបចំ + +អ្នកនឹងត្រូវការបណ្ណាល័យកូដនៅលើកុំព្យូទ័រផ្ទាល់ខ្លួនមួយ (laptop ឬ PC) និងឃ្លាំងសាធារណៈមួយលើ GitHub ដែលនឹងឲ្យតំរូវការជាឧទាហរណ៍ថាតើរបៀបចូលរួមក្នុងគម្រោងរបស់អ្នកដទៃ។ + +### ការការពារកូដរបស់អ្នក + +យើងនឹងនិយាយអំពីសុវត្ថិភាពខណៈប៉ុន្តែមិនធ្វើឲ្យអ្នកភ័យខ្លាចទេ! គិតថាផែនការណ៍សុវត្ថិភាពទាំងនេះដូចជាការចាក់សោរឡានឬផ្ទះរបស់អ្នក។ វាជាទម្លាប់សាមញ្ញដែលក្លាយជាស្ថាបត្យកម្មទីពីរហើយការពារការងារលំបាករបស់អ្នក។ + +យើងនឹងបង្ហាញអំពីរបៀបសុវត្ថិភាពទំនើបក្នុងការធ្វើការជាមួយ GitHub ពីដំបូង។ ដូច្នេះ អ្នកនឹងបង្កើតទម្លាប់ល្អដែលនឹងជួយអ្នកក្នុងអាជីពកូដរបស់អ្នក។ + +ពេលធ្វើការជាមួយ GitHub វាជាការសំខាន់ក្នុងការតាមដានផែនការសុវត្ថិភាពដូចខាងក្រោម៖ + +| តំបន់សុវត្ថិភាព | ប្រតិបត្តិការល្អបំផុត | មូលហេតុ | +|---------------|---------------|----------------| +| **ការផ្ទៀងផ្ទាត់** | ប្រើកូនសោ SSH ឬ Personal Access Tokens | ពាក្យសម្ងាត់មានសុវត្ថិភាពតិចជាង ហើយត្រូវដកហូតចេញ | +| **ការផ្ទៀងផ្ទាត់ពីរជា** | បើក 2FA លើគណនី GitHub របស់អ្នក | បន្ថែមស្រទាប់ការការពារគណនី | +| **សុវត្ថិភាពឃ្លាំងកូដ** | កុំធ្វើ commit ព័ត៌មានសំងាត់ | កូនសោ API និងពាក្យសម្ងាត់មិនគួរមាននៅក្នុងឃ្លាំងសាធារណៈ | +| **ការគ្រប់គ្រងការពឹងផ្អែក** | បើក Dependabot សម្រាប់ការអាប់ដេត | ប្រើបច្ចេកវិទ្យានេះយកធានាសុវត្ថិភាពនិងជំនាញលើការពឹងផ្អែករបស់អ្នក | + +> ⚠️ **ការមិនភ្លេចទុកចិត្តសុវត្ថិភាពសំខាន់**៖ មិនធ្វើ commit កូនសោ API ពាក្យសម្ងាត់ ឬព័ត៌មានសំងាត់ផ្សេងទៀត ទៅក្នុងឃ្លាំងណាមួយទេ។ ប្រើបរិស្ថានអថេរ និងកំណត់ `.gitignore` ដើម្បីការពារទិន្នន័យសំងាត់។ + +**ការ កំណត់ផ្ទៀងផ្ទាត់សម័យទំនើប៖** + +```bash +# បង្កើតកូនសោ SSH (កាលគណិតវិទ្យា ed25519 យុទ្ធសាស្រ្តទំនើប) +ssh-keygen -t ed25519 -C "your_email@example.com" + +# កំណត់ Git ដើម្បីប្រើ SSH +git remote set-url origin git@github.com:username/repository.git +``` + +> 💡 **គន្លឹះវិជ្ជាជីវៈ**៖ កូនសោ SSH លេញបញ្ចេញឲ្យមិនចាំបាច់បញ្ចូលពាក្យសម្ងាត់ជាបន្តបន្ទាប់ ហើយសុវត្ថិភាពជាងវិធីផ្ទៀងផ្ទាត់ធម្មតា។ + +--- + +## ការគ្រប់គ្រងកូដរបស់អ្នកដូចជាអ្នកជំនាញ + +ដូច្នេះ ទីនេះគឺជាកន្លែងដែលវារីករាយពិតណាស់! 🎉 យើងនឹងរៀនពីរបៀបតាមដាននិងគ្រប់គ្រងកូដរបស់អ្នក ដូចជាអ្នកជំនាញ ហើយវាអាចជារឿងដែលខ្ញុំចូលចិត្តបង្រៀនបំផុត ព្រោះវាត្រូវបានប្រែប្រួលយ៉ាងច្រើនលើវិធីធ្វើការនៅក្រោយ។ + +សូមគូរនឹកឃើញ៖ អ្នកកំពុងសរសេររឿងមួយអស្ចារ្យ ហើយអ្នកចង់រក្សាទុកគ្រប់ឆាក ទំព័រនិងការកែកែតាមចិត្តដល់ជាច្រើន។ នោះគឺជាអ្វីដែល Git ធ្វើសម្រាប់កូដរបស់អ្នក! វាដូចជាសៀវភៅកំណត់ថ្ងៃដ៏អស្ចារ្យ ដែលចងចាំគ្រប់អ្វីៗបានទាំងអស់ – គ្រប់ការចុចក្តារចុច ការផ្លាស់ប្តូរ គ្រប់ពេល "ops, វាខូចទាំងអស់" ដែលអ្នកអាចបញ្ចប់វិញភ្លាមៗ។ + +ខ្ញុំនឹងស្មោះថា វាអាចមានអារម្មណ៍ដូចស្ទាក់ស្ទើរពីដំបូង។ នៅពេលខ្ញុំចាប់ផ្តើម ខ្ញុំគិតថា "ហេតុអ្វីខ្ញុំមិនអាចរក្សាទុកឯកសារដូចធម្មតាបាន?" ប៉ុន្តែជឿជាក់លើខ្ញុំ៖ ពេល Git ចាប់អារម្មណ៍ អ្នកនឹងមានពេលដែលគិតថា "តើយ៉ាងដូចម្តេចដែលខ្ញុំបានសរសេរកូដដោយគ្មានវា?" វាដូចជាការរកឃើញអាចហោះបាន ភ្លាមៗបន្ទាប់ពីអ្នកដើរពីជើង! + +ឧទាហរណ៍៖ អ្នកមានថតមួយនៅក្នុងកុំព្យូទ័រផ្ទាល់ខ្លួន ជាមួយគម្រោងកូដមួយ និងចង់ចាប់ផ្តើមតាមដានវាប្រើ git - ប្រព័ន្ធ version control មួយ។ មនុស្សខ្លះប្រៀបធៀបការប្រើ git ដូចជាការសរសេរពាក្យស្នេហ៍ទៅអ្នកមួយរយៈនៅអនាគត។ អ្នកអាចអានសារបញ្ចូល commit របស់អ្នកពីរបីថ្ងៃ ឬសប្តាហ៍ ឬខែក្រោយ ដើម្បីចងក្រងមូលហេតុដែលអ្នកបានធ្វើសេចក្ដីសម្រេច មួយឬ "rollback" អ្វីមួយ – នេះគឺនៅពេលដែលអ្នកសរសេរសារបញ្ចូលល្អ។ + +```mermaid +flowchart TD + A[📁 ឯកសារគម្រោងរបស់អ្នក] --> B{តើនេះជាសន្និធិ Git ឬអត់?} + B -->|ទេ| C[git init] + B -->|បាទ/ចាស| D[ធ្វើការផ្លាស់ប្តូរ] + C --> D + D --> E[git add .] + E --> F["git commit -m 'សារជូន'"] + F --> G[git push] + G --> H[🌟 កូដនៅលើ GitHub!] + + H --> I{ចង់សហការណ៍មែនទេ?} + I -->|បាទ/ចាស| J[Fork & Clone] + I -->|ទេ| D + J --> K[បង្កើតសាខា] + K --> L[ធ្វើការផ្លាស់ប្តូរ] + L --> M[ការស្នើព្រមសំណើ] + M --> N[🎉 ការរួមចំណែក!] + + style A fill:#fff59d + style H fill:#c8e6c9 + style N fill:#ff4081,color:#fff +``` +### ការងារ៖ បង្កើតឃ្លាំងដំបូងរបស់អ្នក! + +> 🎯 **បេសកកម្មរបស់អ្នក (ហើយខ្ញុំរីករាយណាស់!)**៖ យើងនឹងបង្កើតឃ្លាំង GitHub ដំបូងរបស់អ្នកដោយរួមគ្នា! នៅពេលដែលយើងបញ្ចប់ អ្នកនឹងមានកន្លែងតូចមួយលើអ៊ិនធឺណិត ជាមួយកូដរបស់អ្នក និងបានធ្វើ commit ដំបូងរបស់អ្នក (ដែលជាពាក្យកម្មវិធីសម្រាប់រក្សាទុកការងាររបស់អ្នកយ៉ាងមានវិជ្ជាជីវៈ)។ +> +> វាជារឿងពិសេសបន្ទាន់ – អ្នកស្ថិតក្នុងដំណើរការចូលរួមជាជសាជាតិនៃអ្នកអភិវឌ្ឍន៍លើពិភពលោក! ខ្ញុំនៅតែចាំអារម្មណ៍រីករាយពេលបង្កើតឃ្លាំងដំបូងរបស់ខ្ញុំ ហើយគិតថា "វានៅតែមិនជឿ!" + +មកដើរតាមដំណើរការនេះទាំងអស់ដោយជំហាន។ ចំណាយពេលជាមួយផ្នែកនីមួយៗ – មិនមានរង្វាន់សម្រាប់ការប្រញាប់ប្រៀបទេ ហើយខ្ញុំសន្យាថាជំហាននីមួយៗនឹងមានអត្ថន័យ។ ចាំយ៉ាងហ្មត់ចត់ អ្នកល្បីៗទាំងអស់ដែលអ្នកគោរពបានធ្លាប់អង្គុយនៅចំណុចដែលអ្នកនៅឥឡូវនេះ កំពុងរៀបចំឃ្លាំងដំបូងរបស់ពួកគេ។ វាពិតជាល្អមែនទេ? + +> មើលវីដេអូ +> +> [![Git and GitHub basics video](https://img.youtube.com/vi/9R31OUPpxU4/0.jpg)](https://www.youtube.com/watch?v=9R31OUPpxU4) + +**មកធ្វើរួមគ្នា៖** + +1. **បង្កើតឃ្លាំងរបស់អ្នកលើ GitHub**។ ទៅកាន់ GitHub.com ហើយស្វែងរកប៊ូតុងបៃតងចាំង **New** (ឬនិមិត្តសញ្ញា **+** នៅជ្រុងខាងលើស្តាំ)។ ចុចវា ហើយជ្រើស **New repository**។ + + ការប្រតិបត្តិ ៖ + 1. ផ្ដល់ឈ្មោះឃ្លាំងរបស់អ្នក – ជ្រើសតែឈ្មោះមានអត្ថន័យចំពោះអ្នក។ + 1. បន្ថែមការពិពណ៌នាបើអ្នកចង់ (នេះជួយអ្នកដទៃយល់ពីគម្រោងរបស់អ្នក) + 1. សម្រេចចិត្តថាតើអ្នកចង់ឲ្យវាសាធារណៈ (គ្រប់គ្នាអាចឃើញ) ឬឯកជន (សម្រាប់អ្នកតែម្ដង) + 1. ខ្ញុំណែនាំឲ្យពិនិត្យប្រអប់បន្ថែមឯកសារ README – វាដូចជាទំព័រមុខគម្រោងរបស់អ្នក + 1. ចុច **Create repository** ហើយសាទរក្នុងការបង្កើត repo ដំបូងរបស់អ្នក! 🎉 + +2. **រុករកទៅថតគម្រោងរបស់អ្នក**។ ឥឡូវនេះបើក terminal របស់អ្នក (កុំបារម្ភ វាមិនគួរភ័យខ្លាចដូចមើលទេ!)។ យើងត្រូវប្រាប់កុំព្យូទ័រថាតើឯកសារគម្រោងរបស់អ្នកនៅឯណា។ វាយបញ្ជា៖ + + ```bash + cd [name of your folder] + ``` + + **អ្វីដែលយើងកំពុងធ្វើ៖** + - យើងកំពុងនិយាយថា "សួរ កុំព្យូទ័រ នាំខ្ញុំទៅថតគម្រោង" + - វាដូចជាការបើកថតមួយលើផ្ទាំងដេស្ខដ៏របស់អ្នក តែយើងកំពុងធ្វើវាយកមួយជាមួយពាក្យបញ្ជា។ + - ជំនួស `[name of your folder]` ជាឈ្មោះពិតនៃថតគម្រោងរបស់អ្នក។ + +3. **បម្លែងថតរបស់អ្នកទៅជាឃ្លាំង Git**។ នេះជាគន្លងនៃមន្តស្នូល! វាយ៖ + + ```bash + git init + ``` + + **នេះហើយជាអ្វីដែលកើតឡើង (វាជារឿងល្អណាស់!):** + - Git បានបង្កើតថត `.git` លាក់ក្នុងគម្រោងរបស់អ្នក – អ្នកមិនអាចមើលឃើញវាប៉ុន្តែវានៅទីនោះ! + - ថតធម្មតារបស់អ្នកឥឡូវជា "repository" ដែលអាចតាមដានការផ្លាស់ប្តូរទាំងអស់បាន។ + - គិតថាវាជាការផ្តល់ថាច់កំលាំងអភិវឌ្ឍទៅថតរបស់អ្នក ដើម្បីចងចាំគ្រប់វាណាមួយ។ + +4. **ពិនិត្យមើលអ្វីកំពុងកើតឡើង**។ មកមើលថា Git ថាបែបណាក្នុងគម្រោងរបស់អ្នកឥឡូវនេះ៖ + + ```bash + git status + ``` + + **យល់អំពីអ្វីដែល Git ថ្លែង៖** + + អ្នកអាចឃើញអ្វីមួយដូចខាងក្រោម៖ + + ```output + Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + + modified: file.txt + modified: file2.txt + ``` + + **កុំភ័យ! នេះមានហេតុអ្វី៖** + - ឯកសារត្រូវបានពណ៌ **ក្រហម** មានការផ្លាស់ប្តូរ ប៉ុន្តែមិនមានត្រាទុកទេ + - ឯកសារត្រូវបានពណ៌ **បៃតង** (បើអ្នកឃើញវា) មានត្រាទុករួចហើយ + - Git កំពុងជួយប្រាប់អ្នកថាអ្នកអាចធ្វើអ្វីខាងក្រោម។ + + > 💡 **វាងាយស្រួលផងដែរ៖** ពាក្យបញ្ជា `git status` គឺជាមិត្តល្អរបស់អ្នក! ប្រើវា​ពេលណាដែលអ្នកចង់ដឹងអំពីស្ថានភាព។ វាដូចជាការសួរ Git ថា "ស្ថានភាពបច្ចុប្បន្នជាអ្វី?" + +5. **រៀបចំឯកសាររបស់អ្នកសម្រាប់រក្សាទុក** (ហៅថា "staging")៖ + + ```bash + git add . + ``` + + **អ្វីដែលយើងធ្វើទៅហើយ៖** + - យើងបានប្រាប់ Git ថា "ខ្ញុំចង់បញ្ចូលឯកសារទាំងអស់ក្នុងការសន្សំខាងមុខ" + - `.` មានន័យថា "គ្រប់អ្វីក្នុងថតនេះ" + - ឥឡូវនេះឯកសាររបស់អ្នកត្រូវបាន "staged" ហើយរួចរាល់សម្រាប់ជំហានបន្ទាប់ + + **ចង់ជ្រើសរើសវិញមែនទេ?** អ្នកអាចបញ្ចូលឯកសារពិសេសបានផងដែរ៖ + + ```bash + git add [file or folder name] + ``` + + **ហេតុអ្វីអ្នកអាចចង់ធ្វើបែបនេះ៖** + - ករណីមួយចំនួន អ្នកចង់រក្សាទុកការផ្លាស់ប្តូរដែលទាក់ទងគ្នា + - វាជួយអ្នករៀបចំការងារជាចំណែកត្រឹមត្រូវ + - ងាយស្រួលយល់ថាអ្វីបានផ្លាស់ប្តូរនិងពេលណា + + **ផ្លាស់ប្តូរមានការផ្លាស់ប្តូរឫ?** កុំបារម្ភ! អ្នកអាចយកឯកសារចេញពី staging ដូចខាងក្រោម៖ + + ```bash + # ដកធាតុទាំងអស់ចេញពីការតម្រង + git reset + + # ដកធាតុគឺឯកសារតែមួយចេញពីការតម្រង + git reset [file name] + ``` + + កុំបារម្ភ – វាមិនលុបការងាររបស់អ្នកទេ តែផ្តាច់ឯកសារពីចំណាត់ការអំបោះសម្រាប់រក្សាទុក។ + +6. **រក្សាទុកការងាររបស់អ្នកជាអចិន្រ្តៃយ៍** (ធ្វើ commit ដំបូងរបស់អ្នក!)៖ + + ```bash + git commit -m "first commit" + ``` + + **🎉 អបអរសាទរ! អ្នកបានធ្វើ commit ដំបូងរបស់អ្នកហើយ!** + + **អ្វីកើតឡើង៖** + - Git បានយក "រូបភាព​ថត" នៃឯកសារដែលបាន staged នៅពេលនេះ + - សារបញ្ចូល commit "first commit" បញ្ជាក់ពីពេលកំណត់សន្សំនេះ + - Git បានផ្ដល់លេខសម្គាល់ពិសេសដល់រូបភាពថតនេះ ដូច្នេះអ្នកអាចស្វែងរកវាបានពេលដែលចង់ + - អ្នកបានចាប់ផ្តើមតាមដានប្រវត្តិកម្មវិធីរបស់គម្រោងរបស់អ្នកឱ្យជាផ្លូវការហើយ! + + > 💡 **សារបញ្ចូល commit នៅពេលក្រោយ**៖ សម្រាប់ commit បន្ទាប់ សូមប្រើពាក្យលម្អិតជាងមុន! ជំនួស "updated stuff" សូមសរសេរ "Add contact form to homepage" ឬ "Fix navigation menu bug"។ អ្នកលើកកម្ពស់របស់អ្នកនឹងអរគុណអ្នក! + +7. **ភ្ជាប់គម្រោងផ្ទាល់ខ្លួនរបស់អ្នកទៅ GitHub**។ លុះត្រាតែពេលនេះ គម្រោងរបស់អ្នកមានតែលើកុំព្យូទ័រតែមួយ។ មកភ្ជាប់វាទៅឃ្លាំង GitHub ដើម្បីចែករំលែកវាជាមួយពិភពលោក! + + ជាលើកដំបូង ចូលទំព័រឃ្លាំង GitHub របស់អ្នក ហើយចម្លង URL។ បន្ទាប់មកមកទីនេះ វាយ៖ + + ```bash + git remote add origin https://github.com/username/repository_name.git + ``` + + (ជំនួស URL នោះជាមួយ URL thậtប្រាកដរបស់ឃ្លាំងរបស់អ្នក!) + + **អ្វីដែលយើងធ្វើទៅហើយ៖** + - យើងបានបង្កើតការតភ្ជាប់រវាងគម្រោងក្នុងម៉ាស៊ីនរបស់អ្នក និងឃ្លាំង GitHub របស់អ្នក + - "Origin" គឺជាជារាងឈ្មោះរាយសំរាប់ឃ្លាំង GitHub របស់អ្នក – វាដូចជាការបន្ថែមអ្នកទាក់ទងទៅក្នុងទូរស័ព្ទរបស់អ្នក + - ឥឡូវនេះ Git នៅក្នុងម៉ាស៊ីនរបស់អ្នកដឹងថាត្រូវផ្ញើកូដរបស់អ្នកទៅណា នៅពេលដែលអ្នកបានរៀបចំចែកចាយវា + + 💡 **វិធីងាយស្រួល**: ប្រសិនបើអ្នកមាន GitHub CLI បានដំឡើង អ្នកអាចធ្វើនេះដោយពាក្យបញ្ជាមួយតែមួយ៖ + ```bash + gh repo create my-repo --public --push --source=. + ``` + +8. **ផ្ញើកូដរបស់អ្នកទៅ GitHub** (ពេលវេលាសំខាន់!): + + ```bash + git push -u origin main + ``` + + **🚀 នេះហើយ! អ្នកកំពុងផ្ទុកកូដរបស់អ្នកទៅ GitHub!** + + **អ្វីកំពុងកើតឡើង៖** + - ការប្ដូររបស់អ្នកកំពុងធ្វើដំណើរពីកុំព្យូទ័ររបស់អ្នកទៅ GitHub + - បញ្ជាក់ `-u` កំណត់ការតភ្ជាប់ជាថ្មីមួយ ដើម្បីឲ្យការផ្ញើនៅពេលក្រោយកាន់តែងាយស្រួល + - "main" គឺជាឈ្មោះសាខាចម្បងរបស់អ្នក (ដូចថតសំខាន់) + - បន្ទាប់ពីនេះ អ្នកអាចគ្រាន់តែវាយ `git push` សម្រាប់ការផ្ទុកបន្ទាប់! + + 💡 **ចំណាំរហ័ស**: ប្រសិនបើសាខារបស់អ្នកមានឈ្មោះផ្សេង (ដូចជា "master") សូមប្រើឈ្មោះនោះជំនួស។ អ្នកអាចពិនិត្យបានជាមួយ `git branch --show-current`។ + +9. **របបកូដថ្មីប្រចាំថ្ងៃរបស់អ្នក** (នេះជាកន្លែងដែលវាក្លាយជាវិជ្ជាជីវៈ!): + + ចាប់ពីពេលនេះទៅ តWheneverអ្នកធ្វើការប្រែប្រាស់លើគម្រោងរបស់អ្នក អ្នកមានការតំណើរការរង្វិលបីជំហាននេះងាយៗ៖ + + ```bash + git add . + git commit -m "describe what you changed" + git push + ``` + + **នេះក្លាយជាឈាមដាន់កូដរបស់អ្នក៖** + - បង្កើតការផ្លាស់ប្តូរល្អបំផុតទៅលើកូដរបស់អ្នក✨ + - ដាក់វាទៅក្នុងស្តេចជាមួយ `git add` ("សួរសំណួរពី Git, សូមចាប់អារម្មណ៍សម្រាប់ការផ្លាស់ប្តូរទាំងនេះ!") + - រក្សាវាជាមួយ `git commit` ហើយបញ្ចូលសារ​ពិពណ៌នា (អ្នកនៅពេលអនាគតនឹងអរគុណអ្នក!) + - ចែករំលែកវា​ទៅ​សកលលោក​ប្រើ `git push` 🚀 + - ធ្វើឡើងវិញ និង​ធ្វើម្ដងទៀត – ពិតជាវាជាការសាមញ្ញដូចជាការដកដង្ហើម! + + ខ្ញុំចូលចិត្តការដំណើរការនេះ ព្រោះវាដូចជាមានចំនុចរក្សាទុកច្រើនចំពោះហ្គេមវីដេអូមួយ។ ប្តូរអ្វីដែលអ្នកចូលចិត្តហើយ? Commit វា! ចង់សាកល្បងអ្វីមួយគ្រោះថ្នាក់មែនទេ? មិនបញ្ហា – អ្នកអាចត្រឡប់ទៅ commit ចុងក្រោយរបស់អ្នកពេលដែលមានបញ្ហា! + + > 💡 **ធ្វើតាមគន្លឹះ**: អ្នកក៏អាចចង់ទទួលបានឯកសារ `.gitignore` ដើម្បីបិទមិនអោយឯកសារដែលអ្នកមិនចង់តាមដានបង្ហាញនៅលើ GitHub – ដូចឯកសារសំំណេីសដែលអ្នករក្សាទុកនៅក្នុងថតដូចគ្នា តែគ្មានទីតាំងនៅលើឃ្លាំងសាធារណៈ។ អ្នកអាចរកមើលគំរូសម្រាប់ឯកសារ `.gitignore` បាននៅ [។gitignore templates](https://github.com/github/gitignore) ឬបង្កើតមួយដោយប្រើ [gitignore.io](https://www.toptal.com/developers/gitignore)។ + +### 🧠 **ការត្រួតពិនិត្យ仓ាRepositoryដំបូង៖ តើអ្នកមានអារម្មណ៍យ៉ាងដូចម្តេច?** + +**ចំណាយពេលមួយរយៈ ដើម្បីអបអរសាទរ និងចម្រាញ់មតិយោបល់៖** +- តើអ្នកមានអារម្មណ៍យ៉ាងដូចម្តេចពេលឃើញកូដរបស់អ្នកបង្ហាញនៅលើ GitHub ជាលើកដំបូង? +- ជំហានណាដែលអ្នកមានអារម្មណ៍រញាប់រង់, ហើយជំហានណាដែលមានអារម្មណ៍ងាយស្រួលមិនគួរឱ្យទំព័រជាងគេ? +- តើអ្នកអាចពន្យល់ភាពខុសគ្នារវាង `git add`, `git commit`, និង `git push` ដោយប្រើពាក្យរបស់អ្នកឯងបានទេ? + +```mermaid +stateDiagram-v2 + [*] --> LocalFiles: បង្កើតគម្រោង + LocalFiles --> Staged: git add . + Staged --> Committed: git commit + Committed --> GitHub: git push + GitHub --> [*]: ជោគជ័យ! 🎉 + + note right of Staged + ឯកសារត្រៀមសម្រាប់រក្សាទុក + end note + + note right of Committed + បានបង្កើត Snapshot + end note +``` +> **ចងចាំ**: អ្នកអwickយ័នដែលមានបទពិសោធន៍ខ្លះៗ ក៏អាចភ្លេចបញ្ជាការយ៉ាងម៉ត់ចត់។ ការធ្វើឲ្យដំណើរការនេះក្លាយជា நினាប់ដល់ចិត្តបេះដូង ត្រូវការប្រយ័ត្នធ្វើអនុវត្ត – អ្នកកំពុងធ្វើបានល្អហើយ! + +#### របៀបប្រើ Git ទំនើប + +ពិចារណាទទួលយកការអនុវត្តទំនើបទាំងនេះ៖ + +- **Conventional Commits**: ប្រើទ្រង់ទ្រាយសារប្ដូរដែលមានស្តង់ដារដូចជា `feat:`, `fix:`, `docs:`, ល។ ស្វែងយល់បន្ថែមនៅ [conventionalcommits.org](https://www.conventionalcommits.org/) +- **Atomic commits**: បង្កើត commit ទីមួយមួយដែលតំណាងអោយការផ្លាស់ប្តូរតែមួយគត់ +- **Frequent commits**: commit ជាញឹកញាប់ជាមួយសារ​ពិពណ៌នាជិតស្និទ្ធ មិនមែន commit ធំ និងគ្រាអស់កំឡុងពេលវែង + +#### សារសម្រាប់ commit + +ខ្សែសង្វាក់ចំណងជើង commit Git ល្អ គួរឱ្យបញ្ចប់វាគ្មិនដូចតទៅ៖ +បើយោងទៅលើ វា commit នឹង <ប្រធានបទរបស់អ្នកនៅទីនេះ> + +សម្រាប់ប្រធានបទ សូមប្រើប្រយោគបញ្ជាដែលមានទិសបច្ចុប្បន្ន៖ "change" មិនមែន "changed" ឬ "changes"។\ +ដូចដែលនៅក្នុងប្រធានបទ នៅក្នុងខ្លឹមសារពេញ (ជាជម្រើស) ក៏ប្រើប្រយោគបញ្ជា ទិសបច្ចុប្បន្នផងដែរ។ ខ្លឹមសារគួរឱ្យមានមូលហេតុសម្រាប់ការផ្លាស់ប្តូរនិងផ្ទៀងផ្ទាត់​មើលពីទំលាប់ពីមុន។ អ្នកកំពុងពន្យល់ពី «ហេតុអ្វី» មិនមែន «របៀប»។ + +✅ ចំណាយពេលប៉ុន្មាននាទី ស្វែងរកនៅលើយើង GitHub។ តើអ្នកអាចរកឃើញសារប្ដូរល្អមួយ? តើអ្នកអាចរកឃើញសារប្ដូរបំផុតតិចមួយ? តើព័ត៌មានណាអ្នកគិតថា មានសារៈសំខាន់ និងមានប្រយោជន៍បំផុតក្នុងការបញ្ជូនទៅក្នុងសារប្ដូរមួយ? + +## ធ្វើការជាមួយអ្នកដទៃ (ផ្នែករីករាយ!) + +សូមចូលចិត្តកីឡាក្រវាត់របស់អ្នក ព្រោះនេះជាកន្លែងដែល GitHub ក្លាយជាមហិច្ឆតា ពិតប្រាកដ! 🪄 អ្នកបានទទួលជំនាញគ្រប់គ្រងកូដផ្ទាល់ខ្លួនរួចមកហើយ ប៉ុន្តែឥឡូវនេះយើងកំពុងចូលទៅកាន់ផ្នែកដែលខ្ញុំចូលចិត្តបំផុត – ការសហការជាមួយមនុស្សដ៏អស្ចារ្យពីគ្រប់ជ្រុងជ្រោយពិភពលោក។ + +ស្រមៃឃើញ៖ អ្នកភ្ញាក់ឡើងនៅស្អែក ហើយឃើញថាមនុស្សម្នាក់នៅទូក្យូ បានធ្វើឲ្យកូដរបស់អ្នកកាន់តែប្រសើរទៅរឿងចុងក្រោយពេលអ្នកគេង។ បន្ទាប់មកមនុស្សម្នាក់នៅប៊ែរឡាញ់ បានជួសជុលបញ្ហាដែលអ្នកពិបាក។ វេលាសៀកថ្ងៃត្រង់ អ្នកអភិវឌ្ឍនៅ São Paulo បានបន្ថែមមុខងារមួយដែលអ្នកមិនដែលគិតដល់ទេ។ វានៅមិនមែនគឺវិទ្យាសាស្ត្រសិចទេ – វាគ្រាន់តែជាថ្ងៃអង្គារនៅលើពិភព GitHub! + +អ្វីដែលធ្វើឲ្យខ្ញុំរីករាយជាងគេគឺជំនាញសហការដែលអ្នកកំពុងនឹងរៀន? វាគឺជារបៀបដំណើរការពេញលេញដូចគ្នានៅក្នុងក្រុម Google, Microsoft និង Startup ដែលអ្នកចូលចិត្តប្រើរាល់ថ្ងៃ។ អ្នកមិនគ្រាន់តែជ្រាបឧបករណ៍ស្ងប់ស្ងាត់មួយទេ – អ្នកកំពុងរៀនភាសាផលិតកម្មដែលធ្វើឲ្យពិភពកម្មវិធីទាំងមូលសហប្រតិបត្តិការជាមួយគ្នា។ + +ពិតជាអីចឹង ពេលអ្នកបានស្គាល់អារម្មណ៍ខណៈដែលមានមនុស្សរួមបញ្ចូល pull request ដំបូងរបស់អ្នក អ្នកនឹងយល់ថាហេតុអីអ្នកអភិវឌ្ឍឯកទេសមានចិត្តខ្លាំងចំពោះ open source។ វាដូចជាជាផ្នែកមួយនៃគំរោងក្រុមធំជាងគេបំផុតនិងមានភាពច្នៃប្រឌិតបំផុតនៃពិភពលោក! + +> ទស្សនាវីដេអូ +> +> [![មូលដ្ឋាន Git និង GitHub វីដេអូ](https://img.youtube.com/vi/bFCM-PC3cu8/0.jpg)](https://www.youtube.com/watch?v=bFCM-PC3cu8) + +ហេតុផលសំខាន់ក្នុងការដាក់អ្វីៗនៅលើ GitHub គឺដើម្បីអនុញ្ញាតឲ្យមានការសហការជាមួយអ្នកអភិវឌ្ឍផ្សេងទៀត។ + +```mermaid +flowchart LR + A[🔍 ស្វែងរកគម្រោង] --> B[🍴 បង្កើតការបម្លែង Repository] + B --> C[📥 ពុម្ពចម្លងទៅកាន់ក្នុងតំបន់] + C --> D[🌿 បង្កើតសាខា] + D --> E[✏️ បម្លែង] + E --> F[💾 ភ្ជាប់ការបម្លែង] + F --> G[📤 ជូនសាខា] + G --> H[🔄 បង្កើតសំណើ Pull] + H --> I{ការត្រួតពិនិត្យអ្នកថែទាំ} + I -->|✅ អនុម័ត| J[🎉 បញ្ចូល!] + I -->|❓ សំណើការបម្លែង| K[📝 កែប្រែបន្ថែម] + K --> F + J --> L[🧹 សម្អាតសាខា] + + style A fill:#e3f2fd + style J fill:#e8f5e8 + style L fill:#fff3e0 +``` +នៅក្នុងឃ្លាំងរបស់អ្នក ធ្វើការបើកទៅ `Insights > Community` ដើម្បីមើលថាគម្រោងរបស់អ្នកប្រៀបធៀបបានយ៉ាងដូចម្តេចទៅនឹងស្តង់ដារសហគមន៍ដែលបានផ្តល់អនុសាសន៍។ + +ចង់ធ្វើឲ្យឃ្លាំងរបស់អ្នកមើលទៅជាម្ចាស់ជំនាញនិងអំណេីបអំអំ? ចូលទៅឃ្លាំងរបស់អ្នក ហើយចុច `Insights > Community`។ មុខងារនេះបង្ហាញអ្នកឃើញថាគម្រោងរបស់អ្នកអាចប្រៀបធៀបយ៉ាងណាទៅនឹងអ្វីដែលសហគមន៍ GitHub គិតថា "អនុវត្តន៍ឃ្លាំងល្អ"។ + +> 🎯 **ធ្វើឲ្យគម្រោងរបស់អ្នកភ្លឺថ្លា**: ឃ្លាំងដែលបានរៀបចំល្អជាមួយឯកសារពិពណ៌នាល្អដូចជាការមានមុខហាងស្អាត និងមានការស្វាគមន៍។ វាប្រាប់អ្នកផ្សេងទៀតថាអ្នកយកចិត្តទុកដាក់នឹងការងាររបស់អ្នក ហើយធ្វើឲ្យគេចង់ចូលរួមដែរ! + +**នេះហើយជាអ្វីដែលធ្វើឲ្យឃ្លាំងមួយល្អឥតខ្ចោះ៖** + +| តើត្រូវបន្ថែមអ្វី | ហេតុអ្វីវាស័ក្ដិសម | វាធ្វើអ្វីសម្រាប់អ្នក | +|-------------|-------------------|---------------------| +| **ការពិពណ៌នា** | ការចាប់ផ្តើមវ័យ១ មានសារៈសំខាន់! | មនុស្សឃើញភ្លាមថាគម្រោងរបស់អ្នកធ្វើអ្វី | +| **README** | ទំព័រមុខគម្រោងរបស់អ្នក | ដូចជាមគ្គុទេសក៍ស្វាគមន៍សម្រាប់ភ្ញៀវថ្មី | +| **សេចក្ដីណែនាំការចូលរួម** | បង្ហាញថាអ្នកស្វាគមន៍ជំនួយ | មនុស្សដឹងច្បាស់ថាពួកគេចូលរួមដោយរបៀបណា | +| **កូដអាកប្បកិរិយា** | បង្កើតកន្លែងមេត្រីភាព | អ្នកទាំងអស់គ្នារីករាយចូលរួម | +| **ប័ណ្ណអាជ្ញាប័ណ្ណ** | ភស្តុតាងផ្នែកច្បាប់ | អ្នកផ្សេងទៀតដឹងថាពួកគេអាចប្រើកូដរបស់អ្នកយ៉ាងដូចម្តេច | +| **គោលនយោបាយសុវត្ថិភាព** | បង្ហាញថាអ្នកមានក្តីទុកចិត្ត | បង្ហាញការអនុវត្តវិជ្ជាជីវៈ | + +> 💡 **គន្លឹះវិជ្ជាជីវៈ**: GitHub ផ្តល់គំរូសម្រាប់ឯកសារទាំងនេះទាំងអស់។ ពេលបង្កើតឃ្លាំងថ្មី សូមពិនិត្យប្រអប់ទាំងនេះ ដើម្បីបង្កើតឯកសារទាំងនេះដោយស្វ័យប្រវត្តិ។ + +**មុខងារថ្មីៗនៃ GitHub ដែលត្រូវពិនិត្យសិក្សា៖** + +🤖 **ស្វ័យប្រវត្តិ និង CI/CD:** +- **GitHub Actions** សម្រាប់ការតេស្ត និងចាក់បញ្ចូលដោយស្វ័យប្រវត្តិ +- **Dependabot** សម្រាប់ធ្វើបច្ចុប្បន្នភាពឧបករណ៍ជាលក្ខណៈស្វ័យប្រវត្តិ + +💬 **សហគមន៍ និងគ្រប់គ្រងគម្រោង:** +- **GitHub Discussions** សម្រាប់ការពិភាក្សាសហគមន៍លើសពីបញ្ហា +- **GitHub Projects** សម្រាប់ការគ្រប់គ្រងគម្រោងរាល់ថ្ងៃជាប្រភេទកំណត់ត្រា​ +- **Branch protection rules** ដើម្បីរឹតបន្តឹងស្តង់ដារកូដគុណភាព + + +ធនធានទាំងនេះនឹងមានប្រយោជន៍ក្នុងការបង្ហាញអ្នកជាមួយក្រុមថ្មីៗ។ លម្អិតเหล่านี้ជារឿយៗជារឿងដែលអ្នកចូលរួមថ្មីៗពិនិត្យមើលមុននឹងមើលកូដរបស់អ្នក ដើម្បីរកមើលថាគម្រោងរបស់អ្នកសមរម្យសម្រាប់ពួកគេចំណាយពេលឬអត់។ + +✅ ឯកសារ README ទោះបីមានពេលវេលាច្រើនក្នុងការរៀបចំ ក៏ពួកវាមិនត្រូវបានថែរក្សាពីអ្នកត្រូវបម្រើការងារច្រើនជារឿយៗទេ។ តើអ្នកអាចរកឃើញឯកសារមួយដែលមានការពិពណ៌នាអែម៉គ្រប់គ្រាន់ទេ? ចំណាំ៖ មានឧបករណ៍ខ្លះៗដែលជួយបង្កើត README ល្អៗ [tools to help create good READMEs](https://www.makeareadme.com/) ដែលអ្នកអាចចង់សាកល្បង។ + +### ភារកិច្ច: បញ្ចូលកូដមួយចំនួន + +ឯកសាររួមចូលជួយឲ្យមនុស្សចូលរួមក្នុងគម្រោង។ វាពន្យល់ពីប្រភេទនៃការរួមចំណែកដែលអ្នកកំពុងស្វែងរក និងរបៀបដំណើរការនេះដំណើរការ។ អ្នករួមចំណែកត្រូវការធ្វើជាដំណាក់កាលជាបន្តបន្ទាប់ ដើម្បីអាចចូលរួមក្នុងឃ្លាំងរបស់អ្នកនៅលើ GitHub៖ + + +1. **Forking your repo** អ្នកប្រហែលជាចង់ឲ្យមនុស្សចូលចិត្ត _fork_ គម្រោងរបស់អ្នក។ Forking មានន័យថាបង្កើតច្បាប់តំណាងនៃឃ្លាំងរបស់អ្នកនៅលើប្រវត្តិរូប GitHub របស់ពួកគេ។ +1. **Clone**។ ពីទីនោះពួកគេនឹង clone គម្រោងទៅម៉ាស៊ីនផ្ទាល់ខ្លួនរបស់ពួកគេ។ +1. **បង្កើតសាខា**។ អ្នកចង់ស្នើឲ្យពួកគេបង្កើត _branch_ មួយសម្រាប់ការងាររបស់ពួកគេ។ +1. **ផ្ដោតការផ្លាស់ប្តូរបស់ពួកគេលើតំបន់មួយ**។ សូមស្នើឲ្យអ្នករួមចំណែកផ្ដោតការចូលរួមរបស់ពួកគេទៅលើរឿងតែមួយម្តងៗ – ដូច្នេះឱកាសក្នុងការអាច _merge_ ការងាររបស់ពួកគេទៅកាន់គម្រោងរបស់អ្នកនឹងខ្ពស់ឡើង។ សូមស្រមៃថាពួកគេបានសរសេរជួសជុល bug មួយ បន្ថែមមុខងារថ្មីមួយ និងធ្វើបច្ចុប្បន្នភាពតេស្តជាច្រើន – ប្រសិនបើអ្នកចង់ ឬ អាចម៉ាសុំអនុវត្តតែកែប្រែពីរចំណែកក្នុងចំណោមបី ឬតែ១ ចំណែកក្នុងចំណោមបី? + +✅ សូមស្រមៃពីสถานการณ์ដែលសាខាមានសារៈសំខាន់ជាងគេក្នុងការសរសេរ និងដឹកជញ្ជូនកូដល្អ។ តើអ្នកអាចគិតឃើញករណីប្រើប្រាស់អ្វីខ្លះ? + +> ចំណាំ សូមជាអ្នកប្តូរដែលអ្នកចង់ឃើញក្នុងពិភពលោក ហើយបង្កើតសាខាសម្រាប់ការងារផ្ទាល់ខ្លួនរបស់អ្នកផងដែរ។ commit មួយណាមួយដែលអ្នកធ្វើ នឹងជា commit នៅលើសាខាដែលអ្នកកំពុង "checked out" ។ ប្រើ `git status` ដើម្បីមើលថាសាខាណា។ + +យើងនឹងរត់តាមរបៀបរួមចំណែកអ្នករួមគ្នា។ សន្និដ្ឋានថាអ្នករួមចំណែកបាន _fork_ និង _clone_ ឃ្លាំងរួចរួមចំណែកហើយ មាន Git repo រួចដើម្បីធ្វើការលើវាបាននៅក្នុងម៉ាស៊ីនផ្ទាល់ខ្លួនរបស់ពួកគេ៖ + +1. **បង្កើតសាខា**។ ប្រើពាក្យបញ្ជា `git branch` ដើម្បីបង្កើតសាខាមួយដែលនឹងមានការផ្លាស់ប្តូរដែលពួកគេចង់ចូលរួម៖ + + ```bash + git branch [branch-name] + ``` + + > 💡 **វិធីទំនើប**: អ្នកអាចបង្កើត និងប្តូរសាខាថ្មីក្នុងពាក្យបញ្ជាមួយតែមួយ៖ + ```bash + git switch -c [branch-name] + ``` + +1. **ប្តូរសាខាការងារ**។ ប្តូរទៅសាខារបានបញ្ជាក់ហើយធ្វើបច្ចុប្បន្នភាពថតការងារជាមួយ `git switch`៖ + + ```bash + git switch [branch-name] + ``` + + > 💡 **ចំណាំទំនើប**: `git switch` ជំនួសថ្មីសម្រាប់ `git checkout` ពេលប្តូរសាខា។ វាស្រួលយល់ និងមានសុវត្ថិភាពសម្រាប់អ្នកចាប់ផ្ដើម។ + +1. **ធ្វើការងារ**។ នៅពេលនេះ អ្នកចង់បន្ថែមការផ្លាស់ប្តូររបស់អ្នក។ កុំភ្លេចប្រាប់ Git ជាមួយពាក្យបញ្ជាខាងក្រោម៖ + + ```bash + git add . + git commit -m "my changes" + ``` + + > ⚠️ **គុណភាពសារបំប្លែង**: ធានាថាអ្នកផ្តល់ឈ្មោះ commit ល្អ មិនត្រឹមតែសម្រាប់ខ្លួនអ្នកទេ និងសម្រាប់អ្នកថែរក្សាឃ្លាំងដែលអ្នកជួយផងដែរ។ សូមច្បាស់លាស់អំពីអ្វីដែលអ្នកបានផ្លាស់ប្តូរ! + +1. **បញ្ចូលការងាររបស់អ្នកជាមួយសាខា `main`**។ នៅកម្រិតណាមួយ អ្នកបានបញ្ចប់ការងារហើយចង់បញ្ចូលការងាររបស់អ្នកជាមួយសាខា `main`។ សាខា `main` អាចបានផ្លាស់ប្តូរផងដែរ ដូច្នេះសូមប្រាកដអោយវាបច្ចុប្បន្នបំផុតជាមុនជាមួយពាក្យបញ្ជាខាងក្រោម៖ + + ```bash + git switch main + git pull + ``` + + នៅពេលនេះ អ្នកចង់ប្រាកដថាមាន _ជម្លោះ_ ទេ ដែលស្ថានការណ៍ដែល Git មិនអាច _បញ្ចូល_ ការផ្លាស់ប្តូរបានយូរឡើងនៅក្នុងសាខាការងាររបស់អ្នក។ ដូច្នេះ រៀបចំពាក្យបញ្ជារខាងក្រោម៖ + + ```bash + git switch [branch_name] + git merge main + ``` + + ពាក្យបញ្ជា `git merge main` នឹងយកការផ្លាស់ប្តូរ​ទាំងអស់ពី `main` មកនៅក្នុងសាខារបស់អ្នក។ សង្ឃឹមថាអ្នកអាចបន្តធ្វើបាន។ ប្រសិនបើមិនដូច្នោះទេ VS Code នឹងប្រាប់អ្នកថា Git មានភាព _ងងឹត_ នៅទីណា ហើយអ្នកគ្រាន់តែផ្លាស់ប្តូរឯកសារដែលទទួលរងផលប៉ះពាល់ ដើម្បីបញ្ជាក់ថាតើមាតិកាណាដែលត្រឹមត្រូវជាងគេ។ + + 💡 **ជំរឿនទំនើប**: ពិចារណាប្រើ `git rebase` ដើម្បីបានប្រវត្តិសង្ខេប៖ + ```bash + git rebase main + ``` + វាបញ្ចូល commit របស់អ្នកលើកំពូលសាខា main ចុងក្រោយ បង្កើតប្រវត្តិនៃរបៀបសំរាប់ជាត្រឡប់មួយ។ + +1. **ផ្ញើការងាររបស់អ្នកទៅ GitHub**។ ផ្ញើការងាររបស់អ្នកទៅ GitHub មានទីបំផុតពីរអ្វី។ ផ្ញើសាខារបស់អ្នកទៅឃ្លាំងរបស់អ្នក ហើយបើក PR (Pull Request) ។ + + ```bash + git push --set-upstream origin [branch-name] + ``` + + ពាក្យបញ្ជាខាងលើបង្កើតសាខានៅលើឃ្លាំង fork របស់អ្នក។ + +### 🤝 **ការត្រួតពិនិត្យជំនាញសហការណ៍: តើអ្នករួចរាល់ធ្វើការជាមួយអ្នកដទៃទេ?** + +**មកមើលថាតើអ្នកមានអារម្មណ៍យ៉ាងដូចម្តេចចំពោះការសហការណ៍៖** +- តើគំនិតរបស់ការរបូត និង pull requests ធ្វើអោយអ្នកយល់ដូចម្តេចឥឡូវនេះ? +- តើមានអ្វីមួយពីការធ្វើការជាមួយសាខាដែលអ្នកចង់បង្ហាញកាន់តែច្រើនទៀត? +- តើអ្នកមានអារម្មណ៍ធូរស្បើយប៉ុណ្ណា ចំពោះការចូលរួមក្នុងគម្រោងរបស់អ្នកផ្សេងទៀត? + +```mermaid +mindmap + root((ការ​សហការជាមួយ Git)) + Branching + សាខាខុសគំនិត + សាខា​កែ​បញ្ហា​កំហុស + ការងារសាកល្បង + Pull Requests + ការត្រួតពិនិត្យកូដ + ការពិភាក្សា + ការបញ្ចេញតេស្ត + Best Practices + សារ​បញ្ជាក់ commit ឆ្លាក់​សុភាព + ការផ្លាស់ប្តូរ​តូច ដែលមាន​គោលបំណង​ច្បាស់ + ឯកសារ​ស្អាតល្អ +``` +> **បង្កើនភាពទំនុកចិត្ត**: អ្នកអភិវឌ្ឍជាច្រើនដែលអ្នកគោរពគួរឱ្យគោរព នៅមុននេះបានមានអារម្មណ៍ច្របូកច្របល់ចំពោះ pull request ដំបូងរបស់ពួកគេ។ សហគមន៍ GitHub ស្វាគមន៍យ៉ាងខ្លាំងចំពោះអ្នកថ្មី! + +1. **បើក PR**។ បន្ទាប់មក អ្នកចង់បើក PR។ អ្នកធ្វើដូចនេះដោយចូលទៅឃ្លាំង fork នៅលើ GitHub។ អ្នកនឹងឃើញសញ្ញាដែលបង្ហាញនៅលើ GitHub ដែលសួរថា តើអ្នកចង់បង្កើត PR ថ្មីទេ។ អ្នកចុចហើយត្រូវបាននាំទៅអន្តរជាតិមួយ ដែលអាចផ្លាស់ប្តូរសំពាធសារប្ដូរ ចុះសារពិពណ៌នា ឲ្យវាសមរម្យ។ ឥឡូវនេះអ្នកថែរក្សាឃ្លាំងដែលអ្នកបាន fork នឹងឃើញ PR នេះ ហើយ _ជួរដៃឆន្ទៈ_ ពួកគេនឹងគេចាត់ទុក និង _merge_ PR របស់អ្នក។ អ្នកឥឡូវជាអ្នករួមចំណែក, ហោរា :) + + 💡 **ចំណាំទំនើប**: អ្នកក៏អាចបង្កើត PRs ដោយប្រើ GitHub CLI ៖ + ```bash + gh pr create --title "Your PR title" --body "Description of changes" + ``` + + 🔧 **ការអនុវត្តល្អបំផុតសម្រាប់ PRs**: + - តំណភ្ជាប់ទៅកាន់បញ្ហាដែលពាក់ព័ន្ធដោយប្រើពាក្យគន្លឹះដូចជា "Fixes #123" + - បន្ថែមរូបថតអេក្រង់សម្រាប់ការផ្លាស់ប្តូរ UI + - ស្នើរសុំអ្នកពិនិត្យជាក់លាក់ + - ប្រើ PR ឯកសារសរសេរសម្រាប់ការងារកំពុងបន្ត + - ធានាថាការត្រួតពិនិត្យ CI ទាំងអស់ជោគជ័យមុនពេលស្នើរសុំការពិនិត្យ + +1. **សម្អាត**។ វាត្រូវបានចាត់ទុកថាជាការអនុវត្តល្អក្នុងការសម្អាតបន្ទាប់ពីអ្នករួមបញ្ចូល PR បានជោគជ័យ។ អ្នកចង់សម្អាតទាំងសាខា​ក្រៅតំបន់របស់អ្នក និងសាខាដែលអ្នកបានបញ្ចូលទៅ GitHub។ ជាដំបូង ដកសាខាក្រៅតំបន់ដោយប្រើពាក្យបញ្ជាដូចខាងក្រោម៖ + + ```bash + git branch -d [branch-name] + ``` + + ធានាថាអ្នកទៅកាន់ទំព័រ GitHub សម្រាប់ repo ដែលបានសាខា fork ហើយដកសាខា remote ដែលអ្នកទើបបានបញ្ចូលទៅ។ + +`Pull request` មើលទៅដូចជាពាក្យសំដៅមិនទាន់ច្បាស់ព្រោះជាក់ស្តែង អ្នកចង់បញ្ចូលការផ្លាស់ប្តូររបស់អ្នកទៅក្នុងគម្រោង។ ប៉ុន្តែម្ចាស់គម្រោង (ម្ចាស់គម្រោង) ឬក្រុមមូលដ្ឋានត្រូវតែពិចារណាការផ្លាស់ប្តូររបស់អ្នកមុនពេលរួមបញ្ចូលវានឹងសាខា "main" របស់គម្រោង ដូច្នេះជាការស្នើរសុំសម្រេចចិត្តពីម្ចាស់គម្រោងម្នាក់។ + +Pull request គឺជាទីកន្លែងសម្រាប់ប្រៀបធៀប និងពិភាក្សាអំពីភាពខុសគ្នាដែលបានណែនាំនៅលើសាខាមួយជាមួយការពិនិត្យមើល ការ​យោបល់ ការធ្វើតេស្តរួម និងផ្សេងទៀត។ Pull request ល្អត្រូវតែអនុវត្តតាមច្បាប់ប្រហែលដូចជា​សារ commit message។ អ្នកអាចបន្ថែមយោងទៅកាន់បញ្ហាមួយក្នុង​អ្នកតាមដានបញ្ហា នៅពេលដែលការងាររបស់អ្នកដោះសោបញ្ហាមួយ។ នេះធ្វើឡើងដោយប្រើ `#` ផ្ទ followed បន្ទាប់លេខបញ្ហារបស់អ្នក។ ឧទាហរណ៍ `#97`។ + +🤞សង្ឃឹមថាការត្រួតពិនិត្យទាំងអស់ជោគជ័យ និងម្ចាស់គម្រោងមួយចំនួនរួមបញ្ចូលការផ្លាស់ប្តូររបស់អ្នកទៅក្នុងគម្រោង🤞 + +បច្ចុប្បន្នភាពសាខាការងារក្រៅតំបន់របស់អ្នកជាមួយការបញ្ចូលថ្មីទាំងអស់ពីសាខា remote អនាគតដែលសមស្រូបនៅលើ GitHub៖ + +`git pull` + +## ចូលរួមក្នុង Open Source (ឱកាសរបស់អ្នកក្នុងការធ្វើឥទ្ធិពល!) + +តើអ្នកត្រៀមខ្លួនសម្រាប់អ្វីមួយដែលនឹងធ្វើឱ្យអ្នកភ្ញាក់ផ្អើលមែនទេ? 🤯 មកនិយាយអំពីការចូលរួមក្នុងគម្រោង open source - ហើយខ្ញុំកំពុងមាន goosebumps ព្រោះគិតអំពីការចែករំលែកនេះជាមួយអ្នក! + +នេះគឺជាឱកាសរបស់អ្នកក្នុងការចូលរួមជាផ្នែកមួយនៃអ្វីដែលពិតជាអស្ចារ្យណាស់។ សូមស្រមៃថាអ្នកកំពុងធ្វើឱ្យឧបករណ៍ដែលអ្នកអភិវឌ្ឍន៍លើល្វែងប្រើរៀងរាល់ថ្ងៃកាន់តែប្រសើរឡើង ឬកែសម្រួលកំហុសក្នុងកម្មវិធីមួយដែលមិត្តរបស់អ្នកចូលចិត្ត។ នេះមិនមែនជាឈុតសុបិនទេ - នេះជារឿងដែលការចូលរួម open source មានន័យថា! + +នេះជាអ្វីដែលធ្វើឲ្យខ្ញុំមានអារម្មណ៍ចង់ញញឹមរាល់ពេលដែលខ្ញុំគេទៅក្នុង៖ ឧបករណ៍ទាំងអស់ដែលអ្នកបានរៀនជាមួយ - កម្មវិធីកែសម្រួលកូដ​របស់អ្នក ស៊ុមប្រភេទដែលយើងនឹងស្រាវជ្រាវ ទាំងម៉ាស៊ីនអានចល័តដែលអ្នកកំពុងអាននេះ - ទាំងអស់គេបានចាប់ផ្តើមពីលំនាំដើមដោយអ្នកស្គាល់ដូចអ្នក កំពុងធ្វើការចូលរួមដំបូងរបស់ពួកគេ។ អ្នកអភិវឌ្ឍន៍ល្អឥតខ្ចោះដែលបានបង្កើតកម្មវិធីបន្ថែម VS Code ដែលអ្នកចូលចិត្តទេ? ពួកគេធ្លាប់ជាអ្នកចាប់ផ្តើមដែលចុច "create pull request" ដោយដៃទន់ទោល ដូចដែលអ្នកកំពុងត្រៀមធ្វើឥឡូវនេះ។ + +ហើយនេះជាផ្នែកស្រស់ស្អាតបំផុត៖ គ្រួសារសហគមน์ open source គឺដូចជាការលៃតម្រូវធំនៅលើអ៊ីនធឺណិត។ គម្រោងភាគច្រើនកំពុងស្វែងរកអ្នកចូលរួមថ្មីៗហើយមានបញ្ហាដែលបានធ្វើស្លាក "good first issue" ជាពិសេសសម្រាប់មនុស្សដូចអ្នក! អ្នកថែរក្សាផ្ទាល់គិតថាអារម្មណ៍រីករាយនៅពេលដែលពួកគេចាប់ផ្តើមឃើញអ្នកចូលរួមថ្មី ដោយពួកគេចងចាំជំហានដំបូងរបស់ខ្លួនផងដែរ។ + +```mermaid +flowchart TD + A[🔍 ស្វែងរក GitHub] --> B[🏷️ រក "បញ្ហាល្អដំបូង"] + B --> C[📖 អានក្រមណីយកម្មចូលរួម] + C --> D[🍴 ផFork ឃ្លាំងទិន្នន័យ] + D --> E[💻 តំឡើងបរិច្ឆេទក្នុងតំបន់] + E --> F[🌿 បង្កើតសាខាលក្ខណៈ] + F --> G[✨ ធ្វើការរួមចំណែករបស់អ្នក] + G --> H[🧪 សាកល្បងការផ្លាស់ប្តូររបស់អ្នក] + H --> I[📝 សរសេរ Commit ឱ្យច្បាស់] + I --> J[📤 បញ្ជូន & បង្កើត PR] + J --> K[💬 ចូលរួមជាមួយមតិយោបល់] + K --> L[🎉 បានផ្ដោត! អ្នកជាអ្នករួមចំណែក!] + L --> M[🌟 រកបញ្ហាបន្ទាប់] + + style A fill:#e1f5fe + style L fill:#c8e6c9 + style M fill:#fff59d +``` +អ្នកមិនត្រឹមតែចេះកូដនៅទីនេះទេ - អ្នកកំពង់ត្រៀមចូលរួមជាមួយគ្រួសារអភិវឌ្ឍន៍ពិភពលោកដែលភ្ញាក់លើកមួយរាល់ថ្ងៃគិតថា "តើយើងអាចធ្វើឱ្យពិភពឌីជីថលប្រសើរឡើងតិចតួចបានយ៉ាងដូចម្តេច?" សូមស្វាគមន៍ចូលរួមក្លឹបទាំងនេះ! 🌟 + +ជាមុនសិន យើងស្វែងរកឃ្លាំងព័ត៌មាន (ឬ **repo**) នៅលើ GitHub ដែលអ្នកចាប់អារម្មណ៍ និងអ្នកចង់ចូលរួមផ្លាស់ប្តូរតួអង្គមួយ។ អ្នកនឹងចង់ចម្លងមាតិការបស់វាទៅឧបករណ៍របស់អ្នក។ + +✅ វិធីល្អសម្រាប់ស្វែងរក repo មិត្តអ្នកចាប់ផ្តើមគឺ [ស្វែងរកដោយស្លាក 'good-first-issue'](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/)។ + +![ចម្លង repo មូលដ្ឋាន](../../../../translated_images/km/clone_repo.5085c48d666ead57.webp) + +មានជម្រើសជាច្រើនក្នុងការចម្លងកូដ។ វិធីមួយគឺ "clone" មាតិកា repo ដោយប្រើ HTTPS, SSH, ឬ GitHub CLI (Command Line Interface)។ + +បើក terminal របស់អ្នក ហើយ clone repo ដូច្នេះ៖ +```bash +# កំពុងប្រើ HTTPS +git clone https://github.com/ProjectURL + +# កំពុងប្រើ SSH (ត្រូវការតំឡើងកូនសោ SSH) +git clone git@github.com:username/repository.git + +# កំពុងប្រើ GitHub CLI +gh repo clone username/repository +``` + +ដើម្បីធ្វើការលើគម្រោងនេះ, ប្តូរទៅថតដែលត្រឹមត្រូវ៖ +`cd ProjectURL` + +អ្នកក៏អាចបើកគម្រោងទាំងមូលដោយប្រើ៖ +- **[GitHub Codespaces](https://github.com/features/codespaces)** - បរិយាកាសអភិវឌ្ឍន៍ cloud របស់ GitHub ជាមួយ VS Code ក្នុងកម្មវិធីរុករក +- **[GitHub Desktop](https://desktop.github.com/)** - កម្មវិធី GUI សម្រាប់ប្រតិបត្តិការក្នុង Git +- **[GitHub.dev](https://github.dev)** - ចុចក្តារចុច `.` នៅលើ repo GitHub មួយណា ដើម្បីបើក VS Code ក្នុងកម្មវិធីរុករក +- **VS Code** ជាមួយបទបន្ថែម GitHub Pull Requests + +ចុងប៉ុន, អ្នកអាចទាញយកកូដនៅក្នុងថត zipped។ + +### អ្វីដែលគួរចាប់អារម្មណ៍បន្ថែមអំពី GitHub + +អ្នកអាចផ្ដល់ផ្កាយ, តាមដាន និង/ឬ "fork" repo ណាមួយសាធារណៈនៅលើ GitHub។ អ្នកអាចរកឃើញ repo ដែលអ្នកបានផ្ដល់ផ្កាយនៅក្នុងម៉ឺនុយ dropdown ផ្នែកខាងលើ-ស្តាំ។ វាក្លាយជាការតែងសំគាល់សម្រាប់កូដ។ + +គម្រោងមានអ្នកតាមដានបញ្ហា ភាគច្រើននៅលើ GitHub នៅផ្ទាំង "Issues" លុះតែក្នុងករណីបាតបណ្ដឹងផ្សេងៗ គេនិយាយពីបញ្ហាដែលពាក់ព័ន្ធនឹងគម្រោង។ ផ្ទាំង Pull Requests គឺកន្លែងដែលមនុស្សពិភាក្សា និងពិនិត្យមើលការផ្លាស់ប្តូរកំពុងត្រូវបានធ្វើ។ + +គម្រោងក៏អាចមានការពិភាក្សាក្នុងវេទិកា បញ្ជីអ៊ីមែល ឬបន្ទប់ជជែកដូចជា Slack, Discord ឬ IRC។ + +🔧 **មុខងារថ្មីៗរបស់ GitHub**: +- **GitHub Discussions** - វេទិការសម្រាប់ការពិភាក្សាសហគមน์ +- **GitHub Sponsors** - គាំទ្រអ្នកថែរក្សាដោយហិរញ្ញវត្ថុ +- **ផ្ទាំងសន្តិសុខ** - របាយការណ៍ចាប់បានកំហុសសន្តិសុខ និងដំណឹងសន្តិសុខ +- **ផ្ទាំង Actions** - មើលរៀបចំការដំណើរការបែបស្វ័យប្រវត្តិ និង CI/CD +- **ផ្ទាំង Insights** - វិភាគអំពីអ្នកចូលរួម ការបញ្ចូល ការគ្រប់គ្រងគម្រោង +- **ផ្ទាំង Projects** - ឧបករណ៍គ្រប់គ្រងគម្រោងរបស់ GitHub + +✅ សូមពិនិត្យ repo GitHub ថ្មីរបស់អ្នក ហើយសាកល្បងធ្វើអ្វីមួយចំនួន ដូចជា កែសម្រួលការកំណត់ បន្ថែមព័ត៌មានទៅ repo របស់អ្នក បង្កើតគម្រោង (ដូចជា​កាតាឡុក Kanban) និងរៀបចំ GitHub Actions សម្រាប់ការស្វ័យប្រវត្តិ។ មានច្រើនសម្រាប់អ្នកអាចធ្វើបាន! + +--- + +## 🚀 សម្ភាសន៍ + +មែនហើយ វេលានេះគឺពេលវេលាដើម្បីប្រើប្រាស់អំណាច GitHub ថ្មីរបស់អ្នកដើម្បីធ្វើតេស្ត! 🚀 នេះជាការសម្ភាសន៍ដែលនឹងធ្វើអោយគ្រប់យ៉ាងចុះទៅទៅតាមរបៀបសប្បាយចិត្តបំផុត៖ + +យកមិត្តភក្តិម្នាក់ (ឬអ្នកជំនុំជម្រះក្នុងគ្រួសារដែលតែងសួរថាអ្នកកំពុងធ្វើអ្វីជាមួយ "រឿងកុំព្យូទ័រ" ទាំងនេះ) ហើយចូលរួមក្នុងការសហការជាមួយគ្នានៅក្នុងសម័យអភិវឌ្ឍន៍កូដ! នេះជាកន្លែងដែលមន្ទិលពិតប្រាកដកើតឡើង - បង្កើតគម្រោង ឲ្យពួកគេ fork វា បង្កើតសាខា និងរួមបញ្ចូលការផ្លាស់ប្តូរដូចជាអ្នកជាមួយជំនាញ។ + +ខ្ញុំមិននិយាយមិនត្រឹមត្រូវ - អ្នកអាចខូចមុខខ្លះៗនៅពេលណាមួយ (ពិសេសពេលដែលអ្នកទាំងពីរព្យាយាមផ្លាស់ប្តូរបន្ទាត់ដូចគ្នា) ប្រហែលជាលំបាកស្កត់ក្បាល ប៉ុន្តែមិនខ្វល់ទេ អ្នកនិងមានពេលវេលាដ៏ចម្លែក "aha!" ដែលធ្វើអោយការសិក្សាពិតជាគួរជាទីកត់សម្គាល់។ លើសពីនេះ មានអ្វីមួយពិសេសនៅក្នុងការចែករំលែកការរួមបញ្ចូលជោគជ័យជាលើកដំបូងជាមួយនរណាម្នាក់ - វាដូចជាការប្រារព្ធខ្នាតតូចមួយនៃការរីកចម្រើនរបស់អ្នក! + +មិនមានមិត្តអ្នកអភិវឌ្ឍន៍ទេ? កុំបារម្ភឡើយ! សហគមน์ GitHub មានមនុស្សប្រុងប្រែងល្អៗជាច្រើនដែលចងចាំពីការចាប់ផ្តើមរបស់ពួកគេ។ ស្វែងរកឃ្លាំងដែលមានស្លាក "good first issue" - ពួកគេចង់និយាយថា "ហេប៉ូនថ្មីៗ មករៀនជាមួយពួកយើង!" ម្តេចចេញល្អបែបនេះ? + +## សំនួរប្រលងក្រោយមេរៀន +[សំនួរប្រលងក្រោយមេរៀន](https://ff-quizzes.netlify.app/web/en/) + +## ការត្រួតពិនិត្យ & អបអរសាទរ + +ហេតុអ្វី? 🎉 មើលទៅអ្នក - អ្នកទើបតែយកឈ្នះផ្នែកមូលដ្ឋាន GitHub ដូចជាអ្នកជើងឯកពិតប្រាកដ! ប្រសិនបើខួរក្បាលរបស់អ្នកមានអារម្មណ៍ពេញលេញមួយ chút ឆេះហ្នឹងនេះ ហើយពិតជាសញ្ញាដ៏ល្អ។ អ្នកទើបតែបានរៀនអំពីឧបករណ៍ដែលខ្ញុំបានចំណាយពីរបីសប្តាហ៍ក្នុងការធ្វើអោយមានសុខដុមសុខដូននៅពេលចាប់ផ្តើម។ + +Git និង GitHub មានអំណាចខ្លាំងណាស់ (វាពិតជាមានអំណាចខ្លាំងណាស់), ហើយអ្នកអភិវឌ្ឍន៍គ្រប់គ្នាដែលខ្ញុំស្គាល់ - រួមទាំងអ្នកដែលមើលទៅដូចជាគ្រប់កាល់យន្តនៅលើសព្វថ្ងៃ - ត្រូវបានហាត់ប្រាណ និងមានការប្រឈមមុខមួយចំនួនមុនពេលបានចេះយ៉ាងពេញលេញ។ ការពិតដែលអ្នកអាចឆ្លងកាត់មេរៀននេះទៅបានរាប់ថាអ្នកបានចាប់ផ្តើមរួចហើយក្នុងការជៀសវាងឧបករណ៍សំខាន់ៗបំផុតក្នុងប្រអប់ឧបករណ៍របស់អ្នកអភិវឌ្ឍន៍។ + +នេះគឺជាធនធានដ៏អស្ចារ្យមួយចំនួនដើម្បីជួយអ្នកហាត់ប្រាណ និងក្លាយជាអ្នកល្អប្រសើរជាងមុន៖ + +- [មាគ៌ាចូលរួមក្នុងកម្មវិធី open source](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) – ផ្លូវដឹកនាំរបស់អ្នកក្នុងការធ្វើអោយមានភាពខុសគ្នា +- [សន្លឹកគំនូស Git](https://training.github.com/downloads/github-git-cheat-sheet/) – រក្សាទុកនេះសម្រាប់យោងយ៉ាងងាយស្រួល! + +ហើយចងចាំ៖ ហាត់ប្រាណបានលទ្ធផល មិនមែនសម្រាប់ភាពល្អឥតខ្ចោះទេ! ប្រើ Git និង GitHub ជាញឹកញាប់ ប៊ិចកាន់តែធម្មជាតិ។ GitHub បានបង្កើតវគ្គសិក្សាដ៏អស្ចារ្យមួយចំនួនដែលអនុញ្ញាតឱ្យអ្នកអនុវត្តក្នុងបរិយាកាសសុវត្ថិភាព៖ + +- [ការណែនាំទៅកាន់ GitHub](https://github.com/skills/introduction-to-github) +- [ទំនាក់ទំនងដោយប្រើ Markdown](https://github.com/skills/communicate-using-markdown) +- [GitHub Pages](https://github.com/skills/github-pages) +- [គ្រប់គ្រងករណីបក្សបី](https://github.com/skills/resolve-merge-conflicts) + +**មានចិត្តចង់រំដួល? ពិនិត្យមើលឧបករណ៍ទាន់សម័យទាំងនេះ៖** +- [ឯកសារប្រើប្រាស់ GitHub CLI](https://cli.github.com/manual/) – សម្រាប់ពេលដែលអ្នកចង់មានអារម្មណ៍ដូចជារត់ command-line +- [ឯកសារវិធីប្រើ GitHub Codespaces](https://docs.github.com/en/codespaces) – កូដនៅលើពពក! +- [ឯកសារវិធីប្រើ GitHub Actions](https://docs.github.com/en/actions) – ចាក់សោល្វាឃហ្វ្លូទាំងអស់ +- [អនុវត្តិល្អបំផុត Git](https://www.atlassian.com/git/tutorials/comparing-workflows) – លើកកម្ពស់ស្ទីលការងាររបស់អ្នក + +## សមួសជាមួយ GitHub Copilot Agent 🚀 + +ប្រើម៉ូដ Agent ដើម្បីបញ្ចប់សមួសខាងក្រោម៖ + +**ការពិពណ៌នា:** បង្កើតគម្រោងអភិវឌ្ឍន៍វែបសហការដែលបង្ហាញដំណើរការ GitHub ពេញលេញដែលអ្នកបានរៀនក្នុងមេរៀននេះ។ សមួសនេះនឹងជួយអ្នកហាត់ការបង្កើត repository, មុខងារ​នៃការសហការនិងដំណើរការថ្មីៗ Git នៅក្នុងស្ថានភាពពិត។ + +**ការស្នើសុំ:** បង្កើត repo GitHub សាធារណៈថ្មីសម្រាប់គម្រោង "ធនធានអភិវឌ្ឍន៍វែប" មួយ។ Repo នេះគួរមានឯកសារ README.md ដែលមានរចនាសម្ព័ន្ធល្អ រាយបញ្ជីឧបករណ៌ និងធនធានអភិវឌ្ឍន៍វែបមានប្រយោជន៍ តម្រៀបតាមប្រភេទ (HTML, CSS, JavaScript, ល។) រៀបចំ repo ជាមួយស្តង់ដារសហគមน์ត្រឹមត្រូវ រួមមានអាជ្ញាប័ណ្ណ, គោលការណ៍ចូលរួម និងក្បួនឯកសារអនុវត្តន៍។ បង្កើតសាខាឆ្នើមយ៉ាងហោចណាស់ពីរជា feature branch: មួយសម្រាប់បន្ថែមធនធាន CSS និងមួយសម្រាប់ធនធាន JavaScript។ ធ្វើការបញ្ជូលការផ្លាស់ប្តូរទៅលើមួយនីមួយសាខាជាមួយសារ commit បញ្ជាក់បរិយាយ ហើយបង្កើត pull requests ដើម្បីរួមបញ្ចូលការផ្លាស់ប្តូរមកវិញ main។ បើកមុខងារ GitHub ដូចជា Issues, Discussions និងរៀបចំល្វាឃហ្វ្លូ GitHub Actions ធ្វើតេស្តស្វ័យប្រវត្តិ។ + +## ការងារ + +បេសកកម្មរបស់អ្នក ប្រសិនបើអ្នកជ្រើសរើសទទួលយកវា៖ បញ្ចប់វគ្គសិក្សា [Introduction to GitHub](https://github.com/skills/introduction-to-github) នៅលើ GitHub Skills។ វគ្គសិក្សាអន្តរកម្មនេះនឹងអនុញ្ញាតឱ្យអ្នកហាត់ត្រូវបានក្នុងបរិយាកាសដែលមានការណែនាំគ្រប់ជំហាន និងមានសុវត្ថិភាព។ បន្ថែមលើនេះ អ្នកនឹងទទួលបានបដាដ៏ត្រជាក់ក្លាដោយពេលសម្រេចប្រាក់សម្រាប់វគ្គនេះ! 🏅 + +**មានផ្លូវចង់ទទួលការប្រឈមបន្តទៀត?** +- រៀបចំការផ្ទៀងផ្ទាត់ SSH សម្រាប់គណនី GitHub របស់អ្នក (មិនចាំបាច់មានពាក្យសំងាត់ទៀតទេ!) +- សាកល្បងប្រើ GitHub CLI សម្រាប់ប្រតិបត្តិការ Git ប្រចាំថ្ងៃរបស់អ្នក +- បង្កើត repo រួមជាមួយ workflow GitHub Actions +- ស្វែងរក GitHub Codespaces ដោយបើក repo នេះនៅក្នុងកម្មវិធីគ្រប់គ្រងមេឌាននៅលើពពក + +--- + +## 🚀 រតនភាពជំនាញ GitHub របស់អ្នក + +### ⚡ **អ្វីដែលអ្នកអាចធ្វើបានក្នុង 5 នាទីក្រោយ** +- [ ] ផ្ដល់ផ្កាយ repo នេះ និងគម្រោងផ្សេងទៀត 3 ដែលអ្នកចាប់អារម្មណ៍ +- [ ] នៅតែបើកការផ្ទៀងផ្ទាត់ពីរជាន់លើគណនី GitHub របស់អ្នក +- [ ] បង្កើត README សាមញ្ញសម្រាប់ repo ដំបូងរបស់អ្នក +- [ ] តាមដានអ្នកអភិវឌ្ឍន៍ 5 នាក់ដែលការងាររបស់ពួកគេគួរឲ្យចាប់អារម្មណ៍ + +### 🎯 **អ្វីដែលអ្នកអាចសម្រេចបានក្នុង​មួយម៉ោងនេះ** +- [ ] បញ្ចប់សំណួរប្រលងក្រោយមេរៀន និងពិចារណា​ពី​ដំណើរការរបស់អ្នកនៅ GitHub +- [ ] រៀបចំកូនសោ SSH សម្រាប់ការផ្ទៀងផ្ទាត់គណនី GitHub ដោយគ្មានពាក្យសម្ងាត់ +- [ ] បង្កើត commit មួយដ៏មានអត្ថន័យដំបូង ជាមួយសារ commit ល្អ +- [ ] ស្វែងយល់ផ្ទាំង "Explore" របស់ GitHub ដើម្បីស្វែងរកគម្រោងរំលេច +- [ ] ហាត់ប្រាណ fork repo និងធ្វើការផ្លាស់ប្តូរតូចមួយ + +### 📅 **ដំណើរអភិវឌ្ឍ GitHub រយៈពេលមួយសប្តាហ៍** +- [ ] បញ្ចប់វគ្គ GitHub Skills (Introduction to GitHub, Markdown) +- [ ] ធ្វើលើ pull request ដំបូងទៅគម្រោង open source +- [ ] រៀបចំតំបន់ GitHub Pages សម្រាប់បង្ហាញការងារ +- [ ] ចូលរួមក្នុង GitHub Discussions លើគម្រោងដែលអ្នកចាប់អារម្មណ៍ +- [ ] បង្កើត repo ជាមួយស្តង់ដារសហគមน์ត្រឹមត្រូវ (README, អាជ្ញាប័ណ្ណលើកនេះ) +- [ ] សាកល្បង GitHub Codespaces សម្រាប់ការអភិវឌ្ឍនៅលើពពក + +### 🌟 **បម្លែងរៀងរាល់ខែរបស់អ្នក** +- [ ] ចូលរួមក្នុងគម្រោង open source 3 គម្រោងផ្សេងៗ +- [ ] ជួយណែនាំអ្នកថ្មីក្នុង GitHub (បង់ពន្ធទៅមុខ!) +- [ ] រៀបចំល្វាឃហ្វ្លូស្វ័យប្រវត្តជាមួយ GitHub Actions +- [ ] បង្កើតបណ្ណាល័យបង្ហាញពីការចូលរួម GitHub របស់អ្នក +- [ ] ចូលរួម Hacktoberfest ឬព្រឹត្តិការណ៍សហគមន៍ដូចគ្នា +- [ ] ក្លាយជាអ្នកថែរក្សាគម្រោងរបស់ខ្លួនដែលអ្នកដទៃចូលរួម + +### 🎓 **ការត្រួតពិនិត្យជំនាញ GitHub ចុងក្រោយ** + +**អបអរសាទរពីជំហានដែលអ្នកបានឈានដល់៖** +- អ្វីទៅជា​អ្វីដែលអ្នកចូលចិត្តបំផុតអំពីការប្រើ GitHub? +- មុខងារសហការណ៍ណាមួយដែលធ្វើឲ្យអ្នករំភើបបំផុត? +- តើអ្នកមានទំនុកចិត្តប៉ុណ្ណានៅក្នុងការចូលរួម open source ឥឡូវនេះ? +- គម្រោងដំបូងដែលអ្នកចង់ចូលរួមជាមួយគឺអ្វី? + +```mermaid +journey + title គ្រឿងដំណើរជំនឿចំពោះ GitHub របស់អ្នក + section ថ្ងៃនេះ + Nervous: 3: You + Curious: 4: You + Excited: 5: You + section សប្តាហ៍នេះ + Practicing: 4: You + Contributing: 5: You + Connecting: 5: You + section ខែក្រោយ + Collaborating: 5: You + Leading: 5: You + Inspiring Others: 5: You +``` +> 🌍 **សូមស្វាគមន៍ចូលរឿងសហគមន៍អភិវឌ្ឍន៍ពិភពលោក!** ពេលនេះអ្នកមានឧបករណ៍ក្នុងការសហការជាមួយអ្នកអភិវឌ្ឍន៍រាប់លាននាក់នៅជុំវិញពិភពលោក។ ការចូលរួមដំបូងរបស់អ្នកប្រហែលជាតូចតាចខ្លះ ប៉ុន្តែចងចាំថា - គម្រោងចាំបាច់ open source មួយៗបានចាប់ផ្តើមពីសារដំបូងរបស់នរណាម្នាក់។ សំនួរមិនមែនថាអ្នកនឹងធ្វើឥទ្ធិពលបាននោះទេ ប៉ុន្តែគម្រោងណាដែលបែបបង្អួតពីទស្សនៈរបស់អ្នកជាលើកដំបូងហើយ! 🚀 + +ចងចាំ៖ អ្នកជំនាញគ្រប់រូបធ្លាប់ជាអ្នកចាប់ផ្តើមម្នាក់។ អ្នកអាចធ្វើបាន! 💪 + +--- + + +**បរិច្ចាគ**៖ +ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ នៅពេលដែលយើងព្យាយាមឱ្យមានភាពត្រឹមត្រូវ សូមយកចិត្តទុកដាក់ថាការបកប្រែដោយស្វ័យប្រវត្តិនេះអាចមានកំហុស ឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមនៅក្នុងភាសាតំណើរដើមគួរត្រូវបានគិតថាជាឆ្នាំកំណត់ដែលមានអំណាច។ សម្រាប់ព័ត៌មានសំខាន់ យើងផ្តល់អនុសាសន៍ឱ្យប្រើការបកប្រែដោយមនុស្សវិជ្ជាជីវៈ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសដែលកើតមានពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។ + \ No newline at end of file diff --git a/translations/km/1-getting-started-lessons/3-accessibility/README.md b/translations/km/1-getting-started-lessons/3-accessibility/README.md new file mode 100644 index 0000000000..ae50b510e8 --- /dev/null +++ b/translations/km/1-getting-started-lessons/3-accessibility/README.md @@ -0,0 +1,1492 @@ +# បង្កើតទំព័របណ្ដាញដែលអាចចូលប្រើបាន + +![អំពីភាពអាចចូលប្រើបានទាំងអស់](../../../../translated_images/km/webdev101-a11y.8ef3025c858d897a.webp) +> ស្កេឆ្នតដោយ [Tomomi Imura](https://twitter.com/girlie_mac) + +```mermaid +journey + title ជំនួយការសិក្សាអាចចូលរួមរបស់អ្នក + section មូលដ្ឋាន + ការយល់ដឹងអំពីអ្នកប្រើប្រាស់: 5: You + ឧបករណ៍សាកល្បង: 4: You + PRINCIPES POUR: 5: You + section បង្កើតជំនាញ + Semantic HTML: 4: You + ការរចនាទិដ្ឋភាព: 5: You + បច្ចេកទេស ARIA: 4: You + section អនុវត្តន៍ជំនាញ + ការបញ្ជូនតាមក្រចក: 5: You + ការចូលរួមគំរូ: 4: You + ការសាកល្បងពិភពលោកពិត: 5: You +``` +## សំណួរប្រលងមុនមេរៀន +[សំណួរប្រលងមុនមេរៀន](https://ff-quizzes.netlify.app/web/) + +> អំណាចនៃបណ្តាញគឺនៅក្នុងភាពទូលំទូលាយរបស់វា ការចូលដំណើរការដោយមនុស្សគ្រប់រូបដោយមិនគិតពីជំងឺពិសេសណាមួយ គឺជាផ្នែកសំខាន់មួយ។ +> +> \- លោក Timothy Berners-Lee អតីតនាយក W3C និងជាអ្នកបង្កើតបណ្ដាញអ៊ិនធឺរណែតពិភពលោក + +នេះគឺជារឿងមួយដែលប្រហែលជាអាចធ្វើអោយអ្នកភ្ញាក់ផ្អើល៖ នៅពេលអ្នកបង្កើតគេហទំព័រដែលអាចចូលប្រើបាន អ្នកមិនត្រឹមតែជួយមនុស្សដែលមានជំងឺពិសេសទេ ប៉ុន្តែអ្នកកំពុងធ្វើឱ្យបណ្ដាញល្អប្រសើរឡើងសម្រាប់មនុស្សគ្រប់រូប! + +ធ្លាប់សังเกតឃើញចំណុចកាត់ផ្លូវភាគច្រើនទេ? វាត្រូវបានរចនាឡើងសម្រាប់រទេះចរក្នុងដំបូង ប៉ុន្តែឥឡូវនេះវាជួយមនុស្សដែលមានទារកក្នុងទូក, ពលករដឹកជញ្ជូនប្រើរទេះដាក់ទំនិញ, អ្នកធ្វើដំណើរដែលមានកាបូបរុញ, និងអ្នកជិះកង់ផងដែរ។ នេះគឺជាការប្រើប្រាស់រចនាប័ទ្មគេហទំព័រដែលអាចចូលប្រើបាន—ដំណោះស្រាយដែលជួយមនុស្សក្រុមមួយ ដោយផ្ទាល់ជា​មួយ​ផ្តល់ប្រយោជន៍​ដល់​អ្នក​គ្រប់គ្នា។ ពាណិជ្ជកម្មមែនទេ? + +នៅក្នុងមេរៀននេះ យើងនឹងស្រាវជ្រាវពីរបៀបបង្កើតគេហទំព័រដែលពិតជាដំណើរការសម្រាប់មនុស្សគ្រប់រូប មិនគិតពីរបៀបដែលពួកគេចូលប្រើបណ្ដាញនោះទេ។ អ្នកនឹងបានស្វែងរកបច្ចេកទេសជាក់ស្តែងដែលមានរួចជាស្តង់ដារបណ្ដាញ ចូលរួមដោយសកម្មជាមួយឧបករណ៍តេស្ត និងឃើញរបៀបដែលភាពអាចចូលប្រើបានធ្វើឱ្យគេហទំព័ររបស់អ្នកប្រើប្រាស់ល្អប្រសើរឡើងសម្រាប់អ្នកប្រើប្រាស់គ្រប់រូប។ + +នៅចុងបញ្ចប់មេរៀននេះ អ្នកនឹងមានទំនុកចិត្តចំពោះការធ្វើឱ្យភាពអាចចូលប្រើបានជាផ្នែកធម្មតានៃដំណើរការអភិវឌ្ឍរបស់អ្នក។ រៀបចំរួចហើយដើម្បីស្វែងរករបៀបដែលការជ្រើសរើសរចនាប្រឹក្សាអាចបើកបង្ហាញបណ្ដាញទៅអ្នកប្រើប្រាស់រាប់លានមេដ្ឋានទេ? ចៀសវាងចូលរួម! + +```mermaid +mindmap + root((ការអាចចូលប្រើបណ្ដាញ)) + Users + Screen readers [អ្នកអានអេក្រង់] + Keyboard navigation [ការរុករកដោយក្តារចុច] + Voice control [ការគ្រប់គ្រងដោយសំលេង] + Magnification [ការពង្រីក] + Technologies + HTML semantics [អត្ថន័យ HTML] + ARIA attributes [គុណលក្ខណៈ ARIA] + CSS focus indicators [សូចនាករ​ការផ្ដោត CSS] + Keyboard events [ព្រឹត្តិការណ៍​ក្តារចុច] + Benefits + Wider audience [ទស្សនិកជនធំទូលាយ] + Better SEO [SEO ល្អប្រសើរ] + Legal compliance [ការអនុវត្តច្បាប់] + Universal design [ការរចនាសកល] + Testing + Automated tools [ឧបករណ៍ស្វ័យប្រវត្តិ] + Manual testing [ការធ្វើតេស្តដោយដៃ] + User feedback [មតិយោបល់អ្នកប្រើ] + Real assistive tech [បច្ចេកវិទ្យាជំនួយពិត] +``` +> អ្នកអាចរៀនមេរៀននេះនៅលើ [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/accessibility/?WT.mc_id=academic-77807-sagibbon)។ + +## យល់ដឹងពីបច្ចេកវិទ្យាជំនួយ + +មុនពេលយើងចាប់ផ្តើមកូដ មកយកពេលខ្លីដើម្បីយល់ពីរបៀបដែលមនុស្សដែលមានសមត្ថភាពខុសៗគ្នាត្រូវប្រឈមមុខនឹងបណ្ដាញ។ នេះមិនមែនគ្រាន់តែជាទ្រឹស្តីទេ—ការយល់ដឹងពីរបៀបក្នុងការរុករកពិភពលោកពិតប្រាកដទាំងនេះ នឹងធ្វើឱ្យអ្នកក្លាយជា អ្នកអភិវឌ្ឍន៍ល្អប្រសើរជាងមុន! + +បច្ចេកវិទ្យាជំនួយគឺជាឧបករណ៍អស្ចារ្យដែលជួយមនុស្សដែលមានជំងឺពិសេសក្នុងការប្រើប្រាស់គេហទំព័របែបដែលប្រហែលជាអ្នកអាចភ្ញាក់ផ្អើល។ ប្រសិនបើអ្នកយល់ឃើញរបៀបដែលបច្ចេកវិទ្យានេះដំណើរការ ការបង្កើតបទពិសោធន៍គេហទំព័រដែលអាចចូលប្រើបានក្លាយជារឿងងាយស្រួលពិតប្រាកដ។ ប្រហែលដូចជាកំពុងរៀនឃើញកូដរបស់អ្នកតាមភ្នែករបស់អ្នកដទៃម្នាក់។ + +### អ្នកអានអេក្រង់ + +[Screen readers](https://en.wikipedia.org/wiki/Screen_reader) គឺជាឧបករណ៍បច្ចេកវិទ្យាដ៏ស្វាហាប់ដែលបំលែងអត្ថបទឌីជីថលទៅជាសំឡេងនិយាយ ឬលទ្ធផលប្រៀល។ ទោះបីជាយ៉ាងណាមួយ វាត្រូវបានប្រើប្រាស់ដោយអ្នកមានបញ្ហាឧបករណ៍មើល ដូច្នេះវាក៏មានប្រយោជន៍សម្រាប់អ្នកប្រើប្រាស់ដែលមានបញ្ហាគ្រប់ផ្នែករៀនដូចជាឌីសឡិចស៊ី។ + +ខ្ញុំចូលចិត្តគិតអំពីអ្នកអានអេក្រង់ដូចជាការមានអ្នកណែរតា​ចាស់​ដ៏ប្រាជ្ញាអានសៀវភៅឱ្យអ្នកស្ដាប់។ វាអានមាតិកាដោយលំដាប់ហេតុផល ប្រកាសធាតុអន្តរក្រាដូចជា "ប៊ូតុង" ឬ "តំណភ្ជាប់" និងផ្តល់ជម្រាបរង្វេចក្តារចុចដើម្បីលោតជុំវិញទំព័រ។ ប៉ុន្តែការងារនេះអាចប្រតិបត្តិត្រឹមត្រូវមកដល់ តែបើទំព័របណ្ដាញត្រូវបានបង្កើតតាមរចនាសម្ព័ន្ធ និងមាតិកាដែលមានអត្ថន័យ។ នេះជាកន្លែងដែលអ្នកជាអ្នកអភិវឌ្ឍន៏មកចូលរួម! + +**អ្នកអានអេក្រង់ដែលពេញនិយមនៅលើវេទិកាផ្សេងៗ:** +- **Windows**: [NVDA](https://www.nvaccess.org/about-nvda/) (ឥតគិតថ្លៃ និងពេញនិយមបំផុត), [JAWS](https://webaim.org/articles/jaws/), [Narrator](https://support.microsoft.com/windows/complete-guide-to-narrator-e4397a0d-ef4f-b386-d8ae-c172f109bdb1/?WT.mc_id=academic-77807-sagibbon) (ដំណើរការ​រួច) +- **macOS/iOS**: [VoiceOver](https://support.apple.com/guide/voiceover/welcome/10) (ដំណើរការរួច និងមានសមត្ថភាពខ្ពស់) +- **Android**: [TalkBack](https://support.google.com/accessibility/android/answer/6283677) (ដំណើរការរួច) +- **Linux**: [Orca](https://wiki.gnome.org/Projects/Orca) (ឥតគិតថ្លៃ និងប្រភពបើកចំហ) + +**របៀបដែលអ្នកអានអេក្រង់រុករកមាតិកាគេហទំព័រ៖** + +អ្នកអានអេក្រង់ផ្តល់នូវវិធីសាស្ត្ររុករកច្រើនដែលធ្វើឱ្យការរុករកមានប្រសិទ្ធភាពសម្រាប់អ្នកប្រើប្រាស់ដែលមានបទពិសោធន៍៖ +- **អានតាមលំដាប់**: អានមាតិកាដោយចាប់ពីលើទៅក្រោម ដូចជាកំហូរសៀវភៅ +- **រុករកតាម Landmarks**: លោតរវាងផ្នែកផ្សេងៗនៃទំព័រ (header, nav, main, footer) +- **រុករកតាម​លេខ​សម្គាល់សារមន្ទីរ**: លោតរវាងចំណងជើង ដើម្បីយល់ពីរចនាសម្ព័ន្ធទំព័រ +- **បញ្ជីតំណភ្ជាប់**: បង្កើតបញ្ជីទាំងអស់នៃតំណភ្ជាប់សម្រាប់ចូលប្រើរហ័ស +- **គ្រប់គ្រងទម្រង់**: រុករកដោយផ្ទាល់រវាងប្រអប់បញ្ចូល និងប៊ូតុង + +> 💡 **នេះជារឿងដែលធ្វើឱ្យខ្ញុំភ្ញាក់ផ្អើល**៖ ៦៨% នៃអ្នកប្រើប្រាស់អ្នកអានអេក្រង់ រុករកសំខាន់ដោយផ្អែកលើចំណងជើង ([WebAIM Survey](https://webaim.org/projects/screenreadersurvey9/#finding))។ នេះមានន័យថារចនាសម្ព័ន្ធចំណងជើងរបស់អ្នកមានសារៈសំខាន់ដូចជាផែនទីសម្រាប់អ្នកប្រើប្រាស់—ពេលដែលអ្នកធ្វើបានត្រឹមត្រូវ អ្នកកំពុងជួយមនុស្សឲ្យរកមើលមាតិការបស់អ្នកឆាប់រហ័សជាងមុន! + +### ការបង្កើតដំណើរការតេស្តរបស់អ្នក + +មានដំណឹងល្អមួយ៖ ការតេស្តភាពអាចចូលប្រើបានមានប្រសិទ្ធិភាពមិនចាំបាច់ត្រូវបំភាយ! អ្នកនឹងចង់បញ្ចូលឧបករណ៍ស្វ័យប្រវត្តិ (ពួកវាល្អឥតខ្ចោះសម្រាប់រកបញ្ហាអច្បាប់) ជាមួយនឹងការតេស្តដោយដៃ។ នេះជាវិធីសាស្ត្រដែលខ្ញុំរកឃើញអាចចាប់បញ្ហាប្រើប្រាស់ជាច្រើនដោយមិនប៉ះពាល់ដល់ពេលវេលារបស់អ្នក: + +**ដំណើរការតេស្តដោយដៃសំខាន់៖** + +```mermaid +flowchart TD + A[🚀 ចាប់ផ្តើមការធ្វើតេស្ត] --> B{⌨️ នាវីហ្គេសិនក្តារចុច} + B --> C[Tab តាមរយៈធាតុអន្តរក्रियាទាំងអស់] + C --> D{🎧 ការធ្វើតេស្តប្រើម៉ាស៊ីនអានអេក្រង់} + D --> E[ធ្វើតេស្តជាមួយ NVDA/VoiceOver] + E --> F{🔍 ការធ្វើតេស្តបំបែក} + F --> G[បំបែកទៅ 200% ហើយធ្វើតេស្តមុខងារ] + G --> H{🎨 ពិនិត្យពណ៌/ការប្រែប្រួល} + H --> I[ធានាថាអត្ថបទទាំងអស់បំពេញសមាមាត្រប្រែប្រួល] + I --> J{👁️ ការគ្រប់គ្រងការផ្តោត} + J --> K[ធ្វើឱ្យប្រាកដថា តួអក្សរផ្តោតមានរូបរាងច្បាស់] + K --> L[✅ ការធ្វើតេស្តបានបញ្ចប់] + + style A fill:#e3f2fd + style L fill:#e8f5e8 + style B fill:#fff3e0 + style D fill:#f3e5f5 + style F fill:#e0f2f1 + style H fill:#fce4ec + style J fill:#e8eaf6 +``` +**បញ្ជីតេស្តជាដំណាក់កាល៖** +1. **រុករកតាមក្តារចុច**៖ ប្រើតែ Tab, Shift+Tab, Enter, Space, និងសញ្ញាកាំបិតតុក្កតា +2. **តេស្តអ្នកអានអេក្រង់**៖ បើក NVDA, VoiceOver, ឬ Narrator ហើយរុករកនៅពេលភ្នែកបិទ +3. **តេស្តការបញ្ចូលរូបភាពចំរុះទំហំ**៖ តេស្តនៅកំរិត ២០០% និង ៤០០% +4. **ផ្ទៀងផ្ទាត់ការប្រៀបធៀបពណ៌**៖ ពិនិត្យអត្ថបទ និងរចនាសម្ព័ន្ធអន្តរក្រាលទាំងអស់ +5. **តេស្តសញ្ញាសំគាល់ការផ្តោត**៖ ប្រាកដថាធាតុអន្តរក្រាលទាំងអស់មានស្ថានភាពផ្តោតច្បាស់លាស់ + +✅ **ចាប់ផ្តើមជាមួយ Lighthouse**៖ បើក DevTools របស់អ្នក អនុវត្តការត្រួតពិនិត្យភាពអាចចូលប្រើដោយ Lighthouse ហើយប្រើលទ្ធផលដើម្បីមើលកន្លែងដែលត្រូវផ្តោតសម្រាប់តេស្តដោយដៃ។ + +### ឧបករណ៍បន្ថែមទេស៍នឹងបន្ធូរទំហំ + +អ្នកស្គាល់ហើយថាឥលូវនេះខ្លះមនុស្សប្រើជម្រោះដៃដើម្បីបក្សទំហំអត្ថបទនៅលើទូរស័ព្ទនៅពេលអត្ថបទតូចពេក ឬហើរមើលអេក្រង់កុំព្យូទ័រយួរដៃនៅពេលពន្លឺខ្លាំងមែនទេ? អ្នកប្រើជាច្រើនពេញចិត្តជាមួយឧបករណ៍បន្ថែមទេស៍ដើម្បីធ្វើអោយមាតិកាអាចអានបានជារៀងរាល់ថ្ងៃ។ នេះរួមបញ្ចូលមនុស្សដែលមើលមិនច្បាស់ អ្នកចាស់ៗ និងមនុស្សណាដែលបានព្យាយាមអានគេហទំព័រនៅក្រៅផ្ទះ។ + +បច្ចេកវិទ្យាបន្ថែមទេស៍ទំនើបបានឈានដល់កម្រិតលើសពីការធ្វើអោយវារីមធំទេ។ ការយល់ដឹងពីរបៀបដែលឧបករណ៍ទាំងនេះដំណើរការ នឹងជួយអ្នកបង្កើតរចនាប័ទ្មឆ្លាតវៃដែលនៅតែដំណើរការល្អ និងគួរឱ្យចាប់អារម្មណ៍នៅកម្រិតបន្ថែមទេស៍ណាមួយ។ + +**សមត្ថភាពបន្ថែមទេស៍របស់កម្មវិធីរុករកទំនើប:** +- **បន្ថែមទេស៍ទំព័រ**: បង្កើតអត្ថបទទាំងមូលដោយអត្រាពាក់កណ្តាល (អត្ថបទ រូបភាព រចនាសម្ព័ន្ធ) - វាជាវិធីដែលចូលចិត្តប្រើ +- **បន្ថែមទេស៍អត្ថបទតែ១**: ពង្រីកទំហំអក្សរផ្ទាល់ខ្លួនដោយរក្សាទម្រង់ដើម +- **ប៉ិនទឹកដៃ​បន្ថែមទេស៍**: ជំនួយរូបមន្តលើទូរស័ព្ទដៃសម្រាប់បន្ថែមទេស៍បណ្ដោះអាសន្ន +- **ការគាំទ្ររុករក**: រុករកទំនើបទាំងអស់គាំទ្រការបន្ថែមទេស៍រហូតដល់ ៥០០% ដោយមិនបំផ្លាញមុខងារ + +**កម្មវិធីបន្ថែមទេស៍ផ្នែកម៉ាស៊ីន:** +- **Windows**: [Magnifier](https://support.microsoft.com/windows/use-magnifier-to-make-things-on-the-screen-easier-to-see-414948ba-8b1c-d3bd-8615-0e5e32204198) (ដំណើរការរួច), [ZoomText](https://www.freedomscientific.com/training/zoomtext/getting-started/) +- **macOS/iOS**: [Zoom](https://www.apple.com/accessibility/mac/vision/) (ដំណើរការរួចជាមួយលក្ខណៈពិសេសខ្ពស់) + +> ⚠️ **ការយកចិត្តទុកដាក់រចនា**៖ WCAG ទាមទារថាមាតិកាត្រូវនៅមានមុខងារដោយសារត្រូវបានបន្ថែមទេស៍ទៅ ២០០%។ នៅកម្រិតនេះ ការរុករកបញ្ចេញតឹងតែងតែតិច និងធាតុអន្តរក្រាលទាំងអស់ត្រូវនៅអាចចូលប្រើបាន។ + +✅ **សាកល្បងរចនាប័ទ្មឆ្លាតវៃរបស់អ្នក**៖ បន្ថែមទេស៍រុករករបស់អ្នកទៅ ២០០% និង ៤០០%។ តើរចនារបស់អ្នកអាចបត់បែនបានជាដំណោះស្រាយល្អដែរឬ? តើអ្នកនៅតែអាចចូលប្រើមុខងារទាំងអស់បានដោយមិនចាំបាច់រុករកពេកទេ? + +## ឧបករណ៍តេស្ថភាពអាចចូលប្រើបានទំនើប + +ឥឡូវនេះអ្នកយល់ដឹងពីរបៀបដែលមនុស្សរុករកបណ្ដាញជាមួយបច្ចេកវិទ្យាជំនួយហើយ មកមើលឧបករណ៍ដែលជួយអ្នកបង្កើតនិងតេស្តគេហទំព័រដែលអាចចូលប្រើបាន។ + +គិតវាដូចជា៖ ឧបករណ៍ស្វ័យប្រវត្តិល្អឥតខ្ចោះសម្រាប់ចាប់បញ្ហាផ្ទាល់មុខ (ដូចជាអត្ថបទ alt ខ្វះ) ខណៈពេលដែលការតេស្តដោយដៃជួយអ្នកធានាថាគេហទំព័ររបស់អ្នកមានអារម្មណ៍ល្អក្នុងពិភពពិត។ រួមគ្នា ពួកគេផ្តល់សំណល់ទំនុកចិត្តថាគេហទំព័ររបស់អ្នកដំណើរការសម្រាប់មនុស្សគ្រប់រូប។ + +### តេស្តការប្រៀបធៀបពណ៌ + +មានដំណឹងល្អមួយ៖ ការប្រៀបធៀបពណ៌គឺជាបញ្ហាទិដ្ឋភាពអាចចូលប្រើបានធំបំផុតមួយ ប៉ុន្តែវាក៏ជារឿងងាយស្រួលក្នុងការជួសជុលផងដែរ។ ការប្រៀបធៀបល្អយ៉ាងខ្លាំងមានអត្ថប្រយោជន៍សម្រាប់មនុស្សគ្រប់រូប—ចាប់ពីអ្នកមានបញ្ហាអំពីចក្ខុទៅដល់អ្នកព្យាយាមអានទូរស័ព្ទនៅឆ្នេរមាត់សមុទ្រ។ + +**លក្ខខណ្ឌប្រៀបធៀប WCAG៖** + +| មុខងារ​អត្ថបទ | WCAG AA (អប្បបរមា) | WCAG AAA (ពង្រឹង) | +|-----------|-------------------|---------------------| +| **អត្ថបទធម្មតា** (ក្រោម 18pt) | 4.5:1 អត្រាប្រៀបធៀប | 7:1 អត្រាប្រៀបធៀប | +| **អត្ថបទធំ** (18pt+ ឬ 14pt+ ដិត) | 3:1 អត្រាប្រៀបធៀប | 4.5:1 អត្រាប្រៀបធៀប | +| **កម្មវិធី UI** (ប៊ូតុង, រង្វង់បែបផ្សារ) | 3:1 អត្រាប្រៀបធៀប | 3:1 អត្រាប្រៀបធៀប | + +**ឧបករណ៍តេស្តសំខាន់៖** +- [Colour Contrast Analyser](https://www.tpgi.com/color-contrast-checker/) - កម្មវិធីកុំព្យូទ័រដាស់តួពណ៌ +- [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/) - គេហទំព័រដែលផ្តល់មតិកែតម្រូវភ្លាមៗ +- [Stark](https://www.getstark.co/) - ពិសោធន៍ការរចនាក្នុងកម្មវិធី Figma, Sketch, Adobe XD +- [Accessible Colors](https://accessible-colors.com/) - រក​រក​ម៉ូដ​ពណ៌​អាច​ចូល​ប្រើ​បាន + +✅ **បង្កើត​ម៉ូដ​ពណ៌​ល្អ​ជាងមុន**៖ ចាប់ផ្តើមជាមួយពណ៌ម៉ាករបស់អ្នក ហើយប្រើឧបករណ៍ត្រួតពិនិត្យការប្រៀបធៀប ដើម្បីបង្កើតប្លង់ពណ៌ដែលអាចចូលប្រើបាន។ សរសេរបានជាឯកសារផ្នែករចនាប័ទ្មរបស់អ្នក។ + +### ភារកិច្ចតេស្តភាពអាចចូលប្រើបានទូលំទូលាយ + +ការតេស្តភាពអាចចូលប្រើបានមានប្រសិទ្ធភាពធំបំផុតគឺរួមបញ្ចូលវិធីសាស្ត្រចម្រុះ។ គ្មានឧបករណ៍ដេកនៅមួយដែលអាចចាប់បានគ្រប់បញ្ហា ដូច្នេះការបង្កើតរបៀបតេស្តជាមួយវិធីសាស្ត្រផ្សេងៗធានាថាមានការគ្របដណ្តប់ពេញលេញ។ + +**ការតេស្តដែលបោះសារប្រើប្រាស់ DevTools:** +- **Chrome/Edge**: ការត្រួតពិនិត្យភាពអាចចូលប្រើដោយ Lighthouse + ផ្ទាំង Accessibility +- **Firefox**: Accessibility Inspector រួមជាមួយទិដ្ឋភាពចំរុះ +- **Safari**: Audit tab នៅក្នុង Web Inspector ជាមួយបទបង្ហាញ VoiceOver + +**ផ្នែកបន្ថែមសម្រាប់ការតេស្តដែលជាអាជីព:** +- [axe DevTools](https://www.deque.com/axe/devtools/) - ការតេស្តស្វ័យប្រវត្តិដែលមានស្តង់ដារឡើងវិញ +- [WAVE](https://wave.webaim.org/extension/) - មតិបញ្ជាក់ជាមួយការបង្ហាញកំហុស +- [Accessibility Insights](https://accessibilityinsights.io/) - កម្មវិធីតេស្តទូលំទូលាយរបស់ Microsoft + +**បញ្ជា និងបញ្ចូលក្នុង CI/CD:** +- [axe-core](https://github.com/dequelabs/axe-core) - បណ្ណាល័យ JavaScript សម្រាប់តេស្តស្វ័យប្រវត្តិ +- [Pa11y](https://pa11y.org/) - ឧបករណ៍តេស្តភាពអាចចូលប្រើពីបញ្ជា +- [Lighthouse CI](https://github.com/GoogleChrome/lighthouse-ci) - ពិន្ទុភាពអាចចូលប្រើដោយស្វ័យប្រវត្តិ + +> 🎯 **គោលបំណងតេស្ត**៖ មានគោលបំណងទទួលបានពិន្ទុភាពអាចចូលប្រើបាន ៩៥+ ពី Lighthouse ជា​គោលជំនួយរបស់អ្នក។ ចូរចាំថា ឧបករណ៍ស្វ័យប្រវត្តិចាប់បញ្ហាបានប្រហែល ៣០-៤០% នៃបញ្ហា — ការតេស្តដោយដៃនៅតែមានសារៈសំខាន់! + +### 🧠 **ការតេស្តជំនាញ៖ រៀបចំរកបញ្ហា?** + +**មកមើលថាតើអ្នកមានអារម្មណ៍យ៉ាងដូចម្តេចចំពោះការតេស្តភាពអាចចូលប្រើបាន៖** +- វិធីសាស្ត្រតេស្តណាដែលមើលទៅសមស្របបំផុតសម្រាប់អ្នកពេលនេះ? +- តើអ្នកអាចស្របតាមរុករកតែជាមួយក្តារចុចបានមួយថ្ងៃឬ? +- តើមានឧបសគ្គអ្វីមួយដែលអ្នកមានបទពិសោធន៍ផ្ទាល់លើបណ្ដាញដែលទាក់ទងសិទ្ធិចូលប្រើបាន? + +```mermaid +pie title "បញ្ហាប្រកបដោយភាពអាចក្នុងការចូលទៅកាន់បានដែលត្រូវបានចាប់យោលដោយវិធីផ្សេងៗ" + "ឧបករណ៍ស្វ័យប្រវត្តិ" : 35 + "ការតេស្តដោយដៃ" : 40 + "មតិយោបល់ពីអ្នកប្រើ" : 25 +``` +> **កម្លាំងបង្កើនទំនុកចិត្ត**៖ អ្នកតេស្តភាពអាចចូលប្រើជំនាញពីរបៀបនេះជាជំនួយ។ អ្នកកំពុងរៀននូវអនុវត្តស្តង់ដារអាជីព! + +## ការបង្កើតភាពអាចចូលប្រើបានពីគ្រឹះដំបូង + +គន្លងជោគជ័យក្នុងការធ្វើឱ្យមានភាពអាចចូលប្រើវាជា ការបង្កើតវា អំពីគ្រឹះរបស់អ្នកចាប់ពីថ្ងៃទីមួយ។ ខ្ញុំដឹងថាវាជាការផឹកពិបាកក្នុងការរៀនថា "ខ្ញុំនឹងបន្ថែមភាពអាចចូលប្រើនៅពេលក្រោយ" ប៉ុន្តែវាដូចជាការបន្ថែមជណ្តើរឡើងដូចជារឿងនៃផ្ទះដែលបានសាងសង់រួចមកហើយ។ អាចធ្វើបាន? បាទ។ ងាយស្រួល? មិនមែនទេ។ + +គិតពីភាពអាចចូលប្រើបានដូចជាការរៀបចំប្លង់ផ្ទះ—វាងាយស្រួលក្នុងការរួមបញ្ចូលការចូលប្រើរទេះចរក្នុងផែនការសង់សួនច្បារដំបូងជាងការត្រូវតែចាក់ជណ្តើរបន្ថែមនៅពេលក្រោយ។ + +### គោលការណ៍ POUR៖ គ្រឹះភាពអាចចូលប្រើបានរបស់អ្នក + +ស្តង់ដារដាក់ទំព័រជួរមាតិកាអាចចូលប្រើបាន (WCAG) បានស្តារឡើងនៅលើគោលការណ៍មូលដ្ឋានបួនដែលហៅថា POUR។ កុំបារម្ភទេ—វាមិនមែនជាគំនិតជជុម្មានសាស្ត្រទេ! វាជាការណែនាំជាក់ស្តែងសម្រាប់បង្កើតមាតិកាដែលដំណើរការសម្រាប់មនុស្សគ្រប់រូប។ + +ពេលអ្នកយល់វា តិចដល់ការសម្រេចចិត្តភាពអាចចូលប្រើក្លាយទៅជារឿងងាយស្រួល។ វាដូចជាមានបញ្ជីត្រួតពិនិត្យផ្លូវចិត្តដែលណែនាំការជ្រើសរើសរចនាប័ត្រ រួចទៅមកទស្សន៍ជាមួយ៖ + +```mermaid +flowchart LR + A[🔍 អាចគេសង្កេតឃើញបាន
តើអ្នកប្រើអាចដឹងបានទេ?] --> B[🎮 អាចប្រើប្រាស់បាន
តើអ្នកប្រើអាចប្រើវាបានទេ?] + B --> C[📖 អាចយល់បាន
តើអ្នកប្រើអាចយល់បានទេ?] + C --> D[💪 រឹងមាំ
តើវាធ្វើការ​នៅគ្រប់កន្លែងទេ?] + + A1[អត្ថបទជំនួស
ចាប់យកអត្ថន័យ
ភាពខុសគ្នា] --> A + B1[ចូលប្រើក្តារចុច
គ្មានការតក់ស្លុត
ពេលកំណត់] --> B + C1[ភាសាផ្ទាល់ខ្លួន
អាចទាយទុកបាន
ជំនួយកំហុស] --> C + D1[កូដត្រឹមត្រូវ
ឆបគ្នា
ការប្រកួតប្រជែងអនាគត] --> D + + style A fill:#e1f5fe + style B fill:#e8f5e8 + style C fill:#fff3e0 + style D fill:#f3e5f5 +``` +**🔍 ដ៏អាចមើលបាន**៖ ព័ត៌មានត្រូវតែបង្ហាញបាននៅក្នុងរបៀបដែលអ្នកប្រើអាចយល់បានតាមការប្រើសញ្ញាផ្សេងៗរបស់ពួកគេ + +- ផ្តល់ជម្រើសអក្សរជំនួសសម្រាប់មាតិកាដែលមិនមែនអត្ថបទ (រូបភាព វីដេអូ សំឡេង) +- ការប្រៀបធៀបពណ៌គ្រប់គ្រាន់សម្រាប់អត្ថបទនិងសមាសភាព UI ទាំងអស់ +- ផ្តល់អត្ថបទបង្ហាញ និងអត្ថបទបកប្រែសម្រាប់មាតិកាមេឌៀ +- រចនាមាតិកាឱ្យនៅអាចដំណើរការបានពេលបន្ថែមទេស៍រហូតដល់ ២០០% +- ប្រើលក្ខណៈសញ្ញាច្រើន (មិនត្រឹមតែពណ៌) ដើម្បីបង្ហាញព័ត៌មាន + +**🎮 អាចប្រតិបត្តិការ**៖ អនុវត្តរួម UI គ្រប់រូបត្រូវអាចប្រើបានតាមវិធីបញ្ចូលមានស្រាប់ + +- ធ្វើអោយមុខងារទាំងអស់អាចចូលប្រើបានតាមរយៈរុករកដោយក្តារចុច +- ផ្តល់ពេលគ្រប់គ្រាន់ចំពោះអ្នកប្រើឱ្យអាននិងអន្តរាគមន៍ជាមួយមាតិកា +- ជៀសវាងមាតិកាដែលបណ្តាលឲ្យមានសញ្ញាអស់បែបកាយវិការ ឬរោគវេស្ទីប្យុល +- ជួយអ្នកប្រើទៅរុករកបានយ៉ាងមានប្រសិទ្ធភាព ជាមួយរចនាសម្ព័ន្ធច្បាស់លាស់និងសញ្ញាសំគាល់ +- ត្រួតពិនិត្យថាធាតុអន្តរក្រាលមានទំហំគោលដៅគ្រប់គ្រាន់ (ចាប់ពី ៤៤pxឡើង) + +**📖 យល់ដឹងបាន**៖ ព័ត៌មាននិងការបញ្ជារ UI ត្រូវតែច្បាស់លាស់និងងាយយល់ + +- ប្រើភាសាច្បាស់ សាមញ្ញដែលសមរម្យសម្រាប់អ្នកដំណើរការ +- ធ្វើឲ្យមាតិកាបង្ហាញនិងដំណើរការដោយវិធីអាច្យកត្រូវបានទំនង និងថេរ +- ផ្តល់ការណែនាំច្បាស់លាស់ និងសារកំហុសសម្រាប់ការបញ្ចូលអ្នកប្រើ +- ជួយអ្នកប្រើយល់និងកែប្រែកំហុសនៅក្នុងទម្រង់ +- រៀបចំមាតិកាឲ្យមានលំដាប់អាន និងហេតុផល + +**💪 ត្រាស់ទ្រាំ**៖ មាតិកាត្រូវតែដំណើរការយ៉ាងទុកចិត្តនៅលើបច្ចេកវិទ្យាផ្សេងគ្នានិងឧបករណ៍ជំនួយ +- **ប្រើ HTML ដែលមានតម្លាភាព និងមានអត្ថន័យជាគន្លងដើមរបស់អ្នក** +- **ធានាការចូលគ្នាជាមួយបច្ចេកវិទ្យាជំនួយបច្ចុប្បន្ន និងអនាគត** +- **អនុវត្តតាមស្តង់ដារ និងអនុវត្តការប្រកបដោយល្អសម្រាប់ markup** +- **សាកល្បងឆ្លងកាត់កម្មវិធីរុករក ផ្លាតហ្វតផ្លត និងឧបករណ៍ជំនួយផ្សេងៗ** +- **រៀបចំមាតិកា ដើម្បីឱ្យវាអាចធ្លាក់ចុះយ៉ាងទំនេរចិត្ត ប្រញាប់ពេលមុខងារខ្ពស់មិនគាំទ្រ** + +### 🎯 **ត្រួតពិនិត្យ PRINCIPLES POUR៖ ដើម្បីឱ្យវាចំរូង** + +**ការកាន់ត្រង់រហ័សលើមូលដ្ឋាន៖** +- តើអ្នកអាចគិតពីមុខងារបណ្តាញដែលបរាជ័យក្នុង PRINCIPLES POUR នីមួយទេ? +- គោលការណ៍ណាដែលមានអារម្មណ៍ធម្មជាតិត្រឹមត្រូវសម្រាប់អ្នកជាអ្នកអភិវឌ្ឍន៍? +- គោលការណ៍ទាំងនេះនឹងធ្វើឲ្យបែបផែនរចនាសម្រាប់គ្រប់គ្នាល្អប្រសើរឡើងដោយវិធីណា មិនមែនសម្រាប់អ្នកពិការ តែសម្រាប់គ្រប់គ្នាទេ? + +```mermaid +quadrantChart + title ព្រំភាគផលប៉ៈពាល់​នៃ​គោលការណ៍ POUR + x-axis កិច្ចខ្លាំងទាប --> កិច្ចខ្លាំងខ្ពស់ + y-axis ផលប៉ៈពាល់ទាប --> ផលប៉ៈពាល់ខ្ពស់ + quadrant-1 ជ័យជំនះរហ័ស + quadrant-2 គម្រោងធំៗ + quadrant-3 ការពិចារណាពេលក្រោយ + quadrant-4 ការផ្តោតយ៉ាងយុទ្ធសាស្ត្រ + + Alt Text: [0.2, 0.9] + Color Contrast: [0.3, 0.8] + Semantic HTML: [0.4, 0.9] + Keyboard Nav: [0.6, 0.8] + ARIA Complex: [0.8, 0.7] + Screen Reader Testing: [0.7, 0.6] +``` +> **ចងចាំ**៖ ចាប់ផ្តើមជាមួយការកែលម្អដែលមានឥទ្ធិពលខ្ពស់និងពិបាកតិច។ Semantic HTML និងអត្ថបទ alt ផ្ដល់ឱ្យអ្នកនូវការកែលម្អ ចូលដល់បានយោគយល់បំផុតក្នុងការអនុវត្តឥតមានការខិតខំ! + +## ការបង្កើតរចនាប័ទ្មវិស្វកម្មដែលចូលដល់បាន + +ការរចនាវិស្វកម្មល្អ និងការចូលដល់បានដំណើរការចំហន់ទំហឹងគ្នា។ ពេលអ្នករចនាជាមួយការចូលដល់បានក្នុងចិត្ត អ្នកជាច្រើនបានរកឃើញថា ការដាក់បំណុលទាំងនេះនាំឲ្យមានដំណោះស្រាយស្អាត និងទំនើប ដែលមានអត្ថប្រយោជន៍សម្រាប់អ្នកប្រើប្រាស់ទាំងអស់។ + +មកពិនិត្យពីរបៀបបង្កើតរចនាប័ទ្មមើលទៅស្អាតដែលធ្វើការសម្រាប់គ្រប់គ្នា មិនគិតពីសមត្ថភាពមើលស្រួលរបស់ពួកគេ ឬស្ថានភាពដែលពួកគេចំពោះមុខពេលមើលមាតិការបស់អ្នក។ + +### រចនាប័ទ្ម ពណ៌ និងវិធីសាស្ត្រចូលដល់បាន + +ពណ៌មានអំណាចក្នុងការទំនាក់ទំនង ប៉ុន្តែលើកលែងតែវាជាវិធីតែមួយក្នុងការបញ្ជាក់ព័ត៌មានសំខាន់ៗ។ ការរចនាឆ្លាស់កាត់ពីពណ៌បង្កើតបទពិសោធន៍ដែលមានស្ថិតិច្រើន និងបញ្ចូលគ្នា ដែលអាចដំណើរការនៅស្ថានភាពតែមួយច្រើន។ + +**រចនាសម្រាប់ភាពខុសគ្នានៃការមើលពណ៌៖** + +ប្រហែល 8% នៃបុរស និង 0.5% នៃស្ត្រីមានភាពខុសគ្នាប្រភេទមួយនៃការមើលពណ៌ (ជាងស្ទើរតែហៅថា "ពិរោធពណ៌")។ ប្រភេទធម្មតាទាំងអស់គឺ៖ +- **Deuteranopia**៖ មានការលំបាកក្នុងការបំបែកពណ៌ក្រហម និងបៃតង +- **Protanopia**៖ ពណ៌ក្រហមមើលទៅទន់លិចជាងធម្មតា +- **Tritanopia**៖ មានការលំបាកជាមួយពណ៌បៃតង និងលឿង (កើតមានរាល់ពេលក្រហម) + +**យុទ្ធសាស្ត្រពណ៌ដែលរួមបញ្ចូលគ្នា៖** + +```css +/* ❌ Bad: Using only color to indicate status */ +.error { color: red; } +.success { color: green; } + +/* ✅ Good: Color plus icons and context */ +.error { + color: #d32f2f; + border-left: 4px solid #d32f2f; +} +.error::before { + content: "⚠️"; + margin-right: 8px; +} + +.success { + color: #2e7d32; + border-left: 4px solid #2e7d32; +} +.success::before { + content: "✅"; + margin-right: 8px; +} +``` + +**ឆ្លងកាត់តម្រូវការប្រឆាំងចុងក្រោយ៖** +- សាកល្បងជម្រើសពណ៌របស់អ្នកជាមួយកម្មវិធីសំរាប់ពិរោធពណ៌ +- ប្រើលំនាំ ផ្ទៃក្រណាត់ ឬរូបរាងជាមួយប្រើពណ៌កូដ +- រៀបចំអោយស្ថានភាពអន្តរកម្មនៅតែមានភាពងាយសម្គាល់ដោយគ្មានពណ៌ +- គិតពីរបៀបដែលរចនារបស់អ្នកមើលទៅនៅក្នុងម៉ូដកម្រិតខ្ពស់នៃព្រីនត + +✅ **សាកល្បងចូលដល់បានពណ៌របស់អ្នក**៖ ប្រើឧបករណ៍ដូចជា [Coblis](https://www.color-blindness.com/coblis-color-blindness-simulator/) ដើម្បីមើលពីរបៀបដែលគេយល់ពីវេបសាយរបស់អ្នកដោយអ្នកប្រើប្រាស់ដែលមានភាពខុសគ្នាជាពណ៌ផ្សេងៗ។ + +### សញ្ញាកំណត់ផ្តោត និងរចនាអន្តរកម្ម + +សញ្ញាកំណត់ផ្តោតគឺជាការផ្លាស់ប្ដូរឌីជីថលនៃអ្នកបញ្ជា—ពួកវាបង្ហាញអ្នកប្រើប្រាស់ក្ចណ្ដាលពួកគេចង់ស្ថិតនៅនៅលើទំព័រ។ សញ្ញាគិតប្រាកដល្អជួយធ្វើឲ្យបទពិសោធន៍សម្រាប់គ្រប់គ្នាល្អប្រសើរជាងមុន ដោយបង្កើតអន្តរកម្មឲ្យច្បាស់លាស់ និងអាចទាយទល់បាន។ + +**ការអនុវត្តសញ្ញាប្រសើរៗសម្រាប់ផ្តោត៖** + +```css +/* Enhanced focus styles that work across browsers */ +button:focus-visible { + outline: 2px solid #0066cc; + outline-offset: 2px; + box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.25); +} + +/* Remove focus outline for mouse users, preserve for keyboard users */ +button:focus:not(:focus-visible) { + outline: none; +} + +/* Focus-within for complex components */ +.card:focus-within { + box-shadow: 0 0 0 3px rgba(74, 144, 164, 0.5); + border-color: #4A90A4; +} + +/* Ensure focus indicators meet contrast requirements */ +.custom-focus:focus-visible { + outline: 3px solid #ffffff; + outline-offset: 2px; + box-shadow: 0 0 0 6px #000000; +} +``` + +**តម្រូវការសញ្ញាប្តោត៖** +- **ភាពមើលឃើញ**៖ ត្រូវមានអតិផរណា 3:1 ព្យួរប្រឆាំងជាមួយធាតុជុំវិញ +- **ទទឹង**៖ ត្រង់ 2 ពិច ហើយវិលជុំវិញធាតុទាំងមូល +- **ភាពមានលក្ខណៈជាប់ទ្រាំ**៖ គួរតែបន្តឲ្យមិនលេចធ្លាយរហូតដល់ផ្តោតផ្លាស់ទីទៅកន្លែងផ្សេង +- **ភាពបុគ្គលិកភាព**៖ ត្រូវមានភាពខុសគ្នាច្បាស់ពីសភាព UI ផ្សេងៗ + +> 💡 **គំនិតរចនា៖** សញ្ញាប្តោតល្អជាញឹកញាប់ប្រើរួមគ្នានៃរូបរាង, ស្លាបប្រឆាំងប្រអប់, និងការផ្លាស់ប្ដូរពណ៌ ដើម្បីធានាថា វាពិតជាខ្វះខាតនៅលើផ្ទៃខាងក្រោយ និងបរិបទផ្សេងៗ។ + +✅ **ពិនិត្យវាយតម្លៃសញ្ញាប្តោត**៖ ចូលតាមទំព័រទៅតាម Tab ហើយកត់កំណត់ថាតើធាតុណាដែលមានសញ្ញាដែលច្បាស់លាស់។ តើមានធាតុណាដែលមិនងាយសម្គាល់ ឬខ្វះដោយសេរីទាំងសោះ? + +### Semantic HTML៖ មូលដ្ឋាននៃការចូលដល់បាន + +Semantic HTML គឺដូចជាការផ្ដល់ប្រព័ន្ធ GPS សម្រាប់បច្ចេកវិទ្យាជំនួយក្នុងគេហទំព័ររបស់អ្នក។ ពេលដែលអ្នកប្រើធាតុ HTML ដែលត្រឹមត្រូវសម្រាប់គោលបំណងរបស់ពួកវា អ្នកកំពុងផ្ដល់ដំណឹងឲ្យកម្មវិធីអានអេក្រង់ ក្ចណ្ដាលក្តារ និងឧបករណ៍ផ្សេងៗជាមួយផែនទីលម្អិតជួយឲ្យអ្នកប្រើប្រាស់រុករកប្រសើរឡើង។ + +នេះជាសេចក្ដីប្រៀបធៀបទំលាប់សម្រាប់ខ្ញុំ៖ semantic HTML ជាគុណភាពខុសគ្នារវាងបណ្ណាល័យដែលមានការរៀបចំល្អមានចំណាត់ថ្នាក់ច្បាស់លាស់ និងសញ្ញាជំនួយធ្វើឲ្យមនុស្សទៅរកបានយ៉ាងងាយស្រួល ទល់នឹងឃ្លាំងស្ករពូជ ដែលសៀវភៅត្រូវដាក់ចោលគ្មានលំដាប់ណា។ ទាំងពីរតំបន់មានសៀវភៅដូចគ្នា តែអ្នកចង់ព្យាយាមស្វែងរកអ្វីមួយនៅណាមួយ? + +```mermaid +flowchart TD + A[🏠 ឯកសារ HTML] --> B[📰 ក្បាលទំព័រ] + A --> C[🧭 មឺនុយ] + A --> D[📄 មុខ] + A --> E[📋 ជើងទំព័រ] + + B --> B1[h1: ឈ្មោះគេហទំព័រ
រូបតំណាង & ហ្សីនប៊្រេន] + C --> C1[ul: មឺនុយរុករក
តំណភ្ជាប់សំខាន់ៗ] + D --> D1[អត្ថបទ: ខ្លឹមសារ
ផ្នែក: ផ្នែករង] + D --> D2[ជំហៀង: ផ្នែកខាងបាន
ខ្លឹមសារពាក់ព័ន្ធ] + E --> E1[មឺនុយ: តំណភ្ជាប់ជើងទំព័រ
ព័ត៌មានសិទ្ធិបានរក្សា] + + D1 --> D1a[h1: ចំណងជើងទំព័រ
h2: ផ្នែកសំខាន់ៗ
h3: ផ្នែករង] + + style A fill:#e3f2fd + style B fill:#e8f5e8 + style C fill:#fff3e0 + style D fill:#f3e5f5 + style E fill:#e0f2f1 +``` +**ប្លុកសំណង់នៃរចនាសម្ព័ន្ធទំព័រចូលដល់បាន៖** + +```html + +
+

Your Site Name

+ +
+ +
+
+
+

Article Title

+

Published on

+
+ +
+

First Section

+

Content that relates to this section...

+
+ +
+

Second Section

+

More related content...

+
+
+ + +
+ + +``` + +**ហេតុអ្វីបានជា semantic HTML ផ្លាស់ប្ដូរការចូលដល់បាន៖** + +| ធាតុ Semantic | គោលបំណង | အားប្រយោជន៍ Screen Reader | +|-----------------|----------|-------------------------| +| `
` | ចំណងជើងទំព័រ ឬផ្នែក | "Banner landmark" - ជំនាន់រហ័សទៅផ្នែកលើ | +| `