Spis treści 6/2008 (162) Aktualności 6. Tam byliśmy Opis CD 14. Felieton 78. Prenumerata PRO 79. Prenumerata 80.

Wielkość: px
Rozpocząć pokaz od strony:

Download "Spis treści 6/2008 (162) Aktualności 6. Tam byliśmy... 12. Opis CD 14. Felieton 78. Prenumerata PRO 79. Prenumerata 80."

Transkrypt

1

2

3

4 Spis treści 6/2008 (162) Aktualności 6 Tam byliśmy Opis CD 14 Felieton 78 Prenumerata PRO 79 Prenumerata 80 Zapowiedzi 82 Miesięcznik Software Developer s Journal (12 numerów w roku) jest wydawany przez Software-Wydawnictwo Sp. z o. o., ul. Bokserska 1, Warszawa Dyrektor Wydawniczy: Sylwia Pogroszewska Redaktor Naczelny: Iwona Chwedoruk, iwona.chwedoruk@software.com.pl Kierownik produkcji: Marta Kurpiewska, marta.kurpiewska@software.com.pl Opracowanie graficzne: Robert Zadrożny DTP Manager: Robert Zadrożny Projekt okładki: Agnieszka Marchocka Opracowanie CD: Tomasz Kostro Opracowanie aktualności: Rafał Kocisz Korekta: Piotr Ozaist Stali współpracownicy: Stefan Turalski, Rafał Kocisz Betatesterzy: R. Zacharczyk, G. Kwiatkowski, S. Nieszwiec Dział reklamy: reklama@software.com.pl Prenumerata: Marzena Dmowska pren@software.com.pl tel.: (22) ; (22) Drukarnia: Plus Media Nakład: egz. Adres korespondencyjny: Software-Wydawnictwo Sp. z o. o., ul. Bokserska 1, Warszawa redakcja@software.com.pl Redakcja dokłada wszelkich starań, by publikowane w piśmie i na towarzyszących mu nośnikach informacje i programy były poprawne, jednakże nie bierze odpowiedzialności za efekty wykorzystania ich; nie gwarantuje także poprawnego działania programów shareware, freeware i public domain. Uszkodzone podczas wysyłki płyty wymienia redakcja. Wszelkie znaki firmowe zawarte w piśmie są własnością odpowiednich firm i zostały użyte wyłącznie w celach informacyjnych. Płyta CD dołączona do magazynu przetestowano programem AntiVirenKit firmy G DATA Software Sp. z o.o. Redakcja używa systemu automatycznego składu Sprzedaż aktualnych lub archiwalnych numerów pisma po innej cenie niż wydrukowana na okładce bez zgody wydawcy jest działaniem na jego szkodę i skutkuje odpowiedzialnością sądową. Pismo ukazuje się w następujących wersjach językowych: polskiej, angielskiej. 4 Software Developer s Journal 6/2008

5 Programowanie Java Hibernate 54 Biblioteka miesiąca ActiveRecords nie tylko Rails 16 Marcin K. Paciulan Marcin przedstawia ActiveRecords jako ciekawą, prostą i posiadającą wiele możliwości bibliotekę. Dzięki zastosowaniu DRY i Convention over configuration implementacja wybranych rozwiązań jest szybka i przyjemna a co za tym idzie daje wiele satysfakcji. Jest to na tyle interesujące rozwiązanie że zasługuje na uwagę nawet jeżeli nie planujemy jego szerszego wykorzystania. SQAM/SQL Linq to SQL 24 Jacek Matulewski Jacek poruszając temat technologii LINQ pisze że zazwyczaj mówi się o osadzeniu języka SQL w języku C#. W przypadku LINQ to SQL zanurzenie to można rozumieć niemal dosłownie zapytanie LINQ jest w tym przypadku tłumaczone bezpośrednio na zapytanie SQL wysyłane do bazy danych SQL Server Programowania XML XML w większej Scali 34 Mariusz Róg Mariusz przedstawia niezbędne informacje o specyficznej funkcjonalności serwera Jboss w wersji 4.0, związanej z bazami danych i środowiskiem Hibernate. Jest to prosty przewodnik, w jaki sposób implementować taką funkcjonalność. Skierowany jest nie tylko do początkujących, ale również doświadczonych programistów Java EE, pragnących ułatwić sobie prace korzystając z mechanizmów automatycznego tworzenia i zarządzania fabryką sesji oraz hermetyzować warstwę bazy danych w kodzie i w wynikowej aplikacji jednocześnie zapewniając łatwy dostęp do obsługi bazy. Inżynieria oprogramowania Java Microedition 58 metody integracji aplikacji Albert Wachowicz Albert w artykule skupił się na sposobach integracji aplikacji klienta JME z aplikacją serwera. Zaprezentował krótki przegląd metod za pomocą których można skomunikować klienta z serwerem. Gruntownie zostaną opisane wybrane mechanizmy integracji, które obecnie są najczęściej stosowane. Na koniec zostanie przedstawiona ocena wybranych metod w odniesieniu do wszechstronnego zastosowania. Warsztat Unix Unix piszemy program na komórkę 68 Bartosz Taudul Bartosz napisał że w chwili obecnej system operacyjny Symbian ma największy udział w rynku smartfonów, jest więc interesującą platformą dla programistów. Wymagane narzędzia są dostępne jednak tylko dla użytkowników Windowsów, a samo programowanie przypomina wbijanie gwoździ bananem. Bartek przedstawia alternatywne podejście do tematu, które kładzie nacisk na wykorzystanie uniksowego doświadczenia czytelników, nie boi się przy tym krzyknąć, że król jest nagi. Piotr Kochański Piotr opisuje jak przetwarzanie dokumentów XML-owych stało się codziennością w niezliczonej liczbie różnego rodzaju aplikacji. XML jest używany najczęściej do przechowywania i udostępniania danych oraz do komunikacji między aplikacjami (usługi sieciowe SOAP). W artykule autor zajął się problemem przetwarzania dokumentów XML-owych, omówił również dlaczego bardzo często jest to niewdzięczne zadanie. Następnie przyjrzał się bliżej językowi programowania Scala. Programowanie gier i grafiki Mogile 3D Graphics 44 piszemy grę na komórkę Mirosław Skiba Mirosław kieruje artykuł do osób, które miały wcześniej styczność z programowaniem w języku Java oraz z technologią J2ME i pisaniem Midletów, czyli aplikacji działających na telefonach komórkowych. Tworzenie aplikacji oraz gier 2D było przedstawiane wielokrotnie w różnych publikacjach, również w Internecie można znaleźć wiele przykładów i stron poruszających tą tematykę. Dlatego też w niniejszym artykule skupimy się głównie na technologii tworzenia scen trójwymiarowych przy użyciu pakietu Mobile 3D Graphics. Software Developer s Journal 6/

6 Aktualności Adobe AIR dla Linuksa Firma Adobe udostępniła publiczną wersję alpha środowiska Adobe AIR (Adobe Integrated Runtime) dla Linuksa. Finalne wersje dla platform Windows i Mac OS dostępne są już od lutego. AIR (Adobe Integrated Runtime) jest wieloplatformowym środowiskiem uruchomieniowym dla aplikacji RIA tworzonych za pomocą HTML, Ajax, Flash i Flex. Dzięki AIR dla Linuksa, możliwe będzie uruchamianie aplikacji Adobe AIR także na na tej platformie. Adobe udostępniła również Adobe Flex Builder Linux Public Alpha 3, który umożliwia tworzenie wieloplatformowych aplikacji na Linuksie. Więcej na temat Adobe AIR dla Linuksa znaleźć można na stronie labs.adobe.com/technologies/air. Zainteresowani Flex Builderem dla Linuksa znajdą dodatkowe informacje na stronie labs.adobe.com/technologies/flex/ flexbuilder_linux milionów artykułów w Wikipedii Wikipedia, największa darmowa encyklopedia dostępna dla użytkowników za pośrednictwem Internetu posiada już w swojej bazie 10 mln artykułów. Wynik ten zanotowano w pierwszej połowie kwietnia br., po publikacji przez węgierskiego użytkownika Pataki Marta materiału biograficznego o angielskim złotniku i malarzu Nicholasie Hilliardzie. Pośród 10 mln artykułów, które w swojej bazie gromadzi Wikipedia znaleźć można wpisy w aż 250 językach, największa część z nich 2,3 mln napisana jest w języku angielskim. Projekt, który znany jest teraz pod nazwą Wikipedia uruchomiony został do użytku internautów 15 stycznia 2001 roku. Bardzo szybki rozwój tego przedsięwzięcia pozwolił po niedługim czasie określić Wikipedię mianem największej darmowej encyklopedii w Internecie, a fakt ten zawdzięczać trzeba internautom, którzy nad nią pracowali i nadal to robią. Warto też wspomnieć, że nieco wcześniej, 25 marca br. fundacja Alfreda P. Sloana ogłosiła o przekazaniu Fundacji Wikimedia wsparcia finansowego w kwocie trzech milionów dolarów wypłacanych w trzech równych rocznych transzach. Dotacja ma być przeznaczona na rozwój organizacyjny Wikimedii, a także ma pomóc podnieść jakość treści przedsięwzięć oraz wzbogacić jej serwisy. Sue Gartner z Fundacji Wikimedia, oświadczyła o uczuciu ogromnej wdzięczności za tak hojny dar. Powiedziała też, że pozwoli on osiągnąć postęp w wielu kluczowych sprawach: podniesieniu jakości, poszerzeniu współuczestnictwa oraz dostarczaniu uwolnionej wiedzy ludziom pozbawionym dostępu do Internetu. Doron Weber, dyrektor programowy Fundacji Sloana, podkreślił, że Wikipedia będąc największą encyklopedią w historii ludzkości i znajdując się w pierwszej dziesiątce witryn www na świecie stanowi przełom w gromadzeniu wiedzy ludzkiej bez jakiejkolwiek stronniczości, a wspieranie jej stanowi wielką radość. Dotacja ma miejsce w krytycznym momencie w historii Fundacji Wikimedia, po przeniesieniu jej biura do San Francisco i wzroście zatrudnienia z 10 do 15 osób. Planowany jest dalszy wzrost zespołu do 25 osób w 2010 roku. Natomiast środki będą przeznaczone przede wszystkim na rozwój oprogramowania dla obsługi stabilnych wersji artykułów. Ponadto będzie rozwijana Akademia Wikipedii, która będzie kierowała swoją ofertę kształcenia z technicznej wikiwiedzy do środowisk akademickich oraz ludzi starszych, co pozwoli zniwelować bariery ich dołączenia do społeczności autorów Wikipedii. Yahoo! nadal niezdecydowane Po ponad dwóch miesiącach od oferty zakupu firmy Yahoo! przez Microsoft niewiele się w tej sprawie zmieniło. Pomimo wysokiej ceny 31 dolarów za akcję (o 62% większej, niż ówczesna wycena rynkowa - łącznie aż 44,6 mld dolarów) zarząd Yahoo! nie zechciał zgodzić się na negocjacje z Microsoftem, a prowadzone równolegle poszukiwania alternatywnych rozwiązań nie przyniosły rezultatów. W tej sytuacji Microsoft zaczął tracić cierpliwość, a dyrektor wykonawczy Steve Ballmer w liście otwartym do zarządu Yahoo! wprost postawił ostateczne ultimatum. Przedstawiając tak hojną ofertę, naszym celem było dokonanie szybkiej i przyjaznej transakcji tłumaczył Microsoft. Nasza propozycja jest jedyną, która zapewni waszym akcjonariuszom pełną, uczciwą wartość akcji czytamy dalej w liście. Microsoft przypomniał też, że po szybkim wystrzale cen akcji w reakcji na złożoną ofertę, wartość Yahoo! na rynku znacząco spadła, a i w oczach analityków perspektywy firmy nie są zadowalające. Również biorąc pod uwagę pogarszającą się sytuację ekonomiczną Microsoft dał wyraźnie do zrozumienia, że cena, jaką zaproponował jest bardzo atrakcyjna i jej odrzucenie jest dużym błędem. W ten sposób Microsoft poinformował zarząd Yahoo!, że jeśli nie podejmie on oficjalnych negocjacji zmierzających do sfinalizowania przejęcia, firma przystąpi do zdecydowanie bardziej agresywnego planu wykupu akcji bezpośrednio od akcjonariuszy. Ostrzegł przy tym, że w takim wypadku odbędzie się to z dużo mniejszymi korzyściami dla Yahoo!, jego akcjonariuszy oraz klientów. Jerry Jang, CEO firmy Yahoo! odpowiedział na list Stevena Ballmera z Microsoftu również w postaci publicznego oświadczenia prasowego. Tłumaczył on, że Microsoft błędnie informuje opinię publiczną, że w ogóle nie podjęto negocjacji Yahoo! po prostu odrzuciło ofertę Microsoftu z powodu jej niskiej, w przekonaniu zarządu, wartości. Członkowie zarządu wnikliwie przeanalizowali propozycję Microsoftu i zgodnie doszli do wniosku, że nie leży ona w najlepszym interesie Yahoo! i jego akcjonariuszy, dlatego odrzuciliśmy ją publicznie czytamy w liście. Dalej Jang tłumaczył, że z planów przedstawionych przez zarząd na najbliższe trzy lata jasno wynika, że wycena Yahoo!, jaką proponuje w swojej ofercie Microsoft jest zdecydowanie niedoszacowania, a firma posiada większą wartość osobno niż gdyby miała zostać wcielona do korporacji z Redmond. Yahoo! zwraca również uwagę, że cena jego akcji wzrosła, a Microsoftu spadła od dnia złożenia oferty. W związku z tym, że połowa kwoty 44,6 mld dolarów miała zostać zapłacona własnymi akcjami, łączna wycena jest według Janga tym bardziej nieadekwatna do stanu rzeczywistego. Poza tym, już bardziej personalnie, Jang wytknął Ballmerowi fakt, że sam osobiście uczestniczył jedynie w dwóch z trzech sesji negocjacyjnych i nie wykorzystał tego do rozszerzenia dyskusji. Microsoft wbrew zobowiązaniom nie dostarczył także dokumentacji związanej z kwestią postępowania antymonopolowego (nieuniknionego w przypadku tak dużego przejęcia), o którą prosiło Yahoo!. Krytyczny ton wypowiedzi w liście zwrotnym nie oznacza bynajmniej, że Yahoo! w ogóle nie bierze pod uwagę interesów z Microsoftem w przyszłości. Jesteśmy otwarci na wszelkie możliwości tak, by zmaksymalizować wartość kapitału akcyjnego, włączając w to także transakcję z Microsoftem, jeśli cena będzie w pełni oddawała realną wartość naszej firmy zapewnił Jang. Na koniec dodał: Nie pozwolimy ani wam, ani nikomu przejąć firmy za mniej, niż jest warta Software Developer s Journal 6/2008

