Warehouse Stock Clearance Sale

Grab a bargain today!


Sign Up for Fishpond's Best Deals Delivered to You Every Day
Go
Beginning Rust Programming

Rating
Format
Paperback, 416 pages
Published
United States, 1 March 2021

Introduction xix Chapter 1: Game of Life: The Basics 1 Game of Life: The Program 2 Starting with Cargo 4 Putting the Pieces Together 5 Bringing In External Functionality 5 Namespaces 6 Generating the Game Grid 7 Dissecting Main 8 Defining Functions 8 Defining Variables 9 Datatypes 11 Arrays 12 Control Structures 14 Looking at More Function Functions 16 Returning Values 16 Passing Parameters 18 Scope 21 Compiling Programs 22 Summary 24 Exercises 25 Additional Resources 25 Chapter 2: Extended Life 27 Understanding Ownership 28 Extending Life 30 Adding Modules 32 Working with Command-Line Arguments 34 Option Types 36 Reading from Files 39 Extracting Values 41 Populating from the Vector 42 Outputting to the Terminal 43 Using Colors 44 Printing Generations 44 Summary 46 Exercises 48 Additional Resources 48 Chapter 3: Building A Library 49 References 50 First Pass 53 Traits and Implementations 56 Self-Identification 60 The Rest 60 Second Pass 62 The Driver 65 Summary 67 Exercises 69 Additional Resources 69 Chapter 4: Hangman 71 Our Data 74 The Traits 77 Implementations 79 Using the Option Enum 82 Finishing Up the Implementation 83 Reading Files and Selecting Words 84 Handling Errors Concisely 85 Generics and Bounds 87 A Vector of Lines 88 The Rest of the Story 90 Initialization 91 Playing the Game 92 Summary 94 Exercises 95 Additional Resources 95 Chapter 5: In Concurrence 97 The Dining Philosophers 98 Mutexes and Semaphores 101 Interprocess Communications 103 The Main Event 106 Unix Sockets 107 File and Directory Handling 109 Closures 112 Threading in the Main 114 Creating Streams 115 Cryptographic Hashing 116 Creating Threads 117 Summary 118 Exercises 119 Additional Resources 119 Chapter 6: Clients and Servers 121 Planning 123 Network Programming 125 Programming Sockets 128 Rust TCP Server 131 Handling Requests 134 Operating System Calls 137 Summary 139 Exercises 140 Additional Resources 140 Chapter 7: Client-Side Applications 141 Encryption 142 Encryption Algorithms 144 Going Hybrid 145 Encryption Algorithms 147 Transport Layer Security (TLS) 147 TLS Server 151 Remote Access Client 154 Creating the Connection 156 Validating Input 157 Regular Expressions 157 The Final Function 159 Summary 163 Exercises 164 Additional Resources 164 Chapter 8: Going Relational 165 Application Architectures 166 n-Tier Applications 167 Microservices 169 Model-View-Controller 171 Databases 172 Structured Query Language 172 Server or Embedded 175 Accessing Databases 176 Writing a Database Program 177 Main and Modules 178 Database Functions 183 Adding Records 184 Listing Records 186 Summary 189 Exercises 190 Additional Resources 190 Chapter 9: NO(SQL) Going 191 Assertions 192 Design by Contract 195 NoSQL 198 Working with MongoDB 202 Inserting Data 202 Reading in Data from a File 206 Populating the Database 207 Retrieving Values 209 Summary 213 Exercises 214 Additional Resources 214 Chapter 10: Web Communications 215 Style Guides 216 Hypertext Transfer Protocol 219 Programmatic Communication 222 Web Communication Over TLS 227 Client Communication 229 Jumping Ahead 232 Jumping Back 237 Summary 238 Exercises 239 Additional Resources 240 Chapter 11: Web Server 241 Offensive vs. Defensive Programming 242 Web Application Communications 245 Web Application Parameters 245 Asynchronous JavaScript and XML 248 Representational State Transfer 249 APIs in Node.js and Python 250 API Server in Rust 252 Rust Rocket 255 Summary 262 Exercises 262 Additional Resources 263 Chapter 12: Getting to the System 265 Extending Functionality 266 Windows Registry 272 Programmatic Access to the Registry 275 Using Rust to Access the Registry 277 System Information with Rust 282 Persistence (for Fun) 287 Summary 289 Exercises 290 Additional Resources 290 Chapter 13: Device Programming 291 Logging 292 Using syslog 292 Using Windows Event Logs 299 Working with Raspberry Pi 305 Lighting Lights 310 Reading GPIO 315 Summary 318 Exercises 319 Additional Resources 319 Chapter 14: Collecting Stuff 321 Arrays and Vectors 322 Linked Lists 329 Stacks 333 Queues 336 Sorting 337 Search Trees 340 Summary 345 Exercises 346 Additional Resources 346 Chapter 15: Odds and Sods 347 Unit Testing 348 Testing Types 350 Test Plans 351 Unit Tests 353 Recursion 360 Machine Learning 364 Chatbots 366 Neural Networks 369 Summary 371 Exercises 373 Additional Resources 373 Index 375

