sobota, 22 listopada 2014

Prawo krytykowania i blogerzy książkowi...

Przeglądając swój blog  stwierdziłam, że czas aby podejrzeć konkurencyjne blogi i tak  kilka postów dalej coś zwróciło moją uwagę. A mianowicie każdy bloger książkowy wychwala książki, które recenzuje czy osoby  tworzące swój  blog boją się po prostu skrytykować złe książki? Wiem, że mówiąc " złe książki" mogę niektórych zrazić ale źle napisana książka nie jest wyśmienitym kąskiem dla pasjonata literatury ( technicznej, klasycznej). Może czasem warto ostrzegać czytelnika przez wyrzuconą kasą w błoto. Patrząc na siebie ja jeszcze nie trafiłam na książkę tak kiepską żeby napisać o niej " Proszę państwa proszę tego nie kupować ponieważ za te pieniądze można sobie bluzkę kupić" . Czy blogerzy boją się odpowiedzialności za swoje posty ?
A jeżeli tak to jak  mogą żyć  z swoją moralnością, że ktoś wyrzucił pieniądze w błoto i teraz wyklina w niebiosa recenzenta, który dał ciała. Ja bym nie mogła...

niedziela, 9 listopada 2014

Relacja Code::dive...

Dnia 5 listopada miasto Wrocław stało się nieoficjalną europejską stolicą programistyczną, a mianowicie w dniu tym odbyła się konferencja programistyczna Code::dive.
W czasie tym do Wrocławia przybyło około 1700 osób z całej Europy aby uczestniczyć w tym bardzo ważnym dla programistów wydarzeniu.

Organizując konferencje organizatorzy chcieli stworzyć miejsce w którym pasjonaci programowania będą mogli wysłuchać ciekawych prelekcji, dzielić się swoimi doświadczeniami, a także rozwijać swoje umiejętności pod bacznym okiem największych sław w tej dziedzinie.


I uważam, że się to organizatorom udało, wykłady, które były zrealizowane  z dużym rozmachem i z dużą dozą humoru dziedzinowego. Prelegenci sprawili, że większość z słuchaczy  spojrzało optymistycznym okiem na swoją dalszą przyszłość w zawodzie programisty.
 Rejestracja uczestników zaczęła się około godziny 7  już przed tą godziną zaczęli się zbierać uczestnicy w celu uniknięcia kolejek przy rejestracji.



O godzinie 9.00 odbyło się powitanie uczestników konferencji, wszystkich powitał Pan Rafał Motriuk


Po powitaniu nadszedł czas na pierwszy wykład, odbywały  się one równoległe w dwóch salach. Trzeba było wybrać wykład zgodnie z zainteresowaniami. Rozpoczął Pan Andrzej Krzemieński ze swoim " Seeing the Bigger Picture".


Po zakończeniu mowy Pana Krzemieńskiego nadszedł czas na prelekcje na którą bardzo długo czekałam. Był to wykład o nazwie "CPU caches and why you care"  w sumie Pan Scott Meyers przemawiał dwa razy. Drugi zrealizowany był  po przerwie obiadowej był to:  " Support for embedded programming in C++ 11 and C++ 14".
 Pan Scott Meyers jest światowej sławy programistą, autorem bardzo popularnych książek o programowaniu obiektowym między innymi: " C++. 50 efektywnych sposobów na udoskonalenie Twoich programów".
Pan Meyers przemawiał do uczestników  z wielką pasją podchodząc do tego z profesjonalizmem połączonym z nutką humoru. Dzięki temu wykład był bardzo ciekawy oraz przebojowy, jest wzorem wykładowcy, którego słucha się z zapartym tchem. Po zakończeniu wykładu niektórzy z nas czuli pewien niedosyt związany z długością trwania wykładu. Co jest w pełni zrozumiałe.


 Następnym bardzo ciekawym wykładem był  " Core principles and practices for creating lichtweight design"  przemawiał Pan Venkat Subramaniam. Wielokrotnie nagradzany autor książek oraz  założyciel Agile Developer. Ostatnią książką, którą wydał jest "Functional Programming in Java: Harnessing the Power Of Java 8 Lambda Expressions". Pan Subramaniam przemawiając połączył swoją niebywałą wiedzę plus ogromne poczucie humoru w jedną nierozłączną całość, czyniąc swój wykład kunsztem dla słuchaczy.  Mówiąc nas z przekąsem "Your code can not be dirty" sprawił, że sala zaniosła się śmiechem, co sprawiło że na drugi wykład tegoż Pana czekaliśmy z niecierpliwością.


W przerwie pomiędzy wykładami był poczęstunek. Oferowana była pizza oraz napoje  dla każdego uczestnika, warunkiem było ukazanie swojego identyfikatora.Pizza była bardzo smaczna chyba nie widziałam uczestnika, który narzekał na posiłek.


Po posiłku wiele z nas wyszło na zewnątrz, żeby zaczerpnąć świeżego powietrza oraz " puścić dymek".

W trakcie godzinnej przerwy uczestnicy mieli czas aby porozmawiać o swoich dotychczasowych osiągnięciach w dziedzinie IT oraz o wrażeniach z pierwszej części wykładów, również wielu z nich zechciało po prostu pospacerować, po dłuższym siedzeniu na wykładach.



Po przerwie nadszedł czas na kontynuacje prelekcji . Pierwszym wykładem po przerwie był  już wcześniej wspominany Pana Scotta Meyersa'a " Support for embedded programming in C++ 11 and C++ 14.


Po tym wykładzie nastąpiło wręczenie nagród " This is the road to smartcity":

I miejsce i  główną nagrodę zdobył Krzysztof Guz,
II miejsce zajął Filip Malawski,
III miejsce zajęli Krzysztof Kowalski i Tomasz Serafiński.

Równolegle z rozdaniem nagród odbywała się prelekcja Pana Bartosza Szurgota.
Ostatnim wykładem , który wybrałam był " Functional programming? Technical Reasons to adapt". Pan Venkat Subramaniam po raz kolejny pokazał swój kunszt, sposób w który zwalczył zmęczenie u ludzi będących od rana na nogach  był znakomity, po raz kolejny z dużą dozą humoru oraz fachowego podejścia poprowadził wykład znakomicie, sprawiając, że człowiek poczuł  niedosyt i zechciał więcej owych wspaniałych prelekcji w wykonaniu tego Pana. 

