Random shi- tutorials – Telegram
Random shi- tutorials
206 subscribers
229 photos
27 videos
12 files
546 links
محتوای مفید برنامه نویسی و لینوکسی از سراسر دنیا ✍️
جوین شدن شما موجب شادی روح و روان ما میگردد😗
Download Telegram
Forwarded from TheAliBigdeli Channel
از اونجایی که در جریان کیفیت کم صدای دوره FastAPI بودم یسری اسکریپت نوشتم که حجم و کیفیت صدا رو تقویت کنه، سعی می کنم در اسرع وقت در هفته جاری ویدئو های قبلی رو با ویدئو های با کیفیت تر جایگزین کنم

#course
#fastapi
#annoucement
Forwarded from TheAliBigdeli Channel
enhancer_bulk.py
4.9 KB
اینم اسکریپتی که گفته بودم برای افزایش کیفیت حجم صدا که می تونین توی یه دایرکتوری input تمام ویدئو ها رو بگذارید و بعد داخل کد تنظیمات دلخواه رو ست و اجراش کنین و منتظر بمونین. به صورت parallel و یا با gpu هم اجرا میشه فقط باید اول ffmpeg رو دانلود و روی سیستمتون قرار بدید و دایرکتوری درست رو بهش برای اجرا بدید.
چندتا عامل رو توی کد در نظر گرفتم COMPRESSOR و EXPANDER و GAINER به همراه یسری تنظیمات بیشتر برای کیفیت و فشرده سازی که باعث میشه خروجی مناسبی رو بتونین بگیرید

#python
#code
لینکدین یک پالیسی جدید گذاشته که دیفالت از دیتاهاتون استفاده میکنه برای آموزش مدل های جنرتیو
اگر خواستید از این لینک میتونید خاموشش کنید
http://linkedin.com/mypreferences/d/settings/data-for-ai-improvement
Forwarded from KALI
اصلی‌ترین کارهایی که usermod می‌تونه بکنه (با مثال)

@kali_signal

1. تغییر نام کاربری (rename)
وقتی می‌خوای olduser رو به newuser تغییر بدی و فولدر خونه رو هم جابجا کنی:

sudo usermod -l newuser -d /home/newuser -m olduser

-l نام لاگین رو عوض می‌کنه، -d مسیر home رو می‌ده و -m باعث میشه محتوای home هم منتقل بشه.


2. تغییر دایرکتوری خانه (home) بدون انتقال
فقط آدرس جدید رو ثبت کنی (بدون -m):

sudo usermod -d /home/newpath username

اگر خواستی فایل‌ها هم منتقل شن، -m بذار.


3. تغییر شل لاگین کاربر
مثلاً تنظیم zsh به‌عنوان شل:

sudo usermod -s /bin/zsh username

(-s یا --shell).


4. اضافه کردن کاربر به گروه (بدون حذف گروه‌های قبلی)
نکته: اگر فقط -G بدی، گروه‌های قبلی حذف میشه؛ برای نگهداریِ گروه‌های قبلی از -a (append) استفاده کن:

sudo usermod -a -G docker,git username

این خط username رو به گروه‌های docker و git اضافه می‌کنه و عضویت قبلی رو حفظ می‌کنه. خیلی مهمه؛ اگر -a رو نزنی، کاربر از بقیه گروه‌ها پاک میشه.


5. قفل و باز کردن حساب کاربری
قفل (غیرفعال کردن لاگین):

sudo usermod -L username

بازکردن:
sudo usermod -U username

قفل در واقع ! رو جلوی hash پسورد می‌ذاره؛ یعنی لاگین محلی غیرممکن میشه.


6. تعیین تاریخ انقضای حساب
اگر می‌خوای بعد از تاریخ مشخصی اکانت غیرفعال بشه:

sudo usermod -e 2026-01-01 username

تاریخ به فرمت YYYY-MM-DD.


7. تغییر UID یا GID
مثلاً تغییر UID کاربر (مواظب باش: فایل‌ها ممکنه متعلقیت‌شون mismatch بشه):

