-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
1 lines (1 loc) · 41.7 KB
/
index.html
1
<!doctype html><html class="theme-next pisces use-motion"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"><meta http-equiv="Cache-Control" content="no-transform"><meta http-equiv="Cache-Control" content="no-siteapp"><meta name="google-site-verification" content="j9wizqxImtYQlXqEo8nOjHd6G4CfifWn7J_h-fOjpVg"><link href="/vendors/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css"><link href="fonts.lug.ustc.edu.cn/css?family=Monda:300,300italic,400,400italic,700,700italic|Gloria Hallelujah:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext" rel="stylesheet" type="text/css"><link href="/vendors/font-awesome/css/font-awesome.min.css?v=4.4.0" rel="stylesheet" type="text/css"><link href="/css/main.css?v=5.0.1" rel="stylesheet" type="text/css"><meta name="keywords" content="Blog, brucewar"><link rel="alternate" href="/atom.xml" title="brucewar" type="application/atom+xml"><link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?v=5.0.1"><meta name="description" content="一位忠实的技术追求者!"><meta property="og:type" content="website"><meta property="og:title" content="brucewar"><meta property="og:url" content="http://brucewar.cn/index.html"><meta property="og:site_name" content="brucewar"><meta property="og:description" content="一位忠实的技术追求者!"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="brucewar"><meta name="twitter:description" content="一位忠实的技术追求者!"><script type="text/javascript" id="hexo.configuration">var NexT=window.NexT||{},CONFIG={scheme:"Pisces",sidebar:{position:"right",display:"always"},fancybox:!0,motion:!0,duoshuo:{userId:0x57ecc5b9c4800400,author:"Author"}}</script><title>brucewar</title></head><body itemscope itemtype="http://schema.org/WebPage" lang="en"><script type="text/javascript">var _hmt=_hmt||[];!function(){var e=document.createElement("script");e.src="//hm.baidu.com/hm.js?7fabfd44062c2222a2c44c552ea79602";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()</script><div class="container one-collumn sidebar-position-right page-home"><div class="headband"></div><header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader"><div class="header-inner"><div class="site-meta"><div class="custom-logo-site-title"><a href="/" class="brand" rel="start"><span class="logo-line-before"><i></i></span> <span class="site-title">brucewar</span> <span class="logo-line-after"><i></i></span></a></div><p class="site-subtitle"></p></div><div class="site-nav-toggle"><button><span class="btn-bar"></span> <span class="btn-bar"></span> <span class="btn-bar"></span></button></div><nav class="site-nav"><ul id="menu" class="menu"><li class="menu-item menu-item-home"><a href="/" rel="section"><i class="menu-item-icon fa fa-fw fa-home"></i><br>Home</a></li><li class="menu-item menu-item-pastime"><a href="/pastime" rel="section"><i class="menu-item-icon fa fa-fw fa-heart"></i><br>Pastime</a></li><li class="menu-item menu-item-about"><a href="/about" rel="section"><i class="menu-item-icon fa fa-fw fa-user"></i><br>About</a></li><li class="menu-item menu-item-categories"><a href="/categories" rel="section"><i class="menu-item-icon fa fa-fw fa-th"></i><br>Categories</a></li><li class="menu-item menu-item-archives"><a href="/archives" rel="section"><i class="menu-item-icon fa fa-fw fa-archive"></i><br>Archives</a></li><li class="menu-item menu-item-tags"><a href="/tags" rel="section"><i class="menu-item-icon fa fa-fw fa-tags"></i><br>Tags</a></li><li class="menu-item menu-item-gallery"><a href="/gallery" rel="section"><i class="menu-item-icon fa fa-fw fa-instagram"></i><br>Gallery</a></li><li class="menu-item menu-item-search"><a href="#" class="popup-trigger"><i class="menu-item-icon fa fa-search fa-fw"></i><br>Search</a></li></ul><div class="site-search"><div class="popup"><span class="search-icon fa fa-search"></span> <input type="text" id="local-search-input"><div id="local-search-result"></div><span class="popup-btn-close">close</span></div></div></nav></div></header><main id="main" class="main"><div class="main-inner"><div class="content-wrap"><div id="content" class="content"><section id="posts" class="posts-expand"><article class="post post-type-normal" itemscope itemtype="http://schema.org/Article"><header class="post-header"><h1 class="post-title" itemprop="name headline"><a class="post-title-link" href="/2020/05/19/使用requestAnimationFrame实现通知栏滚动/" itemprop="url">使用requestAnimationFrame实现通知栏滚动</a></h1><div class="post-meta"><span class="post-time"><span class="post-meta-item-icon"><i class="fa fa-calendar-o"></i> </span><span class="post-meta-item-text">Posted on</span> <time itemprop="dateCreated" datetime="2020-05-19T22:21:33+08:00" content="2020-05-19">2020-05-19 </time></span><span class="post-category"> | <span class="post-meta-item-icon"><i class="fa fa-folder-o"></i> </span><span class="post-meta-item-text">In</span> <span itemprop="about" itemscope itemtype="https://schema.org/Thing"><a href="/categories/Web前端/" itemprop="url" rel="index"><span itemprop="name">Web前端</span> </a></span></span><span class="post-comments-count"> | <a href="/2020/05/19/使用requestAnimationFrame实现通知栏滚动/#comments" itemprop="discussionUrl"><span class="post-comments-count disqus-comment-count" data-disqus-identifier="2020/05/19/使用requestAnimationFrame实现通知栏滚动/" itemprop="commentsCount"></span> </a></span><span id="/2020/05/19/使用requestAnimationFrame实现通知栏滚动/" class="leancloud_visitors" data-flag-title="使用requestAnimationFrame实现通知栏滚动"> | <span class="post-meta-item-icon"><i class="fa fa-eye"></i> </span><span class="post-meta-item-text">visitors </span><span class="leancloud-visitors-count"></span></span></div></header><div class="post-body" itemprop="articleBody">requestAnimationFrame是什么window.requestAnimationFrame() 告诉浏览器——你希望执行一个动画,并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函数作为参数,该回调函数会在浏览器下一次重绘之前执行。如果想让浏览器在下一次重绘前继续更新下一帧动画,需要在回调函数中 ...<div class="post-more-link text-center"><a class="btn" href="/2020/05/19/使用requestAnimationFrame实现通知栏滚动/#more" rel="contents">Read more »</a></div></div><div></div><div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article class="post post-type-normal" itemscope itemtype="http://schema.org/Article"><header class="post-header"><h1 class="post-title" itemprop="name headline"><a class="post-title-link" href="/2019/05/07/什么是thunk?/" itemprop="url">什么是thunk?</a></h1><div class="post-meta"><span class="post-time"><span class="post-meta-item-icon"><i class="fa fa-calendar-o"></i> </span><span class="post-meta-item-text">Posted on</span> <time itemprop="dateCreated" datetime="2019-05-07T14:40:53+08:00" content="2019-05-07">2019-05-07 </time></span><span class="post-category"> | <span class="post-meta-item-icon"><i class="fa fa-folder-o"></i> </span><span class="post-meta-item-text">In</span> <span itemprop="about" itemscope itemtype="https://schema.org/Thing"><a href="/categories/React/" itemprop="url" rel="index"><span itemprop="name">React</span> </a></span></span><span class="post-comments-count"> | <a href="/2019/05/07/什么是thunk?/#comments" itemprop="discussionUrl"><span class="post-comments-count disqus-comment-count" data-disqus-identifier="2019/05/07/什么是thunk?/" itemprop="commentsCount"></span> </a></span><span id="/2019/05/07/什么是thunk?/" class="leancloud_visitors" data-flag-title="什么是thunk?"> | <span class="post-meta-item-icon"><i class="fa fa-eye"></i> </span><span class="post-meta-item-text">visitors </span><span class="leancloud-visitors-count"></span></span></div></header><div class="post-body" itemprop="articleBody">问:什么是thunk?答:第一次听到这个词是通过redux-thunk言归正传,当第一次听到Redux Thunk时,令人非常困惑。很可能就是因为thunk这个词。所以我们首先要弄清楚这一点。thunkthunk是函数的另一个词,但它不仅仅只是我们所认识的函数。它是另一个函数返回的一个特殊的函数。如下所示:123456function wrapper_function() { // 这就٢ ...<div class="post-more-link text-center"><a class="btn" href="/2019/05/07/什么是thunk?/#more" rel="contents">Read more »</a></div></div><div></div><div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article class="post post-type-normal" itemscope itemtype="http://schema.org/Article"><header class="post-header"><h1 class="post-title" itemprop="name headline"><a class="post-title-link" href="/2017/12/30/2017:清白之年/" itemprop="url">2017:清白之年</a></h1><div class="post-meta"><span class="post-time"><span class="post-meta-item-icon"><i class="fa fa-calendar-o"></i> </span><span class="post-meta-item-text">Posted on</span> <time itemprop="dateCreated" datetime="2017-12-30T15:51:37+08:00" content="2017-12-30">2017-12-30 </time></span><span class="post-category"> | <span class="post-meta-item-icon"><i class="fa fa-folder-o"></i> </span><span class="post-meta-item-text">In</span> <span itemprop="about" itemscope itemtype="https://schema.org/Thing"><a href="/categories/随笔/" itemprop="url" rel="index"><span itemprop="name">随笔</span> </a></span></span><span class="post-comments-count"> | <a href="/2017/12/30/2017:清白之年/#comments" itemprop="discussionUrl"><span class="post-comments-count disqus-comment-count" data-disqus-identifier="2017/12/30/2017:清白之年/" itemprop="commentsCount"></span> </a></span><span id="/2017/12/30/2017:清白之年/" class="leancloud_visitors" data-flag-title="2017:清白之年"> | <span class="post-meta-item-icon"><i class="fa fa-eye"></i> </span><span class="post-meta-item-text">visitors </span><span class="leancloud-visitors-count"></span></span></div></header><div class="post-body" itemprop="articleBody">转眼又到了年终,我原本不想写今年的总结,因为不想让自己内心再经历这一段痛苦的回忆。这一年,经历了太多,也失去太多。2016年12月底,我和朋友定好了元旦去黄山看新年日出,突如其来的噩耗,让我不知所措。堂姐告诉我,父亲得了很重的病,当时,我脑子一片空白。后来我打&# ...<div class="post-more-link text-center"><a class="btn" href="/2017/12/30/2017:清白之年/#more" rel="contents">Read more »</a></div></div><div></div><div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article class="post post-type-normal" itemscope itemtype="http://schema.org/Article"><header class="post-header"><h1 class="post-title" itemprop="name headline"><a class="post-title-link" href="/2017/07/06/flexbox布局的响应式表格/" itemprop="url">flexbox布局的响应式表格</a></h1><div class="post-meta"><span class="post-time"><span class="post-meta-item-icon"><i class="fa fa-calendar-o"></i> </span><span class="post-meta-item-text">Posted on</span> <time itemprop="dateCreated" datetime="2017-07-06T08:57:19+08:00" content="2017-07-06">2017-07-06 </time></span><span class="post-category"> | <span class="post-meta-item-icon"><i class="fa fa-folder-o"></i> </span><span class="post-meta-item-text">In</span> <span itemprop="about" itemscope itemtype="https://schema.org/Thing"><a href="/categories/前端开发/" itemprop="url" rel="index"><span itemprop="name">前端开发</span> </a></span></span><span class="post-comments-count"> | <a href="/2017/07/06/flexbox布局的响应式表格/#comments" itemprop="discussionUrl"><span class="post-comments-count disqus-comment-count" data-disqus-identifier="2017/07/06/flexbox布局的响应式表格/" itemprop="commentsCount"></span> </a></span><span id="/2017/07/06/flexbox布局的响应式表格/" class="leancloud_visitors" data-flag-title="flexbox布局的响应式表格"> | <span class="post-meta-item-icon"><i class="fa fa-eye"></i> </span><span class="post-meta-item-text">visitors </span><span class="leancloud-visitors-count"></span></span></div></header><div class="post-body" itemprop="articleBody">HTML table元素做响应式表格是非常难用的,我们需要大量的样板和嵌套的HTML来解决这样一个简单的问题。我们来探讨一种使用div和Flexbox的替代方法。这将给我们带来的好处是能够创建在所有尺寸屏幕上都看起来很棒的响应式表格。首先,解决方案将使用SUIT CSS以模块化方式写入Sass。我们将使用一些Sass库 ...<div class="post-more-link text-center"><a class="btn" href="/2017/07/06/flexbox布局的响应式表格/#more" rel="contents">Read more »</a></div></div><div></div><div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article class="post post-type-normal" itemscope itemtype="http://schema.org/Article"><header class="post-header"><h1 class="post-title" itemprop="name headline"><a class="post-title-link" href="/2017/05/27/理解AngularJS-Providers/" itemprop="url">理解AngularJS Providers</a></h1><div class="post-meta"><span class="post-time"><span class="post-meta-item-icon"><i class="fa fa-calendar-o"></i> </span><span class="post-meta-item-text">Posted on</span> <time itemprop="dateCreated" datetime="2017-05-27T14:17:30+08:00" content="2017-05-27">2017-05-27 </time></span><span class="post-category"> | <span class="post-meta-item-icon"><i class="fa fa-folder-o"></i> </span><span class="post-meta-item-text">In</span> <span itemprop="about" itemscope itemtype="https://schema.org/Thing"><a href="/categories/前端开发/" itemprop="url" rel="index"><span itemprop="name">前端开发</span> </a></span></span><span class="post-comments-count"> | <a href="/2017/05/27/理解AngularJS-Providers/#comments" itemprop="discussionUrl"><span class="post-comments-count disqus-comment-count" data-disqus-identifier="2017/05/27/理解AngularJS-Providers/" itemprop="commentsCount"></span> </a></span><span id="/2017/05/27/理解AngularJS-Providers/" class="leancloud_visitors" data-flag-title="理解AngularJS Providers"> | <span class="post-meta-item-icon"><i class="fa fa-eye"></i> </span><span class="post-meta-item-text">visitors </span><span class="leancloud-visitors-count"></span></span></div></header><div class="post-body" itemprop="articleBody">AngularJS 1.x提供了如下5个provider方法,使用这些方法能创建可被注入的服务。但是如何使用这些方法,以及这些方法之间有什么区别呢?所以这篇博客重点记录下这些方法的区别,来帮助自己理解它们。valuefactoryserviceproviderconstantvalue这个方法用来定义常量,并且能在运行阶段注入Controller中。比如我们可以创建一个简单 ...<div class="post-more-link text-center"><a class="btn" href="/2017/05/27/理解AngularJS-Providers/#more" rel="contents">Read more »</a></div></div><div></div><div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article class="post post-type-normal" itemscope itemtype="http://schema.org/Article"><header class="post-header"><h1 class="post-title" itemprop="name headline"><a class="post-title-link" href="/2017/05/13/青岛三日游攻略/" itemprop="url">青岛三日游攻略</a></h1><div class="post-meta"><span class="post-time"><span class="post-meta-item-icon"><i class="fa fa-calendar-o"></i> </span><span class="post-meta-item-text">Posted on</span> <time itemprop="dateCreated" datetime="2017-05-13T09:48:21+08:00" content="2017-05-13">2017-05-13 </time></span><span class="post-category"> | <span class="post-meta-item-icon"><i class="fa fa-folder-o"></i> </span><span class="post-meta-item-text">In</span> <span itemprop="about" itemscope itemtype="https://schema.org/Thing"><a href="/categories/旅行/" itemprop="url" rel="index"><span itemprop="name">旅行</span> </a></span></span><span class="post-comments-count"> | <a href="/2017/05/13/青岛三日游攻略/#comments" itemprop="discussionUrl"><span class="post-comments-count disqus-comment-count" data-disqus-identifier="2017/05/13/青岛三日游攻略/" itemprop="commentsCount"></span> </a></span><span id="/2017/05/13/青岛三日游攻略/" class="leancloud_visitors" data-flag-title="青岛三日游攻略"> | <span class="post-meta-item-icon"><i class="fa fa-eye"></i> </span><span class="post-meta-item-text">visitors </span><span class="leancloud-visitors-count"></span></span></div></header><div class="post-body" itemprop="articleBody">市南区栈桥、海军博物馆、鲁迅公园、小青岛、第一海水浴场、八大关、音乐广场、五四广场、青岛奥林匹克帆船中心市北区啤酒一条街、青岛啤酒博物馆、天幕城、劈柴院、崂山Day1如果到酒店还早,就去登州路和或者台东步行街转转登州路啤酒一条街、青岛啤酒博物馆、天幕城Day2崂山 ...<div class="post-more-link text-center"><a class="btn" href="/2017/05/13/青岛三日游攻略/#more" rel="contents">Read more »</a></div></div><div></div><div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article class="post post-type-normal" itemscope itemtype="http://schema.org/Article"><header class="post-header"><h1 class="post-title" itemprop="name headline"><a class="post-title-link" href="/2017/05/10/RESTful-web-API文档生成器/" itemprop="url">RESTful web API文档生成器</a></h1><div class="post-meta"><span class="post-time"><span class="post-meta-item-icon"><i class="fa fa-calendar-o"></i> </span><span class="post-meta-item-text">Posted on</span> <time itemprop="dateCreated" datetime="2017-05-10T13:45:49+08:00" content="2017-05-10">2017-05-10 </time></span><span class="post-category"> | <span class="post-meta-item-icon"><i class="fa fa-folder-o"></i> </span><span class="post-meta-item-text">In</span> <span itemprop="about" itemscope itemtype="https://schema.org/Thing"><a href="/categories/Node-js/" itemprop="url" rel="index"><span itemprop="name">Node.js</span> </a></span></span><span class="post-comments-count"> | <a href="/2017/05/10/RESTful-web-API文档生成器/#comments" itemprop="discussionUrl"><span class="post-comments-count disqus-comment-count" data-disqus-identifier="2017/05/10/RESTful-web-API文档生成器/" itemprop="commentsCount"></span> </a></span><span id="/2017/05/10/RESTful-web-API文档生成器/" class="leancloud_visitors" data-flag-title="RESTful web API文档生成器"> | <span class="post-meta-item-icon"><i class="fa fa-eye"></i> </span><span class="post-meta-item-text">visitors </span><span class="leancloud-visitors-count"></span></span></div></header><div class="post-body" itemprop="articleBody">问:开发业务模块代码最重要的是什么?答:API接口文档如果你是后台开发,是否会有以下困扰:开发API接口,还要通过wiki写接口文档,严重影响效率接口不是一次就能定下来的,后续可能还要维护,所以还需要去修改文档如果你是前端工程师,是否有过下面的困扰:返回的数据怎么少ֵ ...<div class="post-more-link text-center"><a class="btn" href="/2017/05/10/RESTful-web-API文档生成器/#more" rel="contents">Read more »</a></div></div><div></div><div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article class="post post-type-normal" itemscope itemtype="http://schema.org/Article"><header class="post-header"><h1 class="post-title" itemprop="name headline"><a class="post-title-link" href="/2017/05/06/Node-js-aes-128-cbc加密和解密/" itemprop="url">Node.js aes-128-cbc加密和解密</a></h1><div class="post-meta"><span class="post-time"><span class="post-meta-item-icon"><i class="fa fa-calendar-o"></i> </span><span class="post-meta-item-text">Posted on</span> <time itemprop="dateCreated" datetime="2017-05-06T11:31:52+08:00" content="2017-05-06">2017-05-06 </time></span><span class="post-category"> | <span class="post-meta-item-icon"><i class="fa fa-folder-o"></i> </span><span class="post-meta-item-text">In</span> <span itemprop="about" itemscope itemtype="https://schema.org/Thing"><a href="/categories/Node-js/" itemprop="url" rel="index"><span itemprop="name">Node.js</span> </a></span></span><span class="post-comments-count"> | <a href="/2017/05/06/Node-js-aes-128-cbc加密和解密/#comments" itemprop="discussionUrl"><span class="post-comments-count disqus-comment-count" data-disqus-identifier="2017/05/06/Node-js-aes-128-cbc加密和解密/" itemprop="commentsCount"></span> </a></span><span id="/2017/05/06/Node-js-aes-128-cbc加密和解密/" class="leancloud_visitors" data-flag-title="Node.js aes-128-cbc加密和解密"> | <span class="post-meta-item-icon"><i class="fa fa-eye"></i> </span><span class="post-meta-item-text">visitors </span><span class="leancloud-visitors-count"></span></span></div></header><div class="post-body" itemprop="articleBody">Java程序中经常使用的AES加密模式是AES/CBC/PKCS5Padding,在Node.js中对应的是aes-128-cbc加密算法。为此,我们需要引入Node.js的crypto模块,详细说明请查看官方文档。12345678910111213141516171819202122232425262728293031323334353637383940'use strict';const crypto = require('crypto');const ALG_STRING = 'aes-128-cbc', KEY = 'wjl891014#gmail.com', IV = [ 0xcb, 0x53, 0x03, 0x0f, 0xe0, 0x79, 0x9d, 0xdc, 0x80, 0xa9, 0x83, 0xf1, 0x03, 0xb6, 0x59, 0x83 ];const md5sum = str => { return crypto.createHash('md5') .update(str) .digest() .slice(0, 16);};const encrypt = str => { const key = md5sum(KEY); // key和IV 必须是16 ...<div class="post-more-link text-center"><a class="btn" href="/2017/05/06/Node-js-aes-128-cbc加密和解密/#more" rel="contents">Read more »</a></div></div><div></div><div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article class="post post-type-normal" itemscope itemtype="http://schema.org/Article"><header class="post-header"><h1 class="post-title" itemprop="name headline"><a class="post-title-link" href="/2017/05/04/CentOS-ftp服务搭建/" itemprop="url">CentOS ftp服务搭建</a></h1><div class="post-meta"><span class="post-time"><span class="post-meta-item-icon"><i class="fa fa-calendar-o"></i> </span><span class="post-meta-item-text">Posted on</span> <time itemprop="dateCreated" datetime="2017-05-04T11:33:03+08:00" content="2017-05-04">2017-05-04 </time></span><span class="post-category"> | <span class="post-meta-item-icon"><i class="fa fa-folder-o"></i> </span><span class="post-meta-item-text">In</span> <span itemprop="about" itemscope itemtype="https://schema.org/Thing"><a href="/categories/Linux/" itemprop="url" rel="index"><span itemprop="name">Linux</span> </a></span></span><span class="post-comments-count"> | <a href="/2017/05/04/CentOS-ftp服务搭建/#comments" itemprop="discussionUrl"><span class="post-comments-count disqus-comment-count" data-disqus-identifier="2017/05/04/CentOS-ftp服务搭建/" itemprop="commentsCount"></span> </a></span><span id="/2017/05/04/CentOS-ftp服务搭建/" class="leancloud_visitors" data-flag-title="CentOS ftp服务搭建"> | <span class="post-meta-item-icon"><i class="fa fa-eye"></i> </span><span class="post-meta-item-text">visitors </span><span class="leancloud-visitors-count"></span></span></div></header><div class="post-body" itemprop="articleBody">好记性不如烂笔头每次想要windows和linux互传文件时,都得去搜索“Linux ftp服务安装配置”,重复的次数太多,还是把它记录下来吧!!!安装vsftpd ftp1yum -y install ftp vsftpd备份vsftpd原有的配置文件12cd /etc/vsftpd/cp vsftpd.conf vsftpd.conf.origin创建密码明文文件123vim /etc/vsftpd/vftpuser.txt# brucewar# password根据明文创建密码DB文件1db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db查看密码数据文件12file /etc/vsftpd/vftpuser.db# /etc/vsftpd ...<div class="post-more-link text-center"><a class="btn" href="/2017/05/04/CentOS-ftp服务搭建/#more" rel="contents">Read more »</a></div></div><div></div><div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article class="post post-type-normal" itemscope itemtype="http://schema.org/Article"><header class="post-header"><h1 class="post-title" itemprop="name headline"><a class="post-title-link" href="/2017/03/30/细胞卫士/" itemprop="url">细胞卫士</a></h1><div class="post-meta"><span class="post-time"><span class="post-meta-item-icon"><i class="fa fa-calendar-o"></i> </span><span class="post-meta-item-text">Posted on</span> <time itemprop="dateCreated" datetime="2017-03-30T07:50:51+08:00" content="2017-03-30">2017-03-30 </time></span><span class="post-category"> | <span class="post-meta-item-icon"><i class="fa fa-folder-o"></i> </span><span class="post-meta-item-text">In</span> <span itemprop="about" itemscope itemtype="https://schema.org/Thing"><a href="/categories/生活/" itemprop="url" rel="index"><span itemprop="name">生活</span> </a></span></span><span class="post-comments-count"> | <a href="/2017/03/30/细胞卫士/#comments" itemprop="discussionUrl"><span class="post-comments-count disqus-comment-count" data-disqus-identifier="2017/03/30/细胞卫士/" itemprop="commentsCount"></span> </a></span><span id="/2017/03/30/细胞卫士/" class="leancloud_visitors" data-flag-title="细胞卫士"> | <span class="post-meta-item-icon"><i class="fa fa-eye"></i> </span><span class="post-meta-item-text">visitors </span><span class="leancloud-visitors-count"></span></span></div></header><div class="post-body" itemprop="articleBody">最近身体不舒服,啥事不想做,与血常规检查接触的也多。发现自己把高中学的生物知识都还给老师了。所以有必要来普及一下血液中重要的细胞的作用。白细胞:杀灭细菌和病毒并监控身体的稳定,白细胞又分为下面4项中性粒细胞:白细胞中最重要的成分,起吞噬和杀菌作用淋巴细 ...<div class="post-more-link text-center"><a class="btn" href="/2017/03/30/细胞卫士/#more" rel="contents">Read more »</a></div></div><div></div><div></div><footer class="post-footer"><div class="post-eof"></div></footer></article></section><nav class="pagination"><span class="page-number current">1</span><a class="page-number" href="/page/2/">2</a><a class="extend next" rel="next" href="/page/2/"><i class="fa fa-angle-right"></i></a></nav></div></div><div class="sidebar-toggle"><div class="sidebar-toggle-line-wrap"><span class="sidebar-toggle-line sidebar-toggle-line-first"></span> <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span> <span class="sidebar-toggle-line sidebar-toggle-line-last"></span></div></div><aside id="sidebar" class="sidebar"><div class="sidebar-inner"><section class="site-overview sidebar-panel sidebar-panel-active"><div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person"><img class="site-author-image" itemprop="image" src="/images/default.png" alt="brucewar"><p class="site-author-name" itemprop="name">brucewar</p><p class="site-description motion-element" itemprop="description">一位忠实的技术追求者!</p></div><nav class="site-state motion-element"><div class="site-state-item site-state-posts"><a href="/archives"><span class="site-state-item-count">20</span> <span class="site-state-item-name">posts</span></a></div><div class="site-state-item site-state-categories"><a href="/categories"><span class="site-state-item-count">10</span> <span class="site-state-item-name">categories</span></a></div><div class="site-state-item site-state-tags"><a href="/tags"><span class="site-state-item-count">40</span> <span class="site-state-item-name">tags</span></a></div></nav><div class="feed-link motion-element"><a href="/atom.xml" rel="alternate"><i class="fa fa-rss"></i> RSS</a></div><div class="links-of-author motion-element"><span class="links-of-author-item"><a href="https://github.com/brucewar" target="_blank" title="GitHub"><i class="fa fa-fw fa-github"></i> GitHub </a></span><span class="links-of-author-item"><a href="https://weibo.com/brucewar" target="_blank" title="Weibo"><i class="fa fa-fw fa-weibo"></i> Weibo </a></span><span class="links-of-author-item"><a href="https://www.douban.com/people/brucewar" target="_blank" title="豆瓣"><i class="fa fa-fw fa-globe"></i> 豆瓣 </a></span><span class="links-of-author-item"><a href="https://www.zhihu.com/people/brucewar" target="_blank" title="知乎"><i class="fa fa-fw fa-globe"></i> 知乎 </a></span><span class="links-of-author-item"><a href="https://twitter.com/brucewar89" target="_blank" title="Twitter"><i class="fa fa-fw fa-twitter"></i> Twitter </a></span><span class="links-of-author-item"><a href="https://www.facebook.com/brucewar89" target="_blank" title="FaceBook"><i class="fa fa-fw fa-facebook"></i> FaceBook</a></span></div><div class="links-of-blogroll motion-element links-of-blogroll-block"><div class="links-of-blogroll-title"><i class="fa fa-fw fa-globe"></i> Links</div><ul class="links-of-blogroll-list"><li class="links-of-blogroll-item"><a href="http://blog.baohongfei.com" title="BaoHongfei" target="_blank">BaoHongfei</a></li><li class="links-of-blogroll-item"><a href="http://coderaladdin.com" title="ZhuShenshen" target="_blank">ZhuShenshen</a></li><li class="links-of-blogroll-item"><a href="http://fantasy.codes" title="Fantasy Shao" target="_blank">Fantasy Shao</a></li><li class="links-of-blogroll-item"><a href="http://deliazhi.com" title="Delia" target="_blank">Delia</a></li><li class="links-of-blogroll-item"><a href="http://www.seaofstars.tech" title="徐胖子" target="_blank">徐胖子</a></li></ul></div></section></div></aside></div></main><footer id="footer" class="footer"><div class="footer-inner"><div class="copyright">© 2016 - <span itemprop="copyrightYear">2020</span> <span class="with-love"><i class="fa fa-heart"></i> </span><span class="author" itemprop="copyrightHolder">brucewar</span></div><div class="powered-by">Powered by <a class="theme-link" href="http://hexo.io">Hexo</a></div><div class="theme-info">Theme - <a class="theme-link" href="https://github.com/iissnan/hexo-theme-next">NexT.Pisces</a></div></div></footer><div class="back-to-top"><i class="fa fa-arrow-up"></i></div><div id="musicPanel"><div id="musicControl" href="javascript: void(0);"><i class="fa fa-music"></i></div><div class="music-content"><iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width="330" height="450" src="http://music.163.com/outchain/player?type=0&id=159311553&auto=0&height=430"></iframe></div></div></div><script type="text/javascript">"[object Function]"!==Object.prototype.toString.call(window.Promise)&&(window.Promise=null)</script><script type="text/javascript" src="/vendors/jquery/index.js?v=2.1.3"></script><script type="text/javascript" src="/vendors/fastclick/lib/fastclick.min.js?v=1.0.6"></script><script type="text/javascript" src="/vendors/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script><script type="text/javascript" src="/vendors/velocity/velocity.min.js?v=1.2.1"></script><script type="text/javascript" src="/vendors/velocity/velocity.ui.min.js?v=1.2.1"></script><script type="text/javascript" src="/vendors/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script><script type="text/javascript" src="/js/src/utils.js?v=5.0.1"></script><script type="text/javascript" src="/js/src/motion.js?v=5.0.1"></script><script type="text/javascript" src="/js/src/music.js?v=5.0.1"></script><script type="text/javascript" src="/js/src/affix.js?v=5.0.1"></script><script type="text/javascript" src="/js/src/schemes/pisces.js?v=5.0.1"></script><script type="text/javascript" src="/js/src/bootstrap.js?v=5.0.1"></script><script type="text/javascript">function run_disqus_script(s){var e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src="//"+disqus_shortname+".disqus.com/"+s,(document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0]).appendChild(e)}var disqus_shortname="brucewar",disqus_identifier="index.html",disqus_title="",disqus_url="";run_disqus_script("count.js")</script><div id="lv-container" data-id="city" data-uid="MTAyMC80NTM1OC8yMTg3MQ=="><script type="text/javascript">!function(e,t){var n,c=e.getElementsByTagName(t)[0];"function"!=typeof LivereTower&&((n=e.createElement(t)).src="https://cdn-city.livere.com/js/embed.dist.js",n.async=!0,c.parentNode.insertBefore(n,c))}(document,"script")</script><noscript>为正常使用来必力评论功能请激活JavaScript</noscript></div><script type="text/javascript">function proceedsearch(){$("body").append('<div class="popoverlay">').css("overflow","hidden"),$(".popup").toggle()}var isfetched=!1,search_path="search.xml";0==search_path.length&&(search_path="search.xml");var path="/"+search_path,searchFunc=function(e,t,a){"use strict";$.ajax({url:e,dataType:"xml",async:!0,success:function(e){isfetched=!0,$(".popup").detach().appendTo(".header-inner");var r=$("entry",e).map(function(){return{title:$("title",this).text(),content:$("content",this).text(),url:$("url",this).text()}}).get(),c=document.getElementById(t),s=document.getElementById(a);c.addEventListener("input",function(){var e=0,t='<ul class="search-result-list">',a=this.value.trim().toLowerCase().split(/[\s\-]+/);s.innerHTML="",this.value.trim().length>1&&r.forEach(function(r){var c=!0,s=r.title.trim().toLowerCase(),n=r.content.trim().replace(/<[^>]+>/g,"").toLowerCase(),o=r.url,i=-1,l=-1,p=-1;if(""!=s&&""!=n&&a.forEach(function(e,t){i=s.indexOf(e),l=n.indexOf(e),i<0&&l<0?c=!1:(l<0&&(l=0),0==t&&(p=l))}),c){e+=1,t+="<li><a href='"+o+"' class='search-result-title'>"+s+"</a>";var h=r.content.trim().replace(/<[^>]+>/g,"");if(p>=0){var u=p-20,d=p+80;u<0&&(u=0),0==u&&(d=50),d>h.length&&(d=h.length);var f=h.substring(u,d);a.forEach(function(e){var t=new RegExp(e,"gi");f=f.replace(t,'<b class="search-keyword">'+e+"</b>")}),t+='<p class="search-result">'+f+"...</p>"}t+="</li>"}}),t+="</ul>",0==e&&(t='<div id="no-result"><i class="fa fa-frown-o fa-5x" /></div>'),""==a&&(t='<div id="no-result"><i class="fa fa-search fa-5x" /></div>'),s.innerHTML=t}),proceedsearch()}})};$(".popup-trigger").mousedown(function(e){e.stopPropagation(),0==isfetched?searchFunc(path,"local-search-input","local-search-result"):proceedsearch()}),$(".popup-btn-close").click(function(e){$(".popup").hide(),$(".popoverlay").remove(),$("body").css("overflow","")}),$(".popup").click(function(e){e.stopPropagation()})</script><script src="https://cdn1.lncld.net/static/js/av-core-mini-0.6.1.js"></script><script>AV.initialize("K2APrikH8M8a1zJdEHQKVo4X-gzGzoHsz","cfjx5kil98d81B0qtNBIM9s0")</script><script>function showTime(e){var t=new AV.Query(e),n=[],o=$(".leancloud_visitors");o.each(function(){n.push($(this).attr("id").trim())}),t.containedIn("url",n),t.find().done(function(e){if(0!==e.length)for(var t=0;t<e.length;t++){var n=e[t],i=n.get("url"),s=n.get("time"),l=document.getElementById(i);$(l).find(".leancloud-visitors-count").text(s)}else o.find(".leancloud-visitors-count").text(0)}).fail(function(e,t){console.log("Error: "+t.code+" "+t.message)})}function addCount(e){var t=$(".leancloud_visitors"),n=t.attr("id").trim(),o=t.attr("data-flag-title").trim(),i=new AV.Query(e);i.equalTo("url",n),i.find({success:function(t){if(t.length>0){var i=t[0];i.fetchWhenSave(!0),i.increment("time"),i.save(null,{success:function(e){$(document.getElementById(n)).find(".leancloud-visitors-count").text(e.get("time"))},error:function(e,t){console.log("Failed to save Visitor num, with error message: "+t.message)}})}else{var s=new e,l=new AV.ACL;l.setPublicReadAccess(!0),l.setPublicWriteAccess(!0),s.setACL(l),s.set("title",o),s.set("url",n),s.set("time",1),s.save(null,{success:function(e){$(document.getElementById(n)).find(".leancloud-visitors-count").text(e.get("time"))},error:function(e,t){console.log("Failed to create")}})}},error:function(e){console.log("Error:"+e.code+" "+e.message)}})}$(function(){var e=AV.Object.extend("Counter");1==$(".leancloud_visitors").length?addCount(e):$(".post-title-link").length>1&&showTime(e)})</script></body></html>