Forwarded from Linuxor ?
اگه تازه وارد یه تیم جدید شدی و همه دارن دربارهی best practices کُد ریویو حرف میزنن ولی هیچکس معلوم نمیکنه دقیقاً چی درسته و چی نه، گوگل سالها تجربهی خودش توی مدیریت ریویوها رو خلاصه کرده و گذاشته اینجا. از نکات ریز مثل نامگذاری متغیر تا نحوهی فیدبک دادن مودبانه.
google.github.io/eng-practices
@Linuxor
google.github.io/eng-practices
@Linuxor
Forwarded from Digiato | دیجیاتو
This media is not supported in your browser
VIEW IN TELEGRAM
🔸«ستار هاشمی» با اشاره به اختلالات اخیر در طیفهای فرکانسی و سیستم جیپیاس اعلام کرد:
این مشکلات به دلیل ملاحظات مربوط به حضور احتمالی پهپادها و حفاظت از جان شهروندان توسط نهادهای اطلاعاتی، امنیتی و نظامی ایجاد شده است.
🔸او افزود:
این موضوع در حال وقوع است و ما در حال رایزنی هستیم تا این مسائل بهصورت تدریجی برطرف شود.
🔸هاشمی تأکید کرد که اختلال در سیگنالهای فرکانسی و جیپیاس باعث اختلال در ارائه خدمات کسبوکارها و کاهش کیفیت ارتباطات شده است.
🔸او خاطرنشان کرد:
جیپیاس و طیفهای فرکانسی زیرساختهایی هستند که اپراتورهای همراه به آن نیاز دارند و مدیریت ناکافی این موارد باعث کاهش کیفیت خدمات میشود. بخشی از افت کیفیت هفتههای اخیر نیز ناشی از همین مسئله است.
#ایران
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
این پستی که امروز میخوام توی لینوکسور بزارم یکم غم انگیزه چون سازندش چند سال پیش فوت کرد و دیگه پروژه هرچند خیلی خفن بود ادامه پیدا نکرد؛
در واقع یه ترمینال تحت وب باحال بود که خیلی هم معروف بود به اسم UpTerm که باهاش میتونستی از هرجا با مرورگر بهش وصل شی. دیگه لازم نبود SSH خشک رو تحمل کنی. البته الان جایگزین هاش خیلی هستن و خودشون هم Hyper رو معرفی کردن ولی UpTerm خیلی خوب بود توی زمان خودش :
github.com/railsware/upterm
@Linuxor
در واقع یه ترمینال تحت وب باحال بود که خیلی هم معروف بود به اسم UpTerm که باهاش میتونستی از هرجا با مرورگر بهش وصل شی. دیگه لازم نبود SSH خشک رو تحمل کنی. البته الان جایگزین هاش خیلی هستن و خودشون هم Hyper رو معرفی کردن ولی UpTerm خیلی خوب بود توی زمان خودش :
github.com/railsware/upterm
@Linuxor
Forwarded from Gopher Academy
کدوم هوش مصنوعی رو انتخاب می کنید واسه کارهای برنامه نویسی؟
Anonymous Poll
48%
GPT
12%
Grok
42%
Claude
17%
other
Forwarded from Codino School (ایمان غفوری)
This media is not supported in your browser
VIEW IN TELEGRAM
💥امکانات میکروسکوپ
👈 شناسایی کنترلرهایی که هیچ روتی براشون تعریف نشده
⚫️
🔬🔬🔬
@codino
👈 شناسایی کنترلرهایی که هیچ روتی براشون تعریف نشده
⚫️
php artisan check:dead_controllers🔬🔬🔬
@codino
Forwarded from Codino School (ایمان غفوری)
This media is not supported in your browser
VIEW IN TELEGRAM
💥امکانات میکروسکوپ
👈 گزارش فراخوانی تابع env خارج از فایل config
⚫️
🔬🔬🔬
@codino
👈 گزارش فراخوانی تابع env خارج از فایل config
⚫️
php artisan check:bad_practices🔬🔬🔬
@codino
Forwarded from Codino School (ایمان غفوری)
This media is not supported in your browser
VIEW IN TELEGRAM
💥 امکانات میکروسکوپ
👈 افزودن عبارت ()query:: در ابتدای کوئری ها الکوئنت
⚫️
🔬🔬🔬
#microscope
@codino
👈 افزودن عبارت ()query:: در ابتدای کوئری ها الکوئنت
⚫️
php artisan enforce:query🔬🔬🔬
#microscope
@codino
Forwarded from Codino School (ایمان غفوری)
This media is not supported in your browser
VIEW IN TELEGRAM
💥 امکانات میکروسکوپ
👈 پاک کردن خودکار doc block های به درد نخور از کنترلرها
⚫️
🔬🔬🔬
#microscope
@codino
👈 پاک کردن خودکار doc block های به درد نخور از کنترلرها
⚫️
php artisan check:generic_docblocks🔬🔬🔬
#microscope
@codino
Forwarded from SoniaCircuit (Sonia Fatholahi)
YouTube
رادیو جادی ۱۹۸ - ریبوت کن شاید برگشت
در رادیوی ۱۹۸، از دو ماجرا در یوتیوب میگیم و از دو ماجرا در ایران و یک حمله مرسوم این روزها به داراییهای دیجیتال آدمها رو بررسی میکنیم؛ سریع و موثر چون اکثر هکرها درگیرن!
برای حمایت:
پتریان: https://www.patreon.com/jadijadi
یوتیوب: https://www.youtu…
برای حمایت:
پتریان: https://www.patreon.com/jadijadi
یوتیوب: https://www.youtu…
Forwarded from Codino School (ایمان غفوری)
This media is not supported in your browser
VIEW IN TELEGRAM
💥 امکانات میکروسکوپ
👈 جانشین کردن کوتهنوشتهای کلاسها با نسخه اصلی
⚫️
🔬🔬🔬
#microscope
@codino
👈 جانشین کردن کوتهنوشتهای کلاسها با نسخه اصلی
⚫️
php artisan check:aliases🔬🔬🔬
#microscope
@codino
Forwarded from Codino School (ایمان غفوری)
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
چرا باید
عم قیزی قوربان السون عم اوقلو یاتان یره؟؟؟؟
😂😂😂😂
عم قیزی قوربان السون عم اوقلو یاتان یره؟؟؟؟
😂😂😂😂
Forwarded from Golden Code (@lix)
یکی از چالشای رایج در اپلیکیشنهای تحت وب اینه که اجرای مکرر کوئریهای دیتابیس باعث کندی برنامه و افزایش فشار روی سرور میشه.
لاراول برای حل این مشکل یک سیستم Cache قدرتمند ارائه داده. با کش میتونیم دادههای پرمصرف رو در حافظه ذخیره کنیم و دفعات بعد بدون مراجعه به دیتابیس، سریع به کاربر برگردونیم.
نتیجه؟
سرعت بالاتر
کاهش بار روی دیتابیس
تجربهی بهتر برای کاربر
📌 روشهای اصلی کار با Cache در لاراول
1. ذخیرهی موقت دیتا (remember)
وقتی دیتا ای رو میخوایم برای مدت مشخصی نگه داریم:
دادهی posts برای ۶۰ ثانیه در کش میمونه.
اگر وجود داشته باشه، دیگه کوئری اجرا نمیشه.
اگه وجود نداشته باشه، کوئری اجرا میشه و نتیجه ذخیره میشه.
2. ذخیرهی دائمی دیتا (forever)
برای دادههایی که بهندرت تغییر میکنن:
این داده هیچ وقت منقضی نمیشه.
فقط وقتی با forget پاکش کنیم از کش حذف میشه.
3. ذخیره و دریافت مستقیم (put, get)
کنترل کامل روی ذخیرهسازی و گرفتن داده دارید.
4. حذف دادههای کش شده
🔹 و forget برای حذف دادهی مشخص استفاده میشه.
🔹و flush همه کشها رو یکجا خالی میکنه (مثلاً در زمان توسعه).
5. کار با چندین استور کش
لاراول از استورهای مختلف مثل Redis, Memcached, Database یا File پشتیبانی میکنه:
این قابلیت انعطاف بالایی میده و میتونید بر اساس نیاز پروژه، استور مناسب انتخاب کنین.
6. گروهبندی کش با تگها (Tags)
وقتی بخواین چندین کش مرتبط رو مدیریت کنین:
🔹 با tags میتونین گروهی از کشها رو حذف کنین بدون اینکه بقیه دیتاها پاک بشن.
7. استفاده از rememberForever
برای دادههایی که تقریبا ثابت هستن:
🔹 مثل forever کار میکنه ولی ترکیب با callback داره.
🔹 مناسب برای دیتاهایی که همیشه به یک شکل نیاز داریم.
📌 چه دیتا هایی رو بهتره کش کنیم؟
لیست مقالات یا محصولات پر بازدید
دستهبندیها و منوهای سایت
تنظیمات عمومی سایت
نتایج کوئریهای سنگین و پرتکرار
خلاصه:
از کش برای دادههای پر مصرف و کم تغییر استفاده کنید.
با remember داده رو موقت ذخیره کنین.
با forever یا rememberForever دادههای ثابت رو نگه دارین.
با forget و flush دادهها رو بروز یا پاکسازی کنین.
در پروژههای بزرگ، از استورهای حرفهای مثل Redis برای مدیریت کش استفاده کنین.
با مدیریت درست کش، اپلیکیشن لاراولی شما نهتنها سریعتر میشه، بلکه دیتابیس هم نفس راحتی میکشه!
#Laravel
@GoldenCodeir
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/laravelbackpack/status/1957404629148611054?s=1
لاراول برای حل این مشکل یک سیستم Cache قدرتمند ارائه داده. با کش میتونیم دادههای پرمصرف رو در حافظه ذخیره کنیم و دفعات بعد بدون مراجعه به دیتابیس، سریع به کاربر برگردونیم.
نتیجه؟
سرعت بالاتر
کاهش بار روی دیتابیس
تجربهی بهتر برای کاربر
📌 روشهای اصلی کار با Cache در لاراول
1. ذخیرهی موقت دیتا (remember)
وقتی دیتا ای رو میخوایم برای مدت مشخصی نگه داریم:
$posts = Cache::remember('posts', 60, function () {
return Post::all();
});دادهی posts برای ۶۰ ثانیه در کش میمونه.
اگر وجود داشته باشه، دیگه کوئری اجرا نمیشه.
اگه وجود نداشته باشه، کوئری اجرا میشه و نتیجه ذخیره میشه.
2. ذخیرهی دائمی دیتا (forever)
برای دادههایی که بهندرت تغییر میکنن:
Cache::forever('settings', $settings);این داده هیچ وقت منقضی نمیشه.
فقط وقتی با forget پاکش کنیم از کش حذف میشه.
3. ذخیره و دریافت مستقیم (put, get)
Cache::put('key', 'value', 300); // ذخیره به مدت 300 ثانیه
$value = Cache::get('key'); // دریافت دادهکنترل کامل روی ذخیرهسازی و گرفتن داده دارید.
4. حذف دادههای کش شده
Cache::forget('posts'); // حذف یک کلید خاص
Cache::flush(); // حذف همه دادههای کش🔹 و forget برای حذف دادهی مشخص استفاده میشه.
🔹و flush همه کشها رو یکجا خالی میکنه (مثلاً در زمان توسعه).
5. کار با چندین استور کش
لاراول از استورهای مختلف مثل Redis, Memcached, Database یا File پشتیبانی میکنه:
Cache::store('redis')->put('bar', 'baz', 10);این قابلیت انعطاف بالایی میده و میتونید بر اساس نیاز پروژه، استور مناسب انتخاب کنین.
6. گروهبندی کش با تگها (Tags)
وقتی بخواین چندین کش مرتبط رو مدیریت کنین:
Cache::tags(['people', 'authors'])->put('Anne', $anne, 120);
Cache::tags('authors')->flush();🔹 با tags میتونین گروهی از کشها رو حذف کنین بدون اینکه بقیه دیتاها پاک بشن.
7. استفاده از rememberForever
برای دادههایی که تقریبا ثابت هستن:
$setting = Cache::rememberForever('website_description', function () {
return App\Models\Setting::firstWhere('name', 'website_description');
});🔹 مثل forever کار میکنه ولی ترکیب با callback داره.
🔹 مناسب برای دیتاهایی که همیشه به یک شکل نیاز داریم.
📌 چه دیتا هایی رو بهتره کش کنیم؟
لیست مقالات یا محصولات پر بازدید
دستهبندیها و منوهای سایت
تنظیمات عمومی سایت
نتایج کوئریهای سنگین و پرتکرار
خلاصه:
از کش برای دادههای پر مصرف و کم تغییر استفاده کنید.
با remember داده رو موقت ذخیره کنین.
با forever یا rememberForever دادههای ثابت رو نگه دارین.
با forget و flush دادهها رو بروز یا پاکسازی کنین.
در پروژههای بزرگ، از استورهای حرفهای مثل Redis برای مدیریت کش استفاده کنین.
با مدیریت درست کش، اپلیکیشن لاراولی شما نهتنها سریعتر میشه، بلکه دیتابیس هم نفس راحتی میکشه!
#Laravel
@GoldenCodeir
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/laravelbackpack/status/1957404629148611054?s=1
X (formerly Twitter)
Backpack for Laravel (@laravelbackpack) on X
#Laravel Tip
Don't let database queries slow you down. Use Laravel's cache facade to cache data temporarily, reducing database queries.
Don't let database queries slow you down. Use Laravel's cache facade to cache data temporarily, reducing database queries.
👍1
Forwarded from Linuxor ?
پیدا کردن آموزش خوب برای rust سخته این یکی از قشنگ ترین آموزش های راسته که تیم گوگل نوشتتش بسیار ساده و کوتاه :
google.github.io/comprehensive-rust
@Linuxor
google.github.io/comprehensive-rust
@Linuxor
Forwarded from کانال اطلاعرسانی توزیع پارچ
Media is too big
VIEW IN TELEGRAM
تیزر معرفی پارچ لینوکس بالاخره به اتمام رسید
به مناسبت تولد ۴ سالگی پارچ ما تصمیم گرفتیم تا یک تیزر بسازیم و پارچ رو در ۳۰ ثانیه به صورت کوتاه معرفی کنیم.
ویدئو این تیزر در پلتفرمهای زیر موجود است:
تماشا از یوتوب
تماشا از پیرتوب
@ParchLinux
به مناسبت تولد ۴ سالگی پارچ ما تصمیم گرفتیم تا یک تیزر بسازیم و پارچ رو در ۳۰ ثانیه به صورت کوتاه معرفی کنیم.
ویدئو این تیزر در پلتفرمهای زیر موجود است:
تماشا از یوتوب
تماشا از پیرتوب
@ParchLinux
Forwarded from Laravel News
Copy Errors as Markdown to Share With AI in Laravel 12.25 https://laravel-news.com/laravel-12-25-0
Laravel News
Copy Errors as Markdown to Share With AI in Laravel 12.25 - Laravel News
Laravel v12.25.0 is out with a Copy as Markdown button on the error page, allowing you to conveniently share error details with AI agents and LLMs.
Forwarded from Codino School (ایمان غفوری)
This media is not supported in your browser
VIEW IN TELEGRAM
💥 امکانات میکروسکوپ
👈 یکی از بهترین امکانات پکیج laravel-microscope رو در این قسمت خدمت تون معرفی کرده ام.
▫️میکروسکوپ پروژهی شما رو میگرده و کدها رو براتون ریفکتور میکنه!
⚫️
🔬🔬🔬
#microscope
@codino
👈 یکی از بهترین امکانات پکیج laravel-microscope رو در این قسمت خدمت تون معرفی کرده ام.
▫️میکروسکوپ پروژهی شما رو میگرده و کدها رو براتون ریفکتور میکنه!
⚫️
php artisan check:early_return🔬🔬🔬
#microscope
@codino
Forwarded from Linuxor ?
توی نرم افزار ما معمولا دو نوع پروتوتایپ Prototype یا نسخه اولیه داریم، یکیش نسخه اولیه دور انداختنی یا Throwaway Prototype هست که فقط برای تست ساخته میشه و دور انداخته میشه و بعدا نسخه بهترش ساخته میشه یکی هم نسخه اولیه تکاملی یا Evolutionary Prototype که کم کم توسعه پیدا میکنه و به محصول نهایی تبدیل میشه!
حالا سوال، کی باید بفهمیم از کدومش استفاده کنیم؟ در واقع وقتی ایده خیلی خامه و هنوز معلوم نیست جواب بده یا نه از پروتوتایپ دور انداختنی بهتره استفاده کنیم و زمانی که ایده نسبتا روشن و اثبات شدس بهتره از پروتوتایپ تکاملی استفاده کنیم.
@Linuxor
حالا سوال، کی باید بفهمیم از کدومش استفاده کنیم؟ در واقع وقتی ایده خیلی خامه و هنوز معلوم نیست جواب بده یا نه از پروتوتایپ دور انداختنی بهتره استفاده کنیم و زمانی که ایده نسبتا روشن و اثبات شدس بهتره از پروتوتایپ تکاملی استفاده کنیم.
@Linuxor
Forwarded from Codino School (ایمان غفوری)
امیدوارم بعد از انتشار کلیپ های اخیر درباره امکانات میکروسکوپ
از ۶۰٪ رسیده باشیم به یه چیزی زیر ۵۰٪
@codino
از ۶۰٪ رسیده باشیم به یه چیزی زیر ۵۰٪
@codino
Forwarded from haashemi.dev
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM