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
ابزار ‏LocalStack چیست و چرا برای توسعه‌دهندگان و مهندسان زیرساخت مفید است؟

ابزار ‏LocalStack یک پلتفرم متن‌باز برای شبیه‌سازی سرویس‌های AWS روی ماشین لوکال یا Docker است. این ابزار امکان توسعه و تست زیرساخت‌های ابری را بدون نیاز به اتصال به AWS واقعی و پرداخت هزینه فراهم می‌کند.

‏ویژگی‌های کلیدی:
‏- دارای APIهای استاندارد AWS: می‌توانید مستقیماً از AWS CLI، SDK یا Terraform استفاده کنید.
‏- شبیه‌سازی سرویس‌های مهم:
نسخه رایگان: S3، DynamoDB، Lambda، API Gateway، SNS/SQS، CloudFormation، IAM، Kinesis، CloudWatch Logs، Step Functions
نسخه Pro: سرویس‌های پیشرفته‌تر مانند Athena، Glue و EventBridge
‏- محیط تست واقعی: امکان تمرین با Terraform/CloudFormation، تست Lambda، S3، SQS و یکپارچه‌سازی با CI/CD pipeline بدون نیاز به اکانت AWS.
‏- صرفه‌جویی در هزینه: اجرای همه‌چیز به‌صورت لوکال، بدون هزینه تا زمان دیپلوی واقعی.

‏محدودیت‌ها:
‏- سرویس‌هایی مانند AWS WAF مستقیماً شبیه‌سازی نمی‌شوند، اما سرویس‌های مرتبط مثل S3، Lambda و EventBridge قابل تست هستند.

‏چرا LocalStack ارزشمند است؟
‏- تست سناریوهای پیچیده و Unit Testing برای Lambda، S3، SQS و غیره
‏- شبیه‌سازی محیط‌های Production در لوکال
‏- توسعه و دیباگ زیرساخت بدون وابستگی به اینترنت یا اکانت AWS
‏- یکپارچگی با CI/CD برای تست کدهای زیرساختی

در نهایت ‏LocalStack ابزاری قدرتمند برای توسعه و تست زیرساخت‌های AWS بدون هزینه‌های اضافی است.

@DevTwitter | <Mahdi Shahi/>
Forwarded from Syntax | سینتکس (Sovren)
مفهوم Trade-off در توسعه نرم‌افزار
(تعادل میان مزایا و معایب در تصمیم‌های فنی)

در توسعه نرم‌افزار، هیچ تصمیمی رایگان نیست. هر انتخابی، در کنار مزایا، هزینه‌ها و محدودیت‌هایی هم دارد. Trade-off یعنی برقراری تعادل میان این مزایا و معایب، و انتخاب بهترین گزینه متناسب با شرایط واقعی پروژه.

مثال ساده از دنیای خارج:
وقتی می‌خواهید خودرویی بخرید، معمولاً باید بین مصرف سوخت پایین و قدرت موتور بالا یکی را قربانی کنید. به ندرت خودرویی پیدا می‌شود که هر دو ویژگی را به بهترین شکل داشته باشد.

و در دنیای نرم‌افزار:

- اگر بخواهید سرعت توسعه بالاتر برود، احتمالاً باید کمی از بهینه‌بودن یا کارایی چشم‌پوشی کنید.
- اگر انعطاف‌پذیری کامل بخواهید، باید پیچیدگی بیشتری را بپذیرید.
- اگر سراغ فریم‌ورک‌های جدید بروید، نوآوری بیشتری به دست می‌آورید، اما منابع آموزشی و نیروی متخصص کمتری پیدا می‌کنید.

تفاوت در معیارهای سنجش
نکته مهم دیگر این است که معیارهای سنجش در هر پروژه متفاوت است:

- یک استارتاپ ممکن است سرعت رسیدن به بازار را مهم‌تر بداند.
- یک سیستم بانکی احتمالاً امنیت و پایداری بلندمدت را در اولویت قرار می‌دهد.
- یک پروژه تحقیقاتی شاید بیشتر به انعطاف‌پذیری و نوآوری اهمیت دهد.

بنابراین حتی اگر دو تیم روی یک زبان یا فریم‌ورک واحد بحث کنند، ممکن است از زاویه‌های متفاوتی آن را ارزیابی کنند و به نتایج متفاوتی برسند.


به همین دلیل، انتخاب زبان، ابزار یا فریم‌ورک هیچ‌وقت یک پاسخ مطلق «بهترین» ندارد.
سؤال درست این نیست که کدام بهترین است؟
بلکه این است که کدام گزینه با توجه به نیازهای فعلی پروژه و توان تیم، بهترین تعادل (Trade-off) را فراهم می‌کند؟

