📜 ⬆️ ⬇️

Tehnokniga, part 3: literature on the design of highly loaded systems, on the security of web applications, on ensuring the quality of development and on mobile development



For those who want to nibble the granite of IT science, we continue to publish a list of stones more tasty and more useful. We offer you the following part of the list of recommended literature, calculated for students of the 3 semesters of Technopark .

Previous parts: first , second .

Design of high-load systems



')
Book: "The Art of Capacity Planning"
Posted by: John Allpaw

John has extensive experience in the development of engineering systems. He was involved in creating teams for managing network infrastructure, planning the development of storage systems for large-scale projects, ensuring high availability, as well as data recovery after failures.

The book is devoted to practical planning and capacity management of Internet projects. You will learn how to use real tools and adapt to changes in the load on the website, which will increase over time. The book covers capacity planning processes for developing websites, including data collection, procurement and deployment of components, as well as some popular and time-tested measurement tools and methods.

How is the back-end scaled? How many visitors can the system serve per hour? What to do with the increase in the number of visitors doubled? When you need to buy servers, how many they need and what should they be? How to justify the cost of equipment? All these questions inevitably arise when the Internet project is gaining popularity. As examples, the book describes practical solutions used in Flickr. The fundamentals of capacity planning given here are universal and suitable for any Internet resources.



Book: The Art of Unix Programming
Author: Eric Raymond

Eric Raymond is widely known in the Open Source community as one of his ideologues. It is also quite popular in hacker circles. He is the author of several books on software development. He participated in the creation of many well-known applications and libraries for UNIX and Linux. One of the founders of the Open Source Initiative .

The book describes a good Unix programming style, a variety of available languages, their advantages and disadvantages, various IPC techniques and development tools. The author analyzes the Unix philosophy, culture and main traditions of the community formed around it. The book explains best practices for designing and developing programs in Unix. The described models and principles will also be useful for Windows developers. Particularly considered styles of user interfaces Unix-programs and tools for their development. A separate chapter is devoted to the description of the principles and tools for creating good documentation.



Book: “UNIX. Professional programming
Authors: Stephen A. Rago, William Richard Stevens

Richard Stevens is the author of the first edition of the book. He has a diploma in aerospace systems engineering, a doctorate degree in system engineering. He worked as a programmer, from 1982 to 1990 - Vice President of Computing Systems Service at Health Systems International. Stephen Rago is one of the developers at Bell Laboratories, the creator of UNIX System V Release 4. He was the technical reviewer of the first edition of Advanced Programming in the UNIX Environment. He is currently working on the Storage Systems Group research team at NEC Laboratories America.

This book is the most detailed reference manual that has been helping professional programmers to write extremely efficient and reliable code in C for 20 years. The publication covers the modern leading platforms, reflects the latest technical advances and best practices, corresponds to the 4th version of the Single UNIX Specification.

In addition to the basics (files, directories, processes), more complex topics are considered: signal processing and terminal I / O, a multithreaded execution model, and interprocess communication using sockets. The book describes over 70 new interfaces, including POSIX asynchronous I / O functions, cyclic locks, barriers and POSIX semaphores. Descriptions of more than 400 system calls and functions are accompanied by short examples of complete programs that clearly demonstrate the order of their use, input arguments and return values.



Book: High Performance Web Sites
Posted by: Steve Suders

Steve Suders works at Google, is involved in projects related to Open Source and with increasing productivity on the web. Author of YSlow for Firefox performance analysis. He speaks at numerous conferences: OSCON, Rich Web Experience, Web 2.0 Expo and The Ajax Experience. Previously worked for Yahoo! performance director. He took part in the creation of many products of the company, founded two startups.

The book describes 14 rules that will help reduce by 25-50% response time for your sites. Here is a discussion of how to optimize Ajax, CSS, JavaScript, Flash, and images already embedded in the site. Each rule is supported by relevant examples and parts of the code.



Book: "Even Faster Web Sites"
Posted by: Steve Suders

Performance is critical to the success of network projects. And modern web applications have strict requirements in terms of increasing content and the widespread use of Ajax. The book describes useful techniques for optimizing the performance of web projects.

Internet application security




Book: The Web Application Hacker's Handbook
Authors: Dafidd Stuttard, Marcus Pinto

Dafidd Stuttard is a security consultant at Next Generation Security Software. He has an impressive track record of penetration testing into technical infrastructure and applications. Specializes in research on the reliability of projects developed by request, is the author of a number of tools for testing.

