
开发手记
文章平均质量分 66
黄鹤
1998年开始从事软件研发。喜欢动手写代码,希望做出色的产品。呆过创业小公司,呆过外包公司,呆过外企,转了一圈,又回到创业公司。做过办公自动化系统,做银行业务系统,现在投入O2O的大潮,希望和小伙伴们一起,用技术做一些有价值的事情。喜欢跑步,读书,羽毛球,公益。
展开
-
通过Nginx访问后端应用,ERR_CONTENT_LENGTH_MISMATCH 问题的解决
遇到两个问题1. 选择日期功能,不起作用了2. 下载稍大一点的文件,只能下载一小半页面调试发现有ERR_CONTENT_LENGTH_MISMATCH错误系统:CentOS,Nginx,proxy到后端的tomcat原因:nginx会缓存大文件到proxy_temp目录中,然而对这个目录没有读写权限原创 2015-05-30 14:22:56 · 50230 阅读 · 5 评论 -
Ubuntu 12.04 LTS 安装 Nginx 1.6.0
网上资料很多,这里只针对自己的安装过程做一个记录step 0原创 2014-04-28 12:13:08 · 3419 阅读 · 2 评论 -
Struts2 的checkbox标签,不选时返回false的问题
页面上有一组checkbox,映射到action中的 int[]。当不选中任何checkbox时出错。 环境: jdk 1.5 struts 2.0.11.2 xwork 2.0.5 在struts.xml中设置: Console出错信息:2009-02-26 15:43:44,203 ERROR [223][com.opensym原创 2009-02-27 15:08:00 · 5518 阅读 · 3 评论 -
struts2 的 action 为什么是可序列化的?
很久没上CSDN了,居然是因为密码曝光事件,才想起来上一次。惭愧,惭愧。刚刚想到一个问题,Strust2 的 Action 为什么定义成可序列化的?丢个问题在这里,抓时间研究下。原创 2011-12-26 23:32:32 · 2164 阅读 · 0 评论 -
Java学习笔记(二)ConcurrentHashMap
研究ConcurrentHashMap的文章很多,IBM developerWork原创 2014-05-09 20:53:19 · 716 阅读 · 0 评论 -
Android学习笔记 3 : Webview - Native和HTML5结合
要开发一个给公司内部使用的App,自然就会想到能不能用HTML5来做,几个好处1. 速度快,HTML5做界面快,企业内部使用,简明快捷,不求酷炫,客户端对不同设备的兼容性也容易处理2. 前后台接口简单,其实就没什么接口了,相当于客户端嵌一个browser3. 功能修改,代码全部在服务器端,客户端不需要升级4. 学习成本低由于App还需要能接受push消息,获取地理位置等功...原创 2015-01-27 16:05:59 · 5609 阅读 · 0 评论 -
Android学习笔记 2 : Activity的源代码 xml vs Java
开发环境配好了,按照向导创建Android project,step by step,就能建立一个App,可以在手机上测试了。看了一下project的目录结构,代码主要分 src 和 res 两部分src 目录下,java代码,跟平常的Java开发没什么不同res 目录下,除了图片等资源外,有一个layout,有一系列xml文件另外还有一个文件:AndroidManifest...原创 2015-01-26 14:04:53 · 775 阅读 · 0 评论 -
Android学习笔记 1 : 环境配置
2015-01-25 黄鹤曾经很顺利的一件事,现在很麻烦,因为android developer被墙了。。。1. 下载Eclipse for Java developer2. ADT下不了,还好3月份下载过一份ADT,解压,把"SDK Manger.exe" 和 sdk 目录给拷贝过来3. 运行"SDK Manager.exe",无法update。解决办法: ...原创 2015-01-25 11:39:21 · 715 阅读 · 0 评论 -
MySQL 5.7 安装(Windows10)
新电脑,做一个新项目,重新装开发环境。prod环境的数据库准备选用阿里云RDS,目前只支持到mysql 5.7,所以本地装这个版本。这次下载的是zip包,需要自己进行配置。1. 环境变量sysdm.cpl 进入控制面板变量名:MYSQL_HOME变量值:D:\mysql-5.7.25-winx64然后再Path中添加 %MYSQL_HOME%\bin;2...原创 2019-03-28 04:24:10 · 339 阅读 · 0 评论 -
SpringBoot 搭建web项目过程记录
起一个新项目,SpringMVC + mybatis + mysql,常规选项,用SpringBoot(2.1.3)来搭。官网用Spring Initializr创建代码框架后,写Controller,不起作用(用了jsp做模板文件)。原创 2019-03-28 05:43:46 · 564 阅读 · 0 评论 -
Java学习笔记(一)volatile与多线程
被问到Volatile,讲不清楚,回来好好补课。几个相关的知识要理解:多线程,内存模型,乱序优化,锁,原子性,可见性如果不定义为volatile,会发生什么主内存中的数据,例如var,会被缓存在寄存器中,进行read/write操作之后,在某个时间复制回内存。在多核CPU上运行多线程的程序,共享变量会因为多个线程,产生多个寄存器中的缓存,在一个线程中的修改,被写回内存之原创 2014-05-09 12:57:04 · 841 阅读 · 0 评论 -
MyBatis 一对多映射的一个小坑
MyBatis 一对多 映射时,必须显式指定 column 的名字,即使它和property的名字完全相同原创 2015-05-11 18:15:54 · 2576 阅读 · 0 评论 -
什么是Web 2.0 - 作为架构设计师的体会
看完 Tim OReilly 的 What is Web 2.0,很兴奋。Web 2.0是什么? 它首先是一种思想,而这思想的核心,则是对价值的分析和判断。从这个名词的产生就可以看到这一点:在互联网泡沫破灭的时候,大批大批的IT企业勒紧裤腰带过日子了,甚至消失了,但仍有一些企业逆流而上,蓬勃发展。为什么?真金不怕火炼。企业创造的价值就是金子,实实在在。Google为大量的原创 2008-04-20 14:10:00 · 892 阅读 · 0 评论 -
XMLHttpRequest 对象的使用
做了几个例子,几个要点:1、多浏览器兼容 a) 创建XMLHttpRequest对象的方式有所不同 b) objReq.send(null); -- 在IE中,可以写send(),但在firefox中会出错 2、同步和异步两种模式。同步的方式也是有其用处的,不必非异步不用。3、异步情况下,对request对象的状态、返回的http response的状态的判断原创 2008-04-29 11:19:00 · 649 阅读 · 0 评论 -
Prototpye 学习手记(1)
根据prototype的文档,第一部分,utility method1.$ $() 方法是prototype最基础的方法。 它相当于对document.getElementById()方法做了封装 语法如下: $(id | element) -> HTMLElement $((id | element)...) -> [HTMLElement...]...原创 2008-05-13 15:00:00 · 704 阅读 · 0 评论 -
prototype 学习手记(2)
对于客户端和服务器端的通讯,prototype提供了如下技术手段: Ajax.PeriodicalUpdater Ajax.Request Ajax.Responders Ajax.Response Ajax.Updater在调用过程中,prototype支持一些常用的option选型,和回调事件 Common options Common callbacks 除...原创 2008-05-13 20:24:00 · 850 阅读 · 0 评论 -
Struts2 之使用通配符简化配置
Struts配置文件:<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <action name="list*" clas原创 2009-01-22 14:23:00 · 4728 阅读 · 0 评论 -
Hibernate学习笔记 merge()方法--add对象
mergeadd操作背景: Account 和 Group 两个对象,设置了双向的many-to-many关系,lazy=true 不使用open session in view 模式 不使用hibernate二级缓存 考虑web应用场景,设置account和group关联时,只需要group和account的id就够了。 数据库中存在两个group: 1原创 2009-01-19 15:30:00 · 11134 阅读 · 4 评论 -
Hibernate学习笔记 merge()方法--update对象
背景: Account 和 Group 两个对象,设置了双向的many-to-many关系,lazy=true 不使用open session in view 模式 不使用hibernate二级缓存测试逻辑: 从数据库获取一个account对象(存在两个group: 1.administrators, 2.engineers) 修改这个对象的group信息为:1原创 2009-01-20 17:18:00 · 7868 阅读 · 5 评论 -
Hibernate学习笔记 merge()方法--update 之补充
补充1: 在DAO中,根据po的id先查询得到一个新的account对象,然后update po,(po必须是还没有被关联到session) Account account = getById(po.getId()); getHibernateTemplate().update(po); 输出结果: 在调用update(po)这一行抛出Exception:org.springf原创 2009-01-20 17:29:00 · 2306 阅读 · 0 评论 -
Hibernate Open-Session-In-View Pattern
用hibernate,继续写代码来处理关联关系很繁,考虑用关联映射。一用就是臭名昭著的 LazyInitializationException,于是参考hibernate的best practice使用Open-Session-In-View方式。 http://www.jroller.com/cardsharp/entry/open_session_in_view_pattern原创 2009-02-10 14:07:00 · 1548 阅读 · 2 评论 -
开始学习Web2.0
有段时间没沉下心来认真看一看技术了,感觉就像汽车人没有了能量块。于是决定静下心来好好看看。从技术的发展来看,从C/S走到了B/S,从Web 1.0 走到了Web 2.0。感觉,Web 2.0再往下,将不再仅仅是Web,客户端应当会有更多的表现形式。Rich Client技术是值得关注的。Server Side端,从EJB 1.0, 2.0, 2.1 3.0,Spring,Spring 2,MV原创 2008-04-10 12:11:00 · 780 阅读 · 0 评论