admin 发布于 06月13, 2016

基于node.js 的开源博客系统 iblog2 安装指南

iblog2是一款基于 Node.js 的个人开源博客系统,采用响应式布局,支持移动设备直接访问,功能全面,美观大方。不仅仅是博客,更是 Demo,适合新人入门学习的完整项目。项目地址:https://github.com/eshengsky/iBlog2; 技术构成 以下是基于windows10 X64环境搭建步骤,下次再介绍centos6.5环境安装步骤。 环境部署 安装最新版Node.jsbowerMongoDBRedis。(注:如果使用Windows平台,可以去https://github.com/MSOpenTech/redis/releases下载安装Redis)。 node.js:https://nodejs.org/en/download/ MongoDB:https://www.mongodb.org/downloads/ Redis:http://redis.io/download/ bower:http://bower.io/(这个直接通过npm安装即可)

一、快速开始

单纯文字描述可能不太清楚,所以各个步骤放了很多截图。

1、安装MongoDB并启动

官网下载最新版的如mongodb-win32-x86_64-2008plus-3.2.7-signed.msi,一路next安装完毕即可。 安装mongodb 启动mongodb服务: 管理员权限打开CMD进入E:\Program Files\MongoDB\Server\3.2\bin目录,执行:
mongod --dbpath "e:\Program Files"         //执行成功后,会打开27017端口;这里的dbpath是你的mongodb安装路径,比如我的是安装在e:\program files目录下的;
启动mongodb 看到一串信息如上图,浏览器打开http://127.0.0.1:27017,如图,表示服务启动成功(不要关闭窗口): mongodb启动成功 有时候不一定启动成功,请注意看提示。

2、安装Redis并启动

上述地址中下载最新版的如Redis-x64-2.8.2400.msi,一路next安装完毕即可。 安装redis 安装完毕后,管理员权限打开CMD进入E:\Program Files\Redis>目录,启动redis服务:
redis-server.exe redis.windows.conf
如下图,表示启动成功(不要关闭窗口): redis启动成功 若启动报错:
Creating Server TCP listening socket *:6379: bind: No such file or directory
redis启动报错 依次输入并执行下面命令即可解决:  
1. redis-cli.exe
2. shutdown
3. exit
4. redis-server.exe

3、安装node.js

上面网站下载最新版,一路next下去安装完毕,打开Node.js command prompt命令行窗口,可以正确查看版本号,表示安装成功。 node版本查看    

4、安装bower

打开Node.js command prompt命令行窗口,安装bower:
$ npm install -g bower
等一系列进度完成后,直到安装成功。 安装bower

5、安装iblog2

在第四步的node.js窗口中,安装iblog2,执行下面的命令;
git clone https://github.com/eshengsky/iBlog2.git     //后面是iblog的git地址
一系列进度过后,一直到下载完毕,并进入iblog2目录: git iblog2 安装服务端依赖:
$ npm install
安装客户端依赖:
$ bower install
bower依赖 这时会看到很多进度,直到安装成功为止。如果出现报错,分别执行下面的命令,安装bower依赖:
$ bower install
$ bower install jquery
$ bower install desandro/masonry
$ bower install git://github.com/user/package.git
$ bower install http://example.com/script.js

二、启动使用

iblog2目录下,执行下面命令,启动博客系统:
$ npm start
打开浏览器,访问 http://localhost:3000/,即可看到博客界面了。后台管理员账号信息在 config/account.json 中配置,默认管理员账号 admin ,密码 123456 ,密码需md5加密存储。 启动iblog iblog前台和后台: iblog前台 iblog2后台 说明: 安装过程中建议使用proxy,否则会下载超时中断。基本安装配置完毕。后续还有很多工作要处理,比如mongodb服务自启动,redis启动等。后续文章再介绍。

阅读全文 »

admin 发布于 06月11, 2016

360网站卫士常用前端公共库CDN服务

众所周知,国内访问Google大部分服务是重置状态;而大部分优秀高逼格的网站前端均使用了Google公共库和字体库,导致国内无法正常访问,前端工作也不得不考虑其他解决方案,或者放弃该产品。 这里提供了由360网站卫士CDN驱动的常用前端公共库以及和谐使用Google公共库&字体库的调用方法,这样在处理前端开发任务时,会非常容易,不担心无法访问或者访问慢。 1461729781_nXlG9Jvr

一、常用前端公共库

这里为您提供常用的JavaScript前端库,托管在360众多的全国CDN节点上,覆盖电信、联通、移动等主流运营商线路,您可以在自己的网页上直接通过script标记引用这些资源,让网站访问速度瞬间提速! 前端开发时,直接调用地址即可,如:http://libs.useso.com/js/angular-ui/0.4.0/angular-ui-ieshiv.js 公共库地址:http://libs.useso.com/js.php

二、Google公共库

由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧骚年! 1、首先在程序源代码中找到调用Google前端公共库的地址,比如:
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js?ver=3.4.2'></script>
2、将Google前端库的域名 ajax.googleapis.com 修改为:ajax.useso.com 即可,如下所示:
<script type='text/javascript' src='http://ajax.useso.com/ajax/libs/jquery/1.7.2/jquery.min.js?ver=3.4.2'></script>
3、360会自动将Google前端公共库的JS资源缓存在360网站卫士全国的CDN节点上。Have fun !

三、Google字体库

1、首先在程序源代码中找到调用Google免费字体库的地址,比如:
<link href='http://fonts.useso.com/css?family=Open+Sans:300,400,600&subset=latin,latin-ext' rel='stylesheet'>
2、将Google免费字体库的域名 fonts.googleapis.com 修改为:fonts.useso.com 即可,如下所示:
<link href='http://fonts.useso.com/css?family=Open+Sans:300,400,600&subset=latin,latin-ext' rel='stylesheet'>
3、360会自动将Google免费字体库的字体资源缓存在360网站卫士全国的CDN节点上。Have fun ! 当然除了360外,百度等开发者中心都有提供对应的CDN节点。

阅读全文 »

admin 发布于 06月08, 2016

多说评论框自定义CSS优化

2wnbneq 多说的个性化设置里有个自定义CSS,将你要更改的CSS样式代码粘贴进去保存就好了;注意:有些属性如果修改了没效果的话,要在每个属性后面加上一个!important,将优先级调为最高就可以看到效果了,比如:padding:10px; 这个属性没生效的话就要这样改:padding:10px !important; 这样就可以生效了。 下面将网络上现有的几个不错的css样式整理并分享给大家。

圆角(或者圆形)+ 阴影

1 #ds-reset .ds-avatar img{
2 width:54px;height:54px; /*设置图像的长和宽*/
3 border-radius:27px; /*设置图像圆角效果,在这里我直接设置了超过width/2的像素,即为圆形了*/
4 -webkit-border-radius: 27px; /*圆角效果:兼容webkit浏览器*/
5 -moz-border-radius:27px;
6 box-shadow: inset 0 -1px 0 #3333sf; /*设置图像阴影效果*/
7 -webkit-box-shadow: inset 0 -1px 0 #3333sf;
8 }

鼠标悬浮时,圆形+图像进行360度旋转

 1 #ds-reset .ds-avatar img{
 2 width:54px;height:54px; /*设置图像的长和宽*/
 3 border-radius:27px; /*设置图像圆角效果,在这里我直接设置了超过width/2的像素,即为圆形了*/
 4 -webkit-border-radius: 27px; /*圆角效果:兼容webkit浏览器*/
 5 -moz-border-radius:27px;
 6 box-shadow: inset 0 -1px 0 #3333sf; /*设置图像阴影效果*/
 7 -webkit-box-shadow: inset 0 -1px 0 #3333sf;
 8 -webkit-transition: 0.4s;
 9 -webkit-transition: -webkit-transform 0.4s ease-out;
10 transition: transform 0.4s ease-out; /*变化时间设置为0.4秒(变化动作即为下面的图像旋转360读)*/
11 -moz-transition: -moz-transform 0.4s ease-out;
12 }
13
14 #ds-reset .ds-avatar img:hover{ /*设置鼠标悬浮在头像时的CSS样式*/
15 box-shadow: 0 0 10px #fff; rgba(255,255,255,.6), inset 0 0 20px rgba(255,255,255,1);
16 -webkit-box-shadow: 0 0 10px #fff; rgba(255,255,255,.6), inset 0 0 20px rgba(255,255,255,1);
17 transform: rotateZ(360deg); /*图像旋转360度*/
18 -webkit-transform: rotateZ(360deg);
19 -moz-transform: rotateZ(360deg);
20 }

