背景介绍 什么是Content Negotation呢?翻译成中文的话就是"内容协商".当然,如果不清楚HTTP规范(RFC 2616)的话,可以对这个翻译也是一头雾水. 先来看看RFC 2616对其的定义是 The process of selecting the best representation for a given response when there are multiple representations available. 这句话是什么意思呢?可以简单的理解为:…
前言 前后端分离,或许是现如今最为流行开发方式,包括UWP.Android和IOS这样的手机客户端都是需要调用后台的API来进行数据的交互. 但是这样对前端开发和APP开发就会面临这样一个问题:如何知道每个API做什么? 可能,有人会在内部形成一份word文档.pdf:有人会建立一个单独的站点,然后将API的地址,参数等信息列在上面:有人会借助第三方的工具来生成一份文档等. 当然,这基本是取决于不同公司的规范. 说起API文档,就想到前段时间做的微信小程序,由于那个不完善的接口文档,从而导致浪费…
前言 上一篇博客介绍了使用Nancy框架内部的方法来创建了一个简单到不能再简单的Document.但是还有许许多多的不足. 为了能稍微完善一下这个Document,这篇引用了当前流行的Swagger,以及另一个开源的Nancy.Swagger项目来完成今天的任务! 注:Swagger是已经相对成熟的了,但Nancy(2.0.0-clinteastwood)和Nancy.Swagger(2.2.6-alpha)是基于目前的最新版本,但目前的都是没有发布正式版,所以后续API可能会有些许变化. 下面…
在做爬虫时请求网页的requests库是必不可少的,我们常常会用到 res = resquests.get(url) 方法,在获取网页的html代码时常常使用res的text属性: html = res.text,在下载图片或文件时常常使用res的content属性: with open(filename, 'wb') as fp: fp.write(res.content) 下面我们来看看 'text' 和 'content' 的不同之处: 输出本博客的响应对象的 text import re…
        在Android下,查询联系人.通话记录等,需要用到content provider.但是,调用content provider时,Android框架内部是如何做的呢?这一系列文章就是解决这个问题的,所采用的开发环境及源码都是基于Android 1.6版本. 概述 总的来说此问题分为两个步骤: 初始化content provider.这一阶段主要是参照AndroidManifest.xml,初始化content provider.注意这里只有当包含content provider…
  一.说在前面的话 前段时间,工作上需要做一个针对视频质量的统计分析系统,各端(PC端.移动端和 WEB端)将视频质量数据放在一个 HTTP 请求中上报到服务器,服务器对数据进行解析.分拣后从不同的维度做实时和离线分析.(ps:这种活儿本该由统计部门去做的,但由于各种原因落在了我头上,具体原因略过不讲……) 先用个“概念图”来描绘下整个系统的架构: 嗯,这个是真正的“概念图”,因为我已经把大部分细节都屏蔽了,别笑,因为本文的重点只是整个架构中的一小部分,就是上图中红框内的 http serve…
近来学习了一下Nancy这个框架,感觉挺好用的,就写篇简单的文章记录一下大致用法,由于是刚接触,写的代码 可能不规范,也没有具体的分层..莫吐槽... Nancy的官网:http://nancyfx.org/ GitHub地址:https://github.com/NancyFx/Nancy Nancy在文档的介绍 -- 轻量级 " Nancy is a lightweight, low-ceremony, framework for building HTTP based services o…
今天我们来谈谈Nancy中的静态文件(JavaScript,CSS等)该如何处理. 在前面的Demo中,我们也已经用到了这一块的内容, 但并没有深入理解,只是停留在使用的层面上. 在进入今天的正题之前,我们先来简单看看我们熟悉的ASP.NET MVC中是如何管理我们项目中的这些静态文件呢? 其实当我们新建一个MVC的项目时,已经生成了一个“模板”让我们参考, 这个“模板”就是App_Start下面的 BundleConfig.cs public class BundleConfig { // F…
过年前的最后一篇博客,决定留给Nancy中的ModelBinding 还是同样的,我们与MVC结合起来,方便理解和对照 先来看看MVC中简单的ModelBinding吧 // POST: Authors/Create // To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see http://go.microsof…
一.前言 在MVC中,区域(Area)和分部视图(PartialView)应该是我们用的十分频繁的两个东西 今天我们就在Nancy中,把这两个东西简单的用起来!   二.简单使用之区域 区域,无论是对开发过程还是代码管理都占据着一个重要的地位! 下面我们就来看看Nancy中的区域要如何用,其实,准确来说, Nancy中并没有明确提出区域这个概念,也只是我凭着与MVC的对照,自己添加的一个好理解的概念   下面就来看一下吧,这里用到了Nancy,Nancy.Hosting.Aspnet这些引用 这…