TorhamDev | تورهام 😳 – Telegram
TorhamDev | تورهام 😳
2.84K subscribers
420 photos
49 videos
21 files
591 links
code, linux and anything related.

• YouTube
youtube.com/@techwithtori

• CodeNaline Podcast
@CodeNaline

• Group
@GothamProgrammers

• Github
github.com/TorhamDev

• Email
torhamdev@gmail.com
Download Telegram
asyncio.wait_for

...
# execute a task with a timeout
try:
# wait for a task to complete
await asyncio.wait_for(coro, timeout=1)
except asyncio.TimeoutError:
# ...


این کد یک نمونه از استفاده‌ی asyncio.wait_for در برنامه‌نویسی پایتون است. زمانی که برنامه اجرا می‌شود، ممکن است که یک عملیات تحت شبکه، مانند ایجاد یک اتصال TCP، زمان بیشتری از حالت معمول برای تکمیل نیاز داشته باشد. در این صورت، استفاده از تابع wait_for، به برنامه نویس این قابلیت را می‌دهد تا دیگر از حد مورد موردنیاز بیشتر منتظر اتمام عملیات نماند.

در کد ارائه بالا، به جای منتظر ماندن برای اتمام تسک، با استفاده از تابع asyncio.wait_for، حداکثر یک ثانیه منتظر تکمیل تسک می‌مانیم. اگر تسک در زمان مشخص شده تکمیل نشود، یک asyncio.TimeoutError رخ می‌دهد.

در مثال بالا، coro می‌تواند هر گونه coroutine باشد که بتواند در asyncio event loop اجرا شود. با استفاده از تابع asyncio.wait_for، عملیات مشخص شده در این coroutine زمان بیشتری از زمان مشخص شده برای تکمیل آن اجرا شود. به عنوان مثال، ممکن است این coroutine انتظار داشته باشد که اتصالی به یک سرور خاص برقرار شود، اما برای برقراری این اتصال، ممکن است زمان زیادی لازم باشد. با استفاده از asyncio.wait_for، می‌توانیم فرآیند اتصال را به حداکثر یک ثانیه محدود کنیم تا از به هم ریختگی برنامه جلوگیری شود. در صورتی که در یک ثانیه اتصال برقرار نشود، یک asyncio.TimeoutError ایجاد می‌شود که می‌تواند به عنوان اعلام خطا به کار برود.

مقاله خوب برای مطالعه بیشتر:
- https://superfastpython.com/asyncio-wait_for/

👾 @TrohamDevCH
👏3
آمار گیری جهت هدف دادن به محتوا چنل.

کدوم مورد شما ترجیح میدید محتوا دربارش باشه؟
Anonymous Poll
49%
مفاهیم پایتون و برنامه‌نویسی به زبان پایتون
58%
مفاهیم و ابزارها بک‌اند (مستقل از زبان)
33%
میکروسرویس
28%
دواپس
فیچر if به زبان slow laggy اضافه شد!. از این پس میتونید از شرط if و یک معادله در برابرش استفاده کنید. برای مثال 3 > 7 یا هر شکل معادله‌ای که نتیجه ای True یا False داشته باشه!.

https://github.com/TorhamDev/Slow-Laggy

یادتون نره به این زبان فوق‌العاده استار بدید!
66🎉57🥰56👍55👏51😁47🔥46🙏3
تفاوت Decimal و Float چیه؟
به نظرم حتما مقاله رو هم کامل بخونید که مثل من سوتی ندید :)))
https://medium.com/@mayuribudake999/difference-between-decimal-and-float-eede050f6c9a

@TorhamDevCH
بلاخره یکی حرف منو زد :). لازم نیست همتون متخصص هوش مصنوعی بشید!. شخصا من distributed systems برای جذاب تره.
@TorhamDevCH
👍13
الستیک سرچ ( Elasticsearch ) یکی از پرکاربردترین ابزارهای جستجوی متن‌باز و تحلیل داده است که برای نگهداری، جستجو، جمع‌آوری و تجزیه و تحلیل داده‌هایی در زمینه‌های مختلف مثل لاگ‌ها استفاده میشه.

کاربرد اصلی Elasticsearch در برنامه نویسی، امکان ایجاد و سازماندهی پایگاه داده‌های جستجوپذیر و درک و جستجوی سریع در داده‌های بزرگ. با استفاده از Elasticsearch میتونیم دیتای مورد نظر رو سریع جست‌وجو کنیم و نتیجه رو خیلی راحت پردازش کنیم.

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

برای استفاده ازش میتونید با دستور زیر کتابخانه مربوطش رو در پایتون نصب کنید:

pip install elasticsearch
حال میتونیم از Elasticsearch در برنامه‌های پایتونی خودمون استفاده کنیم. به عنوان مثال، فرض کنید مواردی از یک فروشگاه اینترنتی رو داخل Elasticsearch ذخیره کرده‌ایم و میخواییم برای جستجوی محصولات از Elasticsearch استفاده کنیم. با استفاده از کد زیر، میتونیم با Elasticsearch ارتباط بگیریم و سرچ رو برای محصولاتی با اسم "موبایل" انجام بدیم:

from elasticsearch import Elasticsearch

# ایجاد یک شیء از Elasticsearch
es = Elasticsearch()

# تعریف یک query جستجویی
query = {
"query": {
"match": {
"product_name": "موبایل"
}
}
}

# اجرای جستجو
results = es.search(index="my_index", body=query)

# چاپ نتیجه
for hit in results['hits']['hits']:
print(hit['_source']['product_name'])
تو کد، ما یک شیء از کلاس Elasticsearch ایجاد کردیم و یک query برای جستجو داخل Elasticsearch تعریف کرده‌ایم. بعدش سرچ با استفاده از Elasticsearch انجام داده‌ایم و نتیجش رو به صورت یک لیست از JSON objects دریافت کردیم.

الستیک خیلی جاها کاربرد داره برای مثال لاگ‌ها یک سرویس میشه داخلش ذخیره کرد و crash و ارورها داخلش جستجو کرد :).

بیشتر شرکت‌های ایرانی و خارجی ازش استفاده میکنن و بلد بودنش به نظر میتونه یک پوینت مثبت باشه.

👾 @TorhamDevCH
👍91
چیز‌هایی که خوبه یاد داشته باشیم اگه دنبال قدم بعدی در دنیا بک‌اند میگردید:

1. داکر ( دیگه باید همه بلد باشن :) )
2. لینوکس ( اگه بک‌اند کارید قطعا! )
3. ردیس ( اینم مثل داکر )
4. ربیت ام‌کیو ( ردیس همین کار رو هم میکنه ولی اینو خیلی جاها میخان)
5. الستیک‌سرچ ( پست بالا )
6. میکروسرویس( تو لول ها بالاتر، و کلا distributed systems )
7. خود SQL (میتونه خیلی کمک کنه در آینده بهتون)
8. پست‌گرس اسکیول ( دیتابیس رایج خیلی‌هاست)
9. دیزاین پترن ( به عنوان یک دولوپر دونست‌اش خیلی کمک میکنه. البته تو ایران خیلی‌ها میپرسن تو مصاحبه)
10. کوبرنتیز :)

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

بعدا برای همه اینایی که تو لیست گفتم دوره آموزش مناسب میزارم. احتمالا پست بعدی بشه این :)

👾 @TorhamDevCH
👍141
TorhamDev | تورهام 😳
چیز‌هایی که خوبه یاد داشته باشیم اگه دنبال قدم بعدی در دنیا بک‌اند میگردید: 1. داکر ( دیگه باید همه بلد باشن :) ) 2. لینوکس ( اگه بک‌اند کارید قطعا! ) 3. ردیس ( اینم مثل داکر ) 4. ربیت ام‌کیو ( ردیس همین کار رو هم میکنه ولی اینو خیلی جاها میخان) 5. الستیک‌سرچ…
نظر مانی هم خوب بود :)


rabbitmq همون کاره ردیسو نمیکنه ها. خیلی تفاوت داره یوزکیسشون.
الستیک بنظرم واقعا الزامی نیست بلد بودنش. خیلی جاها دیدم استفاده نمیکنن.
دونستن دیزاین پترن خوبه. ولی از نظر اهمیت شاید اخره این لیست باشه.
دونستن لینوکس هم خوبه ولی در حد بلد بودن کامنداش. بیشترش ممکنه به دردتون نخوره با توجه به اینکه اکثرا دیگه کلاد هستن.


۱۱. کلاد و AWS
۱۲. تست نویسی
۱۳. مانیتورینگ و instrument و telemetry خیلی مهم تره.
۱۴. architecture design (خیلی مهم تره تا دیزاین پترن)

https://roadmap.sh/backend

کلا نمیدونم مشکل همه چیه با این رودمپ... خیلی کامل و دقیق گفته. فقط کلاد توش جا مونده.
👌8
با مارک هماهنگ شد برای ۲ هفته دیگه :). اما چون تو این دو هفته بیکار نباشیم قراره یک اپیزود مشترک با مانی و بابی کلاود درباره مسیر رشد بک‌اند دولوپر داشته باشیم یک شنبه :). سوالاتتون در این مورد داخل کامنت ها همین پست لطفا بگید ❤️.
72👍1🔥1👌1
در ویدیو جدید بابی در نقش یک آتش نشان فداکار به سراغ مبحث تست نویسی در مهندسی نرم افزار میره و راجع به Smoke Test (تست دود) صحبت میکنه. همچنین یک نمونه Smoke Test با استفاده از سلنیوم در پایتون روی وبسایت LeetCode پیاده سازی میکنیم.
🔥 تست دود نوعی تست نرم افزار هست که پس از انجام تغییرات در نرم افزار انجام میشود تا اطمینان حاصل شود که ویژگی های اصلی نرم افزار به درستی عمل میکنند.

