工作
yananay
这个作者很懒,什么都没留下…
展开
-
分布式数据库学习的总结
算是最近对分布式数据库学习的总结吧(仅限于关系型数据库)。什么时候需要考虑分布式数据库 虽然分布式数据库看起来是一个很酷炫,而且是可以解决一切大量存储,读取的完美解决方案,但是不可避免的,在实现方式上要比单机数据库麻烦一些。那么什么时候需要考虑分布式数据库呢? 根据以往的经验,如果你的系统/应用比以下规模要小,那基本不用考虑分布式数据库。 ■企业级方面 个人接触过的企业级应用,其作为数...2016-04-03 17:27:12 · 863 阅读 · 0 评论 -
M システム - 笔记(4) -- 客户合作胜过合同谈判
“客户合作胜过合同谈判”--这是敏捷宣言里的一句话,但是现在却成了我们的致命问题。针对项目的特点,我们采取的迭代的开发方式,可是我们确遇到了失败:虽然我们告诉了客户公开网址的信息,可是客户从来没有访问过。更严重的问题是客户那边没有人专门负责这个项目,这导致周一到周三,发送过的QA没有任何的回复。一直到周四,才有些回复。所以现在所说的迭代没有任何意义:客户不去查看结果,迭代个什么劲?...原创 2008-12-07 22:54:17 · 435 阅读 · 0 评论 -
四色原型图和类图的简单总结
四色原型图这个东西无需再阐述了,现成的资源一大堆。google 排在首位的当属 jdon 网站了,俺也是从 jdon 上学习四色原型图的。不过,尽管如此,个人觉得 jdon 上的资料并非完全准确,关于这点我就没有资格去评论了,大家可以在实践中体会。有点跑题。那么我们为什么要使用四色原型图呢?有什么好处呢?我想好处之一就是简单。四个颜色:红,黄,绿,蓝,多简单。好处之二就是纠正我...2008-12-04 11:21:44 · 1136 阅读 · 0 评论 -
抱怨,抱怨什么呀!
“这个项目真是太烂了!客户的需求太变态了!”“客户真难对付,主意总是变来变去!”“干了几年,还是给我这么点钱,我跳!”“这样的东西怎么做啊,太难了!换个简单的实现方式吧!”等等,诸如此类的抱怨,自己说过很多,也听过很多。可是,抱怨有什么用啊,抱怨什么呀!如果问你一个问题:怎么成为优秀的员工?大家都会回答:客户就是上帝;满足客户的一切要求等等。可是,说到“客户就是上帝...2009-06-03 12:06:11 · 156 阅读 · 0 评论 -
四色原型图的思考
学习四色原型图有一段时间了,磕磕碰碰一路走来,更有理解严重偏差的时候,不过近日总算有所领悟了,把一些想法写在这里,供大家共同讨论。不过说到四色原型图,大家更愿意一起比较的是“领域驱动设计”,简称 DDD,因此这个讨论也就把 DDD 掺合在一起了。(关于四色原型图的信息,大家可以自行google,有一个英文版的pdf文件。)1、Moment-interval这个图被作...2009-06-01 16:07:07 · 222 阅读 · 0 评论 -
M システム - 笔记(3) -- 计划不如变化快
本来这周有很多的计划,可是第一天就被打乱了。星期一日本是节日休息,结果发送的QA没有返回来,我们干什么呢?总不能干坐着吧?和同事张商量了一下,我们决定做核心业务之外的业务,例如一些基本表的管理,用户管理等等。这样看来,原本定在本周的计划几乎无法实现了,所以必须修改计划。之后的几天,用户的QA返回了一些,不过对于核心的业务还是没有讲清楚,所以我们一边琢磨式样,一边继续做边缘业务的模块...原创 2008-11-28 22:14:50 · 182 阅读 · 0 评论 -
当在IE中遭遇thead
参考下面的这段html:[code="html"] h1 h2 11 12 21 22 [/code]那么,这个table有多少行呢?当然是两行。可是,可是,如果你使用 document.getElementById(...2008-05-23 17:58:46 · 179 阅读 · 0 评论 -
如何判断字符串中含有日文字符
最近做的东西有这么一个需要:判断一个字符串中是否含有日文字符。最直观的想法就是使用正则表达式,因此上网一搜,找到了这个 utf-8 对应的日文字符列表:http://ash.jp/code/unitbl21.htm 。满心欢喜,按照列表,用utf-16指定的区间,再用正则表达式方式写了一个判断方法。测试了几个单词,正确。不过测试了几个汉字,发现不对。仔细看了看那个表,发现 字母和假...2009-04-24 13:15:32 · 2509 阅读 · 0 评论 -
DWR中提交Form的问题
DWR中提交form的时候,数据都封装在了Map结构中。这样当提交的内容是数组的时候,就会产生问题。 例如当提交这样的内容的时候,就无法得到正确的数据:<input type=checkbox name="c1"><input type=checkbox name="c1"><input type=checkbox name="c1"> 因此用了一个..2008-05-19 13:11:34 · 166 阅读 · 0 评论 -
M システム - 笔记(2) -- 说到不如做到
[b]星期一 说到不如做到[/b]新的一周开始了,又要面对这个项目了。上个周末,和领导商谈了一下,部分整理的资料已经发给客户了,这周我们做什么?按照领导的意思,应该还是看文档,分析问题。不过我现在最关心的就是人的问题。目前有2个人选,且称呼他们为 A 君 和 B 君。A君的经验丰富,各种语言,各种项目统统搞过,唯一遗憾的是没搞过 php,而且日语也不错。B君呢,php经验丰富,具...原创 2008-11-21 17:00:15 · 131 阅读 · 0 评论 -
M システム - 笔记(1)
最近公司刚刚接触到了一个比较大的客户,在对日外包如此严峻的形势下,这样的客户那可是“相当重要的”。经过2-3次的接触、交流,对方同意与我们进行合作了。不过按照日本人一向的习惯,第一次合作都是取得相互的信任的。第一次合作交给我们的是一个遗留系统。怎么个遗留法呢?这个系统06年交给一个公司做,结果做到一定程度,双方出现问题,合作中止了。之后,这个系统又交给第二个公司做,也是做到一定程度,第二个...原创 2008-11-14 17:11:46 · 137 阅读 · 0 评论 -
让校验工作更加轻松
用户输入校验是无法避免的工作。一个页面输入,我们要校验一些内容不能为空,一些内容长度必须满足条件,一些内容必须是整型---虽然没啥技术含量,但是还得做,而且还得做仔细了。那么能不能让这部分的工作量减少一点?光说不练怎么行?下面就做做看!看看下面这个类:[code="java"]public class TestForm { private String userNam...2008-11-06 10:26:35 · 140 阅读 · 0 评论 -
让web程序也能自动安装
不知道这个内容老不老,不过google后发现完整的讲这个内容的文章特别少,有的也仅仅是简略地说使用了 installshield 等工具,细节地方没有涉及。为了让大伙以后不耽误时间,把这个资料整理出来,希望能有所帮助。为了减少阅读的疑惑,考虑到各个层次,所以尽量说的罗索点,见谅见谅 :wink: 。1、[b]要求[/b]我们的web程序使用 tomcat 作为应用服务器,数...2008-11-04 11:26:28 · 106 阅读 · 0 评论 -
从客户的角度看看节约成本
这个是给我们领导提交的文档,希望同在小公司挣扎的朋友能够一起交流。-------------------------正文------------------------------------目前我们的客户主要分为两种:1、NEC之类的 这种大客户。2、许许多多的日本和国内的小客户。 对于第一种客户,我们只能遵从对方的标准,按照对方的规则。而且...2008-10-27 15:37:59 · 741 阅读 · 0 评论 -
M システム - 笔记(5) -- 让我们重新开始
正如标题所示,我想每个人都知道其中的意思了,所以直到今天,我才有点时间来继续写这个笔记 :( 上周四,客户终于来了。寒暄过后,我们开始给他们演示完成的部分。虽然在这之前,我们已经反复计划了会议的内容;虽然在这之前,我们已经反复推测了客户的反应;虽然在这之前,我们已经反复安排了演示的步骤;可是,在演示时,一切都出乎我们的预料。每一个画面,客户都提出了意见,如果只是简单...原创 2008-12-16 17:06:11 · 104 阅读 · 0 评论 -
Eclipse的编译器和Sun的javac还真不太一样
[color=red]之前写的 jdk 确实不准确,准确的说法应该是编译器, jdk 的概念太大, 这个帖子我主要想说的也只是编译器的差别,所以改了过来.[/color]------------------- 以下是原文内容,错误文字已经修正 --------------------众所周知,Eclipse是带有自己的编译器的,而且我们一般都是使用这个默认自带的编译器去...2009-01-19 17:57:42 · 412 阅读 · 0 评论 -
自荐两个东西:新浪微博自动发消息和小千的内衣厨
老婆最近开始创业了,在淘宝开了一个内衣的网店。开服装之类的店最重要的是什么?第一是店主的眼光,第二还是店主的眼光。老婆的眼光还不错,在朋友圈内稍有赞誉,我相信她进货的质量,相信她会干得不错。店铺地址:http://xqneiyi.taobao.com做为码农的我,自然要尽自己的一份力。由于店铺刚刚开始,没有多少人知道。淘宝上的商家千千万万,想让客户找到你,那是难上加难。这时就需要网...2014-04-27 22:10:34 · 130 阅读 · 0 评论 -
离岸开发-我们需要为之坚持的原则
对于离岸开发来说,这样一种认识已经贯穿于onshore和offshore之间了:onshore永远是决策者,offshore一定要听onshore的。对于商业利益来说,这无可厚非。因为如果onshore不把活给你做,offshore就要失业了。对于offshore来说,onshore真的就好像客户,好像上帝一样。不管怎么样,一定要让onshore满意。尽量满足onshore的要求。...2014-09-01 22:03:36 · 566 阅读 · 0 评论 -
离岸开发-沟通技巧与向上级报告
这篇主要来自于最近的感受。切实的感受到,对于离岸开发的形式来说,沟通的技巧是非常重要的。但是,当自己无法沟通,或者无法去说服对方,沟通无效时,一定要向上级报告。我们的队伍最近出了一个问题。有一个小组,一共3个人,有2个人离职了。这对于一个小组来说,是一个非常大的人事变动了。对于一个维护项目,突然发生了67%的离职率,那就不是一件小事了。无论是onshore还是offshore,对这...2014-08-09 12:19:48 · 245 阅读 · 0 评论 -
HTML5能为我们带来什么?
在移动开发的热潮面前,除了原生的APP程序,HTML5已经成为了必谈的技术。似乎有了HTML5,就掌握了移动开发的关键一样。最近正好有一个应用要做一个手机版本,也学习了一些HTML5的知识。总结一下,分享给和我一样想了解HTML5神秘面纱的朋友们。1. HTML5是什么? HTML5并不是一门编程语言,也不是一个工具,它只是HTML的升级版本。简单的说,HTML5其实就是...2015-02-03 22:46:42 · 191 阅读 · 0 评论 -
java8 lambda的并发处理
Java8的发布已经有4个月了,网上关于java8的特性的文章也有很多。其中最引人注意的当然是lambda表达式了。可惜很多文章都是浅尝辄止,或者都是复制粘贴。这里就lambda一个方面说说自己的想法。1、有一篇文章说,java8开创了lambda表达式。这真的是误人子弟。 大家可以参考这本书:《计算机程序的构造和解释》,里面有关于lambda表达式的详细说明。在函数式编程领域,...2014-07-15 22:51:37 · 1274 阅读 · 0 评论 -
记一次DB2死锁的解决过程
生产环境里使用的数据库是DB2。但是最近频繁出现一个奇怪的死锁现象:某一个select sql 语句总是会出现死锁。按照以往的经验,通常都是update/delete之类的更新sql语句会出现死锁的问题。而且这个 select sql 语句是一个很普通的sql,没有任何大数据量的处理。分析这个死锁,有很多难以处理的地方。1、因为生产环境数据量大,我们无法把生产环境中关联表的数据导入...2014-12-25 21:58:17 · 2033 阅读 · 0 评论 -
我的设想-关于数列的推算
对于一个给定的数列,如 1,3,5,7,9.....我们可以用一个简洁的公式来描述它: y = x*2 +1, x=0,1,2,3,4,......下面我们来做这样一个假设:如果我们把 1,3,5,7,9.....很大很大 这样一个数列,通过网络传递另一个人,不管压缩的效率有多高,我们可以肯定,压缩文件达到10G,100G的可能性是存在的---只要数列足够大。但是,如果...2014-05-26 22:40:38 · 95 阅读 · 0 评论 -
hash一点笔记
1、关于离散后可逆性我们都知道hash的一个效果就是不可逆,也就是你无法根据散列后的结果,推导出散列前的数据。我想这可以用一个公式来理解。假如,hash是由一个函数 h 计算出来的,那么如果 hash = h(x) 的情况,应该说原来的字符串是可以被反推导出来的。因为这是一个关于 x 的一元一次方程。例如:字符串 str = abcdefhash 方法 = str ...2011-03-18 22:58:36 · 89 阅读 · 0 评论 -
推荐一个网站用的组件:SmallLight
做网站的,避免不了图片的缩放显示问题。例如一个图片,可能会以不同的尺寸显示出来。通常的做法是在后台处理的图片的尺寸,然后显示给用户。不过,今天要推荐一个更好的方法,省时,省力,它就是“SmallLight”。项目地址:http://code.google.com/p/smalllight/简单介绍一下:它是一个 Apache 的 module,编译后,可以在 Apache ...2011-03-05 22:36:33 · 140 阅读 · 0 评论 -
当length为2^n, m & (length-1) 相当于 m % length 的证明
我们都知道在 java 的 hashmap 实现中,对于一个元素在索引数组中位置的确定,使用的方法是: m & (length - 1)。可是,我们又知道,通常根据hashcode确定元素在数组中的位置时,使用取模的方式,也就是m % length。二者哪个更好?结论就是当 length = 2^n 的时候,二者的结果是一样的,而位运算明显会快一些。那么下面就是对于 当le...2011-02-19 02:03:40 · 429 阅读 · 0 评论 -
近来は忙しい
近来新しいプロジェクトに入りました。このプロジェクトは引継作業のプロジェクトですので、初期の仕事はとても忙しいです。私は前に引継の作業がありません、今回引継の作業を触れて、経験を取得できて、とてもうれしいと思っています。でも、今の引継のフローはよいかよくないかについて、今私はいつも深く思っています。引継の作業の途中に収穫があればぜっひ共有したいと思っています。下記はいくつかの質問で...2011-05-24 22:50:51 · 110 阅读 · 0 评论 -
新しいプロジェクトに入る
本月まで私はこのプロジェクトからリリースするところです。来月新しいプロジェクトに入ります。現在のプロジェクトの同僚を離れるとき、離れないようと思っています。現在のチームの雰囲気はよいです、同僚は優しい人です、残業があっても楽しいだと思われます。じゃ、来月のプロジェクトと考えますよ。新しいプロジェクトはとても難しいそうです、今プロジェクト中の同僚はいつも残業がありました、いつも疲れた...2011-04-21 21:15:20 · 141 阅读 · 0 评论 -
mysql, 一个小点引出的问题
当我们连接 MySql 的时候,都会使用这样的 url: [quote]jdbc:mysql://localhost:3306/dbname[/quote]不过有的人也说,为了防止 Mysql 乱码, 应该使用这样的 url: [quote]jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf-...2009-02-01 23:25:01 · 127 阅读 · 0 评论 -
面向资源的开发?
原因当一个人做了几年web项目后,那么一定会对web开发有一些想法,一定会找找是不是有更好的方法来进行开发,来避免加班,来避免过多的新人培训。 最近帮着另外一个组做一个web项目,使用的是structs。于是java开发web应用的噩梦再次上演了。倒不是说应用有多难,但是对于那些众多的structs-config.xml. applicaitoncontext.xml, web.xml已经...2008-04-21 14:59:35 · 179 阅读 · 0 评论 -
测试驱动?很傻很天真
我一直认为测试驱动开发可以保证质量,如果要保证质量也必须实行测试驱动开发。我也确实是这么做的,但是就在上个周末,我辛苦“经营”的测试驱动的项目已经倒下了。 就是在上个周五的下午,客户突然说要求改动,好家伙,这个改动实在是太大了,保守的估计也需要3-5天吧。可是客户竟然要求当天晚上必须全部修改完毕! 我简直要崩溃了,我怀疑客户到底是用什么部位在进行思考,看着新的需求,脑袋一团乱,怎么可能一个下午作完...2008-03-24 16:58:29 · 236 阅读 · 0 评论 -
终于看完了《领域驱动设计》
历时2个月,断断续续终于看完了《领域驱动设计》。给我的感觉就是我还需要再看一遍。这本书讲授了复杂软件开发的解决方法,里面完全是Evans的10多年经验的教授,没有一丁点的虚无的理论。所以,书中的每一句话都有深刻的含义,经常是一个段落,就可以让人思考很长时间。整本书,Evans采用的全部是实际中的例子,尤其是在最后,Evans自己也对这些例子进行了总结,有成功的,有中途夭折的,也有完全失败...2007-08-13 22:26:00 · 1552 阅读 · 0 评论 -
坚持与顽固只是一步之差
曾经在刚刚学习java中的设计的时候,我知道了一个网站叫做Jdon.com 。这个网站有完整的模式文章,虽然内容一般,但是很详细,很系统。也就是从这个网站,我知道了Jdon Framework,并且从网站的论坛中,学习了很多的东西。不过时至今日,当我好久没有去Jdon,重新去看Jdon的时候,突然发现Jdon说讨论的问题仍然是几年前的问题,但是,当时我所不理解的东西,现在去看竟然全都理解了...2007-08-11 23:55:47 · 176 阅读 · 0 评论 -
适当选择尺度
在 Java 开发中,我们对配置文件 .properties 应该是非常熟悉,我们经常会把错误信息,还有一些label信息放到配置文件里,然后在程序里去读取。例如程序中的代码如下:java 代码 form.setErrorMessage(xUtil.getLabel(XConstants.login_title), xUtil...2007-08-06 23:57:00 · 145 阅读 · 0 评论 -
Selenium 使用介绍
Selenium 是 thoughtworks公司的一个集成测试的强大工具。最近参与了一个系统移植的项目,正好用到这个工具,把一些使用心得分享给大家,希望大家能多多使用这样的强大的,免费的工具,来保证我们的质量。Selenium 的文档现存的不少,不过都太简单了。使用Selenium的时候,我更多的是直接去看API文档,好在API不错,一个一个看,就能找到所需要的 :-) 官方网站:...2007-07-31 12:43:00 · 83 阅读 · 0 评论 -
四色模型图新解
[size=18][color=darkred]意料之中,这个帖子被隐藏了。可惜的是帖子被隐藏了,竟然连blog也不能回复了。我相信看我的文档的人,都没注意到我用了“模型”,而不是“原型”,不过我也相信大部分人根本没区分这两点。既然是模型,当然会比原型更加接近设计,这也是我的原意,缩小设计和实现之间的跨度。oz6同志认为这就是color-uml,不过他是否忘记了,在四色原型出现...2007-07-19 18:02:00 · 498 阅读 · 0 评论 -
把数据库扔在一边!(请直接下载我最后回复中的详细文档和源代码吧)
恐怕我认识的95%的搞软件的人,在开发一个项目的时候,都会费好大力气去做一个叫做“数据库”文档的东西。里面使用了大量的表格,文字,等等,告诉用户:你看,我已经把系统的50%设计出来了!可是,这真的是正确的吗?如果是正确的,为什么我发现90%的情况,这个文档竟然没有被同步更新?或者直到项目 release 阶段,才会去最后更新一次这个文档?我终于发现了答案:项目的设计阶段,把数据库扔在一边!...2007-06-27 23:08:40 · 102 阅读 · 0 评论 -
jndi step by step (6) 高级应用之 环境属性
1、环境属性 在之前的文档里,我们已经学会如何去初始化一个内容上下文,例如:java 代码 Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); en...2007-06-27 16:00:00 · 159 阅读 · 0 评论 -
jndi step by step (5) 高级应用之Name
1、jndi 高级应用之 Name 1.1、什么是 Name? 这之前的文档中,我们所用的例子里,对象的名字都是 java.lang.String 类型的,也就是字符串类型。 在这个文档里,我们则会介绍一些其他的对象名字类型,如 Name,以及他们的使用方法。 我们首先会讲讲什么是字符串的名字和结构化的名字,以及它们的存在的必要性。 然后,我们会介...2007-06-26 21:49:55 · 132 阅读 · 0 评论 -
jndi step by step (4) 目录服务操作
1、目录服务的操作 我们会用LDAP作为例子来讲解目录服务的操作。与命名服务不同,目录服务的内容上下文的初始化方式需要 改变:java 代码 // Set up the environment for creating the initial context Hashtable env = new Hashtable(); env.p...2007-06-25 16:42:00 · 243 阅读 · 0 评论