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

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
Je Veux
ZAZ
Old but gold
Forwarded from Codino School (ایمان غفوری)
Media is too big
VIEW IN TELEGRAM
▪️این داستان: آنچه درباره Repository Pattern نمی‌دانستید. (در قالب تصویر)

(رکورد طولانی ترین کلیپ کدینو هم شکسته شد.😏)

@codino
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
اگر برای یک محصول پولی پرداخت نمی‌کنید، یعنی خود شما محصول هستید

لینکدین برای آموزش مدل‌های هوش مصنوعی خود از داده‌های کاربران استفاده کند
البته می‌توان استفاده از داده‌ها برای آموزش مدل‌های آینده را در تنظیمات حساب خود غیرفعال کرد.
#AI #هوش_مصنوعی


به‌روزرسانی :
برای اروپا و انگلستان برای حمایت از حقوق کاربران اعمال نمیشود
Forwarded from Python Hints
چیزی که درد واقعه رو بیشتر می‌کنه

#معدن_طبس
Forwarded from Gopher Academy
🔵 عنوان مقاله
Awesome Ebitengine: A Curated List of Ebitengine Resources

🟢 خلاصه مقاله:
مقاله‌ی مورد بررسی به معرفی و بررسی Ebitengine، یک API قدرتمند برای برنامه‌نویسی گرافیک‌های 2D و توسعه بازی‌ها به زبان Go، پرداخته است. Ebitengine به دلیل عملکرد بالا و سادگی استفاده، در میان توسعه‌دهندگان بازی پرطرفدار است. مقاله شامل فهرستی از بازی‌هایی است که با استفاده از این API نوشته شده‌اند، کتابخانه‌هایی که می‌توان به همراه آن استفاده کرد، و اطلاعات بیشتری در این زمینه. این فهرست می‌تواند به عنوان منبعی کامل برای توسعه‌دهندگان علاقه‌مند به استفاده از Ebitengine و گسترش قابلیت‌های آن در پروژه‌های خود عمل کند و کمک‌های فراوانی در فرآیند توسعه بازی‌های 2D به آن‌ها ارائه دهد.

🟣لینک مقاله:
https://github.com/sedyh/awesome-ebitengine


👑 @gopher_academy
🔸 یه سایت پیدا کردم که داخلش میتونید به صورت رایگان تصویری که میخواید رو آپلود کنید و با لینکی که بهتون میده داخل پروژه هاتون ازش استفاده کنید

این سایت کاملا رایگان و نامحدوده و برای استفاده ازش، کافیه فقط وارد وبسایتش بشید و عکستون رو اپلود کنید تا لینکشو بهتون بده

#️⃣ #website #image

🚀 @coolycode
حدود 180 هزار hashtag اکستنشن به صورت رسمی در hashtag کروم استور گوگل برای استفاده کاربران منتشر شده و بازار جهانی اون طبق گزارش های رسمی 75 میلیارد دلار ارزش گذاری شده و پیش بینی میشه این رقم تا سال 2030 به 125 میلیارد دلار برسه !

من در توسعه اکستنشن های مختلفی شریک بودم که سعی میکنم از تجربیات خودم برای شما بیشتر بگم تا شما هم بتونین به راحتی وارد این مارکت بشید و اپ های خودتون رو توی مارکت منتشر کنین !

در قدم اول سعی دارم به شما بگم که چطور میتونین یه اکستنشن کروم بنویسین ، اکستنشن ها ساختار بسیار ساده و جذابی دارن که شما میتونین با زبان های HTML ، CSS ، Javascript پروژه های خودتون رو توسعه بدین .

ایجاد یک فایل manifest.json
این فایل قلب اکستنشن شماست و اطلاعاتی مثل نام اکستنشن، نسخه و مجوزهایی که نیاز داره رو توش مشخص می‌کنید.

