TorhamDev | تورهام 😳 – Telegram
TorhamDev | تورهام 😳
2.84K subscribers
421 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
🔵 آشنایی با namedtuple در پایتون

یکی از امکانات پایتون که میتواند به حرفه‌ای تر شدن کد پایتونی شما کمک کند، namedtuple است که تاپل هایی با فیلد های اسم دار ایجاد می‌کند. با مطالعه این پست با این امکان از زبان پایتون آشنا می‌شوید.
#پایتون #Python


لوپینو | آموزش های برنامه نویسی
• Telegran: @loopino
• Instagram: https://www.instagram.com/loopino_fa/
👍9
CodeNaline S2 E11 Mehrad
torham
کدنالین اپیزود یازدهم از فصل دوم، مهراد.
مهراد روبی کار کرده و ۲ سالی هست به انگلیس مهاجرت کرده، باهاش درباره مسیری که طی کرده حرف زدیم و توصیه‌اش درباره چطوری از جونیور به سینیور بریم رو شنیدیم. با این اپیزود کدنالین همراه باشید. 🤝🍻.

کست‌باکس این اپیزود
🎙 @CodeNaline
🗣 @TorhamDevCH
Bro u fucking serious?Java???

اکانت قدیمی که تونستم الان لاگین شم.
جاوااااااا
🌚61🗿1
بچه‌ها میخام بزنم تو کار کانکت خارجکی 🌝🌚
🌚9🥱2👌1
استک‌های نتفلیکس
This post is based on research from many Netflix engineering blogs and open-source projects. If you come across any inaccuracies, please feel free to inform us.

Mobile and web: Netflix has adopted Swift and Kotlin to build native mobile apps. For its web application, it uses React.
Frontend/server communication: GraphQL.

Backend services: Netflix relies on ZUUL, Eureka, the Spring Boot framework, and other technologies.
Databases: Netflix utilizes EV cache, Cassandra, CockroachDB, and other databases.

Messaging/streaming: Netflix employs Apache Kafka and Fink for messaging and streaming purposes.
Video storage: Netflix uses S3 and Open Connect for video storage.

Data processing: Netflix utilizes Flink and Spark for data processing, which is then visualized using Tableau. Redshift is used for processing structured data warehouse information.

CI/CD: Netflix employs various tools such as JIRA, Confluence, PagerDuty, Jenkins, Gradle, Chaos Monkey, Spinnaker, Altand more for CI/CD processes.
👍4
Forwarded from torhamdev donate
مرسی از مارک عزیز 🫠❤️
❤‍🔥10
link : https://youtu.be/dJ8cE81p8qE

۶ تا چیز در پایتون که بهتره بدونی! 🫵

تو این ویدیو به ۶ مورد مختلف درباره پایتون پرداختیم که بهتر اونا رو بدونید!. چرا؟ چون همجا استفاده میشن و در طول روز زیاد بهشون بر میخوریم :)

@TorhamDevCH
👍8
Layered Design Architecture

دیزاین لایه ای، به شکلی از دیزاین میگن که سیستمی که توسعه میدید به چندین لایه تقسیم میشه که هر کدوم یک وظیفه دارن. هر لایه یک عمل خاص رو انجام میده و این لایه‌ها در کنار هم کل سیستم رو کامل میکنن بیایید یک مثال بزنیم. فرض کنید که قرار بک‌اند یک وبلاگ رو توسعه بدیم. اگر بخواییم اون رو با این دیزاین و mindset پیش ببریم باید عملکردهای سیستم‌مون رو جدا کنیم. این جدا سازی میتونه به این شکل باشه.

۱. دیتابیس ( پایین ترین لایه که وضیفه آپدیت و حذف و ... در دیتابیس داره)
۲. اوپریشن‌ها ( این لایه وضیفه ساخت پست جدید، بررسی محتوا پست و هرچیزی که مربوط به خود منطق وبلاگ میشه )
۳. روترها ( که همون مسیر‌های api های سیستم میشن)

اگه بخواییم به شکل فایل در بیاریم schema اش تقریبا همچین چیزی میشه :
├── db
│   ├── engine.py
│   └── models.py
├── main.py
├── oprations
│   ├── authors.py
│   └── posts.py
└── routers
├── authors.py
└── posts.py

از فواید این دیزاین به flexibility و maintainability و scalability اشاره کرده.

مطالعه بیشتر

@TorhamDevCH
2👍1🔥1😨1
با استفاده از werkzeug میتونید یک برنامه بنویسید که با wsgi حرف بزنه و باهاش کار کنه :) ( مثل gunicorn و ..)
از کارهایی که میشه باهاش انجام داد :

Request & Response handling
URL routing
Middleware
HTTP utilities
Exception handling

منبع

@TorhamDevCH
👍2
این دوتا کوئری SQL باهم دیگه یک فرق ریز دارن، کسی میتونه بگه؟🤔

@TorhamDevCH
😨1
من یک سوال دارم. بچه‌هایی که لطف میکنن کلا داخل گیت‌هاب ریپو های خارجی ترجمه میکنن براشون، چرا انقدر به فارسی سخت ترجمه میکنید؟ بابا بیخیال قراره ایرانی ها بخوننش دیگه. خودمونیم فقط
👍10🌚2
10 تا از انواع ساختار دیتا ( Data Structure ) که در طول روز بهشون بر میخوریم با مثال‌ها دنیا واقعی‌شون 😶🌫.

اون R-tree نمیدونم چیه🫥

@TorhamDevCH
👍4
تا بحث sqli یا همون sql injection داغه بین بچه‌ها، باید بگم که sql injection صرفا با سینتکس SQL کار داره و ربطی به ابزاری که استفاده میکنید نداره. مهم نیست از چه فریمورکی استفاده میکنید اگر داری raw sql میزنید باید مراقب این باگ باشید، این باگ با سواستفاده از سینتکس SQL میاد یک دستور داخل دستوری که شما زدید تزریق یا همون inject میکنه که باعث میشه اون دستور کار دیگه ای رو انجام بده. گاهی حتی با ایجاد ارور و خوندن اطلاعاتی که در ارور برگشته حمله اتفاق میوفته. یک مثال ساده sqli :
فرض کنید از کاربر username اش رو میگیرم و اون رو داخل متغییری به همین اسم قرار میدیم. حالا یک کوئری با این یوزرنیم میسازیم که ببینیم یوزری با این یوزرنیم داخل دیتابیس وجود داره یا نه.

"SELECT * FROM Users WHERE username = " + username

خوب این کوئری میگه آیا یوزری با این یوزرنیم وجود دارد یا نه؟
توقع ما اینکه کاربر یوزرنیم اش رو وارد کنه و مثلا همچین کوئری ساخته بشه:

"SELECT * FROM Users WHERE username = torhamdev"

خوب حالا چی میشه اگر کاربر ورودی دیگه ای بده؟ مثلا ورودی بده torhamdev OR 1=1 ؟
کوئری به این شکل میشه.

"SELECT * FROM Users WHERE username = torhamdev OR 1=1"

حالا چه اتفاقی افتاد؟ کوئری تبدیل شد. اگر یوزری با این یوزرنیم وجود داشت یا عدد یک برابر با یک بود. :)
خب اینشکلی همیشه این کوئری True میشه و حمله اتفاق میوفته.

در نتیجه کل این باگ رو میشه با محدود کردن و فیلتر کردن ورودی کاربر و نوشتن یک کوئری درست هندل کرد.
این تنها مثال این باگ نیست و باهاش میشه خیلی کارها کرد، برای مثال خارج کردن اطلاعات از دیتابیس و ....
اگه به این موضوعات علاقه دارید میتونید برید سراغ وبسایت portswigger که سازنده Burp Suite هستند.
تو این مقاله‌اشون درباره sqli توضیح دادن. همچنین یک دوره آموزشی رایگان امنیت هم دارن.

@TorhamDevCH
👍5
۳ ساعتی هست درگیر یک pull گرفتن ساده داکر ام. چیزی ک مردم یک کشور منطقی در کمتر از ۱ دقیقه انجام میدن :). و تازه الان که pull گرفتن تموم شد نوبت نصب یکسری کتابخونه پایتونی شد که اونا هم دارن time out میشن. :^). که این هم مردم یک کشور منطقی کمتر ۱ دقیقه انجام میدن.
💔25👎3👀2