Swift迅速入门笔记

用了两晚上的业余时间看了一下苹果的最新开发语言Swift,整理了一下笔记,分享一下。整体来讲确实很好入手的,XCode开发也很方便。
基本知识:

let a = “a”   //定义常亮

var b = “b”   //定义变量
var b:String = “Hello”; var e:Bool = true  //定义带类型的变量
var tus = (“Hello”, 23, 3.14, “aaa”)   //定义元组(Tuples)
println(tus.1)  //打印元组数据
typealias Vais = String //类型重命名
let d: Vais = “chen”
定义函数:
// 返回多个数据
func getName()->(Stirng, Int){
    return (“chen”, 123)
}
var tus2 = getName()
println(tus2.1)
//值类型,引用类型
//值类型:常量变量作为参数传参的时候,传的Copy  String
//引用类型:地址

继续阅读

中国提速WordPress

竟然这么长时间没有写点什么了?来济南都忙活什么了?哦,遇到很多好事,坏事,恶心事。真是该碰上的碰上了,不该遇到的也遇到了。总归善恶终有一报。

近段时间一直挂念着VPS的事,前几周一下买了两台,一台是从淘宝上选的,一台是在美国一家VPS服务商直接购买的。价格都在25-30元/月。配置也都差不多的事儿,1G的RAM。身为Java程序员平时可能少不了跑点Java程序,所以512MB的内存在吃内存太厉害的Java手下显得有点捉急。

配置不在话下,那问题就来到访问速度上了。因为我大天朝“威严”,空间只能买美国的(无需备案)。所以在服务器地点上选择美国西海岸机房对中国用户的访问速度是最快的。所以两台都是洛杉矶的机房。

然而购买VPS的供应商不同,各方面也会出现一些差异。 继续阅读

归乡之路

渐渐的习惯用三言两语表达情感,可能这就是为什么微博会这么受欢迎的原因吧!不是不喜欢用长篇文字去记录生活,去记录心情。可能更多的原因是现实中渐渐地没了这么多时间或者说安静的私人空间去做这些事情。

十一假期开始了,领略了天朝人多的力量。假期看人,去个车站几乎是寸步难行。心情那叫一个极度郁闷啊!一直为回济南懊悔不已,也一直诱发着我进京或者南下的冲动。

记录一下这些日子:  继续阅读

Nginx(Tengine)实现Tomcat热部署与负载均衡

业务背景

主要需求是系统更新期间实现热部署,提供不间断服务。其次是为多个应用服务器(Tomcat)实现负载均衡的效果。另外还需要开启https访问,同事支持http与https同时访问,并根据不同的访问请求转发到Tomcat不同的端口。

软硬件需求

Tengine(淘宝开源Nginx服务器) * 1,Tomcat7.53 * 2,服务器IP:192.168.64.166

实现细节

1.编译Nginx

首先下载Nginx服务器,地址:http://tengine.taobao.org
如下编译:
本次应用中需要用到HTTPS服务,所以在编译时需要特殊加入 –with-http_ssl_module。

继续阅读

Java模拟Http访问

Java模拟Http访问将返回的JSON解析为Bean对象

应用场景:某系统访问另一个系统获取一些数据,其中这些返回数据类型必须是JSON格式,接受系统可以将结果转换为简单的Bean对象,也可以将返回的是集合数据转换成List。这就需要我们模拟一个Http访问,然后处理返回的JSON数据。

方案选型:看了看网上的很多Demo,都是比较老的。其中应用的apache的框架现在也已经找不到了。所以决定亲自去apache官网去看看。发现以前的httpclient包已经独立出来命名为Apache HttpComponents。当前最新包为4.3.3。我采用的是OSChinaMaven源,还不错,已经有资源了。而JSON解析才用了最为流行的Jackson

Demo示例:

Test.java 返回的JSON数据将要被解析成为的对象类 继续阅读

Annotation与SpEL实现系统记录操作日志

先说几句废话吧。最近工作比较混乱,一遍研究着Hadoop,一遍搞着另外一个系统的开发。这段时间,一心想写点技术文章却迟迟没能提笔。今天终于,打开音乐播放器,戴上耳机。享受着宁静的夜晚与指尖跃起的文字。甚至于还想着,什么时候才能有合适的机会回到山东,守在爸妈身边。好了,废话不多说了,开始记录正文。

需求:

系统中的一个模块属于关键区,它所有的操作主要针对修改与删除是要求记录下日志来的。而这个记录的日志并不是像我们把它们打印在log文件里,而是需要标准的记录到数据库中。以便于后来专门日志操作模块的查询。

思考: 继续阅读

20140424-那时今日

书香纸痕曾记录我是个多愁善感的人,很多年前的平时也爱写一些东西。而今,渐渐地不在执笔,渐渐的不在诉说。不觉得是自己变了,细灼一下,内心还是那么空静。还是喜欢一个人的时候听些轻音乐,写些纪念岁月流痕的碎言。

真羡慕Richard  Clayderman的音乐才华。漂泊在外的心情并不沉静。又很难说出:不如归去。每个人都应该有理想,每个人都应该坚守它。还记得在高中二年级的时候我曾经就问过班里同学吧!你们还记得吗?班主任也曾经让拿出纸条写下理想,并交由他保存。说实话,写的什么我确实也记不清了,但我坚信的是,我一直在朝着这个方向走,无论生活给我怎样的痛楚。 继续阅读

Hadoop伪分布式安装

一、Hadoop简介

  1. Hadoop:一个分布式系统基础架构,适合大数据的分布式存储与计算平台。两个核心项目:HDFS、MapReduce
  2. HDFS:分布式文件系统,主要解决分布式的存储问题。
  3. MapReduce:并行计算框架,主要解决分布式的计算问题。
  4. Hadoop的特点:高可靠、高扩展、高性能、高容错、低成本
  5. Hadoop架构:

    在MapReduce中一个准备提交的应用程序成为作业(job),从一个作业划分出的、运行于各计算节点的工作单位成为任务(task);

    Hadoop提供的分布式文件系统(HDFS)主要负责各个节点上的数据存储,实现高吞吐率的数据读写。

    Hadoop使用Master/Slave架构。

    1. 以HDFS角度看(一个文件会被分割成若干个默认64M的block):

      主节点(只有一个): namenode。接受用户数据、维护文件系统的目录结构、管理文件与block和block与       datanode之间的关系。

      从节点(若干个): datanode。存储block,为保证数据安全会有备份。

    2. 以MapReduce角度看:主节点(只有一个): JobTracker。接受客户提交的服务任务、将任务分配给TaskTracker执行、监控TaskTracker执行情况。 继续阅读

了解一下JMS

1. JMS基本概念

(1)JMS(Java Message Service)是访问企业消息系统的标准API,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发。(2)Java消息服务(Java Message ServiceJMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。 

2. JMS基本功能

JMS是用于和面向消息的中间件相互通信的应用程序接口。它既支持点对点(point-to-point)的域,又支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另一种方式来对您的应用与旧的后台系统相集成。Java消息服务的规范包括两种消息模式,点对点和发布者/订阅者。许多提供商支持这一通用框架因此,程序员可以在他们的分布式软件中实现面向消息的操作,这些操作将具有不同面向消息中间件产品的可移植性。

Java消息服务支持同步和异步的消息处理,在某些场景下,异步消息是必要的;在其他场景下,异步消息比同步消息操作更加便利。

Java消息服务支持面向事件的方法接收消息,事件驱动的程序设计现在被广泛认为是一种富有成效的程序设计范例,程序员们都相当熟悉。 继续阅读

The End of 2013, 2014 Action!

2014年1月1日

有没有觉得365天过的好短又好长?有没有觉得他乡处的自由又凄凉?有没有觉得“朋友”变得渐多却心寒?有没有觉得工作变得单调又繁忙?

2013面对刚毕业的应届生,已不好意思显露过多稚嫩。心里却异常的不想长大,想留住那份无忧,想留住那份纯情。路走的越长越发现,在意你走到哪儿的往往都是开始跟你学步的伙伴。人接触越多越清楚,不猜忌你是否叵测的还是那些血浓于水的亲人。

春节离家,一年忙于项目

休完2013年春节小假,赶回大连一直忙于职场的第一个项目(JPH)。埃森哲的 JPH堪称空前的变态项目。无论从项目复杂度,规模还是开发人数都已打破了这样一个大企业记录,整个埃森哲大中华区(CDC)国内四处调集员工Support大连的这个项目。虽然9月份得到了升职加薪,但也已意识到对这份工作的不适之处,或许我该离开这儿了。

求职金山,第一次跳槽 继续阅读