7 Windows Seven w przyszłym roku? Chiny znoszą blokadę Wikipedii Chińskie władze postanowiły znieść blokadę anglojęzycznej wersji internetowej encyklopedii Wikipedia, jednakże niektóre drażliwe politycznie tematy, takie jak niepodległość Tybetu, czy wydarzenia na placu Tienanmen w dalszym ciągu pozostają niedostępne. Użytkownicy Sieci w Pekinie i Sznaghaju potwierdzili, iż dostęp do angielskiej Wikipedii został odblokowany. Edycja narodowa natomiast w Bill Gates oświadczył, że następca Windows Vista pojawi się w przyszłym roku lub nieco później. Następnie rzecznik Microsoftu dodał, że nowy Windows ma się pojawić mniej więcej w trzy lata po debiucie Visty w styczniu 2007 roku. Nadal więc dokładna data premiery nie jest znana. Nie zna jej też sama korporacja. Nie wiadomo też do końca czy Gatesowi chodziło o premierę nowego systemu czy też raczej wczesne wersje alfa. Microsoft zapowiedział już, że podczas zbliżającej się konferencji MVP Global Summit nie zdradzi żadnych szczegółów na temat Windows Seven. Niemniej wydanie następcy Visty w 2009 roku jest bardzo mało prawdopodobne. Prawie na pewno będą opóźnienia więc bardziej realnym terminem jest koniec roku Tymczasem pojawiło się trochę nowych danych na temat Windows Seven. Wiadomo, iż jego cechą charakterystyczną będzie modułowość. Duży, monolityczny system jest trudny w tworzeniu i utrzymaniu. Ponadto postępowania antymonopolowe wymusiły możliwość usuwania niektórych komponentów. Microsoft chce też rozwinąć mechanizm subskrypcji pozwalający dokupować funkcjonalność. Pierwsze oznaki modułowości były widoczne już w Viście. Była ona dostępna w większej ilości wersji niż Windows XP i oferowała funkcję Anytime Upgrade umożliwiającą łatwy upgrade do droższej wersji. Zwiększanie modułowości pociąga za sobą zwiększenie niezależności komponentów. Ta z kolei oznacza duplikowanie funkcjonalności. W systemie pojawia się więcej plików, które robią to samo. Rozrost systemu powoduje jednak zmniejszenie wydajności. Problemem jest też konieczność utrzymania kompatybilności wstecz. Vista stosuje w tym celu mechanizm WinSxS, który przechowuje wiele wersji tej samej biblioteki. Było to pewne rozwiązanie problemu DLL-hell, gdzie instalowana aplikacja podmieniała biblioteki używane przez inne. Oznacza to jednak niejednokrotnie zajęcie dużej ilości miejsca na dysku. Jak więc Microsoft zamierza uporać się z kompatybilnością? Otóż Windows Seven nie będzie kompatybilny z poprzednimi wersjami. Nie będzie kompatybilności binarnej, częściowo także na poziomie źródeł. Tak zrobiło Apple wprowadzając Mac OS X i odniosło sukces. Nie mogło jednak nie zadbać o stare aplikacje. Choć nowy system nie był z nimi zgodny to wprowadzono w nim dwa rozwiązania: Classic oraz Carbon. Classic był zbiorem binarnej warstwy abstrakcji oraz API, który umożliwiał uruchamianie starych programów w pewnego rodzaju maszynie wirtualnej. Carbon z kolei umożliwiał działanie starych aplikacji po ich rekompilacji. Mac OS X posiadał jeszcze środowisko Cocoa, które było jego środowiskiem natywnym. Tak samo chce zrobić Microsoft w Windows Seven. Ma w tym już pewne doświadczenie, we współczesnych Windowsach programy DOSowe są uruchamiane wewnątrz NTVDM. Nowy Windows będzie wspierać stare API (COM, ATL,.NET Framework) za pomocą monolitycznych bibliotek oferujących funkcjonalność wszystkich dotychczasowych wersji. Programiści będą też mieli możliwość kompilacji starych programów pod nowy system. dalszym ciągu jest zakazana. Podczas gdy chińscy użytkownicy mogą dowiedzieć się z Wikipedii sporo o Johannie Sebastianie Bachu, to po wpisaniu hasła Tibet przeglądarka odmawia połączenia ze stroną. Decyzja władz została podyktowana sugestiami Międzynarodowego Komitetu Olimpijskiego, który zalecił, iż w czasie trwania olimpiady Internet musi być siecią otwartą. Co nowego w Firefoksie 4? Choć jeszcze nie pojawił się Firefox 3, już planowana jest wersja 4 tej popularnej przeglądarki. Chris Beard z Mozilla Labs zauważa, że koncepcja działania przeglądarki internetowej praktycznie nie zmieniła się przez ostatnie 10 lat. Nadal jest odrębną aplikacją. Bear uważa, że potrzebna jest ewolucja. W przypadku Firefoksa planowane są dwa kierunki: integracja z systemem operacyjnym oraz powiązanie z usługami sieciowymi. Integracja z systemem brzmi znajomo. Taki ruch wykonał Microsoft wraz z Internet Explorerem 4. Z jednej strony wprowadziło to nowe funkcje do Windows oraz udostępniło nową funkcjonalność programistom, z drugiej sprawiło, że dziury w IE zaczęły zagrażać także innym programom oraz przyniosło procesy o naruszenie zasad uczciwej konkurencji. Mozilla chce pójść w trochę innym kierunku. Jej zamiarem jest umożliwienie uruchamiania aplikacji webowych jak zwykłych programów desktopowych. W tym celu powstał projekt Prism, w ramach którego udostępniany jest programistom silnik przeglądarki. Za jego pomocą ich aplikacje mogą być uruchamiane bez włączania całego Firefoksa. Bardzo ważnym aspektem tego przedsięwzięcia jest umożliwienie działania aplikacjom webowym bez połączenia z Internetem. Realizowane jest to z wykorzystaniem języka HTML 5, który daje dostęp do zasobów offline. Rozwijana przez Mozillę technologia będzie mogła zagrozić rozwiązaniom konkurencyjnym, takim jak Google Gears, Adobe AIR oraz Microsoft Silverlight. Rozwój w kierunku usług internetowych oznacza uwolnienie użytkownika od jego komputera. Założeniem jest, aby ulubione, zapamiętane hasła czy strony startowe były dostępne z każdego miejsca. Byłyby one przechowywane w serwisie webowy, z którego przeglądarka by je pobierała. Pierwsze kroki można zobaczyć już w Firefoksie 3. Posiada on transakcyjną bazę danych przechowującą ustawienia użytkownika. Nie jest ona jeszcze używana do synchronizacji ustawień, ale zapewne stanie się to w wersji 4. W wersji 3 jest za to obecny inny mechanizm synchronizacyjny: co 30 minut pobierane są sygnatury szkodliwego oprogramowania. Wśród planowanych nowości jest m.in. uczynienie niektórych funkcji bardziej inteligentnymi. Przykładem jest obecne w wersji 3 podpowiadanie adresów internetowych na podstawie analizy dotychczasowe historii oglądanych stron. Wersja 4 miałaby przynieść elementy tzw. lingwistycznego interfejsu użytkownika, który pozwalałby wpisywać frazy w języku naturalnym. Planowane są też inne funkcje, największy jednak nacisk będzie położony na omówione technologie Prism i Weave. Boost Programiści pracujący z językiem C++ ucieszą się zapewne na wieść o wydaniu kolejnej odsłony pakietu bibliotek Boost, oznaczonej numerem W skład tego pakietu weszło 12 nowych bibliotek: Asio, Bimap, Circular Buffer, Function Types, Fusion, GIL, Interprocess, Intrusive, Math/Special Functions, Math/Statistical Distributions, MPI (Message Passing Interface) oraz System. Oprócz tego w nowej wersji Boost wprowadzono szereg poprawek w istniejących już bibliotekach. Na szczególną uwagę zasługuje biblioteka Boost.Threads, która została uaktualniona tak aby odzwierciedlić zmiany poczynione przez komitet C++ w trakcie prac nad standardem C++0x. Warto zapoznać się również z nową odsłoną biblioteki Wave w przykładach dołączonych do tej biblioteki pojawił się Hannibal parser podzbioru składni języka C++ autorstwa Ben Hansona. Pełny opis nowej odsłony Boost można znaleźć pod adresem users/news/version_1_35_0. Software Developer s Journal 6/

8 Aktualności Włamanie na Leoparda w 2 minuty MacBok Air stał się pierwszą ofiarą tegorocznej edycji hackerskiego konkursu Pwn2Own. Włamanie się do systemu Mac OS X 10.5, zainstalowanego na laptopie, zajęło specjaliście do spraw bezpieczeństwa Charliemu Millerowi jedynie 2 minuty! Do włamania Miller wykorzystał nieznaną wcześniej lukę w przeglądarce Safari. Miller odkrył rzeczoną wadę Safari i dzięki temu wygrał 10 tys. dolarów i dostał laptopa na własność. W tegorocznej edycji konkursu organizatorzy postanowili, jako cele ataków, podać trzy systemy: Windows Vista, Ubuntu Linux i Mac OS X, zainstalowane na trzech laptopach. Zwycięzca, który pierwszy przejmie kontrolę nad systemem, zabiera ze sobą nagrodę pieniężną i laptopa, na którego udało mu się włamać. W pierwszym dniu konkursu dozwolone były jedynie ataki sieciowe i żadnemu z uczestników nie udało się przejąć kontroli nad systemem. Drugiego dnia, w którym ofiarą padł Leopard, uczestnicy mogli używać przekierowań na strony www oraz załączników wiadomości jako narzędzi. Czas, w jakim Miller przejął kontrolę nad systemem, świadczy jedynie o tym, ze miał w posiadaniu wcześniej przygotowany kod exploita. Wynik nie jest żadnym zaskoczeniem, ponieważ od dawna wiadomo, że oprogramowanie firmy Apple zdecydowanie traci na bezpieczeństwie (świadczą o tym chociażby kolejne luki w aplikacjach QuickTime i Safari). Zwycięzca konkursu od razu podpisał umowę z zarządem Apple, w której zobowiązał się do nieujawniania szczegółów swojego ataku dopóki luka nie zostanie naprawiona. Drugą ofiarą ataku został Windows Vista, w którym również została znaleziona luka. Laptop pracujący pod kontrolą tej platformy został zhakowany w trzecim dniu zawodów Pwn2Own. Uczestnicy konkursu: Shane Macaulay, Derek Callaway oraz Alexander Sotirov złamali jeden z czołowych produktów Microsoftu poprzez nie wykrytą wcześniej lukę w oprogramowaniu Adobe Flash. Z racji tego, że miało to miejsce dopiero trzeciego dnia, kiedy to można było wykorzystać dowolne oprogramowanie zainstalowane w systemie do przejęcia kontroli nad środowiskiem operacyjnym otrzymali oni nagrodę pieniężną wynoszącą tylko 5 tys. USD. Na koniec warto dodać, iż notebook z systemem Ubuntu Linux do tej pory pozostał nienaruszony. Microsoft patentuje samoinstalujące się urządzenia W ramach ciekawostki warto przyjrzeć się interesującemu rozwiązaniu, które zostało niedawno opatentowane przez Microsoft. Wszyscy znamy standard Plug and Play, który umożliwia łatwe wykrycie nowo podłączonego urządzenia. Niestety, jeśli w systemie akurat nie wbudowano odpowiednich sterowników lub sprzęt jest nowszy niż system, bez pobierania plików z Internetu lub szukania dołączonej do zestawu płyty się nie obejdzie. Co innego w sytuacji, gdy podłączone zostanie urządzenie z technologią Self-Installig Computer Peripherals opatentowaną przez Microsoft. Urządzenia takie będą bowiem zawierać niewielką, wbudowaną pamięć flash. W tej pamięci producent osadzi najnowsze pliki sterowników i inne oprogramowanie, które zostanie w razie konieczności zainstalowane automatycznie przy podłączeniu sprzętu. Pamięć będzie zapisywalna dzięki temu wbudowane sterowniki będzie można nadpisać nowszą wersją i wykorzystać dalej, na przykład na innym komputerze. Póki co wygląda na to, że rozwiązanie to będzie dostępne tylko dla sprzętu podłączanego przez USB. Być może w przyszłości zostanie rozszerzone także na inne urządzenia. Mozilla świętuje 10 urodziny OpenOffice.org 2.4 Wydano finalną wersję pakietu biurowego OpenOffice.org 2.4. W wydaniu 2.4 znajdziemy kilka długo wyczekiwanych funkcji i całkiem sporo mniejszych usprawnień. Z ogólnych zmian, które zostały wprowadzone w tej wersji należy przede wszystkim wymienić przyśpieszone ładowanie się pakietu i poprawę szybkości jego działania. Wzbogacono i usprawniono opcję eksportu do formatu PDF, m.in o możliwość osadzania odnośników względnych wewnątrz dokumentu. Można również tworzyć zaszyfrowane, długoterminowo ważne archiwa w formacie PDF/A. Pakiet wzbogacił się o moduł automatycznej aktualizacji rozszerzeń, a deweloperom rozszerzeń umożliwiono tworzenie plików pomocy. Sporo zmian znajdziemy także w poszczególnych aplikacjach. We Writerze pojawił się pasek kontroli języka który z pewnością ułatwi korektę treści w dokumentach wielojęzycznych wyrażenia regularne w opcji Znajdź i Zastąp oraz tryb selekcji blokowej. Calc 2.4 pozwala na konwersję tekstu do kolumn, ręczne sortowanie w Pilocie Danych na zasadzie przeciągnij i upuść czy kopiuj i wklej, usuwanie kolumn i wierszy z arkusza, indywidualne 31 marca 1998 roku firma Netscape udostępniła kody źródłowe przeglądarki Netscape Navigator, co dało początek przeglądarce Mozilla. Ruch ten miał pomóc w walce o udział w rynku przeglądarek z gwałtownie zwiększającym popularność Internet Explorerem Microsoftu. Netscape zamierzał używać kodu rozwijanego przez wolontariuszy dla doskonalenia własnej przeglądarki. Początki były trudne po wielu wersjach deweloperskich, pierwsza finalna wersja Mozilli wydana została dopiero 5 czerwca 2002 roku. Mozilla od początku nie była w istocie tylko przeglądarką stron internetowych tak jak swój pierwowzór zawierała także klienta poczty i grup dyskusyjnych, prosty edytor stron oraz klienta IRC. Z czasem projekt został przeobrażony w Fundację Mozilla pod której skrzydłami rozwijany był pakiet Mozilla Suite. Sukcesywnie zdobywał on coraz większe uznanie użytkowników. Równolegle, z rozbudowanego pakietu wyodrębniono i niezależnie rozwijano samodzielne aplikacje przeglądarkę internetową Mozilla Firefox (pierwotnie Phoenix) oraz klienta poczty Thunderbird. W ciągu kilku lat Firefox zdobył wielokrotnie większą popularność nie tylko od Mozilli Suite ale i od Netscape Navigatora, który był jej pierwowzorem. Do tego stopnia, że zaprzestano rozwijania Mozilli Suite (jej kontynuacją jest SeaMonkey), a firma AOL, będąca obecnie właścicielem marki Netscape, podjęła decyzję o zaprzestaniu rozwoju Netscape Navigatora. Przez 10 lat przeglądarki z rodziny Mozilla podbiły serca Polaków. Według najnowszego badania gemiustraffic, korzysta z nich już ponad 36% polskich użytkowników. Słabsze wyniki są na świecie według danych NetApplications, z Firefoksa i Mozilli korzysta jedynie około 18% użytkowników, a niekwestionowanym liderem w dalszym ciągu jest Internet Explorer z udziałem blisko 75%. Z okazji 10 urodzin, Mozilli życzymy wszystkiego najlepszego! Więcej na temat 10 rocznicy można przeczytać na stronach Mozilli. powiększenie i wydruk wybranego arkusza oraz przyśpieszono działanie funkcji VLOOKUP i MATCH. Także w module wykresów poczyniono kilka istotnych zmian. Dodano m.in. możliwość wyświetlania równania dla prostej regresji liniowej obok tej prostej, odwrócenia osi, wyświetlenia opisów kolumn wykresu słupkowego na oddzielnych osiach, wyświetlania zarówno wartości liczbowych, jak i procentowych. W Impressie dużą nowością są efektowne przejścia 3D między slajdami, przypominające te z Compiza niestety dostępne wyłącznie pod Linuksem. Oprócz tego Impress doczekał się opcji ustaw obrazek jak tło w menu kontekstowym, a tytuły slajdów przy eksporcie do PDF-a są konwertowane na zakładki. Ponadto OpenOffice.org dla MacOS X został zintegrowany z książką adresową, QuickTimem oraz z systemowym słownikiem Software Developer s Journal 6/2008

