- 博客(41)
- 收藏
- 关注
原创 浅谈C/C++指针、地址、内存空间、链表&新手常见误区
2021.8.28浅谈指针、地址、内存空间、链表&新手常见误区-1 几个问题c/c++中一个指针的大小是多少?int*、double*、Node*大小分别是多少?Node型变量大小为什么是16字节,不是12字节?一个节点Node到底长什么样?head指针和头节点一样吗?每句代码在内存中究竟做了什么操作?0 写在前面数据结构重要。本文适合完整的学过c++,但是对「指针、地址、内存空间、链表的理解与实现」仍存在模糊的初学者。如果未完整的学过c++,学过c的指针,可以看到「指.
2021-08-29 01:18:11 906 2
原创 Node.js(二) -请求响应原理及HTTP协议、回调地狱、promise、异步函数
2021.3.1文章目录Node.js(二)请求响应原理及HTTP协议服务器端基础概念网站的组成Node网站服务器IP地址域名端口创建web服务器创建web服务器HTTP协议HTTP协议的概念报文请求报文响应报文HTTP请求与响应处理请求参数GET请求参数POST请求参数路由静态资源动态资源Node.js异步编程同步API,异步API同步API,异步API的区别1(获取返回值)回调函数同步API,异步API的区别2(代码执行顺序)Node.js中的异步API回调地狱Promise异步函数Node.j.
2021-03-03 22:35:22 517 1
原创 Node.js(一)- Node基础、Node中的模块加载
2021.2.28文章目录Node.js(一)Node基础Node开发概述为什么要学习服务器端(后端)开发基础服务器端开发要做的事情为什么选择NodeNode是什么Node.js运行环境安装Node.js快速入门Node.js的组成Node.js基础语法Node.js全局对象globalNode中的模块加载及包Node.js模块化开发JavaScript开发弊端软件中的模块开发Node.js中模块化开发规范模块成员导出模块成员导入模块成员导出的另一种方式系统模块什么是系统模块系统模块fs 文件操作系统.
2021-03-01 19:20:04 403
原创 解决VS Code在此系统上禁止运行脚本的报错
2021.3.1文章目录解决VS Code在此系统上禁止运行脚本的报错解决方案具体实施过程错误原因解决VS Code在此系统上禁止运行脚本的报错今天在学习node.js,使用nodemon第三方模块命令时报错,因为在系统上禁止运行脚本。解决方案管理员身份运行 window.powershell执行:get-ExecutionPolicy,显示Restrict,表示状态是禁止的;执行:set-ExecutionPolicy;提示输入参数,输入:RemoteSigned;提示进行选择,.
2021-03-01 13:37:49 2691 2
原创 第二章 进程管理(一)-进程通信、线程、处理机调度
2021.2.27文章目录第二章 进程管理2.1 进程的概念、组成、特征2.2 进程的状态与转换2.3 进程控制2.4 进程通信共享存储基于数据结构的共享基于存储区的共享管道通信消息传递直接通信方式间接通信方式进程通信小结2.5 线程概念及多线程模型什么是线程,为什么要引入线程?引入线程机制后,有什么变化?线程的属性线程的实现方式用户级线程(User-Level Thread,ULT)内核级线程(Kernel-Level Thread,KLT,又称“内核支持的线程”)多线程模型一对一模型多对一模型多对.
2021-02-28 14:02:25 448
原创 基础算法(一)
算法排序口诀:选泡插,堆归快希桶计基,恩方恩老恩恩一三,对恩加K恩乘K,不稳稳稳不稳稳,不稳不稳稳稳稳。选择排序 O(n2)、不稳定最简单但是最没用的排序算法,也有优化空间。如何写算法程序由简单到复杂验证一步走一步多打印中间结果先局部后整体没思路时先细分先粗糙后精细变量更名语句合并边界处理算法代码及时间复杂度与空间复杂度大O分析public class SelectionSort { public static void main(St
2021-02-28 13:52:32 151
原创 Vue基础(一)-概述、基本使用、模板语法
2021.2.20文章目录Vue基础(一)Vue概述Vue基本使用传统开发模式对比Vue.js之HelloWorld细节分析Vue的基本使用步骤Vue模板语法模板语法概述原生js拼接字符串使用前端模板引擎vue模板语法概述指令什么是指令?v-cloak指令用法数据绑定指令数据响应式双向数据绑定什么是双向数据绑定?双向数据绑定分析:star:MVVM设计思想事件绑定Vue如何处理事件?事件函数的调用方式事件函数参数传递事件修饰符按键修饰符自定义按键修饰符属性绑定Vue如何动态处理属性?v-model的底.
2021-02-22 21:26:22 218
原创 CSS(四)- CSS的浮动与定位
2021.2.15文章目录CSS(四)CSS 浮动浮动(float)传统网页布局的三种方式标准流(普通流/文档流)为什么需要浮动?什么是浮动浮动特性(重难点)浮动元素经常和标准流父级搭配使用常见网页布局浮动布局的注意点清除浮动为什么要清除浮动?清除浮动的本质清除浮动的方法清除浮动(影响)总结PS切图常见的图片格式切图CSS属性书写顺序(重要)CSS 定位定位为什么需要定位定位组成静态定位 static(了解)相对定位 relative(重要)绝对定位 absolute(重要)子绝父相固定定位 fixe.
2021-02-17 00:52:39 361
原创 CSS(三)- 盒子模型
2021.2.14文章目录CSS(三)CSS 盒子模型盒子模型网页布局的本质盒子模型(Box Model)组成边框(border)内边距(padding)外边距(margin)外边距合并清除内外边距PS基本操作圆角边框(重点)盒子阴影(重点)文字阴影(了解)CSS(三)CSS 盒子模型盒子模型页面布局有三大核心:盒子模型、浮动和定位。网页布局的本质网页布局过程:先准备好相关的网页元素,网页元素基本都是盒子Box。利用CSS设置好的盒子样式,然后摆放到相应位置。往盒子里装内容。网.
2021-02-16 12:28:18 254 1
原创 CSS(二)- Emmet语法、复合选择器、元素显示模式、背景和CSS三大特性
2021.2.14文章目录CSS(二)CSS层叠样式表二Emmet语法快速生成HTML结构语法快速生成CSS样式语法快速格式化代码CSS的复合选择器什么是复合选择器后代选择器(重要)子选择器(重要)并集选择器(重要)伪类选择器复合选择器总结CSS的元素显示模式什么是元素显示模式块元素行内元素(内联元素)行内块元素元素显示模式转换元素显示模式总结一个小工具 Snipaste 的使用一个小技巧 单行文字垂直居中CSS的背景背景颜色背景图片背景平铺背景图片位置背景图像固定(背景附着)背景复合写法背景色半透明.
2021-02-15 17:29:37 493
原创 CSS(一)- 简介、基础选择器、字体属性、文本属性、引入方式和Chrome调试工具
2021.2.13文章目录CSS(一)CSS层叠样式表一CSS简介HTML的局限性CSS-网页的美容师CSS语法规范CSS代码风格CSS基础选择器CSS选择器的作用选择器分类标签选择器类选择器id选择器通配符选择器CSS字体属性字体字体大小字体粗细文字样式字体复合属性字体属性总结CSS文本属性文本颜色对齐文本装饰文本文本缩进行间距文本属性总结CSS的引入方式CSS的三种样式表内部样式表行内样式表外部样式表Chrome调试工具CSS(一)CSS层叠样式表一CSS简介CSS的主要使用场景就是美化网.
2021-02-14 23:05:31 309
原创 一天学会HTML
2021.2.12文章目录HTML(一)写在前面的话HTML简介网页什么是网页什么是HTML网页的形成网页总结常用浏览器浏览器内核Web标准(重点)为什么需要Web标准Web标准的构成HTML标签(上)HTML语法规范基本语法概述标签关系第一个HTML网页与基本结构标签开发工具VS Code工具生成骨架标签新增代码文档类型声明标签lang语言种类字符集HTML常用标签标签语义标题标签\-\(重要)段落和换行标签(重要)文本格式化标签\和\<\span>标签图像标签和路径(重点)超链接标签(.
2021-02-14 13:50:37 512 1
原创 01-使用Javascript和Canvas写一个贪吃蛇
2021.2.10 Canvas+js实现贪吃蛇贪吃蛇完成贪吃蛇主要有如下几件事情:利用canvas创建画布,即蛇和食物的活动范围创建蛇画出蛇蛇可以自己动起来 setInterval蛇可以根据键盘控制方向移动 键盘监听&改变蛇的坐标蛇吃到食物会增长 蛇要更新蛇碰到自己会死蛇从边界出去可以从另一边进来创建食物在随机位置生成食物画出食物完成这几件事情,就完成了贪吃蛇。教程参考b站:前端酱的日常目前版本有以下问题:起始蛇只有一节,应该有一节蛇身,.
2021-02-10 17:24:53 403
原创 JavaScript进阶(五)-正则表达式与ES6 【完】
2021.2.8文章目录JavaScript进阶(五)正则表达式正则表达式概述什么是正则表达式正则表达式的特定正则表达式在JavaScript中的使用创建正则表达式测试正则表达式 test正则表达式中的特殊字符正则表达式的组成边界符字符类量词符正则表达式里的括号总结预定义类正则表达式中的替换replace替换正则表达式参数ES6ES6简介什么是ES6为什么要使用ES6ES6的新增语法letconstlet、const、var的区别解构赋值箭头函数剩余参数ES6的内置对象扩展Array的扩展方法Stri.
2021-02-09 13:52:40 361
原创 JavaScript进阶(四)- 函数进阶
2021.2.6文章目录JavaScript进阶(四)函数进阶函数的定义和调用函数的定义方式函数的调用方式this函数内this的指向改变函数内部this指向call()、apply()、bind()总结严格模式什么是严格模式开启严格模式严格模式中的变化高阶函数闭包变量作用域什么是闭包闭包案例递归什么是递归利用递归求数学题浅拷贝和深拷贝JavaScript进阶(四)函数进阶函数的定义和调用函数的定义方式函数声明方式function()关键字(命名函数)函数表达式(匿名函数)new Fu.
2021-02-07 22:17:09 406
原创 jQuery学习笔记(三)- jQuery事件与其他方法【完】
2021.2.5文章目录jQuery学习笔记(三)jQuery事件jQuery事件注册jQuery事件处理事件处理on()绑定事件事件处理 off()解绑事件自动触发事件 trigger()jQuery事件对象jQuery其他方法jQuery对象拷贝多库共存jQuery插件jQuery学习笔记(三)jQuery事件jQuery事件注册单个事件注册语法:element.事件(function(){})如:$('div').click(function(){事件处理程序})其他事件和原生基本.
2021-02-06 15:49:01 302
原创 jQuery学习笔记(二)- jQuery常用API
2021.2.4文章目录jQuery学习笔记(二)jQuery常用APIjQuery选择器jQuery基础选择器jQuery层级选择器jQuery隐式迭代(重要)jQuery筛选选择器jQuery 筛选方法(重点)jQuery 里面的排他思想jQuery样式操作操作 css 方法设置类样式方法类操作与className区别jQuery效果显示隐藏效果滑动效果事件切换动画队列及其停止排队方法淡入淡出效果自定义动画 animatejQuery属性操作设置或获取元素固有属性值 prop()设置或获取元素自定.
2021-02-05 22:28:21 355
原创 jQuery学习笔记(一)-入门、概述与基本使用
2021.2.3文章目录jQuery学习笔记(一)jQuery入门jQuery概述JavaScript库jQuery的概念jQuery的优点jQuery的基本使用jQuery的下载与安装jQuery的使用步骤jQuery的入口函数jQuery的顶级对象 $jQuery对象和DOM对象jQuery学习笔记(一)jQuery入门jQuery概述JavaScript库仓库:可以把很多东西放到这个仓库里。找东西只要到仓库里查找到就好了。JavaScript库:即 library ,是一个封装好的特.
2021-02-03 22:14:02 255
原创 Canvas学习笔记(三)- 图片操作、坐标变换以及面向对象方式绘制可以用键盘控制的行走小人
2021.2.2 Canvas(三)文章目录Canvas学习笔记(三)第五章 图片操作概述drawImage()方法的三种调用方式实例:帧动画实例:用键盘控制的行走的小人第六章 变形操作(坐标变换)Canvas学习笔记(三)第五章 图片操作概述在Canvas中,我们可以使用drawImage()方法来绘制图片。Canvas中所谓的绘制图片,其实就是把一张图片在Canvas中显示出来。drawImage()方法共有三种调用方式:三参数、五参数、九参数。在使用drawImage()方法前,我们.
2021-02-03 16:26:44 614 1
原创 JavaScript进阶(三)- 继承和ES5新增方法
2021.2.1文章目录JavaScript进阶(三)构造函数和原型(第二、三点:继承和ES5新增方法)继承call()方法借用构造函数继承父类型属性借用原型对象继承父类型方法ES5中的新增方法ES5新增方法概述数组方法字符串方法对象方法JavaScript进阶(三)构造函数和原型(第二、三点:继承和ES5新增方法)继承ES6之前并没有给我们提供extends继承。我们可以通过构造函数+原型对象模拟实现继承,被称为组合继承。call()方法作用:可以调用某个函数,并且修改函数运行时的thi.
2021-02-02 21:43:55 193
原创 Canvas学习笔记(二)- 曲线图形、文本以及面向对象方式绘制饼状图
2021.1.31 Canvas(二)文章目录Canvas学习笔记(二)第三章 曲线图形曲线图形概述体验曲线的绘制圆弧扇形绘制一个圆分成N等分且颜色随机第四章 文本操作文本操作概述文本操作.方法()strokeText()fillText()measureText()文本操作.属性font属性textAlign属性textBaseline属性实例:在画布中心绘制一段文字第三、四章综合实例:面向对象方式绘制饼状图Canvas学习笔记(二)第三章 曲线图形曲线图形概述在Canvas中,基本图形包括.
2021-02-02 15:24:57 317
原创 Canvas学习笔记(一)-概述、直线图形和线条操作、面向对象的方式封装折线图、绘制正多边形
2021.1.29 Canvas(一)文章目录Canvas学习笔记(一)第一章 Canvas概述什么是Canvas?第二章 直线图形和线条操作Canvas坐标系直线的绘制一条直线两条平行线三条不同颜色不同宽度不同样式的平行折线绘制虚线绘制一个填充的三角形绘制一个中间镂空的正方形绘制一个从黑到白的渐变矩形采用面向对象的方式绘制折线图图形的绘制矩形用渐变方案绘制一个渐变的矩形绘制正多边形Canvas学习笔记(一)第一章 Canvas概述什么是Canvas?Canvas是HTML5新增的一个元素。C.
2021-01-31 19:46:57 223
原创 JavaScript进阶(二)- 构造函数和原型
2021.1.2 构造函数和原型文章目录JavaScript进阶(二)构造函数和原型构造函数和原型概述构造函数构造函数的问题构造函数原型 prototype(原型对象)对象原型 \_\_proto__(两条下划线)原型中的constructor构造函数构造函数、实例、原型对象三者之间的关系原型链JavaScript的成员查找机制(规则)原型对象this指向扩展内置对象继承ES5中的新增方法JavaScript进阶(二)构造函数和原型构造函数和原型概述在典型的OOP的语言中(如Java),都.
2021-01-30 01:46:25 230 1
原创 SVG绘制基础图形学习笔记
2021.1.26文章目录SVG基础学习笔记位图和矢量图引入svgSVG形状SVG矩形SVG圆形SVG椭圆SVG线条SVG多边形SVG折线SVG路径SVG滤镜(未学)SVG渐变SVG线性渐变放射性渐变(未学)SVG基础学习笔记SVG 意为可缩放矢量图形(Scalable Vector Graphics)。SVG 使用 XML 格式定义图像位图和矢量图位图:由像素点组合而成的图像,放大会失真。矢量图:以数学向量方式记录图像,任意放大清晰度不变。引入svgsvg是基于xml的技术svg.
2021-01-26 17:24:40 329
原创 JavaScript进阶(一)- JavaScript面向对象
2021.1.24文章目录JavaScript进阶(一)JavaScript面向对象面向对象编程简介两大编程思想ES6中的类和对象面向对象对象类 class创建类类constructor构造函数类添加方法类的继承继承super关键字ES6中类和对象的几个注意点:JavaScript进阶(一)JavaScript面向对象面向对象编程简介两大编程思想面向过程面向对象1.面向过程编程POP(Process-oriented programming):面向过程就是分析出解决问题所需要的步骤.
2021-01-24 17:19:52 211
原创 Vue.js最最最基础入门的笔记整理
2021.1.23文章目录Vue.js学习笔记(一)准备工作学前须知开发工具课程安排Vue基础Vue简介第一个Vue程序el:挂载点data:数据对象本地应用1.内容绑定,事件绑定v-text //设置标签的文本值(textContent)v-html //设置标签的innerHTMLv-on基础 //为元素绑定事件总结2.显示切换,属性绑定v-show //根据表达式的真假,切换元素的显示和隐藏v-if //根据布尔值的真假,切换元素的显示和隐藏(操纵dom元素)v-bind //设置元素的属性(比.
2021-01-24 00:41:36 358
原创 JavaScript基础学习笔记汇总(基础语法、DOM、BOM)【完整】
2021.1.22JavaScript基础学习笔记汇总(基础语法、DOM、BOM)第一天:初识JavaScript准备工作、初识JavaScript、JS的组成、JS书写位置、JS注释、JS输入输出语句第二天:JavaScript基础语法(一)Javascript的流程控制、数组、函数第三天:JavaScript基础语法(二)Javascript的变量、运算符第四天:JavaScript基础语法(三)JavaScript的作用域、预解析、对象第五天:JavaScript基础语法(四.
2021-01-22 22:42:57 369 1
原创 JS学习笔记(十)-BOM浏览器对象模型及个人小结//JavaScript基础阶段(完)
2021.1.21文章目录学习笔记(十)BOM浏览器对象模型BOM 概述什么是BOMBOM的构成window 对象的常见事件窗口加载事件调整窗口大小事件定时器两种定时器thisJS 执行机制JS是单线程同步和异步JS执行机制location 对象什么是location对象URLlocation对象的属性location对象的方法navigator 对象history 对象JavaScript基础阶段小结学习笔记(十)BOM浏览器对象模型BOM 概述什么是BOMBOM(Browser Obje.
2021-01-22 22:15:11 419
原创 JS学习笔记(九)-JavaScript事件高级//DOM结束
2021.1.20文章目录学习笔记(九)事件高级注册事件(绑定事件)addEventListener 事件监听方式删除事件(解绑事件)删除事件的方式DOM事件流事件对象什么是事件对象事件对象的兼容性方案事件对象常见的属性和方法阻止事件冒泡阻止事件冒泡的两种方式阻止事件冒泡的兼容性解决方案事件委托(代理、委派)常用的鼠标事件常用的鼠标点击事件鼠标事件对象常用的键盘事件键盘事件对象学习笔记(九)事件高级注册事件(绑定事件)给元素添加事件,称为注册事件或者绑定事件。注册事件有两种方式:传统方式和方.
2021-01-21 20:28:13 397 1
原创 JS学习笔记(八)-DOM节点操作和重点核心的总结
2021.1.19文章目录学习笔记(八)DOM节点操作为什么学节点操作节点概述节点层级创建节点添加节点删除节点复制节点(克隆节点)三种动态创建元素区别DOM重点核心总结创建增删改查属性操作事件操作学习笔记(八)DOM节点操作为什么学节点操作获取元素通常使用两种方式:利用 DOM 提供的方法获取元素document.getElementById()document.getElementsByTagName()document.querySelector 等逻辑性不强、繁琐.
2021-01-20 16:52:25 440
原创 JS学习笔记(七)-DOM操作元素
2021.1.18文章目录JS学习笔记(七)DOM操作元素改变元素内容常用的元素属性操作表单元素的属性操作样式属性操作操作元素小结排他思想自定义属性的操作H5自定义属性JS学习笔记(七)DOM操作元素JavaScript的DOM操作可以改变网页内容、结构和样式,我们利用DOM操作元素来改变元素里面的内容、属性等。注意以下都是属性。改变元素内容element.innerText从起始位置到终止位置的内容,但它去除html标签,同时空格和换行也会去掉。<body> <.
2021-01-19 00:18:58 304
原创 JS学习笔记(六)-Web APIs简介和DOM简介
01-17 JavaScript第二阶段Web APIs文章目录学习笔记(六)-上Web APIs简介Web APIs和JS基础关联性JS的组成:JS基础阶段以及Web APIs阶段API和Web APIDOMDOM简介什么是DOMDOM树获取元素如何获取页面元素事件基础事件概述事件三要素执行事件的步骤常见的鼠标事件学习笔记(六)-上Web APIs简介Web APIs和JS基础关联性JS的组成:ECMAScript:JavaScript语法-JavaScript基础DOM:页面文档对象.
2021-01-18 22:38:44 296
原创 JS学习笔记(五)-JavaScript内置对象和数据类型总结与JS第一阶段个人小结
2021.1.15文章目录JS学习笔记(五)JS内置对象内置对象查文档MDN如何学习对象中的方法Math对象日期对象使用Date日期格式化获取日期的总的毫秒形式(==时间戳==)数组对象数组对象的创建检测是否为数组添加删除数组元素的方法数组排序数组索引方法数组转换为字符串数组中的其他常用方法字符串对象一个问题基本包装类型字符串的不可变根据字符返回位置根据位置返回字符字符串操作方法JS简单类型与复杂类型(数据类型的总结)简单类型与复杂类型堆和栈简单类型与复杂类型的内存分配简单类型传参复杂类型传参个人小结.
2021-01-16 02:27:13 540
原创 JS学习笔记(四)- JavaScript的作用域、预解析和对象
2021.1.14文章目录JS学习笔记(四)JS作用域1.作用域概述2.变量的作用域变量作用域的分类从执行效率看全局变量与局部变量3.作用域链JS预解析JS对象对象创建对象的三种方式1.利用字面量创建对象2.利用new Object创建对象3.利用构造函数创建对象new关键字遍历对象的属性对象小结JS学习笔记(四)JS作用域1.作用域概述通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程.
2021-01-14 23:35:49 299
原创 JS学习笔记(三)-JavaScript的流程控制、数组和函数
2021.1.13文章目录JS学习笔记(三)JS流程控制1.顺序流程控制2.分支流程控制3.循环流程控制for循环断点调试双重for循环while循环do while循环循环中常用的关键字continue关键字break关键字命名规范1.标识符命名规范2.操作符规范3.单行注释规范4.其他规范循环小结JS数组数组的概念数组的创建获取数组元素数组的索引数组的遍历数组中新增元素通过修改length长度新增数组元素通过修改索引号新增数组元素JS函数函数的概念函数的使用1.声明函数2.调用函数3.函数的封装函.
2021-01-13 23:30:34 397
原创 JS学习笔记(二)-JavaScript的变量和运算符
2021.1.12文章目录JS学习笔记(二)JS变量初学数据类型1.1 为什么需要数字类型1.2 变量的数据类型1.3 数据类型的分类简单数据类型复杂数据类型(object)JS运算符1.运算符2.算数运算符3.递增和递减运算符4.比较运算符5.逻辑运算符短路运算(逻辑中断)6.赋值运算符7.运算符优先级JS学习笔记(二)JS变量初学变量的本质: 程序在内存中申请的一块用来存放数据的空间。变量的使用: 1. 声明变量;2. 赋值。var age;//声明一个名称为age的变量。var: .
2021-01-12 23:37:19 366
原创 JS学习笔记(一)-初识JavaScript
文章目录学习笔记(一)准备工作初识JavaScriptJS的组成JS书写位置JS注释JS输入输出语句2021.1.11学习笔记(一)准备工作今天开始学习Javascript,开始之前先学习开发工具VS Code的几个快捷键和安装一些常用插件以及一些VS Code生成的骨架标签的含义。快捷键!+回车/Tab自动生成页面骨架结构Ctrl++/-放大/缩小视图Alt+B在浏览器中打开Ctrl+/注释常用插件Chinese(Simplified)Language Pack for
2021-01-12 00:41:02 1261 4
原创 Git的安装和使用
文章目录Git的安装和使用目的下载安装:Git工作区域Git基础设置//只要设置一次初始化一个新的Git仓库像仓库中添加文件修改仓库文件删除仓库文件Git 管理远程仓库使用远程仓库的目的Git克隆操作本地仓库操作后提交到远程仓库设置仓库权限Github Pages搭建网站个人站点访问搭建步骤项目站点访问搭建步骤2021.1.9 20:00Git的安装和使用目的通过git管理github托管项目代码下载安装:Git官网下载:https://git-scm.com/download/win双
2021-01-10 23:41:47 169 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人