Book picks similar to
Practical FP in Scala: A hands-on approach by Gabriel Volpe
scala
dev
computer-science
comp-sci
The Node Beginner Book
Manuel Kiessling - 2011
The aim of The Node Beginner Book is to get you started with developing applications for Node.js, teaching you everything you need to know about advanced JavaScript along the way on 59 pages.
The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity
Alan Cooper - 1999
Cooper details many of these meta functions to explain his central thesis: programmers need to seriously re-evaluate the many user-hostile concepts deeply embedded within the software development process. Rather than provide users with a straightforward set of options, programmers often pile on the bells and whistles and ignore or de-prioritise lingering bugs. For the average user, increased functionality is a great burden, adding to the recurrent chorus that plays: "computers are hard, mysterious, unwieldy things." (An average user, Cooper asserts, who doesn't think that way or who has memorised all the esoteric commands and now lords it over others, has simply been desensitised by too many years of badly designed software.) Cooper's writing style is often overblown, with a pantheon of cutesy terminology (i.e. "dancing bearware") and insider back-patting. (When presenting software to Bill Gates, he reports that Gates replied: "How did you do that?" to which he writes: "I love stumping Bill!") More seriously, he is also unable to see beyond software development's importance--a sin he accuses programmers of throughout the book. Even with that in mind, the central questions Cooper asks are too important to ignore: Are we making users happier? Are we improving the process by which they get work done? Are we making their work hours more effective? Cooper looks to programmers, business managers and what he calls "interaction designers" to question current assumptions and mindsets. Plainly, he asserts that the goal of computer usage should be "not to make anyone feel stupid." Our distance from that goal reinforces the need to rethink entrenched priorities in software planning. -- Jennifer Buckendorff, Amazon.com
Understanding Distributed Systems: What every developer should know about large distributed applications
Roberto Vitillo - 2021
It's not that there is a lack of information out there. You can find academic papers, engineering blogs, and even books on the subject. The problem is that the available information is spread out all over the place, and if you were to put it on a spectrum from theory to practice, you would find a lot of material at the two ends, but not much in the middle.That is why I decided to write a book to teach the fundamentals of distributed systems so that you don’t have to spend countless hours scratching your head to understand how everything fits together. This is the guide I wished existed when I first started out, and it's based on my experience building large distributed systems that scale to millions of requests per second and billions of devices.If you develop the back-end of web or mobile applications (or would like to!), this book is for you. When building distributed systems, you need to be familiar with the network stack, data consistency models, scalability and reliability patterns, and much more. Although you can build applications without knowing any of that, you will end up spending hours debugging and re-designing their architecture, learning lessons that you could have acquired in a much faster and less painful way.
HTML and CSS: Design and Build Websites
Jon Duckett - 2011
Joining the professional web designers and programmers are new audiences who need to know a little bit of code at work (update a content management system or e-commerce store) and those who want to make their personal blogs more attractive. Many books teaching HTML and CSS are dry and only written for those who want to become programmers, which is why this book takes an entirely new approach. • Introduces HTML and CSS in a way that makes them accessible to everyone—hobbyists, students, and professionals—and it’s full-color throughout • Utilizes information graphics and lifestyle photography to explain the topics in a simple way that is engaging • Boasts a unique structure that allows you to progress through the chapters from beginning to end or just dip into topics of particular interest at your leisureThis educational book is one that you will enjoy picking up, reading, then referring back to. It will make you wish other technical topics were presented in such a simple, attractive and engaging way!
SQL and Relational Theory: How to Write Accurate SQL Code
C.J. Date - 2009
On the other hand, if you're not well versed in the theory, you can fall into several traps. In SQL and Relational Theory, author C.J. Date demonstrates how you can apply relational theory directly to your use of SQL. With numerous examples and clear explanations of the reasoning behind them, you'll learn how to deal with common SQL dilemmas, such as:Should database access granted be through views instead of base tables? Nulls in your database are causing you to get wrong answers. Why? What can you do about it? Could you write an SQL query to find employees who have never been in the same department for more than six months at a time? SQL supports "quantified comparisons," but they're better avoided. Why? How do you avoid them? Constraints are crucially important, but most SQL products don't support them properly. What can you do to resolve this situation? Database theory and practice have evolved since Edgar Codd originally defined the relational model back in 1969. Independent of any SQL products, SQL and Relational Theory draws on decades of research to present the most up-to-date treatment of the material available anywhere. Anyone with a modest to advanced background in SQL will benefit from the many insights in this book.
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 Elements of Computing Systems: Building a Modern Computer from First Principles
Noam Nisan - 2005
The books also provides a companion web site that provides the toold and materials necessary to build the hardware and software.
Algorithm Design
Jon Kleinberg - 2005
The book teaches a range of design and analysis techniques for problems that arise in computing applications. The text encourages an understanding of the algorithm design process and an appreciation of the role of algorithms in the broader field of computer science.
Remote: Office Not Required
David Heinemeier Hansson - 2013
Moms in particular will welcome this trend. A full 60% wish they had a flexible work option. But companies see advantages too in the way remote work increases their talent pool, reduces turnover, lessens their real estate footprint, and improves the ability to conduct business across multiple time zones, to name just a few advantages. In Remote, inconoclastic authors Fried and Hansson will convince readers that letting all or part of work teams function remotely is a great idea--and they're going to show precisely how a remote work setup can be accomplished.
Erlang and OTP in Action
Martin Logan - 2010
Multi-core processors and the increasing demand for maximum performance and scalability in mission-critical applications have renewed interest in functional languages like Erlang that are designed to handle concurrent programming. Erlang, and the OTP platform, make it possible to deliver more robust applications that satisfy rigorous uptime and performance requirements.Erlang and OTP in Action teaches you to apply Erlang's message passing model for concurrent programming--a completely different way of tackling the problem of parallel programming from the more common multi-threaded approach. This book walks you through the practical considerations and steps of building systems in Erlang and integrating them with real-world C/C++, Java, and .NET applications. Unlike other books on the market, Erlang and OTP in Action offers a comprehensive view of how concurrency relates to SOA and web technologies.This hands-on guide is perfect for readers just learning Erlang or for those who want to apply their theoretical knowledge of this powerful language. You'll delve into the Erlang language and OTP runtime by building several progressively more interesting real-world distributed applications. Once you are competent in the fundamentals of Erlang, the book takes you on a deep dive into the process of designing complex software systems in Erlang. 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.
The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise
Martin L. Abbott - 2009
Abbott and Michael T. Fisher cover everything IT and business leaders must know to build technology infrastructures that can scale smoothly to meet any business requirement. Drawing on their unparalleled experience managing some of the world s highest-transaction-volume Web sites, the authors provide detailed models and best-practice approaches available in no other book. Unlike previous books on scalability, "The Art of Scalability" doesn t limit its coverage to technology. Writing for both technical and nontechnical decision-makers, this book covers everything that impacts scalability, including architecture, processes, people, and organizations. Throughout, the authors address a broad spectrum of real-world challenges, from performance testing to IT governance. Using their tools and guidance, organizations can systematically overcome obstacles to scalability and achieve unprecedented levels of technical and business performance. Coverage includes Staffing the scalable organization: essential organizational, management, and leadership skills for technical leaders Building processes for scale: process lessons from hyper-growth companies, from technical issue resolution to crisis management Making better build versus buy decisions Architecting scalable solutions: powerful proprietary models for identifying scalability needs and choosing the best approaches to meet them Optimizing performance through caching, application and database splitting, and asynchronous design Scalability techniques for emerging technologies, including clouds and grids Planning for rapid data growth and new data centers Evolving monitoring strategies to tightly align with customer requirements "
Being Geek: The Software Developer's Career Handbook
Michael Lopp - 2010
Is it time to become a manager? Tell your boss he’s a jerk? Join that startup? Author Michael Lopp recalls his own make-or-break moments with Silicon Valley giants such as Apple, Netscape, and Symantec in Being Geek -- an insightful and entertaining book that will help you make better career decisions.With more than 40 standalone stories, Lopp walks through a complete job life cycle, starting with the job interview and ending with the realization that it might be time to find another gig. Many books teach you how to interview for a job or how to manage a project successfully, but only this book helps you handle the baffling circumstances you may encounter throughout your career.Decide what you're worth with the chapter on "The Business"Determine the nature of the miracle your CEO wants with "The Impossible"Give effective presentations with "How Not to Throw Up"Handle liars and people with devious agendas with "Managing Werewolves"Realize when you should be looking for a new gig with "The Itch"
Working in Public: The Making and Maintenance of Open Source Software
Nadia Eghbal - 2020
In the late 1990s, it provided an optimistic model for public
Docker: Up & Running: Shipping Reliable Containers in Production
Karl Matthias - 2015
But understanding how Linux containers fit into your workflow--and getting the integration details right--are not trivial tasks. With this practical guide, you'll learn how to use Docker to package your applications with all of their dependencies, and then test, ship, scale, and support your containers in production.Two Lead Site Reliability Engineers at New Relic share much of what they have learned from using Docker in production since shortly after its initial release. Their goal is to help you reap the benefits of this technology while avoiding the many setbacks they experienced.Learn how Docker simplifies dependency management and deployment workflow for your applicationsStart working with Docker images, containers, and command line toolsUse practical techniques to deploy and test Docker-based Linux containers in productionDebug containers by understanding their composition and internal processesDeploy production containers at scale inside your data center or cloud environmentExplore advanced Docker topics, including deployment tools, networking, orchestration, security, and configuration