Po zakończeniu konferencji odbyło się Afterparty, przy świetnej muzyce oraz odrobinie mocniejszych trunków lub zwykłych napojów jak kto woli ( lub może) , uczestnicy mogli porozmawiać o swoich dotychczasowych osiągnięciach naukowych oraz porozmawiać z światowej klasy programistami.


Także Code::dive zakończył się już 4 dni temu, po konferencji zostały nam jedynie wspomnienia w postaci zdjęć, identyfikatorów oraz autografów.
 Autografy są bardzo ważne ponieważ każdy kto spojrzy  na podpis Pana Scotta Meyersa pomyśli w taki sposób - "A może gdybym się przyłożył na studiach, zaczął szukać własnych rozwiązań do problemów, które przytłaczają większość programistów. Jeżeli zrobię coś dobrze i będzie to dobre dla każdego użytkownika mojego rozwiązania, może i mnie ktoś kiedyś poprosi o autograf." Warto to rozważyć. Czasami warto spełniać swoje najskrytsze marzenia, wbrew krytyce poruszającej się wokół nas  populacji warto robić swoje. To zawsze procentuje... w formie wiedzy...






środa, 29 października 2014

Nadchodzi dzień programistów czyli konferencja Code::dive

Pasjonujesz się programowaniem? Chcesz mieć szanse spotkania ze światowej sławy autorytetami w tej dziedzinie?  Tak więc data 5.11.2014 powinna być dla Ciebie wskazówką, tego dnia odbędzie się w Centrum kongresowym przy wrocławskiej hali stulecia wielka konferencja programistów Code::dive.
Konferencja, której gośćmi będą między innymi Scott Mayers (!)-  autor serii książek o efektywnym wykorzystaniu języka C++ oraz Venkat Subramaniam(!) założyciel Agile Developer, autorytet w dziedzinie programowania w języku Java oraz guru w dziedzinie zastosowania metodologii agile'owych.
 Jest to doskonała szansa aby udoskonalić swoje umiejętności pod okiem profesjonalistów, taka szansa zdarza się naprawdę bardzo rzadko.
Ja z niej skorzystałam, skorzystaj i Ty ...czytelniku...




Systemy baz danych...

Bazy danych odgrywają znaczącą role w codziennym życiu każdego z nas, zdajemy sobie z tego sprawę logując się do swojego konta w banku, przeglądając strony aukcyjne lub po prostu wpisując hasło w wyszukiwarce Google.
Szybkie i bezpieczne przetwarzanie  oraz przechowywanie ogromnych ilości informacji jest dziś bardzo ważnym czynnikiem funkcjonowanie wielu firm, organizacji i instytucji.
Współczesne bazy danych są sumą wiedzy i technologii rozwijanych przez przez kilka ostatnich dziesięcioleci. Owocem tych prac jest przede wszystkim bardziej wyspecjalizowane oprogramowanie -  systemy zarządzania  bazami danych DBMS (Database Management System) czyli rozbudowane narzędzia do tworzenia zbiorów informacji i zarządzania nimi.

Główne zadania DBMS można określić następująco:

1. Zapamiętywanie danych oraz wyszukiwania ich na podstawie innych wyników
2. Oddzielenie funkcji zapamiętania i wyszukiwania od programów aplikacyjnych, co powoduje że programy stają się mniej wrażliwe na zmianę danych.
3. Umożliwienie korzystania z danych na podstawie ich logicznego opisu, system całkowicie przejmuje kontrole nad wykorzystaniem urządzeń pamięciowych dla zapisu danych,
4. Umożliwia dostęp do danych dla wielu użytkowników,
5.Sprawdzanie danych za pomocą odpowiednio zdefiniowanych procedur kontrolnych,
6. Ochrona danych.

Niestety mają one również jedną wadę - należą do najbardziej złożonych rodzajów oprogramowania.

Dostęp do baz danych powinien być zdefiniowany za pomocą języka zapytań, który jest zresztą łatwy w użyciu oraz z zastosowaniem języków programowania wysokiego poziomu.
Można wyróżnić cztery podstawowe rodzaje baz danych:

  • hierarchiczne
  • sieciowe
  • relacyjne
  • obiektywne
 Wymieniona kolejność jest nieprzypadkowa, a mianowicie jest kolejnością chronologiczną w jakiej dane bazy powstawały.

Hierachiczne

W hierarchicznej bazie danych stosuje się struktury typu drzewa. Węzłom w strukturze drzewa odpowiadają zbiory rekordów danych. Zbiór rekordów poziomu wyższego jest łączony relacjami 1:m (one-to-many) ze zbiorami poziomu niższego. Dzięki takiej budowie, wyszukiwanie określonych elementów w bazie odbywa się stosunkowo szybko. Istotna wadą baz hierarchicznych jest jednak redundancja danych wynikająca z faktu, że można wykorzystywać jedynie relacje typu 1:m. Duże kłopoty sprawia również zmiana struktury istniejącej bazy.

Sieciowe
Sieciowa baza danych jest rozwinięciem bazy hierarchicznej przez dodanie możliwości zapisu relacji m:m (many-to-many). Tak więc w bazie sieciowej poza relacjami hierarchicznymi występują dodatkowe połączenia, umożliwiające uzyskanie dostępu do danego rekordu bez potrzeby każdorazowego przechodzenia przez strukturę drzewa. Wprowadzone zmiany spowodowały zmniejszenia redundancji danych przez dodatkowe możliwości powiązania danych, które już istnieją, ale nie wyeliminowały trudności związane ze zmianą struktury bazy istniejącej.

Relacyjne

