Chmura obliczeniowa jest rozwiązaniem niezawodnym i zapewniającym wysoki poziom bezpieczeństwa systemu. Nowoczesne rozwiązania tego rodzaju charakteryzują się dużą elastycznością i skalowalnością, pozwalają na budowę i rozbudowę aplikacji, monitorowanie ich pracy oraz zarządzanie nimi, jak również bazami danych i innymi usługami w sposób globalny. Spośród chmur obliczeniowych jedne z najciekawszych i najbardziej innowacyjnych rozwiązań oferuje Google. Aby jednak optymalnie wy...
Projektanci Kotlina postawili na pragmatyzm. Oznacza to, że do dziś wszystkie decyzje związane z rozwojem języka są podejmowane z uwzględnieniem potrzeb biznesowych: produktywności, skalowalności, prostej konserwacji, niezawodności i wydajności. Od początku szczególną uwagę zwraca się również na bezpieczeństwo, czytelność, wielokrotne używanie kodu, łatwość użycia narzędzi i możliwości współdziałania z innymi językami. Bardzo ważna okazała się też wydajność zarówno działania ...
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 uzyskania maksymalnej j...
Systemy informatyczne oparte na chmurze stały się atrakcyjną alternatywą dla standardowej infrastruktury. Wymusiły jednak radykalne zmiany w praktykach tworzenia, wdrażania i utrzymywania aplikacji. Dziś uwaga profesjonalistów skupiona jest na Kubernetes, który w ciągu zaledwie kilku lat stał się faktycznym standardem wdrażania natywnej chmury. Aby tworzone aplikacje funkcjonowały wydajnie, bezawaryjnie i niezawodnie, warto wdrożyć i stosować wzorce i najlepsze praktyki. Koni...
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órych rozwiązanie byłoby niemożliwe...
Scott Kelby jest redaktorem naczelnym pisma Photoshop User, przewodniczącym stowarzyszenia NAPP, skupiającego profesjonalnych użytkowników Photoshopa, dyrektorem szkoleniowym seminarium Adobe Photoshop Seminar Tour i jednym z najlepszych instruktorów tego programu w Ameryce. Jest współgospodarzem cotygodniowego talk-show na żywo dla fotografów The Grid oraz wykładowcą, nauczającym fotografii cyfrowej na warsztatach i seminariach organizowanych na całym świecie Kelby jest...
JavaScript jest niezwykle uniwersalnym językiem programowania. Idealnie sprawdza się na przykład w projektowaniu wszelkiego rodzaju aplikacji internetowych - od działających pod przeglądarkami, przez te pisane na urządzenia mobilne, po aplikacje, które obsługują smart TV i inne inteligentne urządzenia domowe. W związku z tym wokół JavaScriptu powstał cały ekosystem narzędzi wspomagających i rozszerzających możliwości tego języka. Wystarczy wspomnieć platformę programistyczną ...
Sztuczna inteligencja i uczenie maszynowe rozwijają się z niezwykłą dynamiką i znajdują coraz więcej różnorodnych zastosowań w niemal wszystkich branżach. Ten spektakularny postęp jest silnie związany z osiągnięciami w świecie sprzętu i oprogramowania. Obecnie do uczenia maszynowego używa się wielu języków programowania, takich jak R, C, C++, Fortran i Go, jednak najpopularniejszym wyborem okazał się Python wraz z jego specjalistycznymi bibliotekami. Znajomość tych bibliotek ...
JavaScript ma długą i ciekawą historię. Obecnie to jeden z najpopularniejszych języków programowania. Jego zalety to nowoczesność, wszechstronność, elastyczność i wydajność. Jest przy tym idealny dla początkujących użytkowników: można się go łatwo nauczyć i równocześnie od razu przyzwyczaić się do stosowania dobrych praktyk i pisania czystego, ładnego kodu. Mimo to uzyskanie prawdziwej biegłości wymaga pracy i ćwiczeń. Jest to jednak wysiłek, który warto podjąć, gdyż JavaScri...
Ozobot to niewielki, ale bardzo sprytny robot, którego pokochały dzieci oraz docenili rodzice i nauczyciele informatyki. Ten edukacyjny automat, dwukrotny zdobywca polskiego tytułu Zabawki Roku oraz laureat robotycznych konkursów w USA, ma misję. Każdego chętnego, który ukończył piąty rok życia, gotów jest zabrać w podróż pełną radosnego rysowania, ciekawych problemów do rozwiązania i pracy zespołowej. Ozobot, bawiąc, uczy programowania. Dzieci bowiem komunikują się z nim za ...
Termin wirtualizacja od jakiegoś czasu jest bardzo modny. Oznacza abstrakcję zasobów obliczeniowych opartą na innych zasobach, jednak specjaliści IT słowo to kojarzą z abstrakcją sprzętu (serwerów), czyli oddzieleniem systemu operacyjnego od sprzętu, na którym jest uruchomiony. Dzięki temu na jednym fizycznym serwerze można jednocześnie uruchamiać wiele systemów operacyjnych. W takiej właśnie technologii działa rodzina produktów VMware vSphere. Tego rodzaju wirtualizacja przy...
Kubernetes jest czymś więcej niż platformą do orkiestracji kontenerów. W ciągu zaledwie kilku lat stał się najpopularniejszym i najbogatszym narzędziem do tworzenia, wdrażania i utrzymywania aplikacji w chmurze. Tak radykalna zmiana sposobu funkcjonowania systemów informatycznych wymaga przemodelowania podejścia i stylu pracy zespołów programistycznych. Jeśli jednak wypróbujesz Kubernetesa, przekonasz się, że bardzo upraszcza on tworzenie, wdrażanie i utrzymywanie systemów ro...
SolidWorks to jeden z najpopularniejszych na świecie programów do trójwymiarowego, parametrycznego projektowania CAD. Stosunkowo niewysoka cena, wygodny interfejs, duże możliwości i szereg dodatkowych narzędzi wspomagających prace inżynierskie sprawiły, że środowisko to szybko zyskało uznanie rzeszy użytkowników. Program ten można opanować we względnie krótkim czasie i bez większych problemów, lecz sama znajomość narzędzia z nikogo nie uczyniła jeszcze inżyniera. Aby projekty...
Express i Node stały się kluczowymi narzędziami do tworzenia dynamicznych, wielostronicowych i hybrydowych aplikacji internetowych. Dzięki nim można dowolnie kształtować architekturę swojej aplikacji. Projektowanie za pomocą Node jest bardzo atrakcyjnym rozwiązaniem dla programistów, którzy doceniają dostępność i elastyczność języka JavaScript. W rzeczy samej, JavaScript ewoluował z techniki prostego ozdabiania stron internetowych, aby stać się dojrzałym, wszechstronnym, pełn...
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...
Java to nowoczesny, współbieżny, obiektowy język programowania, który zdobył uznanie tysięcy programistów na całym świecie. Ogromne możliwości, niezależność od platformy, niezawodność i bezpieczeństwo, a także łatwość tworzenia i przejrzystość kodu powodują, że Java od lat cieszy się niesłabnącą popularnością, na programistów posługujących się tym językiem zaś czekają setki atrakcyjnych ofert pracy. Java znajduje zastosowanie w najróżniejszych dziedzinach i branżach, co spraw...
Serwery Windows królują w przestrzeni centrów danych. Nawet po przeniesieniu zasobów do chmury Azure dane są nadal zarządzane przez Windows Server: właśnie ten system operacyjny stanowi podstawę platformy Azure! Windows Server 2019 może obsłużyć nawet najpoważniejsze zadania w środowisku chmury. Microsoft konsekwentnie zmniejsza rozmiar platformy obliczeniowej w serwerach i tworzy nowe sposoby komunikacji z nimi. Także technologia kontenerów bardzo się rozwinęła: Server 2019 ...
W niezwykle dynamicznie rozwijającej się branży IT sukces projektu zapewnić mogą jedynie jego wysoka jakość i niskie koszty realizacji oraz odpowiednio krótki czas dostarczenia go klientowi. Coraz trudniej to osiągnąć w tradycyjny sposób, dlatego firmy zmuszone są stosować nowoczesne modele współpracy i metodyki zarządzania. Aby zapewnić konkurencyjność swoich usług, muszą zlecać wykonanie zadań pracownikom i zespołom znajdującym się w innej lokalizacji, innym kraju, a nierza...
Połączenie platformy Unity i języka C# zapewnia doskonałe środowisko do tworzenia i rozwijania różnego rodzaju gier komputerowych. To sprawia, że tandem ten jest niezwykle popularny wśród game developerów pragnących szybko i wydajnie osiągać profesjonalne efekty. Jednak sama znajomość narzędzi nie wystarczy, aby sprostać niełatwemu zadaniu zaprojektowania i zaprogramowania prawdziwej gry - by przekuć pomysł i umiejętności w prawdziwy produkt, trzeba czegoś więcej.Niezbędne do...
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 programy są przenośne, dzięki czemu można je kompilować pod różne platformy spr...
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ś...
Platforma Amazon Web Services jest uważana za największą i najdojrzalszą chmurę obliczeniową. Oferuje ponad setkę gotowych usług, praktycznie niewyczerpywalne zasoby mocy obliczeniowej, nieograniczone bezpieczne magazynowanie oraz pierwszorzędne możliwości automatyzacji. Jest przy tym nieustannie unowocześniana i udostępnia coraz to nowsze możliwości. Pozwala na tworzenie i utrzymanie aplikacji w elastyczny i niezawodny sposób. Dla wielu organizacji decyzja o migracji infrast...
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 dostosowania ...
Kubernetes jest platformą do orkiestracji kontenerów. Projekt ten należy dziś do najpopularniejszych i najbogatszych narzędzi w swojej klasie, stanowi także podstawę dla wielu innych platform, znanych jako systemy typu PaaS. Dzięki nim Kubernetes zyskał możliwość tworzenia aplikacji, jednak tego rodzaju narzędzia wymagają od programistów i architektów zastosowania odpowiednich wzorców projektowych. Opisują one schematy rozwiązywania problemów na różnych poziomach dokładności,...