少壮不努力,长大搞IT

很多人认为搞IT的都是高薪,这就是外界一直认为  高新技术产业==高薪技术产业。

现在越来越多的问题就是大量的年轻人涌入这个行业,然后成为现在一个外表光鲜,内部悲催的局面。

IT这个行业现在看来是年轻人的天下,现在的主力应该是80后这一代了,然后后续的主力必然会是90后,很多人都认为搞IT是一件很轻松的

事情,但是真正做这一行才发现这种喜感正在逐渐的消退。

我记得我上学那个时候,我所认识的程序员都是很让人羡慕的,但是几年后,当我毕业跨入这个行业发现一切都变了。

我也曾不止一次的被问到,你什么时候能不加班?我自己也很没底气的说这段时间太忙,过段时间就好。

我也不止一次的想,到底是怎么了,看看我们国内知名的IT企业,加班似乎是一件很平常的小事。

前段时间去深圳总部培训,晚上回酒店的路上发现,虽然深夜了,边上的大楼里面依旧灯火通明,楼下的出租车成群。

到底是哪里的问题呢?虽然加班无可厚非,但是如果天天加班我们就需要深思,到底是工作哪里出现了问题。

曾记得和几个朋友做了一些项目,那时候的感觉就是效率和成就,随着现在项目的越做越大,留下的只剩下深深的痛苦和无止尽补丁。

我们的IT总是在跟着业界的步伐走,当我们的团队越来越大,项目越来越复杂的时候你才会觉得,每一个人都是项目的关键节点,这就是木桶

理论。

不是你一个人是天才,高手就能怎么样,最大的问题还是取决于最短的那个模板。这两年也带过一些队伍,最大的感触就是团队成员越来越年轻,

但是难度缺越来越大。

我觉得技术能力是可以培养的,虽然做不到天才级别,但是起码中规中矩还是能达到的,最终要也是最关键的是态度问题。

怎么端正你的态度,怎么融入团队,怎么团队协作而不是单兵作战,因为一个人的失误或者疏忽导致整个团队的加班和抱怨。

我觉得IT不应该是这样,无止尽的BUG修改和需求变更,因为这样唯有加班而没有任何的出头之日。

团队中的每个成员在工作前可以先静静的想两分钟,多构思一下框架,多想想方向,多站在用户的需求角度出发,这样可能回想在用户前面,

这样就不会带来需求的无止境变更,也不会带来无止境的补丁。

大家都加油吧,别让别人调侃,少壮不努力,长大搞IT。

知名网站的技术发展

看了Programmer的知名网站的技术发展流程,感慨万千,互联网的发展虽然经历了起起伏伏,也才不过十几年的时间,而互联网生可多少又死了多少,我们无法得知了,经过这十几年的发展,存活下来的网站自然有他们

的方式,有新兴的,有老牌的,我们在这个发展的洪流中,真的太过于稚嫩和单薄了。

Google

诞生于1997年,1999年增加了一个Cache Cluster,2000年Google开始自行设计DataCenter,2001年Google对Index进行的修改,所有的Index放到了内存中.

2003年发表了 Google Cluster Architecture 其Cluster结构组成为硬件LB+Index Cluster+Doc Cluster+大量的廉价服务器。

2004年,Google对Index的格式进行了修改,通过MapReduce+大量廉价的服务器既可以实现小型机,中型机或者大型机才能完成的任务。

2006年,Google发表了关于BigTable的论文,对于海量数据的分析起到很大的帮助。在一些场景中,Google同样使用Mysql作为数据存储。,同样Google对Mysql进行了很多修改。

2007年,Google将build索引的时间缩短到几分钟。Google的一次搜索大概需要调用内部50个以上的Service,Service主要用C++或者java来编写。

2009年,Google发表《How Google uses Linux》,之后研发了Colossus,Spanner,除了海量数据相关技术上的革新外,Google也不断对业界的传统进行创新。

在Google的发展过程中,技术主要围绕在 可伸缩性,性能,成本,和可用性四个方面。

Facebook

采用LAMP构建,我想很多人都知道,LAMP非常流行,我们不做过多的阐述了,我们知道facebook的发展非常迅速,LAMP根本不能胜任了,于是脸谱增加了Memcached,只有又增加了Service层,将News Feed、Search等功能作为Service

提供给前端PHP,针对不同的Service采用不同的语言,例如,C++,Java,Erlang。

而后Facebook发现PHP的消耗问题,研发了HipHop,可以自动的将PHP转换成C++代码,相同的配置支撑的请求是之前的6倍。

2009年研发了BigPipe。对于存储MySQL中的数据,蚕蛹垂直拆分库和水平拆分表的方式来支撑不断增长的数据量。

2011年,尝试从MySQL迁移到HBase。

在Facebook的发展中,主要围绕在可伸缩性、性能、成本和可用性四个方面。

Twitter

2006年诞生,采用Ruby On Rails + MySQL构建的,

2007年增加了Memcached作为Cache层。

2008年Twitter决定逐步往Java迁移,选择了Scala作为主力开发语言,理由是:难以向一层子的Ruby程序员推销Java :)

eBay

1995年诞生,采用CGI,数据库是GDBM,只能支撑5万件商品。

1997年,eBay将OS从FreeBSD迁移到Win NT,将数据库改为Oracle。

1999年,eBay将前段系统改造为Cluster。

2001-2002年,eBay将数据库进行了水平拆分。

2002年,将整个网站迁移为Java构建。

从eBay的发展来看,主要围绕可伸缩性和可用性两点。

Tencent

QQ虽然一路走来都是模仿路线,但是我想如果没有技术创新,一味的模仿也是无法发展的。

2009年到现在,腾讯决定对QQ IM重构,数据存储也不再存储与MySQL中,而是全部存储在自己设计的系统里。

从QQ IM的技术演变来看,其技术改造是围绕在可伸缩性和可用性上。

淘宝网

2003年诞生,直接购买了phpAction的软件。

2004年将系统由PHP迁徙到Java,MySQL迁徙为Oracle,应用服务器采用WebLogic。

2005年-2007年发展中,JBoss替代了WebLogic,对数据库进行了分库,基于BDB做了分布式缓存,自行开发了分布式文件系统TFS,并自建CDN。

2007-2009年,对应用系统进行垂直拆分,拆分的系统都已Service的方式对外提供,对数据进行了垂直和水平拆分。

进行数据拆分后,Oracle的成本越来越高,于是数据逐渐从Oracle迁移到MySQL,同时开始采用HBase来支撑历史交易订单的存储和检索。

近几年,淘宝开始对Linux内核,JVM,Nginx等软件进行修改定制。

从淘宝的发展过程来看,围绕可伸缩性和可用性,现在也将精力投入在性能和成本上。

 

从上面互联网精英的历史演变过程中,我们不难看出,可伸缩性,可用性,性能以及成本一直是互联网发展的技术核心。

我见过很多人在争论Java和PHP,亦或者使用Tomcat,WebLogic ,MySQL和Oracle,我想说这些都没有什么好争论的,适合自己的才是最好的,同时技术和模式都是不可能照搬照套的,需要自己来进行创新。

我总觉得自己该做些什么了,我想现在应该不算晚了。让我们努力吧:)

 

这里留下一些资料,有情趣的可以自己去研究了。点击下载

 

 

Hello Node.js

What’s node.js 嘿嘿 ,这不是我们讨论的话题了,有兴趣自然回去研究,其实我也刚在了解。

手痒痒,于是在服务器上写个Hello  Word。

环境:Centos5+ 32bit

那么我们首先需要搭建环境对不对?

1
2
3
4
5
6
yum install gcc-c++ openssl-devel make
wget -c http://nodejs.org/dist/v0.6.17/node-v0.6.17.tar.gz
tar zxvf node-v0.6.17.tar.gz
./configure  
make  
make install

那么下来我们来写个Hello Word ,顺便来验证我们的Node环境。

hello.js

1
2
3
4
5
6
var http = require('http');  
http.createServer(function (req, res) {  
  res.writeHead(200, {'Content-Type': 'text/plain'});  
  res.end('Hello Node.js');  
}).listen(8888, "localhost");  
console.log('Server running ......');

这里大家注意一下,如果你是本地的环境,localhost 或者 127.0.0.1 都可以,但是如果你在服务器端来运行的话,就填写你的服务器IP地址吧。

然后就是运行我们的程序

node hello.js
成功的话你应该可以看到Server running ……

然后在你的浏览器输入http://localhost:8888

运气不是很糟的话,你应该可以看到你想看到的东西鸟?

是不是很简单,那么什么是node.js 他会代替谁呢?又或者我们在什么地方又有了解决方案:)

移动互联网,云计算,安全

我认为当今互联网的圈子热衷的话题无非三个:移动互联网云计算安全

无论是移动互联网,还是云计算安全都是一个首要的问题,然而我们的安全意识还是很淡薄,从之前各大网站的拖库门事件就能看出。

事件一出很多人骂娘,难道程序员不知道用明文的危险性?我想应该有其他的原因,或上头指明,或心存鬼胎。

但是无论哪种猜测这件事也终将过去,我们只是想说,用户名和密码的方式进行权限验证是最不安全的方式了,至于那种方式安全,

我觉得见仁见智吧。

就如同移动互联网发展至今,我觉得现在是时候把移动支付推到一个顶峰,这样的话安全就尤为的重要了。

如果是支付宝是PC支付的一个标杆的话,那么移动支付又将何去何从?从我个人来讲,支付宝和paypal的安全简直不是一个量级的,

支付宝根本不存在任何的安全性。怎么讲?我们从支付宝骗来一笔资金,可以很方便的分流出去,而支付宝方面只会爱莫能助或者咬死了说

这个是你的问题,我们有提示,我们有证书,我们也有权限验证,我觉得这就是在混淆视听,我们并没有说是帐户被盗,而是被骗。

被骗之后我们希望的是支付宝方面能有些作为让我们的损失降到最低,然后结果总是让人很失望的。因为我从支付宝的客服学到,你如果

有笔来源不明的资金,最快最安全的洗白方式就是使用虚拟充值卡来套现,安全方便不留痕迹!!!

然后从paypal的角度来说,如果你登录的IP地址就很异常的话,很可能会遭遇到帐户锁定,这样就不难理解了,如果你此时在米国,登录,突然

在其他国家或地区登录的话,很可能遭到帐户被盗的可能性,这样也让很多使用代理的朋友很恼火,仔细想一想,有什么恼火的呢?

另外如果你的paypal有一笔资金来源不明的话,那么你只能心存侥幸了,因为这笔资金流向的所有帐户都会被锁定调查,很多人认为

蛋疼,但是当你的资金损失的时候你才追悔莫及的话,你才会明白该如何选择。

所谓IT技术公司应该分为三类,A类公司创新  B类公司模仿 C类公司跟风,往往很不幸的我们国内我只能看到BC。

我们从国外A类公司抄过来之后弄自己所谓的高新技术创新设计研发,但是或多或少总是看到人家的影子。

亚马逊的云计算项目 AWS火起来后,国内的阿里云,盛大云,各种云一触即发,无论从价格还是技术上来说感觉都是在模仿。

很多人会说服务出来肯定有它的道理,但是换句话来说这些云计算,如何保证安全性,我们看到很多在线服务网站搬家到了云平台,但是

涉及到支付以及电子商务类型的公司为什么还是不愿意将自己的平台架设到云呢?

那么接下来,我们该如何发展?

 

 

 

 

 

 

你应该知道的中国版泰坦尼克

昨天小编去看了《泰坦尼克号》的3D版本,虽然以前看过了,但是还是被感动的一塌糊涂,出了电影院之后,还沉浸在《泰坦尼克号》的气氛中不能自拔,打了好几个电话跟亲近的朋友分享感受。
结果被一个朋友好一顿奚落,说中国也发生过这样的海难,304名乘员中死亡282人。22位生还者全部是年轻力壮者,其中7名为船员,一位海军军官,一位人民警察。只有一名26岁的女性生还,没有老人和儿童获救。
这才是现实,永远比艺术加工过的影视作品更能震撼人心。
一开始小编还是不能接受,所以来网上好一顿查找资料,结果···真的被震撼到了

1999年11月24日,这一天下午。

16:21时,一艘载有302人的渡轮“大舜”号在烟台小山子岛东北约10海里处起火。

16:30时,中国人民海军北海舰队设在山东的通讯观察站和山东港务部门一样,接到了“大舜”号的求援呼叫,“大舜”轮高呼“我船底仓起火,需要紧急救援”,海军的各个观通站都把这个消息转发给了山东烟台港务局等部门和海军指挥机关。

16:50分左右,也就是20分钟后,海军北海舰队指挥机关才接到观通站发来的消息,但北海舰队指挥机关只是命令海军通观站保持联络,并用雷达进行跟踪。

17:30分时,“大舜”轮火势蔓延,船上一片混乱。
18:00-19:00之间的一个小时中,海军山东各地观通站反复接到求援信号,感到事态严重。海军总部和北海舰队通知烟台附近基地的舰船等待命令。

18:25时,交通部烟台海监局请求烟台市政府与部队联系派直升机参与救助。为此山东省委、省政府和烟台市委、政府及青岛市政府及时并在此后的3个小时多次请求北海舰队出动直升机支援。

北海舰队答复“直升机不能起飞”,原因是:“天气恶劣,情况复杂,不具备夜间起飞条件”;“抵烟台就需加油,但烟台不具备加油条件”;“莱山附近的空军第五师的机场只给大型机加油,其机场人员、设备型号等多方面条件都与直升机的要求不符,无法加油”;“直升机派飞的条件不具备,风浪太大,螺旋桨会结冰”。(这可不是小编瞎编的,而是国务院烟台海难调查报告中的原话)。
而11月24日晚6,7点钟的时候,海风7级,气温7摄氏度,远未低到可以结冰的温度。从7点以后,海风才逐渐加大至9级。25日早上8点的时候,气温才降低至零下1.3度,并飘起了小雪花。

19:30分时,也就是“大舜轮”着火并求救的3个小时后,中央军委命令海军总部组织营救。为此北海舰队司令部命令海军救援大队派遣5艘舰艇出海救援。但是,一艘海军舰艇发动机不能开车,作罢:一艘海军舰艇在就要驶出军港时停车失去动力:一艘出港不久迷路触礁。另外两艘继续前进。

21:05分,一艘海军军舰在海里摇晃得厉害,被迫返航。只有686号船继续前进。

21:15分,交通部门请求海军派遣能够地抵御风浪的大型舰艇或者潜艇救援。人民海军回答:大型舰艇出去参加训练去了;虽然有潜艇在附近,但在9级风浪中潜艇上浮必然倾翻。

21:30分,海军雷达站报告,“大舜”轮从雷达上消失,判断大舜轮已经沉没。为此北海舰队命令仅存的一艘海军舰艇686号返航。这时,“大舜”轮火势加大而无法控制。

21:50分,海军686舰在返航途中,接到命令护送另外一艘失去动力的过往船只“银河公主”号返航。

22:20分,交通部海监局告知海军“大舜”轮只是着火,还没有沉没并再次请求救援。为此海军总部命令海军686号放弃返航,并驶向交通部门所告知的地点。
23:00分,海军686舰抵达出事海域,但没有发现大舜轮。再次怀疑“大舜”号已沉没。

23:20分时,海军686舰观察员目视发现“大舜”号,于是边用高频机与之联络,一边向其靠近。

23:30分时,联络接通。“大舜”号船长急切地向海军686号舰艇求救:“686号船,请快快来救我们”。这时686号舰艇距离“大舜”轮不到100米,舰上的海军官兵已经能够清楚地看到“大舜”轮上晃动的慌乱人影。

23:38分时,“大舜”轮向左侧倾翻在离海岸1.5海里的地方。

人民海军从接警到出兵整整花了3个小时,从出兵到抵达现场有花了将近4个小时。这七个小时对于普通人来说,只是短暂的一瞬间。但是对一支人民军队来说,是可以结束几场重要战斗的时间。

对于“大舜”轮上的300个中华人民共和国公民来说,这是处于生与死的关键时刻。

下面来看看这300个男女老少在这7个小时中所面临的是一个怎样大的灾难。

28岁的幸存者邵明慧,他一直用手机与在大连港务局工作的妻子保持联系到22:30。他回忆说:

“下午4:10,我在三等舱的船头位置上铺躺着,就听到“嚓嚓”的金属碰撞声,随后听到两次响铃,同舱的人让我出去看看,我看见散席上面的人已经在忙着穿救生衣,知道失火了,我赶紧回舱叫其他人。4:30,室内浓烟滚滚,我下到底层帮船员救火,这时火势已经控制不住了,我帮着拧水龙头,但怎么也打不开,水龙带与接口也不配套,等到弄出来水已经是5点多了。”

“到晚上11点多的时候,听到几声船体碰撞的声音。我跳下床,看到左边的舱门已经被船员封住了,穿着救生衣的乘客都从右边的舱门挤到外边的甲板上。此时有孩子的哭闹声,有妇女的求救声,情况混乱的程度有如到了世界末日一般。人们都想到了死!”

  “沉船的一刹那,一个情节让我终生难忘。一对夫妇守着已经睡着的小孩面前,爸爸护着孩子的头,妈妈护着孩子的脚,大声喊着拼命拥挤的人群:“别踩着我的孩子。”获救后,我再也没见到那一家三口。

”这个在临死前还在安睡的小孩,一定在梦中想起老师告诉他们的话:“每当有灾难来临的时候,解放军叔叔总会如同天兵天降一般出现在身旁”。

