diff --git a/translated_images/webdev101-js-functions.be049c4726e94f8b.ml.png b/translated_images/webdev101-js-functions.be049c4726e94f8b.ml.png new file mode 100644 index 000000000..86b362aed Binary files /dev/null and b/translated_images/webdev101-js-functions.be049c4726e94f8b.ml.png differ diff --git a/translated_images/webdev101-js-functions.be049c4726e94f8b.pcm.png b/translated_images/webdev101-js-functions.be049c4726e94f8b.pcm.png new file mode 100644 index 000000000..37334c88d Binary files /dev/null and b/translated_images/webdev101-js-functions.be049c4726e94f8b.pcm.png differ diff --git a/translated_images/webdev101-js-functions.be049c4726e94f8b.te.png b/translated_images/webdev101-js-functions.be049c4726e94f8b.te.png new file mode 100644 index 000000000..ca484db20 Binary files /dev/null and b/translated_images/webdev101-js-functions.be049c4726e94f8b.te.png differ diff --git a/translated_images/webdev101-js.10280393044d7eaa.et.png b/translated_images/webdev101-js.10280393044d7eaa.et.png new file mode 100644 index 000000000..8bc7f3da8 Binary files /dev/null and b/translated_images/webdev101-js.10280393044d7eaa.et.png differ diff --git a/translated_images/webdev101-js.10280393044d7eaa.kn.png b/translated_images/webdev101-js.10280393044d7eaa.kn.png new file mode 100644 index 000000000..503bc52a5 Binary files /dev/null and b/translated_images/webdev101-js.10280393044d7eaa.kn.png differ diff --git a/translated_images/webdev101-js.10280393044d7eaa.ml.png b/translated_images/webdev101-js.10280393044d7eaa.ml.png new file mode 100644 index 000000000..20dca7a9d Binary files /dev/null and b/translated_images/webdev101-js.10280393044d7eaa.ml.png differ diff --git a/translated_images/webdev101-js.10280393044d7eaa.pcm.png b/translated_images/webdev101-js.10280393044d7eaa.pcm.png new file mode 100644 index 000000000..bd27cac29 Binary files /dev/null and b/translated_images/webdev101-js.10280393044d7eaa.pcm.png differ diff --git a/translated_images/webdev101-js.10280393044d7eaa.te.png b/translated_images/webdev101-js.10280393044d7eaa.te.png new file mode 100644 index 000000000..9b59c6395 Binary files /dev/null and b/translated_images/webdev101-js.10280393044d7eaa.te.png differ diff --git a/translated_images/webdev101-programming.d6e3f98e61ac4bff.et.png b/translated_images/webdev101-programming.d6e3f98e61ac4bff.et.png new file mode 100644 index 000000000..6b689a85b Binary files /dev/null and b/translated_images/webdev101-programming.d6e3f98e61ac4bff.et.png differ diff --git a/translated_images/webdev101-programming.d6e3f98e61ac4bff.kn.png b/translated_images/webdev101-programming.d6e3f98e61ac4bff.kn.png new file mode 100644 index 000000000..69b730d72 Binary files /dev/null and b/translated_images/webdev101-programming.d6e3f98e61ac4bff.kn.png differ diff --git a/translated_images/webdev101-programming.d6e3f98e61ac4bff.ml.png b/translated_images/webdev101-programming.d6e3f98e61ac4bff.ml.png new file mode 100644 index 000000000..960a0ff2d Binary files /dev/null and b/translated_images/webdev101-programming.d6e3f98e61ac4bff.ml.png differ diff --git a/translated_images/webdev101-programming.d6e3f98e61ac4bff.pcm.png b/translated_images/webdev101-programming.d6e3f98e61ac4bff.pcm.png new file mode 100644 index 000000000..2fc90ba96 Binary files /dev/null and b/translated_images/webdev101-programming.d6e3f98e61ac4bff.pcm.png differ diff --git a/translated_images/webdev101-programming.d6e3f98e61ac4bff.te.png b/translated_images/webdev101-programming.d6e3f98e61ac4bff.te.png new file mode 100644 index 000000000..52f204106 Binary files /dev/null and b/translated_images/webdev101-programming.d6e3f98e61ac4bff.te.png differ diff --git a/translated_images/working-tree-pb.6cd43e5076f23ba3.et.png b/translated_images/working-tree-pb.6cd43e5076f23ba3.et.png new file mode 100644 index 000000000..d41b23bdb Binary files /dev/null and b/translated_images/working-tree-pb.6cd43e5076f23ba3.et.png differ diff --git a/translated_images/working-tree-pb.6cd43e5076f23ba3.kn.png b/translated_images/working-tree-pb.6cd43e5076f23ba3.kn.png new file mode 100644 index 000000000..b3b126a33 Binary files /dev/null and b/translated_images/working-tree-pb.6cd43e5076f23ba3.kn.png differ diff --git a/translated_images/working-tree-pb.6cd43e5076f23ba3.ml.png b/translated_images/working-tree-pb.6cd43e5076f23ba3.ml.png new file mode 100644 index 000000000..75a53492f Binary files /dev/null and b/translated_images/working-tree-pb.6cd43e5076f23ba3.ml.png differ diff --git a/translated_images/working-tree-pb.6cd43e5076f23ba3.pcm.png b/translated_images/working-tree-pb.6cd43e5076f23ba3.pcm.png new file mode 100644 index 000000000..347af639d Binary files /dev/null and b/translated_images/working-tree-pb.6cd43e5076f23ba3.pcm.png differ diff --git a/translated_images/working-tree-pb.6cd43e5076f23ba3.te.png b/translated_images/working-tree-pb.6cd43e5076f23ba3.te.png new file mode 100644 index 000000000..35408935d Binary files /dev/null and b/translated_images/working-tree-pb.6cd43e5076f23ba3.te.png differ diff --git a/translated_images/working-tree.c58eec08e6335c79.et.png b/translated_images/working-tree.c58eec08e6335c79.et.png new file mode 100644 index 000000000..2422deeea Binary files /dev/null and b/translated_images/working-tree.c58eec08e6335c79.et.png differ diff --git a/translated_images/working-tree.c58eec08e6335c79.kn.png b/translated_images/working-tree.c58eec08e6335c79.kn.png new file mode 100644 index 000000000..f33abf8c7 Binary files /dev/null and b/translated_images/working-tree.c58eec08e6335c79.kn.png differ diff --git a/translated_images/working-tree.c58eec08e6335c79.ml.png b/translated_images/working-tree.c58eec08e6335c79.ml.png new file mode 100644 index 000000000..07a1d46e4 Binary files /dev/null and b/translated_images/working-tree.c58eec08e6335c79.ml.png differ diff --git a/translated_images/working-tree.c58eec08e6335c79.pcm.png b/translated_images/working-tree.c58eec08e6335c79.pcm.png new file mode 100644 index 000000000..2ddf04ccf Binary files /dev/null and b/translated_images/working-tree.c58eec08e6335c79.pcm.png differ diff --git a/translated_images/working-tree.c58eec08e6335c79.te.png b/translated_images/working-tree.c58eec08e6335c79.te.png new file mode 100644 index 000000000..297f7ed0a Binary files /dev/null and b/translated_images/working-tree.c58eec08e6335c79.te.png differ diff --git a/translations/kn/1-getting-started-lessons/1-intro-to-programming-languages/README.md b/translations/kn/1-getting-started-lessons/1-intro-to-programming-languages/README.md new file mode 100644 index 000000000..f5a7d3f73 --- /dev/null +++ b/translations/kn/1-getting-started-lessons/1-intro-to-programming-languages/README.md @@ -0,0 +1,861 @@ + +# ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಮತ್ತು ಆಧುನಿಕ ಡೆವಲಪರ್ ಟೂಲ್ಗಳ ಪರಿಚಯ + +ನಮಸ್ಕಾರ ಭವಿಷ್ಯದ ಡೆವಲಪರ್! 👋 ನಾನು ನಿಮಗೆ ಪ್ರತಿದಿನವೂ ಭಯಂಕರ ಅನುಭವ ನೀಡುವ ಏನಾದರು ಹೇಳಬಹುದೇ? ನೀವು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಅನ್ನು ಕೇವಲ ಕಂಪ್ಯೂಟರ್ ಗಳ ಕುರಿತು ಎನ್ನುವುದಿಲ್ಲ ಎಂಬುದನ್ನು ತಲುಪಲಿದ್ದೀರಿ – ಇದು ನಿಮ್ಮ ಅತೀ ವಿಚಿತ್ರ ಕಲ್ಪನೆಗಳನ್ನು ಜೀವಕ್ಕೆ ತರುವ ಸ್ಫೂರ್ತಿದಾಯಕ ಶಕ್ತಿಗಳನ್ನು ಹೊಂದಿರುವದಾಗಿದೆ! + +ನೀವು ನಿಮ್ಮ ಅಭಿಮಾನಿ ಆಪ್ ಬಳಸುವಾಗ ಎಲ್ಲವೂ ಸುಂದರವಾಗಿ ಸರಿಹೊಂದುವ ಕ್ಷಣವನ್ನು ತಿಳಿದಿರಬಹುದೆ? ನೀವು ಒಂದು ಬಟನ್ ಒತ್ತಿದಾಗ ಎಲ್ಲವೂ ಮೆಜಿಕಲ್ ಆಗಿ ಹೋಗುತ್ತದೆ ಮತ್ತು ನೀವು "ಅಯ್ಯೋ, ಅವರು ಅದನ್ನು ಹೇಗೆ ಮಾಡಿದ್ರು?" ಎಂದು ಯೋಚಿಸುತ್ತೀರಿ? ಅದನ್ನು ಸೃಷ್ಟಿಸಿದ ಕೋಡ್ ಅನ್ನು ಬರೆಯುವವರು ನಿಮ್ಮಂತೆಯೇ ಯಾರು – ಬಹುಶಃ ರಾತ್ರಿಯ 2 ಗಂಟೆಗೆ ತಮ್ಮ ಮೆಚ್ಚಿನ ಕಾಫಿ ಶಾಪಿನಲ್ಲಿ ಮೂರನೆ ಎಸ್ಪ್ರೆಸ್ಸೋ ಜೊತೆ ಕೂತು ಅವರು. ಮತ್ತು ಇವತ್ತಿನ ಪಾಠದ ಅಂತ್ಯಕ್ಕೆ ನೀವು ಅಷ್ಟು ಕೇವಲ ಹೇಗೆ ಮಾಡಿದ್ರು ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದಷ್ಟಲ್ಲ, ನೀವು ಅದನ್ನು ಸ್ವತಃ ಪ್ರಯತ್ನಿಸಲು ಉತ್ಸುಕವಾಗುತ್ತೀರಿ! + +ನನ್ನುತ್ತು ನೋಡು, ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಈಗ ಭಯಂಕರ ಎಂದು ಕಾಣುತ್ತಿದೆಯೆಂದು ನಾನು ಸಂಪೂರ್ಣವಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತೇನೆ. ನಾನು ಪ್ರಾರಂಭಿಸಿದಾಗ, ನಾನು ನಿಜವಾಗಿಯೂ ಭಾವಿಸುತ್ತಿದ್ದೆನು ನೀವು ಗಣಿತ ತಜ್ಞರಾಗಿರಬೇಕು ಅಥವಾ ಐದು ವರ್ಷದಿಂದಲೆ ಕೋಡಿಂಗ್ ಮಾಡುತ್ತಿದ್ದಿರಬೇಕು ಎಂದು. ಆದರೆ ಇದು ನನ್ನ ದೃಷ್ಟಿಕೋನವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬದಲಾಯಿಸಿತು: ಪ್ರೋಗ್ರಾಮಿಂಗ್ ನೂತನ ಭಾಷೆಯಲ್ಲಿ ಸಂವಾದ ಕಲಿಯುವಂತೆ ಆಗಿದೆ. ನೀವು "ನಮಸ್ಕಾರ" ಮತ್ತು "ಧನ್ಯವಾದ" ಜೊತೆಗೆ ಪ್ರಾರಂಭಿಸುತ್ತೀರಿ, ನಂತರ ಕಾಫಿ ಆದೇಶಿಸುವುದಕ್ಕೆ ಬರುತ್ತೀರಿ ಮತ್ತು ಮೀರಿದಂತೆ ತತ್ತ್ವಶಾಸ್ತ್ರೀಯ ಚರ್ಚೆಗಳು ನಡೆಯುತ್ತವೆ! ಇಲ್ಲಿ ನೀವು ಕಂಪ್ಯೂಟರ್ ಗಳೊಂದಿಗೆ ಸಂವಾದ ಮಾಡುತ್ತೀರಿ ಮತ್ತು ನಿಜವಾಗಿಯೂ? ಇವರ ಸಂಧರ್ಭದಲ್ಲಿ ಅವರು ಅತ್ಯಂತ ತಾಳ್ಮೆಯ ಸಂವಹನದೊಡನೆ ಇರುತ್ತಾರೆ – ಎಂದಿಗೂ ನಿಮ್ಮ ತಪ್ಪುಗಳನ್ನು ತಿರಸ್ಕರಿಸುವುದಿಲ್ಲ ಮತ್ತು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಲು ಸದಾ ಸಜ್ಜಾಗಿರುತ್ತಾರೆ! + +ಇಂದಿನ ದಿನದಲ್ಲಿ, ಆಧುನಿಕ ವೆಬ್ ಅಭಿವೃದ್ಧಿಯನ್ನು ಸಾಧ್ಯಗೊಳಿಸುವ ಅದ್ಭುತ ಸಾಧನಗಳ ಮೇಲೆ ನಾವು ಪ್ರಯಾಣ ಮಾಡುವೆವು. ನಾನು ನಿಮ್ಮ Netflix, Spotify ಮತ್ತು ನಿಮ್ಮ ಇಷ್ಟದ ಸ್ವತಂತ್ರ ಆಪ್ ಸ್ಟುಡಿಯೋದ ಡೆವಲಪರ್ ಗಳು ಪ್ರತಿದಿನ ಬಳಸುವ ಎಡಿಟರ್ ಗಳು, ಬ್ರೌಸರ ಗಳು ಮತ್ತು ವರ್ಕ್‌ಫ್ಲೋಗಳನ್ನು ತಿಳಿಸುತ್ತಿದ್ದೇನೆ. ಮತ್ತು ಇದು ನಿಮಗೆ ಸಂತೋಷಕ್ಕಾಗುವ ಸಂಗತಿ: ಈ ಪರಿಣಿತಿ-ತರಗತಿಯ, ಉದ್ಯಮ-ಮಟ್ಟದ ಬಹುಮತ ಸಾಧನಗಳು ಬಹುಶಃ ಸಂಪೂರ್ಣ ಉಚಿತವಾಗಿವೆ! + +![Intro Programming](../../../../translated_images/webdev101-programming.d6e3f98e61ac4bff.kn.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) + + +## ನಾವು ಒಂದಿಗೆ ಹೋಗಲಿರುವ ಸಾಹಸ + +ಒಳ್ಳೆಯದು, ನಾನು ನಿಜವಾಗಿಯೂ ಇವತ್ತಿನ ಏನು ವಿಚಾರಿಸೋಣ ಎಂಬ ವಿಷಯಕ್ಕಾಗಿ ಕುತೂಹಲದಿಂದ ಕಬಳಿ ಕುಳಿತಿದ್ದೇನೆ! ಗೆಳೆಯರೇ, ನಾನು ಇವುಗಳಲ್ಲಿ ಕೆಲವು ಜನುಕರಿಸುವಾಗ ನಿಮ್ಮ ಮುಖವನ್ನು ನೋಡಬಹುದಂತಿದೆ. ನಾವು ಒಂದಾಗಿ ಹೋಗುತ್ತಿರುವ ಅದ್ಭುತ ಸಾಹಸ: + +- **ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಎಂದರೆ ನಿಜವಾದ ಮಹಿಮೆ ಏನು (ಮತ್ತು ಅದೀಗ ಅತ್ಯಂತ ಅದ್ಭುತ ವಿಷಯ!)** – ಕೋಡ್ ನಿಮ್ಮ ಸುತ್ತಲಿನ ಎಲ್ಲವನ್ನೂ invisibly ಚಲಾಯಿಸುವ ಅದ್ಭುತ ಮಾಯಾಜಾಲವಾಗಿದೆ ಹೇಗೆ ಎಂಬುದನ್ನು ನಾವು ಕಂಡುಹಿಡಿಯೋಣ; ಸೋಮವಾರ ಬೆಳಿಗ್ಗೆ ಗೊತ್ತಿರುವ ಆ ಎಚ್ಚರಿಕೆ ಗಾಡಿ ಇಂದ, ನಿಮ್ಮ Netflix ಶಿಫಾರಸುಗಳನ್ನು ಸರಿಯಾಗಿ ಕ್ಯೂರೆಟ್ ಮಾಡುವ ಆಲ್ಗಾರಿತ್ಮ್ ತನಕ +- **ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಮತ್ತು ಅವುಗಳ ಅದ್ಭುತ ವೈಶಿಷ್ಟ್ಯಗಳು** – ಪ್ರತಿಯೊಬ್ಬ ವ್ಯಕ್ತಿಗೆ ಸಂಪೂರ್ಣ ವಿಭಿನ್ನ ಶಕ್ತಿಗಳು ಮತ್ತು ಸಮಸ್ಯೆ ಪರಿಹಾರ ರೀತಿಗಳು ಇರುವ ಒಂದು ಪಕ್ಷವೊಂದಕ್ಕೆ ನೀವು ಹೋಗುತ್ತಿರುವಂತೆ ಕಲ್ಪಿಸಿ. ಅದೇ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳ ಜಗತ್ತು, ಮತ್ತು ನೀವು ಅವುಗಳನ್ನು ಭೇಟಿಯಾಗಲು ಇಷ್ಟಪಡುತ್ತೀರಿ! +- **ಡಿಜಿಟಲ್ ಮಾಯಾಜಾಲ ಉಂಟುಮಾಡುವ ಮೂಲಭೂತ ಕಟ್ಟಿಕೋಣೆಗಳು** – ಇವು ಅಂತಿಮ ಸೃಜನಾತ್ಮಕ LEGO ಸೆಟ್ ಗಳಂತೆ ಶಕ್ತಿವಂತವಾಗಿವೆ. ನೀವು ಈ ತುಂಡುಗಳು ಹೇಗೆ ಸರಿಹೊಂದುತ್ತವೆ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಾದರೆ, ನಿಮ್ಮ ಕಲ್ಪನೆಯು ಹುಟ್ಟಿಸುವ ಏನನ್ನಾದರೂ ನಿರ್ಮಿಸಬಹುದು! +- **ಆದರ್ಶ ಸಾಧನಗಳು ಅವರು ಮಾಯಾಜಾಲಿಯ ಕುತ್ತಿಗೆಗೆ ಲ್ಯಾಂಪ್ ಹತ್ತಿಸುವಂತಾಗಿಸುವ ಸಾಧನಗಳು** – ನಾನು ನಾಟಕವಾಡುತ್ತಿಲ್ಲ – ಈ ಸಾಧನಗಳು ನಿಜವಾಗಿಯೂ ನಿಮಗೆ ಅತೀ ಶಕ್ತಿಗಳಂತಗೊಳಿಸುವವು, ಮತ್ತು ಅತ್ಯುತ್ತಮ ಭಾಗವೇನುಂದು ಕೇಳಿ? ಅವರು ಸೋ ಪ್ರೋಡ್ಯೂಸರ್ ಗಳಷ್ಟೇ ಉಪಯೋಗಿಸುತ್ತಾರೆ! + +> 💡 **ಈ ಮಾತನ್ನು ತಿಳಿದುಕೊಳ್ಳಿ**: ಇಂದಿನ ಪಾಠದಲ್ಲಿ ಎಲ್ಲವನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳಲು ಯತ್ನಿಸಬೇಡಿ! ಇತನಕ, ನಾನು ನಿಮಗೆ ಸಾಧ್ಯತೆಯ ಬಗ್ಗೆ ಆ ಉತ್ಸವದ ಸ್ಪಾರ್ಕ್ ಅನ್ನು ಮಾತ್ರ ಅನುಭವಿಸಲು ಬಯಸುತ್ತೇನೆ. ವಿವರಗಳು ಸಹಜವಾಗಿ ನಮ್ಮ ಅಭ್ಯಾಸದ ಒಟ್ಟಿನಲ್ಲಿ ನೆನಪಿಗೆ ಬರುತ್ತವೆ – ಅದೆಯೇ ನಿಜವಾದ ಕಲಿಕೆ! + +> ನೀವು ಈ ಪಾಠವನ್ನು [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon) ನಲ್ಲಿ ತೆಗೆದುಕೊಳ್ಳಬಹುದು! + +## ಹಾಗಾದರೆ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಎಂದರೆ ಆಟವೇನು? + +ಚನ್ನಾಗಿ, ಲಕ್ಷಾಂತರ ಡಾಲರ್ ಪ್ರಶ್ನೆಯನ್ನು ನಿಭಾಯಿಸೋಣ: ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಎಂದರೆ ನಿಜವಾಗಿಯೂ ಏನು? + +ನಾನು ನನ್ನ ಚಿಂತನೆ ಬದಲಾಯಿಸಿದ್ದ ಕಥೆಯನ್ನು ಹೇಳುತ್ತೇನೆ. ಕಳೆದ ವಾರ, ನಾನು ನನ್ನ ತಾಯಿಗೆ ಹೊಸ ಸ್ಮಾರ್ಟ್ ಟಿವಿ ರಿಮೋಟ್ ಬಳಸುವುದು ಹೇಗೆ ಎಂದು ವಿವರಿಸಲು ಯತ್ನಿಸುತ್ತಿದ್ದೆ. ನಾನು "ಕೆಂಪು ಬಟನ್ ಒತ್ತಿ, ಆದರೆ ದೊಡ್ಡ ಕೆಂಪು ಬಟನ್ ಅಲ್ಲ, ಎಡ ಬದಿಯ ಚಿಕ್ಕ ಕೆಂಪು ಬಟನ್... ಅಲ್ಲ, ನಿಮ್ಮ ಮತ್ತೊಂದು ಎಡ..." ಎಂಬುದನ್ನು ಹೇಳುತ್ತಿರೋಡೆ ಕಂಡೆ. ಸರಿಹೊಂದುತ್ತದೆ? 😅 + +ಅದೇ ಪ್ರೋಗ್ರಾಮಿಂಗ್! ಅದು ಬಹುಶಕ್ತಿಶಾಲಿಯಾದುದಾದರೂ ಎಲ್ಲವನ್ನೂ ಸ್ಪಷ್ಟವಾಗಿ ಸೂಚಿಸುವ ಕಲೆಯಾಗಿದೆ. ನೀವೀಗ ನಿಮ್ಮ ತಾಯಿಗೆ ವಿವರಿಸುತ್ತಿದ್ದೀರಿ (ಅವರು ಕೇಳಬಹುದು "ಯಾವ ಕೆಂಪು ಬಟನ್?"), ಆದರೆ ಖಂಡಿತವಾಗಿಯೂ ನೀವು ಕಂಪ್ಯೂಟರ್ ಗೆ ವಿವರಿಸುತ್ತಿದ್ದೀರಿ (ಅದು ನೀವು ಹೇಳಿದ ಪ್ರತಿಯೊಂದನ್ನು ನಿಖರವಾಗಿ ಮಾಡುತ್ತದೆ, ನೀವು ಅರ್ಥಮಾಡಿಕೊಂಡದ್ದಲ್ಲದೇ ಇದ್ದರೂ). + +ನನಗೆ ಭಾವನೆ ತರುವುದು ಈ ಪಾಠವನ್ನು ಪ್ರಥಮ ಬಾರಿಗೆ ಕಲಿತಾಗ: ಕಂಪ್ಯೂಟರ್ ಗಳು ಮೂಲಭೂತವಾಗಿ ಅತೀವ ಸರಳ. ಅವು ಕೇವಲ ಎರಡು ಅರ್ಥಗಳನ್ನು ಮಾತ್ರ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತವೆ – 1 ಮತ್ತು 0, ಅಥವಾ "ಹೌದು" ಮತ್ತು "ಇಲ್ಲ" ಎಂದರೆ "on" ಮತ್ತು "off". ಅಷ್ಟೇ! ಆದರೆ ಅದ್ಭುತ ಸಂಗತಿ ಇಲ್ಲಿ: ನಾವು 1 ಹಾಗೂ 0 ಗಳಲ್ಲಿ ಮಾತಾಡಬೇಕಾಗಿಲ್ಲ. ಅಲ್ಲಿ **ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳ** ಮಹತ್ವ ಬರುತ್ತದೆ. ಇವು ನಿಮಗೆ ಅರ್ಥವಾಗುವ ಮಾನವ ಭಾಶುರದ ವಿವರಣೆಯನ್ನು ಕಂಪ್ಯೂಟರ್ ಭಾಷೆಗೆ ಪರಿವರ್ತಿಸುವ ಅತ್ಯುತ್ತಮ ಅನುವಾದಕರಂತೆ. + +ಹಾಗೆ, ಪ್ರತಿ ದಿನ ಬೆಳಳಿಗೆ ಎದ್ದು ನಾನು ನಿಜವಾದ ತುಂಬಿ ಹೊಡೆದಂತಿರುವುದು ಏನೆಂದರೆ: ನಿಮ್ಮ ಡಿಜಿಟಲ್ ಜೀವನದಲ್ಲಿ ಎಲ್ಲಾ ಹೋರಾಟಗಳು ಯಾರು ಇದ್ದರು? ತಪ್ಪದೇ ನಿಮ್ಮಂತೆಯೆ ಯಾರೊಬ್ಬರು, ಬಹುಶಃ ಪಾಜಾಮಾಗಳಲ್ಲಿ ಕುಳಿತಿರುವ, ಕಾಫಿ ಕುಡಿಯುವ, ತಮ್ಮ ಲ್ಯಾಪ್‌ಟಾಪ್ ನಲ್ಲಿ ಕೋಡ್ ಬರೆಯುವ ವ್ಯಕ್ತಿಯೊಬ್ಬರು. ನೀವು ನಿರೂಪಿಸುವ ಆ Instagram ಫಿಲ್ಟರ್? ಯಾರೋ ಅದನ್ನು ಕೋಡ್ ಮಾಡಿದ್ದರು. ನಿಮಗೆ ಹೊಸ ಪ್ರೀತಿಯ ಹಾಡಿಗೆ ಮಾರ್ಗದರ್ಶನ ಮಾಡಿದ ಆಲ್ಗಾರಿತ್ಮ್? ಡೆವಲಪರ್ ಅದನ್ನು ಬರೆದಿದ್ದಾನೆ. ಸ್ನೇಹಿತರೊಂದಿಗೆ ಊಟದ ಬಿಲ್ ಹಂಚಿಕೊಳ್ಳಲು ಇರುವ ಆ ಆಪ್? ಹೌದು, ಯಾರೋ "ಇದು ತುಂಬಾ ಬೇಸರ, ನಾನು ಇದನ್ನು ಸರಿಪಡಿಸಬಹುದೇ?" ಎಂದು ಯೋಚಿಸಿ... ಹಾಗೆ ಮಾಡಿದ್ದಾರೆ! + +ನೀವು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕಲಿತಂತೆ, ನೀವು ಕೇವಲ ಹೊಸ ಕೌಶಲ್ಯವನ್ನು ಪಡೆಯುವುದಿಲ್ಲ – ನೀವು ಸಮಸ್ಯೆ ಪರಿಹಾರಕರ ಅದ್ಭುತ ಸಮುದಾಯದ ಭಾಗವಾಗುತ್ತಿದ್ದೀರಿ, ಅವರು "ಒಬ್ಬರ ದಿನವನ್ನು ಸ್ವಲ್ಪ ಹಬ್ಬಿಸಿ ಮಾಡುವುದಾದರೆ ನಾನು ಏನನ್ನಾದರೂ ನಿರ್ಮಿಸಬಹುದೇಕೆ?" ಎಂಬ ಆಲೋಚನೆಯಲ್ಲಿ ದಿನವನ್ನನುಗೊಳ್ಳುತ್ತಾರೆ. ನಿಜವಾಗಿಯೂ, ಇದಕ್ಕಿಂತ ಒಳ್ಳೆಯದುವೇನಿದೆ? + +✅ **ಆನಂದಕಾರಿಯಾದ ವಿಚಾರ ಹುಡುಕಿ**: ನಿಮ್ಮ ಕೈ ಮುಕ್ತ ಸಮಯದಲ್ಲಿ ಹುಡುಕಿ ನೋಡಬೇಕಾದ ಒಂದು ಅದ್ಭುತ ಸಂಗತಿ – ಮೊದಲ ಜಗತ್ತಿನ ಕಂಪ್ಯೂಟರ್ ಪ್ರೋಗ್ರಾಮರ್ ಯಾರು? ಒಂದು ಅಂಕೆಗೆ – ನೀವು ಭಾವಿಸುತ್ತಿರುವವನು ಅಲ್ಲವೇಕೆ? ಆ ವ್ಯಕ್ತಿಯ ಕಥೆ ತುಂಬಾ ಆಕರ್ಷಕವಾಗಿದೆ ಮತ್ತು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಯಾವಾಗಲೂ ಸೃಜನಾತ್ಮಕ ಸಮಸ್ಯೆ ಪರಿಹಾರ ಮತ್ತು ವಿನೂತನ ಚಿಂತನೆಗಳ ಬಗ್ಗೆ ಇದೆಯೆಂದನ್ನು ತೋರಿಸುತ್ತದೆ. + +### 🧠 **ಪರಿಶೀಲನೆ ಸಮಯ: ನೀವು ಹೇಗಿದ್ದೀರಾ?** + +**ಒಂದು ಕ್ಷಣಕಾಲ reflexão ಮಾಡಿ:** +- "ಕಂಪ್ಯೂಟರ್ ಗಳು ಸೂಚನೆಗಳನ್ನು ಪಡೆಯುವ" ಕಲ್ಪನೆ ಈಗ ನಿಮಗೆ ಅರ್ಥವಾಗಿದೆಯೆ? +- ಪ್ರತಿ ದಿನದ ಕಾರ್ಯಗಳನ್ನು ನೀವು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮೂಲಕ automate ಮಾಡಲು ಇಚ್ಛಿಸುವ ಏನಾದರೂ ಏನಿದೆ? +- ಈ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ವಿಷಯದ ಬಗ್ಗೆ ನಿಮ್ಮ ಘನತೆಗಳಲ್ಲಿ ಏನೆಷ್ಟು ಪ್ರಶ್ನೆಗಳಿವೆ? + +> **ಮಡದಿ**: ಕೆಲವು ಕಲ್ಪನೆಗಳು ಈಗಾಗಲೇ ಬಹಳ ಗುಲಾಬಿಯಾಗಿರುವುದು ಸಹಜ. ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕಲಿಕೆ ಹೊಸ ಭಾಷೆಯನ್ನು ಕಲಿಯುವುದಾಗಿದ್ದು, ನಿಮ್ಮ ಮೆದುಳಿಗೆ ಈ ಮಾರ್ಗಗಳನ್ನು ನಿರ್ಮಿಸುವ ಸಮಯ ಬೇಕಾಗುತ್ತದೆ. ನೀವು ತುಂಬಾ ಚೆನ್ನಾಗಿದ್ದೀರಿ! + +## ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಭಿನ್ನ ಭಿನ್ನ ಮಾಯಾಜಾಲದ ರುಚಿಗಳಂತಹುದು + +ಚನ್ನಾಗಿ, ಇದು ವಿಚಿತ್ರವಾಗಿ ಕೇಳಿಸಬಹುದು, ಆದರೆ ನನ್ನ ಜೊತೆ ಇರಿ – ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ವಿಭಿನ್ನ ಸಂಗೀತ ಶैलಿಗಳಂತಹವು. ಧ್ವನಿಮನೆ: ನೀವು ಜ್ಯಾಜ್, ಸಾನ್, ರಾಕ್, ಮತ್ತು ಹಿಪ್-ಹಾಪ್ ಇವುಗಳು ಇದ್ದಂತೆ. + +ಪ್ರತಿ ಶೈಲಿಗೆ ತನ್ನ ವೈಭಮ್ ಮತ್ತು ಅಭಿಮಾನಿಗಳ ಸಮುದಾಯವಿದೆ ಮತ್ತು ಪ್ರತಿ ಪಾರ್ಟಿಗೆ ತಕ್ಕಂತೆ ವಿಭಿನ್ನ. + +ಸಂಗೀತದಂತೆ, ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳೂ ಹೀಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ! ನೀವು ಸ್ವಲ್ಪ ಮನರಂಜನೆಯ ಮೊಬೈಲ್ ಗೇಮ್ ಗಾಗಿ JavaScript ಬಳಸಬಹುದು, ಕ್ಲೈಮೇಟ್ ಡೇಟಾವನ್ನು ದೊಡ್ಡ ಪ್ರಮಾಣದಲ್ಲಿ crunch ಮಾಡಲು Python ಬಳಸುತ್ತದೆ; ಹೀಗೆಯೇ ನೀವು ನನ್ನ ವಿಷಯವಾಗಿ ಡೆತ್ ಮೆಟಲ್ ಯೋಗ ಕ್ಲಾಸಿನಲ್ಲಿ ಬನ್ನದಂತೆ. (ಬಹುತೆಕ ಯೋಗ ದಿನಗಳಲ್ಲಿ!) + +ಆದರೆ ಪ್ರತಿಸಾರಿ ಮನಸ್ಸಿಗೆ ಶಾಕ್ ನೀಡುವುದು: ಭಾಷೆಗಳು ನಿಮಗೆ ಅತ್ಯಂತ ಸಹಜವಾಗಿ ನಿಮ್ಮ ಆಲೋಚನೆಗಳನ್ನು ಹೇಳಲು ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತವೆ ಹಾಗೂ ಅವು ತುಂಬಾ ಸಂಕೀರ್ಣವಾದ 1 ಮತ್ತು 0 ಗಳಿಗೆ ಅನುವಾದವನ್ನು ಮಾಡುತ್ತವೆ. ನಿಮ್ಮ ಪಕ್ಕದಲ್ಲಿ ಇದ್ದಂತಹ ಮಾದರಿತನದಿಂದ ಇಬ್ಬರನ್ನೂ ಮಾತನಾಡುವ ಗೆಳೆಯನಂತೆ – ಅವರು ಎಂದಿಗೂ ಕೈಬಿಡುವುದಿಲ್ಲ, ಕಾಫಿ ವಿರಾಮ ಕೊಂಡಿಲ್ಲ, ಒಂದೇ ಪ್ರಶ್ನೆಯನ್ನು ಎರಡು ಬಾರಿ ಕೇಳಿದರೂ ಮುಕ್ಕಾಲುಮಾಡುವುದಿಲ್ಲ! + +### ಜನಪ್ರಿಯ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಮತ್ತು ಅವುಗಳ ಉಪಯೋಗಗಳು + +```mermaid +mindmap + root((Programming Languages)) + ವೆಬ್ ಅಭಿವೃದ್ಧಿ + JavaScript + ಮುಂಭಾಗ ಮಾಯಾಜಾಲ + ಸಂವಹನಾತ್ಮಕ ವೆಬ್‌ಸೈಟ್‌ಗಳು + TypeScript + JavaScript + ಟೈಪ್‌ಗಳು + ಎಂಟರ್ಪ್ರೈಸ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು + ಡೇಟಾ & AI + Python + ಡೇಟಾ ವಿಜ್ಞಾನ + ಯಂತ್ರ ಅಧ್ಯಯನ + ಸ್ವಯಂಚಾಲನೆ + R + ಅಂಕಿ ಅಂಶಗಳು + ಸಂಶೋಧನೆ + ಮೊಬೈಲ್ ಅಪ್ಪಳು + Java + ಆಂಡ್ರಾಯ್ಡ್ + ಎಂಟರ್ಪ್ರೈಸ್ + Swift + iOS + ಆಪಲ್ ಪರಿಸರ + Kotlin + ಆಧುನಿಕ ಆಂಡ್ರಾಯ್ಡ್ + ಕ್ರಾಸ್-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ + ಸಿಸ್ಟಂಗಳು & ಕಾರ್ಯಕ್ಷಮತೆ + C++ + ಆಟಗಳು + ಕಾರ್ಯಕ್ಷಮತೆ ಮುಖ್ಯ + Rust + ಮეხುರಿ ಸುರಕ್ಷತೆ + ಸಿಸ್ಟಂ ಪ್ರೋಗ್ರಾಮಿಂಗ್ + Go + ಕ್ಲೌಡ್ ಸೇವೆಗಳು + ವಿಸ್ತರಣೀಯ ಬ್ಯಾಕ್‌ಎಂಡ್ +``` +| ಭಾಷೆ | ಉತ್ತಮ ಬಳಕೆ | ಯಾವ್ದಕ್ಕೆ ಜನಪ್ರಿಯವಾಗಿದ್ದು | +|----------|----------|------------------| +| **JavaScript** | ವೆಬ್ ಅಭಿವೃದ್ಧಿ, ಬಳಕೆದಾರ ಮುಖಪುಟಗಳು | ಬ್ರೌಸರ್ ಗಳಲ್ಲಿ ಚಲಿಸುತ್ತದೆ, ಇಂಟರಾಕ್ಟಿವ್ ವೆಬ್‌ಸೈಟ್ ಗಳನ್ನು ಶಕ್ತಿ ನಿಡುತ್ತದೆ | +| **Python** | ಡೇಟಾ ವಿಜ್ಞಾನ, ಸ್ವಯಂಚಾಲನೆ, ಏಐ | ಓದಲು ಸುಲಭ, ಬಹುಶಕ್ತಿಯ ಗ್ರಂಥಾಲಯಗಳು | +| **Java** | ಎಂಟರ್ಪ್ರೈಸ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಆಂಡ್ರಾಯ್ಡ್ ಆಪ್ಸ್ | ವೇದಿಕೆ-ಸ್ವತಂತ್ರ, ಬೃಹತ್ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ದೃಢ | +| **C#** | ವಿಂಡೋಸ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಆಟ ಮಹಿಳತ್ವ | Microsoft ಪರಿಕಲ್ಪನೆ ಸಹಕಾರ | +| **Go** | ಕ್ಲೌಡ್ ಸರ್ವೀಸ್ ಗಳು, ಬ್ಯಾಕ್ಎಂಡ್ ವ್ಯವಸ್ಥೆಗಳು | ವೇಗವಾದ, ಸರಳ, ಆಧುನಿಕ ಗಣನೆಗೆ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ | + +### ಹೈ-ಲೆವೆಲ್ vs ಲೋ-ಲೆವೆಲ್ ಭಾಷೆಗಳು + +ಚನ್ನಾಗಿ, ಇದು ನಿಜವಾಗಿಯೂ ನನ್ನ ಮೆದುಳನ್ನು ಮುರಿದ ಕಲ್ಪನೆಯಾಗಿತ್ತು ಬರುತ್ತಿದ್ದಾಗ, ನಾನು ನನ್ನಿಗೆ ಅರ್ಥ ಮಾಡಿದ ಉಭಯತೆಯನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಬಯಸುತ್ತೇನೆ – ಮತ್ತು ಇದು ನಿಮಗೆ ಸಹ ಸಹಾಯ ಮಾಡುವುದಾಗಿ ನಾನು ಆಶಿಸುತ್ತೇನೆ! + +ನೀವು ಉಳಿದಿನ್ಕೆ ಭಾಷೆ ಮಾತನಾಡದೇ ಇರುವ ದೇಶಕ್ಕೆ ಹೋಗಿದ್ದೀರಿ ಎಂದು ಕಲ್ಪಿಸಿ ಮತ್ತು ನೀವು ತುರ್ತಾಗಿ ಹತ್ತಿರದ ಬಾತ್ರೂಂ ಹುಡುಕಬೇಕಾಗಿದೆ (ನಾವು ಎಲ್ಲರೂ ಇಂತಹ ಅನುಭವಗಳಿವೆ, ಸರಿ? 😅): + +- **ಲೋ-ಲೆವೆಲ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್** ಅಂದರೆ ಅಲ್ಲಿ ಬೆಳೆದ ಹಿರಿಯರು ಮಾತನಾಡುವ ಭಾಷೆಯನ್ನು ಹಳೇ ಹಾದಿ ತಿಳಿದುಕೊಂಡು, ಅನುಭವದ ಅರ್ಥ, ಸ್ಥಳೀಯ ಸಂಸ್ಕೃತಿ ಮತ್ತು ಜೋಕ್ಸ್ ಬಳಸಿ ಅಮೂಲ್ಯ ಸಂವಾದ ಮಾಡುವಂತೆ. ಅದ್ಭುತ ಮತ್ತು ಅತೀ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿ... ನೀವು fluent ಆಗಿದ್ದರೆ! ಆದರೆ ನೀವು ಕೇವಲ ಬಾತ್ರೂಂ ಹುಡುಕಲು ಬಯಸುತ್ತಿರುವಾಗ ತುಂಬಾ ಅತಿಭಾರವಾಗಿರುತ್ತದೆ. + +- **ಹೈ-ಲೆವೆಲ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್** ಅದ್ಹೇಗೆ ಅದ್ಭುತ ಸ್ಥಳೀಯ ಗೆಳೆಯನಿರುವಂತೆ, ನೀವು ಸರಳ ಇಂಗ್ಲಿಷ್ ನಲ್ಲಿ "ನನಗೆ ಬಾತ್ರೂಂ ಬೇಕು" ಎಂದು ಹೇಳಬಹುದು ಮತ್ತು ಅವರು ಎಲ್ಲಾ ಸಂಸ್ಕೃತಿಕ ಅನುವಾದವನ್ನು ಮಾಡಿ ಸಮಯದಿಂದ ನೇರ, ಬುದ್ಧಿವಂತಿಕೆಯಿಂದ ಮಾರ್ಗದರ್ಶನ ನೀಡುತ್ತಾರೆ. + +ಪ್ರೋಗ್ರಾಮಿಂಗ್ ನ ದೃಷ್ಟಿಕೋಣದಲ್ಲಿ: +- **ಲೋ-ಲೆವೆಲ್ ಭಾಷೆಗಳು** (ಅಸೆಂಬ್ಲಿ ಅಥವಾ C) ನಿಮಗೆ ಕಂಪ್ಯೂಟರ್ ನ actual hardware ಜೊತೆಗೆ ವಿವರವಾದ ಸಂವಾದ ಮಾಡಲು ಅವಕಾಶ ಮಾಡುತ್ತವೆ, ಆದರೆ ನಿಮ್ಮಂತೆ ಯಂತ್ರನಂತೆ ತೀರ್ಮಾನಿಸಬೇಕು, ಇದು ಒಂದು ದೊಡ್ಡ ಮಾನಸಿಕ ಬದಲಾವಣೆ! +- **ಹೈ-ಲೆವೆಲ್ ಭಾಷೆಗಳು** (JavaScript, Python, ಅಥವಾ C#) ನೀವು ಹ್ಯೂಮನಾಗಿ ಯೋಚಿಸುವಂತೆ ಮಾಡಿ, ಆ ಸಮಯದಲ್ಲಿ ಯಂತ್ರ ಭಾಷೆಯನ್ನು ಹಿಂಖಾಲಿನಲ್ಲಿ ನಿಭಾಯಿಸುತ್ತವೆ. ಜೊತೆಗೆ, ಇವು ಸಹಾನುಭೂತಿ ಹೊಂದಿದ ದೊಡ್ಡ ಸಮುದಾಯಗಳೊಡನೆ ಬರುತ್ತವೆ, ಇದು ಹೊಸವರಾಗಿ ಇದ್ದ ಅನುಭವವನ್ನು ನೆನಸಿ ಸಹಾಯ ಮಾಡಲು ಉತ್ತಮರು! + +ನಾನು ಯಾವ ದಾರಿಯೊಂದಿಗೆ ನಿಮ್ಮನ್ನು ಪ್ರಾರಂಭಿಸಲು ಶಿಫಾರಸು ಮಾಡುತ್ತೇನೆ ಗೊತ್ತಾ? 😉 ಹೈ-ಲೆವೆಲ್ ಭಾಷೆಗಳು ತರಬೇತಿ ಚಕ್ರಗಳಂತಿವೆ, ನೀವು ಅವುಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಬಯಸದಿರಿ ಏಕೆಂದರೆ ಅವು ಒಟ್ಟಾರೆ ಅನುಭವವನ್ನು ಅತ್ಯಂತ ಸುಂದರ ಮಾಡಿಸುತ್ತವೆ! + +```mermaid +flowchart TB + A["👤 ಮಾನವ ಚಿಂತನೆ:
'ನಾನು ಫಿಬೊನಾಚಿ ಸಂಖ್ಯೆಗಳ गणನೆ ಮಾಡಬೇಕಾಗಿದೆ'"] --> B{ಭಾಷಾ ಮಟ್ಟವನ್ನು ಆರಿಸಿ} + + B -->|ಹೈ-ಲೆವೆಲ್| C["🌟 ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್/ಪೈಥಾನ್
ಓದಲು ಮತ್ತು ಬರೆಯಲು ಸುಲಭ"] + B -->|ಲೋ-ಲೆವೆಲ್| D["⚙️ ಅಸೆಂಬೆಲಿ/ಸಿ
ನೇರ ಹಾರ್ಡ್‌ವೇರ್ ನಿಯಂತ್ರಣ"] + + C --> E["📝 ಬರೆಯಿರಿ: fibonacci(10)"] + D --> F["📝 ಬರೆಯಿರಿ: mov r0,#00
sub r0,r0,#01"] + + E --> G["🤖 ڪمپ್ಯೂಟರ್ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ:
ಭಾಷಾಂತರಕಾರ ಜಟಿಲತೆಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ"] + F --> G + + G --> H["💻 ಎಂತಹ ಫಲಿತಾಂಶ:
0, 1, 1, 2, 3, 5, 8, 13..."] + + style C fill:#e1f5fe + style D fill:#fff3e0 + style H fill:#e8f5e8 +``` +### ನಾನ್ ನಿಮಗೆ ತೋರಿಸುತ್ತೇನೆ ಏಕೆ ಹೈ-ಲೆವೆಲ್ ಭಾಷೆಗಳು ತುಂಬಾ ಸ್ನೇಹಪರವಾಗಿವೆ + +ಚನ್ನಾಗಿ, ನಾನು ನಿಮಗೆ ಹೈ-ಲೆವೆಲ್ ಭಾಷೆಗಳೊಂದಿಗೆ ಶಾಲಿತವಾದುದನ್ನು ತೋರಿಸುವೆ, ಆದರೆ ಮೊದಲು ಒಂದು ಮಾತು ಹೇಳಿ. ಮೊದಲ ಕೇಸ್ ಉದಾಹರಣೆಯನ್ನು ನೋಡಿದಾಗ ಪ್ಯಾನಿಕ್ ಆಗಬೇಡಿ! ಅದು ಭಯಂಕರವಾಗಿಯೇ ತೋರುತ್ತದೆ. ಅದೇ ನಾನು ಹೇಳಬೇಕಾದ ಮಹತ್ವ. + +ನಾವು ಅದೇ ಕಾರ್ಯವನ್ನು ಎರಡು ವಿಭಿನ್ನ ಶೈಲಿಗಳಲ್ಲಿ ಬರೆಯಲಿದ್ದೇವೆ. ಎರಡೂ ಫಿಬೋನ್ಯಾಸಿ ಕ್ರಮವನ್ನು ಸೃಷ್ಟಿಸುತ್ತವೆ – ಇದು ಸುಂದರ ಗಣಿತೀಯ ಮಾದರಿಯಾಗಿದೆ, प्रत्येक ಸಂಖ್ಯೆ ಹಿಂದಿನ ಎರಡು ಸಂಖ್ಯೆಗಳ ಮೊತ್ತ: 0, 1, 1, 2, 3, 5, 8, 13... (ಆನಂದಕಾರಿ ವಿಚಾರ: ನೀವು ಈ ಮಾದರಿಯನ್ನು ಪ್ರಕೃತಿಯಲ್ಲಿ ಎಲ್ಲೆಡೆ ಕಂಡುಹಿಡಿಯುತ್ತೀರಿ – ಸೂರ್ಯಕಾಂತಿ ಸೀಡಿನ ಸಿಪ್ಪಣೆ, ಪೈನ್ ಕೊನೆ ಮಾದರಿ, ಗ್ಯಾಲಕ್ಸಿಗಳ ನಿರ್ಮಾಣವೂ!) + +ವೈಭಿನ್ನ್ಯವನ್ನು ನೋಡೋಣವೇ? + +**ಹೈ-ಲೆವೆಲ್ ಭಾಷೆ (JavaScript) – ಮಾನವ ಸ್ನೇಹಿ:** + +```javascript +// ಹಂತ 1: ಮೂಲ ಫಿಬೋನಾಚಿ ವ್ಯವಸ್ಥೆ +const fibonacciCount = 10; +let current = 0; +let next = 1; + +console.log('Fibonacci sequence:'); +``` + +**ಈ ಕೋಡ್ ಮಾಡುವುದು ಏನು:** +- ನಿರ್ಧರಿಸಿ ಎಷ್ಟು ಫಿಬೋನ್ಯಾಸಿ ಸಂಖ್ಯೆಗಳು ಬೇಕು ಎಂಬುದನ್ನು +- ಎರಡು ವ್ಯತ್ಯಾಸಗಳನ್ನು ನಿರ್ಮಿಸಿ ಕ್ರಮದ ಪ್ರಸ್ತುತ ಮತ್ತು ಮುಂದಿನ ಸಂಖ್ಯೆಯನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು +- ಪ್ರಾರಂಭಿಕ ಮೌಲ್ಯಗಳನ್ನು (0 ಮತ್ತು 1) ಹೊಂದಿಸಿ, ಫಿಬೋನ್ಯಾಸಿ ಮಾದರಿ ರೂಪಿಸುವಂತೆ +- ನಮ್ಮ output ಗೆ ಹೆಡರ್ ಸಂದೇಶವನ್ನು ತೋರಿಸಿ + +```javascript +// ಹಂತ 2: ಲೂಪ್‌ನೊಂದಿಗೆ ಕ್ರಮವನ್ನು ಉತ్పन्नಿಸಿ +for (let i = 0; i < fibonacciCount; i++) { + console.log(`Position ${i + 1}: ${current}`); + + // ಕ್ರಮದಲ್ಲಿ ಮುಂದಿನ ಸಂಖ್ಯೆ ಗಣನೆ ಮಾಡಿ + const sum = current + next; + current = next; + next = sum; +} +``` + +**ಇಲ್ಲಿ ಏನು ನಡೆಯುತ್ತಿದೆ:** +- `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 + adr r0,thumb+1 + bx r0 + code16 +thumb + mov r0,#00 + sub r0,r0,#01 + mov r1,#01 + mov r4,#10 + ldr r2,=0x40000000 +back add r0,r1 + str r0,[r2] + add r2,#04 + mov r3,r0 + mov r0,r1 + mov r1,r3 + sub r4,#01 + cmp r4,#00 + bne back + end +``` + +JavaScript ನ ಆವೃತ್ತಿ ಇರುವಂತೆ ಇಂಗ್ಲಿಷ್ ಸೂಚನೆಗಳಂತೆ ಓದುತ್ತದೆ, ಅಸೆಂಬ್ಲಿ ಆವೃತ್ತಿ ನೇರವಾಗಿ ಕಂಪ್ಯೂಟರ್ ಪ್ರೊಸೆಸರ್ ಅನ್ನು ನಿಯಂತ್ರಿಸುವ ರಹಸ್ಯ ಆದೇಶಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಎರಡೂ ಅದೇ ಕಾರ್ಯವನ್ನು ನೆರವೆರಿಸುತ್ತವೆ, ಆದರೆ ಹೈ-ಲೆವೆಲ್ ಭಾಷೆಮಾನವರಿಗಾಗಿ ಸರಳವಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು, ಬರೆಯುವುದು ಮತ್ತು ನಿರ್ವಹಿಸುವುದು ಸುಲಭ. + +**ನೀವು ಗಮನಿಸುವ ಪ್ರಮುಖ ವ್ಯತ್ಯಾಸಗಳು:** +- **ಓದುಗೊಳ್ಳುವ ಬಾಧ್ಯತೆ**: JavaScript ನಲ್ಲಿ `fibonacciCount` ಹಾಗು ಅರ್ಥವಂತಿತನದ ಹೆಸರುಗಳಿವೆ, ಅಸೆಂಬ್ಲಿ ಕೇವಲ `r0`, `r1` ರೀತಿಯ ಸಂಕ್ಷಿಪ್ತ ಲೇಬಲ್ ಗಳು ಇರುವವು +- **ವಿಚಾರಣೆಗಳು**: высокого ಪದಗಳಲ್ಲಿ ವಿವರಣಾತ್ಮಕ ಟಿಪ್ಪಣಿಗಳನ್ನು ಉತ್ತೇಜಿಸುತ್ತವೆ, ಇದು ಕೋಡ್ ಸ್ವಯಂ-ಡಾಕ್ಯುಮೆಂಟಿಂಗ್ ಆಗುತ್ತದೆ +- **ರಚನೆ**: ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನ ತರ್ಕದ ಹರಿವು ಜನರು ಸಮಸ್ಯೆಗಳನ್ನು ಹಂತ ಹಂತವಾಗಿ ಯೋಚಿಸುವ ರೀತಿಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ +- **ಪರಿಹಾರ**: ವಿಭಿನ್ನ ಅಗತ್ಯಗಳಿಗೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಆವೃತ್ತಿಯನ್ನು ನವೀಕರಿಸುವುದು ಸರಳ ಮತ್ತು ಸ್ಪಷ್ಟವಾಗಿದೆ + +✅ **ಫೈಬೋನಾಚಿ ಕ್ರಮಬದ್ಧತೆ ಬಗ್ಗೆ**: ಈ ಅತೀ ಸುಂದರ ಸಂಖ್ಯಾ ಪ್ಯಾಟರ್ನ್ (ಪ್ರತಿ ಸಂಖ್ಯೆ ತನ್ನ ಮೊದಲು ಎರಡು ಸಂಖ್ಯೆಗಳ ಮೊತ್ತಕ್ಕೆ ಸಮಾನವಾಗಿರುತ್ತದೆ: 0, 1, 1, 2, 3, 5, 8...) ನೈಸರ್ಗಿಕವಾಗಿ *ಪ್ರತಿಯೊಂದೂಡೆ* ಕಂಡುಬರುತ್ತದೆ! ನೀವು ಇದನ್ನು ಸೂರ್ಯಕಾಂತಿ ಕಾಳೇಬೆರಕಗಳ ಕವಾಟಗಳಲ್ಲಿ, ಪೈನ್ ಕಾಂನೆಯ ವಿನ್ಯಾಸದಲ್ಲಿ, ನೌಟಿಲಸ್ ಶೆಲ್ ತಿರುವುಗಳಲ್ಲಿ ಮತ್ತು ಮರಕಾಲುಗಳು ಬೆಳೆದಿರುವ ರೀತಿಯಲ್ಲಿ ಕಂಡುಹಿಡಿಯುತ್ತೀರಿ. ಗಣಿತ ಮತ್ತು ಕೋಡ್ ನಮಗೆ ಪ್ರಕೃತಿ ಬಳಸುವ ಮಾದರಿಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮತ್ತು ಪುನರ್ಉತ್ಪಾದನೆ ಮಾಡಲು ಸಹಾಯ ಮಾಡುವುದನ್ನು ಎಷ್ಟೋ ಆಶ್ಚರ್ಯಕರವಾಗಿದೆ! + +## ಮಾಯಾಜಾಲವನ್ನು ಉಂಟುಮಾಡುವ ಕಟ್ಟಡ ಬ್ಲಾಕ್ಗಳು + +ಸರಿ, ಈಗ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಯಾಕೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಎಂದು ನೋಡಿ, ಈಗ ಪ್ರತಿಯೊಂದು ಪ್ರೋಗ್ರಾಮ್ ಸೃಷ್ಟಿಸುವ ಸಂಪೂರ್ಣ ಮೂಲಭೂತ ಘಟಕಗಳನ್ನು ವಿಶ್ಲೇಷಿಸೋಣ. ಇವುಗಳನ್ನು ನಿಮ್ಮ ಪ್ರಿಯತಮ ಬಾಣಸಿಗೆಯ ಮುಖ್ಯಾಂಶಗಳೆಂದು ಭಾವಿಸಿ — ಪ್ರತಿಯೊಂದರ ಕಾರ್ಯವನ್ನು ತಿಳಿದುಕೊಂಡ ನಂತರ, ನೀವು ಬಹುಶಃ ಯಾವುದಾದರೂ ಭಾಷೆಯಲ್ಲಿ ಕೋಡ್ ಓದಲೂ ಬರೆದೂ ಸಹ ಸಾಧ್ಯ! + +ಇದು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ವ್ಯಾಕರಣವನ್ನು ಕಲಿಯುವ ತಾತ್ಪರ್ಯ. ಶಾಲೆಯಲ್ಲಿರುವಾಗ ನಾಮಪುರುಷ, ಕ್ರಿಯಾಪದಿ ಮತ್ತು ವಾಕ್ಯ ರಚನೆ ಕಲಿತಿರಾ? ಪ್ರೋಗ್ರಾಮಿಂಗ್ ತನ್ನದೇ ಆಗಿ ವ್ಯಾಕರಣವನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಸತ್ಯ ಹೇಳಬೇಕೆಂದರೆ, ಅದು ಇಂಗ್ಲಿಷ್ ವ್ಯಾಕರಣಕ್ಕಿಂತ ಬಹಳ ನ್ಯಾಯಸಂಗತ ಮತ್ತು ಕ್ಷಮಾಸೀಲವಾಗಿದೆ! 😄 + +### ಹೇಳಿಕೆಗಳು: ಹಂತ ಹಂತದ ಸೂಚನೆಗಳು + +ನಾವು **ಹೇಳಿಕೆಗಳ**ೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸೋಣ – ಇವು ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಜೊತೆಗೆ ಸಂಭಾಷಣೆಯಲ್ಲಿನ ವಾಕ್ಯಗಳಂತೆ. ಪ್ರತಿ ಹೇಳಿಕೆಯಲ್ಲಿ ಕಂಪ್ಯೂಟರ್‌ಗೆ ಒಂದು ನಿಖರ ಕಾರ್ಯವನ್ನು ನೀಡಲಾಗುತ್ತದೆ, ಉದಾಹರಣೆಗೆ: "ಇಲ್ಲಿ ಎಡಕ್ಕೆ ತಿರುವು ಮಾಡಿ," "ಕೆಂಪು ಬೆಳಕಿನಲ್ಲಿ ನಿಲ್ಲಿ," "ಅಲ್ಲಿ ಪಾರ್ಕ್ ಮಾಡಿ." + +ನನಗೆ ಹೇಳಿಕೆಗಳಲ್ಲಿ ಇಷ್ಟವಾದುದು ಅವು ಸಾಮಾನ್ಯವಾಗಿ ಓದಲು ಸುಲಭವಾಗಿರುವದು. ಇದು ನೋಡಿ: + +```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` ಉಪಯೋಗಿಸಿ +- ವಿವಿಧ ಡೇಟಾ ಪ್ರಕಾರಗಳನ್ನು ಅನ್ವಯಿಸಿ: ಸ್ಟ್ರಿಂಗ್‌ಗಳು (ಪಠ್ಯ), ಸಂಖ್ಯೆಗಳು, ಬುಲುನ್‌ಗಳು (ನಿಜ/ಬ್ರಹ್ಮ) +- ಪ್ರತಿ ಚರವು ಏನು ಹೊಂದಿದೆ ಎಂದು ವಿವರಿಸುವ ಹೆಸರುಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ + +```javascript +// ಹಂತ 2: ಸಂಬಂಧಿಸಿದ ಡೇಟಾವನ್ನು ಗುಂಪು ಮಾಡಲು ವಸ್ತುಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು +const weatherData = { + location: "San Francisco", + humidity: 65, + windSpeed: 12 +}; +``` + +**ಮೇಲಿನಲ್ಲಿಈವು:** +- ಸಂಬಂಧಿಸಿದ ಹವಾಮಾನ ಮಾಹಿತಿಯನ್ನು ಗುಂಪು ಮಾಡಲು ಒಂದು ವಸ್ತುವನ್ನು ರಚಿಸಲಾಗಿದೆ +- ವಿವిధ ಡೇಟಾ ತುಂಡುಗಳನ್ನು ಒಂದು ಚರ ಹೆಸರಿನ ಅಡಿಯಲ್ಲಿ ವ್ಯವಸ್ಥಿತಗೊಳಿಸಲಾಗಿದೆ +- ಪ್ರತಿ ಮಾಹಿತಿ ತುಂಡಿಗೆ ಸ್ಪಷ್ಟ ಲೇಬಲಿಂಗ್ ಮಾಡಲು ಕೀ-ಮೌಲ್ಯ ಜೋಡಿಗಳನ್ನು ಉಪಯೋಗಿಸಲಾಗಿದೆ + +```javascript +// ಹಂತ 3: ಚರಗಳನ್ನು ಬಳಸುವುದು ಮತ್ತು ನವೀಕರಿಸುವುದು +console.log(`${siteName}: Today is ${currentWeather} and ${temperature}°F`); +console.log(`Wind speed: ${weatherData.windSpeed} mph`); + +// ಬದಲಾವಣೆ ಮಾಡಬಹುದಾದ ಚರಗಳನ್ನು ನವೀಕರಿಸುವುದು +currentWeather = "cloudy"; +temperature = 68; +``` + +**ಪ್ರತಿ ಭಾಗವನ್ನು ತಿಳಿದುಕೊಳ್ಳೋಣ:** +- ಟೆಂಪ್ಲೇಟ್ ಲಿಟರಲ್ `${}` ಬಳಸಿ ಮಾಹಿತಿ ಪ್ರದರ್ಶಿಸಿ +- ಡಾಟ್ ಸೂಚನೆಯನ್ನು ಉಪಯೋಗಿಸಿ ವಸ್ತು ಗುಣಲಕ್ಷಣಗಳನ್ನು ಪ್ರಾಪ್ತಿಮಾಡಿ (`weatherData.windSpeed`) +- ಬದಲಾಯಿಸುತ್ತಿದ್ದ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ಪ್ರತಿಬಿಂಬಿಸುವಂತೆ `let` ಚರಗಳನ್ನು ನವೀಕರಿಸಿ +- ವಿವಿಧ ಚರಗಳನ್ನು ಸಂಯೋಜಿಸಿ ಅರ್ಥಮಯ ಸಂದೇಶಗಳು ಸೃಷ್ಟಿಸಿ + +```javascript +// ಹಂತ 4: ಸ್ವಚ್ಛವಾದ ಕೋಡಿಗಾಗಿ ಆಧುನಿಕ ವಿನಾಶಕ ರಚನೆ +const { location, humidity } = weatherData; +console.log(`${location} humidity: ${humidity}%`); +``` + +**ನಿಮಗೆ ತಿಳಿದುಕೊಳ್ಳಬೇಕಾದುದು:** +- ವಸ್ತುಗಳಿಂದ ನಿರ್ದಿಷ್ಟ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಡಿಸ್ಟ್ರಕ್ಚರಿಂಗ್ ನಿಯೋಜನೆ ಬಳಸಿ ತೆಗೆಯಿರಿ +- ವಸ್ತು ಕೀಲಿಗಳಷ್ಟೇ ಹೆಸರಿನ ನವಚರಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನಿರ್ಮಿಸಿ +- ಪುನರಾವರ್ತಿತ ಡಾಟ್ ಸೂಚನೆಯು ತಪ್ಪಿಸುವ ಮೂಲಕ ಕೋಡ್ ಅನ್ನು ಸರಳಗೊಳಿಸಿ + +### ನಿಯಂತ್ರಣ ಹರಿವು: ನಿಮ್ಮ ಪ್ರೋಗ್ರಾಮ್‌ಗೆ ಯೋಚಿಸುವಿಕೆಯನ್ನು ಕಲಿಸುವುದು + +ಸರಿ, ಇದು ನಿಜವಾಗಿಯೂ ಪ್ರोग್ರಾಮಿಂಗ್ ಅನ್ನು ಮನಸಿಗೆ ಬರುವಂತೆ ಮಾಡುವುದಾಗಿದ್ದು! **ನಿಯಂತ್ರಣ ಹರಿವು** ಅಂದರೆ ನಿಮ್ಮ ಪ್ರೋಗ್ರಾಮ್‌ಗೆ ಬುದ್ಧಿವಂತ ನಿರ್ಧಾರಗಳನ್ನು ಹೇಗೋ ಮಾಡಿ ಕಲಿಸುವುದು, ನೀವು ಪ್ರತಿದಿನವೂ ಯೋಚಿಸದೆ ಮಾಡಿಕೊಳ್ಳುವಂತೆ. + +ಕಳೆವುದಾಗಿ ಧರಿಸೋಣ: ನೀವು ಈ ಬೆಳಿಗ್ಗೆ "ಮಳೆ ಬೀಳುವಿದ್ದರೆ ಝಾಳಿಯನ್ನು ತೆಗೆದುಕೊಳ್ಳು, ತಣ್ಣಗಿದ್ದರೆ ಜಾಕೆಟ್ ಧರಿ, ತಡವಾಗಿ ಹೊರಹೋಗುತ್ತಿದ್ದರೆ ಉಪಾಹಾರ ಬಿಡಿಸಿ ಕಾಫಿ ತೆಗೆದುಕೊಳ್ಳು" ಎಂಬದ್ದು ನೀವು ಅನುಸರಿಸಿದ್ದೀರಂತೆ. ನಿಮ್ಮ ಮೆದುಳು ನೈಸರ್ಗಿಕವಾಗಿ ಈ if-then ತರ್ಕವನ್ನು ಅನೇಕವೇಳೆ ಪಾಲಿಸುತ್ತದೆ! + +ಇದರಿಂದ ಪ್ರೋಗ್ರಾಮ್ಗಳು ಬುದ್ಧಿವಂತ ಮತ್ತು ಜೀವಂತವಾಗಿವೆ ಎನ್ನುವುದು, ಕೆಲವೇ ವಿಚಿತ್ರ, ನಿರಾಧಾರಿತ ಸ್ಕ್ರಿಪ್ಟ್ ಅನುಸರಿಸುವುದಲ್ಲ. ಅವು ಒಂದು ಪರಿಸ್ಥಿತಿ ನೋಡುತ್ತವೆ, ನಡೆಯುತ್ತಿರುವುದನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡುತ್ತವೆ ಮತ್ತು ಸೂಕ್ತವಾಗಿ ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತವೆ. ಇದು ಪ್ರೋಗ್ರಾಮ್‌ಗೆ ಒಂದು ಮೆದುಳನ್ನು ಕೊಡುವಂತಿದೆ, ಅದು ಹೊಂದಿಕೊಳ್ಳಲು ಮತ್ತು ನಿರ್ಧಾರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ! + +ಇದು ಹೇಗೆ ಸುಂದರವಾಗಿ ಕೆಲಸಮಾಡುತ್ತದೆ ಎಂದು ನೋಡೋಣ: + +```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` ಹೇಳಿಕೆಯಿಂದ ಎಲ್ಲಾ ಸಾಧ್ಯವಾದ ಪ್ರಕರಣಗಳನ್ನು ನಿಭಾಯಿಸುತ್ತದೆ +- ಪ್ರತಿ ವಿಭಿನ್ನ ಪರಿಸ್ಥಿತಿಗೆ ನಿರ್ದೇಶನಾತ್ಮಕ ಮತ್ತು ಸ್ಪಷ್ಟ ಪ್ರತಿಕ್ರಿಯೆ ನೀಡುತ್ತದೆ + +```javascript +// ಹೆಜ್ಜೆ 3: ternary ಕಾರ್ಯಾಚರಣೆಯೊಂದಿಗೆ ಸಂಕ್ಷಿಪ್ತ ಶರತ್ತಿನ ಪ್ರಕಟಣೆ +const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet"; +console.log(`Status: ${votingStatus}`); +``` + +**ನಿಮ್ಮ ನೆನಪಿನಲ್ಲಿ ಇರಲಿ:** +- ಸರಳ ಎರಡು ಆಯ್ಕೆಗಳ ಷರತ್ತುಗಳಿಗೆ ternary ಆಪರೇಟರ್ (`? :`) ಉಪಯೋಗಿಸಿ +- ಮೊದಲು ಷರತ್ತು ಬರೆಯಿರಿ, ನಂತರ `?`, ತದನಂತರ ನಿಜವಾದ ಫಲಿತಾಂಶ, ನಂತರ `:`, ನಂತರ ಮೋಸದ ಫಲಿತಾಂಶ ಬರೆಯಿರಿ +- ಷರತ್ತಿನ ಆಧಾರದ ಮೇಲೆ ಮೌಲ್ಯಗಳನ್ನು ನಿಗದಿಪಡಿಸುವಾಗ ಈ ಮಾದರಿಯನ್ನು ಅನುಸರಿಸಿ + +```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"); +} +``` + +**ಈ ಕೋಡ್ ಈ ಕೆಳಗಿನ ಕಾರ್ಯಗಳನ್ನು ನೆರವೇರಿಸುತ್ತದೆ:** +- ಚರ ಮೌಲ್ಯವನ್ನು ಹಲವು ವಿಶೇಷ ಪ್ರಕರಣಗಳಿಗೆ ಹೊಂದಿಸಿ +- ಹೋಲಿಕೆಯಾಗುವ ಪ್ರಕರಣಗಳನ್ನು (ವಾರದ ಕೆಲಸದ ದಿನಗಳ ವಿರುದ್ಧ ವಾರಾಂತ್ಯ) ಗುಂಪುಮಾಡಿ +- ಹೊಂದಿಕೆಯಾಗುವ ವೇಳೆ ಸೂಕ್ತ ಕೋಡ್ ಬ್ಲಾಕ್ ಕಾರ್ಯಗತಗೊಳಿಸಿ +- ಅಪೇಕ್ಷಿತವಲ್ಲದ ಮೌಲ್ಯಗಳನ್ನು ನಿಭಾಯಿಸಲು `default` ಪ್ರಕರಣವನ್ನು ಸೇರಿಸಿ +- ಮುಂದಿನ ಪ್ರಕರಣಕ್ಕೆ ಕೋಡ್ ಮುಂದುವರೆಯದಂತೆ `break` ಹೇಳಿಕೆಗಳು ಬಳಸಿ + +> 💡 **ವಾಸ್ತವಿಕ ಉದಾಹರಣೆ**: ನಿಯಂತ್ರಣ ಹರಿವು ಎಂದರೆ ಜಗತ್ತಿನ ಅತ್ಯಂತ ವಿಧಿಯುತ ಜಿಪಿಎಸ್ ನಿಯಮಂತ್ರಿ ನಿಮ್ಮಿಗೆ ದಿಕ್ಕು ಸೂಚಿಸುವಂತೆ. ಅದು ಹೇಳಬಹುದು "ಮೆನ್ ಸ್ಟ್ರೀಟಿನಲ್ಲಿ ಟ್ರಾಫಿಕ್ ಇದ್ದರೆ ಹೆದ್ದಾರಿಯನ್ನು ಬಳಸಿ. ಹೆದ್ದಾರಿಯನ್ನು ಕಟ್ಟಡ ಕಾಮಗಾರಿಗಳು ತಡೆಯುತ್ತಿದ್ದರೆ ನဲ့ಪಲ್ಲವೆಂಬ ಮಾರ್ಗ ಪ್ರಯತ್ನಿಸಿ." ಪ್ರೋಗ್ರಾಮ್ಗಳು ಕೂಡ ಇದೇ ರೀತಿಯ ಷರತ್ತುಗತ ತರ್ಕವನ್ನು ಉಪಯೋಗಿಸಿ ವಿಭಿನ್ನ ಪರಿಸ್ಥಿತಿಗಳಿಗೆ ಬುದ್ಧಿವಂತಿಕೆಯಿಂದ ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತವೆ ಮತ್ತು ಬಳಕೆದಾರರಿಗೆ ಉತ್ತಮ ಅನುಭವವನ್ನು ಒದಗಿಸುತ್ತವೆ. + +### 🎯 **ಧಾರಣಾ ಪರಿಶೀಲನೆ: ಕಟ್ಟಡ ಬ್ಲಾಕ್ ಮಾಸ್ಟರಿ** + +**ನೀವು ಮೂಲಭೂತಗಳನ್ನು ಹೇಗೆ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತಿದ್ದೀರೋ ನೋಡೋಣ:** +- ನಿಮ್ಮದೇ ಪದಗಳಲ್ಲಿ ಒಂದು ಚರ ಮತ್ತು ಹೇಳಿಕೆಯ ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ವಿವರಿಸಬಹುದೆ? +- ನಿಜ ಜೀವನದ ಒಂದು ಸಂದರ್ಭವನ್ನು ಭಾವಿಸಿ, যেখানে ನೀವು if-then ನಿರ್ಧಾರವನ್ನು ಬಳಸುತ್ತಿದ್ದೀರಿ (ನಮ್ಮ ಮತದಾನ ಉದಾಹರಣೆಗಳಂತೆ) +- ಪ್ರೋಗ್ರಾಮಿಂಗ್ ತರ್ಕದ ಎಷ್ಟು ಅದ್ಭುತ ಸಂಗತಿಯನ್ನು ನೀವು ಕಂಡಿದ್ದೀರಿ? + +**ವೇಗದ ಆತ್ಮವಿಶ್ವಾಸ ಪ್ರೋತ್ಸಾಹ:** +```mermaid +flowchart LR + A["📝 ಹೇಳಿಕೆಗಳು
(ಸೂಚನೆಗಳು)"] --> B["📦 ಚರಗಳು
(ಸಂಗ್ರಹಣೆ)"] --> C["🔀 ನಿಯಂತ್ರಣ ಹರಿವು
(ನಿರ್ಣಯಗಳು)"] --> D["🎉 ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಪ್ರೋಗ್ರಾಮ್!"] + + style A fill:#ffeb3b + style B fill:#4caf50 + style C fill:#2196f3 + style D fill:#ff4081 +``` +✅ **ಮುಂದೆ ಏನು ಬರುತ್ತದೆ**: ನಾವು ಈ ಧಾರಣೆಗಳನ್ನೆಲ್ಲಾ ಇನ್ನಷ್ಟು ಆಳವಾಗಿ ಅನ್ವೇಷಿಸುವ ಅದ್ಭುತ ಪ್ರಯಾಣವನ್ನು ಮುಂದುವರಿಸುವುದಾಗಿ ನಿರ್ಧರಿಸಿದ್ದೇವೆ! ಈಗಿನ ನಿಮಿತ್ತ, ಎಲ್ಲಾ ಅದ್ಭುತ ಸಾಧ್ಯತೆಗಳ ಬಗ್ಗೆ ಆ ಉತ್ಸಾಹವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಗಮನಸೇರಿ. ನಿರ್ದಿಷ್ಟ ಕಌಕಗಳು ಹಾಗೂ ತಂತ್ರಜ್ಞಾನಗಳು ಸ್ವಾಭಾವಿಕವಾಗಿ ಬಾಣಸದಂತೆ ಅನುಸರಿಸಲ್ಪಡುತ್ತವೆ – ನಿಮಗೆ ನಾನು ಹೇಳುವೆ ಇದೊಂದು ಹೆಚ್ಚು ರಂಜನೀಯ ಅನುಭವವಾಗಲಿದೆ! + +## ಉಪಕರಣಗಳ ಬ್ಯಾಗ್ + +ಸರಿ, ಈಗ ನಿಜವಾಗಿಯೂ ನಾನು ತುಂಬಾ ಉತ್ಸಾಹಗೊಂಡಿದ್ದೇನೆ, ಸ್ವಲ್ಪ ಹಿಡಿಯಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ! 🚀 ನಿಮಗೆ ದಿಜಿಟಲ್ ಸ್ಪೇಸ್‌ಶಿಪ್ ಕೀಗಳನ್ನು ನೀಡಿದಂತೆ ಭಾಸವಾಗುವ ಅದ್ಭುತ ಉಪಕರಣಗಳ ಬಗ್ಗೆ ಮಾತನಾಡಲಿದ್ದೇವೆ. + +ನೀವು ತಿಳಿದಿರಬಹುದು, ಶೆಫ್‌ಗಳು ತಾವು ಬಳಸುವ ಸೂಕ್ತ ಸಮತೋಲನದಿಂದ ножಗಳನ್ನು ತಮ್ಮ ಕೈಗಳ ವಿಸ್ತಾರಗಳಂತೆ ಅನುಭವಿಸುವರು; ಸಂಗೀತಗಾರರು ಒಬ್ಬ ಗಿಟಾರ್‌ನಲ್ಲಿ ಸ್ಪರ್ಶಿಸುವಂತೆ ಅದು ಹಾಡುತ್ತದೆ. ಹಾಗೆಯೇ ಡೆವಲಪರ್ಗಳಿಗೂ ಇವು ಮಹಾ ಮಾಯಾಜಾಲಿ ಉಪಕರಣಗಳಿವೆ, ಉಳಿದವು ಸಂಪೂರ್ಣ ಮುಕ್ತವಾಗಿವೆ! + +ನಾನು ಕುರ್ಚಿಯಲ್ಲಿ ಕುಳಿತಿದ್ದಂತೆ ಹಾರಾಡುತ್ತೇನೆ, ಏಕೆಂದರೆ ಇವುಗಳು ಸಾಫ್ಟ್‌ವೇರ್ ನಿರ್ಮಾಣ ಶೈಲಿಯನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬದಲಿಸಿ ಇವೆ. AI ಸಹಾಯಕರು ನಿಮ್ಮ ಕೋಡ್ ಬರೆಯಲು ಸಹಾಯ ಮಾಡುತ್ತಾರೆ (ನನಗೆ ನಿಜವಾಗಿಯೂ ಹಾಸ್ಯವಲ್ಲ!), ಕ್ಲೌಡ್ ಪರಿಸರಗಳು Wi-Fi ಇದ್ದ ಎಲ್ಲಿಂದಲಾದರೂ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಲಭ್ಯವಿದೆ, ಹಾಗೂ ಡೀಬಗಿಂಗ್ ಉಪಕರಣಗಳು ಹಿರಿದಾದ ಆಳದಿಂದ ನಿಮಗೆ X-ಕಿರಣ ದೃಷ್ಟಿ ನೀಡುತ್ತವೆ. + +ಈ ಭಾಗವು ಇನ್ನೂ ಕಂಗೆಡಿಸುತ್ತಿದೆ: ಇವು "ಶುರುವಾಗಿಯ ಉಪಕರಣಗಳು" ಅಲ್ಲ, ನೀವು ಬಿಟ್ಟುಹೋದ ನಂತರ ಬಳಕೆ ಅವಶ್ಯಕವಾಗದ ಅವುಗಳು ಸಹ ಅಲ್ಲ. ಗೂಗಲ್, ನೆಟ್‌ಫ್ಲಿಕ್ಸ್ ಮತ್ತು ನೀವು ಪ್ರೀತಿಸುವ ಇಂಡಿ ಅಪ್ ಸ್ಟೂಡಿಯೊಗಳಲ್ಲಿ ಡೆವಲಪರ್ಗಳು ಉಪಯೋಗಿಸುವ ನಿಜವಾದ ವೃತ್ತಿಪರ ಮಟ್ಟದ ಉಪಕರಣಗಳೇ ಇವೆ. ನೀವು ಅವರ ಮೂಲೆ ರಚಿಸಲು ಹೇಗೋ ಪ್ರೊ ಪ್ರಭಾವ ಅನುಭವಿಸುವಿರಿ! + +```mermaid +graph TD + A["💡 ನಿಮ್ಮ ಆಲೋಚನೆ"] --> B["⌨️ ಕೋಡ್ ಸಂಪಾದಕ
(VS ಕೋಡ್)"] + B --> C["🌐 ಬ್ರೌಸರ್ ಡೆವ್ ಟೂಲ್‌ಗಳು
(ಪರೀಕ್ಷೆ & ಡಿಬಗಿಂಗ್)"] + C --> D["⚡ ಆಜ್ಞಾಪತ್ರಶ್ರೀ
(ಸ್ವಯಂಕ್ರಿಯ & ಸಾಧನಗಳು)"] + D --> E["📚 ದಾಖಲೆ
(ಕಲಿಕೆ & ಉಲ್ಲೇಖ)"] + E --> F["🚀 ಅದ್ಭುತ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್!"] + + B -.-> G["🤖 ಕೃತ್ರಿಮ ಬುದ್ಧಿಮತ್ತೆಯ ಸಹಾಯಕ
(GitHub Copilot)"] + C -.-> H["📱 ಉಪಕರಣ ಪರೀಕ್ಷೆ
(ಪ್ರತಿಕ್ರಿಯಾಶೀಲ ವಿನ್ಯಾಸ)"] + D -.-> I["📦 ಪ್ಯಾಕೇಜ್ ವ್ಯವಸ್ಥಾಪಕರು
(npm, yarn)"] + E -.-> J["👥 ಸಮುದಾಯ
(Stack Overflow)"] + + style A fill:#fff59d + style F fill:#c8e6c9 + style G fill:#e1f5fe + style H fill:#f3e5f5 + style I fill:#ffccbc + style J fill:#e8eaf6 +``` +### ಕೋಡ್ ಎಡಿಟರ್ಸ್ ಮತ್ತು IDEಗಳು: ನಿಮ್ಮ ಹೊಸ ಡಿಜಿಟಲ್ ಸ್ನೇಹಿತರು + +ನಾವು ಕೋಡ್ ಎಡಿಟರ್‌ಗಳ ಬಗ್ಗೆ ಮಾತನಾಡೋಣ – ಇವು ಬಹುಶಃ ನಿಮ್ಮ ಹೊಸ ಪ್ರಿಯಸ್ಥಾನಗಳಾಗಲಿವೆ! ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಕೋಡಿಂಗ್ ಆಶ್ರಯವು ಎಂದು ಭಾವಿಸಿ, ಇಲ್ಲಿ ನೀವು ಹೆಚ್ಚಿನ ಸಮಯವನ್ನು ನಿಮ್ಮ ಡಿಜಿಟಲ್ ಸೃಷ್ಟಿಗಳನ್ನು ಸಂಪೂರ್ಣಗೊಳಿಸಲು ಮೀಡಿಕೊಳ್ಳುತ್ತೀರಿ. + +ಆಧುನಿಕ ಎಡಿಟರ್‌ಗಳ ಮಾಯಾಜಾಲವೆಂದರೆ: ಅವು ಕೇವಲ ಬೊಂಬಾಯಿ ಪಠ್ಯ ಸಂಪಾದಕರಲ್ಲ. ಅವು 24/7 ನಿಮ್ಮ ಬಳಿ ಕುಳಿತಿರುವ ಅತ್ಯಂತ ಆದರ್ಶ, ಸಹಾಯಕ ಕೋಡಿಂಗ್ ಗುರುಗಳಂತೆ. ನೀವು ಕಾಣುವುದಕ್ಕಿಂತ ಮೊದಲು ನಿಮ್ಮ ಬರವಣಿಗೆದೋಷಗಳನ್ನು ಹಿಡಿಯುತ್ತವೆ, ನಿಮಗೆ ತರ್ಕಬದ್ಧ ಸುಧಾರಣೆಯನ್ನು ಸೂಚಿಸುತ್ತವೆ, ಪ್ರತಿಯೊಂದು ಕೋಡ್ ತುಂಡು ಏನಪ್ಪ ರೀತಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂಬುದನ್ನು ಅರಿಸುವಲ್ಲಿ ಸಹಾಯ ಮಾಡುತ್ತವೆ, ಮತ್ತು ಕೆಲವರು ನೀವು ಬರೆದುವುದಾಗಿ ಊಹಿಸಿ ನಿಮ್ಮ ಕಾಳಜಿಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸುವುದಕ್ಕೆ ಯತ್ನಿಸುತ್ತಾರೆ! + +ನಾನು ಮೊದಲಬಾರಿಗೆ ಆಟೋ-ಪೂರಕತೆಯನ್ನು ಕಂಡಾಗ ಭವಿಷ್ಯದಲ್ಲಿ ಬದುಕುತ್ತಿರುವೆನಂತೆ ಭಾಸವಾಯಿತು. ನೀವು ಏನೋ ಟೈಪ್ ಮಾಡುತ್ತೀರಿ, ನಿಮ್ಮ ಎಡಿಟರ್ "ನೀವು ಬೇಕಾದ ಫಂಕ್ಷನ್ ಇದಂತಿದ್ದೀರೀ ಅಂದುಕೊಂಡಿರಾ?" ಎಂಬಂತೆ ಕೇಳುತ್ತದೆ. ನಿಮ್ಮ ಕೋಡಿಂಗ್ ಗೆಳೆಯನಾಗಿ ಮನೋಧರ್ಮಿ ಇದ್ದಂತೆ! + +**ಈ ಎಡಿಟರ್‌ಗಳನ್ನು ಅದ್ಭುತವಾಗಿಸಲು ಏನು ಕಾರಣ?** + +ಆಧುನಿಕ ಕೋಡ್ ಎಡಿಟರ್‌ಗಳು ನಿಮ್ಮ ಉತ್ಪಾದಕತೆಯನ್ನು ಹೆಚ್ಚಿಸುವFeatures ಒಂದಿಷ್ಟು: + +| ವೈಶಿಷ್ಟ್ಯ | ಇದು ಏನು ಮಾಡುತ್ತದೆ | ಅದಕ್ಕೆ ಯಾಕೆ ಉಪಯೋಗ? | +|---------|--------------|--------------| +| **ಸಿಂಟ್ಯಾಕ್ಸ್ ಹೈಲೈಟಿಂಗ್** | ನಿಮ್ಮ ಕೋಡ್‌ನ ವಿಭಿನ್ನ ಭಾಗಗಳಿಗೆ ಬಣ್ಣ ನೀಡುತ್ತದೆ | ಕೋಡ್ ಓದಲು ಸುಲಭ ಹಾಗೂ ದೋಷಗಳನ್ನು ಹುಡುಕಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ | +| **ಆಟೋ-ಕಂಪ್ಲೀಷನ್** | ನೀವು ಟೈಪ್ ಮಾಡಿದಂತೆ ಕೋಡ್ ಸೂಚಿಸುತ್ತದೆ | ಬರವಣಿಗೆಯನ್ನು ವೇಗಗೊಳಿಸಿ ತಪ್ಪುಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ | +| **ಡೀಬಗಿಂಗ್ ಉಪಕರಣಗಳು** | ದೋಷಗಳನ್ನು ಹುಡುಕಿ ಸರಿಪಡಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ | ಸಮಸ್ಯೆಗಳ ಪರಿಹಾರಕ್ಕೆ ಸಮಯ ಉಳಿಸುತ್ತದೆ | +| **ವಿಸ್ತರಣೆಗಳು** | ವಿಶೇಷಣ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸೇರಿಸುತ್ತವೆ | ಯಾವುದೇ ತಂತ್ರಜ್ಞಾನಕ್ಕಾಗಿ ನಿಮ್ಮ ಎಡಿಟರ್ ಅನ್ನು ಹೊಂದಿಸಿಕೊಳ್ಳಿ | +| **AI ಸಹಾಯಕರು** | ಕೋಡ್ ಮತ್ತು ವಿವರಣೆಗಳನ್ನು ಸೂಚಿಸುತ್ತಾರೆ | ಕಲಿಕೆಯನ್ನು ವೇಗಗೊಳಿಸಿ ನೀವು ಹೆಚ್ಚು ಕಾರ್ಯಕ್ಷಮವಾಗಿರಿ | + +> 🎥 **ವೀಡಿಯೋ ಸಂಪನ್ಮೂಲ**: ಈ ಉಪಕರಣಗಳನ್ನು ಕ್ರಿಯಾಶೀಲವಾಗಿ ನೋಡಬೇಕೆ? [Tools of the Trade video](https://youtube.com/watch?v=69WJeXGBdxg) ನೋಡಿ. + +#### ವೆಬ್ ಅಭಿವೃದ್ಧಿಗೆ ಶಿಫಾರಸಾದ ಎಡಿಟರ್‌ಗಳು + +**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (ಉಚಿತ) +- ವೆಬ್ ಅಭಿವೃದ್ಧి ಉದ್ಯಮದಲ್ಲಿ ಅತ್ಯಂತ ಜನಪ್ರಿಯ +- ಅದ್ಭುತ ವಿಸ್ತರಣೆ ವ್ಯವಸ್ಥೆ +- ಒಳಗೊಂಡಿರುವ ಟರ್ಮಿನಲ್ ಮತ್ತು Git ಇಂಟಿಗ್ರೇಶನ್ +- **ಅತ್ಯಗತ್ಯ ವಿಸ್ತರಣೆಗಳು**: + - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - AI ಚಲಿತ ಕೋಡ್ ಸೂಚನೆಗಳು + - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - რეaltime ಸಹಕಾರ + - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - ಸ್ವಯಂಚಾಲಿತ ಕೋಡ್ ಸ್ವರೂಪೀಕರಣ + - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - ನಿಮ್ಮ ಕೋಡ್ ನಲ್ಲಿ ಟೈಪೋಗಳನ್ನು ಹಿಡಿದುಕೊಳ್ಳುವುದು + +**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (ಪೇಯ್ಡ್, ವಿದ್ಯಾರ್ಥಿಗಳಿಗೆ ಉಚಿತ) +- ಮುಂದುವರೆದ ಡೀಬಗ್ ಮತ್ತು ಪರೀಕ್ಷಾ ಉಪಕರಣಗಳು +- ಬುದ್ಧಿವಂತ ಕೋಡ್ ಪೂರೈಕೆ +- ಒಳಗೊಂಡಿರುವ ಆವೃತ್ತಿ ನಿಯಂತ್ರಣ + +**ಕ್ಲೌಡ್ ಆಧಾರಿತ IDEಗಳು** (ವಿಭಿನ್ನ ಬೆಲೆಗಳು) +- [GitHub Codespaces](https://github.com/features/codespaces) - ನಿಮ್ಮ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಸಂಪೂರ್ಣ VS Code +- [Replit](https://replit.com/) - ಕಲಿಕೆ ಮತ್ತು ಕೋಡ್ ಹಂಚಿಕೆಗೆ ಅತ್ಯುತ್ತಮ +- [StackBlitz](https://stackblitz.com/) - ತಕ್ಷಣದ ಪೂರ್ಣ-ಸ್ಟಾಕ್ ವೆಬ್ ಅಭಿವೃದ್ಧಿ + +> 💡 **ಪ್ರಾರಂಭಿಕ ಸಲಹೆ**: Visual Studio Code ನಿಂದ ಪ್ರಾರಂಭಿಸಿ – ಉಚಿತವಾಗಿದ್ದು, ಉದ್ಯಮದಲ್ಲಿಯೇ ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲ್ಪಡುವುದು ಮತ್ತು ಸಹಾಯಕ ಟ್ಯುಟೋರಿಯಲ್‌ಗಳು ಮತ್ತು ವಿಸ್ತರಣೆಗಳ ಮಹಾಸಮುದಾಯವಿದೆ. + +### ವೆಬ್ ಬ್ರೌಸರಗಳು: ನಿಮ್ಮ ಗುಪ್ತ ಅಭಿವೃದ್ಧಿ ಪ್ರಯೋಗಶಾಲೆ + +ಸರಿ, ನಿಮ್ಮ ಮೆದುಳನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಧಮಾಕಾಗೊಳಿಸಲು ಸಜ್ಜಾಗಿರಿ! ನೀವು ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮವನ್ನು ಸ್ಕ್ರೋಲ್ ಮಾಡಲು ಮತ್ತು ವೀಡಿಯೋಗಳನ್ನು ನೋಡಲು ಬ್ರೌಸರ್‌ಗಳನ್ನು ಬಳಸುತ್ತಿದ್ದಿರಲ್ಲವೆ? ಅದೇ ಅಲ್ಲಿ ಈ ಅತಿದೊಡ್ಡ ಗುಪ್ತ ಅಭಿವೃದ್ಧಿ ಪ್ರಯೋಗಾಲಯವನ್ನು ಇಡೀ ಸಮಯ ಮರೆಮಾಚಿ ಇಟ್ಟಿವೆ, ನೀವು ಇದನ್ನು ಕಂಡುಕೊಳ್ಳಲು ಕಾಯುತ್ತಿದೆ! + +ಪ್ರತಿ ಬಾರಿ ನೀವು ವೆಬ್‌ಪುಟದ ಮೇಲೆ ರೈಟ್ ಕ್ಲಿಕ್ ಮಾಡಿ "ಇನ್ಸ್‌ಪೆಕ್ಟ್ ಎಲೆಮೆಂಟ್" ಆಯ್ಕೆಮಾಡುವಾಗ, ನೀವು ಅಭಿವೃದ್ಧಿಪಡಿಸುವ ಪ್ರಯೋಗಾಲಯದ ಅಡಗಿರುವ ಪ್ರಪಂಚವನ್ನು ತೆರೆಯುತ್ತಿದ್ದೀರಿ, ಇದು ನಾನು ಮೊದಲು ನೂರು ಡಾಲರುಗಳಿಗೂ ಖರೀದಿಸಿದ ಕೆಲವು ದುಬಾರಿ ಸಾಫ್ಟ್‌ವೇರ್‌ಗಳಿಗಿಂತ ಶಕ್ತಿಶಾಲಿಯಾಗಿದೆ. ಇದು ನಿಮ್ಮ ಸಾಮಾನ್ಯ ಕ್ಯೋಜನ್ ಮುಂಭಾಗದಲ್ಲಿ ಕೇವಲ ಮಾಯಾಜಾಲীয়া ವೃತ್ತಿಪರ ಶೆಫ್ ಪ್ರಯೋಗಾಲಯ ಇರುವಂತೆ ಕಂಡುಬರುತ್ತದೆ! +ಯಾರಾದರೂ ಮೊದಲು ಬ್ರೌಸರಿನ DevTools ಅನ್ನುತೋರಿಸಿದಾಗ, ನಾನು ಮೂರು ಗಂಟೆಗಳು ಕೇವಲ ಕ್ಲಿಕ್ ಮಾಡಿಕೋನಿದ್ದು "ಬೇಡಿಕೋ, ಅದು ಇದನ್ನೂ ಮಾಡ್ಬಲ್ಲುದಾ?!" ಎನ್ನುತ್ತಿದ್ದೆ. ನೀವು ನಿಜಕ್ಕೂ ಪ್ರತಿಯೊಂದು ವೆಬ್ಸೈಟ್ ಅನ್ನು ರಿಯಲ್-ಟೈಮ್‌ನಲ್ಲಿ ಸಂಪಾದಿಸಬಹುದು, ಎಲ್ಲವೂ ಎಷ್ಟು ವೇಗವಾಗಿ ಲೋಡ್ ಆಗುತ್ತಿದೆ ಎಂದು ನೋಡಬಹುದು, ನಿಮ್ಮไซต์ ವಿವಿಧ ಸಾಧನಗಳಲ್ಲಿ ಹೇಗಿದೆ ಎಂದು ಪರೀಕ್ಷಿಸಬಹುದು ಮತ್ತು ಸಂಪೂರ್ಣ ಪ್ರೊ ಹಾಗೆ JavaScript ನ ಡಿಬಗ್ ಮಾಡಬಹುದು. ಇದು ಸಂತೋಷಕರವಾಗಿಯೇ ಅಸಾಧಾರಣ! + +**ನಿಮ್ಮ ಗುಪ್ತ ಶಸ್ತ್ರವೂ ಬ್ರೌಸರ್ ಗಳು ಇದಕ್ಕೆ ಕಾರಣ:** + +ನೀವು ವೆಬ್ಸೈಟ್ ಅಥವಾ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ರಚಿಸುವಾಗ, ಅದು ನಿಜವಾದ ಜಗತ್ತಿನಲ್ಲಿ ಹೇಗಿದೆ ಮತ್ತು ಹೇಗೆ ವರ್ತಿಸುತ್ತದೆ ಎಂದು ನೋಡಬೇಕಾಗುತ್ತದೆ. ಬ್ರೌಸರ್ ಗಳು ನಿಮ್ಮ ಕೆಲಸವನ್ನು ತೋರಿಸುವುದಷ್ಟೇ ಅಲ್ಲ, ಕಾರ್ಯಕ್ಷಮತೆ, ಪ್ರವೇಶಾರ್ಥಕತೆ ಮತ್ತು ಸಾಧ್ಯತೆ ಇರುವ ಸಮಸ್ಯೆಗಳ ಬಗ್ಗೆ ವಿವರವಾದ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನೀಡುತ್ತವೆ. + +#### ಬ್ರೌಸರ್ ಡೆವಲಪರ್ ಸಾಧನಗಳು (DevTools) + +આಧುನಿಕ ಬ್ರೌಸರ ಗಳು ಸಮಗ್ರ ಅಭಿವೃದ್ಧಿ ಸುಟ್ಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ: + +| ಸಾಧನ ವರ್ಗ | ಅದು ಏನು ಮಾಡುತ್ತದೆ | ಉದಾಹರಣೆ ಉಪಯೋಗ मामला | +|------------|------------------|-----------------------| +| **ಎಲೆಮೆಂಟ್ ಇನ್ಸ್‌ಪೆಕ್ಟರ್** | HTML/CSS ಅನ್ನು ರಿಯಲ್-ಟೈಮ್ ನಲ್ಲಿ ವೀಕ್ಷಿಸಿ ಮತ್ತು ಸಂಪಾದಿಸಿ | ಶೈಲಿಯನ್ನು ಹೊಂದಿಸಿ ತಕ್ಷಣ ಫಲಿತಾಂಶಗಳನ್ನು ನೋಡಿ | +| **ಕನ್ಸೋಲ್** | ದೋಷ ಸಂದೇಶಗಳನ್ನು ವೀಕ್ಷಿಸಿ ಮತ್ತು JavaScript ಅನ್ನು ಪರೀಕ್ಷಿಸಿ | ಸಮಸ್ಯೆಗಳನ್ನು ಡಿಬಗ್ ಮಾಡಿ ಮತ್ತು ಕೋಡ್ ಜೊತೆ ಪ್ರಯೋಗ ಮಾಡಿ | +| **ನೆಟ್‌ವರ್ಕ್ ಮಾನಿಟರ್** | ಸಂಪನ್ಮೂಲಗಳು ಹೇಗೆ ಲೋಡ್ ಆಗುತ್ತಿವೆ ಎಂಬುದನ್ನು ಅನುಸರಿಸಿ | ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ಲೋಡ್ ಸಮಯಗಳನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಿ | +| **ಪ್ರವೇಶಾರ್ಥಕತೆ ಪರಿಶೀಲಕ** | ಸಮಾವೇಶಾತ್ಮಕ ವಿನ್ಯಾಸಕ್ಕೆ ಪರೀಕ್ಷೆ ಮಾಡಿ | ನಿಮ್ಮ ಸೈಟ್ ಎಲ್ಲ ಬಳಕೆದಾರರಿಗೂ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂದು ಖಚಿತ ಪಡಿಸಿ | +| **ಸಾಧನ ಸಿಮ್ಯುಲೇಟರ್** | ವಿಭಿನ್ನ ಪರದೆ ಗಾತ್ರಗಳಲ್ಲಿ ಪೂರ್ವಾವಲೋಕನ ಮಾಡಿ | ಬಹುನಡೆಯುವ ವಿನ್ಯಾಸವನ್ನು ವಿವಿಧ ಸಾಧನಗಳಿಲ್ಲದೆ ಪರೀಕ್ಷಿಸಿ | + +#### ಅಭಿವೃದ್ಧಿಗಾಗಿ ಶಿಫಾರಸು ಮಾಡಿದ ಬ್ರೌಸರ ಗಳು + +- **[ಕ್ರೋಮ್](https://developers.google.com/web/tools/chrome-devtools/)** - ವ್ಯಾಪಕ ದಾಖಲೆಗಳೊಂದಿಗೆ ಕಂತಿನ DevTools +- **[ಫೈರ್‌ಫೋಕ್ಸ್](https://developer.mozilla.org/docs/Tools)** - ಅತ್ಯುತ್ತಮ CSS ಗ್ರಿಡ್ ಮತ್ತು ಪ್ರವೇಶಾರ್ಥಕತೆ ಸಾಧನಗಳು +- **[ಎಡ್ಜ್](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - ಮೈಕ್ರೋಸಾಫ್ಟ್‌ ಅವರ ಡೆವಲಪರ್ ಸಂಪನ್ಮೂಲಗಳೊಂದಿಗೆ ಕ್ರೋಮಿಯಂ ಆಧಾರಿತ + +> ⚠️ **ಗুরুತವಾದ ಪರೀಕ್ಷಾ ಸಲಹೆ**: ನಿಮಗೆ ವೆಬ್ಸೈಟ್‌ಗಳನ್ನು ಹಲವಾರು ಬ್ರೌಸರಗಳಲ್ಲಿ ಪರೀಕ್ಷಿಸಬೇಕು! ಕ್ರೋಮ್‌ನಲ್ಲಿ ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದನ್ನು ಸಫಾರಿ ಅಥವಾ ಫೈರ್‌ಫಾಕ್ಸ್‌ನಲ್ಲಿ ವಿಭಿನ್ನವಾಗಿ ಕಾಣಬಹುದು. ವೃತ್ತಿಪರ ಡೆವಲಪರ್ ಗಳು ಎಲ್ಲಾ ಪ್ರಮುಖ ಬ್ರೌಸರಲ್ಲಿ ಪರೀಕ್ಷೆ ಮಾಡುವರು ಫಲಿತಾಂಶ ದ್ವಂದ್ವವನ್ನು ತಪ್ಪಿಸಲು. + +### ಕಮಾಂಡ್ ಲೈನ್ ಸಾಧನಗಳು: ನಿಮ್ಮ ಡೆವಲಪರ್ ಸೂಪರ್ ಶಕ್ತಿಗಳಿಗೆ ಪ್ರವೇಶ + +ಸರಿ, ನಿಮ್ಮಿಗೆ ಕಮಾಂಡ್ ಲೈನ್ ಬಗ್ಗೆ ಪೂರ್ಣವಾಗಿ ನಿಷ್ಠುರ ಸತ್ಯವನ್ನು ಹೇಳುತ್ತೇನೆ, ಏಕೆಂದರೆ ಅದನ್ನು ನಿಜವಾಗಿಯೂ ಅರ್ಥಮಾಡ್ಕೊಳ್ಳುವವರಿಂದ ನೀವು ಕೇಳಬೇಕು. ಮೊದಲು ಅದನ್ನು ನೋಡಿ – ಕೇವಲ ಈ ಭಯಾನಕ ಕಪ್ಪು ಪರದೆ ಟಿಪ್ಪಣಿಗಳೊಂದಿಗೆ – ನನಗೆ ನಿಜವಾಗಿಯೂ ಅನ್ನಿಸಿತು, "ಇಲ್ಲಾ, ಗಡಿಯಾರ ಇಲ್ಲ! ಇದು 1980ರ ದಶಕದ ಹ್ಯಾಕರ್ ಚಿತ್ರದಿಂದ ಬಂದಂತೆ ಇದೆ, ಮತ್ತು ನಾನು ಇದಕ್ಕೆ ಪೋಷ್ಠಿಕೂ ಕಡಿಮೆ ತಿಳುವಳಿಕೆ ಇದ್ದೇನೆ!" 😅 + +ಆದರೆ ನಾನು ಹಿಂಪಡೆಯಾಗಿರುವುದು ನಿಮಗೆ ಹೇಳಬೇಕಾದುದು ಏನೆಂದರೆ: ಕಮಾಂಡ್ ಲೈನ್ ಭಯಪಡಬೇಕಾಗಿಲ್ಲ – ಇದು ನಿಜವಾಗಿಯೂ ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಜೊತೆ ನೇರ ಸಂಭಾಷಣೆ ಹೋಲುತ್ತದೆ. ಹಣಿಕೆ ಮೂಲಕ ಆಹಾರವನ್ನು ಆರ್ಡರ್ ಮಾಡುವ ಪ್ರಕ್ರಿಯೆ (ಅದು ಸುಲಭ ಮತ್ತು ಸುಂದರ) ಮತ್ತು ನಿಮಗೆ ಬರುವ ಸ್ಥಳೀಯ ರೆಸ್ಟೋರೆಂಟ್ ಗೆ ಹೋಗಿ ಅಲ್ಲಿ ಕುಟುಂಬವು ನಿಮ್ಮ ಇಷ್ಟವನ್ನು ತಿಳಿದು ಅದ್ಭುತ ಆಹಾರ ತಯಾರಿಸುವಂತೆ ಹೇಳುವುದರಲ್ಲಿ ಭಿನ್ನತೆ ಇದೆ. + +ಕಮಾಂಡ್ ಲೈನ್ ಡೆವಲಪರ್ ಗಳು ಮಾಯಾಜಾಲಿಗಳು ಎಂಬ ನಂಬಿಕೆ ಹೊಂದಲು ಹೋದ ಕಡೆ. ನೀವು ಕೆಲವು ಮಾಯಾಜಾಲಿ ಪದಗಳನ್ನು ಟೈಪ್ ಮಾಡುತ್ತೀರಿ (ಓಕೆ, ಅವು ಕೇವಲ ಕಮಾಂಡ್ ಗಳು, ಆದರೆ ಅವು ಮಾಯಾಜಾಲದಂತೆ ಅನಿಸುವವು), ಎಂಟರ್ ಒತ್ತುತ್ತೀರಿ, ಮತ್ತು ಬೂಂ – ನೀವು ಸಂಪೂರ್ಣ ಯೋಜನಾವಳಿಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತೀರಿ, ಜಗತ್ತಿನಾದ್ಯಾಂತ ಶಕ್ತಿಶಾಲಿ ಸಾಧನಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡುತ್ತೀರಿ, ಅಥವಾ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಇಂಟರ್ನೆಟ್‌ನಲ್ಲಿ ಹಜಾರಾರು ಮಂದಿಗೆ ತೋರಿಸುತ್ತೀರಿ. ಮೊದಲ ಬಾರಿಗೆ ಅದೊಂದು ಶಕ್ತಿ ಅನುಭವಿಸಿದ ಮೇಲೆ, ಇದು ನಿಜವಾಗಿಯೂ ಅಡಿಕ್ಟಿವ್ ಆಗುತ್ತದೆ! + +**ನಿಮ್ಮ сеть ಆದ್ಯಂತ ಮೊತ್ತಿಷ್ಟಿಕೆ:** + +ಗ್ರಾಫಿಕಲ್ ಇಂಟರ್ಫೇಸ್‌ಗಳು ಹಲವಾರು ಕೆಲಸಗಳಿಗೆ ಅತ್ಯುತ್ತಮವಾಗಿದ್ದು, ಕಮಾಂಡ್ ಲೈನ್ ಸ್ವಯಂಸಂಚಾಲನೆ, ನಿಖರತೆ ಮತ್ತು ವೇಗದಲ್ಲಿ ಮುಂಚೂಣಿ ಸಾಧನವಾಗಿದೆ. ಬಹು ಅಭಿವೃದ್ಧಿ ಸಾಧನಗಳು ಮುಖ್ಯವಾಗಿ ಕಮಾಂಡ್ ಲೈನ್ ಮೂಲಕ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ, ಪರಿಣಾಮಕಾರಿ ಉಪಯೋಗ ಕಲಿತರೆ ನಿಮ್ಮ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಬಹಳ ಹೆಚ್ಚು ಹೆಚ್ಚಿಸಬಹುದು. + +```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 'My Site

Hello World

' > index.html + +# ಅಭಿವೃದ್ಧಿ ಸರ್ವರನ್ನು ಪ್ರಾರಂಭಿಸಿ +npx vite +``` + +**ಮೇಲಿನಲ್ಲಿರುವುದು:** +- ಮೂಲ ಕೋಡ್ ಮತ್ತು ಆಸ್ತಿ ಫೋಲ್ಡರ್ ಗಳನ್ನು ವಿಭಜಿಸಿ ಯೋಜನೆಯನ್ನು ಸಂಘಟಿಸಿಕೊಂಡೇವೆ +- ಸರಿಯಾದ ಡಾಕ್ಯುಮೆಂಟ್ ರಚನೆಯೊಂದಿಗೆ ಮೂಲಭೂತ HTML ಫೈಲ್ ರಚಿಸಲಾಗಿದೆ +- ಲೈವ್ ರಿಲೋಡ್ ಮತ್ತು ಹಾಟ್ ಮೋಡ್ಯೂಲ್ ರಿಪ್ಲೇಸ್‌ಮೆಂಟ್ ಗೆ Vite ಅಭಿವೃದ್ಧಿ ಸರ್ವರ್ ಆರಂಭಿಸಲಾಗಿದೆ + +#### ವೆಬ್ ಅಭಿವೃದ್ಧಿಗೆ ಅಗತ್ಯವಿರುವ ಕಮಾಂಡ್ ಲೈನ್ ಸಾಧನಗಳು + +| ಸಾಧನ | ಉದ್ದೇಶ | ನೀವು ಇದನ್ನು ಬೇಕಾದ ಕಾರಣ | +|-------|---------|------------------------| +| **[Git](https://git-scm.com/)** | ಆವೃತ್ತಿ ನಿಯಂತ್ರಣ | ಬದಲಾವಣೆಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಿ, ಮತ್ತವರೊಂದಿಗೆ ಸಹಕರಿಸಿ, ನಿಮ್ಮ ಕೆಲಸಕ್ಕೆ ಬ್ಯಾಕಪ್ ಮಾಡಿ | +| **[Node.js & npm](https://nodejs.org/)** | ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ರನ್ ಟೈಮ್ & ಪ್ಯಾಕೇಜ್ ನಿರ್ವಾಹಕ | ಬ್ರೌಸರ್ ಹೊರಗಿನ JavaScript ರನ್ ಮಾಡಿ, ಆಧುನಿಕ ಅಭಿವೃದ್ಧಿ ಸಾಧನಗಳನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ | +| **[Vite](https://vitejs.dev/)** | ಬಿಲ್ಡ್ ಉಪಕರಣ & ಡೆವ್ ಸರ್ವರ್ | ಅತ್ಯಂತ ವೇಗವಾದ ಅಭಿವೃದ್ಧಿ ಹಾಟ್ ಮೋಡ್ಯೂಲ್ ರಿಪ್ಲೇಸ್‌ಮೆಂಟ್ ಜೊತೆಗೆ | +| **[ESLint](https://eslint.org/)** | ಕೋಡ್ ಗುಣಮಟ್ಟ | ನಿಮ್ಮ JavaScript ನಲ್ಲಿ ಸಮಸ್ಯೆಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಂಡುಹಿಡಿದು ಸರಿಪಡಿಸುವುದು | +| **[Prettier](https://prettier.io/)** | ಕೋಡ್ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ | ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ನಿಯಮಿತವಾಗಿ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಿ ಓದಲು ಸುಲಭವಾಗಿಸುತ್ತವೆ | + +#### ವೇದಿಕೆಯ ವಿಶೇಷ ಆಯ್ಕೆಗಳು + +**Windows:** +- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** - ಆಧುನಿಕ, ವೈಶಿಷ್ಟ್ಯಪೂರ್ಣ ಟರ್ಮಿನಲ್ +- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 - ಶಕ್ತಿ ಪೂರಿತ ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ ಪರಿಸರ +- **[Command Prompt](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 - ಪರಂಪರাগত ವಿಂಡೋಸ್ ಕಮಾಂಡ್ ಲೈನ್ + +**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 ಗಂಟೆಗೆ ಸಮಸ್ಯೆಗೆ ಸಿಲುಕಿದರೆ? ಡಾಕ್ಯುಮೆಂಟೇಷನ್ ಅದೃಷ್ಟದಂತೆ ತಣ್ಣಗಿನ ಆಲಿಂಗನವನ್ನು ನೀಡಿ ನಿಮಗೆ ಬೇಕಾದ ಉತ್ತರವನ್ನು ನೀಡಲಿದೆ. ಎಲ್ಲರೂ ಮಾತನಾಡುತ್ತಿರುವ ಹೊಸ ವೈಶಿಷ್ಟ್ಯದ ಬಗ್ಗೆ ತಿಳಿಯಲು ಇಚ್ಛಿಸುತ್ತೀರಾ? ಡಾಕ್ಯುಮೆಂಟೇಷನ್ ನಿಮ್ಮ ಸಹಾಯಕ್ಕೆ ಬರುತ್ತದೆ ಕ್ರಮೇಣ ಉದಾಹರಣೆಗಳೊಂದಿಗೆ. ಏಕೆ ಏನಾಡ್ತಿದೆಯೆಂದು ತಿಳಿದುಕೊಳ್ಳಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದೀರಾ? ನೀವು ಊಹಿಸಿದಂತೆಯೇ – ಡಾಕ್ಯುಮೆಂಟೇಷನ್ ಅದನ್ನು ತಿಳಿಸಿ ಅದು ಇಪ್ಪತ್ತು! + +ನನ್ನ ದೃಷ್ಟಿಕೋನವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬದಲಿಸಿದ ಅಂಶ ಇದಾಗಿದೆ: ವೆಬ್ ಅಭಿವೃದ್ಧಿ ಜಗತ್ತು ಅತ್ಯಂತ ವೇಗವಾಗಿ ilerಗುತ್ತಿರುವದು, ಮತ್ತು ಯಾರೂ ಎಲ್ಲವನ್ನೂ ನೆನಪಿರಿಸಲಾಗುವುದಿಲ್ಲ. ನಾನು 15+ ವರ್ಷದ ಅನುಭವ ಹೊಂದಿದ ಹಿರಿಯ ಡೆವಲಪರ್ ಗಳು ಮೂಲವಾದ ಸಿಂಟ್ಯಾಕ್ಸ್ ಹುಡುಕುತ್ತಿರುವುದನ್ನು ನೋಡಿದೆ ಮತ್ತು ನೀವು ಏನು ತಿಳಿದುಕೊಳ್ಳಬೇಕು? ಇದು ಅಳಿಯುವಂತದ್ದಲ್ಲ – ಇದು ತುಂಬರುವಂತದ್ದು! ಇದು ನಿಖರ ಸ್ಮರಣೆ ಬಗ್ಗೆ ಅಲ್ಲ; ವೇಗವಾಗಿ ನಂಬಿಗಸ್ಥ ಉತ್ತರಗಳನ್ನು ಹುಡುಕುವುದು ಮತ್ತು ಅವುಗಳನ್ನು ಹೇಗೆ ಅನ್ವಯಿಸಬೇಕೆಂದು ತಿಳಿದುಕೊಳ್ಳುವುದರ ಬಗ್ಗೆ. + +**ಇಲ್ಲಿ ನಿಜವಾದ ಕಾಡ್ ನಡೆಯುತ್ತದೆ:** + +ವೃತ್ತಿಪರ ಡೆವಲಪರ್ ಗಳು ತಮ್ಮ ಸಮಯದ ದೊಡ್ಡ ಭಾಗವನ್ನು ಡಾಕ್ಯುಮೆಂಟೇಷನ್ ಓದುವಿಕೆಗೆ ಮೀಸಲಿಡುತ್ತಾರೆ – ಅದು ಅವರು ಏನು ಮಾಡುತ್ತಾರೆ ಎಂಬುದನ್ನು ತಿಳಿಯದಿರುವುದರಿಂದ ಅಲ್ಲ, ಆದರೆ ವೆಬ್ ಅಭಿವೃದ್ಧಿ ಜಗತ್ತು ಹಗುರವಾಗಿ ಬದಲಾಗಿದೆ ಮತ್ತು ಅಪ್‌ಡೇಟ್ ಆಗಿರಬೇಕಾದುದರಿಂದ ನಿರಂತರ ಕಲಿಕೆಯನ್ನು ಅಗತ್ಯವಿದೆ. ಉತ್ತಮ ಡಾಕ್ಯುಮೆಂಟೇಷನ್ ನಿಮಗೆ *ಹಾಗೇ* ಬಳಸಬೇಕೆಂದು ಮಾತ್ರವಲ್ಲ, *ಏಕೆ* ಮತ್ತು *ಎಂದಕ್ಕೆ* ಬಳಸಬೇಕು ಎಂಬುದನ್ನೂ ತಿಳಿಸುತ್ತದೆ. + +#### ಅಗತ್ಯ ಡಾಕ್ಯುಮೆಂಟೇಷನ್ ಸಂಪನ್ಮೂಲಗಳು + +**[ಮೊಜಿಲ್ಲಾ ಡೆವಲಪರ್ ನೆಟ್‌ವರ್ಕ್ (MDN)](https://developer.mozilla.org/docs/Web)** +- ವೆಬ್ ತಂತ್ರಜ್ಞಾನ ಡಾಕ್ಯುಮೆಂಟೇಷನ್‌ಗಾಗಿ ಚಿನ್ನದ ಮಾನಕ +- HTML, CSS, ಮತ್ತು JavaScript ಗಾಗಿ ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶನ +- ಬ್ರೌಸರ್ ಹೊಂದಾಣಿಕೆ ಮಾಹಿತಿ ಒಳಗೊಂಡಿದೆ +- ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳು ಮತ್ತು ಪರಸ್ಪರ ಕ್ರಿಯಾಶೀಲ ಪ್ರದರ್ಶನಗಳು + +**[Web.dev](https://web.dev)** (ಗೂಗಲ್ ಮೂಲಕ) +- ಆಧುನಿಕ ವೆಬ್ ಅಭಿವೃದ್ಧಿ ಉತ್ತಮ ಪದ್ಧತಿಗಳು +- ಕಾರ್ಯಕ್ಷಮತೆ ಆಪ್ಟಿಮೈಜೆಷನ್ ಮಾರ್ಗದರ್ಶನಗಳು +- ಪ್ರವೇಶಾರ್ಥಕತೆ ಮತ್ತು ಸಮಾವೇಶಾತ್ಮಕ ವಿನ್ಯಾಸ ತತ್ವಗಳು +- ನಿಜ ಜೀವನದ ಯೋಜನೆಗಳ ಪ್ರಕರಣ ಸಂಶೋಧನೆಗಳು + +**[Microsoft ಡೆವಲಪರ್ ಡಾಕ್ಯುಮೆಂಟೇಷನ್](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers)** +- ಎಡ್ಜ್ ಬ್ರೌಸರಿನ ಅಭಿವೃದ್ಧಿ ಸಂಪನ್ಮೂಲಗಳು +- ಪ್ರೋಗ್ರೆಸಿವ್ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ಗೈಡ್ ಗಳು +- ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಿಗಿಂತ ಹೆಚ್ಚಿನ ಅಭಿವೃದ್ಧಿ ಒಳನೋಟಗಳು + +**[Frontend Masters Learning Paths](https://frontendmasters.com/learn/)** +- ಸಂರಚಿತ ಕಲಿಕಾ ಪಾಠಕ್ರಮಗಳು +- ಉದ್ಯಮ ತಜ್ಞರಿಂದ ವೀಡಿಯೊ ಕೋರ್ಸ್‌ಗಳು +- ಕೈಯಲ್ಲಿ ಮಾಡುವ ಕೋಡಿಂಗ್ ಅಭ್ಯಾಸಗಳು + +> 📚 **ಅಧ್ಯಯನ ತಂತ್ರ**: ಡಾಕ್ಯುಮೆಂಟೇಷನ್ ಅನ್ನು ನೆನಪಿಸಿಕೊಳ್ಳಲು ಪ್ರಯತ್ನಿಸಬೇಡಿ – ಬದಲಾಗಿ ಅದನ್ನು ಪರಿಣಾಮವಾಗಿ ಸಂಚರಿಸುವುದನ್ನು ಕಲಿಯಿರಿ. ಹೆಚ್ಚು ಉಪಯೋಗಿಸುವ ಉಲ್ಲೇಖಗಳನ್ನು ಬುಕ್‌ಮಾರ್ಕ್ ಮಾಡಿ ಮತ್ತು ವಿಶೇಷ ಮಾಹಿತಿಯನ್ನು ಶೀಘ್ರವಾಗಿ ಹುಡುಕಲು ಹುಡುಕಾಟ ಕಾರ್ಯಗಳನ್ನು ಅಭ್ಯಾಸ ಮಾಡಿ. + +### 🔧 **ಸಾಧನ ಪರಿಣತಿ ಪರಿಶೀಲನೆ: ನಿಮಗೆ ಯಾವುದು ಅನಿಸುತ್ತಿದೆ?** + +**ಒಂದು ಕ್ಷಣ ತೆಗೆದು ಯೋಚಿಸಿ:** +- ಯಾವ ಸಾಧನವನ್ನು ಮೊದಲಿಗೆ ಪ್ರಯತ್ನಿಸಲು ನೀವು ಅತ್ಯಂತ ಉತ್ಸುಕನಾಗಿದ್ದೀರಿ? (ತಪ್ಪು ಉತ್ತರವಿಲ್ಲ!) +- ಕಮಾಂಡ್ ಲೈನ್ ಇನ್ನೂ ಭಯಾನಕವಾಗಿದೆಯೆ, ಅಥವಾ ನೀವು ಅದರಲ್ಲಿ ಕುತೂಹಲವಿದೆಯೆ? +- ನೀವು ಬ್ರೌಸರಿನ DevTools ಬಳಸಿಕೊಂಡು ನಿಮ್ಮ ಪ್ರಿಯ ವೆಬ್ಸೈಟ್‌ಗಳ ಹಿಂದಡೆ ನೋಡುತ್ತಿರುವ ಕೌಲ್ಪನೆಯನ್ನು ಮಾಡಬಹುದೇ? + +```mermaid +pie title "ಉಪಕರಣಗಳೊಂದಿಗೆ ಡೆವಲಪರ್ ಸಮಯ ವ್ಯಯ" + "ಕೋಡ್ ಎಡಿಟರ್" : 40 + "ಬ್ರೌಸರ್ ಪರೀಕ್ಷೆ" : 25 + "ಕಮಾಂಡ್ ಲೈನ್" : 15 + "ದಾಖಲೆಗಳನ್ನು ಓದುವುದು" : 15 + "ಡಿಬಗ್ಗಿಂಗ್" : 5 +``` +> **ರಮಣೀಯ ಸಂಚಯ**: ಬಹುತೇಕ ಡೆವಲಪರ್ ಗಳು ತಮ್ಮ ಕೋಡ್ ಎಡಿಟರ್‌ನಲ್ಲಿ ಸರಾಸರಿ 40% ಸಮಯ ಕಳೆದರೂ, ಪರೀಕ್ಷೆ, ಕಲಿಕೆ, ಮತ್ತು ಸಮಸ್ಯೆ ಪರಿಹಾರಕ್ಕೆ ಹೆಚ್ಚಿನ ಸಮಯ ಬಿತ್ತಿಸುತ್ತಾರೆ. ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕೇವಲ ಕೋಡ್ ಬರೆಯುವುದಲ್ಲ – ಅನುಭವಗಳನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸುವುದಾಗಿದೆ! + +✅ **ಚಿಂತನಾವಕಾಶ**: ಇಲ್ಲಿ ಒಂದು ರಮಣೀಯ ವಿಷಯವಿದೆ ಯೋಚಿಸಲು – ವೆಬ್ಸೈಟ್ ರಚನೆಗೆ ಸಾಧನಗಳು (ಅಭಿವೃದ್ಧಿ) ಮತ್ತು ಅವು ಹೇಗೆ ಕಾಣಬೇಕು ಅನ್ನೋದನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸುವ ಸಾಧನಗಳು (ಡಿಸೈನ್) ವಿಭಿನ್ನವಾಗಿರುತ್ತವೆ? ಅದು ಸುಂದರವಾದ ಮನೆ ವಿನ್ಯಾಸ ಮಾಡುವ ವಾಸ್ತುಶಿಲ್ಪಿ ಹಾಗೂ ಅದನ್ನು daadwerkelijk ನಿರ್ಮಿಸುವ ಕಾನ್‌ಟ್ರಾಕ್ಟರ್‌ ನಡುವಿನ ವ್ಯತ್ಯಾಸದಂತಿದೆ. ಎರಡೂ ಮುಖ್ಯ, ಆದರೆ ಬೇರೆ ತಂಡದ ಸಲಕರಣೆಗಳು ಬೇಕು! ಇಂತಹ ಯೋಚನೆ ನಿಮಗೆ ವೆಬ್ಸೈಟ್ ಗಳನ್ನು ಹೇಗೆ ಜೀವಂತಗೊಳಿಸುವುದನ್ನು ವಿಶಾಲ ದೃಷ್ಟಿಯಿಂದ ನೋಡುವಲ್ಲಿ ಸಹಾಯ ಮಾಡುತ್ತದೆ. + +## GitHub Copilot ಏಜೆಂಟ್ ಸವಾಲು 🚀 + +ಏಜೆಂಟ್ ಮೋಡ್ ಬಳಸಿಕೊಂಡು ಕೆಳಗಿನ ಸವಾಲನ್ನು ಪೂರ್ಣಗೊಳಿಸಿ: + +**ವಿವರಣೆ:** ಆಧುನಿಕ ಕೋಡ್ ಎಡಿಟರ್ ಅಥವಾ IDE ಯ ಹಂತಗಳನ್ನು ಅನ್ವೇಷಿಸಿ ಮತ್ತು ಅದು ವೆಬ್ ಡೆವಲಪರ್ ಆಗಿ ನಿಮ್ಮ ಕೆಲಸವನ್ನು ಹೇಗೆ ಸುಧಾರಿಸುತ್ತದೆ ಎಂದು ತೋರಿಸಿ. + +**ಪ್ರಾಂಪ್ಟ್:** ಕೋಡ್ ಎಡಿಟರ್ ಅಥವಾ IDE ಆಯ್ಕೆ ಮಾಡಿ (Visual Studio Code, WebStorm ಅಥವಾ ಕ್ಲೌಡ್ ಆಧಾರಿತ IDE ಗಳಲ್ಲಿ ಯಾವುದಾದರೂ). ನೀವು ಹೆಚ್ಚಿನ ಪರಿಣಾಮಕಾರಿತ್ವದೊಂದಿಗೆ ಬರೆಯಲು, ಡಿಬಗ್ ಮಾಡಲು ಅಥವಾ ಕೋಡ್ ನಿರ್ವಹಿಸಲು ಸಹಾಯ ಮಾಡುವ ಮೂರು ವೈಶಿಷ್ಟ್ಯಗಳು ಅಥವಾ ವಿಸ್ತರಣೆಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ. ಪ್ರತಿ ಒಂದು ಮಧ್ಯೆ, ಅದು ನಿಮ್ಮ ಕೆಲಸದ ಹರಿವಿಗೆ ಹೇಗೆ ಹಿತಕರ ಎಂದು ಸಂಕ್ಷಿಪ್ತ ವಿವರಣೆ ನೀಡಿ. + +--- + +## 🚀 ಸವಾಲು + +**ಸರಿ, ಅನ್ವೇಷಕ, ನಿಮ್ಮ ಮೊದಲ ಪ್ರಕರಣಕ್ಕಾಗಿ ಸಜ್ಜಾಗಿದ್ದೀರಾ?** + +ನೀವು ಇಲ್ಲಿಗೆ ಶ್ರದ್ಧೆಯಿಂದ ಬಂದಿರುವುದು ಈಗ ನನಗೆ ಒಂದು ಸಾಹಸ ಇಲ್ಲಿದೆ, ಅದು ನಿಮಗೆ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಜಗತ್ತಿನ ವಿಭಿನ್ನತೆ ಮತ್ತು ಆಕರ್ಷಕತೆಯನ್ನು ತೋರಿಸುತ್ತದೆ. ಕೇಳಿ – ಇದು ಇನ್ನೂ ಕೋಡ್ ಬರೆಯಲು ಅಲ್ಲ, ಹೀಗಾಗಿ ಒತ್ತಡ ಬೇಡ! ನೀವು ನಿಮ್ಮ very first case ನಲ್ಲಿ programming ಭಾಷಾ ಅನ್ವೇಷಕ ಎನ್ನುತ್ತಾ! + +**ನಿಮ್ಮ ಮಿಷನ್, ನೀವು ಸ್ವೀಕರಿಸಿದರೆ:** +1. **ಭಾಷಾ ಅನ್ವೇಷಕ ಆಗಿ**: ಸಂಪೂರ್ಣ ವಿಭಿನ್ನ ವಿಶ್ವಗಳಿಂದ ಮೂರೂ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳನ್ನು ಆರಿಸಿ – ಒಂದು ವೆಬ್ಸೈಟ್ಗಳನ್ನು ರಚಿಸುತ್ತಿದೆ, ಒಂದು ಮೊಬೈಲ್ ಆಪ್ ರಚಿಸುತ್ತದೆ, ಮತ್ತೊಂದು ವಿಜ್ಞಾನಿಗಳಿಗೆ ಡೇಟಾ ಗಣನೆ ಮಾಡುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ಭಾಷೆಗಳಲ್ಲಿ ಸರಳ ಕೆಲಸವನ್ನು ಲಿಖಿಸಿರುವ ಉದಾಹರಣೆಗಳನ್ನು ಕಂಡುಹಿಡಿಯಿರಿ. ನೀವು ಆಷ್ಟು ಅಚ್ಚರಿಯಾಗುವಿರಿ ಹೇಗೆ ಭಿನ್ನವಾಗಿರಬಹುದು ಪರೀಕ್ಷೆ ಮಾಡ್ತಾ ಇರುವುದರಿಂದ! + +2. **ಅವರ ಮೂಲ ಕಥೆಯನ್ನು ಅನ್ವೇಷಿಸಿ**: ಪ್ರತಿ ಭಾಷೆಯ ವಿಶೇಷತೆಯನ್ನು ತಿಳಿದುಕೊಳ್ಳಿ. ಎಲ್ಲಾ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳೂ ಇದೇ ಕಾರಣಕ್ಕೆ ನಿರ್ಮಿಸಲ್ಪಟ್ಟವು – ”ನೀವು ಗೊತ್ತಾ? ಈ ವಿಶೇಷ ಸಮಸ್ಯೆಗೆ ಇನ್ನೊಂದು ಉತ್ತಮ ಪರಿಹಾರ ಅಗತ್ಯವಿದ್ದು” ಎಂಬ ಆಲೋಚನೆಯಿಂದ. ನೀವು ಆ ಸಮಸ್ಯೆಗಳೇನು olduğunu ಕಂಡುಹಿಡಿಯಬಹುದೇ? ಆ ಕಥೆಗಳು ತುಂಬಾ ಆಕರ್ಷಕವಾಗಿವೆ! + +3. **ಸಮುದಾಯಗಳನ್ನು ಭೇಟಿಮಾಡಿ**: ಪ್ರತಿ ಭಾಷೆಯ ಸಮುದಾಯ ಹೇಗೆ ಆತ್ಮೀಯ ಮತ್ತು ಸಹಾಯಕವಿದೆ ಅಂದುಕೊಳ್ಳಿ. ಕೆಲವು ತಲೆಸಾಲುಗಳೋ ಜನಸಂಖ್ಯೆಯ ಮೀಸಲಿಟ್ಟಿರುತ್ತಾರೆ, ಇನ್ನಷ್ಟು ಸಣ್ಣ ಆದರೆ ತುಂಬಾ ಒಗ್ಗಟ್ಟಾಗಿ ಮತ್ತೊಬ್ಬರ ನೆರವನ್ನು ನೀಡುತ್ತಾರೆ. ವಿವಿಧ ವ್ಯಕ್ತಿತ್ವಗಳನ್ನು ನೋಡಲು ನೀವು ಇಷ್ಟಪಡುತ್ತೀರಿ! + +4. **ನಿಮ್ಮ ಅನುಭವವನ್ನು ಅನುಸರಿಸಿ**: ಈಗ ಯಾವ ಭಾಷೆ ನಿಮಗೆ ಹೆಚ್ಚು ಸುಲಭವಂತೆ ಅನಿಸುತ್ತದೆ? "ಸರಿ" ಆಯ್ಕೆ ಮಾಡುವ ಬಗ್ಗೆ ಒತ್ತಡ ಬೇಡ – ನಿಮ್ಮ ಅನುಭವವನ್ನು ಕೇಳಿ! ಇಲ್ಲಿಗೆ ತಪ್ಪು ಉತ್ತರವಿಲ್ಲ, ಮತ್ತು ನೀವು ಇನ್ನು ಮುಂದೆ ಇತರ ಭಾಷೆಗಳನ್ನು ಕೇಳಿಕೊಳ್ಳಬಹುದು. + +**ಬೋನಸ್ ಅನ್ವೇಷಣಾ ಕೆಲಸ**: ಪ್ರತಿಯೊಂದು ಭಾಷೆಯಲ್ಲಿ ನಿರ್ಮಿಸಿರುವ ಪ್ರಮುಖ ವೆಬ್ಸೈಟ್ ಅಥವಾ ಅಪ್ಲಿಕೇಶನ್ ಗಳನ್ನು ಹುಡುಕಿ ನೋಡಿ. ನಾನು ಖಂಡಿತವಾಗಿ ನಿಮಗೆ ಆಶ್ಚರ್ಯವಾಗುತ್ತದೆ ನಿಮ್ಮ ಇನ್‌ಸ್ಟಾಗ್ರಂ, ನೆಟ್‌ಫ್ಲಿಕ್ಸ್ ಅಥವಾ ನೀವು ನಿಲ್ಲಿಸಲಾಗದ ಆ ಮೊಬೈಲ್ ಆಟ ಏನಿನಿಂದ ನಿರ್ಮಿತವಾಗಿದೆ ಎಂದು ತಿಳಿದುಕೊಳ್ಳುವಾಗ! + +> 💡 **ಮನಶಾರೀರದಲ್ಲಿಡಿ**: ನೀವು ಇವತ್ತು ಯಾವುದೇ ಭಾಷೆಯ ಪರಿಣತಿಯಾಗಿ ಸಾಧ್ಯವಿಲ್ಲ. ನೀವು ಅವರಿಗೆ ಪರಿಚಯ ಪಡೆಯುತ್ತೀರಿ ಮತ್ತು ಮುಂದಕ್ಕೆ ಏಲ್ಲಿ ನೆಲೆಸಬಲ್ಲಿರಿ ಎಂಬುದನ್ನು ತೀರ್ಮಾನಿಸುವ ಮುನ್ನ. ಸಮಯ ತೆಗೆದುಕೊಂಡು, ಆನಂದಿಸಿ ಮತ್ತು ನಿಮ್ಮ ಕುತೂಹಲಕ್ಕೆ ತಡೆಯಿಟ್ಟುಕೊಳ್ಳಬೇಡಿ! + +## ನೀವು ಕಂಡುಹಿಡಿದುದಕ್ಕೆ ಸಂಭ್ರಮಿಸೋಣ! + +ಅಯ್ಯೋ, ನೀವು ಇಂದು ತುಂಬಾ ಅದ್ಭುತ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಳ್ಳಿದ್ದೀರಿ! ನಾನು ನಿಜವಾಗಿಯೂ ಆಸಕ್ತನಾಗಿದ್ದೇನೆ ನೀವು ಈ ಅದ್ಭುತ ಪ್ರಯಾಣದಲ್ಲಿ ಎಷ್ಟಷ್ಟು ವಿಷಯ ಹಿಡಿದಿಟ್ಟಿದ್ದೀರೋ ಎಂಬುದನ್ನು ಕಂಡು. ಮತ್ತು ನೆನಪಿಡಿ – ಇದು ಪರೀಕ್ಷೆಯಲ್ಲ, ಎಲ್ಲವನ್ನೂ ಸರಿಯಾಗಿ ಮಾಡಬೇಕಾಗಿಲ್ಲ. ಇದು ಅತ್ಯಂತ ಆನಂದ ಹಾಗೂ ತಿಳುವಳಿಕೆಯ ತಯಾರಿ! + +[ಪೋಸ್ಟ್-ಪಾಠ ಕ್ವಿಜ್‌ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ](https://ff-quizzes.netlify.app/web/) +## ವಿಮರ್ಶೆ & ಸ್ವಯಂ ಅಧ್ಯಯನ + +**ನಿಮ್ಮ ಸಮಯವನ್ನು ತೆಗೆದುಕೊಂಡು ಅದನ್ನು ಅನ್ವೇಷಿಸಿ ಮತ್ತು ಆನಂದಿಸಬಹುದು!** + +ನೀವು ಇಂದು ಬಹಳಷ್ಟು ವಿಷಯಗಳನ್ನು ಮುಟ್ಟಿದ್ದೀರಿ, ಮತ್ತು ಅದು ಹೆಮ್ಮೆಪಡುವದರಂತೆ ಇದೆ! ಈಗ ಬರುವುದೇನೆಂದರೆ ಸಿಹಿಪಟ – ನಿಮ್ಮ ಕುತೂಹಲ ಉಂಟುಮಾಡಿದ ವಿಷಯಗಳನ್ನು ಅನ್ವೇಷಿಸುವುದು. ನೆನಪಿನಲ್ಲಿ ಇರಲಿ, ಇದು ಹೋಮ್‌ವರ್ಕ್ ಅಲ್ಲ – ಇದು ಒಂದು ಸಾಹಸ! + +**ನಿಮ್ಮನ್ನು ರಂಜಿಸುವುದರಲ್ಲಿ ಆಳವಾಗಿ ಡುಬ್ಬಿ ಹೋಗಿ:** + +**ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳೊಂದಿಗೆ ಕೈ ಅನಿಸಿ:** +- ನಿಮ್ಮ ಗಮನ ಸೆಳೆದ 2-3 ಭಾಷೆಗಳ ಅಧಿಕೃತ ತಾಣಗಳಿಗೆ ಭೇಟಿ ನೀಡಿ. ಪ್ರತಿ ಭಾಷೆಗೆ ತನ್ನದೇನಾದರೂ ವೈಯಕ್ತಿಕತೆ ಮತ್ತು ಕಥೆಯಿದೆ! +- [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), ಅಥವಾ [Replit](https://replit.com/) ಮುಂತಾದ ಆನ್‌ಲೈನ್ ಕೋಡಿಂಗ್ ಪ್ಲೇಗ್ರೌಂಡ್ಸ್ ಪ್ರಯತ್ನಿಸಿ. ಪ್ರಯೋಗ ಮಾಡಲು ಭಯಪಡಬೇಡಿ – ನೀವು ಯಾವುದಾದರೂ ಕೆಡಕಲಾರಿಗೆ ಸಾಧ್ಯವಿಲ್ಲ! +- ನಿಮ್ಮ ಸುಮಾರು ಇಷ್ಟದ ಭಾಷೆಯ ಹುಟ್ಟುಗadona ವನ್ನು ಓದಿ. ಗಂಭೀರವಾಗಿ ಹೇಳುವುದಾದರೆ, ಕೆಲವು ಈ ಮೂಲ ಕಥೆಗಳು ಅತ್ಯಂತ ರೋಚಕವಾಗಿದ್ದು, ಭಾಷೆಗಳು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸಹಾಯಮಾಡುತ್ತವೆ. + +**ನಿಮ್ಮ ಹೊಸ ಉಪಕರಣಗಳೊಂದಿಗೆ ಆರಾಮವಾಗಿ ಇದ್ದಿರಿ:** +- ನೀವು Visual Studio Code ಡೌನ್‌ಲೋಡ್ ಮಾಡದಿದ್ದರೆ – ಅದು ಉಚಿತವಾಗಿದ್ದು, ನೀವು ಅದನ್ನು ಇಷ್ಟಪಡುತ್ತಾರೆ! +- ವಿಶೇಧಗಳ ಮಾರುಕಟ್ಟೆಯನ್ನು ಸ್ವಲ್ಪ ಸಮಯಕ್ಕಾಗಿ ಬ್ರೌಸ್ ಮಾಡಿ. ಅದು ನಿಮ್ಮ ಕೋಡ್ ಸಂಪಾದಕಕ್ಕೆ ಒಂದು ಅಪ್ ಸ್ಟೋರ್ ಹೀಗಿದೆ! +- ನಿಮ್ಮ ಬ್ರೌಸರ್‌ನ ಡೆವಲಪರ್ ಟೂಲ್ಸ್ ತೆರೆಯಿರಿ ಮತ್ತು ಜಾಸ್ತಿ ಕ್ಲಿಕ್ ಮಾಡಿ. ಎಲ್ಲವನ್ನೂ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕಾಗಿಲ್ಲ – ಅಲ್ಲಿ ಏನಿದೆ ಎನ್ನುವುದಕ್ಕೆ ಪರಿಚಯ ಪಡೆಯಿರಿ. + +**ಸಮುದಾಯ ಸೇರಿ:** +- [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), ಅಥವಾ [GitHub](https://github.com/)ಗಳಲ್ಲಿ ಕೆಲವು ಡೆವಲಪರ್ ಸಮುದಾಯಗಳನ್ನು ಅನುಸರಿಸಿ. ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಸಮುದಾಯವು ಹೊಸಬರಿಗೆ ತುಂಬಾ ಆತಿಥ್ಯಪೂರ್ವಕವಾಗಿದೆ! +- ಯೂಟ್ಯೂಬ್‌ನಲ್ಲಿ ಆರಂಭಿಕರ ಗೆಳತಿಯ ಕೋಡಿಂಗ್ ವೀಡಿಯೋಗಳನ್ನು ನೋಡಿ. ಪ್ರಾರಂಭವಾಗಿದ್ದಾಗ ಯಾವ ರೀತಿ ಅಂದಿರಲು ನ್ಯಾಯಿಪಡಿಸುವ ಸುಂದರ ಸೃಷ್ಟಿಕರ್ತರು ಅಲ್ಲಿ ಬಹಳಿದ್ದಾರೆ. +- ಸ್ಥಳೀಯ ಮೀಟಪ್‌ಗಳು ಅಥವಾ ಆನ್‌ಲೈನ್ ಸಮುದಾಯಗಳಿಗೆ ಸೇರುವುದನ್ನು ಪರಿಗಣಿಸಿ. ನಂಬಿಕೆಯಿಂದ ಹೇಳುತ್ತೇನೆ, ಡೆವಲಪರ್‌ಗಳಿಗೆ ಹೊಸಬರಿಗೆ ಸಹಾಯ ಮಾಡುವುದು ತುಂಬಾ ಇಷ್ಟ! + +> 🎯 **ಶ್ರವಿಸಿ, ಇದು ನಾನು ನಿಮಗೆ ನೆನಪಿಸಬೇಕು ಎ೦ಬುದು:** ನೀವು ಒಂದು ರಾತ್ರಿಯಲ್ಲಿ ಕೋಡಿಂಗ್ ಮಾಂತ್ರಿಕನಾಗಬೇಕೆಂದು ನಿರೀಕ್ಷಿಸಲಾಗಿರುವುದಿಲ್ಲ! ಈಗ, ನೀವು ಭಾಗವಾಗಲಿರುವ ಈ ಅದ್ಭುತ ಹೊಸ ಜಗತ್ತನ್ನು ಪರಿಚಯಿಸಿಕೊಳ್ಳುತ್ತಿದ್ದೀರಿ. ನಿಮ್ಮ ಸಮಯ ತೆಗೆದುಕೊಂಡು ಪ್ರಯಾಣವನ್ನು ಆನಂದಿಸಿ, ಮತ್ತು ನೆನಪಿನಲ್ಲಿ ಇರಲಿ – ಪ್ರತಿಯೊಂದು ಡೆವಲಪರ್ ನೀವು ಪ್ರಶಂಸಿಸುವವರು ಅವರು ಕೂಡ ನಿಮ್ಮ ಕ್ರಮದಲ್ಲಿ ಕುಳಿತಿರುವಾಗ ಸಂತೋಷದಿಂದ ಮತ್ತು ಸ್ವಲ್ಪವಾಗಿ ಅಲಜಲು ಅನುಭವಿಸಿದ್ದರು. ಅದು ಸಂಪೂರ್ಣ ಸಹಜ, ಮತ್ತು ಅದರಿಂದ ಅರ್ಥವಾಗುವುದು ನೀವು ಸರಿಯಾಗಿ ಮಾಡುತ್ತಿರುವಿರಿ! + +## ಕಾರ್ಯ + +[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" ಉದಾಹರಣೆಯನ್ನು ಆನ್‌ಲೈನಲ್ಲೇ ಪ್ರಯತ್ನಿಸಿ +- [ ] "Day in the Life of a Developer" ಎಂಬ ವೀಡಿಯೋವನ್ನು ಯೂಟ್ಯೂಬ್‌ನಲ್ಲಿ ನೋಡಿ +- [ ] ನಿಮ್ಮ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆ ತನಿಖಾ ಕೆಲಸ ಆರಂಭಿಸಿ (ಚಾಲೆಂಜ್‌ನಿಂದ) + +### 📅 **ನಿಮ್ಮ ಒಂದು ವಾರದ ಸಾಹಸ** +- [ ] ಕಾರ್ಯವನ್ನು ಪೂರ್ಣಗೊಳ್ಳಿಸಿ ಮತ್ತು 3 ಹೊಸ ಅಭಿವೃದ್ಧಿ ಉಪಕರಣಗಳನ್ನು ಅನ್ವೇಷಿಸಿ +- [ ] ಸೋಶಿಯಲ್ ಮೀಡಿಯಾದಲ್ಲಿ 5 ಡೆವಲಪರ್‍ಗಳು ಅಥವಾ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಖಾತೆಗಳನ್ನು ಅನುಸರಿಸಿ +- [ ] CodePen ಅಥವಾ Replit ನಲ್ಲಿ ಏನಾದರೂ ಸಣ್ಣದಾಗಿ ನಿರ್ಮಿಸಿ (ಕೆಲವೊಮ್ಮೆ "Hello, [ನಿಮ್ಮ ಹೆಸರು]!" ಸಹ ಸಾಲು) +- [ ] ಯಾರೋ ಒಬ್ಬ ಡೆವಲಪರ್ ಅವರ ಕೋಡಿಂಗ್ ಸಾಹಸದ ಬಗ್ಗೆ ಒಂದು ಬ್ಲಾಗ್ ಪೋಸ್ಟ್ ಓದಿ +- [ ] ಆನ್ಲೈನ್ ಘಟನೆ ಅಥವಾ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮಾತುಕತೆ ವೀಕ್ಷಿಸಿ +- [ ] ಆಯ್ದ ಭಾಷೆಯನ್ನು ಆನ್ಲೈನ್ ಟ್ಯುಟೋರಿಯಲ್‌ಗಳಿಂದ ಕಲಿಯಲು ಪ್ರಾರಂಭಿಸಿ + +### 🗓️ **ನಿಮ್ಮ ಒಂದು ತಿಂಗಳ ಪರಿವರ್ತನೆ** +- [ ] ನಿಮ್ಮ ಮೊದಲ ಸಣ್ಣ ಯೋಜನೆ ನಿರ್ಮಿಸಿ (ಸರಳ ವೆಬ್ ಪುಟವೂ ಸಾಕು!) +- [ ] ಓಪನ್ ಸೋರ್ಸ್ ಯೋಜಿಗೆ ಕೊಡುಗೆ ನೀಡಿ (ದಾಖಲೆ ತಿದ್ದುಪಡಿ ಆರಂಭದಲ್ಲಿ) +- [ ] ಯಾರೋ ಹೊಸಬರಿಗೆ ಮಾರ್ಗದರ್ಶನ ನೀಡಿರಿ +- [ ] ನಿಮ್ಮ ಡೆವಲಪರ್ ಪೋರ್ಟ್‌ಫೋಲಿಯೊ ವೆಬ್‌ಸೈಟ್ ರಚಿಸಿ +- [ ] ಸ್ಥಳೀಯ ಡೆವಲಪರ್ ಸಮುದಾಯಗಳು ಅಥವಾ ಅಧ್ಯಯನ ಗುಂಪುಗಳೊಂದಿಗೆ ಸಂಪರ್ಕ ಮಾಡಿ +- [ ] ಮುಂದಿನ ಕಲಿಕೆಯ ಗುರಿ ರೂಪಿಸುವುದನ್ನು ಪ್ರಾರಂಭಿಸಿ + +### 🎯 **ಅಂತಿಮ ಪರಿಗಣನೆ ಪರಿಶೀಲನೆ** + +**ಮುಂದೆ ಹೋಗುವುದಕ್ಕೂ ಮುಂಚೆ, ಒಬ್ಬ ಭಾಗವನ್ನು ಆಚರಿಸಿ:** +- programming ಬಗ್ಗೆ ಇಂದು ನಿಮ್ಮನ್ನು ಕಿಚ್ಚುಮಾತು ಮಾಡಿದ ಏನಾದರೊಬ್ಬದು ಯಾವುದು? +- ಯಾವ ಉಪಕರಣ ಅಥವಾ ಕಲ್ಪನೆಯನ್ನು ನೀವು ಮೊದಲು ಅನ್ವೇಷಿಸಲು ಇಚ್ಛಿಸುತ್ತೀರಿ? +- ಈ programming ಪ್ರಯಾಣವನ್ನು ಪ್ರಾರಂಭಿಸುವ ಬಗ್ಗೆ ನೀವು ಹೇಗಿದ್ದೀರಿ? +- ಈಗಲೇ ನೀವು ಡೆವಲಪರ್ ಒಬ್ಬರಿಗೆ ಕೇಳಬೇಕಿರುವ ಒಂದು ಪ್ರಶ್ನೆಯೇನು? + +```mermaid +journey + title ನಿಮ್ಮ ಆತ್ಮವಿಶ್ವಾಸ ನಿರ್ಮಾಣ ಯಾತ್ರೆ + section ಇಂದಿನದು + ಕುತೂಹಲಪೂರ್ಣ: 3: You + ತುಂಬಾ ಒತ್ತಡದಡಿಯಲ್ಲಿ: 4: You + ಉತ್ಸಾಹಭರಿತ: 5: You + section ಈ ವಾರ + ಅನ್ವೇಷಣೆ: 4: You + ಕಲಿಕೆ: 5: You + ಸಂಪರ್ಕಿಸಲು: 4: You + section ಮುಂದಿನ ತಿಂಗಳು + ನಿರ್ಮಾಣ: 5: You + ಆತ್ಮವಿಶ್ವಾಸವುಳ್ಳ: 5: You + ಇತರರಿಗೆ ಸಹಾಯ ಮಾಡುತ್ತಿರುವುದು: 5: You +``` +> 🌟 **ನಿಮ್ಮ ನೆನಪಿಗೆ:** ಪ್ರತಿಯೊಬ್ಬ ماهರೂ ಕೂಡ ಮೊದಲಿಗೆ ಆರಂಭಿಕನಾಗಿದ್ದರೂ; ಪ್ರತಿಯೊಬ್ಬ ಹಿರಿಯ ಡೆವಲಪರ್ ಕೂಡ ನೀವು ನಿನ್ನ ಸಮಯದಲ್ಲಿ ಹಾಗೆಯೇ - ಉತ್ಸಾಹದಿಂದ, ಸ್ವಲ್ಪ ಅಲಜಲಾಗಿ ಮತ್ತು ಯಾವನು ಸಾಧ್ಯ ಎ೦ಬುದರ ಬಗ್ಗೆ ಕುತೂಹಲದಿಂದ ಇದ್ದರು. ನೀವು ಅದ್ಭುತ ಸಮುದಾಯದಲ್ಲಿ ಇದ್ದೀರಿ, ಮತ್ತು ಈ ಪ್ರಯಾಣ ಅದ್ಭುತವಾಗಿರುತ್ತದೆ. ಪ್ರೋಗ್ರಾಮಿಂಗ್‌ನ ಅದ್ಭುತ ಜಗಕ್ಕೆ ಸ್ವಾಗತ! 🎉 + +--- + + +**ಅತ್ಯಾವಶ್ಯಕ ನಿರ್ಗಮನ**: +ಈ ದಸ್ತಾವೇಜನ್ನು AI ಭಾಷಾಂತರ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಉಪಯೋಗಿಸಿ ಭಾಷಾಂತರಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಗಾಗಿ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಭಾಷಾಂತರಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸೀಮಿತತೆಗಳು ಇರಬಹುದಾಗಿದೆ. ಮೂಲ ದಸ್ತಾವೇಜನ್ನು ಅದರ ಸ್ಥಳೀಯ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ಪ್ರಾಮಾಣಿಕ ಆಧಾರವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಗಂಭೀರ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಭಾಷಾಂತರವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಭಾಷಾಂತರ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ಅಸಮರ್ಥನೆಗಳು ಅಥವಾ ತಪ್ಪು ಅರ್ಥಗಳನ್ನು ಕುರಿತು ನಾವು ಹೊಣೆಗಾರರಾಗಿದ್ದೇವಲ್ಲ. + \ No newline at end of file diff --git a/translations/kn/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md b/translations/kn/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md new file mode 100644 index 000000000..b8224ef79 --- /dev/null +++ b/translations/kn/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md @@ -0,0 +1,78 @@ + +# ಅಸೈನ್ಮೆಂಟ್: ಆಧುನಿಕ ವೆಬ್ ಅಭಿವೃದ್ದಿ ಸಾಧನಗಳನ್ನು ಅನ್ವೇಷಿಸುವುದು + +## ಸೂಚನೆಗಳು + +ವೆಬ್ ಅಭಿವೃದ್ಧಿ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ವಿಕಸಕರೆಗಳಿಗೆ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ನಿರ್ಮಿಸಲು, ಪರೀಕ್ಷಿಸಲು, ನಿರ್ವಹಿಸಲು ಸಹಾಯ ಮಾಡುವ ನೂರಾರು ವಿಶೇಷ ಸಾಧನಗಳು ಸೇರಿವೆ. ಈ ಪಾಠದಲ್ಲಿ ಒಳಗೊಂಡಿರುವ ಸಾಧನಗಳನ್ನು ಸಹಾಯ ಮಾಡುವ ಸಾಧನಗಳನ್ನು ಅಧ್ಯಯನ ಮಾಡಿ, ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ನಿಮ್ಮ ಕಾರ್ಯವಾಗಿದೆ. + +**ನಿಮ್ಮ ಮಿಷನ್:** ಈ ಪಾಠದಲ್ಲಿ **ಆಳವಾಗಿ ಒಳಗೊಂಡಿಲ್ಲದ ಮೂರು ಸಾಧನಗಳನ್ನು** ಆಯ್ಕೆಮಾಡಿ (ಮೂದಲು ನೀಡಲಾದ ಕೋಡ್ ಸಂಪಾದಕರು, ಬ್ರೌಸರಗಳು ಅಥವಾ ಕಮಾಂಡ್ ಲೈನ್ ಸಾಧನಗಳನ್ನು ಆಯ್ಕೆಮಾಡಲು ಬಾರದು). ಆಧುನಿಕ ವೆಬ್ ಅಭಿವೃದ್ಧಿ ಕಾರ್ಯಪ್ರವಾಹಗಳಲ್ಲಿ ವಿಶೇಷ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುವ ಸಾಧನಗಳ ಮೇಲೆ ಗಮನಹರಿಸಿ. + +**ಪ್ರತಿಯೊಂದು ಸಾಧನಕ್ಕೆ, ನೀಡಬೇಕಾಗಿರುವುದು:** + +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] +``` + +## ಗುಣಮಟ್ಟ ಮಾರ್ಗಸೂಚಿಗಳು + +- **ಆಧುನಿಕ ಸಾಧನಗಳನ್ನು ಆರಿಸಬಹುದು**: 2025 ರಲ್ಲಿ ಸಕ್ರೀಯವಾಗಿ ನಿರ್ವಹಿಸಲ್ಪಡುವ ಮತ್ತು ವ್ಯಾಪಕವಾಗಿ ಬಳಸುವ ಸಾಧನಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ +- **ಮೌಲ್ಯಕ್ಕೆ ಕೇಂದ್ರೀಕರಿಸಿ**: ಸಾಧನವೇನು ಮಾಡುವುದನ್ನು ಮಾತ್ರವಲ್ಲದೆ, ಅದರ ವಿಶೇಷ ಲಾಭಗಳನ್ನು ವಿವರಿಸಿ +- **ವೃತ್ತಿಪರ ಸಂತ್ರಸ್ತತೆ**: ವೈಯಕ್ತಿಕ ಹವ್ಯಾಸಿಗಳಿಗೆ ಅಲ್ಲ, ಅಭಿವೃದ್ಧಿ ತಂಡಗಳು ಬಳಸುವ ಸಾಧನಗಳನ್ನು ಪರಿಗಣಿಸಿ +- **ಬೇರೆಬೇರೆ ಆಯ್ಕೆ**: ಪರಿಸರ ವ್ಯಾಪ್ತಿಯನ್ನು ತೋರಿಸಲು ವಿಭಿನ್ನ ವರ್ಗಗಳಿಂದ ಸಾಧನಗಳನ್ನು ಆರಿಸಿ +- **ಸಮಕಾಲೀನ ಪ್ರಾಮುಖ್ಯತೆ**: ಇತ್ತೀಚಿನ ವೆಬ್ ಅಭಿವೃದ್ಧಿ ಪ್ರವರ್ತನೆಗಳು ಮತ್ತು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳಿಗೆ ಹೊಂದಾಣಿಕೆಯಾಗುವ ಸಾಧನಗಳಿಗೆ ಪ್ರಾಥಮ್ಯ ನೀಡಿ + +## ಮಾನದಂಡ + +| ಅತ್ಯುತ್ತಮ | ಉತ್ತಮ | ಸುಧಾರಣೆಯ ಅಗತ್ಯವಿದೆ | +|-----------|------|-------------------| +| **ಪ್ರತೀಸ್ ಸಾಧನವನ್ನು ವೆಬ್ ಡೆವಲಪರ್ ಏಕೆ ಬಳಸುತ್ತಾರೆ ಮತ್ತು ಯಾವ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ವಿವರಿಸಲಾಗಿದೆ** | **ಸಾಧನ ಏನು ಮಾಡುತ್ತದೆ ಎಂದೂ ತಿಳಿಸಿದ್ದು ವ್ಯಾಲ್ಯೂ ಬಗ್ಗೆ ಕೆಲವೊಂದು ವಿವರ ತಪ್ಪಿದ್ದಾರೆ** | **ಸಾಧನಗಳ ಪಟ್ಟಿ ನೀಡಲಾಗಿದೆ ಆದರೆ ಅವರ ಉದ್ದೇಶ ಅಥವಾ ಲಾಭಗಳು ವಿವರಿಸಲಿಲ್ಲ** | +| **ಎಲ್ಲಾ ಸಾಧನಗಳಿಗೆ ಅಧಿಕೃತ ದಾಖಲೆ ಲಿಂಕ್ ನೀಡಲಾಗಿದೆ** | **ಬಹುಮಾರಿಗೆ ಅಧಿಕೃತ ಲಿಂಕ್ ಒದಗಿಸಲಾಗಿದೆ ಆದರೆ 1-2 ಟ್ಯುಟೋರಿಯಲ್ ಸೈಟ್‌ಗಳಿವೆ** | **ಮುಖ್ಯವಾಗಿ ಟ್ಯುಟೋರಿಯಲ್ ಸೈಟ್‌ಗಳನ್ನು ಅಧೀನ ಮಾಡಿದರೆ ಅಧಿಕೃತ ದಸ್ತಾವೇಜುಗಳ ಬದಲು** | +| **ಸಕ್ರೀಯ, ವೃತ್ತಿಪರವಾಗಿ ಬಳಸುವುದಾದಭ್ಯ ಸಾಧನವನ್ನು ವಿಭಿನ್ನ ವರ್ಗಗಳಿಂದ ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ** | **ರೂಚಿಕರ ಸಾಧನಗಳು ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ ಆದರೆ ವರ್ಗಗಳ ವೈವಿಧ್ಯ ಕಡಿಮೆ** | **ಹಳೆ ಪದ್ಧತಿನ ಸಾಧನಗಳು ಅಥವಾ ಒಂದೇ ವರ್ಗದಿಂದ ಮಾತ್ರ ಆಯ್ಕೆ** | +| **ಅಭಿವೃದ್ಧಿ ಕಾರ್ಯಪ್ರವಾಹಗಳಲ್ಲಿ ಸಾಧನಗಳ ಜಾಗದ ಬಗ್ಗೆ ಅರ್ಥಮಾಡಿಕೊಂಡಿದೆ** | **ವೃತ್ತಿಪರ ಸಂತ್ರಸ್ತತಾ ಬಗ್ಗೆ ಕೆಲವೊಂದು ಅರಿವು ತೋರಿಸಲಾಗಿದೆ** | **ಕೆವಲ ಸಾಧನ ವೈಶಿಷ್ಟ್ಯಗಳ ಮೇಲೆ ಮಾತ್ರ ಗಮನ ಕೇಂದ್ರೀಕರಿಸಿದ್ದು ಕಾರ್ಯಪ್ರವಾಹದ ಭಾಗವಿಲ್ಲ** | + +> 💡 **ಸಂಬಂಧಿತ ಸಂಶೋಧನೆ ಸಲಹೆ:** ವೆಬ್ ಡೆವಲಪರ್ಗಾಗಿ ಉದ್ಯೋಗ ಪ್ರಕಟಣೆಗಳಲ್ಲಿ ಉಲ್ಲೇಖಿಸಿದ ಸಾಧನಗಳನ್ನು ಹುಡುಕಿ, ಜನಪ್ರಿಯ ಡೆವಲಪರ್ ಸಮೀಕ್ಷೆಗಳನ್ನು ಪರಿಶೀಲಿಸಿ, ಅಥವಾ GitHub上的 ಯಶಸ್ವೀ ಮುಕ್ತಸ್ರೋತ ಯೋಜನೆಗಳ ಅವಲಂಬನೆಗಳನ್ನು ಪರಿಶೀಲಿಸಿ! + +--- + + +**ತ್ಯಾಗಪತ್ರಿಕೆ**: +ಈ ದಾಖಲೆ ಅನ್ನು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ಧತೆಯನ್ನು ಸಾಧಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳು ಇರಬಹುದೆಂದನ್ನು ಗಮನದಲ್ಲಿರಿಸಿಕೊಳ್ಳಿ. ಮೂಲ ದಾಖಲೆ ಅದರ ಮೂಲ ಭಾಷೆಯಲ್ಲಿ ಅಧಿಕೃತ ಮೂಲವಾಗಿ ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ವದ ಮಾಹಿತಿಗಳಿಗಾಗಿ ವೃತ್ತಿಪರ ಮಾನವನ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ. ಈ ಅನುವಾದದ ಬಳಕೆಯಿಂದ ಸಂಭವಿಸುವ ಯಾವುದೇ ಅರ್ಥಮಾಡಿಕೊಳ್‍ಪು ಅಥವಾ ತಪ್ಪು ಅರ್ಥಗಹಣೆಗೆ ನಾವು ಹೊಣೆಗಾರರಲ್ಲ. + \ No newline at end of file diff --git a/translations/kn/1-getting-started-lessons/2-github-basics/README.md b/translations/kn/1-getting-started-lessons/2-github-basics/README.md new file mode 100644 index 000000000..89147cbd1 --- /dev/null +++ b/translations/kn/1-getting-started-lessons/2-github-basics/README.md @@ -0,0 +1,777 @@ + +# GitHub ಗೆ ಪರಿಚಯ + +ಹೇಯ್ ಅಲ್ಲಿ, ಭವಿಷ್ಯದ ಡೆವಲಪರ್! 👋 ಪ್ರಪಂಚದಾದ್ಯಾಂತ ಲಕ್ಷಾಂತರ ಕೋಡರ್ಸ್ ಜೊತೆ ಸೆರೆಯಾಗಲು ಸಿದ್ಧರೇ? ನಾನು ನಿಜವಾಗಿಯೂ GitHub ಅನ್ನು ಪರಿಚಯಿಸಲು ಉತ್ಸುಕನಾಗಿದ್ದೇನೆ – ಇದನ್ನು ಪ್ರೋಗ್ರಾಮರ್‌ಗಳಿಗಾಗಿ ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ವೇದಿಕೆ ಎಂದು ಭಾವಿಸಿ, ಆದರೆ ನಿಮ್ಮ ಊಟದ ಫೋಟೋಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳುವುದರ ಬದಲು, ನಾವು ಕೋಡ್ ಹಂಚಿಕೊಳ್ಳುತ್ತೇವೆ ಮತ್ತು ಅದ್ಭುತ ವಸ್ತುಗಳನ್ನು ನಿರ್ಮಿಸುತ್ತೇವೆ! + +ನನಗೆ ಖಂಡಿತವಾಗಿ ಆಶ್ಚರ್ಯ ಹುಟ್ಟಿಸುವುದೇನಂದರೆ: ನಿಮ್ಮ ಫೋನಿನಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು ಅಪ್ಲಿಕೇಶನ್, ನೀವು ಭೇಟಿ ನೀಡುವ ಪ್ರತಿಯೊಂದು ವೆಬ್‌ಸೈಟ್ ಮತ್ತು ನೀವು ಬಳಸಲು ಕಲಿಯುವ ಬಹುಮತ ಉಪಕರಣಗಳನ್ನು GitHub ತರಹದ ವೇದಿಕೆಗಳಲ್ಲಿ ಸಹಕರಿಸುವ ಡೆವಲಪರ್‌ಗಳ ತಂಡಗಳು ರಚಿಸಿದ್ದವು. ನೀವು ಇಷ್ಟಪಡುವ ಸಂಗೀತ ಅಪ್ಲಿಕೇಶನ್? ನಿಮ್ಮಂತಹ ಯಾರೋ ಅದರತ್ತ ಕೊಡುಗೆ ನೀಡಿದ್ದಾರೆ. ನೀವು ಬಿಡಿಸಲು ಆಗದ ಆಟ? ಹೌದು, ಬಹುಶಃ GitHub ಸಹಯೋಗದಿಂದ ನಿರ್ಮಿಸಲಾಗಿದೆ. ಮತ್ತು ಈಗ ನೀವು ಆ ಅದ್ಭುತ ಸಮುದಾಯದ ಭಾಗವಾಗುವುದು ಹೇಗೆ ಎಂಬುದನ್ನು ಕಲಿಯಲಿದ್ದೀರಿ! + +ಮೊದಲಿಗೆ ಇದು ತುಂಬಾ ಆಗಬಹುದೆಂದು ನನಗೆ ಗೊತ್ತಿದೆ – ನಾನು ನನ್ನ ಮೊದಲ GitHub ಪುಟವನ್ನು ನೋಡುತ್ತ "ಇದರಲ್ಲಿ ಏನು ಅರ್ಥ?" ಎಂದು ಯೋಚಿಸಿದ್ದೆ. ಆದರೆ ಗೋಚರಿಸುವುದು: ಪ್ರತಿಯೊಬ್ಬ ಡೆವಲಪರ್ ಕೂಡ ನೀವು ಈಗಿರುವ ಸ್ಥಳದಿಂದಲೇ ಪ್ರಾರಂಭಿಸುತ್ತಾರೆ. ಈ ಪಾಠದ ಕೊನೆಯಲ್ಲಿ, ನಿಮಗೆ ನಿಮ್ಮ ಸ್ವಂತ GitHub ರೆಪೊಸಿಟರಿ (ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಪ್ರಾಜೆಕ್ಟ್ ಪ್ರದರ್ಶನವನ್ನು ಕ್ಲೌಡ್‌ನಲ್ಲಿ ಎಂದು ಭಾವಿಸಿ) ಇರುತ್ತದೆ, ಮತ್ತು ನೀವು ನಿಮ್ಮ ಕೆಲಸ ಉಳಿಸುವುದು, ಇತರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳುವುದು ಮತ್ತು ಲಕ್ಷಾಂತರ ಜನ ಬಳಸುವ ಪ್ರಾಜೆಕ್ಟ್‌ಗಳಿಗೆ ಕೊಡುಗೆ ನೀಡುವುದು ಹೇಗೆ ಎಂಬುದನ್ನು ತಿಳಿದಿರುತ್ತೀರಿ. + +ನಾವು ಈ ಪ್ರಯಾಣವನ್ನು ಒಂದೊಂದು ಹಂತವಾಗಿ ಹೋಗೋಣ. ಬೇಗನೆ ಮಾಡಲು ಬೇಡ, ಒತ್ತಡ ಮಾಡಬೇಡ – ನಿಮ್ಮ ಹಾಗೂ ನನ್ನ ನಡುವೆ ಮತ್ತು ನಿಮ್ಮ ಹೊಸ ಅತ್ಯುತ್ತಮ ಸ್ನೇಹಿತರಾದ ಕೆಲವು ಅಬ್ಬರದ ಉಪಕರಣಗಳ ಜೊತೆ! + +![Intro to GitHub](../../../../translated_images/webdev101-github.8846d7971abef6f9.kn.png) +> ಸ್ಕೆಚ್ನೋಟ್: [Tomomi Imura](https://twitter.com/girlie_mac) + +```mermaid +journey + title ನಿಮ್ಮ GitHub ಸಾಹಸ ಇಂದು + section ಸೆಟಪ್ + Git ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ: 4: You + ಖಾತೆಯನ್ನು ರಚಿಸಿ: 5: You + ಮೊದಲ ರೆಪೊಸಿಟರಿ: 5: You + section Git ನಲ್ಲಿ ನಿಪುಣತೆ + ಸ್ಥಳೀಯ ಬದಲಾವಣೆಗಳು: 4: You + ಕಮಿಟ್ ಮತ್ತು ಪುಷ್ ಮಾಡಿ: 5: You + ಶಾಖೆ: 4: You + section ಸಹಕರಿಸಿ + ಪ್ರಾಜೆಕ್ಟ್ಗಳನ್ನ ಫೋರ್ಕ್ ಮಾಡಿ: 4: You + ಪುಲ್ ವಿನಂತಿಗಳು: 5: You + ಓಪನ್ ಸೋರ್ಸ್: 5: You +``` +## ಪೂರ್ವ-ಪಾಠ ಕ್ವಿಜ್ +[ಪೂರ್ವ-ಪಾಠ ಕ್ವಿಜ್](https://ff-quizzes.netlify.app) + +## ಪರಿಚಯ + +ನಿಜವಾಗಿಯೂ ರೋಚಕ ವಿಷಯಗಳಿಗೆDiveಗೊಳ್ಳುವ ಮುನ್ನ, GitHub ಮಾಯಾಜಾಲಕ್ಕಾಗಿ ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಸಿದ್ಧಗೊಳಿಸೋಣ! ಇದು ಒಂದು ಕಲಾಕೃತಿ ಸೃಷ್ಟಿಸುವ ಮುನ್ನ ನಿಮ್ಮ ಕಲೆ ಉಪಕರಣಗಳನ್ನು ಆಯೋಜಿಸುವದಷ್ಟು ಸರಳ – ಸರಿಯಾದ ಉಪಕರಣಗಳು ಸಿದ್ಧವಾಗಿರುವುದು ಎಲ್ಲವೂ ಸೌಕರ್ಯಕರ ಮತ್ತು ಮನರಂಜನೆಯಾಗಿಸುವುದು. + +ನಾನು ಪ್ರತಿ ಸೆಟ್ಟಪ್ ಹಂತದ ಮೂಲಕ ನಿಮಗೆ ಮುಖಾಮುಖಿಯಾಗಿ ನಡೆಯುತ್ತೇನೆ, ಮತ್ತು ಇದು ಮೊದಲ ಭೇಟಿಯಲ್ಲಿ ಹೇಗಾದರೂ ಭಯಂಕರವೆಂದು ಭಾವಿಸುವಷ್ಟು ಭಯಹೊಂದಬೇಕಿಲ್ಲ. ಏನಾದರೂ ತಕ್ಷಣ ಮೆರಗು ತೋರದೇ ಇದ್ದರೂ, ಅದು ಸಹಜ. ನಾನು ನನ್ನ ಮೊದಲ ಡೆವಲಪ್‌ಮೆಂಟ್ ಪರಿಸರವನ್ನು ಹೊಂದಿಸುವಾಗ ಪ್ರಾಚೀನ ಹೈರೋಗ್ಲಿಫ್ ಓದುವ ಪ್ರಯತ್ನ ಮಾಡುತ್ತಿರುವಂತೆ ಭಾಸವಾಗಿತ್ತು. ಪ್ರತಿಯೊಬ್ಬ ಡೆವಲಪರ್ ಕೂಡ ನೀವು ಈಗಿರುವ ಸ್ಥಿತಿಯಲ್ಲಿದ್ದಾನೆ, ಸರಿಯಾಗಿ ಮಾಡುತ್ತಿದ್ದಾನಾ ಎಂದು ಸಂಶಯಿಸುತ್ತ. ಸೂಕ್ಷ್ಮ ಮಾಹಿತಿ: ನೀವು ಇಲ್ಲಿ ಕಲಿಯುತ್ತಿದ್ದೀರಾ ಎಂದರೆ ಸರಿಯಾಗಿ ಮಾಡುತ್ತಿದ್ದೀರಿ! 🌟 + +ಈ ಪಾಠದಲ್ಲಿ ನಾವು ಕಾಣೋದು: + +- ನಿಮ್ಮ ಯಂತ್ರದಲ್ಲಿ ನಿಮ್ಮ ಕೆಲಸವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುವುದು +- ಇತರರೊಂದಿಗೆ ಪ್ರಾಜೆಕ್ಟ್ ಮೇಲೆ ಕೆಲಸ ಮಾಡುವುದು +- ಓಪನ್ ಸೋರ್ಸ್ ತಂತ್ರಾಂಶಕ್ಕೆ ಕೊಡುಗೆ ನೀಡುವುದು ಹೇಗೆ + +### ಪೂರ್ವಶರತ್ತುಗಳು + +ನಿಮ್ಮ GitHub ಮಾಯಾಜಾಲಕ್ಕಾಗಿ ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಸಿದ್ಧಗೊಳಿಸೋಣ! ಚಿಂತೆ ಬೇಡ – ಈ ಸೆಟ್ಟಪ್ ನಿಮಗೆ ಒಂದು ಬಾರಿ ಮಾತ್ರ ಬೇಕು, ಮತ್ತು ಆನಂತರ ನೀವು ನಿಮ್ಮ ಸಂಪೂರ್ಣ ಕೋಡಿಂಗ್ ಪಯಣಕ್ಕಾಗಿ ಸಿದ್ಧರಾಗುತ್ತೀರಿ. + +ಸರಿ, ನೆಲೆಯ ಮೇಲೆ ಪ್ರಾರಂಭಿಸೋಣ! ಮೊದಲಿಗೆ, Git ಈಗಾಗಲೇ ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ ಇಷ್ಟೇ ಇಲ್ಲವೋ ನೋಡೋಣ. Git ಕೇಂದ್ರೀಯವಾಗಿ super-smart ಸಹಾಯಕನಂತೆ ನಿಮ್ಮ ಕೋಡ್‌ನ ಪ್ರತಿಯೊಂದು ಬದಲಾವಣೆ ನಿರ್ಮಿಸಿದಂತೆ ನೆನಸಿಕೊಳ್ಳುತ್ತದೆ – ಪ್ರತಿಐ ಎರಡು ಸೆಕೆಂಡುಗಳಲ್ಲಿ Ctrl+S ಒತ್ತುತ್ತಿರೋದಕ್ಕಿಂತ ಹೆಚ್ಚು ಚಾತುರ್ಮ್ಯಕ್ಷವಾಗಿದೆ (ನಾವು ಎಲ್ಲರೂ ಹಾಗೆಂದು ಇದ್ದೇವೆ!). + +ನಿಮ್ಮ ಟರ್ಮಿನಲ್‌ನಲ್ಲಿ ಈ ಮಾಯಾಜಾಲದ ಆಜ್ಞೆ ಟೈಪ್ ಮಾಡಿ Git ಈಗಾಗಲೇ ಇಂದೆಯೋ ನೋಡೋಣ: +`git --version` + +Git ಇಲ್ಲದಿದ್ದರೂ, ಸಮಸ್ಯೆ ಇಲ್ಲ! פשוט [download Git](https://git-scm.com/downloads) ಗೆ ಹೋಗಿ ಡೌನ್ಲೋಡ್ ಮಾಡಿ. ನೀವು ಅದನ್ನು ಸ್ಥಾಪಿಸಿದ ಬಳಿಕ, Gitನನ್ನು ಸರಿಯಾಗಿ ಪರಿಚಯಿಸಬೇಕಿದೆ: + +> 💡 **ಮೊದಲ ಬಾರಿಗೆ ಸೆಟ್ಟಪ್**: ಈ ಆಜ್ಞೆಗಳು Gitಗೆ ನೀವು ಯಾರಾಗಿದ್ದೀರೋ ಹೇಳುತ್ತವೆ. ಪ್ರತಿಯೊಂದು ನಿಮ್ಮ ಕಮಿಟ್ ಗೆ ಈ ಮಾಹಿತಿ ಜೋಡಿಸಲಾಗುವುದು, ಆದ್ದರಿಂದ ನಿಮ್ಮ ಹೆಸರು ಮತ್ತು ಇಮೇಲ್ ಅನ್ನು ಸಾರ್ವಜನಿಕವಾಗಿ ಹಂಚಿಕೊಳ್ಳಲು ನೀವು ಸಮತೋಲನ ಹೊಂದಿದಂತೆ ಆಯ್ಕೆಮಾಡಿ. + +```bash +git config --global user.name "your-name" +git config --global user.email "your-email" +``` + +Git ಈಗಾಗಲೇ ಕಾನ್ಫಿಗರ್ ಆಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲು ನೀವು ಟೈಪ್ ಮಾಡಬಹುದು: +```bash +git config --list +``` + +ನೀವು GitHub ಖಾತೆ, ಕೋಡ್ ಸಂಪಾದಕ (Visual Studio Code ಮುಂತಾದ) ಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಟರ್ಮಿನಲ್ ಅಥವಾ ಕಮಾಂಡ್ ಪ್ರಾಂಪ್ಟ್ ತೆರೆಯಬೇಕು. + +[github.com](https://github.com/) ಗೆ ಹೋಗಿ ನೀವು ಈಗಾಗಲೇ ಖಾತೆ ನಿರ್ಮಿಸದಿದ್ದರೆ ಸೃಷ್ಟಿಸಿ ಅಥವಾ ಲಾಗಿನ್ ಮಾಡಿ ಮತ್ತು ನಿಮ್ಮ ಪ್ರೊಫೈಲ್ ಭರ್ತಿ ಮಾಡಿ. + +💡 **ನೂತನ ಸಲಹೆ**: ಗುಪ್ತಪದಗಳನ್ನು ಬೇಸರವಿಲ್ಲದೆ ಬಳಸಲು [SSH ಕೀಗಳನ್ನು](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) ಅಥವಾ [GitHub CLI](https://cli.github.com/) ಬಳಸಿ. + +✅ GitHub ಏಕೈಕ ಕೋಡ್ ರೆಪೊಸಿಟರಿ ಅಲ್ಲ; ಇತರ ಸಹ ಇದ್ದಾರೆ, ಆದರೆ GitHub ಹೆಚ್ಚು ಪ್ರಸಿದ್ದವಾಗಿದೆ. + +### ತಯಾರಿ + +ನಿಮ್ಮ ಸ್ಥಳೀಯ ಯಂತ್ರದಲ್ಲಿ (ಲೆಪ್ಟಾಪ್ ಅಥವಾ ಪಿಸಿ) ಕೋಡ್ ಪ್ರಾಜೆಕ್ಟ್ ಇರುವ ಫೋಲ್ಡರ್ ಮತ್ತು ಇತರರ ಪ್ರಾಜೆಕ್ಟುಗಳಿಗೆ ಕೊಡುಗೆ ನೀಡಲು ಉದಾಹರಣೆಯಾಗಿ GitHub ನಲ್ಲಿ ಸಾರ್ವಜನಿಕ ರೆಪೊಸಿಟರಿ ಬೇಕಾಗುತ್ತದೆ. + +### ನಿಮ್ಮ ಕೋಡ್ ಸುರಕ್ಷಿತವಾಗಿರಿಸುವುದು + +ನಮ್ಮ ಒಂದು ಕ್ಷಣ ಭದ್ರತೆ ಬಗ್ಗೆ ಮಾತಾಡೋಣ – ಆದರೆ ಭಯಂಕರ ವಿಷಯಗಳಿಂದ ನಿಮ್ಮನ್ನು ಮತ್ತೆಗಲ್ಲುಗೊಳ್ಳಿಸುವುದಿಲ್ಲ! ಈ ಭದ್ರತಾ ಅಭ್ಯಾಸಗಳನ್ನು ನಿಮ್ಮ ಕಾರು ಅಥವಾ ಮನೆ ನ securely ಲಾಕ್ ಮಾಡುವಂತೆ ಭಾವಿಸಿ. ಇದು ಸರಳವಾದ ಅಭ್ಯಾಸಗಳು ಮತ್ತು ನಿಮ್ಮ ಕಠಿಣ ಕೆಲಸವನ್ನು ರಕ್ಷಿಸುತ್ತವೆ. + +ನಾವು ಆರಂಭದಿಂದಲೇ GitHub ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ನವೀನ, ಭದ್ರ ವಿಧಾನಗಳನ್ನು ತೋರಿಸುತ್ತೇವೆ. ಹಾಗಾಗಿ, ನೀವು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಬೆಳಸುತ್ತೀರಿ ಮತ್ತು ನಿಮ್ಮ ಪೂರ್ವಾಭ್ಯಾಸವನ್ನಾಗಿ ಮಾಡುತ್ತೀರಿ. + +GitHub ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುವಾಗ, ಭದ್ರತಾ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಅನುಸರಿಸುವುದು ಮುಖ್ಯ: + +| ಭದ್ರತೆ ವಿಭಾಗ | ಉತ್ತಮ ಅಭ್ಯಾಸ | ಮಹತ್ವ ಏನು | +|---------------|---------------|-------------| +| **ಪ್ರಮಾಣೀಕರಣ** | SSH ಕೀಗಳು ಅಥವಾ ವ್ಯಕ್ತಿಗತ ಪ್ರವೇಶ ಟೋಕನ್‌ಗಳು ಉಪಯೋಗಿಸಿ | ಗುಪ್ತಪದಗಳು ಕಡಿಮೆ ಭದ್ರತೆ ಮತ್ತು ಹಳೆಯಾಗುತ್ತಿವೆ | +| **ಎರಡು-ಘಟಕ ಪ್ರಮಾಣೀಕರಣ** | ನಿಮ್ಮ GitHub ಖಾತೆಗೆ 2FA ಸಕ್ರಿಯಮಾಡಿ | ಖಾತೆಯನ್ನು ಹೆಚ್ಚುವರಿ ರಕ್ಷಣೆ ನೀಡುತ್ತದೆ | +| **ರೆಪೊಸಿಟರಿ ಭದ್ರತೆ** | ಘನಗೋಪ್ಯ ಮಾಹಿತಿಗಳನ್ನು ಎಂದಿಗೂ ಕಮಿಟ್ ಮಾಡಬೇಡಿ | API ಕೀಗಳು ಮತ್ತು ಗುಪ್ತಪದಗಳು ಸಾರ್ವಜನಿಕ ರೆಪೊಗಳಲ್ಲಿದ್ದರೆ 안 될 ಉಂಟು | +| **ನಿರ್ಭರತೆ ನಿರ್ವಹಣೆ** | ಅಪ್ಡೇಟ್‌ಗಳಿಗೆ Dependabot ಸಕ್ರಿಯ ಮಾಡಿ | ನಿಮ್ಮ ಡಿಪೆಂಡೆನ್ಸಿಗಳನ್ನು ಭದ್ರ ಮತ್ತು ನವೀಕರಿತವಾಗಿರಿಸುತ್ತದೆ | + +> ⚠️ **ಗಂಭೀರ ಭದ್ರತಾ ನೆನಪಿನಂತೆ**: API ಕೀಗಳು, ಗುಪ್ತಪದಗಳು ಅಥವಾ ಇತರ ಭದ್ರ ಮಾಹಿತಿಗಳನ್ನು ಯಾವ ರೆಪೊಸಿಟರಿಗೂ ಕಮಿಟ್ ಮಾಡಬೇಡಿ. ಗುರ್ತಿಸುವಂತಹ ಡೇಟಾವನ್ನು ಪರಿಸರ ವ್ಯತ್ಯಾಸಗಳು ಮತ್ತು `.gitignore` ಫೈಲ್‌ಗಳ ಮೂಲಕ ರಕ್ಷಿಸಿ. + +**ಆಧುನಿಕ ಪ್ರಮಾಣೀಕರಣ ಸೆಟ್ಟಪ್:** + +```bash +# SSH ಕೀ ತಯಾರಿಸಿ (ಆಧುನಿಕ ed25519 ಅಲ್ಗಾರಿದಮ್) +ssh-keygen -t ed25519 -C "your_email@example.com" + +# Git ಅನ್ನು SSH ಬಳಸಲು ಸೆಟ್‌ಅಪ್ ಮಾಡಿ +git remote set-url origin git@github.com:username/repository.git +``` + +> 💡 **ಪ್ರೊ ಸಲಹೆ**: SSH ಕೀಗಳು ಗುಪ್ತಪದಗಳನ್ನು ಪುನಃ ಇನ್ಪುಟ್ ಮಾಡಬೇಕಾದ ಅಗತ್ಯವನ್ನು ತೆಗೆದುಹಾಕುತ್ತವೆ ಮತ್ತು ಪರಂಪರাগত ಪ್ರಮಾಣೀಕರಣ ದೃಶ್ಠಾಂತಕ್ಕಿಂತ ಹೆಚ್ಚು ಭದ್ರತೆ ಒದಗಿಸುತ್ತವೆ. + +--- + +## ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಪ್ರೊಗಳಂತೆ ನಿರ್ವಹಿಸುವುದು + +ಸರಿ, ಇಲ್ಲಿ ವಿಷಯಗಳು ನಿಜವಾಗಿಯೂ ರೋಚಕವಾಗುತ್ತಿವೆ! 🎉 ನಾವು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಪ್ರೊಗಳಂತೆಯೇ ಟ್ರ್ಯಾಕ್ ಮತ್ತು ನಿರ್ವಹಿಸುವಂತೆ ಕಲಿಯೋಣ, ಮತ್ತು ಇದೊಂದು ನನ್ನ ಇಷ್ಟ ಪಾಠಾಂಶ ಏಕೆಂದರೆ ಇದು ಆಟ ಬದಲಿಸುವಂತೆ. + +ಈದನ್ನು ಆಲೋಚಿಸಿ: ನೀವು ಒಂದು ಅದ್ಭುತ ಕಥೆಯನ್ನು ಬರೆಯುತ್ತಿದ್ದೀರಿ ಮತ್ತು ಪ್ರತಿಯೊಂದು খಾಕು, ಪ್ರತಿಯೊಂದು ಸ್ಫೂರ್ತಿದಾಯಕ ಸಂಪಾದನೆ ಮತ್ತು ಎಲ್ಲ "ಅಯ್ಯೋ, ಇದು ಆಕಸ್ಮಿಕ!" ಕ್ಷಣಗಳನ್ನು ಅನುಸರಿಸಲು ಇಚ್ಛಿಸುವಿರಿ. Git ನಿಮ್ಮ ಕೋಡ್‌ಗೆ ಸರಿಯಾಗಿ ಅಂಥ ಒಂದು ಆಗುತ್ತದೆ! ಇದು ಅತ್ಯುತ್ತಮ ಕಾಲಪ್ರವಾಸಿ ನೋಟ್ಬುಕ್ ಹಾಗೆ – ಪ್ರತಿಯೊಂದು ಕೀಪ್ರೆಸ್, ಬದಲಾವಣೆ, "ಅಯ್ಯೋ, ಇದರಿಂದ ಎಲ್ಲವೂ ಕೊಳೆದುಹೋದಂತೆ" ಕ್ಷಣ ಕೂಡ ನೆನಸಿಕೊಳ್ಳಬಹುದು ಮತ್ತು ತಕ್ಷಣ ಮರುಹೊಂದಿಸಬಹುದು. + +ನಿರ್ಮಲಾನಿರ್ಮಲ, ಇದು ಮೊದಲಿಗೆ ಭಾರವಾಗಿ ಕಂಡರೂ ಸಹ. ನಾನು ಪ್ರಾರಂಭಿಸಿದಾಗ, "ನನಗೆ ಸರಾಸರಿ ಫೈಲ್ ಗಳಂತೆ ಉಳಿಸುವುದಕ್ಕೆ ಏಕೆ ಸಾಧ್ಯವಿಲ್ಲ?" ಎಂದೂ ಯೋಚಿಸಿದ್ದೆ. ಆದರೆ ನಂಬಿ: Git ನಿಮಗೆ ಸೂಕ್ತವಾಗಿದ್ದಾಗ (ಮತ್ತು ಅದು ಆಗುತ್ತದೆ!), ನೀವು ಆ ಲೈಟ್ಬಲ್ಬ್ ಕ್ಷಣ ಪಡೆಯುತ್ತೀರಿ – "ನಾನು ಇದುವರೆಗೆ ಹೇಗೆ ಇಲ್ಲದಂತಿರಲಿಲ್ಲ?". ನಾನು ನಡೆಯುತ್ತಿದ್ದಾಗ ಯಾರೋ ಹಾರಿದ್ದರು ಎಂದು ಕಂಡುಕೊಳ್ಳುವುದಂತಾಗಿದೆ! + +ನೀವು ಸ್ಥಳೀಯವಾಗಿ ಫೋಲ್ಡರ್ ಹೊಂದಿದ್ದು, ಆ ಪ್ರಾಜೆಕ್ಟ್ ಮೇಲೆ ನಿಮ್ಮ ಪ್ರಗತಿಯನ್ನು Git ಮೂಲಕ ಟ್ರ್ಯಾಕ್ ಮಾಡಬೇಕೆಂದು ಬಯಸಿದರೆ – ಕೆಲವು ಜನರು Git ಉಪಯೋಗಿಸುವುದನ್ನು ತಮ್ಮ ಭವಿಷ್ಯ ಸ್ವಂತಿಗೆ ಒಳಮೇಲಿನ ಪ್ರೇಮ ಪತ್ರ ಬರೆಯುವುದಾಗಿ ಹೋಲಿಸುತ್ತಾರೆ. ನಿಮ್ಮ ಕಮಿಟ್ ಸಂದೇಶಗಳನ್ನು ದಿನಗಳು, ವಾರಗಳು ಅಥವಾ ತಿಂಗಳುಗಳ ನಂತರ ಓದುವಾಗ ನೀವು ಏಕೆ ಈ ನಿರ್ಧಾರ ತೆಗೆದುಕೊಂಡಿರಿ ಅಥವಾ ಏನು ಬದಲಾವಣೆ ಮಾಡಿಕೊಂಡಿರಿ ಎಂಬುದನ್ನು ನೆನಪಿಸಿಕೊಳ್ಳಬಹುದು – ಅಂದರೆ ನೀವು ಉತ್ತಮ "ಕಮಿಟ್ ಸಂದೇಶ"ಗಳು ಬರೆಯುತ್ತಿದ್ದಿರಿ. + +```mermaid +flowchart TD + A[📁 ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಫೈಲ್ಸ್] --> B{ಇದು ಗಿಟ್ ರೆಪೊ ಆವೇ?} + B -->|ಇಲ್ಲ| C[git init] + B -->|ಹೌದು| D[ಮಾರ್ಪಡಿಸಿಕೊಂಡುಬೇರೆ] + C --> D + D --> E[git add .] + E --> F["git commit -m 'ಸಂದೇಶ'"] + F --> G[git push] + G --> H[🌟 ಗಿಟ್ಹಬ್ ಮೇಲೆ ಕೋಡ್!] + + H --> I{ಸಹಕಾರ ಮಾಡಲು ಇಷ್ಟವಿದೆಯಾ?} + I -->|ಹೌದು| J[Fork & Clone] + I -->|ಇಲ್ಲ| D + J --> K[ಬ್ರಾಂಚ್ ರಚಿಸಿ] + K --> L[ಮಾರ್ಪಡಿಸಿಕೊಂಡುಬೇರೆ] + L --> M[ಪುಲ್ ವಿನಂತಿ] + M --> N[🎉 ಕೊಡುಗೆ ನೀಡುತ್ತಿದ್ದೀರಿ!] + + style A fill:#fff59d + style H fill:#c8e6c9 + style N fill:#ff4081,color:#fff +``` +### ಕಾರ್ಯ: ನಿಮ್ಮ ಮೊದಲ ರೆಪೊಸಿಟರಿ ರಚಿಸಿ! + +> 🎯 **ನಿಮ್ಮ ಮಿಷನ್ (ನಾನು ನಿಮ್ಮಿಗಾಗಿ ತುಂಬ ಉತ್ಸುಕನಾಗಿದ್ದೇನೆ!)**: ನಾವು ನಿಮ್ಮ ಮೊದಲ GitHub ರೆಪೊಸಿಟರಿಗೆ ಜೊತೆಗೇ ರಚಿಸುವೆವು! ಇಲ್ಲಿ ಪೂರ್ಣಗೊಂಡಾಗ, ನಿಮ್ಮ ಕೋಡ್ ಇರುವ ಸ್ವಂತ ಅಂಚೆಬಾಗಿಲು ಹಾಗೂ ನಿಮ್ಮ ಮೊದಲ "ಕಮಿಟ್" (ಅಂದರೆ ಬಹುಶಕ್ತಿಯಾದ ರೀತಿಯಲ್ಲಿ ನಿಮ್ಮ ಕೆಲಸ ಉಳಿಸುವಿಕೆ) ಮಾಡಿದ್ದೀರಿ. +> +> ಇದು ನಿಜವಾಗಿಯೂ ವಿಶೇಷ ಕ್ಷಣ – ನೀವು ಅಧಿಕೃತವಾಗಿ ಗ್ಲೋಬಲ್ ಡೆವಲಪರ್ ಸಮುದಾಯದ ಭಾಗವಾಗಿರುತ್ತೀರಿ! ನನ್ನ ಮೊದಲ ರೆಪೊ ನಿರ್ಮಿಸಿಕೊಂಡಾಗ ನೋಡುವ ಉತ್ಸಾಹ ಇನ್ನೂ ಮನದಾಳದಲ್ಲಿದೆ – "ಅಯ್ಯೋ ನಾನು ನಿಜವಾಗಿಯೂ ಇದನ್ನು ಮಾಡುತ್ತಿದ್ದೇನೆ!" + +ನಾವು ಈ ಸಂಚಲನವನ್ನು ಹೆಜ್ಜೆ ಹೆಜ್ಜೆ ಹಾಕಿ ನೋಡೋಣ. ಪ್ರತಿಯೊಂದರಲ್ಲೂ ಸಮಯವನ್ನು ಬಳಸಿ – ಬೇಗನೆ ಮಾಡಲು ಯಾವ ಬೀಗಲೂ ಇಲ್ಲ, ಮತ್ತು ಪ್ರತಿಯೊಬ್ಬ ಹಂತವೂ ಅರ್ಥವಾಗುವುದು. ನೆನಪಿಡಿ, ಪ್ರತಿಯೊಬ್ಬ ಕೋಡಿಂಗ್ ಸೂಪರ್ ಸ್ಟಾರ್ ನೀವು ಇMMಡಿದ ಸ್ಥಳದಲ್ಲಿ ಕುಳಿತಿದ್ದ, ತನ್ನ ಮೊದಲ ರೆಪೊ ಸೃಷ್ಟಿಸಲು ಸಿದ್ಧನಿತ್ತು. ಅದೃಷ್ಟವೇನೇ! + +> ವೀಡಿಯೋ ನೋಡಿ +> +> [![Git ಮತ್ತು GitHub ಮೂಲಭೂತ ವೀಡಿಯೋ](https://img.youtube.com/vi/9R31OUPpxU4/0.jpg)](https://www.youtube.com/watch?v=9R31OUPpxU4) + +**ನಾವು ಇದನ್ನು ಜೊತೆಯಾಗಿಸೋಣ:** + +1. **GitHub ನಲ್ಲಿ ನಿಮ್ಮ ರೆಪೊ ಸೃಷ್ಟಿಸಿ**. GitHub.com ಗೆ ಹೋಗಿ ಮತ್ತು ಬಲ ಎಮTYವ ಮೂಟಿಕೊಂಡಿರುವ ಹಸಿರು **New** ಬಟನ್ ಅಥವಾ ಮೇಲ್ಭಾಗದ **+** ಚಿಹ್ನೆಗೆ ನೋಡಿ. ಅದನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು **New repository** ಆಯ್ಕೆಮಾಡಿ. + + ಇದನ್ನೇ ಮಾಡಿದಾಗ: + 1. ನಿಮ್ಮ ರೆಪೊಗೆ ಹೆಸರಿಡಿ – ನಿಮ್ಮಿಗೆ ಅರ್ಥವಾಗುವ ಹೆಸರನ್ನಿಡಿ! + 1. ಇಚ್ಛಿಸುವರೆಡೆ ಒಂದು ವಿವರಣೆ ಸೇರಿಸಿ (ಇದು ಇತರರಿಗೆ ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಏನು ಎಂಬುದನ್ನು ತಿಳಿಸುತ್ತದೆ) + 1. ಅದನ್ನು ಸಾರ್ವಜನಿಕ ಅಥವಾ ಖಾಸಗಿ ಎಂದು ನಿರ್ಧರಿಸಿ + 1. README ಫೈಲ್ ಸೇರಿಸುವ ಆಯ್ಕೆಯನ್ನು ಪರಿಶೀಲಿಸಿ – ಇದು ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟಿನ ಮುನ್ನುಪಟ + 1. **Create repository** ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು ಹರ್ಷಿಸಿ – ನೀವು ಮೊದಲ ರೆಪೊ ಸೃಷ್ಟಿಸಿದ್ದೀರಿ! 🎉 + +2. **ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಫೋಲ್ಡರ್‌ಗೆ ಸಂಚರಿಸಿ**. ಈಗ ಟರ್ಮಿನಲ್ ತೆರೆಯಿರಿ (ಭಯಪಡಬೇಡಿ, ಅದು ಭಯಂಕರವಲ್ಲ!). ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಗೆ ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಫೈಲ್‌ಗಳು ಎಲ್ಲಿವೆ ಅನಿಸುವಂತೆ ಹೇಳಬೇಕು. ಈ ಆಜ್ಞೆ ಟೈಪ್ ಮಾಡಿ: + + ```bash + cd [name of your folder] + ``` + + **ನಾವು ಏನು ಮಾಡುತ್ತಿದ್ದೇವೆ:** + - ನಾವೀಗ ಹೇಳುತ್ತಿದ್ದೇವೆ "ಹೇ ಕಂಪ್ಯೂಟರ್, ನನ್ನ ಪ್ರಾಜೆಕ್ಟ್ ಫೋಲ್ಡರ್‌ಗೆ ಕೊಂಡು ಹೋಗು" + - ಇದು ನಿಮ್ಮ ಡೆಸ್ಕ್‌ಟಾಪ್ ನಲ್ಲಿ ನಿಶ್ಚಿತ ಫೋಲ್ಡರ್ ತೆರೆಯುವುದರಂತೆ, ಆದರೆ ನಾವು ಪಠ್ಯ ಆಜ್ಞೆಗಳ ಮೂಲಕ ಮಾಡುತ್ತಿದ್ದೇವೆ + - `[ನಿಮ್ಮ ಫೋಲ್ಡರ್ ಹೆಸರ]` ಅನ್ನು ನಿಮ್ಮ প্রকಲ್ರ್ ಫೋಲ್ಡರ್ ನ ನಿಜವಾದ ಹೆಸರಿನಿಂದ ಬದಲಾಯಿಸಿ + +3. **ನಿಮ್ಮ ಫೋಲ್ಡರ್ Git ರೆಪೊಸಿಟರಿಯಾಗಿಸು**. ಮಾಯಾಜಾಲ ಸಂಭವಿಸುತ್ತಿದೆ! ಟೈಪ್ ಮಾಡಿ: + + ```bash + git init + ``` + + **ಇದು ಈಗಾಗಲೀ ಆಗಿದೆ (ಅದ್ಭುತವೆನಿಸುತ್ತದೆ!):** + - Git ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟಿನಲ್ಲೊಂದು ಗೌಪ್ಯ `.git` ಫೋಲ್ಡರ್ ರಚಿಸಿದೆ – ನೀವು ಅದನ್ನು ನೋಡಲಾರಿರಿ ಆದರೆ ಅದು ಅಲ್ಲಿ ಇದೆ! + - ನಿಮ್ಮ ಸಾಮಾನ್ಯ ಫೋಲ್ಡರ್ ಈಗ ಪ್ರತಿಯೊಂದು ಬದಲಾವಣೆ ಟ್ರ್ಯಾಕ್ ಮಾಡಬಹುದಾದ "ರೆಪೊಸಿಟರಿ" ಆಗಿದೆ + - ನಿಮ್ಮ ಫೋಲ್ಡರ್‌ಗೆ ಎಲ್ಲಾ ಚಟುವಟಿಕೆಗಳನ್ನು ನೆನಸಿಕೊಳ್ಳುವ ಸೂಪರ್ಸಾಕ್ಷ್ಮತೆಗೆ ನೀಡಿದಂತೆ ಭಾವಿಸಿ + +4. **ನಾವು ಏನು ಮಾಡುತ್ತಿದ್ದೇವೆ ಪರಿಶೀಲಿಸಿ**. Git ನಿಮಗೆ ಈಗ ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಬಗ್ಗೆ ಏನು ಹೇಳುತ್ತಿದೆ ನೋಡೋಣ: + + ```bash + git status + ``` + + **Git ನೀವು ತಿಳಿಸುವುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ:** + + ನೀವು ಹೀಗೆ ಕಾಣಬಹುದು: + + ```output + Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + + modified: file.txt + modified: file2.txt + ``` + + **ಭಯಪಡಬೇಡಿ! ಇದರಿಂದ ಅರ್ಥವೇನಂದರೆ:** + - **ಕೆಂಪು** ಬಣ್ಣದಲ್ಲಿ ಇರುವ ಫೈಲ್‌ಗಳು ಬದಲಾವಣೆಗೊಂಡಿವೆ ಆದರೆ ಇನ್ನು ಉಳಿಸಿಬಿಡಲು ಸಿದ್ಧವಿಲ್ಲ + - **ಹಸಿರು** ಬಣ್ಣದಲ್ಲಿ ಇರುವ ಫೈಲ್‌ಗಳು ಉಳಿಸುವ ಹಂತಕ್ಕೆ ಸಿದ್ಧವಾಗಿವೆ + - Git ತಕ್ಷಣವೇ ಮುಂದೇನು ಮಾಡಬೇಕು ಎಂದು ಹೇಳುತ್ತದೆ + + > 💡 **ಪ್ರೊ ಸಲಹೆ**: `git status` ಆಜ್ಞೆ ನಿಮ್ಮ ಅತ್ಯುತ್ತಮ ಸ್ನೇಹಿತ! ನೀವು ಏನು ನಡೆಯುತ್ತಿದೆ ಎಂದು ಗೊಂದಲದಲ್ಲಿದ್ದರೆ ಯಾವಾಗಲೂ ಇದನ್ನು ಬಳಸಿ. Gitಗೆ "ಈಗ ಸ್ಥಿತಿ ಏನಿದೆ?" ಎಂದು ಕೇಳುವುದಿನಂತೆ. + +5. **ನಿಮ್ಮ ಫೈಲ್‌ಗಳನ್ನು ಉಳಿಸಲು ಸಿದ್ಧಮಾಡಿ** ("ಸ್ಟೇಜಿಂಗ್" ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ): + + ```bash + git add . + ``` + + **ನಾವು ಈಗ ಮಾಡಿದ್ದು:** + - ನಾವು Gitಗೆ "ನಾನು ನನ್ನ ಎಲ್ಲಾ ಫೈಲ್‌ಗಳನ್ನು ಮುಂದಿನ ಉಳಿಸುವಿಕೆಗಳಿಗೆ ಸೇರಿಸಲು ಇಚ್ಛಿಸುತ್ತೇನೆ" ಎಂದು ಹೇಳಿದೆವು + - `.` ಅಂದರೆ "ಈ ಫೋಲ್ಡರ್ನಲ್ಲಿರುವ ಎಲ್ಲವನ್ನೂ" + - ಈಗ ನಿಮ್ಮ ಫೈಲ್‌ಗಳು ಸ್ಟೇಜ್ ಆಗಿದ್ದು ಮುಂದಿನ ಹಂತಕ್ಕೆ ಸಿದ್ಧ + + **ಆಕ್ರಮಣೀಯವಾಗಿರಲು ಬಯಸುತ್ತೀರಾ?** ನೀವು ಬೇರೆ ಬೇರೆ ಫೈಲ್‌ಗಳನ್ನು ಮಾತ್ರ ಸೇರಿಸಬಹುದು: + + ```bash + git add [file or folder name] + ``` + + **ಇದು ಏಕೆ ಬೇಕಾಗಬಹುದು?** + - ನೀವು ಸಂಬಂಧಿತ ಬದಲಾವಣೆಗಳನ್ನು ಒಂದಾಗಿ ಉಳಿಸಲು ಬಯಸಬಹುದು + - ಇದು ನಿಮ್ಮ ಕೆಲಸವನ್ನು ತರ್ಕಸಮ್ಮತ ಭಾಗ ಗಳಿಗೆ ಒಕ್ಕಣೆ ಮಾಡಬಹುದು + - ಏನೂ ಬದಲಾಯಿಸಿತ್ತೆಂಬುದನ್ನು ಮತ್ತು ಯಾವಾಗ ಬದಲಾಯಿಸಿತ್ತೆಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸುಲಭ + + **ನಿಮ್ಮ ಮನಸ್ಸು ಬದಲಾಗಿದೆ?** ಚಿಂತಿಸಬೇಡಿ! ನೀವು ಫೈಲ್‌ಗಳನ್ನು ಸ್ಟೇಜ್‌ನಿಂದ ಮರಳಿ ತೆಗೆದುಹಾಕಬಹುದು: + + ```bash + # ಎಲ್ಲವನ್ನೂ ಅನ್ಸ್ಟೇಜ್ ಮಾಡಿ + git reset + + # ಕೇವಲ ಒಂದು ಕಡತವನ್ನು ಅನ್ಸ್ಟೇಜ್ ಮಾಡಿ + git reset [file name] + ``` + + ಆಲೋಚಿಸಬೇಡಿ – ಇದು ನಿಮ್ಮ ಕೆಲಸವನ್ನು ಅಳಿಸುವುದಿಲ್ಲ, ತಮ್ಮನ್ನು "ಸೇವಿಗೆ ಸಿದ್ಧ" ಸರಣಿಯಿಂದ ತೆಗೆದುಹಾಕುತ್ತದೆ. + +6. **ನಿಮ್ಮ ಕೆಲಸವನ್ನು ಶಾಶ್ವತವಾಗಿ ಉಳಿಸಿ** (ನಿಮ್ಮ ಮೊದಲ ಕಮಿಟ್ ಮಾಡಿ!): + + ```bash + git commit -m "first commit" + ``` + + **🎉 ಅಭಿನಂದನೆಗಳು! ನೀವು ಈಗ ನಿಮ್ಮ ಮೊದಲ ಕಮಿಟ್ ಮಾಡಿದ್ದಾರೆ!** + + **ನಮ್ಮದ್ದು ಏನಾಯಿತು:** + - Git ಈಗಲಿರುವ ಎಲ್ಲ ಸ್ಟೇಜ್ ಮಾಡಲಾದ ಫೈಲ್‌ಗಳ "ಸ್ನಾಪ್‌ಶಾಟ್" ತೆಗೆದುಕೊಂಡಿತು + - ನಿಮಗೆ ಕಮಿಟ್ ಸಂದೇಶ "ಮೇಲಿನ ಕಮಿಟ್" ನಿಮ್ಮ ಉಳಿಸುವಿಕೆಯ ಅರ್ಥವನ್ನು ವಿವರಿಸುತ್ತದೆ + - Git ಈ ಸ್ನಾಪ್‌ಶಾಟ್‌ಗೆ ವಿಶಿಷ್ಟ ID ನೀಡುತ್ತದೆ, ನೀವು ಅದನ್ನು ಯಾವಾಗಲೂ ಹಿಂಬಾಳಬಹುದು + - ನೀವು ಅಧಿಕೃತವಾಗಿ ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಇತಿಹಾಸವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡೋಣ ಪ್ರಾರಂಭಿಸಿದ್ದೀರಿ! + + > 💡 **ಭವಿಷ್ಯದ ಕಮಿಟ್ ಸಂದೇಶಗಳು**: ಮುಂದಿನ ಕಮಿಟ್‌ಗಳಿಗೆ ಹೆಚ್ಚು ವಿವರಣಾತ್ಮಕವಾಗಿರಿ! "ಅಪ್ಡೇಟು ಮಾಡಿದದ್ದು" ಬದಲಿಗೆ "ಮುಖಪುಟಕ್ಕೆ ಸಂಪರ್ಕ ಫಾರ್ಮ್ ಸೇರಿಸಿ" ಅಥವಾ "ನ್ಯಾವಿಗೇಶನ್ ಮೆನು ಬಗ್ಗು ಸರಿಪಡಿಸಿ" ಬಳಸಿ. ನಿಮ್ಮ ಭವಿಷ್ಯದ ತಾತ್ಕಾಲಿಕ ಸ್ವರೂಪ ನಿಮಗೆ ಧನ್ಯವಾದ ಹೇಳಲಿವೆ! + +7. **ನಿಮ್ಮ ಸ್ಥಳೀಯ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು GitHub ಗೆ ಸಂಪರ್ಕಿಸಿ**. ಈಗ ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ ಮಾತ್ರ ಇದೆ. ಇದನ್ನು GitHub ರೆಪೊಸಿಟರಿ ಗೆ ಸಂಪರ್ಕಿಸಿ ಎಲ್ಲರೂ ನೋಡಬಹುದಾಗಿಸೋಣ! + + ಮೊದಲು, GitHub ರೆಪೊಸಿಟರಿ ಪುಟಕ್ಕೆ ಹೋಗಿ URL ನಕಲಿಸಿ. ಆಗ ಇಲ್ಲಿ ಬಂದು ಟೈಪ್ ಮಾಡಿ: + + ```bash + git remote add origin https://github.com/username/repository_name.git + ``` + + (ಅವನು ನಿಮ್ಮ ನಿಜವಾದ ರೆಪೊಸಿಟರಿ URL ಅನ್ನು ಬದಲಾಯಿಸಿ!) + + **ನಾವು ಮಾಡಿದ್ದು:** + - ನಿಮ್ಮ ಸ್ಥಳೀಯ ಪ್ರಾಜೆಕ್ಟ್ ಮತ್ತು ನಿಮ್ಮ GitHub ರೆಪೊಸಿಟರಿ ನಡುವಣ ಸಂಪರ್ಕವನ್ನು ನಾವು ರಚಿಸಿದ್ದೇವೆ + - "Origin" ನಿಮ್ಮ GitHub ರೆಪೊಸಿಟರಿಗಾಗಿ ಒಂದು ಹೆಸರು ಮಾತ್ರ – ಇದು ನಿಮ್ಮ ಫೋನ್‌ಗೆ ಸಂಪರ್ಕ ಸೇರಿಸುವಂತೆ + - ಈಗ ನಿಮ್ಮ ಸ್ಥಳೀಯ Git ಗೆ ತಿಳಿದಿದೆ ನೀವು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಸಿದ್ಧರಾಗಿದ್ದೀರಾ ಎಲ್ಲಿ ಕಳುಹಿಸಲು + + 💡 **ಸುಲಭವಾದ ಮಾರ್ಗ**: ನೀವು GitHub CLI ಅನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿಕೊಂಡಿದ್ದರೆ, ನೀವು ಇದನ್ನು ಒಂದು ಕಮಾಂಡ್‌ನಲ್ಲಿ ಮಾಡಬಹುದು: + ```bash + gh repo create my-repo --public --push --source=. + ``` + +8. **ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು GitHub ಗೆ ಕಳುಹಿಸಿ** (ಮಹತ್ವದ ಕ್ಷಣ!): + + ```bash + git push -u origin main + ``` + + **🚀 ಇದೇ ಅದು! ನೀವು GitHub ಗೆ ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡುತ್ತಿದ್ದೀರಿ!** + + **ನಡೆಯುತ್ತಿರುವುದು:** + - ನಿಮ್ಮ ಕಾಮಿಟ್‌ಗಳು ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ನಿಂದ GitHub ಗೆ ಪ್ರಯಾಣಿಸುತ್ತಿವೆ + - `-u` ಧ್ವಜವು ಭವಿಷ್ಯದಲ್ಲಿ ಪುಶ್‌ಗಳು ಸುಲಭವಾಗಲು ಶಾಶ್ವತ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ + - "main" ನಿಮ್ಮ ಪ್ರಮುಖ ಶಾಖೆಯ ಹೆಸರು (ಮುಖ್ಯ ಕಡತದಂತೆ) + - ಇದಾದ ಮೇಲೆ, ಭವಿಷ್ಯ ಅಪ್‌ಲೋಡ್‌ಗಳಿಗೆ ಕೇವಲ `git push` ಅನ್ನು ಟೈಪ್ ಮಾಡಬಹುದು! + + 💡 **ತ್ವರಿತ ಟಿಪ್**: ನಿಮ್ಮ ಶಾಖೆಯ ಹೆಸರು ಬೇರೆ ಏನೆಂದರೆ (ಉದಾ: "master"), ಆ ಹೆಸರನ್ನು ಬಳಸಿ. ನೀವು `git branch --show-current` ಮೂಲಕ ಪರಿಶೀಲಿಸಬಹುದು. + +9. **ನಿಮ್ಮ ಹೊಸ ದೈನಂದಿನ ಕೋಡಿಂಗ್ ರಿಧಮ್ಗಳು** (ಇದರಿಂದ ಹೊಂದಾಣಿಕೆ ಆಗುತ್ತದೆ!): + + ಈಗಿನಿಂದ, ನೀವು ಪ್ರಾಜೆಕ್ಟ್‌ಗೆ ಬದಲಾವಣೆ ಮಾಡಿದಾಗ, ನಿಮ್ಮ ಬಳಿ ಈ ಸರಳ ಮೂರು ಹಂತಗಳ ನೃತ್ಯ ಇದೆ: + + ```bash + git add . + git commit -m "describe what you changed" + git push + ``` + + **ಇದು ನಿಮ್ಮ ಕೋಡಿಂಗ್ ಹೃದಯಸ್ಪಂದನವಾಗುತ್ತದೆ:** + - ನಿಮ್ಮ ಕೋಡ್‌ಗೆ ಅದ್ಭುತ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿ ✨ + - `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 ಕಾರ್ಯವಿಧಾನಗಳು + +ಈ ಆಧುನಿಕ ಪದ್ಧತಿಗಳನ್ನು ಅಳವಡಿಸಿಕೊಂಡು ಪರಿಶೀಲಿಸಿ: + +- **ಸಾಂಪ್ರದಾಯಿಕ ಕಾಮಿಟ್‌ಗಳು**: `feat:`, `fix:`, `docs:` ಮುಂತಾದ ಕ್ರಮಬದ್ಧ ಕಾಮಿಟ್ ಸಂದೇಶ ಸ್ವರೂಪವನ್ನು ಬಳಸಿ. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ [conventionalcommits.org](https://www.conventionalcommits.org/) ನೋಡಿ +- **ಸಣ್ಣ atomic commit‌ಗಳು**: ಪ್ರತಿ ಕಾಮಿಟ್ ಒಂದೇ ತರ್ಕಸಂಗತ ಬದಲಾವಣೆ ಸೂಚಿಸುವಂತೆ ಮಾಡಿ +- **ನಿಯತ ಕಾಮಿಟ್‌ಗಳು**: ದೊಡ್ಡದು ಮತ್ತು ಅಪೂರ್ವ ಕಾಮಿಟ್‌ಗಳ ಬದಲು, ಹೆಚ್ಚುವರಿ ಮತ್ತು ವಿವರಣೆ ಕೂಡಿರುವ ಕಾಮಿಟ್‌ಗಳನ್ನು ಮಾಡಿ + +#### ಕಾಮಿಟ್ ಸಂದೇಶಗಳು + +ಒಂದು ಉತ್ತಮ Git ಕಾಮಿಟ್ ವಿಷಯ ಸಾದರಪಡಿಸುವುದು ಈ ವಾಕ್ಯವನ್ನು ಪೂರೈಸುತ್ತದೆ: +ಅನ್ವಯಿಸುವುದಾದರೆ, ಈ ಕಾಮಿಟ್ <ನಿಮ್ಮ ವಿಷಯ ವಾಕ್ಯದಲ್ಲಿ> ಅನ್ನು ಮಾಡುತ್ತದೆ + +ವಿಷಯಕ್ಕೆ ಕ್ರಿಯಾತ್ಮಕ, ವർത്തಮಾನ ಕಾಲ ಬಳಸಿರಿ: "change" "changed" ಅಥವಾ "changes" ಅಲ್ಲ. +ವಿಷಯದಂತೆ, ಶರೀರದಲ್ಲಿ (ಐಚ್ಛಿಕ) ಕೂಡ ಕ್ರಿಯಾತ್ಮಕ, ವೃತ್ತಮಾನ ಕಾಲದಲ್ಲಿ ಬರೆಯಿರಿ. ಶರೀರದಲ್ಲಿ ಬದಲಾವಣೆಗೆ ಪ್ರೇರಣೆ ನೀಡಿದ ಕಾರಣ ಮತ್ತು ಹಿಂದಿನ ವರ್ತನೆಗೆ ಸಂಬಂಧಿಸಿದ ವಿವರಣೆಯನ್ನು ಅನೂತನವಾಗಿ ತಿಳಿಸಿ. ನೀವು `ಏಕೆ` ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತಿದ್ದೀರಿ, `ಹೇಗೆ` ಅಲ್ಲ. + +✅ GitHub ನಲ್ಲಿ ಸುಂದರವಾದ ಮತ್ತು ಸಂಕ್ಷಿಪ್ತ ಕಾಮಿಟ್ ಸಂದೇಶವನ್ನು ಹುಡುಕಿ. ಗೋಷ್ಠಿ ಅಥವಾ ಅತಿ ಕಡಿಮೆ ಮಾಹಿತಿಯ ಜೊತೆಗೆ ಯಾವುದಾದರೂ ಒಳ್ಳೆಯ ಉದಾಹರಣೆ ಕಂಡುಕೊಳ್ಳಬಹುದು. ನಿಮ್ಮ ಅಭಿಪ್ರಾಯದಲ್ಲಿ, ಯಾವ ಮಾಹಿತಿಯು ಕಾಮಿಟ್ ಸಂದೇಶದಲ್ಲಿ ಅತ್ಯಂತ ಮಹತ್ವದ ಮತ್ತು ಉಪಯುಕ್ತ? + +## ಇತರರ ಜೊತೆಗೆ ಕೆಲಸ ಮಾಡುವುದು (ಆನಂದದ ಭಾಗ!) + +ನಿಮ್ಮ ಟೋಪಿ ಹಿಡಿಯಿರಿ ಏಕೆಂದರೆ ಇಲ್ಲಿ GitHub ಸಂಪೂರ್ಣ ಜಾದುವಿನಂತಾಗುತ್ತದೆ! 🪄 ನೀವು ನಿಮ್ಮದೇ ಕೋಡ್ ನಿರ್ವಹಣೆಯಲ್ಲಿಗೆ ನಿಯಂತ್ರಣ ಪಡೆದಿದ್ದೀರಿ, ಆದರೆ ಈಗ ನಾವು ನನ್ನ ಅತಿದೊಡ್ಡ ಇಷ್ಟಪಡುವ ಹಂತಕ್ಕೆ ಬರುತ್ತಿದ್ದೇವೆ – ವಿಶ್ವದಾದ್ಯಾಂತ ಅದ್ಭುತ ಜನರೊಂದಿಗೆ ಸಹಕಾರ ಮಾಡುವುದು. + +ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ: ನೀವು ನಾಳೆ ಎಚ್ಚರಿದಾಗ, ಟೊಕ್ಯೋದಲ್ಲಿರುವ ಯಾರು ನಿಮ್ಮ ಕೋಡ್ ಬದಲಾವಣೆ ಮಾಡಿಕೊಂಡಿದ್ದಾರೆ. ಬಳಿಕ ಬರ್ಲಿನ್‌ನ ಒಬ್ಬರು ನಿಮ್ಮಾಳಿ ಶೀಘ್ರಾಯಿಸಿದ ದೋಷವನ್ನು ಸರಿಪಡಿಸಿದ್ದಾರೆ. ಮಧ್ಯಾಹ್ನಕ್ಕೆ, ಸ್ಯಾಂಪಾವ್ಲೋನ ಒಂದು ಡೆವಲಪರ್ ನೀವು ಎಂದಿಗೂ ಯೋಚಿಸದ ಒಂದು ವೈಶಿಷ್ಟ್ಯವನ್ನು ಸೇರಿಸಿದ್ದಾನೆ. ಅದು ವೈಜ್ಞಾನಿಕ ಕಲ್ಪನೆ ಅಲ್ಲ – GitHub ಯುನಿವರ್ಸ್ ನಲ್ಲಿ ಮಂಗಳವಾರದ ಒಂದು ಸಾಮಾನ್ಯ ಘಟನೆ! + +ನನಗೆ ಸಾರ್ಥಕವಾಗಿರುವುದೆಂದರೆ, ನೀವು ಕಲಿಯಲಿರುವ ಸಹಕಾರ ದಕ್ಷತೆಗಳು? ಗೂಗಲ್, ಮೈಕ್ರೋಸಾಫ್ಟ್ ಮತ್ತು ನಿಮಗೆ ಇಷ್ಟವಾದ ಸ್ಟಾರ್ಟ್ಅಪ್ ತಂಡಗಳು ಪ್ರತಿದಿನವೂ ಬಳಸುವ ನಿಖರ ಕಾರ್ಯವಿಧಾನಗಳೇ. ನೀವು ಕೇವಲ ಒಂದು ಶಾಖೆಯ ಉಪಕರಣ ಕಲಿಯುತ್ತಿರುವುದಿಲ್ಲ – ನೀವು ಸಂಪೂರ್ಣ ಸಾಫ್ಟ್‌ವೇರ್ ಲೋಕವನ್ನು ಒಟ್ಟಾಗಿ ಕೆಲಸ ಮಾಡಿಸುವ ಗುಪ್ತ ಭಾಷೆಯನ್ನು ಕಲಿಯುತ್ತಿದ್ದೀರಿ. + +ವಾಸ್ತವವಾಗಿ, ನೀವು ಮೊದಲ ಪುಲ್ ರಿಕ್ವಸ್ಟ್ ವಿನಲ್ಲಿ ಮೆರ್ಜ್ ಆಗುವ ಅನುಭವವನ್ನು ಅನುಭವಿಸಿದಾಗ, ಓಪನ್ ಸೊರ್ಸ್ ಬಗ್ಗೆ ಅಭಿವೃದ್ಧಿಪಡಕರು ಏಕೆ ನನ್ನ ಅಂತರ್ಜಾಲ ಪ್ರೀತಿ ತೋರಿಸುತ್ತಾರೆ ಎಂಬುದನ್ನು ಅರಿತುಕೊಳ್ಳುತ್ತೀರಿ. ಇದು ವಿಶ್ವದ ಅತಿದೊಡ್ಡ, ಅತ್ಯುತ್ತಮ ಸೃಜನಶೀಲ ತಂಡ ಯೋಜನೆಯ ಭಾಗವಾಗಿರುವಂತೆ! + +> ವೀಡಿಯೋವನ್ನೊ ಅಳಿ +> +> [![Git ಮತ್ತು GitHub ಮೂಲಭೂತಗಳು ವೀಡಿಯೊ](https://img.youtube.com/vi/bFCM-PC3cu8/0.jpg)](https://www.youtube.com/watch?v=bFCM-PC3cu8) + +GitHub ನಲ್ಲಿ ವಿಷಯಗಳನ್ನು ಇರಿಸುವ ಮುಖ್ಯ ಕಾರಣವೆಂದರೆ ಇತರ ವಿಕಸಕರೊಂದಿಗೆ ಸಹಕಾರ ಸಾಧ್ಯವಾಗಿಸುವುದು. + +```mermaid +flowchart LR + A[🔍 ಯೋಜನೆಯನ್ನು ಹುಡುಕಿ] --> B[🍴 ಸಂಗ್ರಹಸ್ಥಳವನ್ನು ಫೋರ್ಕ್ ಮಾಡಿ] + 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` ಗೆ ಹೋಗಿ ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಶಿಫಾರಸು ಮಾಡಿದ ಸಮುದಾಯ ಮಾನದಂಡಗಳೊಂದಿಗೆ ಹೋಲಿಕೆ ಹೇಗಿದೆ ಎಂದು ನೋಡಿ. + +ನಿಮ್ಮ ರೆಪೊಸಿಟರಿಯನ್ನು ವೃತ್ತಿಪರ ಮತ್ತು ಸ್ವಾಗತಾರ್ಹವಾಗಿ ಮಾಡಬೇಕೆ? ನಿಮ್ಮ ರೆಪೊಸಿಟರಿಯ `Insights > Community` ಗೆ ಹೋಗಿ ಕ್ಲಿಕ್ ಮಾಡಿ. ಈ ಸುಂದರ ವೈಶಿಷ್ಟ್ಯತೆ ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ GitHub ಸಮುದಾಯ "ಸರಿಯಾದ ರೆಪೊಸಿಟರಿ ಅಭ್ಯಾಸ" ಗಳೊಂದಿಗೆ ಹೋಲಿಕೆ ಹೇಗಿದೆ ಎಂದು ತೋರಿಸುತ್ತದೆ. + +> 🎯 **ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ಪ್ರಭಾವಶಾಲಿಯಾಗಿ ಮಾಡುವುದು**: ಒಳ್ಳೆಯ ವ್ಯವಸ್ಥಿತ ರೆಪೊಸಿಟರಿ ಮತ್ತು ಉತ್ತಮ ದಸ್ತಾವೇಜುಗಳು ಇರುವುದರಿಂದ ಅದು ಸ್ವಚ್ಛವಾದ, ಸ್ವಾಗತಾರ್ಹ ಅಂಗಡಿಗೃಹದಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು ಜನರಿಗೆ ನೀವು ನಿಮ್ಮ ಕಾರ್ಯವನ್ನು ಯಥಾಸ್ಥಿತವಾಗಿ ನೋಡಿಕೊಳ್ಳುತ್ತೀರಾ ಅಂದುತಾಳುವಂತೆ ತೋರಿಸುತ್ತದೆ ಮತ್ತು ಇನ್ನಿತರರು ಸಹಾಯ ಮಾಡಲು ಇಚ್ಛೆ ಬರುತ್ತದೆ! + +**ರೆಪೊಸಿಟರಿಯನ್ನು ಅದ್ಭುತವಾಗಿಸುವುದು ಈ ಕೆಳಗಿನಂತಿದೆ:** + +| ಏನು ಸೇರಿಸಬೇಕು | ಇದು ಯಾಕೆ ಮುಖ್ಯ | ಇದು ನಿಮಗೆ ಏನು ಮಾಡುತ್ತದೆ | +|----------------|----------------|------------------------| +| **ವಿವರಣೆ** | ಮೊದಲ ಭಾವನೆ ಮೌಲ್ಯವಿರುವುದು! | ಜನರಿಗೆ ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಏನು ಮಾಡುತ್ತದೆ ಅನ್ನು ತಕ್ಷಣ ತಿಳಿಸುತ್ತದೆ | +| **README** | ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಮೊದಲು ಪೇಜ್ | ಹೊಸ ಭೇಟಿ ನೀಡುವವರಿಗೆ ಸ್ನೇಹಪూరಿತ ಪ್ರವಾಸದರ್ಶಕರು | +| **ಸಹಾಯ ಸೂಚನೆಗಳು** | ನೀವು ಸಹಾಯ ಸ್ವಾಗತಿಸುವುದಾಗಿ ತೋರಿಸುತ್ತದೆ | ಜನರು ಹೇಗೆ ಸಹಾಯ ಮಾಡಬಹುದು ಎಂದು ತಿಳಿದುಕೊಳ್ಳುತ್ತಾರೆ | +| **ನಡವಳಿಕೆ ನಿಯಮಾವಳಿ** | ಸ್ನೇಹಪೂರ್ಣ ಸ್ಥಳ ಸೃಷ್ಟಿಸುತ್ತದೆ | ಎಲ್ಲರೂ ಪಾಲ್ಗೊಳ್ಳಲು ಸ್ವಾಗತನೆ ಹೊಂದಿದ್ದಾರೆಂದು ಭಾಸ ಹೊಂದಿಸುತ್ತದೆ | +| **ಕಡತ ಲೈಸೆನ್ಸ್** | ಕಾನೂನಿನ ಸ್ಪಷ್ಟತೆ | ಇತರರು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಹೇಗೆ ಬಳಸಬಹುದು ಎಂದು ತಿಳಿದುಕೊಳ್ಳುತ್ತಾರೆ | +| **ಭದ್ರತಾ ನೀತಿ** | ನೀವು ಹೊಣೆಗಾರರು ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ | ವೃತ್ತಿಪರ ಅಭ್ಯಾಸಗಳನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ | + +> 💡 **ಪ್ರೊ ಟಿಪ್**: GitHub ಈ ಎಲ್ಲ ಫೈಲ್‌ಗಳಿಗಾಗಿ ಟೆಂಪ್ಲೇಟುಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಹೊಸ ರೆಪೊಸಿಟರಿ ಸೃಷ್ಟಿಸಿದಾಗ, ಈ ಫೈಲ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರಚಿಸಲು ಬಾಕ್ಸ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ. + +**ಆಧುನಿಕ GitHub ಫೀಚರ್ಸ್ ಅನ್ವೇಷಿಸಲು:** + +🤖 **ಸ್ವಯಂಚಾಲನೆ & CI/CD:** +- ಪರೀಕ್ಷೆ ಮತ್ತು ಪ್ರಚರಣೆಗಾಗಿ **GitHub Actions** +- ಸ್ವಯಂಚಾಲಿತ ಅವಲಂಬನೆ ನವೀಕರಣಗಳಿಗಾಗಿ **Dependabot** + +💬 **ಸಮುದಾಯ & ಯೋಜನಾ ನಿರ್ವಹಣೆ:** +- ವಿಚಾರವಿಮರ್ಶೆಗಾಗಿ **GitHub Discussions** +- ಕಾಂಬನ್ ಶೈಲಿಯ ಯೋಜನಾ ನಿರ್ವಹಣೆಗೆ **GitHub Projects** +- ಕೋಡ್ ಗುಣಮಟ್ಟದ ನಿಯಮಗಳನ್ನು ಅನುಷ್ಠಾನಗೊಳಿಸಲು **ಶಾಖಾ ರಕ್ಷಣೆ ನಿಯಮಗಳು** + +ಎಲ್ಲಾ ಅವುಗಳು ಹೊಸ ತಂಡದ ಸದಸ್ಯರ ಅನುಬಂಧಕ್ಕೆ ಸಹಾಯ ಮಾಡುತ್ತವೆ. ಮತ್ತು ವಾಸ್ತವವಾಗಿ, ಹೊಸ ಸಹಯೋಗಿಗಳು ನಿಮ್ಮ ಕೋಡ್ ನೋಡುವ ಮೊದಲು ಪ್ರಾಜೆಕ್ಟ್ ಅವರ ಸಮಯವನ್ನು ಹೇಗೆ ಖರ್ಚು ಮಾಡಬೇಕೆಂದು ನಿರ್ಧರಿಸಲು ಇವುಗಳನ್ನು ಗಮನಿಸುತ್ತಾರೆ. + +✅ README ಫೈಲ್‌ಗಳು, ತಯಾರಿಸಲು ಸಮಯ ಬೇಕಾಗಿದ್ದರೂ ಸಹ, ಹೆಚ್ಚು ಕಾರ್ಯನಿರ್ವಹಿಸುವವರಿಂದ ತುಂಬಾ ಬಿಡಿಸಲಾಗುತ್ತದೆ. ನಿಮಗೆ ಬಹಳ ವಿವರಣಾತ್ಮಕ ಪದ್ಧತಿಯಿರುವುದಾದರೆ ಉದಾಹರಣೆಯನ್ನು ಕಂಡುಹಿಡಿಯಬಹುದು? ಗಮನಿಸಿ: ಉತ್ತಮ README ರಚಿಸಲು ಸಹಾಯ ಮಾಡುವ ಹಲವು [ಉಪಕರಣಗಳು](https://www.makeareadme.com/) ಇವೆ जिन्हें ನೀವು ಪ್ರಯತ್ನಿಸಬಹುದು. + +### ಕೆಲಸ: ಕೆಲವು ಕೋಡ್ ಒಕ್ಕೂಟ ಮಾಡಿ + +ಸಹಾಯ ಸೂಚನೆಗಳು ಜನರು ಪ್ರಾಜೆಕ್ಟ್‌ಗೆ ಕೊಡುಗೆ ನೀಡಲು ಸಹಾಯ ಮಾಡುತ್ತವೆ. ನೀವು ಯಾವ ರೀತಿಯ ಕೊಡುಗೆಗಳನ್ನು ಹುಡುಕುತ್ತಿರುವಿರಿ ಮತ್ತು ಪ್ರಕ್ರಿಯೆ ಹೇಗೆ ನಡೆಯುತ್ತದೆ ಎಂದು ವಿವರಿಸುತ್ತವೆ. ಕೊಡುಗುದಾರರು GitHub ನಲ್ಲಿ ನಿಮ್ಮ ರೆಪೊದಲ್ಲಿ ಕೊಡುಗೆ ನೀಡಲು ಹೀಗೆ ಕ್ರಮಗಳನ್ನು ಅನುಸರಿಸಬೇಕಾಗುತ್ತದೆ: + +1. **ರೆಪೊ ಫೋರ್ಕ್ ಮಾಡು** ನೀವು ಜನರನ್ನು ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ಫೋರ್ಕ್ ಮಾಡಲು ಬಯಸಬಹುದು. ಫೋರ್ಕ್ ಮಾಡುವುದು ಎಂದರೆ ಅದನ್ನು ಅವರ GitHub ಪ್ರೊಫೈಲಿನ ಮೇಲೆ ಪ್ರತಿಲಿಪಿ ಮಾಡುವುದು. +1. **ಕ್ಲೋನ್ ಮಾಡಿ**. ಅಲ್ಲಿ ಅವರು ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ತಮ್ಮ ಸ್ಥಳೀಯ ಯಂತ್ರಕ್ಕೆ ಕ್ಲೋನ್ ಮಾಡುತ್ತಾರೆ. +1. **ಶಾಖೆ ರಚಿಸಿ**. ನೀವು ಅದಕ್ಕಾಗಿ ಅವರಿಗೆ ತಮ್ಮ ಕೆಲಸಕ್ಕೆ ಶಾಖೆ ರಚಿಸಲು ಕೇಳುವಿರಿ. +1. **ಒಂದು ಕ್ಷೇತ್ರಕ್ಕೆ ಗಮನಹರಿಸಿ**. ಕೊಡುಗುದಾರರಿಗೆ ಅವರ ಕೊಡುಗೆಗಳನ್ನು ಒಂದೇ ಬಾರಿ ಒಂದೇ ವಿಷಯಕ್ಕೆ ಕೇಂದ್ರೀಕರಿಸುವಂತೆ ತಿಳಿಸಿ – ಆಗ ಅವರ ಕಾರ್ಯವನ್ನು ನೀವು ಒಕ್ಕೂಟ ಮಾಡಲು ಸಾಧ್ಯತೆ ಹೆಚ್ಚಾಗುತ್ತದೆ. ಅವರು ದೋಷ ಸರಿಪಡಿಸಿ, ಹೊಸ ವೈಶಿಷ್ಟ್ಯ ಸೇರಿಸಿ ಮತ್ತು ಹಲವು ಪರೀಕ್ಷೆಗಳನ್ನು ಅಪ್ಡೇಟ್ ಮಾಡುತ್ತಿರುವಾಗ, ನೀವು 3 ನಲ್ಲಿ 2 ಯಾ 1 ಬದಲಾವಣೆಗಳನ್ನು ಮಾತ್ರ ಅಳವಡಿಸಲು ಬಯಸಿದರೆ ಹೇಗಾಗುತ್ತದೆ? + +✅ ಶಾಖೆಗಳು ಉತ್ತಮ ಕೋಡ್ ಬರೆಯುವ ಮತ್ತು ಬಿಡುಗಡೆ ಮಾಡುವಲ್ಲಿ ಮಹತ್ವ ತುಂಬಿದ ಸಂದರ್ಭಗಳಾಗಿರುವ ಪರಿಸ್ಥಿತಿಯನ್ನು ಕಲ್ಪಿಸಿ. ನೀವು ಯಾವ ಉಪಯೋಗದ ಪ್ರಕರಣಗಳನ್ನು ಕಲ್ಪಿಸಬಹುದು? + +> ಗಮನಿಸಿ: ನೀವು ಜಗತ್ತಿನಲ್ಲಿ ಕಂಡು ಬಯಸುವ ಬದಲಾವಣೆ ಆಗಿ, ನಿಮ್ಮದೇ ಕೆಲಸಕ್ಕಾಗಿ ಸಹ ಶಾಖೆಗಳನ್ನು ರಚಿಸಿ. ನೀವು ಮಾಡಿದ ಯಾವುದೇ ಕಾಮಿಟ್ ಕೂಡ ನೀವು ಪ್ರಸ್ತುತ "ಚೆಕ್ ಔಟ್" ಮಾಡಿರುವ ಶಾಖೆಯಲ್ಲಿಯೇ ಆಗಿರುತ್ತದೆ. ಆ ಶಾಖೆ ಯಾವುದು ಎಂದು ನೋಡಲು `git status` ಬಳಸಿ. + +ಹೇಗೆ ಸಹಾಯಕರ ಕಾರ್ಯವಿಧಾನವನ್ನು ನಡೆದಾಡೋಣ. ಕೊಡುಗುದಾರರು ಈಗಾಗಲೇ ಫೋರ್ಕ್ ಮತ್ತು ಕ್ಲೋನ್ ಮಾಡಿದ್ದಾರೆ ಎಂದು ಊಹಿಸಿ, ಆದ್ದರಿಂದ ಅವರ ಸ್ಥಳೀಯ ಯಂತ್ರದಲ್ಲಿ Git ರೆಪೊ ಕೆಲಸಕ್ಕೆ ಸಿದ್ಧವಾಗಿದೆ: + +1. **ಶಾಖೆ ರಚಿಸಿ**. ಅವರು ಕೊಡುಗೆಯನ್ನು ನೀಡಲು ಉದ್ದೇಶಿಸಿರುವ ಬದಲಾವಣೆಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಶಾಖೆಯನ್ನು ರಚಿಸಲು `git branch` ಕಮಾಂಡ್ ಬಳಸಿರಿ: + + ```bash + git branch [branch-name] + ``` + + > 💡 **ಆಧುನಿಕ ವಿಧಾನ**: ನೀವು ಒಂದೇ ಕಮಾಂಡ್‌ನಲ್ಲಿ ಹೊಸ ಶಾಖೆ ರಚಿಸಿ ಅದಕ್ಕೆ ತಿರುಗಿಸಬಹುದು: + ```bash + git switch -c [branch-name] + ``` + +1. **ಕೆಲಸ ಮಾಡುತ್ತಿರುವ ಶಾಖೆಗೆ ಬದಲಾಯಿಸಿ**. ಸೂಚಿತ ಶಾಖೆಗೆ ಬದಲಾಯಿಸಿ ಮತ್ತು ಕಾರ್ಯ ನಿರ್ದೇಶನವನ್ನು `git switch` ಜೊತೆ ನವೀಕರಿಸಿ: + + ```bash + git switch [branch-name] + ``` + + > 💡 **ಆಧುನಿಕ ಟಿಪ್**: ಶಾಖೆ ಬದಲಾಯಿಸುವಾಗ `git switch` ಹೆಸರೇನು `git checkout`ಗೆ ವಿನ್ಯಾಸಾಂತರ. ಇದು ಶುರುವಾಗುವವರಿಗೆ ಸ್ಪಷ್ಟ ಮತ್ತು ಸುರಕ್ಷಿತ. + +1. **ಕೆಲಸ ಮಾಡಿ**. ಈಗ ನೀವು ಬದಲಾವಣೆಗಳನ್ನು ಸೇರಿಸಲು ಬಯಸುತ್ತೀರಿ. Git ಗೆ ತಿಳಿಸಲು ಕೆಳಗಿನ ಕಮಾಂಡ್‌ಗಳನ್ನು ಮರೆತರೆ ಬೇಡ: + + ```bash + git add . + git commit -m "my changes" + ``` + + > ⚠️ **ಕಾಮಿಟ್ ಸಂದೇಶ ಗುಣಮಟ್ಟ**: ನಿಮ್ಮ ಮುಂದೂಡುತ್ತಿರುವ ಶಾಖೆಯಲ್ಲಿನ ಕೆಲಸವನ್ನು ಸಹಾಯ ಮಾಡುತ್ತಿರುವ ರಿಪೋ ನಿರ್ವಹಣಾಧಿಕಾರಿಗೆ ವಿಶ್ಲೇಷಣಾತ್ಮಕ ಮೇಲುನಿಯಮವಿರುವ ಹೆಸರನ್ನು ತಿಳಿಸಿ. ನೀವು ಬದಲಾಯಿಸಿದುದನ್ನು ಸ್ಪಷ್ಟಪಡಿಸಿ! + +1. **ನಿಮ್ಮ ಕೆಲಸವನ್ನು `main` ಶಾಖೆಯೊಂದಿಗೆ ಒಗ್ಗೂಡಿಸಿ**. ನೀವು ಕೆಲಸ ಮುಗಿಸಿಕೊಂಡ ಮೇಲೆ, ನಿಮ್ಮ ಕೆಲಸವನ್ನು `main` ಶಾಖೆಯೊಂದಿಗೆ ಒಗ್ಗೂಡಿಸಲು ಬಯಸುತ್ತೀರಿ. `main` ಶಾಖೆ ಮಧ್ಯಂತರದಲ್ಲಿ ಬದಲಾಗಿದೆ ಇರಬಹುದು, ಆದ್ದರಿಂದ ಮೊದಲು ಅದನ್ನು ಈ ಕೆಳಗಿನ ಕಮಾಂಡ್‌ಗಳೊಂದಿಗೆ ಇತ್ತೀಚಿನದಾಗಿ ನವೀಕರಿಸಿ: + + ```bash + git switch main + git pull + ``` + + ಈಗಿನಲ್ಲಿಯೇ ಯಾವುದೇ ಗೊಂದಲಗಳು, Git ಅನ್ನು ಶಾಖೆಯಲ್ಲಿಯೇ ಸಮ್ಮಿಶ್ರಣ ಮಾಡಲು ಕಷ್ಟಪಡಿಸುವುದನ್ನು ನೋಡಲು ಈ ಕೆಳಗಿನ ಕಮಾಂಡ್‌ಗಳನ್ನು ಚಾಲನೆ ಮಾಡಿ: + + ```bash + git switch [branch_name] + git merge main + ``` + + `git merge main` ಕಮಾಂಡ್ `main` ಶಾಖೆಯಿಂದ ಎಲ್ಲಾ ಬದಲಾವಣೆಗಳನ್ನು ನಿಮ್ಮ ಶಾಖೆಗೆ ತರಲಿದೆ. ಆಶಾ ಇದೆ ನೀವು ಮುಂದುವರಿಯಬಹುದು. ಇಲ್ಲದಿದ್ದರೆ, VS Code Git ಗೊಂದಲವನ್ನು ಸೂಚಿಸುತ್ತದೆ ಮತ್ತು ನೀವು ಪ್ರಭಾವಿತ ಕಡತಗಳನ್ನು ಸ್ವಲ್ಪ ಬದಲಾಯಿಸಿ ಯಾವ ವಿಷಯ ಹೆಚ್ಚು ಸರಿಯೆಂದು ತಿಳಿಸಬಹುದು. + + 💡 **ಆಧುನಿಕ ಪರ್ಯಾಯ**: ಕ್ಲೀನಾಗಿ ಇತಿಹಾಸವನ್ನು ಇಡುವುದಕ್ಕೆ `git rebase` ಪರಿಗಣಿಸಿ: + ```bash + git rebase main + ``` + ಇದು ನಿಮ್ಮ ಕಾಮಿಟ್‌ಗಳನ್ನು ಇತ್ತೀಚಿನ `main` ಶಾಖೆಯ ಮೇಲಿದೆ ಪುನಃವೀಕ್ಷಣೆಯಿಂದ ಇತಿಹಾಸ ಸರಳಗೊಳಿಸುತ್ತದೆ. + +1. **ನಿಮ್ಮ ಕೆಲಸ GitHub ಗೆ ಕಳುಹಿಸಿ**. GitHub ಗೆ ನಿಮ್ಮ ಕೆಲಸ ಕಳುಹಿಸುವುದು ಎರಡು ಅಂಶಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ನೀವು ನಿಮ್ಮ ಶಾಖೆಯನ್ನು ನಿಮ್ಮ ರೆಪೋಗೆ ಪುಶ್ ಮಾಡಬೇಕು ಮತ್ತು ನಂತರ PR, Pull Request ತೆರೆಯಬೇಕು. + + ```bash + git push --set-upstream origin [branch-name] + ``` + + ಮೇಲಿನ ಕಮಾಂಡ್ ನಿಮ್ಮ ಫೋರ್ಕ್ ಮಾಡಿದ ರೆಪೋದಲ್ಲಿ ಶಾಖೆಯನ್ನು ರಚಿಸುತ್ತದೆ. + +### 🤝 **ಸಹಕಾರದ ದಕ್ಷತೆಗಳ ಮೌಲ್ಯಾಂಕನ: ಇತರರೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಸಿದ್ಧರಾಗಿದ್ದೀರಾ?** + +**ನಿಮ್ಮ ಸಹಕಾರದ ಭಾವನೆಗಳನ್ನು ನೋಡಿ:** +- ಫೋರ್ಕಿಂಗ್ ಮತ್ತು ಪುಲ್ ರಿಕ್ವೆಸ್ಟ್ ಗಳ ಕಲ್ಪನೆ ನಿಮಗೆ ಸ್ಪಷ್ಟವಾಯಿತೆ? +- ಶಾಖೆಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದರಲ್ಲಿ ನೀವು ಇನ್ನಷ್ಟು ಅಭ್ಯಾಸ ಮಾಡಬೇಕಾದ ಒಂದು ವಿಷಯವೇನಿದೆ? +- ಮತ್ತೊಬ್ಬರ ಪ್ರಾಜೆಕ್ಟ್‌ಗೆ ಕೊಡುಗೆ ನೀಡಲು ನೀವು ಎಷ್ಟು ಸೌಲಭ್ಯಭರಿತರಾಗಿದ್ದೀರಾ? + +```mermaid +mindmap + root((Git Collaboration)) + Branching + ವೈಶಿಷ್ಟ್ಯ ಶಾಖೆಗಳು + ದೋಷ ಸರಿಪಡಿಸುವ ಶಾಖೆಗಳು + ಪ್ರಯೋಗಾತ್ಮಕ ಕಾರ್ಯ + Pull Requests + ಕೋಡ್ ಪರಿಶೀಲನೆ + ಚರ್ಚೆ + ಪರೀಕ್ಷೆ + Best Practices + ಸ್ಪಷ್ಟ ಕಾಮಿಟ್ ಸಂದೇಶಗಳು + ಸಣ್ಣ ಕೇಂದ್ರೀಕೃತ ಬದಲಾವಣೆಗಳು + ಉತ್ತಮ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ +``` +> **ಆತ್ಮವಿಶ್ವಾಸ ಹೆಚ್ಚಿಸುವದು**: ನೀವು ಮೆಚ್ಚುತ್ತಿರುವ ಪ್ರತಿ ಅಭಿವೃದ್ಧಿದಾರರೂ ಮೊದಲು ತಮ್ಮ ಮೊದಲ ಪುಲ್ ರಿಕ್ವೆಸ್ಟ್‌ಗಾಗಿ ಉದ್ವಿಗ್ನರಾಗಿದ್ದರು. GitHub ಸಮುದಾಯ ಹೊಸವರಿಗೆ ತುಂಬಾ ಆತ್ಮೀಯವಾಗಿದೆ! + +1. **PR ತೆರೆಯಿರಿ**. ನಂತರ, ನೀವು PR ತೆರೆಯಬೇಕಾಗುತ್ತದೆ. ನೀವು GitHub ನ ಫೋರ್ಕ್ ಮಾಡಿದ ರೆಪೊಗೆ ನೇರವಾಗಿ ಹೋಗಿ. GitHub ನಲ್ಲಿ ನೀವು ಹೊಸ PR ರಚಿಸಲು കുറഞ്ഞಿಕೆ ನೋಡಿ, ಅದನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ, ಸಂದೇಶ ಶೀರ್ಷಿಕೆ ಬದಲಾಯಿಸಿ, ಸೂಕ್ತ ವಿವರಣೆ ನೀಡಿ. ಈಗ ನೀವು ಫೋರ್ಕ್ ಮಾಡಲಾದ ರೆಪೊಟಿಲ ನಿರ್ವಹಣೆಗಾರನು ಈ PR ನೋಡುತ್ತಾರೆ ಮತ್ತು ಅದು ಬೆಂಬಲಿಸಿ ಅದನ್ನು ಮರ್ಚ್ ಮಾಡಬಹುದು. ನೀವು ಈಗ ಕೊಡುಗುದಾರರಾಗಿದ್ದೀರಿ, ಹೂರೇ :) + + 💡 **ಆಧುನಿಕ ಟಿಪ್**: GitHub CLI ಬಳಸಿ PR ಗಳನ್ನು ಸಹ ರಚಿಸಬಹುದು: + ```bash + gh pr create --title "Your PR title" --body "Description of changes" + ``` + + 🔧 **PR ಗಳ ಅತ್ಯುತ್ತಮ ಅಭ್ಯಾಸಗಳು:** + - "Fixes #123" ಮುಂತಾದ ಕೀವರ್ಡ್ಗಳ ಮೂಲಕ ಸಂಬಂಧಿತ ಸಮಸ್ಯೆಗಳಿಗೆ ಲಿಂಕ್ ಮಾಡಿ + - UI ಬದಲಾವಣೆಗಳಿಗೆ ಸ್ಕ್ರೀನಷಾಟ್ ಸೇರಿಸಿ + - ನಿರ್ದಿಷ್ಟ ವಿಮರ್ಶಕರನ್ನು ಕೇಳಿ + - ಕಾರ್ಯಪ್ರಗತಿಯಲ್ಲಿ ಇರುವ ಕೆಲಸಕ್ಕಾಗಿ ಡ್ರಾಫ್ಟ್ PR ಗಳನ್ನು ಬಳಸಿ + - ವಿಮರ್ಶೆ ಕೋರಿ ಮೀರಿಸುವ ಮೊದಲು ಎಲ್ಲಾ CI ಪರೀಕ್ಷೆಗಳು ಪಾಸಾಗುವಂತೆ ಖಚಿತಪಡಿಸಿ +1. **ಶುದ್ಧಿಮಾಡುವುದು**. ನೀವು ಯಶಸ್ವಿಯಾಗಿ PR ಅನ್ನು ಮರ್ಜ್ ಮಾಡಿದ ನಂತರ _ಶುದ್ಧಿಮಾಡುವುದು_ ಉತ್ತಮ ಅಭ್ಯಾಸವೆಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. ನೀವು ನಿಮ್ಮ ಲೋಕಲ್ ಬ್ರಾಂಚ್ ಮತ್ತು GitHub ಗೆ ಪುಷ್ ಮಾಡಿದ ಬ್ರಾಂಚ್ ಎರಡನ್ನೂ ಶುದ್ಧಿಮಾಡಲು ಬಯಸುತ್ತೀರಿ. ಮೊದಲು ಈ ಕೆಳಗಿನ ಕಮಾಂಡ್ ಬಳಸಿ ಲೋಕಲ್ ನಲ್ಲಿ ಅದನ್ನು ಅಳಿಸಿ: + + ```bash + git branch -d [branch-name] + ``` + + ತಕ್ಷಣ forked repo ಗಾಗಿ GitHub ಪುಟಕ್ಕೆ ತೆರಳಿ ನಿಮಗೆ ಇತ್ತೀಚೆಗೆ ಪುಷ್ ಮಾಡಿದ ರಿಮೋಟ್ ಬ್ರಾಂಚ್ ಅನ್ನು ಅಳಿಸಿ. + +`ಪೂಲ್ ರಿಕ್ವೆಸ್ಟ್` ಎಂಬುದು ತೋರುತ್ತದೆ ಅಷ್ಟು ಸರಳ ಪದವಲ್ಲ, ಏಕೆಂದರೆ ನಿಜವಾಗಿಯೂ ನೀವು ನಿಮ್ಮ ಬದಲಾವಣೆಗಳನ್ನು ಪ್ರಾಜೆಕ್ಟಿಗೆ ಪುಷ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಆದರೆ ನಿರ್ವಹಣೆಗಾರರು (ಪ್ರಾಜೆಕ್ಟ್ ಮಾಲೀಕರು) ಅಥವಾ ಕೋರ್ ತಂಡವು ನಿಮ್ಮ ಬದಲಾವಣೆಗಳನ್ನು ಪ್ರಾಜೆಕ್ಟಿನ "ಮೇನ್" ಬ್ರಾಂಚಿಗೆ ಮರ್ಜ್ ಮಾಡುವ ಮೊದಲು ಪರಿಗಣಿಸಬೇಕಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು ನಿಜವಾಗಿಯೂ ನಿರ್ವಹಣೆಗಾರರಿಂದ ಬದಲಾವಣೆ ನಿರ್ಧಾರವನ್ನು ಕೇಳುತ್ತಿದ್ದೀರಿ. + +ಒಂದು ಪೂಲ್ ರಿಕ್ವೆಸ್ಟ್ ಎಂದರೆ ಬ್ರಾಂಚ್‌ನಲ್ಲಿ ಪರಿಚಯಿಸಲಾದ ಭೇದಗಳನ್ನು ವಿಮರ್ಶೆಗಳು, ಕಾಮೆಂಟ್‌ಗಳು, ಸಂಯೋಜಿತ ಪರೀಕ್ಷೆಗಳು ಮತ್ತು ಇನ್ನಷ್ಟು ಮೂಲಕ ಹೋಲಿಸಿ ಚರ್ಚಿಸಲು ವೇದಿಕೆಯಾಗಿದೆ. ಒಂದು ಉತ್ತಮ ಪೂಲ್ ರಿಕ್ವೆಸ್ಟ್ ಸುಮಾರು ಅದೇ ನಿಯಮಗಳನ್ನು ಅನುಸರಿಸುತ್ತದೆ, ಯಾವುವು ಕಮಿಟ್ ಸಂದೇಶಕ್ಕೆ ಅನುರೂಪವಾಗಿವೆ. ಉದಾಹರಣೆಗೆ ನೀವು ನಿಮ್ಮ ಕೆಲಸದ ಮೂಲಕ ಯಾವುದೇ ಸಮಸ್ಯೆಯನ್ನು ಸರಿಪಡಿಸಿದಾಗ, ಸಮಸ್ಯಾ ಟ್ರ್ಯಾಕರ್‌ನಲ್ಲಿ ಅದಕ್ಕೆ ಸಂರೆಫರನ್ಸ್ ಹಾಕಲು ನೀವು `#` ಚಿಹ್ನೆ ಮತ್ತು ನಿಮ್ಮ ಸಮಸ್ಯೆಯ ಸಂಖ್ಯೆಯನ್ನು ಬಳಸಬಹುದು. ಉದಾಹರಣೆಗೆ `#97`. + +🤞ಎಲ್ಲ ಪರೀಕ್ಷೆಗಳು ಪಾಸಾಗಲಿ ಮತ್ತು ಪ್ರಾಜೆಕ್ಟ್ ಮಾಲೀಕರು ನಿಮ್ಮ ಬದಲಾವಣೆಗಳನ್ನು ಪ್ರಾಜೆಕ್ಟಿಗೆ ಮರ್ಜ್ ಮಾಡಲಿ🤞 + +GitHub ನ ತಕ್ಕಮಟ್ಟಿನ ರಿಮೋಟ್ ಬ್ರಾಂಚ್‌ನಿಂದ ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಲೋಕಲ್ ವರ್ಕಿಂಗ್ ಬ್ರಾಂಚ್ ಅನ್ನು ಎಲ್ಲಾ ಹೊಸ ಕಮಿಟ್‌ಗಳೊಂದಿಗೆ жаңಾಗಿಸಿ: + +`git pull` + +## ಓಪನ್ ಸೋರ್ಸ್‌ಗೆ ಕೊಡುಗೆ ನೀಡುವುದು (ನೀವು ಪ್ರಭಾವ ಬೀರಲು ಅವಕಾಶ!) + +ನೀವು ಬಗೆಹರಿಸುವುದಕ್ಕೆ ಸಿದ್ಧರಿದ್ದೀರಾ? 🤯 ಓಪನ್ ಸೋರ್ಸ್ ಪ್ರಾಜೆಕ್ಟ್‌ಗಳಿಗೆ ಕೊಡುಗೆ ನೀಡುವ ಬಗ್ಗೆ ಮಾತಾಡೋಣ – ಮತ್ತು ಅದನ್ನು ನಾನು ನಿಮಗೆ ಹಂಚಿಕೊಳ್ಳಲು ಮಾತ್ರವಲ್ಲದೆ ಗೂಸುಬಂಪುಗಳನ್ನು ಅನುಭವಿಸುತ್ತಿದ್ದೇನೆ! + +ಇದು ನಿಮಗೆ ಐತಿಹಾಸಿಕ ಭಾಗವಾಗಲು ಅವಕಾಶ. ಪ್ರತಿದಿನವೂ ಲಕ್ಷಾಂತರ ಡೆವಲಪರ್‌ಗಳು ಬಳಸುವ ಟೂಲ್‌ಗಳನ್ನು ಸುಧಾರಿಸುವುದನ್ನು ಕಲ್ಪಿಸಿ, ಅಥವಾ ನಿಮ್ಮ ಸ್ನೇಹಿತರು ಇಷ್ಟಪಡುತ್ತಿರೋ ಆ್ಯಪ್‌ನಲ್ಲಿ ಬಗ್ಗನ್ನು ಸರಿಪಡಿಸುವುದನ್ನು. ಅದು ಕನಸು ಮಾತ್ರವಲ್ಲ – ಓಪನ್ ಸೋರ್ಸ್ ಕೊಡುಗೆದ ಬಗ್ಗೆ ಅದೇ! + +ನನಗೆ ಐತಿಹಾಸಿಕ ಭಾವನೆ ಬರುವುದೇನಂದರೆ: ನೀವು ಕಲಿತುಕೊಳ್ಳುತ್ತಿರುವ ಪ್ರತಿಯೊಂದು ಟೂಲ್ – ನಿಮ್ಮ ಕೋಡ್ ಎಡಿಟರ್, ನಾವು ಅಧ್ಯಯನ ಮಾಡುವ ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳು, ಇಲ್ಲಿಯೇ ಈ ಬ್ರೌಸರ್ ಸಹ – ಅವು ಎಲ್ಲವು ನಿಮ್ಮಂತಹ ಒಬ್ಬರು ತಮ್ಮ ಮೊದಲ ಕೊಡುಗೆಯನ್ನು ಮಾಡುತ್ತಲೇ ಪ್ರಾರಂಭವಾಯಿತು. ನಿಮ್ಮ ಒಳ್ಳೆಯವನಾಗಿ ಕಾಣಿಸುವ VS Code ವಿಸ್ತರಣೆತನ್ನು ರಚಿಸಿದ ಆ ಪ್ರತಿಭಾವಂತ ಉಪಯೋಗಕ್ಕಾಗಿ ಪ್ರಾರಂಭಿಕರಂತೆ "ಪೂಲ್ ರಿಕ್ವೆಸ್ಟ್ ರಚಿಸಿ" ಕ್ಲಿಕ್ ಮಾಡಿ ಕಣ್ಣಿನ ಮುಂದೆ ಕಿಚ್ಚು ಕೈಗಳೊಂದಿಗೆ ಮಾಡಿದ್ದರು. + +ಮತ್ತು ಇದಾಗಿದೆ ಅದ್ಭುತ ಭಾಗ: ಓಪನ್ ಸೋರ್ಸ್ ಸಮುದಾಯವು ಇಂಟರ್ನೆಟಿನ ದೊಡ್ಡ ಗುಂಪಿನ ಒಡಲಾಟದಂತೆ ಇದೆ. ತುಂಬಾ ಯೋಜನೆಗಳು ಪ್ರಾರಂಭಿಕರಿಗಾಗಿ “ಒಳ್ಳೆಯ ಮೊದಲ ಸಮಸ್ಯೆ” ಟ್ಯಾಗ್ ಹೊಂದಿದ್ದವು! ನಿರ್ವಹಣೆಗಾರರು ಹೊಸ ಕೊಡುಗೆದಾರರನ್ನು ನೋಡಿ ಸಂತೋಷಪಡುತ್ತಾರೆ, ಅವರು ತಮ್ಮ ಮೊದಲ ಹೆಜ್ಜೆಗಳನ್ನೇ ನೆನಪಿಗೆ ತರುತ್ತಾರೆ. + +```mermaid +flowchart TD + A[🔍 GitHub ಅನ್ವೇಷಿಸಿ] --> B[🏷️ "ಒಳ್ಳೆಯ ಪ್ರಥಮ ಸಮಸ್ಯೆ" ಕಂಡುಹಿಡಿಯಿರಿ] + B --> C[📖 ಕೊಡುಗೆ ನೀಡುವ ಮಾರ್ಗಸೂಚಿಗಳನ್ನು ಓದಿ] + C --> D[🍴 ರೆಪೊಸಿಟರಿ Fork ಮಾಡಿ] + 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 +``` +ನೀವು ಇಲ್ಲಿ ಕೇವಲ ಕೋಡ್ ಕಲಿಯುತ್ತಿಲ್ಲ – ನೀವು ಪ್ರಪಂಚದ ಎಲ್ಲಾ ನಿರ್ಮಾಪಕರ ಕುಟುಂಬದೊಂದಿಗೆ ಸೇರಲು ಸಿದ್ಧರಾಗಿದ್ದೀರಿ, ಅವರು ಪ್ರತಿದಿನ "ಡಿಜಿಟಲ್ ಜಗತಿಯನ್ನು ಸ್ವಲ್ಪ ಹಿತಕರವಾಗಿಸಲು ಹೇಗೆ ಮಾಡಬಹುದು?" ಎಂದು ಯೋಚಿಸುತ್ತಾರೆ. ಕ್ಲಬ್ ಗೆ ಸ್ವಾಗತ! 🌟 + +ಮೊದಲು GitHub ನಲ್ಲಿ ನಿಮ್ಮ ಆಸಕ್ತಿಗೆ ತಗುಲುವ ಒಂದು ರೆಪೊ (repo) ಹುಡುಕಿ, ಅದರಲ್ಲಿ ನೀವು ಬದಲಾವಣೆ ಮಾಡಬೇಕಾಗಿದೆ. ಅದರ ವಿಷಯವನ್ನು ನಿಮ್ಮ ಮೆಷಿನ್‌ಗೆ ನಕಲಿಸಿ. + +✅ 'ಬಗ್ಗೆ ಪರಿಚಯದ' ರೆಪೊಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ಉತ್ತಮ ಮಾರ್ಗವಾಗಿದೆ [ ‘good-first-issue’ ಟ್ಯಾಗ್ ಮೂಲಕ ಹುಡುಕಿ](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/). + +![ನಿಮ್ಮ ಲೊಕಲ್ ಗೆ ರೆಪೊ ನಕಲಿಸಿ](../../../../translated_images/clone_repo.5085c48d666ead57.kn.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` + +ನೀವು ಸಂಪೂರ್ಣ ಪ್ರಾಜೆಕ್ಟ್ ತೆರೆಯಲು ಕೂಡಾ ಸಾಧ್ಯ: + +- **[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 ನಲ್ಲಿ ಯಾವುದೇ ಸರ್ವಜನಿಕ ರೆಪೊ ಅನ್ನು ಸ್ಟಾರ್ ಮಾಡಬಹುದು, ವಾಚ್ ಮಾಡಬಹುದು ಮತ್ತು/ಅಥವಾ "fork" ಮಾಡಬಹುದು. ನಿಮ್ಮ ಸ್ಟಾರ್ ಮಾಡಿದ ರೆಪೊಗಳನ್ನು ಮೇಲೆ ಬಲ ತಳಪಾಡಿನ ಡ್ರಾಪ್‌ಡೌನ್ ಮೆನುದಲ್ಲಿ ಕಾಣಬಹುದು. ಅದು ಕೋಡಿನ ಬುಕ್ಮಾರ್ಕಿಂಗ್ ಹೀಗೆಯೇ. + +ಯೋಜನೆಗಳಲ್ಲಿ issues ಟ್ರ್ಯಾಕರ್ ಇರುತ್ತದೆ, ಸಾಮಾನ್ಯವಾಗಿ GitHub ನ "Issues" ಟ್ಯಾಬ್‌ನಲ್ಲಿ, ಇಲ್ಲವೆ ತಿಳಿಸಲಾಗದಿದ್ದಲ್ಲಿ ಬೇರೆಡೆ, ಮತ್ತು ಅಲ್ಲಿ ಜನರು ಯೋಜನೆಯ ಸಂಬಂಧಿಸಿದ ಸಮಸ್ಯೆಗಳನ್ನು ಚರ್ಚಿಸುತ್ತಾರೆ. ಮತ್ತು Pull Requests ಟ್ಯಾಬ್‌ಲ್ಲಿ ಜನರು ಪ್ರಗತಿಯಲ್ಲಿ ಇರುವ ಬದಲಾವಣೆಗಳನ್ನು ಚರ್ಚಿಸುತ್ತಾರೆ ಮತ್ತು ವಿಮರ್ಶಿಸುತ್ತಾರೆ. + +ಯೋಜನೆಗಳಲ್ಲಿ ಫೋರಂಗಳು, ಮೇಲಿಂಗ್ ಲಿಸ್ಟ್‌ಗಳು ಅಥವಾ Slack, Discord ಅಥವಾ IRC ಮುಂತಾದ ಚಾಟ್ ಚಾನೆಲ್‌ಗಳಲ್ಲಿಯೂ ಚರ್ಚೆಗಳು ಇರುತ್ತವೆ. + +🔧 **ಮೋಡರ್ನ್ GitHub ವೈಶಿಷ್ಟ್ಯಗಳು**: +- **GitHub Discussions** - ಸಮುದಾಯ ಸಂವಾದರಿಗೆ ಒಳಗೊಡಲಾದ ಫೊರಮ್ +- **GitHub Sponsors** - ನಿರ್ವಹಣೆಗಾರರಿಗೆ ಹಣಕಾಸು ಮೂಲಕ ಬೆಂಬಲ +- **Security tab** - ಭದ್ರತೆ ಲೆಕ್ಕಾಚಾರಗಳು ಮತ್ತು ಅಧಿಕಾರಪತ್ರಗಳು +- **Actions tab** - ಸ್ವಯಂಚಾಲಿತ ಕೆಲಸಪ್ರवाहಗಳು ಮತ್ತು CI/CD ಪೖಪ್‌ಲೈನ್‌ಗಳು +- **Insights tab** - ಕೊಡುಗೆದಾರರು, ಕಮಿಟ್‌ಗಳು ಮತ್ತು ಯೋಜನೆ ಆರೋಗ್ಯದ ವಿಶ್ಲೇಷಣೆ +- **Projects tab** - GitHub ಕಡೆಯ ಸ್ವಂತ ಯೋಜನೆ ನಿರ್ವಹಣಾ ಸಾಧನಗಳು + +✅ ನಿಮ್ಮ ಹೊಸ GitHub ರೆಪೊವನ್ನು ಎಳೆಯುತ್ತಾ, ಕೆಲವು ವಿಷಯಗಳನ್ನು ಪ್ರಯತ್ನಿಸಿ, ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಸಂಪಾದಿಸುವುದು, ಮಾಹಿತಿ ಸೇರಿಸುವುದು, ಯೋಜನೆ ರಚಿಸುವುದು (ಕ್ಯಾನ್ಬನ್ ಬೋರ್ಡ್ ಹೀಗೆಯೇ), GitHub Actions ಅನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಲು ಮೆರೆಯಿರಿ. ನೀವು ಬಹಳಷ್ಟುمكن್ ಮಾಡಬಹುದು! + +--- + +## 🚀 ಸವಾಲು + +ಸರಿ, ನಿಮ್ಮ ಹೊಸ GitHub ಶಕ್ತಿ ಪರೀಕ್ಷಿಸಲು ಸಮಯವಾಯ್ತು! 🚀 ಇದು ಫ್ನ್ಯಾಗಿ ಪ್ರತಿಯೊಂದು ವಿಷಯವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ನೆರವಾಗುವ ಸವಾಲು: + +ನಿಮ್ಮ ಸ್ನೇಹಿತನನ್ನು (ಅಥವಾ "ಕಂಪ್ಯೂಟರ್ ವಿಷಯ" ಕುರಿತು ಸದಾ ಕೇಳುವ ಆ ಕುಟುಂಬ ಸದಸ್ಯ) ತೆಗೆದುಕೊಳ್ಳಿ ಮತ್ತು ಸಹಯೋಗಿ ಕೋಡಿಂಗ್ ಸಾಹಸದಲ್ಲಿ ಕೈ ಜೋಡಿಸಿ! ಇಲ್ಲಿ ನಿಜವಾದ ಮಾಯಾಜ್ಞಾನ ತೋರುತ್ತದೆ – ಒಂದು ಪ್ರಾಜೆಕ್ಟ್ ರಚಿಸಿ, ಅವರಿಗೆ ಆ ಫೋರ್ಕ್ ಮಾಡಲು ಹೇಳಿ, ಕೆಲವು ಬ್ರಾಂಚ್‌ಗಳನ್ನು ಮಾಡಿ ಮತ್ತು ಮರ್ಜ್ ಮಾಡಿ, ನೀವು ಪ್ರೋಮಾದೇವರಂತೆ ಬದಲಾಗುತ್ತಿದ್ದೀರಿ. + +ನನಗೆ ಸತ್ಯ ಹೇಳಲೇಬೇಕಾದರೆ – ನೀವು ಕೆಲವೊಮ್ಮೆ ನಗುತ್ತೀರ (ಮುಖ್ಯವಾಗಿ ಇಬ್ಬರೂ ಒಂದೇ ಸಾಲನ್ನು ಬದಲಾಯಿಸಲು ಪ್ರಯತ್ನಿಸಿದಾಗ), ತಲೆ ತಿರುವುಹಾಕಿಕೊಳ್ಳಬಹುದು, ಆದರೆ ನೀವು "ಅಹಾ!" ಕ್ಷಣಗಳನ್ನು ಖಚಿತವಾಗಿ ಅನುಭವಿಸುತ್ತೀರಿ, ಅವು ಎಲ್ಲ ಪ್ರತಿಭೆಯ ತರಬೇತಿಗೆ ಮೌಲ್ಯವನ್ನ ನೀಡುತ್ತವೆ. ಮತ್ತು ಮೊದಲ ಯಶಸ್ವಿ ಮರ್ಜ್ ಅನ್ನು ಯಾರೊಂದಿಗೂ ಹಂಚಿಕೊಳ್ಳುವುದು ವಿಶೇಷ – ನಿಮ್ಮ ಸಾಧನೆಯನ್ನು ಸಣ್ಣ ಉತ್ಸವದಂತೆ. + +ನಿಮಗೆ ಇನ್ನೂ ಸಹೋದರಿಯಿಲ್ಲವೇ? ಚಿಂತಿಸಬೇಡಿ! GitHub ಸಮುದಾಯವು ಹೊಸವರಿಗಾಗಿ ಸಲ್ಲಿಹಬ್ಬದಂತೆ ಎಲ್ಲರಿಗೂ ಸ್ವಾಗತ ಹೇಳುತ್ತದೆ. “ಒಳ್ಳೆಯ ಮೊದಲ ಸಮಸ್ಯೆ” ಲೇಬಲ್ ಹೊಂದಿರುವ ರೆಪೊಗಳನ್ನು ಹುಡುಕಿ – ಅಂದರೆ "ಓ, ಪ್ರಾರಂಭಿಕರೇ, ಬನ್ನಿ ನಮ್ಮೊಡನೆ ಕಲಿಯಿರಿ!" ಇದು ಎಷ್ಟು ಅದ್ಭುತ? + +## ಪಾಠೋತ್ತರ ಪ್ರಶ್ನೋತ್ತರ +[Post-lecture quiz](https://ff-quizzes.netlify.app/web/en/) + +## ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಕಲಿಯುತ್ತಿರಿ + +ವಾಹ್! 🎉 ನೀವು GitHub ಮೂಲಭೂತಗಳನ್ನು ಚಂಪಿಯನ್ ಆಗಿ ಗೆದ್ದಿದ್ದೀರಿ! ನಿಮ್ಮ ಮೆದುಳು ಸ್ವಲ್ಪ ತುಂಬಿದಂತೆ ಅನುಭವಿಸಿದರೆ, ಅದು ತುಂಬಾ ಸಹಜ ಮತ್ತು ಒಳ್ಳೆಯ ಸಂಕೇತ. ನಾನು ಪ್ರಾರಂಭಿಸುವಾಗ ವೀಕುಗಳಷ್ಟು ಕಾಲ ಅವುಗಳನ್ನು ಅನುಭವಿಸಲು ಹೋಯ್ತು. + +Git ಮತ್ತು GitHub ಭಗವಂತನಂತೆ ಶಕ್ತಿಶಾಲಿ (ನಿಜವಾಗಿಯೂ ಶಕ್ತಿಶಾಲಿ), ಮತ್ತು ಪ್ರತಿಯೊಬ್ಬ ಡೆವಲಪರ್ – ಈಗ ಮಾಯಾಜಾಲಿಗಳಂತೆ ಕಾಣುವವರೂ ಸೇರಿದಂತೆ – ಹಲವು ಬಾರಿ ಅನುಭವ ಮಾಡಿದ್ದು ಮತ್ತು ಸಣ್ಣ ತಪ್ಪುಗಳನ್ನು ಮಾಡಿದ್ದಾರೆ. ನೀವು ಈ ಪಾಠವನ್ನು ಮುಗಿಸಿದ್ದೀರಾ ಅಂದರೆ ನೀವು ಈಗಾಗಲೇ ಡೆವಲಪರ್ ಸಾಧನಗಳ ಅತ್ಯಂತ ಪ್ರಮುಖ ಘಟಕಗಳನ್ನು ನಿಯಂತ್ರಣಕ್ಕೆ ತೆಗೆದುಕೊಂಡಿದ್ದೀರಿ. + +ನಿಮ್ಮ ಅಭ್ಯಾಸ ಮತ್ತು ಉತ್ತಮತೆಯನ್ನು ಮತ್ತಷ್ಟು ಉತ್ತೇಜಿಸುವ ಅತ್ಯುತ್ತಮ ಸಂಪನ್ಮೂಲಗಳು ಇಲ್ಲಿವೆ: + +- [ಓಪನ್ ಸೋರ್ಸ್ ಸಾಫ್ಟ್‌ವೇರ್‌ಗೆ ಕೊಡುಗೆ ನೀಡುವ ಮಾರ್ಗದರ್ಶಿ](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) – ನಿಮ್ಮ ಮಾರ್ಗಪಟ +- [Git Cheatsheet](https://training.github.com/downloads/github-git-cheat-sheet/) – ಬೇಗ ನೆನಪಿಸಲು! + +ಮತ್ಮೆ ಮಾತುಕತೆ: ಅಭ್ಯಾಸವು ಪ್ರಗತಿಗೆ ಕಾರಣ, ಪರಿಪೂರ್ಣತೆಗೆ ಅಲ್ಲ! Git ಮತ್ತು GitHub ಬಳಸಿದಷ್ಟು ಸಹಜವಾಗುತ್ತದೆ. GitHub ಹಲವು ಅದ್ಭುತ ಇಂಟರ್ಯಾಕ್ಟಿವ್ ಕೋರ್ಸ್ ಅನ್ನು ರಚಿಸಿದೆ, ಅದರಲ್ಲಿ ಸುರಕ್ಷಿತ ಪರಿಸರದಲ್ಲಿ ಅಭ್ಯಾಸ ಮಾಡಬಹುದು: + +- [GitHub ಗೆ ಪರಿಚಯ](https://github.com/skills/introduction-to-github) +- [Markdown ಬಳಸಿ ಸಂವಹನ](https://github.com/skills/communicate-using-markdown) +- [GitHub ಪುಟಗಳು](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 ಸಂಪನ್ಮೂಲಗಳಿಗೆ. ಪ್ರತಿಯೊಂದು ಬ್ರಾಂಚ್‌ಗೆ ವಿವರಣೆಾತ್ಮಕ ಕಮಿಟ್ ಸಂದೇಶಗಳೊಂದಿಗೆ ಕಮಿಟ್ ಮಾಡಿ, ನಂತರ ಬದಲಾವಣೆಗಳನ್ನು main ಗೆ ಮರ್ಜ್ ಮಾಡಲು ಪೂಲ್ ರಿಕ್ವೆಸ್ಟ್ ರಚಿಸಿ. Issues, Discussions ಮುಂತಾದ GitHub ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ ಮತ್ತು ಸ್ವಯಂಚಾಲಿತ ಪರಿಶೀಲನೆಗಾಗಿ ಮೂಲ GitHub Actions ಕಾರ್ಯಪ್ರವಾಹವನ್ನು ಹೊಂದಿಸಿ. + +## ನಿಯೋಜನೆ + +ನೀವು ಎಲ್ಲಾ ಕಲಿತಿರುವುದನ್ನು ಸುರಕ್ಷಿತ, ಮಾರ್ಗದರ್ಶಿತ ಪರಿಸರದಲ್ಲಿ ಅಭ್ಯಾಸ ಮಾಡಿಸಲು GitHub Skills ನಲ್ಲಿ [Introduction to GitHub](https://github.com/skills/introduction-to-github) ಕೋರ್ಸ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸಿ. ಇದನ್ನು ಮುಗಿಸಿದಾಗ ನಿಮಗೆ ಷಿಕಾರ್ಡ ಬೇರಳು ಸಿಗುತ್ತದೆ! 🏅 + +**ಹೆಚ್ಚಿನ ಸವಾಲುಗಳಿಗೆ ಸಿದ್ಧರಿದ್ದೀರಾ?** +- ನಿಮ್ಮ GitHub ಖಾತೆಗೆ SSH ದೃಢೀಕರಣ (ಪಾಸ್ವರ್ಡಿಲ್ಲದೆ!) +- ದಿನನಿತ್ಯ Git ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ GitHub CLI ಪ್ರಯತ್ನಿಸಿ +- GitHub Actions ಕಾರ್ಯಪ್ರವಾಹದೊಂದಿಗೆ ರೆಪೊ ರಚಿಸಿ +- GitHub Codespaces ಅನ್ನು ಕ್ಲೌಡ್ ಆಧಾರಿತ ಸಂಕಲನ ಸಂಪಾದಕವಾಗಿ ಅನ್ವೇಷಿಸಿ + +--- + +## 🚀 ನಿಮ್ಮ GitHub ಪರಿಣತಿ ಸಮಯರೇಖೆ + +### ⚡ **ಮುಂದಿನ 5 ನಿಮಿಷಗಳಲ್ಲಿ ನೀವು ಮಾಡಬಹುದಾದುದು** +- [ ] ಈ ರೆಪೊವನ್ನು ಮತ್ತು ನಿಮಗೆ ಇಚ್ಛಾಸುಳ್ಳ 3 ಪ್ರಾಜೆಕ್ಟ್‌ಗಳನ್ನು ಸ್ಟಾರ್ ಮಾಡಿ +- [ ] ನಿಮ್ಮ GitHub ಖಾತೆಯಲ್ಲಿ ಎರಡು-ಹೊರಗಿನ ದೃಢೀಕರಣವನ್ನು ಸೆಟ್ ಮಾಡಿ +- [ ] ನಿಮ್ಮ ಮೊದಲ ರೆಪೊಗೆ ಸರಳ README ರಚಿಸಿ +- [ ] خمسة ಡೆವಲಪರ್‌ಗಳನ್ನು ಅನುಸರಿಸಿ, ನಿಮ್ಮನ್ನು ಪ್ರೇರೇಪಿಸುವವರನ್ನು + +### 🎯 **ಈ ಗಂಟೆಯಲ್ಲಿ ನೀವು ಸಾಧಿಸಬಹುದಾದುದು** +- [ ] ಪಾಠೋತ್ತರ ಪ್ರಶ್ನೋತ್ತರವನ್ನು ಪೂರ್ಣಗೊಳಿಸಿ ಮತ್ತು ನಿಮ್ಮ GitHub ಪ್ರಯಾಣವನ್ನು ಪರಿಗಣಿಸಿ +- [ ] ಪಾಸ್ವರ್ಡ್ ರಹಿತ GitHub ದೃಢೀಕರಣಕ್ಕಾಗಿ SSH ಕೀಗಳನ್ನು ಸೆಟ್ ಮಾಡಿ +- [ ] ಉತ್ತಮ ಕಮಿಟ್ ಸಂದೇಶದೊಡನೆ ಮೊದಲ ಅರ್ಥಪೂರ್ಣ ಕಮಿಟ್ ಮಾಡಿ +- [ ] GitHub ನ “Explore” ಟ್ಯಾಬ್ ನೋಡಿ ಟ್ರೆಂಡಿಂಗ್ ಆಗಿರುವ ಯೋಜನೆಗಳನ್ನು ಅನ್ವೇಷಿಸಿ +- [ ] ರೆಪೊ ಫೋರ್ಕ್ ಮಾಡಿ ಮತ್ತು ಸಣ್ಣ ಬದಲಾವಣೆ ಮಾಡೋದು ಅಭ್ಯಾಸ ಮಾಡಿ + +### 📅 **ನಿಮ್ಮ ಅರ್ಧ ವಾರದ GitHub ಸಾಹಸ** +- [ ] GitHub Skills ಕೋರ್ಸ್‌ಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸಿ (Introduction to GitHub, Markdown) +- [ ] ಓಪನ್ ಸೋರ್ಸ್ ಪ್ರಾಜೆಕ್ಟ್‌ಗೆ ಮೊದಲ ಪೂಲ್ ರಿಕ್ವೆಸ್ಟ್ ಮಾಡಿ +- [ ] GitHub Pages ಸೈಟ್ ಸ್ಥಾಪಿಸಿ ನಿಮ್ಮ ಕೆಲಸವನ್ನು ಪ್ರದರ್ಶಿಸಿ +- [ ] ನಿಮ್ಮ ಆಸಕ್ತಿ ಇರುವ ಯೋಜನೆಗಳ GitHub Discussions ನಲ್ಲಿ ಭಾಗವಹಿಸಿ +- [ ] ಸಮುದಾಯ ಮಾನದಂಡಗಳನ್ನು ಹೊಂದಿರುವ ರೆಪೊ ರಚಿಸಿ (README, ಲೈಸೆನ್ಸ್ ಇತ್ಯಾದಿ) +- [ ] ಕ್ಲೌಡ್ ಆಧಾರಿತ ಅಭಿವೃದ್ಧಿಗಾಗಿ GitHub Codespaces ಪ್ರಯತ್ನಿಸಿ + +### 🌟 **ನಿಮ್ಮ ಒಂದು ತಿಂಗಳ ಪರಿವರ್ತನೆ** +- [ ] ಮೂರೂ ವಿಭಿನ್ನ ಓಪನ್ ಸೋರ್ಸ್ ಪ್ರಾಜೆಕ್ಟ್ಗಳಿಗೆ ಕೊಡುಗೆ ನೀಡಿ +- [ ] ಹೊಸ ಆಡಿಯವರಿಗೆ ಮಾರ್ಗದರ್ಶನ ನೀಡಿ (ಮುಂದಕ್ಕೆ ಪಾವತಿಸಿ!) +- [ ] GitHub Actions ನೊಂದಿಗೆ ಸ್ವಯಂಚಾಲಿತ ಕಾರ್ಯಾವಾಹ್ಯಗಳನ್ನು ಸಜ್ಜುಗೊಳಿಸಿ +- [ ] ನಿಮ್ಮ GitHub ಕೊಡುಗೆಗಳನ್ನು ಪ್ರದರ್ಶಿಸುವ ಪೋರ್ಟ್ಫೋಲಿಯೋ ನಿರ್ಮಿಸಿ +- [ ] Hacktoberfest ಅಥವಾ ಇದೇ ತರಹದ ಸಮುದಾಯ ಘಟನೆಗಳಲ್ಲಿ ಭಾಗವಹಿಸಿ +- [ ] ನೀವು ನಿರ್ಮಿಸುವ ಪ್ರಾಜೆಕ್ಟ್‌ನ ನಿರ್ವಹಣೆಗಾರರಾಗಿ ಆಗಿರಿ + +### 🎓 **ಕೊನೆಗಿನ GitHub ಪರಿಣತಿ ಪರಿಶೀಲನೆ** + +**ನೀವು ಎಷ್ಟು ದೂರ ಬಂದಿದ್ದೀರಿ ಗುರುತಿಸಿ:** +- GitHub ಬಳಕೆಯ ವೇಳೆ ನಿಮಗೆ ಯಾವ ಅಂಶ ಹೆಚ್ಚು ಇಷ್ಟವಾಯ್ತು? +- ಯಾವುದಾದರೂ ಸಹಕಾರ ವೈಶಿಷ್ಟ್ಯ ನಿಮಗೆ ಹೆಚ್ಚಿನ ಉತ್ಸಾಹ ಕೊಡುವುದೇನು? +- ಈಗ ಓಪನ್ ಸೋರ್ಸ್‌ಗೆ ಕೊಡುಗೆ ನೀಡಲು ನೀವು ಎಷ್ಟು ವಿಶ್ವಾಸಿಯಾಗಿದ್ದೀರಿ? +- ನೀವು ಕೊಡುವ ಮೊದಲ ಪ್ರಾಜೆಕ್ಟ್ ಯಾವುದು? + +```mermaid +journey + title ನಿಮ್ಮ GitHub ಆತ್ಮವಿಶ್ವಾಸಯಾತ್ರೆ + section ಇವತ್ತು + ನೆರ್ವಸ್: 3: You + ಕುತೂಹಲದಿಂದ: 4: You + ಉತ್ಸಾಹಭರಿತ: 5: You + section ಈ ವಾರ + ಅಭ್ಯಾಸ: 4: You + ಕೊಡುಗೆ ನೀಡುವುದು: 5: You + ಸಂಪರ್ಕಿಸುವುದು: 5: You + section ಮುಂದಿನ ತಿಂಗಳು + ಸೇರಿಕೊಂಡು ಕೆಲಸಮಾಡುವುದು: 5: You + ಮುಂಚೂಣಿಯಲ್ಲಿ ಇರೋದು: 5: You + ಇತರರನ್ನು ಪ್ರೇರೇಪಿಸುವುದು: 5: You +``` +> 🌍 **ಜಾಗತಿಕ ಡೆವಲಪರ್ ಸಮುದಾಯಕ್ಕೆ ಸ್ವಾಗತ!** ನೀವು ಈಗ ನಿಮಗೆ ಬೇಕಾದಷ್ಟು ಮಾರ್ಗಸೂಚಿ ಹೊಂದಿದ್ದೀರಿ, ಜಗತ್ತಿನ ಲಕ್ಷಾಂತರ ಡೆವಲಪರ್‌ಗಳೊಂದಿಗೆ ಸಹಕಾರಕ್ಕಾಗಿ. ನಿಮ್ಮ ಮೊದಲ ಕೊಡುಗೆ ಸಣ್ಣದಾಗಿರಬಹುದು, ಆದರೆ ನೆನಪಿಡಿ - ಪ್ರತಿಯೊಂದು ಪ್ರಮುಖ ಓಪನ್ ಸೋರ್ಸ್ ಪ್ರಾಜೆಕ್ಟ್ ಕೂಡ ಚಿಕ್ಕ ಸಾಧನೆಯಿಂದ ಪ್ರಾರಂಭವಾಯಿತು. ನೀವು ಪ್ರಭಾವು ಬೀರುವುದೇ ಇಲ್ಲ, ಆದರೆ ನಿಮ್ಮ ಅನನ್ಯ ದೃಷ್ಟಿಕೋನದಿಂದ ಯಾವ ಅದ್ಭುತ ಪ್ರಾಜೆಕ್ಟ್ ಯಾವುದೇ ಮೊದಲ ಆಗಿ ಲಾಭ ಪಡೆಯುತ್ತದೋ ಅದೇ ಪ್ರಶ್ನೆ! 🚀 + +ಒಂದು ವಿಷಯ ನೆನಪಿನಲ್ಲಿಟ್ಟುಕೊಳ್ಳಿ: ಪ್ರತಿಯೊಬ್ಬ ಪರಿಣತನು ಇದುವರೆಗೂ ಕಾದಂಬರಿ ಓದುವ ಪ್ರಾರಂಭಿಕನಾಗಿದ್ದಾನೆ. ನಿಮಗು ಇದು ಸಾಧ್ಯ! 💪 + +--- + + +**ಅಸಮರ್ಥನೆ**: +ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವದಿಸಲಾಗಿದೆ. ನಾವು ಸುಕ್ಷ್ಮತೆಯನ್ನು ಸಾಧಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ತಪ್ಪುಗಳು ಇರಬಹುದಾಗಿರುವದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿ ಇರುವ ಮೂಲ ದಸ್ತಾವೇಜೆಯನ್ನು ಪ್ರామಾಣಿಕ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ವದ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ಅರ್ಥಕಲ್ಲುತೆಗಳು ಅಥವಾ ತಪ್ಪು ವಿವರಣಗಳಿಗೆ ನಾವು ಹೊಣೆಗಾರರಲ್ಲ. + \ No newline at end of file diff --git a/translations/kn/1-getting-started-lessons/3-accessibility/README.md b/translations/kn/1-getting-started-lessons/3-accessibility/README.md new file mode 100644 index 000000000..d67f7e5f2 --- /dev/null +++ b/translations/kn/1-getting-started-lessons/3-accessibility/README.md @@ -0,0 +1,1502 @@ + +# ಪ್ರವೇಶಿಸಲು ಅನುವುಮಾಡಿದ ವೆಬ್‌ಪೇಜ್‌ಗಳ ಸೃಷ್ಟಿ + +![ಎಲ್ಲಾ ಪ್ರವೇಶಾಸಾಧ್ಯತೆಯ ಬಗ್ಗೆ](../../../../translated_images/webdev101-a11y.8ef3025c858d897a.kn.png) +> ಸ್ಕೆಚ್ನೋಟ್ [ಟೊಮೊಮಿ ಇಮುರಾ](https://twitter.com/girlie_mac) ಅವರಿಂದ + +```mermaid +journey + title ನಿಮ್ಮ ಪ್ರವೇಶಯೋಗ್ಯತೆ ಕಲಿಕೆಯ ಸಾಹಸ + section ಅಡಿಗಟ್ಟು + ಬಳಕೆದಾರರನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು: 5: You + ಪರೀಕ್ಷಾ ಸಾಧನಗಳು: 4: You + POUR ಸಿದ್ಧಾಂತಗಳು: 5: You + section ಕೌಶಲ್ಯಗಳನ್ನು ನಿರ್ಮಿಸಿ + ಅರ್ಥಪೂರ್ಣ HTML: 4: You + ದೃಶ್ಯ ವಿನ್ಯಾಸ: 5: You + ARIA ತಂತ್ರಗಳು: 4: You + section ಮಾಸ್ಟರ್ ಅಭ್ಯಾಸ + ಕೀಬೋರ್ಡ್ ನ್ಯಾವಿಗೇಶನ್: 5: You + ಫಾರ್ಮ್ ಪ್ರವೇಶಯೋಗ್ಯತೆ: 4: You + ವಾಸ್ತವ ಪರೀಕ್ಷೆ: 5: You +``` +## ಉಪನ್ಯಾಸಕ್ಕೆ ಮುನ್ನ ಪ್ರಶ್ನೋತ್ತರ +[ಉಪನ್ಯಾಸಕ್ಕೆ ಮುನ್ನ ಪ್ರಶ್ನೋತ್ತರ](https://ff-quizzes.netlify.app/web/) + +> ವೆಬ್‌ನ ಶಕ್ತಿ ಅದರ ಸಾಮಾನ್ಯತೆಯಲ್ಲಿ ಇದೆ. ಅಂಗವೈಕಲ್ಯತೆ ಇರಲಿ ಇಲ್ಲದಿರಲಿ ಎಲ್ಲರಿಗೂ ಪ್ರವೇಶವು ಅನಿವಾರ್ಯ ಅಂಶವಾಗಿದೆ. +> +> \- ಸರ್ ಟಿಮೋಥಿ ಬರ್‌ನರ್ಸ್-ಲೀ, W3C ನಿರ್ದೇಶಕ ಮತ್ತು ವರ್ಲ್ಡ್ ವೈಡ್ ವೆಬ್‌ಗಾಗಿ ಸಂಶೋಧಕ + +ನಿಮ್ಮನ್ನು ಆಶ್ಚರ್ಯಗೊಳಿಸಬಹುದಾದ ವಿಷಯವೊಂದಿದೆ: ನೀವು ಪ್ರವೇಶಿಸಲು ಅನುಕೂಲಕರವಾದ ವೆಬ್ಸೈಟ್‌ಗಳನ್ನು ರಚಿಸುವಾಗ, ನೀವು ಸರಳವಾಗಿ ಅಂಗವೈಕಲ್ಯತೆಯಲ್ಲಿರುವವರಿಗೂ ಸಹಾಯಮಾಡುತ್ತೀರಲ್ಲವೇ—ನಿಜದಲ್ಲಿ ನೀವು ವೆಬ್ ಅನ್ನು ಎಲ್ಲರಿಗೂ ಉತ್ತಮಗೊಳಿಸುತ್ತಿದ್ದೀರಾ! + +ನೀವು ಯಾವಾಗಲೂ ಚಿತ್ರಿಸುವಾಗ ರಸ್ತೆಯ ಮೂಲೆಗಳಲ್ಲಿ ಇರುವ ಕಾರ್ಬ್ ಕಡಿತಗಳನ್ನು ಗಮನಿಸಿದ್ದೀರಾ? ಅವು ಮೊದಲು ವೀಲ್ಚೇರ್‌ಗಳನ್ನುಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳ್ಳುವಾಗಿತ್ತು, ಆದರೆ ಈಗ stroller-ಗಳಲ್ಲಿ ಆಗುವವರ, ಹಂಚಿಕೆಗಾರರು dollies ಬಳಸುವವರ, ಪ್ರಯಾಣಿಕರು rolling luggage ತೆಗೆದುಕೊಂಡು ಹೋಗುವವರ, ಮತ್ತು ಸೈಕ್ಲಿಸ್ಟ್‌ಗಳಿಗೆ ಸಹ ಸಹಾಯಕವಾಗಿವೆ. ಇದೇ ರೀತಿಯಲ್ಲಿ ಪ್ರವೇಶಿಸಲು ಅನುಕೂಲಕರ ವೆಬ್ ವಿನ್ಯಾಸ ಕೆಲಸ ಮಾಡುತ್ತದೆ—ಒಂದು ಗುಂಪಿಗೆ ಸಹಾಯಮಾಡುವ ಪರಿಹಾರಗಳು ಬಹುಶಃ ಎಲ್ಲರಿಗೂ ಲಾಭ ಕೊಡುತ್ತವೆ. ಬಹಳ ಕುಲ್ ಸರಿ? + +ಈ ಪಾಠದಲ್ಲಿ, ನಾವು ಯಾವ ರೀತಿಯಲ್ಲಿ ವೆಬ್‌ನ್ನು ಬ್ರೌಜ್ ಮಾಡುವುದರಿಂದ ವರ್ಯತೆ ಇಲ್ಲದೆ ಎಲ್ಲರಿಗೂ ಕೆಲಸಮಾಡುವಂತಹ ವೆಬ್‌ಸೈಟ್‌ಗಳನ್ನು ಸೃಷ್ಟಿಸುವುದನ್ನು ಅನ್ವೇಷಿಸುವೆವು. ನೀವು ಈಗಾಗಲೇ ವೆಬ್ ಮಾನದಂಡಗಳಲ್ಲಿ ಒಳಗೊಂಡಿರುವ ಪ್ರಾಯೋಗಿಕ ತಂತ್ರಗಳನ್ನು ಕಂಡುಹಿಡಿಯುತ್ತೀರಿ, ಟೆಸ್ಟಿಂಗ್ ಉಪಕರಣಗಳೊಂದಿಗೆ ಕಾರ್ಯಚರಿಸುವೆವು, ಮತ್ತು ಪ್ರವೇಶಾಸಾಧ್ಯತೆಯು ನಿಮ್ಮ ಸೈಟ್‌ಗಳನ್ನು ಎಲ್ಲ ಬಳಕೆದಾರರಿಗೂ ಹೆಚ್ಚು ಬಳಕೆ ಮಾಡಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡುತ್ತೀರಿ. + +ಈ ಪಾಠದ ಕೊನೆಯಲ್ಲಿ, ನೀವು ಪ್ರವೇಶಾಸಾಧ್ಯತೆಯನ್ನು ನಿಮ್ಮ ಅಭಿವೃದ್ಧಿ ಕಾರ್ಯಪ್ರವಾಹದ ಸಹಜ ಭಾಗವಾಗಿಸಲು ಆತ್ಮವಿಶ್ವಾಸ ಹೊಂದಿರುತ್ತೀರಿ. ನಿಖರವಾದ ವಿನ್ಯಾಸ ಆಯ್ಕೆಗಳು ವೆಬ್‌ನನ್ನು ಅರವತ್ತರ ಬಳಕೆದಾರರಿಗೆ ಹೇಗೆ ತೆರೆಯುತ್ತವೆ ಎಂಬುದನ್ನು ಹುಡುಕಲು ಸಿದ್ಧರಾದೀರಾ? ಸಾವಕಾಶವಾಗಿ ಪ್ರಾರಂಭಿಸೋಣ! + +```mermaid +mindmap + root((ವೆಬ್ ಪ್ರಾಪ್ಯತಾ)) + Users + ಸ್ಕ್ರೀನ್ ರೀಡರ್‌ಗಳು + ಕೀಪಾಡ್ ನ್ಯಾವಿಗೇಶನ್ + ಧ್ವನಿ ನಿಯಂತ್ರಣ + ಹೆಚ್ಚಳವೀಕರಣ + Technologies + HTML ಅರ್ಥಾತ್ಮಕತೆ + ARIA ಗುಣಲಕ್ಷಣಗಳು + CSS ಫೋಕಸ್ ಸೂಚಕಗಳು + ಕೀಪಾಡ್ ಘಟನೆಗಳು + Benefits + ವ್ಯಾಪಕ ಪ್ರೇಕ್ಷಕರು + ಉತ್ತಮ SEO + ಕಾನೂನು ಅನುಕೂಲತೆ + ಜಾಗತಿಕ ವಿನ್ಯಾಸ + Testing + ಸ್ವಯಂಚಾಲಿತ ಉಪಕರಣಗಳು + ಕೈಯಿಂದ ಪರೀಕ್ಷೆ + ಬಳಕೆದಾರ ಪ್ರತಿಕ್ರಿಯೆ + ನಿಜವಾದ ಸಹಾಯಕ ತಂತ್ರಜ್ಞಾನ +``` +> ನೀವು ಈ ಪಾಠವನ್ನು [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/accessibility/?WT.mc_id=academic-77807-sagibbon) ನಲ್ಲಿ ಪಡೆಯಬಹುದು! + +## ಸಹಾಯಕ ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ಗ್ರಹಿಸುವಿಕೆ + +ಕೊಡಿಂಗ್ intoಗೆ ಮುನ್ನ, ವಿಭಿನ್ನ ಸಾಮರ್ಥ್ಯದ ಜನರು ವೆಬ್ ಅನ್ನು ವಾಸ್ತವವಾಗಿ ಹೇಗೆ ಅನುಭವಿಸುತ್ತಾರೆ ಎಂಬುದನ್ನು ಸ್ವಲ್ಪ ಸಮಯ ತೆಗೆದು ನೋಡೋಣ. ಇದು ಸಿದ್ದಾಂತ ಮಾತ್ರವಲ್ಲ—ಈ ನೈಜ ಜಗತ್ತಿನ ನಾವಿಗೇಶನ್ ಮಾದರಿಗಳನ್ನು ಗ್ರಹಿಸುವುದು ನಿಮ್ಮನ್ನು ಉತ್ತಮ ಅಭಿವೃದ್ಧಿಪಡಿಸುವವರಿಗೆ ಮಾಡುತ್ತದೆ! + +ಸಹಾಯಕ ತಂತ್ರಜ್ಞಾನಗಳು ಅಂಗವೈಕಲ್ಯತೆ ಹೊಂದಿರುವ ಜನರಿಗೆ ವೆಬ್‌ಸೈಟ್‌ಗಳ ಜೊತೆಗೆ ವಿಚಿತ್ರ ರೀತಿಯಲ್ಲಿ ಸಂಪರ್ಕಿಸಲು ಸಹಾಯ ಮಾಡುವ ಅద్భುತ ಸಾಧನಗಳಾಗಿವೆ. ಈ ತಂತ್ರಜ್ಞಾನಗಳು ಹೇಗೆ ಕೆಲಸಮಾಡುತ್ತವೆ ಎಂದು ಬಲ್ಲಾಗ ನೀವು ಸುಲಭವಾಗಿ ಪ್ರವೇಶಿಸಲು ಅನುಕೂಲಕರ ವೆಬ್ ಅನುಭವಗಳನ್ನು ರಚಿಸಬಹುದು. ಅದು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಮತ್ತೊಬ್ಬರ ದೃಷ್ಟಿಯಿಂದ ಹೇಗೆ ನೋಡಬೇಕೆಂದು ಕಲಿಯುವುದು ಸರಿ. + +### ಸ್ಕ್ರೀನ್ ರೀಡರ್ಸ್ + +[ಸ್ಕ್ರೀನ್ ರೀಡರ್ಸ್](https://en.wikipedia.org/wiki/Screen_reader) ಪರಿಣಾಮಕಾರಿ ತಂತ್ರಜ್ಞಾನಗಳಾಗಿದ್ದು ಡಿಜಿಟಲ್ ಪಠ್ಯವನ್ನು ಧ್ವನಿ ಅಥವಾ ಬ್ರೈಲ್ ಔಟ್‌ಪುಟ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತವೆ. ಮುಖಾಂತರ ದೃಷ್ಟಿ ಹೀನತೆ ಇರುವವರಿಗೆ ಮುಖ್ಯವಾಗಿ ಬಳಕೆಯಲ್ಲಿದ್ದು, ಅದೇ ರೀತಿ ಡಿಸ್ಲೆಕ್ಸಿಯಾ ಸಮೇತ ಕಲಿಕಾ ಅಂಗವೈಕಲ್ಯತೆಗಳಿರುವ ಬಳಕೆದಾರರಿಗೂ ಸಹ ಬಹಳ ಸಹಾಯಕವಾಗಿವೆ. + +ನಾನು ಸ್ಕ್ರೀನ್ ರೀಡರ್ ಅನ್ನು ಒಂದು ಬಹುಬುದ್ಧಿವಂತ ಕಥಾಕಾರನಂತೆ ಯೋಚಿಸುತ್ತೇನೆ, ಅವರು ನಿಮ್ಮಿಗೆ ಪುಸ್ತಕವನ್ನು ಓದುತ್ತಿದ್ದಾರೆ. ಅದು ವಿಷಯವನ್ನು ಅರ್ಥಪೂರ್ಣ ಕ್ರಮದಲ್ಲಿ ಓದುವದು, "ಬಟನ್" ಅಥವಾ "ಲಿಂಕ್" ಎಂಬಂತಿರುವ ಸಂವಾದಾತ್ಮಕ ಅಂಶಗಳನ್ನು ಪ್ರಕಟಿಸುವುದು, ಮತ್ತು ಪುಟದಲ್ಲಿ ಚುಕ್ಕಿಕೊಳ್ಳುವ ಎರಡುಕ್ವಿಕ್ ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್‌ಕಟ್‌ಗಳನ್ನು ನೀಡುವುದು. ಆದರೆ ನಿಜವಾದ ಸಂಗತಿ ಏನೆಂದರೆ—ಸ್ಕ್ರೀನ್ ರೀಡರ್ಸ್ ಅದರ ಮಾಯಾಜಾಲವನ್ನು ನಡಿಸುವುದು ನಾವು ವೆಬ್‌ಸೈಟ್‌ಗಳನ್ನು ಸರಿಯಾದ ರಚನೆ ಮತ್ತು ಅರ್ಥಪೂರ್ಣ ವಿಷಯದೊಂದಿಗೆ ನಿರ್ಮಿಸಿದಾಗ ಮಾತ್ರ ಸಾಧ್ಯ. ಅದೇ ನಿಮಗೆ ಡೆವಲಪರ್ ಆಗಿ ಬರುವ ಜಾಗ! + +**ಪ್ರಚಲಿತ ಸ್ಕ್ರೀನ್ ರೀಡರ್ಸ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳೆಂದರೆ:** +- **ವಿಂಡೋಸ್**: [NVDA](https://www.nvaccess.org/about-nvda/) (ಉಚಿತ ಮತ್ತು ಹೆಚ್ಚು ಜನಪ್ರಿಯ), [JAWS](https://webaim.org/articles/jaws/), [Narrator](https://support.microsoft.com/windows/complete-guide-to-narrator-e4397a0d-ef4f-b386-d8ae-c172f109bdb1/?WT.mc_id=academic-77807-sagibbon) (ನಿರ್ಮಿತ) +- **ಮ್ಯಾಕ್ಓಎಸ್/ಐಒಎಸ್**: [VoiceOver](https://support.apple.com/guide/voiceover/welcome/10) (ನಿರ್ಮಿತ ಮತ್ತು ಬಹುಶಕ್ತಿ) +- **ಆಂಡ್ರಾಯ್ಡ್**: [TalkBack](https://support.google.com/accessibility/android/answer/6283677) (ನಿರ್ಮಿತ) +- **ಲಿನಕ್ಸ**: [Orca](https://wiki.gnome.org/Projects/Orca) (ಉಚಿತ ಮತ್ತು ಓಪನ್ ಸೋರ್ಸ್) + +**ಸ್ಕ್ರೀನ್ ರೀಡರ್ಸ್ ವೆಬ್ ವಿಷಯವನ್ನು ಹೇಗೆ ನಾವಿಗೇಟ್ ಮಾಡುತ್ತವೆ:** + +ಸ್ಕ್ರೀನ್ ರೀಡರ್ಸ್ ಅನುಭವ ಹೊಂದಿರುವ ಬಳಕೆದಾರರಿಗೆ ಬ್ರೌಜಿಂಗ್ ದಕ್ಷತೆಯನ್ನು ಹೆಚ್ಚಿಸಲು ಹಲವಾರು ನಾವಿಗೇಶನ್ ವಿಧಾನಗಳನ್ನು ಒದಗಿಸಬಹುದು: +- **ಕ್ರಮವಾಗಿ ಓದುವುದು**: ಮೇಲಿನಿಂದ ಕೆಳಗೆ ವಿಷಯವನ್ನು ಓದುವದು, ಪುಸ್ತಕ ಅನುಸರಿಸುವಂತೆ +- **ಲ್ಯಾಂಡ್‌ಮಾರ್ಕ್ ನಾವಿಗೇಶನ್**: ಪುಟದ ವಿಭಾಗಗಳ ನಡುವೆ ಜಂಪ್ ಮಾಡುವುದು (ಹೆಡರ್, ನ್ಯಾವ್, ಮೇನ್, ಫುಟರ್) +- **ಶೀರ್ಷಿಕೆ ನಾವಿಗೇಶನ್**: ಪುಟದ ರಚನೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಶೀರ್ಷಿಕೆಗಳ ನಡುವೆ ಜಂಪ್ ಮಾಡುವುದು +- **ಲಿಂಕ್ ಪಟ್ಟಿಗಳು**: ವೇಗವೊಂದಿಗೆ ಪ್ರವೇಶ ಮಾಡಲು ಎಲ್ಲಾ ಲಿಂಕ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ರಚಿಸುವುದು +- **ಫಾರಂ ನಿಯಂತ್ರಣೆಗಳು**: ನೇರವಾಗಿ ಇನ್‌ಪುಟ್ ಕ್ಷೇತ್ರಗಳು ಮತ್ತು ಬಟನ್‌ಗಳ ನಡುವೆ ನಾವಿಗೇಟ್ ಮಾಡುವುದು + +> 💡 **ನನಗೆ ಮಿಸ್ ಮಾಡದೆ ತಿಳಿದಂತೆ**: 68% ಸ್ಕ್ರೀನ್ ರೀಡರ್ ಬಳಕೆದಾರರು ಮುಖ್ಯವಾಗಿ ಶೀರ್ಷಿಕೆಗಳಿಂದ ನಾವಿಗೇಟ್ ಮಾಡುತ್ತಾರೆ ([WebAIM ಸಮೀಕ್ಷೆ](https://webaim.org/projects/screenreadersurvey9/#finding)). ಇದರಿಂದ ನಿಮ್ಮ ಶೀರ್ಷಿಕೆ ರಚನೆ ಬಳಕೆದಾರರಿಗೆ ಮಾರ್ಗಸೂಚಿಯಂತೆ ಇದೆ—ನೀವು ಅದನ್ನು ಸರியாக ಮಾಡಿದರೆ, ನೀವು ಕೇವಲ ಜನರಿಗೆ ನಿಮ್ಮ ವಿಷಯದ ಸುತ್ತಲೂ ವೇಗವಾಗಿ ಕಂಡುಹಿಡಿಯಲು ಸಹಾಯವಾಗುತ್ತೀರಿ! + +### ನಿಮ್ಮ ಪರೀಕ್ಷಾ ಕಾರ್ಯಪ್ರವಾಹವನ್ನು ನಿರ್ಮಿಸುವುದು + +ಒಂದು ಚೆನ್ನಚಾರು ಸುದ್ದಿ ಇದೆ—ಫಲಕಾರಿ ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಪರೀಕ್ಷೆ ಭಾರವಾದದ್ದು ಆಗಬೇಕಿಲ್ಲ! ನೀವು ಸ್ವಯಂಚಾಲಿತ ಉಪಕರಣಗಳನ್ನು (ಅವು ಸ್ಪಷ್ಟ ಸಮಸ್ಯೆಗಳನ್ನು ಹಿಡಿಯುವಲ್ಲಿ ಅತ್ಯುತ್ತಮ) ಮತ್ತು ಕೈಯಿಂದ ಪರೀಕ್ಷೆಗಳನ್ನು ಸಂಯೋಜಿಸಲು ಇಷ್ಟಪಡುತ್ತೀರಿ. ನಾನು ಕಂಡುಕೊಂಡಿರುವ ವ್ಯವಸ್ಥಿತ ವಿಧಾನ ಇದು ದಿನದ ಎಲ್ಲಾ ಸಮಯವನ್ನು ಕೊಂದರೂ ಕೂಡಾ ಹೆಚ್ಚು ಸಮಸ್ಯೆಗಳನ್ನು ಹಿಡಿಯುತ್ತದೆ: + +**ಅತ್ಯಾವಶ್ಯಕ ಕೈಯಿಂದ ಪರೀಕ್ಷೆ ಕಾರ್ಯಪ್ರವಾಹ:** + +```mermaid +flowchart TD + A[🚀 ಪರೀಕ್ಷೆ ಪ್ರಾರಂಭಿಸಿ] --> B{⌨️ ಕೀಬೋರ್ಡ್ ನ್ಯಾವಿಗೇಶನ್} + B --> C[ಎಲ್ಲಾ ಇಂಟರಾಕ್ಟಿವ್ ಅಂಶಗಳ ಮೂಲಕ ಟ್ಯಾಬ್ ಮಾಡಿ] + C --> D{🎧 ಸ್ಕ್ರೀನ್ ರೀಡರ್ ಪರೀಕ್ಷೆ} + D --> E[NVDA/VoiceOver ಮೂಲಕ ಪರೀಕ್ಷೆ ಮಾಡಿ] + E --> F{🔍 ಜೂಮ್ ಪರೀಕ್ಷೆ} + F --> G[200% ಗೆ ಜೂಮ್ ಮಾಡಿ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆ ಪರಿಶೀಲಿಸಿ] + G --> H{🎨 ಬಣ್ಣ/ವಿರೋಧದ ಪರಿಶೀಲನೆ} + H --> I[ಎಲ್ಲಾ ಪಠ್ಯ ವಿರೋಧದ ಅನುಪಾತಗಳನ್ನು ಪೂರೈಸಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ] + I --> J{👁️ ಫೋಕಸ್ ನಿರ್ವಹಣೆ} + J --> K[ಫೋಕಸ್ ಸೂಚಿಗೆ ದೃಶ್ಯಮಾನವಾಗಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿ] + K --> L[✅ ಪರೀಕ್ಷೆ ಸಮಾಧಾನಗೊಂಡಿದೆ] + + style A fill:#e3f2fd + style L fill:#e8f5e8 + style B fill:#fff3e0 + style D fill:#f3e5f5 + style F fill:#e0f2f1 + style H fill:#fce4ec + style J fill:#e8eaf6 +``` +**ಪದನಂತರ ಪರೀಕ್ಷಾ ಪರಿಶೀಲನಾ ಪಟ್ಟಿಯು:** +1. **ಕೀಬೋರ್ಡ್ ನಾವಿಗೇಶನ್**: Tab, Shift+Tab, Enter, Space, ಮತ್ತು Arrow ಕೀಗಳನ್ನು ಮಾತ್ರ ಬಳಸು +2. **ಸ್ಕ್ರೀನ್ ರೀಡರ್ ಪರೀಶಿಲನೆ**: NVDA, VoiceOver, ಅಥವಾ Narrator ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ ಮತ್ತು ಕಣ್ಣು ಮುಚ್ಚಿದ ಸ್ಥಿತಿಯಲ್ಲಿ ನಾವಿಗೇಟ್ ಮಾಡಿ +3. **ಜೂಮ್ ಪರೀಕ್ಷೆ**: 200% ಮತ್ತು 400% ಜೂಮ್ ಮಟ್ಟದಲ್ಲಿ ಪರೀಕ್ಷೆ ಮಾಡಿ +4. **ಬಣ್ಣ ವಿರುದ್ಧಪಥ ಪರಿಶೀಲನೆ**: ಎಲ್ಲಾ ಪಠ್ಯ ಮತ್ತು ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಘಟಕಗಳನ್ನು ಚೆಕ್ ಮಾಡಿ +5. **ಫೋಕಸ್ ಸೂಚಕ ಪರೀಕ್ಷೆ**: ಎಲ್ಲಾ ಸಂವಾದಾತ್ಮಕ ಘಟಕಗಳಿಗೆ ದೃಶ್ಯಮಾನ ಫೋಕಸ್ ಸ್ಥಿತಿಗಳಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ + +✅ **ಲೈಟ್‌ಹೌಸ್‌ನಿಂದ ಪ್ರಾರಂಭಿಸಿ**: ನಿಮ್ಮ ಬ್ರೌಜರ್ DevTools ತೆರೆಯಿರಿ, ಲೈಟ್‌ಹೌಸ್ ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಪ್ರಮೇಯವನ್ನು ನಡೆಯಿಸಿ, ನಂತರ ಫಲಿತಾಂಶಗಳ ಆಧಾರದ ಮೇಲೆ ಕೈಯಿಂದ ಪರಿಶೀಲನೆಗೆ ಗುರಿಯನ್ನು ನಿಶ್ಚಿತಗೊಳಿಸಿ. + +### ಜೂಮ್ ಮತ್ತು ಮಹತ್ವಾಕಾಂಕ್ಷೆ ಉಪಕರಣಗಳು + +ನೀವು ನಿಮ್ಮ ಫೋನಿನಲ್ಲಿ ಪಠ್ಯ ತುಂಬಾ ಸಣ್ಣದಾಗಿದ್ದಾಗ ಇಡೀಸ್ಕ್ ಮಾಡಿ ಜೂಮ್ ಮಾಡುವಿರಿ, ಅಥವಾ ಬ glaringದ ಬೆಳಗಿನಲ್ಲಿ ನಿಮ್ಮ ಲ್ಯಾಪ್ಟಾಪ್ ಪರದೆ ನೋಡಲು ಸಡಿಲಿಸಿ ನೋಡುವುದಾಗಿ ಅವರುಂದಾದರೂ ಗಮನಿಸಿದ್ದೀರಾ? ಬಹಳ ಜನರು ಪ್ರತಿದಿನವೂ ವಿಷಯವನ್ನು ಓದಲು ಮಹತ್ವಾಕಾಂಕ್ಷೆ ಉಪಕರಣಗಳ ಮೇಲೆ ಅವಲಂಬಿತರಾಗಿರುತ್ತಾರೆ. ಇದರಲ್ಲಿ ಕಡಿಮೆ ದೃಷ್ಟಿ ಹೊಂದಿರುವವರು, ವಯಸ್ಕರು, ಮತ್ತು ಯಾರಾದರೂ ವೆಬ್‌ಸೈಟ್ ಬಾಹ್ಯಾಕಾಶದಲ್ಲಿ ಓದಲು ಯತ್ನಿಸಿದವರು ಸೇರಿದ್ದಾರೆ. + +ಸೂಕ್ತಾಂಶವಾಗಿ ಜೂಮ್ ತಂತ್ರಜ್ಞಾನಗಳು ಏತಕ್ಕಿಂತಲೂ ದೊಡ್ಡದಾಗಿ ಮಾಡುವುದರಿಂದ ಮೇಲು. ಈ ಉಪಕರಣಗಳು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ ಎಂದು ತಿಳಿದಿರುವುದು ಪ್ರತಿಕ್ರಿಯಾಶೀಲ ವಿನ್ಯಾಸಗಳನ್ನು ನಿರ್ಮಿಸುವುದಕ್ಕೆ ನಿಮಗೆ ಸಹಾಯಮಾಡುತ್ತದೆ, ಅಲ್ಲಿ ಯಾವುದೇ ಜೂಮ್ ಮಟ್ಟದಲ್ಲಿಯೂ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಮತ್ತು ಆಕರ್ಷಕವಾಗಿರುವ ವಿನ್ಯಾಸಗಳಿರುತ್ತವೆ. + +**ಆಧುನಿಕ ಬ್ರೌಜರ್ ಜೂಂ ಸಾಮರ್ಥ್ಯಗಳು:** +- **ಪುಟ ಜೂಮ್**: ಎಲ್ಲಾ ವಿಷಯವನ್ನು ಅನುಪಾತದಲ್ಲಿ (ಪಠ್ಯ, ಚಿತ್ರಗಳು, ವಿನ್ಯಾಸ) ವಿಸ್ತರಿಸುತ್ತದೆ - ಇದು ಬೇಕಾದ ಸುಪಂಢ ವಿಧಾನ +- **ಪಠ್ಯ ಮಾತ್ರ ಜೂಮ್**: ಮೂಲ ವಿನ್ಯಾಸ ಇಡೀ ಉಳಿಸಿಕೊಂಡು ಫೋಂಟ್ ಗಾತ್ರವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ +- **ಪಿಂಚ್-ಟು-ಜೂಮ್**: ತಾತ್ಕಾಲಿಕ ಮಹತ್ವಾಕಾಂಕ್ಷೆಗೆ ಮೊಬೈಲ್ ಜೇಶ್ಚರ್ ಮద్దತಿನ ಮಾರ್ಗ +- **ಬ್ರೌಜರ್ ಬೆಂಬಲ**: ಎಲ್ಲಾ ఆధುನಿಕ ಬ್ರೌಜರ್ಗಳು ಕಾರ್ಯಕ್ಷಮತೆಯ ತೊಂದರೆ ಇಲ್ಲದೆ 500% ಜೂಮ್ ಬೆಂಬಲಿಸುವುದರಲ್ಲಿ ಸೂಕ್ತ + +**ವಿಶೇಷ ಮಹತ್ವಾಕಾಂಕ್ಷೆ ಸಾಫ್ಟ್‌ವೇರ್‌ಗಳು:** +- **ವಿಂಡೋಸ್**: [ಮ್ಯಾಗ್‌ನಿಫೈಯರ್](https://support.microsoft.com/windows/use-magnifier-to-make-things-on-the-screen-easier-to-see-414948ba-8b1c-d3bd-8615-0e5e32204198) (ನಿರ್ಮಿತ), [ZoomText](https://www.freedomscientific.com/training/zoomtext/getting-started/) +- **ಮ್ಯಾಕ್ಓಎಸ್/ಐಒಎಸ್**: [Zoom](https://www.apple.com/accessibility/mac/vision/) (ನಿರ್ಮಿತ ಮತ್ತು ಪ್ರಗತಿಶೀಲ ವೈಶಿಷ್ಟ್ಯಗಳೊಡನೆ) + +> ⚠️ **ವಿನ್ಯಾಸ ಪರಿಗಣನೆ**: WCAG 200% ಜೂಮ್ ಆಗುವಾಗ ವಿಷಯ ಕಾರ್ಯನಿರ್ವಹಣೆಯಲ್ಲಿರಬೇಕು ಎಂದು ಅವಶ್ಯಕತೆ ಇಡುತ್ತದೆ. ಈ ಮಟ್ಟದಲ್ಲಿ, ಹೋರಿಜಾಂಟಲ್ ಸ್ಕ್ರೋಲಿಂಗ್ ಕನಿಷ್ಠವಾಗಿರಬೇಕು ಮತ್ತು ಎಲ್ಲಾ ಸಂವಾದಾತ್ಮಕ ಅಂಶಗಳು ಪ್ರವೇಶಾಸಾಧ್ಯವಾಗಿರಬೇಕು. + +✅ **ನಿಮ್ಮ ಪ್ರತಿಕ್ರಿಯಾಶೀಲ ವಿನ್ಯಾಸವನ್ನು ಪರೀಕ್ಷೆ ಮಾಡಿ**: ನಿಮ್ಮ ಬ್ರೌಜರ್ ಅನ್ನು 200% ಮತ್ತು 400% ಗೆ ಜೂಮ್ ಮಾಡಿ. ನಿಮ್ಮ ವಿನ್ಯಾಸ ಚುರುಕಾಗಿ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆಯೇ? ನಿರ್ಲಕ್ಷ್ಯಿಸದ ಸ್ಕ್ರೋಲಿಂಗ್ ಇಲ್ಲದೆ ನೀವು ಎಲ್ಲಾ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಇನ್ನೂ ಪ್ರವೇಶಿಸಬಹುದೇ? + +## ಆಧುನಿಕ ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಪರೀಕ್ಷಾ ಉಪಕರಣಗಳು + +ಜನರು ಸಹಾಯಕ ತಂತ್ರಜ್ಞಾನಗಳೊಂದಿಗೆ ವೆಬ್ ಅನ್ನು ಹೇಗೆ ನಾವಿಗೇಟ್ ಮಾಡುತ್ತಾರೆ ಎಂಬುದನ್ನು ಈಗ ನೀವು ಅರ್ಥಮಾಡಿಕೊಂಡಿದ್ದೀರಾ, ವಸ್ತುವಿವರಣಾ ಕಾರ್ಯಾಧಾರಕ್ಕೆ ಅನುಕೂಲಕರ ವೆಬ್‌ಸೈಟ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಮತ್ತು ಪರೀಕ್ಷಿಸಲು ನೆರವಾಗುವ ಉಪಕರಣಗಳನ್ನು ಅನ್ವೇಷಿಸೋಣ. + +ಇದನ್ನು ಈ ರೀತಿಯಲ್ಲಿ ಯೋಚಿಸಿ: ಸ್ವಯಂಚಾಲಿತ ಉಪಕರಣಗಳು ಸ್ಪಷ್ಟ ಸಮಸ್ಯೆಗಳನ್ನು ಹಿಡಿಯುವಲ್ಲಿ ಉತ್ತಮವಾಗಿವೆ (ಉದಾಹರಣೆಗೆ, alt ಪಠ್ಯ ಇಲ್ಲದಿರುವುದು), ಮತ್ತು ಕೈಯಿಂದ ಪರೀಕ್ಷೆಗಳು ನಿಮ್ಮ ಸೈಟ್ ವಾಸ್ತವ ಜಗತ್ತಿನಲ್ಲಿ ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೇ ಎಂಬುದನ್ನು ಖಚಿತಗೊಳಿಸುತ್ತದೆ. ಜೊತೆಯಾಗಿ, ಈ ಎಲ್ಲವು ನಿಮಗೆ ನಿಮ್ಮ ಸೈಟ್‌ಗಳು ಎಲ್ಲರಿಗೂ ಕೆಲಸಮಾಡುತ್ತವೆ ಎಂಬ ವಿಶ್ವಾಸವನ್ನು ನೀಡುತ್ತವೆ. + +### ಬಣ್ಣ ವಿರೋಧ ಪರೀಕ್ಷೆ + +ಚೆನ್ನ ಸಂಭಾಷಣೆಯ ವಿಚಾರ ಇಲ್ಲಿದೆ: ಬಣ್ಣ ವಿರುದ್ಧಪಥವು ಸಾಮಾನ್ಯ ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಸಮಸ್ಯೆಗಳಲ್ಲೊಂದಾಗಿದ್ದು, ಆದರೆ ಅದನ್ನು ಸರಿಪಡಿಸುವುದು ಸಹ ಆಗ ತುಂಬಾ ಸರಳ. ಒಳ್ಳೆಯ ವಿರೋಧ ಬಣ್ಣವು ಎಲ್ಲರಿಗೂ ಲಾಭ ನೀಡುತ್ತದೆ—ದೃಷ್ಟಿ ಹೀನತೆಯ ಬಳಕೆದಾರರಿಂದ ಹಿಡಿದು ಬೀಚಿನಲ್ಲಿಯೇ ಫೋನ್ ಓದಲು ಯತ್ನಿಸುವವರಿಗೆ. + +**WCAG ವಿರೋಧದ ಅವಶ್ಯಕತೆಗಳು:** + +| ಪಠ್ಯ ಪ್ರಕಾರ | WCAG AA (ಕನಿಷ್ಟ) | WCAG AAA (ವೃದ್ಧಿತ) | +|-----------|-------------------|---------------------| +| **ಸಾಮಾನ್ಯ ಪಠ್ಯ** (18pt ಒಳಗೆ) | 4.5:1 ವಿರೋಧ ಅನುಪಾತ | 7:1 ವಿರೋಧ ಅನುಪಾತ | +| **ದುಂಬಿದ ಪಠ್ಯ** (18pt+ ಅಥವಾ 14pt+ ಬೋಲ್ಡ್) | 3:1 ವಿರೋಧ ಅನುಪಾತ | 4.5:1 ವಿರೋಧ ಅನುಪಾತ | +| **UI ಘಟಕಗಳು** (ಬಟನ್ಗಳು, ಫಾರಂ ಬಾರ್ಡರ್‌ಗಳು) | 3:1 ವಿರೋಧ ಅನುಪಾತ | 3:1 ವಿರೋಧ ಅನುಪಾತ | + +**ಅತ್ಯಾವಶ್ಯಕ ಪರೀಕ್ಷಾ ಉಪಕರಣಗಳು:** +- [Colour Contrast Analyser](https://www.tpgi.com/color-contrast-checker/) - ಡೆಸ್ಕ್‌ಟಾಪ್ ಅಪ್ಲಿಕೇಶನ್ ಬಣ್ಣ ಆಯ್ಕೆದಾರನೊಂದಿಗೆ +- [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/) - ವೆಬ್ ಆಧಾರಿತ ತಕ್ಷಣದ ಪ್ರತಿಕ್ರಿಯೆಯೊಂದಿಗೆ +- [Stark](https://www.getstark.co/) - ಡಿಸೈನ್ ಉಪಕರಣ ಪ್ಲಗಿನ್ Figma, Sketch, Adobe XDಗಾಗಿ +- [Accessible Colors](https://accessible-colors.com/) - ಪ್ರವೇಶೋಪಯುಕ್ತ ಬಣ್ಣ ಪ್ಯಾಲೆಟ್‌ಗಳನ್ನು ಹುಡುಕಿ + +✅ **ಸರಿಯಾದ ಬಣ್ಣ ಪ್ಯಾಲೆಟ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಿ**: ನಿಮ್ಮ ಬ್ರ್ಯಾಂಡ್ ಬಣ್ಣಗಳಿಂದ ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ವಿರೋಧ ಪರಿಕ್ಷಕಿ ಉಪಕರಣಗಳನ್ನು ಬಳಸಿ ಪ್ರವೇಶಾಸಾಧ್ಯತೆಯ ವೈವಿಧ್ಯಗಳನ್ನು ರಚಿಸಿ. ಇದರ ದಾಖಲೆಯನ್ನು ನಿಮ್ಮ ವಿನ್ಯಾಸ ವ್ಯವಸ್ಥೆಯ ಪ್ರವೇಶಾಸಾಧ್ಯ ಬಣ್ಣ ಟೋಕನ್‌ಗಳಾಗಿ ಇಡಿ. + +### ಸಮಗ್ರ ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಪ್ರಾಮಾಣೀಕರಣ + +ಅತ್ಯುತ್ತಮ ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಪರೀಕ್ಷೆಯು ಹಲವು ವಿಧಾನಗಳನ್ನು ಸಂಯೋಜಿಸುತ್ತದೆ. ಯಾವುದೇ ಏಕಮುಖ ಉಪಕರಣವು ಎಲ್ಲವನ್ನೂ ಹಿಡಿಯದು, ಹಾಗಾಗಿ ಬೇಟೆಯ ಕಾರ್ಯವಿಧಾನವನ್ನು ವಿವಿಧ ವಿಧಾನಗಳೊಂದಿಗೆ ರಚಿಸುವುದು ಸಮಗ್ರ ಸವಾಲುಗಳನ್ನು ಬಲಪಡಿಸುತ್ತದೆ. + +**ಬ್ರೌಜರ್ ಆಧಾರಿತ ಪರೀಕ್ಷೆ (DevToolsನೊಳಗೆ ಸೇರಿಸಲಾಗಿದೆ):** +- **ಕ್ರೋಮ್/ಎಡ್ಜ್**: ಲೈಟ್‌ಹೌಸ್ ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಪ್ರಮೇಯ + ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಫಲಕ +- **ಫೈರ್‌ಫಾಕ್ಸ್**: ವಿವರವಾದ ವೃಕ್ಷದೃಶ್ಯೊಂದಿಗೆ ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಇನ್ಸ್ಪೆಕ್ಟರ್ +- **ಸ್ಯಾಫಾರಿ**: ವೆಬ್ ಇನ್ಸ್‌ಪೆಕ್ಟರ್‌ನ ಪರಿಶೀಲನೆ ಟ್ಯಾಬ್ ಮತ್ತು VoiceOver ಅನುಕರಣೆ + +**ವೃತ್ತಿಪರ ಪರೀಕ್ಷಾ ವಿಸ್ತರಣೆಗಳು:** +- [axe DevTools](https://www.deque.com/axe/devtools/) - ಉದ್ಯಮ-ಮೌಲ್ಯಮಾಪನ ಸ್ವಯಂಚಾಲಿತ ಪರೀಕ್ಷೆ +- [WAVE](https://wave.webaim.org/extension/) - ದೋಷ ಒತ್ತಿ ತಮ್ಮುಟೊಂದಿಗೆ ದೃಶ್ಯ ಪ್ರತಿಕ್ರಿಯಾ +- [Accessibility Insights](https://accessibilityinsights.io/) - ಮೈಕ್ರೋಸಾಫ್ಟ್‌ನ ಸಂಪೂರ್ಣ ಪರೀಕ್ಷಾ ಸಂಗ್ರಹ + +**ಕಮಾಂಡ್‌ಲೈನ್ ಮತ್ತು CI/CD ಸಂಯೋಜನೆ:** +- [axe-core](https://github.com/dequelabs/axe-core) - ಸ್ವಯಂಚಾಲಿತ ಪರೀಕ್ಷೆಗೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಗ್ರಂಥಾಲಯ +- [Pa11y](https://pa11y.org/) - ಕಮಾಂಡ್ ಲೈನ್ ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಪರೀಕ್ಷಾ ಸಾಧನ +- [Lighthouse CI](https://github.com/GoogleChrome/lighthouse-ci) - ಸ್ವಯಂಚಾಲಿತ ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಅಂಕಿಅಂಶಗಳ ಮೌಲ್ಯಮಾಪನ + +> 🎯 **ಪರೀಕ್ಷಾ ಗುರಿ**: ಲೈಟ್‌ಹೌಸ್ ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಅಂಕ 95+ ಗುರಿಯಾಗಿರಲಿ. ನೆನಪಿನಲ್ಲಿಡಿ, ಸ್ವಯಂಚಾಲಿತ ಉಪಕರಣಗಳು ಸುತ್ತಲೂ 30-40% ಮಾತ್ರ ಸಮಸ್ಯೆಗಳನ್ನು ಹಿಡಿಯುತ್ತವೆ—ಕೈಯಿಂದ ಪರೀಕ್ಷೆ ಈಗಲೂ ಅಗತ್ಯ! + +### 🧠 **ಪರೀಕ್ಷಾ ಕೌಶಲ್ಯ ಪರಿಶೀಲನೆ: ಸಮಸ್ಯೆಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ಸಿದ್ಧರಾಗಿ?** + +**ನೀವು ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಪರೀಕ್ಷೆ ಬಗ್ಗೆ ಹೇಗಿರುವಿರಿ ನೋಡೋಣ:** +- ಈ ಸಮಯದಲ್ಲಿ ಯಾವ ಪರೀಕ್ಷಾ ವಿಧಾನ ಉತ್ತಮವಾಗಿ ಪ್ರಾಪ್ತಿಯಾಗುತ್ತದೆ ಎಂಬುದೆನು? +- ಒಂದು ಪೂರ್ಣ ದಿನ ಟ್ಯಾಬ್ ಕೀ ಮಾತ್ರ ಬಳಸಿ ನಾವಿಗೇಟ್ ಮಾಡುವುದು ನಿಮ್ಮಿಗಾದರೇ ಕಲ್ಪಿಸಬಹುದೇ? +- ನೀವು ವೈಯಕ್ತಿಕವಾಗಿ ವೆಬ್‌ನಲ್ಲಿ ಎದುರಿಸಿದ ಒಂದು ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಅಡಚಣೆಯೇನು? + +```mermaid +pie title "ವಿಭಿನ್ನ ವಿಧಾನಗಳಿಂದ ಕಂಡುಹಿಡಿದ ಪ್ರವೇಶಸಾಧ್ಯತೆ ಸಮಸ್ಯೆಗಳು" + "ಸ್ವಯಂಚಾಲಿತ ಸಾಧನಗಳು" : 35 + "ಮ್ಯಾನುಯಲ್ ಪರೀಕ್ಷೆ" : 40 + "ಬಳಕೆದಾರ ಪ್ರತಿಕ್ರಿಯೆ" : 25 +``` +> **ಆತ್ಮವಿಶ್ವಾಸ ವೃದ್ಧಿ**: ವೃತ್ತಿಪರ ಪ್ರವೇಶಾಸಾಧ್ಯತೆಯ ಪರೀಕ್ಷಕರು ಈ ನಿಖರ ಸಂಯೋಜನೆಯನ್ನು ಬಳಸುತ್ತೇವೆ. ನೀವು ಉದ್ಯಮಮಟ್ಟದ ಅಭ್ಯಾಸಗಳನ್ನು ಕಲಿಯುತ್ತಿದ್ದೀರಿರಿ! + +## ನೆಲೆಯಿಂದ ಆರಂಭಿಸಿ ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ನಿರ್ಮಾಣ + +ಪ್ರವೇಶಾಸಾಧ್ಯತೆಯ ಯಶಸ್ಸಿನ ಕೀ ಬಲೆ ಇಡೀ ಮೂಲದೊಂದಿಗೆ ಆರಂಭಿಸುವುದಾಗಿದೆ. "ನಾನು ನಂತರ ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಸೇರಿಸುವೆನು" ಎನ್ನುವುದು ಆಕರ್ಷಕ ಎಂದು ನನಗೆ ಗೊತ್ತಿದೆ, ಆದರೆ ಅದೊಂದು ಮನೆ ಕಟ್ಟಿದ ಬಳಿಕ ಅದಕ್ಕೆ ಒಂದು ರ್ಯಾಂಪ್ ಸೇರಿಸುವಂತೆ. ಸಾಧ್ಯವೇ? ಹೌದು. ಸುಲಭವೇ? ಇಲ್ಲ. + +ಪ್ರವೇಶಾಸಾಧ್ಯತೆಯು ಮನೆ ಯೋಜನೆಯಲ್ಲಿ ವಿಧೇಯವಾಗಿರುವಂತೆ ಯೋಚಿಸಿ—ಪ್ರಾರಂಭದಲ್ಲಿ ವೀಲ್ಚೇರ್ ಪ್ರವೇಶಾಸಾಧ್ಯತೆಯನ್ನು ಯೋಜಿಸುವುದು ಬಳಿಕ ಅದನ್ನು ಸೇರಿಸುವುದಕ್ಕಿಂತ ಬಹಳ ಸೂಕ್ತ. + +### POUR ತತ್ವಗಳು: ನಿಮ್ಮ ಪ್ರವೇಶಾಸಾಧ್ಯತೆಯ ನೆಲೆ + +ವೆಬ್ ವಿಷಯ ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ಮಾರ್ಗನಿರ್ದೇಶನಗಳು (WCAG) ನಾಲ್ಕು ಮೂಲತತ್ವಗಳ ಸುತ್ತ ನಿರ್ಮಿಸಲಾಗಿದೆ, ಅವು POUR ಅನ್ನು ವರ್ಣಿಸುತ್ತವೆ. ಚಿಂತೆ ಬೇಡ—ಇವು ಗಂಭೀರ ಶೈಕ್ಷಣಿಕ ಸಿದ್ಧಾಂತಗಳು ಅಲ್ಲ! ಅವು ಸಹಜವಾಗಿ ಎಲ್ಲರಿಗೂ ಕೆಲಸ ಮಾಡುವ বিষয়ಗಳನ್ನು ರೂಪಿಸುವಿಗಾಗಿ ಪ್ರಾಯೋಗಿಕ ಮಾರ್ಗಸೂಚಿಗಳು. + +POUR ಅನ್ನು ಗ್ರಹಿಸಿದ ನಂತರ, ಪ್ರವೇಶಾಸಾಧ್ಯತೆ ನಿರ್ಧಾರಗಳು ಬಹಳ ಸದೃಢವಾಗುತ್ತವೆ. ಇದು ನಿಮ್ಮ ವಿನ್ಯಾಸ ಆಯ್ಕೆಯನ್ನು ಮಾರ್ಗದರ್ಶನ ಮಾಡುವ मानसिक ಪರಿಶೀಲನಾ ಪಟ್ಟಿಯಂತೆ. + +ಬದಲಾಗೋಣ: + +```mermaid +flowchart LR + A[🔍 ಗ್ರಹಿಸುವ ಸಾಧ್ಯತೆ
ಬಳಕೆದಾರರು ಇದನ್ನು ಅನುಭವಿಸಬಹುದಾ?] --> B[🎮 ನಿರ್ವಹಿಸಬಹುದಾ
ಬಳಕೆದಾರರು ಇದನ್ನು ಬಳಸಬಹುದಾ?] + B --> C[📖 ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದಾ
ಬಳಕೆದಾರರು ಇದನ್ನು ಹಿಂಬಾಲಿಸಬಹುದಾ?] + C --> D[💪 ದృಢನಿಷ್ಠ
ಇದು ಎಲ್ಲ ಸ್ಥಳದಲ್ಲೂ ಕೆಲಸ ಮಾಡುತ್ತದೆ?] + + A1[Alt ಪಠ್ಯ
کیپ್ಶನ್‌ಗಳು
ವಿರೋಧದೃಶ್ಯ] --> A + B1[ಕೀಬೋರ್ಡ್ ಪ್ರವೇಶ
ಸೆಜ್ಜರ್ ಗಳು ಇಲ್ಲ
ಸಮಯ ಮಿತಿ] --> B + C1[ಸ್ಪಷ್ಟ ಭಾಷೆ
ಉಲ್ಲೇಖನೀಯ
ದೋಷ ಸಹಾಯ] --> C + D1[ಮಾನ್ಯ ಕೋಡ್
ಬೇರೆಗೂ ಹೊಂದಾಣಿಕೆ
ಭವಿಷ್ಯ-ಪ್ರೂಫ್] --> D + + style A fill:#e1f5fe + style B fill:#e8f5e8 + style C fill:#fff3e0 + style D fill:#f3e5f5 +``` +**🔍 ಗ್ರಹಿಸಲು ಸಾಧ್ಯವಿರುವುದು (Perceivable)**: ಬಳಕೆದಾರರು ಲಭ್ಯವಿರುವ ಇಂದ್ರಿಯಗಳ ಮೂಲಕ ಗ್ರಹಿಸಬಹುದಾದ ರೀತಿಯಲ್ಲಿ ಮಾಹಿತಿ ಪ್ರದರ್ಶನ ಮಾಡಬೇಕು + +- ಪಠ್ಯವಲ್ಲದ ವಿಷಯಕ್ಕೆ ಪಠ್ಯ ప్రత్యಾಮ್ನಗಳನ್ನು ಒದಗಿಸು (ಚಿತ್ರಗಳು, ವೀಡಿಯೋಗಳು, ಧ್ವನಿ) +- ಎಲ್ಲಾ ಪಠ್ಯ ಮತ್ತು UI ಘಟಕಗಳಿಗೆ ಸಾಕಷ್ಟು ಬಣ್ಣ ವಿರೋಧವನ್ನು ಖಚಿತಪಡಿಸು +- ಮಲ್ಟಿಮೀಡಿಯಾಗೆ ಕ್ಯಾಪ್ಶನ್‌ಗಳು ಮತ್ತು ಲಿಪಿ ಪ್ರತ್ಯಯಗಳನ್ನು ಒದಗಿಸು +- ವಿಷಯವು 200% ವರೆಗೆ ಮರುಗಾತ್ರಗೊಳ್ಳುವಾಗ ಕಾರ್ಯನಿರ್ವಹಿಸಬೇಕು +- ಮಾಹಿತಿ ತಿಳಿಸಲು ಹಲವು ಇಂದ್ರಿಯ ಲಕ್ಷಣಗಳನ್ನು ಬಳಸಿ (ಬಣ್ಣ ಮಾತ್ರವಲ್ಲ) + +**🎮 ಕಾರ್ಯನಿರತ (Operable)**: ಲಭ್ಯವಿರುವ ಇನ್‌ಪುಟ್ ವಿಧಾನಗಳ ಮೂಲಕ ಎಲ್ಲಾ ಇಂಟರ್ಫೇಸ್ ಘಟಕಗಳು ಕಾರ್ಯನಿರತವಾಗಿರಬೇಕು + +- ಎಲ್ಲಾ ಕಾರ್ಯಕ್ಷಮತೆಗಳನ್ನು ಕೀಬೋರ್ಡ್ ನಾವಿಗೇಶನ್ ಮೂಲಕ ಪ್ರವೇಶಿಸಬಹುದಾಗಿರಿಸು +- ಬಳಕೆದಾರರಿಗೆ ಓದಲು ಮತ್ತು ಸಂವಹನ ಮಾಡಲು ಸಾಕಷ್ಟು ಸಮಯ ಕೊಡು +- ಜಾರಿ ರೋಗ ಅಥವಾ ಪ್ರೇಕ್ಷಣಾಸಂಬಂಧಿ ಅಸಹಜತೆ ಹೊರುವ ವಿಷಯವನ್ನು ತಪ್ಪಿಸು +- ಸ್ಪಷ್ಟ ಬದ್ಧ ರಚನೆ ಮತ್ತು ಲ್ಯಾಂಡ್‌ಮಾರ್ಕ್‌ಗಳೊಂದಿಗೆ ಬಳಕೆದಾರರನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ನಾವಿಗೇಟ್ ಮಾಡಲು ಸಹಾಯಮಾಡು +- ಸಂವಾದಾತ್ಮಕ ಅಂಶಗಳಿಗೆ ಯಥಾರ್ಥ ಗಾತ್ರವನ್ನು ( ಕನಿಷ್ಠ 44px) ಖಚಿತಪಡಿಸು + +**📖 ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದಾದ (Understandable)**: ಮಾಹಿತಿ ಮತ್ತು UI ಕಾರ್ಯಾಚರಣೆ ಸ್ಪಷ್ಟ ಮತ್ತು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಂತಿರಬೇಕು + +- ನಿಮ್ಮ ಪ್ರೇಕ್ಷಕರಿಗೆ ಸೂಕ್ತವಾಗಿರುವ ಸ್ಪಷ್ಟ, ಸರಳ ಭಾಷೆಯನ್ನು ಬಳಸಿ +- ವಿಷಯವು ನಿರೀಕ್ಷಿತ, ಸಧಾರಣೆಯಾದ ರೀತಿಯಲ್ಲಿ ತೋರುವ ಹಾಗು ಕಾರ್ಯನಿರ್ವಹಿಸುವಂತೆ ಖಚಿತಪಡಿಸು +- ಬಳಕೆದಾರರ ಇನ್‌ಪುಟ್‌ಗೆ ಸ್ಪಷ್ಟ ಸೂಚನೆಗಳು ಮತ್ತು ದೋಷ ಸಂದೇಶಗಳನ್ನು ಒದಗಿಸು +- ಬಳಕೆದಾರರು ಫಾರಂಗಳಲ್ಲಿ ನಡೆದ ದೋಷಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಂಡು ಸರಿಪಡಿಸಲು ಸಹಾಯಮಾಡು +- ವಿಷಯವನ್ನು ತಾರ್ಕಿಕ ಓದುವ ಕ್ರಮ ಮತ್ತು ಮಾಹಿತಿಯ ಹೈರಾರ್ಕಿಯೊಂದಿಗೆ ಸಂಘಟಿಸು + +**💪 ಬಲಿಷ್ಠ (Robust)**: ವಿಷಯವು ವಿಭಿನ್ನ ತಂತ್ರಜ್ಞಾನಗಳು ಮತ್ತು ಸಹಾಯಕ ಸಾಧನಗಳ ಮೇಲೆ ವಿಶ್ವಾಸಾರ್ಹವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಬೇಕು + +- **ಮಾನ್ಯದವಾದ, ಅರ್ಥಪೂರ್ಣ HTML ಅನ್ನು ನಿಮ್ಮ ನೆಲೆಯಾಗಿ ಬಳಸಿ** +- **ಪ್ರಸ್ತುತ ಮತ್ತು ಭವಿಷ್ಯ ಕ್ಯಿಯೋ ಸಹಾಯಕ ತಂತ್ರಜ್ಞಾನಗಳ ಜೊತೆಗೆ ಹೊಂದಾಣಿಕೆಯನ್ನು ಖಚಿತಪಡಿಸು** +- **ವೆಬ್ ಮಾನದಂಡಗಳು ಮತ್ತು ವರ್ತಮಾನ ಅಭ್ಯಾಸಗಳನ್ನು ಅನುಸರಿಸಿ** +- **ವಿಭಿನ್ನ ಬ್ರೌಸರ್‌ಗಳು, ಸಾಧನಗಳು ಮತ್ತು ಸಹಾಯಕ ಸಾಧನಗಳ ಮೂಲಕ ಪರೀಕ್ಷೆ ನಡೆಸಿ** +- **ಅಧಿಕೃತ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಬೆಂಬಲಿಸದಿದ್ದಾಗಲೂ ನಿಧಾನವಾಗಿ ಕುಸಿದಾಗಲೂ ರೂಪರೇಖೆಯನ್ನು ಸಮರ್ಪಕವಾಗಿ ರೂಪಿಸಿರಿ** + +### 🎯 **POUR ತತ್ವಗಳ ಪರಿಶೀಲನೆ: ಅದನ್ನು ಹಾಗೆ ಇಟ್ಟುಕೊ೦ಡಿ** + +**ಅಡಿಪಾಯಗಳ ಕುರಿತು ತ್ವರಿತ ಚಿಂತನೆ:** +- ನೀವು ತಲೆಹೊರೆಯುವ ಪ್ರತಿಯೊಂದು POUR ತತ್ವವನ್ನು ವಿಫಲಗೊಳಿಸುವ ವೆಬ್‌ಸೈಟ್ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬಿಚ್ಚುಬಲ್ಲೀರಾ? +- ಯಾವ ತತ್ವವು ನಿಮಗೆ ಡೆವಲಪರ್ ಆಗಿ ಅತ್ಯಂತ ಸಹಜವಾಗಿದೆ? +- ಈ ತತ್ವಗಳು ಅಂಗವಿಕಲ ಬಳಕೆದಾರರಿಗೆ ಮಾತ್ರವಲ್ಲದೆ ಎಲ್ಲರಿಗೂ ವಿನ್ಯಾಸವನ್ನು ಹೇಗೆ ಉತ್ತಮಗೊಳಿಸಬಹುದು? + +```mermaid +quadrantChart + title POUR ತತ್ತ್ವಗಳ ಪ್ರಭಾವ ಮ್ಯಾಟ್ರಿಕ್ಸ್ + x-axis ಕಡಿಮೆ ಪ್ರಯತ್ನ --> ಹೆಚ್ಚಿನ ಪ್ರಯತ್ನ + y-axis ಕಡಿಮೆ ಪ್ರಭಾವ --> ಹೆಚ್ಚಿನ ಪ್ರಭಾವ + quadrant-1 ತ್ವರಿತ ಜಯಗಳು + quadrant-2 ಪ್ರಮುಖ ಯೋಜನೆಗಳು + quadrant-3 ನಂತರ ಪರಿಗಣನೆ + quadrant-4 ತಾಂತ್ರಿಕ ಗಮನ + + Alt Text: [0.2, 0.9] + Color Contrast: [0.3, 0.8] + Semantic HTML: [0.4, 0.9] + Keyboard Nav: [0.6, 0.8] + ARIA Complex: [0.8, 0.7] + Screen Reader Testing: [0.7, 0.6] +``` +> **ಸ್ಮರಿಸಿ**: ಕಡಿಮೆ ಪ್ರಯತ್ನದಲ್ಲಿ ಹೆಚ್ಚಿನ ಪರಿಣಾಮಕಾರಿತ್ವವನ್ನು ನೀಡುವ ಸುಧಾರಣೆಗಳಿಂದ ಪ್ರಾರಂಭಿಸಿ. ಅರ್ಥಪೂರ್ಣ HTML ಮತ್ತು alt ಪಠ್ಯವು ನಿಮಗೆ ತಗ್ಗಿದ ಪ್ರಯತ್ನದಲ್ಲಿ ಅತಿ ದೊಡ್ಡ ಪ್ರವೇಶಾರ್ಹತೆಯನ್ನು ನೀಡುತ್ತದೆ! + +## ಪ್ರವೇಶಾರ್ಹ ದೃಶ್ಯ ವಿನ್ಯಾಸ ಸೃಷ್ಟಿಸುವುದು + +ಚೆನ್ನಾಗಿರುವ ದೃಶ್ಯ ವಿನ್ಯಾಸ ಮತ್ತು ಪ್ರವೇಶಾರ್ಹತೆ ಕೈಗೂ ಕೈ ಕೊಟ್ಟು ಹೋಗುತ್ತವೆ. ನೀವು ಪ್ರವೇಶಾರ್ಹತನನ್ನು ಗಮನದಲ್ಲಿ ಇಟ್ಟು ವಿನ್ಯಾಸ ಮಾಡುತ್ತಿದ್ದಾಗ, ಅವು ಸೀಮಿತತೆಗಳು ಸ್ವಚ್ಛ, ಸೊಗಸಾದ ಪರಿಹಾರಗಳನ್ನು ಕಲ್ಪಿಸುವುದನ್ನು ಕಂಡುಹಿಡಿಯುತ್ತೀರಿ, ಇದು ಎಲ್ಲ ಬಳಕೆದಾರರಿಗೆ ಲಾಭದಾಯಕವಾಗುತ್ತದೆ. + +ನಾವು ಎಲ್ಲರಿಗೂ ಕೆಲಸ ಮಾಡುವ ದೃಶ್ಯಾತ್ಮಕವಾಗಿ ಆಕರ್ಷಕ ವಿನ್ಯಾಸಗಳನ್ನು ಹೇಗೆ ರಚಿಸುವುದು ಎಂಬುದನ್ನು ತನಿಖೆ ಮಾಡೋಣ, ಅವುಗಳ ದೃಷ್ಟಿ ಸಾಮರ್ಥ್ಯ ಅಥವಾ ನಿಮ್ಮ ವಿಷಯವನ್ನು ನೋಡುತ್ತಿರುವ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ನೋಡುವುದಿಲ್ಲ. + +### ಬಣ್ಣ ಮತ್ತು ದೃಶ್ಯ ಪ್ರವೇಶಾರ್ಹತೆಯ ತಂತ್ರಗಳು + +ಬಣ್ಣ ಸಂವಹನಕ್ಕಾಗಿ ಶಕ್ತಿ ಹೊಂದಿದೆ, ಆದರೆ ಮಹತ್ವದ ಮಾಹಿತಿಯನ್ನು ಬಣ್ಣದಿಂದ ಮಾತ್ರ ಹರಡುವುದಿಲ್ಲ. ಬಣ್ಣದ ಹೊರತಾಗಿ ವಿನ್ಯಾಸ ಮಾಡುವುದರಿಂದ ಹೆಚ್ಚು ದೃಢ, ವಿಸ್ತೃತ ಅನುಭವಗಳು ಸೃಷ್ಟಿಯಾಗುತ್ತವೆ, ಅವು ಹೆಚ್ಚು ಪರಿಸ್ಥಿತಿಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. + +**ಬಣ್ಣ ದೃಷ್ಟಿ ವ್ಯತ್ಯಾಸಗಳಿಗೆ ವಿನ್ಯಾಸ ಮಾಡಿ:** + +ಸುಮಾರಾಗಿ 8% ಗಂಡಸರು ಮತ್ತು 0.5% ಹೆಂಗಸರು ಕೆಲವು ಬಣ್ಣ ದೃಷ್ಟಿ ವ್ಯತ್ಯಾಸಗಳನ್ನು ಹೊಂದಿದ್ದಾರೆ (ಬಹುಮಾನವಾಗಿ "ಬಣ್ಣ ಅಂಧತೆ" ಎಂದು ಕರೆದೊಯ್ಯಲ್ಪಡುವುದು). ಸಾಮಾನ್ಯವಾದ ಪ್ರಕಾರಗಳು: +- **ಡ್ಯೂಟೆರನೋಪಿಯಾ**: ಕೆಂಪು ಮತ್ತು ಹಸಿರು ಗುರುತಿಸಲು ಕಷ್ಟ +- **ಪ್ರೋಟನೋಪಿಯಾ**: ಕೆಂಪು ಬಣ್ಣ ಮುಂದು ಹತ್ತಿರುವಂತೆ ಕಾಣುವುದು +- **ಟ್ರಿಟನೋಪಿಯಾ**: ನೀಲಿ ಮತ್ತು ಹಳದಿ ಗುರುತಿಸಲು ಕಷ್ಟ (ಹಿಮ್ಮುಖ) + +**ಸಾಮರಸ್ಯಬದ್ಧ ಬಣ್ಣ ತಂತ್ರಗಳು:** + +```css +/* ❌ Bad: Using only color to indicate status */ +.error { color: red; } +.success { color: green; } + +/* ✅ Good: Color plus icons and context */ +.error { + color: #d32f2f; + border-left: 4px solid #d32f2f; +} +.error::before { + content: "⚠️"; + margin-right: 8px; +} + +.success { + color: #2e7d32; + border-left: 4px solid #2e7d32; +} +.success::before { + content: "✅"; + margin-right: 8px; +} +``` + +**ಮೂಲಭೂತ ಪ್ರತಿಬಿಂಬದ ಅಗತ್ಯದ ಮೇಲೆ ಮೀರಿದಂತೆ:** +- ಬಣ್ಣ ಮೂರ್ಖರಿಗಾಗಿ ಬಣ್ಣ ಅಂಧತೆ ಅನುಕರಣಿಗಳನ್ನು ಪರೀಕ್ಷಿಸಿ +- ಬಣ್ಣ ಸಂಹಿತೆಯ ಜೊತೆಗೆ ಮಾದರಿಗಳು, ಬೃಂದಗಳು ಅಥವಾ ಆಕಾರಗಳನ್ನು ಬಳಸಿ +- ಬಣ್ಣವೇ ಇಲ್ಲದ interactive states ಸ್ಪಷ್ಟವಾಗಿರಲಿ +- ನಿಮ್ಮ ವಿನ್ಯಾಸ ಹೈ ಕಾಂಟ್ರಾಸ್ಟ್ ಮೋಡಿನಲ್ಲಿ ಹೇಗಿದೆ ಎಂದು ಪರಿಗಣಿಸಿ + +✅ **ನಿಮ್ಮ ಬಣ್ಣ ಪ್ರವೇಶಾರ್ಹತೆಯನ್ನು ಪರೀಕ್ಷಿಸಿ**: [Coblis](https://www.color-blindness.com/coblis-color-blindness-simulator/) ಮೊದಲಾದ ಸಾಧನಗಳನ್ನು ಬಳಸಿ ನಿಮ್ಮ ತಾಣವು ವಿಭಿನ್ನ ಬಣ್ಣ ದೃಷ್ಟಿಯಳ್ಳ ಬಳಕೆದಾರರಿಗೆ ಹೇಗೆ ತೋರುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡಿ. + +### ಫೋಕಸ್ ಸೂಚಕಗಳು ಮತ್ತು ಪರಸ್ಪರ ಸಂವಹನ ವಿನ್ಯಾಸ + +ಫೋಕಸ್ ಸೂಚಕಗಳು ಡಿಜಿಟಲ್ ಕರ್ಸರ್ ಸಮಾನವೆ – ಅವು ಕೀಬೋರ್ಡ್ ಬಳಕೆದಾರರಿಗೆ ಅವರು ಪುಟದಲ್ಲಿ ಎಲ್ಲಿ ಇದ್ದಾರೆ ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತವೆ. ಚೆನ್ನಾಗಿ ವಿನ್ಯಾಸ ಮಾಡಿದ ಫೋಕಸ್ ಸೂಚಕಗಳು ಎಲ್ಲರಿಗಾಗಿ ಪರಸ್ಪರ ಕ್ರಿಯೆಗಳನ್ನು ಸ್ಪಷ್ಟ ಮತ್ತು ನಿರೀಕ್ಷಿತವಾಗಿಸುವ ಮೂಲಕ ಅನುಭವವನ್ನು ಹೆಚ್ಚಿಸುತ್ತವೆ. + +**ಆಧುನಿಕ ಫೋಕಸ್ ಸೂಚಕ ಉತ್ತಮ ಪದ್ದತಿಗಳು:** + +```css +/* Enhanced focus styles that work across browsers */ +button:focus-visible { + outline: 2px solid #0066cc; + outline-offset: 2px; + box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.25); +} + +/* Remove focus outline for mouse users, preserve for keyboard users */ +button:focus:not(:focus-visible) { + outline: none; +} + +/* Focus-within for complex components */ +.card:focus-within { + box-shadow: 0 0 0 3px rgba(74, 144, 164, 0.5); + border-color: #4A90A4; +} + +/* Ensure focus indicators meet contrast requirements */ +.custom-focus:focus-visible { + outline: 3px solid #ffffff; + outline-offset: 2px; + box-shadow: 0 0 0 6px #000000; +} +``` + +**ಫೋಕಸ್ ಸೂಚಕ ಅಗತ್ಯಗಳು:** +- **ದೃಶ್ಯತೆ**: ಸುತ್ತಲೂ ಇರುವ ಅಂಶಗಳೊಂದಿಗೆ ಕನಿಷ್ಠ 3:1 ವಿರುದ್ಧಾಭ್ಯಾಸ ಅನುಪಾತ ಹೊಂದಿರಬೇಕು +- **ಗುಟ್ಟು**: ಸಂಪೂರ್ಣ ಅಂಶದ ಸುತ್ತ ಕನಿಷ್ಠ 2px ಅಗಲ +- **ಸ್ಥಾಯಿತ್ವ**: ಫೋಕಸ್ ಬೇರೆಡೆಗೆ ಹೋಗುವವರೆಗೆ ದೃಶ್ಯವಾಗಿರಬೇಕು +- **ತೆರೆಯು**: ಇತರ UI ಸ್ಥಿತಿಗಳಿಂದ ದೃಶ್ಯವಾಗಿ ಭಿನ್ನವಾಗಿರಬೇಕು + +> 💡 **ವಿನ್ಯಾಸ ಸಲಹೆ**: ಉತ್ತಮ ಫೋಕಸ್ ಸೂಚಕಗಳು ಬಹಳಷ್ಟು ಸಂದರ್ಭಗಳಲ್ಲಿ ಮತ್ತು ಹಿನ್ನಲೆಯ ಮೇಲೆ ಕಾಣುವಿಕೆ ಖಚಿತಪಡಿಸುವು 위해 ಹೊರರೇಖೆ, ಬಾಕ್ಸ್-ಶಾಡೋ ಮತ್ತು ಬಣ್ಣ ಬದಲಾವಣೆಗಳನ್ನು ಸಂಯೋಜಿಸುತ್ತವೆ. + +✅ **ನಿಮ್ಮ ಫೋಕಸ್ ಸೂಚಕಗಳನ್ನು ಪರಿಶೀಲಿಸಿ**: ನಿಮ್ಮ ವೆಬ್ಸೈಟ್ ಮೂಲಕ ಟ್ಯಾಬ್ ಮಾಡಿ ಯಾವ ಅಂಶಗಳಿಗೆ ಸ್ಪಷ್ಟ ಫೋಕಸ್ ಸೂಚಕಗಳಿವೆಯೋ ಗಮನಿಸಿ. ಯಾವುದಾದರೂ ಕಾಣಲು ಕഠಿಣವಾಗಿದೆಯಾ ಅಥವಾ ಸಂಪೂರ್ಣವಾಗಿ ಕಾಣುತ್ತಿವೆಯಾ? + +### ಅರ್ಥಪೂರ್ಣ HTML: ಪ್ರವೇಶಾರ್ಹತೆಯ ಅಡಿಪಾಯ + +ಅರ್ಥಪೂರ್ಣ HTML ನಿಮ್ಮ ವೆಬ್‌ಸೈಟ್‌ಗೆ ಸಹಾಯಕ ತಂತ್ರಜ್ಞಾನಗಳಿಗೆ GPS ವ್ಯವಸ್ಥೆಯನ್ನು ನೀಡಿದಂತೆ. ನೀವು ಉದ್ದೇಶಿತ ಉದ್ದೇಶಕ್ಕಾಗಿ ಸರಿಯಾದ HTML ಅಂಶಗಳನ್ನು ಬಳಸಿದಾಗ, ನೀವು ಸ್ಕ್ರೀನ್ ರೀಡರ್‌ಗಳು, ಕೀಬೋರ್ಡ್‌ಗಳು ಮತ್ತು ಇತರ ಸಾಧನಗಳಿಗೆ ವಿನ್ಯಾಸವನ್ನು ಸಮರ್ಥವಾಗಿ ನವೀಕರಿಸುವ ವಿವರವಾದ ಮಾರ್ಗಸೂಚಿಯನ್ನು ಒದಗಿಸುತ್ತಿದ್ದೀರಿ. + +ನನಗೆ ಹೀಗೊಂದು ಹೋಲಿಕೆ ಚೆನ್ನಾಗಿ ಅರ್ಥ ಮಾಡಿಸಿತು: ಅರ್ಥಪೂರ್ಣ HTML ಚೆನ್ನಾಗಿ ಆಡಳಿತವಾದ ಗ್ರಂಥಾಲಯ ಮತ್ತು ಸ್ಪಷ್ಟ ವರ್ಗಗಳೊಂದಿಗೆ ಸಹಾಯಕ ಚಿಹ್ನೆಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವಾಗಿದೆ, ಅದೇ ಸಮಯದಲ್ಲಿ ಪುಸ್ತಕಗಳು ಇದ್ದರೂ ಸುತ್ತುಸುತ್ತು ಬಾಡಿಗೆ ಮನೆಯಂತಿರುತ್ತದೆ. ಎರಡು ಸ್ಥಳಗಳಲ್ಲಿಯೂ ಒಂದೇ ಪುಸ್ತಕಗಳಿವೆ, ಆದರೆ ನೀವು ಯಾವದಲ್ಲಿ ಏನಾದರೂ ಹುಡುಕಲು ಬಯಸುತ್ತೀರಿ? + +```mermaid +flowchart TD + A[🏠 HTML ಡಾಕ್ಯುಮೆಂಟ್] --> B[📰 ಹೆಡರ್] + A --> C[🧭 ನ್ಯಾವ್] + A --> D[📄 ಮುಖ್ಯ] + A --> E[📋 ಫೂಟರ್] + + B --> B1[h1: საიಟ್ ಹೆಸರು
ಲೋಗೋ ಮತ್ತು ಬ್ರ್ಯಾಂಡಿಂಗ್] + C --> C1[ul: ನ್ಯಾವಿಗೇಶನ್
ಪ್ರಾಥಮಿಕ ಲಿಂಕ್ಸ್] + D --> D1[ಲೇಖನ: ವಿಷಯ
ವಿಭಾಗ: ಉಪವಿಭಾಗಗಳು] + D --> D2[ಅಸೈಡ್: ಸೈಡ್‌ಬಾರ್
ಸಂಬಂಧಿತ ವಿಷಯ] + E --> E1[ನ್ಯಾವ್: ಫೂಟರ್ ಲಿಂಕ್ಸ್
ಕಾಪಿರೈಟ್ ಮಾಹಿತಿ] + + D1 --> D1a[h1: ಪುಟ ಶೀರ್ಷಿಕೆ
h2: ಪ್ರಮುಖ ಭಾಗಗಳು
h3: ಉಪವಿಭಾಗಗಳು] + + style A fill:#e3f2fd + style B fill:#e8f5e8 + style C fill:#fff3e0 + style D fill:#f3e5f5 + style E fill:#e0f2f1 +``` +**ಪರವಾನಗಿ ಪಡೆದ ಪುಟದ ವಿನ್ಯಾಸದ ನಿರ್ಮಾಣದ ಕಠಿಣ ಕಲ್ಲುಗಳು:** + +```html + +
+

Your Site Name

+ +
+ +
+
+
+

Article Title

+

Published on

+
+ +
+

First Section

+

Content that relates to this section...

+
+ +
+

Second Section

+

More related content...

+
+
+ + +
+ + +``` + +**ಅರ್ಥಪೂರ್ಣ HTML ಪ್ರವೇಶಾರ್ಹತೆಯನ್ನು ಹೇಗೆ ಪರಿವರ್ತಿಸುತ್ತದೆ:** + +| ಅರ್ಥಪೂರ್ಣ ಅಂಶ | ಉದ್ದೇಶ | ಸ್ಕ್ರೀನ್ ರೀಡರ್ ಲಾಭ | +|----------------|---------|--------------------| +| `
` | ಪುಟ ಅಥವಾ ವಿಭಾಗದ ಶೀರ್ಷಿಕೆ | "ಬ್ಯಾನರ್ ಲ್ಯಾಂಡ್‌ಮಾರ್ಕ್" - ಬಿಂದು ಕಡೆಗೆ ದ್ರುತ ನವಿಗೇಶನ್ | +| `