猿宵

菩提树下改bug的博客


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

BIND调试常用指令

发表于 2020-09-27 分类于 网络 , DNS

dig 命令

1
2
3
dig 域名 @DNS服务器地址

dig www.baidu.com @172.19.80.195

查看解析结果由哪个区域返回

1
/hxdata/logs/named/log/query.log

Python截取视频封面

发表于 2020-09-27 分类于 python

Python 实现截取指定帧作为视频封面

近期项目中有一批视频需要将第一帧提取出来保存为图片,功能比较简单,核心是使用cv2库加载视频并逐帧读取,判断是需要保存的帧则保存。

1
2
3
4
# 加载视频
video_capture = cv2.VideoCapture(file_path)
# 逐帧读取
cap_info, frame = video_capture.read()
阅读全文 »

数据源质量评估模型

发表于 2020-08-10 分类于 系统设计 , 领域驱动设计

数据质量评估指标

阅读全文 »

Git Hook 实现代码需求一致及Commit 规范

发表于 2020-08-10 分类于 系统设计 , 领域驱动设计

Git Hook 实现代码需求一致及Commit 规范

规范要求:

  • 分支命名 任务类型_任务号_自定义分支名
  • commit 规范
  • 统一安装封装好的命令行工具

每个任务对应一个版本描述文件,如果是多人协作大任务,最终版本描述文件在合并master之前生成,每个人使用自己的子任务号生成版本描述文件,发布时指定的任务号将作为最终任务号归档描述文件,其他任务号作为子任务信息归档

思路:

编写命令行工具,对git命令进行封装,

工具功能:

生成版本变更描述文件

读取已发布版本

注册版本为发布版本

检查指定版本是否存在及已发布

推送版本描述文件到git

读取git log 生成版本描述文件模板

检查指定版本文件是否存在

git 获取时间范围内提交日志

1
git log --after="2018-04-16 00:00:00" --before="2018-04-16 10:11:12" --stat

使用curl命令将文件上传到接口

1
name = viper.GetString("name")

领域驱动设计概念解析

发表于 2020-07-25 分类于 系统设计 , 领域驱动设计

领域驱动设计相关名词概念

域

  • 领域
    要解决的业务问题域(业务范围)
  • 子域
    领域进一步拆分为多个子域,每个子域对应更小的问题域(业务范围)
  • 核心域
    决定产品和公司核心竞争力的子域
  • 通用域
    被多个子域使用的通用功能子域
  • 支撑域
    既不包含决定核心竞争力的功能,也不包含通用功能的子域
阅读全文 »

软件的复杂度分析——领域驱动设计总结系列

发表于 2020-07-23 分类于 系统设计 , 领域驱动设计

软件的复杂度分析——领域驱动设计总结系列

​ 选择领域驱动设计,就是要与软件系统的复杂作一番殊死拼搏,降低软件的复杂度。Eric Evans 的经典著作《Domain-Driven Design - Tackling Complexity in the Heart of Software》(领域驱动设计:软件核心复杂性应对之道)的副标题就是软件核心复杂性应对之道,甚至Eric Evans 认为“领域驱动设计只有应用在大型项目中才能产生最大的收益”。

阅读全文 »

观其大略——领域驱动设计总结系列

发表于 2020-07-21 分类于 系统设计 , 领域驱动设计

观其大略——领域驱动设计概览

领域驱动设计诞生至今已有十数年岁月,这门似已步入老年的方法论因为微服务的兴起而重焕青春。它国外IT圈行之有效享有盛誉,国内却知音甚少。它从未大行其道,但一直在坚硬生长。

阅读全文 »

JetBrains全家桶的正确打开姿势

发表于 2020-07-19 分类于 重构

JetBrains 全家桶的正确打开姿势之快捷键篇

之前,向大家介绍过重构,也在后面罗列了很多快捷键,不过可能大家只是看了,并没有感受到它们的方便之处,这次呢, 我给大家演示一下这些快捷键具体的使用场景

上次分享地址:http://werty.cn/reveal/Refactoring-v4.html

JetBrains重构相关快捷键

提炼函数 Ctrl+Alt+M

提炼变量 Ctrl+Alt+V

提取字段 Ctrl+Alt+F

提取常量 Ctrl+Alt+C

提取参数 Ctrl+Alt+P

安全删除 Alt+Delete

重命名 Shift+F6

重构菜单 Ctrl+Alt+Shift+T

自动补全 Ctrl+Shift+Enter

万能修复 Alt+Enter

websocket

发表于 2020-07-19 分类于 网络 , WebSocket

WebSocket

一、协议与交互

客户端 服务端

客户端发起http请求,header携带upgrade字段,进行握手,将协议升级

服务端返回请求,header中携带switching字段,表示允许升级为websocket

此时请求的tcp连接不会断开,客户端可以随时给服务端发送消息,服务端也可以随时给客户端发送消息、

1573896158351

二、传输原理

  • 协议升级后,继续复用HTTP的底层socket完成后续通讯
  • message底层被切分成多个frame帧传输
  • 开发过程中只需要操作message ,无需关心frame
  • 框架底层完成TCP网络I/O, WebSocket协议解析,开发者无需关心

MYSQL慢查询

发表于 2020-07-19 分类于 数据库

SQL分析命令explain使用说明

123…11

hajnxg@126.com

菩提树下改bug的博客
107 日志
31 分类
253 标签
GitHub E-Mail
友谊的传送门
  • Bess's Blog
  • 番茄酱の萌化小屋
  • yremp.club
© 2024 hajnxg@126.com
Github | 陕ICP备17003699号-2
|