9 Polscy producenci oprogramowania na targach CeBIT 2008 Targów CeBIT nie trzeba chyba nikomu przedstawiać. Tegoroczna edycja choć nie potwierdziła, że nasz kraj jest kuźnią informatyków to mimo wszystko dała powody aby uważać, że w działce produkcji oprogramowania Polska stoi coraz lepiej. Rozwiązań o szerokim zastosowaniu było co prawda tylko kilka, aczkolwiek sporo firm zaprezentowało unikalne technologie. Najbardziej znanym polskim producentem oprogramowania, goszczącym podczas CeBITu 2008, był krakowski Comarch, który poprzez swoją niemiecką spółkę-córkę Comarch Software AG przedstawił systemy do zarządzania przedsiębiorstwem klasy ERP oraz aplikacje do elektronicznej wymiany dokumentów EDI. Warto zaznaczyć, że firma zainwestowała w tym roku w nową ekspozycję nowy stand Comarchu przyciągał uwagę gości swoją niezwykłą konstrukcją, w której dominowały dwie zaokrąglone belki unoszące się nad całą powierzchnią stoiska zajmującego w sumie 273 m2. Comarch był też obecny na panelach dyskusyjnych i zaprezentował się podczas ERP-Forum CeBIT. Niestety innych polskich producentów aplikacji o (stosunkowo) szerokim zastosowaniu można policzyć na palcach jednej ręki. Podczas CeBITu 2008 obecne były jeszcze LSI Software producent branżowego oprogramowania ERP dla sektorów sprzedaży detalicznej oraz gastronomiczno-hotelarskiego, MadKom firma tworząca systemy do elektronicznego obiegu dokumentów dla administracji publicznej, a także AdRem Software producent oprogramowania do zarządzania i monitorowania sieci oraz administrowania serwerami. Statystycznie, dużo lepiej wypadamy na polu niszowych firmy, Gates trzeci w rankingu Forbes Według nowo opublikowanego zestawienia najbogatszych ludzi na świecie przez magazyn Forbes wynika, że Bill Gates stracił długo utrzymywaną pozycję lidera rankingu. Spadek zapoczątkowany został już w lipcu ubiegłego roku. Wynikiem tego jest zajęcie w najnowszym zestawieniu owego rankingu dopiero trzeciej pozycji. Wyższe pozycje zajęte zostały przez Warrena Buffeta i meksykańskiego giganta telekomunikacyjnego, Carlosa Slim Helu. Mówi prezentujących nie tyle klasyczne aplikacje, co opracowane przez siebie unikalne technologie. W tym gronie znalazły się m.in. IVO Software producent znanego w Polsce syntezatora mowy IVONA, Inteli- WISE twórca rozwiązań opartych na algorytmach sztucznej inteligencji, wykorzystywanych do obsługi użytkowników w Internecie, Fido Intelligence producent systemów przetwarzających język naturalny, czyli takich które umożliwiają szybką komunikację człowieka z komputerem przy użyciu języka potocznego, i3d firma tworząca rozwiązania w zakresie wirtualnej rzeczywistości czy IMA- GIS znany producent map cyfrowych oraz systemów nawigacyjnych. Zaprezentował się także PWN ze swoim systemem tłumaczeń Translactica. Pozostałymi wystawcami byli głównie producenci i dystrybutorzy akcesoriów GSM oraz komputerowych. Mocną reprezentację mieli także producenci szaf teleinformatycznych oraz zasilaczy awaryjnych. Pełną listę polskich firm można znaleźć na stronach targów. W sumie Polskę reprezentowało ponad 30 firm. się, że ten spektakularny spadek pozycji Gatesa na dalsze pozycje spowodowany jest wahaniami akcji Microsoftu oraz podjęciem decyzji o opuszczeniu pełnoetatowej pracy w korporacji na rzecz działalności charytatywnej. Mimo to jednak oszczędności Gatesa szacowane są na 58 miliardów dolarów, przekraczając czternastokrotnie zyski sagi Gwiezdnych Wojen uzyskane na przełomie ostatnich trzydziestu lat. MySpace konkurencją dla itunes Jeden z największych portali społecznościowych na świecie MySpace.com znany z promowania młodych artystów stanie się niebawem konkurencją dla sklepu internetowego itunes należącego do Apple. Portal MySpace nawiązał współpracę z trzema największymi wytwórniami fonograficznymi Universal Music, Sony BMG i Warner Music oraz negocjuje z EMI, w rezultacie czego niebawem w ofercie MySpace.com pojawi się muzyka, dzwonki do telefonów komórkowych oraz bilety na koncerty, które będzie można zakupić. W zamian wytwórnie muzyczne otrzymają udziały w serwisie MySpace Music, a z kolei jego użytkownicy będą mogli bezpłatnie przeglądać zamieszczone tam materiały oraz dokonywać zakupów tych wybranych. Warto dodać, że już wiele serwisów próbowało rywalizować ze sklepem internetowym itunes, lecz rezultaty były marne. MySpace ma tę przewagę, że dysponuje ogromną bazą zarejestrowanych użytkowników, na które serwis Apple musiałby długo jeszcze pracować. Google Docs w wersji offline! Cieszą się użytkownicy hostowanego pakietu biurowego Google Docs and Spreadsheets; funkcjonalność pakietu została przeniesiona również do trybu offline. Jest to możliwe za sprawą technologii Google Gears, stanowiącego rozszerzenie przeglądarki internetowej umożliwiającemu korzystanie z aplikacji bez aktywnego połączenia z serwerem. W ten sposób pracuje już między innymi czytnik newsów RSS, Google Reader. Teraz przyszła pora także na Google Docs and Spreadsheets. Użytkownicy Google Docs już teraz mogą więc cieszyć się dostępem do swoich dokumentów i ich edycją w czasie podróży, bez dostępu do Internetu. Wdrożenie usługi przebiega stopniowo zmiany obejmą więc wszystkich użytkowników dopiero za jakiś czas. Czy Microsoft ze swoim pakietem Office powinien już obawiać się nowego konkurenta? W tej chwili funkcjonalność pakietu Google raczej nie pozwala w pełni konkurować z Microsoft Office, ale wraz z rozwojem oprogramowania z pewnością warto będzie do tej kwestii wracać. Zastanawia jeszcze tylko, dlaczego trybu offline nie mogą doczekać się takie usługi jak Gmail czy Google Calendars. Microsoft traci w oczach klientów biznesowych Firma CoreBrand opublikowała najnowszy raport z badania reputacji 100 czołowych marek najważniejszych światowych korporacji. Największy spadek w tym swoistym rankingu odnotował Microsoft. Jeszcze w 1996 roku Microsoft zajmował pierwszą pozycję w tym rankingu. Z biegiem czasu pozycja ta jednak spadała w roku 2004 producent zajmował już tylko 12 miejsce, a w W badaniu za 2007 rok Microsoft osiągnął dopiero 59 lokatę przy największym spadku (o 21 pozycji) wśród wszystkich marek objętych badaniem. Ranking powstał na podstawie 12 tys. ankiet telefonicznych przeprowadzonych wśród pracowników decyzyjnych reprezentujących największe przedsiębiorstwa działające na terenie Stanów Zjednoczonych. Wśród potentatów branży IT, najwyższe, 18 miejsce zajmuje IBM (spadek o 2 pozycje). Największy wzrost udało się osiągnąć Toshibie (awans z 81 na 71 pozycję). Software Developer s Journal 6/

10 Aktualności Sprzedaż Windows XP przedłużona Microsoft poinformował o przedłużeniu terminu sprzedaży systemu Windows XP na komputerach typu ULCPC (ultra-low-cost PCs). Michael Dix, dyrektor generalny odpowiedzialny za klienckie edycje systemów, powiedział, że już od dłuższego czasu napływały do korporacji informacje, od partnerów OEM, z prośbami o przedłużenie sprzedaży Windowsa XP, motywując je ociężałością nowego dziecka Microsoftu oraz kompatybilnością ogromnej ilości aplikacji. Microsoft umożliwi więc sprzedaż Windowsa XP na potrzeby tanich komputerów aż do 2010 roku, czyli rok po tym jak światło dzienne ma ujrzeć następca Visty. Jednocześnie Microsoft potwierdził informacje o tym, że nie ma w planach przedłużania o kolejne lata sprzedaży Windowsa XP dla zwykłych użytkowników, zwracając przy tym uwagę na rekordową, bo liczącą ponad sto milionów kopii, sprzedaż Visty oraz kompatybilność sprzętu i aplikacji. Według podanych informacji, blisko 2500 aplikacji oraz urządzeń otrzymało certyfikat zgodności z nowym systemem Microsoftu. USA udostępnianie muzyki w P2P legalne? Prztyczek w nos dostała Recording Industry Association of America (RIAA), organizacja zrzeszającej wykonawców muzycznych i zajmującej się ochroną ich praw. W ostatnich latach RIAA znana jest między innymi z głośnych procesów o naruszenie praw własności intelektualnej poprzez udostępnianie plików muzycznych za pośrednictwem sieci peer-to-peer. Trudno jednak powiedzieć, by ostatnie orzeczenie sędziego Kennetha Karasa było dla RIAA całkowicie pomyślne. W sprawie RIAA kontra Tenise Barker sędzia sądu stanowego w Nowym Jorku stwierdził bowiem, że sam fakt udostępniania plików w programie KaZaa nie jest naruszeniem prawa. Należy jeszcze wykazać, że doszło do faktycznego skopiowania pliku do innego użytkownika. Nie jest to jednak zbawienne orzeczenie dla Tenise Barker, która wystąpiła o uchylenie negatywnego dla siebie wyroku z 2005 roku. W tym konkretnym przypadku RIAA twierdzi, że posiada wymagane dowody dystrybucji plików i jeśli będzie w stanie przedstawić je przed sądem, rzeczywiście może jeszcze wygrać. Niemniej, w amerykańskim prawie orzecznictwo w dużej części opiera się na precedensach, stąd można spodziewać się, że organizacja w przyszłości nie będzie już mogła tak łatwo występować do sądu przeciwko innym internautom udostępniającym pliki. Orzeczenia ze Stanów Zjednoczonych oczywiście nie mają żadnego przełożenia na polskie sądy i ich wyroki. W Polsce nie mamy też do czynienia z prawem precedensowym. Office Open XML standardem ISO Format Office Open XML (OOXML) został zaaprobowany przez International Organization for Standardization (ISO). Format Microsoftu uzyskał 24 głosy przy ośmiu przeciwnych. Daje to 75% poparcia, więcej niż wymagane 2/3. Przy uwzględnieniu głosów krajów, które nie mają statusu tzw. P-członków poparcie wyniosło 86%. Dziewięć krajów wstrzymało się od głosowania. Dokument ISO można znaleźć pod adresem http: // DIS_29500.pdf. Organizacja standaryzacyjna Ecma wydała oświadczenie, w którym wyraża zadowolenie z uznania OOXML za standard i uważa to za duży krok. Microsoft, jak się nietrudno domyślić, zareagował entuzjastycznie. Zakończył się więc okres niepewności i napięcia. OOXML, którego procesowi standaryzacyjnemu towarzyszyło wiele kontrowersji i nieprawidłowości został zaakceptowany jako oficjalny standard ISO. index.php?p=986 Program stażowy Enter 2008 w Altkom Software & Consulting Odbywanie praktyk zawodowych w instytucjach państwowych czy prywatnych firmach stało się wśród studentów polskich uczelni powszechne. Każdy student poważnie myślący o swojej przyszłej karierze zawodowej ma praktyki na stałe wpisane do kalendarza zajęć akademickich. Adresowane do studentów czasopisma młodzieżowe, działające przy uczelniach wyższych biura karier czy odbywające się cyklicznie imprezy targowe regularnie dostarczają zainteresowanym informacji o aktualnych ofertach. Przeglądając je, można dojść do wniosku, że praktyki są dostępne właściwie w każdej, mniejszej lub większej, firmie, a zainteresowani mogą przebierać w ofertach, dobierając je stosownie do własnych potrzeb i oczekiwań. Czy propozycje stażowe pracodawców pokrywają się jednak w pełni z oczekiwaniami studentów i rzeczywiście są startem do kariery? Czy w każdej firmie oferującej praktyki zawodowe zainteresowani mogą liczyć na zatrudnienie po zakończeniu okresu stażowego? Firmy zazwyczaj proponują bezpłatne (rzadziej płatne) praktyki na okres od 1 do 6 miesięcy. Większość ofert stażowych jest do siebie bardzo podobna stażysta, po uzyskaniu odpowiedniego zaświadczenia o odbyciu praktyki, najczęściej wraca na uczelnię albo od razu trafia na rynek pracy i na własną rękę szuka pierwszego pracodawcy. Tak jest prawie we wszystkich przypadkach. Wyjątek stanowi niewątpliwie Program stażowy Enter, przygotowany przez Altkom Akademię z myślą o młodych informatykach. Różni się on od innych ofert stażowych właściwie pod każdym względem: PRAKTYKA GRUPOWA Altkom jednorazowo przyjmuje grupę 24 stażystów po osiem osób na każdą z proponowanych ścieżek zawodowych; CZAS TRWANIA 21 miesięcy, z czego trzy pierwsze miesiące obejmują szkolenie specjalistyczne w obrębie jednej z trzech ścieżek zawodowych. Organizator oferuje szkolenia w zakresie programowania Java, programowania.net oraz analizy z udziałem najlepszych wykładowców Altkom Akademii, doświadczonych zarówno w dydaktyce, jak i w realizacji komercyjnych projektów informatycznych. Po zakończeniu szkolenia uczestnicy rozpoczynają trwający 18 miesięcy staż w pionie Altkom Software & Consulting, gdzie pod okiem najlepszych specjalistów, na odpowiednio przygotowanych przykładach trenują to, czego nauczyli się w trakcie szkolenia. W trakcie stażu stopniowo wdrażają się w realizację komercyjnych projektów dla klientów firmy. Czuwa nad nimi zespół tutorów; PRAKTYKA PŁATNA udział w Programie stażowym Enter powinien być, zgodnie z koncepcją organizatora, startem do kariery zawodowej w branży informatycznej. Dlatego stażysta już od pierwszego dnia otrzymuje wynagrodzenie. Jego wysokość zmienia się po zakończeniu szkolenia wraz z rozpoczęciem stażu. Wynagrodzenie odpowiada zarobkom początkującego informatyka. Po zakończeniu programu kandydat, który zdecyduje się na kontynuację kariery w strukturze firmy, może liczyć nie tylko na wysoką pensję, ale i na udział w systemach premiowych; KONTRAKT STAŻOWY stażysta w ramach udziału w programie podpisuje umowę dwukrotnie. Pierwszy kontrakt otrzymuje na początku szkolenia, drugi na początku stażu. W obu dokumentach określone są podstawowe prawa i obowiązki obu stron; PAKIET SOCJALNY w trakcie 3-miesięcznego szkolenia stażyści spoza Warszawy mają zagwarantowane darmowe zakwaterowanie w wygodnym ośrodku noclegowym Altkom Akademii. Organizator funduje im też obiady oraz kartę sieciową na przejazdy komunikacją miejską. Po zakończeniu programu stażyści mogą przystąpić do egzaminów certyfikacyjnych, których koszt ponosi organizator. Ponieważ ich status w firmie w trakcie szkolenia odpowiada statusowi pracownika, objęci są także prywatną opieką medyczną; SZANSA NA ZATRUDNIENIE po zakończeniu programu stażyści mogą liczyć na dalszą karierę w jednym z działów lub ośrodków Altkom Akademii. Kandydaci zainteresowani zdobywaniem doświadczenia zawodowego w innych firmach informatycznych, nie chcąc zarazem rozstawać się z 10 Software Developer s Journal 6/2008

