بهمن عاشقی
بهمن عاشقی
خواندن ۳ دقیقه·۳ سال پیش

توسعه روی ابرها

مقدمه

سلام عاشقی هستم و با یک پست جدید برگشتم


ایده این‌ که شما از هرجایی با هر دیوایسی بتونید مرورگرتون رو باز کنید و شروع کنید به برنامه نویسی قطعا ایده خفنیه!

خوشبختانه به لطف تکنولوژی های وب ، مایکروسافت، و جامعه اوپن‌سورس این کار امکان پذیر شده.خیلی عجیبه همیشه به مایکروسافت فوش ‌می‌دادم الان دارم تعریف‌شون رو می‌کنم!

این روش میتونه خیلی مزیت‌ها داشته باشه مثلا

  • قابل دسترس بودن از همه جا (فقط اینترنت لازمه!)
  • دسترسی از همه نوع دستگاهی حتی موبایل و تبلت و کروم‌بوک(فقط مرورگر لازمه!)
  • منابع سخت‌افزاری متغییر و pay as you go (هر وقت لازم بود منابع‌‌سرور رو افزایش بدید)
  • محیط کار ثابت (یک بار برای همیشه ide تون رو ست‌آپ می‌کنید)
    و ...

و معایبی هم وجود داره:

  • وابستگی به اینترنت ( خب ما بدون اینترنت که نمی‌تونیم کار کنیم اصلا!، کاش مسعولین عاقل ما هم این موضوع رو درک کنند.)
  • وابستگی به اینترنت (خب میدونم قبلی هم همین بود ولی تقریبا وابسته‌اید به اینترنت برای هر تغییر!)
  • بدون بعضی امکانات اوپن‌سورس vscode

تعاریف

https://code.visualstudio.com

نرم‌افزار vscode : کدادیتور مشهور که توسط مایکروسافت و جامعه اوپن سورس توسعه پیدا کرده.
مزیت اصلی وی‌اس‌کد اینه که با استفاده از تکنولوژی‌های وب (HTML/CSS/JavaScript) نوشته شده، کلاینت های ویندوز/مک/لینوکس با electron ساخته شده.


https://coder.com/docs/code-server

پروژه code-server : یک پروژه اوپن سورس مثل Electron که کلاینت رو توی سیستم‌عامل اجرا می‌کنه،اینجا کدسرور، ادیتور رو توی مرورگر اجرا می‌کنه و تقریبا همه امکانات کلاینت توی سیستم عامل رو هم داره.

کد سرور از قسمت های اوپن سورس وی‌اس‌کد استفاده کرده و بعضی افزونه‌ها که اوپن‌سورس نیستن، رو نداره.

نصب

یا باید بریم از سرویس‌های آنلاین مثل codespace گیت‌هاب(یا بقیه رقیب‌هاش) بخریم یا روی سرور خودمون کدسرور رو نصب کنیم.

مراحل نصب رو خلاصه فقط نام می‌برم:

  • تهیه سرور (دارای پشتیبانی kvm باشه بهتره)
  • کانفیگ اولیه سرور (Initial Server Setup) + nginx
  • نصب کدسرور (لینک)
  • تهیه دامنه و گرفتن ssl رایگان
    اگه یک دامنه‌ دارید که میتونید زیر دامنه اضافه کنید و وصلش کنید به IP سرورتون
    ssl برای بعضی امکانات واجبه و با certbot خیلی گرفتنش راحته
  • تغییر رمز کدسرور
~/.config/code-server/config.yaml
  • اتصال به دامنه
    برای اتصال به دامنه باید دامنه تون رو فوروارد کنید به پورت ۸۰۸۰
server { #... server_name code.semycolon.me; location / { proxy_pass &quothttp://127.0.0.1:8080&quot proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_set_header Accept-Encoding gzip; } }

بعد از انجام این مراحل می‌تونید ادیتور رو توی دامنه‌تون باز کنید و دسترسی داشته باشید به vscode

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

  • اضافه کردن به app های کروم
    توی کروم، سمت راست آدرس سایت دکمه + رو بزنید و بعدش install
    حالا می‌تونید شورت‌کات اپلیکیشن رو بزارید توی دسکتاپ‌تون یا توی toolbar تون پین‌اش کنید.


  • شخصی سازی
    نصب پلاگین و آیکون و تم


تست

برای تست تصمیم گرفتم یک روز کامل با کد‌سرور کار کنم.

پروژه ای که انجام دادم ساخت یک cli یا Command Line Interface برای تغییر منابع سرورم بود.
که وقتی از کد سرور استفاده میکنم منابع سرور رو افزایش بدم، بعدش که کارم تموم شد کاهش بدم :)
با تشکر از هایو که امکان تغییر منابع رو داره و هزینه‌ سرور رو هم pay as you go می‌گیره

https://github.com/semycolon/haio_cli

نتایج تست


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

فقط

  • اگه منابع سرور کافی باشه
    حداقل دو هسته cpu , یک گیگ رم، اولش با منابع کمتر شروع کردم و یکم کند بود
  • اینترنت قطع نشه!
    با اینکه اینترنت ADSL2+ دارم و نویز خط پایینه ولی بازم چند باز اینترنت قطع شد و خیلی کلافه کننده‌است.
    اگه اینترنت بی‌سیم داشته باشید احتمالا مطمعن‌تر باشه
برنامه نویسیاوپن سورسلینوکسcloudvscode
برنامه‌نویس
شاید از این پست‌ها خوشتان بیاید