爬虫 实际 基础 教程

自己动手从零写桌面操作系统GrapeOS系列教程——8.x86介绍

由于GrapeOS目前只支持x86,所以本讲我们简单的介绍一下x86。 百度百科上是这样介绍的:x86泛指一系列基于Intel 8086且向后兼容的中央处理器指令集架构。 中央处理器就是我们平时说的CPU,英文全称是Central Processing Unit。 有人可能对指令集不是很清楚。计算机 ......
桌面 GrapeOS 教程 系统 86

自己动手从零写桌面操作系统GrapeOS系列教程——10.NASM汇编语言

学习操作系统原理最好的方法是自己写一个简单的操作系统。 汇编语法主要有两种:Intel语法和AT&T语法。 由于大部分介绍x86汇编的书籍和资料用的都是Intel语法,毕竟x86就是Intel发明的,大家学过的x86汇编大概率也是Intel语法,所以GrapeOS的汇编也用Intel语法。 支持In ......
桌面 GrapeOS 语言 教程 系统

自己动手从零写桌面操作系统GrapeOS系列教程——12.QEMU+GDB调试

学习操作系统原理最好的方法是自己写一个简单的操作系统。 写程序不免需要调试,写不同的程序调试方式也不同。如果做应用软件开发,相应的程序调试方式是建立在有操作系统支持的基础上的。而我们现在是要开发操作系统,如何调试操作系统的程序呢?如果操作系统程序直接跑在真机上或虚拟机上(比如VirtualBox)是 ......
桌面 GrapeOS 教程 系统 QEMU

自己动手从零写桌面操作系统GrapeOS系列教程——13.向MBR中写入程序

学习操作系统原理最好的方法是自己写一个简单的操作系统。 前面铺垫了这么久,今天终于开始写程序了。本讲将介绍3个逐步深入但非常简单的程序,一方面是让大家熟悉开发流程,另一方面是顺便解决前面遇到的CPU占用率高的问题。 一、mbr1.asm回顾 mbr1.asm的代码之前我们介绍过,这里我们回顾一下代码 ......
桌面 GrapeOS 程序 教程 系统

自己动手从零写桌面操作系统GrapeOS系列教程——14.屏幕显示原理与文本模式

学习操作系统原理最好的方法是自己写一个简单的操作系统。 一、屏幕显示原理 电脑显示器屏幕是由很多很小的像素组成的。每个像素就像是一个小灯泡,在屏幕上一排一排的整齐排列着。只要能控制每个像素的颜色就能显示出各种各样的图形。如果近距离观察过会场或室外的大屏幕会有更直观的感受,这种大屏幕上每个像素就是一个 ......
文本 屏幕 原理 桌面 GrapeOS

自己动手从零写桌面操作系统GrapeOS系列教程——7.计算机组成与运行原理

学习操作系统原理最好的方法是自己写一个简单的操作系统。 在大学计算机课程中会学到一个叫冯·诺依曼结构的东西,很多同学当时学的也不是很清楚,也就是记住冯·诺依曼结构中五个部分的名称,能应付考试。主要原因还是当时大家的计算机知识比较少,的确不好深入理解。 计算机组成与运行原理和冯·诺依曼结构密切相关,今 ......
原理 桌面 GrapeOS 计算机 教程

自己动手从零写桌面操作系统GrapeOS系列教程——15.用汇编向屏幕输出字符

学习操作系统原理最好的方法是自己写一个简单的操作系统。 在上一讲中我们介绍了屏幕显示的原理,本讲我们来实战一下。 一、向屏幕输出一个字符mbr4.asm mbr4.asm中的代码如下: ;将屏幕第一行的第一个字符显示为‘G’。 mov ah,0x07 ;黑底白字 mov al,'G' ;G的ASCI ......
用汇 字符 屏幕 桌面 GrapeOS

linux系统安装MySQL服务,详细图文教程

注:linux系统在安装操作系统时,如果选择了开发工具和兼容库后,一般默认都会安装MySQL服务的部分程序包。如果我们要自定义的安装全新的MySQL服务,就必须先把这些已经安装的程序包都卸载掉。否则,后面这些程序包会给我们带来很多麻烦。 1、查看系统里是否有安装MySQL相关的程序包。 rpm -q ......
图文 教程 系统 linux MySQL

自己动手从零写桌面操作系统GrapeOS系列教程——6.电脑启动过程介绍

学习操作系统原理最好的方法是自己写一个简单的操作系统。 按一下电脑上的电源按钮,电脑就启动了,不一会儿电脑屏幕上就出现了登录界面或直接进入了桌面。 这是一个很日常的场景,但有时候会有个疑问:电脑内部是如何启动的?本讲我们就简单的介绍一下。 因为本教程属于入门型,不考虑UEFI等比较新的技术,但不影响 ......
桌面 过程 GrapeOS 教程 系统

SpringMVC基础源码分析(一)

实现Controller的三种方式分析 每种实现的方式对应的HanderAdapter都不同。 实现Controller接口 该接口对应的HanderAdapter为SimpleControllerHandlerAdapter。 使用案列: public class LeController imp ......
SpringMVC 源码 基础

Blazor项目在VisualStudio调试时配置运行基础目录

最近在使用 Blazor 开发管理后台时遇到了如下的问题,我这里后台整体采用了 AntDesignBlazor 组件库,在上线之后发现ReuseTabs组件在使用过程中,如果默认 / 没有指定为项目的base href,打开标签页后,相互切换会导致url错误。 本地开发的时候项目是直接启动运行的,所 ......
VisualStudio 基础 目录 项目 Blazor

Python Socket 基础多用户编程

简介 写下这篇小记的原因是想记录一下自己学习Python Socket编程的心路历程。之前在中专的时间学过一些基础的Socket编程,知道了一些比较基础的内容比如基础的socket.bind()类似简单方法的使用。编写了较为基础的应用程序,例如DNS的客户端(能够发出正确请求,但是解析数据没有成功) ......
基础 用户 Python Socket

明解STM32—GPIO理论基础知识篇之八种工作模式

一、引言 在之前围绕STM32的GPIO的基本结构进行了介绍,图1为STM32的5V容忍的GPIO口内部基本结构图,图2为GPIO的基本结构中各个模块部分的概述。 阅读GPIO基本结构的内容能够对GPIO的工作模式有更深的了解。正是由于GPIO的结构中包含了多样性的电路和模块,因此进行合理的配置组合 ......
基础知识 理论 模式 基础 知识

配运基础数据缓存瘦身实践

在基础数据的常规能力当中,数据的存取是最基础也是最重要的能力,为了整体提高数据的读取能力,缓存技术在基础数据的场景中得到了广泛的使用,下面会重点展示一下配运组近期针对数据缓存做的瘦身实践。 ......
缓存 基础 数据

【LeetCode二叉树#17】在二叉搜索树中插入或删除某个值(涉及重构二叉树、链表基础、以及内存泄漏问题)

二叉搜索树中的插入操作 力扣题目链接(opens new window) 给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。 注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索 ......
LeetCode 内存 基础 问题 17

软件教程 | Jupyter&stata之stata_kernel攻略

目录: 一、什么是stata_kernel Github:kylebarron/stata_kernel 1. stata_kernel简介 Jupyter是一个用于交互式数据科学的开源生态系统,简单来说通过stata_kernel,用户可以为jupyter工具安装一个stata内核,再通过jupy ......

视觉SLAM基础-李群和李代数

李群和李代数 引言 ​ 为什么会有李群和李代数的引出。在通常的 SLAM 中,我们估计的无非就是在极短的时间内物体的一个相对位姿运动,然后进行累加,即可得到物体的当前位置,即 SLAM 中的定位问题,但是往往该运动在较短的时间内其变化量是极小的。 ​ 通常其运动变化我们可以使用旋转加平移进行表示,即 ......
代数 视觉 基础 SLAM

基于图的路径搜索技术基础知识

基于图搜索的路径规划方法基础概念,介绍了配置空间,工作空间等相关概念,引出了深度优先搜索和广度优先搜索并进行了对比。 ......
基础知识 路径 基础 知识 技术

躬身入局,干货分享,2023年春招后端技术岗(Python)面试实战教程,Offer今始为君发

早春二月,研发倍忙,杂花生树,群鸥竟飞。为什么?因为春季招聘,无论是应届生,还是职场老鸟,都在摩拳擦掌,秣马厉兵,准备在面试场上一较身手,既分高下,也决Offer,本次我们打响春招第一炮,躬身入局,让2023年的第一个Offer来的比以往快那么一点点。 ......
干货 实战 教程 Python Offer

算法基础模板

时空复杂度分析 一般ACM或者笔试题的时间限制是1秒或2秒。在这种情况下,C++代码中的操作次数控制在10^7^~10^8^为最佳。下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择: n ≤ 30,指数级别,dfs+剪枝,状态压缩dp n ≤ 100 => O(n^3^),floyd,dp ......
算法 模板 基础

Git基础操作及协作流程

一整套流程帮你实践整个 Git 操作基础及协作流程。 来源:https://docs.microsoft.com/zh-cn/learn/paths/intro-to-vc-git/ Git 介绍 配置 Git 确认已经安装 git git --version 输出 git version 2.30 ......
流程 基础 Git

Terraform基础入门 (Infrastructure as Code)

像写代码一样管理基础设施。 Terraform 使用较为高级的配置文件语法来描述基础设施,这个特性让你对配置文件进行版本化管理后,就等于对生产环境的基础设施进行类似于代码一样的版本化管理,而且这些基础设施的配置文件可以复用或者分享。 ......
Infrastructure Terraform 基础 Code as

linux 基础(10)进程管理

使用 ps 观察程序 ps -l ps程序可以查询当前在运行的进程信息。ps -l可以列出详细的信息,默认仅列出当前 bash 相关的进程。 sudo -i ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 2133 2 ......
进程 基础 linux

Solon2 之基础:一、常用应用配置说明

约定参考: //资源路径约定(不用配置;也不能配置) resources/app.yml( 或 app.properties ) #为应用配置文件 resources/WEB-INF/static/ #为静态文件根目标 resources/WEB-INF/view/ #为视图模板文件根目标(支持多视 ......
常用 基础 Solon2 Solon

【多线程与高并发】- 线程基础与状态

所谓线程就是操作系统(OS)能够进行运算调度的最小单位,是一个基本的CPU执行单元,也是执行程序流的最小单元。能够提高OS的并发性能,减小程序在并发执行时所付出的时空开销。线程是进程的一个实体,是被系统独立调度和分派的基本单位。 ......
线程 状态 基础

U-Boot 基础概念与学习分享

文章对 u-boot 学习路线进行了简单介绍, 并从 u-boot 构建框架着手解构 u-boot, 以 Kconfig 为索引文件自底向上分析框架。 除此之外还介绍了 Boot Loader 的几个基本流程, 对其中的 TPL 过程进行了剖析。 ......
概念 基础 U-Boot Boot

零基础解读ChatGPT:对人类未来工作是威胁还是帮助?

摘要:火到现在的ChatGPT到底是什么?它背后有哪些技术?对于我们的工作和生活会有啥影响?快来一起了解吧~ 本文分享自华为云社区《零基础解读ChatGPT:对人类未来工作是威胁还是帮助?》,作者:关耳山石。 前言 年前到现在,一直被ChatGPT的新闻轰炸,现在还越来越热闹了,关于ChatGPT技 ......
人类 ChatGPT 还是 基础

Nginx基础02:配置文件nginx.conf(Part1)

我们使用Nginx主要是通过其配置文件nginx.conf来实现的。按照一定的规则,编写特定的指令,可以帮助我们实现对Web服务的控制!所以,学习Nginx的用法,几乎就是学习nginx.conf! 如何使用本篇文章 本文作为一篇高度总结和罗列nginx.conf中所有的基础配置项,循规蹈矩地按照文 ......
文件 基础 Nginx nginx Part1

HTTPS基础原理和配置 - 1

近期又碰到了SSL相关的事情, 就心血来潮开个新专题 - 《HTTPS基础原理和配置》 本文是第一篇文章, 主要介绍SSL TLS加密协议的相关内容。 加密协议历史概要 SSL TLS加密协议其实并没有很长的历史,1995年网景发布了SSL v2.0,这也是web加密的开始。这使得电子商务领域,人们 ......
原理 基础 HTTPS

HTTPS基础原理和配置-2

〇、概述 作为概述,以下是本文要讲的内容。HTTPS 是什么? 每个人都可能从浏览器上认出 HTTPS,并对它有好感。然后再讲一遍基础知识,再详细讲一下协议版本,密码套件(Cipher Suites),本文的重点会落在如何配置 NGINX,让你的网站使用 HTTPS 服务。 除此之外,还有一个使用 ......
原理 基础 HTTPS