Inne - Programowanie

361
Ebook

Nauka algorytmów. Poradnik pisania lepszego kodu

George Heineman

Doskonałe opanowanie dowolnego języka programowania nie wystarczy do tego, aby stać się świetnym programistą czy deweloperem. Konieczne jest również zdobycie praktycznej wiedzy dotyczącej algorytmów. Oznacza to, że aby pisać lepszy kod, podczas rozwiązywania rzeczywistych problemów trzeba umieć korzystać z algorytmów, włączając w to ich budowanie, modyfikację i implementację. Niezależnie od tego, jaką dziedziną informatyki się zajmujesz, biegłość w posługiwaniu się algorytmami w wymierny sposób ułatwi Ci pracę i poprawi jej rezultaty. Ta książka jest przystępnym wprowadzeniem do wiedzy o algorytmach wraz z przykładami implementacji napisanymi w Pythonie. Oprócz praktycznego omówienia algorytmów znalazło się tu wyjaśnienie takich pojęć jak klasy złożoności czy analiza asymptotyczna. Dokładnie omówiono także najważniejsze algorytmy, w tym różne sposoby haszowania, sortowania czy przeszukiwania. Tam, gdzie to niezbędne, wprowadzono struktury danych języka Python. Z poradnika programiści i testerzy dowiedzą się, w jaki sposób wykorzystywać algorytmy do pomysłowego rozwiązywania problemów obliczeniowych. Zrozumienie treści ułatwiają ciekawe materiały wizualne i ćwiczenia utrwalające, które pozwolą na przetestowanie zdobytej wiedzy w praktyce. W książce między innymi: podstawowe algorytmy wykorzystywane w inżynierii oprogramowania standardowe strategie wydajnego rozwiązywania problemów ocena złożoności czasowej kodu z wykorzystaniem notacji dużego O praktyczne stosowanie algorytmów z wykorzystaniem bibliotek i struktury danych Pythona główne zasady działania ważnych algorytmów

362
Ebook

Nauka programowania dla początkujących: podejście graficzne

Diana Domańska, Krzysztof Gdawiec

„Niniejsza książka jest łagodnym wprowadzeniem w świat programowania. Okazuje się, że nie musimy być geniuszami komputerowymi, aby nauczyć się programować. Większość ludzi ma ograniczone pojęcie o budowie i działaniu samochodu czy motocykla, ale nie powstrzymuje ich to przed tym, aby zasiąść za kółkiem i jechać. Nie musimy znać od podstaw budowy i zasad działania komputerów, aby móc ich używać. Podobnie jest z programowaniem. W dzisiejszych czasach mamy do dyspozycji wiele różnych języków programowania. Naukę możemy zacząć od każdego z nich, ale w przypadku jednych języków będzie to proces prostszy, a w przypadku innych – trudniejszy. Jak mówi chińskie przysłowie: „Jeden obraz wart więcej niż tysiąc słów” – dlatego do nauki programowania wykorzystamy język, który nastawiony jest na tworzenie obrazów. Tym językiem jest Processing. Jest on dialektem języka Java, najpopularniejszego języka programowania (październik 2016) według rankingu TIOBE1. Został zaprojektowany z myślą o artystach, dzięki czemu jest bardzo prosty do nauki. Najlepszym sposobem nauki programowania jest pisanie, pisanie i jeszcze raz pisanie programów. Samo przeczytanie książki nie sprawi, drogi Czytelniku, że posiądziesz umiejętność programowania. Dlatego w trakcie lektury powinieneś przepisywać przykładowe programy, modyfikować je oraz używać ich jako zachęty do pisania własnych programów. Jeśli postąpisz według tych rad, to po przeczytaniu tej książki z pewnością będziesz wiedzieć wiele o procesie programowania. Co prawda po ukończeniu lektury nie będziesz guru programowania, ale nauczysz się podstaw programowania komputerów i posiądziesz wiedzę, która umożliwi Ci pójście różnymi ścieżkami. Może nawet w przyszłości zostaniesz zawodowym programistą, czego Ci życzymy. Książka została przewidziana dla osób, które nigdy wcześniej nie miały styczności z programowaniem. Z tego powodu wiele pojęć jest omawianych w bardzo szczegółowy sposób. Osobom, które już mają doświadczenie w programowaniu, może się to wydać nudne, ale i dla nich znajdzie się coś w tej książce: będą miały okazję zaznajomić się z podstawami języka Processing. Od Czytelnika nie wymagamy znajomości żadnych zaawansowanych narzędzi. Jedynymi wymaganiami są znajomość elementów szkolnej matematyki i chęć nauczenia się programowania. Pomimo że nauka programowania w książce odbywa się w języku Processing, to nabyta wiedza pozwoli na łatwe przejście do nauki programowania w innych językach, takich jak C, C++, C# czy Java”. (– ze Wstępu)

