Python Crash Course: A Hands-On, Project-Based Introduction to Programming


Eric Matthes - 2015
    You'll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you'll put your new knowledge into practice with three substantial projects: a Space Invaders-inspired arcade game, data visualizations with Python's super-handy libraries, and a simple web app you can deploy online.As you work through Python Crash Course, you'll learn how to: Use powerful Python libraries and tools, including matplotlib, NumPy, and PygalMake 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progressesWork with data to generate interactive visualizationsCreate and customize simple web apps and deploy them safely onlineDeal with mistakes and errors so you can solve your own programming problemsIf you've been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code!

Perl Cookbook


Tom Christiansen - 1998
    Perl Cookbook is a comprehensive collection of problems, solutions, and practical examples for anyone programming in Perl. The book contains hundreds of rigorously reviewed Perl "recipes" and thousands of examples ranging from brief one-liners to complete applications.The second edition of Perl Cookbook has been fully updated for Perl 5.8, with extensive changes for Unicode support, I/O layers, mod_perl, and new technologies that have emerged since the previous edition of the book. Recipes have been updated to include the latest modules. New recipes have been added to every chapter of the book, and some chapters have almost doubled in size.Covered topic areas include: • Manipulating strings, numbers, dates, arrays, and hashes • Pattern matching and text substitutions • References, data structures, objects, and classes • Signals and exceptions • Screen addressing, menus, and graphical applications • Managing other processes • Writing secure scripts • Client-server programming • Internet applications programming with mail, news, ftp, and telnet • CGI and mod_perl programming • Web programmingSince its first release in 1998, Perl Cookbook has earned its place in the libraries of serious Perl users of all levels of expertise by providing practical answers, code examples, and mini-tutorials addressing the challenges that programmers face. Now the second edition of this bestselling book is ready to earn its place among the ranks of favorite Perl books as well.Whether you're a novice or veteran Perl programmer, you'll find Perl Cookbook, 2nd Edition to be one of the most useful books on Perl available. Its comfortable discussion style and accurate attention to detail cover just about any topic you'd want to know about. You can get by without having this book in your library, but once you've tried a few of the recipes, you won't want to.

Computer Systems: A Programmer's Perspective


Randal E. Bryant - 2002
    Often, computer science and computer engineering curricula don't provide students with a concentrated and consistent introduction to the fundamental concepts that underlie all computer systems. Traditional computer organization and logic design courses cover some of this material, but they focus largely on hardware design. They provide students with little or no understanding of how important software components operate, how application programs use systems, or how system attributes affect the performance and correctness of application programs. - A more complete view of systems - Takes a broader view of systems than traditional computer organization books, covering aspects of computer design, operating systems, compilers, and networking, provides students with the understanding of how programs run on real systems. - Systems presented from a programmers perspective - Material is presented in such a way that it has clear benefit to application programmers, students learn how to use this knowledge to improve program performance and reliability. They also become more effective in program debugging, because t

Head First PHP & MySQL


Lynn Beighley - 2008
    Packed with real-world examples, this book teaches you all the essentials of server-side programming, from the fundamentals of PHP and MySQL coding to advanced topics such as form validation, session IDs, cookies, database queries and joins, file I/O operations, content management, and more.Head First PHP & MySQL offers the same visually rich format that's turned every title in the Head First series into a bestseller, with plenty of exercises, quizzes, puzzles, and other interactive features to help you retain what you've learned.Use PHP to transform static HTML pages into dynamic web sites Create and populate your own MySQL database tables, and work with data stored in files Perform sophisticated MySQL queries with joins, and refine your results with LIMIT and ORDER BY Use cookies and sessions to track visitors' login information and personalize the site for users Protect your data from SQL injection attacks Use regular expressions to validate information on forms Dynamically display text based on session info and create images on the fly Pull syndicated data from other sites using PHP and XML Throughout the book, you'll build sophisticated examples -- including a mailing list, a job board, and an online dating site -- to help you learn how to harness the power of PHP and MySQL in a variety of contexts. If you're ready to build a truly dynamic website, Head First PHP & MySQL is the ideal way to get going.

Design Patterns: Elements of Reusable Object-Oriented Software


Erich Gamma - 1994
    Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.

The Go Programming Language


Alan A.A. Donovan - 2015
    It has been winning converts from dynamic language enthusiasts as well as users of traditional compiled languages. The former appreciate the robustness and efficiency that Go's lightweight type system brings to their code; the latter find Go's simplicity and fast tools a refreshing change. Thanks to its well-designed standard libraries and its excellent support for concurrent programming, Go is fast becoming the language of choice for distributed systems. The Go Programming Language is the definitive book on Go for the working programmer. It assumes no prior knowledge of Go, nor any other specific programming language, so you'll find it an accessible guide whether you come from JavaScript, Ruby, Python, Java, or C++. The book will quickly get you started using Go effectively from the beginning, and by the end, you will know how to use it well to write clear, idiomatic and efficient programs to solve real-world problems. You'll understand not just how to use its standard libraries, but how they work, and how to apply the same design techniques to your own projects. The earlier chapters will introduce you to the basic concepts of Go programming---numbers, strings, functions---while at the same time presenting important computer science concepts like recursion, and useful examples of graphics, UTF-8, and error handling. The chapters on methods and interfaces will show you a new way to think about object-oriented programming; the chapter on concurrency explains why concurrency is so important in modern programming, and how Go helps you handle it well. You'll also learn about Go's pragmatic but effective approach to testing; how to build, test, and manage projects using the go tool, and the art of metaprogramming using reflection. The book contains hundreds of interesting and practical examples that cover the whole language and a wide range of applications. The code samples from the book are available for download from gopl.io.

Contemporary Orthodontics


William R. Proffit - 1986
    Line drawings and more than 1,000 new color images illustrate concepts more clearly than ever. This book includes detailed information on diagnosis, treatment planning concepts, related problems or controversies, and current treatment procedures, including the role of orthodontics in comprehensive treatment of patients with multiple problems.A NEW full-color design includes a total of more than 1,400 clinical photographs and illustrations.Application of the soft tissue paradigm to modern orthodontic diagnosis and treatment planning.Critical evaluation of controversies in treatment approaches and treatment timing.NEW information on the use of cone beam CT for 3-dimensional evaluation of dental and facial dimensions and relationships, and 3-D superimpositions to evaluate treatment response.Problem-oriented treatment planning, with use of digital technology to develop a database that can feed through to the treatment plan.Updated content on biomechanics to help you plan efficient use of modern orthodontic appliance systems.NEW skeletal anchorage techniques using bone anchors and mini screws.Chapters on adult treatment featuring the sequencing of multidisciplinary treatment, the new approach to lingual orthodontics, and a discussion of surgical vs. orthodontic treatment options.Full-color design includes hundreds of clinical photographs and illustrations with brighter, more engaging text and more demonstrative figures.Diagnosis and treatment planning chapters are revised to consider new paradigms to teach students and orthodontists how to apply the results of current research to their practice and treatment plans.Current technologies and advances in contemporary treatment provide clinicians with ways to make treatment planning and execution more efficient.Updated content on biomechanics gives clinicians ways to plan appropriate orthodontic appliance systems through which mechanotherapy is delivered using principles of forces.Updated information on mechanical devices, such as transplants, transpositions, implants, and temporary anchorage using mini screws, provide an understanding on how these devices can affect orthodontic treatment and what is available on the market to improve treatment outcomes.Appliance chapters have been condensed to reflect only the most useful and contemporary materials.Chapters on treatment for adults have been rewritten to include new concepts in periodontics and new clinical cases with predictions and outcomes and discussion of surgical vs. orthodontic treatment options.Early treatment chapters have been consolidated and new research included in the reorganization of content to make it consistent with the best data available in the literature.Every section of the book begins with a section opener to outline the main concepts discussed in that section.

The Practice of System and Network Administration


Thomas A. Limoncelli - 2001
    Whether you use Linux, Unix, or Windows, this newly revised edition describes the essential practices previously handed down only from mentor to protege. This wonderfully lucid, often funny cornucopia of information introduces beginners to advanced frameworks valuable for their entire career, yet is structured to help even the most advanced experts through difficult projects.The book's four major sections build your knowledge with the foundational elements of system administration. These sections guide you through better techniques for upgrades and change management, catalog best practices for IT services, and explore various management topics. Chapters are divided into The Basics and The Icing. When you get the Basics right it makes every other aspect of the job easier--such as automating the right things first. The Icing sections contain all the powerful things that can be done on top of the basics to wow customers and managers.Inside, you'll find advice on topics such asThe key elements your networks and systems need in order to make all other services run better Building and running reliable, scalable services, including web, storage, email, printing, and remote access Creating and enforcing security policies Upgrading multiple hosts at one time without creating havoc Planning for and performing flawless scheduled maintenance windows Managing superior helpdesks and customer care Avoiding the -temporary fix- trap Building data centers that improve server uptime Designing networks for speed and reliability Web scaling and security issues Why building a backup system isn't about backups Monitoring what you have and predicting what you will need How technically oriented workers can maintain their job's technical focus (and avoid an unwanted management role) Technical management issues, including morale, organization building, coaching, and maintaining positive visibility Personal skill techniques, including secrets for getting more done each day, ethical dilemmas, managing your boss, and loving your job System administration salary negotiation It's no wonder the first edition received Usenix SAGE's 2005 Outstanding Achievement Award!This eagerly anticipated second edition updates this time-proven classic:Chapters reordered for easier navigationThousands of updates and clarifications based on reader feedbackPlus three entirely new chapters: Web Services, Data Storage, and Documentation

CompTIA Network+ Certification All-in-One Exam Guide, Seventh Edition (Exam N10-007)


Mike Meyers - 1999
    The book offers clear instruction and real-world examples from training expert and bestselling author Mike Meyers along with hundreds of accurate practice questions.Fulfilling the promise of the All-in-One series, this complete reference serves both as a study tool and a valuable on-the-job reference that will serve readers beyond the exam. CompTIA Network+ Certification All-in-One Exam Guide, Seventh Edition (Exam N10-007) also includes access to free video training and interactive hands-on labs and simulations that prepare you for difficult performance-based questions. A valuable pre-assessment test enables readers to gauge their familiarity with the test’s objectives and tailor an effective course for study.-Contains complete coverage of every objective for the CompTIA Network+ Certification exam-Written by CompTIA training and certification guru Mike Meyers- Electronic content includes the Total Tester exam simulator with over 100 practice questions, over an hour of training videos, and a collection of Mike Meyers’ favorite shareware and freeware networking utilities

Scala in Depth


Joshua Suereth - 2012
    By presenting the emerging best practices and designs from the Scala community, it guides you through dozens of powerful techniques example by example.About the BookScala is a powerful JVM language that blends the functional and OO programming models. You'll have no trouble getting introductions to Scala in books or online, but it's hard to find great examples and insights from experienced practitioners. You'll find them in Scala in Depth.There's little heavy-handed theory here—just dozens of crisp, practical techniques for coding in Scala. Written for readers who know Java, Scala, or another OO language.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.What's InsideConcise, expressive, and readable code style How to integrate Scala into your existing Java projects Scala's 2.8.0 collections API How to use actors for concurrent programming Mastering the Scala type system Scala's OO features—type member inheritance, multiple inheritance, and composition Functional concepts and patterns—immutability, applicative functors, and monads========================================​==========Table of ContentsScala—a blended language The core rules Modicum of style—coding conventions Utilizing object orientation Using implicits to write expressive code The type system Using implicits and types together Using the right collection Actors Integrating Scala with Java Patterns in functional programming

Amazon Web Services in Action


Andreas Wittig - 2015
    The book will teach you about the most important services on AWS. You will also learn about best practices regarding automation, security, high availability, and scalability.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the TechnologyPhysical data centers require lots of equipment and take time and resources to manage. If you need a data center, but don't want to build your own, Amazon Web Services may be your solution. Whether you're analyzing real-time data, building software as a service, or running an e-commerce site, AWS offers you a reliable cloud-based platform with services that scale. All services are controllable via an API which allows you to automate your infrastructure.About the BookAmazon Web Services in Action introduces you to computing, storing, and networking in the AWS cloud. The book will teach you about the most important services on AWS. You will also learn about best practices regarding security, high availability and scalability.You'll start with a broad overview of cloud computing and AWS and learn how to spin-up servers manually and from the command line. You'll learn how to automate your infrastructure by programmatically calling the AWS API to control every part of AWS. You will be introduced to the concept of Infrastructure as Code with the help of AWS CloudFormation.You will learn about different approaches to deploy applications on AWS. You'll also learn how to secure your infrastructure by isolating networks, controlling traffic and managing access to AWS resources. Next, you'll learn options and techniques for storing your data. You will experience how to integrate AWS services into your own applications by the use of SDKs. Finally, this book teaches you how to design for high availability, fault tolerance, and scalability.What's InsideOverview of cloud concepts and patternsManage servers on EC2 for cost-effectivenessInfrastructure automation with Infrastructure as Code (AWS CloudFormation)Deploy applications on AWSStore data on AWS: SQL, NoSQL, object storage and block storageIntegrate Amazon's pre-built servicesArchitect highly available and fault tolerant systemsAbout the ReaderWritten for developers and DevOps engineers moving distributed applications to the AWS platform.About the AuthorsAndreas Wittig and Michael Wittig are software engineers and consultants focused on AWS and web development.Table of ContentsPART 1 GETTING STARTEDWhat is Amazon Web Services?A simple example: WordPress in five minutesPART 2 BUILDING VIRTUAL INFRASTRUCTURE WITH SERVERS AND NETWORKINGUsing virtual servers: EC2Programming your infrastructure: the command line, SDKs, and CloudFormationAutomating deployment: CloudFormation, Elastic Beanstalk, and OpsWorksSecuring your system: IAM, security groups, and VPCPART 3 STORING DATA IN THE CLOUDStoring your objects: S3 and GlacierStoring your data on hard drives: EBS and instance storeUsing a relational database service: RDSProgramming for the NoSQL database service: DynamoDBPART 4 ARCHITECTING ON AWSAchieving high availability: availability zones, auto-scaling, and CloudWatchDecoupling your infrastructure: ELB and SQSDesigning for fault-toleranceScaling up and down: auto-scaling and CloudWatch

Game Engine Architecture


Jason Gregory - 2009
    The concepts and techniques described are the actual ones used by real game studios like Electronic Arts and Naughty Dog. The examples are often grounded in specific technologies, but the discussion extends way beyond any particular engine or API. The references and citations make it a great jumping off point for those who wish to dig deeper into any particular aspect of the game development process.Intended as the text for a college level series in game programming, this book can also be used by amateur software engineers, hobbyists, self-taught game programmers, and existing members of the game industry. Junior game engineers can use it to solidify their understanding of game technology and engine architecture. Even senior engineers who specialize in one particular field of game development can benefit from the bigger picture presented in these pages.

Haskell Programming From First Principles


Christopher Allen - 2015
    I've spent the last couple years actively teaching Haskell online and in person. Along the way, I started keeping notes on exercises and methods of teaching specific concepts and techniques in Haskell that eventually turned into my guide for learning haskell. That experience led me to work on this book.If you are new to programming entirely, Haskell is a great first language. You may have noticed the trend of "Functional Programming in [Imperative Language]" books and tutorials and learning Haskell gets right to the heart of what functional programming is. Languages such as Java are gradually adopting functional concepts, but most such languages were not designed to be functional languages, after all. We would not encourage you to learn Haskell as an only language, but because Haskell is a pure functional language, it is a fertile environment for mastering functional programming techniques. That way of thinking and problem solving is useful, no matter what other languages you might know or learn.Haskell is not a difficult language to use. Quite the opposite. I'm now able to tackle problems that I couldn't have tackled when I was primarily a Clojure, Common Lisp, or Python user. Haskell is difficult to teach effectively.

Introduction to Artificial Intelligence


Philip C. Jackson Jr. - 1974
    Introduction to Artificial Intelligence presents an introduction to the science of reasoning processes in computers, and the research approaches and results of the past two decades. You'll find lucid, easy-to-read coverage of problem-solving methods, representation and models, game playing, automated understanding of natural languages, heuristic search theory, robot systems, heuristic scene analysis and specific artificial-intelligence accomplishments. Related subjects are also included: predicate-calculus theorem proving, machine architecture, psychological simulation, automatic programming, novel software techniques, industrial automation and much more.A supplementary section updates the original book with major research from the decade 1974-1984. Abundant illustrations, diagrams and photographs enhance the text, and challenging practice exercises at the end of each chapter test the student's grasp of each subject.The combination of introductory and advanced material makes Introduction to Artificial Intelligence ideal for both the layman and the student of mathematics and computer science. For anyone interested in the nature of thought, it will inspire visions of what computer technology might produce tomorrow.

Unit Testing: Principles, Practices, and Patterns


Vladimir Khorikov - 2019
    You’ll learn to spot which tests are performing, which need refactoring, and which need to be deleted entirely! Upgrade your testing suite with new testing styles, good patterns, and reliable automated testing.