DevTwitter | توییت برنامه نویسی
#کوته_نیوز گیتهاب self-runner رو پولی کرد 0.002 دلار به ازای هر دقیقه @DevTwitter
#کوته_نیوز
اون قضیه 0.002 دلار به ازای هر دقیقه برای self-hosted runnerهای گیتهاب که قرار بود از اول مارس ۲۰۲۶ شروع بشه در پی سر و صداهای زیادش فعلاً به تعویق افتاد.
@DevTwitter | <Hamed/>
اون قضیه 0.002 دلار به ازای هر دقیقه برای self-hosted runnerهای گیتهاب که قرار بود از اول مارس ۲۰۲۶ شروع بشه در پی سر و صداهای زیادش فعلاً به تعویق افتاد.
@DevTwitter | <Hamed/>
👍47🔥6❤1🍌1
چارت جی اس(Chart.js) یه کتابخونه اوپن سورس جاوااسکریپتیه که برای ساخت نمودارهای تمیز توی وب هستش و با canvas کار میکنه. راهاندازیش سادهست و برای نمایش دادهها به شکل خطی میلهای دایرهای و کلی مدل دیگه عالیه:
https://chartjs.org
لینک گیتهاب:
https://github.com/chartjs/Chart.js
@DevTwitter | <Shayan GeeDook/>
https://chartjs.org
لینک گیتهاب:
https://github.com/chartjs/Chart.js
@DevTwitter | <Shayan GeeDook/>
👍26👎6❤4🔥3
وال پنل یه پنل ساخت و مدیریت ادمین نان سودو برای پنل های x-ui هست، اگه استفاده کردید خوشحال میشم با استار از ریپو حمایت کنید
( http://github.com/primeZdev/whale-panel )
@DevTwitter | <primeZ/>
( http://github.com/primeZdev/whale-panel )
@DevTwitter | <primeZ/>
🔥13🍌8👍2👎2
Forwarded from هشتگ تبلیغ تخصصی
سرور مجازی ایران الوند نتورک دقیقاً همونه که میخوای 💎
Please open Telegram to view this post
VIEW IN TELEGRAM
🍌5👎1
خبر خوب برای برنامه نویس های C# که میخوان از AI استفاده کنن
استک اصلی من ASP .NET Core و Blazor هست و باهاش پروژههای زیادی انجام داده ام. پایتون هم کار کردهام، ولی بیشتر برای کارهای دمدستی و مرتبط با AI و Data Science.
چند سال اخیر، برای AI و کار با لایبرریها مجبور شدم بیشتر سراغ پایتون برم و راستش همیشه یه گلایه تو ذهنم بود
اینکه چرا کامیونیتی مایکروسافت تو این حوزه خیلی جدی وارد نمیشه.
حالا چرا با پایتون ننویسیم؟ فرض کن با دات نت یه سری پروژه جدی نوشتی و حالا میخوایی برای کمک به کاربر، امکانات AI اضافه کنی: باید روی سرور پروداکشن پایتون داشته باشی و API بدی و از اپلیکیشن دات نت اون API رو صدا کنی! تازه این اول کاره! امنیت، لاگ و ... که باید با اپلیکیشن خودت integrate بشه!
یه خورده با Semantic Kernel و چند لایبرری دیگه کار کردم، ولی صادقانه بگم، خیلی Solid بنظرم نیومد و به دلم ننشستن…
تا اینکه اخیراً با Microsoft Agent Framework آشنا شدم و کمی باهاش کار کردم. رویکردش واقعاً جالب بود
هم برای Python هست، هم برای C# — و همین موضوع جذابیتش رو چند برابر میکنه.
چند تا نکتهی جذابش که من دوست داشتم:
میتونی ازش برای ساخت چتباتهای ساده تا سیستمهای پیچیده چندعامل (multi-agent) استفاده کنی — همه با پترنهای قابل فهم و توسعهپذیر
و Graph-based Workflows داره که میتونی چند Agent رو به هم وصل کنی و یک جریان کاری هوشمند بسازی GitHub
پشتیبانی کامل از امکاناتی مثل Functions/Tool و Agent Memory , MCP Servers و Thread و Agent History/Storage و ...
همینظور Observability / Telemetry داخلی هم داره — یعنی میتونی رفتار Agent ها رو دنبال و دیباگ کنی (برای پروژههای پروداکشن خیلی مهمه!)
ابزار DevUI هم داره که بهت Interactive UI میده برای دیدن گامبهگام عملکرد Agent ها و workflow ها
و بهترین بخشش اینه که APIهاش در Python و C# خیلی شبیه هم هستن — پس میتونی راحت بین دو زبان کار کنی بدون اینکه حس کنی زندانی یه اکوسیستم شدی
به نظرم این یکی از بهترین قدمهای مایکروسافت برای AI Agents هست — هم برای تجربههای سریع و هم برای ساختن سیستمهای جدی در پروژه های دات نت
https://github.com/microsoft/agent-framework
@DevTwitter | <Amir Pournasserian/>
استک اصلی من ASP .NET Core و Blazor هست و باهاش پروژههای زیادی انجام داده ام. پایتون هم کار کردهام، ولی بیشتر برای کارهای دمدستی و مرتبط با AI و Data Science.
چند سال اخیر، برای AI و کار با لایبرریها مجبور شدم بیشتر سراغ پایتون برم و راستش همیشه یه گلایه تو ذهنم بود
اینکه چرا کامیونیتی مایکروسافت تو این حوزه خیلی جدی وارد نمیشه.
حالا چرا با پایتون ننویسیم؟ فرض کن با دات نت یه سری پروژه جدی نوشتی و حالا میخوایی برای کمک به کاربر، امکانات AI اضافه کنی: باید روی سرور پروداکشن پایتون داشته باشی و API بدی و از اپلیکیشن دات نت اون API رو صدا کنی! تازه این اول کاره! امنیت، لاگ و ... که باید با اپلیکیشن خودت integrate بشه!
یه خورده با Semantic Kernel و چند لایبرری دیگه کار کردم، ولی صادقانه بگم، خیلی Solid بنظرم نیومد و به دلم ننشستن…
تا اینکه اخیراً با Microsoft Agent Framework آشنا شدم و کمی باهاش کار کردم. رویکردش واقعاً جالب بود
هم برای Python هست، هم برای C# — و همین موضوع جذابیتش رو چند برابر میکنه.
چند تا نکتهی جذابش که من دوست داشتم:
میتونی ازش برای ساخت چتباتهای ساده تا سیستمهای پیچیده چندعامل (multi-agent) استفاده کنی — همه با پترنهای قابل فهم و توسعهپذیر
و Graph-based Workflows داره که میتونی چند Agent رو به هم وصل کنی و یک جریان کاری هوشمند بسازی GitHub
پشتیبانی کامل از امکاناتی مثل Functions/Tool و Agent Memory , MCP Servers و Thread و Agent History/Storage و ...
همینظور Observability / Telemetry داخلی هم داره — یعنی میتونی رفتار Agent ها رو دنبال و دیباگ کنی (برای پروژههای پروداکشن خیلی مهمه!)
ابزار DevUI هم داره که بهت Interactive UI میده برای دیدن گامبهگام عملکرد Agent ها و workflow ها
و بهترین بخشش اینه که APIهاش در Python و C# خیلی شبیه هم هستن — پس میتونی راحت بین دو زبان کار کنی بدون اینکه حس کنی زندانی یه اکوسیستم شدی
به نظرم این یکی از بهترین قدمهای مایکروسافت برای AI Agents هست — هم برای تجربههای سریع و هم برای ساختن سیستمهای جدی در پروژه های دات نت
https://github.com/microsoft/agent-framework
@DevTwitter | <Amir Pournasserian/>
❤20🍌11🔥2👍1
اگر دوست دارید از youtube-dl یا yt-dlp استفاده کنید ولی با ترمینال راحت نیستید، این برنامه کارتون رو راحتتر میکنه
https://github.com/database64128/youtube-dl-wpf/
راحت از یوتیوب دانلود کنید
با این برنامه میتوانید فرمتها و کیفیتهای مختلف را انتخاب کنید، زیرنویس اضافه کنید، پلیلیست دانلود کنید و تنظیمات پیشرفته مثل مسیر ذخیره، پروکسی و غیره رو راحت میشه توش ست کرد
@DevTwitter | <POURYA/>
https://github.com/database64128/youtube-dl-wpf/
راحت از یوتیوب دانلود کنید
با این برنامه میتوانید فرمتها و کیفیتهای مختلف را انتخاب کنید، زیرنویس اضافه کنید، پلیلیست دانلود کنید و تنظیمات پیشرفته مثل مسیر ذخیره، پروکسی و غیره رو راحت میشه توش ست کرد
@DevTwitter | <POURYA/>
❤21🍌3
Forwarded from هشتگ تبلیغ تخصصی
🗣 ارائهدهنده: سروش عاشوریصفت | Data Scientist همکاران سیستم
📅 پنجشنبه ۱۸ دیماه | ساعت ۱۰ تا ۱۲
🔺 شرکت در رویداد فقط در صورت ثبتنام امکانپذیره.
Please open Telegram to view this post
VIEW IN TELEGRAM
🍌4❤1👎1
ریپوزیتوری Awesome-PHP-Security | مرجع جامع امنیت در توسعه PHP
ریپوزیتوری Awesome-PHP-Security یک ریپوزیتوری منتخب و حرفهای از منابع امنیت PHP است که ابزارهای تخصصی، تحلیل کد ایستا، راهنماهای امنسازی و آموزشهای کاربردی را یکجا ارائه میدهد تا توسعهدهندگان بتوانند امنیت نرمافزارهای PHP خود را بهصورت استاندارد و قابلاعتماد ارتقا دهند.
ویژگیهای کلیدی
- مجموعهای curated از ابزارهای امنیت نرمافزار
- پوشش تحلیل کد ایستا (SAST) و بررسی آسیبپذیریها
- دسترسی به مشاورهها و Best Practiceهای امنیتی PHP
- منابع آموزشی معتبر برای Secure Coding
- مناسب برای توسعهدهندگان، تیمهای DevSecOps و معماران نرمافزار
موارد استفاده
- افزایش امنیت اپلیکیشنهای PHP در محیطهای Production
- شناسایی و کاهش آسیبپذیریهای رایج نرمافزاری
- بهبود کیفیت کد با رویکرد Secure Development
- پشتیبانی از فرآیندهای DevSecOps و CI/CD
- مرجع سریع برای تصمیمگیریهای امنیتی در پروژههای PHP
این ریپوزیتوری انتخابی هوشمندانه برای تیمهایی است که امنیت، کیفیت و پایداری نرمافزار را در اولویت توسعه قرار میدهند.
ریپو در GitHub:
https://github.com/guardrailsio/awesome-php-security
@DevTwitter | <Pardis CO./>
ریپوزیتوری Awesome-PHP-Security یک ریپوزیتوری منتخب و حرفهای از منابع امنیت PHP است که ابزارهای تخصصی، تحلیل کد ایستا، راهنماهای امنسازی و آموزشهای کاربردی را یکجا ارائه میدهد تا توسعهدهندگان بتوانند امنیت نرمافزارهای PHP خود را بهصورت استاندارد و قابلاعتماد ارتقا دهند.
ویژگیهای کلیدی
- مجموعهای curated از ابزارهای امنیت نرمافزار
- پوشش تحلیل کد ایستا (SAST) و بررسی آسیبپذیریها
- دسترسی به مشاورهها و Best Practiceهای امنیتی PHP
- منابع آموزشی معتبر برای Secure Coding
- مناسب برای توسعهدهندگان، تیمهای DevSecOps و معماران نرمافزار
موارد استفاده
- افزایش امنیت اپلیکیشنهای PHP در محیطهای Production
- شناسایی و کاهش آسیبپذیریهای رایج نرمافزاری
- بهبود کیفیت کد با رویکرد Secure Development
- پشتیبانی از فرآیندهای DevSecOps و CI/CD
- مرجع سریع برای تصمیمگیریهای امنیتی در پروژههای PHP
این ریپوزیتوری انتخابی هوشمندانه برای تیمهایی است که امنیت، کیفیت و پایداری نرمافزار را در اولویت توسعه قرار میدهند.
ریپو در GitHub:
https://github.com/guardrailsio/awesome-php-security
@DevTwitter | <Pardis CO./>
🍌7👍3🔥2❤1
توی نسخههای جدید Go یک قابلیت تازه و البته آزمایشی اضافه شده که حسابی سروصدا کرده: Green Tea.
قبل از اینکه بریم سراغش، بد نیست یادآوری کنیم مدل قدیمی GC چه مشکلی داشت.
در نسخههای قبلی، GC هیچ اطلاعاتی نداشت که بین دو Cycle دقیقا کجای حافظه تغییر کرده. برای همین مجبور بود هر بار کل هیپ رو اسکن کنه؛ حتی اگر فقط چند درصدش دست خورده بود. نتیجه؟ مصرف بالای CPU، کمکگیری سنگین از mutator assist و یهسری وقفه های ریز که روی تجربهی اجرا تاثیر میذاشت.
تو رویکرد جدید،گو میاد heap رو به segmentهای کوچیک تقسیم میکنه و هر موقع allocation یا pointer write اتفاق میافته، فقط همون segment بهعنوان dirty علامت میخوره. وقتی GC شروع میشه، دیگه خبری از اسکن کل heap نیست؛ فقط بخشهایی بررسی میشن که واقعا تغییر کردن در طول یک چرخه
خروجی این تغییر هم کاملا ملموسه: کاهش مصرف CPU (تا حدود ۳۵٪ طبق گزارشها)و وقفه های GC کوتاهتر و کممزاحمتر.
@DevTwitter | <Go Talk/>
قبل از اینکه بریم سراغش، بد نیست یادآوری کنیم مدل قدیمی GC چه مشکلی داشت.
در نسخههای قبلی، GC هیچ اطلاعاتی نداشت که بین دو Cycle دقیقا کجای حافظه تغییر کرده. برای همین مجبور بود هر بار کل هیپ رو اسکن کنه؛ حتی اگر فقط چند درصدش دست خورده بود. نتیجه؟ مصرف بالای CPU، کمکگیری سنگین از mutator assist و یهسری وقفه های ریز که روی تجربهی اجرا تاثیر میذاشت.
تو رویکرد جدید،گو میاد heap رو به segmentهای کوچیک تقسیم میکنه و هر موقع allocation یا pointer write اتفاق میافته، فقط همون segment بهعنوان dirty علامت میخوره. وقتی GC شروع میشه، دیگه خبری از اسکن کل heap نیست؛ فقط بخشهایی بررسی میشن که واقعا تغییر کردن در طول یک چرخه
خروجی این تغییر هم کاملا ملموسه: کاهش مصرف CPU (تا حدود ۳۵٪ طبق گزارشها)و وقفه های GC کوتاهتر و کممزاحمتر.
@DevTwitter | <Go Talk/>
🔥23🍌3👍1
Forwarded from DevTwitter Ads.
اینو همه میدونن
که هوش مصنوعی، پادشاه مهارتهای آیندهاست 👑
پس چرا تو مسیری نباشی که آیندهاش تضمینه؟
امسال با شرکت در بوتکمپ هوش مصنوعی دانشکار زودتر از بقیه وارد این مسیر شو
بوتکمپ هوش مصنوعی دانشکار فقط یه آموزش نیست.
تمرینه، پروژست، شبیهساز دنیای حرفهایه!
❄️ دیماه امسال، قدم در راه موفقیت بذار:
🔗https://dnkr.ir/yA7Bz
که هوش مصنوعی، پادشاه مهارتهای آیندهاست 👑
پس چرا تو مسیری نباشی که آیندهاش تضمینه؟
امسال با شرکت در بوتکمپ هوش مصنوعی دانشکار زودتر از بقیه وارد این مسیر شو
بوتکمپ هوش مصنوعی دانشکار فقط یه آموزش نیست.
تمرینه، پروژست، شبیهساز دنیای حرفهایه!
❄️ دیماه امسال، قدم در راه موفقیت بذار:
🔗https://dnkr.ir/yA7Bz
👎14🍌2
سیستم کند است؟ این ۴ عدد دروغ نمیگویند
کند شدن API یکی از رایجترین چالشها در سیستمهای نرمافزاری است.
اما تشخیص اینکه دقیقاً چه چیزی کند شده بدون داده و متریک، عملاً غیرممکن است.
تحلیل عملکرد سیستم نیازمند اعداد واقعی و قابل اندازهگیری است؛ متریکهایی که بتوانند محل گلوگاهها و نقاط ضعف را بهدرستی مشخص کنند.
در این پُست به چهار متریک بنیادی میپردازیم که شناخت آنها برای هر مهندس نرمافزار ضروری است.
1- معیار Queries Per Second (QPS)
این معیار نشان میدهد سیستم شما در هر ثانیه چند درخواست ورودی دریافت میکند.
برای مثال، اگر سرور در یک ثانیه ۱۰۰۰ درخواست دریافت کند، مقدار QPS برابر با ۱۰۰۰ خواهد بود.
در نگاه اول، QPS متریکی ساده به نظر میرسد، اما چالش اصلی در پایداری آن نهفته است. بسیاری از سیستمها قادر به حفظ QPS بالا در بازههای زمانی طولانی نیستند و در شرایط فشار، بهتدریج دچار افت عملکرد میشوند.
2- معیار Transactions Per Second (TPS)
این معیار تعداد تراکنشهای کاملاً انجامشده در هر ثانیه را نشان میدهد.
یک تراکنش شامل کل مسیر پردازش درخواست است؛ از دریافت درخواست تا تعامل با دیتابیس و بازگشت پاسخ نهایی.
برخلاف QPS که صرفاً تعداد درخواستهای ورودی را نشان میدهد، TPS بیانگر میزان کار واقعی انجامشده است و معمولاً مهمترین متریک از دیدگاه کسبوکار محسوب میشود.
3- معیار Concurrency (همزمانی)
این معیار تعداد درخواستهای فعالی است که سیستم در یک لحظه در حال پردازش آنهاست.
برای مثال، ممکن است سیستم ۱۰۰ درخواست در ثانیه دریافت کند، اما اگر پردازش هر درخواست ۵ ثانیه طول بکشد، در عمل با ۵۰۰ درخواست همزمان مواجه خواهیم بود.
همزمانی بالا به معنای نیاز به مدیریت بهینهتر منابع، connection pool مناسب و کنترل دقیقتر threadها است.
4- معیار Response Time
این معیار مدت زمانی است که از آغاز یک درخواست تا دریافت پاسخ نهایی سپری میشود.
این متریک هم در سطح کلاینت و هم در سطح سرور اندازهگیری میشود و نقش کلیدی در تجربه کاربری و توان پردازشی سیستم دارد.
رابطه بین متریکها:
این چهار متریک بهطور مستقل عمل نمیکنند و رابطهی مشخصی میان آنها وجود دارد:
QPS = Concurrency ÷ Average Response Time
بر اساس این رابطه، افزایش همزمانی یا کاهش میانگین زمان پاسخ، منجر به افزایش توان پردازشی (Throughput) سیستم میشود.
تحلیل صحیح عملکرد سیستم بدون درک دقیق این متریکها ممکن نیست.
@DevTwitter | <Amir Rahimi Nejad/>
کند شدن API یکی از رایجترین چالشها در سیستمهای نرمافزاری است.
اما تشخیص اینکه دقیقاً چه چیزی کند شده بدون داده و متریک، عملاً غیرممکن است.
تحلیل عملکرد سیستم نیازمند اعداد واقعی و قابل اندازهگیری است؛ متریکهایی که بتوانند محل گلوگاهها و نقاط ضعف را بهدرستی مشخص کنند.
در این پُست به چهار متریک بنیادی میپردازیم که شناخت آنها برای هر مهندس نرمافزار ضروری است.
1- معیار Queries Per Second (QPS)
این معیار نشان میدهد سیستم شما در هر ثانیه چند درخواست ورودی دریافت میکند.
برای مثال، اگر سرور در یک ثانیه ۱۰۰۰ درخواست دریافت کند، مقدار QPS برابر با ۱۰۰۰ خواهد بود.
در نگاه اول، QPS متریکی ساده به نظر میرسد، اما چالش اصلی در پایداری آن نهفته است. بسیاری از سیستمها قادر به حفظ QPS بالا در بازههای زمانی طولانی نیستند و در شرایط فشار، بهتدریج دچار افت عملکرد میشوند.
2- معیار Transactions Per Second (TPS)
این معیار تعداد تراکنشهای کاملاً انجامشده در هر ثانیه را نشان میدهد.
یک تراکنش شامل کل مسیر پردازش درخواست است؛ از دریافت درخواست تا تعامل با دیتابیس و بازگشت پاسخ نهایی.
برخلاف QPS که صرفاً تعداد درخواستهای ورودی را نشان میدهد، TPS بیانگر میزان کار واقعی انجامشده است و معمولاً مهمترین متریک از دیدگاه کسبوکار محسوب میشود.
3- معیار Concurrency (همزمانی)
این معیار تعداد درخواستهای فعالی است که سیستم در یک لحظه در حال پردازش آنهاست.
برای مثال، ممکن است سیستم ۱۰۰ درخواست در ثانیه دریافت کند، اما اگر پردازش هر درخواست ۵ ثانیه طول بکشد، در عمل با ۵۰۰ درخواست همزمان مواجه خواهیم بود.
همزمانی بالا به معنای نیاز به مدیریت بهینهتر منابع، connection pool مناسب و کنترل دقیقتر threadها است.
4- معیار Response Time
این معیار مدت زمانی است که از آغاز یک درخواست تا دریافت پاسخ نهایی سپری میشود.
این متریک هم در سطح کلاینت و هم در سطح سرور اندازهگیری میشود و نقش کلیدی در تجربه کاربری و توان پردازشی سیستم دارد.
رابطه بین متریکها:
این چهار متریک بهطور مستقل عمل نمیکنند و رابطهی مشخصی میان آنها وجود دارد:
QPS = Concurrency ÷ Average Response Time
بر اساس این رابطه، افزایش همزمانی یا کاهش میانگین زمان پاسخ، منجر به افزایش توان پردازشی (Throughput) سیستم میشود.
تحلیل صحیح عملکرد سیستم بدون درک دقیق این متریکها ممکن نیست.
@DevTwitter | <Amir Rahimi Nejad/>
❤14👍6
میدونستید چرا Nginx همهجا هست؟
سالها Apache بازیگر بیرقیبِ دنیای وبسرورها بود.
تقریباً ۲۰ سال تمام.
تا اینکه Nginx اومد و بدون سر و صدا، بازی رو عوض کرد.
امروز Nginx پشت صحنهی خیلی از غولهای اینترنت نشسته:
Netflix، Airbnb، Dropbox
نه بهخاطر اینکه جدیدتر یا مد روزه،
بلکه چون مشکلاتی رو حل کرد که توی ترافیک بالا، Apache بهسختی از پسشون برمیاومد.
اما چرا Nginx اینقدر محبوب شد؟
- همزمان هزاران کانکشن رو راحت هندل میکنه
- بهعنوان Reverse Proxy فوقالعاده عمل میکنه
- بهعنوان Load Balancing ساده و قدرتمند
- دارای Cache داخلی برای سرعت بیشتر
ب-ه عهده گرفتن SSL Termination و سبکتر کردن اپلیکیشنها
توی خیلی از معماریهای مدرن، Nginx دیگه فقط «وبسرور» نیست؛
عملاً مغز هدایت ترافیک و خط اول امنیت سیستم حساب میشه.
@DevTwitter | <Amir Rahimi Nejad/>
سالها Apache بازیگر بیرقیبِ دنیای وبسرورها بود.
تقریباً ۲۰ سال تمام.
تا اینکه Nginx اومد و بدون سر و صدا، بازی رو عوض کرد.
امروز Nginx پشت صحنهی خیلی از غولهای اینترنت نشسته:
Netflix، Airbnb، Dropbox
نه بهخاطر اینکه جدیدتر یا مد روزه،
بلکه چون مشکلاتی رو حل کرد که توی ترافیک بالا، Apache بهسختی از پسشون برمیاومد.
اما چرا Nginx اینقدر محبوب شد؟
- همزمان هزاران کانکشن رو راحت هندل میکنه
- بهعنوان Reverse Proxy فوقالعاده عمل میکنه
- بهعنوان Load Balancing ساده و قدرتمند
- دارای Cache داخلی برای سرعت بیشتر
ب-ه عهده گرفتن SSL Termination و سبکتر کردن اپلیکیشنها
توی خیلی از معماریهای مدرن، Nginx دیگه فقط «وبسرور» نیست؛
عملاً مغز هدایت ترافیک و خط اول امنیت سیستم حساب میشه.
@DevTwitter | <Amir Rahimi Nejad/>
👍57❤12🍌3
پلتفرم codewars فقط حل مسئله نیست، یاد گرفتن طرز فکره. Codewars یه پلتفرمه برای تمرین برنامهنویسی و حل مسئله با زبانهای مختلف؛
جایی که میتونی چالشهای کوچیک الگوریتمی حل کنی و مهارتت رو کمکم تقویت کنی.
چیزی که برای من Codewars رو واقعاً ارزشمند کرده، فقط حل کردن کاتاها نیست؛
بعد از حل مسئله، دیدن راهحل بقیهست.
مثلاً امروز روی یه چالش کار میکردم که در ظاهر ساده بود،
ولی تا زمانی که الگوی مسئله رو درست نفهمیدم، پیادهسازیش گیجکننده میشد.
بعد از اینکه خودم حلش کردم و رفتم سراغ solutions:
دیدم بعضیها همون مسئله رو با چند خط سادهتر حل کرده بودن
بعضیها از نگاه کاملاً متفاوتی استفاده کرده بودن
و بعضی راهحلها واقعاً طرز فکرم رو نسبت به مسئله عوض کرد
برای من این بخش دقیقاً مثل یه code review واقعی و رایگان عمل میکنه.
یه پیشنهاد ساده:
فرقی نمیکنه برنامهنویس باشی یا تو هر زمینهی دیگهای کار کنی—
اگر روزی فقط یک چالش کوچیک حل کنی:
توی یک ماه -> حدود ۳۰ تمرین
توی یک سال -> بیشتر از ۳۶۰ بار فکر کردن، تحلیل کردن و حل مسئله
این حجم تمرین، بدون اغراق:
طرز فکرت رو قویتر میکنه
حل مسئلهت رو بهتر میکنه
و تأثیرش رو مستقیم توی کارت میبینی
برای من Codewars فقط تمرین برنامهنویسی نیست؛
یه عادت خوبه برای رشد مداوم.
@DevTwitter | <Ahmad Aghazade/>
جایی که میتونی چالشهای کوچیک الگوریتمی حل کنی و مهارتت رو کمکم تقویت کنی.
چیزی که برای من Codewars رو واقعاً ارزشمند کرده، فقط حل کردن کاتاها نیست؛
بعد از حل مسئله، دیدن راهحل بقیهست.
مثلاً امروز روی یه چالش کار میکردم که در ظاهر ساده بود،
ولی تا زمانی که الگوی مسئله رو درست نفهمیدم، پیادهسازیش گیجکننده میشد.
بعد از اینکه خودم حلش کردم و رفتم سراغ solutions:
دیدم بعضیها همون مسئله رو با چند خط سادهتر حل کرده بودن
بعضیها از نگاه کاملاً متفاوتی استفاده کرده بودن
و بعضی راهحلها واقعاً طرز فکرم رو نسبت به مسئله عوض کرد
برای من این بخش دقیقاً مثل یه code review واقعی و رایگان عمل میکنه.
یه پیشنهاد ساده:
فرقی نمیکنه برنامهنویس باشی یا تو هر زمینهی دیگهای کار کنی—
اگر روزی فقط یک چالش کوچیک حل کنی:
توی یک ماه -> حدود ۳۰ تمرین
توی یک سال -> بیشتر از ۳۶۰ بار فکر کردن، تحلیل کردن و حل مسئله
این حجم تمرین، بدون اغراق:
طرز فکرت رو قویتر میکنه
حل مسئلهت رو بهتر میکنه
و تأثیرش رو مستقیم توی کارت میبینی
برای من Codewars فقط تمرین برنامهنویسی نیست؛
یه عادت خوبه برای رشد مداوم.
@DevTwitter | <Ahmad Aghazade/>
👍34❤10
بعضی وقتا گلوگاه performance دیتابیس از query یا infra نیست، از primary key میاد.
اUUID چون randomه، هر insert رو میفرسته یه جای متفاوت از B-treeی که برای ایندکس ها ساخته شده و ممکنه باعث شه درخت دوباره ساخت بشه؛ نتیجهاش cache miss، page split و write cost بالاتره. زیر بار دیتابیس زود به سقف CPU میرسه.
در مقابل، bigint auto-increment همیشه آخر index مینویسه و رفتار دیتابیس قابل پیشبینی میشه. تو تستهای واقعی، فقط با عوض کردن UUID به bigserial، throughput چند برابر بهتر شده بدون اینکه data model یا business logic تغییر کنه.
اprimary key تصادفی یعنی مالیات دائمی روی هر write
راه بهتر اینه که primary key داخلی bigint باشه و یه public UUID برای بیرون سیستم داشته باشی. اگه client-generated id لازم داری، میتونی از time-orderd مثله Snowflake استفاده کنی تا keyها تقریبا ترتیبی باشن و توی سیستم های توزیع شده هم یکتا باشن و هم index اذیت نشه.
@DevTwitter | <Go Talk | گو تاک/>
اUUID چون randomه، هر insert رو میفرسته یه جای متفاوت از B-treeی که برای ایندکس ها ساخته شده و ممکنه باعث شه درخت دوباره ساخت بشه؛ نتیجهاش cache miss، page split و write cost بالاتره. زیر بار دیتابیس زود به سقف CPU میرسه.
در مقابل، bigint auto-increment همیشه آخر index مینویسه و رفتار دیتابیس قابل پیشبینی میشه. تو تستهای واقعی، فقط با عوض کردن UUID به bigserial، throughput چند برابر بهتر شده بدون اینکه data model یا business logic تغییر کنه.
اprimary key تصادفی یعنی مالیات دائمی روی هر write
راه بهتر اینه که primary key داخلی bigint باشه و یه public UUID برای بیرون سیستم داشته باشی. اگه client-generated id لازم داری، میتونی از time-orderd مثله Snowflake استفاده کنی تا keyها تقریبا ترتیبی باشن و توی سیستم های توزیع شده هم یکتا باشن و هم index اذیت نشه.
@DevTwitter | <Go Talk | گو تاک/>
👍18❤10🍌5👎2
از اونجایی که من کلا همیشه به دنبال حداکثر سرعت، بهینه بودن و عملکرد هستم و همیشه اینارو یه جا میخوام،
مجبور میشم از کتابخونههای آماده استفاده نکنم و بشینم یه چیزی بهتر از اونارو طراحی کنم.
حالا ایندفعه fasthttp رو برای پایتون طراحی کردم، یه کتابخونهی ساده، سبک، مینیمال و زیبا برای ارسال درخواست های HTTP با حداکثر سرعت ممکن.
این کتابخونه از aiohttp، httpx و requests هم سریعتره و سینتکس مشابهای به هر سه داره و به راحتی میشه ازش استفاده کرد. کدنویسی sync و async رو همزمان پشتیبانی میکنه.
میتونید با دستور زیر کتابخونه رو نصب کنید:
یه مثال از کتابخونه:
گیت هاب پروژه:
https://github.com/shayanheidari01/fasthttp
@DevTwitter | <ShythonX/>
مجبور میشم از کتابخونههای آماده استفاده نکنم و بشینم یه چیزی بهتر از اونارو طراحی کنم.
حالا ایندفعه fasthttp رو برای پایتون طراحی کردم، یه کتابخونهی ساده، سبک، مینیمال و زیبا برای ارسال درخواست های HTTP با حداکثر سرعت ممکن.
این کتابخونه از aiohttp، httpx و requests هم سریعتره و سینتکس مشابهای به هر سه داره و به راحتی میشه ازش استفاده کرد. کدنویسی sync و async رو همزمان پشتیبانی میکنه.
میتونید با دستور زیر کتابخونه رو نصب کنید:
pip3 install -U pyfasthttp
یه مثال از کتابخونه:
from fasthttp import Client
with Client() as client:
resp = client.get("https://httpbin.org/get")
print(resp.status_code)
print(resp.json())
گیت هاب پروژه:
https://github.com/shayanheidari01/fasthttp
@DevTwitter | <ShythonX/>
❤25🍌23👎8👍4
حضور zod-ir در داکیومنت رسمی Zod + انتشار نسخه v1.5.4
از زمان انتشار نسخه 1.2 که فقط روی "ولیدیشن" تمرکز داشتم و در پست قبلی معرفی کردم، هدفم حل چالشهای دیتای ایرانی در Zod بود. اما در مسیر توسعه، نیاز به چیزی فراتر از true/false حس میشد. امروز نسخه v1.5.4 با رویکرد جدید Data Extraction (استخراج دیتا) منتشر شد.
خبر ویژه: پولریکوست پروژه در ریپوی اصلی Zod مرج شد و اکنون zod-ir رسماً به عنوان ابزار استاندارد ولیدیشن ایرانی در بخش Ecosystem داکیومنت Zod معرفی شده است و میتونید با خیال راحت توی پروژههای بزرگ ازش استفاده کنید.
تغییرات کلیدی نسبت به نسخههای قبل: در این نسخه، پکیج علاوه بر بررسی صحت داده، متادیتای کاربردی را برای UI استخراج میکند:
۱. خدمات شهری و خودرو (Vehicle & Bills):
- پلاک: استخراج استان و شهر محل پلاک خودرو.
- قبض: استخراج مبلغ، نوع قبض (آب، برق،...) و شناسه پرداخت از روی شناسه قبض (محاسبه خودکار).
۲. امور مالی (Financial):
- ورودی مالی ترکیبی (zFinancial): دیگه فرقی نمیکنه کاربر کارت بزنه یا شبا. سیستم خودش تشخیص میده و آبجکت کامل (شامل لوگو، رنگ و نام بانک) رو برمیگردونه.
- بانکی: تشخیص نام بانک، رنگ سازمانی و لوگو (SVG) از روی شماره کارت یا شبا.
- کریپتو: ولیدیشن Native آدرسهای TRC20 ،BTC و ETH (بدون وابستگی سنگین).
۳. تماس و مکان (Contact & Location):
- تلفن ثابت (جدید): استخراج نام استان و شهر (فارسی/EN) از روی پیششماره.
- کد پستی (بهبود یافته): بازنویسی الگوریتم تشخیص شهر با متد Best Match (رفع تداخل رنجهای پستی).
- موبایل: تشخیص اپراتور (همراه اول، ایرانسل و...) و ارائه لوگوی اپراتور.
تشکر از شایان زمانی عزیز (Shayan Zamani) بابت مشارکت در مدرنسازی زیرساخت و بیلد سیستم این نسخه.
الان zod-ir یک ابزار کامل برای تیمهای فرانتاند است که هم دیتای ورودی را چک میکند و هم دیتای خروجی را فرمتشده تحویل میدهد.
نصب: npm i zod-ir
https://www.npmjs.com/package/zod-ir
https://github.com/Reza-kh80/zod-ir
@DevTwitter | <Reza Kheradmandi/>
از زمان انتشار نسخه 1.2 که فقط روی "ولیدیشن" تمرکز داشتم و در پست قبلی معرفی کردم، هدفم حل چالشهای دیتای ایرانی در Zod بود. اما در مسیر توسعه، نیاز به چیزی فراتر از true/false حس میشد. امروز نسخه v1.5.4 با رویکرد جدید Data Extraction (استخراج دیتا) منتشر شد.
خبر ویژه: پولریکوست پروژه در ریپوی اصلی Zod مرج شد و اکنون zod-ir رسماً به عنوان ابزار استاندارد ولیدیشن ایرانی در بخش Ecosystem داکیومنت Zod معرفی شده است و میتونید با خیال راحت توی پروژههای بزرگ ازش استفاده کنید.
تغییرات کلیدی نسبت به نسخههای قبل: در این نسخه، پکیج علاوه بر بررسی صحت داده، متادیتای کاربردی را برای UI استخراج میکند:
۱. خدمات شهری و خودرو (Vehicle & Bills):
- پلاک: استخراج استان و شهر محل پلاک خودرو.
- قبض: استخراج مبلغ، نوع قبض (آب، برق،...) و شناسه پرداخت از روی شناسه قبض (محاسبه خودکار).
۲. امور مالی (Financial):
- ورودی مالی ترکیبی (zFinancial): دیگه فرقی نمیکنه کاربر کارت بزنه یا شبا. سیستم خودش تشخیص میده و آبجکت کامل (شامل لوگو، رنگ و نام بانک) رو برمیگردونه.
- بانکی: تشخیص نام بانک، رنگ سازمانی و لوگو (SVG) از روی شماره کارت یا شبا.
- کریپتو: ولیدیشن Native آدرسهای TRC20 ،BTC و ETH (بدون وابستگی سنگین).
۳. تماس و مکان (Contact & Location):
- تلفن ثابت (جدید): استخراج نام استان و شهر (فارسی/EN) از روی پیششماره.
- کد پستی (بهبود یافته): بازنویسی الگوریتم تشخیص شهر با متد Best Match (رفع تداخل رنجهای پستی).
- موبایل: تشخیص اپراتور (همراه اول، ایرانسل و...) و ارائه لوگوی اپراتور.
تشکر از شایان زمانی عزیز (Shayan Zamani) بابت مشارکت در مدرنسازی زیرساخت و بیلد سیستم این نسخه.
الان zod-ir یک ابزار کامل برای تیمهای فرانتاند است که هم دیتای ورودی را چک میکند و هم دیتای خروجی را فرمتشده تحویل میدهد.
نصب: npm i zod-ir
https://www.npmjs.com/package/zod-ir
https://github.com/Reza-kh80/zod-ir
@DevTwitter | <Reza Kheradmandi/>
🔥43❤5
اگه با Cloud Storageها کار میکنی، احتمالاً به rclone نیاز داری.
ابزاری برای بکاپ، سینک و مایگریشن که بهصورت rsync-like بین کلود استوریجها کار میکنه.
ریپو گیت هاب: http://github.com/rclone/rclone
@DevTwitter | <Mohammad/>
ابزاری برای بکاپ، سینک و مایگریشن که بهصورت rsync-like بین کلود استوریجها کار میکنه.
ریپو گیت هاب: http://github.com/rclone/rclone
@DevTwitter | <Mohammad/>
👍8🍌4❤2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
الان داشتن رزومه شخصی سازی شده برای هر شغل خیلی ضروریه!
اگر میخواهید رزومهای داشته باشید که هم ساختار مهندسی داشته باشد و هم چشمنواز باشد، حتما به ریپوزیتوری RenderCV سر بزنید.
ایده اصلی اینه: محتوا رو از ظاهر جدا کن. دیگه لازم نیست نگران باشی که اگه یه خط به سوابق کاریت اضافه کنی، کل فونتها و فاصلههای رزومهات به هم میریزه. تو فقط متنت رو توی فایل YAML مینویسی، RenderCV خودش بقیهی کارها (چیدمان، فاصلهگذاری، فونت و...) رو انجام میده.
چه ویژگی هایی داره؟
- مدیریت ورژنکنترل: میتوانید رزومهتان را در گیتهاب قرار دهید و تمام تغییرات آن را در طول زمان ردیابی کنید.
- ظاهر بینقص: دیگر نیازی نیست ساعتها وقت صرف تنظیم فاصلهها و فونتها کنید؛ همهچیز طبق استانداردهای حرفهای چیده میشود.
- خروجیهای متنوع: علاوه بر نسخه PDF، به شما فایلهای Markdown و LaTeX هم میدهد که برای پلتفرمهای مختلف عالی است.
- تمرکز روی محتوا: شما فقط روی نوشتن تجربیاتتان تمرکز میکنید و اجازه میدهید ابزار، کارِ طراحی را برایتان انجام دهد.
Github: https://github.com/rendercv/rendercv
@DevTwitter | <Mehdi Allahyari/>
اگر میخواهید رزومهای داشته باشید که هم ساختار مهندسی داشته باشد و هم چشمنواز باشد، حتما به ریپوزیتوری RenderCV سر بزنید.
ایده اصلی اینه: محتوا رو از ظاهر جدا کن. دیگه لازم نیست نگران باشی که اگه یه خط به سوابق کاریت اضافه کنی، کل فونتها و فاصلههای رزومهات به هم میریزه. تو فقط متنت رو توی فایل YAML مینویسی، RenderCV خودش بقیهی کارها (چیدمان، فاصلهگذاری، فونت و...) رو انجام میده.
چه ویژگی هایی داره؟
- مدیریت ورژنکنترل: میتوانید رزومهتان را در گیتهاب قرار دهید و تمام تغییرات آن را در طول زمان ردیابی کنید.
- ظاهر بینقص: دیگر نیازی نیست ساعتها وقت صرف تنظیم فاصلهها و فونتها کنید؛ همهچیز طبق استانداردهای حرفهای چیده میشود.
- خروجیهای متنوع: علاوه بر نسخه PDF، به شما فایلهای Markdown و LaTeX هم میدهد که برای پلتفرمهای مختلف عالی است.
- تمرکز روی محتوا: شما فقط روی نوشتن تجربیاتتان تمرکز میکنید و اجازه میدهید ابزار، کارِ طراحی را برایتان انجام دهد.
Github: https://github.com/rendercv/rendercv
@DevTwitter | <Mehdi Allahyari/>
🔥20❤8👍3👎1