数据库范式总结

数据库范式总结 数据库表结构设计时,遵从一定的范式(NF,Normal Form)可以减少数据冗余和操作异常。

第一范式(1NF)

1NF指的是每个属性值都是不可再分的。

满足1NF的关系被称为规范化的关系,1NF也是关系模式应具备的最起码的条件。

比如有这样一张表user的两列:

  • name
  • phone_number

phone_number这一列只存储一个电话号码,如果一条数据同时存

[......]阅读全文

分享到:

关于方校长一条微博的陈述

谈论这个话题仅仅是因为最近北邮方校长的一条微博,引来了两万多条转发。在此我想谈论一些事实,给并且不做太多主观评定;我也想援引一些资源链接(大部分援引自维基百科),帮助不了解情况的人明白其中发生了什么:

关于方校长一条微博的陈述

其实,微博的内容已经不重要了,欢乐的是转发里的评论记录,当然,新浪“适时”地把查看转发的功能给关闭了:

关于方校长一条微博的陈述 

但是,依然可以从手机客户端上看到很多转发的记录:

关于方校长一条微博的陈述

还有这两张截图:

关于方校长一条微博的陈述 关于方校长一条微博的陈述

[......]阅读全文

分享到:

梅森素数

梅森素数 古希腊数学家欧几里德就已证明素数有无穷多个,并提出一些素数可写成“2P-1”(其中指数P也是素数)的形式,其中17世纪法国数学家、法兰西科学院奠基人马林·梅森(Martin Mersenne)是其中成果较为卓著的一位,因此数学界将“2P-1”型的素数称为“梅森素数”。

1772年,欧拉在双目失明的情况下,靠心算证明了231-1(即2147483647)是第8个梅森素数,这个记录一百多年内都没有人

[......]阅读全文

分享到:

进阶过程:程序员做项目的独立性

进阶过程:程序员做项目的独立性 第一阶段:编码机器

这是最低级的阶段,程序员拿到详细设计文档,上面连许多方法接口都定义好了。重构一些代码,写一些实现,调用一些既定的API,然后花许多时间在各种各样的场景测试上面。从做的工作上看,这都不能算程序员,最多,只是编码技巧卓越的码农而已。因为它几乎扼杀了一切创造力,但是这很常见,比如在一些对日外包公司,就是如此。

第二阶段:独立的实现者

程序员得到的只是粗略的设计文档,也许注明了外部接

[......]阅读全文

分享到:

兴趣的力量

兴趣的力量 一月底我就到家了,休假准备过春节。正好有闲暇的时间可以来思考许多事情。我去理发的时候,理发师和我热烈地聊起来。她说她的孩子在读高一,文科成绩比理科好多了,文理分科的时候,孩子很有主见,执着地要选择理科;但是父母觉得他更适合学文。我和理发师说,就怕没有想法。既然孩子那么有主见,有那么强烈的倾向,这是一件好事,你不妨听听他的想法,为什么不支持他?退一步说,就算他在文科方面更具备天赋,现在你干涉了他坚

[......]阅读全文

分享到:

几种华丽无比的开发方式

几种华丽无比的开发方式 不要被我的标题骗了。我可不是来宣扬什么模型驱动开发,或者什么测试驱动开发的,那些都弱爆了。今天我要说的,是几种看起来激动人心、华丽无比,但是可以让程序员们痛苦不堪的开发方式,特别适合那些热衷于折磨虐待程序员的项目经理和产品经理们。当然,掌握以后,偷偷用就好了,请不要来感谢我。

 

进度驱动开发(SDD,Schedule Driven Development)

这是在国内最为流行的开发方

[......]阅读全文

分享到:

程序员,都去写一写前端代码吧

程序员,都去写一写前端代码吧 你可以认为我是一个极端的人,就像有许多人专注于自己的领域而不屑于其它“肤浅”的工作范畴一样。比如我见过不少认为做portal没有技术含量的判定,做工程都是充满苦逼行为的言论,最近则还有那些“大数据”崇拜者的疯狂吐槽……我的极端则有些不同,我的极端在于我认为绝大多数优秀的程序员,都要尝试多方面的事情。并不只有底层开发或者机

[......]阅读全文

分享到:

51CTO的访谈

51CTO的访谈 这篇51CTO对我的访谈是关于找工作过程相关的体会,文章有过整理改动。无论从年纪还是从资历来说,其实我并不能算是一个很有资格的受访者。当然,我还是希望可以帮到那些软件行业涉足未深和忙于找工作的朋友。邮件对话最终整理成51CTO的这篇文章

[51CTO]:面试中较为偏重的一方面就是询问经历这一环节,您觉得,哪些工作经历或是学习经历可以给面试者的印象“加分”。

[四火]:首先, 我认为经历不能

[......]阅读全文

分享到:

用JavaScript截图

用JavaScript截图 使用JavaScript截图,这里我要推荐两款开源组件:一个是Canvas2Image,它可以将Canvas绘图编程PNG/JPEG/BMP的图像;但是光有它还不够,我们需要给任意DOM(至少是绝大部分)截图,这就需要html2canvas,它可以将DOM对象转换成一个canvas对象。两者的功能结合起来,就可以把页面上的DOM截图成PNG或者JPEG图像了,很酷。

Canvas2Image

[......]阅读全文

分享到:

Bootstrap: New Net-volution

Bootstrap: New Net volution A lot of companies developed their own mature front-end components or frameworks since several years ago, while only two twitters made it popular all around the world. Just think of it why. I don'

[......]阅读全文

分享到:

2012年回顾和2013年计划

2012年回顾和2013年计划 2012年,我来到北京Amazon工作,接受互联网的新挑战,感受不一样的企业文化。在这个过程中,长了一些见识,结识了一大帮人,有一部分观念发生了改变。

  1. 终于得以进入互联网行业,同时,能够在北京这个软件氛围浓厚的大城市工作,增长见识。而且,学到了一些新技术,这也是我当初选择新挑战的一个原因。
  2. 从民企到外企,两家企业文化鲜明的公司,两种特异的文化风格,给我带来认识上和眼界上的冲击是巨大的。在其中,

[......]阅读全文

分享到:

多面手程序员

多面手程序员 先来看看这样的场景:

  • “没有美工做的高保真页面,我怎么来开发呢?我没有审美,也不会用PS作图啊。”
  • “正交测试这种技巧,是测试工程师应该掌握的,开发不需要了解。”
  • “目前进度的瓶颈在产品经理那里,他还没有给我澄清需求。难道要一个写代码的去给客户整理需求么?”
  • “我是C++程序员,我是做底层开发的啊,这种页面样式的问题我怎么可能懂?”
  • “这是维优人员关注的线上数据,他应该把日志、错误现象全部备齐

[......]阅读全文

分享到:

JQuery表格插件介绍:Flexigrid和DataTables

JQuery表格插件介绍:Flexigrid和DataTables JQuery的表格插件有很多。FlexigridDataTables是我最近使用的,并且功能比较强大,在这里介绍一下。如果你在寻找前端绘制表格的插件,可以考虑它们。

Flexigrid

官方Flexigrid的特性展示:

  • 列宽度可拖拽调整
  • 高度和宽度可拖拽调整
  • 列头可排序
  • 主题支持
  • 支持XML/JSON格式的Ajax数据源
  • 支持分页
  • 可以显示/隐藏列
  • 表格搜索功能
  • JavaScript AP

[......]阅读全文

分享到:

Flot介绍

Flot介绍 最近在项目里面要用到JavaScript来绘制图表,JQuery的插件Flot是一个不错的选择。和我之前介绍过的D3不同,它的唯一目的就是用来绘制曲线图的,即便是它的不同插件的功能,也基本上都在这个范畴之内。

Flot采用Canvas绘制图形(Web总共就有三种常见方式来绘制图形,不了解的同学请看这篇文章),在数据量非常大的时候,你需要考虑浏览器端的性能问题。顺便提一句,D3是采用SVG来绘制图

[......]阅读全文

分享到:

我眼中的工程师文化

我眼中的工程师文化 现在HR和猎头也懂得,挖程序员不能光讲钱和项目了,多少号称工程师文化的公司花开北京上海,可是到底什么是“工程师文化”?谁能给一个准确的定义?

有人说,什么文化就是什么说了算的意思,工程师文化就是工程师说了算。这未免也太肤浅了。也有人说,工程师文化就是自由上下班、松散管理,做喜欢的项目。我想这依然是不恰当的,这些人只说出了工程师文化给工程师带来的权利,更何况这种对权利的认

[......]阅读全文

分享到:

Java的日期API真烂

Java的日期API真烂 记得在我刚学Java的时候,真是搞不清楚Date和Calendar这两个类,后来我渐渐知道,原来不能全怪我啊,Java日期API之烂是公认的(不妨参见这篇文章,Tiago Fernandez做过一个投票,就是要选举最烂的Java API,结果Java日期API排行第二,仅次于臭名远扬的EJB2,嘿嘿)。

蛋疼的java.sql.Date

只有Date和Calendar搞定一切吗?那还好啊。当

[......]阅读全文

分享到:

观点的碰撞

观点的碰撞 几周前我写了一篇文章,《对几个软件开发传统观点的质疑和反驳》,微博上、独立域名的博客上,还有ITEye网站上,都有一些评论的朋友给了我许多事实和观点。我觉得这些评论,似乎都有理由,无所谓对错,这些是有价值和有意义的文字。相较于那些“顶”、“支持”、“SB”、“沙发”……纯灌

[......]阅读全文

分享到:

《Rework》语句摘录

《Rework》语句摘录 《Rework》是让我有所感触的一本书,推荐阅读。作者是37signals的创立人Jason Fried和DHH(没错,此人正是RoR的作者)。37signals有两本书,除了这本,还有一本叫做《Getting Real》。

整本书都在做37signals价值观的宣扬,37signals是一家颇为特别的公司,小,但是非常酷,有一些想法令人叫绝。他们做的东西,用他们自己的话来说叫做“web-bas

[......]阅读全文

分享到:

页面模板的重构

页面模板的重构 最近在工作中重构一个老系统,烂的地方有很多,但是对于后台的页面模板(我指的是JSP、FreeMarker、Velocity这样的后台模板,JavaScript前端模板不在此讨论范围内),却是我要说的部分,这似乎是一个被人遗忘的小角落。你可以很轻易地找到怎样重构Java类和方法的材料,你的Java代码可以写得很优雅;去搜搜“重构”,到处是怎样重构你的Java代码、C++代码,我们也能找到许多前端设

[......]阅读全文

分享到:

谈谈盗版软件问题

谈谈盗版软件问题 一直很想谈谈这个话题,就从程序员的角度。只是思路一直很混乱,感觉要说的点很多,却没有任何条理。我相信你和我一样,对盗版软件有着自己的看法。自计算机普及以来,盗版和反盗版的话题就从未停止过。

我在这里并不想过多地做出非黑即白的表态,我只想从程序员的视角去看看盗版给程序员的工作和生活、给软件行业带来了怎样的影响。对于盗版的态度,每个人心中都会有答案。在这个问题上,我们需要一些公正和客观的立场,所谓的

[......]阅读全文

分享到:

Preview on Feedage: