avatar
文章
198
标签
94
分类
0

首页
书单
歌单
关于
LeFer
搜索
首页
书单
歌单
关于
如何向CEO证明科技投入产出的效能
发表于2023-06-07
在一个企业组织里,科技部门不免需要回答科技投入到底产出了什么,科技投产效能是高是低,要回答这个问题不是一个简单的事情。特别是当CEO有这个疑问的时候,通常意味着他对科技的投入产出已经产生了怀疑,定性的产出描述,“形成了XXXX技术能力,提升了XXXX技术水平”,都无法消除他的怀疑。 在一家科技企业里,科技投入通常是在做三方面工作:(一)科技产品的研发;(二)核心技术能力的建设;(三)基础的IT支撑。 科技产品的研发科技产品研发投入带来的直接产出是可供销售的软件系统或者支撑业务运营的软件平台。这两部分可直接与市场收入挂钩。但当市场销售不佳,收入较少时,是否就意味着科技产品的研发产出较差呢?我觉得在投资人的角度来看,这个结论是正确的,但是在公司治理中去看却不竟然。因为只要研发部门按照产品设计部门的设计和时点完成了产品研发,那就代表着科技部门履行了职责,后续市场表现不佳,通常是产品设计或销售环节出了问题。因此我觉得衡量科技产品的研发产出应复合收入和需求实现情况来评价。收入要考虑滞后性,将后续一定时段内的收入框算进来。产品研发效能 = (研发相关收入+需求实现率 X 系数)&# ...
Synology Drive NPS 内网穿透
发表于2023-02-23
公司网络不支持IPv6,Drive Client使用6690 TCP端口,没有IPv4地址,通过QC连接速度太慢。刚好有台有公网IPv4的云主机,简单的使用NPS实现了TCP隧道转发,记录一下步骤,供参考。 服务端/公网IP云主机 使用docker部署NPS服务端。如果在启动的时候报错提示缺少配置文件,那就根据提示在配置文件目录下,新建对应的文件。docker pull ffdfgdfg/npsdocker run -d --name nps --net=host -v <本机conf目录>:/conf ffdfgdfg/nps 修改nps.conf文件http_proxy_port = 7001 域名代理https代理监听端口,不用可以随便填一个https_proxy_port= 7002 域名代理http代理监听端口,不用可以随便填一个public_vkey = 客户端以配置文件模式启动时的密钥,设置为空表示关闭客户端配置文件连接模式web_username= web界面管理账号web_password= web界面管理密码web_port = 7003 ...
openEHR适用场景浅析
发表于2021-07-12
最近看几家HIT厂商在说自己遵循了openEHR标准规范去做了一些应用,包括个人健康档案、集成平台、临床数据仓库、电子病历等等,不一而足。那些厂商到底是应用openEHR解决了一些现实问题呢,还是在整宣传噱头呢?我基于自己的理解,谈一谈openEHR到底适合干什么。 openEHR的起源EHR是电子健康档案的英文缩写,openEHR原本就是一套开源的电子健康档案规范,它是发源于欧洲的GEHR(Good Europe Health Record),最开始的目的是支撑欧洲健康远程信息通讯。上个世纪末,有人基于GEHR的研究成果,提出了openEHR的概念,期望建立一个开源的电子健康档案规范。后来专门的openEHR机构成立了,openEHR机构的主要是目标是通过研究临床需求、建立标准与实施软件,实现开放的、支持互操作的健康处理平台,以加快促进高质量的EHR的发展。经过了十几年的发展,到了2010年后openEHR被引入了中国, openEHR规范概述 openEHR最核心的概念就是RM \ AM,以及EHR、COMPOSITION、SECTION、ENTRY四类对象。 先讲EHR、CO ...
软件企业管理漫谈之产品管理
发表于2021-06-15
最近一年工作发生很大变化,从技术、研发管理领域转战到了更偏向技术管理、产品管理领域,视角发生了很大变化,也有了很多感悟,正好很久没写文章了,于是总结总结,聊聊在软件企业里如何去做好研发管理、技术管理、产品管理。 产品管理产品管理不同于产品经理做的事。产品经理的工作是致力于打造出一款好的软件产品。产品管理是更高层次的事情,是在企业层面去对所有的产品进行管理,是同时对这家企业的所有产品负责。 做好产品的管理最本质的是要参透在产品到底是什么,产品管理到底要去管什么。有意思的是从企业视角去看产品,与产品经理眼中看到的产品并不一致。之前有产品经理过来诉苦,说我的产品多么好多么牛,结果公司高层却不认可,最后还被砍了,CEO真是SB。其实出现这种现象的原因就是因为他不理解在企业看来产品是什么。 关于产品产品首先是商品。产品被创造出来的目的就是为了销售。所以产品的好坏比较关键的点在于他是否卖的好,而并不在于他是否优美、先进。不可否认的是现实中,特别在 ToB行业很多卖的好的产品并不先进。 产品是以为公司取得收入为目的。产品既然是商品,那么它生来就背负这个使命。产品一定要取得收入,可以是短期收入,也 ...
我为什么不用DDD
发表于2020-08-17
Domain-driven design并不是一个新鲜的东西,从 2004 年Eric Evans提出这个理念以来,十几年间时不时就有一股DDD的热潮,近几年随着微服务的大行其道,DDD又成了宠儿。但终究逃不过雷声大雨点小。 领域驱动设计最根本的思路是一套自上而下的设计方法,即从要解决的问题领域或系统目标出发,由业务和架构专家一起,对复杂的业务场景和关联性进行分组归类,形成一个一个相对单一职责的子领域。子领域和子领域之间要有明确的界限。在子领域内部,再通过业务上的模型去归类对应的属性和行为。 从设计思想上看,我非常赞同自上而下的架构设计理念,也在不断践行。但今天在技术圈里流传的DDD早已超出了上述的定义,而变成了一套以充血模型为基础,围绕聚合根,并通过门面代理、分离查询、事件传播等手段的软件架构方法。通过这种构建,想达成三种目的: 统一语言:业务与技术统一 让行为回归到实体中去 降低传统service层的复杂度 我所不采纳的即是这样一种“术”,有三个主要原因。 行为是变化的,对象的表达却是几乎不变的,将变化的与不变的聚合在一起,违反了动静分离的原则。 软件实现的是策略,最终想 ...
详解Spring 5 Server-Sent Events(三) WebFlux
发表于2020-07-10
SSE,全称Server-Sent Events,作为一种半双工的前后端通信方式,由于实现方式简单、轻量,在后端向前端的主动推送场景中具备很好的应用效果,笔者最近在一个项目中多有使用,过程中也是查阅了不少资料和文档,也有所感悟,在此将整体做一次综述。这是一篇系列文章,共分三篇,这是第三篇。 详解Spring 5 Server-Sent Events(一) 基本介绍 详解Spring 5 Server-Sent Events(二) WebMVC 详解Spring 5 Server-Sent Events(三) WebFlux 引言Spring WebFlux framework 5.2.0基于Reactive Streams api,使用事件循环计算模型来实现异步Java Web应用程序。这样的应用程序可以运行在非阻塞的web服务器上,如Netty 4.1和Undertow 1.4,以及Servlet 3.1+容器,如Tomcat8.5和Jetty 9.3。 概述在WebFlux中实现发送事件,需要以下几步: 创建一个controller类并用@RestController注释标记 ...
详解Spring 5 Server-Sent Events(二) WebMVC
发表于2020-07-10
SSE,全称Server-Sent Events,作为一种半双工的前后端通信方式,由于实现方式简单、轻量,在后端向前端的主动推送场景中具备很好的应用效果,笔者最近在一个项目中多有使用,过程中也是查阅了不少资料和文档,也有所感悟,在此将整体做一次综述。这是一篇系列文章,共分三篇,这是第二篇。 详解Spring 5 Server-Sent Events(一) 基本介绍 详解Spring 5 Server-Sent Events(二) WebMVC 详解Spring 5 Server-Sent Events(三) WebFlux 引言Spring WebMVC Framework 5.2.0基于Servlet 3.1,需要中间件能支持Servlet 3.1 API,比如**Tomcat 8.5 **和 Jetty 9.3。 概述在WebMVC中实现发送事件,需要以下几步: 创建一个controller类并用@RestController注释标记它 创建一个接受Http GET请求的方法,该方法返回一个SseEmitter对象 在另一个线程中,获取这个SseEmitter实例,并 ...
详解Spring 5 Server-Sent Events(一) 基本介绍
发表于2020-07-10
SSE,全称Server-Sent Events,作为一种半双工的前后端通信方式,由于实现方式简单、轻量,在后端向前端的主动推送场景中具备很好的应用效果,笔者最近在一个项目中多有使用,过程中也是查阅了不少资料和文档,也有所感悟,在此将整体做一次综述。这是一篇系列文章,共分三篇,这是第一篇。 详解Spring 5 Server-Sent Events(一) 基本介绍 详解Spring 5 Server-Sent Events(二) WebMVC 详解Spring 5 Server-Sent Events(三) WebFlux 引言在性能可接受的web应用程序中,没有简单、通用的方法来实现服务端到客户端的异步通信。 HTTP是B/S中的一种请求-响应协议。客户端(通常是浏览器)向服务端提交请求,服务端向客户端返回一个响应。服务端只能向发出请求的客户端发送响应。在HTTP协议中,客户端是消息交换的发起者。 在某些情况下,需要服务端成为消息交换的发起方。实现这一点的方法之一是允许服务端将消息推送到支持发布/订阅模式的客户端中。客户端从服务端订阅消息,服务端向许多订阅的客 ...
WebFlux下的全局异常处理
发表于2020-07-09
Spring 5支持的WebFlux对于全局异常的捕捉与以前的WebMVC框架有了不同,不能靠@ControllerAdvice或@RestControllerAdvice打天下了。目前国内的资料比较少,而且语焉不详,下面我将处理方式分享出来,文末有我的项目代码供参考。 核心要点是要继承AbstractErrorWebExceptionHandler这个WebFlux下的全局异常处理类,然后重写getRoutingFunction。 需要注意的是AbstractErrorWebExceptionHandler中的构造方法中未对messageWriters进行初始化,源码如下: private List<HttpMessageWriter<?>> messageWriters = Collections.emptyList(); messageWriters是用于最终生成response body的,所以我们必须在实现类中对它进行初始化: public GlobalErrorWebExceptionHandler(ErrorAttributes errorA ...
WebFlux下访问H2控制台
发表于2020-07-06
在基于WebFlux和Netty的应用框架中,惯常通过http://ip:port/h2-console访问的H2控制台无法打开。这个时候,可以通过显式的去启动H2 Server来解决此问题。参考代码如下: @Component@Profile("test") // <-- up to youpublic class H2 { private org.h2.tools.Server webServer; private org.h2.tools.Server server; @EventListener(org.springframework.context.event.ContextRefreshedEvent.class) public void start() throws java.sql.SQLException { this.webServer = org.h2.tools.Server.createWebServer("-webPort", "8082&q ...
123…20
avatar
LeFer
日拱一卒,功不唐捐
文章
198
标签
94
分类
0
公告
不见五陵豪杰墓,无花无酒锄作田!
最新文章
人机协同时代,如何防止AI引入“隐性”技术债2026-03-08
全球智能危机(第二部分:一场来自未来的金融史思想实验)2026-02-26
全球智能危机(第一部分:Agentic AI的兴起)2026-02-25
技术组织重构——基于 Multi-Agent 的研发新范式2026-02-16
警惕!AI时代的马车误区2026-02-08
最新评论
正在加载中...
标签
linux spring modulith mdm redis 机器学习 webmvc sse 数据分析 emby xml gitlab vmware gitbook vscode js wrk tensorflow 常识 nas ocr disruptor gcc august DDD aria2 spring cloud 网易云 websocket drools zuul 软件工程 next 数据仓库 可信数据空间 token hexo postgresql 医疗 随记 jointjs
网站资讯
文章数目 :
198
已运行时间 :
本站总字数 :
183.7k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2015 - 2026 By LeFer
沪ICP备2024075747号沪公网安备31011502401302号
搜索
数据库加载中