نوشته‌های ترمینالی
2.63K subscribers
424 photos
12 videos
32 files
2.25K links
Download Telegram
اثر دانینگ کروگر
زیرونت هم چیز جالبیه، سال ها پیش باهاش آشنا شدم.
داستان از این قراره که یه کانسپت مثل تورنت ولی برای هاست کردن وبسایت‌ها
هر سایتی رو که بازدید کنی، 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
#مقاله
#در_سایت_جاواکاپ_بخوانید

همواره به توسعه‌دهندگان جاوا توصیه می‌شود که JVM و بخش‌های مختلف آن را بشناسند.
یکی از این بخش‌ها که در عملکرد برنامه‌ جاوایی شما تاثیر زیادی دارد، just in time compiler یا به اختصار JIT است. به طور خلاصه JIT بخش‌های پرتکرار کد شما (hotspot) را در زمان اجرا کامپایل می‌کند تا لازم نباشد برای هر اجرا آن را تفسیر کند.
در این مقاله کمی با JIT کلنجار می‌رویم و بررسی می‌کنیم JIT در مقابل بهینه‌سازی‌های دستی ما چگونه عمل می‌کند.

https://javacup.ir/close-look-at-jit/

@JavaCupIR
ابزار vimv یه ابزار برای rename کردن فایل از توی ترمینال با ویم هست.
اینطوریه که باید یه پکیج جدا نصب کنید و پیشفرض نصب نیست، بعدش توی یه پوشه می‌نویسید vimv و با vim یه فایل باز می‌کنه که هر خطش شامل اسم فایل/فولدرهای پوشه‌ٔ جاریه.
بعد هر کدوم رو می‌تونید ادیت کنید بعد که ویم رو ببندید (اگه نتونستید بگید) اون فایل/پوشه‌ها به اسم‌های جدیدشون رینیم میشن

https://twitter.com/i/status/1270720407272738818