- 博客(33)
- 收藏
- 关注
原创 网络协议抓包分析与爬虫入门
网络协议抓包分析与爬虫入门1、聊天准备1、关闭计算机的防火墙2、关闭不需要的虚拟网络和其他不必要的以太网,只留下一个网络聊天的通道3、两台计算机连接同一个手机热点,打开疯狂聊天程序2.聊天并进行抓包2.1、疯狂聊天1、首先为自己命名一个聊天昵称,并且两台计算机(也可以多台计算机一起)输入同一个聊天房间号2查看聊天信息的Dst地址为255.255.255.2553、查找Destination为255.255.255.255的记录4、通过上面抓取结果来看,聊天使用的端口为17
2022-01-08 21:50:45
747
原创 Email-FTP-RTSP协议实践研究
Email-FTP-RTSP协议实践研究一、Email涉及的SMTP、POP3、IMAP协议1. SMTP管“发”,POP3/IMAP管“收”当点击“发送邮件”时,你的 mail client 会发消息给邮件服务器上的 SMTP service。这时有两种情况:如果邮件的收信人也是处于同一个 domain,比如从http://163.com 发送给 163 的邮箱,SMTP service 只需要转给 local 的 POP3 Service 即可如果邮件收信人是另外的 domain,比如 htt
2021-12-30 19:39:01
2160
原创 与IO、NIO、Netty相关的Java网络程序
与IO、NIO、Netty相关的Java网络程序一、IO实现TCP聊天程序1、IO简介①服务端阻塞点server.accept();获取套接字的时候inputStream.read(bytes);输入流读取数据的时候传②统socket是短连接,可以做短连接服务器,他无法做长连接,属于一问一答的模式,比如老的tomcat底层用的就是socket,用完就会关掉线程,因此不会出现线程一直被占用的情况,支持处理多个客户端连接。单线程情况下只能有一个客户端(一个线程维护一个连接,也就是一个socket
2021-12-17 19:35:39
900
原创 游戏客户端编程(网络通信编程)
游戏客户端编程一、创建项目二、窗体设计这里使用老师给的框架,打开之后是一个空的窗口1.双击进入游戏按钮,编写此按钮的点击事件 private void button10_Click(object sender, EventArgs e) { try { //向指定的IP地址的服务器发出连接请求 tcpClient.Connect("10.1.230.41", 3900
2021-11-28 12:37:03
3009
原创 C#利用套接字实现数据发送
C#利用套接字实现数据发送一、UDP介绍1.Socket套接字是支持TCP/IP协议的网络通信的基本操作单元。可以将套接字看作不同主机间的进程进行双向通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字的工作原理:通过互联网进行通信,至少需要一对套接字,其中一个运行于客户机端,称之为ClientSocket,另一个运行于服务器端,称之为ServerSocket。套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。2.TCPTCP协议提供的是端到端服务。TCP协议所
2021-11-24 10:03:23
1830
原创 网络抓包与HTTP协议
网络抓包与HTTP协议1. HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)2. HTTP工作原理 HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器有:Apache服
2021-11-06 19:24:41
209
转载 从JDBC到MyBatis
从JDBC到MyBatis在学习JDBC之前,要准备好数据库信息,包括用户名密码等,下载mysql, 创建数据库,创建表,这里贴一下我创建的表信息。DROP TABLE IF EXISTS `student`;CREATE TABLE `student` ( `SId` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `Sname` varchar(10) CHARACTER SET utf8
2021-10-23 13:08:41
86
原创 Git入门&Web前端
Git入门&Web前端初窥一、Git 基本概念和操作(一)git概念Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持基本操作1.创建仓库命令命令 说明git init 初始化Git仓库git clone 拷贝一份远程仓库,也
2021-10-14 14:43:18
227
原创 MySQL与JDBC
一.利用数据库管理工具navicat去使用MYSQL1、新建一个对MySql的连接,输入连接名和密码(密码为安装mysql时设置的密码)设置好后点击确定创建测试数据新建查询输入下列代码CREATE TABLE `websites` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称', `url` varchar(255) NOT NULL DEFAUL
2021-10-13 19:32:55
128
原创 Spring Boot
Spring Boot一. Spring Boot 开发入门— helloworld web1.在Idea上创建基于Spring Boot的web 项目,当客户端浏览器访问该web资源时,返回的网页显示 “helloword Spring Boot!这是一个用Spring Boot开发的网站。”首先,创建一个project点击Finish即可创建完成。package com.example.demo.controller;import org.springframework.web
2021-09-21 21:38:25
73
原创 2021-09-11
IEDA环境搭建开发环境:IntelliJ IDEA 2019.2.4JRE: 1.8.0_91-b14 amd64安装激活在IDEA的官网选择其它版本的专业版。那么你需要做一些设置,我在网上查阅了一些教程,大多数都是让我们在config里面安装Spring boot 或者Spring Assistant插件,我按照原帖的步骤试过,都没有达到目的,后面用谷歌搜索到一条特别实用的帖子供大家参考:Spring学习----idea2020新建项目没有spring选项解决方法然后选择对应自己操作系
2021-09-11 13:52:24
179
原创 逻辑回归案例练习
逻辑回归案例练习1、概述逻辑回归,是一种名为“回归”的线性分类器,其本质是由线性回归变化而来的,一种广泛使用于分类问题中的广义回归算法,叫着“回归”的名背地里却做着“分类”的事,完美诠释“曲线救国”。线性回归的任务,就是构造一个预测函数来映射输入的特征矩阵x和标签值y的线性关系,而构造预测函数的核心就是找出模型的参数,线性回归方程z即:那如果我们的标签是离散型变量,尤其是,如果是满足0-1分布的离散型变量,我们要怎么办呢?我们可以通过引入联系函数,将线性回归方程z变换为g(z),并且令g(z)的值
2021-06-29 17:43:45
2200
原创 凸优化基础知识
凸优化1、计算几何是研究什么的?计算几何研究几何模型和数据处理的学科,讨论几何形体的计算机表示、分析和综合,研究如何方便灵活、有效地建立几何形体的数学模型以及在计算机中更好地存贮和管理这些模型数据。2、计算几何理论中(或凸集中)过两点的一条直线的表达式,是如何描述的?与初中数学中那些直线方程有什么差异?有什么好处?(按自己的体会)计算几何理论中(或凸集中)且为n维空间的两个点则:2.初中数学中直线的两点式方程推导过程:(1)设直线l上的两点P1、P2的坐标分别为(x1,y1)、(x2
2021-06-29 17:19:50
489
原创 Verilog 编程巩固
Verilog 编程巩固一、Verilog 简单电路例题实验在线 Verilog 编程网站使用进入以下连接网页后即可点击其中例题进行练习????https://hdlbits.01xz.net/wiki/Problem_sets#Verilog_Language进入网站后点击其中的例题进入编程界面在代码框中输入代码后点击 Submit 提交代码,网站将会运行代码并给出结果门电路2.1 与门(AND gate)与门真值表Verilog 代码:module top_modu
2021-06-29 16:02:30
178
原创 基于卷积神经网络的猫狗识别
基于卷积神经网络的猫狗识别一、实验条件1、安装了anaconda、Jupyter Notebook,并且完成了TensorFlow和Keras的环境配置pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torchpip install -i https://pypi.tuna.tsinghua.edu.cn/simple torchvision2、下载Kaggle狗猫数据集(mnist数据集略),并完成对数据的处理数据链接:https
2021-06-21 21:04:55
384
转载 VGA协议与图像输出Verilog编程
VGA协议与图像输出Verilog编程一、基于Verilog HDL的数字秒表仿真实验环境:Quartues 13.0仿真环境:modelsim 13.01.1创建工程以及verilog HDL文件关于在Quartues工程的创建笔者就不在此赘述了。结果如下:1.2在文件中编写时钟代码参考代码: module Clock(clk,reset,pause,msh,msl,sh,sl,minh,minl); //其中msh为百分秒的十位,msl为百分秒的个位,sh为秒的十位,s...
2021-05-29 16:22:35
363
原创 机器学习数学基础之Python矩阵运算
机器学习数学基础之Python矩阵运算Python矩阵基本运算Python矩阵操作创建矩阵与行列转换的功能函数,而在Python中也较多使用二维数组替代矩阵来进行运算Python矩阵乘法矩阵乘法的定律检验,要区分数乘与矩阵相乘的情况,后者将前后次序调转也会影响结果Python矩阵转置矩阵转置即为行变为列、列变为行,对于转置还有一些叠加定律值得注意Python求方阵的迹方阵的迹就是主对角元素之和,也只有方阵才有迹的概念,方阵之和的迹等于方阵之迹的和Python方针的行列式计算方
2021-04-05 21:20:07
322
原创 线性/非线性规划问题求解
线性/非线性规划问题求解一、用Excel和python编程完成线性规划问题的求解。1.1、Excel求解对媒体组合问题进行求解1、建立数据源,将数据录入Excel中:并增加各媒体使用次数列。3、在Excel中设置目标函数由前面的分析可知,目标函数为E2:E6与F2:F6区域两列数组对应元素的乘积之和,在C10单元格中输入“=SUMPRODUCT(E2:E6,F2:F6)”。4、设置约束条件降低而不重的·约束条件表达式设置在Excel中。注意:约束对象中填入的也是和C列对应单元格的
2021-04-01 22:01:57
895
原创 线性分类的Jupyter实践
线性分类的Jupyter实践一、准备工作1、安装Anaconda2、安装实验所需包在安装好Anaconda后,可以在开始处打开打开后创建一个命令虚拟环境创建好后打开终端在终端写入以下命令下载相关包pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名此处安装的包包括numpy、pandas、sklearn、matplotlib二、实验步骤1、打开终端2、取萼片的长宽作为特征进行分类以下命令可一次性全部复制,然后粘贴
2021-03-26 22:22:24
341
原创 数据的回归与分类分析
数据的回归与分类分析线性回归练习。“父亲高则儿子高,父亲矮则儿子矮”(即父亲与儿子身高相关,且为正相关)、“母高高一窝,父高高一个”(即母亲的身高比父亲的身高对子女的影响更大)的习俗传说是否成立?请在“父母子女身高”数据集(高尔顿数据集)基础上利用线性回归做出科学分析。1. 一元线性回归练习。对“父母子女身高”数据集进行线性回归分析(简化的做法可选取父子身高数据为X-Y)可以看到基本所有家庭父母身高及子女身高都有一个固定的值域,由于大部分父母有一样的身高,所以实验中需要筛选部分父母进行线性回归。以
2021-03-19 22:23:20
1046
原创 机器人操作系统(ROS)入门
机器人操作系统(ROS)入门一、ROS简介什么是ROS? ROS产生、发展和壮大的原因和意义?1.ros是机器人操作系统(Robot Operating System)的英文缩写。ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。ROS产生、发展和壮大的原因和意义?2.ROS的发展逐渐的趋于成熟,近年来也逐步是面对着Ubuntu的更新而更新,这说明ROS已经初步进入一种稳定的发展状态,每年进行一次更新的频率同时还保留着长期支持的版本,这使得ROS在稳步的前进发展同时,也有着开拓创新的方
2021-03-05 19:51:35
347
原创 STM32的PWM和DAC练习
**一、用STM32F103输出一路PWM波形**1.相关资源准备链接:https://pan.baidu.com/s/13bnrB-S8Y6JDRdXBbzzbjA提取码:pmf1PWM简介PWM是 Pulse Width Modulation 的缩写,中文意思就是脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控 制的一种非常有效的技术,其控制简单、灵活和动态响应好等优点而成 为电力电子技术最广泛应用的控制方式。2、参考代码2.1 打开之前下载好的夜火资料,按下图
2021-01-09 10:20:16
180
原创 STM汇编程序设计
STM汇编程序设计BOOT模式BOOT模式的选择涉及到STM32芯片BOOT两个引脚BOOT0,BOOT1的选择,如下:1.BOOT0=0,BOOT1=X——主存储器模式2.BOOT0=1,BOOT1=0——系统存储器模式3.BOOT0=1,BOOT1=1——内置SRAM模式通常使用串口下载程序,选择第二种模式,也就是系统存储器模式(BOOT0为 1, BOOT1为 0)。而第一种主存储器模式( BOOT0 为 0,BOOT1 为任意),这种方法使得单片机跑代码启动的时候一按下复位键就可以执行
2020-12-30 19:43:36
127
原创 基于SPI/IIC接口的OLED数据显示
基于SPI/IIC接口的OLED数据显示一、关于SPISPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多
2020-12-27 22:47:49
988
原创 绘制stm32最小系统PCB图
绘制stm32最小系统PCB图一、根据最小原理图进行封装打开AD,打开最小原理图。点击properties,找到封装的按钮Footprint。如果找不到,可拖动器件,在拖动过程中点击Tab键或者点击器件后再点击properties,就可以出现点击Add按钮,弹出对话框。点击Browse,出现选择48引脚的芯片,点击OK。根据上述过程,对最小系统原理图一一进行封装。检验封装右单击工程,进行编辑,选择Compile PCB左点击Design,选择Update PCB,弹出对话框点击
2020-12-25 16:32:34
721
原创 AHT20温湿度采集
STM32下基于IIC协议的AHT20温湿度采集一、I2C总线通信协议I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。1.1软件I2C• 一般是使用GPIO管脚,用软件控制SCL,SDA线输出高低电平,模拟i2c协议的时序。1.2硬件I2C• 对应芯片上的I2C外设,有相应I2C驱动电路,其所
2020-12-22 21:03:45
467
原创 STM32串口通讯
STM32串口通讯一、串口通信简介1.串行通讯与并行通讯串行通讯:设备之间通过少量数据信号线,地线以及控制信号线,按数据形式一位一位地传输数据。并行通讯:设备之间通过信号线,同时传输多个数据位的数据。串行通讯的通讯距离和抗干扰能力要优于并行通讯,并且成本更低,而并行通讯的传输速率要优于串行通讯。2.全双工,半双工和单工通讯全双工通讯:设备之间可以同时收发数据。半双工通讯:设备之间可以收发数据,但是不能够同时进行。单工通讯:单方向的进行数据的发送和接收,即一个设备要么作为发送设备,要么作为接
2020-12-05 20:20:29
1400
原创 2020-12-04
STM32下的FreeRTOS多任务程序1.什么是FreeRTOSFreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。2.多任务要求在STM32下完成一个基于FreeRTOS的多任务程序,执行3个周期性task,具体任务不限,但建议如下:task1,每间隔500ms闪烁(变化)一次LED;task2,每间隔2000ms,向串口发送一次指令数据“helloworld!"
2020-12-04 20:08:25
90
原创 STM32嵌入式应用系统设计
STM32嵌入式应用系统设计一、三种工具的选用1、可视化前端 Kdbg(1)、安装Kdbgsudo apt-get install kdbg或git clone -b maint https://github.com/j6t/kdbg.git//如果没有git需要先执行一下sudo apt-get install git(2)、安装两个依赖库1、Qt5.4版本开始下载:qt-opensource-linux-x64-5.9.0.run下载好复制到虚拟机内再执行以下命令,然后双击文
2020-11-09 17:37:56
355
原创 第七周作业嵌入式程序调试与opencv图像库
**第七周作业嵌入式程序调试与opencv图像库**一、GDB调试练习编写一个程序test2.c来进行GDB调试练习test2.c的源码如下:#include <stdio.h> void shownum(int x) { while (x > 10) { printf("%d", x % 10); x = x / 10; } printf("%d\n", x);}
2020-10-29 22:38:36
144
原创 第4-5周作业-编译器背后的故事
编译器背后的故事一、可执行程序的组装1) 一个源程序到一个可执行程序的过程:预编译、编译、汇编、链接。其中,编译是主要部分,其中又分为六个部分:词法分析、语法分析、语义分析、中间代码生成、目标代码生成和优化。链接中,分为静态链接和动态链接,本文主要是静态链接。1.预编译:主要处理源代码文件中的以“#”开头的预编译指令。2.编译:把预编译之后生成的xxx.i或xxx.ii文件,进行一系列词法分析、语法分析、语义分析及优化后,生成相应的汇编代码文件。3.汇编:将汇编代码转变成机器可以执行的指令(机
2020-10-16 15:11:37
178
原创 嵌入式基础第三周作业
ARM开发环境入门一、第一次的LED闪烁程序用keil建立一个STM32工程,使得LED灯闪烁,由于没有板子,故只有程序只能在电脑上做仿真。首先,在电脑上新建一个文件夹,然后打开keil建立一个新工程。点击确认后在弹出的窗口中选择STM32F103RB芯片。接下来创建一个main.c文件,并添加到工程中,点击保存。然后复制#define PERIPH_BASE ((unsigned int)0x40000000)#define APB2PERIPH_BASE (PERIPH_
2020-10-08 17:13:03
190
原创 嵌入式系统程序设计基础第一二周作业
@嵌入式系统程序设计基础嵌入式系统程序设计基础第一二周作业作业要求ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行windows系统下用vc6.0编译主程序main1.c 并运行在以上基础上,在ubuntu系统下用Makefile方式编程主程序。编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main
2020-09-25 20:20:17
208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人