سلام رفقا 🖖
خوب و خوش و تندرست باشید. 😊
دوستان میخواستم تو این پست یه مسئله مهم در برنامهنویسی رو توضیح بدم که اغلب فک میکنن یکیه ولی درحالیکه دو مفهوم اساسی و جدا هستن. 🧐 دقت کنین فقط برای پایتون نیست و تو همهٔ زبانها این دو مفهوم هستن.
1. کتابخانه (Library) 📚
2. فریمورک (Framework) 🏗️
یه کتابخونه مجموعهای از کدهای قابل استفادهٔ مجدد که میتوانید در پروژههای خود به آنها دسترسی داشته باشید. ✅
ولی
یه فریمورک محیطی هست که برای توسعهٔ نرمافزار فراهم شده و شامل مجموعهای از ابزارها، کتابخانهها و الگوهای طراحی هستش. ⚙️
از کتابخونهها برای انجام کارها استفاده میشه، مثلاً ویرایش عکس، پردازشهای ریاضی و محاسباتی و... ولی از فریمورکها برای ساخت یک نوع خاص برنامه استفاده میشه، مثلاً طراحی سایت. 🌐
پس دقت کنین، شما تو کتابخونه به هر روشی که دلتون میخواد میتونین برنامههاتونو گسترش بدین و کنترل بیشتری روی کد دارین، 🕹️ ولی در فریمورک باید طبق ساختار فریمورک جلو برین و از اون تبعیت کنین. 👮♂️
یه فریمورک که داخل پایتون هستش و میتونیم نام ببریم django 🐍 که باید طبق اون سایت رو جلو ببریم و حتما url ها و view هارو طبق ساختاری که اون بهمون میگه درستشون کنیم. 😑
کتابخونه هام اگه مثال بخواین قبلا در معرفی های کتابخونه ها کلی مثال زدم
خوب و خوش و تندرست باشید. 😊
دوستان میخواستم تو این پست یه مسئله مهم در برنامهنویسی رو توضیح بدم که اغلب فک میکنن یکیه ولی درحالیکه دو مفهوم اساسی و جدا هستن. 🧐 دقت کنین فقط برای پایتون نیست و تو همهٔ زبانها این دو مفهوم هستن.
1. کتابخانه (Library) 📚
2. فریمورک (Framework) 🏗️
یه کتابخونه مجموعهای از کدهای قابل استفادهٔ مجدد که میتوانید در پروژههای خود به آنها دسترسی داشته باشید. ✅
ولی
یه فریمورک محیطی هست که برای توسعهٔ نرمافزار فراهم شده و شامل مجموعهای از ابزارها، کتابخانهها و الگوهای طراحی هستش. ⚙️
از کتابخونهها برای انجام کارها استفاده میشه، مثلاً ویرایش عکس، پردازشهای ریاضی و محاسباتی و... ولی از فریمورکها برای ساخت یک نوع خاص برنامه استفاده میشه، مثلاً طراحی سایت. 🌐
پس دقت کنین، شما تو کتابخونه به هر روشی که دلتون میخواد میتونین برنامههاتونو گسترش بدین و کنترل بیشتری روی کد دارین، 🕹️ ولی در فریمورک باید طبق ساختار فریمورک جلو برین و از اون تبعیت کنین. 👮♂️
یه فریمورک که داخل پایتون هستش و میتونیم نام ببریم django 🐍 که باید طبق اون سایت رو جلو ببریم و حتما url ها و view هارو طبق ساختاری که اون بهمون میگه درستشون کنیم. 😑
کتابخونه هام اگه مثال بخواین قبلا در معرفی های کتابخونه ها کلی مثال زدم
👍4❤3👏1
DOS.py
17.2 KB
سلام دوستان
این یک سورس dos هستش که توسط یکی از ادمینها @Haj_DARVISH آماده شده و ازش میتونید استفاده کنید
هدف از این سورس حمله به یک سری از تارگت های اسرائیل و آمریکا بوده و استفاده اشتباه ازش مشخصا شامل خود شخص استفاده کننده میشه پس لطفا درست ازش استفاده کنید
کتابخانه های استفاده شده:
os,sys,time,socket,random,requests,threading,re,json,ssl,who's,asyncio,platform,warnings,string,urllib,colorama,concurrent,datetime
📱 https://t.me/comma_code_python1
📱 https://www.instagram.com/comma.code?igsh=Y2VoNzNzOGRsaHNx
📱 https://youtube.com/@comma_code_youtube?si=ATebfVntbEldsG5K
این یک سورس dos هستش که توسط یکی از ادمینها @Haj_DARVISH آماده شده و ازش میتونید استفاده کنید
هدف از این سورس حمله به یک سری از تارگت های اسرائیل و آمریکا بوده و استفاده اشتباه ازش مشخصا شامل خود شخص استفاده کننده میشه پس لطفا درست ازش استفاده کنید
کتابخانه های استفاده شده:
os,sys,time,socket,random,requests,threading,re,json,ssl,who's,asyncio,platform,warnings,string,urllib,colorama,concurrent,datetime
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👏1
سلام بچه ها چطورید
اقا ما تصمیم داریم ی چالش CTF گونه باحال راه اندازی کنیم
داستانش چیه؟
قراره که به دوتا تیم تقسیم بشیم. ی blue team و ی red team
همونطور که خودتون میدونید وظیفه بلو تیم اینه که اسیب پذیری های ی برنامه رو تشخیص بده و پچشون کنه تا کسی نتونه بهش نفوذ کنه و وظیقه رد تیم هم اینه که به برنامه نفوذ کنه ی جورایی...
خلاصه ، توی این چالش بلو تیم باید سعی کنه ی برنامه توسعه بده که از کاربر ی لایسنس دریافت کنه و بعد از اینکه برنامه چک کرد لایسنس درسته یا نه ، به کاربر اجازه ورود رو بده یا اینکه بگه لایسنست اشتباهه
بلو تیم همچین برنامه ای رو با python یا C باید توسعه بده و فایل کامپایل شده رو تحویل رد تیم بده ، اینجا رد تیم دست به کار میشه و باید سعی کنن که بدون وارد کردن لایسنس به برنامه وارد بشن
هرکی از رد تیم تونست همچین کاریو بکنه میاد به بلو تیم میگه که اقا من تونستم به برنامتون نفود کنم... بلو تیم دوباره باید سعی کنه اسیب پذیری ها رو شناسایی کنه و جلوی رد تیم رو بگیره...
این چالش جایزه ای نخواهد داشت و فقط جهت سرگرمی برگزار میشه
اگه دوست داشتید شرکت کنید واسم پیام بفرستید :
@ir_379
اقا ما تصمیم داریم ی چالش CTF گونه باحال راه اندازی کنیم
داستانش چیه؟
قراره که به دوتا تیم تقسیم بشیم. ی blue team و ی red team
همونطور که خودتون میدونید وظیفه بلو تیم اینه که اسیب پذیری های ی برنامه رو تشخیص بده و پچشون کنه تا کسی نتونه بهش نفوذ کنه و وظیقه رد تیم هم اینه که به برنامه نفوذ کنه ی جورایی...
خلاصه ، توی این چالش بلو تیم باید سعی کنه ی برنامه توسعه بده که از کاربر ی لایسنس دریافت کنه و بعد از اینکه برنامه چک کرد لایسنس درسته یا نه ، به کاربر اجازه ورود رو بده یا اینکه بگه لایسنست اشتباهه
بلو تیم همچین برنامه ای رو با python یا C باید توسعه بده و فایل کامپایل شده رو تحویل رد تیم بده ، اینجا رد تیم دست به کار میشه و باید سعی کنن که بدون وارد کردن لایسنس به برنامه وارد بشن
هرکی از رد تیم تونست همچین کاریو بکنه میاد به بلو تیم میگه که اقا من تونستم به برنامتون نفود کنم... بلو تیم دوباره باید سعی کنه اسیب پذیری ها رو شناسایی کنه و جلوی رد تیم رو بگیره...
این چالش جایزه ای نخواهد داشت و فقط جهت سرگرمی برگزار میشه
اگه دوست داشتید شرکت کنید واسم پیام بفرستید :
@ir_379
🔥5❤1
پایتون | python | برنامهنویسی | comma.code
سلام بچه ها چطورید اقا ما تصمیم داریم ی چالش CTF گونه باحال راه اندازی کنیم داستانش چیه؟ قراره که به دوتا تیم تقسیم بشیم. ی blue team و ی red team همونطور که خودتون میدونید وظیفه بلو تیم اینه که اسیب پذیری های ی برنامه رو تشخیص بده و پچشون کنه تا کسی نتونه…
البته بگم این چالش توسط امید طراحی شده و اونا جلو میبرن
من صرفا شما رو لینک میکنم به گروه چالش
من صرفا شما رو لینک میکنم به گروه چالش
سلام دوستان! حالتون چطوره؟ 😊
بحث امروز درباره تفاوت زبانهای کامپایلری و مفسری! 🧐
دوتا تفاوت اصلی دارن ✌️
1. نحوه اجرا (Execution): 👨🦽👨🦼
• زبانهای مفسری:👨🦽
کدها خط به خط اجرا میشن.
این یعنی اگر یه تابع رو در خط 10 تعریف کرده باشین و در خط 5 اون رو فراخوانی کنین، احتمالاً با خطا مواجه میشین. چرا؟ چون مفسر (interpreter) هنوز به تعریف تابع نرسیده.
برای مثال: JavaScript (اگه اسکریپتهای JavaScript رو در HTML/CSS قرار بدین، معمولاً باید در انتهای صفحه قرار بگیرن تا به عناصر صفحه دسترسی داشته باشه
و Python که بهصورت خط به خط اجرا میشه.
• زبانهای کامپایلری: 👨🦼
کامپایلر (compiler) کل کد رو یکجا به کد ماشین (machine code) یا (زبان اسمبلی) تبدیل میکنه.
پس، مثال قبلی رو اگه بخوایم بگیم اگر تابعی رو قبل از تعریفش فراخوانی کنین، کامپایلر میتونه این مشکل رو شناسایی کنه و خطا بده (یا به روشی این مشکل رو هندل کنه)، ولی دیگه زمان اجرا (runtime) با این مشکل مواجه نمیشین.
برای مثال: زبانهای Java و خانواده
C (C, C++, C#)
2. فرآیند تبدیل به کد ماشین (Machine Code Conversion): ⚙️
• زبانهای کامپایلری:
ابتدا، کد توسط کامپایلر به کد ماشین تبدیل میشه و سپس احرا میشه و فایل کامپایل شده مثل فایل های exe در ویندوز میمونه و اون فایل رو فقط ران میگیرین
• زبانهای مفسری:
این زبان ها یک مفسر یا (interpreter) دارن که کد منبع رو خط به خط میخونه و همون لحظه به دستورات ماشین تبدیل و اجرا میکنه.
کد ماشین به وجود اومده بعد از به پایان رسیدن اجرای برنامه از حافظه حذف میشه.
حالا یه سوال اساسی.
چرا تبدیل کد زبان پایتون به فایلهای اجرایی (exe) برای محافظت از کد منبع پیشنهاد نمیشه؟ 🤷♂
https://t.me/comma_code_python1
بحث امروز درباره تفاوت زبانهای کامپایلری و مفسری! 🧐
دوتا تفاوت اصلی دارن ✌️
1. نحوه اجرا (Execution): 👨🦽👨🦼
• زبانهای مفسری:👨🦽
کدها خط به خط اجرا میشن.
این یعنی اگر یه تابع رو در خط 10 تعریف کرده باشین و در خط 5 اون رو فراخوانی کنین، احتمالاً با خطا مواجه میشین. چرا؟ چون مفسر (interpreter) هنوز به تعریف تابع نرسیده.
برای مثال: JavaScript (اگه اسکریپتهای JavaScript رو در HTML/CSS قرار بدین، معمولاً باید در انتهای صفحه قرار بگیرن تا به عناصر صفحه دسترسی داشته باشه
و Python که بهصورت خط به خط اجرا میشه.
• زبانهای کامپایلری: 👨🦼
کامپایلر (compiler) کل کد رو یکجا به کد ماشین (machine code) یا (زبان اسمبلی) تبدیل میکنه.
پس، مثال قبلی رو اگه بخوایم بگیم اگر تابعی رو قبل از تعریفش فراخوانی کنین، کامپایلر میتونه این مشکل رو شناسایی کنه و خطا بده (یا به روشی این مشکل رو هندل کنه)، ولی دیگه زمان اجرا (runtime) با این مشکل مواجه نمیشین.
برای مثال: زبانهای Java و خانواده
C (C, C++, C#)
2. فرآیند تبدیل به کد ماشین (Machine Code Conversion): ⚙️
• زبانهای کامپایلری:
ابتدا، کد توسط کامپایلر به کد ماشین تبدیل میشه و سپس احرا میشه و فایل کامپایل شده مثل فایل های exe در ویندوز میمونه و اون فایل رو فقط ران میگیرین
• زبانهای مفسری:
این زبان ها یک مفسر یا (interpreter) دارن که کد منبع رو خط به خط میخونه و همون لحظه به دستورات ماشین تبدیل و اجرا میکنه.
کد ماشین به وجود اومده بعد از به پایان رسیدن اجرای برنامه از حافظه حذف میشه.
حالا یه سوال اساسی.
چرا تبدیل کد زبان پایتون به فایلهای اجرایی (exe) برای محافظت از کد منبع پیشنهاد نمیشه؟ 🤷♂
https://t.me/comma_code_python1
❤4👍2👏2
پایتون | python | برنامهنویسی | comma.code
سلام دوستان! حالتون چطوره؟ 😊 بحث امروز درباره تفاوت زبانهای کامپایلری و مفسری! 🧐 دوتا تفاوت اصلی دارن ✌️ 1. نحوه اجرا (Execution): 👨🦽👨🦼 • زبانهای مفسری:👨🦽 کدها خط به خط اجرا میشن. این یعنی اگر یه تابع رو در خط 10 تعریف کرده باشین و در خط 5 اون…
خب بخوایم جواب این سوال رو بدیم ببینین تقریبا تو زبان های مفسری (نه همه زبان های مفسری یه سریاشون)
وقتی کد رو کامپایل میکنیم متادیتا کد(نام متغییر، نام کلاس، نام توابع) رو در بایت کد ذخیره میکنه و وقتی دی کامپایل میکنیم همه متغییر ها و کلاس ها توابع به اسم اصلی رو از همون بایت کد میخونیه و همشون مثل روز اول بر میگردونه.
مثلا در کد زیر
اگر ما اینو کامپایل کنیم و بعد دوباره دیکامپایل کنیم تنها چیزی که تو کد دیگه نمیبینیم کامنت ها هستن که اونا هم تو اول راه موقع کامپایل کردن حذف میشن.
این هم کد دیکامپایل شده کد بالا
فقط کمی ساختار کد تو رشته ها فرق کرده و بقیه ساختار همونطور باقی مونده
وقتی کد رو کامپایل میکنیم متادیتا کد(نام متغییر، نام کلاس، نام توابع) رو در بایت کد ذخیره میکنه و وقتی دی کامپایل میکنیم همه متغییر ها و کلاس ها توابع به اسم اصلی رو از همون بایت کد میخونیه و همشون مثل روز اول بر میگردونه.
مثلا در کد زیر
class Calculator:
def __init__(self, name):
self.user_name = name
def print_hello(self):
print(f"Hello, {self.user_name}!")
def add_words(self, word1, word2):
result = word1 + " " + word2
print(f"Combined: {result}")
return result
# دریافت ورودی از کاربر
username = input("Enter your name: ")
calc = Calculator(username)
calc.print_hello()
w1 = input("Enter first word: ")
w2 = input("Enter second word: ")
calc.add_words(w1, w2)
اگر ما اینو کامپایل کنیم و بعد دوباره دیکامپایل کنیم تنها چیزی که تو کد دیگه نمیبینیم کامنت ها هستن که اونا هم تو اول راه موقع کامپایل کردن حذف میشن.
این هم کد دیکامپایل شده کد بالا
class Calculator:
def __init__(self, name):
self.user_name = name
def print_hello(self):
print('Hello, {}!'.format(self.user_name))
def add_words(self, word1, word2):
result = word1 + ' ' + word2
print('Combined: {}'.format(result))
return result
username = input('Enter your name: ')
calc = Calculator(username)
calc.print_hello()
w1 = input('Enter first word: ')
w2 = input('Enter second word: ')
calc.add_words(w1, w2)
فقط کمی ساختار کد تو رشته ها فرق کرده و بقیه ساختار همونطور باقی مونده
❤4👍2
پایتون | python | برنامهنویسی | comma.code
خب بخوایم جواب این سوال رو بدیم ببینین تقریبا تو زبان های مفسری (نه همه زبان های مفسری یه سریاشون) وقتی کد رو کامپایل میکنیم متادیتا کد(نام متغییر، نام کلاس، نام توابع) رو در بایت کد ذخیره میکنه و وقتی دی کامپایل میکنیم همه متغییر ها و کلاس ها توابع به اسم…
یه چیزی که تو پایتون زیاد میبین پوشه pycache هست برای هر پکیج و یا فایل جدا گانه ایجاد میشه این محل ذخیره بایت کد برای هر فایل هستش که موقع ران کردن کد ایجاد میشه پایتون با کش کردن بایت کد ها سرعت خودشو تقریبا 25 الی 30 درصد افزایش میده
این موقع ران شدن یه کد چک.میکنه اگه فایلی تغییر نکرده باشه دیگه بایت کد جدیدی تولید نمیکنه
این موقع ران شدن یه کد چک.میکنه اگه فایلی تغییر نکرده باشه دیگه بایت کد جدیدی تولید نمیکنه
❤4
به نظرتون اگر کد زیر رو اجرا کنیم چی خروجی رو میده:🤔
لطفا اول اجرا کن و بعد ادامه رو بخون😉
خب خروجی اینجوری میشه👇 :
😳 ولی چرا خروجی اینجوری شد؟
🔰 اینجا پارامتر x به صورت پیشفرض یک لیست خالی [] تعریف شده. اما تو زبان پایتون مقادیر پیشفرض، زمان تعریف تابع فقط یک بار محاسبه و سیو میشن
پس اگر ما تابع fun رو چند بار صدا کنیم، x به همون لیست اولیه (همونی که اولین بار ساخته شده) اشاره میکنه و تغییراتی که رو این لیست انجام میدیم برای باقی فراخونی ها هم حفظ میشه.
☁️ ریز تر که بخوام بگم:
💠 1. اولین بار که تابع فراخوانی میشه لیست خالی ساخته میشه و بعد مقدار 1 بهش اضافه میشه و حالا لیست ما [1] هستش.
💠 2. وقتی که دوباره تابع رو فراخوانی میکنیم دیگه x جدید ساخته نمیشه و به لیست آخر که [1] هستش اشاره میکنه و کاری که میخوایم رو روش انجام میده و حالا لیست ما برابر شده با [1,1]
💠 3. صدا زدن بعدی هم همین روند رو ادامه میده و لیست ما میشه [1,1,1]
✅ اضافه کنم که این اتفاق روی متغیر هایی از نوع تغییر پذیر پیش میاد چون وقتی ما تغییری روی این نوع متغییر ها انجام میدیم این تغییر روی آدرس فعلی حافظه انجام میشه ولی وقتی روی متغییر های غیر قابل تغییر عملیات انجام میدیم یک شی جدید ایجاد میشه و ارجاع به اون شی جدید اشاره میکنه . خب مشخص شد چون ارجاع در متغییر های قابل تغییر داره به همون آدرس اشاره میکنه این اتفاق پیش میاد
امیدوارم مفید بوده باشه براتون🙏 ❤️
📱 کانال تلگرام
📱 پیچ اینستاگرام
📱 چنل یوتیوب
🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤
def fun(x=[]):
x.append(1)
return x
print(fun())
print(fun())
print(fun())
لطفا اول اجرا کن و بعد ادامه رو بخون
خب خروجی اینجوری میشه
[1]
[1, 1]
[1, 1, 1]
🔰 اینجا پارامتر x به صورت پیشفرض یک لیست خالی [] تعریف شده. اما تو زبان پایتون مقادیر پیشفرض، زمان تعریف تابع فقط یک بار محاسبه و سیو میشن
پس اگر ما تابع fun رو چند بار صدا کنیم، x به همون لیست اولیه (همونی که اولین بار ساخته شده) اشاره میکنه و تغییراتی که رو این لیست انجام میدیم برای باقی فراخونی ها هم حفظ میشه.
امیدوارم مفید بوده باشه براتون
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
پایتون | python | برنامهنویسی | comma.code
به ⭐️کانال پایتونِ ما⭐️ خوش اومدی؛ جایی که کدها زنده میشن و ایدهها به واقعیت تبدیل میشدن! 🚀 چه تازهکار باشی و چه حرفه ای، اینجا کلی چیز منتظرته
حرفی سخنی انتقادی: @ir_379
حرفی سخنی انتقادی: @ir_379
❤6🔥5👍2
شاید فکر کنید که من از چت بات ها چطور استفاده میکنم 😊
یک نمونش اینه که الان با استفاده از deepseek یه تمرین گیر آوردم که قرارش بدم اینجا تا باهم حلش کنیم و راجبش بحث کنیم تا مطالب مختلفی رو یادبگیریم.
بریم برای تمرین🤓
"ماشین حساب کلمات تکراری"
#### 📜 شرح مسئله:
برنامهای بنویسید که یک رشته متنی از کاربر بگیرد و 3 ویژگی زیر را گزارش دهد:
1. لیست کلماتی که بیشتر از ۲ بار تکرار شدهاند به همراه تعداد تکرار هر کلمه.
2. طولانیترین کلمه در متن.
3. کلماتی که حروف آنها به ترتیب الفباست (مثل کلمه "ace").
#### ⚠️ ملاحظات:
- نویسههای اضافه (مانند ! , . ?) را از کلمات حذف کنید.
- به حروف کوچک و بزرگ حساس نباشد (Case-insensitive).
- اگر ورودی خالی بود، برنامه خطای مناسب برگرداند.
#### 💡 مثال خروجی:
#پایتون #چالش #برنامه_نویسی #تمرین #کاما_کد
#programing #comma_code #challenge #python_challenge #python
📱 کانال تلگرامی
📱 پیج اینستاگرام
📱 چنل یوتیوب
🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤
یک نمونش اینه که الان با استفاده از deepseek یه تمرین گیر آوردم که قرارش بدم اینجا تا باهم حلش کنیم و راجبش بحث کنیم تا مطالب مختلفی رو یادبگیریم.
بریم برای تمرین
"ماشین حساب کلمات تکراری"
#### 📜 شرح مسئله:
برنامهای بنویسید که یک رشته متنی از کاربر بگیرد و 3 ویژگی زیر را گزارش دهد:
1. لیست کلماتی که بیشتر از ۲ بار تکرار شدهاند به همراه تعداد تکرار هر کلمه.
2. طولانیترین کلمه در متن.
3. کلماتی که حروف آنها به ترتیب الفباست (مثل کلمه "ace").
#### ⚠️ ملاحظات:
- نویسههای اضافه (مانند ! , . ?) را از کلمات حذف کنید.
- به حروف کوچک و بزرگ حساس نباشد (Case-insensitive).
- اگر ورودی خالی بود، برنامه خطای مناسب برگرداند.
#### 💡 مثال خروجی:
متن ورودی: "Hello world! Hello Python. Let's code with Python. Alphabetical words like apple or bee are amazing."
# خروجی:
1. کلمات تکراری (بیش از ۲ بار):
hello: 2
python: 2
2. طولانیترین کلمه: 'alphabetical'
3. کلمات با حروف الفبایی:
['ace', 'bee']
#پایتون #چالش #برنامه_نویسی #تمرین #کاما_کد
#programing #comma_code #challenge #python_challenge #python
Please open Telegram to view this post
VIEW IN TELEGRAM