انتشار نهایی – انجمن DEV

Summarize this content to 400 words in Persian Lang
در نهایت، مشارکت من آماده است تا در شاخه اصلی پروژه ادغام شود. بعد از کلی تحقیق و تست، با توجه به اینکه این اولین پروژه ای بود که با Vue کار کردم، الان باید همه چیز خوب باشه. پروژه، Aibyss که من روی آن کار کردم، بازی است که در آن بازیکن/کاربر یک ربات کنترلشده با هوش مصنوعی دارد که در آن میتوانند کد بنویسند تا نحوه رفتار و دوام آن را در برابر سایر رباتهای کنترلشده هوش مصنوعی تغییر دهند.
مسئله: feat: یک دکمه اضافه کنید که در آن به ربات نزدیک می شود و آن را دنبال می کند.
این بسط مشکلی بود که قبلاً روی آن کار کرده بودم، Zoom in feature. زمانی که من روی آن ویژگی کار میکردم، تصمیم گرفتیم آن را به 2 تقسیم کنیم. برای کاهش دامنه موضوع. آن را به ویژگی فقط زوم در و سپس دنبال + بزرگنمایی که در آن موضوع من برای این نسخه کار کردم تقسیم شده است.
بنابراین برای این نسخه باید عملکرد جدیدی ایجاد کنم که دوربین را وادار می کند ربات کنترل شده با هوش مصنوعی کاربران را دنبال کند و بر اساس اندازه آن نزدیک به آن زوم کند. از آنجایی که این افزونه یک شماره قبلی بود، می توانم از برخی از عملکردهای آن استفاده کنم و آن را برای این نسخه ادغام کنم. اگرچه من باید کل ویژگی بزرگنمایی را تغییر دهم تا بتوانم برای این نسخه استفاده کنم و آن را به طور کلی برای سایر ویژگی های بالقوه ای که ممکن است به آن نیاز داشته باشند قابل استفاده کنم. در حالی که من در آن هستم، نگهدارنده پیشنهاد داد آن را به یک فایل util منتقل کنید.
در مورد ویژگی فالو، باید مختصات ربات را بگیرم و از آن برای تنظیم مختصات دوربین استفاده کنم. این کار چندین بار انجام داد زیرا باید مختصات دوربین را در هر فریم ترسیم به روز کنم. برای اینکه آن را به راحتی دنبال کنید. من همچنین نیاز دارم که نمای دوربین خارج از مرزهای صحنه مورد نظر باشد. بنابراین باید مختصات را تنظیم و جبران کنم تا خارج نشود. سطح بزرگنمایی در مقیاس نیز باید بر اساس اندازه ربات کاربران تنظیم شود. دوربین باید در سطح زوم مناسب باشد تا ربات برای بزرگنمایی در نمای دوربین خیلی بزرگ نباشد.
نسخه ی نمایشی نهایی:
این نسخه عاری از هیچ مشکلی نبود. ما با خطایی مواجه می شویم که نمی توانیم بفهمیم چه چیزی باعث آن شده است. من یک کار در مورد آن دارم اما ایده آل نیست و ترجیح می دهم که خطا برطرف شود.
خطا:
بررسی من منجر به این شد که یک خط مشخص هنگام بارگذاری صفحه صفر در نظر گرفته شود، اما آنها مقداردهی اولیه شده اند و قبل از وقوع خطا دارای مقادیر هستند. مگر اینکه ابتدا اقدامات دیگری مانند زوم کردن با چرخ ماوس انجام شود، سپس همه چیز خوب کار می کند. در حال حاضر آن را به عنوان یک باگ با Vue در نظر میگرفتیم، زیرا همه چیز باید مقداردهی اولیه شود، اما چیزی آنها یا چیز دیگری را خالی در نظر میگیرد.
چیزی که یاد گرفتم
برای شروع، یاد گرفتم که با Vue، برخی از Tailwind Css و Typescript کار کنم. من قبلاً روی این چیزها کار نکردم و خوشحالم که آنها را در مهارت های فنی خود گنجانده ام. اگرچه مهمترین چیزی که از این موضوع یاد گرفتم این است که چگونه با شخص دیگری کار کنم. برای این یکی، من خوش شانس بودم که یک نگهدارنده قابل ارتباط برای این پروژه منبع باز دارم. او با من صبور بود، با توجه به اینکه من در Vue و تایپ اسکریپت تازه کار هستم. من دوست دارم که او با اضافاتی که من انجام می دهم سختگیر بود. این باعث شد که من در مورد نحوه اجرای کد خود دقیق تر باشم و همه چیز باید از استانداردهای کدنویسی آنها پیروی کند. باعث شد این موضوع را جدیتر بگیرم و باید این را یک کار حرفهای بدانم.
من همچنین از این موضوع اهمیت یک مشخصات خوب را یاد گرفتم که ای کاش این یکی داشت. بیشتر موارد در این نسخه بر روی فرضیاتی کار کردم که چه چیزی باید گنجانده شود یا نه. بعد از اینکه من یک درخواست کشش دادم، نگهدار پیشنهادها و تغییراتی را اضافه کرد، که من خوشحالم که انجام می دهم، اما زمان ادغام روابط عمومی من در main را افزایش می دهد. این منجر به اتلاف زمان غیرضروری میشود، زیرا میتوانم برای همه اینها از ابتدا یا بین تکرارها کار کنم. به خصوص که زمان ارتباط بین هر ورودی حداقل یک روز است.
به طور کلی، این یک تجربه یادگیری عالی برای من بود و نمی ترسم چیزی جدید. ابتدا می ترسیدم روی این کار کار کنم، اما معلوم شد که آنقدرها هم بد نبوده است. فقط باید اولین قدم برای آن برداشته شود و همه چیز آسان می شود. اولین قدم همیشه سخت ترین است.
در نهایت، مشارکت من آماده است تا در شاخه اصلی پروژه ادغام شود. بعد از کلی تحقیق و تست، با توجه به اینکه این اولین پروژه ای بود که با Vue کار کردم، الان باید همه چیز خوب باشه. پروژه، Aibyss که من روی آن کار کردم، بازی است که در آن بازیکن/کاربر یک ربات کنترلشده با هوش مصنوعی دارد که در آن میتوانند کد بنویسند تا نحوه رفتار و دوام آن را در برابر سایر رباتهای کنترلشده هوش مصنوعی تغییر دهند.
مسئله: feat: یک دکمه اضافه کنید که در آن به ربات نزدیک می شود و آن را دنبال می کند.
این بسط مشکلی بود که قبلاً روی آن کار کرده بودم، Zoom in feature. زمانی که من روی آن ویژگی کار میکردم، تصمیم گرفتیم آن را به 2 تقسیم کنیم. برای کاهش دامنه موضوع. آن را به ویژگی فقط زوم در و سپس دنبال + بزرگنمایی که در آن موضوع من برای این نسخه کار کردم تقسیم شده است.
بنابراین برای این نسخه باید عملکرد جدیدی ایجاد کنم که دوربین را وادار می کند ربات کنترل شده با هوش مصنوعی کاربران را دنبال کند و بر اساس اندازه آن نزدیک به آن زوم کند. از آنجایی که این افزونه یک شماره قبلی بود، می توانم از برخی از عملکردهای آن استفاده کنم و آن را برای این نسخه ادغام کنم. اگرچه من باید کل ویژگی بزرگنمایی را تغییر دهم تا بتوانم برای این نسخه استفاده کنم و آن را به طور کلی برای سایر ویژگی های بالقوه ای که ممکن است به آن نیاز داشته باشند قابل استفاده کنم. در حالی که من در آن هستم، نگهدارنده پیشنهاد داد آن را به یک فایل util منتقل کنید.
در مورد ویژگی فالو، باید مختصات ربات را بگیرم و از آن برای تنظیم مختصات دوربین استفاده کنم. این کار چندین بار انجام داد زیرا باید مختصات دوربین را در هر فریم ترسیم به روز کنم. برای اینکه آن را به راحتی دنبال کنید. من همچنین نیاز دارم که نمای دوربین خارج از مرزهای صحنه مورد نظر باشد. بنابراین باید مختصات را تنظیم و جبران کنم تا خارج نشود. سطح بزرگنمایی در مقیاس نیز باید بر اساس اندازه ربات کاربران تنظیم شود. دوربین باید در سطح زوم مناسب باشد تا ربات برای بزرگنمایی در نمای دوربین خیلی بزرگ نباشد.
نسخه ی نمایشی نهایی:
این نسخه عاری از هیچ مشکلی نبود. ما با خطایی مواجه می شویم که نمی توانیم بفهمیم چه چیزی باعث آن شده است. من یک کار در مورد آن دارم اما ایده آل نیست و ترجیح می دهم که خطا برطرف شود.
خطا:
بررسی من منجر به این شد که یک خط مشخص هنگام بارگذاری صفحه صفر در نظر گرفته شود، اما آنها مقداردهی اولیه شده اند و قبل از وقوع خطا دارای مقادیر هستند. مگر اینکه ابتدا اقدامات دیگری مانند زوم کردن با چرخ ماوس انجام شود، سپس همه چیز خوب کار می کند. در حال حاضر آن را به عنوان یک باگ با Vue در نظر میگرفتیم، زیرا همه چیز باید مقداردهی اولیه شود، اما چیزی آنها یا چیز دیگری را خالی در نظر میگیرد.
چیزی که یاد گرفتم
برای شروع، یاد گرفتم که با Vue، برخی از Tailwind Css و Typescript کار کنم. من قبلاً روی این چیزها کار نکردم و خوشحالم که آنها را در مهارت های فنی خود گنجانده ام. اگرچه مهمترین چیزی که از این موضوع یاد گرفتم این است که چگونه با شخص دیگری کار کنم. برای این یکی، من خوش شانس بودم که یک نگهدارنده قابل ارتباط برای این پروژه منبع باز دارم. او با من صبور بود، با توجه به اینکه من در Vue و تایپ اسکریپت تازه کار هستم. من دوست دارم که او با اضافاتی که من انجام می دهم سختگیر بود. این باعث شد که من در مورد نحوه اجرای کد خود دقیق تر باشم و همه چیز باید از استانداردهای کدنویسی آنها پیروی کند. باعث شد این موضوع را جدیتر بگیرم و باید این را یک کار حرفهای بدانم.
من همچنین از این موضوع اهمیت یک مشخصات خوب را یاد گرفتم که ای کاش این یکی داشت. بیشتر موارد در این نسخه بر روی فرضیاتی کار کردم که چه چیزی باید گنجانده شود یا نه. بعد از اینکه من یک درخواست کشش دادم، نگهدار پیشنهادها و تغییراتی را اضافه کرد، که من خوشحالم که انجام می دهم، اما زمان ادغام روابط عمومی من در main را افزایش می دهد. این منجر به اتلاف زمان غیرضروری میشود، زیرا میتوانم برای همه اینها از ابتدا یا بین تکرارها کار کنم. به خصوص که زمان ارتباط بین هر ورودی حداقل یک روز است.
به طور کلی، این یک تجربه یادگیری عالی برای من بود و نمی ترسم چیزی جدید. ابتدا می ترسیدم روی این کار کار کنم، اما معلوم شد که آنقدرها هم بد نبوده است. فقط باید اولین قدم برای آن برداشته شود و همه چیز آسان می شود. اولین قدم همیشه سخت ترین است.