Screenshot-83

ژوپیتر لب JupyterLab جدید منتشر شد

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

روند تکامل ژوپیتر نوت‌بوک

پروژه ژوپیتر جهت توسعه نرم‌افزارهای Open Source یا منبع باز ، استاندارد‌های باز ( (Open standard) و خدمات محاسبات تعاملی و قابل تکرار کاربرد دارد. پروژه اصلی ژوپیتر نوت‌ بوک در ابتدا در سال 2011 و به منظور ایجاد روایت‌های محاسباتی قابل تکرار ایجاد شد. ژوپیتر نوت‌بوک به  کاربران اجازه می‌دهد  تا اسنادی که شامل live code  هستند  را با متن روایی ، معادلات ریاضی ، تجسم ، کنترل‌های تعاملی و سایر خروجی‌های غنی مدیریت کند و به اشتراک بگذارد. ژوپیتر همچنین بلوک‌های اساسی مانند مرورگر فایل ، پایانه‌ها و ویرایشگر متن را برای محاسبه تعاملی با داده‌ها ایجاد می‌کند.

ژوپیتر نوت ‌بوک به دلیل رشد سریع علم داده (Data Science) ) و یادگیری ماشینی  و افزایش محبوبیت نرم‌افزارهای منبع باز در شرکت‌ها یا دانشگاه‌ها بسیار محبوب شده است.

  • امروزه میلیون‌ها کاربر در بسیاری از حوزه‌ها از علم داده و یادگیری ماشینی گرفته تا موسیقی و آموزش از ژوپیتر نوت‌بوک استفاده می‌کنند و  جامعه بین‌المللی ژوپیتر نوت‌بوک تقریباً شامل تمامی کشورهای جهان می‌شود.
  • ژوپیتر نوت‌بوک  در حال حاضر از بیش از 100 زبان برنامه‌نویسی توسعه یافته پشتیبانی می‌کند 
  • بیش از 1.7 میلیون نوت بوک عمومی ژوپیتر در GitHub میزبانی شده است. نویسندگان ژوپیتر نوت‌بوک را همراه با تحقیقات علمی ، مجلات دانشگاهی ، روزنامه نگاری داده ، دوره‌های آموزشی و کتاب‌های مخصوص منتشر می‌کنند.

ناگفته نماند که  نرم‌افزارهای دیگر مانند اجرای کد از فایل‌های متنی به صورت تعاملی با نوت بوک با چالش‌هایی نیز روبرو شده است و عملاً سفارشی سازی و گسترش نوت بوک ژوپیتر کلاسیک که بر اساس فناوری‌های وب  سال 2011 ساخته شده است کمی دشوار است.

ژوپیتر لب  در دسترس است

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

ژوپیتر لب سطح بالایی از یکپارچگی بین نوت بوک ها ، اسناد و فعالیت‌ها را ایجاد می‌کند.  مثل :

  • کشیدن و رها کردن (درگ اند دراپ Drag-and-drop ) برای مرتب سازی مجدد سلول‌های نوت بوک و کپی آن‌ها بین نوت بوک ها.
  • اجرای کدها به صورت تعاملی از فایل‌های متنی (.py ، .R ، .md ، .tex ، و غیره)
  • با اتصال یک کنسول کد به یک هسته نوت بوک می‌توانید کدها را به صورت تعاملی و بدون درهم ریختگی جستجو کنید.
  • امکان ویرایش فرمت‌های محبوب مانند Markdown ، JSON ، CSV ، Vega ، VegaLite و موارد دیگر با پیش نمایش زنده  

بیش از سه سال است که ژوپیتر لب با بیش از 11000 تعهد و 2000 نسخه از بسته‌های npm و پایتون در حال ساخت است. همچنین علاوه بر توسعه دهندگان اصلی ، بیش از 100 مشارکت کننده از جامعه برنامه نویسی ، به ساخت ژوپیتر لب کمک کرده اند.