Show more

Our Price
£27.30
Elsewhere
£37.99
Save £10.69 (28%)
Ships from UK Estimated delivery date: 15th Apr - 17th Apr from UK

Buy Together
+
Buy together with Learning Kali Linux at a great price!
Buy Together
£61.06
Elsewhere Price
£75.29
You Save £14.23 (19%)

Product Description

Introduction xix Chapter 1: Game of Life: The Basics 1 Game of Life: The Program 2 Starting with Cargo 4 Putting the Pieces Together 5 Bringing In External Functionality 5 Namespaces 6 Generating the Game Grid 7 Dissecting Main 8 Defining Functions 8 Defining Variables 9 Datatypes 11 Arrays 12 Control Structures 14 Looking at More Function Functions 16 Returning Values 16 Passing Parameters 18 Scope 21 Compiling Programs 22 Summary 24 Exercises 25 Additional Resources 25 Chapter 2: Extended Life 27 Understanding Ownership 28 Extending Life 30 Adding Modules 32 Working with Command-Line Arguments 34 Option Types 36 Reading from Files 39 Extracting Values 41 Populating from the Vector 42 Outputting to the Terminal 43 Using Colors 44 Printing Generations 44 Summary 46 Exercises 48 Additional Resources 48 Chapter 3: Building A Library 49 References 50 First Pass 53 Traits and Implementations 56 Self-Identification 60 The Rest 60 Second Pass 62 The Driver 65 Summary 67 Exercises 69 Additional Resources 69 Chapter 4: Hangman 71 Our Data 74 The Traits 77 Implementations 79 Using the Option Enum 82 Finishing Up the Implementation 83 Reading Files and Selecting Words 84 Handling Errors Concisely 85 Generics and Bounds 87 A Vector of Lines 88 The Rest of the Story 90 Initialization 91 Playing the Game 92 Summary 94 Exercises 95 Additional Resources 95 Chapter 5: In Concurrence 97 The Dining Philosophers 98 Mutexes and Semaphores 101 Interprocess Communications 103 The Main Event 106 Unix Sockets 107 File and Directory Handling 109 Closures 112 Threading in the Main 114 Creating Streams 115 Cryptographic Hashing 116 Creating Threads 117 Summary 118 Exercises 119 Additional Resources 119 Chapter 6: Clients and Servers 121 Planning 123 Network Programming 125 Programming Sockets 128 Rust TCP Server 131 Handling Requests 134 Operating System Calls 137 Summary 139 Exercises 140 Additional Resources 140 Chapter 7: Client-Side Applications 141 Encryption 142 Encryption Algorithms 144 Going Hybrid 145 Encryption Algorithms 147 Transport Layer Security (TLS) 147 TLS Server 151 Remote Access Client 154 Creating the Connection 156 Validating Input 157 Regular Expressions 157 The Final Function 159 Summary 163 Exercises 164 Additional Resources 164 Chapter 8: Going Relational 165 Application Architectures 166 n-Tier Applications 167 Microservices 169 Model-View-Controller 171 Databases 172 Structured Query Language 172 Server or Embedded 175 Accessing Databases 176 Writing a Database Program 177 Main and Modules 178 Database Functions 183 Adding Records 184 Listing Records 186 Summary 189 Exercises 190 Additional Resources 190 Chapter 9: NO(SQL) Going 191 Assertions 192 Design by Contract 195 NoSQL 198 Working with MongoDB 202 Inserting Data 202 Reading in Data from a File 206 Populating the Database 207 Retrieving Values 209 Summary 213 Exercises 214 Additional Resources 214 Chapter 10: Web Communications 215 Style Guides 216 Hypertext Transfer Protocol 219 Programmatic Communication 222 Web Communication Over TLS 227 Client Communication 229 Jumping Ahead 232 Jumping Back 237 Summary 238 Exercises 239 Additional Resources 240 Chapter 11: Web Server 241 Offensive vs. Defensive Programming 242 Web Application Communications 245 Web Application Parameters 245 Asynchronous JavaScript and XML 248 Representational State Transfer 249 APIs in Node.js and Python 250 API Server in Rust 252 Rust Rocket 255 Summary 262 Exercises 262 Additional Resources 263 Chapter 12: Getting to the System 265 Extending Functionality 266 Windows Registry 272 Programmatic Access to the Registry 275 Using Rust to Access the Registry 277 System Information with Rust 282 Persistence (for Fun) 287 Summary 289 Exercises 290 Additional Resources 290 Chapter 13: Device Programming 291 Logging 292 Using syslog 292 Using Windows Event Logs 299 Working with Raspberry Pi 305 Lighting Lights 310 Reading GPIO 315 Summary 318 Exercises 319 Additional Resources 319 Chapter 14: Collecting Stuff 321 Arrays and Vectors 322 Linked Lists 329 Stacks 333 Queues 336 Sorting 337 Search Trees 340 Summary 345 Exercises 346 Additional Resources 346 Chapter 15: Odds and Sods 347 Unit Testing 348 Testing Types 350 Test Plans 351 Unit Tests 353 Recursion 360 Machine Learning 364 Chatbots 366 Neural Networks 369 Summary 371 Exercises 373 Additional Resources 373 Index 375

Show more
Product Details
EAN
9781119712978
ISBN
1119712971
Publisher
Dimensions
23.4 x 18.5 x 3.1 centimeters (0.67 kg)

Table of Contents

Introduction xix

Chapter 1: Game of Life: The Basics 1

Game of Life: The Program 2

Starting with Cargo 4

Putting the Pieces Together 5

Bringing In External Functionality 5

Namespaces 6

Generating the Game Grid 7

Dissecting Main 8

Defining Functions 8

Defining Variables 9

Datatypes 11

Arrays 12

Control Structures 14

Looking at More Function Functions 16

Returning Values 16

Passing Parameters 18

Scope 21

Compiling Programs 22

Summary 24

Exercises 25

Additional Resources 25

Chapter 2: Extended Life 27

Understanding Ownership 28

Extending Life 30

Adding Modules 32

Working with Command-Line Arguments 34

Option Types 36

Reading from Files 39

Extracting Values 41

Populating from the Vector 42

Outputting to the Terminal 43

Using Colors 44

Printing Generations 44

Summary 46

Exercises 48

Additional Resources 48

Chapter 3: Building A Library 49

References 50

First Pass 53

Traits and Implementations 56

Self-Identification 60

The Rest 60

Second Pass 62

The Driver 65

Summary 67

Exercises 69

Additional Resources 69

Chapter 4: Hangman 71

Our Data 74

The Traits 77

Implementations 79

Using the Option Enum 82

Finishing Up the Implementation 83

Reading Files and Selecting Words 84

Handling Errors Concisely 85

Generics and Bounds 87

A Vector of Lines 88

The Rest of the Story 90

Initialization 91

Playing the Game 92

Summary 94

Exercises 95

