Python to wyjątkowo praktyczny język programowania, idealnie nadający się do szybkiego rozwiązywania niecodziennych problemów, z którymi często borykają się koderzy. Nie wymusza on stosowania jednego stylu programowania, co pozwala na dużo większą elastyczność w trakcie pisania kodu. Umożliwia programowanie obiektowe, strukturalne i funkcyjne, a ponadto udostępnia zaawansowane mechanizmy zarządzania pamięcią, zapewnia dynamiczne sprawdzanie typów oraz czytelną składnię. Te ws...
W złożonej rzeczywistości myślenie systemowe jest kluczowym narzędziem pozwalającym odnieść się do licznych wyzwań: gospodarczych, ekologicznych, politycznych czy społecznych. Tylko w ten sposób w codziennych wiadomościach można dostrzec przejawy trendów, a w trendach - przejawy struktury. Zrozumienie tych procesów pozwala nie tylko na łatwiejszą egzystencję w świecie złożonych systemów, ale także na podejmowanie racjonalnych decyzji biznesowych czy politycznych. Bez myślenia...
Tworzenie skomplikowanych systemów informatycznych wymaga nowego podejścia. Dotychczas stosowane metody przestają się sprawdzać i generują mnóstwo problemów. Odpowiedzią na nie jest DomainDriven Design, w skrócie DDD. W tym podejściu szczególny nacisk kładzie się na tworzenie obiektów dokładnie odzwierciedlających zachowanie ich odpowiedników istniejących w rzeczywistości. Dzięki temu projektowanie systemu można powierzyć ekspertom z danej branży, którzy niekoniecznie muszą b...
Rozwój technologii i dostęp do danych finansowych stały się ogromnym ułatwieniem w korzystaniu z globalnych rynków finansowych. Jeśli zechcesz, możesz szybko zacząć przygodę na przykład z handlem algorytmicznym. Wystarczy, że masz niewielkie pojęcie o matematyce, programowaniu i ekonomii. Niestety, nieliczne programy nauczania o finansach integrują ze sobą te trzy dziedziny. Tymczasem koncepcje matematyczne wspaniale ułatwiają zrozumienie pojęć z zakresu inżynierii finansowej...
Nie wystarczy znajomość jednego języka programowania, aby zostać programistą. W rzeczywistości trzeba opanować dość szeroki zakres pojęć i paradygmatów, a także zrozumieć zagadnienia związane z algorytmami. Trzeba być na bieżąco z nowymi technologiami i narzędziami. Należy również poznać i zacząć stosować dobre praktyki programistyczne i przyswoić sobie zasady pracy w zespole. Przede wszystkim jednak priorytetem jest sama praktyka, ponieważ wielu programistów wciąż ma problem...
Ludzie uważają, że elektronika jest bardzo trudną dziedziną i że wymaga zarówno znajomości skomplikowanych zagadnień teoretycznych, jak i umiejętności manualnych. Trzeba biegle poruszać się w świecie rezystorów, tranzystorów, przełączników... Tymczasem w rzeczywistości elektronika jest pasjonującą zabawą, sprawiającą radość i satysfakcję licznym entuzjastom na całym świecie. Trzeba tylko wiedzieć, jak zacząć przygodę z elektroniką i co należy przygotować, aby już wkrótce zroz...
Należący do języków ogólnego przeznaczenia C++ od lat pozostaje niezwykle popularny wśród programistów. I wciąż zdobywa nowych entuzjastów. Jeśli chcesz się przekonać, jak się pracuje z tym wszechstronnym i potężnym językiem, przygodę z nim koniecznie rozpocznij od tego podręcznika! Przeprowadzi Cię on krok po kroku przez najważniejsze zagadnienia i definicje związane z C++. Z pewnością docenisz to, że każde pojęcie, które należy opanować, zostało zilustrowane gotowym, działa...
Lutowanie to najtańsza, najpopularniejsza i najskuteczniejsza metoda łączenia elementów obwodów elektrycznych i elektronicznych. Nawet najbardziej zaawansowane układy nie mogłyby działać bez zastosowania tej techniki, która zapewnia nie tylko właściwe połączenie elektryczne, lecz również odpowiednio wytrzymałe spojenie mechaniczne, umożliwiając tym samym stabilne mocowanie elementów na płytce drukowanej. Do łączenia metalowych części lutowania używano już w starożytności, jed...
Mikrousługi są dla wielu organizacji wspaniałą alternatywą. Systemy rozproszone złożone ze współpracujących ze sobą mikrousług pozwalają na efektywne i elastyczne dostarczanie oprogramowania, które ściśle odpowiada na wymagania użytkowników. Dodatkową zaletą jest możliwość relatywnie szybkiego wprowadzania modyfikacji w systemie, co ułatwia płynne zaspokajanie zmieniających się potrzeb. Pewnym wyzwaniem dla programistów jednak może być złożoność powodowana przez właściwości a...
Język SQL został stworzony jako narzędzie do przetwarzania danych. Mimo że zwykle jest używany do pracy z bazami danych, jego możliwości są o wiele większe. Poprawny kod SQL ułatwia przetwarzanie potężnych zbiorów danych z dużą szybkością. Szczególnie obiecującą perspektywą jest zastosowanie języka SQL na wielkich zbiorach danych przechowywanych w chmurze. Dzięki nieco bardziej złożonym konstrukcjom SQL analityk danych może z dużą efektywnością wydobywać z nich wiedzę.Ta prak...
Rynek stron internetowych i aplikacji jest nasycony do granic możliwości. Użytkownicy mogą wybierać spośród setek produktów spełniających ich potrzeby. Jak sprawić, żeby wybrali właśnie Twoją witrynę lub aplikację? Jak przebić się na trudnym rynku i odnieść sukces? Na te pytania znajdziesz wiele odpowiedzi, ale najprostsza składa się z dwóch liter - UX! User eXperience, bo tak brzmi pełna nazwa, to pojęcie, które określa wrażenia użytkownika po kontakcie z produktem. Im lepsz...
JavaScript i jego następca, TypeScript, od lat są ulubionymi językami programowania zawodowców. Mogą oni korzystać z całej gamy wspaniałych narzędzi i frameworków, takich jak React, Node.js czy też Redux, Express i GraphQL. Dają one możliwość pisania całych aplikacji, zarówno części klienckich, jak i serwerowych, w jednym języku. Programiści coraz częściej doceniają korzyści, jakie płyną z tworzenia rozwiązań obejmujących pełny stos technologiczny. Jest to o wiele efektywniej...
Język Python jest znany jako wszechstronny, elastyczny i łatwy do nauczenia. Te zalety doceniają naukowcy, programiści i oczywiście hakerzy. Testowanie penetracyjne bowiem wymaga umiejętności szybkiego tworzenia skutecznych narzędzi, a do tego Python nadaje się znakomicie. Jednak wiedza o mrocznej stronie Pythona przydaje się nie tylko pentesterom i napastnikom. Świadomość o możliwościach kodu Pythona jest pomocna również podczas pracy administratorów i programistów.To drugie...
Wybór systemu operacyjnego, pod którym będzie pracował Twój komputer, w istocie sprowadza się do wyboru między standardowym produktem giganta z Redmond a niezawodnym, darmowym, fantastycznie elastycznym Linuksem. Ten ostatni system może stać się dla Ciebie niezastąpionym środowiskiem pracy, ale najpierw warto go trochę oswoić, a przede wszystkim nauczyć się z nim dogadywać — nie tylko z poziomu interfejsu graficznego, lecz także z poziomu linii poleceń. Ta wiedza pozwoli Ci b...
Rozczarowany klient, który doświadczył negatywnych wrażeń podczas korzystania z produktu, następnym razem wybierze inną ofertę. To zrozumiała reakcja. Z punktu widzenia dostawcy produktu istotniejsze są przyczyny tych negatywnych wrażeń. Okazuje się, że problem ten często wymyka się świadomości osób odpowiedzialnych za produkt. Tymczasem uchwycenie wrażeń klientów za pomocą ich zarejestrowanych zachowań może się stać podstawą do zaplanowania i przeprowadzenia konkretnych zmia...
Urządzenia elektronicznie otaczają nas zewsząd. Nie sposób obecnie wykonać nawet najprostszej czynności, która nie wymagałaby użycia jakiegoś rodzaju sprzętu elektronicznego. Smartfony, mikrofalówki, pralki automatyczne czy bankomaty to tylko niektóre przykłady urządzeń, bez których trudno wyobrazić sobie codzienne życie. Tymczasem większość z nas nie ma nawet cienia pojęcia o tym, jak działają układy elektroniczne, a gdy cokolwiek zaczyna szwankować, potrzebujemy pomocy fach...
Rozwój technologii wymusza zmianę podejścia do zabezpieczania systemów. Jeszcze niedawno napastnicy prześlizgiwali się przez zapory sieciowe i uzyskiwali dostęp do wewnętrznych zasobów firmy. Skanowali sieć, tunelowali ruch sieciowy, wstrzykiwali złośliwy kod. Obecnie, jako że coraz więcej podmiotów pracuje w odpornym środowisku opartym na chmurze, rozwijanym na bazie modelu DevOps, także napastnicy są zmuszeni zmienić styl pracy. I napastnik, i pentester muszą myśleć jak pro...
Nie warto wyważać otwartych drzwi ani ponownie wynajdywać koła. Sprytniej jest skorzystać ze sprawdzonych rozwiązań, które ktoś już opracował i wdrożył. Dlatego właśnie mądrzy programiści lubią wzorce projektowe: to jest ich sekretny sposób, aby nie tracić sił na nudne drobiazgi, tylko zająć się trudniejszymi, ważniejszymi i ciekawszymi zadaniami. Nic dziwnego, że powstało naprawdę bardzo dużo wzorców projektowych. Przegląd ich wszystkich byłby niemożliwy. Które z nich więc s...
LEGO BOOST to klocki konstrukcyjne, które łączą możliwości standardowych klocków LEGO i nowoczesnej mechaniki. Pozwalają na budowę przeróżnych robotów, wyposażonych w rozmaite czujniki, siłowniki i sterowniki. Dzięki specjalnie zaprojektowanej aplikacji na tablety możliwe jest nie tylko uzyskanie szczegółowych instrukcji, ale również zaprogramowanie zbudowanego modelu. Oczywiście poszczególne roboty można zmieniać, rozwijać, rozbudowywać - co tylko podpowiada wyobraźnia. W te...
Piękna opowieść o miłości, która uskrzydla Niektórzy rodzą się pod nieszczęśliwą gwiazdą i problemy same ich znajdują. Mimo to ciągle walczą, aby wzbić się w górę, wbrew wszystkiemu. Pozostali sami pakują się w kłopoty, z których z czasem coraz trudniej się wydostać, i staczają się powoli po równi pochyłej. Zamach terrorystyczny w Nowym Jorku w 2001 roku odebrał życie wielu ludziom. W tym rodzicom Diany Beckett. Razem ze starszym bratem trafiła do rodziny zastępczej w Spoka...
Pierwsze linie kodu powstawały w połowie ubiegłego wieku. Komputery, na które tworzono te programy, w bardzo niewielkim stopniu przypominały współczesne maszyny. Niezależnie od upływu lat, postępu technologii i powstawania wymyślnych narzędzi, języków programowania czy frameworków pewne zasady tworzenia kodu pozostają niezmienne. Są takie same jak w czasie, gdy Alan Turing pisał pierwszy kod maszynowy w 1946 roku. Respektowanie tych zasad to warunek, że uzyska się oprogramowa...
Scratch jest projektem MIT Media Lab. Początkowo miał służyć młodym ludziom do nauki programowania, ale szybko zaczął pełnić również inne funkcje. Jest jak cyfrowa piaskownica, w której każdy może nie tylko nauczyć się podstaw kodowania, ale także ćwiczyć kreatywność, umiejętność pracy w zespole i zdolność do wynajdywania nieszablonowych rozwiązań, na przykład podczas projektowania gier. Scratch jest bowiem świetnym narzędziem do tworzenia najróżniejszych gier, a poświęcona m...
Orangutany uciekają z ogrodów zoologicznych. Gęsi walczą o przestrzeń wokół holenderskiego lotniska Schiphol. Słonice wykorzystywane w cyrkach stawiają opór treserom. Konie zaprzęgowe odmawiają pracy. Zwierzęta są nie tylko czującymi istotami, do których stosują się zasady moralne. To także aktorzy polityczni, którzy przejawiają sprawczość, protestują, wyrażają swoje opinie, oczekiwania i pragnienia, wywierając tym samym wpływ na rzeczywistość społeczną. Tymczasem, pozbawion...
Bez Excela trudno sobie wyobrazić wykonywanie różnych złożonych zadań - to ulubione narzędzie naukowców, finansistów, analityków danych, a także profesjonalistów z innych branż. Każda z tych dziedzin ma swoje stale rosnące wymagania wobec Excela. Firma Microsoft wciąż rozwija ten kultowy arkusz kalkulacyjny, jednak język VBA nie nadąża za potrzebami wielu użytkowników. Osoby te często w codziennej pracy korzystają z Pythona do automatyzacji zadań, stąd integracja Excela i Pyt...