快乐的程序员
Tesla创始人马斯克的产品哲学:第一性原理 Tesla创始人马斯克的产品哲学:第一性原理
写在前面看过一篇文章,说Tesla马斯克的产品哲学叫:第一性原理(first principles),在网上搜到了混沌大学李善友写《第一性原理》,一本不厚的小书,作者分析了第一性原理是什么?起源是什么?如何具备第一性原理? 马斯克的第一性
2024-03-14
如何设计一个短链接系统 如何设计一个短链接系统
写在前面这是一个面试高频问题,今天好好总结一下,希望读者能学到,自己也记录一下 短链好处 链接变短,在对内容长度有限制的平台发文,可编辑的文字就变多了最典型的就是微博,限定了只能发 140 个字,如果一串长链直接怼上去,其他可编辑的内容就所
2024-03-14
千万不要给mysql字段默认值null 千万不要给mysql字段默认值null
先来看一个sql语句 select 1=null as a, 1!=null as b, null=null as c, null != null as d, null is null as e; 结果如下: 显然结果跟一般人预期的不一样
2024-03-14
go map中不允许直接修改值值类型的内容 go map中不允许直接修改值值类型的内容
先来看一段代码 func main() { data := make(map[string][2]string) data["a"] = [2]string{"c", "d"} data["a"][0] = "e"
2024-03-14
github代理设置 github代理设置
本地开启代理之后,terminal中执行git命令并没有使用代理,需要单独设置 git代理设置# 设置git代理 git config --global http.proxy http://127.0.0.1:10080 git confi
2024-03-14 Alex
你不知道的一个奇葩知识点:0.1+0.2!=0.3,无论什么语言 你不知道的一个奇葩知识点:0.1+0.2!=0.3,无论什么语言
写在前面之前在项目中遇到过金额类型需要四舍五入保留2为小数的问题,体会到了go的float64类型相加不精确的问题,今天看到为什么 0.1 + 0.2 = 0.300000004,于是学习了一下。 现状废话不多说,直接看效果 javascr
2024-03-14
一个通过websocket通信的go语言实现的即时通讯demo(二)-心跳 一个通过websocket通信的go语言实现的即时通讯demo(二)-心跳
写在前面上篇文章一个通过websocket通信的go语言实现的即时通讯demo介绍即时通信的基本能力,包括服务端监听、接收、广播消息,客户端连接、接收、发送消息。今天在这个基础上再增加心跳。 客户端在客户端写一个定时器,发送心跳包ws.Op
2024-03-14
一个通过websocket通信的go语言实现的即时通讯demo 一个通过websocket通信的go语言实现的即时通讯demo
写在前面今天学习一个小册子其中的一篇,并且跟着写demo。本文大部分内容是从小册子分布式IM原理与实战复制过来的,主要用于记录一下学习到的知识。如有侵权请联系我删除。感谢作者逆水。 项目结构├── client │  
2024-03-14
一个超级棒的开源即时通讯系统 一个超级棒的开源即时通讯系统
0.写在前面看到一个开源的即时通讯程序,体验非常棒。 1.准备工作1.1 安装go从https://go.dev/dl下载最新版go。项目要求go version>=1.20.0 我的云服务是centos x86_64 uname -
2024-03-14
linux常用命令,排查问题效率高10倍 linux常用命令,排查问题效率高10倍
写在前面学会这几个基本的、常用的系统命令,排查问题效率高10倍 toptop命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 top命令有一些参数 top -h top us
2024-03-13
GO面试精选题目,学会这些就能应付80%的面试啦 GO面试精选题目,学会这些就能应付80%的面试啦
0.写在前面有的人觉得go面试很难,其实相对于java来说,go的内容已经很少了。作为go后端开发者,go基础面试也就那几个问题,面试的时候主要还是要把后端的(跟语言无关的)知识打牢,比如数据库、分布式、缓存、编程风格等等。 本文主要解决的
2024-03-13
go chan 设计与实现 go chan 设计与实现
在上一篇文章《深入理解 go chan》中,我们讲解了 chan 相关的一些概念、原理等东西, 今天让我们再深入一下,读一下它的源码,看看底层实际上是怎么实现的。 整体设计我们可以从以下三个角度看 chan 的设计(源码位于 runtime
2024-03-13
10 / 23