显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

北漂的小羊

Java编程,开发者,程序员,软件开发,编程,代码。新浪微博号:IT有约

 
 
 
 
 
 

北京市 海淀区 天秤座

 发消息  写留言

 
在这里是面向程序员的高品质IT技术学习社区,是程序员学习成长的地方。让我们更好地用技术改变世界。请关注新浪微博号: IT国子监(http://weibo.com/itguozijian)
 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 

日志分类

 
 
日志分类列表加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 
 

技术博客网站

 
 
模块内容加载中...
 
 
 
 
 
 
 

[置顶] 月赚3000,这样过一生,确定吗?

2017-8-11 10:33:13 阅读57 评论0 112017/08 Aug11

文章来自知乎:Amber  微信公众号:灰色的秘密

赚钱教过这么多,聊聊现实吧

按着大多数普通人的人生轨迹来说

那一年,你毕业了

刚入社会,没什么赚钱思路

于是,找了薪酬不高不低的工作

26岁,你看着身边的朋友陆续结了婚

婚礼的随礼每年增加

那年春节,父母不再带你串门

变成了带你去见相亲对象

可惜 见过这些个姑娘

你总是觉得和那个人比起

差了一点

28岁那年,你遇见她,和你遭遇差不多的女孩

你们有一搭没一搭的聊天

她说:你挺好的

你抿了一口果汁说:你也是啊

你甚至不确定喜不喜欢她

双方家长就已经摆好了订婚宴

结婚的前一周,你和朋友出去喝酒

你说,我不想结婚

朋友说,你啊,就是想太多。谁不是这么过来的?

29岁,你们完成了婚礼

婚礼规模不大不小,朋友来的不多不少

存了几年想要去浪迹天涯的钱

搭在了这一场百人的私人庙会上

婚礼进行到一半

司仪用他那商业化的微笑

对着台下你的亲朋好友喊道

要不要让他们亲一个!

台下的人当然一起起哄

没什么特别的赶紧

你就简简单单的亲了一下

俩人恢复到了一开始的站位

你低声说了一句:我爱你

作者  | 2017-8-11 10:33:13 | 阅读(57) |评论(0) | 阅读全文>>

使用贫血领域模型通常被认为是一种反模式,因为它鼓励程序员无意义地重复编写代码。下面我将简短(而琐碎)地用一个例子来阐述这个是如何产生的。我们可以通过细致的规划以及严格的编码规范来避免其发生,但是同样可以获得较好的封装。防止陷入贫血领域模型深坑的难度随项目人数呈指数级增长。

使用贫血领域模型通常被认为是一种反模式,因为它鼓励程序员无意义地重复编写代码。下面我将简短(而琐碎)地用一个例子来阐述这个是如何产生的。我们可以通过细致的规划以及严格的编码规范来避免其发生,但是同样可以获得较好的封装。防止陷入贫血领域模型深坑的难度随项目人数呈指数级增长。

我相信所有人对面向对象都有所认识,但我却有趣地发现一些看似毫无意义的小举措却导致了最终一场大灾难。

第一步:编写贫血实体

在软件开发的某些情况下,我们会在一个领域实体之外实现一些逻辑。这可能是由于一个明确的设计决定或者,更有可能,持久类不能引用外部服务造成了不能将这段逻辑实现在领域对象的内部。把外部服务(依赖)添加到实体对象中将会造成与数据库的交互变的复杂而晦涩难懂。

public class User {     private final String name;     private final String emailAddress;     

作者  | 2014-3-29 20:20:49 | 阅读(775) |评论(0) | 阅读全文>>

[置顶] 程序员必读经典书籍

2012-8-19 15:23:41 阅读13163 评论6 192012/08 Aug19

很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。

其实除了前10本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。

下面就按照各本书的推荐数排列。

新浪微博:IT有约(记得关注噢) http://weibo.com/itgzj

1、《代码大全》 史蒂夫·迈克康奈尔

“优秀的编程实践的百科全书,《代码大全》注重个人技术,其中所有东西加起来, 就是我们本能所说的“编写整洁的代码”。这本书有50页在谈论代码布局。” —— Joel Spolsky

对于新手来说,这本书中的观念有点高阶了。到你准备阅读此书时,你应该已经知道并实践过书中99%的观念。– esac

Steve McConnell的原作《代码大全》(第1版)是公认的关于编程的最佳实践指南之一, 在过去的十多年间,本书一直在帮助开发人员编写更好的软件。

作者  | 2012-8-19 15:23:41 | 阅读(13163) |评论(6) | 阅读全文>>

在使用debian系统构建android开发环境时,构建过程中报以下错误信息:

unable to run mksdcard sdk tool

原因:缺少库文件

解决方法:

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6

作者  | 2016-6-3 11:32:28 | 阅读(171) |评论(0) | 阅读全文>>

[项目实战]Jackson 框架之java对象和json数据转换实现

2015-1-16 15:02:33 阅读682 评论0 162015/01 Jan16

简介: Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。

官方wiki:http://wiki.fasterxml.com/JacksonInFiveMinutes

官方文档:http://wiki.fasterxml.com/JacksonDocumentation

github:https://github.com/FasterXML/jackson

一、准备工作 jackson-databind 下载地址: http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/ 注意:使用此功能需要依赖以下jar文件 jackson-core 和 jackson-annotations github:

作者  | 2015-1-16 15:02:33 | 阅读(682) |评论(0) | 阅读全文>>

异常:jsp中The absolute uri: http://java.sun.com/jsp/jstl/core

2014-8-12 15:39:49 阅读879 评论0 122014/08 Aug12

一、异常信息

org.apache.jasper.JasperException:   /index.jsp(0,0)   This   absolute   uri   (http://java.sun.com/jstl/core)   cannot   be   resolved   in   either   web.xml   or   the   jar   files   deployed   with   this   application   

  at   org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:94)   

  at   org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:428)   

  at   org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:126)   

