I felt the need to compile a solution index for the experiences described.
In this interesting blog post describes his view of the typical learning
curve of a web developer and the tools, solutions and concepts he discovers
when he becomes a successful developer.
I do not want to summarize the post but I wanted to compile a list of those
solutions and concepts affecting the life of a web developer.
Markup Standards Knowledge |
HTML, CSS, JSON, YAML |
Web Stack Layering |
Basic knowledge about
- Using TCP as transport protocol
- Using HTTP as application protocol
- Using SSL to encrypt the application layer with HTTPS
- Using SSL certificates to proof identity for websites
- Using (X)HTML for the application layer
- Using DOM to access/manipulate application objects
|
Web Development Concepts |
- 3 tier server architecture
- Distinction of static/dynamic content
- Asynchronous CSS, JS loading
- Asynchronous networking with Ajax
- CSS box models
- CSS Media Queries
- Content Delivery Networks
- UX, Usability...
- Responsive Design
- Page Speed Optimization
- HTTP/HTTPS content mixing
- Cross domain content mixing
- MIME types
- API-Pattern: RPC, SOAP, REST
- Localization and Internationalization
|
Developer Infrastructure |
- Code Version Repo: usually Git. Hosted github.com or self-hosted e.g. gitlab
- Continuous Integration: Jenkins, Travis
- Deployment: Jenkins, Travis, fabric, Bamboo, CruiseControl
|
Frontend JS Frameworks |
Mandatory knowledge in jQuery as well as knowing one or more JS frameworks as
Bootstrap,
Foundation,
React,
Angular,
Ember,
Backbone,
Prototype, GWT, YUI
|
Localization and Internationalization |
Frontend: usually in JS lib e.g. LocalePlanet or Globalize
Backend: often in gettext or a similar mechanism |
Precompiling Resources |
For Javascript: Minify
For CSS:
For Images: ImageMagick
Test everything with Google PageSpeed Insights
|
Backend Frameworks |
By language
- PHP: CakePHP, CodeIgniter, Symfony, Seagull, Zend, Yii (choose one)
- Python: Django, Tornado, Pylons, Zope, Bottle (choose one)
- Ruby: Rails, Merb, Camping, Ramaze (choose one)
|
Web Server Solutions |
nginx, Apache
For loadbalancing: nginx, haproxy
As PHP webserver: nginx+PHPFPM |
RDBMS |
MySQL (maybe Percona, MariaDB), Postgres |
Caching/NoSQL |
Without replication: memcached, memcachedb, Redis
With replication: Redis, Couchbase, MongoDB, Cassandra
Good comparisons:
#1
#2
|
Hosting |
If you are unsure about self-hosting vs. cloud hosting have a look at the
Cloud Calculator.
|
Blogs |
Do not try to self-host blogs. You will fail on keeping them secure and
up-to-date and sooner or later they are hacked. Start with a blog hoster
right from the start: Choose provider |