技术_技术方案 - CSDN
精华内容
参与话题
  • java web技术开发大全(最全最新)

    千次下载 热门讨论 2020-07-25 23:33:35
    提供典型应用案例,剖析JSP/Servret技术与Struts 2技术在Web开发中的不同 提供完整的应用案例,使读者可以深入体会SSH开发模式的精髓 所有开发工具和框架均使用目前的最新版本,紧跟技术发展的趋势 提供230个实例和4...
  • 每个产品经理都应该懂点技术。当技术人员认为你提出的需求不能实现而怼你的时候,你可以从技术的角度将他正面击倒。而且熟悉一定的技术后,产品经理提出的需求将会更加合理,技术人员实现起来更容易。达到产品和技术...

    每个产品经理都应该懂点技术。当技术人员认为你提出的需求不能实现而怼你的时候,你可以从技术的角度将他正面击倒。而且熟悉一定的技术后,产品经理提出的需求将会更加合理,技术人员实现起来更容易。达到产品和技术和谐共处的美好社会。此篇文章是该系列的第一篇。


    产品经理每天需要跟技术人员打交道。有时候我们想知道,我提出的需求技术人员究竟能不能实现?要搞清楚这个问题,我们需要知道技术人员是怎么工作的,他们不同的分工又分别做了什么工作。我们假定团队中只有两类技术人员:前端和后端。虽然测试和运维也同样重要。为了简化思考,我们暂时不考虑他们的工作内容,而只看前后端的工作。

    在Web开发中,前端去做界面模板,后端负责数据。这样可以把后端的数据放到前端的模板里。此称为前后端分离。

    在前后端分离的开发模式中,前端和后端可以同时进行工作。具体的方式是通过前后端在事先约定好的文档规范。前端人员依据文档写页面模板,后端人员根据文档写API接口。前端可以调用后端的API接口为界面模板填充数据。

    如果是纯技术人员,我们大概到这里就介绍完毕了。不过,考虑到这篇文章是为非技术人员写的,所以我有必要更透彻的展开一下。

    通过刚才介绍我们发现前后端的依赖关系只在API上。如果API的概念不容易理解,我们可以看看API的定义。

    API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    以上内容来自百度百科

    如果觉得难以理解我们可以划下关键词,函数、提供访问程序的能力、无需理解内部工作。API可以简单的理解为一个URL地址。具体来说是前端页面向API发送了一个请求的数据A,后端接收到A,根据业务的需求将A变成处理后的数据B,并把B返回给前端页面上。这个过程中前端不知道也不必知道API内部是如何工作的,前端只需要根据发送的数据获取到需要的数据。后端的工作就是接收前端发来的数据,处理后返回给前端使用。

    我们以登陆返回用户数据的一个操作为例进行详细说明。

    1240

    上述图片是一个前端页面。当我们输入完用户名和密码,就意味着前端的数据已经获取完了。我们点击登陆的按钮后,其实就将数据发送给了后端的API,此处我们假设API地址是 api.com/login 。一般使用JSON这种数据格式,如下图(其实省略了很多数据,以下数据仅供参考)

    {
    "email":"gaoyakang@outlook.com",
    "password":123456789
    }

    后端拿到上述数据后开始判断并返回

    1. 该条数据格式对不对?
    2. 账号密码对不对?
    3. 如果都对则返回用户信息,如果不对返回错误信息。

    假设我们在数据库中有以下的数据:

    email  password RealName   NickName birth age
    gaoyakang@outlook.com 123456789 mark Rever4433 1995-04 22

    验证成功后,我们开始返回用户信息,根据我们数据库中的数据,我们将要返回RealName、NickName、birth、age等信息给到前端去填充数据。

    还是用上述JSON数据格式表示:

    {
    "RealName":"mark",
    "NickName":"Rever4433",
    "birth":"1995-04",
    "age":"22"
    }

    前端拿到该数据后把数据渲染到界面上:

    1240

    这样一条数据从前端发送到后台接收处理,处理完后发送到前端,前端向用户展示这一过程就完成了。


    一些说明

    为了尽可能简化理解一些难于理解的数据我没有写出来,不过对于非技术人员应该已经足够理解了。另外,实际开发中有的公司可能没有采用接口化的方式,而是前端做界面模板,做完后让后端去填充数据的方式。这种方式虽然前后端结合的实现方式上有区别,但思想上是差不多的。
    看完本文,你可能对前后端具体做的事情有了一些理解。也许你还会想知道,前后端开发人员是怎样一起进行工作的呢?前端和后端工作有先后顺序吗?这些疑问我们将会放在下一篇。在下一篇文章中我将描述前后端人员是通过文档来开展工作的。

    转载于:https://www.cnblogs.com/rever/p/7792980.html

    展开全文
  • 你应该知道的国内十大技术社区

    千次阅读 2018-07-04 09:50:47
    社区是聚集一类具有相同爱好或者相同行业的群体,IT技术社区就是聚集了IT行业内的技术人,在技术社区可以了解到行业的最新进展,学习最前沿的技术,认识有相同爱好的朋友,在一起学习和交流。技术社区一般有三类人:...

    文章部分内容摘自“纯洁的微笑”。

    社区是聚集一类具有相同爱好或者相同行业的群体,IT技术社区就是聚集了IT行业内的技术人,在技术社区可以了解到行业的最新进展,学习最前沿的技术,认识有相同爱好的朋友,在一起学习和交流。

    技术社区一般有三类人:第一类技术人,就是遇到问题搜索一下,绝大部分程序员都是通过这种方式来了解技术社区的,或者遇到问题的时候在社区去提问;第二类的技术人,有意识的常去技术社区查看博客,学习新知识;第三类人,就是写文章的人,喜欢分享某一类技术,或者他们的实战经历。往往写文章的人,也喜欢看文章。

    总的来说,技术社区就是聚集技术人的地方,也是技术人学习交流的最佳场所。个人利用业务时间,按照访问量等信息整理出了中国十大IT技术社区,帮助大家找到自己的家园。


    CSDN



    CSDN (Chinese Software Developer Network) 是蒋涛创立于1999年,是中国专业的 IT 社区,为中国的软件开发者提供知识传播、在线学习、职业发展等全生命周期服务。 截止2018年6月,CSDN 拥有超过2500+万技术会员,论坛发帖数1000万+,技术资源700万+,Blog 文章1300万+,新媒体矩阵粉丝数量430万+。

    我与 CSDN 结缘大学,09年大学参加数学建模的时候经常去 CSDN 下载资料,10年毕业后在博客记录一些软件的使用命令,Oracle 常用语法,后来就把博客给忘了,11年的时候经常活跃在 CSDN 灌水区,和天下的程序员闲聊,后来因为 CSDN 广告实在太多就转战博客园,直到去年成为 CSDN 博客专家,重新回来同步一些文章。

    CSDN 是国内IT行业覆盖最全的一个社区,有很多的高手和大神隐藏于此,到现在还有很多学者、研究生等高层次人才在 CSDN 发表博客,同样海量的 IT 同行们也都活跃于 CSDN ,不过令人诟病的是 CSDN 的广告是最多的,用户体验非常差。不过今年博客系统进行了改版后比以前好了一些,并且博客专家不用显示广告,这点值得点赞。

    网站链接:http://www.csdn.net/

    从 Alexa 的排名来看目前排在全球第 41 位,当之无愧的为国内技术社区老大。


    博客园



    博客园创立于2004年1月,是一个面向开发者的知识分享社区。自创建以来,博客园一直致力并专注于为开发者打造一个纯净的技术交流社区,推动并帮助开发者通过互联网分享知识,从而让更多开发者从中受益。博客园的使命是帮助开发者用代码改变世界。

    博客园的发展历程特别能体现IT从业者的执着精神:2004年,博客园诞生于江苏扬州这样一个IT非常落后的小城市,有近四年,博客园仅靠一个人几年工作的积蓄在维持,博客园一步一个脚印地走着自己的路,傻傻地对每个用户注册进行人工审批、对首页内容宁缺毋滥、对不合适的广告拒之门外,傻傻地对用户体验关怀备至,对盈利模式冷若冰霜。

    可以看到,博客园的页面十分干净清爽,干货都放在首要位置,没有时下流行的大图轮播,没有任何广告,只为这样的情怀也应为博客园点赞。博客园最大的特点是足够的开放,首页的文章由读者来决定,每个人的博客也可以自定义显示,因此博客现在有最丰富的个人博客皮肤界面,我在博客园看到了程序员们的想象力。

    第一份工作在华为做外包,在华为内部办公不能访问外网,但一些主流的技术网站都可以访问,其中就有博客园 。那时候中午休息的时候总是要逛一逛技术社区,博客园的IT行业新闻吸引了我,就一直养成了在博客园看业内新闻的习惯。但直到2016年才开始在博客园写博客,17年成为博客园的推荐博客,到了现在我的博客是博客园推荐博客的 top 30,可以说我写博客的起点就来自博客园。

    网站链接:http://www.cnblogs.com/

    博客园全球 alexa 排名在 210,仅次于 CSDN。


    SegmentFault



    SegmentFault 创立于 2012 年,是中文领域最大的技术问答交流社区平台,在这里你可以检索,交流和分享任何技术编程相关的问题及知识。其目标是覆盖和服务 1,000 万以上中国软件开发者和 IT 信息从业者,其实现方法是充分利用在各个平台上所能获得的各种技术创新机会为他们开发产品应用和服务。

    网站链接:https://segmentfault.com/

    这个平台在17年的时候才了解到,网站的整体风格比较简洁,在所有的技术社区中用户体验算比较好的。网上查了 SegmentFault 的 alexa 排名才发现这个网站的访问量比我预想中要高很多。

    SegmentFault 全球访问量排名在 768


    V2EX



    V2EX is a community of start-ups, designers, developers and creative people.

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 250,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    V2EX 严格意义上不算是纯粹的技术社区,它定位是创意工作者的社区,但其实里面全是 IT 行业内的人。大家会喜欢像发帖一样在里面讨论创意、新的技术、吐槽等活动,人气很高,这个平台的风控机制也比较严格,页面刷新太快也会被限制,网友常常说,V2EX 是一个神奇的网站。

    网站链接:https://www.v2ex.com/

    V2EX 全球访问量排名在 931


    开源中国



    开源中国 成立于2008年8月,是目前国内最大的开源技术社区,拥有超过200万会员,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。

    开源中国也是一个只关注IT内特定领域的技术社区,开源中国主要关注的是开源技术,适合对该领域感兴趣的人士。2013年,开源中国被恒拓开源收购。

    开源中国也是国内唯一一个专业报道开源事件的社区,网站会实时报道开源界的所有资讯,同时也有中国版的github:gitee。

    网站链接:http://www.oschina.net/

    开源中国 全球访问量排名在 969


    W3School



    W3School 是因特网上最大的 WEB 开发者资源,其中包括全面的教程、完善的参考手册以及庞大的代码库。

    下面是关于 W3School 的简要描述:

    W3School 是因特网上最大的 WEB 开发者资源
    W3School 是完全免费的
    W3School 是非盈利性的
    W3School 一直在升级和更新
    W3School 是W3C中国社区成员,致力于推广 W3C 标准技术

    前端程序员的最爱,W3School 最开始分享很多浅显易懂的前端教程,后来也有一些后端的教程在里面。

    网站链接:http://www.w3school.com.cn

    W3School 全球访问量排名在 989


    51CTO



    51CTO 成立于2005年,目前已建成为专注于IT人职业成长平台;拥有1500万注册用户,覆盖了中国主流城市大多数IT从业人群,是国内排名第一的服务IT技术人员的专业性服务平台。

    网站链接:http://www.51cto.com

    51CTO 全球访问量排名在 1145


    51CTO 最开始专注于运维这个领域,也是国内聚集运维技术人才最多的一个技术社区,到了后来逐渐的转为覆盖全领域的技术社区。

    特别需要提到的是 51CTO 博客平台,也是在今年进行了 2.0 的改版,改版之后的用户体验提升非常明显,添加了 md 、赞赏和微信系统打通等新的功能,目前为止是所有技术社区对作者考虑最为全面的一个,也是体验最好的一个。我是在17年在 51CTO 开通了博客,目前在博客的粉丝排名中,位于前十。

    51CTO 博客

    博客链接:http://blog.51cto.com/


    ChinaUnix



    ChinaUnix.net(简称CU)是一个以讨论 Linux/Unix 类操作系统技术、软件开发技术、数据库技术和网络应用技术等为主的开源技术社区网站。创办于2001年,经过多年的努力和发展,如今CU已经成为全球最大、人气最旺的Linux/Unix技术中文网站。

    CU的宗旨是给所有爱好Linux/Unix技术、开源技术的朋友提供一个自由、开放、免费的交流空间。只专注一个领域,小而精是CU的特色,如果你刚好对Linux/Unix技术等领域感兴趣,CU是不错的选择,如果你关注其他领域,CU上可能并没有相关讨论和资料。

    网站链接:http://www.chinaunix.net/

    ChinaUnix 全球访问量排名在 3835


    伯乐在线



    伯乐在线成立于 2010 年,由黄余粮和黄利民联合发起,做专业的IT互联网职业社区。

    网站链接:http://www.jobbole.com/

    伯乐在线主要是由专业编辑挑选文章,所以文章质量都不错,也正是因为如此,人气不足。

    伯乐在线 全球访问量排名在 6004


    ITEye



    ITEye (曾名为JavaEye)是在2003年9月创办的,创始人范凯在学习和研究 java 的开源框架却发现没有一个讨论的地方,于是自己就建立了这个关于 Java 的网站。如今 ITEye 网站已经发展成为了一个内容齐全,功能丰富的中文IT技术门户和社区网站,涵盖整个软件开发领域的综合性网站。

    ITEye以专业性著称,据说网站创建初期新用户注册时需要强制做题,做13道有关论坛规则的选择题,做不对就不予审核通过。自从 ITEye 被 CSDN 收购后,网站就再也没有更新过,人气大降,目前已经沦落为二线阵营。

    网站链接:http://www.iteye.com/

    ITEye 全球访问量排名在 8473



    最近几年随着行业不断发展,又诞生了一些新的社区,其中有三个比较有代表性,一并分享给大家。

    掘金



    创建于2015年8月,掘金最初来自于稀土,是稀土的一个子版块,没想到稀土没有火起来,反而做为技术分享网站的掘金火爆了起来,于是创始人明明随即调整了方向,大力发展掘金。去年的时候掘金也开通了自己的专栏、小册,慢慢从一个技术文章分享网站向全面技术社区转型,期待后续的发展。

    网站链接:https://juejin.im

    掘金 全球访问量排名在 6306


    开发者头条



    开发者头条也是近两年才突然活跃起来的一个技术分享平台,由一帮程序员所创建,我对它的最初印象是码农周刊,码农周刊是一份专为程序员打造的IT技术周刊。平台每周会精选一周IT技术干货,进行推送。曾经有一段时间发现我的独立博客有一些流量来源于这个网站,才发现它。目前开发者头条已经聚集了一帮技术爱好者。

    网站链接:https://toutiao.io/

    开发者头条 全球访问量排名在 26398


    GitChat



    GitChat 是一款基于微信平台的知识分享产品,通过这款产品我们希望改变IT知识的学习方式。GitChat 算是技术付费的先驱了,在技术知识付费领域在国内做的比较早。

    17年的时候,发现有人在我的公号内留言,邀请我在 GitChat 做一场分享,那时候我还不知道 GitChat 分享是干什么的。抱着试试看态度做了一场分享:从架构演进的角度聊聊 Spring Cloud 都做了些什么? ,后面感觉还不错又做了一个课程:快速学习 Spring Boot 技术栈,没想到一年后这个课程的销量已经到达了平台畅销前三,还是挺受鼓舞的。GitChat 后来被 CSDN 所收购,所以大家也会在 CSDN 看到 GitChat 的推荐内容。

    网站链接:http://gitbook.cn/

    GitChat 全球访问量排名在 31341


    总结

    中国IT技术社区整体的技术氛围还是很不错的,近年来也诞生了很多新的技术社区,有的做垂直方向,有的面向所有IT人员,最终都促进了 IT 行业的技术发展。但同时大部分技术社区的用户体验,社区开放度还有很大的提升空间,没有一个理想中很开放、全面的技术社区,也许这就是下一个机会呢?

    最后,作为 IT 技术社区的受益者,还是感谢所有的技术社区工作人员,为同行们创建了一个学习交流的场所。大家也可以聊聊平时都活跃在哪些技术社区,欢迎留言交流。


    -------------------------------------------

    有任何建议或问题,欢迎加微信一起学习交流,

    欢迎从事IT,热爱IT,喜欢深挖源代码的行业大牛加入,一起探讨。

    个人微信号:bboyHan


    展开全文
  • 程序员常用的六大技术博客类

    千次阅读 2018-05-03 11:14:18
    论坛,社区也乱花渐欲迷人眼,呈现出一个逐渐增长的趋势,以下写的都是一些自己常用的平台,这些平台在百度上面的权重还是很高的,偶尔搜索关键字还能跳出自己写过的博客,于是稍微的总结了一些程序员常用的技术平台...

    程序员越来越多,相对应的博客,论坛,社区也乱花渐欲迷人眼,呈现出一个逐渐增长的趋势,以下写的都是一些自己常用的平台,这些平台在百度上面的权重还是很高的,偶尔搜索关键字还能跳出自己写过的博客,于是稍微的总结了一些程序员常用的技术平台。

    每天必然会登录的几款博客论坛

    一:CSDN

    网址:http://www.csdn.net/

    介绍:CSDN深度IT技术博客,移动开发博客,Web前端博客,企业架构博客,编程语言博客,互联网博客,数据库博客,系统运维博客,云计算博客,研发管理博客,但是csdn最近感觉访问速度比较慢,博客还好些,下载是有时候真慢真卡;以前的CSDN还可以,最近两年商业化似乎越来越严重。


    二:博客园

    网址:http://www.cnblogs.com

    介绍:博客园是一个面向开发者的知识分享社区。自创建以来,博客园一直致力并专注于为开发者打造一个纯净的技术交流社区,推动并帮助开发者通过互联网分享知识,从而让更多的技术者交流,从用博客园以来,发现有一个小小的缺点,就是UI设计的太古板,一直都没有在设计上有所突破,在这个扁平化趋势越来越成为主流的网络上,没有能让人眼前一亮的感觉。


    三:掘金

    网址: https://juejin.im

    介绍:掘金是一个帮助开发者成长的社区,是给开发者用的 Hacker News,给设计师用的 Designer News,和给产品经理用的 Medium。掘金的技术文章由稀土上聚集的技术大牛所写 ,文章技术含量很高,但在宣传上似乎有欠缺,在百度搜索关键字,关于掘金的信息也特别的少,或许很多人都不知道吧。很喜欢掘金的页面布局,给人的感觉就是简单大方,相比其他的博客,显得不拥不挤条条有理。


    四:github

    网址 :https://github.com/

    介绍:这个就不多说了,所有的程序员都拥有这样一个只属于自己的代码托管平台吧,gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。gitHub于2008年4月10日正式上线,除了git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑等功能,方便实用。平时没事的时候可以多上传一些自己写的项目,demo,代码等等,在面试的时候还能给自己涨不少的分。


    五:segmentfault

    网址:https://segmentfault.com/

    介绍:SegmentFault是中国领先的开发者技术社区。 为编程爱好者提供一个纯粹、高质的技术交流的平台, 与开发者一起学习、交流与成长,关于前端这一块的技术交流者也是非常多的,每次有问题我都会发出来,就会有很多同行帮忙解答,在这里,也有很多脑洞大开的工程师,每次逛完论坛,就像是走在铺满各种各样贝壳的沙滩上,有太多惊喜和闪闪发光值得收藏的技术点。


    六:开源中国

    网址 :https://my.oschina.net

    介绍:开源中国是目前中国最大的开源技术社区。我们传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。主要有开源软件库、代码分享、资讯、协作翻译、码云、众包、招聘等几大模块,虽然首页信息量很多,但对于个人空间管理,无论是提问还是发表文章,记录笔记等,页面是很整洁简约的。


    #### 文末福利:

    福利一:前端,Java,产品经理,微信小程序,Python等资源合集大放送:[https://www.jianshu.com/p/e8197d4d9880](https://www.jianshu.com/p/e8197d4d9880)

    福利二:微信小程序入门与实战全套详细视频教程

    ![image](http://upload-images.jianshu.io/upload_images/5640239-72f8df7f410780cf?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

    原文作者:祈澈姑娘

    原文链接:[https://www.jianshu.com/u/05f416aefbe1](https://www.jianshu.com/u/05f416aefbe1)

    创作不易,转载请告知

    90后前端妹子,爱编程,爱运营,爱折腾。

    坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,欢迎大家一起探讨交流。

    文末福利:

    福利一:前端,Java,产品经理,微信小程序,Python等100G资源合集大放送:jianshu.com/p/e8197d4d9

    福利二:微信小程序入门与实战全套详细视频教程。


    【领取方法】

    关注 【编程微刊】微信公众号:

    回复【小程序demo】一键领取130个微信小程序源码demo资源。

    回复【领取资源】一键领取前端,Java,产品经理,微信小程序,Python等资源合集100G资源大放送。


    展开全文
  • 今日头条技术架构分析

    万次阅读 2018-11-25 17:13:43
    ​ ​ 今日头条创立于2012年3月,到目前仅4年时间。从十几个工程师开始研发,到上百人,再到200余人。产品线由内涵段子,到今日头条,今日特卖,今日电影等产品线。 一、产品背景 ​ ​ 今日头条是为用户提供...

    ​ ​ 今日头条创立于2012年3月,到目前仅4年时间。从十几个工程师开始研发,到上百人,再到200余人。产品线由内涵段子,到今日头条,今日特卖,今日电影等产品线。

    一、产品背景

    ​ ​ 今日头条是为用户提供个性化资讯客户端。下面就和大家分享一下当前今日头条的数据(据内部与公开数据综合):

    • 5亿注册用户

    2014年5月1.5亿,2015年5月3亿,2016年5月份为5亿。几乎为成倍增长。

    • 日活4800万用户

    2014年为1000万日活,2015年为3000万日活。

    • 日均5亿PV

    5亿文章浏览,视频为1亿。页面请求量超过30亿次。

    • 用户停留时长超过65分钟以上

    1、文章抓取与分析

    ​ ​ 我们日常产生原创新闻在1万篇左右,包括各大新闻网站和地方站,另外还有一些小说,博客等文章。这些对于工程师来讲,写个Crawler并非困难的事。

    ​ ​ 接下来,今日头条会用人工方式对敏感文章进行审核过滤。此外,今日头条头条号目前也有为数不少的原创文章加入到了内容遴选队列中。

    ​​ ​ 接下来我们会对文章进行文本分析,比如分类,标签、主题抽取,按文章或新闻所在地区,热度,权重等计算。

    2、用户建模

    ​ ​ 当用户开始使用今日头条后,对用户动作的日志进行实时分析。使用的工具如下:

    - Scribe

    - Flume

    - Kafka

    ​ ​ 我们对用户的兴趣进行挖掘,会对用户的每个动作进行学习。主要使用:

    - Hadoop

    - Storm

    ​ ​ 产生的用户模型数据和大部分架构一样,保存在MySQL/MongoDB(读写分离)以及Memcache/Redis中。

    ​ ​ 随着用户量的不断扩展大,用户模型处理的机器集群数量较大。2015年前为7000台左右。其中,用户推荐模型包括以下维度:

    1 用户订阅

    2 标签

    3 部分文章打散推送

    此时,需要每时每刻做推荐。

    3、新用户的“冷启动”

    ​ ​ 今日头条会通过用户使用的手机,操作系统,版本等“识别”。另外,比如用户通过社交帐号登录,如新浪微博,头条会对其好友,粉丝,微博内容及转发、评论等维度进行对用户做初步“画像”。

    ​ ​ 分析用户的主要参数如下:

    - 关注、粉丝关系

    - 关系

    - 用户标签

    ​​ ​ 除了手机硬件,今日头条还会对用户安装的APP进行分析。例如机型和APP结合分析,用小米,用三星的和用苹果的不同,另外还有用户浏览器的书签。头条会实时捕捉用户对APP频道的动作。另外还包括用户订阅的频道,比如电影,段子,商品等。

    4、推荐系统

    ​ ​ 推荐系统,也称推荐引擎。它是今日头条技术架构的核心部分。包括自动推荐与半自动推荐系统两种类型:

    1 自动推荐系统

    - 自动候选

    - 自动匹配用户,如用户地址定位,抽取用户信息

    - 自动生成推送任务

    这时需要高效率,大并发的推送系统,上亿的用户都要收到。

    2 半自动推荐系统

    - 自动选择候选文章

    - 根据用户站内外动作

    ​ ​ 头条的频道,在技术侧划分的包括分类频道、兴趣标签频道、关键词频道、文本分析等,这些都分成相对独立的开发团队。目前已经有300+个分类器,仍在不断增加新的用户模型,原来的用户模型不用撤消,仍然发挥作用。

    ​ ​ 在还没有推出头条号时,内容主要是抓取其它平台的文章,然后去重,一年几百万级,并不太大。主要是用户动作日志收集,兴趣收集,用户模型收集。

    ​ ​ 资讯App的技术指标,比如屏幕滑动,用户是不是对一篇都看完,停留时间等都需要我们特别关注

    在这里插入图片描述

    5、数据存储

    ​ ​ 今日头条使用MySQL或Mongo持久化存储+Memched(Redis),分了很多库(一个大内存库),亦尝试使用了SSD的产品。

    ​ ​ 今日头条的图片存储,直接放在数据库中,分布式保存文件,读取的时候采用CDN。

    6、消息推送

    ​ ​ 消息推送,对于用户: 及时获取信息。对运营来讲,能够 提⾼⽤用户活跃度。比如在今日头条推送后能够提升20%左右的DAU,如果没有推送,会影响10%左右 DAU(2015年数据)。

    ​ ​ 推送后要关注的ROI:点击率,点击量。能够监测到App卸载和推送禁用数量。

    ​ ​ 今日头条推送的主要内容包括突发与热点咨讯,有人评论回复,站外好友注册加入。

    ​ ​ 在头条,推送也是个性化:

    - 频率个性化

    - 内容个性化

    - 地域

    - 兴趣

    比如:

    ​ ​ 按照城市:辽宁朝阳发生的某个新闻事件,发给朝阳本地的用户。

    ​ ​ 按照兴趣:比如京东收购一号店,发给互联网兴趣的用户。

    ​ ​ 推送平台的工具和选择,需要具备如下的标准:

    ​ ​ ​ ​ - 通道,首先速度要快,但是要可控,可靠,并且节省资源

    ​ ​ ​ ​ - 推送的速度要快,有不同维度的策略支持,可跟踪,开发接口要友好

    ​ ​ ​ ​ - 推送运营的后台,反馈也要快,包括时效性,热度,工具操作方便

    ​ ​ ​ ​ - 对于运营侧,清晰是否确定推荐,包括推送的文案处理

    ​ ​ 因此,推送后台应该提供日报,完整的数据后台,提供A/B Test方案支持。

    ​ ​ 推送系统一部分使用自有IDC,在发送量特别大,消耗带宽较严重。可以使用类似阿里云的服务,可有效节省成本。

    二、今日头条系统架构

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    三、头条微服务架构

    ​​ ​ 今日头条通过拆分子系统,大的应用拆成小应用,抽象通用层做代码复用。

    在这里插入图片描述

    ​​ ​ 系统的分层比较典型。重点在基础设施,希望通过基础设施提高快速迭代、容灾和一系列的工作,希望各个业务团队能更快做业务上的迭代以及架构上的调整。

    四、今日头条的虚拟化PaaS平台规划


    ​ ​ 通过三层实现,通过 PaaS 平台统一管理。提供通用 SaaS 服务,同时提供通用的 App 执行引擎。最底层是 IaaS 层。

    在这里插入图片描述

    ​ ​ IaaS 管理所有的机器,把公有云整合起来,头条有一些热点事件会全国推广推送,对网络带宽比较高,我们借助公有云,需要哪一种类型计算资源,统一抽象起来。基础设施结合服务化的思路,比如日志,监控等等功能,业务不需要关注细节就可以享受到基础设施提供的能力。

    五、总结

    ​ ​ 今日头条重要的部分在于:

    • 数据生成与采集
    • 数据传输。Kafka做消息总线连接在线和离线系统。
    • 数据入库。数据仓库、ETL(抽取转换加载)
    • 数据计算。数据仓库中的数据表如何能被高效的查询很关键,因为这会直接关系到数据分析的效率。常见的查询引擎可以归到三个模式中,Batch 类、MPP 类、Cube 类,头条在 3 种模式上都有所应用。

    参考资料:今日头条的核心架构解析

    ​ ​ ​ ​ ​ ​Go – 今日头条架构

    ​ ​ ​ ​ ​ 从无到有、从小到大,今日头条大数据平台实践经历的那些坑

    ​ ​ ​ ​ ​ 今日头条推荐系统架构设计实践

      收集资料,码字,整理,最后排版都不容易,如果觉得对你有用的话,凑个奶茶钱(非强制啊,只是想犒劳自己一下)~

     微信         支付宝
    微信收款码支付宝收款码

    展开全文
  • 摘要:这里有改变世界的7大NLP技术,点进来了解一下吧! 改变世界的七大NLP技术,你了解多少?(上) 在第1部分中,我介绍了自然语言处理(NLP)领域以及为其提供支持的深度学习。我还介绍了NLP中的3个关键概念...
  • 中国十大技术社区你都知道哪些?

    万次阅读 多人点赞 2019-07-05 10:16:15
    社区是聚集一类具有相同爱好或者相同行业的群体,IT技术社区就是聚集了IT行业内的技术人,在技术社区可以了解到行业的最新进展,学习最前沿的技术,认识有相同爱好的朋友,在一起...
  • IT中文技术站十大网站收藏

    千次阅读 多人点赞 2019-09-29 10:47:52
    是中国的IT社区和服务平台,为中国的软件开发者和IT从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性...
  • Java面试中常被问到的几大技术难题

    万次阅读 2018-04-03 11:52:44
    还有一些即将去面试java的童鞋们,你们想知道技术面试中会涉及到哪些点吗?达妹为你整理Java面试中会被问到的几个技术难题。1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?可以有多个类,但...
  • 为什么要使用信道复用技术?常用的信道复用技术有哪些? 通过共享信道、最大限度提高信道利用率。常用的信道复用技术有:频分、时分、码分、波分。
  • 如果您喜欢这些文章,欢迎点击此处订阅本Blog<!-- google_ad_client = "pub-7343546549496470";/* 728x90, 大横幅正文上方 */google_ad_slot = "4725362798";google_ad_width = 728;google_ad_height =
  • 技术栈是什么鬼?

    万次阅读 多人点赞 2020-04-08 18:09:14
    技术栈是什么鬼? 栈的英文是stack 首先,我们使用金山词霸来查一下stack的中文解释 stack有堆起来的意思,其实就是堆叠,顾名思义,技术栈就是你掌握了一堆的技术(掌握多种技术) 一般来说是指将N种技术互相...
  • Java核心技术卷一基础知识第10版 PDF文件

    万次阅读 多人点赞 2018-08-31 13:37:11
    下载链接: https://pan.baidu.com/s/1qJEav4jgYoAVEy-Ne0OeDQ 密码:4mka
  • 技术方案模板

    万次阅读 2017-09-18 14:24:35
  • 常用的大数据技术有哪些?

    万次阅读 2018-03-13 16:45:12
    大数据技术为决策提供依据,在政府、企业、科研项目等决策中扮演着重要的角色,在社会治理和企业管理中起到了不容忽视的作用,很多国家,如中国、美国以及欧盟等都已将大数据列入国家发展战略,微软、谷歌、百度以及...
  • 虚拟现实技术启蒙_艾孜尔江撰

    万次阅读 2020-02-29 20:24:21
    核心技术是建模与仿真,关键技术是环境建模技术,人机交互技术,立体显示和传感器技术,应用胸痛开发工具,系统集成技术。 2答案: 虚拟现实技术的发展进程大致可以氛围三个阶段——第一阶段是虚拟现实技术的探索...
  • 高职高专排名-2012中国最新

    万次阅读 2012-06-22 15:13:44
    2邢台职业技术学院 3山西财政税务专科学校 4辽宁省交通高等专科学校 5长春汽车工业高等专科学校 6黑龙江建筑职业技术学院 7上海医药高等专科学校 8南京工业职业技术学院 9无锡职业技术学院 10宁波...
  • Java核心技术 卷1 卷2原书第10版.pdf,包括:Java核心技术 卷1 基础知识 原书第10版.pdf,Java核心技术 卷2 高级特性原书第10版.pdf。 资源保存在腾讯微云上,下载不需要微云客户端,有需要这个资源的同学,请帅气...
  • 一、1G~5G综述二、移动通信服务要求演进三、移动通信技术标准演进四、现代移动通信技术演进五、我国运营商移动通信频段
  • 技术架构组工作职责

    万次阅读 2016-03-14 00:01:14
    技术架构组工作目标 落地本部门的技术规划,负责本部门IT整体规划技术部分,指导重要项目的设计实现 规范本部门的所有技术应用和开发内容,保障系统开发的有序、标准、一致性 发展基础技术平台和完善通用组件,...
1 2 3 4 5 ... 20
收藏数 4,323,126
精华内容 1,729,250
关键字:

技术