Šta je novo?

Kako da postanem dobar Web programer / dizajner

Da li savetujete koriscenje software design patterns za lakse organizovanje projekta pa da bi se lakse sprovodilo u delo (kod)? I da li ima neka aplikacija koja ima ovu namenu da lepo rasporedjujem sta koja klasa ce sadrzati, nasledjuje itd.

Нема, јер то не може програм да ти каже... то је врло људска ствар где се базира на захтеву односно проблему који се решава и твом искуству као програмера у решавању сличног проблема. Често може да буде и по 50 лоших покушаја пре него што се дође до првог доброг. ;)

Елем, даћу ти пример мог случаја и језика који користим сваки дан по барем 6 сати дневно, JavaScript: http://addyosmani.com/resources/essentialjsdesignpatterns/book/#designpatternsjavascript
Када сам први пут читао књигу на ту тему, од свих тих силних шаблона знао сам свега 3 (Singleton, Constructor, Module) од чега сам прва два знао из других програмских језика, а и ту се сличност са другом ОО језицима и ЈЅ завршава. То су били једини који сам знао да применим и битније од тога, знао КАДА да их применим.

Данас знам да употребим на правом месту око 6 шаблона али ретко када сам користио више од 3-4 у једном пројекту. Неке ствари се промене и еволуирају кроз време па тако данас користим никада мање прототипно наслеђивање а далеко више користим "closures" што није био случај пре 4 године када сам почео да радим озбиљније ЈЅ програмирање. За то су одговорне, не само типови пројеката, него и библиотеке и фрејмворци који сам користио успут и који су уносили своје личне преференце у стил писања кода. Мени је много помогло читање jQuery кода где сам могао да видим како су они са више искуства и знања од мене написали неке одређене функције које сам користио на дневној бази.

То је можда и најбољи предлог/савет који могу да ти дам, нађи библиотеку на GitHub која ради оно што ти се допада и написана је у језику који желиш да научиш и читај код.
 
Da li savetujete koriscenje software design patterns za lakse organizovanje projekta pa da bi se lakse sprovodilo u delo (kod)? I da li ima neka aplikacija koja ima ovu namenu da lepo rasporedjujem sta koja klasa ce sadrzati, nasledjuje itd.

Za ovo preporucujem UML. UML je jezik za modelovanje sa kojim mozes da izmodelujes celu aplikaciju, od slucajeva koriscenja, dijagrama klasa... Dosta je lak, postoje pluginovi za skoro sva okruzenja i najlepsa stvar, kod moze automatski da se izgenerise.
 
Znam da se bas i ne uklapa u temu ali moze li mi neko pomoci..
Treba mi ovaj kod u PHPu ...
int i,j;
int p=0;
char string[100]; // ne mora biti ograniceno na 100 ali nema ni potrebe da bude duze.
i=strlen(string);
for(j=0;j<i;j++)if(string[j]=="a")p++;
printf("A: %d",p);
 
Bas to mi je trebalo :)
Hvala!
 
4. UX dizjaneri i frontend programeri
Kada sam krenuo da se bavim ovim poslom, prvo sam pozeleo da se bavim web dizajnom. Iako imam smisla za slaganje boja i, generalno, umem da sednem i nacrtam solidan interfejs, vremenom sam shvatio da ipak postoje ljudi koji to bolje rade od mene i da prosto - to im treba i prepustiti.

Ne postoji skola za Web dizajn. Skole koje kod nas postoje a prodaju Web dizajn kurseve vas u stvari uce kako se koristi Bevel & Emboss u Photoshopu, seckaju slicice a onda sve to ubacuje u Dreamweaver sto je, manje-vise, beskorisno.
Vrlo je jednostavno - za dizajn morate da imate smisla i morate imati osecaj. Kao sto sam na pocetku teme rekao, ako ste akademski slikar, niste podobni za web dizajn. Web dizajn je zasebna kategorija za sebe. Ja vam ne mogu u ovom tutorialu bas objasniti kako da radite neke stvari ali vam mogu dati smernice, opet iz mog iskustva u radu sa dizajnerima.

