2021 07-29

RabbitMQ消息队列

一、消息队列 消息队列就是一种先进先出的数据机构 当在分布式系统中的时候,不同的机器需要做数据交互,所以涉及到不同机器之间的数据交互,这样的话就需要借助专业的消息队列,常见的消息队列有RabbitMQ、Kafka...他们都是开源且支持语言较多。 消息队列解决的问题: 应用解耦 流量消峰:如果订单系统一秒最多能处理一万次订单,这个处理能力在平时绰绰有余,正常时段我们下单一秒后就能返回结果。但是在高峰期,如果有两万次下单操作系统是处理不了的,只能限制订单超过一万后不允许用户下单。但是使用消息队列

2021 07-29

13Java进阶——IO、线程

1字节缓冲流 BufferInputStream将创建一个内部的缓冲区数组,内部缓冲区数组将根据需要从包含的输入流中重新填充,一次可以读取多个字节 BufferOutputStream该类实现缓冲输出流。通过设置这样的输出流,应用程序可以向底层输出流写入字节,而不必为写入的每个字节导致底层系统的调用 构造方法:传入字节流,可以指定缓冲区大小 bos.write("hello\r\n".getBytes(StandardCharsets.UTF_8)); BufferedOutputStream内

2021 07-29

浅谈自动化测试框架开发

在自动化测试项目中,为了实现更多功能,我们需要引入不同的库、框架。 首先,你需要将常用的这些库、框架都装上。 pipinstallrequests pipinstallselenium pipinstallappium pipinstallpytest pipinstallpytest-rerunfailures pipinstallallure-pytest ... 然后,在项目中使用他们。 importpytest importyagmail fromseleniumimportwebd

2021 07-29

聊聊向上管理中的“尺度”

​PS:文中更多的是个人认知,有错误请批评 前两天一篇文章(你有没有乱用“leader”,担当是个好东西),有个同学提了一个疑问:请问这种善用“Leader”算不算我们常说的“向上管理”? 这句话引起了我一些思考,这里首先需要定义什么是“向上管理”。 什么是向上管理? 首先我们百度下什么是管理: 管理是指一定组织中的管理者,通过实施计划、组织、领导、协调、控制等职能来协调他人的活动,使别人同自己一起实现既定目标的活动过程。是人类各种组织活动中最普通和最重要的一种活动。 之前的项目执行指南中的项目

2021 07-29

浅析java中的IO流

在java中IO类很庞大,初学的时候觉得傻傻分不清楚。其实java流归根结底的原理是普通字节流,字节缓冲流,转换流。最基础的是普通字节流,即从硬盘读取字节写入到内存中,但在实际使用中又发现一些特殊的需求,所以java语言的设计者这引入了字节缓冲流和转换流。所有的javaIO类对IO的处理都是基于这三种流中的一种或多种;在介绍完三种流的概念之后,会对IO流的部分java类做介绍。 1.普通字节流 以FileInputStream为例子。FileInputStream的硬盘读取方式分为两种,一次读取

2021 07-29

深入源码理解Spring整合MyBatis原理

写在前面 聊一聊MyBatis的核心概念、Spring相关的核心内容,主要结合源码理解Spring是如何整合MyBatis的。(结合右侧目录了解吧) MyBatis相关核心概念粗略回顾 SqlSessionFactory 创建SqlSession的工厂 SqlSession sql请求的会话,通过SqlSessionFactory获取。 Stringresource="mybatis-config.xml"; InputStreamresourceAsStream=Resources.getRe

2021 07-29

如何对抗信息茧房?

首先声明:本文表达观点,提供一种思考问题的角度,并非严谨的论述论证。为了直击问题本质,高效陈述观点,行文过程中出现的不严谨之处皆是作者表述方式问题,与观点本身无关。无论作者表述多么拙劣,都希望读者可以考虑观点的合理行,对其进行深度的思考。所有“另当别论的个例”皆另当别论,不在本文简洁表述的范围内。 人们对信息的需求并非全方位的,大家只注意自己选择的东西和使自己愉悦的领域,久而久之,会将自身桎梏于蚕茧一般的“茧房”中,这就是信息茧房(InformationCocoons)。 一、算法驯化 你看到什

2021 07-29

小程序 | 原生实现左滑抽屉菜单

在移动端,侧滑菜单是一个很常用的组件(通常称作Drawer,抽屉)。因为现在手机屏幕太大,点击角落的菜单按钮明显不如在屏幕中间滑动方便。 相比其他平台,小程序的组件库支持明显还不够完善,各个框架也还不太成熟。由于之前使用框架的过程中被各种神秘bug搞的头秃,还是用回了原生环境。 最近研究了一下如何在原生框架中实现滑动抽屉菜单效果,本来以为很麻烦,结果发现其实只需要几十行代码,而且可以类比实现很多灵活的效果。感觉现在网上相关资料较少,因此在此分享一下。除了文中贴出的代码块,也可以点击链接在小程序开

2021 07-29

数据库-数据库系统原理

数据库-数据库系统原理       落花人独立,微雨燕双飞。   简介:数据库-数据库系统原理。 一、事务 概念 事务指的是满足ACID特性的一组操作,可以通过Commit提交一个事务,也可以使用Rollback进行回滚。 ACID 1.原子性(Atomicity) 事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。 回滚可以用回滚日志(UndoLog)来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作即可。 2.一致性(C

2021 07-29

数据结构与算法-排序(二)选择排序(Selection Sort)

摘要 选择排序的逻辑是先遍历比较出序列中最大的,然后把最大的放在最后位置。 遵循这个逻辑,用代码实现时,做到1.减少比较次数之外,这里引入一个新的指标-稳定性,2.保证排序过程中的稳定性也是一个优化处理 代码逻辑 从头遍历序列,分别和尾部元素比较,记录最大的元素坐标 遍历完成后,和尾部位置交换位置 忽略尾部已经交换的元素,执行1和2步骤 实现 依据逻辑来看,最大值是放在尾部,并放置后,下次循环排除这个放置最大值的位置,for循环从尾部开始最合适。 小循环开始前,需要先创建变量记录最大值坐