نوشتن یک اسکریپت ساده
در فایل background.js یا content.js کدهایی می‌نویسید که اکستنشن شما رو فعال می‌کنه. مثلاً می‌تونید با content scripts به صفحات وب دسترسی پیدا کنید.
اضافه کردن UI
می‌تونید با HTML، CSS و JavaScript یک popup برای اکستنشن‌تون طراحی کنید که به کاربر نشون بده چه کاری می‌تونید انجام بدید.

نصب اکستنشن در حالت Developer
و در نهایت، با استفاده از بخش "Manage Extensions" در کروم، اکستنشن‌تون رو تست کنید. فقط کافیه حالت Developer رو فعال کنید و پوشه پروژه‌تون رو بارگذاری کنید.

شما میتونید آموزش کامل ساخت یک اکستنشن رو توی لینک زیر در وبلاگ من بخونین

https://blog.rezaghz.com/1403/07/how-to-develop-chrome-extension/

@DevTwitter | <Reza Ghasemzadeh/>
ماشالله همه جنگو کارن 😐😂
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 خالق وردپرس، سرویس هاستینگ WP Engine را «غده سرطانی» می‌داند

به نوشته تک کرانچ مت مولنوگ، مدیرعامل Automattic و خالق وردپرس، انتقادات شدیدی علیه سرویس هاستینگ WP Engine مطرح کرد و آن را «غده‌ی سرطانی» وردپرس خواند. او می‌گوید WP Engine بدون مشارکت کافی در رشد وردپرس، فقط به‌دنبال سودجویی از این پلتفرم بوده و با غیرفعال‌سازی برخی از ویژگی‌های کلیدی، به کاربران ضرر زده است.

او از کاربران خواست هنگام تمدید قراردادهایشان، به‌جای WP Engine از شرکت‌های دیگر مانند Hostinger و Pressable استفاده کنند.

#خبر

@TheRaymondDev
Forwarded from Syntax | سینتکس (Daimon)
نکات مهم اجرای جنگو با Gunicorn

توضیح درباره Gunicorn
نمیخوام توضیحات زیادی بدم حوصلتون سر بره پس همون سه خط معرفی که تو وب سایت gunicorn نوشته رو براتون یکم شفافش میکنم:
اسمش مخفف green unicorn هستش
جی یونیکورن یک http سرور هستش که از استاندارد WSGI(Web server gateway interface) برای اجرای برنامه های وب پایتون استفاده میکنه.
استاندارد WSGI برای این بوجود اومد تا هر فریم ورک وب پایتونی روش خودشو واسه ارتباط پیاده نکنه و همه از یه استاندارد مشخص استفاده کنن.

در ادامه میگه gunicorn برای unix هستش و برای سیستم عامل هایی مثل مک و لینوکس طراحی شده.

بعدش میگه که جی یونیکورن از مدل pre-fork worker استفاده میکنه حالا این به چه معنیه؟
جی یونیکورن کاری که میکنه اینه قبل اینکه شروع به پردازش درخواست ها کنه، میاد و به اندازه ای که تنظیم کردید worker ایجاد میکنه که هر worker درخواست هارو بطور مستقل پردازش میکنه.

بعدشم میگه با فریم ورک های وب مختلفی سازگاره که اینم میتونیم دلیلش رو این بدونیم داره برای ارتباط از استاندارد WSGI استفاده میکنه.

قسمت آخرشم میگه light resource هستش و منابع کمی مصرف میکنه همچنین برای ترافیک بالا عملکرد خوبی داره.

خب جی یونیکورن این ادعا هارو میکنه اما بیاید با چند تا مثال شرایطی رو بررسی کنیم که شما به غلط دارید از جی یونیکورن استفاده میکنید:

مثال اول
gunicorn --chdir config config.wsgi:application -b 0.0.0.0:8000

اگه با این دستور جی یونیکورن رو اجرا کنید باید به این نکته دقت کنید بصورت پیشفرض براتون فقط یدونه worker میسازه که این اصلا خوب نیست. خود جی یونیکورن پیشنهاد میده حتی اگه یدونه core دارید 4 تا ورکر بسازید و یه فرمولی هم داده که میگه«تعداد هسته های سی پی یو رو ضربدر 2 به علاوه یک کنید»
همچنین به شما اطمینان داده همین تعداد ورکر هزاران ریکوئست رو میتونن پاسخ بدن پس تعداد ورکر هارو الکی زیادش نکنید.
البته به کیس شما هم بستگی داره.
دستور بهتر برای اجرا اینه تعداد ورکر هارو مشخص کنیم:
gunicorn --workers 5 --chdir config config.wsgi:application -b 0.0.0.0:8000


مثال دوم:
فرض کنید کاربر ها تو اپلیکیشن شما فایل هایی رو آپلود میکنن. شما پنج تا ورکر دارید.
وقتی پنج تا کاربر همزمان فایل آپلود کنن بنظرتون چه اتفاقی میوفته؟
پنج تا ورکر شما گیر یه io افتادن و مشغولن و درخواست های دیگه کاربرا انجام نمیشه. خب این وضعیتی نیست که باب میلیتون باشه!
برای حل این مشکل کافیه از gevent توی جی یونیکرون استفاده گنید؛
gunicorn --workers 1 -k gevent --chdir config config.wsgi:application -b 0.0.0.0:8000

با فلگ -k نوع کلاس ورکر رو مشخص میکنیم. حالا چرا از gevent استفاده میکنیم؟
کتابخونه gevent برای مدریریت همزمانی طراحی شده. میشه گفت یک نمونه lightweight thread هستش که این مدل موقع عملیات های IO سوئیچینگ انجام میده و در این صورت اگه به io خوردید براتون هندل میکنه.

کلی نکات دیگه هم قطعا هست که تو یه پست جا نمیشه
امیدوارم براتون مفید باشه

#python #django #gunicorn #gevent

@Syntax_fa
#یک_دقیقه_با_کامپیوتر

💻در مجموعه یک دقیقه با کامپیوتر سعی می‌کنیم در کمتر از یک دقیقه مفاهیم دنیای کامپیوتر را به صورت ساده و جذاب بیان کنیم. محتوای این مجموعه برش‌هایی کوتاه از پادکست‌ها هستند که سعی می‌شود با عوامل بصری متفاوت ارائه شود.

🔥این یک دقیقه با # ارتباط_بین_کاربر_و_سرور

این یک دقیقه برشی از قسمت پنجم پادکست مشورت کامپیوتری‌ها بود.



[تلگرام | اینستاگرام | ویرگول | اسپاتیفای | کست‌باکس | اپل‌پادکست]


🔰مشورت کامپیوتری ها
@coaching_ce
یه مساله رو لازم دونستم بهتون بگم دوستان

فرقی نمیکنه شما حوزه کاریتون چی باشه و توی کدوم زبان و فریمورک متخصص باشید
اگه تخصص خوبی داشته باشید و مهارت فنی تون خوب باشه همیشه و همه جا کار هست

حتی اگه برنامه نویس زبان منسوخ شده ای مثل Cobol باشید

درسته بازار کار یه سری زبان و فریمورک نسبت به بقیه بهتره ولی خب در عوض رقابت توی اون زبان و فریمورک بیشتر و سخت تره

مثلا میگم، الان جوّ جوری شده که هر کسی میخواد فرانت یاد بگیره میره سمت React و Next.js چون بازار کارشون نسبت به بقیه فریمورکا عالیه، ولی در عوض رقابت توی این استک خیلی سخته چون همه React کار هستن

این قضیه برای بک اند هم صدق میکنه

به جای تمرکز روی بازار کار روی مهارت و تخصصتون تمرکز کنید
بازار کار دائما در حال تغییره و کسی نمیدونه چند سال دیگه چه زبان یا فریمورکی قراره بیاد که توی بازار کار از بقیه جلو بزنه

پیروز و موفق باشید 🌹
Forwarded from Go Casts 🚀
سلام، یه مطلب جدید دارم با کلی ارجاع به مقالات خفن دیگه

