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
Forwarded from Syntax | سینتکس (alireza-fa)
Temporal

از اونجا شروع می‌شه که یه سری مهندس خفن، که تو شرکت‌های بزرگی مثل مایکروسافت و اوبر کار می‌کردن، فهمیدن مدیریت پردازش‌های پیچیده و توزیع‌شده (distributed systems) خیلی دردسر داره. مخصوصاً وقتی پای چیزایی مثل زمان‌بندی (scheduling)، ریتری (retry)، مانیتور کردن یا حتی برخورد با خطاها (failure handling) وسط میاد.

اینها میان به‌جای اینکه هر بار این مشکلات رو دوباره از اول حل کنن، تو اوبر یه چیزی به اسم Cadence طراحی کردن.

ا. Cadence یه ابزار خیلی قویه برای مدیریت workflow تو سیستم‌های توزیع‌شده. ولی خب، بعدها این بچه‌ها تصمیم گرفتن از اوبر بیان بیرون و یه ورژن بهتر از Cadence رو بسازن که همون Temporalهستش. Cadence با گولنگ توسعه دادن همچنین Temporal هم گولنگی هستش.

ا. Temporal دقیقاً همون ایده‌های Cadence رو گرفته با یه سری امکانات خفن‌تر و تجربه بهتر.

ا. Temporal چیه کاربرد هایی داره؟

ا. Temporal کمک می‌کنه جریان‌های کاری (workflow) پیچیده رو تو سیستم‌های توزیع‌شده مدیریت کنی. حالا یعنی چی؟ یعنی وقتی یه سری کار داری که تو زمان‌های مختلف باید انجام بشن یا یه سری عملیات که ممکنه به هر دلیلی (مثلاً قطع‌شدن سرور یا خطای شبکه) خراب بشه، دیگه لازم نیست خودت دست‌به‌کار بشی و اینا رو هندل کنی. Temporal همه اینارو خودش اوتوماتیک هندل می‌کنه.

برتری اصلی Temporal اینه که می‌تونی کدهای معمولی بنویسی، ولی اون خودش این کدها رو به‌شکلی مدیریت می‌کنه که انگار یه سیستم توزیع‌شده داری که همه چیش اوکیه. یعنی دیگه نگران ریتری، زمان‌بندی یا حفظ وضعیت (state) نباشی. خودش همه چیو هندل می‌کنه.

یه سناریوی واقعی: مدیریت رزرو با Temporal

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

خب، اینجا می‌تونیم با Temporal یه جریان کاری (workflow) خفن بسازیم. بیایم این‌جوری فکر کنیم:

1. وقتی کاربر یه رزرو انجام می‌ده، یه رویداد (event) ارسال می‌شه که می‌گه: «فلان میز رزرو شد».

2. حالا یه workflow تو Temporal تعریف می‌کنیم که بگه: «۱۵ دقیقه صبر کن. اگه تو این مدت کاربر رزرو رو تأیید نکرد، میز رو آزاد کن».

3. اگه کاربر قبل از ۱۵ دقیقه اومد و رزروشو تأیید کرد، workflow رو تموم می‌کنیم و اینبار یه تسک جدید تعریف میکنیم که مثلا یه ساعت قبل تایم رزرو نوتیف یادآوری بده و همینطور بر اساس رویداد های مختلف میتونیم جاب های جدید تعریف کنیم.

4. اگه نه، بعد از ۱۵ دقیقه Temporal خودش اون رزرو رو آزاد می‌کنه.

چرا Temporal اینجا معرکه‌ست؟

تو این مثال، اگه سرور وسط انجام Workflow خاموش بشه، یا حتی اگه شبکه قطع شه، Temporal خودش همه چیو دوباره ادامه می‌ده. یعنی دیگه لازم نیست خودت کدهای پیچیده برای مدیریت این شرایط بنویسی. این باعث می‌شه کارای تو خیلی راحت‌تر بشه و تمرکزت رو روی منطق اپلیکیشن بذاری، نه چیزای جانبی
همچنین به شما قابلیت مانیتورینگ خیلی خوبی رو میده

