自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梁赞

think BIG think looooong

  • 博客(19)
  • 收藏
  • 关注

原创 Sprite 拼合图

Sprite:原意是精灵,也是著名饮料“雪碧”的英文名。在Web前端领域,Sprite图是指一张摆放了很多icon的图片,中文称为“拼合图”,如下图所示。之所以要把很多icon拼成一张大图,是为了减少客户端请求的次数,客户端一次请求就把所有的icon拉到本地。这是HTTP优化技术的常用伎俩之一,具体可参见:[2] “图片合并”小节。【参考文献】[1] 精灵图. https:...

2018-09-25 13:19:17 1281

原创 B/S和C/S理解

C/S: Client / Server,客户端 - 服务器。B/S: Browser / Server,浏览器 - 服务器。这2种架构的区别在于客户端这一侧。实际上,你可以认为:C/S是胖客户端模式,B/S是瘦客户端模式。有多“瘦”呢?瘦到只剩下一个浏览器!① 从用户的角度看,浏览器的作用就是:用户输入一个域名,就能得到一个页面或者文件。即是说,B/S模式把客户端行为简化到只剩下...

2018-09-11 11:05:52 2114

原创 最精简的C语言HTTP开源库 -- tinyhttpd

这个库的实现,其最大的作用是告诉我们:HTTP协议本质上是一个文本协议,解析对方发来的内容的过程,其实是在做字符串匹配。关键词:HTTP、多线程、多进程、CGI、0.这个库写于1999年,那一年QQ才刚出现,可以说是祖师爷级别的网络库了。1.这个库没有解析HTTP Header和Body,仅仅根据Request Method和Request URL来判断是调用CGI程序,还是返回文件内...

2018-09-02 13:11:34 15012 1

原创 秒懂URI和URL区别

假设URL = "https://www.csdn.net/foo/bar/file?k1=v1&k2=v2",则:URI = "/foo/bar/file",URI Param = "k1=v1&k2=v2",Host = "www.csdn.net".

2018-06-20 15:49:03 411

原创 带宽与流量的关系

带宽的单位:bps流量的单位:b或B换算公式:流量 = 带宽 * 时间

2018-05-22 20:56:31 5025

原创 UDP是否可以使用select/epoll?

【给出答案】1. UDP也可以使用select/epoll;2. 但是,通常没有这个必要。Richard Stevens在不朽的经典《Unix网络编程卷一》中已经说了:“大多数情况下,TCP服务器是并发的,UDP的服务器是迭代的。”说白了,UDP没有必要使用多路复用。【TCP&UDP网络编程模型】TCP(多路复用模型):srv_sock = create();bind(srv_sock,...

2018-05-20 18:50:51 4412 1

原创 我们为什么用Redis?

1. 和内存一样快的永久存储:    共享内存、Redis,排除Memcache(非永久),排除MySQL(不够快);2. 功能丰富强大、方便易用的数据操作接口,出问题可以迅速进行人工干预:    排除共享内存(接口太简陋)。3. 将数据和代码逻辑分离    这一点不是Redis独有,而是互联网业务系统设计的常识,即逻辑层和数据层分离。即使你不用Redis,也要把做这一步,而不是把数据简单地存储在...

2018-05-18 20:26:22 352

原创 什么是DC / AC / OC 机房?

【共同点】1. 这3个单词都是指“机房”,更装逼但是更准确的说法,应该叫“数据中心”,因为机房就是存放数据的地方。2. 最常用于CDN话题,但不局限于CDN;它们本质上代表了互联网数据存储的“层级结构”。3. 其目的是为了给用户更快速获取数据的体验,所以一般互联网公司采取的方式是自建,以保证自己的用户有最佳接入点。【区别】DC: Data Center(主数据中心)       一级节点,建设在特...

2018-05-17 00:14:44 19832

原创 最佳实践之带宽优化“三板斧”

目标:本文尝试总结互联网顶级应用在优化带宽上的惯用手法。注意:这些手法看起来平平无奇,但是确实有效地为公司和用户节省了带宽,是“简单粗暴有效果”的最佳实践。1. 图片压缩:特别是GIF动图的压缩,使用HEVC代替WebP;2. 视频压缩:使用H264,甚至H265;3. 减少CDN回源;4. 高峰期预加载;5. 边下边播;6. P2P技术;...

2018-05-15 00:58:15 1065

原创 高并发WEB服务器设计

目标:考虑设计一个高并发WEB服务器框架,有哪些惯用的手法?希望在本篇文章给出一个标准答案。关键词: 迭代模型,并发模型,I/O多路复用,线程池,协程WEB服务器步骤:1. accept2. read:又称为recv3. decode:反序列化4. compute5. encode:序列化6. write:又称为send网络事件无非如下:1. accept:新连接2. read:连接可读3. 连接...

2018-05-14 00:50:36 1768

原创 为什么Lua的字符串连接符是两个圆点(..)

xx

2018-05-10 17:55:43 12179 2

原创 半小时快速上手Scala

本文总结Scala在语法上的新特性,以达到看得懂Scala程序的地步(Scala有些写法确实是比较骚气~)。    Scala的语法之所以显得骚气,是因为它的某些关键字或者运算符我们不认识,看起来更接近人类语法,比较随意不固定。    当我们学习的语言多了之后,就会有比较广阔的见识,当然也会有门户之见,对某些新语言的某些语法嗤之以鼻。但是,新语言(像Scala、Go)的出现,带给我们的知识冲击,一...

2018-04-23 10:27:56 644

原创 日知录

仅以本文,记录工作中遇到的那些坑,要么是Bug要么是问题,以及,积累的工作思路:--------------------------------------------------------------------------------【日知】不要忽略大脑一闪而过的问题,要尽快扑灭!【事件】日志实时入库代码,过滤掉了客户端ip为127.0.0.1的量。后来发现是代表https的流量。【结论】程...

2018-04-13 01:05:23 409

原创 什么是长连接 | 短连接?

某些朋友对长、短连接的概念存在误解,下面我们尝试厘清这2个概念。1)一般情况下,Client成功连接到Server后,会发送1个或几个请求,收到Server端1个或几个应答;然后!就会非常识趣地马上调用close()关闭连接了。这就叫短连接。2)某些情况下,如果Client有很多数据要传给Server或者从Server获取,就不甘心于只是发送几个请求,在相当长(几秒,几分钟,甚至几个小时)的时间内...