Additional Resources 95

Chapter 5: In Concurrence 97

The Dining Philosophers 98

Mutexes and Semaphores 101

Interprocess Communications 103

The Main Event 106

Unix Sockets 107

File and Directory Handling 109

Closures 112

Threading in the Main 114

Creating Streams 115

Cryptographic Hashing 116

Creating Threads 117

Summary 118

Exercises 119

Additional Resources 119

Chapter 6: Clients and Servers 121

Planning 123

Network Programming 125

Programming Sockets 128

Rust TCP Server 131

Handling Requests 134

Operating System Calls 137

Summary 139

Exercises 140

Additional Resources 140

Chapter 7: Client-Side Applications 141

Encryption 142

Encryption Algorithms 144

Going Hybrid 145

Encryption Algorithms 147

Transport Layer Security (TLS) 147

TLS Server 151

Remote Access Client 154

Creating the Connection 156

Validating Input 157

Regular Expressions 157

The Final Function 159

Summary 163

Exercises 164

Additional Resources 164

Chapter 8: Going Relational 165

Application Architectures 166

n-Tier Applications 167

Microservices 169

Model-View-Controller 171

Databases 172

Structured Query Language 172

Server or Embedded 175

Accessing Databases 176

Writing a Database Program 177

Main and Modules 178

Database Functions 183

Adding Records 184

Listing Records 186

Summary 189

Exercises 190

Additional Resources 190

Chapter 9: NO(SQL) Going 191

Assertions 192

Design by Contract 195

NoSQL 198

Working with MongoDB 202

Inserting Data 202

Reading in Data from a File 206

Populating the Database 207

Retrieving Values 209

Summary 213

Exercises 214

Additional Resources 214

Chapter 10: Web Communications 215

Style Guides 216

Hypertext Transfer Protocol 219

Programmatic Communication 222

Web Communication Over TLS 227

Client Communication 229

Jumping Ahead 232

Jumping Back 237

Summary 238

Exercises 239

Additional Resources 240

Chapter 11: Web Server 241

Offensive vs. Defensive Programming 242

Web Application Communications 245

Web Application Parameters 245

Asynchronous JavaScript and XML 248

Representational State Transfer 249

APIs in Node.js and Python 250

API Server in Rust 252

Rust Rocket 255

Summary 262

Exercises 262

Additional Resources 263

Chapter 12: Getting to the System 265

Extending Functionality 266

Windows Registry 272

Programmatic Access to the Registry 275

Using Rust to Access the Registry 277

System Information with Rust 282

Persistence (for Fun) 287

Summary 289

Exercises 290

Additional Resources 290

Chapter 13: Device Programming 291

Logging 292

Using syslog 292

Using Windows Event Logs 299

Working with Raspberry Pi 305

Lighting Lights 310

Reading GPIO 315

Summary 318

Exercises 319

Additional Resources 319

Chapter 14: Collecting Stuff 321

Arrays and Vectors 322

Linked Lists 329

Stacks 333

Queues 336

Sorting 337

Search Trees 340

Summary 345

Exercises 346

Additional Resources 346

Chapter 15: Odds and Sods 347

Unit Testing 348

Testing Types 350

Test Plans 351

Unit Tests 353

Recursion 360

Machine Learning 364

Chatbots 366

Neural Networks 369

Summary 371

Exercises 373

Additional Resources 373

Index 375

About the Author

About the Author

Ric Messier is Senior Information Security Consultant with FireEye Mandiant. He is an author, consultant, and educator who holds GCIH, GSEC, CEH, and CISSP certifications and has published several books on information security and digital forensics. He is familiar with a wide variety of languages, including BASIC, Pascal, C, C++, C#, Rexx, Perl, Python, Java, Go, Swift, and Objective-C.

Visit us at wrox.com for free code samples.

Show more
Review this Product
Ask a Question About this Product More...
 
Item ships from and is sold by Fishpond World Ltd.

Back to top
We use essential and some optional cookies to provide you the best shopping experience. Visit our cookies policy page for more information.