Wyobraź sobie sytuację: chcesz napisać oprogramowanie, które nie tylko spełni oczekiwania klienta, ale również będzie przykładem eleganckiej i czystej architektury. Na drodze do tego celu z pewnością napotkasz przeszkody, takie jak nierealny termin czy niedziałające API zewnętrznego dostawcy. Nie będzie wyjścia, czas zmusi Cię do pójścia na skróty i Twoja architektura wkrótce straci swoją elegancką strukturę. Aby tego uniknąć, musisz przejąć...
Większość z najpopularniejszych dużych witryn internetowych zbudowano z użyciem technologii Web API. Może ona działać na podstawie protokołu HTTP — umożliwia wówczas łatwą pracę nad nowymi funkcjonalnościami aplikacji, kwestiami bezpieczeństwa, skalowalnością rozwiązań, obsługą nowych urządzeń lub aplikacji klienckich. W takim modelu aplikacji kluczowymi komponentami są typy danych i hipermedia. Wielu twórców API nie wykorzystuje jednak możliwości p...
Nowoczesne zespoły programistyczne łączą podejście DevOps z potokami ciągłej integracji i ciągłego wdrażania. Zasady DevOps i możliwości technologii Git i GitHub pozwalają na radykalne usprawnienie pracy, a także na poprawę współpracy zespołów i wspieranie innowacji. W efekcie zespoły o wiele lepiej sobie radzą z ciągłym usprawnianiem produktów. Dzięki tej książce dowiesz się, jak korzystać z możliwości platformy GitHub w trakcie transformacji przepływu ...
Język Swift, uważany za następcę Objective-C, bardzo szybko stał popularny wśród programistów tworzących aplikacje na platformę iOS. Dzieje się tak z wielu przyczyn: Swift w porównaniu ze swoim poprzednikiem charakteryzuje się dużo bardziej zwięzłą i przejrzystą składnią, a kod napisany w tym języku jest znacznie krótszy i czytelniejszy. Ponadto Swift łączy wiele elementów takich języków, jak: JavaScript, Python, Ruby czy C#, dzięki c...
Python ma wszechstronne zastosowania: nadaje się do tworzenia gier, aplikacji sieciowych, do wdrażania indywidualnych rozwiązań biznesowych, do różnych celów naukowych czy do rozmaitych innych praktycznych rozwiązań. Jest językiem umożliwiającym pisanie przejrzystego, zwięzłego kodu, który przy tym jest łatwy w konserwacji i pozwala na sprawne rozwijanie oprogramowania. Jeśli chcesz zacząć szybko pisać funkcjonujący, efektywny kod i tworzyć działające apl...
React jest biblioteką języka programowania JavaScript. Służy do tworzenia interfejsów użytkownika różnych aplikacji. Jej twórcą jest Jordan Walke, programista Facebooka, który chciał równocześnie uprościć pracę programisty i poprawić komfort użytkowania gotowej aplikacji. Dziś biegłość w korzystaniu z tej biblioteki oznacza po prostu lepsze aplikacje! Dzięki tej praktycznej książce zrozumiesz podstawowe koncepcje związane z biblioteką React...
Sprawdź, co w sieci piszczy! Przechwytywanie pakietów za pomocą najpopularniejszego na świecie sniffera sieciowego, czyli narzędzia Wireshark, jest bardzo łatwe, niezależnie od tego, czy chodzi o pakiety sieci przewodowej, czy bezprzewodowej. W jaki jednak sposób można wykorzystać te pakiety do zrozumienia, co się dzieje w sieci? Praktyczna analiza pakietów to wyjątkowa książka poświęcona temu zaawansowanemu narzędziu. W trakcie lektury dowiesz się, jak przygotować je do pr...
Znaczenie interfejsów API systematycznie rośnie. Głównie za sprawą tego, że ułatwiają komunikację - zarówno zewnętrzną, jak i tę, która zapewnia spójne działanie elementów nowoczesnych systemów. I podobnie jak dobre porozumienie jest podstawą relacji międzyludzkich, tak samo sprawna komunikacja między usługami ma kluczowe znaczenie dla prawidłowego funkcjonowania aplikacji. Z tego powodu od jakości API zależy jakość systemu opr...
JavaScript uchodzi za język lekki, łatwy i przyjemny — początkujący programista bardzo szybko może zacząć tworzyć w nim proste aplikacje. Aby osiągnąć prawdziwą biegłość w tym języku, trzeba jednak przyswoić sobie pewne zaawansowane, złożone mechanizmy. Nauka tych zagadnień wymaga sporego wysiłku, ale dzięki niej można zyskać umiejętność wykorzystywania ich w praktyce, co znacząco poszerza możliwości programisty._x005F_x000D_ _x005F_x000D_ Niniejsza książka jest częścią...
Jeszcze do niedawna praca administratora systemu polegała na ręcznym przygotowywaniu infrastruktury do działania. Mozolne konfigurowanie serwerów, baz danych i elementów sieci niosło za sobą ryzyko przestojów środowiska produkcyjnego i wprowadzenia błędnych ustawień, a wdrożenia przebiegały powoli i łączyły się z nieuchronnym poszukiwaniem błędów. Dziś do tego rodzaju prac służy Terraform, narzędzie open source przeznaczone do tworzenia i wdrażania...
W dzisiejszym środowisku biznesowym, w którym wymagania co do aplikacji wciąż się zmieniają, o sukcesie decyduje zwinny model tworzenia oprogramowania! Co więcej, jeśli czas udostępnienia produktu ma znaczenie dla danego projektu, cel można osiągnąć jedynie dzięki podejściu agile. Tester oprogramowania w zwinnym zespole jest bardzo ważną osobą, jednak musi dobrze poznać zasady pracy w tym modelu._x005F_x000D_ _x005F_x000D_ Ta książka pomoże Ci się przygotować do pracy ...
Początkujący programista może bardzo szybko zacząć tworzyć proste aplikacje w JavaScript. Jednak ten, kto chce osiągnąć prawdziwą biegłość w tym języku, musi opanować trudniejsze zagadnienia, na przykład asynchroniczność czy techniki związane z wydajnością w JavaScript, takie jak obietnice, generatory i wątki robocze. Powinien nie tylko umieć napisać kod, który działa, ale także bardzo dokładnie rozumieć, dlaczego i w jaki sposób działa. Okazuje się, że w przypa...
JavaScript dojrzał i stał się pełnowartościowym językiem programowania. Jest wszechstronny, elastyczny i pozwala na tworzenie znakomitego kodu, jednak uzyskiwanie naprawdę dobrych efektów wymaga sporych umiejętności. Z tego powodu warto zainteresować się TypeScriptem, który w porównaniu z JavaScriptem o wiele lepiej spisuje się jako język programowania profesjonalnych aplikacji internetowych. Ich projektant, programujący w TypeScripcie, może przy tym łatw...
Kompendium wiedzy o wydajności systemów!_x005F_x000D_ _x005F_x000D_ Wszędzie tam, gdzie przetwarzane są gigantyczne ilości danych, wydajność systemu komputerowego ma fundamentalne znaczenie. W takim środowisku nawet minimalne opóźnienie pomnożone przez liczbę operacji może skutkować ogromnym wzrostem kosztów działania. Zastanawiasz się, jak zapewnić najwyższą wydajność systemów posiadanych fizycznie lub tych uruchomionych w chmurze? Jesteś inżynier...
Techniki tworzenia nowoczesnych aplikacji internetowych Przygotowywanie wygodnych w obsłudze formularzy Integracja witryny z Google Maps Zarządzanie połączeniami sieciowymi Ajax to nazwa technologii powstałej w wyniku połączenia języka JavaScript, XML oraz kaskadowych arkuszy stylów. Jej wdrożenie pozwala wyeliminować ze stron WWW jedną z ich najbardziej irytujących cech, czyli konieczność przeładowywania zawartości po każdej zmianie. Umiejętne wykorzystanie możli...
Scala jest językiem programowania ogólnego przeznaczenia, który łączy cechy języków funkcyjnych i obiektowych. Jego twórcy postawili sobie za cel skalowalność napisanych w nim aplikacji - stąd wzięła się nazwa Scala. Scala jest oparta na wirtualnej maszynie Javy, umożliwia programowanie funkcyjne i oferuje bogaty wybór typów. Dzięki tym cechom można tworzyć kod mniej podatny na występowanie błędów w trakcie działania programu. ...
Spośród wielu koncepcji tworzenia oprogramowania na szczególną uwagę zasługuje model programowania sterowanego testami, znany jako TDD. Technika ta opiera się na integracji procesów projektowania aplikacji i pisania kodu z prowadzeniem testów. Mimo że taki sposób pracy wydaje się dość wymagający dla zespołów deweloperów, łatwo się przekonać, że TDD pozwala na stałe uzyskiwanie dobrych efektów, a opracowane tą metodą apli...
Pythona można się szybko nauczyć i praktycznie od razu zacząć tworzyć działające gry, aplikacje internetowe czy też programy wspierające badaczy różnych dziedzin nauki. Język ten został pomyślany tak, aby ułatwiał pisanie przejrzystego, zwięzłego kodu w sposób zgodny ze sztuką programowania. To idealny wybór dla każdego, komu zależy, by nie tracić zbytnio czasu na naukę, tylko od razu pisać kod działający zgodnie z oczekiwaniami. To trzecie, zaktualizowa...
W języku R podstawową jednostką współdzielonego kodu jest pakiet. Ma on ściśle określoną strukturę i można go łatwo udostępniać innym. Obecnie programiści R mogą korzystać z ponad 19 tysięcy przeróżnych pakietów. Poza prostym pobieraniem i używaniem pakietów opracowanych przez kogoś innego programistom R przydaje się umiejętność ich samodzielnego tworzenia. Oto doskonały podręcznik tworzenia pakietów dla początkujących i zaawansowanych uży...
Podstawy Swifta, Xcode i Cocoa Język Swift poznaliśmy w 2014 roku. Został on opracowany przez Apple specjalnie dla platormy iOS z uwzględnieniem takich założeń, jak przejrzystość, bezpieczeństwo, prostota, łatwość stosowania, zorientowanie obiektowe. Kod w tym języku sam zarządza pamięcią i zapewnia ścisłą kontrolę typów. Swift od początku wzbudził ogromne zainteresowanie programistów, którzy prędko docenili jego zalety. Dziś jest uważany za łatwe do opa...
Poznaj nowe podejście do aplikacji internetowych! Tradycyjne aplikacje internetowe składały się z dwóch elementów — ciężkiego back-endu odpowiadającego za przetwarzanie danych, ich walidację i przechowywanie oraz z klienta, którego zadaniem była prosta komunikacja z użytkownikiem. To rozwiązanie rodziło liczne kłopoty — przede wszystkim ze skalowaniem. Od nowoczesnych aplikacji użytkownicy wymagają najwyższej wydajności, niezawodności, możliwo...
Twój przewodnik po systemie Linux! Linux to system o setkach twarzy. Różne dystrybucje charakteryzują się specyficznym przeznaczeniem, odmiennymi grupami docelowymi użytkowników i platformami uruchomieniowymi. Jednak od lat łączy je wspólny mianownik - wysoka wydajność, stabilność, niezawodność i możliwość dostosowania do własnych potrzeb. Ponadto różne dystrybucje współdzielą popularne narzędzia i komendy. Dlatego ta książka sprawdzi się doskonale w rękach użytkowników międ...
Linux cieszy się dużą popularnością wśród administratorów i użytkowników. Znakomicie sprawdza się nawet na bardzo skromnym sprzęcie. Działa na komputerach Raspberry Pi, na maszynach wirtualnych i na komputerach marsjańskich łazików. Niezależnie od tego systemy linuksowe są cały czas rozwijane i dostosowywane do najnowszych trendów i technologii systemów informatycznych. Niezależnie od tego, czy używasz Linuksa do programowania, do two...