Obecnie najczęściej stosowanymi bazami są bazy relacyjne, Pakiet programów służących zarządzaniu relacyjnymi bazami danych jest nazywany RDBMS (ang. Relational Database Management System). Bazy te realizują z powodzeniem wszystkie funkcje związane z zarządzaniem informacją opisową.
W relacyjnej bazie danych wykorzystywana jest struktura tablicy. W skład bazy wchodzi jedna lub więcej powiązanych ze sobą tablic. Każda kolumna tablicy zawiera elementy tego samego typu, ma swoją nazwę i jest przez nią identyfikowana. Zbiór wartości jakie mogą występować w danej kolumnie nazywa się jej dziedziną.  Wiersz tablicy, nazywany rekordem , identyfikowany jest za pośrednictwem wartości zapisanych w nim elementów. Funkcję klucza, jednoznacznie określającego poszczególne wiersze, może spełniać pojedyncza kolumna lub też kilka odpowiednio wybranych kolumn.W relacyjnej bazie typowym językiem zapytań jest SQL.
Wyszukiwanie w więcej niż jednej tablicy dokonywane jest z wykorzystaniem wspólnych wartości tego samego typu atrybutów

Obiektowe

Obiektowe bazy danych rozwinęły się wraz z rozwojem i rozpowszechnieniem programowania zorientowanego obiektowo. Cechą charakterystyczną obiektowych baz danych jest to, że przechowują obiekty o dowolnych strukturach wraz z przywiązanymi do nich metodami . Dzięki takiemu rozwiązaniu bazy takie mają znaczną przewagę nad innymi rodzajami baz kiedy zachodzi konieczność przechowywania bardzo złożonych struktur. Znaczącą wadą baz obiektowych w chwili obecnej jest problem z realizacją zapytań.

(Powyższe fragmenty tekstu są zaczerpnięte z wykładu dr inż. Waldemara Izdebskiego)

Żeby ułatwić osobom, które interesują się bazami danych oraz  studentom, którzy mają przedmiot na wykładach. W związku z tym  trzech znanych naukowców z dziedziny IT z Uniwersytetu Stanforda- Hector Garcia-Molina, Jeffrey D. Ullman i Jennifer Widom - postanowiło stworzyć pierwszy kompletny podręcznik, wprowadzający do systemów baz danych.
Zawiera on opis wszystkich najnowszych standardów bazy danych SQL 1999, SQL/PSM, SQL/CLI, JDBC, ODL oraz XML i to w większym zakresie niż w większości publikacji.
Podręcznik został przygotowany w taki sposób aby po przeczytaniu książki przez użytkownika projektowanie czy użytkowanie bazy danych nie stanowiło dla czytelnika żadnego problemu.
Mogę z czystym sumieniem polecić tą książkę.

 "Systemy baz danych" - Hector Garcia-Molina, Jeffrey D. Ullman i Jennifer Widom
Książkę można znaleźć tutaj: LINK

środa, 22 października 2014

Future3 - relacja z uczestnictwa...

Wczoraj odbyły się targi pracy Future3, w targach brało udział blisko 40 firm pomorskich z branży IT, które  były chętne w pozyskaniu nowego pracownika do swoich szeregów.

Moje pierwsze wrażenia z imprezy są takie, że była to dobra okazja aby poznać potencjalnych pracodawców oraz rozejrzeć się po rynku pracy.
Można było wysłuchać o szczegółach zatrudnienia u każdej z firm oraz oczywiście wybrać atrakcyjną ofertę dla siebie.
Przy wielu stoiskach można było zostawić swoje cv lub wypełnić formularz zgłoszeniowy, bardzo wiele osób z tego skorzystało i tym samym dostało szansę na zdobycie świetnej pracy.

Zainteresowały mnie również punkty w których można było polecić osobę danemu pracodawcy i dostać za to pieniążki, tutaj górował nabór na programistów PHP.
Co mnie jeszcze zainteresowało to konkurs programistyczny, w konkursie wzięło wielu młodych


programistów, konkurs zorganizowany był dla każdego człowieka, który potrafi programować, moim zdaniem była to dobra okazja aby sprawdzić swoje siły oraz dowiedzieć się, poprzez zadane zadania ile jeszcze pracy nas czeka, aby udoskonalić swoje zdolności.


Oczywiście będąc na targach można było skorzystać z uczestnictwa w wykładach oraz warsztatach, które były bardzo ciekawe.

czwartek, 16 października 2014

Future3- kariera w Waszych rękach...

Miało być o książkach ale jednak postanowiłam, że dzisiaj z innej beczki. Wiadomo, że dla każdego studenta lub absolwenta kierunku Informatyka warsztaty oraz wykłady doszkalające to podstawa do nabrania coraz to lepszej kondycji umysłowej i praktycznej z zakresu IT.

Miasto Gdańsk postanowiło wesprzeć  dzień kariery dla specjalistów  z różnorakich dziedzin programowania i innych z zakresu IT, kilkanaście firm wystawia swoje oferty pracy dla chętnych, którzy chcą mieć szanse na znalezienie dobrej pracy. Organizatorem Future3 jest 3Camp.
Do dyspozycji uczestnika będą również wykłady, warsztaty oraz konkursy zorganizowane dla programistów. Można będzie wygrać fajne nagrody.


Link do strony organizatora znajdziecie Państwo tutaj:LINK

sobota, 11 października 2014

Bazy danych...

Bazy danych to  dziedzina informatyki, dynamicznie się rozwijająca i mająca szerokie zastosowanie wszędzie tam, gdzie niezbędne jest przetwarzanie danych np. w korporacjach.
Każda osoba zwana inaczej użytkownikiem korzystając z komputera spotyka się z bazami danych na każdym kroku.
Zapewne każdy czytelnik mojego bloga  korzysta z serwisów aukcyjnych, portali społecznościowych, bez bazy danych takie serwisy, portale itp. nie mogłyby istnieć. Kupno książki w sklepie internetowym to czynność która, oczywiście nie kojarzy się z informatyką i z jej omawianym działem, a jednak korzysta z jego wytworów i ma z nim wiele wspólnego.

