1 | rpm --help |
1 | rpm --help |
在MYSQL的数据库里可能存在某一字段后面又特殊字符的情况,若明确知道该列可能引入的字符类型,则直接使用替换功能进行替换例如
1 | UPDATE tablename SET field = REPLACE(REPLACE(field, CHAR(10), ”), CHAR(13), ”); |
但有时候并不知道字符串后面的具体字符是什么,则可以通过16进制转换,比对当前文字转化码及去掉特殊字符的转化码。
例
在这里 可以明显看到两个之前有些差异有特殊字符的转化之后为E78E8BE58B87E38080,无特殊字符的转化之后为E78E8BE58B87。两者之间多了一个E58B87。
看到这里,就好办了,直接使用替换函数将E58B87转化为空即可。在这里注意:
16进制需前面增加0x。最终SQL如下
1 | UPDATE gt_user SET NAME = REPLACE(NAME, 0xE38080, '') |
使用POI导出Excel时,涉及到如何自适应列宽的问题。方法如下
1 | /** |
注意:以上代码有15000的限制,原因是Excel限制最大宽度为15000。所以,在这里我们除了这个宽度处理外,还需要设置单元格自动换行
1 | style.setWrapText(true); |
简书相关
Maven pom.xml保存
1 | [ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.5.5:single (default) on project ycsb: Failed to create assembly: Artifact: com.yahoo.ycsb:riak-binding:jar:0.3.1-RC1-SNAPSHOT (included by module) does not have an artifact with a file. Please ensure the package phase is run before the assembly is generated. -> [Help 1] |
在新建的Maven项目里遇到如上问题,使用stackoverflow上大神的解决方案一下就ok。
替换或新增如下内容
1 | <plugin> |
64-bit 系统
kernel 3.10+
1 | $ uname -r |
1 | $ yum update |
1 | tee /etc/yum.repos.d/docker.repo <<-'EOF' |
1 | $ yum install -y docker-engine |
安装成功后,使用docker version命令查看是否安装成功,安装成功后——如下图
1 | $systemctl start docker.service |
使用docker version命令查看
1 | $ sudo systemctl enable docker |
到此为止docker就完全安装好了。
在执行某一操作时,意外发现自己定义的异常,无法被外面的Controller catch到。
追查发现在service内是可以正常打印异常信息,但外层Controller仅能拿到一个事务回滚的roolback异常。
仔细查看错误信息:
1 | application exception overridden by commit exception |
应用自定义异常被事务异常覆盖了。
那么如何正常的在外层捕获到自定义的异常呢?
方法1.在对应的service上追加
1 | @Transactional(rollbackFor = DemoException.class) |
方法2.让自定义的异常继承RuntimeException(未校验,不过理论上是可以的)
那么为什么会可以呢?
事情的原因是 only unchecked exceptions cause rollbacks in spring transactions.(Spring的默认回滚RuntimeException)
在Spring事务管理里仅会回滚非检查异常。
我们捕获了一些特殊的情况,处理完之后会自动转化为一个checked exception 。事务不会对该异常做回滚。后续的事务回滚会覆盖自定义的异常。
SVN里恢复到某一天的版本操作
SVN除了日常的代码提交 更新之外 很少做一些其他高级的操作 曾经想把整个库的版本整体换到某天的全部代码 竟然不知道怎么操作 …正好 文档人员有心 事隔许久 竟然主动告知我了 于是我当机立断 才有了现在的奋笔疾书….呵呵
闲话少扯 言归正传
第一步:对着你的项目 右键 –TortoiseSVN- Update to revision
第二部 选择Show log
根据时间 选择需要的版本号
然后 返回到第一步的那个截图 在Revesion里填上这个版本好 Ok就行了
好了 这个简单 收工!
[plain] view plain copy
在代码的编写过程中,难免有些错误需要修改,
或者想从以前的文件进行代码修改,这样就涉及到版本的追踪,如果你以前提交时日志写的非常清楚,那版本追踪回滚起来就事半功倍、得心应手。
下面介绍几种版本回滚的办法:
这样你就可以不丢失你新建的文件,同时获得最新的SVN版本控制。
操作步骤:TortoiseSVN→Show log→选中需要回滚的版本→右键→Export。之后将修改的文件覆盖到你的最新版本,commit即可。
这种情况下SVN并没有显示出有什么冲突,并且新建立的文件也还在,但是在这种情况下你并不能直接在你回退后的版本上进行编辑,因为SVN的版本控制还是在最新的主干上。我们需要update并解决冲突。
这样的话你可以直接解决冲突并提交。不过这种方法的不足是,你新建的文件都没有了,整个工程都回退到之前的版本了。
转载地址:http://blog.csdn.net/lanchengxiaoxiao/article/details/36377445
1 | $(document).on('show.bs.modal', '.modal', function(event) { |
该操作的可能后果:
对应的model将会被移动到body外创建,一旦页面使用单页面技术框架类似于AngularJs相关的话,将会造成路由再次跳回的时候,model重复加载。不太建议直接这样实现。
若多Model弹窗的话 还有一种就是修改对应的层级model对应的z-index。
在Eclipse中使用try,catch,finally时会遇到警告
写道
1 | finally block does not complete normally |
原因:
所以 尽量不要在finally内使用return。
简单用DOM4J结合XPATH解析XML
由于DOM4J在解析XML时只能一层一层解析,所以当XML文件层数过多时使用会很不方便,结合XPATH就可以直接获取到某个元素
使用dom4j支持xpath的操作的几种主要形式
第一种形式
/AAA/DDD/BBB: 表示一层一层的,AAA下面 DDD下面的BBB
第二种形式
//BBB: 表示和这个名称相同,表示只要名称是BBB,都得到
第三种形式
/*: 所有元素
第四种形式
BBB[1]: 表示第一个BBB元素
BBB[last()]:表示最后一个BBB元素
第五种形式
//BBB[@id]: 表示只要BBB元素上面有id属性,都得到
第六种形式
//BBB[@id=’b1’] 表示元素名称是BBB,在BBB上面有id属性,并且id的属性值是b1
使用dom4j支持xpath具体操作
默认的情况下,dom4j不支持xpath,如果想要在dom4j里面是有xpath,第一步需要,引入支持xpath的jar包,如下:
在dom4j里面提供了两个方法,用来支持xpath
selectNodes(“xpath表达式”),获取多个节点
selectSingleNode(“xpath表达式”),获取一个节点
应用简单案例:
1.xml文件
1 | <?xml version="1.0" encoding="UTF-8"?> |
1 | import java.util.List; |
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true