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 ...
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 ...
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...
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? ...
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,...
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...
"Opus magnum C++ 11. Programowanie w języku C++. Wydanie II poprawione" – zestaw obejmuje 3 tomy. Jedno C i same plusy! Dawno, dawno temu, w głębokich latach osiemdziesiątych ubiegłego wieku pewien duński informatyk zainspirowany językiem C opracował jeden z najważniejszych, najbardziej elastycznych i do dziś niezastąpionych języków programowania - C++. Dziś ten język jest wykorzystywany do tworzenia gier komputerowych, obliczeń naukowych, techniczny...
Java jest językiem dojrzałym i jednocześnie bardzo nowoczesnym. Skupiona wokół niego społeczność cały czas dynamicznie go rozwija, sprawiając, że wszechstronność i innowacyjność Javy budzi podziw. Jest to też język idealny do nauki programowania - początkujący programiści, którzy wybierają Javę jako swój pierwszy język, w naturalny sposób nabierają dobrych nawyków, dzięki czemu później stosowanie się do najlepszych praktyk programisty...
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,...
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...
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...
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...
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ą...
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 ...
C# liczy sobie około dwudziestu lat. Jest niestrudzenie rozwijany i doskonalony przez Microsoft, a dzięki swojej wszechstronności znajduje zastosowanie w wielu dziedzinach: pisaniu gier komputerowych, tworzeniu skalowalnych i niezawodnych aplikacji internetowych oraz aplikacji mobilnych, a nawet niskopoziomowym programowaniu komponentów większych systemów. Twórcy C# postawili na obiektowość, ścisłą kontrolę typów, a przede wszystkim na prostotę w s...
JavaScript jest dziś jednym z ulubionych języków programowania projektantów profesjonalnych aplikacji internetowych. Deweloperzy mogą korzystać z kilku znakomitych technologii do tworzenia front-endu i back-endu aplikacji. Największy potencjał mają Node.js, MongoDB, Backbone.js, Parse.com, Heroku i MS Azure. Są wciąż unowocześniane, a każda kolejna wersja dostarcza innowacyjnych rozwiązań. Mimo to wyszukiwanie informacji potrzebnych programiście w danej chwili b...
W lutym 2001 roku grupa kilkunastu pasjonatów programowania zebrała się w Snowbird w stanie Utah, aby podyskutować na temat efektywności tworzenia oprogramowania i określić nowe zasady pracy. Nie był to cel łatwy do osiągnięcia. Siedemnaście osób o całkowicie różnych doświadczeniach i przekonaniach raczej rzadko wypracowuje wspólne stanowisko. A jednak w tym przypadku tak się stało i powstał Manifest Agile. Właśnie wtedy narodziła się jedna z najwa...
Analityka danych jest uważana za wyjątkowo obiecującą dziedzinę wiedzy. Rozwija się błyskawicznie i znajduje coraz to nowsze zastosowania. Profesjonaliści biegli w eksploracji danych i wydobywaniu z nich pożytecznych informacji mogą liczyć na interesującą pracę i bardzo atrakcyjne warunki zatrudnienia. Jednak aby zostać analitykiem danych, trzeba znać matematykę i statystykę, a także nauczyć się programowania. Umiejętności w zakresie uczenia maszynowego i uczenia głębokiego r...
Docker to technologia, dzięki której można uruchamiać kod w wielu środowiskach i na różnych platformach. Sposób działania tego oprogramowania bardzo upraszcza opracowywanie, testowanie, wdrażanie i skalowanie aplikacji. Docker wciąż jest sukcesywnie rozwijany. Zyskał znakomitą stabilność, a zestaw udostępnianych programistom narzędzi stale rośnie. Twórcy dużych systemów, zwłaszcza rozproszonych, coraz bardziej doceniają jego potencjał. Szcze...
Popularność Pythona stale rośnie: jest wszechstronny i zoptymalizowany pod kątem efektywności pracy, czytelności kodu i jakości oprogramowania, do tego darmowy, łatwo przenośny i można się go szybko nauczyć. Nadaje się do tworzenia gier i aplikacji sieciowych, do wdrażania indywidualnych rozwiązań biznesowych, sprawdza się nawet jako bezcenne narzędzie badaczy różnych dziedzin nauki. Jeśli tylko programista trochę się postara, może w Pythonie łatwo pisać przejrzysty, z...
Komputery kwantowe nie są już tylko urządzeniami teoretycznymi. Nie są też futurystycznym monstrum, obcą maszyną, która zamieni całe istniejące oprogramowanie w jakąś jego niezrozumiałą alternatywę. Komputery kwantowe (QPU) staną się raczej radykalnym rozszerzeniem możliwości współczesnej informatyki, które pozwoli nam rozwiązać problemy dotychczas nierozwiązywalne. Istnieją ważne zadania, z którymi QPU potrafią sobie świetnie poradzić, a któ...
Poznaj platformę .NET od praktycznej strony! Projektuj rozwiązania, które zdobędą serca klientów Implementuj je zgodnie z najlepszymi wzorcami Testuj aplikacje przy użyciu właściwych narzędzi .NET stanowi jedną z najpopularniejszych platform do tworzenia i uruchamiania rozmaitych aplikacji, które można pisać w jednym z wielu wspieranych przez nią języków. Framework ten przez lata dojrzał i wzbogacił o wiele przydatnych możliwości, któ...