نوشته‌های ترمینالی
2.62K subscribers
424 photos
12 videos
32 files
2.25K links
Download Telegram
خلاصه کتاب کد تمیز
هر فصل در یک مطلب وبلاگ
https://jimmyheller.com/category/%d8%b1%d8%b4%d8%aa%d9%87-%d8%a8%d9%84%d8%a7%da%af/
Forwarded from Erfan Alimohammadi
فیلم‌های دوره‌ی آموزش الگوریتم دانشگاه تهران روی آپارات گذاشته شد.

لینک: https://www.aparat.com/playlist/463831
هر کدوم هم یه وظیفه‌ای دارنا!
دستور (یا ابزارِ) ag
https://conqueringthecommandline.com/book/ack_ag


کلیتش مثل grep هست یعنی یه regex رو توی فایل ها سرج می‌کنه.
با این تقاوت که recursive هست و مثلا می‌تونید توی کل فایل های یه پروژه سرچ کنید.
بعد میگه بهتون که چه خطی شامل اون عبارت بوده (و مثلا می‌تونه خط های قبل و بعد رو هم نشون بده)
پکیج zenity
سازنده: گنوم
به پکیج خیلی جذاب و ساده‌س (حداقل استفاده ازش ساده‌س)
به این صورت که دستور zenity رو تو کامند لاین می‌زنید با یه آرگومان، مثلا
zenity --password


بعد یه صفحه گرافیکی باز میشه که پسورد رو بپرسه و اون رو چاپ میکنه (میفرسته تو stdou)
حالا مثلا با یه چیزی مثل process تو جاوا یا [لینکی که قرار میدم] توی سی‌پلاس‌پلاس میشه اون پروسسش رو کال کرد و خروجی رو گرفت ریخت تو برنامه.
دیگه بدون نیاز به هیچ چیزِ گرافیکی و فقط نصب بودن همین می‌تونید در حد دیالوگ‌های ورودی و نمایش خطا رو داشته باشید

https://stackoverflow.com/questions/34013090/execute-a-new-process-or-multiples-in-a-program



https://help.gnome.org/users/zenity/stable/
همونطور که می‌بینید در حد دیالوگ‌ساز، قابلیت‌های خوب و کاملی هم داره
من این ویدیو رو برای درس طراحی کامپایلر دارم می‌بینم ولی بسیااار درک خوبی از جاوا می‌ده بهتون.
https://www.youtube.com/watch?v=e2zmmkc5xI0&t=1546s

پانوشت: خیلی چیزها هست که نمی‌دونیم! در واقع استفاده از byte وshort نه تنها مصرف رم رو کاهش نمی‌ده، بلکه در واقع همون int نگهداری می شه و به صورت دستی overflowش هندل میشه و عملا کندتره =)
FACT:
به resourceی که داخل jar جاوا گذاشتیم، نمی‌تونیم به عنوان file نگاه کنیم.
راه خوبش همینه که inputstreamش رو بگیریم و خیال راحت.
نوشته‌های ترمینالی
دستور (یا ابزارِ) ag https://conqueringthecommandline.com/book/ack_ag کلیتش مثل grep هست یعنی یه regex رو توی فایل ها سرج می‌کنه. با این تقاوت که recursive هست و مثلا می‌تونید توی کل فایل های یه پروژه سرچ کنید. بعد میگه بهتون که چه خطی شامل اون عبارت بوده…
در کنار ag، از بهترین و کمک کننده ترین ابزارهایی که استفاده میکنم، FZF یا fuzzy file finder هست.
باز که میشه اسم فایل رو واردش میکنید و دنبال فایلی با اون اسم (یا اسم و مسیر) در پوشه جاری می‌گرده.
بسیار سریع، خوش دست و زیباست.
لازم به ذکره که پلاگین vim هم داره.

استفاده ازش هم ساده‌س.
کافیه بزنید fzf و بعدش تایپ کنید اسم فایلتون رو.

دانلود و اطلاعات بیشتر:
https://github.com/junegunn/fzf

اموزش و معرفی:
https://www.youtube.com/watch?v=qgG5Jhi_Els

و بازم آموزش:
https://www.tecmint.com/fzf-fuzzy-file-search-from-linux-terminal/
معرفی دستور touch
اسمش جالبه و تقریبا معنی رو می‌رسونه.
به این صورته که اسم یه فایل رو بهش میدید و اون timestampش رو براتون آپدیت می‌کنه.
از نگاه سیستم عامل اون فایل آپدیت شده ولی در واقع محتویاتش هیچ تغییری نکرده.
جایی که استفاده میشه مثلا اینه که می‌خوایم بدون اینکه چیزی رو به هم بریزیم و فایلی رو واقعا تغییر بدیم ببینیم دسترسی write داریم یا نه.
همچنین اگر فایلی که بهش میدید وجود نداشته باشه، یه فایل جدید می‌سازه به اون نام و timeStamp ش رو همون موقع تنظیم می‌کنه.
یه فایل جدیدِ خالی