EKSPLORACJA ZASOBÓW INTERNETU - MIŁOSZ KADZIŃSKI LABORATORIUM XIII NUTCH
|
|
- Anatol Niewiadomski
- 8 lat temu
- Przeglądów:
Transkrypt
1 EKSPLORACJA ZASOBÓW INTERNETU - MIŁOSZ KADZIŃSKI LABORATORIUM XIII NUTCH 1. Nutch Open source, Doug Cutting (Yahoo, Bell Labs), Apache, Java Powody, dla których warto uruchomić własną wyszukiwarkę: Przejrzystość sprawdź, jak działa algorytm rangujący; kryterium sprawiedliwości (zawartości strony), a nie pieniędzy ważne w zastosowaniach akademickich i dla potrzeb organizacji rządowych) Zrozumienie sprawdź, jak działa wyszukiwarka dużej skali (kod źródłowy Google nie jest dostępny); Map Reduce + łatwość rozszerzania Rozszerzalność dostosuj do własnych potrzeb i uczyń częścią swojej aplikacji/strony; interface, funkcjonalność, źródła informacji Nutch może operować na lokalnym systemie plików (brak błędów sieciowych, cachowanie nie jest konieczne), intranecie, lub całej sieci (wiele wyzwań związanych z crawlowaniem od których stron zacząć, jak podzielić pracę między crawlery, jak często re-crawlować, jak radzić sobie z niedziałającymi linkami, itd.) Nutch = Crawler + Indexer/Searcher + GUI + Plugins (np. parsowanie) + Hadoop (MapReduce & Distibuted FS) Nutch = Crawler przystosowany do wspólpracy z Solrem (Indexer/Searcher + GUI), Tika (parsowanie) i Apache Gora (przechowywanie) Nutch vs. Lucene Jeśli nie potrzeujesz Web crawlera, użyj Lucene (np. dodanie opcji przeszukiwania bazy danych) Nutch lepszy dla pracy ze stronami, do których nie ma bezpośredniego dostępu do danych na nich się znajdujących, lub stron pochodzących z różnych źródeł Nutch crawler (+ searcher) Crawler - pobiera strony, utrzymuje struktury danych (w tym web database=web DB, która zawiera strukturę i własności crawlowanego grafu; dwa rodzaje krotek: strony i linki (zbiór linków wychodzących z danej strony do innych stron)), segmenty (strony ściągnięte i zindeksowane w czasie pojedynczego uruchomienia), tworzy indeks odwrócony (inverted index) Searcher (może tą rolę pełnić Solr) - wykorzystuje indeks do wypracowania odpowiedzi na zapytania; Nutch (Solr) korzysta z Lucene; każdy segment ma swój indeks; indeks odwrotny powstaje przez połączenie indeksów wszystkich segmentów Nutch jako crawler 1. Crawler generuje listę stron do pobrania na podstawie Web DB (strony z tego samego hosta trafiają na tą samą fetchlist), Web DB wykorzystywana tylko podczas crawlowania (niewykorzystywana w czasie wyszukiwania) 2. Zbiór crawlerów pobiera zawartość z sieci (przestrzega Robot Exclusion Policy) 3. Crawler uaktualnia WebDB (znalezione nowe linki) 4. Crawler generuje nową listę stron do pobrania (te, które już dawno nie były pobierane, lub nowe znalezione w poprzednim cyklu) 5. Cykl się powtarza. - 1
2 Narzędzie crawl front-end do narzędzi niższego poziomu 1. Utwórz WebDB (admin db create) 2. Dodaj ziarno adresów URL do WebDB (inject) 3. Generuj listę adresów stron do pobrania na podstawie WebDB (generate) 4. Pobierz zawartość stron pod wskazanymi adresami URL (fetch) 5. Uaktualnij WebDB linkami z pobranych stron (updatedb) 6. Powtarzaj kroki 3-5, dopóki nie zostanie osiągnięta zadana głębokość. 7. Uaktualnij segmenty na podstawie WebDB (updatesegs) 8. Indeksuj pobrane strony (index) w nowszych wersjach polecenia solrindex 9. Eliminuj duplikaty (zawartość i adresy) z indeksu (dedup) 10. Połącz indeksy w jeden duży indeks dla celów przeszukiwania (merge) Nutch (1.X) jako crawler Nutch (1.X) jako Web Serch Engine bin/nutch crawl urls dir crawl-directory depth 3 >& crawl.log urls plik z ziarnem adresów URL np. echo ' > urls crawl-directory docelowy folder na wyniki Wyniki crawlowania Nowsze wersje Nutcha przystosowane są do współpracy z hbase. - 2
3 Co można z nich wydobyć: Statystyki: bin/nutch readdb crawl-directory/db stats Informacje o stronach: bin/nutch readdb crawl-directory/db dumppageurl Informacje o linkach: bin/nutch readdb crawl-directory/db dumlinks Narzędzie do analizy indeksu: Luke - (oglądanie pojedynczych zindeksowanych dokumentów; realizacja ad hoc queries) Narządzie do analizy linków LinkAnalysisTool Nutch jako wyszukiwarka (nowsze wersje Nutcha przestają wspierać tą funkcję; rolę platformy wyszukującej w połączeniu z Nutchem pełni Solr, ale idea przejrzystości pozostaje ta sama) Z linii komend przez NutchBean: bin/nutch.org.apache.nutch.searcher.nutchbean <keyword> Najlepiej zainstalować Tomcata. Możliwość analizy wyniku dla każdej strony oraz tekstu z linków prowadzących do danej strony Pluginy (rozszerzenia dla tzw. extension-points) Każdy extension point definiuje interface który musi być implementowany przez rozszerzenie Kluczowe extension points (patrz plugin NutchExtensionPoints plik plugin.xml) IndexingFilter:dodaj meta-dane do indeksowanych pól. Parser: by parsować nowy typ dokumentu. NutchAnalyzer: analiza zależna od języka. Wszystkie funkcje parsowania, indeksowania i wyszukiwania zostały zaimplementowane jako pluginy. Np. crawlowanie stron tekstowych i HTML zaimplementowano w wersji podstawowej. Crawlowanie dokumentów PDF jest możliwe dzięki pluginowi parse-pdf Aby korzystać z pluginu: edytuj conf/nutch-site.xml i dodaj jego nazwę do plugin.includes Plik źródłowy w src/plugin - 3
4 Łatwa integracja Nutch do własnej aplikacj (wykorzystanie Nutch API lub OpenSearch API) Strona projektu: Pluginy dla Nutch: Luke - Niezła prezentacja: 2. Ćwiczenie Tylko zadanie 1 termin 10 stycznia (12-13 stycznia odbędą się ostatnie zajęcia). Zadanie 1 [8pkt]: Zadanie polega na wykonaniu tutoriala ze strony (dla wersji 2.X) lub (dla wersji Nutch 1.X). Tutorial ten pokazaje, jak zintegrować Nutch z Solr. Dla pierwszej z nich potrzebne wersje Nutcha, Solra oraz hbase znajdują się w katalogu lab13. Nutch jest wykorzystywany do crawlowania, Solr do wyszukiwania, hbase do przechowywania. Tutorial powinien zostać wykonany tak, by pobrać wszystkie strony z: Jako rozwiązanie należy przesłać w postaci tekstowej polecenia wydane w celu pobrania strony i ich załadowania do Solra, a także wyniki wyszukiwania (w formie tekstowej lub printscreen) dla zapytań anaconda, programming oraz python (takich samych jak przy wykorzystaniu crawlera oraz wyszukiwarki w lab10). Poniższych zadań nie robimy. Zadanie 2 [8pkt]: Zainstaluj Nutch w wersji nie wyższej niż 1.2 (dostępne w Przydatne linki: Instalacja i konfiguracja: Przykład stworzenia pluginu: Wykorzystaj Nutch do pobrania wszystkich stron z katalogu: Rozszerz działanie crawlera tak, by: Dla crawlowanych stron były indeksowane listy linków (URL lists) wchodzących (inlinks) i wychodzących (outlinks). Nutch Search wspierało zapytania dotyczące tego, które strony mają linki wychodzące do x oraz która strona ma linki wchodzące od x. Zapytania postaci: out: adres_strony oraz in: adres_strony. Napisz pojedynczy plugin dla indeksowania i obsługi zapytań dotyczących linków wchodzących i wychodzących. Niech nazywa się ezi-plugin. Skompiluj Nutch i odpal wyszukiwanie, używając Toccata. Wskazówki: Linki wychodzące (outlinks) oraz wchodzące (inlinks) powinny być indeksowane jako dodatkowe pola obiektu Dokument (odpowiednio pole in oraz out ). - 4
5 Indeksowanie dodatkowych pól: porównaj pluginy index-basic oraz index-more ten drugi pokazuje, jak zindeksować dodatkowe dane dotyczące strony/dokumentu. Gdzie szukać danych do indeksowania? Outlinks: org.apache.nutch.parse.html.domcontentutils - metoda getoutlinks() org.apache.nutch.parse.outlink metoda gettourl() HTMLParser.getParse -> obiekt Parse Parse.getData() -> obiekt ParseData ParseData.getOutlinks() -> Outlinks Inlinks: org.apache.nutch.crawl.inlink - metoda getfromurl() Inlinks przekazywane w obiekcie Document Dodaj możliwość wyszukiwania w odniesieniu do nowych pól. Przeszukiwanie pól jest wspierane w pluginie query-basic. Plugin query-more pokazuje jako roszerzyć zapytania, by wspierały nowe pola dokumentu. Przykład: MoreIndexingFilter.java dodanie nowego pola public Document filter(document doc, Parse parse, UTF8 url, CrawlDatum datum, Inlinks inlinks) throws IndexingException { String contentlength = parse.getdata().getmeta(response.content_length); if (contentlength!= null) doc.add(new Field("contentLength", contentlength, Field.Store.YES, Field.Index.NO)); return doc; Ważne, by ustalić własności parametrów pól w poprawny sposób: Field.Store.NO oznacza że zawartość pola nie jest przechowywana i nie jest w związku z tym zwracana jako część wyników Field.Index.TOKENIZED - zawartość pola zostanie poddana działaniu tokenizera (String array) Sugestia dotycząca rozwiązania: EZIIndexer.java (szkielet tej klasy jest zawarty w rozwiązaniu) public NutchDocument filter(nutchdocument doc, Parse parse, UTF8 url, CrawlDatum datum, Inlinks inlinks) throws IndexingException { Iterowanie po każdym inlink : inlinks Dla każdego inlink, metoda getfromurl() zwraca URL jako string Sklej wszystkie adresy w string Dodaj odpowiednie pole do obiektu dokumentu: doc.add(new Field( in", in_urls, )); Outlink[] outlinks = parse.getdata().getoutlinks() W pętli po wszystkich outlinks Metoda Outlink.getToUrl() zwraca URL jako string Sklej wszystkie adres w string Dodaj odpowiednie pole do obiektu dokumentu: doc.add(new Field( out", out_urls, )); return doc; - 5
6 Przykład obsługi dodatkowych klauzul w zapytaniu: URLQueryFilter.java /** * Handles "url:" query clauses, causing them to search the field indexed by BasicIndexingFilter. */ public class URLQueryFilter extends FieldQueryFilter { public URLQueryFilter() { super("url"); public void setconf(configuration conf) { super.setconf(conf); Sugestia dotycząca rozwiązania: EZIInlinkQueryFilter.java (szkielet tej klasy jest zawarty w rozwiązaniu) /** * Handles in:" query clauses, causing them to search the inlinks field indexed by EZIIndexer. */ public class EZIInlinkQueryFilter extends FieldQueryFilter { public EZIInlinkQueryFilter() { // trzeba wskazać tylko I wyłącznie odpowiednią klauzulę zapytania (w tym wypadku in ) public void setconf(configuration conf) { super.setconf(conf); Plugin powinien znaleźć się w folderze ezi-plugin, zawierającym: plugin.xml musi definować trzy rozszerzenia: EZIndexer roszerza IndexingFilter EZIInlinkQueryFilter oraz EZIOutlinkQueryFilter rozszerzają QueryFilter build.xml, odpowiednią strukturę pakietów. Użyj ant by skompilować plugin (-> ezi-plugin.jar) Dodaj plugin do nutch-site.xml <property> <name>plugin.includes</name> <value>nutch-extensionpoints protocol-http urlfilter-regex parse-(text html) index-basic query-(basic site url) ezi-plugin</value> <description>regular expression naming plugin directory names to include. Any plugin not matching this expression is excluded. In any case you need at least include the nutch-extensionpoints plugin. By default Nutch includes crawling just HTML and plain text via HTTP, and basic indexing and search plugins. </description> </property> Jeśli masz problem z plugin.includes, dokonaj zmian bezpośrednio w nutch-default.xml Użyj ant do kompilacji Nutch, by mógł być wykorzystywany EZIIndexer. Użyj ant do kompilacji aplikacji Nutch Web, by mogły być wykorzystane nowe filtry zapytań. - 6
7 Odpal Nutch na Tomcat i przetestuj działanie. Co należy wysłać jako rozwiązanie? Kod: cały folder z pluginem, który napisałeś (ewentualnie kod pluginów, które zmieniłeś) Wyniki: wybierz dwie strony spośród stron zindeksowanych i podaj dla nich wyniki dotyczące linków wchodzących i wychodzących (print screeny albo wyniki w pliku tesktowym). Zadanie 3 [16pkt przy maksymalnej liczbie 8]: Alternatywne zadanie polega na wykonaniu Zadania 1 na najnowszej wersji Nutcha i pokazaniu wyników działania z wykorzystaniem Solr. - 7
Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet JSP ciąg dalszy Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić JSP tags, Używanie tagów, Custom tags, JSP objests, Obiekty
Zaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Javadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka
Javadoc Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka Wprowadzenie do Javadoc Treść prezentacji: http://students.mimuw.edu.pl/~as219669/javadoc.pdf Zadania: http://students.mimuw.edu.pl/~as219669/zadanie.rar
Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet Blok 2 - PHP Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Podstawy podstaw, czyli małe wprowadzenie do PHP, Podstawy
Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark
Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark Topologia Cele Część 1: Zapisanie informacji dotyczących konfiguracji IP komputerów Część 2: Użycie programu Wireshark do przechwycenia
Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej
Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium
Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008
Adam 1 grudnia 2008 Wstęp Opis Historia Apache kontener serwletów rozwijany w ramach projektu Apache jeden z bardziej popularnych kontenerów Web open source, Apache Software License rozwijany przez ASF
Aplikacje RMI Lab4
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych
Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP
Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego Topologia Cele Część 1: Przygotowanie Wireshark do przechwytywania pakietów Wybór odpowiedniego interfejsu
Aplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium
Tomasz Boiński: 1. Pozycjonowanie stron i zastosowanie mod_rewrite
Tomasz Boiński: 1 Pozycjonowanie stron i zastosowanie mod_rewrite Pozycjonowanie stron Promocja strony odbywa się poprzez umiejscowienie jej jak najwyżej w wynikach wyszukiwania Wyszukiwarki indeksują
Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat.
Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat. Serwer Tomcat Plan wykładu Opis serwera Jak uruchomić napisaną aplikację Podstawowa konfiguracja Pierwsze uruchomienie Tomcat
Programowanie I
Programowanie I 29.05.2017 Co zostanie wypisane na ekranie? (1) class A { public: void wypisz(int n) { cout
Programowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
Git, Bitbucket, IntelliJ IDEA
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 3 Git, Bitbucket, IntelliJ IDEA Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy
Podstawy i języki programowania
Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i
Lab3 - Zastosowania protokołów przesyłania plików
Borski Michał, nr indeksu: 269963 Lab3 - Zastosowania protokołów przesyłania plików Zadania do wykonania 1. W trybie tekstowym zalogować się na serwerze ftp o adresie sunsite.icm.edu.pl na konto anonymous
OMNITRACKER Wersja testowa. Szybki przewodnik instalacji
OMNITRACKER Wersja testowa Szybki przewodnik instalacji 1 Krok 1:Rejestracja pobrania (jeżeli nie wykonana dotychczas) Proszę dokonać rejestracji na stronieomninet (www.omnitracker.com) pod Contact. Po
Systemy Rozproszone - Ćwiczenie 6
Systemy Rozproszone - Ćwiczenie 6 1 Obiekty zdalne Celem ćwiczenia jest stworzenie obiektu zdalnego świadczącego prostą usługę nazewniczą. Nazwy i odpowiadające im punkty końcowe będą przechowywane przez
media Blitz wydajne sytemy szablonów
Blitz wydajne sytemy szablonów Dlaczego stosować szablony? MVC Kontroler Model Widok Co to jest Blitz? Rozszerzenie PHP stworzone przez Alexey A. Rybak a. Regularnie rozwijany od 2005 roku. Szybki i lekki
ZAPOZNANIE SIĘ Z TWORZENIEM
LABORATORIUM SYSTEMÓW MOBILNYCH ZAPOZNANIE SIĘ Z TWORZENIEM APLIKACJI MOBILNEJ W J2ME I. Temat ćwiczenia II. Wymagania Podstawowe wiadomości z zakresu języka Java Podstawowa znajomość środowiska Eclipse
Instrukcja laboratoryjna nr.4
Języki programowania na platformie.net cz.2 2016/17 Instrukcja laboratoryjna nr.4 Język Visual Basic for.net Prowadzący: Tomasz Goluch Wersja: 3.1 I. Współpraca Visual Basic z C# Cel: Wykorzystanie w kodzie
OMNITRACKER Wersja testowa. Szybki przewodnik instalacji
OMNITRACKER Wersja testowa Szybki przewodnik instalacji 1 Krok 1:Rejestracja pobrania (jeżeli nie wykonana dotychczas) Proszę dokonać rejestracji na stronieomninet (www.omnitracker.com) pod Contact. Po
akademia androida Składowanie danych część VI
akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.
Wprowadzenie do projektu QualitySpy
Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
EKSPLORACJA ZASOBÓW INTERNETU - MIŁOSZ KADZIŃSKI LABORATORIUM X CRAWLOWANIE
EKSPLORACJA ZASOBÓW INTERNETU - MIŁOSZ KADZIŃSKI LABORATORIUM X CRAWLOWANIE 1. Plan laboratorium X 1.1. Podstawowe zastosowania crawlerów 1.2. Przebieg procesu crawlowania 1.3. Charakterystyka crawlera
IBM SPSS Statistics - Essentials for Python: Instrukcje instalacji dla Windows
IBM SPSS Statistics - ssentials for Python: Instrukcje instalacji dla Windows Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics - ssentials for Python w systemach operacyjnych Windows.
Mapa witryny - Poradnik od A do Z
Mapa witryny - Poradnik od A do Z Submit URL czy mapa Google? Istnieje specjalny formularz Google do zgłaszania nowych podstron w serwisie, który potrafi błyskawicznie dodać adres URL do indeksu wyszukiwarki:
Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język
Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017
Wykład 7 25 kwietnia 2017 Dokumentowanie kodu Program javadoc Java jest wyposażona w generator dokumentacji który na podstawie odpowiednio napisanych komentarzy w kodzie programu (które jednak nie sa konieczne),
Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8
Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem
Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24
Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24 Agenda Serp24 NoSQL Integracja z CMS Drupal Przetwarzanie danych Podsumowanie Serp24 Darmowe narzędzie Ułatwia planowanie
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).
Programowanie wielowarstwowe i komponentowe
Programowanie wielowarstwowe i komponentowe JSF 2 wprowadzenie Konfiguracja Eclipse - dodanie szablonu XHTML dla potrzeb JSF 1. Otwórz menu Window/Preferences. Następnie z drzewka wybierz Web/HTML Files/Editor/Templates.
Czytelnik w bibliotece cyfrowej
Czytelnik w bibliotece cyfrowej Adam Dudczak Poznańskie Centrum Superkomputerowo-Sieciowe IV Warsztaty Biblioteki Cyfrowe Poznań, 2007 Do czego służy Aplikacja Czytelnika? Udostępnianie zasobów cyfrowych
Java jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
Laboratorium 7 Blog: dodawanie i edycja wpisów
Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą
Co zostanie wypisane na ekranie? (1)
Wykład 11.05.2016 Co zostanie wypisane na ekranie? (1) class A { public: void wypisz(int n) { cout
Metody Metody, parametry, zwracanie wartości
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca
Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa
Bezpieczne uruchamianie apletów wg
Bezpieczne uruchamianie apletów wg http://java.sun.com/docs/books/tutorial/security1.2/ Zabezpieczenia przed uruchamianiem apletów na pisanych przez nieznanych autorów 1) ograniczenie możliwości odczytywania,
Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.
Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Celem ćwiczenia jest przygotowanie prostej aplikacji wykorzystującej architekturę CORBA. Aplikacja składa się z usługodawcy (serwera)
Jak napisać program obliczający pola powierzchni różnych figur płaskich?
Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy
Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid
Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid Tomasz Kuczyński Dział Aplikacji Tomasz Nowak Zespół Bezpieczeństwa Wrocław, 2.12.2010 r. Konferencja i3: internet
WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.
WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy
Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse
Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji
Serwery aplikacji. dr Radosław Matusik. radmat
www.math.uni.lodz.pl/ radmat EL - Expression Language Załóżmy, że mamy klasę Pracownik, której atrybutem jest PESEL. Załóżmy dalej, że w atrybucie sesji zalogowany przechowujemy obiekt aktualnie zalogowanego
Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 1 Wprowadzenie Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 O Sobie Od 2014
Podstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 8 PHP, czyli poczatki nowej, dynamicznej znajomosci Na dzisiejszych zajęciach rozpoczniemy programowanie po stronie serwera w języku PHP. Po otrzymaniu żądania serwer
Architektura rozproszonych magazynów danych
Big data Big data, large data cloud. Rozwiązania nastawione na zastosowanie w wielkoskalowych serwisach, np. webowych. Stosowane przez Google, Facebook, itd. Architektura rozproszonych magazynów danych
PHP 5 język obiektowy
PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje
Programowanie Komponentowe WebAPI
Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,
Dokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?
Zad.28. Utwórz klasę, która implementuje oba interfejsy: public void pisz ( ) ; public void pisz ( ) ; Zad.29. Utwórz klasę, która implementuje oba interfejsy: public void pisz ( int l i c z b a ) ; public
Zbigniew Sołtys - Komputerowa Analiza Obrazu Mikroskopowego 2015 część 13
13 MAKRA I PLUGINY Największą zaletą ImageJ jest wielka i stale rosnąca liczba programów i makr. Na stronie. Niewielka część z nich jest instalowana razem z programem, resztę można ściągnąć ze strony:
Rozszerzenie funkcjonalności systemów wiki w oparciu o wtyczki i Prolog
Knowledge Rozszerzenie funkcjonalności systemów wiki w oparciu o wtyczki i Prolog 9 stycznia 2009 Knowledge 1 Wstęp 2 3 4 5 Knowledge 6 7 Knowledge Duża ilość nieusystematyzowanych informacji... Knowledge
Dokumentacja kompilacji źródeł aplikacji 1.0
Projekt dofinansowany ze środków Mechanizmu Finansowego Europejskiego Obszaru Gospodarczego Dokumentacja kompilacji źródeł aplikacji Projekt: Wypracowanie i wdrożenie innowacyjnych metod integracji danych
MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty
MeetingHelper Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania Instrukcja obsługi dla programisty W tej części został zawarty opis uruchamiania projektu programistycznego,
media Wyszukiwanie pełnotekstowe z wykorzystaniem Search Engine
Wyszukiwanie pełnotekstowe z wykorzystaniem Search Engine Wyszukiwanie pełnotekstowe (ang. full-text search) - co to jest? Jest sposobem przeszukiwania danych tekstowych, który bazuje na analizie poszczególnych
Badanie struktury sieci WWW
Eksploracja zasobów internetowych Wykład 1 Badanie struktury sieci WWW mgr inż. Maciej Kopczyński Białystok 214 Rys historyczny Idea sieci Web stworzona została w 1989 przez Tima BernersaLee z CERN jako
Klasy i obiekty cz II
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy
Zaawansowane aplikacje internetowe
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Uwierzytelnianie użytkowników, Obiekt session, Silniki
Zaawansowane aplikacje internetowe laboratorium
Zaawansowane aplikacje internetowe laboratorium Web Services (część 2). Celem ćwiczenia jest przygotowanie prostej aplikacji prezentującej technologię usług sieciowych (ang. Web Services). Przygotowana
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko
Wprowadzenie do Doctrine ORM
Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,
Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13
Klasy Klasa to grupa obiektów, które mają wspólne właściwości, a obiekt jest instancją klasy. Klasa w języku Java może zawierać: pola - reprezentują stan obiektu (odniesienie do pola z kropką), methods
Laboratorium 1 Wprowadzenie do PHP
Laboratorium 1 Wprowadzenie do PHP Ćwiczenie 1. Tworzenie i uruchamianie projektu PHP w Netbeans Tworzenie projektu Uruchom środowisko NetBeans. Stwórz nowy projekt typu PHP Application (File->New Project,
PHP: bazy danych, SQL, AJAX i JSON
1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji
Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
Esri Geoportal Server informacje o produkcie
Esri Geoportal Server informacje o produkcie Esri Geoportal Server umożliwia wyszukiwanie i wykorzystywanie zasobów geoprzestrzennych obejmujących zestawy danych, dane rastrowe i usługi sieciowe. Pomaga
Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5
Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie
Pobieranie i przetwarzanie treści stron WWW
Eksploracja zasobów internetowych Wykład 2 Pobieranie i przetwarzanie treści stron WWW mgr inż. Maciej Kopczyński Białystok 2014 Wstęp Jedną z funkcji silników wyszukiwania danych, a właściwie ich modułów
Podstawy i języki programowania
Podstawy i języki programowania Laboratorium 7 - wprowadzenie do metod mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 27 listopada 2017 1 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki
Python wstęp. Michał Bereta www.michalbereta.pl
Python wstęp Michał Bereta www.michalbereta.pl Wprowadzenie... 1 Źródła wiedzy... 1 Uruchomienie interpretera Pythona... 2 Python jako kalkulator użycie interaktyne... 2 Uruchamianie skryptów z plików...
Wordpress. Wstęp do tworzenia pluginów. Piotr Wasilewski wasilewski.piotrek (at) gmail.com
Wstęp do tworzenia pluginów Piotr Wasilewski wasilewski.piotrek (at) gmail.com Akademickie Stowarzyszenie Informatyczne www.asi.pwr.wroc.pl Wrocław, 14 kwietnia 2011 1 2 3 4 tworzyć własną wtyczkę Czego
Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP
5.0 5.3.3.7 Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP Wprowadzenie Wydrukuj i uzupełnij to laboratorium. W tym laboratorium, będziesz korzystać z narzędzi administracyjnych
Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.
Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Celem ćwiczenia jest przygotowanie prostej aplikacji wykorzystującej architekturę CORBA. Aplikacja składa się z usługodawcy (serwera)
Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.
Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Usługi internetowe usługa internetowa (ang.
Multi-projekt z przedmiotów Inżynieria oprogramowania, Współczesne bazy danych i Programowanie w języku Java
Multi-projekt z przedmiotów Inżynieria oprogramowania, Współczesne bazy danych i Programowanie w języku Java Spis treści 1 Terminarz...3 2 Specyfikacja wymagań - założenia projektowe...4 2.1 Informacje
Zadanie programistyczne nr 3 z Sieci komputerowych
Zadanie programistyczne nr 3 z Sieci komputerowych 1 Opis zadania Celem tego zadania jest napisanie prostego serwera WWW, wyświetlającego strony z zadanego katalogu. W tym celu wykonaj następujące czynności
Programowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium JavaServer Pages Celem ćwiczenia jest zbudowanie kilku prostych stron internetowych z użyciem technologii JSP. Podczas ćwiczenia wykorzystany zostanie algorytm sortowania bąbelkowego
SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja
SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja Instytut Telekomunikacji Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska, marzec 2015 Wprowadzenie Ćwiczenie jest wykonywane
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1 Przykład 1- Wykonanie prostej aplikacji internetowej w technologii JavaEE w środowisku Netbeans 5.5 z wykorzystaniem
ApSIC Xbench: Szybki start wydanie 1 2008-2015 Mariusz Stępień http://mariuszstepien.net/ http://www.facebook.com/mariuszstepien.
ApSIC Xbench jest darmowym i niezwykle przydatnym programem w pracy tłumacza pisemnego korzystającego z narzędzi CAT. Otóż pozwala on przeszukiwać posiadane pamięci tłumaczeniowe (TM) można szukać pojedynczych
Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o
Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa
Ćwiczenie 2. Tworzenie serwisów internetowych. Zapoznanie z pakietem WebRatio
Ćwiczenie 2 Zapoznanie z pakietem WebRatio Zadaniem na drugie zajęcia będzie zapoznanie się z pakietem do wizualnego projektowania serwisów internetowych z wykorzystaniem języka WebML Uruchomienie i zapoznanie
Instalacja SQL Server Express. Logowanie na stronie Microsoftu
Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy
Projektowanie aplikacji w modelu MVC opartej o framework CodeIgniter
Projektowanie aplikacji w modelu MVC opartej o framework CodeIgniter Konfiguracja i przygotowanie przykładowej aplikacji opartej o model Model-View- Controller Konfiguracja frameworka Zainstaluj na serwerze
Technologie i usługi internetowe cz. 2
Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,
Aplikacje internetowe - laboratorium
Aplikacje internetowe - laboratorium Administracja serwerem aplikacji. Celem ćwiczenia jest zainstalowanie i administracja prostym serwerem aplikacji. Ćwiczenie zostanie wykonane przy użyciu popularnego
Tworzenie aplikacji w języku Java
Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009
Pomoc dla systemu WordPress
Pomoc dla systemu WordPress Ten plik pomocy przeznaczony jest dla pluginu stat24 w wersji 0.2. W tym pluginie porzucono wsparcie dla starszych wersji WordPress (niższych niż 1.5) oraz zrezygnowano z opcji
Zaawansowane aplikacje internetowe - laboratorium
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest