精华内容
参与话题
问答
  • 1.安装 docker 与 docker-compose 如果这个你没装, 那估计 10 分钟不能完事 安装 docker: https://www.yuque.com/ekko/app/bqg9dl ... 2. 新建 docker-compose.yml ... container_name: mindoc_ekk

    1.安装 docker 与 docker-compose


    如果这个你没装, 那估计 10 分钟不能完事

    2. 新建 docker-compose.yml


    version: '3'
    services:
      MinDoc_New:
        container_name: mindoc_ekko
        image: registry.cn-hangzhou.aliyuncs.com/mindoc/mindoc:v2.0-beta.2
        privileged: false
        restart: always
        ports:
          - 8181:8181
        volumes:
          - /var/www/mindoc/database:/mindoc/database
          - /var/www/mindoc/uploads:/mindoc/uploads
        environment:
          - MINDOC_RUN_MODE=prod
          - MINDOC_DB_ADAPTER=sqlite3
          - MINDOC_DB_DATABASE=./database/mindoc.db
          - MINDOC_CACHE=true
          - MINDOC_CACHE_PROVIDER=file
          - MINDOC_ENABLE_EXPORT=false
          - MINDOC_BASE_URL= 127.0.0.1
          - MINDOC_CDN_IMG_URL=
          - MINDOC_CDN_CSS_URL=
          - MINDOC_CDN_JS_URL=
        dns:
          - 223.5.5.5
          - 223.6.6.6
    

    部署 docker-compose

    docker-compose up -d
    

    输出

    [root@aliyun ~]# docker-compose up -d
    Creating network "root_default" with the default driver
    Pulling MinDoc_New (registry.cn-hangzhou.aliyuncs.com/mindoc/mindoc:v2.0-beta.2)...
    v2.0-beta.2: Pulling from mindoc/mindoc
    4fe2ade4980c: Pull complete
    ee3bf88c6061: Pull complete
    edd5e2dfc789: Pull complete
    24fc4ec1dd71: Pull complete
    ec4f68fd9612: Pull complete
    26b991074542: Pull complete
    948bcd2e45ec: Pull complete
    51f52fcbd9f9: Pull complete
    72ac77c2c335: Pull complete
    626ec74d4647: Pull complete
    a07969c9d375: Pull complete
    caed215bf7b0: Pull complete
    53fe131203a5: Pull complete
    Digest: sha256:f5c62fc88a1373fa239d3b8ab92ad15d4ce56e49fab10948320630d0c5b66882
    Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/mindoc/mindoc:v2.0-beta.2
    Creating mindoc_ekko ... done
    

    完成, 查看日志

    docker logs -f 容器名称或者id
    

    输出

    [root@aliyun ~]# docker logs -f 73c93d1afb07
    2020/05/29 14:46:31.341 [I] [command.go:34]  正在初始化数据库配置.
    2020/05/29 14:46:31.341 [I] [command.go:86]  数据库初始化完成.
    2020/05/29 14:46:31.341 [I] [command.go:321]  正常初始化缓存配置.
    2020/05/29 14:46:31.342 [I] [command.go:410]  缓存初始化完成.
    省略一堆.............
    Install Successfully!
    2020/05/29 14:46:31.771 [I] [command.go:34]  正在初始化数据库配置.
    2020/05/29 14:46:31.772 [I] [command.go:86]  数据库初始化完成.
    2020/05/29 14:46:31.772 [I] [command.go:321]  正常初始化缓存配置.
    2020/05/29 14:46:31.772 [I] [command.go:410]  缓存初始化完成.
    MinDoc version =>
    build time =>
    start directory => /mindoc/mindoc_linux_amd64
    
    2020/05/29 14:46:31.851 [I] [asm_amd64.s:2361]  http server Running on http://:8181
    

    完成

    3. 访问系统


    默认账号为 admin
    默认密码为 123456

    演示
    在这里插入图片描述

    公众号

    展开全文
  • NoSQL05 - MongoDB副本集 MongoDB文档管理

    万次阅读 2018-09-06 09:38:04
    一、MongoDB 副本集 1.1 副本集概述 1.1.1 副本集介绍 – mongodb 的复制至少需要两个节点。其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据。 – mongodb 各个节点常见的搭配方式...

    一、MongoDB 副本集

    1.1 副本集概述

    1.1.1 副本集介绍

    – mongodb 的复制至少需要两个节点。其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据。
    – mongodb 各个节点常见的搭配方式为:一主一从、一主多从。
    – 主节点记录在其上的所有操作 oplog ,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致。

    副本集就相当于 主从同步+高可用。

    1.1.2 复制原理

    • 副本集工作过程
    – mongodb 各个节点常见的搭配方式为:一主一从、一主多从。
    – 主节点记录所有操作到 oplog文件中 ,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行
    这些操作,从而保证从节点的数据与主节点一致。

    1.2.3 Replica Sets 复制集实现方式

    Replica Sets 的结构类似一个集群,完全可以把它当成一个集群,因为它确实与集群实现的作用是一样的
    如果其中一个节点出现故障,其他节点马上会将业务接管过来而无须停机操作

    1.2.4 拓扑结构

    1.2 配置 Replica Sets 副本集

    1.2.1 启动 MongoDB 服务

    1. 启动服务时,指定主机所在副本集名称
    – 副本集成员间使用相同的副本集名称
    – –replSet rs1 // 指定副本集名称
    ]# vim /usr/local/mongodb/etc/mongodb.conf  (51-53)
    replSet=rs1

    1.2.2 配置节点信息

    • 在任意一台主机连接 mongod 服务,执行如下操作(51)
    51 > config = {
    _id:”rs1”,
    members:[
    {_id:0,host:”192.168.4.51:27051”},
    {_id:1,host:”192.168.4.52:27052”},
    {_id:2,host:”192.168.4.53:27053”}
    ]
    }

    1.2.3  初始化 Replica Sets 环境

    51 >rs.initiate(config)    【只需要在一台机器上配置即可,先拿到副本信息的成为主库】

    1.2.4 查看副本集信息

    a. 查看状态信息
    > rs.status()

    b.查看是否是 master 库
    > rs .isMaster()

    1.2.5  验证副本集配置

    a. 同步数据验证
    – >db.getMongo( ).setSlaveOk( ) 允许从库查看数据

    1.2.5 验证高可用

    因为集群里面的会进行心跳检查。当一台机器宕掉的时候,一台从库发现主库已经挂掉了,他会通知其他从库说我们的主库已经挂掉了,需要重新选取主库了。这个时候从库会检查3个条件,只有这三个条件都满足了,才允许通知他的那台主机成为主库。

    1.查看主库是否真的挂掉

    2.查看通知他的那台数据库服务器上的数据是不是比自己的新

    3.查看通知他的那台数据库服务器上的数据是不是比其他从库的数据新

    [root@host51 ~]# mongod -f /usr/local/mongodb/etc/mongodb.conf –shutdown   //模拟主库挂掉

    这个时候会自动竞选出新的主库。

    [root@host53 ~]# mongo –host 192.168.4.53 –port 27053

    rs1:PRIMARY> rs.isMaster()

        “primary” : “192.168.4.51:27051”,
        “me” : “192.168.4.51:27051”,

    二、MongoDB 文档管理

    2.1 插入文档

    2.1.1 save( )

    • 格式
    – db. 集合名 .save({ key:“ 值”, key:” 值” })
    • 注意
    – 集合不存在时创建集合,后插入记录
    – _id 字段值 已存在时 修改文档字段值
    – _id 字段值 不已存在时 插入文档

    rs1:PRIMARY> db.c2.find()
    { “_id” : ObjectId(“5b63073286e600078bb2da0f”), “name” : “lijun”, “likes” : [ “F” ] }

    rs1:PRIMARY> db.c2.save({_id:ObjectId(“5b63073286e600078bb2da0f”),name:”lijun”,likes:[“B”]})
    WriteResult({ “nMatched” : 1, “nUpserted” : 0, “nModified” : 1 })

    rs1:PRIMARY> db.c2.find()
    { “_id” : ObjectId(“5b63073286e600078bb2da0f”), “name” : “lijun”, “likes” : [ “B” ] }

    2.1.2 insert()

    • 格式
    – db. 集合名 .insert({key:“ 值”, key:” 值” })
    • 注意
    – 集合不存在时创建集合,后插入记录
    – _id 字段值 已存在时放弃插入   【插入数组中已存在的数据会报错】
    – _id 字段值 不已存在时 插入文档

    rs1:PRIMARY> db.c2.find()
    { “_id” : ObjectId(“5b63073286e600078bb2da0f”), “name” : “lijun”, “likes” : [ “B” ] }

    rs1:PRIMARY> db.c2.insert({_id:ObjectId(“5b63073286e600078bb2da0f”),sex:”girl”})    //报错, duplicate key error collection。不允许在重复的_id文档插入数据

    2.1.3 insertMany()

    db.c1.insertMany(
    [
    {name:”xiaojiu“,age:19} ,
    {name:”laoshi“,email:”yaya@tedu.cn”}
    ]
    )        //插入多条记录

    2.2 查询文档

    2.2.1 查询语法

    • 显示所有行,默认一次只输出 20 行 输入 it 显示后续的
    > db. 集合名 .find()

    rs1:PRIMARY> db.user.find()

    • 显示第 1 行
    > db. 集合名 .findOne()

    rs1:PRIMARY> db.user.findOne()

    • 指定查询条件并指定显示的字段
    > db. 集合名 .find ( { 条件 },{ 定义显示的字段 } )   //第一个大括号里面写条件,第二个大括号里面写显示字段
    > db.user.find({},{_id:0,name:1,shell:1})        // 0不显示  1 显示


    2.2.2 行数显示限制

    • limit( 数字 )     // 显示前几行
    > db. 集合名 .find().limit(3)

    • skip( 数字 )    // 跳过前几行
    – > db. 集合名 .find().skip(2)

    • sort( 字段名 )     // 排序
    – > db. 集合名 .find().sort(age:1|-1) 1 升序 -1 降序
    – > db.user.find({shell:”/sbin/nologin”},{_id:0,name:1,uid:1,shell:1}).skip(2).limit(2)    

    2.2.3 查询条件

    a.简单条件
    – db. 集合名 .find({key:” 值” })
    – db. 集合名 .find({key:” 值”, keyname:” 值” })
    – db.user.find({shell:”/bin/bash”})
    – db.user.find({shell:”/bin/bash”,name:”root”})   //逻辑与的关系

    b.范围比较
    in 在…里 > db.user.find({uid:{in:[1,6,9]}})

    nin>db.user.find(uid:$nin:[1,6,9])or 或
    > db.user.find({$or: [{name:”root”},{uid:1} ]})
    c. 正则匹配
    > db.user.find({name: /^a/ })

    d. 数值比较
    lt      lte      gt      gte        $ne
    <         <=         >         >=         !=

    > db.user.find( { uid: { gte:10,lte:40} } , {_id:0,name:1,uid:1})
    – db.user.find({uid:{$lte:5,}})


    e. 匹配 null , 也可以匹配没有的字段
    > db.user.save({name:null,uid:null})

    > db.user.find({name:null})
    { “_id” : ObjectId(“5afd0ddbd42772e7e458fc75”), “name” : null, “uid” : null }

    2.3 更新文档

    2.3.1 单文档更新

    • 语法格式
    > db. 集合名 .update({ 条件 },{ 修改的字段 } )
    注意:把文件的其他字段都删除了,只留下了 password 字段, 且只修改与条件匹配的第 1 行 !!!

    set/unset
    set,db.user.update(,set: { 修改的字段 })
    – db.user3.update({name:”bin”},{$set:{password:”A”}}

    $unset 删除与条件匹配文档的字段
    – db. 集合名 .update({ 条件 },{$unset:{key:values}})
    – db.user3.updat

    2.3.2 多文档更新

    • 语法格式:默认只更新与条件匹配的第 1 行
    – > db.user.update({ 条件 },{$set:{ 修改的字段 }} ,false,true )

    > db.user.update({name:“bin”},{set:{password:“abc12123”}} , false,true) &nbsp; //添加false,true就会更新匹配条件的所有文档,加set就会设置改变指定的字段,而不会把其他的字段删除。


    2.3.3 自加自减

    inc 条件匹配时,字段值自加或自减 > Db. 集合名 .update({ 条件 },{inc:{ 字段名 : 数字 }})        //正整数自加 负整数自减!!!!

    > db.user.update({name:”bin”},{$inc:{uid:2}})             //字段值自加 2

    > db.user.update({name:“bin”},{$inc:{uid:-1}})             //字段自减 1

    2.3.4 向数组添加元素和删除元素

    a. 向数组添加元素

    > push 向数组中添加新元素 > db. 集合名 .update({ 条件 },{push:{ 数组名 :“ 值” }})

    > db.user.insert({name:”bob”,likes:[“a”,”b”,”c”,”d”,”e”,”f”]})

    > db.user.update({name:“bob”},{$push:{likes:“w”}})

    $addToSet 避免重复添加

    > db. 集合名 .update({ 条件 },{addToSet:{ 数组名 :”值” }})  > db.user.update({name:”bob”},{addToSet:{likes:“f”}})

    db.user.update({name:”bob”},{$addToSet:{likes:“g”}})

    b. 向数组删除元素

    pop 从数组头部删除一个元素 db. 集合名 .update({ 条件 },{pop:{ 数组名 : 数字 }})
    db.user.update({name:”bob”},{$pop:{likes:1}})              1 删除数组尾部元素

    db.user.update({name:”bob”},{$pop:{likes:-1}})             -1 删除数组头部元素

    pull 删除数组指定元素 – db. 集合名 .update({ 条件 },{pull:{ 数组名 : 值 }})
    – db.user.update({name:”bob”},{$pull:{likes:”b”}})

    2.4 删除文档

    drop/remove
    • $drop 删除集合的同时删除索引
    > db. 集合名 .drop( )
    > db.user.drop( )

    • remove() 删除文档时不删除索引
    > db. 集合名 .remove({})              // 删除所有文档
    > db. 集合名 .remove({ 条件 })     // 删除与条件匹配的文档

    > db.user.remove({uid:{$lte:10}})
    > db.user.remove({})

    展开全文
  • 产品管理工作的文档管理

    千次阅读 2011-11-04 16:52:11
    产品管理工作的文档管理   我这个人什么都好,就是有时候说话太随便,有时候是不得已,例如昨天为了应付没完成工作的情况,楞又扯出一套管理文档的说辞,结果是说者无意,听者有心,结果怎么样,自己被套进去了吧...

    产品管理工作的文档管理

      

    我这个人什么都好,就是有时候说话太随便,有时候是不得已,例如昨天为了应付没完成工作的情况,楞又扯出一套管理文档的说辞,结果是说者无意,听者有心,结果怎么样,自己被套进去了吧,因此各位一定要牢记那句老话“药不能乱吃,话不能乱说”。

    昨晚熬了半宿,才把周扬二合一的工作指示搞定,本来是打算去看《变形金刚》的,结果电影没看成,自己累得都快变形了。

    虽然这场电影是一个哥们儿请的,不用我掏钱,但是无论我如何解释说是要晚上加班,这小子就是不信,还一直强调我这里的加班有其他含义,并且祝福我晚上加班愉快,还说改天我必须要请他的客,人均标准不能低于100。

    就算是美国人抢伊拉克的石油也没这么黑的,这世界还有天理没有,我还不能做太多解释,解释得越多,越发让他感觉到他的判断是正确的,因此,最后我只好以请他吃一顿廉价的海鲜自助餐才把这小子哄进了电影院。

    习惯工作的时候挂QQ,倒不是为了边工作边聊天,我还没那一心二用的本事,只是挂着QQ,会让人有一种不孤独的感觉,因此,在我眼里,QQ不是一个聊天工具,而是一个寄托孤寂的虚拟情感平台。

    周扬在QQ上跟我打招呼,我没理他,一方面是不满,另一方面也确实没时间,更重要的是怕和他聊起来,我又口无遮拦溜出些什么,那就不是加半宿班了,而可能是一宿了。

    周扬这个表面忠厚,内心狠毒的家伙,下线的时候还假惺惺地给我留言:祝晚上睡个好觉。

    你也不看看几点了,都快凌晨1点了,睡什么好觉呀,我可不像你,熬夜加班和去厕所一样正常。

    早上醒来的时候,一睁眼,NND,都快9点了,我算了一下,就算我比刘翔快10倍,也根本不可能按时到达公司,反正迟都迟了,索性不着急了,给周扬发了个短信,告诉他我昨晚加班到1点,晚到一会儿,大概10点到。

    于是开始不紧不慢起来,就连今天的煎饼都是在摊子前吃完才走的。

    当我闲庭信步般进入办公室的时候,发现周扬一干人等已经坐在会议室里了,我一看表,10点5分,周扬还真会计算时间,我说10点到,他就10点准备好开会,行,有当领导的潜质。

    不用领导示意,我知道我该做什么,我走进会议室,麻利地打开笔记本,环顾如此隆重迎接我的领导和众同事,镇定地说:“咱们开始!”

    我们四个人是用不上投影的,大家脑袋都往前凑凑就完全可以解决问题了。

    “各位同仁,谁能说一下文档在工作中起到什么样的作用?”我抛出的第一个问题就差点让他们晕倒,这是问题吗?

    果不其然,就连小娟都对我表示出不屑,“不就是用来记录工作的吗。”

    我一直认为小娟很细心,但是有时候就是想问题太简单,这次的表现又印证了我的想法,她也不想想,如果真是这么简单,我这么聪明的人会问吗?嘿嘿,当然了,不排除那些故弄玄虚之辈,但是我阿泡绝不是那样的人。

    “小娟说得没错,文档确实是用来记录工作的一种载体,但是……”我扭头看了一眼小娟,小娟的脸开始由晴转阴,看来小娟是不吃我那一套的,失误,失误。

    “但是我再补充两点。”还好,我随机应变,马上改变策略,在“但是”之后马上继续肯定,产品经理就得有这样应场而变的技能,也算是沟通的一种技巧吧。

    “我再补充两点,小娟说的是第一点,也是文档的基本作用,除此之外还有两个作用:

    1)过程推动;2)抽象体现。

    所以文档的核心作用就是:记录介质、过程推动和抽象体现。

    记录介质大家都知道,我就不多说了,说说文档的过程推动和抽象体现吧。

    过程推动:

    产品过程是由不同阶段的不同产品项目构成的,而不同产品项目又是由不同的项目构成的,要把这些过程、产品项目和项目有机地结合起来,目前来看,最主要也是最重要的介质就是文档,有了市场需求文档才能有产品需求文档,有了产品上市文档,才能有产品结项文档,阶段的开始与完成都应该由相关的文档来推动。

    这是因为文档兼有规范定义与合约的双重功能,这样,整个产品管理过程都会由统一规范的文档推动,而非规范性文档和口头协议显然没法做到,因此,我们必须要靠文档,而不是口头来开展工作。

    抽象体现:

    如果说上市的产品是形象体现的话,那么某个产品项目过程中所有的文档就是产品的抽象体现,为什么这么说呢?因为一套完整的产品文档就能让一个即使没有见过实体产品的人也明白产品是什么,从而能够通过这套文档在头脑中形成一个清晰的产品轮廓。

    这就是文档的三个作用,因此,我一直非常重视文档的使用,每一个文档都要尽力做到符合规范,按照标准完成,因为一个具体的产品项目涉及很多的文档,缺失任何一个文档都有可能对这个产品项目,乃至是这个产品的长远发展产生重大的影响,就如同一栋房子,偷工减料或许在短期内看不出后果,但是长期下去必然会出现问题,文档对于产品来说,就是砖头、瓦片、钢筋,缺一个都不行。”

    他们都点头,尤其是小娟,开始充分履行自己的职责,在纸上认真地记录着。

    “那好,我问第二个问题,文档有类型之分吗?”

    这个问题就显得我有些弱智了,这不是明摆着吗,这类问题肯定是要回答“有”的,这种二选一的回答基本都是这种套数。

    但是,这类问题也隐藏着一个大的陷阱,就是一旦你回答“有”之后,发问方会立刻追问“那请你说一下”,如果你知道还好,如果不知道就麻烦了。

    这种思路也通常会出现在辩论中,属于变被动为主动的一种常用手法,产品经理有时候因为准备不足,经常会被这类问题搞晕。

    当然,我这不是陷阱,只是习惯了这样开问,因此,我立刻把疑问变为自问,“肯定了,文档也是有类型之分的,就拿我们产品管理的文档来说,不同的文档分属于不同的类型,这就决定了它们在工作中所扮演的角色是不同的。”

    我翻到下一页PPT,开始介绍文档的类型之分。

    “我把文档分为三种类型。

    流程类:这类文档在过程中占大多数,在具体的过程中起推动流程的作用,是顺序化的文档,例如市场需求文档(MRD)。

    控制类:这类文档不多,但是很重要,其作用就是公司产品战略的具体体现,从名字也可以看出,这类文档是对某个产品项目甚至某个产品的发展起方向性和指导性的文档,例如年度产品计划。

    决策类:这类文档是‘点文档’,在项目过程的某个点上起到‘决定性’的作用,这类文档本身是没有太多意义的,只是对这个决策点进行记录,例如产品立项文档。

    其实概括起来,文档的三种类型就是:承上启下;控制方向;决策记录。”

    这对于刘宇来说不是很陌生,因为他肯定用过大部分的文档,但是周扬和小娟就不一定了,因此,要让他俩完全理解这三种类型的文档,非得亲自走一个产品才行,不过我相信他们还是基本明白了我表达的意思。

    “最后,我再说一下文档的一些规范,这属于部门制度建设的一部分,以后应该是小娟负责的事情。”我在说的时候,故意看着小娟,这会让小娟油然而生一种责任感的,果然,小娟听我这么一说,立刻又增加了百倍的认真。

    “文档管理的规范至少应该包括:

    文档模板规范:这个不多说了,但是有一点就是,坚决反对直接用网上下载的模板,可以参考,但不可以照搬,一定要根据企业自身情况编制。

    文档编号规范:其实这包括两方面的含义,一方面是文档本身的编号原则,另一方面是文档内容的编号原则。

    文档存取规范:在这一点上,很多公司做得不是太好,文档存取过于混乱,很容易造成资料流失。

    文档撰写规范:每个文档的作用不同,类型不同,文档本身的定义也不同,这里就涉及一个内容展示的要求,如果展开讲,要讲的就多了,每个文档都有不同的撰写标准,抽时间再专门介绍一下。

    文档级别规范:文档既然有类型,那么就说明,不同级别的人可以看不同级别的文档,比方说产品战略是公司最核心的信息,这个文档就一定是最高级的,只有少数人能够看到全文。”

    “那其他人怎么办呢?不是需要把产品战略贯彻到业务团队中吗?不让看,团队怎么知道呢?”刘宇果然有经验,我刚说完这一点,他就抛出了一个很现实的问题。

    这是难不倒我的,我看了他一眼,然后说道:“很简单,完整的产品战略自然是只有少数人能看到的,但是这种战略会通过接下来的一系列工作分解给相关的业务部门,而这同样是需要相关的文档来继承和传递的,比方说BRD就是从商业角度对产品战略的说明,而BRD就扩大了阅读者的范围。”

    刘宇想了一会儿,然后点点头,示意我他明白了,可以继续。

    我没立刻继续,而是停了停,然后对小娟认真地说道:“小娟啊,这些工作可是非常重要的,你可以把自己看成是一个国家管理最高机密文件的负责人。”

    “真有那么重要吗?”小娟似乎有点怀疑,但是我感觉她在怀疑中更包含一种自豪。

    “真的!不说别的,看看网上遍地都是许多公司的内部文档,你就知道这个工作有多重要了!”

    小娟连连点头,这一点没有人能够否认,文档到处下载看起来是公司文档管理不严格造成的,但实际上说明是这家公司对文档的不重视造成的。

    这也从侧面说明了我为什么一直强调文档的作用、价值和意义,以及为什么要求企业要非常重视文档的管理。

    毫无疑问,从大家的表情上可以看出本次会议很成功,大家对我的观点达成了极高的共识。

    嗯,大家满意,才是真的满意,昨晚的班没有白加,在某些时候,精神上的认可要比直接的物质奖励更有意义。

    “各位,还有什么问题吗?”有底气了,问题也有些明知故问的意思了。

    “我有一个。”发问的竟然是周扬,真是受不了他,我是聪明人,你也是聪明人,能有什么问题呢?

    “阿泡,你讲了那么多,能不能一句话说一下,我们做那么多文档到底为了什么?”他竟然问了这样一个问题。

    我心想,周扬,你这可是没按规矩出牌,没说有总结性发言这个环节的啊,一下子我还真有点懵,是呀,又是作用,又是类型,又是规范的,那么,我们花时间做那么多文档到底为了什么呢?

    当然,凭借我脑袋中大容量的内存和超过i5CPU的运算速度,在千分之一秒里我做出了精确的结果:

    产品管理文档,就是产品管理工作流程的唯一线索。

    周扬,点头,微笑。

    我,摇头,擦汗。

    好险,幸好我升级了我的大脑配置。

    会议结束后,我问周扬:“老大,早上我晚来,公司就没问什么?”

    “能不问吗?”

    “你怎么说的呢?我可是加班啊,你知道呀!”

    “加班?填加班申请单了吗?在公司加班了吗?谁证明你加班了?几点离开的?”周扬坏笑着说:“因此,我对郭姐说我也不知道阿泡干什么去了。”

    我晕厥,“老大,不能这样呀,我真是加班了,这个你知道的,昨天你还在QQ上和我打招呼了,只不过我没回而已……”

    “哦,原来你看到我打招呼了,那为什么不说两句呢?”周扬有些得意,中计了吧,说实话了吧。

    我没有办法了,只好说:“我知道今天得交活,没办法,真的一点时间也没有呀,再说了,你也肯定没什么重要事情……”

    “嗯,确实没什么重要事情,我只是想告诉你,如果做不完,就不要熬夜做了,今天完成也行。”

    彻底晕倒!

     

    APAO Say:

    文档是什么?

    从构成物质上说,或是由0和1组成的电子记录工具,或是记录信息的一张张打印出来的纸张。

    但是,从价值体现上说,文档是产品管理工作流程的唯一线索。

    因此,我们要让整个线索持续而有体系,就必须做好文档的管理。

    阿泡总结了一下,可以分为三个方面的认识:

    1.文档的作用

    1)记录介质;

    2)过程推动;

    3)抽象体现。

    2.文档的类型

    1)流程类;

    2)控制类;

    3)决策类。

    3.文档的规范

    1)文档模板规范;

    2)文档编号规范;

    3)文档存取规范;

    4)文档撰写规范;

    5)文档级别规范。

    文档管理工作其实并不难,关键是企业和个人如何来看待文档在产品管理过程中的地位和作用。

    你认为它就是一堆纸或者一堆doc,那么,你一定不会把它回事,但是,如果你认为它记录的是你的思想,你的成果,那么,你就会像珍惜你的产品那样珍惜它。

     

    本文选自《YES!产品经理》一书。

    图书详细信息:http://blog.csdn.net/broadview2006/article/details/6873929

     

    展开全文
  • 一个好的知识系统,不是让大家在闲暇之余,在系统上整理它在头脑中的知识,而是把工作的过程,真实的记录在系统之中

    事情的起因有点偶然,阿杜和我聊起系统的时候,说我们的系统现在开发的还可以,就畅想了一下能否有一个桌面文档管理系统,问起原因,主要是感觉很多人不会管理自己的硬盘,不会管理自己的文档。
    我听了也是感觉一振奋。但总还是感觉这个太大了,而且规则太过于复杂,复杂到你都不能设想有什么规则。
    于是我联系其小董曾经的文档管理需求,就和小董简单的碰了一下,发现如果只是定位在项目文档管理系统,是一个当下需要,又可能实现的系统。我一下子兴奋起来。
    于是又找到雪霁进行了几番的详细描述。重点阐述有以下几个构成部分:
    1 .项目文档
    2. .项目成员
    3.项目沟通
    其中集成邮件和IM 系统,将所有与项目相关的人联系起来。能够做到:
    第一、一个人进来系统可以看到同时参与的所有项目的相关信息和文档。
    第二、每个项目的项目经理负责或者委派人来进行项目文档管理,项目成员协同维护,形成知识共享。知识积累。
    第三、项目成员可以自动同步本地更新和服务器变更。所有项目的相关信息,也自动更新到项目成员。
    第四、项目成员操作项目,如果本地一样,这样在项目工作的同时,子让就将信息同步到服务器,达到了知识共享的结果。
    第五、文档的规格和要求,也可以由第三方进行规范,这样知识管理的可能性越来越强
    第六、上级可以查阅下级的项目。全公司的项目信息就能够共享起来。
    第七、计划软件关注的是结果文件,这个系统关注的是过程文件。
    这个系统已经呼之欲出了。其实市面上也许也早已有这样的系统了,这个再看。我觉得自己做和买不是关键,如何推广使用才是关键啊。
    细想这个系统的思考过程也很有意思,
    桌面文件管理系统 项目文件管理系统 知识管理系统
    我和雪霁说过,我觉得 一个好的知识系统,不是让大家在闲暇之余,在系统上整理它在头脑中的知识,而是把工作的过程,真实的记录在系统之中 。这样的系统才是有血有肉的。才是有生命力的。

     

    展开全文
  • 测试管理之--文档管理

    千次阅读 2018-05-05 17:46:13
    测试文档是整个测试中的重要输出;测试文档同时也贯穿测试活动的始末;在测试计划、测试设计、测试执行、...1、测试文档怎么管理?2、哪些文档需要管理?3、如何养成文档习惯?首先,谈一下第一个问题。测试文档的特...
  • Alfresco文档管理系统 文档

    千次阅读 2017-06-12 16:58:21
    http://download.csdn.net/detail/shenhonglei1234/9868240
  • 文档管理与文档规范

    千次阅读 2006-07-26 20:25:00
    毫无疑问,文档管理是项目管理中最关键的部分之一,文档管理的规范与否关系到项目进展状况,关系整个项目工作的效率与效益。 往往越是规模大的公司,其项目工作中的每一个环节都有相应的规范进行管理,这些规范都是...
  • SharePoint 2010 文档管理系列

    千次阅读 2013-09-11 14:18:14
    <!-- span { font-size:16px !important; font-weight:bold !important;... 前言,这是自己第一次写一个系列的文档,本来想使用SharePoint 2013版本,但是碍于SharePoint 2013对于硬件要求过高,自己的笔
  • 文档管理工具

    千次阅读 2019-06-16 07:40:05
    它不仅仅是一款文献管理软件,而且整合了知识管理、任务计划、PDF 全文搜索、笔记等科研工作中的亟需功能,可以说是科研工作者的“瑞士军-刀”!Citavi 中文官方网站:www.softhead-citavi.com EndNote 来自科....
  • 文档管理系统

    千次阅读 2013-07-04 18:51:52
    文档管理系统(document management system,简称DMS)或者数字资产管理系统(digital asset management system,简称DAM),主要是用来管理我们常用的一些文档、图纸、视频和音频等信息内容。 对于企业而言,文档...
  • 文档管理与配置管理

    2018-07-12 10:46:21
    管理文档 文档的质量分为四级 最低限度文档(1级文档) 适合开发工作量低于一个人月的开发者自用程序 该文档应包含程序清单、开发记录、测试数据和程序简介 内部文档 (2级文档) 可用于在精心研究后被认为...
  • API文档管理工具

    万次阅读 2018-10-20 21:44:05
    前后端分离开发,随之而来的问题,解决方法:接口文档管理工具,swagger,Yapi,API Blueprint,apidocjs,JApiDocs
  • 文档管理项目

    千次阅读 2013-08-06 19:16:25
    最近做了一个文档管理系统,仿360的界面。 (⊙o⊙)… 只是360别找我麻烦啊。。。尚未用于商业用途。 程序是cs程序,链接Sqlserver与FTP。 系统的特点: 与传统的文档管理系统只是管理FTP不同的是,本系统可以自定义...
  • 项目文档管理

    2009-07-31 11:53:00
    项目文档管理(Project Documents Management)目录[隐藏]1 项目文档管理的概述2 文档管理在项目进程中的重要作用3 如何建立项目文档管理规定4 参考文献 if (window.showTocToggle) { var tocSho
  • ASP.NET文档管理系统(功能强大且实用)

    万次阅读 多人点赞 2016-09-29 21:36:52
    ASP.NET文档管理系统(功能强大且实用),可以从中学习登录、操作日志,文档上传下载管理,审批流程及管理等等知识。
  • 文档管理系统(源代码+数据库)

    热门讨论 2009-01-12 16:24:09
    ASP.Net+SQL开发 使用存储过程和Javascript 实现系统功能有:目录管理、文件管理、权限管理、回收站管理、电子文档集中管理文档检索
  • RAP:web接口文档管理项目

    千次阅读 2018-05-10 18:09:45
    本文的原文连接是: ... https://github.com/thx/RAP 1,关于RAP ...Web接口管理工具,开源免费,接口自动化,MOCK数据自动生成,自动化测试,企业级管理。 github地址: https://github.com/thx/RAP 这个是...
  • SharePoint 2013 开发文档管理字段小记

    千次阅读 2016-01-28 11:27:39
     最近有这样一个需求,就是要求在列表库里管理文档,需要多文档管理、带版本控制、可以单独授权等基本操作。于是乎,就开发了一个自定义段,这里介绍一下字段的思路,里面有一些遇到的问题,在群友的帮助下已解决,...
  • Q配置管理和文档管理

    2016-09-03 20:06:49
    Q配置管理和文档管理 配置管理的基本概念 配置管理的基本概念 配置项 项目计划书 需求文档 设计文档 可执行代码 源代码 测试用例
  • 软件配置管理和文档管理

    千次阅读 2010-03-09 15:28:00
    软件配置管理的概念 软件配置管理(Software Configuration ... 软件开发和管理过程中会产生许许多多的工作成果,例如文档、程序和数据等,它们都应当被妥善地保管起来,以便查阅和修改。如果把所有文件一股脑地

空空如也

1 2 3 4 5 ... 20
收藏数 61,299
精华内容 24,519
关键字:

文档管理