Techniki programowania
Myśl w języku Java! Nauka programowania
Allen B. Downey, Chris Mayfield
Myśl w języku Java! Nauka programowania Zacznij myśleć jak programista! Naucz się łączyć umiejętności płynące z różnych dziedzin: matematyki, inżynierii i nauk przyrodniczych. Różnorodna wiedza ułatwi Ci pokonywanie przeszkód w pracy programisty — dzięki niej zdefiniujesz problem i sformułujesz jasne i precyzyjne rozwiązanie. Jak się okazuje, te wszystkie trudne umiejętności można sobie przyswoić, ucząc się programowania. Znajomość języka Java stanie się dodatkową korzyścią — jest to język o ugruntowanej pozycji, lubiany, dojrzały i najzwyczajniej bardzo przydatny. Trzymasz w ręku zwięzły podręcznik programowania napisany z myślą o osobach mających niewielkie lub zerowe doświadczenie w tej materii. Przedstawiono w nim najbardziej podstawowe zagadnienia, a poszczególne koncepcje zaprezentowano w logicznej kolejności. Sam język Java nie został może wyczerpująco opisany, jednak ważniejsze konstrukcje, strategie i techniki programistyczne zostały pokazane w bardzo zrozumiały i przystępny sposób. Poszczególne koncepcje zilustrowano praktycznymi przykładami kodu. Ten starannie przemyślany układ treści sprawi, że „myślenie jak informatyk” bardzo szybko przestanie być Twoim problemem! Poznawaj po jednym zagadnieniu naraz: opanuj skomplikowane tematy, rozbijając je na szereg drobnych kroków popartych przykładami. Zrozum sposób formułowania problemów, myśl kreatywnie o rozwiązaniach i pisz programy klarownie i precyzyjnie. Wybierz techniki programowania, które najlepiej sprawdzą się w Twojej sytuacji i przećwicz ważną umiejętność debugowania kodu. Odkryj relacje pomiędzy danymi wejściowymi i wyjściowymi oraz poznaj instrukcje decyzyjne i pętle, klasy i metody, łańcuchy znakowe i tablice. Wykonaj ćwiczenia związane z grami słownymi, grafiką komputerową, zagadkami i grami karcianymi. Java — już wkrótce zaczniesz myśleć jak informatyk!
Tom Ryder
Network monitoring requires significantly more than just pinging hosts. This cookbook will help you to comprehensively test your networks' major functions on a regular basis.Nagios Core Administration Cookbook will show you how to use Nagios Core as a monitoring framework that understands the layers and subtleties of the network for intelligent monitoring and notification behaviour. Nagios Core Administration Guide introduces the reader to methods of extending Nagios Core into a network monitoring solution. The book begins by covering the basic structure of hosts, services, and contacts and then goes on to discuss advanced usage of checks and notifications, and configuring intelligent behaviour with network paths and dependencies. The cookbook emphasizes using Nagios Core as an extensible monitoring framework. By the end of the book, you will learn that Nagios Core is capable of doing much more than pinging a host or to check if websites respond.
Natura kodu. Symulowanie systemów naturalnych przy użyciu JavaScript
Daniel Shiffman
Co by było, gdyby za pomocą kodu można było odtworzyć budzące podziw wzory stada ptaków lub hipnotyczny taniec świetlików? Książka Natura kodu już od ponad dekady umożliwia to niezliczonym czytelnikom, wypełniając lukę między twórczą ekspresją a programowaniem. Ten innowacyjny przewodnik autorstwa Daniela Shiffmana, twórcy uwielbianego Coding Train, zaprasza zarówno początkujących, jak i doświadczonych programistów do świata, w którym kod spotyka się z radosną kreatywnością. To wydanie przełomowego dzieła Shiffmana, oparte na JavaScripcie, powoli odkrywa tajemnice świata przyrody, zamieniając złożone tematy, takie jak algorytmy genetyczne, symulacje oparte na fizyce i sieci neuronowe, w przystępne i oszałamiające wizualnie kreacje. Praca Shiffmana przekształciła tysiące dociekliwych umysłów w twórców, przełamując bariery między nauką, sztuką i technologią oraz zachęcając Czytelników do postrzegania kodu nie tylko jako narzędzia do wykonywania zadań, ale jako płótna dla nieograniczonej kreatywności. Niezależnie od tego, czy rozszyfrowujesz eleganckie wzorce zjawisk naturalnych, czy też tworzysz własne cyfrowe ekosystemy, wskazówki Shiffmana z pewnością dostarczą informacji i inspiracji. W Naturze kodu nie chodzi tylko o kodowanie, lecz o nowe spojrzenie na świat przyrody i sprawienie, aby jego cuda zainspirowały twoje następne dzieła. Zanurz się i odkryj radość z przekształcania kodu w sztukę - a to wszystko przy jednoczesnym opanowaniu podstaw kodowania. Rozpocznij tę niezwykłą przygodę z projektami obejmującymi: Mechanizmy fizyki: symuluj przyciąganie grawitacyjne. Stado ptaków: twórz choreografię hipnotyzującego tańca stada. Rozgałęziające się drzewa: twórz realistyczne i organiczne struktury drzew. Sieci neuronowe: twórz inteligentne systemy, które uczą się i adaptują. Automaty komórkowe: odkrywaj magię samoorganizujących się wzorców. Algorytmy ewolucyjne: bądź świadkiem naturalnej selekcji we własnym kodzie. O autorze Daniel Shiffman, twórca kanału The Coding Train na YouTube (www.youtube.com/c/TheCodingTrain), większość swojego wolnego czasu poświęca, ucząc kodowania prawie 2 miliony subskrybentów, poprzez połączenie szczegółowych samouczków i filmów z projektami. Jako profesor sztuki w NYU Tisch School of the Arts i współzałożyciel Processing Foundation, Shiffman ma misję umożliwienia dociekliwym uczniom i ludziom na całym świecie wyrażania siebie poprzez kod.
Mercury Learning and Information, Oswald Campesato
This book is for developers seeking an overview of basic concepts in Natural Language Processing (NLP). It caters to a technical audience, offering numerous code samples and listings to illustrate the wide range of topics covered. The journey begins with managing data relevant to NLP, followed by two chapters on fundamental NLP concepts. This foundation is reinforced with Python code samples that bring these concepts to life.The book then delves into practical NLP applications, such as sentiment analysis, recommender systems, COVID-19 analysis, spam detection, and chatbots. These examples provide real-world context and demonstrate how NLP techniques can be applied to solve common problems. The final chapter introduces advanced topics, including the Transformer architecture, BERT-based models, and the GPT family, highlighting the latest state-of-the-art developments in the field.Appendices offer additional resources, including Python code samples on regular expressions and probability/statistical concepts, ensuring a well-rounded understanding. Companion files with source code and figures enhance the learning experience, making this book a comprehensive guide for mastering NLP techniques and applications.
Nicolas Leiva, Michael Kashin
Go’s built-in first-class concurrency mechanisms make it an ideal choice for long-lived low-bandwidth I/O operations, which are typical requirements of network automation and network operations applications.This book provides a quick overview of Go and hands-on examples within it to help you become proficient with Go for network automation. It’s a practical guide that will teach you how to automate common network operations and build systems using Go.The first part takes you through a general overview, use cases, strengths, and inherent weaknesses of Go to prepare you for a deeper dive into network automation, which is heavily reliant on understanding this programming language. You’ll explore the common network automation areas and challenges, what language features you can use in each of those areas, and the common software tools and packages. To help deepen your understanding, you’ll also work through real-world network automation problems and apply hands-on solutions to them.By the end of this book, you’ll be well-versed with Go and have a solid grasp on network automation.
Claus Töpke
Network programming and automation, unlike traditional networking, is a modern-day skill that helps in configuring, managing, and operating networks and network devices. This book will guide you with important information, helping you set up and start working with network programming and automation.With Network Programming and Automation Essentials, you’ll learn the basics of networking in brief. You’ll explore the network programming and automation ecosystem, learn about the leading programmable interfaces, and go through the protocols, tools, techniques, and technologies associated with network programming. You’ll also master network automation using Python and Go with hands-on labs and real network emulation in this comprehensive guide.By the end of this book, you’ll be well equipped to program and automate networks efficiently.
Nedelcu
Nginx is a lightweight HTTP server designed for high-traffic websites, with network scalability as the primary objective. With the advent of high speed Internet access, short loading times and fast transfer rates have become a necessity. This free, open source solution will either come as a full replacement of other software such as Apache, or stand in front of your existing infrastructure to improve its overall speed.This book is a detailed guide to setting up Nginx in different ways that correspond to actual production situations: as a standalone server, as a reverse proxy, interacting with applications via FastCGI, and more. In addition, this complete directive reference will be your best friend at all stages of the configuration and maintenance processes.This book is the perfect companion for both Nginx beginners and experienced administrators. For beginners, it will take you through the complete process of setting up this lightweight HTTP server on your system and configuring its various modules so it does exactly what you need quickly and securely. For more experienced administrators, this book provides different approaches that can help you make the most of your current infrastructure. Nginx can be employed in many situations, whether you are looking to construct an entirely new web-serving architecture or simply want to integrate an efficient tool to optimize your site loading speeds.
David Mark Clements
The principles of asynchronous event-driven programming are perfect for today's web, where efficient real-time applications and scalability are at the forefront. Server-side JavaScript has been here since the 90's but Node got it right. With a thriving community and interest from Internet giants, it could be the PHP of tomorrow.Node Cookbook shows you how to transfer your JavaScript skills to server side programming. With simple examples and supporting code, Node Cookbook talks you through various server side scenarios often saving you time, effort, and trouble by demonstrating best practices and showing you how to avoid security faux pas.Beginning with making your own web server, the practical recipes in this cookbook are designed to smoothly progress you to making full web applications, command line applications, and Node modules. Node Cookbook takes you through interfacing with various database backends such as MySQL, MongoDB and Redis, working with web sockets, and interfacing with network protocols, such as SMTP. Additionally, there are recipes on correctly performing heavy computations, security implementations, writing, your own Node modules and different ways to take your apps live.
Mario Casciaro, Luciano Mammino
Node.js is a massively popular software platform that lets you use JavaScript to easily create scalable server-side applications. It allows you to create efficient code, enabling a more sustainable way of writing software made of only one language across the full stack, along with extreme levels of reusability, pragmatism, simplicity, and collaboration. Node.js is revolutionizing the web and the way people and companies create their software.In this book, we will take you on a journey across various ideas and components, and the challenges you would commonly encounter while designing and developing software using the Node.js platform. You will also discover the Node.js way of dealing with design and coding decisions.The book kicks off by exploring the basics of Node.js describing it's asynchronous single-threaded architecture and the main design patterns. It then shows you how to master the asynchronous control flow patterns,and the stream component and it culminates into a detailed list of Node.js implementations of the most common design patterns as well as some specific design patterns that are exclusive to the Node.js world.Lastly, it dives into moreadvanced concepts such as Universal Javascript,and scalability' and it's meant to conclude the journey by giving the reader all the necessary concepts to be able to build an enterprise grade application using Node.js.
Mario Casciaro
Node.js is a massively popular software platform that lets you use JavaScript to easily create scalable server-side applications. It allows you to create efficient code, enabling a more sustainable way of writing software made of only one language across the full stack, along with extreme levels of reusability, pragmatism, simplicity, and collaboration. Node.js is revolutionizing the web and the way people and companies create their software.In this book, we will take you on a journey across various ideas and components, and the challenges you would commonly encounter while designing and developing software using the Node.js platform. You will also discover the Node.js way of dealing with design and coding decisions.The book kicks off by exploring the fundamental principles and components that define the platform. It then shows you how to master asynchronous programming and how to design elegant and reusable components using well-known patterns and techniques. The book rounds off by teaching you the various approaches to scale, distribute, and integrate your Node.js application.
David Farley
Inżynieria oprogramowania polega na stosowaniu empirycznego podejścia do szukania wydajnych i ekonomicznie uzasadnionych rozwiązań podczas tworzenia oprogramowania. Dziedzina ta ma na celu organizowanie optymalnego procesu tworzenia aplikacji ? od koncepcji, poprzez kodowanie, wdrażanie, utrzymywanie, po wycofywanie. Uzyskanie biegłości w tym obszarze nie jest łatwe: rozwój oprogramowania wymaga zrozumienia filozofii inżynierii i stosowania określonych zasad. Tę książkę docenią programiści, menedżerowie, inżynierowie i liderzy techniczni. Znajdziesz w niej cenne informacje o filozofii inżynierii oprogramowania, jak również o postępach w sposobie myślenia na jej temat. Na tej bazie oparto zestaw zasad ułatwiających skuteczne radzenie sobie z dwoma podstawowymi procesami inżynierii oprogramowania: uczenia się i eksploracji oraz radzenia sobie ze złożonością. W ten sposób dowiesz się, jak usprawnić wszystkie aspekty swojej pracy, a także jak stosować sprawdzone podejścia prowadzące do sukcesu z uwzględnieniem uwarunkowań ekonomicznych. Dzięki tej przełomowej publikacji nauczysz się technik rozwiązywania problemów z wykorzystaniem zarówno obecnych, jak i przyszłych technologii. W efekcie będziesz szybciej tworzyć lepsze oprogramowanie, i to w bardziej przyjemny i satysfakcjonujący sposób. Poznaj i stosuj zasady nowoczesnej inżynierii oprogramowania: określaj jasne cele i sensownie wybieraj narzędzia organizuj pracę i systemy tak, aby móc oceniać ciągłe postępy zachowuj kontrolę nawet po zwiększeniu złożoności systemu utrzymuj dyscyplinę z zachowaniem właściwej elastyczności ucz się z historii i doświadczenia naucz się oceniać nowe idee rozwoju oprogramowania Przekonaj się, jak dzisiaj najlepsi praktycy projektują oprogramowanie!
Nowoczesne aplikacje internetowe. MongoDB, Express, AngularJS, Node.js
Jeff Dickey
Poznaj nowe podejście do aplikacji internetowych! Tradycyjne aplikacje internetowe składały się z dwóch elementów — ciężkiego back-endu odpowiadającego za przetwarzanie danych, ich walidację i przechowywanie oraz z klienta, którego zadaniem była prosta komunikacja z użytkownikiem. To rozwiązanie rodziło liczne kłopoty — przede wszystkim ze skalowaniem. Od nowoczesnych aplikacji użytkownicy wymagają najwyższej wydajności, niezawodności, możliwości działania w trybie offline oraz wygody użytkowania. Tradycyjne podejście do tworzenia aplikacji już się nie sprawdza. Potrzebujesz czegoś nowego! Na ratunek przychodzi drużyna — MongoDB, Express, AngularJS oraz Node.js. Dzięki temu zestawowi narzędzi będziesz w stanie stworzyć zaawansowaną aplikację z wygodnym interfejsem użytkownika oraz szerokimi możliwościami skalowania. Wystarczy, że sięgniesz po tę książkę i przyswoisz sobie zawartą w niej wiedzę. W publikacji znajdziesz odpowiedź na wiele pytań: Dlaczego warto wybrać AngularJS? Czym się charakteryzują bazy NoSQL? W jakich sytuacjach bazy NoSQL są lepsze od tradycyjnych baz relacyjnych? Dlaczego Node.js jest tak szybki? Ponadto nauczysz się budować wydajne API, integrować Node.js z AngularJS, automatyzować zadania za pomocą pakietu Gulp oraz korzystać z zaawansowanych mechanizmów autoryzacji. Na sam koniec zaznajomisz się z dobrymi praktykami — testami API, klienta oraz uruchomisz przygotowaną aplikację na serwerze produkcyjnym. Ta książka jest doskonałą lekturą, która zaprezentuje Ci każdy z elementów nowoczesnej aplikacji internetowej. Dzięki tej książce: Poznasz możliwości AngularJS oraz Node.js Przekonasz się, dlaczego warto wybrać MongoDB Przygotujesz praktyczne API w Node.js Poznasz narzędzie Gulp Wykorzystasz JSON Web Token do uwierzytelniania Przetestujesz aplikację Nauczysz się tworzyć nowoczesne aplikacje internetowe! Aplikacje internetowe już nigdy nie będą takie same! Jeff Dickey — wszechstronny programista sieciowy. Doświadczenie zdobywał przy pracy z licznymi start-upami z okolic San Francisco i Los Angeles. Obecnie prowadzi zespoły programistów i opracowuje projekty. Unika biurokracji, jest zaangażowany w serię spotkań Code for America Brigade w Los Angeles.
Nowoczesne aplikacje mobilne Kotlin Android Jetpack Compose dla studenta i technika programisty
Bartłomiej Wlach
Czy marzysz o tworzeniu nowoczesnych, responsywnych i atrakcyjnych wizualnie aplikacji mobilnych? Sięgnij po książkę, która powstała z myślą o Tobie - młodym programiście, studencie lub uczniu technikum, który chce wejść na wyższy poziom programowania pod Androida. Ta książka to wyjątkowy przewodnik po świecie tworzenia aplikacji mobilnych z wykorzystaniem Kotlina oraz Jetpack Compose - najnowszego narzędzia firmy Google do budowy interfejsów użytkownika. Przejrzysty język, praktyczne przykłady i aktualne technologie czynią ją idealnym wyborem zarówno dla początkujących, jak i tych, którzy już stawiają pierwsze kroki w programowaniu mobilnym. Znajdziesz tu m.in.: Wprowadzenie do języka Kotlin - nowoczesnego, bezpiecznego i intuicyjnego języka programowania; Fundamenty Jetpack Compose - deklaratywne podejście do budowy interfejsów, które zrewolucjonizowało sposób tworzenia aplikacji w Androidzie; Projekt krok po kroku, dzięki któremu utrwalisz zdobytą wiedzę i stworzysz własne aplikacje od zera; Porady i wskazówki z perspektywy ucznia technikum, który samodzielnie zgłębiał temat i dzieli się swoimi doświadczeniami. To książka napisana przez młodego programistę - dla młodych programistów. Pokazuje, że pasja, konsekwencja i nowoczesne podejście mogą zaprowadzić Cię dalej, niż myślisz. Idealna jako materiał uzupełniający do nauki w szkole, jak i solidna baza do własnych projektów oraz przygotowania do pierwszej pracy w branży IT.
Ivan Idris
NumPy is an extension to, and the fundamental package for scientific computing with Python. In today's world of science and technology, it is all about speed and flexibility. When it comes to scientific computing, NumPy is on the top of the list.NumPy Beginner's Guide will teach you about NumPy, a leading scientific computing library. NumPy replaces a lot of the functionality of Matlab and Mathematica, but in contrast to those products, is free and open source.Write readable, efficient, and fast code, which is as close to the language of mathematics as is currently possible with the cutting edge open source NumPy software library. Learn all the ins and outs of NumPy that requires you to know basic Python only. Save thousands of dollars on expensive software, while keeping all the flexibility and power of your favourite programming language.You will learn about installing and using NumPy and related concepts. At the end of the book we will explore some related scientific computing projects. This book will give you a solid foundation in NumPy arrays and universal functions. Through examples, you will also learn about plotting with Matplotlib and the related SciPy project. NumPy Beginner's Guide will help you be productive with NumPy and have you writing clean and fast code in no time at all.
Jaidev Deshpande, Leo (Liang-Huan) Chin, Tanmay Dutta,...
In today’s world of science and technology, it’s all about speed and flexibility. When it comes to scientific computing, NumPy tops the list. NumPy gives you both the speed and high productivity you need.This book will walk you through NumPy using clear, step-by-step examples and just the right amount of theory. We will guide you through wider applications of NumPy in scientific computing and will then focus on the fundamentals of NumPy, including array objects, functions, and matrices, each of them explained with practical examples. You will then learn about different NumPy modules while performing mathematical operations such as calculating the Fourier Transform; solving linear systems of equations, interpolation, extrapolation, regression, and curve fitting; and evaluating integrals and derivatives. We will also introduce you to using Cython with NumPy arrays and writing extension modules for NumPy code using the C API. This book will give you exposure to the vast NumPy library and help you build efficient, high-speed programs using a wide range of mathematical features.
Stoyan STEFANOV
JavaScript is the behavior, the third pillar in today's paradigm that looks at web pages as something that consists of clearly distinguishable parts: content (HTML), presentation (CSS) and behavior (JavaScript). Using JavaScript, you can create not only web pages but also desktop widgets, browser and application extensions, and other pieces of software. It's a pretty good deal: you learn one language and then code all kinds of different applications. While there's one chapter specifically dedicated to the web browser environment including DOM, Events and AJAX tutorials, the rest is applicable to the other environmentsMany web developers have tried coding or adopting some bits of JavaScript, but it is time to man up and learn the language properly because it is the language of the browser and is, virtually, everywhere. This book starts from zero, not assuming any prior JavaScript programming knowledge and takes you through all the in-depth and exciting futures hidden behind the facade. Once listed in the nice to have sections of job postings, these days the knowledge of JavaScript is a deciding factor when it comes to hiring web developers. After reading this book you'll be prepared to ace your JavaScript job interview and even impress with some bits that the interviewer maybe didn't know. You should read this book if you want to be able to take your JavaScript skills to a new level of sophistication.