IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Soutěž: Machr na JavaScript - Vývoj aplikací pro Firefox OS

Soutěž již skončila

Zadání

Přináším vám nového machra od Michala Vašíčka:

Ahoj, vítám vás u dalšího Machra, tentokrát na Javascript a PHP. Budete se zabývat vývojem
správy knihovny pro Firefox OS, který je v současné době na síti celkem diskutovaný. Vaším
úkolem bude vytvořit rozhraní pro správu vašich knížek. Soutěž bude rozdělena na dvě kategorie -
JS a JS+PHP. Odevzdávejte zazipovaný projekt, nikoli zkompilovanou aplikaci.

Co je to správa knihovny?
Správa knihovny je databáze vašich knih obsahující název, autora, nakladatelství, rok vydání a
ISBN, popř. další informace o knize. K dispozici musí být řazení, filtrování, úprava a mazání knih.

Zadání JS kategorie
Úkol je prostý - vytvořte správu vaší knihovny pouze pomocí JS, HTML a CSS tak, aby nebylo
třeba připojení k internetu. Můžete k tomu využít libovolný framework (jQuery aj.), veškerá API
která vám nabízí Firefox OS (kromě těch, která využívají fyzické předměty, např. WebNFC), pouze
nesmíte z internetu stáhnout ani bajt.
Za účast v JS kategorii můžete získat placku Machr na Javascript.

Zadání JS+PHP kategorie
Úkol je též prostý - vytvořte správu vaší knihovny pomocí JS, HTML a CSS a vašeho vlastního
PHP API, které vrací výsledky v JSONu. Můžete využít libovolný framework (jQuery aj.), veškerá
API která vám nabízí Firefox OS (kromě těch, která využívají fyzické předměty, např. WebNFC), z
internetu smíte stáhnout pouze odpověď od API (a poslat na něj dotaz), veškerá ostatní data, např.
jQuery musí být uložena přímo v aplikaci.

Za účast v JS kategorii můžete získat placku Machr na Javascript nebo Machr na PHP - stačí si
vybrat.

Hodnocení JS kategorie
Vyhotovení zadání = +50 bodů
Komentovaný kód = +5 bodů
Přehledný kód [odsazování, řádkování...] = +5 bodů
Používání onclick, onhover a jiných atributů volajících JS = -5 bodů
Používání pouze vlastního kódu (jQuery aj. není vlastní kód) = +5 bodů
Další atribut knihy = +1 bod
Další funkce knihovny = +5 až +20 bodů

Hodnocení JS+PHP kategorie:
Vyhotovení zadání = +50 bodů
Komentovaný kód = +5 bodů
Přehledný kód [odsazování, řádkování...] = +5 bodů
Používání onclick, onhover a jiných atributů volajících JS = -5 bodů
Používání pouze vlastního kódu (jQuery aj. není vlastní kód) = +5 bodů
Další atribut knihy = +1 bod
Další funkce knihovny = +5 až +20 bodů
Přihlášení = +10 bodů
Využití textových souborů k uložení dat = -20 bodů
Sdílení knih (email, sms...) = +5 bodů
Získání informací o knize z ISBN (práce s dalším API) = +20 bodů
Export a import = +10 bodů

Úspěšný řešitel má minimálně 51 bodů. Pokud si něčím nejste jisti, raději se zeptejte.

Výhra

Vítěz dostane placku a ocenění do portfolia.

Výhra

Výsledky

Soutěže se nikdo nezúčastnil.

Aktivity
Avatar
Zdeněk Pavlátka:9.6.2015 19:22

V tomto machrovi od [me|]1760[/me|] si vyzkoušíte tvorbu aplikací pro Firefox OS.

Soutěž končí 15.6.2015 23:59:00, tak se nezapomeň zapojit! :-)

Editováno 9.6.2015 19:23
Odpovědět
9.6.2015 19:22
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Ondrca
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Ondrca:9.6.2015 19:27

Tak tenhle machr se mi líbí, jestli vyjde čas, tak to zkusím :)

Editováno 9.6.2015 19:28
Nahoru Odpovědět
9.6.2015 19:27
Zase jsem o něco chytřejší
Avatar
Odpovídá na Zdeněk Pavlátka
Zdeněk Pavlátka:9.6.2015 19:29