#temporal

@Syntax_fa
آیا پایتون همیشه کنده؟ 🐢

چیزی که همیشه از زبون همه ی برنامه نویسا می‌شنویم (مخصوصا جامعه محترم C#) اینه که پایتون خیلی کنده (نسبت به زبان های دیگه هرچند این مقایسه اشتباهه بعضی جاها)
خب اره، درسته پایتون کنده (البته در حالت pure)
توی این پست میخوام بگم که چرا کنده و چجوری میشه سریعش کرد؟

چرا پایتون کنده ؟ 🤓

همونجور که میدونید پایتون به صورت پیش‌فرض با CPython اجرا می‌شه، که یه مفسر (interpreter) برای پایتونه و با زبان C نوشته شده. CPython کد پایتون رو به بایت‌کد (bytecode) تبدیل می‌کنه و بعد اون رو تو یه ماشین مجازی (VM) اجرا می‌کنه. این فرایند باعث می‌شه پایتون نسبت به زبان‌های کامپایل‌شده مثل C یا Rust کندتر باشه، چون
تفسیر خط‌به‌خط انجام میده و به جای کامپایل مستقیم به کد ماشین، پایتون تو زمان اجرا تفسیر می‌شه.
GIL (Global Interpreter Lock) تو CPython، یه قفل سراسری هست که جلوی اجرای چند نخ (thread) همزمان رو می‌گیره و برای کارهای multithreading مشکل‌ساز می‌شه.
داینامیک تایپ بودن پایتون تایپ‌ها رو تو زمان اجرا چک می‌کنه، که یه کم سرعت رو پایین میاره.

ولی خبر خوب اینه که پایتون راه ها و ابزارهایی داره که می‌تونن این کندی رو برطرف کنن و پرفورمنس رو حسابی بالا ببرن

راه ها و ابزارهایی برای افزایش سرعت 📚

1️⃣ PyPy 🌟
‏Pypy یه مفسر جایگزین برای پایتونه که از JIT (Just-In-Time Compilation) استفاده می‌کنه.
و کارکردش اینجوریه که کد پایتون رو به جای تفسیر ساده، تو زمان اجرا به کد ماشین کامپایل می‌کنه. این یعنی برای حلقه‌ها و عملیات تکراری خیلی سریع‌تره.
مزیتشم اینه تو بعضی موارد تا ۷ برابر سریع‌تر از CPython عمل می‌کنه
و باید توجه داشت باشید برای کدهایی که با C extensionها (مثل NumPy) کار می‌کنن، کامل سازگار نیست.

2️⃣ Cython
‏Cython یه ابزار که کد پایتون رو به C تبدیل می‌کنه و بعد کامپایلش می‌کنه.
اینجوری کار میکنه که می‌تونی تایپ‌های استاتیک (مثل int یا float) به متغیرها‏ اضافه کنی تا سرعتش بیشتر بشه. بعد Cython این کد رو به C تبدیل می‌کنه و یه فایل باینری سریع تحویلت می‌ده.
و تا چندین برابر سریع‌تر از CPython می‌شه، به‌خصوص برای محاسبات سنگین.

3️⃣ Numba 🔥
‏Numba یه کامپایلر JIT برای پایتونه که با دکوریتور @jit کار می‌کنه.
کارکردش اینجوریه که کد پایتون رو تو زمان اجرا به کد ماشین تبدیل می‌کنه، بدون نیاز به تغییر زیاد تو کدنویسی.
برای حلقه‌ها و محاسبات عددی (مثل کار با آرایه‌ها) تا ۱۰۰ برابر سریع‌تر می‌شه

4️⃣ CPython با C Extensions 🛠️
می‌تونی بخش‌های کند پروژت یا جاهایی که به سرعت بالا نیاز داری رو با C بنویسی و به CPython وصل کنی.
اینجوریه که کد C رو به صورت ماژول می‌سازی و تو پایتون لودش می‌کنی.
و سرعت C رو با سادگی پایتون ترکیب می‌کنی. کتابخونه‌هایی مثل NumPy و Pandas از این روش استفاده می‌کنن.

و در اخر پایتون همیشه کند نیست 🙃

حقیقت اینه که پایتون به تنهایی برای خیلی از کارها به اندازه کافی سریعه، به‌خصوص تو پروژه‌هایی که I/O (مثل شبکه یا دیتابیس) گلوگاه اصلیه، نه CPU. ولی وقتی پای محاسبات سنگین وسط میاد، ابزارهایی مثل PyPy، Cython و Numba می‌تونن پرفورمنس رو چند برابر کنن. مثلاً:
یه حلقه ساده با Numba می‌تونه از ۵ ثانیه به ۰.۰۵ ثانیه برسه
‏PyPy تو برنامه‌های واقعی تا ۷ برابر سرعت رو بالا برده. 🐆

#️⃣ #python


🥷 CHANNEL | GROUP
Forwarded from Curious Geek ⚡️
⚡️ نسخه پایدار نمنَمی منتشر شد
بوو سرده که نام دمو این محصول بود، آفلاین شد و نَمنَمی دردسترس قرار گرفت
به زودی نرم افزار اندروید ، آی او اس و افزونه کروم هم منتشر میشه.
🔗 https://namnami.ir
🆔 @Hiradsajde
Forwarded from Curious Geek ⚡️
BlueQubit Quantum Hackathon

📅 Schedule
Registration Deadline: April 12
Hackathon Kickoff: April 12, 9:00 am PT
Hackathon duration: 24 hours

💬 Frequently Asked Questions
1. Who can participate in the BlueQubit quantum computing hackathon?
Our quantum computing hackathon is open to students, researchers, hobbyists and quantum enthusiasts.

2. Do I need prior experience in quantum computing to join this hackathon?
Not really - all you need is to know what a quantum circuit is. Skills in quantum simulations and prior experience with different quantum simulators will definitely go a long way!

3. How long does Bluequbit Quantum Hackathon last?
Our quantum computing hackathon will last 24 hours.

4. What challenges can I expect in this quantum hackathon?
All problems in our hackathon will be related to peak circuits - you will need to find a way to simulate (or execute) a quantum circuit to find the hidden peak bitstring.

5. How do I prepare for the Hackathon if I’m new to quantum programming?
For beginners or budding enthusiasts, we recommend going through basic tutorials offered by Qiskit or PennyLane. Make sure to get familiar with quantum circuits and how they prepare a quantum state.

6. Can I use real quantum hardware?
Absolutely! You can also use the various simulators available on the BlueQubit platform!

7. How are winners selected?
Winners are chosen based on the highest number of problems they solve correctly in the shortest time.

8. Is there a participation fee?
No. Registration is free!

Use your quantum computing skills to crack our peak circuits.

https://app.bluequbit.io/hackathons
Forwarded from یک برنامه نویس تنبل (The Lazy 🌱)
🔶 بر اساس توییت مدیرعامل شاپیفای، کارکنان این شرکت قبل از درخواست نیروی جدید باید ثابت کنند که انجام وظایف مورد نظرشان با استفاده از هوش مصنوعی امکان‌پذیر نیست. به‌بیان دیگر، فقط زمانی می‌توان به استخدام جدید فکر کرد که بهره‌گیری از ابزارهای هوش مصنوعی کار را پیش نمی‌برد.

#خبر

@TheRaymondDev
مدیریت IndexedDB در مرورگر

💠 پایگاه داده IndexedDB یک (Database) درون مرورگر که به شما اجازه می‌ده داده‌های سمت کاربر (client-side) ذخیره‌سازی کنید. به صورت NoSQL کار می‌کنه و برای ذخیره‌سازی اطلاعات به صورت کلید-مقدار (key-value) استفاده میشه

🔥 برای مدیریت IndexedDB :
کروم: با استفاده از DevTools میتونید داده‌های IndexedDB را مشاهده و تغییر بدید.
فایرفاکس: ابزار Storage Inspector امکان بررسی و مدیریت داده‌های IndexedDB را داره.

🗓 افزونه هایی نرم افزار آزاد که احساس کردم بهتره:

افزونه Kahuna
افزونه IndexedDBEdit
@MehrdadLinuxchannel
⁉️پیشنهاد شما ؟
Forwarded from Agora (Alireza Azadi)
میلاد منشی‌پور (بنیان‌گذار تپسی)،‌ چند ماه پیش یه دوره تو شریف برگزار کرد تحت عنوان «کارآفرینی؛ از ایده تا خروج» من امروز اتفاقی دیدم که این دوره رو هم روی کانال یوتیوبش گذاشته و واسم جالب بود. اینجا هم میذارم که اگر کسی دوست داشت ببینه:

پلی‌لیست دوره‌ی «کارآفرینی؛ از ایده تا خروج»
Forwarded from Geek Alerts
خبرها میگن مدل Gemini 2.5 Flash هم داره میاد، مدل فعلی یعنی Pro که یکی از بزرگترین آپدیت‌های گوگل تو سال اخیر بود یه مقدار گرون هست و این نسخه فلش قراره کیفیت رو در کنار سرعت و هزینه کمتر بهمون بده.

نکته مهمش اینه که استدلالی هست و میشه هم دسته مدل‌های مثل سری O از اوپن‌ای‌آی یا R1 دیپ‌سیک. گوگل می‌گه 2.5 Flash برای برنامه‌هایی که حجم بالایی دارن یا در لحظه باید جواب بدن، مثل خدمات مشتریان و پردازش اسناد، عالیه.

ظاهرا اول به صورت API میاد داخل پلتفرم Vertex AI و احتمالا به اضافه شدنش در سایت gemini.google.com هم نزدیک باشیم.

🔗 techcrunch
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
وقتی پای Scale کردن MySQL وسطه، Vitess واقعاً یه ناجیه

اگه دنبال یه راه‌حل حرفه‌ای برای scale کردن MySQL هستی، اونم بدون اینکه بخوای کلی از اپلیکیشن رو بازنویسی کنی، Vitess دقیقاً همون چیزیه که لازم داری.

اولش تو YouTube ساخته شد، ولی الان تبدیل شده به یه سیستم cloud-native و distributed حسابی قوی برای دیتابیس‌های MySQL.

چندتا از ویژگی‌های جذابش:

یک) Scalability بالا با Sharding اتوماتیک

