Book picks similar to
Introduction to Java Programming by Y. Daniel Liang
box4
cart-wishlist
computer-science
computer-tech-skillz
Writing Secure Code
Michael Howard - 2001
You need to assume it will run in the most hostile environments imaginable -- and design, code, and test accordingly. Writing Secure Code, Second Edition shows you how. This edition draws on the lessons learned and taught throughout Microsoft during the firm s massive 2002 Windows Security Push. It s a huge upgrade to the respected First Edition, with new coverage across the board. Michael Howard and David LeBlanc first help you define what security means to your customers -- and implement a three-pronged strategy for securing design, defaults, and deployment. There s especially useful coverage of threat modeling -- decomposing your application, identifying threats, ranking them, and mitigating them. Then, it s on to in-depth coverage of today s key security issues from the developer s standpoint. Everyone knows buffer overruns are bad: Here s a full chapter on avoiding them. You ll learn how to establish appropriate access controls and default to running with least privilege. There s detailed coverage of overcoming attacks on cryptography (for example, avoiding poor random numbers and bit-flipping attacks). You ll learn countermeasures for virtually every form of user input attack, from malicious database updates to cross-site scripting. We ve just scratched the surface: There are authoritative techniques for securing sockets and RPC, protecting against DOS attacks, building safer .NET applications, reviewing and testing code, adding privacy features, and even writing high-quality security documentation. Following these techniques won t just improve security -- it ll dramatically improve robustness and reliability, too. Bill CamardaBill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.
Fluent Python: Clear, Concise, and Effective Programming
Luciano Ramalho - 2015
With this hands-on guide, you'll learn how to write effective, idiomatic Python code by leveraging its best and possibly most neglected features. Author Luciano Ramalho takes you through Python's core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time.Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3.This book covers:Python data model: understand how special methods are the key to the consistent behavior of objectsData structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode ageFunctions as objects: view Python functions as first-class objects, and understand how this affects popular design patternsObject-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritanceControl flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packagesMetaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work"
Absolute Beginner's Guide to C
Greg Perry - 1993
This bestseller talks to readers at their level, explaining every aspect of how to get started and learn the C language quickly. Readers also find out where to learn more about C. This book includes tear-out reference card of C functions and statements, a hierarchy chart, and other valuable information. It uses special icons, notes, clues, warnings, and rewards to make understanding easier. And the clear and friendly style presumes no programming knowledge.
The Code: Silicon Valley and the Remaking of America
Margaret O'Mara - 2019
There she saw first-hand how deeply intertwined Silicon Valley was with the federal government, and always had been, and how shallow the common understanding of the secrets of the Valley's success actually was. Now, after almost five years of pioneering research, O'Mara has produced the definitive history of Silicon Valley for our time, the story of mavericks and visionaries, but also of powerful institutions creating the framework for innovation, from the Pentagon to Stanford University. It is also a story of a community that started off remarkably homogeneous and elitist and stayed that way, and whose belief in its own mythology has deepened into a collective hubris that has led to astonishing triumphs as well as devastating second-order effects.Deploying a wonderfully rich and diverse cast of protagonists, from the justly famous to the unjustly obscure, across four generations of explosive growth in the Valley, from the Forties to the present, O'Mara has wrestled into magnificent narrative form one of the most fateful developments in modern American history. She is on the ground with all of the key tech companies, and chronicles the evolution in their offerings through each successive era, and she has a profound fingertip feel for the politics of the sector, and its relation to the larger cultural narrative about tech as it has evolved over the years. Perhaps most impressively, O'Mara has penetrated the inner kingdom of tech venture capital firms, the insular and still remarkably old-boy world that became the cockpit of American capitalism and the crucible for bringing technological innovation to market, or not. The transformation of big tech into the engine room of the American economy and the nexus of so many of our hopes and dreams--and increasingly nightmares--can be understood, in Margaret O'Mara's masterful hands, as the story of one California valley. As her majestic history makes clear, its fate is the fate of us all.
The Non-Designer's Design Book
Robin P. Williams - 2003
Not to worry: This book is the one place you can turn to find quick, non-intimidating, excellent design help. In The Non-Designer's Design Book, 2nd Edition, best-selling author Robin Williams turns her attention to the basic principles of good design and typography. All you have to do is follow her clearly explained concepts, and you'll begin producing more sophisticated, professional, and interesting pages immediately. Humor-infused, jargon-free prose interspersed with design exercises, quizzes, illustrations, and dozens of examples make learning a snap—which is just what audiences have come to expect from this best-selling author.
Networking for Systems Administrators (IT Mastery Book 5)
Michael W. Lucas - 2015
Servers give sysadmins a incredible visibility into the network—once they know how to unlock it. Most sysadmins don’t need to understand window scaling, or the differences between IPv4 and IPv6 echo requests, or other intricacies of the TCP/IP protocols. You need only enough to deploy your own applications and get easy support from the network team.This book teaches you:•How modern networks really work•The essentials of TCP/IP•The next-generation protocol, IPv6•The right tools to diagnose network problems, and how to use them•Troubleshooting everything from the physical wire to DNS•How to see the traffic you send and receive•Connectivity testing•How to communicate with your network team to quickly resolve problemsA systems administrator doesn’t need to know the innards of TCP/IP, but knowing enough to diagnose your own network issues transforms a good sysadmin into a great one.
Types and Programming Languages
Benjamin C. Pierce - 2002
The study of type systems--and of programming languages from a type-theoretic perspective--has important applications in software engineering, language design, high-performance compilers, and security.This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages. The approach is pragmatic and operational; each new concept is motivated by programming examples and the more theoretical sections are driven by the needs of implementations. Each chapter is accompanied by numerous exercises and solutions, as well as a running implementation, available via the Web. Dependencies between chapters are explicitly identified, allowing readers to choose a variety of paths through the material.The core topics include the untyped lambda-calculus, simple type systems, type reconstruction, universal and existential polymorphism, subtyping, bounded quantification, recursive types, kinds, and type operators. Extended case studies develop a variety of approaches to modeling the features of object-oriented languages.
The Basics of Digital Forensics: The Primer for Getting Started in Digital Forensics
John Sammons - 2011
This book teaches you how to conduct examinations by explaining what digital forensics is, the methodologies used, key technical concepts and the tools needed to perform examinations. Details on digital forensics for computers, networks, cell phones, GPS, the cloud, and Internet are discussed. Readers will also learn how to collect evidence, document the scene, and recover deleted data. This is the only resource your students need to get a jump-start into digital forensics investigations.This book is organized into 11 chapters. After an introduction to the basics of digital forensics, the book proceeds with a discussion of key technical concepts. Succeeding chapters cover labs and tools; collecting evidence; Windows system artifacts; anti-forensics; Internet and email; network forensics; and mobile device forensics. The book concludes by outlining challenges and concerns associated with digital forensics. PowerPoint lecture slides are also available.This book will be a valuable resource for entry-level digital forensics professionals as well as those in complimentary fields including law enforcement, legal, and general information security.
Introduction to Information Systems
James A. O'Brien - 1991
Reflecting the movement toward enterprise-wide business applications, this work focuses on teaching the general business manager how to use and manage IT technologies such as the Internet, Intranets, and Extranets for enterprise collaboration, and how IT contributes to competitive advantage, reengineering business processes, and decision-making.
The Waite Group's Turbo C Programming for the PC
Robert Lafore - 1987
Assuming no prior knowledge of C, this introductory-level book demonstrates and explains how to write useful and marketable programs in Turbo C on the IBM PC, XT, AT, and PC/Z computers.
Hadoop in Action
Chuck Lam - 2010
The intended readers are programmers, architects, and project managers who have to process large amounts of data offline. Hadoop in Action will lead the reader from obtaining a copy of Hadoop to setting it up in a cluster and writing data analytic programs.The book begins by making the basic idea of Hadoop and MapReduce easier to grasp by applying the default Hadoop installation to a few easy-to-follow tasks, such as analyzing changes in word frequency across a body of documents. The book continues through the basic concepts of MapReduce applications developed using Hadoop, including a close look at framework components, use of Hadoop for a variety of data analysis tasks, and numerous examples of Hadoop in action.Hadoop in Action will explain how to use Hadoop and present design patterns and practices of programming MapReduce. MapReduce is a complex idea both conceptually and in its implementation, and Hadoop users are challenged to learn all the knobs and levers for running Hadoop. This book takes you beyond the mechanics of running Hadoop, teaching you to write meaningful programs in a MapReduce framework.This book assumes the reader will have a basic familiarity with Java, as most code examples will be written in Java. Familiarity with basic statistical concepts (e.g. histogram, correlation) will help the reader appreciate the more advanced data processing examples. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
Beyond the Twelve-Factor App Exploring the DNA of Highly Scalable, Resilient Cloud Applications
Kevin Hoffman - 2016
Cloud computing is rapidly transitioning from a niche technology embraced by startups and tech-forward companies to the foundation upon which enterprise systems build their future. In order to compete in today’s marketplace, organizations large and small are embracing cloud architectures and practices.
Algorithms to Live By: The Computer Science of Human Decisions
Brian Christian - 2016
What should we do, or leave undone, in a day or a lifetime? How much messiness should we accept? What balance of new activities and familiar favorites is the most fulfilling? These may seem like uniquely human quandaries, but they are not: computers, too, face the same constraints, so computer scientists have been grappling with their version of such issues for decades. And the solutions they've found have much to teach us.In a dazzlingly interdisciplinary work, acclaimed author Brian Christian and cognitive scientist Tom Griffiths show how the algorithms used by computers can also untangle very human questions. They explain how to have better hunches and when to leave things to chance, how to deal with overwhelming choices and how best to connect with others. From finding a spouse to finding a parking spot, from organizing one's inbox to understanding the workings of memory, Algorithms to Live By transforms the wisdom of computer science into strategies for human living.
Ethics And Technology: Ethical Issues In An Age Of Information And Communication Technology
Herman T. Tavani - 2003
. . . We need a good book in cyberethics to deal with the present and prepare us for an uncertain future. Tavani's Ethics and Technology is such a book." --from the foreword by James Moor, Dartmouth College Is there privacy in a world of camera phones and wireless networking? Does technology threaten your civil liberties? How will bioinformatics and nanotechnology affect us? Should you worry about equity and access in a globalized economy? From privacy and security to free speech and intellectual property to globalization and outsourcing, the issues and controversies of the information age are serious, complex, and pervasive. In this new edition of his groundbreaking book, Herman Tavani introduces computer professionals to the emerging field of Cyberethics, the interdisciplinary field of study that addresses these new ethical issues from all perspectives: technical, social, and philosophical. Using fascinating real-world examples--including the latest court decisions in such cases as Verizon v. RIAA, MGM v. Grokster, Google versus the Bush Administration, and the Children's Online Pornography Act (CIPA) --as well as hypothetical scenarios, he shows you how to understand and analyze the practical, moral, and legal issues that impact your work and your life. Tavani discusses such cutting-edge areas as: * Globalization and outsourcing * Property rights and open source software * HIPAA (privacy laws) and surveillance * The Patriot Act and civil liberties * Bioinformatics and genomics research * Converging technologies--pervasive computing and nanocomputing * Children's online pornography laws Updating and expanding upon the previous edition, Ethics and Technology, Second Edition provides a much-needed ethical compass to help computer and non-computer professionals alike navigate the challenging waters of cyberspace. About the Author Herman T. Tavani is Professor of Philosophy at Rivier College and Co-Director of the International Society for Ethics and Information Technology (INSEIT). He is the author, editor, or co-editor of five books on ethical aspects of information technology. www.wiley.com/college/tavani
Effective Java
Joshua Bloch - 2001
The principal enhancement in Java 8 was the addition of functional programming constructs to Java's object-oriented roots. Java 7, 8, and 9 also introduced language features, such as the try-with-resources statement, the diamond operator for generic types, default and static methods in interfaces, the @SafeVarargs annotation, and modules. New library features include pervasive use of functional interfaces and streams, the java.time package for manipulating dates and times, and numerous minor enhancements such as convenience factory methods for collections. In this new edition of Effective Java, Bloch updates the work to take advantage of these new language and library features, and provides specific best practices for their use. Java's increased support for multiple paradigms increases the need for best-practices advice, and this book delivers. As in previous editions, each chapter consists of several "items," each presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why. Coverage includes:Updated techniques and best practices on classic topics, including objects, classes, methods, libraries, and generics How to avoid the traps and pitfalls of commonly misunderstood subtleties of the platform Focus on the language and its most fundamental libraries, such as java.lang and java.util