Ze zadání nějakým záhadným způsobem zmizely konce řádek :` Asi vyšší magie...

Nahoru Odpovědět
9.6.2015 19:29
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Ondrca
Tvůrce
Avatar
Ondrca:9.6.2015 19:55

[me|]1760[/me|] - má si ta aplikace pamatovat knihy, aby se po restartu aplikace nemuseli zadávat znova? :D

Nahoru Odpovědět
9.6.2015 19:55
Zase jsem o něco chytřejší
Avatar

Člen
Avatar
Odpovídá na Ondrca
:9.6.2015 20:02

Ano, má :-)

 
Nahoru Odpovědět
9.6.2015 20:02
Avatar

Člen
Avatar
:9.6.2015 20:05

!!!ZADÁNÍ!!!
Pokud byste někdo chtěli dobré bodování, tak než to David opraví, původní zadání v .pdf najdete na http://michalvasicek.me/machr.pdf

 
Nahoru Odpovědět
9.6.2015 20:05
Avatar
Odpovídá na
Matúš Petrofčík:9.6.2015 20:10

Jak tak pozerám to zadanie, bude stačiť 7 dní? :)

Nahoru Odpovědět
9.6.2015 20:10
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Odpovídá na Matúš Petrofčík
Michal Žůrek - misaz:9.6.2015 20:23

tak udělej co zvládneš.

 
Nahoru Odpovědět
9.6.2015 20:23
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na Ondrca
Ondřej Štorc:9.6.2015 20:26

Já se jen chci ujistit. Pod pojmem řazení myslíš například že nahoře budou nejnovější díla a dole nejstarší?

Nahoru Odpovědět
9.6.2015 20:26
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
nogare
Člen
Avatar
nogare:9.6.2015 20:34

smí se seznam knih uložit do počítače?
Nebo se to musí ukládat bůhvíkam do prohlížeče.

Nahoru Odpovědět
9.6.2015 20:34
Zkoušely jste to vypnout a zapnout?
Avatar
Odpovídá na Michal Žůrek - misaz
Matúš Petrofčík:9.6.2015 20:39

Toto ja robiť nebudem, na to som ešte krátky :) ale podľa zadania mi na to príde 7 dní málo, preto sa pýtam Michala Vašíčka.

Nahoru Odpovědět
9.6.2015 20:39
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Odpovídá na Matúš Petrofčík
Michal Žůrek - misaz:9.6.2015 20:52

stihnout to jde. Když si sběhlí, dáš to za večer (resp. noc).

 
Nahoru Odpovědět
9.6.2015 20:52
Avatar
Jan Lupčík
Tvůrce
Avatar
Jan Lupčík:9.6.2015 20:56

Radši se zeptám, protože se mi to zdá docela nejasné. Smí se používat jQuery?

Nahoru Odpovědět
9.6.2015 20:56
TruckersMP vývojář
Avatar
Odpovídá na Jan Lupčík
Michal Žůrek - misaz:9.6.2015 21:30

ano, máš to dokonce v popisu. Musíš si ji však stáhnout lokálně.

 
Nahoru Odpovědět
9.6.2015 21:30
Avatar

Člen
Avatar
Odpovídá na Ondřej Štorc
:10.6.2015 9:55

Ahoj, ano, přesně tak - řazení podle názvu, autora, data...

 
Nahoru Odpovědět
10.6.2015 9:55
Avatar

Člen
Avatar
Odpovídá na Matúš Petrofčík
:10.6.2015 9:56

Na to, abys splnil zadání (získal 50 bodů) ti 7 dní určitě stačí, pokud se tomu budeš věnovat, máš to hotové za den. Jestli zvládneš víc než přidat atribut, to už je na tobě :)

 
Nahoru Odpovědět
10.6.2015 9:56
Avatar

Člen
Avatar
Odpovídá na nogare
:10.6.2015 9:57

Podle toho, jestli se účastníš JS nebo JS+PHP kategorie. Pokud JS, musí být uložen v mobilu a dostupný offline. Pokud JS+PHP, musí být na serveru.

 
Nahoru Odpovědět
10.6.2015 9:57
Avatar
Neaktivní uživatel:11.6.2015 13:39

Měl bych jednu otázku, kouknul jsem na to jak se vůbec vyvíjí pro FFOS a našel jsem že verze 1.1 a 1.2+ nejsou kompatibilní, nebo tak něco, takže pro jakou verzi?

PS: je možný že jsem se nějak překouk, jak řikám teprve zjišťuju jak to vlastně funguje :D

Nahoru Odpovědět
11.6.2015 13:39
Neaktivní uživatelský účet
Avatar

Člen
Avatar
Odpovídá na Neaktivní uživatel
:11.6.2015 14:04

Mobil mi běží na 3.0, bez problému fungují aplikace pro 2.0. Takže tak, aby to fungovalo na 3.0. Jen ber v potaz, že 3.0 má mnohem více API, takže se tam můžeš snažit o nějaký wow efekt.

 
Nahoru Odpovědět
11.6.2015 14:04
Avatar
Neaktivní uživatel:12.6.2015 14:41

"Komentovaný kód = +5 bodů" toto vždy pobaví

Nahoru Odpovědět
12.6.2015 14:41
Neaktivní uživatelský účet
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
David Novák:12.6.2015 14:43

Proč?

I když.. Já bych to změnil na:

Neokomentovaný kód = -25 bodů

Nahoru Odpovědět
12.6.2015 14:43
Chyba je mezi klávesnicí a židlí.
Avatar
mayo505
Tvůrce
Avatar
Odpovídá na David Novák
mayo505:14.6.2015 17:58

Počul som názor, že kód by sa mal písať tak, aby komentáre neboli potrebné (teda okrem Doc komentárov k funkciám, tie potrebné sú). Tým samozrejme nemyslím, že komentáre sú zbytočné, ale skôr, že v dobrom kóde nemusia byť po každých dvoch riadkoch kódu.

 
Nahoru Odpovědět
14.6.2015 17:58
Avatar
Odpovídá na mayo505
Michal Žůrek - misaz:14.6.2015 18:02

každý programátor píše kód jinak a neexistuje 100% poučka jak by se kód měl psát (s výjimkou statické analýzy kódu, ale ani ta nemusí být vždy kompletní). Proto se hodí napsat aspoň krátký komentář co programátor zamýšlel, atd...

 
Nahoru Odpovědět
14.6.2015 18:02
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na mayo505
David Novák:14.6.2015 21:16

Teoreticky je to pěkná poučka. Ale zároveň naprosto nereálná.. Jakmile napíšeš něco komplikovaného, tak prostě musíš.. Pokud to neokomentuješ dostatečně, tak se ti klidně za rok stane, že budeš muset luštit, co to má být.

Kromě toho jsou různí lidé na různé úrovni. Co je naprosto jasné a zřejmé tobě, vůbec nemusí být jasné a zřejmé jiným. Neříkám, že bys měl komentovat každé přiřazení a podmínku, ale je dobré oddělovat logické bloky a dát ke každému krátkou poznámku o co go a pokud někde používáš něco, co není vyložené všeobecně známé, měl bys k tomu také dát komentář. Pak by také každá větší funkce měla mít hlavičku..

Jestli chceš otestovat kvalitu své dokumentace, dej kód přečíst nějakému kolegovi a uvidíš. Pokud mu to není brzo jasné, někde je chyba ;)

Nahoru Odpovědět
14.6.2015 21:16
Chyba je mezi klávesnicí a židlí.
Avatar
mayo505
Tvůrce
Avatar
mayo505:14.6.2015 21:56

Však ja súhlasím s vami obidvoma. Tú "poučku" som napísal iba tak ako príspevok do diskusie ;) Reagoval som v podstate iba preto, že neokomentovaný kód nemusia byť hneď mínus body (aj keď vo väčšine prípadov budú, akurát vravím, že to nemusí byť vždy)

 
Nahoru Odpovědět
14.6.2015 21:56
Avatar
coells
Tvůrce
Avatar
Odpovídá na mayo505
coells:14.6.2015 22:43

Jsem momentálně ve fázi, kdy komentuji skoro jednu každou řádku kódu.
Pro svoji představu můžeš zkusit uhádnout, co dělá následující kus kódu? [komentáře jsem odstranil, ale názvy proměnných jsou zcela korektní v kontextu metody]

def pr(G, alpha):
    n = len(G)
    P = eye(n) - alpha * stochastic(G)
    T = array(n, float, (1 - alpha) / n)
    R, _, _, _ = lstsq(P, T)
    return stochastic(R)
 
Nahoru Odpovědět
14.6.2015 22:43
Avatar
Patrik Valkovič:14.6.2015 22:44

Sakra, všiml jsem si toho až teď :D
Jen mě napadla jedna věc, kolik lidí má FirefoxOS? :D

Nahoru Odpovědět
14.6.2015 22:44
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Odpovídá na Patrik Valkovič
Michal Žůrek - misaz:15.6.2015 19:01

jde to vyvíjet i v emulátoru.

 
Nahoru Odpovědět
15.6.2015 19:01
Avatar
Tomáš Maňhal:15.6.2015 19:03

Reálné zařízení je ale reálné zařízení :-)

 
Nahoru Odpovědět
15.6.2015 19:03
Avatar
Odpovídá na Tomáš Maňhal
Michal Žůrek - misaz:15.6.2015 19:05

to jo, ale předpokládám, že emulátor FirefoxOS není tak zalagovaný jak emulátor Androidu a ani nemá tak nechutné požadavky jak emulátor Windows Phone. Pokud jsem to pochopil, tak výkon by měl být srovnatelný s normálním firefoxem.

 
Nahoru Odpovědět
15.6.2015 19:05
Avatar

Člen
Avatar
Odpovídá na Michal Žůrek - misaz
:15.6.2015 21:49

Emulátor Firefox OS běží naprosto v pohodě, je to systém založený na HTML, takže pokud ti jede Firefox, měl by ti jet i emulátor...

 
Nahoru Odpovědět
15.6.2015 21:49
Avatar

Člen
Avatar
:15.6.2015 21:50

Řešení žádné? :(

 
Nahoru Odpovědět
15.6.2015 21:50
Avatar
Odpovídá na
Tomáš Maňhal:15.6.2015 21:53

Ono je to téma docela specifické tím, že je pro ten Firefox OS :-D Spousta lidí neví, že existuje a drtivou většinu zbytku moc nezajímá.

 
Nahoru Odpovědět
15.6.2015 21:53
Avatar

Člen
Avatar
Odpovídá na Tomáš Maňhal
:15.6.2015 21:59

No jasně, ale i tak, je to HTML a CSS. Jak je napsané i v pravidlech machrů, máš se naučit něco nového.

 
Nahoru Odpovědět
15.6.2015 21:59
Avatar
Odpovídá na
Štefan Pružinský:15.6.2015 22:03

Chcel som sa zapojiť (hlavne kvôli precvičeniu DOMu), ale teraz dokončujem zákazku a nestihol som... Určite je pre autora nulová účasť nepríjemná. :( Tým viac je potrebné oceniť tvoju snahu Michal... :)

Nahoru Odpovědět
15.6.2015 22:03
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Štefan Pružinský:16.6.2015 11:34

Zaujímalo by ma prečo to mínus... Myslím si, že poďakovať sa autorovi je určite lepšie ako sa vôbec neozvať...

Editováno 16.6.2015 11:35
Nahoru Odpovědět
16.6.2015 11:34
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Jan Poláček
Tvůrce
Avatar
Jan Poláček:16.6.2015 16:11

Škoda, že to čtu až teď, přesně zadání podle mého gusta, nešlo by machry posílat extra mailem, když si to uživatel sítě někde zaškrtne, aby to někoho nerušilo?

Nahoru Odpovědět
16.6.2015 16:11
Instrukce na adrese 0x77104f29 odkazovala na adresu paměti 0x00000014. S pamětí nelze provést operaci: written.
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na Jan Poláček
Jan Lupčík:16.6.2015 17:11

Machři jsou v pravém panelu. :)

Nahoru Odpovědět
16.6.2015 17:11
TruckersMP vývojář
Avatar
Jan Poláček
Tvůrce
Avatar
Odpovídá na Jan Lupčík
Jan Poláček:16.6.2015 17:37

Myslíš aktivní machři někde nahoře, nebo se někde "vlejou" mezi články, aplikace a zprávy, takže jsou na první pohled vidět tak dva dny. Ptám se, protože momentálně žádný vyhlášený asi není. To vše vůbec nemyslím neuctivě vůči této super síti, jen jako další věc navíc, která nezabere mnoho času tuto funkci napsat. Ale pokud aktivní machr visí stále nahoře, nejsem proti :)

Nahoru Odpovědět
16.6.2015 17:37
Instrukce na adrese 0x77104f29 odkazovala na adresu paměti 0x00000014. S pamětí nelze provést operaci: written.
Avatar
Zdeněk Pavlátka:16.6.2015 17:40

Asi by v systému chtělo ošetřit, že když nikdo nic neodevzdá, nenapíše to

Díky všem za účast, zde jsou výsledky:

Tentokrát placku nikdo nezískává, snad někdy příště.

ale něco o tom že nejsou účastníci.
Každopádně bohužel není koho hodnotit, i když se jedná o velmi zajímavé zadání... Vaše smůla ;)

Editováno 16.6.2015 17:43
Nahoru Odpovědět
16.6.2015 17:40
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Jan Vargovský:16.6.2015 19:01

Naše? Tvoje snad ne?

 
Nahoru Odpovědět
16.6.2015 19:01
Avatar
Odpovídá na Jan Vargovský
Zdeněk Pavlátka:16.6.2015 19:29

Já ani nevymýšlel zadání, jen jsem tohoto machra "zprostředkoval".

Nahoru Odpovědět
16.6.2015 19:29
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Jan Vargovský:16.6.2015 19:31

Právě proto, že jsi ho nevymýšlel, tak si se mohl zúčastnit.

 
Nahoru Odpovědět
16.6.2015 19:31
Avatar

Člen
Avatar
:16.6.2015 23:13

Kdybyste zase měli někdy zájem o machra na Firefox OS, tak mi napište PMku nebo mě prostě nějak kontaktujte, rád zas něco vyrobím :)

 
Nahoru Odpovědět
16.6.2015 23:13
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 44 zpráv z 44.