幸存者杜运伟面对记者时,手中的香烟一直燃着,可他并没抽几口,留下很长的烟蒂:

开始,大家涌在甲板上,有手机的人一个接一个地向家里通报目前的状况,声音很嘈杂,我身边的一个男的好像有一个很小的孩子,他在打电话给妻子时有些绝望,已经提到照顾孩子的事了。人们在甲板上冻了3个小时,情绪都不高,说话的很少,有时候甲板上几乎鸦雀无声。

惨烈的“大舜号”死难者打捞过程中,出现了一个令人触目惊心、惨不忍睹的悲壮场面:一对婆孙紧抱而死,至死也不分离!

好几位“ 大舜号”的幸存者告诉记者,自从“大舜号”起火出现险情之时开始,外婆高桂兰就把一直在船舱里蹦蹦跳跳的小倩如抱在身上,以便随时逃生。眼看轮船倾斜进水、抢救无望了,全船人惊惶失措,纷纷逃生,外公不止一次地对外婆说,我来掩护,你一定要想尽办法抱小倩如逃走,孩子还小,她的世界还没有开始呢!

29岁的幸存者张实元说:“我看见有很大的烟从底舱冒出,风吹来时,浓烟能将甲板罩住。不时有妇女和小孩哭出声来,有人就安慰说:不要哭,哭也没有用。”这些妇女和小孩一定是忘记了人民解放军。

这7个小时中,这300个公民一直飘荡在祖国的怀抱里,最远的时候只有10海里,最近的时候只有1海里。倾翻的地方离海岸只有1.5海里,站在沙滩上就可以望见倾翻的“大舜”轮,解放军的冲锋舟5分钟就可以开到。倾翻的地方距离烟台港不到20海里,救援船只要一个小时就可以开到。在这样的地方,交通部海监局的“烟救13”花了2个半小时赶到,人民海军的686号舰艇则花了大约4个小时的时间。

中央气象台预报室主任曾在访谈中说:在西方国家出现灾难的时候,第一个出现的是记者;在我们社会主义中国,第一个出现的必定是人民解放军。可是,当人民解放军出现的时候,300个公民已经被死神煎熬了足足7个小时。姗姗来迟的解放军官兵见到的是数百具人民群众尸体。

中国人民海军686舰军官说:当我们接近大舜号以后,就在我们眼前一百米左右。大舜号眼看着沉没了。沉没以后,当时海边上漂起来一些救生筏、萍果、拖鞋,还有一些衣服什么的,一些杂物、木板什么的。

中国人民海军686舰战士说:刚到时,看到海上漂着到处都是东西,也有救生艇,很多东西,不知道人在哪儿,反正过去慢慢找,摸索着找,结果看到救生艇,向救生艇靠近,发现上面有人,于是打皮缆过去。他们看不到,当时他们非常紧张,他们没有注意到这个皮缆。然后我们打了多少根皮缆,最后……把他们拉进来。

302位共和国公民,在离祖国大陆1.5海里的地方,在解放军的眼皮低下,只有22为生还。这22位生还者全部是年轻力壮者,其中7个是船员,一位海军军官,一位人民警察,没有一个是儿童。他们主要靠的是自己的体力,还有运气。

他们几乎都是落水以后才巧遇身边有救生筏,再要么幸运地被海风吹到岸边,要么被海浪抛向救援船(“烟救13”号和海军686舰),还有一个是自己游到岸边的,另一个不会游泳却让日本救生衣托着飘到沙滩爬上来的。他们没有一个是真正地被解放军从海里面就出来的。

军舰上的解放军在做什么呢?他们高高地站在舰艇上面扔抛绳索和救生圈。这些接受专业训练,深谙水性的海军官兵没有一个曾下水救人。

“大舜”轮上58位女性乘客中,唯一的女性生还者是26岁的董颖,她是穿着日本救生衣,趴在日本救生筏上,被海风吹到岸边后,被云溪村农民就起来的。她说:“救生筏上只有我和一位金大哥,由于风浪太大了,救生筏根本无法靠近海军“686”救援船。在黑暗、寒冷、无助的茫茫“死亡之海”上,我放声大哭起来。”她可能不知道,救生筏没有动力,无法自主移动,当然无法靠近海军686船了。 正确的救援程序是,海军686舰接近他们,救援他们。救生筏的功能只是为等待救援赢得时间。如果海军能主动接近救援,那位金大哥也一定能够生还。 ”

一年后,一本记述这个特大悲惨事件的书(悲壮的挽歌:11.24特大海难纪实)的扉页上这样写道:“在灾难面前,党中央、国务院和我们的各级党委、政府所表现出的高度负责精神,我们的干部群众所表现出的一方有难、八方支援精神,我们的人民子弟兵所表现出的人民的利益高于一切的精神,值得称道和弘扬。”

java实现短地址算法

网上流行的短地址算法很多,但是大部分都会存在小概率的重复时间,其实使用短地址无非就是实现映射关系。

我们举个很简单的例子,我们把地址分配成一个映射关系

记录标识——源地址

这样,我们将记录标识设置为自增长主键,这样就是十进制的1-N,通过跳转方法可以轻松实现由数字地址到跳转地址的功能,

但是往往很多人看到市面上都是由数字,字母类组成表示跳转,如此以来我们可以将这个十进制主键来转换成64进制算法,岂不是很简单,也不会存在重复主键的问题了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
	public static String Dec2AnyHex(int dec, int shift) {
		char[] buf = new char[32];
		int charPos = 32;
		int radix = 1 < < shift;
		int mask = radix - 1;
		do {
			buf[--charPos] = Config.digits[dec & mask];
			dec >>>= shift;
		} while (dec != 0);
		return new String(buf, charPos, (32 - charPos));
	}
 
 
	public static Integer AnyHex2Dec(String anyHex, int shift) {
		char[] s = anyHex.toCharArray();
		String digitsString = new String(Config.digits);
		int Num = 0;
		for (int i = s.length; i > 0; i--) {
			int j = digitsString.indexOf(s[i - 1]);
			Num += j * Math.pow(1 < < shift, s.length - i);
		}
		return Num;
	}

仅供参考,谢谢。

【转】解放思想,实事求是:宁娶失足妇女,不娶大龄剩女!

褒贬自省,好坏自辨~

 

今天突然想起个朋友聊天时讨论的话题,男人第一要找良家妇女,第二要找风月妓女,最后才选那些大龄非处剩女。简而言之:男人找剩女不如找失足妇女。
下面就是我们的讨论的一些结果:首先,那些大龄非处剩女,基本上都经手过个十个八个男人,如果说脏的程度而言,也就是50步和百步之分。没了人会以为一个垃圾桶会比一个垃圾场干净。凭什么剩女非处了还要求有房有车!还不如妓女!
从生理学上讲,失足妇女和剩女一样,都是身经百战。但是失足妇女大多年轻,长的不错(城中村路边那种就算了),而大龄剩女大多年龄大,黄脸婆了。失足妇女经过培训,科班出身,床上技术到家。而大龄剩女自我探索,山寨培养,质量难保。失足妇女大多对自己做的事情有自知之明,绝不敢引以为荣。所以婚后她会对你感觉低人一等,不敢要求太多。而大龄剩女大多对自己做的事情自我感觉良好,直觉高人一等,经常狮子大开口。
从身家上讲,失足妇女大多有不少存款,而剩女基本是月光。失足妇女懂得赚钱,剩女只懂花钱。找个失足妇女做老婆,即使你在外面胡来,只要你对家里负责,啥事也没有。找个剩女做老婆,即使你在外面安分,家里出啥情况你很难保证。
失足妇女专业非常知道卫生问题,接客必带套,哪像剩女,寂寞了无聊了就跑去酒吧找ons,都是生奸中出啊有木有…随便搞啊,还有很多剩女都有同居,打胎经历啊,很多失足妇女也就干两三年就不干了,也差不多啊…最重要的就是失足妇女有自知之明,剩女没有,再说句难听的,你剩女跟别人年轻的妓女摆在一起,让客人挑,全套299还真没人找你,男人也会找年轻的啊,剩女啊,你们真没看不起失足妇女的本钱啊,哈哈!对比下,发现这基本上是事实,所以我列出来。

其实良家和失足妇女是相对的区别,不是绝对的区别:

很多女人都是看对方的经济条件而嫁的,这是一种一次性整卖的妓女;
做官员和大款的情人或者二奶,这是批发;
做失足妇女这是零售。

其实都是为了利益,只是出卖的方式不同而已,谁也不比谁高尚。所以不要太看得起良家,也不要太看不起失足妇女!之所以传统文化规定了做整卖的比做零售的高尚,那是因为传统文化是建立在低级生物本能的基础上,以保证雄尊雌卑和雄性垄断的需要。但是,色情业真的就不好吗?我们来看看历史,哪些行业给人类造成最大的伤害?无疑,是政治业和军事业,那些政客和军阀无数次给人民造成了罄竹难书的苦难,但是,诡异的是,在古今中外,世界各地,被宣传成最伟大最救星的,要人民最热爱的,恰恰是这些行业。而实际上对社会稳定和安慰人心作用很大的色情业,却给宣传成了最不好的行业,这个公平吗?

这不公平,这是人类虚伪的体现,所谓的窃勾者诛,窃国者为诸侯嘛。所以在这里,我要呼吁:解放思想,实事求是,尊重性工作者,反对表面高尚实质虚伪的传统道德!作为男人来讲,出卖良心去投靠那些被歌颂的害人行业,那不是比妓女坏一万倍吗?我们国人有资格一边当奴才当良心上的婊子,一边又去歧视色情业吗?

互联网产品:死于方向,毁于节奏

与传统行业相比,互联网是一个节奏变化较快的行业。进入互联网这些年,成功的经历没怎么碰到过,不过失败的,死得轰轰烈烈的案例不仅看到过,而且还真真切切的经历过。说起来,的确象马云同志说的那样,成功的方法千千万万,而失败的原因就那么几个。见过的这些死掉的项目,主要的原因在于:毁于方向,死于节奏!

死于方向
首先,来说说方向。俗话说男怕入才行,女怕嫁错郎,搞互联网方向太重要,要是挑错了方向,而中途灵活度又不够,不能即时调整的话,只会死得很难看。
比如这几天,看到毕胜发的牢骚,对于搞B2C,总觉得是自己入错了行。不过,对于方向这个问题,需要加以区分。某些方向,对于一些人来讲是对的,但是对于另外一些人来讲,可能就不对,因为大家进入的时机不同,所掌握的资源不一样,结果也将大不同。就B2C这个事情,对于毕胜来讲,可能是错的,但是对于刘强东来讲,就是对的。
1、团购的泡沫
首先说一个大家都比较熟悉的,团购。团购最近是出尽了风头,但是对于大多数人来讲,这可能是永远也得不到结果的一个行业。就象团购刚刚进入中国的时候,我在《深入解读Groupon新型团购》讲的一样,单纯的团购平台将很难有竞争力,因为平台对于消费者及商家都缺乏粘性,不过却是一种很好的交叉补贴手段。当时就建议对于大众点评网等,不宜通过此模式直接获利,更好的策略是对此业务进行补贴,让消费者及商家的利益最大化,从而增强平台的粘性,最终可通过其它方式获利。
最终的结果是,淘宝的聚划算成了最大的团购平台,身边有些朋友以前是不上淘宝的,自从有了个聚划算之后,上淘宝的积极性大大的提升了,上聚划算多了,在淘宝上买其它的东西也就多了起来。而另外一些独立的团购平台,以后会怎样,对于大多数人来讲,几乎只能是等死而已!
2、B2B领域的炮灰
说完团购,再来说说B2B。一直以来都在B2B这个圈子里呆着,对这个行业最为熟悉。看到太多的公司犯错。方向选错了,想要赚钱,比登天还难。
比如,在这个领域,国内有好几家做内贸的综合性平台,在Google全球流量排名前1000的网站列表中,http://www.google.com/adplanner/static/top1000/,有个叫马可XX的网站,全球排名竟然能进入到528名,每天的流量曾经应该是接近过100万IP左右。按一般人的想法,网站肯定赚钱了吧,实际上呢,我估计日子应该还是过得苦哈哈的。
实际上,搞综合性的网站,真的是不容易:1)品牌不容易起来,前面还除了有个强悍的阿里,还有个千年老二的慧聪,互联网行业就是个老大吃肉,老二喝汤,老三老四喝西北风的行业;2)流量看上去是高,不过分到下面每家企业,真不剩几个,你凭什么叫企业付钱?3)流量不稳定,很容易被百度干掉。当你看到流量一天比一天高,把销售团队建起来之后,正乐着呢。这不就前一段时间,发现一下子被百度干掉了(前段时间被同时干掉的还有好几个类似的网站,比如一乎XX),网站流量一落千丈,哭都来不及。
其实除了马可XX这种综合性的平台之外,还见到过很多做行业平台的,挑选的行业真的是五花八门,什么都有,但实际上,适合B2B的行业还真的不是那么多,行业选错了,要想赚钱,真的很难。
3、小额外贸B2B的亲身经历
再举个亲身经历的例子,先前所在的公司曾经做过一个类似DH的小额外贸B2B的网站(只参与前期调研,没有实际运营)。这个行业的问题主要在那里呢,至少从我的理解来看,这个东西是个四不象,目标用户群定位很不清楚。
这个东西也有点象阿里巴巴搞的那个无名良品一样,想法很好,要把工厂最优质的产品卖给消费者,不过实际去执行的时候,你就会发现,绝大部分的工厂是没有那个能力的,不善长搞营销,搞服务,术业有专攻,他们的优势还是在于生产而已。
这个行业也类似,想像中理想状态应该是工厂把东西直接批发给老外,但是做着做着发现,大部分的工厂根本就没有这种做零碎小单的能力,最后发现卖东西的还是哪些小打小闹的,还很多打擦边球的,卖假货的。
反正这里面的问题多多,支付的问题,假货的问题,纠纷的问题,一大堆。最后回过头来看看这个模式,本来是想找到B2B与C2C中间的一个缺口,但是实际上走下来你会发现,这个搞大宗贸易干不过Ali,搞零售呢又搞不过eBay。最终的结果,关门大吉而已(提前关门不见得是件坏事情)。不过还好,这个项目没浪费多少钱。
毁于节奏
除了方向之外,在互联网行业,节奏则是另外一个很难把握的难点。对于节奏这个事情,这一拿一放,还真是不好掌握,没几个人能拿捏的好。
1、以做个小网站为例
节奏这个问题,往小了说,你就比如搞一个网站,里面有很多的功能要开发,而你BOSS还时不时的提出些想法,下面也会有很多奇思妙想,而你手头的资源又是有限的,这时候怎么办?难道都让兄弟们去做,发现一个BUG就叫去马上改?如果是这样的话,事情只会是越来越糟。想把事情做好,就必须得抗住、管住,来源于上面、下面及你自己的需求,让项目有节奏的进行,学会和BUG和平共处。
2、上亿RMB的教训
还是曾呆过的一家公司吧,搞B2B(外贸的),花了应该是两三个亿(RMB),前前后后折腾了好几年时间,结果呢,屁都没有放一个。用公司老头子自己的话说,buyer长啥样,咱老外的胡子都没摸着。
现在终于想明白了,这事儿就靠SEO啊,Ali(外贸部分)那么牛X,不过他也是60%的流量直接来源于搜索引擎,剩下的那40%中又有70%是通过SEO渠道过来之后留下来的,也就是差不多90%的买家都和SEO有关。搞定了SEO,这个事情也就成了。
不过当时咱不懂啊,所以在不该投入的时候投入,在不该收获的时候收获。刚刚开始的时候就大搞展会,大规模的建设销售团队,花钱如流水;网站没有流量,没有效果,想要卖钱,自然是很难。最后的结果,可想而知。
后来,终于搞清楚了,却发现“钱快没了”。
3、来个开放面题,来说说京东 
说了这么多不成功的,下面来个开放点的面题,拿一个实际的案例来讨论,比如我们来说说京东,如果你是京东,你将如何掌握以下要点的节奏?
1)都知道物流是京东最具竞争力的地方,那么京东在物流方面总体节奏把握上都有哪些地方可圈可点,下一步该怎样,为什么?
2)都知道“开发平台”是今后的发展方向,亚马逊在“开放平台”方面做的极为出色,京东在“开放平台上”走的是开了还是慢了,下一步该怎样,为什么?
3)京东想做中国的亚马逊,似乎技术差了太多,服务器还老挂啊啥的。如果是你,在技术方面都应该如何布局,为什么?
小结
上面说了这么多,发了发牢骚。其实是比较感慨,作为一个互联网的从业者,尤其是leader,一定要能掌握好方向,拿捏好节奏。要不然,下面一大群人都给着你白干了。

tmsp轻量级J2EE框架第一次压测

由于资源的有限,J2EE传统的框架已经超过了我们对资源的预期,无奈只能转向底层的原始开发,自己写了轻量级的框架。

其实这个框架我们一直说轻量级,到底能多轻,另外我们能不能保证服务保证。

今天做了一下压力测试

系统Centos5.7    内存256M  CPU:Intel(R) Xeon(R) CPU E31230 @ 3.20GHz ×2

系统环境 mysql5.0 默认配置100链接, tomcat7  bio模式,默认链接,Nginx1.0 默认链接

Nginx前端,tomcat7一个作为后端。

并发测试:

第一次,并发100,10分钟,执行6分钟,丢失6次,CPU在3% 内存占用100M左右,系统框架无压力。

第二次,并发500,10分钟,执行完毕,丢失2次 CPU在3%,内存占用150M左右,系统框架无压力。

目前在增加数据库记录9770条,做第三次压力测试。稍后放出。

Linux 用户密码只验证前8位

今天检查了一下自己的服务器,发现有个相当无解的隐患,那就是root密码只需要输入前八位便可以登录了……

虽然说8位从一定程度上就够用了,但是这也太悲催了吧。

我们要想增加密码强度,那么就需要修改一下加密方式了,

首先查看你的方式

more /etc/pam.d/system-auth

我们可以看到 password的加密方式为md5 ,如果不是md5或者sha512的加密需要注意了,自己验证一下是不是只需要输入前八位即可:)

使用命令

authconfig –passalgo=sha512 –update

或者

authconfig –passalgo=md5 –update

然后使用 passwd 修改你的密码。

yum安装Nginx

之前的Nginx的YUM源不能用了,本想着去Nginx官方网站去手工安装一下,但是发现nginx的官方也提供源的维护了。

Pre-Built Linux Packages for Stable

To enable automatic updates of Linux packages set up the yum repository for the RHEL/CentOS distributions, or the apt repository for the Debian/Ubuntu distributions.

To set up the yum repository for RHEL/CentOS, choose the corresponding nginx-release package from the list:

This package contains yum configuration file and a public PGP key necessary to authenticate signed RPMs. Download and install it, then run the following:

yum install nginx

Alternatively, a repository configuration can be added manually without installing the nginx-release package. Create the file named/etc/yum.repos.d/nginx.repo with the following contents:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1

Replace “OS” with “rhel” or “centos”, depending on the distribution used, and “OSRELEASE” with “5” or “6”, for 5.x or 6.x versions, respectively.

For Debian/Ubuntu, in order to authenticate the nginx repository signature and to eliminate warnings about missing gpg key during installation of the nginx package, it is necessary to add the key used to sign the nginx packages and repository to the aptprogram keyring. Please download this key from our web site, and add it to the apt program keyring with the following command:

sudo apt-key add nginx_signing.key

 

For Debian 6 append the following to the end of the /etc/apt/sources.list file:

deb http://nginx.org/packages/debian/ squeeze nginx
deb-src http://nginx.org/packages/debian/ squeeze nginx

 

For Ubuntu 10.04 append the following to the end of the /etc/apt/sources.list file:

deb http://nginx.org/packages/ubuntu/ lucid nginx
deb-src http://nginx.org/packages/ubuntu/ lucid nginx

 

For Debian/Ubuntu then run the following commands:

apt-get update
apt-get install nginx

如此一来方便很多,因为我是centos5系统,所以还是

rpm -Uvh http://nginx.org/packages/centos/5/noarch/RPMS/nginx-release-centos-5-0.el5.ngx.noarch.rpm
yum -y install nginx

Nokia 查看MAC地址

今天上网需要绑定MAC地址过滤,Nokia的SB系统在待机界面输入

 

在待机状态下输入*#62209526# 查询WLAN MAC地址
在待机状态下输入*#2820# 查询蓝牙MAC地址

 

 

使用JSTL标签格式化时间与货币形式

习惯了Struts标签给我们带来的便捷,然而往往越是简单的操作越是让人产生依赖,在我们使用JSP的时候往往无所是从。
今天在JSP下需要格式化我的Timestamp,利用JSP的标签。
引入标签FMT

< %@ taglib prefix=”fmt” uri=”http://java.sun.com/jsp/jstl/fmt” %>

在你需要格式化的地方使用即可

<fmt:formatNumber value=”<%=stype.getPrice()%>” pattern=”##.##” minFractionDigits=”2″/>
<fmt:formatDate value=”<%=user.getC_reg_time() %>” pattern=”yyyy-MM-dd HH:mm:ss”/>

java中判断是否为有效邮箱

自己写了一个邮箱的判断,因为市面上的邮箱在复杂,用一些正则表达式判断不是很熟练,所以自行写了一个判断留作考察:)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
         /**
	 * 判断帐号是否为Email 鉴于现在Email帐号前缀和后缀复杂性,所以判断{@ 和  .}是否存在以及其的位置
	 * 
	 * @param acc
	 * @return
	 */
	public static boolean isEmail(String acc) {
		if (acc == null || acc.length() < 5) {
			// #如果帐号小于5位,则肯定不可能为邮箱帐号eg: x@x.x
			return false;
		}
		if (!acc.contains("@")) {// 判断是否含有@符号
			return false;// 没有@则肯定不是邮箱
		}
		String[] sAcc = acc.split("@");
		if (sAcc.length != 2) {// # 数组长度不为2则包含2个以上的@符号,不为邮箱帐号
			return false;
		}
		if (sAcc[0].length() <= 0) {// #@前段为邮箱用户名,自定义的话至少长度为1,其他暂不验证
			return false;
		}
		if (sAcc[1].length() < 3 || !sAcc[1].contains(".")) {
			// # @后面为域名,位数小于3位则不为有效的域名信息
			// #如果后端不包含.则肯定不是邮箱的域名信息
			return false;
		} else {
			if (sAcc[1].substring(sAcc[1].length() - 1).equals(".")) {
				// # 最后一位不能为.结束
				return false;
			}
			String[] sDomain = sAcc[1].split("\\.");
			// #将域名拆分 tm-sp.com 或者 .com.cn.xxx
			for (String s : sDomain) {
				if (s.length() <= 0) {
					System.err.println(s);
					return false;
				}
			}
 
		}
		return true;
	}

Google的一些面试题

1.一辆学校班车里面能装多少个高尔夫球?
答:应该也是用常理推断过程
2.你被缩小到只有硬币厚度那么点高(不是压扁,是按比例缩小),然后被扔到一个空的玻璃搅拌器中,搅拌刀片一分钟后就开始转动。你怎么办?
答:搅拌器应该是有空隙的,所以躲到边上应该不会被打到。但是玻璃搅拌器四周可能无法抓住附着,所以旋转带来的风可能把你吹起来。所以尽量走到搅拌器转轴中间,试图爬上去或者抓住。
3.要是让你清洗整个西雅图的所有窗子,你会收取多少费用?
答:类似调音师的推理过程
4.怎么才能识别出电脑的内存堆栈是向上溢出还是向下溢出?
答:只能向上溢出
5.你要向你8岁的侄子解释什么是数据库,请用三句话完成。
答1:数据库就如存钱罐…
答2:就是你的书包,里面有你喜欢的:圣斗士金卡,小玩具;也有你不喜欢的:考卷啊,要家长签名的东西啊。。。。反正里面各种各样的东西都有,但绝大多数可能都不是你放进去的,但你却要注意收拾。
6.时钟的指针一天内会重合几次?
答:如果是没有秒针且分针不是按1分钟递进的那种钟表,那么可以重合多次(22次吧),如果是按分钟递进的或者有秒针的,那就重合两次。另外,还要考虑齿轮的齿距和制表匠的水平。因此从微观上讲,那两根或三根针针的很难重合。。。。。。。
7.你需要从A地去B地,但你不知道能不能到,这时该怎么办?
答:以目前科学水平,只要A地B地都叫得出名字并且都在地球表面的陆地上,都可以到。
8.好比你有一个衣橱,里面塞满了各种衬衫,你会怎么整理这些衬衫,好让你以后找衬衫的时候容易些?
答1:优先颜色,其次款式,再次新旧程度
答2: 按季节、场合、性别分
9. 有个小镇有100对夫妇,每个丈夫都在欺骗他的妻子。妻子们都无法识破自己丈夫的谎言,但是她们却能知道其他任何一个男人是否在撒谎。镇上的法律规定不准通奸,妻子一旦证明丈夫不忠就应该立刻杀死他,镇上所有妇女都必须严格遵守这项法律。有一天,镇上的女王宣布,至少有一个丈夫是不忠的。这是怎么发生的呢?
答1:全部男人都被杀死
答2:国王被杀死了 (可能女王也被杀死,这样才能确保秘密不会泄露)
10.在一个重男轻女的国家里,每个家庭都想生男孩,如果他们生的孩子是女孩,就再生一个,直到生下的是男孩为止。这样的国家,男女比例会是多少?
答:1 : 1 / 50%
11.如果在高速公路上30分钟内到一辆车开过的几率是0.95,那么在10分钟内看到一辆车开过的几率是多少 (假设为常概率条件下)
答1:1-(1-x)(1-x)(1-x)=0.95,解出x就可以了,嘿嘿
答2:0.95
答3:12度*0.25=3度
12.如果你看到钟的时间是3:15,那一刻时针和分针的夹角是多少?(肯定不是0度!)
答:7.5
13.4 个人晚上要穿过一座索桥回到他们的营地。可惜他们手上只有一支只能再坚持17分钟的手电筒。通过索桥必须要拿着手电,而且索桥每次只能撑得起两个人的份量。这四个人过索桥的速度都不一样,第一个走过索桥需要1分钟,第二个2分钟,第三个5分钟,最慢的那个要10分钟。他们怎样才能在17分钟内全部走过索桥?
答1:1+2先过,1(或2)返回,5+10过,2(或1)返回,1+2过
答2:最慢的10分钟在桥头打手电筒,1分钟和2分钟先过,在1分钟过完时,5分钟立刻上桥。在2分钟过完时,10分钟拿着手电筒上桥,总共只花了12分钟就能全部过去
答3:
先1分钟和2分钟的过去,2分钟呆在那边,1分钟的回来,用了2+1=3分钟了;
5分钟和10分钟一起过去,2分钟的回来,用来3+10+2=15分钟了;
1和2分钟最后一起过去,用了15+2=17分钟了。
14.你和朋友参加聚会,包括你们两人在内一共有10个人在场。你朋友想跟你打赌,说这里每有一个人生日和你相同,你就给他1元,每有一个人生日和你不同,他给你2元。你会接受么?
答1:这个题目好像有陷阱,首先自己肯定和自己生日相同,所以开始你就要给对方1元。然后剩下9个人里面,你需要有4个人和你生日不同,你才能赚回来。而9个人里面同时有5个人生日和你相同的概率我觉得是比较小了,所以换做我,我会接受的!
答2: 不接受
15.全世界有多少个钢琴调音师?
答1:2个,一个男的一个女的
答2:对客户来讲就一个,因为所作的工作一样,所以统统可以外包掉
16.你有8个一样大小的球,其中7个的重量是一样的,另一个比较重。怎样能够用天平仅称两次将那个重一些的球找出来。
答1:先取6个,天平上一边3个,同重则称剩余2个即可;不同重,则取重的3个中的2个来称.
答2:将8个球按个数2,3,3任意分为三组:A、B、C。
将B、C 两组分别置于天平两端,若两端持平,即质量相等,则只需将A
组的两个球分别置于天平两端,向下倾斜的一端所盛的球即是比较重的;若两端倾斜,则将向下倾斜的一端所盛的3个球取出,再从这3个球中任意取出两个球分别置于天平两端。如果两端持平,那么未被抽取的那个球就比较重的;如果两端倾斜,那么向下倾斜的一端所盛的球即是比较重的;
答3:3-3-2分称
17.有5个海盗,按照等级从5到1排列。最大的海盗有权提议他们如何分享100枚金币。但其他人要对此表决,如果多数反对,那他就会被杀死。他应该提出怎样的方案,既让自己拿到尽可能多的金币又不会被杀死?(提示:有一个海盗能拿到98%的金币)
答1: 98,0,1,0,1
答2:如果是我。。。我会提出让等级比我低的人继续按这个方法协商如何分,这样可以陷入逻辑悖论。只要完全按这个规则,那我就死不掉。。。。。

 

当前第 1 共计 2412345...1020...最旧 »
普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress

无觅相关文章插件,快速提升流量