سلام دوستان! اگه تو دنیای برنامه نویسی، تحلیل داده، یا یادگیری ماشین چرخ می زنید، احتمالاً اسم ژوپیتر نوتبوک Jupyter Notebook به گوشتون خورده. اما شاید هنوز دقیق ندونید این ژوپیتر نوتبوک Jupyter Notebook چیه ، چه کارایی داره، و اصلاً چرا اینقدر سر و صدا کرده.
نگران نباشید، تو این مطلب می خوایم با زبون خودمونی و به طور کامل ژوپیتر نوتبوک رو بررسی کنیم و ببینیم چرا این ابزار انقدر محبوب و کاربردیه. پس کمربندها رو ببندید و بریم تو دل ماجرا!
شاید باورتون نشه، ولی ژوپیتر نوتبوک Jupyter Notebook در ابتدا بخشی از یه پروژه دیگه بوده به اسم آیپایتون (IPython). آیپایتون در سال ۲۰۰۱ به عنوان یه مفسر (Interpreter) تعاملی برای زبان پایتون متولد شد. هدفش این بود که کار کردن با پایتون رو راحتتر و لذتبخشتر کنه. به مرور زمان، آیپایتون قابلیتهای جدیدی مثل تکمیل خودکار کد، هایلایت کردن سینتکس و تاریخچه دستورات رو اضافه کرد.
(این لینک رو بررسی کنید و اگه باز نشد، یه عکس دیگه از محیط آیپایتون پیدا کنید و لینکش رو جایگزین کنید. هدف اینه که یه عکس از ظاهر آیپایتون در اون زمان داشته باشیم.)
بعد از مدتی، توسعهدهندههای آیپایتون به این فکر افتادن که یه رابط کاربری تحت وب (Web-based Interface) برای آیپایتون بسازن تا کار با اون راحتتر بشه. این ایده باعث شد که یه پروژه فرعی به اسم “آیپایتون نوتبوک” (IPython Notebook) متولد بشه. آیپایتون نوتبوک به کاربرها اجازه میداد که کدهاشون رو توی یه محیط گرافیکی بنویسن، اجرا کنن و نتیجه رو ببینن. همچنین، میتونستن متن، عکس و حتی ویدیو رو هم به نوتبوک اضافه کنن.
(این لینک به لوگوی اصلی Project Jupyter منتهی میشه. این لوگو نمایانگر تغییر و تحول از IPython به Jupyter هست.)
اما یه مشکل وجود داشت: آیپایتون نوتبوک فقط از زبان پایتون پشتیبانی میکرد. توسعهدهندهها به این نتیجه رسیدن که بهتره این ابزار رو از وابستگی به پایتون رها کنن و اون رو به یه ابزار مستقل و چندزبانه تبدیل کنن. به همین دلیل، در سال ۲۰۱۴، پروژه ژوپیتر (Project Jupyter) متولد شد. اسم “ژوپیتر” (Jupyter) از سه زبان برنامهنویسی اصلی که در اون زمان پشتیبانی میشدن گرفته شده بود: Julia, Python و R.
به زبون سادهتر، ژوپیتر نوتبوک Jupyter Notebook یه جورایی مثل یه صفحه وب تعاملی (interactive webpage) میمونه که میتونید توش کد بنویسید و هر چیزی که دوست دارید رو اضافه کنید.
وقتی ژوپیتر نوتبوک رو باز میکنید، با یه صفحه وب نسبتاً ساده روبرو میشید. این صفحه از بخشهای مختلفی تشکیل شده که هر کدوم یه وظیفهای دارن. بیاید با هم یه نگاهی به این بخشها بندازیم:
این نوار که در بالای صفحه قرار داره، شامل منوهای مختلفی مثل File, Edit, View, Insert, Cell, Kernel, Widgets, Help هست. هر کدوم از این منوها یه سری گزینه دارن که میتونید ازشون برای انجام کارهای مختلف استفاده کنید. مثلاً از منوی File میتونید یه نوتبوک جدید ایجاد کنید، یه نوتبوک موجود رو باز کنید، یا نوتبوک خودتون رو ذخیره کنید.
این نوار که زیر نوار منو قرار داره، شامل یه سری دکمههای پرکاربرد هست که میتونید با استفاده از اونا کارهای مختلفی رو سریعتر انجام بدید. مثلاً دکمههای Save, Insert Cell, Cut, Copy, Paste, Run, Interrupt, Restart Kernel و غیره رو اینجا پیدا میکنید.
سلولها مهمترین بخش ژوپیتر نوتبوک هستن. هر نوتبوک از تعدادی سلول تشکیل شده که میتونید توشون کد بنویسید، متن بنویسید، یا هر چیز دیگهای که دوست دارید رو اضافه کنید. دو نوع اصلی سلول داریم:
هسته یه برنامه کامپیوتری هست که کدهای شما رو اجرا میکنه. وقتی شما یه سلول کد رو اجرا میکنید، ژوپیتر نوتبوک کد رو به هسته میفرسته و هسته اون رو اجرا میکنه و نتیجه رو به شما برمیگردونه. ژوپیتر نوتبوک از هستههای مختلفی پشتیبانی میکنه، از جمله هسته پایتون (Python kernel)، هسته R (R kernel)، و هستههای زبانهای دیگه.
حالا که با ظاهر ژوپیتر نوتبوک Jupyter Notebook آشنا شدیم، بیاید ببینیم که دقیقاً چه چیزهایی رو میتونیم توش پیدا کنیم:
مهمترین چیزی که توی ژوپیتر نوتبوک پیدا میشه، کد هست. شما میتونید تو سلولهای کد، کدهای خودتون رو بنویسید و اجرا کنید. ژوپیتر نوتبوک از زبانهای برنامهنویسی مختلفی پشتیبانی میکنه، اما پایتون محبوبترین زبانی هست که با این ابزار استفاده میشه. دلیلش هم اینه که پایتون یه زبان ساده و قدرتمند هست که کتابخانههای خیلی زیادی برای انجام کارهای مختلف داره.
علاوه بر کد، شما میتونید تو ژوپیتر نوتبوک متن هم بنویسید. این متن میتونه شامل توضیحات، نکات، نتایج، یا هر چیز دیگهای باشه که میخواید در مورد پروژهتون بنویسید. برای نوشتن متن میتونید از سلولهای مارکداون استفاده کنید.
یکی از ویژگیهای خیلی خوب ژوپیتر نوتبوک اینه که میتونید به راحتی نمودارها رو توش رسم کنید. این خیلی مهمه، چون نمودارها به شما کمک میکنن که دادههای خودتون رو بهتر درک کنید و نتایج خودتون رو به شکل بصری (visual) نشون بدید. برای رسم نمودارها میتونید از کتابخانههای مختلفی مثل Matplotlib و Seaborn استفاده کنید.
اگه لازم دارید که عکسهایی رو توی نوتبوک خودتون قرار بدید، میتونید به راحتی این کار رو انجام بدید. میتونید عکسها رو از یه فایل آپلود کنید، یا از یه URL بهشون لینک بدید.
مثل عکسها، شما میتونید ویدیوها رو هم توی نوتبوک خودتون قرار بدید. البته نمایش مستقیم ویدیو ممکنه یه کم پیچیده باشه، ولی میتونید از لینکهای ویدیو استفاده کنید تا کاربرها بتونن با کلیک روی لینک، ویدیو رو ببینن.
اگه دارید روی یه پروژه علمی کار میکنید، احتمالاً نیاز دارید که فرمولهای ریاضی رو هم توی نوتبوک خودتون بنویسید. برای این کار میتونید از LaTeX استفاده کنید. LaTeX یه زبان نشانهگذاری (markup language) هست که برای نوشتن فرمولهای ریاضی خیلی مناسبه.
یکی دیگه از ویژگیهای باحال ژوپیتر نوتبوک Jupyter Notebook اینه که میتونید خروجیهای تعاملی ایجاد کنید. یعنی چی؟ یعنی میتونید یه سری ویجت (widget) مثل دکمه، اسلایدر، منو، و غیره رو توی نوتبوک خودتون قرار بدید و با استفاده از اونا با کدتون تعامل داشته باشید. برای ایجاد خروجیهای تعاملی میتونید از کتابخانههایی مثل ipywidgets استفاده کنید. این قابلیت به خصوص برای ساخت دشبوردها (dashboards) و ابزارهای تعاملی خیلی مفیده.
برای ارجاع به منابع خارجی، میتونید از لینکها استفاده کنید. لینکها به شما این امکان رو میدن که به صفحات وب، فایلها، یا هر منبع دیگهای که به پروژهتون مربوط میشه، لینک بدید.
ژوپیتر نوتبوک به شما این امکان رو میده که فایلهای مختلف رو توی نوتبوک خودتون مدیریت کنید. میتونید فایلها رو آپلود کنید، دانلود کنید، تغییر نام بدید، یا حذف کنید.
تصور کنید در حال نوشتن یک برنامه بزرگ هستید. هر بار که یک تغییر کوچک ایجاد میکنید، باید کل برنامه را اجرا کنید تا ببینید آیا تغییرتان تاثیر مثبتی داشته یا نه. این کار میتواند بسیار وقتگیر و خستهکننده باشد. اما ژوپیتر نوتبوک این مشکل را به طور کامل حل میکند.
یکی از بزرگترین مزایای ژوپیتر نوتبوک، محیط تعاملی و گام به گام آن است. در ژوپیتر نوتبوک، کد شما به سلولهای کوچک تقسیم میشود. شما میتوانید هر سلول را به صورت جداگانه اجرا کنید و نتیجه را بلافاصله ببینید. این امکان به شما اجازه میدهد تا کد خود را به صورت گام به گام توسعه دهید، خطاهای احتمالی را سریعتر شناسایی کنید و درک عمیقتری از عملکرد کد خود به دست آورید.
به عبارت دیگر، ژوپیتر نوتبوک شبیه به یک آزمایشگاه است که در آن میتوانید ایدههای مختلف را به راحتی آزمایش کنید، نتایج را مشاهده کنید و در صورت نیاز تغییرات لازم را اعمال کنید. این رویکرد تعاملی، فرآیند یادگیری و توسعه را بسیار لذتبخشتر و کارآمدتر میکند.
ژوپیتر نوتبوک تنها یک محیط کدنویسی نیست، بلکه یک ابزار قدرتمند برای ایجاد مستندات زنده و جذاب است. در هر سلول ژوپیتر نوتبوک، میتوانید کد، متن (با استفاده از زبان نشانهگذاری Markdown) و تصاویر را به طور همزمان ترکیب کنید.
این قابلیت به شما اجازه میدهد تا توضیحات کاملی در مورد کد خود ارائه دهید، نتایج آزمایشات خود را به صورت بصری به تصویر بکشید و فرآیند تحقیق و توسعه خود را به طور کامل مستند کنید. به عبارت دیگر، ژوپیتر نوتبوک به شما کمک میکند تا یک داستان کامل در مورد کد خود تعریف کنید.
تصور کنید در حال انجام یک پروژه یادگیری ماشین هستید. شما میتوانید در ژوپیتر نوتبوک کد خود را برای آموزش یک مدل یادگیری ماشین بنویسید، سپس با استفاده از متن و تصاویر، مراحل مختلف آموزش مدل، نتایج ارزیابی و تفسیر آنها را به طور کامل توضیح دهید. این مستندات زنده میتوانند برای به اشتراک گذاشتن نتایج با همکاران، ارائه گزارش به مدیران و یا حتی انتشار در مقالات علمی بسیار مفید باشند.
ژوپیتر نوتبوک تنها به زبان برنامهنویسی پایتون محدود نمیشود. در واقع، ژوپیتر نوتبوک از طیف گستردهای از زبانهای برنامهنویسی پشتیبانی میکند، از جمله پایتون، R، جاوا، جولیا و بسیاری دیگر. این ویژگی به شما اجازه میدهد تا از ژوپیتر نوتبوک برای هر نوع پروژهای، صرف نظر از زبان برنامهنویسی مورد استفاده، استفاده کنید.
برای استفاده از یک زبان برنامهنویسی خاص در ژوپیتر نوتبوک، کافی است یک هسته (kernel) مناسب برای آن زبان نصب کنید. هسته یک برنامه است که کد شما را اجرا میکند و نتایج را به ژوپیتر نوتبوک برمیگرداند.
به عنوان مثال، اگر میخواهید از زبان R برای تجزیه و تحلیل دادهها استفاده کنید، میتوانید هسته R را نصب کنید و سپس یک نوتبوک جدید با هسته R ایجاد کنید. در این نوتبوک، میتوانید کد R خود را بنویسید و اجرا کنید و نتایج را به صورت بصری مشاهده کنید.
این قابلیت چندزبانه بودن، ژوپیتر نوتبوک را به یک ابزار همهکاره برای هر نوع پروژهای تبدیل کرده است. چه در حال انجام تجزیه و تحلیل دادهها باشید، چه در حال توسعه یک مدل یادگیری ماشین باشید و چه در حال انجام تحقیقات علمی، ژوپیتر نوتبوک میتواند به شما در تسریع فرآیند کار کمک کند.
یکی دیگر از مزایای بزرگ ژوپیتر نوتبوک، سهولت در اشتراکگذاری آن با دیگران است. شما میتوانید نوتبوکهای خود را به صورت فایلهای ipynb.
ذخیره کنید و آنها را به راحتی با همکاران خود به اشتراک بگذارید.
فایلهای ipynb.
شامل کد، متن، تصاویر و نتایج اجرای کد هستند. بنابراین، همکاران شما میتوانند نوتبوک شما را باز کنند، کد شما را ببینند، توضیحات شما را بخوانند و نتایج اجرای کد را بررسی کنند.
علاوه بر این، ژوپیتر نوتبوک با پلتفرمهای مختلف به اشتراکگذاری کد مانند GitHub و GitLab به خوبی ادغام شده است. شما میتوانید نوتبوکهای خود را مستقیماً از ژوپیتر نوتبوک به GitHub یا GitLab بارگذاری کنید و با دیگران به اشتراک بگذارید.
این قابلیت اشتراکگذاری آسان، ژوپیتر نوتبوک را به یک ابزار عالی برای همکاری و انتقال دانش تبدیل کرده است. شما میتوانید نوتبوکهای خود را با همکاران خود به اشتراک بگذارید تا در پروژهها با یکدیگر همکاری کنید، یا میتوانید نوتبوکهای خود را به عنوان آموزشهای تعاملی منتشر کنید تا به دیگران در یادگیری مفاهیم جدید کمک کنید.
ژوپیتر نوتبوک دارای یک اکوسیستم گسترده و فعال است. هزاران کتابخانه و افزونه مختلف برای ژوپیتر نوتبوک وجود دارد که میتوانند قابلیتهای آن را گسترش دهند و به شما در انجام کارهای مختلف کمک کنند.
علاوه بر این، ژوپیتر نوتبوک دارای یک جامعه بزرگ و فعال از کاربران و توسعهدهندگان است. این جامعه به طور مداوم در حال توسعه و بهبود ژوپیتر نوتبوک است و همواره آماده پاسخگویی به سوالات و ارائه راهنمایی به کاربران جدید است.
شما میتوانید در انجمنهای آنلاین، گروههای بحث و گفتگو و سایر منابع آنلاین، سوالات خود را مطرح کنید، مشکلات خود را به اشتراک بگذارید و از تجربیات دیگران بهرهمند شوید.
این اکوسیستم گسترده و فعال، ژوپیتر نوتبوک را به یک ابزار پایدار و قابل اعتماد تبدیل کرده است. شما میتوانید مطمئن باشید که همیشه پشتیبانی لازم را در اختیار خواهید داشت و میتوانید از جدیدترین ویژگیها و پیشرفتها بهرهمند شوید.
ژوپیتر نوتبوک به شما امکان میدهد تا دادههای خود را به صورت بصری و جذاب نمایش دهید. با استفاده از کتابخانههای مختلف بصریسازی دادهها مانند Matplotlib، Seaborn و Plotly، میتوانید نمودارها، گرافها و سایر اشکال بصری را به راحتی در نوتبوک خود ایجاد کنید.
این قابلیت بصریسازی دادهها به شما کمک میکند تا الگوها و روندهای موجود در دادههای خود را بهتر درک کنید، نتایج تحلیل خود را به طور واضح و مختصر به دیگران ارائه دهید و داستانهای جذابی در مورد دادههای خود تعریف کنید.
تصور کنید در حال تجزیه و تحلیل دادههای فروش یک شرکت هستید. شما میتوانید با استفاده از نمودارها و گرافها، روند فروش در طول زمان، سهم بازار شرکت، عملکرد محصولات مختلف و سایر اطلاعات مهم را به صورت بصری نمایش دهید. این نمودارها و گرافها میتوانند به مدیران شرکت کمک کنند تا تصمیمات آگاهانهتری در مورد استراتژیهای فروش خود بگیرند.
برای استفاده از ژوپیتر نوتبوک، باید اول اون رو نصب کنید. ساده ترین راه برای نصب ژوپیتر نوتبوک استفاده از پکیج Anaconda است. Anaconda یه پکیج مدیریت پکیج و محیط های برنامه نویسی رایگانه که شامل ژوپیتر نوتبوک و بسیاری از کتابخونه های مفید دیگه برای برنامه نویسی و تحلیل داده است.
برای نصب Anaconda، کافیه به وب سایت رسمی Anaconda برید و نسخه مناسب سیستم عامل خودتون رو دانلود کنید. بعد از دانلود، فایل نصب رو اجرا کنید و دستورالعمل های نصب رو دنبال کنید.
بعد از نصب Anaconda، می تونید ژوپیتر نوتبوک رو از طریق Anaconda Navigator یا از طریق خط فرمان (command line) اجرا کنید. برای اجرای ژوپیتر نوتبوک از طریق خط فرمان، کافیه دستور jupyter notebook
رو تو خط فرمان تایپ کنید و Enter بزنید. با این کار، ژوپیتر نوتبوک تو مرورگر وب شما باز میشه.
بعد از اینکه ژوپیتر نوتبوک رو نصب کردید و اجرا کردید، می تونید یه نوتبوک جدید ایجاد کنید و شروع به کدنویسی کنید. برای ایجاد یه نوتبوک جدید، کافیه دکمه “New” رو تو صفحه اصلی ژوپیتر نوتبوک بزنید و بعد گزینه “Python 3” (یا هر زبون برنامه نویسی دیگه ای که می خواید استفاده کنید) رو انتخاب کنید.
با این کار، یه نوتبوک جدید با یه سلول کد خالی باز میشه. حالا می تونید کدتون رو تو این سلول بنویسید و با زدن دکمه “Run” یا فشردن کلیدهای Shift + Enter
کدتون رو اجرا کنید.
برای اضافه کردن سلول جدید، می تونید از منوی “Insert” گزینه “Insert Cell Above” یا “Insert Cell Below” رو انتخاب کنید.
برای تغییر نوع سلول (از کد به مارکداون یا برعکس)، می تونید از منوی “Cell” گزینه “Cell Type” رو انتخاب کنید و نوع مورد نظرتون رو انتخاب کنید.
برای ذخیره نوتبوکتون، می تونید از منوی “File” گزینه “Save as” رو انتخاب کنید و نوتبوکتون رو با یه اسم مناسب ذخیره کنید.
بیاید چند تا مثال ساده با ژوپیتر نوتبوک بزنیم تا ببینیم چطوری می تونیم از این ابزار برای کارهای مختلف استفاده کنیم:
تو این مثال، یه برنامه ساده Python می نویسیم که دو تا عدد رو از کاربر می گیره و جمعشون رو چاپ می کنه:
تو این مثال، از کتابخونه Matplotlib برای رسم یه نمودار ساده استفاده می کنیم:
تو این مثال، از کتابخونه Pandas برای خواندن یه فایل CSV و انجام چند تا عملیات ساده تحلیل داده استفاده می کنیم:
%
یا %%
شروع میشن.ژوپیتر نوتبوک Jupyter Notebook یه ابزار فوق العاده است که می تونه بهتون تو کارهای مختلف برنامه نویسی، تحلیل داده، و یادگیری ماشین کمک کنه. این ابزار با تعاملی بودن، قابلیت ترکیب کد و متن، و به اشتراک گذاری آسان، یه انتخاب ایده آل برای همه کساییه که تو این زمینه ها فعالیت می کنن.
امیدوارم این مطلب بهتون کمک کرده باشه تا با ژوپیتر نوتبوک Jupyter Notebook بیشتر آشنا بشید و ازش تو کاراتون استفاده کنید. اگه سوالی داشتید، حتماً تو قسمت نظرات بپرسید.
موفق باشید!
بیشتر بخوانید: “اپلیکیشن ساز موبایل AppGyver“
دیدگاه بگذارید