新闻中心

01-22
2018
常见SEO关键词选择误区及选择技巧
如果网站是一个企业的脸,然后关键词是面部美容。只有当化妆品用得好,会有更多的人记得你,知道你。当我们在做关键词的排名,我们该如何选择关键词?你不能陷入这些误区!     一、关键词是从来不使用的  有的伙伴为了让网站很快又好的排名,会自创一些词。诚然这样的词会很快又好的排名。但是同时这样的词也没有搜索量。即使排在首页也没有多大的效果。  二、不一定最热门的关键词就是最适合的  热门的关键词可以带来大量的流量,但大多都没有转化,形成了流量的浪费,这个关键词不一定是网站合适的。比如“SEO”这个词每天的搜索量是很大,但是很多搜索SEO的人并不是想学习SEO,很可能是行业内的人观察排名的变化,也有可能是小白想对这个词有些了解而已。所以热的词不一定就是好的。  三、在关键词的选取上没有考虑到用户意图  关键词的选取时,要考虑用户的心理,以达到转化促成销售的关键词为首选。在搜索中,往往产品的性能搜索是购买前的比较选择,而产品的名字搜索是消费的选择。  四、只选通用词而没有选长尾词  对于网站选取关键词来说,大多网站都重视了通用关键词,没有选择长尾关键词。比如我们做祛痘的产品,往往主关键词就是。  五、关键词的混乱  对有些关键词来说,一个词是两个概念,它包含了两个不同的意思,这样会造成混乱,要选择最精准的关键词。还有就是选择与自己不相关的关键词,虽然可以带来流量,但是无转化。seo关键词选择技巧一:关键词收缩量越大越好很多人在选取关键词时会通过工具查看这个关键词的搜索量大小,然后就想当然的认为搜索量大的词,就是好的关键词,因为搜索量大,说明搜索的人多,那么展现的次数自然就多,这么像当然无可厚非,但是并不是关键词搜索量大就一定好。关键是精准性。比如做做旅游行业的,旅游景点搜索量日均一万就比旅游团搜索量日均三千大的多,但是旅游团的精准度却高于旅游景点。二:核心关键词越多越好很多人在设置核心关键词的时候恨不得把自己所有产品都放在核心关键词上,但其实并不是设置的核心越多越好,核心关键词应该以主营产品为主,因为核心关键词太多,太分散就会分薄网站权重,所以并不建议设置太多核心关键词,一般以5到6个为宜,以核心产品为主,如果真的有很多种产品都想做核心关键词,那么可以选择做站群。(至于站群的问题这里就先不讲了)我们平时所说的关键词分类是根据关键词的竞争度,搜索量这些来分的。 按照淘宝SEO,我们对关键词的属性可分为三个级别: 】1:顶级关键词(一级词) 一般由3个字组成,搜索量非常大,竞争度非常大如, 新手很难通过 。顶级关键词获得稳定的流量如:“手机”,“电脑”,“男装”,“女装”,“连衣裙” 2:二级关键词(二级词) 一般由4、5个字组成,竞争度比较大,新手也比较难通过二极关键词获得 稳定的流量。如“苹果手机”,“商务男装”,“韩版女装”,“日式连衣裙”“新春女装”3:长尾关键词 长尾关键词一般由 5个字或者更多关键词组成,精准度高,竞争度不大,搜索量不大,很难用长尾关键词打造爆款宝贝,如:“苹果手机第四代黑色” “日式碎花莫代尔长连衣裙”“雪纺韩版女装”“新款春季女装”。
01-22
2018
淘宝卧榻之侧,岂容拼多多安睡?
2015 年 9 月,移动电商平台拼好货与拼多多宣布合并,后续其A轮投资者名单包括前淘宝网 CEO“财神”孙彤宇,步步高集团董事长段永平,顺丰速运集团总裁王卫、网易公司董事局主席丁磊。2016 年 9 月,拼多多完成由高榕资本,IDG,腾讯投资等领投B轮 1.1 亿美元投资,拼多多用户总量突破 1 亿人。2017 年 6 月,易观发布的电商 APP 排名中拼多多名列第五,连下卷皮、蘑菇街、百度糯米、折 800、楚楚街在内的五大竞争对手,拼多多进入行业第一梯队。2017 年 12 月 9 日,根据猎豹发布的最新电商 APP 数据显示拼多多再克天猫、苏宁易购、唯品会,京东四家,周活跃渗透率仅次于手机淘宝,名列所有电商 APP 的第二位。2017 年 12 月 18 日,在腾讯主导下,京东集团与唯品会达成三方协议,“唯京联盟”在朱思码记抢先曝光到辟谣的 5 个月后正式做实。17 天后,京东再次宣布与美丽联合集团成立一家合资公司,所谓“反阿里联盟“在坊间被炮制而出。2017 年 12 月 27 日,淘宝、天猫相继换帅,蒋凡和靖捷接棒。2018 年 1 月 10 日,阿里巴巴集团发布旗下平台《2017 年知识产权年度报告》,当中点名淘宝网制售假货商家向微信与“拼多多”等电商平台转移。  在 27 个月之前,“拼多多”这个名不见经传的电商平台还只是中国电商行业的沧海一粟,而今天这家仅仅B轮的创业公司,却因为其闪电般的行业增速而被业界高度重视,甚至在 2018 年开年的第一周被阿里巴巴首次用“打假的名义“和微信并列一起被点了名。尽管事后双方都未对此事作任何回应,但“兵马未动,公关先行”的惯用战术,使得一颗不起眼的脏弹,意外的将淘宝网与拼多多之间“存在争议”的竞争关系彻底公开化了。  颇有意思的是,1985 年出生的新任淘宝网“少帅”蒋凡,与 1980 年出生的拼多多 CEO 黄峥曾于谷歌中国时期共事过。而据朱思码记独家获悉,在即将于今年3~4 月出炉的 2018 年淘宝网行业运营重点中,淘宝网内部目前正在组建精锐团队参与其“三位一体”的项目组,着重于场景与商家货品梯队的搭建进而打响所谓“六大战役”,拼多多已经被官方明文标注为淘宝网 2018 年重点关注的竞品平台。  特卖模式,曾被视为电商生态圈一种极为常见的提升基础性销量的工具且存在了十余年。阿里聚划算、唯品会、京东闪购都是毫无争议的行业祖师爷,然而就在猫狗大战为了“二选一“而打的头破血流时,拼多多却曲线救国借助三四五线地区的增量市场,且在不触及两大巨头利益的情况下突然杀出了一条血路,仿佛一夜间成了中国电商行业的第三极。此时此刻,社交电商刺刀已经直抵天猫乃至阿里巴巴的流量根基——淘宝网。  上-淘宝网总裁蒋凡下-拼多多 CEO 黄峥  或许世界上唯有两条杠杆驱动人们采取行动:利益或是恐惧。但想要利用恐惧使自己变得坚强,唯有对自己或对手更为残忍。  淘宝网,是公牛还是奶牛?  显然,过去的 2017 年对于天猫商城而言是大获全胜的一年。  朱思码记从天猫商城相关小二处独家获悉,在刚刚过去的 2017 年天猫商城总体 GMV 增长率保持在 40%~50% 的区间范围,这显然创造了自 2013 年上市前以来最高的增长速度,而就 2016 年 Q4 季度财报显示天猫增长率仅为 34%。  无论是外界揣测的二选一政策发挥作用也好,还是与京东商城强力竞争的客观因素推动也罢,天猫今年业绩的给力表现着实还是给众多商家吃了定心丸,其B端客户的品牌满意度达到了历史新高。于是在 2017 年双 11 后,天猫商城挟大胜之势在各类目安插了专门针对商家货品小二,并希望通过深入到商家供应链末端来加强对天猫商家的掌控力度。  但在另一方面,天猫流量的增长率却并没有在今年像 GMV 那样全面爆发。言下之意——伴随着 2016 年 12 月 2 日聚划算事业部整体并入天猫,2017 年 8 月天猫超市的相关组织架构调整,甚至将本属于 B2B 事业部的零售通小店冠名天猫小店等一系列的动作均围绕阿里巴巴集团当前将天猫视为大盘的政策,而“流量分配服从大盘“是其政策的核心,换句话说:淘宝流量进一步的转移显然对天猫 GMV 高增速提供了史无前例的支持,但这个转移的速度也创造了历史新高。  淘宝网,亚太地区最大的 C2C 网络交易平台,由于其平台商家所售货品的深度广度空前巨大,被称为万能的淘宝。在过去 14 年时间里,淘宝网几乎孵化出了所有阿里巴巴零售电商产品的原型,甚至包括今天的天猫在当年也是挂着“淘宝商城“的名号从淘宝网头部C店卖家中选取其种子商家邀请入驻的,可以说淘宝网是阿里巴巴生态圈的根基与命脉,是绝对不能触及的核心利益。因此在打垮 ebay 之后的十余年里,淘宝网始终处于独孤求败的状态。  那么现在淘宝网情况如何?  据淘宝网相关工作人员透露,2017 年年中以来淘宝网内部对商家的管控上出现了意料之外的松动,而这种松动并不存在所谓商家离开淘宝而寻求新的外部平台——即早年所谓“出淘“的情况,而是基于淘宝网商家自身长期依赖淘宝体系,却因为阿里执行“服从大盘”政策导致淘宝网对C店客户的支持力度下降,也包括推行各种新规政策,进而使得商家表现出焦虑与恐惧。毕竟淘宝网仍然以大服饰行业为主,即使个别类目商家外流也不会影响整体大盘的态势,但 2017 年双 11 前的广州沙河、中山、株洲等地的商家上访事件,则是管控松动的一个警告性的征兆。“我们淘宝的运营实际分为两个部分:手淘+淘宝网行业运营,而今天面临的问题是手机淘宝的流量体制正处于崩溃边缘,因为天猫商家与平台对流量的需求必然是无止境的,换言之商家的业绩增长和我们本身对自己业绩增长的需求是呈正比的,同时天猫商家间的竞争,和我们与京东以及其他平台的竞争也都是绑定的关系,这存在一个囚徒悖论:敌进我进,敌不进我也绝不可能退。”  在未来伴随二选一政策的逐步加深,天猫通过补流量进而提升商家业绩进而提升客户满意度政策的弊端或许还将持续发酵,而这么做的最终结果,或许将彻底把当年冲垮巨头 ebay 打天下的“公牛”变成了天猫欲求不满的流量奶牛,被“逐步边缘化”的淘宝网或将在可见的未来甚至有可能引发更大规模的商家不满——历史上爆发商家与阿里巴巴之间冲突的导火索,无一不是来自于对流量分配政策与官方费用、规则的不满,而这些事件的主角均为淘宝网商家。  另外,彼时一家独大的状况眼下已经不复存在,王朝末年的揭竿而起只能助攻了对手和自立为王的诸侯们,而历史上统一六国的暴秦仅二世便亡了。  那么,今时今日为什么淘宝网会被边缘化?阿里巴巴旗下零售平台内部将用户分为 3 个梯队,4 成来自于淘宝网上追逐高性价比且背叛成本低于 10 元的用户,3 成为重度依赖网购的用户,2 成为潮流先锋用户。而今天更改 slogan 后的天猫商城显然是在针对后者两大梯队约 5 成的非价格敏感型客户而极力打造消费升级下的中高端零售平台,进而缓解近年来京东商城越发强烈的竞争压力,但从平台属性看淘宝网并不属于“高品质“或“消费升级”范畴。淘宝网“永久奉行”自打 ebay 以来免费开店,不扣点的政策,使得在营收方面只能依靠阿里妈妈的推广费用等形式来获得,但随着移动互联网时代的到来,直通车、钻展等传统 CPC,CPM 的收益正在不断下降并被淘宝客这类的 CPS 所取代,因此今天淘宝网能为阿里巴巴整体带来的实际收益恐怕不尽人意。在公关方面,淘宝在竞争对手和业界关于炒信、假货、产品质量等问题方面饱受攻击,身为上市公司必然不能继续坚持“有损于企业形象”的淘宝网,因此在 2014 年工商总局事件后,天猫商城逐步代替淘宝网成为了阿里巴巴新的推广形象,淘宝网似乎完成了其历史使命。马云提倡“永远客户第一”的精神驱动下,天猫商城的品牌方是阿里巴巴“最重要的客户”。无论是二选一政策还是年复一年的双 11 狂欢节都离不开这些客户的支持,为此采取抓大放小的策略其实也无可厚非。然而在过去阿里一家独大时纵然可以采取权衡中小卖家和头部品牌方之间近乎每 3 年一个轮回的流量倾斜政策,但随着行业竞争的愈发激烈,阿里在移动时代整体新增流量已经无法满足商家需求时,不得不舍弃一部分人的利益来保证大盘的稳定,这显然是“最好的坏主意”。  伴随着所谓反阿里联盟的建立,京东联合唯品会、美丽联合集团,甚至网易考拉和严选,乃至小米生态链这样的组合将在未来对天猫发动更为猛烈的进攻,因此服从大盘政策的后果必然是拖累了淘宝网这个流量母池,采用近乎压榨式的流量援助,对于淘宝网这个原本鸟语花香的生态系统,结果必然会变成“只留一颗参天大树但周边寸草不生”。  那么“少帅”蒋凡接下来要面对的难题都有哪些?赤手空拳。在丢失倚天剑聚划算后,淘宝成了赤手空拳的巨人,在社交电商流量高度中心化的今天,手机淘宝当前急缺能够快速在移动端快速聚拢特定人群的频道或产品,曾经的小而美们早已刻在了店铺关闭的墓志铭上,而网红店的逐渐衰落也预示着淘宝需要一个全新概念进而重整旗鼓,聚拢人心。男性顾客。淘宝网、天猫的天然人群属性更适应女性消费者,而京东商城近几年的发力除了纵向打击阿里在 3c,大家电,食品,生鲜,图书,箱包,日化等 10 几个类目外,更致命的是来自对男性消费者的争夺。因此在未来淘宝网继续领跑女装服饰美妆为首的消费群体基础上,对男性顾客的夺取与引导显得至关重要。流量争夺。尽管没有微信流量,但淘宝网的流量母池供给仍然很大,但在服从大盘政策短期不变的情况,阿里妈妈方面只能通过战略合作,全资收购等形式,对过去长期依赖阿里流量体系的导购网站,淘客站点,特卖平台,甚至媒体客户予以扶持,进而带动更多全淘宝母池的流量。朱思码记预判 2018 年阿里妈妈方面对于这类平台将产生多宗投资案,以缓解“极缺”流量的燃眉之急。  不过无论如何,淘宝网养育天猫和其他阿里产品的“流量奶牛”角色仍然不会改变,且将长期存在下去。  “不过我们这个‘流量奶牛’假设还必须是淘宝网继续处于无敌的状态,否则早晚就被人宰了吃肉了。”一位当年经历过C转B的天猫商家这样评价道。  闪电侠,拼多多  2017 年末的一场乌镇饭局被媒体搞出了一个“反阿里联盟”的大新闻,而腾讯控股董事局主席 Pony 马化腾竟然在朋友圈回复的一句“物极必反”,似乎暗示了这个说法确有其事。同时,又在不到 1 个月内饭局主人公:京东与唯品会、美丽联合集团相继结盟,此期间新闻内容的精彩程度不亚于同期档正在上映的电影《正义联盟》,使得外界不断猜测谁会是这个“反阿里联盟”的下一位队员?  《正义联盟》中,令人印象深刻的 “技术宅”巴里艾伦,因为一次意外而被闪电击中获得了“无视一切物理定律”并达到超越光速的跑动能力,成为了并肩超人、蝙蝠侠、神奇女侠、海王、钢骨在内的联盟成员。似乎拿两者一对比,同采用红色为主基调的特卖平台拼多多与闪电侠之间存在着诸多相似之处,“闪电侠”拼多多是下一位反阿里联盟成员的逻辑似乎又因为其当前流量来源和投资者关系的缘故,在阿里打假拼多多的背景下又能说得通了。  闪电侠  “它短时间能够起来,很大程度上是取决于外部 CPS 媒体群的构建和纯货品运营的思路。”前聚划算小二认为,在运营层面上看拼多多几乎就是一个翻版 2010 年的聚划算。尽管出生于中国电商行业绝对的红海期,但黄峥又有意无意的踩住了移动互联网时代以微信为基础的流量红利,拼多多“被微信流量击中”却因祸得福的拥有了大部分人都不具备的能力,而这些人甚至包括京东、唯品会这些未来潜在的队友们。  那么拼多多运用了哪些战术?专注价格敏感型客户。面对饱受争议的 9 块 9 包邮,拼多多内部似乎并不以此为荣,但也并不以此为耻,理由非常简单:任何平台,甚至政府都没有资格要求用户消费升级或者降级,因为消费行为只属于用户的个人行为,这跟言论自由范畴一致。  正如阿里对商家梯队划分的那样,拼多多为首的打击群主要集中于争夺 40% 以上的高价格敏感型客户,而从拼多多相关工作人员透露的一些资料看,其消费人群并非清一色低端客户,但伴随着长期拼团量贩的消费习惯培养下,拼多多成了高性价比的代名词——这种战术非常类似于十几年前淘宝网起家之时掘取中国网购人群种子用户时极力采取的低价策略,又和聚划算在开设品牌团之前的选品策略如出一辙。  横向对比天猫从淘宝商城逐步走消费升级到今天成为全球品牌集散地差不多花了接近 10 年,用户也从买淘品牌,到国内外一二线品牌,再到现在海淘跨境电商......任何一个平台想一口气自低向高完成消费升级在逻辑上是不存在的,因为入驻品牌和它的平台都没有这个势能,除非只能是投资方倒逼——急着上市。抢点增量市场。这一部分人群在目前又多数集中于三四五六线地区,属于阿里和京东刷了 4 年墙却受制于物流体系、PC 端平台基因、下乡策略等因素而未能更进一步的真空地区,但被拼多多借助微信红包与支付的推广而成功拿下了这部分增量市场,甚至有淘宝客告诉朱思码记,在一个北方五线的小县城里,找一个玩微信的大妈都或许知道帮拼多多推广能够赚钱。事实上在两年前,拼多多也正是依靠部分商家在三四五线城市卖水果,农土特产而完成起势。坚持纯货品运营的思路。在特卖电商运营领域,类目运营,品牌运营,货品运营是完全不同的三个颗粒度。  淘宝、天猫、京东领衔的综合性电商平台,目前采用的是颗粒度最大的类目运营,因为考虑到这三大平台的 SKU 数量都非常庞大的特性,因此在运营细节上最平衡,但也最粗糙,因为类目的生命周期最长,因为几乎没有会死亡的类目。  唯品会近 10 年以来都延续了颗粒度相对较小的品牌运营的思路,这种思路好处在于能在巨头夹缝中打开一个缺口——譬如做特卖,同时伴随唯品会只卖正品,乃至 288 元包邮的政策下其整体平台势能足够强,另外品牌的生命周期远远高于一个单品,因此拥有品牌背书且基于天然高客单纬度的优势下唯品会坚持了这种模式,但缺陷在于唯品会受制于入驻品牌数量的有限和平台用户属性,使得其很难向全品类拓展。  拼多多采取了更为小颗粒度的货品运营思路,这种小颗粒度的运营体现在其遵循了选品高频、刚需、低价的三原则,和聚划算 2010~2011 年的运营思路极为接近,同时小颗粒度的运营在抛弃品牌背书的情况下出货量往往极大,但缺陷是这个模式会把一个商家单品的生命周期根据销售量的暴涨而被强行缩短,但在平台商家数量急剧增大,选品空间足够的情况下并不会成为其高速成长的障碍。流量体系完全独立于阿里电商体系之外。拼多多之所以今天让淘宝网如此操心的关键在于拼多多也许是目前为止唯一一个与阿里巴巴流量体系从历史上看都毫无交集,且占据国内电商第一梯队的特卖平台。  在过往历史上出现的一系列相关平台,包括返利网、楚楚街、折 800、米折、卷皮、蘑菇街均跟淘宝网有着或多或少的交集,其形式可以是淘宝优惠券、可以是淘宝客,也可以是淘宝商家的站外特卖,因此这些平台对阿里实际不构成威胁,相反这些平台对阿里拥有一定的依存度,随着依存度的变高,阿里对于这一系平台的实际掌控度也就愈大。当双方爆发矛盾时,阿里妈妈可以迅速掌握主导权,完成一击必杀。  而拼多多诞生于微信,完全没有 web 端的概念,种子客户大部分为没有经过 PC 端电商时代而是直接进入移动电商时代的增量市场,即使未来淘宝与拼多多发生正面交锋,阿里面对其源源不断的微信社交流量也毫无办法,反倒是微信可以像 2017 年 7 月那样通过重拳打击淘客的形式,进一步压缩阿里在微信上通过淘口令形式而进行流量转移的行为。  与之相比,京东、唯品会同样作为 web2.0 电商时代的产物和天猫相比却缺乏一个类似手机淘宝和淘宝网这样的流量母池,尽管今天微信为两家提供了充沛的移动流量支持,甚至在微信上开了入口但仍然很难抗衡,同时两大阵营的用户又重合度极高,因此唯京方面的竞争压力也就更大。传统 B2C 商城无论自营还是 POP 或许并不适应社交电商基于用户分享传播,专注特定选品,强调流量高度中心化的玩法要求。  “起初我们 2015 年内部把拼多多和一元夺宝作为两个典型案例讨论,当时预判的是前者不过是特定品类的营销工具,后者是赌博性质的玩法,所以认为天花板其实很快就能看到,但确实没有预料到的是这个工具的天花板真的可以做到百亿规模的高度。”  前唯品会高管看来,拼多多与唯品会的路径其实都有着相似的特点——就是外界判断这种特卖模式不过只是一种电商平台使用的营销工具,而不会变成一种商业模式。但正如手机从一种傻大黑粗的通讯工具演化成了麦克卢汉当年预言的“人的延伸”,这种自裂变出乎了许多人的意料,当然其中必然也包括阿里巴巴。  “不过,拼多多的这种模式也不是无敌的存在,聚划算当年就同样遇到了这些问题,只是因为后来合并的结局有点出乎商家意外罢了。”  那么拼多多的软肋会在哪里?极高的廉政风险。聚划算早期采取了拼多多当前纯人工报名的方式,因此小二拥有了极高的权利,可以左右商家的选品策略,定价方针,备货量,甚至直接拍板是否能够报名成功等等方面,而绝对的权利势必导致绝对的腐败,廉政高发的风险后续又让聚划算采取了机器算法报名的模式,但机器算法很快又因为各种弊端而变成了后来人工+机器算法的模式。毕竟廉政问题在任何平台,任何人身上都会有存在的可能性,但如果能遵循“水至清则无鱼,人至察则无徒”的价值观或许更为恰当。    平台信任风险。早在 2011 年派代网年会上,就当时现象级的聚划算展开了一个专题讨论会,其间不少商家得意洋洋地表示自己品牌 60%~70% 成交额来自于聚划算,而当时的大环境则是基于淘宝网早期店铺为了销售额和信用等级的快速提升,而采取抄小路的方式达到个人目的。然而之所以要快速提升店铺信用的根源,在于淘宝网在此时期的商家信任问题仍然被长期诟病,于是通过信用等级的好中差评这种原始的方式来方便客户辨别店铺信用程度,而今天早已不是当年信用缺失的年代,因此拼多多采取近乎没有店铺的概念来帮助商家解决了信任问题,降低了商家向上发展阻力的同时也为平台埋下了承担一切风险的责任——就如同淘宝网并不直接出售假冒劣质商品,但消费者会对淘宝商家的个人行为等同于阿里巴巴官方行为一样对待,那么既然淘宝“躺枪”卖假货多年,那么拼多多平台恐怕会比淘宝中枪次数更多,而且更严重。同时,平台为商家担保的做法无可厚非,但在对于处理商家备货量与平台根据流量预估销售量的问题上应该各外注意。拼团模式的短板。拼团的好处在于能通过最简单的分享来聚集人群,然而特卖的玩法远不止拼团一种,砍价,拉人头返佣金,多级分销在形式方面都比拼团要来的更能吸引社交人群的传播与兴趣,而更为致命的是:拼团模式仅适用于特定类目且符合高频、低价、刚需三大原则的单品。我们举例与这几天刷爆朋友圈,和网易微课的师出同门的拼多多潜在竞争对手——特卖平台“大伙邦”,同样也是公众号起家,他们就并没有采取拼团的模式,而是用二级分销+用户等级梯队管理的形式完成拼多多所无法涉及的特定品类,甚至高客单价和更多元的产品。  我们举例某零售价 100 元的产品在拼多多平台销售,按照拼多多拼团的玩法,价格拼团成功必须在 24 小时内完成至少 1 人的基础上才能享受原价 8.3 折的优惠,大约 83 元;对比采用大伙邦模式的情况下,分享传播 1 位朋友的佣金比例为 20% 的 20 元,此阶段用户购买价格为 80 元,而二级传播朋友的朋友购买后用户收到的佣金为9%,价格为 71 元。  而根据用户在平台的消费频率,传播情况,以及其他考核标准后,用户等级按照1~10 级划分,这位客户如果等级为 10 级则在不传播分享的情况下产品价格为 69 元,但其佣金仍然按原价 20% 进行计算——也就说这实际是一种“人人都做自己的淘宝客”但又不触犯国家相应规定的特卖玩法。更何况通过朋友圈为了拼团打折而去传播一条连衣裙显然很难拼团匹配的,但若采取佣金结算+差价返佣的模式则不存在纯需求为导向,而是用户会以结果为导向,如同这次网易微课的一夜爆发实际在于 30% 高佣金的作祟。在处理商家和盈利问题的摇摆。尽管刚满 2 岁就杀入行业第一梯队,但拼多多今天还只是一家创业公司,如同当年淘宝网用免费开店打垮 ebay 的策略一样,奉行不扣点的拼多多让大量商家趋之若鹜,一路上击败了十几家竞争对手,但这把双刃剑也造成了类似“罚款盈利”的闹剧。显然这是平台还未找到合适的盈利点而不得不采取的暂时性策略,如同在阿里妈妈尚未建立之时,仍然是依靠中供铁军们来养活淘宝网。拼多多跟淘宝有着非常接近的血缘关系,马云当年所面临要稳住商家与公司盈利的艰难决策,恐怕也将是 37 岁的黄峥马上就要面对的现实问题——“如果有一天商家闹事,围攻了拼多多上海总部的大楼,该怎么做?”  拼多多既非囊中物,亦非池中鱼,尽管有诸多缺陷,但作为抢占增量市场起家的后起之秀在未来想要从淘宝网抢占那高达 40% 的存量市场,除了补齐上述短板之外,更重要的是在品类拓展和品牌引入上保持现有的节奏,以防止重缴聚划算当年付出过的学费。  谁才是是阿里的心腹大患?  2018 年 1 月 15 日,张小龙演讲的微信公开课 PRO,火爆互联网圈。值得抓眼球的是最新数据表明微信支付的 DAU 维持在8~8.5 亿的区间范围,而微信月活维持在 9.8 亿,即将迈入 10 亿大关。  如果微信生态圈上的“拼多多们”是阿里电商的敌人的话,那么微信支付便是支付宝的克星,因为从目前最新数据来看手淘的装机用户和支付宝的装机量是持平的,但目前就台面上的数字看,两者的差距已经越来越大。  而从支付的角度反过来看电商,装淘宝的人不可能不装支付宝,但有微信支付的人不一定现在已经开始使用微信电商,这就如同马云最爱的那部《阿甘正传》里的台词说的那样:“就像一盒巧克力,你永远不知道下一颗是什么味道。”才 2 年时间就把刺刀抵在了淘宝的咽喉上,也许拼多多只是微信电商送出一道开胃小菜而已。  “在三四五线地区有这样一个现象,支付宝这种在我们看来进入门槛很低的东西,但到了没经过我们这代网购的人手里,就变成了非常麻烦东西且繁琐的支付工具。”前唯品会高管指出在存量市场里,阿里和腾讯之间的对决其实很难分出真正的高下,但在增量市场的较量中,如果不谈删支付宝还是删微信这种“是不要媳妇,还是不要妈”的问题,仅仅是因为支付宝需要上传身份证的教育成本上,微信支付这种近乎傻瓜式的东西则更容易被人所接受。  而中国电商已经整整走过了十余年,但在三四五六线地区的人口红利还是存在的,这也是唯品会当年依靠三四线地区和今天拼多多快速起飞的一个核心原因。  不过,从商家方面对于微信持续发力的看好却显得格外的谨慎。  “好像拼多多单坑产出那么高,说到底还是微信流量的红利期,如果哪天微信流量开始下滑,那么连锁反应就是拼多多的销量开始下降,这个道理如同还没完全远去的 QQ 时代那样。”来自广州的一位天猫母婴 TOP 品牌方告诉朱思码记,所有的电商模式爆红其实都与流量有着密切的关系,正如淘宝网流量的井喷期孵化了今天的天猫,而微信今天那么大流量做一个甚至几个天猫都不成问题,但再豪华的宴席也总会有吃完的那一天,只是目前来看这场乌镇饭局的影响还会持续很久。  只是腾讯系方面还存在一个天然优势,即如果阿里巴巴没有淘宝,阿里生态系统的天猫,支付宝将因为无法独立生存而崩盘,但即使没有微信扶持下,唯品会,京东仍然还是两家在纳斯达克上市公司。  “社交电商的玩法其实也拥有一定的局限性,就是年龄层不会太高,而微信人群大多数是主流消费人群,也是互联网主流人群,而一个平台的种子用户往往决定了这个平台的调性,如同拼多多的三四五线为种子用户,那基本决定了它今后也必须坚持走价格敏感型用户的生意。”  那么未来谁才是阿里电商业务的心腹大患?  随着 PC 端到移动端的流量转移,使得中国未来的电商行业或将分为三大梯队,而阿里的电商业务所要面对的对手或许远不止京东商城这一个冲在最前面的矛头,而是存在类似三线作战的危险。第一打击群:以网易考拉,严选以高消费人群为核心的网易系。其打击范围为淘宝网两成以上的潮流先锋,天猫国际和天猫商城的高端用户。网易考拉通过跨境自采的母婴行业切入了阿里最值钱的那一部分用户——女性妈妈们,然后通过奶粉,母婴用品,护肤品,服饰,鞋包一步步蚕食直至全品类扩张,而就天猫国际相关小二透露,在过去对于网易考拉流量来源的监控过程中,意外的发现了用户在天猫国际与京东全球购、小红书的比价过程中,流量却最终汇聚于网易考拉。而就当前在跨境零售电商行业的最新排名情况看,网易考拉力压天猫国际把得跨境行业头筹,同时其高端客户与严选频道针对的中高端客户有着重合的目标人群。未来选择通过价格下探扩张至中端用户人群,除了网易系先天不足的流量来源尴尬外,其余只是时间问题。该打击群抢点最好,当前势头最强,威胁性最高。第二打击群:京东商城,唯品会领衔的中端消费人群为核心的京东系。其打击范围为天猫商城,淘宝网 3 成以上的重度消费人群。由于天猫商城拥有女性客户的优势,而男性用户偏向京东商城,尽管此前唯品会已经联盟京东,但在可见的未来其作用并不是决定性的,因此在这一层面双方的交火程度最为激烈,2017 年6·18 发生的二选一不过只是一个开始,更激烈的竞争还要看 2018 年。第三打击群:拼多多,还有其他零碎的微信电商小程序或者还浮出水面的平台,其打击范围为淘宝网 4 成以上的价格敏感型客户。随着拼多多增量市场地位的巩固,冲入一二线存量市场恐怕已成进行时,而淘宝方面由于多年网购所带来的用户习惯难以改变,因而壁垒较高,如不发生重大规模的卖家迁移,淘宝防守有余。但未来存在最大的变数就是拼多多是否能够找到一个合适的盈利点,同时淘宝能否通过恰当的手段控制与平息商家的不安情绪。  当然,这三大梯队最大的变数在于网易,毕竟在过去两轮的投资中腾讯公司和网易资本都在投资人名单中出现了。  朱思码记认为从双方实际需求层面来看,网易系与拼多多的结合或将爆发更为猛烈的势能,其原因有或 3 点:网易长期缺流量的情况可以通过拼多多进一步消化而缓解,而网易电商近年来对 GMV 增长的饥渴度或许已经到了要通过资本运作消化掉拼多多的庞大流量的必要。拼多多外部公关形象问题,是否能够通过与网易合并进而改善,甚至提升。拼多多终有一天会提升平台客单价,完成漫长的消费升级过程,而网易自高向低的平台背书与入驻的高品质供应商所带来的势能无异于加速这个漫长的过程。  2014 年 11 月 20 日的世界互联网大会上,马云第一次表示阿里巴巴的使命是培养更多的京东并且让这些公司赚钱,显然这句话今天已经应验。从京东、唯品会、乃至今天的拼多多身上我们多多少少都能找到一些阿里巴巴的影子,但剧情到了 3 年后,这些学有所成的“学生们”竟然都站到了对立面,且无一都是站到了传说中“整条命是小学生给的”那位牛人帐下。  听闻米兰·昆德拉有一言:人是为了反抗过去,才能成就未来。但过不去的才是过去,未必来的也许就是未来。
01-19
2018
提升网站点击率的SEO标题写法
比如说我们举个例子,题目是:68岁老干妈,身价70亿,开劳斯莱斯ZF送AA8888牌照,她才是中国最任性的女神。这是我去年写的一个80万加阅读量的文章,30个字左右的标题中用了三组数字,一组字母,所以他在朋友圈里肯定是属于点开率比较高的那种,特别吸引眼球。再举个例子,坑了170名员工败光500万CEO跑了,这只是创业公司倒闭潮中的一个样本。这是我去年在资本寒冬的时候写的一个公司倒闭的一个案例。这篇文章的阅读量70万家应该是这篇文章是30个字左右的标题中利用了两个数字,一组字母也是非常吸引眼球的,辨识度非常高,这是第一点。第二点为什么要用数字。数字能够给人基本的预期,加速读者的判断时间。什么判断时间,就是读者判断是否要打开你这篇文章的时间。那数据能给人基本的预期,给人什么基本的预期呢?就是说我们通过数字可以把整个文章的架构和重点表现出来。举个例子,任正飞新闻联播讲话:48秒230个字却值得每个中国人反思。通过48秒230个字给读者一个基本的预期,我进来这篇文章主要是看任正非讲的这230个字。再举个例子,关于微信运营新手最容易犯的30个错误,他用30这个数字给人一个基本的预期,就是说我读了这篇文章很可能就会能帮我避免以后犯这30个错误,这是第二点。第三点就是数字的表达,它天然就更具体更直观。我们简单举个例子,张一鸣,十年面世过2000人,混得好的年轻人都有这五种特质。我想表达张一民特别会看人,看得特别准,我怎么表达他看过的人多,怎么个多法,十年面世过2000人,在表达一下就更具体更直观了,所以这就是为什么要用数字。第一数字的辨识度高吸眼球。第二,数字能够给人基本的预期。第三数字的表达天然更具体更直观。这三点具体怎么做,一般要用到哪些数字,你写完文章一般怎么操作呢?我的经验是你写完文章之后,把文章通读一遍挨着读一行一行的读,只要带数字的点,你把它提炼出来,你把它放在一块,看看这篇文章中都是有哪些点哪些数字。然后看看用什么样的逻辑结构能尽可能多的多带上几组数字就是能用两组数字就别用一组数字,能用三组就别用两组。我总结了一共有四点,也就是四个方法。第一点用人物的年龄数字,因为大家写文章很多都是写这个人物就有个年龄,我总结了一个套路。年龄小就是年轻有为,年龄大就是老当益壮,年龄不大不小,去找别的角度。我们举一个例子,98年的妹子创业,五个投资大佬争抢融资1500万,90后大叔大妈咋想是吧?98年创业,年轻有为。再举个对立的例子,56岁才创业,如今利润却是华为的1.5倍,它是个让对手发抖的人,老当益壮。跟前面那个对比,我们再举一个对比的例子,年轻有为的例子,17岁,它说要把海洋清洗干净,没人相信。21岁,他做到。再举个对立的例子,褚时健,年轻人太急了,我80岁还在摸爬滚打。老当益壮,所以经常能用到的是人物的年龄数字,我是能很高兴大家。第二个经常用的是表示时间的数字,这个怎么理解呢。就是一般写故事,写一个做一件什么事情的时候,经常用到表示时间的数字。这个我也总结了一个套路叫:时间短,就是发展迅速,时间长,就是工匠精神,意志坚定,时间不长不短,找别的角度。我们举个例子:一分钟卖出3万件衣服,老板比比尔盖茨还有钱,它靠一个字颠覆了整个零售业,这个其实是写的ZARA的老板。但是老板今年是在全球富豪榜上排名第二,去年的时候超过了比尔盖茨,我们表达它发展迅速,就一分钟卖出3万件衣服。再举个例子,近年来发展最快的互联网公司滴滴出行,我们给他起的题目是四年350亿美金的背后滴滴,是这样干掉30家竞争对手的。用时间短来表达它的发展迅速,那时间长就是工匠精神意志坚定。这些题目例子更多,比如说为女朋友连续做了900天不重样的早餐。最会做饭的男人竟然是点点点,意志坚定。日本匠人捏了40年的面团,结果连马卡龙大师都飞过半个地球来请教。40年工匠精神。因为妻子的一句话,他在九平米的拉面店待了46年,有人为了吃上一碗拉面,竟然等了九个小时,工匠精神,46年,九个小时,这是第二点经常用的数字表示时间的数字。第三点这个是用的可能更多就是跟钱有关的数字。谁跟钱有仇,看见钱就是看一下跟钱有关的数字比较多,比如说工资,比如说年薪,比如说身价,估值融资额,这些只要有你尽可能的放在标题里。举个例子,普通文案和优秀文案的区别,这样的标题有人看,但很少人看改成什么样的标题跟钱有关,月薪3000,与月薪3万的文案差别究竟在哪里?这是一篇在朋友圈刷屏的一个文章。再举个例子,从月薪500的行政到执掌750亿美金。这名中学女教师用17年的坚持逆袭人生,这个其实写的是马云背后的女人彭雷。月薪5000,执掌750亿美金,跟钱有关的数字,特别吸引眼球。第四点是什么意思呢?提炼你最想表达的东西,然后用数字来描述。什么意思呢?整篇文章你总有个想表达的东西,你表达穷还是表达富?你表达胖和瘦,你表达高和矮,大和小,长和短,快和慢,远和近,你基本上你表达的所有东西都能找到数字来表达或者是强化。再举个例子,关于新媒体编辑可能感冒的。如何通过爆款标题达到10万加内容。是不是看烦了,是不是不想点开看了。但是修改后的标题可以是这样的,这10篇文章只改了下标题,阅读量就从1万加涨到了10万加。用数字来加强你要表达的东西,从1万加涨到10万加翻了十倍来表达爆款标题有多厉害。所以整个是具体用哪些数字大概这四个方面。最后再给大家提一个注意事项,第一点,也就是大多数小编经常犯的一个错误,他用数字了,但他用的是中文数字。这个是个机会,你把所有的中文数字都代替成阿拉伯数字,这样就对了,这是第一点注意事项。第二点是数字靠前放,尽量靠前放,就是你最初推出来的时候推文的时候如果用户没有去点一下它。这个标题是被折叠的。如果你是一个30次左右的标题,后面20个字基本上就被折叠了,只显示前十个字左右,但是中文它这个逻辑结构其实可以你去调整的,你把它带数字的那部分调在前面,这样是比较好的。
01-19
2018
Java 领域的五大发展预测,新的发布计划将推动创新
IBM 杰出工程师兼 Java 首席技术官 John Duimovich 近日对 2018 年 Java 领域做了五大预测,预测内容如下:预测 1:Eclipse 将变得更加重要随着 EE4J 和 MicroProfile 等关键项目的开展,Eclipse 基金会将在 2018 年变得更加重要。随着开放社区越来越多地参与这些重要项目和其他与 Java 相关的项目,寻求快速创新。 今年,开发人员将更加关注 Eclipse 基金会。预测 2:加速与容器的融合作为简化开发和管理的工作的一部分,容器和运行时将更加紧密耦合,共同优化,以实现 Java 应用程序的无缝管理和配置。Java 结构和容器之间的一致的内存管理和更容易的连接将被保留下来,以便开发人员可以利用容器和 Java 运行时的优点,本质上,这是另一种形式的容器。预测 3:Kotlin 将成为热门编程语言Kotlin 有望成为编程界的一支主力军。 Kotlin的 简洁的语法和与 Java 的互操作性使它广受开发者的欢迎。 现在,它在 Android 上有了一流的支持,必将推动其在手机上的使用。 在 2018 年它将获得更大的发展空间。预测 4:新的版本发布计划将推动创新Java 新的发布计划意味着,今年将发布 Java 10 和 Java 11 两个版本。频繁的更新意味着,可以更快引入新的功能,更好地解决问题。大型组织可能会等待长期支持版的发布,现在他们有了清晰的线路图。社区支持可以围绕临时版的流行趋势展开。预测 5:无服务器将带来重大的 Java 重构无服务器平台的需求正在增长 - 最初是作为消费模型来驱动的,但现在正在从简单的事件编程模型扩展到基于复合流的系统。 随着云开发人员将重点转移到应用程序,而不必担心服务器,这种创新将继续下去。 这意味着 Java 运行时将需要进行优化和重构,以适应无服务器的世界。
01-17
2018
修修补补又一年,微信小程序的困局在哪里?
微信小程序上线了游戏,而一年前,微信团队还信誓旦旦的宣称小程序不做游戏。张小龙说,现在跳一跳小程序日活已经1.7亿。也就是说,上线小游戏,微信才有公开数据的勇气。当然,食言这事谁都干过,比如马云也说过绝不做游戏。不过,当小程序打开了游戏界面之后,也就意味着小程序走到头了,有人说是毕业了,或者是肄业了,不管怎样,小程序已经背离了初心。这一年,微信小程序一直都在折腾,提供的功能无所不有了,不断的调整能力,上线新应用,但依然只是宣传上火爆而已。如果说小程序还有救,那只能是因为腾讯而已。对于大多数互联网应用,上市即决定成败,即便腾讯用了所有力量力推,也很难。腾讯为什么要做小程序?基本上看,有几个主要原因。第一,腾讯的业务以游戏为主,虽然也做了很多努力,但始终效果不佳,如果无法摆脱这种发展模式,面对中国游戏产业3000亿左右的产值,天花板将是腾讯难以逾越的障碍,也是未来被阿里巴巴拉下的必然。所以,腾讯希望用小程序连接一切,最重要的是开发其他的业务出来,拓展生存空间。第二,腾讯的能力主要体现在线上,只要是纯线上的业务发展就会很好,反之就会折戟。要想改变这个状态,就需要新的抓手,基于微信和二维码,小程序有可能成为线上线下的连接器,这对腾讯是最重要的。第三,虽然本身叫“小程序”,但其实是腾讯在把应用做重。微信本身是以轻应用起家并占领手机客户端的,所以,过重始终是微信管理团队的担忧。不过,随着流量富裕时代到来,重应用不再是问题,而且,这几年移动互联网发展证明,靠拉规模做范围然后寻找商业模式的互联网方式在移动端都不成功,只有把应用做重,在应用中设计付费才是出路,微信也必须走这条路。所以,小程序的本来设计是,用完即走,简单明快,这样才能更多的涉及全社会,而不是沉湎于个别热点之上。从本质上说,小程序承载的是腾讯的线下梦想。如今,本来要给微信引流的小程序现在变成靠微信引流,这可不是腾讯的初衷,如今连初心都改了,只是维持一个公众预期和资本故事而已。我们看到,承载着为微信连接线上线下连接使命的小程序,最终火的反倒是一些线上的功能,如腾讯自家的“王者荣耀小程序”、“腾讯投票”、“群里有事”,以及一些基于社交的爆款小程序,如“匿名聊聊”和同样基于好友分享的电商类小程序,如“拼多多”等。如果非要拿出一个线上线下的,恐怕也只有摩拜,而摩拜至今还陷入死战,多项指标落后,生死未卜。从通信视角看,微信这种应用轻、用户端重就是管道化,微信让运营商管道化了,然后微信自己也管道化了,这是腾讯最不愿意看到的。微信既不敢也没有能力让客户端变轻,自己主动加重又怕成为最后一根稻草,所以,小程序采取了很多主动轻量级的措施,这是在试错,如果可以承受,小程序会逐步变重,否则就会淡化退出。小程序并非是利用微信流量,只是利用微信的装机量,还要承担为微信拉流量的任务。很多人都只是看到了微信流量大,却忽视了微信流量垃圾流量占多数,微信的单位流量变现价值极低,从微信电话本开始,微信一直在找提高流量价值的出路,有成功也有失败,总体看,不理想。最近一段,微信开始主动试探网络电话,这其实就是在管道化无奈的情况下的只得去争抢运营商的蛋糕。那么,为什么小程序即便得到了全腾讯资源的竭尽全力的推动依然效果不好呢?因为,小程序从本质上违背了腾讯之所以成功的理念,不再注重用户的产品体验,而是以自我商业目的为中心的提供漫天功能,需要具备阿里巴巴的强运营思维才可以但这却是腾讯最缺乏的。此前,腾讯所有成功的业务都是讲产品做到极致,然后利用其强大的社交媒体流量吸引用户进来,但是,小程序是个例外,一直在拉用户进来,然后再看大家的反应而改动产品特性和功能。有专业人士指出,尽管争议不断,但微信强推小程序的决心丝毫未见动摇:开放“搜一搜”入口、马化腾亲自站台乘车码、拉拢星巴克等大品牌、推出信用分等动作,都是为了推广小程序,上一次微信在一个产品上如此下力气,大概还要追溯到微信支付上线之时。如此用心,小程序却依旧低迷。一句话,“小程序不好玩”,这对以游戏起家的腾讯产品就是致命的。由此,什么添加音视频、加上游戏等等,都没有必要分析,下一步添加Vr添加AI也是如此,只是在强行用呼吸机维持小程序生命而已。好吧,既然不好玩就没有找到出路,那么,现在直接上了游戏,这不就好玩了吗?可是,微信或者微信小程序直接上了游戏,这不就等于将微信给QQ化,让腾讯在游戏化的道路上更加坚持,所为大连接变成了游戏链接,与曾经的设计是南辕北辙。
01-17
2018
Python语言,如何在人工智能和大数据时代中占绝对的优势
本文探讨了Python语言在AI领域的优势与运用。谁会成为AI 和大数据时代的第一开发语言?这本已是一个不需要争论的问题。如果说三年前,Matlab、Scala、R、Java 和  Python还各有机会,局面尚且不清楚,那么三年之后,趋势已经非常明确了,特别是前两天 Facebook 开源了 PyTorch  之后,Python 作为 AI 时代头牌语言的位置基本确立,未来的悬念仅仅是谁能坐稳第二把交椅。不过声音市场上还有一些杂音。最近一个有意学习数据科学的姑娘跟我说,她的一个朋友建议她从 Java 入手,因为 Hadoop 等大数据基础设施是用 Java 写的。无独有偶,上个月 IBM developerWorks  发表的一篇个人博客(https://www.ibm.com/developerworks/community/blogs/jfp/entry/What_Language_Is_Best_For_Machine_Learning_And_Data_Science?lang=en),用职位招聘网站indeed  上的数据做了一个统计。这篇文章本身算得上是客观公正,实事求是,但传到国内来,就被一些评论者曲解了本意,说 Python 的优势地位尚未确立,鹿死谁手尚未可知,各位学习者不可盲目跟风啊,千万要多方押宝,继续撒胡椒面不要停。在这里我要明确表个态,对于希望加入到 AI 和大数据行业的开发人员来说,把鸡蛋放在 Python 这个篮子里不但是安全的,而且是必须的。或者换个方式说,如果你将来想在这个行业混,什么都不用想,先闭着眼睛把 Python 学会了。当然,Python不是没有它的问题和短处,你可以也应该有另外一种甚至几种语言与 Python 形成搭配,但是Python 将坐稳数据分析和 AI 第一语言的位置,这一点毫无疑问。我甚至认为,由于 Python 坐稳了这个位置,由于这个行业未来需要大批的从业者,更由于Python正在迅速成为全球大中小学编程入门课程的首选教学语言,这种开源动态脚本语言非常有机会在不久的将来成为第一种真正意义上的编程世界语。讨论编程语言的优劣兴衰一直被认为是一个口水战话题,被资深人士所不屑。但是我认为这次 Python 的上位是一件大事。请设想一下,如果十五年之后,所有40岁以下的知识工作者,无分中外,从医生到建筑工程师,从办公室秘书到电影导演,从作曲家到销售,都能使用同一种编程语言进行基本的数据处理,调用云上的人工智能  API,操纵智能机器人,进而相互沟通想法,那么这一普遍编程的协作网络,其意义将远远超越任何编程语言之争。目前看来,Python  最有希望担任这个角色。Python 的胜出令人意外,因为它缺点很明显。替换高清大图它语法上自成一派,让很多老手感到不习惯;“裸” Python 的速度很慢,在不同的任务上比C  语言大约慢数十倍到数千倍不等;由于全局解释器锁(GIL) 的限制,单个Python 程序无法在多核上并发执行;Python 2 和 Python  3  两个版本长期并行,很多模块需要同时维护两个不同的版本,给开发者选择带来了很多不必要的混乱和麻烦;由于不受任何一家公司的控制,一直以来也没有一个技  术巨头肯死挺 Python 。所以,相对于 Python 的应用之广泛,其核心基础设施所得到的投入和支持其实是非常薄弱的。直到今天,26岁的Python 都还没有一个官方标配的 JIT 编译器,相比之下, Java 语言在其发布之后头三年内就获得了标配 JIT 。另一个事情更能够说明问题。Python 的 GIL 核心代码 1992 年由该语言创造者 Guido van Rossum 编写,此后十八年时间没有一个人对这段至关重要的代码改动过一个字节。十八年!直到2010年,Antoine Pitrou才对 GIL 进行了近二十年来的第一次改进,而且还仅在 Python 3.x  版本中使用。这也就是说,今天使用 Python 2.7 的大多数开发者,他们所写的每一段程序仍然被26年前的一段代码牢牢制约着。说到 Python 的不足,我就想起发生在自己身上的一段小小的轶事。我多年前曾经在一篇文章里声明自己看好 Python,而不看好 Ruby。大概两年多以前,有一个网友在微博里找到我,对我大加责备,说因为当年读了我这篇文章,误听谗言,鬼迷心窍,一直专攻 Python,而始终对 Ruby 敬而远之。结果他Python 固然精通,但最近一学 Ruby,如此美好,如此甜蜜,喜不自胜,反过来愤然意识到,当年完全被我误导了,在最美的年华错过了最美的编程语言。我当时没有更多的与他争辩,也不知道他今天是否已经从Python后端、大数据分析、机器学习和 AI 工程师成功转型为Rails快速开发高手。我只是觉得,想要真正认识一件事物的价值,确实也不是一件容易的事情。Python 就是这样一个带着各种毛病冲到第一方阵的赛车手,但即便到了几年前,也没有多少人相信它有机会摘取桂冠,很多人认为 Java 的位置不可动摇,还有人说一切程序都将用 JavaScript重写。但今天我们再看,Python 已经是数据分析和 AI的第一语言,网络攻防的第一黑客语言,正在成为编程入门教学的第一语言,云计算系统管理第一语言。Python 也早就成为Web 开发、游戏脚本、计算机视觉、物联网管理和机器人开发的主流语言之一,随着 Python 用户可以预期的增长,它还有机会在多个领域里登顶。而且不要忘了,未来绝大多数的 Python 用户并不是专业的程序员,而是今天还在使用 Excel、PowePoint、SAS、Matlab和视频编辑器的那些人。就拿 AI 来说,我们首先要问一下,AI 的主力人群在哪里?如果我们今天静态的来谈这个话题,你可能会认为 AI 的主力是研究机构里的 AI 科学家、拥有博士学位的机器学习专家和算法专家。但上次我提到李开复的 “AI红利三段论”明确告诉我们,只要稍微把眼光放长远一点,往后看三至五年,你会看到整个 AI  产业的从业人口将逐渐形成一个巨大的金字塔结构,上述的 AI 科学家仅仅是顶端的那么一点点,95% 甚至更多的 AI 技术人员,都将是AI  工程师、应用工程师和AI 工具用户。我相信这些人几乎都将被Python 一网打尽,成为 Python 阵营的庞大后备军。这些潜在的 Python 用户至今仍然在技术圈子之外,但随着 AI  应用的发展,数百万之众的教师、公司职员、工程师、翻译、编辑、医生、销售、管理者和公务员将裹挟着各自领域中的行业知识和数据资源,涌入 Python  和 AI 大潮之中,深刻的改变整个 IT,或者说 DT (数据科技)产业的整体格局和面貌。为什么 Python 能够后来居上呢?如果泛泛而论,我很可以列举 Python 的一些优点,比如语言设计简洁优雅,对程序员友好,开发效率高。但我认为这不是根本原因,因为其他一些语言在这方面表现得并不差。还有人认为 Python 的优势在于资源丰富,拥有坚实的数值算法、图标和数据处理基础设施,建立了非常良好的生态环境,吸引了大批科学家以及各领域的专家使用,从而把雪球越滚越大。但我觉得这是倒因为果。为什么偏偏是 Python 能够吸引人们使用,建立起这么好的基础设施呢?为什么世界上最好的语言 PHP 里头就没有  numpy 、NLTK、sk-learn、pandas 和 PyTorch 这样级别的库呢?为什么 JavaScript  极度繁荣之后就搞得各种程序库层次不齐,一地鸡毛,而 Python 的各种程序库既繁荣又有序,能够保持较高水准呢?我认为最根本的原因只有一点:Python 是众多主流语言中唯一一个战略定位明确,而且始终坚持原有战略定位不动摇的语言。相比之下,太多的语言不断的用战术上无原则的勤奋去侵蚀和模糊自己的战略定位,最终只能等而下之。Python 的战略定位是什么?其实很简单,就是要做一种简单、易用但专业、严谨的通用组合语言,或者叫胶水语言,让普通人也能够很容易的入门,把各种基本程序元件拼装在一起,协调运作。正是因为坚持这个定位,Python 始终把语言本身的优美一致放在奇技妙招前面,始终把开发者效率放在CPU效率前面,始终把横向扩张能力放在纵向深潜能力之前。长期坚持这些战略选择,为 Python 带来了其他语言望尘莫及的丰富生态。比如说,任何一个人,只要愿意学习,可以在几天的时间里学会Python基础部分,然后干很多很多事情,这种投入产出比可能是其他任何语言都无法相比的。再比如说,正是由于 Python 语言本身慢,所以大家在开发被频繁使用的核心程序库时,大量使用 C 语言跟它配合,结果用 Python 开发的真实程序跑起来非常快,因为很有可能超过 80% 的时间系统执行的代码是 C 写的。相反,如果 Python 不服气,非要在速度上较劲,那么结果很可能是裸速提高个几倍,但这样就没人有动力为它开发 C 模块了,最后的速度远不如混合模式,而且很可能语言因此会变得更复杂,结果是一个又慢又丑陋的语言。更重要的是,Python 的包装能力、可组合性、可嵌入性都很好,可以把各种复杂性包装在 Python 模块里,暴露出漂亮的接口。很 多时候,一个程序库本身是用 C/C++ 写的,但你会发现,直接使用 C 或者 C++  去调用那个程序库,从环境配置到接口调用,都非常麻烦,反而隔着一层,用其python 包装库更加清爽整洁,又快又漂亮。这些特点到了 AI  领域中,就成了 Python 的强大优势。Python 也借助 AI 和数据科学,攀爬到了编程语言生态链的顶级位置。Python 与 AI绑在一起,对它们来说,无论是电子商务、搜索引擎、社交网络还是智能硬件,未来都只是生态链下游的数据奶牛、电子神经和执行工具,都将听命于自己。替换高清大图对编程语言发展历史缺乏了解的人可能会觉得,Python 的战略定位是犬儒主义和缺乏进取心的。但事实证明,能同时做到简单而严谨、易用而专业,是很难的,而能够坚守胶水语言的定位,更是难上加难。有的语言,从一开始就是出于学术而非实用的目的,学习曲线过于陡峭,一般人很难接近。有的语言,过于依赖背后金主的商业支持,好的时候风光无限,一旦被打入冷宫,连生存下去都成问题。有的语言,设计的时候有明确的假想场景,要么是为了解决大规模并发,要么是为了解决矩阵运算,要么是为了做网页渲染模板,一旦离开这个场景,就各种不爽。更多的语言,刚刚取得一点成功,就迫不及待的想成为全能冠军,在各个方向上拼命的伸展触角,特别是在增强表达能力和提升性能方面经常过分积极,不惜将核心语言改得面目全非,最后变成谁都无法掌控的庞然大物。相比之下,Python 是现代编程语言设计和演化当中的一个成功典范。Python 之所以在战略定位上如此清晰,战略坚持上如此坚定,归根结底是因为其社区构建了一个堪称典范的决策和治理机制。这个机制以 Guido van Rossum (BDFL,Pythoners 都知道这是什么意思), DavidBeazley,  Raymond Hettinger 等人为核心,以 PEP 为组织平台,民主而有序,集中而开明。只要这个机制本身得以维系,Python  在可见的未来里仍将一路平稳上行。最有可能向 Python 发起挑战的,当然是Java。Java 的用户存量大,它本身也是一种战略定位清晰而且非常坚定的语言。但我并不认为 Java 有很大的机会,因为它本质上是为构造大型复杂系统而设计的。什么是大型复杂系统?就是由人清清楚楚描述和构造出来的系统,其规模和复杂性是外生的,或者说外界赋予的。而 AI 的本质是一个自学习、自组织的系统,其规模和复杂性是一个数学模型在数据的喂养下自己长出来的,是内生的。因此,Java大多数的语言结构对于大数据的处理和 AI 系统的开发显得使不上劲,你强的东西这里用不上,这里需要的东西你做起来又别扭。而 Python 在数据处理方面的简洁强悍早就尽人皆知。对比两个功能相同的 Java 和 Python 机器学习程序,正常人只要看两眼就能做出判断,一定是 Python 程序更加清爽痛快。大概在 2003 或者 2004 年的时候,我买过一本 Python 的书,作者是一位巴西人。他说自己之所以坚定的选择 Python,是因为他小时候经常梦到未来世界将由一条大蟒蛇(蟒蛇的英文为python)统治。我当时觉得这哥们好可怜,做个梦都能梦到这么恐怖的场景。但今天来看,也许他只是像黑客帝国里的程序员安德森一样,不小心穿越到未来,并且窥探到了世界的真相。Python 现已逐步在网络爬虫、数据剖析、AI、机器学习、Web  开发、金融、运维、检验等多个领域扎根强大。随着它的被认可程度逐步提高,学习并把握这门言语的人群份额越来越大,许多公司也将为抢占该领域高精尖人才做着殊死搏斗!能够说,未来谁具有人工智能领域的技术权威,谁将会具有新年代互联网最高话语权。那么,在此之中,学好Python,必将让你在编程生计中大刀阔斧,勇闯天边!Python无疑将会成为AI年代下的新宠儿,
01-17
2018
解Bug之路:记一次JVM堆外内存泄露Bug的查找
前言JVM的堆外内存泄露的定位一直是个比较棘手的问题。此次的Bug查找从堆内内存的泄露反推出堆外内存,同时对物理内存的使用做了定量的分析,从而实锤了Bug的源头。笔者将此Bug分析的过程写成博客,以飨读者。由于物理内存定量分析部分用到了linux kernel虚拟内存管理的知识,读者如果有兴趣了解请看ulk3(《深入理解linux内核第三版》)内存泄露Bug现场一个线上稳定运行了三年的系统,从物理机迁移到docker环境后,运行了一段时间,突然被监控系统发出了某些实例不可用的报警。所幸有负载均衡,可以自动下掉节点,如下图所示:登录到对应机器上后,发现由于内存占用太大,触发OOM,然后被linux系统本身给kill了。应急措施紧急在出问题的实例上再次启动应用,启动后,内存占用正常,一切Okay。奇怪现象当前设置的最大堆内存是1792M,如下所示:-Xmx1792m -Xms1792m -Xmn900m -XX:PermSi ze=256m -XX:MaxPermSize=256m -server -Xss512k查看操作系统层面的监控,发现内存占用情况如下图所示:上图蓝色的线表示总的内存使用量,发现一直涨到了4G后,超出了系统限制。很明显,有堆外内存泄露了。查找线索gc日志一般出现内存泄露,笔者立马想到的就是查看当时的gc日志。本身应用所采用框架会定时打印出对应的gc日志,遂查看,发现gc日志一切正常。对应日志如下:查看了当天的所有gc日志,发现内存始终会回落到170M左右,并无明显的增加。要知道JVM进程本身占用的内存可是接近4G(加上其它进程,例如日志进程就已经到4G了),进一步确认是堆外内存导致。排查代码打开线上服务对应对应代码,查了一圈,发现没有任何地方显式利用堆外内存,其没有依赖任何额外的native方法。关于网络IO的代码也是托管给Tomcat,很明显,作为一个全世界广泛流行的Web服务器,Tomcat不大可能有堆外内存泄露。进一步查找由于在代码层面没有发现堆外内存的痕迹,那就继续找些其它的信息,希望能发现蛛丝马迹。Dump出JVM的Heap堆由于线上出问题的Server已经被kill,还好有其它几台,登上去发现它们也 占用了很大的堆外内存,只是还没有到触发OOM的临界点而已。于是就赶紧用jmap dump了两台机器中应用JVM的堆情况,这两台留做现场保留不动,然后将其它机器迅速重启,以防同时被OOM导致服务不可用。使用如下命令dump:jmap -dump:format=b,file=heap.bin [pid]使用MAT分析Heap文件挑了一个heap文件进行分析,堆的使用情况如下图所示:一共用了200多M,和之前gc文件打印出来的170M相差不大,远远没有到4G的程度。不得不说MAT是个非常好用的工具,它可以提示你可能内存泄露的点:这个cachedBnsClient类有12452个实例,占用了整个堆的61.92%。查看了另一个heap文件,发现也是同样的情况。这个地方肯定有内存泄露,但是也占用了130多M,和4G相差甚远。查看对应的代码系统中大部分对于CachedBnsClient的调用,都是通过注解Autowired的,这部分实例数很少。唯一频繁产生此类实例的代码如下所示:@Override     public void fun() {             BnsClient bnsClient = new CachedBnsClient();           // do something     return  ; }此CachedBnsClient仅仅在方法体内使用,并没有逃逸到外面,再看此类本身public class CachedBnsClient   {     private ConcurrentHashMap<String, List<String>> authCache = new ConcurrentHashMap<String, List<String>>();     private ConcurrentHashMap<String, List<URI>> validUriCache = new ConcurrentHashMap<String, List<URI>>();     private ConcurrentHashMap<String, List<URI>> uriCache = new ConcurrentHashMap<String, List<URI>>(); ...... }没有任何static变量,同时也没有往任何全局变量注册自身。换言之,在类的成员(Member)中,是不可能出现内存泄露的。当时只粗略的过了一过成员变量,回过头来细想,还是漏了不少地方的。更多信息由于代码排查下来,感觉这块不应该出现内存泄露(但是事实确是如此的打脸)。这个类也没有显式用到堆外内存,而且只占了130M,和4G比起来微不足道,还是先去追查主要矛盾再说。使用jstack dump线程信息现场信息越多,越能找出蛛丝马迹。先用jstack把线程信息dump下来看下。 这一看,立马发现了不同,除了正常的IO线程以及框架本身的一些守护线程外,竟然还多出来了12563多个线程。"Thread-5" daemon prio=10 tid=0x00007fb79426e000 nid=0x7346 waiting on condition [0x00007fb7b5678000]    java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method) at com.xxxxx.CachedBnsClient$1.run(CachedBnsClient.java:62)而且这些正好是运行再CachedBnsClient的run方法上面!这些特定线程的数量正好是12452个,和cachedBnsClient数量一致!再次check对应代码原来刚才看CachedBnsClient代码的时候遗漏掉了一个关键的点!    public CachedBnsClient(BnsClient client) {         super();         this.backendClient = client;         new Thread() {             @Override             public void run() {                 for (; ; ) {                     refreshCache();                     try {                         Thread.sleep(60 * 1000);                     } catch (InterruptedException e) {                         logger.error("出错", e);                     }                 }             }     }这段代码是CachedBnsClient的构造函数,其在里面创建了一个无限循环的线程,每隔60s启动一次刷新一下里面的缓存!找到关键点在看到12452个等待在CachedBnsClient.run的业务的一瞬间笔者就意识到,肯定是这边的线程导致对外内存泄露了。下面就是根据线程大小计算其泄露内存量是不是确实能够引起OOM了。发现内存计算对不上由于我们这边设置的Xss是512K,即一个线程栈大小是512K,而由于线程共享其它MM单元(线程本地内存是是现在线程栈上的),所以实际线程堆外内存占用数量也是512K。进行如下计算:12563 * 512K = 6331M = 6.3G整个环境一共4G,加上JVM堆内存1.8G(1792M),已经明显的超过了4G。(6.3G + 1.8G)=8.1G > 4G如果按照此计算,应用应用早就被OOM了。怎么回事呢?为了解决这个问题,笔者又思考了好久。如下所示:Java线程底层实现JVM的线程在linux上底层是调用NPTL(Native Posix Thread Library)来创建的,一个JVM线程就对应linux的lwp(轻量级进程,也是进程,只不过共享了mm_struct,用来实现线程),一个thread.start就相当于do_fork了一把。其中,我们在JVM启动时候设置了-Xss=512K(即线程栈大小),这512K中然后有8K是必须使用的,这8K是由进程的内核栈和thread_info公用的,放在两块连续的物理页框上。如下图所示:众所周知,一个进程(包括lwp)包括内核栈和用户栈,内核栈+thread_info用了8K,那么用户态的栈可用内存就是:512K-8K=504K如下图所示:Linux实际物理内存映射事实上linux对物理内存的使用非常的抠门,一开始只是分配了虚拟内存的线性区,并没有分配实际的物理内存,只有推到最后使用的时候才分配具体的物理内存,即所谓的请求调页。如下图所示:查看smaps进程内存使用信息使用如下命令,查看cat /proc/[pid]/smaps > smaps.txt实际物理内存使用信息,如下所示:7fa69a6d1000-7fa69a74f000 rwxp 00000000 00:00 0  Size:                504 kB Rss:                  92 kB Pss:                  92 kB Shared_Clean:          0 kB Shared_Dirty:          0 kB Private_Clean:         0 kB Private_Dirty:        92 kB Referenced:           92 kB Anonymous:            92 kB AnonHugePages:         0 kB Swap:                  0 kB KernelPageSize:        4 kB MMUPageSize:           4 kB 7fa69a7d3000-7fa69a851000 rwxp 00000000 00:00 0  Size:                504 kB Rss:                 152 kB Pss:                 152 kB Shared_Clean:          0 kB Shared_Dirty:          0 kB Private_Clean:         0 kB Private_Dirty:       152 kB Referenced:          152 kB Anonymous:           152 kB AnonHugePages:         0 kB Swap:                  0 kB KernelPageSize:        4 kB MMUPageSize:           4 kB搜索下504KB,正好是12563个,对了12563个线程,其中Rss表示实际物理内存(含共享库)92KB,Pss表示实际物理内存(按比例共享库)92KB(由于没有共享库,所以Rss==Pss),以第一个7fa69a6d1000-7fa69a74f000线性区来看,其映射了92KB的空间,第二个映射了152KB的空间。如下图所示:挑出符合条件(即size是504K)的几十组看了下,基本都在92K-152K之间,再加上内核栈8K(92+152)/2+8K=130K,由于是估算,取整为128K,即反映此应用平均线程栈大小。注意,实际内存有波动的原因是由于环境不同,从而走了不同的分支,导致栈上的增长不同。重新进行内存计算JVM一开始申请了-Xmx1792m -Xms1792m即1.8G的堆内内存,这里是即时分配,一开始就用物理页框填充。12563个线程,每个线程栈平均大小128K,即:128K * 12563=1570M=1.5G的对外内存取个整数128K,就能反映出平均水平。再拿这个128K * 12563 =1570M = 1.5G,加上JVM的1.8G,就已经达到了3.3G,再加上kernel和日志传输进程等使用的内存数量,确实已经接近了4G,这样内存就对应上了!(注:用于定量内存计算的环境是一台内存用量将近4G,但还没OOM的机器)为什么在物理机上没有应用Down机笔者登录了原来物理机,应用还在跑,发现其同样有堆外内存泄露的现象,其物理内存使用已经达到了5个多G!幸好物理机内存很大,而且此应用发布还比较频繁,所以没有被OOM。Dump了物理机上应用的线程,一共有28737个线程,其中28626个线程等待在CachedBnsClient上。同样用smaps查看进程实际内存信息,其平均大小依旧为128K,因为是同一应用的原因继续进行物理内存计算1.8+(28737 * 128k)/1024K =(3.6+1.8)=5.4G进一步验证了我们的推理。这么多线程应用为什么没有卡顿因为基本所有的线程都睡眠在 Thread.sleep(60 * 1000);//一次睡眠60s上。所以仅仅占用了内存,实际占用的CPU时间很少。总结查找Bug的时候,现场信息越多越好,同时定位Bug必须要有实质性的证据。例如内存泄露就要用你推测出的模型进行定量分析。在定量和实际对不上的时候,深挖下去,你会发现不一样的风景!
01-17
2018
2018,怎么缓解大数据的尴尬
关于大数据,最近爆出的一个笑话:在电影业一次内部行业会议上,一位巨无霸级别的电影业发言人说:通过数据挖掘,我们发现不同观众的相关卖品偏好。比如《芳华》的观众比《战狼Ⅱ》观众消费了更多的热饮。这些都是之前我们不知道的,也是无法预测的。上面这样一个基于两部影片的观影数据分析得出来的结论,看似客观正确,实则因为模型不完善(缺少观影季节的考量)等原因,而闹出笑话。在近期,我们在给金融科技做盘点的时候,就发现大数据自身就是一个“尴尬”。我们找遍新闻,也没有发现这个词有什么特别值得说道的地方。只能靠着一点时政资料凑齐了这个关键词的盘点。2017年,大数据如此重要,却又如此没有料。大数据模型不完善,是因为根基不牢大数据一直不温不火,和他的发展缺陷有很大的关系。虽然大家极力看好它,但未能迎来行业的爆发。和一些做大数据的朋友聊天,他们甚至会很直白地吐槽自己家的数据模型。“那些所谓的数据模型之类的鬼东西,你只需瞄上一眼,就能头疼一整天。模型里的数据巨大无比,线索逻辑纷繁复杂。很多数据看似很重要却极其无聊,对结果判断毫无意义,食之无味弃之可惜,鸡肋一般的存在。”“说实在的,根本原因不在于技术的落后,而是整个行业的发展根基太浅,无法对数据的有效性进行勘误、归纳和合理解释。”“粗略地说,合理的大数据架构是,数据模型完善,能根据特定领域做出全面合理的数据精简,去掉无关数据和干扰数据,梳理出一条合理的客观建议,并根据数据分析师的主观判断和勘误,再总结出合理的结论,对相关行业做出准确的预判。”“现在呢?本来数据模型都存在这样和那样的漏洞,却还想着数据处理的完全自动化。”“而完全依靠客观数据,完成所谓的人工智能演算,那都是扯淡的事儿。”“刚才说的那个《芳华》和《战狼Ⅱ》的笑话其实就是一个看似客观,实则可笑的分析结论。”“这是因为,大家一说到大数据,就太拿数据想当然了。如果只靠着这点意识去做消费金融领域的数据分析,肯定有很多投资人被坑得底儿朝天!”“所以现在挣钱的还是那些靠着倒买倒卖用户资料的数据公司,一个数据包,加点水分,到处卖,收益无限。”“不过,最近似乎也没那么容易整了,因为官方越查越严,有些所谓的大数据公司搞不动了,怕是要凉了。”物联网或许是大数据公司的真正机会“除了行业经验的累积,还需要更多数据做线上支撑。”“当然,并不是说数据越多越好,而是说,线上的数据越丰富,越有利于我们组织有效数据。”“核心问题就在于,如何产生大量的有效数据。”“有效数据,简单了说,就某个领域,比如,消费金融领域的某一个小细分的消费品的相关数据,在合理组合和解构之后,对行业发展做出合理预判,对投资人预期负责的数据。否则,数据越大,负担越重,越成不了事儿。”积累经验到什么时候才算是个头呢?“或许要等到物联网时代的真正到来。”为什么?“物联网可以让更多的消费金融数据和物流数据线上化,个人消费信用信息也将进一步线上化,数据的归集和处理将更加高效和全面。”“不过,随着移动支付的快速发展,更多人的金融消费能力在线上就基本被呈现了出来,包括个人的消费习惯和个人征信信息都被线上化,而由此产生的物流信息、住房、贷款信息等都在逐步完成终极线上化,这些对大数据来说,都是极好的机会。”“大数据行业机会很大,但大数据是一个不稳定的行业,因为一切的数据都归结到机器里,而机器由人来掌控,相关的操作风险完全看自己的风险意识和人品。行业随时爆发大规模风险,运气好只影响数据安全,运气不好,很企业和个人的信用会破产。这会给行业,甚至整个社会带来巨大的灾难。”“因此,从业企业的相关准则需要进一步细化和规范,对人也需要有个职业操守方面的管制。”什么样的人怎么用数据,其目的和效果都是不一样的。这又和一个大数据相关的段子有点关系,正好段子开头,笑话结尾,也还算圆满。俺家钟点工说:“俺儿子又被老师训了。”俺问又咋啦?她说:学校请了个政法大学的教授来给孩子们讲课,说还是个名人呢,见天在电视上忽悠。他告诫孩子们不要打架,他说他统计过,打架斗殴死了的人百分之九十五以上都是先动手那个,然后问孩子们这是为什么?俺儿子说因为没死的说是死了的先动手的。