Forwarded from محتوای آزاد سهراب
Forwarded from 🪷 My Safe Aquarium ✨
یه شبکه اجتماعی اومده به نام SocialAI که شبیه توییتره ولی شما تنها انسان واقعی تو اون برنامه هستین!!
در واقع شما حرف خودتو اونجا میزنی٬ کلی اکانتم فالوت دارن و کلی اکانتم میان در مورد پستت کامنتای مختلف میذارن ولی همه اونها هوش مصنوعین!!
میتونی هرچی دلت میخواد بگی و حتی مورد قضاوت قرار میگیری ولی کسی نمیفهمه و فقط هوش مصنوعی تورو خونده و بهت جواب داده!
در واقع شما حرف خودتو اونجا میزنی٬ کلی اکانتم فالوت دارن و کلی اکانتم میان در مورد پستت کامنتای مختلف میذارن ولی همه اونها هوش مصنوعین!!
میتونی هرچی دلت میخواد بگی و حتی مورد قضاوت قرار میگیری ولی کسی نمیفهمه و فقط هوش مصنوعی تورو خونده و بهت جواب داده!
❤1
Forwarded from Future Pulse Persian
Forwarded from Pishro App
این رو هم یکی از دوستان زحمت کشیده و benchmark گرفته
و خوب توی تصویر میبینید که تو حالت سوم از لحاظ زمانی خیلی بهتر بوده
و البته اگر ستون هایی رو هم که میخوایم تو خروجی داشته باشیم به متد get بدیم باز هم پرفورمنس استفاده از این روش بخاطر عدم استفاده از مدل سبکتر و سریعتر میشه که خوب توی حجم بالاتر بهتر خودش رو نشون میده
متشکر @PhpWebDeveloper جان
👾 @pishroapp
$m1 = memory_benchmark(function () {
$cities = \App\Models\City::all();
});
$m2 = memory_benchmark(function () {
$cities = \App\Models\City::get();
});
$m3 = memory_benchmark(function () {
$cities = \App\Models\City::toBase()->get();
});
dd($m1, $m2, $m3);و خوب توی تصویر میبینید که تو حالت سوم از لحاظ زمانی خیلی بهتر بوده
و البته اگر ستون هایی رو هم که میخوایم تو خروجی داشته باشیم به متد get بدیم باز هم پرفورمنس استفاده از این روش بخاطر عدم استفاده از مدل سبکتر و سریعتر میشه که خوب توی حجم بالاتر بهتر خودش رو نشون میده
متشکر @PhpWebDeveloper جان
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Programming Resources via @like
Do you know we will have overflow for datetime on January 19, 2038 because of UNIX timestamp?
آیا میدانید در سال ۲۰۳۸ یه باگ بزرگ خواهیم داشت و اونم سرریز کردن unix timestamp عه چون دیگه جا نداره که زمانهای بعدی رو نگه داره ؟
#bug #date #time #unix #2038 #overflow #timestamp
@pythony
https://2038.wtf
آیا میدانید در سال ۲۰۳۸ یه باگ بزرگ خواهیم داشت و اونم سرریز کردن unix timestamp عه چون دیگه جا نداره که زمانهای بعدی رو نگه داره ؟
#bug #date #time #unix #2038 #overflow #timestamp
@pythony
https://2038.wtf
AzadCast - E01
Unrivaledir
📣 قسمت ۱ پادکست آزاد
🗣️ در این قسمت در خصوص لینوکس ۶/۱۱، VirtualBox ۷٫۱، نکست کلود هاب ۹، PIN، اوبونتو ۲۴/۱۰، گنوم ۴۷، تلگرام، Aria2App، پیرتیوب ۶٫۳ و کازمیک صحبت کردیم.
💬 مثل همیشه پیشنهادات و انتقادات با آغوش باز استقبال خواهد شد.
🔗 ماتریکس، کلاینتها، نمونه ویز
🔗 دلتاچت
🔗 SimpleX
🔗 ارائه میزکار کازمیک
© پروانه: CC-BY-SA-4
🔹🔹🔹🔹🔹
#podcast #AzadCast
#linux #ubuntu #cosmic #telegram #peertube #gnome #nextcloud #virtualbox
🔹🔹🔹🔹🔹
✈️ تلگرام
™️ توییتر
📺 یوتیوب
🐘 ماستودون
🖥 وبسایت
🗣️ در این قسمت در خصوص لینوکس ۶/۱۱، VirtualBox ۷٫۱، نکست کلود هاب ۹، PIN، اوبونتو ۲۴/۱۰، گنوم ۴۷، تلگرام، Aria2App، پیرتیوب ۶٫۳ و کازمیک صحبت کردیم.
💬 مثل همیشه پیشنهادات و انتقادات با آغوش باز استقبال خواهد شد.
🔗 ماتریکس، کلاینتها، نمونه ویز
🔗 دلتاچت
🔗 SimpleX
🔗 ارائه میزکار کازمیک
© پروانه: CC-BY-SA-4
🔹🔹🔹🔹🔹
#podcast #AzadCast
#linux #ubuntu #cosmic #telegram #peertube #gnome #nextcloud #virtualbox
🔹🔹🔹🔹🔹
✈️ تلگرام
™️ توییتر
📺 یوتیوب
🐘 ماستودون
🖥 وبسایت
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 با خرابکاری ایردراپ همستر, حال ایردارپ های تلگرامی خوب نیست و اعتماد کاربران رو از دست دادند.
هم اکنون اکوسیستم TON تلگرام در وضعیت خوبی قرار ندارد!
@TheRaymondDev
هم اکنون اکوسیستم TON تلگرام در وضعیت خوبی قرار ندارد!
@TheRaymondDev
Forwarded from Gopher Academy
در بحث بهینهسازی بین دو تعریف زیر در Go:
انتخاب بین این دو به نیاز و سناریوی خاصی که در برنامهتان دارید بستگی دارد. اما از دیدگاه بهینهسازی و کارایی، در اکثر موارد استفاده از
### 1. تفاوت در حافظه و سربار (Memory Overhead):
ا-
ا -
1. اشارهگر
2. خود ساختار
- از طرفی، در صورتی که دادهها را تغییر دهید (مثلاً به slice مقدار جدیدی اضافه کنید)، باید در حافظه دوباره مقداردهی شود و سربار اضافی در مدیریت حافظه ایجاد میشود.
ا-
ا-
- در واقع، دادهها از طریق اشارهگرها به مکان دیگری از حافظه اشاره دارند، که این بهینهتر است اگر شما قرار نیست ساختارهای
- هر بار که یک عنصر به این slice اضافه کنید، تنها یک اشارهگر اضافه میشود و سربار اضافی برای کپیکردن ساختارهای بزرگ
### 2. سهولت استفاده و تغییرپذیری:
-
- برای هر بار دسترسی یا تغییر مقدار داخل
- مدیریت حافظه میتواند پیچیدهتر باشد، بهویژه اگر در کدتان جابجایی یا تغییرات زیادی در slice رخ دهد.
-
- استفاده از
- کار با اشارهگرها در Go معمولاً کارآمدتر است و نیاز به جابجایی و کپی دادهها کمتر است.
### 3. کارایی در عمل (Performance):
-
- در این حالت هر بار که دادهها به slice اضافه یا تغییر داده شوند، اگر ظرفیت slice پر شده باشد، ممکن است نیاز به تخصیص حافظه جدید و کپی دادهها به مکان جدید باشد. این میتواند عملکرد را تحت تأثیر قرار دهد.
- همچنین، داشتن اشارهگر اضافی ممکن است باعث افزایش سربار در حافظه و زمان دسترسی شود.
-
- بهینهتر است چون شما مستقیماً اشارهگرها به ساختارهای
- این روش کارایی بالاتری دارد، بهویژه زمانی که ساختار
### نتیجهگیری:
در بیشتر سناریوها،
- کمتر بودن سربار حافظه: به جای کپیکردن دادههای بزرگ، تنها اشارهگرها را در slice نگه میدارید.
- عملکرد بهتر در تغییرات slice: تغییر دادن و مدیریت اشارهگرها سریعتر است و سربار کمتری در مقایسه با کپی کردن ساختارهای بزرگ دارد.
- سادگی و سهولت استفاده:
با این حال، اگر نیاز خاصی دارید که به یک اشارهگر به یک slice نیاز باشد، مانند مواقعی که میخواهید یک ساختار slice را بین چندین تابع به اشتراک بگذارید و آن را تغییر دهید، استفاده از
➖➖➖➖➖➖➖➖
👑 @gopher_academy
var x *[]user
// اشارهگر به یک slice از نوع user
var y []*user
// یک slice از اشارهگرها به user
انتخاب بین این دو به نیاز و سناریوی خاصی که در برنامهتان دارید بستگی دارد. اما از دیدگاه بهینهسازی و کارایی، در اکثر موارد استفاده از
y []*user بهینهتر است. دلایل این انتخاب را در ادامه توضیح میدهم.### 1. تفاوت در حافظه و سربار (Memory Overhead):
ا-
x *[]user (اشارهگر به slice از user):ا -
x فقط یک اشارهگر به یک slice است، بنابراین شما باید یک ساختار slice کامل در جای دیگری از حافظه داشته باشید. این یعنی دو مرتبه نگهداری اطلاعات در حافظه:1. اشارهگر
x که به یک slice اشاره میکند.2. خود ساختار
slice که شامل اطلاعاتی مثل طول (length)، ظرفیت (capacity) و اشارهگر به آرایه پشتیبان (underlying array) است.- از طرفی، در صورتی که دادهها را تغییر دهید (مثلاً به slice مقدار جدیدی اضافه کنید)، باید در حافظه دوباره مقداردهی شود و سربار اضافی در مدیریت حافظه ایجاد میشود.
ا-
y []*user (slice از اشارهگرها به user):ا-
y یک slice از اشارهگرهاست و هر خانه آن فقط یک اشارهگر به یک user است. در اینجا شما فقط اشارهگرها را ذخیره میکنید و از فضای کمتری برای نگهداری هر عنصر استفاده میشود.- در واقع، دادهها از طریق اشارهگرها به مکان دیگری از حافظه اشاره دارند، که این بهینهتر است اگر شما قرار نیست ساختارهای
user را مکرراً کپی کنید.- هر بار که یک عنصر به این slice اضافه کنید، تنها یک اشارهگر اضافه میشود و سربار اضافی برای کپیکردن ساختارهای بزرگ
user وجود ندارد.### 2. سهولت استفاده و تغییرپذیری:
-
x *[]user:- برای هر بار دسترسی یا تغییر مقدار داخل
x، باید ابتدا اشارهگر x را dereference کنید. این کار پیچیدگی کد را افزایش میدهد و نیازمند دستورات اضافی است.- مدیریت حافظه میتواند پیچیدهتر باشد، بهویژه اگر در کدتان جابجایی یا تغییرات زیادی در slice رخ دهد.
-
y []*user:- استفاده از
y سادهتر است زیرا مستقیماً با یک slice سروکار دارید و نیازی به dereference نیست.- کار با اشارهگرها در Go معمولاً کارآمدتر است و نیاز به جابجایی و کپی دادهها کمتر است.
### 3. کارایی در عمل (Performance):
-
x *[]user:- در این حالت هر بار که دادهها به slice اضافه یا تغییر داده شوند، اگر ظرفیت slice پر شده باشد، ممکن است نیاز به تخصیص حافظه جدید و کپی دادهها به مکان جدید باشد. این میتواند عملکرد را تحت تأثیر قرار دهد.
- همچنین، داشتن اشارهگر اضافی ممکن است باعث افزایش سربار در حافظه و زمان دسترسی شود.
-
y []*user:- بهینهتر است چون شما مستقیماً اشارهگرها به ساختارهای
user را در slice ذخیره میکنید. هیچ نیازی به کپیکردن کل ساختار user نیست.- این روش کارایی بالاتری دارد، بهویژه زمانی که ساختار
user بزرگ باشد و کپیکردن آن هزینهبر باشد.### نتیجهگیری:
در بیشتر سناریوها،
y []*user بهینهتر است:- کمتر بودن سربار حافظه: به جای کپیکردن دادههای بزرگ، تنها اشارهگرها را در slice نگه میدارید.
- عملکرد بهتر در تغییرات slice: تغییر دادن و مدیریت اشارهگرها سریعتر است و سربار کمتری در مقایسه با کپی کردن ساختارهای بزرگ دارد.
- سادگی و سهولت استفاده:
y []*user نیازی به dereference اضافی ندارد و مدیریت آن راحتتر است.با این حال، اگر نیاز خاصی دارید که به یک اشارهگر به یک slice نیاز باشد، مانند مواقعی که میخواهید یک ساختار slice را بین چندین تابع به اشتراک بگذارید و آن را تغییر دهید، استفاده از
x *[]user ممکن است مفید باشد.➖➖➖➖➖➖➖➖
👑 @gopher_academy
Forwarded from Linuxor ?
بی خودی خودتونو اذیت نکنید
شما هیچ وقت نمیتونین یه سیستم عاملی پیدا کنید که هم زیادی امن باشه هم زیادی آزادی عمل بهتون بده.
اگه گوشی اندروید دستتونه و اجازه نمیده که یه rule شخصی بنویسید و vpn تون رو برای بقیه از طریق hotspot به اشتراک بزارید، این اجازه ندادنه توی یه لولی باعث شده گوشی شما امن تر باشه.
🐧 @Linuxor
شما هیچ وقت نمیتونین یه سیستم عاملی پیدا کنید که هم زیادی امن باشه هم زیادی آزادی عمل بهتون بده.
اگه گوشی اندروید دستتونه و اجازه نمیده که یه rule شخصی بنویسید و vpn تون رو برای بقیه از طریق hotspot به اشتراک بزارید، این اجازه ندادنه توی یه لولی باعث شده گوشی شما امن تر باشه.
🐧 @Linuxor
Forwarded from Code Module | کد ماژول (genix)
با پترن Facade پیچیدگی رو ساده کن! 🪼
الگوی Facade (یا façade) یک الگوی طراحی نرم افزاری هست که معمولاً در برنامه نویسی شی گرا استفاده میشه. این الگو مشابه نما در معماری هست که به عنوان یک رابط رو به جلو عمل میکنه که کدهای زیرین ساختاری پیچیده تری رو پوشش میدن. یک Facade میتونه:
- بهبود خوانایی و قابلیت استفاده یک کتابخانه با پوشاندن تعامل با اجزای پیچیده تر در پشت یک API واحد (و اغلب ساده شده) ارائه میده. همچنین یک رابط کاربری خاص برای عملکردهای عمومی تر ارائه میده.
دولوپر ها اغلب زمانی از الگوی طراحی نما استفاده میکنن که درک یک سیستم بسیار پیچیده یا دشوار هست، چرا که سیستم دارای کلاس های وابسته به یکدیگر هست یا کد سورس کد در دسترس نیست. این الگو پیچیدگی های سیستم بزرگتر رو پنهان میکنه و رابط کاربری ساده تری رو برای مشتری فراهم میکنه. این معمولا شامل یک کلاس wrapper هست که شامل مجموعه ای از اعضای مورد نیاز کلاینت هست. این اعضا از طرف کلاینت(مشتری) به سیستم دسترسی پیدا کرده و جزئیات پیاده سازی رو مخفی میکنه.
به عنوان مثال برنامه صبحگاهی خود رو تصور کنید. احتمالاً شامل چندین مرحله هست: دم کردن قهوه( یا چای)، روشن کردن چراغ ها، پخش موسیقی. هر یک از این اقدامات ممکنه شامل تعامل با دستگاه ها یا برنامه های جداگانه باشه.
الگوی طراحی نما مثل داشتن یک دکمه دستی "Morning Magic" روی میز خواب شما هست:
- سیستم پیچیده: وسایل مختلف، چراغ ها، بلندگوها نشان دهنده زیرسیستم پیچیده هستن. تعامل با هر یک به صورت جداگانه میتونه دست و پا گیر باشه.
- Facade (دکمه جادویی صبح): این دکمه به عنوان Facade عمل میکنه. این یک رابط واحد - یک دکمه ساده - برای فعال کردن کل برنامه صبحگاهی فراهم میکنه.
به صورت کلی الگوی نما، در برنامه نویسی شی گرا، مانند نمای ساختمان در معماری عمل میکنه. جلوی سادهای رو ارائه میکنه که عملکرد پیچیده درونی رو پنهان میکنه. در اصطلاح نرم افزاری، کلاسی هست که رابط کارآمد (streamlined interface) رو برای یک زیرسیستم یا کتابخانه پیچیده فراهم میکنه. برای اطلاعات بیشتر این مقالات ممکنه کمک کننده باشه:
- Article
- Article
- Article
#design_pattern
@CodeModule
الگوی Facade (یا façade) یک الگوی طراحی نرم افزاری هست که معمولاً در برنامه نویسی شی گرا استفاده میشه. این الگو مشابه نما در معماری هست که به عنوان یک رابط رو به جلو عمل میکنه که کدهای زیرین ساختاری پیچیده تری رو پوشش میدن. یک Facade میتونه:
- بهبود خوانایی و قابلیت استفاده یک کتابخانه با پوشاندن تعامل با اجزای پیچیده تر در پشت یک API واحد (و اغلب ساده شده) ارائه میده. همچنین یک رابط کاربری خاص برای عملکردهای عمومی تر ارائه میده.
دولوپر ها اغلب زمانی از الگوی طراحی نما استفاده میکنن که درک یک سیستم بسیار پیچیده یا دشوار هست، چرا که سیستم دارای کلاس های وابسته به یکدیگر هست یا کد سورس کد در دسترس نیست. این الگو پیچیدگی های سیستم بزرگتر رو پنهان میکنه و رابط کاربری ساده تری رو برای مشتری فراهم میکنه. این معمولا شامل یک کلاس wrapper هست که شامل مجموعه ای از اعضای مورد نیاز کلاینت هست. این اعضا از طرف کلاینت(مشتری) به سیستم دسترسی پیدا کرده و جزئیات پیاده سازی رو مخفی میکنه.
به عنوان مثال برنامه صبحگاهی خود رو تصور کنید. احتمالاً شامل چندین مرحله هست: دم کردن قهوه( یا چای)، روشن کردن چراغ ها، پخش موسیقی. هر یک از این اقدامات ممکنه شامل تعامل با دستگاه ها یا برنامه های جداگانه باشه.
الگوی طراحی نما مثل داشتن یک دکمه دستی "Morning Magic" روی میز خواب شما هست:
- سیستم پیچیده: وسایل مختلف، چراغ ها، بلندگوها نشان دهنده زیرسیستم پیچیده هستن. تعامل با هر یک به صورت جداگانه میتونه دست و پا گیر باشه.
- Facade (دکمه جادویی صبح): این دکمه به عنوان Facade عمل میکنه. این یک رابط واحد - یک دکمه ساده - برای فعال کردن کل برنامه صبحگاهی فراهم میکنه.
به صورت کلی الگوی نما، در برنامه نویسی شی گرا، مانند نمای ساختمان در معماری عمل میکنه. جلوی سادهای رو ارائه میکنه که عملکرد پیچیده درونی رو پنهان میکنه. در اصطلاح نرم افزاری، کلاسی هست که رابط کارآمد (streamlined interface) رو برای یک زیرسیستم یا کتابخانه پیچیده فراهم میکنه. برای اطلاعات بیشتر این مقالات ممکنه کمک کننده باشه:
- Article
- Article
- Article
#design_pattern
@CodeModule
refactoring.guru
Facade
Facade is a structural design pattern that provides a simplified interface to a library, a framework, or any other complex set of classes.
Forwarded from Golden Code (علی 🇨🇴)
متود times در لاراول برای ایجاد یک Collection و تکرار یک تابع به تعداد مشخصی استفاده میشه.
ینی چی؟
این متد بهتون این امکانو میده تا یک تابع رو به تعداد مشخصی اجرا کنید و نتایجش رو در یک Collection جمعآوری کنید.
خروجیه پایین چیزی شبیه به [1, 2, 3] میشه
#laravel
@GoldenCodeir
(در منبع مثال دیگه هم گفته شده👇🏾)
https://x.com/laravelbackpack/status/1838541404689318158?s=19
ینی چی؟
این متد بهتون این امکانو میده تا یک تابع رو به تعداد مشخصی اجرا کنید و نتایجش رو در یک Collection جمعآوری کنید.
خروجیه پایین چیزی شبیه به [1, 2, 3] میشه
times(3, function($number) {
return $number;
})#laravel
@GoldenCodeir
(در منبع مثال دیگه هم گفته شده👇🏾)
https://x.com/laravelbackpack/status/1838541404689318158?s=19
X (formerly Twitter)
Backpack for Laravel (@laravelbackpack) on X
#Laravel Collections Tip
Check out the static `times` method. It creates a new collection, invoking the given closure a specified number of times.
Check out the static `times` method. It creates a new collection, invoking the given closure a specified number of times.
👍1
Forwarded from Yasha
اگه بهم پیام دادین و جواب ندادم دلیلش اینه که ۳۰۰ تا مسیج دیگه مثل شما درباره ایردراپها گرفتم و تنها شما نیستید. بچهها من واقعا الان توی زندگیم سرم شلوغه هفتهای یکی دو روز میرسم روی اینا کار کنم. وقت ندارم بیام چند ساعت با مشکل شما ور برم ببینم چرا روی سیستم شما کار نمیکنه چون ۱۰۰ نفر دیگه مثل شما هست...یه بخش کوچیکی از این پیاما رو زیر پستا میشه دید که چقدر زیاده. امیدوارم که یوقت این دیر جواب دادن من رو بیاحترامی برداشت نکنید. ❤️ این باگ دراوردنا سرگرمی منه، نه فعالیت جدیی توی یوتیوب دارم و نه قراره ازش پول دربیارم. و نه حتی توی زمینه کسب درآمد از ایردراپ فعالیت جدی دارم.
Forwarded from a pessimistic researcher (Kc)
Media is too big
VIEW IN TELEGRAM
Raise your wands
Maggie Smith 🖤
Maggie Smith 🖤
Forwarded from ⚝
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
Forwarded from محتوای آزاد سهراب
Forwarded from ⚝
I am actually not at all a man of science, not an observer, not an experimenter, not a thinker. I am by temperament nothing but a conquistador — an adventurer, if you want it translated — with all the curiosity, daring, and tenacity characteristic of a man of this sort.
— Sigmund Freud
#quote #learn
@amiria703_channel