Random shi- tutorials – Telegram
Random shi- tutorials
206 subscribers
229 photos
27 videos
12 files
546 links
محتوای مفید برنامه نویسی و لینوکسی از سراسر دنیا ✍️
جوین شدن شما موجب شادی روح و روان ما میگردد😗
Download Telegram
کدنویسی روی 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
2🆒1
Random shi- tutorials
کدنویسی روی iPad با کمک اندروید و Termux #پارت یک اگر از خانواده دستگاه‌های اپل استفاده کرده باشید، می‌دونید کار کردن روی iOS/iPadOS همیشه محدودیت‌های خاص خودش رو داره. یکی از بزرگ‌ترین مشکلات من این بود که می‌خواستم آیپد رو جایگزین لپ‌تاپ کنم برای بیرون…
کدنویسی روی 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
1
Random shi- tutorials
نکته:
برای نصب افزونه ها، باید توی ترماکس، از یکی از دو شیوه زیر استفاده کنید:
درحال حاضر تنها مشکل این کار نداشتن مارکت‌پلیس vsCode برای افزونه هاست و باید دستی نصب کرد
که اونم انشالله بزوری راهکاری براش پیدا میکنم💀

اگر از دوستان کسی حوصله تست و فیکسش رو داشت هم که عالی میشه
این منبع کمک کننده خواهد بود:
https://coder.com/docs/code-server/FAQ
1
اگر Vibe Coding می کنید، احتمالاً جزو یکی از این دو دسته‌ هستین:

یا از ابزاری مثل Cursor استفاده می‌کنید که Agent مستقیماً با کدهای پروژه‌تون تعامل داره، یا از نسخه وب استفاده می کنید و کدهای پروژه رو دستی کپی می‌کنید و به AI می‌دید.

اگر جزو دسته دوم هستید، احتمالا این فرایند براتون توی پروژه‌های بزرگ با تعداد فایل‌های زیاد، گاهی خسته‌کننده می‌شه. باید هر بار فایل‌ها رو پیدا کنید، کدها رو کپی کنید و اگر Agent‌تون (مثل Claude) زود به محدودیت برسه، این کار حسابی پهنای باند اعصابتون رو درگیر می کنه.
توی پروژه هایی که Vibe Coding لازمه، من جزو دسته دوم هستم و به همین دلیل، یه اسکریپت پایتونی نوشتم که کارم رو راحت بکنه.

کارش اینکه میاد مسیر یک دایرکتوری رو از شما دریافت می کنه و فایل هایی که داخلش هستند رو توی یک فایل txt با مسیر هاشون Merge می کنه.

https://github.com/naseridev/vibemerge

@DevTwitter | <Nima Naseri/>
1
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

آموزش فعالسازی نسخه پرو یوگا دی ان اس با لایسنس قانونی