Zastanówmy się jak możemy zdefiniować poprawnie pojęcie baz danych. Często słyszę od kolegi ze studiów, stwierdzenie " Używam bazy danych." jak można zinterpretować to stwierdzenie?
  Najogólniej można stwierdzić, że bazy danych to zbiór informacji wraz z możliwością łatwego dostępu do danych oraz ich zmianę ( tj. modyfikację , dodawanie nowych i usuwanie starych) z poziomu aplikacji z niej korzystającej.
No i właśnie w taki sposób  jest rozumiany  zwrot " Używam bazy danych" oznacza " Korzystam ze zbioru informacji, który łatwo odczytywać  i zmieniać".

Oczywiście, żeby zacząć zajmować się bazami danych należy poszukać odpowiedniej książki.. Kiedy poszukiwałam swojej pozycji NIE kierowałam się przede wszystkim objętością stron, tylko jakością potrzebnego materiału.
Ponieważ czasem nawet jeśli książka jest obszerna może być jakościowo niezbyt dobra.
Tak więc znalazłam książkę, która mnie pozytywnie zaskoczyła swoją zawartością, byłam zdumiona, że książka, która ma stron 207 może zawierać wszystko co jest potrzebne aby zacząć swoją przygodę z bazami danych.
Dzięki tej książce, która przygotowuje  nawet całkowicie " zielonego" czytelnika do spotkania z bazą danych i jej instalacji, zapoznaje z interfejsem programu Sybase SQL Anywhere i co najważniejsze omawia składnie najważniejszych poleceń SQL-a.
Praca z bazą danych to czysta przyjemność. Polecam.


"Bazy danych" - autorzy Włodzimierz Khadzhynov, Piotr Ratuszniak


Książkę można znaleźć tutaj: LINK

piątek, 26 września 2014

Jak kupować taniej książki pomagając przy tym innym?

Istnieją wśród nas osoby, które uważają, książki w pdf-ie to nie książki. Dla nich definicją książki jest przedmiot z różną ilością stron papierowych, który można nosić w torbie, plecaku lub w kieszeni ( wersja kieszonkowa).
Wiadomo, że czasami chcąc nabyć pozycję, która kosztuje czasem tyle co pół wypłaty osób z najniższą krajową. I co wtedy należy począć? Należy szukać i jeszcze raz szukać wersji tańszych. W większości przypadków kończy się to tym, że osoba, która  nie uznaję ebooków musi się nimi jednak zadowolić.
A co zrobić gdy dana książka nie ma swojej ebookowej wersji lub nie została zeskanowana przez entuzjastów, którzy uwielbiają kiedy społeczeństwo im  nabija punkty za pobieranie w pewnym portalu.
Wtedy musimy poszukać na aukcji książek używanych, nie będę pisała w tej chwili o portalach aukcyjnych krajowych ponieważ chyba każdy wie, że  polskie książki można kupić tam taniej.

Przykładowo musimy poszukać książki, która jest napisana w języku angielskim, na stronach polskich nie można znaleźć jej w żadnym aukcyjnym serwisie. Wtedy przeglądamy aukcje międzynarodowe, na co zwracać uwagę?
Oczywiście na aukcje charytatywne-  są one oznaczone wstążką. Moja ostatnia książka była kupiona właśnie na takiej aukcji, pieniądze z takich aukcji są przeznaczone na rehabilitacje dla dziecka niepełnosprawnego, książki takie są tam sprzedawane po cenie  czasem niższej nawet o 90 % od ceny sugerowanej, wszystko po to aby książkę jak najszybciej sprzedać. Dzięki czemu można pomóc osobom chorym i zyskać naprawdę ciekawą pozycje.

 Niedługo pojawi się wpis o kolejnej książce, którą tak właśnie upolowałam.



wtorek, 23 września 2014

PHP bez tajemnic

Język PHP jest obiektowym językiem programowania, który został zaprojektowany do generowania stron internetowych oraz budowania aplikacji webowych w czasie rzeczywistym.
Jest on najczęściej stosowanym językiem do tworzenia skryptów po stronie serwera www, ale również można go stosować do przetwarzania danych z poziomu wiersza poleceń. Można również używać PHP do pisania programów  pracujących w trybie graficznym.
Implementacja PHP razem z serwerem Apache oraz serwerem bazy danych MySQL określana jest jako platforma AMP.

To, że język PHP zyskał uznanie tak wielu użytkowników, wynika z faktu że język ten ma bardzo mało wad.
Do jednej z niewielu wad można zaliczyć to że, strona  pisana przez niedoświadczonego programistę może nie być dostatecznie zabezpieczona. Często niedoświadczeni użytkownicy po prostu zapominają stosować funkcji addslashes() przy wysyłaniu zapytań do  bazy danych.
Funkcja ta wstawia znak "\" przed znakami specjalnymi " ' ", czy "/". Zapominając o stosowaniu tej funkcji osoba o zamiarach na pewno nie przyjacielskich może nam narobić niezłej biedy. Dzięki atakowi " SQL Injection" może włamać się do bazy danych. I może to spowodować dramatyczne w skutkach zmiany w treści zawartych w bazie danych , usuwanie tabel lub usunięcie całej bazy.

Także żeby poznać dobrze język PHP oczywiście musimy zacząć od poszukiwania dobrej książki, która ułatwi nam naukę języka.
Wydawnictwa wydają coraz to nowsze książki do programowania i czasem naprawdę trudno " wyczuć", która książka będzie tą jedyną jak na początek oczywiście.
Można spotkać książki, które  spotyka się w sprzedaży w księgarniach oraz na aukcjach prawie wszystkich jakie są. Takie książki nazywamy popularnymi.
Można również spotkać książki, których występowanie ośmielę  określić jako strasznie rzadkie ponieważ został wyczerpany ich nakład. Znalezienie takiej książki na aukcjach czy sklepach internetowych lub stacjonarnych graniczy z cudem.
Jednakże jedna z takich książek zasługuje na wielkie uznanie. Książka ta jest doskonałym źródłem informacji, która pomoże zrozumieć początkującemu programiście najistotniejsze koncepcje programowania obiektowego w PHP 5.
Podręcznik ten zawiera omówienie zagadnień podstawowych oraz tych bardziej zaawansowanych., takich jak architektura Model-View-Controller (MVC) oraz testy jednostkowe.
W  książce można znaleźć  wskazówki i przykłady dotyczące m.in użycia biblioteki Standard PHP Library. Dowiecie się z niej jak używać odpowiedniego wzorca  aby Wasz kod był bardziej wydajnym czym jest testowanie jednostkowe i dlaczego jest ono bardzo ważną częścią tworzenia dobrego oraz stabilnego projektu programu.


