IranCoderz – Telegram
IranCoderz
2.35K subscribers
3.1K photos
418 videos
26 files
823 links
It's all about Programming

contact: @far1d_ghaderi
Adz: @IranCoderzAdz
Download Telegram
یه رزومه خفن با هم ببینیم

🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
39😁15🤯3🔥2😭2
هم‌وطن عزیزمون رفته به یه خارجی پیام داده و گفته می‌خوام یه برنامه مثل چیزی که داری درست کنم ولی خیلی وقت‌گیره، بهتره خودت سورسش رو بهم بدی چون اگه ندی می‌شینم کلونش می‌کنم.

اینطوری باید یه پروژه رو اوپن سورس کرد👍🏻

🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
44😁111👍1
💡تا حالا فکر کردین استراتژی Redis برای پاک کردن کلیدهای cache که ttl اونها اکسپایر شده چیه؟ ☝️

در واقع redis دو تا استراتژی داره که از ترکیب این دو برای مدیریت این موضوع استفاده میکنه.

1- استراتژی اول که بهش میگن lazy_expiration ساده ترینشه اینه که وقتی درخواستی برای گرفتن یه کلید اومد اول چک میکنه اون کلید اکسپایر شده یا نه اگه آره اون رو همونجا پاک میکنه و نال برمیگردونه.

2- خب اگه یه کلید برای مدت‌ها صدا زده نشه چی؟ اینجاست که میرسیم به استراتژی دوم یعنی active_expiration و به این شکله که میاد مثلا هر 100 میلی ثانیه توی لوپ یه batch که شامل مثلا 20 کلید تصادفی هست رو بررسی میکنه و اونایی که اکسپایر شدن رو پاک میکنه. اگه توی اون لوپ بیشتر از 25 درصد کلیدها پاک بشن اون رو زباله تشخیص میده و حدس میزنه کلیدهای بیشتری هم اکسپایر شدن پس یه batch دیگه اجرا میکنه و در نهایت لوپ تموم میشه تا دوباره لوپ بعدی.

برای همین برخلاف تصور، کلیدهای cache بالافاصله با اتمام ttl حذف نمیشن و ممکنه برای مدتی توی حافظه سرور باقی بمونن مخصوصا اگه حجم کلیدها بالا باشه.

پ.ن: چک کردن تعداد کلیدها در هر لوپ و تعداد اجرای لوپ‌ در ثانیه توی کانفیگ redis قابل تنظیمه، ولی نکته ای که هست هر چی تعداد رو بالاتر ببرین کلیدها سریعتر حذف میشن اما cpu بیشتری درگیر میشه.

📱 Farshsd Tofighi

🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3
This media is not supported in your browser
VIEW IN TELEGRAM
📱 یه روز کاری تو توییچ رو ببینیم

🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8😭75👍1
یکی از مشکلاتی که ایجنت‌های هوش‌مصنوعی دارن، اینه که خیلی بیشتر از کاری که ازشون می‌خواید انجام می‌دن و کلی فایل و کد به درد نخور و اضافه تولید می‌کنن. با کمک پکیج OpenSpec، می‌تونید یک پرپوزال برای پروژه خودتون بسازید گه قبل از نوشتن کد، به ایجنتی که استفاده می‌کنید داده می‌شه و ایجنت طبق اون، کار رو جلو می‌بره و سراغ اضافه‌کاری نمی‌ره.

توضیحات و نحوه استفاده از این پکیج رو می‌تونید از رپو خودش بخونید:
4️⃣ https://github.com/Fission-AI/OpenSpec

🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥1
مسئولین دوست‌داشتنی و حلال‌زاده کشور، هر روز مرزهای جدیدی از نبوغ مدیریتی رو رونمایی می‌کنن.

🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
😐41😡4😁221🔥1
🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
😁37👍3👎1
امروز سرورهای AWS کرش کرده بودن و برای چند ساعتی، هرچی شرکت بود آفلاین شده بودن.

🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
😁131
IranCoderz
Photo
آدمی تو عصر هوش‌مصنوعی موفق می‌شه که اینطوری از فرصت‌ها استفاده کنه

🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
😁311
This media is not supported in your browser
VIEW IN TELEGRAM
بروزر مجهز به هوش‌مصنوعی OpenAI به اسم ChatGPT Atlas برای مک منتشر شد.

🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
💩82
💸به هر کدوم از مدل‌های معروف هوش‌مصنوعی 10هزار دلار دادن که ترید کنن و تا به امروز ChatGPT بدترین عملکرد رو داشته و پولش به حدود 3هزار دلار رسیده، از اون سمت هم DeepSeek بهترین عملکرد رو داشته و حدود 10 درصد سود کرده.

آمار لحظه‌ایشون رو می‌تونید تو سایت زیر ببینید:
https://nof1.ai/

🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
آمازون اعلام کرد قصد داره ۱۴هزار نفر از نیروهای خودش رو تعدیل کنه و این عدد می‌تونه تا ۳۰هزار نفر هم بالا بره. دلیل این تعدیل گسترده، تاثیر هوش‌مصنوعی و همچنین سازمان‌دهی و حذف‌ لایه‌های اضافه تو بخش‌های مختلف این شرکت عنوان شده.

🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯15💩61
IranCoderz
📝#خلاصه کتاب برنامه‌نویس عمل‌گرا - بخش ۲ 🧹پنجره شکسته‌ای جا نذارید فرض کنید یه ساختمون خیلی شیک و قشنگ داریم و یه روز یکی از پنجره‌های اون شکسته می‌شه، اگه سریع این پنجره شکسته شده تعمیر نشه به ساکنین اون ساختمون این حس منتقل می‌شه که این ساختمون رها شده…
📝#خلاصه کتاب برنامه‌نویس عمل‌گرا - بخش ۳

🧑‍💻 اعمال تغییرات راحت باشه
یکی از قدیمی‌ترین بحث‌های برنامه‌نویس‌ها همیشه این بوده که چه فریمورک و زبانی بهتره، چه دیزاین پترن و معماری‌ای باید استفاده بشه و چه اصولی رو باید رعایت کنیم. از روز اولی که ما برنامه‌نویسی رو شروع می‌کنیم با این بحث‌ها درگیر هستیم و قوانینی مثل SOLID, DRY, YAGNI و... رو خیلی زیاد شنیدیم. نویسنده‌های این کتاب معتقدن تنها چیزی که در آخر مهمه اینه که تغییر چیزی که نوشتیم راحت باشه. بنابراین ما هر موقع می‌خوایم چیزی رو پیاده کنیم، باید قبل از دنبال کردن یه روش خاص، از خودمون بپرسیم آیا این باعث می‌شه تغییر این کد در آینده راحت باشه؟ اگه جواب بله باشه یعنی روشی که در نظر داریم روش خوبیه.


زمان تقریبی انجام کارها
کارفرماها و مدیرها همیشه از ما یه زمان برای تموم شدن کارها می‌خوان و اگه بخوایم زمان دقیقی بدیم، قطعا به مشکل می‌خوریم چون همیشه کلی مشکل و اتفاق غیرمنتظره رخ می‌دن که ما رو از زمان تقریبی دور می‌کنن و ما تا جایی که می‌شه باید فضا رو برای احتمالات باز نگه داریم که ددلاین رو از دست ندیم. ابزارهای خیلی زیادی از جمله Agile، CPM و... وجود دارن که به ما تو انجام این کار کمک می‌کنن و نیاز به زمان دقیق رو از بین می‌برن.


🛠 به ابزارهای خودتون مسلط باشید
وقتی برای بار اول رانندگی می‌کنید، باید کلی انرژی صرف کنید تا ساده‌ترین کارها رو انجام بدید ولی بعد از مدت کوتاهی، مغز شما به این کارها مسلط می‌شه و تمرکز شما روی رانندگی خیلی بیشتر می‌شه. برای برنامه‌نویسی هم دقیقا باید سعی کنید با اتوماتیک کردن کارها، حداقل استفاده از کیبورد و استفاده از شورت‌کات‌ها، تمرکز رو از روی استفاده از ابزارها به نوشتن کد و فکر کردن برای حل مسئله ببرید و همین باعث می‌شه که خروجی‌های خیلی بهتری داشته باشید.


🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43
This media is not supported in your browser
VIEW IN TELEGRAM
کرسر تو آپدیت آخرش یه بروزر داخلی اضافه کرده که همون لحظه تغییرات رو نشون می‌ده و می‌تونید بخش‌های مختلف رو سلکت کنید و بگید چه تغییراتی روشون اعمال کنه.

همچنین کرسر مدل خودش به اسم composer-1 رو اضافه کرده که کنار مدل‌های دیگه می‌تونید از اون استفاده کنید.

🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11
IranCoderz
🚀پست سخن‌گوی دولت در ارتباط با لایحه تصویب شده اینترنت طبقاتی نمی‌دونم وقتی یه سری افراد و ارگان‌ها به اینترنت بدون محدودیت دسترسی داشته باشن و عموم مردم نه، اسمش چی می‌شه؟ ما اشتباه می‌کنیم احتمالا. همه‌ این‌ها به کنار، دیگه از این به بعد هر اتفاقی تو این…
اینترنت طبقاتی که نه مبنای قانونی داشت و نه قرار بود هیچ‌وقت در دستور کار دولت قرار بگیره، دیروز برای برخی از دانشگاه‌های تهران فعال شد و می‌تونن بدون وی‌پی‌ان یوتوب رو باز بکنن.

🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
😡22💩2👍1😁1
🥕چطوری از خراب کردن تایم استراحت و تحلیل رفتن انرژیمون جلوگیری کنیم؟

احتمالا برای شما هم پیش اومده که دیر وقت یهو یه راه‌حل برای مشکلی که خیلی وقته روش گیر کردید به ذهنتون می‌رسه و با خودتون می‌گید می‌رم ۲۰ دقیقه‌ای حلش می‌کنم. وقتی کار رو شروع می‌کنید چندتا باگ اون گوشه و کنار به وجود میان، راه‌حل یه سری تغییرات می‌خواد و کلی مشکل دیگه سر راه سبز می‌شن و اون ۲۰ دقیقه شما می‌شه ۳-۴ ساعت و به خودتون میاید می‌بینید خسته و گشنه بدون این‌که چیزی رو حل کرده باشید یه گوشه افتادید و روز بعد هم بخاطر اضافه کار الکی روز قبلتون، با خستگی و انرژی کم می‌رید سراغ کارهاتون. به این پدیده سوراخ موش می‌گن و مهم نیست شما چقدر پایین برید، به نتیجه خاصی نمی‌رسید و فقط خستگی براتون می‌مونه و تو سوراخ عمیق‌تری فرو می‌رید.

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

🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍1
همگی باید این رو گوشه ذهنمون داشته باشیم.

🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍8👎21
🔥عادت‌هایی که شما رو به برنامه‌نویس بهتری تبدیل می‌کنن:

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

- از اسم‌های معنادار استفاده کنید. مثلا getUserById خیلی بهتر از gu هست.
- همیشه سعی کنید کد رو جوری بنویسید که خودش رو توضیح بده و نیازی به کامنت نداشته باشه، اگه این اتفاق نیوفتاد با کامنت منطق کد خودتون رو توضیح بدید.
- تابع‌ها رو کوچیک نگه دارید و همیشه سعی کنید هر تابع یه کار رو به خوبی انجام بده و بیشتر از این نشه.

رعایت این نکات ساده کار روی پروژه رو خیلی راحت‌تر می‌کنه و از باگ‌های زیادی هم جلوگیری می‌کنه.


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


۳- تست نوشتن رو جدی بگیرید.
نوشتن تست نه تنها اتلاف وقت نیست بلکه کد شما رو بیمه می‌کنه. اگه تست‌های خوبی بنویسید، نگهداری و توسعه پروژه در آینده خیلی راحت‌تر می‌شه.


۴- بیشتر از این‌که کد بزنید، کدهای مختلف رو بخونید.
شما وقتی سریع‌تر رشد می‌‌کنید که ببینید بقیه چطوری کد زدن و برای حل مشکلات، چه راه‌کارهایی رو در نظر گرفتن. برای این‌ کار پروژه‌های open-source می‌تونن حسابی به کمک شما بیان و با کارهای زیر می‌تونید کلی از اون‌ها یاد بگیرید:

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

دقت کنید هرچقدر کدهای بیشتری ببینید، در مقابله با موارد مختلف راه‌حل‌های بیشتری تو ذهنتون دارید و می‌تونید بهترین راه‌ها رو خیلی سریع انتخاب و پیاده کنید.


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

- یه فایل DECISIONS.md داشته باشید که تصمیمات مختلف رو اونجا بنویسید.
- راه‌های جایگزین و دلیل رد شدنشون رو بنویسید.
- به جای نوشتن طومار با لیست‌های کوتاه کار رو جمع کنید.

با همچین کار ساده‌ای اگه فرد دیگه‌ای بخواد روی پروژه کار کنه آن‌بوردینگ اون خیلی سریع اتفاق میوفته و همچنین باعث می‌شه شما تصمیمات گذشته رو تکرار نکنید.


🚀@IranCoderz 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2