Dev Perfects – Telegram
Dev Perfects
40 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://news.1rj.ru/str/dev_perfects/455


ارتباط:
https://news.1rj.ru/str/HidenChat_Bot?start=936082426
Download Telegram
تازه امروز نشستم و شبکه‌های اجتماعیمو چک می‌کنم و......

بله، یک ویندومنیجر تایلینگ برای ویندوز.

https://github.com/LGUG2Z/komorebi


@SohrabContents
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
کی‌دی‌ای پلاسما، از نسخه ۶.۲ به بعد هر یک‌سال یک‌بار یک نوتیفیکیشن ارسال می‌کنه که برای دونیت یادآوری کنه.

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
Normality is a paved road. It's comfortable to walk, but no flowers grow on it.

—Van Gogh
با ۴۹ دلار بیشتر بجای FLX 1 که یک گوشی لینوکسیه و یک فورک از درویدیان رو اجرا می‌کنه شما میتونید آیفون ۱۳ بخرید!


چرا دارم این پست رو می‌ذارم؟
۱. سخت افزار این گوشی آزاد نیست، حتی توزیعش هم با هالیوم عرضه میشه.
۲. از نظر سخت‌افزاری از گوشی پوکو اف۱ که خیلی سال پیش عرضه شده ضعیف‌تره.
۳. هالیوم؟ زحمت ساخت یک گوشی لینوکسی رو کشیدید، بعدش هالیوم!

@SohrabContents
طنزش اینجاست که شما پاین‌فون رو با سخت‌افزار تماما آزاد میتونید به مقدار ۳۹۹ دلار بخریدش هرچیم عشقتون کشید روش بالا بیارید.


@SohrabContents
Forwarded from 
inkscape-manuals.readthedocs.io

راهنمای اینک‌اسکیپ برای تازه‌کاران:

#learn #inkscape #FLOSS
@amiria703_channel
This media is not supported in your browser
VIEW IN TELEGRAM
هرچی بیشتر به گوشی‌های لینوکسی موجود توی بازار نگاه می‌کنم بیشتر این ویدئو توی ذهنم پلی میشه.


#fun

@SohrabContents
Forwarded from 
fon.hum.uva.nl/praat

‏praat نرم‌افزاری آزاده که به شما امکان اجرای تحقیقات آواشناسی را بر روی بستر رایانه می‌ده. این نرم‌افزار از سکّوهای مختلفی پشتیبانی می‌کنه و مستندات و راهنمایی‌های خوبی هم داره.

#learn #science #phonetics #phonology
@amiria703_channel
Forwarded from shahriaarrr (Shahriar)
رفقا سلام👋
بچه هایی که انتخاب رشته در پیش دارید و خصوصا کسایی که میخوان بیان مهندسی کامپیوتر.
پیشنهاد میکنم حتما مستند دیوانگی رو تهیه کنید و ببینید.

درباره رتبه دوم کنکور رشته ریاضی چند سال پیشه که رشته مهندسی کامپیوتر شریف قبول میشه.این مستند ماجراهای این پسر رو از دانشگاه به بعد رو از زبون خودش روایت میکنه که پیشنهاد میکنم حتما ببینید تا روی دیدتون برای انتخاب مسیر آیندتون اثر گذار باشه🔥🔥

https://ammaryar.ir/m/iuohy

@shahriaarrr12
Forwarded from Pishro App
دوستان متد  rawValue() توی #لاراول به شما این امکان رو میده که مقادیر رو مستقیماً از عبارات SQL دریافت کنید.
این متد زمانی مفیده که بخواید از توابع یا عبارات 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 نیاز دارید و نمی‌خواید زمان یا منابع بیشتری برای پردازش اضافی صرف کنید.

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 
مدل Claude 3.5 Sonnet در چت‌بات کلاد برای کاربران رایگان «به طور موقّت» از دسترس خارج شد.

#ai #claude #موقت
Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
This media is not supported in your browser
VIEW IN TELEGRAM
#fun

روز اول کاریم به عنوان برنامه‌نویس :

پ.ن : همیشه هندزفریتون رو دابل چک کنید

🆔 Channel | Group | YouTube
اگه شما هم مثل من از سرعت بیلد شدن 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
Forwarded from 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