80后创业者,公司被马云收购,扫码支付是他发明的
文章来源: 创业家 于
- 新闻取自各大新闻媒体,新闻内容并不代表本网立场!
他是PHPWind社区的最初创办者,2008年被阿里收购后,他和团队一起加入阿里。在马云的授信下,他成为阿里云第一任总经理,带领阿里云成为国内云计算的行业标杆,他是扫码支付的创始人。3年多前,这位技术狂人“出走”阿里,一头扎进了AI领域,创办涂鸦智能。如今,涂鸦智能已完成数亿B轮融资,智能产品遍布近200个国家和地区,成为阿里云Top50的重要客户。他就是王学集。
82年生的王学集大二就开始创业了。热爱写代码的他就自学C语言、JAVA,偶然得知php是一种语言后,他去图书馆借了本书花了半小时就看懂了。大二下半年他写了个叫“流星留言本“的程序,被很多人使用。
2003年王学集和几个同学创办了PHPWind论坛。当时这是国内最著名的php论坛系统之一,曾经帮助了百万级别的小白版主和站长建立了属于自己的论坛。
2004年底,王学集和好友陈燎罕成立公司,正式发布PHPWind,20多个员工租着3000元一个月的房子办公,靠着卖软件授权和服务费过活。2006年,互联网创业氛围兴起,王学集顺利拿下一轮融资,PHPWind从收费变成了免费,客户暴增。
2008年,阿里巴巴投资战略副总裁来跟王学集商议收购事宜,希望能将PHPWind的业务和团队一并拿下,当时的阿里正和腾讯激烈竞争,社交正是它的短板,收购PHPWind是马云基于战略补充的一个布局。
毕业仅三年的王学集接受了这次收购,PHPWind的所有成员成为阿里云的第一个业务团队,王学集被马云委以重任,成为阿里云的第一任负责人。
最初那几年,阿里云在阿里内部是不赚钱的子公司,然而阿里云很快有了技术突破。最初阿里云测试时用的是phpwind.aliyun.com,这个域名用了三个月后,2011年7月正式发布阿里云。
阿里云有了一些起色之后,王学集和陈燎罕一并创立了手机淘宝孵化项目。项目试验3个月后成立淘点点事业部,这个团队一度成功开发“扫码支付”,第一个把二维码贴到商家门口,从技术上让移动支付体验美梦成真。
2014年王学集和陈燎罕先后离职,同年6月,他们共同创立了涂鸦智能,目前涂鸦智能已完成数亿B轮融资,产品覆盖200个国家、10000+的制造业客户,日AI交互次数超过500万次,客户总GMV超过1亿次。
-->
`,
"script":[]
}
, "gg_rightside": {
"html":`
`,
"script":[{"type":"text/javascript","src":"//widgets.outbrain.com/outbrain.js","async":"async"}]
}
, "gg_duturandom": {
"html":`
`,
"script":[]
}
, "gg_square": {
"html":`
`,
"script":[]
}
, "gg_topbanner": {
"html":`
`,
"script":[]
}
, "gg_middlesquare": {
"html":`
`,
"script":[]
}
, "gg_dutu": {
"html":`
`,
"script":[]
}
, "gg_botline": {
"html":``,
"script":[]
}
, "gg_dututop": {
"html":`
`,
"script":[]
}
, "gg_shipintop": {
"html":`
`,
"script":[]
}
, "gg_inContent": {
"html":`
`,
"script":[]
}
, "gg_shipinrandom": {
"html":``,
"script":[]
}
, "gg_sideSticky": {
"html":`
`,
"script":[]
}
, "gg_bottombanner": {
"html":`
`,
"script":[{"type":"text/javascript","src":"//widgets.outbrain.com/outbrain.js","async":"async"}]
}
, "gg_marquee": {
"html":`
`,
"script":[]
}
}
const adEnv={
"gg_header": {
"html":``,
"script":[{"type":"text/javascript","exec":` var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; var pbjs = pbjs || {}; pbjs.que = pbjs.que || []; `},{"type":"text/javascript","src":"https://adncdnend.azureedge.net/adn-hb/adn.wnx2.js","async":""},{"src":"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js","async":"","data-ad-client":"ca-pub-7528949385909099"},{"type":"text/javascript","src":"https://adncdnend.azureedge.net/adn-video/WenxuecityPlayer.js","async":"async"}]
}
}
const wxcEnv = {
"base":{
"exe":[],
"src":[
{"src": "/news/js/recommendednews.js","defer":"true"},
{"src":"/js/wxcFunc.js","defer":"true"}
]
},
"func":{
"exe":[
//展示评论
'function showMoreComments(){let n = 0;for(let i=0;i
2){dom.hide();}}$("#showallcomment").show();$("#showlesscomment").hide();};',
],
"src":[
//图片,搜索,QR code
{"src": "/news/js/view.js?v=05132024"},
//计数器
{"src":"//count.wenxuecity.com/service/count/script/do.php?type=news&id=7619185&n=0&out=jsval","defer":"true"},
]
}
}
function wxcCode(){
wxcEnv.base.exe.forEach(x=>{
let tag = buildAdcode(x);
document.head.append(tag);
})
wxcEnv.base.src.forEach(src => {
let tag = buildSrc(src)
document.head.append(tag);
});
wxcEnv.func.exe.forEach(x=>{
let tag = buildAdcode(x);
document.body.append(tag);
})
wxcEnv.func.src.forEach(src => {
let tag = buildSrc(src)
document.body.append(tag);
});
}
function adcode(){
let adkey = Object.keys(ads);
adkey.forEach(x=>{
let code = ads[x].html;
let div = document.getElementById(x);
if(div)div.innerHTML = code;
ads[x].script.forEach(s=>{
if(Object.keys(s).indexOf('src')===-1){
let tag = buildAdcode(s.exec);
document.body.append(tag);
}else{
let tag = buildSrc(s);
document.body.append(tag);
}
})
})
}
function baseCode(){
let baseKeys = Object.keys(adEnv);
baseKeys.forEach(x=>{
adEnv[x].script.forEach(s=>{
if(Object.keys(s).indexOf('src')===-1){
let tag = buildAdcode(s.exec);
document.head.append(tag);
}else{
let tag = buildSrc(s);
document.head.append(tag);
}
})
})
}
function buildAdcode(script){
let tag = document.createElement('script');
tag.innerHTML = script;
return tag;
}
function buildSrc(obj){
let keys = Object.keys(obj);
let tag = document.createElement("script");
keys.forEach(key=>{
tag.setAttribute(key, obj[key]);
})
return tag ;
}