IT eBooks
Download, Read, Use

No Starch Press

The Book of Inkscape, 2nd Edition
The Book of Inkscape, 2nd Edition

Dmitry Kirsanov, a former core Inkscape developer, shares his knowledge of Inkscape's inner workings as he shows how to use Inkscape to draw with various tools, work with objects, apply realistic and artistic effects, and more. Step-by-step task-based tutorials show you how to create business cards, animations, technical and artistic drawings, and graphic assets for games. This 2nd edition covers the new tools, improved text features, advanced new path effects and filters, as well as many new UI conveniences in Inkscape 1.0. A new chapter describes Inkscape's extensions for both users and developers. ...
The Art of 64-Bit Assembly
The Art of 64-Bit Assembly

Randall Hyde's The Art of Assembly Language has long been the go-to guide for learning assembly language. In this long-awaited follow-up, Hyde presents a 64-bit rewrite of his seminal text. It not only covers the instruction set for today's x86-64 class of processors in-depth (using MASM), but also leads you through the maze of assembly language programming and machine organization by showing you how to write code that mimics operations in high-level languages. Beginning with a "quick-start" chapter that gets you writing basic ASM applications as rapidly as possible, Hyde covers the fundamentals of machine organization, computer data representation and operations, and memory access. He'll teach you assembly language programming, starting with basic data types and arithmetic, progressing through control structures and arithmetic to advanced topics like table lookups and string manipulation. In addition to the standard integer instruction set, the book covers the x87 FPU, single-instr ...
Introduction to Computer Organization
Introduction to Computer Organization

Introduction to Computer Organization gives programmers a practical understanding of what happens in a computer when you execute your code. You may never have to write x86-64 assembly language or design hardware yourself, but knowing how the hardware and software works will give you greater control and confidence over your coding decisions. We start with high level fundamental concepts like memory organization, binary logic, and data types and then explore how they are implemented at the assembly language level. The goal isn't to make you an assembly programmer, but to help you comprehend what happens behind the scenes between running your program and seeing "Hello World" displayed on the screen. Classroom-tested for over a decade, this book will demystify topics like: How to translate a high-level language code into assembly language; How the operating system manages hardware resources with exceptions and interrupts; How data is encoded in memory; How hardware switches handle decim ...
Designing Secure Software
Designing Secure Software

Designing Secure Software consolidates Loren Kohnfelder's more than twenty years of experience into a concise, elegant guide to improving the security of technology products. Written for a wide range of software professionals, it emphasizes building security into software design early and involving the entire team in the process. The book begins with a discussion of core concepts like trust, threats, mitigation, secure design patterns, and cryptography. The second part, perhaps this book's most unique and important contribution to the field, covers the process of designing and reviewing a software design with security considerations in mind. The final section details the most common coding flaws that create vulnerabilities, making copious use of code snippets written in C and Python to illustrate implementation vulnerabilities. You'll learn how to: Identify important assets, the attack surface, and the trust boundaries in a system; Evaluate the effectiveness of various threat mit ...
Ethical Hacking
Ethical Hacking

Ethical Hacking is a crash course in modern hacking techniques. It's already being used to prepare the next generation of offensive security experts. In its many hands-on labs, you'll explore crucial skills for any aspiring penetration tester, security researcher, or malware analyst. You'll begin with the basics: capturing a victim's network traffic with an ARP spoofing attack and then viewing it in Wireshark. From there, you'll deploy reverse shells that let you remotely run commands on a victim's computer, encrypt files by writing your own ransomware in Python, and fake emails like the ones used in phishing attacks. In advanced chapters, you'll learn how to fuzz for new vulnerabilities, craft trojans and rootkits, exploit websites with SQL injection, and escalate your privileges to extract credentials, which you'll use to traverse a private network. You'll work with a wide range of professional penetration testing tools - and learn to write your own tools in Python - as you pra ...
Practical Deep Learning
Practical Deep Learning

If you've been curious about machine learning but didn't know where to start, this is the book you've been waiting for. Focusing on the subfield of machine learning known as deep learning, it explains core concepts and gives you the foundation you need to start building your own models. Rather than simply outlining recipes for using existing toolkits, Practical Deep Learning teaches you the why of deep learning and will inspire you to explore further. All you need is basic familiarity with computer programming and high school math - the book will cover the rest. After an introduction to Python, you'll move through key topics like how to build a good training dataset, work with the scikit-learn and Keras libraries, and evaluate your models' performance. You'll also learn: - How to use classic machine learning models like k-Nearest Neighbors, Random Forests, and Support Vector Machines; - How neural networks work and how they're trained; - How to use convolutional neural network ...
Racket Programming the Fun Way
Racket Programming the Fun Way