11 Altkom Akademią, będą mogli skorzystać z powstającego właśnie systemu head-leasingu. Możliwość zatrudnienia na stałe zależy zarówno od wyników programu, jak i predyspozycji kandydata oraz jego motywacji do dalszej pracy. Organizator programu Enter liczy na to, że wszyscy uczestnicy programu odnajdą w Altkom Akademii swoje miejsce i będą chcieli związać się z firmą na przyszłość. JBuilder 2008 Software Developer s Journal 6/2008 Pracując nad koncepcją organizacji Programu stażowego Enter 2008, zespół Altkom Software & Consulting uwzględnił całą gamę problemów, z którymi boryka się początkujący informatyk, i zestawił je z własnymi doświadczeniami, zdobywanymi przez lata rekrutacji specjalistów. Program Enter 2008 zapewnia idealną równowagę pomiędzy oczekiwaniami młodego pracownika a oczekiwaniami pracodawcy. Sukces zeszłorocznej edycji programu utwierdził Altkom w przekonaniu, że organizacja przedsięwzięć, takich Enter, jest dużo efektywniejszym sposobem na pozyskanie do firmy cennego pracownika niż tradycyjna rekrutacja. Prowadząc nabór do programu, Altkom wybiera takich kandydatów, którzy odpowiadają strategii rozwoju firmy, ma wpływ na ich właściwy rozwój, a także gwarancję, że zostaną odpowiednio przygotowani do pracy. Program Enter odbywa się w edycjach rocznych (kolejną zaplanowano na jesień 2009), jednak zainteresowani kandydaci mogą stale przesyłać swoje zgłoszenia do biura organizatora. Nadsyłane aplikacje są gromadzone w bazie firmy. Kandydaci, którzy dobrze zaprezentują się w trakcie rozmowy kwalifikacyjnej, a ich wiedza lub doświadczenie zawodowe szczególnie dobrze rokują, mogą liczyć na propozycję pracy na stanowisku specjalisty bez konieczności zaliczania stażu. CodeGear ogłosił wydanie nowej wersji swojego środowiska deweloperskiego Javy JBuilder 2008, w skład którego wchodzi pięć modułów; aplikacja bazodanowa powstała na bazie frameworku AppFuse, e-commerce bazujący na Apache Open for Business Project oraz implementacja księgarń Java Petstore i Struts. Główną nowością w tej wersji jest nowa aplikacja Application Factories, pozwalająca narzędziom i innym mechanizmom zawartych w JBuilderze na wyszukiwanie i korzystanie z wybranych części kodu zwanych modułami, stworzonymi w Javie, opisanymi przy użyciu metadanych w XMLu i JavaScripcie. Jak podaje producent środowiska, kopia oryginalnego modułu jest zachowywana wewnątrz środowiska w chwili monitorowania zachodzących w nich zmian przez system kontroli wersji. Można więc powiedzieć, że jest to tryb programowania korzystający z szablonów niż system wielokrotnego użytku, gdzie kod jest pobierany z istniejących aplikacji. Dlatego też programista, po wybraniu z menu programu opcji Stwórz aplikację, będzie zmuszony stworzyć ją od nowa z zachowanego oryginału. Program jest dostępny w trzech, różniących się funkcjonalnością, wersjach. Darmowa, Turbo, oferuje jedynie podstawowe funkcjonalności. Najbliższą wersją z Application Factories jest tutaj dopiero edycja Enterprise kosztująca odpowiednio 1499 lub 750 dolarów amerykańskich, w przypadku uaktualnienia. Oferuje ona także pełne wsparcie dla zaawansowanego modelowania UML i archiwizacji kodu. Między wersjami Turbo i Enterprise pozostaje jeszcze jedna edycja Professional kosztująca kolejno 499 i 250 dolarów w przypadku uaktualnienia, oferująca wsparcie dla Java Enterprise Edition 5.0 i usług sieciowych, profilowanie kodu oraz dodatkowe narzędzia do tuningowania wydajności i modelowania UML. Ponadto wersja Professional zawiera kreator graficznego interfejsu użytkownika Swing. Narzędzie pozwala również na debugowanie wątków, analizę żądań, metrykę i audyt kodu. Środowisko jest dostępne dla systemów Windows XP SP2, Windows Vista, Mac OS X 10.4 i Red Hat Enterprise Linux Nowy moduł statystyk w YouTube Google poinformował o poszerzeniu funkcjonalności YouTube, najpopularniejszego serwisu pozwalającego na udostępnianie filmów video o dodatkowy moduł statystyk. YouTube Insight, bo taką nazwę przybrała nowa funkcjonalność podglądu statystyk, pozwala na dotarcie do informacji o kraju, w którym wybrany klip cieszy się największą popularnością, w których dniach zanotował najwięcej odsłon, czy też informacji o tym jak ma się jego popularność do innych filmów. Zdaniem Google funkcjonalność ta może okazać się szczególnie przydatna dla partnerów i reklamodawców serwisu. Dzięki niej będą oni mogli umieścić trailer wybranego filmu, a następnie na podstawie statystyk dowiedzieć się, wśród jakiej grupy użytkowników cieszył się największą popularnością, tak aby móc wykupić reklamy skierowane do mieszkańców właśnie tej części świata. Najprostszym sposobem na włączenie podglądu jest dotarcie do sekcji ulubione i listy odtwarzania poprzez przejście przez pozycje Konto oraz Filmy po wcześniejszym wybraniu na stronie danego filmu O pliku. NVIDIA głównym sprawcą awarii Visty w 2007 Przy okazji procesu sądowego przeciwko firmie Microsoft i jej kampanii reklamowej Vista Capable (szerzej pisaliśmy o tym w lutym) światło dzienne ujrzała wewnętrzna korespondencja, która decyzją sędziego została w całości odtajniona i przekazana opinii publicznej. Wraz z nią upubliczniono różne mniej lub bardziej interesujące tajemnice Microsoftu związane z Windows Vista, między innymi dane statystyczne o awariach systemu. Jak wiadomo, po każdym błędzie lub awarii systemu użytkownik jest zachęcany do wysyłania anonimowych danych do Microsoftu. Dane te są zbierane i analizowane w celu znalezienia rozwiązania na najczęściej występujące problemy. Co ciekawe jednak, z odtajnionej wewnętrznej dokumentacji firmy wynika, że to nie oprogramowanie Microsoftu zajmowało pierwsze miejsce na liście winowajców. Okazuje się, że niecałe 30% awarii i błędów Visty spowodowane było przez wadliwe sterowniki kart graficznych NVIDIA. Spora część użytkowników nowych kart NVIDIA zapewne może potwierdzić, że tuż po premierze problemów ze sterownikami było niemało, a nawet później przez cały ubiegły rok na forach stale pojawiały się posty opisujące kłopoty z niedopracowanymi sterownikami do Visty, w dużej części będącymi jeszcze w wersji beta. Poza kartami NVIDIA, dalsze statystyki przedstawiają się następująco 18% awarii spowodowało oprogramowanie Microsoft sam system lub inne aplikacje. Sterowniki ATI przyczyniły się do ponad 9% błędów, zaś Intela do 8%. Inne oprogramowanie firm trzecich łącznie stanowiło 18% błędów. Pozostałe 17% raportów nadesłanych przez użytkowników nie pozwala określić jednoznacznej przyczyny problemu. Nie wiadomo niestety, jaki okres czasu obejmują te statystyki wiadomo tylko, że był to rok Nie wiadomo też, czy wielokrotne awarie z tego samego systemu były liczone jednorazowo. Przy interpretowaniu wyników należy też wziąć pod uwagę fakt, że NVIDIA ma większy udział w rynku niż np. ATI, co może przekładać się na większą ilość błędów. Faktem jednak jest, że niektórzy użytkownicy tych kart nie mieli po premierze Visty łatwego życia. 11

12 Tam byliśmy Karolina Piejak Iwona Chwedoruk Relacja z Software Development GigaCon 2008 W dniach 17 i 18 marca w Warszawie odbyła się po raz dziewiąty Konferencja Software Development GigaCon. W Hotelu Novotel Airport spotkało się ponad 400 osób zainteresowanych tematyką Software Development. Software Development GigaCon to przegląd dostępnych środowisk, technologii i narzędzi niezbędnych do efektywnego budowania nowoczesnych rozwiązań informatycznych. Zakres tematyczny spotkania obejmował szereg technologii stosowanych współcześnie w trakcie prac projektowych, budowy aplikacji, procesu wdrożeniowego oraz codziennego wykorzystania stworzonych rozwiązań: Java, Technologie Komponentowe i Serwery Aplikacyjne, Rozwiązania oparte na technologiach XML i Web Services, Zarządzanie treścią w internecie ( narzędzia do tworzenia aplikacji Web, oprogramowania portalowe), Bazy Danych Środowiska programistyczne pakiety CASE i RAD, Narzędzia do testowania oprogramowania. Jakość systemów informatycznych, Narzędzia wspomagające prowadzenie projektów programistycznych ( zarządzanie portfelem projektów, zarządzanie wymaganiami, zarządzanie zmianą), Platformy integracyjne, Budowanie aplikacji BPM, Budowanie aplikacji SOA. Gościem specjalnym Konferenacji Software Development GigaCon 2008 był Kevin Parker z firmy Serena Software. Wykład przeprowadzony przez Kevina Parkera cieszył się dużym zainteresowaniem uczestników konferencji i zebrał wiele bardzo pozytywnych recenzji. Mieliśmy również okazję obejrzeć wystąpienia Sponsora Konferencji firmy Telelogic, Sponsorów Sesji firm Javart oraz Compfort Meridian, a także firm uczestniczących: Auto ID, erudis, Komtech, Imagis, ABG oraz partnerów merytorycznych: Jarosława Żelińskiego z IT Consulting, Tomasza Byzia z StrictWise, Artura Kozubskiego z Gigant.pl, Piotra Biernackiego z MGX Infoservice, Marka Kowalczyka z Mandarine, Krzysztofa Witkowskiego z SPMP, Michała Wolskiego z Modesto oraz Błażeja Zyglarskiego z Uniwersytetu Mikołaja Kopernika. PRODUCT OF THE YEAR 2007 konkurs rozstrzygnięty Na konferencji tej został również rozstrzygnięty, organizowany przez Software Developer's Journal, konkurs Reader's Chioce Award PRODUCT OF THE YEAR Produkty nominowane były aż w 14 kategoriach. Przy współpracy z czytelnikami oraz Betatesterami Software Developer's Journal (4233 uczestników, głosów jednostkowych) w poszczególnych kategoriach wyłoniliśmy następujących zwycięzców: w kategorii backup i archiwizacja Norton Ghost, w kategorii biblioteki programistyczne STL, w kategorii języki programowania Java, w kategorii ochrona danych TrueCrypt, w kategorii programowanie aplikacji internetowych Zend Studio, w kategorii projektowanie oprogramowania Apollo for Eclipse, w kategorii serwery aplikacyjne Jboss, w kategorii serwery WWW APACHE w kategorii środowiska programistyczne Eclipse, w kategorii systemy baz danych MySQL, w kategorii systemy operacyjne Windows XP, w kategorii testowanie oprogramowania Junit, w kategorii tworzenie aplikacji mobilnych NetBeans Mobility Pack, w kategorii zarządzanie projektem Trac. Konferencję uatrakcyjniła za pomocą technik Icebreakers firma CityEvents. Już dziś zapraszamy wszystkich zainteresowanych do udziału w konkursie Reader's Chioce Award PRO- DUCT OF THE YEAR 2008 oraz na przyszłoroczną edycję Konferencji Software Development GigaCon Software Developer s Journal 6/2008

13

14 Zawartość CD-ROM Multimedialny Kurs SQL Multimedialny Kurs SQL został napisany z myślą o wszystkich użytkownikach, którzy w krótkim czasie chcieliby poznać, w jaki sposób tworzyć zapytania SQL-owe. Wiedz, że SQL jest uniwersalnym językiem programowania, możesz go stosować na wielu bazach m.in. PostgreSQL, Oracle, MySQL, MS Server służącym do modyfikowania oraz pobierania danych z relacyjnych baz danych. Mimo iż, każda baza posiada inny motor bazodanowy, podstawowe instrukcje SQL'a są wspólne dla wszystkich systemów od PostgreSQL do Oracla. Pierwsza część kursu zawiera sześć lekcji, które będą wykonywane na bazie PostgreSQL 8.1. PostgreSQL jest najbardziej zaawansowanym systemem zarządzania bazą danych typu open source. Jest szybki stabilny i obsługuje obszerne bazy danych, przy dużej liczbie jednoczesnych transakcji. Umożliwia efektywne zarządzanie bazami danych w różnych systemach operacyjnych, w tym w licznych dystrybucjach Linuksa, systemach z rodziny Unix, Mac OS czy Windows. Opis lekcji: Lekcja 1 Instalacja bazy PostgreSQL Instalacja bazy PostgreSQL (krok po kroku). Lekcja 2 Pobieranie danych z tabeli Podstawowe wiadomości na temat pobierania danych z bazy; Pobieranie danych za pomocą klauzuli SELECT; Wybieranie określonych kolumn; Pisanie prostych poleceń SQL. Lekcja 3 Przekształcanie danych Korzystanie z aliasów kolumn; Stosowanie operatorów matematycznych; Eliminowanie duplikatów za pomoca DISTINCT; Użycie operatora konkatenacji. Lekcja 4 Filtrowanie i sortowanie danych Filtrowanie wierszy za pomocą klauzuli WHERE; Użycie operatorów AND, OR i NOT; Użycie operatora LIKE; Filtrowanie danych za pomocą BETWEEN; Zastosowanie operatora IN; Użycie operatora IS NULL; Klauzula ORDER BY; Sortowanie po aliasach. Lekcja 5 Funkcje tekstowe Zastosowanie funkcji tekstowych; Wycinanie tekstu za pomocą funkcji SUBSTRING; Zmiana wielkości liter UPPER i LOWER; Przekształcenie tekstu za pomocą INITCAP; Funkcje dopełniające LPAD i RPAD; Obcinanie tekstu za pomocą TRIM; Określenie długości łańcucha za pomocą CHARACTER _ LENGHT; Wyszukanie podłańcucha za pomocą POSITION. Lekcja 6 Konwertowanie danych Wyświetlanie daty i czasu; Pobieranie bieżącej daty i czasu; Data systemowa, a operatory arytmetyczne; Funkcje przetwarzania dat; Funkcje konwersji TO _ CHAR, TO _ NUMBER, TO _ DATE; Konwertowanie typów danych za pomocą funkcji CAST; Pobieranie informacji o użytkowniku Software Developer s Journal 6/2008

15 Zawartość CD-ROM Essential NetTools Essential NetTools jest to zestaw narzędzi sieciowych do diagnostyki sieci i monitoringu połączeń sieciowych państwa komputera. Jest to niezastąpione narzędzie dla każdego, komu jest potrzebny zestaw wydajnych narzędzi sieciowych do codziennego użytku. Zestaw Essential NetTools zawiera w sobie: NetStat prezentuje listę wchodzących i wychodzących połączeń sieciowych, otwarte porty; NBScan wydajny skaner NetBIOS; Shares odzwierciedla stan ogólniedostępnych zasobów komputera, pokazuje użytkowników podłączonych w sieci do zasobów Państwa; RawTCP pozwala ustalać niskopoziomowe TCP podłączenia; ProcMon pokazuje listę procesów uruchomionych w systemie ze szczegółową informacją o każdym z nich; TraceRoute i Ping znane każdemu narzędzia posiadające dużo funkcji oraz umożliwiające wygodne przeglądanie wyników, pozwolą Państwu przeszukiwać Internet i wykrywać błędy połączenia; PortScan zaawansowany skaner portów TCP pozwoli Państwu skanować sieć w poszukiwaniu aktywnych portów. Narzędzie to skanuje w trybie zwykłym (pełne połączenie), jak i w ukrytym (half-open); NSLookup pozwoli Państwu przekształcić adresy IP na nazwy hostów i odwrotnie, otrzymywać aliasy oraz wykonywać zaawansowane kwerendy DNS, takie jak MX czy CNAME; NBScan może skanować sieć w danym zakresie adresów IP oraz tworzyć wykaz komputerów posiadających aplikację NetBIOS i udostępniających dane oraz tabele nazw. NBScan zapewnia graficzny interfejs użytkownika oraz wygodne zarządzanie plikami Imhosts, a także skanowanie równoległe, co pozwala na przejrzenie sieci kla- sy C w niecałą minutę. NBScan może usprawnić wykonywanie rutynowych zadań przez integratorów, administratorów i analityków systemowych; RawSocket daje możliwość uzyskania połączenia TCP niskiego poziomu w celu wykrycia problemów w różnych aplikacjach internetowych. Przedstawianie danych przy pomocy różnych kolorów oraz dogodny interfejs, sprawiają, że jest to rewelacyjne narzędzie w codziennej pracy administratorów i programistów; Shares monitoruje i rejestruje zewnętrzne połączenia do udostępnionych przez Państwa zasobów, dodatkowo zapewnia szybkie i łatwe połączenie z zasobami zdalnymi. NetAudit (NetBIOS Auditing Tool) pozwala na sprawdzanie pod względem bezpieczeństwa sieci i/lub komputerów zdalnych, na których znajduje się aplikacja dostępu do różnych zasobów NetBIOS. Narzędzie to pomoże Państwu zidentyfikować potencjalne usterki w zabezpieczeniach; SysFiles wygodny edytor obsługujący pięć podstawowych plików systemowych: services, protocol, networks, hosts oraz lmhosts; ProcMon Dzięki temu narzędziu można oglądać statystyki pracy, rozpoznawać ukryte aplikacje, zakańczać trwające procesy oraz efektywniej zarządzać zasobami komputera. Software Developer s Journal 6/

16 Biblioteka miesiąca Marcin K. Paciulan ActiveRecord nie tylko Rails ActiveRecord jest biblioteką wchodzącą w skład zdobywającego ostatnio coraz więcej zwolenników frameworku Ruby on Rails. Jednak nie wszyscy wiedzą, że aktywne rekordy można wykorzystywać całkowicie niezależnie od ROR'a. Niektórzy mogą się zdziwić Po co komu aktywne rekordy bez Rails'a?. Otóż bazy danych to nie tylko webaplikacje, a aktywne rekordy zaimplementowane w Ruby'm są prostym, szybkim i jednocześnie niosącym wiele możliwości narzędziem. Aktywne rekordy jako wzorzec projektowy charakteryzują się bardzo prostą przejrzystą konstrukcją. Każdej tabeli odpowiada pojedyncza klasa która poprzez zestaw metod umożliwia wykonywanie operacji takich jak tworzenie, aktualizowanie, wyszukiwanie i usuwanie danych. Implementacja w Rubym, języku posiadającym zaawansowane funkcje metaprogramowania (można modyfikować kod w trakcie wykonania) sprawiła, że aktywne rekordy są jeszcze prostsze w użyciu. ActiveRecord posiada sterowniki dla wielu baz danych w tym MySQL, PostgreSQL, Oracle czy też bardzo przydatnego w trakcie nauki SQLight. Konwencja przed konfiguracją i DRY Kiedy pierwszy raz zobaczyłem prezentację możliwości Ruby On Rails byłem zdumiony, że można stworzyć funkcjonalną aplikację przy użyciu tak niewielkiej ilości kodu. Na co dzień pracuję w technologiach opartych na Javie i po zapoznaniu się z ROR'em zaskoczyła mnie jedna rzecz, zacząłem poświęcać więcej czasu na zastanawianie się jak powinna wyglądać moja aplikacja, co dokładnie robić i w jaki sposób to robić, a mniej czasu na wprowadzaniu w życie zmian które mi przyszły do głowy. Powodem tego stanu rzeczy jest fakt, iż ROR jest nie tylko dobrze przemyślany, ale przede wszystkim twórcy Rails'a podczas opracowywania framework'a postawili sobie dwie podstawowe zasady: Autor pracuje jako programista J2EE w firmie BLStream wchodzącej w skład Grupy BLStream. Grupa BLStream powstała by efektywniej wykorzystywać potencjał dwóch, szybko rozwijających się producentów oprogramowania BLStream i Gamelion. Firmy wchodzące w skład grupy specjalizują się w wytwarzaniu oprogramowania dla klientów korporacyjnych, w rozwiązaniach mobilnych oraz produkcji i testowaniu gier. Językiem Ruby oraz frameworkiem Ruby on Rails autor zajmuje się w wolnych chwilach. Kontakt z autorem: marcin.paciulan@blstream.com DRY (Don't Repeat Yourself) zawieranie tych samych informacji w wielu miejscach ma dwie zasadnicze wady prowadzi do błędów oraz jest na dłuższą metę najzwyczajniej w świecie nudne. Im mniej powielania tych samych danych i kodu tym większa przyjemność i satysfakcja z programowania; Convention over configuration konwencja przed konfiguracją zakłada, iż w zasadzie wszystkie programy są na wielu poziomach bardzo podobne jeżeli nie takie same. Za każdym razem gdy zaczynamy kolejny projekt albo dodajemy nowy moduł do już istniejącego systemu musimy przejść przez ten sam proces. Tworzenie nowego środowiska, konfiguracja podstawowych elementów i pisanie prostych klas. W pewnym momencie możemy to robić niemal z zamkniętymi oczami. Jakby tego było mało, pewność siebie połączona z nudą prowadzą nieraz do frustrujących bo banalnych błędów. Konwencje zastosowane w Rails są bardzo dobrze przemyślane i proste. Jeżeli ktoś nie miał wcześniej styczności z frameworkiem to na pierwszy rzut oka zasady rządzące w świecie Railsów mogą stwarzać wrażenie, że aplikacja robi jakieś magiczne rzeczy. Dlatego w trakcie prezentacji biblioteki będę starał się w przystępny sposób przedstawić zasady leżące u podstaw jej działania. Owe zasady mają jeden wielki plus programista musi zdefiniować i zaimplementować jedynie tą część funkcjonalności która jest specyficzna dla danej aplikacji. Oczywiście konwencja ma ten minus ze narzuca nam w pewnym stopniu metodę rozwiązania naszego problemu. Jednak po pierwsze, nic nie stoi na przeszkodzie aby wyłamać się z przynajmniej części zasad zdefiniowanych przez twórców biblioteki. Niestety droga pod prąd jest trudniejsza, im bardziej się wyłamiemy tym więcej czeka nas pracy. Po drugie konwencje powstały na bazie powszechnie przyjętych zasad projektowania, są logiczne, spójne i prawdopodobnie to dzięki ich zastosowaniu Rails urzekł tak wielu ludzi, więc nie widzę powodu aby ich unikać, oczywiście o ile nie jest to całkowicie niezbędne. Podstawy Konwencja, już nie Railsowa, nakazuje zaczynać od podstaw więc i my tak zróbmy. Przede wszystkim potrzebujemy bazy danych. Na Listingu 1 można zobaczyć schemat bazy użytej przeze mnie w większości przykładów. Doświadczenia z ActiveRecord jak na ironię zaczniemy od konfiguracji. Ponieważ jak na razie biblioteka nie potrafi zgadywać hasła do naszej bazy danych (i całe szczęście) to trzeba wpisać kilka linii opisujących, co gdzie się znajduje. Najlepiej stworzyć 16 Software Developer s Journal 6/2008

17 ActiveRecord oddzielny plik konfiguracyjny. Podstawowym formatem plików konfiguracyjnych który przyjęło się używać w AR jest YAML, przykładową zawartość pliku konfiguracyjnego database.yml można zobaczyć na Listingu 2. Następnym krokiem będzie inicjalizacja mechanizmu ActiveRecord (Listing 3). Jak widać sprowadza się ona do pobrania konfiguracji i wywołania połączenia z bazą danych. Jeżeli chcemy trochę poeksperymentować to szybkim i łatwym rozwiązaniem jest zastosowanie adapter'a sqlite oraz migracji o których więcej w dalszej części artykułu. Możemy zaczynać. Klasy aktywnych rekordów dziedziczą z klasy ActiveRecord: :Base. Nazwa klasy powinna być zasadniczo rzeczownikami w liczbie pojedynczej. Zasada mapowania tabela-klasa jest bardzo prosta, ActiveRecord zakłada że nazwa tabeli jest rzeczownikiem w liczbie mnogiej a nazwa klasy mapowanej na daną tabelę tym samym rzeczownikiem w liczbie pojedynczej. Przykładowo jeżeli mamy w bazie danych tabelę users to wystarczy stworzyć klasę User dziedziczącą z ActiveRecord::Base a biblioteka zajmie się resztą. Przykłady prostych deklaracji widać na Listingu 4. Oczywiście jeżeli istnieje taka potrzeba to możemy wybrać tabelę na którą chcemy mapować naszą klasę. Aby to zrobić należy wywołać metodę set _ table _ name 'nazwa _ tabeli' w obrębie ciała klasy. O ile trzymamy się konwencji wystarczy deklaracja klasy dla wybranej tabeli aby mieć dostęp do podstawowych operacji na rekordach. Już na początku ActiveRecord daje możliwość zaawansowanego wyszukiwania, tworzenia, aktualizowania i usuwania rekordów. Nie trzeba deklarować żadnych atrybutów ani funkcji. ActiveRecord łączy się z bazą danych i automatycznie sprawdza jakie pola zawiera wybrana tabela oraz jakiego są one typu. Jest to bardzo dobry przykład zastosowania metody DRY po co potwierdzać że User ma pole login w naszym modelu skoro jest to już określone w samej tabeli. Może się wydawać, iż takie podejście jest podatne na błędy i na pewno jest w tym nieco racji. Na szczęście ActiveRecord udostępnia nam mechanizm migracji. Użycie migracji pozwala nam na proste przygotowanie schematu bazy danych oraz jej wstępnej zawartości. Listing 5 zawiera kilka małych przykładów tworzenia, modyfikowania i usuwania rekordów. Jak widać już podstawowa, bardzo prosta definicja naszego modelu daje całkiem sporo możliwości. Jednak co zrobić kiedy chcemy wybrany atrybut obsługiwać w specyficzny, niekonwencjonalny sposób? Rozwiązanie jest bardzo proste, wystarczy nadpisać obsługującą go metodę. Powiedzmy gdy status zadania jest podawany w procentach (0-100), a w bazie mamy liczbę zmiennoprzecinkową przechowującą wartości od 0 do 1. Przykładowe nadpisanie metody dostępu przedstawione jest na Listingu 6. Logowanie W tej chwili niejeden dociekliwy programista mógłby się zapytać co tak na prawdę się dzieje, jak przebiega komunikacja z bazą danych i jak wyglądają zapytania SQL. Przyda się to zwłaszcza gdy do naszego programu wkradnie się błąd i chcielibyśmy zobaczyć co dokładnie robi nasza aplikacja. ActiveRecord ma wbudowany mechanizm dziennika który potrafi nam powiedzieć nie tylko jak wyglądają zapytania SQL, ale także dostarczą dodatkowych informacji na temat czasu wykonania poszczególnych zapytań, co ułatwi nam opty- Listing 1. Schemat bazy danych użytej w przykładach CREATE TABLE tasks ( "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255) NOT NULL, "description" text NOT NULL, "done" boolean DEFAULT 'f', "project_id" integer NOT NULL, "task_type_id" integer NOT NULL, "user_id" integer DEFAULT NULL, "submitted_by" integer DEFAULT NULL, "status" float DEFAULT 0, "created_at" datetime DEFAULT NULL, "updated_at" datetime DEFAULT NULL) CREATE TABLE task_types ( "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255) NOT NULL, "description" text NOT NULL, "created_at" datetime DEFAULT NULL, "updated_at" datetime DEFAULT NULL) CREATE TABLE users ( "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255) NOT NULL, "login" varchar(255) NOT NULL, "surname" text NOT NULL, "tasks_count" integer DEFAULT 0, "created_at" datetime DEFAULT NULL, "updated_at" datetime DEFAULT NULL) CREATE TABLE projects ( "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255) NOT NULL, "closed" boolean DEFAULT 'f', "created_at" datetime DEFAULT NULL, "updated_at" datetime DEFAULT NULL) CREATE TABLE projects_users ( "project_id" integer DEFAULT NULL, "user_id" integer DEFAULT NULL, "created_at" datetime DEFAULT NULL, "updated_at" datetime DEFAULT NULL) ACID ACID to pojęcie, dotyczące opisu warunków jakie powinny spełniać transakcje w bazach danych. ACID jest skrótem od angielskich słów atomicity (atomowość), consistency (spójność), isolation (izolacja) oraz durability (trwałość). Źródło: Wikipedia CREATE TABLE comments ( "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "task_id" integer NOT NULL, "user_id" integer NOT NULL, "content" text NOT NULL, "created_at" datetime DEFAULT NULL, "updated_at" datetime DEFAULT NULL) Software Developer s Journal 6/

18 Biblioteka miesiąca malizację naszej aplikacji. Sprawę logowania rozwiązuje jedna linijka: ActiveRecord::Base.logger = Logger.new(File.open('database.log', 'a')) Wyszukiwanie rekordów Podstawowa metoda wyszukiwania rekordów to :find. Może ona przyjmować wiele różnych kombinacji argumentów. Najprostsze wywołanie funkcji polega na podaniu identyfikatora rekordu którego szukamy, np.: User.find(1). Metoda przyjmuje także symbole :all i :first, pierwszy sprawia, iż metoda zwraca wszystkie rekordy, drugi że zwracany jest pierwszy znaleziony rekord. W przypadku gdy chcemy ograniczyć zwracane rekordy do tych, które spełniają konkretne warunki z pomocą przychodzi nam argument :conditions. Jest on bardzo elastyczny gdyż potrafi przyjąć kilka rodzajów wartości i na ich podstawie wygenerować warunki dla zapytania SQL. Oczywiście ze względów bezpieczeństwa szczerze odradzam tworzenie zapytań bazujących na prostym sklejaniu ciągów znakowych, np.: User.find(:first, :conditions=>"name='#name' and password='#enc _ password'"). Znacznie bezpieczniejsze rozwiązania to przekazanie tablicy albo hashmapy z argumentami wyszukiwania. Funkcja :find pozwala także zdefiniować wiele dodatkowych parametrów zapytania takich jak wartości parametrów jakie mają być zwracane, maksymalna liczba wyników, kolumna według której mają być posortowane wyniki itp. Kilka przykładów wykorzystania wspomnianej funkcji można zobaczyć na Listingu 7. Istnieje także możliwość własnoręcznego wpisania polecenia SQL dzięki metodzie :find _ by _ sql, jednak ze względu na problemy związane z przenośnością kodu odradzam użycie tej metody. Oczywiście, w ostateczności można go użyć jeżeli jest się całkowicie pewnym, że typ używanej bazy danych nie zostanie zmieniony. Obok podstawowego :find'a ActiveRecord oferuje zestaw dedykowanych funkcji specyficznych dla atrybutów danej klasy. Metody są automatycznie generowane a ich nazwy oparte są o proste wzory: find _ by _ #nazwa _ atrybutu zwraca pojedynczy rekord, np. wywołanie User.find _ by _ login("stefan _ d") zwraca użytkownika o loginie stefan_d; jeżeli w bazie znajduje się więcej niż jeden użytkownik spełniający ten warunek to zostanie zwrócony pierwszy ze znalezionych rekordów; find _ all _ by _ #nazwa _ atrybutu zwraca wszystkie rekordy spełniające warunek, np. wywołanie User.find _ all _ by _ name("stefan") zwraca wszystkich użytkowników o imieniu Stefan. Oczywiście tak jak w przypadku podstawowej funkcji :find, funkcje dedykowane potrafią przyjmować dodatkowe parametry, takie jak :conditions, :limit itp. Często zachodzi potrzeba wykonania kilku operacji na rekordach, za każdym razem przekazując te same albo bardzo podobne argumenty. Następujące po sobie takie same wywołania kłócą się z DRY, jedną z podstawowych zasad przyświecających Rails. Naprzeciw temu problemowi wychodzi jedna z ciekawszych funkcji dostępnych w ActiveRecord, :with _ scope. Funkcja ta przyjmuje 3 argumenty z czego pierwszy to mapa zawierająca akcje i warunki których chcemy użyć, drugi, opcjonalny, to metoda łączenia tych warunków z warunkami zadeklarowanymi bezpośrednio w kodzie, natomiast trzeci to blok kodu. Operacje na rekordach danego modelu wykonywane wewnątrz przekazanego bloku kodu są automatycznie wykonywane z warunkami zadeklarowanymi jako pierwszy argument. Przykład wykorzystania :with _ scope obrazuje Listing 8. Obok :find ActiveRecord udostępnia zestaw funkcji agregujących charakterystycznych dla SQL takich jak :count, : average, :maximum, :minimum. W tym przypadku możemy również określić warunków, podobnie jak w przypadku korzystania z funkcji :find. Asocjacje Asocjacje są nieodzownym aspektem komunikacji z bazą danych. ActiveRecord udostępnia 4 metody opisu asocjacji: belongs _ to określa, iż dana klasa należy do innego modelu, np. zadanie może należeć do użytkownika. Konwencja w tym miejscu mówi iż po stronie wybranej tabeli powinien się znajdować klucz obcy o nazwie #nazwa _ tabeli _ docelowej _ w _ liczbie _ pojedynczej _ id, a domyślną klasą docelową jest #nazwa _ tabeli _ docelowej _ w _ liczbie _ Listing 2. Plik database.yml z dwoma przykładowymi konfiguracjami bazy danych # Konfiguracja dla sqlite. database1: adapter: sqlite3 database: db/development.sqlite3 timeout: 5000 # Konfiguracja dla mysql. database2: adapter: mysql database: database username: user password: password host: localhost Listing 3. Inicjalizacja mechanizmu ActiveRecord (plik: init_ ar.rb) require 'rubygems' require 'active_record' require 'yaml' dbconfig = YAML::load(File.open('database.yml')) # Używamy konfiguracji sqlite z Listingu 2. ActiveRecord::Base.establish_connection(dbconfig['database1']) Listing 4. Prosta deklaracja klas AR # Tabela 'tasks'. class Task < ActiveRecord::Base end # Tabela 'users'. class User < ActiveRecord::Base end 18 Software Developer s Journal 6/2008

19 ActiveRecord Listing 5. Podstawowe operacje na aktywnych rekordach # Tworzenie nowego rekordu. p = Project.new(:name=>'project1') p.save Project.create(:name=>'project2') # Wyszukiwanie rekordu. p = Project.find(:first) # Aktualizacja rekordu. p.name="#p.name_modified" p.save # Wyszukiwanie z argumentami. Listing 8. :with_scope jako przykład zastosowania zasady DRY current_user = User.find(:first) Task.do_with_scope(current_user, :status=>0..1) # Przykladowe operacje. #... # Wewnątrz przekazanego bloku kodu wszystkie operacje # :find są wykonywane z dodatkowymi argumentami # przekazanymi przez użytkownika w zmiennej args. def do_with_scope(user,args) Task.with_scope(:find => :conditions => args) do t = Task.find(:first, :conditions=>:done=>false) # po wywołaniu SELECT * FROM # Znajduje rekord którego atrybut 'closed' jest równy true. p = Project.find(:first, :conditions=>:closed=>true) # Znajduje projekt o nazwie 'project2'. p = Project.find_by_name('project2') Listing 6. Obsługa atrybutów poprzez nadpisanie metod dostępu class Task < ActiveRecord::Base end def status end attribute_read(:status)*100 def status=(procent) end attribute_write(:status/100) tasks WHERE (tasks."status" BETWEEN 0 AND 1) AND (tasks."done" = 'f') LIMIT 1 t.user=user t.save t = Task.find(:first, :conditions=>:done=>true) # SELECT * FROM tasks WHERE (tasks."status" BETWEEN 0 AND 1) AND (tasks."done" = 't') LIMIT 1 t.done = false t.save end end Listing 9. Asocjacje w ActiveRecord class Task < ActiveRecord::Base belongs_to :project t = Task.find(:first) t.status=90 # W bazie danych zapisywana jest liczba 0.9. Listing 7. Przykładowe warunki wyszukiwania rekordów user = User.find(:first) # Wiązanie bazuje na kluczu głównym 'id' tabeli tasks oraz kluczu # obcym 'task_id' tabeli attachments. has_one: attachment end # Proste wyszukiwanie z tablicą. Task.find(:all, :conditions=>["user_id=? and created_ at>?",user.id, Time.now-3.days]) # Proste wyszukiwanie z hashmapą. Task.find(:all, :conditions=>:user_id=>user, :limit=>10) # Wyszukiwanie z tablicą i hashmapą, przydatne gdy używamy tego # samego argumentu kilkukrotnie. Task.find(:all, :conditions=>["user_id=:user and created_ at>:some_date and submitted_by=:user", :user=>user, :some_date=>time.now-3.days]) # Wyszukiwanie z przedziałem, znajduje wszystkie rekordy z wartością # 'effort' pomiędzy 0.08 i Task.find(:all, :conditions=>:status=> ) class Project < ActiveRecord::Base has_many :tasks, :order=>'creation_date' has_and_belongs_to_many :users has_many :incomplete_tasks, :foreign_key=>'user_id', :class_name=>"task", # Zwraca taski przypisane do danego projektu, które nie # zostały zakończone (pole :done równe false). :conditions=>:done=>false end class User < ActiveRecord::Base has_and_belongs_to_many :projects has_many :tasks end class Attachment < ActiveRecord::Base belongs_to :task # Tabela attachment posiada pole task_id. end Software Developer s Journal 6/

20 Biblioteka miesiąca Listing 10. Wywoływanie metod poprzez asocjacje user = User.find(1) user.tasks.count # Select count(*) from Tasks where user_id=1. # Linijka przedstawiona poniżej powoduje wykonanie # zapytania o mniej więcej podobnej treści: # Select * from tasks where done=true and user_id=1. user.tasks.find(:all, :conditions=>:done=>false) Listing 11. Asocjacje z :through # Na potrzeby tego przykładu nasz model został trochę zmieniony, # tabelę projects_users zastąpiła tabela assignment, posiadająca # identyfikator oraz opis roli. class Project < ActiveRecord::Base end has_many :assignements has_many :users, :through=>'assignement' class Assignment < ActiveRecord::Base end belongs_to :user belongs_to :project class User < ActiveRecord::Base end has_many :assignements has_many :users, :through=>'assignement' pojedynczej. Oczywiście możemy zdefiniować niestandardowe nazwy klucza obcego jak i określić jakiej klasy chcemy użyć; has _ one #operator podobny do belongs _ to, tyle że używany tylko w przypadku asocjacji 1..1 i opisuje przeciwną do belongs _ to stronę wiązania. Przykładem może być powiązanie Attachment-Task z Listingu 9. Podczas gdy powiązanie Attachment belongs _ to task opisuje sytuację kiedy Attachment posiada klucz obcy task _ id i na jego podstawie znajdowany jest właściwy rekord w tabeli tasks. Powiązanie Task has _ one Attachment działa w drugą stronę, szuka w tabeli attachments takiego klucza obcego task _ id, który jest równy kluczowi głównemu aktualnego rekordu; has _ many #asocjacja wiele do jednego, różni się od has _ one tym, że zwraca wszystkie rekordy, których wybrane klucze obce są równe kluczowi głównemu aktualnego rekordu; has _ and _ belongs _ to _ many #asocjacja wiele do wielu. W przypadku użycia tej metody potrzebna jest tabela pośrednia nie posiadająca modelu ani klucza głównego, nazwa tabeli to #nazwa _ tabeli _ 1 _ #nazwa _ tabeli _ 2 zawierająca tylko dwa klucze #tabela _ 1 _ id oraz #tablea _ 2 _ id. Wymagana kolejność nazw nie jest podana w dokumentacji bezpośrednio jednak z własnych obserwacji mogę powiedzieć, że kolejność alfabetyczna sprawdza się bardzo dobrze. Tego rozwiązania należy używać tylko wtedy, gdy tabela pośrednia nie jest bezpośrednio używana, jeżeli w tabeli pośredniej chcemy zawrzeć jakieś dodatkowe informacje to AR udostępnia nam dodatkowy mechanizm oparty na operatorze :through o którym można znaleźć więcej informacji w dalszej części artykułu. Przykłady stosowania asocjacji przedstawione są na Listingu 9. Asocjacje są dobrym przykładem jednej z podstawowych zasad przyświecających Rubiemu jako językowi łatwość w czytaniu i rozumieniu kodu. Już na pierwszy rzut oka widać jak zbudowane są relacje między klasami najzwyczajniej w świecie czytając kod Task belongs to user (Zadanie należy do użytkownika), User has many tasks (Użytkownik posiada wiele zadań). ActiveRecord jest bardzo elastyczny i jeżeli nie chcemy trzymać się bezwzględnie wyznaczonych konwencji nazewnictwa albo zaadaptować nasz model do już istniejącego rozwiązania. Każda z metod asocjacji posiada dodatkowe parametry które pozwalają nam zdefiniować wiele aspektów naszych powiązań między tabelami. Podstawowe z nich to :foreign _ key określający nazwę klucza obcego i :class _ name pozwalający wybrać klasę docelową. Możliwe jest też określenie kolejności rekordów czy też nałożenie specyficznych ograniczeń, co także widać na Listingu 9. Wbrew pozorom asocjacje nie są tylko prostymi funkcjami, są bardzo dynamiczne i pozwalają nam na zadawanie zapytań przywodzący na myśl wspomnianą wcześniej metodę :with _ scope. Przykład takich wywołań widać na Listingu 10. Listing 12. Asocjacje z :include # Kod, który chcemy wykonać. user = User.find(:first) for user.tasks.each do task end print "#task.name-#task.type.name, #task.done" # Wariant 1: nie używamy :include. class User < ActiveRecord::Base end has_many :tasks # Kod przedstawiony na początku przykładu spowoduje # wywołanie 1 zapytania: SELECT * FROM tasks LIMIT 1 # oraz 'n' zapytań typu: # SELECT * FROM task_types WHERE (task_types."id" = #id zadania). # Jeżeli użytkownik ma przypisane 100 # zadań to drugie zapytanie wykona się 100 razy. # Wariant 2: używamy :include class User < ActiveRecord::Base end has_many :tasks, :include=>[:task_type] # Kod przedstawiony na początku przykładu spowoduje wywołanie 1 # zapytania jest mniej więcej takiej postaci: # SELECT * FROM tasks LEFT OUTER JOIN task_types ON task_ types.id = # tasks.task_type_id WHERE (tasks.user_id = 1) 20 Software Developer s Journal 6/2008

PROGRAM MICROSOFT DEVELOPER NETWORK ACADEMIC ALLIANCE MSDN AA

PROGRAM MICROSOFT DEVELOPER NETWORK ACADEMIC ALLIANCE MSDN AA PROGRAM MICROSOFT DEVELOPER NETWORK ACADEMIC ALLIANCE MSDN AA Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Koło Naukowe Informatyków FRAKTAL Opracował : Michał Wójcik, II rok MU IiE CZYM JEST

Bardziej szczegółowo

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans. GRZEGORZ FURDYNA Krótka Historia Co to jest NetBeans? Historia Wersje NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły NetBeans Profiler Narzędzie do projektowania GUI Edytor NetBeans

Bardziej szczegółowo

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych: Egzaminy na plus Stres na minus! Zdawaj bezpłatne egzaminy Microsoft, Linux, C++ z nami i zadbaj o swoją karierę. Oferujemy Ci pierwsze certyfikaty zawodowe w Twojej przyszłej karierze, które idealnie

Bardziej szczegółowo

Cennik OpenOffice Software Sp. z o. o.

Cennik OpenOffice Software Sp. z o. o. Cennik OpenOffice Software Sp. z o. o. Wersje wielostanowiskowe 2009 OpenOfficePL HOME 2009 BOX OpenOfficePL HOME 2009 BOX DVD OpenOfficePL HOME 2009 upgrade 2009 OpenOfficePL Standard 2009 BOX OpenOfficePL

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

egroupware czy phpgroupware jest też mniej stabilny.

egroupware czy phpgroupware jest też mniej stabilny. Opengroupware to projekt udostępniający kompletny serwer aplikacji oparty na systemie Linux. Dostępny na licencji GNU GPL, strona domowa: http://www.opengroupware.org/ Jego cechy to wysoka stabilność,

Bardziej szczegółowo

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym 1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

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

Bardziej szczegółowo

firmy produkty intranet handel B2B projekty raporty notatki

firmy produkty intranet handel B2B projekty raporty notatki firmy mail intranet produkty DOKUMENTY handel raporty B2B projekty notatki serwis zadania Dlaczego warto wybrać Pakiet ITCube? Najczęściej wybierany polski CRM Pakiet ITCube jest wykorzystywany przez ponad

Bardziej szczegółowo

PLAN REALIZACJI MATERIAŁU NAUCZANIA Z INFORMATYKI II. Uczeń umie: Świadomie stosować się do zasad regulaminów (P).

PLAN REALIZACJI MATERIAŁU NAUCZANIA Z INFORMATYKI II. Uczeń umie: Świadomie stosować się do zasad regulaminów (P). PLAN REALIZACJI MATERIAŁU NAUCZANIA Z INFORMATYKI II DZIAŁ I: KOMPUTER W ŻYCIU CZŁOWIEKA. 1. Lekcja organizacyjna. Zapoznanie uczniów z wymaganiami edukacyjnymi i PSP. 2. Przykłady zastosowań komputerów

Bardziej szczegółowo

LearnIT project PL/08/LLP-LdV/TOI/140001

LearnIT project PL/08/LLP-LdV/TOI/140001 LearnIT project PL/08/LLP-LdV/TOI/140001 Newsletter Issue 2 April 2009 Drogi czytelniku, Przedstawiamy z przyjemnością drugie wydanie biuletynu projektu LearnIT. W tym wydaniu chcemy powiedzieć więcej

Bardziej szczegółowo

Referat pracy dyplomowej

Referat pracy dyplomowej Referat pracy dyplomowej Temat pracy: Wdrożenie intranetowej platformy zapewniającej organizację danych w dużej firmie na bazie oprogramowania Microsoft SharePoint Autor: Bartosz Lipiec Promotor: dr inż.

Bardziej szczegółowo

Microsoft SharePoint Współpraca bez barier oraz organizacja portalu intranetowego i obiegu dokumentów

Microsoft SharePoint Współpraca bez barier oraz organizacja portalu intranetowego i obiegu dokumentów Microsoft SharePoint 2013 - Współpraca bez barier oraz organizacja portalu intranetowego i obiegu dokumentów KORZYŚCI WYNIKAJĄCE Z UKOŃCZENIA SZKOLENIA Po ukończeniu szkolenia uczestnik będzie potrafił

Bardziej szczegółowo

Oferta szkoleniowa Yosi.pl 2012/2013

Oferta szkoleniowa Yosi.pl 2012/2013 Oferta szkoleniowa Yosi.pl 2012/2013 "Podróżnik nie posiadający wiedzy, jest jak ptak bez skrzydeł" Sa'Di, Gulistan (1258 rok) Szanowni Państwo, Yosi.pl to dynamicznie rozwijająca się firma z Krakowa.

Bardziej szczegółowo

Norton 360 Najczęściej zadawane pytania

Norton 360 Najczęściej zadawane pytania Norton 360 Najczęściej zadawane pytania 1. Czym jest Norton 360? Norton 360 to oprogramowanie przygotowane przez firmę Symantec specjalnie dla klientów T-Mobile. Główne cechy oprogramowania : jest to kompletny

Bardziej szczegółowo

Szczegółowy opis aplikacji

Szczegółowy opis aplikacji Szczegółowy opis aplikacji Załącznik nr 1 System Biura Karier jest przeznaczony dla biura karier, studentów, absolwentów oraz pracodawców poszukujących pracowników. Jest to portal internetowy zawierający

Bardziej szczegółowo

Strona wizytówka od 400 zł

Strona wizytówka od 400 zł Strona wizytówka od 400 zł Oferta z dnia 21.01.2010 Prosta strona zawierająca podstawowe informacje o firmie oraz jej ofercie. Pozwala ona klientom na odnalezienie firmy w sieci, zapoznanie się z jej ofertą,

Bardziej szczegółowo

Nadzorowanie stanu serwerów i ich wykorzystania przez użytkowników

Nadzorowanie stanu serwerów i ich wykorzystania przez użytkowników Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Tomasz Kapelak Nr albumu: 187404 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

ActiveXperts SMS Messaging Server

ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych

Bardziej szczegółowo

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

I. Informacje ogólne. Jednym z takich systemów jest Mambo. MAMBO (CMS) I. Informacje ogólne CMS, Content Management System ("system zarządzania treścią") jest to jedna lub zestaw aplikacji internetowych pozwalających na łatwe utworzenie oraz późniejszą aktualizację

Bardziej szczegółowo

Instrukcja instalacji programu e STOMis wraz z pakietem Microsoft SQL Server 2005 Express Edition. e STOMis

Instrukcja instalacji programu e STOMis wraz z pakietem Microsoft SQL Server 2005 Express Edition. e STOMis Instrukcja instalacji programu e STOMis wraz z pakietem Microsoft SQL Server 2005 Express Edition e STOMis Strona:1 z 10 I. Wymagania sprzętowe i wymagania w zakresie programowania systemowego. Wymagania

Bardziej szczegółowo

Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie

Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie Strona 1 z 6 Połączenia Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie Uwaga: Przy instalowaniu drukarki podłączonej lokalnie, jeśli dysk CD-ROM Oprogramowanie i dokumentacja

Bardziej szczegółowo

e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ

e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ www.e-awizo.pl BrainSoft sp. z o. o. ul. Bolesława Chrobrego 14/2 65-052 Zielona Góra tel.68 455 77 44 fax 68 455 77 40 e-mail: biuro@brainsoft.pl

Bardziej szczegółowo

Absolwenci kierunków informatycznych

Absolwenci kierunków informatycznych Absolwenci kierunków informatycznych Absolwenci kierunków informatycznych w szkołach wyższych w Polsce w latach 2004-2010 Od 2006 roku obserwujemy trend spadkowy liczby absolwentów Informatyki. W 2010

Bardziej szczegółowo

omnia.pl, ul. Kraszewskiego 62A, 37-500 Jarosław, tel. +48 16 621 58 10 www.omnia.pl kontakt@omnia.pl

omnia.pl, ul. Kraszewskiego 62A, 37-500 Jarosław, tel. +48 16 621 58 10 www.omnia.pl kontakt@omnia.pl .firma Dostarczamy profesjonalne usługi oparte o nowoczesne technologie internetowe Na wstępie Wszystko dla naszych Klientów Jesteśmy świadomi, że strona internetowa to niezastąpione źródło informacji,

Bardziej szczegółowo

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska JavaFX - wprowadzenie JavaFX Wydział Informatyki i Zarządzania Politechnika Wrocławska Definicja JavaFX - wprowadzenie Definicja Historia JavaFX Script Rich Internet Application JavaFX - rodzina technologii

Bardziej szczegółowo

Technik Informatyk. Prezentacja zawodu Technik Informatyk.

Technik Informatyk. Prezentacja zawodu Technik Informatyk. Technik Informatyk Prezentacja zawodu Technik Informatyk. Co to za kierunek? Technik informatyk to ciekawy, twórczy, prestiżowy i bardzo dobrze opłacany zawód dla ludzi dynamicznych i pełnych pomysłowości.

Bardziej szczegółowo

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji System informatyczny na produkcji: Umożliwi stopniowe, ale jednocześnie ekonomiczne i bezpieczne wdrażanie i rozwój aplikacji przemysłowych w miarę zmiany potrzeb firmy. Może adoptować się do istniejącej

Bardziej szczegółowo

Rozwiązanie GIS dla mniejszego. miasta: model Miasta Stalowa Wola. Janusz JEśAK. Jacek SOBOTKA. Instytut Rozwoju Miast. ESRI Polska Sp. z o. o.

Rozwiązanie GIS dla mniejszego. miasta: model Miasta Stalowa Wola. Janusz JEśAK. Jacek SOBOTKA. Instytut Rozwoju Miast. ESRI Polska Sp. z o. o. Rozwiązanie GIS dla mniejszego miasta: model Miasta Stalowa Wola Instytut Rozwoju Miast Janusz JEśAK ESRI Polska Sp. z o. o. Jacek SOBOTKA Rybnik, 27-28 września 2007 Plan Prezentacji Geneza przedsięwzięcia

Bardziej szczegółowo

Wprowadzenie Dwie wersje: do domu i dla firmy. Do kogo adresowany? Komponenty

Wprowadzenie Dwie wersje: do domu i dla firmy. Do kogo adresowany? Komponenty Office 365 dla firm Wprowadzenie Jednym z głównych produktów działających w chmurze oferowanych przez firmę Microsoft to Office 365. Czym jest to rozwiązanie, jakie ma sposoby wykorzystania, do kogo jest

Bardziej szczegółowo

Piotr Tarasiński kl. II B

Piotr Tarasiński kl. II B Piotr Tarasiński kl. II B 1) Informatyk 2) Coraz bardziej rozwijający się zawód 3) Kto to jest informatyk? 4) Predyspozycje 5) Czym zajmuje się informatyk 6) Zarobki 7) Dyscypliny Przyjemna praca i zawód-

