‘他山之石’ Category Archives
一
第25次中国互联网络发展状况统计报告
作者: boke ,分类: 他山之石
昨天,CNNIC发布了最新的《中国互联网发展统计报告》,对过去一年中国互联网的发展进行了系统的统计。虽然CNNIC的历次报告在调研方法和数据采集上都存在广泛的争议,其仍然不失作为考察中国互联网发展的重要参考。今早下载下来了,正在研读。
下载地址:
十
腾讯的产品管理之道
作者: boke ,分类: 他山之石
一周前看到一文,想想还是留个记录吧,学习学习,原文地址http://firecacada.blog.163.com/blog/static/7074376200991592337999/
最近看了一些讲腾讯产品管理体系的文章,虚实都有,恰好有个同事以前在腾讯工作,能提供第一手的资料。于是今天下午开了1小时会议,专门讨论腾讯的管理之道,发现有这么几点处理得很好。
1、 设置一个质量监控小组,由经验非常丰富的高Level的产品人员构成,赋予他们很大的权力,去监控和规范所有的产品项目。并且用KPI来制约产品项目服从 这些规范。为了不搞教条主义,很多规范都是在立项之初,由项目经理和这个小组共同确认的,未必是硬性指派,一经确认就受到严格监控。确保好的规范不流于空 喊口号。
2、每个产品都设置公开的反馈论坛,突出外部入口,积极征询用户意见,并以内部轮班方式回复“每一条”有价值的反馈,要求以“人 对人,面对面”的沟通态度来进行解答,禁止机械问答。公司高层(包括小马哥)不定期巡查每一个产品论坛,一旦发现有不认真回复用户的情况,立即予以训诫。 确保产品人员与用户长期保持近距离接触。
3、每个产品都设置内部的交流平台,分为两部分,一块类似留言板,由产品主管发布项目的进度、动 态;另一块是论坛,向公司内部所有人开放,接纳反馈。在腾讯内部已经形成了非常活跃的氛围,甚至以该平台人气高涨为荣(至少你主管会喜欢这个),利用这个 平台跨项目提意见,或是项目组内部交流思维碎片都很常见,达到了群策群力,内部监督的效果。
4、设置产品架构师这样一个职位,由少数几个技术精英,负责所有项目的系统架构搭建,只搭架构,确保每个项目的底层合理性。
5、 执行项目总结制度,在每个版本上线后,由相应的策划-开发-测试人员开一个会,每个人都总结在这个版本过程里,有什么心得,有什么失误,可以怎么改善,尤 其注意改进三方人员的配合过程。用制度的方式来强制反省,强制跨职能沟通。几个版本下来,项目效率就会有明显的提高。
6、执行灰度发布政策非常之彻底,一个版本会经过若干级的内部测试,再向外部用户逐步放量升级,不断修正问题之后,最后进行大规模发布。确保提前发现问题,受影响的用户面尽可能小。与此同时,腾讯异常活跃的内部交流氛围,也能让产品在内部测试时得到较多专业反馈。
7、拥有背靠客户端,强大的数据挖掘功能,具体描述起来比较复杂,总之非常强大,数据细致到令人吃惊的地步。数据挖掘部门的地位也是相当高的。我以前说过“统计数据太单薄无法推导出可靠结果”这样的话,但在腾讯的数据挖掘机能面前,这句话恐怕要改口。
8、设置对新人和新项目的风险管理机制,比如3个老程序员带1个新程序员,将技术管理和具体开发的工作彻底分离,每周进行代码走读,对新产品采取格外严格的测试安排等等,使得缺乏经验带来的技术损害被降至最低。
其他还有一些大路货的东西,一些理想化的不可靠的东西,就不讲了。令我感慨并且佩服的,就是以上八点。不是佩服腾讯能做这八件事情——要说想法,我都能够想 到,我也有自己的一套项目管理团队建设的技巧。但腾讯从公司层面,从最高领导人的层面,身体力行地把产品管理的专业准则给贯彻下去,用多种监控手段来避免 其放空炮,令产品管理制度化,体系化,好的经验在内部流通开来,成为一种积极向上的约束力,带来整个大产品团队的合力,而不是任由项目经理各自摸爬滚打。 马化腾带着一大批产品高管自上而下,持之以恒地推动产品本位的管理体制规范化,并不断地创新和优化这套体制,使得整个公司上上下下融入了“产品的基因”, 最终成就了“产品的腾讯”。
11-03更新:
三
MySQL的select语句详解
作者: boke ,分类: 他山之石
写了这么长时间代码,一直都是用select,都没有过insert,update,delete,收集这篇文章,研究一下
From:流水涵清——活力水世界
原文地址:http://www.wxwdesign.cn/article/304.htm
数据表都已经创建起来了,假设我们已经插入了许多的数据,我们就可以用自己喜欢的方式对数据表里面的信息进行检索和显示了,比如说:可以象下面这样把整个数据表内的内容都显示出来
select * from president;
也可以只选取某一个数据行里的某一个数据列
select birth from president where last_name=’Eisenhower’;
select语句的通用形式如下:
select 你要的信息
from 数据表(一个或多个)
where 满足的条件
select语句有几个子句,他们的各种搭配能帮你查出最感兴趣的信息,这些子句可以很简单,也可以很复杂,看看作者是如何详细讲解的
1、用各种操作符来设定检索条件
要想让select语句只把满足特定条件的记录检索出来,就必须给它加上where字句来设置数据行的检索条件。只有这样,才能有选择地把数据列的取值满足特定要求的那些数据行挑选出来。可以针对任何类型的值进行查找,比如说,对数值进行搜索
select * from score where score>95; //显示所有分数在95分以上的信息
也可以针对字符串值进行查找
select last_name,first_name from president where last_name=’Tom’; //找出所有姓tom的总统
还可以对不同类型的值进行组合查找
select last_name,first_name,birth,state from president
where birth<’1950-1-1’ and (state=’VA’ or state=’BA’);
//找出1950年前出生于VA州或BA州的总统
可见 where子句中可以使用的是算术操作符(+-*/%),比较操作符(<>=)以及逻辑运算符,我们应该熟练理解这些操作符的含义(都很简单)
2、NULL 值的特别处理
这是一种不属于任何类型的值。它通常用来表示“没有数据”“数据未知”“数据缺失”“数据超出取值范围”“与本数据列无关”“与本数据列的其它值不同”等多种含义。在许多情况下,NULL 值是非常有用的。
我们的各种操作符是不能对NULL 值进行处理的,如果相对NULL 值进行查找,用的是 is null 或 is not null 来进行判断,举例如下:
select last_name,first_name,birth,state from president
where death is null; //找出所有没死的总统
在某些情况下,NULL 值是很有用的类型,大家慢慢就会理解的。
3、查询结果进行排序
一般说来,如果创建了一个数据表并向里面插入了一些记录,当发出一条select * from name命令的时候,数据记录在查询结果中的先后顺序通常与它们被插入时的先后顺序一样.这当然符合我们的思维习惯.但这只是一种"想当然"的假设而已,事实上,但记录被删除时,数据库中会产生一些空的区域,MYSQL会用新的记录来填补这些区域,也就是说,这个时候本假设就不正确了.因此我们必须记住一点,从服务器返回的记录行的先后顺序是没有任何保证的!如果想要按照一定的顺序,就必须使用order by 子句来设置这个顺序.
select last_name,first_name,birth,state from president
order by last_name; //让总统们的名字按字母顺序排列
还可以设置排列的升序降序
select last_name,first_name from president
order by state DESC,last_name ASC;
//先按照出生地的降序排列,同出生地的按照姓氏的升序排列
注意:如果结果中含有NULL 值,默认情况下他们总是出现在查询结果的开头。
4、限制查询结果中数据行个数
这个简单,只要用limit 子句就可以了,看两个例子:
select last_name,first_name,birth,state from president
order by birth limit 5; //只想看前5个
order by birth limit 10,5; //返回从第11个记录开始的5个记录(跳过了10个)
小技巧:从president表中随机找出一个总统来玩:
select last_name,first_name,birth,state from president
order by rand() limit 1; //这是用了表达式求值的方法,在哪里都管用
Read the rest of this entry »