- 博客(292)
- 资源 (4)
- 收藏
- 关注
转载 Socket心跳包机制
心跳包的发送,通常有两种技术方法1:应用层自己实现的心跳包由应用程序自己发送心跳包来检测连接是否正常,大致的方法是:服务器在一个 Timer事件中定时 向客户端发送一个短小精悍的数据包,然后启动一个低级别的线程,在该线程中不断检测客户端的回应, 如果在一定时间内没有收到客户端的回应,即认为客户端已经掉线;同样,如果客户端在一定时间内没 有收到服务器的心跳包,则认为连接不可用。方法2:TCP的KeepAlive保活机制因为要考虑到一个服务器通常会连接多个客户端,因此由用户在应用层自己实现心跳包,代码较多
2021-05-26 16:39:19
1492
原创 mysql 索引失效case 总结
日期类型可以直接和string格式的字符串比较select * from xxx where event_time>'2018-06-02' 可以使用索引, mysql默认会把后面的字符串转成date类型。可以使用between andselect * from xxx where date(event_time)>'2018-06-02' 不能使用索引如果时间戳日期和时间都要比较, 最好使用两个字段保存这个时间戳, 这样可以利用索引select * from xxx whe..
2021-04-30 15:53:47
449
1
原创 char *使用注意点
函数传递形参: char *a,如果是修改a指向的buffer内容是可以的, 但是a= (char*)malloc(sizeof(char)*5) 指向新的空间则不行, 有问题的。https://blog.youkuaiyun.com/z702143700/article/details/46628251/
2020-11-26 16:50:19
290
转载 linux内存管理——mmap函数详解
mmap函数是unix/linux下的系统调用。当存在客户-服务程序中复制文件时候,其数据流如下,要经历四次数据复制,开销很大。如果采用共享内存的方式,那么将大大优化IO操作,数据流变成了如下,数据只复制两次:映射文件或设备到内存中,取消映射就是munmap函数。语法如下:void*mmap(void*addr,size_tlength,intprot,intflags,intfd,off_toffset);intmu...
2020-08-24 15:19:37
380
原创 leetcode 题目解体思路总结(防忘记)
https://leetcode-cn.com/problems/is-subsequence/solution/dui-hou-xu-tiao-zhan-de-yi-xie-si-kao-ru-he-kuai-s/如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10 亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?思路:匹配到某一点时 待匹配的字符在长字符串中下一次出现的位置...
2020-08-06 23:00:28
194
原创 c 指针的指针
#include <stdio.h>#include <string.h>#include <stdlib.h>int main() { int var; int *ptr; int **pptr; var = 3000; /* 获取 var 的地址 */ ptr = &var; /* 使用运算符 & 获取 ptr 的地址 */ //tr = &ptr; pptr = mall.
2020-07-24 15:57:44
185
1
原创 linux top命令VIRT,RES,SHR,DATA的含义
VIRT:virtual memory usage 虚拟内存1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量RES:resident memory usage 常驻内存1、进程当前使用的内存大小,但不包括swap out2、包含其他进程的共享3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反4、关于库占用内存的情况,它只统计加载的库文件所占内存大小SHR:s
2020-07-07 17:56:26
242
原创 Linux ps 命令查看进程启动及运行时间
引言同事问我怎样看一个进程的启动时间和运行时间,我第一反应当然是说用 ps 命令啦。ps aux或ps -ef不就可以看时间吗?ps aux选项及输出说明我们来重新复习下ps aux的选项,这是类 BSD 风格的命令选项,因为不带“-”。通过 man 可以看到 aux 选项解释如下:a Lift the BSD-style "only yourself" restriction, which is imposed upon the set of all processes
2020-06-18 00:35:50
654
原创 高性能网络 | 你所不知道的TIME_WAIT和CLOSE_WAIT
本文是我将最近两篇文章,重新整理成一篇,方便收藏。如果你已经阅读过前两篇,并且已经做了收藏,可以重新收藏本文即可。你有收藏和整理文章的习惯吗?好好利用Evernote或者印象笔记,不要吝啬那点年费,你值得购买,并养成收藏和整理的习惯!本文源于大家在公众号里面的留言,既然很多人都搞不清楚TIME_WAIT和CLOSE_WAIT,那么小胖哥今天还是抽个时间,统一帮大家理理...
2020-04-24 14:55:18
312
原创 shell 正则捕获
我想从键值对语法中提取值对,但是我不能.我试过的例子echo employee_id=1234 | sed 's/employee_id=\([0-9]+\)/\1/g'但是,这给employee_id = 1234而不是实际是捕获组的1234.我在这里做错了什么?我也试过:echo employee_id=1234| egrep -o employee_i...
2020-04-07 22:16:33
1032
原创 为什么梯度反方向是函数值下降最快的方向?
https://blog.youkuaiyun.com/weixin_40807247/article/details/82755087
2020-02-26 01:07:48
352
原创 SVM的理解
SVM简单理解:https://blog.youkuaiyun.com/b285795298/article/details/81977271
2020-01-17 15:35:01
186
原创 超平面是什么?——理解超平面(SVM开篇之超平面详解)
研究了半天,终于对“超平面”有了个初步了解。n 维空间中的超平面由下面的方程确定:其中,w 和 x 都是 n 维列向量,x 为平面上的点,w 为平面上的法向量,决定了超平面的方向,b 是一个实数,代表超平面到原点的距离。且...
2020-01-11 23:34:05
1218
原创 学习动力~激励人物
汪总: 狠, 牛逼, 极致;danQing: 拼命, 勤奋, 专注效率;jianBang: ownership, 勤奋专注;GuoDong: 聪明且勤奋, 创业精神;WinterLucky: 勤奋, 坚韧;不努力进取, 何以立面?何以战敌?...
2020-01-11 22:03:21
335
1
原创 git代码同步
brew update: The following untracked working tree files would be overwritten by merge:$cd /usr/local$git fetch origin$git reset --hard origin/master
2020-01-08 15:30:50
231
1
原创 常用linux命令
linux下批量删除空文件(大小等于0的文件)的方法在 要查找的 文件夹 ,打开命令行:find . -name "*" -type f -size 0c
2019-12-26 17:32:24
151
原创 linux 命令小结
将命令的执行结果赋给变量,有2种写法,如下 1)A=`ls -la` 反引号,运行里面的命令,并把结果返回给变量 A 2)A=$(ls -la)
2019-12-24 11:00:37
140
原创 矩阵求导 cookbook
一、矩阵求导 一般来讲,我们约定x=(x1,x2,...xN)Tx=(x1,x2,...xN)T,这是分母布局。常见的矩阵求导方式有:向量对向量求导,标量对向量求导,向量对标量求导。1、向量对向量求导2、标量对向量求导3、向量对标量求导其他的可以参考wiki:维基百科矩阵求导公式二、几种重要的矩阵1、梯度(Gradient)2、雅克比矩阵(J...
2019-12-18 22:06:04
458
原创 标量、向量、矩阵求导(两种布局方式), 好文一篇
https://blog.youkuaiyun.com/a6822342/article/details/86299573###问题引入首先以一个网上很多博文引用的例子来开篇,例子见下图问题初试在了解向量和向量求导的时候,我看过以下一些公式:首先Ax是个m维的列向量,它对x求偏导是个列向量对列向量求偏导的格式,所以可以套用上述公式(10),那么得到的是:那么就转换成了标量对向量的...
2019-12-11 21:54:15
368
转载 Linux命令之--insmod命令
insmod命令-->install module的缩写,用来载入模块,通过模式的方式在需要时载入内核,可使内核精简,高效。此类载入的模块,通常为设备驱动程序.【insmod命令作用】静态加载就是把驱动程序直接编译进内核,系统启动后可以直接调用。静态加载的缺点是调试起来比较麻烦,每次修改一个地方都要重新编译和下载内核,效率较低。若采用静态加载的驱动较多,会导致内核容量很大,浪费存储空...
2019-11-29 21:45:41
946
原创 shell 远程执行命令
经常需要远程到其他节点上执行一些shell命令,如果分别ssh到每台主机上再去执行很麻烦,因此能有个集中管理的方式就好了。所以介绍几种shell命令远程执行的方法。前提条件:配置shell免密登录执行单条命令ssh user@remoteNode "df -h"执行多条命令ssh user@remoteNode "cd /home ; ls" #双引号,必须...
2019-11-26 16:54:52
1554
1
原创 shell 脚本函数 return 和 echo 的返回值区别
return 返回的是状态码,函数结束 return不返回函数返回值 可以在前面用 echo 返回函数返回值,return 返回指定函数退出状态码echo 返回的是函数返回值,函数退出状态码是函数最后一条命令的退出状态码...
2019-11-25 17:24:37
1749
原创 俞军关于企业本质的读书思考
关于企业本质的一点思考总体上,企业的本质,只在于两点:1. 发现市场获利机会。2. 生产效率高于市场。一、发现市场获利机会发现市场获利机会的路径有三种:洞察,其实是利用信息不对称获利。你知道哪里能买到便宜生产要素,你知道哪些用户更想要什么,你精通一种有用的新技术新方法新渠道,你知道什么约束条件将会变化,而别人不知道,这里就都有市场获利机会。试错,其实是因为信息不完全原理。...
2019-11-20 17:48:09
228
原创 什么是posix
在网上查到对于posix的介绍,来自《Linux内核设计与实现(第2版)》的第5章,就这部分来看,这本书估计不错。一般情况下,应用程序通过应用编程接口(API)而不是直接通过系统调用来编程。这点很重要,因为应用程序使用的这种编程接口实际上并不需要和内核 提供的系统调用对应。一个API定义了一组应用程序使用的编程接口。它们可以实现成一个系统调用,也可以通过调用多个系统调用来实现,而完全不使用任...
2019-11-20 16:20:53
333
原创 向量或矩阵的微分计算
内容来自维基百科度盘分享实际是以pdf保存的网页1.定义向量或矩阵微分类型(1)Scalar - by - Scalar实例:(2)Vector - by - Scalar实例:(3)Matrix - by - Scalar实例:(4)Scalar - by - Vector实例:(5)Vector - by ...
2019-11-06 20:17:46
930
原创 char * 与char [] 的区分以及如何对char *赋值
打代码时发现如下两个例子均为正确的赋值方式:char *p1 = "abc";char p2[] = "abc";然而p2中的值可以改变(例:p2[1] = 'd'),若想改变p1中的值(例:p1[1] = 'd')就无法编译通过。原因:char * 实际上定义了指向字符串的指针,由于指向的内容由编译器分配在文字常量区(存放常量字符串,程序结束后由系统释放)中,无法改变其值。c...
2019-10-31 14:48:41
443
原创 学习方法学习方法学习方法
重要的话说三遍写java 虚拟机的小伙子(https://github.com/asLody) 直接看源码, 一点一点扣, 最后也是成为了大牛(主观能动性高, 产出又牛逼, 说明姿势正确了, lody专访https://www.infoq.cn/article/2016/05/lody-interview), 这不正是自己擅长的场景吗?能够学习总结为自己所用, 很多人只是看了忘了也不能揉进自己...
2019-07-18 20:51:37
278
原创 事务的四种隔离级别
事务的四种隔离级别数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。Read uncommitted读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。事...
2019-07-12 00:34:25
224
原创 网络传输问题的思考
TCP的流量控制和拥塞控制机制https://www.cnblogs.com/kubidemanong/p/9987810.html: 写代码少了还真体会不到对应设计的良苦用心, 应对各种“场景”的思虑。之前在实验室的一次对话:XiaoLin:为何使用迅雷下载一开始感觉很慢, 后来飞快。清华的博士一下子就点明了是TCP的拥塞控制机制, 发送窗口是指数级增长(<...
2019-07-11 15:46:27
211
原创 问题:如何在分布式集群中生成全局唯一的ID?
https://www.cnblogs.com/haoxinyue/p/5208136.html方法一:UUIDUUID是通用唯一识别码 (Universally Unique Identifier),在其他语言中也叫GUID,可以生成一个长度32位的全局唯一识别码。//e493a18e-61d0-499a-87c1-650d03735edbString uuid = UUID.ran...
2019-07-10 11:38:29
356
原创 kcp协议详解
kcp协议是传输层的一个具有可靠性的传输层ARQ协议。它的设计是为了解决在网络拥堵情况下tcp协议的网络速度慢的问题。kcp力求在保证可靠性的情况下提高传输速度。kcp协议的关注点主要在控制数据的可靠性和提高传输速度上面,因此kcp没有规定下层传输协议,一般用udp作为下层传输协议,kcp层协议的数据包在udp数据报文的基础上增加控制头。当用户数据很大,大于一个udp包能承担的范围时(...
2019-07-09 17:20:06
463
原创 Kaggle 机器学习竞赛冠军及优胜者的源代码汇总
https://blog.youkuaiyun.com/qq_26898461/article/details/49275401阅读目录Algorithmic Trading Challenge25Allstate Purchase Prediction Challenge3Amazon.com – Employee Access Challenge6AMS 2013-2014 Solar En...
2019-07-09 14:14:56
1785
原创 static link:关于gcc连接静态库的几种方式
版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.youkuaiyun.com/10km/article/details/83239949开发一个应用程序不可避免要使用多个第三方库(library).默认情况下,gcc采用动态连接的方式连接第三方库,比如指定-lpng,连接程序就会去找libpng.so。gcc提供了一个-static参数,可以改变gcc默认的连接方...
2019-06-20 21:43:41
853
转载 C语言中函数返回字符串的四种方法
https://www.cnblogs.com/qingergege/p/6496683.html在讨论着四种方法之前,首先要对函数有一个简单的认识,无论是在形实结合时,还是在return语句返回时,都有一个拷贝的过程。你传进来的参数是个值,自然函数在工作之前要把这个值拷贝一份供自己使用,你传进来的是个地址,函数也就会拷贝该地址供自己使用。同样return返回时,如果返回一个值,函数会将该值拷...
2019-06-20 15:01:20
975
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人