<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[向上爬的蜗牛]]></title><description><![CDATA[前端工程师的博客]]></description><link>https://blog.youkuaiyun.com/abld99</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; abld99]]></copyright><item><title><![CDATA[Java整数分割算法]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/106826077</link><guid>https://blog.youkuaiyun.com/abld99/article/details/106826077</guid><author>abld99</author><pubDate>Thu, 18 Jun 2020 11:10:18 +0800</pubDate><description><![CDATA[需求背景
项目需要实现一个任务灰度的功能，让用户指定每次灰度的百分比。这其实就是一个整数根据比例分割的问题。
代码
  // 整数分割算法
  private static List&lt;Integer&gt; integerAllocationAlgorithm (Integer sum, List&lt;Integer&gt; percent) {
    int rest = sum;
    List&lt;Integer&gt; stepValue = new ArrayList&lt;&gt;]]></description><category></category></item><item><title><![CDATA[React生命周期函数]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/74178462</link><guid>https://blog.youkuaiyun.com/abld99/article/details/74178462</guid><author>abld99</author><pubDate>Mon, 03 Jul 2017 11:26:20 +0800</pubDate><description><![CDATA[《React与Redux开发实例精解》
  componentWillMount：在渲染前调用 
  componentDidMount：在第一次渲染后调用 
  componentWillReceiveProps：在组件接收到一个新的prop时被调用。这个方法在第一次渲染时不会被调用。 
  shouldComponentUpdate：返回一个布尔值。在组件接收到新的props或者state时被调]]></description><category></category></item><item><title><![CDATA[git-flow]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/74011496</link><guid>https://blog.youkuaiyun.com/abld99/article/details/74011496</guid><author>abld99</author><pubDate>Fri, 30 Jun 2017 18:34:00 +0800</pubDate><description><![CDATA[git-flowgit-flow工作流master分支存储了正式发布的历史，不能直接工作在这个 master 分支上。develop分支作为功能的集成分支；你进行任何新的开发的基础分支。这两个分支被称作为 长期分支。它们会存活在项目的整个生命周期中。而其他的分支，例如针对功能的分支，针对发行的分支，仅仅只是临时存在的。它们是根据需要来创建的，当它们完成了自己的任务之后就会被删除掉。功能分支【feat]]></description><category></category></item><item><title><![CDATA[https配置与部署]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/74011487</link><guid>https://blog.youkuaiyun.com/abld99/article/details/74011487</guid><author>abld99</author><pubDate>Fri, 30 Jun 2017 18:32:30 +0800</pubDate><description><![CDATA[Question1.HTTPS证书支持覆盖二级域名吗？2.如何选择证书提供商(CA)？3.如何申请免费的证书？4.使用https后对原来的应用有哪些影响？5.使用https后怎么通过charles抓包分析？概念
https证书的类型：
   DV SSL证书：域名型
   OV SSL证书：企业型
   EV SSL证书：增强型DV SSL证书：指只验证网站域名所有权的简易型SSL证书，此类证书仅能]]></description><category></category></item><item><title><![CDATA[Charles配置获取https数据]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/74011480</link><guid>https://blog.youkuaiyun.com/abld99/article/details/74011480</guid><author>abld99</author><pubDate>Fri, 30 Jun 2017 18:31:28 +0800</pubDate><description><![CDATA[本配置说明分为PC端和移动端。 
移动端的调试变化相对较大PC端安装配置 Charles 根证书保存Charles的Root Certificate，一个xxx.pem文件。调出mac下的钥匙串访问点击左侧的登录，然后把第一步中保存的xxx.pem文件拖到右侧中，此时的情况是：系统默认是不信任 Charles 的证书的，此时对证书右键，在弹出的下拉菜单中选择『显示简介』，点击使用此证书时，把使用系统]]></description><category></category></item><item><title><![CDATA[安装qrcode或canvas的坑]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/74011470</link><guid>https://blog.youkuaiyun.com/abld99/article/details/74011470</guid><author>abld99</author><pubDate>Fri, 30 Jun 2017 18:29:33 +0800</pubDate><description><![CDATA[qrcode是使用node.js生成二维码的比较常见的库，它的安装过程也存在着不少的坑。如果你是第一次安装qrcode，一条命令显然是安装不了它的。npm install --save qrcodeqrcode依赖于canvas，所以很多的坑其实是安装canvas的坑，要说是坑也谈不上，因为node-canvas的作者们在README里面已经说明了依赖关系，只是平时大多习惯了npm install解]]></description><category></category></item><item><title><![CDATA[React之使用context传递数据]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/74011459</link><guid>https://blog.youkuaiyun.com/abld99/article/details/74011459</guid><author>abld99</author><pubDate>Fri, 30 Jun 2017 18:26:49 +0800</pubDate><description><![CDATA[与props只能逐级传递数据相比，使用context可以实现跨级传递数据。 
下面通过一个demo来展示context传递数据的实现：//父组件，最上层的组件
import React, { Component,PropTypes } from 'react';
import Son from './Son';class App extends Component {  getChildContex]]></description><category></category></item><item><title><![CDATA[解决ssh登录后闲置时间过长而断开连接]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/69388858</link><guid>https://blog.youkuaiyun.com/abld99/article/details/69388858</guid><author>abld99</author><pubDate>Thu, 06 Apr 2017 13:50:58 +0800</pubDate><description><![CDATA[转载自博客园wanghetao的博客我们通过终端连接服务器时，当鼠标和键盘长时间不操作，服务器就会自动断开连接，我们还的需要重新连接，感觉很麻烦，总结一下解决此问题的方法方法一修改/etc/ssh/sshd_config配置文件，找到ClientAliveCountMax（单位为分钟）修改你想要的值。 
执行：service sshd reload 方法二【推荐】找到所在用户的.ssh目录，如roo]]></description><category></category></item><item><title><![CDATA[docker实践之搭建php运行环境]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/68486517</link><guid>https://blog.youkuaiyun.com/abld99/article/details/68486517</guid><author>abld99</author><pubDate>Thu, 30 Mar 2017 14:23:18 +0800</pubDate><description><![CDATA[docker实践之搭建php环境
下载centos镜像docker pull centos:latest下载的centos版本为7.3
由centos镜像启动一个容器docker run -i -t centos /bin/bash
在容器中安装所需环境参考：centos 7.x 下安装php环境
# 更新源rpm -Uvh https://dl.fedoraproject.org/pub/epel]]></description><category></category></item><item><title><![CDATA[walle部署系统部署]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/55210504</link><guid>https://blog.youkuaiyun.com/abld99/article/details/55210504</guid><author>abld99</author><pubDate>Wed, 15 Feb 2017 15:38:25 +0800</pubDate><description><![CDATA[Walle部署系统部署1.执行LAMP环境搭建命令yum -y install httpd mysql mysql-libs mysql-server php php-cli php-common php-fpm php-gd php-imap php-ldap php-mbstring php-snmp php-xml php-mysql 2.查看以上命令安装的php版本[root@iZ941fx]]></description><category></category></item><item><title><![CDATA[JS数据结构案例]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/54315762</link><guid>https://blog.youkuaiyun.com/abld99/article/details/54315762</guid><author>abld99</author><pubDate>Tue, 10 Jan 2017 17:19:06 +0800</pubDate><description><![CDATA[var IndustryData = [
  {'c':111,'n':'个体工商户-时尚-服饰类商城/服饰配件/箱包'},
  {'c':112,'n':'个体工商户-时尚-礼品/鲜花/纪念品'},
  {'c':113,'n':'个体工商户-时尚-户外/运动/健身器材/安防'},
  {'c':114,'n':'个体工商户-时尚-乐器'},
  {'c':115,'n':'个体工商户-时尚-手表]]></description><category></category></item><item><title><![CDATA[web服务器从零开始部署]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/53668015</link><guid>https://blog.youkuaiyun.com/abld99/article/details/53668015</guid><author>abld99</author><pubDate>Thu, 15 Dec 2016 11:27:51 +0800</pubDate><description><![CDATA[安装JDK1.使用yum命令安装jdk$ yum search java|grep jdk2.选择版本进行安装$ yum install java-1.7.0-openjdk安装完之后，默认的安装目录是在: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.121 
3.设置环境变量$ vi /etc/profile添加如下内容：#set java environment]]></description><category></category></item><item><title><![CDATA[Nginx设置防止IP及非配置域名访问]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/53635187</link><guid>https://blog.youkuaiyun.com/abld99/article/details/53635187</guid><author>abld99</author><pubDate>Wed, 14 Dec 2016 10:23:17 +0800</pubDate><description><![CDATA[早上来到公司，发现前端错误上报页面有一个非公司域名上报的错误，于是很纳闷为什么别人的网站会向我们的错误监控接口报错呢？然后访问了一下这个域名，发现打开的内容居然是公司站点。网上查找了一下‘’为什么别人的域名会指向自己的服务器‘’，得到的反馈大多是别人把 未备案的域名 解析到自己的服务器IP而导致服务器IP被封，也有一些是为了骗收录和钓鱼网站。 
该怎么防止别人的域名能访问我们的网站呢，Nginx下配]]></description><category></category></item><item><title><![CDATA[mobiscroll实践：移动端仿苹果select效果的实现]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/53542041</link><guid>https://blog.youkuaiyun.com/abld99/article/details/53542041</guid><author>abld99</author><pubDate>Fri, 09 Dec 2016 17:18:41 +0800</pubDate><description><![CDATA[最近在做一个微信服务号的开发，设计中日期选择和周期选择的输入框需要使用苹果的select下拉效果，在网上折腾了好久，最终的感慨就是这事基本上只有mobiscroll能搞定，然后专心死磕mobiscroll咯。 
    首先这个插件是需要收费的，官网提供15天的试用期，但是需要填写信用卡，随便编了几下结果没通过审核，只得作罢，在网上搜mobiscroll实践的博客，也是各种折腾各种坑。首先是大家用m]]></description><category></category></item><item><title><![CDATA[Node应用进程管理器pm2的使用]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/53540958</link><guid>https://blog.youkuaiyun.com/abld99/article/details/53540958</guid><author>abld99</author><pubDate>Fri, 09 Dec 2016 16:31:23 +0800</pubDate><description><![CDATA[本文转载自：豆瓣-PM2介绍 
更多内容见github上的pm2说明文档pm2pm2 是一个带有负载均衡功能的Node应用的进程管理器. 
当你要把你的独立代码利用全部的服务器上的所有CPU，并保证进程永远都活着，0秒的重载， PM2是完美的。它非常适合IaaS结构，但不要把它用于PaaS方案（随后将开发Paas的解决方案）.备注： 
        SaaS、PaaS和IaaS是云服务模式。]]></description><category></category></item><item><title><![CDATA[Webpack入门实践]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/53377461</link><guid>https://blog.youkuaiyun.com/abld99/article/details/53377461</guid><author>abld99</author><pubDate>Mon, 28 Nov 2016 14:43:23 +0800</pubDate><description><![CDATA[一些基本的概念* Webpack是一种模块化的解决方案 * 
webpack是以CommonJS的形式来书写脚本的。 
能被Webpack模块化的不仅仅是JS，还有css以及图片等。
  WebPack可以看做是模块打包机：它做的事情是，分析你的项目结构，找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言（Scss，TypeScript等），并将其打包为合适的格式以供浏览器使用。]]></description><category></category></item><item><title><![CDATA[JS校验银行卡号]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/53085034</link><guid>https://blog.youkuaiyun.com/abld99/article/details/53085034</guid><author>abld99</author><pubDate>Tue, 08 Nov 2016 17:55:59 +0800</pubDate><description><![CDATA[转载自cnblogs//银行卡号码检测
function luhnCheck(bankno) {
    var lastNum = bankno.substr(bankno.length - 1, 1); //取出最后一位（与luhn进行比较）
    var first15Num = bankno.substr(0, bankno.length - 1); //前15或18位
    var n]]></description><category></category></item><item><title><![CDATA[单页面应用]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/52984367</link><guid>https://blog.youkuaiyun.com/abld99/article/details/52984367</guid><author>abld99</author><pubDate>Mon, 31 Oct 2016 17:40:24 +0800</pubDate><description><![CDATA[可能自己写过不少的页面都属于单页面应用，但是没搞清单页面应用的概念之前也不会这么去定义或区分。在网上找了点单页面应用相关的概念算是对理论的一个补充。单页web应用是什么？它又会给传统网站带来哪些好处?单页应用有那些优缺点？]]></description><category></category></item><item><title><![CDATA[虚拟DOM]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/52954706</link><guid>https://blog.youkuaiyun.com/abld99/article/details/52954706</guid><author>abld99</author><pubDate>Fri, 28 Oct 2016 11:27:34 +0800</pubDate><description><![CDATA[学习React或Vue以及其它前端的框架时，“Virtual DOM”这个词汇就会很常见，总是听说虚拟DOM对性能的提升很有帮助，可是一直都不清楚虚拟DOM是个啥玩意，它的原理是什么。 
在参考了以下链接中的博文后对虚拟DOM有个大概的印象：全面理解虚拟DOM，实现虚拟DOM 
如何实现 Virtual DOM 
怎么更好的理解虚拟DOM?- 知乎 
网上都说操作真实 DOM 慢，但测试结果却比 R]]></description><category></category></item><item><title><![CDATA[收藏夹]]></title><link>https://blog.youkuaiyun.com/abld99/article/details/52911745</link><guid>https://blog.youkuaiyun.com/abld99/article/details/52911745</guid><author>abld99</author><pubDate>Mon, 24 Oct 2016 14:54:18 +0800</pubDate><description><![CDATA[插件网页特效 
Swiper-移动端网站的内容触摸滑动插件 
字体图标选择网站安装Linux（CentOS）下，下载安装Nginx并配置 
在CentOS下搭建自己的Git服务器 
Centos 安装 NodeJS手册CSS3参考手册 
Mozilla 开发者网络 
CSS 选择器参考手册 
jQuery.ajax() 函数详解 
SeaJS API快速参考 
jQuery ajax-w3cscho]]></description><category></category></item></channel></rss>