MyBatis 通用枚举处理器
背景mybatis在3.4.5及之后版本中,新增了一个指定全局默认枚举类型处理器的配置项;
需要将mybatis-spring-boot-starter更新到2.1.4
对应mybatis-spring版本2.0.6
对应mybatis版本3.5.6
相应地需要更新druid到1.1.21以上
配置123456789101112 public SqlSessionFactory sqlSessionFactory(DataSource dataSource, PageHelper pageHelper, MybatisInterceptor mybatisInterceptor) throws Exception {// ... SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDefaultEnumTypeHandler(CodeIdentifyEnumHandler.class); // ... bean.setTypeHandlersPackage( ...
Intellij IDEA 类模板自动添加Serializable
在 Editor->File and Code Templates->Files 里找到 Java 的 Class,修改模板:
123456789101112#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end#set($name = ${NAME})#if($name.toString().matches(".*[(V|P|B|DT)O|Query]")) #set($obj = true)#end#if($obj)import java.io.Serializable;#end#parse("File Header.java")public class ${NAME} #if($obj)implements Serializable #end{}
其中的 #parse(& ...
Python 应用 Too many files 问题排查
现象上午发现调用算法接口报错,查看日志文件发现报错 OSError: [Errno 24] Too many open files
问题排查1. 修改系统文件描述符限制ulimit -a 查看系统限制,ulimit -n 65535修改只对当前终端生效。
在 /etc/security/limits.d/20-nproc.conf 中添加
1234root soft nofile 65535root hard nofile 65535* soft nofile 65535* hard nofile 65535
其中 nofile 是最大文件数量,nproc 是最大进程数量然后执行 sysctl -p,问题仍存在。
2. 观察进程资源限制cat /proc/<PID>/limits其中有一行 Max open files 显示 Soft Limit 为 1024,Hard Limit 为4096,也就是说进程的最大文件数仍然被限制在了 4096。
3. 定位原因因为是进程资源被限制,推测是 Supervisor 或者 Gunicorn 的问题,查找了下资料,发现果然是 ...
解决Vim默认模式为replace的问题
现象JumpServer 中打开 vim 默认为 replace 模式
原因终端的编码设置与目标机器的编码设置不同。
解决方案修改 vim 配置文件,默认在 /etc/vimrc,用户定义的在 ~/.vimrc,添加:
123set termencoding=utf-8set fileformats=unixset encoding=prc
P.S. vimrc中注释使用英文引号。
如何在数据科学中写出生产级别的代码?
原文地址:How to write a production-level code in Data Science?
原文作者:Venkatesh Pappakrishnan, Ph.D.
译文出自:掘金翻译计划
本文永久链接:https://github.com/xitu/gold-miner/blob/master/TODO1/how-to-write-a-production-level-code-in-data-science.md
译者:sisibeloved
校对者:AceLeeWinnie, yqian1991
编写生产级别的代码的能力是数据科学家梦寐以求的技能之一 —— 无论职位要求上是否明确的要求。对于由软件工程师转型的数据科学家来说这可能没什么难度,毕竟他们也许已经在生产代码的开发和部署上有着丰富的经验。
这篇文章是针对那些刚开始编写生产级代码并有兴趣学习它的人,比如大学的应届毕业生或从事数据科学(和计划转型)的专业人员。对于他们来说,编写生产级代码看上去是一项艰巨的任务。
我会介绍几个编写生产级别代码的技巧,请多加练习,此外这篇文章不需要用到任何数据科学方 ...
给人类的机器学习指南🤖👶
原文地址:Machine Learning for Humans🤖👶
原文作者:Vishal Maini
译文出自:掘金翻译计划
本文永久链接:https://github.com/xitu/gold-miner/blob/master/TODO1/why-machine-learning-matters.md
译者:sisibeloved
校对者:DAA233、whuzxq
简单易懂的英文解释加上数学、代码和真实案例。[更新于 9/1/17] 这个系列已经有完整的电子书了!下载地址。
导览章节 1:论机器学习的重要性。 人工智能和机器学习的广阔画卷 —— 过去、现在和未来。
章节 2.1:监督学习。 学习解决方案。介绍线性回归、损失函数、过拟合和梯度下降。
章节 2.2:监督学习 II。 两种分类方法:逻辑斯蒂回归和支持向量机(SVM)。
章节 2.3:监督学习 III。 无参学习器:k-近邻算法、决策树、随机森林。介绍交叉验证、超参调整和集成模型。
章节 3:无监督学习。 聚类:K-均值方法、分级。降维:主分量分析(PCA)、奇异值分解(SVD)。
章节 4:神经网 ...
使用 Go 和 AWS Lambda 构建无服务 API
原文地址:How to build a Serverless API with Go and AWS Lambda
原文作者:Alex Edwards
译文出自:掘金翻译计划
本文永久链接:https://github.com/xitu/gold-miner/blob/master/TODO1/serverless-api-with-go-and-aws-lambda.md
译者:sisibeloved
校对者:luochen1992、SergeyChang
早些时候 AWS 宣布了他们的 Lambda 服务将会为 Go 语言提供首要支持,这对于想要体验无服务技术的 GO 语言程序员(比如我自己)来说前进了一大步。
所以在这篇文章中我将讨论如何一步一步创建一个依赖 AWS Lambda 的 HTTPS API。我发现在这个过程中会有很多坑 — 特别是你对 AWS 的权限系统不熟悉的话 — 而且 Lamdba 接口和其它 AWS 服务对接时有很多磕磕碰碰的地方。但是一旦你弄懂了,这些工具都会非常好使。
这篇教程涵盖了许多方面的内容,所以我将它分成以下七个步骤:
构建 AWS C ...
Github Pages部署个人博客 - Hexo篇
前言想在Github上搭建一个个人博客,在网上找了不少的文章,但有的是使用的旧版本,有的语焉不详,最后还是磕磕绊绊地搭起来了,因此写了这篇文章,对自己踩过的坑进行一个总结。水平有限,还请见谅。
系统环境
Windows 10 教育版
Node.js v8.7.0
Npm v5.4.2
Git v2.13.0
在GitHub上创建Github Pages项目1. 创建新仓库Github Pages分为两类,用户或组织主页,项目主页。
创建用户或组织主页,只需创建一个名称为{yourusername}.github.io的新仓库即可。这边的yourusername填写自己的用户名。Github会识别并自动将该仓库设为Github Pages。用户主页是唯一的,填其他名称只会被当成普通项目。
创建项目主页。先新建一个仓库,名称随意,或是使用原有的仓库都可以。在项目主页 -> Settings -> Options -> Github Pages中,将Source选项置为master branch,然后Save,这个项目就变成一个Github Pages项目了 ...
RocketMQ安装及部署
版本信息Windows
OS : Windows 10 x64
RocketMQ : 4.2.0
JDK : 1.8.0_131
Maven : 3.5.0
Linux
OS : Ubuntu 16.04LTS x64
RocketMQ : 4.2.0
JDK : 1.8.0_151
Maven : 3.5.2
安装步骤Windows
若下载源码,使用Maven进行编译
配置环境变量(值为RocketMQ的安装路径)ROCKETMQ_HOME=D:\RocketMQ
修改runbroker.cmd第40行,添加双引号将set "JAVA_OPT=%JAVA_OPT% -cp %CLASSPATH%"改为set "JAVA_OPT=%JAVA_OPT% -cp "%CLASSPATH%""
Linux
若下载源码,使用Maven进行编译
配置环境变量(值为RocketMQ的安装路径)export ROCKETMQ_HOME=/usr/local/rocketmq/export PATH=$ROCKETMQ_HOME/ ...