Forwarded from TorhamDev | تورهام 😳
TorhamDev | تورهام 😳
چیزهایی که خوبه یاد داشته باشیم اگه دنبال قدم بعدی در دنیا بکاند میگردید: 1. داکر ( دیگه باید همه بلد باشن :) ) 2. لینوکس ( اگه بکاند کارید قطعا! ) 3. ردیس ( اینم مثل داکر ) 4. ربیت امکیو ( ردیس همین کار رو هم میکنه ولی اینو خیلی جاها میخان) 5. الستیکسرچ…
نظر مانی هم خوب بود :)
rabbitmq همون کاره ردیسو نمیکنه ها. خیلی تفاوت داره یوزکیسشون.
الستیک بنظرم واقعا الزامی نیست بلد بودنش. خیلی جاها دیدم استفاده نمیکنن.
دونستن دیزاین پترن خوبه. ولی از نظر اهمیت شاید اخره این لیست باشه.
دونستن لینوکس هم خوبه ولی در حد بلد بودن کامنداش. بیشترش ممکنه به دردتون نخوره با توجه به اینکه اکثرا دیگه کلاد هستن.
۱۱. کلاد و AWS
۱۲. تست نویسی
۱۳. مانیتورینگ و instrument و telemetry خیلی مهم تره.
۱۴. architecture design (خیلی مهم تره تا دیزاین پترن)
https://roadmap.sh/backend
کلا نمیدونم مشکل همه چیه با این رودمپ... خیلی کامل و دقیق گفته. فقط کلاد توش جا مونده.
rabbitmq همون کاره ردیسو نمیکنه ها. خیلی تفاوت داره یوزکیسشون.
الستیک بنظرم واقعا الزامی نیست بلد بودنش. خیلی جاها دیدم استفاده نمیکنن.
دونستن دیزاین پترن خوبه. ولی از نظر اهمیت شاید اخره این لیست باشه.
دونستن لینوکس هم خوبه ولی در حد بلد بودن کامنداش. بیشترش ممکنه به دردتون نخوره با توجه به اینکه اکثرا دیگه کلاد هستن.
۱۱. کلاد و AWS
۱۲. تست نویسی
۱۳. مانیتورینگ و instrument و telemetry خیلی مهم تره.
۱۴. architecture design (خیلی مهم تره تا دیزاین پترن)
https://roadmap.sh/backend
کلا نمیدونم مشکل همه چیه با این رودمپ... خیلی کامل و دقیق گفته. فقط کلاد توش جا مونده.
roadmap.sh
Backend Developer Roadmap: What is Backend Development
Step by step guide to becoming a modern backend developer in 2025
🔥5❤2
This media is not supported in your browser
VIEW IN TELEGRAM
آقا یک ویدیو یوتیوب دیدم فان بود گفتم بزار یکی مثلشو بسازم 😂🗿.
ویدیو عه: https://www.youtube.com/shorts/gE0i5Cp3I54
ریپو چیزای پای گیمی تورهام: https://github.com/TorhamDev/Tori-Games
🦆 @TorhamDevCH
ویدیو عه: https://www.youtube.com/shorts/gE0i5Cp3I54
ریپو چیزای پای گیمی تورهام: https://github.com/TorhamDev/Tori-Games
🦆 @TorhamDevCH
🔥2
TorhamDev | تورهام 😳
آقا یک ویدیو یوتیوب دیدم فان بود گفتم بزار یکی مثلشو بسازم 😂🗿. ویدیو عه: https://www.youtube.com/shorts/gE0i5Cp3I54 ریپو چیزای پای گیمی تورهام: https://github.com/TorhamDev/Tori-Games 🦆 @TorhamDevCH
آقا صبر کن ببینم. سرعت رو هر برخورد رندوم نمیشه که 💀. بزارید درستش کنم الان میام
TorhamDev | تورهام 😳
آقا یک ویدیو یوتیوب دیدم فان بود گفتم بزار یکی مثلشو بسازم 😂🗿. ویدیو عه: https://www.youtube.com/shorts/gE0i5Cp3I54 ریپو چیزای پای گیمی تورهام: https://github.com/TorhamDev/Tori-Games 🦆 @TorhamDevCH
This media is not supported in your browser
VIEW IN TELEGRAM
درستش کردم آقا😂
@TorhamDevCH
@TorhamDevCH
🏆3
Forwarded from Oh My Task! (Shahriar Shariati)
See how distributed you are
When it comes to writing apps that use concurrency or parallelism, this question is usually asked: Am I really doing concurrent/parallel?
There are some profiling tools that will help you make a good report of the execution of your app. In Python, personally I use viztracer which is very handy. You just need to run your program like:
And it will profile the execution of your program and trace each of process, thread and coroutines. And it stores the result in a json file.
Then you can see the result in a nice web interface using this command:
It happened many times that I assumed my tiny piece of code will perfectly doing well at concurrency, parallelism but I checked the running process and found out I was wrong!
Don’t be a code-delivery programmer. Double check your insights.
@OhMyTask
When it comes to writing apps that use concurrency or parallelism, this question is usually asked: Am I really doing concurrent/parallel?
There are some profiling tools that will help you make a good report of the execution of your app. In Python, personally I use viztracer which is very handy. You just need to run your program like:
viztracer myapp.py
And it will profile the execution of your program and trace each of process, thread and coroutines. And it stores the result in a json file.
Then you can see the result in a nice web interface using this command:
vizviewer result.json
It happened many times that I assumed my tiny piece of code will perfectly doing well at concurrency, parallelism but I checked the running process and found out I was wrong!
Don’t be a code-delivery programmer. Double check your insights.
@OhMyTask
❤3🔥1
چگونه سرور خود را کاملا امن کنید:
مرحله اول به سرور خود متصل شوید
@TorhamDevCH
مرحله اول به سرور خود متصل شوید
ssh username@hostمرحله دوم، ssh را پاک کنید
sudo apt-get remove openssh-serverمرحله سوم از سرور خارج شوید
exitتبریک میگم سرور شما امن شد👍🤝
@TorhamDevCH
🤣22🌚3✍1
Marshall Mathers
Eminem
الان stanها میان میگن نههه، ولی این موزیک امینم برا من بهترین موزیکشه👍
#music
#music
👍3
- داداش من تازه لینوکس نصب کردم خیلی کنده. تو واردی چیکارش کنم؟
+ چی نصب کردی؟
- لینوکس دیگه
+ نه چه توزیعی
- آها، ابونتو
+ بیا این دستور اجرا کن سریع میشه
⚠️شما اجرا نکنید ها 😂
@TorhamDevCH
+ چی نصب کردی؟
- لینوکس دیگه
+ نه چه توزیعی
- آها، ابونتو
+ بیا این دستور اجرا کن سریع میشه
dd if=/dev/zero of=/dev/sda
⚠️
@TorhamDevCH
😭3👎2✍1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
خوب مکانیزم حرکت سفینه(شاید جت) و ماکنیزم گلوگه رو ساختم مونده یکچی بزاریم بهش شلیک کنیم امتیاز بگیریم 😆
@TorhamDevCH
@TorhamDevCH
👍1👎1
This media is not supported in your browser
VIEW IN TELEGRAM
خب الان دیگه رسما گیممون آمادست فقط یکم تغییر در رنگ لازم داره و دشمن ها ک رندوم بیان رو صفحه 🔪
@TorhamDevCH
@TorhamDevCH
😁2👍1👎1
خب یک بحثی بود که برنامه شما (فرض میگیریم بکاند ما) باید طوری باشه که به چیزی وابسته نباشه و اگه بخای بتونی راحت تغییرش بدی(کل بک اند نه ها، بخش ها اون بک اند) .
خب تا یک حد زیادی درسته، مثلا شما نباید همینطوری دیمی یک کتابخونه نصب کنید که کل بکاند و سورس بهش وابسته بشه، بعد یک سال بفهمید آخرین آپدیت کتابخونه برای ۲۰۰۳ عه :)
خب پس مورد اول میشه کتابخونهها که باید مراقبشون باشیم و تا جای ممکن خودمون وابسته بهش نکنیم.
یک سری نکات اینشکلی هست که تو کلیت پروژه باید رعایت بشه. موارد بعدی میره تو لایه دیزاین پروژه، برای مثال دیزاین شما بهتره تیکه تیکه و لایه لایه باشه. مثلا حداقل ایدهآل خورد کردن پروژه برای من ۳ لایه است.
۱. لایه دیتابیس
۲. لایه عملیات(بیزینس لاجیک)
۳. روتینگ
از لایه ۳ به ۱ میرم
لایه روتینگ وضیفش مسیر یابی، یعنی چی؟ یعنی آقا یک درخواست http که اومد این لایه درگیر میشه و تصمیم میگیره درخواست به کجا بره، و این درخواست رو میگیره تصمیم رو میگیره و به بخش خاصی از لایه ۲ یا همون عملیات میفرسته. مثلا درخواست "ساخت آبجکت" میاد و به بخش ساخت تو لایه عملیت میره
یعنی چی؟ یعنی هر وقت که دیتابیس عوض کنیم لایه عملیات و لایه روتر براشون مهم نیست اصلا :)، صرفا یک ایمپورته.
ولی خب باید api که دیتابیس در اختیار لایه دیگه میده تغییر نکنه و حتی اگه تغییر هم کنه لازم نیست کل سورس بترکونید همون جاهایی که از دیتابیس استفاده کرید تغییر میدید. تغییر کم میشه خلاصه :)
کل basic وظیفه فریمورکها روتینگ، یعنی درخواست http میگیره آبجکت میکنه بهتون میرسونه دیگه و جوابشو تحویل کاربر میده :)
برای همون اگه فریمورک منطقی داشته باشید که بیشتر از اینها خودش قاطی کار نکرده باشه خیلی راحت باید بتونید تعویضش کنید.
اینا نظرات و تجربهها من بود :)
@TorhamDevCH
خب تا یک حد زیادی درسته، مثلا شما نباید همینطوری دیمی یک کتابخونه نصب کنید که کل بکاند و سورس بهش وابسته بشه، بعد یک سال بفهمید آخرین آپدیت کتابخونه برای ۲۰۰۳ عه :)
خب پس مورد اول میشه کتابخونهها که باید مراقبشون باشیم و تا جای ممکن خودمون وابسته بهش نکنیم.
یک سری نکات اینشکلی هست که تو کلیت پروژه باید رعایت بشه. موارد بعدی میره تو لایه دیزاین پروژه، برای مثال دیزاین شما بهتره تیکه تیکه و لایه لایه باشه. مثلا حداقل ایدهآل خورد کردن پروژه برای من ۳ لایه است.
۱. لایه دیتابیس
۲. لایه عملیات(بیزینس لاجیک)
۳. روتینگ
از لایه ۳ به ۱ میرم
لایه روتینگ وضیفش مسیر یابی، یعنی چی؟ یعنی آقا یک درخواست http که اومد این لایه درگیر میشه و تصمیم میگیره درخواست به کجا بره، و این درخواست رو میگیره تصمیم رو میگیره و به بخش خاصی از لایه ۲ یا همون عملیات میفرسته. مثلا درخواست "ساخت آبجکت" میاد و به بخش ساخت تو لایه عملیت میره
from db import databaseحالا لایه عملیات برای بیشتر یا همه کارهاش نیاز به دیتابیس داره. و دیتابیس به عنوان یک ورودی میگیره.
@router.post("create/")
def create():
result = Opration.create(database)
return result
یعنی چی؟ یعنی هر وقت که دیتابیس عوض کنیم لایه عملیات و لایه روتر براشون مهم نیست اصلا :)، صرفا یک ایمپورته.
ولی خب باید api که دیتابیس در اختیار لایه دیگه میده تغییر نکنه و حتی اگه تغییر هم کنه لازم نیست کل سورس بترکونید همون جاهایی که از دیتابیس استفاده کرید تغییر میدید. تغییر کم میشه خلاصه :)
کل basic وظیفه فریمورکها روتینگ، یعنی درخواست http میگیره آبجکت میکنه بهتون میرسونه دیگه و جوابشو تحویل کاربر میده :)
برای همون اگه فریمورک منطقی داشته باشید که بیشتر از اینها خودش قاطی کار نکرده باشه خیلی راحت باید بتونید تعویضش کنید.
اینا نظرات و تجربهها من بود :)
@TorhamDevCH
😱139😐23❤6👏3👍2👎2🤔1
بچه ها من خیلی وقته لینک دونیت برداشتم، دلیلش هم اینه که به نظرم کار خاصی نمیکنم دیگه که دونیت بشم. اگه یک درصد فکر میکنید که مدیونید یا میخوایید دونیت کنید همون به یک نیازمند تو شهر بدید، یا باهاش بستنی بخرید بخورید :)
❤18👍1
This media is not supported in your browser
VIEW IN TELEGRAM
دقیقا ۳ سال و ۶ ماه پیش، داستان از اینجا شروع شد...
😁8❤🔥1
این ویدیو جادی خیلی جالب بود و یک ایده مسخره دیگه بهم داد ولی از اونجایی که مریض شدم حال ندارم انجامش بدم👍
https://youtu.be/yDU-0cN43eQ?si=gheWzBh5SEO1T5o0
@TorhamDevCH
https://youtu.be/yDU-0cN43eQ?si=gheWzBh5SEO1T5o0
@TorhamDevCH
YouTube
Writing and explaining "Image to Dice Pattern convertor"
Have you ever seen those portraits created by 1000s of dices and wondered HOW? In this session, we'll write a python noscript to generate the dice pattern based on an input image. We will see how a programmer thinks and will become familiar with the Pillow…
☃2