[ Zlatni_bg @ 28.08.2019. 11:18 ] @
Nije striktno vezano za PHP, ali se radi o PHPu.

Svi development fajlovi se nalaze na remote dev serveru. Istom pristupam sa 3+ masine. Recimo dosadi rad za desktopom, ostalo mi nesto finesa da zavrsim, hocu da se prosetam malo i nastavim rad sa lap topom. Git i CVS nisu najsjajnija opcija jer se nekad radi o sat-dva posla, znam da mogu da napravim drugu bransu i da je koristim za to ali bih izbegao (ako me ne ubedite).

Koristio bih VScode kao i do sad da ne nailazim na brdo problema - gotovo nijedna ekstenzija mi ne radi sa RemoteFS ekstenzijom za rad na udaljenom serveru. Templejt endzin mi ne prepoznaje HTML kod u PHPu, ne radi mi favorites jer se ne kesira lokalno, a kada bih kesirao lokalno bilo bi gomila fajlova koja bi morala da se uporedjuje, i iako sam probao nikad nije radilo kako treba. Jednostavno VScode nije za ovo.

Resih da se vratim na PHPStorm jer se secam da sam imao brrrrrdo opcija za ove stvari ranije. Od samog starta mogu da startujem projekat kao remote, ali on opet sve kesira lokalno. Okej, podesim ja automatski cuvanje i sve... ali sta bude kad se prebacim na drugi PC? Opet haos, sinhronizacija ne uradi nista, tek kad idem na tools->deployment->sync with deployed mi izbaci prozor sa izmenama posle duzeg uporedjivanja fajlova (bilo binarno ili po datumu/velicini). Neke gluposti koje napravim sa "touch xy.jpg" da istestiram sve to mi skenira pun q vremena i nadje jos vise gluposti koje ne treba da sinhronizuje.

E sad, da li ima neko ko radi na isti nacin kao i ja i na koji nacin i sa kojim alatima izlazi na kraj s tim? Da rokam commitove svaki cas (zestoko izbegavam), ili sam prevideo nesto u PHPStormu?
[ Predrag Supurovic @ 28.08.2019. 11:29 ] @
Ja ne radim tako.

Na svakom mestu gde radim razvoj imam instalirano kompletno lokalno okruženje. Za rad mi nije uopšte potreban Internet, već samo da sinhronizujem završen kod sa serverom sorsa.

[ dakipro @ 28.08.2019. 11:41 ] @
Isto kao Predrag i ja na svakom mestu gde ocekujem da cu da radim imam sve potrebno instalirano i podeseno lokalno, a kod lezi centralno na git serveru.
Gde ne ocekujem da radim onda imam vpn podesen na koji mogu da se zakacim i onda preko remote desktopa se nakacim na neku stanicu koja vec ima sve instalirano (ako je komp ugasen mogu da pingujem stanicu sa wake-on-lan ili da pingujem kolegu da ukljuci komp).
Tako da mogu i preko telefona ili tableta da se nakacim na komp koji ima celo okruzenje instalirano.

Ovo resenje koristim i za posao u firmi a i za kucnu mrezu, i na oba mesta radi bez problema.
(na poslu naravno imamo i centralni test i preprod server, ali to se ne koristi za aktivan/produktivni development)
[ Branimir Maksimovic @ 28.08.2019. 13:46 ] @
Za taj tvoj scenario potrebno je nesto u klijent-server arhitekturi. Inace ja sam radio na remote samo sa vim :P
[ Zlatni_bg @ 29.08.2019. 07:49 ] @
Eh, ne znam koliko je "gladno" celo okruzenje, pogotovu sto sve radim sa HTTPS i u dev fazi. Znaci trebalo bi mi apache, php, composer, sve sto laravel zahteva, mysqld, redis, itd. Zato minje vise odgovaralo da to bude podeseno na udaljenom serveru, pa ako je laravel u pitanju samo roknem f5 umesto ponovo artisan serve. Net uvek imam, pa to nije problem, problem je sto ne bih da trpam gomilu daemona i servisa na sve racunare. I ako nema neta a kod kuce sam, dev server mi je u lokalnoj mrezi.

Znam da mogu da podesim da se ne koristi redis i da sve ide ili u RAM ili u fajl, ali ovo mi je radilo posao godinama, samo sad vise postajem iziritiran bubicama i kad imam projekat sa par stotina klasa, gomilom servisa itd ume da bude naporno.
[ Zlatni_bg @ 29.08.2019. 07:50 ] @
Radio sam i ja remote sa nano, ali zamisli koliko je to tek veselo resenje.
[ dakipro @ 29.08.2019. 08:10 ] @
Jedno vreme sam radio kao ti, al mislim da je to trajalo par nedelja samo. Doduse preko vpn-a ako se secam. Uglavnom net nije radio najbolje jedan dan, pa sam resio da privremeno probam sve lokalno, i nikad vise nisam hteo da se vratim na remote jer je lokalno sve, ali bukvalno sve, radilo bar 30 puta brze.

Ako je hobi i sandbox/ucenje u pitanju onda je ok kako god da podesis. Ako pak radis nesto ozbiljno, da ne kazem profesionalno, sa klijentima i parama i reputacijom, onda investiraj malo vremena/novca i podesi ceo workflow da bude na nivou, mozda novi/bolji klijenti ili novi serveri, mozda nova infrastruktura mreze ili sta vec treba da imas komforan i brz workflow, kad sednes da mozes sto pre da krenes produktivno i bez distrakcija.
Moja supruga se sigurno ne bi slozila sa ovim, ali je mozda resenje problema da izbegnes problem, umesto da dolazis u situacije gde bi sedao za drugi komp ili laptop, kupi jedan skup i dobar, mali i jak laptop koji ces uvek nositi i moci da koristis kao pouzdano dev okruzenje bez da razmisljas.
Ili podesi na lokalnom serveru jedan vm koji ima celo radno okruzenje podeseno (ja imam jednu windows masinu na hp serveru pod unraid-om), kupi dobar ruter koji ima dobar firewall/vpn i uvek se kacis na taj komp preko vpn-a i remote desktopa/vnc. Prvo resenje koristim na poslu, drugo kuci, oba rade posao.
[ Predrag Supurovic @ 29.08.2019. 08:21 ] @
Citat:
Zlatni_bg:Net uvek imam, pa to nije problem


Samo, jednom da ti se desi da je nešto hitno ili bitan klijent a ti negde remote i stane ti internet ili je bedan, da vidiš kako ćeš sve da instaliraš da ubuduće imaš u lokalu.
[ Zlatni_bg @ 29.08.2019. 09:01 ] @
... pa jeste u lokalu, na serveru na kucnoj mrezi :) i da ima i da nema neta isto mi dodje. Ako nema neta, 192.168.1.51. Samo za produkciju imam u datacentru server. Ili na "cloudu", zavisi o cemu se radi.

Ima se i novca i adekvatnih servera i klijenata, softvera, nije to problem. Problem je navika koja traje deset godina i koju ne znam da li zelim da iskorenim. Radim sa windowsa, i ne volim background aplikacije koje nisu neophodne.

Konkretno ovde mogu da uzmem php binary na svakoj masini, artisan moze da radi serviranje. Problem je kod ostalih servisa koji treba da se dizu. Morao bih da imam mysqld svuda na primer kao minimum, a da cuvam blueprinte kao fajlove. Opet, u nekoj fazi moram da ubacim dummy datu... jednostavno naviknut sam da je sve kako jeste na jednom racunaru. Cudi me da PHPStorm nije adekvatno pristupio problemu kad vec nudi to kao opciju.
[ dakipro @ 29.08.2019. 09:19 ] @
Kad sam ja to zadnji put trazio i podesavao, mislim da su iz jetbrains negde napisali na forumu (isto kao i netbeans) ako radis tako sync-remote onda imas tu basic podrsku, ako ti treba nesto komplikovanije onda jedino version control metodika.
A remote desktop na glavni workstation ako vec koristis windows i sve je lokalno? Ja tako koristim zenin laptop kad sedim u dnevnoj sobi, otvorim remote desktop u full screen i "nema razlike" osim ako ne otvorim neki video.
[ gost12 @ 29.08.2019. 12:36 ] @
Ovo bi docker lijepo riješio. Bilo kakvo editiranje sourcea na serveru bih uvijek izbjegao, git obavezno, može poslužiti i kao deploy tool.
[ Branimir Maksimovic @ 29.08.2019. 13:31 ] @
Citat:
Zlatni_bg:
Radio sam i ja remote sa nano, ali zamisli koliko je to tek veselo resenje.


Nisam jos shvatio zasto ti treba centralizovan pristup.
Koristio sam vim samo kad je trebalo raditi intervenciju na nekoj skripti, tipa popravis
bug na licu mesta, a za C++ sam mora da komitujem, napravim paket pa onda preko
yuma install na server. Inace za sve sam koristio vim.
U svakom slucaju sada posle 13 godina opet koristim IDE (VS) posto radim na Windows-u :P
[ Zlatni_bg @ 29.08.2019. 18:07 ] @
Citat:
gost12:
Ovo bi docker lijepo riješio. Bilo kakvo editiranje sourcea na serveru bih uvijek izbjegao, git obavezno, može poslužiti i kao deploy tool.


Ali to je razvojni server da se razumemo, znaci samo za moje oci. Identicno kao sto bi bilo u lokalnom okruzenju.

Centralizovani pristup mi znaci da ne moram na svakom racunaru da podizem ogroman broj servisa. Takodje, ono sto je neko spomenuo, kad lepo radi sinhro (recimo remotefs+vscode radi ali mi ne radi nijedan drugi plagin) identicna mi je postavka na svemu i ne moram da razmisljam ni o cemu. Isti su recimo test korisnici, ista je data u db, sve je isto. C++ ili bilo sta sto koristi samo jedan alat bi bilo lagano za ovu postavku, meni problem predstavlja ogroman broj servisa koji moraju onda svuda da budu podeseni. i5 laptop izlazi bez problema na kraj sa svime, ali je velika razlika kada na njemu radi text editor i kada na njemu radi text editor + httpd + php + mysqld + xyz. Ovako bukvalno ne dize freq preko 1.2GHz, sa svim servisima u pozadini ne znam koliko bi baterije vuklo. Znam, macbook pro resava problem, ali nije u tome zec, problem je ta navika da imam na serveru sve podeseno kako treba i radim sa tim.

VNC/RDP su opcija, sto kazes dokle god ne prevlacim neku sliku koja se pomera nije strasno ali gledam neki low lvl pristup da se zadrzim na ssh/sftp. Ne kapiram sto je to toliko tesko da bude adekvatno izvodljivo :/ Posveticu par dana da vidim sta moze Storm da uradi, secam se da sam ranije radio i kompletan remote preko sftp, editovanje na serveru bez lokalnog kesiranja.

Neka bude da koristim i CVS. Fakticki bi svaki fajl koji izmenim morao da komitujem, sreca pa uhodan ne moram svakih 5 minuta da gledam da li nesto radi ili ne radi, ali kako CVS da radi bez kompletnog lokalnog okruzenja? :D Znaci opet dolazimo do toga da mi trebaju svi servisi instalirani na onome sto bi trebalo da mi bude klijent, jer sam git radio na dev serveru i odatle radio commitove.

Sta bi mi sve trebalo za lokalno okruzenje za laravel na windowsu? Neki WAMP stek + ostale komponente? Iskreno s win servisima se ne igram uopste, ali bi me zestoko smaralo da mi ista radi u pozadini sve vreme ako ne mora.

Cak PHPStorm ima opciju da koristi remote interpreter na deployment serveru, znaci da provuce odredjeni fajl kroz php. Zato mi nije jasno kako tako lose radi ova remote podrska i mislio sam da sam ja negde pravio gresku, i idalje mislim i posveticu koji dan tome. Generalno kad sam radio sa svojim pisanim fw nisam imao problema jer sam ga znao napamet ali za laravel dobro dodje malo autocompletea i neki info o klasama. Pogotovu kada se pravi neki malo kompleksniji servis i postuje SOLID.
[ Branimir Maksimovic @ 29.08.2019. 19:09 ] @
" kada na njemu radi text editor + httpd + php + mysqld + xyz"

Mogu oni da cuce, samo zauzimaju ram i to bi sve stalo. Ne rade oni nista ako nije produkcija.

[ Zlatni_bg @ 29.08.2019. 19:47 ] @
Nista, do nedelje cu da se igram sa testiranjem produktivnosti na internom dev serveru i lokalnom (remote) sa svim servisima na svakom, taman imam manje vise svezu instalaciju windowsa na ovom lap topu, pa cu da vidim kako se sta ponasa. Nek' on bude reper, na desktopu imam pun q svega i svacega i ne igra mi se sa servisima dodatno, radi mi neko obucavanje AI modela vec par dana :)

Ako nista, javicu utiske, mozda se ipak nadje neki cudak/ludak kao ja ko radi na ovaj nacin. Prvenstveno cu se fokusirati na PHPStorm remote, druga stvar VSC remotefs mada vec znam prednosti i mane toga. Kada bi radile ekstenzije bio bi pun pogodak. Taman nisam ni Storm koristio dosta vremena, mozda mi pokaze neke prednosti u odnosu na vsc.

Znaci par dana inkubacije, a do tada, ukoliko neko uspe da iskopa (ja cu naravno pokusati) - da li PHPStorm moze da pravi neki git-fazon izmenjenih fajlova na serveru pa da se samo to pocupa umesto kompletne sinhronizacije, i kako u bas ovakvom slucaju koristiti cist git/hub - znaci masivno commitovanje na neku drugu bransu sa cestim povlacenjem fajlova na dev server.
[ dakipro @ 29.08.2019. 20:53 ] @
Citat:
Zlatni_bg: Ne kapiram sto je to toliko tesko da bude adekvatno izvodljivo

Mislim da je stos u tome sto imas puno dodatnih servisa danas. I ja sam nekad koristio remote sync, sta vise radili smo na live serveru sync preko sftp-a, editujes lokalno i gledas izmene na live. Ali to recimo mozes sa html i statickim php fajlovima (statickim, mislim na fajlove koji ne doceka neki "kompajler" usput pa ih izmeni). Cim moras da koristis Artisan, webpack ili sta vec sto ce da tvoj kod prekompajlira u neki drugi koji ce server da potera, onda moras da imas publishing setup, i najlakse lokalni development. Ili da snimas svaka dva reda koda, cekas da git uradi commit, jenkins uradi neki build i deploy, server uradi nesto svoje dodatno sta vec i onda uradis refresh na remote serveru tri minuta kasnije. A to ti je vec rabota za tim od 10 programera i dva devopsa ili kako se vec organizuju.

Dakle, macbook :)
[ Tpojka @ 29.08.2019. 21:38 ] @
Citat:
Zlatni_bg:
Git nije najsjajnija opcija


Šteta, jer da jeste ovako nešto
https://gist.github.com/nichtich/5290675
bi bilo izvodljivo.
Naravno, navedena deploy.php skripta se može modifikovati po potrebi da hvata i artisan i composer i sve šta treba.
[ dakipro @ 29.08.2019. 21:44 ] @
Licno ne znam kako bih radio sa git/vcs bez lokalnog okruzenja, poludeo bi posle tri "snimi/komit/cekaj/refresuj/nevalja sve iz pocetka/snimi/komit... " ciklusa
[ Tpojka @ 29.08.2019. 22:23 ] @
Ne bi (valjda).
Laravel Forge nije besplatan ali ima push to deploy sa sve artisan migrate (ili kojom god drugom da je potrebna) komandom.
Nikako ne bi' mog'o sebe zamisliti da tražim bilo kakvo rješenje van git-a/github-a.
Sigurno se može napraviti neki push to deploy.
Evo još neki artikal o tome:
https://medium.com/@francoisro...s-deploy-with-git-fea605f1303b
Nisam najbolje shvatio, ali ako je sekundarni prioritet imati okruženje u lokalu onda definitivno github i push to deploy varijanta.
[ anon70939 @ 29.08.2019. 22:28 ] @
Opet ja dosadan sa AWS, ali nekako mi VDI zvuci savrseno za to sto ti treba.
A nije skupo
https://aws.amazon.com/workspaces/pricing/

Naravno ako ti to treba za posao koji ti donosi novac, ne za hobi
[ Zlatni_bg @ 29.08.2019. 23:16 ] @
Daleko od toga da si dosadan, svi pristupi problemu su potencijalno resenje, samo ne razumem u potpunosti ovo sto nude?

Git bas nije najsjajnija opcija iz razloga sto je daki spomenuo - prevelik ciklus od zavrsavanja pisanja koda do provere sta isti i da li radi - zaboravis ";" i ode 10 min. Imam svoje skripte za deployment ali svejedno bi bilo pakleno, commit je za nesto sto je zavrseno i isprobano, nije bas "save all".

Znaci primarni problem - klijentski pc ima samo IDE/Text editor i SSH+SFTP za komunikaciju sa serverom. Sa time se kaci na navedeni server koji ima sve neophodne servise/daemone, i prosto dugme "save" u editoru cuva fajl na serveru, tako da "f5" na toj stranici instant prikazuje rezultat kao u lokalu. Problem - sinhronizacija aktuelnih podataka sa drugim klijentom. Resenje koje radi je VSCode ali kao sto pisah, remotefs ga pretvara u editor sa hajlajtingom i nicim vise maltene. Ne moze da pojuri odakle je koja klasa npr.
[ Zlatni_bg @ 29.08.2019. 23:18 ] @
Budan sam vec solidno, ali sta bi radilo eventualno mauntovanje remote particije (samba mozda cak samo za folder?) Ili rsync?
[ Predrag Supurovic @ 29.08.2019. 23:42 ] @
Ako ti je baš tiloko stalo da radiš online onda je praktično RemoteDesktop, VNC, TeamViewer, AnyDesk... prosto se zakačiš na računar nakome ti ej već sve podešeno i radiš.

Ako pukne veza, super, imaš neplanirano slobodno vreme, čak i ako klijent nervozno čeka da se reši problem :)

[ Zlatni_bg @ 29.08.2019. 23:58 ] @
A kako klijentu da resim problem ako pukne veza uopste? Je l' sam naveo da je dev server kucni server i da nema veze sa internetom?

Inace, ajde da vidimo test okruzenje i za lokalni server za ovih pet dana. Skidanje zasebnih binaryja za win za sve posebno, neki wamp stek, i ono na sta sam upravo nabasao -Laragon? Navodno je izolovan koliko moze (nije kontejner), ali ima dosta funkcija na klik i brdo ostalih podesavanja? Koga ne mrzi neka baci pogled, deluje vredno.
[ peromalosutra @ 30.08.2019. 07:42 ] @
Vidi, ti uopste nisi u nekoj jedinstvenoj situaciji, svaki developer se suocava sa ovim i jedno od opste prihvacenih rjesenja je Docker + Git. Napravis fino Docker image koji sadrzi sve sto ti treba i komitujes to na git repo. Onda ako ti danas izgori laptop na kojem radis, odes i kupis novi, instaliras samo git i docker i fino povuces svoj git repo koji je siguran negdje na serveru, kazes "docker build ...", pa "docker run ..." i imas kompletno okruzenje lokalno (ista stvar kada dodje novi developer na projekat).

Cak i kada su svi alati dostupni lokalno, cesto je zgodnije koristiti Docker, jer mozes da podesis da imas apsolutno iste verzije svih paketa kao i na serveru, tako da izbjegavas problem "radi na mom racunaru (a puca kod klijenta)".

Sto se tice potrosnje resursa, da li si ista mjerio? Davno sam radio web, na nekoj i3 prije ihahaj godina i ne sjecam se da sam osjetio ikakve penale zato sto mi u lokalu radi LAMP.
[ Predrag Supurovic @ 30.08.2019. 07:58 ] @
Citat:
Zlatni_bg:
A kako klijentu da resim problem ako pukne veza uopste?


Veza ti je potrebna samo da pošalješ završeno na server a ne i da radiš. Za toliko možeš da se snađeš.

Citat:

Je l' sam naveo da je dev server kucni server i da nema veze sa internetom?


Pošao sam do pretpostavke da nisi uvek kod kuće. Bar se meni često dešava da nešto moram da završim a nisam u lokalnoj mreži.

U lokalu je meni dovoljno da šerujem direktorijume sa servera na računar na kome radi i direktno editujem u njima šta treba. Mada i na radnom računaru imam kompletnookruženje instalirano, pošto meni lolani server niej baš razvojni pa ne volim da direktno prčkam po njemu. To obično radim samo ako datu sutaciju ne mogu lako da reprodukujem na svom računaru.

Citat:

Laragon? Navodno je izolovan koliko moze (nije kontejner), ali ima dosta funkcija na klik i brdo ostalih podesavanja? Koga ne mrzi neka baci pogled, deluje vredno.


Zvuči veoma interesantno.

[ dakipro @ 30.08.2019. 08:48 ] @
I ja sam mislio da ti treba remote access, ono always-online-guarantee. Ako si vec kuci ne bi ja nista komplikovao, RemoteDesktop ili teamviewer ti treba 10min da podesis na jedan glavni komp i imas apsolutno sve kako ti odgovara na svim klijentima u mrezi.
Ili shared folder/rsync varijanta (mozda cak i ownCloud/NextCloud ako vec imas lokalni server) i sve si "probleme" resio.
[ agvozden @ 30.08.2019. 17:59 ] @
Ja odavno koristim dropbox za takve stvari.
Pogodan je za male timove, gde svako zna sta radi (posebno php, posebno html+css).
I onda mogu da radim sa raznim mesta, tamo gde sam stao, a response na promene je manji od sekunde.
Ima i versioning, tako da mozes da vratis neki fajl unazad, ili ako je izbrisan.

Nije pogodan ako se ljudi cesto kolju na istim fajlovima. Uz to je problem ako ima previse fajlova, pa nije dobar za nodejs i slicne aplikacije.
[ Panta_ @ 30.08.2019. 21:02 ] @
Tmux + Vim kao PHP IDE + Windows Terminal

[ anon70939 @ 30.08.2019. 21:21 ] @
Citat:
Zlatni_bg:samo ne razumem u potpunosti ovo sto nude?

https://www.hetzner.com/cloud?country=gb

Ili još jeftinije... Digneš jednu mašinu na hetzneru i podesiš kako voliš i na nju se kačiš sa bilo kog računara i radiš odatle. Uvek isto okruženje.

Pretpostavljam da bi tebi bilo sasvim dovoljno za rad 8GB rama, što je 10€ mesečno. Jedino sto ti je to ssh pristup samo.
Ali mozes i desktop okruzenje da instaliras
https://bas.esse.rs/2018/02/cloud-desktop-with-ubuntu-and-xfce/

Za 19€ 16GB rama i 4 vCPU što je sigurno i više nego što ti treba.

Ja recimo koristio 99% posla tako što sam se konektovao na neki jump server Windows, na njemu instalirano sve od alata što mi je bilo potrebno, a odatle skakao na ostale servise u mreži.
Jump je bio 16GB i koristilo ga nas nekoliko bez problema.
Mislim.... bilo bi bolje da smo koristili resurse svojih mašina, ali klijent odlučio da mu tako bezbednije, sav kod je tamo itd itd..

Mogu ti reći da kad okinem rdp na full screen ne bih ni primetio da to nije moja mašina.

[Ovu poruku je menjao CoyoteKG dana 30.08.2019. u 22:45 GMT+1]
[ dakipro @ 30.08.2019. 23:22 ] @
ovaj hetzner te u praksi kosta nesto vise nego dobar desktop+struja, ako ga menjas tipa na 3-4 godina.
Samo citam sta pise pa ne znam bas sve performanse i protok i ostalo u praksi, ali ako ti treba online dostupna masina za neki posao/tim ljudi, ne deluje nesto preterano skupo (opet, kome treba)
[ Panta_ @ 31.08.2019. 06:49 ] @
Citat:
Digneš jednu mašinu na hetzneru i podesiš kako voliš i na nju se kačiš sa bilo kog računara i radiš odatle. Uvek isto okruženje.

I koja mu je to razlika od kucnog servera? Ako nema internet ne moze ni da pristupi serveru.
Citat:
Znaci primarni problem - klijentski pc ima samo IDE/Text editor i SSH+SFTP za komunikaciju sa serverom. Sa time se kaci na navedeni server koji ima sve neophodne servise/daemone, i prosto dugme "save" u editoru cuva fajl na serveru, tako da "f5" na toj stranici instant prikazuje rezultat kao u lokalu. Problem - sinhronizacija aktuelnih podataka sa drugim klijentom. Resenje koje radi je VSCode ali kao sto pisah, remotefs ga pretvara u editor sa hajlajtingom i nicim vise maltene. Ne moze da pojuri odakle je koja klasa npr.

Citat:
Recimo dosadi rad za desktopom, ostalo mi nesto finesa da zavrsim, hocu da se prosetam malo i nastavim rad sa lap topom. Git i CVS nisu najsjajnija opcija jer se nekad radi o sat-dva posla

Koristio bih VScode kao i do sad da ne nailazim na brdo problema - gotovo nijedna ekstenzija mi ne radi sa RemoteFS ekstenzijom za rad na udaljenom serveru. Templejt endzin mi ne prepoznaje HTML kod u PHPu, ne radi mi favorites jer se ne kesira lokalno, a kada bih kesirao lokalno bilo bi gomila fajlova koja bi morala da se uporedjuje, i iako sam probao nikad nije radilo kako treba. Jednostavno VScode nije za ovo.

To sto ti hoces, ovo gore sto sam predlozio (Tmux + Vim) je idealno resenje. Mozes da radis sa laptopa, desktopa, telefona, tableta, TV-a..., samo ssh server-ip && tmux attach -t x i nastavljas sa radom gde si stao. Nema nikakvih dodatnih servisa, opterecenja, sinhronizacije, itd. sve je na dev serveru.

Jeste da ce ti trebati par dana da podesis Vim za PHP i da se upoznas sa istim, ali gledano na duge staze, ovo je po meni najbolje resenje za takav rad kakav ti preferiras. Naravno, mozes da koristis i neki drugi terminal editor Emacs, nano, pico, itd., ali mislim da vim uz pomoc dodatnih plugina je najbolje resenje.

Vim vec podrazumevano ima sve sve sto ti je za pocetak potrebno, code-highlighting (:set syntax on), code-completion (Ctrl+n), file explorer (:Explore), file finder (:find filename), tabs (:tabnew), integrisan terminal (:terminal), windows splitting (:sp, :vs), registers (:registers), sessions (:mks), mappings (:map), abbreviations (:abbreviate), marks (:marks), ctags (:tag func_name), itd., za ono sto nema podrazumevano tu je veliki izbor plugina.
[ dejanet @ 31.08.2019. 06:50 ] @
@Coyote

Da li ti smeta mali "lag" na ekranu rd-a posle par sati. Meni bi smetalo posle 5 minuta.

Do hetznera mislim da je net latenca oko 50 ms., ali cela prica moze biti dobra.
[ Predrag Supurovic @ 31.08.2019. 08:32 ] @
Citat:
Panta_:
To sto ti hoces, ovo gore sto sam predlozio (Tmux + Vim) je idealno resenje.


Šta je taj Tmux ne znam, ali Vim?!?!?!

Mi ovde pričamo o zbiljnom poslu. Ko još programira nešto ozbiljno u Vim-u i konzoli osim ako je mazohoista? To može da nešto na brzinu čačpneš, ali da radiš satima na ko zna koliko istvoremeno otvorenih dokumenata, ideja je smešna.
[ Panta_ @ 31.08.2019. 08:55 ] @
Citat:
Ko još programira nešto ozbiljno u Vim-u

Na primer:

Rasmus Lerdorf - the creator of PHP
Larry Wall - the creator of Perl
Paul Graham - Y-Combinator co-founder
Jeffrey Way - Laravel framework contributor, itd.

Citat:
To može da nešto na brzinu čačpneš, ali da radiš satima na ko zna koliko istvoremeno otvorenih dokumenata, ideja je smešna.

[ dakipro @ 31.08.2019. 09:20 ] @
Dal to ide sa godinama sta li je, ali sada ne bih seo da programiram bez dobro full podesenog intelliJ. Doduse sve manje radim sa klijentima kojima treba nesto odmah i live a sve vise na komplikovanijim projektima pa mozda zato.
Ali to pisanje koda po konzolama i editorima mi je prilicno neprakticno. Ako nista drugo ondak zbog crtl+click navigacije medju korisnicima metoda i autocomplete i refaktoring podrske, a i lako testiranje i interpretaciju rezultata. Ako mi IDE omogucava da lako radim refaktoring i olaksava mi navigaciju kroz puno fajlova i metoda, onda imam i volje da pisem kod koji se lakse odrzava (vise kracih metoda, vise manjih klasa) i imam vise volje da radim extract delova koda. To sve nema teorije rucno da kopiram i prevlacim, bar ne odkad znam da ima mnogo laksih i bezbednijih nacina.
Mozda to sve ima veze sa tim da imam 1-2h slobodnog vremena dnevno, i ako ce IDE da mi ustedi 30min na dan, to je meni u dzep direktno 30-50% vise slobodnog vremena.
A to mi sada vredi jedan nov laptop koji ce da ima celo okruzenje podeseno, i ovog problema vise nema :)
[ anon70939 @ 31.08.2019. 10:03 ] @
Citat:
Panta_:
Citat:
Digneš jednu mašinu na hetzneru i podesiš kako voliš i na nju se kačiš sa bilo kog računara i radiš odatle. Uvek isto okruženje.

I koja mu je to razlika od kucnog servera? Ako nema internet ne moze ni da pristupi serveru.

Razumeo sam da on zeli sa vise razlicitih lokacija da pristupa istom okruzenju. A ako cemo o nedostatku interneta, ako je na nekoj drugoj lokaciji onda su mu skoro duplo vece sanse da ce imati problem sa internetom jer za obe lokacije nema redundantnu liniju. Isto i sa strujom i sl. Ovako bar ne mora da brine o Hetzner strani.

Ali zapravo prednosti su recimo
- Na hetzneru ima 50-100x bolji upload
- Ne brine ni o struji, ni da li će da je ima, ni o potrošnji iste koja je verovatno pola ove Hetzner cifre
- Ne brine da li će SBB da odluči i umesto public adrese da mu dodeli neku cg-natovanu (kao što su meni)
- Ne mora da odvoji odmah novac i da kupi hardware. OK on možda već ima, ali pričam generalno
- 10-20€ mesečno verovatno može da fakturiše dodatno klijentu kao “server za development”
- Kad je već na hetzneru može u lan-u da diže nove mašine po potrebi vrlo lako jer postoji Terraform provider za Hetzner, pa lako može da podiže ceo stack i gasi posle testiranja, isprobavanja... Jeftino će biti.

Ne pada mi na pamet trenutno šta još, ali verujem da su prednosti na cloud strani.

Citat:
dejanet:
@Coyote
Da li ti smeta mali "lag" na ekranu rd-a posle par sati. Meni bi smetalo posle 5 minuta.
Do hetznera mislim da je net latenca oko 50 ms., ali cela prica moze biti dobra.

Nisam zaista primećivao bukvalno nikakav lag.
Kad bih povećao ekran skroz na full screen sa sklanjanjem one RDP linije, zaista nikakva razlika u odnosu na rad na mojoj mašini.
Još server na koji sam se kačio je bio u nekom lokalnom datacentru, verujem da Hetzner nudi bolju liniju nego što su oni imali.
[ Panta_ @ 31.08.2019. 10:26 ] @
Citat:
Ali to pisanje koda po konzolama i editorima mi je prilicno neprakticno. Ako nista drugo ondak zbog crtl+click navigacije medju korisnicima metoda i autocomplete i refaktoring podrske, a i lako testiranje i interpretaciju rezultata. Ako mi IDE omogucava da lako radim refaktoring i olaksava mi navigaciju kroz puno fajlova i metoda

Vec sam naveo, sve to moze vim podrazumevano, serach, replace, grep, sort, code auto-complete, file auto-complete, file explorer plus Unix komande :!command. Ili sve to kome je lakse kroz plugine https://phpactor.github.io/phpactor/refactorings.html, https://github.com/tpope/vim-fugitive, https://github.com/scrooloose/nerdtree, itd.
[ dakipro @ 31.08.2019. 10:48 ] @
nisam koristio vim za nista vise od nekog brzog edita, i to samo ako nemam nano na serveru.
Ali, da li je search-replace i vim-u na istom nivou kao i refaktoring u intellij?
[ Panta_ @ 31.08.2019. 11:42 ] @
Citat:
Ali, da li je search-replace i vim-u na istom nivou kao i refaktoring u intellij?

Nema Ctrl+click, tj. ima Ctrl bez click .

Ovako nesto: https://www.jetbrains.com/help...using-regular-expressions.html

Code:
:%s/pattern/replaced string/gc


g - global
c - confirm (potvrdi svaki replace)

Ctrl+r, Ctrl+w (kao Ctrl+klik) -- koristi trenutnu rec kao patern.

Ili :vimgrep

Code:
:vimgrep /<Ctrl+r><Ctrl+w>/ **/*
:cfirst - first match
:qa - snimi makro u registar a
:%s/pattern/replaced string/gc
:cn[ext] - next match
@a - izvrsi makro
:cn - next match, etc...


**/* - grepuj sve u trenutnom i ostalim poddirektorijumima
% - trenutni file

:bufdo command - samo otvoreni bufferi (:ls list buffers)
1,5:bufdo command - bufferi u opsegu 1 do 5
:windo command - windows

Ili nesto lakse uz pomoc plugina, npr: https://github.com/dkprice/vim-easygrep
[ Branimir Maksimovic @ 31.08.2019. 13:42 ] @
Panto mozes da impresioniras mene jer ja radim sve u text editoru vise od 20 godina, ali mislim da neko ko nije radio sa vim odranije, nikako
nece biti kupljen :P
[ Panta_ @ 31.08.2019. 14:33 ] @
Evo prethodno pomenuto, samo malo jednostavnije (bez upotrebe plugina):

Code:
:nnoremap gr :vimgrep <cword> % \| copen<cr>
:nnoremap Gr :vimgrep <cword> **/* \| copen<cr>


gr - trazi rec pod kursorom u aktuelnom fileu
Gr - trazi rec pod kursorom u celom projektu
copen - otvara quickfix prozor sa izlistanim putanjama i linijama u fileu gde se trazena rec nalazi

Mislim da ne moze jednostavnije, klik ili enter na file, zatim cw (change current word), pa sledeci :cn ili klik na file, pa . (ponovi prethodno), itd...


Za one koji nisu koristili Vi ili Vim, ove dve pomenute nnoremap komande, koje mapiraju gr i Gr komande u Normal modu, se unose u Vim settings file tzv. vimrc, ili u command-line modu koji se startuje sa : gde vaze samo za trenutnu sesiju. Posle samo gr ili Gr.

[Ovu poruku je menjao Panta_ dana 31.08.2019. u 15:49 GMT+1]
[ dakipro @ 31.08.2019. 16:20 ] @
Opet kazem, ako je za hobi i zezanciju na sitnim projektima (10-20 fajlova) to moze i na telefonu da se programira, cak i bez tastature nego moze google assistant da izvrsava makroe preko glasovnih komandi, jer je to naj cool.
Ako pricamo o ozbiljnom/profesionalnom radu onda find&Replace nije refactoring, nije ni blizu, jer da jeste zato bi bilo ko placao za intellij 50e mesecno.
Iz istog razloga ljudi kupuki mekintosh, zasto kad mozes vim da poteras na malo boljem digitronu.

Zbog konfora i brzine, ustede na vremenu i povecanje produktivnosti. Iz tog razloga i ova tema, Zlatni_bg zeli da komfornije iskoristi par sati rada na projektu, iz sofe, gde je komforno :)
[ Predrag Supurovic @ 31.08.2019. 16:39 ] @
Citat:
Panta_:
Citat:
Ali to pisanje koda po konzolama i editorima mi je prilicno neprakticno. Ako nista drugo ondak zbog crtl+click navigacije medju korisnicima metoda i autocomplete i refaktoring podrske, a i lako testiranje i interpretaciju rezultata. Ako mi IDE omogucava da lako radim refaktoring i olaksava mi navigaciju kroz puno fajlova i metoda

Vec sam naveo, sve to moze vim podrazumevano, serach, replace, grep, sort, code auto-complete, file auto-complete, file explorer plus Unix komande :!command. Ili sve to kome je lakse kroz plugine https://phpactor.github.io/phpactor/refactorings.html, https://github.com/tpope/vim-fugitive, https://github.com/scrooloose/nerdtree, itd.


Zbog ovoga Linux jedva drži 2% tržišta. :)

[ Branimir Maksimovic @ 31.08.2019. 16:48 ] @
Predrag:"zato bi bilo ko placao za intellij 50e mesecno. "

To se i ja pitam :P

[ Zlatni_bg @ 31.08.2019. 17:09 ] @
Ljudi, radim projekte koji uglavnom zahtevaju od 3 meseca pa na vise :) Mozda se neko seca moje stare teme "u kom pravcu ici" gde su mi mnogi aludirali na Laravel i ciji savet sam poslusao, te ga forsiram poslednjih godinu+ dana u odnosu na prethodno pravljen licni fw, osim naravno kada su sitnije stvari u pitanju.

Za one koji nisu u toku sa PHP svetom, poslednjih godina je nestasica malih projekata. Ono sto treba da se odradi za malo vremena se radi u WordPressu koji ne radim iz principa nekog, 'bem li ga, izgleda sam i ja postao tvrdokoran i probirljiv. Volim nekako sve od nule sam da pravim, i Laravel nisam dirao dok nisam razumeo sve sta su oni radili i citao gomilu dokumentacije, pregledao fajlove, itd.

Poenta je da mi rad bude lagodniji, a imam tu kombinaciju koja mi radi 10+ godina bez problema - mlad sam, 27, prilagodljiv sam, kapiram da cu kad tad morati da se naviknem na neke nove stvari, ali eto, ovu temu sam otvorio da nadjemo zajedno nacin kako raditi development na remote dev serveru uz sto manje muke. Da imam zivaca da sedim za desktopom po 10h nekad verovatno bih na istom drzao celo to radno okruzenje i radio commit posle odradjenog dela posla na dev server i video pred-produkcijske rezultate.

Ima stvarno korisnih stvari koje su ovde navedene, ali opet kazem - fokusiramo se na produktivnost, ne na neko "unazadjivanje". Vim znam da se kune gomila ljudi u njega ali ja ga licno nisam nikad koristio, uvek je prva stvar kad podignem linux cli distro bila "yum install nano" ili pandan toj komandi.

Od koristenih alata za rad, najbolje su mi se pokazali Notepad++ koji sam pregazio VScode-om (ms je posvetio mnogo paznje u poslednje vreme istom, a n++ je malo zgazen sto se tice novina, ali i dalje vrlo funkcionalan!!!) i JetBrains alate koji su okej kad se rade veliki projekti. Kada su sitne stvari u pitanju apsolutno je svejedno sta se koristi, VScode zavrsava i remote pricu.

---

Poenta je sto u mom slucaju mora da se razbije ta neka monotonija rada i mora da se izadje iz radne stolice. Prosto da se ista ne zgadi coveku. Ima dana kada ustanem, otvorim oci, pogledam ka desktopu i u fazonu sam "au brate, ne mogu da te palim" a ima finesa koje bih zavrsio. Okrenem se na stranu, uzmem lap top i u krevetu ispeglam sta treba za pola sata, odem, stavim kafu, vratim se u krevet i nastavim jos nekih sat vremena, potom malo iskoristim dan, itd... Nekad i odem do kafica na 2 sata pa i tako razbijem monotoniju. Poenta je samo sebi olaksati rad sto vise, psihicki. Jer stvarno radni sto moze da stvori odbojnost ponekad.

Sto se tice hardvera, softvera, svega ostalog, servera, dodatnih troskova, ne brinite za to - pokrivam sve ukoliko je potrebno i znaci. Ako ce mi olaksati rad, 50e mesecno za bolju produktivnost se nadokndadi za 2-3 sata rada. Da pricamo o hobiju, imao bih VScode i WAMP na kompu i to bi bilo to, kakvi crni dodatni serveri i licence.

---

Ono sto mi je radilo perfektno na ovaj nacin je N++. Imao je sjajnu SFTP podrsku, direktno su se editovali fajlovi na serveru, cuvali su se svakih x vremena snapshotovi nesacuvanih fajlova, nikad nije bilo greske. Sa tog servera se potom radio commit za VCS. Potom sam resio da isprobam sve ove nove fensi editore, Atom, Sublime, PHPStorm, i jos par nekih, vise se ni ne secam, neki su bili okej, neki nisu, svaki ima svoju krivu ucenja. Def najbolji je Storm, ali naravno kosta, uz to je kriva ucenja prilicno strma na pocetku pa potom blaga pa strma. Nema ono napravis novi projekat i kreces da radis, ima dosta potrebe za podesavanjima, ali kad se posveti koji dan podesavanju i razumevanju sta koja funkcija radi, sve ide kao po loju.

Nazalost, PHPStorm mi je prvi put delovao prekomplikovano i dosta resoursce heavy u odnosu na ostale (ipak je IDE za razliku od ostalih koji su editori), te sam nasao srecu u VScodeu. Zavrsih neki projekat u istom relativno skoro i bilo je stvari koje su me nervirale ali nisu bile kriticne, plugin remotefs radi kako treba, ali ostali pluginovi nisu bas kompatibilni sa istim jer ni on ne radi kesiranje lokalno vec editovanje na serveru, a plaginovi traze neke stvari koje moraju da se nalaze na klijentskoj strani, negde je moguce to ispeglati, negde nije. Na primer, u .php fajlovima koji se edituju lokalno, radi auto-complete i autoclose tagova HTMLa, dok na remoteu nema nista sem nekog primitivnog hajlajtinga. Znaju mnogi da laravel ukoliko se koristi blade za izradu frontenda kao templejting endzin cuva podatke u blade.php formatu koji su ustvari .html tipa sa nekim dodatnim tagovima koje PHP preprocesor kompajlira u toku izvrsavanja. Zaobilazno resenje je bilo da prebacim VScode vidjenje .blade.php ekstenzije u .html. Onda je i remote radilo sve kako treba... dokle god ne pisem php kod u blade.php, sto po pravilu ne bi ni trebalo da radim. Postoji i lokalno kesiranje za ne daj Boze. Ovo se odnosi ukoliko se kompletno resenje pravi u Laravelu/PHP, ako ne radim ja frontend i diram samo .php i pravim API, sve radi bez greske.

Znaci postoje resenja koja mi rade posao, ali sam otvorio temu jer me je zanimalo da li jos neko radi istim principom kao i ja. Ne trazim neku budzevinu vec stvarno nesto sto je napravljeno da radi jer je ovo stvar koja zivi, nije neka fiks ideja. VNC/RDP su solucije, naravno, ali ne volim virtualizaciju vizualnih stvari, postoji taj minimalan lag kom se ne bih izlagao bez preterane potrebe. Takodje, vim je neki downgrade u odnosu na ono sto se danas nudi. Notepad++ radi, VSCode radi sa problemima sa plaginovima koje sam vec odavno prijavio na githubu, oznaceni su kao feature request ili bug, niko nije rekao "lud si, koji ce ti to q", postoji svest o problemu. PHPStorm upravo testiram i za sada deluje OK, *mislim* da negde cuva podatke o napravljenim fajlovima, ima i integrisan shell u sebi koji moze da se prebacuje lokalni/remote pa i php artisan radi iz same aplikacije sto ume da bude zgodno. Ono sto mislim da mu pravi problem je pravljenje kontrolera/modela/etc preko artisan komandi ali i dalje nisam siguran. Znaci sve ono sto nije nastalo nativno preko pisanja preko editora jer mozda negde postoji neki njegov maleni VCS. Ponavljam, nisam siguran i i dalje testiram celokupno resenje.
[ Branimir Maksimovic @ 31.08.2019. 17:15 ] @
"50e mesecno za bolju produktivnost se nadokndadi za 2-3 sata rada"

Ako u smislu za ta tri sata zaradis dodatno ko da si radio 6 sati onda se isplati, ali cisto sumnjam.
Programiranje nije daktilografija...
[ anon70939 @ 31.08.2019. 17:21 ] @
VScode ima ssh plugin.
Ja sam ga koristio i editovao fajlove direktno na serveru.. Mislim da se zove FS taj koji sam instalirao.

Sto se tice vnc laga... mislim da to danas vise nije primetno. Doduse ne znam za VNC ali RDP radi sjajno.
Na hetzneru mozes da iznajmis masinu na sat pa probaj
[ dakipro @ 31.08.2019. 18:26 ] @
ja sam primecivao lag na win remote desktop kada sam imao ruter od provajdera, primetna razlika je bila kada sam uzeo ubiquiti unifi. Ne koristim toliko remote, mozda koji sat u par meseci, ali se ne secam da sam primecivao neki lag iskreno. Mislim, stvari se odigravaju isto brzo kao sto bi i na tom laptopu lokalno, verovatno jer nema nesto puno ram-a, tako da..
[ Zlatni_bg @ 31.08.2019. 20:39 ] @
@Coyote

Taj kucni server se vrti primarno na win, odatle je HyperV par linux masina, jedna dev server, druga media/share centar, treca neki nabudzeni dns server sa blokiranjem reklama i jakim lokalnim kesom... ima tu svacega. Znaci hardver nije problem, a znam i kako RDP izgleda bas zbog ovoga :) Problem je sto je vizuelno konektovanje na kompletan ekran druge masine meni stvarno suvisno u ovom slucaju. Znaci hetzner koliko se secam ima DE servere, do tamo je ping ~40ms, do kucnog servera imam <1ms, i to mi je suvisno za slikovit prikaz :)

VScode ima taj remotefs, bas za rad sa SFTP folderima. I to radi skroz okej do neke mere, nije kriv VS vec ostali plaginovi.

Ruter imam solidan asusov, AC1300 (AC58U), 128MB RAM i 128MB flesa, 4 ARM jezgra na valjda 1GHz, ARM. Sa tim takodje nemam problem, na njemu mi je VPN server uglavnom cisto da se nadje - a i da EON radi van SBB mreze u fulu :)

Isprobacu i tu soluciju, odvojih par dana da se igram sa razlicitim postavkama, suludo je posvetiti par sati necemu jer je potreban odredjen period privikavanja.
[ agvozden @ 01.09.2019. 09:58 ] @
Ne kapiram programere koji ne koriste IDE kada je razvoj aplikacija u pitanju.
Editor teksta je zgodan za skrpt programiranje, ali kako ispratiti sve članove i metode neke komplikovanije aplikacije?
Ja koristim Ekplips, tu je i NetBins, oni su barem besplatni.

Kao što rekoh, probaj Dropboks za ovo što ti treba.
[ Branimir Maksimovic @ 01.09.2019. 10:04 ] @
Citat:
Editor teksta je zgodan za skrpt programiranje, ali kako ispratiti sve članove i metode neke komplikovanije aplikacije?


Imas dokumentaciju/doxygen. U C++ (sto radim) samo pogledas header. Svakako da treba neko vreme kad zasednes za nepoznatu biblioteku/aplikaciju.
Kazem od 28 godina kako radim programiranje IDE koristim jedno 3 godine.
[ S A J A @ 01.09.2019. 10:30 ] @
Ja imam glavni kompjuter (desktop) koji je kompletno podešen za razvoj i sve mi je na njemu. Svi ostali računari, uključujući i laptopove su lajt varijanta: brauzer, office i par nekih sitnica. Kad god želim nešto da programiram, samo pokrenem RD, nakačim se na svoj komp (koji radi ceo dan, gasim samo noću) i to odlično funkcioniše. Nikad nemam glavobolju jer mi sve stoji samo na jednom mestu a taj problem sa RD lagovanjem nisam imao. Nekad znam i satima da radim i ne primećujem neku posebnu razliku u odnosu na rad "u lokalu". Pobao sam sa varijantom da imam razvojno okruženje na više računara ali to je žešće cimanje. Pošto se tu stalno nešto menja, pravo je mučenje pratiti šta si gde uradio i updatovao. Ovako lepo sve na jednom mestu i glavobolja nestaje ko rukom odnešena ;)

[ peromalosutra @ 01.09.2019. 11:37 ] @
Citat:
Da imam zivaca da sedim za desktopom po 10h nekad verovatno bih na istom drzao celo to radno okruzenje i radio commit posle odradjenog dela posla na dev server i video pred-produkcijske rezultate.


Ne moras da cekas da uradis kompletnu cjelinu da bi nesto komitovao, git se ne koristi tako. Cak i ako radis sam, za svaki feature odvojis novu granu (branch), komitujes u nju kako hoces i koliko hoces. Ne moras ni da obracas previse paznje na komit poruke, sasvim je ok da ta grana ima neurednu istoriju jer u tom trenutku koristis git vise kao backup tool za svoj kod. Kada implementiras to sto hoces, onda potrosis koji minut da sredis istoriju, ili ako hoces, squashujes kompletnu granu u jedan komit i napises finu poruku sta je implementirano. Ako ovako koristis git, onda nije problem imati komit i za pojedinacnu liniju koda ako je potrebno (npr. napisao si jednu liniju koda i onda ti pukne da hoces da radis iz kafica.. ok 5 sekundi za commit + push i izlazis).

Citat:
Ne kapiram programere koji ne koriste IDE kada je razvoj aplikacija u pitanju.
Editor teksta je zgodan za skrpt programiranje, ali kako ispratiti sve članove i metode neke komplikovanije aplikacije?
Ja koristim Ekplips, tu je i NetBins, oni su barem besplatni.


Sve zavisi kako definises IDE. Dobro podesen Vim sa odgovarajucim pluginima se bez problema moze nazvati IDE-om. Npr. za C++ razvoj, u pozadini mi trci staticki analizator koda (clang-tidy), koji na svaki "save" unutar Vim-a izbacuje anotacije pored koda za probleme koje je nasao. Code auto complete, pracenje simbola, itd takodje mozes da radis unutar Vim-a, a uz podrsku za plugine mozes da dodas jos gomilu podesavanja. "Learning curve" je malo strm, ali kada se naviknes, onda je alat kao i svaki drugi. Naspram njega, Notepad++ je igracka.

Vecina programera sa 20+ godina iskustva koje znam koriste Vim (ili manjina, Emacs).. i to su ljudi koji su bas geekovi i rasturaju sa znanjem.. mozda je to i neki hint, ne kazem da su ljudi koji koriste Eclipse i slicno ni na koji nacin manje programeri, ali obicno ljudi koji guraju Vim to rade jer su entuzijasti i zele da razumiju i budu u stanju da kontrolisu i modifikuju kompletan setup, sto im CLI alati omogucavaju.

Sto rece Branislav, nije programiranje daktilografija.. Mozda zavisi od domena, konkretno u C++ automotive, vise vremena se provede na planiranju interfejsa, integraciji na platformu (gomila timova koji rade na istom projektu), razumijevanju kako odredjen protokol radi, nego na samom fizickom "ukucavanju" koda.
[ Panta_ @ 01.09.2019. 12:22 ] @
Citat:
Editor teksta je zgodan za skrpt programiranje, ali kako ispratiti sve članove i metode neke komplikovanije aplikacije?

Juce sam pisao o tome: https://www.elitesecurity.org/p3908158

Ali kao sto kazu, slika vredi vise od...



A imaju i razni plugini, evo na primer: http://vim-taglist.sourceforge.net/


[ Zlatni_bg @ 25.09.2019. 06:55 ] @
Dao sansu Laragonu (apache + mysql + php + bukvalno sve sto postoji za web dev) jer je delovao izolovano. Isprobao lokalni development na svakom racunaru zasebno.

Potrosnja baterije na lap topu i uticaj celog steka koji radi u pozadini manje-vise neznacajan. PHPStorm sa Laravel ekstenzijom i malo ceprkanja po composeru da sve radi kako treba je dalo rezultate, sve radi manje vise kako treba. Fajlovi se naravno sinhronizuju bez greske jer se koristi VCS/git.

Malo me nervira sto moram stalno da radim migracije iznova kad se prebacim na drugi uredjaj, kao i sto neka dummy data u njima ne postoji. Razmisljam o nekom MySQL mirroringu?

Sem toga, ocena 3.6, not great, not terrible. Nisam hteo prerano da sudim. Ima svoje prednosti i mane, dajem sansu ovome, malo nervira podesavanje okruzenja na svakom klijentu za svaku novu aplikaciju iznova i iznova, ali radi lepo PHPStorm sa svim svojim funkcijama. Malo ume da dere po CPU kada se ne koristi power saving.

Znaci za sada sve sem DB radi kako treba i ne opterecuje me (preterano), mada treba uzeti u obzir 10 godina rada na drugi nacin.

Mozda bi kontejner dobro dosao al' ko ce da se cima s tim na windows klijentima...
[ Nemanja Avramović @ 25.09.2019. 23:14 ] @
Na migracije se navikni, jednostavno tako funkcioniše ali su super za održavanje konzistentnosti baze

Za dummy data koristi seedere: https://laravel.com/docs/6.x/seeding
[ Zlatni_bg @ 26.09.2019. 01:52 ] @
Navikao, samo ne u tolikoj meri da koristim "php artisan" toliko, pogotovu u dev fazi zbog menjanja klijenata jbg :) U pocetku sam prezirao to, sada mi se mnogo svidja da imam pregled blueprinta i bukvalno ne mogu bez toga :)

Sa druge strane, naslov teme je "alat za rad na remote dev serveru", mislim da ce tema morati da saceka neko bolje vreme jer trenutno nista nije dovoljno ispeglano da bi se PHP tako radio, cak ni JetBrains. Pa za sada, neka bude na pauzi, do nekog boljeg resenja. Trenutno, git + lokalni server + env na svakom klijentu.
[ Nemanja Avramović @ 26.09.2019. 09:05 ] @
Sredio sam temu i razdvojio poruke u odvojene teme, držimo se teme iz naslova ovde
[ Zlatni_bg @ 22.10.2019. 13:32 ] @
Ima pomaka. https://code.visualstudio.com/docs/remote/remote-overview

Ako je stvarno onako kako pise da jeste (probacu kasnije danas), ovo je bukvalno VSCode koji radi na drugoj masini dok je slika na klijentskoj :)

Danas u toku dana cu isprobati sve pa javljam utiske.
[ dakipro @ 22.10.2019. 13:44 ] @
Javi utiske, I mene zanima da li je i kako bolje od remote desktop-a (remote bez otvaranja portova?). Jedino sto mi pada napamet je vezanost za VSCode, ako treba nesto od drugih alata prilikom developmenta onda moras opet da palis remote desktop/remote chrome/vmware
[ anon70939 @ 22.10.2019. 13:46 ] @
Ja koristim neki SSH FS plugin, ali to je samo da preko ssh listam po fajlovima. Odnosno ono sto radim u VSCode i snimim, da se snimi tamo remote.
Mada nije to bas neka mudrost, verovatno svaki tool ima takav plugin.

Nego, nedavno naletoh na ovo (opet smaram ja sa AWS :P )
https://aws.amazon.com/cloud9/

Pratio neki kurs, i lik sve vreme koristio Cloud9, prilicno upotrebljivo izgleda. Bar za moje skromne potrebe.
[ Zlatni_bg @ 22.10.2019. 13:55 ] @
Citat:
dakipro:
Javi utiske, I mene zanima da li je i kako bolje od remote desktop-a (remote bez otvaranja portova?). Jedino sto mi pada napamet je vezanost za VSCode, ako treba nesto od drugih alata prilikom developmenta onda moras opet da palis remote desktop/remote chrome/vmware


Pa generalno osim konzole ti nista ne treba ako radis na linux masini na kojoj se to sve izvrsava, ja volim da imam otvoren putty u svakom trenutku, mada izgleda ima i integrisan shell za remote. Javljam vise kad isprobam. Najvise me interesuje kako se snalazi sa klasama, dependency injection, i u nekom polu-ide modu.
[ dejanet @ 22.10.2019. 15:18 ] @
Ovo je moguce zato sto je VSCode pravljen u Electron frameworku, koji je kombinacija Node-a i Chromium-a. Pretpostavljam da se radi o inverznoj automatizaciji.
[ Zlatni_bg @ 24.10.2019. 14:48 ] @
Koristio sam i ja taj RemoteFS ali tu ne radi lepo auto-complete i zatvaranje tagova, itd, pogotovu kad se radi mix u nekim fajlovima. Tipa, blade.php koji je za Laravel "html" fajl, on gleda kao PHP i nema prepoznavanja za html. Ima tu nekih nacina da se sredi, tipa da .blade.php gleda kao html, ali taj fajl opet nije cist HTML pa dolazi do nekih drugih problema onda... Takodje RemoteFS ne ume da povuce klase iz drugih fajlova, mnogo tu problema ima da bi se radili veci projekti, zato sam i batalio to kad sam pokrenuo temu ovde, vise sam se cimao oko radnog okruzenja nego sto sam radio.

Jos uvek nisam podesio ovaj novi njihov sistem za remote rad, malo su ga zakomplikovali bespotrebno. Nadam se da cu danas stici da isprobam to mada mi se cini da ce to biti vise resource-hungry od lokalnog okruzenja kako vidim... pokusacu da odradim i test potrosnje baterije u jednom i drugom slucaju, ako nekome znaci.
[ Zlatni_bg @ 24.10.2019. 16:45 ] @
Za Laravel i dalje nema srece. U PHPStormu kad editujem rute, imam "okej" autocomplete, ovde ne postoji nista. Pokusao najobicnije kontrolere koji su povezani sa modelom (znaci bukvalno sveze napravljen model sa svojim kontrolerom i resourseful rutama) i jok, kada pozivam model ne mogu da dobijem funkcije iz istog koje bi trebalo da cupa. Je l' potrebna neka dodatna ekstenzija? Ja sam trazio i nema NISTA sem snippeta i za rad sa blade templejtima.

Ovako generalno radi OK mada manje vise isto kao remotefs, samo trazi podesavanje private kljuca na klijentu i public SSH kljuca na serveru, ne moze preko password autentifikacije da radi.
[ Zlatni_bg @ 28.10.2019. 17:56 ] @
Dao sam mu jos jednu sansu i iskreno, mnogo sam razocaran. Prvo on sam instalira neki misteriozni dodatak (nemam pojma ni gde se nalazi ni kako se zove) na serveru, potom radi neki ogroman indexing, i iako imam SSD na serveru mnoooogo vremena traje, CPU usage ode nesto katastrofalno gore i konstantno je ogroman CPU usage na serveru. Takodje jednostavno ne prepoznaje i dalje pored silnih podesavanja i plaginova (koji se instaliraju na server takodje automatski) nema sanse da mi recimo da sve ponudjene opcije kada kucam recimo "route::", vec mi ponudi standardne PHP funkcije, poput exec, itd, nista vezano konkretno za taj kontroler. Ili cak i kada radim sa modelima, ne izlistava mi sta sve mogu s njim da uradim, tipa "hasMany" itd, sto ume da pomogne oko eloquenta da ne moram da otvaram dokumentaciju vec samo biram sta mi treba.

Ovako, kao text editor, sto i jeste, radi :) Ali PHPStorm cak manje resursa i trosi u poredjenju sa VSC kada se podesi da radi remote ovako. Ne znam da li uopste u lokalu VSC izbacuje sve metode klasa? Ako neko moze da mi cepne odgovor nabrzaka znacilo bi.
[ Tpojka @ 28.10.2019. 20:04 ] @
@Zlatni_bg

Ne radi ti autocomplete za remote fajlove il' za lokalne?
[ Shadowed @ 04.11.2019. 16:02 ] @
@Zlatni_bg, nisam se udubljivao pa ne znam koliko se uklapa u to sto ti treba ali naleteh pa da prosledim - https://azure.microsoft.com/en.../details/visual-studio-online/
[ Zlatni_bg @ 04.11.2019. 17:06 ] @
Citat:
Tpojka:
@Zlatni_bg

Ne radi ti autocomplete za remote fajlove il' za lokalne?


Remote. Ali fora je u tome sto se ekstenzije instaliraju na serveru, ne na klijentu (tako i vsc prijavljuje). I inteliphense se instalira na serveru posebno. Nije mi neka presudna stvar, ali iskreno u senilnim trenutcima dobro dodje. Za sad bas nisam nasao neku prednost u odnosu na phpstorm (mislim iskreno da ce ga tesko i dostici ikad) ali mu dajem sansu jer je jaka zajednica oko vsc-a. Za servise i kompleksnije kontrolere mi dosta dobro dodje lista metoda sa parametrima.

@Shadowed

Gledao sam to isto, nisam u potpunosti razumeo razlike izmedju toga i ovoga sto sam linkovao par postova gore, jer kada prvi put podesis SSH kljuceve na klijentu i serveru VSC instalira neki addon na server i podesi okruzenje. Ako je to self-hosted koji oni nazivaju, onda je to neka beta i dalje koja ne radi najsjajnije, mada mogu da probam, imam aktivne Azure servise i koristim ga.
[ Tpojka @ 04.11.2019. 17:24 ] @
Pominj'o si već neke razloge zašto ne koristiš druge načine (moraću ponovo prelistati/iščitati temu) već baš da edituješ remote fajlove.
Al' github repo na mašinama uz odraditi github webhook trigger servera kad god se uradi push master-a. Za mene bi ovo bila validna solucija.

https://developer.github.com/webhooks/
[ Nemanja Avramović @ 05.11.2019. 01:07 ] @
A može i ovako (bez hosted git rešenja poput githuba):

• git repo na "centralnoj mašini" u lokalnoj mreži ("desktop")
• git repo na laptopu gde radiš, uz git remote ka desktopu

Ako imaš deljeni disk na mreži, na laptopu možeš da koristiš tzv. "bare repository". Više informacija imaš ovde: https://stackoverflow.com/a/2888092/964777
Ako nemaš deljeni disk uvek git remote može da gađa desktop kroz ssh, čak i Windows (10) dolazi sa OpenSSH serverom.

Uvek možeš da uradiš git push desktop sa laptopa na desktop, kao i git pull desktop sa desktopa na laptop, plus imaš pregled svih izmena ikada, kao i sve ostale pogodnosti koje nudi jedan VCS kao što je git. Ne razumem zašto neko u 2019. godini ne bi koristio git?

Ja sam za neke sitnije projekte čak koristio git bare repository direktno na produkcionom serveru i radio deploy jednostavnom komandom: git push live ("live" je ime remote-a koji gađa git bare repository na produkciji kroz ssh): https://gist.github.com/noelboss/3fe13927025b89757f8fb12e9066f2fa

[Ovu poruku je menjao Nemanja Avramović dana 05.11.2019. u 09:24 GMT+1]
[ Zlatni_bg @ 06.11.2019. 03:28 ] @
Trenutno za potrebe ovog projekta ne radim remote vec direktno na klijentskim uredjajima, postala je veca dara nego mera kod remotea sa vecim projektima :)

Ima logike to sve sa gitom. Jedino sto sam ja izbegavao da ga koristim kad su manje izmene u pitanju vec tek kad zavrsim rad, odradim commit i push i to je to. Webhooks sam koristio naravno, generalno lepo je imati i samo VCS ali se sam git lako skonta, posle toga vec brzo krece da se tezi ka nekom CI.

Nemanja, ne znam da li ja nisam tebe razumeo ovde, ili ti mene, ali poenta je bila da na klijentskom uredjaju imas samo IDE/TE, a da se podaci i servisi/serveri nalaze na "serveru". Znaci nije problem povuci fajlove na racunar, gledao sam kako je moguce podesiti PHPStorm ili VScode da rade sa fajlovima kojima se pristupa preko FTP/SFTP u radnom okruzenju koje vec postoji, gde mogu na "f5" u brauzeru da proverim da li nesto radi ili ne, potom da radim commit/push. Ovo sa lokalnim git repoom je verovatno izvodljivo (tj ne verovatno nego 100% jer trenutno tako i radim, s tim sto imam i servise na lap topu - apache, php7, redis, mariadb, memcached, itd) ali opet mora da se roka commit/push da bi se videle izmene, ili kako smo vec pricali da se pravi hook za neku integraciju ako se radi o promenama i na nivou baze itd, gde nije dovoljno odraditi samo izmenu fajlova, vec je neophodno pokrenuti i odredjene artisan komande. To je manji problem, veci problem je sama izmena fajlova.

Znaci PHPStorm ima upotrebljivu vrednost, nazalost sve manje sam isprobavao njegove remote funkcije zbog manjka vremena, ali VScode uopste ne saradjuje. Znam da si jedan od jacih ljudi u Laravel Srbija, i konkretno, ovde se radi ne samo o PHPu vec i kompletnom Laravel ekosistemu koji sam pokusavao da namestim da "zivi" na centralnom serveru kod kuce, a da mu pristupam sa vise uredjaja. Okej, verovatno krsim "best practices" time, ali svaki od alata (vsc i phpstorm) imaju tu opciju. Razlika je sto u jednom to uopste ne radi a na drugom radi bangavo :)

Evo posto smo na PHP forumu, konkretno da pitam za Laravel - kada bi radio na vise racunara, kako bi podesio radno okruzenje? Da li bi svaki racunar koji sluzi za programiranje imao sve neophodne servise na sebi, kako bi vrsio razmenu podataka, isprobavao (dakle ne testirao vec isprobavao, "testirao" je u phpu debela rec) ono sto si napravio? Kako bi onda na kraju radio testiranje i integraciju/delivery? Iskreno, mnogo bi mi znacilo da mi ti odgovoris na pitanje, kapiram da si najupoznatiji ovde sa samim fw-om i njegovim mogucnostima i potrebama.
[ Nemanja Avramović @ 07.11.2019. 23:19 ] @
Uh, probao sam to sam to sa remote fajlovima na serveru kroz (S)FTP pre dosta godina i baš me ubilo u pojam čekanje na sync. Pogotovo kad duže vreme radiš na jednom fajlu i on zatvori konekciju u pozadini i onda na sledeći sync čekaš znatno duže nego inače. Možda je to sada unapređeno, ali ja na svakom računaru imam virtuelnu mašinu (homestead/vagrant) koju konfigurišem što približnije serveru(serverima) na kojem je produkcija. Kad sednem da radim prvo ide git pull pa onda krećem da radim, i na kraju git commit/push.

Što se manjih projekata tiče - to je to. Sve imam replicirano u lokalu i tu i testiram, tj, proveravam. Na obe mašine imam odvojene baze za proveru, ali tu su ugl. dummy podaci. Ono što nije dummy ide u Laravel seedere koje ispucam na obe mašine i miran sam. Mada u poslednje vreme 99% vremena radim na laptopu tako da mi to nije nikakav problem, ali radim u timu od nekoliko ljudi, što mu dođe isto, ako ne i gore, pošto dve osobe mogu da rade u isto vreme na istom fajlu. Ako rade na istom delu koda, git će da prijavi konflikt koji mora "ručno" da se razreši, ali čak ako rade na istom fajlu ali na odvojenim (nepovezanim) delovima koda, git je dovoljno pametan da sam razreši konflikte, dok bi kod remote editovanja fajlova u ovom slučaju sve izmene pregazio onaj ko poslednji uploaduje izmenjeni fajl.

Kod većih projekata, kao npr. na poslu, isto imam projekat u lokalu (virtuelna mašina), ali i:

• development server sa svojom bazom na koji pushuju svi developeri i gde QA tim testira
• staging server na koji se merge/uje development povremeno i gde klijent testira

Produkcija se vrti na par servera (AWS EC2) iza load balancera (AWS EBS) koji automatski horizontalno skalira resurse po potrebi, odnosno pali i gasi instance kako mu se ćefne :D tako da mi tu remote editovanje fajlova ne bi puno značilo jer kad god EBS skalira instance on radi deploy poslednje pushovane verzije na prod, tako da bilo kakva izmena na samoj instanci može da nestane u svakom momentu, ako ovaj odluči da zameni instance. To takođe znači i da nema čuvanja fajlova na serveru, sve što aplikacija treba da čuva (file uploads, generisani report-ovi i sl) se šalje na S3 storage odakle posle svaka instanca može da ih povuče.

Što se CI/CD tiče, u firmi koristimo domaći semaphoreCI, koji prilikom svakog git pusha (na bilo koji branch) radi build projekta i pušta phpunit testove, a ako se push odradi na nekoj od tri "specijalne" grane (development/staging/production), semaphore će automatski odraditi deploy na određeni EBS environment, ali samo ako automatski testovi prođu.

[Ovu poruku je menjao Nemanja Avramović dana 12.11.2019. u 12:46 GMT+1]
[ Zlatni_bg @ 11.11.2019. 12:33 ] @
Jasno, kapetane :)

Razmisljam da probam na Azure ili Heroku da prebacim taj deo. Na Heroku sam vec probao, radi super sa Laravelom, samo sam vise isprobavao Herokuove mogucnosti nego sto sam stvarno zeleo da ga koristim. Na Azure sam radio lepo integraciju i sve ostalo otkad su kupili github, bukvalno je plug&play, samo tad nisam radio Laravel.

Nego, htedoh da pitam jednu stvar posto i dalje ne radim glavni deployment za produkciju automatski - a ovo bih koristio i za development. Kako automatizujes artisan komande, migracije, seedovanje, itd pri koriscenju CI/CD utila? I dalje gotivim stvari da radim pesaka, trenutno kupim best practices.
[ Nemanja Avramović @ 11.11.2019. 18:12 ] @
Na samom CI tool-u imaš obično da definišeš set komandi koje se izvršavaju za build a koje za deploy. Evo npr. komandi za jedan od mojih projekata koje konfigurišu CI server i ispucavaju testove:



Dodatno, AWS nudi opciju da u folderu projekta imaš config fajlove kojima konfigurišeš server (slično kao Heroku sa Procfile-om). Tu imam gomilu config fajlova koji podešavaju cron job, supervisor, newrelic i ostale servise koji su potrebni za rad aplikacije. Jednostavno - svaki deploy gledaš kao podizanje aplikacije na novi (čist) server i potrebna je neka automatika da sve to podesi pri svakom deploy-u. Verujem da i Azure ima nešto slično.
[ Zlatni_bg @ 12.11.2019. 12:51 ] @
Hvala puno. Procfile sam morao da podesavam ali nisam ocigledno skroz citao dokumentaciju za Heroku. Necu vise opterecivati temu deploymentom jer sam je zapoceo sa remote developmentom i voleo bih da se u tom smeru nastavi. Ukoliko ja ili bilo ko drugi dodje do resenja i nekog pouzdanog nacina za isto, nastavicemo diskusiju. Sto se tice cloud servisa i CI/CD aplikacija, kada budem imao malo vise iskustva sa time otvoricu temu sa pitanjima. Za sada sam i dalje u procesu gde ucim o istim, ali mi nije prioritet jer uglavnom sve ide na VPS. Generalno kasnije bih voleo da popricamo o kvalitetu Herokua i sl u poredjenju sa VPS-ovima i slicno jer mi se cini da imam manjak brzine na Herokuu u poredjenju sa VPS resenjima. Verovatno je tu skaliranje problem, ali u drugoj temi.

Nemanja, hvala ti puno na nesebicnom deljenju znanja.