0%

一、Spring Boot概述

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。总所周知,Spring平台饱受非议的一点就是大量的XML配置以及复杂的依赖管理,而Spring Boot的出现就是用来简化操作的。相比传统的Spring,项目搭建更简单、方便、快速。

二、项目搭建

本文采用IDEA搭建Spring Boot,Demo结构图如下:

spring boot-1.png

通过IDEA生成Spring Boot项目很方便,具体步骤不再赘述,可以参考网上其他资料,如上图,主要生成:

  • src/main/java 程序开发以及主程序入口
  • src/main/resources 配置文件
  • src/test/java 测试程序
阅读全文 »

1.背景

  大家知道GitHub是现在非常流行的代码托管工具,但是如果有些项目不想开源的话,则需要付费,因此萌生了自己搭建一个Git的版本控制工具,供内网使用。GitLab则是个好的选择,但是GitLab只支持Linux版本,因此则需在Windows服务器上搭建个Linux的虚拟机,我选择了Ubuntu。此时服务器端选型成功,客户端需要安装什么呢,我选择了Git Extensions,用它是因为他直接集成了Git以及KDiff3工具,更方便的是这个工具自带Putty,可以很方便地生成SSH公钥和私钥。

2.环境

  1. 服务器端:Ubuntu(搭建在Win10上的虚拟机)、GitLab

  2. 客户端:Win10 Git Extensions(包括Git、KDiff3)

3.实现思路

gitlab1.png

阅读全文 »

浏览器缓存,也就是客户端缓存,既是网页性能优化里面静态资源相关优化的一大利器,也是无数web开发人员在工作过程不可避免的一大问题。浏览器缓存分为:强缓存和协商缓存

一、原理

  1. 浏览器加载资源时,先根据这个资源的http header中的Cache-Control判断是否命中强缓存,如果命中,浏览器直接从缓存中读取资源,根本不会向服务器发送请求;

  2. 当强缓存没有命中的时候,浏览器则会发送一个请求到服务器,通过资源的http header中的 Last-Modified 和If-Modified-Since来判断资源是否命中协商缓存,如果命中,服务器将会将这个请求返回,但不会返回这个资源的数据,而是告诉客服端可以从缓存中加载这个资源;

  3. 如果资源也没有命中协商缓存的话,浏览器直接从服务器端加载资源数据

二、共同点与区别

  1. 共同点:如果命中,都从客户端缓存中加载这个资源,而不从服务器端加载;   
  2. 区别: 强缓存不发请求到服务器,协商缓存发请求到服务器;

三、强缓存原理

命中强缓存,chrome里的network里面 status是200,且size会显示为from disk/memory cache,Cache Control :max-age:315360000 单位秒,也就是10年

阅读全文 »