基础理论
文章平均质量分 66
r_martian
这个作者很懒,什么都没留下…
展开
-
域名解析与记录
(Canonical Name Record,别名记录)是将一个域名解析为另一个域名。例如,一个网站可能有多个别名,CNAME记录允许将这些别名指向同一个IP地址。CNAME记录的好处是当需要修改域名到ip到映射时,只需要修改一个,即www.111.com,否则任何配置了www.111.com的地方都要修改。是将域名转换为IP的过程,使得人们能够直接通过域名访问网站,而不用记繁琐的IP地址信息。总的来说,CNAME记录和A记录都是域名解析中的重要记录类型,它们的主要区别在于。是两个不同的记录类型。原创 2023-10-22 21:07:06 · 305 阅读 · 0 评论 -
如何做代码评审(code review)
Code Review 即日常所说的代码评审或代码回顾,主要是在软件开发的过程中,对功能源代码进行评审,其目的是找出并修正软件开发过程中出现的错误的过程,提高和改进代码质量的过程。原创 2022-08-27 13:26:00 · 6015 阅读 · 0 评论 -
【深度】广告投放HWM库存分配算法实现
流量分配原创 2021-07-03 12:38:53 · 3074 阅读 · 0 评论 -
【深度】一文读懂cgi,fast-cgi,php-cgi,php-fpm
cgi common gateway interfacefastcgi,cgi升级版php-cgi,php解释器php-fpm,实现fast-cgi的程序原创 2020-12-27 15:55:01 · 328 阅读 · 0 评论 -
【深度】如何正确解析文件MIME类型
文件mime类型是辨识、区别一个文件类型的标准,比如jpg、png、gif、webp、zip、mp4等等,在日常项目开发中,也经常需要解析文件的mime类型,比如上传文件时,需要同步存储mime,以便于在使用文件时的正常解析。所以,本篇就基于线上问题,说说文件的mime。1 什么是MIMEMIME,即Multipurpose Internet Mail Extensions,多用途互联网邮件扩展类型(或媒体类型),是一种互联网标准,用来表示文档、文件或字节流的性质和格式,设计的最初目的是为了在发送电子原创 2020-07-25 16:51:35 · 1246 阅读 · 0 评论 -
Go 语言基本点总结
Go是google公司从2009年开始开发的一款静态、编译型,且自带垃圾回收和并发的编程语言Go语言在多核并发上拥有原生的设计优势,实现是基于goroutine,类似于线程,但并不是线程,可以理解为虚拟线程,运行时参与调度goroutine,并将goroutine合理的分配到每个CPU中,最大限度的使用CPU资源,多个goroutine间使用channel进行通信。1 路径说明GOROOT ...原创 2020-04-09 21:43:07 · 421 阅读 · 1 评论 -
IO - 同步、异步、阻塞、非阻塞
一般情况下,一次网络IO读操作会涉及两个系统对象:(1) 用户进程(线程)Process;(2)内核对象kernel,两个处理阶段:[1] Waiting for the data to be ready - 等待数据准备好[2] Copying the data from the kernel to the process - 将数据从内核空间的buffer拷贝到用户空间进程的buffer...原创 2019-12-27 22:04:27 · 264 阅读 · 0 评论 -
视频mp4与m4v格式区别
一、M4V格式M4V 是一个标准视频文件格式,由苹果公司创造。此种格式为 iPod 、 iPhone 和 PlayStation Portable 所使用,同时此格式基于 MPEG-4 编码第二版。其视频编码采用H264或H264/AVC,音频编码采用AAC。采用H264高清编码,相比于传统On2 VP6、H263、Divx等,能够以更小的体积实现更高的清晰度。 M4V格式也称作苹果的视频...原创 2019-12-11 08:23:56 · 22719 阅读 · 1 评论 -
【深度】带你读懂一致性哈希算法
一、传统哈希算法传统的哈希表通常使用下面的方法将key映射到数组的索引(index):hash = hashFunc(key)index = hash % arraySize这种方法的不足之处是当arraySize发生改变后,所有的key都需要重新映射(remapped),因为索引的值是对arraySize求余运算获得的。这种技术可以用于把应用程序的数据分散存储到多个数据库中,从而实现...原创 2019-11-17 09:55:25 · 481 阅读 · 0 评论 -
《设计模式》- 合理构建代码结构
一说起设计模式,也许很多人都不知晓或者认为高大上,其实并不是。设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。当你知道了这些设计模式后,在开发过程中会不自然的遇到和用到,理论结合实践,加深对其的理解。一、面向对象设计原则1 单一职责原则2 里氏替换原则...原创 2019-09-22 08:43:07 · 330 阅读 · 0 评论 -
《重构-改善既有代码的设计》总结
一个好的研发工程师,不仅要懂得写代码,而且要懂得写好的代码,更要有产品思维和测试思维。——佚名一、前言1 什么是好的代码? 代码块长度适中 代码逻辑清晰 函数名称语义化 变量名称语义化 ... 以上都是好的代码应该具备的特征!2 NIH综合征开发过程中都会遇到不好的代码,其实也不是不好,只是限于当时的环境无法做到更好,如果在遇到不好的代码,一直抱怨而不进行重构,就擅自编写...原创 2019-09-12 07:21:27 · 338 阅读 · 0 评论 -
Go基础理论
1 简介go or golang, 出自google的开源编程语言主要目标是“兼具 Python 等动态语言的开发速度和 C/C++等编译型语言的性能与安全性”Go 语言是 Google 公司开发的一种静态型、编译型并自带垃圾回收和并发的编程语言。不但能访问底层操作系统,还提供了强大的网络编程和并发编程支持。Go 语言的用途众多,可以进行网络编程、系统编程、并发编程、分布式编程编译型语言...原创 2019-06-22 08:42:43 · 581 阅读 · 0 评论 -
内存对齐
一 内存形式编程者看内存的方式cpu看内存的方式二 内存不对齐的弊端If you don’t understand and address alignment issues in your software,the following scenarios, in increasing order of severity, are all possible:1 Your sof...原创 2019-06-07 13:11:05 · 483 阅读 · 0 评论 -
TDD, ATDD and BDD
几种常见的敏捷开发模式(Agile Software Development)介绍TDDTest-Driven Development(测试驱动开发),从测试的角度来检验整个项目。大概的流程是先针对每个功能点抽象出接口代码,然后编写单元测试代码,接下来实现接口,运行单元测试代码,循环此过程,直到整个单元测试都通过ATDDAcceptance Test-Driven Development ...原创 2018-09-22 09:08:55 · 702 阅读 · 0 评论 -
PHP新垃圾回收机制:Zend GC详解
一、概述      在5.2及更早版本的PHP中,没有专门的垃圾回收器GC(Garbage Collection),引擎在判断一个变量空间是否能够被释放的时候是依据这个变量的zval的refcount_gc的值,如果refcount_gc为0,那么变量的空间可以被释放,否则就不释放,这是一种非常简单的GC实现。然而这种GC实现方案中,...转载 2018-08-30 16:24:19 · 5302 阅读 · 3 评论 -
NIH综合征
NIH(not invented here),非我所创。 研发人员经常受到NIH综合征的影响。在查看别人编写的软件解决方案时,认为自己完全可以做得更好。也许他真的能更为痛快利落地完成这项工作,但他并不知道开发人员当时面临的限制条件。可能迫于时间或预算的压力,只能集中精力处理这个解决方案中的某些特定部分。NIH综合征的特点就是为了证明自己能够提供更加卓越的解决方案而放弃其他开发人员已经完成的工...原创 2018-07-03 22:10:17 · 1518 阅读 · 1 评论 -
TCP的三次握手与四次挥手
转载自:TCP的三次握手与四次挥手(详解+动图) TCP的概述 TCP把连接作为最基本的对象,每一条TCP连接都有两个端点,这种断点我们叫作套接字(socket),它的定义为端口号拼接到IP地址即构成了套接字,例如,若IP地址为192.3.4.16 而端口号为80,那么得到的套接字为192.3.4.16:...转载 2018-06-16 11:56:44 · 279 阅读 · 1 评论 -
抽象类与接口区别
接口和抽象类的设计目的就是不一样的。 接口是对动作的抽象,而抽象类是对根源的抽象1.抽象类和接口都不能被直接实例化 2.抽象类要被子类继承,接口要被子类实现 3.接口里面只能对方法进行声明,抽象类既可以对方法进行声明,实现 4.接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法 5.类可以实现很多个接口,但是只能继承一个抽象类 6.类如果要实现一个接口,它必...原创 2018-03-15 22:47:24 · 268 阅读 · 0 评论