IDE-urile cloud au fost în jur de puțin timp și au fost destul de bune pentru lucruri cum ar fi programarea perechilor sau cazuri în care doriți să codificați în mod consecvent indiferent unde vă aflați. Koda tocmai a ieșit din beta privat și ar dori să ia această idee cu câțiva pași mai departe, cu "ecosistemul nor".
În acest articol vom analiza ceea ce este Koding, precum și unele dintre avantajele pe care le puteți obține de la utilizarea acestuia.
Koding este un fel de greu de explicat, deoarece nu există un produs similar cu acesta pe piață. Astfel, pentru a ilustra mai bine toate părțile sale în mișcare, să împărțim serviciul în sus și să începem cu mediul de dezvoltare.
Când vă înscrieți la Koding, scoateți propriul dvs. sub-domeniu (.kd.io) din propria dvs. VPS, iar unele dintre ele au construit aplicații web pentru a vă gestiona noile resurse.
Prin intermediul administratorului, aveți posibilitatea de a crea alte subdomenii în partea superioară adresei URL actuale și de a crea noi VPS-uri prin intermediul unui ușor de utilizat UI.
Acum aceste VM-uri nu sunt micro-instanțele dvs. medii pe care le oferă o mulțime de servicii, acestea sunt VM cu drepturi depline, cu acces la opt procesoare și un GB de memorie RAM, astfel încât să puteți rula cu ușurință aproape orice aplicație și dacă doriți să jucați cu lucruri cum ar fi configurații de cluster sau rețele, puteți inversa cu ușurință mai multe instanțe pentru doar 5 dolari pe lună.
Deci, în ceea ce privește puterea de procesare, aceste instanțe pot fi la fel de puternice ca și calculatorul propriu și sunt cu siguranță mai bune decât încărcarea unei mașini virtuale locale.
Ceea ce oamenii de la Koding încearcă să facă este să-i împuternicească pe dezvoltatori să învețe prin experimentare și să încerce lucruri pe care nu ar dori în mod necesar să le încerce la nivel local sau pur și simplu nu au resursele necesare pentru ao face.
Aceste instanțe se inițializează în câteva secunde, iar dacă faci greșeli și rupe unele fișiere de sistem, poți reinițializa cu ușurință serverul și totul va fi restabilit în dosarul de domiciliu. În esență, veți avea o instanță nouă, dar toate fișierele create în dosarul de domiciliu vor fi păstrate.
Un alt lucru pe care îl oferă, care este de fapt o afacere destul de mare în anumite situații, este accesul rădăcină la toate serverele. Koding este un serviciu foarte transparent, veți obține un VM și puteți face literalmente ceea ce doriți cu el. Orice puteți face cu un VPS standard, puteți face cu VM-urile lor.
În ceea ce privește instanțele în sine, ele vin cu Ubuntu instalat, și aproape toate limbile pe care le pot gândi, inclusiv:
Printre altele, deci ești foarte bine să ieși din cutie.
Cu Koding, aveți un fel de două straturi de aplicații. Aveți VM-ul, pe care, așa cum l-am menționat, puteți rula orice doriți, dar în plus aveți și "Koding Apps", care sunt aplicații web care rulează pe Koding și prin ele puteți gestiona toate resursele dvs. Koding.
Unele dintre aplicațiile implicite pe care le aveți la dispoziție sunt elemente precum panouri de administrare pentru baze de date sau cadre și editoare de cod și imagini. Editorul de cod implicit care este preinstalat este editorul de cod Ace pentru dezvoltarea obișnuită sau Firepad dacă doriți să lucrați în colaborare prin intermediul aplicației de lucru în echipă.
În afară de toate aceste aplicații cu adevărat cool, aveți abilitatea de a vă crea propriile. Acestea sunt scrise folosind JavaScript simplu (CoffeScript) și cadrul KD (de la Koding). Acum, pentru că tocmai au ieșit din beta, nu există încă un site de documentare încă de la început, dar există două aplicații Koding disponibile (producătorul de aplicații și aplicații) care sunt construite pentru a vă oferi un fel de structură, cu exemple. Pe lângă acestea, aș sfătui să caut pe Github pentru ".kdapp" și să mă uit la cum au fost construite alte aplicații pentru a obține o idee despre ce fel de lucruri sunt posibil și cum să le realizeze.
În general, are un sentiment de "sistem de operare" în care aveți resursele virtuale, dar aplicațiile Koding vă permit să vă gestionați resursele și să le configurați așa cum vă place. Aceasta înseamnă că, dacă compania dvs. are o configurație de tip boilerplate, puteți crea un kdapp care va configura un VM nou cu fișierele și software-ul de care aveți nevoie și apoi de fiecare dată când deschideți o instanță nouă, aplicația dvs. o poate configura exact așa cum vă place.
În plus, kdapps poate fi un instrument independent care doar modifică fișiere precum editorul Ace sau editoare de imagini care sunt disponibile. Aceasta înseamnă că, dacă puneți timpul, puteți construi propriul mediu dev, cu toate instrumentele personalizate care vă fac mai eficiente la construirea de aplicații.
Tot ce am menționat până acum acoperă doar jumătate din ceea ce este Koding, și aceasta este partea de mediu de dezvoltare. Koding are, de asemenea, o parte socială / organizațională a acesteia, care complimentează caracteristicile de dezvoltare și felul în care crește valoarea platformelor.
În mod implicit, când vă înscrieți la Koding, sunteți adăugat la grupul "Koding"; toate funcțiile, cum ar fi notificările de activitate, subiectele, fragmente de cod, etc ... provin toate de la acest grup implicit. Este destul de interesant să obțineți toate actualizările de la utilizatori din întreaga lume și puteți filtra după subiect accesând pagina de subiecte și selectând ceva care vă interesează. Dar unde aceste caracteristici arată cu adevărat potențialul este atunci când creați propriul grup.
Dacă folosiți Koding ca grup, atunci puteți profita de toate aceste caracteristici pentru a vedea cu ușurință ce au făcut colegii dvs., pentru a obține actualizări și fragmente din acestea și pentru a filtra toate postările după proiect folosind subiectele ca etichete.
Într-un grup, puteți crea VM-uri partajate pe care mai mulți utilizatori pot avea acces sau le pot credita pe utilizatorii din banii de grup pentru a-și putea crea propriile VM-uri și pentru a lucra în particular.
Este una dintre acele situații în care probabil că ar fi putut lansa doar mediul de dezvoltare a norului, rețeaua socială sau managementul de proiect și ar fi potrivit pentru o piață; dar având totul să lucreze împreună și gratuit, este ceva la care să ne gândim cu adevărat.
Am spus multe lucruri pozitive despre mediile de tip cloud, dar există unele dezavantaje atunci când le comparăm cu dezvoltarea pe plan local care merită cel puțin menționată.
Unul dintre principalele lucruri este că nu primești ceea ce aș numi IDE. De exemplu, dacă aruncați o privire la editorul Ace, este un editor grozav, dar atunci când o stivuiți împotriva unui IDE cu drepturi depline, ca PhpStorm, nu se compară. Ace este doar un editor de cod în timp ce PhpStorm conține toate instrumentele de care ai nevoie de la testarea la refactoring, toate într-o singură aplicație.
Celălalt dezavantaj este pur și simplu latența, acum în comparație cu alte IDE-uri web, nu am avut prea multe probleme cu acest lucru pe Koding, dar totuși, nu se compară cu o configurație locală. Când efectuați o acțiune cum ar fi deschiderea unui document, ar putea fi nevoie de o secundă pentru a deschide.
Așadar, pentru a rezuma, dezvoltarea online poate să nu aibă toate instrumentele cu care vă obișnuiți să lucrați și poate că nu este la fel de rapidă cum o faci la nivel local. Dar, atunci când vă dezvoltați la nivel local, pierdeți pe VM-urile puternice și pe toate aspectele legate de managementul / caracteristicile sociale ale proiectului.
Din fericire, nu trebuie să faceți o alegere. Editarea codului online este întotdeauna posibilă, astfel încât să nu trebuiască să sacrificați pe acest front, dar dacă preferați să codificați local cu propriile instrumente, aveți acces complet SSH la mașinile dvs. Deci, dacă doriți să utilizați FTP, SCP, GIT sau orice alt tip de instrument pentru a vă transfera modificările pe server, vi se oferă aceste opțiuni la fel ca un VPS standard.
Acum am acoperit cum să configurați un replică GIT goală pe care să o desfășurați pe serverul dvs., deci este redundant să acoperim din nou acest proces, dar să aruncăm o privire la configurarea contului dvs. Koding cu o cheie SSH și utilizând rsync pentru a vă transfera proiectul la și de la Koding.
Pentru cei necunoscuți, rsync este un utilitar pentru transferul proiectelor mari către și de pe computer. În cazul în care se deosebește ceva de ceva de genul SCP și motivul pentru care este bine să lucrați cu proiecte mari este că va scana fișierele la nivel local și de la distanță și va transfera doar fișierele care s-au schimbat. Dacă lucrați la orice tip de proiect, veți avea unele fișiere de sistem cadru, unele coduri de bare, imagini etc., și nu doriți să le trimiteți la fiecare solicitare, deci rsync este o alegere foarte bună pentru chestii ca asta.
Nu este la fel de bun ca GIT, nu ai nici o formă de control al versiunii, dar dacă folosești Koding ca mediu de testare și vrei doar să arunci fișierele în sus sau să le tragi în jos, rsync este instrumentul pentru job.
Primul pas este destul de simplu și este pentru a obține SSH setup; trebuie doar să vă apucați cheia publică (pe un Mac puteți rula cat .ssh / id_rsa.pub | pbcopy
de la o fereastră terminală pentru a copia cheia) și apoi adăugați-o pe pagina contului dvs. pe Koding. Următorul lucru pe care trebuie să-l faceți este să configurați computerul să se conecteze. Koding vă cere să utilizați proxy-ul ca un tunel pentru serverul dvs., deci pe un sistem bazat pe Unix, puteți crea doar un fișier numit "config
"cu următoarele înăuntru (trebuie să îl înlocuiți cu numele de utilizator Koding):
Host * .kd.io UtilizatorProxyCommand ssh% [email protected] nc% h% p
Dacă sunteți pe un sistem Windows, consultați ghidul lor pentru a vedea cum să configurați proxy-ul folosind Putty.
Cu aceasta, puteți rula:
ssh vm-. .koding.kd.io
De exemplu, utilizând numele meu de utilizator, pe primul VM implicit (care este numărul 0
) ați rula următoarele:
ssh vm-0.gabrielmanricks.koding.kd.io
Dacă totul a mers bine, ar trebui să vă conectați și să vedeți mesajul terminal Koding. Dacă nu dorește să se conecteze, asigurați-vă că ați adăugat cheia publică și asigurați-vă că VM este activat în Koding (VM-urile dvs. se opresc atunci când nu le-ați utilizat timp de aproximativ 20 de minute).
Cu ajutorul acestei configurații, putem crea un proiect local. Nu avem nevoie de nimic aici, așa că pentru acest exemplu voi crea doar un simplu fișier HTML hello în interiorul unui director gol:
Koding Demo Bună ziua rsync
Salvați acest fișier în interiorul dvs. proiecte
folder și apoi executați:
rsync -rvza --delete ./vm-. .koding.kd.io:~/Web/
Aceasta va copia întregul conținut al folderului local curent în directorul de la distanță ștergând orice fișiere la distanță care nu se află în dosarul curent. Dacă faceți vreodată schimbări de la distanță, puteți să le trageți cu ușurință prin inversarea căilor:
rsync -rvza vm-. .koding.kd.io:~/Web/ ./
Acum, aceste comenzi sunt puțin lungi, iar dacă intenționezi să te dezvolți în acest fel, vei dori să creezi niște comenzi rapide. Un mod simplu este să creați doar aliasuri bash, dar este posibil să aveți mai multe servere și pentru fiecare veți avea nevoie de un alias pentru fiecare direcție, așa că trebuie doar să creați un script simplu de bash care să accepte numărul VM împreună cu numele de utilizator și doriti directia in care doriti ca fisierele sa mearga si va efectua transferul.
Nu voi acoperi toată sintaxa lui Bash, doar părțile de care avem nevoie pentru acest scenariu.
Mai întâi avem nevoie de variabile, în interiorul unui script bash definiți variabile prin tastare name = valoarea
. De exemplu, dacă vrem să setăm o variabilă care conține un mesaj, vom scrie:
Mesajul = „Bună ziua“
Nu ar trebui să existe spații în jurul semnalului egal pentru ca acesta să funcționeze. Odată setat, puteți recupera valoarea unei variabile introducând numele acesteia cu un semn de dolar înaintea acesteia. Deci, pentru a imprima valoarea variabilei de mai sus, am tasta:
echo $ mesaj
Pe lângă variabilele pe care le definiți și le setați, puteți utiliza câteva variabile globale stabilite de mediul dvs. Acestea pot fi diferite în funcție de configurația dvs., dar cele pe care le vom folosi sunt $ USER
pentru utilizatorul și utilizatorul conectat în prezent $ PWD
pentru dosarul curent. Puteți vedea ce variabile sunt în mediul dvs. prin adăugarea printenv
la codul dvs. Aceasta va tipări toate variabilele curente ale mediului înconjurător.
Următorul lucru pe care scriptul nostru îl va avea nevoie este să poată accepta argumentele liniei de comandă. De fapt, acest lucru este foarte ușor de făcut, deoarece acestea devin variabile numerotate. Asa de $ de 1
reprezintă primul parametru, $ cu 2
este al doilea și așa mai departe.
Ultimul lucru pe care trebuie să-l folosim în scenariul nostru este dacă
declarații. Acestea sunt asemănătoare cu modul în care ați scrie o declarație if în majoritatea limbajelor de programare, cu câteva ciudățenii notabile:
dacă [expresia] face ceva aici altceva, faceți altceva aici
În scripturile bash aveți expresia între o pereche de paranteze pătrate și trebuie să lăsați un spațiu între paranteze și expresie. Ar trebui să rețineți, de asemenea, că atunci
line este o cerință. Ultima diferență, care este puțin diferită și se găsește în alte structuri bash, este Fi
cuvinte cheie. Practic, tastați dacă înapoi, este același pentru o instrucțiune switch, de exemplu, porniți blocul de comutare cu caz
și apoi o terminați ESAC
(cazul inversat).
Cu aceste informații, să construim un script simplu care să ne ajute să încărcăm și să descărcăm codul nostru în Koding:
Pentru a începe, avem nevoie de tot-shebang pentru a spune computerului să-l ruleze ca un shell shell și apoi voi crea o simplă funcție helper care va spune utilizatorului cum să folosească această comandă:
#! / bin / sh funcția koding_usage echo "Utilizare: codare [împingere]"ieșire 1"
Dacă sunteți nou la ieșirea codurilor, 0
înseamnă că a ieșit cu succes și este returnat implicit când un script termină, în timp ce altceva este un cod de ieșire pentru momentul în care a apărut o eroare. Deci, dacă această funcție este chemată, înseamnă că scriptul nu a fost folosit corect și vom ieși cu un cod de eroare.
Apoi, trebuie să ne asigurăm că argumentele au fost transmise corect și în proces, le colectăm și le păstrăm în unele variabile de ajutor:
dacă ["$ 1" = ""]; apoi echo "Command Required" koding_usage fi dacă ["$ 1"! = "apăsați"] && ["$ 1"! = "trageți"]; apoi echo "Puteți doar să împingeți sau să trageți" koding_usage else command = $ 1 fi dacă ["$ 2" = ""]; apoi echo "Numărul VM necesar" koding_usage altceva vmnumber = $ 2 fi dacă ["$ 3" = ""]; apoi username = $ USER else username = $ 3 fi
În acest cod, efectuăm patru verificări diferite:
Apăsați
"sau"Trage
'În primele trei dacă
afirmațiile, dacă a fost o problemă, reluăm un mesaj și apoi sunăm metoda de ajutor de sus. Totuși, pentru ultimul, dacă nu a fost furnizat niciun nume de utilizator, vom folosi numele de utilizator al utilizatorului conectat în prezent. Deci, dacă numele de utilizator al computerului dvs. este identic cu numele dvs. de utilizator Koding, puteți să dezactivați ultimul parametru.
Ultimul lucru pe care trebuie să-l facem este executarea comenzilor rsync pe baza comenzii solicitate (împingere sau tragere):
dacă ["$ command" = "push"]; apoi rsync -rvza - ștergeți $ PWD / vm- $ vmnumber. $ username.koding.kd.io: ~ / Web altfel rsync -rvza vm- $ vmnumber $ username.koding.kd.io: ~ / Web / $ PWD fi
Puteți vedea că plasăm doar variabilele pe care le-am colectat (împreună cu dosarul curent $ PWD
) chiar în comandă. Deoarece acesta este un script shell, puteți plasa comenzile shell direct, așa cum am făcut mai sus
Acum salvați fișierul și denumiți-l Koding
și apoi faceți-o executabil (puteți face acest lucru prin executarea chmod + x codificare
) și, nu în ultimul rând, mutați acest fișier la dvs. cos
pliant:
mv codare / usr / local / bin /
Dacă ai făcut totul în mod corect, ar trebui să fii în stare să fugi Koding
și vedeți mesajul nostru de utilizare. Deci, acum puteți face o schimbare rapidă la exemplul de mai sus și pur și simplu rulați:
koding push 0
Presupunând că nu aveți nevoie de nume de utilizator
proprietatea și folderul dvs. curent vor fi transferate ca director web pe serverul dvs., numit vm-0
. Același lucru este valabil dacă faceți modificări online, puteți CD
în directorul local de proiect și executați:
koding pull 0
Și veți primi toate actualizările.
Koding este un instrument foarte puternic pentru prototipuri și învățare prin experimentare. Are capabilități foarte bune de gestionare socială și de proiect și este capabil să codeze cu altcineva, să trăiască, poate avea o mare diferență atunci când încerci să depanezi un cod. Să nu mai vorbim de faptul că totul este liber, înseamnă că într-adevăr nu există un motiv pentru care nu doriți să folosiți acest lucru.
Îmi place foarte mult ideea de a avea aplicații kd care rulează în afara VM-urilor și cred că va fi bine să vedem unde vor lua oamenii și ce fel de instrumente vor construi oamenii.
Puteți să vă înscrieți la Koding accesând koding.com.
Vă mulțumim pentru lectură, sper că v-ați bucurat de ea, dacă aveți întrebări, vă rugăm să ne lăsați un comentariu de mai jos, pe twitter sau prin canalul IRC Nettuts + (#nettuts on freenode).