如何正确地指出别人的错误?

本篇文章内容核心来自卡耐基《人性的弱点》这本书。

相信很多读者都看过这本书,我在2005年的时候读过。

一开始我以为这本书跟普通“成功学”的书一样,还希望看了就能成就多么伟大的一番事业。

读了之后才知道,这本书更多的是教会我们如何去追求内心的平静,如何将自己的社会关系建立得更加和谐。

看完这本书,我学会了更少的抱怨,更多的脚踏实地的付出。

回到主题,此书中对于如何指出别人的错误,如何提出建议给出了很多很有效的方法。

指出别人错误的正确姿势

  1. 用称赞和真诚的欣赏开始
  2. 教导他人时,要做到让别人不觉得在被教导
  3. 提出别人不知之事要像是提醒别人遗忘之事
  4. 尊重他人,间接的指出人们的过错,使用“如果 xx 那么 xx”
  5. 在批评对方之前,不妨先谈谈你自己的错误
  6. 使错误看起来容易改正
  7. 用请求、建议、商量、赞美、提问的方式进行,别用命令的口吻,保全他人的面子

要想有好的反馈效果,我们通常不是直接指出对方的问题!

如果对方根本没有这个问题,或者有非常合理的原因,那么徒增怨恨。

如果真的存在问题,应该适当引导他,让他自己发现做的不对,然后主动的去改正。

如何正确的向程序员报bug的礼仪

永远不要对程序员说你的代码有bug

他的第一反应是:你的环境有问题吧,傻x你到底会不…

但如果你委婉的说:这个程序和预期的有点不一致,你看看是不是我的使用方法有问题

他本能的就会想:啊!!是不是出bug了

学到了吗?

一个有用的SQL Server拼接合并函数:STUFF

在ERP里面有个仓库的固定默认库位(Fixed Location)表,结构如下:

WarehouseCode, ItemCode, LocationCode

同一个仓库里的料号,可以允许设置多个固定库位,可以设置优先级来区分。

现在需要把一个物料在一个仓库的固定库位取出来,多个的时候用,分割连接在一起。

SELECT WarehouseCode,ItemCode,LocationCode = (
        STUFF((SELECT ',' + LocationCode FROM WMS_DefaultLocation WHERE WarehouseCode = A.WarehouseCode AND ItemCode = A.ItemCode AND Enabled = 1 AND DeletionStateCode = 0 ORDER BY LocationCode ASC FOR XML PATH('')),1,1,'')
    ) FROM WMS_DefaultLocation AS A WHERE A.Enabled = 1 AND A.DeletionStateCode = 0 GROUP BY WarehouseCode,ItemCode

这里用到了STUFF和 FOR XML PATH,本文主要介绍STUFF。

用法及详解

STUFF(param1, startIndex, length, param2)
将param1中自startIndex(SQL中都是从1开始,而非0)起,删除length个字符,然后用param2替换删掉的字符。

1、param1:一个字符数据表达式。param1可以是常量、变量,也可以是字符列或二进制数据列。
2、startIndex:一个整数值,指定删除和插入的开始位置。如果 startIndex或 length 为负,则返回空字符串。如果startIndex比param1长,则返回空字符串。startIndex可以是 bigint 类型。
3、length:一个整数,指定要删除的字符数。如果 length 比param1长,则最多删除到param1 中的最后一个字符。length 可以是 bigint 类型。
4、param2,返回类型。如果param1是受支持的字符数据类型,则返回字符数据。如果param1是一个受支持的 binary 数据类型,则返回二进制数据。

Bose SoundTouch 23.0.0.2933 for Windows下载地址

以前写过一篇《Bose SoundTouch 17.170.80.1819 for Windows下载地址》,近期有人问有没有最新版,我想办法下载到了,因为文件较大,请加我微信,注明Bose,微信发个我您的邮箱地址,我发给你安装文件。

FILE SIZE/文件大小:114 MB

PC running Windows 7, Windows 8 or Windows 10

我的FlowPortal BPM培训提纲及收费标准

FlowPortal这几年一直有10个流程的无限用户的全功能版本,可以很方便在一些中小企业进行小规模尝试,作为起步,在软件方面零风险,零投入。

但是要用好这个BPM软件平台,除了看官网的在线帮助文档,必要的入门培训会大大减轻你的恐惧,极大缩短摸索时间。

这2017年以来,我一直在用的培训提纲,共计16个小时的课程。

Lesson #1、服务器准备、测试环境安装 – 2小时
Lesson #2、BPM架构、基础配置简介 – 2小时
Lesson #3、BPM企业管理器(组织机构、用户、角色、日历、权限) – 3小时
Lesson #4、BPM企业管理器(流程设计器、表单设计器)-3小时
Lesson #5、BPM流程开发基本流程、开发第一个流程 – 1小时
Lesson #6、开发第一个流程(实战课)-2小时
Lesson #7、流程相关权限管理- 2小时
Lesson #8、其它:BPM数据结构分析、高级编程等 – 1小时

疫情之下, 您可以选择给自己充充电,然后把自己公司的企业信息化提升下内功,当机会来临时,守得云开见月明。

按照惯例,我8小时的费用是5000元,需要学习全部内容就是10000元。

也可以根据自身需要选择部分课程,或者预约主题,按照每小时800元收费。

跟老板学管理#2:全局、换位与多视角

疫情来了,从员工和老板两个不同的群里看对危机的感知。

看上表的话,你觉得员工有错吗?没有? 你觉得老板有错吗? 更没有!

位置不同,视角迥异。

人和人为什么对同一个事实存在会有截然不同的认知结果

就像家庭里经常有:有一种冷叫你妈觉得冷!

公司里经常有:你很努力,但不能给你加薪升职!

因为每一个结果都是基于自己的角度,考虑自己所代表个( 群 )体的利益最大化。

盲人摸象的故事闻名于中今中外,同一只大象,由于人的位置不同,对大象的认知完全不同。

管理,乃至人生不需要懂太多道理,盲人摸象的故事如果真正弄明白,万事就通了。

事情本无对错,只因人( 心 )有别。

历史总在重复,只因时代与人不同。

做管理不能拘泥于一个角度,一个时刻,而应着眼于全局,调和矛盾,解决问题。

去掉了WordPress自定义摘要,翻页终于不错乱了

有读者反馈说看我博客的时候,翻页到后面或者搜索的第一页就出现页面错乱,我以为是个别文章的问题,昨晚花时间研究了一下,原来是WP摘要显示的问题。

因为2018年以前的博客是ASP平台的ZBlog,转换WordPress过来的时候,原来的自定义摘要也自动带过来了,但有些图片并没有替换src地址,还带着<#ZC_BLOG_HOST#>字样的url,狠了狠心,索性把所有的自定义摘要都删除了,可能会丢掉一些重要的信息。

我翻页到很多页,终于没有页面错乱了。

搞了个开发者专属Linux云主机

2018年重新捡起PHP,把博客从ASP平台的ZBlog转为WordPress,2019年弄了个VM虚拟机玩了一下CentOS的Linux系统,但弄虚拟机有点麻烦,下载CentOS安装包,安装到VM,基本配置跑起来,为了安全做快照,一个虚拟就得占用几十G,要是不用SSD硬盘,要不是内存足,真得跑得不爽。

这几年.NET Core突飞猛进,C#开发也开始从原来的.NET Framework逐步升级,为方便研究在腾讯云买了个Linux主机,1核4G2M只要376元2年。

昨晚花了2小时设置服务器端口放行,安装宝塔,配置LNMP(Linux+Nginx+MySQL+PHP),手动安装PHP7.3/4,先部署了个WordPress测试下(网站还得备案才行)。

有兴趣的话,赶紧趁有活动买一个玩玩。

活动链接地址:http://cloud.tencent.com/act/developer?sk=40902ab8511057d4d636e0640b291ce3

活动时间
2019年12月1日-2020年6月30日
活动对象
通过本活动开发者认证,且未在腾讯云付过费的用户(协作者除外)

通过我上述链接注册购买,我可以获得3个月的免费延长使用。你购买好加我微信,我发50元红包(3*376/24=47)给你。

.Net下请求Infor LN ERP WebService的5种方式

随着这几年Restful API的兴起,Web API遍地都是。以前老的WCF、WebService等的SOAP的份额越来越少。但总有些古老的应用或者企业级如ERP应用还是通过Web Service的方式提供对外集成接口。Infor LN ERP就是其中一个。

我这几年尝试了以下5中方法,与LN进行对接。

1、客户端代理类
2、动态代理类
3、WebClient
4、WebRequest
5、HttpClient

但前两种已经被我放弃了,后三种呢其实都是HTTP Request,通过标准的写法都可以很方便的与LN对接,注意两点:

1、拼接发起请求的XML
2、LN WebService返回500报错的时候,报错信息的转换
3、不要直接用using的方式使用HttpClient,因为由来已久的高并发时无法释放资源的bug,会让你崩溃。

至于后面三个方法,你可以从网络上找到一大把的Util/Helper类库,我就不贴出来了。

GitHub Desktop清除本地缓存

自从GitHub提供一个私有仓库最多3个协作者之后,我就开始尝试使用,一开始也在用.gitignore(https://github.com/github/gitignore/blob/master/VisualStudio.gitignore),后来增加Uni-App的代码,有个unpackage\dist的目录增加到忽略清单,但怎么都不生效。

后来只有求助百度、Google,得到解决方案如下,试了之后果然好了。

git rm -r --cached .
git add .
git commit -m "update .gitignore"

有几个注意事项:

1、已经安装了GitHub Desktop
2、打开CMD命令行模式窗口,切换到你的仓库目录,再执行上述命令