自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

转载 DRY原则

转载自阮一峰老师的代码抽象三原则开发软件的时候,一方面,我们总是希望使用别人写好的代码,另一方面,又总是希望自己写好的代码尽可能重用,以求减少工作量。要做到这两个目标,这需要“抽象化”。DRY原则 Don‘t Repeat Yourself系统的每一个功能都应该有唯一的实现。如果多次遇到同样的问题,就应该抽象出一个共同的解决方法,不要重复开发同样的功能。YAGNI原则 You aren’t gonna need it. 你不会需要它。除了最核心的功能,其他功能一概不要部署,这样就可以大大加快

2022-01-24 10:29:45 132

原创 通用的法则

5WHY

2021-12-19 13:15:36 506

原创 腾讯面经汇总

网络:tcp超时,客户端断电了,我tcp怎么感知?A:断电操作系统就不会发送FIN,但tcp感知?emmmm send函数返回-1吧。Q:你确定吗?A:尬笑 Q:下去了好好研究研究吧就让说TCP/IP,然后我就说了TCP三次握手,四次挥手,看他不打断我就继续说流量控制,拥塞控制,然后问了一下TCP报文怎么保证有序http协议里 301 304啥用处linux5. 假设你项目中的父进程的cpu百分百,你该怎么办,怎么去查这个问题6. 如果自己做一个缓存怎么做 (淘汰策略 如何自己实现淘汰策略

2021-11-24 22:24:53 410

原创 mysql性能调优

filteredselect_typetabletypekeykey_lenrowsfilteredPRIMARYarangesearch417418.0mysql使用search对表a进行区间扫描,使用该索引可获得174条记录。之后需要根据where中的其它条件对这些记录进行过滤。MySQL现在估计只有32行,因此在应用该过滤器后将剩下174行中的18%。这18%就是filtered的值。因此,较低的值可能表示可能存在更好的索引。但是我们一般专注于其他更

2021-10-19 16:55:07 84

转载 HTTP的缓存机制与工作原理

为什么要缓存静态文件(图片/CSS/JS)的特点是不经常变化,将这些不经常变化的文件存储起来,对客户来说,是一个优化用户浏览体验的方法。这就是客户端缓存的意义。HTTP缓存机制是WEB性能优化的重要手段。缓存是怎么生效的根据是否需要向服务器发起请求,可以将HTTP缓存分成强制缓存和对比缓存。缓存类型命中缓存强制缓存对比缓存在没有缓存数据的时候,浏览器向服务端请求数据时,服务器会将数据和缓存规则一并返回。缓存规则信息位于响应header中。强制缓存响应head

2021-10-18 12:41:08 253

转载 IO多路复用

什么是IO多路复用多路复用是指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)。这样在处理1000个连接时,只需要1个线程监控就绪状态,对就绪的每个连接开一个线程处理就可以了,这样需要的线程数大大减少,减少了内存开销和上下文切换的CPU开销。操作系统提供的系统调用函数select: 通过它,我们

2021-10-08 17:36:22 149

转载 css 吸顶特效

转载自

2021-09-19 18:23:43 300

原创 map序列化

map md5 加密前后不一致struct加密多次,一致保持一致。

2021-09-16 21:12:44 966

原创 取消任务执行

可以通过context,也可以通过channel联合select取消任务close(channel) 是广播方法,大家都能收到。package task_testimport ( "fmt" "testing" "time")func isCancelled(cancelChan chan struct{}) bool { select { case <-cancelChan: return true default: return false }}fun

2021-09-15 14:26:56 220

原创 mysql事务

mysql innodb默认的事务隔离级别是可重复读。参考资料: 廖雪峰

2021-09-14 10:37:41 77

原创 变量初始化

切片不需要初始化就能赋值func TestGetList(t *testing.T) { //sensorMap := getIdcSensorList() //fmt.Println(sensorMap) var agentIps []string for _, agent := range []string{"1", "2", "10"} { agentIps = append(agentIps, agent) } fmt.Println(agentIps)}map必须初始化才

2021-09-13 16:50:49 81

转载 peer-as (Protocols BGP)

Specify the neighbor (peer) autonomous system (AS) number.For EBGP, the peer is in another AS, so the AS number you specify in the peer-as statement must be different from the local router’s AS number, which you specify in the autonomous-system statement.

2021-09-12 23:12:00 140

转载 [bgp协议] 基础知识和配置

转载自[bgp协议] 基础知识和配置

2021-09-12 23:10:43 70

转载 动态路由协议—RIP OSPF

转载自动态路由协议——RIP路由协议RIP支持的最大跳数是15,超过15就认为目的不可达。每过一个路由器,跳数+1,当跳数=16时,丢弃。RIP分为V1和V2两个版本。RIP运行在园区网内部。互通有无。华为的设备上,周期是30s,更新一次路由。每次更新时,都把整张路由表给对方。RIP只看距离,不看链路状态信息。RIP只和相邻路由器进行链路通告VLSM:可变长子网掩码CIDR: 无类域间路由(超网汇聚) 多变一OSPF是全网进行通告的manu手工指定

2021-09-12 22:45:49 436

转载 静态路由原理与实验

转载自:B站——IP路由介绍-静态路由原理与实验大家应该掌握手动配置和维护路由信息一般静态路由不会用在局域网中,会用在局域网与互联网进行互通时使用静态路由。局域网与移动/联通等运营商进行通信时,流量通过出口路由器指向运营商的网络设备。静态路由一般由网络管理员进行配置建议大家直接写下一条地址,不要写本地出口。配置验证使用时,可以认为一条是主路,一条是备路。缺省路由又叫做默认路由。全0表示。不知道的都找默认路由。...

2021-09-12 21:10:41 198

转载 IP路由基础

转载自:B站—IP路由介绍-静态路由原理与实验企业网络复杂,不同部门之间会划分出不同的网段,路由器把不同的网段连接起来,实现跨网段通信。比如:AS100是一个运营商,AS200是另一个运营商。我们可以通过联通上网,也可以通过电信上网。LAN (local area network) 局域网。广域域:发送广播报文时,大家都能收到。交换机在收到广播报文时,会向其他接口转发(泛洪)。路由器在收到广播报文时,会丢弃。即:路由器将局域网划分成不同的广播域,减少广播的干扰。划分VLAN,是交换机以软件

2021-09-12 20:57:26 202

转载 SNMP简单网络管理协议

搬运自B站—SNMP简单网络管理协议MIB在被管理对象侧,如果要查的东西不在MIB中,则查不到V1版本既不支持设备的认证,传播还是明文的,不安全V2版本通过comminity标志符进行认证。在报文上也有所修改V3版本既有身份认证和加密的功能...

2021-09-12 18:48:50 72

转载 python的sql注入

转载自:python SQL注入的解决办法python的sql注入背景 APP爆出一个大Bug,只要在查询框内输入“%”,就会检索出所有的数据,最后有人给出了这样的解决方案,在前端进行验证,禁止用户输入“%”之类的特殊字符。 帅呆了!责任轻易地就甩给了前端! 我反问,如果百分号要进行禁止,那么“*&’“()”要不要进行禁止?“desc、select、from”等关键字要不要禁止?还有“+-”,正则表达式相关的符号要不要禁止?就算输入框禁止了,直接发送http请求又如何禁止?

2021-09-10 15:00:00 3176

原创 动态规划题目总结

基础题目 剑指 Offer 10- I. 斐波那契数列最长子序列问题 剑指 Offer II 093. 最长斐波那契数列

2021-08-31 19:29:28 90

原创 ping/tracert/telnet

ping主机之间是联通的主机已关闭,或者主机阻止了所有的ping请求消息来自于路由器,意味着路由器找不到目的主机的路由> ping 216.109.117.108 Destination host unreachable Destination host unreachable Destination host unreachableping命令还可以用来测试域名解析如果能ping通,证明DNS的域名解析工作正常。如果ping 域名失败,接下来就应该继续pin

2021-08-30 22:30:43 3190

转载 go mod

报错信息:go: go.mod file not found in current directory or any parent directory; see ‘go help modules’解决方法:go env -w GO111MODULE=auto转载自go mod 与 go vendor

2021-08-30 22:09:22 84

原创 DHCP工作过程

参考资料:DHCP工作过程的六个主要步骤DHCP协议图文详解1. 什么是DHCPDHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client)。DHCP通常被用于局域网环境,主要作用是集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协

2021-08-30 11:50:13 16422

原创 DHCP/DNS/CDN

BIND(Berkeley Internet NameDomain) 是DNS协议的一个实现,提供了DNS主要功能的开放实现。DNS是什么,怎么解析一个机器怎么知道DNS服务器的地址?(DHCP)企业内网有DNS服务器DHCP是怎么动态分配IP地址的参考文档: 阮一峰 DNS 原理入门...

2021-08-25 11:48:16 108

原创 Linux的cpu信息

CPU型号>> cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c32 Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHzCPU个数: 实际服务器中插槽上的CPU个数,数不重复的physical id>> cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l2 CPU核数>>>ca.

2021-08-24 15:35:45 73

原创 python 字符串转list

ss = "abc"result = list(ss)# 请注意 ss.split() 得到的是["abc"]

2021-08-16 22:47:44 76

原创 防抖与节流

参考文档:前端的抖动与节流在 Vue 中使用lodash对事件进行防抖和节流防抖从上一次被调用后,延迟wait毫秒后调用func方法自己实现防抖函数function debounce(fn, wait) { var timer = null return function () { if (timer != null) { clearTimeout(timer) } timer = setTimeout(function () { fn.apply() },

2021-08-16 15:24:35 54

原创 算法题—打靶比赛

一个运动员开枪打靶,每枪可能的得分是0~10, 求打10枪得90分的可能性多大#encoding=utf-8sum_num = 0 def dfs(battle_count, total): global sum_num if total < 0 or battle_count < 0: return if battle_count * 10 < total: return if battle_count == 0 and total == 0: sum_nu

2021-08-14 23:18:22 160

原创 OrderedDict不支持python2

在python2中,初始化前后的顺序不一致from collections import OrderedDictod1=OrderedDict(x=1,y=2,z=3)print(od1)# OrderedDict([('y', 2), ('x', 1), ('z', 3)])在python3中,初始化前后的顺序一致from collections import OrderedDictod1=OrderedDict(x=1,y=2,z=3)print(od1)# OrderedDict

2021-07-30 10:29:04 136

原创 bloom filter

转载自腾讯云社区-布隆过滤器用途解决Redis缓存穿透在爬虫时,对爬虫网址进行过滤,已经存在布隆中的网址,不在爬取。垃圾邮件过滤,对每一个发送邮件的地址进行判断是否在布隆的黑名单中,如果在就判断为垃圾邮件。...

2021-07-28 14:15:26 40

原创 update时更新与否

add_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',add_time = Column(db.TIMESTAMP(True), nullable=False, server_default=text('CURRENT_T

2021-07-19 20:21:58 109

原创 python堆

heapq模块,可以实现python的堆排序用法:import heapqscores = [51, 33, 64, 87, 91, 75, 15, 49, 33, 82]# 数组转成最小堆heap = []heapq.heapify(scores) # pop 最小元素heapq.heappop(scores) # 15# 往堆里加入元素heapq.heappush(scores, 9)# 输出数组中最大的3个元素和最小的2个元素num_list = [51, 33, 64, .

2021-07-15 21:14:30 49

转载 JavaScript heap out of memory

问题现象异常信息如下FATAL ERROR:CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory. 原因分析Nodejs运行时使用内存是有大小限制的,64位系统约为1.4GB,32位系统约为0.7GB,该次构建内存使用超出了默认大小。处理方法启动Node时设置“–max_old_space_size”或“–max_new_space_size”参数来调整内存大小的使用限制。node --max_old_s

2021-04-08 11:19:23 9243

原创 机组常识

机组常识欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编

2021-03-28 22:58:30 96

原创 The server quit without updateing PID file mysql

ERROR! The server quit without updateing PID file环境:MAC>> mysql -hlocalhost -uroot -pERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'# 这是因为mysql服务没有启动,所以执行下述命令>> brew services start mysql. ERROR! Th

2020-10-20 11:49:01 299

原创 linetable

line-tableFor detailed explanation on how things work, consult the docs for line-table.组件特点x轴是时间轴, 支持用户自定义时间格式带有最值、平均值折线数量多于6条时,第一次单击折线,只展示目标折线的数据,再单击一次,展示全部折线Build Setup本组件是基于iview开发,使用前请先在main.js写入语句import Vue from 'vue'import iview from 'ivie

2020-05-14 04:40:12 209

原创 tablepage说明文档

A Vue.js project组件特点:支持全局排序全局搜索、根据特定列搜索自动完成分页加载中loading特效树形扩展Build Setup本组件是基于iview开发,使用前请先在main.js写入语句import Vue from ‘vue’import iview from ‘iview’;import ‘iview/dist/styles/iview.css’;Vue.use(iview);再写入import TablePage from ‘tablepage’V.

2020-05-12 01:55:12 1141

转载 linux su sudo

1.命令作用su的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。2.使用方式su [-fmp] [-c command] [-s shell] [–help] [–version] [-] [USER [ARG]]3.参数说明-f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。-l , –login:加了这个参...

2019-02-14 11:51:26 99

原创 vscode设置不展示 .pyc文件

选择 open setting.json, 输入以下文字&amp;quot;files.exclude&amp;quot;: { &amp;quot;**/.git&amp;quot;: true, &amp;quot;**/.svn&amp;quot;: true, &amp;quot;**/.hg&amp;quot;: true, &amp;quot;**/CVS

2018-10-09 17:33:45 4744 1

转载 Mac vmWare 找不到可以连接的有效对等进程

本文转自caiqiiqi驱动被gatekeeper拦截,在设置里允许就行不明原因驱动无法加载,具体表现为VM自带的4个驱动中某个或多个无法正常加载,可以通过kextstat |grep vm查看,正常情况下加载的4个驱动是:如果上述4个驱动不全,尝试以下操作:(1)在/Library/LaunchDaemons目录下用root权限新建一个plist文件,文件名可以自定义,我的是$ ...

2018-09-30 16:14:12 4541

原创 iview table 中的checkbox 填坑

近期做的项目用到了iview的table组件,并且带有checkbox选择框。 实现目标:点击shift实现连选的功能 iview坑: (1)给data设置_check的属性。 _checked属性会影响checkbox的选中状态。但是checkbox的选中状态不会影响_check 属性 (2) iview 官方文档说: @on-selection-change,只要选...

2018-08-30 12:30:33 26270 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除