51CTO博客开发
【51CTO独家特稿】 h1. 作业分析 作业是课程的一部分,实际上,还是这个课程最重要的部分。 如我在前面课程中提到的一样: 很多初学者,或者说,编程的伪爱好者,他们,会热衷于去四处请教大师,下载各种经典书籍,企图读一本编程圣经,然后一夜脱胎换骨。 这是,不可能的。 同样的,如果仅仅是看了这个课程,而不做作业,那么在看课程前后,个人的能力是不可能有变化的。 充其量,
【51CTO独家特稿】在前面的课程中提到PEAA中只有一页半的Active Record Pattern ( http://martinfowler.com/eaaCatalog/activeRecord.html )影响了过去5年多6年的Web开发潮流。 这个潮流是由Ruby On Rails引领的。 RoR的作者DHH David Heinemeier Hansson是Hacker,他因为
【51CTO独家特稿】学以致用,很多时候,学习一样东西最好需要能够在实际中应用起来。 所以我在第2课"怎么看待牛人"中强调的必须“看代码 + 写代码”。 不过我在里面提到的例子“ORM”却并不好,ORM太过庞大。实际编码,应该是从小开始。 运维工作中更经常使用的是脚本语言,脚本程序甚至是shell命令都可以完成很多有意义的事
这次来讲MVC中最后的M。 Model,几乎可以说是网页应用的核心。 之前课程提到过网页应用是由数据库驱动,而在很多场景,数据库 = M ; M = 数据库。 所谓的ORM; object relational mapping。 现在新的网页开发框架,特别是MVC框架,都会提供ORM支持,避免程序员直接写SQL、操作数据库。 传统上,ASP/ php臭名昭著的sql注入问题,便是因为菜鸟
设计模式再“高级”一点,便是所谓的“框架”了。 从事Web开发,一般都会接触到MVC框架这个概念。 M:也就是Model,直接跟网站数据库相关。 V:也就是View,是网页的模版,跟显示数据相关。 C:则是Controller,相当于网站的业务逻辑。 MVC也不仅仅是应用于网站开发,它的概念实际上植根于桌面软件,并且在手机软件开发上也有应用
【51CTO独家特稿】先摘录一段话勉励一下生日宝: 截止2010月6月,Facebook接近2000雇员。10个月时间从1100人增长到2000,一年时间员工人数翻了一番! 最大的两个团队是开发工程师和运维,都是400-500人的规模 猪头宝,在Facebook,运维跟开发是一样重要的。运维才不是用vender提供的软件,然后按manual去step by step的做事情。 有很多创造性
【51CTO独家特稿】设计模式再“高级”一点,便是所谓的“框架”了。 从事Web开发,一般都会接触到MVC框架这个概念。 M:也就是Model,直接跟网站数据库相关。 V:也就是View,是网页的模版,跟显示数据相关。 C:则是Controller,相当于网站的业务逻辑。 MVC也不仅仅是应用于网站开发,它的概念实际上植根于桌面软件,并且在
设计模式,应该是很多ED心目中牛B的编程方式。 上回说到ED的好书POEE,实际上便是一本专门讲企业开发中使用的设计模式中的书。 设计模式,并不多,基本上看完GoF的这边《Design Pattern》便可以有足够了解了。 而实际开发中常用的设计模式更是屈指可数,Singleton,Factory,Facade,Active Record、Provider等等。 就那么几个,花花功夫,仔细
男主角:Wuvist(新浪微博),真名翁伟,自称胖程序员一个,幸好已婚。学习.NET出身,现常用Python做服务器端开发,曾任新加坡某创业公司主程。公司被Techcrunch blog过后,觉得新加坡生活太过安逸,终于在去年辞职只身回家乡汕头创业,活跃于珠三角技术沙龙,热衷于与其他技术宅分享。 本文作者:Wuvist 女主角:Katze,Wuvist的老婆,女程序员,在某跨国投行任Uni
男主角:Wuvist(新浪微博),真名翁伟,自称胖程序员一个,幸好已婚。学习.NET出身,现常用Python做服务器端开发,曾任新加坡某创业公司主程。公司被techcrunch blog过后,觉得新加坡生活太过安逸,终于于去年辞职只身回家乡汕头创业,活跃于珠三角技术沙龙,热衷于与其他技术宅分享。 本文作者:Wuvist 女主角:Katze,Wuvist的老婆,女程序员,在某跨国投行任Uni
从今天起将开始的这个系列来自一位宅男程序员,这个系列是他写给老婆的电脑课程,后来经他老婆的建议,决定在51CTO这个平台上公开出来与大家分享。 在系列开始之前,先介绍一下两位主人公—— 男主角:Wuvist(新浪微博),真名翁伟,自称胖程序员一个,幸好已婚。学习.net出身,现常用python做服务器端开发,曾任新加坡某创业公司主程。公司被techcrunch blog
昨晚(2011/06/28)新浪微博也出现“黑客”攻击蛮有代表性;网站上流行的XSS( Cross-Site-Script) / XSRF ( Cross-site request forgery ) 往往是被web开发者忽视的,这里记述一下相关的事情。 先说新浪微博。 昨天的攻击情况介绍可以参考: * http://soft.yesky.com/securi
在各种语言平台中,python涌现的web框架恐怕是最多的;猜想原因应该是在py中构造框架十分简单,使得轮子不断被发明。 这里记述一下我了解过的两个py web框架,供大家参考,希望能起他山之石的作用。 ====== Django ====== Django 应该是最出名的py框架,Google App Engine甚至Erlang都有框架受它影响。 Django是走大而全的方
技术人员在选择技术方向投入时,看清楚一种技术能够取得的成长非常重要。 ====== 使用抽象 ====== 微软的技术中有很多好东西,但是它也有大量为了吸引初级程序员而推出的技术,这类技术的本质就是做高层次封装,让特定场景的开发变得极其“简单”/“快速”。 学习类似这样技术的时候,必须保持清醒,明确了解这些技术实际上仅是在做&ldquo
之前三篇讲了MoSonic整体设计上的思路参考。这篇讲一下其中的一些细节优化方面遇到的问题。 Cache Money对于查询类型的要求限制的非常死,整个系统变成只有两种查询: select id from table where simple condition select * from table where id = XXX 假设有user表,有passw
接上文。 Cache Money虽然解决了数据的读取性能瓶颈;但开发大网站数据库面临的问题远不至读压力。 首先是容量。 上千万/亿的数据量并不罕见,单一物理数据库服务器即便单纯承担写压力也会是瓶颈。更何况Cache Money仅仅是在理想状况下才可以做到数据库0读。缓存服务器更新,新增查询,复杂查询等等都还会造成读压力。 比较常见的做法是采用分表,也就是所谓的Sharding,把数据按照一
接上文。 Cache Money真正牛X的地方是在Vector Cache。在生产环境中,它不仅相对Object Cache命中率较更高,带来的性能飞跃更是可观。 在MoSonic的性能测试中,得到了有10倍的性能提高。 Vector Cache性能恐怖,但它对表结构,查询类型,有相当的严格的要求;列举如下: 表必须以自增数字(int / long)id为主键 查
在公司内部项目实现过程中团队对SubSonic增加了分布式存储,透明对象缓存,透明查询缓存的支持;内部使用了两三年,并且在持续改进中。 MoSonic支持海量数据存储,在web 2.0常见场景中其透明缓存层亦可带来10倍以上的读取性能提高。 这里写blog记述一下。 改进参考/使用了: FriendFeed Schemaless Database Desig
原文网址:http://www.blogwind.com/Wuvist/74545.shtml =================================== 非常搞,等了快一年Discuz!NT的免费版本依旧不支持64位Windows。 官方出了64位windows支持的指南居然是叫用户把IIS设置为32位兼容模式。。。说了等于没说,这不叫在64位Windows下运行Discu
(这个是老掉牙的问题;不许笑~) 列举一下各种分页风格。 风格1. Page Number with/out PageSize 这应该最常见的分页方式。 ASP时代record set对象对此有直接支持;但rs实际上是从数据库中获取了所有数据,在应用中做了分页;性能极其低下(ASP.Net早期的 DataGrid似乎也有此传统。)。 好处:简单/易懂;往往有总页数支持,用户体验较
iPhone的SDK还需要两个月才出来……现在要给iPhone开发app的话,唯一的官方推荐方式就是走web app的道路…… 水果牌的魅力无穷……即便有browser的局限,还是有不少精彩的iphone web app浮现…… Facebook的iPhone版本,简直就做得
原文网址: http://www.blogwind.com/Wuvist/56788.shtml Katze,是德文猫的意思,猫是很懒的……用Katze为偶这个“ORM”命名,是要强调其目的:少打代码。ORM加引号,是因为偶不认为它是真正的ORM,它只是个穿上ORM马甲的SqlHelper……它没有xml配置文件
原文网址:http://www.blogwind.com/Wuvist/54115.shtml 很久以前就想写这篇blog,系统的介绍一下偶是如何使用Gettext给blogwind做多语言界面的…… 很不喜欢.net内置的多语言解决方案……因为,它使用xml……编辑xml是一件很痛
原文网址:http://www.blogwind.com/Wuvist/49979.shtml 基本上,Django on IronPython and Windows毫无实际应用意义……纯粹个人无聊尝试而已…… 无论如何,it works…… 尝试之前偶google过…&h
原文网址:http://www.blogwind.com/Wuvist/42999.shtml 在.Net framework中StreamReader的使用encoding必须在构造器中指定,而且中途完全不可以更改。 在一般的情况下,这不会造成什么问题。一般若是从硬盘读取文件,单一文件内的编码一般都是统一的。即便是发现读错,亦可以关闭StreamReader,重启使用
偶这辈子大概只用过两个下载软件:Netants跟影音传送带。 非常偶尔也用用Bitcomet/Azureus BT一下…… 当年使用56K小猫的时候,偶倒是经常下载东西……游戏、软件、音乐等等……Netants简直就是偶上网必开软件…… 进入宽带时代后,我还是一直使用Netan
原文网址:http://www.blogwind.com/Wuvist/29321.shtml 本来,我不觉得我这篇东西应该上博客园首页,因为跟.Net无关,但,碰巧现在首页上有篇东西是讲FCKEditor(http://www.cnblogs.com/esshs/archive/2006/04/07/369169.html)的……既然讲FCKEditor的可
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号