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...
Przejdź na wyższy poziom C# Programowanie wielowątkowe pozwala wykonywać różne czynności z wykorzystaniem więcej niż jednego wątku. W efekcie zwiększa się wydajność operacji, które były ograniczone parametrami procesora. W dodatku dzięki zastosowaniu programowania wielowątkowego zadania można wykonywać w tle, bez pogorszenia responsywności aplikacji. Asynchroniczność umożliwia także zachowanie responsywności aplikacji użytkowych oraz zwiększenie skalowalności a...
Komputer jest wszechstronnym narzędziem, które szybko i dokładnie wykona wiele pracochłonnych zadań. Wystarczy przekazać mu instrukcje w zrozumiałym dla niego języku. Takim jak Python, który jest łatwy do nauczenia się, pozwala pisać wyrazisty, zwięzły kod i stwarza imponujące możliwości dzięki niezliczonej liczbie rozszerzeń i bibliotek. Tymczasem wciąż wiele osób wykonuje żmudne i męczące zadania ręcznie: pracując z arkuszem kalkulacyjnym, plikami albo ...
DevOps jest innowacyjną metodyką prowadzenia projektów, w której wyjątkowe znaczenie ma integracja zespołów programistów i administratorów systemów. Taki sposób rozwijania aplikacji wydaje się szczególnie atrakcyjny w odniesieniu do aplikacji kontenerowych. Technologia kontenerów i orkiestracji jest uważana za bardzo nowoczesną, jednak nawet w przypadku kontenerów Docker i klastrów Kubernetes kwestii...
Popularność Pythona wynika z jego wszechstronności, prostoty, a także ze zwięzłości i z łatwości pisania kodu. Rozbudowywana z każdą aktualizacją kolekcja narzędzi i bibliotek pozwala na używanie Pythona do coraz bardziej specjalistycznych zadań, takich jak zabezpieczanie sieci. O tym, że skuteczna ochrona sieci ma krytyczne znaczenie dla organizacji, świadczą powtarzające się przypadki cyberataków i utraty cennych danych. Warto więc wykorzystać możliwości Pythona do w...
Chcesz się nauczyć grafiki komputerowej? Jeśli z jakiegoś powodu ― marzenia, potrzeby życiowej, wymagań zawodowych ― czujesz, że Twoją następną umiejętnością powinno być projektowanie grafiki oraz dostosowywanie jej do własnych celów, to dobrze. Jesteś w domu. W domu Inkscape, czyli darmowego programu do tworzenia grafiki wektorowej. Powstał on w ramach projektu kreowania wolnego oprogramowania GNU, oferuje naprawdę spore możliwości i jest dostępny zar&oac...
Odkryj wspaniały świat elektroniki! Do czego służą różne części elektroniczne? Jak czytać poszczególne rodzaje schematów? Co sprawia, że układ działa tak, a nie inaczej? Rezystory, kondensatory, cewki, diody, tranzystory… Przeciętny zjadacz chleba traci wątek już w tym momencie, a to zaledwie kilka podstawowych typów elementów elektronicznych, z których można zbudować nieskończoną liczbę obwodów pełniących rozmait...
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...
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 ...
Każdy inżynier oprogramowania zna teoretyczne podstawy testowania. O tym, że sumienne przeprowadzenie testów ma podstawowe znaczenie dla jakości gotowego produktu, nie trzeba nikogo przekonywać. A jednak wciąż zbyt często okazuje się, że zaplanowanie, napisanie i przeprowadzenie testów jednostkowych w praktyce nie jest łatwym zadaniem. Co gorsza, niewłaściwe testy psują kod, mnożą błędy i zabierają mnóstwo cennego czasu i pieniędzy. Okazuje się, że dla uz...
Analiza szeregów czasowych zyskuje na znaczeniu. Wraz z postępującą digitalizacją danych służby zdrowia, rozwojem inteligentnych miast czy upowszechniającym się internetem rzeczy staje się coraz bardziej potrzebna. Obiecującym rozwiązaniem jest analiza szeregów czasowych metodami wspomaganymi uczeniem maszynowym. Techniki te umożliwiają skuteczne monitorowanie i wykorzystywanie coraz większych zbiorów danych. Być może ich zastosowanie do pracy z szeregami...
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...
Uczenie maszynowe i nauka o danych są dziś ogromnie popularne. Dziedziny te szybko się rozwijają, a poszczególne techniki uczenia maszynowego znajdują coraz więcej różnorodnych zastosowań. Wiedza, którą można uzyskać dzięki odpowiedniemu przygotowaniu danych i ich eksploracji, często jest bezcenna. Umiejętność ich analizy oraz wiedza o możliwych sposobach rozwiązywania problemów napotykanych podczas uczenia maszynowego są więc dużymi atutami i mogą...
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ó...
Zostań programistą robotów Lego(R) Mindstorms(R) EV3! Poznaj metody programowania Twórz rozwiązania mające zastosowania w praktyce Utrwal swoją wiedzę, rozwiązując zadania do samodzielnego wykonania Lego(R) Mindstorms(R) EV3 to spełnienie marzeń wszystkich uczniów o zacięciu inżynierskim. Bo któż z nas nie marzył kiedyś o zbudowaniu własnego robota, samobieżnego pojazdu, autonomicznie poruszającego się cyberzwierzątka, zegara cyfrowego czy m...
Wiele firm, które później stały się najpoważniejszymi graczami Doliny Krzemowej, rodziło się w garażach. Historia Oculusa łamie ten schemat - jej założyciel, Palmer Luckey, pragmatyczny ekscentryk, inżynier samouk i wizjoner, stworzył swój start-up w zdezelowanej, sześciometrowej przyczepie kempingowej. Młody człowiek chciał sprawić, aby wirtualna rzeczywistość wreszcie zaistniała. Miała pozwolić każdemu, kto chciał, dotknąć Świętego Graala współcz...
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...
Zacznij zarządzać produktem jak prawdziwy profesjonalista! Jak wejść w rolę kierownika produktu i na czym ona polega? Co należy wiedzieć o procesie budowania produktu? Jak poradzić sobie z wprowadzaniem go na rynek? Po czym poznać, czy produkt odniósł sukces? Rola lidera produktu jest wyjątkowa. Trzeba się wykazać szeroką gamą talentów i umiejętności. Obowiązkiem lidera jest kreowanie wizji i strategii produktu, tworzenie zespołu produktowego oraz kierow...
Wszystko, co musisz wiedzieć o jakości oprogramowania, w jednym miejscu! Poznaj rodzaje błędów Zapewnij wysoką jakość kodu Dowiedz się, jak należycie testować Twórz niezawodne oprogramowanie Czym jest jakość oprogramowania? Czy to wyłącznie miara technicznej doskonałości kodu? A może jakość to coś znacznie więcej? Czy niezawodne działanie i brak błędów świadczą o wysokiej jakości programu? Co charakteryzuje kod, który można uznać za dobry? ...