专栏首页北京马哥教育什么是python/django web程序员在三个月内应该学习的知识

什么是python/django web程序员在三个月内应该学习的知识

This is a collection of things I think any beginner web developer working on the Python/Django stack ought to know. This assumes zero knowledge in web development or programming to begin with.

  1. Web Related
    1. Best book to read: The Art of SEO
    2. What is a GET and POST request
    3. 200/301/302/403/404/500 status codes
    4. What is a cookie and how is it used
    5. Learn how to search and read documentation
    6. Basic SEO knowledge
  2. Frontend
    1. Best book to read: Don’t make me Think
    2. How a page is loaded in the browser (DOM)
    3. Working/basic knowledge of HTML/CSS/JS – You will learn this by osmosis
    4. What is AJAX
    5. What is HTML5
    6. Basic UX/UI understanding
  3. Python
    1. Write Fizzbuzz
    2. Read Learn Python the Hard Way then an intermediate book like Dive into Python or one of the O’Reilly series
  4. Django
    1. How does form validation occur
    2. What is template inheritance
    3. GET/POST paradigm within a view function
    4. Do the tutorial project at djangoproject.com
    5. Read Definitive Guide to Django Development Done Right
    6. Be able to setup a new project from scratch using virtualenv locally with a skeletal folder structure and settings that caters to a production and development environment
    7. What a view function does
    8. What a model class does
    9. What does a template do
    10. Basic Regex and URLS
    11. How do urls, views, models and template relate with one another
    12. Difference between model forms and forms
    13. How to write a test that tests the view functions, models and utility methods
    14. How to debug and find the source of a problem
  5. Database/Models
    1. How to model Foreignkey relations
    2. How to model M2M relations
    3. Basic data types
  6. Tools in your Employ
    1. How does a migration work
    2. How to do an initial migration
    3. How to migrate subsequent changes to a schema
    4. Trouble shoot migration conflicts
    5. iPython
    6. South
    7. Git
    8. IDE of choice, preferably VIM
    9. Firebug
    10. Fabric
  7. Processes
    1. How to add, commit, release, rollback, fix, merg and conflict management
    2. Deployment process at your team. How it works, what git hooks are used for what purposes. What fabric scripts do what etc
    3. Git Flow
  8. Soft Skills
    1. Communication with product owners
    2. Communication with colleagues
    3. Cultivating a Growth mindset
  9. Graduating Project!
    1. View all the users on the project
    2. Edit the details of the users
    3. Create a new user
    4. Delete a user
    5. Create a one page Django project that will allow me to:

A note on doing too much reading:

Oftentimes as a beginner, we’re overwhelmed by the amount of information we need to do something. The knee jerk reaction, a badge of the fine education doctrines what have been ingrained in us, is to read about the topic/subject. I find this hits a wall of diminishing returns quickly.

For the reading to be truly effective, you need a certain amount of wisdom to absorb it. This can only be done by reading backwards. What this means is that say you’re tasked to create a dashboard page from scratch. In your mind you’ll probably think something like:whoaaaa, I have on idea how to do this. I need to do some research!And then you try to do random reading at djangoproject or various books and then bite off more than you can chew. The human brain has a tendency to make things more complex than it really is. The right question you should be asking in your mind is: how do I first load a page and then present a form on this page to manipulate data?This will make your reading much more directed and effective.

本文分享自微信公众号 - 马哥Linux运维(magedu-Linux),作者:马哥教育

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2014-12-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 两大Linux发行版迎来大幅更新 Debian 9及Fedora 26 Beta终于发布

    Debian 9终于发布 Debian 发行版宣布正式释出代号为 Stretch 的 Debian 9,该版本将提供五年的支持。Stretch 将专门献给于 2...

    小小科
  • 十个提升生产力的 bash 技巧

    我喜欢钻研bash环境。很多时候,在使用bash编程中,有些问题一遍又一遍的重复遇到。每次我都需要重新思考这些问题的解决方法。直到有一天我无法忍受,于是坐下来,...

    小小科
  • TCP洪水攻击(SYN Flood)的诊断和处理

    SYN Flood介绍 前段时间网站被攻击多次,其中最猛烈的就是TCP洪水攻击,即SYN Flood。 SYN Flood是当前最流行的DoS(拒绝服务攻击)与...

    小小科
  • ROS机器人项目开发11例-ROS Robotics Projects(6)Matlab和Android

    书中,第8章主要介绍了ROS与Matlab和Android的接口,以及集成使用的方法。

    zhangrelay
  • What is agile software development?

    Agile software development is a set of management framework and practices to dev...

    用户4822892
  • What is aspnet.config

    今天认真的看了一下1.1和2.0版本的Aspnet.config,发现非常的不同,也许是asp.net 2.0比1.1的修改非常大。在MSDN上也找不到相关的文...

    张善友
  • docs and demos of Watson services

    Services 1)Language 1.1) AlchemyLanguage :Demo Document AlchemyLanguage is a c...

    首席架构师智库
  • Benefits of having web app for your business

    Benefits-of-Web-Application-Development.png

    用户4822892
  • 【译】(数字化)平台思维的艺术

    作者: Amit Kaul (Vice President, Emerging Technology) & Ryan Murray (Director, Dig...

    JimmyLv_吕靖
  • 创业杂谈

    上周和一个投资人见面,聊了很多创业的事情。我虽然目前不在创业的节奏,几年内也不太会重返创业领域(需要花时间陪孩子,为孩子营造好的环境),但还是很关注创业圈的一举...

    tyrchen

扫码关注云+社区

领取腾讯云代金券