- 博客(53)
- 收藏
- 关注
原创 Rcore第一章OS核心代码注释
因为我是一边跟着教程看一遍领悟一边魔改的,如有错误敬请指正trap.S# 前7行是我们定义了两个宏,因为我们存储上下文的时候有32个寄存器状态要保存,不可能写32行保存的代码# 于是用宏简化我们的多行代码编程小部分几行.altmacro.macro SAVE_GP n sd x\n, \n*8(sp).endm.macro LOAD_GP n ld x\n, \n*8(sp)# 定义整个汇编连接到text吨,定义几个能全局访问到的函数与变量.endm .secti
2022-05-28 22:10:37
706
原创 FLTK-Rs
fltk-rs: Rust GUIWindows , Some Widgets:Button, Label, Menu, Input, Valuator, Text, Browser
2022-05-21 22:05:36
2163
原创 CPython开启自毙之旅
首先啊,我只学过C. 其次,我只在大一的时候学过C. 最后,我更爱Rust.但是我也很喜欢Python。 所以说,自虐吧, CPython源码阅读计划开启:参考博客:https://www.cnblogs.com/traditional/p/13655426.html我们可以import调用,但是在Python安装目录里面则是看不到的。像这种底层由C编写、内嵌在解释器里面的模块,以及那些无法使用文本打开的pyd文件,pycharm都会给你做一个抽象,并且把注释给你写好。Python源码中的Modu
2022-05-08 21:16:12
422
原创 Rust 小结1 端到端聊天
//被动连接端use std::io::{ErrorKind, Read, Write};// use std::cmp::max;use std::net::{TcpListener, TcpStream};use std::{net, thread};use std::borrow::BorrowMut;use std::io::stdin;use std::rc::Rc;use std::sync::{Arc, Mutex};use std::thread::Thread;use
2022-04-30 16:33:08
653
原创 算法学习2
前缀和一种重要的预处理,大大降低查询的时间复杂度。原理很简单,如同其字面意思,求list前n个数的和就是前缀和哦例题 303. 区域和检索 - 数组不可变class NumArray: def __init__(self, nums: List[int]): self.nums = nums # 定义了一个首位元素为0 self.pre_num_sum = [0] for i in self.nums: se
2022-04-27 14:44:33
211
原创 算法学习1
算法向因为周五的时候收到了周日要笔试的消息,So, 上牛客刷了刷题,然后都不会~~(阿哲)~~ 。反正这两天就是疯狂刷题适应OJ, 我估计笔试五道变成应该能写出两道(泪目),所以被迫更新一下算法.(好的结果是AC 2.6/5, 太拉了,,)背包问题问题:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。很明显这玩应绝壁不可能是贪心算法~~(要是贪心算法该有多好,呜呜呜)~~。 那么我作为一个最
2022-04-25 20:00:54
415
原创 Oauth协议1,你是如何跨平台登陆的?
Oauth协议,你是如何跨平台登陆的?在今天我们在某些网站进行登录、注册的时候,不乏都能看见可以使用QQ注册,只用微信注册等等。我之前一直以为这是区块链连起来所有数据去中心化的功劳,可这玩应好像在区块链火了之前就一直存在,其实背后的原理,就是Oauth协议的功劳。基本概念Oauth, Open Authorization , 一种开放授权协议,允许第三方应用程序使用资源的所有者通过凭据获取资源访问权限。现在我们进行跨平台登陆的时候最常用的就是2.0版本。1.0版本理念比较差,而且和2.0不兼容,就没有
2022-04-14 22:14:42
894
原创 Rust学习3
Struct结构体什么是Struct: 结构体, 一种自定义的数据类型,为相关联的值命名、打包,使之成为有意义的组合。定义与实例化使用struct 关键字, 并未整个Struct命名利用花括号为所有字段(Field) 定义名称与类型,用逗号隔开。struct Student { name: String, school: String, hobby:Vec<String>, age: u8,}Struct既然被定义了,那肯定要实例化不然
2022-04-14 21:24:40
594
原创 Rust学习2
Rust初步入门变量与可变性声明变量使用let的关键字默认情况下,变量是不可变得(明明叫变量却不可变,,醉了) 通过mut关键字声明可变虽说Rust变量是不可变类型,但是毕竟是变量。在Rust中是有常量的概念的:使用const声明的的量是常量,不可被mut关键词修饰常量的类型必须被标注清楚常量可以在任何作用域内声明, 包括全局作用域//一个例子的demofn main(){ let x:u8 = 5; let mut x:&str= "Hel
2022-04-13 22:00:07
981
原创 Rust学习1
Rust入门, 更偏向底层的学习Rust与C/C++拥有相同的性能,是无运行时语言,可以保证内存安全。Rust最初是Mozilla公司的研究型项目,Firefox是Rust产品的重要例子。Rust的安装别的不说咱们直接冲官网就vans了, 下载一个rustup-init.exe, 运行安装但是翻安装信息的时候发现安装位置不咋对,看看原文是怎么说的:我们可以改环境变量来保证安装位置,那敢情好。Rustup metadata and toolchains will be installed into
2022-04-12 20:45:55
268
原创 k8s学习2
Spec中常见子属性:containers class 容器列表:定义容器得详细信息nodeName: 根据nodeName 将pod调度指定得Node上nodeSeletor map 根据Node中定义得信息选择将该调度到包含这些label的Node上hostNetwork 是否使用主机网络模式。默认False, 如果True使用宿主机网络volumns class 数据卷,定义在Pod上挂载存储信息restartPolicy 重启策略, 表示Pod在遇到故障的时候的处理策略Po
2022-04-07 21:46:16
358
原创 k8s学习1
K8S资源管理简介:在k8s中,所有的内容都抽象为资源。用户需要通过操作资源来管理k8sk8s就是集群系统,用户可以在集群中部署各种服务,即在k8s中运行一个个容器,并将指定的程序跑在容器中k8s最小管理单元是pod而不是docker.k8s也不直接管理pod,而是通过pod控制器管理podPod可以提供服务之后,就考虑如何访问Pod中的服务。Service承担这个功能Pod数据如果需要存储话, k8s提供了存储系统方便数据持久化所以说,k8s的核心就是学习Pod, Pod控制器, Ser
2022-04-06 21:23:49
1302
原创 腾讯云轻量搭建K8s遇到的坑 Ubuntu20.04系统
K8S集群搭建K8S的集群大体上分为两类:一主多从与多主多从。一主多从: 存在单机故障风险,搭建简单,适用于测试环境多主多从: 搭建麻烦,安全性高,适用于生产环境安装: 有三种安装方式:minkube(快速单间单节点k8s的工具), kubeadm快速搭建k8s集群的工具, 二进制包(从官网一个一个下,比较麻烦但是理解的更深刻)咱就是说坑踩多了就老老实实的跟着教程走:关闭swap, 关闭防火墙(ufw), 写入主机名, 设置时戳:(Tips: swap 指允许我们使用虚存, 必须禁
2022-04-05 18:52:53
5022
2
原创 Nginx学习3
ocation: 用来设置请求的URI。 其语法较为灵活,支持 =(精确匹配) ~(正则,区分大小写) ~*(正则,不区分大小写) ^~(模式不匹配则终止) @() uri… (uri变量是待匹配的请求字符串).Nginx 搜索location和server_name一样,都是先精确再模糊**(正则)**,主要用来设置我们应用的分级路由这样的配置server{ listen 80; server_name localhost # 设置主路由 location /{ roo..
2022-04-03 13:27:02
2116
原创 MYSQL 复苏2
关于B树B+树问题纠正:B树和B+树是允许键值重复的。虽然大部分的教程基于不支持重复,有的甚至直接说不支持重复真的请不要误导。 B+树中遇到重复键值的方法主要是采用溢出页的方法。即分配一个溢出页来存放所有重复键值以及其记录的偏移量:这也能很好的解决下面的辅助索引关于索引值重复的问题InnoDB中的索引:聚集索引/ 聚簇索引:只建立一颗B+树 (索引树为主键)将表的主键用来构造一棵B+树,并将整张表的行记录放在B+树的叶子节点中。对于聚集索引来说,叶子节点会放置这个所有的数据,而且根据主键式排好
2022-04-02 17:32:55
1371
1
原创 K8S 初识 +踩坑, ubuntu安装教程1
引子:在现代开发当中,整体式的应用早已成为过去时,如今的应用由数十乃至数百个松散结合的容器式组件构成,而这些组件需要通过相互间的协同合作,才能使既定的应用按照设计运作。容器编排是指对单独组件和应用层的工作进行组织的流程。而容器编排会遇到如下的问题:一个容器故障停机了,怎么让另外一个容器立刻启动去替补停机的容器当并发访问量变大的时候,怎么样做到横向扩展的容器数量为解决这些容器编排问题,,产生了伊西俄容器编排的软件。K8S就是google开源的容器编排工具。K8S简介:kubernetes,是一
2022-03-31 20:45:07
689
原创 Mysql 学习1
咱就是说,写这个东西纯纯是半功利性的深入挖掘Mysql, 但并不等于说我Mysql在这一阶段学的不认真Mysql体系架构:(连接池: JDBC, Python,API 等等外部连接)管理工具与服务: 系统管理,备份, Mysql集群等等SQL接口: DML, DDL , 接受SQL命令并返回查询接口Parser : 解析器,解析SQL语句成为语法树Optimizer 优化器, 对SQL 语句进行一定的优化分析(Cache 查看查询的语句,表,权限等是否缓
2022-03-29 20:21:35
1100
原创 Python简单魔法方法
说到魔法方法可能和我一样是小白的人没什么印象,但是如果说到Python 类的构建大家都应该能想到下面的函数class _(): def __init__(self): .......其实看似简单的类定义实际上暗藏玄机, 其中就蕴含了一个魔法方法:__ init __ 。关于 __ init __ 干什么用的大家也都知道,是在创建对象的时候在初始化被调用,又叫构造函数。其实除了__ init __ 之外还存在不少我们生活中经常遇到但是会完全忽视掉的方法,比如print(dict) print一个对
2022-03-27 14:36:25
786
原创 Python装饰器
Python装饰器先说概念,Python装饰器 (decorator) 本事上是对函数闭包 (fuction closure) ** 的语法糖(Syntacic suger)** 。 没错,一句话里出现了三个我从来没有见过的高大上的名词。 所以说要学明白什么是装饰器,就要搞清楚这三个概念。函数闭包什么是函数闭包:一个函数,其参数和返回值都是函数(众所周知Python的函数可以当指针变量来使用)eg.# 我想要打印一句话并统计打印这句话花费的时间# 第一种, 打印与计算时间耦合def prints
2022-03-26 20:29:02
1091
原创 Django 规范化编程10
Task12 Restful关于Rest, 我应该在其他的文章中涉及到那么一点点。(如果你们在我的文章中没看到过说明是在我还没发出去的半成品) 简单说以下为什么要用Restful. Restful实际上是早就出现了,但是无论在哪中设计理念上都有着非常重要的含义。就最近的我们的微服务框架来说,在服务与服务之间的相互调用的过程中,Rest规范是将我们服务之间调用的一种格式。没有Rest服务的调用就会变得非常麻烦,而且没统一标准的请求与响应,不同服务间的适配就会麻烦的上天。所以我们要学习Rest(以上是我的理解
2022-03-26 16:48:41
1358
原创 Django规范化编程9
Task8 Django的日志Django的日志Logging的组成成分:日志的版本号 version日志的格式化 formatters日志的处理器 handlers日志的记录器 loggers , 默认存在"django", “django request”日志的过滤器 filters其实这一章我听得也是比较模糊的,不过这个应该算是Django的核心配置之一,所以放大佬的链接镇楼:https://zhuanlan.zhihu.com/p/133864368。好吧,我疯狂恶补了
2022-03-24 15:54:41
171
原创 网络攻防技术(摆烂一天)
网络攻防技术非常基础1. 信息采集信息采集的重点概念:信息采集是黑客为了更有效的实施攻击而在攻击前对被攻击目标进行探测活动(信息渗透的过程)信息采集是渗透重要的一部分;知道的越多就可能知道的更多;没有无用的信息信息采集分类:主动(直接方位目标主机活目标子网下的设备) 被动(采用搜索引擎进行访问。行为不会被目标主机发现)搜索高级语法:* AND* OR* +* -* .(匹配任意字符)* site: (搜索具体主机,服务器下的信息)* filetype* inu
2022-03-23 22:59:18
6347
原创 Django 规范化编程8
Task5 Cookie与Session与token众所周知,Cookie是我们进行请求的时候一个很常见的响应参数,它可以做到保持我们的状态信息等操作,也可以装载一些减轻应用负担的数据,(比如购物车) 注: Cookie不能跨浏览器,也不能跨域名Cookie在Djangoz中可以用如下的方法:HttpReponse.set_cookie().其中涉及到如下属性的操作:key: value cookie肯定是以键值对的形式设置的嘛max_age: cookie的有效时长,单位s。 当指定为
2022-03-22 21:26:22
735
原创 Django 规范化编程7
Django进阶Task1 了解请求相信学过计网的大家对请求,尤其是B/S的HTTP请求大家应该都了解的差不多了。这里抛开计网的知识不谈,我们来解析一下。其实Django的请求,或者说Django的请求对象我们在之前已经接触过,在Views中我们的函数都会有一个参数:request: Django.http.HttpRequest。这个请求我们可以差分出以下的属性:path : 完整的请求路径method: 请求方法 GET POST PUT DELETEheaders: accept:
2022-03-21 21:30:18
545
原创 Nginx 学习日记2
events块accept_mutex: 设置Nginx网络连接得序列化(默认 accept_nutex on;)这个配置用来解决 “ 惊群问题" , 即一个请求发送过老的得时候,nginx worker进程全被唤醒了,但是最终只有一个进程可以获取到连接 所以其他worker就空转了呗, 会影响Nginx得整体性能。 这个序列化不是指Serialization, 而是Order给请求排序。使特定的进程响应请求,防止资源争夺multi_accept: 设置一个worker进程是否允许同时接受多个网络连
2022-03-20 21:39:32
4142
原创 Django规范化编程6
Tips: 工欲善其事,必先利其器。我们做Password验证的时候绝壁不可能使用铭文进行验证。 再Django中我们可以采用Django.contrib.auth.hasher.make_password将密码加密。再admin保证铭文注册存储密文,可以采用models下模型重写save达到效果。最后强调一点, 如果不想用csef直接在settings的中间件中将其删除即可。Task15 Deemo Login密码的检验,可以用Django.contrib.auth.hasher.check_pas
2022-03-20 18:49:07
85
原创 Nginx学习日记1
Nginx 代理与负载均衡的部署简介背景:一个具有高性能的http和反向代理的WEB服务器,同时也是一个邮件协议(pop3,smtp,imap)代理服务器,是伊戈尔.塞索耶弗使用C语言编写的开源项目正向代理与反向代理:正向代理:当服务端因为某些原因拒绝客户端的访问时,客户端可以采用代理节点的方式获取服务端的数据(eg.翻墙);反向代理:服务端发送请求时,会把请求发送到Nginx代理服务器,由代理服务器经过负载均很等操作将请求分发给不同的(最优的)服务端进行响应,降低服务端的压力Nginx的优点:
2022-03-18 21:27:44
2686
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人