是什么造成中国软件产业的悲剧

中国的软件产业虽然也有长足的发展,但现实中,我们没有真正意义上的软件巨头型企业。

作者 I 会说话的波吉

来源 I 会说话的波吉

(ID: gh_901266027a80 )

经历了这么多年的风风雨雨,作为中国软件的从业者,我常常在思考,为什么中国的软件产业还是很低端,并没有太多的优秀的软件问世,反而我们的邻国俄罗斯,最近这二十年完全无法和中国的经济发展相比较,但在软件行业里,前有大家基本上无法离开的 Nginx,后有现在已经大规模被使用中的 Clickhouse,这些都是有能力影响全世界的产品。

中国的软件产业虽然也有长足的发展,但现实中,我们没有真正意义上的软件巨头型企业,大量基础软件被外国垄断,这究竟是为什么呢?

波吉结合自己这么多年的观察,总结了以下几个点供大家参考:

01

信息系统大行其道

这个可能跟中国软件产业的发展有关,最早期的中国软件公司,本质上都要么是做对欧美日本的外包产业,要么就是本质上是微软,Oracle,SAP 这些巨头公司产品在中国的代理商(美其名曰ISV),其实都是使用特定的基础软件帮助各行各业完成信息化改造,但各行各业的信息化随着业务变化是不同的,需要大量的定制化,所以无可避免的就是形成了软件=做工程的这么个状态,大量的现在台面上的中国软件公司,本质上就是拿着老外的产品到各个产业做施工队,这也深深的影响了甲方,而且这个影响非常深远。

第一层影响,中国大量的 SaaS 创业者本质上都是在信息系统上创业,没有什么核心竞争力,基本上都是各种流程再造,但满足不了甲方需求,最终沦落为新时代的施工队。

第二层影响,中国的大甲方天然就习惯了施工队模式,导致了中国软件行业很多时候就是个外包模式。

02

项目能孵化出产品?

所有软件行业的从业者们都有一个幻想,通过先完成一个最基础的 MVP 模型,然后找甲方进行以项目方式试用,最后能够通过在项目的实战中总结经验完成产品化,最终能够拿出一个完美的产品在行业内复制。

然而,由于大部分的中国软件从业者都是信息系统的创业,加上很多时候一个抽象的信息系统必然需要实施,甚至对甲方业务流程等各方面的咨询实施培训(见 SAP),往往中国的软件创业者又无法输出相应的管理学和流程梳理等最佳实践,为了通过项目形式完成交易,最终一个客户被满足了,但积累的并不是产品,而是一个客户案例,一个行业案例,然后找下一个客户进行定制,最后成功的和自己的前辈们一样,成了某个基础产品的集成商和交付商。

03

销售驱动自毁长城

现在在中国软件行业(其实也是舶来品)特别流行一个概念叫 PLG,所谓产品驱动增长,与之相对的是 SLG,所谓销售驱动增长。

但波吉认为,这个说法本身就很有问题,无论是任何一个行业,不管 2B2C,不管是汽车,电子消费品,服装,难道不都是产品力为王么?难道产品不好好做,意味着研究所谓如何销售吗?所谓销售驱动增长,尤其在软件行业,这背后传递的是什么呢?我很难想象一个强调销售套路超过产品本身的公司,能做出什么好的产品?于是这些销售们为了拿单子,完成自己的指标,也逼迫公司将一个个标准化产品去满足各种奇奇怪怪的客户需求,最后走入了死胡同,一旦销售团队崩溃,这个公司也就崩溃,因为客户本身不是为产品的价值买单,我见过太多销售驱动的产品,最终甲方根本没有将产品用起来。

04

政府的羊毛最好撸

政府信息化数字化也进展了非常多的年头,中国各个地方,大大小小的软件公司,有很多都是政府信息化工程的施工队,这也是中国软件公司非常庞大的一个群体,他们往往又都是重要的集成商,于是乎随着自主可控的概念兴起,一些全国性的所谓信创软件公司和这些地方上的软件公司沆瀣一气,打着旗号撸政府相关的羊毛。

这一类的软件公司本质上的动力不是做一个好软件,而是如何做一个满足政策自主可控需求的软件,在这种出发点下,各地政府又要满足中央的自主可控的目标,事实上形成的产业链很难说对中国软件产业发展有什么帮助,对提升中国的软件实力有什么帮助。类似中国的新能源汽车市场,那些为了仅仅是获取国家补贴的所谓新能源车,什么质量大家都心知肚明。

05

大型企业的汉尼拔情结

中国的大型企业客户,大甲方们,由于一开始受信息化时代的合作模式影响,天然的看待中国的软件公司就是工程队,所以人天模式大行其道。

把一切中国的软件都看成是低技术含量的人天可交付的系统,并且一定要源代码,所谓自主可控。再加上大量的中国软件供应商很多只不过是开源软件的魔改厂商,所以让这些大型企业的技术决策者都一个个变成了技术选型的汉尼拔,硬生生需要将一个完整的软件产品看成一个个分片,他们的心里思考的就是软件只不过就是招一堆工程师改吧改吧就能完成需求的东西。最近的银监会出台了一个国有银行管理外包的政策,基本上把软件就定义成了人头工程,在这种情况下我很难想象这个领域会产生一个优秀的软件企业,有的只不过是给银行提供技术人员人头外包的人力管理公司。

06

互联网公司的技术妄念

中国还有一个貌似被看成全村希望的互联网公司,在大众的眼里,互联网公司技术实力强,人员素质高,互联网公司中的工程师也经常发布很多技术观点,甚至大有中国软件技术引领者的味道。然后现实却非常的残酷,中国互联网公司的本质业务并不是软件,是电商,是社交,是媒体,是买菜,但并不包含软件。软件技术只是互联网公司通过互联网实现自己业务的手段而已,本质还是信息系统。

大部分中国的互联网公司所谓的技术仅仅只不过是在国外的开源软件基础上实现一系列的封装,一系列的优化,美其名曰就是技术实力了,但本质上只是白剽了国外开源软件,而不是购买国外商业软件,然后本质上还是系统集成开发而已,唯一区别可能是面向自己公司的业务,不是外包身份。

中国的互联网公司也产生了一些优秀的软件,但都是把这部分业务变成了独立的软件公司,如云计算,才有可能有发展的价值。

