经济不好,说说裁员

中国逢8必有危机的规律延续了好几次了,这次2018也没逃过。

人到了中年,上有老下有小,求生欲望其实无需多表。

作为外企职业经理人如何应对呢?

首先的自保,自保有很多方式:多注意机会、降低消费等等等等。

如果真得砍刀砍在自己身上,也别太纠结,也得勇敢换条路走。

如果自保没问题,除了保护自己还得保护家人,保护团队。

一起共事多年的团队,可以取消奖金,可以不加薪,千万别失业。

有些人有权威,下属不得不服从,但决不会获得追随。因为必要时他们会牺牲下属和同仁,来保障自己的利益;有些人即使没有身居高位我们依然会追随他们,因为他保护身边的人。

危机来临,比人头(headcount)能更有价值的是人心(heartcount)

#0002:Saas模式提了那么多年,为何还不能被中国企业接受

话说SaaS在国外很流行,国内也有很多应用很火,但一牵涉到企业级应用,就会发现企业还是不买单,宁愿独立部署版。

这到底为什么?

我举个国外很火的CRM应用Salesforce,国内也有很多云平台的CRM,市场做得也挺好,中小企业免费用,或者入门版象征性收费一下。但如果大点的企业,你让他们用SaaS的CRM,他们就会有顾虑:怕客户资料被卖给竞争对手,怕数据丢失,不管是天灾还是人祸,从使用风险和不使用的风险对比来看,还是不能使用。

毕竟公司的客户等核心数据是公司正常运作的保障,随便找一个第三方SaaS服务商,让他们来保障数据的安全,理性思考一下,都不会接受。

假如我有几百万会员或客户,我也不敢用SaaS的软件来管理客户。

通过看前面的文字,你们知道我也在做类似SaaS的企业应用。目前SaaS的问题,也是我考虑的问题,这影响到我如何设计和架构系统。是每个租户独立的程序和数据库?还是相同的程序和一个数据库,一个数据表用商户号字段隔离数据,还是不同商户不同的表?亦或者不同的程序,不同的数据库,而部署、维护、升级起来都可以及其简化和容易?

看问题需要两面性,反过来看,为何目前还是有不少SaaS应用在国内很流行,被中国企业所接纳?只能说类似的应用,传统的软件做的太差了,不是功能和用户体验,而是交付应用以前太重,而基于互联网的SaaS应用,主要简单注册一下,就能用起来,这样软件提供商就能有精力做用户体验、在线培训等及时又高效的服务了,所以当前的SaaS企业应用的优势是:缩短了交付流程

但企业应用所需要的不仅仅是快捷交付,独立部署、个性化定制、付费后的软件话语权等一个都不能少。

好在技术总是日新月异,不是凭空冒出来的,新的Docker技术如果能被充分利用,交付软件时,连安装、配置时间都省了,开箱即用。

同时独立部署的安全性等中国企业最关注的的问题,也迎刃而解了,真得就不需要目前公有云的SaaS应用了。

VS 2017打开老项目报错:Project Target Framework Not Installed

由于笔记本硬盘转速太慢,把光驱拆了,装了一个光驱位硬盘支架,搞了块250G的三星SSD固态硬盘,然后使用Samsung Data Migration,花了近2个小时把C盘近200G文件无损迁移到新硬盘,然后将笔记本启动项修改为Bay(这里耗费了好多时间去测试),老机器重获新生!

接下来手贱,就把VS2013和VS2015都删除了,只保留VS2017。但问题来了,打开项目时,出现:“.NETFramework Version=V4.0 which is not installed on this machine”报错。

百度了好久,重启了电脑,没啥帮助,最后想起来VS2017安装时可以自定义设置,选择好.NET Framework 4 目标包,安装后也没有重新启动电脑,问题解决了。

最近的感触:没事不要炒股

最近出现的几个事情,给我带来的感触:

1、炒股会把心情炒坏,把心情炒没,大脑不正常,容易在与人沟通时代入自己的处境,做出匪夷所思的举动。

2、满嘴跑火车的人,要慎重交往。要坚信:言行一致的人少之又少。

3、优秀的销售的应该是“能说会道”,给客户至少70%的说话机会,自己把握住20%就足够了。

4、经常复盘和换个角度思考,把自己该做的做好,一切随之而来。

5、不贪小便宜,时刻提醒自己,不提醒就会忍不住。

旺财C# .NET代码生成器支持DTcms MySQL版生成了

昨天跟一资深老用户沟通之后,发现DTcms MySql版用得人越来越多了,整个运行于Linux主机下,比一定要Windows和MSSQL数据库的要求降低了很多,优势太明显。

于是昨晚加班,国庆假期前,搞定如下升级:

1、完成MySql.Data.dll更新

消除了报错:MySql.Data.MySqlClient.MySqlException:Fatal error encountered attempting to read the resultset,以便支持较新版本的MySql数据库。

2、完善读取MySql数据库的表列表和字段属性的脚本

SELECT table_name TableName,TABLE_COMMENT TableDescription
FROM INFORMATION_SCHEMA.TABLES WHERE table_type = ‘base table’
ORDER BY table_name

SELECT CASE ORDINAL_POSITION WHEN 1 THEN TABLE_NAME ELSE ” END TableName,
ORDINAL_POSITION 序,COLUMN_NAME ColumnName,
CASE EXTRA WHEN ‘AUTO_INCREMENT’ THEN ‘Y’ ELSE ” END IsIdentity,
case COLUMN_Key when ‘PRI’ then ‘Y’ else ” END PrimaryKey,
DATA_TYPE DataType,
CASE DATA_TYPE
WHEN ‘double’ THEN NUMERIC_PRECISION
WHEN ‘decimal’ THEN NUMERIC_PRECISION
WHEN ‘tinyint’ THEN NUMERIC_PRECISION
WHEN ‘int’ THEN NUMERIC_PRECISION
WHEN ‘bigint’ THEN NUMERIC_PRECISION
ELSE CASE WHEN CHARACTER_MAXIMUM_LENGTH IS NULL THEN 0 ELSE CHARACTER_MAXIMUM_LENGTH END
END ByteLength,
CASE DATA_TYPE
WHEN ‘double’ THEN NUMERIC_PRECISION
WHEN ‘decimal’ THEN NUMERIC_PRECISION
WHEN ‘tinyint’ THEN NUMERIC_PRECISION
WHEN ‘int’ THEN NUMERIC_PRECISION
WHEN ‘bigint’ THEN NUMERIC_PRECISION
ELSE CASE WHEN CHARACTER_MAXIMUM_LENGTH IS NULL THEN 0 ELSE CHARACTER_MAXIMUM_LENGTH END
END Length,
IFNULL(numeric_scale,”) IsNumeric,
CASE is_nullable WHEN ‘YES’ THEN ‘Y’ ELSE ” END AllowNull,
column_default DefaultValue,
COLUMN_COMMENT Description
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = ‘tableName ‘

3、增加DTcms4/5 MySql版DAL生成

生成到新目录:DTcms.DAL.MySql,2个模板,同时支持DTcms4和DTcms5两个版本。

4、发布V20181001国庆版

5、下一步计划整理在线版的帮助文档

图文和视频汇总在一起,并增加开发实例视频教程

#0001:Done is better that perfect,比完美更好的是完成

Done is better that perfect并非Facebook CEO原创,但因为他说出来而被大家所知。中文直译就是标题所说的:比完美更好的是完成,但我觉得翻译为:比完美更重要的是完成,更好些。

我开发软件的经历

在我过往软件从业经历中不仅做过基于原有知名产品的二次开发,也有真正从零开始的产品开发。这里所说的产品包括:网站、有人机交互的应用软件、纯后台的程序、功能插件、APP等。有那么几年,一直觉得自己做得东西太小、或者不成熟、或者不强大,不敢给真正需要的人、企业去用,从而躺在自己的硬盘里或者只给唯一少数用户带来利益。

记得2013年,我和TonySiko、Jack曾经就是否要做自己的产品这个问题而犹豫不决,最大的困难来自思维局限,认为一定要做堪比市面上已经成百上千人开发多年的成熟产品,其实后来想开了,就从小的开始:小插件、小应用、小程序、小系统,解决用户的小问题、小公司的问题、小范围的问题等。

2014年起,开始为邻居的珠宝公司优化运营流程,开发针对电商的库存管理运营平台,并持续3年才完成覆盖线上电商和线下实体批发业务的业务系统。从2015年起,陆续推出多个FlowPortal插件、DTcms插件,并在淘宝销售,2017年推出基于针对DTcms的代码生成器,同期也将以前写网站的经验和积累,弄成建站平台。2018年把自己看到的很多企业运营中常见的问题归类,并提出自己的解决方案,围绕这些主题开发一些小软件产品,是我目前的定位和方向,毕竟第一是只有我一个人开发,第二做帮用户解决问题的方案中,软件只是一部分。软件背后的逻辑、嵌入其内的流程、简洁的用户体验界面、基于系统所存储的数据(Data)而带给用户的信息(Information),才是最有价值的地方。

为何不要上来追求完美

用过Windows的人都知道要打补丁,也知道这个Windows从95、98、Me、2000、xp、7、10、2013、2012、2016、2019,从未停止升级。

既然这么大软件公司,都是在一个固定期限段追求完成,然后后继再来完善、完美。那么对于小软件公司、个人开发者,又有什么财力能支撑我们上来就追求完美。相信扎克伯格也深谙此道。

不管你的的目标有多么的高远,引领市场、行业No1的前提都是你必须活着,远景对倒闭的企业和组织没有任何意义。

饼可以画,但是生存盈利还是当前最重要的。尽管不完美,功能还只是实现基本功能,用户操作也不是很方便,质量稳定性也不是很好,可维护性可调试性需求也没有考虑,但是解决了客户棘手的问题,更多功能需求、更好用户体验以及售后维护等等都可以在推出产品之后通过用户反馈、市场验证来逐步的完善。这也是我们经常说的软件和互联网都需要有迭代过程的。

看到这里,你是否也认同,应该先完成“无中生有”,不应该上来就“长达成人”后才出来见人。相信有很多有想法、有技术的年轻人,因为这个顾虑,慢慢熬成了中年油腻男,最后连想的勇气都没有了。

立即开始,先做出来

如果,你也和我一样:使用大型、传统软件多年;在企业里熟知各环节的业务流程,并对痛点有感触,有流程优化和自己解决的能力,不妨停止恐惧,即刻开始。不要被下面这个复杂的软件开发常规流程所吓倒。

从一个不完美的小功能开始,实实在在解决多数公司会遇到的问题。然后持续付出、不断完善,直至完美功能、完美产品。

我的那些已经完成但不完美产品

前几年的大家可以上我的淘宝店,以插件为主。下面几个是我将近3年的积累整理、优化所做的。

  1. 旺财C# .NET代码生成器 – 针对技术人员,也为自己的快速开发平台配套的,提高开发效率的利器,没有它,我哪有这么多精力做下面的软件。
  2. 旺财云库存 – 针对中小型企业,特别是有一物一码(一码一物)、批次、质保期、有效期要求的金银珠宝、化妆品行业。
  3. 旺财云进销存 – 针对中小型企业,没有ERP系统
  4. 旺财供应商门户 – 针对大中型企业,对接ERP,与下游供应商进行订单协同,未来扩展询价、投标、质量跟踪协作等。
  5. 旺财客户门户 – 针对大中型企业,对接ERP,利用移动互联网将库存开放给客户、经销商,方便其利用移动互联网和传统PC浏览器进行下单并跟踪、协同订单全流程。

这些产品都有核心并可实施,目前仅放出了旺财云库存和旺财云进销存的演示系统,预计很快就会将供应商平台演示系统开放出来。

从0到0.1

如本文标题所说:不求完美,只求完成。也许我这里的“完成”只是完成了从0到0.1,这些产品如能被越来越多的用户用在他们的日常工作当中,提高效率、节约成本、创造价值,那我将会更加持续付出精力,来完善、完美它们。

也许你会问,你为什么选择做这些产品呢?后面的系列,我会陆续分享我的想法。

有空加一下

近期被多人在微信、QQ问些Infor ERP LN问题,最后不欢而散。

问得人觉得,他很客气和礼貌的询问了我是否有空、是否愿意回答,觉得理所当然。而他们不知道,我碍于面子,没有直接回绝。

当我问对方是否加入了我创办的Infor ERP LN私房菜的时候,对方居然都会有一样的回答:有空加一下

