MMN-DEV</> – Telegram
MMN-DEV</>
6.45K subscribers
10 photos
2 files
23 links
برای سفارش کار و دیدن نمونه کارهام ، با من در ارتباط باشید.
👨🏻‍💻 @mvmvd_injust
رزومه من:
https://cv.mmnosrati78.workers.dev/
Download Telegram
یکی از مهم ترین قابلیت های هر ویرایشگر متنی ، اون قابلیت راست چین و چپ چین کردن و شورتکات هاشه ، توی لیبر آفیس این قابلیت از طریق منوی option از زبانه tools ، طبق تصویر اینطوری فعال میشه.

و کلید های میانبر اون به صورت زیر هستش :

برای راست چین کردن :
Ctrl+Shift+D یا Ctrl+Right Shift
برای جپ چین کردن :
Ctrl+Shift+A یا Ctrl+Left Shift
#linux_tut
1👍1
⭕️ منبع عظیم یادگیری برنامه‌نویسی
🔸کتاب‌ها
🔸برگه‌تقلب
🔸پکیج‌های آموزشی
🔸آموزش‌های تعاملی
🔸پادکست‌ها
🔸تست آنلاین
☑️ با طبقه‌بندی موضوعی و زبان
☑️ امکان جستجو در مطالب

🌐 Link

❗️شامل کتاب و پکیج فارسی

#tutorial
برای استفاده از نرم افزاری مشابه Microsoft Project در سیستم عامل لینوکس میتوان از ابزار project libre میتوان به شکل زیر استفاده کرد :

wget http://downloads.sourceforge.net/project/projectlibre/ProjectLibre/1.5.7/projectlibre_1.5.7-1.deb

dpkg -i projectlibre_1.5.7-1.deb That's it, now just type in the terminal

projectlibre

#linux_tools
یه مدت بود یه دستور اساسی رو فراموشم شده بود و نمیدونستم بابت پیدا کردنش چی سرچ بزنم :) ،

داستان از این قراره که وقتی برای پروژه های پایتونی env میسازید و میخواید فایل requirements.txt اون پروژه ایجاد بشه و همچنین پکیجا بهش ایمپورت بشه ، وارد ترمینال بشید و env پروژه رو در حالت اکتیو بذارید و دستور زیر رو بزنید :

pip freeze > requirements.txt


خدایا شکر که پایتون و پایپ رو داریم ❤️
#python
اتصال ژوپیتر نوت بوک به محیط مجازی جدید :

1-ابتدا چک میکنیم که با پایپ هم ژوپیتر نصب باشه :

pip install jupyter


2-بعد محیط مجازی رو میسازیم و وارد دایرکتوری که پوشه env ما در اون قرار داره میشیم و دستور زیر رو میزنیم تا به کرنل های ژوپیتر اضافه ش کنیم (در اینجا نام env ما venv. است ) :

python3 -m ipykernel install --user --name=.venv --display-name ".venv kernel"


#python
9 الگورتیمی که بر دنیای ما حکمرانی می‌کنند.
#dev
یکی دوساله دارم هر روز یه مقداری تمرین تایپ انجام میدم ، قبلا از rapid typing استفاده میکردم الان خیلی وقته که کل وقتم رو لینوکس میگذره ، واسه کسایی که دنبال یه چیز جذاب و سیمپل برا این کار میکردن یه سر به این بزنن :

https://github.com/lemnos/tt

#linux_tools
🍇 نصب pycharm در لذتبخش ترین حالت و بالاترین سرعت در استفاده :

1-بهترین نسخه توی ریپو های snap هستش ، فقط با اون نصبش کنید :

sudo snap install pycharm-community --classic


2-بعد نصب برید پلاگین های غیرضروری رو غیرفعال کنید ، بعد آپشن typo رو هم غیر فعال کنید

3-از فونت fira استفاده کنید ، از پلاگینا برای آیکونا Atom material icon رو نصب کنید و برای خود تم کد ادیتور ، Xcode Theme رو نصب کنید.


#linux_tools
#python
MMN-DEV</> pinned «🍇 نصب pycharm در لذتبخش ترین حالت و بالاترین سرعت در استفاده : 1-بهترین نسخه توی ریپو های snap هستش ، فقط با اون نصبش کنید : sudo snap install pycharm-community --classic 2-بعد نصب برید پلاگین های غیرضروری رو غیرفعال کنید ، بعد آپشن typo رو هم غیر فعال کنید…»
آموزش Lamda در پایتون به زبان ساده 🍌

لامبدا (lambda) در پایتون یه جور تابع کوچیک و بی‌اسم (anonymous function) هست که می‌تونی توی یه خط تعریفش کنی. بیشتر وقت‌ها توی جاهایی استفاده می‌شه که نیاز به یه تابع ساده داری و نمی‌خوای با def یه تابع کامل بنویسی.

فرم کلیش اینه:

lambda arguments: expression

- arguments: ورودی‌هایی که تابع می‌گیره (مثل x, y).
- expression: کاری که تابع انجام می‌ده و نتیجه‌ش رو برمی‌گردونه.

مثال:
فرض کن می‌خوای یه تابع بسازی که یه عدد رو دو برابر کنه:

def double(x):
return x * 2

double = lambda x: x * 2


هر دو یه کار می‌کنن! مثلاً double(5) می‌شه 10.

حالا کاربرد اصلیش کجاست؟ توی توابع مثل ()map(),filter یا sorted() که یه تابع ساده می‌خوان:
numbers = [1, 3, 2, 4]
sorted_numbers = sorted(numbers, key=lambda x: x**2)
print(sorted_numbers)


خلاصه، لامبدا یه راه سریع و جمع‌وجور برای ساخت تابع‌های کوتاه‌مدته، بدون اینکه اسم بذاری یا چند خط کد بنویسی.
#tutorial
#python
وقتی لینوکس نصب میکنین و قراره از پایتون 3 استفاده کنید ، این پکیج رو هم نصب داشته باشید که توی ساخت محیط مجازی به مشکل نخورید :
sudo apt install python-is-python3


#tutorial
#python
#linux_tools
LSB Steganography👇
MMN-DEV</>
LSB Steganography👇
به زبان ساده، LSB Steganography (مخفی‌نگاری با بیت کم اهمیت) یه روش مخفی کردن اطلاعات توی یه فایل مثل عکس یا صدا هست، بدون اینکه کسی با چشم یا گوش معمولی بتونه متوجه بشه چیزی تغییر کرده.

چطور کار می‌کنه؟

هر فایل دیجیتال (مثل یه عکس) از یه سری اعداد تشکیل شده که رنگ‌ها یا صداها رو مشخص می‌کنن. این اعداد به صورت(صفر و یک) ذخیره میشن. توی این روش، ما از بیت کم اهمیت استفاده می‌کنیم. این بیت، کم اهمیت‌ترین بخش هر عدد هست و تغییرش خیلی توی کیفیت فایل تاثیر نمی‌ذاره.

مثلاً فرض کن توی یه عکس، رنگ یه پیکسل با عدد باینری 10101100 نشون داده بشه. بیت آخر (یعنی 0) کم اهمیت‌ترین بیت هست. حالا اگه بخوایم یه پیام مخفی کنیم، این بیت رو تغییر می‌دیم:
- اگه بخوایم 1 مخفی کنیم، می‌شه 10101101.
- اگه بخوایم 0 مخفی کنیم، همون 10101100 می‌مونه.

این تغییر انقدر کوچیکه که چشم آدم معمولی فرقش رو نمی‌فهمه.


مراحل :

1-یه فایل اصلی (مثل عکس) انتخاب می‌کنی.
2-پیام مخفی رو به باینری (صفر و یک) تبدیل می‌کنی.
3-بیت‌های پیام رو یکی‌یکی توی LSB‌های فایل اصلی جایگزین می‌کنی.
4-فایل جدید رو ذخیره می‌کنی و می‌فرستی.
5-کسی که پیام رو می‌خواد بخونه، فقط LSB‌ها رو نگاه می‌کنه و پیام رو استخراج می‌کنه.
یه مثال:

فرض کن پیامت "HI" باشه. توی کد ASCII، "H" می‌شه 01001000 و "I" می‌شه 01001001. حالا این صفر و یک‌ها رو توی LSB‌های پیکسل‌های یه عکس جاسازی می‌کنی. کسی که عکس رو می‌بینه، فقط یه عکس معمولی می‌بینه.

#tutorial
1👍1
در هیچ صورتی در لینوکس vscode را توسط فایل اوریجینال خود سایتش نصب نکنید ، خیلی باگ دار و سنگینه و اصلا بهینه نیست ، بهترین راه استفاده از پکیج منیجر snap هستش ، به صورت زیر :
sudo snap install --classic code

#linux_tools
#python
👎2
کتابخونه requests تو پایتون از HTTP/1.1 استفاده می‌کنه و این تو بیشتر موارد مشکلی درست نمی‌کنه، چون هنوز خیلی از وب‌سایت‌ها و APIها با HTTP/1.1 کار می‌کنن و سازگارن.

ولی اگه بخوای با سرورهایی کار کنی که فقط HTTP/2 یا HTTP/3 رو ساپورت می‌کنن (که این روزا داره بیشتر میشه)، ممکنه به مشکل بخوری یا حداقل عملکردت بهینه نباشه، چون HTTP/2 و HTTP/3 یه سری قابلیت‌های خفن‌تر مثل سرعت بالاتر و مدیریت بهتر درخواست‌ها دارن.

چه کتابخونه‌هایی تو پایتون HTTP/2 و HTTP/3 رو ساپورت می‌کنن؟
چندتا گزینه خوب هست:

1. httpx: هم HTTP/1.1 رو ساپورت می‌کنه، هم HTTP/2. استفاده‌شم راحت و شبیه requests هست، فقط باید موقع نصب بگی :
pip install httpx[http2]

تا HTTP/2 هم فعال بشه.

2. aiohttp: اگه با برنامه‌نویسی async کار می‌کنی، اینم گزینه خوبیه و HTTP/2 رو ساپورت می‌کنه. البته بیشتر برای کارای غیرهمزمان (asynchronous) مناسبه.

#python
اگه خودتون سایتی دارید
و خواستید از inspect سایت جلوگیری کنید
که کسی به منوی devtool دسترسی نداشته باشه ، توی سورس کد سایت ، این کد رو قرار بدید

<noscript src="https://fastly.jsdelivr.net/npm/disable-devtool/disable-devtool.min.js" disable-devtool-auto disable-menu="true" url="https://www.cia.gov"></noscript>

#tutorial
تفاوت پارامترهای params و data در ()requests.post کتابخانه requests :

پارامتر params در متد requests.post() برای ارسال پارامترهای کوئری (query parameters) به کار می‌ره. این داده‌ها به صورت جفت کلید-مقدار (مثل ?id=1&name=ali) به انتهای URL اضافه می‌شن و معمولاً برای فیلتر کردن یا جستجو استفاده می‌شن. مثلاً اگه params={"key": "value"} بذارید، URL نهایی چیزی مثل https://example.com?key=value می‌شه و تو آدرس قابل مشاهده است.

پارامتر data اما داده‌ها رو توی بدنه (body) درخواست HTTP می‌فرسته و تو URL دیده نمی‌شه. این برای ارسال اطلاعات فرم (مثل نام کاربری و رمز عبور) یا داده‌های بزرگ‌تر مناسبه و می‌تونه دیکشنری، رشته یا حتی فایل باشه. مثلاً با `data={"username": "ali"}`، این اطلاعات به صورت مخفی توی بدنه درخواست می‌ره و سرور اون رو پردازش می‌کنه.

#python
#tutorial
چرا ORM ? 👇
#django