简而言之,互联网公司的一些技术只不过是吃饭的手段,而软件公司本身开发产品是身家性命,岂可同日而语。所以互联网公司所谓的自研都不过是技术团队妄念,对核心业务毫无帮助的事情,无论公司还是个人发展都没有任何意义。

路在何方?

面对这么多的想象,其背后反映出了的本质问题是什么?

中国软件产业本身最缺乏的恰恰是一群真正意义上的软件从业者,这群人的目标应该是真正打造出有价值的软件产品,目标应该是将软件的核心竞争力与世界一流的软件产品相抗衡。并且这一些软件不应该还是那些传统的信息化,数字化的项目定制化的软件。而应该是数据库,中间件,基础软件,Photoshop/CAD/EDA等专业软件。

这才是中国软件的未来,只不过面对目前错综复杂的国际形势和当前严峻的经济环境,有多少企业能坚持做好产品,坚持用好的产品改变甲方的刻板印象,坚持到春暖花开的那一天…..

转自:https://mp.weixin.qq.com/s/YBb6GmpLfjfzaGblEI2VcQ

人生商业模式:如何过好这一生?

作者:刘润

来源:刘润(ID:runliu-pub)

人生商业模式:如何过好这一生?

图上这位,叫做达芬奇。

他是一名非常伟大的画家。

他最著名的画,你一定知道,叫做《蒙娜丽莎》。

但是你知道吗,他除了是一名伟大的画家,他同时还是:雕刻家,建筑师,音乐家,数学家,工程师,发明家,解剖学家,地质学家,制图师,植物学家,作家……

达芬奇的人生,简直像开了挂。

人生商业模式:如何过好这一生?

这一位,叫做赫伯特·西蒙。

他是决策理论之父,获得过1978年的诺贝尔经济学奖,是芝加哥大学的政治学博士。

同时,他还是凯斯工学院科学博士,耶鲁大学科学和法学博士,麦吉尔大学法学博士,瑞典隆德大学哲学博士,鹿特丹伊拉斯莫斯大学经济学博士,密歇根大学法学博士,匹兹堡大学法学博士……

赫伯特·西蒙的成就,单拿出来一项,都让普通人望尘莫及。

人生商业模式:如何过好这一生?

这一位,叫做鲍勃·迪伦。 

他是一位非常了不起的音乐家,曾获得过音乐界最著名的奖项——格莱美音乐奖。 

同时,他还获得了电影界的奥斯卡金像奖和金球奖,新闻界的普利策奖,以及诺贝尔文学奖。 

鲍勃·迪伦,也是一位跨领域的全才。 

这个世界上有一些人,一旦在某个领域获得成功之后,他几乎可以在每一个领域都获得成功。 

为什么会有这样的人存在呢?

这背后,其实也是有商业逻辑的。

人生,其实就是一种商业模式。

人生商业模式 = 能力 * 效率 * 杠杆。

有的人,用这三者换回了全世界。

而有的人,却一无所获。

今天的文章,我就来系统地跟你聊一聊:人生商业模式中的能力、效率和杠杆。

人生商业模式:如何过好这一生?

我们一个一个来说。

01

能力

在人生商业模式中,第一个重要的东西,叫做“能力”。 

首先,我想问你一个问题: 

你觉得,什么能力是一个人最有价值的能力? 

演讲能力?学习能力?沟通能力?还是赚钱能力? 

其实都不是。 

一个人最重要的能力,是获得能力的能力。 

这是一种超能力,就像你去找阿拉丁神灯,神灯问你有什么愿望,你说:我的愿望是再要三个愿望…… 

获得能力的能力,如果把这个能力具像化,其实就是: 

怎么只用2年时间,获得别人5年的能力? 

怎么做呢? 

我对这个问题做了非常深刻的思考和研究,甚至画了74个数学模型,经过严格的数学推演,终于,我找到了答案。 

这个答案就是: 

加班。 

别人一天工作8小时,我一天工作16个小时,我是不是就有可能用2年获得别人5年的能力呢? 

当然,加班这个词儿,显得特别不政治正确。 

我们给它换个名字,其实就是: 

勤奋。 

什么是勤奋? 

现在很多互联网公司都是996工作制——早9点到晚9点,一周工作6天。 

而我在微软工作的十几年,几乎天天都是996工作制,几乎从未在9点之前下过班。 

微软有一个制度,每天免费提供晚餐,只要晚上9点钟以后下班,就可以报销打车费。 

于是,到了晚上下班时间,很多员工都会想,吃个晚饭再走吧。 

吃了晚饭再一看表,已经快8点了,那就待到9点以后再走吧,反正可以报销。 

这个制度后来被很多公司学走,特别是今天的互联网公司,基本都这么干。 

甚至有一些创业公司,工作时间是711——早7点到晚11点,全年无休。 

我现在自己创业做咨询,我不要求我的员工996。

因为公司还小。

而且是否996,其实应该是员工个人的选择。

我也不要求我自己996。

因为我常年都是711,996对我来说等于放假。 

这就是勤奋。

但是,勤奋就够了吗? 

还远远不够。 

特斯拉的创始人埃隆·马斯克,被称为地球上最酷的人。 

你知道,马斯克一定特别聪明。 

但是你未必知道,马斯克同时还超级勤奋。 

有一次,他在一个大学做演讲,一个学生问他: 

您是怎么获得今天的成功的? 

马斯克给了这位学生一个非常重要的建议: 

Work Super Hard。 

可怕的勤奋。 

什么叫可怕的勤奋?

1999年到2001年,我在微软以工程师的身份做技术。

你可能知道微软是一家特别勤奋的公司。

但实际上,在微软工作,必须Work super hard,可怕的勤奋。

在微软上班,别说晚上9点了,干到凌晨都很平常。

但即使到那个点,你都不好意思走,因为整个办公室全是人…… 

怎么办?

接着干。

为了“帮助”你更加勤奋,微软办公楼的每一层都有两个房间,每个房间里有两张小床。

如果工作到很晚,你可以住在办公室。

但是你不要认为在办公室里放床,就是微软逼着员工加班。

其实真相是,每天早上,很多同事来公司的第一件事,就是拿着员工卡扔在一张床上,赶紧占位置…… 

他们抢床位不是为了午休,而是为了彻夜睡在办公室。

你早上稍微来晚一点,连床位都抢不到。

那没有抢到床位的人怎么办呢?

没关系。

在茶水间,有很多睡袋。

没有床,你可以睡地上啊!

我就常常拿一个睡袋,睡在会议室的地上。

第二天,搞清洁的阿姨一不小心踢到我,我就知道天亮了。

然后呢?

起床洗漱,继续工作。

微软里的每一位同事,包括我,都是这么过来的。

这就是可怕的勤奋。

所有的创业者,在用尽你的智慧之后,有一样工作是你永远都逃不掉的。

那就是可怕的勤奋。

但是,可怕的勤奋就够了吗?

还远远不够。

可怕的勤奋,它可能是一种低效的勤奋。

我们还得在它前面加上一个前缀,叫做:高效而可怕的勤奋。

什么叫高效而可怕的勤奋?

2016年,AlphaGo战胜了李世石,世界一片哗然。

2017年,AlphaGo战胜了柯洁,又一次震惊世人。

而这,其实都不算什么。

战胜柯洁后的同一年,AlphaGo的新版本AlphaGo Zero,以89:11的战绩打败了之前战胜柯洁的AlphaGo Master。

这一个版本的AlphaGo,才真的让人深深恐惧。

因为之前的版本,不管再厉害,它学习围棋的方法,都是在钻研人类给它的棋谱。

所以归根结底,它还是站在人类的肩膀之上,不会超出人类太多太多。

而这一次,AlphaGo Zero完全没有学过一盘棋谱,仅仅给它一个是输还是赢的反馈,它就能凭借自己跟自己对弈,找到人类从未想到过的棋路,达到前所未有的高度。

这让人类最顶尖的棋手们开始意识到,我们以前其实根本就不懂什么叫做围棋。

AlphaGo Zero的训练,就是在依靠一个高效的反馈机制。

这也是高效而可怕的勤奋中,最最重要的部分。

它可以告诉你,你的工作中哪些是有效的,哪些是无效的。

换一个你可能更熟悉的名字,这其实就是“刻意练习”。

刻意练习的关键,就是通过不断重复训练稍微困难的任务,从而获得最高效的进步。

安德斯·艾利克森有一本书就叫做《刻意练习》,你可以拿来参考。

这就是高效而可怕的勤奋。

总结一下。

想要拥有获得能力的能力,你要勤奋。

你不仅要勤奋,你还要可怕的勤奋。

你不仅要可怕的勤奋,你还要高效而可怕的勤奋。

当然,这一切是有前提的:

第一,你真的想要拥有获得能力的能力。

第二,确保所有的勤奋,都在你身体和家庭的承受范围之内。

02

效率

拥有了“能力”,你还要提高做事的“效率”。

如何才能提高效率呢?

怎么把一个小时,用出三个小时的效果来?

这其实也有系统的方法论——选择、方法、工具。

什么是选择?

真正能够提高你效率的方法,不是如何从17分钟里省出17秒,而是如何用17分钟省出17个小时。

什么意思?

就是你要在这17分钟里做出一个决定,接下来要花费17小时做的事情,到底值不值得做?

这就叫做选择。

哪些事情是你实现人生目标所必须要做的?

哪些事情是对你的人生目标帮助不大的?

哪些事情是你哪怕失去现有条件也一定要完成的? 

选择,是提高效率的第一要义。

有了高效而可怕的勤奋,有了自己的选择之后。

接下来的问题就是,如何真正提高做一件事情的效率?

这个时候,你就必须借助方法和工具。

我举个例子。

2017年6月,一位叫王俊哲的小朋友走失了,家长非常着急。

怎么办?

在家门口张贴寻人启事吗?

还是发朋友圈让亲朋好友转发呢?

王俊哲的父母没有这么做。

他们把走失信息发布在“公安部儿童失踪信息紧急发布平台“的微博上。

这个操作很正常,但唯一不正常的是,家长发微博时,用了一张王俊哲穿着比基尼的照片。

人生商业模式:如何过好这一生?

穿比基尼的小男生?

于是新浪微博炸开了锅。

网友们纷纷留言并转发,有的说:这样还怎么让我认真看图找孩子?!

有的说:孩子回来吧,回来就能把照片删掉了!

有的说:曾梦仗剑走天涯,因女装照被亲爹妈曝光而取消原计划……

有的说:如果这父母真的是为了让更多人转发我应该说这父母机智吗?

我不知道王俊哲的父母是不是故意的。

如果是故意的,这对父母确实很机智。

这条微博,很快就评论1万,转发3万。获得了大量的曝光和传播。

这就是效率更高的方法。

除了用更高效的方法,你还可以借助工具来提高效率。

比如,白板。

我最经常的工作状态,就是站在巨大的白板前,把想法像小石子一样,扔到知识储备的湖面上,迅速把激起的浪花、涟漪记录在白板上。

然后,我会退后半米,静静地看着这些想法舒展、连接、形成结构,感受创造带来的喜悦和成就感。

但除了喜悦和成就感,白板还解决了我思考过程中,三个非常实际的问题:

第一,相对于Word,Excel,PPT,它能把我从“结构化的思维”里解放出来,随心所欲地思考。

第二,相对于A4纸,它能把我从“有边界的思维”里解放出来,在广阔的空间里舒展、连接。

第三,相对于翻页纸(Flipboard),它能把我从“不能错的思维”里解放出来,想到就写,写错就擦,擦了再来。

你可以试试用白板装修你的办公室。

这是润米咨询办公室的白板照片:

人生商业模式:如何过好这一生?

这是微软的白板柱照片:

人生商业模式:如何过好这一生?

这是我家的“钢琴烤漆黑板”:

人生商业模式:如何过好这一生?

这是我在机场候机时,用“静电白板贴”在休息室思考的照片:

人生商业模式:如何过好这一生?

白板,能把我们从“结构化的思维,有边界的思维,不能错的思维”中解放出来,帮助我们随时随地,无边无际地思考。

好的工具,能让你事半功倍。

总结一下。

怎么才能提高做事情的效率?

第一要义,是选择做对你来说最最重要的事情。

然后再去使用更高效的方法,更趁手的工具。

03

杠杆

拥有了能力,获得了效率,就够了吗?

当然不够。

不管你在能力和效率上再怎么提升,你每天也只有24个小时,你能做的事情永远是有上限的。

你始终都无法超越你自己一个人的边界。

所以,如果你真的想要获得巨大的成功,你就必须借助一个神奇的东西——杠杆。

那具体来说,有哪些杠杆呢?

我给你介绍四种:团队杠杆、产品杠杆、资本杠杆、影响力杠杆。

第一种杠杆,叫做团队杠杆。

什么是团队杠杆?

我举个例子。

我创立的润米咨询,是从事咨询业的。

在咨询业中,有繁星一样多的小公司,但做得非常大的很少。

为什么?

因为咨询业,非常依赖咨询顾问的专业能力,而真正专业能力很强的顾问,是可遇而不可求的。

所以一旦做大,人才瓶颈就出现了,很难复制。

但是,就在这样一个很难复制、很难做大的行业中,有一家公司却做得非常成功,在全球不断复制自己。

这家公司就是:麦肯锡。

今天,麦肯锡全球的年收入规模大约100亿美金。

它是怎么做到的?

首先,麦肯锡找到了自己的支点,也就是它坚实可复制的能力内核。

在麦肯锡,所有曾经服务过的客户案例,都会进入一个知识库。

这家企业这么做,成功了;那家企业那么做,失败了;都写下来。

同时,麦肯锡还发明和设计了很多咨询的方法论,比如MECE法则,七步分析法等等。

“知识库+方法论”,就是麦肯锡从最有经验的咨询顾问体内,提取出来的“能力内核”,就是那个支点。

有了这个能力内核,麦肯锡开始寻找它的杠杆。

它每年从全球各个顶尖大学,比如哈佛、斯坦福、麻省理工,招来一大批刚从商学院毕业的年轻人。

这些顶尖聪明的年轻人,就是麦肯锡充沛而有效的“团队杠杆”。

今天,麦肯锡在全球已经有27000名员工了。

这群顶尖聪明的年轻人,用科学的方法论,和被验证的知识库,就可以给比他们年长20岁、30岁、甚至50岁的经验丰富的企业家们,提供战略咨询了。

用团队来复制做大,是最基础的杠杆,你必须娴熟使用。

第二种杠杆,叫做产品杠杆。

什么是产品杠杆?

我举个例子。

15世纪的欧洲,抄写圣经是个专门的职业,叫做“誊写师”。

一个誊写师,一年大约能抄一本圣经。

所以你可以想象,在15世纪,你看上去买的是一本书,但其实买的是一个誊写师一年的时间。

你买圣经的钱,实际上是誊写师一年的工资,而这一年的工资,不但要养活他,还要养活他的一家。

所以,在15世纪,只有富人才买得起一本圣经。

一本圣经,要一个人抄一年,那这样还怎么传播圣经呢?

欧洲教廷采取了“团队杠杆”的模式,雇佣了大约1万名誊写师,复制做大。

但即便这样,传播效率还是很低。

怎么办?

1450年,古腾堡开了一家活字印刷厂,开始用“产品杠杆”,印刷圣经。

活字印刷术的发明,使得复制圣经的价格大大降低,速度大大提高,数量大大增加。

当时的教皇,还非常生气地写了篇文章,说誊写师是这个世界上最美好的职业,都被印刷术给毁了。

结果讽刺的是,这篇文章通过印刷术传遍了全世界。

古腾堡,让复制圣经这件事,从严重依赖人类“边际交付时间”的“服务”,变成了更多依赖技术和工具,而较少占用人类时间的“产品”。

一旦脱离对人类时间的依赖,复制圣经这件事做大的可能性,就大大增加了。

为什么在世界500强里,做产品的公司,要远远多于做服务的公司?

因为只有尽量脱离对人类时间的依赖,公司才有可能具有不受限制的发展空间。

这就是产品杠杆的威力。

第三种杠杆,叫做资本杠杆。

什么是资本杠杆?

我举个例子。

咨询这件事情的能力内核,是“知识库+方法论”。

但是,常常有很多人质疑咨询业:

你们说得头头是道,那你为什么自己不干,只躲在后面给别人出主意,赚那其实并不多的咨询费呢?

一个叫做罗姆尼的人说,对啊,我们的建议那么值钱,收那么点钱,你们还说三道四。

于是,罗姆尼发明了一种复制放大咨询业能力核心的特殊方法论:贝恩模式。

首先,罗姆尼会关注并挑选一些,经营遇到问题的成熟型公司。

然后,他会派分析师团队,对这家公司进行好几个月的研究,看看还有救没救。

如果还有救,他会向这家公司提出收购邀约,收购的先决条件是,他要对这家公司拥有绝对控股权。

一旦收购成功,他会从内部派遣几十位咨询顾问,前往被收购公司,进行一切相关咨询服务。

最后公司价值大幅增加,罗姆尼出售公司获利。

一句话来总结这个“贝恩模式”,就是:都给我走开,这公司我买了,我亲自做给你们看,怎样才能做好一家公司。

因为贝恩模式,罗姆尼的贝恩资本,获得了“破产收割机”的外号。

在罗姆尼领导这家公司的14年间,该公司的年投资回报率为113%。

贝恩资本,是咨询业,或者说是咨询投资业的一个传奇。

它的本质,就是把“知识库+方法论”,这个咨询业的能力内核,通过资本杠杆的方式来复制放大,获得远超过咨询费的收益。

这就是资本杠杆的威力。

最后一种杠杆,叫做影响力杠杆。

影响力是一个非常有威力的杠杆。

你能接触到一些最有价值的产品吗?

你能找到一个最好的团队吗?

你能让别人真的相信你,并且给你投资吗?

这就叫做影响力。

可是怎么样才能获得更大的影响力呢?

你需要三种能力:演讲能力、写作能力、以及建立人脉的能力。

演讲和写作是两个大规模杀伤性武器,如果你想扩大自己的影响力,你就要持续训练。

那建立人脉的能力呢?

关于人脉,你需要记住一句话:人脉,不是那些能够帮到你的人,而是那些你能帮到的人。

杠杆能帮你获得巨大的成功,但是使用杠杆也是有前提的:

你必须先有强大的能力内核。

记住,所有的杠杆,不论是团队、产品、资本、还是影响力,它们的作用都是复制放大。

复制放大,不必然导致成功。

如果你的能力内核很强大,通过使用杠杆,你会更快地获得成功。

但是,如果你的能力内核很虚弱,杠杆,只会加速你的失败。

最后的话

人生,是一种商业模式。

想要获得成功,就看你能拥有多少能力,达到多高效率,以及使用哪些杠杆。

有的人,用它们换回了全世界。

而有的人,却一无所获。

我想,一无所获的人,也许就是因为没有带着杠杆,不去寻找支点,就想搬动全世界。

最可怕的能力是获得能力的能力。

最可怕的效率是伸缩时间的效率。

