[PL] Wiki-konkurs - finał (ostatnia aktualizacja)
No i oczywiście nie mogło być tak, żebym ten konkurs przeprowadził idealnie.
Gdzieś faktycznie w mojej poczcie umknął mi program Arkadiusza Benedykta.
Już swoją winę nadrabiam i skontaktuję się z tobą mailem w sprawie nagrody :)
Dla wszystkich zainteresowanych oto wersja Arka i sam autor:
Z luźnych wniosków pokonkursowych to, co głównie wszyscy zauważyliśmy to:
1) Wiki ma w miarę ustandardowany układ adresów internetówych, można by się pokusić o wykorzystanie szablonów adresów z WCF 3.5
2) Wiki wykorzystuje XHtml więc można się pokusić o wykorzystanie Linq for Xml
3) Wiki _nie_ma_ żadnego API, do którego można by się podłączyć (RSS, Webservices)
4) Wiki faworyzuje jedną przeglądarkę w kwestii pobierania kontentu? Tutaj średnio chce mi się wierzyć, że rozwiązanie z nagłówkami Firefox'a to jedyne rozwiązanie, skoro normalnie w przeglądarce te strony się wyświetlają. Może serwer wikipedii potrzebuje poprawnych nagłówków identyfikujących znane mu przeglądarki. Ktoś próbował z kompletnym nagłówkiem IE?
-
Updated: 2008-01-29 - dodano zdjęcie ostatniego zwycięzcy.
Technorati Tagi: Polish Posts,geeks,coding
Comments
Anonymous
January 27, 2008
Myślę że autor oryginalnej porady z User Agent po prostu miał firefoksa i zaproponował taki identyfikator. Sprawdzę wieczorem z UA IE7 i Opery - podejrzewam że problemów nie będzie. Wikipedia może wykrywa "spiderowanie" przez boty i blokuje przechodzenie do haseł zawierających więcej linków (głównie artykuły rozwijające termin występujący w różnych dziedzinach).Anonymous
January 28, 2008
No właśnie też mi się tak wydaje. Co do wykrywania botów - może tak być, aczkolwiek wtedy tak prosto "zhakować" się tego by nie dało i błędami rzucało by częściej. Mam nadzieję, że tych naszych programików nikt tam po drugiej stronie jako atak DoS nie potraktuje :)Anonymous
January 28, 2008
Śpieszę z wyjaśnieniami a propos przeglądarki. Otóż .NET wysyłając domyślne zapytanie - bez nagłówków - nie podaje User-Agent, a wikipedia czasem o niego prosi, a jak nie dostaje to zwraca "403" - "Please provide a User-Agent header". Nie rozumiem tylko dlaczego czasem akceptuje brak tego nagłówka, czasem nie. Gratuluje Arku!:)Anonymous
January 28, 2008
Nagłówek Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; .NET CLR 3.5.21022) nie spotyka się z obrzydzeniem Wikipedii. :)Anonymous
January 29, 2008
Cześć, Mnie udało się skończyć program dopiero wczoraj więc jest to już praca pozakonkursowa. Niestety pogrążyło mnie użycie zbyt wielu nowinek na raz. Ale było warto bo trochę się przy okazji dowiedziałem. Moje rozwiązanie można pobrać tutaj (instrukcje są w Readme.txt): http://cid-4c7ec0c2176a0b0d.skydrive.live.com/self.aspx/Blog/SixDegreesOfWikipedia_1_0.zip Jeszcze raz gratuluję wszystkim zwycięzcą i dziękuję Danielowi za zorganizowanie fajnej zabawy - oby było więcej takich pomysłów! Pozdrawiam, SzymonAnonymous
January 29, 2008
A odnośnie powyższej dyskusji to Wikipedia jednak posiada API z którego można odczytywać dane w XML. Zajżyjcie tutaj http://en.wikipedia.org/w/query.php W szczególności można poprosić o podanie linków występujących na danej stronie: http://en.wikipedia.org/w/query.php?what=links&titles=MediaWiki&format=xml Znalazlem to dopiero wczoraj, ale zmieniłem swój kod żeby korzystał z tego API i dzięki temu mogłem użyć do zapytań LINQ to XML. Ciekaw jeszcze jestem czy można tu zastosować "szablony adresów WCF" o których napisał Daniel. Ktoś wie jak to zrobić?Anonymous
January 29, 2008
Mam ten sam problem.. Co prawda wykurowałem się i wróciłem do zabawy, ale teraz wieczorami po pracy pozostaje niewiele czasu do podziału pomiędzy bycie geekiem a normalnym życiem :) Jako, że także testuje na tym projekciku dużo dla mnie nowych mechanizmów oraz upycham nowe technologie to jest ciągle in-dev :> Tak czy siak za moment zrobię jakąś zbiorczą stronkę z repozytorium wszystkich naszych podejść. Dzięki za wzięcie udziału w zabawie i dzięki za miłe komentarze.Anonymous
January 29, 2008
Szymon... dzieki za API, moze sie przydac. Chociaz dziwi mnie ze "w dzisiejszych czasach" wiki niedorboilo sie jakiegos miłego web service-[a|u]Anonymous
January 29, 2008
aaa........... backlinks (What pages link to this page(s)) w takim razie jest szansa na duze przyspieszenie wyszukiwania :) Na szybko szkielet: od słowa źródłowego przejście do 2 poziomu to błysk, 3 tez nie zabiera dużo czasu( 4 i dalej to już robią się ogromne ilości stron z czego większość już idzie w tak abstrakcyjne maliny że czasem aż nieprawdopodobne) od słowa końcowego zatem przez backlinki IMHO warto sciągnąc też ze 2/3 poziomy i jesli z tych 2 list linkow cos dopasujemy to juz mamy przejscie :) mam nadzieje ze jasno opisałem pomysł :) w razie czego mogę doprecyzować :DAnonymous
January 29, 2008
Z tego co na szybko zobaczyłem u Szymona, na tempo wpływa:
- cache - najbardziej wydajny z naszych implementacji bo bazodanowy (Arek, wspomniałeś o tym) Ja w swoim startupie z cache'em wykorzystałem pliki, aby ciekawskich nie zadręczać jakąkolwiek ścieżką instalacji aplikacji, tylko compile&run.
- znalazł APi, które "pluje" xmlem zawierającym ninimum koniecznych informacji. Nie trzeba pobierać pełnych stron i bawić się samemu. Wiki wykorzystuje XHtml, więc tak czy siak można użyć Linq for Xml (Maciek w swoim przykładzie tak robi). Download to zawsze warunek losowy w zależności od bandwith (testowałem na Orange.BE po Edge - mordęga :>)
- A* Pathfinding - algorytm przeszukiwania ścieżki - jeden z bardziej efektywnych w temacie. Optymalizować można dalej zachęcam do kontynuowania zabawy we własnym zakresie. Jak wspomniałem wokół tego tematu można sobie opcjonalnych zadań wymyślać. Wyszukiwanie ścieżki to dobry fundament do analizowania tak pokategoryzowanej informacji :> Co do szablonów, to chodzi mi oczywiście o UriTemplate. Jak ten mechanizm ugryźć opowiadałem na konferencji "Discover Visual Studio 2008" w Warszawie ostatniej jesieni. Powerpoint'a z tej sesji znajdziecie tutaj: http://www.dbiesiada.com/publications/NET%20Framework%20-%203.5%20v2.zip
Anonymous
January 30, 2008
Hej, Pisałem już o tym wczoraj do Daniela ale nie wiem czy miał czas przeczytać maila więc napiszę jeszcze raz tutaj do wszystkich... Jak widać wszyscy mamy kolejne pomysły co jeszcze można byłoby zmienić czy dołożyć. Pomyślałem że fajnie byłoby połączyć siły. Wymyśliłem sobie że można by to rozbudować do pełnej przeglądarki Wikipedii napisanej w .NET. Przez to API można ściągać też treść stron w formacie Wiki więc myślę że bez trudu da się go skonwertować do XAML-a (myślę tu też o użyciu SCE Starter Kit). Do tego możemy dołożyć jakieś dodatkowe narzędzia jak właśnie szukanie najkrótszej ścieżki, itp. Proponuję żeby założyć projekt na CodePlex i wspólnie zbudować taką aplikację. Ja pewnie i tak będę się dalej nad tym pracował ponieważ potrzebuje jakiegoś poligonu doświadczalnego do testowania rozwiązania Composite WPF (Prism) szykowanego przez p&p. Co wy na to? Kto miałby ochotę dalej się w to bawić?Anonymous
January 30, 2008
hm.... pomysł bardzo fajny, ale ja odpadam ze względu na czas. nawet do swojej aplikacji nie dorobiłem UI ( dlatego najciekawsze rzeczy wyrzucane są przez debug.write :) )Anonymous
January 30, 2008
Szymon, swietny pomysl :> Jako, ze na ten moment twoj kod reprezentuje najbardziej rozbudowane stadium mozna by to wykorzystac jako bazę (jesli nie masz nic przeciwko) i sobie ustalic priorytety i dlubac dalej. Z czasem to chyba kazdy z nas ma kiepsko, ale skoro z zalozenia robimy to dla przyjemnosci to nikt nas nie goni :> Codeplex brzmi swietnie.Anonymous
January 30, 2008
Na spokojnie odezwę się wieczorem na maila.Anonymous
January 30, 2008
hm...... oj Daniel, chyba mnie przekonałeś :) musze tylko zdobyć VS2008 (Uczelnia powinna juz miec :) God bless MSDN-AA)Anonymous
January 30, 2008
Uff, wracam do życia po 2 ciężkich dniach. Inicjatywa z projektem na CodePlex bardzo fajna ;) Jeśli ktoś mnie zechce, to ja się na to pisze. Może doświadczenia nie mam zbyt dużego, ale chętnie je podłapię ;) Z czasem również krucho, jak u innych (dziewczyna, rodzina, szkoła..), ale wieczorek na kodzenie się pewnie znajdzie. Daniel, jeśli przejmiesz inicjatywę, to odezwij się na maila. Pozdrawiam.Anonymous
February 05, 2008
Cześć, Wczoraj założyłem projekt na CodePlex: http://www.codeplex.com/WikiSpider Projekt nie jest jeszcze opublikowany więc musicie mi podać nazwy swoich kont na CodePlex (ewentualnie sobie założyć) to was dołącze do zespołu. Na razie wrzuciłem tylko źródła mojej wersji i czekam na pomysły jak to rozbudować. Pozdrawiam, -SzymonAnonymous
June 22, 2008
W paru mailach ostatnio dostałem pytanie co z kwietniowo/majowym konkursem na dodatek do Visual Studio.Net