Czy trzydzieści składa się z trzech trójek? Trzech piątek? A może z trzech szóstek? Każda twierdząca odpowiedź na ten rachunkowy problem będzie poprawna, o ile dobrze pokombinować. Liczbę trzydzieści bowiem można stworzyć i z trzech trójek, i z trzech piątek, i nawet z trzech szóstek. Wystarczy do pracy zaprząc tę część mózgu, która odpowiada za liczenie: dodawanie, odejmowanie, mnożenie i dzielenie. Wystarczy zmienić perspektywę na ...
Twórz muzykę jak profesjonalista! Studio One w wersji 5.0 jest nowatorskim i kompleksowym programem przeznaczonym do tworzenia i produkcji muzyki na komputerach z systemem Mac(R) OS X i Windows(R). Pozwala na łatwą i przyjemną pracę nad nagrywaniem, sekwencjami MIDI i masteringiem audio (w Studio One Professional). To kompleksowe środowisko, stworzone z myślą o intuicyjnym użytkowaniu, wydajności i szybkości pracy, posiada wszystko, czego potrzebujesz do działania ...
Projektant frameworka tworzy dla innych programistów. To odpowiedzialne zadanie: celem jest zapewnienie większości potrzebnych elementów, które po dostosowaniu i połączeniu mają stać się aplikacją. Dobrze zaprojektowany framework pozwala na wygodną i efektywną pracę. Jest prosty, łatwy do rozwijania i dobrze integruje się z innymi narzędziami programistycznymi, językami czy modelami aplikacji. Projektant musi więc dobrze się orientować w zasadach tworzeni...
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...
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...
W miarę rozwoju systemu rośnie jego złożoność. Skomplikowane systemy uważa się za trudniejsze w zarządzaniu i bardziej podatne na awarie. Nie można uniknąć złożoności systemu w czasach błyskawicznego rozwoju mikrousług i technologii rozproszonych, ale można nad nią zapanować. Odpowiednio zaplanowane testy i eksperymenty pozwalają wykryć podatności i zapobiec wystąpieniu problemów, zanim zaczną utrudniać realizację celów biznesowych firmy. Relatywnie nowym, lecz ...
Naucz się robić swojemu pupilowi zachwycające zdjęcia Kot to zwierzę szlachetne i pełne gracji. Miłe i drapieżne jednocześnie. Kto ma kota, ten wie, że w tym małym domowniku drzemie dziki przodek, gotów w każdej chwili się przyczaić, wyskoczyć zza rogu, zapolować... a każdy jego ruch będzie idealny, wart uwiecznienia na fotografii. Zresztą kot w dowolnej sytuacji ― śpiący, mruczący, myjący łapkę, bawiący się czy wpatrzony w krajobraz za oknem ― zasługuje n...
Unity jest zaawansowanym środowiskiem do tworzenia gier. Zapewnia możliwość projektowania grywalnych, świetnie wyglądających i pasjonujących gier. Dzięki temu, że Unity stworzono specjalnie w tym celu, projektant może się skupić na tym, co najważniejsze: na świetnej fabule i emocjonujących zwrotach akcji. Żmudne tworzenie kodu obsługującego podstawowe funkcje interfejsu, postaci czy sceny zostało ograniczone do minimum. Z takimi możliwościami rozpoczęcie pracy z Unity i napis...
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...
Sztuczna inteligencja ma umożliwiać wykorzystywanie danych i algorytmów do podejmowania lepszych decyzji, rozwiązywania trudnych problemów i automatyzowania złożonych zadań. Ma też zwiększać produktywność człowieka. Obecnie sztuczna inteligencja z rozmachem wkracza do kolejnych dziedzin. Budzi zachwyt, ale też kontrowersje i obawy. Nowe narzędzia, choćby były tworzone z najlepszymi intencjami, zawsze mogą zostać wykorzystane w niewłaściwy czy szkodliwy spos&oacu...
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,...
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...
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...
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ą...
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...
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...