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


Admin: @Yousef_Vafaei
Download Telegram
YOUSEF
برسم خونه براتون مینویسم مصاحبه چطوری بود و چه سوالاتی پرسیدن.😃
سلام طبق قولی که داده بودم سوالاتی که خاطرم بود رو براتون نوشتم.
خیلیاش رو یادم نیومد ولی اگه خاطرم بیاد توی کامنت ها اضافه میکنم.

مثلا از کوئری های sql هم بود چند تا که دقیق یادم نیست.

سوالات دیتابیسی
1. تفاوت بین LEFT JOIN و INNER JOIN چیست؟ و دقیقا توی دیتابیس چی میشه وقتی این کارو میکنیم؟
2. ایندکسینگ (Indexing) چیه و اون پشت دقیقا چه اتفاقی می افته؟

سوالات گیت
3. فرق بین merge و rebase در گیت؟
4. اسکواش در گیت چیه؟ چطوری ازش استفاده کنیم؟ و چطوری Squash رو برگردونیم؟
5. پروژه رو کلی تغییر دادیم و کامیت کردیم. حالا میخواییم کلا برگردونیم حالت قبل از چه دستوری استفاده میکنیم و چرا؟ مثلا من گفتم git reset --hard بعدش گفتن بقیه آرگومان هاش چیه و ...

سوالات پایتونی
6. در پایتون استرینگ ها mutable هستند یا immutable ؟ مثلا وقتی گفتم استرینگ ها immutable هستند توضیح انحرافی دادن و گفتن مگه نمیتونیم 2 تا استریگ رو با هم جمع کنیم و ... در حالی که اینجوری یه رشته جدید ایجاد میشه و باید حواستون باشه

7. چطوری توی پایتون آدرس حافظه‌ی یک شیء رو ببینیم؟
8. چطوری توی یک کلاس از with استفاده کنیم؟

سوالات جنگو
9. چطوری از groupby در جنگو ORM استفاده کنیم (لپ تاپ رو گذاشتن جلوم و گفتن کدش رو بزن) و همچنین وقتی این دستور رو میزنیم توی پشت صحنه چی میشه؟
10. از متدهای annotate() و aggregate() سوال کردن

سوالات تایم کامپلکستی
11. از Time Complexity ها سوال کردن

12. از Osi model و پروتکل http و tcp و udp هم سوال کردن

ببینید سوالات دقیقا همینجوری پرسیده نمیشد، مثلا یه چیزی توضیح داده میشد و از بینش سوال در میومد.
بهم گفتن اخرین بار کی دست به کد بودی؟ ورژن فعلی پایتون و جنگو رو بین حرف ها ازم پرسیدن :))
تا ببینین اصلا توی باغ هستم یا نه

💻@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19👌6❤‍🔥2
✔️ انواع Join در SQL به زبان ساده (Inner, Left, Right و Full Join)

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

در این مقاله بخوانید: انواع Join در SQL به زبان ساده


💻 @kaliboys | کالی بویز
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
بالاخره باید از یه جایی شروع کرد
یه روز برای سنیوری میریم مصاحبه یه روز برای کارآموزی :))

@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