Spring 框架

Spring Framework是由Rod Johnson创建的一个轻量级的开源框架,它的目的是帮助开发团队构建简单,可移植,快速和灵活的基于JVM的系统和应用程序。

致力于提供构建企业级应用程序的一站式解决方案。Spring是模块化的,可以根据自己的需要进行组合,可以使用IoC容器,也可以只使用Hibernate集成代码或JDBC抽象层。

Spring框架支持声明式事务管理,通过RMI或Web服务远程访问业务逻辑,以及持久的存储数据。它提供了一个全功能的MVC框架,并能够将AOP透明地集成到正在开发的软件中。

Spring被设计为非侵入式的,这意味着逻辑代码通常不会对框架本身产生依赖。在集成过程中(如数据访问层),对数据访问技术和Spring库的将存在一些依赖关系。但是,可以很容易的将这些依赖关系与其余的代码隔离开。


Spring

Read More

分享(#share)

Undertow 简介

Undertow是一个用java编写的、灵活的、高性能的Web服务器,提供基于NIO的阻塞和非阻塞API。

Undertow的架构是组合式的,可以通过组合各种小型的目的单一的处理程序来构建Web服务器。所以可以很灵活地的选择完整的Java EE servlet 3.1容器或初级非阻塞程序处理。

Undertow的设计是可以完全可嵌入的,具有简单易用的编译接口。Undertow的生命周期完全由嵌入的应用程序控制。

Undertow是JBoss赞助的一个Web服务器,是Wildfly应用程序服务器中的默认Web服务器。


Undertow

Read More

分享(#share)

Java开源服务器WildFly

WildFly是一个灵活,轻量级,用来托管应用程序,为构建应用程序提供帮助的应用服务器。前身JBoss是一个基于JavaEE的开源的应用服务器,遵循LGPL许可,可以在任何商业应用中免费使用。2006年,JBoss被Redhat公司收购,后将JBoss Application Server(JBoss AS)正式更名为WildFly,目前的最新版本是WildFly 10。

主要特点:

1.速度快,网络性能强,号称可以扩展到超过100万链接。

2.轻量级,内存优化管理,基于最小堆分配而开发的运行时服务,可以在小型设备上运行。

3.可定制,通过配置项来确定采用哪些子系统的功能,配备了强大统一的访问方式如CLI、WEB管理平台、API接口等。

4.支持范围广,采用最新JavaEE7的标准和RestFul的访问标准,不仅支持容错、集群、会话复制、Web代理等基本功能服务,还提供异步、非阻塞API。

5.模块化,采用类加载提供应用程序隔离,确保只和应用程序相关的JAR保持链接。

6.提供集成测试模型,任何用例都可以测试。


WildFly 10

Read More

分享(#share)

常用开发工具介绍(五) IntelliJ IDEA

IntelliJ IDEA

IntelliJ IDEA 是业界公认最好的Java集成开发环境之一。它来自于捷克一家软件开发公司JetBrains,这家公司的主要产品是一些IDE或者相关的工具如PHPStorm、WebStorm、PyCharm等,当然最出名的是IntelliJ IDEA。IntelliJ IDEA是跨平台的,可以适用于Windows,OS X和Linux。

IntelliJ IDEA免费版支持Java,Kotlin,Groovy,Scala;Git,SVN,Mercurial, CVS;Maven,Gradle,SBT;Android。

企业版在免费版的基础上更进一步支持Detecting Duplicates;Perforce,ClearCase,TFS;JavaScript,TypeScript;PhoneGap,Cordova,Ionic;HTML/CSS,AngularJS,React,Node.js;Java EE,JBoss,Spring,GWT,Vaadin,Play,Grails,Other Frameworks;Database Tools,SQL。


IntelliJ IDEA

Read More

分享(#share)

常见数据分析方法

数据分析

数据分析是为了提取有用信息并形成一定的结论,而对收集来的数据通过一定的统计分析方法进行分析的过程。

数据分析的数学基础在20世纪初就已确立,到计算机的出现后,计算能力的飞速发展使得数据分析也得到了蓬勃的发展。


数据分析方法

Read More

分享(#share)

Elasticsearch 简介

Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎。它允许您快速和近实时地存储,搜索和分析大量数据。它通常用为具有复杂搜索功能和要求的应用程序提供基础引擎/技术支持。

ElasticSearch基于Lucene的搜索服务器,提供RESTful web接口,它是用Java开发的。

基本概念

Elasticsearch有几个核心的基本概念。我们来简单的了解一下:

  • 近实时(NRT),Elasticsearch是一个接近实时的搜索平台。这意味着从索引文档到它可搜索的时间有一个轻微的延迟(通常为1秒)。

  • Cluster,集群是一个或多个节点(服务器)的集合,它们一起保存完整的数据,并在所有节点上提供联合索引和搜索功能。集群由唯一名称标识,默认情况下为“elasticsearch”。此名称很重要,因为如果节点设置为通过其名称加入集群,则节点只能是集群的一部分。

    • 确保您不要在不同的环境中重复使用相同的集群名称,否则您最终可能会加入错误的集群。例如,您可以对开发,暂存和生产集群使用logging-dev,logging-stage和logging-prod。
    • 注意,有一个集群只有一个节点是有效的和完美的。此外,您可能还有多个独立的集群,每个集群都有自己唯一的集群名称。


ElasticSearch

Read More

分享(#share)

不要做一个冒险者:与前端开发的疲劳作斗争

原作者:David Berner

最近跟一个做后端开发的朋友聊起了一个话题,我平常要花多少个时间来做除了编码或学习编码以外的事情。他给我看了一本来自Uncle Bob的书名叫《Clean Code》中的一段话,主要是对音乐家在演奏会前花费在准备上的时间和开发人员在执行代码前花费的准备时间进行了比较。

我喜欢这种类比,但我也不是完全赞同;这其实会导致思维的倦怠。我认为如果你想进一步提高或者扩展你的技能的想法本身是没问题的,只是不可能没日没夜的持续进行罢了。

前端开发很容易疲劳是非常现实的。我看过很多关于写JavaScript程序时疲劳的帖子,当然我认为问题应该并不局限在某个特定的开发语言。

我们首先应该明白,这绝对不是一种宣泄或者是咆哮,问题的根本原因主要是一切变化的太快了,我们喜欢的技术发展得如此迅猛。当然,我们也可以认为它使我们不得不有很强的紧迫感,有时感到自己都快要挂掉了。

Read More

分享(#share)

HBase数据库

Apache HBase™是一个提供分布式,可扩展,大数据存储的Hadoop数据库。

当需要随机,实时的读/写大数据时,Apache HBase™是非常适合的,HBase的目标就是管理巨大的表比如数十亿行X百万列。HBase与其它数据库的一个鲜明的区别是它是基于列模式而不是通常的行模式。

Apache HBase是开源的非关系数据库,按照Google的Bigtable的结构化数据的分布式存储系统建模。Apache HBase利用Hadoop和HDFS提供分布式数据存储。

Hadoop HBase

Read More

分享(#share)

常见软件许可简介

软件版权属于知识产权的著作权范畴,具有知识产权的特征,即时间性,专有性和地域性。

软件版权在法律上称为“计算机软件著作权”。属于著作权(知识产权)的一种。国家颁布有《计算机软件保护条例》,保护权益人的软件著作权。

软件许可证是管理软件使用或重新分发的法律文书,一般是通过合同法来进行。典型的软件许可证用来授权被许可人(通常是最终用户)使用软件的一个或多个副本。


license

Read More

分享(#share)

Redis 简介

Redis是一个BSD许可的、开源的,基于内存数据结构存储的数据库、缓存和消息中间件。 它支持各种数据结构,例如字符串,哈希,列表,集合,有序集合,位图,超文本和地理空间索引的半径查询等。 Redis内置了复制,Lua脚本,LRU管理机制,事务和分级别的磁盘持久性。Redis通过Redis Sentinel提供高可用性,通过Redis Cluster进行自动分区。


Redis

Read More

分享(#share)