C++ jest dojrzałym językiem programowania, od wielu lat wykorzystywanym przez profesjonalnych programistów do wielu różnych zastosowań, włączając w to pisanie gier, programowanie GUI czy tworzenie złożonych aplikacji użytkowych. Zaprojektowano go pod kątem maksymalizowania wydajności, jest więc najczęściej wybieranym językiem w sytuacjach, w których najważniejsza jest efektywność działania kodu. Aby jednak wykorzystać te zalety C++, trzeba nauczyć się nim...
Poznaj Ruby on Rails od praktycznej strony! Odkryj język Ruby i platformę Rails Naucz się testować i uruchamiać swój kod Poznaj zalety mikrousług i konteneryzacji Ruby to nowoczesny, wieloparadygmatowy, interpretowany język programowania. Wraz z platformą Rails stanowi jedno z najpopularniejszych rozwiązań służących do szybkiego tworzenia aplikacji sieciowych; wspiera wiele znanych serwisów dostępnych w internecie. Ruby on Rails od lat utrzymuje się w ści...
Tworzenie oprogramowania to wymagający obszar branży technologicznej - trzeba szybko reagować na zmieniające się uwarunkowania i w każdej chwili być gotowym na kolejną innowację, a wszystko po to, by budować przewagę konkurencyjną. Rozwijanie skomplikowanych systemów informatycznych powoli przypomina ciągły wyścig z czasem. Często ceną za skrócenie czasu pisania kodu i wdrożenia oprogramowania bywa zmniejszenie stabilności lub większa awaryjność systemów ...
Gdy w 2017 roku na konferencji Google ogłoszono, że Kotlin jest jednym z oficjalnie wspieranych języków programowania aplikacji dla Androida, język ten błyskawicznie stał się popularny. Najpoważniejsze firmy technologiczne doceniają jego zalety, takie jak zwarta składnia i integracja z kodem Javy. Co ważne, twórcy Kotlina czerpali z doświadczeń projektantów Javy i zapewnili, że te dwa języki są ze sobą ściśle powiązane. W ten sposób świeżość rozwią...
Programowalna i zautomatyzowana sieć upraszcza pracę jej administratora. Rozwój technologii radykalnie komplikuje takie zadania jak zarządzanie i operowanie sprzętem sieciowym, topologiami sieci i połączeniami sieciowymi. Trzeba tu mieć na uwadze systemy operacyjne, nowe metodologie oraz narzędzia. W takich warunkach zarządzanie większą czy nieco bardziej złożoną siecią wyłącznie za pomocą działań manualnych jest obarczone sporym ryzykiem. Profesjonalny inżynier siecio...
Aplikacje internetowe, które dobrze działają i ładnie wyglądają wyłącznie na ekranach komputerów osobistych, już jakiś czas temu zostały uznane za przestarzałe. Przejrzysty blog, piękna strona z portfolio czy ciekawy profil z galerią zdjęć w portalu społecznościowym muszą doskonale wyglądać na urządzeniach z ekranami o rozmaitych rozmiarach i proporcjach oraz różnej rozdzielczości. Wzrost liczby urządzeń wyposażanych w przeglądarki jest jednym z sygnał&oa...
Aby aplikacje mogły spełniać oczekiwania dotyczące wydajności i szybkości działania, programista musi orientować się w typowych problemach z wykonywaniem kodu i wiedzieć, które techniki sprawdzą się w danej sytuacji. W tym celu powinien biegle posługiwać się algorytmami i strukturami danych. Wiedza ta umożliwia rozpoznawanie typowych zagrożeń i wybór najlepszych rozwiązań. Warto pamiętać, że w przypadku większości codziennych problemów z kodem istnieją ju...
Systemy oparte na mikrousługach różnią się od aplikacji monolitycznych. Są bardziej skalowalne, efektywniejsze, a także łatwiejsze w implementacji, rozwijaniu i utrzymaniu. Architektura mikrousług pozwala na doskonalenie danego elementu bez zastanawiania się nad działaniem całości aplikacji. Tego rodzaju systemy opierają się na nowoczesnych wzorcach, takich jak asynchroniczna komunikacja za pomocą komunikatów, usługi API i hermetyzacja. Po odpowiedniej optymaliz...
Lightroom jest dla wielu fotografów podstawowym narzędziem do edycji zdjęć. Istnieją jednak techniki, które w tym programie nie są dostępne, a bardzo rozszerzyłyby możliwości jego użytkowników. Wtedy przydałby się Photoshop... Jest tylko jeden problem: Photoshop to rozbudowany program z ogromem narzędzi, filtrów i opcji. W porównaniu z Lightroomem wydaje się bardzo skomplikowanym systemem, którego opanowanie musi zabrać mnóstwo...
Systemy rozproszone miały być odpowiedzią na zwiększone wymagania wobec systemów informatycznych. Chodziło o takie cechy jak łatwe współużytkowanie zasobów, odporność na awarie, prostota rozbudowy czy skalowalność. Z czasem okazało się, że możliwości systemów rozproszonych mogą być jeszcze bardziej atrakcyjne. Równocześnie jednak architekci, programiści i w końcu również administratorzy systemów doświadczali na własnej sk&oacut...
Python jest językiem, którego można się nauczyć stosunkowo łatwo - a potem dość szybko przejść do praktyki. To duża zaleta: nic tak nie motywuje do dalszej pracy, jak pierwsze sukcesy na wczesnym etapie. Niemniej wielu nawet dość doświadczonych programistów Pythona nie wykorzystuje najlepszych cech tego języka. Ich aplikacje mogłyby być bardziej niezawodne, a kod - czystszy. Co gorsza, wiele ze znakomitych narzędzi i technologii powiązanych z Pythonem nie przebi...
Python jest wszechstronnym językiem programowania o imponującej elastyczności i wydajności. Można dzięki niemu rozwiązywać przeróżne problemy programistyczne z różnych dziedzin wiedzy. Nawet jeśli nie masz zamiaru stać się pełnoetatowym programistą, prędko się zorientujesz, jak świetnym i elastycznym narzędziem jest Python. Można za jego pomocą budować oprogramowanie, ale również wspierać pracę statystyków, ekonomistów, maklerów giełd...
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, ż...
Raspberry Pi Zero W potrafi komunikować się z komputerem, ma wbudowane moduły Wi-Fi i Bluetooth Low Energy (BLE), posiada także złącza służące do podłączania zewnętrznych elementów elektronicznych. Może posłużyć do budowy najprzeróżniejszych robotów, sterowników, czujników czy interfejsów do komunikacji z innymi urządzeniami. Przy tym wszystkim jest małe, tanie i energooszczędne. Dodatkowo praca z Raspberry Pi to znakomity i bardzo pr...
Spring jest frameworkiem ułatwiającym tworzenie nowoczesnych aplikacji w Javie. To narzędzie, które dynamicznie się rozwija i z każdym nowym wydaniem zapewnia programistom kolejne, ekscytujące możliwości. Piąta wersja Springa okazała się krokiem milowym. Obecnie projektanci mogą tworzyć mikrousługi, korzystać z funkcji programowania reaktywnego i doskonalić budowanie aplikacji zgodnie z modelem MVC. Dzięki pełnej integracji Springa ze Spring Boot nawet najbardziej złoż...
Adobe Photoshop Lightroom Classic został pokazany światu pierwszy raz ponad 10 lat temu. Od tego czasu cieszy się zasłużoną renomą wśród rosnących rzesz fotografów. Lightroom jest znany z potężnych możliwości wyrafinowanej edycji obrazów oraz bardzo zaawansowanych narzędzi do obrabiania zdjęć. Tak złożone oprogramowanie jest jednak dość trudne do opanowania dla początkujących użytkowników - zazwyczaj muszą oni poświęcić sporo czasu, aby w miarę pły...
Zrozumienie budowy i działania sieci komputerowych nie jest łatwe. Trzeba przyswoić wiele pojęć, zrozumieć bardzo zawiłe mechanizmy, a także przygotować się na gwałtowny rozwój technologii sieciowych. Mimo dostępności licznych podręczników i wypracowania różnych podejść do nauczania podstaw sieci komputerowych wciąż wielu inżynierów nie rozumie tych zagadnień. Te braki w wiedzy i w umiejętnościach należy traktować jako istotny problem: w przyszłośc...
Mimo że nowe wydania dystrybucji Linuksa są coraz łatwiejsze w obsłudze, a ważniejsze czynności administracyjne mogą być wykonywane za pomocą intuicyjnego interfejsu graficznego, wciąż nie można się obejść bez powłoki Bourne'a, znanej jako bash. Dobrze napisany skrypt powłoki pozwala na automatyzację nudnych obowiązków, umożliwia monitorowanie stanu systemu, optymalizację jego wydajności czy dostosowanie go do potrzeb. Warto też wypróbować ciekawą alternatyw...
Poznaj potencjał Excela w zakresie BI! Program Excel można stosować na setki różnych sposobów, chociaż większość użytkowników uważa go za prosty arkusz kalkulacyjny. Co więcej, wachlarz jego zaawansowanych funkcjonalności jest stale poszerzany - program stał się częścią pakietu Microsoft Business Intelligence. Dzięki możliwości integracji danych z różnych źródeł Excel świetnie sprawdza się jako narzędzie do tworzenia interaktywnych kokpit&o...
Weź w obroty CorelDRAW! CorelDRAW jest programem, bez którego czasami wręcz trudno się obejść. Doceniają go zwłaszcza graficy, osoby wykonujące rysunki techniczne, projektanci i wszyscy ci, którym leży na sercu dobra jakość wyraźnych obrazów wykonanych wektorowo. Jeśli musisz zaprojektować coś, co ma być łatwo skalowalne, a dodatkowo chcesz mieć możliwość edycji pojedynczych obiektów w Twoim projekcie, nie znajdziesz nic lepszego niż CorelDRAW. No...
Specjaliści w dziedzinie marketingu coraz częściej sięgają po wyrafinowane metody analizy. Obecnie firmy są zalewane ogromną ilością danych - skorzystanie z płynącej z nich wiedzy jest znakomitą szansą na poprawę kondycji przedsiębiorstwa. W tym celu trzeba dane zebrać, przetworzyć i poddać analizie. Potrzebne więc są narzędzia, najlepiej proste w użytkowaniu i powszechnie znane. Takim właśnie narzędziem jest arkusz kalkulacyjny MS Excel - potężna i wszechstronna aplikacja, d...
Opanuj Javę jak prawdziwy profesjonalista! Podstawy algorytmiki dla praktyków Modelowanie struktur danych w Javie Skuteczne techniki programowania na przykładach Java jest obecnie jednym z najpopularniejszych języków programowania, co zawdzięcza przede wszystkim swojej prostocie, nowoczesności, dużym możliwościom oraz niezależności od architektury platform sprzętowych i systemowych, na których mają pracować napisane w tym języku programy. Java znal...
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...
W ostatnich latach CSS bardzo się rozwinął. Mimo że istnieje od kilku dekad, wciąż jest ważnym elementem warsztatu profesjonalnych projektantów stron internetowych. Co prawda przyswojenie podstaw CSS nie jest specjalnie trudne, ale osiągnięcie prawdziwej biegłości w korzystaniu z tego języka wymaga stałego uczenia się i ciągłych ćwiczeń. Trzeba dobrze zrozumieć wszystkie części kodu CSS, a także sposób, w jaki są do siebie dopasowane. Wysiłek włożony w doskonałe...