برای شروع ، مستندات ژوپیتر لب را برای  بررسی دستورالعمل‌های نصب و راه‌حل  حتماً مطالعه کنید و  یا از JupyterLab with Binder استفاده کنید. همچنین می‌توانید از ژوپیتر هاب برای استفاده  بهتر از ژوپیتر لب بهره‌ بگیرید.

امکان سفارشی سازی ژوپیتر لب

ژوپیتر لب بر روی یک سیستم افزونه ساخته شده است که به شما امکان می‌دهد که ان را با نصب پلاگین های اضافی سفارشی سازی کنید  و یا حتی آن را ارتقا دهید. در واقع ، قابلیت داخلی خود ژوپیتر نوت‌بوک، پایانه‌ها، نرم‌افزار مدیریت فایل، سیستم منو و غیره توسط مجموعه‌ای از پسوندهای اصلی ارائه می‌شود.

  • همچنین پلاگین های دیگر می‌توانند در موارد زیر نیز به شما کمک کنند:
  • ارائه موضوعات جدید ، ویرایشگران فایل و بینندگان یا ارائه‌دهندگان خروجی‌ها در نوت بوک ها.
  • افزودن موارد منو ، میانبرهای صفحه کلید یا گزینه‌های تنظیمات پیشرفته
  • ارائه یک API برای سایر برنامه‌های افزودنی

برنامه‌های افزودنی ایجاد شده توسط انجمن در GitHub با موضوع ژوپیتر اکستنشن  به صورت اختصاصی برچسب گذاری شده‌اند و در حال حاضر شامل نرم‌افزار مدیریت فایل (GeoJSON ، FASTA و غیره) ، ادغام Google Drive ، مرورگر GitHub و پشتیبانی ipywidgets است.

اکستنش های ژوپیتر لب

در حالی که بسیاری از کاربران ژوپیتر لب افزونه‌های اضافی را نصب می‌کنند، شاید برخی از شما بخواهید اکستنش  اختصاصی خود را ایجاد کنید. API اکستنش ژوپیتر لب در طول سری انتشار بتا در حال تکامل است و در JupyterLab 1.0 تثبیت می‌شود. برای ساخت اکستنش های اختصاصی ژوپیتر لب لازم است به راهنمای توسعه دهنده ژوپیتر اکستنش و قالب‌های افزونه TypeScript یا JavaScript مراجعه کنید.

PhosphorJS، یک کتابخانه جدید جاوا اسکریپت برای ایجاد برنامه‌های کاربردی وب با قابلیت توسعه، عملکرد بالا و رومیزی توسعه یافته  برای ژوپیتر لب ساخته است که از فناوری‌های جاوا اسکریپت مدرن مانند TypeScript ، React ، Lerna Yarn و webpack استفاده می‌کند. آزمایش‌های واحد ، مستندات، استانداردهای برنامه نویسی سازگار و تحقیقات تجربه کاربری همه و همه برای  ارائه برنامه‌ای با کیفیت بالا لحاظ شده است.

حرف اخر

با قابلیت هایی جذابی که ژوپیتر لب دارد توجه همه را به خود جلب می‌کند . در این مقاله یکسری از ویژگی های جذاب ژوپیتر لب را با هم مرور کردیم برای اشنایی بیشتر با سایر این ویژگی ها باما همراه باشید.

Screenshot-57

10 دلیلی که شما را متقاعد می‌کند از JupyterLab برای کدنویسی علم داده استفاده کنید

مرور کلی

JupyterLab یک محیط کدنویسی فوق العاده برای انجام کارهای مربوط به علم داده می‌باشد‍‍.این 10 دلیل افراد را قانع می‌کند که برای کدنویسی علم داده به جای نوت‌بوک‌های Jupyter از JupyterLab استفاده کنند.

با Jupyter اخت شده‌اید؟ زمان آن رسیده که به JupyterLab روی بیاورید!

از برنامه‌نویسان پایتون بپرسید که کدام محیط کدنویسی را ترجیح می‌دهند، جواب همواره نوت‌بوک‌های Jupyter خواهد بود. صادقانه زمانی که در مورد علم داده صحبت می‌کنیم Jupyter بخشی جدایی‌ناپذیر است. ما پذیرفته‌ایم که این بهترین محیط کدنویسی پایتون است. حتی من هم فریب این طرز فکر را خورده بودم.

اجازه دهید حرفی که چندی پیش یکی از مربیانم در حوزه‌ی علم داده به من گفت را با شما به اشتراک بگذارم – “وقت آن رسیده که از نوت‌بوک‌های Jupyter گذر کنیم، چیزی بهتر از آن وجود دارد”. غافلگیر شدم. بهتر از نوت‌بوک‌های Jupyter؟  من اولین گام‌های خود را در علم داده به کمک Jupyter برداشتم، چطور می‌توانستم از آن عبور کنم؟

حالا محیط کدنویسی جایگزین چه هست؟ JupyterLab که ارتقا یافته است. Jupyter تا آنجا که می‌دانیم با ارتقاهایی که شدیدا به آن نیاز بود و با وجود تمام ویژگی‌های خوب گذشته به JupyterLab تبدیل شده است و باور کنید که شما عاشق کار کردن با JupyterLab برای انجام کارهای علم داده خواهد شد.

بنابراین در این مقاله، من 10 دلیل به شما ارائه می‌کنم که باعث می‌شود بخواهید بلافاصله به JupyterLab کوچ کنید.

اگر در صنعت علم داده تازه‌ وارد هستید یا پیش از این هیچوقت از Jupyter استفاده نکرده‌اید، پیشنهاد می‌کنم که این مقاله را تا انتها بخوانید چرا که معرفی خوبی برای نوت‌بوک‌های Jupyter محسوب می‌شود. همچنین، شما باید این دوره‌ی جذاب و رایگان در مورد ترفند‌ها، راهنمایی‌ها و فوت‌وفن‌های علم داده را مشاهده کنید.

فهرست مطالب

دلیل #1 – همه‌چیز زیر یک سقف

دلیل #2 – طرح‌بندی انعطاف‌پذیر

دلیل #3 – بازآرایی سلول‌ها

دلیل #4 – کپی کردن سلول‌ها بین نوت‌بوک‌ها

دلیل #5 – دفترچه‌های یکسان، دیدگاه‌های بیشتر

دلیل #6 – کنسول‌های کد

دلیل #7 – تم‌ها همه‌جا

دلیل #8 – اجرای کد از یک فایل متنی

دلیل #9 – پیش‌نمایش همزمان برای Markdown

دلیل#10 – تغییر آسان به نمایش کلاسیک نوت‌بوک

دلیل #1 – همه‌چیز زیر یک سقف

آیا می‌دانستید که نوت‌بوک کلاسیک Jupyter پشتیبانی برای ویرایش متن و ترمینال بعلاوه‌ی نوت‌بوک‌های محبوب را ارائه می‌دهد؟ بسیاری از دانشمندان علم داده از این نکته بی‌خبر هستند! اما این تقصیر ما نیست چرا که این ویژگی‌ها یکپارچه نبوده و لذتی در استفاده از آنها وجود نداشت. صادقانه، احساس می‌شد که آدم با سه نرم‌افزار متفاوت کار می‌کند، نه یک نرم‌افزار. اما به لطف JupyterLab کار کردن با این ویژگی‌های متفاوت تجربه‌ی بسیار بهتری را برای شما به ارمغان خواهد آورد.

JupyterLab نوت‌بوک‌های کلاسیک، ویرایشگر متن، ترمینال و نمایشگر راهنما را زیر یک سقف آورده است! این یک تجربه‌ی یکپارچه است که شما عاشقش خواهید شد. JupyterLab نیز از دیگر فرمت‌های فایل برای نمایش jpeg، pdf، CSV و دیگر فرمت‌ها پیشتیبانی می‌کند.

