• 关于

    ajax不错的应用

    的搜索结果

回答

Vue.js Angularjs jQuery zepto1.有浏览器限制么?没有 Vue.js 有 Angularjs2.是否是手机端? 是 Vue.js zepto3.是否在乎学习成本?在乎 Vue.js哈哈,你已经看出来了,我是推销Vue.js的。Angular1 现在已经过气了,我们团队没有选择的愿意是因为学习成本高。已经出2了,对升级2持观望态度。说说我们团队的技术选型吧,先说pc站 http://www.uhouzz.com/ 选择Angularjs 是因为要兼容IE8。而且队里面有Angularjs 实践2年的大牛。他带队自然选择了Angularjs在说说手机站选择了vue (http://www.uhouzz.com/ 手机访问) vue实践下来,轻量,简单友好的api,有完善的中文文档。当时我带队几乎一周写点东西,4个队员全上手。结合你的工作环境,如果没有浏览器限制建议你试试 Vue.js。 没有入侵性,你可以把它当个框架或者库用。@紫鹃 的答案也不错,pc jQuery 手机站 zepto 。但是个人觉得,zepto可以慢慢舍弃了,自己写吧。能用到的地方 1DOM选择操作 2 ajax。 原生没那么麻烦。回答被踩了一下,怒更新前两天读《未来Web应用的前端技术选型畅想》非常有参考意义。
杨冬芳 2019-12-02 02:54:36 0 浏览量 回答数 0

问题

为什么Response.BufferOutput = False,不起作用?

基本上,我一直在寻找一种从很长的过程中不断更新网页的方法。我以为AJAX是必经之路,但是Dave 撰写了一篇有关使用JavaScript的不错的文章。我将其集成到我的应用程序中,并且在客户端上运行良...
游客ufivfoddcd53c 2020-01-03 21:31:35 4 浏览量 回答数 1

回答

会 增删改查很不错了,程序写出来的功能不都是增删改查吗######把你们公司后台吃透,再想办法提升性能######很不错了!######清闲还不好,介绍我去呗######http://dybtxz.com######哈哈挺好的呀 。。我倒觉得没有啥。。嗯。 ######可以看看别的书啊之类的。提升一下。。学一种别的语言啊。。之类的。。做一些有创意的项目啊之类的。######同时熟悉jQuery及jQuery的ajax######用开源工具搭建搜索引擎,用下memcached和redis,在熟悉下常见的框架,研究下mysql的优化以及各种应用数据表的设计。以上每一块都要花很多精力和时间去学习。你是程序员,你还说电脑的问题,自己买个好点的不就ok了######你这个提议不错,正打算学习 redis的,框架 我现在在用的tp 用过ci 看过yii 但是yii没有实际项目用过。自己想买电脑的,但是资金不够。。。。###### 换工作吧。  提升最快的方法还是做项目。 只是一年经验,单单PHP就还有非常大的提升空间,自己想提高可以买些书看一下,开源项目也有很大的研究益处。还有数据库方向也是一样。往深了还有web相关的理论知识,根本学不完, linux用不到是学不会的也是没有意义的,熟悉下基本用法就行了,用到了就可以很快上手就行了,时间花太多在这个上面会本末倒置 ######@php程序员_ 强迫自己慢慢看吧。能学到东西的时候你的兴趣就会慢慢来了。提高都是需要时间的######书已经买了,但是回去不想看啊。。也是醉了
kun坤 2020-06-09 13:47:16 0 浏览量 回答数 0

回答

1、轻量级 JQuery 非常轻巧,采用 Dean Edwards 编写的 Packer 压缩后,大小不到 30KB,如果使用 Min 版并且在服务器端启用 Gzip 压缩后,大小只有 18KB。 gzip: 每天一个 linux 命令(32):gzip 减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip 不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和 tar 命令一起构成 Linux 操作系统中比较流行的压缩文件格式。据统计,gzip 命令对文本文件有 60%~ 70%的压缩率。 2、强大的选择器 JQuery 允许开发者使用从 CSS1 到 CSS3 几乎所有的选择器,以及 JQuery 独创的高级而且复杂的选择器,另外还可以加入插件使其支持 XPath 选择器,甚至开发者可以编写属于自己的选择器。由于 JQuery 支持选择器这一特性,因此有一定 CSS 经验的开发人员可以很容易的切入到 JQuery 的学习中来。 XPath: XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。 XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上。 因此,对 XPath 的理解是很多高级 XML 应用的基础。 3、出色的 DOM 操作的封装 JQuery 封装了大量常用的 DOM 操作,使开发者在编写 DOM 操作相关程序的时候能够得心应手。JQuery 轻松地完成各种原本非常复杂的操作,让 JavaScript 新手也能写出出色的程序。 4、可靠的事件处理机制 JQuery 的事件处理机制吸收了 JavaScript 专家 Dean Edwards 编写的事件处理函数的精华,是的 JQuery 在处理事件绑定的时候相当可靠。在预留退路、循序渐进以及非入侵式编程思想方面,JQuery 也做得非常不错。 5、完善的 Ajax JQuery 将所有的 Ajax 操作封装到一个函数$.ajax()里,使得开发者处理 Ajax 的时候能够专心处理业务逻辑而无需关心复杂的浏览器兼容性和 XMLHttpRequest 对象的创建和使用的问题。 6、不污染顶级变量 JQuery 只建立一个名为 JQuery 的对象,其所有的函数方法都在这个对象之下。其别名$也可以随时交流控制权,绝对不会污染其他的对象。该特性是 JQuery 可以与其他 JavaScript 库共存,在项目中放心地引用而不需要考虑到后期的冲突。 7、出色的浏览器兼容性 作为一个流行的 JavaScript 库,浏览器的兼容性是必须具备的条件之一。JQuery 能够在 IE6.0+,FF 2+,Safari2.+和 Opera9.0+下正常运行。JQuery 同时修复了一些浏览器之间的的差异,使开发者不必在开展项目前建立浏览器兼容库。 8、链式操作方式 JQuery 中最有特色的莫过于它的链式操作方式——即对发生在同一个 JQuery 对象上的一组动作,可以直接接连写无需要重复获取对象。这一特点使得 JQuery 的代码无比优雅。 9.隐式迭代 当用 JQuery 找到带有“.myClass”类的全部元素,然后隐藏他们时。无需循环遍历每一个返回的元素。相反,JQuery 里的方法都被设计成自动操作的对象集合,而不是单独的对象,这使得大量的循环结构变得不再必要,从而大幅度地减少代码量。 10、行为层与结构层的分离 开发者可以使用选择器选中元素,然后直接给元素添加事件。这种将行为层与结构层完全分离的思想,可以使 JQuery 开发人员和 HTML 或其他页面开发人员各司其职,摆脱过去开发冲突或个人单干的开发模式。同时,后期维护也非常方便,不需要在 HTML 代码中寻找某些函数和重复修改 HTML 代码。 11、丰富的插件支持 JQuery 的易扩展性,吸引了来自全球开发者来编写 JQuery 的扩展插件。目前已经有超过几百种官方插件支持,而且还不断有新插件面试。 12、完善的文档 JQuery 的文档非常丰富,现阶段多位英文文档,中文文档相对较少。很多热爱 JQuery 的团队都在努力完善 JQuery 中文文档,例如 JQuery 的中文 API。 13、开源 JQuery 是一个开源的产品,任何人都可以自由地使用并提出修改意见。
茶什i 2019-12-02 03:21:37 0 浏览量 回答数 0

回答

javascript高级程序设计(二)   评价:本书第一版内容(不针对思想)已经过时,建议直接看第二版。雅虎内部人员的手册书,可想而知它的含金量。中间关于dom以及CSS的,建议对照javascript dom高级程序设计的第三章与第五章的内容一起看,个人觉得这两章结构组织的没有后者好。这本书的前面几章以及后面那节高阶应用,绝对是亮点,是参阅进阶书籍的基础。   错误以及翻译:个人非常喜欢的一个译者,低调务实谦虚,维护了一个算比较好的blog,里面有关于这本书的勘误,我最喜欢了几本书里面就有三本是他的出品。这边书的中文版没有上架之前,我曾经忍不住内心的躁动看了300页的原书,有些地方愣是没看懂。所以我跟网上某些人动不动就因为书中有细微的错误就建议读者去看原版的行为感到不齿,自认为自己英语还行,平时由于实验室课题基本也是跟英语文献打交道。   入手:强烈建议购买,价格小贵。 javascript dom高级程序设计   评价:这本书犀利到无语,完全打通了我的奇经八脉,好在学校识货的不多,让我长期霸占了这本书长达两个月.....现已入手   错误以及翻译:这本原书错误很多(即使作者作了很多的修改,中文版还是有很多错误,是同一个译者),但是瑕不掩瑜,翻译得非常通顺,但是译者的勘误表里只有一些无关紧要的标点小问题,这个做法我不是很认同,书中代码都还是有一些严重的错误 。这里其实也可以看到译者的水平也是在不停上升的,这本书译者有画龙点睛的译者注,同时也产生了很多画蛇添足的译者注。   入手:强烈建议购买,但是现在很难买到了,可能销量不高停印了。 javascript设计模式   评价:原本以为在javascript中通过模仿强加进设计模式是一个噱头,看了这本书(才看一半,书虽小但是营养极高),才发现自己的想法有多么的愚昧,原书作者为YUI团队的核心开发人员,这里使用到的设计模式很多都是利用到了YUI库中的开发中去了。   错误以及翻译:由于原书的质量就很高,基本没什么错误,译者很踏实提到自己因为翻译质量多次延期,但是翻译差强人意,画蛇添足的译者注屡见不鲜。   入手:强烈建议购买,而且这种书基本是不会过时的,相信我没错的。 javasript语言精粹   评价:最喜欢的一个章节,就是它对很多内置函数用javascript来做了实现 , 可以看出作者的功力。这是一本很好的书籍,对javascript好的部分与不好的部分都做了描述,但是个人觉得很多所谓的不好的部分恰恰是体现一个前端开发者个人功力的部分,谈不上摒弃,维护代码并且保证浏览器实现一致本就是开发者分内的事情,就如同你不能选择你的出身一样,既然你走了前端这条路就认了吧。   错误以及翻译:真的不喜欢博文的书的排版,翻译的很顺畅,错误我没发现,当然我也没有通篇认真阅读。   入手:好书,建议通读一遍写点笔记之后,下一本电子书(好吧,我偏袒图灵了)。 javascript权威指南   评价:这本书我从来都没有借到过,基本在出借状态就有一大排的预定记录了,不过我在阅览室粗粗的浏览过,大概有一半的纸张是javascript的文档说明,价格较贵。   错误以及翻译:都说是权威了,作者个个都是有来头的大牛... 翻译一般,网上骂的人很多,但是个人感觉不影响理解 。   入手:习惯翻书查询的朋友,手有余钱的建议入手一本,抱在怀中应该比较敦实有感觉(我想基本你在码代码的时候都在电脑前吧,有电脑应该就有网,这不就得了 小透露一下平时我都在这里查:http://stephen830.javaeye.com/category/57459) javascript dom 编程艺术   评价:当之无愧可以成为最佳第一本书,可惜我遇到它的时候已经走了很多弯路,我看它只花了一个下午,笔记只有薄薄一页(笔记虽少,还是有营养的),可见它的作用也仅限于入门。同时推荐该作者的一本ajax入门书:Bulletproof Ajax中文版 也是可以一下午看完,然后产生薄薄一页但是极度精炼的笔记,这本书让我真正意义上明白了什么是可退化的ajax设计。   错误以及翻译:不评价了,很简单一书,即使你看原版书籍也不会觉得晦涩   入手:不建议入手,看一遍基本就过去了,但是必须记点东西。 javascript捷径教程,精通javascript   评价:都是好书,都很薄,可以睡觉前来几眼,营养比较好,精通javascript后半部分....想法是好的,但是真的只是适合写在博客就行,而且此类的内容很多书都已经提到了,有点虎头蛇尾的感觉,所以技术牛人不一定是写书的牛人,虽然别人是jQuery之父,但是如果写jQuery书籍势必应该没有jQuery基础教程来的好   错误以及翻译: 捷径教程写得很精炼,有不大不小的错误,当然这种错误的影响可大可小,可能你一辈子都不觉得这个是个错误。   入手:为什么放在一块,因为两本书真的差不多,建议下电子书吧...................或者借书看,要知道书非借不能看也。 PPK谈javascript   评价:简单的在阅览室过了一半内容吧,看过的感觉是,内容有点过时了,当然作者是非常强悍一人,英文原书应该是05年左右的。   错误以及翻译:没发现什么错误,翻译中规中矩相比一些比较犀利的译者而言。   入手:真想买,就建议买本旧书吧。 以上所有书,我至少都在读或者浏览过,文章结构都很清楚,接下来我做个很主观的建议阅读路线 建议阅读顺序:权威指南,javascript dom编程艺术(====>javascript捷径教程,精通javascript)=======>javascript高级程序设计与javascript dom高级程序设计======>javascript设计模式。还有一本高性能javascript由于作者很喜欢,我认为这边应该不会差,听名字应该是贴近实际项目会遇到的问题。接下来还有一本觉得开篇不错的英文书可以放在 这所有书之后 阅读(本人还没有读) javascript patterns.
51干警网 2019-12-02 01:43:43 0 浏览量 回答数 0

回答

javascript高级程序设计(二)   评价:本书第一版内容(不针对思想)已经过时,建议直接看第二版。雅虎内部人员的手册书,可想而知它的含金量。中间关于dom以及CSS的,建议对照javascript dom高级程序设计的第三章与第五章的内容一起看,个人觉得这两章结构组织的没有后者好。这本书的前面几章以及后面那节高阶应用,绝对是亮点,是参阅进阶书籍的基础。   错误以及翻译:个人非常喜欢的一个译者,低调务实谦虚,维护了一个算比较好的blog,里面有关于这本书的勘误,我最喜欢了几本书里面就有三本是他的出品。这边书的中文版没有上架之前,我曾经忍不住内心的躁动看了300页的原书,有些地方愣是没看懂。所以我跟网上某些人动不动就因为书中有细微的错误就建议读者去看原版的行为感到不齿,自认为自己英语还行,平时由于实验室课题基本也是跟英语文献打交道。   入手:强烈建议购买,价格小贵。 javascript dom高级程序设计   评价:这本书犀利到无语,完全打通了我的奇经八脉,好在学校识货的不多,让我长期霸占了这本书长达两个月.....现已入手   错误以及翻译:这本原书错误很多(即使作者作了很多的修改,中文版还是有很多错误,是同一个译者),但是瑕不掩瑜,翻译得非常通顺,但是译者的勘误表里只有一些无关紧要的标点小问题,这个做法我不是很认同,书中代码都还是有一些严重的错误 。这里其实也可以看到译者的水平也是在不停上升的,这本书译者有画龙点睛的译者注,同时也产生了很多画蛇添足的译者注。   入手:强烈建议购买,但是现在很难买到了,可能销量不高停印了。 javascript设计模式   评价:原本以为在javascript中通过模仿强加进设计模式是一个噱头,看了这本书(才看一半,书虽小但是营养极高),才发现自己的想法有多么的愚昧,原书作者为YUI团队的核心开发人员,这里使用到的设计模式很多都是利用到了YUI库中的开发中去了。   错误以及翻译:由于原书的质量就很高,基本没什么错误,译者很踏实提到自己因为翻译质量多次延期,但是翻译差强人意,画蛇添足的译者注屡见不鲜。   入手:强烈建议购买,而且这种书基本是不会过时的,相信我没错的。 javasript语言精粹   评价:最喜欢的一个章节,就是它对很多内置函数用javascript来做了实现 , 可以看出作者的功力。这是一本很好的书籍,对javascript好的部分与不好的部分都做了描述,但是个人觉得很多所谓的不好的部分恰恰是体现一个前端开发者个人功力的部分,谈不上摒弃,维护代码并且保证浏览器实现一致本就是开发者分内的事情,就如同你不能选择你的出身一样,既然你走了前端这条路就认了吧。   错误以及翻译:真的不喜欢博文的书的排版,翻译的很顺畅,错误我没发现,当然我也没有通篇认真阅读。   入手:好书,建议通读一遍写点笔记之后,下一本电子书(好吧,我偏袒图灵了)。 javascript权威指南   评价:这本书我从来都没有借到过,基本在出借状态就有一大排的预定记录了,不过我在阅览室粗粗的浏览过,大概有一半的纸张是javascript的文档说明,价格较贵。   错误以及翻译:都说是权威了,作者个个都是有来头的大牛... 翻译一般,网上骂的人很多,但是个人感觉不影响理解 。   入手:习惯翻书查询的朋友,手有余钱的建议入手一本,抱在怀中应该比较敦实有感觉(我想基本你在码代码的时候都在电脑前吧,有电脑应该就有网,这不就得了 小透露一下平时我都在这里查:http://stephen830.javaeye.com/category/57459) javascript dom 编程艺术   评价:当之无愧可以成为最佳第一本书,可惜我遇到它的时候已经走了很多弯路,我看它只花了一个下午,笔记只有薄薄一页(笔记虽少,还是有营养的),可见它的作用也仅限于入门。同时推荐该作者的一本ajax入门书:Bulletproof Ajax中文版 也是可以一下午看完,然后产生薄薄一页但是极度精炼的笔记,这本书让我真正意义上明白了什么是可退化的ajax设计。   错误以及翻译:不评价了,很简单一书,即使你看原版书籍也不会觉得晦涩   入手:不建议入手,看一遍基本就过去了,但是必须记点东西。 javascript捷径教程,精通javascript   评价:都是好书,都很薄,可以睡觉前来几眼,营养比较好,精通javascript后半部分....想法是好的,但是真的只是适合写在博客就行,而且此类的内容很多书都已经提到了,有点虎头蛇尾的感觉,所以技术牛人不一定是写书的牛人,虽然别人是jQuery之父,但是如果写jQuery书籍势必应该没有jQuery基础教程来的好   错误以及翻译: 捷径教程写得很精炼,有不大不小的错误,当然这种错误的影响可大可小,可能你一辈子都不觉得这个是个错误。   入手:为什么放在一块,因为两本书真的差不多,建议下电子书吧...................或者借书看,要知道书非借不能看也。 PPK谈javascript   评价:简单的在阅览室过了一半内容吧,看过的感觉是,内容有点过时了,当然作者是非常强悍一人,英文原书应该是05年左右的。   错误以及翻译:没发现什么错误,翻译中规中矩相比一些比较犀利的译者而言。   入手:真想买,就建议买本旧书吧。 以上所有书,我至少都在读或者浏览过,文章结构都很清楚,接下来我做个很主观的建议阅读路线 建议阅读顺序: 权威指南,javascript dom编程艺术(====>javascript捷径教程,精通javascript)=======>javascript高级程序设计与javascript dom高级程序设计======>javascript设计模式。 还有一本高性能javascript由于作者很喜欢,我认为这边应该不会差,听名字应该是贴近实际项目会遇到的问题。 接下来还有一本觉得开篇不错的英文书可以放在 这所有书之后 阅读(本人还没有读) javascript patterns.转自csdn
51干警网 2019-12-02 01:43:43 0 浏览量 回答数 0

回答

Java原生序列化 只要让类实现 Serializable 接口就行,序列化具体的实现是由ObjectOutputStream和ObjectInputStream来实现的 缺点: 1:序列化码流太大 2:序列化效率低 3:无法跨语言 优点: 1:简单 JSON序列化 JSON 可能是我们最熟悉的一种序列化格式了,JSON 是典型的 Key-Value 方式,没有数据类型,是一种文本型序列化框架,JSON 的具体格式和特性,网上相关的资料非常多,这里就不再介绍了。他在应用上还是很广泛的,无论是前台 Web 用 Ajax 调用、用磁盘存储文本类型的数据,还是基于 HTTP 协议的 RPC 框架通信,都会选择 JSON 格式。 缺点: 1:JSON进行序列化的额外空间开销比较大,对于大数据量服务就意味着需要巨大的内存和磁盘开销 2:JSON没有类型,但像Java这种强类型语言,需要通过反射统一解决,所以性能不会太好 优点: 1:简洁明了 Hessian Hessian 是动态类型、二进制、紧凑的,并且可跨语言移植的一种序列化框架。Hessian 协议要比 JDK、JSON 更加紧凑,性能上要比 JDK、JSON 序列化高效很多,而且生成的字节数也更小 Student student = new Student(); student.setNo(101); student.setName("HESSIAN"); //把student对象转化为byte数组 ByteArrayOutputStream bos = new ByteArrayOutputStream(); Hessian2Output output = new Hessian2Output(bos); output.writeObject(student); output.flushBuffer(); byte[] data = bos.toByteArray(); bos.close(); //把刚才序列化出来的byte数组转化为student对象 ByteArrayInputStream bis = new ByteArrayInputStream(data); Hessian2Input input = new Hessian2Input(bis); Student deStudent = (Student) input.readObject(); input.close(); System.out.println(deStudent);复制代码 缺点: 1:官方版本对Java里面一些常见对象的类型不支持, 比如LinkedHashMap、LinkedHashSet 等,但是可以通过扩展CollectionDeserializer 类修复, Locale 类,可以通过扩展 ContextSerializerFactory 类修复; Byte/Short 反序列化的时候变成 Integer 优点: 1:相对于JDk,JSON,更加高效,生成的字节数更小 2:有非常好的兼容性和稳定性 Protobuf Protobuf 是 Google 公司内部的混合语言数据标准,是一种轻便、高效的结构化数据存储格式,可以用于结构化数据序列化,支持 Java、Python、C++、Go 等语言。Protobuf使用的时候需要定义 IDL(Interface description language),然后使用不同语言的 IDL编译器,生成序列化工具类 缺点: 1:为了提高性能,protobuf采用了二进制格式进行编码。这直接导致了可读性差 2:对于具有反射和动态语言来讲,用起来比较费劲 优点: 1:高效 2:支持多种语言 3:支持向前,向后兼容 Thrift Thrift是Facebook于2007年开发的跨语言的rpc服框架,提供多语言的编译功能,并提供多种服务器工作模式,用户通过Thrift的IDL(接口定义语言)来描述接口函数及数据类型,然后通过Thrift的编译环境生成各种语言类型的接口文件,用户可以根据自己的需要采用不同的语言开发客户端代码和服务器端代码。 缺点: 1:没有官方文档 2:Thrift序列化二进制不可读,调试困难 3:buf fix 和更新不积极,维护成本过高 4:RPC 在 0.6.1 升级到 0.7.0 是不兼容的 优点: 1:特性丰富 2:性能不错 3:有很多开源项目的周边支持 都是 thrift
__梦 2021-03-18 00:35:04 0 浏览量 回答数 0

问题

SpringBoot使用机器学习才能更有火花

前言 近来,疫情得到了控制,各个地方也都慢慢恢复了往常的热闹。在疫情期间,踊跃出来了很多不错的项目,可以提供我们了解学习。 对于机器学习,对于普通技术人员有种望而止步...
huc_逆天 2020-06-07 23:42:12 34 浏览量 回答数 1

回答

前言 这期我想写很久了,但是因为时间的原因一直拖到了现在,我以为一两天就写完了,结果从构思到整理资料,再到写出来用了差不多一周的时间吧。 你们也知道丙丙一直都是创作鬼才来的,所以我肯定不会一本正经的写,我想了好几个切入点,最后决定用一个完整的电商系统作为切入点,带着大家看看,我们需要学些啥,我甚至还收集配套视频和资料,暖男石锤啊,这期是呕心沥血之作,不要白嫖了。 正文 在写这个文章之前,我花了点时间,自己臆想了一个电商系统,基本上算是麻雀虽小五脏俱全,我今天就用它开刀,一步步剖析,我会讲一下我们可能会接触的技术栈可能不全,但是够用,最后给个学习路线。 Tip:请多欣赏一会,每个点看一下,看看什么地方是你接触过的,什么技术栈是你不太熟悉的,我觉得还算是比较全的,有什么建议也可以留言给我。 不知道大家都看了一下没,现在我们就要庖丁解牛了,我从上到下依次分析。 前端 你可能会会好奇,你不是讲后端学习路线嘛,为啥还有前端的部分,我只能告诉你,傻瓜,肤浅。 我们可不能闭门造车,谁告诉你后端就不学点前端了? 前端现在很多也了解后端的技术栈的,你想我们去一个网站,最先接触的,最先看到的是啥? 没错就是前端,在大学你要是找不到专门的前端同学,去做系统肯定也要自己顶一下前端的,那我觉得最基本的技术栈得熟悉和了解吧,丙丙现在也是偶尔会开发一下我们的管理系统主要是VUE和React。 在这里我列举了我目前觉得比较简单和我们后端可以了解的技术栈,都是比较基础的。 作为一名后端了解部分前端知识还是很有必要的,在以后开发的时候,公司有前端那能帮助你前后端联调更顺畅,如果没前端你自己也能顶一下简单的页面。 HTML、CSS、JS、Ajax我觉得是必须掌握的点,看着简单其实深究或者去操作的话还是有很多东西的,其他作为扩展有兴趣可以了解,反正入门简单,只是精通很难很难。 在这一层不光有这些还有Http协议和Servlet,request、response、cookie、session这些也会伴随你整个技术生涯,理解他们对后面的你肯定有不少好处。 Tip:我这里最后删除了JSP相关的技术,我个人觉得没必要学了,很多公司除了老项目之外,新项目都不会使用那些技术了。 前端在我看来比后端难,技术迭代比较快,知识好像也没特定的体系,所以面试大厂的前端很多朋友都说难,不是技术多难,而是知识多且复杂,找不到一个完整的体系,相比之下后端明朗很多,我后面就开始讲后端了。 网关层: 互联网发展到现在,涌现了很多互联网公司,技术更新迭代了很多个版本,从早期的单机时代,到现在超大规模的互联网时代,几亿人参与的春运,几千亿成交规模的双十一,无数互联网前辈的造就了现在互联网的辉煌。 微服务,分布式,负载均衡等我们经常提到的这些名词都是这些技术在场景背后支撑。 单机顶不住,我们就多找点服务器,但是怎么将流量均匀的打到这些服务器上呢? 负载均衡,LVS 我们机器都是IP访问的,那怎么通过我们申请的域名去请求到服务器呢? DNS 大家刷的抖音,B站,快手等等视频服务商,是怎么保证同时为全国的用户提供快速的体验? CDN 我们这么多系统和服务,还有这么多中间件的调度怎么去管理调度等等? zk 这么多的服务器,怎么对外统一访问呢,就可能需要知道反向代理的服务器。 Nginx 这一层做了反向负载、服务路由、服务治理、流量管理、安全隔离、服务容错等等都做了,大家公司的内外网隔离也是这一层做的。 我之前还接触过一些比较有意思的项目,所有对外的接口都是加密的,几十个服务会经过网关解密,找到真的路由再去请求。 这一层的知识点其实也不少,你往后面学会发现分布式事务,分布式锁,还有很多中间件都离不开zk这一层,我们继续往下看。 服务层: 这一层有点东西了,算是整个框架的核心,如果你跟我帅丙一样以后都是从事后端开发的话,我们基本上整个技术生涯,大部分时间都在跟这一层的技术栈打交道了,各种琳琅满目的中间件,计算机基础知识,Linux操作,算法数据结构,架构框架,研发工具等等。 我想在看这个文章的各位,计算机基础肯定都是学过的吧,如果大学的时候没好好学,我觉得还是有必要再看看的。 为什么我们网页能保证安全可靠的传输,你可能会了解到HTTP,TCP协议,什么三次握手,四次挥手。 还有进程、线程、协程,什么内存屏障,指令乱序,分支预测,CPU亲和性等等,在之后的编程生涯,如果你能掌握这些东西,会让你在遇到很多问题的时候瞬间get到点,而不是像个无头苍蝇一样乱撞(然而丙丙还做得不够)。 了解这些计算机知识后,你就需要接触编程语言了,大学的C语言基础会让你学什么语言入门都会快点,我选择了面向对象的JAVA,但是也不知道为啥现在还没对象。 JAVA的基础也一样重要,面向对象(包括类、对象、方法、继承、封装、抽象、 多态、消息解析等),常见API,数据结构,集合框架,设计模式(包括创建型、结构型、行为型),多线程和并发,I/O流,Stream,网络编程你都需要了解。 代码会写了,你就要开始学习一些能帮助你把系统变得更加规范的框架,SSM可以会让你的开发更加便捷,结构层次更加分明。 写代码的时候你会发现你大学用的Eclipse在公司看不到了,你跟大家一样去用了IDEA,第一天这是什么玩意,一周后,真香,但是这玩意收费有点贵,那免费的VSCode真的就是不错的选择了。 代码写的时候你会接触代码的仓库管理工具maven、Gradle,提交代码的时候会去写项目版本管理工具Git。 代码提交之后,发布之后你会发现很多东西需要自己去服务器亲自排查,那Linux的知识点就可以在里面灵活运用了,查看进程,查看文件,各种Vim操作等等。 系统的优化很多地方没优化的空间了,你可能会尝试从算法,或者优化数据结构去优化,你看到了HashMap的源码,想去了解红黑树,然后在算法网上看到了二叉树搜索树和各种常见的算法问题,刷多了,你也能总结出精华所在,什么贪心,分治,动态规划等。 这么多个服务,你发现HTTP请求已经开始有点不满足你的需求了,你想开发更便捷,像访问本地服务一样访问远程服务,所以我们去了解了Dubbo,Spring cloud。 了解Dubbo的过程中,你发现了RPC的精华所在,所以你去接触到了高性能的NIO框架,Netty。 代码写好了,服务也能通信了,但是你发现你的代码链路好长,都耦合在一起了,所以你接触了消息队列,这种异步的处理方式,真香。 他还可以帮你在突发流量的时候用队列做缓冲,但是你发现分布式的情况,事务就不好管理了,你就了解到了分布式事务,什么两段式,三段式,TCC,XA,阿里云的全局事务服务GTS等等。 分布式事务的时候你会想去了解RocketMQ,因为他自带了分布式事务的解决方案,大数据的场景你又看到了Kafka。 我上面提到过zk,像Dubbo、Kafka等中间件都是用它做注册中心的,所以很多技术栈最后都组成了一个知识体系,你先了解了体系中的每一员,你才能把它们联系起来。 服务的交互都从进程内通信变成了远程通信,所以性能必然会受到一些影响。 此外由于很多不确定性的因素,例如网络拥塞、Server 端服务器宕机、挖掘机铲断机房光纤等等,需要许多额外的功能和措施才能保证微服务流畅稳定的工作。 **Spring Cloud **中就有 Hystrix 熔断器、Ribbon客户端负载均衡器、Eureka注册中心等等都是用来解决这些问题的微服务组件。 你感觉学习得差不多了,你发现各大论坛博客出现了一些前沿技术,比如容器化,你可能就会去了解容器化的知识,像**Docker,Kubernetes(K8s)**等。 微服务之所以能够快速发展,很重要的一个原因就是:容器化技术的发展和容器管理系统的成熟。 这一层的东西呢其实远远不止这些的,我不过多赘述,写多了像个劝退师一样,但是大家也不用慌,大部分的技术都是慢慢接触了,工作中慢慢去了解,去深入的。 好啦我们继续沿着图往下看,那再往下是啥呢? 数据层: 数据库可能是整个系统中最值钱的部分了,在我码文字的前一天,刚好发生了微盟程序员删库跑路的操作,删库跑路其实是我们在网上最常用的笑话,没想到还是照进了现实。 这里也提一点点吧,36小时的故障,其实在互联网公司应该是个笑话了吧,权限控制没做好类似rm -rf 、fdisk、drop等等这样的高危命令是可以实时拦截掉的,备份,全量备份,增量备份,延迟备份,异地容灾全部都考虑一下应该也不至于这样,一家上市公司还是有点点不应该。 数据库基本的事务隔离级别,索引,SQL,主被同步,读写分离等都可能是你学的时候要了解到的。 上面我们提到了安全,不要把鸡蛋放一个篮子的道理大家应该都知道,那分库的意义就很明显了,然后你会发现时间久了表的数据大了,就会想到去接触分表,什么TDDL、Sharding-JDBC、DRDS这些插件都会接触到。 你发现流量大的时候,或者热点数据打到数据库还是有点顶不住,压力太大了,那非关系型数据库就进场了,Redis当然是首选,但是MongoDB、memcache也有各自的应用场景。 Redis使用后,真香,真快,但是你会开始担心最开始提到的安全问题,这玩意快是因为在内存中操作,那断点了数据丢了怎么办?你就开始阅读官方文档,了解RDB,AOF这些持久化机制,线上用的时候还会遇到缓存雪崩击穿、穿透等等问题。 单机不满足你就用了,他的集群模式,用了集群可能也担心集群的健康状态,所以就得去了解哨兵,他的主从同步,时间久了Key多了,就得了解内存淘汰机制…… 他的大容量存储有问题,你可能需要去了解Pika…. 其实远远没完,每个的点我都点到为止,但是其实要深究每个点都要学很久,我们接着往下看。 实时/离线/大数据 等你把几种关系型非关系型数据库的知识点,整理清楚后,你会发现数据还是大啊,而且数据的场景越来越多多样化了,那大数据的各种中间件你就得了解了。 你会发现很多场景,不需要实时的数据,比如你查你的支付宝去年的,上个月的账单,这些都是不会变化的数据,没必要实时,那你可能会接触像ODPS这样的中间件去做数据的离线分析。 然后你可能会接触Hadoop系列相关的东西,比如于Hadoop(HDFS)的一个数据仓库工具Hive,是建立在 Hadoop 文件系统之上的分布式面向列的数据库HBase 。 写多的场景,适合做一些简单查询,用他们又有点大材小用,那Cassandra就再合适不过了。 离线的数据分析没办法满足一些实时的常见,类似风控,那Flink你也得略知一二,他的窗口思想还是很有意思。 数据接触完了,计算引擎Spark你是不是也不能放过…… 搜索引擎: 传统关系型数据库和NoSQL非关系型数据都没办法解决一些问题,比如我们在百度,淘宝搜索东西的时候,往往都是几个关键字在一起一起搜索东西的,在数据库除非把几次的结果做交集,不然很难去实现。 那全文检索引擎就诞生了,解决了搜索的问题,你得思考怎么把数据库的东西实时同步到ES中去,那你可能会思考到logstash去定时跑脚本同步,又或者去接触伪装成一台MySQL从服务的Canal,他会去订阅MySQL主服务的binlog,然后自己解析了去操作Es中的数据。 这些都搞定了,那可视化的后台查询又怎么解决呢?Kibana,他他是一个可视化的平台,甚至对Es集群的健康管理都做了可视化,很多公司的日志查询系统都是用它做的。 学习路线 看了这么久你是不是发现,帅丙只是一直在介绍每个层级的技术栈,并没说到具体的一个路线,那是因为我想让大家先有个认知或者说是扫盲吧,我一样用脑图的方式汇总一下吧,如果图片被平台二压了。 资料/学习网站 Tip:本来这一栏有很多我准备的资料的,但是都是外链,或者不合适的分享方式,博客的运营小姐姐提醒了我,所以大家去公众号回复【路线】好了。 絮叨 如果你想去一家不错的公司,但是目前的硬实力又不到,我觉得还是有必要去努力一下的,技术能力的高低能决定你走多远,平台的高低,能决定你的高度。 如果你通过努力成功进入到了心仪的公司,一定不要懈怠放松,职场成长和新技术学习一样,不进则退。 丙丙发现在工作中发现我身边的人真的就是实力越强的越努力,最高级的自律,享受孤独(周末的歪哥)。 总结 我提到的技术栈你想全部了解,我觉得初步了解可能几个月就够了,这里的了解仅限于你知道它,知道他是干嘛的,知道怎么去使用它,并不是说深入了解他的底层原理,了解他的常见问题,熟悉问题的解决方案等等。 你想做到后者,基本上只能靠时间上的日积月累,或者不断的去尝试积累经验,也没什么速成的东西,欲速则不达大家也是知道的。 技术这条路,说实话很枯燥,很辛苦,但是待遇也会高于其他一些基础岗位。 所实话我大学学这个就是为了兴趣,我从小对电子,对计算机都比较热爱,但是现在打磨得,现在就是为了钱吧,是不是很现实?若家境殷实,谁愿颠沛流离。 但是至少丙丙因为做软件,改变了家庭的窘境,自己日子也向小康一步步迈过去。 说做程序员改变了我和我家人的一生可能夸张了,但是我总有一种下班辈子会因为我选择走这条路而改变的错觉。 我是敖丙,一个在互联网苟且偷生的工具人。 创作不易,本期硬核,不想被白嫖,各位的「三连」就是丙丙创作的最大动力,我们下次见! 本文 GitHub https://github.com/JavaFamily 已经收录,有大厂面试完整考点,欢迎Star。 该回答来自:敖丙
剑曼红尘 2020-03-06 11:35:37 0 浏览量 回答数 0

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT