ESEE和eye301项目小记
eye30125.7.23一个pycharm使用小技巧也是Django后端启动命令python manage.py runserver的一个类似快捷方式的技巧。
先在界面左侧的manage.py右键点击run,跑完之后,上边栏的绿三角run就会出现manage的图标。
点击该图标,在其中找到Edit Configurations并点击。
随后在打开的界面的左侧中找到Python下的manage并点击,随后在右侧的Script parameters中输入参数runserver即可使之后每次对该文件run时,带上该参数进行,效果大致如下:
25.7.29
now = timezone.make_aware(datetime.now(timezone.utc))语句中now的类型?datetime.now(timezone.utc)获得一个表示当前 UTC 时间的aware对象(有时区信息)timezone.make_aware(...)将naive datetime对象转换为aware datetime对象(附加时区信息)过于冗长了,可以更加简洁:now = datetime.no ...
Django
Django帮助处理了Web开发的大部分麻烦,我们只需集中精力开发应用不用重复造轮子。其包含数十个附加功能,可用于处理如身份验证、内容管理、文件上传和缓存处理等常见开发任务。非常安全,避免诸如SQL注入、跨站点脚本、跨站点请求伪造和点击劫持等安全错误。
前后端开发后端提供数据,前端只负责界面,后端只提供接口即可,一接口适配多终端。
后端项目的开发例子django创建项目及应用
py -m venv venv创建虚拟环境
venv\Scripts\activate激活虚拟环境
pip install django pillow在虚拟环境中安装django和pillow
django-admin startproject project .创建项目,其中.的作用是解构文件夹,即将project中的manage.py展开到文件夹之外。此处创建的文件的作用如下:asgi.py通过asgi异步方式部署时的入口文件,setting.py项目的配置文件,urls.py项目的根路由文件,wsgi.py通过wsgi同步方式部署时的入口文件,manage.py为项目的入口文件。
...
数据库
数据库数据库管理系统类型关系型数据库~使用关系模型来存储数据,使用二维表来关联数据。常见有:MySQL、ORACLE、PostgreSQL
非关系型~对前者的补充和发展。常见:Redis、mongoDB、neo4j、cassandra
SQL用来操作关系型数据库的语言,用于操作关系型数据库中表中的数据。一般不区分大小写,但是对于关键字,一般全大写。分为有以下几种:
DDL 数据定义语言定义数据库对象,如数据库、表、列等相关关键字:CREATE、DROP、ALTER、TRUNCATE等。
DML 数据操作语言用于对数据库中的记录进行新增、删除或修改操作相关关键字有:INSERT、UPDATE、DELETE、CALL
DQL 数据查询语言查询数据库中记录。SELECT、WHERE等
DCL 数据控制语言定义数据库访问权限和安全级别。GRANT、REVOKE等。
基本表与导出表基本表实际存在,每个表在存储中可用一个存储文件表示
导出表由基本表导出的,有视图和快照
视图虚表,即视图对应的数据不实际存储在数据库中,只在数据库的数据字典中存储视图的定义,其一经定义即 ...
backend
本地运行使用:python manage.py runserver
SHELL挑战性任务
SHELL挑战性任务实现报告任务要求基于lab6实现的shell进行增强。
任务内容支持相对路径为每个进程维护工作目录这一状态(明示在PCB中加东西),实现cd、pwd等内建指令,并为其他与路径相关的指令提供路径支持。
工作目录:进程当前所在目录,来解析相对路径。
绝对路径:以/开头路径,始于根目录。
相对路径:不以/开头路径,相对于当前工作目录解析,可能含有.(当前路径)和..(上一级路径)特殊符号(要特殊处理)。
其中,cd的具体要求:
输入
行为
输出
返回值
cd
切换工作目录到 /
无
0
cd <abspath>
若绝对路径 <abspath> 存在且为目录,切换到该目录
无
0
cd <relpath>
根据当前工作路径,对相对路径<relpath>,若存在且为目录,切换到该目录
无
0
cd <noexist_path>
路径不存在
cd: The directory '原始输入' does not exist\n
1
cd < ...
军事理论知识点杂烩
中国国防国防概述国防是什么?
指国家为防备和抵抗侵略,制止武装颠覆和分裂,保卫国家主权、统一、领土完整、安全和发展利益所进行的军事活动,以及与军事有关的政治、经济、外交、科技、教育等方面的活动。
基本职能捍卫国家主权与领土完整,防止外来侵略与颠覆。不同社会形态的职能侧重不同:
奴隶和封建社会:将各阶级维持在一定的“秩序”范围内。资本主义:以武装力量保护和扩大商品生产与贸易,防范传统与非传统的军事威胁。社会主义:维护国内安全与稳定,确保各民族的平等生存与发展,抵抗外来侵略,维护世界和平。
基本内容国防建设和国防斗争
地位作用国家生存与发展的安全保障抵御外来入侵和保证国家安全的有利屏障。无国防何谈主权、领土、安全和统一。
国家独立自主的前提旧中国的两半社会性质和新中国自立于世界民族之林的对比,(从正反两方面讨论,尚武精神、中国梦等)。
国家繁荣富强的重要条件生存、政权稳固和利益维护离不开国防。
国防类型按社会形态奴隶制国家国防、封建制、资本主义和社会主义~。
按历史时期古代、近代和现代。
是否处于战争状态战时和平时
按国家基本政策和战略属性扩张型:霸权主义、强权政 ...
SWAP挑战性任务
SWAP挑战性任务实现报告任务内容任务使用swap_disk挂载至MOS作为swap时存储磁盘。
PIIX4的介绍:MOS基于Malta开发板,而其所使用板载的PIIX4芯片组支持IDE等设备并有两个独立的IDE通道。一个IDE通道连一个IDE控制器,一个控制器连两个IDE设备,则MOS的PIIX4支持4块IDE设备。两个IDE控制器偏移地址为:1.主控制器块偏移:0x1F0;2.从控制器块偏移:0x170(这些都基于PIIX4的PCIIO基地址0x18000000,即实验中定义的MALTA_PCIIO_BASE)具体读写操作参考原有实现为避免与文件系统使用的主IDE控制器冲突,可在内核态使用从IDE控制器读写磁盘,用于存储交换页面。可修改Makefile文件中定义的QEMU_FLAGS变量来挂载多块磁盘。即多加一条:$(shell [ -f '$(swap_disk)' ] && echo '-drive id=swap,file=$(swap_disk),if=ide,format=raw') \。0、1号IDE磁盘由主控制器使用, ...
lab6实验报告
lab6实验报告思考题Thinking 6.1题面1示例代码中,父进程操作管道的写端,子进程操作管道的读端。如果现在想让父进程作为“读者”,代码应当如何修改?
回答只需要将父子进程中的操作流程反过来即可,也就是在子进程中关闭读端close(fildes[0]),然后进行写操作,并且在写入结束后关闭写端;再父进程中关闭写端close(fildes[1]),然后进行读操作,并且在读取结束后,关闭读端即可。
Thinking 6.2题面1上面这种不同步修改 pp_ref 而导致的进程竞争问题在 user/lib/fd.c 中的 dup 函数中也存在。请结合代码模仿上述情景,分析一下我们的 dup 函数中为什么会出现预想之外的情况?
回答dup函数代码如下:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152/* Overview: * Duplicate the file descriptor. * Post-Condition: * Retur ...
OO第四单元总结
OO第四单元总结第13次作业设计架构类设计MainClass主类,只提供一个主方法,主要去调用其他类提供的方法,此处独立出一个Library类来统一接收响应图书馆的各种操作,主类通过Library提供的一个run()方法完成相应的图书借阅操作。
Library图书馆,主要接收和响应各种操作,与输入输出指令进行交互。
所需属性:bookshelf、borrowReturnOffice、appointmentOffice(三个基本部件,用于承担将指令操作分摊的任务)、HashMap<String, User> users(统计所有出现过的与图书馆进行交互的学生)、HashMap<LibraryBookId, Book> books(用来方便获取查询操作中每本书的去向路径)、date(当前时间)
所需主要方法:run(主要方法)、handle4Queried(处理查询操作,在本类完成)、handle4Borrowed(处理借书操作,下放到Bookshelf类完成)、handle4Ordered(处理预约书操作,下放到AppointmentOffice类完成)、hand ...
lab5实验报告
lab5实验报告思考题Thinking 5.1题面1如果通过 kseg0 读写设备,那么对于设备的写入会缓存到 Cache 中。这是一种错误的行为,在实际编写代码的时候这么做会引发不可预知的问题。请思考:这么做这会引发什么问题?对于不同种类的设备(如我们提到的串口设备和 IDE 磁盘)的操作会有差异吗?可以从缓存的性质和缓存更新的策略来考虑。
回答
缓存只能记录CPU的读写结果,却无法在外设对数据进行修改时及时调整。当外设产生中断信号或更新数据时,此时对应的Cache中此前旧的数据很可能刚刚完成缓存,则完成缓存的这一部分并无法完成相应的更新,将发生错误的行为,总之就是与外设交互是实时性很强的行为,采用缓存到Cache中的方式将引发错误。
对于串口设备而言,读写操作频繁,接发收信号多,在相同时间内发生错误的概率远远高于IDE磁盘。
Thinking 5.2题面1查找代码中的相关定义,试回答一个磁盘块中最多能存储多少个文件控制块?一个目录下最多能有多少个文件?我们的文件系统支持的单个文件最大为多大?
回答1.代码如下:
1234567//user/include/fs.h...#defi ...






