Mrli
别装作很努力,
因为结局不会陪你演戏。
Contacts:
QQ博客园

Mr.li's Blog

Welcome to my Blog!
私有Gitlab配置SSH连接
SSH连接并不是像http连接一样,输入用户名和密码就可以了。SSH连接需要一些额外的配置 生成SSH秘钥和公钥 查询有效邮箱 首先要确定使用的邮箱,是不是自己认为的邮箱,比如我以为是chenli@sucsoft.com结果,却发现是399-chenli@sucsoft.com,那么按照自认为的邮箱申请的keys那自然不会work。——一般情况不会有歧义邮箱出现,但我这边确实跟想的不太一样 查询方法(一)——新建项目 创建空的仓库,提示中提及的邮箱就是有效邮箱 查询方法(二)——个人Preference 打开User Settings->Profile,其中有Email、 ...

Golang protoc的使用
使用Grpc需要有protoc的支持, 但默认安装的/Go/bin目录下只有go.exe、gofmt.exe两个可执行文件,因此要使用protoc的话,需要自己去下载 在https://github.com/protocolbuffers/protobuf/releases中下载Windows64的压缩包,为$protoc -go_out=. *.proto使用到的命令可执行文件 编写.proto文件, 如下所示 1234567891011121314151617syntax = "proto3";# 注意, 这边使用的是go_package, 类似的还有jav ...

语义化的版本控制
语义化的版本控制: 用一组简单的规则及条件来约束版本号的配置和增长 作为一位负责任的开发者,你理当确保每次包升级的运作与版本号的表述一致。现实世界是复杂的,我们除了提高警觉外能做的不多。你所能做的就是让语义化的版本控制为你提供一个健全的方式来发行以及升级包,而无需推出新的依赖包,节省你的时间及烦恼。 如果没有某个正式的规范可循,版本号对于依赖的管理并无实质意义。将上述的想法命名并给予清楚的定义,让你对软件使用者传达意向变得容易。一旦这些意向变得清楚,弹性(但又不会太弹性)的依赖规范就能达成。 如果你对此认同,希望立即开始使用语义化版本控制,你只需声明你的函数库正在使用它并遵循这些规则就可以了 ...

Kotlin集合、流式操作
除了最通用的Array以外,kotlin中还有一类容器统称为Colletion(集合),他们有 List List:继承Collection。一个范性有序的只读集合。因为有序,所以,我们可以使用get(position)等查询的方法 MutableList:继承List,MutableCollection。一个有序集合。并额外提供了add/remove元素的方法 Set Set:继承Collection。一个无序并不支持重复元素的集合 MutableSet:继承Set,MutableCollection,一个无序的集合并且不支持重复元素。但是,支持add/remove元素 Map ...

Springboot-Kotlin-Mockito
初识 Mockito 这个测试框架后,我们要使用 Mock 的属性创建一个被测试类实例时,大概会下面这么纯手工来打造。 手工过程见: https://www.jianshu.com/p/bb705a56f620 如果所有的 Mock 对象全部通过手工来创建,那就不容易体现出 Mockito 的优越性出来。因此对于被测试对象的创建,Mock 属性的注入应该让 @Mock 和 @InjectMocks这两个注解大显身手了。 Mockito能力 @Mock:对函数的调用均执行mock(即虚假函数),不执行真正部分。 @Spy:对函数的调用均执行真正部分。 @InjectMocks:创建一个实例, ...

SpringCloud笔记
笔记内容大多来自:尚硅谷SpringCloud框架开发教程 跟做笔记:https://blog.csdn.net/MOKEXFDGH/article/details/107209899 跟做工程代码: https://github.com/liusCoding/springcloud-2020、https://gitee.com/exclusiver/springcloud2020 MVN配置 每个module的pom配置文件中最重要的三个:GAV即 groupId、artifactId、version dependencyManagement声明依赖的版本,可以起到作用: ...

理解SpringBoot注解s
@ReuqestBody和@RequestParam 这两个注解都是在Controller某个Mapping函数的形参前加上的,但两个具体有什么区别呢?在使用的时候我们该如何选择呢? 这跟我们希望用户以什么形式来请求接口有关。 众所周知,请求头的Content-type有多个,如 常见的媒体格式类型如下: text/html : HTML格式 text/plain :纯文本格式 text/xml : XML格式 image/gif :gif图片格式 image/jpeg :jpg图片格式 image/png:png图片格式 以application开头的媒体格式类型: applicat ...

Spring中的Bean

Go的进阶学习
GO中通过组合方式实现的伪继承 说到继承我们都知道,也可以了解到在Go中是没有extends关键字的,也就意味着Go并没有原生级别的继承支持。这也是为什么用了伪继承这个词。本质上,Go使用interface实现的功能叫组合,Go是通过组合(+匿名字段的技术)来实现的继承,说的更精确一点,是使用组合来代替继承 我们用很容易理解的动物-猫来举例子,废话不多说,直接看代码。 12345678910111213141516171819type Animal struct { Name string}func (a *Animal) Eat() { fmt ...

使用七牛云作图床+PicGo
自己在写博客的时候,通过图片来表达自己的思路无疑是种非常有效的方法,平常我的笔记都是通过hexo生成的,因此保存在本地路径即可。但是如果想把文章发表在第三方的平台上,那么这些相对路径的图片在上传过程中就无法被检索,因此如果能在一个大家都能访问到的地方存放这些图片,再给出这些地方的链接时那就解决了这个问题。要达到这个需求,则就需要使用OSS对象存储服务。 这边我推荐的是七牛云。七牛云在注册认证后有10G永久免费空间,每月10G国内和10G国外流量,速度相当快,七牛云是国内专业CDN服务商,插件支持比较多,有免费SSL证书,但https流量收费。同时七牛云还会提供30天的测试域名,不过要注意的一 ...

开发方向-技术栈
Cloud 微服务全家桶 微服务开发的主流技术栈 服务注册中心 :error:eureka 停止更新 ❌consul zookeeper ⭐️nacos 服务负载与调用 ❌ netflix oss ribbon ==> spring cloud loadbalance netflix feign ==> Spring cloud OpenFeign 容量限流(熔断) ❌hystrix: 最先的老大哥 resilience4j:国外使用较多 ⭐️spring cloud alibaba sentinel 配置中心 ❌spring cloud config ...

Python科学计算常用API记录
pandas to_numeric:类别离散化 参数 描述 arg scalar, list, tuple, 1-d array, or Series errors {‘ignore’, ‘raise’, ‘coerce’}, default ‘raise’ downcast {‘integer’, ‘signed’, ‘unsigned’, ‘float’} , default None,指定转换的类型,默认返回float64或int64 1234567891011121314151617181920212223242526272829>>> s = pd.Series ...

开发过程中Mysql API记录
时间操作 TIME_TO_SEC MySQL TIME_TO_SEC(time) 函数返回将参数 time 转换为秒数的时间值,转换公式为“小时 ×3600+ 分钟 ×60+ 秒”。 12345678910111213mysql> SELECT TIME_TO_SEC('15:15:15');+-------------------------+| TIME_TO_SEC('15:15:15') |+-------------------------+| 54915 |+----------------- ...

Python中关于图片的操作
写代码的时候一直记错库下对应的图片操作函数名以及他们的返回值类型,干脆写个笔记记录下。 图片读取相关的包: matplotlib PIL/ cv2 numpy 读取 matplotlib.pyplot / pylab 12345678import pylab as plt# from matplotlib import pyplot as pltimport numpy as npimg = plt.imread('examples.png')print(type(img), img.dtype, np.min(img), np.max(img))[out](<type 'n ...

Unity游戏开发学习
组件 RigidBody 刚体,会给物体增加重力 spring joint: 弹簧关节,可以连接两个刚体,使得两个物体能够像弹簧一样运动。 Box Collision 增加碰撞检测 图片渲染器 Sprite精灵,游戏开发中指一张图片 Sprite Render 图片渲染器,是用来渲染图片的组件 1234567891011// 随机生成怪物头像void createMonster(){ float x = Random.Range(-2, 2); float y = 5; GameObject monster = Instantiate( ...

软件架构课程学习笔记
术语 –微服务 –云化 –分布式 –高并发 –高可用 架构角色 探索者 设计师 倡导人 到底如何区分什么是架构、框架、模式和平台 ? 设计模式<框架<架构<平台,从复用角度讲,设计模式是代码级复用、框架是模块级复用、架构是系统级复用、平台是企业应用级复用。 模式:分为代码模式、设计模式、框架模式这些 设计模式有不同的分类,如下 创建型设计模式,如工厂方法(Factory Method)模式、抽象工厂(Abstract Factory)模式、原型(Prototype)模式、单例(Singleton)模式,建造(Builder)模式等 结构型设计模式,如合成(Com ...

创建Vue工程(包含Vue2和Vue3)
@vue/cli-init vue init 是vue-cli2.x的初始化方式 vue init : 需要npm i -g @vue/cli-init vue init webpack [project-name], webpack为模板<generate a project from a remote template>,然后按照交互信息提示输入即可完成工程创建 init创建工程时,交互信息中有一个比较有意思的是选择包管理工具: npm、yarn,两者见 @vue/cli 会让选择Vue2还是Vue3 vue create router_project: ...

NodeJS包管理工具
包管理工具 npm npm install <package_name> --dev npm init然后根据交互信息创建工程 npm install 根据目录下package.json安装依赖 npm run dev执行package.json中定义的scripts.dev指令 yarn yarn add <package_name> --dev yarn init然后根据交互信息创建工程 yarn 根据目录下package.json安装依赖 yarn run dev执行package.json中定义的scripts.dev指令 共同点: 两个在i ...

Js-ShortCode
js判断字符串是否为空 最近写了点前端代码,记录一下常用的shortCode 12345678910111213// 方法一:直接使用条件语句if判断function isEmpty(str) { if(typeof str== null || str== "" || str== "undefined") { return true; } else { return false; }}// 方法二:根据字符串的length来判断var strings = ''; if (string ...

前后端-实现上传和下载
前端 上传 前端上传主要是把文件发送过去,一般采用表单的形式,或者也可以针对上传接口发送请求 表单 123456<form action="http://127.0.0.1:5000/" enctype="multipart/form-data"> <input type="file" name="toupdate"/> # file的input不允许设置value <input type="submit" value="上传咯" /> # 按钮显示的文字</form># action为表单要提交到的路径, 必须 ...