自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Xanthin的博客

一个合格的程序员,不会写出“摧毁地球”的方法。他会写一个方法叫“摧毁行星”,然后把地球作为参数传进去。

  • 博客(31)
  • 问答 (1)
  • 收藏
  • 关注

原创 《人月神话》读书笔记(十三)

第十四章 祸起萧墙项目进度经常以一种难以察觉,但是残酷无情的方式慢慢落后。每件事情都只会将某项活动延迟半天或一天,但是积累起来,整个项目进度就出现了灾难性的偏移。“通常灾祸来自白蚁的施虐,而不是龙卷风的侵袭”。要想严格地控制项目进度。第一步是要制定一个进度表,进度表上的每一件事被称为“里程碑”,有一个明确的期限日期。里程碑必须要是具体的、特定的、可度量的事件。如果里程碑定义得非常明确,无法自欺欺人时,很少有人会就里程碑的进度弄虚作假。但是如果里程碑很模糊,老板就常常会得到一份与实际情况不符的报告。当里

2021-11-11 23:44:54 163

原创 《人月神话》读书笔记(十二)

第十三章 整体部分产品的概念完整性在使他易于使用的同时,也使开发更容易进行,而且bug更不容易产生。细致的功能定义、仔细的规格说明、规范化的功能描述以及这些方法的实施,大大减少了系统中必须查找的bug数量。自上而下的设计可以自上而下的设计方法对系统进行设计,先将系统分割成独立的模块,再识别各个模块里面的功能组件继续往下分解,分解的细化程度决定了程序的适用性和可变化的程度。采用这种设计方法的优点为以下几点:首先,清晰的结构和表达方式更容易对需求和模块功能进行精确地描述。其次,模块分割和模块独立性避

2021-11-09 21:21:54 111

原创 《人月神话》读书笔记(十一)

第十二章 干将莫邪每个编程人员根据自己习惯、技能的不同,会有自己的一套个性化的工具集。但是,在软件项目中并不提倡个性化的工具集。原因是以下三点:第一、对软件项目来说,最关键的问题是沟通,个性化的工具会妨碍而非促进沟通。第二、当机器和工具语言发生变化时,技术也会随之变化,所有工具的生命周期都是很短的。第三、在团队里提倡开发和维护公共的通用编程工具的效率会更高“工欲善其事,必先利其器”。因此,项目经理必须要考虑、计划并分配项目中的通用工具资源。可以配备一名工具管理人员。这个角色管理所有的通用工具,能

2021-11-08 21:47:36 118

原创 《人月神话》读书笔记(十)

第十一章 未雨绸缪开发人员交付的是用户满意度,而不仅仅是有形的产品。用户的实际需要和用户感觉会随着程序的构建、测试和使用而变化。项目目标上的一些变化无可避免,事先为它们做准备总比假设它们不会出现要好很多。不但目标上的变化不可避免,而且设计策略和技术上的变化也不可避免。对于大多数项目,第一个开发的系统并不合用。它可能太慢、太大,而且难以使用,或者三者兼而有之。要解决所有的问题,除了重新开始以外,没有其他的办法(也就是我们现在常说的重构)。这一块我是深有体会,曾经做过一套停车服务的系统,因为是首次接触

2021-11-06 23:09:26 132

原创 《人月神话》读书笔记(九)

第十章 提纲挈领文档在管理工作中非常重要。如果没有清晰明朗的文档,项目往往会处于无休止的混乱之中。文档的作用主要分为以下三点:首先,书面记录决策是必要的。只有记录下来,分歧才会明朗,矛盾才会突出。第二,文档能够作为同其他人的沟通渠道。项目经理的基本职责是使每个人都向着相同的方向前进,所以他的主要工作是沟通,而不是做出决定。文档能极大地减轻他的负担。最后,文档可以作为汇报的数据基础和检查列表。通过周期性的回顾,项目经理可以清楚项目所处的状态,以及哪些需要重点进行更改和调整。通过遵循文档开展工作,项

2021-11-04 21:21:47 134

原创 《人月神话》读书笔记(八)

第八章 胸有成竹这一章的开头标语是“实践是最好的老师,但智者还能从其他的地方有所收获”。本章引用了大量实践过程中的数据和图表,用来说明了估计开发工作量的技术。主要以单个程序员每年产生的指令代码行作为生产率的估计单位。生产率也会根据任务本身的复杂度和困难程度表现出显著差异。因为我平时工作中几乎用不到这种估计的技术,这里就不详细讨论了。第九章 削足适履对项目经理而言,规模控制是技术工作的一部分,也是管理工作的一部分。他必须研究用户和用户需求,以设置待开发系统的规模。接着,把这些系统划分成若干部分,并设定

2021-11-03 23:01:17 169

原创 《人月神话》读书笔记(七)

第七章 为什么巴比伦塔会失败据《创世纪》记载,巴比伦塔是人类继诺亚方舟之后的第二大工程壮举,同时,其也是一个彻底失败的工程。我们把建造巴比伦塔单纯作为一个工程项目来看待,进行经验总结。(1)项目的目标:建造一座高达云霄的高塔(2)项目资源:人力资源非常充足,在美索不达米亚有丰富的泥土和柏油沥青,材料资源也很充足(3)项目工期:没有任何时间限制的迹象(4)项目所需的技术:对砖石建筑技术,人类已经有过建造金字塔这种稳定结构的经验人们已经具备了以上的条件,然而这个项目还是失败了。失败的原因,是因为上

2021-10-22 22:47:40 143

原创 《人月神话》读书笔记(六)

第六章 贯彻执行我们组建好了一个团队,要正式开始执行项目任务了。那么在执行过程中,如何确保项目团队的每个人都能听到、理解项目的需求?如何保证系统概念的完整性?可以通过以下几种方式来达到目的:一、需求规格说明书书里的文字描述是“文档化的规格说明-手册”,根据我的理解,这里说的应该就是用于项目团队内部以及外部沟通对接需求的“需求规格说明书”。为了保持文字风格和产品的一致性,须由一个或两个人来完成将结论转成书面规格的说明的工作。需求规格说明书的风格必须要清晰、完整和准确。我们可以结合形式化定义和记叙性定

2021-10-19 22:00:10 103

原创 《人月神话》读书笔记(五)

第五章 画蛇添足估算和责任分工是制定计划很关键的一环。实际情况中,尽早交流和持续沟通能够使项目经理能有更好的成本意识,项目经理能及时改进他的估算或修订计划,使开发人员获得对设计的信心,并且不会混淆各自的分工。面对估算过高的时候,项目经理有两个选择:削减设计(砍需求)或者采用成本更低的实现方法。若采取后者,项目经理则是在向开发人员的做事方式提出挑战,想要成功,必须:(1)牢记开发人员承担主要的功能实现创造任务,所以项目经理只能建议其使用成本更低的方法,而不是支配;(2)时刻准备着一种实现方法的建议,同

2021-10-09 23:34:26 109

原创 《人月神话》读书笔记(四)

第四章 贵族专制、民主政治和系统设计在系统设计中,概念完整性应该是最重要的考虑因素。软件的目的是使计算机更加容易使用,能用最简洁和直接的方式来指明事情的系统是最好的,而简洁和直白就来自系统概念的完整性。系统的每个部分必须反映一致的原理需求,保持统一的设计思想。但是,绝大多数的系统都体现出了概念差异和不一致性。这是由于设计被分成了由若干人完成的若干任务。为了保证概念完整性,因此要求设计必须由一个人,或者非常少数互有默契的人员来实现。这就是本章提及的“贵族专制统治”。然而,大型的项目为了满足进度要求,必须

2021-09-28 23:31:03 128

原创 《人月神话》读书笔记(三)

第三章 外科手术团队由一流人才组成的小型、精干的团队是非常高效的。优秀的程序员和较差的程序员的生产率有10倍之差!“需要协作沟通的人员数量影响着开发成本,因为成本的主要组成部分是相互的沟通和交流”。所以,在一般的中小型系统开发中,应该由尽可能少的人来开发,这是小型精干团队的优势。但是,在面对大型系统时,小型团队的生产率是有限的,“它太慢了”!为什么会慢,布鲁克斯用了OS/360的开发规模来很好的描述了上述的问题:OS/360项目的总投入成员超过1000人,从1963年到1966年,总工作量花费了大约50

2021-09-27 00:49:37 169

原创 《人月神话》读书笔记(二)

第二章 人月神话“在众多软件项目中,缺乏合理的进度安排是造成项目滞后的最主要原因”,为什么会缺乏合理的进度安排,布鲁克斯从以下几点进行了说明:一、所有的编程人员都是乐观主义者程序员对自己的任务进度都非常乐观:“一切都将运作良好”,“所有的任务都可以按时完成”。然而,程序员的构思是会有缺陷的,因此总会发现bug。如果每个任务都保持着太乐观的心态,一旦每个任务都延误了,那就是整个项目的大型崩溃现场了。二、用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话人月单位仅适用于以下场景:某个任务可以单独

2021-09-25 00:39:50 129

原创 《人月神话》读书笔记(一)

这是我第二遍读《人月神话》,然而惭愧的是,我第一遍读完还只是两天前的事。读第一遍的时候,里面很多的内容我觉得非常晦涩难懂,但还是坚持读了下来。第一遍读完之后,就开始看书后的读者感言,也在网上找其他人的读后感来看,才真正加深了理解。如果有跟我一样,在第一次读这本书觉得很难读的,我还是建议您坚持读完,然后去参考其他人的读后感,你也能领会到这本书的精华所在。“这个领域的知识在于累积”。这句话是我在读第二遍的时候才从序言里注意到的,我这段时间开始读书,也不断地在寻找着读书的理由,当我再次翻开第一章开头,“前车之

2021-09-24 00:03:18 184

原创 Centos6.5 Mysql主从同步备份操作记录

因项目需求,需要做一个数据库备份。于是从网上查了很多资料。最终通过执行数据库脚本来完成两个数据库之间的连接。为了巩固知识,在这里记录下实际操作以及操作时遇到的问题。数据库主从复制的优点: 1、 如果主服务器出现问题, 可以快速切换到从服务器提供的服务,保证高可用性 2、 可以在从服务器上执行查询操作, 降低主服务器的访问压力 3、 可以在从服务器上执行备份, 以避免备份期间影响主服务器的服务操

2017-11-15 11:55:31 531

原创 常用SQL命令

CRUD–(创建、读取、更新、删除)一、 创建数据1.1、建表语句 CREATE TABLE table_name(column_1 data_type,column_2 data_type,column_3 data_type,); 1.2、插入式添加数据 INSERT INTO TABLE table_name (column_1,column_2,…,column_3) VALUES (

2016-12-28 16:10:23 390

原创 注解笔记

一、Java中常见注解(1)JDK自带注解 @Override 覆盖了父类或接口的方法(重写) @Deprecated 标记方法过时 @SuppressWarnings 标记忽略警告(2)第三方注解 如Spring的:@Autowired @Service二、注解分类(1)按运行机制分为 1.1、源码注解 只在源码存在,编译成.class文件后不存在 1.2、编译时注解 在源码和.c

2016-12-26 16:03:55 411

原创 反射笔记

一、Class类(1)类是对象,类是java.lang.Class的实例对象 (2)数据类型不是对象,静态的东西也不是对象 (3)Class类的对象表示:如 Class A{}//A类的实例对象如何表示 A a = new A(); //a就表示A类的实例对象//任何一个类都是Class类的实例对象,有三种表示形式//第一种→实际在告诉我们任何一个类都有一个隐含的静态成员变量clas

2016-12-21 17:26:09 409

原创 异常笔记

一、异常处理的作用能够将异常提示给变成人员或者用户,使本来已经终端的程序能够继续运行或者推出,并且能保存用户当前的操作或者数据回滚,并能把占有的资源释放掉。二、Error与Exception的区别(1)都继承Throwable类 (2)Error表示系统错误,如内存溢出、虚拟机错误(VirtualMachineError)、线程死锁(ThreadDeath),是系统或者硬件的错误 (3)Exce

2016-11-24 18:13:27 362

转载 URL、URI和URN三者之间的区别

原文:“http://web.jobbole.com/83452/#article-comment”区别首先我们要弄清楚一件事:URL和URN都是URI的子集。换言之,URL和URN都是URI,但是URI不一定是URL或者URN。为了更好的理解这个概念,看下面这张图片。通过下面的例子(源自 Wikipedia),我们可以很好地理解URN 和 URL之间的区别。如果是一个人,我们会想到他的姓名和住址。

2016-08-22 16:42:12 5035 1

原创 多线程笔记

一、程序、进程与线程的区别1.1、程序 利用某种编程语言,结合某些开发工具开发出来的应用程式,没运行前是静态的。 1.2、进程 正在运行的程序,动态的,进程与进程间独立存在,数据独享。 1.3、线程: 进程在运行过程中的走向二、实现多线程2.1、实现Runnable接口public class A implements Runnable { @Override public

2016-07-05 18:09:45 364

原创 网络编程笔记

借助代码的方式实现不同计算机(不同进程)之间的通讯称为网络编程。 核心要素: (1)网络定位 IP + 端口 Port(唯一,一个进程对应一个端口号,1024-65535之间) (2)通讯协议 TCP:传输控制协议 UDP:用户数据报协议 (3)基于TCP协议的网络编程 客户端:Socket client = new Socket(url,port); 服务端:ServerSoc

2016-07-05 17:39:12 436

原创 IO与文件笔记

一、File1.1、//通过路径指向了磁盘的一个资源File file = new File("c:\\temp\\abc");1.2、//创建文件或目录file.createNewFile();//建文件file.mkdir();//建目录file.mkdirs();//建目录(连同父目录一起创建)1.3、//判断文件是否存在if(file.exists()){}//判断是否是文件或目

2016-07-05 14:18:13 466

原创 JDBC笔记

JDBC是java提供的一套用于访问数据库的核心技术。 接口: Connection(连接),Statement(SQL执行器),ResultSet(表示一个查询结果)。 利用JDBC访问数据库: (1)添加数据库驱动mysql-connector.jar; (2)配置URL、USER、PASSWORD、DRIVE变量值; (3)设置驱动Class.forName(DRIVE); (4

2016-07-05 13:30:41 350

原创 面向对象笔记

一、面向对象与面向过程的区别 面向对象: 侧重于一个功能执行中会涉及到哪些对象,对象有什么属性与功能,对象与对象之间处于一种什么样的关系。 面向过程: 侧重于一个功能执行的具体流程。 二、面向对象的核心概念 类: 针对某种实体所提供的一套设计模板,定义了他们的共同特征与共同功能。 对象: 通过设计模板所创造出来的具体产品。 构造方法: 生产线。 三、面向对象的基本特征 抽象

2016-07-05 13:17:05 495

原创 框架笔记---EasyUi Datagrid的JavaScript创建方式与使用

一、声明一个Table<table id="dg"> </table> 二、JS实现datagrid=$("#dg").datagrid({ url:"admin/business/controller/datagrid.json",//加载的URL isField:"id", pagination:true,/

2016-01-15 10:34:18 632

转载 List的contains()方法(转)

应用环境:从数据库中查询出满足一系列条件的记录,然后以对象的形式封装到List中去。此时假设有两个条件A和B,满足A的记录集和为ListA,满足B的记录集合为ListB,现在要将ListA和ListB合并为一个List,注意ListA和ListB中可能有重复的记录(因为可能某条记录即满足条件A又满足条件B),要过滤掉重复的记录。 方法过程:我们假设List中存放的对象都是Order对象,属性or

2016-01-06 21:22:00 662

原创 框架笔记----数据字典Dictionary

类:StaticParams (主要用于配置静态数据) 类:BusinessConstants 属性:DICTIONARY_KEY(声明数据字典表里的key值)JSON文件:dictionary.json:(写明系统初始化时需要写入数据字典表里的数据) 属性:pkey:父主键 key : 子主键

2016-01-05 14:47:20 631

转载 利用js制作html table分页示例(js实现分页)

有时候table的列数太长,不利于使用者查询,所以利用JS做了一个table的分页,以下为相关代码 一、JS代码<script type="text/javascript"> var pageSize = 15; //每页显示的记录条数 var curPage=0; //当前页 var lastPage

2015-12-24 17:30:30 6984 4

原创 定时器Interval实现倒计时功能

功能: 做一个按钮“点击开始”,点击之后进入倒计时,倒计时完毕之后变回”点击开始“代码:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <button id="timer" onclick="st

2015-12-21 20:06:38 3193

转载 jquery操作select(取值,设置选中)

转载自:http://blog.csdn.net/nairuohe/article/details/6307367每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了。比如1、设置value为pxx的项选中     $(".selector").val("pxx");2、设置text为pxx的项选中    $(".se

2015-12-19 15:59:15 3261

原创 easyui在jsp页面的td文本过长时无法自动换行的解决方法

在用easyui写后台程序的时候发现了td无法自动换行的问题,当一个td单元格里的文本过长的时候,单元格会一直拉伸,这样用户体验度会变得很差而且不美观。刚开始的代码和界面效果如下: 尝试着上网找了下解决方法,查到的解决办法是用nowrap=”false”来设置,但是改过来了发现还是不能用(后面百度了下原因,据说是这个方法适用于html但是不适用于jsp)。也尝试着使用了table换行处理的方法

2015-12-18 10:16:33 4523 1

空空如也

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

TA关注的人

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