cafeamoozesh.com
87 subscribers
26 photos
5 videos
43 links
کافه آموزش مرجع تخصصی آموزش طراحی و برنامه نویسی وب


وب سایت : www.cafeamoozesh.com
پشتیبانی : @ sup_cafeamoozesh
تماس با ما : 2207077-0902
پاسخگویی همه روزه از ساعت ۱۰ الی ۱۸ بجز ایام تعطیل

مدیریت : وحیدصالحی
Download Telegram
سلام دوستان عزیز .
1 جلسه جدید از دوره php8 technical منتشر شد برای مشاهده به صفحه ثبت نام دوره و قسمت جلسات منتشر شده مراجعه کنید ⚘
( Input Validation )
سلام دوستان عزیز .
1 جلسه جدید از دوره php8 technical منتشر شد برای مشاهده به صفحه ثبت نام دوره و قسمت جلسات منتشر شده مراجعه کنید ⚘
( Flash Message )
سلام دوستان عزیز .
3 جلسه جدید از دوره php8 technical منتشر شد برای مشاهده به صفحه ثبت نام دوره و قسمت جلسات منتشر شده مراجعه کنید ⚘
( ُShow Validation Errors )
( Old function | Create new User)
( Use Faker | User List )
سلام دوستان عزیز .
1 جلسه جدید از دوره php8 technical منتشر شد برای مشاهده به صفحه ثبت نام دوره و قسمت جلسات منتشر شده مراجعه کنید ⚘
( Remove User | Confirmed User | Redirect Function )
سلام دوستان عزیز .
2 جلسه جدید از دوره php8 technical منتشر شد برای مشاهده به صفحه ثبت نام دوره و قسمت جلسات منتشر شده مراجعه کنید ⚘
( Edit User | pagination )
سلام دوستان عزیز .
1 جلسه جدید از دوره php8 technical منتشر شد برای مشاهده به صفحه ثبت نام دوره و قسمت جلسات منتشر شده مراجعه کنید ⚘
( user register - front)
سلام دوستان عزیز .
1 جلسه جدید از دوره php8 technical منتشر شد برای مشاهده به صفحه ثبت نام دوره و قسمت جلسات منتشر شده مراجعه کنید ⚘
( Send Email - config PhpMailer)
با عرض سلام خدمت تمام دوستان عزیز بابت تاخیر به وجود آماده در دوره PHP 8 از تک تک دوستان معذرت میخوام و امیدوار هستم که بتونم در طول جلسات باقیمانده این اتفاق رو جبران کنم .
سلام دوستان عزیز .
1 جلسه جدید از دوره php8 technical منتشر شد برای مشاهده به صفحه ثبت نام دوره و قسمت جلسات منتشر شده مراجعه کنید ⚘
( login- middleware)
سلام دوستان عزیز .
1 جلسه جدید از دوره php8 technical منتشر شد برای مشاهده به صفحه ثبت نام دوره و قسمت جلسات منتشر شده مراجعه کنید ⚘
( Prorfile Ui )
سلام دوستان عزیز .
1 جلسه جدید از دوره php8 technical منتشر شد برای مشاهده به صفحه ثبت نام دوره و قسمت جلسات منتشر شده مراجعه کنید ⚘
( Menu - Part 1 )
کدها ممکن است با گذشت زمان تغییر کنند و فریم‌ورک‌ها جای خود را به ابزارهای جدید بدهند، اما درک مفاهیم چیزی است که همیشه ارزش خود را حفظ می‌کند و آنچه شما را به یک توسعه‌دهنده بهتر تبدیل می‌کند، درک مفاهیم و شناخت منطق پشت کدهاست.

به همین دلیل در این مقاله سعی کردم به جای معرفی چند مثال، منطق واقعی Fetch API و نحوه ارتباط جاوااسکریپت با سرور را آموزش دهم.
در این آموزش به صورت کاملاً عملی یاد می‌گیرید:
✅ ارسال درخواست‌های GET و POST
✅ دریافت و پردازش داده‌های JSON
✅ مدیریت خطاها با try...catch
✅ استفاده از Fetch API همراه با Async/Await
✅ Best Practiceها و اشتباهات رایج در پروژه‌های واقعی
اگر در حال یادگیری JavaScript هستید یا قصد دارید ارتباط با APIها را به‌صورت اصولی یاد بگیرید، امیدوارم این آموزش برایتان مفید باشد.
🔗 لینک مقاله:
https://cafeamoozesh.com/javascript-fetch-api-tutorial
یکی از رایج‌ترین باگ‌هایی که برنامه‌نویس‌های JavaScript با آن روبه‌رو می‌شوند، مربوط به ترتیب اجرای کدها است.
همان جایی که انتظار داری setTimeout() زودتر اجرا شود، اما Promise اول اجرا می‌شود. یا فکر می‌کنی یک Callback باید بلافاصله اجرا شود، اما چند میلی‌ثانیه بعد اجرا می‌شود.
دلیل همه این رفتارها یک مفهوم مهم در JavaScript است: Event Loop.
توی این مقاله سعی کردم به زبان ساده و با مثال‌های واقعی توضیح بدهم که Event Loop دقیقاً چیست و پشت صحنه JavaScript چه اتفاقی می‌افتد.
داخل مقاله درباره این موضوعات صحبت کرده‌ام:
🔹 Call Stack
🔹 Web APIs
🔹 Callback Queue
🔹 Microtask Queue
🔹 نحوه کار Event Loop
🔹 تفاوت Promise و setTimeout()
🔹 اشتباهات رایج
🔹 Best Practices
🔹 سؤالات مصاحبه
🔹 تمرین‌های عملی
اگر تا امروز Event Loop را فقط حفظ کرده‌اید، امیدوارم بعد از خواندن این مقاله واقعاً آن را درک کنید.
📖 مطالعه مقاله:
https://cafeamoozesh.com/javascript-event-loop-tutorial
یه چیزی که بارها دیدم اینه که خیلی‌ها JavaScript Closures رو حفظ می‌کنن، ولی واقعاً درکش نمی‌کنن.

