Syntax | سینتکس
Ir al canal en Telegram
Focus: Web Lan: Python & Go Website: https://syntaxfa.ir Quick connect: https://quick-connect.syntaxfa.ir Github: https://github.com/syntaxfa Group: https://t.me/Syntax_fa_group
Mostrar más3 267
Suscriptores
+1124 horas
+127 días
+930 días
Archivo de publicaciones
3 267
دوستان منبعی میشناسید که تمرینات مقدماتی تا پیشرفته پایتون رو بذاره ؟
اگه میشناسین توکامنتا معرفی کنین
3 267
اگر توی یک تیم کار میکنید و میخواید اکستنشن هایی که پروژه ی شما داره، بقیه ی تیم هم نصب کنن، یا اگر میخواید پروژه ی گیتهابتون اکستنشن های شما رو هم به برنامه نویس ها پیشنهاد کنه...
فایل
.vscode/extensions.json
رو بسازید و داخلش اسم اکستنشن هایی که برای اون پروژه نیازه رو بنویسید.
وقتی یکی پروژه رو توی vscode باز میکنه، vscode ازش میخواد که این اکستنشن ها رو نصب کنه.
#python
@khat_academy
3 267
Django Jwt
مشکلات سینتکسی و امنیتی پروژه جنگویی زیر رو پیدا کنید و توی کامنتا بگید:
https://github.com/alireza-fa/django-jwt-auth
توضیح:
این یک پروژه با تمرکز بر روی پیاده سازی یک سیستم احراز هویت امن jwt در جنگو هست که در حال توسعه دادنه.
توکن ها انکریپت شده(AES) سمت فرانت اند ارسال میشوند
وریفای اکانت با ارسال otp کد انجام میشود.
کاربر ها فقط با وارد کردن شماره موبایل و دریافت کد شش رقمی عملیات لاگین رو انجام میدن
3 267
خب دوستان!
نکته اخر سلنویم لایبری قدرتمند و پرکاربردیه
این اموزش ابتدایی برای سلنویم بود تا شما رو باهاش آشنا کنم تو آموزش های بعدی و پیشرفته تر سعی میکنم براتون ویدیو بگیرم و یه پروژه باحالو با سلنیوم پیاده کنیم 🔥
هرگونه سوال در این بخش داشتید میتونید ازم بپرسید
https://t.me/Devilsfer
3 267
سلام دوستان بنده نیما هستم. ادمین جدیدتون😁
از اشنایی باشما خوشحالم. قراره باهمدیگه مباحث پایتون نسبتا پیشرفته رو مرور کنیم با کتابخونه های کاربری کار کنیم و چیزای جدید یاد بگیریم
امروز و در دوره های بعدی در مورد کتابخونه سلنویم بحث میکنیم
سلنیوم(Selenium) چیست؟
سلنیوم یک کتابخانه محبوب و قدرتمند است که برای اتوماسیون مرورگر وب استفاده میشود. به عبارت دیگر، با Selenium میتوانید یک مرورگر وب را به وضعیتی مشخص تنظیم کنید و عملیات مختلفی مثل کلیک کردن روی المانها، وارد کردن متن، جستجو در وبسایتها و حتی تستهای اتوماتیک انجام دهید.
ایجاد یک مرورگر وب با Selenium:
نصب Selenium:
ابتدا باید کتابخانه Selenium را در نصب کنید. از دستور زیر برای نصب استفاده کنید:
pip install selenium
وارد کردن کتابخانه:
در ابتدا، میبایست کتابخانه Selenium را وارد کنید:
from selenium import webdriver
ایجاد مرورگر:
سپس، با استفاده از کد زیر، یک نمونه از مرورگر مورد نظرتان مثل Google Chrome ایجاد میکنید:
توجه کنید که قبلش باید درایور مرورگرتون رو نصب کنید.
مثلا اگه قراره از کروم استفاده کنید سرچ کنید درایور کروم براتون میاد و آخرین نسخه رو دانلود کنید.
driver = webdriver.Chrome()
در اینجا، ما از مرورگر Chrome استفاده کردهایم. شما میتوانید به جای Chrome() مرورگر دیگری مانند Firefox() یا Edge() را انتخاب کنید.
باز کردن یک صفحه وب:
حالا که مرورگر ایجاد شده است، میتوانید یک صفحه وب را باز کنید. به عنوان مثال:
driver.get("https://www.example.com")
بستن مرورگر:
در نهایت، میتوانید مرورگر را ببندید:
driver.quit()
این همه! حالا شما میتوانید مرورگر وب را با Selenium ایجاد کرده و از آن برای اجرای عملیاتهای مختلف روی وبسایتها استفاده کنید.
#selenium #python
@khat_academy
3 267
۵ لایسنس متن باز محبوب:
1.MIT:
این لایسنس به توسعهدهندگان اجازه میدهد کدهای منبع را بازنشر کرده و تغییراتی روی آنها اعمال کنند، حتی بدون اینکه اون کدو اپن سورسش کنن. این لایسنس محدودیتهای کمتری نسبت به سایر لایسنسها دارد.
2.GNU General Public License (GPL):
تفاوتی که این لایسنس با MIT دارد این است که اگر کدی تحت لایسنس GPL استفاده شود، کدهای منبع تغییر داده شده نیز باید تحت GPL منتشر شوند.
3.Apache:
به توسعهدهندگان اجازه میدهد کدهای خود را بازنشر کرده و تغییراتی روی آنها اعمال کنند. همچنین این لایسنس حقوق برند را نیز حفظ میکند و لایسنسی است که برای پروژههای تجاری نیز مناسب است.
4.BSD:
به توسعهدهندگان اجازه میدهد کدهای خود را بازنشر کرده و تغییراتی روی آنها اعمال کنند. شرایط این لایسنس بسیار ساده و کوتاه است و برخی نسخههای آن حقوق برند را نیز حفظ میکنند.
5.Creative Commons:
این لایسنس بیشتر برای محتوایی مانند مقالات، موسیقی و ... استفاده میشود. این لایسنس به صاحبان حقوق اجازه میدهد تا محتوای خود را با محدودیتهایی مانند نام برده شدن و عدم استفاده تجاری به اشتراک بگذارند.
3 267
#موقت
سه تا نیرو نیاز داریم برای پروژه جدیدمون و پروژه های آینده
گرافیست:
به یه گرافیست کار نیاز داریم که طراحی بصریش خوب باشه
سئو کار
طراح ui ux
اگه شرایطش رو دارید بهم پیام بدید:
@alireza_fai
اگه کسی رو میشناسید ممنونتون میشم بهش اطلاع بدید🙏
3 267
توضیح:
این نمودار y مساویه با speedup و x مساویه با تعداد هسته ها.
ایده آل ترین حالت ممکن اینه که توی کد های ما اصلا serial کد وجود نداشته باشه. در این صورت سرعت برنامه ما با اضافه شدن هسته بیشتر و بیشتر تر میشه.
اگه فقط ده درصد serial داشته باشیم توی شونزده هسته سرعت ده برابر میشه و از اون به بعد تفاوت آنچنانی نمیکنه.
اگه پنجاه درصد کد serial باشه از دو برابر بیشتر نمیشه
پس قبل از هر چیزی شما باید بررسی کنید ایا برنامه ی شما اصلا مناسب مالتی پراسس بودن هست یا خیر.
3 267
قانون امدال:
بنظرتون اگه بی نهایت core داشته باشیم، می تونیم اجار شدن یک برنامه رو از مثلا 100 ساعت به یک ثانیه برسونیم؟
قانون امدال (AMDAHL) بهمون کمک میکنه تا به جوابمون برسیم.
قبلش بصورت خلاصه بگم serial چیه:
به قسمتی از کد که اصلا توانایی این رو نداره مالتی پراسس بشه رو serial میگیم.
فرمول امدال:
speedup ≤ 1 / (S + ((1 - S) / N) )
S:
عددی بین 0 تا یک که بر اساس حالا بگیم درصد کد های serial هستش.
N:
تعداد core ها.
مثال:
خب بیاید در نظر بگیریم که بیست درصد از کد های ما serial هستش و چهار تا core داریم.
در این صورت میشه:
1 / (0.2 + ((1 - 0.2) / 4)) = 2.5
در این صورت speed up ما میشه دو و نیم برابر و کد ما دو و نیم برابر سریع تر شده.
اما حالا در نظر بگیرید ما 40 تا core داریم، فکر میکنید سرعتمون چقدر افزایش پیدا می کنه؟؟
خب بیایم حساب کنیم:
1 / (0.2 + ((1 - 0.2) / 40)) = 4.5
بله! speedup ما میشه 4.5 برابر!
احتمالا بر خلاف تصورتون، با افزایش تعداد پراسس ها سرعت ما بصورت صعودی افزایش پیدا نمیکنه. در واقع بر اساس درصد serial کد های ما از یه جایی به بعد دیگه سرعت بالا نمیره و فقط بار اضافی بوجود میاد
پست بعدی با نمودار یه سری توضیحات بیشترو میدم
پس قانون امدال چیه؟
قانون Amdahl یک فرموله که بهبود احتمالی عملکرد رو که با اضافه کردن پراسس های بیشتر به یک برنامه که شامل بخشهای ترتیبی (غیرموازی) و موازی است رو میده.
#note
@khat_academy
3 267
چرا کروم کلی پراسس ایجاد میکنه!؟
خیلیا از کروم ایراد میگیرن و یا کلا ازش استفاده نمی کنن و فکر می کنن خیلی گنگ هستن.
اما خوبی هایی که کروم داره رو در نظر نگرفتن که قراره با هم بررسیش کنیم
برای هر چیز، پراسس جداگونه:
کروم اولین پراسسی که باز میکنه Browser هستش که کاملا مشخصه چیه.
بعدی GPU process که از کارت گرافیک برای کار های گرافیکی استفاده می کنه.
پراسس بعدی Storage service هستش که ذخیره سازی دیتا رو به عهده داره.
همچنین برای هر extension که دارید و new tab که باز میکنید یه پراسس جداگونه هم باز می کنه.
خب سوال اینه همه اینکارا واسه چیه؟
اولین دلیل امنیت هستش
مثلا اگه تو یکی از تب ها شما لینک مخربی رو باز کردید فقط اون پراسس دچار مشکل میشه و اگه بخوان به مثلا پسورد های شما دسترسی پیدا کنن کارشون خیلی سخت میشه چون توی پراسس جدا قرار داره.
دلیل دیگه که میتونم بگم استفاده از چند core هستش که باعث speed up و افزایش سرعت برنامه میشه. در واقع یه برنامه مالتی پراسس رو اجرا می کنه.
@khat_academy
3 267
🔴 ساخت کلید میانبر برای ران کردن کد درvscode
ما میتونیم برای run python file in terminal کلید میانبر تعریف تعریف کنیم .
1. وارد قسمت file بشید (بالای صفحه سمت چپ گزینه اول)
2.روی گزینه preferencesکلیک کنید .
3.روی گزینه keyboard shortcustکلیک کنید .
4.درقسمت search عبارت run python file in terminalرا تایپ کنید .
5.روی +کنار متن کلیک کنید .
6.پنجره ای براتون باز میشه که ازتون میخواد کلید هایی که مدنظرتون رو وارد کنید
برای مثال من کلید هایctrl+shift+D را وارد کردم (توجه داشته باشید هر دکمه ای که دلتون میخواد رو میتونید وارد کنید )
7.درنهایت enter رو میزنید و براتون ست میشه و میتونین برای ران کردن کدتون از کلید های میانبر استفاده کنید.
@khat_academy
3 267
IPC and RPC
فرق بین IPC و RPC چیه؟
احتمالا تا الان RPC رو شنیدید که Remote procedure call هستش و حالا یه فانکشن و قطعه کدی رو از راه دور اجراش می کنه.
اما بیاید از یه دید دیگه به قضیه نگاه کنیم.
توی IPC ما داخل یک سیستم می تونیم بین core های cpu ارتباط برقرار کنیم و در واقع پراسس های مختلف با هم در تماس باشن.
اما توی RPC اتفاقی که میوفته اینه که ما می تونیم با پراسسی که توی یک سیستم دیگه قرار داره ارتباط برقرار کنیم که خب یه تکنولوژی باحال و خیلی خیلی کاربردیه
توضیح کوتاهی که medium داده:
IPC:
روشی که پراسس های موجود توی یک سیستم رو بهشون توانایی تعامل داشتن با همدیگه رو میده
RPC:
یک نوع خاص از ارتباطه که میتونه توی یه سیستم یا اینکه توی شبکه بین سیستم های مختلف باشه
https://medium.com/concepts-for-dummies/ipc-vs-rpc-12001178281f
@khat_academy