sudo usermod -u 1500 username
sudo usermod -g staff username    # primary group

بعد از تغییر UID بهتره مالکیت فایل‌های قبلی رو هم اصلاح کنی (chown -R).


8. تنظیم فیلد توضیحات (GECOS)
برای اسم کامل یا ایمیل مدیر:

sudo usermod -c "Ali Hedari, Dev" username


@kali_signal
1
Forwarded from جنگولرن
دستور flush توی جنگو چکار میکنه؟

این دستور اینجوری اجرا میشه:
python manage.py flush

چکار میکنه؟
همه دیتاهای دیتابیس، بجز دیتاهای جدول migrations رو پاک میکنه. در واقع TRUNCATE میکنه.

سوال: TRUNCATE چیه؟
دستور TRUNCATE ربطی به جنگو نداره و دستور SQL هست. اینجوری معمولا نوشته میشه
TRUNCATE TABLE felan

فلان هم اسم جدولی هست که میخوای truncate کنی. این دستور همه دیتای جدول رو حذف میکنه، با این تفاوت که مثل DELETE لاگ نمیشه و خیلی سریع هست. لذا خطرناک هم هست . و البته identity یا همون Auto Increment رو ریست میکنه.

برای دیدن کد ع sql ع دستور flust می تونید بنویسید:
python manage.py sqlflush

راستی بعد از flush ، جنگو post_migrate میکنه.

نظر عمو جی پی تی در مورد post_migrate:

سیگنال post_migrate برای این طراحی شده که بعد از هر بار همگام‌سازی دیتابیس (migrate یا flush)، داده‌ها و تنظیمات لازم دوباره ساخته بشن.
چیزهایی که معمولا انجام میده:
ایجاد پرمیشن‌ها برای تمام مدل‌ها (هر بار بعد از flush، جدول auth_permission دوباره پر میشه).
ساخت گروه‌ها یا داده‌های پیش‌فرض که بعضی اپلیکیشن‌ها نیاز دارن.
مثلا جنگو برای اپلیکیشن auth، همیشه پرمیشن‌های add, change, delete, view رو دوباره ایجاد می‌کنه.
اجرای هر سیگنالی که تو پروژه به post_migrate وصل کردی.
مثلا اگر خودت کدی نوشتی که بعد از post_migrate یه کاربر پیش‌فرض یا داده‌ی خاص بسازه، اون هم دوباره اجرا میشه.


این post_migrate جالبه

اینجوری تستش کنید:
یه migrate الکی بزنید، پیغام میده که چیزی برای مایگریت نیست، اما کارهایی روی دیتابیس کرده.
مثلا برو و توی جدول auth_permission یکی از codename هارو تغییر بده. مثلا یه عدد آخرش اضافه کن.
بعد دوباره migrate رو بزن و باز میگه چیزی برای مایگریت نیست.
حالا برو جدول auth_permission رو ببین. یه سطر بهش اضافه شده

مقدارش چیه؟؟؟
اگه میدونی یا تست ش کردی، جواب رو کامنت کن 😁😈
🔥1
Forwarded from localhost (Yousef Taheri)
خیلی وقتا نصب پکیج در لینوکس با خطا رو به‌ رو میشه.
Debian/Ubuntu:

sudo apt update && sudo apt --fix-broken install
پاکسازی کش: sudo apt clean
رفع قفل‌ها: sudo rm -f /var/lib/dpkg/lock-frontend

RHEL/CentOS:

sudo yum clean all && sudo yum makecache
حل وابستگی: sudo yum install --skip-broken

همیشه فضای دیسک، مخازن و DNS رو هم بررسی کنید.
Forwarded from Linuxor ?
توی بعضی ریپو های گیت دیدید کامیت ها چقدر منظم نوشته می‌شن ؟ مثلا عکس بالا رو ببینید اول همشون نوشته fix یا feat که البته اینارو دستی نمی‌نویسن و یا اگه دستی بنویسن ممکنه توی بعضی کامیتا فراموش کنن.
یه ابزار هست بهتون کمک میکنه قبل از کامیت پیام کامیت رو آماده کنید و طبق قالب خاصی براتون کامیت رو درست می‌کنه. فقط کافیه نصبش کنید و بجای
git commit
بزنید
git cz
ازتون سولای لازم رو می‌پرسه و کامیت رو براتون آماده می‌کنه


نصب‌:
commitizen.github.io/cz-cli

@Linuxor
انواع مدل‌های رشد تخصصی در دنیای نرم‌افزار
(در دنیای توسعه نرم‌افزار چه شکلی باشم بهتر است)

وقتی درباره‌ی متخصصان حوزه‌ی نرم‌افزار صحبت می‌کنیم، همیشه این سوال پیش می‌آید: آیا بهتر است فقط در یک زمینه عمیق شویم یا در چند حوزه مختلف همزمان؟
برای پاسخ به این سوال، سه مدل رایج وجود دارد که در دنیا با استعاره‌های حروف لاتین معرفی می‌شوند:

- مدل I-Shaped
فردی با تخصص عمیق در یک حوزه خاص، اما در سایر حوزه‌ها دانشی ندارد ( شاید بهتر است بگوییم، دانش محدود نسبت به سایر حوزه‌ها ).
مثلاً یک برنامه‌نویس فقط در جاوا بسیار حرفه‌ای است، اما از معماری نرم‌افزار یا مدیریت دیتابیس چیزی نمی‌داند.

مزیت: تسلط بالا در یک موضوع
ضعف: ناتوانی در درک یا تعامل با سیستم‌های پیچیده

- مدل Dash-Shaped (Generalist)
فردی که در موضوعات زیادی دانش سطحی دارد، اما در هیچ‌کدام عمیق نیست.
مثل کسی که از همه زبان‌ها و ابزارها کمی بلد است، اما نمی‌تواند در یک پروژه جدی مسئولیت سنگین بر عهده بگیرد.

مزیت: انعطاف‌پذیری بالا
ضعف: نداشتن عمق تخصص

- مدل T-Shaped
ترکیبی از دو مدل قبلی؛ یعنی دانش عمیق در یک زمینه اصلی + دانش سطحی از حوزه‌های مجاور.
به‌عنوان مثال: یک Backend Developer که در طراحی API و دیتابیس متخصص است، اما در UI، DevOps و امنیت هم شناخت اولیه دارد.

مزیت: هم توانایی حل مسائل پیچیده را دارد و هم می‌تواند با تیم‌های مختلف همکاری مؤثر داشته باشد.

ارتباط نوع پروژه با شکل تخصص


در پروژه‌های کوچک که معمولاً یک یا دو نفر مسئولیت چند نقش را بر عهده می‌گیرند، مدل Dash-Shaped مفیدتر است. چون یک نفر باید همزمان کدنویسی کند، تست بنویسد، کمی طراحی UI انجام دهد و حتی کارهای DevOps را هم پوشش دهد.

اما در پروژه‌های بزرگ، مدل‌های I-Shaped و T-Shaped ضروری هستند. چون پروژه پیچیده است، هر حوزه نیازمند متخصص عمیق خودش است، و در عین حال افرادی لازم‌اند که بین تیم‌ها پل بزنند (T-Shaped).

پیشنهاد من این است که ابتدا Dash-Shaped باشید؛ یعنی در ابتدای مسیر کاری، دانش کلی و سطحی از حوزه‌های مختلف به دست آورید تا درک وسیع‌تری از دنیای نرم‌افزار پیدا کنید.

سپس در یک حوزه اصلی عمیق شوید و به‌مرور، شناخت کاربردی خود از سایر حوزه‌ها را تکمیل کنید. این ترکیب شما را به یک متخصص T-Shaped تبدیل می‌کند؛ مدلی ارزشمند که هم در تیم‌های کوچک و هم در پروژه‌های بزرگ می‌تواند اثرگذار و متمایز باشد.

موفق باشید! 🌹

@srfirouzi_channel
Forwarded from Linuxor ?
می‌دونستین نیازی نیست برای ولیدیت کردن شماره تلفن لایبری ینویسید گوگل خودش یدونه نوشته ااگه خواستید اپلیکیشن جهانی بنویسید خیلی جلوتون می‌ندازه چون بقیه کشورا شماره هاشون یکم دنگو فنگ داره مثلا تو بریتانیا شماره ها ممکنه یا ده رقمی باشن یا یازده رقمی

github.com/google/libphonenumber

@Linuxor
Forwarded from Linuxor ?
ساختن README همیشه یه کار سخت بوده، کلی زحمت می‌کشیم کد های پروژه رو می‌زنیم اما وقتی می‌رسه به README نمی‌دونیم توش چی بنویسیم‌؟ و جالب اینجاست اگه README خوب نباشه کسی جذبش نمی‌شه و ممکنه کل زحماتمون هدر بره. اینجا کلی README که خوب نوشته شدن رو جمع کرده ازش می تونید برای پروژه های خودتون الگو بگیرید:


github.com/matiassingers/awesome-readme

@Linuxor
Forwarded from Linuxor ?
شاید شما سختی راه برنامه نویس شدن رو احساس نکنید ولی افراد تازه کار خیلی سردرگم هستن که چطوری یاد بگیرن، چطوری مشارکت کنن، چطوری سیستم هارو رشد بدن و حتی چطوری با دیگران ارتباط برقرار کنن.

آقای Robert L. Read یه کتابچه آنلاین درست کرده توش همه این موارد رو گفته

braydie.gitbooks.io/how-to-be-a-programmer/content/en

@Linuxor
Forwarded from Linuxor ?
می‌دونستین HTML یه تگ داره به اسم kbd که باهاش می‌تونید دکمه های کیبرد رو توی متن به خصوص شورتکاتارو نشون بدید؟


@Linuxor
Forwarded from KALI
🔹 /bin → User Binaries
اینجا برنامه‌ها و ابزارهای پایه‌ای کاربر (مثل ls, cp, mv, cat) قرار دارن. بدون این پوشه، خیلی از دستورات ضروری لینوکس کار نمی‌کنن.

🔹 /sbin → System Binaries
برنامه‌ها و دستورات مدیریتی سیستم مثل shutdown, reboot, fdisk اینجاست. بیشتر برای ادمین (root) لازمه.

🔹 /etc → Configuration Files
فایل‌های تنظیمات سیستمی و نرم‌افزارها. مثلاً فایل تنظیمات شبکه (/etc/network/interfaces) یا تنظیمات DNS (/etc/resolv.conf).

🔹 /dev → Device Files
هر سخت‌افزار یا وسیله در لینوکس به شکل یک فایل نشون داده می‌شه. مثلاً:

/dev/sda → دیسک سخت

/dev/null → سیاه‌چاله برای داده‌ها 😅


🔹 /proc → Process Information
دایرکتوری مجازی برای نمایش اطلاعات پروسه‌ها و هسته لینوکس. مثلاً /proc/cpuinfo مشخصات CPU رو نشون می‌ده.

🔹 /var → Variable Files
فایل‌هایی که تغییر می‌کنن: مثل لاگ‌ها (/var/log)، فایل‌های کش، صف پرینت، دیتابیس‌های موقت.

🔹 /tmp → Temporary Files
محل فایل‌های موقتی. هر برنامه می‌تونه اینجا فایل بسازه، ولی بعد ریبوت معمولا پاک می‌شه.

🔹 /usr → User System Resources
برنامه‌ها و کتابخونه‌هایی
1
Forwarded from VPN CLUB
🔧 معرفی ابزار YogaDNS
🧠 یه برنامه کاربردی برای ویندوزه که می‌تونه همه‌ی درخواست‌های DNS سیستمت رو کنترل کنه و از مسیر امن عبور بده — بدون اینکه لازم باشه بری تو تنظیمات ویندوز دست ببری!

🛡 چی کار می‌کنه؟
درخواست‌های DNS رو می‌گیره و از طریق پروتکل‌های رمزگذاری‌شده مثل DoH (DNS over HTTPS)، DoT، یا DNSCrypt می‌فرسته.
از لو رفتن آی‌پی واقعی جلوگیری می‌کنه (مخصوصاً موقع استفاده از VPN).
می‌تونی براش قانون بذاری: مثلا بگی دامنه‌های خاص از یه DNS خاص استفاده کنن یا فقط از مسیر VPN برن.
با سرویس‌هایی مثل NextDNS هم سازگاره.

🎮 به درد گیمرا و کاربرای حساس به حریم خصوصی هم می‌خوره — مخصوصاً برای کسایی که می‌خوان جلوی DNS Leak رو بگیرن یا با فیلترینگ بازی‌ها مقابله کنن.


https://www.yogadns.com

آموزش فعالسازی نسخه پرو یوگا دی ان اس با لایسنس قانونی
Forwarded from وب آموز (m J)
Media is too big
VIEW IN TELEGRAM
⭕️ کلاهبرداری پرواربندی (Pig Butchering) خطرناکترین کلاهبرداری این روزهای اینترنت است.

🔹 روایت کامل و گفت‌وگو با «محمد جرجندی» کارشناس جرایم سایبری در قسمت پنجم برنامه «پیگیر»، ایران وایر.

🆔 @Webamoozir
Forwarded from Linuxor ?
ورژن ها معمولا سه بخشی ان :

<Major>.<Minor>.<Patch>

که تغییرات اصلی و پایه ای بخوان انجام بدن Major رو تغییر می‌دن بخوان مثلا فیچری اضافه کنن Minor رو یه واحد اضافه میکنن و اگه تغییر جزئی باشه مثلا فیکس کردن یه باگ Patch رو تغییر می‌دن.

هیچ کسی هم هیچ اجباری نکرده به این شکلی ساخته بشه اگه چیز بهتری داشتین بسازین بقیه هم ازتون ایده می‌گیرن. (در واقع این یه رشته نمادینه، برای اپ های اندرویدی ورژن کد که به صورت int هست اون مهمه)

حالا یه شرکتی می‌آد می‌گه من چهار تاییش میکنم چون توی یه ورژن خاص و یکسان ممکنه کانفیگ های متفاوتی بدم. مثلا یه بیلد برای فلان نوع دستگاه یه بیلد برای فلان نوع دستگاه دیگه. ورژن همون ورژنه ولی کانفیگ تغییر کرده اگه عدد Patch رو اضافه کنن سردرگم می‌شن. چون هیچ کدی تو برنامه تغییر نکرده فقط یه سری کانفیگ برای بیلد تغییر کرده که مثلا برای دستگاه های مختلف سازگار باشه.

در واقع اگه کسی از استاندارد semver یا همون سه تایی استفاده کنه فقط سه تای اول مهمه و تغییر بقیش اصولا نباید منجر به تغییر کد یا چیزی شده باشه و باید یکسان باشه.

@Linuxor
Forwarded from Linuxor ?
Media is too big
VIEW IN TELEGRAM
تست نوشتن یکی از مهم‌ترین بخش‌های توسعه وب‌سایت و نرم‌افزاره و یکی از معروف‌ترین ابزارها برای وب Playwright هستش که باهاش تست های خودکار برای مرورگر می‌تونید بنویسید زبان‌های برنامه‌نویسی مختلف مثل JavaScript، Python و C#، ساپورت می‌کنه باهاش می‌تونید تست‌های end-to-end بنویسید تست‌های چندصفحه‌ای و حتی سناریوهای همزمان رو به راحتی اجرا کرد. اگه آشنایی با تست نوشتن ندارید این ویدیوی معرفیش رو ببینید و ببینید چطوری به سادگی تست ها نوشته می‌شن و اجرا می‌شن هوش مصنوعی هم داره و خطا هاتون رو فیکس می‌کنه چیز معروفیه اکثرا ازش استفاده می‌کنن و حتی امکان ریکورد کردن زنده هم داره و به صورت زنده هرجایی از صفحه وب کلیک کنید کدش رو براتون می‌نویسه. (ویدیو رو کامل ببینید)

@Linuxor