Dev Perfects
40 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from کداکسپلور | CodeExplore (D@n!)
😔 راهنمای بقا در دسکتاپ : از صفر تا صد گرفتن پروژه (و زنده موندن!)

سلام رفقای کد به دست (یا دست به کد) ! امروز می‌خوایم درباره یه موضوع حیاتی حرف بزنیم: چطوری تو دنیای وحشی فریلنسری، یه پروژه بگیریم و زنده بمونیم تا تهش!

1️⃣ شکار پروژه ، خودتون رو آماده کنید (مثل یه گلادیاتور، ولی با لپ‌تاپ و ماوس):

⚫️ مهارت‌هاتون رو صیقل بدید (نه اینکه فقط Hello World بلد باشید و ادعای فول استک بودن کنیدا)

⚫️ یه رزومه درست و حسابی بسازید (حتی اگه شده پروژه‌های شخصی و الکی)
رزومه‌تون رو طوری بنویسید انگار دارید برای اسکار نامزد می‌شید 😬🤫

⚫️ جایی که پروژه‌ها پرسه می‌زنن:
- پلتفرم‌های فریلنسری مثل Upwork, Freelancer, Fiverr (اینجا جنگله، مراقب شیرها باشید (و همچنین کفتار ها😂)!)
- جاهایی مثل پونیشا هم هست ، که برای شروع خوبه ، اما دستمزدا عجیبه
- گروه‌های لینکدین و فیسبوک (بله، فیسبوک هنوزم زنده‌ست!)
- وب‌سایت‌های محلی و فروم‌های تخصصی (شاید یه گنج پنهان پیدا کنید)
و مهم تر از همه جا تلگرام دوست داشتنیمون 🙄

⚫️ پیشنهاد پروژه بدید (مثل خواستگاری، ولی برای کار):
- درخواست هارو شخصی‌سازی کنید (نه اینکه کپی پیست کنید و فقط اسم طرف رو عوض کنید!)
- نمونه کار مرتبط بفرستید (نه اینکه پروژه موز فروشی رو برای یه شرکت فناوری نانو بفرستید ⛔️)
- قیمت منطقی پیشنهاد بدید (نه اونقدر پایین که از گشنگی بمیرید، نه اونقدر بالا که طرف سکته کنه )
- یاد بگیرید "نه" بگید (حتی به اون پروژه وسوسه‌انگیزی که می‌دونید از پسش برنمیاید)


2️⃣مذاکره (یا چطور سر خودمون کلاه نره)

⚫️ اولین تماس (مثل قرار اول، ولی بدون گل و شیرینی):
- سوال بپرسید (نه اینکه فقط بله و چشم بگید)
- شفاف‌سازی کنید (هر جمله ایی که میگید تاثیر گذاره)
- زمان‌بندی و بودجه رو مشخص کنید (وگرنه پروژه‌تون مثل سریال‌های ترکی کش میاد)

⚫️ قرارداد (بله، اون کاغذ خسته‌کننده‌ای که همه ازش فرار می‌کنن):
- حتماً قرارداد ببندید (حتی اگه طرف مقابل بابابزرگتون باشه!)
- جزئیات رو مشخص کنید (وگرنه بعداً می‌فهمید قراره موشک هم بسازید)
- شرایط پرداخت رو دقیق بنویسید (چون پول حلال مشکلاته، ولی بی‌پولی خودش یه مشکل بزرگه)
- حتما 50 تا 60 درصد هزینه پروژه رو به عنوان پیش پرداخت بگیرید (وگرنه ممکنه آخرش فقط با یه "دمتم گرم" خدافظی کنید)


3️⃣ انجام پروژه (یا چطور شب‌ها بخوابیم وقتی کابوس باگ می‌بینیم)

⚫️ مدیریت پروژه (مثل بازی Sims، ولی با کد):
- زمان‌بندی کنید (نه اینکه روز آخر یادتون بیفته پروژه دارید)
- ارتباط منظم داشته باشید (کارفرما رو تو خماری نذارید، بهش آپدیت بدید)
- از ابزارهای مدیریت پروژه استفاده کنید (نه اینکه همه چی رو رو کاغذ یادداشت کنید و بعد گمش کنید 🤩)

