- 大鱼炖火锅
-
电脑上装个英文应用软件,打开软件时总是提示: The system cannot find the file specified,是设置错误造成的,解决方法如下:
1、首先进入到bios的设置选项。每个电脑进入的方法大同小异无非就是F2、F8、DELETE这三个按键长按。
2、打开bios---然后按F9先恢复下默认的bios设置。
3、恢复之后根据下面的提示找到security。
4、找到之后依次在它下面找到security---boot。
5、进入它的设置把secure boot control设置为关闭(disabled)。
6、再次回到自己的boot设置,把CMS设置为开启,保存重启只有这个设置为enabled才能正常使用windows 。
- Chen
-
the system cannot find the file specified
系统找不到指定的文件
如果电脑开机提示找不到指定的文件,说明系统文件损坏导致无法开机,则一般需要重装系统。重装系统方法很多,以下所列可择一操作。
开机或重启后按F11键或F8键,看有没有安装一键GHOST或类似软件,有则选择一键还原按回车确定,进入一键还原操作界面后,再选择“还原”确定即可。如果以前刚装机时进行过一键备份,则能恢复到备份时的状态。
解决:
统找不到指定文件解决方法如下:
目录路径太长
1,这个文件找不到,是因为目录路径太长,WINDOWS识别不了这么长的目录,首先,这个目录上级目录已经是WINDOWS的临时缓存目录,然后是压缩包的一个缓存目录再套下一个压缩包的缓存目录,目录路径太长,造成WINDOWS根本无法识别,所以提示 系统找不到指定文件。
2、将压缩包中的压缩包解压出来,再打开其中的文件,这样就不会提示错误了。
3、改变系统的临时缓存 目录,将临时缓存目录,右键我的电脑-- 高级 -- 环境变量。
4、改变 Administrator 的用户变量 中 双击TEMP ,TMP目录路径,把路径改短一点。可以改相同的目录,也可以是不同的目录,但是不要用根目录,用根目录,会造成出现很多的临时缓存文件,很乱。系统环境变量不要轻易修改,切记。这样在解压嵌套压缩包的时候,路径就不会变的特别长,错误提示就解决了。
- kikcik
-
应该是软件的安装目录存在中文路径,软件本身不识别中文,程序就找不到打不开了。
建议卸载之后更换全英文目录重装,不过估计卸载也不能正常卸载,那就直接换目录安装吧。
- FinCloud
-
请确认安装路径没有特殊符号和中文。卸载换个路径重装试试吧!
- CarieVinne
-
文件损坏,因为是英文软件,你可以试一下重装,但安装路径上不要出现中文,你试试看。
- wpBeta
-
安装路径太长。卸载在我的电脑中路径长度和地方换一下重装试试吧!
面试官:什么是 YAML?和 Spring Boot 有什么关系?
YAML是"YAML Ain"t a Markup Language"(YAML不是一种标记语言)的递归缩写。YAML的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。主要强度这种语音是以数据为中心,而不是以标记语言为重心,例如像xml语言就会使用大量的标记。 YAML是一个可读性高,易于理解,用来表达数据序列化的格式。它的语法和其他高级语言类似,并且可以简单表达清单(数组)、散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件等。 YAML的配置文件后缀为 .yml,例如Springboot项目中使用到的配置文件 application.yml 。 标量 标量是最基础的数据类型,不可再分的值,他们一般用于表示单个的变量,有以下七种: 这样,我们就可以在程序中引入了,如下: Spring Boot 基础就不介绍了,推荐下这个实战教程:github.com/javastacks/… 对象 我们知道单个变量可以用键值对,使用冒号结构表示 key: value,注意冒号后面要加一个空格。可以使用缩进层级的键值对表示一个对象,如下所示: 然后在程序对这几个属性进行赋值到Person对象中,注意Person类要加get/set方法,不然属性会无法正确取到配置文件的值。使用@ConfigurationProperties注入对象,@value不能很好的解析复杂对象。 当然也可以使用 key:{key1: value1, key2: value2, ...}的形式,如下: 数组 可以用短横杆加空格 -开头的行组成数组的每一个元素,如下的address字段:Spring Boot 学习笔记分享给你。 也可以使用中括号进行行内显示形式,如下: 在代码中引入方式如下: 如果数组字段的成员也是一个数组,可以使用嵌套的形式,如下: 如果数组成员是一个对象,则用如下两种形式形式: 如果你想引入多行的文本块,可以使用|符号,注意在冒号:和 |符号之间要有空格。最新面试题整理好了,点击Java面试库小程序在线刷题。 它和加双引号的效果一样,双引号能转义特殊字符: 有时我们需要显示指定某些值的类型,可以使用 !(感叹号)显式指定类型。!单叹号通常是自定义类型,!!双叹号是内置类型,例如: 内置的类型如下: 引用会用到 &锚点符合和 星号符号,&用来建立锚点,<< 表示合并到当前数据, 用来引用锚点。最新面试题整理好了,点击Java面试库小程序在线刷题。 上面最终相当于如下: 还有一种文件内引用,引用已经定义好的变量,如下: 可以在同一个文件中,实现多文档分区,即多配置。在一个yml文件中,通过 — 分隔多个不同配置,根据spring.profiles.active 的值来决定启用哪个配置2023-06-13 00:51:131
python——Yaml
1.安装 2.yaml文件的格式 a)键值对形式 b)序列list c)纯量str d)强制转换,使用!! e)多个文件:一个yaml文件里存在多个文件,用---表示,只能一起读取,不能分开读取 3.yaml文件的读取xx.yaml 4.yaml文件的写入 5.yaml文件的持续写入 6.Template修改yaml中的变量 source.yaml Read_yaml.py ※ 问题:1.含有多个文件的yaml文件,读取出来如何选择? 2.持续写入能否将新写入的文件变成新的文件结构? ※ PS:觉得这篇文章有用的朋友,多多点赞打赏哦~!2023-06-13 00:51:271
yaml格式有严格的的格式要求,在变量值和难搞之间有两个空格吗
这个好像就是有严格的要求在变,然后就是也是有这个空格的。2023-06-13 00:51:341
现代配置指南——YAML 比 JSON 高级在哪
一直以来,前端工程中的配置大多都是 .js 文件或者 .json 文件,最常见的比如: 这些配置对前端非常友好,因为都是我们熟悉的 JS 对象结构。一般静态化的配置会选择 json 文件,而动态化的配置,涉及到引入其他模块,因此会选择 js 文件。 还有现在许多新工具同时支持多种配置,比如 Eslint ,两种格式的配置任你选择: 后来不知道什么时候,突然出现了一种以 .yaml 或 .yml 为后缀的配置文件。一开始以为是某个程序的专有配置,后来发现这个后缀的文件出现的频率越来越高,甚至 Eslint 也支持了第三种格式的配置 .eslintrc.yml 。 既然遇到了,那就去 探索 它! 下面我们从 YAML 的 出现背景 , 使用场景 , 具体用法 , 高级操作 四个方面,看一下这个流行的现代化配置的神秘之处。 一个新工具的出现避免不了有两个原因: YAML 这种新工具就属于后者。其实在 yaml 出现之前 js+json 用得也不错,也没什么特别难以处理的问题;但是 yaml 出现以后,开始觉得它好乱呀什么东西,后来了解它后,越用越喜欢,一个字就是优雅。 很多文章说选择 yaml 是因为 json 的各种问题,json 不适合做配置文件,这我觉得有些言过其实了。我更愿意将 yaml 看做是 json 的升级,因为 yaml 在格式简化和体验上表现确实不错,这个得承认。 下面我们对比 YAML 和 JSON,从两方面分析: JSON 比较繁琐的地方是它严格的格式要求。比如这个对象: 在 JSON 中以下写法通通都是错的: 字符串的值必须 k->v 都是 "" 才行: 虽然是统一格式,但是使用上确实有不便利的地方。比如我在浏览器上测出了接口错误。然后把参数拷贝到 Postman 里调试,这时就我要手动给每个属性和值加 "" 号,非常繁琐。 YAML 则是另辟蹊径,直接把字符串符号干掉了。上面对象的同等 yaml 配置如下: 没错,就这么简单! 除了 "" 号,yaml 觉得 {} 和 [] 这种符号也是多余的,不如一起干掉。 于是呢,以这个对象数组为例: 转换成 yaml 是这样的: 对比一下这个精简程度,有什么理由不爱它? 说起增加的部分,最值得一提的,是 YAML 支持了 注释 。 用 JSON 写配置是不能有注释的,这就意味着我们的配置不会有备注,配置多了会非常凌乱,这是最不人性化的地方。 现在 yaml 支持了备注,以后配置可以是这样的: 把这种配置丢给新同事,还怕他看不懂配了啥吗? 除注释外,还支持配置复用的相关功能,这个后面说。 我接触的第一个 yaml 配置是 Flutter 项目的包管理文件 pubspec.yaml ,这个文件的作用和前端项目中的 package.json 一样,用于存放一些全局配置和应用依赖的包和版本。 看一下它的基本结构: 你看这个结构和 package.json 是不是基本一致? dependencies 下列出应用依赖和版本, dev_dependencies 下的则是开发依赖。 后来在做 CI/CD 自动化部署的时候,我们用到了 GitHub Action。它需要多个 yaml 文件来定义不同的工作流,这个配置可比 flutter 复杂得多。 其实不光 GitHub Action,其他流行的类似的构建工具如 GitLab CI/CD,circleci,全部都是齐刷刷的 yaml 配置,因此如果你的项目要做 CI/CD 持续集成,不懂 yaml 语法肯定是不行的。 还有,接触过 Docker 的同学肯定知道 Docker Compose,它是 Docker 官方的单机编排工具,其配置文件 docker-compose.yml 也是妥妥的 yaml 格式。现在 Docker 正是如日中天的时候,使用 Docker 必然免不了编排,因此 yaml 语法早晚也要攻克。 上面说的这 3 个案例,几乎都是现代最新最流行的框架/工具。从它们身上可以看出来,yaml 必然是下一代配置文件的标准,并且是 前端-后端-运维 的通用标准。 说了这么多,你跃跃欲试了吗?下面我们详细介绍 yaml 语法。 介绍 yaml 语法会对比 json 解释,以便我们快速理解。 先看一下 yaml 的几个特点: 相比于 JSON 来说,最大的区别是用 缩进 来表示层级,这个和 Python 非常接近。还有强化的一点是支持了注释,JSON 默认是不支持的(虽然 TS 支持),这也对配置文件非常重要。 YAML 支持以下几种数据结构: 先看对象,上一个 json 例子: 转换成 yaml: 对象是最核心的结构,key 值的表示方法是 [key]: ,注意这里 冒号后面有个空格,一定不能少 。value 的值就是一个 纯量 ,且默认不需要引号。 数组和对象的结构差不多,区别是在 key 前用一个 - 符号标识这个是数组项。注意这里 也有一个空格 ,同样也不能少。 转换成 JSON 格式如下: 了解了基本的对象和数组,我们再来看一个复杂的结构。 众所周知,在实际项目配置中很少有简单的对象或数组,大多都是对象和数组相互嵌套而成。在 js 中我们称之为对象数组,而在 yaml 中我们叫 复合结构 。 比如这样一个稍复杂的 JSON: 转换成复合结构的 YAML: 若你想尝试更复杂结构的转换,可以在 这个 网页中在线实践。 纯量比较简单,对应的就是 js 的基本数据类型,支持如下: 比较特殊的两个,null 用 ~ 符号表示,时间大多用 2021-12-21 这种格式表示,如: 转换成 JS 后: 在 yaml 实战过程中,遇到过一些特殊场景,可能需要一些特殊的处理。 在 shell 中我们常见到一些参数很多,然后特别长的命令,如果命令都写在一行的话可读性会非常差。 假设下面的是一条长命令: 在 linux 中可以这样处理: 就是在每行后加 符号标识换行。然而在 YAML 中更简单,不需要加任何符号,直接换行即可: YAML 默认会把换行符转换成 空格 ,因此转换后 JSON 如下,正是我们需要的: 然而有时候,我们的需求是 保留换行符 ,并不是把它转换成空格,又该怎么办呢? 这个也简单,只需要在首行加一个 | 符号: 转换成 JSON 变成了这样: 获取配置是指,在 YAML 文件中定义的某个配置,如何在代码(JS)里获取? 比如前端在 package.json 里有一个 version 的配置项表示应用版本,我们要在代码中获取版本,可以这么写: JSON 是可以直接导入的,YAML 可就不行了,那怎么办呢?我们分环境解析: 在浏览器中 浏览器中代码用 webapck 打包,因此加一个 loader 即可: 然后配置 loader: 在组件中使用: 在 Node.js 中 Node.js 环境下没有 Webpack,因此读取 yaml 配置的方法也不一样。 首先安装一个 js-yaml 模块: 然后通过模块提供的方法获取: 配置项复用的意思是,对于定义过的配置,在后面的配置直接引用,而不是再写一遍,从而达到复用的目的。 YAML 中将定义的复用项称为锚点,用 & 标识;引用锚点则用 * 标识。 对应的 JSON 如下: 但是锚点有个弊端,就是不能作为 变量 在字符串中使用。比如: 此时 key2 的值就是普通字符串 _my name is *name_,引用变得无效了。 其实在实际开发中,字符串中使用变量还是很常见的。比如在复杂的命令中多次使用某个路径,这个时候这个路径就应该是一个变量,在多个命令中复用。 GitHub Action 中有这样的支持,定义一个环境变量,然后在其他的地方复用: 这种实现方式与 webpack 中使用环境变量类似,在构建的时候将变量替换成对应的字符串。 如果本文对你有启发,请甩手一个赞2023-06-13 00:51:411
二、SpringBoot的配置--yaml
SpringBoot使用一个全局的配置文件,配置文件名是固定的; 配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好; YAML 是一个标记语言 标记语言: 以前的配置文件;大多都使用的是xxx.xml文件 YAML:以数据为中心,比json、xml等更适合做配置文件 YAML:配置例子 XML: k:(空格)v : 表示一对键值对(空格必须有) 以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的 属性和值也是大小写敏感; k: v :字面直接来写; 字符串默认不用加上单引号或者双引号; "" :双引号;不会转义字符串里面的特殊字符; 特殊字符会作为本身想表示的意思 name : "zhangsan lisi" :输出 : zhangsan 换行 lisi "" :单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据 name: "zhangsan lisi" : 输出 ; zhangsan lisi k: v : 在下一行来写对象的属性和值的关系 ;注意缩进 对象还是 k: v 的方式 行内写法: 用- 值表示数组中的一个元素 行内写法 配置文件 javaBean: 我们可以导入配置文件处理器,以后编写配置就有提示了 调整 图示: 配置文件yml还是properties他们都能获取到值; 如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value 如果说,我们专门编写一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties @ImportResource:导入Spring的配置文件,让配置文件里面的内容生效 SpringBoot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别; 想让Spring的配置文件生效,加载进来;@ImportResource标注在一个配置类上 不来编写Spring的配置文件 Spring Boot推荐给容器添加组件的方式;推荐全注解的方式 1、配置类@Configuration------>Spring配置文件 2、使用@Bean给容器中添加组件 我们在主配置文件编写的时候,文件名可以是application-{profile}.properties/yml 默认使用application.properties的配置 1、在配置文件中指定spring.profiles.active=dev 2、在命令行: java -jar spring-boot-02-config.jar --spring.profiles.active=dev; 可以直接在测试的时候,配置传入命令行参数 3.虚拟机参数 -Dspring.profiles.active=dev springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring Boot的默认配置文件 -file:./config/ -file:./ -classpath:/config/ -classpath:/ 优先级由高到低,高优先级的配置会覆盖低优先级的配置 SpringBoot会从这四个位置加载主配置文件:互补配置 ==我们还可以通过spring.config.location来改变默认的配置文件位置== 项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置;指定配置文件和默认加载的这些配置文件共同起作用互补配置; java -jar spring-boot-02-config.jar --spring.config.location=G:/application.properties ==SpringBoot也可以从以下位置加载配置;优先级从高到低;高优先级的配置低优先级的配置,所有的配置会形成互补配置== 1.命令行参数 2.来自java:comp/env的JNDI属性 3.java系统属性 4.操作系统环境变量 5.RandomValuePropertySource配置的random.*属性值 ==有jar包外箱jar包内进行寻找== ==优先加载带profile== 6.jar包外部的application-{profile}.properties 或 application.yml(带spring.profile)配置文件 7.jar包内部的application-{profile}.properties 或 application.yml(带spring.profile)配置文件 ==再来加载不带profile== 8.jar包外部的application.properties或者application.yml(不带spring.profile)配置文件 9.jar包内部的application.properties或者application.yml(不带spring.profile)配置文件 精髓: 1》springboot启动会加载大量的自动配置类 2》我们看我们需要的功能有没有springboot默认写好的自动配置类 3》我们再来看这个自动配置类中到底配置了那些组件;(只要我们要用的组件有,我们就不需要再来配置了) 4》给容器中自动配置类添加组件的时候,会从properties类中获取某些属性,我们就可以在配置文件中指定这些属性的值2023-06-13 00:51:481
yaml 语法中的double怎么写
用malloc申请一段连续的内存空间, 这段内存可以存放n个double类型的变量, 实际上就是动态申请了一个double[n]的数组因为malloc的返回类型都是(void *)所以强制转换为(double *), 需要留意的是无论指针类型是什么所有指针的size都是相同的P[i]等价于*(P + i), 甚至可以写成i[P]于是等价于*(i + P)虽然这样写是不推荐的P指向malloc申请的数组的第一个元素, *P是这第一个元素的值, P+1就是指向第二个元素, 以此类推2023-06-13 00:52:051
Robotframework-RED编辑器yaml的引用
在使用RF框架编写case时,为了脚本便于后续的管理与维护,数据与脚本分离,就变得很重要,这时就要考虑到用什么文件格式去管理参数、变量相关的数据呢? 本次要说的就是用yaml文件格式,下面就开始咱们的步骤论哈 第一步:安装PyYAML模块 pip install PyYAML 第二步:创建一个var.yaml文件,里面输入以下内容:第三步:创建一个test921.robot文件,输入一下内容: 第四步:运行一下,查看结果:2023-06-13 00:52:121
2019-05-30 Python+Jinja2+yaml 批量生成配置
目前来看,Python+yaml+Jinja2是非常方便生成批量配置的组合,在运维工作中用于批量生成设备的基础配置。 这里我的案例是配置一批交换机,基础配置不同的地方有:loopback地址(IPV4和IPV6),设备名称,ISIS网络号,至于其他互联地址什么的因为情况比较复杂,还是手工做吧。 那么思路就有了。 1、生成yaml文件,类似于下面结构: 这里说明一下,loopback地址的V4网段是先规划好的,V6地址和ISIS网络号通过一定规则根据V4地址生成,这个yaml文件可以通过读取excel文件,按照算法生成yaml文件,这个在其他文章里再写。 2、读取yaml文件,生成一个由字典组成的列表。每个字典的信息就包含了每台设备需要的变量。 3、写一个函数,遍历列表里的字典,每读取一个字典,把其中变量取出来放进一个临时字典,渲染jinja2的模板,对每个字典输出不同的配置文件。这个临时字典每读取一次就清空,重新写入变量。 有一些细节比如文档取名,时间函数等要调用一些模块,总结一下涉及的知识点,有:yaml模块,jinja2模块,os模块,日期函数,条件循环,I/O操作。 附上python脚本: 模板文件放在‘templates"目录下,否则会报错找不到文件。 python新手,有不合理的地方请高手指点。2023-06-13 00:52:191
电脑编程好学吗?
我是计算机系的,也在学编程,也支持你去学.不过英语要好一点.那样编程里面的好多东西才容易记和理解.你可以学C++,现在大部分的学的都是这个.2023-06-13 00:52:3110
【实践】2.Prometheus命令和配置详解
Prometheus配置方式有两种: (1)命令行,用来配置不可变命令参数,主要是Prometheus运行参数,比如数据存储位置 (2)配置文件,用来配置Prometheus应用参数,比如数据采集,报警对接 不重启进程配置生效方式也有两种: (1)对进程发送信号SIGHUP (2)HTTP POST请求,需要开启--web.enable-lifecycle选项curl -X POST http://192.168.66.112:9091/-/reload 配置文件格式是yaml格式,说明: .yml或者.yaml 都是 yaml格式的文件, yaml格式的好处: 和json交互比较容易 python/go/java/php 有yaml格式库,方便语言之间解析,并且这种格式存储的信息量很大。 命令行可用配置可通过prometheus -h来查看。 配置文件使用yml格式,配置文件中一级配置项如下,说明参考#备注内容。 配置文件中通用字段值格式 <boolean>: 布尔类型值为true和false <scheme>: 协议方式包含http和https 原始配置文件内容: 全局默认的数据拉取间隔 全局默认的单次数据拉取超时,当报context deadline exceeded错误时需要在特定的job下配置该字段。 全局默认的规则(主要是报警规则)拉取间隔 该服务端在与其他系统对接所携带的标签 该字段配置与Alertmanager进行对接的配置 样例: 上面的配置中的 alert_relabel_configs 是指警报重新标记在发送到Alertmanager之前应用于警报。 它具有与目标重新标记相同的配置格式和操作,外部标签标记后应用警报重新标记,主要是针对集群配置。 这个设置的用途是确保具有不同外部label的HA对Prometheus服务端发送相同的警报信息。 Alertmanager 可以通过 static_configs 参数静态配置,也可以使用其中一种支持的服务发现机制动态发现,我们上面的配置是静态的单实例。 此外, relabel_configs 允许从发现的实体中选择 Alertmanager,并对使用的API路径提供高级修改,该路径通过 __alerts_path__ 标签公开。 完成以上配置后,重启Prometheus服务,用以加载生效,也可以使用热加载功能,使其配置生效。然后通过浏览器,访问 http://192.168.1.220:19090/alerts 就可以看 inactive pending firing 三个状态,没有警报信息是因为我们还没有配置警报规则 rules 。 这里定义和prometheus集成的alertmanager插件,用于监控报警。后续会单独进行alertmanger插件的配置、配置说明、报警媒介以及route路由规则记录。 此项配置和 scrape_configs 字段中 relabel_configs 配置一样,用于对需要报警的数据进行过滤后发向 Alertmanager 说明 relabel-configs的配置允许你选择你想抓取的目标和这些目标的标签是什么。所以说如果你想要抓取这种类型的服务器而不是那种,可以使用relabel_configs 相比之下,metric_relabel_configs是发生在抓取之后,但在数据被插入存储系统之前使用。因此如果有些你想过滤的指标,或者来自抓取本身的指标(比如来自/metrics页面)你就可以使用metric_relabel_configs来处理。 该项目主要用来配置不同的 alertmanagers 服务,以及Prometheus服务和他们的链接参数。 alertmanagers 服务可以静态配置也可以使用服务发现配置。Prometheus以pushing 的方式向alertmanager传递数据。 alertmanager 服务配置和target配置一样,可用字段如下 这个主要是用来设置告警规则,基于设定什么指标进行报警(类似触发器trigger)。这里设定好规则以后,prometheus会根据全局global设定的evaluation_interval参数进行扫描加载,规则改动后会自动加载。其报警媒介和route路由由alertmanager插件实现。 样例: "first_rules.yml"样例: Prometheus 支持两种类型的 Rules ,可以对其进行配置,然后定期进行运算:recording rules 记录规则 与 alerting rules 警报规则,规则文件的计算频率与警报规则计算频率一致,都是通过全局配置中的 evaluation_interval 定义。 不论是recording rules还是alerting rules都要在组里面。 要在Prometheus中使用Rules规则,就必须创建一个包含必要规则语句的文件,并让Prometheus通过Prometheus配置中的rule_files字段加载该文件,前面我们已经讲过了。 其实语法都一样,除了 recording rules 中的收集的指标名称 record: <string> 字段配置方式略有不同,其他都是一样的。 配置范例: recording rules 是提前设置好一个比较花费大量时间运算或经常运算的表达式,其结果保存成一组新的时间序列数据。当需要查询的时候直接会返回已经计算好的结果,这样会比直接查询快,同时也减轻了PromQl的计算压力,同时对可视化查询的时候也很有用,可视化展示每次只需要刷新重复查询相同的表达式即可。 在配置的时候,除却 record: <string> 需要注意,其他的基本上是一样的,一个 groups 下可以包含多条规则 rules ,Recording 和 Rules 保存在 group 内,Group 中的规则以规则的配置时间间隔顺序运算,也就是全局中的 evaluation_interval 设置。 配置范例: 上面的规则其实就是根据 record 规则中的定义,Prometheus 会在后台完成 expr 中定义的 PromQL 表达式周期性运算,以 job 为维度使用 sum 聚合运算符 计算 函数rate 对http_requests_total 指标区间 10m 内的增长率,并且将计算结果保存到新的时间序列 job:http_requests_total:rate10m 中, 同时还可以通过 labels 为样本数据添加额外的自定义标签,但是要注意的是这个 lables 一定存在当前表达式 Metrics 中。 模板是在警报中使用时间序列标签和值展示的一种方法,可以用于警报规则中的注释(annotation)与标签(lable)。模板其实使用的go语言的标准模板语法,并公开一些包含时间序列标签和值的变量。这样查询的时候,更具有可读性,也可以执行其他PromQL查询 来向警报添加额外内容,ALertmanager Web UI中会根据标签值显示器警报信息。 {{ $lable.<lablename>}} 可以获取当前警报实例中的指定标签值 {{ $value }} 变量可以获取当前PromQL表达式的计算样本值。 调整好rules以后,我们可以使用 curl -XPOST http://localhost:9090/-/reload 或者 对Prometheus服务重启,让警报规则生效。 这个时候,我们可以把阈值调整为 50 来进行故障模拟操作,这时在去访问UI的时候,当持续1分钟满足警报条件,实际警报状态已转换为 Firing,可以在 Annotations中看到模板信息 summary 与 description 已经成功显示。 规则检查 拉取数据配置,在配置字段内可以配置拉取数据的对象(Targets),job以及实例 定义job名称,是一个拉取单元。每个job_name都会自动引入默认配置如 这些也可以在单独的job中自定义 服务端拉取过来的数据也会存在标签,配置文件中也会有标签,这样就可能发生冲突。 true就是以抓取数据中的标签为准 false就会重新命名抓取数据中的标签为“exported”形式,然后添加配置文件中的标签 切换抓取数据所用的协议 定义可选的url参数 每次抓取数据请求的认证信息 password和password_file互斥只可以选择其一 bearer_token和bearer_token_file互斥只可以选择其一 抓取ssl请求时证书配置 通过代理去主去数据 Prometheus支持多种服务现工具,详细配置这里不再展开 更多参考官网: https://prometheus.io/docs/prometheus/latest/configuratio n/configuration/ 服务发现来获取抓取目标为动态配置,这个配置项目为静态配置,静态配置为典型的targets配置,在改配置字段可以直接添加标签 采集器所采集的数据都会带有label,当使用服务发现时,比如consul所携带的label如下: 这些lable是数据筛选与聚合计算的基础。 抓取数据很繁杂,尤其是通过服务发现添加的target。所以过滤就显得尤为重要,我们知道抓取数据就是抓取target的一些列metrics,Prometheus过滤是通过对标签操作操现的,在字段relabel_configs和metric_relabel_configs里面配置,两者的配置都需要relabel_config字段。该字段需要配置项如下 target配置示例 target中metric示例 target中metric示例 使用示例 由以上可知当使用服务发现consul会带入标签__meta_consul_dc,现在为了表示方便需要将该标签变为dc 需要做如下配置,这里面action使用的replacement 过滤采集target 为了防止Prometheus服务过载,使用该字段限制经过relabel之后的数据采集数量,超过该数字拉取的数据就会被忽略 Prometheus可以进行远程读/写数据。字段remote_read和remote_write (1)Prometheus 配置详解 https://www.dazhuanlan.com/2019/12/12/5df11ada207ce/ (2)Prometheus配置文件prometheus.yml 四个模块详解 http://www.21yunwei.com/archives/7321 (3)官方文档说明 https://prometheus.io/docs/prometheus/latest/configuration/configuration/ (4)Prometheus监控神器-Rules篇 https://zhuanlan.zhihu.com/p/179295676 (5)Prometheus监控神器-Alertmanager篇(1) https://zhuanlan.zhihu.com/p/179292686 (6)Prometheus监控神器-Alertmanager篇(2) https://zhuanlan.zhihu.com/p/1792944412023-06-13 00:53:021
K8S Pod之间的网速测试
说到两个节点间的网速测试,现在最通用的工具是iperf。iperf有两种运行模式,一种是server模式,一种是client模式。当我们要测试两个节点的网速的时候,就需要在其中一台机器上开启server模式,另一台机器则开启client模式。开启server模式很简单,一条简单的命令就可以了: 开启iperf client的模式也比较简单 这里就有个问题,对于两台实体机,那么,serverip很容易就可以获得,但是如果两个节点都是K8S中的pod呢?serverip不光不容易获得,很有可能会在server pod发生故障之后变化,这样,iperf工具就没有办法正常工作了。 解决方法: 如果想要server pod固定一个访问ip给 client pod, K8S给我们提供了一个很方便的功能,就是service这个概念,如果把server pod绑定在某个service上,那这些pod对K8S集群内就可以暴露service ip,而这个抽象出来的ip地址是不会变化的,所以这样就可以给client pod 提供固定的ip地址去连接了。 server.yaml: 执行完上面的yaml文件后,可以获取到svc的信息: 我们可以看到,该service的ip地址,以及暴露的端口5201(iperf3 服务端默认暴露的端口)。 也就是说,client pod只需要将serverip 替换为10.97.191.10(cluster ip)就可以了。那么问题就转换为如何让client pod获取到server pod的service cluster ip地址。 这个地方我查阅了很多资料,最后发现,其实当service的yaml文件执行成功之后,在这之后启动的pod中会新增对应的环境变量: 客户端成功连接上了服务端!搞定!2023-06-13 00:53:321
SpringBoot的配置文件有哪几种格式?
SpringBoot中的配置文件主要有三种格式,properties、yaml、和xml方式。- 其中properties格式配置文件后缀是.properties,配置项为:server.port = 9090- yaml格式配置文件后缀是.yml,配置项是:server.port: 9090在SpringBoot中,使用最广泛的配置文件是yaml,yaml之所以流行,除了他配置语法精简之外,还因为yaml是一个跨编程语言的配置文件。在SpringBoot中,除了yaml之外,properties也比较常用,但是XML几乎不用,看得出来Spring团队非常痛恨XML配置文件!认为它不是一个好的语言。如果你对常见的配置文件有哪几种格式不熟悉,就去黑马程序员官网视频库看免费视频。2023-06-13 00:53:391
kubernetes(k8s)secret使用
Secret有三种类型: 1、Opaque:base64 编码格式的 Secret,用来存储密码、密钥等;但数据也可以通过base64 –decode解码得到原始数据,所以加密性很弱。 2、kubernetes.io/dockerconfigjson:用来存储私有docker registry的认证信息。 3、kubernetes.io/service-account-token:用于被serviceaccount引用,serviceaccout 创建时Kubernetes会默认创建对应的secret。Pod如果使用了serviceaccount,对应的secret会自动挂载到Pod目录/run/secrets/kubernetes.io/serviceaccount中。 Opaque 类型的数据是一个 map 类型,要求value是base64编码格式,比如我们来创建一个用户名为 admin,密码为 admin321 的 Secret 对象,首先需要把这用户名和密码做 base64 编码, 然后可以利用上面编码过后的数据来编写一个YAML文件:(secret-demo.yaml) 然后同样使用kubectl命令来创建: 利用get secret命令查看: 其中default-token-n9w2d为创建集群时默认创建的 secret,被serviceacount/default 引用。 使用describe命令,查看详情: 我们可以看到利用describe命令查看到的Data没有直接显示出来,如果想看到Data里面的详细信息,同样我们可以输出成YAML文件进行查看: 创建好Secret对象后,有两种方式来使用它: 1、以环境变量的形式 2、以Volume的形式挂载 首先我们来测试下环境变量的方式,同样的,我们来使用一个简单的busybox镜像来测试下:(secret1-pod.yaml) 创建上面的Pod: 然后我们查看Pod的日志输出: 可以看到有 USERNAME 和 PASSWORD 两个环境变量输出出来。需要注意的是,环境变量的方式,不支持动态更新密码。 同样的我们用一个Pod来验证下Volume挂载,创建一个Pod文件:(secret2-pod.yaml) 创建Pod: 然后我们查看输出日志: 可以看到secret把两个key挂载成了两个对应的文件。 除了上面的Opaque这种类型外,我们还可以来创建用户docker registry认证的Secret,直接使用kubectl create命令创建即可,如下: 然后查看Secret列表: 注意 看上面的TYPE类型,myregistry是不是对应的kubernetes.io/dockerconfigjson,同样的可以使用describe命令来查看详细信息: 同样的可以看到Data区域没有直接展示出来,如果想查看的话可以使用-o yaml来输出展示出来: 可以把上面的data.dockerconfigjson下面的数据做一个base64解码,看看里面的数据是怎样的呢? 如果我们需要拉取私有仓库中的docker镜像的话就需要使用到上面的myregistry这个Secret: 我们需要拉取私有仓库镜像10.8.13.85/test:v1,我们就需要针对该私有仓库来创建一个如上的Secret,然后在Pod的 YAML 文件中指定imagePullSecrets。 另外一种Secret类型就是kubernetes.io/service-account-token,用于被serviceaccount引用。serviceaccout 创建时 Kubernetes 会默认创建对应的 secret。Pod 如果使用了 serviceaccount,对应的secret会自动挂载到Pod的/run/secrets/kubernetes.io/serviceaccount目录中。 这里我们使用一个nginx镜像来验证一下,大家想一想为什么不是呀busybox镜像来验证?当然也是可以的,但是我们就不能在command里面来验证了,因为token是需要Pod运行起来过后才会被挂载上去的,直接在command命令中去查看肯定是还没有 token 文件的。 最后我们来对比下Secret和ConfigMap这两种资源对象的异同点: key/value的形式 属于某个特定的namespace 可以导出到环境变量 可以通过目录/文件形式挂载 通过 volume 挂载的配置信息均可热更新 Secret 可以被 ServerAccount 关联 Secret 可以存储 docker register 的鉴权信息,用在 ImagePullSecret 参数中,用于拉取私有仓库的镜像 Secret 支持 Base64 加密 Secret 分为 kubernetes.io/service-account-token、kubernetes.io/dockerconfigjson、Opaque 三种类型,而 Configmap 不区分类型2023-06-13 00:54:001
Flink 指标(二)
通过 conf/flink-conf.yaml 文件配置一个或多个 Reporters 来暴露度量值给外部系统,这些 Reporter 将在作业和任务启动的时候实例化。 所有的 Reporter 配置至少需要配置 class 属性,还有一些允许配置记录间隔。下面是一些 Reporter 的配置实例: 包含 Reporter 的 jar 必须放到 /lib 文件夹,这样 Flink 就可以访问到这些 jar。 可以通过继承 org.apache.flink.metrics.reporter.MetricReporter 接口来实现自己的 Reporter,如果需要定期发送记录,需要继承 Scheduled 接口。 下面是一些支持的 Reporter: 不需要添加额外的依赖就可以支持 JMX Reporter,默认是不激活的。 参数: 配置示例: 通过 JMX 公开的度量由域(domain)和键属性列表(key-properties)标识,这些属性一起构成对象名。 域始终以 org.apache.flink 开头,后跟一个通用的度量标识符。与通常的标识符不同,它不受作用域格式的影响,不包含任何变量,并且在跨作业时也是常量。例子: org.apache.flink.job.task.numbytesout 。 键属性列表包含与给定指标关联的所有变量的值,无论配置的作用域格式如何。例子: host=localhost,job_name=myjob,task_name=mytask 。 因此,域标识一个度量类,键属性列表标识该度量的一个(或多个)实例。 要使用此 Reporter,必须复制 /opt/flink-metrics-ganglia-1.6.1-SNAPSHOT.jar 到 Flink 的 /lib 文件夹下。 参数: 配置示例: 要使用此 Reporter,必须复制 /opt/flink-metrics-graphite-1.6.1-SNAPSHOT.jar 到 Flink 的 /lib 文件夹下。 参数: 配置示例: 要使用此 Reporter,必须复制 /opt/flink-metrics-prometheus-1.6.1-SNAPSHOT.jar 到 Flink 的 /lib 文件夹下。 参数: 配置示例: Flink 度量类型映射到 Prometheus 度量类型,如下所示: 要使用此 Reporter,必须复制 /opt/flink-metrics-prometheus-1.6.1-SNAPSHOT.jar 到 Flink 的 /lib 文件夹下。 参数: 配置示例: PrometheusPushGatewayReporter 将指标推送到 Pushgateway,可由 Prometheus 抓取。 要使用此 Reporter,必须复制 /opt/flink-metrics-statsd-1.6.1-SNAPSHOT.jar 到 Flink 的 /lib 文件夹下。 参数: 配置示例: 要使用此 Reporter,必须复制 /opt/flink-metrics-datadog-1.6.1-SNAPSHOT.jar 到 Flink 的 /lib 文件夹下。 Flink 指标,如任何变量 <host> , <job_name> , <tm_id> , <subtask_index> , <task_name> 和 <operator_name> ,将被发送到 Datadog 作为标签。标签看起来像 host:localhost 和 job_name:myjobname 。 参数: 配置示例: 要使用此 Reporter,必须复制 /opt/flink-metrics-slf4j-1.6.1-SNAPSHOT.jar 到 Flink 的 /lib 文件夹下。 配置示例: Flink 默认会收集当前状态的指标,下文的表格中包括以下5列: 请注意,“infix” 和 “Metrics” 列中所有的点根据 “metrics.delimiter” 设置变化。 因此,为了推断指标的标识符: Reference: https://ci.apache.org/projects/flink/flink-docs-release-1.6/monitoring/metrics.html2023-06-13 00:54:061
如何滚动重启pod而不改变kubernetes(k8s)中的部署yaml?
在 1.15 版本之前通过修改 annotations 的变量值可实现滚动重启 Pod ,当然这个方法其实更改了 yaml 文件,不过是更改的自定义变量字段通过时间戳的方式来设置值,一般不会对 Pod 主要内容有影响 在 1.15 版本之后使用以下命令:2023-06-13 00:54:131
请教如何在phpStorm中配置eslint
使用ESlint一、ESLint跟JSLint和JSHint类似,但有以下区别:1.使用Espree进行js解析(parse)2.用AST抽象语法树去识别(evaluate)代码中的模式3.每个规则都是独立的插件二、安装全局安装:npm install -g eslint三、使用如果是第一次使用,eslint --init 命令帮你完成初始化,生成.eslintrc文件然后eslint test.js test2.js四、配置{"rules": {"semi": ["error", "always"],"quotes": ["error", "double"]}}2023-06-13 00:54:202
如何在 Linux 系统上安装 Suricata 入侵检测系统
由于安全威胁持续不断,配备入侵检测系统(IDS)已成为如今数据中心环境下最重要的要求之一。然而,随着越来越多的服务器将网卡升级到10GB/40GB以太网技术,我们越来越难在大众化硬件上以线速实施计算密集型入侵检测。扩展IDS性能的一个方法就是使用多线程IDS。在这种IDS下,大量耗用CPU资源的深度数据包检查工作负载并行化处理,分成多个并发任务。这种并行化检查机制可以充分发扬多核硬件的优势,轻松扩展IDS的处理能力。这方面的两个知名的开源工具就是Suricata(http://suricata-ids.org)和Bro(https://www.bro.org)。我在本教程中将演示如何在Linux服务器上安装和配置Suricata IDS。在Linux上安装Suricata IDS不妨用源代码构建Suricata。你先要安装几个所需的依赖项,如下所示。在Debian、Ubuntu或Linux Mint上安装依赖项$ sudo apt-get install wget build-essential libpcre3-dev libpcre3-dbg automake autoconf libtool libpcap-dev libnet1-dev libyaml-dev zlib1g-dev libcap-ng-dev libjansson-dev在CentOS、Fedora或RHEL上安装依赖项$ sudo yum install wget libpcap-devel libnet-devel pcre-devel gcc-c++ automake autoconf libtool make libyaml-devel zlib-devel file-devel jansson-devel nss-devel一旦你安装了所有必需的程序包,现在可以安装Suricata了,如下所示。首先,从http://suricata-ids.org/download/下载最新的Suricata源代码,编译代码。截至本文撰稿时,最新版本是2.0.8。$ wget http://www.openinfosecfoundation.org/download/suricata-2.0.8.tar.gz$ tar -xvf suricata-2.0.8.tar.gz$ cd suricata-2.0.8$ ./configure --sysconfdir=/etc --localstatedir=/var这是配置的示例输出结果。Suricata Configuration: AF_PACKET support: yes PF_RING support: no NFQueue support: no NFLOG support: no IPFW support: no DAG enabled: no Napatech enabled: no Unix socket enabled: yes Detection enabled: yeslibnss support: yes libnspr support: yes libjansson support: yes Prelude support: no PCRE jit: yes LUA support: no libluajit: no libgeoip: no Non-bundled htp: no Old barnyard2 support: no CUDA enabled: no现在编译并安装它。$ make$ sudo make installSuricata源代码随带默认的配置文件。不妨安装这些默认的配置文件,如下所示。$ sudo make install-conf正如你所知,要是没有IDS规则集,Suricata毫无用处。颇为方便的是,Makefile随带IDS规则安装选项。想安装IDS规则,运行下面这个命令即可。$ sudo make install-rules上述规则安装命令会从EmergingThreats.net(https://www.bro.org)安装可用的社区规则集的最新快照,并将它们存储在/etc/suricata/rules下。首次配置Suricata IDS现在就可以配置Suricata了。配置文件位于/etc/suricata/suricata.yaml。使用文本编辑工具打开文件,以便编辑。$ sudo vi /etc/suricata/suricata.yaml下面是一些基本的设置,供你开始入门。“default-log-dir”关键字应该指向Suricata日志文件的位置。default-log-dir: /var/log/suricata/在“vars”这部分下面,你会找到Suricata使用的几个重要变量。“HOME_NET”应该指向由Suricata检查的本地网络。“!$HOME_NET”(被分配给EXTERNAL_NET)指本地网络以外的任何网络。“XXX_PORTS”表明不同服务所使用的一个或多个端口号。请注意:不管使用哪个端口, Suricata都能自动检测HTTP流量。所以,正确指定HTTP_PORTS变量并不是很重要。vars:HOME_NET: "[192.168.122.0/24]"EXTERNAL_NET: "!$HOME_NET"HTTP_PORTS: "80"SHELLCODE_PORTS: "!80"SSH_PORTS: 22“host-os-policy”这部分用来防范一些利用操作系统的网络堆栈的行为(比如TCP重组)来规避检测的常见攻击。作为一项应对措施,现代IDS想出了所谓的“基于目标的”检测,检查引擎根据流量的目标操作系统,对检测算法进行微调。因而,如果你知道每个本地主机运行什么操作系统,就可以将该信息提供给Suricata,从而有望提高其检测速度。这时候用到了“host-os-policy“部分。在该例子中,默认的IDS策略是Linux;如果不知道某个IP地址的操作系统信息,Suricata就会运用基于Linux的检查策略。如果捕获到192.168.122.0/28和192.168.122.155的流量,Suricata就会运用基于Windows的检查策略。host-os-policy:# 这些是Windows机器。windows: [192.168.122.0/28, 192.168.122.155]bsd: []bsd-right: []old-linux: []# 将Linux作为默认策略。linux: [0.0.0.0/0]old-solaris: []solaris: ["::1"]hpux10: []hpux11: []irix: []macos: []vista: []windows2k3: []在“threading”这部分下面,你可以为不同的Suricata线程指定CPU亲和性(CPU affinity)。默认情况下,CPU亲和性被禁用(“set-cpu-affinity: no”),这意味着Suricata线程将被安排在任何可用的CPU核心上。默认情况下,Suricata会为每个CPU核心创建一个“检测”线程。你可以调整这个行为,只要指定“detect-thread-ratio: N”。这会创建N x M个检测 线程,其中M是指主机上CPU核心的总数。threading:set-cpu-affinity: nodetect-thread-ratio: 1.5就上述线程设置而言,Suricata会创建1.5 x M个检测线程,其中M是系统上CPU核心的总数。想了解关于Suricata配置的更多信息,你可以阅读默认的配置文件本身,为了便于理解,加有大量注释。使用Suricata执行入侵检测现在可以试着运行Suricata了。在启动它之前,还有一个步骤要完成。如果你使用pcap捕获模式,强烈建议关闭Suricata侦听的那个网卡上的任何数据包卸载功能(比如LRO/GRO),因为那些功能可能会干扰数据包实时捕获。下面介绍如何关闭网络接口eth0上的LRO/GRO:$ sudo ethtool -K eth0 gro off lro off请注意:视使用的网卡而定,你可能会看到下列警示信息,可以忽视这个信息。它只是意味着你的网卡不支持LRO。Cannot change large-receive-offloadSuricata支持多种运行模式。运行模式决定了不同的线程如何用于IDS。下面这个命令列出了所有可用的运行模式。$ sudo /usr/local/bin/suricata --list-runmodesSuricata使用的默认运行模式是autofp(代表“自动流绑定负载均衡模式”)。在这种模式下,来自每一路流的数据包被分配给单一的检测线程。流被分配给了未处理数据包数量最少的线程。最后,不妨启动Suricata,看看它的实际运行情况。$ sudo /usr/local/bin/suricata -c /etc/suricata/suricata.yaml -i eth0 --init-errors-fatal在这个例子中,我们监控一个8核系统上的网络接口eth0。如上所示,Suricata创建了13个数据包处理线程和3个管理线程。数据包处理线程包括1个PCAP数据包捕获线程和12个检测线程(相当于8 x 1.5)。这意味着,一个捕获线程捕获的数据包经负载均衡处理后,变成了IDS面前的12个检测线程。管理线程是一个流管理器和两个计数器/统计相关线程。下面是Suricata进程的线程视图(由htop描绘)。Suricata检测日志存储在/var/log/suricata目录下。$ tail -f /var/log/suricata/fast.log04/01/2015-15:47:12.559075 [**] [1:2200074:1] SURICATA TCPv4 invalid checksum [**] [Classification: (null)] [Priority: 3] {TCP} 172.16.253.158:22 -> 172.16.253.1:4699704/01/2015-15:49:06.565901 [**] [1:2200074:1] SURICATA TCPv4 invalid checksum [**] [Classification: (null)] [Priority: 3] {TCP} 172.16.253.158:22 -> 172.16.253.1:4631704/01/2015-15:49:06.566759 [**] [1:2200074:1] SURICATA TCPv4 invalid checksum [**] [Classification: (null)] [Priority: 3] {TCP} 172.16.253.158:22 -> 172.16.253.1:46317为了易于导入,还有JSON格式的日志:$ tail -f /var/log/suricata/eve.json{"timestamp":"2015-04-01T15:49:06.565901","event_type":"alert","src_ip":"172.16.253.158","src_port":22,"dest_ip":"172.16.253.1","dest_port":46317,"proto":"TCP","alert":{"action":"allowed","gid":1,"signature_id":2200074,"rev":1,"signature":"SURICATA TCPv4 invalid checksum","category":"","severity":3}}{"timestamp":"2015-04-01T15:49:06.566759","event_type":"alert","src_ip":"172.16.253.158","src_port":22,"dest_ip":"172.16.253.1","dest_port":46317,"proto":"TCP","alert":{"action":"allowed","gid":1,"signature_id":2200074,"rev":1,"signature":"SURICATA TCPv4 invalid checksum","category":"","severity":3}}2023-06-13 00:54:371
Mac 安装完整带pthreads,yaml等扩展的PHP7.0
尝试如下操作: 1、 在php.ini中设置extension_dir 指向e:php5.4ext; 部分php扩展加载了 2、设置windows系统环境变量, phpext, 指向e:php5.4ext, PHPRC 指向e:php5.4 设置path环境变量,添加e:php5.4 3、重新启动apache2023-06-13 00:54:511
Ingress-nginx日志切割与轮循方案
一, 基础镜像 由于我们已解决了权限的问题,所以不需要initContainer来更改权限。日志切割和轮循,基于镜像:hub.c.163.com/combk8s/logrotate:v1.1 从history看,这个镜像也只是在alpine之上,安装了bash,logrotate软件,然后,拷贝并启动了start.sh文件。 二, Dockerfile 为了不与k8s绑死,我们不使用configmap作配置文件,而是使用使用环境变量生成nginx.log配置。 Dockerfile nginx.log模板 start.sh重写 脚本使用传入的环境变量,替换掉nginx.log模板文件中的对应变量。没有环境变量时,也提供必要默认值。 暂时计划是每天凌晨产生备份,只保存最近两个备份。 三, Yaml集成 在ingress应用的yaml文件里,植入一个新的container即可。 四,验证 kubectl logs -f pod可以看到crontab输出 五, logrotate和crontab联动细节想像 start.sh中写入/etc/crontabs/root文件中的数据: 0 */2 * * * /usr/sbin/logrotate -v /etc/logrotate.conf 表示logrotae命令每2小时执行一次,它会将nginx.log配置中的周期(daily)写入/etc/periodic/daily/logrotate文件(如果设置了size,会无视 daily, weekly,monthly 指令,所以size的优先级比较高。)。 /etc/periodic/daily/logrotate中的动态生成的内容如下: 此文件会被/etc/crontabs/root中的如下行触发: 0 2 * * * run-parts /etc/periodic/daily 于是,这时就会在每天凌晨2点,生成日志切割和归档文件。 神奇~ 六,Logrotate参数 compress/nocompress---gzip压缩/不压缩 copytruncate/nocopytruncate---用于还在打开中的日志,把当前日志备份并截断/备份但是不截断 create mode ower group/nocreate---指定文件模式创建新的日志文件/不创建新的日志文件 delaycompress/nodelaycompress ---和compress一起,日志到下一次转存是压缩/转存同时压缩 ifempty/notifempty ---空文件也转存,默认/空文件不转存 mail address / nomail--- 日志发送到指定的mail地址 olddir directory/noolddir--- 转存后日后i文件放入指定目录,必须和当前日志文件同一个文件系统 prerotate/endscript--- 在执行转存之前需执行的命令,关键字必须单独占行 postroutate/endscript ---在执行转存之后需执行的命令,关键字必须单独占行 daily ---周期每天 weekly ---周期每周 monthly ---周期每月 rotate count ---转存次数,0表示不备份,5表示保留5个备份 size size ---当指定文件达到指定大小时才转存 tabootext[+] list ---不转存指定的扩展名,默认扩展名含.rpm-oring error address ---错误信息发送到指定的mail地址 missingok ---如果日志文件丢失,进入到下一个不发出错误消息 sharedscripts ---可以写多个日志文件,同时执行一个脚本,搭配脚本关键字 include ---包含文件 dateext ---为日志打上日期标签 七,参考URL https://my.oschina.net/u/4605142/blog/4521708 https://www.jb51.net/article/183828.htm2023-06-13 00:54:581
多K8S集群运维管理参考
可以通过--kubeconfig 命令行参数来选择操作不同集群 使用默认的 kubeconfig 文件, 需要将多个 kubeconfig 合并,保存在kubeconfig 的默认位置 $HOME/.kube/config , 合并后的参考格式如下: kubeconfig 中定义了 (clusters)集群、(users)用户和 以及相关联的(contexts)上下文,如果使用Uk8s 可以在控制台: 概览-> 内网凭证/外网凭证 查看需要的凭证,然后按照上述格式补全即可 方式三:使用ansible Playbook 来管理集群内的容器应用 场景描述: 目前我们需要使用helm安装一个external-dns 用来将 ingess对接的域名解析规则,自动同步到DNS服务器,使用shell命令操作参考如下: 将以上操作转化为 ansible-playbook 的tasks 可以拆分为四个 tasks , 将上诉文件保存为 deploy_external_dns.yaml, 执行命令 ansible-playbook deploy_external_dns.yaml 命令执行成功回看到返回如下类似结果: 方式四:使用ansible-playbook roles来组织管理集群变更tasks 在方式三中,如果是管理一个集群,编写一个deploy_external_dns.yaml就能完成工作,如果管理多个集群,就要编写多个yaml文件,并且重复编写很多差异不多的tasks 实际操作可能类似这个样子: 经过对比分析,这些tasks 主要差异变量: 只要将以上两个变量参考可配置化,最原始的四个 tasks就可以复用,然后使用 Ansible role 重新组织tasks 文件,拆分为两个role: 其中 external_dns 依赖 helm-repository 然后目录结构如下 roles/helm-repository/main.yml roles/external-dns/tasks/main.yml roles/external-dns/meta/main.yml 新建一个文件 deploy-chart-external-dns 来引用 role:helm-repository 最后,仅仅需要维护一个可复用的 role:helm-repository ,以及在deploy-chart-external-dns 定义要集群属性等变量,就可以轻松的维护多集群内的各类容器应用了 执行命令:ansible-playbook deploy-chart-external-dns 返回结果如下:2023-06-13 00:55:221
application.yml 文件怎么读取系统的环境变量
这些方式优先级如下:命令行参数来自java:comp/env的JNDI属性Java系统属性(System.getProperties())操作系统环境变量RandomValuePropertySource配置的random.*属性值jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件jar包内部的application-{profile}.properties或application.yml(带spring.profile)配置文件jar包外部的application.properties或application.yml(不带spring.profile)配置文件jar包内部的application.properties或application.yml(不带spring.profile)配置文件@Configuration注解类上的@PropertySource2023-06-13 00:55:311
java环境变量正确。编译工具失败
那个可能是系统问题建议换一下系统重新配一下环境变量。。。2023-06-13 00:55:495
ThinkPHP 3.2 版本升级了哪些内容
ThinkPHP 更新了很多从3.1-3.2这之间的我都给你看看!!![新增] 增加index连贯操作方法,用于数据集的强制索引操作[新增] Model类增加using连贯操作用于多表操作[新增] 增加strict连贯操作,用于设置数据写入和查询是否严格检查是否存在字段 默认情况下 不合法数据字段自动删除,如果设置了严格检查则会抛出异常。 例如: $model->strict(true)->add($data);[新增] 增加fetchSql连贯操作[新增] 添加yaml_parse_file()函数,解析yaml文件返回一个数组[新增] 增加memcache Session驱动[新增] 增加聚合模型,方便一对一的关联数据表操作[新增] 新增TMPL_PATH常量支持 可以全局改版模板目录到模块目录之外[新增] 增加Lite模式Db类,仅支持原生SQL操作[新增] 数据库调试增加单独的配置参数 DB_DEBUG(如未设置依然取调试模式常量 APP_DEBUG)[新增] 新增框架核心葡萄牙语言包[新增] 增加COOKIE_SECURE和COOKIE_HTTPONLY配置参数[新增] MySQL驱动增加ON DUPLICATE KEY UPDATE功能[改进] Db类和数据库驱动类完全基于PDO重写[改进] 添加全局过滤机制(默认关闭)[改进] I函数增加修饰符功能和正则检测支持[改进] 采用主从分布式数据库时,从数据库连接失败自动连接主服务器[改进] 增加Model类对复合主键的支持[改进] 改进Mongo模型和驱动类,使用更加方便[改进] 改进session函数删除操作支持数组[改进] 改进session函数对多维赋值的支持[改进] 改进数据库字段缓存的文件标识 加上数据表前缀,避免不同前缀的表产生混淆[改进] 针对数据库视图无主键的问题,使用默认id作为主键,与未开启DB_FIELDS_CACHE时行为一致[改进] SAE模式惯例配置增加上传驱动设置[改进] 改进参数绑定机制[改进] 确保使用参数绑定后日志中生成sql语句的准确性[改进] 模型类的setInc和setDec方法支持延迟写入,同时取消高级模型的相关方法[改进] 日志写入的时候自动创建目录[改进] 改进SQL缓存[改进] 优化缓存队列功能[改进] 路由的请求类型定义不区分大小写[改进] 数据库驱动增加通用insertAll方法支持[改进] 完善 url的验证正则[改进] 单字母函数返回值类型修正以及一些拼写错误修正[改进] 自动创建模型模块的父目录 直接调用ThinkBuild::buildController和buildModel的情况下创建目录[改进] 日志驱动增加自动目录创建支持[改进] 自动生成的目录结构增加模块的缓存目录[改进] mysql存储过程支持完善[改进] Db类改进对多表更新和删除的支持,多表删除支持USING和JOIN操作[改进] 改进parseLock的位置[改进] Db类的update和delete方法增加多表操作的支持[改进] 改进CURD操作 可以直接返回sql语句而不真正执行。[改进] 插件控制器的命名空间可定义 不再局限于模块下面 增加 ADDON_PATH 用于定义插件目录 默认位于 应用目录下面的Addon[改进] 改进静态缓存读取的有效判断对sae的支持[改进] 日志目录分模块[改进] 模型类的getField方法改进 支持在字段名中使用函数[改进] 改进Db类的parseWhere方法[改进] 改进模型的page和limit方法 改进分页类[改进] 改进配置文件自动生成[改进] 完善ShowPageTraceBehavior一处函数调用大小写规范[改进] U函数支持多级控制器[改进] send_http_status函数增加状态[改进] 允许在项目中定义 APP 常量[改进] 改进定义TMPL_PATH后的模板路径定义[改进] Image类的imagick驱动save方法增加quality参数 用于图片质量设置,默认值为80[改进] 改进Image类的JPEG图片生成质量[改进] Gd库驱动类改进[改进] 改进T函数对TMPL_PATH常量定义的支持[改进] 改进I函数对path.0的支持[改进] 改进关联模型[改进] 改进dispatch_jump模板[改进] 更新api模式支持配置文件的后缀定义[改进] 改进Model类的getModelName方法对多层模型的支持[改进] 改进cookie函数对secure和httponly的支持[改进] 改进模板标签对命名空间的支持,写法 {$var|OrgUtilString::rand}[改进] 改进数据表自动识别规则正则规则 可以正确识别带有数字的数据表[改进] Model类的cache方法使用改进 cache(10) 等同于 cache(true, 10)[修正] 修正ShowRuntime行为扩展[修正] 修正Model类的add和addall方法中的_facade和_parseOptions的调用顺序问题[修正] 修正使用数组方式动态指定表名后的BUG[修正] 修正ChromShowPage行为扩展[修正] 修正自定义公共模块路径时,加载公共模块类库失败[修正] 修正参数绑定的一处判断[修正] 解决PDO参数绑定后的获取最终SQL语句问题[修正] 修正开启布局后show方法的问题[修正] 解决调用trace()无法返回trace日志问题[修正] 修复mongo出现错误输出的问题[修正] 修正页面Trace的日志保存[修正] 修正Model类的save方法[修正] 修正令牌验证没有设置TOKEN_NAME的问题[修正] 修复RestController中请求资源类型总是为html的bug[修正] 修正Model类的getField方法的一处变量冲突问题[修正] 修正Mongo驱动的page处理[修正] 修正 extract方法 在分解变量的时候 可能导致变量被覆盖的问题[修正] 修正Imagick类库[修正] 修正页面trace插件开启PAGE_TRACE_SAVE后出错的问题[修正] 修正controller方法 对不使用命名空间的支持[修正] 修正Image类的save方法支持图片质量[修正] 修正高级模型的乐观锁功能[修正] 修正I函数通过FILTER_VALIDATE_EMAIL方式传入常量过滤的一处错误 并且过滤参数支持数组[修正] 修正GIF类的架构函数[修正] Cache类一处常量错误修正[修正] 修改自动生成的配置文件支持CONF_EXT定义[删除] 去掉多余的URL_404_REDIRECT配置参数3.2.2 更新日志[增加]配置文件增加yaml/json/xml/ini/自定义格式支持[增加]增加load_config函数用于加载配置文件[增加]增加CONF_EXT和CONF_PARSE常量,用于定义配置文件后缀及解析方法[增加]模块增加状态配置文件[增加]cookie函数增加httponly参数支持[增加]增加COOKIE_HTTPONLY配置参数[增加]增加插件的控制器访问支持[增加]增加CONTROLLER_PATH常量用于定义控制器的命名空间路径[增加]添加VAR_ADDON配置参数 用于设置默认的插件控制器命名空间变量[增加]dispatcher类增加getSpace方法用于获取控制器的命名空间路径[增加]I函数增加path和data类型变量的用法[增加]引入composer支持(还需要完善)[增加]xcahe和wincache驱动增加clear方法[增加]自动生成机制支持多个模块的控制器和模型类的批量生成[修正]修正上传类不能动态改变rootPath的BUG[修正]修正RestController类的执行顺序[修正]修正Model类的参数绑定的一处BUG[修正]修正CronRun行为扩展一处错误[修正]修正GIF类[修正]修正rest控制器的encodeData方法[修正]修正ViewModel可能因空格导致Order方法错误的bug[修正]修正MongoModel类的写入数据的自增获取[修正]修正第三方模板引擎驱动类[修正]修正自动加载可能的一处导致重复加载的问题[修正]修正__CONTROLLER__ 在URL不区分大小写情况下的获取[修正]修正Route类中请求类型判断错误的bug[修正]修正mysqli驱动的free方法[改进]改进CronRun行为扩展[改进]TOKEN_NAME 未设置时使用默认值__hash__[改进]模类的_after_insert回调返回false后直接返回[改进]Model类的save方法 如果data为空则不执行[改进]Model类的delete方法 如果条件为空 则不执行删除操作[改进]改进获取模块方法,支持驼峰法模块命名[改进]改进模型的查询方法对表前缀的支持,使用当前模型设置的表前缀[改进]视图模型的视图定义中的_table属性和关联模型中的relation_table 支持 __TABLE_NAME__定义方式[改进]Model类的query和execute方法支持 __TABLE_NAME__定义方式[改进]改进PDO驱动对pgsql字符转义的2023-06-13 00:56:042
软件测试该如何学习?
1.测试环境(网络环境,windows环境等)2.数据库管理3.编程技巧(java编程设计,脚本语言,设计工具,XML编程)4.软件测试技术(测试理论,方法,流程,文档写作,测试工具,自动测试)5.测试技术实践2023-06-13 00:56:147
如何改变默认的目标路径行为
如何改变默认的目标路径行为默认情况下,安全组件将保留在名为 _security.main.target_path 的 session 变量中最后访问的 URL 信息(主要是在 security.yml 中定义的防火墙的名称)。成功登录后,将用户重定向到此路径,并帮助他们继续停留在访问过的最后一个已知网页。在某些情况下,这不是理想的。例如,当最后的请求 URL 返回的是非 HTML 或部分 HTML 响应的 XMLHttpRequest 对象,那么用户将被重定向回浏览器无法呈现的网页。要解决此行为,您仅仅需要去继承 ExceptionListener 类,并且重载名为 setTargetPath() 的默认方法。首先,重载您的配置文件中的 security.exception_listener.class 参数。这可以在您的主配置文件(在应用程序下的配置文件中)或导入包中配置文件中实现:YAML:# app/config/services.ymlparameters:# ...security.exception_listener.class: AppBundleSecurityFirewallExceptionListenerXML:<!-- app/config/services.xml --><parameters><!-- ... --><parameter key="security.exception_listener.class">AppBundleSecurityFirewallExceptionListener</parameter></parameters>PHP:// app/config/services.php// ...$container->setParameter("security.exception_listener.class", "AppBundleSecurityFirewallExceptionListener");下一步,创建您自己的 ExceptionListener 监听器:// src/AppBundle/Security/Firewall/ExceptionListener.phpnamespace AppBundleSecurityFirewall;use SymfonyComponentHttpFoundationRequest;use SymfonyComponentSecurityHttpFirewallExceptionListener as BaseExceptionListener;class ExceptionListener extends BaseExceptionListener{protected function setTargetPath(Request $request){// Do not save target path for XHR requests// You can add any more logic here you want// Note that non-GET requests are already ignoredif ($request->isXmlHttpRequest()) {return;}parent::setTargetPath($request);}}为您方案的需要在这里添加或多或少的逻辑。2023-06-13 00:57:071
软件开发主要用什么编程语言?
游戏开发主要用的是c语言的2023-06-13 00:57:294
tidb怎么写for循环
我们介绍了 TiDB Operator 的 Controller Manager 的设计和实现,了解了各个 Controller 如何接受和处理变更。在这篇文章中,我们将讨论组件的 Controller 的实现。TiDBCluster Controller 负责了 TiDB 主要组件的生命周期管理,我们将以此为例, 介绍组件控制循环的编排设计。我们将会了解到完成 TiDB 集群的生命周期管理过程中,各种控制循环事件经过了怎样的编排,这些事件中又完成了哪些资源管理操作。在阅读时,大家了解这些工作的大致过程和定义即可,我们将在下一篇文章中具体介绍各个组件如何套用下面的范式。组件控制循环的调用在上一篇文章的代码介绍中,我们提到了 TiDBCluster controller 的 updateTidbCluster 函数,位于 pkg/controller/tidbcluster/tidb_cluster_control.go,它是 TiDB 组件生命周期管理的入口,调用了一系列生命周期管理函数。略去注释,我们可以发现 updateTidbCluster 函数依次调用了以下函数:c.reclaimPolicyManager.Sync(tc)c.orphanPodsCleaner.Clean(tc)c.discoveryManager.Reconcile(tc)c.ticdcMemberManager.Sync(tc)c.tiflashMemberManager.Sync(tc)c.pdMemberManager.Sync(tc)c.tikvMemberManager.Sync(tc)c.pumpMemberManager.Sync(tc)c.tidbMemberManager.Sync(tc)c.metaManager.Sync(tc)c.pvcCleaner.Clean(tc)c.pvcResizer.Resize(tc)c.tidbClusterStatusManager.Sync(tc)这些函数可以分为两类,一是 TiDB 组件的视角组织的控制循环实现,例如 PD,TiDB,TiKV,TiFlash,TiCDC,Pump,Discovery,另外一类是负责管理 TiDB 组件所使用的 Kubernetes 资源的管理以及其他组件外围的生命周期管理操作,例如 PV 的 ReclaimPolicy 的维护,OrphanPod 的清理,Kubernetes 资源的 Meta 信息维护,PVC 的清理和扩容,TiDBCluster 对象的状态管理等。TiDB 组件的生命周期管理过程TiDB 的主要组件控制循环的代码分布在 pkg/manager/member 目录下以 _member_manager.go 结尾的文件下,比如 pd_member_manager.go,这些文件又引用了诸如 _scaler.go,_upgrader.go 的文件,这些文件包含了扩缩容和升级相关功能的实现。从各个组件的 _member_manager.go 相关文件,我们可以提炼出以下通用实现:// Sync Serviceif err := m.syncServiceForTidbCluster(tc); err != nil { return err}// Sync Headless Serviceif err := m.syncHeadlessServiceForTidbCluster(tc); err != nil { return err}// Sync StatefulSetreturn syncStatefulSetForTidbCluster(tc)func syncStatefulSetForTidbCluster(tc *v1alpha1.TidbCluster) error { if err := m.syncTidbClusterStatus(tc, oldSet); err != nil { klog.Errorf("failed to sync TidbCluster: [%s/%s]"s status, error: %v", ns, tcName, err) } if tc.Spec.Paused { klog.V(4).Infof("tidb cluster %s/%s is paused, skip syncing for statefulset", tc.GetNamespace(), tc.GetName()) return nil } cm, err := m.syncConfigMap(tc, oldSet) newSet, err := getnewSetForTidbCluster(tc, cm) if err := m.scaler.Scale(tc, oldSet, newSet); err != nil { return err } if err := m.failover.Failover(tc); err != nil { return err } if err := m.upgrader.Upgrade(tc, oldSet, newSet); err != nil { return err } return UpdateStatefulSet(m.deps.StatefulSetControl, tc, newSet, oldSet)}登录后复制这段代码主要完成了同步 Service 和 同步 Statefulset 的工作,同步 Service 主要是为组件创建或同步 Service 资源,同步 Statefulset 具体包含了一下工作:同步组件的 Status;检查 TiDBCluster 是否停止暂停了同步;同步 ConfigMap;根据 TidbCluster 配置生成新的 Statefulset,并且对新 Statefulset 进行滚动更新,扩缩容,Failover 相关逻辑的处理;创建或者更新 Statefulset;组件的控制循环是对上面几项工作循环执行,使得组件保持最新状态。下面将介绍 TiDB Operator 中这几项工作具体需要完成哪些方面的工作。同步 Service一般 Service 的 Reconcile 在组件 Reconcile 开始部分,它负责创建和同步组件所使用的 Service,例如 cluster1-pd 和 cluster1-pd-peer。在控制循环函数中,会调用 getNewServiceForTidbCluster 函数,通过 Tidbcluster CR 中记录的信息创建一个新的 Service 的模板,如果 Service 不存在,直接创建 Service,否则,通过比对新老 Service Spec 是否一致,来决定是否要更新 Service 对象。TiDB 组件使用的 Service 中,包括了 Service 和 Headless Serivce,为组件提供了被访问的能力。当组件不需要知道是哪个实例正在与它通信,并且可以接受负载均衡方式的访问,则可以使用 Service 服务,例如 TiKV,TiDB 等组件访问 PD 时,就可以使用 Service 地址。当组件需要区分是那个 Pod 在提供服务时,则需要用 Pod DNS 进行通信,例如 TiKV 在启动时,会将自己的 Pod DNS 作为 Advertise Address 对外暴露,其他 Pod 可以通过这个 Pod DNS 访问到自己。同步 Status完成 Service 的同步后,组件接入了集群的网络,可以在集群内访问和被访问。控制循环会进入 syncStatefulSetForTidbCluster,开始对 Statefulset 进行 Reconcile,首先是使用 syncTidbClusterStatus 对组件的 Status 信息进行同步,后续的扩缩容、Failover、升级等操作会依赖 Status 中的信息进行决策。同步 Status 是 TiDB Operator 比较关键的操作,它需要同步 Kubernetes 各个组件的信息和 TiDB 的集群内部信息,例如在 Kubernetes 方面,在这一操作中会同步集群的副本数量,更新状态,镜像版本等信息,检查 Statefulset 是否处于更新状态。在 TiDB 集群信息方面,TiDB Operator 还需要将 TiDB 集群内部的信息从 PD 中同步下来。例如 PD 的成员信息,TiKV 的存储信息,TiDB 的成员信息等,TiDB 集群的健康检查的操作便是在更新 Status 这一操作内完成。检查 TiDBCluster 是否暂停同步更新完状态后,会通过 tc.Spec.Paused 判断集群是否处于暂停同步状态,如果暂停同步,则会跳过下面更新 Statefulset 的操作。同步 ConfigMap在同步完 Status 之后,syncConfigMap 函数会更新 ConfigMap,ConfigMap 一般包括了组件的配置文件和启动脚本。配置文件是通过 YAML 中 Spec 的 Config 项提取而来,目前支持 TOML 透传和 YAML 转换,并且推荐 TOML 格式。启动脚本则包含了获取组件所需的启动参数,然后用获取好的启动参数启动组件进程。在 TiDB Operator 中,当组件启动时需要向 TiDB Operator 获取启动参数时,TiDB Operator 侧的信息处理会放到 discovery 组件完成。如 PD 获取参数用于决定初始化还是加入某个节点,就会使用 wget 访问 discovery 拿到自己需要的参数。这种在启动脚本中获取参数的方法,避免了更新 Statefulset 过程中引起的非预期滚动更新,对线上业务造成影响。生成新 StatefulsetgetNewPDSetForTidbCluster 函数会得到一个新的 Statefulset 的模板,它包含了对刚才生成的 Service,ConfigMap 的引用,并且根据最新的 Status 和 Spec 生成其他项,例如 env,container,volume 等,这个新的 Statefulset 还需要送到下面 3 个流程进行滚动更新,扩缩容,Failover 方面的加工,最后将这个新生成的 Statefulset 会被送到 UpdateStatefulSet 函数处理,判断其是否需要实际更新到组件对应的 Statefulset。新 Statefulset 的加工(一): 滚动更新m.upgrader.Upgrade 函数负责滚动更新相关操作,主要更新 Statefulset 中 UpgradeStrategy.Type 和 UpgradeStrategy.Partition,滚动更新是借助 Statefulset 的 RollingUpdate 策略实现的。组件 Reconcile 会设置 Statefulset 的升级策略为滚动更新,即组件 Statefulset 的 UpgradeStrategy.Type 设置为 RollingUpdate 。在 Kubernetes 的 Statefulset 使用中,可以通过配置 UpgradeStrategy.Partition 控制滚动更新的进度,即 Statefulset 只会更新序号大于或等于 partition 的值,并且未被更新的 Pod。通过这一机制就可以实现每个 Pod 在正常对外服务后才继续滚动更新。在非升级状态或者升级的启动阶段,组件的 Reconcile 会将 Statefulset 的 UpgradeStrategy.Partition 设置为 Statefulset 中最大的 Pod 序号,防止有 Pod 更新。在开始更新后,当一个 Pod 更新,并且重启后对外提供服务,例如 TiKV 的 Store 状态变为 Up,TiDB 的 Member 状态为 healthy,满足这样的条件的 Pod 才被视为升级成功,然后调小 Partition 的值进行下一 Pod 的更新。新 Statefulset 的加工(二): 扩缩容m.scaler.Scale 函数负责扩缩容相关操作,主要是更新 Statefulset 中组件的 Replicas。Scale 遵循逐个扩缩容的原则,每次扩缩容的跨度为 1。Scale 函数会将 TiDBCluster 中指定的组件 Replicas 数,如 tc.Spec.PD.Replicas,与现有比较,先判断是扩容需求还是缩容需求,然后完成一个步长的扩缩容的操作,再进入下一次组件 Reconcile,通过多次 Reconcile 完成所有的扩缩容需求。在扩缩容的过程中,会涉及到 PD 转移 Leader,TiKV 删除 Store 等使用 PD API 的操作,组件 Reconcile 过程中会使用 PD API 完成上述操作,并且判断操作是否成功,再逐步进行下一次扩缩容。新 Statefulset 的加工(三): Failoverm.failover.Failover 函数负责容灾相关的操作,包括发现和记录灾难状态,恢复灾难状态等,在部署 TiDB Operator 时配置打开 AutoFailover 后,当发现有 Failure 的组件时记录相关信息到 FailureStores 或者 FailureMembers 这样的状态存储的键值,并启动一个新的组件 Pod 用于承担这个 Pod 的工作负载。当原 Pod 恢复工作后,通过修改 Statefulset 的 Replicas 数量,将用于容灾时分担工作负载的 Pod 进行缩容操作。但是在 TiKV/TiFlash 的容灾逻辑中,自动缩容容灾过程中的 Pod 不是默认操作,需要设置 spec.tikv.recoverFailover: true 才会对新启动的 Pod 缩容。使用新 Statefulset 进行更新在同步 Statefulset 的最后阶段,已经完成了新 Statefulset 的生成,这时候会进入 UpdateStatefulSet 函数,这一函数中主要比对新的 Statefulset 和现有 StatefulSet 差异,如果不一致,则进行 Statefulset 的实际更新。另外,这一函数还需要检查是否有没有被管理的 Statefulset,这部分主要是旧版本使用 Helm Chart 部署的 TiDB,需要将这些 Statefulset 纳入 TiDB Operator 的管理,给他们添加依赖标记。完成上述操作后,TiDBCluster CR 的 Status 更新到最新,相关 Service,ConfigMap 被创建,生成了新的 Statefulset,并且满足了滚动更新,扩缩容,Failover 的工作。组件的 Reconcile 周而复始,监控着组件的生命周期状态,响应生命周期状态改变和用户输入改变,使得集群在符合预期的状态下正常运行。其他生命周期维护工作除了 TiDB 主要组件的视角之外,还有一些运维操作被编排到了下面的函数实现中,他们分别负责了以下工作:Discovery,用于 PD 启动参数的配置和 TiDB Dashboard Proxy,Discovery 的存在,可以提供一些动态信息供组件索取,避免了修改 ConfigMap 导致 Pod 滚动更新。Reclaim PolicyManager,用于同步 tc.Spec.PVReclaimPolicy 的配置,默认配置下会将PV 的 Reclaim Policy 设置为 Retain,降低数据丢失的风险。OrphanPodCleaner,用于在 PVC 创建失败的时候清除 Pod,让 Statefulset Controller 重试 Pod 和对应 PVC 的创建。PVC Cleaner 用于 PVC 相关资源清理,清理被标记可以删除的 PVC。PVC Resizer 用于 PVC 的扩容,在云上使用时可以通过修改 TidbCluster 中的 Storage 相关配置修改 PVC 的大小。Meta Manager 用于同步 StoreIDLabel,MemberIDLabel,NamespaceLabel 等信息到 Pod,PVC,PV 的 label 上。TiDBCluster Status Manager 用于同步 TidbMonitor 和 TiDB Dashboard 相关信息。小结这篇文章介绍了 TiDBCluster 组件的控制循环逻辑的设计,试图让大家了解,当 TiDBCluster Controller 循环触发各个组件的 Reconcile 函数时,组件 Reconcile 函数是按照怎样的流程巡检组件的相关资源,用户预期的状态,是如何通过 Reconcile 函数,变成实际运行的组件。TiDB Operator 中的控制循环都大致符合以上的设计逻辑,在后面的文章中,我们会具体介绍每个组件是如何套用上面的设计逻辑,实现组件的生命周期管理。如果有什么好的想法,欢迎通过 #sig-k8s 或 pingcap/tidb-operator 参与 TiDB Operator 社区交流。数据库分布式激光投影和LED投影的区别,哪个更好?精选推荐广告TiDB Operator 源码阅读 (四) 组件的控制循环218阅读·0评论·0点赞2021年6月30日TiDB、mysql修改系统变量/常用语句(杀死process中的进程)1425阅读·0评论·0点赞2019年12月5日TiDB Operator 架构67阅读·0评论·1点赞2022年7月11日TiDB 的正确使用姿势1251阅读·0评论·1点赞2020年2月27日TiDB 优化方案和常见问题2820阅读·0评论·1点赞2020年5月24日tidb使用坑记录4097阅读·0评论·1点赞2018年2月22日抑郁自测题:35分以上是重度抑郁,测测你的抑郁有多深?国际专业抑郁测试广告tidb 架构 ~Tidb学习系列(4)210阅读·0评论·0点赞2018年11月1日TiDB SQL开发基础——增删改查3252阅读·0评论·0点赞2018年7月19日TiDB 官方设计文档翻译(一)1.5W阅读·0评论·3点赞2017年3月5日mysql 游标循环_MySQL 游标 循环1456阅读·0评论·1点赞2021年1月18日TiDB Operator 需要的 RBAC 规则53阅读·0评论·1点赞2022年7月12日TiDB 最佳实践系列(五)Java 数据库应用开发指南2752阅读·0评论·1点赞2019年11月7日TiDB 源码阅读系列文章(十六)INSERT 语句详解189阅读·0评论·0点赞2018年8月20日批量添加数据到数据库1413阅读·0评论·0点赞2018年5月28日tidb源码编译安装,从入门到差点放弃1267阅读·2评论·0点赞2020年8月25日TiDB 内核-源码解读 Point_Get 点查的一生366阅读·0评论·3点赞2022年5月12日Kubernetes资源编排系列之四: CRD+Operator篇281阅读·0评论·1点赞2022年8月8日去首页看看更多热门内容2023-06-13 00:57:551
homestead到底要安装到哪个目录下
方法/步骤1、安装VirtualBox和Vagrant在启动Homestead环境之前,你必须安装VirtualBox和Vagrant。这两个软件为所有主流的操作系统提供了简单易用的可视化安装界面。详细的安装过程可自行百度也可以直接查看我的经验《教你windows 7获取安装指定版本VirtualBox》和《一步一步教你安装最新版 Vagrant》添加Vagrant boxVirtualBox和Vagrant安装完成,添加“laravel/homestead”箱子到你的Vagrant安装目录下;在终端使用下面的命令,这将花费几分钟的时间来下载箱子;vagrant box add laravel/homestead如果网络正常就慢慢等待下载然后添加,这里由于网络的原因我试了很多次都失败了,最后直接复制下载链接https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.2.7/providers/virtualbox.box下载保存到F:virtualbox.box,然后通过vagrant box add laravel/homestead F:virtualbox.box安装Composer安装 Homestead 命令行工具,这里使用Composer。首先就是安装好Composer。windows下载安装Composer非常简单,只要到官网下载Composer-Setup.exe,然后双击默认安装即可;安装后在目录地址栏输入%AppData%回车找到C:UsersAdministratorAppDataRoamingComposervendorin目录添加到 PATH 环境变量中;安装 Homestead 2.0箱子被添加到Vagrant安装目录下后,通过 Composer 的 global 指令来安装 Homestead 命令行工具了:composer global require "laravel/homestead=~2.0"由于之前已经添加了环境变量,安装之后就能在执行 homestead 指令时找到对应的可执行程序了。Homestead配置和初始化安装了 Homestead 命令行工具,执行 init 来创建 Homestead.yaml 配置文件homestead init生成的 Homestead.yaml 文件将被放置于C:UsersAdministrator.homestead目录下。如果你使用的是 Mac 或 Linux 操作系统,还可以通过执行 homestead edit 指令来编辑 Homestead.yaml 文件:homestead editwindows环境下直接通过编辑器打开 Homestead.yaml修改即可启动Vagrant箱子根据实际情况编辑好“Homestead.yaml”文件,就可以在终端上的“Homestead”目录下执行 homestead up 命令。Vagrant将启动虚拟机,并自动配置共享目录和Nginx站点!不要忘记把你的Nginx站点的“域”添加到机器里的“hosts”文件里!“hosts”文件将把对本地域的请求重定向到Homestead环境 里。在Windows机器上,它位于“C:WindowsSystem32 driversetc”目录。你添加到此文件的内容就像下面这样:192.168.10.10 homestead.app确保列出的 IP 和你在 Homestead.yaml 文件中设置的一致。一旦你把域名添加到 hosts 文件中,你就可以通过浏览器访问此站点了!http://homestead.app可以通过SSH工具连接,用户密码为vagrant/vagrant。ip为配置文件里面的ip;通过headstead ssh不需要用户名密码;端口映射以及常用命令下面的端口被转发到你的Homestead环境:SSH: 2222 -> 转发到 22HTTP: 8000 -> 转发到 80MySQL: 33060 -> 转发到 3306Postgres: 54320 -> 转发到 5432homestead命令homestead init:创建 Homestead.yaml 配置文件homestead up :启动虚拟机;homestead ssh:通过SSH连接到 Homestead 环境;homestead destroy:销毁虚拟机;homestead list :用于列出所有可用的 Homestead 指令。2023-06-13 00:58:031
如何查看python2.7的nltk
1.安装Python(我安装的是Python2.7,目录C:Python27)可以到CSDN、OSChina、Sina Share等网站下载也可以到Python官网下载:http://www.python.org/2.安装NumPy(可选)到这里下载:http://sourceforge.net/projects/numpy/files/NumPy/1.6.2/numpy-1.6.2-win32-superpack-python2.7.exe注意Py版本下载之后执行exe文件(程序会自动搜索python27目录)3.安装NLTK(我下载的是nltk-2.0.3)到这里下载:http://pypi.python.org/pypi/nltk把nltk-2.0.3解压到C:Python27目录打开cmd,进到C:Python27 ltk-2.0.3目录(输入:cd C:Python27 ltk-2.0.3)输入命令:python setup.py install4.安装PyYAML:到这里下载:http://pyyaml.org/wiki/PyYAML注意Py版本下载之后执行exe文件(程序会自动搜索python27目录)5.打开IDLE,输入import nltk,没有错误的话,就说明安装成功了。到这里,NLP所需的基本python模块都已经安装好了,然后要安装NLTK_DATA了下载NLTK_DATA有好几种方法,这里我只介绍一种6.继续第五步,已经import nltk了,然后输入nltk.download(),这样就可以打开一个NLTK Downloader(NLTK下载器)7.注意下载器下边的Download Directory,我设置的是C: ltk_data8.在计算机-属性-高级系统设置-高级-环境变量-系统变量-新建:上边:NLTK_DATA,下边:C: ltk_data9.选择你要下载的包(语料库、模块),可以一次性下载(我在下载过程中总是出现out of date),也可以逐个下载(我就这么做的。。。)10.成功安装包之后怎么测试呢?输入下边的语句就可以。>>> from nltk.corpus import brown>>> brown.words()["The", "Fulton", "County", "Grand", "Jury", "said", ...]2023-06-13 00:58:121
造句:春雨一样,是淳淳的告诫;( ), 是细心的爱抚;阳光一样,(); (),是高大的身影
春雨一样,是淳淳的告诫;微风一样,是细心的爱抚;阳光一样,是温暖的怀抱;树木一样,是高大的身影。2023-06-13 00:58:311
诫可以组词什么
告诫、规诫、训诫、警诫、劝诫、诫厉、诫勅、束诫、诫诲、至诫、诫饬、诫防、家诫、武诫、诰诫、遗诫、诫勑、诫誓、谴诫、天诫、监诫、勑诫、明诫、惩诫、讽诫、诫勖、备诫、诫训、鉴诫、垂诫、2023-06-13 00:58:402
描写人物的作文900字
亲戚范文:叔叔是个乐观家一提起我的叔叔,那可是颇负盛名。你随便拉一个我们院子里的人问一问,哪个人不知道他。上次他来我们家窜门的时候不但招来了一帮警察,还惹哭了一个小孩,又让一位老奶奶摔了一跤。究竟是怎么回事呢?且听我慢慢道来。 那天,我去火车站接叔叔。叔叔一看见我,高兴地说:“呦,长这么高了!”我刚要帮他拿行李,一群警察气势汹汹地来了,把我拉到他们的身后,小声对我说:“小朋友,以后要注意远离这些坏人!”我正纳闷不知道发生了什么事,然后一群警察就把叔叔团团围住了。叔叔一愣,随后笑眯眯地对我说:“你们家是不是有钱了,请了这么多保镖?”我差点晕倒在地,要不是后来警察弄清了叔叔的身份,我们不知道还要在派出所呆多久呢! 我和叔叔拎着沉重的行李回到我住的院子,这时,一位老奶奶推着一个小婴儿来到我们身边,我问了一声奶奶好,又继续朝家走去,走了一段路,身后就传来一阵哭闹声,我回头一看,只见叔叔把小婴儿弄哭了,我急忙跑过去,叔叔还是站在那,满脸笑容,对我说:“瞧,这小家伙哭起来多可爱!”什么?!把人家弄哭了还说他可爱,真没见过这样的人,老奶奶也不满地白了他一眼,正要去安慰小宝宝,叔叔笑着推了老奶奶一把,说:“我来就行了!”谁知他劲太大,把老奶奶推倒了,我赶紧将她扶起来,生怕出什么事,老奶奶一起来就训斥我叔叔,我叔叔还是满脸堆笑,让人哭笑不得。 一到家,我就算计着怎么让叔叔走,他待在我家我们没好日子过,他也太乐观了,遇上什么事都笑,惹得全院人都怕他。“丁冬”,糟了,不会是叔叔来了吧,我得先“闪”一步了!同学范文:她,个子高高,没有什么引人注目的地方,但她却有一颗金子般的心灵。她就是我的同桌——李艳。 这学期开学的第二天,老师让我和她坐同桌。开始我没在意,一个黄毛丫头,哪能比得上我堂堂男子汉。 第二天,下午放学时,我因在操场上玩耍,不慎将语文书弄丢了。我急得像热锅上的蚂蚁,因为一学期有三分之一是语文课,现在语文书丢了,可怎么办? 早读课,我伫立在课桌前,呆呆地望着黑板出神。这时,同桌似乎发现了什么,伸来友谊之手,关切地询问道:“怎么啦?”说吧?一个硬男子汉,丢脸!不说吧?又闷在心里。算啦!她是大队委员,就当汇报思想:“没什么,语文书丢了!”“没什么?”对方现出惊讶的神情。接着,她拿起课本又放下,反反复复。鬼知道葫芦里卖的什么药。她稍犹豫了一会儿,将书递给我:“书给你。以后可别毛手毛脚的。”什么,给我?我简直不相信我的耳朵。我一惯瞧不起的黄毛丫头,居然能说出这句话。“什……什么,给我,你可怎……怎么办?”我半天才吞吞吐吐地挤出几个字。”“不要紧,我有办法。”“那今天怎么办?”“那就合看。”于是我俩便认真地开始早读。 上完最后一节课,我将书悄悄地塞进她的书包。然而回家后,我打开书包,语文书却工工整整地躺在书包里,我的眼睛湿润了。 第二天早读,她拿着一本旧书在读书。下课后,我打开旧书一看,封面已被撕裂,书页上角向里翻,书脊线断了,并且少了两页。上课后,我拿新书和她换,但她不同意。 中午时,我发现她在桌上抄些什么。奇怪,上午没作业呀?她净干鬼事。我走了过去,呀!她正在那儿抄两篇掉了的课文。她往书上看了一句,便抄在书页大小的白纸上,传进我耳里的是“沙沙”的写字声,出现在我眼前的是一行行整齐清秀的字。累了,她便甩甩胳膊,然后又聚精会神地抄起来。我有点不过意,决定拿去复印,但她婉言谢绝了。抄好后,她拿出浆糊将纸粘上,又使劲地一针一针地缝好。 “叮铃铃……”上课了,她拿起那本旧书认真地听课。一瞬间,我的喉咙被心中激起的强烈感情堵住,我被这种同窗的挚爱之情感动,迸出幸福而又骄傲的泪花。2023-06-13 00:58:581
勃然大怒、安然无恙、告诫这三个造句
如果你选上面那个家伙的答案而不选我的,我会勃然大怒,我不敢保证明天你还能安然无恙地在网上闲逛,这不是在告诫你,而是恐吓,知道吗???2023-06-13 00:59:031
侧面描写一个人的作文
我有一个好父亲 父亲是一个少言的人。他和母亲在一起的时候,都是听见母亲一个人在不停的讲话,父亲只是一个劲的抽烟,偶尔才应答一下,那话也多半只是一两个字。家里来客人,父亲陪人家吃饭,既不让酒,也不劝饭。只自顾自吃自己的,显得很不礼貌的样子。对我们几个孩子也一样。他很少过问我们的学习,他觉得学习是我们自己的事情。有问题问他,他也是说你们还是去问老师吧。 父亲是个农民,但在我眼里很多地方又不像地道的农民。父亲读完了小学,初中上到了二年级就因贫困辍学了。接着他和几个同伴瞒着爷爷奶奶一口气跑到了包头,在那儿上了两年的中专。后来因为六十年代的三年自然灾害学校解散了,父亲又回到家继续当他的农民。父亲写一笔很好的毛笔字,村里谁家有红白喜事,父亲总要被人家恭敬地请去当帐房先生,记记份子什么的。到了春节,更是父亲忙碌的时节,乡亲们都早早的把大红纸送到我家,请父亲写春联。往往春节未到,我家早就洋溢着节日的气氛了。我小的时候习字,父亲就让我学着给山东的舅舅写信。什么格式,怎么称呼,如何落款,都是父亲手把手教我的。我虽然喜欢他的字,但我练字没长性,直到如今也没形没体儿的。回家陪父亲喝酒,喝到高兴处,父亲总是指着我说:“就你还中文系,还老师,写字还不如我这个农民哪。”我只能笑着点头。 父亲是个爱书的人。他每次出门,包里总要塞本书。实在没有可看的,也要捎上几张报纸。记得父亲亲手买的书有1975年出版的三卷本的〈水浒传〉、上下册的《东周列国故事》、《聊斋志异》和冯梦龙的“三言”。农闲时节,别人家的男人或打牌或赌钱,我父亲就在炕上看书。逢雨雪天,更是整天抱着书看。这两年父亲眼花了,自己买个花镜,还是不忘读书。我有时端详端详,老人还真像个文人先生呢。今年暑假回家,我倒腾书柜,找出一套明朝抱翁老人的《今古奇观》来,是清朝道光年间刻印的,可惜少了一卷。我对他说,这书给我吧。父亲说行啊,反正我眼花也看不了了。父亲还常常感慨地对我说:“文革那会儿,你爷爷当私塾先生时留下来的书都让我作饭时当柴火给烧了,怕惹祸。要不留到现在也值钱了。”于是我也很感慨。好在我们这一代不会再赶上“焚书”的年代了。 我家的三个孩子中,父亲最疼我,他说我坐得住,安分。冬天的时候,我整天在大街上疯跑,出了满身的汗,热得把穿的棉裤都溻湿了。早晨起床前,父亲总是早早把火炉点好,然后把我的棉裤用手翻转过来,一点一点地靠近炉子烤,边烤边慢慢晃动着,不一会儿,我就看见棉裤上腾起缕缕热气。等烤完了,父亲还要用他的两双大手把棉裤搓搓,让它柔软。等我再穿上的时候,感到很温暖。父亲是一个闲不住的人,他常常给我擦皮鞋,每次都收拾得很仔细。我上学骑的自行车,每天都是父亲为我取出来,晚上回到家,每次也是父亲为我存放好。擦车打气更是他的份内之事。在他眼里,我似乎永远是个孩子。我上学时读的书,都是父亲亲自包书皮,并用毛笔写上我的名字。我当老师这么多年了,我上高中时的课本仍然保存完好。有时我读他说,这书都没用了,您把他卖了吧。父亲总是说:“放着吧,放着吧,书到用时方恨少啊。”我在南京上四年大学,每次都是父亲执笔给我写信,信的结尾总是说,别心疼钱,吃好,注意身体。他很少叮嘱我好好读书,但我读了父亲的信,自然知道该怎样去念书的。 现在,我当父亲也十多年了。孩子小的时候,因为他生病不肯吃药,没少暴打孩子,大一点了,因为不爱去幼儿园又挨了我不少打。直到现在,学习不好了,考试不好了,我对孩子也是非打即骂。想想父亲对我,再想想我对孩子,确实很惭愧啊。我和父亲每年相见几次,见一次,他就老一点儿。可不是吗,我都奔四十了,父亲能不老吗。 在我眼里,父亲是个沉默的人,是个爱我疼我的人,是个爱读书写字的人,是个引导多于管束的人。在我眼里,父亲的形象很高大,须仰视才见。愿父亲能健康的活着,我愿意永远做他的孩子。我的老师 我自豪有我这样一位好老师,她就是我的班主任焦老师。当我刚迈进中学的校门时,就听说我们的班主任是一位优秀教师焦老师.我怀着几分激动的心情,默默的在心中想象这优秀教师的形象. 在我焦急的期盼中,终于等到了晚上,焦老师出现在我们的前方,首先我的心中想她应该不是我们以后的班主任焦老师吧!这么年青.正当我在想这一些时她就不由的像我们做自我介绍了,奇怪的是非曲直她也比我们大不了多少?为什么却成了一名优秀的教师呢? 但在以后的日子里我也琢渐的了解了她.焦老师的字也写的很棒,但她是我们的英语老师.她在课堂上非常严格,但是课堂外她就不严了,我曾记得她以前也常常与我们一起聊天谈心,真的她仿佛就像自己的姐姐一样,如呆我们有什么心事,只要找她,她就会和你聊上一会儿,就不会在有不开心的事了!就好象有的同学喜欢犯错误,也只要到焦老师的手里就什么都不会有了,也就是她给解觉的干干脆脆,就如“大事化小,小事化了.”一样. 其实我也是一个有时喜欢犯小毛病的人,但是有时可以控制,有时我也无法控制,但是焦老师也从未批评我,只是找我聊上一会儿,那一件事就算了了! 但我也会从中记起这一次的小教训,以后希望不要在犯小毛病了,最好是从此不在犯,做一个规矩的我. 还有我想对焦老师说:如果说我是展翅飞翔的小鸟,那你就是鼓振我翼翅的风,如果说我是一片刚刚萌发的新叶,那您就是那深埋于大地的根. 知心的话儿总是想对您倾诉,满心的欢喜也想同您一道分享,焦老师我带着尊敬与爱戴,让我再用最深情地唤您一声“焦老师”好吗? 在去年我们班常常受表阳,卫生方面总是第一,但我们也是有一位优秀班主任啊!所以什么也干得优秀起来,如果说只有老师优秀而我们不合格,那么我们又怎么佩得上这么一位优秀的老师呢?所以我希望全班同学要振作起来,让我们的班级在老师的带领更上层楼吧! *************片段****************** 我最尊敬的老师 我最尊敬的一位老师是我的班主任张老师。她像妈妈一样严格要求我们,疼爱我们。 张老师留着一头长发,她心地善良,和蔼可亲。有一次,我写的字歪歪扭扭的,非常难看。张老师把我留了下来,让我重新写。一直让我把字写工整、规范为止,张老师才让我回家。我当时很恨张老师,心想:不就是几个字吗 ?写好写坏不都是一样吗?干吗这么一遍又一遍地写,硬是把字写规范,真是浪费时间。回到家,我把挨留的原因告诉了妈妈,妈妈对我说:“字是门面,从写字上能看出一个人的性格。张老师严格要求是对的,是对你负责,你写一手好字是自己的,谁也盗不去。”听了妈妈的一席话,我明白了张老师的用意,使我更加敬佩张老师了。从那以后,我就象个一年级的小学生,天天坚持练字,无论写什么作业都坚持把字写工整,写规范。过了一段时间,我的字比以前漂亮了,规范了,还多次受到老师的表扬。这都是张老师严格要求的结果啊! 张老师在学习上严格要求我们,在生活上关心我们。我们班有46名同学,张老师为使同学们全身心地投入到学习中,她利用休息时间走 访了每个家庭,对每个孩子的家庭状况都了如指掌,以便及时给予我们关爱。张老师还会察言观色呢!每当有同学病了,不用同学说,她总是主动问同学怎么了,用药了吗,如果病情严重的,她还会亲自带同学去就医,使同学的病得以及时治疗。一次我在玩耍时,不慎将手划破了,老师知道了,便急忙带我去校卫生室进行处理。血止住了,并贴上了创可贴,当时我特别激动,我真为有这样一位要求严格、关心体贴我们的老师而自豪。 这就是我最尊敬的一位老师——张老师。 我 的 老 师 作者:袁浩鹏 我的老师很忙很忙,你看她一眼,说不定就有几粒汗珠从她头上滚下。 有一次,她去别的学校听课,正好全校的班主任都要去。但是听完了课,别的老师都去逛街了,而徐老师(我的老师)却不顾一切,匆匆忙忙地赶了回来,当她一下子出现在班上时,全班同学都为她的出现而感到大吃一惊,顿时,班上乱作一团:有的在议论着,有的在欢呼着,还有的起哄呢!突然,有一位同学站了起来,对老师说:“徐老师,别的老师都逛街去了,您干嘛还要回来呢?”徐老师微笑着对那位同学说:“我赶回来给父讲卷子呢!”说完,她把卷子发给每一位同学,然后认真地开始讲卷子。这时,我发现老师的耳边有一粒汗珠,一下子就滑落了下去…… 这就是我们的班主任徐老师,这是一位多么有责任心的好老师呀!2023-06-13 00:59:202
用淳淳告诫浑然不觉颠扑不破随声附和造句
老师对小明淳淳告诫不要去那里但是小明却浑然不知 后面我不会了2023-06-13 00:59:221
皎洁 沮丧 告诫 小心翼翼 要是…就 全部造句
皎洁的月光下看不见其他人和船的影子。小明考试得了50分,心里很沮丧。老师告诫过我们不许打人。我们小心翼翼地搬桌子。我要是能得第一名那该多好啊!2023-06-13 00:59:391
造句:( )春雨一样,是淳淳的告诫;( ), 是细心的爱抚;阳光一样,
( 老师的教导)春雨一样,是淳淳的告诫;(妈妈的安慰 ), 是细心的爱抚;阳光一样,(大树的阴影 );(巨伞一样 ),是高大的身影2023-06-13 00:59:471
写人物作文400字
写人作文400字 (一) 我的妹妹——六六。她长得很可爱,大大的脑袋上长着一些稀疏的头发,一双大大的眼睛总是忽闪忽闪的,好像天上的小星星。 她的皮肤那么白,那么嫩,我总是忍不住要捏她几下,我最喜欢和她玩了,我一逗她她就咧着小嘴朝我高兴地笑,有时还咿咿呀呀的对我说话呢。妹妹也喜欢围绕在我身边,要是没看见我,就会姐姐、姐姐的叫。 六六还喜欢音乐呢,只要一听到音乐声,她那两只小手臂在那里晃呀晃晃个不停,惹的我们全家开怀大笑。舅妈告诉我,六六是在跳广场舞呢。 瞧!这就是我的妹妹。可爱吧 写人作文400字 (二) “老师是辛勤的园丁,精心培育幼小的花朵;老师是勤劳的蜜蜂,酿造知识的琼浆;老师是黑夜的明灯,照亮我们前进的方向。”每当我读到赞美老师的诗句,我都会想起我以前的班主任。 记得我读五年级,那时的我任性、骄傲、爱耍小脾气。有一次,英语测试,我的了全班第一名,试卷一发下来,我举着试卷,到处炫耀。当班长让我出黑板报时,我心里还是乐滋滋的。还让同学们都为我服务,递粉笔,拿板刷,如有一点不顺意,就乱骂一气。 渐渐地,同学们都不理我了,就连平时和我玩的最好的铁哥们也不愿意跟我玩了,从此我陷入了孤独之中。杨老师眼睛很亮,不久发现了其中的原委,把我叫到了身边,摸着我的头语重心长的说:“湖之所以宽阔,是因为它能包容所有的小溪流,因此它就能快乐无比。”话虽然有点深奥,但我却懂得老师想要我明白其中的道理。于是,我学会了谦虚,也学会了怎样与朋友相处。 在学习上,杨老师也经常鼓励我,指导我,让我度过了学习路上的一道又一道的坎。 写人作文400字 (三) 古今中外,有许多名人让我敬佩,但我最敬佩的还是司马光、怀素、法布尔。 大人们常说:“成功者的背后是他们辛勤劳作的汗水。” 司马光也不例外。司马光小时候是一个既贪玩又贪睡的孩子。正因为这样,没少受到先生的责罚。司马光决心要改掉这个坏毛病。于是,司马光想到了一个办法。他在睡觉之前喝了一肚子水,准备第二天早上让尿把自己憋醒。可是,一觉醒来,不但没把自己憋醒,反而尿了床。 于是,司马光又想到一个好办法。他用圆木做了一个枕头,司马光叫它“警枕”.自己快要醒的时候会来回翻身,因为圆木是圆的,一动就会滚动,这样,司马光的头就碰到了床板醒了。没想到,第二天司马光真的成功了。从此,他不再睡懒觉了,而是每天都在发奋读书。 司马光的哥哥、弟弟们也非常贪玩,老师要求背诵的东西,他们只是勉强地会背就到院子里面去玩了,而司马光却关上窗户,自己在屋子里面刻苦读书。由于长期刻苦学习,最后,他成为了宋朝的政治家、史学家、文学家,还编著了著名的史学书《资治通鉴》。 司马光这种刻苦学习的"精神肯定也会让你敬佩吧 我同样也敬佩怀素。怀素是唐代著名的书法家。小时候,虽然纸少,但也没能抵挡怀素爱书法的习惯。他找来一个木盘还有木板,木盘用来磨墨,木板用于写字。最后,木盘被磨透了,木板也被擦穿了,怀素终于成为一位伟大的书法家。 我还敬佩法布尔。他是法国的昆虫学家、文学家,他写了一部世界有名的著作《昆虫记》。能写出这部书,得益于他长期的钻研和观察。有一次,他在路上散步,忽然听见蛐蛐的叫声,于是他循着声音来到一块石头旁,轻轻地躺下,观察蛐蛐的活动,整整趴了一天。他的这种精神让我敬佩。 他们的成功,不是天上掉下的馅饼,而是汗水的结晶。我敬佩他们 写人作文400字 (四) 我有一个慈祥的姥姥,她个子很高、有点胖,大眼睛,对家人非常好,可是,她有一点不好,就是爱啰嗦。 我放学回来,把书包扔沙发上就开始看电视了。姥姥跑来,啰嗦道:“哎呀,刚回家就看电视,这可不行,小小年纪,怎么能养成这种坏习惯呢?你将来要考中学、还要考高中、最后还要考大学。考大学的哪有看电视的呀?你得好好复习,要不然……”我拿起书包,进屋了。我都开始写作业了,姥姥还是站在屋外,喋喋不休的指教着:“这才对嘛,好好写作业,有不会的题就问……”真是烦死了。 有一次,姥姥带我去雷锋体育场玩。到了那,我看见许多人都买棉花糖吃,我也想要,于是说:“姥姥,我想吃棉花糖。”姥姥说:“棉花糖有添加剂,吃了对身体不好,身体不好了,就不能长高了,也就不能长胖了……”我打断姥姥的话:“行了行了,我不吃了。” 回到家,我找妈妈诉苦,妈妈说:“姥姥都是为了你好,良药苦口利于病,忠言逆耳利于行。” 我也知道,姥姥是为我好。忠言逆耳利于行。我真喜欢我这个爱啰嗦的姥姥。 写人作文400字 (五) 我有一个特别可爱的妹妹,一双水灵灵的大眼睛,一个马尾辫绑在后面。满头的卡子,让人看的眼花缭乱,你说她是不是一个“爱臭美鬼” 记得有一次,我们一家去上街,我跟姑姑去买饰品,妹妹跟妈妈吃东西,但她一听到我们要去买饰品这个“重大的消息”,“哭死哭活”的要跟我们去,所以妈妈只好一个人去吃东西喽!!我们到了首饰店,她一眼就看中了一个粉红的链子,上面挂着一些小星星和小月亮,嚷嚷着让我们给她买,姑姑一看价格吓了一大跳“19元!太贵了,太贵了,糖糖(妹妹的小名)我们不买好不好?”妹妹一看姑姑不给她买,又要发哭功了!姑姑一看大势不好,立马同意了,看着妹妹那张脸笑跟一朵花似得的,姑姑叹了一句:“真是太臭美了!!”妹妹又是连拉带扯的拉着姑姑去买卡子,一进那个店,就买哪个买这个。看着妹妹又要进另一家,姑姑转身就跑,看着姑姑那落荒而逃的背影我哈哈大笑起来······ 妹妹的衣服“多如山”,可每天还在挑,“我不穿这个裤子!这个裤子不好看!我要穿那个裙子——”衣服穿好了面临的又是写的危机。婆婆要她穿那双黑色的皮鞋,可她——“我不穿这个!我要穿新买的鞋子!”唉——这是太麻烦了! 你说我这个妹妹是不是很臭美2023-06-13 00:59:471
关于描写人物的优美作文
1. 人物描写作文600字 在我所居住的小区里,有一位普通的送奶工,他是一位四十多岁的伯伯。 那位伯伯的皮肤黝黑黝黑的,一看就知道是长年在外风吹日晒的结果;在他那国字形的脸上,有一双不大却炯炯有神的眼睛。 我们楼洞有三家订户,两家在五楼,一家在六楼。六楼那家订户也就是我们家。 六层楼,这上上下下一趟,不拿东西就已经把人累得够呛了,不要说送奶工还拿着那么多的牛奶瓶了。何况那牛奶瓶又圆又滑,一不小心就要摔坏几瓶,一般的人一看这情况,就直接放在楼下。这位伯伯可不这样,每天下午六点他总是准时将牛奶送到订户家门口,再敲敲门,喊一声“牛奶来了!” 冬天来了,天越来越冷,不管刮风还是下雪,每天下午六点,楼道里总会响起那熟悉的脚步声和洪亮的叫门声“牛奶来了!” 在一个寒风呼啸的傍晚,这位伯伯又来送奶,我接过牛奶瓶时,发现他的手都已经被无情的风给吹裂了,皮肤好象老松树的皮,皱皱巴巴的。我很奇怪,为什么不带上手套呢?是没有钱买手套还是太忙没时间买手套?要不然我送给他一双好了。第二天,他又来送牛奶时,我终于忍不住问了他,他亲切地说“你看,这瓶子外有一层水珠,戴上手套,瓶子就容易滑掉的。”哦,是这样啊!我心里感叹道:这位送牛奶的伯伯为了不摔坏奶瓶,竟然在大冬天里 *** 着双手,真是让人敬佩呀!妈妈说这是一种敬业精神,值得我们每个人学习。 送牛奶的伯伯,你是我最敬佩的人 2. 关于人物描写的作文600字 一个特点鲜明的人 一双黑色的布鞋,一条深蓝色带花的裤子,上身穿着整洁的黄色工作服,头戴一顶的小黄帽,帽子下面一张朴实的脸庞……你可曾注意过,无论严寒,或是酷暑,这些在街头挥舞扫帚、扫去尘埃的清洁工阿姨们?而我看到了,看到了烈日下风雨中的最美 ——他们勤劳、朴素、无私…… ——题记 世界上有这样一些幸福的人,他们将自己最无私的一面用别人的微笑来演绎。他们挥汗埋葬了自己在清闲时悠哉,使它变成种子,长出鲜花和芳香,为别人的生活添上一抹靓丽,他们是那么渺小,却是那么高尚。他们是绿色家园、美好心灵的守护者,他们就是清洁工。 暑假,太阳将热量毫无保留地奉献给大地。人们挥汗如雨,门前的冷饮店成了海洋,而我就像一条弱小的沙丁鱼拼命往里挤,好不容易“抢”到了一个冰激凌。这几天,我开展了假日小队的活动,可受了罪了,舔到冰凉的味道,我颇有一番成就感。也许是条件反射,看到地下到处是乱扔的包装袋,我便也毫不经意地将包装袋随手一扔。 我坐在门前的长椅上,整理着活动笔记与材料,过了好一会,冷饮店门口的人才散尽,留下的是街边满地的塑料包装袋。这时,一个大约四十来岁、脸色暗淡、头发干涩、整个人就像干瘪的果脯的清洁工阿姨,正挥动扫帚,将人们乱扔的包装袋默默地扫入清洁车里。“呲、呲、呲……”扫帚与地面发生的摩擦声像针扎般 *** 着我的内心,此时的我,心中有所触动,脸上像火烧似的,但又不知该做什么,于是,盯着清洁工发呆。这时,一阵脚步声响起,一对母子向这边走来,母亲对孩子说: “你看,如果再不认真读书,长大就只能像这清洁工一样扫大街……”清洁工阿姨似乎也听到了什么,头低着,一言不发,只顾挥动扫帚。 “啪”,一个烟头伴着一口浓痰落在刚扫过的地面上。“请不要随地吐痰,请尊重别人的劳动。”清洁工阿姨停下手中的活儿,礼貌的提醒吐痰的人,男人不屑地瞄了一眼清洁工,“扫地的,你叫什么叫?不就扫个地吗?多扫个烟头,有多大的事啊?再说了,你一个扫地的要什么尊重的?笑话!” 看着阿姨远去的背影,我心里很不是滋味。清洁工人也是人,也有自尊,凭什么要受到这般的羞辱?他们日复一日、年复一年。在那不起眼的岗位上默默奉献着。 夏天,当我们还在家中享受着清凉时,他们却在酷暑下坚守岗位,他们好象从来不怕太阳的热烈、垃圾刺鼻的臭味。脸上豆大的汗珠,在阳光的照射下那么晶莹透明。 冬天,当我们还在家中享受着温暖时,他们却在严寒下用冻僵的双手,捡拾着每一片被风吹落的叶子,打扫着每一条街道,生活的每一个角落都有他们踏过的足迹。 他们是勤劳的;心是善良的。学会尊重他们,其实并不需要付出多少,一个感激的微笑,一个赞许的目光,都会给他们带来莫大的安慰。 每天坐在车上,走在马路旁都能看见他们穿着橙色的衣服,在街上用挥动拖布与扫帚,抹去了街道的污垢,让滨海新区有了干净整洁,容光焕发的面貌。每一位市民留在地上的泥垢与丢弃的杂物,他们都会在第一时间清理干净,留下整洁光亮的道路,当天公不做美的时候,更是他们工作最为繁忙的时候,留在地面的泥渍与雨、雪水,他们一遍一遍不厌其烦地打扫干净。我们在平时生活中看到的清洁工都是老爷爷与老奶奶,他们已经年迈,但凭着不服老的精神,为市容街貌的整洁做出了极大的贡献,更需要我们去学习、去敬仰。 他们付出了这么多,却成为人们经常忽略的角色。在这里,我想用我的话语打动你的内心:城市是我们大家的,只有我们大家拉起手来同清洁工一起,共同维护我们的家园。这样我们的家园才会更加美丽;我们的生活才会更加美好!他们是城市的美容师,更是心灵的美容师;是创建美好家园的劳动者,更是现实生活中的活雷锋! 太阳的光芒笼罩在清洁工阿姨的身上,映红了她的脸庞。啊,我陡然发现,她竟是那样高大,那样美丽! 3. 人物描写的600字 我的妈妈 我的妈妈高高身材,不胖不瘦,额头上有几丝浅浅的皱纹,脸上常常挂着微笑。 妈妈为人善良,她从小就教导我做人要诚实,待人要宽厚,从小就来培养我好的品德。 记得有件事我总是忘不了。那是一个炎热的下午,太阳像个大火球烤着大地。我做在房间里,不停地扇着扇子,但汗珠还是不停地滚落下来。我对妈妈说:“妈!天气太热了,热得要命!我想吃冰棍。”妈妈说:“走,我带你去买些冰棍。”说着便拿起钱包。 到了买冰棍的地方,我挑选了冰棍,妈妈从钱包里拿出了一张50元的整票递给买冰棍的叔叔,叔叔找完钱,我和妈妈便匆匆回家去了。 回到家,妈妈把找回来数了数,自言自语地说:“咦?不对呀,一共是7元钱,怎么找回45元?”我一听,高兴地说:“太好了!买冰棍的人真糊涂了,找多了3元。妈妈,那2元给我行吗?”妈妈瞪了我一眼,生气地说:“多找了2元,我们应该送回去,不能贪图那些小便宜!再说,人家卖冰棍多不容易呀!”说完,妈妈冒着 *** 辣的太阳,把3元钱给人家送去了。 晚上睡觉的时候,我躺在床上睡不着,想起白天的事情,忽然明白了,做人要从一点一滴的事情做起,不能因为眼前的一点小便宜,做出一些对不起人的事。这件事对我有了很大的教育,我爱我的妈妈,我打心里佩她。 她的眼睛大大的,辫子长长的,很漂亮。刘爱是我们班的班长,她经常为大家做好事。有一天,她生病了身体不舒服,可是她仍然到校很早。到了学校以后放下书包,就拿起笤帚打扫卫生,把卫生打扫的干干净净,然后又去打扫室外。她这种热爱集体的行为,值得我们全体同学学习。人人讲卫生、爱集体,我们班一定是最优秀的班集体 4. 描写人物的600字作文 她是谁?你看,她个子不高不矮,身子瘦瘦的,皮肤白白的。 圆圆的脑袋上扎着一对羊角辫。秀秀气气的脸蛋上,淡淡的眉毛下,有一双亮晶晶的眼睛。 一张扁扁的嘴巴像小鸭嘴,嘴里有二排又白又齐的牙齿。身上穿着五颜六色的童服,脖子上系着一条红领巾。 她就是我的好朋友——文荪琳。 文荪琳可关心我了。 记得上学的第一天,晴空万里。在上音乐课前,我们下楼去升旗。 大家直奔楼梯,挤成一堆,挤呀挤,啊!不好了!我摔倒了,摔疼了腿。我只好坐在楼梯上“哇哇”直叫。 正在这时,我的好朋友文荪琳出现了,她奋不顾身地跑过来,亲切地对我说:“你没事吧?” 我难过的说:“我在下楼的时候摔了一跤,这可疼死我了!” 文荪琳着急地问:“那你现在还疼吗?” 我哭着说:“当然疼了!” 听我说完,文荪琳立刻伸出双手,轻轻地摸了摸我的伤口, 在她的帮助下,我勉强地站了起来,对她说:“我们两个一起去操场升旗吧? 文荪琳就扶我,一瘸一拐的去升旗。我感激的对文荪琳说:“文荪琳,你对我真好,谢谢你今天对我的帮助。 文荪琳高兴地说:“你没事就好,是朋友就应该相互帮助,你说对吗?”我高兴地点了点头文荪琳呀文荪琳,你对我这么关爱,你真是我的好朋友啊!希望我们永远都是好朋友,好吗? 我的同桌董开旋长得可真有趣,扁扁的脑袋,一双大眼睛一眨一眨的,小小的塌鼻子下面,那个大嘴巴紧紧闭着,还有那一绺乌黑的头发,令人发笑地翘在前额。我第一天和他坐在一起就喜欢上他了。 (开头介绍记叙的对象 。写人物的外貌抓住长得“有趣”这个特征 。 开头的外貌描写是与下文描述“同桌”的三方面性格有关系的。学写作文开始时就要注意不要为写外貌而写外貌。) 我的同桌好胜心可强了。(本文采用分类记叙方法,从三个侧面写同桌。 本段写第一点:好胜心强 。“好胜心”,是从人物的神态描写中表现出来的。 先写不高兴的、怀着妒忌心理的神态:嘟嘴、瞪眼 。)前些天语文测验,我得了98分,他呢?97分。 就这么一分之差,他就不高兴了,嘟着嘴把我的考卷拿过去,瞪大眼睛,仔细地看着……我正纳闷,他突然像发现了新大陆似地大笑起来,对我一眨眼睛,跑到中队长那儿,连拖带拉地把中队长“请”来,用手点着考卷上的一个字,得意洋洋(再写获得战胜对手希望的神态:大笑、眨眼、得意洋洋 。)地对中队长说:“看,这‘白玉很珍贵"的‘玉"字,顾宇写成‘王"了!”中队长细细一看,就指着董开旋的脑袋说:“瞎嚷嚷什么?哪儿有错误?”董开旋瞪了中队长一眼,自以为是地拿过考卷,读了起来:“‘白玉很珍贵"……咦?刚才‘玉"字不对,现在怎么又对了?”他直摸脑袋,(最后写败下阵来的神态:直摸脑袋、直点头 。 写语言,要切合身分、场合等,“要考得好……靠自己的努力呀!”可删去 。)刚才那股高兴劲儿顿时消失得无影无踪了。 我见他那可怜的样子,马上拉住他的手说:“不要紧,下次考好点。要考得好,不是靠找别人的差错,而是要靠自己的努力呀!”他看着我,心悦诚服地直点头。 (“心悦诚服地”和前面的逗号也要相应删去。) 我的这位同桌还有点糊涂——乱赶时髦。 (本段写第二点:糊涂 。写“糊涂”,也是通过神态描写来反映的。 先写他自我欣赏的神态:神气活现、得意洋洋、挺胸、抬头、快步走、大声说 。)这天早上,他脸上擦了香水,吹过风的头发上还擦了油,神气活现地来到教室。 站在讲台边上的王老师闻到了他身上的香味,就叫他过去。董开旋一挺胸,自以为很美,得意洋洋地快步走到老师面前。 王老师故意问他:“董开旋,你身上怎么这么香啊?”他以为老师要表扬他,更加神气活现地把头一抬,大声说:“我嘛,擦了点香水,抹了点发油!(人物的语言,从语气、语调到句式的选择 都跟人物的神态描写保持一致,集中表现董开旋的自我欣赏。)”老师看着他,又好气又好笑,对他说:“董开旋,擦香水抹发油可不是真正的美呀!想想,怎样才算美,明天我们一块儿讨论讨论。” 董开旋像才睡醒的小猫似地揉了揉鼻子,一下子溜到了座位上,直抓自己的头发,(再写他尴尬、羞愧的神态:揉鼻子、抓头发 。)好像这样能把发油、香水抓掉似的。 (以下三段写第三点:爱打人玩 。) 我的这位同桌还挺爱打人玩。 我才和他坐了两星期,就被他打了十来次。王老师知道了,就把我俩找去,严肃地问他:“董开旋,你再打顾宇怎么办?”董开旋眨了眨眼睛,脱口而出:“那好办,就叫他打还我三下呗!”话是这么说,可不出三天,他又犯老毛病了。 自修课上,他很快做完了作业,闲着没事干,就学着电视《武松》中的武松,大喝一声,用手使劲儿朝我腿上“捶”了一下,我痛得哇哇直叫。他慌了,一吐舌头,忙说:“对不起呀,我尊敬的好顾宇。” 还一个劲地给我揉腿。看着他这副样子,我的气消了,立刻说:“不要紧,不要紧。” (人物的憨直性格,也用神态描写来表现。例如用“一吐舌头”表现他知道又犯错误后的慌张神情,用“傻乎乎”形容他愿意改正错误的心理 。) 可董开旋还是很过意不去,傻乎乎地说:(道歉的神情、语言 以及道歉后的动作 都表现出。 5. 我的什么描写人物的作文600字 从这学期开始,我渐渐地发觉,原来我们并不能少了那么几个“坏”男生,因为少了他们,班里就少了一些欢声笑语。 他们有的是运动健将,有的是整人专家,有的是故事大王,有的是学习强将。他们永远是千姿百态的,深不可测的,并且是非常可爱的!最重要的是,他们是我们心中的“好人”,这个好人指什么呢,你们想想看呢? 你看说着就来了!那个个子高高的,头发前面向右偏的男生,他就是卢泛舟,(卢泛舟几乎是“举校闻名”)他旁边那个头发微黄,前面向上翘起,个子不算高的,就是孙鹏,他名气也不小呢!这不,两个人又“打”起来了,孙鹏用力一推,卢泛舟就倒在地上了,卢泛舟快忍不住了,可能因为太疼了吧,最后他静静的坐在那里,孙鹏赶紧去道歉,没有成功,过了一节课,下课了,看两个人又楼在一起玩儿去了。哎,真是没办法,真是好了伤疤忘了疼!不过他们的心胸好宽阔,真是让人佩服。如果换了其他人,可能就糟糕了! 你听,上课了,老师提了一个问题,大家都在思考,程鹏把手举了起来,一开口,居然说了一句:“没办法,我的长篇大论又要开始了。”这下可好,同学们七嘴八舌的讨论起来。但是,你可别看程鹏嘴频,回答问题可是他的强项喔!(不过有时候废话多的让人头疼) 体育课到了,“跑接力?耶!太棒了!”一声声欢呼真让人振奋。你看,他跑得多快,就像受惊的兔子一样,拔腿就跑,他呀,就是贾博文,看他现在不是很爱和其他人下课玩儿了,是因为他退出“演义圈儿”了,(这可是好多人公认的)真不知道是为什么。但是他的“绯闻”还是很多,这叫“人倒名不倒”。 “Oh!Mygod!”听,这是同学门在尖叫,(几乎全是女生)陈维在扔垒球,从操场这边的大树下,扔到了那边的篮球架下,真是不可思议那!也不知道他的臂力是从哪里来的,那么大力气。(我们可再也不能惹他了,免得惹火了,把我们扔到篮筐上去了!) “王磊加油!加油!“这是运动会上,同学们在为跑800米的王磊加油的声音。只见王磊飞一般的跑着,离终点越来越近,最终还是跑了一个第一名,也真够厉害的。那时他腿还破着呢。 这些就是我们班可爱的“坏”的男生,够格了吧!可能你会认为我是“老王卖瓜——自卖自夸”,你放心,他们永远是最好的、最完美也最讲义气的!我们谁都不能离开他们那些乐观、可爱并且“坏”的男生们!你们在我们心中,永远位居——第一! 6. 人物描写的作文600字 在我所居住的小区里,有一位普通的送奶工,他是一位四十多岁的伯伯。 那位伯伯的皮肤黝黑黝黑的,一看就知道是长年在外风吹日晒的结果;在他那国字形的脸上,有一双不大却炯炯有神的眼睛。 我们楼洞有三家订户,两家在五楼,一家在六楼。六楼那家订户也就是我们家。 六层楼,这上上下下一趟,不拿东西就已经把人累得够呛了,不要说送奶工还拿着那么多的牛奶瓶了。何况那牛奶瓶又圆又滑,一不小心就要摔坏几瓶,一般的人一看这情况,就直接放在楼下。这位伯伯可不这样,每天下午六点他总是准时将牛奶送到订户家门口,再敲敲门,喊一声“牛奶来了!” 冬天来了,天越来越冷,不管刮风还是下雪,每天下午六点,楼道里总会响起那熟悉的脚步声和洪亮的叫门声“牛奶来了!” 在一个寒风呼啸的傍晚,这位伯伯又来送奶,我接过牛奶瓶时,发现他的手都已经被无情的风给吹裂了,皮肤好象老松树的皮,皱皱巴巴的。我很奇怪,为什么不带上手套呢?是没有钱买手套还是太忙没时间买手套?要不然我送给他一双好了。第二天,他又来送牛奶时,我终于忍不住问了他,他亲切地说“你看,这瓶子外有一层水珠,戴上手套,瓶子就容易滑掉的。”哦,是这样啊!我心里感叹道:这位送牛奶的伯伯为了不摔坏奶瓶,竟然在大冬天里 *** 着双手,真是让人敬佩呀!妈妈说这是一种敬业精神,值得我们每个人学习。 送牛奶的伯伯,你是我最敬佩的人 打字不易,如满意,望采纳。 7. 描写人物的作文600字 妈妈的手 在手的世界中,有勤劳的手,懒惰的手,致富的手,灵巧的手,然而,我写的却是妈妈一双勤劳的手。 她的手不怎么大,长期的劳动使茧皮爬上了手指,使手背上长了一层浅黑色的皮。 当鸡叫三遍的时候,妈妈的手已经开始工作了:忙着做早点。 临近中午,她的手又工作了:忙着做午饭。下午,她的手又开始工作了:忙着做晚饭。 夜晚,当明月高悬的时候,妈妈的手又工作了:忙着洗衣服。总之,妈妈的手时时刻刻工作着。 妈妈的手既是勤劳的手,又是充满母爱的手。记得一个寒冬的下午,天气比较冷。 我在做作业,妈妈在做针线活。 夜深了,天气变得更冷了,我的手直打颤,不敢写了,怕把作业做坏。 这时,妈妈走到了我身旁,关心地对我说:“冷吗?”我轻轻地把我的手夹在她的两手之中。顿时,我觉得无比暖和。 在她的鼓励下,我终于认真地完成了作业。 记得还有一个隆冬的早晨,天气很冷。 为了御寒,我和伙伴们到小河边滑冰。我一不小心,双脚跌进了石灰坑。 我好不容易把脚提出来,可皮靴里已塞满了石灰。“不能穿了”,我果断地把皮靴脱掉,准备要妈妈给我洗,又一想:妈妈会批评我的。 最后,我想出了一个两全其美的办法,把皮靴藏到门缝里,等天气暖和一点再洗。第二天,天气稍微暖和一点,我就去洗 皮靴。 但门缝里皮靴的影子都没有。 我着急得差点哭起来,过了一会儿,镇静下来,就到别处去找。 刚找到后门,就听见熟悉的“唰、唰、唰”声。这不是妈妈的手工作时的声音吗?我随着声音走去,在天井里,我发现了妈妈,她正在为我洗皮靴。 她的手冻得红红的,裂开了几条缝。虽然天冷,但是从妈妈的两颊中仍然掉下几颗晶莹的汗珠,我走到她的身边,夺下刷皮靴的刷子,一边说:“妈妈,我来洗。” 妈妈关心地说:“振振,我来洗。”我怎么也不答应,可是,她已经把皮靴和刷子夺去了。 最终,还是妈妈洗了。她洗完后,又一丝不苟地烤皮靴,当我重新穿上皮靴时,眼睛已被泪水模糊了。 啊!我要赞美,赞美妈妈的手,更要赞美您――妈妈。 8. 关于人物描写的作文600字 一个特点鲜明的人一双黑色的布鞋,一条深蓝色带花的裤子,上身穿着整洁的黄色工作服,头戴一顶的小黄帽,帽子下面一张朴实的脸庞……你可曾注意过,无论严寒,或是酷暑,这些在街头挥舞扫帚、扫去尘埃的清洁工阿姨们?而我看到了,看到了烈日下风雨中的最美 ——他们勤劳、朴素、无私……——题记世界上有这样一些幸福的人,他们将自己最无私的一面用别人的微笑来演绎。 他们挥汗埋葬了自己在清闲时悠哉,使它变成种子,长出鲜花和芳香,为别人的生活添上一抹靓丽,他们是那么渺小,却是那么高尚。他们是绿色家园、美好心灵的守护者,他们就是清洁工。 暑假,太阳将热量毫无保留地奉献给大地。人们挥汗如雨,门前的冷饮店成了海洋,而我就像一条弱小的沙丁鱼拼命往里挤,好不容易“抢”到了一个冰激凌。 这几天,我开展了假日小队的活动,可受了罪了,舔到冰凉的味道,我颇有一番成就感。也许是条件反射,看到地下到处是乱扔的包装袋,我便也毫不经意地将包装袋随手一扔。 我坐在门前的长椅上,整理着活动笔记与材料,过了好一会,冷饮店门口的人才散尽,留下的是街边满地的塑料包装袋。这时,一个大约四十来岁、脸色暗淡、头发干涩、整个人就像干瘪的果脯的清洁工阿姨,正挥动扫帚,将人们乱扔的包装袋默默地扫入清洁车里。 “呲、呲、呲……”扫帚与地面发生的摩擦声像针扎般 *** 着我的内心,此时的我,心中有所触动,脸上像火烧似的,但又不知该做什么,于是,盯着清洁工发呆。这时,一阵脚步声响起,一对母子向这边走来,母亲对孩子说: “你看,如果再不认真读书,长大就只能像这清洁工一样扫大街……”清洁工阿姨似乎也听到了什么,头低着,一言不发,只顾挥动扫帚。 “啪”,一个烟头伴着一口浓痰落在刚扫过的地面上。“请不要随地吐痰,请尊重别人的劳动。” 清洁工阿姨停下手中的活儿,礼貌的提醒吐痰的人,男人不屑地瞄了一眼清洁工,“扫地的,你叫什么叫?不就扫个地吗?多扫个烟头,有多大的事啊?再说了,你一个扫地的要什么尊重的?笑话!”看着阿姨远去的背影,我心里很不是滋味。清洁工人也是人,也有自尊,凭什么要受到这般的羞辱?他们日复一日、年复一年。 在那不起眼的岗位上默默奉献着。 夏天,当我们还在家中享受着清凉时,他们却在酷暑下坚守岗位,他们好象从来不怕太阳的热烈、垃圾刺鼻的臭味。 脸上豆大的汗珠,在阳光的照射下那么晶莹透明。 冬天,当我们还在家中享受着温暖时,他们却在严寒下用冻僵的双手,捡拾着每一片被风吹落的叶子,打扫着每一条街道,生活的每一个角落都有他们踏过的足迹。 他们是勤劳的;心是善良的。学会尊重他们,其实并不需要付出多少,一个感激的微笑,一个赞许的目光,都会给他们带来莫大的安慰。 每天坐在车上,走在马路旁都能看见他们穿着橙色的衣服,在街上用挥动拖布与扫帚,抹去了街道的污垢,让滨海新区有了干净整洁,容光焕发的面貌。每一位市民留在地上的泥垢与丢弃的杂物,他们都会在第一时间清理干净,留下整洁光亮的道路,当天公不做美的时候,更是他们工作最为繁忙的时候,留在地面的泥渍与雨、雪水,他们一遍一遍不厌其烦地打扫干净。 我们在平时生活中看到的清洁工都是老爷爷与老奶奶,他们已经年迈,但凭着不服老的精神,为市容街貌的整洁做出了极大的贡献,更需要我们去学习、去敬仰。 他们付出了这么多,却成为人们经常忽略的角色。 在这里,我想用我的话语打动你的内心:城市是我们大家的,只有我们大家拉起手来同清洁工一起,共同维护我们的家园。这样我们的家园才会更加美丽;我们的生活才会更加美好!他们是城市的美容师,更是心灵的美容师;是创建美好家园的劳动者,更是现实生活中的活雷锋! 太阳的光芒笼罩在清洁工阿姨的身上,映红了她的脸庞。 啊,我陡然发现,她竟是那样高大,那样美丽。2023-06-13 00:59:541
诫的组词是什么
告诫,训诫2023-06-13 01:00:154
警告的造句警告的造句是什么
警告的造句有:我们警告犯罪分子,抗拒是没有出路的。他因违纪受到了警告处分。警告的造句有:医生一再警告大腹便便的他得赶快减肥,否则势将百病丛生。我必须警告你,我已忍无可忍了。拼音是:jǐnggào。结构是:警(上下结构)告(上下结构)。注音是:ㄐ一ㄥˇㄍㄠ_。词性是:动词。警告的具体解释是什么呢,我们通过以下几个方面为您介绍:一、词语解释【点此查看计划详细内容】警告jǐnggào。(1)对犯错误者的一种处分。(2)告诫,使警惕。二、引证解释⒈告诫,使警觉。引前蜀杜光庭《司徒青城山醮词》:“恐臣过咎所招,仙岳降异常之兆;灾蒙所袭,神_垂警告之祥。”宋叶适《与交代启》:“智者之后,利而易循;拙者之初,钝而难习。或可施於警告,愿勿弃於疏庸。”周而复《上海的早晨》第一部三:“‘小声点"。他生怕让人听去,警告地说:‘隔墙有耳。"”⒉对有错误或不正当行为的人、团体、国家提出告诫,使认识所应负的责任。引鲁迅《且介亭杂文·阿金》:“这种扰动,我的警告是毫无效验的,她们连看也不对我看一看。”王西彦《古城的忧郁·灾祸》:“警告是早就来过的,叫他自动停刊,他没有依从。”魏巍《东方》第六部第六章:“广播员当即向这个破坏阵地联欢的美国军官提出警告。”⒊纪律处分的一种。引《中国共产党章程》第七章第三九条:“党的纪律处分有五种:警告、严重警告、撤销党内职务和向党外组织建议撤销党外职务、留党察看、开除党籍。”三、国语词典使人警觉的告诫。如:「他屡次旷课,已遭训导长记乙次警告。」词语翻译英语towarn,toadmonish德语Abmahnung(S)_,Ermahnung(S)_,ernsterAppell(S)_,Verwarnung(S)_,Warnung(S)_,ermahnen,abmahnen(V)_,vorwarnen,verwarnen,warnen(V)_,Behutsamkeit(S)_,Beschimpfung(S)_,Einspruch(S)_法语avertissement,avertir四、网络解释警告(美国诗人朗费罗的诗作)《警告》一诗出自诗集《奴役篇》,是朗费罗反对蓄奴制度的名篇。在诗中,他以古代以色列英雄参孙来比喻美国被奴役被压榨的黑人,通过对参孙形象的重塑来预示黑人即将爆发的愤怒与反抗。警告(汉语词汇)警告,作为名词时通常指对犯错误者的一种处分,作为动词或语气助词时意思是给对方提出告诫,使其有所警惕并认识应负的责任。关于警告的近义词忠告警惕劝告告戒告诫正告晶体申饬警卫警戒关于警告的诗词《警告》关于警告的诗句为了要给我们一个及时的警告那种感觉仿佛是对我此刻的警告亦用自警告关于警告的单词examplewarnwarningalarm关于警告的成语昼警暮巡死告活央狗吠之警警钟长鸣自告奋勇犬吠之警昼警夕惕黄牌警告关于警告的词语触目警心狗吠之警黄牌警告不可告人自告奋勇诛一警百昼警夕惕死告活央歼一警百圆木警枕点此查看更多关于警告的详细信息2023-06-13 00:58:241
人物描写作文写事100字
1. 人物描写作文100字 我们班的“野蛮女生” “哎哟,哎哟,救命哪!”不知道是哪位仁兄又“惨遭毒手”了。我定晴一看,原来是尧舜说了这位同学的坏话,于是这位“女中豪杰”就“替天行道”了。经过一番“拳打脚踢”,颜尧舜被打得如他的外号一样惨——“扁鱼一条”! 她小小的脑袋,一头乌黑的秀发,鼻梁上架着一副眼镜,看起来挺斯文,挺文静的,她却是我们班的“野蛮女生”之一。 如果,你刚被 她“修理”一番,正想报告老师,我告诉你千万别去。因为她像长了顺风耳一样,没等你去报告,她早就去老师那儿“诉苦”了。咱们男生只好自认倒霉啰!她还有一个秘密武器——眼泪。如果你和她正激烈地争吵着,而她正好占下风。她就会去老师那里边哭边告状,而你就遭殃了——会被老师骂个“狗血喷头”。唉,谁叫她“哭里藏刀”呢! 她还是个“拼刺”班长,中午我忘了带课外书找同学借,我悄悄地说:“借我一本书。”谁知她的耳朵比黑猫警长的耳强多了,她飞步走到我面前说:“你干什么讲话?”“我找他借书呗!”我理直气壮。“给我上讲台!”说罢便手来拉我,我死活不走,她使出了绝招——掐。结果“哎哟,哎哟”的惨叫声不绝于耳。我被她“掐断”了几根毛细血管,真惨那! 但野蛮归野蛮,她也是有优点的,这不,上次我们班与四年级一班在拔河比赛中冠军,但以失败告终,屈居第二。所以我们班决定要在其中考试中胜他们,她把班上的“顶尖高手”分配去教差的同学,在她的带动下,我们个个精神抖擞,在考试上我们战胜了四年级一班。 哏她同窗四年级了,她这个人就是这么野蛮,这么负责。你们猖猜猜她是谁? 2. 人物描写100字作文 他是一个非常神秘的人,如果你不去接近他,那么你就永远别想了解他。 它的个子不算高,也不矮,长得很标准,析白的皮肤,南瓜形状的脸上镶着一双不明亮而忧郁的眼睛,似乎在想着什么。 他的学习比较好,因为他是我们班前任的学习委员,每每的看见他,他总会写着作业,或者是发呆,任何人都不知道他在想着什么。 他那么不被别人注意,他性格内向,不爱说话,也不会交往,之所以这样他只有我一个朋友,他不爱献慧自己,更不会自喻勉强,它属于那种不说会干的人,每次考试,他总能取得好成绩,而别人向他祝贺时,他就会向他人咧嘴勉强得一笑,接着就消失在人群中了。 他酷爱看武侠小说,每天他都会给我说一些脱离现实的故事,并且还要用树立的武功招试和我“过招”虽然他那些三角猫的功夫只不过是半斤八两,但是你瞧他那认真的劲,和出拳的动作,还真象一个少年游侠。 他也是个争强好胜的人,我们每次过招时,总是不分上下,他好胜心强, 打架的时候,他总是用他那坚硬的指甲来攻击别人,他自称“龙抓虎抓”而尝试过他那招的人,保证乖乖的认输。 每次上体育课的时候,他总是一个人孤独的在教学楼中转悠,谁也不知道他在干什么,甚至有的时候,我――这个他最要好的朋友,也不知道他在干什么。 他总是别人靠玩笑的对象,就是因为它的皮肤白,而且说话声音像女生,之所以这样,别人都叫他“娘娘婆” 可不知道为什么,他变了,学习每况愈下了,它的学习委员的乌纱帽也被摘了,我们的友谊也开始变质了,以前我们总是开个玩笑,对方都不计仇,可他现在,变得小肚鸡肠了,心胸狭窄了,哎……为什么会这样? 但愿我们的友谊地久天长 3. 描写人物作文(100字) 她是谁?你看,她个子不高不矮,身子瘦瘦的,皮肤白白的。圆圆的脑袋上扎着一对羊角辫。秀秀气气的脸蛋上,淡淡的眉毛下,有一双亮晶晶的眼睛。一张扁扁的嘴巴像小鸭嘴,嘴里有二排又白又齐的牙齿。身上穿着五颜六色的童服,脖子上系着一条红领巾。她就是我的好朋友——文荪琳。 文荪琳可关心我了。记得上学的第一天,晴空万里。在上音乐课前,我们下楼去升旗。大家直奔楼梯,挤成一堆,挤呀挤,啊!不好了!我摔倒了,摔疼了腿。我只好坐在楼梯上“哇哇”直叫。 正在这时,我的好朋友文荪琳出现了,她奋不顾身地跑过来,亲切地对我说:“你没事吧?” 我难过的说:“我在下楼的时候摔了一跤,这可疼死我了!” 文荪琳着急地问:“那你现在还疼吗?” 我哭着说:“当然疼了!” 听我说完,文荪琳立刻伸出双手,轻轻地摸了摸我的伤口, 在她的帮助下,我勉强地站了起来,对她说:“我们两个一起去操场升旗吧? 文荪琳就扶我,一瘸一拐的去升旗。我感激的对文荪琳说:“文荪琳,你对我真好,谢谢你今天对我的帮助。文荪琳高兴地说:“你没事就好,是朋友就应该相互帮助,你说对吗?”我高兴地点了点头文荪琳呀文荪琳,你对我这么关爱,你真是我的好朋友啊!希望我们永远都是好朋友,好吗? 4. 写一个通过描写人物的事件写出这个人物的作文100多字就够啦 哥哥的眼睛高度近视,处处离不开眼镜,就像个“睁眼瞎子”一样,只要把他的眼镜摘下来,在我面前他就像绵羊一样服服帖帖。 一天下午,哥哥要洗头了。他吩咐我给他拿肥皂换水。 我得意地想:哼!我先给你跑跑腿,然后再治你。一会儿,哥哥伸长了脖子,把肥皂沫打得满头满脸都是。 我一看时机到了,就悄悄地把哥哥的盆拿走了。哥哥搓完后去洗头,一捧水,捧了个空。 他忙去找,可刚一睁眼,肥皂沫就杀得他直流眼泪。他像盲人摸路一样,东摸摸,西摸摸,好容易才摸起了毛巾,把眼一擦,可眼睛还是模糊的,就去找他的眼镜。 5. 人物描写的故事作文100 她,是个活泼可爱的小女孩。 水汪汪的眼睛下长着一个扁扁的鼻子,嘴巴就如大猫一样贪吃,耳朵大大的(却听力很差),矮矮的身子下有着一双大大的脚。这就是她,一位可爱的小女孩。 她的爱好如同天上的繁星一样多:拉小提琴、听歌、看书等等。就拿看书来说吧!她家的房间只好用一个字来形容,那就是“乱”,不是因为玩具太多了,也不是因为衣服太脏了,那是因为她家的书实在太多了。 不小心一翻,就会发现已经寻找了很久的书。每一本她都过了上千次。 她看书可算是专心致志,怎么也惊动不过她,就连吃饭的时间到了,她也只能说几句:“等一下。”她可是杨红樱的忠实读者,几乎杨红樱写的每一本书她都看过了,为了能得到杨红樱的签名,她还冒着大雨来到新华书店。 她就是这样,一个爱看书的女孩。 她可胆小了。 如果是黑独自出门的话,那她一定会害怕得心里吵着叫:“妈啊。”她一会儿怕人家抢劫,一会儿又怕被坏人绑架。 你看,他是多么胆小啊! 她不仅胆小还爱哭呢!一看她那水汪汪的眼睛就知道了,就算被人说几句,她的泪水也会不由自主地流下来。有一次,她和同学闹别扭了,因她借了同学的几本书,而忘记还。 同学因此太气愤了,便握起拳头打了她几下,这时,她心里实在太难过了,便趴在桌子上哭了起来。感动也会引起她流泪。 有一次,全校组织去看一部叫做《纸飞机》的电影,她被故事中的男主角何亮所感动了,眼泪悄悄地从眼睛里流了出来,她只好半掩着脸,不让别人看见。 讲到这里,你们想知道那位又爱哭又爱看书的小女孩是谁吗?她就是本姑娘——李茵。 6. 描写人物的片段(100字) (1)乍一看,她个子挺高的,身材很好,不胖也不瘦,是块跳舞的料。细看,她留着齐耳短发,头上总是一左一右地夹着两只发卡,把头发紧紧地拢在耳朵后面,显出一张光滑白净的脸庞。她的眼睛不大,细细长长的,但是很有神采,一笑就变成了两条缝。鼻子微微上翘,给人一种俏皮的感觉,显得十分可爱。她平时最喜欢穿的是一条蓝底白花的连衣裙,裙摆又宽又大。她一跑动起来,裙子就像一只花蝴蝶一样飞起来了。 (2)她留着一头灰白的头发,一双乌黑的眼睛深陷在眼窝里,额头上布满了稠密的皱纹。外婆是从封建社会走出来的,也许是受当时的影响,外婆一直反对现在的人超时尚,赶时髦。可没过多久,我却发现外婆像变了一个人似的,你瞧!乌黑闪亮的黑发盘在头上,身上穿着紫色的夹克衫,皮鞋擦得都能照出人影。我见了外婆这身“怪打扮”难免下一跳,但同时又纳闷起来,禁不住问外婆:“外婆你咋换上了这身打扮?”外婆一边理着衣服一边回答:“我以前那种想法太落后了,我们现在应该跟着时代走!”说完又照了照镜子。唉呀!外婆的脑门啥时开窍了呀! (3)母亲一见荔枝,脸立刻沉了下来:“你财主的怎么着?这么贵的东西,你……”我打断了母亲的话:“这么贵的东西,不兴咱们尝尝鲜!”母亲扑哧一声笑了,经脉突兀的手不停地抚摸着荔枝,然后用小拇指甲盖划破吏治皮,小心翼翼地剥开皮又不让皮掉下,手心托着荔枝,像是托着一只刚刚啄破蛋壳的小鸡,那样爱怜地望着舍不得吞下,嘴里不住地对我说:“你说它是怎么长的?怎么红皮里就长着这么白的肉?”毕竟是第一次吃,毕竟是好吃!母亲竟像孩子一样高兴。 (4)他双手捧着球,深吸一口气,然后踮起脚尖,原地弹动了三四下,接着,他突然如离弦的箭一般朝着篮下奔去。离篮架足有四五米远,他把球交到右手中向篮板抛去,球“碰”的一声反弹下来。说时迟,那时快,他三步就跨到篮下,“蹭”地跳起来,双手抓住飞来的球,举到头顶,腰一挺,然后“嘿”地叫了一声,把球灌进了篮筐。。 (5)他满脸苦恼地望着作文本,突然感到气急攻心,恨不得立即将其大卸八块。他直勾勾地盯着他人的作文本,却也无可奈何。他刚要下笔,却又一时拿不定主意。好不容易写下了第一个字后,长长吁了一口气。可新麻烦又来了,接下来他又不知道怎么写。他气急败坏地撕下了那一面纸,很快又陷入到苦思冥想之中去了。下课铃响了起来,别人已经开开心心地交作业了,只见他面如死灰,作文本上还是未着一字 7. 描写人物作文(100字) 在历史的长河中,有许多名著,名著中有着许多个性鲜明的人物,我最喜欢的人物是《三国演义》中那个足智多谋的诸葛亮。 众所周知,诸葛亮是一位机智过人.神机妙算的人。他用自己的聪明.对敌军的了解,打了一个又一个的胜仗。 诸葛亮的心胸宽广,不斤斤计较。所以,他从古至今都被人所敬仰.所尊重。 诸葛亮也不可能光凭聪明就打胜了这么多的胜仗。他也是读了许多书,天天刻苦学习。 他也了解敌军,话说:知己知彼,百战百胜。他做到了这一点。 他还知天文,晓地理。这说明他懂科学。 正是因为这样,他才能成为一位杰出的军师!我们从小就要好好学习,拓展我们的知识面。只有这样,我们才能向诸葛亮一样,成为祖国的栋梁之才。 8. 人物描写的故事作文100 她,是个活泼可爱的小女孩。水汪汪的眼睛下长着一个扁扁的鼻子,嘴巴就如大猫一样贪吃,耳朵大大的(却听力很差),矮矮的身子下有着一双大大的脚。这就是她,一位可爱的小女孩。 她的爱好如同天上的繁星一样多:拉小提琴、听歌、看书等等。就拿看书来说吧!她家的房间只好用一个字来形容,那就是“乱”,不是因为玩具太多了,也不是因为衣服太脏了,那是因为她家的书实在太多了。不小心一翻,就会发现已经寻找了很久的书。每一本她都过了上千次。她看书可算是专心致志,怎么也惊动不过她,就连吃饭的时间到了,她也只能说几句:“等一下。”她可是杨红樱的忠实读者,几乎杨红樱写的每一本书她都看过了,为了能得到杨红樱的签名,她还冒着大雨来到新华书店。她就是这样,一个爱看书的女孩。 她可胆小了。如果是黑独自出门的话,那她一定会害怕得心里吵着叫:“妈啊。”她一会儿怕人家抢劫,一会儿又怕被坏人绑架。你看,他是多么胆小啊! 她不仅胆小还爱哭呢!一看她那水汪汪的眼睛就知道了,就算被人说几句,她的泪水也会不由自主地流下来。有一次,她和同学闹别扭了,因她借了同学的几本书,而忘记还。同学因此太气愤了,便握起拳头打了她几下,这时,她心里实在太难过了,便趴在桌子上哭了起来。感动也会引起她流泪。有一次,全校组织去看一部叫做《纸飞机》的电影,她被故事中的男主角何亮所感动了,眼泪悄悄地从眼睛里流了出来,她只好半掩着脸,不让别人看见。 讲到这里,你们想知道那位又爱哭又爱看书的小女孩是谁吗?她就是本姑娘——李茵。 9. 关于人物描写的作文100字 在历史的长河中,有许多名著,名著中有着许多个性鲜明的人物,我最喜欢的人物是《三国演义》中那个足智多谋的诸葛亮。 众所周知,诸葛亮是一位机智过人.神机妙算的人。他用自己的聪明.对敌军的了解,打了一个又一个的胜仗。 诸葛亮的心胸宽广,不斤斤计较。所以,他从古至今都被人所敬仰.所尊重。 诸葛亮也不可能光凭聪明就打胜了这么多的胜仗。他也是读了许多书,天天刻苦学习。 他也了解敌军,话说:知己知彼,百战百胜。他做到了这一点。 他还知天文,晓地理。这说明他懂科学。 正是因为这样,他才能成为一位杰出的军师!我们从小就要好好学习,拓展我们的知识面。只有这样,我们才能向诸葛亮一样,成为祖国的栋梁之才。2023-06-13 00:58:171
告诫,闪耀,放射造句子
妈妈告诫我,做人一定要诚实守信。2023-06-13 00:58:052
谆谆告诫是什么意思
谆谆告诫意思是恳切耐心地劝告。谆谆告诫,汉语成语,拼音是zhūn zhūn gào jiè,意思是恳切耐心地劝告。出自《诗经·大雅·抑》:诲尔谆谆,听我藐藐。近义词谆谆教导、循循善诱、诲人不倦,反义词不教而诛,成语用法偏正式;作谓语;含褒义。谆谆告诫造句1、我们应该牢记老师对我们的谆谆告诫。2、老师的谆谆告诫,一直印在我的脑海。3、它谆谆告诫我们必须培养正气,以身示范。4、我们要做一个对社会有贡献的人,我们不能忘了老师的谆谆告诫。5、父母的谆谆告诫通常被孩子们当做生活的指南。6、校长谆谆告诫我们,要继续保持艰苦奋斗的作风。7、我把老师的谆谆告诫铭记在心。8、在老师的谆谆告诫教导下,这学期我进步很快。9、因此张仲景谆谆告诫后世医者,在行针施灸时,要注意针宜灸忌和针忌灸宜。10、同时,周人谆谆告诫自己人,天命靡常,惟有德者居之,不可自己骄奢,以致失落天命。11、他谆谆告诫我们,不要犯胜利时骄傲起来,不要犯生活腐化的错误。2023-06-13 00:57:461
写人物的作文400字左右
描写人物的作文,可以通过人物的个性化语言来刻画人物的性格,也可以通过对人物的外貌进行描写。下面是由我为大家整理的“写人物的作文400字左右”,仅供参考,欢迎大家阅读。 写人物的作文400字左右(一) 你喜欢谁?你喜欢的一定是个很优秀的人吧?我也是。我来介绍我喜欢的人吧! 说到喜欢的人,我立马想起他那头短头发,乌黑油亮;他的肉肉的脸上镶嵌着一双眼睛,亮晶晶的;他说出的每一个字,我都十分欣赏。他跟我一样,11岁,可是我们不是一个班的人,如何靠近呢?我是一个热情开朗的女孩,常有人说我暴烈女,但我也不在乎。可是他好像很内向,不过,我不在乎!因为可以说是互补嘛! 有一次,我在路上走着,发现他也在走,我尽量靠近着他。我一直不经意的瞥他一眼,怕被旁边的同学发现。我发现他也会瞥我一眼,我立马扭过头,我害怕他理解我的用意,因为我知道,他不会喜欢我,但我还会默默喜欢着他的!还有一次,学校组织一起上课,我和他前后桌,我激动极了!要一起讨论了,我和他头对着头,一起讨论。我开心极了!我心想:天呐,这是一次多么难得的机会,我和他的距离竟然这么近! 这就是我最喜欢的一个人,一个帅气优秀的“帅哥”。 写人物的作文400字左右(二) 我有一个活泼、可爱的弟弟。他虽然像个“人来疯”,但是学习成绩名列前茅,总是让老师和同学对他刮目相看。接下来就让我给你们讲讲我弟弟的故事吧。 一个阳光灿烂的早晨,我和弟弟悠闲自得的走在路上,突然,一个不明飞行物掉在我头上,把我吓得像热锅上的蚂蚁团团转!这时,弟弟骄傲的说:“姐姐,你真胆小,不就是一只小鸟吗?有什么好大惊小怪的呀!让我这个“动物学家”帮你来看看吧!”弟弟仔细大量了一番,“不好这只小鸟受伤了,我们赶快把它带回家,不然它会死的。”我二话不说,小心翼翼的把小鸟捧回了家。 我们到了家,急忙打开急救箱,拿出了消毒水和棉花棒。弟弟一丝不苟地用棉花棒沾了一点消毒水小心翼翼的擦在小鸟的腿上。两天后小鸟腿上的伤好了。这时妈妈说:“宝贝,我和姐姐准备去购物,你去吗?”弟弟一本正经的说:“我不去,我要照顾小鸟。” 一个小时后,我们一回到家就听到叽叽喳喳的声音,我恍然大悟,完了,我直朝阳台跑去看到弟弟趴在阳台上睡着了,而小鸟却在衣架上痛苦的叫着,我急忙把小鸟救下,我真想大笑一场,最终我还是忍住了。 我偷偷摸摸的跑道弟弟旁边,大叫了一声。弟弟说:“姐姐,快跑,怪兽来了。”我明知故问:“奥特曼呢?”弟弟才缓过神来。“你是不是给小鸟洗澡了?”我说。弟弟说:“嗯!”我又说:“你为什么把小鸟的翅膀夹杂在衣架上?”弟弟说:“我想把他晾干。”我说:“它不疼吗?”弟弟低着头不说话,脸羞的像一只红苹果。我的弟弟就是这么可爱。 写人物的作文400字左右(三) 我在外面的英语班上结识了一位新的朋友,他有一口好口才,说起话来如滔滔江水没完没了,还一套一套的,就因为这,大家才会把他叫做是说评书的“庞然大物”。 在我的朋友中,口才最好的就数他了。他每天一到休息就哇啦哇啦地说了起来。还记得他第一次说评书是在病毒爆发时。他大踏步地走上讲台,用板擦一拍桌子就开讲了:“话说这病毒是哪来的呢?是由什么组成的呢?你们都不知道吧,是由超级xx等等东西组成……”他的话没头没脑的,还乱七八糟地说个不停,我们大笑不止。有时候他也会给我们大家讲很多的鬼故事,鬼屋惊魂,逃离埃及等等。他讲得有声有色,我们听得也毛骨悚然! 我一直认为他太能说,而且都是“废话连篇”,可那一次我发现了他“话匣子”的新用途…… 有一次,我们在回家的路上看见了一个小孩,骑车摔倒了,腿被划伤了,看起来十分疼痛。他的家长正在给他上药,可小孩疼得直哭闹,都不能好好上药了。他看到了连忙跑过去,挤眉弄眼地说起了笑话。他一会儿瞪眼睛,一会儿撇嘴巴,一会儿又像猴子一样活蹦乱跳。小孩见他说得有趣,好像忘记了疼痛,天真地笑了起来。小孩的家长十分感谢“庞然大物”。可他没有说什么,而是继续不停地认真地给小孩讲笑话,直到药上好了为止,他才擦擦汗笑着跟他们说再见。 看来,他除了能说外还是一个十分热心的人!我十分敬佩,做为他的朋友我应该像他那样,用自己的能力,去帮助别人。 写人物的作文400字左右(四) 只要在学校老远看见一个爆炸头,走路风风火火的一定是我妈妈。别看她平时跟我互相打闹,教育起来可厉害了。 记得有一次,我课堂作业没有在放学之前完成,妈妈本来笑容满面来到教室,一看我作业没做完,晴空万里的脸马上就“阴沉”下来了,我就知道暴风雨要来了。果不其然,妈妈回到家第一件事不是什么,正是开始“虐待”我,你看:不是拎耳朵就是用皮带抽我的屁股,这个痛呀。好不容易才熬过去。但从这以后,我的课堂作业很少是不完成的。 我妈妈还会烧一手好菜,她刚烧完饭就会叫我们尝尝她做的“特色”,她还连着喊,假如一分钟后还没见我们过去吃,火就好像罐了油一样“嘭”上来了,声音分贝马上提高。 我和爸爸只能一个从电脑桌前起来,一个从课桌上起来,用最快的速度洗完手坐到餐桌前,她火才灭掉。 我的妈妈虽然脾气暴躁,但是她也经常和我一起玩游戏,在公园里经常你追我赶,玩得和小孩一样的开心。 她不仅是我的好妈妈,还是我的好朋友。2023-06-13 00:57:381
用推推搡搡 前呼后拥 寒噤 怒不可遏 告诫 雾霭造句
前人告诫,做事不可推推搡搡,不可前呼后拥,2023-06-13 00:57:333
用小心翼翼,依依不舍,告诫这三个词语连起来造句,200字左右
今天我去奶奶家玩。。。奶奶送给我一个很贵重的翡翠手镯,我小心翼翼的看了看,非常的漂亮,妈妈说他贵重,怕我弄坏了,就替我保管起来。。。吃完饭后,我和哥哥玩的很开心,但是才玩了半个小时,妈妈就说明天还有事要早起,要带我回家去,我便依依不舍地跟妈妈回家了,临走是奶奶告诫我:平时要多看书。。。大体上就是这样吧。。。处请根据剧情自行脑补!2023-06-13 00:57:071
用小心翼翼、涟漪、告诫造句
河上刚结了冰,踏上去要小心翼翼,以免掉下去。2023-06-13 00:56:491
告诫的读音告诫的读音是什么
告诫的读音是:gàojiè。告诫的拼音是:gàojiè。注音是:ㄍㄠ_ㄐ一ㄝ_。结构是:告(上下结构)诫(左右结构)。词性是:动词。告诫的具体解释是什么呢,我们通过以下几个方面为您介绍:一、词语解释【点此查看计划详细内容】告诫gàojiè。(1)也作“告戒”。(2)规劝某人勿做某事。(3)教诲劝戒。二、引证解释⒈见“告戒”。三、国语词典申告劝诫。如:「张生品性不端,老师特予以告诫一番。」也作「告戒」、「诰诫」。四、网络解释告诫告诫,指警告劝诫,如:爱默生的名言—-人类的全部历史都告诫有智慧的人,不要笃信时运,而应坚信思想。关于告诫的近义词警告规劝警戒劝告申饬劝诫关于告诫的反义词听任关于告诫的诗词《悼亡·告诫篷窗知不知》关于告诫的诗句来此劝农申告诫告诫篷窗知不知从容告诫关于告诫的单词warnwarningexhortlesson关于告诫的成语死告活央谆谆诰诫小惩大诫谆谆告诫行词告状自告奋勇断织之诫差可告慰关于告诫的词语行词告状忠告善道三求四告告贷无门死告活央无头告示差可告慰自告奋勇诫莫若豫断织之诫关于告诫的造句1、它谆谆告诫我们必须培养正气,以身示范。2、父亲常常告诫我们言多必失,今天看见小李招来了麻烦,才知老人家的话是很有道理的。3、我们应该牢记老师对我们的谆谆告诫。4、老师常常告诫我们,骄傲使人落后。5、校长谆谆告诫我们,要继续保持艰苦奋斗的作风。点此查看更多关于告诫的详细信息2023-06-13 00:56:421
告诫的成语告诫的成语是什么
告诫的成语有:死告活央,自告奋勇,行词告状。告诫的成语有:谆谆诰诫,差可告慰,自告奋勇。2:拼音是、gàojiè。3:注音是、ㄍㄠ_ㄐ一ㄝ_。4:词性是、动词。5:结构是、告(上下结构)诫(左右结构)。告诫的具体解释是什么呢,我们通过以下几个方面为您介绍:一、词语解释【点此查看计划详细内容】告诫gàojiè。(1)也作“告戒”。(2)规劝某人勿做某事。(3)教诲劝戒。二、引证解释⒈见“告戒”。三、国语词典申告劝诫。如:「张生品性不端,老师特予以告诫一番。」也作「告戒」、「诰诫」。四、网络解释告诫告诫,指警告劝诫,如:爱默生的名言—-人类的全部历史都告诫有智慧的人,不要笃信时运,而应坚信思想。关于告诫的近义词劝诫规劝警戒劝告警告申饬关于告诫的反义词听任关于告诫的诗词《悼亡·告诫篷窗知不知》关于告诫的诗句告诫篷窗知不知从容告诫来此劝农申告诫关于告诫的单词warningwarnexhortlesson关于告诫的词语诫莫若豫断织之诫忠告善道小惩大诫无头告示差可告慰行词告状不可告人死告活央自告奋勇关于告诫的造句1、常言所说“知足不辱”包含了颇深的人生哲理,它告诫人们不能有非分的贪心,贪心容易招来祸患。2、妈妈语重心长的告诫,却被我不耐烦的打断了。3、它谆谆告诫我们必须培养正气,以身示范。4、父亲告诫儿子说,你血气方刚,凡事要忍耐,切勿跟人处处冲突。5、父亲常常告诫我们言多必失,今天看见小李招来了麻烦,才知老人家的话是很有道理的。点此查看更多关于告诫的详细信息2023-06-13 00:56:351