چرا تمام توسعه دهندگان باید Command Line را یاد بگیرند؟

ترجمه و تالیف : عرفان کاکایی
تاریخ انتشار : 13 خرداد 98
خواندن در 3 دقیقه
دسته بندی ها : برنامه نویسی

برخی توسعه دهندگان با فکر باز کردن یک پنجره ترمینال دیوانه می‌شوند. این مسئله برای تازه‌کاران می‌تواند دلهره‌آور، پر تنش و آزار دهنده باشد. اما توسعه دهندگانی که Command Line را درک می‌کنند، می‌گویند که این یکی از بهترین ابزار در خدمت شماست.

پس Command Line برای توسعه دهندگان مدرن چقدر ضروری است؟ به نظر من Command Line ضرورتی برای موفقیت، و کار با کد frontend یا backend می‌باشد. Command Line تبدیل به چاقویی برای امکاناتی شده است که پشت دستورات ساده پنهان شده‌اند. اگر زمان خود را صرف یادگیری این دستورات نمایید، از مقدار قدرتی که در آن مستطیل سیاه دارای یک مکان‌نمای سفید که می‌درخشد وجود دارد، شگفت‌زده خواهید شد.

شما کنترل بهتری بر روی عملکردهای سیستم به دست می‌آورید

احتمالا واضح‌ترین دلیل برای یادگیری Command Line، عملکرد اصلی آن است: کنترل بهتر. این‌ها دستوراتی هستند که فقط از طریق shell قابل دسترسی بوده، و عملیات‌های بسیار پیچیده‌ای را بر روی دستگاه‌های Unix / Linus و Windows کنترل می‌کنند.

چرا تمام توسعه دهندگان باید Command Line را یاد بگیرند؟

دستورات پایه آن، دستوراتی مانند تغییر دادن مجوزها بر روی یک فایل خاص، یا گشتن شاخه‌ای که از دید پنهان است می‌باشند. دستورات پیچیده هم دستوراتی مانند مدیریت سرور برای راه‌اندازی یک سرور محلی مانند Apache / MySQL هستند.

حداقل ارزشش را دارد که امکانات دستورات shell را فقط به خاطر این که نحوه کار آن‌ها را درک کنید، بگردید. نادیده گرفتن یک قطعه فناوری فقط به خاطر این که بیش از حد گیج کننده است، ایده خوبی نیست.

اما اگر فراتر از عملکردهای سیستم نگاه کنیم، ما گروهی از ابزار توسعه دهندگان وب را داریم که از طریق Command Line فعالیت می‌کنند. هر چیزی نمی‌تواند به مانند یک برنامه دانلود شده و نصب شود؛ پس درک دستورات shell، عذاب یادگیری نحوه نصب آخرین ابزار توسعه دهندگان را از روی دوش شما بر خواهد داشت.

شما می‌توانید از NPM برای نصب پکیج‌ها استفاده کنید

به راحتی می‌توان گفت که Node Package Manager معروف‌ترین ابزار برای توسعه دهندگان مدرن است. این ابزار بر پایه Node.js ساخته شده است که به عنوان یک فریم‌وورک JavaScript برای اسکریپت‌های دیگر (مانند NPM) رفتار می‌کند.

یک نکته که باید حواستان به آن باشد، این است که NPM هیچ رابط کاربری گرافیکی‌ای ندارد. هیچ راهی ندارد که مانند فروشگاه Mac بر روی دکمه install کلیک کنید. هر پکیج باید به صورت دستی و از طریق دستور npm در یک پنجره ترمینال نصب شود.

چرا تمام توسعه دهندگان باید Command Line را یاد بگیرند؟

این مسئله ممکن است برای کاربران غیر shell آزار دهنده به نظر برسد، اما در واقع کنترل بیشتری برای شما فراهم می‌کند. کتابخانه NPM شامل بیش از ۲۰۰.۰۰۰ پکیج است که هر هفته تعداد بیشتری پکیج هم به آن اضافه می‌شوند. این که این پکیج‌ها را به صورت خارجی میزبانی کنید و به کاربر اجازه دهید که تصمیم بگیرد چه چیزی را نصب کند، بسیار ساده‌تر است.

به یاد داشته باشید که برخی از این ابزارها می‌توانند به صورت جداگانه و از طریق نصب کننده‌های باینری خود نصب شوند. اما NPM همه چیز را متمرکز می‌کند تا بتوانید تمام ابزار مورد علاقه خود را با یک دستور دوستانه نصب کنید: npm install.

با NPM، شما به تعدادی ابزار مانند این موارد دسترسی دارید:

  • Grunt
  • Gulp
  • Less
  • Jade
  • CoffeeScript
  • Express.js

یک انتخاب معروف هم نصب Ruby gemها به همراه پکیج‌های NPM است. گرچه Ruby gemها در واقع بخشی از ابزار مدیریت پکیج نیستند، اما می‌توانند به روشی مشابه رفتار کنند.

چرا تمام توسعه دهندگان باید Command Line را یاد بگیرند؟

در هر صورت هر دو تکنیک نیازمند درک دستورات CLI‌ ابتدایی هستند. اگر شما NPM را تمرین کنید و نحوه کار آن را درک کنید، در کمتر از یک ساعت می‌توانید با آن کار کنید.

شما می‌توانید کنترل نسخه Git را به کار بگیرید

برنامه‌نویسان و توسعه دهندگان، هر دو باید قدرت کنترل نسخه را درک کنند. قابلیت تقسیم بندی / ادغام یک پروژه در چند نسخه، بی نظیر است.

متاسفانه یادگیری Git هم اگر از پیش نحوه کار آن را درک نکنید، سخت است. حال پیچیدگی کار کردن داخل Command Line را هم به آن اضافه کنید، و سپس واضح خواهد شد که چرا Git این همه توسعه دهنده را می‌ترساند.

چرا تمام توسعه دهندگان باید Command Line را یاد بگیرند؟

سختی Git در حفظ کردن دستورات کنترل نسخه، درحالیکه به طور موازی دستورات Command Line را هم یاد می‌گیرید است. برنامه‌هایی برای دسکتاپ وجود دارند که یک رابط کاربری گرافیکی را به همراه دارند، اما همچنان از شما انتظار دارند که اساس کنترل نسخه (clone کردن، branch کردن، ادغام و...) را بلد باشید.

برای یک تازه‌کار، انحنای یادگیری Git می‌تواند تند باشد. با یک تمرین معمولی، باز هم یکی دو ماه نیاز خواهد بود تا مفاهیم را در ذهن خود بکارید. اما Git یک ابزار ضروری برای هر توسعه دهنده‌ای است و این هم یک علت دیگر برای یادگیری Command Line می‌باشد.

شما برای استفاده از پیش‌پردازنده‌ها و Task Runnerها به آن نیاز دارید

توسعه دهی frontend در سال‌های اخیر خیلی تغییر کرده است. ما پیش پردازنده‌هایی مانند Sass / Less را برای CSS، و Haml / Jade را برای HTML داریم. ما همچنین task runnerهایی مانند Gulp و Grunt را برای خودکارسازی عملیات‌ها از طریق JavaScript داریم. در جایی که این تکنیک‌ها برای ساخت یک وبسایت مدرن ضروری هستند، یک منظره کاملا جدید وجود دارد.

اگر نمی‌دانید، ابزاری مانند Sass و Haml مستقیما از طریق Command Line اجرا می‌شوند. هر دوی این پیش‌پردازنده‌ها بر پایه Ruby ساخته شده‌اند و برای کمپایل کردن کد نیازمند دستورات ترمینال می‌باشند. با این که شما می‌توانید یک Gulp task را برای خودکارسازی پیش‌پردازش راه‌اندازی کنید، باز هم این کار نیازمند دانش Command Line است.

وقتی که این ابزارها برای روند توسعه‌دهی ضروری می‌شوند، درک اساس اسکریپت‌نویسی shell و Command Line حیاتی است.

Command Line، برای توسعه‌دهی backend‌

هر چیزی از PHP گرفته تا Rails و Python، نیازمند نوعی تعامل با Command Line است. ابزار نصب مانند MAMP همه چیز را آسان‌تر کردند، اما هیچ جایگزینی برای قدرت خام کار در Command Line وجود ندارد.

چرا تمام توسعه دهندگان باید Command Line را یاد بگیرند؟

با این که PHP می‌تواند با استفاده از نرم‌افزاری مانند MAMP نصب شود، اما فریم‌وورک‌هایی مانند Laravel نیازمند Composer هستند که در واقع یک ابزار مدیریت dependency می‌باشد. این روند نصب، تقریبا به طور کامل از طریق Command Line انجام می‌گیرد.

فریم‌وورک Django نیازمند یک روند نصب CLI مشابه بر پایه pip، یک ابزار مدیریت پکیج رایگان Python می‌باشد. همچنین روند راه‌اندازی سرور محلی خود بر روی Node.js را نیز در نظر بگیرید. برای انجام این کار، اول باید محیط کامپیوتر خود (Unix یا Windows) را درک کنید. سپس هم باید اساس Node.js را یاد بگیرید.

چرا تمام توسعه دهندگان باید Command Line را یاد بگیرند؟

با کمی آسودگی در اسکریپت‌نویسی Shell، کنترل بهتری بر روی دستگاه خود برای نصب پکیج‌ها، بررسی بروزرسانی‌ها، راه‌اندازی مجدد یک سرور محلی و نصب ماژول‌ها برای امکانات بهبود یافته خواهید داشت.

مهم نیست که از چه زبانی استفاده می‌کنید، یا این که در حال تلاش برای یادگیری آن هستید؛ Command Line یک ابزار قدرتمند در انبار مهمات شما خواهد بود. حتی یک درک پایه از اسکریپت‌نویسی Shell هم می‌تواند اعتماد به نفس و ارزش محل کار شما را در بازاری پر از توسعه دهندگان با استعداد بهبود بخشد.

منبع

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید