• Flask/Tornado/Django


    深入学习Python ,用Django做Web后端开发
    现在Python的用途愈来愈广,服务器、Web、游戏、爬虫、数据分析 以及人工智能 学习之路还很长

    技术之路 不能回头 陷进去  就出不来 就跟恋爱一般,
    学习中、项目中 印象笔记、有道云笔记、Onenote都记了好多
    有朋友说,记的笔记一直放在那里会发霉、会忘记;
    写写博客、偶尔自己看看、记录自己的成长、同时也算一种分享

    Python属于 面向对象 解释型 高级动态计算机程序设计语言

    了解一门语言 当先了解它的整体架构、基本语法、内置数据结构、内置函数、标准库以及运行模式、编程模式等。

    1、Python总体架构

    Python的整体架构可以分为主要三个部分:

    左边是 Python提供的内置模块 库 及用户自定义模块

    右边是Python的运行环境,包括对象/类型系统、内存分配器、运行状态信息

    中间是Python的核心 解释器。Python运行时的数据流  词法分析、语法分析、编译、执行

    常用标准库

    Python <wbr>web后端开发框架 <wbr>Django <wbr>、Flask、Tornado
    下面是在逛CSDN每天都被灌的鸡汤,总结一下缺养时可以补补:
        
        编程之久除了算法和数据结构,什么也不属于我们。
        编程就是算法和数据结构,算法和数据结构是编程的灵魂。
        编程中最没用的东西是源代码,最有用的东西是算法和数据结构。
        算法和数据结构是程序的第一秘诀,缺之算法和数据结构是编程的最大原因。
        算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。


        尽管少写那么多代码,但省下来的时间又在哪里呢?
        代码是程序员的朋友,虽然没有热情,但是非常忠实。
        当你还不能写出自己满意的程序时,你就不要去睡觉。
        有些代码不应该被忘记,也没有源代码不应该被记住。
        对代码不满足,是任何真正有天才的程序员的根本特征。
        有编过程的人的代码,比那些无知的人使用的软件更有价值。
        编程是一种美德,是促使一个人不断向上发展的一种原动力。
        程序员的一生时间90%是用在编程上,而剩余的10%是活在世界上。
        程序员之所以犯错误,不是因为他们不懂,而是因为他们自以为什么都懂。
        调试的错误就是编程给你最好的东西,因为在每个错误上面都标志着前进的一步。
        假如编程易懂得,那么程序员就不会热情地写出注释,也不会有得到编程的快乐。
        代码是最为耐心、最能忍耐和最令人愉快的伙伴,在任何艰难困苦的时刻,它都不会抛弃你

    由于Python的简洁 易读 强大 高效  现在Python应用在文件处理、网络编程、数据库编程、游戏、Web开发、数据分析、机器学习等各个领域。

    就Web开发而言,为了提高开发效率,应运而生了很多框架,如Django、Flask、Tornado、Web2py等。

    框架很多,根据业务需求、选择适合的框架。

    1、Django

    最早接触Django,在我心中的形象是:Web框架界的变形金刚

    Django的MVT架构、自带ORM、强大的Admin后台管理、自带数据库、还自带开发测试用的服务器、不得不说服务周到。

    如此大而全,重量级的Django给开发者提供了超高的开发效率。

    淌着Python血液

    MVT三大轮子 连接浏览器 数据库开跑

    一身装备 可变形 可扩展

    多领域 跨平台 协调作战

    自我测试 自我管理 自我保护

    友好 开放 国际化

    装备很多:

    用户认证 缓存 日志 邮件 组织 分页 消息 序列化 会话 网站地图 静态文件处理 数据验证

    Django支持第三方扩展:

    比如:富文本编辑器  缓存 全文检索  celery等

    Django项目布署 用nginx做静态资源代理、负载均衡 可以提高高并发能力。

    一些Web项目开发 无论用户量、服务群体、上来总谈高并发。没用户 天天愁高并发问题 还没解决也许项目已经黄了。

    项目有了、业务有了、用户有了、性能优化、高并发顺势解决嘛。

    当然一些大型网站,在高性能的要求下,框架的各个部分往往都需要自己定制,这样用Django也就没有太大优势。

    2、Falsk

    相较于Django ,Falsk属于轻量级Web框架,也称‘microframework’。

    Flask一个简单的核心,基于Werkzeug WSGI工具箱和Jinja2 模板引擎。其他功能开发者根据业务需求 与喜好 添加。

    如此 Falsk 自由、灵活、可扩展性很强。很适用于开发小型应用、开发大型网站也没有压力,自己设计架构、选择合适第三方扩展,各方面性能完全不输Django。

    常用拓展包:wtf、sqlalchemy、login、script、migrate、mail

    3、Tornado

    传说中实现高并发、高性能的框架。Tornado的全称是Torado Web Server,可用作Web服务器,同时也是一个Python Web的开发框架。

    Tornado两大核心模块:

    iostream :对非阻塞式的 socket 的简单封装,用来处理 socket 的异步读写

    ioloop :核心的 I/O 循环。基于 epoll,可以高效的响应网络事

    其作为Web框架的主要模块

    web:包含了 Tornado 的大多数重要的功能
    escape :XHTML, JSON, URL 的编码/解码方法
    template :基于 Python 的 web 模板系统

    httpserver : 非阻塞 HTTP server
    httpclient : 异步 HTTP client 用来和web 及 httpserver 协同工作
    auth :第三方认证的实现
    locale:针对本地化和翻译的支持
    等等

    Tornado 走的少而精的路子,除了Web开发需要的基本模块,剩下的则都需要开发者自己扩展。比如需要ORM支持,那自己来扩展

    Python web框架很多,在于精通。选择适合自己的,开始搞起来。

    我做项目用的多的还是Django,不自己重复造车轮子嘛。

    题外话:

    目前有一些公司选择Go语言 做所谓的高性能的开发

    Go语言 号称可解决现今多核心处理器这一大挑战。
    Go语言 专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

    语言皆是工具

    框架提高效率的工具

    套用CSDN每天的鸡汤:

    编程之久除了算法和数据结构,什么也不属于我们。

    编程就是算法和数据结构,算法和数据结构是编程的灵魂。
    算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。

    真的不知道开发者还剩下什么,当机器可以自己优化数据结构与算法,也许我们就真的只剩下灵魂了。

  • 相关阅读:
    EF实体框架处理实体之间关联关系与EF延迟机制(下)
    EF Code First Migrations数据库迁移
    EF的默认映射以及如何使用Data Annotations和Fluent API配置数据库的映射
    学习Entity Framework 中的Code First
    使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(四)-- Middleware
    学习ASP.NET Core,你必须了解无处不在的“依赖注入”
    EF Code First 学习笔记:表映射 多个Entity到一张表和一个Entity到多张表
    OWIN and Katana
    ASP.NET Core 1.0基础之依赖注入
    Mysql支持的数据类型(总结)
  • 原文地址:https://www.cnblogs.com/cx2016/p/12057745.html
Copyright © 2020-2023  润新知