AngularJS jest popularnym frameworkiem służącym do pisania aplikacji internetowych o różnej skali. Jest to świetny projekt open source, dzięki któremu praca staje się wydajna i przyjemna. Tworzenie oprogramowania mającego naprawdę wysoką jakość wymaga od programisty stałego rozwijania umiejętności. Konieczne jest doskonałe opanowanie narzędzi programistycznych i uczenie się nowych funkcji, które one oferują. Proces ten w istocie nigdy się nie kończy. Jeś...
Domain-driven design, czyli projektowanie dziedzinowe, w skrócie DDD, jest zbiorem praktyk tworzenia architektury oprogramowania z uwzględnieniem dziedziny biznesu i jej problemów. W ten sposób logika biznesowa staje się sercem aplikacji. Wielu architektów jednak nie radzi sobie ze złożonością tworzonego oprogramowania. Nauczenie się zasad i wzorców DDD, przyswojenie technik dekompozycji dużego systemu, modelowania i projektowania integracji...
Objęcie nowego stanowiska jest jednym z trudniejszych momentów w życiu zawodowym lidera. Jeśli szybko osiągniesz pierwsze sukcesy i zbudujesz kluczowe relacje, masz szansę na zdobycie silnej pozycji. Z kolei potknięcia na tym wczesnym etapie mogą doprowadzić do pętli niekorzystnych sprzężeń zwrotnych. W efekcie możesz zyskać opinię osoby, która nie jest odpowiednia do tej pracy. Jeśli nie zareagujesz, naprawienie sytuacji może się okazać niemożliwe._x000D_ _x000...
Jeśli chcesz projektować aplikacje oparte na sztucznej inteligencji, tworzyć dobry kod czy analizować dane, musisz opanować zasady pracy z interfejsami API. To już nie tylko kwestia wysłania prostego zapytania do REST API - niezawodność, bezpieczeństwo i skalowalność wymagają znacznie więcej. Łatwo dojść do wniosku, że zakres potrzebnej wiedzy jest przytłaczający._x000D_ _x000D_ _x000D_ To nieocenione źródło praktycznej wiedzy o API w data science i sztucznej inteligen...
Duże modele językowe przestały już być szokującą nowinką technologiczną. Dziś są używane do najróżniejszych celów, a lista ich rzeczywistych i potencjalnych zastosowań stale się wydłuża. A to oznacza, że programiści, inżynierowie i architekci muszą dogłębnie rozumieć zasady działania LLM, a także techniki ich budowania._x000D_ _x000D_ _x000D_ Najbardziej przystępne i kompleksowe wyjaśnienie modeli językowych!_x000D_ _x000D_ Cameron Wolfe, starszy specjalista do ...
Jeśli chcesz dostosować swoją pracę do większych zbiorów danych i bardziej złożonych kodów, potrzebna Ci jest znajomość technik rozproszonego uczenia maszynowego. W tym celu warto poznać frameworki Apache Spark, PyTorch i TensorFlow, a także bibliotekę MLlib. Biegłość w posługiwaniu się tymi narzędziami przyda Ci się w całym cyklu życia oprogramowania ― nie tylko ułatwi współpracę, ale również tworzenie powtarzalnego kodu. Dzięki tej książce...
Wydanie jubileuszowe z okazji 20. rocznicy pierwszej edycji Programiści dysponują coraz lepszym, szybszym i wszechstronniejszym sprzętem. Pojawiają się nowe języki programowania i nowe paradygmaty tworzenia architektury oprogramowania. Są jednak rzeczy, które w świecie programowania pozostają stałe i niezmienne. Wciąż proces stawania się programistą wymaga od adeptów tego rzemiosła sporego wysiłku. Akt kodowania to za mało. Trzeba zmienić sposób myślenia...
Arduino od wielu lat cieszy się niesłabnącą popularnością wśród miłośników elektroniki, robotyki i tych, którzy lubią w domowym zaciszu zbudować sobie własny gadżet. Arduino może komunikować się z komputerem, posiada także porty służące do podłączania zewnętrznych elementów elektronicznych, takich jak silniki, przekaźniki, fotodiody, diody laserowe, głośniki, mikrofony itp. Oprogramowanie służące do programowania Arduino jest dostępne za darmo. To ...
Python jest znakomitym językiem do tworzenia wydajnego kodu. Nadaje się do różnych, również bardzo nietypowych zastosowań. Samo programowanie natomiast, choć jest w nim coś magicznego, stanowi umiejętność, którą każdy może opanować pod warunkiem odrobiny zaangażowania. Naturalnie, nauka kodowania nie zawsze przebiega bezproblemowo. Trzeba zrozumieć sposób działania komputera i nauczyć się nieco inaczej myśleć o rozwiązywaniu problemów. Napis...
Poznaj nowoczesne sposoby wytwarzania oprogramowania! Czasy kaskadowego tworzenia projektów odchodzą w niepamięć. Obecne tempo rozwoju aplikacji i rynku nie pozwala poświęcać miesięcy na analizę, tworzenie dokumentacji, projektowanie, a na końcu wytwarzanie, testowanie i wdrażanie. Produkt musi być dostępny błyskawicznie! Pozwala to na natychmiastowe zebranie opinii na jego temat, dostosowanie go do oczekiwań i szybkie reagowanie na wymagane zmiany. Takie założenia mo...
Kompendium wiedzy o sieciach Ethernet! Biblia administratora sieci Ethernet! Standard Ethernet powstał w 1976 roku w ośrodku badawczym firmy Xerox. Wykorzystywany do budowy sieci lokalnych, znajduje zastosowanie praktycznie w każdym miejscu. Sieci Ethernet spotkasz zarówno w mieszkaniach czy domach, jak i w biurach czy centrach danych. W zależności od budżetu, jakim dysponujesz, możesz zbudować sieć dostosowaną do własnych potrzeb. Nowoczesne sieci Ethernet pozwal...
Aplikacje mobilne dla każdego! Mimo że na rynku wciąż wiodą prym tylko dwa systemy operacyjne dla urządzeń mobilnych, tworzenie aplikacji natywnych przeznaczonych wyłącznie dla nich jest zbyt czasochłonne. Przyszłość należy do tych aplikacji, które będą kompatybilne z wieloma platformami sprzętowymi. Jednak lista problemów, z jakimi musi się zmierzyć projektant takiego oprogramowania, jest długa. Czy coś można na to poradzić? Tak! Rozwiązaniem są bogate możliwości HTML5 i CS...
Poznaj sekrety tworzenia popularnych i dochodowych witryn internetowych! Jak poprawić widoczność serwisu w wyszukiwarkach? Jak zoptymalizować płatne kampanie reklamowe? Jak odnieść sukces w Internecie? Celem optymalizacji witryny WWW jest przede wszystkim maksymalizacja przychodów z serwisu i podniesienie komfortu użytkowników. Aby ten cel osiągnąć, trzeba spełnić kilka podstawowych warunków. Po pierwsze należy zadbać o to, aby serwis można było łatwo odszukać w sieci. P...
Nie sposób przewidzieć, dokąd zmierza AI. Znajdujemy się w wyjątkowym momencie: przechodzimy od świata, w którym procesy realizowali ludzie za pomocą technologii, do świata, w którym technologie same będą prowadzić procesy, a ludzie będą je wspierać lub nadzorować. Gdzie chcesz się znaleźć w tym nowym świecie?_x000D_ _x000D_ _x000D_ Z tą książką rozwiniesz innowacje i skutecznie zareagujesz na kolejną falę rozwoju sztucznej inteligencji!_x000D_ _x000D_ Je...
Uwolnij potencjał AI i zmień sposób swojej pracy z ChatGPT!_x000D_ _x000D_ Generatywna sztuczna inteligencja, z ChatGPT na czele, rewolucjonizuje sposób pracy w niemal każdej branży. Od automatyzacji zadań po kreatywne rozwiązania biznesowe wszędzie tam AI stała się nieodzownym narzędziem działalności. Ta książka, będąca praktycznym przewodnikiem po możliwościach ChatGPT i modeli OpenAI, pozwoli Ci opanować najnowsze technologie i zwiększyć produktywność w codzi...
Transformery zrewolucjonizowały przetwarzanie języka naturalnego, analizę obrazów i komputerowe widzenie. Oparte na transformerach duże modele generatywne dostępne za pośrednictwem systemu ChatGPT z GPT-4V w zadaniach przetwarzania tekstu i obrazów przewyższają wydajność człowieka. Aby uczestniczyć w tej nowej erze technologicznej, musisz zrozumieć, jak działają transformery. Tę książkę docenią praktycy: analitycy danych i inżynierowie uczenia maszynowego. Opis...
Jako menedżer działu inżynierii oprogramowania wiesz już wszystko. Uznajesz, że czas pomyśleć o wyższym stanowisku. Tak, chcesz spróbować swoich sił jako dyrektor! Zacznij jednak od chwili namysłu. Jeśli uważnie przyjrzysz się karierom świeżo upieczonych dyrektorów, zauważysz, że wielu z nich rozpoczyna pracę na tym stanowisku z entuzjazmem tylko po to, by w ciągu 18 miesięcy odejść sfrustrowanym. Jak nie podzielić ich losu?_x005F_x000D_ _x005F_x000D_ Tego dowie...
Sztuczna inteligencja i technologie oparte na danych są coraz częściej integrowane z istniejącymi systemami i operacjami. Ta tendencja dotyczy licznych branż. Dziś przy budowaniu systemów SI można korzystać z gotowych bibliotek, jeżeli jednak zależy Ci na w pełni świadomym tworzeniu doskonalszych aplikacji, musisz dobrze opanować matematykę leżącą u podstaw sztucznej inteligencji. Nawet jeśli nie darzysz królowej nauk płomiennym uczuciem, dzięki temu kompleksow...
Django pozwala na pełne wykorzystanie zalet Pythona, a przy tym jest bardzo przyjemny w pracy. Dzięki niemu programiści na różnym poziomie zaawansowania mogą efektywnie tworzyć aplikacje internetowe. W corocznej ankiecie dla programistów serwisu Stack Overflow od kilku lat Django jest wybierany jako jeden z najbardziej lubianych frameworków webowych. To piąte, zaktualizowane i uzupełnione wydanie bestsellerowego przewodnika po tworzeniu aplikacji interne...
_x000D_ Nie jesteś w stanie konkurować ze sztuczną inteligencją. Zamiast tego sprawdź, jak może wspomagać Twoją pracę._x000D_ _x000D_ Srihari Sridharan, Thoughtworks_x000D_ _x000D_ _x000D_ Wyobraź sobie, że zamiast mozolnego pisania kodu linijka po linijce opisujesz w języku naturalnym, jak ma działać gotowy program. I po chwili Twój ulubiony asystent AI, taki jak GitHub Copilot, generuje dobry, działający kod!_x000D_ _x000D_ _x000D_ Książka w mistrzowski sposób...
Efektywny potok detekcji zagrożeń jest niezbędnym elementem programu cyberbezpieczeństwa. W procesach inżynierii detekcji szczególną uwagę należy poświęcić technikom tworzenia i walidacji mechanizmów detekcji. To oczywiste - od ich jakości zależy skuteczność zabezpieczeń w organizacji. Trzeba więc zrozumieć, czym jest inżynieria detekcji i jakie ma znaczenie dla cyberbezpieczeństwa. Oto przewodnik po inżynierii detekcji, przeznaczony dla inżynierów zabez...
Większość aplikacji i usług jest zależna od interakcji z systemem operacyjnym, dlatego profesjonaliści IT potrzebują głębokiej, a przede wszystkim aktualnej wiedzy w tej dziedzinie. To właśnie zrozumienie systemów operacyjnych pozwala inżynierowi IT na skuteczne diagnozowanie problemów, optymalizowanie wydajności i tworzenie solidnych rozwiązań, które oprą się próbie czasu i podniosą poziom bezpieczeństwa._x005F_x000D_ _x005F_x000D_ To piąte, grunt...
W uczeniu maszynowym odkrywanie związków przyczynowych daje możliwości, jakich nie można uzyskać tradycyjnymi technikami statystycznymi. Najnowsze trendy w programowaniu pokazują, że przyczynowość staje się kluczowym zagadnieniem dla generatywnej sztucznej inteligencji. Niezbędna okazuje się więc znajomość grafów przyczynowych i zapytań konfrontacyjnych._x005F_x000D_ _x005F_x000D_ Dzięki tej książce łatwo przyswoisz teoretyczne podstawy i zaczniesz je płynnie wd...
Django służy do tworzenia aplikacji internetowych w Pythonie. Pozwala w pełni skorzystać z zalet tego języka, a przy tym jest łatwy do nauki. Praca z Django jest atrakcyjna dla programistów o różnym stopniu zaawansowania, co potwierdzają badania ankietowe serwisu Stack Overflow. Aby zapewnić swoim aplikacjom odpowiednią jakość, trzeba poznać sposób działania Django, stosować najlepsze praktyki, a także skutecznie wdrażać i testować aplikację. Być może Dj...
Mimo że Python nie jest typowym językiem programowania funkcyjnego, umożliwia pisanie kodu w sposób właściwy dla tego podejścia. W efekcie można tworzyć zwięzłe i eleganckie programy, które działają szybciej i zużywają mniej zasobów. Jeśli uważasz, że te argumenty uzasadniają zapoznanie się z funkcyjnym podejściem do programowania w Pythonie, to ta książka jest dla Ciebie. Dzięki temu praktycznemu podręcznikowi zrozumiesz, kiedy i dlaczego warto zastosow...
Potencjał blockchainu jest ogromny i zapewne wciąż nie znamy wszystkich jego możliwych zastosowań. Jest to dosyć nowa, dynamicznie rozwijająca się technologia, jednak już teraz dostrzegalne są pewne jej ograniczenia. Problemem jest na przykład skalowalność Bitcoina. Rozwiązaniem wydaje się Lightning Network (LN), protokół drugiej warstwy, który zapewnia niemal natychmiastowe transakcje w systemie Bitcoin. Umożliwia on również zwiększenie szybkości i prywa...
Ze względu na gwałtowny rozwój inżynierii danych, jaki nastąpił w ciągu ostatniej dekady, wielu inżynierów oprogramowania, badaczy i analityków danych zaczęło odczuwać potrzebę kompleksowego spojrzenia na tę praktykę. Dzięki tej praktycznej książce zawierającej opis najlepszych technologii dostępnych w ramach frameworka cyklu życia inżynierii danych, dowiesz się, jak planować i budować systemy, które mają zaspokoić potrzeby Twojej organizacji i kli...
Unity to jeden z najpopularniejszych silników do tworzenia gier. Równocześnie, pracując w tym środowisku, możesz się nauczyć programowania w C#, który jest nowoczesnym i wszechstronnym językiem. Podczas pisania skryptów potrzebnych do zbudowania gry poszczególne konstrukcje języka i ich zastosowanie nagle stają się proste i zrozumiałe. Dzięki nim można zaimplementować niestandardowe zachowania i mechanikę gry, i to na poziomie profesjonalnej...
Wysoka jakość aplikacji nie bierze się znikąd! Aby ją zapewnić, testowanie musi być integralnym aspektem inżynierii oprogramowania, wplecionym w każdy etap cyklu jego dostarczania. Błędy czy niedoskonałości w kodzie, pominięte z powodu niedokładnego testowania, mogą się okazać niezwykle kosztowne, jeśli ujawnią się w środowisku produkcyjnym. Oznacza to, że wdrożenie mądrej strategii testowania jest warunkiem sukcesu w branży dostarczania oprogramowania._x005F_x000D_ _x005F_x0...
Ważnym zadaniem inżynierów danych jest kreowanie modeli uczenia maszynowego. Używa się do tego narzędzi do analizy biznesowej, takich jak Power BI. Możliwości Power BI są imponujące, a można je dodatkowo rozbudować. Jedną z ciekawszych metod wzbogacania modelu danych i wizualizacji Power BI jest zastosowanie złożonych algorytmów zaimplementowanych w językach Python i R. W ten sposób można nie tylko tworzyć interesujące wizualizacje danych, ale także pozys...
Mikrousługi są dla wielu organizacji wspaniałą alternatywą. Systemy rozproszone złożone ze współpracujących ze sobą mikrousług pozwalają na efektywne i elastyczne dostarczanie oprogramowania, które ściśle odpowiada na wymagania użytkowników. Dodatkową zaletą jest możliwość relatywnie szybkiego wprowadzania modyfikacji w systemie, co ułatwia płynne zaspokajanie zmieniających się potrzeb. Pewnym wyzwaniem dla programistów jednak może być złożoność po...
Mimo upływu lat relacyjne bazy danych wciąż mają się świetnie! Z każdym rokiem stają się coraz doskonalsze i radzą sobie z coraz większymi zbiorami danych. Wciąż jednak podstawą dobrej aplikacji bazodanowej jest dobry projekt samej bazy. Wielu osobom projektowanie poprawnych struktur bazodanowych wydaje się czymś z pogranicza wyższej matematyki i czarnej magii. Tymczasem zdobycie tej umiejętności jest możliwe bez lat studiowania skomplikowanych teorii matematycznych. Wystarcz...
Popularność Pythona, ulubionego języka programistów i naukowców, stale rośnie. Jest on bowiem łatwy do nauczenia się: nawet początkujący programista może napisać działający kod. W efekcie, mimo że Python pozwala na pisanie kodu przejrzystego i prostego w konserwacji, zdarzają się przypadki kodu źle zorganizowanego, nieczytelnego i praktycznie nietestowalnego. Jedną z przyczyn tego stanu rzeczy jest tendencja niektórych programistów do pisania kodu ...
Unity jest zaawansowanym środowiskiem przeznaczonym do tworzenia gier 3D. Równocześnie może stanowić początek wspaniałej przygody z C#, który jest nowoczesnym i wszechstronnym językiem programowania. Taka ścieżka nauki pozwala na uniknięcie niezrozumiałego dla początkujących żargonu czy niejasnej logiki programowania. Poszczególne konstrukcje języka i ich zastosowanie nagle stają się proste - dzięki niestandardowym skryptom pisanym w C# można rozszerzyć m...
Programistów Pythona ograniczają tylko wyobraźnia i technologia. Nic dziwnego, że rzesza osób zafascynowanych Pythonem stale rośnie, podobnie jak liczba adeptów programowania w tym języku. Po ugruntowaniu podstaw tworzenia kodu można już pisać całkiem funkcjonalne aplikacje, jednak prawdziwa moc Pythona i satysfakcja z pracy z nim objawiają się dopiero po opanowaniu nieco bardziej złożonych zagadnień. Jeśli więc znasz podstawową składnię i najważniejsze z...
Język C# cechują dojrzałość, prostota i nowoczesność. Służy on do wielu celów: do tworzenia aplikacji sieciowych, aplikacji działających w chmurze, oprogramowania dla urządzeń mobilnych i internetu rzeczy. Choć pozwala na pisanie kodu bezpiecznego, przejrzystego, wydajnego i prostego w konserwacji, zdarzają się przypadki, gdy jest on tak fatalnej jakości, że uzyskanie właściwej skalowalności i wydajności oprogramowania staje się niemożliwe. W takim wypadku trzeba ziden...
Twórz od podstaw rozbudowane i niezawodne aplikacje webowe w Pythonie Django jest potężnym frameworkiem służącym do tworzenia aplikacji internetowych w Pythonie. Pozwala na pełne wykorzystywanie zalet tego języka, takich jak przejrzystość, elastyczność, wszechstronność i łatwość uczenia się. Wykorzystywanie Django do budowania aplikacji w Pythonie jest atrakcyjną możliwością zarówno dla początkujących, jak i zaawansowanych programistów. Aby jednak zapewn...
Wzorce projektowe powinny się znaleźć w przyborniku każdego profesjonalnego programisty. Ich zaletą jest nie tylko łatwość tworzenia kodu wielokrotnego użytku, ale także możliwość szybkiego rozwiązywania złożonych zagadnień. Osoby, które chcą rozwijać swoje umiejętności programistyczne, mogą również wykorzystać wzorce projektowe do inspirującego dochodzenia, jak można rozwiązać konkretny problem na wiele sposobów - o zróżnicowanym stopniu zaawansow...
Rozpoznawanie wzorców i ich trafne stosowanie to umiejętności, które przydają się w różnych sytuacjach. Są bardzo cenne dla architektów: pozwalają na szybkie opracowanie złożonych zagadnień, ale też ułatwiają rozwiązywanie konkretnych problemów na wiele sposobów. Pomagają w podejmowaniu decyzji o konkretnej technologii i niezbędnych kompromisach. Każda kolejna wersja języka programowania czy platformy, na której uruchamia się k...
Techniki uczenia głębokiego rozwijają się w imponującym tempie, a sieci neuronowe znajdują zastosowanie w przeróżnych branżach. Coraz częściej komputer wykonuje zadania, które do niedawna były zarezerwowane dla człowieka. Dobrym przykładem jest tworzenie dzieł sztuki: ostatnie postępy w dziedzinie modelowania generatywnego sprawiają, że maszyny tworzą oryginalne obrazy w określonym stylu, piszą spójne akapity tekstu, komponują przyjemną w odbiorze muzykę ...
Wzorce projektowe są bardzo przydatnym narzędziem w przyborniku programisty. Pozwalają na szybkie opracowanie złożonych zagadnień, ale można je również potraktować jako wstęp do ciekawego i inspirującego dochodzenia, jak rozwiązać konkretny problem na wiele różnych sposobów, na różnych poziomach zaawansowania technicznego i z zastosowaniem różnego rodzaju kompromisów. Takie próby jednak często prowadzą do nadinżynierii lub pows...
VBA jest językiem programowania umożliwiającym automatyzację praktycznie wszystkich działań, które wykonuje się ręcznie w aplikacjach Office. Napisany w nim kod jest szybszy, dokładniejszy i bardziej niezawodny niż jakikolwiek człowiek. Można dodawać struktury decyzyjne i pętle, a tym samym znacznie poszerzyć zakres możliwych operacji. Ciekawą opcją jest też tworzenie w VBA interfejsów użytkownika - okien komunikatów, pól wprowadzania danych i form...
Ostatnia dekada zmieniła oblicze IT. Kluczowego znaczenia nabrały big data, a chmura i automatyzacja rozpowszechniły się wszędzie tam, gdzie mowa o efektywności. Inżynierowie muszą wykorzystywać zalety systemów linuksowych w codziennej praktyce, aby zapewnić należyty poziom automatyzacji swoich zadań. Do tych celów świetnie nadaje się Python. Język ten zdobywa coraz większe uznanie z uwagi na jego wszechstronność, jak również wydajność, przenaszalność i b...
Zestaw algorytmy z ich zastosowaniami Zdobądź umiejętności posługiwania się algorytmami Naucz się wykorzystywać Pythona do testowania algorytmów Myśl za pomocą algorytmów Ten jasny i przystępny przewodnik pokazuje, w jaki sposób algorytmy wpływają na nasze codzienne życie - od interakcji online po osobistą komunikację. Są również niezwykle ważne, jeśli chodzi o podejmowanie różnego rodzaju decyzji. Jeśli chcesz wiedzieć, jak korzystać z ...
Zapewnienie bezpieczeństwa systemu informatycznego jest dziś nie lada wyzwaniem. Między administratorami a napastnikami trwa ciągły wyścig zbrojeń. Agresorzy dysponują bardzo różnymi narzędziami i często postępują w sposób nieprzewidywalny. W efekcie każde zabezpieczenie usługi czy zasobu, mimo że początkowo wydaje się doskonałe, prędzej czy później okazuje się podatne na ataki. Jedyną rzeczą, jaką może zrobić administrator bezpieczeństwa systemu, jest ci...
Internetu nie można rozważać wyłącznie jako tworu techniki. Powstanie tej sieci doprowadziło do rozwoju różnych zjawisk społecznych. Z tej perspektywy na szczególną uwagę zasługują media społecznościowe. Są źródłem informacji, które, właściwie spożytkowane, mogą przynieść niezły dochód. Mogą też dać odpowiedzi na wiele pytań zadawanych przez naukowców z różnych branż. Sama eksploracja tych danych przynosi sporo satysfakcji i ra...
Zgodnie z paradygmatem programowania funkcyjnego największy nacisk należy kłaść na stałe i funkcje. Polega to na konstruowaniu funkcji oraz na obliczaniu wartości wyrażeń. W ten sposób otrzymuje się kod odporny na błędy. Python nie jest w pełni funkcyjnym językiem programowania, jednak pozwala na taki sposób pisania programów. Dzięki temu umożliwia tworzenie zwięzłego i eleganckiego kodu. Na przykład stosowanie wyrażeń generatorowych w Pythonie sprawia, ż...
Bezpieczeństwo systemu informatycznego od dawna nie jest problemem wyłącznie administratora IT i jego zespołu. Różnorodność metod, socjotechnik i wyrafinowanych narzędzi wykorzystywanych do ataków oraz zacierania śladów sprawia, że zabezpieczenie usług czy zasobów musi być obowiązkiem całego personelu firmy — od prezesa po stażystę. Co więcej, bezpieczeństwo zasobów informatycznych wymaga systematycznej kontroli i systemowego podejścia...
Django jest frameworkiem do budowy profesjonalnych aplikacji sieciowych w języku Python. Cieszy się zasłużoną opinią potężnego narzędzia, którego można się szybko nauczyć. Spodoba się każdemu, kto ceni prostotę użytkowania i pragmatyczne podejście do projektowania. Z pewnością Django jest atrakcyjnym rozwiązaniem dla programistów, którzy profesjonalnie podchodzą do tworzenia aplikacji WWW i stawiają na niezawodność. To drugie, zaktualizowane i uzupełnion...
Informacja zawarta w danych jest niezwykle cenna, jednak jej pozyskiwanie jest trudną sztuką. Aby do niej dotrzeć, trzeba poradzić sobie z coraz większą ilością danych. Rośnie więc zapotrzebowanie na zaawansowane techniki analizy danych. W niektórych przypadkach wystarczającym narzędziem do tego celu jest arkusz kalkulacyjny. Rozwiązanie to ma jednak ograniczenia, które pokonać może jedynie znakomity system do obsługi baz danych: Microsoft Access. Jest to oprogr...
Ostatnia z dwunastu zasad Manifestu Agile mówi o retrospektywach. W myśl tej reguły zespół programistów odbywa regularne spotkania, na których analizuje efekty pracy nad projektem, myśli nad możliwymi zmianami i odpowiednio dopasowuje działania. Retrospektywa po każdej iteracji projektu pozwala na niezwykle skuteczne optymalizowanie pracy zespołu - przeprowadzona odpowiednio gwarantuje, że zebrane wnioski i opinie członków grupy przyczyniają...
C# to nowoczesny język programowania, który został od podstaw zaprojektowany jako obiektowy. Ta dojrzała technologia jest często wybierana przez twórców oprogramowania, również tego służącego do pokonywania zabezpieczeń systemów. Dzięki temu, że platforma .NET jest oprogramowaniem open source, w C# można pisać kod, który bez problemu będzie działał w każdym systemie operacyjnym. Co prawda język ten jest prosty i łatwy do nauczenia się...
Bezpieczeństwo serwerów - od TLS do TOR W dzisiejszym świecie, w którym wiele codziennych aktywności odbywa się przez internet, bardzo dużo zależy od bezpieczeństwa serwerów. Kiedy zwykli ludzie tworzą społeczności, komunikują się i robią zakupy online, hakerzy niestrudzenie przeglądają sieć, poszukując słabych punktów. Atakują różne obiekty: mogą to być agencje rządowe, elektrownie i banki, ale równie dobrze ich celem może się stać ...
Projekty związane z tworzeniem oprogramowania bardzo się różnią od innych, bardziej tradycyjnych przedsięwzięć. Jeśli nie weźmiesz tego pod uwagę i uznasz, że podejście konwencjonalne wystarczy, ryzykujesz, że Twój projekt programistyczny stanie się źródłem frustracji i pasmem niepowodzeń. Efektem źle zbudowanego planu będzie niedotrzymywanie terminów, niedoszacowany koszt czy słaba jakość produktu. Projekt programistyczny wymaga takiej metodyki pl...
Na naszych oczach dokonuje się przełom: technologie wykorzystujące rozmaite formy sztucznej inteligencji zaczynają się pojawiać w różnych branżach. Niektórzy nawet nie zdają sobie sprawy, jak często i jak powszechnie stosuje się algorytmy uczenia głębokiego. Możliwości w tym zakresie stale rosną. Wzrasta też zapotrzebowanie na inżynierów, którzy swobodnie operują wiedzą o uczeniu głębokim i są w stanie zaimplementować potrzebne algorytmy w konkretn...
Projektanci nowoczesnych aplikacji internetowych muszą obecnie sprostać wielu wyzwaniom. Oprogramowanie, które tworzą, musi działać wydajnie i bezbłędnie w różnych przeglądarkach, na różnych platformach, na różnych urządzeniach. Wobec rosnących wymagań testowanie aplikacji staje się bardzo ważnym etapem jej rozwoju. Jako że zaprojektowanie i przeprowadzenie takich testów jest dość złożonym zadaniem, warto zapewnić sobie sprawdzone narzędzie ...
W świecie, w którym potężne ilości informacji bombardują ludzi ze wszystkich stron, organizacje stają przed bardzo poważnym wyzwaniem: muszą znaleźć sposób, aby dotrzeć ze swoim przekazem do odbiorcy, zyskać jego uwagę i spowodować, aby zrozumiał i zapamiętał prezentowane treści. Dodatkowym problemem jest różnorodność kanałów interakcji oraz urządzeń — utrzymanie zrozumiałości i spójności przekazu staje się jeszcze trudniejsze. W takim...
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. Ta książka u...
Ostatnio coraz częściej projektuje się systemy oparte na mikrousługach. W odróżnieniu od aplikacji monolitycznych są one bardziej skalowalne, efektywniejsze, a także łatwiejsze w implementacji, rozwijaniu i utrzymaniu. Dzięki zastosowaniu architektury mikrousług i kontenerów programiści mogą skupić się na danym elemencie, nie zajmując się całością aplikacji. Okazuje się jednak, że przejście na architekturę mikrousług nie jest proste. Problemem jest brak gotowych...
Utrwalenie danych, tak aby zostały one zapisane i przechowane przez system informatyczny, jest jedną z podstawowych funkcji aplikacji. Prawie zawsze wymaga się trwałych danych. W przypadku Javy zazwyczaj utrwalenie danych odbywa się poprzez ich zapisanie w relacyjnej bazie danych z wykorzystaniem języka SQL. Relacyjne bazy danych stanowią niezwykle elastyczne i potężne narzędzie do zarządzania utrwalonymi danymi, jednak aby wykorzystać wszystkie zalety tego rozwiązania, trzeb...
Roboty wkraczają do różnych dziedzin naszego życia, więc robotyka nabiera coraz większego znaczenia. Nauka o robotach, ich budowaniu i programowaniu jest dość złożoną, ale fascynującą dziedziną. Jej opanowanie wymaga wysiłku, jednak aby zaprojektować łatwy do wykorzystania interfejs, wystarczy posłużyć się kilkoma programami narzędziowymi oraz językiem Python. W ten sposób można zaprojektować zachowania robota, określić, w jaki sposób będzie zmierzał do c...
Rozwój technik BDD jest odpowiedzią na poważny problem, z którym muszą się zmierzyć zespoły rozwijające oprogramowanie. Tym problemem jest skuteczne komunikowanie i zrozumienie się nawzajem. Jeśli jesteś kierownikiem projektu, musisz jakoś skłonić programistę do pisania testów, namówić testera do zaakceptowania tych testów i przekonać inwestora, że coś, co nie jest kodem produkcyjnym, może mieć swoją wartość. Okazuje się, że kluczem do sukce...
Sprawne budowanie dużych systemów oprogramowania jest nie lada wyzwaniem, zwłaszcza gdy trzeba spełnić specyficzne wymagania biznesowe. Programowanie dziedzinowe, zwane w skrócie DDD, jest nowatorskim podejściem do projektowania architektury oprogramowania, pozwalającym na szybkie uzyskiwanie pożądanych efektów. Wielu architektów stosuje DDD wyłącznie jako techniczny zbiór narzędzi i nie wykracza poza wykorzystywanie wzorców taktyczny...
Wprowadź platformę SharePoint do Twojej organizacji! SharePoint to platforma pozwalająca zapanować nad ogromem informacji przetwarzanych w firmach i korporacjach. Rozwijana od lat przez firmę Microsoft, zdobyła ogromną popularność i jest wykorzystywana w najbardziej wymagających warunkach. Jej poprawne wdrożenie pozwala uzyskać błyskawiczny i atrakcyjny wizualnie dostęp do danych. Jeżeli chcesz w pełni wykorzystać potencjał platformy SharePoint 2013, to masz przed sobą idealn...
Wykorzystaj potencjał architektury usług! Architektura mikrousług to sposób na odejście od dużych, monolitycznych aplikacji. Wyspecjalizowane usługi realizujące konkretne zadania i komunikujące się z otoczeniem pozwalają na lepsze zapanowanie nad kodem, są łatwiejsze do przetestowania oraz bardziej elastyczne. Jednak oprócz zalet mają też wady. Sięgnij po tę książkę i dowiedz się, jak najlepiej radzić sobie z architekturą mikrousług! Autor przedstawia w książc...
Zapanuj nad chaosem informacyjnym! SharePoint to platforma rozwijana przez firmę Microsoft, ułatwiająca zapanowanie nad ogromem informacji przetwarzanych w przedsiębiorstwie. Jest najczęściej wybierana przez średnie i duże organizacje. Pozwala pracownikom na błyskawiczne zlokalizowanie informacji istotnych w ich codziennej pracy. Ponadto pomaga tworzyć własne komponenty, dostosowane do specyficznych wymagań. SharePoint to duży i zaawansowany produkt, jednak dzięki tej książc...
Wszystko o systemach operacyjnych!_x005F_x000D_ System operacyjny to niezwykle złożone środowisko, które zarządza Twoim sprzętem, uprawnieniami i setkami innych rzeczy. Jednak jego najważniejszym zadaniem jest uruchamianie programów, z których chcą korzystać użytkownicy. Edytory tekstów, programy graficzne, księgowe i inne nie mogłyby istnieć, gdyby nie możliwości współczesnych systemów operacyjnych._x005F_x000D_ _x005F_x000D_ Jeżeli ...
Praktyczny przewodnik dla projektantów baz danych! Dzisiejszy świat opiera się na bazach danych. Są one sercem każdego przedsięwzięcia, począwszy od działalności banku, a na zakupach internetowych skończywszy. Ich projektowanie wymaga nie lada kunsztu, a drobny błąd może doprowadzić do nieoczekiwanych konsekwencji. Dlatego od projektantów baz danych wymaga się ogromnej wiedzy i dokładności, a doświadczenie w tej dziedzinie zdobywa się latami. Dzięki tej książc...
Programuj i organizuj kod z metodyką Lean! Tempo rozwoju aplikacji wymusza stosowanie elastycznych sposobów wytwarzania oprogramowania. Książka ta została poświęcona architekturze Lean, która usprawni ten proces dzięki nowatorskiemu podejściu. Wykorzystaj je i przygotuj swoją aplikację na zmiany funkcjonalne, by użytkownicy mogli w pełni wykorzystać jej potencjał! W trakcie lektury zapoznasz się z duchem Agile i Lean oraz przydzielisz najważniejsze role członk...
Lektura obowiązkowa dla każdego programisty C++! Pomimo olbrzymiej konkurencji ze strony platformy .NET oraz języka Java język C++ wciąż jest niezastąpiony w wielu dziedzinach. Wszędzie tam, gdzie wymagane są najwyższa wydajność, pełna kontrola nad sprzętem oraz przewidywalność, C++ jest bezkonkurencyjny. Biblioteka standardowa C++ to zestaw klas i interfejsów, które w znaczny sposób zwiększają możliwości tego języka. Warto wykorzystać jej potencjał! Bi...
Odkryj tajemnice biblioteki Qt! Qt to popularny zestaw bibliotek pozwalający na tworzenie atrakcyjnego interfejsu użytkownika dla różnych platform, w tym dla systemów: Windows, Mac OS X i Linux. Pierwsza wersja ukazała się w 1992 roku i od tego czasu jest intensywnie rozwijana. Za pomocą najnowszej wersji Qt można tworzyć aplikacje internetowe i mobilne. Zakres jej możliwości jest tak szeroki, że nawet doświadczeni programiści wykorzystują zaledwie ich ułamek. ...
Poznaj możliwości testów jednostkowych!_x005F_x000D_ _x005F_x000D_ System informatyczny to inteligentne połączenie modułów i zależności, otoczone setkami tysięcy, a nawet milionami linii kodu źródłowego. Zmiana w jednym obszarze może mieć fatalny wpływ na działanie systemu w zupełnie innym miejscu. Ta zależność prowadzi do ogromnych kosztów wprowadzenia nawet najdrobniejszej zmiany w oprogramowaniu. Czy istnieje rozwiązanie tego problemu? Jak stwor...