TGViewer
Channel Public Channel
Random shi- tutorials

Random shi- tutorials

@rs_tutorial

محتوای مفید برنامه نویسی و لینوکسی از سراسر دنیا ✍️
جوین شدن شما موجب شادی روح و روان ما میگردد😗
Subscribers
218
Photos
296
Videos
40
Links
661

Showing posts older than #755 · Back to latest

Older Posts 20 shown
Post #754 112
عزیزان کسی تجربه اسکریپ از لینکداین داشته؟ با پایتون باشه چه بهتر
اعلام حضور کنید در آینده نزدیک خدمتتون سوالاتی دارم
Post #752 127

Forwarded from The Machine

فروش ۲۸ هزار صندلی کنسرت علیرضا قربانی در کمتر از ۱۵ دقیقه!


چند وقت پیش یکی از همکاران بلیط کنسرت علیرضا قربانی گرفت. منم رفتم به سایت نگاه انداختم و دیدم هنوز چند تا جای خالی باقی مونده، فکر کنم ده دقیقه گذشته بود که نگاه کردم و تقریباً سه چهار تا بلیط باقی مونده بود که البته آخرش هم نخریدم ولی چیزی که توجهم رو جلب کرد طراحی سایت و نحوه رزرو صندلی بود به شدت خلاقانه و جالب بود و نکته عجیب‌تر این بود که سایت به هیچ وجه کند نبود!

در رابطه با این موضوع دیدم محسن باقری درمورد تجربه تیم فنی و چالش هایی که داشتن گفته.
نوشتن Stress Test، مانیتورینگ و لاگینگ و ...


لینک پست
  • ❤ 1
Post #751 97

Forwarded from Linuxor ?

کسایی که توی پروژه های تیمی بودن می دونن تقسیم پروژه چه کار سختیه Bit می‌تونه کمک کنه پروژه‌ت رو به کامپوننت‌های مستقل تقسیم کنی، با نسخه‌بندی خودکار و اسم‌گذاری (مثل org/ui.button) دیگه نیازی نیست همه‌چیز رو تو یه رپو نگه داری. فرض کن یکی فقط داره فرم‌ها رو توسعه می‌ده، یکی داره backend رو؛ هرکدوم می‌تونن کامپوننت‌های خودشون رو جدا ببینن و منتشر کنن.

مستندات :

bit.dev/docs/intro

@Linuxor
Post #750 101

Forwarded from Linuxor ?

می‌دونستین با PyScript می‌شه توی مرورگر بجای جاوااسکریپت با پایتون کد زد؟

شاید سوالتون این باشه چه کاریه همون جاوااسکریپت می زنیم دیگه! ولی کاربرد اصلی PyScript اینه که اجازه می‌ده پایتون (با تمام اکوسیستمش مثل NumPy, Pandas, Matplotlib) مستقیم توی مرورگر اجرا بشه مکانیزمش هم اینه با وب اسمبلی این کارو می‌کنه.

docs.pyscript.net/2025.8.1/beginning-pyscript

@Linuxor
Post #748 144
Post #747 104
Post #746 96

Forwarded from linuxtnt(Tips and Tricks) (hosein seilany https://seilany.ir/)

⭐️  دانلود فایل با حداکثر سرعت در ترمینال با دستور aria2c

aria2c -x 16 -s 16 'YOUR_URL'



این دستور به aria2c می‌گوید که فایل موجود در آدرس YOUR_URL را با استفاده از 16 اتصال همزمان و با تقسیم فایل به 16 قطعه دانلود کند.

🔹-گزینه x 16: این گزینه تعداد اتصالات همزمان را به 16 تنظیم می‌کند. به عبارت دیگر، aria2c می‌تواند تا 16 اتصال جداگانه برای دانلود یک فایل برقرار کند.

🔹گزینه -s 16: این گزینه تعداد قطعات (segment) که فایل به آن‌ها تقسیم می‌شود را به 16 تنظیم می‌کند. تقسیم فایل به قطعات کوچک‌تر می‌تواند به بهبود عملکرد دانلود کمک کند، در aria2c، فایل دانلودی به چندین سگمنت تقسیم می‌شود و هر سگمنت به صورت موازی دانلود می‌شود.


نویسنده: حسین سیلانی

http://learninghive.ir
Post #745 102

Forwarded from linuxtnt(Tips and Tricks) (hosein seilany https://seilany.ir/)

🛠 ساخت و فعال‌سازی حافظه Swap در لینوکس

1️⃣ ساخت فایل Swap (اینجا 8 گیگ):

sudo fallocate -l 8G /swapfile



2️⃣ تغییر سطح دسترسی (خیلی مهم!):

sudo chmod 600 /swapfile



3️⃣ فرمت کردن فایل به Swap:

sudo mkswap /swapfile



4️⃣ فعال‌کردن Swap:

sudo swapon /swapfile



5️⃣ بررسی وضعیت Swap:

swapon --show

free -h

اگر می‌خواید بعد از ریبوت هم فعال بمونه، این خط رو به /etc/fstab اضافه کنید:

/swapfile none swap sw 0 0

نویسنده: حسین سیلانی
http://learninghive.ir
Post #744 105

Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی / سید محمد خشنوا (Mohammad Khoshnava)

پشمتون بریزه ، این داوشمون میتونه حجم ایمیج های داکری شمارو تا 30 فاکینگ برابر کمتر کنه 🫥

بدون اینکه به هیچ مشکلی بربخورید میاد اینکارو برای اربابش که شما باشید انجام میده، هرچی آت و آشغال باشه میندازه دور یا مینیفای میکنه که فقط موارد لازم برای اجرای اوامر فرماندهی باقی بمونه

دمش گرم 🩷
https://github.com/slimtoolkit/slim

✅ @SEYED_BAX
Post #743 106

Forwarded from Linuxor ?

خیلیا دنبال یه پلتفرمی ان توش تیکه کد ذخیره کنن، با هم تیمی ها یاداشت ها و کد هارو ویرایش کنن و یه چیز جمو جور باشه که روی همه سیستم عاملای گوشی و دسکتاپ کار کنه! پیشنهاد می‌کنم Boosnote رو یه بار تست کنن واقعا چیز راحتیه :)

github.com/BoostIO/BoostNote-App

@Linuxor
  • ❤ 1
Post #742 87

Forwarded from Linuxor ?

می‌دونستین توی ترمینال هم می‌شه جیسون رو بازکرد؟ این ابزار برای مواقع ضروری که گرافیک ندارین خیلی کارسازه؛
حتی می‌شه بدون باز کردن فایل جیسون اونو با کمک Autocomplete پیمایش کرد و توی آبجک ها و آرایه های جیسون حرکت کرد. فقط کافیه اسم فایل رو بنویسید و تب بزنید

fx file.json <TAB>

نصب:
fx.wtf/install


@Linuxor
Post #741 98

Forwarded from Infrastructure Artists

یه حرکتی که امروز با iptables زدم رو خدمتتون بگم شاید به درد شما هم بخوره :))

معمولا تیم های امنیت خیلی از پورت ها رو میبندن ولی پورت ۸۰ و ۴۴۳ معمولا بازه برای سرویس وب و ریکوست های http

ما قرار بود یه سری دیتا رو از یه دیتاسنتر انتقال بدیم یه دیتاسنتر دیگه ولی تیم امنیت پورت sshرو بین دوتا دیتاسنتر بسته بود. فلذا ما نمیتونستیم با scp یا rsync دیتا رو انتقال بدیم.

اولین ایده این بود که دیتا بیاریم روی یه سرور واسط (مثلا لپ تاپ خودمون) و بعد از اونجا مجدد انتقالش بدیم رو سرور مقصد.

ولی یه کار دیگه هم میشه کرد.
معمولا شما وب سرورت تو محیط پروداکشن همیشه باید رو ۴۴۳ لیسن کنه و اصلا ریکوست پورت ۸۰ قبول نکنه یا اگرم قبول کرد ریدایرکت کنه به ۴۴۳.

من یه رول iptables زدم اگر درخواستی اومد به پورت 80 شما ریداریکت کن به ۲۲ و اینطوری قبل از اینکه وب سرور بخواد ریدارکت کنه تو لایه پایینتر شما داری ریدایرکت میکنی.

حالا ما الان داریم rsync رو روی پورت ۸۰ انجام میدیم که بازه و اینطوری تیم امنیت رو یه کوچولو دور میزنیم :))

پ.ن: میشه پورت sshرو هم انداخت روی ۸۰ که بازه ولی خب ما معذوریت داشتیم و امکانش نبود
Post #740 107

Forwarded from HICTE Blog (Hicte Bridge)

[ Source >> @srfirouzi_channel ]

#مهندسی_نرم_افزار

آنتی‌پترن‌ها در برنامه‌نویسی
(الگوهای که باید از آنها دوری کرد)

در دنیای توسعه نرم‌افزار، الگوهای طراحی (Design Patterns) راه‌حل‌هایی اثبات‌شده برای مشکلات تکراری هستند. در مقابل، آنتی‌پترن (Anti-Pattern) ظاهراً راه‌حلی منطقی ارائه می‌دهد، اما در عمل به مشکلات جدی و هزینه‌های بلندمدت منجر می‌شود.
ویژگی کلیدی آنتی‌پترن این است که همیشه یک راه‌حل بهتر و جایگزین برای آن وجود دارد.

این مفهوم از دهه‌ی ۹۰ میلادی وارد ادبیات مهندسی نرم‌افزار شد و کتاب AntiPatterns (۱۹۹۸) به شناخته شدن آن کمک زیادی کرد.
نمونه‌های رایج آنتی‌پترن‌ها

- اسپاگتی کد (Spaghetti Code): کدی درهم‌تنیده و بی‌ساختار که تغییر یا توسعه‌اش کابوس است.
- شی خدا (God Object): کلاسی که بیش از حد مسئولیت دارد و اصل Single Responsibility را زیر پا می‌گذارد.
- چکش طلایی (Golden Hammer): استفاده از یک ابزار، متد یا تکنولوژی برای همه‌چیز، فقط به خاطر آشنایی یا راحتی.
- بهینه‌سازی زودهنگام (Premature Optimization): بهینه‌سازی‌ای که اغلب پیچیدگی بیهوده ایجاد می‌کند.
- کپی و پیست (Copy-and-Paste Programming): تکرار کد در بخش‌های مختلف به جای استفاده از انتزاع و ماژولار کردن.
- جریان مذاب (Lava Flow): باقی ماندن کدهای قدیمی و بلااستفاده که فهم و نگهداری پروژه را دشوار می‌کند.
- طراحی بیش از حد (Overdesign): افزودن پیچیدگی و امکانات غیرضروری برای نیازهایی که هنوز وجود ندارند
- و ...


چگونه از آنتی‌پترن‌ها دوری کنیم؟

- از همه مهمتر آشنایی با آنتی پترن های مطرح
- بازبینی مستمر کد (Code Review).
- بازسازی ساختار کد (Refactoring) بدون تغییر رفتار.
- رعایت اصول ساده و پایه‌ای مانند:
DRY (Don’t Repeat Yourself)
KISS (Keep It Simple, Stupid)
- انتخاب ابزار و تکنولوژی بر اساس نیاز واقعی، نه صرفاً تجربه یا سلیقه شخصی.
- تمرکز بر حل مسئله‌ی فعلی و پرهیز از طراحی بیش‌ازحد برای آینده‌ای نامعلوم.


آنتی‌پترن‌ها صرفاً «اشتباهات فردی» نیستند، بلکه تله‌هایی رایج در مسیر توسعه نرم‌افزارند. آن‌ها در کوتاه‌مدت سودمند به نظر می‌رسند اما در بلندمدت به پیچیدگی و بدهی فنی منجر می‌شوند.
شناخت و پرهیز از این الگوها، یکی از مهم‌ترین گام‌ها برای ساخت نرم‌افزاری پایدار، قابل‌اعتماد و توسعه‌پذیر است.

🚁 Hicte Blog | (smm)
Post #737 124
Post #733 125

Forwarded from The Machine

.NET Internals چیکار کنیم وقتی به اشتباه تو برنچ main پوش میکنیم؟! دیروز داشتم کد میزدم و پوش میکردم یهو دیدم که دارم توی برنچ main پوش میکنم!!! داشتیم pair-programming میکردیم و اصلا حواسم نبود ولی خوب همیشه یه راهی باید باشه، نه؟ باید این مراحل رو انجام بدیم: 1- پیدا…
چطوری مسیج کامیت‌های گذشته رو عوض کنیم؟

یه چالش دیگه هم که اخیرا درموردش سرچ کردم و توی کار بهش برخوردیم این بود که بریم commit message های چند کامیت قبلی رو تغییر بدیم، کامیت آخر که راحت ترین راه براش کامند معروف زیر هست:

git command --ammend

ولی برای مثلا تغییر دادن پیام کامیت دهم بهترین روش این هست:

Interactive Git Rebasing

با استفاده از کامند:

git rebase -i Head~N

N تعداد کامیت هست
که از آخرین کامیت تا جایی که می‌خواین برین عقب میشه.

وقتی که یه interactive rebase انجام می‌دیم پشت صحنه گیت یه فایل تو دو لیست داخل ادیتور باز می‌کنه و کامیت‌ها رو از از قدیمی ترین به جدیدترین ( بالا به پایین) نمایش می‌ده و می‌تونیم انتخاب کنیم که مرحله بعدی برای کامیت چه کاری می‌خوایم انجام بدیم:

Pick: استفاده از کامیت به همون شکل فعلی

Reword: استفاده از کامیت ولی با ویرایش پیام

Edit: استفاده از کامیت اما با یه وقفه برای تغییر محتوا یا پیام

Squash: مرج کردن این کامیت با کامیت قبلی و با ترکیب کردن پیام اون ها

Fixup: مرج کامیت فعلی با کامیت قبلی بدون نگه داشتن پیام

Drop: حذف کامل کامیت

حالا که فهمیدیم چه آپشن‌هایی داریم برگردیم سر سناریوی خودمون، وقتی که ادیتور باز شد اون کامیتی که می‌خوایم رو پیدا می‌کنیم و دستور کنارش رو از pick به reword تغییر می‌دیم بعد فایل رو می‌بندیم وقتی فایل بسته میشه گیت برای اون کامیتی که reword داره یه ادیتور باز می‌کنه تا پیام رو ادیت کنیم.
و بعد هم rebase انجام میشه.


نکات قابل ملاحظه در کار تیمی:

قطعا این کار هیستوری رو عوض می‌کنه و اگه این ربپوی مشترک باشه باید از دستور

git push --force

استفاده کنید که خب بقیه تیم هم باید rebase کنن یا کانفلیکت های احتمالی رو حل کنن که به نظرم به دردسرش نمی‌ارزه.

و اینکه گیت یه قابلیت داره که میشه نوت اضافه کرد و ضمیمه کامیت کرد اگه خیلی توضیح ضروری‌ای باشه که جا افتاده.

git notes add -m "message" <commit hash>

و در نهایت اگه ریپوی لوکال باشه بهتره که این راه رو بریم.
#git
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →