【畅言】公司应不应该禁止程序员上网?

近来V众投上大家讨论了公司应不应该禁止员工上网这个问题,这似乎是个不用讨论其傻无比的问题,但现实中在这点上却极为分裂,就我个人观感,做传统软件、外包、电信的更容易选择封杀堵截,而做互联网的则比较开放,估计现在是不只允许甚至还得帮助翻墙,要不然Google Calendar什么的没法用。

上不上网背后的两难

就像问题中讨论的,不允许上网主要应该就是两个原因,一个是信息安全;一个则是希望提高效率。所谓提高效率则是因为考虑允许上网,员工可能会更多的去访问淘宝等网站。上网的好处也比较明显,比如全面的检索各种信息,提高工作效率和视野等。

前者的担心也是一种事实,因为很多网站都曾经提到一般来讲平日的点击要远高于周末的点击,这可以从侧面说明提高效率一说并不是纯粹的空穴来风。

这似乎有点两难,那怎么样才是一种更合理的处理方式?

禁止程序员上网是极为愚蠢的

首先必须指出的是禁止程序员上网是极为愚蠢的,不管有多少理由,绝不在合理方式的备选项之中。因为它所可能带来的伤害长线来看一定会远超过它所可能带来的收益。如果非要类比的话,这很可能更像明清两代的闭关锁国与封关禁海,未必不解决具体的某个问题,但长线来看则可能成为鸦片战争这类事情的直接推动力。这也就意味着一个有长期视角的公司,无论如何不应该采取这个手段来解决信息安全以及专心工作的问题。

为避免上述结论显得过于武断,这里做一些进一步的补充。

现在的技术世界更像是一个开放系统,每个人都在其中获取与给予,每个人都需要在这样的分享过程中成长,断开与这系统的联系则等价于断开与技术潮流的联系,停止员工的知识更新。具体来讲如果一个公司一直封闭,那它可能就一直只知道要用ASP.net Webform来做Web应用,不知道有人在搞前端框架,不知道还有一种数据库类型叫NoSQL,这不很可怕么,长线来谁能承担这种后果?当年曾经有一个开窗户进苍蝇的比喻,说的也是这类情形,这时候更合适的方法是开窗打苍蝇或者上合适的纱窗,而不是把窗口关上,把自己做成一个封闭系统并闷死自己。

更不合理的是在一个强调培训的公司来做这种事情,这就更加矛盾,解决问题的同时提升自己,探索新的技术世界无疑的是最好的提升技能方式。可一旦断网,就等于断了这条高效的路径。可有人知道Linux下联网安装一个开源应用与断网安装一个应用差别有多大,很多时候这是10分钟与一周的差别。

考虑代替的解决方法

公司更应该在联网的前提下考虑解决问题的方式,而不是一有问题就立刻简单粗暴的断网。那究竟什么样的方式更理想?

安全和效率更多的是IT和管理层的责任。从信息泄露的角度看,强化IT监控比断网是更有效的方式。IT上加大投入是一次性的,而断网对工作效率的影响则是永久性的。

对于提升效率问题,则更不能断网,而是适合把它打造成一个指示器。我们需要承认工作时的上网记录,公司是有权知道和分析的,也有权根据特定规则对不合适的上网行为进行批评。甚至可以基于这个提炼来设定一个指标,不是用来批评员工如何,而是用来检测所谓的各种高级管理方法是否有效。如果采取的各种关于激励的措施确实有效,增加了员工对工作的认可程度,那访问工作不相关网站的指标是应该呈现下降趋势的,这指标其实很难得可以避免很多因为很难度量而产生的自吹自擂,自欺欺人。但这需要管理层有点担当,因为这样做相当于对公司有利,但对很多管理者没利。

衍生问题:手机该如何处理

随着时代的发展,喜欢武断禁止上网的立刻就遇到了下一个麻烦:随着智能手机的普及,如果PC被禁止了,大家就用手机么?按照之前的思路,这次要禁止手机了。但这个会比较麻烦些,禁止使用手机对个人生活伤害太大,很多公司会比较犹豫,所以事情就陷入僵局了。手机与使用公司PC上网的关键差别在于手机似乎只影响效率,只要不接入公司网络对信息安全影响会小些。所以现状是很多人在这个事情上纠结着,但想不出有效方法。其实这可以用与上面类似的方法处理,把它作为一种管理有效性的指示器,同掌握许多很牛的词相比,这是真正考验管理者能力的地方。

云主机大派送活动!

只要转发http://weibo.com/5230887199/BgeVOwQv3?mod=weibotime这条微博,并关注@YUNVM云主机,您就有机会获得YUNVM云主机赠送的普及型套餐机器,一共送出30台,机会难得不容错过!如果届时转发数超过1000,我们还将抽取一名用户赠送价值399的电信特惠尊享C套餐!

浅谈Apache Spark的6个发光点

1. 轻量级快速处理。着眼大数据处理,速度往往被置于第一位,我们经常寻找能尽快处理我们数据的工具。Spark允许Hadoop集群中的应用程序在内存中以100倍的速度运行,即使在磁盘上运行也能快10倍。Spark通过减少磁盘IO来达到性能提升,它们将中间处理数据全部放到了内存中。

 

Spark使用了RDD(Resilient Distributed Dataset)的理念,这允许它可以透明的内存中存储数据,只在需要时才持久化到磁盘。这种做法大大的减少了数据处理过程中磁盘的读写,大幅度的降低了所需时间。

2. 易于使用,Spark支持多语言。Spark允许Java、Scala及Python,这允许开发者在自己熟悉的语言环境下进行工作。它自带了80多个高等级操作符,允许在shell中进行交互式查询。

3. 支持复杂查询。在简单的“map”及“reduce”操作之外,Spark还支持SQL查询、流式查询及复杂查询,比如开箱即用的机器学习机图算法。同时,用户可以在同一个工作流中无缝的搭配这些能力。

4. 实时的流处理。对比MapReduce只能处理离线数据,Spark支持实时的流计算。Spark依赖Spark Streaming对数据进行实时的处理,当然在YARN之后Hadoop也可以借助其他的工具进行流式计算。对于Spark Streaming,Cloudera的评价是:

 

 

  • 简单:轻量级且具备功能强大的API,Sparks Streaming允许你快速开发流应用程序。
  • 容错:不像其他的流解决方案,比如Storm,无需额外的代码和配置,Spark Streaming就可以做大量的恢复和交付工作。
  • 集成:为流处理和批处理重用了同样的代码,甚至可以将流数据保存到历史数据中。

 

5. 可以与Hadoop和已存Hadoop数据整合。Spark可以独立的运行,除了可以运行在当下的YARN集群管理之外,它还可以读取已有的任何Hadoop数据。这是个非常大的优势,它可以运行在任何Hadoop数据源上,比如HBase、HDFS等。这个特性让用户可以轻易迁移已有Hadoop应用,如果合适的话。

6. 活跃和无限壮大的社区。Spark起源于2009年,当下已有超过50个机构250个工程师贡献过代码,和去年六月相比,代码行数几乎扩大三倍,这是个令人艳羡的增长。