Starting a career in programming can be intimidating. Whether you're switching careers, joining a bootcamp, starting a C.S. degree, or learning on your own, Your First Year in Code can help, with practical advice on topics like code reviews, resume writing, fitting in, ethics, and finding your dream job.
Why do you waste your time PASSIVELY reading Python books?Puzzle-based learning is an ACTIVE learning technique. With code puzzles, you will learn faster, smarter, and better.The Coffee Break Python book series teaches you Python in byte-sized code puzzles. You solve a code puzzle a day while you enjoy your morning coffee. It’s that simple.
Unleash the power of dynamic programming! Master efficiency and solve complex problems with expertly crafted solutions. Java and Python code examples guide your path to optimized application performance. Dive into "The Dynamic Programming Manual" and unlock the secrets of success!
Are you a beginner or an intermediate learner who has been struggling through the maze of OOP and Design Patterns concepts of PHP and you also want to learn the cool new features of PHP 7?Then this book is for you.
An extensive glossary of software architecture (and development) terminology. Explains the terms used and referenced in the iSAQB foundation and advanced level curricula.
This book introduces the use of Docker focusing on best usage practices, based on the 12factor methodology.
¿A que dedica el tiempo el programador? Parece una pregunta para el capitán obvio. El programador dedicará la mayor parte de su tiempo a programar, ¿no? En cierta medida esa afirmación es cierta. De hecho, si no dedicara tiempo a programar no sería un programador. Sería otra cosa. Pero ...
You know Java. The hard part is the @Transactional method that quietly opens no transaction, the list endpoint that issues a thousand queries, and the service field two threads corrupt under load — failures that produce no compiler error, no stack trace, and no failing test. This is a field manual about those failures and the skills that surround them: reading a codebase you did not write, changing it safely, and diagnosing it when it breaks.
What does it take to build distributed systems that keep working when things go wrong? Engineering Distributed Systems on the BEAM goes beyond syntax to show how Erlang/OTP turns concurrency, failure and recovery into practical design tools. Build a real system from the ground up, then learn how to scale, deploy and operate it with confidence.
Build terminal apps that feel fast, polished and built to last. Terminal Interfaces takes you from the fundamentals of how terminals work to production-ready TUIs in Go, Python and Rust, using complete examples that grow from simple programs into powerful real-world tools.
Running LLMs locally is easy. Running them well is an engineering problem. Practical LLM Inference gets into the details that matter, from quantization and GGUF internals to GPU offloading, benchmarking and production deployment. Learn how to size hardware, find bottlenecks and build fast, reliable inference systems without the AI hand-waving.
Formal verification does not have to live in research papers. This practical guide shows working software engineers how to turn real requirements into precise, machine-checkable guarantees, find bugs before they reach production and bring formal methods into everyday development, from application code to distributed and security-critical systems.
Advanced Rust Programming goes beneath Rust’s safe surface to reveal the machinery that makes high-performance systems possible. Explore unsafe contracts, atomics, async internals, FFI, allocators and more through practical examples that sharpen your instincts and help you build faster, safer production-grade software.
AI can write code in seconds, but can you trust what it creates? Securing AI-Generated Code shows you how to uncover hidden vulnerabilities, stop risky dependencies, secure AI coding agents and build safer development pipelines. A practical guide for teams that want the speed of AI without putting security on the line.
Discover what makes Racket more than just another programming language. Mastering Racket takes you from the fundamentals to macros, concurrency, web development and custom language design through practical, runnable examples. Learn to think in Racket and unlock the ideas that make it such a powerful tool for building software.