Ako ste krenuli u svet dizajna i kapirate kako Web radi i nalazite se u tome, pratite trendove. Tu i tamo ima dosta sajtova koji se bave dizajnom (devinatart.com kao jedan od vecih) gde mozete da vidite sta je trenutno in i kakvi se interfejsi crtaju ovih dana. Ne preterujte sa fensi efektima i ostalim glupostima, cilj Interneta je jasno prenosenje informacija a ne pravljenje slikovnice. Time samo pravite problem i sebi i onome ko to mora posle da implementira.
Od dobrih Web dizajnera se ocekuje da daju predloge koji ce da unaprede kompletno iskustvo prilikom koriscenja odgovarajuceg sajta. Dakle, ja dodjem i izlozim vam sta zelim i kako ja to zamisljam (takvih je realno 10%) i od vas kao dizajnera ocekujem kvalitetan predlog, primere, konsultaciju.

Ne budite egoista, to je osobina losih dizajnera koji ne umeju da prihvate da njihov dizajn prosto - pa, ****** je. Dzaba sto se nesto vama dopada i sto je vama cool i strava kada na ovoj planeti ima jos par miliona korisnika koji mozda ne misle isto. Dakle ne stvarate za sebe vec za siroke populacije. Stoga budite otvorenog uma i slusajte sta drugi govore. Feedback je izuzetno bitna stvar u svakom poslu pa i u ovom.
Idealno bi bilo ako Web dizajneri znaju i osnove HTML-a / CSS-a / JS-a. Time su svesniji limitacija tj. mogucnosti koje Web ima pa samim tim mogu da stvore nesto sto je i dalje vizuelno prihvatljivo a ne zahteva 400 man-hour za implementaciju.
Frontend programeri su prirodna ekstenzija Web dizajnera. Iskreno govoreci, jako je malo dizajnera koji nisu dovoljno vesti da sve sto stvore graficki, prenesu i u web svet. U frontend programiranju caruju sledece stvari:
1. HTML
2. CSS
3. JavaScript

To morate da znate u po dana u po noci. Bez greske. HTML je tu da da strukturu, CSS je tu da je oblikuje a JS celoj slici daje dinamiku. Efikasan frontend nije onaj koji vrvi od gomile beskorisnih JavaScript pluginova i efekata vec je to onaj kod kojih su, zarad postizanja sto vece funkcionalnosti, sve prednosti tehnologija iskoriscene na adekvatan nacin i u normalnoj meri.

Kako koriscenje Javascripta moze da pomogne? Na ovom forumu postoji jako mnogo primera, pocev od padajucih menija, inline-odgovaranja na teme (kada uradite quick reply, stranica se ne osvezava vec se to resava putem Javascripta), datepickera itd. Ako ste korisnik GMail-a - ceo GMail koristi JavaScript, uvek ima osecaj kao da ste na jednoj stranici, sve se ucitava on click, ceo sistem je fluidan.

Ono sto ljudi cesto mesaju sa pojmom JavaScript-a su razlicite JS biblioteke (frameworks) koji se koriste, kao sto su jQuery, mootools i sl. Razlike izmedju jQueryja i JS-a nema, JQ je u stvari JavaScript samo pretocen u neke druge funkcije koje vam omogucavaju da mnogo lakse i brze uradite neke stvari.

Ucenje HTML-a i CSS-a je zaista jednostavan posao ali optimizacija za razlicite browsere moze biti problem. Najvecu muku predstavlja Internet Explorer zbog svog nepostovanja standarda pa se tako vrlo lako mozete naci u neobranom grozdju. Svi ostali browseri su manje-vise isti i funkcionisu na isti nacin. Uvek testirajte to sto radite u vise browsera.

Kako poceti sa ucenjem?
Naucite dobro HTML i CSS. Potrazite po Internetu primere i pokusajte da ih sklopite, to je kao sklapanje tangrama. Nakon toga naucite JavaScript, sintaksu. Pokusajte da uradite neke osnovne stvari sa njim i onda kada ga dovoljnos avladate, krenite sa ucenjem nekog od frejmvorka (jQuery je preporuka). jQuery je izuzetno popularan, podrzan od strane svih browsera i, sto je najvaznije, postoji dosta pluginova za njega. Vidite sta moze, kako radi i kako moze da unapredi cist HTML i CSS.
Ako zelite da idete dalje, van okvira ulepsavanja / unapredjivanja interfejsa, mozete da naucite sta je AJAX, kako funkcionise itd. To je obavezno stivo za backend programere ali moze predstavljati previse za frontend - svejedno, ako ste radoznali, nece skoditi.

Pozdrav,

Jedno pitanje, mozda zvuci glupo... Jel se nesto promenilo sto se tice frontend programera?

I dalje osnova HTML, CSS i Java?

I ako moze neki savet, imam par HTML tutorijala od Lynde, 2012-2013 god. , mogu slobodno da se oslonim na to?

Hvala.
 
Možda si mislio Javascript? Java definitivno ne treba za frontend. :)
 
Sto se tice front-end zavisi od firme do firme sta podrazumevaju pod tim.
Neki traze HTML(5)/CSS(3), neki uz to i Javascript, neki i jQuery, AJAX, neko trazi i znanje tipa Bootstrap ili nekog responsive framework-a.
Opet postoje i oni sto traze osnovno znanje PHP zbog loop-ovanja promenljivih, a neki sa druge strane traze Photoshop dodatno, tako da sve zavisi... :)
 
Ne zavisi, tacno se zna sta je frontend danas. Ako bi ga delili po nekim nivoima znanja, onda bi to bilo:
Prvi nivo: HTML5, CSS3, osnove JS-a
Drugi nivo: Touchresponsive kroz Bootstrap ili Foundation
Treci nivo: Napredni Javascript (jQuery, AJAX, javascript templejti, namenski dodaci za jQ, client-side validation itd.)
Cetvrti nivo: LESS, SASS, Bower, Grunt
Peti nivo: JS frejmvork poput EmberJS, Angular...

E sad, to sto Kurta i Murta pisu nebulozep o oglasima, to je nesto drugo.
 
Poslednja izmena:
Pa covek je pitao, ja sam kontao da pita zbog zaposljavanja sta podrazumevaju pod frontend developera. Isto tako ima jos oglasa gde se traze webmaster-i... :d
 
Pa covek je pitao, ja sam kontao da pita zbog zaposljavanja sta podrazumevaju pod frontend developera. Isto tako ima jos oglasa gde se traze webmaster-i... :d

... sto je termin za koji se, takodje, tacno zna sta podrazumeva. Webmasteri su u mdjuvremenu evoluirali u neke druge sfere. Nekada su to bili ljudi koji su samo radili odrzavanje sajtova (sadrzajno, iskljucivo!), danas je tanka sprega izmedju stvaranja sadrzaja i upravljanja nastupom na drustvenim mrezama. ALi u biti, to je obican content job.
 
Pozdrav ljudi,trebala bi mi mala pomoc oko jednog OOP zadatka.Zadatak je simulacija zdravstvene ustanove i radi se u OOP PHP-u,navescu samo deo koji mi nije jasan.

Karakteristike sistema zdravstvene ustanove su:
1.Doktor (ime, prezime, specijalnost) ima više pacijenata (ime, prezime, jmbg, broj
zdravstvenog kartona).
2.Pacijent moze da ima samo jednog doktora.

Jasno mi je da treba da napravim klase "doktor" i "pacijent",samo mi nije jasno kako se prave te restrikcije,da doktor moze da ima vise pacijenata a pacijent samo jednog doktora?
 
Na bazi? Veze 1:N i 1:1
 
Ne znam PHP ali se u nekim drugim programskim jezicima radi tako sto na strani Lekara imas listu objekata tipa Pacijenat a na strani pacijenta objekat Lekar.
 
3. Web programeri (backend programeri)

