这个模式可以运用到各行各业,而且目前互联网很多牛人都在偷偷用,偷偷赚钱,那么,今天我就冒着得罪人的风险告诉大家。
一年半300万,
解密经典“免费”模式
我有一个从小玩到大的铁哥们,他家祖上有一个生发的秘方,效果不敢说百分之百,至少可以达到50%—70%左右。由于这个生发的秘方效果好,十里八乡的只要是脱发或者是秃顶的都来找他看,就靠着口碑相传,这几年甚至是外省的患者都跑到他那看。做的算是风生水起。价格方面一般也不贵,一两千块钱就可以看好。
大概是2年前的事情了,我这个朋友知道我是做互联网的,所以就找我策划策划,想把这个生发秘方卖到全国!
因为是朋友,也不好推辞。而且这个秘方的效果我也亲眼看到,效果确实不错。我觉得这个是一个商机,很多人脱发很头疼,也花了不少冤枉钱,而且这类人太多了。
利用互联网传播的广泛性,再加上独特的“免费”运营模式,做起来非常轻松,成了我当年做的一个经典项目,一年多赚了300多万元。我起初是这么想的。
第一,需求,互联网只要有需求,就有商机。就拿脱发这个来说,很多人使用了很多方法,花了不少钱,都没有效果,再加上这类需求非常刚性。所以这就是我们的切入点。
第二,产品,产品的质量是销售的第一要素,如果产品不行,就算你有几十个亿,也是白搭。产品的好坏决定后期的发展。要想做好一个品牌,产品的质量是第一要素。
第三,如何卖,由于他的是生发类的秘方,但是这类的生发秘方也有很多,在淘宝上搜了下,发现也有很多,比较泛滥,而且卖几十几百几千的都有。如果我再这样去卖,那也太浪费时间了。做事情要讲究方法。
那么我是怎么运作的呢?
首先把这个秘方重新包装了一下。找专人设计了,打上他们世代老中医的名号,包装上面看上去越古典越好,并在包装上写上秘方的由来和历史。
然后做一个网站。由于这个秘方效果非常好,让客户录制一个见证视频也是非常简单的,网站上侧重于大量的成功案例展示,还有送锦旗的录像等等视频,还有客户评价都做得很到位。然后利用seo(搜索引擎优化)和网络关键词竞价排名的方式进行推广。
这些都不是关键,关键是别人都是在卖,而我是在免费送。
由于这个秘方效果很不错,一般用一副左右就会有毛发长出来,能够见到明显的效果。此外,产品成本非常低,一般是可以忽略不计的,堪称零成本。
只要你付10块钱邮费,我就可以免费给你邮寄过去。其实发一单也就3块钱左右成本,另外还赚7块钱,对我们来说没啥损失。
但是有一个前提是,你用了之后,确实长出头发,就需要打298元过来。我们有专门的客服跟踪,目的是促进打款。
看到这里,你可能会问了,如果他们用了有效果,但不给钱怎么办?其实很简单,这个也是免费试用最核心的一个策略(www.Cyone.com.cn/)。一般用了一副有效果之后,那时候还没有完全长出头发,那时候就算是你不说,他们也会打电话求着给你送钱,所以这点尽管可以放心。
就是利用这个方法,我们测试过当时的成交率,大概能达到20%—30%,也是相当不错的。
事实证明,这个模式后端爆发力很强。很多免费试用过的客户,后面主动打电话打钱过来再次购买。并且他们会主动介绍客户过来,后期我们也就不需要啥广告费了。由于建立了前期的信任,大部分顾客后来都是直接打款过来的。
仅仅一年半的时间,赚了300多万,我的朋友天天乐呵呵数钱。但是由于今年互联网越来越完善,而且申请一个专利需要几百万,老头子舍不得花钱,所以后来就没有在网上推广了。但是他之前积累大量的用户,一直还有客户找他买,有的还亲自登门拜访。
其实在互联网发展进程中,一直在解决信任问题。我们采用的是免费送的策略,使用有效后再付款,这就很好的提升了可信度,所以客户转化率也是相当的高。
其实不管做什么生意,不管是在网上还是线下,真正赚钱的都是在后端成交,因为前期已经建立了信任关系。怎么建立信任呢?最简单最快速的方法就是“免费”。
这个模式如何模仿?
模仿这个运作模式也是非常简单:
1.有需求,具体可以参考百度指数,需求越刚性越好。
2.你要保证你的产品效果是非常不错。
3.产品成本非常低,最好是两三块或者是几毛钱。
满足这3个条件,你就可以轻而易举的操作起来。并且你后期可以开发更多的增值服务,其实真正赚大钱的还在后端。
不管卖任何产品或者是服务,都可以套用这个模式。
利用前端“免费策略”提高信任,收集大量的用户再进行后端营销。我周边的朋友,运用我这个模式,卖过苹果、核桃、蜂蜜、土鸡蛋、土特产等等都取得了不错的成绩。
那么有人会问了,像是苹果、核桃、蜂蜜、土特产之类的产品,成本也比较高,不符合上面所说的低成本要求呀?其实任何东西我们都需要举一反三。
你可以把运费提高一点,比如说15元或者20元。产品还是免费送。但是有个条件,就是必须在你的朋友圈或者是QQ空间分享下。这样无形之中就给你免费宣传,就算是当时稍微亏点,那也没什么,就当你投放的广告费了。做任何产品都需要推广,如果客户帮你推广,那推广效果可想而知了,你懂的。正所谓大舍大得,小舍小得。
不管是做任何项目,其实最重要的就是创新加上颠覆营销。
【举一反三】为什么免费
租书还能年赚百万?
丁老板在大学城开了一家书店,但是,他不卖书,他免费提供租书。他每年可以净赚上百万元。丁老板天天坐在店里,不怕风吹,不怕雨淋的,是如何做到一年净赚上百万元的?
丁老板的书店只免费提供租书。免费租书,却能赚到上百万元?原因是丁老板善于借力!善于运用媒介。
丁老板书店里的书基本上是考研、雅思、托福、考公务员必备的一些参考书,同时还有一些考试必备的教辅材料,也提供一些往年考试的卷子,这些都是免费向大学城的学生租用。免费的,完全免费!
由于完全免费,吸引了大量的大学生向丁老板租书,每个租书的人只需交纳50元的押金,就可以拿走3本书。
3本书还回来,50元押金就退给你。如果续借,押金继续交着。但是丁老板并不是靠押金来赚钱的。
租书,还书,让这群学生不停地要来丁老板的店,同时,每个大学生租书都会有针对性,比如:考研的就会租考研的书,考雅思的就会租考雅思的书,考公务员的也一样。
丁老板通过系统登记学生们曾经租过哪些书,现在租哪些书,从而发现,既然考研的学生向我租了这些书,那么他们是否要上培训班?大部分学生还是要上这种强化班的。但是丁老板没有培训公司,没有老师。于是他想到了借力!
丁老板与培训雅思的合作,与培训公务员的合作,与培训政治的合作,与培训英语的合作……能合作的都合作了,然后,招一个学生,这些机构就给相应的提成!
这些学生免费在丁老板那里租书,也经常与丁老板交流,信任几乎不成问题,丁老板推荐给他的培训班,成交率就比普通的业务员要高很多!
于是丁老板通过免费租书吸引了大量的学生,学生们之间又会相互传播,互相介绍,来的学生更多!
接着丁老板都知道他们接下来要考什么,是考研,还是考公务员,然后针对性的推广给每一个学生对应的培训班,帮助相应的机构招生,一年轻松赚百万元。
2014年3月,注册资本登记制度进行改革,取消注册资本登记最低限额,这就是常说的一元就能开公司。取消注册资本最低限额,让创业条件变得更宽松,让做生意变得容易。
“一元注册公司具有象征意义,这表明企业注册资金不受限制,从而支持大众创业万众创新。 ”省工商局企业注册局戴副局长介绍说,但注册资本展示了公司的实力和信用,太少了交易时经营能力也容易受到对方质疑,一些有实力的公司后期会通过增资的方式,提高企业的竞争能力。
完整版:注册一家公司要多少钱(工本费)
1、核名:免费
2、开验资户:0元
3、银行询证费:0-500元(以银行为准,认缴制不需要)
4、验资报告:0-500元(认缴制不需要)
5、工商执照:免费
6、刻章:600-900元
7、代码证:148元(以当地收费标准为准)
8、税务证:免费
9、开基本户:800-1500元(每个银行收费不一样)
10、注册地址(商务挂靠地址):1000-1500元/年。不等(自己有地址的可省略)
2014年3月1日,实行注册资本认缴登记制,放宽注册资本登记条件;由公司股东(发起人)自主约定认缴出资额、出资方式、出资期限等,记载于公司章程,并承担缴纳出资不全的法律责任,注册公司不占用资金,不需验资费用。
注册公司需要提供的资料及流程费用:
1、核名:到工商局去领取一张“企业(字号)名称预先核准申请表”,填写你准备取的公司名称,由工商局上网(工商局内部网)检索是否有重名,如果没有重名,就可以使用这个名称,就会核发一张“企业(字号)名称预先核准通知书”。这一步的手续费是30元。 (30元可以帮你检索5个名字,很多名字重复,所以一般常见的名字就不用试了,免得花冤枉钱。核名通过后,打印名称预先核准通知书。
2、租房:去专门的写字楼租一间办公室,如果你自己有厂房或者办公室也可以,有的地方不允许在居民楼里办公。租房后要签订租房合同,并让房东提供房产证的复印件。
签订好租房合同后,还要到税务局去买印花税,按年租金的千分之一的税率购买,例如你的每年房租是1万元(创业网www.Cyone.com.cn/),那就要买10元钱的印花税,贴在房租合同的首页,后面凡是需要用到房租合同的地方,都需要是贴了印花税的合同复印件。(2014年3月1号后申请人提交场所合法使用证明即可予以登记。)
3、编写“公司章程”:可以在工商局网站下载“公司章程”的样本,修改一下就可以了,章程的最后由所有股东签名。
4、到工商局现场办理营业执照,带齐以下资料!
①公司设立申请书(可以在当地工商局网站下载);
②公司章程(可以在当地工商局网站下载);
③董事法人监事任免书(可以在当地工商局网站下载);
④总经理任免书(可以在当地工商局网站下载);
⑤全体股东法人身份证原件;
⑥名称预先核准通知书(公司注册流程及费用的第一步已打印名称预先核准通知书)。
4、凭营业执照法人身份证到专业刻章店刻印公章、财务章,正规的章是到公安分局备案过有刻章卡的;(1-2个工作日)。
5、凭营业执照、法人身份证、公章到市场监督管理局办理企业组织机构代码证;(1个工作日)
6、凭营业执照和组织机构代码证、法人身份证、公章到各(您所在)区的国税或地税分局办理税务登记证;(1个工作日)
7、去银行开立公司验资户:所有股东带上自己入股的那一部分钱到银行,带上公司章程、工商局发的核名通知、法人代表的私章、身份证、用于验资的钱、空白询征函表格,到银行去开立公司帐户,你要告诉银行是开验资户。开立好公司帐户后,各个股东按自己出资额向公司帐户中存入相应的钱。银行会发给每个股东缴款单、并在询征函上盖银行的章(2014年3月1号后注册公司新政策已实施可省略此步骤)。
8、到开验资户银行凭公司全套资料把验资户转成基本户(没有开验资户的实收资本为0的也可以到银行开基本户)。
使用vs2012,遇到如下错误。
error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. e:\myprojects\c\easypr\src\mywin32\win32app.cpp 328 1 myWin32
解决方案,项目 ->属性 -> c/c++ -> 预处理器 -> 点击预处理器定义,编辑,加入_CRT_SECURE_NO_WARNINGS,即可。
虚拟键代码
虚拟键代码存储在WM_KEYDOWN、WM_KEYUP、WM_SYSKEYDOWN、WM_SYSKEYUP消息的wParam参数中, 常用的虚拟键代码如下:
常用的虚拟键代码如下:
十进制 十六进制 WINUSER.H中的标识符 是否必须 IBM兼容键盘
1 1 VK_LBUTTON 鼠标左键
2 2 VK_RBUTTON 鼠标右键
3 3 VK_CANCEL √ Ctrl + Break
4 4 VK_MBUTTON 鼠标中键
8 8 VK_BACK √ 退格键
9 9 VK_TAB √ Tab键
12 C VK_CLEAR Clear键
13 D VK_RETURN √ 回车键(任意一个)
16 10 VK_SHIFT √ Shift键(任意一个)
17 11 VK_CONTROL √ Ctr键(任意一个)
18 12 VK_MENU √ Alt键(任意一个)
19 13 VK_PAUSE Pause键
20 14 VK_CAPITAL √ 大写锁定键
27 1B VK_ESCAPE √ Esc键
32 20 VK_SPACE √ 空格键
33 21 VK_PRIOR √ PageUp键
34 22 VK_NEXT √ PageDown键
35 23 VK_END √ End键
36 24 VK_HOME √ HOME键
37 25 VK_LEFT √ 左箭头
38 26 VK_UP √ 上箭头
39 27 VK_RIGHT √ 右键头
40 28 VK_DOWN √ 下箭头
41 29 VK_SELECT
42 2A VK_PAINT
43 2B VK_EXECUTE
44 2C VK_SNAPSHOT Paint Screen键
45 2D VK_INSERT √ Insert键
46 2E VK_DELETE √ Del键
47 2F VK_HELP
48 - 57 30 - 39 无 √ 主键盘上的0到9
65 - 90 41 - 5A 无 √ A - Z
91 5B VK_LWIN 左Windows键
92 5C VK_RWIN 右Windows键
93 5D VK_APPS Applicatin键
96 - 105 60 - 69 VK_NUMPAD0 - VK_NUMPAD9 小键盘区的0 - 9
106 6A VK_MULTIPLY 小键盘区的*
107 6B VK_ADD 小键盘区的+
108 6C VK_SEPARATOR
109 6D VK_SUBTRACT 小键盘区的-
110 6E VK_DECIMAL 小键盘区的.
111 6F VK_DIVIDE 小键盘区的/
112 - 121 70 - 79 VK_F1 - VK_F10 √ 功能键F1 - F10
122 - 135 7A- 79 VK_F11 - VK_F24 功能键F11 - F24
144 90 VK_NUMLOCK 数字锁定键
145 91 VK_SCROLL Scroll Lock键
大写标识符说明
CS_HREDRAW
CS_VREDRAW
IDI_APPLICATION
IDC_ARROW
MB_OK
MB_ICONERROR
WS_OVERLAPPEDWINDOW
CW_USEDEFAULT
DT_SINGLELINE
DT_CENTER
DT_VCENTER
WM_CREATE
WM_PAINT
WM_LBUTTONDOWN
WM_DESTROY
这些标识符均为数值常量, 在WINUSER.H头文件中有定义, 该程序中用到的一些标识符前缀含义为:
前缀 含义
CS_ 类风格选项
CW_ 创建窗口选项
DT_ 文本绘制选项
IDI_ 图标的ID号
IDC_ 光标的ID号
MB_ 消息框选项
WM_ 窗口消息
WS_ 窗口风格
句柄
不同类型的句柄有不同的标识符, 在我们尝试创建窗口的代码中用到的句柄有:
标识符 含义
HINSTANCE 实例句柄, 指程序本身
HWND 窗口句柄
HDC 设备环境句柄
HBRUSH 图形画刷句柄
句柄是一个标识符,用来来标识对象, 一个句柄使用四个字节长的整数来存储一个整数值, 这个具体的整数值实际上我们并不需要知道是多少, 我们要做的就是传递句柄, Windows会知道如果用过这个句柄找到并以引用相应的对象。
经常使用的匈牙利命名的前缀如下:
前缀 含义描述
p 指针
fn 函数
v 无效
h 句柄
l 长整形
b 布尔型
f 浮点型
dw 双字
sz 字符串
n 短整型
d 双精度浮点型
c 计数, 通常写为cnt
ch 字符, 通常写为c
i 整型
by 字节
w 字型
r 实型
u 无符号型
例如
szCmdLine, 通过变量名我们就可以知道这是一个"以0结束的字符串";
hInstance, 以h开头, 代表一个句柄;
iCmdShow, 以i开头, 代表一个int整形。
5000万买来的27条教训:4年从打工仔变身总裁
2015-06-05
分享
2002年3月27日,怀揣借来的1900元,到深圳打工、创业。第一夜露宿街头,第二天开始找工作、面试、住10元店的艰辛历程。最终放弃了4500元且有免费午餐的“高薪”,选择月薪800元的工作,只是为了进入目标行业。
2006年,打工公司的3个老板一起给我投资。一年半后,股东分红超10倍。2008年,又投资五千万元设计研发通讯模组。2011年,由于不懂大势,又不拘小节,公司开始裁员。从最多的300多人到最少的3个人,且负债1500万。但我没有走破产程序,而是卖掉个人豪宅豪车偿还公司债务。目前几乎还清。
现在正开始新的“无颠覆,不创业”的曼妙旅程。以下为我用天价(超过五千万的现金和青春)换来的一些经验免费分享给大家:
1.经济周期。永远牢记:人法地,地法天,天法道,道法自然。自然规律与人性的规矩决定了经济规律,即经济周期。
2.Less is more。做减法,不仅指产品,还包括管理及企业的管理链条等。甚至你的双肩包里都要少而精,有序、不要杂乱,这是个习惯。简单说,就是尽量杜绝像ID、 MD、UI、研发、生产、售后等都自己做。该外包的外包(比如设计和品牌营销),只做最核心的环节,力求做到轻资产。用现在流行的词儿就叫“专注”。
3.未雨绸缪。资金充足的时候就要和VC、银行等保持密切联系,不要等到需要时。
4.每天或至少每周都在专门讨论财务报表,并进行相应的调整;而不是每月、每季度或每年。
5.在内部管理及业务等方面,杀手锏永远要在自己手上。
6.永远要找最好的供应商,哪怕要请他吃饭,而不是不合适的供应商请你吃饭。
7.团队要找最能做好事情的,而不是最熟悉或最信任的。
8.如果战略和战术“精、准、狠”,即使双休+度假也完全不影响大局。反之,天天通宵也难逃败运。
9.有能力的时候尽量多帮助值得帮助的人,尤其金钱上的帮助。当你陷入困境之时,就会有回报。
10.当有朋友公司因为经营困难需要借钱周转时(不包括开始创业,指经营几年后),不借钱给他就是“爱他”;借钱反而害了他。
11.君子善假于物,更善假于势。做大势所趋的事,别做趋势在下行的事。就是流行的“风口论”吧。
12.创业的你首先要考虑的是:如何能让竞争对手无法超越你;或,要想超过你,要付出巨大代价和风险。
13.从创业者到企业家的路很长,不要梦想做百年品牌、百年企业,你做的就是个赚钱的生意而已。企业的失败是迟早的,晚失败不如早失败。
14.当你要推出一个全新的生意或产品去征求意见时,如果“人才”们一致看好,你可要小心了。另外,公司的战略绝不能民主表决。如果谁都能制定正确的战略,就轮不到你做老板。
15.产品多功能的时代已经渐去。设计第一,简单、极致、美的产品会受到来自“外貌协会”的消费者的欣赏。消费也是“一白遮百丑”。
16.不要等所有条件都齐备才开始干,而要边干边解决。这就是为什么高学历或“聪明”的人鲜有创业成功的重要原因之一。
17.不要惧怕风险。人生最大的风险就是死亡,而它迟早会来,你还怕什么?
18.不要长期持有一个企业,高峰期卖掉、上市或退出是最好的结果。一个人或团队很难永远都与时俱进,瓶颈迟早出现。而更重要的是:装在口袋里的才是钱!
19.任何困难和问题——即使面对***讨债、债主以死相逼等——只要直面、正视,没有过不去的火焰山,明早的太阳依然会升起。
20.员工每天都在看老板的一言一行。所以即使面对再大的困难,走进办公室那一刻,都要面带笑容,昂首挺胸!
21.员工流动性低不见得是好事,多数岗位需要保持一定的流动性。长期来看,老板要打造铁打的营盘,而不是打造或依靠某个英雄。
22.创业相当于千军万马过独木桥,成功者往往是没退路的人。有太多选项的“人才”不适合创业。
23.千万不要相信“只要用钱能解决的问题都不是问题”类似的屁话。现实是:所有问题和麻烦都和钱有关。如果谁都有不断的资金链,理论上就没人倒闭和破产了!
24.你完全没必要去学习MBA或去读“任正非是如何管理华为”的书,除非你的目的是想去进所谓的圈子。当你的企业到了那个规模时,自然有智慧去解决问题。你应该去了解任正非四十多岁刚创立华为时是如何做的,这些“一般人我不告诉他”。如果要读书,哲学与历史,会更有益。
25.个人如果有超过2000万的现金,一定要请专门的人做专业的多元化投资,分担风险。每年要固定的收益,不贪暴利,只求稳定。
26.创业者是孤独的。如果你不能享受这种孤独,或,你心底没有把沿途的艰难险阻当做最美的风景、没有当成你收获的一部分,那么,你还是安心地当专职司机吧。
27. 健康才是你最大的本钱。在任何处境下,都要首先保证健康的需要。当年刚来深圳的我,在口袋只有4个硬币的时候,也要买一盒牛奶和菜包,而绝不吃可能有地沟油的2元的盒饭。在我陷入困境的几年里,很多东西改变了,但每周的打球、游泳、健身、钓鱼,及规律的饮食一直未变。保持健康与激情,这个本钱,VC帮不了 你。
还在创业中感到迷茫的你,看了以上这27条干货,是不是也感到豁然开朗了?正如这么创业者自己所言,他从打工仔蜕变为公司老板,最终因为对趋势把握问题,重新回到原点。可见对于任何一个企业家而言,对于未来整体趋势把控是十分重要的。试想如果一名企业家不能深谋远虑,比别人看得更长远,又怎么能带领自己的企业和员工迈向更高的台阶呢。
来源:IT时代周刊
使用VS2005以上版本(VS2005、VS2008、VS2010)编译在其他编译器下正常通过的C语言程序,你可能会遇到类似如下的警告提示:
引用内容
warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:/program files/microsoft visual studio 10.0/vc/include/string.h(105) : 参见“strcpy”的声明
warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:/program files/microsoft visual studio 10.0/vc/include/stdio.h(234) : 参见“fopen”的声明
原因解释
这种微软的警告,主要因为那些C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了同样功能的函数,改写了的函数进行了参数的检测,使用这些新的函数会更安全和便捷。关于这些改写的函数你不用专门去记忆,因为编译器对于每个函数在给出警告时,都会告诉你相应的安全函数,查看警告信息就可以获知,在使用时也再查看一下MSDN详细了解。库函数改写例子:
mkdir改写为 _mkdir
fopen”改写为 fopen_s
stricmp改写为 stricmp_s
strcpy改写为strcpy_s
解决方案:
1> 根据下面的warning提示:参见“fopen”的声明
消息:“This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.”
所以可以将函数按warning提示的第二句,改为使用fopen_s函数即可:
例如:FILE *pFile=fopen("1.txt", "w");
改为:
FILE* pFile;
fopen_s(&pFile, "1.txt", "w");
2> 还是根据warning提示的地三句话:use _CRT_SECURE_NO_DEPRECATE
项目|属性|配置属性|C/C++|命令行|附加选项,加入【/D "_CRT_SECURE_NO_DEPRECATE" 】(注:加入中括号中完整的内容)
3> 降低警告级别:项目|属性|配置属性|C/C++|常规,自己根据情况降低警告级别(此法不推荐)
注意:高度重视警告:使用编译器的最高警告级别。应该要求构建是干净利落的(没有警告)。理解所有警告。通过 修改代码而不是降低警告级别来排除警告。
编译器是你的朋友。如果它对某个构造发出警告,这经常是说明你的代码中存在潜在的问题。成功的构建应该是无声无息的(没有警告的)。【《C++编程规 范》】
通过修改配置,第2中方法可以用
详情参考:WebSocket 实战
摘录
WebSocket 服务端 API 及客户端 API
WebSocket 服务端 API
WebSocket 服务端在各个主流应用服务器厂商中已基本获得符合 JEE JSR356 标准规范 API 的支持(详见JSR356 WebSocket API 规范),以下列举了部分常见的商用及开源应用服务器对 WebSocket Server 端的支持情况:
表 1.WebSocket 服务端支持
厂商 应用服务器 备注
IBM WebSphere WebSphere 8.0 以上版本支持,7.X 之前版本结合 MQTT 支持类似的 HTTP 长连接
甲骨文 WebLogic WebLogic 12c 支持,11g 及 10g 版本通过 HTTP Publish 支持类似的 HTTP 长连接
微软 IIS IIS 7.0+支持
Apache Tomcat Tomcat 7.0.5+支持,7.0.2X 及 7.0.3X 通过自定义 API 支持
Jetty Jetty 7.0+支持
JSR356 的 WebSocket 规范使用 javax.websocket.*的 API,可以将一个普通 Java 对象(POJO)使用 @ServerEndpoint 注释作为 WebSocket 服务器的端点,
WebSocket 客户端 API
对于 WebSocket 客户端,主流的浏览器(包括 PC 和移动终端)现已都支持标准的 HTML5 的 WebSocket API,这意味着客户端的 WebSocket JavaScirpt 脚本具备良好的一致性和跨平台特性,以下列举了常见的浏览器厂商对 WebSocket 的支持情况:
表 2.WebSocket 客户端支持
浏览器 支持情况
Chrome Chrome version 4+支持
Firefox Firefox version 5+支持
IE IE version 10+支持
Safari IOS 5+支持
Android Brower Android 4.5+支持
客户端 WebSocket API 基本上已经在各个主流浏览器厂商中实现了统一,因此使用标准 HTML5 定义的 WebSocket 客户端的 JavaScript API 即可,当然也可以使用业界满足 WebSocket 标准规范的开源框架,如 Socket.io。
原文链接
本文原标题:八小时内做好人脉建设
讲的不错,收录下
三十岁以后我们是“ 五养新人 ”:
a、 有一套房子需要供养
b、 有一个孩子需要抚养
c、 有四个老人需要赡养
d、 有一些爱好需要培养
e、 有几个朋友需要护养
经验通俗一点讲是我们接到一个任务,立刻知道:
a、 做什么-what?
b、 找谁做-who?
c、 到哪儿做-where?
d、 什么时间做-when?
e、 为什么要做-why?
f、 怎么做-how?
g、 投入多少-how much?
h、 成本多少-how cost?
如何在公司内的8小时做好人脉规划呢?其实可以从同仁的需求来分析看看:
a、 同事需要回馈(现实是:一封邮件往往石沉大海)
b、 同事需要关注(现实是:高价买了一件衣服或者是变更了头型,往往无人问津)
c、 同事需要关心(现实是:工作郁闷时无人问津,被老板呵斥是唯恐沾到火星)
d、 同事需要支持(现实是:一件涉及多个部门的专案,除了当事人急外,其它兄弟姐妹往往…….)
如果你按照如下的行为去做做看,效果会大大不同:
a、 回复别人的邮件,哪怕仅仅是收到、了解、谢谢、遵照执行这些简单的话语;
b、 时常赞美同事的表现,哪怕一件看起来舒服的衣服;
c、 分享自己的观念和见解,俗话说的好,你有一个苹果,我有一个苹果,分享后一人还是一个苹果;你有一个观念,我有一个观念,分享后就是两个观念,无形的东西越分越多;
d、 常面对笑容,笑容是最具有感染力的东西,成本最低,产出最大。
事件监听器及其方法
* 时间监听器 监听器接口名 适用方法
* 窗口事件监听器 WindowListener windowClosing, windowOpend, windowIconified, windowDeconified, windowClosed, windowActived, windowDeactived
* 活动事件监听器 ActionListener activePerformed
* 鼠标事件监听器 MouseListener mousePressed, mouseRelesed, mouseEntered,mouseExited mouseClicked
* 鼠标运动监听器 MouseMotionListener mouseDragged, mouseMoved
* 键盘事件监听器 KeyListener keyPressed, keyRelesed, keyTyped
* 容器事件监听器 ContainerListener componentAdd, componentRemoved
* 组件事件监听器 ComponentListener componentMoved, componentHidden, componentResized, componentShown
* 输入事件监听器 InputListener -
* 文本事件监听器 TextListener textValueChange
* 选项事件监听器 ItemListener itemStateChange
* 调整事件监听器 AdjuctmentListener adjuctmentValueChange
* 焦点事件监听器 FoucsListener foucsGained, foucsLost
* 绘制事件监听器 PaintListener paintComponent
事件要素是事件模型的核心。在计算机系统中,突然掉电,另外一个应用程序启动而覆盖了本程序的窗口等也是事件,但这不是本程序要处理的。程序中的事件大多数是的用户参与引起的,有时需要响应的。Java把这些事件预制了许多类,因此与事件源一样,事件也是对象。所有事件类都继承自java.util.EventObject类。这个类用一个方法getSource()来跟踪或捕获事件源。从EventObject继承了一个AWTEvent事件,它是一切AWT事件的父类,它们都在java.awt.event包中。相应的swing事件都在javax.swing.event包中。
AWT事件类有窗口事件WindowEvent,活动事件ActionEvent,鼠标事件MouseEvent,键盘事件KeyEvent,容器事件ContainerEvent,组件事件ComponentEvent,输入事件InputEvent,文本事件TextEvent,选项事件ItemEvent,调整事件AdjuctmentEvent,焦点事件FoucsEvent 和绘制事件PaintEvent。PaintEvent比较特殊,它不传递给任何监听器。每次组件刷新时自动调用paintComponent方法把组件重画一次。
事件源对象就是激发事件的窗口或组件对象。几乎所有组件都可能称为事件源。
事件监听器是一种java的接口类,它的功能是捕获事件源对象并提供处理这类事件的各种方法。当然,接口中的方法是抽象的,需要在添加监听器接口的类中给出具体实现。要注意的是,接口中的所有方法都要“实现”,如果你不需要作什么,则也要给出一个“空实现”—空的方法体。这是“接口”结构所规定的。为了简化代码编写,Java又提供了一个叫做监听器适配器的东西,稍后我们就要提到它。
每一个事件类都有一个对应的事件监听器(Listener),鼠标事件有两个。监听器的命名规则是:把事件名中Event的改为Listener就可,例如,ActionEvent - ActionListener。
事件及其适用对象(可能的事件源)
窗口事件WindowEvent 当窗口状态(大小位置等)发生改变时发生。适用于window和Frame对象。
活动事件ActionEvent 为点击按钮、文本框输入后按回车键、菜单和组合框选择等用户活动所激发。适用于Button, List, ComboBox, TextField, MenuItem等。
鼠标事件MouseEvent 为用户鼠标操作所激发,适用于所有组件。
键盘事件KeyEvent 为用户键盘操作所激发,适用于所有组件。
容器事件ContainerEvent 当容器内的组件增删时发生。适用于容器类对象。
组件事件ComponentEvent 当组件被移动、改变时发生。适用于所有组件。
输入事件InputEvent 所有输入事件类的父类。
文本事件TextEvent 当文本组件的内容改变时发生,适用于文本区和文本框。
选项事件ItemEvent 当选项被选择时发生,适用于有选项的组件如列表框和组合框等。
调整事件AdjuctmentEvent 当用户调整滚动条时发生,适用于滚动条面版。
焦点事件FoucsEvent 当组件聚焦或失去焦点时发生,适用于tab键能够达到的所有组件。
和绘制事件PaintEvent 每次组件刷新时发生。自动调用paintComponent重画组件。
第一章 什么是JAVA?
1.1 什么是Java?
1.2 Java的历史渊源
1.3 Java语言的特色和优点
1.4 Java的运行环境和开发工具
1.5 JDK工具包的安装、设置
1.6 Java程序的编译和运行
第二章 从Hello World例程开始
2.1 一个简单而又完整的例程
2.2 编译和运行应用程序
2.3 Application和Applet的区别
第三章 基本语言元素
3.1 基本数据类型
3.2 运算符
3.3 变量常量和表达式
3.4 例程几则
第四章 流程控制语句
4.1 赋值语句
4.2 注释语句
4.3 分支语句if和switch
4.4 循环语句for
4.5 循环语句while和do-while
4.6 break,continue和return语句
4.7 try-caatch语句
第五章 对象入门
5.1 面向对象的程序设计
5.2 类和对象
5.3 数据成员和方法成员
5.4 构建器
5.5 继承与多态
5.6 static关键字和静态类
5.7 方法调用中的参数传递
第六章 字符串和简单输入输出
6.1 String类
6.2 String类的常用方法
6.3 字符串和基本类型之间的转换
6.4 简单的输入输出方法
6.5 Stringbuffer类
第七章 数组
7.1 一维数组
7.2 二维数组
7.3 查找和排序
第八章 抽象类、接口、包
8.1 抽象类和抽象方法
8.2 接口
8.3 包
8.4 Java访问指示符
第九章 异常处理
9.1 Java的异常控制机制
9.2 异常类、违例规范和throw语句
9.3 用finally清理
9.4 创建自己的异常类
第十章 输入输出流类
10.1 字节流输入输出
10.2 文本文件的读写
10.3 数据流和对象流
10.4 字符流输入输出
第十一章 文件管理—File类
11.1 数据成员和构建器
11.2 显示目录清单
11.3 创建和删除
11.4 文件属性测试
11.5 临时文件的应用
第十二章 绘图类—Graphics
12.1 在Applet中写字和画图
12.2 设置颜色和字体
10.3 基本图形的绘制
第十三章 图形用户界面的基本概念
13.1 组件和容器
13.2 按钮和布局管理器
13.3 最常用的组件
10.4 常用组件用法示例
10.5 事件的基本概念
第十四章 组件及其事件监听器的用法
14.1 按钮、文本组件和活动监听器
14.2 选择框、列表框和组合框
14.3 表格和树
14.4 菜单
14.5 对话框
14.6 卡式布局器
14.7 键盘监听器和鼠标监听器
第十五章 利用URL类获取网络资源
15.1 URL类和网络资源
15.2 从网上获取和显示图片
15.3 任意文件的下载
附录
附录一 J2SE的JDK中常用工具简介
附录二 Java 2 SDK 标准版文档
附录三 Java编辑器FreeJava
附录四 Java专业网站和资源
附录五 本书源代码提取程序
应该这样检查你的环境和你的操作:
1、你的文件名对吗?
JAVA要求你的文件和你的类名严格对应的。
比如 public class HelloWorld{ .....
那么文件名一定只能是HelloWorld.java,看仔细了!
2、你的程序中有main方法吗?参数什么的对吗?
main方法的声明应该是这样子的:
public static void main(String[] args)
事实上如果你用开发工具来做的话,是不会错的。如果你用UltraEdit之类的来写程序的话,就一个字不要改的照抄吧!
3、记住,javac后面跟的参数是文件名,但java 后面跟的是类名!
这是我开始学JAVA是犯的错,java HelloWorld.class,然后就报错。后来才弄明白,应该是java HelloWorld。
4、设置了classpath了吗?
不仅是在安装JDK时要设置的内容,一般来说最好还要自己设置一个目录来存放自己的类文件的。比如d:\class目录。
设置classpath=%classpath%;d:\class
那么,现在将HelloWorld.class文件COPY到d:\class目录下,再java HelloWorld应该就OK了。
5、结合第3点和第4点
如果你的类是属于某一个包的,比如这样一个类sony.test.HelloWorld,那么按照我在第4点中说的目录来说,就应该将HelloWorld.class文件存放到d:\class\sony\test\目录下。
执行的时候应该参考第3点中说的,按类名执行:java sony.test.HelloWorld。
明白了吗?一直我也想不出还会有什么理由造成这个出错信息了!如果有哪位兄弟想到了就补充一下吧!
其实如果你使用了一些比较好的编程工具的话,根本就没有机会碰到这个错误的
6.import 了你的包名了吗?
需要说明的是这种方法完全可以解决标题的问题,而其中的CLASSPATH的设置后,回覆盖你原来的设置,即变成了classpath=%classpath%;d:\class 我了解到CLASSPATH实际上是一个类的目录,而之所以编译正确而无法运行是因为,没有找到你的CLASS类所在的位置,一般我们编译好一个源程序后,会在本目录下出现一个类文件,那么我们直接把CLASSPATH设置在你新建的源程序的目录下就可以了,例如你在D盘中建了一个专门放自己编的源程序的文件夹D:\JAVA 那么在DOS命令提示符中运行JAVA程序时就不会有报错了.一般我们用高级开发工具(如JCeartor)就不会出现这种报错情况.
补充:
package com.pera.test;
public class App {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("Hello Newapp");
}
}
程序如上:
假设App.java存放在D盘根目录
编译:
打开cmd,进入D盘根目录,
1. 使用Javac App.java 进行编译,默认会在D盘根目录生成App.class文件。
2. 使用javac App.java –d \ 则会在D盘根目录bin目录按照App类的包结构生成目录结构及App.class
D:
--com
--pera
--test
--App.class
执行:
将D盘根目录(要执行类的根目录)加入环境变量 CLASSPATH中。
1. 第一种编译方式时,执行 java java com.pera.test.App会抛出异常: Exception in thread "main" java.lang.NoClassDefFoundError
解决办法:D盘根目录新建目录com/pera/test,将App.class剪切至。
2.运行 java com.pera.test.App,提示执行成功!
MinGW,是Minimalist GNU For Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时库。
MinGW,它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC 产生 Windows32 程序。
MinGW 官方地址:http://www.mingw.org/
官方在SourceForge下载地址:http://sourceforge.net/projects/mingw/
下载安装:(修改安装路径,建议为英文路径。)
下面是自动安装的过程。安装后出现界面:选择安装下面四个基本选项。
配置环境变量:在Path中最后加入:;D:\Program files\MinGW\bin以上面默认安装路径为例;
测试是否安装成功:打开cmd命令行,输入:gcc -v显示如下:说明安装成功。
到这里MinGW的安装就完成了。我们可以写个小程序测试下编译器。
出处:http://xlbd.net/xlbd/1639.html
【Sublime Text 3】 The text editer you fall in love with.
这篇文章来讨论下如何在Windows下使用Sublime Text 3编译C语言程序。
一直从事Linux系统下C语言开发,突然试着想找找新的编程方式。
试试能不能在Windows下开发并编译C语言程序。
自从我发现这款“神器”之后,我就觉得这款编辑器能有很大的潜力。
因为功能丰富的插件让Sublime Text更加便捷好用,更加Sexy。
1. 安装GNU
在Window下编译C语言程序,需要用到MinGW(Minimalist GNU for Windows)。
MinGW的安装参见:GNU 编译器工具 MinGW的安装与配置
2. 配置Sublime Text 3
配置编译命令
点击 Sublime Text 3 >> Tools >> Build System >> New Build System...
输入如下代码
{
"cmd": ["gcc","${file}","-o","${file_path}/${file_base_name}"],
"file_regex":"^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir":"${file_path}",
"selector":"source.c",
"encoding":"cp936",
"variants":
[
{
"name":"Run",
"cmd" :["cmd","/c","gcc","${file}","-o","${file_path}/${file_base_name}","&&","cmd","/c","${file_path}/${file_base_name}"]
},
{
"name":"RunInCommand",
"cmd" :["cmd","/c","gcc","${file}","-o","${file_path}/${file_base_name}","&&","start","cmd","/c","${file_path}/${file_base_name} && pause"]
}
]
}
保存文件名为:GCC_Complier.sublime-build
配置快捷键:编译之后在CMD中运行
点击Sublime Text 3 >> Preferences >> Key Bindings -User
输入如下代码:
[
{"keys":["ctrl+alt+shift+b"],"command":"build","args":{"variant":"RunInCommand"}}
]
3. 编译测试程序
新建一个.c文件,例如:test.c
#include <stdio.h>
int main()
{
printf("Hello world,I am here ground you ! \n");
scanf("Press any key continue ...");
}
执行 Ctrl + B【Build】命令,进行编译。可以看到控制台显示如下:
[Finished in 0.5s]
执行 Ctrl + Shift + B【Run】命令,编译并执行。可以看到控制台显示如下:
Hello world,I am here ground you !
[Finished in 0.9s]
执行 Ctrl + Shift + Alt + B【RunInCommand】命令,编译并在CMD中执行命令行;
到此实现了在Sublime Text 3中编译C语言程序。Sublime Text 3还有很多功能等着我们去发觉和探讨。