Mark_Melon
码龄11年
关注
提问 私信
  • 博客:122,540
    122,540
    总访问量
  • 20
    原创
  • 2,278,233
    排名
  • 16
    粉丝
  • 0
    铁粉

个人简介:分享可以让自己变得更强

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2014-04-08
博客简介:

u014609111的博客

查看详细资料
个人成就
  • 获得38次点赞
  • 内容获得8次评论
  • 获得96次收藏
创作历程
  • 13篇
    2021年
  • 1篇
    2019年
  • 5篇
    2017年
  • 21篇
    2016年
成就勋章
TA的专栏
  • redis
    1篇
  • 文件
    1篇
  • linux
    2篇
  • mysql
    1篇
  • go
    1篇
  • 算法
    19篇
  • 知识点
    9篇
  • web安全
    5篇
  • web后端
    1篇
  • es
    1篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

redis原子操作&lua脚本

一、背景在koala项目中, 很多处用到了redis锁, 比如ota升级、获取photo表的自增id、控制翻译加载等, 多数用法示例如下:这种用法, 通过expire设置过期时间来防止未释放锁带来的问题, 但引来了其他问题:setnx 与 expire分开调用,不能保证原子性, 因此可能存在expire未成功调用且锁未成功释放的问题二、调研2.1、将setnx 与 expire组合成原子操作的方法 redis版本>=2.6.12后(我们用的是3.0.6版本),...
原创
发布博客 2021.06.29 ·
296 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

关于双网卡Gateway的调研

一、问题问题描述:配置网卡eno1 ip: 10.171.16.65/24 gateway: 10.171.16.65 配置网卡enp1s0 ip: 192.168.1.99/16 gateway: 192.168.1.1 结果 enp1s0 能ping通 eno1 不能ping通 二、 排查原因查看路由表如下图:Metric解释:路由距离,到达指定网络所需的中转数。 也可以理解为路由成本、优先级(越小优先级越高) 可以发现,...
原创
发布博客 2021.06.29 ·
680 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

网络配置Netplan-ubuntu18.04

一、 获取当前配置# part1 NetCardName // 网卡名 IP // IPv4/IPv6地址SubnetMask // IPv4/IPv6子网掩码MTU MAC // MAC地址# 通过系统调用获取, 用的go原生包获取, 可以用系统命令ifconfig来对比查看, 如下security@DEFAULTSTRING:~$ ifconfigenp1s0: flags=4163<UP,BROADCAST,RUNNIN
原创
发布博客 2021.06.29 ·
2019 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

web大文件上传方案

一、前言我们在web项目开发时,基本都会有文件上传的功能,但大部分都是比较小的图片上传, 如果直接上传比较大的文件(以GB为单位),基本上会被服务器拒绝,即使服务器调整 post body size 那也会有连接超时的问题, 并发请求时甚至还会导致服务cpu、内存的过高增长, 从而影响整体服务。这时我们就需要专门处理大文件的上传问题。 二、总体思路由前端将大文件分成多个小文件上传,上传完成后由服务端合并成一个大文件。前端计算文件的 sha256 值 请求服务器创建上传任务 服务器根...
原创
发布博客 2021.06.29 ·
997 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

gevent文件读写坑点

参考解释为什么gevent的monkey patch不会自动把阻塞的file descriptor设置成非阻塞https://github.com/gevent/gevent/issues/1070如何open一个非阻塞file descriptorhttps://stackoverflow.com/questions/9259380/how-to-write-to-a-file-using-non-blocking-ioIIs the write() function in C blockin
原创
发布博客 2021.06.25 ·
629 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

orm/事务/session 规范

0、 ORM join使用规范示例0.1 不允许超过两张表进行join操作0.1.1 问题描述0.1.2 问题复现示例0.1.3 问题解决方案及结果对比一、orm使用规范1、事务中同时包含读写操作时, 要保证写操作在最后执行1.1、问题描述在同一个事务里执行select操作会把数据flush到db, 但由于事务的隔离级别,导致其他事务并不能查到此数据, 直到commit之后才可以看到这可能会导致一些查询事务跳过后commit的数据1.2、问题复现示例...
原创
发布博客 2021.06.17 ·
421 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

go知识点

