Arhiva za ‘programiranje’ tag
Khan Akademija konačno pokreće edukacioni program za oblast kompjuterske nauke
Khan Academy, koji je fantastičan izvor besplatnih obrazovnih alata i video instrukcija, objavila je da će konačno pokrenuti vlastitu seriju video tutoriala koji će pokrivati oblast kompjuterskih nauka.
"Ovaj projekat će otvoriti širom vrata obrazovanju iz oblasti kompjuterskih nauka. Imam osećaj da će za ljude on biti izuzetno zabavan. Radi se o potpuno novoj platforma koja je usmeren na ljude bez ikakvog programerskog znanja i kojima će moći ponuditi angažovanje i zabavno okruženje za učenje. Pre svega, želimo smo da naglasimo kreativnost i istraživanje kao i da ih učinimo pristupačnim za osobe svih uzrasta, uključujući i decu”, izjavio je JavaScript guru, John Resig.
Novi edukativni program sada obuhvata kurseve vezane za osnove programiranja, upoznavanje sa JavaScript, animacije i korisnička interakcija.
Pored video tutorijala, program donosi i dinamična polja za unos teksta koja omogućavaju učeniku da vide rezultate svog programiranja u realnom vremenu, dok kuca kod. Khan Academy navodi da napredovanje kroz kurseve takođe može biti sačuvano.
Program će biti usmeren na ljude koji su prethodno koristili matematičko-naučna videa i drugi materijala Khan Academy.
Khan akademija će se tako pridružiti niz drugih organizacija kao što su Codecademy, Google i W3C, u naporima da se ljudima omogući da što bolje shvate programiranje. W3C W3schools nudi osnovnu online obuka za većinu Web tehnologija kao što su HTML, CSS, JavaScript i drugi. Google-ov Code University nudi kompletne osnovne kurseve C ++ i Python.
Salman Khan, osnivač akademije, počeo je da pravi YouTube tutorijale još 2006 godine kako bi pomogao mlađim članovima svoje porodice da se izbore sa problemom zvani matematika. Danas, Khan Akademija predstavlja poštovan i inovativan način online edukacije svih uzrasta iz različitih oblasti. Njegova YouTube biblioteka obuhvata hiljade videa koji su zajedno dobili više od 174 miliona prikaza.
Codecademy korisnicima sada nudi online kurs Python jezika
Codecademy, jedna od najsjajnijih zvezda "Naučite da kodirate" pokreta koji ima na milione pristalica, od augusta prošle godine nudi besplatne online kurseve za tehnologije kao što su JavaScript, jQueri, HTML i CSS. Ovu su prema opštom mišljenju najlakši jezici sa kojima se može početi, ali oni ne nude iste mogućnosti kao neki moćan serverski jezik. Sada je Codecademy odlučila da pokrene kurs Python jezika.
Suosnivač Codecademy Zach Sims, naglašava da je Python jedan od jezika koje je ova zajednica najviše tražila, a tehnologija iza implementacije se testira još od januara meseca. Codecademy je otkrila da pokretanje Python i Ruby klijentske strane dovodi do beskrajnih problema, pa je stoga morao biti razvijen poseban način za pokretanje serverskog koda, što je navodno postignuto uz pomoć drugih jezika kao što su Ruby i PHP.
S obzirom kako se ponuda Codecademy kurseva za programiranje širi, očito se sve vipe približava održivogm rešenju za transformaciju entuzijaste u obrazovanog programera. Ovo, u kombinaciji sa servisom koji liči na igralište, kao što je Programr, dodaje prilično moćnu stvar a to je sposobnost da se nauči kodirati i to bez napuštanja vašeg preglednika.
Naporno smo radili na jednom od najtraženijih jezika, Python! Radi se o odličnom izboru za širok spektar primene u različitim industrijama. Osim toga, njegova čista, čitljiva sintaksa čini ga jednim od najprimamljivijih za programere početnike. Sa Python, zaboravite na svu onu gomilu zagrada i zareza koji se sreću u ostalim jezicima,
navodi Codecademy u svom saopštenju.
Do sada je nekoliko miliona Codecademy korisnika submit-ovalo "preko 100 miliona odgovora" što nedvosmisleno govori da rade nešto dobro. Prijavite se i vi besplatno na Codecademy Python kurs.
Prednosti koje HTML5 nudi developerima
Ako želite da poboljšate svoje rangiranje u pretrazi, imate bolju podršku mobilnih čitača i transformišete svoj proces razvoja, onda je došlo vreme da integrišete HTML5 u svoj Web rad. HTML5 je zbirka od definicija, koja ne samo da obuhvata HTML standard već i CSS3 (Cascading Stile Sheets), JavaScript, multimedijalne kodeke i SVG (Scalable Vector Graphics) koji rade zajedno kao jedno kompaktno okruženje.
HTML5 možda trenutno i nije pravo rešenje za svaku organizaciju s obzirom da u obzir treba uzeti određene okolnosti koje podrazumevaju detaljno poznavanje pretraživača krajnjih korisnika (ne podržavaju svi pretraživači HTML5 a neki ga podržavaju samo delimično), poznavanje elemenata HTML5 i ciljeva koje organizacija ima po pitanju svog Web prisustva.
Generalno, sigurno da je došlo vreme za većinu developera da krenu sa usvajanjem HTML5 koji ima četiri izuzetno velike prednosti koje ćemo sada predstaviti.
Brže preuzimanje fotografija, posebno za mobilne korisnike
Kod dizajniranja Web strana, "gradient" je efekat za pozadinu, suptilno nijansiranje ili tekstura pozadine na kojoj se vaš web sajt prikazuje. Dizajneri ulažu mnogo truda u balansiranje nijansi i ostalih stvari za koje koriste veliki broj stilova čije efekti su za većini gledalaca važni ali ih mnogi i nisu nesvesni.
Pre nego HTML5, pozadina je morala biti postavljena slika. Photoshop, na primer, ima "Gradient Tool" koji se u velikoj meri koristi za konstruisanje slike u pozadini za upotrebu kao "gradient". Ovo se pokazalo neverovatno uspešno u smislu da svaki kompetenti web dizajner najčešće primenjuje "gradient" realizovan kao pozadinska slika.
HTML5 ovo menja. CSS3 u HTML5 izražava "gradient" semantički, tj. ne izražava ga kao sliku. Evo primera:
.gradientArea { background: -o-linear-gradient(#FFB260, #FF7F13); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffb260’, endColorstr='#ff7f13’, GradientType=0); } }
Detaljna sintaksa ovog primera, ili njegovo renderovanje u blago-osenčen narandžasti pravougaonik, nije toliko važna, važno je njegovo izražavanje kroz reči a ne kroz sliku. Ovo je mnogo kompaktnije rešenje s obzirom da su CSS3 Gradient specifikacije obično teške nekoliko stotina bajtova, dok se težina pozadinske slike meri hiljadama bajtova. Takođe, transmisija CSS3 gradijent ne zahteva otvaranje drugog fajla što je veoma bito kada se ima u vidu činjenica da mnogi posetioci dolaze na sajt putem mobilnih uređaja i sa manjim propusnim opsegom mobilnih pretraživača.
Web dizajneri treba da rade isto što su radili i do sada, koriste Photoshop Gradient Tool s tom razlikom da sada izvoze u CSS3 a ne u HTML4 ili XHTML. To neće doneti nikakve promene u onome što krajnji korisnik vidi u svom pretraživaču ali ćete s druge strane postići mnogo brže preuzimanje. Važno je reći da je mnogo lakše prilagoditi CSS3 gradient različitim veličinama ekrana, što je itekako velika stvar za vaše posetioce koji na sajt dolaze koristeći mobilne uređaje sa različitim veličinama ekrana.
Treba reći i da CSS3 podrška za gradient donosi nove nivoe programabilnosti. Pa se tako gradients na primer može podesiti na osnovu starosti ili lokacije gledaoca.
Sve u svemu, ključna stvar HTML5 je semantičko izražavanje gradient-a koje čini da je preuzimanje mnogo brže, prilagođavanje zahtevima mobilnih uređaja mnogo lakše a uz to i održavanje je jeftinije.
Poboljšan SEO
CSS3 izrazi imaju i nekoliko drugih uobičajenih grafičkih efekata među kojima i providnost (opacity), zaobljeni uglovi i padajuće senke. Svaki od njih baš kao i CSS3 gradient donosi prednost u kompaktnijem upload-u i lakšem održavanju na različitim platformama. Oni takođe uvode i pogodnosti kod optimizacije za Internet pretraživače (SEO). Ovo svakako zaslužuju malo bolje objašnjenje.
Da bi razumeli implikacije na SEO, vratimo se na trenutak “gradients”. Još jedna tehnička prednost CSS3 gradients jeste njegova mnogo veća kompatibilnost sa source-code control systems (SCCS). Pre CSS3, gradient je doživljavan kao slika. Promena slike nije značila ništa posebno, sam SCCS samo je zapisao da je do promene došle, uz eventualne komentare o promeni.
Sa CSS3 semantičkim označavanjem gradient-a, SCCS može raditi sa tekstom koji izražava gradijent. Pa tako SCCS može automatski izvestiti da je u određeno vreme promenjena nijansa boje (Hue) gradijenta, ili njen intenzitet, u formatu kao što je ovaj:
< background: -o-linear-gradient(#FFB260, #FF7F13); — > background: -o-linear-gradient(#FFB260, #FF3F13);
Za programere ovo je veliku pogodnost. Alatki koje koriste za upravljanje izvornim kodom (source-code) proširuje se mnogo prirodnije na grafičku konstrukciju web dizajna. Ova prednost još više dolazi do izražaja kod providnosti i drugih CSS3 označavanja.
Pretpostavimo da je neka kompanija stilizovala svoje ime sa efektima prozirnosti na svojoj početnoj web stranici. Pre CSS3, to je mnoglo da se uradi sa Adobe Photoshop ili nekim sličnim alatom, a rezultat je bila slika koja prikazuje ime kompanije sa određenim efektima prozirnosti. Međutim, za Internet pretraživače sadržaj te slike bio je potpuno nevidljiv jer oni samo mogu da vide da je u pitanju slika ali ne i ono šta je u njoj.
Ranije se dešavalo da se neke web stranice ne pojave u rezultatima pretrage upravo zato što su pretraživači na njima videli mnogo manje tekstualnog sadržaja od ljudskih čitalaca. CSS3 je sada to promenio. CSS3 omogućava da se mnogo više tekstualnog sadržaja na stranici prikaže kao tekst i to zajedno sa efektom prozirnosti, 2D i 3D efektima, i ostalim.
Implikacije za SEO su dovoljno jasne. Lepota vaše web stranice ne znači ništa ako je niko ne vidi, stoga zašto insistirati na starijim stilovima grafičke implementacije koji čine da previše vašeg sadržaja bude nevidljivo za pretraživače.
Sofisticirani efekti animacije
HTML5 je pun individualnih funkcionalnosti sa karakteristikama koje smo već objasnili. Koristeći HTML5 web dizajnerima će postići isti izgled koji bi postigli i da ne koriste HTML5 ali sa značajno manjim troškovima, postigli bi veću brzinom učitavanja, uz prednosti za SEO i održavanje koje donosi semantičko označavanje.
HTML5 takođe uvodi efekte animacija. Za sofisticirane efekte animacije, dizajneri su se najčešće okretali Flash-u. Nedostaci koje ima Flash dobro su poznati svim web dizajnerima, neki od njih su:
-
Pretraživači skoro da ga i ne indeksiraju
-
Apple iOS i neki drugi operativni sistemi ga ne podržavaju
-
Njegov profil bezbednosti i licenciranje ograničavaju njegovu upotrebu u mnogim organizacijama
S druge strane, koristeći HTML5, relativno sofisticirane vizuelne animacije postaju dostupne kao semantičke animacije.
Lakši razvoj aplikacija
Konačna prednost koju HTML5 nudi jeste da je dovoljno bogat kao programsko okruženje da može da se takmiči sa ostalim “native” aplikacijama. Ovo je posebno važno za korisnike mobilnih uređaja. Razvoj “native” aplikacije je dosta skupo, programeri su skupi, licenciranje je skupo a portabilnost predstavlja pravi izazov. HTML5 je toliko moćan da mnoge aplikacije mogu efikasno biti u potpunosti kodirane sa HTML5.
Razmotrite nekoliko njegovih prednosti:
-
Automatska pokrivenost od strane pretraživača
-
Neposredan pristup do krajnjih korisnika, bez potrebe za instaliranjem bilo čega
-
Jedinstvana baza Koda za desktop računare, mobilne uređaje i daljinsku (remote) kućnu ili kancelarijsku upotrebu.
Na izgradnji HTML5 radi se godinama, mnoge njegove definicije obuhvataju najvažnije delove izgradnje web sajta čineći ih dostupnim kao semantičko označavanje (semantic markup) i razumljiv API. Inteligentna upotreba HTML5 omogućiće vam brži download, mnogo bolje rangiranje na stranicama rezultata pretraživanja kao i znatno lakši razvoj vaših projekata.
Naučite HTML i CSS besplatno sa Codecademy
Izuzetno popularni web sajt za interaktivno učenje kodiranja, Codecademy, pored JavaScrip nudi i tečajeve za HTML i CSS.
Ako želite naučiti HTML, možete početi s HTML Codecademy 101 tečajevima. Sajt je interaktivan i vodiće vas kroz lekcije kodiranja i to potpuno besplatno.
Ovo su prvi tečajevi na sajtu izvan JavaScript-a, a osnivači ističu da je prve tečejeve pohađalo više od milijun korisnika.
Zach Sims, jedan od osnivača Codecademy naglašava da kompanijin projekt Code Year, kojem je cilj da se što većem broju ljudi u 2012 godini približi kodiranje, trenutno ima gotovo pola milijuna tjednih sudionika.
Zach Sims i njegovi kolege se nadaju da će sa ovim načinom učenja učinit sajt i lekcije još jednostavnijim za početnike koji žele na najlakši način naučiti programirati. Codecademy i programiranje je namjenjeno za sve i svakoga, jednostavno učenje bi trebalo svakoga potaknuti da dodatno individualno angažiranje po pitanju daljnjeg učenja.
Treba reći da su tečajevi korisnički generirani putem Creators značajke na sajtu koja omogućuje da provjereni profesionalci kreiraju lekcije na Codecademy platformi. Tečaj HTML101 kreiran je od strane Andy Ebi Haydar.
Naši tečejevi se koriste u raznim vrstama učionicama. Dobili smo e-mailove potpore i pohvale od nastavnika iz osnovnih, srednjih pa čak i visokih škola. Nadamo se da će HTML i CSS biti izvrsna dopuna tečajevima koje već koriste,
priopćio je Zach Sims.
Codecademy pokrenut je u kolovozu prošle godine i vrlo brzo je privukao veliku pažnju zajednice programera. Tim koji stoji iza Codecademy projekta do sada je uspjeo privući 2,5 milijuna dolara investicija.
Za 5 godina aplikacije kreirale 500.000 radnih mjesta u SAD-u
Za industrijsku granu koja do 2007 godine nije ni postojala (Apple predstavio iPhone), “App ekonomija” je izuzetno napredovala u ovih pet godina. Nova studija kompanije TechNet procjenjuje da je u Sjedinjenim Američkim Državama blizu pola milijuna radnih mjesta stvoreno zahvaljujući “App ekonomiji”.
Prema procjenama glavnog analitičara ove studije, dr. Michael Mandel, u zadnjih pet godina nastalo je 466.000 novih radnih mjesta u oblasti kreiranja aplikacija za smart uređaje. Dobro poznata kompanija Zynga, izgradila je svijetsku reputaciju i malu imperiju sa svojim aplikacijama. Izuzetan doprinos u popularizaciji aplikacijskih poslova svakako imaju Google, Apple i Facebook a ne treba zaboraviti kompanije poput AT & T, Amazon i Electronic Arts.
Osim radnih mjesta, aplikacije su donijele značajnu zaradu programerima. Prema nekim procjenama, aplikacije su zaradile gotovo 20 milijardi dolara u 2011 godini. Ključni platforme za razvoj aplikacija su Android, iOS, BlackBerry, Facebook i Windows Phone.
Zanimljiv detalj nalazi se u dijelu “Sizing the App Economy”, prema kojemu su treće strane koje rade na razvoju aplikacija za Facebook kreirale 182.744 radna mjesta SAD-u. Potražnja za aplikacijskim programerima porasla je za 45% u posljednjih godinu dana.
Programeri koji rade na razvoju aplikacija spadaju u drugu najveću skupinu u IT sektoru. Ispred njih je samo prilagođeno računalno programiranje koje prema posljednjim podacima u SAD-u zapošljava više od 600.000 ljudi.
Sve je ovo prilično impresivno za industrijsku granu koja postoji nepunih pet godina. Ova industrija je u velikom zamahu, njena popularnost je toliko velika da je pojam “app” proglašen za riječ godine 2010 od strane American Dialect Society.
Kako najlakše naučiti programirati?
Da li želite znati napraviti igru za Android ili temu za svoj blog? Imate dobre ideje ali vam nedostaje znanje programiranja kako bi ih mogli realizovati? Za one koji su početnici i koji žele da nauče da programiraju a ne znaju odakle da počnu, navest ćemo nekoliko besplatnih načina koji ne zahtjevaju ništa drugo osim malo vremena i truda za učenje.
Umjesto da budete vezani za određene programske jezike i određeni operacijski sustav, možete se okrenuti web programiranju i web aplikacijama.
Prva stvar koju trebate znati za pravljenje bilo kog web sajta je HTML i CSS koji nisu pravi programski jezici već su samo struktura stranica i informacije o stilu. Međutim, trebali biste poznavati osnove HTML i CSS-a prije nego što počnete sa pravljenjem web aplikacija. HTML je sjajan način da se malo bolje upoznate sa kodom a nakon toga, sigurno nećete imati ni većih problema sa CSS-om. Ovaj HTML tutorial je dobro mjesto za početak.
Nakon što sto savladali osnove HTML i CSS-a, znate napraviti statičku web stranicu, stvari postaju mnogo zanimljivije jer je vrijeme da se upoznate sa JavaScript. JavaScript je programski jezik za web preglednik koji daje dinamičnost web stranicama. Odličan početak za učenje JavaScript-a je w3schools.
Nakon savladanih osnova naša preporuka za nastavak učenja je Codecademy, koja sebe deklariše kao “najlakši način za učenje kodiranja”, i zahvaljujući ovom online projektu mogućnost učenja kako kodirati nikada nije bilo tako dostupno kao sada. Codecademy vam omogućuje da naučite osnovne sintakse kodiranja kroz osam jednostavnih lekcija koje vas uče varijablama, stringovima, poljima, if-else izjavama, incremeningt i decrementing kao i while petljom. Nakon što završite sa osnovnim lekcijama možete nastaviti sa četiri dodatne lekcije koje se fokusiraju na JavaScript.
Codecademy je dobar alat sa kojim možete da proširite svoje vidike po pitanju programerske logike i strukture programiranja. Codecademy kao motivaciju za učenje koristi bedževe koje korisnik dobiva nakon svake završene lekcije. Pogledaj kompletan post »
Google Dart novi programski jezik za strukturirano Web programiranje
Google je izgradio potpuno novi programski jezik za "strukturirano Web programiranje", nazvan Dart.
2009 godine Google pokrenuo Go, jezik dizajniran za pisanje poslužiteljskog softvera i upravljanje drugim poslovima. Novi programski jezik Dart biti će predstavljen sljedeći mjesec na Goto međunarodnoj konferenciji za razvoj softvera.
Dva Google inžinjera će imati ulogu Dart prezentera. Prvi je Gilad Bracha, koji je dizajnirao programski jezik Newspeak koji je dosegao već svoju 3 verziju. On je također koautor Java Language Specification a radio je i u SAP Labs, Cadence i Sun Microsystems.
Drugi je Lars Bak, vođa tima koji je napravio V8 engine Chrome preglednika. V8 je izgrađen u Aarhusu, Danska, gdje će se Goto konferencija održati u listopadu. Lars Bak ima određene specijalnosti u virtualnim strojevima, software foundations koje djeluju poput računala koja pokreću jezike više razine.
Teško za dizajnirati novi programski jezik a još teže ga je afirmirati. Međutim, isplativos može da se ogleda u većoj produktivnosti programera i učinkovitijem pokretanju softvera. Google ima dovoljno programera koji prave dovoljan broj programa da kompanija može sama učinita da novi programski jezik donekle postane relevantan. Sa tako veliom računalnom infrastrukturom, sve što povećava učinkovitost potrošnje energije, odnosno poboljšava fleksibilnost računalne fondacije, može se isplatiti izravno sa manjim računima za struju i većom pouzdanošću.
Nekoliko saveta programerima početnicima
Sami rešite svoje probleme – Postoji ogromna razlika između nekoga dobije rešenje problema i onoga ko sam reši problem. Kada naiđete na neki problem pri programiranju, jeste najlakše pitati druge za savet, ali to za vas lično nije najbolje rešenje. Kada sami rešite problem, ne samo da ste rešili taj problem već ste rešiti i milione sličnih problemima i stekli određeno znanje za rešavanje takvih problema. Ponekad ćete provesti dva ili tri dana rešavajući neki problem, ali ono što će te dobiti njegovim rešavanjem je neprocenjivo. U slučaju da nikako ne pronalazite rešenje, onda se posavetujte sa ostalim programerima na forumima ili nekim drugim online zajednicama.
Počnite sa malim programima – Kada kažem mali program, mislim na nešto do 100 linija koda. Postoji mnogo knjiga sa primerima koje vam mogu poslužiti za vežbu. Pronađite neke lakše primere i počnite da ih radite. Nakon nekog vremena vežbanja, shvatićete da se vaša logika menja i da imate drugačiju percepciju programiranja.
Analizirajte tuđe programe – Pronađite neki program koji vam se sviđa i probate sami da ga napravite. Tom prilikom analizirajte određena rešenja koja su u tom programu primenjena, to će vam dati određeno znanje i kreativnost koje će te moći kasnije primenjivati u svojim vlastitim projektma.
U svakom projektu primenite nešto novo – Svaki novi projekat je prilika da primenite nešto novo, nešto što do tada niste radili. Na primer, ako nikada pre niste koristili JQuery, pokušajte ga uklopiti u svoj sledeći projekat.
Budite član neke zajednice programera – Biti član neke online zajednice može biti od višestruke koristi. Prvo, moći će te vidjeti na koje probleme drugi programeri nailaze, kako rešavati određene probleme, tražiti savete od drugih, davati savete i rešavati probleme drugih. Družeći se u sklopu ovakvih zajednica, osim znanja možete steći i određenu reputaciju ali i pronaći poslove za koje možete konkurisati.
10 načina da poboljšate svoje programiranje
Naučiti novi programski jezik
Učenjem novih programskih jezika uvidjet ćete nove načine razmišljanja, pogotovo ako novi jezik koristi paradigme koje do tada niste upoznali. Novi način razmišljanja koji naučite može primijeniti na jezike koje već znate, a možda čak i poželite početi koristiti novi jezik za ozbiljne projekte.
Veliko iskustvo i znanje možete steći sa kvalitetnim jezicima poput Forth, PostScript, Factor, Haskell, Prolog ili Erlang.
Čitanje kvalitetnih knjiga
Veoma mnogo se može naučiti iz knjiga. Iako je praksa važna, čitajući neku od stvarno dobrih i izazovnih knjiga za programiranje može biti odličan trening za vaše razmišljanje. U takve knjige spadaju na primjer: “Art of Computer Programming“, „Structure and Interpretation of Computer Programs (SICP)“, ili pak „A Discipline of Programming“.
Naravno, možete početi i sa manje zahjevnim knjigama, ali svakako treba da izbjegnete knjige poput “for Dummies”, ili one koje vas uče nešto “u roku od 24 sata” ili “za 21 dan”, jer od takvih knjiga ćete dobiti vrlo malo u smislu poboljšanja vještine programiranja.
Pridružite se open source projektu
Prednosti ulaska u open source projekt su da ćete raditi s drugima, što je dobra stvar u slučaju da ste ranije radili samostalne projekte, a takođe ćete morati istraživati i naučiti da razumjete nepoznatu bazu koda, što može predstavljati veliki izazov.
Razne projekte možete pronaći na sajtovima kao što GitHub, SourceForge, gitorious, BitBucket ili Ohloh./p>
Riješavanje programerskih problema
Postoje mnogi programirski problemi čijim riješavanjem stičete dodatno iskustvo i rutinu. Matematički problemi mogu se naći na Project Euler, koji je vjerojatno najpopularniji sajt ovoga tipa.
Probleme u programiranju koje ostali programeri pokušavaju riješiti možete pronaći na codegolf.stackexchange.com.
Ovako nešto vam može pomoći da naučite mnoge posebne značajki jezika, a takođe i da razmišljate kreativnije o kodiranju nego ranije.