Deploying Python Web Applications with nginx and uWSGI Emperor | Chris Warrick
You’ve just written a great Python web application. Now, you want to share it with the world. In order to do that, you need a server, and some software to do that for you.
The following is a comprehensive guide on how to accomplish that, on multiple Linux-based operating systems, using nginx and uWSGI Emperor. It doesn’t force you to use any specific web framework — Flask, Django, Pyramid, Bottle will all work. Written for Ubuntu, Debian, Fedora, CentOS and Arch Linux (should be helpful for other systems, too). Now with an Ansible Playbook.
python  ansible  ubuntu  debian  nginx  uwsgi  webdev 
15 days ago
Siege Home
Siege is an http load testing and benchmarking utility. It was designed to let web developers measure their code under duress, to see how it will stand up to load on the internet. Siege supports basic authentication, cookies, HTTP, HTTPS and FTP protocols. It lets its user hit a server with a configurable number of simulated clients. Those clients place the server “under siege.”
webdev  performance  opensource 
21 days ago
Testing your disks for PostgreSQL
Testing your disks for PostgreSQL

Like all database software, PostgreSQL performance is largely dependant on the configuration of the disk drive(s) on the database server. Before you can usefully adjust PostgreSQL to improve throughput, it is wise (some would say necessary) to do some basic testing on your disks to determine how fast they are. It's unfortunately common to find systems where disk performance is grossly below expectations for a variety of reasons. If you don't catch that early, that can lead to wasting a lot of time adjusting database parameters that won't have the slightest impact because operations are bottlenecked by the underlying physical I/O limitations. It doesn't matter how well respected your vendor is who has told you that your system is a great performer; if you haven't tested it yourself, don't believe it.
postgres  performance 
21 days ago
New explain |
Visual enhancement to postgres's 'explain analyze' output
21 days ago
Sentry Server – Sentry Documentation
Stop hoping your users will report errors
Sentry’s real-time error tracking gives you insight into production deployments and information to reproduce and fix crashes.

You can pay for or you can also set up the server yourself for "on premises" use.
python  monitoring 
22 days ago
clippy - Cargo: packages for Rust
Linter + style? + fixes for common pitfalls
5 weeks ago
Notes on Distributed Systems for Young Bloods – Something Similar
# Distributed systems are different because they fail often.
# Writing robust distributed systems costs more than writing robust single-machine systems.
# Robust, open source distributed systems are much less common than robust, single-machine systems.
# Coordination is very hard.
# If you can fit your problem in memory, it’s probably trivial.
# “It’s slow” is the hardest problem you’ll ever debug.
# Implement backpressure throughout your system.
# Find ways to be partially available.
# Metrics are the only way to get your job done.
# Use percentiles, not averages.
# Learn to estimate your capacity.
# Feature flags are how infrastructure is rolled out.
# Choose id spaces wisely.
# Exploit data-locality.
# Writing cached data back to persistent storage is bad.
# Computers can do more than you think they can.
# Use the CAP theorem to critique systems.
# Extract services.
7 weeks ago
Resource Oriented Design  |  Cloud APIs  |  Google Cloud Platform
The goal for this Design Guide is to help developers design simple, consistent and easy-to-use networked APIs. At the same time, it also helps converging designs of socket-based RPC APIs with HTTP-based REST APIs.

Traditionally, people design RPC APIs in terms of API interfaces and methods, such as CORBA and Windows COM. As time goes by, more and more interfaces and methods are introduced. The end result can be an overwhelming number of interfaces and methods, each of them different from the others. Developers have to learn each one carefully in order to use it correctly, which can be both time consuming and error prone.

The architectural style of REST was first introduced in 2000, primarily designed to work well with HTTP/1.1. Its core principle is to define named resources that can be manipulated using a small number of methods. The resources and methods are known as nouns and verbs of APIs. With the HTTP protocol, the resource names naturally map to URLs, and methods naturally map to HTTP methods POST, GET, PUT, PATCH, and DELETE.

On the Internet, HTTP REST APIs have been recently hugely successful. In 2010, about 74% of public network APIs were HTTP REST APIs.

While HTTP REST APIs are very popular on the Internet, the amount of traffic they carry is smaller than traditional RPC APIs. For example, about half of Internet traffic in America at peak time is video content, and few people would consider using REST APIs to deliver such content for performance reasons. Inside data centers, many companies use socket-based RPC APIs to carry most network traffic, which can be orders of magnitude higher than public REST APIs.

In reality, both RPC APIs and HTTP REST APIs are needed for various reasons. Ideally, an API platform should provide best support for all APIs. This Design Guide helps you design and build APIs that conform to this principle. It does so by applying resource-oriented design principles to general API design, and defines many common design patterns to improve usability and reduce complexity.

NOTE: This Design Guide explains how to apply REST principles to API designs independent of programming language, operating system, or network protocol. It is NOT a guide solely to creating REST APIs.
api  design 
8 weeks ago
The Book
"Test-Driven Web Development with Python" aims to teach TDD for web programming. It uses a concrete example -- the development of a website, from scratch -- to explain the TDD metholology and how it applies to building web applications. It covers the Selenium browser-automation tool, unit testing, mocking, and interacting with Web technologies from the basics of static content, database integration, throught the inescapable JavaScript, and onto more advanced (and trendy) topics like NoSQL, websockets and Async programming.
python  django  testing 
8 weeks ago
[no title]
The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data.
testing  security  programming 
january 2017
« earlier      
academia accessibility activism advice android api arduino art asturias audio australia awesome backup beautiful blog bom books briannalaugher bugtracker business canvas cc-by cc-by-sa cffsw chinese code colour comic commons community compling conferences cool copyright corpora craftivism creativecommons crowdfunding css cycling data database debugging decentralisedwiki deployment design dictionary digitalmedia django documentation dreamhost ebooks education emacs email essays events extension feminism filetype:jpg firefox flickr floss flossmanuals freecontent freeculture freedom freesoftware funding fundraising funny games geekculture geekfeminism geeky gender geo geospatial gfe git glam google gov2 government graphics gui history house howto html iif2010 images indonesian inkscape interesting internet interview ironpython javascript job language languages library linguistics linux linuxchix livejournal lote machinetranslation management maps mashups media media:image mediawiki melbourne mobile museums music netbook nlg nlp nonprofit oer openaccess opengovernance openhardware opensource oracle organise pcos pdf photography podcast politics polyamory postgres pretty printing privacy programming prolog prose psi publicdomain python queer rainbowduino recipes regexp research review rss science screencast screenscraping search security sex skins slides software softwaredev spain spanish speaking speech sql stackoverflow startups statistics svg svn swimming t10n technology techphilanthropy terminology testing text textpattern tips transgender translation travel triathlon twitter ubuntu ubuntu9.10 unimelb usability useful uyghur vegetarian versioncontrol victoria video visualisation volunteering weather weatherforecasts web web-based web2.0 webdesign webdev wiki wikimania2008 wikimania2009 wikimedia wikimediaaustralia wikimediacommons wikipedia wikireader wikis wikiversity women work yoga zines

Copy this bookmark: