Aby projektować aplikacje, nie wystarczy poznać kilka języków programowania i opanować zestaw narzędzi deweloperskich. Konieczna jest jeszcze wiedza o tym, w jaki sposób rozwiązać dany problem, innymi słowy, trzeba poznać algorytmy. Naturalnie w praktyce programistycznej stosuje się ograniczony zestaw algorytmów. Zostały one już dawno przeanalizowane i przetestowane. Opisano je w wielu trudnych książkach najeżonych niezrozumiałymi schematami i dowodami z pogranicza matematyki...
Większość dzieciaków interesuje się fascynującym światem urządzeń elektrycznych. Obserwują, jak działa żarówka, zdalnie sterowany samochód czy odtwarzacz muzyki. Kiedy mały odkrywca postanawia sprawdzić, co one kryją w środku, często ofiarą tej niepohamowanej ciekawości pada jakiś gadżet. Warto pokazać najmłodszym, że elektronika najwięcej radości (i wiedzy!) daje wtedy, gdy zbuduje się coś własnymi rękoma! Właśnie konstruowanie coraz to bardziej skomplikowanych obwodów jest ...
W złożonej rzeczywistości myślenie systemowe jest kluczowym narzędziem pozwalającym odnieść się do licznych wyzwań: gospodarczych, ekologicznych, politycznych czy społecznych. Tylko w ten sposób w codziennych wiadomościach można dostrzec przejawy trendów, a w trendach - przejawy struktury. Zrozumienie tych procesów pozwala nie tylko na łatwiejszą egzystencję w świecie złożonych systemów, ale także na podejmowanie racjonalnych decyzji biznesowych czy politycznych. Bez myślenia...
Platforma Amazon Web Services jest uważana za największą i najbardziej dojrzałą chmurę obliczeniową. Zapewnia bogaty zestaw specjalistycznych narzędzi ułatwiających realizację projektów z zakresu inżynierii danych i uczenia maszynowego. W ten sposób inżynierowie danych, architekci i menedżerowie mogą szybko zacząć używać danych do podejmowania kluczowych decyzji biznesowych. Uzyskanie optymalnej efektywności pracy takich projektów wymaga jednak dobrego rozeznania w możliwości...
TypeScript szybko stał się ulubionym językiem programowania zawodowców. Pozwala na tworzenie czystego, efektywnego i łatwego w utrzymaniu kodu, a także zastosowanie zaawansowanych konstrukcji programistycznych. Co więcej, pracę w tym języku uprzyjemniają liczne frameworki i biblioteki, które pozwalają na sprawną budowę dojrzałych aplikacji. Jednak z punktu widzenia początkującego programisty TypeScript ma inną ogromną zaletę: jest świetnym punktem startu dla każdego, kto chce...
Mimo upływu lat SQL jest bezkonkurencyjnym narzędziem do przetwarzania danych. Bazy danych Oracle wciąż imponują możliwościami. W ciągu ostatnich dekad bowiem obie te technologie były konsekwentnie unowocześniane i usprawniane. W efekcie nawet za pomocą jednego, choć niekiedy dość złożonego zapytania SQL można przeprowadzić operacje, które w innym języku wymagałyby napisania długich bloków kodu. Uzyskanie spektakularnej wydajności i szybkości aplikacji wymaga jednak dużego do...
Jak już wiesz, struktura danych jest sposobem zorganizowania danych w pamięci komputera, co ma umożliwić szybkie wykonywanie zamierzonych operacji. Pamiętasz też, że algorytm jest sekwencją działań pozwalających na rozwiązanie problemu. Często warunkiem poprawnego działania algorytmu i pomyślnego rozwiązania problemu programistycznego jest trafny wybór struktury danych. To bardzo ważne zagadnienie. Nawet jeśli dobrze znasz wybrany język programowania, to aby pisać dobry kod, ...
Baw się ? i ucz się programowania! Programowanie to dziś niezwykle ważna umiejętność. I wszystko wskazuje na to, że jego znaczenie będzie tylko rosło. Warto więc zawczasu pomyśleć o przyszłości swojego dziecka i pomóc mu rozpocząć przygodę z programowaniem. Tym bardziej że istnieje Scratch ? język kodowania, wokół którego skupia się liczna społeczność internetowa ? pozwalający tworzyć własne interaktywne historie, gry i animacje i dzielić się nimi z ludźmi na całym świecie. ...
Tworzenie skomplikowanych systemów informatycznych wymaga nowego podejścia. Dotychczas stosowane metody przestają się sprawdzać i generują mnóstwo problemów. Odpowiedzią na nie jest DomainDriven Design, w skrócie DDD. W tym podejściu szczególny nacisk kładzie się na tworzenie obiektów dokładnie odzwierciedlających zachowanie ich odpowiedników istniejących w rzeczywistości. Dzięki temu projektowanie systemu można powierzyć ekspertom z danej branży, którzy niekoniecznie muszą b...
Sterowanie jest procesem, w którym sygnały wejściowe odpowiednio oddziaływują na wyjścia – zgodnie z regułami sterowania, czyli odpowiednimi algorytmami. Owe algorytmy można realizować na wiele różnych sposobów, m.in. przez bramki logiczne i układy mikrokontrolerów, z czym wiąże się pojęcie sterowników swobodnie programowalnych PLC. Na nich właśnie skupia się autor niniejszej książki. Poradnik zapozna Cię m.in. z podstawami programowania w języku LD. Podpowie też kilka ciekaw...
Rozwój technologii i dostęp do danych finansowych stały się ogromnym ułatwieniem w korzystaniu z globalnych rynków finansowych. Jeśli zechcesz, możesz szybko zacząć przygodę na przykład z handlem algorytmicznym. Wystarczy, że masz niewielkie pojęcie o matematyce, programowaniu i ekonomii. Niestety, nieliczne programy nauczania o finansach integrują ze sobą te trzy dziedziny. Tymczasem koncepcje matematyczne wspaniale ułatwiają zrozumienie pojęć z zakresu inżynierii finansowej...
Nie wystarczy znajomość jednego języka programowania, aby zostać programistą. W rzeczywistości trzeba opanować dość szeroki zakres pojęć i paradygmatów, a także zrozumieć zagadnienia związane z algorytmami. Trzeba być na bieżąco z nowymi technologiami i narzędziami. Należy również poznać i zacząć stosować dobre praktyki programistyczne i przyswoić sobie zasady pracy w zespole. Przede wszystkim jednak priorytetem jest sama praktyka, ponieważ wielu programistów wciąż ma problem...
SQL stanowi podstawowe narzędzie komunikowania się z relacyjnymi bazami danych. Jest to dość skomplikowany język o rozbudowanych możliwościach. Pozwala na pobieranie z bazy zestawów danych wyszukiwanych na podstawie wyrafinowanych kryteriów. Umożliwia też modyfikację zarówno danych, jak i struktury bazy, w której są gromadzone. To potężne narzędzie powinni znać nie tylko programiści baz danych, ale również specjaliści zajmujący się ich analizą, jednak zdobycie praktycznych um...
Od oprogramowania wymaga się solidności i poprawności, a równocześnie oczekuje wydajnego działania i skalowalności. Jako programista odpowiadasz za zapewnienie aplikacjom tych właśnie cech. Niezależnie od tego, jakiego języka programowania używasz, praca zgodnie z paradygmatem TDD umożliwi Ci otrzymanie testowalnego kodu o wysokiej jakości. Choć te korzyści przeważają nad niedogodnościami podejścia TDD, wielu programistów narzeka na czasochłonność, pracochłonność i sprawiając...
Głębokie uczenie przez wzmacnianie rozwija się bardzo dynamicznie. Dziedzinę tę charakteryzuje niewyczerpany potencjał rozwiązywania trudnych problemów. Zajmuje się tym co najmniej kilka grup badawczych, koncentrujących się na wdrażaniu głębokiego uczenia przez wzmacnianie w różnych branżach. Niestety, opisy najnowszych osiągnięć są trudne do zrozumienia i zbyt abstrakcyjne, aby można było je łatwo zastosować w praktycznych implementacjach, a przecież poprawne działanie aplik...
JavaScript jest jednym z najwartościowszych języków programowania, cechuje go wszechstronność i elastyczność. Ucząc się JavaScriptu, adept programowania nabiera dobrych nawyków i nabywa umiejętności wymaganych od profesjonalistów. Warto też poznać język TypeScript wraz z towarzyszącymi mu narzędziami. Projektant aplikacji internetowych, który programuje w TypeScripcie, może łatwo skorzystać z wielu dopracowanych frameworków. W ten sposób w pełni wykorzystuje się możliwości no...
Python cechuje się dużą prostotą, a przy tym jest wszechstronny. Ma bardzo szeroki zakres zastosowania, przez co coraz więcej osób podejmuje naukę programowania w tym języku. Python należy do języków najczęściej używanych przez programistów, którzy tworzą w nim gry i aplikacje webowe. Świetnie sprawdza się ponadto w pracy z wykorzystaniem sztucznej inteligencji i uczenia maszynowego. Tym, co programiści doceniają w Pythonie, jest też obiektywność. Ucząc się, przyswajamy bowie...
Należący do języków ogólnego przeznaczenia C++ od lat pozostaje niezwykle popularny wśród programistów. I wciąż zdobywa nowych entuzjastów. Jeśli chcesz się przekonać, jak się pracuje z tym wszechstronnym i potężnym językiem, przygodę z nim koniecznie rozpocznij od tego podręcznika! Przeprowadzi Cię on krok po kroku przez najważniejsze zagadnienia i definicje związane z C++. Z pewnością docenisz to, że każde pojęcie, które należy opanować, zostało zilustrowane gotowym, działa...
"Jeśliby posadzić milion małp przy milionie klawiatur, któraś z nich napisze w końcu program w Javie. Reszta zrobi to w Perlu" - głosi jedna z informatycznych anegdot punktujących Javę. Cokolwiek by jednak mówić o tym języku programowania, trzeba przyznać, że powstały w nim kod jest niezależny od systemu operacyjnego i procesora. Właśnie ta cecha stanowi o ogromnej popularności Javy.Jeśli chcesz dołączyć do licznego grona programistów piszących aplikacje w tym języku, z pewno...
Programowanie wciąga. Łatwo zapalić się do własnego pomysłu na świetny program, ale jeśli zabraknie umiejętności, nietrudno w poczuciu frustracji porzucić kod po napisaniu kilku linijek. Wiele osób, marząc o wykorzystywaniu imponujących możliwości Pythona, przepracowało cierpliwie liczne samouczki. Nie jest to zły sposób na rozpoczęcie przygody z programowaniem i przyswojenie składni języka. Ale do samodzielnego tworzenia kodu trzeba nieco innych umiejętności. Skąd jednak ma ...
Praca programisty wydaje się dziś znacznie prostsza niż kilkanaście lat temu. Wydaje się taka, ponieważ ma on dostęp do niezliczonych bibliotek przypisanych do języków programowania. Gdy pojawia się problem, sięga do biblioteki ― i po sprawie. Problem rozwiązany, zgadza się? I tak, i nie. Owszem, w wypadku prostych projektów wystarczy bazowa znajomość zasad programowania, podstawowa znajomość danego języka i wiedza na temat tego, co zawiera konkretna biblioteka. Tak jednak dz...
Java jest obiektowym, bazującym na klasach, współbieżnym językiem programowania. Niezwykłą popularność zawdzięcza on między innymi niezależności od platformy, łatwości pisania w nim programów i klarownemu kodowi. Nic więc dziwnego, że Javę pokochało wielu programistów. To do nich jest skierowana dwuczęściowa publikacja Java. Zadania z programowania, której autorem jest Mirosław J. Kubiak.Jej druga część, zatytułowana Przykładowe funkcyjne rozwiązania, jest przeznaczona dla od...
JavaScript cieszy się opinią wszechstronnego i elastycznego języka programowania. Przy czym bywa dość wymagający dla programisty. Rozwiązaniem dla osób, którym zależy na pisaniu niezawodnych aplikacji w krótkim czasie, okazują się frameworki. Szczególnym uznaniem cieszy się React, gdyż pozwala na pełne wykorzystanie możliwości nowoczesnych przeglądarek i urządzeń mobilnych. Jest to jednak narzędzie, które na początku przysparza problemów ze zrozumieniem sposobu działania, a b...
Oto propozycja dla specjalistów zajmujących się programowaniem sztucznej inteligencji i studentów kształcących się w tej dziedzinie. Autor przybliża tajniki tworzenia sieci neuronowych stosowanych w uczeniu głębokim i pokazuje, w jaki sposób używać w tym celu bibliotek Keras i TensorFlow. Objaśnia zagadnienia dotyczące programowania AI zarówno w teorii, jak i praktyce. Liczne przykłady, czytelna oprawa graficzna i logiczne wywody sprawiają, że to skuteczne narzędzie dla każde...
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).