"Programowanie obiektowe w PHP 5. " - autor Hasin Hayden



                    

Dla chętnych osób, książkę przed chwilą znalazłam tutaj: LINK 
Oraz tutaj: LINK 

Jak widać cud się właśnie wydarzył :D

<?php
     echo
            'Polecam' ;
?>

sobota, 20 września 2014

Wprowadzenie do algorytmów...

Algorytm jest przepisem opisującym krok po kroku rozwiązanie problemu lub osiągnięcie celu.

Przykład:

Algorytm gotowania kalafiora:

Krok 1. Włóż różyczki kalafiora do osolonej się gotującej wody
Krok 2. Zanotuj czas początkowy t0
Krok 3. Odczytaj czas aktualny t
Krok 4.  Oblicz D t = t - t0
Krok 5. Jeśli D t< 15 min, to przejdź do kroku 3
Krok 6. Kalafior odcedzamy. 

Tak jak widać algorytm gotowania kalafiora jest przepisem opisującym krok po kroku osiągnięcie celu jakim jest ugotowanie kalafiora.
Od zawsze człowiek starał sobie ułatwiać życie oraz ulepszać własne  metody realizacji swoich zamierzonych celów. Za przykład mogę przytoczyć między innymi : pakowanie plecaka, wychodzenie z labiryntu, wysyłanie wiadomości.

Niektóre algorytmy mają już 2000 lat więc zostały wymyślone na długo przed pojawieniem się pierwszych komputerów. Właśnie jednym z najstarszych algorytmów jest Algorytm Euklidesa czyli algorytm wyznaczania największego wspólnego dzielnika dwóch liczb. Został on opisany przez greckiego matematyka Euklidesa w jego dziele "Elementy".

Pierwsze wzmianki na temat tego algorytmu pojawiły się w dziele Euklidesa zatytułowanym "Elementy", około trzechsetnego roku przed naszą erą, sprawia to, że jest jednym z najstarszych,wciąż używanych algorytmów numerycznych.

Żeby przybliżyć bliżej tematykę algorytmów należy sięgnąć po pozycję książkową, która powinna solidnie ale zarazem krok po kroku wprowadzać czytelnika po kolejnych działach książki.
Tak więc istnieje książka, która zyskała miano BIBLII ALGORYTMÓW, w książce zostały omówione metody matematyczne stosowane do analizy algorytmów, sortowanie i statystyki pozycyjne, struktury danych, podstawowe metody projektowania efektywnych algorytmów.
Również dużo miejsca poświęcono  złożonym strukturom danych i podstawowym algorytmom grafowym. Poszczególne części książki stanowią materiał dydaktyczny wielu przedmiotów ( informatycznych) , które są wykładane na uczelniach wyższych.
Książka również zawiera zbiór zadań i problemów do rozwiązania, zadania są zróżnicowane co powinno być bardzo interesujące dla czytelnika.
Czytelnikiem w zasadzie może być każdy, kto chcę zajmować się  projektowaniem i programowaniem systemów informatycznych.


"Wprowadzenie do algorytmów" -  autorzy Thomas H. Cormen , Charles E. Leiserson , Ronald L. Rivest, Clifford Stein.

 
 Książkę można znaleźć tutaj: LINK


czwartek, 4 września 2014

Java EE 6. Tworzenie aplikacji w NetBeans 7...

Java Platform, Enterprise Edition jest szeroko rozpowszechniona serwerową platformą programistyczną języka Java. Jeżeli zależy Ci na najwyższej wydajności, niezawodności, jakości oraz estetyczności to Java EE jest prawdopodobnie najlepszym wyborem.
Jeżeli chcesz się skupić na postanowionym zadaniu i nie chcesz się męczyć z konfiguracją czy środowiskiem pracy, wybierz  NetBeans .
NetBeans zapewnia pełne wsparcie dla Javy EE, jest liderem wśród darmowych IDE ( Integrated Development Environment). Głównym celem NetBeans IDE jest przyśpieszenie budowy aplikacji Java, w tym aplikacji sieciowych oraz aplikacji mobilnych.

Jeżeli mamy poszukać książki, która omawia krok po kroku poszczególne aspekty Javy EE, to musimy wybrać pozycję, która zawiera opis wszystkich czynności, które należy wykonać zaczynając swoją przygodę z Javą EE.
Taką książką jest:


Java EE 6. Tworzenie aplikacji w NetBeans 7.- autor David R. Heffelfinger


 Dzięki tej książce poznasz możliwości Javy EE oraz przekonasz się jak bardzo NetBeans może ułatwiać pracę. Autor książki tłumaczy jak zainstalować i dostosować do własnych potrzeb oraz przygotować do pracy środowisko NetBeans. Ponadto zdobędziesz wiedzę związaną serwletami, JSP oraz JSF. Pomocne będzie również uzyskanie wiedzy z zakresu Java Persistence API oraz projektowaniu i uruchamianiu aplikacji.
 Tak więc bardzo polecam ową książkę ponieważ uważam, że jest to doskonałe źródło wiedzy dla wszystkich programistów języka Java.
Książkę można znaleźć tutaj: LINK





sobota, 23 sierpnia 2014

Java - konkurs... - WYNIKI

 Z okazji zbliżającego roku szkolnego oraz roku akademickiego przygotowałam dla Państwa konkurs w  sumie jeden z dwóch konkursów, które będą na moim blogu.  Jest on poświęcony tematyce programowania w języku Java.
Wiadomo, że technologia  Java  to podstawa programowania niemal  każdego rodzaju  aplikacji sieciowej - stanowi ogólnoświatowy standard wykorzystywany przy tworzeniu aplikacji dla urządzeń mobilnych, aplikacji wbudowywanych, gier, zawartości i treści internetowych oraz oprogramowania dla przedsiębiorstw.


