Elegant Objects


Yegor Bugayenko - 2016
    Most of them are completely against everything you've read in other books. For example, static methods, NULL references, getters, setters, and mutable classes are called evil.

The Little Book on CoffeeScript


Alex MacCaw - 2012
    Through example code, this guide demonstrates how CoffeeScript abstracts JavaScript, providing syntactical sugar and preventing many common errors. You’ll learn CoffeeScript’s syntax and idioms step by step, from basic variables and functions to complex comprehensions and classes.Written by Alex MacCaw, author of JavaScript Web Applications (O’Reilly), with contributions from CoffeeScript creator Jeremy Ashkenas, this book quickly teaches you best practices for using this language—not just on the client side, but for server-side applications as well. It’s time to take a ride with the little language that could.Discover how CoffeeScript’s syntax differs from JavaScriptLearn about features such as array comprehensions, destructuring assignments, and classesExplore CoffeeScript idioms and compare them to their JavaScript counterpartsCompile CoffeeScript files in static sites with the Cake build systemUse CommonJS modules to structure and deploy CoffeeScript client-side applicationsExamine JavaScript’s bad parts—including features CoffeeScript was able to fix

Learning GNU Emacs


Debra Cameron - 1991
    It is also the most powerful and flexible. Unlike all other text editors, GNU Emacs is a complete working environment--you can stay within Emacs all day without leaving. Learning GNU Emacs, 3rd Edition tells readers how to get started with the GNU Emacs editor. It is a thorough guide that will also "grow" with you: as you become more proficient, this book will help you learn how to use Emacs more effectively. It takes you from basic Emacs usage (simple text editing) to moderately complicated customization and programming.The third edition of Learning GNU Emacs describes Emacs 21.3 from the ground up, including new user interface features such as an icon-based toolbar and an interactive interface to Emacs customization. A new chapter details how to install and run Emacs on Mac OS X, Windows, and Linux, including tips for using Emacs effectively on those platforms.Learning GNU Emacs, third edition, covers:How to edit files with EmacsUsing the operating system shell through EmacsHow to use multiple buffers, windows, and framesCustomizing Emacs interactively and through startup filesWriting macros to circumvent repetitious tasksEmacs as a programming environment for Java, C++, and Perl, among othersUsing Emacs as an integrated development environment (IDE)Integrating Emacs with CVS, Subversion and other change control systems for projects with multiple developersWriting HTML, XHTML, and XML with EmacsThe basics of Emacs LispThe book is aimed at new Emacs users, whether or not they are programmers. Also useful for readers switching from other Emacs implementations to GNU Emacs.

A Project Guide to UX Design: For User Experience Designers in the Field or in the Making


Russ Unger - 2009
    If you are an organization that really needs to start grokking UX this book is also for you. " -- Chris Bernard, User Experience Evangelist, Microsoft User experience design is the discipline of creating a useful and usable Web site or application--one that's easily navigated and meets the needs of both the site owner and its users. But there's a lot more to successful UX design than knowing the latest Web technologies or design trends: It takes diplomacy, project management skills, and business savvy. That's where this book comes in. Authors Russ Unger and Carolyn Chandler show you how to integrate UX principles into your project from start to finish. - Understand the various roles in UX design, identify stakeholders, and enlist their support- Obtain consensus from your team on project objectives- Define the scope of your project and avoid mission creep- Conduct user research and document your findings- Understand and communicate user behavior with personas- Design and prototype your application or site- Make your product findable with search engine optimization- Plan for development, product rollout, and ongoing quality assurance

Wireshark 101: Essential Skills for Network Analysis


Laura A. Chappell - 2013
    This book provides an ideal starting point whether you are interested in analyzing traffic to learn how an application works, you need to troubleshoot slow network performance, or determine whether a machine is infected with malware. Learning to capture and analyze communications with Wireshark will help you really understand how TCP/IP networks function. As the most popular network analyzer tool in the world, the time you spend honing your skills with Wireshark will pay off when you read technical specs, marketing materials, security briefings, and more. This book can also be used by current analysts who need to practice the skills contained in this book. In essence, this book is for anyone who really wants to know what's happening on their network.

