Forwarded from Linux Experts (𝖕𝖝𝖊)
⚡️ aria2 ابزار سبک ولی قدرتمند برای دانلود
aria2 یه ابزار خط فرمانه که برای دانلود از پروتکلهای مختلف مثل HTTP،FTP،BitTorrent و Metalink طراحی شده.
مزیتش اینه که میتونه فایل رو به چند بخش تقسیم کنه و هر بخش رو همزمان از چند اتصال مختلف بگیره؛ همین باعث میشه دانلودها سریعتر و پایدارتر انجام بشن.
یک نمونۀ ساده:
اگه بخواید از تمام ظرفیت اینترنت استفاده کنید، میتونید تعداد اتصالها و بخشها رو زیاد کنید و در عین حال تلاش نامحدود برای ادامۀ دانلود در صورت قطع ارتباط فعال کنید:
برای وقتی که چند تا لینک دارید، کافیه همه رو خط به خط تو فایلی مثل
aria2 پشت صحنۀ خیلی از ابزارهای دانلودمثل uGet، Motrix، Persepolis (در نسخههای قدیمی)، و حتی بعضی مدیرهای دانلود گرافیکی سبک برای سرور یا NAS استفاده شده.
تو دنیای لینوکس هم معمولاً داخل اسکریپتهای خودکار یا نصب بستهها ازش استفاده میشه چون دقیق، قابلاسکریپتنویسی و کممصرفه.
🔘 @linux_exp | #linux #commandline #tools
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
داستان از این قراره که اساین کردن 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
CBT Nuggets
What is Automatic Private IP Addressing (APIPA)?
Automatic Private IP Addressing, referred to as APIPA, acts as a failover for DHCP when communication between a device and the DHCP server is not possible.
1👍24❤6
در مورد ساختمان داده 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
این ساختمان داده بیشتر برای دیتابیس های 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
Medium
LSM Trees: the Go-To Data Structure for Databases, Search Engines, and More
I dive into the fascinating world of LSM Trees and how they revolutionize the way large amounts of data are stored and retrieved.
👍8❤4🔥1
من دو سه سال پیش یه shell خیلی مینیمال نوشته بودم به اسم KittySH.
اگر به این این که اسمش چرا اینه کار نداشته باشیم، به نظر میتونه برای system programming توی گو یه ایدههای خوبی بهتون بده.
فیچرها: اجرای کامند و cd و clear و prompt رو خودش پشتیبانی میکنه و با کمک کتابخونه، auto complete هم داره.
https://github.com/rsharifnasab/KittySH/tree/master
اگر به این این که اسمش چرا اینه کار نداشته باشیم، به نظر میتونه برای system programming توی گو یه ایدههای خوبی بهتون بده.
فیچرها: اجرای کامند و cd و clear و prompt رو خودش پشتیبانی میکنه و با کمک کتابخونه، auto complete هم داره.
https://github.com/rsharifnasab/KittySH/tree/master
GitHub
GitHub - rsharifnasab/KittySH: kitty terminal is awesome, why not develop a shell with its name?!
kitty terminal is awesome, why not develop a shell with its name?! - rsharifnasab/KittySH
1❤11🔥7
در گولنگ نسخه ۱.۲۵، یه Garbage collector جدید به نام green tea اضافه شده که سعی میکنه سریعتر باشه. فعلا به شکل experimentalئه ولی توی ۱.۲۶ قراره که به شکل پیشفرض استفاده بشه.
چه گو دولوپر هستید چه نه، خوندن این بلاگ پست رو بهتون توصیه میکنم چون هم در مورد نحوه کار Garbage collector بهتون ایدههای خوبی میده (به شکل کامل و نه خیلی ساده سازی شده) و هم این که چطوری به افزایش پرفورمنس یه برنامه میشه نگاه کرد رو میبینید. در مورد instructionهای پردازنده، دسترسی به مموری و ...
https://go.dev/blog/greenteagc
چه گو دولوپر هستید چه نه، خوندن این بلاگ پست رو بهتون توصیه میکنم چون هم در مورد نحوه کار Garbage collector بهتون ایدههای خوبی میده (به شکل کامل و نه خیلی ساده سازی شده) و هم این که چطوری به افزایش پرفورمنس یه برنامه میشه نگاه کرد رو میبینید. در مورد instructionهای پردازنده، دسترسی به مموری و ...
https://go.dev/blog/greenteagc
go.dev
The Green Tea Garbage Collector - The Go Programming Language
Go 1.25 includes a new experimental garbage collector, Green Tea.
❤19👍3
امروز بر خلاف روال معمول کار جدی، تصمیم گرفتم تکنولوژیهای جدید رو هم امتحان کنم و قرعه به نام SQLc افتاد. یه ابزار تولید کد بر اساس ساختار دیتابیس و کوئری ها، کد گولنگ تولید میکنه.
نتیجه این که گول تبلیغات رو نخورید. این فقط توی دو تا مثال خودش خوب عمل میکرد، برای نیازمندی های من که اونقدر هم پیچیده نبود خیلی اذیت کرد.
هدفم اینجا نقد و بررسی منصفانهاش نیست و شاید شما باهاش خوشحال باشید ولی من علیرغم این که ایدهش رو دوست داشتم در عمل خوشحال نشدم باهاش.
نتیجه این که گول تبلیغات رو نخورید. این فقط توی دو تا مثال خودش خوب عمل میکرد، برای نیازمندی های من که اونقدر هم پیچیده نبود خیلی اذیت کرد.
هدفم اینجا نقد و بررسی منصفانهاش نیست و شاید شما باهاش خوشحال باشید ولی من علیرغم این که ایدهش رو دوست داشتم در عمل خوشحال نشدم باهاش.
👍22❤2🔥1😁1👀1
گاهی یک خطا در سیستم باعث بروز خطا در باقی سیستم میشه و فاجعه. به این پدیده میگن cascading failure و اینجا به زیبایی توضیح داده شده.
https://youtu.be/oVGOUh6-m4E?si=Bs_NaEPVksbb9joL
https://youtu.be/oVGOUh6-m4E?si=Bs_NaEPVksbb9joL
YouTube
Cascading Failure | System Design
This video explains about a domino effect of failures called as cascading failures. We will understand the conditions how it happens and some precautions to avoid it.
---------------------------------------------------------------------------------------…
---------------------------------------------------------------------------------------…
🔥9👍2👨💻2
چرا پیدا کردن بهترین استعدادها، توی لینکدین و گیتهاب سخته؟ چون خیلی ها که کارشون خوبه، تمرکزشون روی خود کاره و پروفایل جذابی تو این پلتفرم ها ندارن!
https://surfingcomplexity.blog/2025/10/08/the-illegible-nature-of-software-development-talent/
در ادامه خودم اضافه کنم که: خوبه که از زاویه دیگه هم نگاه کنیم. اگه چنین آدمی هستید که استعداد خوبی دارید ولی فعالیت آنلاینی ندارید، شاید بهتر باشه واقعیتی که تو مقاله هست رو بپذیرید و خودتون رو تطبیق بدید.
https://surfingcomplexity.blog/2025/10/08/the-illegible-nature-of-software-development-talent/
در ادامه خودم اضافه کنم که: خوبه که از زاویه دیگه هم نگاه کنیم. اگه چنین آدمی هستید که استعداد خوبی دارید ولی فعالیت آنلاینی ندارید، شاید بهتر باشه واقعیتی که تو مقاله هست رو بپذیرید و خودتون رو تطبیق بدید.
Surfing Complexity
The illegible nature of software development talent
Here’s another blog post on gathering some common threads from reading recent posts. Today’s topic is about the unassuming nature of talented software engineers. The first thread was a …
👍21❤4😁2
استفاده از ai تو مصاحبه، آره یا نه؟ از زبون مصاحبه کننده.
https://leaddev.com/ai/why-expect-candidates-ai-hiring-process
نظر شخصی من اینه که در کل مهم نیست از چی استفاده میکنید، چه کپی پیست، چه لایبرری، چه GenAI، نهایتا مهمه که بتونید مسئولیتش رو بپذیرید و بدونید چه trade offهایی توش برقراره. به طور خلاصه وقتی پرسیدن چرا اینطوری، بتونید شفاف پاسخ بدید و نگید AI نوشته.
https://leaddev.com/ai/why-expect-candidates-ai-hiring-process
نظر شخصی من اینه که در کل مهم نیست از چی استفاده میکنید، چه کپی پیست، چه لایبرری، چه GenAI، نهایتا مهمه که بتونید مسئولیتش رو بپذیرید و بدونید چه trade offهایی توش برقراره. به طور خلاصه وقتی پرسیدن چرا اینطوری، بتونید شفاف پاسخ بدید و نگید AI نوشته.
LeadDev
Why I expect candidates to use AI in the hiring process
If you're joining a team where AI use is commonplace, expect the interview process to test those skills.
👌11❤5👍3
Forwarded from Agora (Alireza)
بعضیها مشکل کد نوشتن با AI را اینطور میبینند که دیگه هیچچیز دقیق، عمیق و درست نیست. من واقعاً مشکل رو اینجا نمیبینم؛ در واقع، این رو مشکل جدیدی نمیبینم.
دوستان مهندس ما تا به حال هم در تولید کدِ بینقص خیلی موفق عمل نکردند. در واقع، اگر در تولید قطعهکدهایی موفق بودند، اون کدها هم عموماً امکان غلط نوشتنشون ممکن نیست یا خیلی کمه؛ یا دهها سال در پلتفرمهای مختلف اجرا و تست شدهاند یا اساساً صحت الگوریتمِی که پیاده کردن اثبات شدهست. اما از اون طرف، (همین دوستان) در معماری همیشه پر از خطا بودند و معماریهاشون در یک فرایند تدریجی بهبود پیدا کرده. خطایی که نه لزوماً برخاسته از یک مهندسی غلط، که برخاسته از نیاز بیزینسه. تغییراتی که هیچوقت پیشبینی نشدند، از ناکجا وسط معماری شما سر در میارند و شما را مجبور به تغییرات پرریسک و پرهزینه میکنند. شاهد این مدعا هم باگ فیکس های ابدی تمام پروژههای بزرگ و کوچیکه.
از نظر من، مشکلی که الان شیوع پیدا کرده، تولید کدهاییه که مسئولش از مکانیسمش سر در نمیاره. کدی که «عظیمه، مثل فیل. پر سر و صداست. هیاهوه. دیوانه است. پر هرجومرجه اما مدفوعه». یک فایل ۵۰۰ خطی که یک فیچرو پیاده کرده —که اتفاقاً درست هم کار میکنه— ولی کمتر کسی توان و حوصلهٔ این رو داره بشینه و کار شخص دیگهای رو بخونه تا عمیقاً بفهمه؛ بهخصوص که نرخ تولید PRهایی با تعداد تغییرات بالا به لطف AIها، در حال بیشتر و بیشتر شدنه. مشکلی که قبلا هم در سطح خرد با ظهور امثال استکاوورفلو بیشتر جون گرفت و الان رشد کرده و دست و پا در آورده.
دوستان مهندس ما تا به حال هم در تولید کدِ بینقص خیلی موفق عمل نکردند. در واقع، اگر در تولید قطعهکدهایی موفق بودند، اون کدها هم عموماً امکان غلط نوشتنشون ممکن نیست یا خیلی کمه؛ یا دهها سال در پلتفرمهای مختلف اجرا و تست شدهاند یا اساساً صحت الگوریتمِی که پیاده کردن اثبات شدهست. اما از اون طرف، (همین دوستان) در معماری همیشه پر از خطا بودند و معماریهاشون در یک فرایند تدریجی بهبود پیدا کرده. خطایی که نه لزوماً برخاسته از یک مهندسی غلط، که برخاسته از نیاز بیزینسه. تغییراتی که هیچوقت پیشبینی نشدند، از ناکجا وسط معماری شما سر در میارند و شما را مجبور به تغییرات پرریسک و پرهزینه میکنند. شاهد این مدعا هم باگ فیکس های ابدی تمام پروژههای بزرگ و کوچیکه.
از نظر من، مشکلی که الان شیوع پیدا کرده، تولید کدهاییه که مسئولش از مکانیسمش سر در نمیاره. کدی که «عظیمه، مثل فیل. پر سر و صداست. هیاهوه. دیوانه است. پر هرجومرجه اما مدفوعه». یک فایل ۵۰۰ خطی که یک فیچرو پیاده کرده —که اتفاقاً درست هم کار میکنه— ولی کمتر کسی توان و حوصلهٔ این رو داره بشینه و کار شخص دیگهای رو بخونه تا عمیقاً بفهمه؛ بهخصوص که نرخ تولید PRهایی با تعداد تغییرات بالا به لطف AIها، در حال بیشتر و بیشتر شدنه. مشکلی که قبلا هم در سطح خرد با ظهور امثال استکاوورفلو بیشتر جون گرفت و الان رشد کرده و دست و پا در آورده.
❤17👍9👎1
چرا با وجود AI هنوز هم کیفیت کدی که نوشته میشه مهمه.
فرض کنید انکال هستید یا فرض کنید کد کاملا درست احتیاج دارید.
https://martinfowler.com/articles/exploring-gen-ai/i-still-care-about-the-code.html
فرض کنید انکال هستید یا فرض کنید کد کاملا درست احتیاج دارید.
https://martinfowler.com/articles/exploring-gen-ai/i-still-care-about-the-code.html
martinfowler.com
I still care about the code
Notes from my Thoughtworks colleagues on AI-assisted software delivery
👍16👌1