363
Ebook

Nauka programowania opartego na testach. Jak pisać przejrzysty kod w kilku językach programowania

Saleem Siddiqui

Od oprogramowania wymaga się solidności i poprawności, a równocześnie oczekuje wydajnego działania i skalowalności. Jako programista odpowiadasz za zapewnienie aplikacjom tych właśnie cech. Niezależnie od tego, jakiego języka programowania używasz, praca zgodnie z paradygmatem TDD umożliwi Ci otrzymanie testowalnego kodu o wysokiej jakości. Choć te korzyści przeważają nad niedogodnościami podejścia TDD, wielu programistów narzeka na czasochłonność, pracochłonność i sprawiającą problemy implementację programowania opartego na testach. To przewodnik dla programistów, którzy chcą stosować podejście TDD w swojej codziennej praktyce. Pokazuje, jak korzystać z programowania sterowanego testami podczas pracy w trzech różnych językach: Go, JavaScripcie i Pythonie. Dzięki tej książce zrozumiesz, w jaki sposób zastosować klasyczny paradygmat "dziel i zwyciężaj" do budowania testów jednostkowych i w efekcie radzić sobie nawet z bardzo rozbudowaną architekturą oprogramowania. Liczne przykłady o stopniowo rosnącym poziomie zaawansowania pozwolą Ci płynnie nabierać wprawy i pewności w tworzeniu testów jednostkowych, a także ich używaniu. Szybko się przekonasz, że wprowadzenie TDD do codziennej praktyki kodowania jest bardzo opłacalną decyzją: kod będzie czysty, zrozumiały, elegancki i prosty w utrzymaniu! W książce między innymi: działanie TDD w różnych językach, frameworkach testowych i koncepcjach domenowych TDD a ciągła integracja konfiguracja środowiska ciągłej integracji refaktoryzacja i przeprojektowywanie przy użyciu TDD testy jednostkowe w JavaScripcie jak TDD ułatwia pisanie czystego kodu w Go, JavaScripcie i Pythonie TDD: napisz kod, któremu można zaufać!

364
Ebook

Nauka programowania. Rusz głową!

Eric Freeman

Przewodnik po kodowaniu i myśleniu komputacyjnym Programista to bardzo szczególny typ specjalisty. Jeśli uważasz, że myśli w inny sposób niż tak zwani normalni ludzie, to masz rację. Dobra wiadomość jest taka, że i Ty możesz się nauczyć myślenia komputacyjnego - umiejętności, która się przydaje niezależnie od charakteru rozwiązywanego problemu, środowiska czy języka programowania. Tylko w ten sposób można od początku nauki programowania pisać przejrzysty, uporządkowany, znakomity kod, zgodny z najlepszymi praktykami wypracowanymi przez mistrzów. Innymi słowy: pracować jak profesjonalny programista. Ta książka jest niezwykłym podręcznikiem programowania. Być może wygląda nieco dziwacznie, ale prędko się przekonasz, że to podręcznik jest wyjątkowo skuteczny: w końcu jego formuła została opracowana na podstawie najlepszych osiągnięć neurologii i kognitywistyki. W ten sposób Twój mózg się zaangażuje i błyskawicznie przyswoi sobie zasady programowania w Pythonie. Autor wykorzystał oczywistą prawdę, że najszybciej uczymy się wtedy, gdy uwzględnimy specyfikę działania własnego mózgu! Najpierw więc się zainteresujesz, potem zaangażujesz, wreszcie przygotujesz sobie warsztat pracy, czyli zainstalujesz Pythona. Później zaczniesz ćwiczyć myślenie komputacyjne i oczywiście napiszesz swój pierwszy program. A dalej będzie coraz ciekawiej... W tej książce między innymi: Istotne koncepcje programistyczne Zasady programowania w Pythonie Funkcje i rekurencja Programowanie obiektowe Tworzenie API dla aplikacji internetowych Widgety i zdarzenia Neurony płoną. Emocje szaleją. Tak napiszesz kod godny mistrza!

