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


Admin: @Yousef_Vafaei
Download Telegram
✔️ ترتیب سطوح شغلی در برنامه‌نویسی

▪️ جونیور (Junior): برنامه‌نویس جونیور فردی است که در ابتدای مسیر شغلی خود قرار دارد و تجربه کار عملی محدودی دارد. این افراد معمولا بر روی وظایف پایه و جزئی در پروژه‌ها کار می‌کنند و تحت نظارت و راهنمایی برنامه‌نویسان باتجربه‌تر (میدلول یا سنیور) قرار دارند.

▪️ میدلول (Mid-Level): برنامه‌نویس میدلول دارای تجربه و دانش کافی برای انجام وظایف مستقل و پیچیده‌تر در پروژه‌ها است. این افراد می‌توانند به عنوان راهنما و منتور برای برنامه‌نویسان جونیور عمل کنند و در حل مشکلات و چالش‌های فنی پروژه‌ها مشارکت فعال داشته باشند.

▪️ سنیور (Senior): برنامه‌نویس سنیور فردی با تجربه و دانش عمیق در حوزه برنامه‌نویسی است. این افراد می‌توانند پروژه‌های پیچیده را رهبری و مدیریت کنند، الگوریتم‌های پیچیده را طراحی و پیاده‌سازی کنند و به عنوان متخصص در حوزه تخصصی خود به دیگران مشاوره ارائه دهند.

▪️ تک لید (Tech Lead): تک لید فردی متخصص و باتجربه است که رهبری تیم فنی یک پروژه یا شرکت را بر عهده دارد. وظایف تک لید شامل برنامه‌ریزی و مدیریت پروژه‌های فنی، تعیین وظایف و مسئولیت‌های اعضای تیم، حل مشکلات فنی پیچیده و ارائه مشاوره فنی به سایر اعضای تیم می‌شود.

💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥14👍4
- خوش بحالت که برنامه نویسی، میشینی تو خونه چهارتا خط کد می‌نویسی کلی پول درمیاری
یه روز عادی برنامه نویسا:

💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣31👍9
✔️ یعنی منم میتونم اولین تجربه برنامه نویسیم رو توی یک شرکت کسب کنم؟

پ.ن: من برنامه نویسی رو خودآموز یاد گرفتم و اولین تجربه ارسال رزومه ام بود. امیدوارم بتونم از پسش بربیام.

💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🙏178👍7
✔️ #دیتابیس های رابطه‌ای و NoSQL

▪️دیتابیس های رابطه‌ای (Relational Databases) از رایج‌ترین و محبوب‌ترین مدل‌های پایگاه داده هستند. این مدل داده‌ها را در قالب جداول ذخیره می‌کند و روابط بین جداول را با کلیدهای خارجی (Foreign Keys) تعریف می‌کند.

▪️دیتابیس های NoSQL مخفف "Not only SQL" یا "غیر SQL" است و به دسته ای از پایگاه‌های داده اطلاق می‌شود که از ساختارهای غیر رابطه‌ای برای ذخیره‌سازی داده‌ها استفاده می‌کنند. برخلاف پایگاه‌های داده رابطه‌ای که داده‌ها را در قالب جداول ذخیره می‌کنند، NoSQL از مدل‌های مختلفی مانند سند، گراف، کلید-مقدار و ستون‌های عریض برای ذخیره‌سازی داده‌ها استفاده می‌کند.

1⃣ دیتابیس های رابطه‌ای

☑️ داده‌ها را در قالب جداول ذخیره می‌کنند.
☑️ از ساختارهای منظم و تعریف‌شده استفاده می‌کنند.
☑️کاربرد: مناسب برای ذخیره‌سازی داده‌های ساختاردهی شده مانند اطلاعات مربوط به مشتریان، سفارشات، موجودی انبار و غیره.
☑️نمونه: MySQL، PostgreSQL، Oracle Database

🔢 دیتابیس های NoSQL

☑️از ساختارهای غیر رابطه‌ای برای ذخیره‌سازی داده‌ها استفاده می‌کند.
☑️مدل‌های مختلفی مانند سند، گراف، کلید-مقدار و ستون‌های عریض دارد.
☑️کاربرد: مناسب برای ذخیره‌سازی داده‌های ساختاردهی نشده یا نیمه‌ساختاردهی شده مانند پست‌های شبکه‌های اجتماعی، داده‌های حسگرها و غیره.
☑️نمونه: MongoDB، Cassandra، Redis، Neo4j

💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
🐧 انتخاب بهترین محیط کار لینوکس

بهترین محیط کار لینوکس برای شما به نیازها و ترجیحاتتان بستگی دارد. در اینجا چند مورد از محبوب‌ترین محیط‌های کار لینوکس به همراه ویژگی‌هایشان آورده شده است:

1⃣ محیط GNOME (Gnome 3)

✔️مزایا: رابط کاربری مدرن و مینیمالیستی، کاربری آسان، پشتیبانی از طیف گسترده‌ای از برنامه‌ها، به‌روزرسانی‌های منظم
✔️معایب: پیچیدگی در برخی از تنظیمات، ممکن است برای کاربران مبتدی کمی گیج‌کننده باشد

🔢 محیط KDE Plasma

✔️مزایا: قابل تنظیم و شخصی‌سازی، رابط کاربری قدرتمند، مناسب برای کاربران حرفه‌ای
✔️معایب: مصرف منابع سیستم بیشتر نسبت به برخی از محیط‌های دیگر، منحنی یادگیری کمی تندتر

🔢 محیط Cinnamon

✔️مزایا: رابط کاربری سنتی و آشنا، کاربری آسان، مناسب برای کاربران مبتدی
✔️معایب: به‌روزرسانی‌ها به اندازه GNOME و KDE سریع نیست، ممکن است به اندازه برخی از محیط‌های دیگر قدرتمند نباشد

🔢 محیط XFCE

✔️مزایا: سبک و کم‌حجم، سریع و کارآمد، مناسب برای سیستم‌های قدیمی‌تر
✔️معایب: رابط کاربری کمی قدیمی، ممکن است به اندازه برخی از محیط‌های دیگر از نظر بصری جذاب نباشد

🔢 محیط LXDE

✔️مزایا: بسیار سبک و کم‌حجم، ایده‌آل برای سیستم‌های با منابع محدود
✔️معایب: رابط کاربری ساده و پایه، ممکن است به اندازه برخی از محیط‌های دیگر از نظر ظاهری جذاب و یا دارای امکانات نباشد

💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
✔️ این تصویر چقدر حق بود!

💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍351
وقتی تک لید شرکت تویی و دولوپرها یه کاری کردن که برنامه به ارور 500 خورده!

- نه عزیزم، خطای 500 اشکالی نداره، تا چند دقیقه دیگه میرسم باهم حلش کنیم.


💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣27👍2💩2
✔️ اره بابا ریسپانسیو بلدم!

- اینم طراحی ریسپانسیوش :))

📱 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
😁40💩6👍1👀1
✔️ تراکنش در پایگاه داده (Transaction)

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

▪️یک تراکنش باید دارای چهار ویژگی اصلی باشد که به عنوان خواص ACID شناخته می‌شوند:

✔️اتمیک (Atomicity): یا همه یا هیچ. یک تراکنش باید به طور کامل انجام شود یا به طور کامل لغو شود.
✔️سازگار (Consistency): یک تراکنش باید پایگاه داده را از یک حالت سازگار به حالت سازگار دیگر منتقل کند.
✔️تفکیک شده (Isolation): تراکنش‌ها باید از یکدیگر مستقل باشند و تداخلی با یکدیگر نداشته باشند.
✔️دایمی (Durability): پس از انجام یک تراکنش، تغییرات آن باید به طور دائمی در پایگاه داده ذخیره شوند.


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

برداشت پول از حساب شما: این عملیات باید با موفقیت انجام شود، در غیر این صورت تراکنش باید لغو شود.
واریز پول به حساب دوستتان: این عملیات نیز باید با موفقیت انجام شود، در غیر این صورت تراکنش باید لغو شود.
اگر در هر مرحله از این فرآیند مشکلی پیش بیاید، تراکنش لغو می‌شود و هیچ تغییری در حساب‌ها ایجاد نمی‌شود.
📱 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
📶 وای فای رایگان فقط این! بقیه اداشو در میارن :))
#فان
💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣26😁1
✔️ 2 مدل مصاحبه ای که توی استخدام شرکت ها باهاش رو به رو میشید

1⃣ مصاحبه‌های فنی:

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

🔢 مصاحبه‌های HR یا Human Resources:

تمرکز این نوع مصاحبه بر روی ارزیابی تناسب شما با فرهنگ سازمانی شرکت، شخصیت، انگیزه‌ها و ... شماست.
این نوع مصاحبه معمولاً توسط کارکنان بخش منابع انسانی (HR) یا مدیران شرکت انجام میشه و سوالات کلی‌تر و غیرتخصصی‌تری رو شامل میشه.
برای مثال، در یه مصاحبه HR، ممکنه از شما سوالاتی در مورد نقاط قوت و ضعف، اهداف شغلی، تجربه تیمی و ... پرسیده بشه.
💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
☝️ انواع لایسنس‌های رایج در پروژه‌های نرم‌افزاری

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

▪️لایسنسMIT: این لایسنس یکی از ساده‌ترین و پرکاربردترین لایسنس‌های متن‌باز است. به کاربران اجازه می‌دهد تا آزادانه از نرم‌افزار در هر برنامه‌ای، حتی برنامه‌های تجاری، استفاده، تغییر و توزیع کنند. تنها شرط این است که آنها باید حق نسخه‌برداری و مجوز را در تمام نسخه‌های کپی‌شده نرم‌افزار حفظ کنند.

▪️لایسنس GPL (General Public License): این لایسنس قوی‌تر از MIT است و به اصطلاح "کپی‌لفت" است. به این معنی که هر نسخه‌ای از نرم‌افزار که تحت GPL منتشر می‌شود باید تحت همان لایسنس یا لایسنس سازگار دیگری مجوز داشته باشد. این امر برای اطمینان از اینکه همه کاربران به همان آزادی‌هایی که توسعه‌دهنده اصلی اعطا کرده است دسترسی داشته باشند، مهم است.

▪️لایسنس Apache License: این لایسنس شبیه به MIT است، اما برخی از الزامات اضافی را برای محافظت از توسعه‌دهندگان در برابر دعاوی حقوقی اعمال می‌کند.

▪️لایسنس BSD: این خانواده از لایسنس‌ها شبیه به MIT هستند، اما تنوع بیشتری دارند. برخی از لایسنس‌های BSD الزامات کمتری نسبت به MIT دارند، در حالی که برخی دیگر الزامات بیشتری دارند.

▪️لایسنس Creative Commons: این لایسنس‌ها بیشتر برای محتوای خلاقانه مانند تصاویر، موسیقی و متن استفاده می‌شوند. آنها طیف وسیعی از مجوزها را ارائه می‌دهند که به کاربران سطوح مختلفی از اجازه برای استفاده، تغییر و توزیع محتوا را می‌دهند.

▪️لایسنس Beerware: این یک لایسنس غیررسمی و طنزآمیز است که به کاربران اجازه می‌دهد از نرم‌افزار به صورت رایگان استفاده کنند، اما آنها را تشویق می‌کند تا در صورت قدردانی از آن، به توسعه‌دهنده یک نوشیدنی بخرند.

💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
#ترفند
✔️ در فایل requirements.txt گاهی اوقات از -r به همراه یک URL استفاده می‌شود تا به طور تکراری نیازمندی‌های یک پروژه دیگر را در فایل خود نصب کنید. این کار می‌تواند برای جلوگیری از تکرار لیست‌های بلند نیازمندی‌ها و مدیریت وابستگی‌ها به طور کارآمدتر مفید باشد.

نحوه عملکرد:

1. زمانی که pip دستور -r را همراه با URL دریافت می‌کند، به آن URL می‌رود و محتوای فایل requirements.txt موجود در آن آدرس را دانلود می‌کند.
2. سپس، pip تمام نیازمندی‌های لیست شده در فایل دانلود شده را به همراه نیازمندی‌های موجود در فایل requirements.txt خودتان نصب می‌کند.

مثال:

فرض کنید دو پروژه به نام project-a و project-b دارید. project-b به تعدادی از کتابخانه‌ها که در project-a نیز استفاده می‌شوند، نیاز دارد. به جای لیست کردن تمام این کتابخانه‌ها دوباره در project-b`، می‌توانید از -r` برای نصب آنها از project-a استفاده کنید:
# project-b/requirements.txt

-r project-a/requirements.txt

# Additional project-b specific requirements
- other-library-1
- other-library-2


در این مثال، pip ابتدا تمام نیازمندی‌های لیست شده در project-a/requirements.txt را نصب می‌کند و سپس other-library-1 و other-library-2 را که خاص project-b هستند، نصب می‌کند.
💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
از مطالب کانال راضی هستین؟
Anonymous Poll
71%
بله
19%
خیر
23%
دیدن نتایج
✔️ این میتونه تابع بازگشتی باشه 😂

#فان #fun
💻 @Teachify | rezadolati
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24😁13🤣3
✔️ تشخیص عدد زوج یا فرد در سطح باینری

▪️روش اول: بررسی بیت واحد: بیت کم‌ارزش (بیت راست‌ترین) عدد باینری را بررسی کنید.

اگر این بیت 0 باشد، عدد زوج است و اگر این بیت 1 باشد، عدد فرد است.

مثال:

✔️عدد باینری 1010: بیت کم‌ارزش 0 است، بنابراین عدد زوج است.
✔️عدد باینری 1101: بیت کم‌ارزش 1 است، بنابراین عدد فرد است.

▪️روش دوم: انجام عمل AND با 1: عدد باینری را با 1 (به صورت باینری) عمل AND کنید.

اگر نتیجه 0 باشد، عدد زوج است و اگر نتیجه 1 باشد، عدد فرد است.

مثال روش دوم در تصویر.
💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
✔️ وبسایت هایی برای نمونه سوالات و تمرینات پایتون

1⃣ LeetCode:
https://leetcode.com/

🔢 HackerRank:
https://www.hackerrank.com/domains/tutorials/10-days-of-python

🔢 Codewars:
https://www.codewars.com/

🔢 Exercism
https://exercism.io/tracks/python/exercises

🔢 GeeksforGeeks:
https://www.geeksforgeeks.org/python-programming-language/

🔢 Project Euler:
https://projecteuler.net/

💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4
✔️ دیتابیس ردیس چیست؟

ردیس (Redis) یک دیتابیس NoSQL متن‌باز و رایگان است که بر اساس مدل ذخیره‌سازی کلید-مقدار (key-value) عمل می‌کند. این دیتابیس از انواع مختلفی از داده‌ها مانند رشته‌ها (string)، هش‌ها (hash)، لیست‌ها (list)، مجموعه‌ها (set)، و مجموعه‌های مرتب (sorted set) پشتیبانی می‌کند. ردیس داده‌ها را به صورت درون‌حافظه‌ای (in-memory) ذخیره می‌کند که این ویژگی باعث افزایش چشمگیر سرعت خواندن و نوشتن اطلاعات می‌شود. اگرچه ردیس بیشتر به عنوان حافظه نهان (cache) مورد استفاده قرار می‌گیرد، اما می‌توان از آن به عنوان دیتابیس اصلی یا کارگزار پیام (message broker) نیز بهره برد.

❤️ @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
print(type(aTuple[2:3])) —> for ex: aTuple = (1, 'Jhon', 1+3j)
Anonymous Quiz
19%
list
22%
Python Data Types
34%
tuple
25%
complex
👎2
توی پایتون و مبحث شی گرایی، اولویت با کدومه؟
Anonymous Quiz
63%
class attribute
37%
instance attribute
👍5