Syntax | سینتکس
Відкрити в 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
Показати більше3 257
Підписники
-424 години
+27 днів
-230 днів
Архів дописів
3 256
یکی از روش های خوب و پر سرعت:
میایم یک دیکشنری تعریف میکنیم.
درون آرایه پیمایش میکنیم.
اولین قدم چک میکنیم عددمون فاصلش با تارگت چقدره (یکی از اشتباهاتی که بعضی از دوستان کردن این بود که چک کردن اگه عدد از target بزرگ تر بود کلا بیخیالش شه بره بعدی اما ممکنه عدد منفیم تو لیست باشه. پس هر کی اینکارو کرده بدون در نظر گرفتن بقیه موارد تست رو رد نمیکنه)
بعد از اینکه بدست آوردیم که عددمون چقدر با target فاصله داره. توی دیکشنری دنبال اون عددی میگردیم که عنصر ما با اون جمع بشه مساوی با تارگت میشه.
توی دیکشنری اعداد رو به این صورت ذخیره میکنیم
{value: index}
سرچ درون لیست با o(1) انجام میشه.
اگه توی دیکشنری نبود عنصر رو با ایندکسش توی دیکشنری اضافه میکنیم و به پیمایش ادامه میدیم
تو بهترین حالت کمتر از o(n) هستش و تو بدترین حالت o(n) میشه.
مثال توی پایتون:
class Solution(object):
def twoSum(self, nums, target) -> list:
checked: dict = {}
for index, num in enumerate(nums, start=0):
index2 = checked.get(target - num)
if index2 is not None:
return [index2, index]
checked[num] = index
return [0, 0]
مثال توی گو:
Go
func twoSumWithMakeMapAndExtraAssign(nums []int, target int) []int {
checked := make(map[int]int)
for index, num := range nums {
complete := target - num
if _, ok := checked[complete]; ok {
return []int{checked[complete], index}
}
checked[num] = index
}
return []int{}
}
نکته:
از نظر مصرف memory بهینه نیست. روش بهینه تر رو توی کامنت ها بگید.
#Problems
@Syntax_fa3 256
یکی از روش های خوب و پر سرعت:
میایم یک دیکشنری تعریف میکنیم.
درون آرایه پیمایش میکنیم.
اولین قدم چک میکنیم عددمون فاصلش با تارگت چقدره (یکی از اشتباهاتی که بعضی از دوستان کردن این بود که چک کردن اگه عدد از target بزرگ تر بود کلا بیخیالش شه بره بعدی اما ممکنه عدد منفیم تو لیست باشه. پس هر کی اینکارو کرده بدون در نظر گرفتن بقیه موارد تست رو رد نمیکنه)
بعد از اینکه بدست آوردیم که عددمون چقدر با target فاصله داره. توی دیکشنری دنبال اون عددی میگردیم که عنصر ما با اون جمع بشه مساوی با تارگت میشه.
توی دیکشنری اعداد رو به این صورت ذخیره میکنیم
{value: index}
سرچ درون لیست با o(1) انجام میشه.
اگه توی دیکشنری نبود عنصر رو با ولیو ایندکسش ذخیره میکنیم و به پیمایش ادامه میدیم
تو بهترین حالت کمتر از o(n) هستش و تو بدترین حالت o(n) میشه.
مثال توی پایتون:
Python
class Solution(object):
def twoSum(self, nums, target):
checked = dict()
for index, num in enumerate(nums, start=0):
complete = target - num
if checked.get(complete):
return [checked[complete], index]
checked[num] = index
return [0, 0]
solution = Solution()
print(solution.twoSum([3, 6, 4, 2, 8, 0], 6))
مثال توی گو:
Go
func twoSumWithMakeMapAndExtraAssign(nums []int, target int) []int {
checked := make(map[int]int)
for index, num := range nums {
complete := target - num
if _, ok := checked[complete]; ok {
return []int{checked[complete], index}
}
checked[num] = index
}
return []int{}
}
نکته:
از نظر مصرف memory بهینه نیست. روش بهینه تر که از نظر فضایی رو توی کامنت ها بگید.
#Problems
@Syntax_fa3 256
1. Two Sum
مسئله ی اول:
یک آرایه داریم و یک target
کاری که باید بکنید این است درون آرایه دو عدد را پیدا کنید که جمع آنها مساوی با target شود و این جفت عدد را در output نشان دهید.
اگر جفت عدد پیدا نشده در خروجی
[0, 0]
نشان دهید.
(آرایه را در پایتون همان لیست در نظر بگیرید.)
بهینه ترین کد فردا قرار میگیرد(همراه با توضیح جواب رو توی کامنت ارسال کنید تا بهترین جواب با اسم خودتون قرار بگیره)
#Problems
@Syntax_fa
3 256
📌معرفی کتابخانه opencv در پایتون :
📍کتابخانه cv2 یا OpenCV (Open Source Computer Vision) یک کتابخانه متنباز است که برای برنامه نویسی بصری در زمینه بینایی ماشین و پردازش تصویر استفاده میشود.
📍OpenCV
ابزارها، توابع و الگوریتمهای مختلفی را برای تشخیص الگوها، تشخیص چهره، استخراج ویژگیها، پردازش تصویر و ویدیو، و بسیاری از وظایف مرتبط با بینایی ماشین فراهم میکند.
📍با استفاده از کتابخانه cv2 میتوانید عملیات مختلفی روی تصاویر و ویدیوها انجام دهید، از جمله خواندن و نوشتن تصاویر و ویدیوها، تبدیل فضای رنگی، تشخیص ویژگیها و الگوها، تعیین نقاط کلیدی، تطبیق الگو، تعیین وضعیت و جهت، تغییر اندازه و پیوستگی تصاویر، و بسیاری دیگر از عملیات پردازش تصویر.
📍کتابخانه cv2 به زبان پایتون پیادهسازی شده است و با استفاده از آن میتوانید در پروژههای پایتون خود از قابلیتهای پردازش تصویر استفاده کنید.
✅برای نصب کتابخونه opencv از دستور زیر استفاده کنید :
pip install opencv-python
#معرفی_کتابخانه
#python
@Syntax_fa3 256
import cv2
import time
import datetime
cap = cv2.VideoCapture(0)
face_cascade = cv2.CascadeClassifier(
cv2.data.haarcascades + "haarcascade_frontalface_default.xml")
body_cascade = cv2.CascadeClassifier(
cv2.data.haarcascades + "haarcascade_fullbody.xml")
detection = False
detection_stopped_time = None
timer_started = False
SECONDS_TO_RECORD_AFTER_DETECTION = 5
frame_size = (int(cap.get(3)), int(cap.get(4)))
fourcc = cv2.VideoWriter_fourcc(*"mp4v")
while True:
_, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
bodies = face_cascade.detectMultiScale(gray, 1.3, 5)
if len(faces) + len(bodies) > 0:
if detection:
timer_started = False
else:
detection = True
current_time = datetime.datetime.now().strftime("%d-%m-%Y-%H-%M-%S")
out = cv2.VideoWriter(
f"{current_time}.mp4", fourcc, 20, frame_size)
print("Started Recording!")
elif detection:
if timer_started:
if time.time() - detection_stopped_time >= SECONDS_TO_RECORD_AFTER_DETECTION:
detection = False
timer_started = False
out.release()
print('Stop Recording!')
else:
timer_started = True
detection_stopped_time = time.time()
if detection:
out.write(frame)
# for (x, y, width, height) in faces:
# cv2.rectangle(frame, (x, y), (x + width, y + height), (255, 0, 0), 3)
cv2.imshow("Camera", frame)
if cv2.waitKey(1) == ord('q'):
out.release()
cap.release()
break
cv2.destroyAllWindows()
3 256
🖥 کد ساخت دوربین امنیتی OpenCV Python :
🔹این کد یک برنامه است که دوربین را فعال میکند و تشخیص چهره و بدن انسان را در ویدیویی که توسط دوربین ضبط میشود، انجام میدهد.
اگر تشخیص داده شود که چهره یا بدنی در ویدیو وجود دارد، برنامه شروع به ضبط ویدیو میکند. پس از تشخیص از بین رفتن چهره یا بدن، برنامه تا 5 ثانیه دیگر ادامه میدهد و سپس ضبط را متوقف میکند.
🔹 ویدیوهای ضبط شده با فرمت mp4 و با نامهای مختلف برای هر زمان ضبط شدهاند.
🔺به طور خلاصه، این برنامه قابلیت تشخیص چهره و بدن انسان را در ویدیو فراهم میکند و در صورت تشخیص، ویدیویی را ضبط میکند.
#code
#python
@Syntax_fa
3 256
حل مسئله و الگوریتم
قراره هر شب حدود ساعت ده یک مسئله رو توی کانال قرار بدم تا با هم حلش کنیم.
اول از همه مسئله های وب سایت leetcode رو قرار میدم تا با هم حلش کنیم.
از مسائل مبتدی شروع میکنیم تا برسیم به سخت ترین ها.
هدفمون اینه تا آخر سال 1402 حدود 90 تا مسئله رو با هم حل کنیم و کلی حل مسئلمون رو تقویت کنیم 🔥
بهترین جواب هر مسئله فرداش توی کانال قرار میگیره.
پس اگه دوست دارید حتما هشتگ problems رو از این به بعد دنبال کنید
(جواب مسئله با زبان پایتون و یا گو قرار میگیره)
#problems
@Syntax_fa
3 256
♨️معرفی سایت تم هایvscode :
https://vscodethemes.com/?type=dark&sortBy=updatedAt
تم هاش خیلی خوشگلن پیشنهاد میکنم حتما یه نگاه بندازید😍🔥
#vscode
#python
@Syntax_fa
3 256
🚥 تمرین پایتون
امنیت اجتناب ناپذیر:
🏷 رادین میخواهد برای امنیت سایت خود، برای هر کاربر یک آیدی تصادفی و امن ایجاد کند.
برنامه ابتدا باید لیستی از آیدیهای موجود را دریافت کرده و سپس یک آیدی جدید و امن ایجاد کند و خروجی دهد.
آیدی امن باید شامل ۵ کاراکتر عددی و حروف(a تا Z) تصادفی(random) باشد و نباید درون لیست آیدیهای موجود از قبل، وجود داشته باشد
مثال
ورودی:
["123AB", "12Abc", "Ab12c"]
خروجی:
"Qwer1"
در ورودی لیستی شامل آیدیهای موجود از قبل وجود دارد، در خروجی باید یک آیدی امن که درون لیست ورودی وجود نداشته باشد چاپ شود.
#practice
@Syntax_fa
3 256
📌معرفی کتابخانه Requests در پایتون :
‼️کتابخانه
requests یکی از محبوبترین کتابخانههای استفاده شده در زبان برنامهنویسی پایتون برای ارسال درخواستهای HTTP است. این کتابخانه به برنامهنویسان امکان میدهد تا با استفاده از متدهای مختلفی مانند GET، POST، PUT، DELETE و... درخواستهای HTTP را به سرورها ارسال کنند و نتایج را دریافت کنند.
‼️کتابخانه requests یک رابط ساده و آسان برای کار با پروتکل HTTP است. با استفاده از این کتابخانه، میتوانید درخواستهای HTTP را به سادگی ایجاد کنید، پارامترها و هدرها را تنظیم کنید و پاسخهای دریافتی را بررسی کنید.
‼️برای استفاده از کتابخانه requests، ابتدا باید آن را نصب کنید. میتوانید از ابزار مدیریت بستههای پایتون مانند pip استفاده کنید:
pip install requests
بعد از نصب، میتوانید کتابخانه را در برنامهی پایتون خود وارد کنید و از توابع و کلاسهای آن استفاده کنید.
#معرفی_کتابخانه
#python
@Syntax_fa3 256
چرا گولنگ توی چین محبوب و پر استفاده هستش؟
https://news.ycombinator.com/item?id=8872400#:~:text=More%20and%20more%20companies%20are,It%20just%20fills%20the%20gap.
خلاصه:
تو چین یکی از مشکلاتی که دارن اینه کسب و کارشون ممکنه با رشد خیلی زیادی مواجه بشه(با توجه به جمعیتی که دارن).
برای همین زبانی مثل گو که پرفورمنس خوبی داره و قابلیت اسکیل کردنش خوبه، به یکی از گزینه های محبوب تبدیل شده.
#go
@Syntax_fa
3 256
سئو چیست
سئو (SEO) یا بهینه سازی برای موتورهای جستجو، مجموعهای از فعالیتهایی است که در طراحی و کدنویسی سایت، تدوین استراتژی محتوایی، تولید محتوا و لینکسازی خارجی انجام میدهیم تا جایگاه بهتری در نتایج جستجوی گوگل کسب کرده و بازدیدکننده بیشتری برای سایت جذب کنیم.
چند گام در سئو
قدم اول بهینه سازی سئوی داخلی که شامل موارد زیر است
نتخاب کلمات کلیدی مرکزی
تولید محتوای باکیفیت
بهینه سازی محتوا و صفحات
قدم دوم بهینه سازی سئوی خارجی
قدم سوم تحلیل و آنالیز سایت
3 256
📝جمع بندی متد های set در پایتون
#پارت_اول
📍متد add
این متد برای اضافه کردن آیتم به set به کار می رود.
_ نکته: در این متد اگر عنصری که قصد اضافه کردن آن را دارید از قبل وجود داشته باشد، پایتون از اضافه کردن آن خودداری می کند.
دارای یک پارامتر ورودی است که در جدول زیر آن را بررسی می کنیم.
📍متد clear
این متد تمام آیتم های موجود درون set را به طور کامل حذف می کند.
فاقد پارامتر ورودی می باشد.
📍متد copy
این متد یک کپی از set مورد نظر ایجاد می کند.
فاقد پارامتر ورودی می باشد.
📍متد difference
این متد یک مجموعه جدید برگشت می دهد که حاوی آیتم های یونیکی است که در مجموعه اول وجود دارد ولی در مجموعه دوم وجود ندارند است
دارای یک پارامتر ورودی است
📍متد difference_update
این متد آیتم های تکراری در دو مجموعه را حذف می کند.
_ این متد با متد difference() متفاوت است زیرا در متد difference() یک مجموعه جدید ساخته می شود و آیتم تکراری از آن حذف می شود و مجموعه اصلی دست نخورده باقی می ماند اما در این متد آیتم تکراری از مجموعه اصلی حذف می شود.
دارای یک پارامتر ورودی است
#methods
#python
@Syntax_fa
3 256
رامین ۲۴ سالشه و ۶ ساله که در حوزه برنامه نویسی فعالیت داره و به تازگی از طریق جاب آفر به سوئد مهاجرت کرده و در این قسمت توضیح میده که از کجا و چطوری یادگیری برنامه نویسی رو شروع کرده؟
https://www.youtube.com/watch?v=_55_UBJ6F6M&t=1479s
3 256
سوالات مصاحبه شرکت پیشگامان یارا کیش برای پوزیشن کارآموزی پایتون بک اند دولوپر
(سوالات برای چند سال پیشه که برام ارسال کرده بودن. پس موردی نداره قرارش بدم)
دوست دارید خودتونو به چالش بکشید؟
سوالات رو حل کنید و برام ارسال کنید. بررسی میکنم و بهتون جوابش رو میدم.
فرض کنید واقعیه و شرکت براتون ایمیل کرده
#Interview
@Syntax_fa
3 256
معرفی وب سایت
https://transform.tools/
توضیح:
با استفاده از این وب سایت میتونید به سادگی ساختار مختلف را به ساختار های دیگه انتقال بدید.
برای مثال توی عکس اومدیم json رو به struct تبدیلش کردیم
#transform_tools
@Syntax_fa