以下代码能编译过去吗?为什么?package mainimport ( "fmt")type People interface { Speak(string) string}type Stduent struct{}func (stu *Stduent) Speak(think string) (talk string) { if think == "bitch" { talk = "You are a good boy" } else { talk = "hi"
转载
发布博客 2021.06.06 ·
98 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Gitlab CI/CD

一、目的自动打包服务, 减少人工干预,节省时间成本, 降低错误率 自动执行单元测试, 给出覆盖和执行情况 可拓展其他功能: 比如代码规范检查等二、流程三、关键设施构建方法3.1 gitlab runner本地安装: # 1 添加仓库curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash # ...
原创
发布博客 2021.05.18 ·
217 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

单元测试标准

一、基本准则1、自动化的单元测试应该能够自动地运行,从准备数据到执行测试到检查结果这一整个过程都不需要人工干预。首先,调用测试的过程必须是自动化的,不需要任何人工干预,例如人工输入参数值或回答YES/NO。对于测试所需要的任何预设条件(例如创建一个临时文本文件并输入指定内容)等等,都应该成为单元测试自身的一个自动化组成部分。配合自动化构建工具,能够做到一键执行整个项目的全部单元测试并生成测试报告。另一方面,检查测试结果也应该是自动化的,测试必须能够自己决定它是通过了还是失败了,而不需要人工确
原创
发布博客 2021.05.12 ·
2062 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

TCP 重传、滑动窗口、流量控制、拥塞控制

简书最近不太稳定,未防止资源丢失, 转载自:https://www.jianshu.com/p/5b07a2f05771【图解】你还在为 TCP 重传、滑动窗口、流量控制、拥塞控制发愁吗?看完图解就不愁了 - 小林coding - 博客园正文相信大家都知道 TCP 是一个可靠传输的协议,那它是如何保证可靠的呢?为了实现可靠性传输,需要考虑很多事情,例如数据的破坏、丢包、重复以及分片顺序混乱等问题。如不能解决这些问题,也就无从谈起可靠传输。那么,TCP 是通过序列号、确认应答、..
转载
发布博客 2021.04.27 ·
286 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

kafka集群 leader选举机制(浅显易懂)

为防止资源找不到,转载自:https://my.oschina.net/u/3070368/blog/4338739Kafka 几大概念Topic(主题) Kafka 中可将消息分类,每一类的消息称为一个 Topic,消费者可以对不同的 Topic 进行不同的处理。 Broker(代理) 每个 Broker 即一个 Kafka 服务实例,多个 Broker 构成一个 Kafka 集群,生产者发布的消息将保存在 Broker 中,消费者将从 Broker 中拉取消息进行消费。 B.
转载
发布博客 2021.04.27 ·
7400 阅读 ·
5 点赞 ·
1 评论 ·
33 收藏

redis集群的对比

Redis Cluster 是一个分布式系统。由多个 Redis 实例组成的整体,数据按照 Slot 存储分布在多个 Redis 实例上,通过 Gossip 协议来进行节点之间通信。整理理解redis cluster 整体上还是一个哈希分布的方案,与 twemproxy,codis 没有本质区别, 不同的地方在于,客户请求不在通过代理节点转发,而是直接与对应槽位的节点处理 通过 gossip 来使得集群中的节点互相了解其他节点的状况,(节点的存活情况,所持有的槽位情况等)哈希方案:slot(.
转载
发布博客 2021.04.25 ·
236 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2021-03-29

RabbitMQ知识点 目录RabbitMQ知识点 RabbitMQ 的使用场景有哪些?RabbitMQ 有哪些重要的角色?RabbitMQ 的消息是怎么发送的?RabbitMQ 怎么避免消息丢失?RabbitMQ 怎么保证消息的稳定性?要保证消息持久化成功的条件有哪些?RabbitMQ 持久化有什么缺点?RabbitMQ 有几种广播类型?https://blog.csdn.net/weixin_30315435/article/details/960391...
转载
发布博客 2021.03.29 ·
101 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux系统 es5.0安装ik中文分词器

转自:https://www.cnblogs.com/wangchuanfu/p/7239165.html 文中有个错误 本文已经改正es5.0集成ik中文分词器,网上资料很多,但是讲的有点乱,有的方法甚至不能正常运行此插件特别注意的而是,es的版本一定要和ik插件的版本相对应:1,下载ik 插件:https://github.com/medcl/elasticsearc...
转载
发布博客 2019.08.05 ·
615 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

排序总结

各种排序的总结#includeusing namespace std;//直接插入排序void insertSort(int arr[] ,int size){ for(int i=1;i<size;i++){ int temp = arr[i]; int j = i-1; while(j >= 0 && arr[j] > temp){ arr[j+1] = arr[
原创
发布博客 2017.03.17 ·
291 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

机器人的运动范围

牛客上看到这样一道题:题目描述地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?解题思
原创
发布博客 2017.01.06 ·
311 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

矩阵中的路径

在牛客上看到这样一道题:题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串"bccced"的路径,但是矩阵中不包含"abcb
原创
发布博客 2017.01.06 ·
351 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

滑动窗口的最大值

牛客上看到这样一道题:题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1},
原创
发布博客 2017.01.06 ·
324 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据流中的中位数

在牛客上看到这样一道题:题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。解题思路:可能看到这道题的第一反应是,这没什么难度呀,题目都说了用排序了,时间复杂度nlogn,如果这么简单的话,这题就没什么必要出了。对于这种找出很
原创
发布博客 2017.01.05 ·
375 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

链表中环的入口结点

牛客上看到这样一道题:题目描述一个链表中包含环,请找出该链表的环的入口结点。思路分析:链表中有环的题目似乎也算是一个非常经典的面试笔试题了,也是很多人喜欢问到的, 这道题其实有很多思路       思路一:我的第一反应是用map或者set,遍历链表,把每一个节点映射到map中或者添加到set中,当要添加的节        点在map或者set中已经存在的时候
原创
发布博客 2016.12.28 ·
702 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多