• Packt.Cplusplus.Data.Structures.and.Algorithm.Design.Principles.1838828842.pdf

    by John Carey, Payas Rajan, Shreyans Doshi Packt Publishing 2019-10-31 626 pages Get started with C++ programming by learning how to build applications using its data structures and algorithms Key Features Explore data structures such as arrays, stacks, and graphs with real-world examples Study the trade-offs between algorithms and data structures and discover what works and what doesn't Discover how techniques such as bloom filters and multi-way heaps boost real-world applications Book Description C++ is a mature multi-paradigm programming language that enables you to write high-level code with a high degree of control over the hardware. Today, significant parts of software infrastructure, including databases, browsers, multimedia frameworks, and GUI toolkits, are written in C++. This book starts by introducing C++ data structures and how to store data using linked lists, arrays, stacks, and queues. In later chapters, the book explains the basic algorithm design paradigms, such as the greedy approach and the divide-and-conquer approach, which are used to solve a large variety of computational problems. Finally, you will learn the advanced technique of dynamic programming to develop optimized implementations of several algorithms discussed in the book. By the end of this book, you will have learned how to implement standard data structures and algorithms in efficient and scalable C++ 14 code. What you will learn Build applications using hash tables, dictionaries, and sets Explore how modern hardware affects the actual run-time performance of programs Apply common algorithms such as heapsort and merge sort for string data types Use C++ template metaprogramming to write code libraries Implement a URL shortening service using a bloom filter Use appropriate modern C++ idioms such as std:: array instead of C-style arrays Who this book is for This book is for developers or students who want to revisit basic data structures and algorithm design techniques. Although no mathematical background is required, basic knowledge of complexity classes and Big O notation along with a qualification in an algorithms course will help you get the most out of this book. Familiarity with C++ 14 standard is assumed. Table of Contents Lists, Stacks, and Queues Trees, Heaps, and Graphs Hash Tables and Bloom Filters Divide and Conquer Greedy Algorithms Graph Algorithms I Graph Algorithms II Dynamic Programming I Dynamic Programming II

    0
    160
    10.58MB
    2019-11-03
    15
  • C++ Crash Course- A Fast-Paced Introduction 2019.rar

    Author: Josh Lospinoso Pub Date: 2019 ISBN: 978-1593278885 Pages: 792 Language: English Format: PDF Size: 10 Mb A fast-paced, thorough introduction to modern C++ written for experienced programmers. After reading C++ Crash Course, you’ll be proficient in the core language concepts, the C++ Standard Library, and the Boost Libraries. C++ is one of the most widely used languages for real-world software. In the hands of a knowledgeable programmer, C++ can produce small, efficient, and readable code that any programmer would be proud of. Designed for intermediate to advanced programmers, C++ Crash Course cuts through the weeds to get you straight to the core of C++17, the most modern revision of the ISO standard. Part 1 covers the core of the C++ language, where you’ll learn about everything from types and functions, to the object life cycle and expressions. Part 2 introduces you to the C++ Standard Library and Boost Libraries, where you’ll learn about all of the high-quality, fully-featured facilities available to you. You’ll cover special utility classes, data structures, and algorithms, and learn how to manipulate file systems and build high-performance programs that communicate over networks. You’ll learn all the major features of modern C++, including: Fundamental types, reference types, and user-defined types The object lifecycle including storage duration, memory management, exceptions, call stacks, and the RAII paradigm Compile-time polymorphism with templates and run-time polymorphism with virtual classes Advanced expressions, statements, and functions Smart pointers, data structures, dates and times, numerics, and probability/statistics facilities Containers, iterators, strings, and algorithms Streams and files, concurrency, networking, and application development With well over 500 code samples and nearly 100 exercises, C++ Crash Course is sure to help you build a strong C++ foundation.

    4
    280
    10.14MB
    2019-09-03
    10
  • hands-network-programming-c-optimized.rar

    Hands-On Network Programming with C: Learn socket programming in C and write secure and optimized network code Author: Lewis Van Winkle Pub Date: 2019 ISBN: 978-1789349863 Pages: 478 Language: English A comprehensive guide to programming with network sockets, implementing Internet protocols, designing IoT devices, and much more with C Network programming, a challenging topic in C, is made easy to understand with a careful exposition of socket programming APIs. This book gets you started with modern network programming in C and the right use of relevant operating system APIs. This book covers core concepts, such as hostname resolution with DNS, that are crucial to the functioning of the modern web. You’ll delve into the fundamental network protocols, TCP and UDP. Essential techniques for networking paradigms such as client-server and peer-to-peer models are explained with the help of practical examples. You’ll also study HTTP and HTTPS (the protocols responsible for web pages) from both the client and server perspective. To keep up with current trends, you’ll apply the concepts covered in this book to gain insights into web programming for IoT. You’ll even get to grips with network monitoring and implementing security best practices. By the end of this book, you’ll have experience of working with client-server applications, and be able to implement new network programs in C. The code in this book is compatible with the older C99 version as well as the latest C18 and C++17 standards. Special consideration is given to writing robust, reliable, and secure code that is portable across operating systems, including Winsock sockets for Windows and POSIX sockets for Linux and macOS. What you will learn Uncover cross-platform socket programming APIs Implement techniques for supporting IPv4 and IPv6 Understand how TCP and UDP connections work over IP Discover how hostname resolution and DNS work Interface with web APIs using HTTP and HTTPS Acquire hands-on experience with Simple Mail Transfer Protocol (SMTP) Apply network programming to the Internet of Things (IoT)

    0
    249
    10.46MB
    2019-07-01
    9
  • Hands-On High Performance Programming with Qt 5-2019

    Hands-On High Performance Programming with Qt 5: Build cross-platform applications using concurrency, parallel programming, and memory management Author: Marek Krajewski Pub Date: 2019 ISBN: 978-1789531244 Pages: 384 Language: English Format: EPUB Size: 17 Mb Build efficient and fast Qt applications, target performance problems, and discover solutions to refine your code Achieving efficient code through performance tuning is one of the key challenges faced by many programmers. This book looks at Qt programming from a performance perspective. You’ll explore the performance problems encountered when using the Qt framework and means and ways to resolve them and optimize performance. The book highlights performance improvements and new features released in Qt 5.9, Qt 5.11, and 5.12 (LTE). You’ll master general computer performance best practices and tools, which can help you identify the reasons behind low performance, and the most common performance pitfalls experienced when using the Qt framework. In the following chapters, you’ll explore multithreading and asynchronous programming with C++ and Qt and learn the importance and efficient use of data structures. You’ll also get the opportunity to work through techniques such as memory management and design guidelines, which are essential to improve application performance. Comprehensive sections that cover all these concepts will prepare you for gaining hands-on experience of some of Qt’s most exciting application fields – the mobile and embedded development domains. By the end of this book, you’ll be ready to build Qt applications that are more efficient, concurrent, and performance-oriented in nature What you will learn Understand classic performance best practices Get to grips with modern hardware architecture and its performance impact Implement tools and procedures used in performance optimization Grasp Qt-specific work techniques for graphical user interface (GUI) and platform programming Make Transmission Control Protocol (TCP) and Hypertext Transfer Protocol (HTTP) performant and use the relevant Qt classes Discover the improvements Qt 5.9 (and the upcoming versions) holds in store Explore Qt’s graphic engine architecture, strengths, and weaknesses

    3
    2297
    10.86MB
    2019-03-08
    50
  • Pro Spring Boot 2, 2nd Edition(2019)

    by Felipe Gutierrez Apress 2019-02-04 511 pages Pro Spring Boot 2: An Authoritative Guide to Building Microservices, Web and Enterprise Applications, and Best Practices Quickly and productively develop complex Spring applications and microservices out of the box, with minimal concern over things like configurations. This revised book will show you how to fully leverage the Spring Boot 2 technology and how to apply it to create enterprise ready applications that just work. It will also cover what's been added to the new Spring Boot 2 release, including Spring Framework 5 features like WebFlux, Security, Actuator and the new way to expose Metrics through Micrometer framework, and more. This book is your authoritative hands-on practical guide for increasing your enterprise Java and cloud application productivity while decreasing development time. It's a no nonsense guide with case studies of increasing complexity throughout the book. The author, a senior solutions architect and Principal Technical instructor with Pivotal, the company behind the Spring Framework, shares his experience, insights and first-hand knowledge about how Spring Boot technology works and best practices. Pro Spring Boot 2 is an essential book for your Spring learning and reference library. What You Will Learn Configure and use Spring Boot Use non-functional requirements with Spring Boot Actuator Carry out web development with Spring Boot Persistence with JDBC, JPA and NoSQL Databases Messaging with JMS, RabbitMQ and WebSockets Test and deploy with Spring Boot A quick look at the Spring Cloud projects Microservices and deployment to the Cloud Extend Spring Boot by creating your own Spring Boot Starter and @Enable feature Who This Book Is For Experienced Spring and Java developers seeking increased productivity gains and decreased complexity and development time in their applications and software services.

    5
    146
    19.46MB
    2018-12-15
    11
  • Building Chatbots with Python(2019)

    by Sumit Raj Apress 2019-02-04 192 pages Build your own chatbot using Python and open source tools. This book begins with an introduction to chatbots where you will gain vital information on their architecture. You will then dive straight into natural language processing with the natural language toolkit (NLTK) for building a custom language processing platform for your chatbot. With this foundation, you will take a look at different natural language processing techniques so that you can choose the right one for you. The next stage is to learn to build a chatbot using the API.ai platform and define its intents and entities. During this example, you will learn to enable communication with your bot and also take a look at key points of its integration and deployment. The final chapter of Building Chatbots with Python teaches you how to build, train, and deploy your very own chatbot. Using open source libraries and machine learning techniques you will learn to predict conditions for your bot and develop a conversational agent as a web application. Finally you will deploy your chatbot on your own server with AWS. What You Will Learn Gain the basics of natural language processing using Python Collect data and train your data for the chatbot Build your chatbot from scratch as a web app Integrate your chatbots with Facebook, Slack, and Telegram Deploy chatbots on your own server Who This Book Is For Intermediate Python developers who have no idea about chatbots. Developers with basic Python programming knowledge can also take advantage of the book.

    5
    181
    8.87MB
    2018-12-14
    11
  • Python for Finance: Mastering Data-Driven Finance, 2nd Edition(2019)

    Author: Yves Hilpisch Pub Date: 2019 ISBN: 978-1492024330 Pages: 720 Language: English Format: EPUB The financial industry has recently adopted Python at a tremendous rate, with some of the largest investment banks and hedge funds using it to build core trading and risk management systems. Updated for Python 3, the second edition of this hands-on book helps you get started with the language, guiding developers and quantitative analysts through Python libraries and tools for building financial applications and interactive financial analytics. Using practical examples throughout the book, author Yves Hilpisch also shows you how to develop a full-fledged framework for Monte Carlo simulation-based derivatives and risk analytics, based on a large, realistic case study. Much of the book uses interactive IPython Notebooks.

    5
    0
    10.91MB
    2018-12-13
    40
  • Thoughtful Data Science

    Thoughtful Data Science: A Programmer's Toolset for Data Analysis and Artificial Intelligence with Python, Jupyter Notebook, and PixieDust Bridge the gap between developer and data scientist by creating a modern open-source, Python-based toolset that works with Jupyter Notebook, and PixieDust. Key Features Think deeply as a developer about your strategy and toolset in data science Discover the best tools that will suit you as a developer in your data analysis Accelerate the road to data insight as a programmer using Jupyter Notebook Deep dive into multiple industry data science use cases Book Description Thoughtful Data Science brings new strategies and a carefully crafted programmer's toolset to work with modern, cutting-edge data analysis. This new approach is designed specifically to give developers more efficiency and power to create cutting-edge data analysis and artificial intelligence insights. Industry expert David Taieb bridges the gap between developers and data scientists by creating a modern open-source, Python-based toolset that works with Jupyter Notebook, and PixieDust. You'll find the right balance of strategic thinking and practical projects throughout this book, with extensive code files and Jupyter projects that you can integrate with your own data analysis. David Taieb introduces four projects designed to connect developers to important industry use cases in data science. The first is an image recognition application with TensorFlow, to meet the growing importance of AI in data analysis. The second analyses social media trends to explore big data issues and natural language processing. The third is a financial portfolio analysis application using time series analysis, pivotal in many data science applications today. The fourth involves applying graph algorithms to solve data problems. Taieb wraps up with a deep look into the future of data science for developers and his views on AI for data science. What you will learn Bridge the gap between developer and data scientist with a Python-based toolset Get the most out of Jupyter Notebooks with new productivity-enhancing tools Explore and visualize data using Jupyter Notebooks and PixieDust Work with and assess the impact of artificial intelligence in data science Work with TensorFlow, graphs, natural language processing, and time series Deep dive into multiple industry data science use cases Look into the future of data analysis and where to develop your skills Who this book is for This book is for established developers who want to bridge the gap between programmers and data scientists. With the introduction of PixieDust from its creator, the book will also be a great desk companion for the already accomplished Data Scientist. Some fluency in data interpretation and visualization is also assumed since this book addresses data professionals such as business and general data analysts. It will be helpful to have some knowledge of Python, using Python libraries, and some proficiency in web development. Table of Contents Chapter 1 Perspectives on Data Science from a Developer Chapter 2 Data Science at Scale with Jupyter Notebooks and PixieDust Chapter 3 PixieApp under the Hood Chapter 4 Deploying PixieApps to the Web with the PixieGateway Server Chapter 5 Best Practices and Advanced PixieDust Concepts Chapter 6 Image Recognition with TensorFlow Chapter 7 Big Data Twitter Sentiment Analysis Chapter 8 Financial Time Series Analysis and Forecasting Chapter 9 US Domestic Flight Data Analysis Using Graphs Chapter 10 Final Thoughts

    0
    168
    22.87MB
    2018-11-05
    10
  • Problem Solving in Data Structures & Algorithms Using Java, 2nd

    2018出版的第二版。 This book introduces you to the world of data structures and algorithms. Data structures defines the way in which data is arranged in memory for fast and efficient access while algorithms are a set of instruction to solve problems by manipulating these data structures. Designing an efficient algorithm is a very important skill that all software companies, e.g. Microsoft, Google, Facebook etc. pursues. Most of the interviews for these companies are focused on knowledge of data-structures and algorithms. They look for how candidates use concepts of data structures and algorithms to solve complex problems efficiently. Apart from knowing, a programming language you also need to have good command of these key computer fundamentals to not only qualify the interview but also excel in you jobs as a software engineer. This book assumes that you are a Java language developer. You are not an expert in Java language, but you are well familiar with concepts of classes, functions, arrays, pointers and recursion. At the start of this book, we will be looking into Complexity Analysis followed by the various data structures and their algorithms. We will be looking into a Linked-List, Stack, Queue, Trees, Heap, Hash-Table and Graphs. We will also be looking into Sorting, Searching techniques. In last few chapters, we will be looking into various algorithmic techniques. Such as, Brute-Force algorithms, Greedy algorithms, Divide and Conquer algorithms, Dynamic Programming, Reduction and Backtracking. .

    0
    100
    10.8MB
    2018-10-20
    8
  • Software Architecture with Spring 5.0

    Discover how different software architectural models can help you solve problems, and learn best practices for the software development cycle Spring 5 and its ecosystem can be used to build robust architectures effectively. Software architecture is the underlying piece that helps us accomplish our business goals whilst supporting the features that a product demands. This book explains in detail how to choose the right architecture and apply best practices during your software development cycle to avoid technical debt and support every business requirement. Choosing the right architecture model to support your business requirements is one of the key decisions you need to take when a new product is being created from scratch or is being refactored to support new business demands. This book gives you insights into the most common architectural models and guides you when and where they can be used. During this journey, you’ll see cutting-edge technologies surrounding the Spring products, and understand how to use agile techniques such as DevOps and continuous delivery to take your software to production effectively. By the end of this book, you’ll not only know the ins and outs of Spring, but also be able to make critical design decisions that surpass your clients’ expectations. What you will learn Understand the key principles of software architecture Uncover the most common architectural models available Analyze scenarios where an architecture model should be used Implement agile techniques to take your software to production Secure the products you are working on Master tricks that will help you build high-performant applications Use cutting-edge technologies to build products

    0
    371
    24.68MB
    2018-10-20
    10
  • 创作能手

    授予每个自然周发布1篇到3篇原创IT博文的用户
关注 私信
上传资源赚积分or赚钱