在用wordpress做固定链接想实现静态化的时候,有时候会出现死链。这个时候就需要设置一下WordPress的伪静态了。 工具/原料 wordpress、ftp软件 步骤/方法 1 新建一个404.php文件,通过ftp软件上传到网站根目录web下,代码如下: <?php $pos = strrpos($qs, '://'); $pos = strpos($qs, '/', $pos + 4); $_SERVER['REQUEST_URI'] = substr($qs, $pos); $_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI']; include('index.php'); ?> 2 登录虚拟主机设置下404出错页 3 WordPress控制面板设置固定链接:控制面板-设置-固定链接-自定义结构 4 想设置其他链接格式,可参考以下结构标签: %year%:日志发表的年份,四位数字,如2009 %monthnum%:日志发表的月份,如05 %day%:日志发表的日期,如28 %hour%:日志发表的时间(小时),如15 %minute%:日志发表的时间(分钟),如43 %second%:日志发表的时间(秒),如33 %postname%:日志标题的缩略版本(日志/页面编辑界面上的日志别名)。因此“This Is A Great Post!”在URI中会变成this-is-a-great-post。 %post_id%:日志的唯一ID,如423 %category%:分类名称的缩略版本(添加新分类/编辑界面上的分类别名)。嵌套的子分类会作为嵌套子目录出现在URI中。出于运行方面的考虑,不推荐以%category%作为固定链接的起始部分。 %tag%:标签名称的缩略版本(添加新标签/编辑界面上的标签别名)。出于运行方面的考虑,不推荐以%tag%作为固定链接的起始部分。 %author%:作者名称的缩略版本。 转自:http://jingyan.baidu.com/article/4f7d5712824b4b1a201927bf.html
View Details遇到一个奇怪的问题,C#读取mysql中文正常,写入时发生乱码 网上查阅原因,发现如下信息 ——————————————————————— 一、错误读出 现象:一个已经存在数据的MySQL数据库,该数据库的数据用系统中其它软件、网页查看均正常,使用MySQLcc之类的客户端查看也正常,可是在新写的网页中总是显示乱码。 分析:其它系统都可以正常查看数据,说明数据本身是没有问题的。在网页中显示乱码,一定是网页的编码字符集和获取到的数据的编码字符集不一至。比如数据库的字符集是UTF8的,而网页的字符集是gb2312的,那么网页就会把UTF8编码的字体串当作gb2312的来处理,结果产生乱码。 解决办法:在连接数据库时,设定连接字符集,使连接字符集和当前网页或客户端程序使用的字符集一致。可以使用MySQL的Set Names指令设定连接字符集。假设网页的字体集为gb2312。在连接MySQL后,在连接上执行如下SQL语句: Set Names ‘gb2312’ 在以后所有这个连接上的查询,MySQL都会自动把数据库中的数据转换成gb2312编码格式传过来。 二、错误写入 现象:一个网页或程序向一个MySQL数据库中写数据,写完后,这个网页或程序自己可以正常读取数据,而从其它客户端或网页中读取数据都是乱码。 分析:其它的正常的客户端出现乱码,说明数据库中的字符编码不对。写数据的那个网页能正常读取,是因为写和读都用了错误的编码格式,将错就错,反而能读出正确的数据了。比如数据库中设定的字符集为UTF8,而网页使用gb2312编码执行了插入数据的SQL,那么MySQL就会把这些gb2312的编码当成是UTF8的编码写进数据库。当其它客户端访问数据时,会按系统的设定,以UTF8 格式读取数据,而数据其实是使用gb2312编码的,结果就出现了乱码。只有写数据的那个网页会把这些数据当成gb2312的,也只有那个网页能正常显示数据。 解决办法:同第一条,即:使用Set Names指令设定连接字符集。 在设定了连接字符体的连接上执行数据操作,所有的数据都将被MySQL自动、正确地转换为数据库中设定的编码格式保存。 通过以上两点,我们可以看到,只要在连接MySQL时,正确地设定了字符集,无论数据库本身是使用什么格式编码的,都能得到正确的结果。也许有人会以为写数据时设定的字符集必需和读数据时一致,事实上完全没有必要。程序所要做的只是告诉 MySQL,目前操作MySQL使用的是什么字符集即可。因为MySQL会自动完成如下的转换工作: 写数据库时用的字符集-->存诸数据的字符集-->读取数据的字符集。 笔者以为MySQL对多语言字符集的处理是非常优秀的,并且每次建立到MySQL的连接都会立刻使用Set Names设定字符集,然而最近还是出现了一回乱码,如下面所述。 三、无知的程序包 现象:使用C#编程,使用MySQL提供的连接程序库包访问数据库,使用 MySqlConnection类连接数据库,连接之后立刻调用Set Names设定连接字符串,然后使用MySqlCommand类执行SQL,并使用MySqlDataReader读取数查询结果。然而,当我调用 MySqlDataReader的成员方法GetString获取数据的时候,发现得到的全是乱码。百思不得其解。 分析:经仔细检查,确信问题没有出在MySQL连接上面,这时我想到了C#中对 string类型的处理。在C#中字符串和C/C++中有很大不同。在C/C++中一个字符就是一个字节,而在C#中,按不同的编码格式,一个字符也可以是多个字节的。比如”啊”就是一个字符,如果一个字符串s=”啊”; 那么s的Length属性为1,而不是C/C++中的2。我想MySQL程序包也许并不知道连接上传过来的字符是什么编码的,它因为无知,所以只是按单字节字符把这些数据组织成一个string,这个生成的string就是我得到的乱码。事实上也的确是这样。 解决办法:把这些数据重新组织起来,然后使用正确的编码方法重新生成string。C#中System.Text包内的Encoding类提供了字符集的编/解码方法。 1)首先还是设定连接字符集,以确认收到的字符的编码方式。 2)把GetString得到的字符串转换到byte数组中。 3)使用Systec.Text.Encoding包中相应字符集的解码方法GetString得到新的字符串。 为了通用性,我们使用System.Text.Encoding的默认字符集。连接数据库时,设置数据库连接字符集使用的SQL指令strSetCharset为如下值: string strSetCharset = “Set Names ” + System. Text. Encoding .Default. HeaderName; 在获取数据时,使用下面的函数得到真正的字符串: private string DBStringToNormal(string dbStr) { byte[] str = new byte[dbStr.Length]; for (int i = 0; i < dbStr.Length; ++i) str[i] = (byte)(dbStr[i]); return System.Text.Encoding.Default.GetString(str, 0, […]
View Details前面的第一、第二部分已经对Wordpress中的十张表里的七张进行了说明,这里要介绍的是剩下的三张表的有关情况。 wp_posts: 用于保存你所有的文章(posts)的相关信息的表,非常的重要。一般来讲,它存储的数据是最多的。一共包括了21个字段。 ID – 每篇文章的唯一ID,bigint(20)值,附加属性auto_increment。 post_author – 每篇文章的作者的编号,int(4)值,应该对应的是wp_users.ID。 post_date – 每篇文章发表的时间,datetime值。它是GMT时间加上时区偏移量的结果。 post_date_gmt – 每篇文章发表时的GMT(格林威治)时间,datetime值。 post_content – 每篇文章的具体内容,longtext值。你在后台文章编辑页面中写入的所有内容都放在这里。 post_title – 文章的标题,text值。 post_category – 文章所属分类,int(4)值。 post_excerpt – 文章摘要,text值。 post_status – 文章当前的状态,枚举enum(’publish’,’draft’,’private’,’static’,’object’)值,publish为已 发表,draft为草稿,private为私人内容(不会被公开) ,static(不详),object(不详)。默认为publish。 comment_status – 评论设置的状态,也是枚举enum(’open’,’closed’,’registered_only’)值,open为允许评论,closed为不允 许评论,registered_only为只有注册用户方可评论。默认为open,即人人都可以评论。 ping_status – ping状态,枚举enum(’open’,’closed’)值,open指打开pingback功能,closed为关闭。默认值是open。 post_password – 文章密码,varchar(20)值。文章编辑才可为文章设定一个密码,凭这个密码才能对文章进行重新强加或修改。 post_name – 文章名,varchar(200)值。这通常是用在生成permalink时,标识某篇文章的一段文本或数字,也即post slug。 to_ping – 强制该文章去ping某个URI。text值。 pinged – 该文章被pingback的历史记录,text值,为一个个的URI。 post_modified – 文章最后修改的时间,datetime值,它是GMT时间加上时区偏移量的结果。 post_modified_gmt – 文章最后修改的GMT时间,datetime值。 post_content_filtered – 不详,text值。 post_parent – 文章的上级文章的ID,int(11)值,对应的是wp_posts.ID。默认为0,即没有上级文章。 guid – 这是每篇文章的一个地址,varchar(255)值。默认是这样的形式: http://your.blog.site/?p=1,如果你形成permalink功能,则通常会是: 你的Wordpress站点地址+文章名。 menu_order – 不详,int(11)值,默认为0。 post_type – 文章类型,具体不详,varchar(100)值。默认为0。 post_mime_type – 不详。varchar(100)值。 comment_count – 评论计数,具体用途不详,bigint(20)值。 wp_usermeta : 用于保存用户元信息(meta)的表,共4个字段: umeta_id – 元信息ID,bigint(20)值,附加属性auto_increment。 […]
View DetailsDataGridView控件 DataGridView是用于Windows Froms 2.0的新网格控件。它可以取代先前版本中DataGrid控件,它易于使用并高度可定制,支持很多我们的用户需要的特性。 关于本文档: 本文档不准备面面俱到地介绍DataGridView,而是着眼于深入地介绍一些技术点的高级特性。 本文档按逻辑分为5个章节,首先是结构和特性的概览,其次是内置的列/单元格类型的介绍,再次是数据操作相关的内容,然后是主要特性的综述,最后是最佳实践。 大部分章节含有一个“Q & A”部分,来回答该章节相关的一些常见问题。注意,某些问题会由于知识点的关联性重复出现在多个章节。这些问题、答案及其附带的示例代码都包含在本文档的附录部分。 内容 1 何为DataGridView.. 4 1.1 DataGridView和DataGrid 之间的区别… 4 1.2 DataGridView的亮点… 5 2 DataGridView的结构… 6 2.1 结构元素… 6 2.2 单元格和组… 6 2.3 DataGridView的单元格… 6 2.3.1 DataGridViewCell的工作机制… 7 2.4 DataGridView的列… 9 2.5 DataGridView的编辑控件… 9 2.6 DataGridView的行… 10 3 列/单元格类型揭密… 11 3.1 DataGridViewTextBoxColumn. 11 3.2 DataGridViewCheckBoxColumn. 12 3.3 DataGridViewImageColumn. 12 3.4 DataGridViewButtonColumn. 13 3.5 DataGridViewComboBoxColumn. 13 3.5.1 DataError与ComboBox列… 13 3.6 DataGridViewLinkColumn. 14 4 操作数据… 15 4.1 数据输入和验证的相关事件… 15 4.1.1 数据验证相关事件的顺序… 15 4.1.2 验证数据… 15 4.1.3 在新行中的数据输入… 16 4.2 关于Null值… 19 4.2.1 […]
View DetailsRedMonk 发布 2013年6月的编程语言排行榜,平时我们很少见这个编程语言的排行榜。 下图是 2013年6月的排行榜图表(点击图片查看大图) 下面是前 20 名的编程语言列表: Java * JavaScript * PHP * Python * Ruby * C# * C++ * C * Objective-C * Shell * Perl * Scala Assembly Haskell ASP R CoffeeScript Groovy Matlab Visual Basic (* 表示一级编程语言) 更多关于 RedMonk 编程语言排行榜的介绍请看这里。 RedMonk 编程语言排行榜数据来自 Github 和 Stackoverflow 上对编程语言的热门程度进行了比较。其中 Github 的排名是基于 Github 自己的语言统计,而 Stackoverflow 则是基于标签的关联。 转自:http://www.oschina.net/news/42738/redmonk-language-rankings-6-13
View Details许多前端工程师,他们拥有客户所寻找的创造能力和技术能力,但是他们没有机会向客户展示他们的能力。这种,客户直接找到他们所需求的前端工程师的情况却很少发生。 让你的能力出名的方法,有一个很好的方法,建立起声誉,并且收集一个对你的特殊技能感兴趣的客户的名单。这不仅仅对一个自由作家是一个好办法,这也能使你脱离仅仅对一个特殊职位的竞争。作为一个开发者,你或许不知道如何开始营销自己,遵循这些技巧,你可以有效的表现出你的能力去赢得客户的注意。 1、找准定位 有时候我们喜欢什么技术都学一点,似乎这样能让自己无所不能,但在实际工作中我们让自己成为某一方面的专家会更好一些(毕竟你自己不能干完所有的事)。集中你的精力在某一方面,例如电子商务,博客,或者移动应用设计,然后坚持学习与之相关的东西,并且实际的来做一些东西,这样你在不知不觉之中就会成为这方面的专家,同时可以积累一些相关经验,甚至寻找到潜在的客户。你在这个领域的专家身份也会提升你的需求,工作流程的领先,可以让您选择更好的项目。 2、分享经验 提升自己专业能力的另一个办法就是写一些文章或关于此领域的一些案例分析。开始的时候可以将文章贴在博客或网站上,然后可以考虑交由SmashingMagazine 或 e-book publishing networks之类的网站来传播。或者像Addy Osmani does那样以html电子书的形式在网站上发布。这样可以提升你在此领域的专家声望。在社区里提供一些有用资源引起注意之后,可能会受到一些会议发言的邀请,与其他社区成员进行交流或类似顾问的工作。 3. 加入在线社区 你可以通过加入像Stackoverflow和Quora等社区赢得自己的声望。它不仅仅可以让你和其它开发者相互联系,而且还可公众展示自己解决问题的能力。而且通过像Github等开源软件平台,你可以发布自己的项目以及可以邀请社区很多其它开发者参与。当与他人交流你的专业意见和建立自己的网络时,通过这些社区有了强大的基础这是无价的呀。[@Lesus 注:当然语言障碍为题,在中国,也有这样的综合性的平台,如oschina] 4. 创建一个小型网站 单个页面的网站是最好的平台来展示你的技能。特别是对于面向非盈利的目的的设计,而且它具有创造性,完美的设计以及包含有趣的内容。这些有些和别人分享的网站,而且它是重要的方式来获得免费的快速的曝光。不用怕,疯狂起来吧,像视差卷动,非主流网格以及滑动特效等特性来充分展示你的能力。另一方面,同时它对展示了你技能的广度是很重要,像Ipod visualization 或者this one只有几个简单页面可以走得更远。这是重要方式让你的潜在用户(或者你的面试官)别小瞧了,而且能够和你创建的东西更好的交谈。 对SimpliSafe的家安全指南,它充满了创造性,高质量的内容,它是很好的你可以和人们就谈的项目的榜样。这个网通过熟练的比较这个城堡保卫系统和虚拟的视觉差滚动的增强引导用户保卫家。 Layered Defense 5. 开发在线工具 你是否想过有那么一个为特定的目的工具来帮助你的工作,考虑一下自己做一个。赞助者为这样一个事实感到惊奇:其它开发者使用的是你开发的工具或应用。有时那些最简单的想法是最有帮助的,所以简化你的想法让它们看起来十分容易。 CodePen 就是这样的一个对前端开发者有极大的帮助的在线工具的榜样。你创建的工具可以从这个在浏览器代码编辑器上获得灵感。 CodePen 6. 开发免费的资源或者插件 另外一个有效方向就是使你的个人项目适合开发者从网页上免费可下载的资源。考虑一下能够从使用者那里反馈它们的性能,那么你可以专注于下面的开发和提升你的项目。你甚至可以把它们提交给像Design Instruct这样的站点来获得更多的发布曝光。 这个UI设计者设计了一个素描和线框的工具集来为他的读者提供一个方便有用的界面和线框的元素。很容易地在他的站点上访问到,而且他也提供了很多种下载格式和一个用户反馈机会。 Wireframing Kit 7. 使用社交网络 社交网络可以说是最高效的免费广告方式。 因为社交用户和他们的网络口碑的助燃作用,你的名字和工作很容易被传播,这就是为什么这是一个值得你花费时间的营销策略。 您可以使用像Facebook、Twitter和Pinterest这样的网站来贡献高质量的帖子给公众,并将它们链接回你的博客,其内容应该缩窄范围来进一步适合您的特定受众定位。互联网用户和客户们可能会期望你在所有这些社交网站上都有账户,但通过在你的博客或网站中的社交媒体链接来访问会更容易,书写作品和所有其他你创建的营销元素。 8. 连接你所有的工作 通过把你所有的工作和媒体网站互相保持链接并使你所有的内容一致,你就把你自己从一名自由职业者(或求职者)改变成一个品牌,这会更容易有市场。你会建立一群跟随的读者和客户,它们可以给别人反馈和建议,这样你的客户基础就会不断增长。你的工作已经发展成向潜在客户进行展示,这会把你放到更进一步超越你的竞争对手的位置,你可以预测你的工作需求会增加。所以不要等待客户来找你,使用这些自信的策略来展示你的技能吧。 转自:http://www.oschina.net/translate/8-tips-for-promoting-your-dev-skills
View Details云计算设计以一种高性价比的方式利用强大的计算机和通信网络功能,云计算系统可以让企业低价使用巨大的计算、存储和网络资源。我们大多数人都以这种 或那种方式使用着云计算,如果你有Gmail、Yahoo! Mail或Hotmail的电邮帐号,那么你就有了云计算前端的使用经验。而在云计算系统的后端,则分布着不同的计算机、服务器和数据存储系统,它们创建 了云计算服务,但用户眼里看不到它们。有大量开源云管理工具可供选择以帮助自动化、监控、备份、跟踪和调整云计算基础设施。 其中包括: Juju 用于诸如横跨多个云的业务部署和流程控制、大型裸机虚拟化部署和基于工作站的服务原型设计等。 Deltacloud 用于将基于云的工作负载在不同的IaaS供应商之间迁移,如Amazon和Rackspace。 jclouds jclouds 是一个开源的Java类库,用来帮你开始云计算应用开发,并可重用已有的Java和Clojure技能。 Libcloud libcloud 是一个访问云计算服务的统一接口,该项目已经成为 Apache 组织的顶级项目,采用 Python 开发。 Ganeti Ganeti是基于Xen虚拟机管理器和其他开源软件的虚拟服务器管理软件工具。 Chef Chef 是一个系统集成框架,为整个架构提供配置管理功能 Puppet Puppet,您可以集中管理每一个重要方面,您的系统使用的是跨平台的规范语言,管理所有的单独的元素通常聚集在不同的文件,如用户, CRON作业,和主机一起显然离散元素,如包装,服务和文件。 Scalr Automation framework and web interface for managing infrastructure 转自:http://www.oschina.net/news/42569/opensource-cloud-manage-tools
View Details每个程序员都知道,在一个软件公司里,你需要有一套严谨的编码规范。每个程序员也都知道,为了能按自己的编程习惯制订这套规范,每个程序员都在而抗争。刚进入一个新公司时,每个程序员都会内心里绝望,对那套由某些强势架构师独断指定的编码规范恐惧不已。 扔掉编码规范吧,让程序员自由发挥,你会得到更多的好处。从加强代码统一性上获得的这点胜利根本解决不了问题。编码规范就是技术上的遮羞布。在 nearForm 公司,我从来没有想过要制定一个这样的规范,因为我希望每个人都只需按照自己喜欢的方式编程。 这世界太吵闹了。JavaScript的复兴要为此负全责。尤其有一个“特征”:可有可无的分号。无数的主张,猜想和反对声铺天盖地。停止,去实际写些代码好吗。你知道我在说谁。 本意是好的,各路程序员大仙发布各种JavaScript编码规范和风格指导。你们全错了。请停止这种要去拯救这个世界的行为。 编码规范从何来?过程是这样的:在你开始编码时,你跟本不知道会做出什么。这充满乐趣,这是一场游戏,直到你弄瞎一只眼睛。一旦你被自己垃圾的代码伤了太多次,你开始知道你是个菜鸟。于是你开始走上了通往编程大师的道路,你贪婪的咀嚼《代码大全》, 《程序员修炼之道》,当然,还有 Joel。 之后,事情开始发生了。在通往朝圣的路上,你参透了真经。满腹的技艺让你成为了编程巨星。你的开发效率整整翻了一倍。现在,你要向世界传播。让你有今天成就 的知识也同样能拯救他人。你笼络人心,你传道,你纠缠不休。你训导你的老板要采用最好的实践方法和开发规范。而最不可饶恕的,你竟然开始写博客了。 大多数程序员从来不发声。那些喜欢弄出声响的,都晋升了。你晋升了。你把你绝顶聪明的想法强加给他人。你编写了一套编码规范,你让它成为了法律。 可之后,一切如旧。同样苦干,同样最后期限迫在眉睫,同样bug无数,同样悲惨结局。银弹跟本不存在。 几年后,你不再编码,你成为了管理者。你仍然认定编码规范,条律,制度的至关重要。关键就在于正确的实施。你从来都没有真正的做到过,但你坚持要实现这个目标。不仅如此,你变本加厉。代码量化标准!作为一个管理者,你成了痛苦的化身。 也许事情可能会向另外一个方向发展。也许你重新回去编程,或从未离去。经过一段时间,你发现自己如此无知,所有你的梦想都建立在沙滩上。你放弃了,你放弃了给程序员制订枷锁。这是另一层次的参悟。 至此,你认识到,人不是机器。人需要把智慧发挥到极致。你应该丢掉枷锁,获取最大创造。 可为什么那些最聪明的程序员的做法却完全的相反?为什么他们喜欢控制其它程序员?是什么让他们如此独裁? 首先,你想把你的经验传授给他人。但并非每个人的思维都跟你一样。人的大脑是十分怪异的。 第二,控制别人的感觉良好。但这不可能真正有效的。你不能命令程序员去做什么。猫不是圈养出来的。 第三,你逃避责任。团队中的所有人都这样。我们遵守了规范!项目失败了。没错,可是我们是遵守了规范! 第四,好的意愿;最佳实践;很专业;很技术——诱人的开发过程。你仍在追逐你8岁时想摘到的那颗星星。但是,编程大师如何判断一件事的成败?看结果,这是唯一的标准。 第五,理想主义,你认为你理解整个世界,整个世界要尊崇你的意志。我们人类有些事情非常的在行….但那是在一万次的失败之后,一万次重复的失败。软件工程就是其中之一,不是有了规范就万事大吉的。 而最糟糕的不是这些。万恶之首是,只要你具有上面的任何一点,你最终就会制定出一套编码规范。 编码规范真正的罪恶在于,它们在伤你的心,伤整个团队的心。它们是一种耳语在说你不够优秀。他们不信任你。没有监管,你会搞的一团糟。 一年前我们开创 nearForm 公司,我们最在意的一件事就是要为客户写出最优秀的程序。在早先,我们尝试过所有的开发过程、方法、制度规范。所有都让人讨厌。没有一样真正起到作用。 于是我们开始实施这样的原则:相信我们的程序员是最有智慧的。这起作用了。 我希望所有人都能写出整洁优秀的代码。你自己判断这指的是什么。如果在代码脏乱、变量名不一致的情况下你还能安稳的睡大觉,这你自己决定。但你知道,也许这只是一个100行的用node.js写微型server,无关紧要。这你自己决定。 这你的责任,因为你一名程序员。 [英文原文:Why I Have Given Up on Coding Standards ] 转自: 每个程序员都知道,在一个软件公司里,你需要有一套严谨的编码规范。每个程序员也都知道,为了能按自己的编程习惯制订这套规范,每个程序员都在而抗争。刚进入一个新公司时,每个程序员都会内心里绝望,对那套由某些强势架构师独断指定的编码规范恐惧不已。 扔掉编码规范吧,让程序员自由发挥,你会得到更多的好处。从加强代码统一性上获得的这点胜利根本解决不了问题。编码规范就是技术上的遮羞布。在 nearForm 公司,我从来没有想过要制定一个这样的规范,因为我希望每个人都只需按照自己喜欢的方式编程。 这世界太吵闹了。JavaScript的复兴要为此负全责。尤其有一个“特征”:可有可无的分号。无数的主张,猜想和反对声铺天盖地。停止,去实际写些代码好吗。你知道我在说谁。 本意是好的,各路程序员大仙发布各种JavaScript编码规范和风格指导。你们全错了。请停止这种要去拯救这个世界的行为。 编码规范从何来?过程是这样的:在你开始编码时,你跟本不知道会做出什么。这充满乐趣,这是一场游戏,直到你弄瞎一只眼睛。一旦你被自己垃圾的代码伤了太多次,你开始知道你是个菜鸟。于是你开始走上了通往编程大师的道路,你贪婪的咀嚼《代码大全》, 《程序员修炼之道》,当然,还有 Joel。 之后,事情开始发生了。在通往朝圣的路上,你参透了真经。满腹的技艺让你成为了编程巨星。你的开发效率整整翻了一倍。现在,你要向世界传播。让你有今天成就 的知识也同样能拯救他人。你笼络人心,你传道,你纠缠不休。你训导你的老板要采用最好的实践方法和开发规范。而最不可饶恕的,你竟然开始写博客了。 大多数程序员从来不发声。那些喜欢弄出声响的,都晋升了。你晋升了。你把你绝顶聪明的想法强加给他人。你编写了一套编码规范,你让它成为了法律。 可之后,一切如旧。同样苦干,同样最后期限迫在眉睫,同样bug无数,同样悲惨结局。银弹跟本不存在。 几年后,你不再编码,你成为了管理者。你仍然认定编码规范,条律,制度的至关重要。关键就在于正确的实施。你从来都没有真正的做到过,但你坚持要实现这个目标。不仅如此,你变本加厉。代码量化标准!作为一个管理者,你成了痛苦的化身。 也许事情可能会向另外一个方向发展。也许你重新回去编程,或从未离去。经过一段时间,你发现自己如此无知,所有你的梦想都建立在沙滩上。你放弃了,你放弃了给程序员制订枷锁。这是另一层次的参悟。 至此,你认识到,人不是机器。人需要把智慧发挥到极致。你应该丢掉枷锁,获取最大创造。 可为什么那些最聪明的程序员的做法却完全的相反?为什么他们喜欢控制其它程序员?是什么让他们如此独裁? 首先,你想把你的经验传授给他人。但并非每个人的思维都跟你一样。人的大脑是十分怪异的。 第二,控制别人的感觉良好。但这不可能真正有效的。你不能命令程序员去做什么。猫不是圈养出来的。 第三,你逃避责任。团队中的所有人都这样。我们遵守了规范!项目失败了。没错,可是我们是遵守了规范! 第四,好的意愿;最佳实践;很专业;很技术——诱人的开发过程。你仍在追逐你8岁时想摘到的那颗星星。但是,编程大师如何判断一件事的成败?看结果,这是唯一的标准。 第五,理想主义,你认为你理解整个世界,整个世界要尊崇你的意志。我们人类有些事情非常的在行….但那是在一万次的失败之后,一万次重复的失败。软件工程就是其中之一,不是有了规范就万事大吉的。 而最糟糕的不是这些。万恶之首是,只要你具有上面的任何一点,你最终就会制定出一套编码规范。 编码规范真正的罪恶在于,它们在伤你的心,伤整个团队的心。它们是一种耳语在说你不够优秀。他们不信任你。没有监管,你会搞的一团糟。 一年前我们开创 nearForm 公司,我们最在意的一件事就是要为客户写出最优秀的程序。在早先,我们尝试过所有的开发过程、方法、制度规范。所有都让人讨厌。没有一样真正起到作用。 于是我们开始实施这样的原则:相信我们的程序员是最有智慧的。这起作用了。 我希望所有人都能写出整洁优秀的代码。你自己判断这指的是什么。如果在代码脏乱、变量名不一致的情况下你还能安稳的睡大觉,这你自己决定。但你知道,也许这只是一个100行的用node.js写微型server,无关紧要。这你自己决定。 这你的责任,因为你一名程序员。 [英文原文:Why I Have Given Up on Coding Standards ] 转自:http://www.oschina.net/news/42154/why-i-have-given-up-on-coding-standards
View Detailsesentutl /p %windir%/security/database/secedit.sdb 故障现象安装IIS的时候一直提示如下错误,IIS无法正常安装。提示:安装程序无法复制一个或多个文件。特定错误码是 0x4b8。按“确定”以继续;或者按“取消”,停止安装并且再试一次。如果继续,组件可能无法正常运行。解决方案(1) 开始 > 运行 > 输入 CMD >再输入以下命令:esentutl /p %windir%/security/database/secedit.sdb,然后再安装一次,就搞定了。修复了安装IIS组件需要的系统数据库。这里的esentutl是一个系统的修复工具。主要用于修复系统的数据库。在Windows系统中,包含了多个数据库,最主要的数据库就是注册表,还包含了很多其他的数据库,他们都以系统数据库文件的形式保存,其后缀名为SDB。ESEnTUtl运行有几种模式。每种模式对SDB文件执行不同的任务。这里是每种模式的语法:Defragmentation : ESEnTUtl /d <database name> [options]碎片整理模式 : ESEnTUtl /d <数据库文件名> [选项]Recovery : ESEnTUtl /r [options]恢复模式 : ESEnTUtl /r [选项]Integrity : ESEnTUtl /g <database name> [options]完整性检查模式 : ESEnTUtl /g <数据库文件名> [选项]Repair : ESEnTUtl /p <database name> [options]修复模式 : ESEnTUtl /p <数据库文件名> [选项]Checksum […]
View DetailsVisual Studio 2012 Ultimate旗舰版序列号: YKCW6-BPFPF-BT8C9-7DCTH-QXGWC RBCXF-CVBGR-382MK-DFHJ4-C69G8 YQ7PR-QTHDM-HCBCV-9GKGG-TB2TM 点击帮助(help)-注册产品(Register Product)-输入Key就可以了
View Details