دوره های حدید مدرسه اخبات

| تا 80% تخفیف استثنایی

جستجو پیشرفته محصولات
0
سبد خرید خالی است.
ورود | ثبت نام
captcha

با ورود و یا ثبت نام در اخبات شما شرایط و قوانین استفاده از سرویس‌های مدرسه اخبات و قوانین حریم خصوصی آن را می‌پذیرید.

ورود | ثبت نام
captcha

با ورود و یا ثبت نام در اخبات شما شرایط و قوانین استفاده از سرویس‌های مدرسه اخبات و قوانین حریم خصوصی آن را می‌پذیرید.

تحریم شناسی و خنثی سازی تحریم

حدوداً بیست و پنج سال پیش و در سال 1995، javascript بوجود آمد تا بتوانیم با آن صفحه های وب ایجاد کنیم. شاید در آن ...
قیمت : 650,000 تومان

حدوداً بیست و پنج سال پیش و در سال 1995، javascript بوجود آمد تا بتوانیم با آن صفحه های وب ایجاد کنیم. شاید در آن زمان، هیچ کس فکر نمی‌کرد که جاوااسکریپت بتواند تا این حد فراگیر شود. زبانی که از ابتدا قرار بود مجموعه‌ای از اسکریپت‌های کوچک را در سمت client اجرا کند، اکنون به جایی رسیده که در همه زمینه‌ها حرفی برای گفتن دارد! از هوش مصنوعی و یادگیری ماشین گرفته، تا اینترنت اشیا و اپلیکیشن‌های موبایل و سرور نویسی و بسیاری حوزه‌های دیگر. در این میان، می‌توان ادعا کرد که وب نویسی سمت کاربر، وطن اصلی javascript محسوب می‌شود.

امروزه، javascript یکی از محبوب‌ترین زبان‌ها بین توسعه‌دهنده های وب است. سبک بودن آن، توانایی اجرا شدنش در مرورگرها، سادگی یادگیری آن، آسان بودن syntax و گستردگی استفاده‌اش، زیاد بودن کتابخانه‌ها، پلاگین‌ها و ابزارهایش، ظهور node.js و مواردی از این دست، جاوااسکریپت را به یک زبان جذاب برای برنامه‌نویس‌ها بدل کرده. ما قصد داریم در این مجموعه مقالات، به شرح npm بپردازیم، که بزرگ‌ترین  و غنی‌ترین software registry در دنیای جاوااسکریپت محسوب می شود.

این مجموعه مقالات در دو فصلِ «مقدماتی» و «پیشرفته» ارائه می شود و تلاش شده که مفاهیم و عناوین ضروری تر npm در مقالات فصل اول گنجانده شوند. همچنین برای آن دسته از کاربرانی که علاقمند به مطالعه عمیق تر این مبحث هستند، فصل دوم را تدارک دیده ایم و در آن مفاهیم پیشرفته تر npm را بررسی خواهیم کرد.

برای دنبال کردن مقالات فصل اول، نیازی به داشتن هیچ پیش زمینه‌ای نیست. ولی اگر تاکنون با پروژه‌هایی که پایه آن‌ها javascript و node.js بوده کار کرده باشید، بهتر می‌توانید از این مقالات استفاده کنید.

لازم به ذکر است که توضیحات این مجموعه مقالات، بر اساس npm نسخه 6.13 می‌باشد.

در این مقاله که نخستین قسمت از فصل اول این مجموعه است، درباره موضوعات زیر توضیح داده ایم:

· مفهوم پکیج و ماژول در دنیای جاوااسکریپت

· npm و چیستیِ آن

· نحوه نصب npm بر روی سیستم عامل

 

 

مفهوم پکیج در جاوااسکریپت

وقتی با جاوااسکریپت کار می‌کنیم، واژه‌های package و module خیلی به چشممان می‌خورند. این دو واژه بسیاری اوقات عملاً معنای مشابهی می‌دهند و مفهومی شبیه library ها در زبان‌های دیگر دارند. اما اگر بخواهیم دقیق‌تر بیان کنیم:

· معمولاً موقع کار با js خیلی با واژه library سر و کار نداریم.

· منظور از module در جاوااسکریپت، کوچک‌ترین واحد functionality است. (مثلاً هر چیزی که در جاوااسکریپت require، import و export می‌کنیم، یک module به حساب می‌آید)

· منظور از پکیج، distribution unit در کدهای مبتنی بر node.js می‌باشد. یک ماژول یا مجموعه‌ای از ماژول‌ها در کنار هم که به نحوی خاص ترکیب شده‌اند تا یک کار مشخص انجام دهند، یک package را تشکیل می‌دهند. در واقع واژه package وقتی وارد کار می‌شود که ما می‌خواهیم با community ارتباط برقرار کنیم و کدمان را در اختیار دیگران قرار بدهیم و آن را distribute کنیم. درست اتفاقی که در مورد npm رخ داده و می‌گوییم npm ابزاری‌ست برای مدیریت توزیع این واحد ها(یعنی همین پکیج‌ها). ایده اصلی این ساختارِ پکیجی، این است که هر پکیج تا جای ممکن کوچک باشد و یک کار خاص را انجام دهد، و بعداً از کنار هم قرار گرفتن این پکیج‌ها یک پروژه‌ایجاد شود. امروزه هر پروژه جاوااسکریپتی، مثلاً یک وب‌سایت، از تعداد زیادی پکیج در کنار یکدیگر تشکیل شده. در واقع پکیج یک دایرکتوری‌ست که یک یا چند فایل در آن قرار دارد، و فایلی به نام package.json  دارد که اطلاعاتی (metadata هایی) درباره آن پکیج به ما می‌دهد. اما اگر بخواهیم تعریف رسمی‌تر پکیج را بیان کنیم، باید بگوییم پکیج:

a) یک فولدر شامل یک برنامه است، که یک فایل package.json دارد و آن فایل برنامه را توصیف می‌کند.

b) یک فایل از جنس gzipped tarball است که مورد a را داشته باشد.

c) یک url است که خروجی‌‌اش مورد b می‌باشد.

d) یک <name>@<version> است که در registry مربوط به npm منتشر شده باشد و مورد c را داشته باشد.

e) یک <name>@<tag> است که به مورد d اشاره می‌کند.

f) یک <name> است که برچسب latest داشته باشد و شرط e را محقق کند.

g) یک <git remote url> است که به مورد a ختم شود.

برای مطالعه بیشتر درباره مفاهیم package و module و تفاوت های این دو، می توانید به آدرس زیر مراجعه کنید:

https://docs.npmjs.com/about-packages-and-modules

 

npm چیست؟

npm یا همان node package manager، بزرگ‌ترین بستر برای ثبت، نشر، اشتراک‌گذاری، بروزرسانی و استفاده از پکیج‌های جاوااسکریپت است. npm یک بستر software registry در اختیارمان قرار می‌دهد که از طریق آن، برنامه‌نویس‌ها از سراسر دنیا پکیج‌های خود را به اشتراک می‌گذارند یا پکیج سایر برنامه‌نویس ها را برای استفاده برمی‌دارند. در این بین اگر برنامه‌نویسی پکیجش را آپدیت کرد، npm به سادگی این امکان را به وی می‌دهد که پکیج بروز شده‌اش را مجدداً روی npm قرار دهد، و سایر کسانی هم که قبلاً در پروژه‌هایشان از آن پکیج استفاده می‌کردند، بتوانند آن را بروز کنند.

وقتی از npm صحبت می‌کنیم، معمولاً سه چیز مد نظرمان است:

1. ابزار CLI (command-line interface) ای که npm در اختیار قرار می‌دهد، یعنی همین دستوراتی که در ترمینال اجرا می‌کنیم.

2. وب‌سایت رسمی npm که حتماً با آن آشنایی دارید: npmjs.com. و در آن می توانیم دنبال پکیج‌های مورد نظرمان بگردیم، درباره آن‌ها اطلاعات کسب کنیم، برای خود و یا تیممان پروفایل بسازیم، ثبت‌نام با دسترسی و امکانات خاص انجام بدهیم، پکیج‌های private و public منتشر کنیم و … .

3. بستر registry که npm در اختیار ما قرار داده است. registry را می‌توان اینگونه تعریف کرد: «یک پایگاه داده بزرگ که درباره پکیج‌هایی که برنامه‌نویس‌ها با یکدیگر به اشتراک می‌گذارند اطلاعات دارد». هر کس بخواهد پکیجی تولید کند که دیگران بتوانند از طریق npm به آن دسترسی داشته باشند، باید آن را در registry ثبت کند.

 

نحوه نصب npm

نصب npm خیلی ساده است. npm بصورت خودکار همراه با node.js نصب می‌شود و همان‌طور که می‌دانید، برای نصب node.js هم کافی‌ست به سایت آن برویم و نسخه منطبق با سیستم‌عامل خود را از آنجا دانلود کنیم:

مــــــــــدرسان دوره
course Teacher
مدرس دوره
مسعود براتی
مسعود براتی، کارشناس، تحلیلگر و نویسنده، متولد 1364 است. وی پس از گذراندن دوره کارشناسی خود در رشته مهندسی مکانیک، برای ادامه تحصیل به دانشگاه تهران رفت و ارشد خود را در رشته روابط بین‌الملل گرفت. وی تا کنون کتاب‌های و مقالات بسیاری از جمله «جنگ اقتصادی، فهرست تحریم‌های اقتصادی آمریکا علیه ایران» و «چالشهای دیپلماسی عمومی ایران در عصر جهانی شدن» زا به نگارش درآورده است. از سوابق اجرایی او می‌توان به معاونت سازمان سرمایه‌گذاری و کمک‌های فنی و اقتصادی ایران، مدیریت گروه بین الملل شبکه کانونهای تفکر ایران (ایتان)، عضویت در کمیته تدوین برنامه های اقتصادی دولت سیزدهم، دبیری کارگروه اقتصادی معاونت ویژه ریاست قوه قضاییه، مسئول میز اقتصاد قرارگاه رسانه صداوسیما، کارشناس معاونت بررسی حوزه ریاست مجمع تشخیص مصلحت نظام، ریاست مرکز آموزشی گام، ریاست قرارگاه شهید احمدی‌روشن معاونت علمی و پژوهشی سازمان بسیج دانشجویی و تأسیس سایت تحلیلی عیارآنلاین اشاره کرد.
نظــرات کـاربـــران
user Comments
فاقد دیدگاه
دیدگاهی برای این مطلب ثبت نشده است. اولین دیدگاه را شما بنویسید.
ثبت دیدگاه
آموزش هـای مرتبط
related courses
دسته بندی اصلی
دوره های ویژه
تعداد دانشجو
1
مدرس آموزش
محمد معین مهرانی
زبان آموزش
فارسی
مدت زمان آموزش
42 ساعت
نوع تدریس
آنلاین / دانلودی
80% دوره آموزشی تکمیل شده است
قیمت دوره
650,000 تومان
بازخورد
0 از 0 بازخورد
تاریخ انتشار
12 آذر 1401
تاریخ بروزرسانی
11 اردیبهشت 1403