- 2025 年最值得收听的 AI 播客推荐!助你轻松掌握人工智能前沿动态!
真智AI
人工智能开发语言机器学习
如今,几乎每个人都被告知需要提升技能,而当前许多组织最看重的技能之一就是人工智能(AI)。学习AI相关技能通常涉及数学、统计学和机器学习,但除此之外,你还需要了解行业趋势、业内人士的观点以及各大公司的动态。然而,学习并不意味着时刻都要埋头苦读!有时候,你需要给大脑一个喘息的机会,同时依然能获取有价值的信息。而收听AI相关的播客,就是一个轻松高效的方式。以下是2025年你必须关注的AI播客!1.Th
- 软考高级架构师/分析师论文【论基于架构的软件设计方法/ABSD】
saikey0379
架构软考高级论文系统架构设计师系统分析师计算机软件资格考试ABSD
一、摘要 2020年4月,某互联网公司开始了基础架构管理平台项目的实施,该项目主要为基础架构团队提供基础设施、中间件、负载均衡、任务管理等功能,我作为该项目的架构师,主要负责架构设计、架构评估等工作。本文以该项目为例,主要论述基于架构的软件设计方法在该项目中的具体应用与实现效果。在架构需求阶段,通过访谈、原型、JRP等方式获得了系统需求,并在标识构件后完成了需求评审。在架构设计阶段,对架构进行了
- SpringBoot项目集成分布式任务调度平台XXL-JOB
樱花语
分布式开发SpringBootXXL-JOB
一、概述XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。二、特性1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;2、动态:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;3、调度中心HA(中心式):调度采用中心式设计,“调度中心”自研调度组件并支持集群部
- python任务调度平台 界面_分布式任务调度平台XXL-JOB
weixin_39572764
python任务调度平台界面
以前带我的人说过,最好的学习就是看官方文档,个人也有4个T的学习视频,但是会发现讲的都是入门,有的也比较浅。官方文档比较官方,也比较权威,打开xxl-job的官网,写的贼详细,有些人喜欢收博客,不喜欢看官网,因此就直接复制过来了,过段时间会参考文档,自己来一遍。一、简介1.1概述XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司
- 【玩转正则表达式】一套万能的针对所有场景都适用的写出正则表达式的步骤
ThisIsClark
玩转正则表达式正则表达式
正则表达式作为一个强力的文本模式匹配工具,在功能强大的另一面是不低的使用门槛。对于很多开发者或者使用者来说,最大的问题就是面对一串待匹配的字符串,不知道如何正确的写出正则表达式。我因为是公司正则表达式相关功能的开发者,所以用户使用正则相关的功能时经常都会来找我问一个问题:我有一个xxx的字符串,想提取某某元素,应该怎么写正则表达式。于是在这个过程中,我不光积累了对正则表达式语法的熟练程度,更是对如
- 【系统架构设计师】论文:论信息系统的安全风险评估
数据知道
系统架构安全系统架构设计师论文软考高级架构
论文:论信息系统的安全风险评估文章目录摘要正文总结摘要2023年3月,我参加了某石化公司的实验室信息管理系统项目的开发工作,该系统作为该石化公司产品质量信息管理平台,将实验室的自动化分析仪器与计算机网络进行联结,实现自动采集样品分析数据,对样品检验过程、实验室资源进行严格管理,实现从原料进厂、生产、中间控制直至成品出厂的全过程质量数据管理,以及全公司范围内质量数据的快速传递与共享。我作为项目负责人
- 董事长十几刀刺死 CTO:一个要“先发布后优化”,一个坚持先优化。。。
程序员的那些事_
大家好,我是小程程。今天又是一起很刑的真实案例,也就上周的事。董事长刺死CTO3月7日,中国台湾省的云云科技公司发生一件震惊业界的命案。52岁的董事长曾志新因与51岁的梁姓CTO长期理念不合,在公司离职谈判期间持水果刀从背后猛刺CTO十余刀,最终致其身亡。曾董(左)和梁哥(右)据台北市信义区警方调查,双方在产品开发策略与管理模式上积怨已深,最终演变为暴力惨剧。梁哥是在2022年1月由前CTO引荐加
- OpenCV图像基础
天行者@
opencv人工智能计算机视觉
OpenCV其实就是一堆C和C++语言的源代码文件,这些源代码文件中实现了许多常用的计算机视觉算法。OpenCV的全称是OpenSourceComputerVisionLibrary,是一个开放源代码的计算机视觉库OpenCV最初由英特尔公司发起并开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用,现在美国WillowGarage为OpenCV提供主要的支持OpenCV可用于开发实时的图
- Web组态可视化编辑器 快速绘制组态
2401_88272797
前端编辑器
随着工业智能制造的发展,工业企业对设备可视化、远程运维的需求日趋强烈,传统的单机版组态软件已经不能满足越来越复杂的控制需求,那么实现Web组态可视化界面成为了主要的技术路径。行业痛点对于软件服务商来说,将单机版软件转变为网页版软件已经到了势在必行的阶段。但是,转变是一个复杂的过程,尤其是软件里面的组态功能部分,对于公司或个人都会面临以下几方面的问题:1、无相关组态开发经验,无技术积累。2、开发周期
- SeaTunnel社区「Demo方舟计划」第2期活动上线—— MySQL同步至MySQL数据合并场景实战
数据库
引言凌晨3点,某金融公司的数据工程师老王盯着屏幕上的报错信息陷入绝望——从32个分库同步的用户交易数据,在合并至中心MySQL表时,因主键冲突导致每天近10万条数据丢失。业务方投诉不断,而他能找到的解决方案,要么是REPLACEINTO性能低下,要么是INSERTIGNORE无法追溯冲突数据。这并非孤例,可能大部分新接触数据同步的工程师都会遇到以下情况:72%在分库分表合并场景中遭遇过主键冲突导致
- 基于 Flink 的海量日志实时处理系统的实践
zhisheng_blog
大数据实时计算引擎Flink实战与性能优化
海量日志实时处理需求分析在11.5节中讲解了Flink如何实时处理异常的日志,在那节中对比分析了几种常用的日志采集工具。我们也知道通常在排查线上异常故障的时候,查询日志总是必不可缺的一部分,但是现在微服务架构下日志都被分散到不同的机器上,日志查询就会比较困难,所以统一的日志收集几乎也是每家公司必不可少的。据笔者调研,不少公司现在是有日志统一的收集,也会去做日志的实时ETL,利用一些主流的技术比如E
- WPF内嵌WCF服务对外提供接口
weixin_30633507
jsonruntime
要测试本帖子代码请记得管理员权限运行vs。我写这个帖子的初衷是在我做surface小车的时候有类似的需求,感觉这个功能还挺有意思的,所以就分享给大家,网上有很多关于wcf的文章我就不一一列举了。公司有个旧的项目是winform写的,里面就有这个内嵌的wcf,我还没怎么搞过wpf,大家都说winform太老了,于是乎我就想用wpf内嵌下试试看看能不能成功。下面是我的surfacego小车的帖子。ht
- C#WPF的相关知识点
Documentlv
C#wpfc#开发语言windows
学习C#WPF的路线了解C#编程基础熟悉WPF界面设计原理掌握WPF控件的使用学习数据绑定和MVVM架构深入理解WPF动画和转换效果学习WPF中的多媒体和图形绘制掌握WPF中的布局和控件模板学习WPF中的自定义控件和样式了解C#编程基础如果你想开始学习C#编程语言,这里是一些关键的基础知识,可以帮助你快速上手。C#是什么C#是一种通用的、面向对象的编程语言,由微软公司开发。它在.NET框架上运行,
- 从代码民工到架构大师:为什么顶尖程序员的价值是普通人的100倍?
苏师兄编程
职场发展架构职场发展
大家好!我是苏师兄,一名工作多年的程序员,也是公众号【苏师兄编程】的主理人。凌晨三点的写字楼里,小张盯着屏幕上跳动的红色报错信息,这是他本月第三次被叫去处理线上故障。与之形成鲜明对比的是,隔壁工位的王工总能优雅地抿着咖啡,在系统监控大屏前用几行脚本化解危机。这两个场景每天都在互联网公司的各个部门上演——这就是普通程序员与顶尖技术人才之间的真实差距。一、被时代抛弃的"CRUD工种"在某电商公司的后台
- MongoDB介绍与部署使用
zhangleijiutian
mongodb
MongoDB的功能特性MongoDB是一个高性能、开源、无模式的文档型数据库,设计用于提供高性能、水平可扩性、高可用性和高级可查询性,为Web应用提供可扩展的高性能数据存储解决方案。MongoDB的名称取自单词”humogous”中间的几个字符,是很大、巨大的意思。该数据库由10gen公司开发并提供技术支持,它属于NoSQL数据库家族中的一员,在许多场景下可以用来替代传统关系型数据库或key/v
- nodejs作为provider接入nacos
tvrddmss
springboot后端java微服务node.js
需求:公司产品一直是nodejs的后台,采用的eggjs框架,也不是最新版本,现有有需求需求将这些应用集成到微服务的注册中心,领导要求用java。思路:用springcloudgateway将需要暴露的接口url转发,并将这个gateway注册到注册中心方案:1、转发原有nodejs的后台服务用Springboot建立一个gateway项目,引入gatewayorg.springframework
- 利用 DeepSeek 总结运维知识库的总结报告
缘来是黎
webankpython
一、背景在运维工作中,知识库是重要的知识沉淀与共享工具。随着公司业务的发展,运维涉及的系统、设备和技术日益复杂,原有的运维知识库内容繁杂、缺乏条理,难以高效检索和利用。为了提升知识库的可用性,我尝试借助DeepSeek这一强大的AI工具对其进行总结与优化。二、问题分析知识碎片化:原知识库中的知识分散在不同文档和记录中,缺乏统一的组织架构,导致查找特定知识时需要耗费大量时间。分类不清晰:知识分类不够
- React Next项目中导入Echart世界航线图
一朵好运莲
react.jsjavascriptecmascript
公司业务要求做世界航线图,跑了三个ai未果,主要是引入world.json失败,echart包中并不携带该文件,源码的world.json文件页面404找不到。需要自己寻找。这是整个问题卡壳的关键点,特此贴出资源网址。一、安装npminstallecharts二、下载world.jsonworld.json在最下面,点开直接粘贴到自己项目中引入Indexof/examples/data/asset
- mysql、oracle、SQLserver之间的区别和优势
噔噔噔噔@
mysqloraclesqlserver
MySQL、Oracle和SQLServer都是常见的关系型数据库管理系统(RDBMS),它们在某些方面有一些区别和优势。MySQL:MySQL是一种开源的RDBMS,由Oracle公司开发和维护。它具有快速、稳定和易于使用的特点。MySQL适用于中小型应用和网站,它在处理大量简单的查询时表现较好。MySQL对于开发者来说是免费的,但也有商业版提供更多高级功能。Oracle:Oracle是一种商业
- MetaGPT零基础极速入门:手把手教你打造AI虚拟公司
Julian.zhou
MetaGPT人工智能人工智能
MetaGPT是什么?为什么突然爆火?MetaGPT是由中国团队开发的多智能体协作框架,仅需1个需求,自动生成完整软件项目!它能模拟真实IT公司流程,自动分解任务、编写代码、生成文档,GitHub狂揽18k+星!官网:https://www.deepwisdom.ai/源码地址:https://github.com/geekan/MetaGPTMetaGPT能做什么?一句需求,可以让模拟的一个团队
- 软著申请材料包括
火炬软著代理
人工智能流程图软件构建开源软件软件工程
软著申请材料包括以下内容:一、申请表,需参照模板填写,注意软件功能和技术特点,最好分开一条一条的写;二、身份证明,若是公司申请只需提供营业执照副本扫描件,若是个人申请只需提供身份证扫描件;三、源代码,需使用计算机语言编写的指令或者语句序列,前后共30页,共60页(不足60页的全部提交),每页不少于50行,放在WORD文档里,最后一页是全部代码的结尾,源代码右上角标有页码,页眉处可以标有软件的名称和
- Manus详解,看这一篇就够了
程序员鑫港
langchain数据库人工智能AI大模型Agent智能体
Monica公司发布了AIAgent智能体产品——Manus,是一款具备突破性技术的通用型AI代理,根据Manus官网(https://manus.im)技术白皮书和网络公开资料,整理Manus核心技术和应用信息如下,欢迎讨论。技术架构多智能体协作系统Manus采用规划代理、执行代理和验证代理的分工机制,模拟人类工作流程,提升复杂任务的处理效率。规划代理采用蒙特卡洛树搜索(MCTS)算法优化任务拆
- 【脑洞小剧场】零帧起手创业小公司之 第一次用户反馈
Foyo Designer
技术职场小剧职场和发展程序人生学习方法改行学it程序员创富
点击查看小剧场合集https://blog.csdn.net/foyodesigner/category_12896948.html阳光透过窗帘的缝隙,懒洋洋地洒在办公室的每一个角落,却似乎无法驱散产品经理程立新心头的阴霾。他坐在电脑前,眼神空洞地盯着屏幕,心里五味杂陈。昨天项目匆匆上线,本以为会是公司迈向成功的一大步,没想到今天一早就迎来了用户的“狂轰滥炸”。场景一:产品经理的“差评风暴”“这…
- 美司法部考虑分拆谷歌:美国司法部在谷歌垄断在线搜索市场后,正在考虑的惩罚谷歌选择中,包括将谷歌分拆这种罕见的举措。
百态老人
笔记
1.案件背景与起因1.1美国司法部对谷歌提起诉讼美国司法部对谷歌提起诉讼的背景是该公司在在线搜索市场的主导地位引起了反垄断的担忧。司法部认为谷歌通过排他性协议和财务激励手段,限制了其他搜索引擎的发展空间,从而损害了市场竞争。诉讼时间:诉讼始于2020年,由美国司法部联合52个州及司法辖区的检察长共同发起。诉讼焦点:主要聚焦于谷歌与设备制造商、无线服务商等签订的独家协议,这些协议使谷歌搜索成为默认选
- TrueType字体格式(TTF)详解
源之缘-OFD专家—求职中
字体truetypettf
TrueType字体格式(TrueTypeFont,简称TTF)是由苹果公司在1980年代末开发的一种字体格式,旨在提供高质量的屏幕显示和打印输出。TrueType字体格式因其跨平台兼容性和高质量的渲染效果,迅速成为桌面出版和图形设计领域的主流字体格式之一。本文将详细介绍TTF字体格式的结构、特点以及常用的处理工具。一、TrueType字体格式的结构TrueType字体文件由多个表(Tables)
- 32位嵌入式微处理器一览
farsightliuht
嵌入式服务器motorola多媒体处理ibm开发工具
作者:杨硕,华清远见嵌入式学院讲师。由于嵌入式系统的专用型与定制性,与全球PC市场不同,没有一种微处理器或者微处理器公司可以主导嵌入式系统。本文分析了当前市场上主流的一些32位嵌入式微处理器的特点和应用场合,并对其未来发展做一些展望。这里只是按照体系结构分类,不涉及具体的处理器芯片。一.ARMARM处理器是由英国的ARM公司设计的32位RISC处理器。毫无疑问,ARM芯片是嵌入式微处理器中的佼佼者
- ios 侧滑返回传值卡死_iOS 侧滑返回的那点事
weixin_39946364
ios侧滑返回传值卡死
前言对于iOS用户来说,右滑返回是一个比较常见的。那么对于一个开放者来说,怎么去实现?其中又有哪些坑呢?目前的侧滑效果有两种:1.边缘触发侧滑(苹果原生)2.全屏触发侧滑而实现目前有三种方式:1.系统自带(不自定义导航)2.使用系统动画去实现3.自定义导航,默认开启系统的返回手势参考文章:iOS侧滑返回的三种实现方式正文至于两种侧滑效果孰好孰坏没有办法说,这就需要根据公司的产品需求去衡量。对于全屏
- Java 继承——从 C++ 到 Java
Chandler24
Javajavac++开发语言
继承是Java面向对象程序设计的基本概念,可基于已有类创建新类,复用已有类的方法并添加新方法和字段,是Java程序设计的核心技术。类、超类和子类在公司中普通员工完成工作仅领取薪水,而经理完成预期业绩后除薪水外还能获得奖金。为体现这种差异,需要定义一个新的Manager类,同时复用之前定义的Employee类中已有的代码和字段。经理与员工存在“is-a”关系,即每个经理都是员工,这是继承关系的典型特
- 贝锐花生壳简单3步映射金蝶KIS接口,实现财务凭证远程同步
内网穿透金蝶
在现代企业财务管理中,实现财务凭证的远程同步和第三方系统对接是提高工作效率和数据准确性的关键。金蝶KIS作为广泛使用的财务管理软件,提供了丰富的WebAPI接口,允许第三方业务系统调用以生成财务记账凭证。然而,对于财务信息这些敏感数据,一旦泄露,对于企业的损失可能不可估量。因此许多企业倾向于将它们部署在公司内部的服务器上,而非云服务器,以确保这些重要、敏感数据安全,但如何安全地将这些接口暴露给远程
- Linux安装docker的命令
Zealones
dockerlinux运维
docker介绍:Docker是2014年最为火爆的技术之一,几乎所有的程序员都听说过它。Docker是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐步使用Docker来替换现有的虚拟化平台了。Docker的优点:1、持续集成在项目快速迭代情况下,轻量级容器对项目快速构建、环境打包、发布等流程就能提高工作效率。2、版本控制每个镜像就是一个版本,在一个
- rust的指针作为函数返回值是直接传递,还是先销毁后创建?
wudixiaotie
返回值
这是我自己想到的问题,结果去知呼提问,还没等别人回答, 我自己就想到方法实验了。。
fn main() {
let mut a = 34;
println!("a's addr:{:p}", &a);
let p = &mut a;
println!("p's addr:{:p}", &a
- java编程思想 -- 数据的初始化
百合不是茶
java数据的初始化
1.使用构造器确保数据初始化
/*
*在ReckInitDemo类中创建Reck的对象
*/
public class ReckInitDemo {
public static void main(String[] args) {
//创建Reck对象
new Reck();
}
}
- [航天与宇宙]为什么发射和回收航天器有档期
comsci
地球的大气层中有一个时空屏蔽层,这个层次会不定时的出现,如果该时空屏蔽层出现,那么将导致外层空间进入的任何物体被摧毁,而从地面发射到太空的飞船也将被摧毁...
所以,航天发射和飞船回收都需要等待这个时空屏蔽层消失之后,再进行
&
- linux下批量替换文件内容
商人shang
linux替换
1、网络上现成的资料
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径`
linux sed 批量替换多个文件中的字符串
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`
例如:替换/home下所有文件中的www.admi
- 网页在线天气预报
oloz
天气预报
网页在线调用天气预报
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transit
- SpringMVC和Struts2比较
杨白白
springMVC
1. 入口
spring mvc的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的。以前认为filter是servlet的一种特殊),这样就导致了二者的机制不同,这里就牵涉到servlet和filter的区别了。
参见:http://blog.csdn.net/zs15932616453/article/details/8832343
2
- refuse copy, lazy girl!
小桔子
copy
妹妹坐船头啊啊啊啊!都打算一点点琢磨呢。文字编辑也写了基本功能了。。今天查资料,结果查到了人家写得完完整整的。我清楚的认识到:
1.那是我自己觉得写不出的高度
2.如果直接拿来用,很快就能解决问题
3.然后就是抄咩~~
4.肿么可以这样子,都不想写了今儿个,留着作参考吧!拒绝大抄特抄,慢慢一点点写!
- apache与php整合
aichenglong
php apache web
一 apache web服务器
1 apeche web服务器的安装
1)下载Apache web服务器
2)配置域名(如果需要使用要在DNS上注册)
3)测试安装访问http://localhost/验证是否安装成功
2 apache管理
1)service.msc进行图形化管理
2)命令管理,配
- Maven常用内置变量
AILIKES
maven
Built-in properties
${basedir} represents the directory containing pom.xml
${version} equivalent to ${project.version} (deprecated: ${pom.version})
Pom/Project properties
Al
- java的类和对象
百合不是茶
JAVA面向对象 类 对象
java中的类:
java是面向对象的语言,解决问题的核心就是将问题看成是一个类,使用类来解决
java使用 class 类名 来创建类 ,在Java中类名要求和构造方法,Java的文件名是一样的
创建一个A类:
class A{
}
java中的类:将某两个事物有联系的属性包装在一个类中,再通
- JS控制页面输入框为只读
bijian1013
JavaScript
在WEB应用开发当中,增、删除、改、查功能必不可少,为了减少以后维护的工作量,我们一般都只做一份页面,通过传入的参数控制其是新增、修改或者查看。而修改时需将待修改的信息从后台取到并显示出来,实际上就是查看的过程,唯一的区别是修改时,页面上所有的信息能修改,而查看页面上的信息不能修改。因此完全可以将其合并,但通过前端JS将查看页面的所有信息控制为只读,在信息量非常大时,就比较麻烦。
- AngularJS与服务器交互
bijian1013
JavaScriptAngularJS$http
对于AJAX应用(使用XMLHttpRequests)来说,向服务器发起请求的传统方式是:获取一个XMLHttpRequest对象的引用、发起请求、读取响应、检查状态码,最后处理服务端的响应。整个过程示例如下:
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange
- [Maven学习笔记八]Maven常用插件应用
bit1129
maven
常用插件及其用法位于:http://maven.apache.org/plugins/
1. Jetty server plugin
2. Dependency copy plugin
3. Surefire Test plugin
4. Uber jar plugin
1. Jetty Pl
- 【Hive六】Hive用户自定义函数(UDF)
bit1129
自定义函数
1. 什么是Hive UDF
Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括:
文件格式:Text File,Sequence File
内存中的数据格式: Java Integer/String, Hadoop IntWritable/Text
用户提供的 map/reduce 脚本:不管什么
- 杀掉nginx进程后丢失nginx.pid,如何重新启动nginx
ronin47
nginx 重启 pid丢失
nginx进程被意外关闭,使用nginx -s reload重启时报如下错误:nginx: [error] open() “/var/run/nginx.pid” failed (2: No such file or directory)这是因为nginx进程被杀死后pid丢失了,下一次再开启nginx -s reload时无法启动解决办法:nginx -s reload 只是用来告诉运行中的ng
- UI设计中我们为什么需要设计动效
brotherlamp
UIui教程ui视频ui资料ui自学
随着国际大品牌苹果和谷歌的引领,最近越来越多的国内公司开始关注动效设计了,越来越多的团队已经意识到动效在产品用户体验中的重要性了,更多的UI设计师们也开始投身动效设计领域。
但是说到底,我们到底为什么需要动效设计?或者说我们到底需要什么样的动效?做动效设计也有段时间了,于是尝试用一些案例,从产品本身出发来说说我所思考的动效设计。
一、加强体验舒适度
嗯,就是让用户更加爽更加爽的用你的产品。
- Spring中JdbcDaoSupport的DataSource注入问题
bylijinnan
javaspring
参考以下两篇文章:
http://www.mkyong.com/spring/spring-jdbctemplate-jdbcdaosupport-examples/
http://stackoverflow.com/questions/4762229/spring-ldap-invoking-setter-methods-in-beans-configuration
Sprin
- 数据库连接池的工作原理
chicony
数据库连接池
随着信息技术的高速发展与广泛应用,数据库技术在信息技术领域中的位置越来越重要,尤其是网络应用和电子商务的迅速发展,都需要数据库技术支持动 态Web站点的运行,而传统的开发模式是:首先在主程序(如Servlet、Beans)中建立数据库连接;然后进行SQL操作,对数据库中的对象进行查 询、修改和删除等操作;最后断开数据库连接。使用这种开发模式,对
- java 关键字
CrazyMizzz
java
关键字是事先定义的,有特别意义的标识符,有时又叫保留字。对于保留字,用户只能按照系统规定的方式使用,不能自行定义。
Java中的关键字按功能主要可以分为以下几类:
(1)访问修饰符
public,private,protected
p
- Hive中的排序语法
daizj
排序hiveorder byDISTRIBUTE BYsort by
Hive中的排序语法 2014.06.22 ORDER BY
hive中的ORDER BY语句和关系数据库中的sql语法相似。他会对查询结果做全局排序,这意味着所有的数据会传送到一个Reduce任务上,这样会导致在大数量的情况下,花费大量时间。
与数据库中 ORDER BY 的区别在于在hive.mapred.mode = strict模式下,必须指定 limit 否则执行会报错。
- 单态设计模式
dcj3sjt126com
设计模式
单例模式(Singleton)用于为一个类生成一个唯一的对象。最常用的地方是数据库连接。 使用单例模式生成一个对象后,该对象可以被其它众多对象所使用。
<?phpclass Example{ // 保存类实例在此属性中 private static&
- svn locked
dcj3sjt126com
Lock
post-commit hook failed (exit code 1) with output:
svn: E155004: Working copy 'D:\xx\xxx' locked
svn: E200031: sqlite: attempt to write a readonly database
svn: E200031: sqlite: attempt to write a
- ARM寄存器学习
e200702084
数据结构C++cC#F#
无论是学习哪一种处理器,首先需要明确的就是这种处理器的寄存器以及工作模式。
ARM有37个寄存器,其中31个通用寄存器,6个状态寄存器。
1、不分组寄存器(R0-R7)
不分组也就是说说,在所有的处理器模式下指的都时同一物理寄存器。在异常中断造成处理器模式切换时,由于不同的处理器模式使用一个名字相同的物理寄存器,就是
- 常用编码资料
gengzg
编码
List<UserInfo> list=GetUserS.GetUserList(11);
String json=JSON.toJSONString(list);
HashMap<Object,Object> hs=new HashMap<Object, Object>();
for(int i=0;i<10;i++)
{
- 进程 vs. 线程
hongtoushizi
线程linux进程
我们介绍了多进程和多线程,这是实现多任务最常用的两种方式。现在,我们来讨论一下这两种方式的优缺点。
首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master,多个Worker。
如果用多进程实现Master-Worker,主进程就是Master,其他进程就是Worker。
如果用多线程实现
- Linux定时Job:crontab -e 与 /etc/crontab 的区别
Josh_Persistence
linuxcrontab
一、linux中的crotab中的指定的时间只有5个部分:* * * * *
分别表示:分钟,小时,日,月,星期,具体说来:
第一段 代表分钟 0—59
第二段 代表小时 0—23
第三段 代表日期 1—31
第四段 代表月份 1—12
第五段 代表星期几,0代表星期日 0—6
如:
*/1 * * * * 每分钟执行一次。
*
- KMP算法详解
hm4123660
数据结构C++算法字符串KMP
字符串模式匹配我们相信大家都有遇过,然而我们也习惯用简单匹配法(即Brute-Force算法),其基本思路就是一个个逐一对比下去,这也是我们大家熟知的方法,然而这种算法的效率并不高,但利于理解。
假设主串s="ababcabcacbab",模式串为t="
- 枚举类型的单例模式
zhb8015
单例模式
E.编写一个包含单个元素的枚举类型[极推荐]。代码如下:
public enum MaYun {himself; //定义一个枚举的元素,就代表MaYun的一个实例private String anotherField;MaYun() {//MaYun诞生要做的事情//这个方法也可以去掉。将构造时候需要做的事情放在instance赋值的时候:/** himself = MaYun() {*
- Kafka+Storm+HDFS
ssydxa219
storm
cd /myhome/usr/stormbin/storm nimbus &bin/storm supervisor &bin/storm ui &Kafka+Storm+HDFS整合实践kafka_2.9.2-0.8.1.1.tgzapache-storm-0.9.2-incubating.tar.gzKafka安装配置我们使用3台机器搭建Kafk
- Java获取本地服务器的IP
中华好儿孙
javaWeb获取服务器ip地址
System.out.println("getRequestURL:"+request.getRequestURL());
System.out.println("getLocalAddr:"+request.getLocalAddr());
System.out.println("getLocalPort:&quo
评论
简单的说,对事不对人,如果buaalijie的理论在我的公司,会把大家带的做一些对开发无益的事。如果o6z的理论在我的公司,大家会把这个理论当作老大,但是不会有人去搞任何事。
所以,还是o6z的理论好点,起码不会做太多无益的事情。
差不多有同样的感觉,个人认为做什么事情都是从[开始]开始的,路是要一步一步走的。如果[老太太的仓库]尚且没有,我们在什么地方来发挥我们的管理作用呢,我们学一大堆的管理方法在什么地方实践呢?
一点个人建议--
有点规模的公司Portal和SharePoint可以做平台,知识管理垂直+水平。垂直的结构:组织单元A->A下属组织单元B->B下属项目;水平的结构:专业知识社区,跨多组织单元的项目...
每个项目内部的知识管理,项目经理可根据知识管理平台提供的功能按自己的习惯风格和项目的实际性质组织和管理
Charon提到的自上而下未必绝对,上家公司我们从4人的小team发展到40个人的部门,从最开始只有4人用的team portal,到后来发展演进成部门portal,包含了部门制度,部门公告,部门内所有项目文挡管理,知识社区,娱乐社区.....,到后来公司经理觉得这个东西好,要求其它部门都必须有这么个东西...
相比较而已,bug管理系统是属于那种必须写的。而wiki则是完全可能看大家的自觉性。
有的team会写得勤快些,有的则更新比较慢。
光wiki就有好几个在跑。因为以前的功能不够,所以后来又买了confluence,但迁移知识则是比较麻烦的。
知识库的建立必须是高层推动,并且与员工考核紧密结合的. 否则,往知识库里面提供素材的就只能是雷锋同志,难以持久.
而且,知识库也不是单独存在的.我们现在基本上是以trac为项目管理的核心平台,需求/bug/知识点都是围绕在这个上面,与svn也有一个比较好的接口.
"黑猫白猫,抓住老鼠就是好猫",我这种思维有可能太肤浅,但我想这也是最实际的.首先我们可以先定义出知识库的范围和用途,比如第一步,我就是用来收集公司在软件开发过程中形成的经验\资料\技术改进,之后再一步步深入.就像软件开发一样,迭代进行.毕竟在没有经验时,我们只能尝试.
最后我想问下ozzzzzz老师,当知识库建立后,如何让知识库具有人气,大家能形成互动,让知识能长久,持续的传递.
知识库不需要人气,特别是公司级别的知识库应该是隐形的。也就是说这个只是库,应该是同项目管理工具,bug管理工具,需求跟踪工具,等其他工具结合在一起,并在后台起作用的。
说实际的事情,办实际的事情,起实际的功效,也就是一切以实际出发。而另外一些的问题根本就在于不能解决实际的问题,而只是他们希望能够解决实际问题。这里我们必须明确,该是什么问题,就解决什么问题。人员流动显然是一个管理的问题,企业文化的问题,你觉得使用知识库来解决,仅仅就是一个肤浅可以表达的,难道这就是最实际的?
而所谓定义知识库的范围,绝对是和企业的生产流程以及企业规划,并且直至企业文化、战略目标相关联的。而且在我看来,你的开放过程可以迭代,但是你的管理的修改却不能迭代,至少不能经常性的去迭代。这就是最大的实际。只有这样你的做法才能落地。
最后我还要明确一点的是,知识库不是为了知识可以长久保存(档案库才是作这个的,而按照他们的行为方式,知识库最终也仅仅是会成为一个档案库),而是应该将知识的新陈代谢纳入一个具体的规划,并且促进旧知识的淘汰,新知识的总结。而知识库的使用应该更多是间接的,因为工作中遇到的问题,更加应该依靠生产管理和技术问题去解决。这一点你也可以从惠普等已经建立了知识库的组织看到,他们大多数都是使用知识库来作培训和知识更新。而知识传递效率的提高,唯一有效的方法就是建立一个更加个性化的方言系统。
"黑猫白猫,抓住老鼠就是好猫",我这种思维有可能太肤浅,但我想这也是最实际的.首先我们可以先定义出知识库的范围和用途,比如第一步,我就是用来收集公司在软件开发过程中形成的经验\资料\技术改进,之后再一步步深入.就像软件开发一样,迭代进行.毕竟在没有经验时,我们只能尝试.
最后我想问下ozzzzzz老师,当知识库建立后,如何让知识库具有人气,大家能形成互动,让知识能长久,持续的传递.
首先我们必须要对CMM的一些背景问题作分析,这是因为这个问题表面上不涉及cmm,但是很多人的思考问题的过程和分析问题的方法,都是受CMM强烈影响的。我们这里只需要对一个方面的问题进行思考,CMM究竟衡量软件开发能力的,还是衡量软件开发过程中质量相关要素的,还是衡量软件开发工作质量的。而回答这个问题后,大家必须要明白问题都具有领域,而解决问题的最佳方式是在这个领域中作出针对性的解决,而相关领域的方法仅仅是一种优化。
回到知识库这个问题,是首先要解决什么是知识,然后要分析知识如何才具有价值,接着是分析如果增值这些价值,而具有价值的知识是如何被得到是使用的需要建立一个可以观测的流程。同时我们还要知道,知识是必须建立淘汰机制的,也就是说当一个知识已经被众多人所知晓和使用之后,就必须将其固化为一个不依靠个人的解决工具,从而淘汰旧的建立新的。如果这个工具具有使用范围,范围的大小决定其下一步的具体形态。当范围大到一定阶段的时候,这个知识将形成一种模式,而范围小到一定程度的时候则程序化为一种库函数化的被包装的黑盒实体。也就是说知识最终的结果都是被物化为一种方法或者一种具体化的工具。这些都是在知识库建立中需要考虑的问题。
知识库作用是不可否认的,这点O6Z也没否认。而另外的一个问题,其实是说建了文档库或者Wiki就把叫做知识库的做法的问题。如果再深入一些,更主要的问题,什么才叫做知识,如果不知道什么叫做知识,那么建再多的库都不知道自己在建什么。事实上,本人真的不知道什么叫做知识。
所以,建议buaalijie不如说建立一个交流的平台,否则,“知识库”这么大的命题给别人质疑你带来了很大的机会。包括你后面对这个东西的推广,如果在公司内部有人质疑你的成果,你如何证明你做的是对的呢?如果不能证明这件事是对的,如何能得到老板支持,又如何能够推广呢?
对于buaalijie提到的“书本是否还需要印刷”,从极端环保的观点是“不要”,从文明延续的角度,我觉得“只要不是抄袭的,都可以印”,从我个人的观点,“随便你,反正我不看”
其实,对自己的内部需求,和我们在项目前期和客户沟通建立数据仓库应该有些类似的,很多客户想上来就要数据仓库,其实讨论下来,不要说数据仓库、数据集市,连报表汇总都很难说清楚。
建议先从小处实际入手:
对新员工的话,是否已经有明确的入手指导(文档、事例、例程等等)?还是实际只能口口相传?(那种让人看不明白的文档当然是不能不算的,但也不是说希望新人只是看文档就能明白一切)
BTW:对CMM实现,我认为,国内企业在成本上是很难真正实现的。很明显的问题就是,客户不买单的实际问题。
首先:
关于中毒的这样一个说法的前提是CMMI是毒药。就是说这是一个不好的东西。我认为这种看法过于偏激。
没有十全十美的事物。从任何一个方面来讲,说一个东西完全是错的都不对。更何况是一个经过很多人验证实施而且取得了成效的东西。具体的问题我们后面再讨论。
第一点,所谓成熟的软件开发过程根本就不存在,这一点在我的关于cmm的几个讨论贴已经有所陈述,这里我想做个提示。实际上软件开发过程应该是高度适应开发的具体软件,而不是相反,所谓没有银弹。而进一步说具体被开发的软件,如果有高度相似性,则其开发的过程则也就具有高度相似性。而只有如此,才可能具有cmm所要求的最基础的稳定性。而恰恰由于软件的知识熟悉,也就是低生产成本,高开发首产品成本的属性,不断的建造具有高相似性的软件,本身就是一件反软件开发基本原理的事情。而cmm所强调的所谓成熟度,实际上就成为了软件开发能力的相反。这一点同我所分析的cmm各个级别的内在要素实际上是相反的结论相符合。
一段话讲得倒是很有“大道理”。但是,(可能我的看法也很偏激)我觉得ozzzzzz可能自己并没有十分的了解CMMI中“成熟的软件开发过程”的说法的意思。成熟的软件开发过程的重点在于“过程”,而非是指“软件”。举一个例子。(简单的过程定义)
一个公司做的是对日的项目。长期的两地协作开发。需要一个有效的,稳定的沟通 协作开发的过程。那么“异地联络方式”“BUG处理方式”等等都是需要决定的,如果公司在这一方面已经很有经验了,有一套成熟的异地协作开发模式,以及相关的交流用的文档和过程文档,那么按照CMMI的思路,把这样的一套方法定义完成,在组织级别推广开来,使公司在这一方面所消耗的资源达到最小。(题外话,貌似敏捷的开发方式的目标是要消除浪费,不知道这样讲对不对。)那么在实践之后,这个过程被确定下来,并且在实施过程中在不断的加以完善。 这样就完成了在沟通方式上面的一个过程的定义。
但是,需要指出的是:“优质过程的复用”,不等同于“相似性的软件再造”。“方法”和“结果”是两个东西。同样的。CMMI所要求的稳定性也在上面的例子中也体现出来,要求的是过程的稳定,和做的项目,出的软件成果是没有关系的,事实上就是不管什么样的软件项目,如果需要异地的协作开发,好的交流方式总是合适的。(虽然执行的时候根据项目的规模等等所要求的力度不一样。但是规则并不等于没有变通,CMMI其实是有很完善的调整机制的。)说了这么多,就是想说明一个事情:“能力成熟度模型”指的是:“做事情的方法上的成熟”,而并非“建造具有高相似性的软件”。做事的手段和我正在做什么事情是扯不到一起的。
可能就有这样一个问题,你建立这个知识库,收集那么多的资料,不就是为了复制么?答案是:“知识库让你站在前人的肩膀上”。现在的科学家们都站在牛顿时代的科学家的肩膀上。
实际上也就是说表面上稳定而条理化的cmm开发过程,其实是内在混乱的开发方式。这一点在国内众多的cmm企业实际上已经显露的很明显了。楼主所说的“工作一年也是什么活儿都干的,编码、测试、设计。”,就是一个很好的例子。
基于前面的理由这样一点是不成立的,至于国内的企业内部的混乱,我认为是人的问题。以人为本,总是强调这个,出了问题就不强调了,开始找制度的问题,典型的逃避责任。至于我说的什么都干,我一个新手,什么都不会,不什么干一些,了解一下行业的整体状况,我觉得是十分应该的。
说点题外话,实际上开发过程的不稳定性,并不排斥针对开发过程的开发具有稳定性。这也就是敏捷存在的基础,也就是我多次强调的敏捷很多时候更加是一种思想,而不是一种开发过程。
认清这一点,就可以理解实际上面向开发过程的辅助知识库,应该是一种提供对开发过程开发调整的知识系统,而不是面向开发的过程系统知识库。有点绕口,但是意思还是可以理解的。
我赞同一种观点,“在过程中消除浪费。”忘了在哪儿看见谁说的了。 在这一点上,其实和我前面讲的差不多。“对开发过程开发调整的知识系统”这个在CMMI中由EPG来执行。“面向开发的过程系统知识库”这个里面收集的应该是对于每一个过程的最佳实践。还是举个例子,接上面的例子。
异地开发模式,交流的时候可能需要一些文档,(不要告诉我打个电话给你就行了,你全部记住了,绝对不会有问题。软件开发当中最重要的的确是人,但是最不可靠的也是人,这个不关乎于人的能力的强弱),那么怎样来写这样的文档,在文档中部署一些什么样的交流地内容,怎样才能让所有的相关人员一看就明白,怎样才能保存证据?(做软件的也是要挣钱的,而交流的内容多半关乎到你能拿到多少钱,口头上的证据是没有效果的)。如果双方有一个成熟的交流过程了,在过程文档库中有大家都使用的文档,那么这一点很容易就能完成。
就好像做项目的时候讲这个:“hibernate”那个“spring”,还有什么“ROR”,这些东西其实也是最佳实践。(顺便提一下,不要说没有什么最佳实践。)
第二点,知识库的建立应该是谁的职责?实际上基本的cmm教学就已经明确阐述了,cmm的建设应该是由高层推进的。而知识库,特别是开发过程面向的知识库,更加应该如此。
而企业知识库的建立绝对不是一个团队所能够完成的,实际上可以说根本就不是一个企业所能够完成的。一个面向开发的知识库,必须建立在软件利益相关责任人的共同参与。而这项工作,只能在开发主体的高层大力推动下才可能进行。也就是说,不管一个人学习能力再强,只要其不具备企业决策职位,就不可能真正的推进此知识库的建立。
光是高层的推动,所有的人当你不存在就好了。光是一个公司搞,其他公司站在那儿冷笑就好了。只有大家都重视,事情才能办好。从来就没有想过一个人可以把这个搞起来。(题外话:关于“The one”这个问题,我再三强调我是一个人本主义者,而正是由于我是人本主义者,所以我才说我们不需要“The one”----救世主)而且我也说了,我只是提出这样一件事,让大家讨论讨论。
第三点,人是任何工程学的核心要素,抛开人的工程学就是伪工程学。而所谓人员流动性过大的问题,恰恰是开发过程混乱的一个显著特征,也是管理能力低下的显著特征。而在一个管理能力和开发过程都存在这样严重问题的组织内,希望通过建立一个知识库来挽回局面,显然是没有抓住主要矛盾。
偏激的观点,明显的带着有色眼镜看人。“人是任何工程学的核心要素”没有错,“而所谓人员流动性过大的问题,恰恰是开发过程混乱的一个显著特征”这一点毫无根据,人的去留和公司的各个方面以及自己的各个方面都有关系,说是开发过程混乱的显著特征明显的就是信口雌黄。“也是管理能力低下的显著特征”倒是可以说也许是一个方面。“希望通过建立一个知识库来挽回局面,显然是没有抓住主要矛盾。”这个则是属于完全的臆测。小孩子都知道要全面发展。
第四点,所谓知识库是反文档的。这里需要我们大家对知识库的基本概念有最基本的理解。简单的说,知识库不是知识的数据库,而是知识的数据仓库。
同时我们还需要理解什么是知识。知识来源于经验,是可以被传递的经验。经验来源于人的实践,被传递也是在人之间进行。所谓企业的知识积累,实际上应该是企业中集体人群的知识共同积累。而由于知识的传递性,保证其效率则成为基本的要求。而大家看到人月神话里面强调外科手术团队的建设,也就有这个方面的因素。
通过文档传播知识无疑是一种有效率的扩展方式,但是我们也应该明白温伯格的“稀薄的果酱”的道理。而作为一个开发企业,知识的传递并不是以扩大知晓面为前提,而是应该以加深知识传递效率为前提。
同时我们还应该注意,知识的来源是经验的沉淀,而经验的载体只能是人。而扩大知识产生的一个最有效方式,也就是扩大经验的积累,明白的说就是稳定人员构成的长期存在。
而文档由于其同步性的先天性不足,其投入的资源必须得到最严密的控制。也就是说,文档必须控制在刚刚好的地步,才可能将其维护成本控制住。否则看似无关痛痒的一个小小冗余,就会造成后期维护的数量级的递增。而随着对知识的积累的进行,文档的数据将会逐步减少,理想化的情况是降低为“0”成本付出,也就是没有任何文档。
我只是想问一下:“书本是否还需要印刷?”
知识库可能需要一定的人力来维护,需要耗费资源,但是我认为这比,在主要技术人员更动,重新摸索来得快,效率高;原理跟写好一个程序的注解一样。其实internet就是一个大知识库,不知道反对者是否使用google来查询需要的资讯。知识库其实就是每个公司自己的特殊方向的信息库。
其实作为一项结论性的观念大家必须时刻牢记。软件开发是一项人的智力产品生产,软件工程是一个工程学科,这里唯一真正存在的要素只能是人,妄图抛开“The one”这个要素的做法,都是违背基本的原理,实际上也是违背基本的人类道德底线的。
前面已经解释过,在这儿只想说:“对不起,让你误解了”。
实施知识库,需要公司有制度保障,否则大家都没有劲头(我现在就是这样,搭了一个media wiki,没用起来),
采用积分制,定期评选,也可以和考核机制挂钩.
另外就是,公司越大, 越有建设的必要,让知识流动起来,而不是孤岛.
楼主如果有什么好的知识管理工具,可以交流一下,我目前在试用confluence.
我现在也没有什么好的知识管理工具。
最后想说一些自己的观点:人不是生下来就会跑的,没有人敢说没有文档我可以做得比你好(当然,你说的对象不是我,是和你有同等资历能力的人)。而且XP与敏捷确实不失为好的方法或者说思想,但是和CMMI一样,需要正确的认识。而不是一棍子打死。其实敏捷所要求的团队的能力水平不是现在国内的软件开发团队都具有的。国内大部分的团队如果硬要敏捷,抛弃过程的话,我觉得会死的比较难看。
扯了这么多,突然发现和知识库越来越远了。。。。。。
我觉得应该这样问:
知识库到底该不该建设?
如果建设的话,应该怎么建设?
如果不建设的话,为什么?
首先,建设知识库需要成本,主要是人力成本;
其次,知识库的建设需要一个较长的周期,才能到达一个能产生收益的临界点。
管理层来看,简单的说,就是在现在投入成本去建设一个未来(不知何时)能带来一定收益(无法详细估算)的东西。这种东西对于管理层(尤其是营收压力比较大的管理层)来看是没有任何诱惑力的。所以很多公司宁愿把成本花在招人也不花在知识库的建设上
是的,还不如建立一个自己的知识库.
呵呵,人民币严重贬值后就会这样
知识库可能有东西不是你需要的,如果从来没人需要,就是知识库这个机制没有建立好。找到需要的东西,可以运用搜索技术什么的。
不知道"什么注释是一种味道",请解释, :-)
而且我认为注释永远不会消失。
我还是认为这个东西不是什么新鲜概念,都是些想赚钱的公司,造出来的一些概念而已,显得十分高深,背后的道理千年来一直都有,也就是换个实现方法。我不知道如何让知识库知道你需要什么,而避开人的主动性,可能这个有点高深。我一直认为,知识库的执行实施需要人参与,这个是最最关键的难点,由于人性的弱点,如何让人们能够共享自己的知识,同时让大家互相获得好处,这个才是关键。武打小说里面为什么会有秘籍,都是自私惹的禍。因此知识库的建立,其实重点已经不是实现他的技术本身了。如果大家都是10几万一个月,大家都是衣食无忧,工作都是兴趣爱好的话,那样建立知识库将是个简单的事情。
首先楼主所在的公司是典型的cmm企业,或者叫混乱而无序的人力密集型企业。在这样的企业中高度存在着无序的软件开发过程和充满不稳定的人际关系,而知识库的建立显然没有一个好的基础资源支持。
楼主很年轻,而且不从事第一线的开发工作。从根本上说其自身能力和资源配属就不可能完成持续的知识库的建立。
第三,楼主对于知识库的作用认识还很不清楚,有片面夸大知识库作用的倾向,希望以知识库代替人和组织的工作。
第四,知识库本身的建立应该是在知识积累和归纳的基础上,而不是建立在文档的积累和归纳的基础上的,严格的说知识库是反文档化一套运行支持系统。
o6z有点偏激了吧,尤其是第三条. 知识库的价值是显而易见的, 不知道o6z有没有具体的知识库解决方案.或者说能实施的路线图,包括工具,方法,制度保证等
1,有多少东西是网上查不到的,必须搬到自己的知识库中;如果网上的资料就很全,为何不用网文快捕之类的软件做成一个专题书籍呢?这样省时省力。
2,公司有多少人愿意喜欢写文档,如果强制要求会有多大效果?wiki真的合适吗?
3,培训资料的整理还是很有必要的;这个的工作量不大
4,学习的成本代价也很高,还是老人带新人好;有效果也容易实施;公司应该完善这方面的制度
5,我先问一下楼主,个人的知识库的建设有什么心得?
说的是啊,知识库里的内容应该是使用频率高的,不容易获得的,也可能是零散的,否则都去整理知识,没人干正事了.
个人知识库我是用mybase管理的,网络资源我使用得乐书签,一点经验.
知识分为显性知识和隐性知识。显性的知识是可以通过wiki来记录的,我感觉
软件开发企业最需要知识库了,说的好听点,我们都是知识工人,依靠这些来创造价值.
wiki最起码在以下几个方面体现价值:
1. 信息共享,比如faq,文档资料,通讯录.这样大家在一个地方积累,很多问题不需要互相询问了.
2. 积累领域知识.
3. 作为项目组的沟通工具.
实施知识库,需要公司有制度保障,否则大家都没有劲头(我现在就是这样,搭了一个media wiki,没用起来),
采用积分制,定期评选,也可以和考核机制挂钩.
另外就是,公司越大, 越有建设的必要,让知识流动起来,而不是孤岛.
楼主如果有什么好的知识管理工具,可以交流一下,我目前在试用confluence
当然不是所有知识都是只通过人于人之间的之间交流传递的,但是请注意就软件开发能力来说,还就是处于原是社会。作为一个技术人员,一个最核心的特点是起社会的属性,也就是其在一个团队game中所进行的行为。而其是否积极,是不是愿意尝试新技术,是不是在不断的提高自己,是不是会闭塞,这很大程度上是受其团队文化的影响,而进一步说企业文化的偏见必然导致个人技术的偏见。
显然是没有解决好几个逻辑的问题。
第一如果主要技术人员不更动,这个资源的付出,是不是一种浪费?
第二如果主要技术人员必然会更动,那么究竟是在什么时候更动,是否有能力避免这个更动?
第三如果这个更动是不可避免,那么是否建立一个知识库是最便宜的选择?
天要下雨,人要嫁人。知识库是一个比较便捷的尝试。
但是是不是最便宜的呢?企业经营的目的是什么,动机是什么,驱动是什么?难道是柿子捡软的捏,活捡容易的干?
而恰恰很大程度上来说,如果知识库沦落到程序的注释的田地——注释本身就是一种味道,这个知识库的建立的动机,本身就说明这个企业有着基础性的文化和开发方法的缺陷。
知识库是起到一个辅助作用。我打个代码注解的比方,只是一个比喻而已。建立一个知识库,类似于建立一个事件,过程的注解。例如,建立一个病人档案系统,其实也是一个知识库,实习医生,可以根据这些信息,学习到一些知识。注解本身是程序的知识库,目的是让人明白你的程序干什么,也是一种知识的传递。
注释是一种味道,这个意思你是不是明白?程序的知识库永远也不会是注解,因为注解永远是应该被清除的。
至于所谓的病案系统,严格意义上是一个档案系统而不是知识库。本质上的区别,展示了你对于知识工程的看法的立场。
internet怎么会是一种知识库?假若真的是一种知识库,那么你还有什么必要建立自己的知识库呢?
而且最关键的是,以这种方式和动机建立起的知识库,必然会走向类internet,这个时候究竟是知识工程的进步还是后退呢?
某种程度可以这么认为,它能提供给我需要的东西,迅速而便捷,只是它不是针对某个专业领域,因此需要企业针对他们的业务领域建立特定的。
既然如你所说是针对企业的业务领域,而internet也很便捷,那么你完全可以选择一种搜索方式,而不是建立一个自己的知识库。所谓作最便宜的选择。
关键其实还是在于对知识库的基础概念的认识问题,或者是是最基本的生产活动的认识问题。为什么一个老太太天天在家里积攒的不知道猴年马月才能排上用处的杂物,不能被称为仓库就是这个道理。因此我在一次强调,知识库不是知识的数据库,而是知识的数据仓库。
而一旦公司的知识库按照老太太的思路建立起来,起本身就必然会成为一个信息库,而不是知识库。
也许是知识库定义太狭窄,而我没有认识透彻。不管知识库,知识仓库,目的是提供一个知识信息传递平台而已,能够将前人的知识很好的继承传递;在我需要得到信息的时候能够得到,而不是自己去摸索,我觉得他的功能已经达到了。我没必要去研究万有引力,因为书上都说了;我看营销书籍,学习营销手段。书就是一个传统的知识库,只是现在把知识库放进电脑,用现代方法进行处理,提高效率而已。其实就这么简单,没什么高深的技术,模式,思维。
知识库的建立绝对是一门高深的技术,需要使用复杂的思维方法,推导和分析出不断自我完善的模式。
知识库的作用,不是在于存储知识,而是在于对经验进行分析和归纳。知识库的目的不是在于传递知识,而是对知识的传递方式作出优化,对知识内容作出规例,对知识的积累作出指引,也就是说知识库是知识传播平台的一种制定系统或者制定方式,而非知识传播平台本身。
同时请注意,知识库绝对是一种信息的新型承载方式,而不是传统意义上的书的扩展或者现代化的包装。因为无论从什么意义上来说,书都不会主动的提供给你需要的知识,而不需要你自己去摸索。
所以我才一再强调,知识库是知识的数据仓库而不是知识的数据库。
当然不是所有知识都是只通过人于人之间的之间交流传递的,但是请注意就软件开发能力来说,还就是处于原是社会。作为一个技术人员,一个最核心的特点是起社会的属性,也就是其在一个团队game中所进行的行为。而其是否积极,是不是愿意尝试新技术,是不是在不断的提高自己,是不是会闭塞,这很大程度上是受其团队文化的影响,而进一步说企业文化的偏见必然导致个人技术的偏见。
显然是没有解决好几个逻辑的问题。
第一如果主要技术人员不更动,这个资源的付出,是不是一种浪费?
第二如果主要技术人员必然会更动,那么究竟是在什么时候更动,是否有能力避免这个更动?
第三如果这个更动是不可避免,那么是否建立一个知识库是最便宜的选择?
天要下雨,人要嫁人。知识库是一个比较便捷的尝试。
而恰恰很大程度上来说,如果知识库沦落到程序的注释的田地——注释本身就是一种味道,这个知识库的建立的动机,本身就说明这个企业有着基础性的文化和开发方法的缺陷。
知识库是起到一个辅助作用。我打个代码注解的比方,只是一个比喻而已。建立一个知识库,类似于建立一个事件,过程的注解。例如,建立一个病人档案系统,其实也是一个知识库,实习医生,可以根据这些信息,学习到一些知识。注解本身是程序的知识库,目的是让人明白你的程序干什么,也是一种知识的传递。
internet怎么会是一种知识库?假若真的是一种知识库,那么你还有什么必要建立自己的知识库呢?
而且最关键的是,以这种方式和动机建立起的知识库,必然会走向类internet,这个时候究竟是知识工程的进步还是后退呢?
某种程度可以这么认为,它能提供给我需要的东西,迅速而便捷,只是它不是针对某个专业领域,因此需要企业针对他们的业务领域建立特定的。
关键其实还是在于对知识库的基础概念的认识问题,或者是是最基本的生产活动的认识问题。为什么一个老太太天天在家里积攒的不知道猴年马月才能排上用处的杂物,不能被称为仓库就是这个道理。因此我在一次强调,知识库不是知识的数据库,而是知识的数据仓库。
而一旦公司的知识库按照老太太的思路建立起来,起本身就必然会成为一个信息库,而不是知识库。
也许是知识库定义太狭窄,而我没有认识透彻。不管知识库,知识仓库,目的是提供一个知识信息传递平台而已,能够将前人的知识很好的继承传递;在我需要得到信息的时候能够得到,而不是自己去摸索,我觉得他的功能已经达到了。我没必要去研究万有引力,因为书上都说了;我看营销书籍,学习营销手段。书就是一个传统的知识库,只是现在把知识库放进电脑,用现代方法进行处理,提高效率而已。其实就这么简单,没什么高深的技术,模式,思维。
知识库可能需要一定的人力来维护,需要耗费资源,但是我认为这比,在主要技术人员更动,重新摸索来得快,效率高;原理跟写好一个程序的注解一样。其实internet就是一个大知识库,不知道反对者是否使用google来查询需要的资讯。知识库其实就是每个公司自己的特殊方向的信息库。
当然不是所有知识都是只通过人于人之间的之间交流传递的,但是请注意就软件开发能力来说,还就是处于原是社会。作为一个技术人员,一个最核心的特点是起社会的属性,也就是其在一个团队game中所进行的行为。而其是否积极,是不是愿意尝试新技术,是不是在不断的提高自己,是不是会闭塞,这很大程度上是受其团队文化的影响,而进一步说企业文化的偏见必然导致个人技术的偏见。
而说
第一如果主要技术人员不更动,这个资源的付出,是不是一种浪费?
第二如果主要技术人员必然会更动,那么究竟是在什么时候更动,是否有能力避免这个更动?
第三如果这个更动是不可避免,那么是否建立一个知识库是最便宜的选择?
而恰恰很大程度上来说,如果知识库沦落到程序的注释的田地——注释本身就是一种味道,这个知识库的建立的动机,本身就说明这个企业有着基础性的文化和开发方法的缺陷。
internet怎么会是一种知识库?假若真的是一种知识库,那么你还有什么必要建立自己的知识库呢?
而且最关键的是,以这种方式和动机建立起的知识库,必然会走向类internet,这个时候究竟是知识工程的进步还是后退呢?
关键其实还是在于对知识库的基础概念的认识问题,或者是是最基本的生产活动的认识问题。为什么一个老太太天天在家里积攒的不知道猴年马月才能排上用处的杂物,不能被称为仓库就是这个道理。因此我在一次强调,知识库不是知识的数据库,而是知识的数据仓库。
而一旦公司的知识库按照老太太的思路建立起来,起本身就必然会成为一个信息库,而不是知识库。
知识库可能需要一定的人力来维护,需要耗费资源,但是我认为这比,在主要技术人员更动,重新摸索来得快,效率高;原理跟写好一个程序的注解一样。其实internet就是一个大知识库,不知道反对者是否使用google来查询需要的资讯。知识库其实就是每个公司自己的特殊方向的信息库。
第一点,所谓成熟的软件开发过程根本就不存在,这一点在我的关于cmm的几个讨论贴已经有所陈述,这里我想做个提示。实际上软件开发过程应该是高度适应开发的具体软件,而不是相反,所谓没有银弹。而进一步说具体被开发的软件,如果有高度相似性,则其开发的过程则也就具有高度相似性。而只有如此,才可能具有cmm所要求的最基础的稳定性。而恰恰由于软件的知识熟悉,也就是低生产成本,高开发首产品成本的属性,不断的建造具有高相似性的软件,本身就是一件反软件开发基本原理的事情。而cmm所强调的所谓成熟度,实际上就成为了软件开发能力的相反。这一点同我所分析的cmm各个级别的内在要素实际上是相反的结论相符合。实际上也就是说表面上稳定而条理化的cmm开发过程,其实是内在混乱的开发方式。这一点在国内众多的cmm企业实际上已经显露的很明显了。楼主所说的“工作一年也是什么活儿都干的,编码、测试、设计。”,就是一个很好的例子。
说点题外话,实际上开发过程的不稳定性,并不排斥针对开发过程的开发具有稳定性。这也就是敏捷存在的基础,也就是我多次强调的敏捷很多时候更加是一种思想,而不是一种开发过程。
认清这一点,就可以理解实际上面向开发过程的辅助知识库,应该是一种提供对开发过程开发调整的知识系统,而不是面向开发的过程系统知识库。有点绕口,但是意思还是可以理解的。
第二点,知识库的建立应该是谁的职责?实际上基本的cmm教学就已经明确阐述了,cmm的建设应该是由高层推进的。而知识库,特别是开发过程面向的知识库,更加应该如此。
而企业知识库的建立绝对不是一个团队所能够完成的,实际上可以说根本就不是一个企业所能够完成的。一个面向开发的知识库,必须建立在软件利益相关责任人的共同参与。而这项工作,只能在开发主体的高层大力推动下才可能进行。也就是说,不管一个人学习能力再强,只要其不具备企业决策职位,就不可能真正的推进此知识库的建立。
第三点,人是任何工程学的核心要素,抛开人的工程学就是伪工程学。而所谓人员流动性过大的问题,恰恰是开发过程混乱的一个显著特征,也是管理能力低下的显著特征。而在一个管理能力和开发过程都存在这样严重问题的组织内,希望通过建立一个知识库来挽回局面,显然是没有抓住主要矛盾。
第四点,所谓知识库是反文档的。这里需要我们大家对知识库的基本概念有最基本的理解。简单的说,知识库不是知识的数据库,而是知识的数据仓库。
同时我们还需要理解什么是知识。知识来源于经验,是可以被传递的经验。经验来源于人的实践,被传递也是在人之间进行。所谓企业的知识积累,实际上应该是企业中集体人群的知识共同积累。而由于知识的传递性,保证其效率则成为基本的要求。而大家看到人月神话里面强调外科手术团队的建设,也就有这个方面的因素。
通过文档传播知识无疑是一种有效率的扩展方式,但是我们也应该明白温伯格的“稀薄的果酱”的道理。而作为一个开发企业,知识的传递并不是以扩大知晓面为前提,而是应该以加深知识传递效率为前提。
同时我们还应该注意,知识的来源是经验的沉淀,而经验的载体只能是人。而扩大知识产生的一个最有效方式,也就是扩大经验的积累,明白的说就是稳定人员构成的长期存在。
而文档由于其同步性的先天性不足,其投入的资源必须得到最严密的控制。也就是说,文档必须控制在刚刚好的地步,才可能将其维护成本控制住。否则看似无关痛痒的一个小小冗余,就会造成后期维护的数量级的递增。而随着对知识的积累的进行,文档的数据将会逐步减少,理想化的情况是降低为“0”成本付出,也就是没有任何文档。
其实作为一项结论性的观念大家必须时刻牢记。软件开发是一项人的智力产品生产,软件工程是一个工程学科,这里唯一真正存在的要素只能是人,妄图抛开“The one”这个要素的做法,都是违背基本的原理,实际上也是违背基本的人类道德底线的。
首先楼主所在的公司是典型的cmm企业,或者叫混乱而无序的人力密集型企业。在这样的企业中高度存在着无序的软件开发过程和充满不稳定的人际关系,而知识库的建立显然没有一个好的基础资源支持。
我承认我们的软件开发过程现在是做得不好,而且用混乱来形容也不是很过分。但是我们在努力改进,哪一个企业公司不是这样过来的?美国国防部让卡耐基梅隆大学做SW-CMM来评估之前,替他做项目的那些公司有很多还不是一样。可能现在我们说要进行知识的管理是早了一些,在没有一个成熟的软件开发过程之前,做这样一件事情的困难会有很多,甚至会失败。但这并不影响我们讨论知识管理这样的一个东西。
顺便问一下,什么叫“典型的cmm企业”没有听说过这样的一个概念。。。。[CMM]=[混乱而无序的人力密集型]?据我所知,貌似CMM叫做“能力成熟度模型”。
楼主很年轻, 而且不从事第一线的开发工作。
不明白这个你是怎么看出来的?工作一年也是什么活儿都干的,编码、测试、设计。
从根本上说其自身能力和资源配属就不可能完成持续的知识库的建立。
我的确是很年轻,也没有什么经验,我一个人说实话什么也干不了,软件开发本来就是一个集体活动,我想没有任何一个人敢拍着胸脯说我能一个人做一个团队能做到的事情。至于要搞知识管理,请不要忘记,我们是在一个团队里面。而且不会的东西学学就会了,没有做过的事情做做就明白了,人总是会成长的嘛。
第三,楼主对于知识库的作用认识还很不清楚,有片面夸大知识库作用的倾向,希望以知识库代替人和组织的工作。
我对知识库的认识确实不是很清楚,如前面说讲的也只是有感而发,很多的观点也很片面,应该多多学习。但是有一点要说明的是,我绝对没有[希望以知识库代替人和组织的工作]的意思。确切地说,我自己觉得自己反而比较像一个人本主义者。之前公司搞CMMI的培训,我也和别人争论过过程重要还是人重要还是结果重要,讨论过软件行业需不需要“The one”。
但是、针对于像外包类公司的特殊性,和短时间内由于公司规模的影响,不可改变的人员的流动性强的特点,我还是要提出建设一个积累知识,抑或说是问题解决方案[以文档为主]的这样的一个建议。如果能实现[人]的积累,那当然是更好的事情了。
第四,知识库本身的建立应该是在知识积累和归纳的基础上,而不是建立在文档的积累和归纳的基础上的,严格的说知识库是反文档化一套运行支持系统。
同上所说,所谓的反文档化是什么样的一个意思呢?就是在人的水平的提高的基础上达到人的积累。但是为什么我要提出一个对于文档的积累呢?我想知识的积累应该是有一个过程的吧?要读的书都没有,读什么?不知道这样理解对不对?[知识的归纳和积累]应该是以人为单位的吧?要在企业中形成积累就是要以另外的形式存在,而不应该是人,因为人具有最大的不可确定因素。[虽然说到了最后,所有的东西都应该围绕着人来展开,但是不得不提,我觉得,这个需要时间,而且我们不应该依赖于“The one”]
最后,还是请大家多多指教,向大家学习。谢谢。
首先楼主所在的公司是典型的cmm企业,或者叫混乱而无序的人力密集型企业。在这样的企业中高度存在着无序的软件开发过程和充满不稳定的人际关系,而知识库的建立显然没有一个好的基础资源支持。
楼主很年轻,而且不从事第一线的开发工作。从根本上说其自身能力和资源配属就不可能完成持续的知识库的建立。
第三,楼主对于知识库的作用认识还很不清楚,有片面夸大知识库作用的倾向,希望以知识库代替人和组织的工作。
第四,知识库本身的建立应该是在知识积累和归纳的基础上,而不是建立在文档的积累和归纳的基础上的,严格的说知识库是反文档化一套运行支持系统。
我个人建议将 wiki 作为基本架构,可以链接到各种不同的资源去。参考一下 Mozilla Developer Center,它本身就是一个知识库。
Boss问你下面这几个问题,你怎么回答?
建设这个要花多少资源?
多长时间后能带来收益?
能带来多少收益?相比投入利润有多少?
风险有哪些?
如果投入石沉大海后,责任谁来承担?
这个问题我已经遇到过了,我的BOSS到没有让我统计这些,可能他自己有一些对比吧。
以上的这些问题要回答的话,统计数据也不是很困难的一件事情。至于说组织上看完统计数据之后没有接受我的提案,那也应该不是这件事情不能做,只是事情有轻重缓急、权衡之下没有做而已。
然后就是关于知识库的建设问题其实也并不是一定就是这个样子的,我只是提出了自己的一些看法,如果这样做给公司带来了非常大的负担,导致公司运作产生一系列的问题的话,那么不做也罢。这个其实也是看决策者的。我觉得。。。
但是貌似“如果投入石沉大海后,责任谁来承担?”这种问题没有什么讨论的必要。如果我是决策者,那么责任就是我来承担。
Boss问你下面这几个问题,你怎么回答?
建设这个要花多少资源?
多长时间后能带来收益?
能带来多少收益?相比投入利润有多少?
风险有哪些?
如果投入石沉大海后,责任谁来承担?
首先,建设知识库需要成本,主要是人力成本;
其次,知识库的建设需要一个较长的周期,才能到达一个能产生收益的临界点。
管理层来看,简单的说,就是在现在投入成本去建设一个未来(不知何时)能带来一定收益(无法详细估算)的东西。这种东西对于管理层(尤其是营收压力比较大的管理层)来看是没有任何诱惑力的。所以很多公司宁愿把成本花在招人也不花在知识库的建设上
铁打的营盘流水的兵。。公司要发展人来人往的什么也不管的话应该是成长不起来的。如果想要发展短时间的痛一下的话忍一忍就过去了吧。。。
2,公司有多少人愿意喜欢写文档,如果强制要求会有多大效果?wiki真的合适吗?
就这样一点来说,大概大家都不喜欢写文档。但是好像大家都喜欢写Blog,不知到为什么。
在公司内部推行文档资料的收集我也感觉很有难度。不过如果在项目内的解决方案的收集形成了
一个制度的话,还是比较可行的。因为项目内的事情大家比较容易接受去做这样的一件事情。
而在项目外的资料的收集,可能还是要有一定的动力(奖励?)才比较好推行。
不过我觉得老员工带我的时候总是说:“有一个现成的文档让你看就好了!”,我觉得这个也许可以形成动力。因为这样可以让老员工带新人的成本迅速的降低。
至于wiki这样的一个形式,我也不觉得是很好的。因为在很多方面,我也觉得wiki不适合。例如搜索方面。
4,学习的成本代价也很高,还是老人带新人好;有效果也容易实施;公司应该完善这方面的制度
这一点我觉得如上面所说的,老人带新人的成本如果能再降低的话,也不能说不是一件好事。事实上就是平时大家都很忙。我就经常遇到有问题而又找不到人问的情况。很多问题也确实在网上解决不了。
5,我先问一下楼主,个人的知识库的建设有什么心得?
关于我自己的个人知识库的建设,说来比较的惭愧,整理得比较的乱,可能就我自己认得,因为我的资料本来就不是很多、而且我也大概都知道在哪儿,所以分了一下目录存放了一下。这一点确实做得不好。
第一点,网上很多东西是查不到的,公司很多资料是专有的。
第二点,写文档不是愿意不愿意的问题,是如何管理好的问题。
第三点,没有问题是简单的,只有如何能做好。
第四点,知识库就是为了增进知识共享,降低成本。
1,有多少东西是网上查不到的,必须搬到自己的知识库中;如果网上的资料就很全,为何不用网文快捕之类的软件做成一个专题书籍呢?这样省时省力。
2,公司有多少人愿意喜欢写文档,如果强制要求会有多大效果?wiki真的合适吗?
3,培训资料的整理还是很有必要的;这个的工作量不大
4,学习的成本代价也很高,还是老人带新人好;有效果也容易实施;公司应该完善这方面的制度
5,我先问一下楼主,个人的知识库的建设有什么心得?
首先,建设知识库需要成本,主要是人力成本;
其次,知识库的建设需要一个较长的周期,才能到达一个能产生收益的临界点。
管理层来看,简单的说,就是在现在投入成本去建设一个未来(不知何时)能带来一定收益(无法详细估算)的东西。这种东西对于管理层(尤其是营收压力比较大的管理层)来看是没有任何诱惑力的。所以很多公司宁愿把成本花在招人也不花在知识库的建设上