- 博客(349)
- 收藏
- 关注
原创 谷歌浏览器 css样式布更新的解决办法
其实是浏览器缓存的问题,谷歌浏览器只需要按住ctrl+f5 就可以解决的, 嗨..............
2018-07-05 21:08:09 1670
原创 json 与jsonp的区别,以及使用场景
首先说说ajax,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服务器端代理来解决。 JSON(JavaScript Object Notation)和JSONP(JSON with Padding)虽然只有一个字母的差别,但它们不是同一件事情:JSON是一种数据交换格式,而JSO...
2018-07-04 14:59:30 2120
原创 html 中将静态资源放置在其他服务器上的优势和劣势
DNS 为域名解析服务, Domain Name Service, 其工作职责为把域名转换为对应的IP地址 即,当在浏览器中输入网址时, 浏览器会向DNS服务器发送解析服务,DNS服务器会将该域名对应的IP返回,那么如何查看DNS服务器的地址了,Win+R cmd ipconfig all这个时候,就可以查看自己的DNS服务器了 在html中,若页面中引用的资源放置在其他服务器上,可以减轻对自己...
2018-07-02 11:58:21 2366
转载 HLS协议,受益匪浅,向前辈致敬
今天来介绍一下HLS协议,这个协议是由苹果公司提出并推广开来的。来一段维基百科的定义。HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的...
2018-06-30 19:48:21 398
原创 javascript中的类型转换
数据类型间的转换 typeof(v) 获得v的类型 (1) 隐式转换 (2) 显示转换 toString() 将number, boolean 转换为一个字符串 var n1 = Number(In1) ; 将In1 转换成number parseInt() 将一个字符串解析为一个整数 parseFloat() 将一个字符串...
2018-06-29 17:21:24 185
原创 javascript中的流程控制
流程控制 (1) 条件分支 if(逻辑表达式) { 语句1; 语句2; } if (逻辑表达式){ }else{ } if (逻辑表达式){ }else if(逻辑表达式){ }else{ } switch-case: switch(var){ case 1: break; case...
2018-06-29 17:20:29 199
原创 javascript中的array
Array, array 也就是数组了,就是把一片连续的内存.等分成相同的大小,每个位置保存的是一元素, 因此不能扩大,不过可以新申请更大的空间,将原有内存复制到新的内存,并添加 新的元素 定义 var arr = []; 一个不包含元素的数组 var arr = [1,2,3]; 定义一个包含三个元素的数组 var arr = new Array(...
2018-06-29 17:19:29 197
原创 编写响应式网站的几点要素
编写响应式网站的几点要素(1) 在HEAD标签中声明viewport元标签 <meta name="viewport" content="width=device-width,init-scale=1,user-scalable=0" />(2) 不使用绝对的宽度,元素的宽度使用百分比 margin,padding 影响不大(3) 字体,要使用倍率, em e.g ...
2018-06-29 17:18:13 1701
原创 cdn概述
辞职在家,理理东西,理什么了,就cdn吧 对于CDN,汉语为内容分发网络,即Content Distribute Network,其用途为将资源内容,.从服务器传递到用户端,认识之前,应该要先说说互联网了吧,互联网我的理解是以tcp/ip为基础的狭义网络和由www构成的万维网构成,tcp/ip 用于计算机之间的互联,用于将各种信息以极低的成本进行传递,也就是自来水中的管道了,而...
2018-06-26 20:10:26 361
转载 时间轮详解
转载自:https://blog.csdn.net/paxhujing/article/details/52066620问题引入:游戏里面每个Player身上有很多buffs,在每一个tick(最小时间段)都要去检查buff里面的每一个buff是不是过期,产生的效果如何,造成在每个tick里面都去遍历一个长list,明显很不好。怎么优化?1.原始模型:buff的状态在每一个tick里面都要更新!可...
2018-06-09 05:55:36 4381
原创 redis 持久化之AOF功能
Redis 持久化 之 AOF功能AOF是 AppendOnly File的缩写,是redis系统提供了一种记录redis操作的持久化方案,该方案是确保redis重新启动或者宕机之后,继续恢复之前数据状态的机制 而AOF功能是需要在配置功能中开启才会有的,即在redis.conf中 Appendonly yes -- 打开aof设置,同时将快照功能置于低优先级的位置A
2018-01-20 21:26:49 391
原创 redis 之 auth
Redis之auth redis服务器才开始的时候,是没有密码验证的,只有在配置文件--redis.conf中,将requirepass的注释去掉,才会有进行验证的e.g.1 此处需要注意的是,这个文件的位置,当你安装后却不知道,redis.conf的位置的时候,可以用下面的命令来找到redis.conf的位置sudo find / -name
2018-01-20 21:23:34 935
原创 redis 之 append
Redis 之 append 如果key 不存在, 调用 append 命令 append key value会新建一个key, 并将value 设置为key的值,类似于set 如果key 存在, 调用 append 命令 append key value会新建一个key, 并将value 追加到key的值的后面,
2018-01-20 21:19:16 770
翻译 redis 中的hashtable
Redis中的hash hash 是一个 string 类型的 field 和 value 的映射表。添加,删除操作都是 O(1) (平均) 。hash 特别适合用于存储对象。相对于将对象的每个字段存成单个 string 类型。将一个对象存储在 hash 类型中会占用更少的内存,并且可以更方便的存取整个对象。省内存的原因是新建一个 hash 对象时开始是用zipmap(又称为
2017-10-13 15:16:05 3015
翻译 redis key相关的操作
exits key 检测指定 key 是否存在,返回 1 表示存在,0 不存在del key1 key2 ...... keyN 删除给定 key,返回删除 key 的数目,0 表示给定 key 都不存在 type key 返回给定 key 值的类型。返回 none 表示 key 不存在,string 字符类型,list 链表类型 set 无序集合类型......keys patt
2017-10-13 15:10:09 341
原创 实现负载均衡的六种算法
1、轮询法 将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。2、随机法 通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。由概率统计理论可以得知,随着客户端调用服务端的次数增多,其实际效果越来越接近于平均分配调用量到后端的每一台服务器,也就是轮询的结果。3、源地址哈希法
2017-10-10 17:37:40 2702
原创 LiteIde 编译golang程序提示缺少-i
今天觉得自己有必要再度深入学习golang 了, 但是用liteIDE,编写了一个简单的helloWorld程序, 但是提示编译的时候缺少 -i选项这个时候需要在设置里,的自定义项里面将 -i选项去掉然后程序就编译通过了
2017-05-08 13:23:06 530
原创 zmq_socket_monitor
*int zmq_socket_monitor (void '*socket', char * '*addr', int 'events'); 该api用于创建一个监听器,用于监听socket中的事件. 其事件有 MQ_EVENT_CONNECTED: connection established~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2016-12-12 09:40:58 2441
原创 zmq_msg_size
size_t zmq_msg_size (zmq_msg_t '*msg'); 该api用于获得指定msg的数据的大小.
2016-12-12 09:36:21 523
原创 zmq_msg_set
int zmq_msg_set (zmq_msg_t '*message', int 'property', int 'value'); 该api用于设置消息的属性. 成功返回的是0,失败返回的是-1.
2016-12-12 09:35:53 564
原创 zmq_msg_send
int zmq_msg_send (zmq_msg_t '*msg', void '*socket', int 'flags') 该api用于发送消息. fkags: ZMQ_SNDMORE: 指示着,该消息有多个帧 ZMQ_FONTWAIT: 指示着,该操作的是非阻塞的操作 成功返回的是接受到的字节数, 失败返回的是-1. example:
2016-12-12 09:35:24 2518
原创 zmq_msg_recv
int zmq_msg_recv (zmq_msg_t '*msg', void '*socket', int 'flags'); 该api用于接收消息flagZMQ_DONTWAIT: 指示着该操作为非阻塞的操作 成功返回的是0,失败返回的是-1. example: .Receiving a message from a socket----/*
2016-12-12 09:34:56 3404 1
原创 zmq_msg_init
int zmq_msg_init (zmq_msg_t '*msg'); 该api用于初始化一个空消息,其返回值总是0.
2016-12-12 09:34:24 816
原创 zmq_msg_move
int zmq_msg_move (zmq_msg_t '*dest', zmq_msg_t '*src');该api用于移动消息 成功返回的是0,失败返回的是-1 EFAULT: 无效的消息
2016-12-12 09:33:56 379
原创 zmq_msg_more
int zmq_msg_more (zmq_msg_t '*message');该api 检测是否有更多的消息,如果返回的是0则代表没有更多的消息了 zmq_msg_t part;while (true) { // Create an empty 0MQ message to hold the message part int rc = zmq_msg_ini
2016-12-12 09:33:22 793
原创 zmq_msg_init_size
*int zmq_msg_init_size (zmq_msg_t '*msg', size_t 'size'); 用指定的大小初始化消息. 成功返回的是0.失败返回的是-1
2016-12-12 09:32:46 971
原创 zmq_msg_init_data
int zmq_msg_init_data (zmq_msg_t '*msg', void '*data', size_t 'size', zmq_free_fn '*ffn', void '*hint') 该api用于将指定的数据包装成消息成功返回的是0,失败返回的是-1 example: void my_free (void *data, void *hint)
2016-12-12 09:32:04 818
原创 zeromq 之 zmq_msg_get
int zmq_msg_get (zmq_msg_t '*message', int 'property'); 得到某个消息的属性 ZMQ_MORE: 指示着还有消息 成功返回该属性的值, 失败返回的是-1.错误码有: EINVAL. 这个property是未知的 example: zmq_msg_t frame;while (tr
2016-12-12 09:31:22 509
翻译 ffmpeg之AVInputFormat结构体
typedef struct AVInputFormat { /** * A comma separated list of short names for the format. New names * may be appended with a minor bump. */ const char *name; // 封装格式名称
2016-12-11 17:38:49 1015
翻译 ffmpeg之AVIOContext
typedef struct AVIOContext { /** * A class for private options. * * If this AVIOContext is created by avio_open2(), av_class is set and * passes the options down to protoc
2016-12-11 17:30:26 641
翻译 ffmpeg之AVFormatContext结构体
typedef struct AVFormatContext { /** * A class for logging and @ref avoptions. Set by avformat_alloc_context(). * Exports (de)muxer private options if they exist. */ const
2016-12-11 16:50:43 499
原创 ubuntu 下 编译ffmpeg , 并且使用其中的库的配置
1. 编译ffmpeg,2. 导入相应的环境变量export C_INCLUDE_PATH=$C_INCLUDE_PATH:$HOME/ffmpeg/install/include export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH::$HOME/ffmpeg/install/include export LD_LIBRAR
2016-12-11 14:23:25 1129
原创 zmq中的zmq_msg_data
void *zmq_msg_data (zmq_msg_t '*msg') 该api的数据是用来获取消息中的数据 成功返回的是该消息中包含数据的指针
2016-12-09 14:36:18 1877
原创 zmq中的zmq_msg_copy
int zmq_msg_copy (zmq_msg_t '*dest', zmq_msg_t '*src'); 该api的作用是拷贝一个消息 EFAULT: 无效的消息
2016-12-09 14:35:22 307
原创 zmq中的zmq_msg_close
int zmq_msg_close (zmq_msg_t '*msg') 该api的作用是释放一个zmq的message 成功返回的是0,失败返回的是-1. EFAULT: 无效的消息
2016-12-09 14:34:49 625
翻译 zmq中的IPC
.Assigning a local address to a socket----// Assign the pathname "/tmp/feeds/0"rc = zmq_bind(socket, "ipc:///tmp/feeds/0");assert (rc == 0);---- .Connecting a socket----// Connect
2016-12-09 14:34:15 2967
原创 zmq 中的 inproc
.Assigning a local address to a socket----// Assign the in-process name "#1"rc = zmq_bind(socket, "inproc://#1");assert (rc == 0);// Assign the in-process name "my-endpoint"rc = zmq_bind
2016-12-09 14:33:43 2285
原创 zmq 中的 zmq_init
*void *zmq_init (int 'io_threads');* 用指定的线程数量,来初始化 context
2016-12-09 14:32:58 528
原创 zmq中的 zmq_getsockopt
*int zmq_getsockopt (void '*socket', int 'option_name', void '*option_value', size_t '*option_len');* 该api用于设置套接字的选项 option_name:ZMQ_RCVMORE: ZMQ_TYPE: socket的类型ZMQ_SNDHWM:ZMQ_IDENTITY
2016-12-09 14:32:18 2064 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人