go design (三) map golang 中 哈希表 map 的实现哈希表 在 各种语言中有字典,映射 的称呼 ,本质上解决的是 key => value 键值对之间映射关系,因为其读写 O(1) 的复杂度,性能非常优秀,而被广泛使用。 哈希表 的设计原理如何实现一个优秀的哈希表 ,关键点在于 哈希函数与冲突解决方案。理想的哈希函数 输出范围要大于输入范围,但实际上我们做不到,工程上优秀的 hash 函数,要保证输出均 2022-01-07 golang #slice #《go语言设计与实现》
sso-技术选型的思考 关于 SSO 选型的思考你在什么时候会去考虑实施SSO? 公司具备开发能力,且内部应用系统林立,烟囱式的系统建设导致内部数据流转困难,业务人员需要登录与记忆几个系统的密码,管理人员需要多次登录来设置各类的权限时,就可以考虑建立SSO来统一人员信息,进一步可以统一权限信息。这不但是公司基础设施的基础也可以作为自身晋升功绩的一部分,等打通 基础的人员,权限信息后,后续可以进行 中台/平台 化 2022-01-04 架构 #技术选型 #sso
go design (二) slice golang 中如何去设计变长数组我们在 谈论 slice 的时候到底在 讲什么? go 中 关于 slice 的结构定义 123456// src/runtime/slice.go type slice struct { array unsafe.Pointer // 元素指针 len int // 数据的长度 cap int // 数据的容量} 2022-01-02 golang #slice #《go语言设计与实现》
go design (一) array golang 中 array 的实现数组是由相同类型元素的集合组成的数据结构。计算机操作系统会为数组分配一块连续的内存来保存其中的元素,我们可以利用数组中元素的索引快速访问特定元素 。常见的数组大多都是一维的线性数组。多维数组在数值计算和图形应用方面非常有用。 golang 中 对于数组的实现 array12345678910111213141516171819202122232425262728 2021-12-31 golang #《go语言设计与实现》 #array
自我管理 起因 因疫情而更关注现实的我,根据疫情期间的实事,以及自己的一些经历所总结的对于当代(20世界10年代)现实的理解。希望以后的自己能对现在的我进行更深刻的批判。本系列也是一个废宅,在4年间适应社会改造并逐步成长为技术宅的故事,无趣但确实有效。涉及日常生活的各个领域。 思想上的独立 一般人所受的教育,都是应试教育,总是期待一个标准答案来解释,从学校中出来,生活中遇到的各种问题。但现实是没有标 2020-04-07 杂谈 #自我管理
plan 基础目标 网络协议 数据结构与算法 原理与实践(需要刷题) 计算机操作系统(linux与windows) 设计模式与设计范式 语言目标 主要 php 基础,原理与近年来大版本的改进 laravel与tp6框架实现源码流程 基础数据结构,基础数据结构在内存中的分布 GC的实现 swoole 刷题 golang 熟悉各个标准库包的使用,需要刷题 gin框架实现源码流程 基础数据结构,基础数据 2019-12-04 后端 #基础
网络协议(一) 协议 协议,网络协议的简称,网络协议是指通信计算机双方必须共同遵从的一组约定。 为了使数据在网络上从源到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议(protocol),它最终体现为在网络上传输的数据包的格式。 协议的三要素包括 语法 语义 时序 以上内容来自百度百科 不谈它在网络中的表示,我们所理解的,字面上的协议,就是约定,双方都明白且遵循的一种规则,也就是说是人为规定 2019-11-25 网络协议 #http
关于php后端的100个话题(一)消息队列 消息队列解决了什么问题? 消息队列最主要解决了系统间 数据通信 的问题 消息队列的使用场景 异步处理 把不重要的同步串行,改成异步,可以更快地返回结果 减少等待,自然实现了步骤之间的并发,提升系统的性能 流量控制 将网关将请求放入请求队列进入等待状态,后端去处理请求队列的参数,然后网关再响应 ,一旦超时就丢弃响应服务错误给请求,来限制流量 大致的思路是,网关会把用户的request缓存起来, 2019-07-22 php后端 #php #消息队列
java学习笔记(一) java 执行流程 java 粗略执行流程 源文件编译成 .class 字节码文件 ->解释执行 jre( 装载 -> 字节码校验 -> jvm 执行) jdk 包含了 javac jre debugging tools javap javeSE(java标准版本) JAVAEE(java商业版) 与 JAVAME(设备专用) 一般分为这三块 第一个 java 程序1234 2019-07-01 program language #java
think-工作方法论 论如何高效且有质量的处理工作 目的 预测 实践 反馈 SMART原则构成 绩效指标必须是具体的(Specific) 绩效指标必须是可以衡量的(Measurable) 绩效指标必须是可以达到的(Attainable) 绩效指标是要与其他目标具有一定的相关性(Relevant) 绩效指标必须具有明确的截止期限(Time-bound) 其它待整理的方法论 大圈小圈:指导职场晋升的方法论 影响圈是自 2019-06-16 思想 #方法论
database design(一)范式 范式与实现 目前关系数据库有六种范式:第一范式(1NF)、 第二范式(2NF)、 第三范式(3NF)、 巴斯-科德范式(BCNF)、 第四范式(4NF) 和第五范式(5NF,又称完美范式) 满足最低要求的范式是第一范式(1NF)在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。 一般来说,数据库只需满足第三范式(3NF)就行了 第一范式 所谓第一范式(1NF)是 2019-06-13 数据库设计 #数据库 #mysql
golang base (three) error 处理 没有异常机制 error 类型实现了 error 接口 123type error interface{ Error string} 可以通过 errors.New 来快速创建错误实例 1234567891011121314151617181920212223242526272829303132errors.New(" error info 2019-06-09 golang #golang
golang base (two) map 声明 12345678910// 直接声明并赋值m := map[string]int{"one":1,"two":2,"three":3}t.Log(m, len(m))//map[one:1 two:2 three:3] len 3// 声明并赋予零值m1 := map[string]int{& 2019-06-08 golang #golang
关于composer的一些记录 为什么 上线要使用 composer dump-autoload -o composer dump-autoload -o 做了什么? 自动生成了 注册类的 key=>value 数组 按A-Z进行排序并生成了对应的索引 Compsoer\ClassLoader 会优先查看 autoload_classmap 中所有生成的注册类。 如果在classmap 中没有发现再 fallbac 2019-05-15 php #composer
php之道 PHPer web 技能点 后端技能点 必需技能 git-版本控制 ssh-安全外壳协议 http/https 协议和 API 命令行基础指令 学习理解 数据结构与算法 字符编码 设计模式 github/gitlab 平台与工作流 php7 包管理工具 composer 调试/分析工具 xDebug XHProf New Relic Blackfire 2019-05-14 php后端 #php
build yourself Linux dev env ContOS7 php多版本环境的配置使用最小化安装之后的第一个问题,内外网不通 vi /etc/sysconfig/network-scripts/ifcfg-ens33 修改 ONBOOT=yes 后 systemctl restart network.service 重启主机,如果此时内外网通了但是 yum list 失败,主要是服务不可达,考虑为 DNS 的原因 修改 vi /et 2019-05-09 linux #php #docker #nginx
golang base (one) 程序入口 必须为 package main 必须是 func main(){} 文件名称可以不为 main.go Go 中 main 函数不支持返回值 可以通过 os.Exit() 来传出 返回值 main 函数不支持传入参数 可以通过 os.Args 来获取 12345678910func main(){// 不支持入参 fmt.Println(&q 2019-05-08 golang #golang
关于在windows服务器上使用定时任务执行 laravel artisan 命令行 关于在windows服务器上使用定时任务执行 laravel artisan 命令行 需解决的问题 公司windows 服务器上 的 laravel 项目需要定时去更新一批数据(频率不高) 解决思路 可以使用 golang 去完成 更新数据的操作,编译打包成 exe 文件 用windows 自带的计划任务去处理 对外提供一个 url 接口,在外部服务器上定时去 curl 请求 2019-05-07 php #laravel #bat
重新理解css(一) CSS- 全称 层叠样式表 Cascading Style Sheet 选择器- 分类和权重 - 元素选择器 a{} - 伪元素选择器 ::before{} - 类选择器 .link{} - 属性选择器 [type=radio]{} - 伪类选择器 :hover& 2019-02-12 前端相关 #css
小白的摄影与生活(二)焦点与对焦 对焦照片拍不清楚的原因- 相机的抖动导致 画面模糊 - 使用三脚架 - 提高快门速度 - 拍照对象在晃动 - 提高快门速度 - 天气不好 - 低对比度 导致朦胧 - 天气越恶劣,拍照越精彩 - 曝光过度 - 细节损失 - 曝光不足 - 细节损失 - 镜头凝露 - 温差导致 凝水 - 模拟 冷凝水效果 - 在 2019-02-09 摄影相机 #相机基础