总结
cendy_69576750
这个作者很懒,什么都没留下…
展开
-
编写高质量的代码(1)
高效程序员:第一:激情,就是对你的工作感兴趣.第二:有很强的分析能力. 第三:高质量的编码.第四:快速的解决程序的问题.第五:发散思维.第六:团队默契合作.第七:相信总可以解决任何问题. 稍后等于永不! 写代码要循序渐进,即写一段代码就运行检验一下; 对于程序员来说,简单、易读、高可维护性和复用性,这些才是重要的!100W行代码,质的变化原创 2012-12-29 23:55:05 · 4657 阅读 · 0 评论 -
iBatis总结
iBatis着力于POJO与SQL之间的映射关系,iBatis不会在运行期自动生成SQL语句执行。具体的SQL语句需要编写,然后通过映射配置文件,将SQL所需的参数以及返回的结果字段映射到指定POJO。 ORM:对象与表一一映射;iBatis:半自动化,对象-sql-数据表;1、iBatis In Action(1)SQL Map配置文件:用于配置数据源等配置信息,要包原创 2012-11-07 13:04:56 · 744 阅读 · 0 评论 -
编写高质量的代码(2)
1、原则(1)OCP开放-关闭原则:指导封装;(2)SRP单一职责原则:粒度控制;(3)DIP依赖倒置原则:(4)LSP里氏替换原则:指导多态;(5)ISP接口隔离原则:粒度控制;(2)合理使用注释同步修改注释,和代码保持一致;注释加在接口上;(3)避免空指针对于允许其值为null的变量,在对其操作前,需要预先判断其是否为null。原创 2013-09-23 00:00:30 · 796 阅读 · 0 评论 -
CSS总结
css最重要的三点:框模型(box model)、定位(position)和浮动(float);《精通CSS》、《HTML XHTML与CSS基础教程》(第六版)1、CSS In Action(1)使用DW编写;(2)2、TIPS(1)样式和样式表样式是由”属性名:属性值“组成;样式表是由”属性名:属性值;属性名:属性值;....“组成;原创 2012-09-04 19:27:14 · 812 阅读 · 0 评论 -
NOSQL简介
关系型数据库的优点与劣势:优点:a、数据库事务一致性需求很多web实时系统并不要求严格的数据库事务。b、对复杂的SQL查询,特别是多表关联查询的需求任何大数据量的web系统,都非常忌讳多个大表的关联查询。从需求以及产品设计角度,就避免了这种情况的产生。往往更多的只是单表的主键查询。c、数据库的写实时性和读实时性需求对关系数据库来说,插入一条数据之后立刻查询,是肯定可以读原创 2013-01-31 15:10:30 · 683 阅读 · 0 评论 -
HTTP协议总结
1、TIPS(1)HTTP协议包括:建立连接HTTP请求消息:请求方法 URI 协议/版本(即请求行)、消息头、空行(只有CRLF的行)、消息体;HTTP响应消息:协议 状态码 描述(即状态行)、消息头、空行(只有CRLF的行)、消息体;断开连接 一次连接可以有多个请求。如页面中的图片、js、css等都是单独的请求。(2)http头包括通用头、请求头、响应头原创 2012-09-20 14:35:22 · 1870 阅读 · 0 评论 -
大型web解决方案
1、大的并发量如何解决?2、大的数据如何存储?主从复制、读写分离、分区、集群3、网站如何加速?a、Squid代理缓存技术b、页面静态化缓存c、Memcached、Sphinx搜索加速4、服务器性能、磁盘如何监控?原创 2013-08-22 22:56:41 · 758 阅读 · 0 评论 -
MySQL5 总结(2)——优化篇
改善性能:a、调整内存分配、缓冲区大小等。b、不止有一种方法编写同一条select语句。应试验联结、并、子查询等,找出最佳方法;c、使用explain语句让MySQL解释它将如何执行一条SQL语句;d、使用正确的数据类型;e、不要检索比需求还多的数据,检索不需要的列会降低性能;f、在导入数据时,应关闭自动提交;g、必须索引数据库表来提升数据检索的性能;h、数据库是不原创 2012-09-10 10:17:19 · 614 阅读 · 0 评论 -
高效程序员的45个习惯
1、In Action(1)(2) 2、TIPS(1)(2) 3、PS(1)(2)原创 2013-08-05 11:53:09 · 1146 阅读 · 0 评论 -
DWR总结
使用DWR框架,可以将java组件的方法直接暴露给js客户端,即客户端js代码直接调用远程的java方法,类似于java的远程方法调用。DWR可以和spring整合,直接调用spring容器中的bean。也可以访问servlet API。 DWR框架包括两部分:a、客户端的js。使用它们可以直接调用远程服务器的java方法。此外,DWR还提供了一些工具函数简化DOM操作。b、服原创 2012-10-13 15:36:21 · 598 阅读 · 0 评论 -
从小工到专家
软件架构用接口实现的!每一层针对接口编程。开发前期,先开发接口! 优秀的程序员:责任心(态度)、习惯; 靠的就是卖力工作、拼命把所有事情搞清楚、认真地去做。 1、TIPS(1)三个问题:我以后会做什么?我热爱什么?我是否过得快乐?(2)软件开发:重视每行代码,面向对象的概念将在每行代码中展现出来,在代码中体现出深厚的理论根基。需考虑可扩展性、原创 2013-02-03 19:15:12 · 481 阅读 · 0 评论 -
Java Design Pattern(3)
1、TIPS(1)命令模式定义:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。采用命令模式的解决方案:Command:定义命令的接口,声明执行的方法;ConcreteCommand:命令接口实现对象:通常会持有接收者,并调用接收者的功能来完成命令要执行的功能;Receiver:接收者,真正执原创 2012-12-13 00:15:42 · 386 阅读 · 0 评论 -
索引、视图、游标、存储过程和触发器理解总结
1、索引 1-1、索引的概述 我们把一个表中的一列或者多列和列中元素所在表中记录的物理地址组合成一个新的表。这个表的记录大致为列的内容和该列所在记录的物理地址。 1-2、索引的优缺点 优点:大大加快了对源表的执行速度,我们对索引表的检索就可以实现对源表的检索。到底快在哪里?举例说明:原创 2012-08-05 15:27:34 · 844 阅读 · 0 评论 -
MySQL 5总结(3)——管理篇
1、TIPS(1)访问控制即给用户提供他们所需的访问权。管理访问控制需要创建和管理用户账号。不要在日常的MySQL操作中使用root。(2)管理用户MySQL用户账号和信息存储在名为mysql的数据库中。需要获得所有用户账号列表:use mysql;select user from user;a、创建用户账号create user 用户名 ident原创 2012-09-19 00:23:10 · 662 阅读 · 0 评论 -
存储过程
1、TIPS(1)SQL语句在执行时需先编译再执行。存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给定参数来调用执行它。 一个存储过程是一个可编程的函数,在数据库中创建并保存。 可对存储过程设置权限,这样可以避免非授权用户对数据的访问。MySQL5.0开始支持存储过程,能提高数据库处理速度。 MySQL存储过程原创 2013-01-21 16:18:18 · 336 阅读 · 0 评论 -
MySQL5 总结(1)——开发篇
相同数据不要出现多次,一是重复,二是不利于修改维护。因此就有了关系数据库。关系表的设计是为了保证把信息分解成多个表。一类数据一个表,各表通过某些常用的值互相关联。关系数据库可有效存储和方便处理,因此,关系数据库的可伸缩性比非关系数据库要好。 三个层次:数据库开发、优化、管理;1、关系数据库设计三范式(即原则,目的是不存在冗余数据):第一范式:要有主键、列不可分;原创 2012-09-04 19:33:26 · 1160 阅读 · 0 评论 -
web前端开发总结
简化代码,使页面简洁!web前端开发——将界面更好呈现给用户! 要了解在不同浏览器上的兼容情况、渲染原理和存在的bug!网站性能优化、SEO; 代码的可维护性、性能; 网站重构的本质:建立一个前端灵活的MVC框架,代码具有复用性;web标准:结构、样式和行为的分离;理想状态下,网页源代码由html文件、css文件和js文件组成! 高质量的代码:精简、重用原创 2013-02-19 17:01:12 · 6878 阅读 · 0 评论 -
Spring Internals
spiing框架的核心组件的设计理念?有哪几个核心组件?为什么需要这些组件?如何结合在一起的?spring的AOP特性如何利用这些基础的核心组件工作的?spirng使用了哪些设计模式来完成它的设计?这种设计理念对软件设计有何启示? 1、In Action(1)获取spring源代码。一般开源软件都有工具进行源代码管理,找到地址就可以下载了。如spring源代码由svn管理,只要找到此s原创 2013-01-08 00:07:19 · 690 阅读 · 0 评论 -
数据分析&建模
1、TIPS(1)(2)2、PS(1)数据 + 逻辑 ——>结论。提出问题(what)——分析问题(why)——解决问题(how);定量得出结论 《魔鬼经济学》 思维导图 《统计学的世界》(2)原创 2012-12-19 22:24:04 · 374 阅读 · 0 评论 -
JVM总结
1、In Action(1)(2)2、TIPS(1)JVM主要包括两个子系统和两个组件。两个子系统分别是Classloader子系统和Execution engine(执行引擎)子系统;两个组件分别是Runtime data area(运行时数据区域)组件和Native interface(本地接口)组件; Classloader子系统的作用:根据给定的原创 2013-01-01 00:39:13 · 393 阅读 · 0 评论 -
EJB总结
EJB:会话Bean(实现会话中的业务逻辑)和实体Bean(实现一个业务实体);会话Bean分为有状态(实例始终与一个特定客户关联,实例变量可维护特定客户的状态)和无状态。 1、TIPS(1)web客户——>web容器(web应用)——EJB容器(EJB组件)——>DBJavaEE应用服务器包括web容器和EJB容器。 (2)application client——>E原创 2012-12-13 14:24:27 · 381 阅读 · 0 评论 -
Ruby On Rails
1、In Action(1)(2) 2、TIPS(1)(2) 3、PS(1)(2)原创 2012-12-21 12:03:34 · 376 阅读 · 0 评论 -
重构总结
1、TIPS(1)什么是重构?重构就是修改已有代码,以更加高效和简洁的方式实现相同任务。(2)何时重构?(3)如何测试重构?(4)如何发现哪些地方需要重构?(5)怎样重构?a、if/else语句的危害b、switch语句的危害c、复杂条件表达式重构(6)重构到模式a、软件设计的基本原则b、设计模式的本质(7)重构到模式手段a、以state取代原创 2012-09-04 19:39:12 · 553 阅读 · 0 评论 -
业务分析与需求建模
1、TIPS(1)为什么需要开发原型?a、解决产品开发早期阶段需求的不确定性,减少项目的风险。b、通过展示原型给客户,从客户获得反馈,细化需求。原型最主要的功能是表现界面。(2)三种提问方式开放式问题:通过开放式问题了解客户的工作任务。了解客户日常的故事。封闭式问题:通过封闭式问题明确一些事实或业务中的规则。确认性问题:通过确认性问题确保你对问题的理原创 2013-02-03 19:15:27 · 539 阅读 · 0 评论 -
c/c++总结
1、TIPS(1)externa、引用另一个c文件中的变量和方法;如:extern int i; extern void call();b、cpp文件引用c文件中定义的方法和变量;如:extern "c" { int i; void call();} (2)const修饰变量:值不可变;修饰函数参数:函数体中不能修改参数的值原创 2012-12-20 11:22:16 · 380 阅读 · 0 评论 -
职场论
1 对待第一份工作,合理安排时间,全情投入,调动一切可调动资源;2 第一份工作,好雇主比好岗位重要;3 好工作是干出来的,不是挑出来的;4 商业人才、技术人才5 为自己的resume而活;6 敬业 + 坚持7 打败自己的永远都是自己的怯懦8 知耻而后勇9 找到适合、热爱的职业10 学会在价值观上进行退让,要设立底线11 做事的规则组织定,一定要执行12原创 2012-08-31 23:11:43 · 372 阅读 · 0 评论 -
Effective Java总结
简洁!首先学会基本的规则,然后要知道什么时候可以打破这些规则!仅编写出能有效工作且能被别人理解的代码是不够的,还必须把代码组织成易于修改的形式!代码应该被重用,而不是被拷贝! 1、In Action(1)(2)(3) 1、TIPS(1)创建和销毁对象a、用静态工厂方法代替构造器。静态工厂方法不必在每次调用它时都创建一个新对象。可将构建好的实例缓存原创 2012-12-10 18:15:51 · 575 阅读 · 0 评论 -
Java Design Pattern(1)
设计模式:在软件开发中,用于解决特定环境下,特定问题的方法;Java设计模式,也就是GoF提到的23个设计模式。创建型模式:抽象了对象实例化的过程,用来帮助创建对象的实例;如:单例模式、原型模式、生成器模式、简单工厂、抽象工厂、工厂方法等。结构型模式:描述如何组合类和对象以获得更大的结构;行为型模式:描述算法和对象间职责的分配;面向接口编程:不改动原来的代码实现原创 2012-11-16 23:42:00 · 506 阅读 · 0 评论 -
软件工程
主要是三点:方法、工具(面向对象的分析、设计工具)、过程。软件工程:从管理和技术两方面研究如何更好开发和维护软件的。内容:基本原理(概念)、方法、技术实践:分阶段文档。内容:a、软件、软件工程的基本概念b、软件过程、软件开发模型c、面向数据流软件系统分析、设计方法d、面向对象的软件系统分析、设计方法e、UML、RUP及其工具f、软件测原创 2013-03-24 12:17:28 · 809 阅读 · 0 评论 -
FindBugs使用
1、In Action(1)Findbugs的Eclipse插件安装方法a、在线安装安装地址:http://findbugs.cs.umd.edu/eclipseb、离线安装下载Findbugs插件,将它放入Eclipse下的plugins文件夹,然后重启Eclipse (2)FindBugs的Eclipse插件使用 安装了Findbugs插件后。右击点击你要检查的原创 2013-05-10 10:06:24 · 547 阅读 · 0 评论 -
网页制作
李振华等,清华大学出版社《网页制作实训教程》侯东梅等,清华大学出版社网站制作基本过程网站制作常用工具网页中常见的素材1、TIPS(1)2、PS(1)原创 2013-03-24 14:17:54 · 1152 阅读 · 0 评论 -
HTML总结
默认情况下,网页内容与浏览器边框之间是有距离的。因为有些html元素有默认的值。逻辑思维 == 推理;1、In Action(1)网页制作工具:DW(2) 2、TIPS(1)HTML中,如属性值本身包含引号,此时可使用单引号来包含属性值。如:name='"Tom"'(2)HTML实体作用:有些字符在html中有特殊含义,如想让浏览器显示此字符原创 2012-09-04 19:28:24 · 2032 阅读 · 1 评论 -
web前端性能优化总结
1、页面访问过程DNS查询——建立连接——HTTP——渲染页面其中HTTP包括发送请求、服务器响应、接收数据;渲染页面包括预处理、缓存等。原创 2012-09-16 20:16:16 · 567 阅读 · 0 评论 -
并发编程
1、In Action(1)执行的可能路径Java代码会变成字节码指令。对于指令系列中有N个指令和T个线程,没有循环或条件分支的简单情况,总的执行路径数量等于(NT)! / (N!)的T次幂。 根据java内存模型,32位值的赋值操作是不可中断的。如 int a = 2;根据JVM规约,64位值的赋值需要两次32位赋值。 框架——每个方法调用都需要一个原创 2013-08-18 16:16:29 · 694 阅读 · 0 评论 -
事务总结
1、TIPS(1)事务指一个单元的操作,这些操作要么全做,要么全不做。一个逻辑操作单元要成为事务,必须满足ACID属性。即原子性、一致性、隔离性、持久性。 数据库的事务:访问并可能更新各种数据项的一个程序执行单元。 SQL的四个事务隔离级别:a、read uncommitted:禁止两个事务同时写数据;b、read committed:当一个事务在写数据时,禁止其他原创 2012-10-10 14:27:09 · 586 阅读 · 0 评论 -
Java Web安全
1、In Action(1)Keytool工具的使用(2)SSL/TLS的工作原理(3)1、TIPS(1)对称加密与非对称加密对称加密:也叫密钥加密,速度快,加密和解密的钥匙必须相同,只有通信双方才能知道钥匙;非对称加密:也叫公钥加密,速度慢,加密和解密的钥匙不相同,某一个人持有私钥,任何人都可以知道公钥;(2)数字摘要与MD5/SHA算法作用:数据的完原创 2012-12-16 16:50:06 · 387 阅读 · 0 评论 -
php5总结
PHP主要是在web开发中用于服务器端的脚步程序。PHP需要安装PHP应用程序服务器去解释执行,是用来协助web服务器工作的编程语言。1、In Action(1)搭建PHP的开发环境一、windows下载php-5.2.6-Win32.zip文件。安装PHP服务器时,有两个任务必须完成:a、PHP属于Apache服务器的一个模块,因此必须在Apache里加载原创 2013-01-21 21:05:07 · 400 阅读 · 0 评论 -
Token机制
利用Token机制可以解决表单重复提交问题。实质是服务器端每次都生成一个不同的Token值返回给客户端,同时保存在session里。客户端提交表单时,必须把此token值提交给服务器。程序判断存储在session中的Token值和请求参数中的Token值是否一致。不一致说明本次操作已经被提交过了。 1、什么是表单重复提交如:对于注册表单,若用户已提交表单且服务器端成功注册了用户信息。此原创 2012-09-13 11:35:48 · 24334 阅读 · 0 评论 -
数据结构
专业的程序设计人员,必须掌握基本的数据结构基础和常用的算法。 数据结构:组织程序中的数据。指计算机内部数据的组织形式和存储方法。 1、TIPS(1)数据结构逻辑结构:线形结构和非线性结构。即线性结构(顺序表、链表)、树、图;物理结构(存储结构):顺序存储、链接存储、索引存储、散列存储。 静态顺序表:内存大小固定;动态顺序表:建立在动态存储区,可变;二原创 2012-12-19 23:04:00 · 468 阅读 · 0 评论 -
Java Design Pattern(2)
1、TIPS(1)生成器模式(Builder)定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。解决问题:要实现同样的构建过程可以创建不同的表现——>先把构建过程独立出来,在生成器模式中将其称为指导者,由它来指导装配过程,但是不负责每步具体的实现。必须要有能具体实现每步的对象,在生成器模式中称这些实现对象为生成器。采用生成器模式的解原创 2012-12-07 00:51:15 · 609 阅读 · 0 评论