Bardziej szczegółowo

System Zarządzania Treścią

System Zarządzania Treścią System Zarządzania Treścią Dawno, dawno temu, w latach 90-tych XX wieku publikowanie w Internecie nie było proste. Wymagało znajomości HTMLa do stworzenia strony, FTP do wysłania zawartości na serwer i

Bardziej szczegółowo

Obsługa e-marketingowa Salonu z Aplikacją Gabi.NET.pl. Natalia Waldowska, Gabi.NET w sieci

Obsługa e-marketingowa Salonu z Aplikacją Gabi.NET.pl. Natalia Waldowska, Gabi.NET w sieci Obsługa e-marketingowa Salonu z Aplikacją Gabi.NET.pl Natalia Waldowska, Gabi.NET w sieci Internet- platforma komunikacji między Salonem, a Klientem Gwałtowny rozwój nowych technologii sprawił, że pojawiły

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

Architektura systemu e-schola

Architektura systemu e-schola ą ą ą Architektura systemu e-schola System e-schola zbudowany jest w postaci interaktywnej witryny intranetowej, działającej jako aplikacja serwerowa typu WEB(oparta o serwer WWW) Architektura systemu

Bardziej szczegółowo

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Deduplikacja danych. Zarządzanie jakością danych podstawowych Deduplikacja danych Zarządzanie jakością danych podstawowych normalizacja i standaryzacja adresów standaryzacja i walidacja identyfikatorów podstawowa standaryzacja nazw firm deduplikacja danych Deduplication

