Syntax | سینتکس
Open in 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
Show more2 995
Subscribers
+624 hours
+197 days
+4630 days
Posts Archive
2 996
نکاتی در خصوص حل مسئله:
در مصاحبهها برای شغلهای مرتبط با برنامهنویسی عموماً توصیه میشود در حل مسائل و الگوریتمها از ویژگیهای خاص زبان استفاده نشود و مسائل به طور عام بدون اتکا به یک زبان ویژه حل شوند. دلایل این توصیه عبارتند از:
- در مصاحبه بررسی میشود که شخص چگونه میتواند مسئله را به طور عام حل کند، نه آنکه از یک زبان مشخص استفاده کند.
- در شرکتهای مختلف زبانهای برنامهنویسی متفاوتی مورد استفاده قرار میگیرند. پس مهم است که کاربردی بودن الگوریتمها نشان داده شود.
- بدون اتکا به زبان، باید از مفاهیم پایهای مانند ریاضیات، منطق و طراحی الگوریتم استفاده شود.
بنابراین در مصاحبهها توصیه میشود که بدون استفاده از ویژگیهای خاص زبان، مسائل را حل کرد تا قدرت تحلیل و حل مسئله فرد بهتر به نمایش گذاشته شود.
#Problems
@Syntax_fa
2 996
بهترین پاسخ:
مهدی با این تیکه کد.
کانفیگ ده گیگ رو ایشالله باهاش بره یوتیوب آموزش ببینه 👌😂
تو مسئله های بعدی با کیفیت تر پیش میریم 🔥
2 996
بهترین پاسخ:
مانی با این تیکه کد.
کانفیگ ده گیگی رو ایشالله باهاش بره یوتیوب آموزش ببینه 👌😂
نکته:
امروز یکی از ادمینای پایتونیمون برنده رو مشخص کرد. تو مسئله های بعدی جوابتون باید وابسته به زبان خاصی نباشه.
برای مثال فانکشن set قابل قبول نیست.
باید کاری که میخواید انجام بدید رو خودتون پیادش کنید
2 996
معرفی وب سایت GitHubUnwrapped
تو این وب سایت یوزرنیم گیت هابتون رو وارد کنید تا بهتون همه ی فعالیت هاتونو به شکل خیلی جذاب نشون بده.
https://www.githubunwrapped.com/
#github
@Syntax_fa
2 996
معرفی وب سایت dbdesigner
یکی از بهترین وب سایت ها برای طراحی دیاگرام دیتابیستون هستش.
حتی میتونید بعد از طراحی خروجی postgres و mysql و چند تا دیتابیس معروف دیگه رو هم بگیرید تا با یه دستور ساده توی دیتابیس هم چیزی که طراحی کردید ساخته شه.
پیشنهاد میکنم حتما حتما یکی از اولین اقدام های استارت پروژتون طراحی دیاگرام دیتابیستون باشه.
https://app.dbdesigner.net/
#database
@Syntax_fa
2 996
2. Longest Substring Without Repeating Characters
مسئله دوم
سطح: متوسط
توضیح:
رشته s را دریافت کنید و تعداد کاراکتر های بدون تکرارش را در خروجی برگردانید.
مثال:
Example 1:
Input: s = "abcabcbb"
Output: 3
Explanation: The answer is "abc", with the length of 3
Example 2:
Input: s = "bbbbb"
Output: 1
Explanation: The answer is "b", with the length of 1.
Example 3:
Input: s = "pwwkew"
Output: 3
Explanation: The answer is "wke", with the length of 3. Notice that the answer must be a substring, "pwke" is a subsequence and not a substring.
نکته:
رشته s می تواند شامل حروف انگلیسی، اعداد، سمبل ها و فاصله(space) باشد.
برای اینکه تست کنید جوابتون درسته حتما به این وب سایت سر بزنید:
https://leetcode.com/problems/longest-substring-without-repeating-characters/description/
جایزه:
به بهترین جواب کانفیگ ده گیگابایت شخصی داده میشود.
#Problems
@Syntax_fa2 996
💢 ویژگیها و قابلیتهای PyCharm
1. پیشبینی هوشمند کد (Intelligent Code Assistance): پایچارم از تکنولوژیهای پیشرفته هوش مصنوعی برای پیشبینی هوشمند کد، دیباگ و اصلاح خطاها استفاده میکند. این ویژگی باعث افزایش سرعت توسعه و کاهش خطاها میشود.
2. مدیریت پروژه (Project Management): پایچارم به شما امکان میدهد تا به راحتی پروژههای پایتونی خود را مدیریت کرده و از ویژگیهای مانند مدیریت و ایجاد محیطهای مجازی (Virtual Environments) بهره ببرید.
3. پشتیبانی از فریمورکها و کتابخانهها (Framework and Library Support): پایچارم دارای پشتیبانی کامل از اکثر فریمورکها و کتابخانههای پایتون است که به شما کمک میکند تا به بهترین شکل از این ابزارها استفاده کنید.
4. پشتیبانی از دیباگ (Debugging Support): امکان دیباگ کردن کد به شیوههای مختلف مانند اجرای مرحله به مرحله و نمایش متغیرها به شما کمک میکند تا خطاهای کد خود را به راحتی شناسایی کنید.
5. سفارشیسازی بالا (Highly Customizable): پایچارم به شما امکان میدهد تا به راحتی تمها، افزونهها و تنظیمات را سفارشی کنید تا بهترین تجربه توسعه را برای خودتان ایجاد کنید.
▪️ورژن های PyCharm
پایچارم دارای نسخههای مختلفی است که برای نیازهای گوناگون توسعهدهندگان ارائه شده است. این شامل نسخه Community، Professional و Enterprise میشود.
#python
#pycharm
@Syntax_fa
2 996
نوآوری های هوش مصنوعی؛ جدیدترین محصولات آمازون و گوگل
البته نه واسه ما :(
https://youtu.be/_2cAfiWJ6M4?si=MtUBPtqGQdEJwJhu
2 996
با عضویت ۵ نفر به داخل کانال با لینک عضویت مخصوص، کانفیگ ۱۰ گیگابایتی شخصی بگیرید
ابتدا جهت دریافت لینک عضویت به ایدی زیر پیام بدهید
@LoyalShop_Admin
بعد از عضویت ۵ نفر از طریق لینک عضویت شما مجدد به ایدی زیر اطلاع داده و کانفیگ ده گیگابایتی بگیرید
@code_crafters
2 996
ده تا از پروژه های اپن سورس ترند گیت هاب
1. esProc SPL
این یک زبان برنامه نویسی جذاب و جدید برای محاسبات داده قدرتمند است که می تواند به عنوان یک انبار داده با کارایی بالا عمل کند.
با استفاده از esProc SPL، میتوانید آن را بهعنوان یک پایگاه داده تحلیلی یا میانافزار اجرا کنید و هزاران داده ساختاریافته یا نیمهساختار یافته را برای تجزیه و تحلیل مجموعههای داده عظیم محاسبه کنید.
2. screenshot-to-code
28 هزار تا ستاره گرفته و به سرعت رو به رشده!!
یک اسکرین شات بسازید و آن را به کد (HTML/Tailwind CSS، React یا Vue یا Bootstrap) تبدیل کنید. با استفاده از GPT-4 Vision و DALL-E 3، یک پروژه واقعا شگفت انگیز!
3. plane
19 هزار ستاره.
جایگزین منبع باز برای ابزارهای مدیریت پروژه مانند Jira یا Linear. مسائل، اسپرینت ها و نقشه راه محصول.
4. pocketbase
27 هزار ستاره
لک اند پروژه با Go. قابلیت اشتراک، فایل ها، مدیریت کاربر، رابط کاربری Admin، و REST API ساده.
5. daisyui
27 هزار ستاره
کتابخانه component منبع باز برای Tailwind CSS. دارای بیش از 55 تا component بصورت built-in برای استفاد.
6. superduperdb
1 هزار ستاره
چارچوب منبع باز برای ادغام هوش مصنوعی در پایگاه داده شما برای آموزش مدل مقیاس پذیر و جستجوی برداری.
7. lencx/ChatGPT
44 هزار ستاره
برنامه اپن سورس چت جی بی تی برای دسکتاپ(ویندوز، مک و لینوکس)
8. javascript-algorithms
178 هزار ستاره
منبعی برای یادگیری الگوریتم و ساختمان داده در جاوااسکریپت.
#web_sites
@Syntax_fa
2 996
یکی از روش های خوب و پر سرعت:
میایم یک دیکشنری تعریف میکنیم.
درون آرایه پیمایش میکنیم.
اولین قدم چک میکنیم عددمون فاصلش با تارگت چقدره (یکی از اشتباهاتی که بعضی از دوستان کردن این بود که چک کردن اگه عدد از 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_fa2 996
یکی از روش های خوب و پر سرعت:
میایم یک دیکشنری تعریف میکنیم.
درون آرایه پیمایش میکنیم.
اولین قدم چک میکنیم عددمون فاصلش با تارگت چقدره (یکی از اشتباهاتی که بعضی از دوستان کردن این بود که چک کردن اگه عدد از 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_fa2 996
یکی از روش های خوب و پر سرعت:
میایم یک دیکشنری تعریف میکنیم.
درون آرایه پیمایش میکنیم.
اولین قدم چک میکنیم عددمون فاصلش با تارگت چقدره (یکی از اشتباهاتی که بعضی از دوستان کردن این بود که چک کردن اگه عدد از 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_fa2 996
1. Two Sum
مسئله ی اول:
یک آرایه داریم و یک target
کاری که باید بکنید این است درون آرایه دو عدد را پیدا کنید که جمع آنها مساوی با target شود و این جفت عدد را در output نشان دهید.
اگر جفت عدد پیدا نشده در خروجی
[0, 0]
نشان دهید.
(آرایه را در پایتون همان لیست در نظر بگیرید.)
بهینه ترین کد فردا قرار میگیرد(همراه با توضیح جواب رو توی کامنت ارسال کنید تا بهترین جواب با اسم خودتون قرار بگیره)
#Problems
@Syntax_fa
2 996
📌معرفی کتابخانه opencv در پایتون :
📍کتابخانه cv2 یا OpenCV (Open Source Computer Vision) یک کتابخانه متنباز است که برای برنامه نویسی بصری در زمینه بینایی ماشین و پردازش تصویر استفاده میشود.
📍OpenCV
ابزارها، توابع و الگوریتمهای مختلفی را برای تشخیص الگوها، تشخیص چهره، استخراج ویژگیها، پردازش تصویر و ویدیو، و بسیاری از وظایف مرتبط با بینایی ماشین فراهم میکند.
📍با استفاده از کتابخانه cv2 میتوانید عملیات مختلفی روی تصاویر و ویدیوها انجام دهید، از جمله خواندن و نوشتن تصاویر و ویدیوها، تبدیل فضای رنگی، تشخیص ویژگیها و الگوها، تعیین نقاط کلیدی، تطبیق الگو، تعیین وضعیت و جهت، تغییر اندازه و پیوستگی تصاویر، و بسیاری دیگر از عملیات پردازش تصویر.
📍کتابخانه cv2 به زبان پایتون پیادهسازی شده است و با استفاده از آن میتوانید در پروژههای پایتون خود از قابلیتهای پردازش تصویر استفاده کنید.
✅برای نصب کتابخونه opencv از دستور زیر استفاده کنید :
pip install opencv-python
#معرفی_کتابخانه
#python
@Syntax_fa2 996
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()
2 996
🖥 کد ساخت دوربین امنیتی OpenCV Python :
🔹این کد یک برنامه است که دوربین را فعال میکند و تشخیص چهره و بدن انسان را در ویدیویی که توسط دوربین ضبط میشود، انجام میدهد.
اگر تشخیص داده شود که چهره یا بدنی در ویدیو وجود دارد، برنامه شروع به ضبط ویدیو میکند. پس از تشخیص از بین رفتن چهره یا بدن، برنامه تا 5 ثانیه دیگر ادامه میدهد و سپس ضبط را متوقف میکند.
🔹 ویدیوهای ضبط شده با فرمت mp4 و با نامهای مختلف برای هر زمان ضبط شدهاند.
🔺به طور خلاصه، این برنامه قابلیت تشخیص چهره و بدن انسان را در ویدیو فراهم میکند و در صورت تشخیص، ویدیویی را ضبط میکند.
#code
#python
@Syntax_fa
2 996
حل مسئله و الگوریتم
قراره هر شب حدود ساعت ده یک مسئله رو توی کانال قرار بدم تا با هم حلش کنیم.
اول از همه مسئله های وب سایت leetcode رو قرار میدم تا با هم حلش کنیم.
از مسائل مبتدی شروع میکنیم تا برسیم به سخت ترین ها.
هدفمون اینه تا آخر سال 1402 حدود 90 تا مسئله رو با هم حل کنیم و کلی حل مسئلمون رو تقویت کنیم 🔥
بهترین جواب هر مسئله فرداش توی کانال قرار میگیره.
پس اگه دوست دارید حتما هشتگ problems رو از این به بعد دنبال کنید
(جواب مسئله با زبان پایتون و یا گو قرار میگیره)
#problems
@Syntax_fa
2 996
♨️معرفی سایت تم هایvscode :
https://vscodethemes.com/?type=dark&sortBy=updatedAt
تم هاش خیلی خوشگلن پیشنهاد میکنم حتما یه نگاه بندازید😍🔥
#vscode
#python
@Syntax_fa
Available now! Telegram Research 2025 — the year's key insights 
