【TEGer 在全球架构师峰会】 : 腾讯移动分析系统揭密
作者简介:foreach,2012年加入腾讯,一直专注于腾讯大数据产品建设,重点参与腾讯移动分析(MTA)、腾讯移动推送(信鸽)等核心产品研发,亲身经历两款产品从0开始到数十万开发者使用的过程。目前专注于系统改造优化,以及广告与金融领域高价值服务建设。腾讯移动分析(MobileTencentAnalytics,简称MTA)是一款专业的第三方移动统计分析运营平台,是腾讯大数据对外开放的核心产品之一。平台不仅提供大数据的指标统计,满足常规的移动App运营诉求;还提供个性化、精细化的运营工具,能够有针对性去解决产品研发、运营中遇到具体领域问题;同时,还通过数据的开放生态,输出腾讯在大数据领域积累的能力,帮助企业快速、低成本使用或构建数据平台,提升企业竞争力。目前,平台每天接入的设备超过10亿台,每天新增日志条数超过5000亿条。十亿的设备账号和千亿的数据如何做计算处理、关联分析、多维交叉是一个不小的技术挑战,下面会分享构建海量数据分析平台的关键技术以及一系列思路与做法。开始之前,先简单介绍下MTA系统。MTA主要通过采集App、H5&小
MySQL数据库主从同步延迟分析及解决方案
一、MySQL的数据库主从复制原理MySQL主从复制实际上基于二进制日志,原理可以用一张图来表示:MySQL数据库主从同步延迟分析及解决方案分为四步走:1.主库对所有DDL和DML产生的日志写进binlog;2.主库生成一个logdump线程,用来给从库I/O线程读取binlog;3.从库的I/OThread去请求主库的binlog,并将得到的binlog日志写到relaylog文件中;4.从库的SQLThread会读取relaylog文件中的日志解析成具体操作,将主库的DDL和DML操作事件重放。关于DDL和DMLSQL语言共分为四大类:查询语言DQL,控制语言DCL,操纵语言DML,定义语言DDL。DQL:可以简单理解为SELECT语句;DCL:GRANT、ROLLBACK和COMMIT一类语句;DML:可以理解为CREATE一类的语句;DDL:INSERT、UPDATE和DELETE语句都是;二、主从复制存在的问题1.主库宕机后,数据可能丢失;2.主从同步延迟
前端MVC Vue2学习总结(二)——Vue的实例、生命周期与Vue脚手架(vue-cli)
一、Vue的实例1.1、创建一个Vue的实例每个Vue应用都是通过Vue函数创建一个新的Vue实例开始的:varvm=newVue({//选项})虽然没有完全遵循MVVM模型,Vue的设计无疑受到了它的启发。因此在文档中经常会使用vm(ViewModel的简称)这个变量名表示Vue实例。1、vue.js就是一个构造器,通过构造器Vue来实例化一个对象;例如:varvm=newVue({});2、实例化Vue时,需要传入一个参数(选项对象);3、参数:选项对象可以包含,数据(data)、挂载元素(el)、方法(methods)、模版(template)、生命周期函数等等;4、扩展构造器Vue,从而用预定义选项创建可复用的组件构造器,所有组件都是被扩展的Vue的实例,使用Vue.extend({})来扩展;注意:尽管可以命令式地创建扩展实例,不过在多数情况下建议将组件构造器注册为一个自定义元素,然后声明式地用在模板中。当创建一个Vue实例时,你可以传入一个选项对象。这
造一个属于自己的 UI 库
安装npmix-vui-S快速开始构建项目(配合vue-cli)#全局安装vue-clinpminstall--globalvue-cli#创建一个基于webpack模板的新项目vueinitwebpackmy-vui-project#安装依赖,并下载x-vuicdmy-vui-projectnpminstall&&npminstallx-vui#项目启动默认端口localhost:8080npmrundev完整引入importVuefrom'vue'importvuifrom'x-vui'import'x-vui/lib/vui-css/index.css';Vue.use(vui)部分引入importVuefrom'vue'import{Scroller,Select//...}from'x-vui'import'x-vui/lib/vui-css/scroller.css';import'x-vui/lib/vui-css/select.css';Vue.c
webpack 搭建vue 项目
由于本文内容是通过npm来加载vue,所以开始之前需安装nodejs环境,安装完成之后再执行以下步骤:创建项目mkdirvue-democdvue-demo使用npminit命令生成package.json文件npminit大概生成的package.json如下:{"name":"vue-demo","version":"1.0.0","description":"thisisavuedemo","main":"index.js","scripts":{"test":"echo\"Error:notestspecified\"&&exit1"},"license":"ISC","dependencies":{}}引入webpack,关于如何使用webpack请参考官网npminstallwebpack--save-dev如果使用npm下载的速度过慢,可以使用淘宝的cnpm镜像npminstall-gcnpm–registry=https://registry
JEECMS v9 发布,前端技术采用 VUE 框架
JEECMSv9源码工程转为Mawen版本,后台页面采用VUE技术全面进行了改版,新版本更注重用户体验,针对内容管理、留言、评论等功能进行了操作优化,对系统在海量数据读写性能上进行了大量的优化。JEECMS是一款集PC端、手机H5网页、APP、微信小程序的建站利器,支持栏目模型与内容模型交叉自定义,对于不懂技术的用户来说,只要通过后台的简单设置即可自定义集新闻管理、图库管理、视频管理、下载系统、文库管理、政务公开、作品管理、产品发布、供求信息、房屋租售、招聘信息、网络问券调查及留言板于一体的综合性且不失个性化的门户网站。JEECMSv9新增和完善功能列表1、后台页面采用VUE制作,后台管理页面可分离部署和开发2、源码工程转为Maven版本3、首页相关统计数据缓存处理,优化查询速度4、栏目数据复制5、专题新增个字段,标题首字母拼音查询6、站点设置和站点管理支持设置云存储OSS选择云存储,支持阿里云OSS、腾讯云COS、七牛云对象存储,支持上传选择云存储7、内容的预览功能8、简历新增打印
ionic3实战-随机布局瀑布流实现
相信看过图片的同学都明白什么意思了吧。对,就是瀑布流!但是今天我们的瀑布流可不是一般的瀑布流。让我们接着看:自动排版我们的要求是做那种随机凌乱的感觉,所以我们需要做一种机制,来将图片选择最优的一种排列方式来展示到页面上,也就是保证图片与相邻图片的比例是最合适的然后在实现排列.angular4相信这个效果如果在平常的jq插件中似乎也不难实现,确实,网上也能搜到一些jq的插件。但是我们的技术栈是angular4呀~在ng中我们的DOM操作基本都是放在指令中的,相信用过angularjs1.x的同学并不陌生了吧~,在angular4中也是一样。好了,让我们贴代码~创建指令我们假设你已经在你的ionic中建立好了相关的组件,并且已经拥有的图片数据,如果没有相关基础的同学建议大家先去看看ionic3与angular4的入门。这是我的一个组件html的页面,也许眼尖的同学已经发现了我们的指令[imagr-sort]="item",对的,我们的指令是需要你当前的图片的angular数据的。创建一个指令tsionicgdirective
别黑JavaScript了,它真的又“老”又潮
虽然总是有人黑JavaScript,但全球1000万个最受欢迎的网页中,近百分之九十五都是使用JavaScript搭建的,包括GoogleChrome、Firefox和InternetExplorer等全球范围内最受欢迎的浏览器。大批程序员都认为JavaScript框架非常棒,提供了方便阅读和调试可用代码。在美国,JavaScript开发者的平均工资是72500美元,而经验丰富的开发者每年可以轻松挣到超过10万美元。JavaScript让网页活跃起来。发布状态更新时,无需重新加载页面;用户发送的所有请求都可以在自己的计算机上处理;支持客户端处理,减少了服务器端的负载。JavaScript不仅在Web响应用户行为方面责任,同时也是编写跨平台应用程序的好语言。随着Node.js的出现,开发人员现在可以编写复杂的服务器端代码。JavaScript之所以如此受欢迎,除了自身魅力之外,也离不开HTML和CSS的支持。只要有人使用互联网和网站互动,对前端JavaScript开发人员的需求就会一直存在。虽然谷歌、微软、火狐以及其他人正试图提
利用CSS3 font-feature-settings特性减除字体动画震颤
在做GithubProfile项目的时候,使用了数字动画展示的效果,如MyGithubProfile页面中的commits,stars以及followers数字。实际使用中,由于数字字体不等宽,造成在数字增长动画时很明显的震颤,体验非常不好。这里我最终使用了CSS的font-feature-settings的属性来解决了这一问题,先来看解决前后的效果对比图。font-feature-settingsfont-feature-settings是CSS的高级特性,用来提供对OpenType字体图形展示调节,MDN·font-feature-settings。首先CSS3提供了一组与OpenType字体特性显示映射的属性和值,这里我们首先利用了font-variant-numeric,并将其值设为tabular-nums,这表示要求字体的数字图像保持尺寸一致,并像在表格中一样对齐,这等同于OpenType字体中的tnum。当没有对应的属性映射时,我们则可以使用font-feature-settings
数据的随机抽取 及 jQuery补充效果(菜单、移动)
一、数据的随机抽取都见过那种考试题从很多题中随机抽取几道的试卷吧,现在就要做这样的一个例子:从数据库中随机抽取几条数据出来显示(例如:一百中随机挑选50条)随机挑选是要有提交数据的,所以肯定是要有可视化界面和后台处理页面(1)提交界面a.使用表单提交(做出一个表单来,这都是页面布局的程序了,在这不多说肯定都会使用from表单)如下:
〔总结〕JQ常见效果整理汇总资料
1.滚动条插件-jQuerycustomcontentscroller(美化)jQuery滚动条插件jQuerycustomcontentscroller支持横向滚动纵向滚动以及多种滚动显示效果。使用这个插件你可以轻松的给你的层追加很好看的滚动条。如图,当然可以根据自己的需要修改其颜色,滚动条的宽度使用步骤1.引用jQuery类库极其相关的插件js和css库
小程序“圣诞帽”的实现思路
思路1.获取用户头像wx.getUserInfo({success:function(res){varuserInfo=res.userInfovaravatarUrl=userInfo.avatarUrl}})这里有个问题需要注意,canvas不支持网络图片,上面获取的只是头像图片地址,所以在这里要把图片下载到微信的临时目录。代码如下:wx.downloadFile({url:userInfo.avatarUrl,success:function(res){if(res.statusCode===200){avatarUrl=res.tempFilePath//这里的地址是指向本地图片}}})获取头像这一步用的是微信现成的API比较方便。2.绘制用户头像此处封装了常用的方法,下方avatarImg.w和avatarImg.h是指头像的大小。drawAvatar:function(img){ctx.drawImage(img,0,0,avatarImg.w,avatarImg.h)
在Office Add-in中实现单点登陆(SSO)
在OfficeAdd-in中实现单点登陆(SSO)作者:陈希章发表于2017年12月27日这篇文章经过多次修改,终于在今天晚上写完了,演示用的范例代码也终于跑通了。因为这个SSO的功能目前只是Preview的状态,所以本篇文章严格参考了官方的文档,并且对其中的重点环节做了提示,对最终效果做了说明。官方的文档请参考https://docs.microsoft.com/en-us/office/dev/add-ins/develop/sso-in-office-add-insOfficeAdd-inSSO认证流程和原理实现OfficeAdd-in的单点登录是要解决一个典型问题:已登陆到Office的用户,能否直接利用他自己的身份去访问到MicrosoftGraph的资源,而无需再次登录。请注意,目前这个功能是Preview的状态。所以要进行测试的话,你必须是某个Office365Tenant的全局管理员。如果不具备这个条件,你将无法完成这个实验,但你可以通过这个文章对单点登录流程和效果有一个基本认识。下图是Offi
.net WCF简单实例
.netWCF简单实例最近看到网上招聘有许多都需要WCF技术的人员,我之前一直没接触过这个东西,以后工作中难免会遇到,所谓笨鸟先飞,于是我就一探究竟,便有了这边文章。由于是初学WCF没有深入研究其原理,只是写了一个demo留着以后,如果哪里写的不对希望大佬们能指出批评。个人认为WCF类似于WebServices(类似,肯定是有区别的,至于啥区别可以搜搜资料),不多说了,接下来看我简单实现的demo吧。WCF服务用于两个不同项目中的调用,在这里我举例项目A调用WCF服务实现查询数据功能。第一步:创建数据库,有点数据能展示出来就行。CreatedatabaseSalesLibrary--创建库CreatetableSalesVolume--创建表(Idint,Numint,Productvarchar(20))第二步:创建存储过程(可以没有此步,只是方便查询)。createprocproc_ShowSalesVolumeasselect*fromdbo.SalesVolume第三
你知道吗?IT 曾是女性主导的行业
不可否认,女性程序员在全球IT领域仍处于劣势地位。2015年调查数据显示,Facebook的IT人员中仅16%为女性,谷歌为18%,而2014年夏,谷歌、雅虎、领英和Facebook公布本公司女性员工雇用比率时,就承认这一水平过低。事实数据说明,这些大型技术公司在提高女性程序员数量上仍需更多努力。让我们再聚焦中国IT从业人员。互联网求职平台100offer在2016年公布的中国互联网女性工程师工作报告表明,过去一年,男性程序员的注册人数是女性程序员的近4倍。此外,同一职位上的男性程序员薪资普遍高于女性程序员。实际上,女性在IT行业,甚至包括整个STEM(科学、技术、工程、数学)领域,都面临严峻挑战和多重偏见,导致这些行业的女性比例和待遇迟迟得不到提高。长达40年的社会科学研究表明,对女性员工的偏见如果不加以制止,将继续渗透到人们观念中,而且人们会认为自己就在奉行贤能主义,所以更加不会采取行动,破除偏见。加州大学哈斯汀法学院法学杰出教授琼・威廉姆斯(JoanC.Williams)发表于2014年《哈佛商业评论》的《攻克科技领域多样性问
OSChina 周三乱弹 ——程序员追逐的梦想就是...
Osc乱弹歌单(2017)请戳(这里)【今日歌曲】@zhenruyan:分享自由国度少女团的单曲《现在,有了想倾诉的对象<今、話したい誰かがいる中文版>(Cover:乃木坂46)》《现在,有了想倾诉的对象<今、話したい誰かがいる中文版>(Cover:乃木坂46)》-自由国度少女团手机党少年们想听歌,请使劲儿戳(这里)@clouddyy:公交站台上,有个妹子一次塞一大口包子,脸塞的像仓鼠,萌吐血啊!!!看人家一口塞了一个大包子,我要是你的话,赶紧送一个可乐去,不然你想接触妹子的时候,被机智的闪开。@clouddyy:我就是辣么机智~!忽然间发现,@小小猪pig:现在找女朋友真的好难,有时候努力的半天却发现只是一桩生意。。哎哎。。是呀,你不知道爱情的门口什么在等待着你。“开门啦,社区送温暖的。”那么遇到一个内向的女友你要么?@FalconChen:找一个内向的女朋友是什么体验?@柚柚妹:体验就是,你对她说了10分钟的话,她只回你一个字
作为老板,林纳斯·托瓦兹有多糟糕?
作为老板,林纳斯·托瓦兹有多糟糕?这要分情况来说。在软件开发的世界里,他的做法无可厚非。问题是,这种情况是否允许继续下去。我认识Linux的发明者林纳斯·托瓦兹,已经有20多年了。我们不算是密友,但喜欢彼此。最近,托瓦兹因为管理风格受到了很多的炮轰。他不愿意容忍愚蠢的人。在开发Linux内核这件事情上,他只有一种评判的方法:你的代码有多好?其他的都不重要。正如托瓦兹今年早些时候在linux.conf.au大会上说的,“我不是那种好相处的人,我也不在乎。我只关心技术和内核——这对我来说才是重要的。”我现在倒是可以对付那种人了。如果你不能,就避免接触Linux内核开发社区吧,那里有许多这种精英式的思维方式。这并不是说,我认为Linux的一切都很完美,不用改变什么。精英式管理的社区,我可以接受;蔑视、不尊重女性,以男性为主导的堡垒,就是问题了。这就是为什么我最近看到了关于托瓦兹管理风格的批评——或者更准确地说,他完全不关心人文关怀的管理方式——就像是软件开发领域的标准化操作程序。同时,我又看到了另外一个例子,说明事情真正地需要改变。
《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序
我们不是Hacker,我们只是Hack技术的爱好者。十几年的时间,万维网由纯粹的静态信息仓库发展为功能强大的应用程序,在这个过程中,多种因素造成了当前应用程序安全保护不足的状态。多数应用都面临一个核心安全问题:即用户可提交任意输入。如果无法确认输入信息的安全性,应用程序就可能会受到各种形式的攻击。当前万维中Web应用程序安全状况表明,针对Web应用程序的攻击仍是一个未得到很好解决的严重的威胁。读书笔记第一部分对应原书的第一章,主要介绍了Web应用程序的发展,功能,安全状况。《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序Web应用程序的发展历程早期的万维网仅由Web站点构成,只是包含静态文档的信息库,随后人们发明了Web浏览器用来检索和显示那些文档,但这些信息只是由服务器单向传送给浏览器,并不需要验证用户的合法性,所有用户同等,提供同样的信息。所以当时一个Web站点的安全威胁主要来自于Web服务器系统与相关软件的(诸多)漏洞。攻击者入侵站点后并不能得到敏感信息,至多修改一下服务器上的静态文件,歪曲站点
开挂的程序员 01应聘
“您好!我叫杨青,今年25岁,毕业于京都城市大学,计算机专业,在校期间担任了两年的学生会计算机小组的组长,精通c/c++语言,在学校举办的计算机编程大赛中获取了第一名,我的作品您可以在GETHUB上查看,简历上有我的地址……”“好的,那个杨青同学,你的情况我们基本已经了解了,今天就先到这里吧,你回去等通知吧!”“下一位”杨青看着面试官那官方化的笑容,心情沮丧:“看来这家公司又没有希望了!”“回去等通知,这种话杨青在一个月中已经不知道听过多少次了,刚开始还天真的相信真的有通知,现在却已经明白过来,这些都是一些托词而已,根本就没有什么通知,哎,谁叫自己不是重点大学毕业的呢,如果我是京都大学毕业的,恐怕早就被录取了吧!”“杨青自认自己的编程水平不比那些重点院校的学生差,但是奈何自己的学校不行,虽然都是京都的大学,但是这名气确实天壤之别!”“没关系!我就不信这么多的招聘公司就没有一家录取我的!”杨青给自己打了下气,然后整理了下自己的衣领,向着下一家招聘单位走去。“小兄弟等一等!”正在此时一个声音从身后叫住了杨青。杨青回过头