这一章里面我们学习了Go如何处理表单信息,我们通过用户登陆、上传文件的例子展示了Go处理form表单信息及上传文件的手段。但是在处理表单过程中我们需要验证用户输入的信息,考虑到网站安全的重要性,数据过滤就显得相当重要了,因此后面的章节中专门写了一个小节来讲解了不同方面的数据过滤,顺带讲一下Go对字符串的正则处理。 通过这一章能够让你了解客户端和服务器端是如何进行数据上的交互,客户端将数据传递给服务
这一章我们介绍了HTTP协议, DNS解析的过程, 如何用go实现一个简陋的web server。并深入到net/http包的源码中为大家揭开实现此server的秘密。 希望通过这一章的学习,你能够对Go开发Web有了初步的了解,我们也看到相应的代码了,Go开发Web应用是很方便的,同时又是相当的灵活。
这一章我们主要介绍了Go语言的一些语法,通过语法我们可以发现Go是多么的简单,只有二十五个关键字。让我们再来回顾一下这些关键字都是用来干什么的。 break default func interface select case defer go map struct chan else goto
这一章中我们主要介绍了如何安装Go,Go可以通过三种方式安装:源码安装、标准包安装、第三方工具安装,安装之后我们需要配置我们的开发环境,然后介绍了如何配置本地的$GOPATH,通过设置$GOPATH之后读者就可以创建项目,接着介绍了如何来进行项目编译、应用安装等问题,这些需要用到很多Go命令,所以接着就介绍了一些Go的常用命令工具,包括编译、安装、格式化、测试等命令,最后介绍了Go的开发工具,目前
本文介绍了sass最基本部分,你可以轻松地使用sass编写清晰、无冗余、语义化的css。对于sass提供的工具你已经有了一个比较深入的了解,同时也掌握了何时使用这些工具的指导原则。 变量是sass提供的最基本的工具。通过变量可以让独立的css值变得可重用,无论是在一条单独的规则范围内还是在整个样式表中。变量、混合器的命名甚至sass的文件名,可以互换通用_和-。同样基础的是sass的嵌套机制。嵌套
总结 这一章的实验指导中,我们成功单独生成 ELF 格式的用户程序,并打包进文件系统中;同时,从中读取,创建并运行用户进程;而为了可以让用户程序享受到操作系统的功能,我们使用系统调用为用户程序提供服务。
小结 本章我们的工作有: 在 QEMU 上挂载了存储设备 通过读取设备树找到了挂载的设备 实现了 virtio 驱动,把物理设备抽象为了驱动 进一步把驱动抽象给上层文件系统使用 调用 rcore-fs 的文件系统实现对文件的管理 现在,我们再也不会担心用户数据没有地方放置了,在下一个章节中,我们将实现用户进程,并让内核把用户进程加载和运行,实现和用户进程的交互。
小结 本章我们的工作有: 理清线程和进程的概念 通过设置 Context,可以构造一个线程的初始状态 通过 __restore 标签,直接进入第一个线程之中 用 Context 来保存进程的状态,从而实现在时钟中断时切换线程 实现内核栈,提供安全的中断处理空间 实现调度器,完成线程的调度 同时,可以发现我们这一章的内容集中在内核线程上面,对用户进程还没有过多的提及。而为了让用户进程可以在我们的系统
小结 回顾本章,我们理清了虚拟地址和物理地址的概念和关系;并利用页表完成虚拟地址到物理地址的映射;最后实现了内核空间段的重映射。 如果说本章和前一个章节是对空间的划分和管理,那么在下一个小节中,我们将实现对时间的划分和管理,也就是线程。
小结 本章完成了动态分配内存的管理和物理内存的管理,我们通过划分出一段静态内存为操作系统实现了动态内存的分配;通过页的管理模式,实现了物理页的分配器。 本章还只是物理内存的管理,后面为了进一步支持多线程的内存管理,我们将在下一章实现内存的虚拟化。 截至目前的所有代码在 lab-2 分支中
小结 本章完成了 RISC-V 中有关中断处理的部分,我们实现了中断相关的上下文保存和切换,使得原来正在的运行的程序不需要做任何处理就可以让操作系统处理好中断或异常。我们进一步完成了简单的断点中断和时钟中断,展示了中断处理的执行过程,为后面的章节(包括系统调用的处理)打下了一定的基础。 在下一章节中,我们将从物理内存的管理出发,让操作系统真正可以去管理我们的可以使用的内存。 截至目前的所有代码在
小结 本章作为一个预备实验,用 Rust 实现了一个最小化的内核,并成功通过 QEMU 中的 OpenSBI 启动了我们的内核。在下一章中,我们会和硬件进一步打交道,实现中断机制。
一生黑,面试开始了10分钟不见面试官,自4月份找实习加秋招还从没经历过这
我有一对纬度 然而,我需要一个更灵活的解决方案,例如,我希望能够指定1/3, 1/4, 8/9等对点之间。 注:lat1,long1
问题内容: 我希望能够将格式字符串中给定的小数位数转换为 Double 字符串。因此,“ ###,## 0.000”应该给我小数点后 两位 到3位。 编辑-向发生的情况添加了更多信息 用户在UI中输入值- 输入到字符串中。规则是此值限制为小数点后3位。基础代码将值存储在数据库中,然后将其用于计算中。因此,尾随的小数位将导致计算结果略微超出预期。 我有以下代码: DecimalFormat似乎忽略了