摘要: DAO层测试难点 1. 可重复性,每次运行单元测试,得到的数据是重复的 2. 独立性,测试数据与实际数据相互独立 3. 数据库中脏数据预处理 4. 不能给数据库中数据带来变化 DAO层测试方法 1. 使用内存数据库,如H2。优点:无需清空无关数据;缺点:单元测试中需要进行数据库初始化过程,如果初始化 阅读全文
posted @ 2017-05-22 16:34 YGingko 阅读(5613) 评论(0) 推荐(1) 编辑
摘要: 转自基于客户数据的银行信用卡风险控制模型研究,金融,风控,建模,实战,,评分,A (pythonf.cn) 基于客户数据的银行信用卡风险控制模型研究,金融,风控,建模,实战,以,某,制作,评分,A 一、知识准备 1.1 熟悉Python的数据分析库numpy、pandas和scikit算法库 1. 阅读全文
posted @ 2021-08-11 11:02 YGingko 阅读(1188) 评论(0) 推荐(0) 编辑
摘要: Awesome Data Science with Python A curated list of awesome resources for practicing data science using Python, including not only libraries, but also 阅读全文
posted @ 2020-01-21 17:42 YGingko 阅读(1779) 评论(0) 推荐(0) 编辑
摘要: UI组件 weui-wxss ★852 - 同微信原生视觉体验一致的基础样式库 Wa-UI ★122 - 针对微信小程序整合的一套UI库 wx-charts ★105 - 微信小程序图表工具 wemark ★85 - 微信小程序Markdown渲染库 WeZRender ★36 - 微信小程序Can 阅读全文
posted @ 2018-01-28 15:44 YGingko 阅读(4895) 评论(1) 推荐(0) 编辑
摘要: 在 "Dubbo服务发布的整体流程" 一文中,只是分析了服务发布的整体流程,具体的细节还没有进一步分析。本节将继续分析服务暴露的过程。在ServiceConfig中通过一句话即可暴露服务,如下: 此时Invoker对象携带的URL信息中定义的是"registry",则此处"protocol"加载的是 阅读全文
posted @ 2017-12-15 11:16 YGingko 阅读(1536) 评论(0) 推荐(1) 编辑
摘要: 上文分析了 "Dubbo服务发布的整体流程" ,但服务代理生成的具体细节介绍得还不是很详细。下面将会接着上文继续分析。上文介绍了服务代理生成的切入点,如下: 这里的proxyFactory是在ServiceConfig中定义的,是final类型静态变量,赋值后无法进行修改。如下: proxyFact 阅读全文
posted @ 2017-12-11 10:46 YGingko 阅读(1548) 评论(0) 推荐(0) 编辑
摘要: 前面讲过 "Dubbo SPI拓展机制" ,通过ExtensionLoader实现可插拔加载拓展,本节将接着分析Dubbo的服务发布过程。 以源码中dubbo demo模块作为切入口一步步走进Dubbo源码。在 模块下配置文件 中定义了服务提供方、注册中心、协议及端口、服务接口等信息,如下: 本人搭 阅读全文
posted @ 2017-12-05 10:44 YGingko 阅读(1644) 评论(0) 推荐(4) 编辑
摘要: 最近项目中用到Redis,上网查了很多示例,发现或多或少都有问题。踩过很多坑,终于在Spring Boot中成功实现了Redis存储。记录如下,方便别人,也方便自己。 Redis(REmote DIctionary Server) 是一个由Salvatore Sanfilippo写的key valu 阅读全文
posted @ 2017-11-30 18:53 YGingko 阅读(972) 评论(0) 推荐(0) 编辑
摘要: 环境搭建 1. Github上下载 "Dubbo最新发布版本" ,楼主下载版本为2.5.7。 2. cd到源码解压目录,maven编译,命令为: 3. 生成Intellij idea相关配置文件,命令为: 4. 双击运行生成的 文件 Java SPI SPI是Service Provider Int 阅读全文
posted @ 2017-11-17 16:57 YGingko 阅读(1166) 评论(2) 推荐(2) 编辑
摘要: 上节探讨了Spring IOC容器中getBean方法,下面我们将自行编写测试用例,深入跟踪分析bean对象创建过程。 测试环境创建 测试示例代码如下: 应用ClassPathXmlApplicationContext加载解析xml文件,xml配置文件如下: bean Worker代码如下: 在ID 阅读全文
posted @ 2017-11-15 10:39 YGingko 阅读(1801) 评论(1) 推荐(2) 编辑
摘要: 上一节介绍了封装bean对象的 "BeanDefinition接口" 。从前面小结对 "BeanFactory的介绍" 中,我们知道bean对象是存储在map中,通过调用getBean方法可以得到bean对象。在接口BeanFactory中定义了多个相同签名的getBean方法,如下所示: Defa 阅读全文
posted @ 2017-11-14 10:45 YGingko 阅读(1275) 评论(0) 推荐(0) 编辑
摘要: 上文对 "Spring IOC容器的核心BeanFactory接口分析" 发现:在默认Bean工厂DefaultListableBeanFactory中对象不是以Object形成存储,而是以BeanDefinition类封装后存放在并发容器ConcurrentHashMap中的,如下所示: 下面来对 阅读全文
posted @ 2017-11-10 09:48 YGingko 阅读(1305) 评论(2) 推荐(0) 编辑
摘要: "搭建好源码阅读环境" 后,就可以慢慢走进Spring殿堂了。IOC是Inversion of Control的缩写,控制反转的意思。很多人可能都知道IOC是spring的核心,将对象的创建初始化等权限交由容器控制,从而减少对象之间的依赖。甚至听说过BeanFactory,知道BeanFactory 阅读全文
posted @ 2017-11-09 09:32 YGingko 阅读(1427) 评论(0) 推荐(1) 编辑
摘要: 写在最前面 最近突然心血来潮,想看看源码,看看大牛都怎么码代码,膜拜下。首选肯定是spring大法,于是说干就干,从GitHub上下载spring framework源码编译拜读。 环境搭建 1. 安装JDK 1.8+版本 2. GitHub下载 "spring framework" 源码,楼主下的 阅读全文
posted @ 2017-11-09 09:31 YGingko 阅读(623) 评论(0) 推荐(0) 编辑
摘要: 上文探讨了应用JDK动态代理实现Spring AOP功能的方式,下面将继续探讨Spring AOP功能的另外一种实现方式 CGLIB。 首先,来看看类名CglibAopProxy,该类实现了两个接口:一个是AopProxy接口,一个是Serializable接口。直接忽略Serializable接口 阅读全文
posted @ 2017-11-08 09:11 YGingko 阅读(8822) 评论(0) 推荐(2) 编辑
摘要: "上文介绍了代理类" 是由默认AOP代理工厂DefaultAopProxyFactory中createAopProxy方法产生的。如果代理对象是接口类型,则生成JdkDynamicAopProxy代理;否则生成ObjenesisCglibAopProxy代理,ObjenesisCglibAopPro 阅读全文
posted @ 2017-11-07 09:54 YGingko 阅读(1882) 评论(0) 推荐(0) 编辑
摘要: AOP全称是Aspect Oriented Programming,面向切面编程,是面向对象编程(OOP:Object Oriented Programming)的补充和完善。一般在系统中,OOP利用继承、封装、多态来模拟处理业务模块和逻辑;AOP则是封装非业务但又被各业务模块频繁调用的功能,如日志 阅读全文
posted @ 2017-11-07 09:24 YGingko 阅读(673) 评论(0) 推荐(1) 编辑
摘要: 工作中,少不了要定义各种接口,系统集成要定义接口,前后台掉调用也要定义接口。接口定义一定程度上能反应程序员的编程功底。列举一下工作中我发现大家容易出现的问题: 1. 返回格式不统一 同一个接口,有时候返回数组,有时候返回单个;成功的时候返回对象,失败的时候返回错误信息字符串。工作中有个系统集成就是这 阅读全文
posted @ 2017-10-21 21:45 YGingko 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 大家一提到程序员,首先想到的是以下标签:苦逼,加班,熬夜通宵。但是,但凡工作了的同学都知道,其实大部分程序员做的事情都很简单,代码CRUD可以说毫无技术含量,就算什么不懂依葫芦画瓢很多功能也能勉强做出来,做个多线程并发就算高科技了,程序员这行的门槛其实还是比较低的。(这里说的是大部分,有些牛逼的,写 阅读全文
posted @ 2017-10-21 21:29 YGingko 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 不同页面间进行参数传递,实现方式有很多种,最简单最直接的方式就是在页面跳转时通过路由传递参数,如下所示。 路由传递参数 实现方式如上所示,利用router.push方法可以从当前页面跳入指定的页面,跳入的页面通过name属性来确定。name属性里面的内容是在路由routes中定义的。如下所示: 参数 阅读全文
posted @ 2017-10-10 16:41 YGingko 阅读(3155) 评论(0) 推荐(0) 编辑
摘要: SpringMVC controller测试较简单,从功能角度划分,可分为两种。一种是调用请求路径测试,另一种是直接调用Controller方法测试。 调用请求路径测试 通过请求路径调用,请求需要经过拦截器,再到对应的Controller方法处理 被测试代码示例 测试代码示例 调用Controlle 阅读全文
posted @ 2017-05-25 11:55 YGingko 阅读(17374) 评论(0) 推荐(1) 编辑
摘要: 依照类型划分,单元测试方法可以划分为两大类。一类是针对public方法进行测试,另一类是针对private方法进行测试。 public方法测试 public方法和public static方法均属于public方法。public方法单元测试较简单。可分为需要Mock型和不需要Mock型。 需要Moc 阅读全文
posted @ 2017-05-25 11:52 YGingko 阅读(2615) 评论(0) 推荐(0) 编辑
摘要: service层测试较简单,目前大多数测试主要是针对public方法进行的。依据测试方法划分,可以分为两种:基于mock的隔离测试和基于dbunit的普通测试。 mock隔离测试 配置pom.xml 测试原理 隔离测试主要通过@Mock和@InjectMocks两个注解来实现模拟与被模拟。 @Moc 阅读全文
posted @ 2017-05-22 19:20 YGingko 阅读(15533) 评论(0) 推荐(0) 编辑
摘要: 一直以来,都是看到网上说“ StringBuilder是线程不安全的,但运行效率高;StringBuffer 是线程安全的,但运行效率低”,然后默默记住:一个是线程安全、一个线程不安全,但对内在原因并不了解。这两天终于下定决心看了下源代码,才深刻理解为啥一个线程安全、一个非线程安全。 一名话总结:j 阅读全文
posted @ 2016-05-15 17:09 YGingko 阅读(3172) 评论(5) 推荐(5) 编辑
摘要: java.lang.String是使用频率非常高的类。要想更好的使用java.lang.String类,了解其源代码实现是非常有必要的。由java.lang.String,自然联想到java.lang.StringBuffer和java.lang.StringBuilder,下篇文章再来研究java 阅读全文
posted @ 2016-05-03 23:14 YGingko 阅读(11008) 评论(2) 推荐(3) 编辑
摘要: 动态规划过程:每一次决策依赖于当前的状态,即下一状态的产生取决于当前状态。一个决策序列就是在变化的状态中产生的,这种多阶段最优化问题的求解过程就是动态规则过程。 基本思想原理 与分而治之原理类似,将待求解的问题划分成若干个子问题(阶段)求解,顺序求解各个子问题(阶段),前一子问题(阶段)为后一子问题 阅读全文
posted @ 2016-04-27 23:31 YGingko 阅读(842) 评论(0) 推荐(0) 编辑
摘要: 单元测试是指对软件中的最小可测试单元进行的检查和验证,是软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。 单元测试好处:提高代码质量(实现功能、逻辑严密)、减少调试时间、隔离测试。 前期准备 单元测试工具类很多,一般选择流行的Junit和Mocki 阅读全文
posted @ 2015-12-08 22:16 YGingko 阅读(1459) 评论(0) 推荐(0) 编辑
摘要: Servlet/JSP为Java EE中接收、转发、响应客户端请求的的技术,是基于Web容器所提供的服务。Servlet与JSP关系Servlet是使用Java程序语言所编写的一个Java类,通过Web容器的加载、初始化,受到容器的管理才得以成为一个Servlet。JSP会被Web容器转译为Serv... 阅读全文
posted @ 2015-11-24 18:30 YGingko 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 1. Log4j2的导入 首先到http://logging.apache.org/log4j/2.x/download.html 上下载最新的log4j2的jar包,然后再eclipse中加入log4j-api-2.4.1.jar和log4j-core-2.4.1.jar,需要注意的是不要将所有j 阅读全文
posted @ 2015-11-03 10:51 YGingko 阅读(3539) 评论(0) 推荐(0) 编辑
摘要: 使用intellij idea 14.1时,console 会输出中文乱码。下面分两种情况解决这种问题:一种是maven构建项目、一种是tomcat(不以maven构建)构建项目。 1、tomcat输出到控制台(console)出现中文乱码 设置Run/Debug Configuration中设置e 阅读全文
posted @ 2015-11-02 15:32 YGingko 阅读(9116) 评论(0) 推荐(2) 编辑
摘要: 正则表达式(RegExp:regular expression):一种用特殊符号编写的模式,描述一个或多个文本字符串。最适合用来搜索和操纵文本字符串。如,检查输入是否是邮箱。简单列举常用的RegExp中特殊字符如下:特殊字符(常用)字 符匹 配 \在字面意义和特殊意义之间进行切换 ... 阅读全文
posted @ 2015-10-25 21:47 YGingko 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 最近在读吴军的《浪潮之巅》一书,看到一些大公司的起起落落,心中略有感慨,随便写写,引以为鉴。 阅读全文
posted @ 2015-10-19 22:00 YGingko 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 本文转自:http://heaven-arch.iteye.com/blog/1160693transient和volatile两个关键字一个用于对象序列化,一个用于线程同步,都是Java中比较高阶的话题,简单总结一下。transienttransient是类型修饰符,只能用来修饰字段。在对象序列化... 阅读全文
posted @ 2015-09-15 21:34 YGingko 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 即时编译器(Just In Time Compiler)为了提高执行效率将热点代码编译成与本地平台相关的机器码,并进行各种层次的优化的编译器。它并不是虚拟机必需的部分,但其性能的好坏、代码优化程度的高低却是衡量一款商用虚拟机优秀与否的最关键指标之一,也是虚拟机中最核心且最能体现虚拟机技术水平的部... 阅读全文
posted @ 2015-08-02 11:42 YGingko 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 相当多新生的java语法特性,都是靠编译器的“语法糖”来实现,而不是依赖虚拟机的底层改进来支持,java中即时编译器地运行期的优化过程对于程序运行来说更重要,而前端编译器在编译期的优化过程对于程序编码来说关系更加密切。Javac编译器编译过程大致可以分为3个过程,分别是解析与填充符号表过程,插入... 阅读全文
posted @ 2015-08-02 11:06 YGingko 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。在java语言里,类型的加载、连接和初始化过程都是在程序运行期间完成的,这会令类加载时稍微增加一些性能开销,但是会为java应用程序提供高度的... 阅读全文
posted @ 2015-07-31 13:11 YGingko 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 各种不同平台的虚拟机与所有平台都统一使用的程序存储格式---字节码(ByteCode)是构成平台无关性的基石。Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行... 阅读全文
posted @ 2015-07-30 16:14 YGingko 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 经过半个多世纪的发展、目前内存的动态分配与内存回收技术已经相当成熟,但作为程序猿还是得了解GC和内存分配。当需要排查各种内存溢出、内存泄漏、当垃圾收集成为系统达到更高并发量的瓶颈时,就需要对内存的动态分配与内存回收技术实施必要的监控和调节。 本文讲叙了内存中垃圾的收集及内存分配策略。相比较而言... 阅读全文
posted @ 2015-07-20 22:29 YGingko 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2015-07-15 16:25 YGingko 阅读(253) 评论(0) 推荐(0) 编辑