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
کنترل اجرای همزمان با Idempotency و Global Lock در Redis
یکی از چالش‌های بزرگ در سیستم‌های پرترافیک، اجرای همزمان (Concurrency) درخواست‌هاست. وقتی چند درخواست همزمان به یک سرویس حساس مثل پرداخت یا رزرو ارسال می‌شوند، احتمال ایجاد داده تکراری یا Race Condition بسیار بالاست.
راهکار من: ترکیب Idempotency با قابلیت Global Lock در Redis
قابلیت Global Lock تضمین می‌کند که در هر لحظه فقط یک درخواست واقعی اجرا شود.
قابلیت Idempotency اطمینان می‌دهد که اگر درخواست‌های مشابه همزمان ارسال شوند، نتیجه یکسان به کاربر برگردد و هیچ عملیات تکراری اجرا نشود.
من از این ترکیب استفاده کردم در بخش پرداخت ها و نتیجه اش عالی بود

@DevTwitter | <Mojtaba Zaferani/>
Forwarded from 🎄 یک برنامه نویس تنبل (  MΞ)
🔸freeCodeCamp
توی ۴۸ساعت فول استک شو
https://www.youtube.com/watch?v=LzMnsfqjzkA

@TheRaymondDev
Forwarded from Geek Alerts
This media is not supported in your browser
VIEW IN TELEGRAM
مرورگر Comet AI از پرپکلسیتی از الان برای همه قابل دسترسه و دیگه برای دسترسی بهش نیازی به کد دعوت نیست.

ویژگی اصلی Comet دستیار جانبی (sidecar assistant) اونه که به سوالات درباره صفحات بازدید شده جواب می‌ده، اطلاعات رو خلاصه می‌کنه، محتوای وب رو مدیریت می‌کنه و به صورت خودکار وب رو مرور می‌کنه.

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

perplexity.ai/comet
🤓 abolfazl @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
نظر سنجی محتوا
آیا این محتوا به نظر شما مفید بوده ؟
Anonymous Poll
68%
بله مفید است فصل بعدی ادامه داشته باشه
23%
به دنبال محتوای تخصصی تر هستم
9%
دیدن نتایج
GLM-4.6

بدون شک باید تستش کنید؛ امروز روی یک پروژه کار می‌کردم که به مشکلات زیادی خورد توی refactor و البته اکثرا هم logic بود.
تقصیر منم نبود کدی که دستم اومد انقدر کثیف بود که هرجاش رو دست میزدم ۲-۳ جای دیگه بهم میریخت.

الان که دارم این متن رو می‌نویسم refactor اصلی تموم شده و منطق درست هست؛ حالا هدف بعدی بهینه سازی هست که باید روش کار کنم!

چون به مشکلات منطقی زیادی خوردم؛ از تموم مدل‌های موجود گمک گرفتم؛
Gemini
همون ابتدا از دور خارج شد چون vpn هام رو شناسایی میکرد و وقت نداشتم که بخوام مشکل رو حل کنم
Qwen
از دور خارج شد؛ چون کدها انقدر زیاد بود که توی یک درخواست جا نمی‌شد؛ با اینکه هربار فقط کدهای مربوط به یک بخش رو بهش میدادم (راستی برای این موضوع هم یک پروژه شخصی دارم که ast رو استفاده می‌کنه و قدم به قدم سورس کد رو واکشی می‌کنه و توضیح میده و... بگذریم الان جاش نیست)

مواردی که تست کردم
GLM-4.5, GLM4.6 - Claude - Grok Expert - ChatGPT, Deepseek
برای تمام مدل‌ها اگر قابلیت deep think روی بهترین ورژن‌هاشون وجود داشت ازون استفاده کردم.

مدل‌های Deepseek, Claude همون اول حذف شدند؛ شروع خیلی خوبی داشتند ولی بعدش توی logic مربوط به async, multi-thread همه چیز رو گم کردند و افتادند روی loop که همون کد اشتباه رو به حالت‌های مختلف هی تکرار می‌کردند.
اما خیلی جالب بود که توی اولین تلاش هر دو مورد یک سری از باگ‌ها رو پیدا کردند و فهمیدند از کجا باید شروع کنند بخصوص Claude که این موضوع رو بدون کمک پیدا کرد؛ اما نتونست حلش کنه.