看到这句话,我知道他不会加入,哪怕免费都不会。因为有些问题,我让他看我博客的分享,他都不愿意行动。

他以为我是要他的99元终生的会费,他不知道的是我在评估自己:看我义务回答了问题的时间,对别人是否有价值。

我坚信自己所做的事情是有价值的,相信只有你产生了价值认可,彼此才会共享价值。

从今以后,不再理所当然的回答任何人的LN问题。我会说:有空回你

不是我吓唬你,还没加入的,赶紧啦!

 

#0000:Talk is cheap,Show me the code.

做IT的,会写代码的都应该听说过这句名言,中文翻译:能说算不上什么,有本事就把你的代码给我看看。这句话是Linux 的创始人 Linus Torvalds 在 2000-08-25 给linux-kernel 邮件列表的一封邮件提到的。

作为一个程序员,如果不能产出高质量的代码,这的确有失本分。

那么怎么评价代码是否好?

那么又有没有办法让自己的代码派上更大的用场呢?

吴军《硅谷来信》里面提到了一个“工程师的5个等级”概念,我非常认同,我觉得这个工程师可以泛指为各行各业的工程师,不能仅仅看做IT工程师或程序员。

书中提到:能从第五级和第四级这种仅把“工作”做好,跳跃到“能独立设计和实现产品”,外加“在市场上获得成功”,得到客户认可,或者市场回报后,继续“设计并实现别人无法做出的产品”实现从第三级到第二级飞跃,持续努力和聚焦,进而能有机会进入第一级开创一个产业”。

简单一幅图,就给我们指明的方向。而令我倍感庆幸地是,这些年的经历,的确是这么个路径。

那么我写这篇文字的意图,想必大家也能猜到一二,我是想即日起开启新的分享:我过去几年在业余时间投入大量精力,经历了To B 产品打造和试水阶段,正打算将产品推向市场,帮助更多企业、帮助更多人,提高效率、增加收益、降低内耗,进而为中国社会高效运转和蓬勃发展,贡献自己的一份力量。

这个系列的分享每篇文章都会有一个编号,按照惯例从0开始,第一篇编号:#0000,如果能有幸写满一万篇,那此生也功德圆满了。

 

.NET Core、.NET Framework与XAMARIN三兄弟

.NET Core出来了很久了,时常关注,但一直未在项目中实操,但近期开始在Xamarin平台做些企业级应用开发。

相信很多读者也是Windows平台下工作的居多,今天就来普及一下概念,.NET Core就是.NET Framework的开源、跨平台版本,前者即可跑在Windows,也可跑在各种Linux(Unix Like)系统上,后者只能跑在Windows上。

为了同时支持2者,微软抽象出来一个标准库。.NET Core 与 .NET Framework 都必须实现标准库的API 。而Xamarin是跨平台的移动端解决方案,.NET层基于.NET STANDARD,目标市场不再是应对移动互联网,而是企业级移动互联网。

就这样.NET Core、.NET Framework、XAMARIN这三兄弟,分别为不同的平台服务。(还有一种微软7龙珠的说法,下一篇再来介绍)

周末无聊一下,看了看51.la分析

51.la曾经是我用的最多的流量统计工具,后来随着淡出互联网的项目,就一直未关注,今年发现他改版了,改得界面相当高大上,统计分析能力也大幅提升,还有微信版,让我重新燃起了对SEO的关注。

发几个截图,跟大家一起关注下国内的互联网用户的一些统计数据,不得不说有点惊讶,但做互联网项目不得不对目前的环境做必要的了解,以便优化适应。

安卓的操作系统居然占比超过50%,并且4.2以下基本已经不再用。

苹果用户的比例来看,国内的土豪不少呀。

Windows 7依然是主流,XP这个不死的小强,居然跟Win10不相上下。

移动端因为安卓机器占比太高,所以Google的浏览器独具优势。

没想到电脑端,Google的浏览器也这么牛逼。

国内市场,百度还是无人撼动,一个没有价值观的企业,居然没被灭掉,难道要等着其自生自灭吗?

最后附上我的个人网站的一些统计数据:自然流量每天IP稳定在100以上了

收录情况,国内的3大搜索引擎相差很大,Google和Bing的数据目前未知。