نوشته‌های ترمینالی
2.63K subscribers
424 photos
12 videos
32 files
2.25K links
Download Telegram
اگه می‌خواید از کامندلاین دانلود کنید ابزارهای پیش‌فرض wget و curl هستند.
بیاید curl رو بذاریم کنار، من خیلی ازش استفاده نکردم.

ابزار wget ساده و سرراسته، میتونه یه لیست دانلود (در قالب فایل تکست) ورودی بگیره.
اگرم یه فایل میخواید دانلود کنید به سادگی می‌نویسید:
wget -c https://do.wn/load/link
اون c هم برای اینه که اگر وسط کار ctrl c زدید و دانلود کامل نشد، اگر باز همین دستور رو اجرا کنید، ادامه‌ش رو دانلود می‌کنه. (c اول continue هست)

اما wget قابلیت‌های پیشرفته مثل دانلود چندنخی رو نداره، ابزارهایی که بتونید نصب کنید aria2 و axel هستند. آریا ابزار کامل و پیچیده‌ای هست، من هربار نیازش دارم دستوراتش رو سرچ می‌کنم و کپی می‌کنم
ولی axel هم مثل wget ساده و سرراسته، امکان دانلود چند نخی هم داره.
به این شکل:
axel -c -n 8 https://do.wn/load/link
کاربرد c همونه که ذکر شد، n هم با عدد کنارش تعداد نخ‌های دانلود رو مشخص می کنه که فکر کنم همین ۶−۱۰ تا، منطقی باشه.

اگر هم فایل‌هایی که می‌خواستید دانلود کنید توی یه فایل text بودن به اسم list.txt با دستور wget زیر می‌تونید اون ها رو دانلود کنید:
wget -c -i list.txt
برای axel نداریم این قابلیت رو :) باید اسکرپیتی چیزی بنویسید یا با shell بازی کنید.
https://vrgl.ir/XbpWW
خیلی مفصل در مورد رمزارزها، اونقدری که خودم سر در می آوردم نوشتم.
البته برای پروژه ریاضی۲ بود که به ریاضی هم ربط خاصی نداشت و نمره‌ش رو هم گرفتم، به هر حال چیزی از ارزش‌های بیتکوین کم نمیشه، اگه دوست داشتید بخونیدش. :))
اثر دانینگ کروگر
زیرونت هم چیز جالبیه، سال ها پیش باهاش آشنا شدم.
داستان از این قراره که یه کانسپت مثل تورنت ولی برای هاست کردن وبسایت‌ها
هر سایتی رو که بازدید کنی، seedش می‌شی و هرموقع بخواد کسی اون سایت رو بازدید کنه می‌تونه به هریک از بازدید کننده‌های قبلی وصل شه و فایل ها رو بگیره.
پاک کردن عملا ممکن نیست، مکانیسم آپدیت کردن هم داره ولی نمی‌دونم دقیقا چطوری
خوبیش از نظر ناشناس موندن منبع اصلیه، از تور هم استفاده می‌کنه بعدم که یه تعداد قابل قبولی seed شدن خودش می‌تونه جمع کنه و بره :)
https://zeronet.io/
https://emptycharacter.com/

انواع فاصله ها رو ببینیم
https://medium.com/@connect.ajkumar/memory-allocation-in-c-d48f2974e0c
تفاوت malloc و realloc و calloc
در مورد calloc و realloc چیزایی گفت که نمی‌دونستم:
اول اینکه calloc ذاتا برای گرفتن آرایه‌ست برای همینه که پارامتر سایز رو جذا می‌گیره. ضمنا خودش هم اون فضا رو صفر می‌کنه.
و اما realloc یه حافظه جدید اختصاص می‌ده و محتوای قبلی رو توش کپی می‌کنه و پوینتر جدیده رو بر می‌گردونه و قبلی رو فری می‌کنه.
حالا اگه موفق نشه حافظه جدید بگیره قبلی رو فری نمی‌کنه.
اگر بهش نال بدیم به عنوان پوینتر قبلی، مثل malloc کار می‌کنه و اگر به جای سایز بهش ۰ بدیم مثل فری کار می‌کنه!
برای تبدیل کردن یه استریم به string میشه از reduce استفاده کرد، با Collector join هم میشه ولی
مثلا:
return numbers.stream()
.map( n -> n.toString() )
.collect( Collectors.joining( "," ) );



coderwall.com/p/im4lja/joining-objects-into-a-string-with-java-8-stream-api
بدون دستور cd و فقط با نوشتی آدرسی مثل
/tmp یا ~ یا ./Documents
می‌تونید بین پوشه ها جا به جا بشید.

البته فقط توی bash و fish امتحان کردم.
حرکت‌گذاری در #فارسی

توی فارسی هم حرکت‌گذاری استفاده می‌شه، حالا اخیراً بینِ فارسی‌زبان‌ها مغفول مانده ولی گاهی واقعا برای فهمِ بهتر لازمه.
در مورد نشانه‌ی اضافه بین ویراستانْ بحث هست ولی قطعاً اینطور نیست که به عربی منسوب بشه و بگوییم در فارسی وجود نداره، چون در الفبای فارسی هم وجود داره و استفاده می‌شه.
می‌تونید در این لینک‌ها در موردش مطالعه کنید:
لینکِ اول، صرفاً در موردِ ضرورتِ نوشتنِ نشانه‌یِ اضافه
https://khabgard.com/3902/%D9%86%D8%B4%D8%A7%D9%86%D9%87%E2%80%8C%DB%8C%D9%90-%D8%A7%D8%B6%D8%A7%D9%81%D9%87/

لینکِ دوم، در بابِ اعراب‌گذاری صحیح و آموزشِ گذاشتن نشانه‌ها در کیبوردِ فارسی.
https://takeadetour.blogsky.com/1392/04/12/post-243/%D8%A7%D8%B9%D8%B1%D8%A7%D8%A8-%DA%AF%D8%B0%D8%A7%D8%B1%DB%8C-%D8%A8%D9%87-%D9%87%D9%86%DA%AF%D8%A7%D9%85-%D8%A7%D9%87%D9%85%DB%8C%D8%AA-%D8%A2%D9%86-%D9%88-%D8%B1%D9%88%D8%B4-%D9%87%D8%A7%DB%8C-%D8%A7%D8%B9%D8%B1%D8%A7%D8%A8-%DA%AF%D8%B0%D8%A7%D8%B1%DB%8C

لینکِ سوم، سه نکته در مورد اعراب‌ْگذاری
https://www.magiran.com/article/2155761


آیا همه این‌ها به این معنیه که من همیشه درست می‌نویسم؟ خیر قطعا، من هم بسیار اشتباه دارم ولی تلاش می‌کنم درست بنویسم.
آیا همیشه رعایت می‌کنم؟ گاهی وقتا فراموش می‌کنم ولی تلاشم رو می‌کنم رعایت کنم.
کلیدواژه register توی زبان سی/سی‌پلاس‌پلاس به این اشاره داره که از کامپایلر خواهش میکنیم متغیرمون به جای مموری، توی رجیستر‌های سریع پردازنده نگه‌داری بشه چون خیلی باهاش کار می‌کنیم و اینطوری سرعت برنامه زیاد می‌شه.
مثلا:
register int miles;

اما محدودیت‌ها:
1- استفاده از این کلیدواژه هیچ لزومی ایجاد نمی‌کنه که واقعا توی register نگه داری بشه
2- اگر متغیری اندازه‌ش بیشتر از سایز رجیسترهای پردازنده هست، همچین امکانی نداریم. (مثلا اگر رجیسترها 32 بیت هستند ولی ما بخوایم یه دابل 8 بایتی رو توش نگه داریم)
3- جالب‌ترینش اینکه اجازه استفاده از عملگرد آدرس (&) رو، روی این متغیر نداریم چون اصلا توی مموری نیست که بخواد آدرس داشته باشه!

یه نوشته سریع و مختصر از سی
https://www.tutorialspoint.com/cprogramming/c_quick_guide.htm
در مورد preprocessorها و header fileها توی سی، چون هرچی در مورد سی بدونیم کمه

https://www.tutorialspoint.com/cprogramming/c_preprocessors.htm

https://www.tutorialspoint.com/cprogramming/c_header_files.htm