通过Internet获取资源既缓慢,成本又高.为此,Http协议里包含了控制缓存的部分,以使Http客户端可以缓存和重用以前获 取的资源,从而优化性能,提升体验.虽然Http中关于缓存控制的部分,随着协议演进,有一些变化.但我觉着,作为后端程 序员,在开发Web服务时,只需要关注请求头If-None-Match.响应头ETag.响应头Cache-Control就足够了.因为这三个Http 头就可以满足你的需求,并且,当今绝大多数的浏览器,都支持这三个Http头.我们所要做的就是,确保每个服务器响…
There are only two hard things in Computer Science: cache invalidation and naming things. -- Phil Karlton 通过Internet获取资源既缓慢,成本又高.为此,Http协议里包含了控制缓存的部分,以使Http客户端可以缓存和重用以前获取的资源,从而优化性能,提升体验.虽然Http中关于缓存控制的部分,随着协议演进,有一些变化.但我觉着,作为后端程序员,在开发Web服务时,只需要关注请求头If-…
老读者就请肆无忌惮地点赞吧,微信搜索[沉默王二]关注这个在九朝古都洛阳苟且偷生的程序员.本文 GitHub github.com/itwanger 已收录,里面还有我精心为你准备的一线大厂面试题. 站在运筹帷幄的角度来看,一名厉害的 Java 后端程序员都需要懂得哪些知识呢?我想,这也是很多读者迫切想知道的一个问题,因为如果不站在一个宏观的角度的话,所有学过的知识点都是零散的,就感觉像一只迷路的小鹿,跌跌撞撞的,总感觉欠点火候,对吧? 怎么把知识点串联起来,形成知识图谱或者知识体系,就显得非常重…
站在运筹帷幄的角度来看,一名厉害的 Java 后端程序员都需要懂得哪些知识呢?我想,这也是很多读者迫切想知道的一个问题,因为如果不站在一个宏观的角度的话,所有学过的知识点都是零散的,就感觉像一只迷路的小鹿,跌跌撞撞的,总感觉欠点火候,对吧? 怎么把知识点串联起来,形成知识图谱或者知识体系,就显得非常重要了.接下来,我根据这些年磨破滚打的一些经验,给大家简单科普一下,如果有漏掉的内容,希望读者朋友们在留言区指出来. 1)MVC 框架:MVC 模式是软件工程中的一种软件架构模式,可以把软件系统分为三…
1.后端程序员只需要关注请求头: if-None-Match //上一次response头中的ETag的值. 响应头: Etag //是URL的Entity Tag,用于标示URL对象是否改变,区分不同语言和Session等等. 响应头: Cache-control: public //所有内容都将被缓存(客户端和代理服务器都可缓存) private //只能客户端能缓存 no-cache //在使用缓存的资源之前,必须先和服务器确认返回的响应是否被修改, 如果资源没有被修改,可以避免下载,验证…
1. 从认识操作系统开始 正式开始 Linux 之前,简单花一点点篇幅科普一下操作系统相关的内容. 1.1. 操作系统简介 我通过以下四点介绍什么是操作系统: 操作系统(Operating System,简称 OS)是管理计算机硬件与软件资源的程序,是计算机的基石. 操作系统本质上是一个运行在计算机上的软件程序 ,用于管理计算机硬件和软件资源. 举例:运行在你电脑上的所有应用程序都通过操作系统来调用系统内存以及磁盘等等硬件. 操作系统存在屏蔽了硬件层的复杂性. 操作系统就像是硬件使用的负责人,统…
前言: 首先为什么要写这样的一篇文章呢?主要是因为前段时间写过一些关于Angualr的相关实战文章,有些爱学习的小伙伴对这方面比较感兴趣,但是又不知道该怎么入手(因为认识我的大多数小伙伴都是后端的同学),所以今天准备出一篇Angular学习资料汇总和日常开发中使用比较频繁的语法.让更多的后端程序员更好的了解学习Angualr,拓展自己的技术栈. Angular简介: Angular 是一个应用设计框架与开发平台,用于创建高效.复杂.精致的单页面应用. 学习资料推荐: Angular-GitHub…
第13章 写给C#程序员的UML概述 UML包含3类主要的图示.静态图(static diagram)描述了类.对象.数据结构以及它们之间的关系,藉此表现出了软件元素间那些不变的逻辑结构.动态图(dynamic diagram)展示了软件实体在运行过程中是如何变化的,其中描述了运行流程或者实体改变状态的方式.物理图(physical diagram)展示了软件实体不变的物理结构,其中描述了诸如源文件.库.二进制文件.数据文件等物理实体以及它们之间的关系. 查看如下代码,这段程序实现了一个基于简单…
写给嵌入式程序员的循环冗余校验(CRC)算法入门引导 http://blog.csdn.net/liyuanbhu/article/details/7882789 前言 CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式.在嵌入式软件开发中,经常要用到CRC 算法对各种数据进行校验.因此,掌握基本的CRC算法应是嵌入式程序员的基本技能.可是,我认识的嵌入式程序员中能真正掌握CRC算法的人却很少,平常在项目中见到的CRC的代码多数都是那种效率非常低下的实现方式. 其实,在网上有一篇介绍CRC…
Models 不写注释的程序员-Models # This is an auto-generated Django model module. # You'll have to do the following manually to clean this up: # * Rearrange models' order # * Make sure each model has one field with primary_key=True # * Make sure each ForeignKe…