The Joy of Clojure


Michael Fogus - 2010
    It combines the nice features of a scripting language with the powerful features of a production environment—features like persistent data structures and clean multithreading that you'll need for industrial-strength application development.The Joy of Clojure goes beyond just syntax to show you how to write fluent and idiomatic Clojure code. You'll learn a functional approach to programming and will master Lisp techniques that make Clojure so elegant and efficient. The book gives you easy access to hard soft ware areas like concurrency, interoperability, and performance. And it shows you how great it can be to think about problems the Clojure way. 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 InsideThe what and why of ClojureHow to work with macrosHow to do elegant application designFunctional programming idiomsWritten for programmers coming to Clojure from another programming background—no prior experience with Clojure or Lisp is required.

PHP Solutions: Dynamic Web Design Made Easy


David Powers - 2006
    How easy is easy? It's not like an instant cake mix: just add water and stir. Dynamic web design is--well-- dynamic. Every website is different, so it's impossible to grab a script, paste it into a web page, and expect it to work. Building dynamic sites involves diving into the code and adju- ing it to your own requirements. If that thought makes you break out in a cold sweat, just relax for a moment. PHP is not difficult, and I've written this book very much with the n- programmer in mind. I've done so because I don't come from a computing background myself. In fact, I went to school in the days before pocket calculators were invented, never mind personal computers. As a result, I don't assume that you drank in knowledge of arrays, loops, and conditional statements with your mother's milk. Everything is explained in plain, straightforward l- guage, and I've highlighted points where things may go wrong, with advice on how to solve the problem. At the same time, if you're working with computers and websites, you're bound to have a certain level of technical knowledge and skill. So I don't talk down to you either.

Fullstack React: The Complete Guide to ReactJS and Friends


Anthony Accomazzo - 2017
    Quickly get to work - or get that job - with the right tools and the best practices.Seriously: Stop wasting your time scouring Google, searching through incorrect, out-of-date, blog posts and get everything you need to be productive in one, well-organized place. The book is complete with both simple and complex examples to get your apps up and running.You'll learn what you need to know to work professionally and build solid, well-tested, optimized apps with ReactJS. This book is your definitive guide or your money back.Buy now at https://www.fullstackreact.com.

Composing Software


Eric Elliott - 2018
    Most developers have a limited understanding of compositional techniques. It's time for that to change.In "Composing Software", Eric Elliott shares the fundamentals of composition, including both function composition and object composition, and explores them in the context of JavaScript. The book covers the foundations of both functional programming and object oriented programming to help the reader better understand how to build and structure complex applications using simple building blocks.You'll learn: • Functional programming • Object composition • How to work with composite data structures • Closures • Higher order functions • Functors (e.g., array.map) • Monads (e.g., promises) • Transducers • LensesAll of this in the context of JavaScript, the most used programming language in the world. But the learning doesn't stop at JavaScript. You'll be able to apply these lessons to any language. This book is about the timeless principles of software composition and its lessons will outlast the hot languages and frameworks of today. Unlike most programming books, this one may still be relevant 20 years from now.This book began life as a popular blog post series that attracted hundreds of thousands of readers and influenced the way software is built at many high growth tech startups and fortune 500 companies.

Python Tricks: A Buffet of Awesome Python Features


Dan Bader - 2017
    Discover the “hidden gold” in Python’s standard library and start writing clean and Pythonic code today. Who Should Read This Book: If you’re wondering which lesser known parts in Python you should know about, you’ll get a roadmap with this book. Discover cool (yet practical!) Python tricks and blow your coworkers’ minds in your next code review. If you’ve got experience with legacy versions of Python, the book will get you up to speed with modern patterns and features introduced in Python 3 and backported to Python 2. If you’ve worked with other programming languages and you want to get up to speed with Python, you’ll pick up the idioms and practical tips you need to become a confident and effective Pythonista. If you want to make Python your own and learn how to write clean and Pythonic code, you’ll discover best practices and little-known tricks to round out your knowledge. What Python Developers Say About The Book: "I kept thinking that I wished I had access to a book like this when I started learning Python many years ago." — Mariatta Wijaya, Python Core Developer"This book makes you write better Python code!" — Bob Belderbos, Software Developer at Oracle"Far from being just a shallow collection of snippets, this book will leave the attentive reader with a deeper understanding of the inner workings of Python as well as an appreciation for its beauty." — Ben Felder, Pythonista"It's like having a seasoned tutor explaining, well, tricks!" — Daniel Meyer, Sr. Desktop Administrator at Tesla Inc.

Objects on Rails


Avdi Grimm - 2012
    This book is aimed at the working Rails developer who is looking to grow and evolve Rails projects while keeping them flexible, maintainable, and robust. The focus is on pragmatic solutions which tread a “middle way” between the expedience of the Rails “golden path”, and rigid OO purity.

The Anatomy of the Swipe: Making Money Move


Ahmed Siddiqui - 2020
    Yet, not many people understand how payment systems in the US work. Those that do "get it" are unlocking multi-billion dollar opportunities. If you've ever wondered what happens when you actually swipe/dip/tap your credit card or debit card then The Anatomy of the Swipe breaks down the details in the simplest manner possible. Here are some questions answered within these pages:How does money move from my credit card to my favorite coffee shop? How can I build a neo-bank? How can I build my own debit or credit card? How can I accept card based payments? The Anatomy of the Swipe speaks to software developers and entrepreneurs who are looking at implementing card-based payments for the first time, merchants who want to be able to accept payments for a website or store, or those who want to issue their own debit/credit card. This book walks beginners through modern innovations created because of card-based payments, as well as the motivations and revenue models of each party in the payments ecosystem.

Structure and Interpretation of Computer Programs


Harold Abelson - 1984
    This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development


Craig Larman - 2000
    Building on two widely acclaimed previous editions, Craig Larman has updated this book to fully reflect the new UML 2 standard, to help you master the art of object design, and to promote high-impact, iterative, and skillful agile modeling practices.Developers and students will learn object-oriented analysis and design (OOA/D) through three iterations of two cohesive, start-to-finish case studies. These case studies incrementally introduce key skills, essential OO principles and patterns, UML notation, and best practices. You won’t just learn UML diagrams - you’ll learn how to apply UML in the context of OO software development.Drawing on his unsurpassed experience as a mentor and consultant, Larman helps you understand evolutionary requirements and use cases, domain object modeling, responsibility-driven design, essential OO design, layered architectures, “Gang of Four” design patterns, GRASP, iterative methods, an agile approach to the Unified Process (UP), and much more. This edition’s extensive improvements include:- A stronger focus on helping you master OOA/D through case studies that demonstrate key OO principles and patterns, while also applying the UML- New coverage of UML 2, Agile Modeling, Test-Driven Development, and refactoring- Many new tips on combining iterative and evolutionary development with OOA/D- Updates for easier study, including new learning aids and graphics- New college educator teaching resources- Guidance on applying the UP in a light, agile spirit, complementary with other iterative methods such as XP and Scrum- Techniques for applying the UML to documenting architectures- A new chapter on evolutionary requirements, and much moreApplying UML and Patterns, Third Edition, is a lucid and practical introduction to thinking and designing with objects - and creating systems that are well crafted, robust, and maintainable.

Zero Day: The Threat In Cyberspace


Robert O'Harrow Jr. - 2013
    For more than a year, Washington Post reporter Robert O'Harrow has explored the threats proliferating in our digital universe. This eBook is a compilation of that reporting. With chapters built around real people, including hackers, security researchers and corporate executives, this book will help regular people, lawmakers and businesses better understand the mind-bending challenge of keeping the internet safe from hackers and security breaches -- and all out war.