Basics of Web Design: HTML5 & CSS3


Terry Felke-Morris - 2011
    "Basics of Web Design: HTML5 and CSS3, 2e "covers the basic concepts that web designers need to develop their skills: Introductory Internet and Web concepts Creating web pages with HTML5 Configuring text, color, and page layout with Cascading Style Sheets Configuring images and multimedia on web pages Web design best practices Accessibility, usability, and search engine optimization considerations Obtaining a domain name and web host Publishing to the Web

Design It! : Pragmatic Programmers: From Programmer to Software Architect


Michael Keeling - 2017
    Lead your team as a software architect, ask the right stakeholders the right questions, explore design options, and help your team implement a system that promotes the right -ilities. Share your design decisions, facilitate collaborative design workshops that are fast, effective, and fun-and develop more awesome software!With dozens of design methods, examples, and practical know-how, Design It! shows you how to become a software architect. Walk through the core concepts every architect must know, discover how to apply them, and learn a variety of skills that will make you a better programmer, leader, and designer. Uncover the big ideas behind software architecture and gain confidence working on projects big and small. Plan, design, implement, and evaluate software architectures and collaborate with your team, stakeholders, and other architects. Identify the right stakeholders and understand their needs, dig for architecturally significant requirements, write amazing quality attribute scenarios, and make confident decisions. Choose technologies based on their architectural impact, facilitate architecture-centric design workshops, and evaluate architectures using lightweight, effective methods. Write lean architecture descriptions people love to read. Run an architecture design studio, implement the architecture you've designed, and grow your team's architectural knowledge. Good design requires good communication. Talk about your software architecture with stakeholders using whiteboards, documents, and code, and apply architecture-focused design methods in your day-to-day practice. Hands-on exercises, real-world scenarios, and practical team-based decision-making tools will get everyone on board and give you the experience you need to become a confident software architect.

Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design


Diomidis Spinellis - 2008
    In each essay, contributors present a notable software architecture, and analyze what makes it innovative and ideal for its purpose. Some of the engineers in this book reveal how they developed a specific project, including decisions they faced and tradeoffs they made. Others take a step back to investigate how certain architectural aspects have influenced computing as a whole. With this book, you'll discover:How Facebook's architecture is the basis for a data-centric application ecosystem The effect of Xen's well-designed architecture on the way operating systems evolve How community processes within the KDE project help software architectures evolve from rough sketches to beautiful systems How creeping featurism has helped GNU Emacs gain unanticipated functionality The magic behind the Jikes RVM self-optimizable, self-hosting runtime Design choices and building blocks that made Tandem the choice platform in high-availability environments for over two decades Differences and similarities between object-oriented and functional architectural views How architectures can affect the software's evolution and the developers' engagement Go behind the scenes to learn what it takes to design elegant software architecture, and how it can shape the way you approach your own projects, with Beautiful Architecture.

UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design


Jim Arlow - 2001
    Even for people not working with the Unified Process, the book is still of great use. UML 2 and the Unified Process, Second Edition is a must-read for every UML 2 beginner and a helpful guide and reference for the experienced practitioner."--Roland Leibundgut, Technical Director, Zuehlke Engineering Ltd."This book is a good starting point for organizations and individuals who are adopting UP and need to understand how to provide visualization of the different aspects needed to satisfy it. "--Eric Naiburg, Market Manager, Desktop Products, IBM Rational SoftwareThis thoroughly revised edition provides an indispensable and practical guide to the complex process of object-oriented analysis and design using UML 2. It describes how the process of OO analysis and design fits into the software development lifecycle as defined by the Unified Process (UP). UML 2 and the Unified Process contains a wealth of practical, powerful, and useful techniques that you can apply immediately. As you progress through the text, you will learn OO analysis and design techniques, UML syntax and semantics, and the relevant aspects of the UP. The book provides you with an accurate and succinct summary of both UML and UP from the point of view of the OO analyst and designer.This book providesChapter roadmaps, detailed diagrams, and margin notes allowing you to focus on your needs Outline summaries for each chapter, making it ideal for revision, and a comprehensive index that can be used as a reference New to this edition:Completely revised and updated for UML 2 syntax Easy to understand explanations of the new UML 2 semantics More real-world examples A new section on the Object Constraint Language (OCL) Introductory material on the OMG's Model Driven Architecture (MDA) The accompanying website providesA complete example of a simple e-commerce system Open source tools for requirements engineering and use case modeling Industrial-strength UML course materials based on the book