3.1 Sta, gde, kako, zasto?
Backend programiranje predstavlja pisanje programskog koda koji se izvrsava na serveru i obavlja odgovarajuce zadatke. Kod je struktuiran kroz funkcije, klase i njihove metode. Objektno ili proceduralno. Sva pravila koja vaze u programiranju, vaze i u Web programiranju.
Za pocetak, potrebno je da odaberete jezik. Ja ih znam nekoliko - PHP primarno, Ruby i delimicno JAVU. Sta cete izabrati zavisi od vas, sta vam lezi najvise ali PHP je dobar start. Lako se uci, ima jednostavnu, cistu sinaktsu, mozete sabirati babe i zabe i manje-vise uraditi sta god hocete. U roku od mesec dana mozete savladati osnove a onda krenuti dalje. PHP je takodje izuzetno dobro podrzan od strane komune, moze da se pokrene i na tosteru - po mom misljenju, dobar za pocetak.

Da li je PHP devojka za sve? Nije. U nekim malo kompleksnijim Web projektima u kojima sam ucestvovao, forsirana je JAVA. Nije bas da sam kontao zasto isprva ali kasnije sam shvatio vrednost celog okruzenja koju ona nudi. Sa PHP-om cete raditi 95% vremena ali, da, postoje i druge platforme koje mozda mogu i efikasnije da zavrse posao.

Sledeca stavka je alat - mnogi pitaju koji alat da koriste za Web. Odmah da znate - kod ne prave alati vec ljudi. Najsavrseniji editor vas ne cini boljim programerom. To je stvar licne preference - neki vole da imaju tonu ispomoci, automatsko zavrsavanje koda, bla trutj, ja volim jednostavnost (editor koji ja koristim, TextMate, je jako nalik na Notepad u kojem ovo i kucam). Tu i tamo poneka pametna stvar je pozeljna ali vremenom ce vas samo usporavati.
Nakon toga, sleduje okruzenje - ako ste se odlucili za PHP i MYSQL, potreban vam je aplikacioni server (iliti web server) poput Apachea ili nginxa, nakon toga i sam MYSQL server kao i instaliran PHP. Sve to, ukoliko niste vicni, mozete naci u mnogobrojnim LAMP tj. WAMP pakovanjima - Linux, Apache, MYSQL, PHP ili Windows, Apache, MYSQL i PHP. Instalacija ima jako mnogo, Google vam moze pomoci da ih nadjete. Idealni su za start i za pocetnike iz prostog razloga sto su ***** proof - instaliraju se iz 10 klikova i nema sanse da bilo sta pokvarite. Konfiguracione fajlove necete videti i nema zastrasujucih crnih terminala sto je za pocetnike savrseno.

Kao backend programer morate dobro poznavati i SQL. Kad kazem dobro ne mislim da umete na papiru da napisete kveri sa 15 LEFT JOIN-a vec da poznajete kako rade storage engini, koje tipove indeksiranja da koristite, kako pravilno da projektujete svoje tabele, da prepoznate spore kverije i da ih optimizujete itd. itd.

Moj savet - ucite linux. Ako zelite da budete dobri backend programeri, know how Linuxa je must. Ne morate da znate cemu sluzi svaki fajl, teoriju kernela i UNIX-a ali dobro poznavanje Linux operativnih sistema, strukture i kako rade je danas neophodno da bi bili dobar Web programer. Mnogi seniori, ili oni koji sebe tako zovu, nemaju dve blage o tome. Ne znaju kako rade aplikacioni serveri, ne poznaju osnovnu teoriju mreza. I samim tim su daleko manje efikasni i nisu u stanju da gledaju tri koraka unapred. Kako se danas sve hostuje na Linuxu (ili 95% stvari) tako je poznavanje te platforme zaista neophodno (cisto ako vam neko lupi neku banalnu stvar kao sto je cron job da ga ne gledate kao tele).

3.2 Dinamicke aplikacije
Kao sto ime samo kaze, pod dinamickom aplikacijom se smatraju one Web aplikacije u cijem sklopu se nalazi odgovarajuca baza. Ta baza sluzi za pohranjivanje odgovarajucih podataka kako bi se oni kasnije prezentovali korisnicima. Na primer, ovaj forum ili Benchmarkov sajt su tipican primer dinamicke aplikacije - kada kliknete na odgovarajucu sobu, izlistavaju vam se teme koje pripadaju istoj. Te teme se sastoje od odgovarajucih informacija poput naslova i sadrzaja i sve to je pohranjeno u bazu.

Da bi lakse razumeli kako to funkcionise, uzecu banalan primer koji oslikava jedan deo funkcionalnosti ovog foruma a to je pisanje odgovora na teme. Jedna tema se sastoji od gomile postova, te postove kucaju posetioci ovog foruma. Putem odgovarajuce forme vi unosite sadrzaj vaseg posta. Kasnije, klikom na odgovarajuce dugme taj sadrzaj se salje na server gde se obradjuje i, ako prolazi validaciju, smesta u bazu. Kada neko drugi dodje i klikne na temu, vas zahtev stize do servera (banalno receno) gde odgovarajuci serverski kod na osnovu ID-a teme zna koje postove da izvuce iz baze; na snagu stupaju delovi koda koji se bave tim delom funkcionalnosti, oni izvlace informacije iz baze i onda se one prezentuju vama u obliku na koji ste navikli. Dakle nije u pitanju nikakva misterija, stvar funkcionise vrlo prosto i jednostavno.

A sad malo plasenja - spomenuo sam termin "server-side" i objasnio da je to kod koji se izvrsava na serveru. Takodje postoji i "client-side" ciji se kod izvrsava na strani klijenta u browseru (Javascript) i taj kod je moguce videti prostim gledanjem fajlova. Danas se sve aplikacije pisu tako da postoji konstantna interakcija izmedju klijenta i servera koriscenje asinhrone komunikacije izmedju njih (AJAX). Uzecu GMail kao odlican primer - otvorite svoj inbox i iako niste uradili refrresh strane, pojavio se novi mail koji je neprocitan. To se desilo zahvaljujuci odgovarajucem kodu na klijentskoj strani koji je naterao vas browser da u pozadini posalje zahtev serveru (proveri ima li novih poruka) a server je dao odgovarajuci rezultat u vidu nove poruke u vasem mailboxu. Zasto sve ovo pisem - hocu da shvatite koliko delova moze da ima jedna aplikacija. Sa jedne strane, tu je klijent sa druge strane tu je serverski kod koji opsluzuje klijenta na zahtev i komunicira sa bazom.

3.3 Kako da krenem da ucim?
Na Internetu cete naci gomilu tutoriala ali ja bih isao sledecim koracima:
1. Familijarizacija sa sintaksom i programskim jezikom - naucite osnovne stvari, ne treba da znate svih 5 000 funkcija napamet
2. Kretanje od prostih primera - povezivanje na bazu, pravljenje osnovnih tabela i unos podataka u iste
3. Nadogradnja na osnovni primer - citanje iz tabela, manipulacija podacima (edit, delete)
4. Pravljenje sortiranja, filtriranja, pretraga
5. Kombincija svega toga sa korisnickim slojevima
6. AJAX

Napravite sebi mali projekat. Ja imam jedan koji sam napravio i koji koristim za ucenje svojih junior programera u firmi. Koncipiran je tako da krecete od osnovnih stvari ka sve slozenijim ali kako se napreduje kroz njega ne napreduje se samo programerski, vec i u nacinu razmisljanja i planiranja to je mnogo vaznije.

Imajte u vidu da i trenirani majmun moze da bude programer. Danas biti programer nije preterano tesko, ima ih tušta i tma (za one koji ne znaju sta to znaci, to znaci da ih ima ko pleve). Zahvaljujuci Internetu, svako danas moze da sedne i da postane PHP programer. Medjutim, da bi ste bili bolji programer stvari ne treba da gledate pravolinijski vec morate da ih posmatrate daleko sire. Programiranje je kreativan proces stvaranja stvari koji zahteva da uvek imate u glavi veliku sliku onoga sto pravite dok stvarate mali deo te celine. Stoga morate dobro da planirate kako cete nesto da uradite, morate imati strukturu koja ce sutra moci lako da se nadogradi. Jer ako nemate strukturu, nacicete se u velikom problemu sutra kada neko dodje i kaze "hajde da ovo izmenimo".

