آموزش برنامه نویسی
286 subscribers
64 photos
26 videos
2 files
18 links
جامعه توسعه‌دهندگان ایرانی :
@QCode_ir

کانال دوم - اخبار تکنولوژی - آی تی :
📢 @TechCntr

تعرفه ثبت تبلیغات :
🔺 @QCodeAD
Download Telegram
فوری٬ chatgpt مسلمان شد😂


☑️ @QCode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🔸 فشرده‌سازی شرط‌ها در پایتون با استفاده از all و any

گاهی نیاز دارید چندین شرط را همزمان بررسی کنید، اما نمی‌خواهید کدتان شلوغ و ناخوانا شود. اینجاست که توابع all و any به کمک شما می‌آیند!

فرض کنید می‌خواهید بررسی کنید که آیا تمام اعداد یک لیست مثبت هستند:
numbers = [3, 7, 9, 12]

if all(num > 0 for num in numbers):
print("All numbers are positive!")

تابع all زمانی True برمی‌گرداند که همه شرایط درست باشند.

حالا اگر بخواهید بررسی کنید که آیا حداقل یکی از اعداد زوج است:
if any(num % 2 == 0 for num in numbers):
print("At least one number is even!")

تابع any زمانی True برمی‌گرداند که حداقل یکی از شرایط درست باشد.
☑️ @QCode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ یه roadmap خوب برای SQL

☑️ @QCode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ ساخت توابع خاص با functools.partial در پایتون

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

فرض کنید تابعی دارید که دو عدد رو ضرب می‌کنه:

from functools import partial

# تعریف تابع اصلی
def multiply(x, y):
return x * y

# ساخت یک تابع جدید که مقدار x همیشه 5 باشه
partial_func = partial(multiply, 5)

# استفاده از تابع جدید
print(partial_func(3)) # خروجی: 15
print(partial_func(10)) # خروجی: 50


با استفاده از partial می‌تونیم یک نسخه جدید از تابع بسازیم که فقط یک عدد رو بگیره و مقدار x همیشه 5 باشه!
این باعث میشه کد شما تمیزتر و کاراتر بشه.


💻 @qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
‏مهندس کامپیوتر در سال 1964


💻 @qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ اضافه کردن و حذف عناصر از هر دو طرف لیست

اگر می‌خواهید عناصری را از هر دو طرف یک لیست اضافه یا حذف کنید، می‌توانید از deque (صف دوطرفه) استفاده کنید. برخلاف لیست‌های معمولی که فقط امکان اضافه یا حذف عناصر از یک طرف را می‌دهند، deque این امکان را فراهم می‌کند که از هر دو طرف لیست (چپ و راست) عناصر را مدیریت کنید.

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

from collections import deque

# Create a deque
queue = deque()

# Add elements to both ends
queue.append(10) # Add to the right end
queue.appendleft(5) # Add to the left end

# Remove elements from both ends
right = queue.pop() # Remove from the right end
left = queue.popleft() # Remove from the left end

print(f"Right end: {right}, Left end: {left}")


نتیجه این کد:
Right end: 10, Left end: 5


💻 @qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ خوبه قبل از برنامه نویس شدن اینا رو ندیدم :)))

#fun #فان
💻 @qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ آشنایی با Walrus Operator در پایتون (به معنی شیرآبی)

در نسخه ۳.۸ پایتون، اپراتوری به نام Walrus Operator (با نماد :=) معرفی شد که هدف آن ساده‌تر کردن کدنویسی در شرایط خاص است. این اپراتور به شما اجازه می‌دهد هم‌زمان یک مقدار را به یک متغیر اختصاص دهید و از آن استفاده کنید.

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

بدون Walrus Operator:
words = ["apple", "pie", "banana", "kiwi"]
for word in words:
if len(word) > 3:
print(word)


با Walrus Operator:
words = ["apple", "pie", "banana", "kiwi"]
for word in words:
if (length := len(word)) > 3:
print(f"{word} (length: {length})")


در کد دوم، مقدار طول کلمه (با نام length) محاسبه شده و هم‌زمان در شرط و چاپ استفاده می‌شود، بدون نیاز به محاسبه مجدد.

مثال های دیگر:

حلقه‌های ورودی:
while (user_input := input("Enter something: ")) != "exit":
print(f"You entered: {user_input}")


خواندن از فایل:
with open("data.txt") as file:
while (line := file.readline().strip()):
print(line)


#Python
💻 @qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ برنامه‌نویس‌ها درونگرای برونگرا هستند!!

برنامه‌نویس‌ها معمولاً درونگرا به نظر می‌رسن؛ عاشق کار در سکوت و غرق شدن در دنیای کدها هستند. اما کافیه یکی مثل خودشون رو ببینن! اون وقت انگار یه جرقه روشن میشه و برونگرایی‌شون فوران می‌کنه!

شاید این به خاطر این باشه که کنار هم‌فکرهاشون، حرف زدن راحت‌تره، چون نیاز نیست چیزی رو توضیح بدن؛ اونا حرف های همو می‌فهمن.

حالا تو چطور؟ وقتی با یه برنامه‌نویس دیگه حرف می‌زنی، برونگرا میشی؟

#برنامه‌نویسی #درونگرایی #برونگرایی
💻 @qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ به نظر من که درست میگه :)))

نظر شما چیه؟
#fun
💻 @qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ ترفند جالب پایتون: Context Manager با with

عبارت Context Manager یکی از مفاهیم مهم و کاربردی در زبان پایتون است که برای مدیریت منابعی که نیاز به باز و بسته شدن دارند (مثل فایل‌ها، کانکشن‌ها به دیتابیس، یا قفل‌ها) استفاده می‌شود.

یک Context Manager به شما این امکان را می‌دهد که بخشی از کد را در یک "بلوک مدیریتی" اجرا کنید، و در شروع و پایان آن بلوک، اقدامات خاصی انجام شود. این کار معمولاً با استفاده از دستور with انجام می‌شود.

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

with open("example.txt", "r") as file:
data = file.read()
# The file is automatically closed here.


یا برای ساخت Context Manager خودتان:
from contextlib import contextmanager

@contextmanager
def my_context():
print("🔹 Start...")
yield "Some data"
print("🔸 End...")

with my_context() as data:
print(data)


💻 @qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
همه دارن ChatGPT یاد می‌گیرن ولی کسی ماشین لرنینگ رو جدی نمی‌گیره. همه می‌خوان پایتون یاد بگیرن ولی کسی نمی‌خواد ریاضیات و منطق یاد بگیره. همه می.خوان مارکتر بشن، هیچکس نمی‌خواد روانشناسی مطالعه کنه. همه می‌خوان فروشنده شن، بدون این که پیگیری بلد باشن.

پایه رو یاد بگیر، نه ترند.
🙂


💻 @qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
به فرزندان خود Back-End و Front-End را با رسم شکل توضیح دهید :|


💻 @qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
SQL-Server.zip
5.2 MB
کتاب آموزش SQL برای مبتدیان ۴۰۰ صفحه


.
✔️ به هوش مصنوعی chatgpt گفتم با توجه به شناختی که از من داری غذای مورد علاقه منو درست کن!

اولش اینجوری گفت:
با توجه به علایق شما به یادگیری و برنامه‌نویسی، احتمالاً غذایی که هم ساده باشه و هم خلاقیت نیاز داشته باشه، مورد علاقه شماست! 😄
من یک بشقاب غذای سالم و انرژی‌بخش مثل پاستا با سس سبزیجات تازه یا املت سبزیجات با کمی نان تست رو پیشنهاد می‌کنم. این غذاها هم سریع آماده می‌شن، هم مناسب کسانی که ساعت‌ها پشت کامپیوتر کار می‌کنن!

اگه مشخص‌تر بهم بگید چه غذایی دوست دارید، می‌تونم تصویر بهتری بسازم. مثلاً غذای ایرانی، فست‌فود یا غذای سنتی؟

بعدش گفتم در نظر بگیر که من ایرانی ام.

این تصویر رو با این کپشن برام درست کرد:
این هم تصویر یک غذای ایرانی خوشمزه که شامل برنج زعفرانی با ته‌دیگ طلایی، کباب مرغ، سبزی خوردن، گوجه، و یک کاسه ماست است. امیدوارم اشتهایتان را تحریک کند! 😊

پ.ن: واقعا اشتهام تحریک شد :))

💻 @Qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
معرفی سایت برای فرانت کارها

🌐 https://getcssscan.com/css-box-shadow-examples

وبسایت آنلاین box-shadow های آماده

______________________
#frontend #css
#معرفی_سایت #فرانت_کار #فرانت


💻 @Qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
واقعیت :))
#fun
💻 @Qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
استفاده از SQL خام در Django

هرچند که ORM به‌خوبی نیازهای عمومی ما را در جنگو برآورد میکند، اما گاهی اوقات برای کوئری‌های پیچیده یا بهینه‌سازی‌های خاص، استفاده از کوئری‌های خام SQL بهترین راه‌حل است.

در کد زیر، یک کوئری ساده‌ی خام برای دریافت محصولات با قیمت بالاتر از 100 را می‌بینید:

from django.db import connection

with connection.cursor() as cursor:
cursor.execute("SELECT * FROM myapp_product WHERE price > %s", [100])
results = cursor.fetchall()
for row in results:
print(row)



این کار برای ما کنترل بیشتر بر کوئری‌ها، امکان استفاده از ویژگی‌های خاص دیتابیس و بهبود عملکرد در شرایط خاص را امکان پذیر میکند.

فقط دقت کنید که حتما از پارامترها (%s) به‌جای ترکیب مستقیم مقادیر در کوئری استفاده کنید تا از حملات SQL Injection جلوگیری شود.

وقتی از پارامترها برای مقادیر ورودی در کوئری استفاده می‌کنید، Django یا کتابخانه‌ی مربوطه مقدار ورودی شما را ایمن‌سازی می‌کند. این یعنی کاراکترهای مخربی که ممکن است توسط یک مهاجم وارد شوند، به‌عنوان بخشی از داده در نظر گرفته شده و نمی‌توانند ساختار اصلی کوئری را تغییر دهند. به این فرآیند "escaping" گفته می‌شود.

اگر مستقیماً مقادیر کاربر را بدون استفاده از پارامترها در رشته‌ی SQL قرار دهید، کوئری شما در برابر SQL Injection آسیب‌پذیر می‌شود.

به عنوان مثال ناامن، فرض کنید کاربر می‌خواهد محصولی را براساس قیمت جستجو کند:
price = input("Enter a price: ")  
query = f"SELECT * FROM products WHERE price > {price}"
cursor.execute(query)

اگر کاربر به جای مقدار عددی، ورودی مخربی مثل زیر وارد کند:
0; DROP TABLE products; --  

کوئری نهایی شما به شکل زیر خواهد بود:

SELECT * FROM products WHERE price > 0; DROP TABLE products; --  

این کوئری باعث حذف شدن جدول products می‌شود!


💻 @Qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ نظر شما چیه :))

#fun
💻 @Qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ بیچاره یه جونیور چیا میکشه تا تبدیل بشه به یه سنیور :)))

#fun
💻 @Qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ 10 نکته طلایی برای بهبود رزومه برنامه‌نویسی

1. پروژه‌های واقعی و متن‌باز
پروژه‌های واقعی و دستاوردهای خود را نمایش دهید. پروژه‌های متن‌باز به دلیل اثبات مهارت در سطح عمومی، ارزش بیشتری دارند.

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

3. استفاده از آمار و نتایج
تاثیر دستاوردهایتان را با داده‌های کمی بیان کنید (مانند کاهش زمان بارگذاری به میزان ۳۰٪). این موارد باید قابل اثبات باشند.

4. اشاره به مهارت‌های نرم
مهارت‌هایی مثل کار تیمی و ارتباطات را اضافه کنید. این بخش برای شرکت‌های بین‌المللی اهمیت بیشتری دارد.

5. گواهینامه‌ها و دوره‌های آموزشی
تنها دوره‌هایی که اثربخشی بالایی دارند را در رزومه ذکر کنید، به‌ویژه مواردی که نشان‌دهنده یادگیری مداوم شما هستند.

6. سفارشی‌سازی رزومه برای هر شغل
رزومه را بر اساس شغل و نیازهای آگهی شغلی تنظیم کنید. کلمات کلیدی مرتبط با هر شغل را در متن بگنجانید.

7. حضور آنلاین حرفه‌ای
لینک پروفایل‌های GitHub، LinkedIn و سایر منابع حرفه‌ای را اضافه کنید تا توانایی‌ها و تجربیات شما قابل مشاهده باشند.

8. طراحی ساده و حرفه‌ای
از طراحی شیک و ساده استفاده کنید. از رنگ‌ها و استایل‌های پیچیده پرهیز کنید.

9. نوشتن خلاصه حرفه‌ای
یک خلاصه کوتاه در بالای رزومه اضافه کنید که تجربه‌ها، تخصص‌ها، و هدف شغلی‌تان را بیان کند.

10. تجربیات داوطلبانه
فعالیت‌های داوطلبانه و اجتماعی مثل برگزاری سمینارها یا مشارکت در پروژه‌های اجتماعی را اضافه کنید.


💻 @Qcode_ir | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM