🔶🔹Python String Formatting🔹🔶
به آرایهای از کاراکترها که یک رشته نامیده میشود، "رشته" میگویند. یکی از قابلیتهای پایتون، فرمتبندی رشتهها است که به شما امکان میدهد مقادیر مختلف را درون یک رشته قرار داده و آن را به صورت مطلوب قالببندی کنید.
در پایتون، دو روش متداول برای فرمتبندی رشتهها وجود دارد:
۱. روش قدیمی: استفاده از عملگر % (عملگر قدیمی)
۲. روش جدید: استفاده از متد .format() (عملگر جدید)
از عملگر قدیمی % برای جایگذاری مقادیر در رشته استفاده میشود. این روش خاصیت وراثتی دارد که با فرمتبندیهای متنوعی تعامل دارد. به طور مثال:
Output:
در عملگر جدید .format()، مقادیر را با استفاده از علامت {} در رشته قرار میدهیم و سپس این مقادیر را با استفاده از متد .format() تعیین میکنیم. به طور مثال:
Output:
همچنین در روش جدید، میتوانید با استفاده از شماره موقعیت مقادیر در .format()، ترتیب قرارگیری آنها را تغییر دهید. به طور مثال:
Output:
همچنین میتوانید با استفاده از ویژگیهای فرمتبندی مانند تعداد اعشاری که نمایش داده میشود، طول فیلد و... رشته را قالببندی کنید. به طور مثال:
Output:
این بخشی از قدرتمندیهای فرمتبندی رشته در پایتون است. در این روش جدید، میتوانید انواع دیگری از فرمتها را نیز برای قالببندی استفاده کنید.
ضمناً در پایتون 3.6 و بالاتر، میتوان از روش f-string استفاده کرد. این روش بسیار ساده و خوانا است و با استفاده از علامت f و داخل آن قرار دادن متغیرها، رشته را قالببندی میکند. به طور مثال:
Output:
به آرایهای از کاراکترها که یک رشته نامیده میشود، "رشته" میگویند. یکی از قابلیتهای پایتون، فرمتبندی رشتهها است که به شما امکان میدهد مقادیر مختلف را درون یک رشته قرار داده و آن را به صورت مطلوب قالببندی کنید.
در پایتون، دو روش متداول برای فرمتبندی رشتهها وجود دارد:
۱. روش قدیمی: استفاده از عملگر % (عملگر قدیمی)
۲. روش جدید: استفاده از متد .format() (عملگر جدید)
از عملگر قدیمی % برای جایگذاری مقادیر در رشته استفاده میشود. این روش خاصیت وراثتی دارد که با فرمتبندیهای متنوعی تعامل دارد. به طور مثال:
age = 25
name = "John"
message = "My name is %s and I am %d years old." % (name, age)
print(message)
Output:
My name is John and I am 25 years old.
در عملگر جدید .format()، مقادیر را با استفاده از علامت {} در رشته قرار میدهیم و سپس این مقادیر را با استفاده از متد .format() تعیین میکنیم. به طور مثال:
age = 25
name = "John"
message = "My name is {} and I am {} years old.".format(name, age)
print(message)
Output:
My name is John and I am 25 years old.
همچنین در روش جدید، میتوانید با استفاده از شماره موقعیت مقادیر در .format()، ترتیب قرارگیری آنها را تغییر دهید. به طور مثال:
age = 25
name = "John"
message = "My name is {1} and I am {0} years old.".format(age, name)
print(message)
Output:
My name is John and I am 25 years old.
همچنین میتوانید با استفاده از ویژگیهای فرمتبندی مانند تعداد اعشاری که نمایش داده میشود، طول فیلد و... رشته را قالببندی کنید. به طور مثال:
pi = 3.14159265359
formatted_pi = "{:.2f}".format(pi)
print(formatted_pi)
Output:
3.14
این بخشی از قدرتمندیهای فرمتبندی رشته در پایتون است. در این روش جدید، میتوانید انواع دیگری از فرمتها را نیز برای قالببندی استفاده کنید.
ضمناً در پایتون 3.6 و بالاتر، میتوان از روش f-string استفاده کرد. این روش بسیار ساده و خوانا است و با استفاده از علامت f و داخل آن قرار دادن متغیرها، رشته را قالببندی میکند. به طور مثال:
age = 25
name = "John"
message = f"My name is {name} and I am {age} years old."
print(message)
Output:
My name is John and I am 25 years old.
🔷🔸Python Arrays🔸🔷
در پایتون، برای ذخیره و مدیریت دادهها، از ساختار دادهها استفاده میشود.
یکی از این ساختارها، آرایه (Array) است که نقطه قوت قابلیت ذخیرهسازی دادههای همنوع (دادههایی که همگی از یک نوع هستند) و دسترسی به عناصر با استفاده از شاخصها است.
در پایتون، میتوانیم از دو نوع آرایه استفاده کنیم: "لیستها" (Lists) و "آرایههای numpy" (NumPy Arrays).
1. لیستها:
لیستها در پایتون یک ساختار داده پویا و چند منظوره هستند. با استفاده از لیستها میتوانیم دادههای مختلف را در یک لیست ذخیره کنیم. برای ایجاد یک لیست، از علامت
لیستها میتوانند انواع مختلف دادهها را شامل شوند، مانند اعداد، رشتهها، لیستهای دیگر و حتی ترکیبی از انواع مختلف. البته، در لیستها همچنین میتوانیم به عناصر با استفاده از اندیس (شاخص) دسترسی پیدا کنیم و در عملیاتهایی مانند اضافه کردن، حذف، تغییر و مرتبسازی عناصر لیست، تغییراتی ایجاد کنیم.
2. آرایههای numpy:
آرایههای numpy یک کتابخانه پرکاربرد در پایتون هستند که مفهوم آرایه را گسترش میدهند. این کتابخانه امکانات بسیاری را برای عملیات عملیاتی، ریاضیاتی و استنباطی روی دادههای چند بعدی فراهم میکند. برای استفاده از آرایههای numpy، ابتدا باید کتابخانه را با دستور
برخلاف لیستها، آرایههای numpy باید از مقداردهی اولیه دادهها با استفاده از توابع خاصی مانند
آرایههای numpy قابلیتهای بسیاری دارند، از جمله عملیات ریاضی و آماری، شاخصگذاری و برش، تبدیلات شکل و بسیاری دیگر.
در نتیجه، آرایهها در پایتون ابزارهای قدرتمندی هستند که به ما امکان میدهند دادهها را سازماندهی و برای آنها عملیات مختلفی انجام دهیم. 🦦📊
#FXL
#numpy
#Python_Arrays
در پایتون، برای ذخیره و مدیریت دادهها، از ساختار دادهها استفاده میشود.
یکی از این ساختارها، آرایه (Array) است که نقطه قوت قابلیت ذخیرهسازی دادههای همنوع (دادههایی که همگی از یک نوع هستند) و دسترسی به عناصر با استفاده از شاخصها است.
در پایتون، میتوانیم از دو نوع آرایه استفاده کنیم: "لیستها" (Lists) و "آرایههای numpy" (NumPy Arrays).
1. لیستها:
لیستها در پایتون یک ساختار داده پویا و چند منظوره هستند. با استفاده از لیستها میتوانیم دادههای مختلف را در یک لیست ذخیره کنیم. برای ایجاد یک لیست، از علامت
[]
و اعضا را با کاما جدا میکنیم. مثال زیر روشهای ساختن یک لیست را نشان میدهد:my_list = [] # ایجاد یک لیست خالی
my_list = [1, 2, 3, 4, 5] # ایجاد لیست با مقادیر اولیه
my_list = ['apple', 'banana', 'cherry'] # لیستی از رشتهها
لیستها میتوانند انواع مختلف دادهها را شامل شوند، مانند اعداد، رشتهها، لیستهای دیگر و حتی ترکیبی از انواع مختلف. البته، در لیستها همچنین میتوانیم به عناصر با استفاده از اندیس (شاخص) دسترسی پیدا کنیم و در عملیاتهایی مانند اضافه کردن، حذف، تغییر و مرتبسازی عناصر لیست، تغییراتی ایجاد کنیم.
2. آرایههای numpy:
آرایههای numpy یک کتابخانه پرکاربرد در پایتون هستند که مفهوم آرایه را گسترش میدهند. این کتابخانه امکانات بسیاری را برای عملیات عملیاتی، ریاضیاتی و استنباطی روی دادههای چند بعدی فراهم میکند. برای استفاده از آرایههای numpy، ابتدا باید کتابخانه را با دستور
import numpy as np
وارد کنیم.برخلاف لیستها، آرایههای numpy باید از مقداردهی اولیه دادهها با استفاده از توابع خاصی مانند
numpy.array()
استفاده کنند. مثال زیر نشان میدهد که چگونه یک آرایه یک بعدی از لیستها ایجاد کنیم:import numpy as np
my_array = np.array([1, 2, 3, 4, 5]) # ایجاد یک آرایه یک بعدی
آرایههای numpy قابلیتهای بسیاری دارند، از جمله عملیات ریاضی و آماری، شاخصگذاری و برش، تبدیلات شکل و بسیاری دیگر.
در نتیجه، آرایهها در پایتون ابزارهای قدرتمندی هستند که به ما امکان میدهند دادهها را سازماندهی و برای آنها عملیات مختلفی انجام دهیم. 🦦📊
#FXL
#numpy
#Python_Arrays
🔷🔸Python PIP🔸🔷
به معنای "PIP Installs Packages." است. PIP یک سیستم مدیریت بستهها در Python است که برای نصب و مدیریت بستههای نرمافزاری در Python استفاده میشود.
بستهها در Python کدهای توسعهیافتهی قابل استفاده مجدد هستند که قابلیتها و امکانات خاصی را به برنامهها اضافه میکنند.
این بستهها میتوانند کتابخانهها، ابزارها، فریم ورکها و سایر منابع نیازمند در حوزه برنامهنویسی Python باشند. PIP، امکان نصب و بهروزرسانی این بستهها را فراهم میکند.
شما میتوانید با استفاده از دستورات PIP، بستههای مورد نیاز خود را از Python Package Index (PyPI) دانلود و نصب کنید. PyPI یک مخزن در اینترنت است که بستههایی را که توسط جامعه Python توسعه داده شدهاند، میزبانی میکند.
بعضی از دستورات متداول PIP عبارتند از:
-
-
-
-
-
همچنین، میتوانید با استفاده از فایل
پیشنهاد میشود قبل از استفاده از PIP، نسخهی مناسبی از Python را نصب کنید و مطمئن شوید که محیط Python شما از PIP پشتیبانی میکند. 🐍📦
#FXL
به معنای "PIP Installs Packages." است. PIP یک سیستم مدیریت بستهها در Python است که برای نصب و مدیریت بستههای نرمافزاری در Python استفاده میشود.
بستهها در Python کدهای توسعهیافتهی قابل استفاده مجدد هستند که قابلیتها و امکانات خاصی را به برنامهها اضافه میکنند.
این بستهها میتوانند کتابخانهها، ابزارها، فریم ورکها و سایر منابع نیازمند در حوزه برنامهنویسی Python باشند. PIP، امکان نصب و بهروزرسانی این بستهها را فراهم میکند.
شما میتوانید با استفاده از دستورات PIP، بستههای مورد نیاز خود را از Python Package Index (PyPI) دانلود و نصب کنید. PyPI یک مخزن در اینترنت است که بستههایی را که توسط جامعه Python توسعه داده شدهاند، میزبانی میکند.
بعضی از دستورات متداول PIP عبارتند از:
-
pip install package_name
: برای نصب یک بسته از PyPI.-
pip uninstall package_name
: برای حذف یک بسته نصب شده.-
pip freeze
: نمایش لیست تمام بستههای نصب شده به همراه نسخه آنها.-
pip list
: نمایش لیست بستههای نصب شده.-
pip show package_name
: نمایش اطلاعات جزئیات یک بسته نصب شده.همچنین، میتوانید با استفاده از فایل
requirements.txt
، لیستی از بستههای مورد نیاز خود را جهت نصب و استفاده توسط PIP تعریف کنید.پیشنهاد میشود قبل از استفاده از PIP، نسخهی مناسبی از Python را نصب کنید و مطمئن شوید که محیط Python شما از PIP پشتیبانی میکند. 🐍📦
#FXL
در اینجا دو مثال ساده برای استخراج اطلاعات از یک وب سایت با استفاده از پایتون و کتابخانه
مثال 1: استخراج عنوان های خبرها از یک سایت خبری
مثال 2 : استخراج قیمت ارزها از یک سایت ارزی
لطفاً توجه داشته باشید که شما باید آدرس وب سایت مورد نظر خودتونو در توابع
همچنین، ممکنه برای استخراج اطلاعات از وب سایت خاصی نیاز به استفاده از تکنیکها و قوانین خاص داشته باشید که برای هر مورد باید اونهارو بررسی کنید. 🕵️♀️
#FXL
#Web_scraping
#پایتون_پیشرفته
#استخراج
beautifulsoup
رو برای شما آوردم:مثال 1: استخراج عنوان های خبرها از یک سایت خبری
import requests
from bs4 import BeautifulSoup
# ارسال درخواست به صفحه وب و دریافت پاسخ
response = requests.get('https://example.com/news')
# بررسی وضعیت درخواست
if response.status_code == 200:
# پارس کردن محتوای صفحه وب
soup = BeautifulSoup(response.text, 'html.parser')
# استخراج عنوان های خبرها
news_titles = soup.find_all('h2', class_='title')
# چاپ عنوان های خبرها
for title in news_titles:
print(title.text)
else:
print('درخواست موفقیتآمیز نبود.')
مثال 2 : استخراج قیمت ارزها از یک سایت ارزی
import requests
from bs4 import BeautifulSoup
# ارسال درخواست به صفحه وب و دریافت پاسخ
response = requests.get('https://example.com/currency')
# بررسی وضعیت درخواست
if response.status_code == 200:
# پارس کردن محتوای صفحه وب
soup = BeautifulSoup(response.text, 'html.parser')
# استخراج قیمت ارزها
currency_prices = soup.find_all('span', class_='price')
# چاپ قیمت ارزها
for price in currency_prices:
print(price.text)
else:
print('درخواست موفقیتآمیز نبود.')
لطفاً توجه داشته باشید که شما باید آدرس وب سایت مورد نظر خودتونو در توابع
requests.get()
قرار بدید و الگوهای HTML مورد استخراج رو براساس وب سایت خود تنظیم کنید.همچنین، ممکنه برای استخراج اطلاعات از وب سایت خاصی نیاز به استفاده از تکنیکها و قوانین خاص داشته باشید که برای هر مورد باید اونهارو بررسی کنید. 🕵️♀️
#FXL
#Web_scraping
#پایتون_پیشرفته
#استخراج
PythonNotesForProfessionals.pdf
6.1 MB
یادداشتهایی از پایتون برای حرفهایها:
یک کتاب کامل برای یادگیری و مرور نکات پایتون که توش از مفاهیم ساده مثل انواع داده و توابع تا مباحث پیچیده گفته.
یک کتاب کامل برای یادگیری و مرور نکات پایتون که توش از مفاهیم ساده مثل انواع داده و توابع تا مباحث پیچیده گفته.
🔹 امنیت پایتون
درباره امنیت پایتون باید بگم که این زبان برنامهنویسی یک مجموعهای از ابزارها و روشهای خوبی رو برای افزایش امنیت برنامههای اون ارائه میده.
در زیر به توضیحات بیشتری درباره این موضوع میپردازم:
1. رمزنگاری (Encryption): پایتون امکان استفاده از الگوریتمهای رمزنگاری مختلف مانند RSA، AES و HMAC رو فراهم میکنه. این الگوریتمها میتونن در ارتباطات امن، ذخیره سازی اطلاعات حساس و سایر موارد مورد استفاده قرار بگیرند.
2. اعتبارسنجی و ورود به سیستم (Authentication and Login): پایتون دارای کتابخونههای مختلفی مانند Flask-Login و Django Authentication هست که امکانات کاملی برای اعتبارسنجی و ورود به سیستم رو فراهم میکنن.
این کتابخونهها شامل امکانات مانند مدیریت کوکیها، نگهداری رمزنگاری شده رمزعبور و مکانیزمهای امنیتی برای جلوگیری از حملات سرقت حساب کاربری میشوند.
3. حفاظت در برابر تزریق کد (Code Injection Prevention): با استفاده از تکنیکهایی مانند استفاده از عملکردهای پیشفرض امن به جای توابع اشیا از رشد، استفاده از سنتکسهای امن مانند f-string برای ایجاد رشتهها و استفاده از توابع امن برای دسترسی به پایگاه داده، پایتون میتونه در مقابل تزریق کد و جلوگیری از حملات تزریق SQL و تزریق کد خطرناک دیگر مقاومت نشون بده.
درباره امنیت پایتون باید بگم که این زبان برنامهنویسی یک مجموعهای از ابزارها و روشهای خوبی رو برای افزایش امنیت برنامههای اون ارائه میده.
در زیر به توضیحات بیشتری درباره این موضوع میپردازم:
1. رمزنگاری (Encryption): پایتون امکان استفاده از الگوریتمهای رمزنگاری مختلف مانند RSA، AES و HMAC رو فراهم میکنه. این الگوریتمها میتونن در ارتباطات امن، ذخیره سازی اطلاعات حساس و سایر موارد مورد استفاده قرار بگیرند.
2. اعتبارسنجی و ورود به سیستم (Authentication and Login): پایتون دارای کتابخونههای مختلفی مانند Flask-Login و Django Authentication هست که امکانات کاملی برای اعتبارسنجی و ورود به سیستم رو فراهم میکنن.
این کتابخونهها شامل امکانات مانند مدیریت کوکیها، نگهداری رمزنگاری شده رمزعبور و مکانیزمهای امنیتی برای جلوگیری از حملات سرقت حساب کاربری میشوند.
3. حفاظت در برابر تزریق کد (Code Injection Prevention): با استفاده از تکنیکهایی مانند استفاده از عملکردهای پیشفرض امن به جای توابع اشیا از رشد، استفاده از سنتکسهای امن مانند f-string برای ایجاد رشتهها و استفاده از توابع امن برای دسترسی به پایگاه داده، پایتون میتونه در مقابل تزریق کد و جلوگیری از حملات تزریق SQL و تزریق کد خطرناک دیگر مقاومت نشون بده.
4. شبهکد نویسی: پایتون معمولاً برای نوشتن کدها و الگوریتمهای پیچیده استفاده میشه.
با توجه به اینکه پایتون یک زبان شبهکدی هست، عموماً نیازی به نگرانی از خطرات امنیتی مربوط به زبانهای کامپایل شده نیست.
اما باید بهبود امنیتی رو در نظر داشته باشید و به روزرسانیهای امنیتی پایتون اعتنا کنید.
5. پکیجهای استاندارد: پایتون با داشتن یک مجموعه وسیعی از پکیجهای استاندارد، امکانات امنیتی فراوانی رو ارائه میده.
مثلاً کتابخونههایی مانند
6. آسیبپذیریهای معروف: هر زبان برنامهنویسی ممکن است به آسیبپذیریهای خاصی آسیبپذیر باشد.
با توجه به اینکه پایتون یک زبان شبهکدی هست، عموماً نیازی به نگرانی از خطرات امنیتی مربوط به زبانهای کامپایل شده نیست.
اما باید بهبود امنیتی رو در نظر داشته باشید و به روزرسانیهای امنیتی پایتون اعتنا کنید.
5. پکیجهای استاندارد: پایتون با داشتن یک مجموعه وسیعی از پکیجهای استاندارد، امکانات امنیتی فراوانی رو ارائه میده.
مثلاً کتابخونههایی مانند
hashlib
برای رمزنگاری و هش، ssl
برای ارتباطات امن و secrets
برای مدیریت رازها و کلیدها به کار میروند.6. آسیبپذیریهای معروف: هر زبان برنامهنویسی ممکن است به آسیبپذیریهای خاصی آسیبپذیر باشد.
چند وقتی بود خیلی جاها میدیدم دوستان زیادی سوال میکردن یا دنبال تحقیق بودن که اصلا چه دلیلی داره ما وارد زبان #پایتون بشیم؟
تو این چند روز میخواستم در جواب به این سوال این متن رو آماده کنم که زیاد وقت نمیکردم اما الان میخوام نظر خودم رو بگم.
اولا اینکه دوستان انتخاب زبان نباید به گفته بقیه یا رسانه ها باشه حتما باید بر اساس نیاز و علاقه خود شخص شما باشه. چرا که شما بر اساس حوزه کاری تون زبان مناسب رو انتخاب میکنید.
اگر بخوام مثال بزنم زبان #انگلیسی در دنیا زبان اول هست هرکس این زبانو بلد باشه قطعا تو هیچ کشوری گیر نمیکنه ولی یسری شرایط هستن که مجبور میکنه شما از زبان دیگه ای استفاده کنید مثلا روسیه، آلمان یا نوروژ و... شرطی که دارن برای اقامت تحصیلی و کاری حتما باید زبان محلی اون کشور رو بلد باشید.
این یعنی شما مجبور میشید به غیر از انگلیسی زبان دیگری رو نیز یاد بگیرید.
حالا این امر توی برنامه نویسی هم هست اگر علاقه شما به هر دلیلی پایتون هست و ورود کردید ادامه بدید تا آخر ول نکنید از این شاخه به اون شاخه نپرید بعد که حداقل به جایی رسیدید اونجا تصمیم بگیرید که میخواید تغیر بدید یا نه حالت چرا باید تا ته بریم؟
پایتون یک زبان شی گرا، راحت، مفسری و دارای کتابخونه های گسترده و همچنین زبان سطح بالا هست.
پایتون تو حوزه های مختلفی استفاده میشه مثل هوش مصنوعی، دیتا، وب و... اما این نیاز یک #بیزینس هست که تکنولوژی رو انتخاب میکنه که با #جنگو) یکی از فریم ورکای پایتون برای بکند وب هست(بره جلو یا با فریم ورک دیگه یا با #پایتون جلو بره یا زبان دیگه.
پس اگر وارد یک حوزه یا زبانی میشید سعی کنید اول تمامش کنید تمام کننده یک راهی که شروع کردید خیلی مهم و موثر هست بعد ببینید شا قراره تو اون حوزه بمونید یا نه.
برای برنامه نویسی قطعا برای شروع شما باید اول از زبان های راحتی مثل پایتون، سی شارپ)حالا شاید فکر کنید سی شارپ راحت نیست ولی برای شروع مثل پایتون خوبه(شروع کنید سپس بریم سراغ زبان های پیچیده مثل سی و....
پس سعی نکنید وسط راه مسیرتون رو عوض کنید. و درنهایت برای اینکه خبره بشید تو اون حوزه سعی کنید شورشو دربیاری انقد بخونید، مطالعه کنید تمرین کنید که صاحب نظر اون حوزه بشید. یادتون باشه همه چی با خوندن نیست بعضی جاها ممکنه با 10 تا کتاب خوندن هم نتونید یه مورد رو درک کنید خیلی چیزا به تمرین و تجربه هم بستگی دارن تا شما تجربه نکنید تمرین نکنید نمیتونید اون مسئله رو حل کنید.
قبل از همه اینا که دوس داشتم آخر این متن بنویسم تقویت زبان انگلیسی تون هست که حتما حتما باید منابع رو به زبان اصلی بخونید و این خیلی کمک کننده هست براتون.
پس اگر یکی میگه پایتون بدرد نمیخوره مطمئن باشید تو بیزینس اون شخص بدردش نخورده و ممکنه بالعکس باشه و در بیزینس شما زبان دیگه ای بدرد نخوره!
و اینم بگم خیلیا میگن چرا خیلی از بیزینس ها با زبان های دیگه ای نوشته شده.
دوستان اکثر بیزینس ها چون در زمان های گذشته نوشته شدن یا قدیمین دیگه نمیصرفه بیان تکنولوژی عوض کنن یا هزینه کنن حتی میتونه ریسک هم باشه و جرات نمیکنن این کار رو بکنن پس اینم مقایسه نکنید چرا فلان بیزینس که مربوط میشه به 20 سال پیش با فلان زبان نوشته شده!
تو این چند روز میخواستم در جواب به این سوال این متن رو آماده کنم که زیاد وقت نمیکردم اما الان میخوام نظر خودم رو بگم.
اولا اینکه دوستان انتخاب زبان نباید به گفته بقیه یا رسانه ها باشه حتما باید بر اساس نیاز و علاقه خود شخص شما باشه. چرا که شما بر اساس حوزه کاری تون زبان مناسب رو انتخاب میکنید.
اگر بخوام مثال بزنم زبان #انگلیسی در دنیا زبان اول هست هرکس این زبانو بلد باشه قطعا تو هیچ کشوری گیر نمیکنه ولی یسری شرایط هستن که مجبور میکنه شما از زبان دیگه ای استفاده کنید مثلا روسیه، آلمان یا نوروژ و... شرطی که دارن برای اقامت تحصیلی و کاری حتما باید زبان محلی اون کشور رو بلد باشید.
این یعنی شما مجبور میشید به غیر از انگلیسی زبان دیگری رو نیز یاد بگیرید.
حالا این امر توی برنامه نویسی هم هست اگر علاقه شما به هر دلیلی پایتون هست و ورود کردید ادامه بدید تا آخر ول نکنید از این شاخه به اون شاخه نپرید بعد که حداقل به جایی رسیدید اونجا تصمیم بگیرید که میخواید تغیر بدید یا نه حالت چرا باید تا ته بریم؟
پایتون یک زبان شی گرا، راحت، مفسری و دارای کتابخونه های گسترده و همچنین زبان سطح بالا هست.
پایتون تو حوزه های مختلفی استفاده میشه مثل هوش مصنوعی، دیتا، وب و... اما این نیاز یک #بیزینس هست که تکنولوژی رو انتخاب میکنه که با #جنگو) یکی از فریم ورکای پایتون برای بکند وب هست(بره جلو یا با فریم ورک دیگه یا با #پایتون جلو بره یا زبان دیگه.
پس اگر وارد یک حوزه یا زبانی میشید سعی کنید اول تمامش کنید تمام کننده یک راهی که شروع کردید خیلی مهم و موثر هست بعد ببینید شا قراره تو اون حوزه بمونید یا نه.
برای برنامه نویسی قطعا برای شروع شما باید اول از زبان های راحتی مثل پایتون، سی شارپ)حالا شاید فکر کنید سی شارپ راحت نیست ولی برای شروع مثل پایتون خوبه(شروع کنید سپس بریم سراغ زبان های پیچیده مثل سی و....
پس سعی نکنید وسط راه مسیرتون رو عوض کنید. و درنهایت برای اینکه خبره بشید تو اون حوزه سعی کنید شورشو دربیاری انقد بخونید، مطالعه کنید تمرین کنید که صاحب نظر اون حوزه بشید. یادتون باشه همه چی با خوندن نیست بعضی جاها ممکنه با 10 تا کتاب خوندن هم نتونید یه مورد رو درک کنید خیلی چیزا به تمرین و تجربه هم بستگی دارن تا شما تجربه نکنید تمرین نکنید نمیتونید اون مسئله رو حل کنید.
قبل از همه اینا که دوس داشتم آخر این متن بنویسم تقویت زبان انگلیسی تون هست که حتما حتما باید منابع رو به زبان اصلی بخونید و این خیلی کمک کننده هست براتون.
پس اگر یکی میگه پایتون بدرد نمیخوره مطمئن باشید تو بیزینس اون شخص بدردش نخورده و ممکنه بالعکس باشه و در بیزینس شما زبان دیگه ای بدرد نخوره!
و اینم بگم خیلیا میگن چرا خیلی از بیزینس ها با زبان های دیگه ای نوشته شده.
دوستان اکثر بیزینس ها چون در زمان های گذشته نوشته شدن یا قدیمین دیگه نمیصرفه بیان تکنولوژی عوض کنن یا هزینه کنن حتی میتونه ریسک هم باشه و جرات نمیکنن این کار رو بکنن پس اینم مقایسه نکنید چرا فلان بیزینس که مربوط میشه به 20 سال پیش با فلان زبان نوشته شده!
آموزش_پایتون_در_قالب_100_تا_تمرین_و_ترفند.pdf
1008.7 KB
آموزش پایتون در قالب 100 تا تمرین و ترفند به همراه پاسخ از مزیت های پایتون این هست که برای انجام هر کاری، کتابخونه و ترفند خاص خودش وجود داره و لازم نیست برای کارهای پیچیده کدهای زیادی نوشت بلکه فقط کافیه ترفندها و دستورات کلیدی این زبان رو یاد گرفت. توی این کتاب 100 تا ترفند و تمرین به همراه سورس کدهاش توی پایتون وجود داره
حالا برای اینکه به نویسندش برنخوره اسمشم میزنم اونم عشق کنه
نویسنده : Arjun Panwar
حالا برای اینکه به نویسندش برنخوره اسمشم میزنم اونم عشق کنه
نویسنده : Arjun Panwar
سلام دوستان
من برگشتم
آقا یکی دو نفرتون از من پرسیده بودید چطوری می تونیم فایل پایتونو به اپ تبدیل کنیم که آموزشش خیلی راحته کافیه دوتا دستور زیر رو تو ترمینال سیستمت بزنی :
اما موضوعی که می تونه جالب باشه اینه که این روش فایل پایتون رو به فرمت اجرایی سیستم خودتون تبدیل می کنه (یعنی اگر روی ویندوز این کار رو انجام بدید خودکار بهتون exe تحویل می ده)
سوال اینه که چی کار کنیم فرمت اپ یک سیستم عامل دیگرو بده مثلا چجوری وقتی سیسم عاملمون ویندوز هست ، فایل پایتون رو تبدیل به برنامه لینوکس بکنه
تو کامنتا نظراتتون رو بگید
#def
من برگشتم
آقا یکی دو نفرتون از من پرسیده بودید چطوری می تونیم فایل پایتونو به اپ تبدیل کنیم که آموزشش خیلی راحته کافیه دوتا دستور زیر رو تو ترمینال سیستمت بزنی :
pip install pyinstaller
نصب پکیج pyinstaller name.py —onefile
تبدیل به فرمت برنامه اما موضوعی که می تونه جالب باشه اینه که این روش فایل پایتون رو به فرمت اجرایی سیستم خودتون تبدیل می کنه (یعنی اگر روی ویندوز این کار رو انجام بدید خودکار بهتون exe تحویل می ده)
سوال اینه که چی کار کنیم فرمت اپ یک سیستم عامل دیگرو بده مثلا چجوری وقتی سیسم عاملمون ویندوز هست ، فایل پایتون رو تبدیل به برنامه لینوکس بکنه
تو کامنتا نظراتتون رو بگید
#def
پس از یادگیری #جنگو به صورت متوسط، چه ابزار های دیگه ای رو میتونم یاد بگیرم؟
(فقط در صورت نیاز یا برای مطالعه بیشتر)
1. Django Rest Framework (DRF)
2. Docker
3. Class-Based Views (CBV)
4. Django Allauth
5. Django Simple JWT
6. Celery
7. Redis
8. RabbitMQ
9. Django Guardian
10. Django Rest Framework JWT
11. Django Q
12. Django Taggit
13. Sentry
14. ELK Stack (Elasticsearch, Logstash, Kibana)
15. Prometheus
16. Grafana
17. Django Websockets
18. Django Channels
19. Django Haystack
20. Django REST Swagger
21. Django Storages
22. Django Compressor
23. New Relic
24. Django Sitemap
25. django-cors-headers
26. Django CORS Headers
27. Django Debug Toolbar
28. django-silk
29. Django Elasticsearch DSL
30. Django REST framework filters
(فقط در صورت نیاز یا برای مطالعه بیشتر)
1. Django Rest Framework (DRF)
2. Docker
3. Class-Based Views (CBV)
4. Django Allauth
5. Django Simple JWT
6. Celery
7. Redis
8. RabbitMQ
9. Django Guardian
10. Django Rest Framework JWT
11. Django Q
12. Django Taggit
13. Sentry
14. ELK Stack (Elasticsearch, Logstash, Kibana)
15. Prometheus
16. Grafana
17. Django Websockets
18. Django Channels
19. Django Haystack
20. Django REST Swagger
21. Django Storages
22. Django Compressor
23. New Relic
24. Django Sitemap
25. django-cors-headers
26. Django CORS Headers
27. Django Debug Toolbar
28. django-silk
29. Django Elasticsearch DSL
30. Django REST framework filters
با چند تا مثال regex رو یاد بگیر(قسمت اول)
1. پترن ما این هستش که توی متن hello داشته باشه:
2. به بزرگ و کوچیک بودن حروف حساس نباشه:
برای این موارد یه سری flag هایی رو regex در اختیار ما قرار داده. برای اینکه به بزرگ و کوچک بودن حروف حساس نباشه از فلگ i استفاده می کنیم:
3. اول متن با hello شروع بشه و به بزرگ و کوچیک بودن حروف حساس نباشه:
برای اینکار اول الگو از ^ استفاده میکنیم.
4. اول هر خط با hello شروع بشه:
تو مثال قبلی گفتیم اول متن hello باشه اما اینبار اول هر خط رو میخوایم حساب کنیم. برای اینکار از فلگ m استفاده می کنیم که به معنی این است روی چند تا خط ^ و $ رو اعمال کن. همچنین از فلگ g که مخفف global هست، استفاده میکنیم که بعد از پیدا کردن اولین نتیجه return نکنه و بره بقیه متن رو هم بگرده(توی هر زبان به یه شکلی فلگ هارو میدیم)
نکته:
اگه بخوایم بجای اینکه اول رشته با الگو ما تطابق داشته باشه، آخر خط و یا رشته رو چک کنیم، بجای ^ آخر الگو میایم $ قرار میدیم:
5. کاراکتر اول h باشد، کاراکتر دوم هرچیزی باشه فرقی نمیکنه و کاراکتر های بعدی llo باشد:
با استفاده نقطه مشخص میکنیم هر کاراکتری باشه فرقی نمیکنه.
6. فقط حروف کوچک انگلیسی:
داخل براکت میتونیم مشخص کنیم که چه کاراکتر هایی توی الگو ما هستش. ما اینجا میتونستیم تمامی حروف کوچک انگلیسی را بنویسیم(abcdefghi...) اما بجایش به این صورت نوشتیم که از a تا z باشد.
7. حروف انگیسی باشد و به بزرگ و کوچک بودن حساس نباشد. همچنین اعداد 0 تا 9 را هم داشته باشد:
همچنین میتوانیم از فلگ استفاده نکنیم و داخل براکت مشخص کنیم حروف بزرگ هم هستش:
#Regex
1. پترن ما این هستش که توی متن hello داشته باشه:
Pattern := "hello"
2. به بزرگ و کوچیک بودن حروف حساس نباشه:
برای این موارد یه سری flag هایی رو regex در اختیار ما قرار داده. برای اینکه به بزرگ و کوچک بودن حروف حساس نباشه از فلگ i استفاده می کنیم:
Pattern := "(?i)Hello"
3. اول متن با hello شروع بشه و به بزرگ و کوچیک بودن حروف حساس نباشه:
Pattern := "(?i)^hello"
برای اینکار اول الگو از ^ استفاده میکنیم.
4. اول هر خط با hello شروع بشه:
تو مثال قبلی گفتیم اول متن hello باشه اما اینبار اول هر خط رو میخوایم حساب کنیم. برای اینکار از فلگ m استفاده می کنیم که به معنی این است روی چند تا خط ^ و $ رو اعمال کن. همچنین از فلگ g که مخفف global هست، استفاده میکنیم که بعد از پیدا کردن اولین نتیجه return نکنه و بره بقیه متن رو هم بگرده(توی هر زبان به یه شکلی فلگ هارو میدیم)
نکته:
اگه بخوایم بجای اینکه اول رشته با الگو ما تطابق داشته باشه، آخر خط و یا رشته رو چک کنیم، بجای ^ آخر الگو میایم $ قرار میدیم:
pattern := "hello$"
5. کاراکتر اول h باشد، کاراکتر دوم هرچیزی باشه فرقی نمیکنه و کاراکتر های بعدی llo باشد:
Pattern := "h.llo"
با استفاده نقطه مشخص میکنیم هر کاراکتری باشه فرقی نمیکنه.
6. فقط حروف کوچک انگلیسی:
Pattern:= [a-z]
داخل براکت میتونیم مشخص کنیم که چه کاراکتر هایی توی الگو ما هستش. ما اینجا میتونستیم تمامی حروف کوچک انگلیسی را بنویسیم(abcdefghi...) اما بجایش به این صورت نوشتیم که از a تا z باشد.
7. حروف انگیسی باشد و به بزرگ و کوچک بودن حساس نباشد. همچنین اعداد 0 تا 9 را هم داشته باشد:
Pattern := "(?i)[a-z0-9]"
همچنین میتوانیم از فلگ استفاده نکنیم و داخل براکت مشخص کنیم حروف بزرگ هم هستش:
Pattern := [a-zA-Z0-9]
#Regex
چرا conda استفاده کنیم؟؟؟
اول اینکه نوع پایتون رو هم خودش براتون بالا میاره حین ساخت محیط و شما دیگه درگیر پیچیدگی و هندل کردن نصب و مدیریت چند نسخه مختلف پایتون نمیشید و حتی کار کردنش باهاش از pyenv راحت تره و عوض کردن نسخه پایتونش هم راحت تره
۱-نصب پکیج هم داخلش راحته
۲-و علاوه بر خودش میتونید از pip هم استفاده کنید
۳- همچنین بروز رسانی پکیج
۲-و یا یک فایل حاوی ادرسهای آن جهت نصب بسازید
۳-و یا بصورت yaml براتون قرار میده که از دو بخش تشکیل شده پکیجهایی که خودش نصب کرده و پکیجهایی که با pip نصب شده
۲-مشاهده وابستگی های آن
۳-مشاهده پکیجها استفاده کننده آن
موضوع جالب اینکه هنگام نصب پکیج تمام وابستگیها رو اجرایی میکنه و نصب و حتی اگه نیاز به نسخه دیگری از پایتون باشه اون رو downgraid میکنه که منجر میشه تا حد ممکن براتون خطایی رخ نده و دردسر نکشید
اول اینکه نوع پایتون رو هم خودش براتون بالا میاره حین ساخت محیط و شما دیگه درگیر پیچیدگی و هندل کردن نصب و مدیریت چند نسخه مختلف پایتون نمیشید و حتی کار کردنش باهاش از pyenv راحت تره و عوض کردن نسخه پایتونش هم راحت تره
conda create -n MyENV python=3.8دوم اینکه محیطی که براتون میسازه رو داخل home شما و در دایرکتوری مخصوص خودش میسازه و نه در مسیر جاری شما خب این مزیتش این هست که شما راحت هرجا باشید میتونید ۱-سریع فعال و ۲-غیرفعال و یا محیط خودتون رو تغییر بدید و یا بدون دغدغه نسبت به محل قرارگیریش محیط جدید بسازید و ۳-حذف هم کنید و بین محیطهای مختلف راحت سویچ کنید
1- conda activate my_envمورد بعدی هم اینکه:
2- conda deactivate
3- conda env remove -n MyENV
۱-نصب پکیج هم داخلش راحته
۲-و علاوه بر خودش میتونید از pip هم استفاده کنید
۳- همچنین بروز رسانی پکیج
1- conda install PackName۱-لیست پکیجهای نصب شده رو هم میتونید ببینید
2- pip install PackName
3- conda update PackName
۲-و یا یک فایل حاوی ادرسهای آن جهت نصب بسازید
۳-و یا بصورت yaml براتون قرار میده که از دو بخش تشکیل شده پکیجهایی که خودش نصب کرده و پکیجهایی که با pip نصب شده
1- conda listکه بالطبع میتونید اون رو هم در یک محیط دیگه نصب کنید
2- conda list --explicit
3- conda env --export > requirements.yml
conda create -f requirements.ymlگفتیم همه محیطها رو در یک مسیر قرار میده که با دستور زیر هم میتونید لیست همه محیط هاتون رو ببینید
conda create -n MyENV -f requirements.yml
conda env list۱- اگه بخواید یکمحیط روحذف کنید ۲-یا یک پکیج رو حذف کنید
1- conda env remove -n MyENV --allبرای دیدن اطلاعات مربوط به محیط تون
2- conda remove PackName
conda infoجهت تست و بررسی سلامت محیط
conda doctorجهت تغییر نام محیط با شرط فعال نبودن محیط تون
conda rename۱-جستجوی پکیج با نمایش تاریخچه تگ آن
۲-مشاهده وابستگی های آن
۳-مشاهده پکیجها استفاده کننده آن
1- conda search PackNameادغام محیط شل با conda
2- conda repoquery depends PackName
3- conda repoquery whoneeds PackName
conda init bashپاک کردن پکیجهای نا استفاده
conda cleanبرای کانفیگ از قبیل محیط نصب، پکیجها محدودیت دانلود و ...
conda config
conda config --help
موضوع جالب اینکه هنگام نصب پکیج تمام وابستگیها رو اجرایی میکنه و نصب و حتی اگه نیاز به نسخه دیگری از پایتون باشه اون رو downgraid میکنه که منجر میشه تا حد ممکن براتون خطایی رخ نده و دردسر نکشید
📌 چند سخن در حوزه برنامه نویسی
#تلنگر
شاید من بی عیب نباشم
قطعا تو هم نیستی ...
پس برو و به جای شماردن و مسخره کردن
عیب های من ...
به عیب های خودت رسیدگی کن ...
( مخصوص کسایی که فقط بلدن از بقیه سوتی بگیرن و هر هر بهش بخندن )
#تلنگر
صحبت کردن ساده است.
اما ....
کدت رو نشون بده!
#تلنگر
هر کسی میتواند کدی بنویسد که یک کامپیوتر آنرا درک کند. یک برنامه نویس خوب کدی را مینویسد که برای سایر همکارانش قابل درک باش
#فان
شازده کوچولو: چکار کنم که هیچ وقت کدم باگ نده ؟!
روباه: برو زبان HTML کار کن.
#فان
اگر درست کار نکرد نگران نباشید. اگر همه چیز درست بود، بیکار بودید.
#فان
تفوات جاوا و جاوا اسکریپت همان چیزی است که ماشین برای فرش است.
#فان
سنجش پیشرفت برنامه نویسی با خطوط کد مانند اندازه گیری پیشرفت ساخت هواپیما بر اساس وزن آن است.
#تجربه
ناراضی ترین مشتریان شما بزرگترین منبع یادگیری شما هستند.
#تجربه
یک راه آسان و یک راه سخت وجود دارد. بخش سخت، یافتن راه آسان است.
#تجربه
برنامه نویسی مانند هرکار دیگری در ظاهر آسان، در باطن سخت است.
#آزار_دهنده
کم ارزش و بی ارزش نشان دادن کار شما با جملاتی مانند: این کار سختی نیست! کار خاصی انجام ندادید! یک پروژه ساده و آسان میخواهم(با سه صفحه توضیحات کارفرما)
#آزار_دهنده
یک پروژه ای دارم با این مشخصات( دو صفحه شرح پروژه ) با این مقدار بودجه ( 1/10 قیمت واقعی )
#آزار_دهنده
کسانی که پروژه ها را با 1/3 قیمت واقعی انجام میدهند.
#تلنگر
شاید من بی عیب نباشم
قطعا تو هم نیستی ...
پس برو و به جای شماردن و مسخره کردن
عیب های من ...
به عیب های خودت رسیدگی کن ...
( مخصوص کسایی که فقط بلدن از بقیه سوتی بگیرن و هر هر بهش بخندن )
#تلنگر
صحبت کردن ساده است.
اما ....
کدت رو نشون بده!
#تلنگر
هر کسی میتواند کدی بنویسد که یک کامپیوتر آنرا درک کند. یک برنامه نویس خوب کدی را مینویسد که برای سایر همکارانش قابل درک باش
#فان
شازده کوچولو: چکار کنم که هیچ وقت کدم باگ نده ؟!
روباه: برو زبان HTML کار کن.
#فان
اگر درست کار نکرد نگران نباشید. اگر همه چیز درست بود، بیکار بودید.
#فان
تفوات جاوا و جاوا اسکریپت همان چیزی است که ماشین برای فرش است.
#فان
سنجش پیشرفت برنامه نویسی با خطوط کد مانند اندازه گیری پیشرفت ساخت هواپیما بر اساس وزن آن است.
#تجربه
ناراضی ترین مشتریان شما بزرگترین منبع یادگیری شما هستند.
#تجربه
یک راه آسان و یک راه سخت وجود دارد. بخش سخت، یافتن راه آسان است.
#تجربه
برنامه نویسی مانند هرکار دیگری در ظاهر آسان، در باطن سخت است.
#آزار_دهنده
کم ارزش و بی ارزش نشان دادن کار شما با جملاتی مانند: این کار سختی نیست! کار خاصی انجام ندادید! یک پروژه ساده و آسان میخواهم(با سه صفحه توضیحات کارفرما)
#آزار_دهنده
یک پروژه ای دارم با این مشخصات( دو صفحه شرح پروژه ) با این مقدار بودجه ( 1/10 قیمت واقعی )
#آزار_دهنده
کسانی که پروژه ها را با 1/3 قیمت واقعی انجام میدهند.
🔰 12 نکته برای تبدیل شدن به یک برنامهنویس حرفهای پایتون
💠 نکته 1: مخزن گیتهاب خودتان را بسازید
مخزن گیتهاب شما ضمن آنکه به عنوان رزومه قدرتمند در زمان مصاحبههای شغلبی به یاریتان میآید، به تمامی کاربران و شرکتهای عضو گیتهاب نشان میدهد که شما در برنامهنویسی به چه اندازهای مهارت دارید. در این حالت آگهیدهندگان فرصتهای شغلی به جای آنکه از شما درخواست نمونه کار کنند به راحتی به مخزن گیتهابتان مراجعه میکنند و با ارزیابی نمونه کدهایتان متوجه میشوند که یک برنامهنویس حرفهای هستید یا خیر. بنابراین بهتر است پروژههای پایتون خود را به یک مخزن معتبر نظیر گیتهاب اضافه کنید. حتی اگر این فقط یک کد ساده نوشتهای یا تغییر جزیی در کدهایی به وجود آورید بازهم آپلود این کدها در مخزن شخصیتان اهمیت زیادی دارد.
💠 نکته 2: کدهای با خوانایی بالا بنویسید
اگرچه این امر بدیهی به نظر میرسد، اما به هر حال ذکر این نکته مهم است. هنگام نوشتن کدها، اطمینان حاصل کنید که دیگران میتوانند آنرا بخوانند و درک کنند. از این گذشته، اگر استخدامکنندگان کدهای شما در گیتهاب را مشاهده کنند و توانایی درک آنها را داشته باشند، شانس استخدامتان دوچندان میشود. خوشبختانه، دستورالعملهایی برای نوشتن کدهای خوانا وجود دارد که از مهمترین آنها به موارد زیر باید اشاره کرد:
➕ تورفتگی
➕ زبانهها و فضاها
➕ حداکثر طول خط
➕ چگونگی شکستن خطوط
➕ خطوط خالی
➕ کدگذاری فایل منبع
➕ نقل قولهای رشتهای
➕ فضاهای سفید در عبارات
➕ بهکارگیری درست ویرگول
➕ قراردادهای نامگذاری
💠 نکته 3: مستندات مناسب ایجاد کنید
مستندات مناسب به بهبود خوانایی کدها کمک میکنند. به خاطر داشته باشید که باید یک فایل README را در مخزن گیتهاب خود قرار دهید. فایل README باید حاوی اطلاعات مقدماتی در مورد پروژه شما باشد. بهطور مثال، پروژه چه کاری انجام میدهد، از چه کتابخانههایی در پروژه استفاده کردهاید و غیره. فایل README برای خوانندگانی مفید است که میخواهند از کدهای شما نکات جدیدی یاد بگیرند یا سعی کنند کدها را به شکل دیگری اجرا کنند.
💠 نکته 4: کدهای دیگران را با مهارتی که دارید مطالعه کنید
افراد زیادی در گیتهاب هستند که از سبک برنامهنویسی منحصر به فرد و منظمی برخوردار هستند. یکی از بهترین راهها برای توسعه سبک کدنویسی شخصی، مطالعه و بررسی کدهایی است که سایر توسعهدهندگان پایتون نوشتهاند. به کدهایی که توسط دیگران نوشته شده دقت کنید تا در مورد سبکهای مختلف موجود ایدههال خلاقانهای ارائه کنید.
💠 نکته 5: کتابهای منتشر شده در مورد پایتون را مطالعه کنید
حتا اگر یک برنامهنویس حرفهای پایتون هستید، بازهم نکات جدیدی برای یادگیری وجود دارد. بهطور معمول، کتابهایی که در این زمینه منتشر میشوند نویسندگانی دارند که برای سالیان متمادی از پایتون استفاده کردهاند. بنابراین خالی از لطف نیست که کتابهای مختلف پایتون را مطالعه کنید.
💠 نکته 6: سطح مهارتهای خود در مورد پایتون را ارتقا دهید
اگر میخواهید روشی قابل اعتماد برای افزایش تجربه در برنامهنویسی پایتون به دست آورید و مزیت رقابتی خود را حفظ کنید باید مهارتهای خود را رشد دهید. علاوه بر مطالعه کتاب در این زمینه، شما باید نحوه کار با برخی از کتابخانههای پایتون را نیز بفهمید.
اگرچه یادگیری همه کتابخانهها ایدهآل است، اما با تسلط بر حداقل یک چند کتابخانه مهم پیشرفت قابل توجهی را تجربه میکنید. براساس آنچه در این کتابخانهها یاد میگیرید، قادر به کدنویسی پروژههایی هستید که امکان بارگذاری آنها در مخازن گیتهاب برای استفاده عموم توسعهدهندگان فراهم میشود. رویکرد فوق ضمن آنکه اجازه میدهد مخزن گیتهاب خود را بهبود بخشید به شما کمک میکند دانش جدید خود را حفظ کنید، زیرا بهترین راه برای به خاطر سپردن اطلاعات بیشتر، استفاده مستمر از آنها در قالب پروژه است.
💠 نکته 7: سعی کنید در زمینه هوش مصنوعی و یادگیری ماشین با پایتون به سطح بالایی از دانش برسید
یادگیری زبان به تنهایی کافی نیست. برای آنکه ترکیب نحوی و دستورات آنرا به خوبی کار ببرید به تمرین زیاد نیاز دارید. علاوه بر این باید به شکل کاربردی از آن استفاده کنید. برخی از مهمترین کاربردهای پایتون در زمینههای هوش مصنوعی (AI) و یادگیری ماشین است. الگوریتمهای مختلف مورد استفاده در این زمینهها را بیاموزید و پروژهها را با استفاده از آنها پیادهسازی کنید. هر مهارتی که کسب میکنید را درون مخزن گیتهاب قرار دهید تا ارزش کاری خود به عنوان یک برنامهنویس پایتون را افزایش دهید.
♾ ادامه مطلب ... 👇👇👇
💠 نکته 1: مخزن گیتهاب خودتان را بسازید
مخزن گیتهاب شما ضمن آنکه به عنوان رزومه قدرتمند در زمان مصاحبههای شغلبی به یاریتان میآید، به تمامی کاربران و شرکتهای عضو گیتهاب نشان میدهد که شما در برنامهنویسی به چه اندازهای مهارت دارید. در این حالت آگهیدهندگان فرصتهای شغلی به جای آنکه از شما درخواست نمونه کار کنند به راحتی به مخزن گیتهابتان مراجعه میکنند و با ارزیابی نمونه کدهایتان متوجه میشوند که یک برنامهنویس حرفهای هستید یا خیر. بنابراین بهتر است پروژههای پایتون خود را به یک مخزن معتبر نظیر گیتهاب اضافه کنید. حتی اگر این فقط یک کد ساده نوشتهای یا تغییر جزیی در کدهایی به وجود آورید بازهم آپلود این کدها در مخزن شخصیتان اهمیت زیادی دارد.
💠 نکته 2: کدهای با خوانایی بالا بنویسید
اگرچه این امر بدیهی به نظر میرسد، اما به هر حال ذکر این نکته مهم است. هنگام نوشتن کدها، اطمینان حاصل کنید که دیگران میتوانند آنرا بخوانند و درک کنند. از این گذشته، اگر استخدامکنندگان کدهای شما در گیتهاب را مشاهده کنند و توانایی درک آنها را داشته باشند، شانس استخدامتان دوچندان میشود. خوشبختانه، دستورالعملهایی برای نوشتن کدهای خوانا وجود دارد که از مهمترین آنها به موارد زیر باید اشاره کرد:
➕ تورفتگی
➕ زبانهها و فضاها
➕ حداکثر طول خط
➕ چگونگی شکستن خطوط
➕ خطوط خالی
➕ کدگذاری فایل منبع
➕ نقل قولهای رشتهای
➕ فضاهای سفید در عبارات
➕ بهکارگیری درست ویرگول
➕ قراردادهای نامگذاری
💠 نکته 3: مستندات مناسب ایجاد کنید
مستندات مناسب به بهبود خوانایی کدها کمک میکنند. به خاطر داشته باشید که باید یک فایل README را در مخزن گیتهاب خود قرار دهید. فایل README باید حاوی اطلاعات مقدماتی در مورد پروژه شما باشد. بهطور مثال، پروژه چه کاری انجام میدهد، از چه کتابخانههایی در پروژه استفاده کردهاید و غیره. فایل README برای خوانندگانی مفید است که میخواهند از کدهای شما نکات جدیدی یاد بگیرند یا سعی کنند کدها را به شکل دیگری اجرا کنند.
💠 نکته 4: کدهای دیگران را با مهارتی که دارید مطالعه کنید
افراد زیادی در گیتهاب هستند که از سبک برنامهنویسی منحصر به فرد و منظمی برخوردار هستند. یکی از بهترین راهها برای توسعه سبک کدنویسی شخصی، مطالعه و بررسی کدهایی است که سایر توسعهدهندگان پایتون نوشتهاند. به کدهایی که توسط دیگران نوشته شده دقت کنید تا در مورد سبکهای مختلف موجود ایدههال خلاقانهای ارائه کنید.
💠 نکته 5: کتابهای منتشر شده در مورد پایتون را مطالعه کنید
حتا اگر یک برنامهنویس حرفهای پایتون هستید، بازهم نکات جدیدی برای یادگیری وجود دارد. بهطور معمول، کتابهایی که در این زمینه منتشر میشوند نویسندگانی دارند که برای سالیان متمادی از پایتون استفاده کردهاند. بنابراین خالی از لطف نیست که کتابهای مختلف پایتون را مطالعه کنید.
💠 نکته 6: سطح مهارتهای خود در مورد پایتون را ارتقا دهید
اگر میخواهید روشی قابل اعتماد برای افزایش تجربه در برنامهنویسی پایتون به دست آورید و مزیت رقابتی خود را حفظ کنید باید مهارتهای خود را رشد دهید. علاوه بر مطالعه کتاب در این زمینه، شما باید نحوه کار با برخی از کتابخانههای پایتون را نیز بفهمید.
اگرچه یادگیری همه کتابخانهها ایدهآل است، اما با تسلط بر حداقل یک چند کتابخانه مهم پیشرفت قابل توجهی را تجربه میکنید. براساس آنچه در این کتابخانهها یاد میگیرید، قادر به کدنویسی پروژههایی هستید که امکان بارگذاری آنها در مخازن گیتهاب برای استفاده عموم توسعهدهندگان فراهم میشود. رویکرد فوق ضمن آنکه اجازه میدهد مخزن گیتهاب خود را بهبود بخشید به شما کمک میکند دانش جدید خود را حفظ کنید، زیرا بهترین راه برای به خاطر سپردن اطلاعات بیشتر، استفاده مستمر از آنها در قالب پروژه است.
💠 نکته 7: سعی کنید در زمینه هوش مصنوعی و یادگیری ماشین با پایتون به سطح بالایی از دانش برسید
یادگیری زبان به تنهایی کافی نیست. برای آنکه ترکیب نحوی و دستورات آنرا به خوبی کار ببرید به تمرین زیاد نیاز دارید. علاوه بر این باید به شکل کاربردی از آن استفاده کنید. برخی از مهمترین کاربردهای پایتون در زمینههای هوش مصنوعی (AI) و یادگیری ماشین است. الگوریتمهای مختلف مورد استفاده در این زمینهها را بیاموزید و پروژهها را با استفاده از آنها پیادهسازی کنید. هر مهارتی که کسب میکنید را درون مخزن گیتهاب قرار دهید تا ارزش کاری خود به عنوان یک برنامهنویس پایتون را افزایش دهید.
♾ ادامه مطلب ... 👇👇👇
💠 نکته 8: پروژههای مستقل را بپذیرید
کدنویسی و ساخت پروژه به تنهایی کافی نیست. اگر میخواهید به یک برنامهنویس حرفهای پایتون تبدیل شوید به کار بیشتری نیاز دارید. شما باید پروژههای آزاد را از دیگران بپذیرید. این پروژهها میتوانند به شکل پولی باشند یا در قالب کمک به دیگران دریافت شوند. هرچه تعداد پروژههایی که درون مخزن گیتهاب قرار میدهید بیشتر باشند نشان میدهند تجربه و سابقه شما در کدنویسی بیشتر است. شما میتوانید به عنوان یک برنامهنویس پایتون به فکر فریلنسری باشید و حتما پروژههای آزاد را قبول کنید.
💠 نکته 9: در پروژههای متنباز مشارکت کنید
به عنوان یک برنامهنویس پایتون میتوانید جستوجویی در مخازن گیتهاب دیگران انجام دهید و در پروژههای مرتبط مشارکت کنید. این تمرین نشان میدهد که شما علاقهمند هستید تجارب و تخصص خود را در اختیار دیگران قرار دهید. برخی از پروژههای معروف منبع باز پایتون که میتوانید در آنها مشارکت کنید به موارد زیر باید اشاره کرد:
🔸ا Pipenv: گردش کار توسعه پایتون
🔸ا Chatistics: اسکریپتهای پایتون برای تجزیه و تحلیل ورود به Messenger، Hangouts و چت تلگرام در DataFrames
🔸ا Som-tcp: حل مسئله فروشنده دورهگرد با استفاده از نقشههای خودتنظیم
🔸ا Py2bpf: مبدل پایتون به bpf (بایت کد فیلتر بسته برکلی)
💠 نکته 10: یک بلاگ راهاندازی کنید و در مورد آنچه آموختهاید، بنویسید
یک وبلاگ به شخصیت کاری شما اعتبار میبخشد. شما میتوانید درباره چگونگی شروع کار خود به عنوان یک مبتدی، مسیر آغاز کار خود و جایگاهی که به عنوان برنامهنویس پایتون در آن قرار دارید، نکاتی که در طول سالها آموختهاید، پروژههایی که کار کردهاید و مواردی از این دست مطالبی را بنویسید. این موضوع باعث میشود تا استخدامکنندگان با نگاه کردن به نمایه شما به سرعت با سبک کدنویسی که انجام میدهید آشنا شوند.
💠 نکته 11: یک روزانهای برای تمرین آماده کنید
تسلط بر یک زبان برنامهنویسی به این معنا نیست که باید کدگذاری را متوقف کنید. برای تبدیل شدن به یک برنامهنویس پایتون باید هر روز وقت کافی را برای نوشتن کد اختصاص دهید تا همه جنبههای پایتون را کاملا یاد بگیرید. این کدها میتوانند ساده یا پیچیده باشند، اما مهم این است که هر روز کدنویسی کنید. تنها در این صورت است که پایتون برای شما به یک ابزار کاربردی و ساده تبدیل میشود.
💠 نکته 12: رزومه و مشخصات خود را در پورتالهای شغلی بهروز کنید
اطمینان حاصل کنید که اطلاعات شما در مورد پورتالهای شغلی نظیر لینکدین، سایتهای کاریابی ایرانی و خارجی نظیر Glassdoor و CareerBuilder بهروز هستند. بنابراین بهتر است هر زمان اطلاعات کاربردی مرتبط با پایتون کسب کردید، این اطلاعات را درون رزومه خود قرار دهید تا استخدامکنندگان با جدیت بیشتری به رزومه شما توجه کنند.
کدنویسی و ساخت پروژه به تنهایی کافی نیست. اگر میخواهید به یک برنامهنویس حرفهای پایتون تبدیل شوید به کار بیشتری نیاز دارید. شما باید پروژههای آزاد را از دیگران بپذیرید. این پروژهها میتوانند به شکل پولی باشند یا در قالب کمک به دیگران دریافت شوند. هرچه تعداد پروژههایی که درون مخزن گیتهاب قرار میدهید بیشتر باشند نشان میدهند تجربه و سابقه شما در کدنویسی بیشتر است. شما میتوانید به عنوان یک برنامهنویس پایتون به فکر فریلنسری باشید و حتما پروژههای آزاد را قبول کنید.
💠 نکته 9: در پروژههای متنباز مشارکت کنید
به عنوان یک برنامهنویس پایتون میتوانید جستوجویی در مخازن گیتهاب دیگران انجام دهید و در پروژههای مرتبط مشارکت کنید. این تمرین نشان میدهد که شما علاقهمند هستید تجارب و تخصص خود را در اختیار دیگران قرار دهید. برخی از پروژههای معروف منبع باز پایتون که میتوانید در آنها مشارکت کنید به موارد زیر باید اشاره کرد:
🔸ا Pipenv: گردش کار توسعه پایتون
🔸ا Chatistics: اسکریپتهای پایتون برای تجزیه و تحلیل ورود به Messenger، Hangouts و چت تلگرام در DataFrames
🔸ا Som-tcp: حل مسئله فروشنده دورهگرد با استفاده از نقشههای خودتنظیم
🔸ا Py2bpf: مبدل پایتون به bpf (بایت کد فیلتر بسته برکلی)
💠 نکته 10: یک بلاگ راهاندازی کنید و در مورد آنچه آموختهاید، بنویسید
یک وبلاگ به شخصیت کاری شما اعتبار میبخشد. شما میتوانید درباره چگونگی شروع کار خود به عنوان یک مبتدی، مسیر آغاز کار خود و جایگاهی که به عنوان برنامهنویس پایتون در آن قرار دارید، نکاتی که در طول سالها آموختهاید، پروژههایی که کار کردهاید و مواردی از این دست مطالبی را بنویسید. این موضوع باعث میشود تا استخدامکنندگان با نگاه کردن به نمایه شما به سرعت با سبک کدنویسی که انجام میدهید آشنا شوند.
💠 نکته 11: یک روزانهای برای تمرین آماده کنید
تسلط بر یک زبان برنامهنویسی به این معنا نیست که باید کدگذاری را متوقف کنید. برای تبدیل شدن به یک برنامهنویس پایتون باید هر روز وقت کافی را برای نوشتن کد اختصاص دهید تا همه جنبههای پایتون را کاملا یاد بگیرید. این کدها میتوانند ساده یا پیچیده باشند، اما مهم این است که هر روز کدنویسی کنید. تنها در این صورت است که پایتون برای شما به یک ابزار کاربردی و ساده تبدیل میشود.
💠 نکته 12: رزومه و مشخصات خود را در پورتالهای شغلی بهروز کنید
اطمینان حاصل کنید که اطلاعات شما در مورد پورتالهای شغلی نظیر لینکدین، سایتهای کاریابی ایرانی و خارجی نظیر Glassdoor و CareerBuilder بهروز هستند. بنابراین بهتر است هر زمان اطلاعات کاربردی مرتبط با پایتون کسب کردید، این اطلاعات را درون رزومه خود قرار دهید تا استخدامکنندگان با جدیت بیشتری به رزومه شما توجه کنند.
اقا اومدیم تست نویسیو تو جنگو شروع کنیم رسیدیم به داکیومنت خوندن و اینا
و خب یجایی ب این برخوردیم که خب الان من یه تست برای مدلم میخوام بنویسم با TestCase
و خب یه آبجکت به مدل بخوام اضافه کنم تو تستم به کار ببرم یکم مشکله ! حالا مشکلش کجاست؟
شما فکر کن مدل من ۵۰ تا فیلد داره من باید بیام این ۵۰ تارو خودم مقدار دهی کنم 😐 خب چیکار کنم؟
یه کتابخونه هست به اسم " model bakery" که براتون اینکارو انجام میده!
دستور نصب 👇
میتونیم به مقادیر هم دسترسی پیدا کنیم مثال اگر فیلد name داخل مدل ما باشه
todo.name
میتونیم اینطوری بهش دسترسی پیدا کنیم!
خب این گذشت حالا بعضی وقتا هست ما میخوایم یک فیلدی رو خودمون مقدار دهی کنیم و بقیه فیلد هارو رو بزاریم خودش مقدار دهی کنه ! چطوریه؟
اینطوری فیلد دلخواه رو خودمون مقدار دهی کردیم و مابقیش رو خودش مقدار میده! #تمام
اینم بگم منوقتی با این کتابخونه اشنا شدم و خب یکمی داخل تست نویسی داخل جنگو جلو که رفتم یه سری هم به مونگارد زدم و دوره اون رو شروع کردم و داخل دوره تست نویسی مونگارد هم دیدم این رو توضیح داده :)
#تست_نویسی
#تست_نویسی_در_جنگو
#جنگو
و خب یجایی ب این برخوردیم که خب الان من یه تست برای مدلم میخوام بنویسم با TestCase
و خب یه آبجکت به مدل بخوام اضافه کنم تو تستم به کار ببرم یکم مشکله ! حالا مشکلش کجاست؟
شما فکر کن مدل من ۵۰ تا فیلد داره من باید بیام این ۵۰ تارو خودم مقدار دهی کنم 😐 خب چیکار کنم؟
یه کتابخونه هست به اسم " model bakery" که براتون اینکارو انجام میده!
دستور نصب 👇
pip install model-bakery____
from model_bakery import bakeryخب الان بهش گفتیم مدلمون Todo هست و میاد خودش مقدار دهیش میکنه و یک ابجکت برامون میسازه !
from .models import Todo
todo = bakery.make(Todo)
میتونیم به مقادیر هم دسترسی پیدا کنیم مثال اگر فیلد name داخل مدل ما باشه
todo.name
میتونیم اینطوری بهش دسترسی پیدا کنیم!
خب این گذشت حالا بعضی وقتا هست ما میخوایم یک فیلدی رو خودمون مقدار دهی کنیم و بقیه فیلد هارو رو بزاریم خودش مقدار دهی کنه ! چطوریه؟
from model_bakery import bakery
from .models import Todo
todo = bakery.make(Todo, name="Benyamin")
اینطوری فیلد دلخواه رو خودمون مقدار دهی کردیم و مابقیش رو خودش مقدار میده! #تمام
اینم بگم منوقتی با این کتابخونه اشنا شدم و خب یکمی داخل تست نویسی داخل جنگو جلو که رفتم یه سری هم به مونگارد زدم و دوره اون رو شروع کردم و داخل دوره تست نویسی مونگارد هم دیدم این رو توضیح داده :)
#تست_نویسی
#تست_نویسی_در_جنگو
#جنگو
یک موضوع کوچیک رو باهم بررسی کنیم
واسه بچههایی که با داکر کار میکنن گرفتن ایمیجهای داکر همیشه براشون یک چالش و دردسر هست تو ایران
سوا ازینکه داکر مارو تحریم کرده بحث فیلترینگ هم گاها اذیت کننده میشه و موارد مربوط اذیت کننده میشه
راهکار بچهها چیه راه اندازی فیلترشکن یا استفاده از سرویس شکن و 403 و docker.ir هستش که بازم دردسرهای خاص خود مثه پایین بودن سرعت این وسط رخ میده یا سردرگم کننده بودن اذیت شدن واسه کانفیگ کردنشون
راهکار بهتر که همه موارد بالا رو هندل میکنه این هست که ایمیجها رو از یک منبع داخلی بگیریم که اینجا ابرآروان گزینه بهتری به نظر میاد چرا؟؟؟
اول اینکه فیلتر نیست و حمایت خوبی داره
نیاز به کانفیگ چیز خاصی نداریم
سرعتش بالاست
نرخ مصرف اینترنت هم داخلی محسوب میشه
فقط کافیه به قبل از اسم ایمیجتون عبارت زیر رو اضافه کنید
واسه بچههایی که با داکر کار میکنن گرفتن ایمیجهای داکر همیشه براشون یک چالش و دردسر هست تو ایران
سوا ازینکه داکر مارو تحریم کرده بحث فیلترینگ هم گاها اذیت کننده میشه و موارد مربوط اذیت کننده میشه
راهکار بچهها چیه راه اندازی فیلترشکن یا استفاده از سرویس شکن و 403 و docker.ir هستش که بازم دردسرهای خاص خود مثه پایین بودن سرعت این وسط رخ میده یا سردرگم کننده بودن اذیت شدن واسه کانفیگ کردنشون
راهکار بهتر که همه موارد بالا رو هندل میکنه این هست که ایمیجها رو از یک منبع داخلی بگیریم که اینجا ابرآروان گزینه بهتری به نظر میاد چرا؟؟؟
اول اینکه فیلتر نیست و حمایت خوبی داره
نیاز به کانفیگ چیز خاصی نداریم
سرعتش بالاست
نرخ مصرف اینترنت هم داخلی محسوب میشه
فقط کافیه به قبل از اسم ایمیجتون عبارت زیر رو اضافه کنید
docker.arvancloud.ir/چندتا نمونه بهتون بگم
docker pull docker.arvancloud.ir/python:3.10حالا اگه ایمیجهاتون رو نگاه کنید اون هارو میبینید اگه بخوایم اسمشون تغییر بدیم هم دستور زیر رو بزنید
docker pull docker.arvancloud.ir/postgres:latest
docker tag docker.arvancloud.ir/python:3.10 python:3.10حالا اگه ایمیجهاتون رو نگاه کنید یک نسخه python:3.10 هم دارید
docker images