首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CSAPP lab

CSAPP学习过程 这篇文章主要记录CSAPP书和lab的学习过程,具体某个lab的踩坑过程会分别附单独链接,本文主要是记录漫长的学习过程以及方便想学但是尚未开始学习的同学参考,以下是github的lab...image.png Todo Bilibili翻译课程 lecture 1-4 搭建实验环境 Data lab Bilibili翻译课程 lecture 5-9 Bomb lab Attack...lab 前置材料 一本CSAPP CSAPP的bilibili翻译课程 实验材料 参考经验贴1 参考经验贴2 我想做些什么 开设这个仓库是想记录我做CSAPP的lab的过程,也顺便将踩坑过程分享,帮助后人少走弯路...学习过程(以Lab为单位总结) 简单查阅别的学习经验后,大多数人的分享都说看书再多遍也不如做lab学到的多,lab是课程的精髓,我已经粗略的学过编译原理,计算机组成原理和操作系统,所以我会比较快速的过一遍网课然后开始...lab,目标3个月完成大多数的lab(也许有一些实在不感兴趣的lab会跳过) Timeline 2022-03-30 完成Datalab 2022-03-28 完成实验环境搭建 2022-03-27 完成

1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    根据后台数据标点

    1 引言 小程序地图标点可以自己写死也可以根据后台数据自动标点,实现根据后台数据标点便于后期小程序的维护 2 问题 1、根据后台数据返回的经纬度,将标记点渲染到地图上 2、点击各个标记点,显示其一些详细信息...3 方法 思路比较简单,获取后台数据后用for循环遍历经纬度并将其放入markers中即可。...{ markers:[], }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var that=this; //获得后台数据...使用wx.request需要在详情 ==> 本地设置 中打开【不校验合法域名、web-view(业务域名)、TLS版本以及HTTPS证书】 如图: 4 实验结果与讨论 最终结果如图: 控制台打印的后台数据...: 5 结语 根据后台在地图上标点的重点是拿到数据后如何处理,这里我们用for循环将其放入markers中,总体上较为简单。

    71620

    MIT 6.830数据库系统 -- lab six

    MIT 6.830数据库系统 -- lab six 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi...各个lab的实现,会放在lab/分支下。 ---- 引言 在本实验中,我们将要实现基于日志的中止回滚和崩溃恢复。源码中提供了定义日志格式的代码,并在事务期间的适当时间将记录附加到日志文件中。...要实现的是simpledb的日志系统,以支持回滚和崩溃恢复;在lab4事务中,我们并没有考虑事务执行过程中,如果机器故障或者停电了数据丢失的问题,bufferpool采用的是no-steal/force...byte[] oldData; } 数据页一开始的旧数据是空的,那什么时候会对旧数据进行更新呢?...tid) throws IOException { // some code goes here // not necessary for lab1|lab2

    22520

    MIT 6.830数据库系统 -- lab four

    MIT 6.830数据库系统 -- lab four 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi...各个lab的实现,会放在lab/分支下。...---- 事务 事务是一组以原子方式执行的数据库操作(例如插入、删除和读取),也就是说,要么所有的动作都完成了,要么一个动作都没有完成,而数据库的外部观察者并不清楚这些动作不是作为单个不可分割动作的一部分完成的...两阶段锁协议的主要内容如下: 在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁。在对任何数据进行读操作之前要申请获得S锁,在进行写操作之前要申请获得X锁。...tid, boolean commit) { // some code goes here // not necessary for lab1|lab2

    27030

    MIT 6.830数据库系统 -- lab two

    MIT 6.830数据库系统 -- lab two 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi...各个lab的实现,会放在lab/分支下。 Lab Two lab2必须在lab1提交的代码基础上进行开发,否则无法完成相应的练习。此外,实验还提供了源码中不存在的额外测试文件。...,主要负责维护Page数据组织格式和数据读写操作,其内部属性如下所示: public class HeapPage implements Page { final HeapPageId pid;...fetchNext方法这里就是Insert装饰器对象需要实现的方法,其内部调用被装饰器对象的next方法获取所有数据,然后执行insert操作,同时计算插入数据条数,最终返回的是插入的数据条数。...data.txt 2 "int,int" 接下来创建数据库目录文件catalog.txt: data (f1 int, f2 int) 该文件会告诉SimpleDB数据库中包含一个表:data,其结构为两个

    32130

    MIT 6.830数据库系统 -- lab three

    MIT 6.830数据库系统 -- lab 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi...各个lab的实现,会放在lab/分支下。...本节理论基础可参考: CMU 15-445 – Query Optimization ---- 前言 我们应该在lab2的基础上进行开发,完成lab3的练习 下面是本实验的大纲: 实现TableStats...+ ntups(t1) x ntups(t2) //CPU cost ntups(t1)是表t1的元组数量 ---- 可选择性 可选择性如何理解: 可选择性指的是当前谓词匹配能够过滤出多少符合条件的数据或者过滤出的这批数据占总数据量比例是多少...* * This class is not needed in implementing lab1 and lab2. */ public class TableStats {

    27930

    MIT 6.830数据库系统 -- lab five

    MIT 6.830数据库系统 -- lab five 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi...各个lab的实现,会放在lab/分支下。 ---- 引言 在本实验中,我们将会实现B+树索引用于高效查询和范围扫描。...叶子节点可以包括数据记录或者指向其他数据库文件的指针。为了简单起见,我们实现的B+树的叶子节点只包括数据记录。...B+树内部节点是不保存数据的,只作索引作用,它的叶子节点才保存数据。...---- 小结 本节详细代码可以参考仓库lab five分支,相关类核心源码注释都已给出,大部分是笔者个人拙见,难免有错,希望大家带着辩证的视角去看待。

    23410

    JAVA大数据后台管理系统

    语言基于 SpringBoot2.x、Layui、Thymeleaf、MybatisPlus、Shiro、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建后台管理系统...字典管理:对系统中常用的较为固定的数据进行统一维护。 配置管理:对系统的常规配置信息进行维护,网站配置管理功能进行统一维护。 城市管理:统一对全国行政区划进行维护,对其他模块提供行政区划数据支撑。...广告管理:主要对各终端的广告数据进行管理维护。 站点栏目:主要对大型系统网站等栏目进行划分和维护的模块。 会员管理:对各终端注册的会员进行统一的查询与管理的模块。...网站配置:对配置管理模块的数据源动态解析与统一维护管理的模块。 通知公告:系统通知公告信息发布维护。 代码生成:一键生成模块CRUD的功能,包括后端和前端Vue等相关代码。...,50=导入数据,55=分配权限,60=重置密码" th:value="${info['funcIds']}"/> 特别鸣谢 感谢MybatisPlus、Layui等优秀开源项目。

    1.4K20

    【JavaWeb】102:后台数据校验

    今天学习后台校验,为了保证数据的唯一性:比如不同的用户不能使用同一个邮箱注册。 如何实现后台数据校验? 就需要使用到Java经典三层架构来实现了。...其中result就是服务器响应的数据。 "json":响应数据的类型,可以是xml、html等,这里使用的是json。 二、后台代码编写 1web层 创建一个servlet来接受上述提交的请求: ?...③响应数据 将处理后的数据响应给前端,因为ajax提交中的数据格式为json,所以需要将处理结果转换成json格式之后再响应。...三、页面渲染和测试 后台将处理后的数据响应给前端,其数据格式为json,前端要根据结果渲染对应的页面: ? ①在发送请求前,先对邮箱进行前端校验 如果不存在或者格式不对,没有必要发送请求给后台。...③该邮箱在数据库中已存在了,显示报错信息"邮箱已经被注册了"。 ①和③的区别在于:①是前端校验,并没有向后台发送请求,③是后台校验,发送了请求,查询数据库之后得到的结果。 最后 谢谢你的观看。

    77310

    Echarts动态加载后台数据

    注意:1、用Ajax请求获取后台数据 2、Echarts只能处理Json数据 后台Controller:根据业务需求不同而返回不同数据,我前台要循环遍历Echarts的series进行数据添加,所以后台返了个二维数组过去...前端JS:初始化时即加载Echarts,将不需要进行加载的配置项(例如title、tooltip等)不作改动,将需要动态加载数据的配置放入ajax的success:function(){}中进行处理。...定义一个为series这个即将动态加入数据的配置项准备的名为Item的数组容器, 接着对后台返回过来的数据(childkind)进行遍历,将遍历出的数据赋给容器中的相应属性(例:tp.name=childkind...由于series里面的data属性(接收的是数组数据)也需要进行数据动态加载,接着再定义一个list数组,循环写入数据到list中,再将list数组返给tp.data。

    4K50

    LAB_3 NAT

    LAB_3 NAT 一.NAT概述... 1 二.NAT综合实验... 3 三.TCP/UDP端口NAT映射... 5 四.利用地址转换实现负载均衡... 6 一.NAT概述 ·NAT核心思想:将私网地址转换成公网地址...数据包采用内部本地地址为源地址,外部本地地址为目的地址进行封装。 (2)NAT路由器先检查在路由表中是否有包含数据包目的地址的路由表项。如果没有与目的地址相匹配的路由表顶,则该数据包被丢弃。...如果有与目的地址相匹配的路由表项,则路由器检验数据包是否是从内部网络发往外部网络的,并且检验数据包是否与已配置的NAT匹配。...如果找到了,则把数据包的源地址用内部本地全局地址替换;如果仅配置了静态NAT,而没有与数据包匹配的静态NAT表项,则数据包不被转换,而直接被路由转发。...如果没有发现与之匹配的NAT表项,数据包不被转换而直接检查与目的地址匹配的路由表。如果没有发现与目的地址路由表项,则数据包将被丢弃。 ?

    5.5K10

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    热门标签

    领券