دلیل #2 – طرح‌بندی انعطاف‌پذیر

اما مشاهده‌ی بسیاری از این پنجره‌ها می‌تواند طاقت‌فرسا باشد. خب به همین دلیل است که JupyterLab با طرح‌بندی انعطاف‌پذیر ارائه شده است که می‌توانید فضای کاری خود را به هر نحوی که دوست دارید سازماندهی کنید. تمام آنچه که نیاز است انجام دهید کشیدن (drag)، انداختن (drop) و تغییر سایز تب‌ها به هر نحوی که می‌خواهید است. این به شما اجازه می‌دهد که همزمان با چندین تب به آسانی کار کنید:

JupyterLab یک نوار کناری در سمت چپ که قابلیت جمع شدن دارد را ارائه می‌دهد که شامل برخی از تب‌هایی است که بیشترین استفاده را داشته‌اند مثل مرورگر‌های فایل، کرنل‌های در حال اجرا و پالت فرمان (command palette) که کار را برای شما بسیار کارآمدتر می‌کند:

JupyterLab: نوار کناری

دلیل #3 – بازآرایی سلول‌ها

به عنوان یک دانشمند علم داده، اغلب کار و نتایج خود را در نوت‌بوک‌های Jupyter ارائه می‌دهم. و معمولا در آخر باید سلول‌های خود را بازآرایی کنیم تا برای مخاطبان خود مفهوم باشد. در چنین وقت‌هایی است که آرزو می‌کنیم یک عامل ذاتی در Jupyter وجود داشت که به ما اجازه می‌داد به راحتی سلول‌ها را هر کجا که می‌خواهیم بکشیم و بیندازیم (drag and drop) به جای آنکه از روش قدیمی برش و چسباندن (copy and paste) استفاده کنیم. خب اکنون در JupyterLab این قابلیت وجود دارد.

می‌توانید سلول کد را بکشید و بیندازد و هر کجا که خواستید قرار دهید، که کار بازآرایی را مثل آب خوردن کرده است. اکنون کار شما مورد ستایش بیشتری قرار خواهد گرفت چرا که نوت‌بوک‌های شما ظاهر فوق‌العاده‌ای دارد و بیش از پیش مفهومی است.

دلیل #4 – کپی کردن سلول‌ها بین نوت‌بوک‌ها

کشیدن و انداختن سلول در یک نوت‌بوک یک چیز است، اما انجام همین کار بین نوت‌بوک‌های مختلف بطور کلی یک چیز دیگر است. JupyterLab  به شما اجازه می‌دهد که سلول‌ها را تنها با گزینه‌ی کشیدن و انداختن از یک نوت‌بوک به نوت‌بوک دیگر کپی کنید.

دلیل #5 – نوت‌بوک‌های یکسان، نمایش‌های بیشتر

بعضی اوقات کار کردن با نوت‌بوک‌های طولانی آزاردهنده است، مخصوصا زمانی که می‌خواهید بخش‌های مختلف نوت‌بوک را بطور همزمان وارسی کنید. اینجاست که عملکرد چند نمایشی به کار می‌آید. اکنون می‌توانید چندین نمایش از یک نوت‌بوک را در JupyterLab  بصورت کنار هم برای مقایسه داشته باشید.

نه تنها می‌توانید یک نمایش جدید ایجاد کنید، بلکه هر تغییری که در هر یک از نمایش‌ها ایجاد کنید در تمام آنها منعکس می‌شود و در نوت‌بوک ذخیره خواهد شد! من این عملکرد را هنگام انتخاب ستون‌های مشخصی از فریم داده (dataframe) کاربردی می‌دانم اما اسم دقیق آنها را به یاد نمی‌آورم. بنابراین، به جای چاپ فریم‌داده بصورت مکرر، فقط فریم‌داده را با یک نمایش جداگانه باز می‌کنم. با وجود این ویژگی دیگر لازم نیست کد‌های تکراری را در حالیکه اطلاعات ضروری را همزمان مشاهده می‌کنم بنویسم – با یک سنگ دو نشان زدن!

دلیل #6 – کنسول‌های کد

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

یکی از دلایلی که هنگام استفاده از کنسول‌های کد در JupyterLab دوست دارم این است که می‌توانید از آنها به عنوان log محاسباتی که در نوت‌بوک انجام داده‌اید استفاده کنید. این ویژگی  هنگامی که می‌خواهید به تارخچه‌ی کد خود نگاهی بیندازید کاربردی می‌باشد. تمام آنچه که باید انجام دهید کلیک‌راست در هر جایی از نوت‌بوک و انتخاب New Console برای نوت‌بوک است. سپس در جهت کنسول جدید حرکت کرده و Show Kernel Activity را انتخاب کنید و تمام. حالا تمام logها برای نوت‌بوک شما در کنسول ذخیره خواهد شد.

دلیل #7 – تم‌ها همه‌جا

چه کسی تم‌ها را دوست ندارد؟ JupyterLab تم داخلی تیره برای نوت‌بوک دارد، چیزی که همه‌ی ما آرزویش را دارید مخصوصا زمانی که آخر شب‌ها زیر نور کم در حال کار کردن هستیم. اما Jupyter در اینجا متوقف نمی‌شود. آنها نه تنها برای ویرایشگر‌های متن، بلکه برای ترمینال‌ها هم تم دارند. آنها حقیقتا می‌خواهند که شما با هر آنچه که در حال کار کردن با آن هستید راحت باشید.

دلیل #8 – اجرای کد از یک فایل متنی

می‌خواهید یک فایل متنی را با بخشی از یک کد که در آن نوشته شده است به اشتراک بگذارید؟ قبل از ارسال دوباره بررسی کنید – یک کد باگ‌ دار تجربه‌ی پایداری را به ارمغان نمی‌آورد. JupyterLab  به شما اجازه می‌دهد که برای فایل متنی یک کنسول بسازید. از اینجا شما می‌توانید به سادگی بخشی از کد خود را در فایل متنی هایلایت کنید، Shift + Enter را فشار داده و بررسی کنید که کار می‌کند یا نه:

دلیل #9 – پیش‌نمایش همزمان برای Markdown

اغلب اوقات می‌خواهید پروژه‌ی علم داده‌ی خود را با گروه کاری به اشتراک بگذارید و در این مواقع است که برای مستند سازی کار خود به فایل markdown روی می‌آورید.

فایل‌های markdown بخاطر تمام انعطاف‌پذیری و عملکردی که ارائه می‌دهند عالی هستند. اما در Jupyter کار کردن با آنها کمی خسته‌کننده می‌شود، هنگامی که باید سلول خود را دوباره و دوباره اجرا کنید فقط برای اینکه ببینید فایل شما چطور به نظر می‌رسد یا اینکه آیا ترکیب درست را به کار برده‌اید یا نه.

برای غلبه بر این مشکل، JupyterLab به شما اجازه می‌دهد که فایل markdown خود را همزمان با کار کردن با آن از پیش رویت کنید. این نه تنها بسیار کارآمدتر است بلکه همچنین کار کردن با یک فایل markdown را لذت‌بخش می‌کند.

دلیل #10 – تغییر آسان به نمایش کلاسیک نوت‌بوک

برای اضافه کردن این ویژگی آخر کمی بی‌میل بودم چون نمی‌خواهم به کار کردن با Jupyter برگردید. اما می‌فهمم که برای برخی از شما سخت است که از چیزی که سفر علم داده‌ی خود را با آن شروع کرده‌اید دل بکنید.

بنابراین، برای روزها که دلتنگ کار کردن با نوت‌بوک‌های خوب و قدیمی Jupyter می‌شوید، راهی خوب و آسان برای بازگشت به محیط کاری قدیمی وجود دارد. تنها کاری که باید انجام دهید این است که /lab در URL را با /tree جایگزین کنید.

حرف اخر

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