Source

#trade_off

@Syntax_fa
Forwarded from Gopher Academy
🔵 عنوان مقاله
Watermill 1.5: Library for Building Event-Driven Apps

🟢 خلاصه مقاله:
خلاصه‌ای از Watermill 1.5: این کتابخانه برای ساخت برنامه‌های رویدادمحور طراحی شده و کار با جریان‌های پیام را در کانال‌های متنوعی مانند Kafka، RabbitMQ، HTTP و حتی binlogهای MySQL تسهیل می‌کند. با فراهم‌کردن یک لایه یکپارچه برای انتشار و مصرف پیام‌ها، به اتصال سرویس‌ها، یکپارچه‌سازی با زیرساخت موجود و ساخت معماری‌های ماژولار و مقیاس‌پذیر کمک می‌کند. این پروژه متن‌باز است و مخزن آن در GitHub در دسترس است.

🟣لینک مقاله:
https://golangweekly.com/link/173343/web


👑 @gopher_academy
اگر برنامه‌نویسی، این ابزار احتمالاً به کارت ‌میاد

یک CLI نوشتم به اسم codemate که اسم هر فایلی از دایرکتوریتون رو بهش بدین، با GPT-4o چکش می‌کنه و هر باگی داشته باشه رو بهتون می‌گه و یک راه‌حل هم واسش میده.
حالا این‌کار رو می‌تونین با کل فایل‌های دایرکتوریتون هم انجام بدین؛ یعنی اگر اسم فایلی بهش ندین، کل فایل‌های دایرکتوریتون رو یک‌جا دیباگ می‌کنه.

و حتی می‌تونین به‌جای اینکه اسم فایل رو بهش بدین؛ بصورت inline هم کدتون رو وارد کنین تا دیباگش کنه.

یک آپشن دیگه هم داره که با فلگ مشخص و اسم فایل، پیشنهاداتی برای ریفکتور کردن اون فایل میده.

برای API هم من از openrouter استفاده کردم، چون تا یک لیمیتی میشه ازش مجانی استفاده کرد که مقدارش واقعاً مناسبه و کم نیست و اگر تموم بشه هم میشه یک اکانت جدید ساخت؛
کافیه یک api توکن از سایتش برای خودتون بگیرین و ازش برای codemate استفاده کنین.

نصب پکیج:
pip install codesmate

پیشنهاد ‌می‌کنم اگر خواستید نصب کنید حتماً داکیومنتیشنش رو بخونید.

https://github.com/MahdiMirshafiee/codemate

@DevTwitter | <Mahdi/>
Forwarded from Syntax | سینتکس (Sovren)
Jules
آشنایی با دستیار کدنویسی هوش مصنوعی گوگل

یکی از جدیدترین و قدرتمندترین این ابزارها، Jules**، دستیار کدنویسی هوش مصنوعی گوگل است. اما Jules دقیقاً چیست و چه تفاوتی با سایر ابزارهای مشابه مانند Cursor دارد؟

Jules: یک همکار و معمار کد


ا Jules یک مدل زبان بزرگ (LLM) است که به عنوان یک همکار برنامه‌نویس (AI Pair Programmer) طراحی شده است. برخلاف ابزارهایی که تنها به تکمیل کد یا پاسخ به سوالات کوتاه می‌پردازند، Jules می‌تواند یک پروژه کامل را تحلیل کرده و در انجام تسک‌های پیچیده به شما کمک کند.

روند کاری با Jules به صورت گفتگو محور و مبتنی بر تسک است. شما به عنوان یک توسعه‌دهنده:
1. سورس کد را شیر می کنید: Jules با دریافت سورس کد، یک دید جامع و کامل از معماری، وابستگی‌ها و الگوهای کدنویسی پروژه شما پیدا می‌کند.
2. تسک را تعریف می‌کنید: شما نیازمندی‌های خود را به زبان ساده بیان می‌کنید. برای مثال: «یک قابلیت جدید برای ثبت‌نام مشتری توسط فروشنده اضافه کن.»
3. راه‌حل دریافت می‌کنید: Jules با تحلیل کل پروژه، کد مورد نیاز را تولید کرده و به شما ارائه می‌دهد. این کد نه تنها سینتکس درستی دارد، بلکه با ساختار و الگوهای موجود در پروژه شما نیز هماهنگ است.
4. تست و بازخورد می‌دهید: شما کد را در محیط توسعه خود اجرا و تست می‌کنید. در صورت وجود مشکل یا نیاز به تغییر، بازخورد خود را به Jules می‌دهید تا راه‌حل را اصلاح کند.

