サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
aosabook.org
The Architecture of Open Source Applications (Volume 2) Git Susan Potter 6.1. Git in a Nutshell Git enables the maintenance of a digital body of work (often, but not limited to, code) by many collaborators using a peer-to-peer network of repositories. It supports distributed workflows, allowing a body of work to either eventually converge or temporarily diverge. This chapter will show how various
500 Lines or Less A Python Interpreter Written in Python Allison Kaptur Allison is an engineer at Dropbox, where she helps maintain one of the largest networks of Python clients in the world. Before Dropbox, she was a facilitator at the Recurse Center, a writers retreat for programmers in New York. She's spoken at PyCon North America about Python internals and loves weird bugs. She blogs at akaptu
Allison is an engineer at Dropbox, where she helps maintain one of the largest networks of Python clients in the world. Before Dropbox, she was a facilitator at the Recurse Center, a writers retreat for programmers in New York. She's spoken at PyCon North America about Python internals and loves weird bugs. She blogs at akaptur.com. (This chapter is also available in Simplified Chinese). Introduct
500 Lines or Less An Archaeology-Inspired Database Yoav Rubin Yoav Rubin is a Senior Software Engineer at Microsoft, and prior to that was a Research Staff Member and a Master Inventor at IBM Research. He works now in the domain of data security in the cloud, and in the past his work focused on developing cloud or web based development environments. Yoav holds an M.Sc. in Medical Research in the f
500 Lines or Less A Web Crawler With asyncio Coroutines A. Jesse Jiryu Davis and Guido van Rossum A. Jesse Jiryu Davis is a staff engineer at MongoDB in New York. He wrote Motor, the async MongoDB Python driver, and he is the lead developer of the MongoDB C Driver and a member of the PyMongo team. He contributes to asyncio and Tornado. He writes at http://emptysqua.re. Guido van Rossum is the crea
The Architecture of Open Source Applications (Volume 2) SQLAlchemy Michael Bayer SQLAlchemy is a database toolkit and object-relational mapping (ORM) system for the Python programming language, first introduced in 2005. From the beginning, it has sought to provide an end-to-end system for working with relational databases in Python, using the Python Database API (DBAPI) for database interactivity.
The Architecture of Open Source Applications (Volume 1) The Hadoop Distributed File System Robert Chansler, Hairong Kuang, Sanjay Radia, Konstantin Shvachko, and Suresh Srinivas The Hadoop Distributed File System (HDFS) is designed to store very large data sets reliably, and to stream those data sets at high bandwidth to user applications. In a large cluster, thousands of servers both host directl
The Performance of Open Source Software High Performance Networking in Chrome Ilya Grigorik History and Guiding Principles of Google Chrome Google Chrome was first released in the second half of 2008, as a beta version for the Windows platform. The Google-authored code powering Chrome was also made available under a permissive BSD license–also known as the Chromium project. To many observers, this
The Performance of Open Source Software Warp Kazu Yamamoto, Michael Snoyman, and Andreas Voellmy Warp is a high-performance HTTP server library written in Haskell, a purely functional programming language. Both Yesod, a web application framework, and mighty, an HTTP server, are implemented over Warp. According to our throughput benchmark, mighty provides performance on a par with nginx. This artic
Ninja is a build system similar to Make. As input you describe the commands necessary to process source files into target files. Ninja uses these commands to bring targets up to date. Unlike many other build systems, Ninja's main design goal was speed. I wrote Ninja while working on Google Chrome. I started Ninja as an experiment to find out if Chrome's build could be made faster. To successfully
The Architecture of Open Source Applications (Volume 2) Scalable Web Architecture and Distributed Systems Kate Matsudaira Open source software has become a fundamental building block for some of the biggest websites. And as those websites have grown, best practices and guiding principles around their architectures have emerged. This chapter seeks to cover some of the key issues to consider when de
The Architecture of Open Source Applications (Volume 1) Graphite Chris Davis Graphite1 performs two pretty simple tasks: storing numbers that change over time and graphing them. There has been a lot of software written over the years to do these same tasks. What makes Graphite unique is that it provides this functionality as a network service that is both easy to use and highly scalable. The proto
The Architecture of Open Source Applications (Volume 2) GDB Stan Shebs GDB, the GNU Debugger, was among the first programs to be written for the Free Software Foundation, and it has been a staple of free and open source software systems ever since. Originally designed as a plain Unix source-level debugger, it has since been expanded to a wide range of uses, including use with many embedded systems
Figure 5.3: The syntax of Core A typical structure for a compiler for a statically-typed language is this: the program is type checked, and transformed to some untyped intermediate language, before being optimised. GHC is different: it has a statically-typed intermediate language. As it turns out, this design choice has had a pervasive effect on the design and development of GHC. GHC's intermediat
The Architecture of Open Source Applications (Volume 2) nginx Andrew Alexeev nginx (pronounced "engine x") is a free open source web server written by Igor Sysoev, a Russian software engineer. Since its public launch in 2004, nginx has focused on high performance, high concurrency and low memory usage. Additional features on top of the web server functionality, like load balancing, caching, access
The Architecture of Open Source Applications (Volume 2) PyPy Benjamin Peterson PyPy is a Python implementation and a dynamic language implementation framework. This chapter assumes familiarity with some basic interpreter and compiler concepts like bytecode and constant folding. 19.1. A Little History Python is a high-level, dynamic programming language. It was invented by the Dutch programmer Guid
The Architecture of Open Source Applications (Volume 1) Berkeley DB Margo Seltzer and Keith Bostic Conway's Law states that a design reflects the structure of the organization that produced it. Stretching that a bit, we might anticipate that a software artifact designed and initially produced by two people might somehow reflect, not merely the structure of the organization, but the internal biases
The Architecture of Open Source Applications (Volume 1) The Bourne-Again Shell Chet Ramey 3.1. Introduction A Unix shell provides an interface that lets the user interact with the operating system by running commands. But a shell is also a fairly rich programming language: there are constructs for flow control, alternation, looping, conditionals, basic mathematical operations, named functions, str
The Architecture of Open Source Applications (Volume 1) Selenium WebDriver Simon Stewart Selenium is a browser automation tool, commonly used for writing end-to-end tests of web applications. A browser automation tool does exactly what you would expect: automate the control of a browser so that repetitive tasks can be automated. It sounds like a simple problem to solve, but as we will see, a lot h
The Architecture of Open Source Applications (Volume 1) Riak and Erlang/OTP Francesco Cesarini, Andy Gross, and Justin Sheehy Riak is a distributed, fault tolerant, open source database that illustrates how to build large scale systems using Erlang/OTP. Thanks in large part to Erlang's support for massively scalable distributed systems, Riak offers features that are uncommon in databases, such as
The Architecture of Open Source Applications (Volume 1) LLVM Chris Lattner This chapter discusses some of the design decisions that shaped LLVM1, an umbrella project that hosts and develops a set of close-knit low-level toolchain components (e.g., assemblers, compilers, debuggers, etc.), which are designed to be compatible with existing tools typically used on Unix systems. The name "LLVM" was onc
Architects look at thousands of buildings during their training, and study critiques of those buildings written by masters. In contrast, most software developers only ever get to know a handful of large programs well—usually programs they wrote themselves—and never study the great programs of history. As a result, they repeat one another's mistakes rather than building on one another's successes.
Early versions of the Eclipse SDK architecture had three major elements, which corresponded to three major sub-projects: the Platform, the JDT (Java Development Tools) and the PDE (Plug-in Development Environment). 6.1.1. Platform The Eclipse platform is written using Java and a Java VM is required to run it. It is built from small units of functionality called plugins. Plugins are the basis of th
The Architecture of Open Source Applications (Volume 1) Python Packaging Tarek Ziadé 14.1. Introduction There are two schools of thought when it comes to installing applications. The first, common to Windows and Mac OS X, is that applications should be self-contained, and their installation should not depend on anything else. This philosophy simplifies the management of applications: each applicat
このページを最初にブックマークしてみませんか?
『The Architecture of Open Source Applications』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く