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
🚥 تمرین پایتون
امنیت اجتناب ناپذیر:
🏷 رادین میخواهد برای امنیت سایت خود، برای هر کاربر یک آیدی تصادفی و امن ایجاد کند.
برنامه ابتدا باید لیستی از آیدیهای موجود را دریافت کرده و سپس یک آیدی جدید و امن ایجاد کند و خروجی دهد.
آیدی امن باید شامل ۵ کاراکتر عددی و حروف(a تا Z) تصادفی(random) باشد و نباید درون لیست آیدیهای موجود از قبل، وجود داشته باشد
مثال
ورودی:
["123AB", "12Abc", "Ab12c"]
خروجی:
"Qwer1"
در ورودی لیستی شامل آیدیهای موجود از قبل وجود دارد، در خروجی باید یک آیدی امن که درون لیست ورودی وجود نداشته باشد چاپ شود.
#practice
@Syntax_fa
2 996
📌معرفی کتابخانه Requests در پایتون :
‼️کتابخانه
requests یکی از محبوبترین کتابخانههای استفاده شده در زبان برنامهنویسی پایتون برای ارسال درخواستهای HTTP است. این کتابخانه به برنامهنویسان امکان میدهد تا با استفاده از متدهای مختلفی مانند GET، POST، PUT، DELETE و... درخواستهای HTTP را به سرورها ارسال کنند و نتایج را دریافت کنند.
‼️کتابخانه requests یک رابط ساده و آسان برای کار با پروتکل HTTP است. با استفاده از این کتابخانه، میتوانید درخواستهای HTTP را به سادگی ایجاد کنید، پارامترها و هدرها را تنظیم کنید و پاسخهای دریافتی را بررسی کنید.
‼️برای استفاده از کتابخانه requests، ابتدا باید آن را نصب کنید. میتوانید از ابزار مدیریت بستههای پایتون مانند pip استفاده کنید:
pip install requests
بعد از نصب، میتوانید کتابخانه را در برنامهی پایتون خود وارد کنید و از توابع و کلاسهای آن استفاده کنید.
#معرفی_کتابخانه
#python
@Syntax_fa2 996
چرا گولنگ توی چین محبوب و پر استفاده هستش؟
https://news.ycombinator.com/item?id=8872400#:~:text=More%20and%20more%20companies%20are,It%20just%20fills%20the%20gap.
خلاصه:
تو چین یکی از مشکلاتی که دارن اینه کسب و کارشون ممکنه با رشد خیلی زیادی مواجه بشه(با توجه به جمعیتی که دارن).
برای همین زبانی مثل گو که پرفورمنس خوبی داره و قابلیت اسکیل کردنش خوبه، به یکی از گزینه های محبوب تبدیل شده.
#go
@Syntax_fa
2 996
سئو چیست
سئو (SEO) یا بهینه سازی برای موتورهای جستجو، مجموعهای از فعالیتهایی است که در طراحی و کدنویسی سایت، تدوین استراتژی محتوایی، تولید محتوا و لینکسازی خارجی انجام میدهیم تا جایگاه بهتری در نتایج جستجوی گوگل کسب کرده و بازدیدکننده بیشتری برای سایت جذب کنیم.
چند گام در سئو
قدم اول بهینه سازی سئوی داخلی که شامل موارد زیر است
نتخاب کلمات کلیدی مرکزی
تولید محتوای باکیفیت
بهینه سازی محتوا و صفحات
قدم دوم بهینه سازی سئوی خارجی
قدم سوم تحلیل و آنالیز سایت
2 996
📝جمع بندی متد های set در پایتون
#پارت_اول
📍متد add
این متد برای اضافه کردن آیتم به set به کار می رود.
_ نکته: در این متد اگر عنصری که قصد اضافه کردن آن را دارید از قبل وجود داشته باشد، پایتون از اضافه کردن آن خودداری می کند.
دارای یک پارامتر ورودی است که در جدول زیر آن را بررسی می کنیم.
📍متد clear
این متد تمام آیتم های موجود درون set را به طور کامل حذف می کند.
فاقد پارامتر ورودی می باشد.
📍متد copy
این متد یک کپی از set مورد نظر ایجاد می کند.
فاقد پارامتر ورودی می باشد.
📍متد difference
این متد یک مجموعه جدید برگشت می دهد که حاوی آیتم های یونیکی است که در مجموعه اول وجود دارد ولی در مجموعه دوم وجود ندارند است
دارای یک پارامتر ورودی است
📍متد difference_update
این متد آیتم های تکراری در دو مجموعه را حذف می کند.
_ این متد با متد difference() متفاوت است زیرا در متد difference() یک مجموعه جدید ساخته می شود و آیتم تکراری از آن حذف می شود و مجموعه اصلی دست نخورده باقی می ماند اما در این متد آیتم تکراری از مجموعه اصلی حذف می شود.
دارای یک پارامتر ورودی است
#methods
#python
@Syntax_fa
2 996
رامین ۲۴ سالشه و ۶ ساله که در حوزه برنامه نویسی فعالیت داره و به تازگی از طریق جاب آفر به سوئد مهاجرت کرده و در این قسمت توضیح میده که از کجا و چطوری یادگیری برنامه نویسی رو شروع کرده؟
https://www.youtube.com/watch?v=_55_UBJ6F6M&t=1479s
2 996
سوالات مصاحبه شرکت پیشگامان یارا کیش برای پوزیشن کارآموزی پایتون بک اند دولوپر
(سوالات برای چند سال پیشه که برام ارسال کرده بودن. پس موردی نداره قرارش بدم)
دوست دارید خودتونو به چالش بکشید؟
سوالات رو حل کنید و برام ارسال کنید. بررسی میکنم و بهتون جوابش رو میدم.
فرض کنید واقعیه و شرکت براتون ایمیل کرده
#Interview
@Syntax_fa
2 996
معرفی وب سایت
https://transform.tools/
توضیح:
با استفاده از این وب سایت میتونید به سادگی ساختار مختلف را به ساختار های دیگه انتقال بدید.
برای مثال توی عکس اومدیم json رو به struct تبدیلش کردیم
#transform_tools
@Syntax_fa
2 996
https://t.me/chiibekhonim
برای خودمونه کانالش دوس داشتید جوین شید کتاب بهم بدیم ❤️
2 996
ابزار sqlmap چیست؟
ابزار sqlmap با زبان برنامه نویسی پایتون با هدف SQL Injection نوشته شده است.
اس کیو ال مپ یک ابزار تست نفوذ اوپن سورس است که فرایند تشخیص و بهره برداری از تزریق SQL و به دست گرفتن سرورهای پایگاه داده را خودکار می کند.
این ابزار به صورت پیشفرض روی کالی نصب شده است.
ویژگی های این ابزار
پشتیبانی کامل از MySQL، Oracle، PostgreSQL، Microsoft SQL Server، Microsoft Access، IBM DB2، SQLite، Firebird، Sybase، SAP MaxDB، Informix، MariaDB، MemSQL، TiDB، CockroachDB، HSQLDB، H2، MonetDB، Apache Derby، Amazon Redshift، Vertica، Mckoi، Presto، Altibase، MimerSQL، CrateDB، Greenplum، Drizzle، Apache Ignite، Cubrid، InterSystems Cache، IRIS، eXtremeDB و سیستم های مدیریت پایگاه داده FrontBase.
پشتیبانی کامل از 6 روش تزریق دیتابیس : boolean-based blind, time-based blind, error-based, UNION query-based, stacked queries و out-of-band
پشتیبانی از اتصال مستقیم به بانک اطلاعاتی بدون نیاز به رمز عبور از طریق تزریق SQL ، با تهیه کردنشیال های DBMS ، آدرس IP ، نام پورت و نام پایگاه داده
2 996
مرورگر تحت ترمینال
با استفاده از دستور links میتونید ادرس های خودتونو توی ترمینال ببینید و توی بخش های مختلف بچرخید و کلیک کنید مث یه وب براوزر (به صورت مینیمال البته).
مثلا توی عکس خروجی links h4mid-hosseini.ir رو میبینید.
@syntax_fa
2 996
bytes buffer and string builder
یکی از انواع داده ای که در اکثر زبانهای برنامه نویسی وجود دارد و در استفاده از آن باید دقت داشته باشیم نوع string است.
قطعه کد زیر را در نظر بگیرید:
var query string = "select "
query += "name, family "
query += "from "
query += "users "
query += "where 1 = 1 "
query += "and name = `ali` "
db.Execute(query)
زمانی که نیاز داریم تا مقدار یک رشته را تغییر دهیم نوشتن به این روش اشتباه میباشد. دلیل آن در این نهفته است که هر دفعه که شما این رشته را تغییر میدهید فارغ از متغیر پیشین یک فضای جدید در حافظه برای آن رزرو میشود. بنابراین این قطعه کد memory efficient نیست.
در بسیاری از زبانها برای چنین مسایلی از string builder استفاده میشود. در گو هم string builder را داریم و هم bytes.Buffer.
این ساختارها از byte slice در پشت صحنه استفاده میکنند و تغییرات را روی آرایه داخلی اعمال میکنند. در نتیجه نیاز به رزرو فضاهای زیاد ندارند و memory efficientتر خواهند بود.
strings.Builder :
var sbQuery strings.Builder
sbQuery.WriteString("select ")
sbQuery.WriteString("name, family ")
sbQuery.WriteString("from ")
sbQuery.WriteString("users ")
sbQuery.WriteString("where 1 = 1 ")
sbQuery.WriteString("and name = `ali` ")
db.Execute(query)
bytes.Buffer :
var btQuery bytes.Buffer = bytes.Buffer{}
btQuery.WriteString("select ")
btQuery.WriteString("name, family ")
btQuery.WriteString("from ")
btQuery.WriteString("users ")
btQuery.WriteString("where 1 = 1 ")
btQuery.WriteString("and name = `ali` ")
db.Execute(query)
حالا تابع indent را در نظر بگیرید این تابع قرار است تغییرات زیادی را در خطوط مختلف یک رشته (byte array json) اعمال نماید. پس مناسب است از بافر استفاده شود و به همین خاطر تابع مورد نظر یک bytes.Buffer دریافت میکند و خروجی را در آن قرار میدهد.
تفاوت bytes.Buffer و strings.Builder در این است که bytes.Buffer عمومیتر میباشد ولی strings.Builder برای رشته استفاده میشود.
برای تمرین هر کدوم از بچهها که میتونه یک بنچمارک بنویسه و در یک حلقه بزرگ مقدار موجود در یک رشته رو تغییر بده و همین کار رو یکبار با استفاده از bytes.Buffer و strings.Builder هم انجام بده و نتیجه مصرف memory رو با ما به اشتراک بذاره.
#string
@Syntax_fa2 996
import subprocess
import re
# Get all the Wi-Fi profiles (ssid)
out = subprocess.check_output("netsh wlan show profiles").decode()
# Filter out only profile names from the output
matches = re.findall(r"(All User Profile)(.*)", out)
# List comprehension to remove any \n \r \t and spaces
profiles = [str(match[1]).split(":")[1].strip() for match in matches]
# File object to store passwords with ssid
with open("passwords.txt", "w+") as f:
# Traversing each profile
for profile in profiles:
# try/except block to keep the script from crashing if there was an error while execution
try:
# Get password using key=clear flag
get_pass = subprocess.check_output(
f'netsh wlan show profile "{profile}" key=clear'
).decode()
# Filter out the Password line from the output
pass_by_profile = re.search(r"(Key Content)(.*)", get_pass)
# Check if the password is present or wi-fi was open
if pass_by_profile:
password = pass_by_profile.group().split(":")[1].strip()
else:
password = "THE WIFI IS OPEN"
# Write the profile name and password to the text file
f.write(f"{profile} : {password}\n")
except Exception:
continue
2 996
python
import subprocess
import re
# Get all the Wi-Fi profiles (ssid)
out = subprocess.check_output("netsh wlan show profiles").decode()
# Filter out only profile names from the output
matches = re.findall(r"(All User Profile)(.*)", out)
# List comprehension to remove any \n \r \t and spaces
profiles = [str(match[1]).split(":")[1].strip() for match in matches]
# File object to store passwords with ssid
with open("passwords.txt", "w+") as f:
# Traversing each profile
for profile in profiles:
# try/except block to keep the script from crashing if there was an error while execution
try:
# Get password using key=clear flag
get_pass = subprocess.check_output(
f'netsh wlan show profile "{profile}" key=clear'
).decode()
# Filter out the Password line from the output
pass_by_profile = re.search(r"(Key Content)(.*)", get_pass)
# Check if the password is present or wi-fi was open
if pass_by_profile:
password = pass_by_profile.group().split(":")[1].strip()
else:
password = "THE WIFI IS OPEN"
# Write the profile name and password to the text file
f.write(f"{profile} : {password}\n")
except Exception:
continue
``
@Syntax_fa2 996
📶 Get Saved Wi-Fi Passwords
⭕️این کد یک اسکریپت پایتون است که با استفاده از دستورات سیستم عامل ویندوز (netsh)، اطلاعات مربوط به شبکههای Wi-Fi موجود در رایانه را جمعآوری میکند و نامها و رمزهای عبور آنها را در یک فایل متنی ذخیره میکند.
#code
#python
@Syntax_fa
2 996
عملیات اتومیک در سخت افزار
تو این مقاله یه سری توضحات خوبی در خصوص اتومیک اپریشن داده
توضیح کوتاه:
اگه شما یک متغیری داشته باشید و قراره چندین پراسس همزمان روی این متغیر تغییری بوجود بیارن
برای مثال متغیر ما counter هستش و تمامی ترد ها میخوان counter++ کنند.
در این صورت ما میتونیم از mutex استفاده کنیم. اما بهتر از mutex استفاده از atomic operation هستند که performance بهتری داره زیرا از یک ویژگی در سی پی یو ما استفاده میکنه و میاد یک متغیر اتومیک درست میکنه که در لحظه فقط یک ترد میتونه بهش دسترسی داشته باشه و تغییراتی رو بده.
2 996
معرفی ۵ کلیدواژه بینهایت به دردبخور:
🔥 کلیدواژه How to: برای دریافت خلاصهای از نحوه استفاده و بهکارگیری چیزی.
مثال How to install python
🔥 کلیدواژه Use of: دریافت خلاصهای از نحوه کارکرد و کاربرد چیزی.
مثال: Use of python def
🔥 کلیدواژه Define: اطلاعات و تعریفات دقیق چیزی ( از جمله لغات انگلیسی و نمایش نحوه تلفظ آن به لهجههای مختلف ).
مثال: Define event
🔥 کلیدواژه Stands for: دریافت مخفف و تعریف آن واژه.
مثال: Stands for PNG
🔥 کلیدواژه System information: نمایش مشخصات سیستم مورد نظر.
مثال: System information MacBook pro m1
#five_things
!#important
@Syntax_fa
Available now! Telegram Research 2025 — the year's key insights 