Technologia Java była testowana przez oddaną społeczność programistów, architektów i entuzjastów. Zaprojektowana została w taki sposób, aby umożliwić programowanie urządzeń przenośnych, bardzo wydajnych aplikacji dla możliwie najszerszego spektrum platform przetwarzania cyfrowego.

Javę można znaleźć wszędzie - od laptopów po centra danych, od konsol do gier po komputery naukowe, od telefonów komórkowych po Internet.

Tak więc, aby wziąźć udział w moim konkursie należy:
-  odpowiedzieć na 10 pytań testowych oraz jedno pytanie sprawdzające kreatywność - LINK

Odpowiedzi proszę nadesłać na adres: konkurs.mrocznybibliotekarz@gmail.com

Dwie osoby, które uzyskają najwyższe wyniki w teście oraz dadzą najbardziej kreatywną odpowiedź, otrzymają książki:


                                             Książkę można znaleźć tutaj: LINK




Książkę można znaleźć tutaj: LINK

Zakończenie konkursu nastąpi w dniu 10 września 2014.

W razie wątpliwości zostawiam Wam regulamin.

Wyniki:
Bardzo dziękuje wszystkim startującym za Wasz wysiłek. Nie spodziewałam się, że mój konkurs stanie się aż tak popularny.
Tak więc wyniki miały ukazać się 15 września, jednak stwierdziłam, że nie  będę Was trzymać w niepewności i nie przedłużając:

Zwyciężyły osoby, które otrzymały maksymalną ilość punktów za test oraz pytanie kreatywne ( niektóre odpowiedzi mnie żwawo powaliły na klawiaturę :D ).


Osoby, które wygrały to:

Krzysztof Szewczyk  - Java EE 6. Tworzenie aplikacji w NetBeans 7
reak -
Scrum i nie tylko. Teoria i praktyka w metodach Agile.


Proszę o kontakt mailowy na adres: konkurs.mrocznybibliotekarz@gmail.com

Wszystkie osoby zapraszam już teraz na konkurs, który odbędzie się  prawdopodobnie późnią jesienią oraz do przeglądania nowości na moim blogu. Zaglądajcie często i głowa do góry...

Nagrody ufundowały wydawnictwa: Helion oraz PWN. 



wtorek, 19 sierpnia 2014

Konkursy...

Zbliżamy się powolnym krokiem do dnia w którym zostanie ogłoszony jeden z konkursów, mówię jeden ponieważ będą to konkursy organizowane co jakiś czas...
Sponsorami konkursów zostały wydawnictwa :
  • Wydawnictwo Helion.
Książkę można znaleźć tutaj: LINK



 
Książkę można znaleźć tutaj: LINK 
  • Wydawnictwo PWN


 Książkę można znaleźć tutaj: LINK


Książkę można znaleźć tutaj: LINK

Bardzo się cieszę z możliwości współpracy z wymienionymi wydawnictwami. Jest to dla mnie nowe oraz bardzo ciekawe doświadczenie.

Także zaglądajcie na mojego bloga, na pewno do końca tygodnia konkurs  zostanie ogłoszony.

czwartek, 14 sierpnia 2014

Porozwiązujmy sobie zadania z Javy...

Kiedyś powiedział mi mój wykładowca, aby nauczyć się dobrze programować w języku Java trzeba:
" Pisać, pisać, pisać i jeszcze raz pisać" - innymi słowy rozwiązywać duuużo zadań programistycznych ( po prostu sporo programować ;) ).
Patrząc na to trzeźwym okiem jest to  genialne stwierdzenie, ponieważ jak mamy sobie wyobrazić naukę bez praktyki, to tak jakbyśmy mieli prawko ale jeździli oglądając " Szybkich i wściekłych".
Dochodząc do sedna mojej notki, istnieją na polskim rynku książki, które zawierają w sobie zbiór zadań danego języka, aby zainteresowany mógł wymyślić własne rozwiązanie dla danego problemu. W książkach tych są podane oczywiście rozwiązania, żeby kursant mógł sprawdzić jak można takowe zadanie rozwiązać ale i również co robić aby kod wyglądał zwięźle, nie miał błędów stylistycznych oraz był przejrzysty dla otoczenia sprawdzającego lub współpracującego z danym kursantem.
Chciałabym polecić książkę, która posiada w sobie krótkie, wprowadzenia teoretyczne, które poprzedzają każdy dział w książce. Pozwalają one na rozpoczęcie przygody z  Javą nawet  dla osób, które nie mają żadnego pojęcia o programowaniu.
Również zadania które stanowią dane centrum książki pozwolą utrwalić wiadomości zarówno początkującym jak i bardziej zaawansowanym użytkownikom.
W książce są odpowiedzi do każdego z zadań, które zawierają również bardzo ciekawe wskazówki, dotyczące tego gdzie można odnaleźć dodatkowe informacje.

" Programowanie w języku Java. Zbiór zadań z (p)odpowiedziami" - autor Wiesław Rychlicki
Książkę można znaleźć tutaj: link

sobota, 9 sierpnia 2014

Java - praktyczne programowanie

Jeżeli chcemy się nauczyć dobrze języka Java, nie chodząc
 na skróty, ponieważ  kiedy ściągamy gotowe kody źródłowe
 oszukujemy samego siebie i swoje dobra moralne. 
Musimy podzielić sobie naukę  na dwa etapy, pierwszym z nich
jest poznanie struktur języka takich jak: pętle, warunki,
 operatory, podstawowe wyrażenia i składnia.  
Oczywiście musimy się nauczyć korzystać z bibliotek 
dostępnych  w języku, no  nie da się tego uniknąć w żaden 
sposób.
 W końcu od czegoś trzeba zacząć, a tutaj zaczynamy od 