Dokumentujte sve sto radite. Programiranje je proces ludila. Za cetiri meseca kada budete gledali svoj kod, prva recenica koju cete izgovoriti je - na kojim sa ja drogama bio kad sam ovo pisao? Bar je ja cesto izgovaram. Nikad ne razmisljate isto i zato - dokumentujte sve.
Koristite MOZAK - ne oslanjajte se na alate i na rutinu. Svaki problem moze da se resi bar na 5 razlicitih nacina. Ako vam ne ide, menjajte pristup. Ako vam ne ide i posle promene pristupa, ceo koncept je ******. Ne budzite. Budz resenja su super na kratke staze ali su kao gomila nasumicno razbacanih protivpesadijskih mina po polju. Resavaju problem neprijatelja ali sutra kada rata ne bude, zelimo puno srece lokalnom stanovnistvu.

Ne budite robot. Kada radite nesto, uvek mislite o tome kakav ce to imati uticaj na ostatak sistema. Nemojte slepo da kucate kod i da otaljavate stvari.

Planirajte, planirajte i planirajte. Vi gradite sistem, ma koliko jednostavan da je, svaki sistem zahteva plan. Dobar plan znaci dobru organizaciju a to direktno utice na kvalitet i mogucnost buduce nadogradnje.

Mogao bih da vam napisem jos 400 A4 stranica o ovome ali nema svrhe - morate da probate sami i da prodjete gomilu prepreka koje postoje u ovom poslu da bi nesto i naucili ali se nadam da ste shvatili sustinu.

EDIT: napisacu jos nesto - sta da radite kad savladate osnove. Kad uspete da savladate svoj prvi projekat, mozete sebe da nazovete 1/2 junior programerom. To znaci da umete da baratate sa osnovnim MYSQL kverijima, da znate neke osnovne stvari. Onda pokusajte da uvecate vas projekat, da ga ucinite slozenijim i kompleksnijim i da se izborite sa tim. Uporedo krenite da se bavite samim konfigurisanjem okruzenja (php, mysql, apache), pocnite da ucite kako rade, kako se prema vasim potrebama konfigurisu (da, sistemi se uvek zasebno šteluju prema potrebama aplikacije koju pisete); naucite kako mozete da iskoristite prednosti operativnog sistema na kojem ce aplikacija da se hostuje. Prosto, pokusajte da napredujete u tom segmentu optimizacije samih servisa. Nakon toga, nadjite knjigu koja se zove "High performance MYSQL" i naucite je od korica do korica napamet, tako da je znate u po dana u po noci i pokusajte to da primenite u praksi.

Nakon toga ili uporedo bih preporucio sto bolje upoznavanje sa principima asinhrone komunikacije i sta sve moze da se uradi / skrati / poboljsa / unapredi potenciranjem JavaScripta u odnosu na cist serverside kod.

EDIT: Sticajem okolnosti pokrenuta je online IT zjednica pod nazivom Devops (www.devops.rs) na kojoj je moguce postavljati pitanja i dobiti odgovore direktno od profesionalaca koji su dosta dugo u industriji.

Izvinjavam se sto kasnim, samo bi hteo da pitam Kudtihaex-a da malo detaljnije pojasni koja su sve znanja o linuksu neophodna, tj. sa cime sve treba da se ovlada. Skoro sam presao na linux pa gledam da se usavrsim :)
 
Poslednja izmena:
Na ovu temu sam,igrom srecnih okolnosti,dosla danas.Sve pohvale za ovako divnu temu.Ovako nesto mi je bilo preko potrebno!...U ovim vodama sam oko godinu dana i na to me muka naterala...Imam jedan zavrseni fakultet,ali ne i posao...Ucila sam od kuce,sama,kako sam znala i umela...Bicu uz ovu temu i rado pratiti svaki post.Pozdrav za sve ucesnike-zasluzujete svaku pohvalu.
 
Nije ovo bas tako aktivna tema da bi ti bila od koristi.
 
Nije bas najaktivnija tema,ali je ipak koliko-toliko aktivna...Ponekada je nekome potreban savet u par recenica,i tih par recenica je dovoljno da resi neke nedoumice.
 
Izvinjavam se sto kasnim, samo bi hteo da pitam Kudtihaex-a da malo detaljnije pojasni koja su sve znanja o linuksu neophodna, tj. sa cime sve treba da se ovlada. Skoro sam presao na linux pa gledam da se usavrsim :)

