محور y از پیش تراشیده شده: مورد برای محیط های کارگاه rstudio از پیش تنظیم شده

شما ممکن است فکر کنید که به عنوان یک کاربر مشتاق از RSTUDIO یا زبان برنامه نویسی R به طور کلی ، باعث می شود که در مورد آنها بنویسم و 100 ٪ صحیح باشید. اما این وبلاگ من است ، بنابراین من به هر حال این کار را می کنم!
اکنون که ما از شوخی بسیار مبهم من در عنوان مربوط به Data Viz در R و Yak Shaving گذشته ایم ، در مورد چگونگی تفریح بسیار سرگرم کننده در ایجاد یک زمین بازی بسته بندی شده در Labs.iximiuz.com برای شما خواهم گفت تا همراه با مقاله اخیر ارائه آموزش برای تجسم داده های زبانشناسی با استفاده از R Package GGPLOT2.
من می خواهم به طور خلاصه بحث کنم چرا من این کار را کردم ، و همچنین چگونه، در صورت علاقه به انجام کاری مشابه.
چرا این کار را کردم؟
در حالی که ممکن است من عادت نکنم که از R استفاده کنم … خوب … هر چیزی ، واقعاً … آنچه که من تجربه زیادی در آن دارم ، گوش دادن به دوستان در قلمرو دانشگاهی است که در مورد چقدر دشوار است کار با آن دشوار است.
مدیریت وابستگی بسیار دشوار است ، ارتقاء RSTUDIO به نسخه ای که با بسته هایی که برای یک کار خاص مورد نیاز است کار می کند ، غیر مهم است ، و حتی فقط تنظیم محیط های کاری در دستگاه های شخصی دانش آموزان برای شرکت در کار کلاس می تواند یک Multi باشد کار روز
تصور کنید که لازم نیست اینگونه باشد …
تصور کنید که دانش آموزان در یک کارگاه می توانند هر مرورگر وب مدرن را باز کنند ، URL را بارگذاری کنند و روی یک دکمه کلیک کنند تا یک نسخه کاری تعیین کننده از RSTUDIO بارگذاری شده با تمام بسته های مورد نیاز برای فعالیت داشته باشد …
خوب ، تصور کنید که دیگر (و شما قبلاً می دانید اگر آخرین پست من را بخوانید این امکان پذیر است) ، این در حال حاضر ممکن است!
پلت فرم بسیار جالب در labs.iximiuz.com دارای زمین های بازی است که می تواند برای این usecase دقیق سفارشی شود و به صورت عمومی به اشتراک گذاشته شود. من می دانم چون یکی ساختم. با توجه به توانایی اجرای اساساً هر آنچه را که می خواهید در محیط های زودگذر در آنجا اجرا کنید ، این یک بستر مناسب برای ایجاد محیط های موجود در تقاضا است که تقریباً با هر نرم افزاری که قلب شما می خواهد از قبل تنظیم شده باشد.
برای وام گرفتن یک اصطلاح از حوزه های آزمایش و امنیتی ، می توانیم “چپ را تغییر دهیم” و کاربر را مجبور کنیم که واقعاً کاری را که می خواهند انجام دهند سریعتر و مؤثرتر انجام دهد. این DevOps برای آموزش است ، و من برای آن اینجا هستم!
چگونه این کار را کردم؟
از آنجا که پلت فرم Iximiuz اساساً یک جعبه ماسه ای با فرم آزاد است ، دشوارترین قسمت این بود که چگونه می توان کد مناسب را در آنجا اجرا کرد. من می دانستم که این کار می تواند انجام شود ، من فقط نیاز به اتصال همه بلوک های سرگرم کننده LEGO داشتم.
من با تصویر کانتینر Rocker/Tidyverse شروع کردم ، که به نسخه R نسخه 4.4.1 پین شده است (این در ابتدا 4.4.2 بود زیرا این آخرین مورد است ، اما من آن را پس از توجه به نویسنده در Github به روز کردم که نسخه پایه R آنها استفاده کرده است. 4.4.1).
بعد از شلیک محلی با:
docker run -it --rm -p 127.0.0.1:8787:8787 -e PASSWORD=rstudio rocker/tidyverse
من یک نسخه در حال اجرا Rstudio در localhost:8787
بشر سپس این مسئله بود که فقط دستورات را از آموزش اجرا کنیم ، ببینیم چه چیزی شکسته و سپس با نصب مواد از طریق یک dockerfile در حال رشد تکراری ، آن را برطرف می کند.
هنگامی که این همه تنظیم شد ، تمام کاری که من باید انجام دهم ساخت کانتینر به صورت محلی و فشار دادن به یک رجیستری عمومی Container Container بود ، سپس یک خط اضافه کنید تا یک زمین بازی لینوکس را با Docker از پیش نصب شده برای اجرای ظرف من تنظیم کنید.
اما این همه نیست!
یک ویژگی فوق العاده نرم و صاف از این سکو وجود دارد که در اصل می توانید یک برگه جدید ایجاد کنید که از ظرف در حال اجرا به پورت دسترسی پیدا کند ، و این می تواند پیکربندی شود تا در راه اندازی در دسترس باشد.
بنابراین کل جریان برای کاربر است
-
برای زمین بازی “شروع” را کلیک کنید
-
صبر کنید تا زمین بازی آماده شود
-
روی برگه “Rstudio” کلیک کنید
-
با نام کاربری/رمزعبور عرضه شده وارد شوید
-
شروع به اجرای دستورات از آموزش
اگر علاقه مند به دیدن Dockerfile کامل هستید ، اینجاست.
این یک محیط یادگیری کاملاً یکبار مصرف است که در آن کاربران می توانند بدون نگرانی در مورد هرگونه چالش پیکربندی آزار دهنده ، شروع کار کنند و هنگامی که آنها تمام شدند ، می توانند برگه مرورگر را ببندند. آنها حتی لازم نیست بدانند که Docker یک چیز است!
Yak کاملاً از قبل تراشیده شده است! آینده وای است!