【spock】单测竟然可以如此丝滑

0. 为什么人人都讨厌写单测 在之前的关于swagger文章里提到过,程序员最讨厌的两件事,一件是别人不写文档,另一件就是自己写文档。这里如果把文档换成单元测试也同样成立。 每个开发人员都明白单元测试的作用,也都知道代码覆盖率越高越好。高覆盖率的代码,相对来说出现 BUG 的概率就越低,在线上运行就越稳定,接的锅也就越少,就也不会害怕测试同事突然的关心。 既然这么多好处,为什么还会讨厌他呢?至少在我看来,单测有如下几点让我喜欢不起来的理由。 第一,要额外写很多很多的代码,一个高覆盖率的单测代码
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

近期模拟赛

大杂烩 订正了昂 或许这两天我有点水逆 牛客的比赛 大家觉得很简单的东西 我都不会写 我是不是最近要暴毙了?? 这两天的比赛 补多少 写多少 不定更新 Day1 100+27+40 T1 一个数字串S 一个S打乱后的T串 用S - T 注意是转化后的数字相减 )考场上以为是 S到T 得到一个新的数字 然后随机抽一个数字 得到一个字符串P 现在给定P 那么求一组合法解以及删掉的数字 其实算是一个构造题目吧 不过 这个很巧妙的小结论 大家还是有同学看出来的 我考场上按了好几遍计算器 我发现了这个东
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

[反汇编]函数开始部分利用mov ebx,esp找到返回地址(_KTRAP_FRAME结构)

我们理解call原理,首先将返回地址压入栈中,之后执行调用。 因此,在一个函数开始部分,esp依旧是上一个栈帧的esp,此时esp指向返回地址。 这就意味着使用 mov ebx,esp,之后 [ebx]就是当前函数的返回地址。 我们应该意识到,SystemCall 就是通过这个 进入零环的,进入零环前将 mov ebx,esp。 因此,当进入零环时, _KTRAP_FRAME.ebx 就是保存着 esp 的地址,因此 [ _KTRAP_FRAME.ebx]为R3环的返回值。 这种概念你应该明确。
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

[Luogu P3435] OKR-Periods of Words

#include<cstdio> #include<cstring> using namespace std; char s[1000010]; long long nxt[1000010]; long long pos(long long x) { return nxt[x]==0?x:nxt[x]=pos(nxt[x]); } int main() { long long n,m,i,j,k,len,ans=0; scanf("%lld",&len); sc
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

python学习日记——异常处理及网络基础

一、错误与异常 1.语法错误(pycharm会报红,过不了python解释器) 如:print("hello world" 2.逻辑错误 如:res=1/0 li=[1,2,3] print(li[10]) age=input("请输入年龄:") age=int(age) traceback:异常的追踪。IndexError:异常类。list index out of range:异常值 常用异常 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

写日志模块

import nnlog log = nnlog.Logger('test.log',level='debug',backCount=5,when='s') log.debug('debug级别') # debug # info # warning # error
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

C#PDF转Word

C#实现PDF文件转Word文件,需要引入Spire.Pdf.dll和Spire.License.dll,免费版本的Spire.Pdf只支持转换10也以内的PDF。这里为大家提供了付费版的百度网盘下载链接: https://pan.baidu.com/s/1R3BhMQh8XwAUcE-Pa_OOBA 提取码: 4k1f 下载好后,把Spire.Pdf.dll和Spire.License.dll拷到项目文件夹中(位置任意,找得到就行)。 程序中添加引用 因为代码量较少,这里建一个控制台应用程序
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

微服务架构中分布式事务解决方案总结

原文:微服务架构中分布式事务解决方案总结 前言:最近,在家里养伤,由于博主骑自行车不小心摔跤了,给自己造成了影响,同时也给公司造成了影响,没有按时报到。希望大家骑自行车时一定要小心,手里不要拿手机,还是那句话:道路千万条,安全第一条,行车不规范,亲人两行泪。好了,这是血的教训。今天的主题不是教如何骑自行车,哈哈哈。言归正传,利用在家养伤总结一下面试中经常问到的在微服务架构中如何解决分布式事务的问题。因为,这个问题,当时回答的不是太好,下来也查询很多资料,算是总结一下学习的心得,如果有不对的地方
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

ASDFZ 3648 -- 列车调度

Description 有 N 辆列车,标记为 1,2,3,…,N。它们按照一定的次序进站,站台内共有 K 个轨道,轨道遵从 先进先出 的原则。列车进入站内的轨道后可以等待任意时间后出站,且所有列车不可后退。现在要使出站的顺序变为 N,N−1,N−2,…,1,询问 K 的最小值是多少。 例如上图中进站的顺序为 1,3,2,4,8,6,9,5,7,则出站的顺序变为 9,8,7,6,5,4,3,2,1。 Input 输入共两行。 第一行包含一个正整数 N ,表示 N 辆列车。 第二行包含 N 个正
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

发邮件模块

import yagmail smtp = yagmail.SMTP(host='smtp.qq.com',user='[email protected]', password='nzyzcimutivobhgc') #密码根据不同的邮箱填写,有授权码的邮箱,password填写授权码 smtp.send(to=['[email protected]','[email protected]'],cc='[email protected]',
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

异步邮件验证

异步邮件验证 异步邮件验证需要使用celery以及django的celery框架 pip install celery pip install django-celery celery需要中间任务队列支持,这里使用rabbitmq rabbitmq MQ全称为Message Queue, 是一种分布式应用程序的的通信方法 它是消费-生产者模型的一个典型的代表,producer往消息队列中不断写入消息,而另一端consumer则可以读取或者订阅队列中的消息 RabbitMQ是MQ产品的典型代表,
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

HNU_团队项目_需求分析感想(全员)

以下为软件1701-“洋芋好想飞”的需求分析感想 PM QXS   需求分析过程中的前进与曲折令我深刻地认识到,需求分析是一个动态的过程,而非一个静态的任务结点。   比如最初我们设想可以为用户设定角色,但最终我们选择仅有管理员有权进入后台进行操作,其他用户一视同仁;再比如,在对地图功能的分析中,我们就地图是动态显示还是静态显示有过激烈的讨论,与之相对应的需求分析也随之更改;以及,我们探讨了噪声地图中的数据可信度的显示方式问题,完善了需求分析的内容,而这个问题是我们最开始没有注意到的。 SGF
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

百度小技巧

小技巧 (1) 大家不知道有没有看到过,一点击就可以看到一个搜索框中有文字的百度页面。 今天给大家分享一个小工具。 打开波哥聊科技,搜索250 才怪! 第一步:上链接http://baidu.physton.com/ 第二步:输入内容 第三步:点击百度一下,复制下方链接 结果是。。。 图片我就不展示了。 可以上演示链接看一下。http://baidu.physton.com/?q=%E5%8D%9A%E5%AE%A2%E5%9B%AD
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

北鱼项目-竖屏和横屏切换

北鱼项目,主控芯片R6,显示屏控制器ST7789VW,分辨率240x320,默认是竖屏,系统是rt-thread 将竖屏切换成横屏的过程中,修改点: 1. Widge2Scense.c文件 2. lcd_drv.c 3. demo_screen.c
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

jQuery中使用Ajax获取JSON格式数据示例代码

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSONM文件中包含了关于“名称”和“值”的信息。有时候我们需要读取JSON格式的数据文件,在jQuery中可以使用Ajax或者$.getJSON()方法实现。 下面就使用jQuery读取music.txt文件中的JSON数据格式信息。 首先,music.txt中的内容如下: 代码如下: [ {"optionKey":"1", "optionValue":"Canon in D"}, {"opt
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

我会喊666Alpha冲刺阶段 第六周会议记录

我会喊666Alpha冲刺阶段 第六周会议记录 Scrum Meeting 本次会议为第1次Scrum Meeting会议。 本次会议时间为周四上午,地点为六区三楼沙发区,会议确定了我们现阶段的进度并对下一周的工作确定了具体方向。 每个人的工作: 表格内容包括:昨天已完成的工作;今天计划完成的工作;工作中遇到的困难。 成员 已经完成的工作 计划完成的工作 困难 刘嘉雯 界面设计:用户登陆、时间选择的页面设计 用户注册、管理员审核的页面设计 整合用户需求,参考现存小程序,设计美观实用的界面布局
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

探索ASP.Net Core 3.0系列二:聊聊ASP.Net Core 3.0 中的Startup.cs

原文:探索ASP.Net Core 3.0系列二:聊聊ASP.Net Core 3.0 中的Startup.cs 前言:.NET Core 3.0 SDK包含比以前版本更多的现成模板。 在本文中,我将比较ASP.NET Core 3应用程序使用的一些不同模板,并查看一些用于ASP.NET Core 3.0中的服务和中间件配置新的帮助方法。 翻译: Andrew Lock https://andrewlock.net/comparing-startup-between-the-asp-net-c
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

激活后出现grab>

最近由于经常整理自己电脑上的文件,难免都会遇到误删系统文件或者操作失误导致系统不能够正常进入的情况。这时就会出现grub错误的提示,只能输入命令才能进入系统。那么该输入什么命令呢?其实非常简单。 grub定义:   GNU GRUB 和GRUB是GRand Unified Bootloader的缩写,它是一个多重操作系统启动管理器。用来引导不同系统,如windows,linux。   在X86架构的机器中,Linux、BSD 或其它Unix类的操作系统中GRUB、LILO 是大家最为常用,应该
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

牛客网 货物分组 60分(费用提前的DP)

费用提前的DP 由于满分做法是单调栈优化DP,相对冷门,且复杂度依旧成谜,所以我选择咕咕咕 谈一谈60分的\(O(n^2)\)做法 费用提前,指的往往不是预先计算费用来保持DP的最优子结构性质。相反,它破坏了最优子结构的性质,除了最后我们需要的答案,其它DP出的答案都是错的。比如此题,我们提前考虑其在i==n时最大贡献,导致最终的答案除了dp[n]是正确的,其余都是错的。 也就是说,费用提前是一种在DP方程不满足最优子结构的情况下,我们只需要某一个点的答案,就单独考虑此前状态对该点的贡献,从而
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0

2019-2020-1 20175320 《信息安全系统设计基础》第八周学习总结

2019-2020-1 20175320 《信息安全系统设计基础》第八周学习总结 一、教材学习内容总结 本周的内容为系统级I/O的方式,主要是对各种应用调用的I/O函数进行了了解,以下是本周内容的总结: 系统I/O 打开文件的函数int open(char *filename, int flags, mode_t mode),其中flag是进程对文件的操作行为,mode为访问权限位。函数返回一个文件描述符 关闭文件的函数int close(int fd); 读文件的函数ssize_t Read
分类: 其他 发布时间: 11-03 22:17 阅读次数: 0