⚫️ کدنویسی (بالاخره رسیدیم به قسمت خوشمزه‌!):
- تمیز و مرتب کد بزنید (جوری که انگار قراره بعداً خودتون بخونید، چون احتمالاً مجبور می‌شید!)
- مستندسازی کنید (بله، اون کامنت‌هایی که همیشه می‌گید بعداً می‌نویسم ...)
- تست کنید، تست کنید، و باز هم تست کنید (وگرنه بعداً جای اشک و آه و ناله دارید)


4️⃣ تحویل پروژه (یا لحظه حقیقت)

⚫️ بازبینی نهایی (مثل چک کردن جیب‌ها قبل از شستن لباس):
- همه چیز رو دوباره چک کنید (حتی اون قسمتی که مطمئنید درسته)
- یه نفر دیگه هم نگاه کنه (چهار تا چشم بهتر از دوتاست)
- آماده باشید برای سوالات (چون یهو یادشون میاد یه ویژگی دیگه هم می‌خواستن ، انگار ما مسخرشونیم 🫠 ، تو قرارداد تعداد ویژگی های اضافی رو مشخص کنید که یدفعه پول یه فروشگاه ساده رو نگیرید ولی آمازون بزنید)

⚫️ تحویل (لحظه‌ای که قلبتون میاد تو دهنتون یا جای دیگتون):
- همه چیز رو مرتب و منظم تحویل بدید (نه اینکه فایل‌ها رو بریزید تو یه فولدر به اسم "آخرین ورژن نهایی ،واقعیه این دفعه جدی")
- آموزش بدید (جوری که انگار دارید به مادربزرگتون یاد میدید چجوری از لینوکس استفاده کنه)
- برای تغییرات احتمالی آماده باشید (چون همیشه یه چیزی هست که یادشون رفته بگن و حتما بررسی کنید که چیز اضافه ایی نباشه)


5️⃣ دریافت پول (یا چرا اصلاً این کار رو شروع کردیم❤️)

⚫️ فاکتور (اون برگه جادویی که قراره تبدیل به پول بشه):
- دقیق و کامل بنویسید (نه اینکه بزنید :یه چیزایی کد زدیم، لطفاً پولشو بدید)
- زمان پرداخت رو مشخص کنید (وگرنه تا آخر عمر منتظر می‌مونید)
- روش پرداخت رو هماهنگ کنید (چک، کارت به کارت، ارز دیجیتال، یا شاید هم گونی سیب‌زمینی!)

⚫️ پیگیری پرداخت (یا هنر یادآوری بدون اینکه طرف رو عصبانی کنید):
- مؤدبانه پیگیری کنید (نه اینکه هر روز زنگ بزنید و گریه کنید)
- اگه تأخیر شد، علتش رو بپرسید (شاید واقعاً مشکلی پیش اومده و تو گرفتاریه!)
- برای موارد اضطراری آماده باشید

#programming #project #freelancer
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from کداکسپلور | CodeExplore (𝙰𝚖𝚒𝚗)
چند ماهیه دارم روی یه پروژه اوپن سورس کار میکنم برای دپلوی کردن پروژه هایی که بک اند لاراول دارن.
قضیه از اون جایی شروع شد که پارسال بررسی که کردم دیدم سولوشن استفاده از سرویس های کم کیفیت و گرون داخلی هست و یا سلف هاست که منابع موجود اوپن سورس و آموزش ها اکثرا خیلی ضعیف، ناقص و یا دارای اشتباهات اساسی هست و عملا بردرد پروداکشن نمیخورن منم خورد خورد کارو شروع کردم و الان به جای خیلی خوبی رسیدم.
چون پروداکشن خیلی حساسه میخوام که اگه کسی هست که توی زمینه دوآپس (ابونتو سرور، داکر کامپوز و بش) تجربه داره تا قبل از اینکه پروژه رو استیبل منتشر کنم کمی با هم مشورت کنیم و رو پروژه کانتریبیوت کنه تا بهینه تر بشه.

🌐https://github.com/MansourM/ez-docker-for-laravel

#php #laravel #backend #project
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
بهترین پروژه‌ها، برای افزایش مهارت خودتون در برنامه نویسی Frontend

#frontend | #project


🎧 پخش‌کننده موزیک
این مینی پروژه میتونی تمرین فوق‌العاده ای باشه برای کار با فایل‌های رسانه‌ای و APIهای HTML5 مثل Audio API و همچنین بهتون کمک میکنه تا با کار با فایل‌های MP3 به صورت پویا آشنا می‌شوید.


🧮 ماشین حساب
این پروژه بهتون کمک میکنه تا در کار با event های مختلف و همچنین انجام محاسبات ریاضی در جاوااسکریپت حرفه ای
تر بشید و نحوه طراحی رابط کاربری پویا و مدیریت حالت‌های مختلف در یک پروژه رو یاد بگیرید.


🌥️ اپلیکیشن آب و هوا ( Real Api )
این پروژه بهتون کمک می‌کنه تا توی استفاده از APIهای خارجی و واقعی حرفه ای تر بشید.


⏱️ اپلیکیشن تایمر و کرنومتر
این پروژه بهتون کمک می‌کنه تا با استفاده از توابع زمان‌بندی مثل setInterval و setTimeout، کار با زمان رو بهتر درک کنید و همچنین با چالش‌های کنترل زمان و متوقف‌کردن و ... سروکار داشته باشید.


📝 لیست کارها (To-Do List)
این پروژه برای تمرین خود جاوااسکریپت و کار با DOM خیلی خوبه. باید یه صفحه بسازید که کاربر بتونه کارهای جدید رو اضافه کنه، کارهای انجام شده رو تیک بزنه و مواردی رو که نمی‌خواد حذف کنه.
ایجاد Todo List با Reactjs


🗨️ 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
بهترین پروژه‌ها، برای افزایش مهارت خودتون در برنامه نویسی Frontend ( سطح حرفه ای ) 🚀

کلون YouTube
ساخت کلونی از YouTube که شامل صفحه‌اصلی، صفحه‌آپلود ویدیو و همچنین پخش ویدیو‌ها باشه، البته که خودتون میتونید قسمت های تکمیلی تر رو بهش اضافه بکنید.


📊 پنل مدیریتی
یک داشبورد مدیریتی که اطلاعات رو از طریق جداول (با کتابخانه‌هایی مثل MUI یا D3.js) نمایش بده + فرم های ایجاد و آپدیت حرفه ای.


🛍️ فروشگاه اینترنتی کامل
یک فروشگاه آنلاین با امکان مدیریت سبد خرید، دسته‌بندی محصولات و ... که میتونید توی پیاده سازیش از fakeApi هم استفاده بکنید که پروژه جذاب و چالش برانگیزی هستش.


⚒️ اپلیکیشن مدیریت پروژه
ابزاری شبیه Trello با قابلیت‌ D&D و مدیریت حرفه‌ای تر وظایف که حرف ای تر از یک todo list ساده باشه میتونه نمونه کار خوبی باشه مخصوصا اگر خودتون قابلیت های خلاقانه تری بهش اضافه بکنید.


و در نهایت یکی از بهترین پروژه هایی که میتونید بزنید 😍

💎 ساخت Portfolio جذاب 3D
پروژه پورتفولیو درواقع یک وب‌سایته برای نمایش مهارت‌ها، پروژه‌ها و رزومه خودتون.

این پروژه به شما کمک میکنه تا توی طراحی صفحات 3D حرفه ای تر بشید و همچنین بهترین مکان برای به رخ کشیدن مهارت های خودتونه 💥


امیدوارم از این مطلب لذت برده باشید، با ری‌اکشنای خودتون بهمون انرژی بدید ❤️‍🔥

#️⃣ #frontend #project

🫶 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
Forwarded from Anophel | آنوفل
آیا تا به حال به یک ساختار کامل و منظم برای مدیریت پروژه‌های #گولنگ ( Go# ) با معماری Domain-Driven Design (DDD) فکر کرده‌اید؟ در این پست قصد داریم این ساختار را با جزئیات بیشتری بررسی کنیم و به شما نشان دهیم چگونه می‌توانید پروژه‌تان را مرتب‌تر و کارآمدتر پیش ببرید.

