برنامه نویسی

چرا پروژه ام را لغو کردم

Summarize this content to 400 words in Persian Lang

پروژه

بنابراین ممکن است برخی از شما بدانید که من یک پروژه کوچک و ساده را اواخر سال گذشته در اوقات فراغت خود شروع کردم. من یک وب‌اپ کوچک را راه‌اندازی کردم که به زبان Angular نوشته شده بود تا با سیگنال‌های Angular جدید و برخی ویژگی‌های جدید دیگر بازی کنم. موضوع و هدف برنامه این بود که یک LOLDLE کلون (در اصل یک “حدس بزنید شخصیت” Riot Games' لیگ افسانه ها بازی) با یک پیچ کوچک – می توانید هر چند وقت یکبار که می خواهید بازی کنید. بازی اصلی فقط دارد یکی بازی در روز، اما برای هر فردی که بازی می کند یکسان است.

چرا متوقفش کردم

اول از همه، برنامه همانطور که در نظر گرفته شده بود کار می کرد که برای اکثر برنامه ها گردن شکن است (درسته؟). من در روزهای بد آب و هوا بسیار خوشحال شدم و به برخی از ویژگی های جدید دست پیدا کردم و تجربه ای در به کارگیری برنامه های Angular نیز به دست آوردم – که حتی در لیست من هم نبود.

پس وقت جمع بندی و نهایی کردن صفحه UI / UX را اصلاح کنید تا تا حدودی دلپذیر باشد و آن را به برخی از دوستان نشان دهید. وقتی آن را به اولین دوستم نشان دادم، آنها فوراً قهرمان تازه منتشر شده را که تازه بیرون آمده بود تایپ کردند و بعد متوجه شدم که در مجموعه داده من وجود ندارد.

زمانی که برنامه را در اکتبر 23 راه اندازی کردم، یک API داشتم که بعد از حد آستانه هزینه داشت، بنابراین داده های مورد نیاز را در آن زمان ذخیره کردم و از آن برای برنامه خود به صورت محلی استفاده کردم، اما از آن زمان هرگز داده ها را به روز نکردم.

بنابراین من روی دستگاه خود نشستم و سعی کردم API – 404 را پرس و جو کنم. API تغییر کرد؟ وب سایتشون رو چک کردم متوجه شدم که کارش قطع شده. من به سرعت API های دیگر را بررسی کردم اما متأسفانه چیزی مشابه پیدا نکردم.

چند روزی به این مشکل فکر کردم و به این نتیجه رسیدم که نگهداری/توسعه این برنامه کار بسیار زیادی است. نه تنها در جایی که حدود 15 قهرمان وجود داشت (API داده های قدیمی نیز داشت – اما من همین الان متوجه شدم) بلکه اطلاعاتی درباره Champions که نشان می داد نیز از دست داده بود. اگر بخواهم کاملاً صادق باشم، 168 قهرمان با تقریباً 10 داده احتمالاً یک روز طول می کشد تا دوباره ایجاد کنم، اما من ناامید شده و من فشار دادم last commit در اسفند ماه سال جاری

چرا ادامه دادم

خوب من هنوز بازی را دوست داشتم و صادقانه بگویم که احساس احمقانه ای داشتم. چگونه Loldle اصلی می تواند داده ها را به نحوی دریافت کند و من نتوانستم؟ من بارها و بارها سایت را چک کردم و از آن احساس بدی کردم. من درخواست‌های http را که به سرور می‌داد بررسی کردم و متوجه نشدم که داده‌ها از کجا آمده‌اند، یا آن‌ها را به شکلی مبهم کردند که من ندیدم یا جادویی اتفاق افتاد.

جادو شما را دوبار گول نمی زند. گاهی اوقات اینطور است، اما اگر فرصتی پیدا کنید که بارها و بارها به آن نگاه کنید، ممکن است متوجه شوید که چگونه انجام می شود. بنابراین من آنجا نشستم و آن را به قطعات کوچکی تقسیم کردم تا دوست دخترم درباره این مشکل بفهمد. من به او در مورد Frontend، Backend، Client، Server، Requests و نحوه عملکرد عادی وب سایت ها به او گفتم. و خیلی سریع گفت: “اگر هیچ درخواستی وجود ندارد، آنگاه Frontend باید قبلاً در مورد آن بداند، درست است؟” – درسته!

این پدیده “Rubberducking” نام دارد. سعی کنید آن را به بخش‌هایی با اندازه‌های معقول تقسیم کنید و در مورد آن با یک اردک لاستیکی صحبت کنید (یا با هر چیز دیگری – به نظر می‌رسد یک دوست دختر نیز این کار را انجام می‌دهد).

بنابراین من Frontend را بررسی کردم. با باز کردن DevTools مرورگر من، این بار نه به تب کنسول یا شبکه، بلکه به Debugger بروید. این برگه همچنین فایل های دانلود شده .html و .js و محتوای آنها را نشان می دهد. من یک فایل پیدا کردم که حاوی نام قهرمانان بود – همه آنها 167! (بله، Loldle اصلی در مورد نسخه‌های جدید کمی کند است، و بنابراین آنها قهرمان جولای را انتخاب نکردند).

من نه تنها ترجمه قهرمانان مذکور را پیدا کردم، بلکه اطلاعات مورد نیاز خود را نیز پیدا کردم: جنسیت، نژاد، منطقه و تاریخ انتشار.

بنابراین من آن آرایه عظیم را همراه با داده‌هایی که قبلاً داشتم کپی کردم، ایجاد یک اسکریپت کوچک که آن آرایه‌ها را در one-et voila ادغام می‌کرد آسان بود!

به سرعت 2 ویژگی جدید اضافه کرد و نسخه Angular را نیز به روز کرد – و ما اینجا هستیم. نگاهی به آخرین نسخه با به روزترین اطلاعات.

کمک کنید

اگر این پست را خواندید و آن را سرگرم‌کننده، الهام‌بخش یا حتی جالب دیدید، شنیدن بازخورد برای من اهمیت زیادی دارد.اینجا نظر بدهید یا Github Repo یا My Lodle App را بررسی کنید.

tl;dr

داده‌هایم را از دست دادم زیرا API که استفاده می‌کردم متوقف شد. جدید پیدا نکردممن Girlfried خود را Rubberduck کردم تا متوجه شوم که داده ها دقیقاً همان جایی است که من به مدت 5 ماه به دنبال آن بودم. من از داده های جدید استفاده کردم و برنامه خود را به روز کردم. حالا برو کل مطلب رو بخون و این لینک رو چک کن و منو کباب کن: https://github.com/Suneeh/LoldleUnlimited

پروژه

بنابراین ممکن است برخی از شما بدانید که من یک پروژه کوچک و ساده را اواخر سال گذشته در اوقات فراغت خود شروع کردم. من یک وب‌اپ کوچک را راه‌اندازی کردم که به زبان Angular نوشته شده بود تا با سیگنال‌های Angular جدید و برخی ویژگی‌های جدید دیگر بازی کنم. موضوع و هدف برنامه این بود که یک LOLDLE کلون (در اصل یک “حدس بزنید شخصیت” Riot Games' لیگ افسانه ها بازی) با یک پیچ کوچک – می توانید هر چند وقت یکبار که می خواهید بازی کنید. بازی اصلی فقط دارد یکی بازی در روز، اما برای هر فردی که بازی می کند یکسان است.

چرا متوقفش کردم

اول از همه، برنامه همانطور که در نظر گرفته شده بود کار می کرد که برای اکثر برنامه ها گردن شکن است (درسته؟). من در روزهای بد آب و هوا بسیار خوشحال شدم و به برخی از ویژگی های جدید دست پیدا کردم و تجربه ای در به کارگیری برنامه های Angular نیز به دست آوردم – که حتی در لیست من هم نبود.

پس وقت جمع بندی و نهایی کردن صفحه UI / UX را اصلاح کنید تا تا حدودی دلپذیر باشد و آن را به برخی از دوستان نشان دهید. وقتی آن را به اولین دوستم نشان دادم، آنها فوراً قهرمان تازه منتشر شده را که تازه بیرون آمده بود تایپ کردند و بعد متوجه شدم که در مجموعه داده من وجود ندارد.

زمانی که برنامه را در اکتبر 23 راه اندازی کردم، یک API داشتم که بعد از حد آستانه هزینه داشت، بنابراین داده های مورد نیاز را در آن زمان ذخیره کردم و از آن برای برنامه خود به صورت محلی استفاده کردم، اما از آن زمان هرگز داده ها را به روز نکردم.

بنابراین من روی دستگاه خود نشستم و سعی کردم API – 404 را پرس و جو کنم. API تغییر کرد؟ وب سایتشون رو چک کردم متوجه شدم که کارش قطع شده. من به سرعت API های دیگر را بررسی کردم اما متأسفانه چیزی مشابه پیدا نکردم.

چند روزی به این مشکل فکر کردم و به این نتیجه رسیدم که نگهداری/توسعه این برنامه کار بسیار زیادی است. نه تنها در جایی که حدود 15 قهرمان وجود داشت (API داده های قدیمی نیز داشت – اما من همین الان متوجه شدم) بلکه اطلاعاتی درباره Champions که نشان می داد نیز از دست داده بود. اگر بخواهم کاملاً صادق باشم، 168 قهرمان با تقریباً 10 داده احتمالاً یک روز طول می کشد تا دوباره ایجاد کنم، اما من ناامید شده و من فشار دادم last commit در اسفند ماه سال جاری

چرا ادامه دادم

خوب من هنوز بازی را دوست داشتم و صادقانه بگویم که احساس احمقانه ای داشتم. چگونه Loldle اصلی می تواند داده ها را به نحوی دریافت کند و من نتوانستم؟ من بارها و بارها سایت را چک کردم و از آن احساس بدی کردم. من درخواست‌های http را که به سرور می‌داد بررسی کردم و متوجه نشدم که داده‌ها از کجا آمده‌اند، یا آن‌ها را به شکلی مبهم کردند که من ندیدم یا جادویی اتفاق افتاد.

جادو شما را دوبار گول نمی زند. گاهی اوقات اینطور است، اما اگر فرصتی پیدا کنید که بارها و بارها به آن نگاه کنید، ممکن است متوجه شوید که چگونه انجام می شود. بنابراین من آنجا نشستم و آن را به قطعات کوچکی تقسیم کردم تا دوست دخترم درباره این مشکل بفهمد. من به او در مورد Frontend، Backend، Client، Server، Requests و نحوه عملکرد عادی وب سایت ها به او گفتم. و خیلی سریع گفت: “اگر هیچ درخواستی وجود ندارد، آنگاه Frontend باید قبلاً در مورد آن بداند، درست است؟” – درسته!

این پدیده “Rubberducking” نام دارد. سعی کنید آن را به بخش‌هایی با اندازه‌های معقول تقسیم کنید و در مورد آن با یک اردک لاستیکی صحبت کنید (یا با هر چیز دیگری – به نظر می‌رسد یک دوست دختر نیز این کار را انجام می‌دهد).

بنابراین من Frontend را بررسی کردم. با باز کردن DevTools مرورگر من، این بار نه به تب کنسول یا شبکه، بلکه به Debugger بروید. این برگه همچنین فایل های دانلود شده .html و .js و محتوای آنها را نشان می دهد. من یک فایل پیدا کردم که حاوی نام قهرمانان بود – همه آنها 167! (بله، Loldle اصلی در مورد نسخه‌های جدید کمی کند است، و بنابراین آنها قهرمان جولای را انتخاب نکردند).

من نه تنها ترجمه قهرمانان مذکور را پیدا کردم، بلکه اطلاعات مورد نیاز خود را نیز پیدا کردم: جنسیت، نژاد، منطقه و تاریخ انتشار.

بنابراین من آن آرایه عظیم را همراه با داده‌هایی که قبلاً داشتم کپی کردم، ایجاد یک اسکریپت کوچک که آن آرایه‌ها را در one-et voila ادغام می‌کرد آسان بود!

به سرعت 2 ویژگی جدید اضافه کرد و نسخه Angular را نیز به روز کرد – و ما اینجا هستیم. نگاهی به آخرین نسخه با به روزترین اطلاعات.

کمک کنید

اگر این پست را خواندید و آن را سرگرم‌کننده، الهام‌بخش یا حتی جالب دیدید، شنیدن بازخورد برای من اهمیت زیادی دارد.
اینجا نظر بدهید یا Github Repo یا My Lodle App را بررسی کنید.

tl;dr

داده‌هایم را از دست دادم زیرا API که استفاده می‌کردم متوقف شد.
جدید پیدا نکردم
من Girlfried خود را Rubberduck کردم تا متوجه شوم که داده ها دقیقاً همان جایی است که من به مدت 5 ماه به دنبال آن بودم.
من از داده های جدید استفاده کردم و برنامه خود را به روز کردم.
حالا برو کل مطلب رو بخون و این لینک رو چک کن و منو کباب کن: https://github.com/Suneeh/LoldleUnlimited

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا