Other

【FreeRTOS学习笔记 】学习写链表

遇到结构体定义不完全: 如图,注意不要在结构体里用到还未声明的结构体; 调试中进入硬FLAUT: 只运行到写一个结构体而已.. 如图,在使用结构体指针时,需要为它分配内存: 此时访问不会 继续看有没有别的方法,并且还不知道分配内存函数做了什么;

Linux防火墙命令

一、防火墙的开启、关闭、禁用命令 (1)设置开机启用防火墙:systemctl enable firewalld.service (2)设置开机禁用防火墙:systemctl disable firewalld.service (3)启动防火墙:systemctl start firewalld (4)关闭防火墙:systemctl stop firewalld (5)检查防火墙状态:systemctl status firewalld 二、使用firewall-cmd配置端口 (1)查看防火墙状态:firewall-cmd --state (2)重新加载配置:firewall-cmd --reload (3)查看开放的端口:firewall-cmd --list-ports (4)开启防火墙端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent 命令含义: –zone #作用域 –add-port=8000/tcp #添加端口,格式为:端口/通讯协议 –permanent #永久生效,没有此参数重启后失效 注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效 (5)关闭防火墙端口:firewall-cmd --zone=public --remove-port=8000/tcp --permanent

Report格式要求

要求的字数是不包括附录的 拼写和语法无误 Reference: Harvard format, 文中引用in-text citations,常见错误如下 文中引用不对 作者misk S 年份 没有首字母排序 harvard格式不对 描述构建人工制品/产品的过程,并涉及以下事项: 进行的研究和分析 设计过程 实施考虑 批判性评价 要有问题背景 & 细化aim 图下加小标题+more details 写遇到的问题和挑战 解决了 如何解决的 没有解决 为什么没解决

Email Templates

PS 该文用于记录在上学期间,和professor, tutor, supervisor, accommodation, postgraduate application等的一些常用邮件回复。 Application Status Situation: 主要是针对研究生申请过程中,梦想院校迟迟不发审核结果的情况,进行邮件催申请结果。 Words: 200-300 To: 申请专业的邮箱+具体专业的教授/助教+总的admission committee Subject: Enquiry about Application Status Content: Dear Sir/Madam, Application No. (CAS ID) : xxx. I am xxx, a 2022 Fall applicant for MS in xxx Programme. Thank you for taking the time to process my application, I am writing this email to inquire if there is any update on my application progress.

PgoOps运维平台部署文档

简介 官网: http://www.pgoops.com gitee: https://gitee.com/pgoops github: https://github.com/yanshicheng/pgoops 准备工作 ​ 准备工作如果已经安装好了环境可以越过。 编译安装 Python3.10 项目基于 python 3.10+ ,确保 python 和 pip 正确配置 下载软件包 root@cloud-001:~# wget https://www.python.org/ftp/python/3.10.3/Python-3.10.3.tar.xz --no-check-certificate 解压软件包 root@cloud-001:~# tar xf Python-3.10.3.tar.xz root@cloud-001:~# cd Python-3.10.3/ 编译安装 root@cloud-001:~/Python-3.10.3# apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev liblzma-dev root@cloud-001:~/Python-3.10.3# ./configure --prefix=/usr/local/python3.10 --enable-shared --enable-optimizations --with-ssl root@cloud-001:~/Python-3.10.3# make -j 8 root@cloud-001:~/Python-3.10.3# make install root@cloud-001:~/Python-3.10.3# echo /usr/local/python3.

OO第二单元总结

OO第二单元总结 作业总结 第五次作业 作业简介 这次作业是编写一个简单的多线程实时电梯系统,实现模拟五部电梯接送乘客的功能。 类图与协作图 类图如下: 协作图如下: 各个类含义如下: Main:主类Person:乘客类/请求类AllTable:全局Table(后来发现其实和控制器类似)Table:请求队列Request:输入请求线程Elevator:电梯线程 代码分析 策略分析 这一次我主要采用look算法来调度我们的电梯。 当我们电梯发现前进方向有请求时,电梯按原方向前进,否则,电梯掉头。 当此层有乘客并且乘客的行动方向与我们一致时,并且电梯未满员,则捎带此乘客。 其实我并不是了解到look算法以后才编写的代码,而是先完成了本次作业才知道我用的是look算法。其实细心的同学会发现,这个算法不就是宿舍公寓的电梯算法吗?没错,我是先仿照了宿舍电梯的运行逻辑之后,想出了这样的调度算法。 同步块的设置和锁的选择 本次作业,由于一部电梯对应一个请求队列,是多线程中最简单的情况,每一个请求队列会被它对应的电梯和AllTable类调用,因此,只需要将请求队列中每一个方法加上synchronized即可。例如: public synchronized boolean havePerson(int status, int floor) { int key = 2 * floor - 2; if (status == -1) { key++; } if (floorMap.get(key).size() == 0) { notifyAll(); return false; } notifyAll(); return true; } bug分析 自测和课下: 在课下自己的测试中我一共出现了三次bug,但是很巧的是,三次bug根本原因都是一个。由于我不太习惯使用枚举型变量来存储一些状态、数据,而是使用int人为规定1,2,3,4等状态码来表示电梯的状态,楼层等。由于数组变量是从0开始的,而现实中的电梯是从1楼开始的,因此我在对应的时候想当然的用楼层数去取数组变量;在电梯状态方面,我在一处代码中用错状态码导致出现致命bug。 互测和公测: 第五次作业的互测和强侧并没有测出我的bug,但是诚实的说,我并没有安全输出类,因此我的输出线程并不安全。 测试思路 由于是第一个多线程作业,我的测试并没有什么明确的思路,我的测试分两种,一种是同一时刻输入很多指令,另一种是隔很久输入一两条指令,来找出多线程调度的漏洞。前者是测试有无线程不安全和死锁问题,后者是测试有无死等问题。 第六次作业 作业简介 这一次作业加入了横向电梯和多部电梯的设定,增加了线程之间的耦合度,提高了编码的难度。 类图与协作图 类图如下: 协作图如下:

ubuntu 20.04中配置静态IP

1、系统 root@liujiaxinpc1:/home/test# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.4 LTS Release: 20.04 Codename: focal  2、查看网卡名称 root@liujiaxinpc1:/home/test# netstat -i Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg ens32 1500 48091 0 0 0 8458 0 0 0 BMRU lo 65536 224 0 0 0 224 0 0 0 LRU  3、修改网络配置文件,保存退出 # This is the network config written by 'subiquity'??? 这个格式贼难调, 可以直接复制这个模板 network: ethernets: ens32: ## 网卡名称 addresses: - 192.

集合流式编程

1. 集合流的简介 1.1 集合的流式编程简介 Stream流:是JDK1.8之后出现的新特性,也是JDK1.8新特性中最值得学习的特性之一。 Strem流:是对集合操作的增强,流不是集合的元素,也不是一种数据结构,他不负责数据的存储。流更像是一个迭代器,可以遍历集合中的每一个元素进行处理。 1.2 为什么要使用集合的流式编程 有些时候,我们需要对集合中的元素进行操作。在这个过程中,集合的流式编程可以大幅度的简化代码、将集合里面的数据读取到一个流中,对其中的数据进行操作。 1.3 使用流式编程的步骤 获取数据源(可以是集合,数组等),将其中的数据读取到流中。 对流中的数据进行各种各样的处理。 对流中的数据进行整合处理。 2. 数据源的获取 2.1 数据源简介 数据源:就是流中数据的来源。 特别注意:当将数据读取到流中进行处理时,我们在流中对数据进行的处理时,不会影响数据源。 2.2 数据源的获取 方法一: Stream<Integer> stream = list.stream(); 方法二: Stream<Integer> stream = list.parallelStream(); 方法三: IntStream<Integer> stream = Arrays.stream(array) 关于stream()与parallelStream()的区别: stream():获取的数据源是串行的。 parallelStream():获取的数据源是并行的。 其中集成了多个线程对流中的数据进行操作,效率更高。 3. 处理 3.1 filter 条件过滤,仅保留流中满足指定条件的数据,其他不满足的数据都会被删除掉。 3.2 distinct 3.3 sorted 3.

Redis基础

Redis Redis介绍和安装 redis 是一个非关系型数据库(区别于mysql关系型数据库,关联关系,外键,表),nosql数据库(not only sql:不仅仅是SQL),数据完全内存存储(速度非常快),存数据的形式是key value的形式, value有五大数据类型:字符串,列表,hash(python中的字典),集合,有序集合 使用redis的优势: (1) 速度快,因为数据存在内存中,类似于字典,字典的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,list,set,sorted set,hash (3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行 (4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除 redis 最适合的场景(主要做缓存,所以又叫缓存数据库) (1)会话缓存(Session Cache)---》存session---》速度快 (2)接口,页面缓存---》把接口数据,存在redis中 (3)队列--->celery使用 (4)排行榜/计数器--->个人页面访问量 (5)发布/订阅 安装

ubuntu20.04中配置阿里源

1、查看系统及代码 root@liujiaxinpc1:/home# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.4 LTS Release: 20.04 ## 发行版 Codename: focal ## 代码  2、备份系统默认的源 root@liujiaxinpc1:/home# mv /etc/apt/sources.list /etc/apt/sources.list_bak ## 备份系统默认源  3、配置阿里源 root@liujiaxinpc1:/home# vim /etc/apt/sources.list ## 编辑为一下内容,保存退出 deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.