365
Ebook

.NET Standard 2.0 Cookbook. Develop high quality, fast and portable applications by leveraging the power of .NET Standard Library

Fiqri Ismail

The .NET Standard is a standard that represents a set of APIs that all .NET platforms have to implement, making it easy for developers to access and use one common library for their development needs. This book begins with a quick refresher, helping you understand the mechanics of the new standard and offering insight into how it works. You’ll explore the core library concepts, such as working with collections, configurations, I/O, security, and multithreading. You’ll explore the iOS and Android libraries of Xamarin and we’ll guide you through creating a .NET Standard 2.0 library, which you’ll use with both Android and iOS applications. In the final chapters, you’ll learn the various debugging and diagnostics tools to deliver quality libraries and create a NuGet package of the .NET Standard 2.0 library. By the end of this book, you’ll be able to expand your current workflow to various .NET flavors and have the essential skills to create a .NET Standard 2.0 library from scratch to package and deliver it to the world.

366
Ebook

Next.js Quick Start Guide. Server-side rendering done right

Kirill Konshin

Next.js is a powerful addition to the ever-growing and dynamic JavaScript world. Built on top of React, Webpack, and Babel, it is a minimalistic framework for server-rendered universal JavaScript applications. This book will show you the best practices for building sites using Next. js, enabling you to build SEO-friendly and superfast websites.This book will guide you from building a simple single page app to a scalable and reliable client-server infrastructure. You will explore code sharing between client and server, universal modules, and server-side rendering.The book will take you through the core Next.js concepts that everyone is talking about – hot reloading, code splitting, routing, server rendering, transpilation, CSS isolation, and more. You will learn ways of implementing them in order to create your own universal JavaScript application. You will walk through the building and deployment stages of your applications with the JSON API,customizing the confguration, error handling,data fetching, deploying to production, and authentication.

367
Ebook

Nginx HTTP Server. Harness the power of Nginx to make the most of your infrastructure and serve pages faster than ever before - Fourth Edition

Martin Bjerretoft Fjordvald, Clement 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 book is a detailed guide to setting up Nginx in 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 direct reference will be indispensable at all stages of the configuration and maintenance processes. This book mainly targets the most recent version of Nginx (1.13.2) and focuses on all the new additions and improvements, such as support for HTTP/2, improved dynamic modules, security enhancements, and support for multiple SSL certificates. 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 that 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.

368
Ebook

NHibernate 4.x Cookbook. Click here to enter text. - Second Edition

Gunnar Liljas, Alexander Zaytsev, Jason Dentler

NHibernate is a mature, flexible, scalable, and feature-complete open source project for data access. Although it sounds like an easy task to build and maintain database applications, it can be challenging to get beyond the basics and develop applications that meet your needs perfectly. NHibernate allows you to use plain SQL and stored procedures less and keep focus on your application logic instead. Learning the best practices for a NHibernate-based application will help you avoid problems and ensure that your project is a success. The book will take you from the absolute basics of NHibernate through to its most advanced features, showing you how to take full advantage of each concept to quickly create amazing database applications. You will learn several techniques for each of the four core NHibernate tasks—configuration, mapping, session and transaction management, and querying—and which techniques fit best with various types of applications. In short, you will be able to build an application using NHibernate by the end of the book. You will also learn how to best implement enterprise application architecture patterns using NHibernate, leading to clean, easy-to-understand code and increased productivity. In addition to new features, you will learn creative ways to extend the NHibernate core, as well as gaining techniques to work with the NHibernate search, shards, spatial, envers, and validation projects.