در حالی که وقتی مفهوم Closure رو بفهمی، خیلی از رفتارهای JavaScript برات قابل پیش‌بینی می‌شه؛ از Callbackها و Promiseها گرفته تا React Hooks و حتی بعضی از باگ‌هایی که پیدا کردنشون ساعت‌ها زمان می‌بره.

توی این مقاله سعی کردم به جای حفظ کردن تعریف‌ها، از پشت صحنه شروع کنم و توضیح بدم موتور JavaScript دقیقاً چه کاری انجام می‌ده.

داخل مقاله درباره این موضوعات صحبت کردیم:

🔹 Lexical Scope
🔹 نحوه ایجاد Closure
🔹 مدیریت حافظه و Memory Leak
🔹 Private Variables
🔹 Behind the Scenes موتور JavaScript
🔹 Best Practices
🔹 اشتباهات رایج
🔹 سؤالات مصاحبه
🔹 تمرین‌های عملی

اگر مقاله رو خوندی، خوشحال می‌شم نظرت رو بدونم. اگر هم تجربه یا مثال جالبی از Closures داری، حتماً توی کامنت‌ها بنویس تا بقیه هم استفاده کنن.
🔗 مطالعه مقاله:
https://cafeamoozesh.com/javascript-closures-tutorial
یکی از رایج‌ترین اشتباهات برنامه‌نویس‌ها، استفاده از Design Pattern قبل از درک مسئله هست.

Design Patternها مجموعه‌ای از راه‌حل‌های امتحان‌شده برای مسائل رایج طراحی نرم‌افزار هستند، اما یادگیری آن‌ها بدون درک اصولی مفاهیمی مثل SOLID و شناخت مسئله، معمولاً به Over Engineering ختم می‌شه. در این مقاله ابتدا مفهو Design Pattern را با مثال واقعی بررسی می‌کنیم، سپس تاریخچه شکل‌گیری آن، دسته‌بندی‌های اصلی و در نهایت زمان مناسب استفاده یا عدم استفاده از Design Pattern را توضیح می‌دهیم.



داخل مقاله درباره این موضوعات صحبت کردیم

🔹Design Pattern چیست؟

🔹چرا به وجود آمد؟

🔹دسته‌بندی Creational، Structural و Behavioral

🔹مزایا و معایب

🔹 چه زمانی از Pattern استفاده کنیم؟

🔹 چه زمانی استفاده نکنیم؟

🔹سؤالات رایج مصاحبه‌های استخدامی درباره Design Pattern

🔹و ...

🔗 لینک مقاله:

#DesignPattern#SoftwareArchitecture#CleanCode#PHP#laravel#cafeamoozsh
یکی از رایج‌ترین اشتباهات برنامه‌نویس‌ها، استفاده از Design Pattern قبل از درک مسئله هست.

Design Patternها مجموعه‌ای از راه‌حل‌های امتحان‌شده برای مسائل رایج طراحی نرم‌افزار هستند، اما یادگیری آن‌ها بدون درک اصولی مفاهیمی مثل SOLID و شناخت مسئله، معمولاً به Over Engineering ختم می‌شه. در این مقاله ابتدا مفهو Design Pattern را با مثال واقعی بررسی می‌کنیم، سپس تاریخچه شکل‌گیری آن، دسته‌بندی‌های اصلی و در نهایت زمان مناسب استفاده یا عدم استفاده از Design Pattern را توضیح می‌دهیم.



داخل مقاله درباره این موضوعات صحبت کردیم

🔹Design Pattern چیست؟

🔹چرا به وجود آمد؟

🔹دسته‌بندی Creational، Structural و Behavioral

🔹مزایا و معایب

🔹 چه زمانی از Pattern استفاده کنیم؟

🔹 چه زمانی استفاده نکنیم؟

🔹سؤالات رایج مصاحبه‌های استخدامی درباره Design Pattern

🔹و ...

🔗 لینک مقاله:
https://cafeamoozesh.com/design-pattern-tutorial

#DesignPattern#SoftwareArchitecture#CleanCode#PHP#laravel#cafeamoozsh
تقریباً همه برنامه‌نویس‌های JavaScript حداقل یک‌بار با این سؤال روبه‌رو شده‌اند:

چرا var قبل از تعریف مقدار undefined برمی‌گرداند، اما let و const خطا می‌دهند؟ یا چرا بعضی توابع قبل از تعریف هم اجرا می‌شوند؟

خیلی‌ها اسم این رفتار را Hoisting می‌گذارند، اما واقعیت این است که Hoisting به معنی جابه‌جا شدن خطوط کد نیست.

این رفتار نتیجه مرحله Creation Phase در Execution Context است؛ جایی که موتور JavaScript قبل از اجرای برنامه، متغیرها و توابع را در حافظه ثبت می‌کند.

توی این مقاله سعی کردم Hoisting را از دید موتور JavaScript بررسی کنم، نه فقط از دید خروجی چند مثال.

اگر می‌خواهید رفتار واقعی موتور JavaScript را بهتر درک کنید و هنگام Debug کردن کدها کمتر غافلگیر شوید، این مقاله می‌تواند دید عمیق‌تری به شما بدهد.

🔗 مطالعه مقاله:
https://cafeamoozesh.com/javascript-hoisting-tutorial

#JavaScript #Hoisting #Frontend #SoftwareEngineering #NodeJS #CafeAmoozesh