پست قبلی ما در این لینک:

https://lnkd.in/evuPH7cB

1. سطح بالا (Root Directory):
-cmd/:
- این دایرکتوری برای نقاط ورود برنامه استفاده می‌شه. هر اپلیکیشن قابل‌اجرا، چه سرور باشه چه ابزارهای CLI یا میکروسرویس‌ها، اینجا قرار می‌گیره.

- مثال: cmd/app/main.go: فایل اصلی که نقطه شروع اجرای برنامه است. این فایل باید تمیز و ساده باشه و فقط وظیفه‌ی مقداردهی اولیه مثل خواندن تنظیمات، ایجاد کانکشن‌ها، و شروع سرور رو برعهده داشته باشه.

- internal/:
- کدهایی که مختص پروژه‌ی ما هستن و نباید توسط ماژول‌های خارجی استفاده بشن، اینجا قرار می‌گیرن. در گولنگ، دایرکتوری internal به‌صورت پیش‌فرض دسترسی ماژول‌های خارجی رو محدود می‌کنه.

- pkg/:
- شامل کتابخانه‌ها و کدهای قابل استفاده مجدد هست که ممکنه در پروژه‌های دیگه یا بخش‌های دیگه همین پروژه استفاده بشن. دقت کنید که این دایرکتوری باید از internal جدا باشه چون عمومی‌تر هست.

- configs/:
- تنظیمات پروژه مثل فایل‌های yaml، json یا toml که برای کانفیگ سرور، دیتابیس یا سرویس‌های دیگه استفاده می‌شن اینجا قرار می‌گیرن.

- go.mod و go.sum:
- این فایل‌ها وظیفه مدیریت وابستگی‌ها رو به عهده دارن و توسط Go Modules استفاده می‌شن.

2. دایرکتوری داخلی (internal/):
این دایرکتوری قلب پروژه‌ست و تمامی دامنه‌های پروژه رو در خودش جای می‌ده. هر دامنه یا Bounded Context به صورت جداگانه سازمان‌دهی شده.

ساختار دامنه (مثال: user/):
- user.go (Model):
- شامل مدل‌ها و ساختارهای داده‌ای مرتبط با دامنه است.

- repository.go:
- مسئول مدیریت دسترسی به داده‌ها (Data Access Layer) هست.

- service.go:
- این لایه منطق تجاری رو پیاده‌سازی می‌کنه و سرویس‌ها با repository تعامل دارند و مدیریت فرآیندهای مربوط به دامنه رو انجام می‌دن.

- handler.go:
- این لایه مدیریت درخواست‌های ورودی (HTTP یا gRPC) و اتصال اون‌ها به سرویس‌ها رو بر عهده داره.

ساختار دامنه دیگر (مثال: product/):
- دامنه‌های دیگه مثل product ساختاری مشابه دارند. هر دامنه به‌صورت مستقل پیاده‌سازی شده و شامل لایه‌های مدل، سرویس، ریپازیتوری و هندلر هست.

کاربرد این ساختار در DDD:
- تفکیک دامنه‌ها :
- هر دامنه کاملاً مستقل پیاده‌سازی شده و می‌تونه به صورت جداگانه توسعه یابد.

- انعطاف‌پذیری:
- با این ساختار، می‌تونید تغییرات یا افزودن دامنه‌های جدید رو بدون تأثیر روی سایر بخش‌ها انجام بدید.

-مقیاس‌پذیری:
- هر دامنه می‌تونه به‌صورت مجزا تست و مقیاس‌دهی بشه. برای مثال، در صورت نیاز، می‌تونید دامنه خاصی رو به یک سرویس مستقل تبدیل کنید.

سازگاری با معماری‌های مدرن:
- این ساختار برای پروژه‌های میکروسرویس، مونولیت ماژولار یا حتی معماری‌های لایه‌ای مناسب است.

آیا شما هم تجربه‌ای در استفاده از معماری DDD# دارید؟ خوشحال می‌شوم که تجربیات و نظرات خود را با ما به اشتراک بگذارید!

Anophel | آنوفل