- 博客(60)
- 资源 (2)
- 收藏
- 关注
原创 Gin框架源码解析
主要讲述Gin框架路由和中间件的详细解释。本文章将从Radix树(基数树或者压缩前缀树)、请求处理、路由方法树、路由的注册与匹配以及中间件的详细解释这五大部分入手。Gin 框架 路由使用前缀树,路由注册的过程就是构造前缀树的过程,路由匹配的过程是查找前缀树 的过程。
2023-11-19 22:14:09
312
原创 数据安全之涉密领域
文章系列主要阐述数据安全领域的泄密领域。从大环境需求方面,到如何通过技术手段实现涉密检测。本系列将会介绍C语言的高质量编程、hyperscan原理及技术运用、sdk打造等方面。可涉及windows及linux双操作系统环境。
2023-08-13 23:27:26
418
原创 GIN 介绍
gin是一个Go编写的轻量级http web框架,运行速度非常快,如果你是性能和搞笑的追求者。Gin最擅长的就是Api接口的高并发,如果项目的规模不大,业务相对简单。当某个就扣的性能遭受到较大的挑战的时候,这个还是可以考虑使用Gin重写接口Gin也是一个流行的golang Web框架,Github strat 已经超过了50K。
2022-11-28 08:51:20
1269
原创 数据安全之重点技术总结
概念:数据源发现是指对不同类型的数据资源发现的技术,是识别的首要工作。主要实现:数据源发现:网络流量分析、应用接口探测和业务锚点检测等网络流量分析:概念:针对网络链路和设备,利用传感器、探针、抓包工具等采集、存储和分析数据,提取协议字段和网络报文内容。技术实现:利用解码器对二进制网络流量数据和数据包进行还原,解析网络协议,结合上下文特征,分析数据内容。
2022-11-13 15:30:25
2301
原创 Go思想及语法
go test 命令稻苗所有*_test.go为结尾的文件,惯例是将测试代码与正式代码放在同目录,如foo.go的测试代码一般协程foo_test.go。Go语言是一个可以编译高效,支持高并发,面向垃圾回收的全新语言。go test ./... -v 运行测试。代码静态检查,发现可能的bug或者可疑的构造。Go语言原生自带的测试。
2022-10-14 11:42:53
431
原创 Go语言---线程安全
现在计算机体系中大部分都是多核计算机,都是包含有多个cpu.当两个线程同时访问同一段内存,CPU的速度是比内存的速度快很多,在现在的CPU架构上,每个CPU都有自己的缓存机制,如同线程1和线程2 刚开始都去访问内存key = value1,cpu1和cpu2读内存只有第一次才会去访问内存,然后把数据存放在CPU缓存中,这就导致了,在某一时间点,CPU1修改了变量,但是CPU2没有缓存的变量还没变,导致变量不同步,会造成线程安全。
2022-10-09 22:01:59
1430
原创 GO语法学习
变量:var 语句用于声明一个变量列表,跟函数的参数列表一样,类型在最后变量的初始化:变量声明包含初始值,每个变量对应一个如果初始化值已存在,则可以省略类型;变量会从初始值中获得类型短变量声明在函数中,简洁赋值语句 := 可在类型明确的地方代替var 声明函数外的每个语句都必须在关键词开始(var,func等),因此 := 结构不能再函数外使用。"
2022-10-07 21:50:40
674
1
原创 Go语言特性
1.其他编程语言的弊端。硬件发展速度远超于软件c语言等原生语言缺乏好的依赖管理(依赖头文件)java和c++等语言过于笨重系统语言对垃圾回收和并行计算等基础功能缺乏支持对多核计算机缺乏支持2.Go语言是一个可以编译高效,支持高并发,面向垃圾回收的全新语言秒级完成大型程序的单节点编译。依赖管理清晰。不支持继承,程序员无需花费精力定义不同类型之间的关系支持垃圾回收、支持并发执行,支持多线程通讯。对多核计算机支持友好。
2022-10-07 21:32:17
280
原创 传统软件架构与微服务架构
使用一套小服务来开发单个应用的方式,每个服务运行在独立的进程里,一般采用轻量级的通讯机制互联,并且他们可以通过采用自动化的方式部署。
2022-09-11 16:41:15
1919
原创 c++web服务器开发----git篇
git在企业工作中,是必不可少的一项技能,很多小伙伴们以为距离很遥远,但会使用git无疑是对面试有很大的帮助。在互联网、软件企业中,企业都有自己的代码库,这些代码大都都会使用git仓库进行存储。作为后端开发人员,git的步骤大致分为以下:从服务器上克隆完整的git仓库(包括代码和版本信息)到单机上。 在自己的机器上根据不同的开发目的,创建分支,修改代码 在单机上自己创建的分支上提交代码 在单机上合并分支 把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。 生成补丁patch
2022-02-18 11:38:07
1517
2
原创 一文带你搞懂 “数据”在内外网环境下怎么流通
大学还没毕业,刚出来实习,在搞网络安全的同时我连内外网网络数据包的走向,我都搞不明白怎么去搞安全,所以下面咱们一起学习网络数据包在内外网环境下是怎么进行流通的。1.内网和外网的含义内网:即所说的局域网,在局域网内每台主机的ip都不一样拥有互异性。但两个局域网内的内网ip可以有相同的 。外网:即互联网,局域网通过一台服务器或是一个路由器,对外连接的网络,这个ip地址是唯一的。2.内网环境下,数据流通用ipconfig/all查到的IP是你本机的内网IP;在w...
2022-01-08 15:16:10
5252
1
原创 Linux下gdb调试的基本详情
老生常谈了,关于linux的gdb的情况,但是呢,我最近在工作中从事工作其中一项就是开发linux下的命令行,大部门的调试工作也是需要依靠gdb的帮助,这次文章就主要讲讲关于gdb的一些使用情况!1.GCC的全过程只要了解了c语言编译的全过程,才有可能去真正搞懂gdb的底层原理。先给大家贴出来gcc的一些编译选项GCC编译选项 说明 -E 预处理指定的源文件,不进行编译 -S 编译指定的源文件,但是不进行汇编 -c ...
2022-01-03 20:37:16
1324
原创 手把手教你认识wireshark
系列文章目录 最近入职了一家企业,就是专门负责网络部分,wireshark对于网络开发同学们是相当重要,并且wireshark也就相当于网络开发同学们中的显微镜,一些病毒,木马的研究却少不了的工具。目录系列文章目录一、为什么要学习wireshark工具?二、学习wireshark的目的三、wireshark工作原理和功能模块 1.wireshark的功能模块2.wireshark协议转码3.wireshark数据分析四、如何抓取数据包?...
2021-12-26 19:24:10
1720
原创 计算机实用网站
1.mysql配置安装网站(windows)MySQL Community Server 8.0.11下载与安装配置 - Kmily_Lee - 博客园2.Code top企业刷题库CodeTop企业题库3.vcode配置C/C++环境vs code配置C/C++开发环境 - Csoce - 博客园4.自学编程导航编程导航 - 发现优质编程资源5.洛谷刷题网站首页 - 洛谷 | 计算机科学教育新生态6.C++常用头文件总结C/C++常用头文件及函数汇总 - 醉游人
2021-12-19 12:32:06
1198
原创 X86\X64平台下指针占用几个字节?
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、X86平台下指针为什么占用4个字节? 二、使用步骤 1.引入库 2.读入数据 总结前言言归正转,以前只知道指针在32位操作系统下占用4个字节,64位操作系统下占用8个字节。具体为什么也是在秋招中的一场面试中,碰到为什么?也是自己准备不充分从而导致的后果。一、X86平台下指针为什么占用4个字节? 首先,X86是32位操作系统,其实小编以前也不太清除,对X86和...
2021-12-19 11:59:42
2279
原创 面试中问到动态库和静态库相关知识
1.动态库相比较于静态库的优缺点? 动态库优点:节省内存和代码重用,当应用程序使用动态链接库时,多个应用程序可以共享磁盘上的DLL(windows)和so(linux)副本,可实现多个进程间资源共享 动态库缺点:加载速度比静态库慢 静态库优点:静态库被打包到应用程序中加载速度快、移植方便 静态库缺点:消耗系统资源2.如何生成动态库 1. gcc -c -fpic *.c 得到目标文件 2....
2021-11-21 11:50:18
594
原创 面试中被问到用户态和内核态是怎么实现的?
首先呢,用户态和内核态,学习过linux的同学一定不会陌生,但是怎么实现的,他俩之间的切换真的明白吗?1.用户态和内核态是怎么实现的? CPU中含有三个寄存器分别是:特权寄存器、用户寄存器和模式状态寄存器。CPU有两种不同的指令:特权指令和非特权指令。特权指令是需要在特权寄存器上运行的 非特权指令是需要在用户寄存器下运行的操作系统通过控制模式状态寄存器来决定程序在用户区还是内核区进行执行的。然而特权与非特权是由模式状态寄存器控制的,只要CPU控制了模式状态寄存器就可以控制程...
2021-11-21 11:28:47
665
原创 面试中问到内存对齐该怎么回答?
在面试中,阿里面试还有天融信面试中会问到内存对齐,我贴出了关于我的回答1.问到:你说说你理解的内存对齐? 可以针对于两个方面来说,什么是内存对齐?为什么要内存对齐?来解释1.什么是内存对齐?内存对齐是编译器将程序中的每个“数据单元”安排在合适的位置上。2.为什么要内存对齐? 我们知道内存是以字节为单位存储的,但是处理器存取内存是以块为单位,块的大小是2,4,8,16字节大小,这是内存的存取粒度 从内存存取效率方面,内存对齐可以提升...
2021-11-21 11:04:17
565
原创 面试考点:冒泡排序、选择排序、插入排序、归并排序、快速排序
深处开发岗,其实排序也是绕不开的环节,其中冒泡排序,选择排序,插入排序,归并排序,快速排序,堆排序也是我在秋招以来频繁问到的技术点排序算法有两块比较重要的知识点内存消耗 :算法的内存消耗可以通过空间复杂度来衡量,排序算法也不例外。不过,针对排序算法的空间复杂度,有一个概念是原地排序。原地排序算法是指空间复杂度是O(1)的排序算法。其中冒泡排序,插入排序、选择排序都属于原地排序算法 稳定性:针对排序算法,我们还有一个衡量指标是稳定性。这个概念是说,如果待排序的序列中存在值相等的元素,经过排序之后.
2021-11-20 15:31:06
10642
14
原创 天融信Linux C/C++面经(offer)、奇安信服务器C++面经(offer)、360笔试
在6,7月今年秋招提前批开始面过虎牙因为啥也不会,一气之下咬牙度过了黑暗的5个月,终于赶着秋招的尾巴,抓住了两家尾巴!!!前言360笔试挂,还是自己比较菜,算法题没有AC出来,但也缺乏网络安全方面的知识,遗憾错过。一、360笔试(挂)技术A卷1.UML静态视图2.抽象层和接口在UML中的理解3.运行时多态,主要考察多态的产生!4.进程调度算法的考察5.段式存储,页式存储,段页式存储的理解6.windows电脑登录时的加密模型7.prim最小生成树算法8.K
2021-11-17 19:42:44
2483
1
原创 数据结构与算法-------数组与链表
想给老衲说:数组和链表放在一起研究,能对比两种数据结构的优点与不足!Array数组 数组不陌生吧!数组一般来说都是内存里连续的一段存储区域。 最左边这幅图,0~8表示的是数组的下标,咱们可以通过数组下标随机访问这个数组中任意一个元素!右边这里面8位的一串数字这里是内存地址(这里只是示例,真正的可能还会涉及到虚拟内存,寻址算法)!Array->查找(search) 右边这幅图指的意思是,Memory Controller...
2021-09-23 12:38:06
190
原创 数据是什么?数据又是如何在内存里面分布的?
老衲累了!但是老衲还是想问问数据是什么?那么又跟数据结构是什么关系呢?咳咳!老衲也不给咱买瓶饮料,谁让喜欢呢!!!!关于这块我想要结合这linux操作系统来好好絮叨这块,主要是linux确实有一些命令可以很方便的使用。一、数据是什么?先拽一段数据概念:数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等不知道老衲理解了没,反正我看的有点眉头紧凑!数据:换种.
2021-09-22 15:12:08
651
1
原创 程序是什么?
老衲 又有不懂得了,问了这么一段话,很值得思考呀#include <stdio.h>int main(int argc,const char* argv[]){ printf("hello,world"); return 0;}老衲说,你看看这个,我上c语言的时候,老师就直接把这个写出来了,也没告诉我这为啥这么写呀!不着急,来听我,慢慢絮叨!上面这段是什么?难道是程序吗?其实并不是,上面这段是代码,那么程序又是什么呢?程序是指示计算机每一步动作的指令,也是一.
2021-09-22 12:46:34
5030
3
原创 数据结构-----算法复杂度(大O表示法)
为什么要先聊这个算法复杂度呢? 首先,我们先聊聊算法,“老衲”肯定会经常听别人说算法,但是呢不是太明白算法是什么?先拽一大段概念:算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可...
2021-09-22 10:22:52
3133
1
原创 数据结构与算法引言
hello!最近长达4个月的时间在准备面试大厂,无疑这段时间是最痛苦的,但也是收获颇丰!关于数据结构与算法很久之前就开了这个分栏,一直没补上,经过这段时间的沉淀,想跟“老衲”深究一下关于数据结构和算法这块! 针对于这方面我准备通过三方面来入手:(都是准备通过c语言/c++语言来入手)数据结构 计算机系统 算法为什么要从这三方面入手呢?我认为这三方面缺一不可,并且都是息息相关的。为什么会这么说呢?首先,数据结构,数据是什么?数据为什么会有结构?有什么结构? 其次...
2021-09-22 09:12:17
284
2
原创 最近学习太焦虑,如何戒骄戒躁,静下心来
– 静心的方法1、随时放松身心:这是最重要的步骤。2、随时检讨情绪:“接受”自己的情绪,不论是好的或坏的。3、随时想像下沉:这是静心过程中最基本的方法。4、心想事成的一些概念。静心与方法技巧是有帮助的技巧是有帮助的,因为它们是科学的,你可以因此避免徒劳的迷失和徒劳的摸索,如果你不懂得任何技巧,那么你将花很长的时间。有一位师傅,有科学的技巧,你就能节省许多时间、时机和能量。有时,在几秒钟内你就能成长了许多,甚至在你几世之内也不可能有那么多的成长。如果应用正确的技巧,成长就激发起来了,而这些技巧
2021-05-11 22:52:34
823
1
原创 通过makefile,解决写好的c文件直接make,生成可执行文件
makefilemakefile是一个项目的代码管理工具,把代码的编译扔到makefile中有这么三大规则: 1、目标 2、依赖 3、命令格式编写: 目标:依赖条件 tab缩进 命令自动变量: $< 规则中的第一个依赖 $@ 规则中的目标 $^ 规则中的所有依赖在底下代码中 $()这个是用来提取关于括号里的具体含义src = $(wildcard ./*.c) *//查找当前目录下的c文件obj =
2021-05-05 11:37:00
1442
2
原创 迭代器--针对于c++的STL介绍
文章目录迭代器基本原理一、种类1、输入迭代器2、输出迭代器3、正向遍历4、双向迭代器5、随机迭代器双向迭代器的支持随机迭代器支持正向遍历反向遍历迭代器基本原理迭代器是一个“可遍历STL容器内全部或部分元素”的对象迭代器指出容器中的一个特定位置迭代器就如同一个指针迭代器提供对一个容器中的对象的访问方法,并且可以定义了容器中的对象的范围一、种类1、输入迭代器输入迭代器:又叫“只读迭代器”,他从容器中读取元素只能一次读入一个元素向前移动,只支持一遍算法,同一个输入迭代器不能两遍遍历一个序
2021-04-11 13:08:55
135
基于stm32f4 的车载电磁炮系统 .7z
2021-03-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人