background preloader

Web programming

Facebook Twitter

Faster Websites: Crash Course on Web Performance. By Ilya Grigorik on January 15, 2013 Delivering a fast and optimized user experience in the browser requires careful thinking across many layers of the stack - TCP and up.

Faster Websites: Crash Course on Web Performance

In a rather ambitious undertaking, when I got the chance to run a three hour (marathon) workshop at Devoxx 2012, I tried to do exactly that: a crash course on web performance. Even with that much time, much was left unsaid, but I'm happy with how it went - it turned out to be one of the most popular workshops. The best part is, the video is now available online for free! The Devoxx team did an amazing job of post-processing the recording, with inline slides, full agenda navigation, and more.

Life of a web request: TCP, HTTP, SPDY, Mobile and Navigation Timing Part one covers much of the underlying networking infrastructure, which you may not think about day-to-day, but which often dictates the delivery and consequent performance of your application: What is the impact of slow sites? Create CSS3 - Easy CSS3 Generator & SASS Compass CSS3 Generator. The Best Way to Learn JavaScript. Learning something new is scary.

The Best Way to Learn JavaScript

For me, the biggest issue with picking up a new skill is that I don’t know what I don’t know. Given that, it’s often useful to find a plan for learning whatever you’re interested in. That’s what this post is: your blueprint, your roadmap, your plan of action for learning JavaScript! You don’t have to worry about finding the best resources, sorting out the bad ones, and figuring out what to learn next. It’s all here. JavaScript is the language of the browser. How to Learn JavaScript Properly. Learn JavaScript Properly (For Beginners and Experienced Programmers) This study guide, which I also refer to as a course outline and a road map, gives you a structured and instructive outline for learning JavaScript properly.

How to Learn JavaScript Properly

In fact, you will find two study guides below, one for absolute beginners and the other for experienced programmers and web developers. You do want to learn JavaScript. The Best Way to Learn JavaScript. The 30 CSS Selectors you Must Memorize. Learn HTML5, CSS3, Javascript - video style tutorials. Your Interactive Programming Playground. The Django Book. Web Services in Python (Part 1) - You Only Need 3 Lines Of Python Code. I cringe whenever I see someone meddling with Apache or nginx config files to do something simple these days.

Web Services in Python (Part 1) - You Only Need 3 Lines Of Python Code

And worse - the usual LAMP stack is terrible at handling anything that's actually asynchronous in nature, like WebSocket or Comet. It can also be a pretty big security hole as well, see Slowloris. And yet, you have to read lengthy manuals and fiddle with lengthy config files to get anything done with the traditional web servers - instead of getting shit done, like, right now. Seriously, this is 2011. You're doing more for less if you're sticking to the 2000 ways. Let's try another way. Web Services in Python (Part 2) - Serving Static Files. The last Python web server wasn't that great - it only gives you a hello world.

Web Services in Python (Part 2) - Serving Static Files

If you're smart, you may have already figured out how to do Comet with it with very little code - we'll go over that in the next post. But.. the server doesn't even serve JavaScript files yet! Well, don't panic. In the land of Python, everything is just a few lines of code away. I'll assume you already have the systems libraries from my last blog post installed from this point on. . # apt-get install libevent-2.0 libevent-dev python-dev python-virtualenv So that's 1 line of code to set up the environment - if you haven't done it already. Next, we'll setup the sandbox for the web server - it's not absolutely needed but it's good practice to sandbox web applications with virtualenv in Python. . $ virtualenv myapp $ cd myapp $ . bin/activate 3 lines of code to initialize and enter the virtualenv sandbox - not absolutely required, but good for library hygiene. WebFrameworks.

A Web framework is a collection of packages or modules which allow developers to write Web applications (see WebApplications) or services without having to handle such low-level details as protocols, sockets or process/thread management.

WebFrameworks

The majority of Web frameworks are exclusively server-side technology, although, with the increased prevalence of AJAX, some Web frameworks are beginning to include AJAX code that helps developers with the particularly tricky task of programming (client-side) the user's browser. At the extreme end of the client-side Web Frameworks is technology that can use the web browser as a full-blown application execution environment (a la gmail for example): see Web Browser Programming for details.

Generally, frameworks provide support for a number of activities such as interpreting requests (getting form parameters, handling cookies and sessions), producing responses (presenting data as HTML or in other formats), storing data persistently, and so on. Frictionless Web Development with Flask. Feb 03, 2011 Static Sites and Rapid Iteration with a Lightweight Python Kit of Flask, YAML, Markdown and Fabric.

Frictionless Web Development with Flask

For a while I've been looking for a more fluid toolkit for rapidly developing and iterating static sites. I have three use cases in mind: client html mockups with rapid iterations or slight variations, maintaining the static client sites that I have in the stable, and hacking on my own site.