出家如初,成佛有余

领导重视、他人不服的处境该如何打破?

Posted in 管理杂思 by chuanliang on 2014/06/25

在知乎就《领导重视、他人不服的处境该如何打破?》做的回答。

背景:主角是一个女性朋友,国有事业单位,所在部门有三四十号人,人员结构:四五个离退休还有几年的领导+七八个野心勃勃的年轻中层+一堆年龄不等、没什么大志的基层人员。
这个朋友的工作能力和学历在中层里属于比较突出的,她和部门领导的私交也很好(领导是阿姨,经常喜欢带着她逛街、出差,有点忘年之交的意思),部门领导曾经暗示过将来退休后会让她接班,更高层的领导也比较欣赏她。
她现在的苦恼是:部门领导把很多涉及到整个部门和管理方面的事情交给她做,但是部门的几个老副职和其他有野心的年轻中层不太买账,作为一个中层她也不好意思开口支使其他人,加上本人也很要强,所以经常搞得自己很累。该如何打破这种有其事而无其权的尴尬处境呢?

 

由于题主强调了是国有事业单位,虽然与国企/国有事业单位有较多项目合作经历,但带过的团队主要都是IT、互联网行业的,对国企的“领导艺术”经验不多,仅供参考。

总体建议:韬光养晦,夹住尾巴做事;摆正心态、降低期望值;站好队;抓住领导重点工程做出业绩;持续修炼,强化核心能力,永不放弃;

 

韬光养晦夹住尾巴做事
接触过的诸多央企、国企,基 本上每一个部门后面的人都有深厚的背景关系(七大姑八大姨是某某某),即便是一个普通不起眼的角色都不能轻易得罪,否则上面一句话,可能就废掉美好前程, 多年拼命工作积累的口碑、业绩烟消云散。题主朋友所在单位应该类似,尤其是还有几个老副职在哪儿呆着,建议还是先夹住尾巴做事,不要太锋芒毕露。
对于那些老同志尽量以尊重的态度合作,不要先入为主带有成见去合作,设身处地想一下:这些老同志也曾经年轻过,也曾像我一样想做出一番事业,在这个大染缸下个体是如此渺小。

摆正心态、降低期望值:
虽 然与部门领导私交好,高层领导也欣赏,但国有事业单位有点油水部门的领导职位的任命纷繁复杂,肯定不单纯只是靠私人关系就能定的。不要因私交好而对私底下 口头的承诺寄予过高期望,否则期望越来,失望越大。在国企能混上一官半职的,对口头承诺未来的招数是比较擅长的:用胡萝卜激励有能力、听话的人,未来、未 来嘛,变化因素太多了,随便找个理由也冠冕堂皇的。
由于还年轻,不妨摆正心态,降低期望值,全力以赴去做人、做事。

 

站好队
国企、国有事业单位基本上有诸多派别存在,而站好队对未来职位晋升至关重要。如果是业务部门中层,能不卷入派系纷争更好;如果不可避免,只有押宝了,押宝后就坚持选择,不要当骑墙派。

抓住领导重点工程做出业绩
要成为部门领导,首先自己要给现在的领导、领导的 领导一个给你晋升的理由。由于是事业单位,领导的意志也需要有强力的业绩支撑,否则就会被扣上诸多帽子。而 “一把手工程”等公司级的重点项目是绝佳的机会。单靠每日的琐碎工作所积累的“没有功劳有苦劳”并不能成为有力的竞争工具。如果真的领导和高层领导器重, 类似机会他们应该会帮助创造的。
当然“墙外开花墙内香,出口转内销”也是一种有效手段,尤其是对很多企业、事业单位,对内看身边的人都是缺点一堆,看外面的专家们都是一堆光环。如果能够在行业内建立起一些名头,反过来影响内部也是一个方法。

持续修炼,强化核心能力,永不放弃
国有事业单位的晋升涉及太多因素,不单纯只是靠专业技能、业绩来说话的;要让那些老同志服气也非一日之功。涉及什么处世之道、官场厚黑学、领导艺术、讲话艺术等等,怎样修炼这些,非我所擅长,也就不献丑了。这些只能在实战中持续修炼自己。
但 不管怎样,在残酷的现实和关系丛林中,不要放弃自己的梦想和核心技能,如果上面没有强有力的关系做支撑,只能依靠自己的核心能力+拼命的工作来做出业绩。 其实还是那句老话:吃得苦中苦,方为人上人。有朋友也在大型央企呆,在极其年轻的时候就升为处长、成为集团总裁的心腹并掌管集团核心部门,但那其中付出的 辛劳只有其知道。
由于题主朋友比较好强,对未来事业肯定有雄心壮志,因此这里面涉及一个个人追求或职业生涯规划问题:是追求事业还是追求舒适的生活?这也算是个人持续修炼的内容之一。

http://www.zhihu.com/question/24215343/answer/27058939

Advertisements

微信关注即可使用 Wi-Fi,取消关注即断网的路由器是怎样实现的?

Posted in 移动互联网 by chuanliang on 2014/06/19

在知乎关于《微信关注即可使用 Wi-Fi,取消关注即断网的路由器是怎样实现的?》 问题做的回答。
问:微信关注即可使用 Wi-Fi,取消关注即断网的路由器是怎样实现的?最近看到这个公司的一款路由器,
珠海市微·商智能科技|MBI,自主研发
安装在店里后,打开微信关注企业微信账号即可免费wifi,取消关注就不能上网了。
这个是怎么弄控制的呢?

 

答:
@张强 的对原理描述得比较详细,尤其是在对 “普通微信三方oAuth授权认证”原理说明上。
按照“必智®微信关注即登录上网”的比较含混的白皮书说明,似乎不是“普通微信三方oAuth授权认证”。这里就自己理解做一些阐述。
声明:由于没有“珠海市微·商”的产品,无法验证其白皮书

http://www.mbisolution.com/products/weixinsys.php 中各种功能描述是否属实或有夸大成分,因此如下描述和推断不一定准确。
先大致说明一下涉及的几个概念和机制:
1、AC、AP以及ACL
做WIFI实施部署,涉及几个概念:AP、AC、无线路由器、认证,简单说来:
AP就是无线接入点。
无线路由器大致可以理解为:AP+路由
AC是用来管理AP用的,可以对AP进行集中式管理。这在诸如连锁店、大公司部署需要支撑上百个接入点以及复杂的控制措施(例如多级认证,微·商白皮书中提到的全国漫游)等就需要AC。
AC最重要的职能是完成对接入设备的认证、授权、计费(AAA),一般采用Radius协议来完成。认证、授权的凭证包括终端的MAC地址等等信息(Radius系统一般放在云端,大家常用的宽带拨号上网的认证都是基于Radius认证)。
终端设备要接入网络,必须在AC的ACL(访问控制列表中)有对应的匹配项,对终端的标识包括MAC地址、IP等信息。
一个粗略的通过微信认证上网的操作流程:
a、用户连接wifi,AC查看ACL列表中是否有对应的信息(主要是MAC地址),如果有效,则直接让用户上网;如果无,则给用户在ACL中临时增加一条有时间限制的记录,以便于在未经认证情况下,能够上微信完成对公众号的关注。
值得注意的是:ACL列表不一定是AC本地的,有可能是从中央Radius服务器获取的,例如在允许漫游的情况下。
b、用户关注公众号,完成认证和授权过程,AC获取用户的MAC地址等信息,从ACL中删掉用户未授权认证的临时上网记录并新增一条经过认证授权的记录,用户可以正常上网。
c、用户取消关注公众号,则从ACL中删除掉对应的记录
ACL的信息属于7层协议的网络层,并没有应用层的OpenID等信息。

2、公众平台“开发模式”

    如果在微信公众平台中将高级功能设置为“开发模式”,则在用户执行关注公众号、取消关注等操作时候,公众平台都会以事件方式通知“开发模式”定义的接口。
公众平台接口标识一个微信用户并不是使用用户微信号,而是用类似o0geNuJmbuDIwnMMCOhF6hFFLEqU这样的字符串,实际上就是OpenID(接口协议中的fromusername)。
而OpenID之类的信息在7层协议中是在应用层(第7层)
3、OpenWRT以及管理系统
目前各种智能路由器(极路由、果壳、小米等)都是基于OpenWRT系统。而对OpenWRT系统本身的管理都是基于wifidog等管理系统,可以与外部系统(例如微信公众平台)直接对接。
因此回到话题,最本质的问题其实就是:
AC是怎样来匹配ACL列表中的MAC和OpenID的呢?
由于不知道“必智®微信关注即登录上网”是否需要商家在公众平台中配置指向无线路由器(AC或AP)的接口地址,因此分成两种情况讨论:
1、如果需要配置,则:
由于有关注、取消关注等事件时候,都会有url地址通知AC的服务器,由于是TCP链接,在关注、取消关注的报文的TCP报文中本身就有MAC信息,在 HTTP报文中有OpenID信息,因此只需要在同一个报文中就能获得MAC和OpenID的对应关系。

2、如果不需要配置,则:

    由于要识别用户关注、取消关注事件的报文,在应用层并无明确的特征(url回调),此时后可以通过抓包获取关注、取消关注事件的报文,然后对符合符合特征的报文进行处理,并不难,但采用此种方式在维护较为麻烦,可能性不大。
与其他支持微信认证的智能WIFI(例如rippleos之类)解决方案的差异(个人感觉):
1、AC+AP一体化方案:其他厂商一般是根据用户接入规模大小,分为AP、AC+AP的方案,如果接入终端数少,则直接采用AP方案,如果规模较大,则采用AC+AP方式(AC和AP是独立的终端)。而必智的方案算是AC+AP一体化方案。
2、集中认证:应该采用了独立Radius系统,其他厂商较少提供多店集中认证、漫游的方案。
3、宣传策略更貌似高大上,技术上其他有OpenWRT自主研发能力的厂商也能做,但其方案在简化接入、面向多店集中认证上出发点确实不错,另外在整体解决方案上包装得更高大上。


http://www.zhihu.com/question/23667625/answer/26942557

知乎问答:这个故事里的轮回如何体现——宗教问题要在逻辑下讨论吗?

Posted in 管理杂思 by chuanliang on 2014/06/19

在知乎就《这个故事里的轮回如何体现——宗教问题要在逻辑下讨论吗?》 做的回答。

从事学佛/禅修、信耶稣基督等等信仰层面活动最大的陷阱/门槛是:试图用理性思维去演绎、推理所有信仰层面东西的逻 辑合理性。尤其是我们这些在所谓的“唯物主义”、“xx主义”熏陶下成长起来的。由于对人文方面知识极为欠缺,认为宇宙万物都是有固定的逻辑性和规律(佛 法认为:诸行无常,对应量子力学的测不准定律),因此我们更容易拿着“理性的锤子”去敲打所有自认为是“钉子”的东西。

 

虽然佛法尤其极其完美的逻辑体系,但个人认为:学习佛法初期先从最简单但最困难的“观心、观呼吸“等”行“开始,不要试图依赖固有的思维模式思辨来获得”知“来”悟道“。

科学和宗教信仰都是人类对这个世界(其实就是人自身)的认知方法,既然是方法,都有其局限性,佛法里有所谓:指向月亮的手指、渡人到达彼岸的摆渡比 喻。另外一方面,两者对世界/人的本质认知会有相同的。不存在科学战胜宗教、宗教战胜科学之说,两者可以和谐相处。这也是为何爱因斯坦、海森堡、牛顿等大 科学家晚年的哲学思考其实看起来都在讨论”上帝“。

本质上所有的宗教信仰都要解决因为“二元对立”所带来的“疆界”问题(你即是佛、一花一世界、事事无碍)。从亚里士多德起的计数、分类等理性思维对 人类认知这个世界、社会发展起到了至关重要作用,但同时加深了人类与这个世界万物的分离状态。而信仰终极要让你从这种“二元对立”、“思辨”中解脱出来。 禅宗的棒喝等貌似极端的做法其实也是要人从中解脱出来。可以说:上帝的归上帝,科学的归科学。建议可以看一下肯.威尔伯的《没有疆界》、《意识光谱》对此 有精彩的阐述。

回到题主与朋友探讨的问题,基本上所有宗教书籍都会讨论类似问题,解释角度有很多,可以在自我修炼过程中研读参考,在此不再讨论。个人觉得涉及了几个重要佛法观点:
1、你眼前的世界都是你自己创造的(你即是佛),你可以自由选择你的创造、你的体验(例如成为恶人)
2、诸法无我,你与世界其他都是一体的。你和恶人其实本质上是一体的,你眼中的恶人的”恶“其实就是你内心的投射。
3、时间、空间都是虚妄的,只有当下。

 

 

http://www.zhihu.com/question/24129101/answer/26808926

Tagged with: , , ,

PHP, Python, Node.js 哪个比较适合写爬虫?

Posted in 技术相关 by chuanliang on 2014/06/03

我在知乎关于《PHP, Python, Node.js 哪个比较适合写爬虫? 》做的回答

主要看你定义的“爬虫”干什么用。
1、如果是定向爬取几个页面,做一些简单的页面解析,爬取效率不是核心要求,那么用什么语言差异不大。
当然要是页面结构复杂,正则表达式写得巨复杂,尤其是用过那些支持xpath的类库/爬虫库后,就会发现此种方式虽然入门门槛低,但扩展性、可维护性等都奇差。因此此种情况下还是推荐采用一些现成的爬虫库,诸如xpath、多线程支持还是必须考虑的因素。
2、如果是定向爬取,且主要目标是解析js动态生成的内容
此时候,页面内容是有js/ajax动态生成的,用普通的请求页面->解析的方法就不管用了,需要借助一个类似firefox、chrome浏览器的js引擎来对页面的js代码做动态解析。
此种情况下,推荐考虑casperJS+phantomjs或slimerJS+phantomjs ,当然诸如selenium之类的也可以考虑。
3、如果爬虫是涉及大规模网站爬取,效率、扩展性、可维护性等是必须考虑的因素时候
大规模爬虫爬取涉及诸多问题:多线程并发、I/O机制、分布式爬取、消息通讯、判重机制、任务调度等等,此时候语言和所用框架的选取就具有极大意义了。
PHP对多线程、异步支持较差,不建议采用。
NodeJS:对一些垂直网站爬取倒可以,但由于分布式爬取、消息通讯等支持较弱,根据自己情况判断。
Python:强烈建议,对以上问题都有较好支持。尤其是Scrapy框架值得作为第一选择。优点诸多:支持xpath;基于twisted,性能不错;有较好的调试工具;
此种情况下,如果还需要做js动态内容的解析,casperjs就不适合了,只有基于诸如chrome V8引擎之类自己做js引擎。
至于C、C++虽然性能不错,但不推荐,尤其是考虑到成本等诸多因素;对于大部分公司还是建议基于一些开源的框架来做,不要自己发明轮子,做一个简单的爬虫容易,但要做一个完备的爬虫挺难的。
像我搭建的微信公众号内容聚合的网站
http://lewuxian.com就是基于Scrapy做的,当然还涉及消息队列等。可以参考下图:


23b58ecfcd42d2f0b26931b660ede44f_m


具体内容可以参考
一个任务调度分发服务的架构

 

地址:http://www.zhihu.com/question/23643061/answer/26322652

Tagged with: , , ,

微软小冰智能聊天是如何实现的?

Posted in 技术相关 by chuanliang on 2014/06/03

我在知乎关于《微软小冰智能聊天是如何实现的?》做的回答

 

刚好做过一个类似的产品,虽然没有那么高大上,但一些核心技术原理应该也参考意义,说一下做的思路。
类似小冰这样的产品说简单也简单,说复杂也复杂。单纯从外面看你会觉得小冰与去年人人网上流行的小黄鸡类似,但在技术实现上有本质的差异。
此类应用的大致流程都是:用户输入一段话(不一定只是单词)->后端语义引擎对用户输入的语句进行语义解析->推断用户最可能的意图->调用对应的知识库、应用、计算引擎->返回结果给用户。
1、最初级的实现方法:关键词匹配
建一个关键词词库,对用户输入的语句进行关键词匹配,然后调用对应的知识库。
此种方式入门门槛很低,基本上是个程序员都能实现,例如现在微信公众平台的智能回复、诸多网站的敏感词过滤就是此类。
但此种方式存在诸多问题,例如:
a、由于是关键词匹配,如果用户输入的语句中出现多个关键词,此时由于涉及关键词权重(与知识库的关键词对比)等等问题,此时关键词匹配的方法就不擅长了
b、不存在对用户输入语句语义的理解,导致会出现答非所问的现象。当然在产品上对回答不上的问题就采用卖萌的方式来规避掉。
c、基本上无自学习能力,规则只能完全由人工维护,且规则基本是固定死的。
d、性能、扩展性较差。还是上面的一句话中包含多个关键词的例子,采用普通程序语言来做关键词匹配,性能奇差。即便采用一些文本处理的算法来做(例如Double-array trie tree),也很难满足大规模场景需求。
2、稍微高级点的实现方法:基于搜索引擎、文本挖掘、自然语言处理(NLP)等技术来实现
相对于1的关键词匹配,此种实现方法要解决的核心的问题可以大致理解为:根据一段短文本(例如用户问的一句话)的语义,推测出用户最可能的意图,然后从海量知识库内容中找出相似度最高的结果。
具体技术实现就不细说了。举一个很粗糙的例子来简单说一下此种实现方法处理的思路(不严谨,只是为了说明思路)。
假如用户问:北京后天的温度是多少度?
如果采用纯搜索引擎的思路(基于文本挖掘、NLP的思路不尽相同,但可参考此思路),此时实际流程上分成几步处理:
1、对输入语句分词,得到北京、后天、温度3个关键词。分词时候利用了预先建好的行业词库,“北京”符合预先建好的城市库、“后天”符合日期库、“温度”符合气象库
2、将上述分词结果与规则库按照一定算法做匹配,得出匹配度最高的规则。假定在规则库中有一条天气的规则:城市库+日期库+气象库,从而大致可以推测用户可能想问某个地方某天的天气。
3、对语义做具体解析,知道城市是北京,日期是后天,要获取的知识是天气预报
4、调用第三方的天气接口,例如中国天气网-专业天气预报、气象服务门户 的数据
5、将结果返回给用户
以上例子其实很粗糙,实际上还有诸多问题没提到:语义上下文、语义规则的优先级等等。
例如用户上一句问:北京后天的温度是多少度?下一句问:后天的空气质量呢?这里实际上还涉及语义上下文、用户历史喜好数据等等诸多问题。
此种处理方法存在的最大问题:规则库还主要依赖于人工的建立,虽然有一定的学习能力,但自我学习能力还是较弱。可以借助一些训练算法来完善规则,但效果并不是很好。而这也是目前流行的深度挖掘技术所擅长的。
3、当下时髦且高级的玩法:基于深度挖掘、大数据技术来实现
这是cornata、google now等后端的支撑技术,至于小冰,感觉应该是以2为主+部分领域知识的深度挖掘。
下图是自己做的产品的架构图,供参考:

 

a4d821b41a189f03227721a8794d5947_m

 

地址:http://www.zhihu.com/question/23952075/answer/26243159