Forwarded from Golden Code (@lix)
لاراول با Artisan به ما امکان این رو داده تا وضعیت دیتابیس رو در ترمینال به خوبی بتونیم بررسی کنیم.
حالا یه سری کامند رو مرور کنیم:
(میاد ی آمار جامع و عالی از دیتابیس میده)
(بررسی تعداد کانکشن های دیتابیس(خیلی خفنه و آپشنای ديگه هم داره)
(یه نمای کلی از db و تعداد کانکشن های فعال و نوع دیتابیس...)
@GoldenCodeir
( منبع و مثالش)
https://x.com/OussamaMater/status/1833235842321756608?t=zoRINh3pYLRRThSPXX5cXw&s=19
علاوه بر منبع، اینم یه مقاله جامع:👇🏾
https://magecomp.com/blog/laravel-9-new-database-commands/
حالا یه سری کامند رو مرور کنیم:
Php artisan db:table
(میاد ی آمار جامع و عالی از دیتابیس میده)
Php artisan db:monitor
(بررسی تعداد کانکشن های دیتابیس(خیلی خفنه و آپشنای ديگه هم داره)
Php artisan db:show
(یه نمای کلی از db و تعداد کانکشن های فعال و نوع دیتابیس...)
@GoldenCodeir
( منبع و مثالش)
https://x.com/OussamaMater/status/1833235842321756608?t=zoRINh3pYLRRThSPXX5cXw&s=19
علاوه بر منبع، اینم یه مقاله جامع:👇🏾
https://magecomp.com/blog/laravel-9-new-database-commands/
X (formerly Twitter)
OussamaMater (@OussamaMater) on X
Laravel Tip 💡: Cool Artisan DB Commands
Have you ever needed to check if your db connection is working as expected? How many open connections do you have? Maybe you want to know the total size of a db? Well, Artisan comes with some cool commands to do exactly…
Have you ever needed to check if your db connection is working as expected? How many open connections do you have? Maybe you want to know the total size of a db? Well, Artisan comes with some cool commands to do exactly…
❤1
Forwarded from Yasha
بچهها برای ایردراپ Cats یه چیزی پیدا کردم ولی خیلی کم میده :( در حد 2.5k میشه از ماموریتای مخفی گرفت. بذارم؟ این Cats از همه معتبرتره. حدود ۳۰ میلیون کاربر داره.
Telegram
Join CATS
https://t.iss.one/catsgang_bot/join
Forwarded from Laravel News
Laravel Herd Adds Forge Integration, Dump Updates, and More in v1.11 https://laravel-news.com/laravel-herd-1-11-0
Laravel News
Laravel Herd Adds Forge Integration, Dump Updates, and More in v1.11 - Laravel News
Laravel Herd released v1.11.0 this week, a significant update that includes Laravel Forge integration, sharing Herd project configuration across a team, a convenient profiler integration, and more.
Forwarded from CleverDevs (£√a)
سلام به همگی👋
ما در نظر داریم یک نظرسنجی برگزار کنیم تا نظر شما رو درباره قرار دادن pdf کتاب های مرتبط در چنل رو بدونیم؛ با این وجود میدونیم که ممکنه سلیقهها متفاوت باشه و کتابهایی که انتخاب میشه، برای همه قابل قبول نباشه
ممنون میشیم با گفتن نظراتتون ما رو همراهی کنید❤️
#book #pdf
@CleverDevs - @CleverDevsGp
ما در نظر داریم یک نظرسنجی برگزار کنیم تا نظر شما رو درباره قرار دادن pdf کتاب های مرتبط در چنل رو بدونیم؛ با این وجود میدونیم که ممکنه سلیقهها متفاوت باشه و کتابهایی که انتخاب میشه، برای همه قابل قبول نباشه
ممنون میشیم با گفتن نظراتتون ما رو همراهی کنید❤️
#book #pdf
@CleverDevs - @CleverDevsGp
Forwarded from ⚝
We can't do anything to change the world until capitalism crumbles. In the meantime we should all go shopping to console ourselves.
— Banksy
🄯 CC-BY-SA 4 — w.wiki/BBNx
#quote
@amiria703_channel
Forwarded from ⚝
wikimap.toolforge.org/?wp=true&cluster=false&zoom=11&lat=35.6857&lon=51.3474
ابزار نمایش مقالهها و تصاویر با موقعیت موجود در ویکیپدیا و ویکیانبار بر روی نقشه:
#wikimedia #wikipedia #tool #معرفی
@amiria703_channel
ابزار نمایش مقالهها و تصاویر با موقعیت موجود در ویکیپدیا و ویکیانبار بر روی نقشه:
#wikimedia #wikipedia #tool #معرفی
@amiria703_channel
Forwarded from Gopher Academy
کامپایلر Go (گولنگ) با استفاده از زبان Go توسعه داده شده است. در واقع، نسخههای ابتدایی کامپایلر Go ابتدا به زبان C نوشته شده بود، اما پس از آن نسخههای بعدی کامپایلر به زبان Go بازنویسی شدند تا پروژه بهطور کامل خود-میزبان (self-hosted) باشد.
self-hosting به این معنی است که کامپایلر یک زبان برنامهنویسی با همان زبان برنامهنویسی نوشته شده است، و این موضوع برای بسیاری از زبانهای برنامهنویسی مانند Go یک دستاورد مهم محسوب میشود.
در حال حاضر، کامپایلر Go از یک ابزار به نام
➖➖➖➖➖➖➖➖
👑 @gopher_academy
self-hosting به این معنی است که کامپایلر یک زبان برنامهنویسی با همان زبان برنامهنویسی نوشته شده است، و این موضوع برای بسیاری از زبانهای برنامهنویسی مانند Go یک دستاورد مهم محسوب میشود.
در حال حاضر، کامپایلر Go از یک ابزار به نام
gc استفاده میکند که با Go نوشته شده است و در پروژه رسمی Go موجود است.➖➖➖➖➖➖➖➖
👑 @gopher_academy
Forwarded from Yasha
اگه خواستید یه بات ایردراپی روی تلگرام وب باز کنید ولی جلوتونو گرفت میتونید با این اسکریپتی که نوشتم bypass کنید.
مینیاپ رو باز می کنید، ارور که داد کد رو توی console کپیپیست میکنید.
@Yasha
مینیاپ رو باز می کنید، ارور که داد کد رو توی console کپیپیست میکنید.
@Yasha
Gist
To bypass airdrop Telegram miniapps preventation on computer
To bypass airdrop Telegram miniapps preventation on computer - script.js
Forwarded from IRCF | اینترنت آزاد برای همه
علاوهبر اختلال در دیتاسنتر #ایرانسل که به یک اختلال دائمی تبدیل شده، امروز دیتاسنترهای هاستایران، افرانت، #همراه_اول و پارسآنلاین هم از حوالی ظهر دارای اختلال هستند. / فیلتربان
🔍 ircf.space
@ircfspace
🔍 ircf.space
@ircfspace
Forwarded from Python BackendHub (Mani)
تلگرام و لینکدین شده پر از پست های GPT و LLM. خیلی وقتا حتی پستی که نوشتن رو نمیخونن. این مورد تو رزومه هم خیلییی دیده میشه!!!
این پستو ببینید،
نوشته مزایاش بهبود عملکرد، و maintainability عه. نگه داری و توسعه اش راحت تره.
بعد تو چالش هاش نوشته پیچیدست و نگه داریش سخته ؟؟؟!!!.
الان این متن پارادوکسه 😁
گرچه پرفومنس قطعا بهتر نمیشه، و قطعا افت میکنه. چون خیلی وقتا یک چیزه کمی از اون کوئری میخواین، ولی مجبورین چون اینترفیسش هست کلشو بگیرین. و یا ممکنه تو گرفتن یک کوئری، جوین هایی بخوره یا مراحلی انجام شه که اصلا نیاز نبوده تو اون یوزکیسی که دارین reuse میکنید از اون کوئری اینترفیس
@PyBackendHub
این پستو ببینید،
نوشته مزایاش بهبود عملکرد، و maintainability عه. نگه داری و توسعه اش راحت تره.
بعد تو چالش هاش نوشته پیچیدست و نگه داریش سخته ؟؟؟!!!.
الان این متن پارادوکسه 😁
گرچه پرفومنس قطعا بهتر نمیشه، و قطعا افت میکنه. چون خیلی وقتا یک چیزه کمی از اون کوئری میخواین، ولی مجبورین چون اینترفیسش هست کلشو بگیرین. و یا ممکنه تو گرفتن یک کوئری، جوین هایی بخوره یا مراحلی انجام شه که اصلا نیاز نبوده تو اون یوزکیسی که دارین reuse میکنید از اون کوئری اینترفیس
@PyBackendHub
Forwarded from محتوای آزاد سهراب
روی نوستر هم یک رله ساختم، به هرحال حوصلم سر رفته دارم دور شبکات اجتماعی میچرخم :)))
npub1lpykvkjdk7zhd2ncjmj0s5nacangphnhsn3eex5pc6c4g6lev2xsezqdym
میتونید از کلاینت https://nostter.app استفاده کنید برای نوستر.
شاید بعداً یک سری توضیحات دادم درمورد اینکه چطور کار میکنه.
@SohrabContents
npub1lpykvkjdk7zhd2ncjmj0s5nacangphnhsn3eex5pc6c4g6lev2xsezqdym
میتونید از کلاینت https://nostter.app استفاده کنید برای نوستر.
شاید بعداً یک سری توضیحات دادم درمورد اینکه چطور کار میکنه.
@SohrabContents
nostter
Nostr client for web.
Forwarded from کانال اطلاعرسانی توزیع پارچ (Sohrab)
همانطور که قبلاً گفته بودیم، اکنون موآ برای استفاده کاربران پارچ در دسترس است:
https://search.parchlinux.com
به زودی بهروزرسانیهایی را برای بهبود عملکرد فعلی این پروژه ارائه میدهیم.
اگر میخواستید پروژه فعلی رو برای خودتون خودمیزبانی (سلفهاست) بکنید، فایل داکر پروژه از این لینک در دسترس است. با تشکر از محمدمهدی عزیز برای ارائه داکر کامپوز خودش.
@ParchLinux
https://search.parchlinux.com
به زودی بهروزرسانیهایی را برای بهبود عملکرد فعلی این پروژه ارائه میدهیم.
اگر میخواستید پروژه فعلی رو برای خودتون خودمیزبانی (سلفهاست) بکنید، فایل داکر پروژه از این لینک در دسترس است. با تشکر از محمدمهدی عزیز برای ارائه داکر کامپوز خودش.
@ParchLinux
Forwarded from Syntax | سینتکس (Petres)
ارور ثروتمند و یا RichError 😏
ریچ ارور یک الگوی مدیریت خطا در برنامهنویسی است که به شما این امکان رو میده تا اطلاعات دقیقتری درباره خطاها ها و لایه های مختلفی که این خطا رخ داده تا در نهایت به دست شما رسیده ذخیره کنید و بر اساس این اطلاعات جمع آوری شده، به کاربر یا سیستمهای دیگه ارور و پیغام مناسب رو به راحتی نمایش بدید.
بر خلاف خطاهای استاندارد که معمولاً فقط شامل یک پیام یا کد خطا هستند، RichError میتونه شامل اطلاعات اضافی مثل متا دیتا، اپریشنی که توش خطا رخ داده، ارور های لایه پایین تر و هر اطلاعاتی که بدردتون میخوره رو داشته باشید.
چرا بهش Rich error میگیم؟
1. اطلاعات بیشتر:
- ریچ ارور میتونه شامل پیام خطا، کد خطا، نام عملی که باعث خطا شده و هر نوع اطلاعات دیگه باشه. این اطلاعات میتونن شامل متا دیتاهایی باشن که به درک بهتر مشکل کمک میکنن(خیلی کمک میکنن).
2. ساختار تو در تو:
- ریچ ارور میتونه به شما اجازه بده که خطاهای تو در تو رو مدیریت کنید. به این معنی که اگر یک خطا ناشی از یک خطای دیگه باشه میتونید به خطای اصلی برسید و درواقع خطایی از دست نمیره.
3. خیلی کارتونو راحت تر میکنه:
- تو مثال هایی که براتون زدم میفهمید که چقدر کارتون رو ساده تر میکنه همچنین باعث میشه کدتون منظم تر و یکپارچه بشه.
اگه هنوز درباره استفاده از Rich error دودلی اینم چند مزایای دیگه:
1. تشخیص بهتر مشکلات:
- با داشتن اطلاعات غنی درباره خطاها، تیمهای توسعه میتونن سریعتر و دقیقتر مشکلات رو شناسایی و حل کنن.
2. تجربه کاربری بهبود یافته:
- وقتی که خطاها به صورت واضح و با اطلاعات کافی به کاربر نمایش داده بشه، تجربه کاربری خیلی بهتر میشه.
3. توسعه سریعتر:
- با استفاده از RichError، سرعت توسعتون بیشتر میشه(طبق تجربه خودم)
5. سازگاری با سیستمهای دیگه:
- اطلاعات کافی و ساختارمند ریچ ارور میتونه به راحتی به سیستمهای دیگر منتقل بشه مثلا میتونید توی لاگرتون هم از اطلاعات ریچ ارور استفاده کنید.
چطور یک ریچ ارور خوب بنویسیم؟
تو ریپازیتوری زیر من ریچ اروری که تقریبا خودم استفاده میکنم رو قرار دادم. همچنین بخوبی درباره rich error توضیح دادم که اگه دوست دارید خودتون بنویسید چه مواردی رو باید رعایت کنید.
https://github.com/alireza-fa/rich-error
برای نصب:
ستاره فراموش نشه❤️
#rich_error #python
@Syntax_fa
ریچ ارور یک الگوی مدیریت خطا در برنامهنویسی است که به شما این امکان رو میده تا اطلاعات دقیقتری درباره خطاها ها و لایه های مختلفی که این خطا رخ داده تا در نهایت به دست شما رسیده ذخیره کنید و بر اساس این اطلاعات جمع آوری شده، به کاربر یا سیستمهای دیگه ارور و پیغام مناسب رو به راحتی نمایش بدید.
بر خلاف خطاهای استاندارد که معمولاً فقط شامل یک پیام یا کد خطا هستند، RichError میتونه شامل اطلاعات اضافی مثل متا دیتا، اپریشنی که توش خطا رخ داده، ارور های لایه پایین تر و هر اطلاعاتی که بدردتون میخوره رو داشته باشید.
چرا بهش Rich error میگیم؟
1. اطلاعات بیشتر:
- ریچ ارور میتونه شامل پیام خطا، کد خطا، نام عملی که باعث خطا شده و هر نوع اطلاعات دیگه باشه. این اطلاعات میتونن شامل متا دیتاهایی باشن که به درک بهتر مشکل کمک میکنن(خیلی کمک میکنن).
2. ساختار تو در تو:
- ریچ ارور میتونه به شما اجازه بده که خطاهای تو در تو رو مدیریت کنید. به این معنی که اگر یک خطا ناشی از یک خطای دیگه باشه میتونید به خطای اصلی برسید و درواقع خطایی از دست نمیره.
3. خیلی کارتونو راحت تر میکنه:
- تو مثال هایی که براتون زدم میفهمید که چقدر کارتون رو ساده تر میکنه همچنین باعث میشه کدتون منظم تر و یکپارچه بشه.
اگه هنوز درباره استفاده از Rich error دودلی اینم چند مزایای دیگه:
1. تشخیص بهتر مشکلات:
- با داشتن اطلاعات غنی درباره خطاها، تیمهای توسعه میتونن سریعتر و دقیقتر مشکلات رو شناسایی و حل کنن.
2. تجربه کاربری بهبود یافته:
- وقتی که خطاها به صورت واضح و با اطلاعات کافی به کاربر نمایش داده بشه، تجربه کاربری خیلی بهتر میشه.
3. توسعه سریعتر:
- با استفاده از RichError، سرعت توسعتون بیشتر میشه(طبق تجربه خودم)
5. سازگاری با سیستمهای دیگه:
- اطلاعات کافی و ساختارمند ریچ ارور میتونه به راحتی به سیستمهای دیگر منتقل بشه مثلا میتونید توی لاگرتون هم از اطلاعات ریچ ارور استفاده کنید.
چطور یک ریچ ارور خوب بنویسیم؟
تو ریپازیتوری زیر من ریچ اروری که تقریبا خودم استفاده میکنم رو قرار دادم. همچنین بخوبی درباره rich error توضیح دادم که اگه دوست دارید خودتون بنویسید چه مواردی رو باید رعایت کنید.
https://github.com/alireza-fa/rich-error
برای نصب:
pip install rich-error
ستاره فراموش نشه❤️
#rich_error #python
@Syntax_fa
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from جادی | Jadi
این ویدئو رو فقط یه بار می شد ضبط کنم و تصمیم گرفتم انگلیسی ضبط کنم. راستش علاوه بر مهارت الگوریتم که این چند وقت سعی میکنم نشونش بدم، امکان ارتباط انگلیسی و کمی شنیدن و کمی حرف زدن و کمی نوشتنش هم مهمه و جالبه که با تمرین ملایم راحت بهش می رسین.
توی این ویدئو یه کار شخصی ام رو ضبط کردم. درست کردن یه آدرس برای #نوستر بر اساس پروتکل و منابع خودش. توش راهنما رو می خونیم سریع، رو سرورمون آپاچی رو تنظیم می کنیم براش، با هوش مصنوعی یه کد سریع سر هم می کنیم و وقتی گیر می کنیم مساله رو ترابل شوت می کنیم (با نگاه کردن به مثال بامزه ای مثل جک دورسی).
خود بحث نوستر اینجا کمی مبهم خواهد بود چون ازش حرف نزدم و بعدا بیشتر می زنم ولی سبک کار و ترکیب کردن چیزها و دیدن اینکه انگلیسی چقدر قابل فهم و استفاده است مثبت ترین نکته ماجراست (:
https://youtu.be/-BLqBYtSh28
#ویدئو #انگلیسی
توی این ویدئو یه کار شخصی ام رو ضبط کردم. درست کردن یه آدرس برای #نوستر بر اساس پروتکل و منابع خودش. توش راهنما رو می خونیم سریع، رو سرورمون آپاچی رو تنظیم می کنیم براش، با هوش مصنوعی یه کد سریع سر هم می کنیم و وقتی گیر می کنیم مساله رو ترابل شوت می کنیم (با نگاه کردن به مثال بامزه ای مثل جک دورسی).
خود بحث نوستر اینجا کمی مبهم خواهد بود چون ازش حرف نزدم و بعدا بیشتر می زنم ولی سبک کار و ترکیب کردن چیزها و دیدن اینکه انگلیسی چقدر قابل فهم و استفاده است مثبت ترین نکته ماجراست (:
https://youtu.be/-BLqBYtSh28
#ویدئو #انگلیسی
YouTube
A fun session to enable a Nostr NIP05 address; studying NIP, Apache mod_rewrite & asking AI for code
I'm nprofile1qqsv9zhvu4327t2ax0newawjnlnqycpru40xgxluq0sn3vsxdmv3zwsz8pcwz on Nostr.. but its ugly! Good news? I can be [email protected] on Nostr if 1. I study the NIP05, 2. go to my Apache webserver and configure its mod_rewrite to forward requests to a script…
👍1
Forwarded from Syntax | سینتکس (Petres)
برای آشنایی بیشتر یه مثال هم اضافه کنم:
اگر از rich error استفاده نکنیم، برای هندل کردن ارور های مختلف مجبور بودیم از یک سولوشن دیگه بجز exception استفاده کنیم و یا اینکه بیایم و برای هر ارور به این صورت exceptionبنویسیم:
در handler هم باید این کار رو میکردیم:
در این صورت هرچقدر تعداد exceptionها بیشتر شود مدیریت کردن آنها نیز سخت تر خواهد شد. همچنین قدرت مشاهده گری سیستم با استفاده از exception ها نیز پایین می آید در صورتی که ما در rich error تمامی ارور هایی که در لایه های مختلف رخ داده باشند رو داشتیم.
اگه کد رو با rich error جایگزین کنیم:
از آنجا که ما یک ارور غنی داریم و از کد ها استفاده کردیم به راحتی میدانیم که این ارور به چه معنی است و حتی به سادگی http error مناسب را برگردانیم.
#rich_error #python
@Syntax_fa
اگر از rich error استفاده نکنیم، برای هندل کردن ارور های مختلف مجبور بودیم از یک سولوشن دیگه بجز exception استفاده کنیم و یا اینکه بیایم و برای هر ارور به این صورت exceptionبنویسیم:
class UserNotFoundErr(Exception):
pass
class IpBlockedErr(Exception):
pass
class TooManyRequestErr(Exception):
pass
class UserConflictErr(Exception):
pass
در handler هم باید این کار رو میکردیم:
from examples.without_rich_error.service import get_user_service
from examples.without_rich_error.exception import UserNotFoundErr, UserConflictErr, TooManyRequestErr, IpBlockedErr
def get_user_handler(user_id: int):
try:
print(service.get_user_by_id(user_id=user_id))
except UserNotFoundErr as err:
print("user not found code is 404", err)
except UserConflictErr as err:
print("user conflict code is 409", err)
except TooManyRequestErr as err:
print("too many request code is 429", err)
except IpBlockedErr as err:
print("ip blocked code is 403", err)
در این صورت هرچقدر تعداد exceptionها بیشتر شود مدیریت کردن آنها نیز سخت تر خواهد شد. همچنین قدرت مشاهده گری سیستم با استفاده از exception ها نیز پایین می آید در صورتی که ما در rich error تمامی ارور هایی که در لایه های مختلف رخ داده باشند رو داشتیم.
اگه کد رو با rich error جایگزین کنیم:
from examples.with_rich_error.api import base_response_with_error, base_response
def get_user_handler(user_id: int):
try:
...
except Exception as err:
return base_response_with_error(error=err)
از آنجا که ما یک ارور غنی داریم و از کد ها استفاده کردیم به راحتی میدانیم که این ارور به چه معنی است و حتی به سادگی http error مناسب را برگردانیم.
#rich_error #python
@Syntax_fa
Forwarded from Linuxor ?
روت کردن بی سرو صدای گوشی اندرویدی
گوشی های اندرویدی به دو روش روت میشن سافت روت و هارد روت، وقتی گوشی رو با برنامه های معمول روت میکنید معمولا هارد روت میشه در واقع دارین سیستم عامل رو دستکاری و ویرایش میکنید که یه راه برای رسیدن به یوزر Root میسازید و این دستکاری رو شرکت های سازنده اصلا نمیپذرن و دیگه بهتون هیچ خدماتی نمیدن.
اما سافت روت، اصلا چیزی دستکاری نمیشه از آسیب پذیری ها برای اجرای دستورات با دسترسی Root استفاده میشه و با اسیب پذیری و privilage escalation به دسترسی Root رسیده میشه.
توی روش سافت روت شما در واقع یه سوراخ پیدا کردید و هر وقت که بخواید میتونید از اون سوراخ استفاده کنید و شرکت سازنده ممکنه نفهمه شما دسترسی روت دارین، اما این روش ساده نیست و باید از قبل اون آسیب پذیری توی گوشی شما وجود داشته باشه.
عکس بالا چند تا آسیب پذیری معروف برای سافت روته که باهاش هکرا تونستن دسترسی روت از گوشی اندروید بگیرن. مثلا پینگ پونگ روت میتونه خیلی راحت گوشی سامسونگ S6 رو روت کنه.
🐧 @Linuxor
گوشی های اندرویدی به دو روش روت میشن سافت روت و هارد روت، وقتی گوشی رو با برنامه های معمول روت میکنید معمولا هارد روت میشه در واقع دارین سیستم عامل رو دستکاری و ویرایش میکنید که یه راه برای رسیدن به یوزر Root میسازید و این دستکاری رو شرکت های سازنده اصلا نمیپذرن و دیگه بهتون هیچ خدماتی نمیدن.
اما سافت روت، اصلا چیزی دستکاری نمیشه از آسیب پذیری ها برای اجرای دستورات با دسترسی Root استفاده میشه و با اسیب پذیری و privilage escalation به دسترسی Root رسیده میشه.
توی روش سافت روت شما در واقع یه سوراخ پیدا کردید و هر وقت که بخواید میتونید از اون سوراخ استفاده کنید و شرکت سازنده ممکنه نفهمه شما دسترسی روت دارین، اما این روش ساده نیست و باید از قبل اون آسیب پذیری توی گوشی شما وجود داشته باشه.
عکس بالا چند تا آسیب پذیری معروف برای سافت روته که باهاش هکرا تونستن دسترسی روت از گوشی اندروید بگیرن. مثلا پینگ پونگ روت میتونه خیلی راحت گوشی سامسونگ S6 رو روت کنه.
🐧 @Linuxor
Forwarded from Go Casts 🚀
حواستون به backpressure و concurrency control هست؟ اگه سرویس هایی دارید که async کار میکنن مواظب این موضوع باشید که لود قسمت دیگه ای از سیستم سرویس شما رو به فنا نده
این مقاله رو هم میتونید بخونید
https://t.iss.one/gocasts/482
@gocasts
این مقاله رو هم میتونید بخونید
https://t.iss.one/gocasts/482
@gocasts