<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[it_0101的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/it_0101</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; it_0101]]></copyright><item><title><![CDATA[nginx如何自定义日志记录格式？]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/102677797</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/102677797</guid><author>it_0101</author><pubDate>Tue, 22 Oct 2019 10:55:51 +0800</pubDate><description><![CDATA[Nginx日志主要分为两种：access_log(访问日志)和error_log(错误日志)。通过访问日志我们可以得到用户的IP地址、浏览器的信息，请求的处理时间等。错误日志记录了访问出错的信息，可以帮助我们找到错误的原因。

配置access_log

访问日志主要记录客户端的请求信息，客户端向Nginx服务器发起的每一次请求都记录在这里。

客户端IP，浏览器信息，referer，请求处理时...]]></description><category></category></item><item><title><![CDATA[springboot学习-整合mybatis使用Generator自动生成代码]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/81200684</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/81200684</guid><author>it_0101</author><pubDate>Wed, 25 Jul 2018 12:59:47 +0800</pubDate><description><![CDATA[第零步，在pom.xml中新增加generator插件，如图：



 

配置代码贴出来：


&amp;lt;properties&amp;gt;
        &amp;lt;project.build.sourceEncoding&amp;gt;UTF-8&amp;lt;/project.build.sourceEncoding&amp;gt;
        &amp;lt;project.reporting.outputEncoding&amp;...]]></description><category></category></item><item><title><![CDATA[浏览器缓存知识小结及应用]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/80793970</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/80793970</guid><author>it_0101</author><pubDate>Sun, 24 Jun 2018 20:18:29 +0800</pubDate><description><![CDATA[浏览器缓存，也就是客户端缓存，既是网页性能优化里面静态资源相关优化的一大利器，也是无数web开发人员在工作过程不可避免的一大问题，所以在产品开发的时候我们总是想办法避免缓存产生，而在产品发布之时又在想策略管理缓存提升网页的访问速度。了解浏览器的缓存命中原理，是开发web应用的基础，本文着眼于此，学习浏览器缓存的相关知识，总结缓存避免和缓存管理的方法，结合具体的场景说明缓存的相关问题。希望能对有需要...]]></description><category></category></item><item><title><![CDATA[Spring的IOC原理]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/80793849</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/80793849</guid><author>it_0101</author><pubDate>Sun, 24 Jun 2018 19:52:37 +0800</pubDate><description><![CDATA[1. IoC理论的背景我们都知道，在采用面向对象方法设计的软件系统中，它的底层实现都是由N个对象组成的，所有的对象通过彼此的合作，最终实现系统的业务逻辑。图1：软件系统中耦合的对象如果我们打开机械式手表的后盖，就会看到与上面类似的情形，各个齿轮分别带动时针、分针和秒针顺时针旋转，从而在表盘上产生正确的时间。图1中描述的就是这样的一个齿轮组，它拥有多个独立的齿轮，这些齿轮相互啮合在一起，协同工作，共...]]></description><category></category></item><item><title><![CDATA[Spring注解@Resource和@Autowired区别对比]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/80793824</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/80793824</guid><author>it_0101</author><pubDate>Sun, 24 Jun 2018 19:47:22 +0800</pubDate><description><![CDATA[@Resource和@Autowired都是做bean的注入时使用，其实@Resource并不是Spring的注解，它的包是javax.annotation.Resource，需要导入，但是Spring支持该注解的注入。1、共同点两者都可以写在字段和setter方法上。两者如果都写在字段上，那么就不需要再写setter方法。2、不同点（1）@Autowired@Autowired为Spring提供...]]></description><category></category></item><item><title><![CDATA[SpringMVC工作原理]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/80793758</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/80793758</guid><author>it_0101</author><pubDate>Sun, 24 Jun 2018 19:43:07 +0800</pubDate><description><![CDATA[SpringMVC的工作原理图：SpringMVC流程用户发送请求至前端控制器DispatcherServlet。DispatcherServlet收到请求调用HandlerMapping处理器映射器。处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找)，生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。DispatcherServlet调用Ha...]]></description><category></category></item><item><title><![CDATA[redis基础]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/80691291</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/80691291</guid><author>it_0101</author><pubDate>Thu, 14 Jun 2018 13:08:35 +0800</pubDate><description><![CDATA[Redis 简介REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 Key-Value 存储系统。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库，并提供多种语言的 API。它通常被称为数据结构服务器，因为值（value）可以是字符串(S...]]></description><category></category></item><item><title><![CDATA[什么是分布式锁？]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/80573972</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/80573972</guid><author>it_0101</author><pubDate>Mon, 04 Jun 2018 22:11:25 +0800</pubDate><description><![CDATA[—————  第二天  —————————————————分布式锁的实现有哪些？1.Memcached分布式锁利用Memcached的add命令。此命令是原子性操作，只有在key不存在的情况下，才能add成功，也就意味着线程得到了锁。2.Redis分布式锁和Memcached的方式类似，利用Redis的setnx命令。此命令同样是原子性操作，只有在key不存在的情况下，才能set成功。（setnx...]]></description><category></category></item><item><title><![CDATA[互联网协议入门]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/80573711</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/80573711</guid><author>it_0101</author><pubDate>Mon, 04 Jun 2018 21:58:10 +0800</pubDate><description><![CDATA[我们每天使用互联网，你是否想过，它是如何实现的？全世界几十亿台电脑，连接在一起，两两通信。上海的某一块网卡送出信号，洛杉矶的另一块网卡居然就收到了，两者实际上根本不知道对方的物理位置，你不觉得这是很神奇的事情吗？互联网的核心是一系列协议，总称为&quot;互联网协议&quot;（Internet Protocol Suite）。它们对电脑如何连接和组网，做出了详尽的规定。理解了这些协议，就理解了互联网的原理。下面就是...]]></description><category></category></item><item><title><![CDATA[java生成文件名时汉字变为下划线？]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/80430717</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/80430717</guid><author>it_0101</author><pubDate>Thu, 24 May 2018 10:27:09 +0800</pubDate><description><![CDATA[public static void exportToExcel(String uid, String name, String htmlText, HttpServletRequest request, HttpServletResponse response) {
      htmlText = htmlText.replaceFirst(&quot;&amp;lt;table&amp;gt;&quot;, &quot;&amp;lt;tabl...]]></description><category></category></item><item><title><![CDATA[linux下free命令结果详解]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/79900859</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/79900859</guid><author>it_0101</author><pubDate>Wed, 11 Apr 2018 18:24:40 +0800</pubDate><description><![CDATA[直接上图，，哈哈哈哈哈哈哈哈这里使用1、2 分别代表第一行和第二行的数据可以整理出如下等式：1234total1 = used1 + free1total1 = used2 + free2used1 = buffers1 + cached1 + used2free2 = buffers1 + cached1 + free1...]]></description><category></category></item><item><title><![CDATA[linux下两台主机之间（或多台主机之间）实现相互免密登录]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/79896322</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/79896322</guid><author>it_0101</author><pubDate>Wed, 11 Apr 2018 15:08:23 +0800</pubDate><description><![CDATA[一、两台主机之间：现在两台主机A、B。如果想从主机A登录主机B时不用输入密码，方法如下：主机A执行命令：ssh-keygen -t rsa    其中那三个要求你输入东西可以直接不用输入，回车就行，执行命令后会在/root/.ssh/目录下产生两个文件，id_rsa(私钥)，id_rsa.pub(公钥)。接下里将公钥文件上传到主机B，在此假设A为192.168.1.1 ； B为192.168.1....]]></description><category></category></item><item><title><![CDATA[linux下执行sh脚本时：出现bad interpreter:No such file or directory原因。]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/79883812</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/79883812</guid><author>it_0101</author><pubDate>Tue, 10 Apr 2018 17:01:26 +0800</pubDate><description><![CDATA[Linux下面写了一个自动备份数据库脚本一直运行不了，提示：bad interpreter:No such file or directory找了好久，总算发现原来是文件格式的问题。这个文件是我在Windows下编写的。换行的方式与Unix不一样，但是在VI下面如果不Set一下又完全看不出来。问题：1、Windows编写好上传到linux主机运行    错误提示如下：    bash: ./bac...]]></description><category></category></item><item><title><![CDATA[Linux的cron服务自动执行的数据库dump备份文件为空原因、解决方法]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/79883218</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/79883218</guid><author>it_0101</author><pubDate>Tue, 10 Apr 2018 16:39:52 +0800</pubDate><description><![CDATA[若你的自动备份脚本如下，将其添加进cron服务执行时，可能得到的是空的dump文件，原因：如下的tool=mysqldump ,若你是手工执行该脚本的话，是没有问题的，但是是通过cron服务自动执行，将出现空dump文件的情况，为什么呢？如图：这是/etc/crontab  文件，指定的命令会在path路径下寻找，而mysqldump命令是属于mysql自带的，在自己啊mysql安装的bin目录下...]]></description><category></category></item><item><title><![CDATA[svn仓库迁移及配置注意事项？]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/78790543</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/78790543</guid><author>it_0101</author><pubDate>Wed, 13 Dec 2017 12:47:20 +0800</pubDate><description><![CDATA[1、快速：直接将原svn仓库目录打包 tar -zcvf  file.tar.gz svn仓库目录，将压缩包传送到目标机器上，直接解压到目标的svn仓库目录
      替换整个目录时，会将原配置也一起替换，如果不想替换配置，只需要仓库，只需解压后将里面的db目录替换掉即可（数据存储的db目录下）
      缺点：目标svn版本 >= 原svn版本；
     优点：压缩体积较小 ， 传输]]></description><category></category></item><item><title><![CDATA[nginx反向代理后应用程序如何获取客户端真实IP？]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/78390700</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/78390700</guid><author>it_0101</author><pubDate>Mon, 30 Oct 2017 10:32:03 +0800</pubDate><description><![CDATA[Nginx反向代理后，Servlet应用通过request.getRemoteAddr()取到的IP是Nginx的IP地址，并非客户端真实IP，通过request.getRequestURL()获取的域名、协议、端口都是Nginx访问Web应用时的域名、协议、端口，而非客户端浏览器地址栏上的真实域名、协议、端口。
Nginx的反向代理实际上是客户端和真实的应用服务器之间的一个桥梁，客户端（一般是]]></description><category></category></item><item><title><![CDATA[tomcat核心组件及server.xml配置讲解]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/77893466</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/77893466</guid><author>it_0101</author><pubDate>Fri, 08 Sep 2017 13:05:49 +0800</pubDate><description><![CDATA[<!--tomcat最核心组件：Server Service Connector Engine Host Context;
  其他组件都可归为内嵌组件（即是嵌入在这几种组件中的）
-->
server.xml配置文件结构如下：
Server port="8005" shutdown="SHUTDOWN">
    Service name="Catalina">
        Connect]]></description><category></category></item><item><title><![CDATA[redis命令大全（二）]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/77884385</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/77884385</guid><author>it_0101</author><pubDate>Thu, 07 Sep 2017 17:22:33 +0800</pubDate><description><![CDATA[append:
用法：append  key  value
作用：如果key存在且是一个字符串，则将value值追加到该字符串末尾；若不存在key，相当于set
 key value命令。
版本支持：>= 2.0.0

bitcont:
用法：bitcont key [start][end]
作用：计算给定字符串中，被设置为 1
的比特位的数量。
一般情况下，给定的整个字符串都]]></description><category></category></item><item><title><![CDATA[MySQL中explain命令的type指标讲解]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/77868939</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/77868939</guid><author>it_0101</author><pubDate>Wed, 06 Sep 2017 17:13:34 +0800</pubDate><description><![CDATA[explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。

使用方法，在select语句前加上explain就可以了:


explain select surname,first_name form a,b where a.id=b.id

实验环境：数据库版本 5.6.22 ,引擎 InnoDB


type]]></description><category></category></item><item><title><![CDATA[redis命令大全（一）]]></title><link>https://blog.youkuaiyun.com/it_0101/article/details/77862073</link><guid>https://blog.youkuaiyun.com/it_0101/article/details/77862073</guid><author>it_0101</author><pubDate>Wed, 06 Sep 2017 09:14:32 +0800</pubDate><description><![CDATA[对key的操作命令：





命令
用法
作用
版本
返回值




del
del key1 key2 ......
删除一个或多个key,不存在的key自动忽略
>=1.0.0
删除key的数目


dump
dump key
 序列化key
>=2.6.0
key不存在，返回nil,成功，则返回序列化的值


exists
exi]]></description><category></category></item></channel></rss>