摘要:
开题引入斐波那契 代码演示: 递归、循环 递归 vs 循环 时间复杂复高,指数型O(2^n); 推导过程 占用线程堆栈, 可能导致栈满异常 压测演示 20230816补充尾递归 斐波那契数列 打入门软件开发,斐波那契数列便是绕不过去的简单编程算法。 一个老生常谈的思路是递归,另外是循环,今天借此机会 阅读全文
摘要:
最近一年各大中小厂都在搞"优化",说到优化,目的还是"降本增效",降低成本,增加效益(效率)。 技术层面,也有一些降本增效的常规操作。 比如池化、io缓冲区技术 | | golang | C# | eg. | | | | | | | 池化技术 | snnc.Pool | ObjectPool | 前 阅读全文
摘要:
go内置了一套单元测试机制: 利用 go test测试命令和一套按照约定方式编写的测试函数。 测试文件以 _test.go 结尾 测试函数以Test、 Benchmark 、 Example开头 go test有两种模式: go test 本地目录模式,不带包名,寻找当前目录下的tests go t 阅读全文
摘要:
今天记录编程中老掉牙的几个关键术语,一个言简意赅的术语定义包含主谓宾定状补, 我们应从貌似雷同的术语中体会到不同术语的表象行为、侧重点。 下面给出的3对技术术语,都是很核心、易混淆的概念点,但是多少还是有些表象、侧重点的不同。 阻塞操作不等于同步,非阻塞操作也不等于异步。实际上,它们之间并没有直接的 阅读全文
摘要:
这几天收到一个战术性需求,将一大坨字段序列化为特定格式的字符串。 大概是下表这样: | 序号 |字段名 | 描述 | 是否必填 | | | | | | | 0|logVersion | 日志版本 | 是 | | 1|productName| 产品 | 是 | | 2|serviceName| 服务 阅读全文
摘要:
战术卧倒 golang中常见的日志包是logrus, 根据logrus的胚子和我们的生产要求,给出一个生产可用的logrus实践姿势。 #### 主谓宾定状补 logrus是一个结构化的、可插拔的、兼容golang标准log api的日志库。 快速过一下能力 - 支持对output=TTY增加关键字 阅读全文
摘要:
OSI open-system-Interconnection TCP/IP 5层协议栈 应用层和操作系统的边界是 系统调用 ,对应到网络编程是socket api TCP/UDP 概况 TCP粘包问题 TCP/IP报头深思 1. OSI开放系统互联 定义了网络框架,以层为单位实现协议,同时控制权逐 阅读全文
摘要:
前言 现代计算机基于计算、存储和调度的体系, 于是现代架构都是围绕这三大话题不断演进。 在基础架构部, 也是主要为了解决这三个难题,为业务事业部提供透明的、高可用、可快速伸缩的 三大能力, 我们组主要负责 [流量调度] 这个话题,下面是一些宏观的技术笔记。 在单体结构, 流量调度是直观且无感的(DN 阅读全文
摘要:
从其他语言转到Go语言,往往会有路径依赖;Go语言核心数据结构比较随意的设计风格,初学者往往会陷入很多坑位。 https://go.dev/doc/effective_go golang官方出的快速指南,值得深度。 1. 核心数据结构 值类型包括:所有integer、所有float、bool、str 阅读全文
摘要:
以后会开一个板块,摸鱼快报,快速记录这几周开发中雕虫小技。 1. 向开发环境localhost:3000种植cookie 前端使用Create React App脚手架,默认以localhost:3000端口启动; 后端使用golang-gin框架,使用8034端口启动。 登录模块走的是sso,前后 阅读全文