درس هایی از اولین پروژه من

Summarize this content to 400 words in Persian Lang
ساخت یک دانلودر پوکمون CLI: درس هایی از اولین پروژه های من
انتقال از یک بازی بلک جک به یک دانلود کننده داده پوکمون CLI سفری پر ارزش (و فروتنانه) بوده است! در اینجا چیزی است که من یاد گرفتم، کجا گیر کردم، و چگونه هر پروژه به من به عنوان یک توسعه دهنده کمک کرد.
از Blackjack تا Pokémon: Building on Basics
وقتی روی بازی بلک جک خود کار می کردم، با کنترل جریان، منطق شرطی و مدیریت ورودی های کاربر آشنا شدم. بلک جک نسبتاً مستقل بود، اما به من اعتماد به نفس داد تا بتوانم ساختار پروژه را مدیریت کنم و مشکلات را در حین بروز اشکالزدایی کنم. این اصول در پروژه Pokémon CLI بسیار ارزشمند شدند، جایی که همه چیز کمتر در مورد قوانین بازی و بیشتر در مورد واکشی و مدیریت داده های خارجی بود. داشتن آن پایه به من کمک کرد تا روی حوزههای جدیدتر و پیچیدهتر تمرکز کنم، مانند عملکردهای همگام و مدیریت خطا.
توابع Async و مدیریت خطا: از تئوری تا عمل
در Pokémon CLI، یکی از بزرگترین جهش ها یادگیری کار با توابع async و مدیریت خطا به روشی واقعی بود. تمرینها مفید بودند، اما استفاده از async/wait در این پروژه نحوه رسیدگی به درخواستهای API را تثبیت میکند، و مطمئن میشود که اگر مشکلی پیش بیاید، برنامه من خراب نمیشود. هر بار که خطاها را مدیریت میکردم، یاد گرفتم که بهعنوان بخشی از فرآیند انتظارشان را داشته باشم، نه اینکه از آنها شکست بخورم. من مقادیر را برای محدود کردن مسائل خارج میکردم، بهخصوص زمانی که به نظر میرسید خطا به جایی غیرمنتظره اشاره میکند. به عنوان مثال، من یک خطای مرجع دریافت کردم که به نظر می رسید با تغییرات من ارتباطی نداشته باشد، اما متوجه شدم که به روز رسانی یک مرجع را در یک فایل دیگر از دست داده ام. متوجه شدم که ثبتنام کنسول یک تغییر بازی در ردیابی مشکلات به منبع آنها است.
خواندن مستندات: یک چالش کاملا جدید
یکی از سخت ترین چالش های من یادگیری خواندن اسناد برای بسته هایی مانند پرسشگر و مسیر بود. انگار به من گفته شد که موجودی افسانه ای را در یک جنگل بیابم بدون اینکه بدانم چه شکلی است. Inquirer پس از مدتی آزمایش قابل مدیریت بود، به خصوص وقتی صحبت از گزینه های اعتبار سنجی می شد. اما مسیر داستان متفاوتی بود – در ابتدا نمی دانستم چگونه به آن نزدیک شوم. در نهایت به دنبال منابع مقدماتی بیشتری گشتم تا بفهمم که مسیر چه کاری انجام می دهد و چرا می خواهم از آن استفاده کنم.
این روند به من آموخت که گاهی اوقات اشکالی ندارد که از اسناد رسمی در زمانی که احساس میشود طاقتفرسا است، فاصله بگیرم. من شروع کردم به جستجوی آموزشها و مثالهایی برای درک هدف هر بسته قبل از بازگشت به اسناد برای ویژگیهای خاص.
جمع بندی: نکات مهم و مراحل بعدی
این پروژه Pokémon CLI مانند یک پله از پیچیدگی بازی بلک جک من بود، و من را به رشد در مدیریت خطا، عملکردهای غیر همگام، و خواندن مستندات سوق داد. من همچنین در مورد ArrayBuffer و مدیریت داده های باینری یاد گرفتم که از آن برای ذخیره تصاویر به صورت محلی به جای واکشی URL استفاده می کردم. در حالی که من تمام مکانیزم های ArrayBuffer را به طور کامل درک نمی کنم، اما به اندازه کافی درک می کنم که از آن به طور موثر در این پروژه استفاده کنم.
با نگاهی به گذشته، هر پروژه بر اساس آخرین پروژه استوار است. در حالی که هنوز چیزهای زیادی برای یادگیری وجود دارد، دیدن تکامل این مهارت ها دلگرم کننده است. من هیجان زده هستم که پروژه بعدی خود را با اطمینان بیشتری انجام دهم (و شاید چند موجود افسانه ای کمتر برای ردیابی در اسناد)!
شما می توانید پروژه را در github من پیدا کنید!https://github.com/liamdewitt/pokemon-downloader-cli
ساخت یک دانلودر پوکمون CLI: درس هایی از اولین پروژه های من
انتقال از یک بازی بلک جک به یک دانلود کننده داده پوکمون CLI سفری پر ارزش (و فروتنانه) بوده است! در اینجا چیزی است که من یاد گرفتم، کجا گیر کردم، و چگونه هر پروژه به من به عنوان یک توسعه دهنده کمک کرد.
از Blackjack تا Pokémon: Building on Basics
وقتی روی بازی بلک جک خود کار می کردم، با کنترل جریان، منطق شرطی و مدیریت ورودی های کاربر آشنا شدم. بلک جک نسبتاً مستقل بود، اما به من اعتماد به نفس داد تا بتوانم ساختار پروژه را مدیریت کنم و مشکلات را در حین بروز اشکالزدایی کنم. این اصول در پروژه Pokémon CLI بسیار ارزشمند شدند، جایی که همه چیز کمتر در مورد قوانین بازی و بیشتر در مورد واکشی و مدیریت داده های خارجی بود. داشتن آن پایه به من کمک کرد تا روی حوزههای جدیدتر و پیچیدهتر تمرکز کنم، مانند عملکردهای همگام و مدیریت خطا.
توابع Async و مدیریت خطا: از تئوری تا عمل
در Pokémon CLI، یکی از بزرگترین جهش ها یادگیری کار با توابع async و مدیریت خطا به روشی واقعی بود. تمرینها مفید بودند، اما استفاده از async/wait در این پروژه نحوه رسیدگی به درخواستهای API را تثبیت میکند، و مطمئن میشود که اگر مشکلی پیش بیاید، برنامه من خراب نمیشود. هر بار که خطاها را مدیریت میکردم، یاد گرفتم که بهعنوان بخشی از فرآیند انتظارشان را داشته باشم، نه اینکه از آنها شکست بخورم. من مقادیر را برای محدود کردن مسائل خارج میکردم، بهخصوص زمانی که به نظر میرسید خطا به جایی غیرمنتظره اشاره میکند. به عنوان مثال، من یک خطای مرجع دریافت کردم که به نظر می رسید با تغییرات من ارتباطی نداشته باشد، اما متوجه شدم که به روز رسانی یک مرجع را در یک فایل دیگر از دست داده ام. متوجه شدم که ثبتنام کنسول یک تغییر بازی در ردیابی مشکلات به منبع آنها است.
خواندن مستندات: یک چالش کاملا جدید
یکی از سخت ترین چالش های من یادگیری خواندن اسناد برای بسته هایی مانند پرسشگر و مسیر بود. انگار به من گفته شد که موجودی افسانه ای را در یک جنگل بیابم بدون اینکه بدانم چه شکلی است. Inquirer پس از مدتی آزمایش قابل مدیریت بود، به خصوص وقتی صحبت از گزینه های اعتبار سنجی می شد. اما مسیر داستان متفاوتی بود – در ابتدا نمی دانستم چگونه به آن نزدیک شوم. در نهایت به دنبال منابع مقدماتی بیشتری گشتم تا بفهمم که مسیر چه کاری انجام می دهد و چرا می خواهم از آن استفاده کنم.
این روند به من آموخت که گاهی اوقات اشکالی ندارد که از اسناد رسمی در زمانی که احساس میشود طاقتفرسا است، فاصله بگیرم. من شروع کردم به جستجوی آموزشها و مثالهایی برای درک هدف هر بسته قبل از بازگشت به اسناد برای ویژگیهای خاص.
جمع بندی: نکات مهم و مراحل بعدی
این پروژه Pokémon CLI مانند یک پله از پیچیدگی بازی بلک جک من بود، و من را به رشد در مدیریت خطا، عملکردهای غیر همگام، و خواندن مستندات سوق داد. من همچنین در مورد ArrayBuffer و مدیریت داده های باینری یاد گرفتم که از آن برای ذخیره تصاویر به صورت محلی به جای واکشی URL استفاده می کردم. در حالی که من تمام مکانیزم های ArrayBuffer را به طور کامل درک نمی کنم، اما به اندازه کافی درک می کنم که از آن به طور موثر در این پروژه استفاده کنم.
با نگاهی به گذشته، هر پروژه بر اساس آخرین پروژه استوار است. در حالی که هنوز چیزهای زیادی برای یادگیری وجود دارد، دیدن تکامل این مهارت ها دلگرم کننده است. من هیجان زده هستم که پروژه بعدی خود را با اطمینان بیشتری انجام دهم (و شاید چند موجود افسانه ای کمتر برای ردیابی در اسناد)!
شما می توانید پروژه را در github من پیدا کنید!
https://github.com/liamdewitt/pokemon-downloader-cli