záp 2011_01_19 9h Http server

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: záp 2011_01_19 9h Http server

Re: záp 2011_01_19 9h Http server

od zbytovsky » 20. 1. 2011 01:48

Posílám svoje řešení, tím že bylo možno využívat slidy i osobní příklady, tak mi to přišlo docela jednoduché - spíše to byl opruz to všechno vypisovat - ta java je místy dost hloupá. Řešení samozřejmě sprasené ;-)
Přílohy
http-server-moje-reseni.zip
(355.12 KiB) Staženo 345 x

Re: záp 2011_01_19 9h Http server

od hurda » 19. 1. 2011 23:12

Javadoc je povolenej a mohlo se i na přednášky, třeba celá chujovina se ServerSocketem je na dvou slidech v pr myslim 11.

Bylo to docela pracny, možná jsme se zbytečně patlal s okrajovejma variantama, když on do toho pak kliknul cca 5krát, chce to nedělat nic navíc.

Re: záp 2011_01_19 9h Http server

od Ph.ill » 19. 1. 2011 18:59

Možná bych ještě poradil si prostě předvytvořit nějaké třídy jako třeba readery,writery na soubory. Jako neni nutný tam vymýšlet půl hodiny, jak mám přes sebe dát streamy a filtery, když půlka se jich nepoužívá a netbeans moc s pomocí nenemáhaji. A ještě si třeba udělat Gui okno, pak třeba třídu se sitovou komunikaci a třídu se spouštěním vlákna. To se fakt hodí. Já si to večer před tím naprogramoval a odzkoušel a pak jsem nemusel znova vynalézat kolo. A ještě jsem si tam bral tohle: http://download.oracle.com/javase/tutor ... isual.html Tak všem good luck.

Re: záp 2011_01_19 9h Http server

od Ph.ill » 19. 1. 2011 18:44

No ja myslim, že nakonec na to jak to tam vypadalo, byla úspěšnost celkem solidní, tipuju pomalu 70%, podle toho co sem viděl na papíře zaškrtnuté. V podstatě ti co houževnaťě bojovali to nějak dokutáleli do konce. Nedala to spíš ta část co spanikařila a vzdala to v poločase. Jinak myslim, že nastavil ještě 50 minut. Fakt skvělej cvičící, měl pochopení. No s tim internetem, ono by jim ani nevadilo, kdybychom si googlily tutorialy, ale oni se bojí, že nám někdo na icq nebo na mailu bude házet řešení, že se to prý minulé roky několikrát objevilo a vyhazovalo se (to nám řikal cvičící). Já si to teda nedovedu představit, abych studoval informatiku a někdo mi po mailu házel řešení, ale tak možné je asi všechno.

Re: záp 2011_01_19 9h Http server

od ondrej100 » 19. 1. 2011 18:20

Aka bola nakoniec uspesnost a kolko nadstavil? Ja som (uspesne) odosiel par minut po 12tej tj nieco pred koncom oficialneho limitu. Ten zakazany internet je chujny, pre tych co este pojdu, odporucam si stiahnut z download.oracle.com aspon API k jave a zobrat si vyriesene priklady z minulych rokov. Je zvlastne, ze vyriesene priklady nevadia ale googlenie tutorialov ano :D

Re: záp 2011_01_19 9h Http server

od Ph.ill » 19. 1. 2011 15:45

No já jsem to nakonec utloukl, protože cvičící byl fakt hodnej. Ale byl jsem jeden z posledních, nechal nám čas navíc. Bylo tam potřeba čekat na socket, hned za socket.open odpalit novy vlakno a hodně pracovat s třídou File. Na konci dát socket.close jinak by browser furt čekal a nic by se neobjevilo. Ta třída File pro mě byla zrádná, protože File sežere jakoukoli cestu i když neexistuje, je to jenom kontejner, co na tu cestu pak provadí metody. Takže já si vypsal adresář jako file.list to mi hodilo pole filů co jsou v adreáři, jenomže já vůl sem si je pak tvořil z názvů a né z celých cest (prostě new File(files[0]) což je kravina, protože to je jenom název a né celá cesta. Pak mi sice fungovali file.getName atd. ale file.LastModified nebo file.length vraceli nulu, ani nezařvali, že to pouštim na neexsitujíci file, takže celkem zdržení. Vim, popletl jsem to, ale tak třeba to aspoň někomu pomuže. Jo a je dobrý si najít interface Comparable a jak se chová, na třídění použít normálně java.util.Arrays tam je Arrays.sort() metoda a s funkčním comparator nebo comparable to jde celkem pěkně. Protože potřebujete sortit podle třech různých atributů. Někde je tam i reverse() mam dojem, možná jenom na listu. Jo a hodí se: new date(file.LastModified()) Jinak server se testuje na adrese 127.0.0.1:socket (to pro ty co to vidí poprvé). Taky doporučuju ještě, pokud ten index budete dělat ve stringuBuilderu, tak si zjistit, jak se dělá InputStream ze stringu, protože ta Response chce inputstream. Ale to jde asi lépe, já se do toho trochu zamotal. Jinak tomu HttpProtocolu se předají jenom streamy toho socketu. Prostě jenom stačilo zkontrolovat argumenty=> na požadavky pustit nové vlákno => v něm jenom sortit výpis index, to je asi to co zabralo nejvíc času. Ta samotná komunikace byla již perfektně připravena v těch souborech. To podle čeho sortit, to vracelo samo, takže se člověk o to nemusel vubec starat. A na chyby 404/403 to tam má svuj enum statusů, takže taky v pohodě. Btw. mam dojem, že nikdo neodevzdal v předstihu, spíš trochu později. Bylo toho dost nového a asi spíš hodně bugy sme v tom měli. Přišlo mi dost pitomý, být bez internetu. Protože ty slidy jsou chudý, aby se tam všechno vešlo, dokumentace mi taky moc přehledná nepřijde a člověk pak ztráví přemýšlení nad tím jak převede file.LastModified() long číslo na přehledné datum, místo toho aby to ve vteřině vygooglil. No mužem poděkovat těm co minulá léta podváděli. Ale je možno si doma tyhle zvláštnosti sepsat a tam to použít, takže domácí příprava se určitě vyplatí.

záp 2011_01_19 9h Http server

od Baa » 19. 1. 2011 14:14

Zadání, knihovny v jaru, testovaci data a template jsou v příloze.
Subjektivně hodnotím jako těžké a nikdo neodevzdával nijak předčasně...
Máte to někdo? Někdo ochotný se pochlubit?
Přílohy
zapocet-java-2011-19-01.zip
(340.11 KiB) Staženo 372 x

Nahoru