برنامه نویسی | Teachify
11.9K subscribers
1.01K photos
420 videos
231 files
649 links
برای موفق شدن 🌱 با این عبارت خداحافظی کن: "باشه فردا"🍃


Admin: @Yousef_Vafaei
Download Telegram
بالاخره باید از یه جایی شروع کرد
یه روز برای سنیوری میریم مصاحبه یه روز برای کارآموزی :))

@Teachify
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍10👌2
✔️ اصل YAGNI یا "You Aren't Gonna Need It" در توسعه نرم‌افزار

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

اصل YAGNI بهمون می‌گه: «چیزهایی رو پیاده‌سازی نکن که فعلاً نیاز نداری!»

چرا؟ چون این کار می‌تونه وقت زیادی رو بگیره و کد پروژه رو پیچیده و شلوغ کنه.

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

میشه گفت که YAGNI یعنی: به جای اضافه‌کاری، روی نیازهای واقعی تمرکز کن!
💻@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍141
نکته‌ای کاربردی در پایتون: استفاده از `_` برای نادیده گرفتن مقادیر

در پایتون، وقتی به یک متغیر نیازی نداریم، می‌توانیم از علامت _ استفاده کنیم. این رویکرد کد شما را خواناتر و حرفه‌ای‌تر می‌کند!

مثال 1: حلقه‌ها بدون نیاز به اندیس
فرض کنید بخواهیم به‌جای اندیس‌ها فقط به مقادیر در یک لیست دسترسی داشته باشیم:

numbers = [10, 20, 30]

for _, number in enumerate(numbers):
print(number)


اینجا از _ به‌جای index استفاده می‌کنیم چون نیازی به استفاده از آن نداریم.

مثال 2: مقداردهی متغیرها
هنگام استفاده از تابعی که چندین مقدار بازمی‌گرداند، اگر همه‌ی مقادیر موردنیاز نباشد، می‌توانیم از _ برای نادیده‌گرفتن آن‌ها بهره بگیریم:

def get_user_data():
return "yousef", "Vafaei", 28

first_name, _, age = get_user_data()
print(first_name, age)

در اینجا، _ جایگزین متغیری شده که به مقدار نام خانوادگی نیازی نداریم.

💻@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
✔️ مفهوم r و رشته‌های خام در پایتون

در پایتون، ممکن است با رشته‌هایی روبه‌رو شوید که با حرف r آغاز می‌شوند. این حرف به ما می‌گوید که این رشته یک رشتهٔ خام (raw string) است.

وقتی شما از رشته‌های معمولی استفاده می‌کنید، برخی کاراکترها مانند \n (برای newline) یا \t (برای tab) به عنوان کاراکترهای خاص شناخته می‌شوند. اما در رشته‌های خام، این کاراکترها به صورت واقعی خودشان در نظر گرفته می‌شوند.

1. رشتهٔ معمولی:
normal_string = "Hello,\nWorld!"
print(normal_string)

خروجی:
Hello,
World!


2. رشتهٔ خام:
raw_string = r"Hello,\nWorld!"
print(raw_string)

خروجی:
Hello,\nWorld!


به عنوان مثال وقتی می‌خواهید یک مسیر فایل را مشخص کنید، استفاده از رشته‌های خام می‌تواند کمک کند تا از تداخل با کاراکترهای خاص جلوگیری شود:

  path = r"C:\Users\YourName\Documents\File.txt"


و یا برای نوشتن عبارات منظم (Regular Expressions) که شامل کاراکترهای خاص هستند، رشته‌های خام می‌توانند مفید باشند:

  regex = r"\d{3}-\d{2}-\d{4}"


💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👌16👍3👨‍💻1
گیت هاب رنگ هاش رو هالووینی کرده :))

💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11👀5
✔️ Top programming languages on GitHub.

💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥16🔥4👍1
#تلنگر

62% از سال 1403 گذشت، جا نمونی از اهدافت ...

💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34💩8🫡53💔2😢1
✔️ چت جی بی تی (ChatGPT) چگونه کار می کند؟

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

در این مقاله بخوانید: ChatGPT چگونه کار می کند؟

@kaliboys | کالی بویز
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
✔️ بهترین ابزارهای تست API

🔹 Postman
مزایا: کاربرپسند، قابلیت ایجاد تست‌های خودکار و مستندسازی آسان.
معایب: ممکنه در پروژه‌های بزرگ کند عمل کنه.

🔹 Insomnia
مزایا: ظاهر جذاب و پشتیبانی از GraphQL.
معایب: برخی امکانات فقط در نسخه پرو موجود هست.

🔹 SoapUI
مزایا: ایده‌آل برای تست‌های SOAP و REST، امکان تست‌های خودکار پیشرفته.
معایب: رابط کاربری قدیمی و کمی پیچیده.