دو) Fault tolerance و resilience با failover داخلی

سه) Integration عالی با Kubernetes؛ با CRDها خیلی راحت deploy میشه

چهار) Query rewriting و throttling برای کنترل بهتر تو ترافیک‌های سنگین

اگه دیتابیس‌ت داره کم میاره یا می‌خوای زیرساخت‌تو یه پله حرفه‌ای‌تر کنی، حتماً یه نگاه به Vitess بنداز. مخصوصاً اگه داری به سمت معماری microservices و سیستم‌های cloud-native میری.

@DevTwitter | <Ramtin Safadoust/>
Forwarded from Geek Alerts
سالن کروی و غول‌پیکر اسفیر در لاس‌وگاس یه نمایشگر ۱۶K داره که کل فضای بالای سر تماشاچی‌ها رو می‌پوشونه، گوگل داره به کمک یکی از مدل‌های اختصاصی خودش یه فیلم محبوب قدیمی (جادوگر شهر از) رو ارتقا کیفیت میده تا هم به ۱۶k رزولوشن برسه و هم اینکه ابعاد پخش فیلم رو کروی کنه.

برای افزایش کیفیت فیلم از تکنیک گسترش دادن تصویر (outpainting) استفاده میکنن و احتمالا برای کسایی که از نزدیک ببینن تجربه عجیبی و جدیدی داشته باشه.

🔗 androidauthority
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
Forwarded from Geek Alerts
متا یه سرویسی داره به اسم «حساب‌های نوجوانان» یا همون Teen Accounts که سال قبل برای اینستاگرام فعال شد و الان به فیسبوک و سرویس‌های دیگه متا رسیده.

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

کامنت‌ها و دایرکت‌های بد رو متا تشخیص میده و اجازه نمیده بهشون ارسال بشه (مخفی میکنه)، مثل کامنت‌های توهین آمیز و ... بعد از ۶۰ دقیقه استفاده بهشون یادآوری میکنه بهتر دیگه از برنامه استفاده نکنن، از ۱۰ شب تا ۷ صبح نوتیف‌های برنامه خاموش میشن.

از طرفی امکانات نظارتی برای والدین هم داده میشه که از بخش فمیلی‌سنتر در دسترس هست، ممکنه بخشی از این ویژگی‌ها در ایران فعال نباشن. یه آپدیت جدید هم داشتن که در اینستاگرام یا هر پلتفرمی نوجوون‌های زیر ۱۶ سال برای گذاشتن لایو باید از والدینشون رضایت درون‌برنامه بگیرن.

🔗 techcrunch
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
هوش مصنوعی Cursor؛ همکار جدید شما در دنیای کدنویسی