2018-04-09 00:29:08 3267 1

原创 最佳实践之分库分表

1.为什么分库分表(Sharding)?   1)最重要的就是扩容,希望从1TB扩容到100TB;   2)提高性能。准确地说,是提高单表性能。因为分完之后,单个库或表的数据量就降下来了。代价是,以前的单表操作可能变成跨库或跨表,所以要谨慎。2.分库还是分表?    分库和分表的区别是,分库更重量级。因为当client发起"多库操作"时,需要发起多个数据库连接;而如果client只是进行同一个库里...

2018-04-02 20:51:39 706

原创 什么是拨测

这里仅从互联网服务的角度来理解。总结:拨测是一种网络链路质量的测试手段。拨测,非常类似于爬虫,更准确地讲,非常类似于黑客控制“肉鸡”发起DDos攻击。这里的“肉鸡”,就是某个互联网服务的客户端,比如PC端、手机端。目的:探测各地区用户到各个服务接入点的链路状况,这样,服务调度系统就可以根据探测结果为用户提供最佳的接入点。注意:拨测会占用网络资源,应该选择在空闲时间段进行;拨测也会消耗“肉鸡”的网络...

2018-03-29 11:42:12 51023 1

原创 Nginx设计精髓

       阅读陶辉老师《深入理解Nginx》一书时,有一个问题一直困扰着我:Nginx这么牛逼,究竟是如何做到的?是用了什么先进的架构?还是什么独门的奇技淫巧?        带着这个问题读完了这本书。现在,我把我的发现罗列如下(按重要性排序):1.可介入        将HTTP请求处理流程分阶段,设计成可介入、可埋点、类似netfilter的设计,为Nginx丰富多样的HTTP功能(反向代...

2018-03-19 23:51:30 271

原创 独家:程序员进阶书单

互联网太大,中国IT书籍的质量大多很差,好的东西容易被淹没。希望把一些好书罗列归档,尽一把力让后来人少走弯路。顺便吐槽某些作者和翻译,语文都没过关就敢写书,瞧你们写的什么JB玩意儿!----------------------------------------------------------------C陷阱与缺陷Unix环境高级编程,Richard Stevens深...

2018-03-15 00:15:21 3897

原创 Source Insight 4.0 统一字体大小

新版4.0的Source Insight做了很大的改变,安装之后,各种类型的标识符字体大小不一,看着很难受。网上搜了一圈居然没有找到设置统一字体大小的教程,看来一代神器SI越来越少人用了。。。闲话少说,Source Insight 4.0 设置统一的字体大小的教程如下:View -> Mono Font View这下各种标识符都是一样大小了,看着舒服多了!...

2018-03-03 21:02:35 18545 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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