نکته کلیدی این است که Jules مستقیماً کد را اجرا نمی‌کند، بلکه به عنوان یک معمار و متخصص عمل می‌کند که بهترین راه‌حل را بر اساس تحلیل عمیق پروژه پیشنهاد و تولید می‌کند.


مقایسه Jules با سایر دستیارهای هوش مصنوعی (مانند Cursor)

برای درک بهتر جایگاه Jules، می‌توان آن را با ابزارهای دیگری مانند Cursor مقایسه کرد.

با Cursor: شما یک تابع را انتخاب کرده و می‌نویسید: "این تابع را بهینه‌تر کن" یا "برای این کد تست بنویس". Cursor تغییرات را مستقیماً در همان فایل اعمال می‌کند.

با Jules: شما کل پروژه را آپلود کرده و می‌گویید: "سیستم احراز هویت ما نیاز به بازنگری دارد تا از حملات Brute-force جلوگیری کند. بهترین راه‌حل چیست؟

انتخاب بین Jules و Cursor به نیاز شما بستگی دارد.

اگر به دنبال ابزاری برای افزایش سرعت در ویرایش‌های روزمره و رفع باگ‌های کوچک درون محیط کدنویسی خود هستید، Cursor یک انتخاب فوق‌العاده است.

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

https://jules.google.com/

#jules

@Syntax_fa
Forwarded from یک برنامه نویس تنبل (  MΞ)
This media is not supported in your browser
VIEW IN TELEGRAM
شروع یک پایان...

@TheRaymondDev
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
⭐️مدیریت حافظه Swap در لینوکس: راهنمای جامع
🔹پست آموزشی کامل در آکادمی کندوی دانش. مرجع آموزشهای متن باز و لینوکس به فارسی

https://learninghive.ir/swap-management/
نویسنده: حسین سیلانی
Forwarded from Frontend with Erfun👨🏻‍💻 (Erfun Ghodoosi)
یه بنده خدایی اومده پیویم مثل اینکه یه تیم مالزی و اذربایجانی هستن که میخوان ایرانیا با اروپاییا یا امریکاییا مصاحبه کاری برن و کار رو بگیرن
بعد حالا اونا کار میکنن یا خود شخص ایرانی و بعدش حقوق رو تقسیم میکنن

کار احمقانه و جالبیه🤔😂
کسی هست مشکل زبان و همینطور زمان نداشته باشه؟
من زبانم اوکیه فقط زمانم اوکی نیست
در کل موقعیت با مزه ای هست
شما فقط مصاحبه میکنید
بقیه‌شو اونا اوکی میکنن

@erfundev
Forwarded from Gopher Academy
🔵 عنوان مقاله
Surf: An Advanced HTTP Client Library

🟢 خلاصه مقاله:
**Surf یک کتابخانه پیشرفته برای کلاینت HTTP است که با تمرکز بر اسکرپینگ وب و خودکارسازی API طراحی شده. این ابزار با شبیه‌سازی رفتار مرورگرهای دسکتاپ و توجه به جزئیات اثرگذار بر انگشت‌نگاری، تعامل پایدارتر با وب‌سایت‌ها را ممکن می‌کند، در کنار مدیریت کوکی و سشن، ریدایرکت‌ها و مذاکره محتوا. همچنین با پشتیبانی از HTTP/3 و قابلیت‌هایی مانند تلاش مجدد هوشمند، کنترل همزمانی، pooling اتصال و پشتیبانی از پروکسی، برای جمع‌آوری داده، تست و یکپارچه‌سازی API با کارایی و شباهت بالا به ترافیک واقعی مرورگر مناسب است.

🟣لینک مقاله:
https://golangweekly.com/link/173635/web


👑 @gopher_academy
Forwarded from یک برنامه نویس تنبل (Lazy 🌱)
This media is not supported in your browser
VIEW IN TELEGRAM
🔶 کاربر __Tkat__ با هوش مصنوعی یه مرورگر حرفه ای ساخت.

@TheRaymondDev
Forwarded from Frontend with Erfun👨🏻‍💻 (Erfun Ghodoosi)
مثل اینکه با یه ایرانی دیگه هم کار میکنن
Forwarded from Frontend with Erfun👨🏻‍💻 (Erfun Ghodoosi)
Forwarded from Frontend with Erfun👨🏻‍💻 (Erfun Ghodoosi)
خلاصه که اگر پایه بودید پیام بدید بهم که وصلتون کنم به هم
Forwarded from Frontend with Erfun👨🏻‍💻 (Erfun Ghodoosi)
مسئله جالب تر اینکه از گیت هاب پیدام کرده🤔😂
ندیده بودم
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
📚 کتاب ۱ –از 100کتاب لینوکس:
مبانی سیستم‌عامل


این کتاب در ۱۵ فصل به بررسی مفاهیم اساسی سیستم‌عامل می‌پردازد؛

🔹 مباحث اصلی کتاب:

🔻 معرفی سیستم‌عامل و نقش آن در مدیریت سخت‌افزار و نرم‌افزار
🔻 مدیریت فرآیندها: زمان‌بندی، همزمانی، وضعیت‌ها
🔻 فایل‌ها و سیستم‌فایل‌ها: سازماندهی، ذخیره‌سازی و حفاظت از اطلاعات
🔻 مدیریت حافظه و تکنیک‌های پیشرفته مثل *Journaling*
🔻 امنیت سیستم‌عامل و حفاظت از داده‌ها
🔻 رابط کاربری گرافیکی (GUI) و کاربرپسندی سیستم‌عامل
🔻 تاریخچه و تکامل سیستم‌عامل‌ها (مثل ظهور لینوکس ۱۹۹۱)
🔻 بوت شدن، معماری لایه‌ای، ماشین‌های مجازی و انواع سیستم‌عامل‌ها (اندروید، iOS، بلادرنگ)

🔹 ویژگی‌های کتاب:
🔸 تمام رنگی
🔸 تعداد صفحات: ۳۱۳
🔸قطع: وزیری (شومیز)
🔸شابک: 978-622-400-515-9
🔸ویرایش: اول (سال ۱۴۰۴)
🔸ناشر: انتشارات یافته
🔸نوع فایل: PDF
نویسنده: حسین سیلانی

⭐️ جزئیات، فهرست و دریافت کتاب از لینک زیر:
⭐️تخفیف 46 درصد به قیمت 75000 تومان

لینک کتاب: [کتاب ۱ – مبانی سیستم‌عامل]
زبان برنامه‌نویسی هُرمُز

زیر‌مجموعه‌ای از C
سایز مترجم: 828.4KiB
سایز فایل: 1.2KiB
سایز باینری خروجی: 4.2KiB
قابلیت پردازش حرکه‌ها و نیم‌فاصله
نوشته شده با Rust
بک‌اند کامپایلر با TCC
همین کد کاملا کامپایل میشه و خروجیش رو گذاشتم. هنوز خیلی کار داره ولی. struct و enum هم ساپورت می‌کنه


ساپورت داده‌های صحیح۸...صحیح۶۴، حسابی۸...حسابی۶۴، حرف، بول، بایت، اندازه، متن، انواع اشاره‌گرها، رفرنس‌ها، عملیات ریاضی و شیفتینگ، تخصیص حافطه و آزاد‌سازی، ۵-۶ تا کتابخونه (ناقص)، struct, enum, typedef, حلقه for, foreach, while، if, انواع کامنت، function call, array

ساپورت نشده ها: preprocessor, header files, union, استراکت‌های پیچیده، کتابخونه‌های خارجی غیر C، و متاسفانه ادیتور عالی وجود نداره، اما زبان جوری طراحی شده که با کیبورد استاندار فارسی بدون مشکل میشه کد زد و لازم به سویچ به انگلیسی نیست. Lsp هم نداریم لطفن سوال نفرمایید =)))

وقتی مُردم شما ادامه‌ش بدید :)))

@DevTwitter | <Q/>
اگر عضو TechGrub بوده باشین، احتمالاً تغییر اخیر رو متوجه شدین.
قبلاً همهٔ پست‌های ۲۴ ساعت اخیر منابعی که دنبال می‌کردم یکجا ارسال می‌شد و پیدا کردن نوشته‌های به درد بخور وسط این حجم از نوشته کار سختی بود.

برای همین تصمیم گرفتم تغییرش بدم: حالا هر روز فقط یک نوشته کوتاه ارسال می‌شه: عنوان، یک چکیده مختصر ai-generated و در بعضی موارد یک تصویر.

اینجا توضیح دادم که TechGrub چیه و اگر علاقه‌مندین، می‌تونین عضو بشید:
@TechGrub
اگر خودتون نوشتهٔ فنی انگلیسی می‌نویسید و یا افرادی رو دنبال می‌کنید که نوشته‌های باکیفیتی دارن حتماً توی کامنت یا دایرکت برام بفرستین که به لیستم اضافه کنم.

در ضمن اگر عضو کامیونیتی یا صاحب کانالی هستین خوشحال می‌شم TechGrub رو معرفی کنید که به گوش افراد بیشتری برسه.