اگر برنامه‌نویس هستید، وقت آن رسیده که با Cursor آشنا شوید؛ یک محیط توسعه هوشمند که با ترکیب قدرت Visual Studio Code و GPT-4، تجربه کدنویسی را متحول می‌کند.
با Cursor می‌توانید:
* کد بنویسید یا تکمیل کنید تنها با توضیح ساده
* خطاهای پروژه را سریع‌تر پیدا و برطرف کنید
* کدهای خود را بهینه‌سازی (refactor) و مستند کنید
* از AI بخواهید برایتان تست بنویسد
* مستقیماً درون پروژه سؤال بپرسید و پاسخ هوشمند دریافت کنید
در دنیای رقابتی امروز، داشتن یک همکار AI دیگر یک انتخاب نیست؛ یک ضرورت است.

@DevTwitter | <Amir Hosein Bolori/>
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۲۴۹

بگذشت سوار غیب و گردی برخاست
او رفت ز جای و گرد او هم برخاست
تو راست نگر نظر مکن از چپ و راست
گردش اینجا و مرد در دار بقاست

#مولانا | گنجور
📍@iipoem
پکیج خفن و پر کاربرد Scramble درلاراول

یکی از مهم ترین مبحث ها مخصوصا در کار های تیمی، اینه که api ها رو مستند سازی کنید برای دیگر تیم ها یا افراد

قطعا در اولین قدم به swagger فکر میکنیم ولی برای اینکه شما یک مستند مفید و جامع در لاراول ایجاد کنید خیلی زمان بر هستش و حتی پکیج هایی هم هستند که این موضوع رو به صورت اتوماتیک هندل میکنن ولی خروجی ها اصلا مفید و کاربردی نیستند

اما پکیج Scramble به شما این امکان رو میده که فقط با وارد کردن یک دستور، خروجی مستندات رو مشاهده کنید و تمام Request Body ها همراه با دیتا تایپ هاشون و همچنین به شما اجازه تست api هارو میده

امیدوارم استفاده کنید و لذتش رو ببرید

لینک پکیج :

https://scramble.dedoc.co/

@DevTwitter | <Mojtaba Zaferani/>
This media is not supported in your browser
VIEW IN TELEGRAM
فرق #junior و #senior

سمت راستیه منم و سمت چپیه سینیور 😂


🔥@Programming_Hobby 🔥
یه ریپوی خوب از Microsoft برای استفاده از مدلهای رایگان گیتهاب در فریمورک های مختلف...

توی codespace هم میتونید اجراش کنید (وب)

* AutoGen
* LangGraph
* Llamaindex
* OpenAI
* PydanticAI
* Semantic Kernel
* SmolAgents

https://github.com/Azure-Samples/python-ai-agent-frameworks-demos/

@DevTwitter | <Sam92/>