自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(630)
  • 资源 (1)
  • 收藏
  • 关注

不要让开源架构代替我们的设计

现在开源的各种framework非常的多。干什么的都有。但是,是不是我们使用了这些开源framework就能够一劳永逸的解决我们的设计问题呢?我觉得答案是否定的。 如果没有自己对设计和系统的理解,框架滥用就在所难免。比如说hibernate(以下简称HI),它是一个对象持久框架,他的目的非常的简单,就是提供对象持久化的手段。但是在日常的工作中,我经常看见很多人把HI用的非常的复杂,希望...

2013-07-11 11:17:17 160

语言设计中的鸭子类型风格

在动态语言的世界里一直流传着一种叫做鸭子类型的风格,其来自谚语:“如果行鸭子一样走路,像鸭子一样呱呱叫,那它就是一只鸭子”。 从鸭子类型,我们可以联想到它的推导,并不在乎类型的真正实体,只要他的行为有鸭子的特性,那么我们就可以把它当做一只鸭子来看到。在动态语言设计中,可以解释为无论一个对象是什么类型的,只要它具有某类型的行为(方法),则它就是这一类型的实例,而不在于它是否显示的实现或者...

2013-07-02 14:38:37 198

谈 javascript 变量声明

这篇文章还是对基础的复习,对面试经历的一个总结。之前的面试中遇到过一道面试题var a = 10;(function () { console.log(a); var a = 20;})()短短 5 行代码 console.log(a) 的结果是什么?如果把 var a = 20; 和 console.log(a) 语句顺序对调呢?这道...

2013-06-14 10:35:42 155

[译]Javascript 作用域和变量提升

下面的程序是什么结果? var foo = 1;  function bar() {      if (!foo) {          var foo = 10;      }      alert(foo);  }  bar();  结果是10; 那么下面这个呢? var a = 1;  func...

2013-06-13 13:16:52 152

PHP 最佳实践(译)——PHP 容易混淆技术的实用指南

在网上看到一篇文章,PHP Best Practices-A short, practical guide for common and confusing PHP tasks,感谢 @夏永锋 提供了文章的翻译。 本文托管在 GitHub 上,有一些参考文献和深入阅读内容还没有找到中文连接,如果您感兴趣的话,可以用 Pull Request 的方式参与翻译。 ---------...

2013-06-09 11:11:22 166

javascript:可以运行的噪音

