动手写一个简单的Web框架(Werkzeug路由问题) 继承上一篇博客,实现了HelloWorld,但是这并不是一个Web框架,只是自己手写的一个程序,别人是无法通过自己定义路由和返回文本,来使用的,所以在这篇博客中,将实现一个简单的路由自定义功能 首先引入werkzeug中的两个工具,分别是Map,和Rule,需要通过以下代码引入 from werkzeug.routing import Map, Rule 这两个可以完成路由定义和匹配的基本实现,其次,还引入到werkzeug中的Reques…
动手写一个简单的Web框架(模板渲染) 在百度上搜索jinja2,显示的大部分内容都是jinja2的渲染语法,这个不是Web框架需要做的事,最终,居然在Werkzeug的官方文档里找到模板渲染的代码. 关于模板渲染即render_template,简单实现代码其实只有几行,下面是我的代码: def render_template(path, template, **kwargs): # 获取模板文件夹位置 template_path = os.path.join(path, 'templates…
动手写一个简单的Web框架(HelloWorld的实现) 关于python的wsgi问题可以看这篇博客 我就不具体阐述了,简单来说,wsgi标准需要我们提供一个可以被调用的python程序,可以实函数或者是类,他需要接受两个参数environ(WSGI 的环境信息) 和 start_response(开始响应请求的函数),并且返回可以被迭代 environ是一个字典,我用print打印出来可以看到里面存储着关于请求的各种信息 start_response:一个发送HTTP响应的函数,接受两个参数…
一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI(Web Server Gateway Interface)定义了Web服务器与Web应用(或Web框架)之间的标准接口.在WSGI的规范下,各种各样的Web服务器和Web框架都可以很好的交互. 由于WSGI的存在,用Python写一个简单的Web框架也变得非常容易.然而,同很多其他的强大软件一样,要…
一.MVC概念回顾 路由(Route).控制器(Controller).行为(Action).模型(Model).视图(View) 用一句简单地话来描述以上关键点: 路由(Route)就相当于一个公司的前台小姐,她负责带你(请求)找到跟你面试的面试官(控制器Controller),面试官可能会面试不同的职位(Action),你(请求)也会拿到不同的结果(ActionResult): 二.开始DEMO:单一处理程序入口 2.1 创建一个空白Web程序,移除所有默认引用 无论是ASP.NET Web…
在.Net中有两种常用的Web开发方式,一种是Asp.Net WebForm,另一种是Asp.Net MVC.我先简单的给大家介绍下这两种开发方式的特点,然后再应用自定义脚本映射,反射,json2template.js,htm等技术演示一个纯静态的Web框架. Asp.Net WebForm 在Asp.Net WebForm中,请求大都以.aspx为后缀,那么.Net是如何处理.aspx请求呢? 打开.Net的配置文件, .Net4.0配置文件地址(64位):C:\Windows\Microso…
一.ASP.NET MVC核心机制回顾 在ASP.NET MVC中,最核心的当属“路由系统”,而路由系统的核心则源于一个强大的System.Web.Routing.dll组件. 在这个System.Web.Routing.dll中,有一个最重要的类叫做UrlRoutingModule,它是一个实现了IHttpModule接口的类,在请求处理管道中专门针对ASP.NET MVC请求进行处理.首先,我们要了解一下UrlRoutingModule是如何起作用的. (1)IIS网站的配置可以分为两个块:…
一个简单的web框架实现 #!/usr/bin/env python # -- coding: utf-8 -- __author__ = 'EchoRep' from wsgiref.simple_server import make_server def index(): # data = open('html/index.html').read() return data def echo(): # data = open('html/echo.html').read() return d…
谷歌TPU是一个设计良好的矩阵计算加速单元,可以很好的加速神经网络的计算.本系列文章将利用公开的TPU V1相关资料,对其进行一定的简化.推测和修改,来实际编写一个简单版本的谷歌TPU.计划实现到行为仿真为止,仅为更确切的了解TPU的优势和局限性,暂无在FPGA等硬件上进一步实现的计划. 系列目录 谷歌TPU概述和简化 基本单元-矩阵乘法阵列 基本单元-归一化和池化(待发布) TPU中的Instruction (待完成) SimpleTPU实例: (计划中) 拓展 TPU的边界(规划中) 重新审…
系列目录 谷歌TPU概述和简化 基本单元-矩阵乘法阵列 基本单元-归一化和池化(待发布) TPU中的指令集 SimpleTPU实例: (计划中) 拓展 TPU的边界(规划中) 重新审视深度神经网络中的并行(规划中) TPU V1定义了一套自己的指令集,虽然在介绍处理器时,往往会先谈指令集架构,但此处却把它放到了最后,这主要基于两个原因:其一在于个人的对处理器不太了解,这也是主要原因,其二在于公开资料中并没有TPU指令集的细节和TPU微架构的描述.从数据流和计算单元出发对TPU进行分析固然容易很多…