鼠标悬浮时:圆形+图像进行360度旋转+半圆遮盖

 1 #ds-thread #ds-reset ul.ds-comments-tabs li.ds-tab a.ds-current {border:0px;color:#848568;text-shadow:none;background:#dddfc2}
 2 #ds-thread #ds-reset .ds-highlight {font-family:Arial, Helvetica, sans-serif;font-size:14px;font-weight:bold;color:#848568 !important;}
 3 #ds-thread #ds-reset ul.ds-comments-tabs li.ds-tab a.ds-current:hover {color:#696a52;background:#d4d6ba}
 4 #ds-thread #ds-reset a.ds-highlight:hover {color:#696a52 !important;}
 5
 6 #ds-thread {padding-left:30px;}
 7 #ds-thread #ds-reset li.ds-post,#ds-thread #ds-reset #ds-hot-posts {overflow:visible}
 8 #ds-thread #ds-reset .ds-post-self {padding:10px 0 10px 10px;}
 9 #ds-thread #ds-reset li.ds-post,#ds-thread #ds-reset .ds-post-self {border:0 !important;}
10 #ds-reset .ds-avatar, #ds-thread #ds-reset ul.ds-children .ds-avatar {position:absolute;top:26px;left:-14px;padding:5px;width:36px;height:36px;box-shadow:-1px 0 1px rgba(0,0,0,.15) inset;border-radius:46px; background:#E5E6D0;}
11 #ds-thread #ds-reset ul.ds-children .ds-avatar {left:-23px;}
12 #ds-thread .ds-avatar a {display:inline-block;padding:1px; width:32px;height:32px;border:1px solid #b9baa6;border-radius:50%; background-color:#fff !important}
13 #ds-thread .ds-avatar a:hover {border-color:#de5a4e}
14 #ds-thread .ds-avatar > img {margin:2px 0 0 2px}
15 #ds-thread #ds-reset .ds-replybox {box-shadow:none;}
16 #ds-thread #ds-reset ul.ds-children .ds-replybox.ds-inline-replybox a.ds-avatar,
17 #ds-reset .ds-replybox.ds-inline-replybox a.ds-avatar {left: 0;top: 0; padding: 0;width: 32px !important;height: 32px !important; background: none;box-shadow: none; }
18 #ds-reset .ds-replybox.ds-inline-replybox a.ds-avatar img {width: 32px !important;height: 32px !important; border-radius:50%;}
19 #ds-reset .ds-replybox a.ds-avatar,
20 #ds-reset .ds-replybox .ds-avatar img { padding:0;width:50px !important;height:50px !important; border-radius:5px; }
21 #ds-reset .ds-avatar img {width:32px !important;height:32px !important;border-radius:32px;box-shadow:0 1px 3px rgba(0, 0, 0, 0.22);
22 -webkit-transition:.4s all ease-in-out;-moz-transition:.4s all ease-in-out;-o-transition:.4s all ease-in-out;-ms-transition:.4s all ease-in-out;transition:.4s all ease-in-out;
23 }
24 .ds-post-self:hover .ds-avatar img{
25 -webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}
26
27 #ds-thread #ds-reset .ds-comment-body {background: #F0F0E3;padding:15px 15px 12px 32px;border-radius:5px; box-shadow:0 1px 2px rgba(0,0,0,.15), 0 1px 0 rgba(255,255,255,.75) inset;}
28
29 #ds-thread #ds-reset .ds-comment-body p{color:#787968}
30 #ds-thread #ds-reset .ds-comments a.ds-user-name {font-weight:bold;color:#696A52 !important;}
31 #ds-thread #ds-reset .ds-comments a.ds-user-name:hover {color:#D32 !important;}
32
33 #ds-thread #ds-reset #ds-hot-posts {border:0}
34 #ds-reset #ds-hot-posts .ds-gradient-bg {background:none;}
35
36 #ds-reset #ds-bubble #ds-ctx .ds-ctx-entry {padding:0;}
37 #ds-reset #ds-bubble .ds-avatar, #ds-reset #ds-bubble #ds-ctx-bubble .ds-avatar a {position:static;padding:0;border:0; background:none;box-shadow:none;}
38 #ds-reset #ds-bubble .ds-avatar img, #ds-reset #ds-bubble #ds-ctx-bubble .ds-avatar a {width:45px !important;height:45px !important;}
39 #ds-reset #ds-bubble .ds-user-name{padding-left:13px;}
40
41 #ds-reset .ds-comment-body #ds-ctx {border-left:1px solid #b9baa6;background-color:#e8e8dc !important}
42 #ds-reset #ds-ctx {margin-right:-15px}
43 #ds-reset #ds-ctx .ds-ctx-entry {position:relative;padding:10px 30px 10px 10px;}
44 #ds-reset #ds-ctx .ds-ctx-entry .ds-avatar {top:6px;left:5px;background:none;box-shadow:none;}
45 #ds-reset #ds-ctx .ds-ctx-entry .ds-ctx-body {margin-left:46px;}
46 #ds-reset #ds-ctx .ds-ctx-entry .ds-ctx-content {color:#787968}
47 #ds-reset #ds-ctx .ds-ctx-entry .ds-ctx-head a {color:#696A52;font-weight:bold}
简要说明: 配色是非常重要的,特别是记得改「#ds-reset .ds-avatar, #ds-thread #ds-reset ul.ds-children .ds-avatar {background:网站的背景颜色}」。 用户气泡提示框代码: 隐藏用户气泡提示框「#ds-thread #ds-reset #ds-bubble {display:none !important}」,这是隐藏鼠标移至用户名称时弹出来的气泡提示框。 评论盖楼样式代码: 倒数1-8行。(不用盖楼的评论方式用户可以直接删除这几行,精简一下代码。)

多说css自定义代码(用于细微调整):

将评论框底部的分享到微博QQ空间什么的隐藏起来

1 .ds-sync{
2 display:none !important;
3 }/*隐藏评论框底部分享*/

定义评论框背景图片

1 .ds-textarea-wrapper.ds-rounded-top{
2 background: #ffffff url(这里添加图片的网址) no-repeat right bottom !important;
3 }/*定义评论框背景背景*/
注意图片最好是透明或者白色的,图片的像素大小最好要去你的评论框大小一样,不然可能会出现拉伸。

隐藏评论框底部渐变背景

1 #ds-reset .ds-gradient-bg{
2 background:none !important;
3 }/*设置评论框下方渐变*/
话说渐变色什么的虽然立体感较强但是和主题整体风格不融洽,隐藏之,这样底部就是透明的了。

定义评论框内字体

1 #ds-thread #ds-reset .ds-textarea-wrapper textarea, #ds-thread #ds-reset .ds-textarea-wrapper .ds-hidden-text {
2 font-family: ‘微软雅黑’ Microsoft Yahei!important;
3 font-size:12px;
4 letter-spacing:1px;
5 }/*定义评论框内字体*/
这个好像是定义评论框内输入的文字字体的。

定义发布按钮字体,以及渐变色背景

1 #ds-thread #ds-reset .ds-post-button{
2 font-family: ‘微软雅黑’ Microsoft Yahei!important;
3 font-weight: bold;
4 font-size:12px;
5 background:none !important;
6 color:#49976b !important;
7 }/*定义发布按钮字体以及渐变背景*/

隐藏评论右上方 最热 最新 排序 按钮

1 #ds-thread #ds-reset .ds-sort {
2 display:none;
3 }/*隐藏最新最热等*/

隐藏评论左上方 评论总数背景色及边框

1 #ds-thread #ds-reset li.ds-tab a.ds-current{
2 background:none;
3 border:none;
4 }/*隐藏评论总数背景及边框*/

隐藏底部多说版权

1 #ds-thread #ds-reset .ds-powered-by{
2 display:none;
3 }/*隐藏多说底部版权*/

定义各种文字高亮颜色,以及浮动窗口的高亮颜色

 1 #ds-reset .ds-highlight{
 2 color:#49976b !important;
 3 }/*定义高亮字体颜色*/
 4
 5 #ds-thread #ds-reset #ds-bubble a{
 6 color: #49976b !important;
 7 }/*定义评论框内其他高亮颜色*/
 8
 9 #ds-thread #ds-reset #ds-bubble {
10 color: #49976b !important;
11 }/*定义评论框内其他高亮颜色*/
12
13 #ds-reset #ds-ctx .ds-ctx-entry .ds-ctx-head a{
14 color: #49976b !important;
15 }/*定义评论框内其他高亮颜色*/
16
17 #ds-thread #ds-reset a.ds-comment-context:hover{
18 color: #49976b !important;
19 }/*定义评论框内其他高亮颜色*/
20
21 #ds-thread #ds-reset a.ds-comment-context{
22 color: #49976b !important;
23 }/*定义评论框内其他高亮颜色*/

评论框左右边距

如果你的评论框左右边距过小(评论框太宽),输入下列代码调整宽度,直到页面上评论框宽度显示合适:
#ds-thread  {padding:24px;}
#ds-thread {margin:24px;}
如果你的评论框太窄,可能是宽度被设定了不合适的值,输入下列代码让宽度自动拉伸:
#ds-thread {width:auto;}

评论框整体的背景色

多说评论会采用主题的背景色作为整体评论框的背景,这样可能导致评论本身不是很显眼。你可以输入下列代码来更改整体评论框的背景颜色:
#ds-thread {background: #ffffff;}
这个评论背景的边角默认是直角,如果想改成圆角,请输入下列代码(仅在Firefox,Chrome及高版本ie浏览器下有效,ie6,7,8将仍然为直角显示):
#ds-thread{ border-radius: 5px;}
注意:其中的#ffffff可以被替换为你希望的颜色,以便于评论文字相适应。

高亮字体的颜色

高亮字体包括“n条评论”,“n条微博”,评论者名字的颜色,想修改它的显示颜色(在大多数情况下默认是红色),输入下列代码:
#ds-thread #ds-reset .ds-highlight{color: #ffffff !important;}

更改评论字体颜色

想修改评论正文的字体颜色,请输入下列代码:
#ds-thread #ds-reset .ds-comment-body p {color: #ffffff;}
当您在修改一部分上面未示例的标签样式时,遇到无效的情况,请尝试增加!important

更改最近访客头像大小

想要修改最新访客头像的大小,请输入下列代码:
#ds-recent-visitors .ds-avatar img {width: 30px !important;height: 30px !important;}
其中30px是宽和高,请根据效果修改不同高度和宽度。

阅读全文 »

admin 发布于 06月08, 2016

Markdown中插入LaTeX数学公式的方法

2s64q2r Markdown刚兴起的时候没太在意,没想到自己为了搭建博客也慢慢用起来了。现在使用Markdown+Github Pages发文章,还是挺顺利的。 最近又开始学习LaTeX,要用Markdown做笔记就遇到麻烦了,不过没关系,万能的搜索引擎分分钟搞定。 下面介绍的方法使用html的语法,在网页中自动生成LaTeX数学公式,免去将公式保存为图片的麻烦。当然,弊端也是有的,公式太多,可能会造成刷新比一般的网页慢一些,而且现在不太懂LaTex,用起来还不顺手。

方法一:使用Google Chart的服务器

<img src="http://chart.googleapis.com/chart?cht=tx&chl= 在此插入LaTex公式" style="border:none;">
举个例子:
<img src="http://chart.googleapis.com/chart?cht=tx&chl=\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}" style="border:none;">
公式显示结果为: Google Chart服务器的响应速度还可以,但据说可能复杂一些的LaTeX公式可能无法解析。

方法二:使用forkosh服务器

forkosh上提供了关于LaTeX公式的一份简短而很有用的帮助,使用forkosh插入公式的方法是:
<img src="http://www.forkosh.com/mathtex.cgi? 在此处插入LaTex公式">
同样一个例子:
<img src="http://www.forkosh.com/mathtex.cgi? \Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}">
显示结果为: 因为网页插入公式的原理是调用“某某网站的服务器”动态生成的,所有保证公式正常显示的前提是该网址能一直存在着为我等小生做些小小的服务。

方法三:使用MathJax引擎

大家应该看过Stackoverflow上的公式吧,其生成的不是图片。这就要用到MathJax引擎,在Markdown中添加MathJax引擎也很简单,先添加一段javascript
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>
然后,再使用TeX/LaTex写公式。$$公式$$表示行间公式,本来TeX中使用\(公式\)表示行内公式,但因为Markdown中\是转义字符,所以在Markdown中输入行内公式使用\\(公式\\),如下代码:
$$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$
\\(x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}\\)
分别显示结果: QQ截图20160608000324 你还可以试一下,公式上还可以使用鼠标右键操作,比如说直接保存TeX命令等。

阅读全文 »

admin 发布于 06月08, 2016

Atom中为markdown自定义snippets

mt6xbt Snippets在书写代码的时候非常有用,当然写文章的时候也可以借用。换到Atom之后,也想在markdown文件中使用自定义的snippets,主要还是为了加YAML信息。今天自己尝试了一下,管用! 当然,根据官方Snippets指南,还是比较容易学懂的。但是对于markdown格式来说,可能需要注意他的source格式是source.gfmjs0ro6 由于我常用的YAML信息是:
---
layout:
titile:
category:
tags:
image:
description:
---
所以,在.atom/snippets.cson中的配置如下:
'.source.gfm':
  'yaml':
    'prefix': 'yaml'
    'body': """
      ---
      layout: $1
      title: $2
      category: $3
      tags: $4
      image: $5
      description: $6
      ---

      $7
    """
这样,我在markdown格式的文件中,直接使用yaml+tab就能快速填充YAML信息了。

阅读全文 »

admin 发布于 05月29, 2016

Bitnami Redmine如何进行完整备份和恢复?

Bitnami Redmine备份和恢复比较容易,本身有套完整的备份和恢复机制。执行备份或恢复前,先停止所有服务。

一、备份

1、云服务器或虚拟机

设置备份目录
cd /your/directory     //自行设置备份目录
停止服务
$ sudo /opt/bitnami/ctlscript.sh stop
创建备份压缩文件
$ sudo tar -pczvf application-backup.tar.gz /opt/bitnami
重启服务
$ sudo /opt/bitnami/ctlscript.sh start
备份完成,保存压缩的备份文件。

2、本机安装环境

2.1 windows

备份操作步骤: 备份数据库、附件、配置文件;压缩打包; 重启所有服务。

2.2 linux/mac OS

设置备份目录
cd /your/directory    // 创建并进入你的备份目录
停止服务
$ sudo installdir/ctlscript.sh stop     //进入安装目录执行
创建备份压缩文件
$ sudo tar -pczvf application-backup.tar.gz installdir    //安装目录中操作
重启所有服务
$ sudo installdir/ctlscript.sh start       //在安装目录中操作

二、恢复

1、云服务器或虚拟机

进入备份目录
cd /your/directory
停止服务
$ sudo /opt/bitnami/ctlscript.sh stop
重命名并保存备份目录
$ sudo mv /opt/bitnami /opt/bitnamiBackup
解压原始备份文件
$ sudo tar -pxzvf application-backup.tar.gz -C /
重启所有服务
$ sudo /opt/bitnami/ctlscript.sh start

2、本机安装环境

windows 解压备份文件 管理员账号在命令行中进入安装目录,重新安装服务即可。
$ cd installdir
$ serviceinstall.bat INSTALL
使用图形界面工具重启所有服务即可。 linux/mac OS 进入备份目录
cd /your/directory
停止服务
$ sudo /opt/bitnami/ctlscript.sh stop
重命名并保存备份目录
$ sudo mv installdir installdirBackup
解压原始备份文件
$ sudo tar -pxzvf application-backup.tar.gz -C /
重启所有服务
$ sudo installdir/ctlscript.sh start
注意: 恢复时,保持原来备份文件及文件夹的权限。  

阅读全文 »

admin 发布于 05月28, 2016

智慧沉淀 项目管理要诀

1. 蒙托卡罗模拟技术

蒙托卡罗模拟技术是项目风险管理——不确定性分析技术。由于项目中许多因素是变化的,不能用一个固定的值来描述,例如,在软件开发项目中,开发某个子程序到底需要多长时间,一般来说,不能用一个定值(例如20天)描述,但是根据经验,往往可以给出一个范围,例如18-23天。问题是,如果在一个项目中有多个因素都是具有不确定性,如何计算结果呢。这就是蒙托卡罗模拟技术所要做的。本技术中的主要内容包括:
  • 描述不确定性风险因素的方法
  • 如何建立项目模型
  • 抽样技术
  • 数据分析技术
  • 敏感性分析等

2.决策树技术

决策树技术也是项目风险管理中的技术,它是在具有多种方案中如何进行选择决策时使用的。本技术中的主要内容包括:
  • 如何构造决策树
  • 决策点
  • 方案枝
  • 状态点
  • 概率枝
  • 单级(阶)决策树
  • 多级(阶)决策树

3. 项目进展评价技术

由于项目中有许多任务组成,在项目进行到一定阶段后就会发现,有些任务工期缩短了,有些加长了;有些任务超出了预算,有些低于预算。如何从整体上评价进展呢?这就是本技术中要讨论的问题。本技术中的主要内容包括:
  • 流逝时间评价法
  • 工期评价法
  • 工时评价法
  • 挣得值法(重点讲述)

4. 关键路径法技术

关键路径法是项目时间管理中的技术,简称CPM。它是把完成任务需要进行的工作进行分解,估计每个任务的工期,然后在任务间建立相关性,形成一个“网络”,通过网络计算,找到最长的路径(主要矛盾),再进行优化。本技术的主要内容有:
  • 项目目标确定与时间、成本、资源的综合权衡
  • 工作分解结构建立
  • 工期估算影响因素
  • 正向计算
  • 反向计算
  • 时差计算等

5. WBS、OBS、CBS、PBS分解技术

WBS是项目范围管理中的技术,它是确定项目范围的一种主要技术,也是进行成本、资源的估算的基础。本技术的主要内容包括:
  • 分解原则
  • 工作分解结构
  • 组织分解结构
  • 成本分解结构
  • 产品分解结构

6. 关键因素分析技术

关键因素分析是质量管理中使用的技术,也称为帕累托法则。它是把质量的缺陷进行归类统计,分析每种引起质量原因所造成不良质量成本,然后找到影响最大的几个予以解决,即“解决20%的因素,得到80%的效益”,有名的二、八理论,80~20原则。

7. 用代码行、功能点、人工量进行时间等估算的技术

这是属于软件开发中使用的一项技术。使用这些技术可以估算软件开发项目的时间、人工量,成本等。这个技术的主要内容包括:
  • 代码行估算开发的最短工期、高效工期、正常工期的原理和方法
  • 用功能点估算原理和方法
  • 用人工量估算原理和方法
  • 自底向上估算法
  • 各种估算方法比较

8.项目管理可视化技术

项目管理的不可见属性,为项目团队的沟通、控制带来了很大的障碍。本技术将介绍,如何把项目的进度、成本、风险、质量可视化的方法。

项目管理的16条至理名言

1. 接受项目管理理论,并持续地运用它。 2. 采用促使公司向着成熟的项目管理发展的管理哲学,并将其传达给每一个人。 3. 在每一个项目开始时,制定有效的计划。 4. 在付诸实施时,尽可能小地变动范围。 5. 要认识到成本和进度管理是紧密相连的。 6. 选择合适的人做项目经理。 7. 向高层管理者提供项目发起人的信息,而不是项目管理的信息。 8. 加强直线管理层的参与和支持。 9. 关注可交付成果而不是资源。 10. 培育有效的沟通、合作及相互信任,以实现项目管理的快速成熟。 11. 与全部的项目团队成员和直线管理层分享项目的成功。 12. 消除非生产性会议。 13. 应尽可能早而快地且以有效的成本识别并解决问题。 14. 定期测评项目进展。 15. 将项目管理软件作为一种工具,而不是一种计划或人际关系技巧的替代品来使用。 16. 制定全员培训计划,让员工学习正规的、定期更新的课程。

阅读全文 »