امیدوارم مطلبی که میخوام بگم هم براتون کاربردی باشه و هم لذتبخش.

شایدم به شیوه های مختلف در حال استفاده ش هستید ولی بد نیست ابعاد دیگه ش رو ببنید.

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

ضمنا کش کردن هم اگه multi instance باشید مساله invalidate کردن و sync کردن بین podها رو خواهید داشت و یا اینکه third-party service مثل redis استفاده کنید که مساله latency رو خواهید داشت که خودش یه چالش جدید میشه، پس همیشه کش کردن راه حل نیست…

ضمنا برای کوئری های دیتابیسی که به هر دلیلی قابل کش کردن هم نیستن ولی hotpath هستن و در یه لحظات خاصی concurrent query میخورن هم خیلی کاربردیه.

من بار اول تو مقاله discord باهاش آشنا شدم
how discord stores trillions of messages
https://discord.com/blog/how-discord-stores-trillions-of-messages

که همون موقع خیلی بهم ایده داد که این الگو میتونه کاربردهای مختلفی داشته باشه ولی تو مقاله keyword خاصی رو ندیدم که بتونم بیشتر بررسیش کنم.

گذشت و گذشت تا اینکه چند روز پیش این مقاله ای که جدیدا منتشر شده رو دیدم و فهمیدم گولنگ هم یه پکیج داره به اسم singleflight
Go Singleflight Melts in Your Code, Not in Your DB
https://victoriametrics.com/blog/go-singleflight/

بهش میگن duplicate function call suppression mechanism که حتی در سطح سیستم عامل هم برای استفاده میشه و مشکل معروفیه به اسم Thundering herd problem که در این دو لینک پایین میتونید در موردش بخونید

https://en.wikipedia.org/wiki/Thundering_herd_problem
https://xania.org/200807/iocp

حتی بلاگ instagram engineering هم یه مقاله در همین مورد داره
Thundering Herds & Promises
https://instagram-engineering.com/thundering-herds-promises-82191c8af57d

و محمد حسینی راد عزیز هم یه مقاله در همین مورد نوشته قبلا
Avoid duplicate requests while filling cache!
https://medium.com/@mhrlife/avoid-duplicate-requests-while-filling-cache-98c687879f59

مقالاتی که فرستادم، مخصوصا مقاله victoriametrics مفصل در موردش توضیح داده.
اینم یه مقاله دیگه
Understanding Singleflight in Go: A Solution for Eliminating Redundant Work
https://www.codingexplorations.com/blog/understanding-singleflight-in-golang-a-solution-for-eliminating-redundant-work

اینم یه پکیج که context support رو اضافه کرده، هر چند من پکیج اصلی رو بیشتر ترجیح میدم
https://github.com/janos/singleflight
اینم لینک پکیج اصلی
https://pkg.go.dev/golang.org/x/sync/singleflight



توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://t.iss.one/gocasts/515


@gocasts

#singleflight
بزرگترین آسیب فیلترینگ مسدودکردن سرویس‌ها نیست، بلکه اختلالات ناشی‌از مبارزه با فیلترشکن‌هاست ...

🔍 ircf.space
@ircfspace
🔸 یه سایت پیدا کردم که داخلش میتونید به صورت رایگان تصویری که میخواید رو آپلود کنید و با لینکی که بهتون میده داخل پروژه هاتون ازش استفاده کنید

این سایت کاملا رایگان و نامحدوده و برای استفاده ازش، کافیه فقط وارد وبسایتش بشید و عکستون رو اپلود کنید تا لینکشو بهتون بده

🌐 مشاهده نمونه
🔺 اگر این لینک رو به عنوان اتریبیوت src تگ img قرار بدید لوگو کولی‌کد به شما نمایش داده می‌شه 🔺


#️⃣ #website #image

🚀 @coolycode
درخواست یک خبرنگار از رییس‌جمهور برای رسیدگی به وضعیت اینترنت و اظهارنظر صریح یک کاربر در این‌رابطه ...

🔍 ircf.space
@ircfspace