06 2020 档案
摘要:前言 基于session/cookie的web网站认证方式转变为了基于OAuth2等开放授权协议的单点登录模式(SSO),相应的基于服务器session+浏览器cookie的Auth手段也发生了转变,Json Web Token出现成为了当前的热门的Token Auth机制。 Json Web To
阅读全文
摘要:转载:https://segmentfault.com/a/1190000014297111?utm_medium=referral&utm_source=tuicool 事情是这样的 一个人程序员,用golang写了个server,写完后...不会部署 : ) 是的,这个人就是我... 今天真的是
阅读全文
摘要:原文:https://mp.weixin.qq.com/s/GpVy1eB5Cz_t-dhVC6BJNw 作者:饶全成 Go 语言的 context 包短小精悍,非常适合新手学习。不论是它的源码还是实际使用,都值得投入时间去学习。 这篇文章依然想尝试全面、深入地去研究。文章相比往期而言,整体不长,希
阅读全文
摘要:切片简单介绍 slice 的底层数据是数组,slice 是对数组的封装,它描述一个数组的片段。两者都可以通过下标来访问单个元素。 数组是定长的,长度定义好之后,不能再更改。而切片则非常灵活,它可以动态地扩容。切片的类型和长度无关。 数组就是一片连续的内存, slice 实际上是一个结构体,包含三个字
阅读全文
摘要:值类型 值类型包括基本数据类型,int,float,bool,string,以及数组和结构体(struct)。值类型变量声明后,不管是否已经赋值,编译器为其分配内存,此时该值存储于栈上。值类型的默认值: var a int //int类型默认值为 0 var b string //string类型默
阅读全文
摘要:1、堆的定义 堆就是用数组实现的二叉树,所有它没有使用父指针或者子指针。 堆就是利用完全二叉树的结构来维护的一维数组。 创建一个堆除了一个简单的一维数组以外,不需要任何额外的空间。 如果我们不允许使用指针,那么我们怎么知道哪一个节点是父节点,哪一个节点是它的子节点呢?节点在数组中的位置index 和
阅读全文
摘要:对称加密 1.第一次传输对称密钥为明文传输,不安全。 2.密钥存储问题。 对称密钥的问题主要在于:在第一次传输密钥时,这个密钥怎么让传输的双方知晓,同时不被别人知道。 如果由服务器生成一个密钥并传输给浏览器,那这个传输过程中密钥被别人劫持弄到手了怎么办?之后他就能用密钥解开双方传输的任何内容了,所以
阅读全文
摘要:原文链接:https://segmentfault.com/a/1190000018448064 作者:薛薛薛 分断锁 type SimpleCache struct { mu sync.RWMutex items map[interface{}]*simpleItem } 在日常开发中, 上述这种
阅读全文
摘要:原文链接:https://zhuanlan.zhihu.com/p/37370601 作者:老钱 其他参考:https://www.cnblogs.com/zgq0/p/8780893.html 进程间通信的几种主要手段简介: 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关
阅读全文
摘要:1.多条件过滤 条件表达式: 等于:== 或者 eq 大于: > 或者 gt 小于:< 或者 lt 不大于: <= 或者 le 不小于:>= 或者 ge 不等:ne ||(或),&&(与),或者使用英文:and,or 例子:ip.src eq 192.168.1.107 or ip.dst eq 1
阅读全文
摘要:原文:【图解】你还在为 TCP 重传、滑动窗口、流量控制、拥塞控制发愁吗?看完图解就不愁了 作者:小林coding 拥塞控制 为什么要有拥塞控制呀,不是有流量控制了吗? 前面的流量控制是避免「发送方」的数据填满「接收方」的缓存,但是并不知道网络的中发生了什么。 一般来说,计算机网络都处在一个共享的环
阅读全文
摘要:原文:【图解】你还在为 TCP 重传、滑动窗口、流量控制、拥塞控制发愁吗?看完图解就不愁了 作者:小林coding TCP窗口 在tcp的首部有Window字段,也就是窗口大小。 这个字段是接收端告诉发送端自己还有多少缓冲区可以接收数据。于是发送端就可以根据这个接收端的处理能力来发送数据,而不会导致
阅读全文
摘要:最近一个网站功能用到到计时,如下所示: 原文: JS倒计时两种种实现方式 作者:黑仔002 用js就实现倒计时的两种方式: 一:设置时长,进行倒计时。比如考试时间等等 代码如下: 1 <html> 2 <head> 3 <meta charset="UTF-8"> 4 <title>简单时长倒计时<
阅读全文
摘要:作者:前程明亮 出处:http://www.cnblogs.com/0zcl 下载&目录 看bootstrap官网,接着我下载了用于生产环境Bootstrap: 解压出来是这样的: 目录结构大概是这样的,前几天在官网有看到。下面这个目录结构你应该先了解下: bootstrap3 ├── css │
阅读全文
摘要:TCP重传机制 在错综复杂的网络,并不一定所有的数据能正常的数据传输,万一数据在传输过程中丢失了呢? TCP要保证所有的数据包都可以到达,所以,必需要有重传机制。 常见的重传机制: 超时重传 快速重传 SACK D-SACK 而所有重传的机制都需要依赖通过序列号Seq与确认应答ACK。 在 TCP
阅读全文
摘要:转载自:http://www.cnblogs.com/WJ5888/p/4516782.html Redis中支持的数据结构比Memcached要多,如基本的字符串、哈希表、列表、集合、可排序集,在这些基本数据结构上也提供了针对该数据结构的各种操作,这也是Redis之所以流行起来的一个重要原因,当然
阅读全文
摘要:自动字节对齐 不想要字节对齐的时候,有没有办法取消字节对齐?答案是可以,就是在结构体声明当中,加上__attribute__ ((__packed__))关键字,它可以做到让我们的结构体,按照紧凑排列的方式,占用内存。来段实际代码: #include <stdio.h> #include <iost
阅读全文
摘要:介绍 Redis没有直接使用C语言传统的字符串而是自己创建了一种名为简单动态字符串SDS(simple dynamic string)的抽象类型(C语言封装的字符串类型),并将SDS用作Redis的默认字符串表示。 SDS是Redis默认的字符表示,比如包含字符串值的键值对都是由SDS实现的。 sd
阅读全文
摘要:前言 在版本3.2之前,Redis 列表list使用两种数据结构作为底层实现: 压缩列表ziplist 双向链表linkedlist 默认为linkedlist 在3.2之后,由quicklist实现。 双向链表linkedlist Redis实现的是标准的双向链表。 链表节点定义: 链表定义: 总
阅读全文
摘要:转载:消息队列消息积压了怎么办? 作者: 以梦为码 Q:刚开始是对这个疑问抱有质疑态度的,因为使用消息队列的其中目的就是削峰填谷,来避免高流量时,对下游服务的冲击,所以使用消息队列进行缓冲,下游根据自己的消费能力去消费, 我感觉这就是消息积压本就是使用消息队列的功能,怎么会是问题呢? A:首先消息积
阅读全文
摘要:转载:关于MQ的几件小事(五)如何保证消息按顺序执行 作者:一条路上的咸鱼 1.为什么要保证顺序 消息队列中的若干消息如果是对同一个数据进行操作,这些操作具有前后的关系,必须要按前后的顺序执行,否则就会造成数据异常。举例: 比如通过mysql binlog进行两个数据库的数据同步,由于对数据库的数据
阅读全文
摘要:1.mq原则 数据不能多,也不能少,不能多是说消息不能重复消费;不能少,就是说不能丢失数据。如果mq传递的是非常核心的消息,支撑核心的业务,那么这种场景是一定不能丢失数据的。 2.丢失数据场景 丢数据一般分为三种,一种是mq把消息丢了,一种就是消费时将消息丢了。下面从rabbitmq和kafka分别
阅读全文
摘要:keys命令 keys * 、keys id:* 分别是查询全部的key以及查询前缀为id:的key。 缺点: 1、没有 offset、limit 参数,一次返回所有满足条件的 key。 2.keys算法是遍历算法,复杂度是O(n),也就是数据越多,时间复杂度越高。 3.数据量达到几百万,keys这
阅读全文
摘要:明日更新文字。 建立反向索引 基于文件建立单词与文档的反向索引,使用集合存储。 # # #!/usr/bin/env python # # # -*- coding: UTF-8 -*- import jieba import codecs import redis import uuid #分词
阅读全文
摘要:转载地址:http://www.jb51.net/article/69131.htm 本文介绍redis排序命令 redis支持对list,set,sorted set、hash元素(元素可以为数值与字符串)的排序。 sort 排序命令格式: sort key [BY pattern] [LIMIT
阅读全文
摘要:新老朋友好久不见,我是大彬,这篇文章准备了很久,不是在拖延,而是中间做了一些其他事情,耽搁了一些。 这篇文章主要介绍Go内存分配和Go内存管理,会轻微涉及内存申请和释放,以及Go垃圾回收。 从非常宏观的角度看,Go的内存管理就是下图这个样子,我们今天主要关注其中标红的部分。 友情提醒: 文章有点长,
阅读全文