Spring ORM数据访问——JPA

2017年5月17日 没有评论

JPA

Spring JPA在org.springframework.orm.jpa包中已经可用,Spring JPA用了Hibernate集成相似的方法来提供更易于理解的JPA支持,与此同时,了解了JPA底层实现,可以理解更多的Spring JPA特性。

Spring中JPA配置的三个选项

Spring JPA支持提供了三种配置JPAEntityManagerFactory的方法,之后通过EntityManagerFactory来获取对应的实体管理器。

LocalEntityManagerFactoryBean

通常只有在简单的部署环境中使用此选项,例如在独立应用程序或者进行集成测试时,才会使用这种方式。 阅读全文…

分类: 互联网 标签:

linux驱动开发之字符设备框架 – 实例

2017年5月17日 没有评论

前言

前两小节中介绍了字符设备的cdev和函数操作集 file_operations。理论还需要和实践结合起来,这节主要是给出一个示例代码和测试代码。

正文

#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>

#include <linux/cdev.h>
#include <linux/fs.h>

#define DEVICE_NAME "cdev_demo"

static  阅读全文...
分类: 移动开发 标签:

Flutter进阶—实现动画效果(二)

2017年5月18日 没有评论

在上一篇文章:Flutter进阶—实现动画效果(一)的最后,我们说到需要一个处理程序混乱的概念。在这一篇文章中,我们会引入补间,它是构建动画代码的一个非常简单的概念,主要作用是用面向对象的方法替代之前面向过程的方法。tween是一个值,它描述了其他值的空间中的两个点之间的路径,比如条形图的动画值从0运行到1。

补间在Dart中表示类型为Tween的对象

abstract class Tween<T> {
  final T begin;
  final T end;

  Tween 阅读全文...
分类: 移动开发 标签:

Redis源码剖析和注释(二十一)— 单机服务器实现

2017年5月18日 没有评论

Redis 单机服务器实现

1. Redis 服务器

Redis服务器负责与客户端建立网络连接,处理发送的命令请求,在数据库中保存客户端执行命令所产生的数据,并且通过一系列资源管理措施来维持服务器自身的正常运转。本次主要剖析server.c文件,本文主要介绍Redis服务器的一下几个实现:

  • 命令的执行过程
  • Redis服务器的周期性任务
  • maxmemory的策略
  • Redis服务器的main函数

其他的注释请上github查看:Redis 单机服务器实现源码注释

2. 命令的执行过程

Redis一个命令的完整执行过程如下:

  1. 客户端发送命令请求 阅读全文…
分类: 软件架构 标签:

程序员的九“重构”天

2017年5月18日 没有评论

维护一个长期系统的时候,对于程序员的要求就和全新开发不同了。
全新开发项目的程序员的要求就是符合需求、符合技术规范。
而维护一个长期的系统,需求往往是不完整的,很多时候需要从代码中理解程序的结构,据此可以按照程序员重构系统的能力列举出九个层次,正如中国传统文化中经常提到的九重天,正巧有一个“重”字,本文也说说九“重构”天。

一,看不懂代码,按照需求重写

如果需求和程序实现不一致的话,那么就只符合需求了。
这虽然是重构最低的一级,但是放在程序员开发中,也是中上等的程序员了,因为很多程序员按照需求文档都不能正确实现需求。
这也像是仙侠小说中的修炼,只有普通人中的上上天资才能进入修炼天道的门槛。

二,能对照需求理解代码,按照理解后的需求重写

和第一层类似,不过在对照需求理解代码的同时,能挖掘出很多需求文档中没有写,但是代码中已经实现了的需求。 阅读全文…

分类: 软件架构 标签: