- 博客(54)
- 收藏
- 关注
原创 多路复用三种模型——select、poll、epoll
在阅读libco协程库时,发现其是对epoll的封装,也就是用同步的方式写异步代码。为了便于复习啊,对三种复用模型进行了总结。selectselect函数原型int select(int maxfd, fd_set *readset, fd_set *writeset, fd_set *exceptset, const struct timeval *timeout);返回:若有就绪描述符则为其数目,若超时则为0,若出错则为-1maxfd 表示的是待测试的描述符基数,它的值是待测试的最大描
2021-03-01 15:30:19
710
原创 epoll两种模式区别-ET-LT
文章目录概述代码实例socket可读事件LT触发条件:socket可读事件ET触发条件:socket可写事件LT触发条件:socket可写事件ET触发条件:LT与ET模式应用场景LT模式下处理请求流程ET模式下处理请求流程参考概述epoll有两种工作模式:边缘触发模式(Edge Trigger,ET)水平触发模式(Level Trigger,LT) 默认模式这两中模式用电平来表示,LT模式:1. 低电平 => 高电平2. 处于高电平状态ET模式:1. 低电平 =>
2021-03-01 15:28:12
1065
原创 Effective C++ 2资源管理
13. 以对象管理资源为防止资源泄露,请使用RAII对象,它们在构造函数中获得资源并在析构函数中释放资源两个常被使用的RAII class分别是tr1::shared_ptr和auto_ptr。前者通常是比较佳的选择,因为其copy行为比较直观。若选择auto_ptr,复制动作会使它指向null。本章节主要讲述以下几点:通过一个例子,讲述资源泄露的情况!!!针对以上情况,我们通过auto_ptr来解决,同时介绍了auto_ptr的行为;其次,通过shared_ptr来解决上述问题,且介
2021-02-23 15:42:13
311
原创 Effective C++ 1 构造/析构/赋值运算
文章目录05:了解C++默认编写并调用哪些函数06:若不想使用编译器自动生成的函数,就该明确拒绝07:为多态基类声明virtual析构函数08:别让异常逃离析构函数09: 绝不在构造和析构过程中调用virtual函数10: 令operator=返回一个reference to *this11: 在operator=中处理”自我赋值“12: 复制对象时勿忘其每个成分参考05:了解C++默认编写并调用哪些函数编译器可以暗自为class创建default构造函数、copy构造函数、copy assignme
2021-02-22 21:01:15
180
原创 《CMAKE实践》读书笔记
《CMAKE实践》读书笔记简单cmake更好一点的cmake静态库与动态库使用静态库与动态库关于头文件与库文件搜索路径:FIND_PACKAGE命令使用参考简单cmake在开篇的思维导图中已经展示了该实例的文件布局。其中main.cpp/CmakeLists.txt内容如下所示:main.cpp#include <iostream>using namespace std;int main(){ std::cout << "hello world" << e
2021-02-01 20:31:12
222
原创 Mysql6连接及其优化
文章目录前言join语句的基本操作交叉连接自然连接ON连接外连接自连接join语句的优化Index Nested-Loop Join(NLJ)Simple Nested-Loop JoinBlock Nested-Loop Join(BNL)小表的定义Multi-Range Read 优化Batched Key Access(BKA)hash join参考前言在这之前,需要连接以下两个链接内容:explain的解释MySQL性能优化神器Explain使用分析join语句的基本操作交叉连接m
2020-12-28 22:34:45
243
2
原创 Msql5子查询
文章目录前言非关联子查询基础集合比较子查询关联子查询基础EXISTS关联子查询EXISTS与IN区别关联子查询作计算字段参考以下例子均基于 sql文件 GitHub 链接 表。前言子查询:无法直接从数据表中得到查询结果,需要从查询结果集中再次进行查询,才能得到想要的结果。这个就是子查询!根据子查询是否执行多此,可将子查询分为 关联子查询 和 非关联子查询。我的理解是这样的,我们可以抽象嵌套子查询语句为: 主查询 + 子查询 ,以下是我认为的抽象算法。非关联子查询,获取子查询结果集;f
2020-12-26 11:15:40
267
原创 Mysql4函数
文章目录前言基本函数聚集函数基本聚集函数对数据分组统计HAVING与WHERE的区别?参考前言函数的作用:把经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维护性。Mysql中内置函数如下:算术函数,顾名思义就是对数值类型的字段进行算术运算。常用的字符串函数操作包括了字符串拼接,大小写转换,求长度以及字符串替换和截取等。日期函数是对数据表中的日期进行处理。转换函数可以转换数据之间的类型。聚集函数:它是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是
2020-12-25 16:43:13
440
原创 Mysql3数据过滤
文章目录前言比较运算符逻辑运算符使用通配符进行过滤参考前言WHERE子句的基本格式如下:SELECT ……(列名) FROM ……(表名) WHERE ……(子句条件)本文将介绍子句条件的三种不同方式:比较运算符、逻辑运算符、通配符过滤;比较运算符Mysql中比较运算符的含义参见以下:等于:=不等于:!=小于:<大于:>小于等于: <=大于等于:>=指定在两数之间:BETWEEN为空指:IS NULL注意:BETWEEN边界:BETWEEN a
2020-12-25 16:37:38
119
原创 Mysql2数据检索
文章目录前言检索数据基本操作SELECT执行顺序参考前言首先,在SQL文件Github地址 下载SQL文件,然后use database_name,执行以下指令,创建数据表。# 执行mysql文件source /root/mysq_source/sql_heros_datamaster/heros_data_with_structure.sql后面,所有操作均基于该表执行。检索数据基本操作查询列SELECT name FROM herosorSELECT name, hp_max
2020-12-25 16:35:53
120
原创 面试算法——二分查找五题解
文章目录前言69.x的平方根367.有效的完全平方数33.搜索旋转排序数组74.搜索二维矩阵153.搜寻旋转排序数组的最小值参考前言二分查找前提目标函数单调性存在上下届能通过索引访问代码模板int binarysearch(const vector<int>& nums, int target) { int left = 0, right = nums.size() - 1; while (left <= right){
2020-12-25 16:32:35
219
原创 Go一:string,bytes string,rune的区别
文章目录Unicode和UTF-8有什么区别string,bytes string, rune区别参考Unicode和UTF-8有什么区别简单的说,Unicode是字符集UTF-8是编码规则其中,字符集:为每个 字符 分配一个ID (码点)编码规则:将码点转换为字节序列的规则。通俗点讲,就是,我们看到的所有 字符组成一个Unicode字符集合, 在这个集合里面,每个字符都有一个独特的编号。比如【知】的码点是30693(十进制),二进制为:111011111100101, 16进制为:
2020-12-24 10:41:45
474
原创 Mysql三种安装方法
文章目录yum安装mysql预编译版本安装1. 安装依赖2. mysql初始化3. 建立Mysql配置文件my.cnf4.启动mysql5. 环境变量6.重新初始化源码编译安装忘记密码了怎么办?参考yum安装mysqlyum安装相对来说比较简单,但是又诸多限制,比如,我们不能自定义数据保存、日志保存位置等。可在该页面,Mysql Community Downloads,下载相应的Repository,比如我是Centos,我们点击 MySQL Yum Repository。# 获取mysql rpm源
2020-12-23 21:29:19
259
原创 Linux操作——用户和用户组管理
文章目录大纲用户管理常用命令组管理命令用户切换用户配置文件介绍参考大纲用户管理常用命令常用命令如下:useradd 新建用户userdel 删除用户id 查看用户信息passwd 修改用户密码usermod 修改用户属性chage 修改用户属性useradd fzh :新建用户fzh,执行该命令后,系统作了三个主要工作:home目录下新建一个fzh目录。╰─# ls -al /home/fzhtotal 16drwx------ 2 fzh f
2020-12-22 16:36:02
280
原创 iptables之一基本概念
文章目录链与表的概念表和链关系规则参考想按照自己的思路写,但是水平不够,所以,本文算是笔记。如果您看到这篇文章,一定要看 参考:朱双印个人日志 —— iptables系列文章,写的非常好iptables其实就是一个能够给服务器提供防火墙功能得命令行工具,这个工具作用在 安全框架netfilter之上,netfilter位于内核空间,它主要有如下功能:网络地址转换数据包内容修改数据过滤在了解这个工具之前,我们先通过iptables -h 看看,iptables提供的命令有哪些。Usage
2020-12-20 21:05:54
219
原创 面试算法——贪心算法题解
文章目录贪心算法定义贪心算法的反例322.零钱兑换贪心算法案例874.模拟行走机器人[860. 柠檬水找零](https://leetcode-cn.com/problems/lemonade-change/)455.分发饼干122.买卖股票的最佳时机II55.跳跃游戏I45.跳跃游戏II参考贪心算法定义贪心算法是一种 在每一步选择中,采取在当前状态下最好或最优的选择,从而希望通过局部最优获取全局最优。比如,跳台阶II,每次,我们从区间中选择跳最远的。经典贪心算法实践:求图中的最小生成树, 求哈夫曼编
2020-12-17 15:26:59
655
原创 200岛屿数量 DFS解法
文章目录200岛屿数量解法一 深度优先遍历I解法二 深度优先遍历II参考200岛屿数量题目:给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ["0","0","0"
2020-12-15 11:20:16
156
原创 127单词接龙——广度优先解法
文章目录127.单词接龙解法一:广度优先I解法二:广度优先II参考127.单词接龙给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。以下两种方法最主要:注意word加入队列后,立马将其从集合set中删除,不然,会继续重复while循环。把beginword作为根节点,改变一个字符形成的新单词 newworld,如果在set里面
2020-12-14 16:57:01
208
原创 102.二叉树的层次遍历两种解法
文章目录102.二叉树的层次遍历二叉树节点定义广度优先遍历模板解法一:层次遍历方法解法二:前序遍历方法参考102.二叉树的层次遍历题目:给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。二叉树节点定义 * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), ri
2020-12-13 15:48:07
143
原创 windows虚拟机K8S集群配置前奏
文章目录虚拟机安装ssh:本地终端连接虚拟机zsh安装K8S安装过程笔记拉去镜像脚本复制虚拟机修改主机名修改网卡ip地址修改sshd监听地址virtualbox端口转发参考杂项:window 查看网卡:我的电脑——管理——设备管理器————网络适配器私有IP地址:A类: 10.0.0.0 ~ 10.255.255.255B类:172.16.0.0 ~ 172.31.255.255C类:192.168.0.0 ~ 192.168.255.255我觉得关于K8S安装的问题,在【参考】链接中能够
2020-12-08 20:53:38
611
原创 架构——负载均衡架构知识点索引
文章目录负载均衡架构分类HTTP重定向负载均衡DNS负载均衡反向代理负载均衡IP负载均衡数据链路负载均衡硬件负载均衡负载均衡算法轮询加权轮询负载最低优先性能最优类Hash类参考文章只是个人摘要,详细请见参考链接负载均衡架构分类负载均衡架构主要有以下几种:HTTP重定向负载均衡定义:来自用户的 HTTP 请求到达负载均衡服务器以后,负载均衡服务器根据某种负载均衡算法计算得到一个应用服务器的地址,通过 HTTP 状态码 302 重定向响应,将新的 IP 地址发送给用户浏览器,用户浏览器收到重定向
2020-12-07 13:43:55
421
1
原创 面试算法———回溯经典题目
文章目录分治模板[50.Pow(x, n) ](https://leetcode-cn.com/problems/powx-n/)[169. 多数元素](https://leetcode-cn.com/problems/majority-element/)78.子集17.电话号码的字母组合51.N皇后参考方法论:看题五分钟,不会做,看解析;先看中文站,再看国际站;选择最优解析;回头再来写面试四步走:和面试官,探讨题目限制条件;说说可能解,选择最优解;码字;跑测试用例分治模板C
2020-12-06 16:24:22
294
原创 面试算法——排列组合子集一锅端
文章目录78.子集90.子集II46.全排列47.全排列II39.组合总和40.组合总和II131.分割回文串参考方法论:看题五分钟,不会做,看解析;先看中文站,再看国际站;选择最优解析;回头再来写面试四步走:和面试官,探讨题目限制条件;说说可能解,选择最优解;码字;跑测试用例思维要点:不要人肉进行递归找到最近最简方法,将其拆解成可重复解决的问题(重复子问题)数学归纳法思维78.子集题目:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集
2020-12-04 20:11:05
279
原创 面试算法——递归解读
方法论:看题五分钟,不会做,看解析;先看中文站,再看国际站;选择最优解析;回头再来写面试四步走:和面试官,探讨题目限制条件;说说可能解,选择最优解;码字;跑测试用例背景思维要点:不要人肉进行递归找到最近最简方法,将其拆解成可重复解决的问题(重复子问题)数学归纳法思维找到一种写代码的感觉!!!void recur(int level, int param) { // terminator if (level > MAX_LEVEL) { .
2020-12-03 21:37:00
128
原创 面试算法——哈希表
文章目录[242. 有效的字母异位词](https://leetcode-cn.com/problems/valid-anagram/)49.字母异位词分组[1. 两数之和](https://leetcode-cn.com/problems/two-sum/description/)总结参考方法论:看题五分钟,不会做,看解析;先看中文站,再看国际站;选择最优解析;回头再来写面试四步走:和面试官,探讨题目限制条件;说说可能解,选择最优解;码字;跑测试用例242. 有效的字母异
2020-12-02 11:17:18
228
原创 面试算法——树的遍历大大大汇总
文章目录[94. 二叉树的中序遍历](https://leetcode-cn.com/problems/binary-tree-inorder-traversal/)[144. 二叉树的前序遍历](https://leetcode-cn.com/problems/binary-tree-preorder-traversal/)145.二叉树的后序遍历589.N叉树的前序遍历590.N叉树的后序遍历[429. N叉树的层序遍历](https://leetcode-cn.com/problems/n-ary-t
2020-12-02 11:10:44
119
原创 好香好香的编辑器vscode
其实吧,我特别喜欢vim,也特别想学习vim,让vim跟随我整个程序员生涯。但是我放弃了!!不想再折腾了,说下我对vim的看法吧。我对vim的捣鼓仅限于以下几个方面:简单指令:w,wq,q!,dd,yy,G,gg,^,$,a,i,I稍微复杂一点:代码块操作,光标的移动(单词,代码快)一些插件:...
2020-10-31 17:09:31
1803
4
原创 @[TOC] (极大似然估计VS贝叶斯推断VS朴素贝叶斯法)
几种估计极大似然估计贝叶斯推断朴素贝叶斯法极大似然估计知乎玩家霍华德对极大似然估计理解知乎玩家马同学对极大似然估计理解通过事实,推断出最有可能的概率情况,就是最大似然估计。我觉得霍华德那个例子最有助于理解极大似然估计!!!!我们丢100次硬币,出现正面的次数为535353,出现反面的概率为474747,记,正面出现的概率为μ\muμ,则有似然函数:P(D∣μ)=μ53×(1−μ)47...
2020-04-16 19:16:20
125
原创 重要论文——Dynamic Filter Networks
2016 NIPS ESAT-PSI, KU Leuven, iMinds这篇文章,作者针对 以往的卷积操作中的卷积核,经过训练以后就是固定的,因此作者,提出一个 Dynamic Filter Networks,这个模型中的卷积核是 可学习的。我们来看一下这篇文章的方法:Method从上图可以看出, Dynamic Filter Networks包含两部分:Filter-genera...
2019-08-03 21:53:24
3884
11
原创 超分辨率——Meta-SR: A Magnification-Arbitrary Network for Super-Resolution
2019 CVPR University of Science and Technology of China这篇文章,作者针对 以往的文章,都是针对于不同的scale factor,需要训练出一个不同的模型,因此作者提出Meta-SR,这种方法,是不同的scale factor只需要训练出一个模型。这篇优秀的文章,需要把论文小标题理一下:AbstractIntroductio...
2019-08-03 21:19:55
643
原创 超分辨率——Dual Residual Networks Leveraging the Potential of Paired Operations for Image Restoration
CVPR 2019 Tohoku University怀着敬意读完这篇文章~我觉的,这篇文章相对来说是一篇 总结性的文章,所以没有,作者针对 某一问题,而提出某个结构这个环节。如果硬要说,作者怎么会想到这个点的话,应该像论文说的一样,看到 up and down-sampling、large- and small- size kernel相关的论文,联想到,将每一部分想象成一个容器,针对不...
2019-07-31 21:50:52
1028
原创 超分辨率——Attention-based Adaptive Selection of Operations for Image Restoration in the Presence
2019 Tohoku University这篇文章,作者针对 以往的文章,往往只是考虑单一的退化模型,但是,真实环境中,退化的种类有很多,因此,作者提出 Adaption selection of operations(我觉得,这是强行瞎扯,怎么退化的多样性,可以通过并行的几种操作显示出来呢!!),我们来看一下作者提出的模型。Method和以往的一样三层,提取层、非线性层、输出层...
2019-07-31 19:59:43
589
原创 超分辨率——FC2N: Fully Channel-Concatenated Network for Single Image Super-Resolution
2019 中国电子科技大学作者针对于 目前很多超分辨率文章,通过增大模型的深度或者宽度(利用残差模块),提高模型性能,作者认为,即使这样,residual block的短链接限制了模型的表达能力,因此作者提出了FC2NFC^2NFC2N模型,这个模型利用 short skip 和 global skip,另外,feature map 融合通过cat,而reidual net 是通过add。...
2019-07-31 19:42:53
1298
7
原创 超分辨率——Feedback Network for Image Super-Resolution
背景作者认为,目前,超分辨率重建方面的文章已经是非常多了,但是,却很少有文章利用 反馈机制,因此作者,提出基于RNN的feedback模型。退化模型作者采用三种退化模型产生低分辨率图像:通过bicubic 下采样操作,形成低分辨图形,作者称为:BI对高分辨图像进行Gaussian blur操作,后进行下采样操作对高分辨率图像加Gaussian noise后,再进行下采样操作模型介...
2019-07-31 16:30:48
1331
原创 超分辨率——Distilling with residual network for singe image super resolution
2019 ICME CCF B类会议这篇文章 针对当前应用residual网络的模型中,参数太多,训练不够稳定,因此,提出distilling residual block像以往的一样,首先介绍下论文布局:AbstractIntroductionDistilling with residual networtNetwork ArchitectureResidual Distin...
2019-07-30 14:50:22
433
原创 深度学习———显卡AND GPU
参考地址:https://zhuanlan.zhihu.com/p/31558973简介在训练深度学习网络过程,常常听到朋友说卡,这里的卡就是显卡,显卡包括显存和GPU。像1080Ti卡显存是11GB,2080Ti显存卡同为11GB。 GPU计算单元,用来数值计算的,常常这样表示:一秒钟能进行多少个浮点数先乘再加,这样一次计算表示为一个flop。深度学习过程中,常用的数值类型是 float3...
2019-07-25 20:22:02
3184
原创 超分辨率——综述文章
参考地址:https://www.jiqizhixin.com/articles/2019-03-15-7超分辨率研究的意义超分辨率研究的问题是 将低分辨率的图像重建为高分辨率的图像。这种操作主要有这么几种应用场景:图像压缩方面,在传输过程中可以只传输低分辨率的图片,然后通过重建操作得到高分辨率图像。低分辨率图像相比高分辨率图像来说,减少网络负载。医学图像方面,可以通过设备得到低分辨率图...
2019-07-24 20:05:04
5134
原创 分割论文——2018——Autofocus Layer for Semantic Segmentation
摘要:这篇文章提出Autofocus Layer 的操作,这个层的创新点是可以通过 上下文信息提取不同感受野信息。 这里扩大感受野不是通过 扩到卷积核地形式实现地,而是通过dilation的方式实现。 很自然,当并行有多个卷积层时,参数一定会非常的多,因此作者采取 参数共享的方式。介绍介绍里面讲到,有很多文章关多尺度处理文章,当时卷积神经网络,作者将其分为三类,1. 金字塔多尺度处理操作,2...
2019-07-20 17:09:38
962
8
原创 测试模块的编写
比起写好所有的程序后整体调试,单元测试显示了它的优势,比如在深度学习的代码中,比较重要的两大块是:数据集模块、网络结构模块。pytorch中,写好数据集模块时,会测试‘__getitem__功能,这个时候可以用到unittest和IPython。以下时今天写的要给关于眼底的数据集测试:import sys import unittest # 如果没有此条,会出错# sys.path....
2019-07-09 22:37:32
1523
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人