- 博客(28)
- 收藏
- 关注
原创 基于Arduino的视觉暂留现象和频闪效应演示系统程序设计
从视觉暂留现象和频闪效应的原理和应用,到Arduino的编程结构、数值和函数,再到中断、定时器和消抖,以及对用到的硬件比如Arduino开发板、风扇、LED灯带、激光、激光传感器、按键、示波器等都有了新的认识和实践经验。现代医学发现,人眼在观察物体时,物体成像于视网膜上,并由视神经输入大脑,感觉到物体的像。平常看的动画、电影等,其实就是将图片快速切换,每秒钟切换24张静止的图片,人眼却觉得看到了栩栩如生的画面。每当标记图案转动到同一个位置,亮一次灯,因为视觉暂留现象,即可观察到“静止的”标记图案。
2023-03-23 13:39:35
419
原创 Git 指令学习笔记
因为最近写项目,用到了 Git 与 Github ,在此记录下学习 Git 的指令笔记。环境:Linux CentOS工作区(Working Directory)版本库(Repository)master分支远程库的名字默认是origin//初始化一个git库git init//关联本地分支master与远程库origingit remote add origin https://github.com/用户名/版本库.git//将工作区中的文件添加到暂存区git add f
2020-11-05 17:28:51
121
原创 【HTTP图片服务器】【项目记录7】:总结
一、本项目涉及的所有知识点1. 简单的Web服务器设计能力2. C/C++ 操作 MySQL 数据库3. 数据库设计4. Restful 风格 API5. json 和 jsoncpp 的使用6. 强化 HTTP 协议的理解7. cpp-httplib 的使用和原理8. 正则表达式9. 基于 md5 进行校验10. Postman 工具的使用11. 软件测试的基本思想和方法二、项目扩展点1.存储时合并小文件如果上传大量的比较小的文件时,在磁盘空间不太充裕时可能会产生磁盘碎片,把
2020-11-05 17:28:22
333
原创 【HTTP图片服务器】【项目记录6】:测试全部功能
0.主页设计该主页主要完成图片上传功能,存放在服务器中,服务器运行后,可通过url访问此主页。在wwwroot中:vim upload.html<html><head></head><body> <form id="upload-form" action="http://47.106.245.188:9094/image" method="post" enctype="multipart/form-data" >
2020-11-04 11:36:45
429
原创 【HTTP图片服务器】【项目记录5】:服务器设计
本项目是基于 C++ 的 HTTP 服务器,故选择了 cpp-httplib 库使用。其最新版本请见网站:https://github.com/yhirose/cpp-httplib本文所用版本请见网站:以下为正文://image_server.cc#if defined(__GNUC__)#pragma GCC diagnostic push#pragma GCC diagnostic ignored "-Wdeprecated-declarations"#elif defined(_M
2020-11-03 20:10:06
224
原创 【HTTP图片服务器】【项目记录4】:服务器API设计&封装数据库操作
1.服务器 API 设计我们需要实现一个 HTTP 服务器,HTTP 服务器需要接受 http 请求,返回 http 响应,此处需要约定不同的请求来表示不同的操作方式,例如:有些请求表示上传图片,有些请求表示查看图片,有些表示删除图片。此处我们使用 Restful风格 的设计。http method 来表示操作的动词:GET查,POST增,PUT改,DELETE删。http path 表示操作的对象。补充信息一般使用 body 来传递,通常情况下 body 中使用 json 格式的数据来组织。
2020-11-03 12:55:41
268
原创 【HTTP图片服务器】【项目记录3】:数据库接口测试
本项目主要分为三部分:1.数据库模块2.服务器模块3.客户端模块 及 测试本文介绍数据库模块部分全部内容。1.数据库设计新建数据库create database if not exists image_system;use image_system;新建表drop table if exists image_tablecreate table image_table (image_id int not null primary key auto_increment, image_n
2020-11-03 11:34:57
251
原创 【HTTP图片服务器】【项目记录2】:安装、配置MySQL环境
服务器环境所用服务器:阿里云终端软件:XshellCentOS 版本:指令:[root@dex ~]# cat /etc/redhat-release结果:CentOS Linux release 8.2.2004 (Core)安装 MySQL以下操作皆在 root 权限下进行yum install mysqlyum install mysql-server安装的 mysql 版本:指令:[root@dex ~]# mysql -V结果:mysql Ver 8.0
2020-10-20 14:10:16
189
原创 【HTTP图片服务器】【项目记录1】:项目介绍
整体思路搭建一个 HTTP 服务器,可在网页上完成图片上传、展示功能,图片内容与信息将被保存在服务器中,使用不同的 URL 即可查看图片信息、查看指定图片、删除指定图片。用户角度需求方便博主在云端使用图片,节省本地存储开销上传图片,得到一个URL根据该URL可以获取图片内容以及查看图片信息、删除图片等功能设计角度-模块划分数据存储模块(使用 MySQL 数据库管理图片文件以及图片信息)HTTP 服务器模块(为前端提供接口)测试(使用 Postman 软件测试)项目特点基
2020-10-20 12:31:55
227
原创 Windows10更新后【Intel Corporation Display】反复更新的解决办法
这个问题困扰我几周了,今天再一次尝试解决的时候搜到了管用的解决方案,分享给需要的人。该问题在安装 2020年5月(v2004)更新后出现。有用户反映称Windows Update在成功安装最新的驱动程序后仍在试图安装完全相同的驱动程序。可以尝试以下步骤:
2020-08-29 20:47:44
40556
1
原创 C++ Primer(第五版) 第三章 练习题3.20
练习3.20:读入一组整数并把它们存入一个vector对象,将每对相邻整数的和输出出来。改写你的程序,这次要求先输出第1个和最后1个元素的和,接着输出第2个和倒数第2个元素的和,以此类推。//3.20-1#include<iostream>#include<vector>using std::cin;using std::cout;using std::endl;using std::vector;int main() { int integers; vec
2020-07-29 18:10:57
214
原创 C++ Primer(第五版) 第三章 练习题3.17
练习3.17:从cin读入一组词并把它们存入一个vector对象,然后设法把所有词都改写为大写形式。输出改变后的结果,每个词占一行。#include<iostream>#include<vector>#include<string>#include<cctype>using std::cin;using std::cout;using std::endl;using std::string;using std::vector;int m
2020-07-29 17:21:36
221
原创 C++ Primer(第五版) 第三章 练习题3.4
练习3.4编写一段程序读入两个字符串,比较其是否相等并输出结果。如果不相等,输出较大的那个字符串。改写上述程序,比较输入的两个字符串是否等长,如果不等长,输出长度较大的那个字符串。第一小问:以后不再使用using namespace std;本题使用了“三目运算符”#include<iostream>#include<string>int main() { using std::cin; using std::cout; using std::endl; us
2020-07-28 17:05:34
148
原创 C++ Primer(第五版) 第一章 练习题1.11与1.16
练习1.11:编写程序,提示用户输入两个整数,打印出这两个整数所指定的范围内的所有整数。#include <iostream>using namespace std;int main(){ int v1 = 0, v2 = 0; cin >> v1 >> v2; if (v1 <= v2) { while (v1 <= v2) {...
2020-04-02 18:44:04
259
1
原创 基于C语言实现快速排序
快速排序的基本思想是:1.先从数组中取出一个数作为基准数。2.将小于或等于它的数全放到它的左边,大于它的数全放到它的右边。3.再对左右区间重复第 2 步,直到各区间只有一个数。更易于理解的排序逻辑是“挖坑+递归”:请移步此微软大佬的文章:白话经典算法系列之六 快速排序 快速搞定//quick_sort.c#include<stdio.h>void quick_sor...
2020-03-20 18:03:15
172
原创 基于C语言实现简单选择排序
简单选择排序期望:最小值在前,最大值在后://selection_sort.c#include<stdio.h>void selection_sort(int a[], int len) {//len数组长度 while (len > 1) { int i, pos = 0;//i当前下标,pos保存最大值的下标 int max = a[0]; for ...
2020-03-20 15:57:05
157
原创 基于C语言实现直接插入排序
直接插入排序://insertion_sort.c#include<stdio.h>void insertion_sort(int a[], int len) {//len数组长度 int i = 0;//i是下标 for (i = 1; i < len; ++i) { int key = a[i];//key保存本次要插入的元素 while (a[i - ...
2020-03-19 23:06:04
304
原创 基于C语言实现冒泡排序
冒泡排序://bubble_sort.c#include<stdio.h>//输入数组和数组长度//i范围从第一个元素到倒数第二个元素,j范围从第二个元素到最后一个元素。t临时变量。void bubble_sort(int a[], int len) { int i, j, t; for (i = 0; i < len - 1; ++i) { for (j ...
2020-03-19 21:49:33
173
原创 基于C语言和递归思想实现汉诺塔
汉诺塔问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。运行以下代码后归纳可得:转移N个盘子需要移动2N-1次。所以,婆罗门一共需要移动盘子264-1次。试玩这个小游戏,体验婆...
2020-03-15 20:06:51
160
原创 基于C语言实现循环队列
已实现的功能:初始化、判满、判空、入队、遍历、出队。本文代码运行环境为Visual Studio Community 2019 16.4.6版本。代码内容主要来自郝斌老师的课程https://www.bilibili.com/video/av6159200如有疑问或建议,欢迎留言讨论。//circular_queue.cpp#include <stdio.h>#inclu...
2020-03-15 11:50:02
299
原创 基于C语言实现栈
已实现的功能:初始化、压栈、遍历、判空、出栈、清空。本文代码运行环境为Visual Studio Community 2019 16.4.6版本。代码内容主要来自郝斌老师的课程https://www.bilibili.com/video/av6159200如有疑问或建议,欢迎留言讨论。//Stack.cpp#include <stdio.h>#include <st...
2020-03-14 12:43:02
180
原创 基于C语言实现链表
已实现的功能:创建新链表,打印链表,求结点数量,插入结点,删除结点。//linked_list.cpp#include <stdio.h>#include <stdlib.h>//定义链表结点类型并重命名typedef struct Node{ int data;//数据域,数据类型暂定为int struct Node* pNext;//指针域}NODE...
2020-03-04 16:40:50
313
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人