نوشته‌های ترمینالی
2.76K subscribers
425 photos
12 videos
32 files
2.28K links
Download Telegram
Forwarded from Linux Experts (𝖕𝖝𝖊)
⚡️aria2 ابزار سبک ولی قدرتمند برای دانلود

‏aria2 یه ابزار خط فرمانه که برای دانلود از پروتکل‌های مختلف مثل HTTP،FTP،BitTorrent و Metalink طراحی شده.
مزیتش اینه که می‌تونه فایل رو به چند بخش تقسیم کنه و هر بخش رو هم‌زمان از چند اتصال مختلف بگیره؛ همین باعث می‌شه دانلودها سریع‌تر و پایدارتر انجام بشن.

یک نمونۀ ساده:
aria2c https://example.com/file.iso


اگه بخواید از تمام ظرفیت اینترنت استفاده کنید، می‌تونید تعداد اتصال‌ها و بخش‌ها رو زیاد کنید و در عین حال تلاش نامحدود برای ادامۀ دانلود در صورت قطع ارتباط فعال کنید:
aria2c \
--max-connection-per-server=16 \
--split=16 \
--max-tries=0 \
https://example.com/file.iso

🔹‏ ‎--max-connection-per-server تعداد اتصال‌های هم‌زمان به سرور
🔹‏ ‎--split تعداد بخش‌هایی که فایل به اون تقسیم می‌شه
🔹‏ ‎--max-tries=0 یعنی در صورت خطا تا بی‌نهایت بار تلاش مجدد انجام بشه


برای وقتی که چند تا لینک دارید، کافیه همه رو خط به خط تو فایلی مثل links.txt بنویسید و اجرا کنید:
aria2c --input-file=links.txt


‏aria2 پشت صحنۀ خیلی از ابزارهای دانلودمثل uGet،‏ Motrix،‏ Persepolis (در نسخه‌های قدیمی)، و حتی بعضی مدیرهای دانلود گرافیکی سبک برای سرور یا NAS استفاده شده.
تو دنیای لینوکس هم معمولاً داخل اسکریپت‌های خودکار یا نصب بسته‌ها ازش استفاده می‌شه چون دقیق، قابل‌اسکریپت‌نویسی و کم‌مصرفه.

وقتی با aria2 دانلود می‌کنید، کنار هر فایل در حال دانلود یه فایل موقت با پسوند .aria2 ساخته می‌شه. این فایل شامل اطلاعات پیشرفت دانلود، بخش‌های دریافت‌شده و وضعیت اتصالاته.

اگه دانلود به هر دلیلی قطع بشه (مثلاً اینترنت قطع شه یا سیستم ریستارت شه)، تا زمانی که فایل .aria2 حذف نشده باشه، می‌تونید همون دستور قبلی رو دوباره اجرا کنید تا دانلود از همون‌جا ادامه پیدا کنه.


🔘 @linux_exp | #linux #commandline #tools
❤‍🔥3👍2
شاید دیده باشید تو شبکه محلی وقتی DHCP درست کار نمی‌کنه، خود سیستم یه آی‌پی رندومی میگیره. این آی‌پی در بازه ۱۶۹.۲۵۴.۰.۰٫۱۶ قرار می‌گیره اما داستان پشتش چیه؟

داستان از این قراره که اساین کردن IP به کامپیوتر های شبکه راه های مختلفی داره از جمله static و DHCP ولی اگه سیستم با هیچ کدوم از اینا نتونه آیپی بگیره باید چیکار کنه؟ وصل نشه؟
به عنوان آخرین گزینه و فال‌بک، سیستم میان در یک بازه از پیش تعیین شده یه ای‌پی رندوم انتخاب می‌کنه که صرفا بتونه وصل بشه. به امید این که کامپیوتر دیگری اون رو انتخاب نکرده باشه، اما به همینجا بسنده نمی‌شه و یه درخواست arp به اون ای‌پی می‌فرسته تا ببینه کس دیگری اون ای‌پی رو داره یا نه و اگر کسی دیگری داشت باز آدرس رندوم جدید می‌سازه!

با این روش کامپیوترها بدون DHCP آیپی میگیرن و میتونن با هم صحبت کنن ولی مشکلی که هست اینه که default gateway رو کسی بهشون نگفته در نتیجه درخواست هاشون به بیرون route نمیشه (به بیانی اینترنت ندارن)

پس از این به بعد اگه دیدید اینترنت ندارید و آی‌پی سیستمتون با ۱۶۹.۲۵۴ شروع می‌شه بدونید مشکل DHCPئه.

اسم این روش APIPA یا automatic private IP addressingئه

https://www.cbtnuggets.com/blog/technology/networking/what-is-automatic-private-ip-addressing-apipa
1👍246
در مورد ساختمان داده LSM Tree یا همون log structured merge tree
این ساختمان داده بیشتر برای دیتابیس های NoSQL استفاده میشه و برای نوشتن زیاد بهینه‌ست.
هم به خوبی از مموری استفاده می‌کنه تا نوشتن رو هندل کنه و هم به کمک bloom filter جایی که دیتا توی دیسک هست رو پیدا می‌کنه و سراغش میره برای بازیابی.

https://medium.com/@dwivedi.ankit21/lsm-trees-the-go-to-data-structure-for-databases-search-engines-and-more-c3a48fa469d2

اگه براتون جالب بود و بیشتر حوصله داشتید، این مطلب نحوه ساخت یک دیتابیس رو قدم به قدم شرح می‌ده تا به همین LSM tree می‌رسه.
https://www.nan.fyi/database
👍84🔥1
من دو سه سال پیش یه shell خیلی مینیمال نوشته بودم به اسم KittySH.
اگر به این این که اسمش چرا اینه کار نداشته باشیم، به نظر می‌تونه برای system programming توی گو یه ایده‌های خوبی بهتون بده.

فیچرها: اجرای کامند و cd و clear و prompt رو خودش پشتیبانی می‌کنه و با کمک کتابخونه، auto complete هم داره.

https://github.com/rsharifnasab/KittySH/tree/master
111🔥7
در گولنگ نسخه ۱.۲۵، یه Garbage collector جدید به نام green tea اضافه شده که سعی میکنه سریع‌تر باشه. فعلا به شکل experimentalئه ولی توی ۱.۲۶ قراره که به شکل پیش‌فرض استفاده بشه.

چه گو دولوپر هستید چه نه، خوندن این بلاگ پست رو بهتون توصیه می‌کنم چون هم در مورد نحوه کار Garbage collector بهتون ایده‌های خوبی می‌ده (به شکل کامل و نه خیلی ساده سازی شده) و هم این که چطوری به افزایش پرفورمنس یه برنامه می‌شه نگاه کرد رو می‌بینید. در مورد instructionهای پردازنده، دسترسی به مموری و ...
https://go.dev/blog/greenteagc
19👍3
امروز بر خلاف روال معمول کار جدی، تصمیم گرفتم تکنولوژی‌های جدید رو هم امتحان کنم و قرعه به نام SQLc افتاد. یه ابزار تولید کد بر اساس ساختار دیتابیس و کوئری ها، کد گولنگ تولید می‌کنه.

نتیجه این که گول تبلیغات رو نخورید. این فقط توی دو تا مثال خودش خوب عمل می‌کرد، برای نیازمندی های من که اونقدر هم پیچیده نبود خیلی اذیت کرد.

هدفم اینجا نقد و بررسی منصفانه‌اش نیست و شاید شما باهاش خوشحال باشید ولی من علی‌رغم این که ایده‌ش رو دوست داشتم در عمل خوشحال نشدم باهاش.
👍222🔥1😁1👀1
چرا پیدا کردن بهترین استعدادها، توی لینکدین و گیتهاب سخته؟ چون خیلی ها که کارشون خوبه، تمرکزشون روی خود کاره و پروفایل جذابی تو این پلتفرم ها ندارن!
https://surfingcomplexity.blog/2025/10/08/the-illegible-nature-of-software-development-talent/


در ادامه خودم اضافه کنم که: خوبه که از زاویه دیگه هم نگاه کنیم. اگه چنین آدمی هستید که استعداد خوبی دارید ولی فعالیت آنلاینی ندارید، شاید بهتر باشه واقعیتی که تو مقاله هست رو بپذیرید و خودتون رو تطبیق بدید.
👍214😁2
استفاده از ai تو مصاحبه، آره یا نه؟ از زبون مصاحبه کننده.

https://leaddev.com/ai/why-expect-candidates-ai-hiring-process

نظر شخصی من اینه که در کل مهم نیست از چی استفاده می‌کنید، چه کپی پیست، چه لایبرری، چه GenAI، نهایتا مهمه که بتونید مسئولیتش رو بپذیرید و بدونید چه trade offهایی توش برقراره. به طور خلاصه وقتی پرسیدن چرا اینطوری، بتونید شفاف پاسخ بدید و نگید AI نوشته.
👌115👍3
Forwarded from Agora (Alireza)
بعضی‌ها مشکل کد نوشتن با AI را این‌طور می‌بینند که دیگه هیچ‌چیز دقیق، عمیق و درست نیست. من واقعاً مشکل رو اینجا نمی‌بینم؛ در واقع، این رو مشکل جدیدی نمی‌بینم.

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

از نظر من، مشکلی که الان شیوع پیدا کرده، تولید کدهاییه که مسئولش از مکانیسمش سر در نمیاره. کدی که «عظیمه، مثل فیل. پر سر و صداست. هیاهوه. دیوانه است. پر هرج‌ومرجه اما مدفوعه». یک فایل ۵۰۰ خطی که یک فیچرو پیاده کرده —که اتفاقاً درست هم کار می‌کنه— ولی کمتر کسی توان و حوصلهٔ این رو داره بشینه و کار شخص دیگه‌ای رو بخونه تا عمیقاً بفهمه؛ به‌خصوص که نرخ تولید PRهایی با تعداد تغییرات بالا به لطف AIها، در حال بیشتر و بیشتر شدنه. مشکلی که قبلا هم در سطح خرد با ظهور امثال استک‌اوورفلو بیشتر جون گرفت و الان رشد کرده و دست و پا در آورده.
17👍9👎1
چرا با وجود AI هنوز هم کیفیت کدی که نوشته میشه مهمه.
فرض کنید انکال هستید یا فرض کنید کد کاملا درست احتیاج دارید.

https://martinfowler.com/articles/exploring-gen-ai/i-still-care-about-the-code.html
👍16👌1