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

مقدمهسلام عاشقی هستم و با یک پست جدید برگشتمایده این‌ که شما از هرجایی با هر دیوایسی بتونید مرورگرتون رو باز کنید و شروع کنید به برنامه نویسی قطعا ایده خفنیه! خوشبختانه به لطف تکنولوژی های وب ، مایکروسافت، و جامعه اوپن‌سورس این کار امکان پذیر شده.خیلی عجیبه همیشه به مایکروسافت فوش ‌می‌دادم الان دارم تعریف‌شون رو می‌کنم!این روش میتونه خیلی مزیت‌ها داشته باشه مثلاقابل دسترس بودن از همه جا (فقط اینترنت لازمه!)دسترسی از همه نوع دستگاهی حتی موبایل و تبلت و کروم‌بوک(فقط مرورگر لازمه!)منابع سخت‌افزاری متغییر و 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+ دارم و نویز خط پایینه ولی بازم چند باز اینترنت قطع شد و خیلی کلافه کننده‌است.اگه اینترنت بی‌سیم داشته باشید احتمالا مطمعن‌تر باشه