作者  | 2014-8-12 15:39:49 | 阅读(879) |评论(0) | 阅读全文>>

Spring MVC工作原理

2014-5-14 9:47:04 阅读1659 评论2 142014/05 May14

Spring的两大核心AOP与IOC,可以单独用于任何应用,包括与Struts等MVC框架与Hibernate等ORM框架的集成,目前很多公司所谓的轻量级开发就是用 Spring + Struts(2)+Hibernate。 

Spring MVC就是一个MVC框架,个人觉得Spring MVC annotation式的开发比Struts2方便,可以直接代替上面的Struts(当然Struts的做为一个非常成熟的MVC,功能上感觉还是比Spring强一点,不过Spring MVC已经足够用了)。 

新浪微博:IT国子监(记得关注噢) http://weibo.com/itguozijian

1、Controller:处理器/页面控制器,做的是MVC中的C的事情,但控制逻辑转移到前端控制器了,用于对请求进行处理; 

2、HandlerMapping:请求到处理器的映射,如果映射成功返回一个HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器)对象;如BeanNameUrlHandlerMapping将URL与Bean名字映射,映射成功的Bean就是此处的处理器; 

作者  | 2014-5-14 9:47:04 | 阅读(1659) |评论(2) | 阅读全文>>

Maven 简介、仓库、私服和其他公共库管理学习笔记

2014-3-14 21:57:01 阅读1595 评论0 142014/03 Mar14

Maven 简介

1. Maven 是什么

a)  单词含义

知识的积累、专家、内行。

b)  本文含义

跨平台的项目管理工具,主要服务于 Java 平台的项目构建、依赖管理和项目信息管理,

无论小型开源项目,还是大型企业级应用,无论是传统的瀑布式开发,还是流行的敏捷模式,

Maven 都能大显身手。

2. 构建是什么

工作中大部分时间都会花销在构建上,如果所有的构建工作都需要手动去完成,

在软件企业来说成本非常大,让软件完全自动化的完成这一系列工作,

一条简单的指令就可以像流水线一样,让烦琐简化。

a)  清理(claen)

b)  编译(compile)

c)  单元测试(test)

d)  生成文档(doc)

e)  打包(jar、war)

f)  部署(deploy)

3. Maven 的优秀

最大化的消除了构建的重复,抽象了构建生命周期,从清理、编译、测试到生成报告,

再到打包和部署,只需要简单的配置,输入简单的指令,Maven 就可以帮我们处理那些烦琐的任务。

a)  最大化消除构建重复(一键完成构建)

b)  依赖管理,仓库管理

c)  平台无关性

作者  | 2014-3-14 21:57:01 | 阅读(1595) |评论(0) | 阅读全文>>

Maven 简介

2014-3-14 21:56:32 阅读828 评论0 142014/03 Mar14

Maven 简介

1. Maven 是什么

a)  单词含义

知识的积累、专家、内行。

b)  本文含义

跨平台的项目管理工具,主要服务于 Java 平台的项目构建、依赖管理和项目信息管理,

无论小型开源项目,还是大型企业级应用,无论是传统的瀑布式开发,还是流行的敏捷模式,

Maven 都能大显身手。

2. 构建是什么

工作中大部分时间都会花销在构建上,如果所有的构建工作都需要手动去完成,

在软件企业来说成本非常大,让软件完全自动化的完成这一系列工作,

一条简单的指令就可以像流水线一样,让烦琐简化。

a)  清理(claen)

b)  编译(compile)

c)  单元测试(test)

d)  生成文档(doc)

e)  打包(jar、war)

f)  部署(deploy)

3. Maven 的优秀

最大化的消除了构建的重复,抽象了构建生命周期,从清理、编译、测试到生成报告,

再到打包和部署,只需要简单的配置,输入简单的指令,Maven 就可以帮我们处理那些烦琐的任务。

a)  最大化消除构建重复(一键完成构建)

b)  依赖管理,仓库管理

c)  平台无关性

作者  | 2014-3-14 21:56:32 | 阅读(828) |评论(0) | 阅读全文>>

《J2EE开源编程精要15讲》第9章为您介绍的是Hibernate的高级功能,本节主要为您讲述的是一对一关联关系的使用。

"一对多"是最普遍的映射关系,简单来讲就如消费者与订单的关系。

一对多:从消费者角的度来说一个消费者可以有多个订单,即为一对多。

多对一:从订单的角度来说多个订单可以对应一个消费者,即为多对一。

9.2.1  一对一关联关系的使用

一对一关系在实际生活中是比较常见的,例如学生与学生证的关系,通过学生证可以找到学生。一对一关系在Hibernate中的实现有两种方式,分别是主键关联和外键关联。

概念:

一对一关联:指两个表之间的记录是一一对应的关系。

             分为:外键关联和主键关联

一.基于外键的双向1-1关联

1> 本关联的外键可存放于任意一端,并在存放外键的一端增加<many-to-one>元素,能够增加唯一约束实现一对一关联。

        2> <many-to-one>元素的unique="true"属性,表示1-1关联;name属性指定关联属性的属性名

        3> 另一端需要使用<one-to-one>元素,在元素中使用"property-ref"属性(可不加),指定使用被关联实体主键以外的字段作为关联字段。

作者  | 2014-3-14 20:08:37 | 阅读(600) |评论(0) | 阅读全文>>

JFileChooser 添加选择文件有效验证功能

2014-3-13 23:18:35 阅读471 评论0 132014/03 Mar13

JFileChooser 添加选择文件有效验证功能

我们在做 GUI 编程的时候经常需要用到 JFileChooser 组件构造一个文件选择对话框来为用户提供打开文件、保存文件等操作。

通常的做法是调用 JFileChooser.showOpenDialog() 方法显示文件选择对话框并且选择一个文件后,点击【Approve】按钮(默认情况下标有 "Open" ),当对话框关闭后使用 JFileChooser.getSelectedFile() 方法得到选取的文件,然后再对被选取的文件有效性进行验证(例如,文件的文件名是否合法、选取的路径下是否已有同名文件存在等等),如果验证不通过,需要再次打开文件选择对话框进行选取。

显然,验证没有通过的情况下,文件选取对话框被反复的打开和关闭,影响用户体验。

我现在介绍一个方法,通过对 JFileChooser 进行一些改进,在点击了【Approve】按钮后,对话框关闭前对选取的文件进行有效性验证,如果验证没有通过,那么 JFileChooser 不会被关闭,而在其上会弹出一个警告对话框,关闭这个警告对话框后可以直接在 JFileChooser 进行下一次选择。

现在我们来实现这个特殊的文件选择对话框。

查看 JFileChooser 的 API,可以发现这样一个方法 public void approveSelection() 。这个方法会在用户确定选择操作时(例如单击【Approve】按钮)由 UI 调用,导致使用等于 APPROVE_SELECTION 的命令字符串激发一个操作事件。

作者  | 2014-3-13 23:18:35 | 阅读(471) |评论(0) | 阅读全文>>

ecside介绍:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ecside是一个开源的列表组件。

他源自著名开源列表组件 eXtremeComponents (http://www.extremecomponents.org),

但现在已经脱离eXtremeComponents,独立发展(仍有大量代码来自 eXtremeComponents)。

“做最实用易用的列表组件”是ecside最终的目标。

作者: fins ( name: Wei Zijun    email:fins@163.com   blog:http://fins.javaeye.com )

在使用前,请阅读一下以下信息,以帮助您了解您要使用的将是一个多么不成熟的东西(但它会有成熟的一天,而且那天不会远 呵呵):

1 ecside不能和原始版本的 eXtremeComponents 同时使用,且不保证能与原先使用 eXtremeComponents 的系统兼容,请见谅。

作者  | 2014-3-13 23:15:16 | 阅读(812) |评论(0) | 阅读全文>>

java.lang.NoClassDefFoundError: javax/mail/MessagingException

2014-3-13 23:10:40 阅读3708 评论1 132014/03 Mar13

解决方案一:

前天在项目中实现了用Spring中的JavaMailSenderImpl发送邮件,在applicationContext.xml文件配置如下,

<!-- JavaMail服务bean -->

 <bean id="javaMailSender"

  class="org.springframework.mail.javamail.JavaMailSenderImpl">

  <property name="host">

   <value>smtp.163.com</value>

  </property>

  <property name="username">

   <value>lihaiyancarter11</value>

  </property>

  <property name="password">

   <value>7152</value>

  </property>

  <property name="javaMailProperties">

   <props>

    <prop key="mail.smtp.auth">true</prop>

    <prop key="mail.smtp.timeout">25000</prop>

   </props>

  </property>

作者  | 2014-3-13 23:10:40 | 阅读(3708) |评论(1) | 阅读全文>>

数据库表结构设计方法及原则

2014-3-13 23:00:44 阅读490 评论0 132014/03 Mar13

在目前的企业信息系统中,数据库还是最佳的数据存储方式,虽然已经有很多的书籍在指导我们进行数据库设计,但应该那种方式是设计数据库的表结构的最好方 法、设计时应遵从什么样的原则、四个范式如何能够用一种方式达到顺畅的应用等是我一直在思考和总结的问题,下文是我针对这几个问题根据自己的设计经历准备 总结的一篇文章的提纲,欢迎大家一块进行探讨,集思广益。其中提到了领域建模的概念,但未作详细解释,希望以后能够有时间我们针对这个命题进行深入探讨。

1) 不应该针对整个系统进行数据库设计,而应该根据系统架构中的组件划分,针对每个组件所处理的业务进行组件单元的数据库设计;不同组件间所对应的数据库表之 间的关联应尽可能减少,如果不同组件间的表需要外键关联也尽量不要创建外键关联,而只是记录关联表的一个主键,确保组件对应的表之间的独立性,为系统或表 结构的重构提供可能性。

2)采用领域模型驱动的方式和自顶向下的思路进行数据库设计,首先分析系统业务,根据职责定义对象。对象要符合封 装的特性,确保与职责相关的数据项被定义在一个对象之内,这些数据项能够完整描述该职责,不会出现职责描述缺失。并且一个对象有且只有一项职责,如果一个 对象要负责两个或两个以上的职责,应进行分拆。

3)根据建立的领域模型进行数据库表的映射,此时应参考数据库设计第二范式:一个表中的所 有非关键字属性都依赖于整个关键字。关键字可以是一个属性,也可以是多个属性的集合,不论那种方式,都应确保关键字能够保证唯一性。在确定关键字时,应保 证关键字不会参与业务且不会出现更新异常,这时,最优解决方案为采用一个自增数值型属性或一个随机字符串作为表的关键字。

作者  | 2014-3-13 23:00:44 | 阅读(490) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017

注册 登录  
 加关注