05 2020 档案

摘要:前言最近在刷leetcode的题,传入二维数组的形参都是一个二级指针,但如下代码时正常运行的。void testArray(int **array, int row, int col) { int i = 0, j = 0; for (i = 0; i #define ROW 3#define COL 2void testFunc1(int array[][COL], int row,... 阅读全文
posted @ 2020-05-30 04:08 一觉醒来写程序 阅读(6697) 评论(2) 推荐(2) 编辑
摘要:前言 我是一名后端开发工程师,主要语言是C、Go、Python。早年做C开发的时候都是在windows下开发,一直使用的是soure insight,尤其是时隔多年更新的4.0版本解决了中文乱码等问题,用起来更是得心应手。后来转到Mac下开发,虽然可以用wine运行windows程序,但总感觉别扭, 阅读全文
posted @ 2020-05-30 00:53 一觉醒来写程序 阅读(2719) 评论(0) 推荐(0) 编辑
摘要:一、strncpychar *strncpy(char *dst, const char *src, size_t n); 功能: 1)把src所指由\0结束的字符串的前n个字节复制到dest所指的数组中。 2)返回指向dest的指针(该指向dest的最后一个元素)说明: 1)如果src的前n个字节不含\0,则结果不会以\0字符结束(strncpy... 阅读全文
posted @ 2020-05-27 17:09 一觉醒来写程序 阅读(1780) 评论(0) 推荐(1) 编辑
摘要:0 前言 c语言中的优先级感觉太难记了,工作这么多年大部分是通过括号来区分,但难免会遇到考验优先级的时候,比如笔试题或是看其他人的代码。 这里总结一下优先级的口诀,方便记忆。口诀只是辅助记忆,而且自己总结的记忆深刻,因此对于我是是够用了,也许不一定适合你,但可以用作参考,总结出适合自己的口诀。 1 阅读全文
posted @ 2020-05-24 00:44 一觉醒来写程序 阅读(3819) 评论(0) 推荐(1) 编辑
摘要:本文转自:https://mp.weixin.qq.com/s/CXTedk3BAVNt0elOsaFccA做了略微的修改。1 WAF功能WAF全称叫Web Application Firewall,和传统防火墙的区别是,它是工作在应用层的防火墙,主要对web请求/响应进行防护。那么WAF有什么功能呢?防火墙都是防御性的产品,有防就有攻,要了解WAF有什么功能,就要从攻击者的角度去思考。攻击的目的... 阅读全文
posted @ 2020-05-22 15:08 一觉醒来写程序 阅读(27488) 评论(1) 推荐(1) 编辑
摘要:1 引言TCP/IP 协议目前已经被广泛的被应用,数据在网络上应用 IP 协议进行传输的时候,可能将数据分成多个数据包。对于UDP报文,超过MTU将会被IP分片,而TCP则不用考虑IP分片问题,TCP连接双方会相互通告MSS(最大报文段长度),MSS肯定是seq1+len1,是提前到来的报文,此时应该将这个报文放置到失序报文队列存储起来,以备后续重组使用。 这样直到tcp断开这个socket的链接... 阅读全文
posted @ 2020-05-21 21:28 一觉醒来写程序 阅读(8550) 评论(0) 推荐(0) 编辑
摘要:1 理论知识先上一张图,TCP/IP详解第18章的这张图描述了一个正常的三次握手和四次挥手的状态迁移,以及seq、ack序号的变化。基本状态看图就能了解,本文主要围绕序号的变化进行讲解。1)seq序号seq的初始值在不同系统实现不一样,一般为随时间增长的值。当seq超过4字节存储空间后从0开始。在某个方向上传输N个字节的数据,序列号就+N,因此seq用于确认在某个方向上传输的字节数。如果传输的数据... 阅读全文
posted @ 2020-05-21 14:55 一觉醒来写程序 阅读(12565) 评论(2) 推荐(2) 编辑
摘要:1 wiresharkhttps://wiki.wireshark.org/SampleCaptures/2 security-onion一个带有各种安全软件的Linux发行版,文档里有各种报文库的链接https://securityonion.readthedocs.io/en/latest/pcaps.html3 asecuritysitehttps://asecuritysite.com/f... 阅读全文
posted @ 2020-05-20 14:31 一觉醒来写程序 阅读(390) 评论(0) 推荐(0) 编辑
摘要:1 前置知识学习1.1 MTUMTU是最大传输单元( Maximum Transmission Unit)的缩写,指一个接口无需分片所能发送的数据包的最大字节数。 MTU范围在46 ~ 1500字节,默认一般都是1500。1)MTU为1500时计算总长度7字节前导码+1字节帧开始定界符+6字节的目的MAC+6字节的源MAC+2字节的帧类型+1500字节IP头及数据+4字节的 FCS = 1526... 阅读全文
posted @ 2020-05-20 00:59 一觉醒来写程序 阅读(5237) 评论(1) 推荐(0) 编辑
摘要:1 LPM库DPDK LPM库组件为32位的key实现了最长前缀匹配(LPM)表查找方法,该方法通常用于在IP转发应用程序中找到最佳路由匹配。2 LPM API概述LPM组件实例的主要配置参数是要支持的最大规则数。 LPM前缀由一对参数(32位Key,深度)表示,深度范围为1到32。LPM规则由LPM前缀和与该前缀关联的一些用户数据表示。 该前缀用作LPM规则的唯一标识符。 在此实现中,用户数据的... 阅读全文
posted @ 2020-05-19 18:29 一觉醒来写程序 阅读(2092) 评论(0) 推荐(1) 编辑
摘要:1 Mbuf库Mbuf库提供了分配和释放缓冲区(mbufs)的功能,DPDK应用程序可以使用这些mbufs来存储消息缓冲。 消息缓冲存储在内存池中,使用Mempool库。数据结构rte_mbuf通常用来承载网络数据包buffers,但它实际上可以是任何数据(控制数据、事件……)。rte_mbuf头部 阅读全文
posted @ 2020-05-19 01:48 一觉醒来写程序 阅读(3048) 评论(0) 推荐(1) 编辑
摘要:0 前置知识学习跳表(SkipList)跳表应具有以下特征:1)一个跳表应该有多个层(level)组成,通常是10-20层。2)跳表的第0层包含所有的元素。3)每一层都是一个有序的链表。层数越高应越稀疏,这样在高层次中能跳过许多不符合条件的数据。4)如果元素x出现在第i层,则所有比i小的层都包含x; 阅读全文
posted @ 2020-05-18 20:21 一觉醒来写程序 阅读(2613) 评论(0) 推荐(1) 编辑
摘要:0 前言本文主要翻译至DPDK的官方编程指南,在谷歌翻译的基础上根据自己的理解做了一些修改。网上搜索的很多中文翻译大多是翻译后直接黏贴上来,有时候连语句都读不通。希望本文能够对你有所帮助。1 介绍DPDK提供了一个哈希库,用于创建用于快速查找的哈希表。哈希表是一种数据结构,它经过优化,用于搜索由唯一 阅读全文
posted @ 2020-05-18 15:49 一觉醒来写程序 阅读(3019) 评论(0) 推荐(1) 编辑
摘要:1 前置知识点学习(了解)从CPU到实际的存储节点,依据层级划分:Channel > DIMM > Rank > Chip > Bank > Row /Column1.1 channelCPU到内存的通路是channel,每个channel对应一个CPU的内存控制器,每个channel可以配有多个D 阅读全文
posted @ 2020-05-17 03:08 一觉醒来写程序 阅读(2305) 评论(0) 推荐(1) 编辑
摘要:目前已有的RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)技术有很多种,但是RAID0、RAID1、RAID5是最常见的几种方案。1 RAID0RAID0技术把多块(至少两块)物理硬盘设备通过软件或硬件的方式串联在一起,组成一个大的卷组,并将数据依次写入到各个物理硬盘中。这样,在最理想的情况下,硬盘设备的读写性能会提升数倍,但是若任意一块硬盘发... 阅读全文
posted @ 2020-05-15 17:19 一觉醒来写程序 阅读(11080) 评论(0) 推荐(0) 编辑
摘要:前言之前的工作环境习惯了使用source insight查看函数分析代码,切换到mac下后改用vscode,发现缺少函数调用关系图生成。跨平台的understand可以很好的解决,但是公司没有购买,因此需要寻找一个免费、跨平台的替代工具。doxygen + graphviz是不错的选择。原文参考:h 阅读全文
posted @ 2020-05-14 23:31 一觉醒来写程序 阅读(12572) 评论(0) 推荐(3) 编辑
摘要:转自 https://www.cnblogs.com/-wang-cheng/p/5401653.html1 RCU介绍 RCU机制是Linux2.6之后提供的一种数据一致性访问的机制,从RCU(read-copy-update)的名称上看,我们就能对他的实现机制有一个大概的了解,在修改数据的时候, 阅读全文
posted @ 2020-05-14 18:21 一觉醒来写程序 阅读(1060) 评论(0) 推荐(0) 编辑
摘要:根据该文章整理 https://blog.csdn.net/myxmu/article/details/80350251 解决的问题内存屏障主要解决了单处理器下的乱序问题和多处理器下的内存同步问题。2 为什么会乱序现在的CPU一般采用流水线来执行指令。一个指令的执行被分成:取指、译码、访存、执行、写 阅读全文
posted @ 2020-05-14 18:10 一觉醒来写程序 阅读(1249) 评论(0) 推荐(0) 编辑
摘要:参考自DPDK官方文档原文:http://doc.dpdk.org/guides-20.02/prog_guide/ring_lib.html针对自己的理解做了一些辅助解释。1 前置知识1.1 CAS学习无锁队列前先看一个基本概念,CAS原子指令操作。CAS(Compare and Swap,比较并 阅读全文
posted @ 2020-05-14 15:36 一觉醒来写程序 阅读(4124) 评论(1) 推荐(1) 编辑
摘要:本篇笔记的配套视频:网易云课堂,微专业/web安全工程师。一、WEB基础知识1.1 Web简介1.1.1 Web介绍1)web的发展web1.0:以内容为中心,网站提供内容信息,用户进行访问阅读,信息单向传输,典型的有门户网站和个人网站。web2.0:以人为中心,用户可添加内容,彼此沟通互动,典型的有微博和博客。web3.0:网站内的信息可以直接和其他网站相关信息进行交互,能通过第三方信息平台同时... 阅读全文
posted @ 2020-05-11 23:25 一觉醒来写程序 阅读(1761) 评论(0) 推荐(0) 编辑
摘要:这是一篇mysql的学习笔记,整理结合了网上搜索的教程以及自己看的视频教程,看完这篇能够满足80%的日常开发了。菜鸟教程:https://www.runoob.com/mysql/mysql-tutorial.htmlMySQL参考手册中文版:https://tool.oschina.net/apidocs/apidoc?api=mysql-5.1-zh1 前言1.1 什么是关系型数据库MySQL... 阅读全文
posted @ 2020-05-11 18:41 一觉醒来写程序 阅读(7262) 评论(0) 推荐(0) 编辑
摘要:1、安装samba 这里以CenOS 7为例,其他系统类似 yum install samba samba-client samba-common 2、修改smb.conf 最好先备份原文件,以防修改不正确导致smb无法执行 vi /etc/samba/smb.conf [root] path = 阅读全文
posted @ 2020-05-10 20:34 一觉醒来写程序 阅读(319) 评论(0) 推荐(0) 编辑
摘要:前言 在现网环境下,程序奔溃后不一定会留下core文件,原因有很多,比如存储空间不足就是其中一个常见的原因。此时我们只能依据linux记录的错误日志来定位问题。 涉及linux命令 本文涉及以下几条命令 1. dmesg命令,用于获取程序出错时的堆栈地址 1)dmesg |grep -E 'segf 阅读全文
posted @ 2020-05-08 15:45 一觉醒来写程序 阅读(4518) 评论(2) 推荐(2) 编辑
摘要:一、在线手册Linux c库函数分类及示例:https://wizardforcel.gitbooks.io/linux-c-api-ref/index.htmlhttp://net.pku.edu.cn/~yhf/linux_c/线程不安全函数列表:http://kernel.org/doc/man-pages/online/pages/man7/pthreads.7.html二、函数分类摘要摘... 阅读全文
posted @ 2020-05-07 17:24 一觉醒来写程序 阅读(5289) 评论(0) 推荐(1) 编辑
摘要:想要坚持写博客的习惯,却又无法忍受网页编辑器的各种不方便?离线博客工具是一个不错的选择。对我来说最有诱惑的就是能够快速的黏贴图片、代码。使用过程遇到不少坑,最坑的就是不能使用163邮箱,还是写邮件给管理员咨询才得到的答案。希望这篇文章对你有所帮助。windoes下使用Open Live Writermac下使用MarsEdit一、Open Live Writer1.1 下载和安装http://op... 阅读全文
posted @ 2020-05-06 21:14 一觉醒来写程序 阅读(277) 评论(0) 推荐(0) 编辑
摘要:Kali Linux是基于Debian的Linux发行版,预装了许多渗透测试软件,让大家从各种繁琐的软件安装中解脱出来,专注于测试本身。本文章介绍了如何安装目前最新的2020.1版本,以及安装好后补充安装的一些安全测试工具。先附上几个kali相关的网站:https://www.kali.org/docs/https://kali.training/https://tools.kali.org/ht... 阅读全文
posted @ 2020-05-05 17:29 一觉醒来写程序 阅读(5562) 评论(0) 推荐(3) 编辑
摘要:一、版本的选择首先要说明的是,对于生产来说DPDK版本不是越高越好,如何选择合适的版本?1、要选择长期支持的版本LTS(Long Term Support)2、根据当前开发的系统环境选择可以在以下文档里从高至低查看不同版本的System Requirements章节,它对kernel、glibc等限制有详细说明。http://core.dpdk.org/doc/archives/我开发是在Cent... 阅读全文
posted @ 2020-05-01 11:12 一觉醒来写程序 阅读(13005) 评论(5) 推荐(0) 编辑

点击右上角即可分享
微信分享提示