Bardziej szczegółowo

sprawdzonych porad z bezpieczeństwa

sprawdzonych porad z bezpieczeństwa 65 sprawdzonych porad z bezpieczeństwa 65 sprawdzonych porad z bezpieczeństwa 65 sprawdzonych porad z bezpieczeństwa 65 sprawdzonych porad z bezpieczeństwa O niebezpieczeństwach czyhających na użytkowników

Bardziej szczegółowo

NASZA MISJA. wszystkie nasze dzialania sfokusowane sa na efektywną, partnerską współprace.

NASZA MISJA. wszystkie nasze dzialania sfokusowane sa na efektywną, partnerską współprace. NASZA MISJA Aby tworzyć najbardziej użyteczne, najlepsze aplikacje ściśle dopasowane do Państwa wymagań i potrzeb oraz budżetu, który chcecie Państwo zainwestować. podstawa satysfakcjonujacej współpracy

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja mobilnego systemu wspomagającego organizowanie zespołowej aktywności fizycznej Autor: Krzysztof Salamon W dzisiejszych czasach życie ludzi

Bardziej szczegółowo

SOA Web Services in Java

SOA Web Services in Java Wydział Informatyki i Zarządzania Wrocław,16 marca 2009 Plan prezentacji SOA 1 SOA 2 Usługi Przykłady Jak zacząć SOA Wycinek rzeczywistości Problemy zintegrowanych serwisów : Wycinek Rzeczywistości Zacznijmy

Bardziej szczegółowo

Szkolenie autoryzowane. MS Zaawansowany użytkownik programu SharePoint 2016

Szkolenie autoryzowane. MS Zaawansowany użytkownik programu SharePoint 2016 Szkolenie autoryzowane MS 55217 Zaawansowany użytkownik programu SharePoint 2016 Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje Opis szkolenia Szkolenie przeznaczone jest dla zaawansowanych

Bardziej szczegółowo

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer; 14.3. Podstawy obsługi X Window 14.3. Podstawy obsługi X Window W przeciwieństwie do systemów Windows system Linux nie jest systemem graficznym. W systemach Windows z rodziny NT powłokę systemową stanowi

Bardziej szczegółowo

ZAPYTANIE OFERTOWE. Wsparcie projektów celowych

ZAPYTANIE OFERTOWE. Wsparcie projektów celowych ZAPYTANIE OFERTOWE Wsparcie projektów celowych Wrocław, dnia 01 października 2011 r. Zwracamy się z prośbą o przedstawienie oferty handlowej na zakup systemu zarządzania procesami w ramach Działania 1.4

Bardziej szczegółowo

Dodatkowo, w przypadku modułu dotyczącego integracji z systemami partnerów, Wykonawca będzie przeprowadzał testy integracyjne.

Dodatkowo, w przypadku modułu dotyczącego integracji z systemami partnerów, Wykonawca będzie przeprowadzał testy integracyjne. Załącznik nr 1a do Zapytania ofertowego nr POIG.08.02-01/2014 dotyczącego budowy oprogramowania B2B oraz dostawcy sprzętu informatycznego do projektu pn. Budowa systemu B2B integrującego zarządzanie procesami

Bardziej szczegółowo

Sage ACT! Twój CRM! Zdobywaj, zarządzaj, zarabiaj! Zdobywaj nowych Klientów! Zarządzaj relacjami z Klientem! Zarabiaj więcej!

Sage ACT! Twój CRM! Zdobywaj, zarządzaj, zarabiaj! Zdobywaj nowych Klientów! Zarządzaj relacjami z Klientem! Zarabiaj więcej! Sage ACT! Twój CRM! Zdobywaj, zarządzaj, zarabiaj! Zdobywaj nowych Klientów! Zarządzaj relacjami z Klientem! Zarabiaj więcej! Sage ACT! Sprawdzone przez miliony Użytkowników i skuteczne rozwiązanie z rodziny

Bardziej szczegółowo

Cennik OpenOffice Software Sp. z o. o.

Cennik OpenOffice Software Sp. z o. o. Cennik OpenOffice Software Sp. z o. o. Cennik obowiązujący od dnia: 01.07.2008 Wersja Cena SRP netto PLN Cena SRP brutto PLN OpenZone.pl OpenOfficePL HOME 2008 BOX OpenOfficePL HOME 2008 BOX DVD NOWOŚĆ!!!

Bardziej szczegółowo

OFERTA SZKOLENIOWA PROGRESS SOFTWARE

OFERTA SZKOLENIOWA PROGRESS SOFTWARE OFERTA SZKOLENIOWA PROGRESS SOFTWARE Szanowni Państwo, Zapraszamy do zapoznania się z naszą ofertą szkoleń w systemie Progress. Kursy organizowane są dla małych grup 3-6 osobowych, w Warszawie. Każdy uczestnik

Bardziej szczegółowo

Ulotka v.2012.2.2. System Comarch OPT!MA v. 2012.2.2. Comarch SA 31-864 Kraków, Al. Jana Pawła II 41g tel. (12) 681 43 00, fax (12) 687 71 00

Ulotka v.2012.2.2. System Comarch OPT!MA v. 2012.2.2. Comarch SA 31-864 Kraków, Al. Jana Pawła II 41g tel. (12) 681 43 00, fax (12) 687 71 00 System Comarch OPT!MA v. 2012.2.2 Ulotka v.2012.2.2 Comarch SA 31-864 Kraków, Al. Jana Pawła II 41g tel. (12) 681 43 00, fax (12) 687 71 00 Dział Wsparcia Klienta i Partnera: tel. (12) 681 43 00 www.comarch.pl/erp

Bardziej szczegółowo

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS (c) 2008 Grupa SPOT SJ Grupa SPOT Krzysztof Cieślak, Maciej Gdula Spółka Jawna Podstawowe dane: firma założona w roku 2004 w wyniku połączenia

Bardziej szczegółowo

Uruchamianie bazy PostgreSQL

Uruchamianie bazy PostgreSQL Uruchamianie bazy PostgreSQL PostgreSQL i PostGIS Ten przewodnik może zostać pobrany jako PostgreSQL_pl.odt lub PostgreSQL_pl.pdf Przejrzano 10.09.2016 W tym rozdziale zobaczymy, jak uruchomić PostgreSQL

Bardziej szczegółowo

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7 AUREA BPM Oracle TECNA Sp. z o.o. Strona 1 z 7 ORACLE DATABASE System zarządzania bazą danych firmy Oracle jest jednym z najlepszych i najpopularniejszych rozwiązań tego typu na rynku. Oracle Database

Bardziej szczegółowo

Prezentacja specjalności studiów II stopnia. Inteligentne Technologie Internetowe

Prezentacja specjalności studiów II stopnia. Inteligentne Technologie Internetowe Prezentacja specjalności studiów II stopnia Inteligentne Technologie Internetowe Koordynator specjalności Prof. dr hab. Jarosław Stepaniuk Tematyka studiów Internet jako zbiór informacji Przetwarzanie:

Bardziej szczegółowo

System zarządzający grami programistycznymi Meridius

System zarządzający grami programistycznymi Meridius System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu

Bardziej szczegółowo

Ekspert MS SQL Server Oferta nr 00/08

Ekspert MS SQL Server Oferta nr 00/08 Ekspert MS SQL Server NAZWA STANOWISKA Ekspert Lokalizacja/ Jednostka organ.: Pion Informatyki, Biuro Hurtowni Danych i Aplikacji Wspierających, Zespół Jakości Oprogramowania i Utrzymania Aplikacji Szczecin,

Bardziej szczegółowo

KORZYSTANIE Z BAZY DANYCH UpToDate

KORZYSTANIE Z BAZY DANYCH UpToDate KORZYSTANIE Z BAZY DANYCH UpToDate 1 KORZYSTANIE Z BAZY DANYCH UpToDate 1. Wejdź na stronę Biblioteki Głównej Uniwersytetu Medycznego w Lublinie: http://www.biblioteka.umlub.pl 2. W ZASOBY kliknij na Zdalny

Bardziej szczegółowo

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak Serwery Autorzy: Karol Czosnowski Mateusz Kaźmierczak Czym jest XMPP? XMPP (Extensible Messaging and Presence Protocol), zbiór otwartych technologii do komunikacji, czatu wieloosobowego, rozmów wideo i

Bardziej szczegółowo

World Wide Web? rkijanka

World Wide Web? rkijanka World Wide Web? rkijanka World Wide Web? globalny, interaktywny, dynamiczny, wieloplatformowy, rozproszony, graficzny, hipertekstowy - system informacyjny, działający na bazie Internetu. 1.Sieć WWW jest

Bardziej szczegółowo

Client Management Solutions i Mobile Printing Solutions

Client Management Solutions i Mobile Printing Solutions Client Management Solutions i Mobile Printing Solutions Instrukcja obsługi Copyright 2006 Hewlett-Packard Development Company, L.P. Microsoft i Windows są zastrzeżonymi w Stanach Zjednoczonych znakami

Bardziej szczegółowo

Zextras KISS dla Twojego serwera Zimbra

Zextras KISS dla Twojego serwera Zimbra Zextras KISS dla Twojego serwera Zimbra PRELEGENT: TOMASZ BADURA 7L TECHNOLOGIE INFORMATYCZNE - ZEXTRAS PARTNER KIM JESTEŚMY? Od 2012 roku dystrybutor i Partner Zextras w Polsce Kilkunastoletnie doświadczenie

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

Rozwiązania biznesowe na żądanie. IBM Workplace Services Express

Rozwiązania biznesowe na żądanie. IBM Workplace Services Express Rozwiązania biznesowe na żądanie IBM Workplace Services Express Elastyczny dostęp do dokumentów i aplikacji biznesowych Oprogramowanie IBM Workplace Services Express dostarcza zintegrowane narzędzia umożliwiające

Bardziej szczegółowo

Co nowego w systemie Kancelaris 3.31 STD/3.41 PLUS

Co nowego w systemie Kancelaris 3.31 STD/3.41 PLUS Ten dokument zawiera informacje o zmianach w wersjach: 3.31 STD w stosunku do wersji 3.30 STD 3.41 PLUS w stosunku do wersji 3.40 PLUS 1. Kancelaria 1.1. Opcje kancelarii Co nowego w systemie Kancelaris

Bardziej szczegółowo

Tomasz Grześ. Systemy zarządzania treścią

Tomasz Grześ. Systemy zarządzania treścią Tomasz Grześ Systemy zarządzania treścią Co to jest CMS? CMS (ang. Content Management System System Zarządzania Treścią) CMS definicje TREŚĆ Dowolny rodzaj informacji cyfrowej. Może to być np. tekst, obraz,

Bardziej szczegółowo

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone. Wymagania systemowe dla Qlik Sense Qlik Sense June 2018 Copyright 1993-2018 QlikTech International AB. Wszelkie prawa zastrzeżone. Copyright 1993-2018 QlikTech International AB. Wszelkie prawa zastrzeżone.

Bardziej szczegółowo

Jest to program stworzony z myślą o nauczycielach, wykładowcach, trenerach i prezenterach.

Jest to program stworzony z myślą o nauczycielach, wykładowcach, trenerach i prezenterach. Czym jest system InteractivOS? Jest to program stworzony z myślą o nauczycielach, wykładowcach, trenerach i prezenterach. Aplikacja ta pozwala na szybkie zebranie opinii uczestników lekcji, wykładu prezentacji

Bardziej szczegółowo

Przedmiotem zamówienia jest dostawa:

Przedmiotem zamówienia jest dostawa: Załącznik nr 2 do SIWZ Przedmiotem zamówienia jest dostawa: OPIS PRZEDMIOTU ZAMÓWIENIA 1. Pakiet oprogramowania biurowego dla komputerów z systemem Windows - 3 licencje. Lp. Parametr Charakterystyka 1

Bardziej szczegółowo

Technologia informacyjna. Semestr zimowy 2017/2018 Zajęcia nr 8 (LibreOffice)

Technologia informacyjna. Semestr zimowy 2017/2018 Zajęcia nr 8 (LibreOffice) Technologia informacyjna Semestr zimowy 2017/2018 Zajęcia nr 8 (LibreOffice) Zadanie domowe Dokończ grę Mysz i ser w labiryncie. Arkusz kalkulacyjny z Wikipedii Arkusz kalkulacyjny program komputerowy

Bardziej szczegółowo

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows Spis treści Rozdział 1. Przegląd......... 1 Wstęp................. 1 Wdrażanie technologii Data Access........ 1 Źródła danych

Bardziej szczegółowo

Temat: Windows 7 Centrum akcji program antywirusowy

Temat: Windows 7 Centrum akcji program antywirusowy Instrukcja krok po kroku Centrum akcji program antywirusowy. Strona 1 z 9 Temat: Windows 7 Centrum akcji program antywirusowy Logowanie do konta lokalnego Administrator Start Panel sterowania Widok według:

Bardziej szczegółowo

Sieciowe dyski wirtualne oraz VM platforma jako usługa. Bogusław Kaczałek Kon-dor GIS Konsulting

Sieciowe dyski wirtualne oraz VM platforma jako usługa. Bogusław Kaczałek Kon-dor GIS Konsulting Sieciowe dyski wirtualne oraz VM platforma jako usługa Bogusław Kaczałek Kon-dor GIS Konsulting Rola służby GiK w tworzeniu polskiej IIP Wisła 8-10 września 2010 Wirtualne dyski sieciowe co to jest? Pod

Bardziej szczegółowo

Oferta szkoleniowa Warszawa 2018

Oferta szkoleniowa Warszawa 2018 Oferta szkoleniowa Warszawa 2018 Blockchain Technologies sp. z o.o. to jedna z pierwszych polskich firm zajmujących się technologią Blockchain. Została założona przez prof. Krzysztofa Piecha w 2016 roku.

Bardziej szczegółowo

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios Politechnika Poznańska, Instytut Informatyki, TWO/GE Programowanie dla ios 13 stycznia 2012 Urządzenia ios Urządzenie Data prezentacji iphone 9.01.2007/06.2007 ipod touch 5.09.2007 iphone 3G 9.06.2008

Bardziej szczegółowo

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Tworzenie aplikacji Web Alicja Zwiewka. Page 1 Tworzenie aplikacji Web Alicja Zwiewka Page 1 Co to są web-aplikacje? Aplikacja internetowa (ang. web application) program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową

Bardziej szczegółowo

Symulator doboru koloru i przetłoczenia bramy garażowej oraz wzoru drzwi wejściowych. do elewacji budynku klienta

Symulator doboru koloru i przetłoczenia bramy garażowej oraz wzoru drzwi wejściowych. do elewacji budynku klienta Symulator doboru koloru i przetłoczenia bramy garażowej oraz wzoru drzwi wejściowych do elewacji budynku klienta Wszechobecna nowa technologia Smartfony obecnie coraz częściej zastępują zwykłe telefony

Bardziej szczegółowo

Symantec Backup Exec System Recovery 7.0 Server Edition. Odtwarzanie systemu Windows w ciągu najwyżej kilkudziesięciu minut nie godzin czy dni

Symantec Backup Exec System Recovery 7.0 Server Edition. Odtwarzanie systemu Windows w ciągu najwyżej kilkudziesięciu minut nie godzin czy dni GŁÓWNE ZALETY Odtwarzanie systemu Windows w ciągu najwyżej kilkudziesięciu minut nie godzin czy dni Firma Symantec wielokrotnie publicznie udowadniała, że dzięki oprogramowaniu Backup Exec System Recovery

Bardziej szczegółowo

Połączenia. Obsługiwane systemy operacyjne. Instalowanie drukarki przy użyciu dysku CD Oprogramowanie i dokumentacja

Połączenia. Obsługiwane systemy operacyjne. Instalowanie drukarki przy użyciu dysku CD Oprogramowanie i dokumentacja Strona 1 z 6 Połączenia Obsługiwane systemy operacyjne Korzystając z dysku CD z oprogramowaniem, można zainstalować oprogramowanie drukarki w następujących systemach operacyjnych: Windows 8.1 Windows Server

Bardziej szczegółowo

INSTRUKCJA INSTALACJI OPROGRAMOWANIA MICROSOFT LYNC 2010 ATTENDEE ORAZ KORZYTANIA Z WYKŁADÓW SYNCHRONICZNYCH

INSTRUKCJA INSTALACJI OPROGRAMOWANIA MICROSOFT LYNC 2010 ATTENDEE ORAZ KORZYTANIA Z WYKŁADÓW SYNCHRONICZNYCH INSTRUKCJA INSTALACJI OPROGRAMOWANIA MICROSOFT LYNC 2010 ATTENDEE ORAZ KORZYTANIA Z WYKŁADÓW SYNCHRONICZNYCH Wstęp Warunkiem uczestnictwa w wykładzie zdalnym jest zainstalowanie na komputerze ucznia uczestnika

Bardziej szczegółowo

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA Projekt współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Regionalnego Programu Operacyjnego Województwa Opolskiego na lata 2007-2013 inwestujemy w

Bardziej szczegółowo

Forte Rozliczenia Pracownicze

Forte Rozliczenia Pracownicze Forte Rozliczenia Pracownicze Podręcznik użytkownika Wersja 2014 Windows jest znakiem towarowym firmy Microsoft Corporation. Microsoft SQL Server jest znakiem towarowym firmy Microsoft Corporation. Adobe,

Bardziej szczegółowo

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Dotacje na innowacje. Inwestujemy w waszą przyszłość. PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia

Bardziej szczegółowo

Dane Klienta: Inter Szyk J. Kozikowski Sp.J. ul. Narwicka 11a. 80-557 Gdańsk. www.interszyk.pl

Dane Klienta: Inter Szyk J. Kozikowski Sp.J. ul. Narwicka 11a. 80-557 Gdańsk. www.interszyk.pl Dane Klienta: Inter Szyk J. Kozikowski Sp.J. ul. Narwicka 11a 80-557 Gdańsk www.interszyk.pl InterSzyk jest jedną z największych hurtowni odzieżowych działających na terenie całej Polski. Poza sprzedażą

Bardziej szczegółowo

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin HENRYKOWSKI Nr albumu: 158069 Praca magisterska na kierunku Informatyka Archiwizacja

Bardziej szczegółowo

Software Updater F-Secure Unikatowe narzędzie, które chroni firmy przed znanymi zagrożeniami

Software Updater F-Secure Unikatowe narzędzie, które chroni firmy przed znanymi zagrożeniami Software Updater F-Secure Unikatowe narzędzie, które chroni firmy przed znanymi zagrożeniami Sens automatycznych aktualizacji oprogramowania Większość współczesnych złośliwych programów infekuje systemy

Bardziej szczegółowo

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4 Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

Zaawansowane programowanie w języku C++

Zaawansowane programowanie w języku C++ Kod szkolenia: Tytuł szkolenia: C/ADV Zaawansowane programowanie w języku C++ Dni: 3 Opis: Uczestnicy szkolenia zapoznają się z metodami wytwarzania oprogramowania z użyciem zaawansowanych mechanizmów

Bardziej szczegółowo

Usługa wsparcia technicznego związana ze zmianą stosu technologicznego Oprogramowania Syriusz Std.

Usługa wsparcia technicznego związana ze zmianą stosu technologicznego Oprogramowania Syriusz Std. Zabrze, sierpień 2017 r. Usługa wsparcia technicznego związana ze zmianą stosu technologicznego Oprogramowania Syriusz Std. Informacja nie dotyczy urzędów posiadających wykupioną w Sygnity usługę SaaS

Bardziej szczegółowo

Program szkolenia KURS SPD i PD Administrator szkolnej pracowni internetowej Kurs MD1 Kurs MD2 Kurs MD3 (dla szkół ponadgimnazjalnych)

Program szkolenia KURS SPD i PD Administrator szkolnej pracowni internetowej Kurs MD1 Kurs MD2 Kurs MD3 (dla szkół ponadgimnazjalnych) Miejsce prowadzenia szkolenia Program szkolenia KURS SPD i PD Administrator pracowni internetowej Kurs MD1 Kurs MD2 Kurs MD3 (dla szkół ponadgimnazjalnych) Pracownie komputerowe znajdujące się w wyznaczonych

Bardziej szczegółowo

Piotr Dynia. PowerPivot. narzędzie do wielowymiarowej analizy danych

Piotr Dynia. PowerPivot. narzędzie do wielowymiarowej analizy danych Piotr Dynia PowerPivot narzędzie do wielowymiarowej analizy danych Od autora Wraz z wprowadzeniem na rynek nowej wersji pakietu Office: Microsoft Office 2010 udostępniono darmowy dodatek dla Excela o nazwie

Bardziej szczegółowo

Instrukcja użytkownika

Instrukcja użytkownika Instrukcja użytkownika ul. Zawalna 1/5 51-118 Wrocław e-mail: biuro@innotechtion.pl www.innotechtion.pl Spis treści 1 Instalacja oprogramowania SMS Studio...2 2 Pierwsze uruchomienie... 4 2.1 Rejestracja...

Bardziej szczegółowo

Wyjaśnienia z dnia r. do treści Zapytania Ofertowego nr ZO/3/FO/POPC/2017 w odpowiedzi na pytania dotyczące Zapytania ofertowego.

Wyjaśnienia z dnia r. do treści Zapytania Ofertowego nr ZO/3/FO/POPC/2017 w odpowiedzi na pytania dotyczące Zapytania ofertowego. Wyjaśnienia z dnia 14.09.2017r. do treści Zapytania Ofertowego nr ZO/3/FO/POPC/2017 w odpowiedzi na pytania dotyczące Zapytania ofertowego. 1. Czy dobrze rozumiem, że administracja portalem jest po Państwa

Bardziej szczegółowo

TOPWEB SPSall Budowanie portalu intranetowego

TOPWEB SPSall Budowanie portalu intranetowego TOPWEB SPSall Budowanie portalu intranetowego Przeznaczenie szkolenia Szkolenie dla osób chcących: Profesjonalnie budować intranetowy portal w oparciu o aplikację Microsoft SharePoint 2013. Sprawnie posługiwać

Bardziej szczegółowo

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.

Bardziej szczegółowo

Inżynieria oprogramowania- Grupa dra inż. Leszka Grocholskiego II UWr 2009/2010. Aleksandra Kloc, Adam Grycner, Mateusz Łyczek. Wasza-fota.

Inżynieria oprogramowania- Grupa dra inż. Leszka Grocholskiego II UWr 2009/2010. Aleksandra Kloc, Adam Grycner, Mateusz Łyczek. Wasza-fota. Inżynieria oprogramowania- Grupa dra inż. Leszka Grocholskiego II UWr 2009/2010 Aleksandra Kloc, Adam Grycner, Mateusz Łyczek Wasza-fota.pl Projekt struktury systemu Historia zmian tego dokumentu Data

Bardziej szczegółowo

Dokumentacja aplikacji Szachy online

Dokumentacja aplikacji Szachy online Projekt z przedmiotu Technologie Internetowe Autorzy: Jakub Białas i Jarosław Tyma grupa II, Automatyka i Robotyka sem. V, Politechnika Śląska Przedmiot projektu: Aplikacja internetowa w języku Java Dokumentacja

Bardziej szczegółowo

AE/ZP-27-16/14. Oprogramowanie do wykonywania kopii zapasowych oraz zarządzania maszynami wirtualnymi

AE/ZP-27-16/14. Oprogramowanie do wykonywania kopii zapasowych oraz zarządzania maszynami wirtualnymi AE/ZP-27-16/14 Załącznik B Oprogramowanie do wykonywania kopii zapasowych oraz zarządzania maszynami wirtualnymi Wykonywanie kopii zapasowych Oprogramowanie do archiwizacji musi współpracować z infrastrukturą

Bardziej szczegółowo

OpenLaszlo. OpenLaszlo

OpenLaszlo. OpenLaszlo OpenLaszlo Spis Treści 1 OpenLaszlo Co to jest? Historia Idea Architektura Jako Flash lub DHTML Jako servlet lub SOLO Jak to działa? Język LZX Struktura programu Skrypty Obiekty i klasy Atrybuty i metody

Bardziej szczegółowo

Spis treści. O autorce. O recenzentach. Wprowadzenie

Spis treści. O autorce. O recenzentach. Wprowadzenie Spis treści O autorce O recenzentach Wprowadzenie Rozdział 1. Badanie rynku i konkurencji oraz ustalanie celów Koncentracja na trafności Identyfikowanie konkurentów przy użyciu wyników wyszukiwania w Google

Bardziej szczegółowo

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD). Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD). Rapid Application Development RAD Szybkie tworzenie programów użytkowych (Rapid Application Development RAD) jest mającą

Bardziej szczegółowo

Przetwarzanie danych w chmurze

Przetwarzanie danych w chmurze Materiały dydaktyczne Katedra Inżynierii Komputerowej Przetwarzanie danych w chmurze Modele przetwarzania w chmurze dr inż. Robert Arsoba Robert.Arsoba@weii.tu.koszalin.pl Koszalin 2017 Wersja 1.0 Modele

Bardziej szczegółowo

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8. WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8. Gdy już posiadamy serwer i zainstalowany na nim system Windows XP, 7 lub 8 postawienie na nim serwera stron WWW jest bardzo proste. Wystarczy

Bardziej szczegółowo