unity游戏开发-MYSQL
MySQL配置
先安装一个数据库,我使用的是 8.0.35 版本的,版本没什么大的要求。也可以安装一个可视的 UI 界面,例如 workbench,方便做一些操作
在数据库中添加表格,然后将某一个 user 的 localhost 设置为 %,就可以实现其他设备的登录了
unity端配置
在 Assets 文件目录下新建一个文件夹 Plugins 用来存放数据库需要的一些文件 (必须是这个名称,不能更改,不然 unity 不能识别出来)
可以不用下载 MySQL Connnector/NET,直接在 vs中安装 mysql 包 项目→管理 NuGet 程序包,直接在浏览中搜索 MySQL,安装第一个,之后它会自己把依赖装好
然后,最最重要的一步,在vs的解决方案资源管理器的项目的引用之下,找到 mysql.Data 这个项目,查看它所在的路径,在文件资源管理器中找到它,把它拖到第一步所建好的文件夹中,然后进入unity它会报错,查看错误信息,是需要一些文件,然后再在项目引用之下找到 Google.Protobuf , K4os.Compression.LZ4 , K4os.Com ...
request-python学习记录
requests 学习
静态网络与动态网络
动态xml页面: 如果网络界面是由js加载上去的,那么网络就是动态的
静态xml页面: 没有使用js加载
通用爬虫: 通常指搜索引擎的爬虫 面向互联网上所有的网站
聚焦爬虫: 针对特定网站的爬虫 针对几个网站,特定的网站
步骤
url list
响应内容 提取url
提取数据
入库
DNS服务器: 根据客户给定的域名,来返回对应的 ip 地址,客户通过 ip 地址请求页面,返回页面的 html+js+css+.jpg
url形式:
scheme://host[:port# ]/path/…/[?query-string ][#anchor ]
scheme: 协议(http,https,ftp)
host: 服务器的ip地址或者域名
port: 服务器的端口(如果是默认端口就是 80 / 443)
path: 访问资源的路径
query-string: 参数,发送给http服务器的数据
anchor: 锚点(跳转到网页的指定冒点位置)
url地址带上锚点与不带锚点是一样的
HTTP
http
超文本传输协议
默认端口号: 80
...
stm32-ucos使用
计算机操作系统
计算机只由硬件构成的叫做“裸机“,不能工作,必须有软件
多任务
把一个大任务分解为几个小任务,那在一个任务需要等待I/O时就可以交出CPU的使用权去运行其他的任务,可以极大的提高CPU的利用效率。
内核类型
可剥夺型内核
总是运行优先级别最高的任务,即使CPU正在运行某一个低优先级的任务,当高优先级的任务准备就绪时,就会剥夺低优先级的任务的CPU的使用权。
不可剥夺型内核
总是优先级别高的任务最先获得CPU的使用权,要求每个任务都能主动放弃CPU的使用权。
任务切换时间
多任务系统的任务之间的切换是需要时间的。操作系统的任务调度器就是做这项工作的。调度器在进行任务切换时需要一段时间,这段时间的长短也影响系统实时性,任务调度器进行任务切换所用的时间不能受到应用程序中其他因素(任务数目等)的影响。
终端延时
外部事件的发生会以中断申请信号的形式通知CPU,然后才运行中断服务程序来处理该事件,自CPU响应中断到CPU转向中断服务程序之间所用的时间叫做终端延时,也影响系统的实时性。
ucosii使用
用户应用程序的结构
123456789v ...
opencv
程序说明
图片转灰度图
这个操作可以在一开始读取照片时就完成,也可以自己根据每个像素点,把每个像素点的r,b,g三个参数调成一样的,也就能形成灰度图
12def imread(filename: str, flags: int = ...)
这里的flags能选择读入图片的形式:0是灰度图,1是彩色图
123456789101112for i in range(img.shape[0]): for j in range(img.shape[1]): point = [i,j] (b,g,r) = img[i,j] b = int(b) g = int(g) r = int(r) # gray = 255 gray = (b + g + r)/3 # 第一种灰度化方法 # gray = r*0.299 + g*0.587 + b*0.114 # 第二种灰度化方法 img[i,j] = np.array([gray,gray,gray],dtype = ...
编译原理
编译器的结构介绍
1234graph LRA[高级语言]-->|编译|B[汇编语言]A-->|编译|C[机器语言]B-->|汇编|C
编译流程
123graph TDA(源程序)-->B[预处理器]-->|将存储在不同文件中的源程序聚合在一起,宏展开|C(处理后的源程序)-->D[编译器]-->E(汇编语言)-->F[汇编器]-->G(可重定位目标文件)-->H[链接器&加载器]-->|修改可重定位目标文件,将修改后的指令和数据放入内存中|I(可执行目标文件)J(库文件)-->H
编译器结构
12graph TDA(字符流)-->B[词法分析器]-->C(词法单元流)-->D[语法分析器]-->E(语法树)-->F[语义分析器]-->G(语法树)-->H[中间代码生成器&机器无关代码优化器]-->I(中间表示形式)-->J[目标代码生成器]-->K(目标机器语言)-->L[机器相关代码优化器]-->M(目标机器代码)
其中机器无 ...
设计模式
GitHub - Luo25177/Design-Pattern
介绍
设计原则
依赖倒置原则
高层模块(稳定)不应该依赖于低层模块(变化),二者都应该依赖于抽象(稳定),稳定的东西不应该依赖于变化的东西
抽象(稳定)不应该依赖于实现细节(变化),实现细节应该依赖于抽象(稳定),稳定的东西不应该依赖于变化的东西
解决: 创建抽象类,之后的类依赖抽象类
依赖:例如A依赖B,在编译A的时候只有B存在才能编译成功 编译式依赖
开放封闭原则
对扩展开放,对更改关闭
类模块应该是可以扩展的,但是不可以修改
单一职责原则
一个类应该仅有一个引起它变化的原因,一个类不能放太多功能,也就是不能有太多的责任
变化的方向隐含着类的责任
Liskov替换原则
子类必须能够替换它们的基类(is-a)
继承表达类型抽象
接口隔离原则
不应该强迫客户程序依赖他们不用的方法
接口应该小而完备
真正有必要暴漏出去的方法才做成 public
优先使用对象组合而不是类继承
类继承通常为"白箱复用",对象组合通常为"黑箱复用"
继承在某种程度上破坏了 ...
操作系统
前言
这个笔记是跟着 jyy 老师学的,有兴趣的话可以看看原视频,讲的很不错
读手册,读手册,读手册
http://jyywiki.cn/pages/OS/2022/demos/
绪论
操作系统是服务于程序的,程序就是状态机,计算机每执行一条指令计算机的内存和寄存器都会发生变化
操作系统=对象(文件,进程,管道)+API(操纵对象的API)
用简单的硬件实现对象和API,操作系统可以用c程序实现
广义的操作系统:基于下层的支撑为上层提供服务
程序
程序就是状态机,作为一个状态机是没有办法自己销毁自己的,只能以死循环或者以一个系统调用(告诉操作系统该销毁了)结束,程序的状态机模型
状态 = 堆 + 栈
初始状态 = main 的第一条语句
迁移 = 执行第一条语句
任何 C 程序都可以改写成非复合语句的 C 代码,所有程序都是运行在计算机上的,计算机就相当于是状态机,C程序的所有代码都会被推入栈中,之后在运行过程中依次调用,每执行一条指令计算机的状态也会发生改变,指令是从pc取出来的,确定性的指令,状态是一条直线
系统调用 syscall
这个指令就是把系统完全交给操作系统,任其 ...
ubuntu指令
ubuntu关于安装的指令
bus restart重置输入法
sudo apt search package 搜索包
sudo apt show package 获取包的相关信息,如说明、大小、版本等
sudo apt depends package 了解使用依赖
sudo apt rdepends package 查看该包被哪些包依赖
sudo apt-cache pkgnames 执行pkgnames子命令列出当前所有可用的软件包
sudo apt policy package 使用policy命令显示软件包的安装状态和版本信息。
sudo apt install package 安装包
sudo apt install package=version 安装指定版本的包
sudo apt install package --reinstall 重新安装包
sudo apt -f install 修复安装 -f = --fix-missing
sudo apt remove package 删除包
sudo apt purge package 删除包,包括删除配置文件等
sudo a ...
zsh使用
安装
在 linux 终端命令行只需要一行指令安装
1sudo apt install zsh
设置为默认终端
在linux终端输入指令
1chsh -s $(which fish)
配置文件
是一个很不错的美化,曾经刚接触 linux 时就是用的这个(后来改用fish了)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118# ~/.zshrc# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.# Initialization code that ...
vim使用
前言
作为一个历史上最出色的编辑器,拥有自定义按键功能,并且可以大大提高工作效率
在linux中的安装
在linux中只需要一行指令安装
1sudo apt install vim
linux 上的配置文件
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150" etc/vim/vimrc" the call to :runtime you ca ...