Cao, izvini ali ne postizem da napisem adekvatan odgovor na tvoje pitanje, previse obaveza. Potrudicu se u narednih par dana da ti odgovorim.
 
Jeste, radimo na redizajnu i promeni platforme. Nakon toga cemo aktivno krenuti u razvoj zajednice!
 
Opusteno, nije frka. Odgovori kada nadjes vremena nije nista hitno :)
Hvala :)

Evo posto sam nasao pola sata pred spavanje, da ti odgovorim. Sav hosting se radi na Linuxu i deploy aplikacija je obicno posao senior developera i tehnicara koji znaju sta rade. Danas je to manje-vise automatizovano koriscenjem razlicitih vrsta alata poput GIT-a, Continious Implementation servisa i Docker kontejnera (o tome cu pisati u skorijoj buducnosti na svom blogu cim stignem :)).

Kako je Linux u 99% slucajeva prirodno staniste Web aplikacija, pozeljno je da jedan developer poznaje osnove Linuxa, nacin funkcionisanja i komande. Cinjenica je da danas ne mozes ni da krenes da programiras nesto, a da pre toga ne sidjes u terminal i otkucas par komandi, pa makar se to svelo na:
Kod:
cd /home/Igor/Sites
apt-get install composer
composer create-project laravel/laravel your-project-name --prefer-dist

ili na...
Kod:
git init
git remote add origin .....
git pull origin master

Jako cesto su Web aplikacije zavisne od alata koji su dostupni samo u sistemskoj konzoli i nekada ih je potrebno pozvati direktno (recimo, alat za konverziju audio fajlova). U tom slucaju je esencijalno poznavati Linux kao operativni sistem, sistem dozvola (sta znace one silne sedmice i petice i sl). Ako si PHP programer, onda je to nesto sto mora ici u paketu sa "ja znam PHP" jer je PHP i ceo stack na kojem se on vrti (PHP(FPM), Apache (nginx), MYSQL) zavistan od Linuxa. Sto bolje poznajes linux kao operativni sistem, to ces bolje moci da razumes kako da sto bolje sebe zastititis, kako se tovja aplikacija moze skalirati, kako mozes da je debagujes u realnom vremenu koristeci sistemske alate i sl.

Ja sam imao skoro jednog deva koji nije znao niti jednu jedinu komandu (ok, ja sam covek iz doba DOS-a ali brate mili da ne znas cd, cp i mv to je neverovatno) i mogu ti reci da mu je islo uzasno tesko. Nikako nije mogao da shvati kako to radi, sta se gde nalazi, ma haos. Na kraju je dobio Linux Basics casove :)

Izvini ako je odgovor malo s' brda, s' dola ali imao sam vrlo naporan dan. Ako imas jos neka pitanja, udri :)
 
Poslednja izmena:
E matori puno ti hvala. Shvatio sam o cemu se radi i na koji nacin treba da razmisljam sto mi je vrlo bitno :) Vazi, ako naidjem na jos neku nedoumicu postavicu pitanje ovde :)
 
Citajuci ovu temu zakljucio sam da mi je za neki osnovni rad potrebno znanje PHP, HTML i CSS. Da li sam dobro shvatio ili mozda gresim?
Gde biste mi preporucili da upisem casove za neke od navedenih programa, posto verujem da se ne stice svuda isto znanje i koliko otprilike kosta da dobijem sertifikat?
 
^ i na to dodaj SQL ☺
 
Citajuci ovu temu zakljucio sam da mi je za neki osnovni rad potrebno znanje PHP, HTML i CSS. Da li sam dobro shvatio ili mozda gresim?
Gde biste mi preporucili da upisem casove za neke od navedenih programa, posto verujem da se ne stice svuda isto znanje i koliko otprilike kosta da dobijem sertifikat?

Gugl je tvoj najveci prijatelj,zaboravi casove i sertifikate..gubljenje vremena i novca..

pocni od Lynda.com,Tuts plus,Code school...

Imas terabajte i terabajte materijala po torentima..

Sve najbolje u ucenju!
 
Nazad
Vrh Dno