zwykłego wyświetlania na ekranie lub pobierania wiadomości 
od użytkownika,są to elementy, które przeplatają się w  
początkowych etapach nauki języka. 
Kiedy już mamy opanowane  elementy opisane powyżej to
przechodzimy do bardziej złożonych szczegółów, związanych 
z semantyką oraz składnią kodu, dzięki którym można tworzyć 
optymalny kod, szybciej i  bardziej wydajnie.
Książka, której autor wprowadza czytelnika w świat 
tegoż języka  jest skierowana do osób,którzy dopiero 
rozpoczynają swoją długą, pełną zakrętów i wątpliwości drogę 
z językiem Java. 
Jak i również dla osób, które już wiele poświęcili na to,
żeby porzucić swoje wątpliwości co do skuteczności 
tego  języka i  chcą dokształcić swoje umiejętności.
 Tak więc bardzo polecam:
 "Java. Programowanie praktyczne od podstaw." - autor Krzysztof Barteczko 
Książkę można znaleźć tutaj: link

piątek, 8 sierpnia 2014

Android w praktyce

Obecnie Android jest najpopularniejszą platformą dla telefonów komórkowych i tabletów. Kilka tysięcy aktywacji wykonywane w ciągu jednego dnia powinny dać do myślenia, wiele osób pewnie się zastanawia skąd się wzięła popularność platformy Android.
Po głębszym zastanowieniu się można stwierdzić, że nie bez znaczenia jest prosta integracja z portalami społecznościowymi  oraz ogromny wybór aplikacji i sprzętu, dzięki  którym telefonia komórkowa weszła w nowy etap rozwoju technologicznego.
Dzięki temu, że platforma Android jest oparta na języku Java, stała się faworytem developerów oprogramowania.
Bardzo szybko mogą oni wykorzystać nabytą wiedze oraz narzędzia, aby stworzyć coraz to lepsze aplikacje.
Książka którą chce polecić jest skierowana do osób, które chcą samodzielnie się nauczyć od podstaw zasad budowania aplikacji na urządzenia mobilne. Nie sztuką jest wyszukać sobie w wyszukiwarce gotowego kodu np. kalkulatora, jeżeli będziemy bezmyślnie przepisywać decha w dechę kod bez zrozumienia  to nie nauczymy ani programować w Javie, ani budować poprawnie aplikacji mobilnych.
Od razu zaznaczam żeby zacząć programować na platformę Android potrzebujemy znajomości języka Java, ale o tym napisze  w następnym poście.
Dzięki książce która jest podzielona na dwie części, część pierwsza jest wprowadzeniem opisującym działanie aplikacji jest ono podparte przykładami, które pozwalają przybliżyć nam problemy z którymi borykają się początkujący developerzy oprogramowania mobilnego.
W części drugiej są opisane przykłady które pokazują jak ogromne możliwości ma platforma Android.
Tak więc jeżeli znasz podstawy języka Java, posiadasz podstawową wiedze na temat projektowania aplikacji oraz znasz podstawy wykorzystania developerskiego środowiska Eclipse. Książka jest dla Ciebie. Jeżeli nie znasz jeszcze podstaw Javy, poczekaj na mój następny post :)

   Android w praktyce. Projektowanie aplikacji.- autor Roman Wantoch-Rekowski

                        
Książkę można znaleźć tutaj: link



czwartek, 7 sierpnia 2014

Scrum i nie tylko...

Każdy zespół projektowy żeby sprzedać oprogramowanie musi wiedzieć jak zminimalizować ewentualne straty w trakcie wytwarzania owego oprogramowania, w Naszej rzeczywistości następują cały czas zmiany, które nie cofają się, ale brną na przód ku dobremu, bardziej nowoczesnemu.
W trakcie prac nad projektem  zdrowy rozsądek niestety nie wystarcza, potrzebna jest wiedza która zaprocentuje po poznaniu metodyki Scrum.
Metoda Scrum to zespół prostych metod stosowanych w zarządzeniu złożonych oraz  innowacyjnych projektów. Owa metodyka należy do zwinnych metodyk zarządzania projektami tzw. Agile Project Menagement.
Głównym celem metodyki jest kreowanie wartości na każdym ze stadiów przygotowania i realizowania projektu mając na uwadze dynamicznie zmieniające się otoczenie oraz potencjał ludzki. Największą uwagę skupia  indywidualność oraz interakcje, współpracę z klientami i dostosowanie jest do zmian.
 Przy poznawaniu Scrum pierwsze co musimy zrobić to znaleźć dobrą pozycje książkową , która w przystępnym dla użytkownika języku rozwieje wszelkie wątpliwości. Na rynku jest bardzo dużo takich książek, jednak jak dla mnie książką która wg. mnie pozwala na poznanie Scrum w bardzo szybkim czasie jest:

" Scrum i nie tylko. Teoria i praktyka w metodach Agile" - autor Krystian Kaczor

Książka jest przydatna dla osób które zaczynają dopiero przy zarządzaniu projektami ale jak i dla tych osób pracują już przy paradygmacie Agile. Książka wychodzi naprzeciw wszystkim wymaganiom, autor w bardzo wyrazisty sposób tłumaczy każde stadia przygotowujące i realizujące projekt, podpierając się praktycznymi przykładami. Podsumowując jest to bardzo dobra pozycja, w której wiedza jest przekazywana w sposób śmiem twierdzić doskonały.
Nie sztuką jest napisać książkę, która posiada zapełnione strony zwykłym laniem wody , sztuką jest napisać książkę, którą czyta się z zapartym tchem.
Książkę można znaleźć tutaj: link




piątek, 1 sierpnia 2014

XML

W języku XML można dokładnie opisać strukturę dokumentów, co ułatwia ich odczytywanie i indeksowanie. Składnia XML-a niestety nie jest tak prosta jak HTML-a, więc nie każdemu przypadnie do gustu i nie będzie go używał.
Słowa " XML jest to język dla niewielu, którzy mogą zrobić bardzo wiele" nie są rzucane " pod wiatr". Język ten nadaje się wyśmienicie nadaje się tworzenia stron internetowych o oryginalnym wyglądzie, ponieważ dla każdej etykiety można stworzyć swój własny arkusz stylów.

