前端架构

微服务架构之「 访问安全 」(转载)

匿名 (未验证) 提交于 2019-12-02 23:42:01
文章来源:https://www.cnblogs.com/jsjwk/p/11015666.html 应用程序的访问安全又是我们每一个研发团队都必须关注的重点问题。尤其是在我们采用了微服务架构之后,项目的复杂度提升了N个级别,相应的,微服务的安全工作也就更难更复杂了。并且我们以往擅长的单体应用的安全方案对于微服务来说已经不再适用了。我们必须有一套新的方案来保障微服务架构的安全。 在探索微服务访问安全之前,我们还是先来回顾一下单体应用的安全是如何实现的。 一、传统单体应用如何实现「访问安全」? 下图就是一个传统单体应用的访问示意图: (图片来自WillTran在slideshare分享) 在应用服务器里面,我们有一个auth模块(一般采用过滤来实现),当有客户端请求进来时,所有的请求都必须首先经过这个auth来做身份验证,验证通过后,才将请求发到后面的业务逻辑。 通常客户端在第一次请求的时候会带上身份校验信息(用户名和密码),auth模块在验证信息无误后,就会返回Cookie存到客户端,之后每次客户端只需要在请求中携带Cookie来访问,而auth模块也只需要校验Cookie的合法性后决定是否放行。 可见,在传统单体应用中的安全架构还是蛮简单的,对外也只有一个入口,通过auth校验后,内部的用户信息都是内存/线程传递,逻辑并不是复杂,所以风险也在可控范围内。 那么

web前端项目开发流程

匿名 (未验证) 提交于 2019-12-02 23:42:01
版权声明:如果您对这个文章有任何异议,那么请在文章评论处写上你的评论。 如果您觉得这个文章有意思,那么请分享并转发,或者也可以关注一下表示您对我们文章的认可与鼓励。 愿大家都能在编程这条路,越走越远。 https://blog.csdn.net/weixin_44369568/article/details/91489117 开发流程 图解 需求 评审 召集需求涉及到的UI、开发、产品、测试人员整理业务流程,同步信息,明确分工 明确需求目的,考虑当前需求设计是否可满足目的 整理流程中如果涉及的其他人员,则召集商讨 如需求设计上影响现有业务功能,应要求产品重新设计实现方案,然后重新评审 注意事项 业务流程同步:评审后重新梳理流程,存在疑问处及时找产品沟通 周边需求依赖:评审功能与依赖功能并行开发,由于前置需求未完成导致当前需求时间成本被压缩 埋点需求:提前与产品明确是否需要埋点 造数据:提前了解测试数据制造的困难程度,预估测试时间―>有些场景下的测试数据非常难造 并发量:后端机器是否能够承担新需求下的并发量,如果无法承担的话必须给出后续方案 自测:由于开发人员不予提供线上账号,因此自测也需要一名测试人员做线上回归测试 兼容范围:pc端需明确要兼容哪些浏览器,移动端需明确android与ios兼容版本以及哪些移动端浏览器 开发 评审 原型图评审

Web全栈前端开发之VUE2.0项目实战,由浅入深学习路线

匿名 (未验证) 提交于 2019-12-02 23:34:01
Web全栈前端开发之VUE2.0项目实战,由浅入深学习路线: 第1天 Vue 2.0 1、vue简介 2、体验vue 3、数据绑定的实现原理 4、webpack编译 5、数据丢失 6、插值表达式 7、属性绑定 8、自定义过滤器 9、监听数据变化 10、计算属性数据 11、数据双向绑定 12、避免插值闪烁 13、DOM事件 14、事件修饰符 15、类的三种绑定方式 16、样式的三种绑定方式 第2天 Vue 2.0 1、条件模板指令 2、显隐指令 3、循环模板指令 4、模板元素 5、支付宝登录页面 6、支付宝登录交互 7、过渡 8、单选框元素数据双向绑定 9、多选框元素数据双向绑定 10、下拉框的数据双向绑定 11、自定义指令 12、表单校验 13、自定义组件 14、slot组件 15、component组件 第3天 VueX与Vue Router 1、keep-live组件 2、组件生命周期 3、父组件到子组件通信 4、vue中观察者模式 5、子组件到父组件通信 6、Flux与Vuex解决组件通信问题 7、Vuex同步消息 8、Vuex异步消息 9、计算属性数据 10、模块切割 11、前端路由实现原理 12、使用路由 13、路由参数 14、默认路由 15、路由重定向 16、子路由 17、路由导航 第4天Axios、Vue组件、Mint UI与Element UI 2、安装axios库

前端求职简历模板,一投即过!

匿名 (未验证) 提交于 2019-12-02 23:32:01
在面试的时候,我们都要准备一份简历。因为双方皆是第一次见面,面试官首先就要了解你的基本信息,简历就是让对方快速了解你的重要武器。有了简历还不够,还必须将你的亮点展示出来。下面我就给大家准备了一份简历的模块,希望能帮助到Web前端方面有需要的小伙伴。 详细资料 姓名:XXX 出生年月:XXXX年X月 照片:(脑补 ) 名 族:X族 政治面貌:XXXX Q Q:1234567891 联系电话:800828820 E-Mail:1234567891 @qq.com 博客: https://mp.csdn.net/xxxx 教育背景 时间:20XX/1X --- 20XX/1X 学校:XXXX大学 专业:XXXX 学历:专科/本科/... 主修课程:XXXXX,XXXXX,XXXXX,XXXXX,XXXXX,XXXXX 获得奖励:XX一等奖、XX国家奖学金 在校经历:(1)XXXXXXX (2)XXXXXXX (3)XXXXXXX 技能知识点 1、精通DIV+CSS布局的HTML代码编写,熟练手写符合W3C标准的代码,能够根据交互原型和UI设计图完整制作出网页; 2、熟悉Javascript、css3和html5,且能熟练运用JQuery框架实现网页常用特效,掌握面向对象编程思想; 3、熟练应用dom、xml、json等相关技术; 4、熟悉Bootstrap前端框架

Hybrid App 开发快速指南

匿名 (未验证) 提交于 2019-12-02 22:56:40
课程背景 混合应用相对于原生应用而言,是原生应用和 Web 应用的结合体。过去几年,混合应用开发的各种利弊已得到充分的讨论和验证。关于混合应用是什么、为什么使用的问题,相信大家都有自己的答案,但如何开发混合应用,从现有资料中却很难找到一个系统、全面的回答。 刚上手或准备上手混合应用的开发者,经常苦于没有一套经过验证的最佳实践来指导开发,在开发的各个阶段往往遇到各种问题: 如何选型? 如何架构前端代码? 如何做好体验? 如何做好安全性? 如何正确使用原生能力? 如果对以上问题没有充分的理解,贸然开始一个混合项目就很容易掉进坑里。为了帮助大家解决这些问题,快速开展混合应用开发,特推出了本达人课。 课程介绍 本课程为混合应用开发入门课程,将带领读者快速掌握 Hybrid App 开发能力,内容涵盖混合应用原理、混合应用开发基础、混合应用开发进阶、混合应用开发最佳实践。 课程主要分为两大部分: 第一部分(第01-05课),理论篇,带大家明确了解混合应用开发与普通 Web 前端开发的差异,内容包括混合应用原理、混合应用界面开发、混合应用体验优化、性能优化、混合应用安全性等,属于混合应用开发基础理论内部。 第二部分(第06-13课),实战篇,从技术选型开始,讲解如何基于 APICloud 平台开发混合应用,内容包括平台特性、前端项目工程规划、界面交互、数据交互、数据缓存等开发中的各个方面

微软下一代Web前端技术Blazor(C#编译为WebAssembly)

匿名 (未验证) 提交于 2019-12-02 22:10:10
W3C Web标准化机构在制定下一代的网页技术WebAssembly。目前版本是1.0,主流浏览器的最新版本都已经支持。其特点是浏览器可以执行编译后的二进制程序,不需要像之前的程序,浏览器下载JavaScript文件后,先编译再运行,节省了时间。另外一个主要特点是,我们可以使用任何语言,Java/JavaScript/TypeScript/C#/PHP/Pythonn等强类型语言做编程,编译为WASM格式即可由浏览器运行。比如如果你熟悉C# 语言,你可以使用HTML+CSS+C# (之前为HTML+CSS+JavaScript) 结合进行前端编程。 下图是微软C#版本的WebAssembly架构- Blazor 。Visual Studio 2017 (15.7 Preview 6)自动生成的Hello World 程序。 文章来源: 微软下一代Web前端技术Blazor(C#编译为WebAssembly)

深入理解Redux

匿名 (未验证) 提交于 2019-12-02 21:53:52
前面的话   Redux是Flux思想的另一种实现方式。Flux是和React同时面世的。React用来替代jQuery,Flux用来替换Backbone.js等MVC框架。在MVC的世界里,React相当于V(view)的部分,只涉及页面的渲染。一旦涉及应用的数据管理部分,还是交给Model和Controller。不过,Flux并不是一个MVC框架,它用一种新的思路来管理数据。本文将详细介绍Redux的内容 MVC   MVC是业界广泛接受的一种前端应用框架类型,这种框架把应用分为三个部分:   Model(模型)负责管理数据,大部分业务逻辑应该放在Model中   View(视图)负责渲染用户页面,应该避免在View中涉及业务逻辑   Controller(控制器)负责接受用户输入,根据用户输入调用相应的Model部分逻辑,把产生的数据结果交给View部分,让View渲染出必要的输出   MVC框架提出的数据流很理想,用户请求先到达Controller,由Controller调用Model获得数据,然后把数据交给View。但是,在实际框架实现中,总是允许View和Model直接通信   然而,在MVC中让View和Model直接对话就是灾难 Flux   Facebook用Flux框架来替代原有的MVC框架,这种框架包含四个部分:   Dispatcher负责动作分发

Java 前后端分离项目:微人事

匿名 (未验证) 提交于 2019-12-02 21:52:03
本文适合刚学习完 Java 语言基础的人群,跟着本文可了解和运行项目,本示例是在 Windows 操作系统下演示。 本文作者:HelloGitHub- 秦人 大家好!这里是 HelloGitHub 推出的 《讲解开源项目》 系列,今天给大家带来一款基于 Java 语言的人力资源管理开源项目―― 微人事 微人事是一个前后端分离的人力资源管理系统,项目采用 SpringBoot + Vue 架构。该系统是管理员对员工信息的一些列的操作。首先管理员需要登入系统,可对员工信息进行增删查改操作,也可以对员工进行奖罚,工资等信息的增删查改。然后实现对部门员工信息的统计和修改。所有的操作都在系统中有日志记录。 微人事的项目地址: https://github.com/lenve/vhr 想要快速搭建一套微人事管理系统,那就跟着本文的步骤。你只需要花 10 分钟,就能拥有一个属于自己的微人事管理系统,并且可以对前后端分离的项目有一个完成的概念和感觉。下面是搭建完成的效果图: 微人事这个项目采用: SpringBoot :SpringBoot 是基于 Spring4 进行设计,目的是为了简化 Spring 应用的初始搭建以及开发过程。 该框架使用特定的方式(集成 starter,约定优于配置)来进行配置,从而使开发人员不需要再定义样板化的配置。 SpringSecurity

前端-HTML-web服务本质-HTTP协议-请求-标签-01-临时

匿名 (未验证) 提交于 2019-12-02 20:32:16
Ŀ¼ title style link script meta day40-43 在讲优酷项目 仅是对前端知识的小总结(比较片面,不具备多少参考性) 任何 与用户直接打交道的操作界面 都可以称之为前端 比如: 电脑界面、手机界面、平板界面 暂时理解成幕后操作者,不直接和用户打交道 前端三剑客: HTML、CSS、JavaScript 前端框架: Bootstrap、VUE、React... 我们的浏览器端(B/S架构)本质上也是一个客户端,通过socket与服务端通信,发送请求,获得返回数据,再有浏览器将服务器返回的数据渲染成页面上看到的一个一个标签元素样式。 手写一个简易的服务端做测试 import socket server = socket.socket() server.bind(('127.0.0.1', 8080)) server.listen(5) while True: conn, addr = server.accept() data = conn.recv(1024) print(data) conn.send(data.upper()) conn.close() 浏览器直接请求服务端的地址(在地址栏输入 ip+端口) 服务端收到响应(不需要写客户端,浏览器就相当于客户端(B/S本质就是C/S架构)) 浏览器(客户端)朝服务端 发送请求 服务端 接收请求 服务端

前后分离接口规范

牧云@^-^@ 提交于 2019-12-02 20:15:17
转自: https://www.jianshu.com/p/c81008b68350 1. 前言 随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高,后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕细作。 然而带来的另一个问题:前后端的对接界面双方却关注甚少,没有任何接口约定规范情况下各自撸起袖子就是干,导致我们在产品项目开发过程中,前后端的接口联调对接 工作量占比在30%-50%左右,甚至会更高。往往前后端接口联调对接及系统间的联调对接都是整个产品项目研发的软肋。 本文的主要初衷就是规范约定先行,尽量避免沟通联调产生的不必要的问题,让大家身心愉快地专注于各自擅长的领域。 2. 为何要分离 参考两篇文章 《Web 研发模式的演变》 、 《Web应用的组件化开发》 , 目前现有前后端开发模式:“后端为主的MVC时代”,如下图所示: 后端为主的MVC时代 代码可维护性得到明显好转,MVC 是个非常好的协作模式,从架构层面让开发者懂得什么代码应该写在什么地方。为了让 View 层更简单干脆,还可以选择 Velocity、Freemaker 等模板,使得模板里写不了 Java 代码。看起来是功能变弱了,但正是这种限制使得前后端分工更清晰。然而依旧并不是那么清晰,这个阶段的典型问题是: