Forwarded from Geek Alerts
سایت گنجور که یکی از محبوبترین سایتها برای دوستداران شعر فارسیست، حالا از هوش مصنوعی برای تولید خلاصه و برگرداندن ابیات به زبان ساده استفاده میکنه. البته که مدلهای فعلی توانایی درک متون کهن فارسی رو به درستی ندارن اما تا حدودی میشه بهشون اتکا کرد.
پ.ن: گنجور یک سایت اپنسورس است و با دونیتهای کاربران گردانده میشود، لیست دونیتها.
https://blog.ganjoor.net/1403/09/26/ai-summaries/
hadi @geekalerts
پ.ن: گنجور یک سایت اپنسورس است و با دونیتهای کاربران گردانده میشود، لیست دونیتها.
https://blog.ganjoor.net/1403/09/26/ai-summaries/
hadi @geekalerts
Forwarded from FullstacksJS — Academy
قسمت چهارم ماب ریویو: معماری نرم افزار و DDD
تو این جلسه یک پروژه NestJS رو با هم ریویو میکنیم.
مشاهده ویدئو
اگر علاقه دارید میتونید کدهاتون رو برای من بفرستید تا توی این جلسهها با همدیگه ریویوشون کنیم.
مباحث
00:00 ماب ریویو چیه؟
01:06 درباره پروژه؟
02:32 پارادایم Reactive Programming
03:55 معماری های Hexagonal
05:39 تعریف و انواع وابستگی توی معماری
06:55 مفهوم Dependency Inversion
13:41 مفهوم Dependency Injection
17:35 استفاده این مفاهیم توی معماری
20:08 لایه Domain توی معماری Clean
21:10 مزیت نام گذاری روی معماریها و پترنها
21:57 Domain Driven Design چیه؟
34:24 معرفی منابع برای DDD
37:53 پرکیتس ها و اهمیت Communication
42:39 مسئولیت لایه Application
44:43 آنتی پرتن Anemic domain
46:48 مفهوم Ubiquitous language و Bounded Context
53:16 مفاهیم Strategic design و Tactical Design
54:29 فرق بین Value Object و Entity
1:00:42 مفهوم Domain Event
1:02:00 مفهوم Aggregate root
1:05:34 استفاده از این مفاهیم تو NestJS
1:06:53 مفهوم persistence ignorance
1:09:06 بی اهمیت بودن ابزارها و اهمیت نیاز بیزینس
1:12:03 چرا مقایسه ابزارها درست نیست
1:14:29 کجا باید از DDD استفاده کنیم؟
1:15:41 چرا کسب تجربه توی DDD سخته؟
1:16:34 پترن CQRS
1:19:26 چرا نباید همه جا از پترنها و معماریها استفاده کنیم؟
✦ ماب ریویو چیه؟
✦ سورس کد
✦ اضافه کردن به تقویم
#mobreview #nestjs #cqrs #designpatterns #ddd #cleanarchitecture #hexagonarchitecture #mongodb #typescript #nodejs
تو این جلسه یک پروژه NestJS رو با هم ریویو میکنیم.
مشاهده ویدئو
اگر علاقه دارید میتونید کدهاتون رو برای من بفرستید تا توی این جلسهها با همدیگه ریویوشون کنیم.
مباحث
00:00 ماب ریویو چیه؟
01:06 درباره پروژه؟
02:32 پارادایم Reactive Programming
03:55 معماری های Hexagonal
05:39 تعریف و انواع وابستگی توی معماری
06:55 مفهوم Dependency Inversion
13:41 مفهوم Dependency Injection
17:35 استفاده این مفاهیم توی معماری
20:08 لایه Domain توی معماری Clean
21:10 مزیت نام گذاری روی معماریها و پترنها
21:57 Domain Driven Design چیه؟
34:24 معرفی منابع برای DDD
37:53 پرکیتس ها و اهمیت Communication
42:39 مسئولیت لایه Application
44:43 آنتی پرتن Anemic domain
46:48 مفهوم Ubiquitous language و Bounded Context
53:16 مفاهیم Strategic design و Tactical Design
54:29 فرق بین Value Object و Entity
1:00:42 مفهوم Domain Event
1:02:00 مفهوم Aggregate root
1:05:34 استفاده از این مفاهیم تو NestJS
1:06:53 مفهوم persistence ignorance
1:09:06 بی اهمیت بودن ابزارها و اهمیت نیاز بیزینس
1:12:03 چرا مقایسه ابزارها درست نیست
1:14:29 کجا باید از DDD استفاده کنیم؟
1:15:41 چرا کسب تجربه توی DDD سخته؟
1:16:34 پترن CQRS
1:19:26 چرا نباید همه جا از پترنها و معماریها استفاده کنیم؟
✦ ماب ریویو چیه؟
✦ سورس کد
✦ اضافه کردن به تقویم
#mobreview #nestjs #cqrs #designpatterns #ddd #cleanarchitecture #hexagonarchitecture #mongodb #typescript #nodejs
YouTube
Mob Review 4: معماری نرم افزار و DDD
توی این جلسه یک پروژه تو این جلسه یک پروژه NestJS رو با هم ریویو میکنیم.
درباره ماب ریویو:
ماب ریویو یه رویداد دوستانه و خودمونی برای انتقال تجربه دانشه.
توی این رویداد دور هم جمع میشیم تا یک سورس کد رو با هم ریویو کنیم و درباره پرکتیسهای بهتر و دلایلش…
درباره ماب ریویو:
ماب ریویو یه رویداد دوستانه و خودمونی برای انتقال تجربه دانشه.
توی این رویداد دور هم جمع میشیم تا یک سورس کد رو با هم ریویو کنیم و درباره پرکتیسهای بهتر و دلایلش…
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰دستورات مهم برای مدیران سیستم یا همون سیس ادمین های لینوکسی #سری اول
🔹برای اینکه بفهمیم سیستم لینوکس ریبوت شده یا نه،یا اخرین باری که ریبوت شده، میتوانیم از چند دستور استفاده کنیم که زمان آخرین ریبوت، زمان کارکرد سیستم یا لاگهای مربوط به ریبوت را نشان میدهند:
1. بررسی زمان کارکرد سیستم
🔸دستور uptime نشان میدهد که سیستم از آخرین ریبوت چقدر زمان سپری کرده است.
🔸اگر زمان کارکرد سیستم کم باشد (مثلاً چند دقیقه)، نشان میدهد که سیستم اخیراً ریبوت شده است.
2. بررسی زمان آخرین ریبوت
🔸دستور who -b زمان آخرین ریبوت سیستم را نشان میدهد.
خروجی مثال: system boot 2025-10-01 12:34
3. بررسی لاگهای سیستم
🔸سیستمهای لینوکس رویدادهای ریبوت را در فایلهای لاگ ذخیره میکنند. میتوانید این لاگها را بررسی کنید تا ببینید آیا ریبوتی رخ داده است یا نه.
الف. استفاده از دستور last
دستور last یک لیست از ریبوتها و ورودیهای کاربران را نشان میدهد.
ب. استفاده از journalctl (برای سیستمهای مبتنی بر systemd)
journalctl ابزاری قدرتمند برای پرسوجو از لاگهای سیستم است.
🔸این دستور شناسههای ریبوت و زمانهای مربوط به آنها را لیست میکند.
4. بررسی لاگهای کرنل
🔸دستور dmesg پیامهای بافر حلقوی کرنل را نشان میدهد که شامل اطلاعات مربوط به ریبوت است.
🔸این دستور نسخه کرنل و زمان ریبوت را نشان میدهد.
5. بررسی دایرکتوری /var/log/
🔸دایرکتوری /var/log/ شامل فایلهای لاگ مختلفی است که ممکن است شامل اطلاعات ریبوت باشند.
——————
نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
@linuxtnt
🔹برای اینکه بفهمیم سیستم لینوکس ریبوت شده یا نه،یا اخرین باری که ریبوت شده، میتوانیم از چند دستور استفاده کنیم که زمان آخرین ریبوت، زمان کارکرد سیستم یا لاگهای مربوط به ریبوت را نشان میدهند:
1. بررسی زمان کارکرد سیستم
🔸دستور uptime نشان میدهد که سیستم از آخرین ریبوت چقدر زمان سپری کرده است.
uptime
🔸اگر زمان کارکرد سیستم کم باشد (مثلاً چند دقیقه)، نشان میدهد که سیستم اخیراً ریبوت شده است.
2. بررسی زمان آخرین ریبوت
🔸دستور who -b زمان آخرین ریبوت سیستم را نشان میدهد.
who -b
خروجی مثال: system boot 2025-10-01 12:34
3. بررسی لاگهای سیستم
🔸سیستمهای لینوکس رویدادهای ریبوت را در فایلهای لاگ ذخیره میکنند. میتوانید این لاگها را بررسی کنید تا ببینید آیا ریبوتی رخ داده است یا نه.
الف. استفاده از دستور last
دستور last یک لیست از ریبوتها و ورودیهای کاربران را نشان میدهد.
last
ب. استفاده از journalctl (برای سیستمهای مبتنی بر systemd)
journalctl ابزاری قدرتمند برای پرسوجو از لاگهای سیستم است.
journalctl --list-boots
🔸این دستور شناسههای ریبوت و زمانهای مربوط به آنها را لیست میکند.
4. بررسی لاگهای کرنل
🔸دستور dmesg پیامهای بافر حلقوی کرنل را نشان میدهد که شامل اطلاعات مربوط به ریبوت است.
dmesg | grep "Linux version"
🔸این دستور نسخه کرنل و زمان ریبوت را نشان میدهد.
5. بررسی دایرکتوری /var/log/
🔸دایرکتوری /var/log/ شامل فایلهای لاگ مختلفی است که ممکن است شامل اطلاعات ریبوت باشند.
last -f /var/log/wtmp | grep reboot
——————
نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
@linuxtnt
Forwarded from Yasha
نمیدونم Hubwork رو دیدید یا نه. اینو ۳ سال پیش تو کارخونه نوآوری توی یه تیم داشتیم مینوشتیم که باهاش زاویه، هفت و هشت و جاهای دیگه رو مدیریت کنن (فک کنم الان توی بعضی سولههای کارخونه نوآوری و پردیس و هایوی و اینا استفاده میشه) بعد الان که اومدم اینجا امروز ۳۰ دقیقه سر ثبتنام توی سایت معطل شدم. چرا؟ چون بعد ۴ ماه دوباره سایتشون رو بازنویسی کردن و دیتابیس یوزرهای قبلی رو با یه کوئری ساده نتونستنن بریزن توی دیتابیس سایت جدید...توی لاگین هم یارو یه خطای خیلی عمومی نشون میده، نمیگه که شمارهات توی سایت اصلا وجود نداره. ما هم نیمساعت با مسئولش داشتیم ور میرفتیم ببینم مشکل کجاست. توی ۳ سال اینهمه هزینه شده و وقت گذاشتن کلی آدم، اما هنوز یه سیستم مدیریت نداره که چهار تا لاگین و اشتراک رو هندل کنن.
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
Forwarded from DevTwitter | توییت برنامه نویسی
ترکیب nextjs و وردپرس عجب چیزیه !!
این روزا همه دارن از "هدلس وردپرس" حرف میزنن. اولش که شنیدم فکر کردم یه چیز علمی تخیلیه! ولی خب کنجکاو شدم و رفتم تو دل ماجرا.
چی شد؟ فهمیدم که وردپرس مثل یه موتور قدرتمنده، ولی خب بدن نداره! یعنی چی؟ یعنی ما وردپرس رو به عنوان بکاند (محل نگهداری و مدیریت محتوا) نگه میداریم، ولی ظاهر سایت (فرانتاند) رو با یه چیز دیگه میسازیم. اینجا بود که Next.js اومد وسط!
حالا چرا هدلس وردپرس؟
فکر کن وردپرس شده مغز و Next.js شده دست و پا. وردپرس محتوا رو نگه میداره و Next.js اونو به بهترین شکل نشون میده! اینجوری هم سرعت سایتمون بالاتره هم دستمون برای طراحی بازتره.
اما یه نکته مهم:
این روش یه مقدار پیچیدهتر از وردپرس سنتیه. باید یه کم فنی تر باشی و با کد زدن حال کنی!
اگه میخوای بیشتر بدونی:
یه سرچ کوچولو تو گوگل بزن "WordPress Headless with Next.js" کلی مقاله و آموزش پیدا میکنی.
یه نگاه به کتابخونههای WPGraphQL یا Advanced Custom Fields هم بنداز.
اگه میخوای یه پروژه استارت بزنی، از استارتر کیت های Next.js برای وردپرس استفاده کن!
خلاصه که، هدلس وردپرس با Next.js یه ترکیب فوقالعاده است که اگه یه مقدار وقت بذاری و یاد بگیری، میتونه کلی پروژه خفن برات بیاره!
@DevTwitter | <Alireza Fakhar/>
این روزا همه دارن از "هدلس وردپرس" حرف میزنن. اولش که شنیدم فکر کردم یه چیز علمی تخیلیه! ولی خب کنجکاو شدم و رفتم تو دل ماجرا.
چی شد؟ فهمیدم که وردپرس مثل یه موتور قدرتمنده، ولی خب بدن نداره! یعنی چی؟ یعنی ما وردپرس رو به عنوان بکاند (محل نگهداری و مدیریت محتوا) نگه میداریم، ولی ظاهر سایت (فرانتاند) رو با یه چیز دیگه میسازیم. اینجا بود که Next.js اومد وسط!
حالا چرا هدلس وردپرس؟
فکر کن وردپرس شده مغز و Next.js شده دست و پا. وردپرس محتوا رو نگه میداره و Next.js اونو به بهترین شکل نشون میده! اینجوری هم سرعت سایتمون بالاتره هم دستمون برای طراحی بازتره.
اما یه نکته مهم:
این روش یه مقدار پیچیدهتر از وردپرس سنتیه. باید یه کم فنی تر باشی و با کد زدن حال کنی!
اگه میخوای بیشتر بدونی:
یه سرچ کوچولو تو گوگل بزن "WordPress Headless with Next.js" کلی مقاله و آموزش پیدا میکنی.
یه نگاه به کتابخونههای WPGraphQL یا Advanced Custom Fields هم بنداز.
اگه میخوای یه پروژه استارت بزنی، از استارتر کیت های Next.js برای وردپرس استفاده کن!
خلاصه که، هدلس وردپرس با Next.js یه ترکیب فوقالعاده است که اگه یه مقدار وقت بذاری و یاد بگیری، میتونه کلی پروژه خفن برات بیاره!
@DevTwitter | <Alireza Fakhar/>
Forwarded from SoniaCircuit (Catalyst Sin-A)
Coolify
https://github.com/coollabsio/coolify
Coolify is an all-in one PaaS that helps you to self-host your own applications, databases or services (like Wordpress, Plausible Analytics, Ghost) without managing your servers and all the complexity that comes with it, it is also known as an open-source & self-hostable Heroku / Netlify / Vercel alternative.
Installation:
Documentation:
https://coolify.io/docs/
#PasS
https://github.com/coollabsio/coolify
Coolify is an all-in one PaaS that helps you to self-host your own applications, databases or services (like Wordpress, Plausible Analytics, Ghost) without managing your servers and all the complexity that comes with it, it is also known as an open-source & self-hostable Heroku / Netlify / Vercel alternative.
Installation:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
Documentation:
https://coolify.io/docs/
#PasS
GitHub
GitHub - coollabsio/coolify: An open-source, self-hostable PaaS alternative to Vercel, Heroku & Netlify that lets you easily deploy…
An open-source, self-hostable PaaS alternative to Vercel, Heroku & Netlify that lets you easily deploy static sites, databases, full-stack applications and 280+ one-click services on your o...
Forwarded from CleverDevs (Arian)
💢 آسیبپذیری بحرانی برای ShareCenter های D-Link
#Vulnerability
@CleverDevs - @CleverDevsGp
جدیدا آسیبپذیری بحرانی با تگ CVE-2024-10914 برای یک سری شیر سنتر های دی-لینک پیدا شده که میشه از طریقش به تمامی فایل های افراد متصل به وایفای دسترسی پیدا کرد و علاوه بر این دستورات مخربی نیز اجرا کرد. 🦠
قسمت جالبش اینجاس که اعلام کردن هیچ بروزرسانی اعمال نمیکنن چون این دستگاه ها به پایان تاریخ دریافت بروزرسانی رسیدن!😂
اگه یکی از این مدل هارو دارید، توصیه میشه جایگزین کنید:
DNS-320 (Version 1.00)
DNS-320LW (Version 1.01.0914.2012)
DNS-325 (Versions 1.01, 1.02)
DNS-340L
#Vulnerability
@CleverDevs - @CleverDevsGp
Forwarded from Laravel News
Laravel whenLoaded - Performance Optimization via Conditional Relationship Loading https://laravel-news.com/whenloaded
Laravel News
Laravel whenLoaded - Performance Optimization via Conditional Relationship Loading - Laravel News
Discover Laravel's whenLoaded() method for optimizing API responses through conditional relationship loading. Learn to reduce database queries and improve performance by selectively including related data.
Forwarded from DevTwitter | توییت برنامه نویسی
چند وقته برای ساخت بخشهای مختلف Admin Panel تو پروژههام از Filament PHP استفاده میکنم و باید بگم واقعاً یه ابزار فوقالعادهست! اگر با Laravel کار میکنید و دنبال یه راه حل سریع، شیک و منعطف برای پنلهای ادمین میگردید، حتماً Filament رو امتحان کنید.
تو یکی از پروژههام که نیاز داشتم یه پنل مدیریت برای سفارشها و کاربران بسازم، Filament کمک کرد تو چند ساعت یه سیستم کامل و کاربردی راه بندازم. جالب اینجا بود که بهجای صرف وقت برای طراحی فرمها و جداول، تونستم بیشتر روی منطق اصلی پروژه تمرکز کنم.
اگه تا حالا با Filament کار نکردید، پیشنهاد میکنم تو پروژه بعدیتون حتماً ازش استفاده کنید. مطمئنم تجربهتون تو ساخت پنلهای مدیریتی کاملاً متحول میشه.
https://filamentphp.com
@DevTwitter | <Danial Rahimy/>
تو یکی از پروژههام که نیاز داشتم یه پنل مدیریت برای سفارشها و کاربران بسازم، Filament کمک کرد تو چند ساعت یه سیستم کامل و کاربردی راه بندازم. جالب اینجا بود که بهجای صرف وقت برای طراحی فرمها و جداول، تونستم بیشتر روی منطق اصلی پروژه تمرکز کنم.
اگه تا حالا با Filament کار نکردید، پیشنهاد میکنم تو پروژه بعدیتون حتماً ازش استفاده کنید. مطمئنم تجربهتون تو ساخت پنلهای مدیریتی کاملاً متحول میشه.
https://filamentphp.com
@DevTwitter | <Danial Rahimy/>
Forwarded from 𝕏𝗖𝗢𝗗𝗘 | فراتر از کد
Forwarded from دیرکشن
This media is not supported in your browser
VIEW IN TELEGRAM
چطور در مسیر مهاجرت سورپرایز نشیم؟
با داشتن اطلاعات دقیق و واقعی، میتوانید از غافلگیری ها دور بمانید و مسیر مهاجرتیتان را با اطمینان بیشتری طی کنید.
با سفارش گزارش شخصیسازیشده دیرکشن، آگاهانه از میان ۴۰۰ برنامه در ۱۸ کشور برای مهاجرت خود تصمیم بگیرید.
با داشتن اطلاعات دقیق و واقعی، میتوانید از غافلگیری ها دور بمانید و مسیر مهاجرتیتان را با اطمینان بیشتری طی کنید.
با سفارش گزارش شخصیسازیشده دیرکشن، آگاهانه از میان ۴۰۰ برنامه در ۱۸ کشور برای مهاجرت خود تصمیم بگیرید.
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
😱 آیادفعه بعد که ویکیپدیا درخواست کمک مالی کرد، باید آن را نادیده بگیرید؟
💰ویکیپدیا با پول نقدی که درحال حاضر از راه دونیت جمع آوری شده ، بدون اجرای تبلیغات، میتواند ۲۰ سال به راحتی کار کند. پس پول ها کجا می رود؟
❌ افرادی که کار واقعی سایت را انجام می دهند. نه
❌ مدیران و نگهبانان ویکیپدیا، که مدخلها را اصلاح میکنند و خرابکاریهای همیشگی را تصحیح میکنند، نه
نه انها یک پنی حقوق دریافت نمیکنند. داوطلب هستند
✅ بیشتر از 550 کارمند که هیچ درکی از ویکی پدیا و کامیونیتی آن ندارد و مدیرانی که $400,000 دلار برای خودشان حقوق خواسته اند و ...
⁉️ نظر شما چیست ؟
آیا مسیر ویکی پیدا و شفایت مالی آن درست است ؟
خواندن گزارش کامل از روزنامه نگار Andrew Orlowski در وب سایت خودش
💰ویکیپدیا با پول نقدی که درحال حاضر از راه دونیت جمع آوری شده ، بدون اجرای تبلیغات، میتواند ۲۰ سال به راحتی کار کند. پس پول ها کجا می رود؟
❌ افرادی که کار واقعی سایت را انجام می دهند. نه
❌ مدیران و نگهبانان ویکیپدیا، که مدخلها را اصلاح میکنند و خرابکاریهای همیشگی را تصحیح میکنند، نه
نه انها یک پنی حقوق دریافت نمیکنند. داوطلب هستند
✅ بیشتر از 550 کارمند که هیچ درکی از ویکی پدیا و کامیونیتی آن ندارد و مدیرانی که $400,000 دلار برای خودشان حقوق خواسته اند و ...
⁉️ نظر شما چیست ؟
آیا مسیر ویکی پیدا و شفایت مالی آن درست است ؟
خواندن گزارش کامل از روزنامه نگار Andrew Orlowski در وب سایت خودش
Forwarded from DevTwitter | توییت برنامه نویسی
سرورلس کامپیوتینگ: تحول در دنیای توسعه نرمافزار
سرورلس کامپیوتینگ (Serverless Computing) یک مدل معماری است که به توسعهدهندگان این امکان را میدهد تا بدون نیاز به مدیریت زیرساختهای سرور، تنها بر روی نوشتن و پیادهسازی کد تمرکز کنند. برخلاف آنچه که از اسمش به نظر میرسد، سرورلس به این معنا نیست که هیچ سروری وجود ندارد، بلکه این به این معناست که تمام مدیریت سرور، مقیاسپذیری و نگهداری آن به عهده ارائهدهندگان خدمات ابری (مانند AWS، Google Cloud و Azure) است.
چرا سرورلس کامپیوتینگ یک تغییر بزرگ است؟
کارایی هزینهای بالا: ما فقط برای منابعی که مصرف میکنیم هزینه پرداخت میکنیم. به این معنی که برای زمانهایی که کد شما اجرا نمیشود، هیچ هزینهای نمیپردازیم. این ویژگی برای استارتاپها و کسبوکارهای در حال رشد که به دنبال صرفهجویی در هزینهها هستند، ایدهآل است.
مقیاسپذیری خودکار: در این مدل، نیازی به نگرانی درباره مقیاسپذیری و تنظیم تعداد سرورها نیست. ابزارهای سرورلس بهطور خودکار بار ترافیک را مدیریت کرده و تعداد منابع مورد نیاز را بسته به تقاضا تنظیم میکنند.
تمرکز بیشتر روی کد: توسعهدهندگان میتوانند بیشتر بر روی نوشتن منطق کسبوکار و ویژگیهای جدید تمرکز کنند، بدون اینکه دغدغهای در مورد مدیریت زیرساختها داشته باشند.
پیادهسازی سریعتر: به دلیل این که تنها قسمتهای خاصی از برنامه به صورت مستقل اجرا میشوند، میتوانیم ویژگیهای جدید را در زمان کوتاهی پیادهسازی کرده و آنها را سریعتر به محیط تولید منتقل کنیم.
انعطافپذیری و سرعت: برای ایجاد API ها، پردازشهای زمان واقعی، و میکروسرویسها به راحتی میتوان از سرورلس استفاده کرد که باعث افزایش سرعت توسعه و تغییرات میشود.
ابزارهای سرورلس معروف:
AWS Lambda
Google Cloud Functions
Azure Functions
این ابزارها به ما این امکان را میدهند که کدهای خود را در قالب توابع مستقل اجرا کنید و فقط زمانی که این توابع فراخوانی میشوند، منابع مصرف شوند.
نتیجهگیری:
سرورلس کامپیوتینگ به ما این امکان را میدهد که بدون نیاز به مدیریت سرورها و زیرساختهای پیچیده، به سرعت و به صورت مقیاسپذیر برنامهنویسی کنیم. این رویکرد، بهویژه برای پروژههای کوچک و استارتاپها که میخواهند از هزینههای سرور اجتناب کنند و بر نوشتن کد تمرکز کنند، ایدهآل است.
@DevTwitter | <Mohammad Hosein Shahbazi/>
سرورلس کامپیوتینگ (Serverless Computing) یک مدل معماری است که به توسعهدهندگان این امکان را میدهد تا بدون نیاز به مدیریت زیرساختهای سرور، تنها بر روی نوشتن و پیادهسازی کد تمرکز کنند. برخلاف آنچه که از اسمش به نظر میرسد، سرورلس به این معنا نیست که هیچ سروری وجود ندارد، بلکه این به این معناست که تمام مدیریت سرور، مقیاسپذیری و نگهداری آن به عهده ارائهدهندگان خدمات ابری (مانند AWS، Google Cloud و Azure) است.
چرا سرورلس کامپیوتینگ یک تغییر بزرگ است؟
کارایی هزینهای بالا: ما فقط برای منابعی که مصرف میکنیم هزینه پرداخت میکنیم. به این معنی که برای زمانهایی که کد شما اجرا نمیشود، هیچ هزینهای نمیپردازیم. این ویژگی برای استارتاپها و کسبوکارهای در حال رشد که به دنبال صرفهجویی در هزینهها هستند، ایدهآل است.
مقیاسپذیری خودکار: در این مدل، نیازی به نگرانی درباره مقیاسپذیری و تنظیم تعداد سرورها نیست. ابزارهای سرورلس بهطور خودکار بار ترافیک را مدیریت کرده و تعداد منابع مورد نیاز را بسته به تقاضا تنظیم میکنند.
تمرکز بیشتر روی کد: توسعهدهندگان میتوانند بیشتر بر روی نوشتن منطق کسبوکار و ویژگیهای جدید تمرکز کنند، بدون اینکه دغدغهای در مورد مدیریت زیرساختها داشته باشند.
پیادهسازی سریعتر: به دلیل این که تنها قسمتهای خاصی از برنامه به صورت مستقل اجرا میشوند، میتوانیم ویژگیهای جدید را در زمان کوتاهی پیادهسازی کرده و آنها را سریعتر به محیط تولید منتقل کنیم.
انعطافپذیری و سرعت: برای ایجاد API ها، پردازشهای زمان واقعی، و میکروسرویسها به راحتی میتوان از سرورلس استفاده کرد که باعث افزایش سرعت توسعه و تغییرات میشود.
ابزارهای سرورلس معروف:
AWS Lambda
Google Cloud Functions
Azure Functions
این ابزارها به ما این امکان را میدهند که کدهای خود را در قالب توابع مستقل اجرا کنید و فقط زمانی که این توابع فراخوانی میشوند، منابع مصرف شوند.
نتیجهگیری:
سرورلس کامپیوتینگ به ما این امکان را میدهد که بدون نیاز به مدیریت سرورها و زیرساختهای پیچیده، به سرعت و به صورت مقیاسپذیر برنامهنویسی کنیم. این رویکرد، بهویژه برای پروژههای کوچک و استارتاپها که میخواهند از هزینههای سرور اجتناب کنند و بر نوشتن کد تمرکز کنند، ایدهآل است.
@DevTwitter | <Mohammad Hosein Shahbazi/>
Forwarded from IRCF | اینترنت آزاد برای همه
Forwarded from DevTwitter | توییت برنامه نویسی
افزایش کارایی در لاراول با جلوگیری از مشکل N+1
آیا میدانستید که N+1 Query Problem یکی از موضوعات رایج در مصاحبههای برنامهنویسی لاراول است؟ اگر به دنبال افزایش دانش خود برای پروژهها و همچنین آمادگی برای مصاحبه هستید، این نکته طلایی را از دست ندهید!
مشکل N+1 چیست؟
این مشکل زمانی رخ میدهد که برای هر رکورد، یک کوئری جداگانه اجرا شود. مثلاً وقتی لیست کتابها را با نویسندههایشان واکشی میکنید، بهجای یک کوئری کلی، چندین کوئری اجرا میشود که کارایی برنامه را به شدت کاهش میدهد.
راهحل؟ (Eager Loading):
با استفاده از with() در لاراول، میتوانید روابط مدلها را در یک کوئری بازیابی کنید و از N+1 جلوگیری کنید
در تصویر نمونه درست و غلط رو هم درج کردم
با این روش، همه نویسندهها همراه با کتابها در یک کوئری واکشی میشوند و سرعت اپلیکیشن شما افزایش مییابد.
نکته مصاحبهای:
مصاحبهکنندگان اغلب میپرسند: "چگونه میتوان از مشکل N+1 جلوگیری کرد؟" حالا شما با این پاسخ آماده هستید!
@DevTwitter | <Alireza Ahmadi/>
آیا میدانستید که N+1 Query Problem یکی از موضوعات رایج در مصاحبههای برنامهنویسی لاراول است؟ اگر به دنبال افزایش دانش خود برای پروژهها و همچنین آمادگی برای مصاحبه هستید، این نکته طلایی را از دست ندهید!
مشکل N+1 چیست؟
این مشکل زمانی رخ میدهد که برای هر رکورد، یک کوئری جداگانه اجرا شود. مثلاً وقتی لیست کتابها را با نویسندههایشان واکشی میکنید، بهجای یک کوئری کلی، چندین کوئری اجرا میشود که کارایی برنامه را به شدت کاهش میدهد.
راهحل؟ (Eager Loading):
با استفاده از with() در لاراول، میتوانید روابط مدلها را در یک کوئری بازیابی کنید و از N+1 جلوگیری کنید
در تصویر نمونه درست و غلط رو هم درج کردم
با این روش، همه نویسندهها همراه با کتابها در یک کوئری واکشی میشوند و سرعت اپلیکیشن شما افزایش مییابد.
نکته مصاحبهای:
مصاحبهکنندگان اغلب میپرسند: "چگونه میتوان از مشکل N+1 جلوگیری کرد؟" حالا شما با این پاسخ آماده هستید!
@DevTwitter | <Alireza Ahmadi/>
Forwarded from Geek Alerts
ثبتنام اینترنت ماهوارهای استارلینک برای مشترکان تیموبایل باز شده، این برنامه آزمایشی و البته رایگان هست که از ماه دیگه شروع میشه و امکان ارسال و دریافت پیامک ماهوارهای رو میده.
توضیح داده تو مناطقی که آنتن موبایل نیست، گوشی شما به ماهوارههای استارلینک وصل میشه.
تیموبایل میگه: قصد داریم با شرکای رومینگ جهانی و اسپیسایکس همکاری کنیم تا سرویس ماهوارهای رو در کشورهای دیگه و آبهای بینالمللی ارائه بدیم.
فعلا تو طرح آزمایشی فقط ایالات متحده پوشش داده میشه.
سرویسهای تجاری (تماس و اینترنت) تو سال ۲۰۲۵ ارائه میشن.
pcmag
t-mobile
@geekalerts
توضیح داده تو مناطقی که آنتن موبایل نیست، گوشی شما به ماهوارههای استارلینک وصل میشه.
تیموبایل میگه: قصد داریم با شرکای رومینگ جهانی و اسپیسایکس همکاری کنیم تا سرویس ماهوارهای رو در کشورهای دیگه و آبهای بینالمللی ارائه بدیم.
فعلا تو طرح آزمایشی فقط ایالات متحده پوشش داده میشه.
سرویسهای تجاری (تماس و اینترنت) تو سال ۲۰۲۵ ارائه میشن.
pcmag
t-mobile
@geekalerts