روز 1: پایه گذاری برای Visualizer DSA من

امروز ، سفر خود را برای ایجاد یک Visualizer لذت بخش DSA آغاز کردم. من همیشه ساختار داده ها و الگوریتم های چالش برانگیز را پیدا کرده ام و اغلب از تمرینات تکراری خسته شده ام. همانطور که یک برنامه نویس یک بار گفت ، “بهترین راه برای یادگیری برنامه نویسی از طریق اجرای عملی است.” بنابراین ، من تصمیم گرفتم از یک رویکرد مبتنی بر پروژه برای یادگیری DSA استفاده کنم و مبارزات خود را به یک پروژه خلاق تبدیل کنم.
پشته فنی نهایی
بعد از طوفان مغزی و تحقیقات زیادی (با کمی کمک از دوست من ، چتپپ) ، من پشته فنی زیر را نهایی کردم:
1. چارچوب Frontend: با Next.js واکنش نشان دهید
- چرا؟
- این یک معماری مدرن و مؤلفه محور را ارائه می دهد که برای UI های تعاملی مناسب است و در صورت لزوم از ارائه سمت سرور پشتیبانی می کند.
2. کتابخانه تجسم: d3.js
- چرا؟
- ایده آل برای ساخت تجسمات پویا و داده محور که الگوریتم ها را با انیمیشن های سیال به زندگی می رساند.
3. چارچوب یک ظاهر طراحی شده: Tailwind CSS و Shadcn
- چرا؟
- این فرایند طراحی را با کلاسهای کاربردی اول ساده تر می کند و با کمترین تلاش ، ظاهری مدرن و پاسخگو را تضمین می کند. -شادن؟ چرا؟ چون این بز است !!! من آن را دوست دارم! برای کمک های جذاب خود به Shadcn فریاد بزنید.
4. ابزار Bundler & Development: سریع
- چرا؟
- یک تجربه توسعه سریع و لاغر با جایگزینی ماژول داغ برای بازخورد سریع در طول توسعه فراهم می کند.
5. مدیریت دولت: حالت داخلی React (یا در صورت لزوم بعداً)
- چرا؟
- مدیریت دولت بومی React در حال حاضر کافی است. اگر برنامه خواستار تعامل پیچیده تر باشد ، می توانم مقیاس را تغییر دهم.
6. چارچوب های آزمایش:
- JEST: برای اجزای آزمایش واحد.
- Cypress: برای آزمایش پایان به پایان جریان کاربر.
7. پلت فرم استقرار:
- Vercel یا NetLify: هر دو استقرار سریع و کارآمد با پشتیبانی داخلی CI/CD ارائه می دهند.
برنامه ریزی و طراحی
پس از نهایی کردن پشته فنی ، من برنامه ریزی برای موارد ضروری و ایجاد “طراحی اصلی خود” را شروع کردم (اگر می دانید ، می دانید). با تشکر فراوان از Tomasz Gajda برای الهام بخش شگفت انگیز طراحی فیگما!
من عملکرد را طوفان کردم و بهترین روش برای تجسم ساختار داده ها و الگوریتم ها را مورد بحث قرار دادم. من در نظر گرفتم که آیا تعامل کاربر را شامل می شود یا آن را کاملاً بصری نگه می دارم. این یک چالش واقعی بود ، اما ناجی من ، چتگپ ، به من کمک کرد تا بین ساخت حالت های جداگانه برای “ساخت” و “تجسم” یا ترکیب آنها در یک فرآیند ترکیبی تصمیم بگیرم. من رویکرد ترکیبی را انتخاب کردم.
از منزل خارج شدن
با برنامه ریزی انجام شده و دید روشن در محل ، من به سمت آنچه که امیدوارم یک خواب خوب شب باشد ، رفتم. اوه ، صبر کنید – ساعت 4 صبح است. حدس بزنید که بیشتر شبیه “صبح بخیر” است زیرا من ساعات اولیه را با هیجان برای سفر پیش رو در آغوش می گیرم!
برای نظرات و پیشنهادات باز است
من مشتاق شنیدن افکار و بازخورد شما در مورد سفر خود برای ایجاد یک Visualizer DSA هستم. خواه در مورد پشته فنی ، گزینه های طراحی یا هر جنبه دیگری از پروژه باشد ، بینش شما بسیار ارزشمند است. لطفا در صورت تمایل نظرات و پیشنهادات خود را به اشتراک بگذارید!
با من ارتباط برقرار کنید
من از ارتباط با توسعه دهندگان دیگر و همکاران بالقوه هیجان زده ام! شما می توانید پروژه را پیدا کنید و سفر من را در GitHub و سایر سیستم عامل های اجتماعی دنبال کنید:
لوب: https://github.com/shravan250
وابسته به لینکدین: https://www.linkedin.com/in/shravan-bobade/
احساس راحتی کنید ، افکار خود را به اشتراک بگذارید ، یا در این پروژه هیجان انگیز همکاری کنید!