ch
Feedback
Random shi- tutorials

Random shi- tutorials

前往频道在 Telegram

محتوای مفید برنامه نویسی و لینوکسی از سراسر دنیا ✍️ جوین شدن شما موجب شادی روح و روان ما میگردد😗

显示更多
215
订阅者
-124 小时
-27
-430
帖子存档
شاید براتون جالب باشه که چی باعث میشه بعضی زبونا برای موشکا و هوا فضا انتخاب یا رد بشن، میتونید توی این پست راجبش بخونید لینک پست مارو دنبال کنید:🏃‍♂️........👨‍🦼 🔰@Rs_tutorial

Repost from KALI
🔹 /bin → User Binaries اینجا برنامه‌ها و ابزارهای پایه‌ای کاربر (مثل ls, cp, mv, cat) قرار دارن. بدون این پوشه، خیلی از دستو
🔹 /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 برنامه‌ها و کتابخونه‌هایی

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

اگر میخواین فایل پایتونی، یا هر فایل با پسوندی که میخواین رو سریع از طریق منوی new file ویندوز بسازین، این بکارتون میاد گرچه که من توی پایچارم فایلی بخوام مستقیما میسازم ولی برای یکسری فایلای بخصوص کارآمده :) لینک موحتاوا

Repost from Linuxor ?
شاید شما سختی راه برنامه نویس شدن رو احساس نکنید ولی افراد تازه کار خیلی سردرگم هستن که چطوری یاد بگیرن، چطوری مشارکت کنن، چطوری سیستم هارو رشد بدن و حتی چطوری با دیگران ارتباط برقرار کنن. آقای Robert L. Read یه کتابچه آنلاین درست کرده توش همه این موارد رو گفته braydie.gitbooks.io/how-to-be-a-programmer/content/en @Linuxor

Repost from Linuxor ?
ساختن README همیشه یه کار سخت بوده، کلی زحمت می‌کشیم کد های پروژه رو می‌زنیم اما وقتی می‌رسه به README نمی‌دونیم توش چی بنویسیم‌؟ و جالب اینجاست اگه README خوب نباشه کسی جذبش نمی‌شه و ممکنه کل زحماتمون هدر بره. اینجا کلی README که خوب نوشته شدن رو جمع کرده ازش می تونید برای پروژه های خودتون الگو بگیرید: github.com/matiassingers/awesome-readme @Linuxor

Repost from Linuxor ?
می‌دونستین نیازی نیست برای ولیدیت کردن شماره تلفن لایبری ینویسید گوگل خودش یدونه نوشته ااگه خواستید اپلیکیشن جهانی بنویسید خیلی جلوتون می‌ندازه چون بقیه کشورا شماره هاشون یکم دنگو فنگ داره مثلا تو بریتانیا شماره ها ممکنه یا ده رقمی باشن یا یازده رقمی github.com/google/libphonenumber @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

Repost from Linuxor ?
توی بعضی ریپو های گیت دیدید کامیت ها چقدر منظم نوشته می‌شن ؟ مثلا عکس بالا رو ببینید اول همشون نوشته fix یا feat که البته این
توی بعضی ریپو های گیت دیدید کامیت ها چقدر منظم نوشته می‌شن ؟ مثلا عکس بالا رو ببینید اول همشون نوشته fix یا feat که البته اینارو دستی نمی‌نویسن و یا اگه دستی بنویسن ممکنه توی بعضی کامیتا فراموش کنن. یه ابزار هست بهتون کمک میکنه قبل از کامیت پیام کامیت رو آماده کنید و طبق قالب خاصی براتون کامیت رو درست می‌کنه. فقط کافیه نصبش کنید و بجای git commit بزنید git cz ازتون سولای لازم رو می‌پرسه و کامیت رو براتون آماده می‌کنه نصب‌: commitizen.github.io/cz-cli @Linuxor

Repost from localhost
خیلی وقتا نصب پکیج در لینوکس با خطا رو به‌ رو میشه. 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 رو هم بررسی کنید.

Repost 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 رو ببین. یه سطر بهش اضافه شده مقدارش چیه؟؟؟ اگه میدونی یا تست ش کردی، جواب رو کامنت کن 😁😈

Repost 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

لینکدین یک پالیسی جدید گذاشته که دیفالت از دیتاهاتون استفاده میکنه برای آموزش مدل های جنرتیو اگر خواستید از این لینک میتونید خاموشش کنید http://linkedin.com/mypreferences/d/settings/data-for-ai-improvement

اینم اسکریپتی که گفته بودم برای افزایش کیفیت حجم صدا که می تونین توی یه دایرکتوری input تمام ویدئو ها رو بگذارید و بعد داخل کد تنظیمات دلخواه رو ست و اجراش کنین و منتظر بمونین. به صورت parallel و یا با gpu هم اجرا میشه فقط باید اول ffmpeg رو دانلود و روی سیستمتون قرار بدید و دایرکتوری درست رو بهش برای اجرا بدید. چندتا عامل رو توی کد در نظر گرفتم COMPRESSOR و EXPANDER و GAINER به همراه یسری تنظیمات بیشتر برای کیفیت و فشرده سازی که باعث میشه خروجی مناسبی رو بتونین بگیرید #python #code

از اونجایی که در جریان کیفیت کم صدای دوره FastAPI بودم یسری اسکریپت نوشتم که حجم و کیفیت صدا رو تقویت کنه، سعی می کنم در اسرع وقت در هفته جاری ویدئو های قبلی رو با ویدئو های با کیفیت تر جایگزین کنم #course #fastapi #annoucement

اگر Vibe Coding می کنید، احتمالاً جزو یکی از این دو دسته‌ هستین: یا از ابزاری مثل Cursor استفاده می‌کنید که Agent مستقیماً با
اگر Vibe Coding می کنید، احتمالاً جزو یکی از این دو دسته‌ هستین: یا از ابزاری مثل Cursor استفاده می‌کنید که Agent مستقیماً با کدهای پروژه‌تون تعامل داره، یا از نسخه وب استفاده می کنید و کدهای پروژه رو دستی کپی می‌کنید و به AI می‌دید. اگر جزو دسته دوم هستید، احتمالا این فرایند براتون توی پروژه‌های بزرگ با تعداد فایل‌های زیاد، گاهی خسته‌کننده می‌شه. باید هر بار فایل‌ها رو پیدا کنید، کدها رو کپی کنید و اگر Agent‌تون (مثل Claude) زود به محدودیت برسه، این کار حسابی پهنای باند اعصابتون رو درگیر می کنه. توی پروژه هایی که Vibe Coding لازمه، من جزو دسته دوم هستم و به همین دلیل، یه اسکریپت پایتونی نوشتم که کارم رو راحت بکنه. کارش اینکه میاد مسیر یک دایرکتوری رو از شما دریافت می کنه و فایل هایی که داخلش هستند رو توی یک فایل txt با مسیر هاشون Merge می کنه. https://github.com/naseridev/vibemerge @DevTwitter | <Nima Naseri/>

درحال حاضر تنها مشکل این کار نداشتن مارکت‌پلیس vsCode برای افزونه هاست و باید دستی نصب کرد که اونم انشالله بزوری راهکاری براش پیدا میکنم💀 اگر از دوستان کسی حوصله تست و فیکسش رو داشت هم که عالی میشه این منبع کمک کننده خواهد بود: https://coder.com/docs/code-server/FAQ

کدنویسی روی iPad با کمک اندروید و Termux #پارت دو: استفاده از کد ادیتور داخل مرورگر آیپد. 1. هات اسپات دستگاهی که پیاده سازی
کدنویسی روی iPad با کمک اندروید و Termux #پارت دو: استفاده از کد ادیتور داخل مرورگر آیپد. 1. هات اسپات دستگاهی که پیاده سازی رو روش انجام دادیم روشن و آیپد رو وصل کن به همون شبکه. 3. آی‌پی گوشی رو از این مسیر داخل آیپد پیدا کن: Setting>wifi>هات‌اسپات‌ گوشیتون>ipv4 ADDRESS ایپی که جلوی router نوشته آیپی گوشی شماست 4. روی آیپد مرورگر باز کن : ایپی گوشی رو روی پورت مدنظر باز کن( مثلا ایپی ما 192.168.43.1 هست:) 192.168.43.1:8080 5. پسورد تنظیم شده توی ستاپ اولیه رو بزن، و وارد VS Code شو ✨ نکته: برای نصب افزونه ها، باید توی ترماکس، از یکی از دو شیوه زیر استفاده کنید:
# From the Coder extension

marketplace code-server --install-extension ms-python.python

# From a downloaded VSIX on the file system
code-server --install-extension downloaded-ms-python.python.vsix
اولی از مارکت‌پلیس خود code-server که Open-VSX extension gallery هست و دومی فایل vsix افزونه مورد نظرتون رو دانلود کنید و با اون نصب کنید(از داخل آیپد هم قابل انجام هست) مارا دنبال کنید: #arj✒️ 🔰@Rs_tutorial

کدنویسی روی iPad با کمک اندروید و Termux #پارت یک اگر از خانواده دستگاه‌های اپل استفاده کرده باشید، می‌دونید کار کردن روی iOS/iPadOS همیشه محدودیت‌های خاص خودش رو داره. یکی از بزرگ‌ترین مشکلات من این بود که می‌خواستم آیپد رو جایگزین لپ‌تاپ کنم برای بیرون و کدنویسی کنم، ولی هیچ ادیتور درست‌وحسابی برای جنگو و پایتون روی آیپد پیدا نکردم. راه‌حل؟ استفاده از قدرت اندروید. روی گوشی اندرویدی با Termux یک وب‌سرور VS Code (کامل داخل مرورگر) بالا آوردم و حالا روی آیپد می‌تونم مثل لپ‌تاپ کد بزنم، بدون دغدغه محدودیت‌ها. مزیت اصلی؟ ✓ بدون نیاز به اینترنت (همه‌چیز لوکال اجرا میشه) ✓ سرعت بالا و دیلی خیلی کم ✓ مستقل از سیستم‌عامل آیپد ————————————————————— 🛠 مراحل راه‌اندازی 1⃣ آماده‌سازی Termux
termux-setup-storage
pkg update -y && pkg upgrade -y
pkg install tur-repo -y
pkg install code-server python git tmux openssl-tool -y
2⃣ساخت پوشه پروژه
mkdir -p ~/projects/ && cd ~/projects/
python -m pip install --upgrade pip setuptools wheel
3⃣اجرای code-server با رمز دلخواه
export PASSWORD="12345678"
code-server --bind-addr 0.0.0.0:8080 &
درصورت نیاز به تغییرات در تنظیمات
nano ~/.config/code-server/config.yaml
و محتوا رو به این شکل تنظیم کنید:
bind-addr: 0.0.0.0:8080
auth: password
password: "12345678"
cert: false
5⃣بعد از انجم تغییرات باید code-server به این نحو ری‌استارت بشه:
pkill -f code-server
code-server
مارا دنبال کنید: #arj✒️ 🔰@Rs_tutorial