最可怕的杠杆是撬动人心的杠杆。

愿你拥有最可怕的能力,达到最可怕的效率,撬动最可怕的杠杆。

用它们,换回属于你的全世界。

 转自:https://mp.weixin.qq.com/s/hdjkrBKhAAJWbwVmb8Twww

navicat 连接不上服务器

navicat 连接不上服务器上的 postgresql 数据库,而pgadmin是可以的,奇怪吧

telnet 端口5432也是通的

网上查了一下,有人说是因为服务器关掉了ping导致的,

问了一下网管小哥,果然服务器的ping被关掉了

也许是因为navicat要先用ping测试一下服务器是否存在,如果没有反应就认为是unknown host

参考:https://blog.csdn.net/u011078141/article/details/88670096

一文详解 RNN 股票预测实战(Python代码)

循环神经网络(RNN)是基于序列数据(如语言、语音、时间序列)的递归性质而设计的,是一种反馈类型的神经网络,其结构包含环和自重复,因此被称为“循环”。它专门用于处理序列数据,如逐字生成文本或预测时间序列数据(例如股票价格)。

一文详解 RNN 股票预测实战(Python代码)

一、 RNN 网络类型

RNN以输入数m对应输出数n的不同,可以划分为5种基础结构类型:一文详解 RNN 股票预测实战(Python代码)

(1)one to one:其实和全连接神经网络并没有什么区别,这一类别算不上 RNN。

(2)one to many:输入不是序列,输出是序列。可用于按主题生成文章或音乐等。

(3)many to one:输入是序列,输出不是序列(为单个值)。常用于文本分类、回归预测。

(4)many to many:输入和输出都是不定长的序列。这也就是Encoder-Decoder结构,常用于机器翻译。

(5)many to many(m==n):输入和输出都是等长的序列数据。这是 RNN 中最经典的结构类型,常用于NLP的命名实体识别、序列预测。

二、RNN原理

关于RNN模型,我们还是从数据、模型、学习目标、优化算法这几个要素展开解析,使用过程需要重点关注的是其输入和输出的差异(本节以经典的m==n的RNN结构为例)。

2.1 数据层面

不像传统的机器学习模型假设输入是独立的,RNN的输入数据元素有顺序及相互依赖的,并按时间步逐一的串行输入模型的。上一步的输入对下一步的预测是有影响的(如文字预测的任务,以“猫吃鱼”这段序列文字,上一步的输入“猫”–x(0)会影响下一步的预测“吃”–x(1)的概率,也会继续影响下下步的预测“鱼”–x(2)的概率),我们通过RNN结构就可以将历史的(上下文)的信息反馈到下一步。

2.2 模型层面及前向传播

一文详解 RNN 股票预测实战(Python代码)

如上图,RNN模型(如左侧模型,实际上也只有这一个物理模型),按各个时间步展开后(如右侧模型),可以看作是按时间步(t)串联并共享(、、 )参数的多个全连接神经网络。展开后的立体图如下:一文详解 RNN 股票预测实战(Python代码)

RNN除了接受每一步的输入x(t),同时还会连接输入上一步的反馈信息——隐藏状态h(t-1),也就是当前时刻的隐藏状态 ℎ(t) 由当前时刻的输入 x(t)和上一时刻的隐藏状态h(t-1)共同决定。

另外的,RNN神经元在每个时间步上是共享权重参数矩阵的(不同于CNN是空间上的参数共享),时间维度上的参数共享可以充分利用数据之间的时域关联性,如果我们在每个时间点都有一个单独的参数,不但不能泛化到训练时没有见过序列长度,也不能在时间上共享不同序列长度和不同位置的统计强度。

如下各时间步的前向传播计算流程图,接下来我们会对计算流程逐步分解:一文详解 RNN 股票预测实战(Python代码)

上图展开了两个时间步t-1及t的计算过程;

t取值为0~m(序列的长度);

x(t)是t时间步的 输入向量;

U是 输入层到隐藏层的权重矩阵; 

h(t)是t时间步 隐藏层的输出状态向量,能表征历史输入(上下文)的反馈信息;

V是 隐藏层到输出层的权重矩阵;b是 偏置项;

o(t)是t时间步 输出层的输出向量;

2.2.1   t 时间步的输入过程

假设各时间步的状态h的维度为2,h初始值为[0,0],输入x和输出o维度为1。

将上一时刻的状态h(t-1),与当前时刻的输入x(t)拼接成一维向量作为全连接的隐藏层的输入,对应隐藏层的的输入维度为3 (如下图的输入部分)。一文详解 RNN 股票预测实战(Python代码)

2.2.2   t时间步输出h(t) 并反馈到下一步的过程

对应到计算流程图上,t-1时刻输出的状态h(t-1)为[0.537, 0.462],t时刻的输入为[2.0],拼接之后为[0.537, 0.462, 2.0]输入全连接的隐藏层,隐藏层的权重矩阵为[[0.1, 0.2], [0.3, 0.4], [0.5, 0.6]],偏置项b1为[0.1, -0.1],经过隐藏层的矩阵运算为:h(t-1)拼接x(t) * 权重参数W 拼接 权重矩阵U + 偏置项(b1)再由tanh转换后输出为状态h(t)。接着h(t)与x(t+1)继续输入到下一步(t+1)的隐藏层。

# 隐藏层的矩阵运算的对应代码
np.tanh(np.dot(np.array([[0.5370.4622.0]]),np.array([[0.10.2], [0.30.4], [0.50.6]])) + np.array([0.1-0.1]))
# 输出h(t)为:array([[0.85972772, 0.88365397]])

2.2.3   t时间步h(t) 到输出o(t)的过程

隐藏层输出状态h(t)为[0.86, 0.884],输出层权重矩阵为[[1.0], [2.0]],偏置项b1为[0.1], h(t)经由输出层的矩阵运算为:h(t) * V +偏置项(b2)后,输出o(t)

# 输出层的矩阵运算的对应代码
np.dot(np.array([[0.859727720.88365397]]),np.array([[1.0], [2.0]])) + np.array([0.1])
# o(t) 输出: array([[2.72703566]])

上述过程从初始输入(t=0)遍历到序列结束(t=m),就是一个完整的前向传播过程,我们可以看出权重矩阵、、和偏置项在不同时刻都是同一组,这也说明RNN在不同时刻中是共享参数的。

可以将这RNN计算过程简要概述为两个公式:

状态h(t) = f( U * x(t) + W * h(t-1) + b1),  f为激活函数,上图隐藏层用的是tanh。隐藏层激活函数常用tanh、relu

输出o(t) = g( V * h(t) + b2),g为激活函数,上图输出层做回归预测,没有用非线性激活函数。当用于分类任务,输出层一般用softmax激活函数

2.3 学习目标

RNN模型将输入 x(t)序列映射到输出值 o(t)后, 同全连接神经网络一样,可以衡量每个 o(t) 与相应的训练目标 y 的误差(如交叉熵、均方误差)作为损失函数,以最小化损失函数L(U,W,V)作为学习目标(也可以称为优化策略)。一文详解 RNN 股票预测实战(Python代码)

2.4 优化算法

RNN的优化过程与全连接神经网络没有本质区别,通过误差反向传播,多次迭代梯度下降优化参数,得到合适的RNN模型参数 (此处忽略偏置项) 。

区别在于RNN是基于时间反向传播,所以RNN的反向传播有时也叫做BPTT(back-propagation through time),BPTT会对不同时间步的梯度求和,由于所有的参数在序列的各个位置是共享的,反向传播时我们更新的是相同的参数组。如下BPTT示意图及U,W,V求导(梯度)的过程。一文详解 RNN 股票预测实战(Python代码)

优化参数  相对简单,求参数  的偏导数,并对不同时间步的梯度求和:一文详解 RNN 股票预测实战(Python代码) 和  的偏导的求解由于需要涉及到历史数据,其偏导求起来相对复杂,假设只有三个时刻(t==3),那么在第三个时刻  对  的偏导数为:

一文详解 RNN 股票预测实战(Python代码)

相应的, 在第三个时刻对U的偏导数为:一文详解 RNN 股票预测实战(Python代码)

我们根据上面两个式子可以写出L在  时刻对  和  偏导数的通式一文详解 RNN 股票预测实战(Python代码)

  • RNN优化的难点

我们把激活函数(sigmoid、tanh)代入,分析上述通式的中间累乘的那部分:

一文详解 RNN 股票预测实战(Python代码)

sigmoid函数的导数范围是(0,0.25],tanh函数的导数范围是(0,1]。
累乘的过程中,如果取sigmoid函数作为激活函数的话,随着时间步越长,较小导数累乘就会导致该时间步梯度越来越小直到接近于0(历史时间步的信息距离当前时间步越长,反馈的梯度信号就会越弱),这也就是“梯度消失”。同理,也可能会导致“梯度爆炸”。

一文详解 RNN 股票预测实战(Python代码)

2.5 RNN的局限性

  • 上述展示的都是单向的 RNN,单向 RNN 有个缺点是在 t 时刻,无法使用 t+1 及之后时刻的序列信息,所以就有了双向循环神经网络(bidirectional RNN)。

  • 理论上RNN能够利用任意长序列的信息,但是实际中它能记忆的长度是有限的,经过一定的时间后将导致梯度爆炸或者梯度消失(如上节),即长期依赖(long-term dependencies)问题。一般的,使用传统RNN常需要对序列限定个最大长度、设定梯度截断以及引导信息流的正则化,或者使用门控RNN 如GRU、LSTM 以改善长期依赖问题(–后面专题讨论)。

三、 RNN预测股票

本项目通过创建单层隐藏层的RNN模型,输入前60个交易日(时间步)股票开盘价的时间序列数据,预测下一个(60+1)交易日的股票开盘价。一文详解 RNN 股票预测实战(Python代码)

导入股票数据,选取股票开盘价的时间序列数据

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

#(本公众号阅读原文访问数据集及源码)
dataset_train = pd.read_csv('./data/NSE-TATAGLOBAL.csv')
dataset_train = dataset_train.sort_values(by='Date').reset_index(drop=True)
training_set = dataset_train.iloc[:, 1:2].values
print(dataset_train.shape)
dataset_train.head()

对训练数据进行归一化,加速网络训练收敛。一文详解 RNN 股票预测实战(Python代码)

# 训练数据max-min归一化
from sklearn.preprocessing import MinMaxScaler
sc = MinMaxScaler(feature_range = (01))
training_set_scaled = sc.fit_transform(training_set)

将数据整理为样本及标签:60 timesteps and 1 output

# 每条样本含60个时间步,对应下一时间步的标签值
X_train = []
y_train = []
for i in range(602035):
    X_train.append(training_set_scaled[i-60:i, 0])
    y_train.append(training_set_scaled[i, 0])
X_train, y_train = np.array(X_train), np.array(y_train)

print(X_train.shape)
print(y_train.shape)

# Reshaping
X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
print(X_train.shape)

利用kera创建单隐藏层的RNN模型,并设定模型优化算法adam, 目标函数均方根MSE一文详解 RNN 股票预测实战(Python代码)

#  利用Keras创建RNN模型

from keras.models import Sequential
from keras.layers import Dense
from keras.layers import SimpleRNN,LSTM
from keras.layers import Dropout


# 初始化顺序模型
regressor = Sequential()

# 定义输入层及带5个神经元的隐藏层
regressor.add(SimpleRNN(units = 5, input_shape = (X_train.shape[1], 1)))

# 定义线性的输出层
regressor.add(Dense(units = 1))

# 模型编译:定义优化算法adam, 目标函数均方根MSE
regressor.compile(optimizer = 'adam', loss = 'mean_squared_error')

# 模型训练
history = regressor.fit(X_train, y_train, epochs = 100, batch_size = 100, validation_split=0.1)

regressor.summary()

展示模型拟合的情况:训练集、验证集均有较低的loss

一文详解 RNN 股票预测实战(Python代码)
plt.plot(history.history['loss'],c='blue')    # 蓝色线训练集损失
plt.plot(history.history['val_loss'],c='red'# 红色线验证集损失
plt.show()

评估模型:以新的时间段的股票交易系列数据作为测试集,评估模型测试集的表现。

# 测试数据
dataset_test = pd.read_csv('./data/tatatest.csv')
dataset_test = dataset_test.sort_values(by='Date').reset_index(drop=True)

real_stock_price = dataset_test.iloc[:, 1:2].values

dataset_total = pd.concat((dataset_train['Open'], dataset_test['Open']), axis = 0)
inputs = dataset_total[len(dataset_total) - len(dataset_test) - 60:].values
inputs = inputs.reshape(-1,1)
inputs = sc.transform(inputs)

# 提取测试集
X_test = []
for i in range(6076):
    X_test.append(inputs[i-60:i, 0])
X_test = np.array(X_test)
X_test = np.reshape(X_test, (X_test.shape[0], X_test.shape[1], 1))

# 模型预测
predicted_stock_price = regressor.predict(X_test)
# 逆归一化
predicted_stock_price = sc.inverse_transform(predicted_stock_price)
# 模型评估
print('预测与实际差异MSE',sum(pow((predicted_stock_price - real_stock_price),2))/predicted_stock_price.shape[0])
print('预测与实际差异MAE',sum(abs(predicted_stock_price - real_stock_price))/predicted_stock_price.shape[0])

通过测试集评估,预测与实际差异MSE:53.03141531,预测与实际差异MAE :5.82196445。可视化预测值与实际值的差异情况,整体比较一致(注:本文仅从数据规律维度预测股价,仅供参考不构成任何投资建议,亏光了别找我一文详解 RNN 股票预测实战(Python代码))。一文详解 RNN 股票预测实战(Python代码)

# 预测与实际差异的可视化
plt.plot(real_stock_price, color = 'red', label = 'Real TATA Stock Price')
plt.plot(predicted_stock_price, color = 'blue', label = 'Predicted TAT Stock Price')
plt.title('TATA Stock Price Prediction')
plt.xlabel('samples')
plt.ylabel('TATA Stock Price')
plt.legend()
plt.show()

– EOF –

转自:https://mp.weixin.qq.com/s/7OdED-mwsBoypGBCvor8BA

灯光下的艰难:中国灯饰之都困局

两块钱的生意,卖一单亏七块。

作者:狄文强
编辑:张假假
来源:五环外(ID:wuhuanoutside)
 

全国70%的灯饰都来自这里。

台灯、家装灯、路灯、景观灯,只要有灯光的地方,就有一个地方的产品,这就是有着“中国灯饰之都”之称的广东中山市古镇。古镇位于中山、江门、佛山三市的交汇处,比邻港澳。其灯饰产业闻名海外,产品远销130多个国家和地区。

灯光下的艰难:中国灯饰之都困局

古镇地理位置

在经历30余年的发展后,形成了以古镇为中心,覆盖周边三市11镇区,年产值超千亿元的灯饰产业集群。

然而,古镇灯光照耀不到的地方淤积着大片黑暗。疫情袭来加剧了行业内卷,此前隐藏在诸多荣誉之下的问题开始暴露,小企业恶性竞争,打价格战、质量战的比比皆是。

如今的古镇渐显疲态,艰难度日是大多数如今古镇灯饰从业者真实的现状。

01
两块钱生意,做一单倒亏七块钱?

“你说,两块的生意是什么样的?”

“大概是倒亏三倍的那种。”

甄东是土生土长的本地人,家里在古镇也是做灯具生意的,有个不大不小的灯具厂,算是世代都在这行业里摸爬滚打。

作为行业老兵的甄东家族,也曾有过巅峰时刻。那会单子多得像漫天飞雪,全款的,带着现金上门的,只要你能提供现货,当场付款。厂里也是挑挑拣拣,量小的,价低的,没几个人愿意做。

甄东还记得,前几年签下第一个200万元大单当夜,拉着公司员工在KTV喝到凌晨4点多,一周兴奋得没睡好觉。

不过,那都是过去时了,今年的生意尤其难做,甄东给我算了一笔扎心账。

像筒灯这类走量的产品,成本组成很简单,包括外壳+光源+驱动+组装,如果外壳套件3寸以下的算5元一个,光源1W五毛,驱动1块钱,组装按五毛的人工费,那么一个5W筒灯大概成本要9元。

“但,网上价格你知道是多少么?”

“两块钱。不是说今年单子少,而是全是低价单,完全接不了。算算账,卖一单要亏七块钱。

灯光下的艰难:中国灯饰之都困局

线上的灯具价格

原先做国外的单子,甄东家的工厂还能赚不少钱,但现在外网价格也和国内一样,一米多的LED卧室灯降到只要几十块钱,算上材料、工艺、人工、运营的钱,基本都赚不了钱。

今年,因为成本问题,古镇半数工厂必不可免的遭到了冲击,甄氏家族的资金链也被绷紧。

现在甄东最头疼有两块,招工、销路。

灯光下的艰难:中国灯饰之都困局

灯具厂招工难

原先是公司挑员工,现在世道变了,换成员工挑老板。更何况,古镇背靠广州、深圳两个大城市,员工有非常多的选择机会,干的不开心立马走。

所以新时代的招工思路是,供着,哄着,顺便加钱留人。

然而甄东不想加钱。普工月薪在5000-8000元,包吃住,组装线主管是6000底薪+提成。销售的底薪也有3000多,行情不好时,这些都变成了不小的开支。

在他们厂,有几位十几年前跟着甄东父亲的老师傅,做的不开心、给钱不够,就敢当面骂,但他见面还得尊称一声叔、伯。因为这批人是现在工厂的顶梁柱,缺一个根,少一个都是大事。

就是这样一批人,这两年也在逐步退休。此时面临的是后继无人的局面。

如果说招工甄东还能发发牢骚,那么提到销路就只能叹气了,销路就是悬在古镇做灯人头上的一把达摩克里斯之剑,谁也躲不了,谁都挡不住。

灯光下的艰难:中国灯饰之都困局

古镇灯饰工厂对比

按他的话来讲,古镇做灯的要分层级。

高层次的,有稳定的国内外大客户,这其中厉害的给上市公司做代工厂,次点的也有稳定的经销商,旱涝保收、利润有保障。

剩余的也是绝大多数企业现状,这些作坊式企业利润又薄还找不到客户,房租、人工等压的很紧。前几年还能靠着外贸单,或者自来客户凑合过日子,现在一周都没一个客户,坚持一年多,资金链就全断了,几个大商业圈的门店都是成片成片的空。

灯光下的艰难:中国灯饰之都困局

中山古镇瑞丰灯配城

如何破局?甄东到现在也没想明白这个问题,大魄力地搞产业升级几百万,上千万的进口机械买上,是个好想法。可问题是,要是赌错了方向,几代人攒下的家业就断他手里了。

眼下看起来,甄东能做的就只有等。坚持下去,扛过这段艰难时期,等到同行寥寥无几,他家能赚不少。

02
降价、汇率、高成本,疫情时期的三响炮

甄东的经历,是古镇灯饰产业的一个缩影。此前,行业高速发展,这些问题还隐在阴影处。如今受疫情影响,古镇产业弊端全面暴露。从抖音上搜索古镇灯饰四个字,半数是惨淡、跳桥等。

灯光下的艰难:中国灯饰之都困局

抖音搜索灯饰的结果

但有意思的是,这两年理论上是行情很好的年份。

灯光下的艰难:中国灯饰之都困局

▲中国照明产品季度出口情况,图源,中国照明电器协会

古镇灯饰业2020年总产值140亿元,灯具、照明装置及类似品出口额115.79亿元,出口比重占产值80%以上。

可以说外贸是古镇灯饰的决定性因素。

而据中国照明业协会,2020年中国照明产品一季度在疫情影响下,生产和供应链遭受极大阻碍,但二季度、三季度海外疫情爆发,中国照明企业依靠生产和供给的优势,及时弥补了全球因疫情造成的供给缺口。出口额三连抬升生产,远超此前。

按理说,疫情带来了大批量的单子,古镇应该是赚得盆满钵满,现实为什么是这个情况?

问题在于同质化竞争。

甄东告诉我,灯具生产其实很简单,古镇灯饰的配套产业链很全,板材、电线、芯片等原材料都能在当地买到,只用再加工,一个成型的灯具产品就能做出来。然而,流程简单也就代表着缺少核心技术,产品同质化严重。

灯光下的艰难:中国灯饰之都困局

灯光下的艰难:中国灯饰之都困局

灯饰企业报价表

如上图所示,两家不同的企业吸顶灯报价,材质、颜色、瓦数等,差异化不大,唯一的区别是外观,图一企业专利号全为外观专利,无有核心技术方面的专利。

这就导致产品仿制简单。古镇的现状是,如果出现一个火热的品类,大量的企业蜂拥而至,直到利润下降,做烂这个品类为止。

灯光下的艰难:中国灯饰之都困局

灯饰厂同质化产品

而去年灯具外销增长的部分原因也是如此,同类产品降价抢市场。

灯光下的艰难:中国灯饰之都困局

LED替换类光源出口情况 图源:中国照明电器协会

以出口数量最大的LED为例,抢占市场的背后是大幅度降价销售的结果。去年出口量连续3季度上涨,单价就连续4个月倒挂,2020年8月至11月LED单价累计下跌达20%。

祸不单行,受疫情影响,全球经济形势不再稳固,从去年中旬开始至今,美元离岸人民币下跌约8%,汇率从7跌至6.4,这对于本就利润单薄的灯饰出口企业是毁灭性的。

然而,这还不算完,大宗商品及覆铜板、PCB、IC芯片、被动元件等原材料、元器件继续大幅涨价并伴随缺货,原材价格疯长。

降价、汇率、高成本,这是疫情时期的三响炮,导致国内灯具企业单薄的利润被进一步压缩,灯饰企业增收不增利。

因此,徒然有庞大的销售额,以外贸为主的古镇也难以盈利,仅少数规模化企业能够低成本运行,多数企业毫无利润可言。所以也是难得的出现倒挂景象,销量再大,古镇小工厂还是没客户。

受此影响,以灯饰企业为核心的古镇,GDP近两年持续低增长,中国千镇排名从2019年的第71位下滑至2021年的322位。

为何同质化企业如此之多?不采取有效措施制止?

这其实是个历史遗留问题。

据中山档案馆,80年代中期古镇海州有两位年轻人——袁达光和袁玉满,他们去中国香港探亲,彼时的中国香港繁华程度远超内陆,夜晚灯光照耀如同白昼,各类灯饰产品目不暇接。

年轻人总有一种探索精神,灯具仅需要一根电线、一根弯管、一个灯泡和灯座,他们想,何不自己做一盏?于是那一年,他们做出了古镇人自己的壁灯,随着时间的发展,壁灯的销量越来越好,不知不觉,形成了 “前店后厂”的独特格局,后来发展成为海洲第一家灯饰厂——裕华灯饰厂。

眼见裕华灯饰厂收益非常好,当地镇民纷纷效仿,以小作坊形式生产灯具。当地镇政府先以政府力量组织镇民在全国各地推销,随后,招商引资配套产业链,创造了良好的产业发展环境,随着行业高速发展,诸多隐患被压在阳光之下,未曾被察觉。

然而,奇迹是靠小公司堆起来的,古镇大量作坊式的企业,也随之传承下来。据中山年鉴,2020年底,古镇镇拥有灯饰及其配件工商企业2.8万家,全镇约20余万常住人口,平均7个人一家灯饰公司。

不管产业链配套多么齐全,30年间“前店后厂”格局始终没有改变。

技术壁垒、渠道壁垒、规模化运作,作坊式生产的企业,很难在上述方向建立护城河,缺少核心竞争力,处在低端制造位置,就只能打价格战。

如此背景下,古镇人如何破局而出?

03
打造龙头,日子就好过些

政府的规划是再次升级产业链。

当前,古镇计划立足“工业强镇、商贸强镇”,走“一专多能”之路,思路是将包括同益工业园、镇南工业园、灯都产业新城之内的逾万亩工业园区,再做高端一些,打造一个智能园区。通过补足高端产品的上下游产业链,来实现突围。

这样做的好处是,不管行业如何发展,只要补足技术高端产业链,照明产业就脱不开古镇,古镇还是那个“中国灯饰之都”。

然而,此举固然能稳住古镇产业中心地位,但中低端产业链还是非良性发展,缺少能从根上改变的诱因。小作坊还是缺少核心竞争力,跟风仿制,盯住一个方向就疯狂出货,直到做烂这个品类。

唯有结构升级,补齐中层企业,打造和培育一批有潜力、竞争力灯具细分行业龙头,吸收兼并小作坊式工厂,并以此降低底层企业数量,呈阶梯化发展,从而避免产业恶性竞争的情况再次出现。

不过,再难的日子也会有人尝到甜蜜时刻,再红海的市场都有新机会,恰逢行业低谷,企业兼并重组正逢其时。

甄东就认识一对夫妻,从定制化的角度切入需求,与家装设计公司签订灯饰外包合同。现在随着居民对定制化、特殊化产品要求越来越多,这对夫妻生意也越来越好了。

再难都要活下去,每个从业人都是这么想的,熬到最后,可能自己就是幸存的那一个。

转自:https://mp.weixin.qq.com/s/yCPhZ2ePhBcW4OCTRXBaXw