Service-Oriented Design with Ruby and Rails
Paul Dix - 2010
Today, Rails developers and architects need better ways to interface with legacy systems, move into the cloud, and scale to handle higher volumes and greater complexity. In Service-Oriented Design with Ruby and Rails Paul Dix introduces a powerful, services-based design approach geared toward overcoming all these challenges. Using Dix's techniques, readers can leverage the full benefits of both Ruby and Rails, while overcoming the difficulties of working with larger codebases and teams. Dix demonstrates how to integrate multiple components within an enterprise application stack; create services that can easily grow and connect; and design systems that are easier to maintain and upgrade. Key concepts are explained with detailed Ruby code built using open source libraries such as ActiveRecord, Sinatra, Nokogiri, and Typhoeus. The book concludes with coverage of security, scaling, messaging, and interfacing with third-party services. Service-Oriented Design with Ruby and Rails will help you Build highly scalable, Ruby-based service architectures that operate smoothly in the cloud or with legacy systems Scale Rails systems to handle more requests, larger development teams, and more complex code bases Master new best practices for designing and creating services in Ruby Use Ruby to glue together services written in any language Use Ruby libraries to build and consume RESTful Web services Use Ruby JSON parsers to quickly represent resources from HTTP services Write lightweight, well-designed API wrappers around internal or external services Discover powerful non-Rails frameworks that simplify Ruby service implementation Implement standards-based enterprise messaging with Advanced Message Queuing Protocol (AMQP) Optimize performance with load balancing and caching Provide for security and authentication
The Design and Evolution of C++
Bjarne Stroustrup - 1994
As the inventor of the language, Stroustrup presents his insight into the decisions which resulted in the features of C++ - the praised, the controversial and even some of the rejected ones. By writing this book the author presents his object-oriented programming philosophy to the interested programming community. His vehicle is the C++ language but his focus is on real object-oriented programming language development for the working programmer rather than as a abstract approach to the OOP paradigm.
The Psychopath Code: Cracking The Predators That Stalk Us
Pieter Hintjens - 2015
one in 25 of the people around you is a psychopath, hiding and living a secret life. Psychopaths take what they want, using their charm and wits. They feel only the emotions of a predator. In this book Pieter Hintjens decodes the mystery of the psychopath. Why do such people exist? How do they operate? And most critical of all, can we learn to avoid them, or escape them? The answers will enlighten you. This book delivers practical tools and techniques to survive the most difficult people.
Sams Teach Yourself PHP, MySQL and Apache
Julie C. Meloni - 2003
You have also created a website for your business that details the products or services that you offer, but it doesn't allow potential customers to purchase anything online. Don't risk losing business-learn to create a dynamic online environment using only three programs. PHP, MySQL and Apache are three popular open-source tools that can work together to help you create a dynamic website, such as an online shopping experience. Sams Teach Yourself PHP, MySQL and Apache All in One is a complete reference manual for all three development tools. You will learn how to install, configure and set up the PHP scripting language, use the MySQL database system, and work with the Apache Web server. Then you'll take it a step further and discover how they work together to create a dynamic website. Use the book and the included CD to create a simple website, as well as a mailing list, online address book, shopping cart and storefront. Updated to reflect the most recent developments in PHP and MySQL, including the final stable release of MySQL 5.0, you will open your website to limitless possibilities with Sams Teach Yourself PHP, MySQL and Apache All in One.
Django for Beginners: Learn web development with Django 2.0
William S. Vincent - 2018
Proceed step-by-step through five progressively more complex web applications: from a "Hello World" app all the way to a robust Newspaper app with a custom user model, complete user authentication flow, foreign key relationships, and more. Learn current best practices around class-based views, templates, urls, user authentication, testing, and deployment. The material is up-to-date with the latest versions of both Django (2.0) and Python (3.6). TABLE OF CONTENTS: * Introduction * Chapter 1: Initial Setup * Chapter 2: Hello World app * Chapter 3: Pages app * Chapter 4: Message Board app * Chapter 5: Blog app * Chapter 6: Forms * Chapter 7: User Accounts * Chapter 8: Custom User Model * Chapter 9: User Authentication * Chapter 10: Bootstrap * Chapter 11: Password Change and Reset * Chapter 12: Email * Chapter 13: Newspaper app * Chapter 14: Permissions and Authorizations * Chapter 15: Comments * Conclusion
The Tcp/IP Guide: A Comprehensive, Illustrated Internet Protocols Reference
Charles Kozierok - 2005
It details the core protocols that make TCP/IP internetworks function, and the most important classical TCP/IP applications. Its personal, easy-going writing style lets anyone understand the dozens of protocols and technologies that run the Internet, with full coverage of PPP, ARP, IP, IPv6, IP NAT, IPSec, Mobile IP, ICMP, RIP, BGP, TCP, UDP, DNS, DHCP, SNMP, FTP, SMTP, NNTP, HTTP, Telnet and much more. The author offers not only a detailed view of the TCP/IP protocol suite, but also describes networking fundamentals and the important OSI Reference Model.
Violent Python: A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers
T.J. O'Connor - 2012
Instead of relying on another attacker's tools, this book will teach you to forge your own weapons using the Python programming language. This book demonstrates how to write Python scripts to automate large-scale network attacks, extract metadata, and investigate forensic artifacts. It also shows how to write code to intercept and analyze network traffic using Python, craft and spoof wireless frames to attack wireless and Bluetooth devices, and how to data-mine popular social media websites and evade modern anti-virus.
Digital Evidence and Computer Crime: Forensic Science, Computers and the Internet
Eoghan Casey - 1999
Though an increasing number of criminals are using computers and computer networks, few investigators are well-versed in the evidentiary, technical, and legal issues related to digital evidence. As a result, digital evidence is often overlooked, collected incorrectly, and analyzed ineffectively. The aim of this hands-on resource is to educate students and professionals in the law enforcement, forensic science, computer security, and legal communities about digital evidence and computer crime. This work explains how computers and networks function, how they can be involved in crimes, and how they can be used as a source of evidence. As well as gaining a practical understanding of how computers and networks function and how they can be used as evidence of a crime, readers will learn about relevant legal issues and will be introduced to deductive criminal profiling, a systematic approach to focusing an investigation and understanding criminal motivations. Readers will receive access to the author's accompanying Web site which contains simulated cases that integrate many of the topics covered in the text. Frequently updated, these cases teaching individuals about: • Components of computer networks • Use of computer networks in an investigation • Abuse of computer networks • Privacy and security issues on computer networks • The law as it applies to computer networks• Provides a thorough explanation of how computers and networks function, how they can be involved in crimes, and how they can be used as a source of evidence • Offers readers information about relevant legal issues • Features coverage of the abuse of computer networks and privacy and security issues on computer networks• Free unlimited access to author's Web site which includes numerous and frequently updated case examples
Mac OS X Leopard: The Missing Manual
David Pogue - 2007
The new Mac OS X 10.5, better known as Leopard, is faster than its predecessors, but nothing's too fast for Pogue and this Missing Manual. It's just one of reasons this is the most popular computer book of all time.Mac OS X: The Missing Manual, Leopard Edition is the authoritative book for Mac users of all technical levels and experience. If you're new to the Mac, this book gives you a crystal-clear, jargon-free introduction to the Dock, the Mac OS X folder structure, and the Mail application. There are also mini-manuals on iLife applications such as iMovie, iDVD, and iPhoto, and a tutorial for Safari, Mac's web browser. This Missing Manual is amusing and fun to read, but Pogue doesn't take his subject lightly. Which new Leopard features work well and which do not? What should you look for? What should you avoid? Mac OS X: The Missing Manual, Leopard Edition offers an objective and straightforward instruction for using:Leopard's totally revamped Finder Spaces to group your windows and organize your Mac tasks Quick Look to view files before you open them The Time Machine, Leopard's new backup feature Spotlight to search for and find anything in your Mac Front Row, a new way to enjoy music, photos, and videos Enhanced Parental Controls that come with Leopard Quick tips for setting up and configuring your Mac to make it your own There's something new on practically every page of this new edition, and David Pogue brings his celebrated wit and expertise to every one of them. Mac's brought a new cat to town and Mac OS X: The Missing Manual, Leopard Edition is a great new way to tame it.
ITIL Foundation Exam Study Guide
Liz Gallacher - 2012
This essential resource is a complete guide to preparing for the ITIL Foundation exam and includes everything you need for success. Organized around the ITIL Foundation (2011) syllabus, the study guide addresses the ITIL Service Lifecycles, the ITIL processes, roles, and functions, and also thoroughly explains how the Service Lifecycle provides effective and efficient IT services.Offers an introduction to IT service management and ITIL V3 service strategy Highlights the topics of service design and development and the service management processes Reviews the building, testing, authorizing, documenting, and implementation of new and changed services into operation Addresses creating and maintaining value for customers through monitoring and improving services, processes, and technology Download valuable study tools including practice exams, flashcards, a glossary of key terms and more. If you prefer self-study over the more expensive training course, but you don't want to skimp on information or preparation, then this study guide is for you.
OS X 10.10 Yosemite: The Ars Technica Review
John Siracusa - 2014
Siracusa's overview, wrap-up, and critique of everything new in OS X 10.10 Yosemite.
Grokking Deep Learning
Andrew W. Trask - 2017
Loosely based on neuron behavior inside of human brains, these systems are rapidly catching up with the intelligence of their human creators, defeating the world champion Go player, achieving superhuman performance on video games, driving cars, translating languages, and sometimes even helping law enforcement fight crime. Deep Learning is a revolution that is changing every industry across the globe.Grokking Deep Learning is the perfect place to begin your deep learning journey. Rather than just learn the “black box” API of some library or framework, you will actually understand how to build these algorithms completely from scratch. You will understand how Deep Learning is able to learn at levels greater than humans. You will be able to understand the “brain” behind state-of-the-art Artificial Intelligence. Furthermore, unlike other courses that assume advanced knowledge of Calculus and leverage complex mathematical notation, if you’re a Python hacker who passed high-school algebra, you’re ready to go. And at the end, you’ll even build an A.I. that will learn to defeat you in a classic Atari game.
Why Software Sucks...and What You Can Do about It
David S. Platt - 2006
. . . Put this one on your must-have list if you have software, love software, hate programmers, or even ARE a programmer, because Mr. Platt (who teaches programming) has set out to puncture the bloated egos of all those who think that just because they can write a program, they can make it easy to use. . . . This book is funny, but it is also an important wake-up call for software companies that want to reduce the size of their customer support bills. If you were ever stuck for an answer to the question, 'Why do good programmers make such awful software?' this book holds the answer."--John McCormick, Locksmith columnist, TechRepublic.com "I must say first, I don't get many computing manuscripts that make me laugh out loud. Between the laughs, Dave Platt delivers some very interesting insight and perspective, all in a lucid and engaging style. I don't get much of that either!"--Henry Leitner, assistant dean for information technology andsenior lecturer on computer science, Harvard University "A riotous book for all of us downtrodden computer users, written in language that we understand."--Stacy Baratelli, author's barber "David's unique take on the problems that bedevil software creation made me think about the process in new ways. If you care about the quality of the software you create or use, read this book."--Dave Chappell, principal, Chappell & Associates "I began to read it in my office but stopped before I reached the bottom of the first page. I couldn't keep a grin off my face! I'll enjoy it after I go back home and find a safe place to read."--Tsukasa Makino, IT manager "David explains, in terms that my mother-in-law can understand, why the software we use today can be so frustrating, even dangerous at times, and gives us some real ideas on what we can do about it."--Jim Brosseau, Clarrus Consulting Group, Inc. A Book for Anyone Who Uses a Computer Today...and Just Wants to Scream! Today's software sucks. There's no other good way to say it. It's unsafe, allowing criminal programs to creep through the Internet wires into our very bedrooms. It's unreliable, crashing when we need it most, wiping out hours or days of work with no way to get it back. And it's hard to use, requiring large amounts of head-banging to figure out the simplest operations.It's no secret that software sucks. You know that from personal experience, whether you use computers for work or personal tasks. In this book, programming insider David Platt explains why that's the case and, more importantly, why it doesn't have to be that way. And he explains it in plain, jargon-free English that's a joy to read, using real-world examples with which you're already familiar. In the end, he suggests what you, as a typical user, without a technical background, can do about this sad state of our software--how you, as an informed consumer, don't have to take the abuse that bad software dishes out.As you might expect from the book's title, Dave's expose is laced with humor--sometimes outrageous, but always dead on. You'll laugh out loud as you recall incidents with your own software that made you cry. You'll slap your thigh with the same hand that so often pounded your computer desk and wished it was a bad programmer's face. But Dave hasn't written this book just for laughs. He's written it to give long-overdue voice to your own discovery--that software does, indeed, suck, but it shouldn't.
How to Hack: Hacking Secrets Exposed: A Beginner's Guide
Srikanth Ramesh - 2015
But Don't Know Where to Start..? If so, this book is specially designed for you. Hacking Secrets Exposed is an easy-to-follow, complete course on ethical hacking that takes readers right from the basics to some of the highly advanced concepts. The book starts with basic concepts like footprinting, scanning, network reconnaissance, OS fingerprinting etc. and advances to higher level concepts like password cracking, Windows hacking, network sniffing, wireless hacking, steganography, DoS, XSS, SQL injection, buffer overflow, session hijacking, email hacking and much more.Most of the popular books that are currently available in the market are suitable only for those who have a considerable amount of background knowledge in the field. Also, these books may dive too much into the theoretical part and use a lot technical jargon making it hard for beginners to follow and comprehend. However, this book will take you through the concepts of computer hacking in a very simple and easy to follow manner so that even the readers with no prior knowledge of hacking should be able to easily understand the concept. To start off, all you need is a little working knowledge of computers, operating system (Windows) and an Internet connection. Each topic in the book is presented in an extremely simple manner by including bullet points, illustrations and practical examples. The following are some of the highlighting features of the book:
Learn Hacking from the Basics.
Extremely Easy to Follow.
No Prior Knowledge of Hacking is Required.
Get Latest Hacking Techniques and Practical Examples.
So, if you are a beginner with a little or no prior background of hacking but looking to take off, Hacking Secrets Exposed is for you! We promise that you will never be disappointed by opting for this book.
R Packages
Hadley Wickham - 2015
This practical book shows you how to bundle reusable R functions, sample data, and documentation together by applying author Hadley Wickham’s package development philosophy. In the process, you’ll work with devtools, roxygen, and testthat, a set of R packages that automate common development tasks. Devtools encapsulates best practices that Hadley has learned from years of working with this programming language.
Ideal for developers, data scientists, and programmers with various backgrounds, this book starts you with the basics and shows you how to improve your package writing over time. You’ll learn to focus on what you want your package to do, rather than think about package structure.
Learn about the most useful components of an R package, including vignettes and unit tests
Automate anything you can, taking advantage of the years of development experience embodied in devtools
Get tips on good style, such as organizing functions into files
Streamline your development process with devtools
Learn the best way to submit your package to the Comprehensive R Archive Network (CRAN)
Learn from a well-respected member of the R community who created 30 R packages, including ggplot2, dplyr, and tidyr