For more than five years, Markus Pinto has served as a technical consultant, working with the British Ministry of Defense, major banks and financial institutions, telecommunications companies, and operators of important national infrastructure.

Web applications are the “front door” and “showcase” of many organizations. At the same time, it is the main target for attacks aimed at stealing important information, carrying out fraudulent transactions or compromising users. In this book, step by step methods are considered attacks and protection of various web applications. Particular attention is paid to the client side.

Quality Assurance in Software Development




Book: Software Testing. Fundamental concepts of business application management "
Authors: Sam Kaner, Jack Folk, Yeung Nguyen

Sam Kaner is a software engineering professor at the Florida Institute of Technology, director of the Florida Center for Software Testing and Research. He has been engaged in testing since 1983; he was a tester, programmer, technical author, software development manager, independent consultant. Jack Folk is a consultant in software quality management and software engineering, vice president of the Santa Clara Valley Software Quality Association, an active participant in Los Altos Workshops software testing workshops. Yeung Nguyen is the founder and president of Soft Gear Technology. He has extensive experience in software development and equipment, held management positions in engineering, quality assurance, testing, development, and also worked directly as a programmer-tester.

The book is an exhaustive textbook on one of the most important and non-trivial aspects of the process of creating complex software systems - testing. It examines the types of tests, types of errors, error localization techniques and documentation development. The focus is on the organization of interaction between members of the testers team.

The book details the following questions:



Book: "A Practitioner's Guide to Software Test Design"
Posted by: Lee Copland

Lee Copland has over 30 years of experience as an information systems specialist. He has held management positions in software development, testing and improvement. Developed a number of training courses on development and testing, is the organizer of various IT conferences in the United States and abroad.

This book is a practical guide for beginners testers. Here are all the important testing techniques. Information is presented in a simple and understandable form. You will learn:



Book: Basics of Software Testing
Authors: Vsevolod Kotlyarov, Tatyana Kolikova

Vsevolod Kotlyarov - Candidate of Technical Sciences, Professor at St. Petersburg Polytechnic University.

This training course, created for the Internet University of Information Technologies, describes the basics of software development quality control problems.

The book consists of the following sections:



Book: "How to test on Google"
Authors: James Whittaker, Jason Arbon, Jeff Carollo

James Whittaker is a software engineering specialist. He worked in government, academic and commercial organizations, founded several successful startups. He participated in the creation of a number of well-known products of IBM, Microsoft and Google. Published several research papers, is a co-author of five books.

Jason Arbon has been involved in creating projects such as Google+, Chrome Browser, Chrome OS, Google Desktop and Google Talk; Microsoft - Search Relevance, Live QnA, WinFS, BizTalk Server, MSN, Windows CE and Exchange Server. Engaged in the development, testing and management of products in a number of companies.

Jeff Carollo is a software engineer responsible for testing products such as Google Voice, Toolbar, Chrome, and Chrome OS. He consults many development teams in the corporation, helping to improve the quality of the code.

The book describes the testing of software products in Google:

The principles on which testing is built at Google are applicable to projects and companies of any size. The authors of the book themselves worked on Google products, creating testing tools, customizing processes and doing directly testing.



Book: “The Art of Unit Testing. With Examples in .NET »
Author: Roy Osherov

Roy Osherov - programmer and developer, author of two books. Advises on Agile development, automation, TDD and other topics.

Properly performed unit testing can distinguish a successful project from a failure; convenient support code base from one that is scary to touch; leaving home at two in the morning from leaving at 18:00, before the deadline.

Step by step, the book takes you from simple to complex in the field of unit testing. You will learn about advanced schemes and organization of testing, about working with legacy code (even non-testable). The book discusses the tools needed to test the database, and other technologies. It is written for .NET-developers, but it will be useful for everyone else.

Mobile development




Book: "The Busy Coder's Guide to Android Development"
Posted by: Mark Murphy

Mark Murphy has been developing software for over 25 years. He is the founder of CommonsWare, the author of several books on the development of under Android. He actively supports the developer community, answers questions on the Stack Overflow website, publishes code samples and reusable components under an Open Source license.

This book is an excellent guide for beginners developers for Android, much more readable than the official guide from Google. It tells about setting up a programming environment, about tools, about creating an interface, about loading data from a database or the Internet, about working with smartphones and tablets of various form factors. At the end of the book there are add-ons designed for more experienced developers who want to further explore the various aspects of creating software for Android.

Official Android Development Guide

Source: https://habr.com/ru/post/267579/


All Articles