Uważam, że do nauki tegoż języka odpowiednia na początek będzie książka, która opisuje podstawy w teorii oraz ukazuje przykłady praktyczne, które wprowadzają w świat XML-a powoli. Zaczynając od przykładów łatwiejszych oraz powoli kierując się ku bardziej zaawansowanych.
Tak więc polecam książki:

"XML.Ćwiczenia praktyczne" - Wojciech Romowicz

 " XML. Szybki start. Wydanie II"- autor  Kevin Howard Goldberg

Książkę można znaleźć tutaj: link

niedziela, 29 czerwca 2014

Jess

Jess jest to system ekspertowy opracowany w języku Sun Java przez Ernest Friedman-Hillat Sandia National Laboratories. Używany może być zarówno pod Windowsem, a także pod Unixem. Kompatybilny jest z wszystkimi wersjami Java.
Jess można wykorzystywać do programowania systemów ekspertowych, których zadaniem jest wierne naśladowanie ludzkiego eksperta.
Jess może również spełnić role języka ogólnego programowania. Przy wykorzystaniu bibliotek Java może mieć bardzo szerokie zastosowanie.
Pomocną literaturą przy nauce Jess będzie:

                      " Jess in Action. Java Rule-Based Systems" - autor Ernest Friedman - Hill


wtorek, 3 czerwca 2014

Algorytmy

Algorytmy od zawsze porównywane były do przepisów kucharskich. Czy to porównanie jest celne... trudno powiedzieć. Na pewno jednak przesolenie pewnego dania np. zupy  ma inne konsekwencje niż błędnie opracowany lub zaimplementowany algorytm .
To właśnie algorytmy decydują o czasie wykonania skomplikowanych operacji przez programy komputerowe, a ich odpowiednia implementacja niejednokrotnie decyduje o sukcesie lub porażce projektu wartego fortunę.

Polecana przeze mnie książka posiada umówione klasyczne algorytmy sortowania, wyszukiwania, operacji na grafach oraz kompresji danych. Jej ogromnym atutem są przykładowe implementacje algorytmów w języku Java oraz to, że przedstawiony kod jest gotowy do natychmiastowego użycia.
Uważam, że jest to obowiązkowa pozycja dla każdego programisty, któremu zależy na najwyższej wydajności tworzonych rozwiązań.

"Algorytmy" - autor Robert Sedgewick, Kevin Wayne



poniedziałek, 26 maja 2014

Sztuczna inteligencja i systemy ekspertowe

Postanowiłam coś dopisać do poprzedniego postu. Powolnymi krokami zmierza w kierunku nas sesja, tak więc czujemy na karku zimny wiatr który nazywamy popularnie " stresem".
Wiadomo, że każdy chciałby zaliczyć przedmiot za pierwszym podejściem, a jeszcze bardziej na ocenę o której marzy każdy student  czyli   " 5".
Także dla chętnych i zwartych osiągnąć ten cel nie jest trudno i wiadomo, że na samych notatkach człowiek bazować nie będzie.
Podsumowując, istnieje  więcej książek, które rozwiązują problem  zdania egzaminu, a mianowicie książek, które zawierają " zabójcze odpowiedzi" na   " mordercze pytania" stawiane na egzaminie.

 " Regułowo-modelowe systemy ekspertowe"- Antoni Niederliński

                                      " Metody i techniki sztucznej inteligencji"-
   Leszek Rutkowski


środa, 30 kwietnia 2014

Systemy ekspertowe i język Clips

W pewnym momencie trwania studiów, student musi się zmierzyć z pojęciem jakim jest System ekspertowy. Czym jest owe pojęcie?

Jest to pojęcie z zakresu sztucznej inteligencji oznaczające system komputerowy, system ten emuluje proces podejmowania decyzji przez człowieka- eksperta.
Systemy ekspertowe rozwiązują złożone problemy na podstawie analizy baz wiedzy.

Żeby bardziej przybliżyć pojęcie Systemu ekspertowego na 100 % będzie nam potrzebna literatura.
W książce tej jest dużo informacji potrzebnej do przyswojenia oraz powtórzenia sobie wiadomości ( przed egzaminem) z zakresu systemów ekspertowych.

"Elementy systemów ekspertowych" - Mieczysław L.Owoc


Jeżeli chodzi o wybór języka w którym będziemy tworzyć swój system ekspertowy, językiem który jest bardzo można powiedzieć "przyjazny" studentom jest Clips.
Program napisany w Clipsie jest złożony z bazy reguł oraz faktów.


"Programowanie w języku Clips" - Michał Białko, Katarzyna Musiał





środa, 5 marca 2014

Mikroprocesory i systemy wbudowane

Jeżeli chodzi o przedmiot Mikroprocesory i systemy wbudowane najlepszą książką moim zdaniem jest:

                                 Antoni Niederleński: Mikroprocesory, mikrokomputery, mikrosystemy 




Książka jest 1997 roku ale ciągle przydanym elementem książki jest opis budowy i programowania mikroprocesora Intel 8080 oraz elementów towarzyszących, które firma Intel opracowała wraz z procesorem: 8224, 8228, 8255, 8251A, 8253, 8257 i 8259. Procesor ten i układy wspomagające jest ciągle używany w wielu zastosowaniach. W książce znajduje się także całkiem pokaźna porcja informacji o programowaniu w językach BASIC i Pascal (opis nie obejmuje oczywiście rozszerzeń wprowadzonych w kompilatorach firmy Borland). Do tego oczywiście opisy architektury mikrokomputerów i mikroprocesorów, prezentacja różnorodnych protokołów komunikacyjnych oraz przykłady zastosowań praktycznych mikroprocesorów.
Na tym tle niezwykle interesująco wypada, zamieszczony w książce opis sposobu programowania robota przemysłowego IRb-6, wyposażonego w mikroprocesor Intel 8008. Robot posiada jedno ramię z chwytakiem i specjalną klawiaturę pozwalającą na jego programowanie.
W sumie książkę mogę polecić zainteresowanym poznaniem architektury i programowania mikroprocesora Intel 8080 oraz wymienionych wyżej układów wspomagających.