مدل Grok خیلی جالب بود؛ اول راحت‌ترین راه حل رو پیشنهاد داد بعد که بهش گفتم دارم refactor می‌کنم پس راه حل بهتر رو پیشنهاد بده روشش رو عوض کرد؛ اما ۲ تا مشکل داشت :
۱- اگر من خطایی رو داشتم؛ مثلا یک import اشتباه متوجه نمی‌شد و توی loop بی‌نهایت میوفتاد.
۲- هیچ توضیحی نمیده و هربار کل کد رو تایپ می‌کنه!
حتی وقتی ازش خواستم توضیح بده؛ توضیحاتش رو همرو یا قبل از کد زدن می‌گه یا بعدش که خب رفتار خوبی نیست ولی اگر دقیقا می‌دونید چی می‌خواید و چرا این مدل خیلی کم خرف هست.

مدل ChatGPT بر خلاف Grok توضیح میده و تیکه تیکه جواب میده و میشه باهاش کنار اومد؛ یک تکنیک async اشتباه رو می‌خواستم تست کنم برای دیباگ نیاز داشتم. روی Grok هرچقدر توضیح دادم اینکار رو نکرد و کد رو تحویلم نداد؛ درنهایت هم چیزی که تحویل داد اشتباه بود. همینکار رو با ChatGPT انجام دادم؛ چون فکر میکردم اینم مقاومت کنه براش توضیح دادم که روی Debug لازم دارم و ... (پرامپت آخری که به Grok دادم تا کار کنه) و خروجی داد ولی بطور کلی نتونست بهترین راه حل رو پیشنهاد بده (چیزی که Grok انجام داده بود)

درنهایت اومدم سراغ GLM4.6 توضیحات اولیه مختصر و ادیت کد (برای توضیحات بیشتر گفته مجدد پرامپت بده که بنظرم خیلی رفتار درست و خوبیه)
مشکل رو پیدا کرد مثل Grok و راه حل خوبی رو هم پیشنهاد داد مهمترین بخشش سرعتش هست بسیار بسیار سریع توکن‌ها رو خروجی میده و باهاش میشه راحت کد توسعه داد.
یک مشکل من با LLM ها همینه سرعت توسعه خودم از کل‌کل با اونها بیشتره.
یک چیز جالبتر اینکه تنها مدلی بود که توی کدها بعد از درست‌کردن Logic اشتباه (چندتا پرامپت طول کشید ولی مسیر درست رو داشت می‌رفت) وقتی راهکار آخر رو داشت تایپ می‌کرد در انتها چندتا فایل و بخش دیگه رو پیشنهاد داد؛ چرا؟ چون فکر میکنه این تغییرات refactor رو تمیزتر می‌کنه و واقعا هم درست فکر می‌کنه!

درنهایت یک بخش‌هایی از کد رو درحال منتقل کردن به Rust هستم چون این بخش‌ها bottleneck شده برامون و Rust خیلی می‌تونه کمک کنه threading, async, ... سنگینی داره.
Grok, ChatGpt, GLM-4.6 

رو برای اینکار ازشون کمک گرفتم که توی مرور سریع GLM-4.6 بنظر کد درستی رو فقط داده؛ توی نگاه اول روی Grok, ChatGPT دارم خطا می‌بینم ( از نوع channel اشتباه استفاده کردند)

خلاصه:
بنظرم بد نیست به آپدیت جدید z.ai هم سری بزنید و با GLM-4.6 هم تست انجام بدبد؛ سرعت و دقت فوق‌العاده!
توی این تعداد پارامتر و دقت؛ این سرعت خیلی خیلی جذاب هست.
روی firefox هم می‌تونید از Dark Reader Addons استفاده کنید یکم تنظیمش کنید Dark mode خوبی برای z.ai بهتون میده (دلیلی که خودم ازین مدل کم استفاده می‌کنم همین بود)
Forwarded from haashemi.dev
🤡 فیچرهای درخواستی دلقک شمار:

اینجا لیستی از فیچر‌های درخواستی رو می‌نویسم که هر موقع که وقت کنم پیاده‌شون کنم.

🎥 امکان ریست stats گروه.
🎥 ساپورت گیف انتخابی هر گروه.
🎥 ساپورت استیکر انتخاب هر گروه.
🎥 محدودیت زمانی دلقک کنندگی هر گروه.
🎥 جواب‌های شانسی به ازای هر دستور.
🎥 دستور دلقک روز!
🎥 دلقک شدن اسپمر‌ها و تایمر ست کرده‌ها.
🎥 اگه بازم هست تو کامنتا بنویسین. 🤝

