Programiści dysponują coraz lepszym, szybszym i wszechstronniejszym sprzętem. Pojawiają się nowe języki programowania i nowe paradygmaty tworzenia architektury oprogramowania. Są jednak rzeczy, które w świecie programowania pozostają stałe i niezmienne. Wciąż proces stawania się programistą wymaga od adeptów tego rzemiosła sporego wysiłku. Akt kodowania to za mało. Trzeba zmienić sposób myślenia, nawyki, zachowania i oczekiwania. Konieczne jest świadome dążenie do stosowania ...
Django jest potężnym frameworkiem służącym do tworzenia aplikacji internetowych w Pythonie. Pozwala na pełne wykorzystywanie zalet tego języka, takich jak przejrzystość, elastyczność, wszechstronność i łatwość uczenia się. Wykorzystywanie Django do budowania aplikacji w Pythonie jest atrakcyjną możliwością zarówno dla początkujących, jak i zaawansowanych programistów. Aby jednak zapewnić tworzonym projektom odpowiednią, profesjonalną jakość, trzeba się nauczyć rozwiązywać pro...
Elektronik w swojej pracy potrzebuje szczegółowych, rzetelnych i łatwo dostępnych informacji. Niestety, producenci, przygotowując karty produktów, nie zawsze stają na wysokości zadania. Owszem, internet to istny ocean informacji, jednak aby z nich skorzystać, trzeba - wzorem Kopciuszka rozdzielającego ziarna - odsiać prawdę od błędów, niepotwierdzonych teorii czy zwykłych bzdur. Okazuje się, że encyklopedyczne źródło wiedzy o poszczególnych komponentach, ich działaniu, zasada...
Uczenie maszynowe jest jedną z najbardziej fascynujących technologii naszych czasów - rozwojem jego najróżniejszych zastosowań zajmują się tacy giganci jak Google, Facebook, Apple, Amazon czy IBM. Uczenie maszynowe otwiera zupełnie nowe możliwości i powoli staje się nieodzowne: wystarczy wymienić asystenty głosowe w smartfonach, chatboty ułatwiające klientom wybór produktu, a także sieci ułatwiające podejmowanie decyzji o inwestycjach giełdowych, filtrujące niechciane wiadomo...
Scratch jest znany jako projekt edukacyjny, służący młodym ludziom do nauki programowania. W rzeczywistości stał się czymś więcej: jest to cyfrowa piaskownica, w której każdy może wyrazić swoją kreatywność. W trakcie tworzenia projektów w Scratchu można nie tylko nauczyć się sposobu myślenia właściwego najlepszym programistom, ale także ćwiczyć systematyczność, innowacyjność, umiejętność znajdywania rozwiązań i pracy zespołowej. Na stronie Scratcha czeka cała gama ciekawych p...
Komputery są wszędzie, a ich użyteczność stale rośnie. Łącząca je sieć ogromnie zwiększa ich możliwości. Dziś niemal każdy ma dostęp do komputera. Nadeszła era niezwykłego równouprawnienia i kreatywnej wolności. Jednak od jakiegoś czasu widoczny jest odwrotny trend: kilka wielkich korporacji coraz więcej z niej przejmuje i chce dyktować, co wolno, a czego nie wolno wykonać na komputerze. Oprogramowanie open source, zwłaszcza system Linuks, można traktować jako obronę szczegól...
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ądra systemu Linux, z...
Adobe InDesign jest niesamowitym narzędziem, które umożliwia przygotowanie wysokiej klasy dokumentów i drukowanie ich na różnych urządzeniach. Służy także do składania publikacji elektronicznych w wielu formatach - między innymi PDF, HTML czy EPUB. Oprogramowanie to zapewnia precyzję, pełną kontrolę nad przebiegiem projektowania oraz doskonałą współpracę z innymi programami Adobe. InDesign jest wyjątkowo złożonym narzędziem, ale kto pozna jego imponujące możliwości, bez trudu...
Co wiesz i co potrafisz ― to dwie różne sprawy. Od wiedzy do umiejętności prowadzi droga usłana... praktyką. A praktykę najlepiej i najbezpieczniej zdobywa się nie w zawodowym boju, gdy na ręce patrzą szef, koledzy z teamu i klient na dodatek, tylko w zaciszu własnego pokoju, przy ulubionym biurku, na ulubionym krześle, w czasie wolnym. Ćwicząc i bawiąc się po prostu! I właśnie w tym celu powstała ta książka. Autor zawarł w niej 102 ćwiczenia, dzięki którym przejdziesz od teo...
Pasja testowania to podręcznik przeznaczony dla osób, które stawiają pierwsze kroki w świecie IT i rozważają, czy praca testera, ważna i nieźle płatna, jest dla nich. Tester oprogramowania - to brzmi dobrze! Tylko na czym polegają jego zadania? Jakich umiejętności się od niego wymaga? Znajomość których narzędzi będzie oczekiwana? Skąd czerpać o nich wiedzę? I przede wszystkim: jak się przekonać, czy będzie się dobrym testerem?Na te i inne pytanie odpowiada Pasja testowania. D...
Ostatnia dekada zmieniła oblicze IT. Kluczowego znaczenia nabrały big data, a chmura i automatyzacja rozpowszechniły się wszędzie tam, gdzie mowa o efektywności. Inżynierowie muszą wykorzystywać zalety systemów linuksowych w codziennej praktyce, aby zapewnić należyty poziom automatyzacji swoich zadań. Do tych celów świetnie nadaje się Python. Język ten zdobywa coraz większe uznanie z uwagi na jego wszechstronność, jak również wydajność, przenaszalność i bezpieczeństwo kodu. W...
MongoDB jest wieloplatformowym, nierelacyjnym systemem do obsługi baz danych, napisanym w języku C++. Nie przypomina ściśle ustrukturyzowanych relacyjnych baz danych, zamiast tego korzysta z dokumentów w formacie BSON. Ułatwia to bardziej naturalne przetwarzanie informacji w aplikacjach, oczywiście przy zachowaniu możliwości tworzenia hierarchii oraz indeksowania. W ten sposób cały system zyskuje na wydajności, co jest szczególnie istotne przy przetwarzaniu bardzo dużych zbio...
Przybornik narzędziowy webmastera zmienia się bardzo szybko. Technologie, które parę lat temu były ciekawym eksperymentem, dziś są powszechnie stosowane. Responsywność stron internetowych stała się oczywistością. Modele Flexbox i Grid zrewolucjonizowały tworzenie układów stron internetowych. Zmieniły się używane formaty grafik, wzrosła też znacząco liczba narzędzi, które należałoby poznać. Naturalnie, wciąż można wskazać aspekty projektowania, które pozostały niezmienne - prz...
Dawno temu młodziutki JavaScript służył do ozdabiania stron WWW. Dziś, choć wciąż jest niewielkim językiem skryptowym, jego możliwości są imponujące. Można go użyć do pisania dużych aplikacji dla różnych platform, a nawet oprogramowania obsługującego urządzenia w IoT. Jest też świetnym narzędziem do tworzenia API dla interfejsów użytkownika aplikacji internetowej, aplikacji natywnej dla urządzeń mobilnych i aplikacji dla komputerów biurkowych. Pracę ułatwiają nowe technologie...
Wydawałoby się, że ze względu na szeroki dostęp do materiałów poświęconych bezpieczeństwu systemów informatycznych, temat ten powinien być świetnie znany każdemu inżynierowi. Mimo to media regularnie donoszą o spektakularnych naruszeniach zabezpieczeń. Następstwem udanych ataków mogą być nie tylko straty finansowe i uszczerbek na wizerunku, ale również zagrożenie bezpieczeństwa narodowego. Zapewnienie wysokiego stopnia bezpieczeństwa systemu informatycznego wymaga ciągłego uc...
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, nie dostrzega...
Zajęcia rewalidacyjne. Zeszyt ćwiczeń dla szkoły podstawowej 7 - 8 to pomoc dla nauczyciela i ucznia. Zadaniem zajęć rewalidacyjnych jest wyrównywanie różnic rozwojowych w zakresie np. spostrzegania, logicznego myślenia, pamięci, grafomotoryki. Zadania zebrane w tym zeszycie mają usprawniać nie tylko motorykę ręki, lecz także koordynację wzrokowo-ruchową, logiczne myślenie, spostrzegawczość oraz inne funkcje, jakie uczeń powinien doskonalić w procesie edukacji....
Dlaczego właśnie Python?Pierwsza odpowiedź, jaka się nasuwa, jest dość oczywista: ponieważ Python to jeden z najprostszych do nauki języków programowania. Najkrótszy program zajmuje tylko JEDNĄ linijkę. Z małą pomocą nauczyciela i naszego praktycznego zeszytu ćwiczeń każdy młody adept sztuki programowania zdoła szybko opanować podstawy tego języka i zacząć w nim pisać swoje pierwsze programy. Druga odpowiedź wydaje się z pozoru zaprzeczać pierwszej. Bo choć Python jest prosty...
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żniejszych idei w świecie op...
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ą być wykorzystywane w wielu ...
Uczenie głębokie (ang. deep learning) zyskuje ostatnio ogromną popularność. Jest to ściśle związane z coraz częstszym zastosowaniem sieci neuronowych w przeróżnych branżach i dziedzinach. W konsekwencji inżynierowie oprogramowania, specjaliści do spraw przetwarzania danych czy osoby w praktyce zajmujące się uczeniem maszynowym muszą zdobyć solidną wiedzę o tych zagadnieniach. Przede wszystkim trzeba dogłębnie zrozumieć podstawy uczenia głębokiego. Dopiero po uzyskaniu biegłoś...
Rosnące możliwości różnych form sztucznej inteligencji niepokoją ludzi od kilkudziesięciu lat. Stopniowo uzależniamy się od ciągłej asysty nowoczesnych technologii, jednak coraz doskonalsze metody uczenia maszynowego, dostępna i potężna moc obliczeniowa korzystająca z niewyobrażalnie wielkich zasobów danych każą zadawać sobie pytania: do czego doprowadzi ten szalony rozwój techniki? Jak będzie wyglądało społeczeństwo przyszłości? Czy ludzie wyginą? Czy grozi nam zniewolenie z...
JavaScript to bardzo popularny język programowania, który z rozwiązania stosowanego niegdyś głównie do wykonywania prostych akcji na stronach internetowych ewoluował do postaci pełnoprawnego narzędzia, które z powodzeniem można wykorzystywać w rozmaitych sytuacjach i na wielu różnych platformach do tworzenia całkiem zaawansowanych aplikacji. Uznanie użytkowników zapewniła JavaScriptowi jego prostota, doskonała dokumentacja oraz duże i stale powiększające się możliwości.Jeśli ...
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 nieprzewidziane problemy. Szczęśliw...