🖥 مشاهده در یوتوب
👉 Link: https://youtu.be/Mog3OaiSidE?si=Sgyo6udH4wQHWZNg

〰️〰️〰️〰️〰️〰️
@BobyDotCloud
5
Forwarded from Nima Tech Talk 💻
پیاده سازی عجیب و زیبای درهم تنیدگی در وب به کمک لوکال استوریج

Entanglement implementation in web

https://x.com/_nonfigurativ_/status/1727322594570027343?s=46
TorhamDev | تورهام 😳
https://www.linkedin.com/posts/hamed-aghili-954244247_%D8%AA%D8%AC%D8%B1%D8%A8%D9%87-%DB%8C-%D8%A8%D8%AF-%D9%85%D9%86-%D8%A8%D8%A7-%D8%B4%D8%B1%DA%A9%D8%AA-%D8%AA%D8%B1%DA%A9%DB%8C%D9%87-%D8%B1%D9%87%DB%8C%D8%A7%D8%A8-%D8%AF%D9%88%D8%B3%D8%AA%D8%A7%D9%86-activity…
اولین شرکت من هم کلاه برداری بود چندین بار داخل پادکست و جاهای مختلف گفتم :). توصیه من همیشه این بوده حتی اگه هنوز سابقه ندارید و اولین شرکتتونه. اگر حقوقتون همون ماه اول ندادن و شروع به وضع قانون و چیزا و بهونه آوردن کردن دیگه حتی یک خط کد هم نباید براشون بزنید. مطمعن باشید بازم میتونید کار پیدا کنید چون همیشه برای کسی علم و دانش و تخصصش رو داره همیشه کار هست.

همیشه آرامش روانی و روحیتون ارجحيت داره به کار. ( این بعد چند سال واقعا بهش رسیدم )
👍32
Forwarded from Sudoer (Morteza Bashsiz)
درود بر همه شما دوستان عزیز

یه موضوعی هست که بدون شک قبولش دارم
من یه باگی رو توی ورژن جدید Ceph ثبت کردم و یکی اومد بهم پاسخ داد که این باگ قبلا مطرح شده بود و توی نسخه بعدی برطرف خواهد شد
بعد رفتم گیت‌هاب اون بنده خدا رو که بهم پاسخ داده بود نگاه کردم خودش کسی بود که پول‌ریکوست فیکس باگ رو داده بود و باگ رو برطرف کرده بود
کلا ۷ نفر فالوش میکنن و ۴ نفر رو فالو میکنه ولی توی پروژه بزرگی مثل Ceph داره کانتریبیوت میکنه و تو کمپانی IBM مشغول به کار هست
با Shell, Golang, Python, Java, C++ i هم کد میزنه
بعد کد هم میزنه نه اینکه الکی بزنه همه پروژه‌های بزرگ داره کد میزنه
حالا یکی مثل من که هیچ دانش درست‌حسابی هم نداره و صرفا چندتا ابزار رو یکم بلده دیگه چه حرفی دارم جلوی باسواد‌های واقعی بزنم؟
میخوام بگم که به لایک و کامنت و فالوور و پوشیدن شلوارک و پیرجامه و آبنبات و بادکنک و زدن حرفای سکسی فنی نیست
برید ببینید طرف چقدر تاثیرگذار هست و چقدر کار بلده
به این شوآفی‌ها بها ندید و بزرگشون نکنید

مرتضی باشسیز
👍15👎32
Forwarded from Python BackendHub
دیشب صدرا یک سوال خوب پرسید, امشب نوبت منه‌ که یک سوال میلیون دلاری بپرسم :)) خودتونو تو این شرایط قرار بدین:
یک conflict دارین با تصمیم گیرنده. حالا تیم لید باشه یا هرکی کاری ندارم. فکر میکنید که شما روشتون اصولی تره و درست تره ولی اون موافق نیست و میگه <فعلا نیازی نیست> شرایطی که شاید خیلیاتون تو ایران بهش برخوردین.

مثلا:‌راجب تست نویسی. بیشتر تست کنیم, کدو ریفکتور کنیم بهتر شه. تمیز تر شه. یا چیزای این قبیلی.
چطور conflictتون رو حل میکنید؟

هنر رفع conflict مهم ترین سافت اسکیله به نظره من!

@ManiFoldsPython
👍1