O ile techniki wytwarzania oprogramowania rozwinęły się w imponujący sposób, o tyle metody zarządzania tym procesem wciąż są dalekie od doskonałości. Absurdalne przekroczenia budżetów lub terminów zbyt często były dowodem na to, że uzyskanie kontroli nad zespołem programistów czy skuteczne zarządzanie całym projektem programistycznym jest niezwykle trudne, o ile w ogóle możliwe. Niemniej osoby interesujące się tą branżą potrafią wskazać proj...
Python jest językiem łatwym do opanowania i przyjemnym dla programisty. Jednak łatwość projektowania nie przekłada się na szybkość działania kodu. W konsekwencji przetwarzanie dużych wolumenów danych czy próba skalowania aplikacji kończą się problemami z wydajnością lub niezawodnością. Niekiedy rozwiązaniem jest zastosowanie procesów szeregowych, w innych przypadkach warto sięgnąć do architektury wielordzeniowej, klastrów lub układów GPU. Re...
Imponująca możliwość skalowania oraz odporność na awarie skłania organizacje do uruchamiania swoich aplikacji w natywnych środowiskach chmury. Technologia kontenerów i orkiestracji stała się ostatnio bardzo modna. Jednak nawet tak nowoczesne systemy nie są wolne od zagrożeń. Aby zapewnić wdrożeniom kontenerowym najwyższy możliwy poziom bezpieczeństwa, trzeba zrozumieć mechanizmy działania kontenerów. Jako że powstają one przez połączenie różnych funkcji j...
Uczenie maszynowe jest przyszłością naszej cywilizacji. Już dziś wywiera ogromny wpływ na nasze życie. Odmieniło kształt wielu sektorów: usług konsumenckich, inżynierii, bankowości, medycyny czy produkcji. Trudno też przewidzieć zmiany, jakie potęga sieci neuronowych przyniesie nam w nadchodzących latach. Osoby zajmujące się zawodowo uczeniem głębokim i sieciami neuronowymi mogą liczyć na ekscytujące możliwości, jednak zaawansowana matematyka i teoria stanowiące podsta...
Projektuj, twórz, eksperymentuj i... baw się świetnie!_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Poznaj środowisko Unity_x005F_x000D_ Naucz się tworzyć gry_x005F_x000D_ Realizuj swoją pasję_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Unity to popularne środowisko do tworzenia gier komputerowych, które umożliwia szybkie rozpoczęcie pracy nawet zupełnie początkującym użytkownikom. Równocześnie pozwala w krótkim czasie uzyskać ciekawe efekty._x005F_x00...
SQL jest linqua franca dla profesjonalistów zajmujących się przetwarzaniem danych. To wyjątkowo dojrzałe narzędzie, z którego korzysta już kilka pokoleń inżynierów i programistów. Wydaje się jednak, że zbyt często ten język nie jest należycie wykorzystywany: wielu użytkowników posługuje się nim na co dzień, ale mało kto wychodzi poza stosunkowo proste zapytania. Tymczasem z możliwości nowoczesnego SQL mogą skorzystać nie tylko osoby zajmując...
Zapewnienie bezpieczeństwa IT jest wyjątkowo ważne. Organizacja musi pozostawać w ciągłej gotowości do wykrywania zagrożeń i reagowania na incydenty bezpieczeństwa. Przeciwnicy nieustannie się doskonalą i standardowy zestaw zabezpieczeń jakiś czas temu przestał wystarczać. Konieczne jest zbudowanie i wdrożenie kompleksowego systemu zapobiegania zagrożeniom, ich wykrywania i reagowania na nie. Podobnie jak na polu bitwy, tak i w planowaniu bezpieczeństwa IT zyskuje się przewag...
Kwiaty to świat fascynujących form, barw i zapachów. Stale nam towarzyszą, dekorowanie nimi to wszak nieodłączny element naszej kultury. Podobnie jak obdarowywanie - bukiet wręczony w prezencie niesie ze sobą wiele pozytywnych emocji._x005F_x000D_ _x005F_x000D_ Świat florystyki. Sztuka układania i fotografowania kwiatów to książka, która krok po kroku wprowadza w tajniki florystyki. Dowiesz się stąd, jak pracować z kwiatami i jak tworzyć z nich przepiękne...
Sztuczna inteligencja i uczenie maszynowe znajdują coraz więcej zastosowań w niemal wszystkich istotnych branżach. W technologiach sieci neuronowych tkwi olbrzymi potencjał. Za rozwojem uczenia maszynowego muszą nadążać architekci i programiści: aplikacja, w której wykorzystano technologie sztucznej inteligencji, musi pasować do określonego zastosowania. Poszczególne systemy różnią się od siebie, tak samo jak różne są rozwiązywane przez nie problem...
Historia zna przykłady produktów, które odniosły niewiarygodny sukces i do dziś są zwane kultowymi. Można też wskazać projekty, które, zdawałoby się, były skazane na zwycięstwo, a jednak zaliczyły spektakularną porażkę. Co decyduje o losie nowego produktu? Jak stworzyć coś wybitnego, co przyniesie firmie pozycję rynkowego lidera? Początki wydają się oczywiste: trzeba odkryć coś, co jest wartościowe, użyteczne i wykonalne. Bez tego nie można oczekiwać powo...
Programowanie matematyki wcale nie musi być trudne! Przypomnij sobie reguły i działania matematyczne Poznaj w praktyce funkcje matematyczne JavaScriptu Zamieniaj wzory i problemy matematyczne na algorytmy Naucz się wizualizować matematykę Spójrzmy prawdzie w oczy: większość ludzi nie lubi matematyki. Co dziwne, nie jest ona również ulubioną dziedziną wiedzy wielu osób zawodowo parających się informatyką. Niejedną z nich w prawdziwy popłoch wpędza ...
Programowanie współbieżne jest ważną techniką w tworzeniu nowoczesnych rozwiązań sieciowych. Programiści Pythona często w tym celu korzystają z wątków i mechanizmu wywłaszczania. Z tym że nie jest to optymalne rozwiązanie - z uwagi na ryzyko naruszenia bezpieczeństwa. Istnieje też możliwość programowania asynchronicznego z wykorzystaniem biblioteki asyncio, która została dodana w Pythonie 3.4. Złożoność API Asyncio budzi jednak obawy programistów P...
Zaczerpnij wiedzę o C++ od samego twórcy języka! Jak zacząć pracę w zintegrowanym środowisku programistycznym? Jak profesjonalnie tworzyć programy użytkowe? Jak korzystać z biblioteki graficznego interfejsu użytkownika? Jeśli zależy Ci na tym, aby zdobyć rzetelną wiedzę i perfekcyjne umiejętności programowania z użyciem języka C++, powinieneś uczyć się od wybitnego eksperta i twórcy tego języka - Bjarne Stroustrupa, który jako pierwszy zaprojektowa...
Przedsiębiorstwa z branży technologicznej ciągle mierzą się z silną konkurencją. Nietrudno zrozumieć, co stanowi o przewadze firmy niezależnie od branży czy wielkości. Wygrywanie wymaga utrzymywania przewagi konkurencyjnej, jaką jest zdolność określania, wdrażania i osiągania poziomów wydajności nieosiągalnych dla konkurencji. Najczęściej przewaga konkurencyjna ma dwa źródła. Pierwszym jest dostarczanie funkcjonalnych rozwiązań, które dają radość użytkown...
Marzysz, by Twoje fotografie krajobrazu wzbudzały podziw i zazdrość? By wywoływały emocje i niedowierzanie, że można tak pięknie pokazać świat? Oczywiście, aby robić takie zdjęcia, trzeba mieć sporo szczęścia i miesiącami studiować techniki fotografowania... albo znaleźć mistrza, który podzieli się wiedzą i umiejętnościami. Kimś takim jest Scott Kelby, uznany na świecie ekspert. W swoich książkach tłumaczy, jak przygotować sprzęt, jak zaplanować sesję, zdradza sekrety ...
Frameworki bardzo ułatwiają życie programistom. Pozwalają na szybkie tworzenie nawet rozbudowanych aplikacji, ale praca z frameworkiem najczęściej oznacza duże ograniczenia w doborze technologii. Wszystko jest w porządku, dopóki deweloper stosuje dokładnie te rozwiązania, które zaplanowali twórcy frameworka. Jeśli jednak zechce użyć innej bazy danych albo wykorzystać własną, autorską metodę uwierzytelniania użytkowników, może napotkać różne ...
W każdym człowieku tkwi piękno, które można wydobyć na fotografii. Dobre zdjęcia portretowe urzekają, przykuwają uwagę i budzą emocje - niezależnie od tego, czy zostały wykonane w plenerze, czy w pomieszczeniu. Jeśli masz za sobą próby fotografowania ludzi, pewnie już wiesz, że aby tworzyć wyjątkowe portrety, trzeba posiąść sporą wiedzę. Jeśli się nie ma czasu na wyczerpujące studiowanie trudnych książek, najlepiej znaleźć mentora, który zdradzi swoje sek...
Poznaj język C++ od strony praktycznej C++ to bez wątpienia jeden z najpopularniejszych i najpotężniejszych języków programowania. Znajduje zastosowanie w tworzeniu systemów operacyjnych, sterowników przemysłowych, bibliotek, gier komputerowych, najrozmaitszych aplikacji desktopowych, programów bazodanowych i oprogramowania serwerowego - słowem, wszędzie tam, gdzie liczy się wydajność i niskie zużycie zasobów. Co więcej, napisane w nim prog...
Python słusznie cieszy się stale rosnącym uznaniem programistów: jest wszechstronny i efektywny, pozwala też na tworzenie wysokiej jakości oprogramowania. Język ten ma poza tym wiele trudniejszych do uchwycenia zalet. Aby uzyskać naprawdę imponujące efekty w zakresie wydajności kodu, jego przenaszalności i bezpieczeństwa, trzeba zagłębić się w dość subtelne niuanse kodowania. Wielu programistów, choć posiada spore doświadczenie w programowaniu w innych językach,...
Elektryczność jest tajemnicza i dziwna, a prąd może boleśnie porazić. Bez niej jednak byłoby człowiekowi trudno w codziennym życiu! Większość domowych (i nie tylko) urządzeń działa właśnie dzięki prądowi elektrycznemu. Bardzo dobrym pomysłem jest więc bliższe zapoznanie się ze światem elektryczności, rządzącymi nim zasadami i przeprowadzenie kilku łatwych eksperymentów z prądem elektrycznym. To świetna zabawa, a takie majsterkowanie często przeradza się w bardzo przyje...
W porównaniu z innymi językami programowania Python wyróżnia się prostotą i zaskakującymi możliwościami. Używa się go do analizy danych, budowania sztucznej inteligencji, tworzenia stron WWW, jak również w badaniach naukowych. Właściwości tego języka sprawiają, że kod trzeba pisać uważnie, szczególnie w dużych projektach. Tymczasem trudno jest znaleźć odpowiednio dobre źródło informacji o sposobach tworzenia kodu wysokiej jakości. Publikacje...
Architektura aplikacji w Pythonie. TDD, DDD i rozwój mikrousług reaktywnych Python zyskuje coraz większą popularność i jest wykorzystywany do tworzenia bardzo różnych aplikacji, jednak projektowanie dużych, niezawodnych systemów w tym języku bywa wyzwaniem. Rozwijanie złożonych systemów o wysokiej jakości wymaga zastosowania odpowiedniej architektury. Trudno w Pythonie stosować takie wysokopoziomowe wzorce projektowe jak architektura sześciokątna,...
Mimo że w 2018 roku Kubernetes zyskał reputację standardowego narzędzia do zarządzania kontenerami, wciąż należy traktować tę technologię jako znajdującą się w dość wczesnej fazie rozwoju. Możliwości tej platformy z czasem rosną i stają się coraz ciekawsze. Standardowym działaniem jest uruchamianie klastrów w Kubernetesie, jednak o wiele bardziej interesujące wydaje się samodzielne rozszerzanie tej platformy o własne kontrolery i rozbudowa API Kubernetesa w celu dostos...
Kubernetes jest platformą do orkiestracji kontenerów. Projekt ten należy dziś do najpopularniejszych i najbogatszych narzędzi w swojej klasie, stanowi także podstawę dla wielu innych platform, znanych jako systemy typu PaaS. Dzięki nim Kubernetes zyskał możliwość tworzenia aplikacji, jednak tego rodzaju narzędzia wymagają od programistów i architektów zastosowania odpowiednich wzorców projektowych. Opisują one schematy rozwiązywania problemó...