自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dablelv的博客专栏

The blog world of Dablelv

原创 程序员专属段子集锦0

1.编程较低犯罪率。 2.程序员的好只有阿姨懂。 3.租房只租程序员。 4.程序员工作写照。 5.我还没下班。 6.PHP=拍黄片? 7.那个男的是谁? 8.程序员压力没那么大。 9.从删库到跑路。 参考文献 [1]程序员才懂的小段子 ...

2020-04-10 10:51:30 15498 50

原创 程序员专属段子集锦1

1.程序员一天的睡眠状态。 2.我是程序员,我不关心警告(warning)。 参考文献 [1]这58张图片,能让你笑出八块腹肌!

2019-02-22 13:50:21 546 0

原创 哈希冲突常用解决方法

1.基本概念 哈希算法:根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上的算法。也称为散列算法、杂凑算法。 哈希表:数据经过哈希算法之后得到的集合。这样关键字和数据在集合中的位置存在一定的关系,可以根据这种关系快速查询。 非哈希表:与哈希表相对应,集合中的数据和其...

2020-11-08 23:20:02 73 0

原创 Golang map 三板斧第二式:注意事项

文章目录1.map 默认初始值为 nil2.map range 顺序的随机性3.map 值传递表现出引用传递的效果4.map 元素不可取址5.map 并发读写问题参考文献 map 使用起来非常方便,但也有些必须要注意的地方,否则可能会导致程序异常甚至 panic。 1.map 默认初始值为 nil...

2020-11-08 15:30:09 66 0

原创 Golang map 三板斧第三式:实现原理

文章目录1.数据结构1.1 简介1.2 核心结构1.3 数据结构图2.实现机制2.1 创建2.2 增加或修改2.3 删除2.4 查找2.5 迭代2.5.1 hiter2.5.2 mapiterinit()2.5.3 mapiternext()2.6 扩容3.小结3.1 基本原理3.2 时间与空间复...

2020-11-08 15:18:32 32 0

原创 HTTP GET 和 POST 的区别

HTTP 协议是后台开发必须要了解的协议,因为在后台开发工作中,少不了使用 HTTP 协议进行交互,比如访问 HTTP 服务获取数据或者实现一个 HTTP 服务。当然,HTTP 协议是不仅仅是后台开发需要了解,只要是开发人员都必须要了解。 HTTP 定义了与服务器交互的不同方法,最基本的方法有4种...

2020-10-30 19:40:47 29 2

原创 白话 CRC

前言 我们经常碰到 CRC 这个概念,尤其是在通信领域。但是 CRC 的原理是什么呢?我们必要了解一下。 简介 CRC(Cyclic Redundancy Check,循环冗余校验)是一种数据错误检测方法,主要用来检测数据传输或者保存后是否出现错误。 CRC 相对于其他检测手段(如奇偶校验、算术和...

2020-10-08 23:20:36 78 0

翻译 保持 Go 模块兼容

简介(Introduction) 翻译自 Go 官方博文 Keeping Your Modules Compatible。 Jean de Klerk and Jonathan Amsterdam 7 July 2020 这篇文章是系列文章的第五部分。 Part 1 — Using Go M...

2020-09-13 21:51:30 124 0

翻译 Go 模块:v2 及更高版本

文章目录简介(Introduction)主要版本和模块路径(Major versions and module paths)主要版本策略(Major version strategies)发布 v2 及更高版本(Publishing v2 and beyond)结论(Conclusion)相关阅读...

2020-09-13 18:24:27 103 0

翻译 发布 Go Modules

文章目录简介(Introduction)项目设置(Project setup)语义版本和模块(Semantic versions and modules)v0:最初的不稳定版本(v0: the initial, unstable version)v1:第一个稳定版本(v1: the first s...

2020-09-13 12:08:06 45 0

翻译 迁移到 Go Modules

Jean de Klerk 21 August 2019 简介 这篇文章是系列文章的第二部分。 Part 1 — Using Go Modules Part 2 — Migrating To Go Modules (this post) Part 3 — Publishing Go Modul...

2020-09-06 16:36:52 90 0

原创 Linux 命令(138)—— nc 命令

参考文献

2020-09-01 00:39:17 122 0

原创 Markdown 调整图片位置与大小

使用 Markdown 编写文档或博客时,经常需要对图片的位置与尺寸进行调整,本文将以下图为例,介绍常见用法。 调整图片位置 居左 巨变 调整图片大小

2020-08-22 01:02:54 548 1

原创 Windows 必知命令

Windows 命令在开发工作相较于 Linux 命令并没有那么常用,但是常见的命令还是需要掌握,下面就列举软件开发人员必知必会的命令。 1.必知知识点 (1)批处理文件。 Windows 脚本文件被被称为批处理文件或命令行脚本,后缀名为 .bat 或 .cmd,在命令提示下键入批处理文件的名称,...

2020-08-21 00:29:40 113 0

原创 微信支付一面(C++后台)

前言 实录 1.说一下最近工作中自己参与的一个有难度的需求以及实现方案? 2.既然用到了缓存,那么你认为在使用缓存时,一般需要考虑哪些方面的问题? 3.我大致了解了你需求的实现过程,你之前使用过 C++ 吧,那问一下 C++ 语法相关的问题。你知道 const 在 C++ 中有哪些用法吗? 4.你...

2020-08-19 01:10:41 799 0

原创 图解红黑树

1.红黑树简介 红黑树(Red Black Tree)是一种含有红黑结点并能自平衡二叉查找树,典型的用途是实现 map。 它必须满足下面规则: 规则1:每个结点要么是黑色,要么是红色。 规则2:根结点是黑色。 规则3:每个叶子结点(NIL)是黑色。 规则4:每个红色结点的两个子结点都是黑色。 规则...

2020-08-10 10:52:31 803 2

原创 Golang go-huge-util 工具库介绍

go-huge-util 是一款 Go 通用和庞大的实用程序工具库,可以帮助您快速轻松地创建 Go 程序。 TODO: 某个切片是否包含指定元素

2020-08-06 20:30:14 134 0

原创 Golang channel 快速入门

for range channel 时,close channel 会发生什么?

2020-07-24 20:26:00 296 0

原创 Mac 必知常用快捷键

从 Windows 切换到 Mac,我想你最不习惯的便是键盘的使用。 Mac 电脑一般都不怎么用鼠标,因此其触摸屏有丰富的单指、双指、三指甚至四指的操作之外,再加上众多的快捷键,足以应对日常操作。 本文将介绍 Mac 电脑最常见的快捷键,也是使用 Mac 必须掌握的快捷键。我相信,当你掌握了本文介...

2020-07-24 02:46:48 242 0

原创 Go 结构体格式化输出

在软件系统中定位问题时日志不可或缺,但是当一个系统功能繁多,需要打印的日志也多如牛毛,此时为了提高我们浏览日志的效率,便于阅读的输出格式必不可少。 打印结构体是打印日志时最长见的操作,但是由于结构体内容较多,都在一行时,不易于阅读,所以我们可以借助结构体默认的JSON 结构,来进行 JSON 的格...

2020-07-13 15:18:57 588 0

原创 面试官,你为什么老是问我”闭包“
原力计划

前言 写这边博文的背景是前段时间在参加深圳鹏城实验室后台研发工程师一职时被问及闭包是什么,之前对闭包的理解只是停留在使用层面,并未做深层次的了解。我的回答是闭包可以让内部函数访问其所在函数的局部变量。这个回到好像并非是面试官想要的答案,然后又问到闭包的学术性定义是什么,我懵了,戳中了我的知识盲区。...

2020-07-10 12:27:46 249 0

原创 3 年大厂工作经验面试竟然要我手写 atoi 函数
原力计划

手写代码是面试过程常见的环节之一,但是一般都是手写算法题,此次面试官居然要我写一个基本的 C 语言 atoi,内心有点不屑,但是毕竟是面试,没得选择,只能接受了。 先说一下 atoi 函数的功能,它是一个 C 标准库函数,将给定的 C 风格字符串转换为 int。 本题虽然简单,但是如果之前没有练习...

2020-06-16 17:17:53 891 3

原创 二叉树翻转(递归+非递归)
原力计划

二叉树翻转是一道经典的面试编程题,经常出现在各大公司的招聘

2020-05-29 15:04:16 381 0

原创 二叉树的构建
原力计划

二叉树的前序、中序和后序序列中的任何一个都不能唯一确定一棵二叉树,二叉树的构建主要有两大种方法。 第一种是根据前序+中序或者后序+中序来唯一确定二叉树的结构,第二种是根据二叉树对应的扩充二叉树的先序或者后序序列来确定。 网上有很多blog和资料都没有将上面的方法列举出来,有个文档资料里说根据扩充二...

2020-05-25 14:16:11 567 2

原创 二叉树遍历(深度优先+广度优先)
原力计划

二叉树的遍历分为两类,一类是深度优先遍历,一类是广度优先遍历。 1.深度优先遍历 二叉树的深度优先遍历有三种方式,先序(先根次序)、中序(中根次序)和后序(后根次序)遍历。 因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方...

2020-05-22 13:05:07 436 0

原创 认识 URL 及其编码

文章目录1.URL 是什么2.URL 一般语法参考文献 1.URL 是什么 URL(Uniform Resoure Locator),中文译为统一资源定位符,是 Internet 上资源的地址,比如一个文本文件,一张图片,一个视频。通过 URL 我们可以知道网络资源的位置以及访问它的协议。 URL...

2020-05-19 20:29:49 294 0

原创 GoLand 远程开发配置

项目开发过程中,一般采用“本地编写+远端编译”的开发模式,即在本地编写完代码然后将代码放到远端的编译机器上编译调试。因为这种开发模式,我们需要采用远程开发的方式来提高开发效率,即编写的代码能够自动同步到远端,感觉上像是直接编辑远端的代码。

2020-04-28 21:23:20 2663 0

原创 编码标识符缩写建议

编码过程中,对一个标识符(变量,函数或类型)取名时,如果标识符过长,为了保持代码的简洁,需要缩写。缩写时,应采用统一的缩写规则,避免缩略语含糊不清,这样才能够保证不同的开发人员看到缩写的标识符时就能明白其含义。 敬请期待

2020-04-23 15:25:30 571 0

翻译 使用 Go Modules

翻译自 Go 官方博文 Using Go Modules。 Tyler Bui-Palsulich and Eno Compton 19 March 2019 简介 这篇文章是系列文章的第一部分。 Part 1 — Using Go Modules (this post) Part 2 —...

2020-04-18 22:31:43 288 0

原创 GoLand 快速入门教程

GoLand 是一款由捷克软件开发公司 JetBrains 专为 Go 开发的跨平台的商业 IDE。Goland 支持

2020-04-17 19:03:21 1170 0

原创 Golang 单引号、双引号与反引号

单引号 单引号在 Golang 表示一个字符,使用一个特殊类型 rune 表示字符型。rune 为 int32 的别名,它完全等价于 int32,习惯上用它来区别字符值和整数值。rune 表示的是字符的 Unicode 码值。 package main import( "fmt&qu...

2020-04-16 16:35:22 724 0

原创 Linux 命令(137)—— strace 命令
原力计划

1.命令简介 strace 命令是一个集诊断、调试、统计于一体的工具,我们可以使用 strace 对程序的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解程序工作过程的目的。当然strace 与专业的调试工具比如说 gdb 之类的是没法相比的,因为它不是一个专业的调试器。 s...

2020-04-12 23:16:57 349 0

原创 C# DataTable 用法简介

C# DataTable 的常见用法: (1)新建数据表。 DataTable dt=new DataTable();如果带个String参数,此参数表示表名。 (2)向表添加列。 //数据库的Nvarchar等类型,在此可用String兼容。可不指明数据类型 DataColumn dc = n...

2020-04-02 20:28:46 236 0

原创 Linux 命令(136)—— curl 命令

curl 命令是一个利用 URL 规则在 Shell 终端命令行下工作的文件传输工具;它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称 curl 为下载工具。 作为一款强力工具,curl 支持包括HTTP、HTTPS、FTP 等众多协议,还支持 POST、cookies、认证、从指定偏...

2020-03-09 00:40:18 318 0

原创 Linux 命令(135)—— gpasswd 命令

1.命令简介 gpasswd 是Linux下工作组文件 /etc/group 和 /etc/gshadow 管理工具。 系统管理员可以使用 -a 选项定义组管理员,使用 -m 选项定义成员,由组管理员用组名调用的 gpasswd 只提示输入组的新密码。 2.命令格式 gpasswd [OPTION...

2020-03-08 23:32:13 299 0

原创 Linux 命令(134)—— groupmod 命令

1.命令简介 groupmod(group modify)是系统管理员命令,用于更改群组识别码或名称。 不过大家还是要注意,用户名不要随意修改,组名和 GID 也不要随意修改,因为非常容易导致管理员逻辑混乱。如果非要修改用户名或组名,则建议大家先删除旧的,再建立新的。 2.命令格式 groupmo...

2020-03-08 23:20:45 246 0

原创 Linux 命令(133)—— groupdel 命令

1.命令简介 groupdel(group delete)命令是系统管理员命令,用于删除一个组。 groupdel 命令用于删除指定的工作组,本命令要修改的系统文件包括 /ect/group 和 /ect/gshadow。 2.命令格式 groupdel [OPTIONS] GROUP 3.常用...

2020-03-08 23:08:02 155 0

原创 Linux 命令(132)—— groupadd 命令

1.命令简介 groupadd 命令是系统管理员命令,用于创建一个新组。 groupadd 命令使用命令行上指定的值以及系统中的默认值创建一个新的组帐户。新组将根据需要被添加到系统文件中。 2.命令格式 groupadd [OPTIONS] GROUP 3.常用选项 -f, --force ...

2020-03-08 22:59:21 227 0

原创 Linux 命令(131)—— usermod 命令

1.命令简介 usermod(user modify)命令是系统管理员命令,用于修改用户账号 。 usermod可用来修改用户账号的各项设定,修改系统账号文件来反映通过命令行指定的变化。 2.命令格式 usermod [OPTIONS] LOGIN 3.选项说明 -c, --comment 添...

2020-03-08 22:46:19 234 0

原创 Linux 命令(130)—— userdel 命令

1.命令简介 userdel(user delete) 命令是系统管理员命令,用于删除用户账户和相关文件。 其实 userdel 命令实际上是修改了系统的用户账号文件 /etc/passwd、/etc/shadow 以及 /etc/group 文件,这与 Linux 系统“一切操作皆文件”的思想正...

2020-03-08 22:23:57 276 0

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