路由

[Vue] : 路由

≯℡__Kan透↙ 提交于 2020-02-28 05:48:00
什么是路由 对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源; 对于单页面应用程序来说,主要通过URL中的hash(#号)来实现不同页面之间的切换,同时,hash有一个特点:HTTP请求中不会包含hash相关的内容;所以,单页面程序中的页面跳转主要用hash实现; 在单页面应用程序中,这种通过hash改变来切换页面的方式,称作前端路由(区别于后端路由); 在 vue 中使用 vue-router 路由的基本使用包括以下几步: 引入 vue-router.js ,也可以通过 npm 安装,后面再介绍 创建模板对象 创建一个路由对象, 当导入 vue-router 包之后,在 window 全局对象中,就有了一个路由的构造函数,叫做 VueRouter ,在 new 路由对象的时候,可以为构造函数,传递一个配置对象。配置对象中的 routes 表示 路由匹配规则 ,每个路由规则,都是一个对象,这个规则对象身上,有两个必须的属性: path 表示监听的路由链接地址; component 表示,如果路由是前面匹配到的 path ,则展示 component 属性对应的那个组件,注意: component 的属性值,必须是一个 组件的模板对象, 不能是 组件的引用名称。 router: routerObj 将路由规则对象,注册到 vm 实例上,用来监听

Flask的简单路由

烈酒焚心 提交于 2020-02-28 05:18:55
文章目录 路由规则 路由的参数类型 重定向 抛出异常 Flask的配置文件可以直接从专业版的Pycharm里面选择Flask,就会有直接写好的配置文件。 路由规则 1 必须以/开头 2. 最好以斜线结尾,如果不以斜线结尾,请求路径中末尾不能带斜线 @app.route(’/list//’)与@app.route(’/list/’)的区别: 末尾带斜线的,即使在请求页面的不写斜线,也会出现300来重定向,填补斜线 但是末尾不带斜线的,不写会直接报错。 路由的参数类型 #1.默认是:string类型 #string参数:<参数名> @app.route(’/str// int:age /’) def zifuchuan(strs, age): return str(age) + “岁的你,一天天的,” + strs http://2.int类型 #int参数: int:参数名 @app.route(’/int/ int:ints /’) def zhengxing(ints): return str(ints) + ’ ’ + str(ints) + ’ ’ + str(ints) 3.float类型 #float参数: float:参数名 @app.route(’/float/ float:floats /’) def fudianxing(floats): return

微前端在美团外卖的实践

橙三吉。 提交于 2020-02-27 23:10:02
背景 微前端是一种利用微件拆分来达到工程拆分治理的方案,可以解决工程膨胀、开发维护困难等问题。随着前端业务场景越来越复杂,微前端这个概念最近被提起得越来越多,业界也有很多团队开始探索实践并在业务中进行了落地。可以看到,很多团队也遇到了各种各样的问题,但各自也都有着不同的处理方案。诚然,任何技术的实现都要依托业务场景才会变得有意义,所以在阐述美团外卖广告团队的微前端实践之前,我们先来简单介绍一下外卖商家广告端的业务形态。目前,我们开发和维护的系统主要包括三端: PC系统:单门店投放系统PC端 H5系统:单门店投放系统H5端 KA系统:多门店投放系统PC端 如上图所示,原始解决方案的三端由各自独立开发和维护,各自包含所有的业务线,而我们的业务开发情况是: PC端和H5端相同业务线的 基本业务逻辑一致 ,UI差异大。 PC端和KA端相同业务线的 部分业务逻辑一致 ,UI差异小。 在这种特殊的业务场景下,就会出现一个有关开发效率的抉择问题。即我们希望能复用的部分只开发一次,而不是三次。那么接下来,就有两个问题摆在我们面前: 如何进行 物理层面的复用 (不同端的代码在不同地址的Git仓库)。 如何进行 逻辑层面的复用 (不同端的相同逻辑如何使用一份代码进行抽象)。 我们这里重点看一下物理层面的复用,即:如何在物理空间上使得各自独立的三端系统(不同仓库)引入我们的复用层?我们尝试了NPM包

Beego 过滤器

蓝咒 提交于 2020-02-27 20:59:24
过滤器 beego 支持自定义过滤中间件,例如安全验证,强制跳转等。 过滤器函数如下所示: beego.InsertFilter(pattern string, position int, filter FilterFunc, params ...bool) InsertFilter 函数的三个必填参数,一个可选参数 pattern 路由规则,可以根据一定的规则进行路由,如果你全匹配可以用 * position 执行 Filter 的地方,五个固定参数如下,分别表示不同的执行过程 BeforeStatic 静态地址之前 BeforeRouter 寻找路由之前 BeforeExec 找到路由之后,开始执行相应的 Controller 之前 AfterExec 执行完 Controller 逻辑之后执行的过滤器 FinishRouter 执行完逻辑之后执行的过滤器 filter filter 函数 type FilterFunc func(*context.Context) params 设置 returnOnOutput 的值(默认 true), 如果在进行到此过滤之前已经有输出,是否不再继续执行此过滤器,默认设置为如果前面已有输出(参数为true),则不再执行此过滤器 是否重置 filters 的参数,默认是 false,因为在 filters 的 pattern 和本身的路由的

angular2 单元测试 路由相关

早过忘川 提交于 2020-02-27 15:23:12
第一步:在html模板中,写路由链接,并保证有路由出口 第二步:写自定义的路由指令和路由出口组件,因为在单元测试中不需要引入真实的路由,此处我们用虚拟的代替即可。 第三步:将自定义的虚拟路由指令和路由出口引入测试程序。此处路由相关的测试项被封装到方法 routerTest() 中了。 第四步:路由相关的基础测试 来源: https://www.cnblogs.com/jing5990/p/12371926.html

Spring Boot(七):RabbitMQ 详解

好久不见. 提交于 2020-02-27 13:58:31
一、RabbitMQ简介 RabbitMQ即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。 消息中间件在互联网公司的使用中越来越多,消息中间件最主要的作用是解耦,中间件最标准的用法是生产者生产消息传送到队列,消费者从队列中拿取消息并处理,生产者不用关心是谁来消费,消费者不用关心谁在生产消息,从而达到解耦的目的。在分布式的系统中,消息队列也会被用在很多其它的方面,比如:分布式事务的支持,RPC的调用等等。 RabbitMQ是实现AMQP(高级消息队列)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。RabbitMQ主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层保存这个数据。 AMQP,即advanced message queuing protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠安全。 RabbitMQ是一个开源的AMQP实现,服务器用Erlang语言编写,支持多种客户端,如 Python、Ruby、.NET、Java、JMS

非科班生网络通信必会知识点归纳

心不动则不痛 提交于 2020-02-27 11:45:43
一、 网络模型 网络模型分两种,一种是OSI模型,一种是TCP/IP模型,后者应用更加广泛。这里也主要介绍TCP/IP模型。 (一)TCP/IP模型 首先分为4层,从上到下依次是应用层、传输层、网络层、数据链路层。 OSI模型中将网络分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。 TCP/IP的应用层是OSI模型中应用层、表示层、会话层的集合,而物理层由于不是我们经常考虑的问题,所以TCP/IP模型没有把物理层算上。 1、数据链路层 数据链路层的核心是以太网协议。以太网协议规定一组电信号是一个数据包,叫一个振,每个帧(frame)分为标头(head)和数据(data),标头包含一些说明性东西,比如发送者,接收者,和数据类型之类的。例如一个电脑发个数据包出去,会广播给局域网(子网)内所有电脑设备的网卡,然后每台设备都从数据包获取接收者的mac地址与自己网卡的mac地址比对,如果一样就说明这是发给自己的数据包。 2、网络层 定义了一套IP协议,有IPV4和IPV6,以IPV4为例,由32个二进制数字组成,用4个10进制数字表示。 IP地址分为三类: A类:第一个字节为网络号,后三个字节为主机号。该类IP地址的最前面为“0”,所以地址的网络号取值于1~126之间。一般用于大型网络。 B类:前两个字节为网络号,后两个字节为主机号。该类IP地址的最前面为“10”

IP通信基础 3月21号作业:设备选型

北城余情 提交于 2020-02-27 05:11:35
1、选择交换机的主要技能指标是什么? 一、交换机内存   交换机中可能有多种内存,例如Flash(闪存)、DRAM(动态内存)等。内存用作存储配置、作为数据缓冲等。交换机采用了以下几种不同类型的内存,每种内存以不同方式协助交换机工作。 二、网络标准 局域网(LAN)的结构主要有三种类型:以太网(Ethernet)、令牌环(Token Ring)、令牌总线(Token Bus)以及作为这三种网的骨干网光纤分布数据接口(FDDI)。 三、交换方式 目前交换机在传送源和目的端口的数据包时通常采用直通式交换、存储转发式和碎片隔离方式三种数据包交换方式。目前的存储转发式是交换机的主流交换方式。 四、背板带宽   交换机的背板带宽,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。 五、包转发率    包转发率标志了交换机转发数据包能力的大小。单位一般位pps(包每秒),一般交换机的包转发率在几十Kpps到几百Mpps不等。 六、 MAC 地址表    交换机之所以能够直接对目的节点发送数据包,而不是像集线器一样以广播方式对所有节点发送数据包,最关键的技术就是交换机可以识别连在网络上的节点的网卡MAC地址 2、选择路由器的主要技能指标是什么? 一、路由器的配置主要有接口种类、用户可用槽数、CPU、内存、端口密度等,但由于学校校园网网络一般比较简单一般支持以太网即可

树莓派3b 安装openwrt

不羁岁月 提交于 2020-02-27 04:25:42
https://downloads.openwrt.org/releases/19.07.0/targets/brcm2708/bcm2710/openwrt-19.07.0-brcm2708-bcm2710-rpi-3-squashfs-factory.img.gz 插入并启动树莓派3B+,顺便接上键盘和显示器,你会看到像这样的界面 接着敲一下回车键,输入指令: vi /etc/config/network 按 i 键进入编辑模式,在默认配置下,把lan 接口下面的 option ifname ‘eth0’ 前面加上 # 号屏蔽 在最下方新增: config interface ‘wan’ option proto ‘dhcp’ option ifname ‘eth0’ option ipv6 ‘auto’ 以下是参考图 注意!如果你需要拨号上网, 在 wan 接口的 proto 修改成 ‘pppoe’ ,加上 option username ‘blahblahblah’ option password ‘blahblahblah’ 修改完后按esc退出编辑模式,按输入 :wq 保存退出 下一步我们开启Wi-Fi,输入指令: vi /etc/config/wireless 把option disabled ‘1’ 改成: option disabled ‘0’ 以下是参考图

vue - blog开发学习1

橙三吉。 提交于 2020-02-27 04:25:31
1、安装vue-cli   vue intall -g vue-cli 2、创建项目   vue init webpack nblog 3、按提示要求配置项目 ? Project name nblog ? Project description 学习bolg开发 ? Author nxzJIA <987097855@qq.com> ? Vue build standalone ? Install vue-router? Yes ? Use ESLint to lint your code? Yes ? Pick an ESLint preset Standard ? Set up unit tests No ? Setup e2e tests with Nightwatch? No ? Should we run `npm install` for you after the project has been created? (recommended) npm vue-cli · Generated "nblog". 4、创建完成之后,用webstorm导入项目,如下图 5、启动项目,项目默认的主页 6、为了方便开发,会使用iviewui 需要在main.js中添加: import iView from 'iview' Vue.use(iView) 7、改造项目