نوشته‌های ترمینالی
2.62K subscribers
424 photos
12 videos
32 files
2.25K links
Download Telegram
Forwarded from Design Stuff
چطور به سوالاتی که دیگران از ما می‌پرسن، به بهترین شکل پاسخ بدیم؟

📄 مطالعه‌‌ی مقاله

#Article
🦚 @Design_Stuffs
man bash | wc

۵۰ هزار کلمه
۶۴۰۰ خط
۳۸۳ هزار کارکتر
برای bash آموزش نوشتن.
https://github.com/alexanderchuranov/Metaresc
این رو حقیقتا نفهمیدم چیکار میکنه ولی به نظرم با ماکروها داره معجزه می‌کنه. =)
یه کارش این بود که با تعریف یه چیزی شبیه struct و پر کردن داده توش، می‌تونه تبدیلش کنه به xml.
برای اینکه بفهمیم کدوم خط برنامه سی/سی‌پلاس‌پلاس مون دچار خطا شده، می‌تونیم از gdb اسفاده کنیم.
به این صورت که موقع کامپایل، فلگ -g رو به g++/gcc پاس می‌دیم تا بدونه که باید اطلاعات دیباگ هم به فایل باینری اضافه کنه.
g++ -g code.c


قدم بعدی، باز کردن برنامه با gdbست.
gdb ./a.out


حالا وارد gdb می‌شیم که جعبه ابزار کاملی از امکاناته.
چیزای خوبی مثل watch و breakpoint رو توی این مرحله می‌تونیم اضافه کنیم ولی من اعتقادی بهشون ندارم.
بریم برای اجرا.
برای اجرا دستور run رو وارد می‌کنیم.
حالا برنامه اجرا میشه و اگه با مشکل رو به رو بشه، همراه با شماره خط، می‌نویسه که مشکل چی بود. (یعنی علت segmentation fault و موارد مشابه رو می‌فهمیم کدوم خط بوده)

حالا اگر برنامه‌مون ورودی می‌گرفت چی؟
اگر مستقیم از stdin بخوایم بگیره که می‌گیره. هیچی.
اما اگر بخوایم از یه فایل بخونه، می‌تونیم چنین چیزی بنویسم به جای run خالی:

(gdb) run < ~/input.txt

اینطوری میاد و ورودی رو از فایل input.txt که واقع در پوشه هومه می‌خونه.
همینطوری بعد از ران می‌شه پارامتر به خود executableمون هم پاس بدیم. در مجموع run مثل نوشتن همون اسم executable توی ترمیناله.
امروز با مفهوم lsp بیشتر آشنا شدم.
گویا قضیه از این قراره که دیدن توی vscode به راحتی میشه قابلیت‌های ide توی یه زبان مشخص رو به ادیتور اضافه کرد.
ولی توی ویم چنین استانداردی نبوده که راحت باشه و برای هر زبان باید دردسرهای متفاوتی رو متحمل بشی.
اومدن از همون (؟) استانداردها استفاده کردن و یه پلاگین جامع نوشتن به اسم vim lsp
کارش هم اینه که هر زبونی بهش بگید رو می‌تونه براتون فیچرهای ideش رو نصب کنه.
مثلا توی یه فایل rs باشید و بزنید intall language server، برای شما قابلیت‌های autotcomplete راسط رو نصب میکنه.
به همین ترتیب برای زبون‌های دیگه.
https://github.com/prabirshrestha/vim-lsp
نوشته‌های ترمینالی
How To Become A Hacker https://www.catb.org/~esr/faqs/hacker-howto.html
بخشی از مقاله:
competence at demanding skills that involve mental acuteness, craft, and concentration is best.
📣Call for Members:
Systems Artificial Intelligence Network (SAIN)

Systems Artificial Intelligence Network (SAIN) is a network to promote an interdisciplinary perspective in the two fields of systems biology and artificial intelligence. This network is running under supervision of Prof. Nima Rezaie.

SAIN is one of the USERN interest groups.

📃 Group definition:
https://t.iss.one/sain_usern/4

We hereby invite all interested individuals to visit our form via the link below for obtaining more information about SAIN and registration:

Link

🔸️Registration deadline: February 1th

💻 USERN URL:
https://usern.tums.ac.ir/Group/Info/SAIN

📧Email: [email protected]

🆔️ @sain_usern | @usern_net