🔹 Paw (فقط برای macOS)
مزایا: طراحی ویژه برای مک و مدیریت بومی API.
معایب: فقط مخصوص مک و هزینه‌بر.

🔹 Hoppscotch (قبلاً Postwoman)
مزایا: رایگان، متن‌باز، سریع و ساده.
معایب: کمبود برخی ویژگی‌های پیشرفته و نیازمند اینترنت.

🔹 cURL
مزایا: ابزار خط فرمان قدرتمند و انعطاف‌پذیر.
معایب: یادگیری‌اش برای تازه‌کارها کمی دشوار هست.

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41👌1
خب خداروشکر موقعیت دیگه ای پیش اومد که بریم و خودمون رو ثابت کنیم :))

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤‍🔥10🔥21
از ذهن های کثیف چی میدونید :)))

دوستی تعریف می کرد که وقتی میخواست برای شرکتی #رزومه ارسال کنه و حتما دعوت به مصاحبه بشه، از یک حیله جالب استفاده می کرد!
تعدادی رزومه ضعیف تر از خودش و با اطلاعات فیک (در حدی که برای مصاحبه انتخاب نشن) درست میکرد و با ایمیل های فیک اونها را قبل و بعد از رزومه خودش ارسال می کرد.
با این روش، رزومه اش برای بررسی کننده رزومه ها به چشم میومد و با احتمال بیشتری دعوت میشد!

پ.ن: تصویر رو هوش مصنوعی با توجه به این موضوع ساخته

@Teachify | HamidAdldoost
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🗿5🤣3👌2
This media is not supported in your browser
VIEW IN TELEGRAM
✔️طرف هوش مصوعی chatgpt باز کرده و گوشی رو چسبونده به مانیتور و داره با اون جواب سوالات مصاحبه رو میده :))

#fun #فان
@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣24👍3🥴3
✔️ آمار جالب درباره مصاحبه‌های شغلی و تاثیرگذاری اولین برخورد!

آیا می‌دانستید مدیران معمولاً در همان ۹۰ ثانیه اول مصاحبه تصمیم می‌گیرند که آیا داوطلب مناسب استخدام است یا نه؟

در نظرسنجی از ۲۰۰۰ مدیر، اشتباهات رایج متقاضیان که منجر به رد شدن آنها می‌شود به این ترتیب مشخص شد:

۷۰٪ مدیران می‌گویند که ظاهر غیررسمی داوطلبان در جلسه مصاحبه، تاثیر منفی بر آنها دارد.

۶۷٪ بر این باورند که عدم برقراری تماس چشمی، نشانه‌ای از عدم اعتماد به نفس است.

۵۵٪ از داوطلبانی که نحوه ورودشان به اتاق نامناسب بوده است، رد شده‌اند.

۴۷٪ مدیران بیان کرده‌اند که ناآگاهی درباره شرکت و موقعیت شغلی، نشان از کمبود آمادگی دارد.

۳۸٪ داوطلبانی را که صدای ضعیف و بدون اعتماد به نفس داشتند یا لبخند نمی‌زدند، رد کرده‌اند.

۳۳٪ از داوطلبانی که وضعیت نشستن آنها نامناسب بوده، نتوانسته‌اند نظر مثبت جلب کنند.

۲۶٪ از داوطلبانی که دست دادن نامناسب داشتند رد شده‌اند.

۲۱٪ دلیل رد برخی از داوطلبان را دست به سینه نشستن آنها در طول مصاحبه عنوان کرده‌اند.

پس به خاطر داشته باشید که در مصاحبه‌های شغلی، فقط مهارت‌های فنی مهم نیستند؛ زبان بدن، تماس چشمی، و آماده‌بودن برای شرکت نیز می‌تواند سرنوشت‌ساز باشد.
@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25
✔️ سناریو دارک و کثیف یک شرکت ایرانی!

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

بسیاری این اقدام را تحسین کردند و در شبکه‌های اجتماعی مورد توجه زیادی قرار گرفت.

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

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

با این حال، صحت و سقم هیچ‌یک از این داستان‌ها به طور قطعی تایید نشده است. امید می‌رود که این شرکت در راستای شفاف‌سازی این آزمایش و نتایج آن، بیانیه‌ای صادر کند.

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👌11🤯5👎3🤬3👍2😁2🐳1
✔️ مشکل کوئری N+1 در جنگو

این مشکل زمانی پیش میاد که برای هر رکورد، کوئری‌های اضافی به دیتابیس ارسال بشه تا اطلاعات مرتبط رو بگیریم. مثلاً فرض کنید می‌خواید لیستی از کتاب‌ها و نویسنده‌هاشون رو نمایش بدید، و به ازای هر کتاب، اطلاعات نویسنده رو به‌صورت جداگانه دریافت می‌کنید. در این حالت، کوئری‌های زیادی به دیتابیس ارسال می‌شه که باعث کاهش سرعت برنامه می‌شه!

راه‌حل‌های Django برای حل مشکل N+1:

استفاده از select_related: برای روابط OneToOne یا ForeignKey از select_related استفاده کنید تا کوئری‌ها بهینه بشن و داده‌ها رو با یک کوئری بازیابی کنید.

استفاده از prefetch_related: برای روابط ManyToMany یا ForeignKey معکوس بهتره از prefetch_related استفاده کنید که کمک می‌کنه داده‌های مرتبط با چندین کوئری از پیش فراخوانی بشن.
@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Which built-in Python method is used to remove whitespace from the beginning and end of a string?
Anonymous Quiz
14%
remove()
33%
trim()
43%
strip()
10%
clean()
برنامه نویسی | Teachify
Which built-in Python method is used to remove whitespace from the beginning and end of a string?
✔️حذف فاصله‌های خالی از ابتدا و انتهای رشته در پایتون

در زبان برنامه‌نویسی پایتون، برای حذف فاصله‌های خالی (فاصله، تب، و خطوط جدید) از ابتدای و انتهای یک رشته، از متد strip() استفاده می‌کنیم.

text = "   Hello, World!   "
cleaned_text = text.strip()
print(cleaned_text) # Output: "Hello, World!"


اگر فقط می‌خواهید فاصله‌ها را از ابتدای رشته حذف کنید، می‌توانید از lstrip() که مخفف Left Strip و برای حذف از انتهای رشته از rstrip() که مخفف Right Strip است استفاده کنید.

text = "   Learn Python with teachify   "
print(text.lstrip()) # Output: "Learn Python with teachify "
print(text.rstrip()) # Output: " Learn Python with teachify"


#پایتون #نکات_پایتون
@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
✔️ آشنایی با کتابخانه Requests در پایتون

کتابخانه Requests یکی از قدرتمندترین ابزارهای پایتون برای ارسال درخواست‌های HTTP است که کار را با APIها و ارتباطات وبی ساده می‌کند. این کتابخانه به شما امکان می‌دهد به راحتی درخواست‌های GET، POST، PUT و DELETE را ارسال و پاسخ‌ها را مدیریت کنید.

▪️نمونه کد برای درخواست GET:
import requests

response = requests.get('https://api.example.com/data')
if response.status_code == 200:
    data = response.json()
    print(data)
else:
    print("درخواست با شکست مواجه شد!")

▪️امکانات Requests:

ارسال و دریافت JSON

مدیریت هدرها (Headers) و کوکی‌ها

پشتیبانی از پروتکل‌های امن (SSL)

آپلود فایل و تنظیم زمان تایم‌اوت

#Python #Programming #Requests #API

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
✔️ استفاده از متد جادویی __call__ در پایتون

متد __call__ در پایتون به شما اجازه می‌دهد تا یک شیء از کلاس خود را مثل یک تابع فراخوانی کنید. این کار می‌تواند در سناریوهایی که نیاز به پردازش پیچیده دارید، بسیار مفید باشد.

فرض کنید می‌خواهیم یک کلاس به نام Multiplier ایجاد کنیم که هر بار شیء آن مثل تابع فراخوانی می‌شود، ورودی‌ها را با یک مقدار خاصی که در ابتدا تنظیم شده، ضرب کند.

class Multiplier:
def __init__(self, factor):
self.factor = factor

def __call__(self, value):
return value * self.factor

# استفاده از کلاس
double = Multiplier(2)
triple = Multiplier(3)

print(double(5)) # خروجی: 10
print(triple(5)) # خروجی: 15


1. متد __init__: عامل (factor) را تنظیم می‌کند.
2. متد __call__: ورودی را با عامل از پیش‌تعریف شده ضرب کرده و نتیجه را برمی‌گرداند.

با این روش، می‌توان از هر شیء کلاس Multiplier به عنوان یک تابع استفاده کرد و در عین حال از ویژگی‌های شیءگرایی بهره برد.

#Python #Programming

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
✔️ متدهای جادویی __getitem__ و __setitem__ در پایتون

در پایتون می‌تونید با __getitem__ و __setitem__ یک شیء رو مثل لیست‌ها و دیکشنری‌ها مدیریت کنید! این متدها امکان دسترسی و تغییر عناصر با اندیس‌گذاری رو فراهم می‌کنند.

مثال:

class CustomList:
def __init__(self, data):
self.data = data

def __getitem__(self, index):
return self.data[index]

def __setitem__(self, index, value):
self.data[index] = value

clist = CustomList([10, 20, 30])
print(clist[1]) # دسترسی به اندیس 1
clist[1] = 50 # تغییر اندیس 1 به 50


#Python #Programming

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