为我的博客做了一个很有 geek 风格的关于页面。运行下面 javascript 代码,可以看到我的信息。 (+[[]+(1<<1<<1<<1)+(1^1<<1)+(1<<1>>1)+(-~1<<1<<1)+(1.1>>1.1)+(11&g

2013-06-01 09:34:35 186

高效程序员的秘密之——正则表达式

周末在知乎遇到一个问题,“正则表达式的应用场景”,由于手边没有电脑,于是用手机作答。好不容易码了几百字,结果不小心点击了一个超链接,悲剧了。于是周一上班第一件事儿就是继续作答。 正则表达式的处理对象是字符串,也就是我们经常说到的文本。主要体现在 3 个操作:验证查找替换我经常使用正则表达式的地方:1. 写作不管是写博客,还是写书,写项目文档,面对的都是文字(文本)。...

2013-05-27 14:43:53 186

程序员在 5 月 20 日这天有什么特别的表白方式?

昨天在知乎回答了一个问题,程序员在 5 月 20 日这天有什么特别的表白方式?,特来 iteye 分享。---------------------------------------------------表白嘛,当然 69 了。呵呵,先不要邪恶。99669999996669999996699666699666999966699666699 99699999999699999999...

2013-05-21 08:52:02 217

【layoutit!】基于 bootstrap 实现可视化布局工具

Layout It 是一个在线工具,它可以简单而又快速搭建 Bootstrap 响应式布局,操作基本是使用拖动方式来完成,很简单哦,而元素都是基于Bootstrap框架集成的,所以这工具很适合网页设计师和前端开发人员使用,快捷方便,好吧,接下来大家一起试试这个Layout It布局工具。新增功能html5 自动保存开启元素立即编辑模式增加撤销重做跟踪操作功能加入 ck...

2013-05-20 11:23:04 443

薪资的意义

一个 35 岁左右的白骨精来找我们,她需要在两个工作里面做选择。 一个是年薪 30 万的制片总监一个是年薪 10 万的市场策划 她喜欢后者的节奏与内容,却被前面的工资吸引。我们仔细算了一下她的工作时间: 前者是每天加班,节假日无休赶节目,每天工作近 15 个小时,后者则是 8 小时规律的生活。 这样算下来,两者的时薪差不多,只是那份“好工...

2013-05-17 11:30:52 214

回复:浮点数0.57 0.58 造出的坑爹问题

今天看到 vb2005xu 提到了一个问题  浮点数0.57 0.58 造出的坑爹问题。 parseInt(0.59*100) // 59parseInt(0.58*100) // 57parseInt(0.57*100) // 56parseInt(0.56*100) // 56 为什么会这样呢?随后又举了 PHP 的例子,结果还是一样的结果,只是函数换成了 ...

2013-05-09 11:30:30 455

JavaScript 的怪癖 3:标准的等号 (==)

原文:JavaScript quirk 3: normal equality (==)译文:JavaScript 的怪癖 3:标准的等号 (==)译者:iranw此文是 javascript 的 12 个怪癖(quirks) 系列的第三篇。让我们先看一个简单的例子: 由于一般的等于符号 ==、!=经常会出现问题,以至于我们不得不使用严格等于(===、!==)。 当然有人说这些规则...

2013-05-04 14:36:10 161

「译」JavaScript 的怪癖 2:两个「空值」:undefined 和 null

原文:JavaScript quirk 2: two “non-values” – undefined and null译文:「译」JavaScript 的怪癖 2:两个「空值」:undefined 和 null译者:SingleSeeker此文是 javascript 的 12 个怪癖(quirks) 系列的第二篇。 感谢 @SingleSeeker 对本文的翻译。以下是正文...

2013-05-04 14:35:06 130

程序员选择字体的标准是?

整理自我在 SF 上的回答: 本来在 大家都用什么字体写代码的?中推荐了一款字体,相信也是很多程序员的首选字体:Consolas。正好又看到有人提问,“程序员选择字体的标准是?”。 其实选择字体的标准很简单: 非常清晰(Crisp clear characters)支持扩展字符集(Extended characterset)否则会出现乱码或者方格对空白把握的很...

2013-05-04 10:40:43 202

计算机神书『编码:隐匿在计算机软硬件背后的语言』

在知乎回答了一个关于书籍推荐的问题:有哪些短小精悍的好书推荐?如果只推荐一本计算机类的神书,那必然是《编码:隐匿在计算机软硬件背后的语言》。渴望交流是大多数人的天性。在本书中,“编码”通常指一种在人和机器之间进行信息转换的系统。 换句话说、编码即是交流。 有时我们将编码看得很神秘,其实大多数编码并非都是这样。 大多数的编码都需要被很好地理解,因为它们是人类交流的基础。——《编码的奥...

2013-04-28 11:08:57 355

javascript 中强制执行 toString()

原文:Enforcing toString()译文:javascript 中强制执行 toString()译者:singleseekerJavascript通常会根据方法或运算符的需要而自动把值转成所需的类型,这可能导致各种错误。 Brian McKenna (@puffnfresh) suggests 提供了下列测试代码:Object.prototype.valueOf = f...

2013-04-26 13:25:05 182

JavaScript 中的“自动分号插入”机制(ASI)

原文:Automatic semicolon insertion in JavaScript译文:JavaScript 中的自动分号插入(ASI)译者:jackyqi感谢 jackyqi 帮我翻译这篇文章,如果对 javascript 比较感兴趣可以去微博关注他 @jackyqi。在 JavaScript 中,行尾的分号有一种自动插入机制,这样子,可以容忍某些朋友忽略了输入分号...

2013-04-24 08:41:59 295

为什么说任何基于比较的算法将 5 个元素排序都需要 7 次?

排序算法对结果的唯一要求就是操作数满足全序关系:如果 a≤b 并且 b≤c 那么 a≤c(传递性)。对于 a 或 b,要不 a≤b,要不 b≤a(完全性)。这个问题可以用信息论来回答。我从 1 到 5 中挑一个数字出来让你来猜,每回合你都可以问我一个问题,我的回答“是”或“不是”(1 或 0),那么你至少需要几个回合才能保证猜出这个数字?比较符合这个游戏精神的玩法是...

2013-04-19 08:52:00 1042 1

「译」JavaScript 的怪癖 1:隐式类型转换

原文:JavaScript quirk 1: implicit conversion of values译文:「译」JavaScript 的怪癖 1:隐式类型转换译者:justjavac零:提要[此贴子是 javascript 的 12 个怪癖(quirks) 系列的第一篇。]JavaScript 是非常宽容的,「来者不拒」,不在乎什么类型。 例如,它如果想要接受数字...

2013-04-17 11:48:49 149

mixin 模式看起来好像装饰器模式,究竟是一个什么样的模式

mixin模式就是装饰器模式。 单利模式呢?呵呵,其实就是全局变量/对象。 当过程式开发变得越来越复杂,代码越难以维护,于是,出现了软件危机,解决软件的危机的方式是什么呢?新的开发模式,也就是 OO,面向对象。 但是面向对象是银弹吗?至少最开始的时候是,很多极端的语言说自己是纯OO,一切都是对象,看似很完美,但是很多东西根本就不需要用对象的,而且频繁产生对象也是一件麻烦事...

2013-04-16 11:16:13 264

「译」javascript 的 12 个怪癖(更新到第二篇)

原文:12 JavaScript quirks译文:「译」javascript 的 12 个怪癖(quirks)译者:justjavac实际上 javascript 是一个相当简洁的语言,但是也难免会有一些怪癖(quirks)。 本章是 javascript 的 12 个怪癖系列的第一篇, 也是一个目录,为的是你能更好的了解它们:隐式数值转换(Implicit conv...

2013-04-16 08:39:09 152

「译」javascript 中的 delete

原文:Understanding delete译文:javascript 中的 delete译者:justjavac在这篇文章中作者从《JavaScript面向对象编程指南》一书中关于 delete 的错误讲起,详细讲述了关于 delete 操作的实现, 局限以及在不同浏览器和插件(这里指 firebug)中的表现。下面翻译其中的主要部分。...书中声称“函数就像...

2013-04-10 09:25:32 111

老生常谈:注释怎么写?

整理自知乎我的一次回答:http://www.zhihu.com/question/20594192 我的观点,只写说明性注释,不写功能性注释。也就是说,注释Why,而不是How和What。类和函数多写文档注释,多少行无所谓,写在最前面,只要你是注释的Why。函数内部,尽量少写注释。如果你的代码需要写注释来说明他的功能,那么这段代码就需要重构,最简单的方法,最简单的方法:提取函数。这样...

2013-04-07 13:04:29 300

老生常谈:面试算法有必要吗?

声明:虽然发表在愚人节,但是文章内容很严肃。前几天在知乎有人问“作为一名做 Web 开发的 Java 工程师,算法在工作中基本不怎么用到,但为什么面试总会问算法的问题?”, 原文地址: http://www.zhihu.com/question/20887109。我工作也有四五个年头了,个人觉得算法在工作中基本不怎么用到, 也可能是因为我工作内容的原因,我主要做web开发,请问大家...

2013-04-01 09:55:54 396

浅谈JavaScript的语言特性

前言在JavaScript中,作用域、上下文、闭包、函数等算是精华中的精华了。对于初级JSer来说,是进阶必备。对于前端攻城师来说,只有静下心来,理解了这些精华,才能写出优雅的代码。本文旨在总结容易忘记的重要知识,不会讲基本的概念。如果对基本知识不太熟悉,就去翻下《 JavaScript权威指南》吧~参考文章如下(建议读者朋友用chrome看这些文章吧,不然的话会错过很多精彩哦~)...

2013-03-27 11:25:26 207

怎么成为技术大牛

本文转载自淘宝 @玉伯也叫射雕。 微博和知乎上不时有人问,通常我会忽略掉。这类问题很容易回答,也很难回答。 很容易回答,是因为见过太多牛人,细思他们的成功,无外乎勤奋、坚持。某人比你优秀,往往是因为他比你勤奋。 很难回答,是因为要做到勤奋很难,要坚持更难。这需要自律,需要习惯。知易行难。 以上话题很大,市面上的书籍汗牛充栋,推荐 《高效能人士的七个习惯》 。这类...

2013-03-25 15:50:50 255

谷歌阅读器将于2013年7月1日停止服务,博客订阅转移到邮箱

今天早上一如既往的开电脑第一件事儿就是登录Google Reader,结果却突然弹出了一个提示框,虽然是用英文写的,不过六级没有过的我还是看懂了,Google阅读器将于今年2013年的7月1日停止服务,并提示用户导出Google阅读器里面的订阅, 以前我的博客中,推荐大家使用Google Reader订阅。现在只能转用其它的了。于是第一时间制作了邮件订阅按钮。   ...

2013-03-14 11:56:33 235

「译」在 python 中,如果 x 是 list,为什么 x += "ha" 可以运行,而 x = x + "ha" 却抛出异常呢?...

 问题众所周知,在 python 中,+ 运算符可以使用在列表上,+ 运算符只需要第二个操作数是可迭代的(原文:iterable。@justjavac),那么 + 显然可以运算在 "ha" 上。代码如下:>>> x = []>>> x += "ha">>> x['h', 'a']>&am

2013-03-12 09:11:46 152

python: extend (扩展) 与 append (追加) 的差别

 >>> li = ['a', 'b', 'c']>>> li.extend(['d', 'e', 'f']) >>> li['a', 'b', 'c', 'd', 'e', 'f']>>> len(li) 6>>> li[-1]

2013-03-12 08:59:10 1745

「译」C++ 中 0 是十进制还是八进制?

原文:Is 0 a decimal literal or an octal literal?译文:C++ 中 0 是十进制还是八进制?译者:justjavacC++ 中 0 是十进制还是八进制?虽然在任何进制数种, 0 只有一个值——那就是「零」,之所以问这个问题,纯粹是闲着蛋疼。最近和朋友们讨论关于数的话题,他说,八进制数现在几乎从未使用过。 我一时无法反驳,确实,除了...

2013-03-05 12:40:30 199

一步步开发 Spring MVC 应用

Spring MVC 框架Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iTex...

2013-02-23 10:53:31 143

原创 web.py 0.3 新手指南 - 多数据库使用

问题如何在单独项目中应用多数据库?解决办法webpy 0.3 支持多数据库操作,并从web模块中移走数据库部分, 使其成为一个更典型的对象. 例子如下:import webdb1 = web.database(dbn='mysql', db='dbname1', user='foo')db2 = web.database(dbn='mysql', db='dbnam...

2013-01-26 08:11:50 135

原创 web.py 0.3 新手指南 - 使用db.query进行高级数据库查询

问题:您要执行的SQL语句如:高级的联接或计数。解决:webpy不会尝试为您和您的数据库建立层。相反,它试图以方便的通用任务,走出自己的方式,当您需要做的更高级的主题。执行高级的数据库查询是没有什么不同。例如:import webdb = web.database(dbn='postgres', db='mydata', user='dbuser', pw='')...

2013-01-26 08:11:41 461

原创 web.py 0.3 新手指南 - RESTful doctesting using app.request

!/usr/bin/env python"""RESTful web.py testingusage: python webapp.py 8080 [--test]>>> req = app.request('/mathematicians', method='POST')>>> req.status'400 Bad Requ...

2013-01-26 08:11:27 165

原创 web.py 0.3 新手指南 - 实时语言切换

实时语言切换问题:如何实现实时语言切换?解法:首先你必须阅读 模板语言中的i18n支持, 然后尝试下面的代码。文件: code.pyimport osimport sysimport gettextimport web# File location directory.rootdir = os.path.abspath(os.path.dir...

2013-01-26 08:11:03 162

原创 web.py 0.3 新手指南 - db.select 查询

问题:怎样执行数据库查询?解决方案:如果是0.3版本, 连接部分大致如下:db = web.database(dbn='postgres', db='mydata', user='dbuser', pw='')当获取数据库连接后, 可以这样执行查询数据库:# Select all entries from table 'mytable'entries = db....

2013-01-25 12:38:29 212

原创 web.py 0.3 新手指南 - 发送邮件

问题在web.py中,如何发送邮件?解法在web.py中使用web.sendmail()发送邮件.web.sendmail('cookbook@webpy.org', 'user@example.com', 'subject', 'message')如果在web.config中指定了邮件服务器,就会使用该服务器发送邮件,否则,就根据/usr/lib/sendmail...

2013-01-25 12:38:16 160

原创 web.py 0.3 新手指南 - 如何用Gmail发送邮件

问题如何用Gmail发送邮件?解法安装和维护邮件服务器通常是沉闷乏味的。所以如果你有Gmail帐号,就可以使用Gmail做为SMTP服务器来发送邮件,我们唯一要做的就只是在web.config中指定Gmail的用户名和密码。web.config.smtp_server = 'smtp.gmail.com'web.config.smtp_port = 587web.con...

2013-01-25 12:38:03 229

原创 web.py 0.3 新手指南 - 在template中使用session

问题:我想在模板中使用session(比如:读取并显示session.username)解决:在应用程序中的代码:render = web.template.render('templates', globals={'context': session})在模板中的代码:<span>You are logged in as <b>$conte...

2013-01-25 12:37:52 172

原创 web.py 0.3 新手指南 - 在调试模式下使用session

问题如何在调试模式下使用session?解法使用web.py自带的webserver提供web服务时,web.py就运行在调试模式下。当然最简单的办法就是禁用调试,只要令web.config.debug = False即可。import webweb.config.debug = False# rest of your code如果非要用调试模式下使用s...

2013-01-25 12:37:37 214

jspSmartUpload组件(已解决中文乱码问题)

jspSmartUpload组件是jsp中的文件上传组件,但是其官方网站已经关闭,由于其是外国人开发,故存在中文乱码问题,我将它的源文件重新修改编译,已解决中文乱码问题。

2007-11-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除