react route使用HashRouter和BrowserRouter的区别-Content Security Policy img-src 404(Not found)

踩坑经历 昨天看了篇关于react-route的文章,说BrowserRouter比HashRouter好一些,react也是推荐使用BrowserRouter,毕竟自己在前端方面来说,就是个小白,别人说什么我就照做嘛,因此我就把路由从HashRouter改成BrowserRouter 然后今天就一直在悲剧中度过来了,当路由模式采用browserHistory时,点击每个导航都可以显示正确的页面,一旦浏览器刷新,页面就显示Cannot GET 然后各种百度,各种调试,一直都没调通,甚至有那么几
分类: 其他 发布时间: 07-21 23:28 阅读次数: 0

Pyechart:30分钟学会pyecharts数据可视化

30分钟学会pyecharts数据可视化 小红:你先跟我说说什么是pyecharts吧。 小明:Echarts 是一个由百度开源的数据可视化javascript库,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts诞生了。简单地说,pyecharts就是百度开源的一个强大的javascript数据可视化库Echarts的python接口。 小红:明白,那这个pyecharts要
分类: 其他 发布时间: 07-21 23:28 阅读次数: 0

anaconda配置环境变量

D:\Anaconda\ D:\Anaconda\Scripts D:\Anaconda\Library\bin
分类: 其他 发布时间: 07-21 23:28 阅读次数: 0

python while 1 然后pass会发生什么?

下面的代码,会使32核linux服务器志强e5的cpu使用率达到3200%,然后别的什么程序都跑不了。 如果windows,cpu使用率会达到100%。这是计算方式有点区别。 个人计算机,除非你是8路 i9 9900k并联的超级计算机 ,可以确定的是任何价格在5万人民币以下的电脑都会把鼠标键盘鼠标卡得动不了。 import multiprocessing def f(): while 1: pass if __name__ == '__main__': for
分类: 其他 发布时间: 07-21 23:28 阅读次数: 0

面向对象6大设计原则

一、依赖倒置原则(DIP) 高层模块(稳定)不应该依赖于底层模块(变化),二者都应该依赖于抽象(稳定) 抽象(稳定)不应该依赖于实现细节(变化),实现细节应该依赖于抽象(稳定) 条件:有稳定的类A,不稳定的类B、C,有抽象或者接口D(稳定) 让A依赖B/C则造成依赖倒置,因为是稳定依赖不稳定 正确应该让A、B、C依赖于接口D。稳定依赖稳定,不稳定依赖稳定。 依赖倒置原则其实就是面向接口编程 二、开闭原则(OCP) 类模块应该是可扩展的,但是不可修改 简单工厂模式违反了开闭原则,所以它不在23个
分类: 其他 发布时间: 07-21 23:28 阅读次数: 0

LeNet论文知识提取

LeNet:《Gradient-Based Learning Applied to Document Recognition》
分类: 其他 发布时间: 07-21 23:28 阅读次数: 0

Web自动化测试 七 ----- 鼠标、键盘操作

一、鼠标操作 在webdriver中,鼠标的一些操作如:双击、右击、悬停、拖动等都被封装在ActionChains类中,我们只用在需要使用的时候,导入这个类就可以了。 0.ActionChains类提供的鼠标常用方法: perform():执行所有 ActionChains 中存储的行为。 context_click():右击 double_click():双击 drag_and_drop():拖到 move_to_element():鼠标悬停 注意: 使用之前需要引入 ActionChain
分类: 其他 发布时间: 07-21 23:28 阅读次数: 0

hdu6277

hdu6277 结论题 #include<iostream> #include<cstdio> #include<queue> #include<algorithm> #include<cmath> #include<ctime> #include<set> #include<map> #include<stack> #include<cstring> #define inf 2147483647 #define ls rt<<1 #define rs rt<<1|1
分类: 其他 发布时间: 07-21 23:28 阅读次数: 0

nginx分割日志

实现nginx日志按照时间分割存储 backups_log.sh #设置log日志的存储地址 LOG_PATH=/home/soft/nginx/logs #设置历史日志的存储地址 HISTORY_LOG_PATH=/home/soft/nginx/history_logs #获取分割日志时所需要的时间当做日志文件名称 TIME=$(date +%Y-%m-%d) #将当前日志备份到指定存储目录 mv ${LOG_PATH}/access.log ${HISTORY_LOG_PA
分类: 其他 发布时间: 07-21 23:28 阅读次数: 0

Net UI Spy工具:ManagedSpy Net UI Spy工具:ManagedSpy

Net UI Spy工具:ManagedSpy 很久之前在接手一个大型的Winform项目的时候。有如下困难: 1,项目很大整个产品的Build由1400多个Project组成 2,产品的组件、控件太多太多 3,代码已经是N代传到N代了 基于以上的现状,项目组中的人员,没有谁对于整体能大概的把握。那么在维护和修改的时候,如何能根据UI的操作,快速定位到某个控件、组件的代码位置,就十分必要了。 当时首先想到的就是找一个UI Spy工具,来辅助这个需求。经过一番实践,发现:ManagedSpy最为
分类: 其他 发布时间: 07-21 23:28 阅读次数: 0

5130. 等价多米诺骨牌对的数量

给你一个由一些多米诺骨牌组成的列表 dominoes。 如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的。 形式上,dominoes[i] = [a, b] 和 dominoes[j] = [c, d] 等价的前提是 a==c 且 b==d,或是 a==d 且 b==c。 在 0 <= i < j < dominoes.length 的前提下,找出满足 dominoes[i] 和 dominoes[j] 等价的骨牌对 (i, j) 的数
分类: 其他 发布时间: 07-21 23:28 阅读次数: 0

Java学习:Map接口

Map集合 Collection接口: 定义了单列集合规范 Collection<E> 每次存储一个元素 单个元素 Map接口:定义了双列集合的规范 Map<K,V> 每次存储一对元素 java.util.Map<K,V>集合 Map集合的特点: Map集合是一个双列集合,一个元素包含两值(一个key,一个value) Map集合中的元素,key和value的数据类型可以相同,也可以不同 Map集合中的元素,key是不允许重复的,value是可以重复的 Map集合中的元素,key和value是
分类: 其他 发布时间: 07-21 23:28 阅读次数: 0

计算一个字符串中每一个字符出现的次数

练习: 计算一个字符串中每一个字符出现的次数 分析: 1.使用Scanner获取用户输入的字符串 2.创建Map集合,key是字符串中的字符,value是字符的个数 3.遍历字符串,获取每一个字符 4.使用获取到的字符,去Map集合判断key是否存在 key存在: 通过字符(key),获取value(字符个数) value++ put(key,value)把新的value存储到Map集合中 Key不存在: put(key,1) 5.遍历Map集合,输出结果 public class
分类: 其他 发布时间: 07-21 23:28 阅读次数: 0

转!流量削峰

如果你看过秒杀系统的流量监控图的话,你会发现它是一条直线,就在秒杀开始那一秒是一条很直很直的线,这是因为秒杀请求在时间上高度集中于某一特定的时间点。这样一来,就会导致一个特别高的流量峰值,它对资源的消耗是瞬时的。 但是对秒杀这个场景来说,最终能够抢到商品的人数是固定的,也就是说100人和10000人发起请求的结果都是一样的,并发度越高,无效请求也越多。 但是从业务上来说,秒杀活动是希望更多的人来参与的,也就是开始之前希望有更多的人来刷页面,但是真正开始下单时,秒杀请求并不是越多越好。因此我们可
分类: 其他 发布时间: 07-21 23:28 阅读次数: 0

Web自动化测试 六 ----- selector选择

1、一般情况下都是先定位元素在选择 from selenium.webdriver import Chrome from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC driver = Chrome()
分类: 其他 发布时间: 07-21 23:11 阅读次数: 0

dubbo学习(七)dubbo项目搭建--生产者(服务提供者)

PS: 项目架子以及工程间的maven依赖配置暂时省略,后续看情况可能会单独写一篇文章捋捋框架结构,先马克~ 配置和启动 1.pom文件引入dubbo和zookeeper的操作客户端 <!--引入dubbo--> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.6
分类: 其他 发布时间: 07-21 23:11 阅读次数: 0

爬虫入门 beautifulsoup库(一)

先贴一个beautifulsoup的官方文档,https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html#id12 requests库用来获取url的响应,但是获取到确实网页代码,为了拿到自己想要的东西,我们需要用一下beautifulsoup这个库,这个库能把想要的东西提取出来。 下载和安装在官方文档里都有,这里还要说一下解析器。beautifulsoup这个库除了支持python标准库中的HTML解析器,还支持其他
分类: 其他 发布时间: 07-21 23:11 阅读次数: 0

再看TCP

1 定义 TCP(Transmission Connect Protocol),面向有连接的传输协议。通过校验和、序列号、重发控制、连接管理以及窗口控制实现可靠性传输。 2 首部格式 源端口号(Source Port):表示发送端的端口号,字段长为16。 目标端口号(Destination Port):表示接收端的端口号,字段长为16。 序列号(Sequence Number):字段长32。是指发送数据的位置,TCP利用数据序列号可以实现数据有序、重发等等。 确认应答号(Number):字段长
分类: 其他 发布时间: 07-21 23:11 阅读次数: 0

selenium grid用法

一,selenium grid是什么? selenium是一个用于UI自动化测试的工具。 selenium grid是selenium家族中的三大组件的一员。selenium grid有两个版本,grid1和grid2,。目前grid1已经基本被废弃了。grid2的出版要晚于selenium2,所以grid2支持selenium2的所有的功能。 二、为什么要用grid? 1,当我们在selenium webdriver中写好了各种脚本时,我们可能需要在不同的系统里,不同的浏览器下去运行。 2,
分类: 其他 发布时间: 07-21 23:11 阅读次数: 0

安装sfc-network

申明: 主参考:https://blog.csdn.net/linshenyuan1213/article/details/78195061 辅参考:https://blog.csdn.net/wuliangtianzu/article/details/78422951 在控制节点上安装 yum -y install python-networking-sfc SERVICE_PLUGINS_OLD=`openstack-config --get /etc/neutron/neutron.co
分类: 其他 发布时间: 07-21 23:11 阅读次数: 0