Šta je novo?

Kako da postanem dobar Web programer / dizajner

@Andragon da li bi mogao da mi kazes zasto si odabrao da upotrebis Wikipedia kao izvor informacija o jQuery umesto njihovog sajta: http://jquery.com/ ?

Sa sajta:
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.

jQuery je vec toliko dugo prisutan u WebDev svetu i za mnoge FrontEnd developere koji rade ozbiljan JS development (sto ja cinim poslednjih par meseci) je ceprikanje po source code-u samog jQuery-a obavezan proces i jedan od najboljih nacina da se nauci dosta od tome kako funkcionise sam Javascript. Toliko sam cesto nailazio na samoprozvane web developere koji nisu znali kako funkcionisu (a ni koji su) HTTP requests.
 
@Andragon da li bi mogao da mi kazes zasto si odabrao da upotrebis Wikipedia kao izvor informacija o jQuery umesto njihovog sajta: http://jquery.com/ ?
Na wikiju malo je prostije objašnjeno. :)
A ako čovek stvarno uči i radi sa jQueryijem kao što priča, ne moguće da već nije posetio njihov sajt.
 
Poslednja izmena:
A node.js? Jel neko koristio ovo za ozbiljniji web server?
 
A node.js? Jel neko koristio ovo za ozbiljniji web server?

Ja se upravo spremam da počnem da ga učim, ali prvo moram da savladam malo JS kao osnovu. Nisam ranije uzimao u ruke JS, nekako ne leži mi kodiranje vezano za dizajn, ja sam pre za back-end. Znam da ays poznaje node.js, on će znati da ti kaže nešto.
 
I ja nešto pokušavam sa node.je. Videću koliko ću imati uspeha.
 
Node.js (sa Express.js, doduse) je super stvar. Koristio sam ga za cist backend web servis, nisam pravio kompletan sajt u njemu. Prilicno mocna stvar, samo nisam siguran kako izlazi na kraj sa velikim brojem korisnika. Navodno, dobro, ali nikako da nadjem neki veci rezime nekoga.

Ono sto sam video da mi se ne svidja je potenciranje MongoDB-a i nekog glupog view engina koji ima neki svoj paralelni jezik HTML-u, ali se valjda moze koristiti Handlebars.
 
Verovatno mislis na Jade template engine... generalno nisam ni ja preterano odusevljen sa istim, haml mi je bolji. Ako se ja dobro secam, podrzani su jos EJS i CoffeeKup template engines. Nicht od handlebars i moustache, osim ako ne koristis ih odvojeno od ExpressJS, tj sa Backbone i Underscore npr. ;)

Pa novi myspace je napravljen sa NodeJS + ExpressJS... eh sad, koliki deo pravog Backend je uradjen sa istim a koliko sa Javom (kao npr sto je slucaj sa Twitter-om i RoR).

Dopuna:
- Mene brine upgrade ciklus i kako to funkcionise... zato se nisam, do sada barem, usudio da upotrebim NodeJS na nekom ozbiljnijem projektu. Takodje, MongoDB je najsjajnije resenje ako ti je neophodna prava relaciona baza podataka (sto je vrlo cest slucaj sa mojim projektima).
 
Poslednja izmena:
Takodje, MongoDB je najsjajnije resenje ako ti je neophodna prava relaciona baza podataka (sto je vrlo cest slucaj sa mojim projektima).

Zar MongoDB nije noSQL baza?
I zar nije ideja iza MongoDB-a eliminacija relacionih veza o_O
 
Zar MongoDB nije noSQL baza?
I zar nije ideja iza MongoDB-a eliminacija relacionih veza o_O

Jeste... "progutao" sam "ni" i napisao "je najsjajnije" umesto "nije najsjajnije"... jer sam originalno hteo da napisem "MongoDB je lose resenje ako ti je neophodna prava relaciona baza podataka".
 
Verovatno mislis na Jade template engine... generalno nisam ni ja preterano odusevljen sa istim, haml mi je bolji. Ako se ja dobro secam, podrzani su jos EJS i CoffeeKup template engines. Nicht od handlebars i moustache, osim ako ne koristis ih odvojeno od ExpressJS, tj sa Backbone i Underscore npr. ;)

Pa novi myspace je napravljen sa NodeJS + ExpressJS... eh sad, koliki deo pravog Backend je uradjen sa istim a koliko sa Javom (kao npr sto je slucaj sa Twitter-om i RoR).

Dopuna:
- Mene brine upgrade ciklus i kako to funkcionise... zato se nisam, do sada barem, usudio da upotrebim NodeJS na nekom ozbiljnijem projektu. Takodje, MongoDB je najsjajnije resenje ako ti je neophodna prava relaciona baza podataka (sto je vrlo cest slucaj sa mojim projektima).

Upgrade je bolna stvar u svakom slucaju, sta god da je u pitanju :)
 
Upgrade je bolna stvar u svakom slucaju, sta god da je u pitanju :)

Znas kako... osim trenutnog procesa upgrade za Rails sa 3 na 4, jer je i Ruby sa 1.9.x na 2.0.0 koji je malko zeznut, dosadasnji upgrades su bili smesno jednostavni i bas onako pravolinijski. Koliko mi se cini i Laravel se trudi da prati tu neku filozofiju.

Ne znam za NodeJS, pa ne smem da se usudim da lupetam da me ne poslusa covek i posle mi psuje oca, majku i ostatak familije kad dodje momenat za upgrade :d
 
Node.js je sav asinhron. U principu nema dizanja threadova, vec je sve singlethreaded a sav IO je asinhron i radi preko callbacka. To donekle izvrce nacin razmisljanja. Npr. upit bazi moze biti spor pa umesto da script ceka na rezultat, salj se funkcija koja ce biti pozvana kada se upit izvrsi. Ta funkcija opet moze da pozove nesto drugo, takodje asinhrono, itd.

Benchmark node.js servera protiv apache i drugih web servera pokazuje da node.js moze da izdrzi vecu navalu konrisnika uz manju potrosnju RAM-a. Npr Apache lansira php proces za svaki upit, a OS task manager daje CPU vreme procesima da obave posao. Gubi se dosta vremena u task switcheru.
Google V8 JS enigine je mnogo bolje optimizovan od PHP-a i drugih web server jezika, pa je Node.js script mnogo brzi od ostalih jezika.
Sada trenuto je veliki hype oko node.js... Videcemo sta ce na kraju da ispadne od njega. Dosta obecava.
 
Sve to sto si naveo je ono sto se govori o NodeJS-u vec, barem, godinu dana unazad (pogotovo u FrontEnd development "krugovima").
Koliko je NodeJS hypeovan, toliko je (mozda i vise) MeteorJS.

No... da ne bude da sipam drvlje i kamenje na NodeJS (sto apsolutno ne bi bila istina), meni je on odlican za situacije/projekte gde ti nije potrebno da koristis relacione baze podataka + popularizacija CoffeeScript-a i SASS-a kojoj je u najvecoj meri upravo i NodeJS doprineo.
 
Da se ubacim i ja u ovaj forum. Moram da se prvo prestavim. poceo sam sam da ucim onlajn od w3 schools od nula 2007-me i posle 4 meseca imao ludu srecu da zbog malog flash animaciju steknem dobrog klijenta, iz Londona pa radio kao freelancer na jednostavnije pa na slozenije sajtove. dosao od 5 na 8 evra na sat, ali krpio sam te sajtove improvizirao i usput ucio puno. Nazalost posle 2 godine mi zdosadilo i stresa i postojanog ucenja, ucenja i opet ucenja iako fina plata od 350 evra za nekih 2 sata dnevno rad, i jos na to dodaj bar 4 sata ucenja. Od 2009 nisam dotakao kod a stigao do solidno nivo JS, HTML, CSS, i malo PHP i MySQL, i FLASh animacije i banere.
Za istu platu prebacio se u nevladinu ali daleko vise uzivao i šetao.
Sad sam 36god i javila mi se opet strast za kod ali ne web, dosadilo mi od projekte koji traju 3 dana pa opet novo pa opet menjaj 3 piksela na desno. sad ucim Javu vec 4 meseca. Decki ako nekome treba naj naj preporucujem Udacity.com za Java, vrlo je interaktivno i dobija se sertifikat na kraj
Sad se spremam za Java EE a sramota me sada da idem da trazim posao sa ovome sto znam. Ali za 3 meseca nadam se da cu savladati i Hibernate i Spring i ceo paket sto traze za da radis kao junior Java EE.

