Analiza danych stała się samodzielną dyscypliną wiedzy interesującą specjalistów z wielu branż: analityków biznesowych, statystyków, architektów oprogramowania czy też osoby zajmujące się sztuczną inteligencją. Wydobywanie informacji ze zbiorów danych pozwala na uzyskanie wiedzy niedostępnej w inny sposób. W tym celu dane trzeba odpowiednio przygotować, oczyścić, przetworzyć i oczywiście poddać analizie. Warto również zadbać o ...
Przetwarzanie i bezpieczne przechowywanie danych absorbuje uwagę inżynierów oprogramowania w coraz większym stopniu. W ostatnich latach pojawiło się wiele bardzo różnych rozwiązań w dziedzinie baz danych, systemów rozproszonych i metodyce budowania aplikacji. Sprzyjają temu zarówno rozwój technologii, rosnące potrzeby dotyczące dostępu do danych, jak i malejąca tolerancja na przestoje spowodowane awarią czy konserwacją systemu. To wszystko s...
Nowoczesne oprogramowanie musi sprostać wyśrubowanym kryteriom: ma cechować się określoną niezawodnością i skalowalnością, a przy tym powinno korzystać z technologii chmury. Naturalnie powinien to być dobrze zaprojektowany system rozproszony. Dziś standardem jest korzystanie z aplikacji na wielu urządzeniach w różnych lokalizacjach. Niestety, mimo powszechności systemów rozproszonych ich projektowanie nader często przypomina coś w rodzaju czarnej magii, dostępne...
Programowania uczą się już najmłodsi w szkole podstawowej. Umiejętność kodowania będzie wkrótce jednym z wyznaczników dobrego wykształcenia. Rozwiązywanie złożonych problemów za pomocą specjalnie napisanego kodu jest dogodnym sposobem pracy nie tylko inżyniera czy informatyka, ale również biologa, fizyka czy nawet socjologa. Oznacza to, że znajomość języka programowania i choćby podstawowych zagadnień algorytmiki jest cennym uzupełnieniem warsztatu...
Algorytmy i struktury danych leżą u podstaw programowania. Zrozumienie zasad rządzących tymi zagadnieniami jest koniecznym warunkiem opracowania prawidłowej i efektywnej aplikacji. Niestety, wielu programistów uznaje tę tematykę za zbyt złożoną czy zbyt banalną i nie poświęca jej wystarczającej uwagi. Takie podejście często się mści: modne narzędzia, frameworki czy technologie deweloperskie nie zapewnią sukcesu, jeśli projektant nie przemyśli zastosowanych algorytm&oac...
Historia programu Adobe Photoshop Lightroom zaczęła się kilkanaście lat temu, kiedy grupa ambitnych inżynierów postanowiła stworzyć idealne narzędzie dla twórców fotografii cyfrowej. Dziś Lightroom jest traktowany jak klasyczne rozwiązanie, a liczba jego użytkowników stale rośnie. Oprogramowanie to wciąż ewoluuje. Każda kolejna wersja przynosi nowe wyrafinowane funkcje ułatwiające edycję obrazów, a także import, sortowanie i organizowanie zd...
Język PHP i serwer bazy danych MySQL stały się nieformalnym standardem tworzenia dynamicznych witryn, które korzystają z baz danych. Mimo że istnieje wiele innych konkurencyjnych technologii, rzesza programistów aplikacji internetowych decyduje się właśnie na to rozwiązanie. Otwarte źródła, dostępność, coraz szersze możliwości, elastyczność i szybkość, konsekwentny rozwój - to tylko kilka zalet PHP i MySQL. Projektanci dynamicznych stron WWW wysoce...
Graj i zwyciężaj ze swoją drużyną!_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Wejście w świat gry, czyli przygotowanie do walki_x005F_x000D_ Jak grać, czyli punktacja, możliwości i specjalizacje_x005F_x000D_ Jak być naprawdę dobrym graczem, czyli garść zaawansowanych taktyk_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ League of Legends to jedna z najlepszych, najbardziej inspirujących darmowych gier online. Jeśli sięgasz po ten podręcznik, na pewno wiesz już, co jest istotą tej ...
Python, prosty, wszechstronny i elastyczny język programowania, nadaje się zarówno do pisania niedużych skryptów, wielkich systemów, jak i do wysoce specjalistycznych zadań, jak choćby analiza danych do celów naukowych. To ulubione narzędzie coraz liczniejszej rzeszy znakomitych programistów. Wiele osób próbuje się uczyć Pythona, jednak mimo różnorodnych podręczników i kursów nauka pisania poprawnego, wydaj...
Przechwytywanie pakietów i badanie ich zawartości może kojarzyć się z szemraną działalnością domorosłych hakerów i włamywaczy. Okazuje się jednak, że analiza pakietów jest jednym ze skuteczniejszych narzędzi do rozwiązywania problemów z siecią. O ile samo przechwycenie pakietu, na przykład za pomocą popularnego narzędzia Wireshark, zasadniczo nie sprawia problemu, o tyle zbadanie zawartości tego pakietu i wykorzystanie zdobytej wiedzy do poprawy dz...
Projektowanie responsywnych stron WWW (ang. Responsive Web Design) jest koniecznością. Wynika to z rosnącej liczby przeróżnych urządzeń mobilnych, wykorzystywanych przez rzeszę użytkowników. Nowoczesne podejście do RWD wymaga zmiany sposobu myślenia. Utrzymywanie oddzielnych wersji witryny jest nieefektywne. Zamiast tego należy utworzyć jeden, spójny i responsywny projekt strony. Na takiej stronie cały układ będzie ulegał płynnym przekształceniom, aby zap...
Android jest systemem stworzonym dla urządzeń mobilnych. Pod jego kontrolą pracują smartfony, tablety, lodówki, telewizory i wszystko wskazuje na to, że internet rzeczy będzie również w dużej części androidowy. Wielu programistów widzi w tym niespotykane dotąd możliwości, jednak pisanie aplikacji dla Androida wcale nie jest łatwym zadaniem. Wielu programistów przekonało się, że sama umiejętność kodowania nie jest wystarczająca. Biegłe poruszanie si...
Sprawdź drugie wydanie tej książki >>_x005F_x000D_ _x005F_x000D_ ---_x005F_x000D_ _x005F_x000D_ Uczenie maszynowe, zajmujące się algorytmami analizującymi dane, stanowi chyba najciekawszą dziedzinę informatyki. W czasach, w których generuje się olbrzymie ilości danych, samouczące się algorytmy maszynowe stanowią wyjątkową metodę przekształcania tych danych w wiedzę. W ten sposób powstało wiele innowacyjnych technologii, a możliwości uczenia maszynowego są ...
Prawie wszystkie interfejsy cyfrowej wieży Babel!_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Status quo, czyli dlaczego warto tłumaczyć oprogramowanie_x005F_x000D_ Procesy tłumaczeniowe i inne koła zębate_x005F_x000D_ Skomplikowane związki, czyli tester i programista_x005F_x000D_ O graniu i naprawianiu, czyli kilka problemów i ich proponowane rozwiązania_x005F_x000D_ _x005F_x000D_ Dawno, dawno temu, w czasach, gdy na świecie pojawiały się nieśmiało pierwsze komputery...
Twórcy Pythona niemal od początku starali się opracować wieloparadygmatowy język zorientowany na czytelność kodu i produktywność programisty. Dziś język ten jest uważany za wszechstronny i potężny, a do tego cechuje się prostotą i elastycznością. Nadaje się zarówno do pisania niedużych skryptów, jak i wielkich systemów, a także do wysoce specjalistycznych zadań, jak choćby analiza danych w celach naukowych. Mimo to pisanie kodu, który jest w...
Do niedawna utworzenie interfejsu użytkownika było prawdziwym wyzwaniem. Interfejs musi przecież działać w przewidywalny sposób na różnych przeglądarkach i urządzeniach, musi zapewniać adekwatną obsługę wprowadzanych danych oraz umożliwiać płynne i niezawodne komunikowanie się aplikacji z użytkownikiem. Na szczęście dziś programiści mogą skupić się na działaniu aplikacji jako takiej — interfejs użytkownika można szybko, łatwo i przyjemnie zbudować za pomoc...
Jeszcze kilka lat temu programowanie zorientowane obiektowo w PHP wydawało się dość karkołomnym zagadnieniem. Upowszechnienie licznych frameworków sprawiło jednak, że coraz większa liczba programistów tworzy aplikacje WWW, pisząc kod obiektowy w PHP. Frameworki są chętnie stosowane, gdyż wydaje się, że dzięki nim nie trzeba już poświęcać czasu na rozgryzanie szczegółów działania kodu. Niestety, bardzo często okazuje się, że bez zrozumienia zasad dz...
Platforma Node.js służy do tworzenia aplikacji ogólnego przeznaczenia w języku JavaScript, które nie wymagają przeglądarki internetowej, a sam kod może działać zarówno po stronie klienta, jak i serwera. W Node.js wykorzystano szybki silnik JavaScriptu, V8. Platforma ta udostępnia stabilną bibliotekę do obsługi asynchronicznych sieciowych operacji wejścia-wyjścia. Dodatkowo programista ma do dyspozycji bogaty zestaw niezależnych modułów. Szczeg&oacu...
Jeśli chcesz być świetnym programistą, nie możesz poprzestać tylko na opanowaniu narzędzi deweloperskich i kilku języków programowania. Do rozwiązywania złożonych problemów, które często pojawiają się podczas tworzenia aplikacji, nie wystarczy Ci sama wiedza techniczna. Tak jak w innych dziedzinach rzemiosła, także i tu staniesz przed zagadnieniami, które Cię przerosną, choć wcale nie są unikatowe. Właśnie dla takich zagadnień opracowuje się wzorce...
Dziś JavaScript jest dojrzałym, wszechstronnym i potężnym językiem programowania, który świetnie się nadaje do programowania zorientowanego obiektowo. Pozwala przy tym na pisanie solidnego i efektywnego kodu. Stał się świetnym narzędziem do tworzenia bardzo złożonych, skalowalnych i łatwych w utrzymaniu aplikacji. Można zaobserwować, że JavaScript powoli nadaje kształt następnej generacji platform internetowych i serwerowych. Najnowsza specyfikacja tego języka, ES6, wp...
Swift, następca języka Objective-C, pojawił się na rynku w 2014 roku i bardzo szybko zyskuje popularność wśród programistów tworzących aplikacje dla iOS oraz macOS. Charakteryzuje się zwięzłą i przejrzystą składnią, a co więcej, pozwala na korzystanie z nowoczesnych, wysokopoziomowych struktur i cech języka, takich jak typy generyczne czy domknięcia. Jest przy tym wygodny i elastyczny, a jego nauka nie powinna sprawiać problemów nawet tym, którzy d...
Własny serwis? Zrób go sam!_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Skrypty PHP, czyli dynamiczne generowanie stron internetowych_x005F_x000D_ Bazy danych w MySQL, czyli bezpieczne przechowywanie danych_x005F_x000D_ PHP i MySQL w praktyce, czyli idealne połączenie technologii dla Twojego serwisu_x005F_x000D_ _x005F_x000D_ Dawno, dawno temu, kiedy internet dopiero się rozwijał, a pierwsze, statyczne strony WWW wzbudzały podziw i niedowierzanie, programistom płacono ...
Python istnieje już ponad 25 lat. Nie jest trudnym językiem i oferuje ogromne możliwości. Tworzenie dobrych programów w Pythonie wymaga jednak od programistów dużych umiejętności. Cykl rozwoju oprogramowania jest pełen pułapek nieznanych początkującym koderom. Mimo to w podręcznikach Pythona niewiele uwagi poświęca się debugowaniu i testowaniu, a przecież etapy te mają kluczowe znaczenie dla jakości kodu i funkcjonalności tworzonego oprogramowania._x005F_x000D_ ...
Komputerowe rozpoznawanie obrazów przechodzi dziś fazę burzliwego rozwoju. Przyczyniają się do tego ogromna popularność cyfrowych aparatów fotograficznych, wielka liczba grafik zgromadzonych w obszernych internetowych bazach danych, a przede wszystkim coraz doskonalsze algorytmy przetwarzania obrazu. W rozwijaniu tej technologii wielką rolę odegrała biblioteka OpenCV, usprawniając pracę setek tysięcy ludzi. OpenCV 3.x ułatwia efektywne rozwijanie projektó...
Kategoria „Internet, komputery, informatyka” zawiera publikacje skupiające się na wszystkich zagadnieniach związanych z siecią, komputerami, programami komputerowymi czy oprogramowaniem. Książki z tej kategorii poświęcone są w głównej mierze programowaniu – znajdują się tu m.in. podręcznik „Wstęp do informatyki” Jacka Lembasa i Rafała Kawy przeznaczony dla studentów pierwszego roku kierunków informatycznych, poradnik „Sztuka dobrego programowania” Krzysztofa Jassego i Andrzeja Ziemkiewicza, w którym dobre rady znajdą zarówno początkujący, jak i zaawansowani programiści, poradnik „Java. Uniwersalne techniki programowania” pod redakcją naukową Krzysztofa Barteczki dotyczący programowania w języku Java, podręcznik „HTML. Tworzenie stron www i programów desktopowych” Rafała Strychalskiego (podzielony na 3 części: dla początkujących, średniozaawansowanych i zaawansowanych). Znajdują się tu także poradniki z innych dziedzin, jak np. e-commerce („Narzędzia Google dla e-commerce” Krzysztofa Marca), marketingu internetowego („AdWords i Analytics” Krzysztofa Marca i Tomasza Trzósły), praktyk zwinnych („W poszukiwaniu zwinności w architekturze systemów IT” Krzysztofa Bończaka”), rzeczywistości wirtualnej („Rzeczywistość wirtualna (VR) dla każdego – Aframe i HTML 5” Krzysztofa Wońka). Nie brakuje również pozycji dla dzieci, które już od małego chcą rozpocząć swoją przygodę z programowaniem w Scratchu, Pythonie czy Javie („Bawimy się, programując w Scratchu” i „Twórz własne gry komputerowe w Pythonie” Ala Sweigarta, „JavaScript dla dzieci. Programowanie na wesoło” Nicka Morgana), grafiką komputerową („Piksele, wektory i inne stwory” Alicji Żarowskiej-Mazur i Dawida Mazura), produkcją filmową („Zostań gwiazdą YouTube'a” Nicka Willoughby’ego).