`
文章列表
转载一篇博客,深以为然。技术只是一个工具并不能让你马上称为生产力。更重要的是掌握工具的同时并且有意识,方法论,并利用工具做正确的事。 Aaron Stannard是新创公司MarkedUp的CEO,他最近花费大量时间雇佣、评估很多不同 ...
作为软件开发人员不可避免的涉足软件过程管理,无论是管理者还是实施者都是过程参与者。当我们要向外行解释软件开发是怎么回事,通常来通过一个比方比如说建房子,这就是“隐喻”,当我们工作中遇到问题的时候,怎么深刻地正确地来理解和认识我们软件工作的本身,你潜意识里认为做开发应该这样,实际上做的事情不符合你的预想,这就是痛苦的根源。 有篇文章“软件开发不可与建筑类比”来表明一个不恰当的软件开发隐喻。 值得思考。 这与敏捷开发宣言有些神似。 那些经常用来描述软件的建筑隐喻是错误的。可悲的是,因为有了这层暗示,我们把很多重点放在了错误的地方: 力求把需求预先定义清楚,而不是接受:变化才是常态; 强调架构和 ...
说到项目中使用开源项目或第三方解决方案。决策层有时不考虑业务特点,自身熟悉程度而是排除竞争对手,凸显公司能力来选择方案。但作为具体开发实施人员是要有客观的看法和声音, 转载一下博客,深以为然。 https://yq.aliyun.com/articles/6042?&utm_campaign=sys&utm_medium=market&utm_source=edm_email&msctype=email&mscmsgid=3240116060100637134& 分别是“选”、“用”、“改”。 选:如何选择一个开源项目 【聚焦是否满足业务】 ...
时至今日,短信验证提醒已经司空见惯。一个小例子,记录一下公司集成短信的过程,其实这些demo一般短信服务商都会提供。作为一个常见应用例子,记之。 package com.jq.test; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.net.UR ...
见识有高低,知识无贵贱。转载一下别人的博客,朝花夕拾之意。 1、类和对象 Java万物皆是对象,旨在将世界中的概念模拟到计算机程序中,它将现实世界中的所有事物视为对象。 对象的描述是通过特征和行为来描述的,特征 ...
工作十几年来,被人管过也管过人,接触过不同的项目类型,也和不同的客户打过交道。 工作不外是“人”和“事”。有人的地方,就有事情,有事情的地方,就有管理。人,事都在变化,管理有需因人而定,因事而变。结果最终有成,有败。也曾学过一段管理理论,但真遇到事情,理论只能增加自己的信心和开拓自己的思维。运用之妙,存乎一心,和行军打仗一样。最后化为自己的经验和直觉。 理论隐约只记得几个词了,重新摘记之。沙场百战后,相忘于江湖。 内容 1、 项目范围管理 是为了实现项目的目标,对项目的工作内容进行控制的管理过程。它包括范围的界定,范围的规划,范围的调整等。 2、 项目时间管理 是为了确保项目最终的按时完成的一 ...
说起软件设计其实是一个高度,深邃的事情。能登高一览纵山小,俯仰天地那是大师的境界。我等则在路上。。。 一个复杂的设计,是由具体的类和对象组成。先有类,才有类与类之间的关系。 GRASP就是如何设计指导我们设计好类的原则。 1.Information Expert (信息专家) 信息专家模式是面向对象设计的最基本原则,是我们平时使用最多,应该跟我们的思想融为一体的原则。也就是说,我们设计对象(类)的时候,如果某个类拥有完成某个职责所需要的所有信息,那么这个职责就应该分配给这个类来实现。这时,这个类就是相对于这个职责的信息专家。 2.Creator (创造者) 实际应用中,符合下列任一条件的时候 ...
一、Composing Methods(重新组织你的函数)   1.Extract Method(提炼函数)      分为不同的step步骤进行处理,主干逻辑方法控制在7个以内      将代码放进一个独立函数中,并让函数名称解释该函数的用途   2.Substitute Algorithm( ...
公司需要和道闸对接,道闸有个模拟客户端端定时发送数据,服务端将道闸产生的socket报文进行解析,报文里面有文案中规定好的数据含义。某种意义上讲, socket报文也是处理异构跨平台数据交换的利器。基于TCP/UDP协议,数据格式为字符串,这也跨语言平台无差别交换的原因。 扩展一下,有类似的框架Netty,可以参考MINA与Netty的对比文章: http://ifeve.com/netty-mina-in-depth-1/ package com.jq.test; import java.io.IOException; import java.net.InetSocketAddress ...
接触大数据的这两年来,总是被各种琳琅满目的框架工具目不暇接。在这个大数据这个生态圈里,具体的框架工具都有自己的应用场景或不足之处,用来解决特定的问题。技术选型的时候要结合业务特点。没有包治百病,一劳永逸的方案。 1.Hadoop,大数据的鼻祖和基础。 解决存储(HDFS)和计算(MapReduce)。数据运行在磁盘上决定适合批处理任务,实时性低的场景。 NameNode和DataNode, 主从模式。 2.Storm,数据运行在内存中,适合流处理,实时性高场景,缺点不灵活,预先知道统计方式。Spout和Bolt,主从模式。 3.Spark,解决Hadoop运行速度问题,数据运行在内存中。但实时 ...
自己接触webservice已经有六年了,是处理异构跨平台数据交换的利器。具体概念不详细交代了。有很多关于这方面的博客。如:http://blog.sina.com.cn/s/blog_493a845501012566.html 这里主要谈的是自己的经历和感受。 1.协议结构和格式定义: SOAP + xml 简单对象访问协议, 有SOAP头, 可采用XSD或Bean注解的方式来定义数据 HTTP方法+ xml或json, 其实可以看做有HTTP头,对传输数据格式要求不严格,比如元素是否必须,值,类型,频率等远没有SOAP要求那么高。 2.测试工具: SOAPUI java -jar rest ...
接着上次博客记录, 例子虽然可以在本地运行,如果将写好的代码在阿里云上运行。 基本步骤如下: 1.将写好的代码导出成jar文件,代码里面的字段名用小写,ODPS都转为小写,用大写会报错找不到相应的字段,在后面执行才知道这个问题。   EtlTools.java-->Export--->Jar file-->name-mr.jar 2.从Eclipse workspace拷贝到D:\odpscmd_public\bin,路径不能有中文,否则后面会报错找不到相应的jar包 3.数据准备,建表 CREATE TABLE etl_in (idCard STRING, name STR ...
公司提了一个要求,要基于阿里云的ODPS实现一个简单的数据ETL Demo。 基本需求如下:多条身份证,姓名,来源部门信息遵循两条规则, 有权威部门则采用权威部门数据,无权威部门则采用出现次数多权重数据。 实现过程如下: 1.去阿里云申请accessID, accessKey 2.下载SDK开发工具 3.下载ODPS Eclipse插件并集成 4.仿造WordCount例子实现需求 具体表结构及代码 project=example_project table=etl_in columns=idcard:STRING,name:STRING,dept:STRING 522635****011 ...
之前在设计Restful webservice时安全问题,一直在找一个合适的方案。常用的HTTP方法POST,GET,PUT,DELETE对应着资源的CRUD, Create, Retrieve(注意不是Read,经过一个美国客户的纠正), Update,Delete, 这是Restful初始的设计思想。 参数传输类型有xml,json,现在流行的是简单快速的json类型, UTF-8格式。为了安全,这里就要来一次“反模式”, 所有的请求方法都为POST, 将传输的内容可以用加密算法: 例如: AES( “{ "parkIndex":"4956489561" ...

知识体系

屈指一算,工作十四年了。做了三年网络,十一年开发管理。平常很少有时间和情绪来梳理这么多年来知识体系,一半因为自己的知识量,境界,阅历有关,以为写作其实是个很神圣的东西,没有积累是很难全貌的去把握知识,一半是因为个人性格,抱着只问耕耘,不问收获的人生态度。今天有兴致梳理了一下自己的知识结构。 一、基础知识 二、JVM 三、设计模式与原则 四、应用框架SSH 五、SOA 六、存储(sql, nosql) 七、搜索 八、大数据,云计算 九、移动端开发 十、软件工程方法 十一、系统架构 十二、性能 人类一思考,上帝就发笑。 每个人存在总有自己的三观。 我自己的开发哲学或架构观基本如下: 重基础,思架构, ...
Global site tag (gtag.js) - Google Analytics