🌹 اگه دوست داشتید می‌تونید همین‌ها رو PR بزنید، می‌تونید هم کمی منتظر بمونید تا وقت آزاد پیدا کنم.

🌐 @ClownCounterBot
🌐 source code

👨‍💻 @HaashemiDev
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۸۳۸

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

#مولانا | گنجور
📍@iipoem
Forwarded from Geek Alerts
ناسا حدود ۱۵۰۰۰ نفر از ۱۸۲۱۸ کارمندان خودش رو تا زمانی که دولت باز شه، به مرخصی بدون حقوق می‌فرسته.

طبق «طرح استمرار تأمین بودجه ناسا»، این سازمان به یک نیم‌روز زمان نیاز داره تا تاسیسات رو ایمن کنه، سیستم‌های غیرضروری رو خاموش کنه و اطلاعیه‌های مرخصی رسمی رو تحویل بده. تنها فعالیت‌هایی که دولت فدرال اون‌ها رو «استثنایی» می‌دونه، مجاز به ادامه هستن.

فعالیت‌های استثنایی شامل وظایفی هستن که در قانون الزامی شناخته شدن، یا فعالیت‌هایی که برای حفظ جان انسان‌ها و محافظت از اموال به حساب میان. در این شرایط، ناسا همچنان از سه عملیات اصلی یعنی ایستگاه فضایی بین‌المللی (ISS)، ماهواره‌ها و توسعه برنامه آرتمیس پشتیبانی می‌کنه.

درخواست بودجه ترامپ برای سال مالی ۲۰۲۶، کاهش ۲۵ درصدی در بودجه کل ناسا رو پیشنهاد می‌ده و دولت اون رو به کاهش گسترده نیروها تهدید کرده. [L]

🤓 abolfazl @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
اکستنشن جاب لنز و برای گوگل کروم نوشتم تا به جای شما بره تو ویکی تجربه سرچ کنه و گوشه‌ی صفحه کاریابی (جابینجا، جاب ویژن) بهتون نشون ‌بده. می‌تونه یه دستیار خیلی خوب برای کار پیدا کردن باشه.

https://github.com/MehdiHadizadeh/job-lens-extension

@DevTwitter | <Mehdyoo/>
در مورد hookهای git:
گیت امکانات مختلفی داره و یکی از امکاناتش که دستمون رو خیلی باز می‌کنه برای انواع شخصی سازی ها، hook ها هستن. قضیه از این قرارها که توی پوشه .git/hooks میتونید یکسری اسکریپت قابل اجرا بگذارید با اسم های معلوم و خود گیت در زمان های مشخص اونا رو اجرا می‌کنه. معلوم ترینش precommit hook هست که گیت بعد از اومدن دستور کامیت و قبل از این که واقعا کامیت کنه اون اسکریپت رو اجرا می‌کنه. توی اون اسکریپت می‌تونید کد رو فرمت کنید یا تست ها رو اجرا کنید تا مطمین بشین که کامیت های atomic دارید. البته قابل دور زدن هم هست.

فقط دقت کنید که هوک ها جزو چیزاییه که خودتون اونجا می‌گذارید و توی خود گیت ورژن کنترل نمیشه.
زدسکیور یک کلاینت متن‌باز VPN برای اندروید هست، که با پشتیبانی از هسته ایکس‌ری، از پروتکل‌هایی مثل VMess، VLESS، Trojan و Shadowsocks و ترنسپورت‌های همچون TCP، WebSocket، HTTP/2، gRPC و قابلیت‌های تازه‌ای مثل XHTTP و HTTPUpgrade پشتیبانی میکنه.
سرعت‌سنج لحظه‌ای برای آپلود و دانلود، تست پینگ و مرتب‌سازی هوشمند سرورها، قابلیت Per-App Proxy برای انتخاب برنامه‌های خاص، مدیریت آسان سابسکریپشن‌ها با بروزرسانی خودکار و وارد کردن سریع تنظیمات از کلیپ‌بورد، از جمله امکانات #ZedSecure هستند.

👉 github.com/CluvexStudio/ZedSecure/releases/latest

🔍 ircf.space
@ircfspace
Forwarded from NetSentinel24Support
🚨 اگر می‌خوای قبل از همه بفهمی سایت یا سرورت Down شده و اولین نفر از Down Time باخبر شی
🔒 اگر می‌خوای قبل از منقضی شدن SSL سایتت، متوجه بشی و Renew کنی SSL رو
⚡️ اگر دوست داری UP Time یک پورت از سرورت رو بررسی کنی
📊 اگر می‌خوای مطمئن باشی سرورات همیشه زیر نظرن و گزارش‌گیری داشته باشی

🤖 مجموعه‌ی ما می‌تونه کمکت کنه!

🚀 شروع کن با ربات: @NetSentinel24Bot
📌 کانال: @NetSentinel24
🤙 پشتیبانی: @NetSentinel24Support

🔥 حرفه‌ای‌ها همیشه یه نگهبان دارن!
ویم یکی از ادیتور های ترمنیالیه که خیلی از افراد رو مجذوب لینوکس کرده اما یادگیریش کار راحتی برای همه نیست، اگه خواستین شروع کنید به یادگیری اینجارو چک کنید به‌صورت فهرست‌وار و دسته‌بندی‌شده

https://github.com/mhinz/vim-galore

@DevTwitter | <Nimo/>
Forwarded from Ninja Learn | نینجا لرن (Mohammad)
خبرخوشم اینه قراره براتون پخت و پز کنم منتظر باشید
Best tool for creating custom wordlists! Manipulate words as you need, without touching the disk.

https://github.com/glitchedgitz/cook

@DevTwitter | <xlr8/>
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 جناب آقای مجتبی مودب تغییراتی در TaskPire اعمال کرده است که شامل افزودن نصب اسکریپت با داکر و حذف node_modules و ایجاد .gitignore است.

https://github.com/Rayiumir/TaskPire

#task
#mern

@TheRaymondDev
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 نظر غیرمحبوب: هیچ‌کدام از فرصت‌های شغلی در لینکدین واقعاً به استخدام منجر نمی‌شوند.

#توییت

@TheRaymondDev
Forwarded from Linuxor ?
ورژن ها معمولا سه بخشی ان :

<Major>.<Minor>.<Patch>

که تغییرات اصلی و پایه ای بخوان انجام بدن Major رو تغییر می‌دن بخوان مثلا فیچری اضافه کنن Minor رو یه واحد اضافه میکنن و اگه تغییر جزئی باشه مثلا فیکس کردن یه باگ Patch رو تغییر می‌دن.

هیچ کسی هم هیچ اجباری نکرده به این شکلی ساخته بشه اگه چیز بهتری داشتین بسازین بقیه هم ازتون ایده می‌گیرن. (در واقع این یه رشته نمادینه، برای اپ های اندرویدی ورژن کد که به صورت int هست اون مهمه)

حالا یه شرکتی می‌آد می‌گه من چهار تاییش میکنم چون توی یه ورژن خاص و یکسان ممکنه کانفیگ های متفاوتی بدم. مثلا یه بیلد برای فلان نوع دستگاه یه بیلد برای فلان نوع دستگاه دیگه. ورژن همون ورژنه ولی کانفیگ تغییر کرده اگه عدد Patch رو اضافه کنن سردرگم می‌شن. چون هیچ کدی تو برنامه تغییر نکرده فقط یه سری کانفیگ برای بیلد تغییر کرده که مثلا برای دستگاه های مختلف سازگار باشه.

در واقع اگه کسی از استاندارد semver یا همون سه تایی استفاده کنه فقط سه تای اول مهمه و تغییر بقیش اصولا نباید منجر به تغییر کد یا چیزی شده باشه و باید یکسان باشه.

@Linuxor
Forwarded from mosTafa Arshadi
کسایی که تا حالا ماینکرفت بازی کردن خوب میفهمن که چطور توی حالت creative معمولا ادم بیشتر تخریب میکنه تا اینکه بسازه و توی حالت survival کلا تو فکر توسعه و درست کردنه. این ذات انسانه، شخصی که از اول توی ناز و نعمت بوده اونقدر نمیتونه ارزش خاصی خلق کنه اما در عوض اونی که سختی کشیده و از صفر شروع کرده فقط به فکر خلق ارزش و پیشرفته.

@hamidreza01