- 博客(4589)
- 收藏
- 关注
转载 Rocketmq原理&最佳实践
MQ背景&选型消息队列作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性。主要具有以下优势:削峰填谷(主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题)系统解耦(解决不同重要程度、不同能力级别系统之间依赖导致一死全死)提升性能(当存在一对多调用时,可以发一条消息给消息系统,让消息系统通知相关系统)蓄流压测(线上有些链路...
2019-09-28 17:06:00 649
转载 Priest John's Busiest Day (2-sat)
题面John is the only priest in his town. September 1st is the John's busiest day in a year because there is an old legend in the town that the couple who get married on that day will be forever bl...
2019-09-27 19:56:00 693
转载 Appium+python自动化(三十八) - Appium自动化测试框架综合实践 - 框架简介-助你冲击高薪,迎娶白富美(超详解)...
简介好久没有更新博客了,博友们是不是有点等不及了。不好意思啊,中秋节过后太忙了,这篇是好不容易抽点零碎时间写的。从这一篇开始小伙伴或者童鞋们,就跟随宏哥的脚步,一步步的从无到有,从0到1的搭建一个完整的python+appium自动化测试框架。框架背景前面我们已经学习了Appium各种元素定位,手势操作、数据配置、Pageobject设计模式等等。但是前面的功能都是比较零散的...
2019-09-26 11:31:00 895
转载 Java相关
一、继承1、子类拥有父类非 private 的属性、方法。2、子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。3、子类可以用自己的方式实现父类的方法。4、Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类的父类,B 类是 A 类的父类,这是 ...
2019-09-25 23:34:00 208
转载 操作系统相关
一、进程间通信与线程间通信进程间通信1、管道。管道是一种半双工的通信方式,数据只能单向流动,而且只能在有血缘关系的进程间使用,进程的血缘关系通常是指父子进程关系。2、命名管道。也是半双工的通信方式,但是它允许无亲缘关系关系进程间通信。3、信号。是一种比较复杂的通信方式,用于通知接收进程某一事件已经发生。4、信号量。信号量是一个计数器,可用来控制多个进程对共享资源的访问...
2019-09-25 18:48:00 148
转载 HTTP协议
一、HTTP请求报文与响应报文格式请求报文包含三部分:1、请求行:包含请求方法、URI、HTTP版本信息2、请求首部字段3、请求内容实体响应报文包含三部分:1、状态行:包含HTTP版本、状态码、状态码的原因短语2、响应首部字段3、响应内容实体二、HTTP1.1新特性1、默认持久连接节省通信量,只要客户端服务端任意一端没有明确提出断开TCP连接,就一直保持连接,可以...
2019-09-25 16:17:00 124
转载 30天自制操作系统之-第四天-
C语言与画面显示的练习 依旧先起个博客随笔,目前通过这样的方式才能让我保持继续看这本书的动力。惭愧惭愧。转载于:https://www.cnblogs.com/grglym/p/11582014.html...
2019-09-25 00:07:00 131
转载 63-股票的最大利润
题目:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少def stock_max_val(arrys): bef_min = arrys[0] res = [0]*len(arrys) i = 1 while i<len(arrys): if arrys[i]<bef_...
2019-09-24 15:41:00 130
转载 62-圆圈中最后剩下的数字
题目:0,1,...,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求这个圆圈里剩下的最后一个数字。def delete_circle_n(head,n): p = head while p!=p.next: i = 0 while i<n: p = p.next...
2019-09-24 15:33:00 167
转载 61-扑克牌中的顺子
题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。def is_continous(arrys): cnt_0 = arrys.count(0) res = sorted(arrys) i,length = cnt_0,len(res) cnt = 0 while i<length-1: ...
2019-09-24 15:26:00 186
转载 30天自制操作系统之-第三天-
进入32位模式并导入C语言 占个坑位,初看这个章节应该有很干很干的货了,讲的是在启动过程中如何装载c语言程序(有点意思咯)。 回来记录下本章的内容,昨晚看完这个章节,前半部分讲述磁盘的结构(柱面C、磁头H、扇区S),每个扇区是512字节。操作系统的启动区是处于C0-H0-S1,也就是(柱面0,磁头0,扇区1)。我们的c程序就可以转载在C0-H0-S2。(实验操作后续...
2019-09-23 23:42:00 159
转载 30天自制操作系统之-第二天-
汇编语言学习与Makefile入门 好奇心继续着书中的思路走,这个章节介绍的具体的操作系统启动时的过程,比如是怎么打印出“hello world”,书中介绍就是利用汇编语言调用bios提供的显卡接口(到处都是接口),然后一个个字符的显示在屏幕上。 书中从一段大段汇编语言开始介绍本章的内容,从新回顾了下大一的课程了,勉强能够看懂。但其实这本书同样重要的还是作者自己开发的工具,比...
2019-09-23 00:10:00 105
转载 poj1080 - Human Gene Functions (dp)
题面It is well known that a human gene can be considered as a sequence, consisting of four nucleotides, which are simply denoted by four letters, A, C, G, and T. Biologists have been interested in...
2019-09-22 22:39:00 185
转载 日志管理系统(异步)
一、搭建开发环境1、安装库:异步框架aiohttp、异步驱动程序aiomysql、前端模板引擎jinjia22、构建项目目录二、编写ORM1、创建连接池创建一个全局的连接池,每个HTTP请求都可以从连接池中直接获取数据库连接。使用连接池的好处是不必频繁地打开和关闭数据库连接,而是能复用就尽量复用。2、编写实现增删改查语句的函数,select()和execut...
2019-09-22 21:29:00 216
转载 Python异步IO
一、协程的优势1、极高的执行效率。没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越明显。2、不需要多线程的锁机制。因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好了,所以执行效率比多线程高很多。因为协程是一个线程执行,利用多核CPU最简单的方法是:多进程+协程。Python对协程的支持是通过generator实现的。...
2019-09-22 20:29:00 109
转载 python面试题总结
一、list实现方式list就是一种采用分离式技术实现的动态顺序表。在建立空表时,系统分配一块能容纳8个元素的存储区;在执行插入操作(insert或append)时,如果元素存储区满就换一块4倍大的存储区。但如果此时的表已经很大(目前的阀值为50000),则改变策略,采用加一倍的方法。二、import一个包的过程每个py文件被称之为模块,每个具有__init__.py文件的目...
2019-09-21 22:08:00 106
转载 30天自制操作系统之-第一天-
从计算机结构到汇编程序入门 最近受知乎影响,一股脑热买了这本《30天自制操作系统》的书,该书是日本一位大牛写的。看了前20页,还是有些东西可以琢磨的,虽然接触计算机也7年了,惭愧在于大多都只停留在想法,而未动手去好好实践,大忌大忌。写这个系列章节也是希望通过这样的方式来督促自己。工作几个月的感受其实就是:凡是能够追求百分百的一定不能懈怠,不能因为你已经取得第一而放弃继续追求完美...
2019-09-21 20:20:00 221
转载 设计一个高并发系统
升级过程为:最初系统——添加负载均衡——数据库分库分表+读写分离——缓存集群+消息中间件集群1、最初系统假设系统机器是4核8G,数据库服务器是16核32G。日活用户1W,系统层面每秒10次请求,数据库层每秒30次请求。2、添加负载均衡用户量增长了50倍,日活用户50万,高峰期对系统每秒请求500/s,对数据库的每秒请求1500/s问题:系统CPU负载过高,数据库可...
2019-09-20 22:13:00 207
转载 58-2左旋转字符串
题目:字符串左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请实现左旋转操作。def reverse(arry,begin,end): while begin<end: arry[begin],arry[end] = arry[end],arry[begin] begin +=1 end -=1...
2019-09-18 10:21:00 141
转载 58-1翻转字符串
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。标点符号和普通字母一样处理。def reverse_string(s): s= list(s) reverse(s,0,len(s)-1) begin = 0 for i,c in enumerate(s): if c==' ': ...
2019-09-18 10:10:00 114
转载 57-2和为s的连续正数序列
题目:输入一个正数s,打印出所有和为s的连续正数序列(至少含有两个数)。def find_continuous_seq(target): if target<3: return -1 begin,end = 1,2 res = [] mid = target/2 s = begin + end ...
2019-09-17 22:24:00 116
转载 57-1和为s的数字
题目:输入一个递增排序的数组和一个数字s,在数组中找查找两个数,使他们的和正好为s。如果有多对,输出任意一对即可。def find_nums_sum(nums,s): begin,end=0,len(nums)-1 while begin<end: if 2*nums[begin]<s or 2*nums[end]>s:...
2019-09-17 22:03:00 121
转载 56-数组中数字出现的次数
题目:一个整型数组里除两个数字之外,其他数字都出现了两次。请找出这两个只出现一次的数字。时间复杂度O(n),空间复杂度O(1)。本题代码部分是简化版,只有一个数字出现了一次,其他都是两次。def find_appear(arrys): res = 0 for arry in arrys: res^=arry return res...
2019-09-17 21:53:00 178
转载 55-平衡二叉树
题目:输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左、右子树的深度相差不超过1,那么它就是一棵平衡二叉树。def tree_depth(root): if not root: return 0 left = tree_depth(root.left) right = tree_depth(root.ri...
2019-09-17 15:57:00 117
转载 54-二叉搜索树的第K大节点
题目:给定一棵二叉搜索树,请找出其中第K大的节点。def inorder(head,res): p = head if p: inorder(p.left,res) res.append(p.data) inorder(p.right,res)def tree_k(head,k): res...
2019-09-17 15:16:00 137
转载 Appium+python自动化(三十七)- 士兵突击许三多 - 多个appium服务启动,多个设备启动,多进程并发启动设备-并发测试 - 下(超详解)...
简介接着上一篇继续看一下如何并发测试以及并发测试的过程中,可能遇到的问题,在这里宏哥把宏哥遇到的和小伙伴或者童鞋们,一起分享一下。Appium端口检测问题思考经过前面学习,我们已经能够使用python启动appium服务,但是启动Appium服务之前必须保证对应的端口没有被占用,否则会出现如下报错:error: Couldn't start Appium REST ...
2019-09-17 15:00:00 310
转载 ZooKeeper架构原理你学会了吗?
Zookeeper是分布式一致性问题的工业解决方案,是Apache Hadoop下解决分布式一致性的一个组件,后被分离出来成为Apache的顶级项目。工程来源:是雅虎公司内部项目,据说雅虎内部很多项目都是以动物命名,这个动物管理员的名字起的很是形象。被开源出来后得到开源社区的快速推进,服务端Java语言实现,棒,git有3000+的star:https://github.co...
2019-09-16 10:46:00 121
转载 我以为我对Kafka很了解,直到我看了此文章
Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被多家不同类型的公司作为多种类型的数据管道和消息系统使用。活动流数据是几乎所有站点在对其网站使用情况做报表时都要用到的数据中最常规的部分。活动数据包括页面访问量(Page View)、...
2019-09-16 10:36:00 191
转载 Spring 中的 18 个注解,你会几个?
@Controller标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象.@RestControllerSpring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默认返回...
2019-09-16 10:26:00 112
转载 关于jdk,jre,jvm和eclipse的一些总结
jdk,jre,jvm的关系JDK是JAVA的核心,包括JRE(JAVA 虚拟环境)、编译器等,JDK的主流产品是由SUN公司开发的,JDK本身是用JAVA编写的,安装包的SRC.ZIP就是JDK的源码JVM(JAVA虚拟机),是可以运行JAVA代码的假想计算机,主要任务是把JAVA字节码编译成特定计算机的机器指令,是JAVA实现“一次运行,处处运行”的关键JRE是JAVA运行环境,...
2019-09-14 19:34:00 301
转载 42-蓄水池
题目:给定一个数组,每个数表示宽度为 1 的柱子的高度,计算按此排列的柱子,下雨之后能接多少雨水。def trap(arrys): res = 0 l,r = 0,len(arrys)-1 max_left,max_right = 0,0 while l<r: max_left = max(arrys[l],max_...
2019-09-14 14:28:00 187
转载 定时任务之crontab命令
简介crontab用于设置周期性被执行的命令Linux系统中Linux调动工作分为两大类: 1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存 2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置/etc/crtontab 系统调度的任务一般存放在/etc/...
2019-09-14 13:39:00 187
转载 11-盛水最多的容器
题目:给定一个数组,代表木板的高度。选两个木板,求两个木板的最大盛水量。def max_area(arrys): l,r = 0,len(arrys)-1 res = 0 while l<r: contain = min(arrys[l],arrys[r])*(r-l) if contain>res:...
2019-09-14 13:12:00 133
转载 老虎-删除排序链表中的重复节点
题目:1-1-2-3-3-3-4-5-6-6-7,删除重复节点后返回2-4-5-7def delete_duplicate(head): h = Node(0) k = h p = head if not p or not p.next: return head q = p.next if p.val!...
2019-09-14 12:48:00 133
转载 Spring中@Autowired、@Resource和@Inject注解的使用和区别
在使用Spring进行项目开发的时候,会大量使用到自动装配,那自动装配是什么呢?简单来说:Spring 利用依赖注入(DI)功能,完成SpringIOC容器中各个组件之间的依赖关系赋值管理。下面介绍和总结可以在在Spring使用的三种自动注入的注解。首先回顾一下最初使用xml进行是如何进行注入的。零、回顾:XML方式注入使用 property 或者 constructor-a...
2019-09-14 09:36:00 438
转载 Shave Beaver! CodeForces - 331B2 (线段树)
题面The Smart Beaver has recently designed and built an innovative nanotechnologic all-purpose beaver mass shaving machine, "Beavershave 5000". Beavershave 5000 can shave beavers by families! How ...
2019-09-12 19:18:00 246
转载 Lombok介绍、使用方法和总结
Lombok背景介绍官方介绍如下:Project Lombok makes java a spicier language by adding 'handlers' that know how to build and compile simple, boilerplate-free, not-quite-java code.大致意思是Lombok通过增加一些“处理程序”...
2019-09-12 15:41:00 114
转载 Mybatis JdbcType与Oracle、MySql数据类型对
MybatisJdbcTypeOracleMySqlJdbcTypeARRAYJdbcTypeBIGINTBIGINTJdbcTypeBINARYJdbcTypeBITBITJdbcTypeBLOBBLOBBLOBJdbcType...
2019-09-12 15:36:00 106
转载 Comb CodeForces - 46E (动态规划)
题面Having endured all the hardships, Lara Croft finally found herself in a room with treasures. To her surprise she didn't find golden mountains there. Lara looked around and noticed on the floor...
2019-09-12 15:17:00 202
转载 Appium+python自动化(三十六)- 士兵突击许三多 - 多个appium服务启动,多个设备启动,多进程并发启动设备-并发测试 - 上(超详解)...
简介前面课程只是启动了单个appium服务,只能控制单台设备。如果需要针对多台设备测试那么该如何处理?而且发现群里的小伙伴们也在时不时地在讨论这个问题,想知道怎么实现的,于是宏哥就决定写一片这样的文章来给小伙伴们,答答疑,解解惑。希望对各位小伙伴或者童鞋们有所帮助,可以是你们豁然开朗。启动多个appium服务首先看下面两个启动appium服务案例。启动appium服务1...
2019-09-12 15:15:00 673
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人