At last, a lively guided tour through all the features, functions, and applications of the Racket programming language. You'll learn a variety of coding paradigms, including iterative, object oriented, and logic programming; create interactive graphics, draw diagrams, and solve puzzles as you explore Racket through fun computer science topics - from statistical analysis to search algorithms, the Turing machine, and more. Early chapters cover basic Racket concepts like data types, syntax, variables, strings, and formatted output. You'll learn how to perform math in Racket's rich numerical environment, and use programming constructs in different problem domains (like coding solutions to the Tower of Hanoi puzzle). Later, you'll play with plotting, grapple with graphics, and visualize data. Then, you'll escape the confines of the command line to produce animations, interactive games, and a card trick program that'll dazzle your friends. You'll learn how tot: - Use DrRacket, an inte ...
Beyond the Basic Stuff with Python
Beyond the Basic Stuff with Python

You've completed a basic Python programming tutorial or finished Al Sweigart's best selling Automate the Boring Stuff with Python. What's the next step toward becoming a capable, confident software developer? Welcome to Beyond the Basic Stuff with Python. More than a mere collection of advanced syntax and masterful tips for writing clean code, you'll learn how to advance your Python programming skills by using the command line and other professional tools like code formatters, type checkers, linters, and version control. Sweigart takes you through best practices for setting up your development environment, naming variables, and improving readability, then tackles documentation, organization and performance measurement, as well as object-oriented design and the Big-O algorithm analysis commonly used in coding interviews. The skills you learn will boost your ability to program - not just in Python but in any language. You'll learn: - Coding style, and how to use Python's Black aut ...
How Computers Really Work
How Computers Really Work

How Computers Really Work is a hands-on guide to the computing ecosystem: everything from circuits to memory and clock signals, machine code, programming languages, operating systems, and the internet. But you won't just read about these concepts, you'll test your knowledge with exercises, and practice what you learn with 41 optional hands-on projects. Build digital circuits, craft a guessing game, convert decimal numbers to binary, examine virtual memory usage, run your own web server, and more. Explore concepts like how to: - Think like a software engineer as you use data to describe a real world concept; - Use Ohm's and Kirchhoff's laws to analyze an electrical circuit; - Think like a computer as you practice binary addition and execute a program in your mind, step-by-step. The book's projects will have you translate your learning into action, as you: - Learn how to use a multimeter to measure resistance, current, and voltage; - Build a half adder to see how logical op ...
Algorithmic Thinking
Algorithmic Thinking

Algorithmic Thinking will teach you how to solve challenging programming problems and design your own algorithms. Daniel Zingaro, a master teacher, draws his examples from world-class programming competitions like USACO and IOI. You'll learn how to classify problems, choose data structures, and identify appropriate algorithms. You'll also learn how your choice of data structure, whether a hash table, heap, or tree, can affect runtime and speed up your algorithms; and how to adopt powerful strategies like recursion, dynamic programming, and binary search to solve challenging problems. Line-by-line breakdowns of the code will teach you how to use algorithms and data structures like: - The breadth-first search algorithm to find the optimal way to play a board game or find the best way to translate a book; - Dijkstra's algorithm to determine how many mice can exit a maze or the number of fastest routes between two locations; - The union-find data structure to answer questions about c ...
Dive Into Algorithms
Dive Into Algorithms

Dive Into Algorithms is a wide-ranging, Pythonic tour of many of the world's most interesting algorithms. With little more than a bit of computer programming experience and basic high-school math, you'll explore standard computer science algorithms for searching, sorting, and optimization; human-based algorithms that help us determine how to catch a baseball or eat the right amount at a buffet; and advanced algorithms like ones used in machine learning and artificial intelligence. You'll even explore how ancient Egyptians and Russian peasants used algorithms to multiply numbers, how the ancient Greeks used them to find greatest common divisors, and how Japanese scholars in the age of samurai designed algorithms capable of generating magic squares. You'll explore algorithms that are useful in pure mathematics and learn how mathematical ideas can improve algorithms. You'll learn about an algorithm for generating continued fractions, one for quick calculations of square roots, and anot ...
← Prev       Next →
Reproduction of site books is authorized only for informative purposes and strictly for personal, private use.
Only Direct Download
IT eBooks Group © 2011-2024