chore(i18n): sync translations with latest source changes (chunk 9/20, 42 files)

pull/1668/head
localizeflow[bot] 4 weeks ago
parent 31af3d9a27
commit b6a3a08b9a

@ -17,7 +17,7 @@ CO_OP_TRANSLATOR_METADATA:
আজ, আমরা সেই অসাধারণ টুলগুলো অন্বেষণ করব যা আধুনিক ওয়েব ডেভেলপমেন্টকে শুধু সম্ভবই করে না, বরং একেবারে নেশাসক্ত করে তোলে। আমি বলছি ঠিক সেই এডিটর, ব্রাউজার এবং ওয়ার্কফ্লো যা Netflix, Spotify এবং তোমার প্রিয় ইন্ডি অ্যাপ স্টুডিওর ডেভেলপাররা প্রতিদিন ব্যবহার করে। এবং যা তোমাকে আনন্দে নাচতে বাধ্য করবে তা হলো: এই পেশাদার-গ্রেড, ইন্ডাস্ট্রি-স্ট্যান্ডার্ড টুলগুলোর বেশিরভাগই সম্পূর্ণ বিনামূল্যে!
![প্রোগ্রামিং পরিচিতি](../../../../translated_images/webdev101-programming.d6e3f98e61ac4bff0b27dcbf1c3f16c8ed46984866f2d29988929678b0058fde.bn.png)
![প্রোগ্রামিং পরিচিতি](../../../../translated_images/webdev101-programming.d6e3f98e61ac4bff.bn.png)
> স্কেচনোট: [Tomomi Imura](https://twitter.com/girlie_mac)
```mermaid

@ -17,7 +17,7 @@ CO_OP_TRANSLATOR_METADATA:
আমরা একসাথে এই যাত্রা শুরু করব, এক ধাপে এক ধাপে। কোনো তাড়াহুড়ো নেই, কোনো চাপ নেই শুধু তুমি, আমি, এবং কিছু দারুণ টুল যা তোমার নতুন সেরা বন্ধু হতে চলেছে!
![গিটহাব পরিচিতি](../../../../translated_images/webdev101-github.8846d7971abef6f947909b4f9d343e2a23778aa716ca6b9d71df7174ee5009ac.bn.png)
![গিটহাব পরিচিতি](../../../../translated_images/webdev101-github.8846d7971abef6f9.bn.png)
> স্কেচনোট করেছেন [Tomomi Imura](https://twitter.com/girlie_mac)
```mermaid
@ -588,7 +588,7 @@ flowchart TD
✅ 'শিক্ষানবিস-বান্ধব' রিপো খুঁজে পাওয়ার একটি ভালো উপায় হলো [ট্যাগ 'good-first-issue' দ্বারা অনুসন্ধান করা](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/)।
![রিপো লোকালি কপি করুন](../../../../translated_images/clone_repo.5085c48d666ead57664f050d806e325d7f883be6838c821e08bc823ab7c66665.bn.png)
![রিপো লোকালি কপি করুন](../../../../translated_images/clone_repo.5085c48d666ead57.bn.png)
কোড কপি করার বিভিন্ন উপায় রয়েছে। একটি উপায় হলো রিপোজিটরির বিষয়বস্তু "ক্লোন" করা, HTTPS, SSH, অথবা GitHub CLI (কমান্ড লাইন ইন্টারফেস) ব্যবহার করে।

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# অ্যাক্সেসযোগ্য ওয়েবপেজ তৈরি করা
![অ্যাক্সেসিবিলিটি সম্পর্কে সবকিছু](../../../../translated_images/webdev101-a11y.8ef3025c858d897a403a1a42c0897c76e11b724d9a8a0c0578dd4316f7507622.bn.png)
![অ্যাক্সেসিবিলিটি সম্পর্কে সবকিছু](../../../../translated_images/webdev101-a11y.8ef3025c858d897a.bn.png)
> স্কেচনোট করেছেন [Tomomi Imura](https://twitter.com/girlie_mac)
```mermaid

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# জাভাস্ক্রিপ্টের বুনিয়াদি: ডেটা টাইপ
![জাভাস্ক্রিপ্টের বুনিয়াদি - ডেটা টাইপ](../../../../translated_images/webdev101-js-datatypes.4cc470179730702c756480d3ffa46507f746e5975ebf80f99fdaaf1cff09a7f4.bn.png)
![জাভাস্ক্রিপ্টের বুনিয়াদি - ডেটা টাইপ](../../../../translated_images/webdev101-js-datatypes.4cc470179730702c.bn.png)
> স্কেচনোট করেছেন [Tomomi Imura](https://twitter.com/girlie_mac)
```mermaid

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# জাভাস্ক্রিপ্টের বেসিক: মেথড এবং ফাংশন
![জাভাস্ক্রিপ্ট বেসিক - ফাংশন](../../../../translated_images/webdev101-js-functions.be049c4726e94f8b7605c36330ac42eeb5cd8ed02bcdd60fdac778174d6cb865.bn.png)
![জাভাস্ক্রিপ্ট বেসিক - ফাংশন](../../../../translated_images/webdev101-js-functions.be049c4726e94f8b.bn.png)
> স্কেচনোট করেছেন [Tomomi Imura](https://twitter.com/girlie_mac)
```mermaid

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# জাভাস্ক্রিপ্টের মৌলিক বিষয়: সিদ্ধান্ত গ্রহণ
![জাভাস্ক্রিপ্টের মৌলিক বিষয় - সিদ্ধান্ত গ্রহণ](../../../../translated_images/webdev101-js-decisions.69e1b20f272dd1f0b1cb2f8adaff3ed2a77c4f91db96d8a0594132a353fa189a.bn.png)
![জাভাস্ক্রিপ্টের মৌলিক বিষয় - সিদ্ধান্ত গ্রহণ](../../../../translated_images/webdev101-js-decisions.69e1b20f272dd1f0.bn.png)
> স্কেচনোট করেছেন [Tomomi Imura](https://twitter.com/girlie_mac)

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# জাভাস্ক্রিপ্টের বেসিক: অ্যারে এবং লুপ
![জাভাস্ক্রিপ্ট বেসিক - অ্যারে](../../../../translated_images/webdev101-js-arrays.439d7528b8a294558d0e4302e448d193f8ad7495cc407539cc81f1afe904b470.bn.png)
![জাভাস্ক্রিপ্ট বেসিক - অ্যারে](../../../../translated_images/webdev101-js-arrays.439d7528b8a29455.bn.png)
> স্কেচনোট করেছেন [Tomomi Imura](https://twitter.com/girlie_mac)
```mermaid

@ -26,7 +26,7 @@ journey
Build terrarium: 5: Student
```
![HTML পরিচিতি](../../../../translated_images/webdev101-html.4389c2067af68e98280c1bde52b6c6269f399eaae3659b7c846018d8a7b0bbd9.bn.png)
![HTML পরিচিতি](../../../../translated_images/webdev101-html.4389c2067af68e98.bn.png)
> স্কেচনোট [Tomomi Imura](https://twitter.com/girlie_mac) দ্বারা
HTML, বা HyperText Markup Language, প্রতিটি ওয়েবসাইটের ভিত্তি যা আপনি কখনও পরিদর্শন করেছেন। HTML কে ওয়েব পৃষ্ঠার কাঠামো হিসেবে ভাবুন এটি নির্ধারণ করে কোথায় বিষয়বস্তু যাবে, কীভাবে এটি সংগঠিত হবে এবং প্রতিটি অংশ কী প্রতিনিধিত্ব করে। CSS পরে আপনার HTML-কে রঙ এবং লেআউট দিয়ে সাজাবে, এবং JavaScript এটিকে ইন্টারঅ্যাক্টিভিটি দিয়ে প্রাণবন্ত করবে, HTML সেই মৌলিক কাঠামো প্রদান করে যা সবকিছু সম্ভব করে তোলে।
@ -88,7 +88,7 @@ HTML কোডে ডুব দেওয়ার আগে, আপনার ট
4. Explorer প্যানেলে, "New File" আইকনে ক্লিক করুন
5. আপনার ফাইলের নাম দিন `index.html`
![VS Code Explorer নতুন ফাইল তৈরি দেখাচ্ছে](../../../../translated_images/vs-code-index.e2986cf919471eb984a0afef231380c8b132b000635105f2397bd2754d1b689c.bn.png)
![VS Code Explorer নতুন ফাইল তৈরি দেখাচ্ছে](../../../../translated_images/vs-code-index.e2986cf919471eb9.bn.png)
**অপশন ২: টার্মিনাল কমান্ড ব্যবহার করে**
```bash

@ -30,7 +30,7 @@ journey
Glass reflections: 5: Student
```
![CSS পরিচিতি](../../../../translated_images/webdev101-css.3f7af5991bf53a200d79e7257e5e450408d8ea97f5b531d31b2e3976317338ee.bn.png)
![CSS পরিচিতি](../../../../translated_images/webdev101-css.3f7af5991bf53a20.bn.png)
> স্কেচনোট: [Tomomi Imura](https://twitter.com/girlie_mac)
আপনার HTML টেরারিয়ামটি কতটা সাধারণ দেখাচ্ছিল তা মনে আছে? CSS এর মাধ্যমে আমরা সেই সাধারণ কাঠামোকে চমৎকার কিছুতে রূপান্তর করি।
@ -205,7 +205,7 @@ body {
আপনার ব্রাউজারের ডেভেলপার টুলস (F12) খুলুন, Elements ট্যাবে যান এবং আপনার `<h1>` উপাদানটি পরীক্ষা করুন। আপনি দেখতে পাবেন এটি বডি থেকে ফন্ট ফ্যামিলি উত্তরাধিকার সূত্রে পেয়েছে:
![উত্তরাধিকার সূত্রে পাওয়া ফন্ট](../../../../translated_images/1.cc07a5cbe114ad1d4728c35134584ac1b87db688eff83cf75985cf31fe0ed95c.bn.png)
![উত্তরাধিকার সূত্রে পাওয়া ফন্ট](../../../../translated_images/1.cc07a5cbe114ad1d.bn.png)
**পরীক্ষার সময়**: `<body>`-তে `color`, `line-height`, বা `text-align` এর মতো অন্যান্য উত্তরাধিকারযোগ্য বৈশিষ্ট্য সেট করার চেষ্টা করুন। আপনার হেডিং এবং অন্যান্য উপাদানগুলোর কী হয়?
@ -409,7 +409,7 @@ Agent মোড ব্যবহার করে নিম্নলিখিত
আপনি সূক্ষ্ম হাইলাইট তৈরি করবেন যা কাচের পৃষ্ঠে আলো প্রতিফলিত করার অনুকরণ করে। এই পদ্ধতি রেনেসাঁ চিত্রশিল্পী যেমন Jan van Eyck কিভাবে আলো এবং প্রতিফলন ব্যবহার করে আঁকা কাচকে থ্রিডি দেখাতেন তার মতো। আপনি যা অর্জন করতে চান তা হলো:
![শেষ টেরারিয়াম](../../../../translated_images/terrarium-final.2f07047ffc597d0a06b06cab28a77801a10dd12fdb6c7fc630e9c40665491c53.bn.png)
![শেষ টেরারিয়াম](../../../../translated_images/terrarium-final.2f07047ffc597d0a.bn.png)
**আপনার চ্যালেঞ্জ:**
- **তৈরি করুন** সূক্ষ্ম সাদা বা হালকা রঙের ডিম্বাকৃতি আকৃতি কাচের প্রতিফলনের জন্য

@ -26,7 +26,7 @@ journey
Complete terrarium: 5: Student
```
![DOM এবং একটি ক্লোজার](../../../../translated_images/webdev101-js.10280393044d7eaaec7e847574946add7ddae6be2b2194567d848b61d849334a.bn.png)
![DOM এবং একটি ক্লোজার](../../../../translated_images/webdev101-js.10280393044d7eaa.bn.png)
> স্কেচনোট [Tomomi Imura](https://twitter.com/girlie_mac) দ্বারা
ওয়েব ডেভেলপমেন্টের সবচেয়ে আকর্ষণীয় দিকগুলোর মধ্যে একটিতে আপনাকে স্বাগতম - জিনিসগুলোকে ইন্টারঅ্যাকটিভ করা! ডকুমেন্ট অবজেক্ট মডেল (DOM) আপনার HTML এবং জাভাস্ক্রিপ্টের মধ্যে একটি সেতুর মতো, এবং আজ আমরা এটি ব্যবহার করে আপনার টেরারিয়ামকে জীবন্ত করে তুলব। যখন টিম বার্নার্স-লি প্রথম ওয়েব ব্রাউজার তৈরি করেছিলেন, তিনি এমন একটি ওয়েবের কল্পনা করেছিলেন যেখানে ডকুমেন্টগুলো গতিশীল এবং ইন্টারঅ্যাকটিভ হতে পারে - DOM সেই স্বপ্নকে বাস্তবায়িত করে।
@ -105,7 +105,7 @@ flowchart TD
style Q fill:#ffebee
```
![DOM গাছের উপস্থাপনা](../../../../translated_images/dom-tree.7daf0e763cbbba9273f9a66fe04c98276d7d23932309b195cb273a9cf1819b42.bn.png)
![DOM গাছের উপস্থাপনা](../../../../translated_images/dom-tree.7daf0e763cbbba92.bn.png)
> DOM এবং HTML মার্কআপের একটি উপস্থাপনা যা এটি রেফারেন্স করে। [Olfa Nasraoui](https://www.researchgate.net/publication/221417012_Profile-Based_Focused_Crawler_for_Social_Media-Sharing_Websites) থেকে
@ -150,7 +150,7 @@ flowchart LR
> 💡 **ক্লোজার বোঝা**: ক্লোজার জাভাস্ক্রিপ্টে একটি গুরুত্বপূর্ণ বিষয়, এবং অনেক ডেভেলপার এটি ব্যবহার করেন বছরের পর বছর ধরে তাত্ত্বিক দিকগুলো সম্পূর্ণরূপে বোঝার আগে। আজ, আমরা ব্যবহারিক প্রয়োগের উপর ফোকাস করছি - আপনি দেখবেন ক্লোজার কীভাবে আমাদের ইন্টারঅ্যাকটিভ বৈশিষ্ট্য তৈরি করার সময় স্বাভাবিকভাবে উদ্ভূত হয়। বাস্তব সমস্যাগুলো কীভাবে সমাধান করে তা দেখার সাথে সাথে আপনার বোঝাপড়া বিকশিত হবে।
![DOM গাছের উপস্থাপনা](../../../../translated_images/dom-tree.7daf0e763cbbba9273f9a66fe04c98276d7d23932309b195cb273a9cf1819b42.bn.png)
![DOM গাছের উপস্থাপনা](../../../../translated_images/dom-tree.7daf0e763cbbba92.bn.png)
> DOM এবং HTML মার্কআপের একটি উপস্থাপনা যা এটি রেফারেন্স করে। [Olfa Nasraoui](https://www.researchgate.net/publication/221417012_Profile-Based_Focused_Crawler_for_Social_Media-Sharing_Websites) থেকে
@ -447,7 +447,7 @@ function stopElementDrag() {
- **ক্রস-ডিভাইস সাপোর্ট**: ডেস্কটপ এবং মোবাইলে কাজ করে
- **পারফরম্যান্স সচেতন**: কোনো মেমোরি লিক বা অপ্রয়োজনীয় গণনা নেই
![সমাপ্ত টেরারিয়াম](../../../../translated_images/terrarium-final.0920f16e87c13a84cd2b553a5af9a3ad1cffbd41fbf8ce715d9e9c43809a5e2c.bn.png)
![সমাপ্ত টেরারিয়াম](../../../../translated_images/terrarium-final.0920f16e87c13a84.bn.png)
---

@ -1,43 +1,30 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "7965cd2bc5dc92ad888dc4c6ab2ab70a",
"translation_date": "2025-08-25T21:04:20+00:00",
"original_hash": "bc5c5550f79d10add90ce419ee34abb3",
"translation_date": "2026-01-06T17:20:36+00:00",
"source_file": "3-terrarium/README.md",
"language_code": "bn"
}
-->
# আমার টেরারিয়াম: HTML, CSS এবং DOM ম্যানিপুলেশন শিখতে একটি প্রকল্প 🌵🌱
## আপনার টেরারিয়াম মোতায়েন করুন
একটি ছোট ড্র্যাগ এবং ড্রপ কোড-মেডিটেশন। সামান্য HTML, JS এবং CSS ব্যবহার করে আপনি একটি ওয়েব ইন্টারফেস তৈরি করতে পারবেন, সেটিকে স্টাইল করতে পারবেন এবং এমনকি আপনার পছন্দমতো একাধিক ইন্টারঅ্যাকশন যোগ করতে পারবেন।
আপনি **Azure Static Web Apps** ব্যবহার করে আপনার টেরারিয়াম ওয়েবে মোতায়েন বা প্রকাশ করতে পারেন।
![আমার টেরারিয়াম](../../../translated_images/screenshot_gray.0c796099a1f9f25e40aa55ead81f268434c00af30d7092490759945eda63067d.bn.png)
1. এই রিপোটি ফর্ক করুন
# পাঠসমূহ
2. এই বোতামে চাপুন 👇
1. [HTML পরিচিতি](./1-intro-to-html/README.md)
2. [CSS পরিচিতি](./2-intro-to-css/README.md)
3. [DOM এবং JS ক্লোজারস পরিচিতি](./3-intro-to-DOM-and-closures/README.md)
[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.StaticApp)
## কৃতজ্ঞতা
3. আপনার অ্যাপ তৈরি করার জন্য সেটআপ উইজার্ড অনুসরণ করুন।
- **App root** সেট করুন `/solution` অথবা আপনার কোডবেসের রুটে।
- এই অ্যাপে কোনো API নেই, তাই API কনফিগারেশন এড়িয়ে যেতে পারেন।
- একটি `.github` ফোল্ডার স্বয়ংক্রিয়ভাবে তৈরি হবে যা Azure Static Web Apps কে আপনার অ্যাপ নির্মাণ ও প্রকাশ করতে সাহায্য করবে।
♥️ দিয়ে লিখেছেন [Jen Looper](https://www.twitter.com/jenlooper)
CSS ব্যবহার করে তৈরি টেরারিয়ামটি অনুপ্রাণিত হয়েছে Jakub Mandra-এর গ্লাস জার [কোডপেন](https://codepen.io/Rotarepmi/pen/rjpNZY) থেকে।
এই শিল্পকর্মটি [Jen Looper](http://jenlooper.com)-এর হাতে আঁকা, Procreate-এর সাহায্যে।
## আপনার টেরারিয়াম প্রকাশ করুন
আপনার টেরারিয়াম ওয়েবে প্রকাশ করতে Azure Static Web Apps ব্যবহার করতে পারেন।
1. এই রিপোজিটরিটি ফর্ক করুন
2. এই বোতামটি চাপুন
[![Azure-এ প্রকাশ করুন বোতাম](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/?feature.customportal=false&WT.mc_id=academic-77807-sagibbon#create/Microsoft.StaticApp)
3. উইজার্ডটি অনুসরণ করে আপনার অ্যাপ তৈরি করুন। নিশ্চিত করুন যে আপনি অ্যাপ রুটটি `/solution` বা আপনার কোডবেসের রুটে সেট করেছেন। এই অ্যাপে কোনো API নেই, তাই সেটি যোগ করার দরকার নেই। একটি গিটহাব ফোল্ডার আপনার ফর্ক করা রিপোজিটরিতে তৈরি হবে, যা Azure Static Web Apps-এর বিল্ড সার্ভিসকে সাহায্য করবে আপনার অ্যাপটি তৈরি এবং একটি নতুন URL-এ প্রকাশ করতে।
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**অস্বীকৃতি**:
এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়ী থাকব না।
এই নথিটি এআই অনুবাদ সেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনূদিত হয়েছে। আমরা যথাসাধ্য সঠিকতার জন্য চেষ্টা করি, তবে দয়া করে জানুন যে স্বয়ংক্রিয় অনুবাদে ভুল বা ত্রুটি থাকতে পারে। মূল নথিটি তার মাতৃভাষায়ই সবচেয়ে কর্তৃত্বপূর্ণ উৎস হিসেবে বিবেচিত হওয়া উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদের পরামর্শ দেওয়া হয়। এই অনুবাদের ব্যবহার থেকে উদ্ভূত কোনো বিভ্রান্তি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA:
একটি ছোট ড্র্যাগ এবং ড্রপ কোড-মেডিটেশন। সামান্য HTML, JS এবং CSS ব্যবহার করে আপনি একটি ওয়েব ইন্টারফেস তৈরি করতে পারেন, সেটিকে স্টাইল করতে পারেন এবং ইন্টারঅ্যাকশন যোগ করতে পারেন।
![আমার টেরারিয়াম](../../../../translated_images/screenshot_gray.0c796099a1f9f25e40aa55ead81f268434c00af30d7092490759945eda63067d.bn.png)
![আমার টেরারিয়াম](../../../../translated_images/screenshot_gray.0c796099a1f9f25e.bn.png)
## কৃতজ্ঞতা

@ -26,7 +26,7 @@ journey
Polish experience: 5: Student
```
![ব্রাউজার স্কেচনোট](../../../../translated_images/browser.60317c9be8b7f84adce43e30bff8d47a1ae15793beab762317b2bc6b74337c1a.bn.jpg)
![ব্রাউজার স্কেচনোট](../../../../translated_images/browser.60317c9be8b7f84a.bn.jpg)
> স্কেচনোট করেছেন [ওয়াসিম চেগাম](https://dev.to/wassimchegham/ever-wondered-what-happens-when-you-type-in-a-url-in-an-address-bar-in-a-browser-3dob)
## প্রি-লেকচার কুইজ
@ -79,7 +79,7 @@ mindmap
**একটু ইতিহাস**: প্রথম ব্রাউজারের নাম ছিল 'ওয়ার্ল্ডওয়াইডওয়েব' এবং এটি ১৯৯০ সালে স্যার টিমোথি বার্নার্স-লির দ্বারা তৈরি করা হয়েছিল।
![প্রথম দিকের ব্রাউজার](../../../../translated_images/earlybrowsers.d984b711cdf3a42ddac919d46c4b5ca7232f68ccfbd81395e04e5a64c0015277.bn.jpg)
![প্রথম দিকের ব্রাউজার](../../../../translated_images/earlybrowsers.d984b711cdf3a42d.bn.jpg)
> কিছু প্রথম দিকের ব্রাউজার, [ক্যারেন ম্যাকগ্রেন](https://www.slideshare.net/KMcGrane/week-4-ixd-history-personal-computing) এর মাধ্যমে
### ব্রাউজার কীভাবে ওয়েব কন্টেন্ট প্রক্রিয়াকরণ করে
@ -198,7 +198,7 @@ quadrantChart
এক্সটেনশন ইনস্টলেশন প্রক্রিয়া বোঝা আপনাকে ব্যবহারকারীদের অভিজ্ঞতা সম্পর্কে পূর্বাভাস দিতে সাহায্য করবে যখন তারা আপনার এক্সটেনশন ইনস্টল করবে। ইনস্টলেশন প্রক্রিয়া আধুনিক ব্রাউজারগুলোতে মানসম্মত, যদিও ইন্টারফেস ডিজাইনে কিছু পার্থক্য রয়েছে।
![Edge ব্রাউজারের স্ক্রিনশট যেখানে edge://extensions পেজ এবং সেটিংস মেনু খোলা রয়েছে](../../../../translated_images/install-on-edge.d68781acaf0b3d3dada8b7507cde7a64bf74b7040d9818baaa9070668e819f90.bn.png)
![Edge ব্রাউজারের স্ক্রিনশট যেখানে edge://extensions পেজ এবং সেটিংস মেনু খোলা রয়েছে](../../../../translated_images/install-on-edge.d68781acaf0b3d3d.bn.png)
> **গুরুত্বপূর্ণ**: আপনার নিজের এক্সটেনশন পরীক্ষা করার সময় ডেভেলপার মোড চালু করুন এবং অন্যান্য স্টোর থেকে এক্সটেনশন অনুমোদন করুন।

@ -268,7 +268,7 @@ stateDiagram-v2
ClearStorage --> FirstTime: Back to setup
```
![লোকাল স্টোরেজ প্যান](../../../../translated_images/localstorage.472f8147b6a3f8d141d9551c95a2da610ac9a3c6a73d4a1c224081c98bae09d9.bn.png)
![লোকাল স্টোরেজ প্যান](../../../../translated_images/localstorage.472f8147b6a3f8d1.bn.png)
> ⚠️ **নিরাপত্তা বিবেচনা**: প্রোডাকশন অ্যাপ্লিকেশনগুলিতে, LocalStorage-এ API কী সংরক্ষণ করা নিরাপত্তার ঝুঁকি তৈরি করে কারণ জাভাস্ক্রিপ্ট এই ডেটা অ্যাক্সেস করতে পারে। শেখার উদ্দেশ্যে, এই পদ্ধতি ঠিক আছে, তবে প্রকৃত অ্যাপ্লিকেশনগুলিতে সংবেদনশীল ক্রেডেনশিয়ালের জন্য নিরাপদ সার্ভার-সাইড স্টোরেজ ব্যবহার করা উচিত।

@ -126,7 +126,7 @@ Edge-এ ডেভেলপার টুলস খুলতে, উপরের
চলুন এটি চেষ্টা করি। একটি ওয়েবসাইট খুলুন (Microsoft.com ভালো কাজ করবে) এবং 'রেকর্ড' বোতামটি ক্লিক করুন। এখন পৃষ্ঠাটি রিফ্রেশ করুন এবং প্রোফাইলারটি যা ঘটছে তা ক্যাপচার করতে দিন। যখন আপনি রেকর্ডিং বন্ধ করবেন, তখন আপনি একটি বিস্তারিত বিশ্লেষণ দেখতে পাবেন যে ব্রাউজার কীভাবে সাইটটি 'স্ক্রিপ্ট', 'রেন্ডার' এবং 'পেইন্ট' করে। এটি আমাকে মনে করিয়ে দেয় কীভাবে মিশন কন্ট্রোল একটি রকেট উৎক্ষেপণের সময় প্রতিটি সিস্টেম পর্যবেক্ষণ করে - আপনি ঠিক কী ঘটছে এবং কখন ঘটছে তার রিয়েল-টাইম ডেটা পান।
![Edge প্রোফাইলার](../../../../translated_images/profiler.5a4a62479c5df01cfec9aab74173dba13f91d2c968e1a1ae434c26165792df15.bn.png)
![Edge প্রোফাইলার](../../../../translated_images/profiler.5a4a62479c5df01c.bn.png)
✅ [Microsoft ডকুমেন্টেশন](https://docs.microsoft.com/microsoft-edge/devtools-guide/performance/?WT.mc_id=academic-77807-sagibbon) আরও বিস্তারিত তথ্য প্রদান করে যদি আপনি গভীরভাবে জানতে চান
@ -136,11 +136,11 @@ Edge-এ ডেভেলপার টুলস খুলতে, উপরের
আপনার পৃষ্ঠার পারফরম্যান্সের একটি স্ন্যাপশট পেতে প্রোফাইল টাইমলাইনের একটি অংশ নির্বাচন করুন এবং সারাংশ প্যানটি দেখুন:
![Edge প্রোফাইলার স্ন্যাপশট](../../../../translated_images/snapshot.97750180ebcad73794a3594b36925eb5c8dbaac9e03fec7f9b974188c9ac63c7.bn.png)
![Edge প্রোফাইলার স্ন্যাপশট](../../../../translated_images/snapshot.97750180ebcad737.bn.png)
ইভেন্ট লগ প্যানটি পরীক্ষা করুন দেখতে কোনো ইভেন্ট ১৫ মিলিসেকেন্ডের বেশি সময় নিয়েছে কিনা:
![Edge ইভেন্ট লগ](../../../../translated_images/log.804026979f3707e00eebcfa028b2b5a88cec6292f858767bb6703afba65a7d9c.bn.png)
![Edge ইভেন্ট লগ](../../../../translated_images/log.804026979f3707e0.bn.png)
✅ আপনার প্রোফাইলারটি চিনুন! এই সাইটে ডেভেলপার টুলস খুলুন এবং দেখুন কোনো বাধা আছে কিনা। কোন সম্পদটি সবচেয়ে ধীর লোড হচ্ছে? সবচেয়ে দ্রুত?

@ -23,7 +23,7 @@ CO_OP_TRANSLATOR_METADATA:
### ক্রেডিটস
![একটি সবুজ ব্রাউজার এক্সটেনশন](../../../translated_images/extension-screenshot.0e7f5bfa110e92e3875e1bc9405edd45a3d2e02963e48900adb91926a62a5807.bn.png)
![একটি সবুজ ব্রাউজার এক্সটেনশন](../../../translated_images/extension-screenshot.0e7f5bfa110e92e3.bn.png)
## ক্রেডিটস

@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA:
tmrow-এর CO2 Signal API ব্যবহার করে বিদ্যুৎ ব্যবহারের উপর নজর রাখুন এবং একটি ব্রাউজার এক্সটেনশন তৈরি করুন, যাতে আপনার ব্রাউজারে একটি রিমাইন্ডার থাকে যে আপনার অঞ্চলের বিদ্যুৎ ব্যবহারের চাপ কেমন। এই এক্সটেনশনটি ব্যবহার করে আপনি আপনার কার্যকলাপের উপর ভিত্তি করে সিদ্ধান্ত নিতে পারবেন।
![এক্সটেনশনের স্ক্রিনশট](../../../../translated_images/extension-screenshot.0e7f5bfa110e92e3875e1bc9405edd45a3d2e02963e48900adb91926a62a5807.bn.png)
![এক্সটেনশনের স্ক্রিনশট](../../../../translated_images/extension-screenshot.0e7f5bfa110e92e3.bn.png)
## শুরু করার জন্য
@ -31,7 +31,7 @@ npm run build
Edge-এ ইনস্টল করতে, ব্রাউজারের উপরের ডান কোণের 'তিনটি ডট' মেনু ব্যবহার করে Extensions প্যানেলটি খুঁজুন। সেখান থেকে 'Load Unpacked' নির্বাচন করুন একটি নতুন এক্সটেনশন লোড করার জন্য। প্রম্পটে 'dist' ফোল্ডারটি খুলুন এবং এক্সটেনশনটি লোড হবে। এটি ব্যবহার করতে, আপনাকে CO2 Signal-এর API-এর জন্য একটি API key ([ইমেইলের মাধ্যমে এখানে পান](https://www.co2signal.com/) - এই পৃষ্ঠায় আপনার ইমেইলটি বক্সে প্রবেশ করান) এবং [আপনার অঞ্চলের কোড](http://api.electricitymap.org/v3/zones) যা [Electricity Map](https://www.electricitymap.org/map)-এর সাথে মিলে (উদাহরণস্বরূপ, বোস্টনে আমি 'US-NEISO' ব্যবহার করি) লাগবে।
![ইনস্টল করা হচ্ছে](../../../../translated_images/install-on-edge.78634f02842c48283726c531998679a6f03a45556b2ee99d8ff231fe41446324.bn.png)
![ইনস্টল করা হচ্ছে](../../../../translated_images/install-on-edge.78634f02842c4828.bn.png)
একবার API key এবং অঞ্চল এক্সটেনশনের ইন্টারফেসে ইনপুট দিলে, ব্রাউজার এক্সটেনশন বারে রঙিন ডটটি আপনার অঞ্চলের শক্তি ব্যবহারের অবস্থা প্রতিফলিত করবে এবং আপনাকে নির্দেশনা দেবে কোন শক্তি-নির্ভর কার্যকলাপ আপনার জন্য উপযুক্ত। এই 'ডট' সিস্টেমের ধারণাটি আমাকে [Energy Lollipop এক্সটেনশন](https://energylollipop.com/) থেকে দেওয়া হয়েছিল, যা ক্যালিফোর্নিয়ার নির্গমন পর্যবেক্ষণ করে।

@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA:
tmrow-এর C02 Signal API ব্যবহার করে বিদ্যুৎ ব্যবহারের উপর নজর রাখুন এবং একটি ব্রাউজার এক্সটেনশন তৈরি করুন, যাতে আপনার অঞ্চলের বিদ্যুৎ ব্যবহারের তথ্য সরাসরি ব্রাউজারে একটি অনুস্মারক হিসেবে পেতে পারেন। এই অ্যাড-হক এক্সটেনশনটি ব্যবহার করে আপনি এই তথ্যের ভিত্তিতে আপনার কার্যকলাপ সম্পর্কে একটি সঠিক সিদ্ধান্ত নিতে পারবেন।
![এক্সটেনশনের স্ক্রিনশট](../../../../../translated_images/extension-screenshot.0e7f5bfa110e92e3875e1bc9405edd45a3d2e02963e48900adb91926a62a5807.bn.png)
![এক্সটেনশনের স্ক্রিনশট](../../../../../translated_images/extension-screenshot.0e7f5bfa110e92e3.bn.png)
## শুরু করা
@ -31,7 +31,7 @@ npm run build
Edge-এ ইনস্টল করার জন্য, ব্রাউজারের উপরের ডান কোণে থাকা 'তিনটি বিন্দু' মেনু ব্যবহার করে Extensions প্যানেলটি খুঁজুন। সেখান থেকে 'Unpacked extension লোড করুন' নির্বাচন করুন এবং একটি নতুন এক্সটেনশন লোড করুন। প্রম্পটে 'dist' ফোল্ডারটি খুলুন এবং এক্সটেনশনটি লোড হবে। এটি ব্যবহার করতে, আপনাকে CO2 Signal API-এর জন্য একটি API কী ([ইমেইলের মাধ্যমে এখানে পান](https://www.co2signal.com/) - এই পৃষ্ঠার বক্সে আপনার ইমেইল প্রবেশ করান) এবং আপনার অঞ্চলের জন্য [কোড](http://api.electricitymap.org/v3/zones) যা [ইলেকট্রিসিটি ম্যাপ](https://www.electricitymap.org/map)-এর সাথে মেলে (উদাহরণস্বরূপ, বোস্টনের জন্য আমি 'US-NEISO' ব্যবহার করি)।
![ইনস্টলেশন](../../../../../translated_images/install-on-edge.78634f02842c48283726c531998679a6f03a45556b2ee99d8ff231fe41446324.bn.png)
![ইনস্টলেশন](../../../../../translated_images/install-on-edge.78634f02842c4828.bn.png)
একবার API কী এবং অঞ্চল এক্সটেনশনের ইন্টারফেসে প্রবেশ করালে, ব্রাউজারের এক্সটেনশন বারে রঙিন বিন্দুটি আপনার অঞ্চলের বিদ্যুৎ ব্যবহারের প্রতিফলন করবে এবং আপনাকে এমন কার্যকলাপের জন্য একটি নির্দেশনা দেবে যা শক্তি সাশ্রয়ী হতে পারে। এই 'বিন্দু' সিস্টেমের ধারণাটি আমাকে [Energy Lollipop এক্সটেনশন](https://energylollipop.com/) থেকে অনুপ্রাণিত করেছে, যা ক্যালিফোর্নিয়ার নির্গমন পর্যবেক্ষণ করে।

@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA:
বিদ্যুৎ ব্যবহারের উপর নজর রাখার জন্য tmrow-এর C02 সিগন্যাল API ব্যবহার করে একটি ব্রাউজার এক্সটেনশন তৈরি করা হয়েছে, যা আপনার ব্রাউজারে আপনার অঞ্চলের বিদ্যুৎ ব্যবহারের ভারীতা সম্পর্কে আপনাকে মনে করিয়ে দেবে। এই এক্সটেনশনটি ব্যবহার করে আপনি এই তথ্যের ভিত্তিতে আপনার কার্যকলাপ সম্পর্কে সিদ্ধান্ত নিতে পারবেন।
![এক্সটেনশন স্ক্রিনশট ](../../../../../translated_images/extension-screenshot.0e7f5bfa110e92e3875e1bc9405edd45a3d2e02963e48900adb91926a62a5807.bn.png)
![এক্সটেনশন স্ক্রিনশট ](../../../../../translated_images/extension-screenshot.0e7f5bfa110e92e3.bn.png)
## শুরু করা
@ -31,7 +31,7 @@ npm run build
এজ ব্রাউজারে ইনস্টল করার জন্য, ব্রাউজারের উপরের ডান কোণে থাকা 'তিন ডট' মেনু ব্যবহার করে এক্সটেনশন প্যানেল খুঁজুন। সেখান থেকে, একটি নতুন এক্সটেনশন লোড করতে 'লোড আনপ্যাকড' নির্বাচন করুন। প্রম্পটে 'dist' ফোল্ডার খুলুন এবং এক্সটেনশন লোড হবে। এটি ব্যবহার করতে, আপনাকে CO2 সিগন্যাল API ([ইমেইলের মাধ্যমে এখানে পান](https://www.co2snal.com/) একটি API কী প্রয়োজন হবে - এই পৃষ্ঠার বক্সে আপনার ইমেইল লিখুন) এবং [আপনার অঞ্চলের কোড](http://api.electricitymap.org/v3/zones) [ইলেকট্রিসিটি ম্যাপ](https://www.electricitymap.org/map) থেকে (যেমন, বোস্টনে, আমি 'US-NEISO' ব্যবহার করি)।
![ইনস্টল করা](../../../../../translated_images/install-on-edge.78634f02842c48283726c531998679a6f03a45556b2ee99d8ff231fe41446324.bn.png)
![ইনস্টল করা](../../../../../translated_images/install-on-edge.78634f02842c4828.bn.png)
একবার API কী এবং অঞ্চল এক্সটেনশন ইন্টারফেসে ইনপুট হয়ে গেলে, ব্রাউজার এক্সটেনশন বারে রঙিন ডটটি আপনার অঞ্চলের শক্তি ব্যবহারের প্রতিফলন হিসেবে পরিবর্তিত হবে এবং আপনাকে একটি নির্দেশক দেবে যে শক্তি-নিবিড় কার্যকলাপ আপনার জন্য কতটা উপযুক্ত। এই 'ডট' সিস্টেমের ধারণাটি আমাকে ক্যালিফোর্নিয়ার নির্গমনের জন্য [এনার্জি ললিপপ এক্সটেনশন](https://energylollipop.com/) থেকে অনুপ্রাণিত করেছে।

@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA:
tmrow এর Signal C02 API ব্যবহার করে বিদ্যুৎ ব্যবহারের উপর নজর রাখা হবে, যাতে একটি ব্রাউজার এক্সটেনশন তৈরি করা যায়। এই এক্সটেনশনটি আপনার ব্রাউজারে সরাসরি মনে করিয়ে দেবে যে আপনার অঞ্চলে বিদ্যুৎ ব্যবহারের প্রভাব কতটা। এই এক্সটেনশনটি ব্যবহার করে আপনি এই তথ্যের ভিত্তিতে আপনার কার্যক্রম মূল্যায়ন করতে পারবেন।
![এক্সটেনশনের স্ক্রিনশট](../../../../../translated_images/extension-screenshot.0e7f5bfa110e92e3875e1bc9405edd45a3d2e02963e48900adb91926a62a5807.bn.png)
![এক্সটেনশনের স্ক্রিনশট](../../../../../translated_images/extension-screenshot.0e7f5bfa110e92e3.bn.png)
## শুরু করার জন্য
@ -31,7 +31,7 @@ npm run build
Edge-এ ইনস্টল করতে, ব্রাউজারের উপরের ডান কোণে থাকা "তিনটি বিন্দু" মেনু ব্যবহার করে এক্সটেনশন প্যানেলটি খুঁজুন। যদি এটি সক্রিয় না থাকে, তাহলে ডেভেলপার মোড (নিচের বাম দিকে) সক্রিয় করুন। "Carica decompressa" নির্বাচন করুন একটি নতুন এক্সটেনশন লোড করার জন্য। প্রম্পটে "dist" ফোল্ডারটি খুলুন এবং এক্সটেনশনটি লোড হবে। এটি ব্যবহার করতে, আপনাকে CO2 Signal API-এর জন্য একটি API কী প্রয়োজন হবে (আপনি এটি [ই-মেইলের মাধ্যমে এখানে পেতে পারেন](https://www.co2signal.com/) - এই পৃষ্ঠায় আপনার ই-মেইল বক্সে প্রবেশ করুন) এবং [ইলেকট্রিসিটি ম্যাপ](https://www.electricitymap.org/map)-এর সাথে সম্পর্কিত [আপনার অঞ্চলের কোড](http://api.electricitymap.org/v3/zones) প্রয়োজন হবে (যেমন, বোস্টনে "US-NEISO")।
![ইনস্টলেশন](../../../../../translated_images/install-on-edge.78634f02842c48283726c531998679a6f03a45556b2ee99d8ff231fe41446324.bn.png)
![ইনস্টলেশন](../../../../../translated_images/install-on-edge.78634f02842c4828.bn.png)
একবার API কী এবং অঞ্চল এক্সটেনশনের ইন্টারফেসে প্রবেশ করানো হলে, ব্রাউজারের এক্সটেনশন বারে থাকা রঙিন বিন্দুটি আপনার অঞ্চলের বিদ্যুৎ ব্যবহারের প্রতিফলন দেখাবে এবং কোন উচ্চ-শক্তি ব্যবহারকারী কার্যক্রমগুলি সম্পাদন করা উপযুক্ত হবে তার একটি নির্দেশনা দেবে। এই "পয়েন্ট" সিস্টেমের ধারণাটি ক্যালিফোর্নিয়ার নির্গমনের জন্য [Energy Lollipop এক্সটেনশন](https://energylollipop.com/) থেকে নেওয়া হয়েছে।

@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA:
tmrow এর CO2 সিগন্যাল API ব্যবহার করে বিদ্যুৎ ব্যবহারের পরিমাণ ট্র্যাক করার জন্য একটি ব্রাউজার এক্সটেনশন তৈরি করুন, যা আপনার অঞ্চলের বিদ্যুৎ ব্যবহারের পরিমাণ ব্রাউজারে একটি রিমাইন্ডার হিসেবে দেখাবে। এই এক্সটেনশনটি ব্যবহার করে আপনি এই তথ্যের ভিত্তিতে আপনার কার্যকলাপ নির্ধারণ করতে পারবেন।
![extension screenshot](../../../../../translated_images/extension-screenshot.0e7f5bfa110e92e3875e1bc9405edd45a3d2e02963e48900adb91926a62a5807.bn.png)
![extension screenshot](../../../../../translated_images/extension-screenshot.0e7f5bfa110e92e3.bn.png)
## শুরু করা যাক
@ -31,7 +31,7 @@ npm run build
Edge-এ ইনস্টল করতে, ব্রাউজারের ডানদিকে উপরের কোণে থাকা "তিনটি ডট" মেনু থেকে "Extensions" প্যানেলটি খুঁজে নিন। সেখান থেকে "Load Unpacked" নির্বাচন করুন এবং নতুন এক্সটেনশনটি লোড করুন। প্রম্পটে "dist" ফোল্ডারটি খুলুন, এবং এক্সটেনশনটি লোড হয়ে যাবে। এটি ব্যবহার করতে, CO2 সিগন্যাল API-এর API কী ([ইমেইলের মাধ্যমে এখানে একটি পান](https://www.co2signal.com/) - এই পৃষ্ঠার বক্সে আপনার ইমেইল লিখুন) এবং [Electricity Map](https://www.electricitymap.org/map)-এর সাথে সম্পর্কিত [আপনার অঞ্চলের কোড](http://api.electricitymap.org/v3/zones) প্রয়োজন হবে (উদাহরণস্বরূপ, বোস্টনের জন্য 'US-NEISO' ব্যবহার করা হয়)।
![installing](../../../../../translated_images/install-on-edge.78634f02842c48283726c531998679a6f03a45556b2ee99d8ff231fe41446324.bn.png)
![installing](../../../../../translated_images/install-on-edge.78634f02842c4828.bn.png)
API কী এবং অঞ্চলটি এক্সটেনশনের ইন্টারফেসে প্রবেশ করানোর পর, ব্রাউজারের এক্সটেনশন বারে প্রদর্শিত রঙিন ডটটি পরিবর্তিত হবে এবং আপনার অঞ্চলের শক্তি ব্যবহারের পরিমাণ প্রতিফলিত করবে। এটি আপনাকে নির্দেশ করবে কোন ধরনের শক্তি-নির্ভর কার্যকলাপ করা উপযুক্ত। এই "ডট" সিস্টেমের ধারণাটি আমাকে ক্যালিফোর্নিয়ার নির্গমনের জন্য [Energy Lollipop extension](https://energylollipop.com/) থেকে অনুপ্রাণিত করেছে।

@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA:
tmrow এর CO2 সিগন্যাল API ব্যবহার করে বিদ্যুৎ ব্যবহারের উপর নজরদারি করুন এবং একটি ব্রাউজার এক্সটেনশন তৈরি করুন যা আপনাকে আপনার অঞ্চলের বিদ্যুৎ ব্যবহারের ভারীতা সম্পর্কে সতর্ক করবে। এই এক্সটেনশনটি ব্যবহার করে আপনি আপনার কার্যকলাপ সম্পর্কে আরও সচেতন সিদ্ধান্ত নিতে পারবেন।
![ব্রাউজার এক্সটেনশনের স্ক্রিনশট](../../../../../translated_images/extension-screenshot.0e7f5bfa110e92e3875e1bc9405edd45a3d2e02963e48900adb91926a62a5807.bn.png)
![ব্রাউজার এক্সটেনশনের স্ক্রিনশট](../../../../../translated_images/extension-screenshot.0e7f5bfa110e92e3.bn.png)
## শুরু এখান থেকে
@ -31,7 +31,7 @@ npm run build
Edge-এ ইনস্টল করার জন্য, ব্রাউজারের ডানদিকের উপরের কোণে থাকা 'তিনটি ডট' মেনু ব্যবহার করে এক্সটেনশন প্যানেলটি খুঁজুন। সেখান থেকে, 'Load Unpacked' নির্বাচন করুন নতুন এক্সটেনশন লোড করার জন্য। অনুরোধ অনুযায়ী 'dist' ফোল্ডারটি খুলুন এবং এক্সটেনশনটি লোড হবে। এটি ব্যবহার করার জন্য, আপনাকে CO2 সিগন্যাল API-এর জন্য একটি API কী ([এখানে ইমেইলের মাধ্যমে একটি পান](https://www.co2signal.com/) - এই পৃষ্ঠার বক্সে আপনার ইমেইল দিন) এবং [আপনার অঞ্চলের কোড](http://api.electricitymap.org/v3/zones) প্রয়োজন, যা [ইলেকট্রিসিটি ম্যাপ](https://www.electricitymap.org/map)-এর সাথে মিলে যায় (উদাহরণস্বরূপ, বোস্টনে আমি 'US-NEISO' ব্যবহার করি)।
![ডাউনলোড হচ্ছে](../../../../../translated_images/install-on-edge.78634f02842c48283726c531998679a6f03a45556b2ee99d8ff231fe41446324.bn.png)
![ডাউনলোড হচ্ছে](../../../../../translated_images/install-on-edge.78634f02842c4828.bn.png)
API কী এবং অঞ্চল এক্সটেনশনের ইন্টারফেসে প্রবেশ করানোর পর, ব্রাউজার এক্সটেনশন বারে রঙিন বিন্দুটি আপনার অঞ্চলের শক্তি ব্যবহারের প্রতিফলন করবে এবং আপনাকে ভারী কার্যকলাপের জন্য উপযুক্ত নির্দেশনা দেবে। এই 'ডট' সিস্টেমের ধারণাটি আমাকে [এনার্জি ললিপপ ব্রাউজার এক্সটেনশন](https://energylollipop.com/) থেকে অনুপ্রাণিত করেছে, যা ক্যালিফোর্নিয়ার নির্গমনের জন্য তৈরি।

@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA:
tmrow-এর CO2 Signal API ব্যবহার করে বিদ্যুৎ ব্যবহারের উপর নজর রাখুন এবং একটি ব্রাউজার এক্সটেনশন তৈরি করুন, যা আপনার ব্রাউজারে একটি অনুস্মারক হিসেবে কাজ করবে আপনার অঞ্চলের বিদ্যুৎ ব্যবহারের ভার কতটা তা জানার জন্য। এই এক্সটেনশনটি ব্যবহার করে আপনি আপনার কার্যকলাপ সম্পর্কে তথ্যের ভিত্তিতে সিদ্ধান্ত নিতে পারবেন।
![এক্সটেনশনের স্ক্রিনশট](../../../../translated_images/extension-screenshot.0e7f5bfa110e92e3875e1bc9405edd45a3d2e02963e48900adb91926a62a5807.bn.png)
![এক্সটেনশনের স্ক্রিনশট](../../../../translated_images/extension-screenshot.0e7f5bfa110e92e3.bn.png)
## শুরু করার জন্য
@ -31,7 +31,7 @@ npm run build
Edge-এ ইনস্টল করতে, ব্রাউজারের উপরের ডান কোণের 'তিন ডট' মেনু ব্যবহার করে Extensions প্যানেলটি খুঁজুন। সেখান থেকে 'Load Unpacked' নির্বাচন করুন একটি নতুন এক্সটেনশন লোড করার জন্য। প্রম্পটে 'dist' ফোল্ডারটি খুলুন এবং এক্সটেনশনটি লোড হবে। এটি ব্যবহার করতে, আপনাকে CO2 Signal-এর API-এর জন্য একটি API কী ([ইমেইলের মাধ্যমে এখানে পান](https://www.co2signal.com/) - এই পৃষ্ঠায় আপনার ইমেইলটি বক্সে লিখুন) এবং [Electricity Map](https://www.electricitymap.org/map)-এর সাথে সম্পর্কিত আপনার অঞ্চলের [কোড](http://api.electricitymap.org/v3/zones) প্রয়োজন হবে (উদাহরণস্বরূপ, বোস্টনে আমি 'US-NEISO' ব্যবহার করি)।
![ইনস্টল করা হচ্ছে](../../../../translated_images/install-on-edge.78634f02842c48283726c531998679a6f03a45556b2ee99d8ff231fe41446324.bn.png)
![ইনস্টল করা হচ্ছে](../../../../translated_images/install-on-edge.78634f02842c4828.bn.png)
একবার API কী এবং অঞ্চল এক্সটেনশনের ইন্টারফেসে ইনপুট দিলে, ব্রাউজার এক্সটেনশন বারে রঙিন বিন্দুটি আপনার অঞ্চলের শক্তি ব্যবহারের প্রতিফলন দেখাবে এবং আপনাকে নির্দেশনা দেবে কোন শক্তি-নির্ভর কার্যকলাপ আপনার জন্য উপযুক্ত। এই 'ডট' সিস্টেমের ধারণাটি আমাকে [Energy Lollipop এক্সটেনশন](https://energylollipop.com/) থেকে দেওয়া হয়েছিল, যা ক্যালিফোর্নিয়ার নির্গমনের জন্য তৈরি।

@ -108,7 +108,7 @@ quadrantChart
UI Elements: [0.9, 0.1]
```
![ক্যানভাসের গ্রিড](../../../../translated_images/canvas_grid.5f209da785ded492a01ece440e3032afe51efa500cc2308e5ea4252487ceaf0b.bn.png)
![ক্যানভাসের গ্রিড](../../../../translated_images/canvas_grid.5f209da785ded492.bn.png)
> ছবি [MDN](https://developer.mozilla.org/docs/Web/API/Canvas_API/Tutorial/Drawing_shapes) থেকে
ক্যানভাস উপাদানে আঁকার জন্য, আপনি একই তিন-ধাপের প্রক্রিয়া অনুসরণ করবেন, যা সমস্ত ক্যানভাস গ্রাফিক্সের ভিত্তি গঠন করে। এটি কয়েকবার করলে, এটি স্বাভাবিক হয়ে যাবে:
@ -329,11 +329,11 @@ flowchart TD
- হিরো শিপ
![হিরো শিপ](../../../../translated_images/player.dd24c1afa8c71e9b82b2958946d4bad13308681392d4b5ddcc61a0e818ef8088.bn.png)
![হিরো শিপ](../../../../translated_images/player.dd24c1afa8c71e9b.bn.png)
- 5*5 মনস্টার
![মনস্টার শিপ](../../../../translated_images/enemyShip.5df2a822c16650c2fb3c06652e8ec8120cdb9122a6de46b9a1a56d54db22657f.bn.png)
![মনস্টার শিপ](../../../../translated_images/enemyShip.5df2a822c16650c2.bn.png)
### ডেভেলপমেন্ট শুরু করার জন্য প্রস্তাবিত ধাপ
@ -408,7 +408,7 @@ const STOP_X = START_X + FORMATION_WIDTH;
শেষ ফলাফলটি এরকম দেখতে হবে:
![কালো স্ক্রিন যেখানে একটি হিরো এবং ৫*৫ দানব রয়েছে](../../../../translated_images/partI-solution.36c53b48c9ffae2a5e15496b23b604ba5393433e4bf91608a7a0a020eb7a2691.bn.png)
![কালো স্ক্রিন যেখানে একটি হিরো এবং ৫*৫ দানব রয়েছে](../../../../translated_images/partI-solution.36c53b48c9ffae2a.bn.png)
## সমাধান

@ -160,7 +160,7 @@ sequenceDiagram
```
- **স্কোরিং সিস্টেম**: প্রতিটি ধ্বংস করা শত্রু জাহাজ ১০০ পয়েন্ট প্রদান করে (গণনা করা সহজ করার জন্য রাউন্ড সংখ্যা ব্যবহার করা হয়)। স্কোরটি নিচের বাম কোণে প্রদর্শিত হবে।
- **জীবন কাউন্টার**: আপনার হিরো তিনটি জীবন দিয়ে শুরু করে - প্রাথমিক আর্কেড গেমগুলির দ্বারা চ্যালেঞ্জ এবং খেলার যোগ্যতার মধ্যে ভারসাম্য বজায় রাখতে এটি একটি মানদণ্ড। শত্রুর সাথে প্রতিটি সংঘর্ষে একটি জীবন হারায়। আমরা বাকি জীবনগুলোকে নিচের ডান কোণে জাহাজের আইকন ব্যবহার করে প্রদর্শন করব ![life image](../../../../translated_images/life.6fb9f50d53ee0413cd91aa411f7c296e10a1a6de5c4a4197c718b49bf7d63ebf.bn.png)।
- **জীবন কাউন্টার**: আপনার হিরো তিনটি জীবন দিয়ে শুরু করে - প্রাথমিক আর্কেড গেমগুলির দ্বারা চ্যালেঞ্জ এবং খেলার যোগ্যতার মধ্যে ভারসাম্য বজায় রাখতে এটি একটি মানদণ্ড। শত্রুর সাথে প্রতিটি সংঘর্ষে একটি জীবন হারায়। আমরা বাকি জীবনগুলোকে নিচের ডান কোণে জাহাজের আইকন ব্যবহার করে প্রদর্শন করব ![life image](../../../../translated_images/life.6fb9f50d53ee0413.bn.png)।
## চলুন শুরু করি!

@ -575,7 +575,7 @@ sequenceDiagram
`history.pushState` ব্যবহার করে ব্রাউজারের নেভিগেশন ইতিহাসে নতুন এন্ট্রি তৈরি করা হয়। আপনি যদি ব্রাউজারের *ব্যাক বাটন* ধরে রাখেন, এটি কিছুটা এরকম দেখাবে:
![নেভিগেশন ইতিহাসের স্ক্রিনশট](../../../../translated_images/history.7fdabbafa521e06455b738d3dafa3ff41d3071deae60ead8c7e0844b9ed987d8.bn.png)
![নেভিগেশন ইতিহাসের স্ক্রিনশট](../../../../translated_images/history.7fdabbafa521e064.bn.png)
আপনি যদি কয়েকবার ব্যাক বাটনে ক্লিক করেন, আপনি দেখবেন যে বর্তমান URL পরিবর্তন হচ্ছে এবং ইতিহাস আপডেট হচ্ছে, কিন্তু একই টেমপ্লেট প্রদর্শিত হচ্ছে।

@ -295,7 +295,7 @@ graph TD
2. আপনার ব্রাউজারের অ্যাড্রেস বারে পরিবর্তনগুলি লক্ষ্য করুন
3. লক্ষ্য করুন কীভাবে পৃষ্ঠা পুনরায় লোড হয় এবং ডেটা URL-এ প্রদর্শিত হয়
![রেজিস্টার বোতামে ক্লিক করার পর ব্রাউজারের URL পরিবর্তনের স্ক্রিনশট](../../../../translated_images/click-register.e89a30bf0d4bc9ca867dc537c4cea679a7c26368bd790969082f524fed2355bc.bn.png)
![রেজিস্টার বোতামে ক্লিক করার পর ব্রাউজারের URL পরিবর্তনের স্ক্রিনশট](../../../../translated_images/click-register.e89a30bf0d4bc9ca.bn.png)
### HTTP পদ্ধতির তুলনা
@ -475,7 +475,7 @@ async function register() {
3. **"Create Account" ক্লিক করুন**
4. **কনসোল বার্তা এবং ব্যবহারকারীর প্রতিক্রিয়া পর্যবেক্ষণ করুন**
![ব্রাউজার কনসোলে লগ বার্তা দেখানো স্ক্রিনশট](../../../../translated_images/browser-console.efaf0b51aaaf67782a29e1a0bb32cc063f189b18e894eb5926e02f1abe864ec2.bn.png)
![ব্রাউজার কনসোলে লগ বার্তা দেখানো স্ক্রিনশট](../../../../translated_images/browser-console.efaf0b51aaaf6778.bn.png)
**আপনি যা দেখতে পাবেন:**
- **লোডিং স্টেট** সাবমিট বোতামে প্রদর্শিত হবে
@ -650,7 +650,7 @@ input:focus:invalid {
3. **বিশেষ অক্ষর চেষ্টা করুন** ব্যবহারকারীর নাম ক্ষেত্রে
4. **একটি নেতিবাচক ব্যালেন্স পরিমাণ লিখুন**
![ফর্ম জমা দেওয়ার চেষ্টা করার সময় যাচাইকরণ ত্রুটি দেখানো স্ক্রিনশট](../../../../translated_images/validation-error.8bd23e98d416c22f80076d04829a4bb718e0e550fd622862ef59008ccf0d5dce.bn.png)
![ফর্ম জমা দেওয়ার চেষ্টা করার সময় যাচাইকরণ ত্রুটি দেখানো স্ক্রিনশট](../../../../translated_images/validation-error.8bd23e98d416c22f.bn.png)
**আপনি যা পর্যবেক্ষণ করবেন:**
- **ব্রাউজার প্রদর্শন করে** নেটিভ যাচাইকরণ বার্তা
@ -769,7 +769,7 @@ timeline
এখানে কিছু স্টাইলিং যোগ করার পরে চূড়ান্ত লগইন পৃষ্ঠার একটি উদাহরণ:
![CSS স্টাইল যোগ করার পরে লগইন পৃষ্ঠার স্ক্রিনশট](../../../../translated_images/result.96ef01f607bf856aa9789078633e94a4f7664d912f235efce2657299becca483.bn.png)
![CSS স্টাইল যোগ করার পরে লগইন পৃষ্ঠার স্ক্রিনশট](../../../../translated_images/result.96ef01f607bf856a.bn.png)
## পোস্ট-লেকচার কুইজ

@ -160,7 +160,7 @@ sequenceDiagram
Browser->>User: Displays new page (flash/reload)
```
![মাল্টি-পেজ অ্যাপ্লিকেশনে আপডেট ওয়ার্কফ্লো](../../../../translated_images/mpa.7f7375a1a2d4aa779d3f928a2aaaf9ad76bcdeb05cfce2dc27ab126024050f51.bn.png)
![মাল্টি-পেজ অ্যাপ্লিকেশনে আপডেট ওয়ার্কফ্লো](../../../../translated_images/mpa.7f7375a1a2d4aa77.bn.png)
**কেন এই পদ্ধতি ক্লান্তিকর মনে হয়েছিল:**
- প্রতিটি ক্লিক মানে পুরো পৃষ্ঠাটি স্ক্র্যাচ থেকে পুনর্নির্মাণ করা
@ -187,7 +187,7 @@ sequenceDiagram
Browser->>User: Shows updated content (no reload)
```
![সিঙ্গেল-পেজ অ্যাপ্লিকেশনে আপডেট ওয়ার্কফ্লো](../../../../translated_images/spa.268ec73b41f992c2a21ef9294235c6ae597b3c37e2c03f0494c2d8857325cc57.bn.png)
![সিঙ্গেল-পেজ অ্যাপ্লিকেশনে আপডেট ওয়ার্কফ্লো](../../../../translated_images/spa.268ec73b41f992c2.bn.png)
**কেন SPA-গুলো এত ভালো লাগে:**
- শুধুমাত্র যা পরিবর্তন হয়েছে তা আপডেট হয় (বুদ্ধিমানের কাজ, তাই না?)
@ -487,7 +487,7 @@ if (data.error) {
এখন আপনি যখন একটি অবৈধ অ্যাকাউন্ট দিয়ে পরীক্ষা করবেন, আপনি পৃষ্ঠায় একটি সহায়ক ত্রুটি বার্তা দেখতে পাবেন!
![লগইন চলাকালীন প্রদর্শিত ত্রুটি বার্তা দেখানো স্ক্রিনশট](../../../../translated_images/login-error.416fe019b36a63276764c2349df5d99e04ebda54fefe60c715ee87a28d5d4ad0.bn.png)
![লগইন চলাকালীন প্রদর্শিত ত্রুটি বার্তা দেখানো স্ক্রিনশট](../../../../translated_images/login-error.416fe019b36a6327.bn.png)
#### ধাপ : অ্যাক্সেসিবিলিটির সাথে অন্তর্ভুক্তিমূলক হওয়া
@ -819,7 +819,7 @@ Agent মোড সম্পর্কে আরও জানুন [এখান
একটি পরিপূর্ণ ড্যাশবোর্ড দেখতে কেমন হতে পারে তার উদাহরণ এখানে:
![ড্যাশবোর্ডের স্টাইলিংয়ের পর একটি উদাহরণ ফলাফলের স্ক্রিনশট](../../../../translated_images/screen2.123c82a831a1d14ab2061994be2fa5de9cec1ce651047217d326d4773a6348e4.bn.png)
![ড্যাশবোর্ডের স্টাইলিংয়ের পর একটি উদাহরণ ফলাফলের স্ক্রিনশট](../../../../translated_images/screen2.123c82a831a1d14a.bn.png)
আপনাকে এটি ঠিক একইভাবে মেলানোর প্রয়োজন নেই - এটি অনুপ্রেরণা হিসেবে ব্যবহার করুন এবং এটিকে আপনার মতো করে তৈরি করুন!

@ -190,7 +190,7 @@ mindmap
আমরা আমাদের **কেন্দ্রীয় স্টেট ম্যানেজমেন্ট** সিস্টেম তৈরি করতে যাচ্ছি। এটি এমন একজন অত্যন্ত সংগঠিত ব্যক্তির মতো যিনি সমস্ত গুরুত্বপূর্ণ বিষয়ের দায়িত্বে আছেন:
![HTML, ব্যবহারকারীর ক্রিয়া এবং স্টেটের মধ্যে ডেটা প্রবাহ দেখানো স্কিমা](../../../../translated_images/data-flow.fa2354e0908fecc89b488010dedf4871418a992edffa17e73441d257add18da4.bn.png)
![HTML, ব্যবহারকারীর ক্রিয়া এবং স্টেটের মধ্যে ডেটা প্রবাহ দেখানো স্কিমা](../../../../translated_images/data-flow.fa2354e0908fecc8.bn.png)
```mermaid
flowchart TD

@ -112,7 +112,7 @@ CO_OP_TRANSLATOR_METADATA:
**প্রত্যাশিত ফলাফল:**
এই অ্যাসাইনমেন্ট সম্পন্ন করার পরে, আপনার ব্যাংকিং অ্যাপে একটি সম্পূর্ণ কার্যকরী "ট্রানজ্যাকশন যোগ করুন" ফিচার থাকবে যা পেশাদারভাবে দেখাবে এবং কাজ করবে:
![একটি উদাহরণ "ট্রানজ্যাকশন যোগ করুন" ডায়ালগের স্ক্রিনশট](../../../../translated_images/dialog.93bba104afeb79f12f65ebf8f521c5d64e179c40b791c49c242cf15f7e7fab15.bn.png)
![একটি উদাহরণ "ট্রানজ্যাকশন যোগ করুন" ডায়ালগের স্ক্রিনশট](../../../../translated_images/dialog.93bba104afeb79f1.bn.png)
## আপনার বাস্তবায়ন পরীক্ষা করা

@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA:
এই প্রকল্পে, আপনি একটি কাল্পনিক ব্যাংক তৈরি করার পদ্ধতি শিখবেন। এই পাঠগুলোতে একটি ওয়েব অ্যাপের লেআউট এবং রুট তৈরি, ফর্ম তৈরি, স্টেট পরিচালনা এবং API থেকে ব্যাংকের ডেটা সংগ্রহ করার পদ্ধতি শেখানো হয়েছে।
| ![Screen1](../../../translated_images/screen1.baccbba0f1f93364672eb250d2fbd21574bb1caf79a2155022dc098a741cbdfe.bn.png) | ![Screen2](../../../translated_images/screen2.123c82a831a1d14ab2061994be2fa5de9cec1ce651047217d326d4773a6348e4.bn.png) |
| ![Screen1](../../../translated_images/screen1.baccbba0f1f93364.bn.png) | ![Screen2](../../../translated_images/screen2.123c82a831a1d14a.bn.png) |
|--------------------------------|--------------------------------|
## পাঠসমূহ

@ -185,7 +185,7 @@ VSCode.dev এই ক্ষমতাগুলো আপনার ব্রাউ
সবকিছু লোড হয়ে গেলে, আপনি একটি সুন্দর পরিষ্কার ওয়ার্কস্পেস দেখতে পাবেন যা আপনাকে গুরুত্বপূর্ণ বিষয়ের উপর মনোযোগ দিতে সাহায্য করে আপনার কোড!
![ডিফল্ট VSCode.dev ইন্টারফেস](../../../../translated_images/default-vscode-dev.5d06881d65c1b3234ce50cd9ed3b0028e6031ad5f5b441bcbed96bfa6311f6d0.bn.png)
![ডিফল্ট VSCode.dev ইন্টারফেস](../../../../translated_images/default-vscode-dev.5d06881d65c1b323.bn.png)
**এটি আপনার আশেপাশের ট্যুর:**
- **অ্যাক্টিভিটি বার** (বাম দিকে স্ট্রিপটি): আপনার প্রধান নেভিগেশন যেখানে আছে Explorer 📁, Search 🔍, Source Control 🌿, Extensions 🧩, এবং Settings ⚙️
@ -233,7 +233,7 @@ flowchart TB
1. [vscode.dev](https://vscode.dev)-এ যান যদি আপনি ইতিমধ্যে সেখানে না থাকেন
2. ওয়েলকাম স্ক্রিনে "Open Remote Repository" বোতামটি খুঁজুন এবং ক্লিক করুন
![রিমোট রিপোজিটরি খুলুন](../../../../translated_images/open-remote-repository.bd9c2598b8949e7fc283cdfc8f4050c6205a7c7c6d3f78c4b135115d037d6fa2.bn.png)
![রিমোট রিপোজিটরি খুলুন](../../../../translated_images/open-remote-repository.bd9c2598b8949e7f.bn.png)
3. যেকোনো GitHub রিপোজিটরি URL পেস্ট করুন (এটি চেষ্টা করুন: `https://github.com/microsoft/Web-Dev-For-Beginners`)
4. Enter চাপুন এবং জাদু দেখুন!
@ -242,7 +242,7 @@ flowchart TB
কোডিং উইজার্ডের মতো অনুভব করতে চান? এই কীবোর্ড শর্টকাট চেষ্টা করুন: Ctrl+Shift+P (বা Mac-এ Cmd+Shift+P) কমান্ড প্যালেট খুলতে:
![কমান্ড প্যালেট](../../../../translated_images/palette-menu.4946174e07f426226afcdad707d19b8d5150e41591c751c45b5dee213affef91.bn.png)
![কমান্ড প্যালেট](../../../../translated_images/palette-menu.4946174e07f42622.bn.png)
**কমান্ড প্যালেট হলো সবকিছু করার জন্য একটি সার্চ ইঞ্জিনের মতো:**
- "open remote" টাইপ করুন এবং এটি রিপোজিটরি ওপেনার খুঁজে দেবে
@ -304,7 +304,7 @@ flowchart TB
3. উপযুক্ত এক্সটেনশনসহ ফাইলের নাম লিখুন (`style.css`, `script.js`, `index.html`)
4. Enter চাপুন ফাইল তৈরি করতে
![নতুন ফাইল তৈরি করা](../../../../translated_images/create-new-file.2814e609c2af9aeb6c6fd53156c503ac91c3d538f9cac63073b2dd4a7631f183.bn.png)
![নতুন ফাইল তৈরি করা](../../../../translated_images/create-new-file.2814e609c2af9aeb.bn.png)
**নামকরণের নিয়মাবলী:**
- ফাইলের উদ্দেশ্য নির্দেশ করে বর্ণনামূলক নাম ব্যবহার করুন
@ -381,7 +381,7 @@ mindmap
2. ঘুরে দেখুন বা নির্দিষ্ট কিছু খুঁজুন
3. যা আকর্ষণীয় মনে হয় তাতে ক্লিক করুন এবং আরও জানুন
![এক্সটেনশন মার্কেটপ্লেস ইন্টারফেস](../../../../translated_images/extensions.eca0e0c7f59a10b5c88be7fe24b3e32cca6b6058b35a49026c3a9d80b1813b7c.bn.png)
![এক্সটেনশন মার্কেটপ্লেস ইন্টারফেস](../../../../translated_images/extensions.eca0e0c7f59a10b5.bn.png)
**আপনি সেখানে যা দেখতে পাবেন:**
@ -434,7 +434,7 @@ mindmap
3. ড্রপডাউন থেকে "এক্সটেনশন সেটিংস" নির্বাচন করুন
4. আপনার ওয়ার্কফ্লো অনুযায়ী জিনিসগুলো সামঞ্জস্য করুন
![এক্সটেনশন সেটিংস কাস্টমাইজ করা](../../../../translated_images/extension-settings.21c752ae4f4cdb78a867f140ccd0680e04619d0c44bb4afb26373e54b829d934.bn.png)
![এক্সটেনশন সেটিংস কাস্টমাইজ করা](../../../../translated_images/extension-settings.21c752ae4f4cdb78.bn.png)
**যা আপনি সাধারণত সামঞ্জস্য করতে চাইবেন:**
- আপনার কোড কীভাবে ফরম্যাট হবে (ট্যাব বনাম স্পেস, লাইন দৈর্ঘ্য ইত্যাদি)

@ -78,7 +78,7 @@ CO_OP_TRANSLATOR_METADATA:
4. **একটি কমিট বার্তা লিখুন**: "Add initial HTML structure"
5. **"Commit new file" ক্লিক করুন** আপনার পরিবর্তনগুলি সংরক্ষণ করতে
![GitHub-এ প্রাথমিক ফাইল তৈরি করা](../../../../translated_images/new-file-github.com.c886796d800e8056561829a181be1382c5303da9d902d8b2dd82b68a4806e21f.bn.png)
![GitHub-এ প্রাথমিক ফাইল তৈরি করা](../../../../translated_images/new-file-github.com.c886796d800e8056.bn.png)
**এই প্রাথমিক সেটআপ যা অর্জন করে:**
- **HTML5 ডকুমেন্ট গঠন প্রতিষ্ঠা করে** সেমান্টিক এলিমেন্ট সহ
@ -104,7 +104,7 @@ CO_OP_TRANSLATOR_METADATA:
**সফলতার সূচক**: আপনি আপনার প্রকল্প ফাইলগুলি Explorer সাইডবারে এবং `index.html` প্রধান এডিটর এলাকায় দেখতে পাবেন।
![VSCode.dev-এ প্রকল্প লোড করা](../../../../translated_images/project-on-vscode.dev.e79815a9a95ee7feac72ebe5c941c91279716be37c575dbdbf2f43bea2c7d8b6.bn.png)
![VSCode.dev-এ প্রকল্প লোড করা](../../../../translated_images/project-on-vscode.dev.e79815a9a95ee7fe.bn.png)
**ইন্টারফেসে যা আপনি দেখতে পাবেন:**
- **Explorer সাইডবার**: **প্রদর্শন করে** আপনার রিপোজিটরি ফাইল এবং ফোল্ডার গঠন
@ -448,7 +448,7 @@ li:before {
**ইনস্টলেশনের পরপরই ফলাফল:**
CodeSwing ইনস্টল করার পরে, আপনি আপনার রিজিউম ওয়েবসাইটের একটি লাইভ প্রিভিউ এডিটরে দেখতে পাবেন। এটি আপনাকে আপনার সাইটটি কেমন দেখাচ্ছে তা পরিবর্তন করার সাথে সাথে দেখতে দেয়।
![CodeSwing এক্সটেনশন লাইভ প্রিভিউ দেখাচ্ছে](../../../../translated_images/after-codeswing-extension-pb.0ebddddcf73b550994947a9084e35e2836c713ae13839d49628e3c764c1cfe83.bn.png)
![CodeSwing এক্সটেনশন লাইভ প্রিভিউ দেখাচ্ছে](../../../../translated_images/after-codeswing-extension-pb.0ebddddcf73b5509.bn.png)
**উন্নত ইন্টারফেস বোঝা:**
- **স্প্লিট ভিউ**: **আপনার কোড এক পাশে এবং লাইভ প্রিভিউ অন্য পাশে দেখায়**

@ -61,7 +61,7 @@ print(response.choices[0].message.content)
আপনার সমাপ্ত প্রকল্পটি দেখতে এমন হবে:
![চ্যাট অ্যাপ ইন্টারফেস যেখানে ব্যবহারকারী এবং এআই সহকারীর মধ্যে কথোপকথন দেখানো হচ্ছে](../../../translated_images/screenshot.0a1ee0d123df681b4501eb53ffb267519fcc20aa653eabecef1e7561ddfb1cab.bn.png)
![চ্যাট অ্যাপ ইন্টারফেস যেখানে ব্যবহারকারী এবং এআই সহকারীর মধ্যে কথোপকথন দেখানো হচ্ছে](../../../translated_images/screenshot.0a1ee0d123df681b.bn.png)
## 🗺️ এআই অ্যাপ্লিকেশন ডেভেলপমেন্টের মাধ্যমে আপনার শেখার যাত্রা
@ -1703,14 +1703,14 @@ mindmap
- **[Web Dev For Beginners repository](https://github.com/microsoft/Web-Dev-For-Beginners) এ যান**
- **উপরের ডানদিকে "Use this template" ক্লিক করুন** (নিশ্চিত করুন আপনি GitHub-এ লগইন করেছেন)
![টেমপ্লেট ইন্টারফেস যেখানে সবুজ "Use this template" বোতাম দেখানো হয়েছে](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.bn.png)
![টেমপ্লেট ইন্টারফেস যেখানে সবুজ "Use this template" বোতাম দেখানো হয়েছে](../../../translated_images/template.67ad477109d29a2b.bn.png)
**ধাপ ২: Codespaces চালু করুন**
- **আপনার নতুন তৈরি করা রিপোজিটরি খুলুন**
- **সবুজ "Code" বোতাম ক্লিক করুন এবং "Codespaces" নির্বাচন করুন**
- **"Create codespace on main" নির্বাচন করুন** আপনার ডেভেলপমেন্ট পরিবেশ শুরু করতে
![Codespace ইন্টারফেস যেখানে ক্লাউড ডেভেলপমেন্ট পরিবেশ চালু করার অপশন দেখানো হয়েছে](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.bn.png)
![Codespace ইন্টারফেস যেখানে ক্লাউড ডেভেলপমেন্ট পরিবেশ চালু করার অপশন দেখানো হয়েছে](../../../translated_images/codespace.bcecbdf5d2747d3d.bn.png)
**ধাপ ৩: পরিবেশ কনফিগারেশন**
আপনার Codespace লোড হওয়ার পর, আপনি পাবেন:

@ -1,261 +1,257 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "63e29f5a308b533df9d70336bbb2e2b8",
"translation_date": "2025-11-25T17:22:33+00:00",
"original_hash": "fea3a0fceb8ad86fd640c09cf63a2aac",
"translation_date": "2026-01-06T17:19:00+00:00",
"source_file": "README.md",
"language_code": "bn"
}
-->
[![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)
# ওয়েব ডেভেলপমেন্ট ফর বিগিনার্স - একটি কারিকুলাম
মাইক্রোসফট ক্লাউড অ্যাডভোকেটদের ১২ সপ্তাহের বিস্তৃত কোর্সের মাধ্যমে ওয়েব ডেভেলপমেন্টের মৌলিক বিষয়গুলো শিখুন। ২৪টি পাঠে জাভাস্ক্রিপ্ট, 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. [**আজুর এআই ফাউন্ড্রি ডিসকর্ডে যোগ দিন এবং বিশেষজ্ঞ ও অন্যান্য ডেভেলপারদের সাথে পরিচিত হন**](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 দ্বারা সমর্থিত (স্বয়ংক্রিয় এবং সর্বদা আপ-টু-ডেট)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](./README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh/README.md) | [Chinese (Traditional, Hong Kong)](../hk/README.md) | [Chinese (Traditional, Macau)](../mo/README.md) | [Chinese (Traditional, Taiwan)](../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) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../br/README.md) | [Portuguese (Portugal)](../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) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
> **স্থানীয়ভাবে ক্লোন করতে চান?**
**যদি আপনি অতিরিক্ত ভাষার অনুবাদ চান, সমর্থিত ভাষার তালিকা [এখানে](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md) দেওয়া আছে।**
> এই রিপোজিটরিতে ৫০+ ভাষার অনুবাদ রয়েছে যা ডাউনলোড আকার উল্লেখযোগ্য মাত্রায় বৃদ্ধি করে। অনুবাদ ছাড়া ক্লোন করতে, sparse checkout ব্যবহার করুন:
> ```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'
> ```
> এটি আপনাকে কোর্স সম্পন্ন করার জন্য সবকিছু দ্রুত ডাউনলোড করার সুবিধা দেবে।
[![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://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md) তালিকাভুক্ত।**
#### 🧑‍🎓 _আপনি কি একজন শিক্ষার্থী?_
#### 🧑‍🎓 _আপনি কি একজন ছাত্র?_
[**Student Hub page**](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 Assistant প্রকল্প যোগ করা হয়েছে, এটি দেখুন [project](./09-chat-project/README.md)
নতুন AI Assistant প্রজেক্ট যুক্ত হয়েছে, দেখুন [প্রকল্প](./9-chat-project/README.md)
### 📣 ঘোষণা - _Generative AI এর জন্য নতুন কারিকুলাম_ জাভাস্ক্রিপ্টে প্রকাশিত হয়েছে
### 📣 ঘোষণা - _Generative AI এর জন্য নতুন পাঠক্রম_ সম্প্রতি প্রকাশিত
আমাদের নতুন 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/background.148a8d43afde57303419a663f50daf586681bc2fabf833f66ef6954073983c66.bn.png)
![Background](../../translated_images/background.148a8d43afde5730.bn.png)
- বেসিক থেকে RAG পর্যন্ত সবকিছু নিয়ে পাঠ
- GenAI এবং আমাদের সঙ্গী অ্যাপ ব্যবহার করে ঐতিহাসিক চরিত্রের সাথে যোগাযোগ করুন।
- মজাদার এবং আকর্ষণীয় গল্প, আপনি সময় ভ্রমণ করবেন!
- বেসিক থেকে শুরু করে RAG পর্যন্ত সবকিছু শেখানো হয়
- GenAI এবং আমাদের কম্প্যানিয়ন অ্যাপ ব্যবহার করে ঐতিহাসিক চরিত্রদের সাথে ইন্টারঅ্যাক্ট করুন।
- মজাদার এবং আকর্ষণীয় কাহিনি, আপনাকে সময়ে ভ্রমণ করানো হবে!
![character](../../translated_images/character.5c0dd8e067ffd693c16e2c5b7412ab075a2215ce31f998305639fa3a05e14fbe.bn.png)
![character](../../translated_images/character.5c0dd8e067ffd693.bn.png)
প্রতিটি পাঠে একটি অ্যাসাইনমেন্ট, একটি জ্ঞান যাচাই এবং একটি চ্যালেঞ্জ অন্তর্ভুক্ত থাকে যা আপনাকে শেখার বিষয়গুলোতে গাইড করবে:
- প্রম্পটিং এবং প্রম্পট ইঞ্জিনিারিং
প্রতিটি পাঠে একটি কাজ, জ্ঞানের পরীক্ষা এবং একটি চ্যালেঞ্জ থাকে, যা আপনাকে নিম্নলিখিত বিষয় শিখতে সাহায্য করবে:
- প্রম্পটিং এবং প্রম্পট ইঞ্জিনিয়ারিং
- টেক্সট এবং ইমেজ অ্যাপ জেনারেশন
- সার্চ অ্যাপস
শুরু করতে [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/createcodespace.0238bbf4d7a8d955fa8fa7f7b6602a3cb6499a24708fbee589f83211c5a613b7.bn.png)
![Codespace](../../translated_images/createcodespace.0238bbf4d7a8d955.bn.png)
#### আপনার কম্পিউটারে লোকালভাবে কারিকুলাম চালানো
#### আপনার কম্পিউটারে লোকালি পাঠক্রম চালানো
আপনার কম্পিউটারে এই কারিকুলাম চালানোর জন্য, একটি টেক্সট এডিটর, একটি ব্রাউজার এবং একটি কমান্ড লাইন টুল প্রয়োজন হবে। আমাদের প্রথম পাঠ, [প্রোগ্রামিং ভাষা এবং টুলস অফ দ্য ট্রেডের পরিচিতি](../../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) ব্যবহার করা, যা একটি বিল্ট-ইন [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) ব্যবহার করতে, যা একটি অন্তর্নির্মিত [টার্মিনাল](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)
তারপর, [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) খুলুন এবং নিচের কমান্ডটি চালান, যেখানে `<your-repository-url>` আপনার কপি করা 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) খুলুন এবং নিচের কমান্ডটি চালান, `<your-repository-url>` এর জায়গায় আপনি যা URL কপি করেছেন তা বসান:
```bash
git clone <your-repository-url>
```
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 ফোল্ডারে অন্তর্ভুক্ত, মোট ৪৮টি কুইজ, প্রতিটিতে তিনটি প্রশ্ন। এগুলো [এখানে](https://ff-quizzes.netlify.app/web/) পাওয়া যাবে। Quiz-app লোকালভাবে চালানো বা 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 | শুরু করা | 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 মৌলিক বিষয় | জাভাস্ক্রিপ্ট দিয়ে সিদ্ধান্ত নেওয়া | সিদ্ধান্ত নেওয়ার পদ্ধতি ব্যবহার করে আপনার কোডে শর্ত তৈরি করতে শিখুন | [সিদ্ধান্ত নেওয়া](./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) | জাভাস্ক্রিপ্ট দিয়ে আরও উন্নত গেম ডেভেলপমেন্ট | ক্লাস এবং কম্পোজিশন ব্যবহার করে ইনহেরিটেন্স এবং পাব/সাব প্যাটার্ন সম্পর্কে জানুন, একটি গেম তৈরি করার প্রস্তুতি হিসাবে | [উন্নত গেম ডেভেলপমেন্টের পরিচিতি](./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 | [ব্রাউজার/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 |
## 🏫 শিক্ষাদান পদ্ধতি
আমাদের পাঠ্যক্রম দুটি মূল শিক্ষাদান নীতির উপর ভিত্তি করে তৈরি:
* প্রকল্প-ভিত্তিক শিক্ষা
| 01 | শুরু করা হচ্ছে | প্রোগ্রামিং এবং পেশাগত সরঞ্জাম পরিচিতি | বেশিরভাগ প্রোগ্রামিং ভাষার প্রাথমিক ভিত্তি এবং পেশাদার ডেভেলপারদের কাজে সাহায্যকারী সফটওয়্যার সম্বন্ধে শেখা | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | শুরু করা হচ্ছে | গিটহাবের বুনিয়াদি, দলের সাথে কাজ করার উপর | আপনার প্রকল্পে গিটহাব ব্যবহার করা এবং অন্যদের সাথে কোড বেসে সহযোগিতা করা শেখা | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | শুরু করা হচ্ছে | অঙ্গ পরিপAccessibility | ওয়েব অ্যাক্সেসিবিলিটির মূল বিষয়গুলি শেখা | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | জেএস বেসিকস | JavaScript ডেটা টাইপস | জাভাস্ক্রিপ্ট ডেটা টাইপের মূল বিষয়গুলি | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | জেএস বেসিকস | ফাংশন এবং মেথড | একটি অ্যাপ্লিকেশনের লজিক প্রবাহ পরিচালনার জন্য ফাংশন এবং মেথড সম্বন্ধে শেখা | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
| 06 | জেএস বেসিকস | জেএস দিয়ে সিদ্ধান্ত নেওয়া | আপনার কোডে শর্ত তৈরি করার জন্য সিদ্ধান্ত গ্রহণ পদ্ধতি শেখা | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | জেএস বেসিকস | অ্যারে এবং লুপ | জাভাস্ক্রিপ্টে অ্যারে এবং লুপ ব্যবহার করে ডেটার সঙ্গে কাজ করা | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [টেরারিয়াম](./3-terrarium/solution/README.md) | বাস্তবে HTML | একটি অনলাইন টেরারিয়াম তৈরির জন্য HTML তৈরি করুন, লেআউট তৈরির উপর গুরুত্ব দিয়ে | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [টেরারিয়াম](./3-terrarium/solution/README.md) | বাস্তবে CSS | অনলাইন টেরারিয়ামের স্টাইল করার জন্য CSS তৈরি করুন, পেজকে রেস্পন্সিভ করার বুনিয়াদি সহ | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| ১০ | [টেরারিয়াম](./3-terrarium/solution/README.md) | JavaScript ক্লোজার, DOM ম্যানিপুলেশন | টেরারিয়ামকে ড্র্যাগ/ড্রপ ইন্টারফেস হিসেবে কাজ করানোর জন্য JavaScript তৈরি করুন, ক্লোজার এবং DOM ম্যানিপুলেশনের উপর গুরুত্ব দিন | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| ১১ | [টাইপিং গেম](./4-typing-game/solution/README.md) | টাইপিং গেম তৈরি কর | কীবোর্ড ইভেন্ট ব্যবহার করে জাভাস্ক্রিপ্ট অ্যাপের লজিক চালানো শেখা | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher |
| ১২ | [গ্রিন ব্রাউজার এক্সটেনশন](./5-browser-extension/solution/README.md) | ব্রাউজার নিয়ে কাজ | ব্রাউজার কীভাবে কাজ করে, এর ইতিহাস, এবং ব্রাউজার এক্সটেনশনের প্রথম উপাদানগুলি স্ক্যাফল্ড করা শেখা | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen |
| ১৩ | [গ্রিন ব্রাউজার এক্সটেনশন](./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 |
| ১৪ | [গ্রিন ব্রাউজার এক্সটেনশন](./5-browser-extension/solution/README.md) | ব্রাউজারের ব্যাকগ্রাউন্ড প্রসেস, ওেব পারফরম্যান্স | এক্সটেনশনের আইকন পরিচালনার জন্য ব্রাউজারের ব্যাকগ্রাউন্ড প্রসেস ব্যবহার করুন; ওয়েব পারফর্মেন্স ও কিছু অপটিমাইজেশন সম্পর্কে জানুন | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| ১৫ | [স্পেস গেম](./6-space-game/solution/README.md) | আরো উন্নত গেম ডেভেলপমেন্ট জাভাস্ক্রিপ্ট দিয়ে | ক্লাস এবং কম্পোজিশন দিয়ে ইনহেরিটেন্স এবং পাব/সাব প্যাটার্ন সম্পর্কে শেখা, গেম তৈরি করার প্রস্তুতিতে | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris |
| ১৬ | [স্পেস গেম](./6-space-game/solution/README.md) | ক্যানভাসে আঁকা | স্ক্রিনে উপাদান আঁকার জন্য ক্যানভাস API সম্বন্ধে শেখা | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| ১৭ | [স্পেস গেম](./6-space-game/solution/README.md) | স্ক্রিনের চারপাশে উপাদান সরানো | কিভাবে উপাদানগুলো Cartesian কোঅর্ডিনেট এবং ক্যানভাস API ব্যবহার করে গতি পায় তা আবিষ্কার করুন | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris |
| ১৮ | [স্পেস গেম](./6-space-game/solution/README.md) | সংঘর্ষ নাক্তকরণ | কীপ্রেস ব্যবহার করে উপাদানগুলোকে একে অপরের সঙ্গে সংঘর্ষ করানো এবং পারফরম্যান্স নিশ্চিত করার জন্য কুলডাউন ফাংশন প্রদান করুন | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris |
| ১৯ | [স্পেস গেম](./6-space-game/solution/README.md) | স্কোর রাখা | গেমের অবস্থা এবং পারফরম্যান্সের উপর ভিত্তি করে গাণিতিক হিসাব কর | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris |
| ২০ | [স্পেস গেম](./6-space-game/solution/README.md) | গেম শেষ করা এবং পুনরায় শুরু | গেম শেষে এবং পুনরায় শুরু করার পদ্ধতি শেখা, অ্যাসেট পরিষ্কার করা এবং ভেরিয়েবল মান রিসেট করা | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris |
| ২১ | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | HTML টেমপ্লেট এবং ওয়েব অ্যাপে রুটিং | মাল্টিপেজ ওয়েবসাইট আর্কিটেকচারের স্ক্যাফল্ড তৈরি করা শেখা রাউটিং এবং HTML টেমপ্লেট ব্যবহার করে | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan |
| ২২ | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | লগইন এবং রেজিস্ট্রেশন ফর্ম তৈরি | ফর্ম তৈরি করা এবং ভ্যালিডেশন রুটিন হ্যান্ডেল করা শেখা | [Forms](./7-bank-project/2-forms/README.md) | Yohan |
| ২৩ | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | ডেটা সংগ্রহ এবং ব্যবহার করার পদ্ধতি | আপনার অ্যাপের ডেটা প্রবাহ, কিভাবে ফেচ, সংরক্ষণ এবং অপসারণ করতে হয় শেখা | [Data](./7-bank-project/3-data/README.md) | Yohan |
| ২৪ | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | স্টেট ম্যানেজমেন্ট ধারণা | আপনার অ্যাপ কীভাবে স্টেট ধরে রাখে এবং কীভাবে প্রোগ্রাম্যাটিক্যালি তা পরিচালনা করতে হয় শেখা | [State Management](./7-bank-project/4-state-management/README.md) | Yohan |
| ২৫ | [Browser/VScode Code](../../8-code-editor) | VScode এর সাথে কাজ করা | কোড এডিটর ব্যবহার শেখা| [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| ২৬ | [AI সহযোগী](./9-chat-project/README.md) | AI এর সাথে কাজ করা | নিজস্ব AI সহকারী তৈরি শেখা | [AI Assistant project](./9-chat-project/README.md) | Chris |
## 🏫 শিক্ষা ব্যবস্থা
আমাদের পাঠ্যক্রম দুইটি মূল শিক্ষামূলক নীতির উপর ভিত্তি করে তৈরি:
* প্রজেক্ট-ভিত্তিক শিক্ষা
* ঘন ঘন কুইজ
এই প্রোগ্রামটি জাভাস্ক্রিপ্ট, HTML এবং CSS-এর মৌলিক বিষয়গুলি শেখায়, পাশাপাশি আজকের ওয়েব ডেভেলপারদের ব্যবহৃত সর্বশেষ টুল এবং কৌশলগুলি। শিক্ষার্থীরা টাইপিং গেম, ভার্চুয়াল টেরারিয়াম, পরিবেশবান্ধব ব্রাউজার এক্সটেনশন, স্পেস-ইনভেডার-স্টাইল গেম এবং ব্যবসার জন্য একটি ব্যাংকিং অ্যাপ তৈরি করে হাতে-কলমে অভিজ্ঞতা অর্জনের সুযোগ পাবে। সিরিজের শেষে, শিক্ষার্থীরা ওয়েব ডেভেলপমেন্ট সম্পর্কে একটি শক্তিশালী ধারণা অর্জন করবে।
প্রোগ্রামটি JavaScript, HTML, এবং CSS এর মৌলিক বিষয়গুলি শেখায়, পাশাপাশি বর্তমান ওয়েব ডেভেলপারদের দ্বারা ব্যবহৃত সর্বশেষ সরঞ্জাম এবং প্রযুক্তিগুলি। শিক্ষার্থীরা টাইপিং গেম, ভার্চুাল টেরারিয়াম, পরিবেশবান্ধব ব্রাউজার এক্সটেনশন, স্পেস-ইনভেডার-শৈলী গেম এবং ব্যবসায়ের জন্য একটি ব্যাংকিং অ্যাপ তৈরি করে হাতে কলমে অভিজ্ঞতা অর্জন করবে। সিরিজের শেষে, শিক্ষার্থীরা ওয়েব ডেভেলপমেন্টের একটি দৃঢ় ধারণা অর্জন করবে।
> 🎓 আপনি এই পাঠ্যক্রমের প্রথম কয়েকটি পাঠ [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) হিসেবে Microsoft Learn-এ নিতে পারেন!
> 🎓 আপনি এই পাঠ্যক্রমের প্রথম কয়েকটি লেশন Microsoft Learn-এ [শিখন পথ](https://docs.microsoft.com/learn/paths/web-development-101/?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)" ভিডিও টিউটোরিয়াল সংগ্রহের একটি ভিডিওর সাথে যুক্ত, যার কিছু লেখক এই পাঠ্যক্রমে অবদান রেখেছেন।
বিষয়বস্তুকে প্রজেক্টের সাথে মিলিয়ে শিক্ষার্থীদের জন্য এই প্রক্রিয়াটি আরও আকর্ষণীয় ও ধারণার ধারণক্ষমতা বৃদ্ধি করে। আমরা জাভাস্ক্রিপ্টের মৌলিক বিষয়গুলি পরিচিত করার জন্য কয়েকটি স্টার্টার লেশন লিখেছি, যা "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?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)"।
আমরা সচেতনভাবে জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক পরিচয় করানো এড়িয়ে গেছি যাতে একজন ওয়েব ডেভেলপার হওয়ার জন্য প্রাথমিক দক্ষতায় মনোযোগ দেয়া যায়, এবং এই পাঠ্যক্রম সম্পূর্ণ করার পর পরবর্তী ভালো ধাপ হবে 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` টাইপ করুন। ওয়েবসাইটটি আপনার লোকালহোস্টে পোর্ট ৩০০০-এ পরিবেশন করা হবে: `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) পাওা যাবে।
## 🎒 অন্যান্য কোর্স
## 🎒 অন্যান্য কোর্সসমূহ
আমাদের দল অন্যান্য কোর্সও তৈরি করে! দেখুন:
আমাদের দল অন্যান্য কোর্স তৈরি করে! দেখুন:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### 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)
---
### 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)
[![এজ এআই ফর বিগিনারস](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)
[![এমসিপি ফর বিগিনারস](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)
[![এআই এজেন্টস ফর বিগিনারস](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)
[![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)
---
### জেনারেটিভ এআই সিরিজ
[![জেনারেটিভ এআই ফর বিগিনারস](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)
[![জেনারেটিভ এআই (জাভা)](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)
[![জেনারেটিভ এআই (জাভাস্ক্রিপ্ট)](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 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)
[![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)
[![এআই ফর বিগিনারস](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)
[![এক্সআর ডেভেলপমেন্ট ফর বিগিনারস](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)
### 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)
[![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 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)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
### কোপাইলট সিরিজ
[![কোপাইলট ফর এআই পেয়ারড প্রোগ্রামিং](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)
## সাহায্য নেওয়া
## সাহায্য পাওয়া
যদি আপনি আটকে যান বা AI অ্যাপ্লিকেশন তৈরি করার বিষয়ে কোনও প্রশ্ন থাকে, তাহলে MCP সম্পর্কিত আলোচনায় অন্যান্য শিক্ষার্থী এবং অভিজ্ঞ ডেভেলপারদের সঙ্গে যোগ দিন। এটি একটি সহায়ক সম্প্রদায় যেখানে প্রশ্নের স্বাগত এবং জ্ঞান বিনামূল্যে ভাগ করা হয়।
যদি আপনি আটকে যান বা এআই অ্যাপ তৈরি করার বিষয়ে কোনো প্রশ্ন থাকে, এমসিপি নিয়ে আলোচনা করতে অন্যান্য শিক্ষার্থী এবং অভিজ্ঞ ডেভেলপারদের সাথে যোগ দিন। এটি একটি সহায়ক কমিউনিটি যেখানে প্রশ্ন করা স্বাগত এবং জ্ঞান বিনামূল্যে ভাগ করা হয়।
[![মাইক্রোসফট ফাউন্ড্রি ডিসকর্ড](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
যদি কোনো পণ্য সম্পর্কিত মতামত বা ত্রুটি থাকে, তাহলে এখানে যান:
আপনার যদি প্রোডাক্ট ফিডব্যাক বা কোনও ত্রুটি থেকে থাকে, তাহলে যান:
[![মাইক্রোসফট ফাউন্ড্রি ডেভেলপার ফোরাম](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)
[![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 DISCLAIMER START -->
**অস্বীকৃতি**:
এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিক অনুবাদের চেষ্টা করি, তবে দয়া করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। নথিটির মূল ভাষায় থাকা সংস্করণটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায় নই।
**ডিসক্লেইমার**:
এই নথিটি AI অনুবাদ েবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনূদিত হয়েছে। আমরা সঠিকতার জন্য চেষ্টা করি, তবে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল নথিটি তার নিজস্ব ভাষায় প্রামাণিক উৎস হিসেবে বিবেচনা করতে হবে। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদের ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়বদ্ধ নই।
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -42,10 +42,10 @@ CO_OP_TRANSLATOR_METADATA:
- Moodle Cloud-এ Common Cartridge সমর্থন সীমিত। উপরের Moodle ফাইলটি পছন্দ করুন, যা Canvas-এও আপলোড করা যেতে পারে।
- আমদানির পরে, আপনার টার্ম শিডিউলের সাথে মডিউল, ডিউ তারিখ এবং কুইজ সেটিংস পর্যালোচনা করুন।
![Moodle](../../translated_images/moodle.94eb93d714a50cb2c97435b408017dee224348b61bc86203ffd43a4f4e57b95f.bn.png)
![Moodle](../../translated_images/moodle.94eb93d714a50cb2.bn.png)
> Moodle ক্লাসরুমে পাঠ্যক্রম
![Canvas](../../translated_images/canvas.fbd605ff8e5b8aff567d398528ce113db304446b90b9cad55c654de3fdfcda34.bn.png)
![Canvas](../../translated_images/canvas.fbd605ff8e5b8aff.bn.png)
> Canvas-এ পাঠ্যক্রম
### সরাসরি রিপোজিটরি ব্যবহার করুন (ক্লাসরুম ছাড়া)

@ -1,64 +1,247 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "2581528206a2a01c3a0b9c88e039b7bc",
"translation_date": "2025-10-03T09:10:07+00:00",
"original_hash": "d45ddcc54eb9232a76d08328b09d792e",
"translation_date": "2026-01-06T17:11:56+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "hi"
}
-->
# प्रोग्रामिंग भाषाओं और उपयोगी उपकरणों का परिचय
# प्रोग्रामिंग भाषाओं और आधुनिक डेवलपर टूल्स का परिचय
नमस्ते, भविष्य के डेवलपर! 👋 क्या मैं आपको कुछ ऐसा बता सकता हूँ जो मुझे हर दिन रोमांचित कर देता है? आप अभी यह खोजने वाले हैं कि प्रोग्रामिंग केवल कंप्यूटर के बारे में नहीं है यह आपकी सबसे अविश्वसनीय कल्पनाओं को जीवन में लाने की वास्तविक सुपरपावर है!
आप जानते हैं वह पल जब आप अपने पसंदीदा ऐप का उपयोग कर रहे होते हैं और सब कुछ बिल्कुल सही ढंग से मेल खाता है? जब आप एक बटन दबाते हैं और कुछ बिल्कुल जादुई होता है जो आपको "वाह, उन्होंने यह कैसे किया?" कहने पर मजबूर कर देता है? खैर, कोई आप जैसे ही शायद अपनी पसंदीदा कॉफी शॉप में 2 बजे अपनी तीसरी एस्प्रेसो के साथ बैठा वह कोड लिखता है जिसने वह जादू बनाए। और यहाँ जो आपकी सोच को हिला देगा: इस पाठ के अंत तक, आप न केवल यह समझेंगे कि उन्होंने इसे कैसे किया, बल्कि आप खुद भी इसे आजमाने के लिए उत्सुक होंगे!
देखिए, मुझे पूरी तरह से समझ आता है अगर प्रोग्रामिंग अभी डरावना लग रहा हो। जब मैंने पहली बार शुरू किया था, तो मुझे सच में लगा था कि आपको कोई गणित का जीनियस होना चाहिए या पाँच साल की उम्र से कोडिंग कर रहे होना चाहिए। लेकिन यहाँ वह चीज़ है जिसने मेरी सोच पूरी तरह बदल दी: प्रोग्रामिंग बिल्कुल वैसी ही है जैसी एक नई भाषा में बातचीत सीखना। आप "नमस्ते" और "धन्यवाद" से शुरू करते हैं, फिर कॉफी ऑर्डर करने तक पहुँचते हैं, और फिर पता चलता है कि आप गहरे दार्शनिक वार्तालाप कर रहे हैं! बस इस मामले में, आप कंप्यूटरों से बातचीत कर रहे हैं, और ईमानदारी से? वे सबसे धैर्यशील बातचीत साथी हैं जिन्हें आपने कभी देखा होगा वे कभी आपकी गलतियों का जज नहीं करते और हमेशा फिर से कोशिश करने के लिए उत्साहित रहते हैं!
आज, हम उन अद्भुत उपकरणों का अन्वेषण करने वाले हैं जो आधुनिक वेब विकास को न केवल संभव बनाते हैं, बल्कि अत्यधिक मजेदार भी। मैं बात कर रहा हूँ बिलकुल उन्हीं संपादकों, ब्राउज़रों, और वर्कफ़्लोज़ की जो नेटफ्लिक्स, स्पॉटिफाई, और आपके पसंदीदा इंडी ऐप स्टूडियो के डेवलपर हर दिन उपयोग करते हैं। और यहाँ वह हिस्सा है जो आपको खुश नाचने पर मजबूर कर देगा: इनमें से अधिकांश पेशेवर-ग्रेड, उद्योग-मानक उपकरण पूरी तरह से मुफ्त हैं!
![Intro Programming](../../../../translated_images/webdev101-programming.d6e3f98e61ac4bff.hi.png)
> स्केचक नोट द्वारा [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://forms.office.com/r/dru4TE0U9n?origin=lprLink)
## हमारी जो यात्रा हम साथ में शुरू करने वाले हैं
यह पाठ प्रोग्रामिंग भाषाओं की मूल बातें कवर करता है। यहां शामिल विषय आज की अधिकांश आधुनिक प्रोग्रामिंग भाषाओं पर लागू होते हैं। 'उपयोगी उपकरण' अनुभाग में, आप उन सॉफ़्टवेयर के बारे में जानेंगे जो एक डेवलपर के रूप में आपके लिए मददगार हैं।
ठीक है, मैं सच में उत्साहित हूँ कि हम आज क्या एक्सप्लोर करने वाले हैं! सच में, काश मैं आपकी प्रतिक्रिया देख पाता जब कुछ कॉन्सेप्ट्स समझ में आते हैं। यहाँ वह अद्भुत यात्रा है जो हम साथ में कर रहे हैं:
![प्रोग्रामिंग परिचय](../../../../translated_images/webdev101-programming.d6e3f98e61ac4bff0b27dcbf1c3f16c8ed46984866f2d29988929678b0058fde.hi.png)
> स्केच नोट [Tomomi Imura](https://twitter.com/girlie_mac) द्वारा
- **प्रोग्रामिंग असल में क्या है (और यह क्यों सबसे कूल चीज़ है!)** हम जानेंगे कि कोड वह अदृश्य जादू है जो आपके चारों ओर सब कुछ संचालित करता है, उस अलार्म से जो किसी तरह से पता लगा लेता है कि सोमवार सुबह है, उस एल्गोरिद्म तक जो बिल्कुल सही तरीके से आपकी नेटफ्लिक्स सिफारिशें चुनता है
- **प्रोग्रामिंग भाषाएँ और उनकी अद्भुत विशेषताएँ** कल्पना करें कि आप किसी पार्टी में गए जहां हर व्यक्ति के पास पूरी तरह अलग सुपरपावर होते हैं और समस्याओं को हल करने के अलग तरीके होते हैं। यही प्रोग्रामिंग भाषाओं की दुनिया है, और आप उनसे मिलकर प्यार कर लेंगे!
- **मूलभूत बिल्डिंग ब्लॉक्स जो डिजिटल जादू संभव बनाते हैं** इन्हें ऐसे समझिए जैसे सबसे बेहतरीन क्रिएटिव LEGO सेट। एक बार जब आप समझ जाएंगे कि ये टुकड़े कैसे फिट होते हैं, तो आप कल्पना कर सकते हैं कि आप सच में कुछ भी बना सकते हैं
- **पेशेवर उपकरण जो आपको जादूगर की छड़ी थमाए जाने जैसा महसूस कराएंगे** मैं बढ़ा-चढ़ा कर नहीं कह रहा हूं ये उपकरण आपको सच में सुपरपावर जैसा महसूस कराएंगे, और सबसे अच्छी बात? ये वही उपकरण हैं जिनका प्रोफेशनल्स इस्तेमाल करते हैं!
## प्री-लेक्चर क्विज़
[प्री-लेक्चर क्विज़](https://forms.office.com/r/dru4TE0U9n?origin=lprLink)
> 💡 **एक बात:** आज सब कुछ याद करने की कोशिश बिल्कुल मत कीजिए! अभी मैं चाहता हूँ कि आप इस संभावना की जोशिलीय आगे बढ़ने की भावना महसूस करें। विवरण स्वाभाविक रूप से तब याद रहेंगे जब हम साथ अभ्यास करेंगे यही असली सीखने का तरीका है!
## परिचय
> आप इस पाठ को [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon) पर भी ले सकते हैं!
इस पाठ में हम कवर करेंगे:
## तो प्रोग्रामिंग *क्या* है असल में?
- प्रोग्रामिंग क्या है?
- प्रोग्रामिंग भाषाओं के प्रकार
- प्रोग्राम के मूल तत्व
- पेशेवर डेवलपर के लिए उपयोगी सॉफ़्टवेयर और उपकरण
ठीक है, आईए उस करोड़ों डॉलर के सवाल पर बात करें: प्रोग्रामिंग वास्तव में क्या है?
> आप इस पाठ को [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon) पर ले सकते हैं!
मैं आपको एक कहानी देता हूँ जिसने मेरी सोच पूरी तरह बदल दी। पिछले हफ्ते, मैं अपनी माँ को समझाने की कोशिश कर रहा था कि हमारे नए स्मार्ट टीवी रिमोट का उपयोग कैसे करें। मैंने खुद को कहते हुए पाया “लाल बटन दबाओ, लेकिन वो बड़ा लाल बटन नहीं, बायाँ छोटा लाल बटन... नहीं, तुम्हारी दूसरी बाएँ... ठीक है, अब इसे दो सेकंड के लिए पकड़ो, एक नहीं, तीन नहीं...” सुनते हुए परिचित लग रहा है? 😅
## प्रोग्रामिंग क्या है?
यही है प्रोग्रामिंग! यह उस कला का नाम है जिसमें आप बहुत विस्तार से और चरण-दर-चरण निर्देश देते हैं किसी बहुत शक्तिशाली चीज़ को, जिसे सब कुछ बिल्कुल स्पष्ट रूप से बताना पड़ता है। बस फर्क इतना है कि आप अपनी माँ को नहीं (जो पूछ सकती हैं "कौन सा लाल बटन?!"), बल्कि कंप्यूटर को समझा रहे हैं (जो बिल्कुल वही करता है जो आप कहते हैं, भले ही आपने कुछ गलत कहा हो)।
प्रोग्रामिंग (जिसे कोडिंग भी कहा जाता है) एक कंप्यूटर या मोबाइल डिवाइस जैसे उपकरण के लिए निर्देश लिखने की प्रक्रिया है। हम इन निर्देशों को एक प्रोग्रामिंग भाषा के साथ लिखते हैं, जिसे फिर उपकरण द्वारा समझा जाता है। इन निर्देशों को विभिन्न नामों से जाना जा सकता है, लेकिन *प्रोग्राम*, *कंप्यूटर प्रोग्राम*, *एप्लिकेशन (ऐप)*, और *एक्ज़ीक्यूटेबल* कुछ लोकप्रिय नाम हैं।
जब मैं यह पहली बार सीख रहा था तो मुझे सबसे ज़्यादा हैरत थी: कंप्यूटर असल में अपने मूल में बहुत सरल हैं। वे बस दो चीज़ें समझते हैं 1 और 0, जो basically "हाँ" और "ना" या "चालू" और "बंद" हैं। बस इतनी सी बात! लेकिन यहाँ जादू होता है हमें 1 और 0 की भाषा में बात करने की ज़रूरत नहीं, जैसे हम The Matrix में हों। यहाँ **प्रोग्रामिंग भाषाएँ** काम आती हैं। वे ऐसी हैं जैसे दुनिया की सबसे बेहतरीन अनुवादक जो आपके सामान्य इंसानी विचारों को कंप्यूटर भाषा में बदल देती हैं।
एक *प्रोग्राम* कुछ भी हो सकता है जो कोड के साथ लिखा गया हो; वेबसाइट, गेम्स, और फोन ऐप्स सभी प्रोग्राम हैं। हालांकि कोड लिखे बिना प्रोग्राम बनाना संभव है, लेकिन अंतर्निहित लॉजिक उपकरण द्वारा समझा जाता है और वह लॉजिक संभवतः कोड के साथ लिखा गया था। एक प्रोग्राम जो *चल रहा है* या *कोड निष्पादित कर रहा है* वह निर्देशों को अंजाम दे रहा है। जिस उपकरण पर आप यह पाठ पढ़ रहे हैं, वह इसे आपकी स्क्रीन पर दिखाने के लिए एक प्रोग्राम चला रहा है।
और यह वह चीज है जो मुझे हर सुबह सच्चा रोमांचित करती है: आपकी ज़िंदगी में जो कुछ भी डिजिटल है, वह किसी आप जैसे ही व्यक्ति से शुरू हुआ, शायद पजामे में कप कॉफी लिए अपने लैपटॉप पर कोड टाइप करते हुए। वह इंस्टाग्राम फ़िल्टर जो आपको परफेक्ट दिखाता है? किसी ने कोड किया। वह सिफारिश जिसने आपको आपका नया पसंदीदा गाना दिया? किसी डेवलपर ने वह एल्गोरिद्म बनाया। वह ऐप जो आपके दोस्तों के साथ डिनर बिल बाँटने में मदद करता है? हाँ, किसी ने सोचा "ये बड़ी झंझट है, मैं इसे ठीक कर सकता हूँ" और फिर... उन्होंने कर दिखाया!
✅ थोड़ा शोध करें: किसे दुनिया का पहला कंप्यूटर प्रोग्रामर माना जाता है?
जब आप प्रोग्राम करना सीखते हैं, तो आप केवल एक नई स्किल नहीं सीख रहे होते आप उस अद्भुत समस्या-समाधानकर्ता समुदाय का हिस्सा बन रहे होते हैं जो दिनभर सोचते रहते हैं, "अगर मैं कुछ ऐसा बना सकूं जो किसी का दिन थोड़ा बेहतर बना दे तो?" सच में, इससे कूल क्या हो सकता है?
## प्रोग्रामिंग भाषाएं
**मज़ेदार तथ्य ढूँढ़ना**: जब आपके पास फुर्सत हो, तो यह खोजिए कि दुनिया का पहला कंप्यूटर प्रोग्रामर कौन था? मैं आपको एक संकेत देता हूँ: यह आप जो सोच रहे हैं शायद वह न हो! इस व्यक्ति की कहानी पूरी तरह से रोचक है और दिखाती है कि प्रोग्रामिंग हमेशा से रचनात्मक समस्या-समाधान और बॉक्स के बाहर सोचने के बारे में रही है।
प्रोग्रामिंग भाषाएं डेवलपर्स को उपकरणों के लिए निर्देश लिखने में सक्षम बनाती हैं। उपकरण केवल बाइनरी (1s और 0s) को समझ सकते हैं, और *अधिकांश* डेवलपर्स के लिए यह संवाद करने का बहुत प्रभावी तरीका नहीं है। प्रोग्रामिंग भाषाएं मनुष्यों और कंप्यूटरों के बीच संवाद का माध्यम हैं।
### 🧠 **जांच करें: आप कैसा महसूस कर रहे हैं?**
प्रोग्रामिंग भाषाएं विभिन्न स्वरूपों में आती हैं और विभिन्न उद्देश्यों की पूर्ति कर सकती हैं। उदाहरण के लिए, JavaScript मुख्य रूप से वेब एप्लिकेशन के लिए उपयोग की जाती है, जबकि Bash मुख्य रूप से ऑपरेटिंग सिस्टम के लिए उपयोग की जाती है।
**एक पल लें सोचने के लिए:**
- क्या अब आपको "कंप्यूटरों को निर्देश देने" का विचार समझ में आता है?
- क्या आप कोई रोज़ाना का काम सोच सकते हैं जिसे आप प्रोग्रामिंग से स्वचालित करना चाहेंगे?
- इस पूरी प्रोग्रामिंग चीज़ के बारे में आपके मन में कौन से सवाल उठ रहे हैं?
*लो लेवल भाषाएं* आमतौर पर *हाई लेवल भाषाओं* की तुलना में उपकरण को निर्देश समझने के लिए कम चरणों की आवश्यकता होती है। हालांकि, हाई लेवल भाषाओं की लोकप्रियता उनके पढ़ने में आसान और समर्थन के कारण है। JavaScript को एक हाई लेवल भाषा माना जाता है।
> **याद रखिए**: यह बिलकुल सामान्य है अगर कुछ अवधारणाएँ अभी धुंधली लग रही हों। प्रोग्रामिंग सीखना एक नई भाषा सीखने जैसा है आपके मस्तिष्क को उन न्यूरल पथों का निर्माण करने में समय लगता है। आप अच्छा कर रहे हैं!
निम्नलिखित कोड JavaScript में एक हाई लेवल भाषा और ARM असेंबली कोड में एक लो लेवल भाषा के बीच अंतर को दर्शाता है।
## प्रोग्रामिंग भाषाएँ जादू के अलग-अलग स्वादों की तरह हैं
ठीक है, यह थोड़ा अजीब लग सकता है, पर मेरे साथ रहिए प्रोग्रामिंग भाषाएँ संगीत के अलग-अलग प्रकारों की तरह हैं। सोचिए: आपके पास जैज़ है, जो स्मूद और इम्प्रोवाइज़ेशन वाला है, रॉक है जो शक्तिशाली और सरल है, क्लासिकल है जो सुरुचिपूर्ण और संरचित है, और हिप-हॉप है जो क्रिएटिव और अभिव्यक्तिपूर्ण है। हर शैली की अपनी अलग vibe है, अपने भावुक प्रशंसकों का अपना समुदाय है, और हर एक अलग मूड और मौके के लिए परफेक्ट है।
प्रोग्रामिंग भाषाएँ भी बिल्कुल ऐसा ही काम करती हैं! आप एक ही भाषा का उपयोग मजेदार मोबाइल गेम बनाने के लिए नहीं करेंगे जो आप विशाल मात्रा में क्लाइमेट डेटा crunch करने के लिए करते, ठीक वैसे ही जैसे आप योगा क्लास में डेथ मेटल नहीं सुनाएंगे (खैर, ज़्यादातर योगा क्लासेस में नहीं! 😄)।
पर कुछ ऐसी बात है जो मुझे हर बार सोचने पर चौंका देती है: ये भाषाएँ वैसे ही हैं जैसे दुनिया का सबसे धैर्यशील, प्रतिभाशाली दुभाषिया आपके बगल में बैठे हों। आप अपनी बात इस तरह से रख सकते हैं जो आपके इंसानी मस्तिष्क के लिए बिल्कुल प्राकृतिक लगे, और ये भाषाएँ उस बेहद जटिल काम को संभालती हैं जो इसे कंप्यूटर की 1 और 0 की भाषा में बदलता है। यह ऐसा है जैसे एक दोस्त जो दोनों "मानव रचनाशीलता" और "कंप्यूटर तर्क" में पूरी तरह धाराप्रवाह हो और वे कभी थकते नहीं, कभी कॉफी ब्रेक नहीं लेते, और दो बार एक ही सवाल पूछने पर कभी नाराज़ नहीं होते!
### लोकप्रिय प्रोग्रामिंग भाषाएँ और उनका उपयोग
```mermaid
mindmap
root((प्रोग्रामिंग भाषाएँ))
Web Development
JavaScript
फ्रंटेंड जादू
इंटरैक्टिव वेबसाइट्स
TypeScript
JavaScript + टाइप्स
एंटरप्राइज ऐप्स
Data & AI
Python
डेटा साइंस
मशीन लर्निंग
ऑटोमेशन
R
सांख्यिकी
अनुसंधान
Mobile Apps
Java
एंड्रॉयड
एंटरप्राइज
Swift
iOS
एप्पल इकोसिस्टम
Kotlin
मॉडर्न एंड्रॉयड
क्रॉस-प्लेटफ़ॉर्म
Systems & Performance
C++
गेम्स
प्रदर्शन-निरपेक्ष
Rust
मेमोरी सुरक्षा
सिस्टम प्रोग्रामिंग
Go
क्लाउड सेवाएं
स्केलेबल बैकएंड
```
| भाषा | सबसे अच्छा उपयोग | यह क्यों लोकप्रिय है |
|----------|----------|------------------|
| **JavaScript** | वेब विकास, यूजर इंटरफेस | ब्राउज़र में चलता है और इंटरएक्टिव वेबसाइट्स को पावर करता है |
| **Python** | डेटा साइंस, ऑटोमेशन, एआई | पढ़ने और सीखने में आसान, शक्तिशाली पुस्तकालयों के साथ |
| **Java** | एंटरप्राइज़ एप्लीकेशंस, एंड्रॉयड ऐप्स | प्लेटफ़ॉर्म-स्वतंत्र, बड़े सिस्टम के लिए मजबूत |
| **C#** | विंडोज़ एप्लीकेशंस, गेम डेवलपमेंट | Microsoft इकोसिस्टम द्वारा मजबूत समर्थन |
| **Go** | क्लाउड सेवाएँ, बैकएंड सिस्टम | तेज, सरल, आधुनिक कंप्यूटिंग के लिए डिज़ाइन किया गया |
### उच्च-स्तरीय बनाम निम्न-स्तरीय भाषाएँ
ठीक है, यह वह अवधारणा थी जिसने मेरी समझ को सबसे ज्यादा तोड़ दिया जब मैं पहली बार सीख रहा था, इसलिए मैं वह रूपक साझा करने जा रहा हूँ जिसने मुझे इसे समझने में मदद की और मुझे उम्मीद है यह आपको भी मदद करेगा!
कल्पना करें कि आप ऐसे देश में गए हैं जहाँ आप भाषा नहीं बोलते, और आपको सबसे नजदीकी बाथरूम ढूँढ़ना है (हम सभी ऐसा कर चुके हैं, है ना? 😅):
- **निम्न-स्तरीय प्रोग्रामिंग** उस स्थानीय बोली सीखने जैसा है जिससे आप फल बेचने वाली दादी से सांस्कृतिक संदर्भों, स्थानीय शब्दों और अंदर की बातों के साथ बात कर सकते हैं जो केवल वही लोग समझते हैं जो वहाँ बड़े हुए हों। बेहद प्रभावशाली और बहुत कुशल... अगर आप उस भाषा में धाराप्रवाह हों! लेकिन जब आप बस बाथरूम खोजना चाहते हों तो यह ज़्यादा भारी लग सकता है।
- **उच्च-स्तरीय प्रोग्रामिंग** ऐसा है जैसे आपके पास एक ऐसा स्थानीय दोस्त हो जो आपको पूरी तरह समझता हो। आप साधारण अंग्रेज़ी में कह सकते हैं "मुझे वाक़ई बाथरूम ढूँढना है," और वह सारी सांस्कृतिक अनुवाद करता है और आपको ऐसी दिशा-निर्देश देता है जो आपके गैर-स्थानीय दिमाग़ को पूरी तरह समझ में आ जाए।
प्रोग्रामिंग टर्म्स में:
- **निम्न-स्तरीय भाषाएँ** (जैसे Assembly या C) आपको कंप्यूटर के वास्तविक हार्डवेयर से बेहद विस्तृत बातचीत करने देती हैं, लेकिन आपको मशीन जैसा सोचना पड़ता है, जो... चलिए कहें यह एक बड़ा मानसिक बदलाव है!
- **उच्च-स्तरीय भाषाएँ** (जैसे JavaScript, Python या C#) आपको इंसान की तरह सोचने देती हैं जबकि ये भाषाएँ पर्दे के पीछे सारी मशीन-संबंधित बातें संभालती हैं। साथ ही, इनके पास अत्यंत स्वागतयोग्य समुदाय होते हैं जो याद रखते हैं कि कभी वे भी नए थे और वे सच में मदद करना चाहते हैं!
सोचिए मैं आपको किससे शुरू करने की सलाह दूंगा? 😉 उच्च-स्तरीय भाषाएँ ऐसी ट्रेनिंग व्हील्स की तरह हैं जिन्हें आप कभी उतारना नहीं चाहते क्योंकि वे अनुभव को बहुत आसान बना देती हैं!
```mermaid
flowchart TB
A["👤 मानव विचार:<br/>'मैं फिबोनाच्ची संख्याएँ निकालना चाहता हूँ'"] --> B{भाषा स्तर चुनें}
B -->|उच्च-स्तर| C["🌟 JavaScript/Python<br/>पढ़ने और लिखने में आसान"]
B -->|निम्न-स्तर| D["⚙️ Assembly/C<br/>प्रत्यक्ष हार्डवेयर नियंत्रण"]
C --> E["📝 लिखें: fibonacci(10)"]
D --> F["📝 लिखें: mov r0,#00<br/>sub r0,r0,#01"]
E --> G["🤖 कम्प्यूटर समझ:<br/>अनुवादक जटिलता संभालता है"]
F --> G
G --> H["💻 समान परिणाम:<br/>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
let number = 10
let n1 = 0, n2 = 1, nextTerm;
for (let i = 1; i <= number; i++) {
console.log(n1);
nextTerm = n1 + n2;
n1 = n2;
n2 = nextTerm;
// चरण 1: बुनियादी फिबोनाच्ची सेटअप
const fibonacciCount = 10;
let current = 0;
let next = 1;
console.log('Fibonacci sequence:');
```
**यह कोड क्या करता है:**
- **घोषित करें** एक कॉन्स्टेंट कि हम कितने फिबोनाची नंबर जनरेट करना चाहते हैं
- **शुरुआत करें** दो वेरिएबल्स जो अनुक्रम में वर्तमान और अगली संख्या को ट्रैक करें
- **सेट करें** शुरुआती मान (0 और 1) जो फिबोनाची पैटर्न को परिभाषित करते हैं
- **दिखाएँ** एक हेडर संदेश अपने आउटपुट को पहचानने के लिए
```javascript
// चरण 2: लूप के साथ अनुक्रम बनाएँ
for (let i = 0; i < fibonacciCount; i++) {
console.log(`Position ${i + 1}: ${current}`);
// अनुक्रम में अगला संख्या गणना करें
const sum = current + next;
current = next;
next = sum;
}
```
```c
**यहाँ क्या होता है:**
- **लूप करें** अनुक्रम की हर स्थिति पर `for` लूप का उपयोग कर
- **दिखाएँ** प्रत्येक संख्या को उसकी स्थिति के साथ टेम्पलेट लिटरल फॉर्मेटिंग के माध्यम से
- **गणना करें** अगली फिबोनाची संख्या को वर्तमान और अगले मान जोड़कर
- **अपडेट करें** हमारे ट्रैकिंग वेरिएबल्स को अगली पुनरावृत्ति के लिए
```javascript
// चरण 3: आधुनिक कार्यात्मक दृष्टिकोण
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);
```
**ऊपर हमने किया है:**
- **बनाया** एक पुन: प्रयोज्य फ़ंक्शन आधुनिक ऐरो फ़ंक्शन सिंटैक्स का उपयोग करते हुए
- **बनाया** एक एरे जिसमें पूरा अनुक्रम संग्रहीत किया गया, बजाय एक-एक करके दिखाने के
- **इस्तेमाल किया** एरे इंडेक्सिंग हर नए नंबर की गणना करने के लिए पिछले मानों से
- **रिटर्न किया** पूरा अनुक्रम ताकि इसे प्रोग्राम के अन्य भागों में फ्लेक्सिबली उपयोग किया जा सके
**निम्न-स्तरीय भाषा (ARM Assembly) कंप्यूटर-मैत्रीपूर्ण:**
```assembly
area ascen,code,readonly
entry
code32
@ -83,137 +266,598 @@ back add r0,r1
end
```
यकीन मानिए, *दोनों एक ही काम कर रहे हैं*: 10 तक की फिबोनाची अनुक्रम को प्रिंट करना
ध्यान दें कि JavaScript संस्करण लगभग अंग्रेज़ी निर्देशों जैसा पढ़ता है, जबकि Assembly संस्करण में ऐसे रहस्यमय कमांड हैं जो सीधे कंप्यूटर के प्रोसेसर को नियंत्रित करते हैं। दोनों काम बिल्कुल समान पूरा करते हैं, लेकिन उच्च-स्तरीय भाषा मनुष्यों के लिए समझना, लिखना, और बनाए रखना कहीं अधिक आसान है
✅ फिबोनाची अनुक्रम को [परिभाषित](https://en.wikipedia.org/wiki/Fibonacci_number) किया गया है एक संख्या सेट के रूप में, जहां प्रत्येक संख्या पिछले दो संख्याओं का योग होती है, 0 और 1 से शुरू होकर। फिबोनाची अनुक्रम के पहले 10 नंबर हैं: 0, 1, 1, 2, 3, 5, 8, 13, 21 और 34।
**मुख्य फर्क जो आप देखेंगे:**
- **पठन योग्यता**: JavaScript में वर्णनात्मक नाम जैसे `fibonacciCount` होते हैं जबकि Assembly में रहस्यमय लेबल्स जैसे `r0`, `r1` होते हैं
- **टिप्पणियाँ**: उच्च-स्तरीय भाषाएँ व्याख्यात्मक टिप्पणियाँ प्रोत्साहित करती हैं जो कोड को स्व-प्रलेखित बनाती हैं
- **संरचना**: जावास्क्रिप्ट की तार्किक प्रक्रिया इस प्रकार होती है जैसे मनुष्य समस्याओं को चरण-दर-चरण सोचते हैं
- **रखरखाव**: अलग-अलग आवश्यकताओं के लिए जावास्क्रिप्ट संस्करण को अपडेट करना सरल और स्पष्ट होता है
## प्रोग्राम के तत्व
**फ़िबोनाच्ची अनुक्रम के बारे में**: यह अद्भुत संख्या पैटर्न (जहाँ प्रत्येक संख्या उससे पहले की दो संख्याओं का योग होती है: 0, 1, 1, 2, 3, 5, 8...) प्रकृति में शाब्दिक रूप से *हर जगह* दिखता है! आप इसे सूरजमुखी के स्पाइरल्स, पाइनकोन के पैटर्न, नॉटिलस शंख के घुमाव, और यहाँ तक कि पेड़ की शाखाओं के बढ़ने के तरीके में पाएंगे। यह बहुत ही विचारणीय है कि गणित और कोड की मदद से हम प्रकृति द्वारा सुंदरता बनाने के लिए उपयोग किए गए पैटर्न को समझ और पुनःनिर्मित कर सकते हैं!
एक प्रोग्राम में एकल निर्देश को *स्टेटमेंट* कहा जाता है और इसमें आमतौर पर एक कैरेक्टर या लाइन स्पेसिंग होती है जो यह चिह्नित करती है कि निर्देश कहां समाप्त होता है, या *टर्मिनेट* होता है। एक प्रोग्राम कैसे समाप्त होता है, यह प्रत्येक भाषा के साथ अलग-अलग होता है।
## जादू को संभव बनाने वाली निर्माण खंड
प्रोग्राम में स्टेटमेंट्स उपयोगकर्ता या अन्य स्रोतों द्वारा प्रदान किए गए डेटा पर निर्भर हो सकते हैं ताकि निर्देशों को अंजाम दिया जा सके। डेटा प्रोग्राम के व्यवहार को बदल सकता है, इसलिए प्रोग्रामिंग भाषाओं में डेटा को अस्थायी रूप से संग्रहीत करने का तरीका होता है ताकि इसे बाद में उपयोग किया जा सके। इन्हें *वेरिएबल्स* कहा जाता है। वेरिएबल्स ऐसे स्टेटमेंट्स हैं जो उपकरण को अपनी मेमोरी में डेटा सहेजने का निर्देश देते हैं। प्रोग्राम में वेरिएबल्स गणित में वेरिएबल्स के समान होते हैं, जहां उनका एक अनूठा नाम होता है और उनका मान समय के साथ बदल सकता है।
ठीक है, अब जब आपने देखा कि प्रोग्रामिंग भाषाएँ किस तरह कार्यरत दिखती हैं, तो आइए उन मूलभूत तत्वों को समझें जो हर एक प्रोग्राम में होते हैं। इन्हें मानिए जैसे आपकी पसंदीदा रेसिपी के आवश्यक सामग्री एक बार यह समझ गए कि हर एक का क्या काम है, तो आप लगभग किसी भी भाषा में कोड पढ़ और लिख पाएंगे!
कुछ स्टेटमेंट्स उपकरण द्वारा निष्पादित नहीं किए जा सकते हैं। यह आमतौर पर डेवलपर द्वारा डिज़ाइन के अनुसार होता है या गलती से तब होता है जब कोई अप्रत्याशित त्रुटि होती है। एप्लिकेशन पर इस प्रकार का नियंत्रण इसे अधिक मजबूत और बनाए रखने योग्य बनाता है। आमतौर पर, ये नियंत्रण परिवर्तन तब होते हैं जब कुछ शर्तें पूरी होती हैं। आधुनिक प्रोग्रामिंग में एक सामान्य स्टेटमेंट जो प्रोग्राम को चलाने के तरीके को नियंत्रित करता है, वह है `if..else` स्टेटमेंट।
यह प्रोग्रामिंग की व्याकरण सीखने जैसा है। याद है स्कूल में जब आपने संज्ञा, क्रिया, और वाक्य बनाने के नियम सीखे थे? प्रोग्रामिंग की भी अपनी व्याकरण होती है, और सच कहूँ तो यह अंग्रेजी व्याकरण से कहीं अधिक तार्किक और दयालु है! 😄
✅ आप इस प्रकार के स्टेटमेंट के बारे में अगले पाठों में अधिक जानेंगे।
### स्टेटमेंट्स: क्रमवार निर्देश
## उपयोगी उपकरण
चलिए शुरू करते हैं **स्टेटमेंट्स** से ये आपके कंप्यूटर के साथ बातचीत में व्यक्तिगत वाक्य की तरह होते हैं। हर स्टेटमेंट कंप्यूटर को एक विशिष्ट काम करने का निर्देश देता है, जैसे कोई दिशा-निर्देश देना: "यहाँ बाएँ मुँड़ो," "लाल बत्ती पर रुक जाओ," "उस स्थान पर पार्क करो।"
[![उपयोगी उपकरण](https://img.youtube.com/vi/69WJeXGBdxg/0.jpg)](https://youtube.com/watch?v=69WJeXGBdxg "उपयोगी उपकरण")
मुझे स्टेटमेंट्स की एक खूबी बहुत पसंद है कि वे आमतौर पर पढ़ने में आसान होते हैं। इसे देखें:
> 🎥 ऊपर दी गई छवि पर क्लिक करें उपकरणों के बारे में वीडियो के लिए
```javascript
// मूल बयान जो एकल क्रियाएं करते हैं
const userName = "Alex";
console.log("Hello, world!");
const sum = 5 + 3;
```
**यह कोड क्या करता है:**
- उपयोगकर्ता का नाम संग्रहीत करने के लिए एक स्थिर चर घोषित करता है
- कंसोल आउटपुट पर एक स्वागत संदेश दिखाता है
- एक गणितीय ऑपरेशन का परिणाम गणना कर संग्रहीत करता है
इस अनुभाग में, आप कुछ सॉफ़्टवेयर के बारे में जानेंगे जो आपके पेशेवर विकास यात्रा की शुरुआत में बहुत उपयोगी हो सकते हैं।
```javascript
// वेब पृष्ठों के साथ इंटरैक्ट करने वाले कथन
document.title = "My Awesome Website";
document.body.style.backgroundColor = "lightblue";
```
**चरण-दर-चरण, यह हो रहा है:**
- ब्राउज़र टैब में प्रदर्शित वेबपेज का शीर्षक संशोधित करता है
- पूरे पृष्ठ के पृष्ठभूमि का रंग बदलता है
एक **डेवलपमेंट एनवायरनमेंट** उपकरणों और सुविधाओं का एक अनूठा सेट है जिसे डेवलपर अक्सर सॉफ़्टवेयर लिखते समय उपयोग करता है। इनमें से कुछ उपकरण डेवलपर की विशिष्ट आवश्यकताओं के लिए अनुकूलित किए गए हैं, और समय के साथ बदल सकते हैं यदि डेवलपर काम, व्यक्तिगत परियोजनाओं, या किसी अलग प्रोग्रामिंग भाषा का उपयोग करते समय प्राथमिकताओं को बदलता है। डेवलपमेंट एनवायरनमेंट उतने ही अनूठे होते हैं जितने कि उन्हें उपयोग करने वाले डेवलपर्स।
### वेरिएबल्स: आपके प्रोग्राम की मेमोरी प्रणाली
### एडिटर्स
ठीक है, **वेरिएबल्स** वास्तव में मेरी पसंदीदा अवधारणाओं में से एक हैं क्योंकि वे रोज़मर्रा की चीज़ों जैसे होते हैं जिनका आप रोजाना उपयोग करते हैं!
सॉफ़्टवेयर विकास के लिए सबसे महत्वपूर्ण उपकरणों में से एक एडिटर है। एडिटर्स वह जगह हैं जहां आप अपना कोड लिखते हैं और कभी-कभी जहां आप अपना कोड चलाते हैं।
अपने फोन के संपर्क सूची के बारे में सोचें। आप हर किसी का नंबर याद नहीं रखते बग़ैर नाम "माँ," "सबसे अच्छा दोस्त," या "पिज़्ज़ा की दुकान जो 2 बजे तक डिलीवर करती है" सहेज लेते हैं और फोन खुद नंबर याद रखता है। वेरिएबल्स भी बिल्कुल ऐसे ही होते हैं! वे लेबल वाले कंटेनर की तरह होते हैं जहाँ आपका प्रोग्राम जानकारी संग्रह कर सकता है और बाद में नाम के जरिए उसे पुनः प्राप्त कर सकता है जो सच में समझ में आता है
डेवलपर्स एडिटर्स पर कुछ अतिरिक्त कारणों से भरोसा करते हैं:
यह दिलचस्प है: वेरिएबल्स आपके प्रोग्राम के चलते समय बदल सकते हैं (इसी कारण इन्हें "वेरिएबल" कहा जाता है समझे?). जैसे आप पिज़्ज़ा की दुकान का संपर्क अपडेट कर सकते हैं यदि कहीं बेहतर मिल जाए, वैसे ही वेरिएबल्स तब अपडेट होते हैं जब प्रोग्राम नई जानकारी सीखता है या परिस्थिति बदलती है!
- *डिबगिंग* कोड में बग्स और त्रुटियों को उजागर करने में मदद करता है, कोड को लाइन दर लाइन जांचते हुए। कुछ एडिटर्स में डिबगिंग क्षमताएं होती हैं; इन्हें विशिष्ट प्रोग्रामिंग भाषाओं के लिए अनुकूलित और जोड़ा जा सकता है।
- *सिंटैक्स हाइलाइटिंग* कोड में रंग और टेक्स्ट फॉर्मेटिंग जोड़ता है, जिससे इसे पढ़ना आसान हो जाता है। अधिकांश एडिटर्स अनुकूलित सिंटैक्स हाइलाइटिंग की अनुमति देते हैं।
- *एक्सटेंशन्स और इंटीग्रेशन* डेवलपर्स के लिए विशेष उपकरण हैं, डेवलपर्स द्वारा बनाए गए। ये उपकरण बेस एडिटर में निर्मित नहीं होते। उदाहरण के लिए, कई डेवलपर्स अपने कोड को समझाने के लिए दस्तावेज़ बनाते हैं। वे दस्तावेज़ में टाइपो खोजने में मदद करने के लिए एक स्पेल चेक एक्सटेंशन इंस्टॉल कर सकते हैं। अधिकांश एक्सटेंशन्स विशिष्ट एडिटर के भीतर उपयोग के लिए होते हैं, और अधिकांश एडिटर्स उपलब्ध एक्सटेंशन्स को खोजने का तरीका प्रदान करते हैं।
- *कस्टमाइजेशन* डेवलपर्स को अपनी आवश्यकताओं के अनुरूप एक अनूठा डेवलपमेंट एनवायरनमेंट बनाने में सक्षम बनाता है। अधिकांश एडिटर्स अत्यधिक अनुकूलन योग्य होते हैं और डेवलपर्स को कस्टम एक्सटेंशन्स बनाने की अनुमति भी दे सकते हैं।
आइए मैं आपको दिखाता हूँ कि यह कितना सरल और खूबसूरत हो सकता है:
#### लोकप्रिय एडिटर्स और वेब डेवलपमेंट एक्सटेंशन्स
```javascript
// चरण 1: मूल चर बनाना
const siteName = "Weather Dashboard";
let currentWeather = "sunny";
let temperature = 75;
let isRaining = false;
```
**इन अवधारणाओं को समझना:**
- `const` वेरिएबल्स में अपरिवर्तनीय मान संग्रहीत करें (जैसे साइट का नाम)
- `let` का उपयोग उन मानों के लिए करें जो प्रोग्राम के दौरान बदल सकते हैं
- विभिन्न डाटा प्रकारों को सौंपें: स्ट्रिंग्स (टेक्स्ट), संख्याएं, और बूलीयन (सही/गलत)
- वर्णनात्मक नाम चुनें जो समझाएं कि हर वेरिएबल में क्या है
- [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)
- [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
- [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare)
- [Prettier - Code formatter](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
- [Atom](https://atom.io/)
- [spell-check](https://atom.io/packages/spell-check)
- [teletype](https://atom.io/packages/teletype)
- [atom-beautify](https://atom.io/packages/atom-beautify)
```javascript
// चरण 2: संबंधित डेटा को समूहित करने के लिए वस्तुओं के साथ कार्य करना
const weatherData = {
location: "San Francisco",
humidity: 65,
windSpeed: 12
};
```
- [Sublimetext](https://www.sublimetext.com/)
- [emmet](https://emmet.io/)
- [SublimeLinter](http://www.sublimelinter.com/en/stable/)
**ऊपर हमने:**
- एक ऑब्जेक्ट बनाया जो मौसम से संबंधित जानकारी को एक साथ रखता है
- एक ही वेरिएबल नाम के तहत कई डेटा टुकड़े व्यवस्थित किए
- प्रत्येक जानकारी के टुकड़े को स्पष्ट रूप से लेबल करने के लिए की-वैल्यू पेयर इस्तेमाल किए
### ब्राउज़र्स
```javascript
// चरण 3: चर का उपयोग और अपडेट करना
console.log(`${siteName}: Today is ${currentWeather} and ${temperature}°F`);
console.log(`Wind speed: ${weatherData.windSpeed} mph`);
एक और महत्वपूर्ण उपकरण ब्राउज़र है। वेब डेवलपर्स ब्राउज़र पर भरोसा करते हैं यह देखने के लिए कि उनका कोड वेब पर कैसे चलता है। इसका उपयोग एडिटर में लिखे गए वेब पेज के दृश्य तत्वों को प्रदर्शित करने के लिए भी किया जाता है, जैसे HTML।
// परिवर्तनीय चर को अपडेट करना
currentWeather = "cloudy";
temperature = 68;
```
**आइए हर हिस्से को समझें:**
- टेम्प्लेट लिटरेल्स का उपयोग करके `${}` सिंटैक्स से जानकारी दिखाएं
- डॉट नोटेशन (`weatherData.windSpeed`) से ऑब्जेक्ट प्रॉपर्टीज़ तक पहुँचें
- `let` से घोषित वेरिएबल्स को बदलते हालात के अनुसार अपडेट करें
- कई वेरिएबल्स को मिलाकर सार्थक संदेश बनाएं
कई ब्राउज़र्स *डेवलपर टूल्स* (DevTools) के साथ आते हैं, जो डेवलपर्स को उनके एप्लिकेशन के बारे में महत्वपूर्ण जानकारी एकत्र करने और कैप्चर करने में मदद करने के लिए उपयोगी सुविधाओं और जानकारी का एक सेट प्रदान करते हैं। उदाहरण के लिए: यदि किसी वेब पेज में त्रुटियां हैं, तो यह जानना कभी-कभी मददगार होता है कि वे कब हुईं। ब्राउज़र में DevTools को इस जानकारी को कैप्चर करने के लिए कॉन्फ़िगर किया जा सकता है।
```javascript
// चरण 4: साफ़ कोड के लिए आधुनिक डीस्ट्रक्चरिंग
const { location, humidity } = weatherData;
console.log(`${location} humidity: ${humidity}%`);
```
**आपको जानना ज़रूरी है:**
- ऑब्जेक्ट से विशिष्ट प्रॉपर्टीज़ डिस्ट्रक्चरिंग असाइनमेंट से निकालें
- ऑब्जेक्ट कीस के समान नामों वाले नए वेरिएबल्स स्वतः बनाएं
- बार-बार डॉट नोटेशन इस्तेमाल करने से बचकर कोड को सरल बनाएं
#### लोकप्रिय ब्राउज़र्स और DevTools
### नियंत्रण प्रवाह: अपने प्रोग्राम को सोचने की शिक्षा देना
- [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/)
- [Firefox](https://developer.mozilla.org/docs/Tools)
ठीक है, यहाँ प्रोग्रामिंग वास्तव में दिमाग घुमाने वाली हो जाती है! **कंट्रोल फ्लो** बुनियादी तौर पर आपके प्रोग्राम को स्मार्ट निर्णय लेना सिखाना है, बिलकुल उसी तरह जैसे आप हर दिन बिना सोचे समझे करते हैं।
### कमांड लाइन टूल्स
कल्पना कीजिए: आज सुबह आपने ऐसा कुछ किया होगा जैसे "अगर बारिश हो रही है, तो छाता लूँगा। अगर ठंड है, तो जैकेट पहनूंगा। अगर मैं देर से हूँ, तो नाश्ता छोड़कर रास्ते में कॉफी लूँगा।" आपका दिमाग स्वाभाविक रूप से हर दिन इस तरह के कई फैसले करता है!
कुछ डेवलपर्स अपने दैनिक कार्यों के लिए कम ग्राफिकल दृश्य पसंद करते हैं और इसे प्राप्त करने के लिए कमांड लाइन पर भरोसा करते हैं। कोड लिखने में काफी मात्रा में टाइपिंग की आवश्यकता होती है और कुछ डेवलपर्स अपने कीबोर्ड पर प्रवाह को बाधित नहीं करना पसंद करते हैं। वे कीबोर्ड शॉर्टकट का उपयोग करके डेस्कटॉप विंडो के बीच स्विच करते हैं, विभिन्न फाइलों पर काम करते हैं, और उपकरणों का उपयोग करते हैं। अधिकांश कार्य माउस के साथ पूरे किए जा सकते हैं, लेकिन कमांड लाइन का उपयोग करने का एक लाभ यह है कि कमांड लाइन टूल्स के साथ बहुत कुछ किया जा सकता है बिना माउस और कीबोर्ड के बीच स्विच किए। कमांड लाइन का एक और लाभ यह है कि वे कॉन्फ़िगर करने योग्य हैं और आप एक कस्टम कॉन्फ़िगरेशन सहेज सकते हैं, इसे बाद में बदल सकते हैं, और इसे अन्य डेवलपमेंट मशीनों में आयात कर सकते हैं। चूंकि डेवलपमेंट एनवायरनमेंट प्रत्येक डेवलपर के लिए बहुत अनूठा होता है, कुछ इसे पूरी तरह से छोड़ देते हैं, कुछ पूरी तरह से इस पर निर्भर करते हैं, और कुछ दोनों का मिश्रण पसंद करते हैं।
यही वजह है कि प्रोग्राम्स बुद्धिमान और जीवंत लगते हैं, केवल एक उबाऊ, अनुमानित स्क्रिप्ट का पालन नहीं करते। वे स्थिति को देख सकते हैं, परिस्थितियों का मूल्यांकन कर सकते हैं, और सही प्रतिक्रिया दे सकते हैं। यह आपके प्रोग्राम को एक दिमाग देने जैसा है जो अनुकूलन कर सकता है और निर्णय ले सकता है!
### लोकप्रिय कमांड लाइन विकल्प
देखना चाहते हैं कि यह कितना खूबसूरती से काम करता है? मैं दिखाता हूँ:
कमांड लाइन के विकल्प आपके द्वारा उपयोग किए जाने वाले ऑपरेटिंग सिस्टम के आधार पर भिन्न होंगे।
```javascript
// चरण 1: मूल शर्तीय तर्क
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
// चरण 2: तर्क ऑपरेटरों के साथ कई शर्तें
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` स्टेटमेंट से सभी संभावित मामलों को संभालता है
- हर अलग स्थिति के लिए स्पष्ट, क्रियान्वयन योग्य प्रतिक्रिया प्रदान करता है
#### Windows
```javascript
// चरण 3: टर्नरी ऑपरेटर के साथ संक्षिप्त शर्तीय
const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet";
console.log(`Status: ${votingStatus}`);
```
**याद रखने योग्य बातें:**
- सरल दो विकल्प वाले निर्णयों के लिए टर्नरी ऑपरेटर (`? :`) का उपयोग करें
- पहले स्थिति लिखें, फिर `?`, फिर सही परिणाम, फिर `:`, और फिर गलत परिणाम लिखें
- परिस्थितियों के अनुसार मान नियुक्त करने के लिए यह पैटर्न लागू करें
- [Powershell](https://docs.microsoft.com/powershell/scripting/overview?view=powershell-7/?WT.mc_id=academic-77807-sagibbon) 💻
- [Command Line](https://docs.microsoft.com/windows-server/administration/windows-commands/windows-commands/?WT.mc_id=academic-77807-sagibbon) (जिसे CMD भी कहा जाता है) 💻
- [Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)
- [mintty](https://mintty.github.io/)
```javascript
// चरण 4: कई विशिष्ट मामलों को संभालना
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");
}
```
#### MacOS
**यह कोड निम्न कार्य करता है:**
- वेरिएबल के मान को कई विशिष्ट मामलों के साथ मिलाता है
- समान मामलों को समूहित करता है (वर्किंग दिन बनाम सप्ताहांत)
- जब मेल मिलता है तो उपयुक्त कोड ब्लॉक चलाता है
- अप्रत्याशित मानों को संभालने के लिए `default` मामला शामिल करता है
- कोड को अगले मामले तक जाने से रोकने के लिए `break` स्टेटमेंट का उपयोग करता है
> 💡 **वास्तविक दुनिया की तुलना**: कंट्रोल फ्लो को ऐसे समझिए जैसे आपके पास दुनिया का सबसे धीरज वाला GPS हो जो आपको दिशानिर्देश देता है। यह कह सकता है "अगर मेन स्ट्रीट पर ट्रैफिक है, तो हाईवे लें। अगर हाईवे पर निर्माण कार्य है, तो मनोरम रास्ता आजमाएं।" प्रोग्राम इसी तरह की शर्तीय लॉजिक का इस्तेमाल करते हैं ताकि वे बुद्धिमानी से विभिन्न परिस्थितियों का जवाब दें और उपयोगकर्ताओं को सर्वोत्तम अनुभव प्रदान करें।
### 🎯 **अवधारणा जाँच: निर्माण खंडों में महारत**
**देखते हैं कि आप मूल बातें कितना समझे हैं:**
- क्या आप अपने शब्दों में वेरिएबल और स्टेटमेंट के बीच का अंतर समझा सकते हैं?
- एक वास्तविक जीवन की स्थिति सोचिए जहाँ आप if-then निर्णय का उपयोग कर सकें (जैसे हमारा मतदान उदाहरण)
- प्रोग्रामिंग लॉजिक के बारे में कौन सी बात ने आपको आश्चर्यचकित किया?
**त्वरित आत्मविश्वास बढ़ाने वाला:**
```mermaid
flowchart LR
A["📝 कथन<br/>(निर्देश)"] --> B["📦 चर<br/>(भंडारण)"] --> C["🔀 नियंत्रण प्रवाह<br/>(निर्णय)"] --> D["🎉 कार्यशील प्रोग्राम!"]
style A fill:#ffeb3b
style B fill:#4caf50
style C fill:#2196f3
style D fill:#ff4081
```
**आगे क्या आने वाला है**: हम इन अवधारणाओं में और गहराई से उतरेंगे और इस अद्भुत यात्रा को साथ मिलकर जारी रखेंगे! अभी बस उन सभी शानदार संभावनाओं को लेकर उत्साहित होने पर ध्यान दें जो आपके सामने हैं। विशेष कौशल और तकनीकें अभ्यास के दौरान स्वाभाविक रूप से आ जाएंगी मुझे विश्वास है कि यह उम्मीद से कहीं अधिक मज़ेदार होगा!
## व्यापार के उपकरण
ठीक है, यहाँ मैं इतना उत्साहित हूँ कि खुद को रोक नहीं पा रहा! 🚀 हम उन अविश्वसनीय उपकरणों के बारे में बात करने वाले हैं जो आपको ऐसा महसूस कराएंगे जैसे आपको डिजिटल अंतरिक्ष यान की चाबियाँ मिल गई हों।
आप जानते हैं जैसे एक शेफ के पास बेंजोरी नाइफ्स होते हैं जो उनके हाथों का विस्तार लगते हैं? या जैसे एक संगीतकार के पास एक गिटार होता है जो छूते ही संगीत गाने लगता है? वैसे ही डेवलपर्स के पास अपने जादुई उपकरण होते हैं, और यहाँ कुछ है जो आपका दिमाग उड़ाने वाला है इनमें से अधिकांश पूरी तरह से मुफ़्त हैं!
मैं इस बारे में सोचकर बिल्कुल उछल रहा हूँ कि ये उपकरण आपके साथ साझा करूँ क्योंकि इन्होंने सॉफ्टवेयर बनाने के तरीके में क्रांति ला दी है। हम बात कर रहे हैं AI-सक्षम कोडिंग असिस्टेंट्स की जो आपके कोड को लिखने में सहायता कर सकते हैं (मैं मज़ाक नहीं कर रहा!), क्लाउड वातावरण जहां से आप वाई-फाई की मदद से कहीं से भी पूरे ऐप्लिकेशन बना सकते हैं, और डिबगिंग उपकरण जो इतने परिष्कृत हैं कि वे आपकी प्रोग्रामिंग के लिए एक्स-रे विज़न की तरह हैं।
और यह हिस्सा जो मुझे अभी भी रोमांचित करता है: ये "शुरुआती उपकरण" नहीं हैं जिनसे आप आगे बढ़ जाएंगे। ये वही पेशेवर ग्रेड उपकरण हैं जिन्हें गूगल, नेटफ्लिक्स, और जो इंडी ऐप स्टूडियो आप पसंद करते हैं, वे अभी इसी पल उपयोग कर रहे हैं। ये इस्तेमाल करके आपको प्रो जैसा महसूस होगा!
```mermaid
graph TD
A["💡 आपका विचार"] --> B["⌨️ कोड एडिटर<br/>(VS कोड)"]
B --> C["🌐 ब्राउज़र डेवलपर टूल्स<br/>(टेस्टिंग और डिबगिंग)"]
C --> D["⚡ कमांड लाइन<br/>(स्वचालन और उपकरण)"]
D --> E["📚 दस्तावेज़ीकरण<br/>(सीखन और संदर्भ)"]
E --> F["🚀 शानदार वेब एप्लिकेशन!"]
B -.-> G["🤖 एआई सहायक<br/>(GitHub Copilot)"]
C -.-> H["📱 डिवाइस परीक्षण<br/>(उत्तरदायी डिज़ाइन)"]
D -.-> I["📦 पैकेज प्रबंधक<br/>(npm, yarn)"]
E -.-> J["👥 समुदाय<br/>(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: आपके नए डिजिटल सबसे अच्छे दोस्त
आइए कोड एडिटर्स की बात करते हैं ये वास्तव में आपके पसंदीदा जगहें बनने वाले हैं! इन्हें ऐसे समझिए जैसे आपका व्यक्तिगत कोडिंग अभयारण्य जहाँ आप अपने डिजिटल निर्माण को बनाने और सुधारने में अधिकांश समय बिताएंगे।
लेकिन आधुनिक एडिटर्स में जो असाधारण बात है वह यह है कि वे केवल साधारण टेक्स्ट एडिटर नहीं हैं। वे ऐसे हैं जैसे आपके बगल में दिन-रात सबसे बुद्धिमान, सहायक कोडिंग मेंटर बैठे हों। ये आपकी टाइपिंग की गलतियाँ पहले पकड़ लेते हैं जब आपको पता भी नहीं चलता, सुधार के सुझाव देते हैं जो आपको जीनियस जैसा दिखाते हैं, यह समझाने में मदद करते हैं कि हर कोड का टुकड़ा क्या करता है, और उनमें से कुछ पूर्वानुमान भी लगा लेते हैं कि आप क्या टाइप करने वाले हैं और आपके विचार पूरे करने का प्रस्ताव देते हैं!
मुझे याद है जब मैंने पहली बार ऑटो-कंप्लीशन देखा था मुझे सचमुच ऐसा लगा जैसे मैं भविष्य में जी रहा हूँ। आप कुछ टाइप करना शुरू करते हैं, और आपका एडिटर कहता है, "अरे, क्या आप यह फंक्शन इस्तेमाल करने जा रहे थे जो बिल्कुल आपकी जरूरत पूरा करता है?" यह ऐसा है जैसे आपके कोडिंग साथी में एक मानसिक रीडर हो!
**ये एडिटर्स इतने अद्भुत क्या बनाते हैं?**
आधुनिक कोड एडिटर्स उत्पादकता बढ़ाने के लिए फीचर्स का प्रभावशाली सेट प्रदान करते हैं:
| फीचर | क्या करता है | क्यों मददगार है |
|---------|--------------|--------------|
| **सिंटैक्स हाइलाइटिंग** | कोड के विभिन्न हिस्सों को रंगीन बनाता है | कोड पढ़ना आसान बनाता है और त्रुटियाँ पहचानने में मदद करता है |
| **ऑटो-कंप्लीशन** | टाइप करते वक्त कोड का सुझाव देता है | कोडिंग तेज करता है और टाइपो कम करता है |
| **डिबगिंग टूल्स** | त्रुटियाँ खोजने और सुधारने में मदद करता है | समस्या सुलझाने में घंटों बचाता है |
| **एक्सटेंशंस** | विशेष फीचर्स जोड़ता है | किसी भी तकनीक के लिए एडिटर अनुकूलित करता है |
| **AI असिस्टेंट्स** | कोड और व्याख्यान सुझाव देते हैं | सीखने और उत्पादकता को तेज करता है |
> 🎥 **वीडियो संसाधन**: इन उपकरणों को क्रियान्वित देखने के लिए यह [Tools of the Trade वीडियो](https://youtube.com/watch?v=69WJeXGBdxg) देखें।
#### वेब विकास के लिए अनुशंसित एडिटर्स
- [Terminal](https://support.apple.com/guide/terminal/open-or-quit-terminal-apd5265185d-f365-44cb-8b09-71a064a42125/mac) 💻
- [iTerm](https://iterm2.com/)
- [Powershell](https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-macos?view=powershell-7/?WT.mc_id=academic-77807-sagibbon)
**[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) - कोड में टाइपो पकड़ना
#### Linux
**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (पेड, छात्रों के लिए मुफ्त)
- उन्नत डिबगिंग और परीक्षण उपकरण
- बुद्धिमान कोड पूर्णता
- इनबिल्ट संस्करण नियंत्रण
- [Bash](https://www.gnu.org/software/bash/manual/html_node/index.html) 💻
- [KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)
- [Powershell](https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7/?WT.mc_id=academic-77807-sagibbon)
**क्लाउड-आधारित IDEs** (विभिन्न मूल्य निर्धारण)
- [GitHub Codespaces](https://github.com/features/codespaces) - आपके ब्राउज़र में पूरा VS Code
- [Replit](https://replit.com/) - सीखने और कोड साझा करने के लिए उत्कृष्ट
- [StackBlitz](https://stackblitz.com/) - त्वरित, पूर्ण स्टैक वेब विकास
#### लोकप्रिय कमांड लाइन टूल्स
> 💡 **शुरुआत करने का सुझाव:** Visual Studio Code से शुरू करें यह मुफ़्त है, उद्योग में व्यापक रूप से उपयोग किया जाता है, और इसके लिए कई उपयोगी ट्यूटोरियल और एक्सटेंशंस की बड़ी समुदाय है।
- [Git](https://git-scm.com/) (💻 अधिकांश ऑपरेटिंग सिस्टम पर)
- [NPM](https://www.npmjs.com/)
- [Yarn](https://classic.yarnpkg.com/en/docs/cli/)
### वेब ब्राउज़र: आपका गुप्त विकास प्रयोगशाला
### दस्तावेज़ीकरण
ठीक है, तैयार हो जाइए अपने दिमाग को पूरी तरह से उड़ाने के लिए! आप जानते हैं कि आप ब्राउज़रों का उपयोग कैसे सोशल मीडिया स्क्रॉल करने और वीडियो देखने के लिए करते रहे हैं? तो पता चला कि वे इस पूरी अवधि में एक अद्भुत गुप्त डेवलपर प्रयोगशाला छुपाए हुए थे, बस आपके द्वारा खोजे जाने के लिए!
जब कोई डेवलपर कुछ नया सीखना चाहता है, तो वे इसे सीखने के लिए सबसे अधिक संभावना दस्तावेज़ीकरण का सहारा लेंगे। डेवलपर्स अक्सर उपकरणों और भाषाओं का सही तरीके से उपयोग करने के लिए और यह समझने के लिए कि यह कैसे काम करता है, दस्तावेज़ीकरण पर भरोसा करते हैं।
हर बार जब आप किसी वेबपेज पर राइट-क्लिक करके "Inspect Element" चुनते हैं, तो आप डेवलपर टूल्स की एक छिपी हुई दुनिया खोलते हैं जो वास्तव में उन महंगे सॉफ़्टवेयर से भी अधिक शक्तिशाली हैं जिनके लिए मैं कभी सैंकड़ों डॉलर देता था। यह ऐसा है जैसे आपका पुराना साधारण रसोईघर एक गुप्त पैनल के पीछे एक पेशेवर शेफ की प्रयोगशाला छुपाए हुए हो!
पहली बार जब किसी ने मुझे ब्राउज़र DevTools दिखाया, तो मैंने लगभग तीन घंटे सिर्फ क्लिक करते हुए बिताए और कहा "रुको, ये भी कर सकता है?!" आप सचमुच किसी भी वेबसाइट को रियल-टाइम में एडिट कर सकते हैं, देख सकते हैं कि सब कुछ कितनी तेजी से लोड हो रहा है, अपने साइट को विभिन्न डिवाइसों पर कैसे दिखता है टेस्ट कर सकते हैं, और यहां तक कि जावास्क्रिप्ट को पूरी प्रोफेशनल तरह से डिबग कर सकते हैं। यह बिल्कुल दिमाग उड़ाने वाला है!
#### वेब डेवलपमेंट पर लोकप्रिय दस्तावेज़ीकरण
**ये हैं वो कारण जिनकी वजह से ब्राउज़र आपका गुप्त हथियार हैं:**
- [Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web), Mozilla से, [Firefox](https://www.mozilla.org/firefox/) ब्राउज़र के प्रकाशक
- [Frontend Masters](https://frontendmasters.com/learn/)
- [Web.dev](https://web.dev), Google से, [Chrome](https://www.google.com/chrome/) के प्रकाशक
- [Microsoft के डेवलपर दस्तावेज़](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers), [Microsoft Edge](https://www.microsoft.com/edge) के लिए
- [W3 Schools](https://www.w3schools.com/where_to_start.asp)
जब आप कोई वेबसाइट या वेब ऐप्लीकेशन बनाते हैं, तो आपको यह देखना होगा कि यह वास्तविक दुनिया में कैसा दिखता है और कैसा व्यवहार करता है। ब्राउज़र न केवल आपका काम दिखाते हैं बल्कि प्रदर्शन, पहुंच और संभावित समस्याओं के बारे में विस्तृत प्रतिक्रिया भी देते हैं।
✅ थोड़ा शोध करें: अब जब आप वेब डेवलपर के एनवायरनमेंट की मूल बातें जानते हैं, तो इसे वेब डिज़ाइनर के एनवायरनमेंट के साथ तुलना करें।
#### ब्राउज़र डेवलपर टूल्स (DevTools)
आधुनिक ब्राउज़र व्यापक डेवलपमेंट सूट शामिल करते हैं:
| टूल श्रेणी | यह क्या करता है | उदाहरण उपयोग केस |
|------------|-----------------|------------------|
| **एलिमेंट इंस्पेक्टर** | HTML/CSS को रियल-टाइम में देखें और संपादित करें | तुरंत परिणाम देखने के लिए स्टाइलिंग में बदलाव करें |
| **कंसोल** | त्रुटि संदेश देखें और जावास्क्रिप्ट टेस्ट करें | समस्याएं डिबग करें और कोड के साथ प्रयोग करें |
| **नेटवर्क मॉनिटर** | संसाधनों के लोड होने का ट्रैक रखें | प्रदर्शन और लोडिंग समय को अनुकूलित करें |
| **सुलभता चेकर** | समावेशी डिजाइन के लिए टेस्ट करें | सुनिश्चित करें कि आपकी साइट सभी उपयोगकर्ताओं के लिए काम करे |
| **डिवाइस सिम्युलेटर** | विभिन्न स्क्रीन साइज पर पूर्वावलोकन करें | बिना कई डिवाइसों के रेस्पॉन्सिव डिजाइन टेस्ट करें |
#### विकास के लिए अनुशंसित ब्राउज़र
- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** - विस्तृत दस्तावेज़ीकरण के साथ उद्योग-मानक DevTools
- **[Firefox](https://developer.mozilla.org/docs/Tools)** - उत्कृष्ट CSS Grid और accessibility टूल्स
- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - Microsoft के डेवलपर संसाधनों के साथ Chromium आधारित
> ⚠️ **महत्वपूर्ण परीक्षण टिप**: हमेशा अपनी वेबसाइट्स को कई ब्राउज़रों में टेस्ट करें! जो Chrome में बिल्कुल सही काम करता है, वह Safari या Firefox में अलग दिख सकता है। पेशेवर डेवलपर्स सभी मुख्य ब्राउज़रों में परीक्षण करते हैं ताकि लगातार उपयोगकर्ता अनुभव सुनिश्चित हो सके।
### कमांड लाइन टूल्स: आपके डेवलपर सुपरपावर के द्वार
ठीक है, आइए कमांड लाइन के बारे में पूरी ईमानदारी से बात करें, क्योंकि मैं चाहता हूं कि आप इसे किसी से सुनें जो वास्तव में इसे समझता है। जब मैंने इसे पहली बार देखा यह सिर्फ एक डरावनी काली स्क्रीन थी जिसमें टेबलाइट टेक्स्ट चमक रहा था मैं सच में सोच रहा था, "नहीं, बिल्कुल नहीं! यह कुछ 1980 के दशक की हैकर मूवी जैसा लग रहा है, और मैं इसके लिए बिल्कुल स्मार्ट नहीं हूं!" 😅
लेकिन यहां जो मैं चाहता हूं कि कोई तब मुझे बताता, और मैं आपको अभी बता रहा हूं: कमांड लाइन डरावनी नहीं है यह वास्तव में आपके कंप्यूटर से सीधे बातचीत करने जैसा है। इसे ऐसे समझिए जैसे खाना ऑर्डर करना एक खूबसूरत ऐप सेPictures और मेनू के साथ (जो आसान और सुंदर है) के बजाय अपने पसंदीदा स्थानीय रेस्तरां में जाना, जहां शेफ को पता है कि आपको क्या पसंद है और वह "मुझे कुछ आश्चर्यजनक दें" कहने मात्र से कुछ परफेक्ट बनाने लगता है।
कमांड लाइन वह जगह है जहां डेवलपर्स खुद को जादूगर महसूस करते हैं। आप कुछ जादुई शब्द टाइप करते हैं (ठीक है, ये सिर्फ कमांड हैं, लेकिन वे जादूई लगते हैं!), एंटर दबाते हैं और झट से आपने पूरे प्रोजेक्ट स्ट्रक्चर बनाए, दुनिया भर से पावरफुल टूल्स इंस्टॉल किए, या अपनी ऐप को इंटरनेट पर करोड़ों लोगों के देखने के लिए डिप्लॉय कर दिया। एक बार जब आप इस शक्ति का पहला स्वाद चख लेते हैं, तो यह सचमुच बहुत लगने वाला होता है!
**कमांड लाइन आपका पसंदीदा टूल क्यों बनेगा:**
जबकि ग्राफिकल इंटरफेस कई कार्यों के लिए बढ़िया हैं, कमांड लाइन ऑटोमेशन, सटीकता, और गति में उत्कृष्ट है। कई डेवलपमेंट टूल मुख्य रूप से कमांड लाइन इंटरफेस के माध्यम से काम करते हैं, और उन्हें कुशलतापूर्वक उपयोग करना सीखना आपकी उत्पादकता को नाटकीय रूप से बढ़ा सकता है।
```bash
# चरण 1: प्रोजेक्ट निर्देशिका बनाएँ और उसमें जाएँ
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
```
**कदम दर कदम, यह हो रहा है:**
- `npm init -y` के साथ डिफ़ॉल्ट सेटिंग्स से नया Node.js प्रोजेक्ट इनिशियलाइज़ करना
- तेज़ विकास और उत्पादन बिल्ड्स के लिए Vite को आधुनिक बिल्ड टूल के रूप में इंस्टॉल करना
- स्वचालित कोड प्रारूपण के लिए Prettier और कोड गुणवत्ता जांच के लिए ESLint जोड़ना
- इन्हें विकास-केवल निर्भरताओं के रूप में चिह्नित करने के लिए `--save-dev` फ़्लैग का इस्तेमाल
```bash
# चरण 3: परियोजना संरचना और फ़ाइलें बनाएं
mkdir src assets
echo '<!DOCTYPE html><html><head><title>My Site</title></head><body><h1>Hello World</h1></body></html>' > index.html
# विकास सर्वर शुरू करें
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/)** | कोड फ़ॉर्मेटिंग | अपने कोड को लगातार फार्मेटेड और पठनीय रखें |
#### प्लेटफ़ॉर्म-विशिष्ट विकल्प
**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)** 💻 - पारंपरिक विंडोज़ कमांड लाइन
**macOS:**
- **[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)** - उन्नत टर्मिनल इम्यूलेटर
> 💻 = ऑपरेटिंग सिस्टम पर पूर्व-इंस्टॉल्ड
> 🎯 **शिक्षा मार्ग**: पहले `cd` (डायरेक्ट्री बदलें), `ls` या `dir` (फाइल सूची), और `mkdir` (फोल्डर बनाएं) जैसे बुनियादी कमांड से शुरू करें। आधुनिक वर्कफ़्लो कमांड जैसे `npm install`, `git status`, और `code .` (VS Code में वर्तमान डायरेक्ट्री खोलें) का अभ्यास करें। जैसे-जैसे आप सहज होते जाएंगे, आप स्वाभाविक रूप से अधिक उन्नत कमांड और ऑटोमेशन तकनीकें सीख जाएंगे।
### दस्तावेज़ीकरण: आपकी हमेशा उपलब्ध सीखने वाली मेंटोर
ठीक है, मैं एक छोटा सा रहस्य साझा करता हूं जो आपको शुरुआत वाले होने का एहसास बहुत अच्छा कराएगा: यहां तक कि सबसे अनुभवी डेवलपर्स भी अपने समय का बड़ा हिस्सा दस्तावेज़ पढ़ने में बिताते हैं। और ऐसा इसलिए नहीं कि वे नहीं जानते कि वे क्या कर रहे हैं यह वास्तव में समझदारी का संकेत है!
दस्तावेज़ीकरण को दुनिया के सबसे धैर्यशील, ज्ञानवान शिक्षकों की तरह सोचें जो 24/7 उपलब्ध हैं। अगर आप 2 बजे रात को किसी समस्या में फंस जाते हैं, तो दस्तावेज़ीकरण आपके लिए एक गर्म वर्चुअल गले के साथ है, और बिल्कुल वही उत्तर प्रदान करता है जिसकी आपको आवश्यकता है। अगर आप किसी नई कूल फीचर के बारे में जानना चाहते हैं जिसकी हर कोई बात कर रहा है, तो दस्तावेज़ीकरण कदम-दर-कदम उदाहरणों के साथ आपके साथ है। अगर आप समझना चाहते हैं कि कुछ क्यों वैसा काम करता है जैसा करता है, तो आपने सही पकड़ा दस्तावेज़ीकरण इसे समझाने के लिए तैयार है ताकि वह अंततः समझ में आए!
यह कुछ ऐसा है जिसने मेरी सोच पूरी तरह बदल दी: वेब विकास की दुनिया बहुत तेज़ी से बदलती है, और कोई भी (बहुत बड़े अनुभव वाले भी!) हर चीज़ को याद नहीं रख पाते। मैंने 15+ वर्षों के अनुभवी सीनियर डेवलपर्स को बुनियादी सिंटैक्स खोजते हुए देखा है, और आप जानते हैं? यह शर्मनाक नहीं है यह स्मार्ट है! यह एक आदर्श स्मृति रखने के बारे में नहीं है, बल्कि जानना है कि भरोसेमंद उत्तर तेजी से कहां मिलेंगे और उन्हें कैसे लागू किया जाए।
**यहां असली जादू होता है:**
पेशेवर डेवलपर्स अपने समय का एक बड़ा हिस्सा दस्तावेज़ पढ़ने में बिताते हैं यह इसलिए नहीं कि वे नहीं जानते कि वे क्या कर रहे हैं, बल्कि क्योंकि वेब विकास का क्षेत्र इतनी तेजी से विकसित होता है कि अद्यतित रहना निरंतर सीखने की मांग करता है। अच्छी दस्तावेज़ीकरण आपको यह समझने में मदद करता है कि न केवल *कैसे* कुछ उपयोग करें, बल्कि *क्यों* और *कब* इसका उपयोग करें।
#### आवश्यक दस्तावेज़ीकरण संसाधन
**[Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web)**
- वेब तकनीक के लिए स्वर्ण मानक डॉक्यूमेंटेशन
- HTML, CSS, और जावास्क्रिप्ट के लिए व्यापक मार्गदर्शिकाएँ
- ब्राउज़र संगतता जानकारी शामिल है
- व्यावहारिक उदाहरण और इंटरएक्टिव डेमो फीचर करते हैं
**[Web.dev](https://web.dev)** (गूगल द्वारा)
- आधुनिक वेब विकास सर्वोत्तम प्रथाएँ
- प्रदर्शन अनुकूलन मार्गदर्शिकाएँ
- सुलभता और समावेशी डिजाइन सिद्धांत
- वास्तविक परियोजनाओं से केस स्टडीज़
**[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
```
> **मज़ेदार तथ्य**: अधिकांश डेवलपर्स अपने कोड संपादक में लगभग 40% समय बिताते हैं, लेकिन ध्यान दें कि कितनी देर टेस्टिंग, सीखने, और समस्या-समाधान में जाता है। प्रोग्रामिंग केवल कोड लिखने के बारे में नहीं है यह अनुभव बनाने के बारे में है!
**सोचने के लिए भोजन**: ये एक दिलचस्प बात है आप कैसे सोचते हैं कि वेबसाइट बनाने के लिए उपयोग किए जाने वाले टूल (विकास) और उनकी दिखावट डिजाइन करने के टूल (डिजाइन) में क्या अंतर है? यह बिलकुल ऐसा है जैसे एक आर्किटेक्ट जो सुंदर घर डिजाइन करता है और बिल्डर जो उसे वास्तव में बनाता है। दोनों महत्वपूर्ण हैं, लेकिन उनके लिए अलग टूलबॉक्स की जरूरत होती है! इस सोच से आपको यह देखने में मदद मिलेगी कि वेबसाइटें कैसे जीवित होती हैं।
## GitHub Copilot एजेंट चुनौती 🚀
एजेंट मोड का उपयोग करके निम्न चुनौती पूरी करें:
**विवरण:** एक आधुनिक कोड संपादक या IDE की विशेषताओं का अन्वेषण करें और दिखाएं कि यह वेब डेवलपर के रूप में आपके वर्कफ़्लो में कैसे सुधार कर सकता है।
**प्रॉम्प्ट:** एक कोड संपादक या IDE चुनें (जैसे Visual Studio Code, WebStorm, या क्लाउड-आधारित IDE)। तीन ऐसी विशेषताएँ या एक्सटेंशंस सूचीबद्ध करें जो आपको कोड लिखने, डिबग करने, या बनाए रखने में अधिक कुशल बनाती हैं। प्रत्येक के लिए संक्षिप्त व्याख्या दें कि यह आपके वर्कफ़्लो को कैसे लाभ पहुंचाती है।
---
## 🚀 चुनौती
कुछ प्रोग्रामिंग भाषाओं की तुलना करें। JavaScript बनाम Java की कुछ अनूठी विशेषताएं क्या हैं? COBOL बनाम Go के बारे में क्या?
**ठीक है, जासूस, अपने पहले मामले के लिए तैयार हो?**
अब जब आपके पास यह शानदार नींव है, तो मेरे पास एक रोमांचक यात्रा है जो आपको दिखाएगी कि प्रोग्रामिंग की दुनिया कितनी विविध और दिलचस्प है। और सुनिए यह अभी कोड लिखने के बारे में नहीं है, इसलिए कोई दबाव नहीं! अपने आप को एक प्रोग्रामिंग भाषा जासूस के रूप में सोचिए जो अपने पहले रोमांचक मामले पर है!
**आपका मिशन, यदि आप स्वीकार करें:**
1. **भाषा के अन्वेषक बनें**: पूरी तरह से अलग-अलग यूनिवर्स से तीन प्रोग्रामिंग भाषाएँ चुनें शायद एक जो वेबसाइट बनाए, एक जो मोबाइल ऐप्स बनाता हो, और एक जो वैज्ञानिकों के लिए डेटा प्रोसेस करता हो। प्रत्येक भाषा में एक ही सरल कार्य के उदाहरण खोजें। मैं वादा करता हूं कि आप चकित रह जाएंगे कि ये भाषाएँ एक ही काम करते हुए कितनी अलग दिख सकती हैं!
## पोस्ट-लेक्चर क्विज़
[पोस्ट-लेक्चर क्विज़](https://ff-quizzes.netlify.app/web/)
2. **उनकी उत्पत्ति की कहानियां खोजें**: प्रत्येक भाषा को विशेष क्या बनाता है? एक दिलचस्प तथ्य प्रत्येक प्रोग्रामिंग भाषा इसलिए बनाई गई थी क्योंकि किसी ने सोचा, "मालूम है? इस विशिष्ट समस्या को हल करने का एक बेहतर तरीका होना चाहिए।" क्या आप उन समस्याओं का पता लगा सकते हैं? इनमें से कुछ कहानियाँ वास्तव में आकर्षक हैं!
3. **समुदायों से मिलें**: देखें कि प्रत्येक भाषा का समुदाय कितना स्वागतयोग्य और उत्साहित है। कुछ में लाखों डेवलपर्स ज्ञान साझा करते हैं और एक-दूसरे की मदद करते हैं, अन्य छोटे लेकिन बेहद घनिष्ठ और सहायक होते हैं। आप ये विभिन्न समुदायों की अलग-अलग पर्सनैलिटीज़ देखकर मजा आएगा!
4. **अपने दिल की सुनें**: अभी आपके लिए कौन सी भाषा सबसे अधिक पहुँच वाली लगती है? "सही" विकल्प चुनने की चिंता न करें बस अपनी अंतर्दृष्टि पर भरोसा करें! यहां कोई गलत जवाब नहीं है, और आप बाद में अन्य भाषाओं का पता लगा सकते हैं।
**बोनस जासूसी कार्य**: देखें कि आप पता लगा सकते हैं कि कौन सी प्रमुख वेबसाइट्स या ऐप्स किस भाषा से बनाई गई हैं। मैं गारंटीकृत करता हूं कि आप चौंक जाएंगे यह जानकर कि Instagram, Netflix, या वह मोबाइल गेम जिसे आप रोक नहीं पा रहे हैं, किस पर चलते हैं!
> 💡 **याद रखें**: आप आज किसी भी भाषा में विशेषज्ञ बनने की कोशिश नहीं कर रहे हैं। आप बस इस पड़ोस को जान रहे हैं इससे पहले कि आप तय करें कि आप कहां जगह बनाना चाहते हैं। अपनी गति से चलें, मज़े करें, और अपने जिज्ञासा को मार्गदर्शन दें!
## चलिए आपकी खोज का जश्न मनाते हैं!
हे भगवान, आपने आज बहुत सारी अविश्वसनीय जानकारी जुटाई है! मैं सच में उत्सुक हूं देखना कि इस अद्भुत यात्रा का कितना हिस्सा आपके साथ रहा। और याद रखें यह कोई टेस्ट नहीं है जहाँ आपको सब कुछ सही करना है। यह तो बस उस दिलचस्प दुनिया के बारे में आपने जितना कुछ सीखा है, उसका जश्न मनाने जैसा है जिसमें आप अब डुबकी लगाने वाले हैं!
[पाठ के बाद क्विज़ लें](https://ff-quizzes.netlify.app/web/)
## समीक्षा और स्वयं अध्ययन
**इससे जुड़ने में समय लें और आनंद लें!**
आपने आज बहुत कुछ सीखा है, और यह गर्व करने वाली बात है! अब मज़ेदार हिस्सा आता है उन विषयों को खोजने का जो आपकी जिज्ञासा को जन्म देते हैं। याद रखें, यह गृहकार्य नहीं है यह एक साहसिक यात्रा है!
**जो आपको उत्साहित करता है उसमें गहराई से डुबकी लगाएं:**
**प्रोग्रामिंग भाषाओं के साथ व्यावहारिक करें:**
- उन 2-3 भाषाओं की आधिकारिक वेबसाइटों पर जाएँ जिन्होंने आपकी रुचि आकर्षित की। हर एक की अपनी खासियत और कहानी होती है!
- कुछ ऑनलाइन कोडिंग प्लेग्राउंड जैसे [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), या [Replit](https://replit.com/) आज़माएँ। प्रयोग करने से मत घबराएं आप कुछ भी खराब नहीं कर सकते!
- अपनी पसंदीदा भाषा के उद्भव के बारे में पढ़ें। सच बताऊँ तो, कुछ मूल कहानीें बहुत रोचक होती हैं और यह समझने में मदद करती हैं कि भाषाएँ जिस तरह काम करती हैं, क्यों करती हैं।
**अपने नए उपकरणों के साथ सहज हो जाएं:**
- अगर आपने अभी तक Visual Studio Code डाउनलोड नहीं किया है इसे डाउनलोड करें, यह मुफ़्त है और आपको यह पसंद आएगा!
- एक्सटेंशंस मार्केटप्लेस में कुछ मिनट बिताएं। यह आपके कोड संपादक के लिए एक ऐप स्टोर जैसा है!
- अपने ब्राउज़र के डेवलपर टूल्स खोलें और बस क्लिक करें। सब कुछ समझने की चिंता न करें बस वहां क्या है उससे परिचित हो जाएं।
**समुदाय से जुड़ें:**
- [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), या [GitHub](https://github.com/) पर कुछ डेवलपर समुदायों का अनुसरण करें। प्रोग्रामिंग समुदाय नए सदस्यों का बेहद स्वागत करता है!
- यूट्यूब पर शुरुआती लोगों के लिए कोडिंग वीडियो देखें। वहाँ बहुत सारे महान निर्माता हैं जो जानते हैं कि शुरूआत करना कैसा होता है।
- स्थानीय मीटअप या ऑनलाइन समुदायों में शामिल होने पर विचार करें। मुझ पर विश्वास करें, डेवलपर्स नए लोगों की मदद करना पसंद करते हैं!
> 🎯 **सुनिए, मैं चाहता हूँ आप याद रखें**: आपसे उम्मीद नहीं है कि आप एक रात में कोडिंग के जादूगर बन जाएं! अभी आप बस इस अद्भुत नई दुनिया को जान रहे हैं जिसका आप हिस्सा बनने वाले हैं। अपना समय लें, यात्रा का आनंद लें, और याद रखें हर एक डेवलपर जिसे आप पसंद करते हैं, कभी वैसे ही था जैसे आप अभी हैं, उत्साहित और शायद थोड़ा अभिभूत। यह बिलकुल सामान्य है, और इसका मतलब है कि आप सही दिशा में हैं!
## समीक्षा और स्व-अध्ययन
प्रोग्रामर के लिए उपलब्ध विभिन्न भाषाओं पर थोड़ा अध्ययन करें। एक भाषा में एक लाइन लिखने का प्रयास करें, और फिर इसे दो अन्य भाषाओं में फिर से लिखें। आपने क्या सीखा?
## असाइनमेंट
[डॉक्स पढ़ना](assignment.md)
[Reading the Docs](assignment.md)
> नोट: अपने असाइनमेंट के लिए उपकरण चुनते समय, ऊपर सूचीबद्ध एडिटर्स, ब्राउज़र्स, या कमांड लाइन टूल्स का चयन न करें।
> 💡 **आपके असाइनमेंट के लिए एक छोटा सा सुझाव**: मैं सच में चाहता हूँ कि आप उन उपकरणों का अन्वेषण करें जिनके बारे में हमने अभी तक बात नहीं की! उन संपादकों, ब्राउज़रों और कमांड लाइन टूल्स को छोड़ दें जिनके बारे में हमने पहले ही चर्चा की है वहाँ एक पूरी अद्भुत दुनिया है अद्भुत विकास उपकरणों की जो बस खोजे जाने की प्रतीक्षा कर रहे हैं। उन उपकरणों को खोजें जो सक्रिय रूप से बनाए रखे जाते हैं और जिनके जीवंत, सहायक समुदाय हैं (ऐसे समुदायों में सबसे अच्छे ट्यूटोरियल और सबसे मददगार लोग होते हैं, जब आप रास्ते में फंसे हों और किसी दोस्ताना मदद की ज़रूरत हो)।
---
## 🚀 आपकी प्रोग्रामिंग यात्रा का समयरेखा
### ⚡ **अगले 5 मिनट में आप क्या कर सकते हैं**
- [ ] 2-3 प्रोग्रामिंग भाषा की वेबसाइटें बुकमार्क करें जिन्होंने आपकी रुचि आकर्षित की
- [ ] Visual Studio Code डाउनलोड करें अगर आपने अभी तक नहीं किया है
- [ ] अपने ब्राउज़र के डेवटूल्स (F12) खोलें और किसी भी वेबसाइट पर क्लिक करें
- [ ] एक प्रोग्रामिंग समुदाय में शामिल हों (Dev.to, Reddit r/webdev, या Stack Overflow)
### ⏰ **इस घंटे में आप क्या पूरा कर सकते हैं**
- [ ] पोस्ट-लैसन क्विज़ पूरा करें और अपने उत्तरों पर विचार करें
- [ ] GitHub Copilot एक्सटेंशन के साथ VS Code सेट अप करें
- [ ] 2 अलग-अलग प्रोग्रामिंग भाषाओं में ऑनलाइन "Hello World" उदाहरण आज़माएँ
- [ ] यूट्यूब पर "डे इन द लाइफ ऑफ़ अ डेवलपर" वीडियो देखें
- [ ] अपनी प्रोग्रामिंग भाषा की जासूसी शुरू करें (चुनौती से)
### 📅 **आपका सप्ताह भर का साहसिक कार्य**
- [ ] असाइनमेंट पूरा करें और 3 नए विकास उपकरणों का अन्वेषण करें
- [ ] सोशल मीडिया पर 5 डेवलपर्स या प्रोग्रामिंग अकाउंट्स का अनुसरण करें
- [ ] CodePen या Replit में कुछ छोटा बनाना आज़माएँ (यहाँ तक कि सिर्फ "Hello, [आपका नाम]!" भी हो सकता है)
- [ ] किसी डेवलपर की कोडिंग यात्रा से जुड़ी एक ब्लॉग पोस्ट पढ़ें
- [ ] एक वर्चुअल मीटअप में शामिल हों या प्रोग्रामिंग टॉक देखें
- [ ] ऑनलाइन ट्यूटोरियल के साथ अपनी चुनी हुई भाषा सीखना शुरू करें
### 🗓️ **आपका महीने भर का परिवर्तन**
- [ ] अपनी पहली छोटी परियोजना बनाएं (यहाँ तक कि एक साधारण वेबपेज भी चलेगा!)
- [ ] एक ओपन-सोर्स प्रोजेक्ट में योगदान करें (डॉक्यूमेंटेशन सुधार से शुरुआत करें)
- [ ] किसी नए प्रोग्रामर का मार्गदर्शन करें जो अभी शुरुआत कर रहा हो
- [ ] अपनी डेवलपर पोर्टफोलियो वेबसाइट बनाएं
- [ ] स्थानीय डेवलपर समुदाय या अध्ययन समूहों से जुड़ें
- [ ] अपनी अगली सीखने की मील का पत्थर योजना बनाना शुरू करें
### 🎯 **अंतिम चिंतन चेक-इन**
**आगे बढ़ने से पहले, एक क्षण पहले जश्न मनाएं:**
- आज प्रोग्रामिंग के बारे में क्या चीज़ आपको सबसे ज़्यादा उत्साहित किया?
- किस उपकरण या अवधारणा को आप सबसे पहले खोजना चाहते हैं?
- इस प्रोग्रामिंग यात्रा की शुरुआत के बारे में आप कैसा महसूस कर रहे हैं?
- अभी आप डेवलपर से कौन सा सवाल पूछना चाहेंगे?
```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) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता के लिए प्रयासरत हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल दस्तावेज़, जो इसकी मूल भाषा में है, को प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**अस्वीकरण**:
यह दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता के लिए प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवादों में त्रुटियाँ या अशुद्धियाँ हो सकती हैं। मूल दस्तावेज़ अपनी मूल भाषा में अधिकृत स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सलाह दी जाती है। इस अनुवाद के उपयोग से होने वाली किसी भी गलतफहमी या व्याख्या के लिए हम उत्तरदायी नहीं हैं।
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,31 +1,78 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "9e2f84e351a6fcb44bfc4066d98525f0",
"translation_date": "2025-10-03T09:10:49+00:00",
"original_hash": "17b8ec8e85d99e27dcb3f73842e583be",
"translation_date": "2026-01-06T17:15:50+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/assignment.md",
"language_code": "hi"
}
-->
# असाइनमेंट: आधुनिक वेब विकास उपकरणों की खोज
## निर्देश
वेब डेवलपर के लिए कई उपकरण उपलब्ध हैं, जो [MDN दस्तावेज़ में क्लाइंट-साइड टूलिंग](https://developer.mozilla.org/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Overview) पर सूचीबद्ध हैं। **तीन उपकरण** चुनें जो **इस पाठ में शामिल नहीं हैं** (पाठ सामग्री या विशिष्ट उपकरणों को छोड़कर), और समझाएं कि **क्यों** एक वेब डेवलपर प्रत्येक उपकरण का उपयोग करेगा। प्रत्येक श्रेणी के लिए एक उपकरण खोजें। प्रत्येक के लिए, इसके आधिकारिक दस्तावेज़ का लिंक साझा करें (MDN पर उपयोग किए गए उदाहरण का नहीं)।
वेब विकास इकोसिस्टम में सैकड़ों विशिष्ट उपकरण होते हैं जो डेवलपर्स को एप्लिकेशन को प्रभावी ढंग से बनाने, परीक्षण करने, और बनाए रखने में मदद करते हैं। आपका कार्य उन उपकरणों का अध्ययन और समझ करना है जो इस पाठ में कवर किए गए उपकरणों के पूरक हैं।
**आपका मिशन:** ऐसे **तीन उपकरणों** का चयन करें जो **इस पाठ में कवर नहीं किए गए हैं** (पहले से सूचीबद्ध कोड संपादक, ब्राउज़र या कमांड लाइन उपकरण चुनने से बचें)। उन उपकरणों पर ध्यान दें जो आधुनिक वेब विकास वर्कफ़्लो में विशिष्ट समस्याओं को हल करते हैं।
**प्रत्येक उपकरण के लिए, प्रदान करें:**
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]
```
## गुणवत्ता दिशानिर्देश
**प्रारूप:**
- उपकरण का नाम
- वेब डेवलपर इसका उपयोग क्यों करेगा (2-3 वाक्य)
- दस्तावेज़ का लिंक
- **वर्तमान उपकरण चुनें**: ऐसे उपकरण चुनें जो सक्रिय रूप से बनाए रखे जाते हैं और 2025 में व्यापक रूप से इस्तेमाल किए जाते हैं
- **मूल्य पर ध्यान दें**: केवल उपकरण क्या करता है यह न बताएं, बल्कि इसके विशिष्ट लाभ समझाएं
- **पेशेवर संदर्भ**: उन उपकरणों पर विचार करें जिनका उपयोग विकास टीम करती है, केवल व्यक्तिगत हॉबीइस्ट द्वारा नहीं
- **विविध चयन**: पारिस्थितिकी तंत्र की व्यापकता दिखाने के लिए विभिन्न श्रेणियों से उपकरण चुनें
- **आधुनिक प्रासंगिकता**: उन उपकरणों को प्राथमिकता दें जो वर्तमान वेब विकास रुझानों और सर्वोत्तम प्रथाओं के अनुरूप हों
**लंबाई:**
- प्रत्येक व्याख्या 2-3 वाक्य की होनी चाहिए।
## मानदंड
## मूल्यांकन मानदंड
| उत्कृष्ट | अच्छा | सुधार की जरूरत |
|-----------|------|-------------------|
| **स्पष्ट रूप से बताया कि डेवलपर्स प्रत्येक उपकरण का उपयोग क्यों करते हैं और यह किन समस्याओं को हल करता है** | **बताया कि उपकरण क्या करता है लेकिन उसके मूल्य के संदर्भ में कुछ विवरण छूट गए** | **केवल उपकरणों की सूची दी लेकिन उनके उद्देश्य या लाभ नहीं बताए** |
| **सभी उपकरणों के आधिकारिक दस्तावेज़ीकरण लिंक दिए** | **प्राय: आधिकारिक लिंक दिए, 1-2 ट्यूटोरियल साइट्स शामिल कीं** | **मुख्य रूप से ट्यूटोरियल साइट्स पर निर्भर रहे, आधिकारिक दस्तावेज़ के बजाय** |
| **विभिन्न श्रेणियों से वर्तमान पेशेवर उपकरण चुने** | **अच्छे उपकरण चुने पर श्रेणियों की विविधता कम थी** | **पुराने उपकरण चुने या केवल एक श्रेणी से** |
| **यह दिखाया कि उपकरण विकास वर्कफ़्लो में कैसे फिट होते हैं** | **पेशेवर संदर्भ का कुछ समझ दिखाई** | **केवल उपकरण फीचर्स पर ध्यान दिया, वर्कफ़्लो संदर्भ नहीं दिया** |
उत्कृष्ट | पर्याप्त | सुधार की आवश्यकता
--- | --- | -- |
समझाया कि वेब डेवलपर उपकरण का उपयोग क्यों करेगा | समझाया कि डेवलपर उपकरण का उपयोग कैसे करेगा, लेकिन क्यों नहीं | उल्लेख नहीं किया कि डेवलपर उपकरण का उपयोग कैसे या क्यों करेगा |
> 💡 **अनुसंधान सुझाव**: वेब डेवलपर्स के लिए जॉब पोस्टिंग देखें, लोकप्रिय डेवलपर सर्वेक्षण जांचें, या GitHub पर सफल ओपन-सोर्स प्रोजेक्ट्स की निर्भरताओं का पता लगाएं!
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**अस्वीकरण**:
यह दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता के लिए प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को आधिकारिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।
इस दस्तावेज़ का अनुवाद AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके किया गया है। जबकि हम सटीकता के लिए प्रयत्नशील हैं, कृपया ध्यान रखें कि स्वचालित अनुवादों में त्रुटियाँ या असंगतियाँ हो सकती हैं। मूल दस्तावेज़ अपनी मातृभाषा में प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत अर्थ निकालने के लिए हम जिम्मेदार नहीं हैं।
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,345 +1,777 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "ea65b75e488aa33a3cc5cb1c6c3f047a",
"translation_date": "2025-10-03T13:46:12+00:00",
"original_hash": "5c383cc2cc23bb164b06417d1c107a44",
"translation_date": "2026-01-06T17:16:05+00:00",
"source_file": "1-getting-started-lessons/2-github-basics/README.md",
"language_code": "hi"
}
-->
# GitHub का परिचय
यह पाठ GitHub के मूलभूत पहलुओं को कवर करता है, जो आपके कोड को होस्ट और प्रबंधित करने के लिए एक प्लेटफ़ॉर्म है।
![GitHub का परिचय](../../../../translated_images/webdev101-github.8846d7971abef6f947909b4f9d343e2a23778aa716ca6b9d71df7174ee5009ac.hi.png)
> स्केच नोट [Tomomi Imura](https://twitter.com/girlie_mac) द्वारा
# GitHub परिचय
नमस्ते, भविष्य के डेवलपर! 👋 क्या आप दुनिया भर के लाखों कोडर्स में शामिल होने के लिए तैयार हैं? मैं आपको GitHub से परिचित कराने के लिए वास्तव में उत्साहित हूँ इसे प्रोग्रामर के लिए सोशल मीडिया प्लेटफ़ॉर्म समझिए, सिवाय इसके कि यहाँ आप अपने लंच की फोटो साझा करने के बजाय, कोड साझा करते हैं और साथ में अद्भुत चीजें बनाते हैं!
यह बात जो मुझे बेहद चौंकाती है: आपके फोन का हर ऐप, हर वेबसाइट जो आप देखते हैं, और अधिकांश उपकरण जिन्हें आप सीखेंगे, उन सभी को डेवलपर्स की टीमों ने GitHub जैसे प्लेटफ़ॉर्म पर सहयोग करके बनाया है। जो म्यूजिक ऐप आपको पसंद है? कोई आपके जैसा व्यक्ति उसमें योगदान दे चुका है। वह गेम जिसे आप छोड़ नहीं पा रहे? हाँ, संभवतः GitHub सहयोग से बनायी गई है। और अब आप यह सीखने वाले हैं कि उस अद्भुत समुदाय का हिस्सा कैसे बने!
मुझे पता है कि यह शुरुआत में थोड़ा भारी लग सकता है सच कहूँ तो, मैं पहली बार GitHub पेज पर देखकर यही सोचता था "यह सब आखिर क्या मतलब है?" लेकिन बात यह है: हर डेवलपर ठीक उसी जगह से शुरू हुआ जहाँ आप अभी हैं। इस पाठ के अंत तक, आपके पास अपना खुद का GitHub रेपोजिटरी होगा (इसे अपने क्लाउड में व्यक्तिगत प्रोजेक्ट शोकेस समझें), और आप जानेंगे कि अपने काम को कैसे सेव करना है, दूसरों के साथ साझा करना है, और उन प्रोजेक्ट्स में कैसे योगदान देना है जिन्हें लाखों लोग उपयोग करते हैं।
हम इस यात्रा को साथ-साथ कदम दर कदम तय करेंगे। कोई जल्दी नहीं, कोई दबाव नहीं सिर्फ आप, मैं, और कुछ बहुत ही बढ़िया टूल्स जो आपके नए सबसे अच्छे दोस्त बनने वाले हैं!
![Intro to GitHub](../../../../translated_images/webdev101-github.8846d7971abef6f9.hi.png)
> स्केचनोट [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 के लिए तैयार करें! इसे इस तरह सोचें जैसे कि आप अपने कला के सामान को व्यवस्थित कर रहे हों ताकि आप एक मास्टरपीस बना सकें सही टूल्स होना सब कुछ बहुत आसान और मज़ेदार बनाता है।
मैं आपको व्यक्तिगत रूप से हर सेटअप स्टेप के माध्यम से मार्गदर्शन करूँगा, और वादा करता हूँ कि यह उतना डरावना नहीं है जितना पहली नजर में लग सकता है। अगर कुछ तुरंत समझ में न आये, तो चिंता मत करें! मुझे याद है कि जब मैंने पहली बार अपना विकास वातावरण सेटअप किया था, तो मुझे लग रहा था जैसे मैं प्राचीन चित्रलिपियाँ पढ़ रहा हूँ। हर डेवलपर ठीक आपकी तरह ही शुरू करता है, यह सोचते हुए कि क्या वे सही कर रहे हैं। ध्यान रखें: अगर आप यहाँ सीख रहे हैं, तो आप पहले से ही सही कर रहे हैं! 🌟
इस पाठ में हम कवर करेंगे:
- आपके मशीन पर किए गए कार्य को ट्रैक करना
- अन्य लोगों के साथ प्रोजेक्ट पर काम करना
- ओपन सोर्स सॉफ़्टवेयर में योगदान कैसे करें
- अपने मशीन पर किए गए कार्य को ट्रैक करना
- दूसरों के साथ प्रोजेक्ट्स पर काम करना
- ओपन सोर्स सॉफ़्टवेयर में योगदान कैसे ें
### आवश्यकताएँ
### पूर्वापेक्षाएँ
शुरू करने से पहले, आपको यह जांचना होगा कि Git इंस्टॉल है या नहीं। टर्मिनल में टाइप करें:
आइए आपके कंप्यूटर को GitHub के लिए तैयार करें! चिंता मत करें यह सेटअप एक बार करना होता है, उसके बाद आपका पूरा कोडिंग सफर आसान हो जाता है।
सबसे पहले, हमें देखना होगा कि क्या Git पहले से आपके कंप्यूटर पर मौजूद है। Git एक सुपर-स्मार्ट सहायक की तरह है जो आपके कोड में किए गए हर बदलाव को याद रखता है Ctrl+S बार-बार दबाने से कहीं बेहतर (हम सभी इससे गुजरते हैं!)।
अपने टर्मिनल में यह जादुई कमांड टाइप करके देखें कि Git पहले से इंस्टॉल है या नहीं:
`git --version`
यदि Git इंस्टॉल नहीं है, तो [Git डाउनलोड करें](https://git-scm.com/downloads)। फिर, अपने स्थानीय Git प्रोफ़ाइल को टर्मिनल में सेटअप करें:
* `git config --global user.name "your-name"`
* `git config --global user.email "your-email"`
अगर 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
```
यह जांचने के लिए कि Git पहले से कॉन्फ़िगर है या नहीं, आप टाइप कर सकते हैं:
`git config --list`
आपको एक GitHub अकाउंट, एक कोड एडिटर (जैसे Visual Studio Code), और अपना टर्मिनल (या: कमांड प्रॉम्प्ट) खोलना होगा।
आपको एक GitHub खाता, एक कोड एडिटर (जैसे Visual Studio Code), और टर्मिनल (या: कमांड प्रॉम्प्ट) खोलने की आवश्यकता होगी।
[jithub.com](https://github.com/) पर जाएं और अगर आपका अकाउंट नहीं है तो बनाएं, या लॉगिन करें और अपनी प्रोफ़ाइल भरें
[github.com](https://github.com/) पर जाएं और यदि आपने पहले से खाता नहीं बनाया है तो एक खाता बनाएं, या लॉग इन करें और अपनी प्रोफ़ाइल भरें।
💡 **आधुनिक सुझाव:** पासवर्ड की जरूरत के बिना आसान प्रमाणीकरण के लिए [SSH keys](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) सेटअप करें या [GitHub CLI](https://cli.github.com/) पयोग करें।
✅ GitHub दुनिया में एकमात्र कोड रिपॉजिटरी नहीं है; अन्य भी हैं, लेकिन GitHub सबसे प्रसिद्ध है।
✅ GitHub दुनिया का एकमात्र कोड रेपोजिटरी नहीं है; और भी हैं, लेकिन GitHub सबसे प्रसिद्ध है
### तैयारी
आपको अपने स्थानीय मशीन (लैपटॉप या पीसी) पर एक कोड प्रोजेक्ट के साथ एक फ़ोल्डर और GitHub पर एक सार्वजनिक रिपॉजिटरी की आवश्यकता होगी, जो दूसरों के प्रोजेक्ट्स में योगदान करने के तरीके के उदाहरण के रूप में काम करेगा।
आपके पास एक लोकल मशीन (लैपटॉप या पीसी) पर कोड प्रोजेक्ट वाला फोल्डर होना चाहिए, और GitHub पर एक सार्वजनिक रेपोजिटरी, जो दूसरों के प्रोजेक्ट को योगदान देने के उदाहरण के रूप में काम करेगी।
---
### अपने कोड को सुरक्षित रखना
सुरक्षा के बारे में थोड़ी बात करते हैं पर घबराइए मत, हम आपको डरावनी बातें सुनाने नहीं आ रहे! सुरक्षा की आदतों को ऐसे सोचें जैसे आप अपनी कार या घर को लॉक करते हैं। ये सरल आदतें हैं जो आपके कड़ी मेहनत को सुरक्षित रखती हैं।
हम आपको शुरु से ही GitHub के आधुनिक, सुरक्षित तरीकों से काम करना सिखाएंगे। इस तरह, आप अच्छे सुरक्षा आदतें विकसित करेंगे जो आपकी पूरी कोडिंग यात्रा में काम आएंगी।
GitHub के साथ काम करते समय सुरक्षा की सर्वोत्तम प्रथाएँ अपनाना जरूरी है:
| सुरक्षा क्षेत्र | सर्वोत्तम प्रथा | क्यों महत्वपूर्ण है |
|---------------|----------------|-------------------|
| **प्रमाणीकरण** | SSH keys या व्यक्तिगत एक्सेस टोकन का उपयोग करें | पासवर्ड कम सुरक्षित होते हैं और धीरे-धीरे हटाए जा रहे हैं |
| **दो-कारक प्रमाणीकरण** | अपने GitHub अकाउंट पर 2FA सक्षम करें | आपके अकाउंट की सुरक्षा को अतिरिक्त स्तर देता है |
| **रेपोजिटरी सुरक्षा** | संवेदनशील जानकारी कभी कमिट न करें | API keys और पासवर्ड को सार्वजनिक रेपोजिटरी में नहीं रखना चाहिए |
| **निर्भरता प्रबंधन** | अपडेट के लिए Dependabot सक्षम करें | आपकी निर्भरताओं को सुरक्षित और नवीनतम रखता है |
## कोड प्रबंधन
> ⚠️ **महत्वपूर्ण सुरक्षा चेतावनी:** API keys, पासवर्ड या कोई अन्य संवेदनशील जानकारी कभी भी किसी रेपोजिटरी में कमिट न करें। संवेदनशील डेटा की सुरक्षा के लिए पर्यावरण चर और `.gitignore` फ़ाइलों का उपयोग करें।
मान लें कि आपके पास स्थानीय रूप से एक कोड प्रोजेक्ट के साथ एक फ़ोल्डर है और आप git - संस्करण नियंत्रण प्रणाली का उपयोग करके अपनी प्रगति को ट्रैक करना शुरू करना चाहते हैं। कुछ लोग git का उपयोग करने की तुलना भविष्य के लिए खुद को एक प्रेम पत्र लिखने से करते हैं। जब आप अपने कमिट संदेशों को दिनों, हफ्तों या महीनों बाद पढ़ेंगे, तो आप यह याद कर पाएंगे कि आपने कोई निर्णय क्यों लिया था, या किसी बदलाव को "रोलबैक" कर सकते हैं - बशर्ते आपने अच्छे "कमिट संदेश" लिखे हों।
**आधुनिक प्रमाणीकरण सेटअप:**
### कार्य: एक रिपॉजिटरी बनाएं और कोड कमिट करें
```bash
# SSH कुंजी उत्पन्न करें (आधुनिक ed25519 एल्गोरिदम)
ssh-keygen -t ed25519 -C "your_email@example.com"
# SSH का उपयोग करने के लिए Git सेट करें
git remote set-url origin git@github.com:username/repository.git
```
> 💡 **प्रो टिप:** SSH keys बार-बार पासवर्ड डालने की जरूरत खत्म कर देती हैं और पारंपरिक प्रमाणीकरण तरीकों से अधिक सुरक्षित होती हैं।
---
## अपने कोड को प्रो की तरह मैनेज करना
ठीक है, यहाँ चीजें वास्तव में मज़ेदार होने वाली हैं! 🎉 हम सीखने जा रहे हैं कि कोड को प्रोफेशनल की तरह ट्रैक और मैनेज कैसे किया जाता है, और सच कहूँ तो यह मेरी सबसे पसंदीदा चीज़ों में से एक है क्योंकि यह एक बड़ा गेम-चेंजर है।
कल्पना कीजिए: आप एक अद्भुत कहानी लिख रहे हैं, और आप हर ड्राफ्ट, हर शानदार संशोधन, और हर "रुको, ये तो ज़बरदस्त है!" पल को ट्रैक करना चाहते हैं। बिलकुल ऐसा ही Git आपके कोड के लिए करता है! यह ऐसा है जैसे आपके पास एक अविश्वसनीय टाइम-ट्रैवलिंग नोटबुक हो जो सब कुछ याद रखती है हर कीस्ट्रोक, हर बदलाव, हर "उफ़, यह सब कुछ तोड़ दिया" पल जिसे आप तुरंत उलट सकते हैं।
मैं ईमानदारी से कहूँ तो शुरू में यह भारी लग सकता है। जब मैंने शुरू किया था, तो मैंने सोचा था "मैं अपने फाइल्स को सामान्य तरीके से क्यों नहीं सेव कर सकता?" लेकिन मुझ पर भरोसा करें: एक बार Git समझ में आ गया (और आ जाएगा!), तो आपको एक ऐसा अहसास होगा कि "मैं पहले बिना इस के कैसे कोड करता था?" यह वैसा ही है जैसे आपको पता चले कि आप चलने के बजाय उड़ भी सकते हैं!
मान लीजिए आपके पास लोकल मशीन पर एक कोड प्रोजेक्ट का फोल्डर है और आप git का उपयोग करके अपनी प्रगति ट्रैक करना चाहते हैं - यह संस्करण नियंत्रण प्रणाली है। कुछ लोग git का उपयोग करना अपने भविष्य के स्वयं को प्यार का एक पत्र लिखने जैसा मानते हैं। दिन, सप्ताह या महीने बाद अपने कमिट संदेश पढ़कर आप याद कर पाएंगे कि आपने क्यों कोई निर्णय लिया, या "रोलबैक" कर पाएंगे - यानी, जब आप अच्छे "कमिट संदेश" लिखते हैं।
```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[फॉर्क और क्लोन]
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 और GitHub मूल बातें वीडियो](https://img.youtube.com/vi/9R31OUPpxU4/0.jpg)](https://www.youtube.com/watch?v=9R31OUPpxU4)
> [![Git और GitHub बेसिक्स वीडियो](https://img.youtube.com/vi/9R31OUPpxU4/0.jpg)](https://www.youtube.com/watch?v=9R31OUPpxU4)
**आइए इसे साथ मिलकर करें:**
1. **GitHub पर रिपॉजिटरी बनाएं**। GitHub.com पर, रिपॉजिटरी टैब में, या नेविगेशन बार के शीर्ष-दाईं ओर, **नया रिपो** बटन खोजें।
1. **GitHub पर अपना रेपोजिटरी बनाएँ**। GitHub.com पर जाएं और शीर्ष दाएं कोने में चमकता हुआ हरा **New** बटन (या **+** चिह्न) देखें। उस पर क्लिक करें और **New repository** चुनें।
1. अपनी रिपॉजिटरी (फ़ोल्डर) को एक नाम दें
1. **रिपॉजिटरी बनाएं** चुनें।
ऐसा करें:
1. अपने रेपोजिटरी को एक नाम दें ऐसा नाम चुनें जो आपके लिए मायने रखता हो!
1. चाहें तो एक विवरण जोड़ें (यह दूसरों को आपके प्रोजेक्ट के बारे में समझने में मदद करता है)
1. तय करें कि आप इसे सार्वजनिक (सभी देख सकते हैं) या निजी (सिर्फ आपके लिए) रखना चाहते हैं
1. मैं सुझाव दूंगा कि README फ़ाइल जोड़ें यह आपके प्रोजेक्ट का मुखपृष्ठ जैसा होता है
1. **Create repository** पर क्लिक करें और जश्न मनाएं आपने अपना पहला रेपो बनाया! 🎉
1. **अपने कार्य फ़ोल्डर पर जाएं**। अपने टर्मिनल में, उस फ़ोल्डर (जिसे डायरेक्टरी भी कहा जाता है) पर स्विच करें जिसे आप ट्रैक करना शुरू करना चाहते हैं। टाइप करें:
2. **अपने प्रोजेक्ट फोल्डर पर जाएं**। अब टर्मिनल खोलें (डरें नहीं, उतना डरावना नहीं है जितना दिखता है!). हमें अपने कंप्यूटर को बताना है कि आपके प्रोजेक्ट फोल्डर कहाँ हैं। यह कमांड टाइप करें:
```bash
cd [name of your folder]
```
1. **Git रिपॉजिटरी प्रारंभ करें**। अपने प्रोजेक्ट में टाइप करें:
**हम यहाँ क्या कर रहे हैं:**
- हम कंप्यूटर को कह रहे हैं "मुझे मेरे प्रोजेक्ट फ़ोल्डर पर ले चलो"
- यह आपके डेस्कटॉप पर किसी विशेष फ़ोल्डर को खोलने जैसा है, लेकिन हम इसे टेक्स्ट कमांड के जरिए कर रहे हैं
- `[name of your folder]` को अपने प्रोजेक्ट फोल्डर के असली नाम से बदलें
3. **अपने फोल्डर को Git रेपोजिटरी बनाएं**। यहीं जादू होने वाला है! टाइप करें:
```bash
git init
```
1. **स्थिति जांचें**। अपनी रिपॉजिटरी की स्थिति जांचने के लिए टाइप करें:
**यहाँ अभी क्या हुआ (काफी कूल है!):**
- Git ने आपके प्रोजेक्ट में एक छुपा हुआ `.git` फ़ोल्डर बनाया आप इसे नहीं देखेंगे, लेकिन यह वहाँ है!
- आपका सामान्य फ़ोल्डर अब एक "repository" है जो आपके हर बदलाव को ट्रैक कर सकता है
- इसे ऐसे समझें जैसे आपके फोल्डर को सुपरपावर मिल गई हो जो हर चीज़ याद रखती है
4. **देखें क्या चल रहा है**। आइए देखें Git आपके प्रोजेक्ट के बारे में अभी क्या सोचता है:
```bash
git status
```
आउटपुट कुछ इस तरह दिख सकता है:
**Git आपको क्या बता रहा है समझना:**
आप कुछ ऐसा देख सकते हैं:
```output
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
(use "git restore <file>..." to discard changes in working directory)
modified: file.txt
modified: file2.txt
```
आमतौर पर `git status` कमांड आपको यह बताता है कि कौन सी फाइलें _सेव_ करने के लिए तैयार हैं या उनमें बदलाव हैं जिन्हें आप स्थायी बनाना चाहते हैं।
**पैनिक मत करें! इसका मतलब है:**
- लाल रंग में दिखने वाली फाइलें वे हैं जिनमें बदलाव हैं लेकिन वे अभी सेव के लिए तैयार नहीं हैं
- हरे रंग की फाइलें (जब आप उन्हें देखते हैं) सेव के लिए तैयार होती हैं
- Git मददगार हो रहा है और आपको यह बता रहा है कि आप आगे क्या कर सकते हैं
1. **सभी फाइलें ट्रैकिंग के लिए जोड़ें**
इसे फाइलों को स्टेजिंग एरिया में जोड़ना भी कहा जाता है।
> 💡 **प्रो टिप:** `git status` कमांड आपका सबसे अच्छा दोस्त है! जब भी आप कंफ्यूज हों, इसका इस्तेमाल करें। यह ऐसे है जैसे आप Git से पूछ रहे हों "अभी की स्थिति क्या है?"
5. **अपनी फाइलें सेव के लिए तैयार करें** (इसे "staging" कहते हैं):
```bash
git add .
```
`git add` और `.` तर्क इंगित करता है कि आपकी सभी फाइलें और बदलाव ट्रैकिंग के लिए हैं।
**हमने अभी क्या किया:**
- हमने Git को बताया "अगली सेव में मैं अपनी सारी फाइलें शामिल करना चाहता हूँ"
- `.` का मतलब है "इस फ़ोल्डर में सब कुछ"
- अब आपकी फाइलें "staged" हैं और अगले कदम के लिए तैयार हैं
1. **चयनित फाइलें ट्रैकिंग के लिए जोड़ें**
**थोड़ा चयनात्मक होना चाहते हैं?** आप केवल कुछ खास फाइलें भी जोड़ सकते हैं:
```bash
git add [file or folder name]
```
यह हमें केवल चयनित फाइलों को स्टेजिंग एरिया में जोड़ने में मदद करता है जब हम सभी फाइलों को एक बार में कमिट नहीं करना चाहते।
**ऐसा क्यों करना चाहेंगे?**
- कभी-कभी आप संबंधित बदलावों को एक साथ सेव करना चाहते हैं
- यह आपके काम को तार्किक हिस्सों में व्यवस्थित करने में मदद करता है
- यह समझना आसान बनाता है कि कब क्या बदला
1. **सभी फाइलें अनस्टेज करें**
**मन बदल गया?** कोई बात नहीं! आप इस तरह फाइलें अनस्टेज कर सकते हैं:
```bash
# सब कुछ अनस्टेज करें
git reset
# सिर्फ एक फ़ाइल अनस्टेज करें
git reset [file name]
```
यह कमांड हमें एक बार में सभी फाइलों को अनस्टेज करने में मदद करता है।
चिंता मत करें ये आपके काम को डिलीट नहीं करता, बस फाइलों को "सेव के लिए तैयार" ढेर से बाहर निकालता है।
1. **एक विशेष फाइल को अनस्टेज करें**
```bash
git reset [file or folder name]
```
यह कमांड हमें केवल एक विशेष फाइल को अनस्टेज करने में मदद करता है जिसे हम अगले कमिट में शामिल नहीं करना चाहते।
1. **अपने कार्य को स्थायी बनाएं**। इस बिंदु पर आपने फाइलों को तथाकथित _स्टेजिंग एरिया_ में जोड़ दिया है। एक जगह जहां Git आपकी फाइलों को ट्रैक कर रहा है। बदलाव को स्थायी बनाने के लिए आपको फाइलों को _कमिट_ करना होगा। ऐसा करने के लिए आप `git commit` कमांड का उपयोग करके एक _कमिट_ बनाते हैं। एक _कमिट_ आपके रिपॉजिटरी के इतिहास में एक सेविंग पॉइंट का प्रतिनिधित्व करता है। टाइप करें:
6. **अपने काम को स्थायी रूप से सेव करें** (अपना पहला कमिट बनाते हुए!):
```bash
git commit -m "first commit"
```
यह आपकी सभी फाइलों को कमिट करता है, और संदेश "पहला कमिट" जोड़ता है। भविष्य के कमिट संदेशों के लिए आप अपने विवरण में अधिक वर्णनात्मक होना चाहेंगे ताकि यह स्पष्ट हो सके कि आपने किस प्रकार का बदलाव किया है।
**🎉 बधाई हो! आपने अपना पहला कमिट बना दिया है!**
**यहाँ अभी क्या हुआ:**
- Git ने इस ठीक समय पर आपकी सभी staged फाइलों की "स्नैपशॉट" ली
- आपका कमिट संदेश "first commit" बताता है कि यह सेव पॉइंट किस बारे में है
- Git ने इस स्नैपशॉट को एक यूनिक आईडी दी ताकि आप इसे बाद में हमेशा ढूंढ सकें
- आपने आधिकारिक तौर पर अपने प्रोजेक्ट का इतिहास ट्रैक करना शुरू कर दिया है!
> 💡 **आगे के कमिट संदेश:** अपने अगले कमिट्स के लिए ज्यादा वर्णनात्मक हों! "updated stuff" की बजाय जैसे "Add contact form to homepage" या "Fix navigation menu bug" लिखें। आपका भविष्य का आप इसका धन्यवाद करेगा!
1. **अपने स्थानीय Git रिपो को GitHub से कनेक्ट करें**। एक Git रिपो आपके मशीन पर अच्छा है लेकिन किसी बिंदु पर आप अपनी फाइलों का बैकअप कहीं रखना चाहेंगे और अन्य लोगों को अपने रिपो पर काम करने के लिए आमंत्रित करना चाहेंगे। ऐसा करने के लिए एक शानदार जगह GitHub है। याद रखें कि हमने पहले ही GitHub पर एक रिपो बनाया है, इसलिए हमें केवल अपने स्थानीय Git रिपो को GitHub से कनेक्ट करना है। कमांड `git remote add` यही करेगा। निम्नलिखित कमांड टाइप करें:
7. **अपने लोकल प्रोजेक्ट को GitHub से जोड़ें**। फिलहाल, आपका प्रोजेक्ट केवल आपके कंप्यूटर पर है। आइए इसे आपके GitHub रेपोजिटरी से कनेक्ट करें ताकि आप इसे दुनिया के साथ साझा कर सकें!
> नोट, कमांड टाइप करने से पहले अपने GitHub रिपो पेज पर जाएं और रिपॉजिटरी URL खोजें। आप इसे नीचे दिए गए कमांड में उपयोग करेंगे। ```https://github.com/username/repository_name.git``` को अपने GitHub URL से बदलें।
सबसे पहले, अपनी GitHub रेपोजिटरी पेज पर जाएं और URL कॉपी करें। फिर वापस यहां आकर टाइप करें:
```bash
git remote add origin https://github.com/username/repository_name.git
```
(उस URL को अपनी वास्तविक रेपोजिटरी URL से बदलें!)
यह एक _रिमोट_, या कनेक्शन, बनाता है जिसका नाम "origin" है और यह आपके द्वारा पहले बनाए गए GitHub रिपॉजिटरी की ओर इशारा करता है।
**हमने अभी क्या किया:**
- हमने आपके स्थानीय प्रोजेक्ट और आपके GitHub रिपॉजिटरी के बीच एक कनेक्शन बनाया
- "Origin" आपके GitHub रिपॉजिटरी का सिर्फ एक उपनाम है यह आपके फोन में किसी संपर्क को जोड़ने जैसा है
- अब आपका स्थानीय Git जानता है कि जब आप साझा करने के लिए तैयार हों तो आपका कोड कहां भेजना है
1. **स्थानीय फाइलें GitHub पर भेजें**। अब तक आपने स्थानीय रिपो और GitHub रिपो के बीच एक _कनेक्शन_ बनाया है। आइए इन फाइलों को GitHub पर निम्नलिखित कमांड `git push` का उपयोग करके भेजें:
💡 **आसान तरीका**: यदि आपके पास GitHub CLI इंस्टॉल है, तो आप यह एक ही कमांड में कर सकते हैं:
```bash
gh repo create my-repo --public --push --source=.
```
> नोट, आपकी ब्रांच का नाम ```main``` से अलग हो सकता है।
8. **अपना कोड GitHub पर भेजें** (वह बड़ा पल!):
```bash
git push -u origin main
```
यह आपके "main" ब्रांच में आपके कमिट्स को GitHub पर भेजता है। कमांड में `-u` सहित `upstream` ब्रांच सेट करना आपके स्थानीय ब्रांच और रिमोट ब्रांच के बीच एक लिंक स्थापित करता है, ताकि आप भविष्य में ब्रांच का नाम निर्दिष्ट किए बिना केवल git push या git pull का उपयोग कर सकें। Git स्वचालित रूप से upstream ब्रांच का उपयोग करेगा और आपको भविष्य के कमांड में ब्रांच का नाम स्पष्ट रूप से निर्दिष्ट करने की आवश्यकता नहीं होगी।
**🚀 यही है! आप अपना कोड GitHub पर अपलोड कर रहे हैं!**
**क्या हो रहा है:**
- आपकी कमिट्स आपके कंप्यूटर से GitHub तक यात्रा कर रही हैं
- `-u` फ्लैग एक स्थायी कनेक्शन सेट करता है ताकि भविष्य में पुश करना आसान हो जाए
- "main" आपकी प्राथमिक शाखा का नाम है (जैसे मुख्य फ़ोल्डर)
- इसके बाद, आप भविष्य के अपलोड के लिए बस `git push` टाइप कर सकते हैं!
💡 **त्वरित नोट**: यदि आपकी शाखा का नाम कुछ और है (जैसे "master"), तो उस नाम का उपयोग करें। आप `git branch --show-current` से जांच सकते हैं।
2. **अधिक बदलाव जोड़ने के लिए**। यदि आप बदलाव करना जारी रखना चाहते हैं और उन्हें GitHub पर पुश करना चाहते हैं, तो आपको केवल निम्नलिखित तीन कमांड का उपयोग करना होगा:
9. **आपकी नई दैनिक कोडिंग लय** (यहाँ यह नशे की तरह बन जाता है!):
अब से, जब भी आप अपने प्रोजेक्ट में बदलाव करते हैं, आपके पास यह सरल तीन-चरणीय प्रक्रिया है:
```bash
git add .
git commit -m "type your commit message here"
git commit -m "describe what you changed"
git push
```
> टिप, आप `.gitignore` फाइल अपनाना चाह सकते हैं ताकि वे फाइलें जिन्हें आप ट्रैक नहीं करना चाहते, GitHub पर दिखाई न दें - जैसे कि वह नोट्स फाइल जिसे आप उसी फ़ोल्डर में स्टोर करते हैं लेकिन सार्वजनिक रिपॉजिटरी में उसकी कोई जगह नहीं है। आप `.gitignore` फाइलों के टेम्पलेट्स [.gitignore templates](https://github.com/github/gitignore) पर पा सकते हैं।
**यह आपकी कोडिंग की धड़कन बन जाती है:**
- अपने कोड में कुछ शानदार बदलाव करें ✨
- उन्हें `git add` के साथ स्टेज करें ("अरे Git, इन बदलावों पर ध्यान दो!")
- उन्हें `git commit` और एक वर्णनात्मक संदेश के साथ सेव करें (भविष्य के आप आपका धन्यवाद करेंगे!)
- उन्हें `git push` 🚀 के साथ दुनिया के साथ साझा करें
- बार-बार करें — सचमुच, यह सांस लेने जितना स्वाभाविक हो जाता है!
मुझे यह वर्कफ़्लो पसंद है क्योंकि यह ऐसे है जैसे वीडियो गेम में कई सेव पॉइंट्स हों। कोई बदलाव किया जो आपको पसंद आया? उसे कमिट करें! कुछ जोखिमपूर्ण आजमाना चाहते हैं? कोई बात नहीं यदि चीजें उलझ जाएं तो आप हमेशा अपनी आखिरी कमिट पर वापस जा सकते हैं!
> 💡 **टिप**: आप एक `.gitignore` फ़ाइल अपनाना चाहते होंगे ताकि वे फाइलें जो आप ट्रैक नहीं करना चाहते GitHub पर न दिखें जैसे वह नोट्स फ़ाइल जो आप उसी फोल्डर में रखते हैं लेकिन सार्वजनिक रिपॉजिटरी में नहीं होनी चाहिए। आप `.gitignore` फाइलों के टेम्पलेट्स [.gitignore templates](https://github.com/github/gitignore) पर पा सकते हैं या [gitignore.io](https://www.toptal.com/developers/gitignore) से खुद बना सकते हैं।
### 🧠 **पहली रिपॉजिटरी चेक-इन: कैसा लगा?**
**एक पल मनाएँ और सोचें:**
- पहली बार 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
स्नैपशॉट बनाया गया
end note
```
> **याद रखें**: अनुभवी डेवलपर्स भी कभी-कभी सही कमांड भूल जाते हैं। इस वर्कफ़्लो को मसल मैमोरी बनाना अभ्यास मांगता है आप बेहतरीन कर रहे हैं!
#### आधुनिक Git वर्कफ़्लोज़
इन आधुनिक प्रथाओं को अपनाने पर विचार करें:
- **Conventional Commits**: एक मानकीकृत कमिट संदेश फॉर्मेट जैसे `feat:`, `fix:`, `docs:` आदि का उपयोग करें। अधिक जानें [conventionalcommits.org](https://www.conventionalcommits.org/)
- **Atomic commits**: प्रत्येक कमिट को एकल तार्किक बदलाव का प्रतिनिधित्व करने दें
- **Frequent commits**: बड़े, कम बार कमिट करने के बजाय अक्सर वर्णनात्मक संदेशों के साथ कमिट करें
#### कमिट संदेश
एक शानदार Git कमिट विषय पंक्ति निम्नलिखित वाक्य को पूरा करती है:
यदि लागू किया गया, तो यह कमिट <आपकी विषय पंक्ति यहां>
एक बढ़िया Git कमिट विषय पंक्ति इस वाक्य को पूरा करती है:
यदि लागू किया जाए, तो यह कमिट <यहाँ अपना विषय वाक्य डालें>
विषय में क्रिया रूप, वर्तमान काल का प्रयोग करें: "change" न कि "changed" या "changes"।
विषय की तरह, बॉडी (वैकल्पिक) में भी क्रिया रूप, वर्तमान काल का उपयोग करें। बॉडी में बदलाव के कारण और पिछले व्यवहार के साथ इसके विपरीत होने की व्याख्या होनी चाहिए। आप `क्यों` समझा रहे हैं, न कि `कैसे`
विषय के लिए वर्तमान काल का उपयोग करें: "change" न कि "changed" या "changes"।
जैसे विषय में, शरीर (वैकल्पिक) में भी वर्तमान काल का उपयोग करें। शरीर में बदलाव के लिए प्रेरणा शामिल होनी चाहिए और इसे पिछले व्यवहार के साथ तुलना करनी चाहिए। आप `क्यों` समझा रहे हैं, न कि `कैसे`
✅ GitHub पर कुछ अच्छे कमिट संदेश खोजने के लिए कुछ मिनट दें। क्या आप कोई बहुत बढ़िया चेतावनी संदेश पा सकते हैं? कोई बहुत संक्षिप्त संदेश? आपको क्या लगता है कि कमिट संदेश में सबसे महत्वपूर्ण और उपयोगी जानकारी क्या है?
✅ GitHub पर कुछ समय बिताएं। क्या आप एक वास्तव में शानदार कमिट संदेश ढूंढ सकते हैं? क्या आप एक बहुत ही न्यूनतम संदेश ढूंढ सकते हैं? आपके विचार में कमिट संदेश में कौन सी जानकारी सबसे महत्वपूर्ण और उपयोगी है?
## दूसरों के साथ काम करना (मजेदार भाग!)
### कार्य: सहयोग करें
अपना ध्यान रखें क्योंकि यहीं पर GitHub असली जादू बन जाता है! 🪄 आपने अपना कोड प्रबंधित करना सीख लिया है, लेकिन अब हम मेरे पसंदीदा हिस्से में उतर रहे हैं दुनिया भर के अद्भुत लोगों के साथ सहयोग करना।
GitHub पर चीजें डालने का मुख्य कारण अन्य डेवलपर्स के साथ सहयोग करना संभव बनाना था।
कल्पना करें: आप कल सुबह उठते हैं और देखते हैं कि टोक्यो में किसी ने आपकी नींद के दौरान आपके कोड को सुधार दिया। फिर बर्लिन में किसी ने उस बग को ठीक किया जिससे आप फंसे थे। दोपहर तक, साओ पाउलो के एक डेवलपर ने वह फीचर जोड़ दिया जिसे आपने कभी सोचा भी नहीं था। यह विज्ञान-कथा नहीं है यह GitHub ब्रह्मांड में मंगलवार का दिन है!
## अन्य लोगों के साथ प्रोजेक्ट पर काम करना
जो मुझे वास्तव में उत्साहित करता है, वह यह है कि वे सहयोग कौशल जिन्हें आप सीखने वाले हैं? ये बिल्कुल वही वर्कफ़्लोज़ हैं जो Google, Microsoft, और आपके पसंदीदा स्टार्टअप्स की टीमें हर रोज इस्तेमाल करती हैं। आप सिर्फ एक कूल टूल नहीं सीख रहे आप उस गुप्त भाषा को सीख रहे हैं जो पूरी सॉफ्टवेयर दुनिया को साथ मिलकर काम करने में मदद करती है।
सच में, जब आप पहली बार अपना पहला पुल रिक्वेस्ट मर्ज होते देखेंगे, तो आप समझ जाएंगे कि डेवलपर्स मुक्त स्रोत के लिए क्यों इतना उत्साहित होते हैं। यह दुनिया की सबसे बड़ी, सबसे क्रिएटिव टीम परियोजना का हिस्सा होने जैसा है!
> वीडियो देखें
>
> [![Git और GitHub मूल बातें वीडियो](https://img.youtube.com/vi/bFCM-PC3cu8/0.jpg)](https://www.youtube.com/watch?v=bFCM-PC3cu8)
> [![Git and GitHub basics video](https://img.youtube.com/vi/bFCM-PC3cu8/0.jpg)](https://www.youtube.com/watch?v=bFCM-PC3cu8)
GitHub पर चीज़ें डालने का मुख्य कारण यह था कि यह अन्य डेवलपर्स के साथ सहयोग करना संभव बनाए।
अपने रिपॉजिटरी में, `Insights > Community` पर जाएं यह देखने के लिए कि आपका प्रोजेक्ट अनुशंसित सामुदायिक मानकों की तुलना में कैसा है।
```mermaid
flowchart LR
A[🔍 प्रोजेक्ट खोजें] --> B[🍴 रिपॉजिटरी फ़ोर्क करें]
B --> C[📥 लोकल पर क्लोन करें]
C --> D[🌿 ब्रांच बनाएँ]
D --> E[✏️ बदलाव करें]
E --> F[💾 बदलाव कमिट करें]
F --> G[📤 ब्रांच पुश करें]
G --> H[🔄 पुल रिक्वेस्ट बनाएँ]
H --> I{मेरेन्टर की समीक्षा}
I -->|✅ मंजूर| J[🎉 मर्ज करें!]
I -->|❓ बदलाव अनुरोध किए गए| K[📝 अपडेट करें]
K --> F
J --> L[🧹 ब्रांच साफ़ करें]
style A fill:#e3f2fd
style J fill:#e8f5e8
style L fill:#fff3e0
```
अपने रिपॉजिटरी में `Insights > Community` पर जाएं ताकि देखें आपका प्रोजेक्ट संदर्भित समुदाय मानकों से कैसे मेल खाता है।
यहां कुछ चीजें हैं जो आपके GitHub रिपो को बेहतर बना सकती हैं:
- **विवरण**। क्या आपने अपने प्रोजेक्ट के लिए विवरण जोड़ा है?
- **README**। क्या आपने README जोड़ा है? GitHub [README](https://docs.github.com/articles/about-readmes/?WT.mc_id=academic-77807-sagibbon) लिखने के लिए मार्गदर्शन प्रदान करता है।
- **योगदान दिशानिर्देश**। क्या आपके प्रोजेक्ट में [योगदान दिशानिर्देश](https://docs.github.com/articles/setting-guidelines-for-repository-contributors/?WT.mc_id=academic-77807-sagibbon) हैं?
- **आचार संहिता**। एक [आचार संहिता](https://docs.github.com/articles/adding-a-code-of-conduct-to-your-project/)।
- **लाइसेंस**। शायद सबसे महत्वपूर्ण, एक [लाइसेंस](https://docs.github.com/articles/adding-a-license-to-a-repository/)।
क्या आप अपनी रिपॉजिटरी को पेशेवर और स्वागतयोग्य बनाना चाहते हैं? अपनी रिपॉजिटरी में जाएं और `Insights > Community` पर क्लिक करें। यह शानदार फीचर आपको दिखाएगा कि आपका प्रोजेक्ट GitHub समुदाय द्वारा "अच्छी रिपॉजिटरी प्रथाओं" के मुकाबले कैसा है।
ये सभी संसाधन नए टीम सदस्यों को शामिल करने में लाभकारी होंगे। और ये आमतौर पर वे चीजें होती हैं जिन्हें नए योगदानकर्ता आपके कोड को देखने से पहले देखते हैं, यह पता लगाने के लिए कि क्या आपका प्रोजेक्ट उनके समय बिताने के लिए सही जगह है।
> 🎯 **अपने प्रोजेक्ट को चमकदार बनाएं**: एक अच्छी तरह से व्यवस्थित रिपॉजिटरी जिसमें अच्छी डाक्यूमेंटेशन हो, एक साफ़-सुथरी, स्वागत योग्य दुकान की तरह होती है। इससे लोग जानते हैं कि आप अपने काम को लेकर गंभीर हैं और दूसरों को योगदान करने की प्रेरणा मिलती है!
✅ README फाइलें, हालांकि उन्हें तैयार करने में समय लगता है, अक्सर व्यस्त मेंटेनर्स द्वारा उपेक्षित की जाती हैं। क्या आप किसी विशेष रूप से वर्णनात्मक README का उदाहरण ढूंढ सकते हैं? नोट: कुछ [उपकरण अच्छे README बनाने में मदद करते हैं](https://www.makeareadme.com/) जिन्हें आप आज़माना चाह सकते हैं।
**यहाँ एक शानदार रिपॉजिटरी बनाने के तत्व हैं:**
| क्या जोड़ें | क्यों यह महत्वपूर्ण है | यह आपके लिए क्या करता है |
|-------------|---------------------|-------------------------|
| **Description** | पहला प्रभाव महत्वपूर्ण है! | लोग तुरंत जानते हैं आपका प्रोजेक्ट क्या करता है |
| **README** | आपके प्रोजेक्ट का मुखपृष्ठ | नए आगंतुकों के लिए एक मैत्रीपूर्ण मार्गदर्शक की तरह |
| **Contributing Guidelines** | दिखाता है कि आप मदद का स्वागत करते हैं | लोग जानते हैं कि वे कैसे आपकी मदद कर सकते हैं |
| **Code of Conduct** | एक मैत्रीपूर्ण स्थान बनाता है | सभी प्रतिभागियों को स्वागत महसूस होता है |
| **License** | कानूनी स्पष्टता | अन्य लोग जानते हैं वे आपके कोड का कैसे उपयोग कर सकते हैं |
| **Security Policy** | दिखाता है कि आप जिम्मेदार हैं | पेशेवर प्रथाओं का प्रदर्शन करता है |
> 💡 **प्रो टिप**: GitHub इन सभी फाइलों के लिए टेम्पलेट्स प्रदान करता है। नई रिपॉजिटरी बनाते समय, इन फाइलों को स्वचालित रूप से बनाने के लिए बॉक्स चेक करें।
**आधुनिक GitHub फीचर्स जिन्हें एक्सप्लोर करें:**
🤖 **स्वचालन और CI/CD:**
- **GitHub Actions** स्वचालित परीक्षण और तैनाती के लिए
- **Dependabot** स्वचालित निर्भरता अपडेट के लिए
💬 **समुदाय और परियोजना प्रबंधन:**
- **GitHub Discussions** मुद्दों से परे समुदाय बातचीत के लिए
- **GitHub Projects** कानबन-शैली परियोजना प्रबंधन के लिए
- **Branch protection rules** कोड गुणवत्ता मानकों को लागू करने के लिए
ये सभी संसाधन नए टीम सदस्यों के ऑन-बोर्डिंग में मदद करते हैं। और आमतौर पर नए योगदानकर्ता यहां देखते हैं कि आपकी रिपॉजिटरी उनके लिए सही जगह है या नहीं, इससे पहले कि वे आपका कोड देखें।
✅ README फ़ाइलें, जिन्हें तैयार करने में समय लगता है, अक्सर व्यस्त मेंटेनर्स द्वारा नज़रअंदाज़ कर दी जाती हैं। क्या आप कोई खासतौर पर विवरणपूर्ण README पा सकते हैं? नोट: कुछ [उपकरण अच्छे README बनाने में मदद करते हैं](https://www.makeareadme.com/) जिन्हें आप आज़मा सकते हैं।
### कार्य: कुछ कोड मर्ज करें
योगदान दस्तावेज़ लोगों को प्रोजेक्ट में योगदान करने में मदद करते हैं। यह बताता है कि आप किस प्रकार के योगदान की तलाश कर रहे हैं और प्रक्रिया कैसे काम करती है। योगदानकर्ताओं को आपके GitHub रिपो में योगदान करने में सक्षम होने के लिए एक श्रृंखला चरणों से गुजरना होगा:
Contributing docs लोगों को प्रोजेक्ट में योगदान करने में मदद करती हैं। यह बताती है कि आप किस प्रकार के योगदान की तलाश में हैं और प्रक्रिया कैसे काम करती है। योगदानकर्ता GitHub पर आपकी रिपॉजिटरी में योगदान करने के लिए निम्नलिखित चरणों से गुजरने होंगे:
1. **आपके रिपो को फोर्क करना**। आप शायद चाहेंगे कि लोग आपके प्रोजेक्ट को _फोर्क_ करें। फोर्क करने का मतलब है कि आपकी रिपॉजिटरी की एक प्रतिकृति उनके GitHub प्रोफ़ाइल पर बनाई जाए।
1. **क्लोन**। वहां से वे प्रोजेक्ट को अपने स्थानीय मशीन पर क्लोन करेंगे।
1. **एक ब्रांच बनाएं**। आप चाहेंगे कि वे अपने काम के लिए एक _ब्रांच_ बनाएं।
1. **अपना बदलाव एक क्षेत्र पर केंद्रित करें**। योगदानकर्ताओं से एक समय में एक चीज़ पर ध्यान केंद्रित करने के लिए कहें - इस तरह उनके काम को _मर्ज_ करने की संभावना अधिक होती है। कल्पना करें कि उन्होंने एक बग फिक्स लिखा, एक नई सुविधा जोड़ी, और कई परीक्षण अपडेट किए - क्या होगा अगर आप 3 में से केवल 2 या 1 बदलाव लागू करना चाहते हैं या कर सकते हैं?
✅ ऐसी स्थिति की कल्पना करें जहां ब्रांच अच्छे कोड लिखने और शिप करने में विशेष रूप से महत्वपूर्ण हों। आप किन उपयोग मामलों के बारे में सोच सकते हैं?
1. **अपने रिपॉजिटरी को Fork करना** आप चाहते होंगे कि लोग आपका प्रोजेक्ट _fork_ करें। Forking का मतलब है आपके रिपॉजिटरी की एक प्रतिलिपि उनके GitHub प्रोफाइल पर बनाना।
1. **Clone करें**। वहां से वे प्रोजेक्ट को अपनी स्थानीय मशीन पर क्लोन करेंगे।
1. **एक शाखा बनाएं**। आप चाहेंगे कि वे अपने काम के लिए एक _branch_ बनाएं।
1. **अपने बदलावों को एक क्षेत्र पर केंद्रित करें**। योगदानकर्ताओं से कहें कि वे अपनी योगदानों को एक समय में एक विषय पर केंद्रित करें - ऐसा करने से आपकी संभावना बढ़ती है कि आप उनके काम को _merge_ कर सकेंगे। कल्पना करें कि उन्होंने एक बग फिक्स लिखा, एक नया फीचर जोड़ा, और कई टेस्ट अपडेट किए - अगर आप 3 में से केवल 2 या 1 को ही लागू कर सकें तो क्या होगा?
> नोट, वह बदलाव बनें जो आप दुनिया में देखना चाहते हैं, और अपने काम के लिए ब्रांच बनाएं। आपके द्वारा किए गए किसी भी कमिट उस ब्रांच पर किए जाएंगे जिस पर आप वर्तमान में "चेक आउट" हैं। `git status` का उपयोग करें यह देखने के लिए कि वह कौन सी ब्रांच है।
✅ ऐसी स्थिति की कल्पना करें जहां शाखाएं अच्छी कोड लिखने और प्रसारित करने में विशेष रूप से महत्वपूर्ण हों। आप किन उपयोग मामलों के बारे में सोच सकते हैं?
आइए एक योगदानकर्ता वर्कफ़्लो से गुजरें। मान लें कि योगदानकर्ता ने पहले ही रिपो को _फोर्क_ और _क्लोन_ कर लिया है ताकि उनके पास एक Git रिपो हो जिस पर वे अपने स्थानीय मशीन पर काम कर सकें:
> ध्यान दें, आप दुनिया में वह बदलाव बनें जो आप देखना चाहते हैं, और अपने काम के लिए भी शाखाएं बनाएं। कोई भी कमिट आप करते हैं, वह उस शाखा में होगा जिस पर आप वर्तमान में "चेक आउट" हैं। यह देखने के लिए `git status` का उपयोग करें कि वह कौन सी शाखा है।
1. **एक ब्रांच बनाएं**। `git branch` कमांड का उपयोग करें एक ब्रांच बनाने के लिए जिसमें वे बदलाव करेंगे:
आइए योगदानकर्ता वर्कफ़्लो से गुजरें। मान लीजिए योगदानकर्ता ने पहले ही अपने रिपॉजिटरी को _fork_ और _clone_ कर लिया है ताकि उनके पास स्थानीय मशीन पर काम करने के लिए Git रिपॉजिटरी हो:
1. **एक शाखा बनाएं**। उस शाखा को बनाने के लिए `git branch` कमांड का उपयोग करें जिसमें वे योगदान करना चाहते हैं:
```bash
git branch [branch-name]
```
1. **कार्य ब्रांच पर स्विच करें**। निर्दिष्ट ब्रांच पर स्विच करें और `git switch` का उपयोग करके कार्य निर्देशिका को अपडेट करें:
> 💡 **आधुनिक तरीका**: आप एक ही कमांड में नई शाखा बना सकते हैं और स्विच भी कर सकते हैं:
```bash
git switch -c [branch-name]
```
1. **वर्किंग शाखा पर स्विच करें**। निर्दिष्ट शाखा पर स्विच करें और कार्य निर्देशिका अपडेट करें `git switch` के साथ:
```bash
git switch [branch-name]
```
1. **काम करें**। इस बिंदु पर आप अपने बदलाव जोड़ना चाहते हैं। Git को इसके बारे में बताना न भूलें निम्नलिखित कमांड का उपयोग करके:
> 💡 **आधुनिक नोट**: `git switch` शाखाएं बदलने के लिए `git checkout` का आधुनिक विकल्प है। यह शुरुआती लोगों के लिए स्पष्ट और सुरक्षित है।
1. **काम करें**। इस बिंदु पर आप अपने बदलाव जोड़ना चाहते हैं। Git को इसके बारे में बताना न भूलें निम्न कमांड्स के साथ:
```bash
git add .
git commit -m "my changes"
```
सुनिश्चित करें कि आप अपने कमिट को एक अच्छा नाम दें, आपके लिए और उस रिपो के मेंटेनर के लिए जिस पर आप मदद कर रहे हैं।
> ⚠️ **कमिट संदेश की गुणवत्ता**: सुनिश्चित करें कि आप अपने कमिट को एक अच्छा नाम दें, अपने और उस रिपॉजिटरी के मेंटेनर के लिए जिसकी आप मदद कर रहे हैं। जो बदला है उसमें विशिष्ट रहें!
1. **अपने काम को `main` ब्रांच के साथ मिलाएं**। किसी बिंदु पर आप काम पूरा कर लेते हैं और आप अपने काम को `main` ब्रांच के साथ मिलाना चाहते हैं। इस बीच `main` ब्रांच बदल सकती है इसलिए सुनिश्चित करें कि आप पहले इसे निम्नलिखित कमांड के साथ नवीनतम में अपडेट करें:
1. **अपने काम को `main` शाखा के साथ मिलाएं**। कुछ समय बाद आपका काम पूरा हो जाता है और आप इसे `main` शाखा के साथ मिलाना चाहते हैं। इस बीच `main` शाखा बदल चुकी हो सकती है इसलिए पहले इसे नवीनतम बनाएँ इस तरह:
```bash
git switch main
git pull
```
इस बिंदु पर आप यह सुनिश्चित करना चाहते हैं कि कोई भी _संघर्ष_, ऐसी स्थिति जहां Git आसानी से _मिलाने_ में असमर्थ है, आपके कार्य ब्रांच में होता है। इसलिए निम्नलिखित कमांड चलाएं:
इस बिंदु पर आप यह सुनिश्चित करना चाहते हैं कि आपकी कार्य शाखा में कोई भी _conflict_, ऐसी स्थिति जहां Git आसानी से बदलावों को _combine_ नहीं कर सकता, हो। इसलिए निम्नलिखित कमांड्स चलाएं:
```bash
git switch [branch_name]
git merge main
```
`git merge main` कमांड `main` से सभी बदलावों को आपकी ब्रांच में लाएगा। उम्मीद है कि आप बस जारी रख सक हैं। यदि नहीं, तो VS Code आपको बताएगा कि Git _कंफ्यूज_ है और आप प्रभावित फाइलों को बदलकर यह बता सकते हैं कि कौन सी सामग्री सबसे सटीक है
`git merge main` कमांड आपके शाखा में `main` से सभी बदलाव लाएगा। उम्मीद है आप बस जारी रख सकेंगे। यदि नहीं, तो VS Code आपको बताएगा कि Git कहाँ _confused_ है और आप प्रभावित फ़ाइलों को संशोधित कर सही सामग्री चुन सकते हैं
किसी अन्य ब्रांच पर स्विच करने के लिए, आधुनिक `git switch` कमांड का उपयोग करें:
💡 **आधुनिक विकल्प**: एक साफ़ इतिहास के लिए `git rebase` का उपयोग करने पर विचार करें:
```bash
git switch [branch_name]
git rebase main
```
यह आपकी कमिट्स को नवीनतम main शाखा के शीर्ष पर पुनः चलाता है, एक रैखिक इतिहास बनाता है।
1. **अपना काम GitHub पर भेजें**। अपना काम GitHub पर भेजने का मतलब दो चीजें हैं। अपनी ब्रांच को अपने रिपो पर पुश करना और फिर एक PR, Pull Request खोलना।
1. **अपना काम GitHub पर भेजें**। अपना काम GitHub पर भेजने का मतलब है अपनी शाखा को अपने रिपॉजिटरी पर पुश करना और फिर एक PR, पुल रिक्वेस्ट खोलना।
```bash
git push --set-upstream origin [branch-name]
```
ऊपर दिया गया कमांड आपकी फोर्क की गई रिपो पर ब्रांच बनाता है।
1. **PR खोलें**। अगला कदम है PR खोलना। इसके लिए GitHub पर फोर्क किए गए रिपॉजिटरी पर जाएं। GitHub पर आपको एक संकेत मिलेगा जहां पूछा जाएगा कि क्या आप नया PR बनाना चाहते हैं। उस पर क्लिक करें और आप एक इंटरफ़ेस पर पहुंचेंगे जहां आप कमिट मैसेज का शीर्षक बदल सकते हैं और उसे एक उपयुक्त विवरण दे सकते हैं। अब जिस रिपॉजिटरी को आपने फोर्क किया है, उसका मेंटेनर इस PR को देखेगा और _उम्मीद है_ कि वे इसे सराहेंगे और _मर्ज_ करेंगे। अब आप एक योगदानकर्ता बन गए हैं, वाह! :)
उपरोक्त कमांड आपकी फोर्क किए गए रिपॉजिटरी पर शाखा बनाता है।
### 🤝 **सहयोग कौशल जांच: दूसरों के साथ काम करने के लिए तैयार?**
**आइए देखें कि सहयोग के प्रति आपकी भावना क्या है:**
- क्या अब फोर्किंग और पुल रिक्वेस्ट का विचार आपके लिए स्पष्ट है?
- शाखाओं के साथ काम करने में कौन-सी एक चीज़ है जिसे आप और अभ्यास करना चाहते हैं?
- किसी और के प्रोजेक्ट में योगदान देने को लेकर आप कितना सहज महसूस करते हैं?
```mermaid
mindmap
root((Git Collaboration))
Branching
Feature branches
Bug fix branches
Experimental work
Pull Requests
Code review
Discussion
Testing
Best Practices
स्पष्ट कमिट संदेश
छोटे केंद्रित परिवर्तन
अच्छा दस्तावेज़ीकरण
```
> **आत्मविश्वास बढ़ाएँ**: हर एक डेवलपर जिसे आप प्रशंसा करते हैं, पहली पुल रिक्वेस्ट को लेकर कभी नर्वस था। GitHub समुदाय नवागंतुकों के लिए बेहद स्वागत योग्य है!
1. **एक PR खोलें**। अगला, आप एक PR खोलना चाहते हैं। आप ऐसा GitHub पर फोर्क किए गए रिपॉजिटरी पर जाकर करते हैं। GitHub पर आपको एक संकेत मिलेगा कि क्या आप नया PR बनाना चाहते हैं, आप उस पर क्लिक करते हैं और आपको एक इंटरफ़ेस मिलता है जहाँ आप कमिट संदेश का शीर्षक बदल सकते हैं, इसे अधिक उपयुक्त विवरण दे सकते हैं। अब रिपॉजिटरी के मेंटेनर जिन्हें आपने फोर्क किया है वह इस PR को देखेंगे और _उम्मीद है_ वे इसे सराहेंगे और आपकी PR को _merge_ करेंगे। आप अब एक योगदानकर्ता हैं, याय :)
💡 **आधुनिक टिप**: आप GitHub CLI का उपयोग करके भी PR बना सकते हैं:
```bash
gh pr create --title "Your PR title" --body "Description of changes"
```
1. **सफाई करें**। यह अच्छा अभ्यास माना जाता है कि PR सफलतापूर्वक मर्ज होने के बाद आप _सफाई_ करें। आपको अपने लोकल ब्रांच और GitHub पर पुश किए गए ब्रांच दोनों को साफ करना चाहिए। पहले इसे लोकल से हटाने के लिए निम्नलिखित कमांड का उपयोग करें:
🔧 **PR के लिए सर्वश्रेष्ठ प्रथाएं**:
- "Fixes #123" जैसे कीवर्ड्स का उपयोग करके संबंधित इश्यूज लिंक करें
- UI बदलावों के लिए स्क्रीनशॉट जोड़ें
- विशिष्ट समीक्षकों को अनुरोध करें
- प्रगति में कार्य के लिए ड्राफ्ट PR का उपयोग करें
- समीक्षा के लिए अनुरोध करने से पहले सभी CI जांचें सफल करें
1. **साफ़-सफ़ाई करें**। एक PR को सफलतापूर्वक मर्ज करने के बाद _साफ़-सफ़ाई_ करना एक अच्छा अभ्यास माना जाता है। आप अपने लोकल ब्रांच और उस ब्रांच को जो आपने GitHub पर पुश किया है, दोनों की साफ़-सफ़ाई करना चाहेंगे। पहले नीचे दिए गए कमांड के साथ इसे लोकल में हटाएं:
```bash
git branch -d [branch-name]
```
इसके बाद GitHub पर फोर्क किए गए रिपॉजिटरी के पेज पर जाएं और उस रिमोट ब्रांच को हटा दें जिसे आपने अभी पुश किया है।
सुनिश्चित करें कि आप अगले GitHub पेज पर जाकर उस रिमोट ब्रांच को हटा दें जिसे आपने अभी पुश किया है।
`Pull request` एक अजीब सा शब्द लगता है क्योंकि वास्तव में आप अपनी परियोजना में बदलाव पुश करना चाहते हैं। लेकिन मेंटेनर (परियोजना मालिक) या कोर टीम को आपके बदलावों पर विचार करना होता है, इससे पहले कि वे इसे परियोजना की "मुख्य" ब्रांच में मर्ज करें। इसलिए आप वास्तव में मेंटेनर से बदलाव का निर्णय मांग रहे हैं।
`पुल रिक्वेस्ट` एक अजीब शब्द लगता है क्योंकि असल में आप अपने बदलावों को परियोजना में पुश करना चाहते हैं। लेकिन मैनटेनर (परियोजना मालिक) या मुख्य टीम को आपके बदलावों पर विचार करना होता है इससे पहले कि वे इसे परियोजना की "मुख्य" ब्रांच के साथ मर्ज करें, इसलिए आप वास्तव में मैनटेनर से परिवर्तन निर्णय का अनुरोध कर रहे हैं।
Pull request वह स्थान है जहां आप ब्रांच पर किए गए बदलावों की तुलना और चर्चा कर सकते हैं, जिसमें रिव्यू, टिप्पणियां, इंटीग्रेटेड टेस्ट और अन्य चीजें शामिल हैं। एक अच्छा Pull request लगभग उन्हीं नियमों का पालन करता है जो एक कमिट मैसेज करता है। आप इश्यू ट्रैकर में किसी इश्यू का संदर्भ जोड़ सकते हैं, उदाहरण के लिए जब आपका काम किसी इश्यू को ठीक करता है। इसे `#` के बाद इश्यू नंबर का उपयोग करके किया जाता है। उदाहरण: `#97`
एक पुल रिक्वेस्ट वह जगह है जहां किसी ब्रांच पर किए गए अंतर की तुलना और चर्चा होती है समीक्षा, टिप्पणियाँ, इंटीग्रेटेड टेस्ट और अन्य चीज़ों के साथ। एक अच्छी पुल रिक्वेस्ट लगभग उसी नियम का पालन करती है जो एक कमिट संदेश करता है। आप इश्यू ट्रैकर में किसी इश्यू का संदर्भ जोड़ सकते हैं, जब आपका काम उदाहरण के लिए किसी इश्यू को ठीक करता है। यह `#` के बाद आपके इश्यू का नंबर डालकर किया जाता है। उदाहरण के लिए `#97`
🤞उम्मीद है कि सभी चेक पास हो जाएं और परियोजना मालिक आपके बदलावों को परियोजना में मर्ज कर दें🤞
🤞उम्मीद है कि सभी चेक पास हों और परियोजना के मालिक आपके बदलावों को परियोजना में मर्ज कर दें🤞
अपने वर्तमान लोकल वर्किंग ब्रांच को GitHub पर संबंधित रिमोट ब्रांच से सभी नए कमिट्स के साथ अपडेट करें:
`git pull`
## ओपन सोर्स में योगदान कैसे करें
## ओपन सोर्स में योगदान करना (आपका मौका प्रभाव डालने का!)
क्या आप कुछ ऐसा करने के लिए तैयार हैं जो आपके दिमाग को पूरी तरह हिला देगा? 🤯 आइए बात करते हैं ओपन सोर्स परियोजनाओं में योगदान करने की और इस बारे में सोचकर ही मुझे रोमांच हो रहा है कि मैं यह आपके साथ साझा कर रहा हूँ!
यह आपका मौका है कुछ सचमुच असाधारण का हिस्सा बनने का। कल्पना करें उन टूल्स को बेहतर बनाने की जिन्हें लाखों डेवलपर्स हर दिन उपयोग करते हैं, या एक ऐसी ऐप में बग ठीक करने की जिसे आपके दोस्त पसंद करते हैं। यह सिर्फ एक सपना नहीं है यही तो ओपन सोर्स योगदान का असली मतलब है!
पहले, GitHub पर एक रिपॉजिटरी (या **repo**) खोजें जो आपको रुचिकर लगे और जिसमें आप बदलाव करना चाहते हैं। आप इसकी सामग्री को अपनी मशीन पर कॉपी करना चाहेंगे।
जो चीज मुझे हर बार रोमांचित करती है जब मैं इसके बारे में सोचता हूँ: हर वो टूल जिसे आपने सीखना शुरू किया आपका कोड एडिटर, जिन फ्रेमवर्क्स की हम खोज करेंगे, यहां तक कि आपका ब्राउज़र जिसमें आप यह पढ़ रहे हैं यह सब किसी ऐसे व्यक्ति के साथ शुरू हुआ जिसने आपकी तरह अपना पहला योगदान दिया। वह प्रतिभाशाली डेवलपर जिसने आपका पसंदीदा VS Code एक्सटेंशन बनाया? वे भी एक बार शुरुआती थे जो "create pull request" पर कंपकंपाते हाथों से क्लिक कर रहे थे, बिल्कुल जैसे आप करने वाले हैं
✅ 'शुरुआती-अनुकूल' रिपॉजिटरी खोजने का एक अच्छा तरीका है [टैग 'good-first-issue' द्वारा खोज करना](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/)।
और ये सबसे खूबसूरत हिस्सा है: ओपन सोर्स समुदाय इंटरनेट की सबसे बड़ी गले लगाने वाली जमात की तरह है। अधिकांश प्रोजेक्ट्स सक्रिय रूप से नए लोगों की तलाश करते हैं और उनके पास "good first issue" टैग के साथ विशेष चिह्नित इश्यू होते हैं जो आपके जैसे लोगों के लिए होते हैं! मैनटेनर्स सचमुच उत्साहित हो जाते हैं जब वे नए योगदानकर्ताओं को देखते हैं क्योंकि उन्हें अपनी पहली शुरुआत याद आती है
![रिपॉजिटरी को लोकल कॉपी करें](../../../../translated_images/clone_repo.5085c48d666ead57664f050d806e325d7f883be6838c821e08bc823ab7c66665.hi.png)
```mermaid
flowchart TD
A[🔍 GitHub एक्सप्लोर करें] --> B[🏷️ "good first issue" खोजें]
B --> C[📖 योगदान दिशानिर्देश पढ़ें]
C --> D[🍴 रिपॉजिटरी फोर्क करें]
D --> E[💻 स्थानीय परिवेश सेट अप करें]
E --> F[🌿 फीचर ब्रांच बनाएं]
F --> G[✨ अपना योगदान करें]
G --> H[🧪 अपने बदलावों का परीक्षण करें]
H --> I[📝 स्पष्ट कमिट लिखें]
I --> J[📤 पुश करें और PR बनाएं]
J --> K[💬 प्रतिक्रिया के साथ जुड़ें]
K --> L[🎉 मर्ज हो गया! आप एक योगदानकर्ता हैं!]
L --> M[🌟 अगला इश्यू खोजें]
style A fill:#e1f5fe
style L fill:#c8e6c9
style M fill:#fff59d
```
यहाँ आप सिर्फ कोड सीख ही नहीं रहे - आप उन बिल्डर्स के वैश्विक परिवार में शामिल होने की तैयारी कर रहे हैं जो रोज़ सुबह उठकर सोचते हैं "डिजिटल दुनिया को थोड़ा बेहतर कैसे बनाया जाए?" क्लब में आपका स्वागत है! 🌟
कोड कॉपी करने के कई तरीके हैं। एक तरीका है रिपॉजिटरी की सामग्री को "क्लोन" करना, HTTPS, SSH, या GitHub CLI (कमांड लाइन इंटरफ़ेस) का उपयोग करके।
सबसे पहले, आइए GitHub पर अपनी रुचि के अनुसार कोई रिपॉजिटरी (या **repo**) खोजें जिसमें आप बदलाव का योगदान देना चाहते हैं। आप इसके कंटेंट को अपनी मशीन पर कॉपी करना चाहेंगे।
अपना टर्मिनल खोलें और रिपॉजिटरी को इस तरह क्लोन करें:
`git clone https://github.com/ProjectURL`
✅ 'beginner-friendly' रिपॉजिटरी खोजने का एक अच्छा तरीका है [good-first-issue टैग से खोजें](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/)।
परियोजना पर काम करने के लिए, सही फ़ोल्डर पर स्विच करें:
![Copy a repo locally](../../../../translated_images/clone_repo.5085c48d666ead57.hi.png)
कोड कॉपी करने के कई तरीके हैं। एक तरीका है रिपॉजिटरी के कंटेंट को "क्लोन" करना, HTTPS, SSH, या GitHub CLI (कमांड लाइन इंटरफ़ेस) का उपयोग करके।
अपना टर्मिनल खोलें और इस तरह रिपॉजिटरी क्लोन करें:
```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`
आप पूरे प्रोजेक्ट को [Codespaces](https://github.com/features/codespaces), GitHub का एम्बेडेड कोड एडिटर / क्लाउड डेवलपमेंट एनवायरनमेंट, या [GitHub Desktop](https://desktop.github.com/) का उपयोग करके भी खोल सकते हैं।
आप पूरे प्रोजेक्ट को भी खोल सकते हैं:
- **[GitHub Codespaces](https://github.com/features/codespaces)** - ब्राउज़र में VS Code के साथ GitHub का क्लाउड विकास वातावरण
- **[GitHub Desktop](https://desktop.github.com/)** - Git संचालन के लिए GUI ऐप्लिकेशन
- **[GitHub.dev](https://github.dev)** - किसी भी GitHub रिपॉजिटरी में `.` की दबाकर ब्राउज़र में VS Code खोलें
- VS Code साथ GitHub Pull Requests एक्सटेंशन
अंत में, आप कोड को ज़िप फ़ोल्डर में डाउनलोड कर सकते हैं।
अंत में, आप कोड को ज़िप फ़ोल्डर में डाउनलोड भी कर सकते हैं।
### GitHub के बारे में कुछ और रोचक बातें
### GitHub के बारे में कुछ और दिलचस्प बातें
आप GitHub पर किसी भी सार्वजनिक रिपॉजिटरी को स्टार, वॉच और/या "फोर्क" कर सकते हैं। आप अपने स्टार किए गए रिपॉजिटरी को टॉप-राइट ड्रॉप-डाउन मेनू में पा सकते हैं। यह कोड के लिए बुकमार्किंग जैसा है।
आप GitHub पर किसी भी सार्वजनिक रिपॉजिटरी को स्टार, वॉच और/या "फोर्क" कर सकते हैं। आप अपनी स्टार की हुई रिपॉजिटरीज टॉप-राइट ड्रॉपडाउन मेनू में पा सकते हैं। यह बुकमार्किंग की तरह है, केवल कोड के लिए
परियोजनाओं में एक इश्यू ट्रैकर होता है, ज्यादातर GitHub पर "Issues" टैब में जब तक अन्यथा संकेत न दिया गया हो, जहां लोग परियोजना से संबंधित मुद्दों पर चर्चा करते हैं। और Pull Requests टैब वह जगह है जहां लोग प्रगति में बदलावों पर चर्चा और समीक्षा करते हैं।
्रोजेक्ट्स में इश्यू ट्रैकर होता है, ज्यादातर GitHub पर "Issues" टैब में जब तक कि कहीं और उल्लेख न हो, जहां लोग प्रोजेक्ट से संबंधित मुद्दों पर चर्चा करते हैं। और Pull Requests टैब जहां लोग प्रगति पर परिवर्तन पर चर्चा और समीक्षा करते हैं।
परियोजनाओं में चर्चा फोरम, मेलिंग लिस्ट, या चैट चैनल जैसे Slack, Discord या IRC में भी हो सकती है।
्रोजेक्ट्स में फोरम, मेलिंग लिस्ट, या Slack, Discord या IRC जैसे चैट चैनल भी हो सकते हैं
✅ अपने नए GitHub रिपॉजिटरी के चारों ओर एक नज़र डालें और कुछ चीजें आज़माएं, जैसे सेटिंग्स संपादित करना, अपने रिपॉजिटरी में जानकारी जोड़ना, और एक प्रोजेक्ट बनाना (जैसे कि Kanban बोर्ड)। आप बहुत कुछ कर सकते हैं!
🔧 **आधुनिक GitHub सुविधाएं**:
- **GitHub Discussions** - समुदाय वार्तालाप के लिए इन-बिल्ट फोरम
- **GitHub Sponsors** - मैनटेनर्स को वित्तीय सहायता
- **सिक्योरिटी टैब** - कमजोरियों की रिपोर्ट और सुरक्षा सलाह
- **Actions टैब** - स्वचालित वर्कफ़्लो और CI/CD पाइपलाइन देखें
- **Insights टैब** - योगदानकर्ताओं, कमिट्स और प्रोजेक्ट स्वास्थ्य के बारे में विश्लेषण
- **Projects टैब** - GitHub के इन-बिल्ट प्रोजेक्ट प्रबंधन उपकरण
✅ अपने नए GitHub रिपॉजिटरी के आसपास देखें और कुछ चीज़ें आज़माएं, जैसे सेटिंग्स संपादित करना, अपने रिपॉजिटरी में जानकारी जोड़ना, एक प्रोजेक्ट बनाना (जैसे कानबन बोर्ड), और ऑटोमेशन के लिए GitHub Actions सेटअप करना। आप बहुत कुछ कर सकते हैं!
---
## 🚀 चुनौती
## 🚀 चुनौती
ठीक है, अब अपने नए शानदार GitHub सुपरपावर का परीक्षण करने का समय है! 🚀 यहाँ एक चुनौती है जो हर चीज़ को सबसे संतोषजनक तरीके से समझने में मदद करेगी:
अपना कोई दोस्त (या वह परिवार का सदस्य जो हमेशा पूछता रहता है कि आप इस सारे "कंप्यूटर के काम" के साथ क्या कर रहे हैं) लें और मिलकर एक सहयोगी कोडिंग साहसिक कार्य पर निकलें! यहीं असली जादू होता है एक प्रोजेक्ट बनाएं, उन्हें इसे फोर्क करने दें, कुछ ब्रांच बनाएं, और जैसे प्रो बनते जा रहे हैं, बदलाव मर्ज करें।
एक दोस्त के साथ मिलकर एक-दूसरे के कोड पर काम करें। एक प्रोजेक्ट को सहयोगात्मक रूप से बनाएं, कोड फोर्क करें, ब्रांच बनाएं, और बदलाव मर्ज करें।
मैं झूठ नहीं बोलूंगा आप शायद किसी बिंदु पर हँसेंगे (खासकर जब आप दोनों एक ही लाइन को बदलने की कोशिश करेंगे), शायद उलझन में सिर पकड़ेंगे, लेकिन आपको निश्चित रूप से वह अद्भुत "आहा!" क्षण मिलेंगे जो सारी सीखने की मेहनत को सार्थक बनाते हैं। साथ ही, किसी और के साथ पहला सफल मर्ज शेयर करने का कुछ खास ही मज़ा होता है यह आपकी प्रगति का एक छोटा जश्न होता है!
अभी तक आपके पास कोडिंग साथी नहीं है? चिंता मत करें! GitHub समुदाय बेहद स्वागतयोग्य लोगों से भरा है जो जानता है कि नए होने का अनुभव कैसा होता है। "good first issue" लेबल वाले रिपॉजिटरी देखें वे मूलतः कह रहे हैं "अरे शुरुआती लोग, हमारे साथ सीखो!" कितना अद्भुत है यह?
## पोस्ट-लेक्चर क्विज़
[पोस्ट-लेक्चर क्विज़](https://ff-quizzes.netlify.app/web/en/)
[Post-lecture quiz](https://ff-quizzes.netlify.app/web/en/)
## समीक्षा और सीखते रहें
## समीक्षा और स्व-अध्ययन
वाह! 🎉 देखिए तो आपको आपने GitHub के मूल सिद्धांतों को एकदम शान से सीख लिया! अगर आपका दिमाग अभी थोड़ा भरा हुआ महसूस हो रहा है, तो यह पूरी तरह सामान्य है और वास्तव में अच्छा संकेत भी है। आपने अभी ऐसे उपकरण सीखे हैं जिन्हें सीखने में मुझे हफ्तों लगे थे जब मैंने शुरू किया था।
[ओपन सोर्स सॉफ़्टवेयर में योगदान करने के बारे में अधिक पढ़ें](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution)।
Git और GitHub बेहद शक्तिशाली हैं (बहुत ही शक्तिशाली), और मैं जानता हूँ कि हर डेवलपर जिनमें से कई अब जादूगर लगते हैं को अभ्यास करना पड़ा और थोड़े-बहुत फिसलना पड़ा इससे पहले कि सब कुछ समझ में आए। आपने इस पाठ को पूरा कर लिया है इसका मतलब है कि आप डेवलपर की टूलकिट के कुछ सबसे महत्वपूर्ण उपकरणों में महारत हासिल करने की राह पर हैं।
[Git चीटशीट](https://training.github.com/downloads/github-git-cheat-sheet/)।
यहाँ कुछ बेहतरीन संसाधन हैं जो आपकी प्रैक्टिस में मदद करेंगे और आपको और भी शानदार बनाएंगे:
अभ्यास करें, अभ्यास करें, अभ्यास करें। GitHub के पास [skills.github.com](https://skills.github.com) के माध्यम से शानदार लर्निंग पाथ उपलब्ध हैं:
- [ओपन सोर्स सॉफ़्टवेयर में योगदान करने के लिए गाइड](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) फर्क डालने का आपका रोडमैप
- [Git चीटशीट](https://training.github.com/downloads/github-git-cheat-sheet/) त्वरित संदर्भ के लिए उपयोगी!
- [GitHub पर पहला सप्ताह](https://skills.github.com/#first-week-on-github)
और याद रखें: अभ्यास से प्रगति होती है, पूर्णता से नहीं! जितना अधिक आप 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/) जब आप कमांड-लाइन विज़ार्ड जैसा महसूस करना चाहें
- [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 एजेंट चुनौती 🚀
एजेंट मोड का उपयोग करके निम्न चुनौती पूरी करें:
**विवरण:** एक सहकारी वेब विकास प्रोजेक्ट बनाएं जो इस पाठ में सीखे गए GitHub वर्कफ़्लो को पूरी तरह से प्रदर्शित करता है। यह चुनौती आपको रिपॉजिटरी निर्माण, सहयोगी फीचर्स, और आधुनिक Git वर्कफ़्लोज़ का व्यावहारिक अभ्यास कराएगी।
**प्रॉम्प्ट:** एक सरल "वेब विकास संसाधन" प्रोजेक्ट के लिए नई सार्वजनिक GitHub रिपॉजिटरी बनाएँ। रिपॉजिटरी में एक सुव्यवस्थित README.md फाइल शामिल हो जिसमें उपयोगी वेब विकास उपकरण और संसाधनों की सूची हो, अलग-अलग श्रेणियों (HTML, CSS, JavaScript, आदि) में व्यवस्थित। रिपॉजिटरी को उचित समुदाय मानकों के साथ सेटअप करें जिसमें लाइसेंस, सहयोग दिशानिर्देश, और आचार संहिता शामिल हो। कम से कम दो फीचर ब्रांच बनाएं: एक CSS संसाधन जोड़ने के लिए और दूसरी JavaScript संसाधन के लिए। प्रत्येक ब्रांच में वर्णनात्मक कमिट मैसेज के साथ कमिट करें, फिर परिवर्तनों को मुख्य शाखा में मर्ज करने के लिए पुल रिक्वेस्ट बनाएं। GitHub सुविधाएं जैसे Issues, Discussions सक्षम करें, और स्वचालित जांचों के लिए एक मूल GitHub Actions वर्कफ़्लो सेटअप करें।
## असाइनमेंट
आपका मिशन, यदि आप स्वीकार करते हैं: GitHub Skills पर [Introduction to GitHub](https://github.com/skills/introduction-to-github) कोर्स पूरा करें। यह इंटरैक्टिव कोर्स आपको सुरक्षित, मार्गदर्शित वातावरण में आपने जो कुछ भी सीखा है उसका अभ्यास करने देगा। और जब आप इसे पूरा करेंगे, तो आपको एक शानदार बैज भी मिलेगा! 🏅
**अधिक चुनौतियों के लिए तैयार?**
- अपने GitHub अकाउंट के लिए SSH प्रमाणीकरण सेट करें (पासवर्ड नहीं!)
- दैनिक Git ऑपरेशंस के लिए GitHub CLI का उपयोग करें
- एक GitHub Actions वर्कफ़्लो के साथ रिपॉजिटरी बनाएं
- GitHub Codespaces को क्लाउड-आधारित संपादक में इस रिपॉजिटरी को खोलकर एक्सप्लोर करें
---
[GitHub पर पहला सप्ताह पाठ्यक्रम](https://skills.github.com/#first-week-on-github) पूरा करें।
## 🚀 आपकी GitHub मास्टरी टाइमलाइन
### ⚡ **अगले 5 मिनट में आप क्या कर सकते हैं**
- [ ] इस रिपॉजिटरी को स्टार करें और 3 अन्य परियोजनाओं को भी जो आपको पसंद हों
- [ ] अपने GitHub अकाउंट पर टू-फैक्टर ऑथेंटिकेशन सेट करें
- [ ] अपना पहला सरल README बनाएं
- [ ] 5 डेवलपर्स को फॉलो करें जिनका कार्य आपको प्रेरित करता है
### 🎯 **इस घंटे में आप क्या पूरा कर सकते हैं**
- [ ] पोस्ट-लेक्चर क्विज़ पूरा करें और अपनी GitHub यात्रा पर विचार करें
- [ ] पासवर्ड मुक्त GitHub प्रमाणीकरण के लिए SSH की सेटअप करें
- [ ] एक उत्कृष्ट कमिट संदेश के साथ अपना पहला महत्वपूर्ण कमिट करें
- [ ] GitHub के "Explore" टैब को खोजें और ट्रेंडिंग प्रोजेक्ट्स देखें
- [ ] फोर्क करने और एक छोटा बदलाव करने का अभ्यास करें
### 📅 **आपका सप्ताहभर का GitHub एडवेंचर**
- [ ] GitHub Skills कोर्स (Introduction to GitHub, Markdown) पूरा करें
- [ ] किसी ओपन सोर्स प्रोजेक्ट के लिए अपना पहला पुल रिक्वेस्ट बनाएं
- [ ] अपना कार्य दिखाने के लिए GitHub Pages साइट सेटअप करें
- [ ] प्रोजेक्ट्स पर GitHub Discussions में शामिल हों
- [ ] एक रिपॉजिटरी बनाएँ जिसमें उचित समुदाय मानक हों (README, License, आदि)
- [ ] क्लाउड-आधारित विकास के लिए GitHub Codespaces आज़माएं
### 🌟 **आपका महीने भर का रूपांतरण**
- [ ] 3 विभिन्न ओपन सोर्स प्रोजेक्ट्स में योगदान दें
- [ ] GitHub में नए लोगों को मार्गदर्शन करें (pay it forward!)
- [ ] GitHub Actions के साथ स्वचालित वर्कफ़्लो सेटअप करें
- [ ] अपने GitHub योगदानों को दिखाने वाला एक पोर्टफोलियो बनाएं
- [ ] Hacktoberfest या समान सामुदायिक कार्यक्रमों में भाग लें
- [ ] अपने स्वयं के प्रोजेक्ट का मैनटेनेर बनें जिसमें अन्य लोग योगदान देते हों
### 🎓 **अंतिम GitHub मास्टरी चेक-इन**
**देखिए आपने कितना हासिल किया है:**
- GitHub का उपयोग करते समय आपकी पसंदीदा बात क्या है?
- कौन सा सहयोगी फीचर आपको सबसे ज्यादा उत्साहित करता है?
- आप ओपन सोर्स में योगदान करने को लेकर अब कितना आत्मविश्वासी महसूस करते हैं?
- आप सबसे पहले किस प्रोजेक्ट में योगदान देना चाहते हैं?
```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
```
> 🌍 **वैश्विक डेवलपर समुदाय में आपका स्वागत है!** अब आपके पास मिलियनों डेवलपर्स के साथ सहयोग करने के लिए उपकरण हैं। आपका पहला योगदान शायद छोटा लगे, लेकिन याद रखें - हर बड़ा ओपन सोर्स प्रोजेक्ट किसी ने अपनी पहली कमिट से शुरू किया था। सवाल यह नहीं है कि क्या आप प्रभाव डालेंगे, बल्कि यह है कि आपकी अनूठी दृष्टिकोण से सबसे पहले कौन सा अद्भुत प्रोजेक्ट लाभान्वित होगा! 🚀
याद रखें: हर विशेषज्ञ कभी एक शुरुआती था। आप कर सकते हैं! 💪
---
**अस्वीकरण**:
यह दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता के लिए प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को आधिकारिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**अस्वीकरण**:
इस दस्तावेज़ का अनुवाद AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके किया गया है। जबकि हम सटीकता के लिए प्रयासरत हैं, कृपया ध्यान दें कि स्वचालित अनुवादों में त्रुटियां या गलतियां हो सकती हैं। मूल दस्तावेज़ अपनी मूल भाषा में प्राधिकृत स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए पेशेवर मानव अनुवाद की सलाह दी जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,28 +1,261 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "a258597a194e77d4fd469b3cd976b29e",
"translation_date": "2025-08-24T12:57:28+00:00",
"original_hash": "e6d0f456dfc22afb41bbdefeb5ec179d",
"translation_date": "2026-01-06T17:11:08+00:00",
"source_file": "1-getting-started-lessons/3-accessibility/assignment.md",
"language_code": "hi"
}
-->
# एक असुलभ साइट का विश्लेषण करें
# व्यापक वेबसाइट पहुँच परीक्षण
## निर्देश
ऐसी वेबसाइट की पहचान करें जिसे आप मानते हैं कि वह सुलभ नहीं है और उसकी सुलभता को सुधारने के लिए एक कार्य योजना बनाएं।
आपका पहला कार्य होगा इस साइट की पहचान करना, बिना किसी विश्लेषणात्मक उपकरण का उपयोग किए यह बताना कि यह साइट किस प्रकार असुलभ है, और फिर इसे Lighthouse विश्लेषण में जमा करना।
इस विश्लेषण के परिणामों का एक पीडीएफ कैप्चर करें और एक विस्तृत योजना तैयार करें जिसमें कम से कम दस बिंदु हों, जो यह दिखाएं कि साइट को कैसे सुधारा जा सकता है।
इस असाइनमेंट में, आप एक वास्तविक वेबसाइट का पेशेवर स्तर का एक्सेसिबिलिटी ऑडिट करेंगे, जिसमें आपने सीखे हुए सिद्धांतों और तकनीकों को लागू करेंगे। यह व्यावहारिक अनुभव आपकी पहुँच बाधाओं और समाधानों की समझ को गहरा करेगा।
## साइट सुलभता का परीक्षण करने के लिए तालिका
ऐसी वेबसाइट चुनें जिसमें पहुँच संबंधी समस्याएं प्रतीत होती हों—यह पहले से पूर्ण साइट का विश्लेषण करने की तुलना में अधिक सीखने के अवसर देता है। अच्छे उम्मीदवारों में पुरानी वेबसाइटें, जटिल वेब अनुप्रयोग, या मल्टीमीडिया सामग्री वाली साइटें शामिल हैं।
| मानदंड | उत्कृष्ट | पर्याप्त | सुधार की आवश्यकता |
|--------|----------|----------|--------------------|
| | आवश्यकताओं का <10% | 20% | 50% |
### चरण 1: रणनीतिक मैनुअल मूल्यांकन
----
छात्र रिपोर्ट: इसमें यह शामिल होगा कि साइट कितनी असुलभ है, Lighthouse रिपोर्ट का पीडीएफ, सुधार के लिए दस बिंदुओं की सूची, और उन्हें सुधारने के तरीके के विवरण
स्वचालित उपकरणों का उपयोग करने से पहले, एक व्यापक मैनुअल आकलन करें। यह मानव-केंद्रित दृष्टिकोण अक्सर उन मुद्दों को उजागर करता है जिन्हें उपकरण नजरअंदाज कर देते हैं और आपको वास्तविक उपयोगकर्ता अनुभव समझने में मदद करता है।
**🔍 आवश्यक मूल्यांकन मानदंड:**
**नेविगेशन और संरचना:**
- क्या आप केवल कीबोर्ड (Tab, Shift+Tab, Enter, Space, Arrow keys) का उपयोग करके पूरे साइट पर नेविगेट कर सकते हैं?
- क्या सभी इंटरैक्टिव तत्वों पर फोकस संकेत स्पष्ट रूप से दिखाई देते हैं?
- क्या शीर्षक संरचना (H1-H6) तार्किक सामग्री रूपरेखा बनाती है?
- क्या मुख्य सामग्री पर कूदने के लिए स्किप लिंक मौजूद हैं?
**दृश्य पहुंच:**
- क्या पूरे साइट में पर्याप्त रंग कॉन्ट्रास्ट है (सामान्य टेक्स्ट के लिए न्यूनतम 4.5:1)?
- क्या साइट केवल रंग पर निर्भर करती है महत्वपूर्ण जानकारी देने के लिए?
- क्या सभी छवियों में उपयुक्त वैकल्पिक पाठ (alt text) है?
- क्या लेआउट 200% ज़ूम किए जाने पर भी कार्यात्मक रहता है?
**सामग्री और संचार:**
- क्या कोई "यहाँ क्लिक करें" या अस्पष्ट लिंक टेक्स्ट हैं?
- क्या आप बिना दृश्य संकेतों के सामग्री और कार्यक्षमता को समझ सकते हैं?
- क्या फ़ॉर्म फ़ील्ड उचित रूप से लेबल और समूहीकृत हैं?
- क्या त्रुटि संदेश स्पष्ट और सहायक हैं?
**इंटरैक्टिव तत्व:**
- क्या सभी बटन और फ़ॉर्म नियंत्रण केवल कीबोर्ड से काम करते हैं?
- क्या गतिशील सामग्री में बदलाव स्क्रीन रीडर को सूचित किए जाते हैं?
- क्या मोडल डायलॉग और जटिल विजेट उचित पहुँच पैटर्न का पालन करते हैं?
📝 **अपनी खोजों का दस्तावेजीकरण करें** विशिष्ट उदाहरणों, स्क्रीनशॉट और पृष्ठ URL के साथ। मुद्दों और अच्छा प्रदर्शन दोनों को नोट करें।
### चरण 2: व्यापक स्वचालित परीक्षण
अब उद्योग-मानक पहुंच परीक्षण उपकरणों का उपयोग करके अपने मैनुअल निष्कर्षों की पुष्टि और विस्तार करें। प्रत्येक उपकरण की ताकत अलग होती है, इसलिए कई उपकरणों का उपयोग आपको पूर्ण कवरेज प्रदान करता है।
**🛠️ आवश्यक परीक्षण उपकरण:**
1. **Lighthouse पहुंच ऑडिट** (Chrome/Edge DevTools में अंतर्निहित)
- कई पृष्ठों पर ऑडिट चलाएं
- विशिष्ट मापदंड और सिफारिशों पर ध्यान दें
- अपनी पहुँच स्कोर और विशिष्ट उल्लंघनों को नोट करें
2. **axe DevTools** (ब्राउज़र एक्सटेंशन - उद्योग मानक)
- Lighthouse की तुलना में अधिक विस्तृत समस्या पहचान
- फिक्स के लिए विशिष्ट कोड उदाहरण प्रदान करता है
- WCAG 2.1 मानदंड के विरुद्ध परीक्षण करता है
3. **WAVE वेब एक्सेसिबिलिटी इवैलुएटर** (ब्राउज़र एक्सटेंशन)
- पहुँच सुविधाओं का दृश्य प्रतिनिधित्व
- त्रुटियों और सकारात्मक विशेषताओं दोनों को रेखांकित करता है
- पृष्ठ संरचना को समझने के लिए उत्कृष्ट
4. **रंग कॉन्ट्रास्ट विश्लेषक**
- WebAIM Contrast Checker विशिष्ट रंग जोड़ों के लिए
- पृष्ठ-व्यापी विश्लेषण के लिए ब्राउज़र एक्सटेंशन्स
- WCAG AA और AAA मानकों के विरुद्ध परीक्षण
**🎧 असली सहायक प्रौद्योगिकी परीक्षण:**
- **स्क्रीन रीडर परीक्षण**: NVDA (Windows), VoiceOver (Mac), या TalkBack (Android) का उपयोग करें
- **कीबोर्ड-ओनली नेविगेशन**: अपने माउस को अनप्लग करें और पूरी साइट का नेविगेशन करें
- **ज़ूम परीक्षण**: कार्यक्षमता को 200% और 400% ज़ूम स्तर पर जाँचें
- **वॉइस कंट्रोल परीक्षण**: यदि उपलब्ध हो, तो वॉइस नेविगेशन उपकरण आज़माएं
**📊 अपने परिणामों का आयोजन करें** एक मास्टर स्प्रेडशीट बनाकर:
- समस्या विवरण और स्थान
- गंभीरता स्तर (महत्वपूर्ण/उच्च/मध्यम/निम्न)
- उल्लंघित WCAG सफलता मानदंड
- समस्या पता लगाने वाला उपकरण
- स्क्रीनशॉट और प्रमाण
### चरण 3: व्यापक निष्कर्ष दस्तावेजीकरण
एक पेशेवर एक्सेसिबिलिटी ऑडिट रिपोर्ट तैयार करें जो तकनीकी मुद्दों और उनके मानवीय प्रभाव दोनों की आपकी समझ को दर्शाता हो।
**📋 आवश्यक रिपोर्ट अनुभाग:**
1. **कार्यकारी सारांश** (1 पृष्ठ)
- वेबसाइट URL और संक्षिप्त विवरण
- समग्र एक्सेसिबिलिटी परिपक्वता स्तर
- शीर्ष 3 सबसे महत्वपूर्ण मुद्दे
- विकलांग उपयोगकर्ताओं पर अनुमानित प्रभाव
2. **पद्धति** (½ पृष्ठ)
- परीक्षण दृष्टिकोण और उपयोग किए गए उपकरण
- मूल्यांकन किए गए पृष्ठ और डिवाइस/ब्राउज़र संयोजन
- मूल्यांकन किए गए मानक (WCAG 2.1 AA)
3. **विस्तृत निष्कर्ष** (2-3 पृष्ठ)
- WCAG सिद्धांत (Perceivable, Operable, Understandable, Robust) के अनुसार वर्गीकृत मुद्दे
- स्क्रीनशॉट और विशिष्ट उदाहरण शामिल करें
- पाए गए सकारात्मक एक्सेसिबिलिटी फीचर्स का उल्लेख करें
- स्वचालित उपकरणों के परिणामों के साथ क्रॉस-रेफरेंस करें
4. **उपयोगकर्ता प्रभाव मूल्यांकन** (1 पृष्ठ)
- पहचाने गए मुद्दे विभिन्न अशक्तताओं वाले उपयोगकर्ताओं को कैसे प्रभावित करते हैं
- वास्तविक उपयोगकर्ता अनुभव का वर्णन करने वाले परिदृश्य
- व्यवसाय प्रभाव (कानूनी जोखिम, SEO, उपयोगकर्ता आधार विस्तार)
**📸 साक्ष्य संग्रह:**
- एक्सेसिबिलिटी उल्लंघनों के स्क्रीनशॉट
- समस्या-संपन्न उपयोगकर्ता प्रवाह के स्क्रीन रिकॉर्डिंग
- उपकरण रिपोर्ट (PDF के रूप में सहेजें)
- मुद्दों को दर्शाने वाले कोड उदाहरण
### चरण 4: पेशेवर सुधार योजना
एक रणनीतिक, प्राथमिकता-आधारित योजना विकसित करें एक्सेसिबिलिटी मुद्दों को ठीक करने के लिए। यह दिखाता है कि आप एक पेशेवर वेब डेवलपर की तरह सोचते हैं जो वास्तविक व्यावसायिक प्रतिबंधों को संबोधित करता है।
**🎯 विस्तृत सुधार सिफारिशें बनाएं (न्यूनतम 10 मुद्दे):**
**प्रत्येक पहचाने गए मुद्दे के लिए प्रदान करें:**
- **मुद्दा विवरण**: स्पष्ट व्याख्या कि क्या गलत है और यह क्यों समस्या है
- **WCAG संदर्भ**: उल्लंघित विशिष्ट सफलता मानदंड (जैसे "2.4.4 लिंक उद्देश्य (संदर्भ में) - स्तर A")
- **उपयोगकर्ता प्रभाव**: यह विभिन्न विकलांगताओं वाले लोगों को कैसे प्रभावित करता है
- **समाधान**: विशिष्ट कोड परिवर्तन, डिज़ाइन संशोधन, या प्रक्रिया सुधार
- **प्राथमिकता स्तर**: महत्वपूर्ण (मूल उपयोग को अवरुद्ध करता है) / उच्च (महत्वपूर्ण बाधा) / मध्यम (उपयोग की समस्या) / निम्न (सुधार)
- **कार्यान्वयन प्रयास**: समय/जटिलता का अनुमान (शीघ्र समाधान / मध्यम प्रयास / बड़ा पुनर्गठन)
- **परीक्षण सत्यापन**: कैसे सत्यापित करें कि सुधार काम करता है
**सुधार उदाहरण प्रविष्टि:**
```
Issue: Generic "Read more" link text appears 8 times on homepage
WCAG Reference: 2.4.4 Link Purpose (In Context) - Level A
User Impact: Screen reader users cannot distinguish between links when viewed in link list
Solution: Replace with descriptive text like "Read more about sustainability initiatives"
Priority: High (major navigation barrier)
Effort: Low (30 minutes to update content)
Testing: Generate link list with screen reader - each link should be meaningful standalone
```
**📈 रणनीतिक कार्यान्वयन चरण:**
- **चरण 1 (0-2 सप्ताह)**: बुनियादी कार्यक्षमता अवरुद्ध करने वाले महत्वपूर्ण मुद्दे
- **चरण 2 (1-2 महीने)**: बेहतर उपयोगकर्ता अनुभव के लिए उच्च प्राथमिकता के सुधार
- **चरण 3 (3-6 महीने)**: मध्यम प्राथमिकता के सुधार और प्रक्रिया सुधार
- **चरण 4 (लगातार)**: सतत निगरानी और सुधार
## मूल्यांकन मापदंड
आपके एक्सेसिबिलिटी ऑडिट का आकलन तकनीकी सटीकता और व्यावसायिक प्रस्तुति दोनों पर किया जाएगा:
| मानदंड | उत्कृष्ट (90-100%) | अच्छा (80-89%) | संतोषजनक (70-79%) | सुधार की आवश्यकता (<70%) |
|----------|-------------------|---------------|---------------------|------------------------|
| **मैनुअल परीक्षण गहराई** | सभी POUR सिद्धांतों को विस्तार से कवर करते हुए व्यापक आकलन, विस्तृत अवलोकन और उपयोगकर्ता परिदृश्य | अधिकांश पहुंच क्षेत्रों को अच्छी तरह से कवर करना, स्पष्ट निष्कर्ष और कुछ उपयोगकर्ता प्रभाव विश्लेषण | प्रमुख क्षेत्रों को कवर करने वाला बुनियादी आकलन, उपयुक्त अवलोकन | सीमित परीक्षण, सतही अवलोकन और न्यूनतम उपयोगकर्ता प्रभाव विचार |
| **उपकरण उपयोग और विश्लेषण** | सभी आवश्यक उपकरणों का प्रभावी उपयोग, निष्कर्षों का क्रॉस-रेफरेंसिंग, स्पष्ट साक्ष्य और उपकरण सीमाओं का विश्लेषण | अधिकांश उपकरणों का उपयोग, अच्छी दस्तावेजीकरण, कुछ क्रॉस-रेफरेंसिंग और उपयुक्त साक्ष्य | आवश्यक उपकरणों का उपयोग, बुनियादी दस्तावेजीकरण और कुछ साक्ष्य | न्यूनतम उपकरण उपयोग, खराब दस्तावेजीकरण या साक्ष्य की कमी |
| **मुद्दा पहचान और वर्गीकरण** | WCAG सिद्धांतों के अनुसार 15+ विशिष्ट मुद्दे, गंभीरता के अनुसार सटीक वर्गीकरण, गहरी समझ का प्रदर्शन | अधिकांश WCAG सिद्धांतों में 10-14 मुद्दे, अच्छा वर्गीकरण और ठोस समझ | 7-9 मुद्दे, उचित WCAG कवरेज और बुनियादी वर्गीकरण | 7 से कम मुद्दे, सीमित आकार या खराब वर्गीकरण |
| **समाधान की गुणवत्ता और व्यवहार्यता** | 10+ विस्तृत, कार्यात्मक समाधान, सटीक WCAG संदर्भ, यथार्थवादी कार्यान्वयन समय और सत्यापन विधियां | 8-9 अच्छी तरह विकसित समाधान, अधिकांश संदर्भ सटीक, अच्छा कार्यान्वयन विवरण | 6-7 बुनियादी समाधान, कुछ विवरण के साथ और सामान्यतः यथार्थवादी | 6 से कम समाधान या अपर्याप्त विवरण, अवास्तविक कार्यान्वयन |
| **पेशेवर संचार** | रिपोर्ट उत्कृष्ट रूप से व्यवस्थित, स्पष्ट लेखन, कार्यकारी सारांश शामिल, उपयुक्त तकनीकी भाषा, और व्यावसायिक दस्तावेज़ मानकों का पालन | अच्छी तरह से व्यवस्थित, अच्छी लेखन गुणवत्ता, अधिकांश आवश्यक अनुभाग शामिल, उपयुक्त स्वर | उपयुक्त रूप से व्यवस्थित, स्वीकार्य लेखन, बुनियादी आवश्यक अनुभाग शामिल | खराब संगठन, अस्पष्ट लेखन, या आवश्यक अनुभागों की कमी |
| **वास्तविक दुनिया में अनुप्रयोग** | व्यवसायिक प्रभाव, कानूनी विचार, उपयोगकर्ता विविधता और व्यावहारिक कार्यान्वयन चुनौतियों की समझ | व्यावहारिक अनुप्रयोगों की अच्छी समझ, कुछ व्यवसाय संदर्भ | वास्तविक दुनिया अनुप्रयोगों की बुनियादी समझ | व्यावहारिक अनुप्रयोगों से सीमित संबंध |
## उन्नत चैलेंज विकल्प
**🚀 अतिरिक्त चुनौती के लिए छात्रों के लिए:**
- **तुलनात्मक विश्लेषण**: 2-3 प्रतिस्पर्धी वेबसाइटों का ऑडिट करें और उनकी पहुंच परिपक्वता की तुलना करें
- **मोबाइल पहुंच पर ध्यान**: Android TalkBack या iOS VoiceOver का उपयोग करके मोबाइल-विशिष्ट पहुंच मुद्दों में गहराई से जाएं
- **अंतरराष्ट्रीय दृष्टिकोण**: विभिन्न देशों के एक्सेसिबिलिटी मानकों (EN 301 549, सेक्शन 508, ADA) का शोध और उपयोग करें
- **एक्सेसिबिलिटी कथन समीक्षा**: आपकी खोजों के खिलाफ वेबसाइट के मौजूदा एक्सेसिबिलिटी कथन का मूल्यांकन करें (यदि कोई हो)
## सबमिट करने योग्य दस्तावेज़
एक व्यापक एक्सेसिबिलिटी ऑडिट रिपोर्ट प्रस्तुत करें जो पेशेवर-स्तर के विश्लेषण और व्यावहारिक कार्यान्वयन योजना को प्रदर्शित करती हो:
**📄 अंतिम रिपोर्ट आवश्यकताएँ:**
1. **कार्यकारी सारांश** (1 पृष्ठ)
- वेबसाइट अवलोकन और एक्सेसिबिलिटी परिपक्वता मूल्यांकन
- मुख्य निष्कर्ष संक्षेप और व्यवसाय प्रभाव
- अनुशंसित प्राथमिकता क्रियाएं
2. **पद्धति और दायरा** (1 पृष्ठ)
- परीक्षण दृष्टिकोण, उपयोग किए गए उपकरण, और मूल्यांकन मानदंड
- मूल्यांकन किए गए पृष्ठ/खंड और कोई सीमाएं
- मानक अनुपालन ढांचा (WCAG 2.1 AA)
3. **विस्तृत निष्कर्ष रिपोर्ट** (3-4 पृष्ठ)
- मैनुअल परीक्षण अवलोकन सहित उपयोगकर्ता परिदृश्य
- स्वचालित उपकरण परिणामों के साथ क्रॉस-रेफरेंसिंग
- WCAG सिद्धांतों के अनुसार व्यवस्थित मुद्दे sाक्ष्यों के साथ
- पहचानी गई सकारात्मक पहुंच विशेषताएँ
4. **रणनीतिक सुधार योजना** (3-4 पृष्ठ)
- प्राथमिकता-आधारित सुधार सिफारिशें (कम से कम 10)
- कार्यान्वयन समयसारिणी और प्रयास के अनुमान
- सफलता मीट्रिक और सत्यापन विधियां
- दीर्घकालिक एक्सेसिबिलिटी रखरखाव रणनीति
5. **सहायक साक्ष्य** (परिशिष्ट)
- एक्सेसिबिलिटी उल्लंघनों और परीक्षण उपकरणों के स्क्रीनशॉट
- कोड उदाहरण जो मुद्दों और समाधानों को दर्शाते हैं
- उपकरण रिपोर्ट और ऑडिट सारांश
- स्क्रीन रीडर परीक्षण नोट्स या रिकॉर्डिंग
**📊 प्रारूप आवश्यकताएँ:**
- **दस्तावेज़ प्रारूप**: PDF (पेशेवर प्रस्तुति)
- **शब्द गणना**: 2,500-3,500 शब्द (परिशिष्ट और स्क्रीनशॉट को छोड़कर)
- **दृश्य तत्व**: पूरे दस्तावेज़ में स्क्रीनशॉट, चार्ट, और उदाहरण शामिल करें
- **उद्धरण**: WCAG दिशानिर्देशों और एक्सेसिबिलिटी संसाधनों का उचित संदर्भ दें
**💡 उत्कृष्टता के लिए प्रो टिप्स:**
- पेशेवर रिपोर्ट प्रारूपण का उपयोग करें, निरंतर शीर्षक और शेलींग के साथ
- सहज नेविगेशन के लिए तालिका सम्मिलित करें
- तकनीकी सटीकता और स्पष्ट, व्यवसाय-उपयुक्त भाषा में संतुलन बनाएं
- तकनीकी क्रियान्वयन और उपयोगकर्ता प्रभाव दोनों की समझ प्रदर्शित करें
## सीखने के परिणाम
इस व्यापक एक्सेसिबिलिटी ऑडिट को पूरा करने के बाद, आप आवश्यक पेशेवर कौशल विकसित कर चुके होंगे:
**🎯 तकनीकी दक्षताएँ:**
- **एक्सेसिबिलिटी परीक्षण में महारत**: उद्योग-मानक मैनुअल और स्वचालित परीक्षण विधियों में निपुणता
- **WCAG अनुप्रयोग**: वास्तविक-विश्व परिदृश्यों पर वेब कंटेंट एक्सेसिबिलिटी गाइडलाइंस को लागू करने का व्यावहारिक अनुभव
- **सहायक प्रौद्योगिकी समझ**: स्क्रीन रीडर और कीबोर्ड नेविगेशन के साथ व्यावहारिक अनुभव
- **समस्या-समाधान मैपिंग**: एक्सेसिबिलिटी बाधाओं की पहचान और विशिष्ट, कार्यात्मक सुधार रणनीतियों का विकास करने में सक्षम
**💼 पेशेवर कौशल:**
- **तकनीकी संचार**: विविध हितधारकों के लिए पेशेवर एक्सेसिबिलिटी रिपोर्ट लिखने का अनुभव
- **रणनीतिक योजना बनाना**: उपयोगकर्ता प्रभाव और कार्यान्वयन व्यवहार्यता के आधार पर एक्सेसिबिलिटी सुधारों को प्राथमिकता देने की क्षमता
- **गुणवत्ता आश्वासन**: विकास जीवनचक्र के हिस्से के रूप में एक्सेसिबिलिटी परीक्षण की समझ
- **जोखिम मूल्यांकन**: एक्सेसिबिलिटी अनुपालन के कानूनी, व्यवसायिक, और नैतिक प्रभावों के प्रति समझ
**🌍 समावेशी डिज़ाइन मानसिकता:**
- **उपयोगकर्ता सहानुभूति**: विविध उपयोगकर्ता आवश्यकताओं और सहायक तकनीकों से संबंधित गहन समझ
- **सार्वभौमिक डिज़ाइन सिद्धांत**: यह मान्यता कि पहुँच योग्य डिज़ाइन सभी उपयोगकर्ताओं के लिए लाभकारी है, केवल विकलांगों के लिए नहीं
- **निरंतर सुधार**: ongoing एक्सेसिबिलिटी आकलन और सुधार के लिए रूपरेखा
- **अधिवक्ता कौशल**: भविष्य की परियोजनाओं और टीमों में एक्सेसिबिलिटी सर्वोत्तम प्रथाओं को बढ़ावा देने का आत्मविश्वास
**🚀 करियर तैयारी:**
यह असाइनमेंट वास्तविक दुनिया की एक्सेसिबिलिटी परामर्श परियोजनाओं का प्रतिबिंब है, जो आपको पोर्टफोलियो-योग्य अनुभव प्रदान करता है जो दिखाता है:
- व्यवस्थित समस्या-समाधान दृष्टिकोण
- तकनीकी विवरण और व्यवसाय प्रभाव दोनों पर ध्यान
- जटिल तकनीकी अवधारणाओं का स्पष्ट संचार
- वेब विकास में कानूनी और नैतिक जिम्मेदारियों की समझ
पूरा होने पर, आप किसी भी वेब विकास भूमिका में एक्सेसिबिलिटी पहलों में सार्थक योगदान देने और अपने करियर के दौरान समावेशी डिज़ाइन प्रथाओं के लिए वकालत करने के लिए तैयार होंगे।
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**अस्वीकरण**:
यह दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता के लिए प्रयासरत हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।
यह दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता के लिए प्रयासरत हैं, कृपया ध्यान दें कि स्वचालित अनुवादों में त्रुटियाँ या असंगतियाँ हो सकती हैं। मूल दस्तावेज़ अपनी मूल भाषा में आधिकारिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए पेशेवर मानव अनुवाद की सलाह दी जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save