<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[tyrant_800的博客]]></title><description><![CDATA[11]]></description><link>https://blog.youkuaiyun.com/tyrant_800</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tyrant_800]]></copyright><item><title><![CDATA[简单实现报异常后不退出继续执行]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/78849693</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/78849693</guid><author>tyrant_800</author><pubDate>Wed, 20 Dec 2017 09:43:25 +0800</pubDate><description><![CDATA[数据同步，报错后重试，指定重试次数，简单代码实现        int syncTime = 1;
        boolean repeat = true;
        while ((syncTime <= 3) && repeat) {
            try {
                // 执行操作
                ///////]]></description><category></category></item><item><title><![CDATA[springboot 自定义配置文件]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/78780312</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/78780312</guid><author>tyrant_800</author><pubDate>Tue, 12 Dec 2017 11:23:27 +0800</pubDate><description><![CDATA[除了application.yml ,自定义另外的配置文件，如何读取。bus.yml:email: xxxx@163.com
scheduleEnable: true定义配置文件读取类：
/**
   bus.yml 参数读取
 * @author xz
 *
 */
@Component
@PropertySource("classpath:bus.yml")
@ConfigurationProp]]></description><category></category></item><item><title><![CDATA[springboot AOP+日志的注解实现]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/78751870</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/78751870</guid><author>tyrant_800</author><pubDate>Fri, 08 Dec 2017 15:12:19 +0800</pubDate><description><![CDATA[注解文件：
@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface InvokeLog {
    String name() default "";
    String description() default "";]]></description><category></category></item><item><title><![CDATA[springboot redis 用法简介]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/78541106</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/78541106</guid><author>tyrant_800</author><pubDate>Wed, 15 Nov 2017 15:14:10 +0800</pubDate><description><![CDATA[springboot redis]]></description><category></category></item><item><title><![CDATA[sql case when 简单用法]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/78253215</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/78253215</guid><author>tyrant_800</author><pubDate>Mon, 16 Oct 2017 19:33:46 +0800</pubDate><description><![CDATA[在select语句中加入条件判断：一个例子：nickName   createUsername-创建者名称，若isAnonymous=1，取nickname值
isAnonymous-是否匿名 0-否 1-是select a. *
···
CASE isAnonymous
WHEN '0' then a.createUsename
ELSE a.nickname
END AS createUsern]]></description><category></category></item><item><title><![CDATA[实现类似美团的下拉分级式菜单]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/51839648</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/51839648</guid><author>tyrant_800</author><pubDate>Wed, 06 Jul 2016 15:46:13 +0800</pubDate><description><![CDATA[最近要实现如下的下拉式二级目录效果： 
思路很简单，左右二级目录其实就是两个UITableView，点击左边cell实现右边table刷新。 
关键代码如下：
初始化变量：
NSInteger _leftIndex;//关键变量，记录一级目录点击cell的index,用来生成二级目录//初始化一二级目录tableview
-(void)initsubview{     //一级目录
    _lef]]></description><category></category></item><item><title><![CDATA[解决Tap手势和UITableView点击冲突]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/51835168</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/51835168</guid><author>tyrant_800</author><pubDate>Tue, 05 Jul 2016 22:31:55 +0800</pubDate><description><![CDATA[通常是在UIGestureRecognizer的代理函数中进行操作- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch两种思路：
根据touch的view的类型进行判断
//example
-(BOOL)gestureRecognizer:(UIGe]]></description><category></category></item><item><title><![CDATA[JSON Model转化 - (realm-json使用)]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/51534703</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/51534703</guid><author>tyrant_800</author><pubDate>Sun, 29 May 2016 23:12:55 +0800</pubDate><description><![CDATA[现在一般客户端和服务器相互基本都用json,关键的一步是客户端本地model和json的转化，如果用ios自带的api估计要累死。试了很多别的插件后，最终选定realm-json ，这是基于realm的一个扩展插件 , realm是个好东西，上官网看看就知了。real-json插件的github地址 ：https://github.com/matthewcheok/Realm-JSON首先pod p]]></description><category></category></item><item><title><![CDATA[Waiting for Light]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/51428368</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/51428368</guid><author>tyrant_800</author><pubDate>Mon, 16 May 2016 21:21:19 +0800</pubDate><description><![CDATA[Waiting for Light
   FROM SierraTHE SKY ABOVE northeast India looked like mango skin. It was late afternoon in May, and across a constellation of villages, deliverymen worked to unload their solar-char]]></description><category></category></item><item><title><![CDATA[Introduce]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/51416830</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/51416830</guid><author>tyrant_800</author><pubDate>Sun, 15 May 2016 13:53:23 +0800</pubDate><description><![CDATA[A DECADE AGO, at the University of Pennsylvania vet school, I sat on a 
linoleum floor stroking my dog’s head. She was in the 16th of what 
would become a 20-year life, and she’d just had a small tumor]]></description><category></category></item><item><title><![CDATA[jquery 自带的Form validate 调用远程]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/51259023</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/51259023</guid><author>tyrant_800</author><pubDate>Wed, 27 Apr 2016 10:23:38 +0800</pubDate><description><![CDATA[jquery form验证某些字段需要验证是否重复，只需在validate中自定义如下：rules:{
       authName:{
        required: true,
        remote: {
        url: "${ctxAdmin}/auth/verifyAuthName",
                            type: "post",]]></description><category></category></item><item><title><![CDATA[js中创建form表单]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/51003718</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/51003718</guid><author>tyrant_800</author><pubDate>Tue, 29 Mar 2016 10:30:44 +0800</pubDate><description><![CDATA[有的时候需要在js中创建form向controller提交数据，下面是在工作中遇到的一些问题和解决办法：简单的用jquery创建form:var form  = $("<form method = 'post'></form>");
var input = $("<input type='hidden' name='name' value="+data+">");
form.append(input]]></description><category></category></item><item><title><![CDATA[手机号、邮箱验证的正则表达式]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/50269781</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/50269781</guid><author>tyrant_800</author><pubDate>Fri, 11 Dec 2015 22:37:43 +0800</pubDate><description><![CDATA[用了很多网上找的，发现能用的太少，自己琢磨出可用的，留作备用
手机号：   var mobile_str = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/;
 if (!mobile_str.test(name)) {
    //格式错误         
 } else {
     //格式正确]]></description><category></category></item><item><title><![CDATA[Bootstrap table的一些简单使用总结]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/50269723</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/50269723</guid><author>tyrant_800</author><pubDate>Fri, 11 Dec 2015 22:30:49 +0800</pubDate><description><![CDATA[最近接触一个NB插件，Bootstrap table 没做过前端的表示对table的印象还只停留在html的table标签那一套，用过bootstrap table之后不得不说真是牛X。
构造方式 1 、HTML <div class="btn-group hidden-xs"id="exampleTableEventsToolbar" >
  //定义一系列工具栏...
 </div>
<tabl]]></description><category></category></item><item><title><![CDATA[如何让view随着键盘移动]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/50000499</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/50000499</guid><author>tyrant_800</author><pubDate>Mon, 23 Nov 2015 20:29:25 +0800</pubDate><description><![CDATA[常见的一个功能，让控件随着Keyboard上下移动而移动，实现方法很多，下面是一个比较方便的方法：#pragma mark - 键盘改动的时候其他view随着变化
-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [[NSNotificationCenter defaultCenter] a]]></description><category></category></item><item><title><![CDATA[UITableviewcell的删除操作]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/50000409</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/50000409</guid><author>tyrant_800</author><pubDate>Mon, 23 Nov 2015 20:23:24 +0800</pubDate><description><![CDATA[//编辑类型
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
    return UITableViewCellEditingStyleDelete;
}
//允许编辑
-(BOOL)tableView:(]]></description><category></category></item><item><title><![CDATA[activity初探（基于kft-activiti-demo的一个小例子）]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/49765363</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/49765363</guid><author>tyrant_800</author><pubDate>Tue, 10 Nov 2015 21:06:42 +0800</pubDate><description><![CDATA[最近老板心血来潮要搞基于activiti的工作流，没办法，只能现学，看了两周，一个小总结。  前提准备：  
 - eclipse安装acidity-designer插件 
 - 了解bpmn2.0基本知识 
 - 下载activiti，跑一跑其中demo 
 - 下载咖啡兔中的kft-activiti-demo基于kft-activiti-demo 中的leave-formkey改造，主要是为了学]]></description><category></category></item><item><title><![CDATA[iOS图片上传服务器（ASIHTTPRequest，SpringMVC）]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/49757921</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/49757921</guid><author>tyrant_800</author><pubDate>Tue, 10 Nov 2015 12:23:01 +0800</pubDate><description><![CDATA[最近开始做自己app的服务器，因为正在参与的公司项目用的是springMVC，干脆拿这个做服务器，iOS端采用第三方鼎鼎大名的ASIHTTPRequest（但是已停更很久），经过一天折腾，终于实现简单的图片上传
配置ASIHTTPRequest，参见  
ASIHTTPRequest配置说明
搭建简单的springMVC环境
代码iOS端：
-(void)uploadImgToServer:(UII]]></description><category></category></item><item><title><![CDATA[NSArray,NSMutableArray的KVO操作]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/49382829</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/49382829</guid><author>tyrant_800</author><pubDate>Sat, 24 Oct 2015 10:00:00 +0800</pubDate><description><![CDATA[KVO（Key Value Observe），键值观察，一种典型的观察者模式。iOS另一个观察者模式Notification，不过这个要在消息中心注册，相比而言比较麻烦。建立KVO的三个步骤： 
1、注册要监控的对象属性addObserver:forKeyPath:options:context: 
2、observeValueForKeyPath:ofObject:change:context:方]]></description><category></category></item><item><title><![CDATA[UIcollectionViewCell（UItableviewcell）长按删除操作]]></title><link>https://blog.youkuaiyun.com/tyrant_800/article/details/49147687</link><guid>https://blog.youkuaiyun.com/tyrant_800/article/details/49147687</guid><author>tyrant_800</author><pubDate>Thu, 15 Oct 2015 08:15:35 +0800</pubDate><description><![CDATA[功能简单，陷阱不少： 
主要涉及两个功能: 
1、长按手势：UILongPressGestureRecognizer  
2、cell自带的删除操作：deleteItemsAtIndexPaths首先为cell添加长按手势：UILongPressGestureRecognizer* longgs=[[UILongPressGestureRecognizer alloc]initWithTarget:]]></description><category></category></item></channel></rss>