- Location - The location of the application. Usually just a URL, but the location can contain multiple pieces of information that can be used by an app
- pathname - The "file/directory" portion of the URL, like
invoices/123
- search - The stuff after
?
in a URL like/assignments?showGrades=1
. - query - A parsed version of search, usually an object but not a standard browser feature.
- hash - The
#
portion of the URL. This is not available to servers inrequest.url
so its client only. By default it means which part of the page the user should be scrolled to, but developers use it for various things. - state - Object associated with a location. Think of it like a hidden URL query. It's state you want to keep with a specific location, but you don't want it to be visible in the URL.
- pathname - The "file/directory" portion of the URL, like
package main | |
// Simple, single-threaded server using system calls instead of the net library. | |
// | |
// Omitted features from the go net package: | |
// | |
// - TLS | |
// - Most error checking | |
// - Only supports bodies that close, no persistent or chunked connections | |
// - Redirects |
2019 update: this essay has been updated on my personal site, together with a followup on how to get started
2020 update: I'm now writing a book with updated versions of all these essays and 35 other chapters!!!!
If there's a golden rule, it's this one, so I put it first. All the other rules are more or less elaborations of this rule #1.
You already know that you will never be done learning. But most people "learn in private", and lurk. They consume content without creating any themselves. Again, that's fine, but we're here to talk about being in the top quintile. What you do here is to have a habit of creating learning exhaust. Write blogs and tutorials and cheatsheets. Speak at meetups and conferences. Ask and answer things on Stackoverflow or Reddit. (Avoid the walled gardens like Slack and Discourse, they're not public). Make Youtube videos
Note:
When this guide is more complete, the plan is to move it into Prepack documentation.
For now I put it out as a gist to gather initial feedback.
If you're building JavaScript apps, you might already be familiar with some tools that compile JavaScript code to equivalent JavaScript code:
- Babel lets you use newer JavaScript language features, and outputs equivalent code that targets older JavaScript engines.
- nylas/N1 💌 An extensible desktop mail app built on the modern web.
- black-screen/black-screen A terminal emulator for the 21st century.
- shockone/black-screen A terminal emulator for the 21st century.
- ptmt/react-native-macos React Native for macOS
- docker/kitematic Visual Docker Container Management on Mac & Windows
- kitematic/kitematic Visual Docker Container Management on Mac & Windows
- davezuko/wirk-starter Get started with React, Redux, and React-Router!
- TelescopeJS/Telescope 🔭 An open-source social news app built with Meteor & React
- coryhouse/react-slingshot React + Redux starter kit / boile
# Hello, and welcome to makefile basics. | |
# | |
# You will learn why `make` is so great, and why, despite its "weird" syntax, | |
# it is actually a highly expressive, efficient, and powerful way to build | |
# programs. | |
# | |
# Once you're done here, go to | |
# http://www.gnu.org/software/make/manual/make.html | |
# to learn SOOOO much more. |
import unicodecsv | |
from django.http import HttpResponse | |
def export_as_csv_action(description="Export selected objects as CSV file", | |
fields=None, exclude=None, header=True): | |
""" | |
This function returns an export csv action | |
'fields' and 'exclude' work like in django ModelForm | |
'header' is whether or not to output the column names as the first row | |
""" |
- Book by: Clayton M. Christensen, Cambridge, Massachusetts: Harvard Business School Press, 1997
- Prepared by: B.B. McBreen. See [PDF][1] (more readable but it's not plain text)
- Market progress is separate from technology progress. Customers do not always know what they need.
- Innovation requires resource allocation which is extraordinarily difficult for disruptive technologies.
- Disruptive technology needs a new market. Old customers are less relevant. Disruptive technology is a marketing problem, not a technological one.