Forwarded from Golden Code (علی 🇨🇴)
در لاراول برای استفاده از Service Container و ثبت یک سرویس با نام مستعار (alias)کدوم گزینه رو باید استفاده کرد؟
Anonymous Quiz
33%
app()->bind('aliasName', function() { return new ServiceClass(); });
15%
app()->singleton('aliasName', ServiceClass::class);
28%
app()->bind(ServiceClass::class, 'aliasName');
24%
app()->alias('ServiceClass', 'aliasName');
👍1
Forwarded from محتوای آزاد سهراب
کیدیای پلاسما، از نسخه ۶.۲ به بعد هر یکسال یکبار یک نوتیفیکیشن ارسال میکنه که برای دونیت یادآوری کنه.
https://pointieststick.com/2024/08/28/asking-for-donations-in-plasma/
پ.ن: کار معقولیه، بخصوص توی پروژههایی که درآمدزایی آنچنانی ندارن مثل پلاسما.
@SohrabContents
https://pointieststick.com/2024/08/28/asking-for-donations-in-plasma/
پ.ن: کار معقولیه، بخصوص توی پروژههایی که درآمدزایی آنچنانی ندارن مثل پلاسما.
@SohrabContents
Forwarded from Code Module | کد ماژول (genix)
با پترن Proxy آشنا بشید! 🪻
الگوی پروکسی یک الگوی طراحی نرم افزار هست. یک پروکسی در کلی ترین شکل خود، کلاسی هست که به عنوان رابطی برای چیز دیگری عمل میکنه. پروکسی میتونه با هر چیزی ارتباط برقرار کنه، به عنوان مثال: یک اتصال شبکه، یک شی بزرگ در حافظه، یک فایل یا منابع دیگری که کپی کردن اون گرون هست یا غیرممکن. درواقع الگوی پروکسی یک راه غیرمستقیم برای دسترسی به یک شی فراهم میکنه و کنترل اضافی، انعطافپذیری و بهبود عملکرد رو برای کد شما ارائه میده.
پترن پروکسی یک رویکرد همه کاره برای تعامل با شی رو ارائه میده. این یک لایه از کنترل رو فراهم و فرآیندها رو ساده میکنه. حتی میتونه با افزودن قابلیت هایی مثل ذخیره سازی، عملکرد رو بهبود ببخشه. این امر اون رو به ابزاری ارزشمند برای ساختن سیستم های نرم افزاری انعطاف پذیر و امن تبدیل میکنه.
چه زمانی از الگوی طراحی پروکسی استفاده کنیم؟
مثلا فکر کنید در حال ساختن یک نرم افزار پیچیده هستید که به یک موتور رندر سه بعدی قدرتمند نیاز داره. با این حال، این موتور منابع فشرده هست و ممکنه برای همه عملکردها مورد نیاز نباشه. حالا اینجا پروکسی چه کمکی میتونه کنه؟ یک پروکسی برای موتور رندر اجرا میکنیم. در ابتدا، پروکسی یک مکان نگه می داره یا خالی میمونه. زمانی که رندر سه بعدی واقعاً مورد نیاز هست، پروکسی موتور واقعی رو ایجاد میکنه و اطمینان حاصل میکنه که منابع فقط در صورت لزوم تخصیص داده میشن. این رویکرد به طور قابل توجهی زمان راه اندازی برنامه و استفاده از حافظه رو با به تأخیر انداختن ساخت اشیاء با منابع فشرده بهبود می بخشه.
یک زمان دیگه ای که میتونیم از این پترن استفاده کنیم، موقعی هست که شما در حال توسعه یک سیستم مدیریت مالی با اطلاعات حساس حساب هستید. برخی از نقشهای کاربر فقط باید دسترسی به مشاهده داشته باشن، در حالی که برخی دیگر ممکن هست به مجوز تراکنش نیاز داشته باشن. اینجا یک پروکسی برای دسترسی به حساب میسازیم. پروکسی به عنوان دروازهبان عمل میکنه، درخواستهای دسترسی رو رهگیری میکنه و مجوزهای کاربر رو قبل از اعطای تعامل با شی حساب واقعی تأیید میکنه. این اقدامات امنیتی رو اعمال میکنه و تغییرات غیرمجاز رو محدود میکنه و از داده های مالی حساس محافظت میکنه.
حالا سوالی که پیش میاد اینه. چه زمانی استفاده نکنیم؟؟
به این سناریو دقت کنید: شما در حال توسعه یک برنامه پردازش داده هستید که وظایف ساده دستکاری داده ها رو انجام میده. کنترل دسترسی یا بارگذاری تنبل مورد نیاز نیست.
و اگر برنامه شما از ویژگی هایی مثل بارگذاری تنبل(lazy loading) یا کنترل دسترسی استفاده نمیکنه، پروکسی ها ممکن هست انتزاعات غیر ضروری رو معرفی کنن. این لایه اضافی می تونه رفتار شی واقعی رو پنهان کنه و دیباگ کردن رو چالش برانگیزتر کنه. در این شرایط، یک رویکرد ساده تر بدون پروکسی ممکنه قابل نگهداری تر باشه.
به صورت کلی همه دیزاین پترن ها بنظر من برای شرایط خاصی میتونن کمک کننده باشن(البته اگر حواسمون بهشون باشه). این پترن هم میتونه در شرایط خاصی کمک کننده و بهترین راه حل باشه. برای کسب اطلاعات بیشتر، شما میتونید مقالات زیر رو مطالعه کنید.
- Article
- Article
- Article
#design_pattern #proxy
@CodeModule
الگوی پروکسی یک الگوی طراحی نرم افزار هست. یک پروکسی در کلی ترین شکل خود، کلاسی هست که به عنوان رابطی برای چیز دیگری عمل میکنه. پروکسی میتونه با هر چیزی ارتباط برقرار کنه، به عنوان مثال: یک اتصال شبکه، یک شی بزرگ در حافظه، یک فایل یا منابع دیگری که کپی کردن اون گرون هست یا غیرممکن. درواقع الگوی پروکسی یک راه غیرمستقیم برای دسترسی به یک شی فراهم میکنه و کنترل اضافی، انعطافپذیری و بهبود عملکرد رو برای کد شما ارائه میده.
پترن پروکسی یک رویکرد همه کاره برای تعامل با شی رو ارائه میده. این یک لایه از کنترل رو فراهم و فرآیندها رو ساده میکنه. حتی میتونه با افزودن قابلیت هایی مثل ذخیره سازی، عملکرد رو بهبود ببخشه. این امر اون رو به ابزاری ارزشمند برای ساختن سیستم های نرم افزاری انعطاف پذیر و امن تبدیل میکنه.
چه زمانی از الگوی طراحی پروکسی استفاده کنیم؟
مثلا فکر کنید در حال ساختن یک نرم افزار پیچیده هستید که به یک موتور رندر سه بعدی قدرتمند نیاز داره. با این حال، این موتور منابع فشرده هست و ممکنه برای همه عملکردها مورد نیاز نباشه. حالا اینجا پروکسی چه کمکی میتونه کنه؟ یک پروکسی برای موتور رندر اجرا میکنیم. در ابتدا، پروکسی یک مکان نگه می داره یا خالی میمونه. زمانی که رندر سه بعدی واقعاً مورد نیاز هست، پروکسی موتور واقعی رو ایجاد میکنه و اطمینان حاصل میکنه که منابع فقط در صورت لزوم تخصیص داده میشن. این رویکرد به طور قابل توجهی زمان راه اندازی برنامه و استفاده از حافظه رو با به تأخیر انداختن ساخت اشیاء با منابع فشرده بهبود می بخشه.
یک زمان دیگه ای که میتونیم از این پترن استفاده کنیم، موقعی هست که شما در حال توسعه یک سیستم مدیریت مالی با اطلاعات حساس حساب هستید. برخی از نقشهای کاربر فقط باید دسترسی به مشاهده داشته باشن، در حالی که برخی دیگر ممکن هست به مجوز تراکنش نیاز داشته باشن. اینجا یک پروکسی برای دسترسی به حساب میسازیم. پروکسی به عنوان دروازهبان عمل میکنه، درخواستهای دسترسی رو رهگیری میکنه و مجوزهای کاربر رو قبل از اعطای تعامل با شی حساب واقعی تأیید میکنه. این اقدامات امنیتی رو اعمال میکنه و تغییرات غیرمجاز رو محدود میکنه و از داده های مالی حساس محافظت میکنه.
حالا سوالی که پیش میاد اینه. چه زمانی استفاده نکنیم؟؟
به این سناریو دقت کنید: شما در حال توسعه یک برنامه پردازش داده هستید که وظایف ساده دستکاری داده ها رو انجام میده. کنترل دسترسی یا بارگذاری تنبل مورد نیاز نیست.
و اگر برنامه شما از ویژگی هایی مثل بارگذاری تنبل(lazy loading) یا کنترل دسترسی استفاده نمیکنه، پروکسی ها ممکن هست انتزاعات غیر ضروری رو معرفی کنن. این لایه اضافی می تونه رفتار شی واقعی رو پنهان کنه و دیباگ کردن رو چالش برانگیزتر کنه. در این شرایط، یک رویکرد ساده تر بدون پروکسی ممکنه قابل نگهداری تر باشه.
به صورت کلی همه دیزاین پترن ها بنظر من برای شرایط خاصی میتونن کمک کننده باشن(البته اگر حواسمون بهشون باشه). این پترن هم میتونه در شرایط خاصی کمک کننده و بهترین راه حل باشه. برای کسب اطلاعات بیشتر، شما میتونید مقالات زیر رو مطالعه کنید.
- Article
- Article
- Article
#design_pattern #proxy
@CodeModule
Forwarded from TorhamDev | تورهام 😳
Normality is a paved road. It's comfortable to walk, but no flowers grow on it.
—Van Gogh
Forwarded from محتوای آزاد سهراب
با ۴۹ دلار بیشتر بجای FLX 1 که یک گوشی لینوکسیه و یک فورک از درویدیان رو اجرا میکنه شما میتونید آیفون ۱۳ بخرید!
چرا دارم این پست رو میذارم؟
۱. سخت افزار این گوشی آزاد نیست، حتی توزیعش هم با هالیوم عرضه میشه.
۲. از نظر سختافزاری از گوشی پوکو اف۱ که خیلی سال پیش عرضه شده ضعیفتره.
۳. هالیوم؟ زحمت ساخت یک گوشی لینوکسی رو کشیدید، بعدش هالیوم!
@SohrabContents
چرا دارم این پست رو میذارم؟
۱. سخت افزار این گوشی آزاد نیست، حتی توزیعش هم با هالیوم عرضه میشه.
۲. از نظر سختافزاری از گوشی پوکو اف۱ که خیلی سال پیش عرضه شده ضعیفتره.
۳. هالیوم؟ زحمت ساخت یک گوشی لینوکسی رو کشیدید، بعدش هالیوم!
@SohrabContents
Forwarded from محتوای آزاد سهراب
طنزش اینجاست که شما پاینفون رو با سختافزار تماما آزاد میتونید به مقدار ۳۹۹ دلار بخریدش هرچیم عشقتون کشید روش بالا بیارید.
@SohrabContents
@SohrabContents
Forwarded from ⚝
inkscape-manuals.readthedocs.io
راهنمای اینکاسکیپ برای تازهکاران:
#learn #inkscape #FLOSS
@amiria703_channel
راهنمای اینکاسکیپ برای تازهکاران:
#learn #inkscape #FLOSS
@amiria703_channel
Forwarded from محتوای آزاد سهراب
This media is not supported in your browser
VIEW IN TELEGRAM
هرچی بیشتر به گوشیهای لینوکسی موجود توی بازار نگاه میکنم بیشتر این ویدئو توی ذهنم پلی میشه.
#fun
@SohrabContents
#fun
@SohrabContents
Forwarded from کانال اطلاعرسانی توزیع پارچ (Sohrab)
https://digitalfreedoms.org/en/software-freedom-day/events/parch-linux-meetup
دورهمی پارچ در وبگاه Digital Freedoms ثبت شد.
برای ارسال ارائه میتونید به پیوی من پیام بدید:
@SohrabBehdani
@ParchLinux
دورهمی پارچ در وبگاه Digital Freedoms ثبت شد.
برای ارسال ارائه میتونید به پیوی من پیام بدید:
@SohrabBehdani
@ParchLinux
digitalfreedoms.org
Software Freedom Day 2024 Berlin
Live from the Nextcloud Conference, on its last day, we want to celebrate Software Freedom Day! Just like the Nextcloud Conference, this is of course a free and open event where everyone is welcome. We will have drinks and friendly people and we will organise…
Forwarded from ⚝
fon.hum.uva.nl/praat
praat نرمافزاری آزاده که به شما امکان اجرای تحقیقات آواشناسی را بر روی بستر رایانه میده. این نرمافزار از سکّوهای مختلفی پشتیبانی میکنه و مستندات و راهنماییهای خوبی هم داره.
#learn #science #phonetics #phonology
@amiria703_channel
praat نرمافزاری آزاده که به شما امکان اجرای تحقیقات آواشناسی را بر روی بستر رایانه میده. این نرمافزار از سکّوهای مختلفی پشتیبانی میکنه و مستندات و راهنماییهای خوبی هم داره.
#learn #science #phonetics #phonology
@amiria703_channel
Forwarded from shahriaarrr (Shahriar)
رفقا سلام👋
بچه هایی که انتخاب رشته در پیش دارید و خصوصا کسایی که میخوان بیان مهندسی کامپیوتر.
پیشنهاد میکنم حتما مستند دیوانگی رو تهیه کنید و ببینید.
درباره رتبه دوم کنکور رشته ریاضی چند سال پیشه که رشته مهندسی کامپیوتر شریف قبول میشه.این مستند ماجراهای این پسر رو از دانشگاه به بعد رو از زبون خودش روایت میکنه که پیشنهاد میکنم حتما ببینید تا روی دیدتون برای انتخاب مسیر آیندتون اثر گذار باشه🔥🔥
https://ammaryar.ir/m/iuohy
@shahriaarrr12
بچه هایی که انتخاب رشته در پیش دارید و خصوصا کسایی که میخوان بیان مهندسی کامپیوتر.
پیشنهاد میکنم حتما مستند دیوانگی رو تهیه کنید و ببینید.
درباره رتبه دوم کنکور رشته ریاضی چند سال پیشه که رشته مهندسی کامپیوتر شریف قبول میشه.این مستند ماجراهای این پسر رو از دانشگاه به بعد رو از زبون خودش روایت میکنه که پیشنهاد میکنم حتما ببینید تا روی دیدتون برای انتخاب مسیر آیندتون اثر گذار باشه🔥🔥
https://ammaryar.ir/m/iuohy
@shahriaarrr12
عماریار
تماشای آنلاین و دانلود مستند دیوانگی | عماریار
مستند «دیوانگی»، روایتی از زندگی سید محمدصادق کشاورزی، رتبه 2 کنکور 1397 و دارنده مدال برنز
کامپیوتر است. جوانی که با عبور از سد کنکور با پیش فرض هایی درباره
دانشگاه و مسیر آینده زندگی، دانشجوی مهندسی کامپیوتر بهترین دانشگاه صنعتی
کشور می شود؛ اما…
کامپیوتر است. جوانی که با عبور از سد کنکور با پیش فرض هایی درباره
دانشگاه و مسیر آینده زندگی، دانشجوی مهندسی کامپیوتر بهترین دانشگاه صنعتی
کشور می شود؛ اما…
Forwarded from Pishro App
دوستان متد rawValue() توی #لاراول به شما این امکان رو میده که مقادیر رو مستقیماً از عبارات SQL دریافت کنید.
این متد زمانی مفیده که بخواید از توابع یا عبارات SQL# خاصی برای استخراج دادهها، بدون نیاز به اجرای یک کوئری کامل و گرفتن یک آبجکت مدل استفاده کنید
مثال زیر رو ببینید:
توی این مثال، متد rawValue() برای ترکیب دو ستون first_name و last_name با استفاده از تابع CONCAT در SQL به کار رفته.
یا نمونه ی زیر:
فرض کنید ما یه جدول محصولات داریم که شامل قیمتهاست و میخوایم قیمت رو با تخفیف محاسبه کنیم. برای این کار از rawValue() و یک عبارت SQL برای محاسبه استفاده میکنیم.
بصورت کلی متد rawValue() به شما این امکان رو میده که مستقیماً مقادیر خام از یک کوئری SQL دریافت کنید، بدون نیاز به اجرای کامل یک کوئری و برگرداندن آبجکت مدل.
این روش زمانی مفید هست که شما تنها یک مقدار خاص از یک عبارت SQL نیاز دارید و نمیخواید زمان یا منابع بیشتری برای پردازش اضافی صرف کنید.
👾 @pishroapp
این متد زمانی مفیده که بخواید از توابع یا عبارات SQL# خاصی برای استخراج دادهها، بدون نیاز به اجرای یک کوئری کامل و گرفتن یک آبجکت مدل استفاده کنید
مثال زیر رو ببینید:
$fullname = UserModel::where('id', $id)
->rawValue('CONCAT(first_name, " ", last_name)');توی این مثال، متد rawValue() برای ترکیب دو ستون first_name و last_name با استفاده از تابع CONCAT در SQL به کار رفته.
یا نمونه ی زیر:
فرض کنید ما یه جدول محصولات داریم که شامل قیمتهاست و میخوایم قیمت رو با تخفیف محاسبه کنیم. برای این کار از rawValue() و یک عبارت SQL برای محاسبه استفاده میکنیم.
$discountedPrice = ProductModel::where('id', $productId)
->rawValue('price - (price * discount / 100) AS discounted_price');
بصورت کلی متد rawValue() به شما این امکان رو میده که مستقیماً مقادیر خام از یک کوئری SQL دریافت کنید، بدون نیاز به اجرای کامل یک کوئری و برگرداندن آبجکت مدل.
این روش زمانی مفید هست که شما تنها یک مقدار خاص از یک عبارت SQL نیاز دارید و نمیخواید زمان یا منابع بیشتری برای پردازش اضافی صرف کنید.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from DevTwitter | توییت برنامه نویسی
اگه شما هم مثل من از سرعت بیلد شدن gradle تو اندروید استودیو پیر شدین :
gradle.properties رو باز کنید
بجای اون کد دیفالت این یکی رو کپی کنین سرعت رو بشدت افزایش میده
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx2048m -XX:MaxPermSize=512m
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true
@DevTwitter
gradle.properties رو باز کنید
بجای اون کد دیفالت این یکی رو کپی کنین سرعت رو بشدت افزایش میده
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx2048m -XX:MaxPermSize=512m
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true
@DevTwitter
Forwarded from محتوای آزاد سهراب
GitHub
Fixed Persian Keyboard symbols by behdanisohrab · Pull Request #224 · maliit/keyboard
As i had mentioned in #208 , Persian keyboard symbol wouldn't get opened at all, so i changed the symbol directory in the main qml and also i tweaked the layout making it easier to use.
Forwarded from Linuxor ?
کن تامسون خالق یونیکس یه جا گفته بود ما توی سیستم های توزیع شده وقتی به مشکلی توی سخت افزار میخوردیم به کد های لینوکس نگاه میکردیم چون اونا همیشه از ما جلو تر بودن و منابع زیادی برای مقابله با سخت افزار داشتن.
Ken Thompson; cited in Seibel, Peter (2009). Coders At Work. p. 479.
🐧 @Linuxor
Ken Thompson; cited in Seibel, Peter (2009). Coders At Work. p. 479.
🐧 @Linuxor
Forwarded from Meitix (Meiti)
یه crawler با گو نوشتم. اگه ایده ای برای بهتر شدنش دارید یه issue جدید باز کنید یا PR
پ.ن: یکی از توسعه های خوبی که میشه روش داد اینه که url های که دیده میشن تو یه ردیس ذخیره شن و بعد دیتا به صورت داکیومنت در یه nosql ذخیره شن و در انتها یه اسکریپت برای دیتابیس nosql بنویسیم که دیتا رو نرمالایز کنه و تو یه sql ذخیره کنه
https://github.com/meiti-x/book-crawler
پ.ن: یکی از توسعه های خوبی که میشه روش داد اینه که url های که دیده میشن تو یه ردیس ذخیره شن و بعد دیتا به صورت داکیومنت در یه nosql ذخیره شن و در انتها یه اسکریپت برای دیتابیس nosql بنویسیم که دیتا رو نرمالایز کنه و تو یه sql ذخیره کنه
https://github.com/meiti-x/book-crawler
GitHub
GitHub - meiti-x/book-crawler
Contribute to meiti-x/book-crawler development by creating an account on GitHub.
Forwarded from Sadra Codes
عمرا اگه بدونید "بریدهدان" معادل فارسی کدوم کلمه انگلیسیه.