Designing Event-Driven Systems


Ben Stopford - 2018
    Many of these patterns are successful by themselves, but as this practical ebook demonstrates, they provide a more holistic and compelling approach when applied together.Author Ben Stopford explains how service-based architectures and stream processing tools such as Apache Kafka® can help you build business-critical systems.* Learn why streaming beats request-response based architectures in complex, contemporary use cases* Understand why replayable logs such as Kafka provide a backbone for both service communication and shared datasets* Explore how event collaboration and event sourcing patterns increase safety and recoverability with functional, event-driven approaches* Apply patterns including Event Sourcing and CQRS, and how to build multi-team systems with microservices and SOA using patterns such as “inside out databases” and “event streams as a source of truth”* Build service ecosystems that blend event-driven and request-driven interfaces using a replayable log and Kafka's Streams API* Scale beyond individual teams into larger, department- and company-sized architectures, using event streams as a source of truth

Smart Phone Dumb Phone: Free Yourself from Digital Addiction


Allen Carr - 2019
    When their phone is out of sight or the signal wavers, anxiety rises. You hear people saying again and again: 'I can't live without my phone, ' and sadly technology which should be a wonderful boon to us has started to blight lives; the more you are addicted, the less you get out of it. Technology can turn against us if we let it. Allen Carr's Easyway is the most successful stop-smoking method of all time. It works by unravelling the brainwashing that leads us to desire the very thing that is bad for us and it can help beat any addiction. For the first time, it has been applied to the problems of overusing your mobile phone, and it works

37 Things One Architect Knows


Gregor Hohpe
    

Working Effectively with Legacy Code


Michael C. Feathers - 2004
    This book draws on material Michael created for his renowned Object Mentor seminars, techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include: Understanding the mechanics of software change, adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform, with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structureThis book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.

Conversations with Mies van der Rohe


Moisés Puente - 2008
    Focusing on this American period, Conversations with Mies van der Rohe, the latest addition to our Conversations series, gives fresh credence to this claim by presenting the architect's most important design concerns in his own words. In this collectionof interviews Mies talks freely about his relationship with clients, the common language he aimed for in his architecturalprojects, the influences on his work, and the synthesis of architecture and technology that he advanced in his designs and built works.Conversations with Mies van der Rohe makes an important contribution to the corpus of Mies scholarship. It presents a vivid picture of a master of modernism, bringing his artistic biography to a close while completing the scope of his style in terms of techniques, scale, use of materials, and typology. An essay by Iaki balos provides a context for these interviews and looks at Mies's legacy from a contemporary perspective.

An Elegant Puzzle: Systems of Engineering Management


Will Larson - 2019
    Management is a key part of any organization, yet the discipline is often self-taught and unstructured. Getting to the good solutions of complex management challenges can make the difference between fulfillment and frustration for teams, and, ultimately, the success or failure of companies. Will Larson's An Elegant Puzzle orients around the particular challenges of engineering management--from sizing teams to technical debt to succession planning--and provides a path to the good solutions. Drawing from his experience at Digg, Uber, and Stripe, Will Larson has developed a thoughtful approach to engineering management that leaders of all levels at companies of all sizes can apply. An Elegant Puzzle balances structured principles and human-centric thinking to help any leader create more effective and rewarding organizations for engineers to thrive in.

Over The Top: How The Internet Is (Slowly But Surely) Changing The Television Industry


Alan Wolk - 2015
    Given the intricacies of the industry, it's also going to be the most resistant to change. Alan Wolk, an industry veteran and longtime analyst and observer, lays out how the television industry is adapting to the digital era, explaining what's really happening in a tone that will appeal to laypeople and insiders alike. In the first section, Wolk takes us through how the industry works today, focusing on how the various players actually make money and who pays who for what. The next section deals with the changes that are taking place in the industry today–everything from time shifting to binge viewing to cord cutting–and how those changes are starting to create some seismic shifts. In the final section, Wolk reveals his predictions for the future and what the industry will look like in ten years time. Andrew Wallenstein, co-editor-in-chief of Variety says "Alan Wolk is one of the most insightful observers writing about the media business today. There's no better expert to help you navigate the confusing, complicated nexus of TV and the Internet." David Zaslav, President and CEO of Discovery Communications says "Alan Wolk has a deep understanding of the complex nature of television today… this is a fantastic primer of the business and one of the most educated perspectives on the future of our rapidly evolving industry."

A Burglar's Guide to the City


Geoff Manaugh - 2015
    You'll never see the city the same way again.At the core of A Burglar's Guide to the City is an unexpected and thrilling insight: how any building transforms when seen through the eyes of someone hoping to break into it. Studying architecture the way a burglar would, Geoff Manaugh takes readers through walls, down elevator shafts, into panic rooms, up to the buried vaults of banks, and out across the rooftops of an unsuspecting city.With the help of FBI Special Agents, reformed bank robbers, private security consultants, the L.A.P.D. Air Support Division, and architects past and present, the book dissects the built environment from both sides of the law. Whether picking padlocks or climbing the walls of high-rise apartments, finding gaps in a museum's surveillance routine or discussing home invasions in ancient Rome, A Burglar's Guide to the City has the tools, the tales, and the x-ray vision you need to see architecture as nothing more than an obstacle that can be outwitted and undercut.Full of real-life heists-both spectacular and absurd-A Burglar's Guide to the City ensures readers will never enter a bank again without imagining how to loot the vault or walk down the street without planning the perfect getaway.

Software Engineering at Google: Lessons Learned from Programming Over Time


Titus Winters - 2020
    With this book, you'll get a candid and insightful look at how software is constructed and maintained by some of the world's leading practitioners.Titus Winters, Tom Manshreck, and Hyrum K. Wright, software engineers and a technical writer at Google, reframe how software engineering is practiced and taught: from an emphasis on programming to an emphasis on software engineering, which roughly translates to programming over time.You'll learn:Fundamental differences between software engineering and programmingHow an organization effectively manages a living codebase and efficiently responds to inevitable changeWhy culture (and recognizing it) is important, and how processes, practices, and tools come into play

Humans vs Computers


Gojko Adzic - 2017
    You'll read about humans who are invisible to computers, how a default password once caused a zombie apocalypse and why airlines sometimes give away free tickets. This is also a book on how to prevent, avoid and reduce the impact of such problems. Our lives are increasingly tracked, monitored and categorised by software, driving a flood of information into the vast sea of big data. In this brave new world, humans can't cope with information overload. Governments and companies alike rely on computers to automatically detect fraud, predict behaviour and enforce laws. Inflexible automatons, barely smarter than a fridge, now make life-changing decisions. Clever marketing tricks us into believing that phones, TV sets and even cars are somehow smart. Yet all those computer systems were created by people - people who are well-meaning but fallible and biased, clever but forgetful, and who have grand plans but are pressed for time. Digitising a piece of work doesn't mean there will be no mistakes, but instead guarantees that when mistakes happen, they'll run at a massive scale. The next time you bang your head against a digital wall, the stories in this book will help you understand better what's going on and show you where to look for problems. If nothing else, when it seems as if you're under a black-magic spell, these stories will at least allow you to see the lighter side of the binary chaos. For people involved in software delivery, this book will help you find more empathy for people suffering from our mistakes, and discover heuristics to use during analysis, development or testing to make your software less error prone. <

The Anarchist's Workbench


Christopher Schwarz - 2020