GitHub - GitHub je danes najavil nekaj sprememb, ki jih bodo uporabniki veseli, saj prinašajo tudi brezplačnim uporabnikom nekaj predhodno plačljivih funkcij. Odslej bodo osnovne funkcije brezplačno na voljo za vse, tudi za skupine, ki jih uporabljajo v komercialnih projektih. To pomeni, da število sodelujočih ne bo omejeno, kar je bil doslej pogost razlog za nakup naročnine, saj so bili neomejeno veliki projekti lahko le odprti. Poleg tega dodajajo tudi 2000 minut na mesec brezplačnega dostopa do GitHub Actions (platforma CI/CD).
Kdor bo želel več naprednih funkcij, denimo podporo za SAML, bo še vedno moral kupiti plačljiv račun. A osnovna naročnina se začne pri štirih dolarjev mesečno in ne več pri devetih, medtem ko bo paket Enterprise stal 21 dolarjev na mesec na uporabnika. GitHub dodaja, da so imeli pocenitev že dlje v mislih in da ne gre za odziv na trenutne dogodke v svetu, ki terjajo več oddaljenega sodelovanja. GitHub vse, odkar ga je prevzel Microsoft, povečuje število funkcionalnosti v brezplačnem paketu. Lanskega januarja so na primer omogočili neomejen brezplačni dostop do zasebnih repozitorijev (z omejitvijo na tri sodelujoče). GitHub ima trenutno 40 milijonov uporabnikov, v naslednjih petih letih pa želijo pritegniti 100 milijonov uporabnikov.
In seveda, se ena zadeva, ki jo bi lahko ljudje sami hostali (https://gitolite.com/gitolite/index.htm..., pa se raje predajajo korporacijam, ki podatke zlorabljajo, razen tega pa jim bojo skozi leta navili ceno. Spet cloveska lenoba in neumnost zmaga nad sposobnostjo.
In seveda, se ena zadeva, ki jo bi lahko ljudje sami hostali (https://gitolite.com/gitolite/index.htm..., pa se raje predajajo korporacijam, ki podatke zlorabljajo, razen tega pa jim bojo skozi leta navili ceno. Spet cloveska lenoba in neumnost zmaga nad sposobnostjo.
A seveda, tudi sami premorejo ravno take lene fukse. Pa ne pricakovati, da je gitolite cudez, enako kot git ni.
Ideja interneta je bila decentraliziranost, seveda bojo dandanasnji nesposobnezi zadevo pripeljali na centraliziranost mainframov in ponovno na cene (kot so ze bile), $7 na uro uporabe (AT&T), kar je dejansko privedlo do razmaha PCjev.
Skratka iz cloud-style (mainframi) popolnega odiranja uporabnikov, smo sli na decentralizacijo (PCji), zdaj pa se zaradi pomanjkanja zgodovinskega spomina in vsesplosne lenobe in pomanjkanja znanja developerjev spet selimo na cloud, kjer barabe ponujajo nizke cene, da bojo lahko kasneje, ko bo prislo do pomanjkanja lokalne infrastrukture, spet na polno odirali.
Ljudje so res zabita vrsta. Mogoce bi morali namesto sesalcev preziveti dinozavri.
In seveda, se ena zadeva, ki jo bi lahko ljudje sami hostali (https://gitolite.com/gitolite/index.htm..., pa se raje predajajo korporacijam, ki podatke zlorabljajo, razen tega pa jim bojo skozi leta navili ceno. Spet cloveska lenoba in neumnost zmaga nad sposobnostjo.
Obstajajo tudi uporabnikom dosti bolj prijazne rešitve kot sta recimo Gogs in njegov fork Gitea... Če (hardwareski) resoursi niso problem pa tudi Gitlab.
Vsekakor imaš dober point, ampak vsi spet ne razvijamo raznih OS-ov in podobno in verjamem, da nihče iz Bitbucketa še kode naše firme niti povohal ni. No dobro, 100% verjetno ne moreš bit. Ampak poznam podjetje, ki razvija aplikacije tudi za zdravstvo pa vseeno svojo kodo gostijo na zunanjih ponudnikih.
Potem bi moral odpravit še DigitalOcean, pa orodje za vodenje projektov, API za pošiljanje emailov iz aplikacij. PA še bi lahko našteval.
Ampak ajde, testiram čez vikend kakšno self-host varianto.
So par let prepozni, mi veselo že par let uporabljamo Gitlab predvsem zato ker včasih ni bilo možno skriti projektov na Githubu in niti približno ne razmišljamo, da bi šli nazaj na github.
So par let prepozni, mi veselo že par let uporabljamo Gitlab predvsem zato ker včasih ni bilo možno skriti projektov na Githubu in niti približno ne razmišljamo, da bi šli nazaj na github.
Sicer pa bi modificiral: "Subversion used to say, 'CVS done right. ' With that slogan there is nowhere you can go. There is no way to do CVS right."
Git je industrijska sabotaza, administracijo source control serverja je prenesel na vsakega developerja posebaj, dodal se nekaj pesti konfuznosti in nedoslednosti, zmeden in nedosleden cli, kupe hackov, zaradi inercije nikoli popravljenih detajlov (submodules, oh yeah!) in ustvaril situacijo, kjer se developerji vec ukvarjajo z gitom kot pa s kodo. Ampak saj to je v duhu danasnjega casa, kodiranja 10% casa, ostalo je pa handlanje dependacyev, packet managementa, transpilerjev, toolchainov... boh ne daj, da bi se to goro casa vrglo v dejanski development.
Git ti pomaga biti pogumen. Ne morem opisati kolikokrar mi je rešil rit, ko sem nekaj zafrknil. Brez njega skoraj nihče ne bi refactoral kode, saj bi bilo to preveč nevarno (no, mogoče bi prej zazippali). Omogoča, da vsak dela na svoji verziji lokalno in jo merga brez večjih težav, poleg tega pa še ogromno drugih pomembnih stvari. Kdor reče, da je z gitom več dela kot koristi, ga ne zna uporabljati, ali pa ga uporablja za projekt, kjer ni smiseln.
Res je, da se programerji velikokrat opečemo z novimi tehnologijami in vanje vložimo več truda, kot pridobimo z njimi. Ampak uporabljamo pa tudi takšne, ki nam prihranijo čas in zaradi njih določene rešitve sploh obstajajo (shopify ipd. so omogočili ogromno majhnih spletnih trgovin z malo pretoka).
handlanje dependacyev
Ufff. Bo spet treba o tem? Ves namen knjižnic je to, da so zanesljive in uporabniku ni treba pisati kode. A misliš, da je res problem, če programer napiše 10 vrstic kode, da uporabi knjižnico, preostanek dneva pa se uči kako deluje, če mu ta knjižnica prihrani en teden razvoja?
In vse ostalo: mislim, da si samo troll, ne da se mi vseh stvari debunkati. Ampak težko pustim, da kdo tvoj post prebere in misli, da je to res.
Če pa zares ne trollaš in v to verjameš: če je to kar si rekel res, pa začni predavati o tem in te bojo velike firme kar same povabile, da jim optimiziraš workflow, saj jim boš prihranil miljone, če ne celo miljard.
Vsekakor imaš dober point, ampak vsi spet ne razvijamo raznih OS-ov in podobno in verjamem, da nihče iz Bitbucketa še kode naše firme niti povohal ni. No dobro, 100% verjetno ne moreš bit. Ampak poznam podjetje, ki razvija aplikacije tudi za zdravstvo pa vseeno svojo kodo gostijo na zunanjih ponudnikih.
Potem bi moral odpravit še DigitalOcean, pa orodje za vodenje projektov, API za pošiljanje emailov iz aplikacij. PA še bi lahko našteval.
Ampak ajde, testiram čez vikend kakšno self-host varianto.
Sej bi rekel, da seveda noben ne gre razvijat svojga issue trackinga, pa ma praktično vsaka druga firma svojo "jiro".
Ampak ja, itak morš nekje potegnt mejo, samo VCSji so res preprosti za self hosting.
Itak pa 99 % ljudi uporablja git tako in toliko, kot je generacija prej uporabljala SVN. Ko zagusti pa skopira kodo, pobriše repozitorij in git clone jovo na novo.
Itak pa 99 % ljudi uporablja git tako in toliko, kot je generacija prej uporabljala SVN. Ko zagusti pa skopira kodo, pobriše repozitorij in git clone jovo na novo.
Hm. Sprejmem, da kar nekaj ljudi uporablja tako kot si opisal. Ampak se mi ne zdi, da jih je dovolj konkreten procent, da bi lahko na podlagi tega naredil generalizacijo čez cel programerski poklic.
Na malo gitove dokumentacije: https://git-man-page-generator.lokaltog... (obvestilo "This is NOT real git documentation! Read carefully, and click the button to generate a new man page." je hudo na mestu)
Skrataka ga ne uporablja za projekt, kjer je razsutost developerjev po celem svetu in vecji del casa nimajo dostopa do interneta, se dogajanjo na njem masovne spremembe, ki jih je treba na koncu zdruziti na centralno lokacijo... vcasih je bil tak projekt linux kernel (in overdizajniran), za kar je bil git spisan. Danes... ne spomnem se niti enega, mi bos pomagal?
preostanek dneva pa se uči kako deluje, če mu ta knjižnica prihrani en teden razvoja?
Ja, kot recimo "isodd" za js. In res, vsi zelo studirajo kako deluje. Internalije? Japajade... mimogrede a ves katero kodo se najbolj splaca code reviewat? 3rd party. Kdo to pocne? Nihce.
Skrataka ga ne uporablja za projekt, kjer je razsutost developerjev po celem svetu in vecji del casa nimajo dostopa do interneta, se dogajanjo na njem masovne spremembe, ki jih je treba na koncu zdruziti na centralno lokacijo... vcasih je bil tak projekt linux kernel (in overdizajniran), za kar je bil git spisan. Danes... ne spomnem se niti enega, mi bos pomagal?
Ja, kot recimo "isodd" za js. In res, vsi zelo studirajo kako deluje. Internalije? Japajade... mimogrede a ves katero kodo se najbolj splaca code reviewat? 3rd party. Kdo to pocne? Nihce.
Git je uporaben tudi za manjše projekte, kjer sodeluje le nekaj developerjev. Jaz ga uporabljam tudi za solo projekte (vse kar je daljše od nekaj ur), ker nočem biti v strahu, da bom moral kodo pisati dvakrati, ampak jo lahko preprosto zbrišem ali refactoram po potrebi. Je pa res, da ne delam overkilla z branchi, ko sem sam, ker je to dejansko izgubljen čas in energija.
Jaz vidim dva razloga zakaj bi želel reviewati 3rd party kodo: 1. Skrbi te, da ima skrit bug -> Če ima veliko downloadov veš, da je skoraj zagotovo brez bugov. 2. Skrbi te, da je zlonamerna -> Lahko zaupaš razvijalcu, če mu pa ne pa ne preostane drugega, kot da pregledaš. V JS bi moral prečesati celotno drevo dependencyev, kar je velikokrat praktično nemogoče. Torej tukaj lahko zaupaš, ali pa ne uporabiš knjižnice.
Če ima veliko downloadov veš, da je skoraj zagotovo brez bugov.
Woot? Stevilo downloadov/forkov/likeov ti samo pove popularnost projekta. Verjetno imajo taksni projekti manj bugov kot manj popularnejsi, se vseeno pa niso brez njih.
Git ti pomaga biti pogumen. Ne morem opisati kolikokrar mi je rešil rit, ko sem nekaj zafrknil. Brez njega skoraj nihče ne bi refactoral kode, saj bi bilo to preveč nevarno (no, mogoče bi prej zazippali). Omogoča, da vsak dela na svoji verziji lokalno in jo merga brez večjih težav, poleg tega pa še ogromno drugih pomembnih stvari. Kdor reče, da je z gitom več dela kot koristi, ga ne zna uporabljati, ali pa ga uporablja za projekt, kjer ni smiseln. ...
Ti dejansko govoriš o source control, ki ga kar enačiš z git. Ampak source control ni čudežno nastal, ko se je pojavil git, obstajal je že prej. On pa govori konkretno o git. Nikjer pa ni rekel, da source control ni pametno uporabljati, seveda ga je. Govora je prej o tem, katerega, kako, na čigavi infrastrukturi.
Morda pa poznaš samo git? Si poskusil vsaj mercurial, ki je v marsičem zelo soroden gitu,v marsičem pa tudi drugačen?
Poskusi par različnih orodij, ne se samo zapičit v git...
Aja, "vsi" uporabljajo git in "vsi" github? Ja ok, ampak to še zdaleč ne pomeni, da ne obstaja še kako boljše orodje prav zate ali za vašo firmo.
Če ima veliko downloadov veš, da je skoraj zagotovo brez bugov.
Woot? Stevilo downloadov/forkov/likeov ti samo pove popularnost projekta. Verjetno imajo taksni projekti manj bugov kot manj popularnejsi, se vseeno pa niso brez njih.
Točno tako. Ne pravim, da je brez, se pa verjetnost, da bi ga kdo opazil (in prijavil) povečuje s številom downloadov. Vsaj za normalno uporabo. Če je tvoj sistem kritičen še zmeraj lahko testiraš in pregledaš kodo (upam, da jo vsi, ki jih pišejo), ampak večina projektov ni takšnih in mislim, da se zanje tega ne splača početi. Tudi koda, ki jo napišeš sam ima buge.
Mogoče malo drugače pokažem kaj mislim - ne splača se vložiti (relativno) 90% energije v pregledovanje knjižnic in 10% za lastno kodo, ker so knjižnice do neke stopnje že pregledane, tvoja koda pa še ne. Verjetno boš več pridobil če boš tisto energijo vložil v izboljšavo svoje kode, uporabniške izkušnje ali česa drugega.
Git je uporaben tudi za manjše projekte, kjer sodeluje le nekaj developerjev. Jaz ga uporabljam tudi za solo projekte (vse kar je daljše od nekaj ur), ker nočem biti v strahu, da bom moral kodo pisati dvakrati, ampak jo lahko preprosto zbrišem ali refactoram po potrebi. Je pa res, da ne delam overkilla z branchi, ko sem sam, ker je to dejansko izgubljen čas in energija.
Koncno me je webshit (prosim, ne vzeti za zaljivko, je strokovni termin!) izobrazil po tem ko sem uporabljal zip, SourceSafe (+zip fajle ker se mu je pac baza sem in tja usula), CVS, SVN, Clearcase, Mercurial in (tadaaaa) GIT, da je pa git odlicno orodje, samo ne uporablja pa branchov. Ker so overkill. Nice to know. Kako se doda file iz shella te niti vprasal ne bom.
1. Skrbi te, da ima skrit bug -> Če ima veliko downloadov veš, da je skoraj zagotovo brez bugov.
A to je pribljizno tako kot pri religiji? Ker je veliko dumbfuckov, ki verjamejo v bradatega stricka nad oblaki (kadar ni jasno vreme), bo pa moralo drzati, da je na oblaki bradati stricek. Ne, to samo pomeni, da je zadeva moderna in se je sel nekdo dober PR na racun idiotov, ki ne znajo kodirat, pa se tolazijo da znajo. "isodd" in js nisem za brez veze omenil zgoraj. Za nepoucene, ze leta se rezim, da je to najbolj downloadan paket v js svetu. Kaj si mislim o developerjih tam, lahko zakljucite sami.
2. Skrbi te, da je zlonamerna -> Lahko zaupaš razvijalcu, če mu pa ne pa ne preostane drugega, kot da pregledaš. V JS bi moral prečesati celotno drevo dependencyev, kar je velikokrat praktično nemogoče. Torej tukaj lahko zaupaš, ali pa ne uporabiš knjižnice.
Exactly!! In ti si del problema. Nihce vec ne ve kaj uporablja, nihce vec ne zna kodirati. Nihce vec ne ve kaksno debelo plast dreka je dodal v svojih 5 vrstic kode. Tako kot ti je x knjiznica, vzela y knjiznico kot dependancy, ta je vzela z knjiznico za dependancy,... in je zaupala, da je pa tisti prejsnji odlicen developer in ne uporablja "isodd" paketa. In ti si del problema. Pa se cool se ti zdi.
Sem ti hotel dati se socen zakljucek pa ti je kolega vse napisal. Dodal bi samo, da si se enkrat preberi "Drugi del, part one". Se ne bom ponavljal
In seveda, se ena zadeva, ki jo bi lahko ljudje sami hostali (https://gitolite.com/gitolite/index.htm..., pa se raje predajajo korporacijam, ki podatke zlorabljajo, razen tega pa jim bojo skozi leta navili ceno. Spet cloveska lenoba in neumnost zmaga nad sposobnostjo.
Ironično, a ni? Dosti projektov je na githubu vsaj kot kopija ali pa kar kot glavni repozitorij, pa ne toliko zaradi githuba samega, pač pa zaradi ustvarjenega ekosistema, zaradi obstoječih in potencialnih uporabnikov, ki bi kaj prispevali in zaradi vidnosti.
Ti dejansko govoriš o source control, ki ga kar enačiš z git. Ampak source control ni čudežno nastal, ko se je pojavil git, obstajal je že prej. On pa govori konkretno o git. Nikjer pa ni rekel, da source control ni pametno uporabljati, seveda ga je. Govora je prej o tem, katerega, kako, na čigavi infrastrukturi.
Morda pa poznaš samo git? Si poskusil vsaj mercurial, ki je v marsičem zelo soroden gitu,v marsičem pa tudi drugačen?
Poskusi par različnih orodij, ne se samo zapičit v git...
Aja, "vsi" uporabljajo git in "vsi" github? Ja ok, ampak to še zdaleč ne pomeni, da ne obstaja še kako boljše orodje prav zate ali za vašo firmo.
Se strinjam. Ni Git vse in res je, da je to edini, ki sem ga do sedaj uporabljal. Mogoče je zvenelo, kot da ga enačim, zato ker se mi zdi prava odločitev za ogromno večino primerov. Nisem pa čisto ignoranten glede ostalih, saj sem si pogledal kaj se je v preteklosti dogajalo (npr. talk od Linusa zakaj je sploh naredil Git mi je ostal v glavi - tam precej govori o slabostih SVNja). O Githubu pa nisem nič govoril. Sicer se mi zdi sumlivjo kako "benevolent" hoče Microsoft izpasti zadnje čase, zato jim ne zaupam preveč, ampak to je čisto offtopic.
Ne zdi se mi, da se lahko zlepa znajdeš v situaciji, ki jo je drysmoke opisal (da več časa porabiš za git, kot za kodo).
Na hitro sem vrgel uč na Mercurial docse. Zaenkrat zgleda (po 5 minutah) res precej podoben. Opazil sem, da omogoča, da z njim premikaš datoteke in tako zna slediti kaj se je z njimi zgodilo, medtem ko Git to včasih pomenštra, saj jih premikaš brez njegove vedonosti in je prisiljen ugibati. Zanimivo mi je tudi, da lahko vrineš spremembe v pretekle commite. Če še nisi pushal se to tehnično da to narediti tudi z Gitom, je pa veliko več dela. ... Vse to za - bom pogledal. Hvala za motivacijo :)
Koncno me je webshit (prosim, ne vzeti za zaljivko, je strokovni termin!) izobrazil po tem ko sem uporabljal zip, SourceSafe (+zip fajle ker se mu je pac baza sem in tja usula), CVS, SVN, Clearcase, Mercurial in (tadaaaa) GIT, da je pa git odlicno orodje, samo ne uporablja pa branchov. Ker so overkill. Nice to know. Kako se doda file iz shella te niti vprasal ne bom.
A to je pribljizno tako kot pri religiji? Ker je veliko dumbfuckov, ki verjamejo v bradatega stricka nad oblaki (kadar ni jasno vreme), bo pa moralo drzati, da je na oblaki bradati stricek. Ne, to samo pomeni, da je zadeva moderna in se je sel nekdo dober PR na racun idiotov, ki ne znajo kodirat, pa se tolazijo da znajo. "isodd" in js nisem za brez veze omenil zgoraj. Za nepoucene, ze leta se rezim, da je to najbolj downloadan paket v js svetu. Kaj si mislim o developerjih tam, lahko zakljucite sami.
Exactly!! In ti si del problema. Nihce vec ne ve kaj uporablja, nihce vec ne zna kodirati. Nihce vec ne ve kaksno debelo plast dreka je dodal v svojih 5 vrstic kode. Tako kot ti je x knjiznica, vzela y knjiznico kot dependancy, ta je vzela z knjiznico za dependancy,... in je zaupala, da je pa tisti prejsnji odlicen developer in ne uporablja "isodd" paketa. In ti si del problema. Pa se cool se ti zdi.
1. V službi uporabljam Git tako kot se zagre, da ne bo pomote (o znanju ne bi zgubljal besed). Tam bom projekt gledal še dolgo, doma pa koliko časa? Mogoče nekaj ur. Zato doma uporabljam branche po potrebi, jih pa ne forciram "kar tako". Pač odvisno od velikosti projekta. Nekaj urni projekt ne potrebuje xyz branchev. Potem bi pa res porabil več časa za Git, kot za kodo. Samo na citat bi se vrnil, čeprav se bom ponavljal. Besede sem izbral natančno: "... ne delam overkilla z branchi... ". To ne pomeni, da jih ne uporabljam ampak, da jih po potrebi.
2. in 3. Sem si prebral source od is-odd. Ne zdi se mi tako absurden kot mogoče tebi, ker te precej dobro zavaruje pred neznanimi vhodi. Ti bi verjetno napisal i%2===0 in bi bil zadovoljen, ampak izkaže se, da je "a"%2===0 false, ""%2===0 pa true. Bi se zares spomnil na to? Bi res pričakoval, da se bodo vsi ostali programerji tudi? Ali bi raje, da knjižnica vrže napako med razvojem ("pazi, tukaj pa si poslal string, ne številke!") in takoj popraviš napako? Tvoja naloga kot programer je (tole je moje osebno mnjenje - ni treba upoštevati, prosim pa da vsaj razmisliš) še kaj drugega kot flexanje kako dobro kodo znaš napisati. Sem napisal že prej, pa bom še enkrat. Mogoče bi raje porabil čas na delih sistema, ki bolj potrebujejo tvoj trud - UX, zagotavljanje konsistentnosti kode, mentoriranje sodelavca, učenje novih stvari, počitek (da kasneje ne bo bugov ;)) ali pa preprosto oddaš kodo naročniku bolj zgodaj. Vse to ustvari vrednost v svetu. Se bo v veliko primerih bolj poznalo.
Pa še nekaj dodatnih misli samo za 3.: Varnost je resen problem. Ne misli, da ga podcenjujem. Naredim pač kar lahko v trenutni situaciji - balanciram med varnostjo in ustvarjanjem vrednosti svetu. Nimam rešitve za preiskovanje vseh modulov. Mislim, da je nima nihče. DeNo (obljubljen nadomestnik Nodea) ima zanimivo idejo - omogoča omejitev pravic. Ampak verjetno tudi to ne bo rešilo vsega.
Vse to sem napisal, ampak bi povedal, da vem zanesljivost sistema ni nepomembna komponenta in ne mislim, da jo je treba zanemarjati. Hočem le spomniti, da mogoče ni edina komponenta, na katero je treba misliti.
In seveda, se ena zadeva, ki jo bi lahko ljudje sami hostali (https://gitolite.com/gitolite/index.htm..., pa se raje predajajo korporacijam, ki podatke zlorabljajo, razen tega pa jim bojo skozi leta navili ceno. Spet cloveska lenoba in neumnost zmaga nad sposobnostjo.
Pri gitu je k sreči trivialno prenesti git repozitorij z vsemi branchi drugam. Še bolje - če lepega dne github nenapovedano ugasne, imaš lokalno kopijo že pri sebi.
2. in 3. Sem si prebral source od is-odd. Ne zdi se mi tako absurden kot mogoče tebi, ker te precej dobro zavaruje pred neznanimi vhodi. Ti bi verjetno napisal i%2===0 in bi bil zadovoljen, ampak izkaže se, da je "a"%2===0 false, ""%2===0 pa true. Bi se zares spomnil na to? Bi res pričakoval, da se bodo vsi ostali programerji tudi? Ali bi raje, da knjižnica vrže napako med razvojem ("pazi, tukaj pa si poslal string, ne številke!") in takoj popraviš napako?
Lol, a tega jajca se niste transpilali, a ni neko narecje od js, ki je strong typed? Mimogrede, kako to jaz resim, mi na kraj pameti ne pade, da bi uporabljal js in se lepo na backendu drzim. Kjer mi tudi na kraj pameti ne pade, da bi uporabljal nodejs (wtf, a se je vsem zmesalo, nekaj osebnega ponosa moras pa tudi imeti). V browserju bom pa delal, ko pride webasm dostop do DOMa.
WhiteAngel: na tvoje vprašanje sem delno odgovoril že zgoraj. TL;DR: Seveda uporabljam branche. Po potrebi. Tako kot vse ostalo na tem svetu.
Drysmoke: Typescript je precej blizu temu kar želiš, ampak po transpilaciji ne preverja več tipov. Ga uporabljam, če mi bo v projektu koristil. Včasih imaš pač z njim več dela kot koristi (kolikor te razumem, je to tvoj spološen gripe nad tehnologijo). Kolikor vem ni nobeno splošno uporabljeno narečje strongly typed, me pa lahko kdo popravi ker nisem šel preverjati.
Node ima sigurno svoje mesto na backendu. In tako kot vsi ostali programski jeziki in orodja vem, da ni primeren za vse. Če ti ni všeč, ga pač nisi probal z dovolj odprtim pogledom, nisi pravilno uporabljal, ali pa si ga uporabil za napačen projekt. Pa te ne obsojam, da ne bo pomote, ljudje imamo pač svoje preference.
Mogoče bi moral to povedati že na začetku. Programiranje ni področje, kjer je vedno primerna ena trenutno "najboljša" tehnologija (karkoli bi to že pomenilo), ampak glede na zahteve izbereš najbolj primerno in jo uporabljaš na tak način, da jo najbolje izkoristiš. Če ne potrebuješ vseh featurjev tehnologije jih pač ne uporabiš samo zato ker so na voljo. In če ti v splošnem povzroči več težav kot koristi, jo pa zavržeš v celoti. Primer glede ne-uporabe: za 10 vrstic kode ne boš postavljal git repozitorija, ker jo hitreje spet napišeš. Primer glede izbire: bančnega sistema pač ne bi pisal v Node, igrice ne bi razvil v assembly (kapo dol tisim iz 90ih in 2000ih, ki so se s tem ukvarjali - RollerCoaster Tycoon (video game) @ Wikipedia ), spletne strani z 10 uporabniki pa ne bi napisal na Cloud native način. Če se ti kdaj zgodi, da izbereš narobe si imel pač smolo, če imaš pa konsistentno probleme s tem, bi pa razmislil, če se res pravilno odločaš.
WhiteAngel: na tvoje vprašanje sem delno odgovoril že zgoraj. TL;DR: Seveda uporabljam branche. Po potrebi. Tako kot vse ostalo na tem svetu.
Drysmoke: Typescript je precej blizu temu kar želiš, ampak po transpilaciji ne preverja več tipov. Ga uporabljam, če mi bo v projektu koristil. Včasih imaš pač z njim več dela kot koristi (kolikor te razumem, je to tvoj spološen gripe nad tehnologijo). Kolikor vem ni nobeno splošno uporabljeno narečje strongly typed, me pa lahko kdo popravi ker nisem šel preverjati.
Node ima sigurno svoje mesto na backendu. In tako kot vsi ostali programski jeziki in orodja vem, da ni primeren za vse. Če ti ni všeč, ga pač nisi probal z dovolj odprtim pogledom, nisi pravilno uporabljal, ali pa si ga uporabil za napačen projekt. Pa te ne obsojam, da ne bo pomote, ljudje imamo pač svoje preference.
Mogoče bi moral to povedati že na začetku. Programiranje ni področje, kjer je vedno primerna ena trenutno "najboljša" tehnologija (karkoli bi to že pomenilo), ampak glede na zahteve izbereš najbolj primerno in jo uporabljaš na tak način, da jo najbolje izkoristiš. Če ne potrebuješ vseh featurjev tehnologije jih pač ne uporabiš samo zato ker so na voljo. In če ti v splošnem povzroči več težav kot koristi, jo pa zavržeš v celoti. Primer glede ne-uporabe: za 10 vrstic kode ne boš postavljal git repozitorija, ker jo hitreje spet napišeš. Primer glede izbire: bančnega sistema pač ne bi pisal v Node, igrice ne bi razvil v assembly (kapo dol tisim iz 90ih in 2000ih, ki so se s tem ukvarjali - RollerCoaster Tycoon (video game) @ Wikipedia ), spletne strani z 10 uporabniki pa ne bi napisal na Cloud native način. Če se ti kdaj zgodi, da izbereš narobe si imel pač smolo, če imaš pa konsistentno probleme s tem, bi pa razmislil, če se res pravilno odločaš.
No tu se ne bova strinjala, stran metanje resourcov na backendu z uporabo zadev kot je js je pac zadeva, ki jo ne pocnes, ravno tako ne bos sel poganjat npmja na backendu ever. Vem da je javascriptasem node hudo prav prisel ker nimajo blage veze o cemerkoli drugemu kot browserju ampak kot sem rekel js ni odgovor na nic drugega kot edino moznost, ki jo imas v browserju. Pac skrpucalo, ki je bilo na hitro narejeno in potem flikano v neskoncnost. Pac tega snakeoila se je treba cimprej znebiti. Imas pa drugo logiko kot jaz. Zame je prva briga da je dobro narejeno zate je prva briga da je razlika med denarjem, ki ga zasluzis in denarjem, ki ga das za razvoj cim vecja. Tule ne bova nikoli prisla skupaj, zaradi takega razmisljanja se danes vse "vlece" software pa je postal crap.
No tu se ne bova strinjala, stran metanje resourcov na backendu z uporabo zadev kot je js je pac zadeva, ki jo ne pocnes, ravno tako ne bos sel poganjat npmja na backendu ever. Vem da je javascriptasem node hudo prav prisel ker nimajo blage veze o cemerkoli drugemu kot browserju ampak kot sem rekel js ni odgovor na nic drugega kot edino moznost, ki jo imas v browserju. Pac skrpucalo, ki je bilo na hitro narejeno in potem flikano v neskoncnost. Pac tega snakeoila se je treba cimprej znebiti. Imas pa drugo logiko kot jaz. Zame je prva briga da je dobro narejeno zate je prva briga da je razlika med denarjem, ki ga zasluzis in denarjem, ki ga das za razvoj cim vecja. Tule ne bova nikoli prisla skupaj, zaradi takega razmisljanja se danes vse "vlece" software pa je postal crap.
Lahko zaključiva, bi pa te popravil glede ene stvari. Ni moj cilj čim večji zaslužek. S svojo plačo živim dovolj dobro, da nimam potrebe ali želje po izkoriščanju. Mi je bolj pomembna osebna zadostitev npr: čim večja proizvedena vrednost, osebna rast, dober odnos s stranko in še kaj drugega. Kvaliteta ima veliko aspektov, očitno jih prioritizirava drugače :) .
Moram še to komentirati, potem pa bom res končal. Node postane skropucalo, če mu pustiš, da tak postane. To se res lahko zgodi precej hitro, če z njim nimaš izkušenj, saj te ne vodi na dobro pot, ampak ti pusti proste roke, da skočiš v prepad, če hočeš. Če si pa pazljiv, izkušen in premišljen ti pa lahko njegova fleksibilnost veliko doprinese. Poraba resourcov na backendu ni pomembna za veliko večino aplikacij (čeprav ne vem proti čem primerjaš, Node ima kar vredu performanco). Veliko več prihraniš s krajšanjem razvojnega časa kot porabiš z malo močnejšim HWjem (ker imajo aplikacije tipično relativno malo uporabnikov so cene zares nizke). Kakšen je pa Node od znotraj pa ne vem. Nisem nikoli bral sourca. Kar se tiče vlečenja razvoja - tudi to se mi ne zdi dobro, ampak ne mislim, da je zaradi zlonamernosti programerjev (ali managerjev), ampak je stranski efekt tega, da zaradi agilnega pristopa vsi skupaj sproti ugotavljajo kaj v resnici potrebujejo in se obseg včasih velikokrat nenormalno poveča. Potem si pa manager ne upa iti k stranki in razložiti, da imajo preveč tehničnega dolga in ga morajo najprej odpraviti, ampak vseeno kar tiščijo naprej do stopnje, kjer so oboji nezadovoljni.
Sicer si radi zatiskamo oči, kako vse naše odločitve temeljijo na treznem razmisleku, ampak dejansko večina razvoja računalništva temelji na naključju, marketingu, sledenju trendom ipd. Git vključen. Ego in ponos pa ne izboljšujeta situacije.
thramos: res je, ravno pisem kernel modul za linux, ki bo verjetno precej pomagal vsem, ki uporabljajo linux na desktop masini. Ne bom sel logike tam implementirat ampak bom lepo preko loopbacka kontaktiral nodejs in vso logiko implementiral tam in seveda vmes bom dal HTTPS, proper REST, TOTP (bos otp echojal na vsako minuto v procfs) in pa seveda naredil ful marketing, da uporabljam nodejs, AI, blockchain, nosql,... in vsi bojo zadevo uporabili, ne glede da se bo cela zadeva tako vlekla, da bo kar hudo. No ja, tisti ki niso na armih ali x86 platformah ravno ne, ker pac v8 nima jita za njih ampak pac colateral damage. Aja, a da ne?
Pa ne moreš se pretvarjati, da web development potrebuje enako stopnjo zanesljivosti ali hitrosti kot modul za linux no... Ni treba spreobračati besed, lahko poveš dejanski argument. Mogoče pa nisi opazil tega, kar že ves čas govorim? Ni absolutno pravilne odločitve. Vedno je odvisno od tega kaj počneš. Ali zares trollaš ali pa me nočeš razumeti.
Tharmos, lahko daš primer? Se sicer strinjam, da smo precej omejeni pri odločanju. Mogoče ne poznamo jezika, se ga nimamo časa naučiti, je tehnično nekompatibilen ali pa sploh ne vemo, da obstaja. Lahko pa se potrudimo, da iz tistega, kar imamo, naredimo čim več.
Pa ne moreš se pretvarjati, da web development potrebuje enako stopnjo zanesljivosti ali hitrosti kot modul za linux no...
S to logiko smo sploh prisli v mess, ki je nastal zdaj. Ah saj bo hitrejsi procesor, ah saj bo vec rama, ah bo pa vec diska, ah pa internet bo hitrejsi,... in zdaj imamo browser, ki je sam zase postal umetna inteligenca, da sploh zmelje vso nesnago, ki pride vanj, na telefonih gonimo eksta pozresne aplikacije, ki zadaj gonijo javo ipd. In ravno zdajle v tem momentu nek kreten nekje na svetu razmislja kako bi stalcil v8 v kernel. Cez 10 let (oz. 10 let za tem, ko bo Linus pokopan) se bomo pa vsi cudili, kako da je pol kernela napisanega v js. Jaz se pa pac zdaj na enak nacin cudim, da na serverjih laufa nodejs.
No tu se ne bova strinjala, stran metanje resourcov na backendu z uporabo zadev kot je js je pac zadeva, ki jo ne pocnes,
Hitrost in resursi so relativni. Glavnina itak pade na latenco omrežja, bazo in caching. Ti ne pomaga ne node ne go ne C za tisto renderiranje HTMLja (ali JSONa). Se pa strinjam, da je JS gnoj od jezika. Tekmuje s PHP. Ampak dokler dobro plačajo, I don't care.
In seveda, se ena zadeva, ki jo bi lahko ljudje sami hostali (https://gitolite.com/gitolite/index.htm..., pa se raje predajajo korporacijam, ki podatke zlorabljajo, razen tega pa jim bojo skozi leta navili ceno. Spet cloveska lenoba in neumnost zmaga nad sposobnostjo.
Kaj vse bi ljudje lahko sami počeli vendar določene zadeve raje prepustijo tistim, ki so za to specializirani. Postrižeš se tudi lahko sam pa greš po navadi k frizerju. Self hosted git terja svoj davek v obliki človeških virov in finančnih sredstev. Ko potegneš črto ugotoviš, da je bolje plačati nekaj deset dolarjev na mesec podjetju, ki je specializirano za takšne zadeve kot pa se pretvarjati, da obvladaš nekaj kar v resnici ne. Poleg tega da te stane več denarja kot plačljiva rešitev še tvegaš, da s svojim neznanjem povzročiš nepopravljivo škodo. Potrebno je vzdrževati, nadgrajevati in delati ustrezne varnostne kopije (na več lokacijah).
K frizerju greš, avto pa voziš sam. A ne bi bilo bolj smiselno najeti profesionalnega voznika? Saj tvegaš, da s svojim neznanjem povzročiš nepopravljivo škodo. Pa še kosila si večinoma kuhamo sami, čistimo stranišča ...
Seveda je nekje potrebno potegnit mejo. In ja, se strinjam, stroški gostovanja izvorne kode so se drastično znižali. Ampak ne samo v oblaku, ampak tudi pri sebi. V nekem delujočem sistemu, kjer imaš postopke nadgrajevanja, backupa ipd. že itak ustrezno rešene, je vključitev VCSja preprosta in poceni. Če pa teh postopkov nimaš rešenih, že tako preobremenjenim ljudem pa bi vzdrževanje VCSja pomenilo preveč dela ... potem že tako ali tako delaš nekaj narobe.
thramos: res je, ravno pisem kernel modul za linux, ki bo verjetno precej pomagal vsem, ki uporabljajo linux na desktop masini. Ne bom sel logike tam implementirat ampak bom lepo preko loopbacka kontaktiral nodejs in vso logiko implementiral tam in seveda vmes bom dal HTTPS, proper REST, TOTP (bos otp echojal na vsako minuto v procfs) in pa seveda naredil ful marketing, da uporabljam nodejs, AI, blockchain, nosql,... in vsi bojo zadevo uporabili, ne glede da se bo cela zadeva tako vlekla, da bo kar hudo. No ja, tisti ki niso na armih ali x86 platformah ravno ne, ker pac v8 nima jita za njih ampak pac colateral damage. Aja, a da ne?
To bi bilo smešno, če ne bi bil popolnoma realen opis načrtovanje sistemov, kjer o arhitekturi odločajo napačni ljudje - menedžerji.