sada me je sramota za sve te krpenice koje sam radio na pocetku i naplaciva po 200-300 evra ali...moralo je tako. Vecina moje bivse kolege koje znam su na 1000 evra prosek ali sa 5-8 godisno iskustva. Ja moram to da sacekam bar jos 2 godine. radim na spojivanje kockica.

Nego imam neko pitanje...dali je noko davao casove za novac? ja mislim da se tako najvise uci. ja bi uskoro da platim nekome da me ubrza u delikatnije stvare u Javi. a sam razmislja da prodam nekome moje znanje za 3 evra na sat, dedicated casove, bar sada doj jos nisam poceo da radim. vec sam davao casove engleskog za 2.5 evra na cas.

za neko ko je savladao osnovu u trebaju mu cake, mislim da je najisplatlivo. mozda neko drugi je vec to probao, i da daje i da uzima casove privatno 1 on 1.

**** kUdtiHaEX, hvla na sve sto si spodelio i vas ostale , evo 3 sata citam ovaj forum od a do š. Probaču da spodelim sve moguće što mislim da bi nekome bilo korisno.
 
Lepo je cuti neciju uspesnu pricu i zelju za daljim napredovanjem. Bilo bi dobro cuti i ostale koji su za da podele njihovo iskustvo, padove i napretke o ovom poslu.
Hvala za Udacity.com, pogledacu o cemu se radi.
 
Sve to sto si naveo je ono sto se govori o NodeJS-u vec, barem, godinu dana unazad (pogotovo u FrontEnd development "krugovima").
Koliko je NodeJS hypeovan, toliko je (mozda i vise) MeteorJS.

No... da ne bude da sipam drvlje i kamenje na NodeJS (sto apsolutno ne bi bila istina), meni je on odlican za situacije/projekte gde ti nije potrebno da koristis relacione baze podataka + popularizacija CoffeeScript-a i SASS-a kojoj je u najvecoj meri upravo i NodeJS doprineo.

Da se javim da sam uspeo da napravim moj prvi node.js servercic koji je u stvari "medjuserver" izmedju mssql-a i klijenata. Procita nesto sa mssql servera i potom updejtuje klijente po potrebi, dok se u mssql bazi ne pojavi nesto novo.
Trebalo mi je malo vremena da se presaltam na event-driven razmisljanje. Za mssql sam koristio tedious a za klijente socket.io. Obzirom da je ovo prvi put da koristim JS, imao sam sitnijih problema sa JS sintaksom.
Sta mislite o tediousu? Prvo sam hteo da koristim Microsoftov paket za nodejs, ali sam skapirao da trazi neke .net komponente i da je JS code samo wrapper oko .net poziva.
 
Zaboravio sam na ovu temu :) .

Mislim da moramo neke stvari da rascistimo. Prvo, Node.js stvarno ne znaci da morate koristiti NoSQL bazu. Moze se uljudno povezati i sa gotovo bilo kojom relacionom bazom podataka i ne vidim sto je toliko hype oko toga da se za web mora koristiti NoSQL baza (sta, nije webscale? :) ). Pogotovo jer se i relacione mogu skalirati, nego su ljudi lenji. Druga stvar, MongoDB ja ne smatram dobrom bazom niti dobrim resenjem ni za sta. Licno mi izgleda kao neka igrarija, a CouchDB ili Riak koji licno koristim su mi daleko ozbiljniji. Mada ih ne koristim direktno za web vec za druge stvari, ali sa nista manjom kolicinom podataka. Odjednom su svi poceli da prave sajtove koji ce da se skaliraju na milione korisnika :) .
 
Zaboravio sam na ovu temu :) .

Mislim da moramo neke stvari da rascistimo. Prvo, Node.js stvarno ne znaci da morate koristiti NoSQL bazu. Moze se uljudno povezati i sa gotovo bilo kojom relacionom bazom podataka i ne vidim sto je toliko hype oko toga da se za web mora koristiti NoSQL baza (sta, nije webscale? :) ). Pogotovo jer se i relacione mogu skalirati, nego su ljudi lenji. Druga stvar, MongoDB ja ne smatram dobrom bazom niti dobrim resenjem ni za sta. Licno mi izgleda kao neka igrarija, a CouchDB ili Riak koji licno koristim su mi daleko ozbiljniji. Mada ih ne koristim direktno za web vec za druge stvari, ali sa nista manjom kolicinom podataka. Odjednom su svi poceli da prave sajtove koji ce da se skaliraju na milione korisnika :) .

MongoDB je zasnovan na sasvim korektnim principima i mislim da ima dobru buducnost. Uostalom, nije svaki tip baze za svaki projekat :) Skaliranje relacionih baza podataka, sto da ne, sve moze da se skalira, ali ako zelis da zadovoljis ACID standarde onda nastaju problemi - CAP teorema kaze da dostupnost, konzistentnost i "partition tolerance" (nastavak rada sistema u slucaju gubitka jednog njegovog dela) ne mogu biti zadovoljeni svi u isto vreme. Ako zazmuris malo i ne ispostujes ACID kompletno, onda je skaliranje lakse. Nisu sve relacione baze problematicne za skaliranje (poput http://en.wikipedia.org/wiki/VoltDB) ali mnogi ipak vise vole da guraju sto vise memorije/procesora/diskova da bi odrzali performanse nego da rade horizontalno skaliranje jer je to nekada i jeftinija opcija i donosi manje glavobolje.

Koga zanima ova tema, moze vise da procita ovde: http://highscalability.com/blog/2013/9/9/need-help-with-database-scalability-understand-io.html
 
Poslednja izmena:
Posle par nedelja učenja, osećam se dovoljno comforan sa JS osnovom da mogu da se bacim na node.js. Trebaće tu silnog truda i vremena, poželite mi sreću.

Da mi je neko pričao da ću se opet petljati sa Javaskriptom, ne bih mu verovao nikad, od web dizajna sam na vreme pobegao vrišteći pre mnogo godina, onog trenutka kad sam shvatio kojom brzinom tu izlaze nove stvari koje treba da znaš. Pre bih se sa litice bacio u Egejsko more nego se opet hvatao u to kolo, ali stvarno se divim onima koji u njemu mogu da igraju.
 
MongoDB je zasnovan na sasvim korektnim principima i mislim da ima dobru buducnost. Uostalom, nije svaki tip baze za svaki projekat :) Skaliranje relacionih baza podataka, sto da ne, sve moze da se skalira, ali ako zelis da zadovoljis ACID standarde onda nastaju problemi - CAP teorema kaze da dostupnost, konzistentnost i "partition tolerance" (nastavak rada sistema u slucaju gubitka jednog njegovog dela) ne mogu biti zadovoljeni svi u isto vreme. Ako zazmuris malo i ne ispostujes ACID kompletno, onda je skaliranje lakse. Nisu sve relacione baze problematicne za skaliranje (poput http://en.wikipedia.org/wiki/VoltDB) ali mnogi ipak vise vole da guraju sto vise memorije/procesora/diskova da bi odrzali performanse nego da rade horizontalno skaliranje jer je to nekada i jeftinija opcija i donosi manje glavobolje.

Koga zanima ova tema, moze vise da procita ovde: http://highscalability.com/blog/2013/9/9/need-help-with-database-scalability-understand-io.html

To lici korektnu analizu i sve sto si napisao mi je sasvim poznato :) . Ali mnogo neiskusnijih programera se zalete kao mladi majmuni na Mongo i derivate bez pravilne analize domena problema, pre svega. Omiljeni su mi threadovi i postovi po netu gde je neko izabrao neku bazu (nekako je najcesce Mongo) i posle godinu ili dve shvatio da je u ozbiljnom problemu zbog nekog featura/nedostatka i sada ne zna sta ce, zeznuo se u startu. Zato sam mozda bio malo apokaliptican po pitanju Monga, cisto da ako neko procita zaista pazljivo razmisli oko svog izbora i progugla slucajeve duzeg koriscenja.
 
Dobro, to je vec neka druga prica. Ima njih dosta koji se zalete samo zato sto su neke reci vise cool, a ne zato sto su se tehnicki informisali. Ima i onih koji prave ljudima sisteme, a nemaju ni pravilno definisane klase sa konstruktorima. Ili neideksirane tabele. Ima svega :)
 
Čitam ovu zanimljivu temu koju je započeo kUdtiHaEX i u samom početku sve odlično objasnio. Godinama čitam ovakve teme na raznim forumima i na iscrpnije objašnjenje nisam naišao do sada. Sve pohvale za autora.
Pre nekih 5-6 godina i sam sam počeo da petljam oko izrade web sajtova. U početku bio veoma zagrejan, učio HTML i CSS, malo Photoshop-a, namirisao PHP ali nikada nisam ništa ozbiljnije napravio. Šta više, nisam radio za novac nego više za svoju dušu, neki manji sajt i forum. Životne okolnosti mi nisu dale mira da sednem i to sve zaita naučim, novac je morao da se stvori sada i odmah, tako da sam radio sve i svašta da bih došao do istog. Svake godine ja sednem pa krećem iz početka i naravno nikada ne završim učenje :(
Da li uopšte vredi više da se uplićem, imam 37.godina i ne znam koji je moj domet ako bi seo i ipak sve to savladao. Vidim, po pisanju profesinalaca da se radi o stresnom poslu, krastavac meni je stresa dosta. Poznajem čoveka koji radi po sistemu "One man show", znači sve sam, za izradu sajtova koristi CMS-ove, Joomla i malo Wordpres. Bavi se time 7-8 godina, uglavnom kao freelancer, kaže, a verujem mu, da zaradi 7-800eur mesečno u proseku. Nije loše, ali ne izlazi iz kuće, radi po 15-16 sati dnevno. Nisam lenj, da me pogrešno ne shvatite, ali po meni to baš i nema nekog smisla jer tako čovek gubi onaj deo života koji je van posla a veoma je bitan.
I pored svega što sam napisao, izrada web sajtova (konkretno frontend) je za mene i dalje izazov. Razmišljao sam da naučim HTML, CSS, eventualno JawaScript i neki CMS Wordpress ili Joomla. Ništa preko toga jer mislim da bi to bio preveliki zalogaj za mene (zbog vremena). Intreresuje me mišljenje iskusnijih, da li je to dovoljno da se na mesečnom nivou zaradi 200-300eur? Radio bih kao freelancer.
Znam, sve u principu zavisi od mene samog, to mi je jasno. Nego neki konkretan odgovor, šta bih mogao da radim sa tim znanjem i koja je perspektiva ako se na tome zadržim.
 
Čitam ovu zanimljivu temu koju je započeo kUdtiHaEX i u samom početku sve odlično objasnio. Godinama čitam ovakve teme na raznim forumima i na iscrpnije objašnjenje nisam naišao do sada. Sve pohvale za autora.
Pre nekih 5-6 godina i sam sam počeo da petljam oko izrade web sajtova. U početku bio veoma zagrejan, učio HTML i CSS, malo Photoshop-a, namirisao PHP ali nikada nisam ništa ozbiljnije napravio. Šta više, nisam radio za novac nego više za svoju dušu, neki manji sajt i forum. Životne okolnosti mi nisu dale mira da sednem i to sve zaita naučim, novac je morao da se stvori sada i odmah, tako da sam radio sve i svašta da bih došao do istog. Svake godine ja sednem pa krećem iz početka i naravno nikada ne završim učenje :(
Da li uopšte vredi više da se uplićem, imam 37.godina i ne znam koji je moj domet ako bi seo i ipak sve to savladao. Vidim, po pisanju profesinalaca da se radi o stresnom poslu, krastavac meni je stresa dosta. Poznajem čoveka koji radi po sistemu "One man show", znači sve sam, za izradu sajtova koristi CMS-ove, Joomla i malo Wordpres. Bavi se time 7-8 godina, uglavnom kao freelancer, kaže, a verujem mu, da zaradi 7-800eur mesečno u proseku. Nije loše, ali ne izlazi iz kuće, radi po 15-16 sati dnevno. Nisam lenj, da me pogrešno ne shvatite, ali po meni to baš i nema nekog smisla jer tako čovek gubi onaj deo života koji je van posla a veoma je bitan.
I pored svega što sam napisao, izrada web sajtova (konkretno frontend) je za mene i dalje izazov. Razmišljao sam da naučim HTML, CSS, eventualno JawaScript i neki CMS Wordpress ili Joomla. Ništa preko toga jer mislim da bi to bio preveliki zalogaj za mene (zbog vremena). Intreresuje me mišljenje iskusnijih, da li je to dovoljno da se na mesečnom nivou zaradi 200-300eur? Radio bih kao freelancer.
Znam, sve u principu zavisi od mene samog, to mi je jasno. Nego neki konkretan odgovor, šta bih mogao da radim sa tim znanjem i koja je perspektiva ako se na tome zadržim.
To je pitanje na koje ti niko ne moze odgovoriti sa velikom sigurnoscu. Da je kasno da sa 37 godina pocinjes da ucis ovaj posao, nije, sto vise budes ucio i eksperimentisao, to ces brze dodji do nekog primenjivog nivoa posle kog ces moci da kazes da nesto znas i moci da se upustis da tim znanjem zaradjujes. Stavicu na stranu to da li si talentovan za dizajn, posto je to manje vise subjektivno. Ako uspes da pogodis sta klijent od tebe trazi, bilo da se tice dizajna sajta ili strukture, moci ces da zaradis mnogo vise od 200-300e, pod tim podrazujevam da radis kao freelancer na nekim od sajtova sa konkursima, tu je mnogo veca zarada, tj realnije placaju, dok ovde kod nas, kako gde i kako ko, neko ce ti bez pogovora platiti koliko trazis, a neko ce se ciganisati za 100e. Sve u svemu mislim da se kreativno budes udubio u posao i gledao da budes bolji i drugaciji, a ne copycat, moci ces da zaradis dosta preko te zeljene cifre.
 
Hvala na odgovoru M!ST!CX, pokušaću sada preko zime kada imam više slobodnog vremena da zagrejem stolicu. Ranije sam za učenje koristio sajt www.w3schools.com a i nabavio sam knjigu "Briljantno HTML5 i CSS3" pa ću polako da krenem.
To što se tiče plaćanja kod nas znam već jako dobro, bavio sam se pružanjem usluga deset godina i neverovatno je koliko naš čovek nije spreman da plati za nešto što ne može da se jede, vozi i sl. u stvari za bilo šta što je neopipljivo. Sreća u nesreći je što sam dobro naučio kako da se izborim sa tim.
 
Moje je misljenje je da trebas da ides u tom pravcu koji si zamislio, jer ne mozes nista da izgubis. Probaj nista te ne kosta (jedino vreme). Ako ide super, ako ne batali i to je to.
Srecno!!!
 
Nazad
Vrh Dno