- 苏州马小云
-
使用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"]
}
}
提示有三个level:
"off" or 0 - 关闭这个规则校验
"warn" or 1 - 开启这个规则校验,但只是提醒,不会退出"error" or 2 - 开启这个规则校验,并退出
五、常见问题
1.为什么不用jslint
创建eslint是因为急需插件化的校验工具
2.ESLint跟JSHint、JSCS的比较
ESLint比JSlint要慢2~3倍,因为ESLint在识别代码前需要用Espress构建AST,而JSHint在解析的时候就会识别代码。虽然慢些,但不至于成为痛点。
ESLint比JSCS快,(as ESLint uses a single-pass traversal for analysis whereas JSCS using a querying model.)3.ESLint仅仅是校验还是也检查代码风格
都有。ESLint does both traditional linting (looking for problematic patterns) and style checking (enforcement of conventions). You can use it for both.
4.支持es6吗?
支持。参考配置eslint.org/docs/user-guide/configuring5.支持JSX?
支持,但并不表示支持React。(Yes, ESLint natively supports parsing JSX syntax (this must be enabled in configuration.). Please note that supporting JSX syntax is not the same as supporting React. React applies specific semantics to JSX syntax that ESLint doesn"t recognize. We recommend using eslint-plugin-react if you are using React and want React semantics.)5.支持es7吗?
本身不支持,可以使用babel-eslint
六、下面详细介绍下配置,地址eslint.org/docs/user-guide/configuring1.配置ESLint
主要有两种方法配置
(1)配置注释,直接嵌入到js文件中
(2)配置文件,使用js、json或者yaml文件来为整个目录及其子目录配置。形式有:.eslintrc.*文件,或者在package.json中配置eslintConfig字段,或者在命令行里配置。
配置分几个方面:
(1)环境(env):设置你的脚本的目标运行环境,如browser,amd,es6,commonjs等,每种环境有预设的全局变量(2)全局变量:增加的全局变量供运行时使用(3)规则(rules):设定的规则及该规则对应的报错level2.配置解析器选项(Specifying Parser Options)默认仅支持ES5语法,可以设置为es6 es7 jsx等。
复制代码
{
"parserOptions": {
"ecmaVersion": 6, // 可选 3 5(默认) 6 7"sourceType": "module", // 可选script(默认) module"ecmaFeatures": {
"jsx": true
},
},
"rules": {
"semi": 2
}
}
复制代码
3.配置解析器(Specifying Parser),需要本地npm模块{
"parser": "esprima", // Espree(默认) Esprima Babel-ESLint"rules": { "semi": "error" } }
4.配置环境(Specifying Environments),可以多选复制代码
browser - browser global variables.
node - Node.js global variables and Node.js scoping.
commonjs - CommonJS global variables and CommonJS scoping (use this for browser-only code that uses Browserify/WebPack).
shared-node-browser - Globals common to both Node and Browser.
es6 - enable all ECMAScript 6 features except for modules.
worker - web workers global variables.
amd - defines require() and define() as global variables as per the amd spec.
mocha - adds all of the Mocha testing global variables.
jasmine - adds all of the Jasmine testing global variables for version 1.3 and 2.0.
jest - Jest global variables.
phantomjs - PhantomJS global variables.
protractor - Protractor global variables.
qunit - QUnit global variables.
jquery - jQuery global variables.
prototypejs - Prototype.js global variables.
shelljs - ShellJS global variables.
meteor - Meteor global variables.
mongo - MongoDB global variables.
applescript - AppleScript global variables.
nashorn - Java 8 Nashorn global variables.
serviceworker - Service Worker global variables.
atomtest - Atom test helper globals.
embertest - Ember test helper globals.
webextensions - WebExtensions globals.
greasemonkey - GreaseMonkey globals.
复制代码
如果要在待校验文件里面配置可以这样配置:
/*eslint-env node, mocha */
如果要在配置文件中配置:
{
"env": {
"browser": true,
"node": true
}
}
如果在package.json中配置:
复制代码
{
"name": "mypackage",
"version": "0.0.1",
"eslintConfig": {
"env": {
"browser": true,
"node": true
}
}
}
复制代码
如果在YAML中配置:
---
env:
browser: true
node: true
也可以用插件
{
"plugins": ["example"],
"env": {
"example/custom": true
}
}
5.配置全局变量(Specifying Globals)
定义了全局变量以后,使用他们,ESLint不会发出警告。
在js文件中定义:
/*global var1, var2*/
设置read only
/*global var1:false, var2:false*/
在配置文件中:
{
"globals": {
"var1": true,
"var2": false
}
}
6.配置插件(Configuring Plugins)
使用npm安装第三方插件
{
"plugins": [
"plugin1",
"eslint-plugin-plugin2"
]
}
7.配置规则(Configuring Rules)
js中配置:
/*eslint eqeqeq: "off", curly: "error"*/
或者:
/*eslint eqeqeq: 0, curly: 2*/
如果规则有多个选项:
/*eslint quotes: ["error", "double"], curly: 2*/在配置文件中设置:
复制代码
{
"rules": {
"eqeqeq": "off",
"curly": "error",
"quotes": ["error", "double"]
}
}
复制代码
使用插件:
复制代码
{
"plugins": [
"plugin1"
],
"rules": {
"eqeqeq": "off",
"curly": "error",
"quotes": ["error", "double"],
"plugin1/rule1": "error"
}
}
复制代码
/*eslint "plugin1/rule1": "error" */
临时关闭eslint校验:
/*eslint-disable */
//Disable all rules between comments
alert("foo");
/*eslint-enable */
/*eslint-disable no-alert, no-console */
alert("foo");
console.log("bar");
/*eslint-enable no-alert */
在js特定行关闭校验:
alert("foo"); // eslint-disable-line
// eslint-disable-next-line
alert("foo");
alert("foo"); // eslint-disable-line no-alert, quotes, semi// eslint-disable-next-line no-alert, quotes, semialert("foo");
8.增加共享设置(Adding Shared Settings)
{
"settings": {
"sharedData": "Hello"
}
}
9.使用配置文件
eslint -c myconfig.json myfiletotest.js
10.继承配置文件(Extending Configuration Files)复制代码
{
"extends": [
"./node_modules/coding-standard/eslintDefaults.js",// Override eslintDefaults.js
"./node_modules/coding-standard/.eslintrc-es6",// Override .eslintrc-es6
"./node_modules/coding-standard/.eslintrc-jsx",],
"rules": {
// Override any settings from the "parent" configuration"eqeqeq": "warn"
}
}
复制代码
11.忽略文件或目录(Ignoring Files and Directories)建立.eslintignore文件
复制代码
# /node_modules and /bower_components ignored by default# Ignore files compiled from TypeScript and CoffeeScript**/*.{ts,coffee}.js
# Ignore built files except build/index.jsbuild/
!build/index.js
- 西柚不是西游
-
使用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"]
}
}
面试官:什么是 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
如何在 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
电脑上装个英文应用软件,打开软件时总是提示: The system cannot find the file specified
安装路径太长。卸载在我的电脑中路径长度和地方换一下重装试试吧!2023-06-13 00:58:286
人物作文怎么写100字
人物作文怎么写100字 亲爱的爸爸、妈妈您们好: 最近全国上下都在搞城乡环境综合整治的活动。可是,我在我们家和小区内发现了一些“致命”的东西----垃圾和烟雾。这究竟是怎么回事呢?谁是它们的主人呢? 爸爸,我在家里打扫卫生的时候,发现了不少的菸灰和菸头,可当我问起您时,您总会说:“我哪知道哪儿来这么多菸头?”那时候我就会想:“这菸头不是您扔的,难不成还是我从大街上捡回来的?”爸爸,您把烟戒了吧!抽菸不仅对您的身体有害,对您身边你爱的和爱你的人危害更大。因为烟中含有大量的尼古丁,您吸入以后,对您的肺伤害很大,而您身边的人正在吸著危害更大的“二手菸”。您说,您是不是该把烟戒了呢? 人物作文评语,人物作文怎么写,人物作文题目,人物 一、1、文章报告了早先“我”对同桌的外貌及性情都略有不满,因此到处与同桌分歧,末了通过一件事使“我”真正了解到了同桌心灵的优美。文中外号的引用,既突出人物的特性,又表现出文章的情感色彩。2、文章形貌细致生动,人物语言本性化,切合角色性格特性,人物刻画得逼真形象。3、内容详细充分,布局完备,语言流畅,层次清楚,笔墨间暴露小作者的真情实感。 二、像是一场相声,也像一篇短话剧。题材新颖,令人眼前一新。什么抄作业,什么装模作样的学给老师看,都展现了有些中门生不爱学习,早起抄作业的征象。但作者描写的种种不良因素,值得发人寻思啊。文章想象富厚,构想新颖。文章语言高度精粹,童话伎俩的运用很有新意。 人物作文怎么写? 望古今中外多少风流人物触动了我的心灵:苟践卧薪尝胆,韩信受胯下之辱而富强,祖狄闻鸡起舞,生活即是艺术的毕加索……他们编著的篇章,他们的品质,他们的精神,是人类历史上的魂宝。我要学习他们的精神,让自己的人生别有洞天。 1、【写外貌】写外貌就是描写人物的五官长相、个头体态、音容笑貌、衣着打扮等。“人心不同,各如其面。”是说人的好坏可以通过外貌表现出来。当然,这并不准确,但一定程度上,外貌特征确实能够表现人物的某些内心、性格、品质特点。如“头发花白”可以说明人物年龄大;“皱纹深、面板黑而粗糙、高大魁梧”可以表明人物饱经风霜、个性坚毅刚强;“浅浅的酒窝、乌黑明亮的眼睛”可以反映人物聪明活泼的特点等。在写人物外貌的时候,一定不能泛泛而谈,要抓住最具有代表性的地方,细致描摹。 请同学们看看下面这段外貌描写,看看这段描写有什么问题?你能给修改一下吗? 例1:走到镜子面前看一看,浓密的眉毛下一双炯炯有神的大眼睛,高高的鼻梁下,还有一张红红的能说会道的嘴巴,这就是我。 问题:外貌描写模式化,没有特点。换句话说,几乎可以放之四海而皆准。 修改:我呀,小头长脸像母亲,浓眉大眼又遗传了父亲,不够白净的脸色有许多褐色的雀斑。由于读书写字的姿势不够正确,我成了近视眼。这不,最近我的鼻梁上又多了一副眼镜。别看我不漂亮,我可从未为我的相貌而苦恼过,天生一个“乐天派“。 例2:“头猛”是我们班最可爱的女生,梳着两条小辫儿,虎头虎脑,面色红润。她之所以“猛”,首先是由于她猛于提问。无论上什么课,她必紧拧双眉,时时举手提问,问题十分古怪,往往令老师抓耳挠腮,老师如果答上了,她必追问一句:“为什么呢?”老师答完了“为什么”,她又来一句“为什么呢?”没完没了地追问下去,直到老师张口结舌,宣布要回去“查一查”,下次再答复为止。因为老师们总是声称喜欢学生提问,所以尽管被头猛纠缠得火冒三丈,却敢怒而不敢言,不仅当时要装得和颜悦色,说:“你的问题很有价值”,回去还要翻查资料,准备第二天答复她。下课时头猛也不放过老师,歪著小辫儿拧著浓眉,一直问到下一节课上课才恋恋不舍地罢休。后来有的老师一见她举手,身体就有点哆嗦,假装没看见或叫别的同学发言,下课时一闪身,就蹿回了教研室。但这样也不保险,因为头猛还可以追杀到教研室甚至老师的家里。头猛简直成了摧残人民教师的一大公害。后来,头猛又把残害范围扩大到同学和其他班的老师身上,逮著谁问谁。孔子说:“三人行必有我师”,头猛则是“普天之下,莫非我师”。凡是认识她的老师同学,提起头猛,真是哭笑不得。 当然,在作文中可以使用更加高超的方法来吸引老师的目光。比如:人物外貌描写,可以一次集中写,放在作文的开头。也可以随着叙事或故事情节的发展分散去写。但要注意,无论怎样写,写哪些,写多少都必须能为表现人物特点,突出表达中心思想服务。 2、【写动作】高尔基说过,为了使作品具有说服、教育的力量,要尽可能使主人公“多行动、少说话”。这就是强调动作描写是人物描写的中心环节。其实,动作就是人物思想活动的一种表现形式,一定程度上也反映了人物的某种精神品质。如“一路上他又蹦又跳”中的动作描写表现了人物内心的喜悦:“他咬紧牙关,使出浑身力气向前扑去”中的动作描写揭示了人物坚强勇敢的品质等。动作描写时,一定要用词准确、精练。同一个动作可以用很多动词来表示,但只有那些有特色,最能反映人物气质的动词,才能把人写“活”。有一位作家说过,最难的不是写动作,而是写出有特点的动作,从动作中写出人来。 3、【写心理】心理的人物内心的活动,是无声的语言。人物内心世界,指人物内心的喜、哀、乐、忧伤、犹豫、嫉妒、向往等复杂的感情。在写人的文章中,恰当地描写人物心理,可以更有效地刻画人物,突出中心思想。心理描写的要求是:要真实,要有根据;人物的心理变化要自然,合情合理;心理描写要为文章的中心思想服务;在描写人物的心理活动时,要客观、谨慎,不能以己之心,度人之意。 小学生作文时,大多采用第一人称(“我”活“我们”),采用这种人称作文,就不能用“他想”的形式来写人物的心理活动,因为“我”不可能钻到别人的脑子里去看。此时,可以换一种方式——在描写人物的语言、神态、动作上下功夫,这样可能更合情理,使人感到真实可信。 心理描写除了用“我想”之外,还可以采用以下几种方法。 (1)提出问题,引入所想的内容。 (2)使用假设,流露心理活动。 (3)字里行间,流露著“想”。 (4)直接抒发心中所想。 4、【写语言】语言描写有对话和独白两种。 对话是两个人或几个人的谈话;独白是人物的自言自语。语言是人物内心世界的直接表露,对表现人物的思想性格起重要作用。有个性特点的语言可以起到“闻其言,见其人”的作用。语言描写要注意以下两点:一是文章中人物的语言要精心筛选,把那些足以能表现人物的个性特点、最能表现中心思想的语言,写进文章中;二是好的语言描写,一定是符合当时的情景,符合人物的性格、身份、性别、年龄和文化修养等方面的特点。 对话描写有四种形式:说的话写在后面,说话人后面用引号;说的话在前,说话人写在后,用引号、句号;前后各引一句或几句,中间交代谁说的,用逗号;只写人物语言,不写说话人。这四种形式要根据实际需要灵活事业,避免行文死板。 作文怎么写(人物) 我最难忘的人 "难忘的人,难忘的人……"哎呀,这可真难,害得我大脑飞快运转也想不出来.写谁呢 对,就是他了. 他一头乌黑的短发,个头是班里的"海拔第三",胖胖的身子,是家长眼里的小胖墩.虽是个男孩子,却长著一双弯弯的柳叶眉.想起宋丹丹的那一句台词"柳叶弯眉樱桃口,谁见了谁都乐一口."只不过,他十分讨厌自己这双秀眉. 要说他的"光辉事迹"有一箩筐.就说看书吧,他看书十分有特色,那就是一句歇后语"一秒跑完了马拉松——快".说他快,那可名不虚传.记得有一次,他看《三个火枪手》看得十分入神,就像一个机器人似的,目不转睛.看到打斗的情节时,你肯定会听到"杀,杀……加油,加油……"当主人公战斗胜利后,你一定会看到他手舞足蹈起来.有一次,他竟在上活动课时,在教室外面,坐着凳子,认真地看起书来.同学们都把他当成活人雕塑了. 他也是一个追星族.他是周杰伦的铁杆歌迷.对周杰伦的歌如痴,如梦,如醉,仿佛融入了周杰伦的感情世界.在他的眼里,周杰伦的双截棍舞得最酷.《双截棍》的节奏激越,动人心弦.《最后的战役》可以感受到战争的冷酷无情.《七里香》仿佛一首香诗,一阵清风……你瞧,他又在哼周杰伦的歌了"我就是这条龙……". 哈!想知道他是谁吗 她就是我最最熟悉的人——张怡. 怎么写人物作文 写人的作文,就是通过记叙人物的具体活动,来表现人物特点、性格、道德品质、精神风貌及思想感情。要想写好写人的作文,必须学会以下几个方面的技巧、方法。 一、抓住特点。有的同学爱学习、有的同学爱帮助别人,有的同学爱做小手工,有的同学爱吃零食,等等。这“爱学习”“爱帮助别人”“爱做小手工”“爱吃零食”就是这些人的主要特点。写人的作文就是要抓住这些特点,通过特点反映出这个人是什么样的人,有什么样的思想品质,等等。这些特点抓得越准确,事例写得越具体,给读者留下的印象就越深刻。如《胆小的我》,就是抓住了“我”胆小的事,写出了“我”胆小的性格特点。 二、选好事例。写人的文章,也要写事例,通过一个或几个事例来表现出这个人的特点(最好用两、三件事来写一个人)。选择事例时,要选那些能打动人、影响人、感染人,给人印象深刻的事例,也就是要选择典型、新颖的事例。作文时,你第一个想到的事例不要用,第二个想到的事例也不要用,第三个甚至是第四、第五个想到的事例,你用在作文中一般容易吸引人、给人留下深刻的印象。这是因为你容易想到,别人也容易想到,大家都把这样的事写在作文中,作文就成了人云亦云的“大路货”,得不到高分或老师的好评。所选的事例要能充分表现人物的性格和品质。当你读完《胆小的我》后,你对“我”就有了深刻的印象了,作文就成功了。 乡村(人物)作文35o字怎么写 春天到了,油菜花开了。妈妈带着我去乡村外婆家去体会农家生活。 一路上,满眼都是披上金黄色裙子的油菜花小姐和隐藏在绿色中的蚕豆姑娘。乡村里,随处都弥漫着淡淡的清香。这乡村四月真如诗人翁卷所说:“乡村四月闲人少,才了蚕桑又插田。”阳光下,田野里,农民们正辛勤地忙碌著:有的戴着斗笠在锄地;有的为农作物施肥;还有的正推著三轮车运包心菜!多么美好的田园风光画呀! 来到外婆家,我连叫了几声,外婆都没有反应。这时哥哥出来迎接我们,说:“奶奶(我外婆)去做营养胚了!”“营养盘”我一听这话,可乐了,这营养盘就是把各种有营养的东西放在一起吧!那该有多好吃啊,我想得口水都快流出来了。 午饭后,外婆又要去做“营养盘”。妈妈提议:“我们一起去帮忙。”我高兴得跳起来。我们随外婆来到了挺远的一块田里。我疑惑起来:“营养盘”,在田里做,也太不讲卫生了吧!一到田里,外婆就忙开了:一会儿制做,一会儿摆放。“棉花籽嵌在营养盘里面就能很好地生根发芽成长!”听了妈妈的话,我才恍然大悟:营养盘不是什么好吃的东西,而是用上好的泥土做成的利于棉花籽发芽生长的土柱。不过,你也别笑话我,若你到乡村,听说“营养盘”这个名字,一定也会垂涎欲滴的! 作文描写人物怎么写 先要从人物的的相貌外观开始介绍啊 然后就写人物的性格特点用一件具体的事情来表现人物 最好用一些修辞 比喻或是对比什么的都很有效果 还有描写角度也很重要 注重对于人物的语言动作心理还有细节描写 当然咯你可以把正面与侧面结合来表现人物会更好 最后作总结啊 其实写人物是很简单的 作文 描写 人物收入 的作文怎么写 难忘的人,难忘的人……"哎呀,这可真难,害得我大脑飞快运转也想不出来.写谁呢 对,就是他了. 他一头乌黑的短发,个头是班里的"海拔第三",胖胖的身子,是家长眼里的小胖墩.虽是个男孩子,却长著一双弯弯的柳叶眉.想起宋丹丹的那一句台词"柳叶弯眉樱桃口,谁见了谁都乐一口."只不过,他十分讨厌自己这双秀眉. 要说他的"光辉事迹"有一箩筐.就说看书吧,他看书十分有特色,那就是一句歇后语"一秒跑完了马拉松——快".说他快,那可名不虚传.记得有一次,他看《三个火枪手》看得十分入神,就像一个机器人似的,目不转睛.看到打斗的情节时,你肯定会听到"杀,杀……加油,加油……"当主人公战斗胜利后,你一定会看到他手舞足蹈起来.有一次,他竟在上活动课时,在教室外面,坐着凳子,认真地看起书来.同学们都把他当成活人雕塑了. 他也是一个追星族.他是周杰伦的铁杆歌迷.对周杰伦的歌如痴,如梦,如醉,仿佛融入了周杰伦的感情世界.在他的眼里,周杰伦的双截棍舞得最酷.《双截棍》的节奏激越,动人心弦.《最后的战役》可以感受到战争的冷酷无情.《七里香》仿佛一首香诗,一阵清风……你瞧,他又在哼周杰伦的歌了"我就是这条龙……". 哈!想知道他是谁吗 她就是我最最熟悉的人——张怡. 写事作文: 童年的趣事 童年是一条清清的小河,那里有洁白的浪花朵朵;童年是一首歌,在我的记忆中,能让我找到许许多多的欢乐.听到别的同学讲起他们的童年趣事时,我不禁想起我和邻居小菡做的那件傻事. 春节前,小菡的妈妈赵姨买回一件红呢绒褂.赵姨高兴的说:"今年总算添了一件能喝茶的衣服了!"我和小菡听了,都瞪大了一双好奇的眼睛,心想:真奇怪,衣服还能喝茶,真的没听说过,真新奇!再摸摸那件衣服,又厚又软,的确非同一般. 赵姨出去了,我和小菡决定试一下新衣是怎样喝茶的.小菡拿来一大杯茶,我慢慢地倒在新衣服上.嘿!神啦!刚倒下去的水一会就没有了,而且根本看不出溼来."难怪赵姨说它是一件"喝茶的衣服"!"我自言自语地说. 正当我们高兴得直拍手时,赵姨回来了.见我们摆弄她的新衣,忙去收起来.她一摸袖子,溼透了,就问我们是怎么回事.没等我回答,小菡就抢著说:"我们给你的新衣服喝了茶."我接着说:"你不是说这见衣服能喝茶吗 " 赵姨听了,随即笑弯了腰,然后指著小菡的鼻子说:"你们啊!一个比一个笨!" 原来喝茶的衣服是指接待客人穿的漂亮衣服啊!我越来越体会到自己儿时是多么天真,多么可爱啊!也许这是最珍贵的,再也不会有这样的时光.. 写景作文: 美 丽 的 小 花 园 我的家旁边有一个美丽的小花园,虽然它是那样不起眼,但一年四季它都充满著勃勃生机.我总喜欢坐在花园里静静地倾听鸟儿的歌唱,小草的对话,花儿的絮语,叶儿跳舞时发出的"沙沙——"的响声. 春天,当我坐在摇椅上看着花园里的树木时,小草探出小脑袋和我打呼,嫩绿的小叶儿成片成片在枝头上跳舞,还有花姐姐也来了,给生机勃勃的春天增添了亮丽的一笔.桃花如天上云霞,梨花如白云,一些小花也争奇斗艳地开放了. 盛夏,带着"知了——知了"的鸣叫声,伴着鸟儿"叽叽喳喳"的叫声,花儿更多地绽开笑脸.盛夏的骄阳下,还有孩子们的欢声笑语,老人们的津津乐道. 秋天也是花园闪亮的一个季节.当我漫步在小花园,许多竞相开放的花儿跟我说"再见".秋姑娘虽然送走了花儿,但也给小花园带来了黄纱衣.直插云宵的银杏树披上了黄纱衣,小草和叶儿也披上了黄纱衣,到处呈现了金黄.秋天也是丰收的季节.果树结了果,送给大家细细品尝;桂花香传万里,洒下金花做茶做糖.秋的气息多么令人舒畅,它又迎来了寒冷的冬天. 洁白无瑕的冬天无情地把树变得光秃秃的,没有小花小草的争艳,更没了知了和小鸟的歌唱.但冬天只有梅花傲霜挺立,不怕风雪,勇敢坚强. 啊,小花园的四季多美!我爱小花园的四季! 写物作文: 我喜爱小白兔 每当看见大街上卖兔子的小贩挑着的笼子里那一只只活蹦乱跳的小兔子,我心里就泛起一丝喜爱之意,难道只为好玩吗 不,那另有原因. 在三年前,我在大街上一个宠物店里,买了一只刚出生半个月的小兔子,那时我很爱护它,一回家,就将它从窄小的笼子里抱出来,放进一个铺着报纸的,我自认为十分温暖的窝——放牛奶的纸板箱里,任它在里面东跑西跑,我呢,就趴在旁边的小桌子上静静地观察它.只见它长著一身雪白的绒毛,一双红红的眼睛,一条短短的尾巴,前腿长,后退短,走起路来蹦蹦跳跳,像个小绒球,可爱极了.2023-06-13 00:54:241
人物描写作文
人物描写作文1 姥爷做饭时全神贯注。只见他一会儿切菜,一会儿炒菜,嘴里叽里咕噜的,好像在和饭菜说着悄悄话,让它们乖乖听话;忽然他节奏改变,用铲子在锅里飞快地翻炒着……转眼间,厨房里香气四溢,这时,姥爷的手腕突然一抖,食材在空中翻了个“跟斗”,又稳稳地落回锅里。 他像欣赏佳作一样,沉浸在美食的香气中——大约过了半个小时,姥爷终于停止了忙碌,看着自己的“杰作”,微微点点头,夹了一点菜,放进嘴里,脸上露出了满意的微笑。 人物描写作文2 我们班有一个爱看书的“书虫”,她叫潘**。她眼睛炯炯有神,梳着两个小辫子。 她学习努力,成绩优异,考试对她来说是小菜一碟。不过她看书的时候非常专心。每次她妈妈都会给她买书,她就马上拿起书,津津有味地看了起来。有一次下课了,我有道题怎么算也算不出来,我只好去请教她了。我跑了过去,她正在看书呢!我问:“潘**,这道题怎么做呀?”可她没有反应,我又问了一遍,可她还是纹丝不动,我只能去请教别人了。就在这时候,她叫住我,不厌其烦地教了起来。我高兴极了! 人物描写作文3 妈妈每天早上,都要花很长的时间化妆。只见妈妈一会儿抹面霜,一会儿画眉毛,嘴里叽里咕噜的,好像在和镜子里的自己谈论妆容;忽然她眼里闪着满足的光,似乎听到了镜子中的“她”对自己的赞美。梳妆台上的瓶瓶罐罐轮流登场,妈妈的手不停地描画……一刻钟过去了,半小时过去了,妈妈越化越带劲,心情更加愉悦了 。她像忘记了四周一样,完全沉浸在了自己的世界里——大约过了一个小时,妈妈才停下来,对着镜子痴痴地“傻”笑,轻轻吁了一口气,高高兴兴地去上班了。 人物描写作文4 我的小弟弟是个调皮捣蛋的小家伙,他无论走到哪里,都会给我们添上麻烦。 昨天,他来外婆家,看见我在写毛笔字,他也要写毛笔字,舅舅就给他拿了一支毛笔给他写。小弟弟写的脸上和手上都是墨汁,像一只小黑猫一样。舅舅叫他去洗手洗脸,弟弟却玩脸盆里的螺蛳,弄得满地都是。一不小心,弟弟被地上的螺蛳滑了一下,摔了个四脚朝天,像个可爱的小海龟,惹得全家哈哈大笑。 你看我的小弟弟是多么调皮可爱啊! 人物描写作文5 老僧入定般,端坐着,即便是身边同学背书的声音山响,即便是小组成员讨论的热情似火,他都无动于衷地端坐着。面无表情,眼不眨,嘴不动,好似五官拒绝接受外界传来的任何讯息。 课堂上,他表情麻木,一脸冷漠,一切学习活动都绝不参与。主动回答问题,这一概念在他的大脑中还没形成,一旦被老师提问,也是木然站起,要么两眼空洞,要么直勾勾地盯着老师的脸,总之是一言不发,一秒,两秒,三秒,仿佛过了一个世纪,人家还是沉默不语,终于有人耐不住这死寂的气氛,打破僵局,说出答案,而他依旧神游九天,看者心焦,听者无奈,他,麻木不仁。 人物描写作文6 她留着长长的头发,那不可计数的头发总是往下垂。长着一对又黑又浓的眉毛,只要一弯就像两个月牙,那水汪汪的不大不小的眼睛,一张能说会道的嘴,总是教我们歇后语.这些歇后语有时简单有时难。简单的一说出来,同学们就快马加鞭地强大起来,难得有时十几分钟没人答对。真搞不懂她那变化莫测的心思,下个歇后语会出什么。每当下课时,想她会出什么题目。她总是换着衣服,今天黄,明天说不准是绿。真可以说她就是传说中的“衣服王大姐”。这就是我的老师--刘老师。她有时对我和蔼可亲,有时对我发脾气。就像六月的天气说变脸就变脸。 人物描写作文7 我有一位漂亮的妈妈,她的眼睛又大又亮,好像会说话。她的头发又黄又卷,好像外国人一样。 妈妈爱美,所以特别爱打扮。妈妈的头发总是在变化。有时候是黑的,有的时候是黄的,有的时候直直的像柳丝,有的时候弯弯曲曲的像方便面。妈妈最爱穿裙子。夏天,妈妈穿上裙子又漂亮又凉快。在寒冷的冬天,我和爸爸都穿上了厚厚的棉衣,可是妈妈照样穿裙子。我真怕妈妈会冻坏了,可她总说:“不冷不冷。”妈妈喜欢去逛服装店,只要她进了那里就是十头牛也拉不出来。 每次和妈妈走在路上,总有人说这位妈妈真年轻,真漂亮。这时妈妈就会露出美丽的笑容,这时我的心里也甜丝丝的。 人物描写作文8 我们是暑假作文课,第一节课来了好多新同学,组成了一个新集体。 在这个新集体里,钱震桓是我的朋友,他是男生,是理工实小的。 他的脸型是椭圆的,头发是黑黑的,平平的,眉毛是短短的,笑起来像月牙,眼睛看到好吃的就直冒金光,像个宝石,鼻子像座小山,山上有两个山洞。他的耳朵特别大,和我的比的话,大太多了。嘴巴只要嘟起来像一朵在开放的花,牙齿像一个门,破了一个洞,因为他的两个大门牙掉了。 他的身材瘦瘦的",喜欢穿运动服,因为他觉得这样很舒服,他还喜欢健身服。他喜欢蛇,爱好是观察小动物。 最最厉害的是他游泳得过无数的奖牌,我很佩服他。 我们是好朋友,所以我们要互相鼓励。 人物描写作文9 小月打起排球来可是“拼命三郎”呀!她一会儿发球,一会儿垫球,嘴里大声地呐喊,好像声音能带给她无限的能量;她时而眼神中闪着犀利的光,好像要用眼神击败对手。 她把球拍得砰砰直响,脚下不停地移动……一刻钟过去了,半小时过去了,她越打越带劲,情绪更加激动了。她像吃了菠菜的大力水手一样,勇猛无敌,完全沉浸在了排球的世界里——大约过了一个小时,她才停下来。她汗流浃背,气喘吁吁,但是她的心中洋溢着幸福、成功的喜悦。 人物描写作文10 我们班有一位同学十分出色,她叫谢诗佳。 她不仅品德很好,成绩也非常好,考试成绩几乎都是前五名。 她的朗读也很,连我们学校的朗诵老师都点名要她去朗诵班了呢!还有一次,她参加了全国比赛“小金话筒”,在她的努力后入选了比赛,并赢得了冠军! 谢诗佳跳舞也很出色。我记得,在二年级时,谢诗佳参加了开学典礼表演。校长看完后,让她在我们三年级的开学典礼上再次表演。三年级开学典礼的表演时,因为她表演的好,音乐老师激动地边哭边抱怨我们的班主任老师,为什么不提醒她带一包纸巾…… 谢诗佳真是品学兼优的学生,我要向她学习。 人物描写作文11 我熟悉的人有很多很多,但是我最熟悉的人就是我的爷爷了。 爷爷常常身穿夹克衫,头戴草帽,脚踏草鞋……他平时不爱发脾气,不过要是发起脾气来的话,可厉害了。他非常爱劳动,只要他一有时间就马上想田里有什么活没有干,接着直奔田里津津有味地干起活来。 爷爷的优、缺点虽然不是很多,但他有一个很严重的缺点,就是爱抽香烟。我曾劝爷爷很多次,可他就是不听。爷爷也有许多优点,勤俭、节约、乐于助人等等。 爷爷虽然有缺点,但每个人都不可能是十全十美的,所以我还是很爱我的爷爷的。 人物描写作文12 我有一个调皮又可爱的弟弟,他爱设陷阱来捉弄人。 一天,他把我的小熊放在门的上面,弟弟把电视机的声音开得很大,我大喊声音小点,我冲进屋里。咣!!的一声我被炸了一下,我很生气,向前走了一不,谁知前面有一条绳子拴在凳子和桌子中间,砰地一声!!我被绳子弄到了W.W~~~怒气冲冲的走向弟弟,我轻蔑的一笑,弟弟开始发抖。“绕我一命吧~~”(*^__^*) 嘻嘻……还是杀手锏厉害,弟弟也用杀手锏,立刻跑了,( ⊙o⊙ )哇!比兔子还快。 我在我的房间里也设了陷阱,(*^__^*) 嘻嘻……他跑不掉了。弟弟在门外眨巴着大眼睛求情,我一开门,咣~~~又被炸了,一回来,又被弄到了。 嗨!!还是斗不过弟弟。 人物描写作文13 任老师有一双明亮又会说话的眼睛。 有一次上课的时候,我不由自主地把小飞机拿出来玩儿,不料被任老师看见了。她用严厉的目光望着我,好像在说:“你手里拿着什么呢?”我明白了老师的意思,赶紧把小飞机收起来,重新专心听讲。 还有一次,下课的时候,我看见地上有张废纸,就随手拣起来扔到簸箕里。当时,教室里没人,谁也不知道这是我干的。过了一会儿,上课了,老师发现地上的纸没有了,很奇怪,我一边笑,一边看着老师。老师发觉了,眼睛弯得月牙似的,微笑着把目光投射到我身上。 老师的眼睛像一面镜子,能够照出我们一丝一毫的过错。老师的眼睛又像妈妈的眼睛一样,充满了对我们的关心和慈爱。 人物描写作文14 我妈妈今年34岁了,她留着长长的头发。她在政府的审批中心工作,电脑打字的技术很厉害。 平时妈妈在家里最忙,爸爸当警察工作忙,经常没有回家,过年后保姆走了,妈妈就要做洗碗、洗衣服、做饭等很多家务活。妈妈对我的学习要求很严格,只要一个字的笔画没有写整齐,她让我擦掉重写。当我做事动作慢时,她就会给计算时间,让我快一点。我的妈妈是个善良的妈妈,很大方,我要什么她就给我什么。有一个这样的妈妈真好。 人物描写作文15 我的妈妈中等个子,身材有点瘦,一双迷人的小眼睛,一笑起来就眯成了一条缝。妈妈平时很朴素,她不喜欢化妆,因为,她觉得化妆对皮肤不好。 妈妈有时候很温柔,但我不听话的时候,她就会很凶,我知道,这都是为我好,所以,我也不会生气。 妈妈平时很辛苦,她每天要上班,还要为我做早餐,照顾我。等我长大了,我一定要好好的孝顺妈妈。 妈妈我爱您。2023-06-13 00:54:361
用告诉和告诫造句
这个秘密是小明告诉我的。老师多次告诫你不要这样去做,你就是不听。2023-06-13 00:54:374
人物的作文
在日常学习、工作或生活中,说到作文,大家肯定都不陌生吧,写作文可以锻炼我们的独处习惯,让自己的心静下来,思考自己未来的方向。一篇什么样的作文才能称之为优秀作文呢?以下是我整理的人物的作文,仅供参考,欢迎大家阅读。 人物的作文1 啊!她是外国人吗:瞧那双深邃的大眼睛,额前有些褐色的微卷留嗨,我们都说,她长得像阿拉伯人。 她,是个要强的女孩,每每个课的时候都见她在座位上奋笔疾书,戴着,或是卸下那副看上去似乎很沉的圆框眼镜,懒懒的挂在鼻梁上或是让它随意趟在敞开的眼镜盒里。她不很在意这些,只是专注于眼睛睁的更大,一轮一轮的轻转,领会的看着你,或是久久的盯着你整理着她的思路。然后有些厚的唇向上一扬,耷下一点那四层的眼皮,像是轻松了许多呢,小跑跳着回去,或是和你随意的聊起来。 她,也是个单纯的女孩,不怎么在意生活,跟她聊起生活的一些小事时,她总是不太清楚,纯真又急切的询问着。她不刻意改变说话的方式,又总是那么敏感对朋友的每一句话,她觉得说错了,整下下午不时唤着你,想说似又说不出口,有些闷闷的样子。她就是很随意表现出她的个性,似有些慌慌张张,却最能马上安静自己的心,只是她慌张而急切的要和另一位课代表抢任务,她想多干,她想干好自己的一切。 她的个头不高,是教室的一二排,但她有很强的体育能力,会打排球,羽毛球,也有很好的长跑素质,一个马尾辫用粉色头绳扎了,随意搭在后肩。 她单纯却明白着,也无忧无虑的快乐着。她总是聪“惠”,她总是谦虚的把学习中的一切当恩惠,她就那样沉默而快乐的“承惠”。 人物的作文2 说起我们班的同学,可真是各有特色!下面请听我为大家介绍几个吧! 先说我们班的语文课代表吧!她,个子高高的,一条又长又粗的马尾辫在脑后晃来晃去,再加上一双水汪汪的大眼睛,可爱极了。她对工作极其负责,学习成绩也很好,唯一的缺点就是上课不爱举手发言。有一次,老师提出了一个问题,让她回答。虽然她没有举手,可是她还是答对了问题,下课后,老师教育了她一通。 再说我班的“数学尖子”吧。他大大的脑袋,长长的脸,一双炯炯有神的眼睛,眉毛很浓。这样称呼他一点也不夸张。下课后,他总是捧着一些数学难题想方设法地攻克。还记得有一次,老师给我们出了一题奥数题。很多同学都想不出个解题方法,纷纷弃权。只有他刻苦钻研,终于做出了那道题。 “你这该死的温柔……”一阵悦耳的歌声传入我们的耳中。哦!原来是“歌唱家”正在为大家演唱歌曲呢,她一直是班中的文艺骨干,她那甜美的歌声又为我班增添了一丝色彩。 “快!抢篮板!好!快攻!”哎,我班的“篮球王”又开始“发疯”了。虽然他痴迷于篮球,可他对篮球也只是一知半解。但他还不知道天高地厚地自称“球王”。上次学校篮球比赛时,还充当我们球队的主力队员,结果我班输得一败涂地。 …… 我们班的同学就是这样…… 人物的作文3 爸爸长着浓浓的眉毛,一双炯炯有神的大眼睛总是闪着严厉的目光。可能是因为长期从事脑力劳动的原因,额头上那深深的皱纹和他不到四十岁的年龄很相称。 爸爸两眼盯着我的“三好奖状”,站立在那里出神,好像在看着一件价值连城的宝物。 此时,伯父的面孔十分严肃,简直像生铁铸成的。 哥哥的眼睛高度近视,处处离不开眼镜,就像个“睁眼瞎子”一样,只要把他的眼镜摘下来,在我面前他就像绵羊一样服服帖帖。一天下午,哥哥要洗头了。他吩咐我给他拿肥皂换水。我得意地想:哼!我先给你跑跑腿,然后再治你。一会儿,哥哥伸长了脖子,把肥皂沫打得满头满脸都是。我一看时机到了,就悄悄地把哥哥的盆拿走了。哥哥搓完后去洗头,一捧水,捧了个空。他忙去找,可刚一睁眼,肥皂沫就杀得他直流眼泪。他像盲人摸路一样,东摸摸,西摸摸,好容易才摸起了毛巾,把眼一擦,可眼睛还是模糊的,就去找他的眼镜。 观众的目光,像无数条探照灯的光柱,紧紧地追逐着正在表演的武术运动员。 她的脸一下子红到了耳根,仿佛做了什么不道德的事情似的。 她脸儿红得像熟透了的山柿子,忙低下头去,不敢再看我一眼。 她是个不经夸的人,这时脸红得简直像墙上贴的对联纸。 妹妹今年十岁,读小学三年级。她那红扑扑的脸蛋上,一双水灵灵的大眼睛适着聪明伶俐的神色。乌黑的头发下,两条弯弯的眉毛,像那月牙儿。她那一排雪白的牙齿当中,缺了颗门牙,一笑起来,就成了个豁牙巴,十分逗人喜欢。 人物的作文4 初次见面,我对他的印象印象并不大。 最近小区的小下水道好像出了问题,每天上学放学的路上,总会看到有一群人围在路上挖的一个深坑旁,各忙各自的。 好不容易忙完这边,那边的下水道好像又出了问题,一行人又匆匆跑到那边去砸了个坑。 “沙沙沙”,雨淅沥沥的下着,雨清洗着污垢,冲去了尘埃,也将街道上的人们冲散开来,冷清的道路上,几朵颜色各异的大花相继走过,也不去在意他人。 坑旁,大伞下,一个身影依旧忙碌着,雨点斜斜地打在身影的背上,洗去了其他人的身影,填起了其他人的脚印。 豆大的水珠从黑中藏白的发丝中流过,顺着皱巴巴的脸颊,滴落下来。有着历史印记的双手此刻却又被下水道弄上了印痕,工作还没有多久,他又站直,挺了挺腰,叹了口气,像是在感叹自己老了。可休息还没一会儿,他又埋头干起来。 慢慢的,雨水已经将他背后上的衣服打湿,可他好像浑然不知,又或者知道了,却并不在意,依然蹲着身,沉迷工作。额头上的水珠依然在往下流,只是不知,那是雨水,还是汗水,也有可能两者都有吧! 雨天过后是太阳。在晴天里,深坑边可就热闹了。伞还是在那里立着,将余音留给人们。几人在坑边有说有笑,遇上熟的人,还站起说两句。过往的行人见到了,也伸出脑袋好奇一下。热闹的气氛围绕在坑旁。可他还是忙着,手没有停住,偶尔也直起身休息一下,尽自己的职责,努力修补着下水道出现的毛病。 雨依然淅淅沥沥地下着,坑边,那道身影一刻不停的忙碌着。 人物的作文5 世界上的名人有很多,有足球类的明星;歌舞类的明星;演戏类的明星……但在我身边也有个“名人”。 她长着一头浓密的短发,乌黑的头发中有几缕白发,前额上有一丝皱纹,衣着朴素,却不失淡雅。她,就是我的外婆。 她很乐于助人。记得有一次,我去她家时,她正在做家务。 “来了,孙女!”她热情地说道。 “嗯,婆婆好!”我亲切地说道。 “这天想吃什么菜?” “嗨!下午帮我接下孩子能够吗?”我刚想说话,却被邻居打断,“嗯!”婆婆爽快地回答。 “谢谢啊!”邻居高兴地说。 “婆婆,您为什么要答应帮她接孩子,你下午本能够睡会儿觉的。” “没关系,生命在于运动,多走走没事的,你此刻帮忙人家做些力所能及的小事,到时候你有什么事情请人家帮忙,人家也会帮忙你的,人与人之间是相互的。”婆婆意味深长地说。 “我明白了。”我若有所悟地说。 还有一次,当我去外婆家时,看到外婆不在家,“奇怪了?外婆呢?”我十分疑惑,忽然听见隔壁传来小孩子的嬉笑声,“看!这部动画片多好玩呀!”是外婆的声音!我急忙走到门口敲了敲门,“哟!咱家孙女回来了!”外婆乐呵呵的笑着,“您——怎样不在家里。” “我帮这家带下孩子,主人出去不在,过一会儿才回来。”天呐!又是帮人家带孩子,这就应是第无数次了吧!外婆你太…… 我的外婆不仅仅外貌整齐,更有一颗乐于助人的心。她就是我身边的“名人”。 人物的作文6 我有一个好朋友叫赖嘉濠,就坐在我后面。他长得比我高,身材均匀适当,一张充满帅气的脸,真是一个帅小伙! 赖嘉濠的学习成绩在班上算中等,但他很有志向,想有好成绩,想考名牌中学。他很谦虚,经常问我问题,毕竟我也不是老师,也不知道怎么向他讲解,但我能帮他的我就尽量帮,不能的我就没办法了。近来,他的成绩突然变得好起来,真叫人不可思议,也许是他暗暗努力的结果吧。 在生活上,他可是一个“小老大”,有很多人喜欢跟着他玩。赖嘉濠足球和篮球都打得好,他为人很大方,又很友善,一直都很讲道理,对老师长辈也很尊敬,很有礼貌,所有他的人气旺。记得那次我满12岁的生日,我请了赖嘉濠吃了一顿饭,回家后妈妈就说,赖嘉濠在吃饭时很讲礼貌,是个懂事明理的孩子,她很喜欢那个孩子。我听说了妈妈对他的赞扬,感觉真高兴。 我和赖嘉濠成为好朋友的经历说起来很简单,记得在4年级的一天,赖嘉濠对我说:“谭彦哲,在我心目中,只把你和樊耀洋看成好朋友,其他人只看做同学。”听了以后,我高兴的不得了,我和他的关系以“掩耳不及迅雷之势”,从普通朋友变成了好朋友。从此我便经常在一起玩,这个学期我们坐到了一起,是我们的缘分,也有可能是上天给我们的最后一学期的好运。 我们要珍惜这个机会,一起努力,取得优异的成绩。 人物的作文7 我们班有一个啰嗦大王,不管是上课还是课间,他都很闹。有一天他在我们上语文课时,老师刚刚讲到重点,他就开始和其他同学讲笑话,叽叽喳喳地,特别吵,弄得全班不得安宁。当老师转身后,他又立马坐正,装作若无其事的样子,实在是太“机智”了! 当我们以为今天这节课上他不会再讲话时,他又讲了起话,但这回他就没有这么的幸运了。老师一个转身就发现了他,他被老师叫到了教室最后排罚站,和他一起说话的人也叫到了后面。可是他们又开始说悄悄话了。更是越聊越起劲,像一个大喇叭一样,停都不停一下。 老师最后实在没有办法,只好让他们两个站得间隔远一点,可谁知道他们那竟然扔纸条来聊。老师真的生气了,把他拎进了办公室,让他们俩连面都不能见,可是这一番折腾下来,就已经下课了,他们又“重聚”了。 这一次把老师气得“七窍生烟”,可后来的一次就更过分了。 那次是在数学公开课上,他竟当着副校长的面爬来爬去,爬到了另一个人的桌子旁边,开始了他的常规操作,老师竟然还没有发现教室里的课桌上少了一个人。 事后直到有同学告状了,老师才知道。老师满脸通红,气势汹汹地把他叫进了办公室训话。还有几个同学,在办公室的门口看戏,他还在办公室里满不在乎地笑。老师语重心长地教育他:以后不能再这样了,他也不听。老师还打电话给他的家长,没想到没打通,老师只好让自己打电话给家长说明情况,可他的家长的电话过了半个小时也没反应。把数学老师也整没法子了,只好去叫了班主任说要去家访,这件事才算告一段落了。 这是我们班那令人头疼的“啰嗦大王”。 人物的作文8 小眼镜,竖鼻子,刺猬头,一个浅红色的嘴唇总带着微笑。要问他是谁,当然是老任啦! 要说他啊,眼镜小、手掌小、个子更小,我们班的小个子排名,他就在我前两位。在队伍中,他只能艰难地探出脑袋,或者伸出双手,以此证明,我还在队伍中。要是学校弄出来个“三小学生”,他绝对在内。 虽然他个子小,却创造了大能量。 这学期,我们班七手八脚搞出来了个“男生女生大PK”。这一重大消息,让全班的人都沸腾了,但女生是自信地沸腾,而男生……是紧张地沸腾。 吴姥姥看大家状态不对,高声问道:“比不比?” “比!”女生们用坚定不移的口吻说到。他们似乎早已习惯了比赛的胜利。 “叽里呱啦……”男生群里的声音混乱无比,就连士可杀不可辱的我,也只是硬着头皮叫了一声“比”,心里的退堂鼓一直在响。 “比!”此时,一个如巨浪一般的"声音,将男生们的“混乱音”迎面扑灭。男生们齐刷刷地望向声音的来源,那里站着一个戴眼镜的小个子男生,没错,他就是老任。 这一叫,就像一块打火石,擦出了我们体内男子气概的火花。“我们为什么要怕女生?”男子气概的火花越烧越大,最后成为了一片火海。 “堂堂大男儿,竟然输给女孩子,丢脸!”老任坚定不移的目光盯着男生们。男生们下意识攥紧了拳头,眼里冒出了必胜的光芒。 “宁可站着输,不可跪着死!”这一信念在男生们的心中播下了种子。 “比,谁怕谁!”叫声中老任立在中央。这时,他不再是那个小个子小任,他是我们的首领,带着我们,向前进…… 人物的作文9 我的爸爸长着一张笑脸,平时脸上总是带着自然的微笑,开心了会哈哈大笑,伤心的时候会哭笑不得,就连生气时都是带着笑的模样,所以我也是乐天派,每天都乐呵呵的。 我和爸爸是好朋友。我俩在一起时总是没大没小,我会坐在他的肚子上跟他打闹,他会把我按在地上使劲挠我咯吱窝,我们每天晚上一起享受各看各书的时光,一有新上映的电影我们就迫不及待的去买票……爸爸最喜欢带我去“探险”。有一次,爸爸神秘的跟我说“我带你去森林探险吧?”我有点害怕,最后还是带着期待和疑惑跟着爸爸走。爸爸带我来到一片黑漆漆的森林,跟我说:“这个森林里有5个小怪兽,他们是邪恶、懦弱、灰暗、害怕和孤独,我们要找到它们,再去战胜他们!”一路上,虽然我很累,有时想耍赖让爸爸背我走,但爸爸一直和我有说有笑,变着法的鼓励我,我们最终把“5个小怪兽”全都找到,也战胜了他们! 当然,爸爸可不是只会和我闹着玩,他也很注重我的学习。爸爸是个书虫,特别喜欢买书,我们家的书柜早就摆不下了,床上都堆满了他的书。受他的影响我也喜欢买书和读书。爸爸的历史很好,他每次给我读历史故事时,还会扩充很多他脑子里的历史故事。他还会给我讲数学题。有一次我有数学题做不出来,妈妈给我讲的已经没有耐心了,爸爸出现了,才解决了这个问题。 这就是我爸爸,一位可爱的爸爸,我很想抱抱他。 人物的作文10 今天,我想给大家介绍我身边的卡通的人物。 美羊羊 美羊羊特别爱美,头上会戴着一个发卡,我的姐姐和它如出一辙。一大早。她就来到镜子前臭美,拿起梳子,左梳梳,右梳梳,就像金丝雀在梳理它的羽毛,总是梳个没完。我也想照镜子,可是姐姐却把我推开,我不服气地说:“凭什么,让你照不让我照!”姐姐满不在乎地说:“男孩子照什么镜子。”出门的时候,她也会在头发上多放几个发卡,你看我的姐姐是不是一个活脱脱的美羊羊呢? 肥波 肥波是熊出没里的猫。它特别懒,也特别好吃,我的哥哥就是这样的人。一次,我和他出去吃饭。他一走进店里就聚精会神地看着菜单,一点就点一大堆,我们根本就吃不完。终于上菜了,他拿起筷子狼吞虎咽地吃起来,嘴里的食物还没有咽下去,另外一种菜又塞进了嘴里,嘴巴被撑得鼓鼓的,就像快要爆炸的气球。 大白 大白是个温暖的卡通人物,也很温柔。我的妈妈就是这样。有一次,我考试没考好,怕妈妈打我。可是妈妈看到我的卷子后,并没有暴跳如雷,而是温柔地对我说:“这次没有考好,下次努力。”她又指着我的错题说:“这些题目不应该错,要仔细一点。”我听了,眼泪一下子就流出来了。 这就是我身边的卡通人物,你也来介绍一下吧! 人物的作文11 彩笔、铅笔、毛笔在肖雅琳手中像一只只神笔,画出了公主,画出了王子,画出了一个美丽的世界。 瞧,肖雅琳又拿出了她的图画簿。这里面有米奇,有唐老鸭,还有许多同学们喜爱的卡通人物。这些在别人眼里看起来那么复杂的东西,她都能非常快速地画出来,还可以保证它们可爱的形象。 她拿起了铅笔,画出了城堡的草图,再拿起彩笔,画出了美丽的城堡。咦,怎么城堡有的地方太深,有的地方太浅,颜色有些太怪了,画坏了吧?没关系!她又拿起了毛笔,在纸上轻轻地刷几下。哈,好了!看,颜色多均匀,多鲜艳啊!那些如同一只只神笔,又划了几下,王子和公主一起登上这漂亮的城堡了! 每当肖雅琳花完一幅画后总会仔细检查,看哪里画得不好。当把一幅画完全画完,达到她的标准时,她就会常呼出一口气,笑眯眯地欣赏自己的画。如果一时想不出怎么修改才能达到标准就继续想,直到想出办法为止。她一直这么认真地对待自己的画。如果她实在是没有办法把画改好,就果断地重新画一张,而原来的失败品则留在那儿,告诉自己:我不能再犯同样的错误了! 有的时候,肖雅琳还让别人往她的本子上画画,她在一旁观看,看别人绘画的方式,再把精华融入自己的画里。她的画是给自己和同学们看的,所以她从不炫耀。 肖雅琳的画技像一颗宝石,又用谦虚镶边,用微笑做名片,使它更加光彩夺目。 我不仅在心底为她暗暗喝彩,同时推荐她为“雏鹰争章”活动中“绘画奖”的得主! 这篇文章小作者 构思巧妙,看似在写肖雅琳的画,实则是从肖雅琳的画中体现出她的绘画技艺高超、为人谦虚低调的优秀品质。本文语言优美准确,描写具体形象,真是一篇不错的文章。 人物的作文12 哈,要说起谁能得表演章,那就非我的好朋友——叶璟莫属了。 她呀,可爱表演了!叶璟身材娇小玲珑,跳起舞来如同翩翩起舞的蝴蝶,她曾在少年宫学跳拉丁舞,还获得铜、银牌呢!叶璟不仅跳舞好,唱歌也很好呢!只要她一唱起歌来,就如痴如醉。她还在学校报了合唱呢! 有一次,“六一”儿童节到了,一个节目就是合唱,叶璟她也在里面。歌声响起,叶璟那嘹亮而又动听的歌声是全场的焦点,她一会儿唱得如高山流水,一会儿又如梦中鸟鸣、如云淡风轻、如急风骤雨!听着听着,我就入迷了。等结束了,我还沉浸在她优美的声音中。“功夫不负有心人”在两次比赛中,叶璟用自己最动听的声音比赛,分别获得了“鼓励奖”、“二等奖”!另外,她在合唱队里可努力了,唱一首歌,练了很长时间,老师都说很好了,可以休息了,但她还是坚持练习。说了这么多关于叶璟唱歌的事例,现在该说说她的跳舞经历了。有一次,我到她家玩,她正在练习跳舞。我就对她说:“给我表演一段吧!”她毫不犹豫地答应了。她放起了音乐,那优美的身影一会到这儿,一会到那儿,小手浑洒自如,往前,往后,练得滚瓜烂熟,一双腿又细又长,可灵活了!跳舞结束了,她摆了一个POSE。那样子,简直就是一个小公主。我还看到有一本专门是叶璟表演的相册,心想;她现在所取得的成就,都是她用一点一滴的汗水换来的,有一句俗话说得好:“台上一分钟,台下十年功。”我为她的表演艺术而喝彩。作文 人物的作文13 我们班是一个团结向上的班级,是一个群英荟萃的班级,是一个藏龙卧虎的班级,更是一个精英聚集的班级。下面就听我介绍给大家吧。 “小书迷”王海龙 我们班的王海龙是个十足的小书迷,他每天都要看书,每时每刻都在看书,你每天都会看到他在看书,仿佛不看书,他就会很难受似的。 有一次放学时,他还在看书,只见他小寸头,戴着黑边眼镜,手托着腮帮,黑边眼镜下的两眼放光,一会眉头紧皱,一会撅着小嘴,一会又眉开眼笑。他完全漫游在书的海洋。看呀,看呀,直到他的肚子像一个小闹钟一样不停地叫着他时,他才发觉到同学们都站好队去吃饭了。真是个小书迷! “跑步健将”王兆龙 王兆龙在我们班是跑步最快的一个,在跑步的时候,他身体里的每一个运动细胞似乎都在工作。 记得在上学期的运动会上,男生要跑接力比赛,他是男生队的主力队员,他迅速地组织好男生,然后自己担当最后一棒。比赛开始了,王兆龙在起跑线上等待着队友的到来,他伸着手,弓着腰,瞪着眼,死死地紧盯着接力棒,时刻准备着他的那一棒,到他时,他像一匹脱缰的野马一样向前冲去,他那轻巧的身姿像在云中飘一般,显得是那样的轻盈。 “礼貌标兵”李云丹 李云丹很讲礼貌,不管是遇到老师,还是遇到家长,他都会问声好或者行少先队礼。 有一次,住宿生站队回家,来到楼梯口,有一位老奶奶在那里,其他同学都不理不睬,只有李云丹行了个少先队礼,老奶奶乐呵呵地走了。 这就是我们班的精英们!想知道更多的精英吗?那就到我们班来看看吧! 人物的作文14 “今天中午的作业,你没交,体育课留在班上补写!”老师板着脸严肃地对我说。 这是发生在二年级时令我伤心的一件事。 那天上午放学时,老师布置了一项作业,我按时在下午上课前交给了组长。 谁知,到了最后一节体育课,遭殃的事情却发生了,老师点名批评我没有交,不但不能去上体育课,而且还得留在班里补写。我一听,感到非常的委屈,心想:“为了写好这篇,我中午都没有休息,下午一到学校就交上去了啊!”但我不敢说,怕老师不相信,误认为我是撒谎的坏孩子,所以就只能忍气吞声,硬着头皮回到座位上,含着眼泪伤心地写已经交上去的。 平时,我是最爱上体育课的了,可现在同学们都在操场上高兴地上体育课,我却跟关在笼子里的小鸟一样闷在空荡荡的教室里…。 等写完交上去了,体育课也下课了,也就是要放学了,我眼巴巴地看着教室门口,盼望爸爸快点来为我解围,可爸爸一来,老师却就叫我向爸爸认错。 面对爸爸严厉的眼光,我不知道该怎么说,只想大哭一场。 就在这时,旁边的黄东毅大声为我作证:“何宇晖有交作业啊!”,林千卉也紧跟着说:“我也看到了,他是用有格子的纸写的!” 老师一听,便转过头来温和地对我说:“对不起,我误会你了!” 我鼻根一酸,眼泪差点夺眶而出,但我竭力忍住了,爸爸摸摸我的头,慈爱地说:“老师对你要求严格是好事”,可我却又想大哭一场。 人物的作文15 她,大大咧咧,爱说爱笑。大家最熟悉的她的表情:咧开嘴巴,露出标志性的兔牙,温暖的笑容使唇畔生花。她,时不时会幽默一下,使大家在高三烦躁的学习生活中获得快乐。有同学这样说过,“没有哪天听不到戴秋萍的笑声,除非她病了。” 就是这样一个乐观幽默的女孩,带给了我们欢乐和帮助。 她,拾金不昧,是年级中的“捡钱专业户”。曾拾到三百多元现金和证件等的她总是在无人知晓的情况下主动上交,成为了老师表扬的典型。 她,乐于助人,是同学口中亲切的“秋萍姐姐”。天气降温,她会唠叨大家多穿衣服;流感爆发,她会张罗体温计、药、水,一应俱全;同学生病,她会主动陪护去医院,忙上忙下。对于大家的感谢,也只是笑着摆摆手,“这没什么。” 她,身为副班长兼纪律委员,班级工作认真负责,井井有条,是老师的好帮手。她可以较好组织起班级的学习氛围,让大家在安静中刻苦;同学发生矛盾,她总会迎上一张笑意盈盈的脸,调解好同学间的关系。我们班运动会,广播操取得的辉煌成绩,和她的热情组织是分不开的。课余生活,她同样积极主动。运动赛场上,她奋力奔跑的身影,为同学摇旗呐喊的声音始终留在大家的脑海中。大扫除时,她不怕脏不怕累的精神同样令我们感动。拖把弄不干时,她会选择用自己的双手拧干而从不抱怨……一幕幕发生在我们周围的场景,令我们感动! 戴秋萍,这个快乐的女孩,愿她的快乐能够感动你我,愿我们在快乐中学习、进步!2023-06-13 00:54:431
用告诉和告诫造句
1 王芳告诉小刚:“老师让你到办公室去.” 2 老师告诫王林不要违犯课堂纪律.2023-06-13 00:54:441
描写人物 事物的作文
我最熟悉的一个人 是她滋润着我们这些娇嫩的祖国之花,她就像辛勤的园丁一样,哺育我们成长,传授我们知识.她,中等身材,有一头棕色的卷发,洁白的瓜子脸,高高的鼻梁上架着一副眼镜,罩着她那双沉稳得来又明亮的眼睛。还有一张能说会道的巧嘴以及一对灵敏的耳朵。她平易进人,上课非常认真。讲课时,她常把难题用生活中的事例或者一些历史故事来分析给我们听,让我们一边听故事一边学知识,使我百听不厌。 有一次,有位同学在课堂上讲悄悄话,被她发现了。那时她正面对着黑板写字,我不知道她是怎样发现的,可能是她的耳朵真的像顺风耳一样吧。那位同学被她罚站了,可我看得出那位同学很不情愿站起来,是啊,有谁又想被老师批评呢!但面对着她,他还是无奈地站了起来。无时无刻,都是她昼夜不停地为我们操心:深夜里,我们已经进入了甜美的梦乡,而她却在皎洁的月光下,微微的灯光下为我们批改作业;白天,她又站在讲台上,引领我们进入知识的海洋,在知识的海洋里遨游。她认真地去把每一粒种子传播给我们,并让它发芽、开花、结果,结出一堆硕大、饱满、甜美的果实……她是谁,不用说你们已经知道,她就是我们最敬佩、最熟悉的人——老师。在我心灵深处 在我心灵深处,有一份爱,时时刻刻给予我温暖。 那是在一个雨天。大雨滂沱,晶莹的水珠都打砸在窗子上“啪啪”作响,时不时传来震耳欲聋的雷声。我想着:糟了,我没带伞,妈妈又带了弟弟到广州去看病,我怎么回家啊! 同学们陆陆续续地被家长接走了。雨越下越大,如水柱一般从天而降,阵势惊人!我就像热锅上的蚂蚁,急得团团转。 过来一会儿,大部分同学们都走了,只有我急促的呼吸声回响在耳边。天快黑了,雨还没有停,我的心中充满了恐惧,背起书包就像校门外跑去。我的心似乎随着鼓点“咚咚”跳个不停,只想快些到家。雨水把地面冲得坑坑洼洼的。跑着跑着,我一脚就踩进了水里,“扑通"一声摔倒了,腿不停地在流血,还溅了一身的污泥。又爱笑的我“哇哇”地哭了起来。 这时,有一个人奔了过来,轻轻地问我:”小朋友,你怎么了?“我抬起头一看,原来是妈妈!我马上停止了哭泣,用力地搂住妈妈。妈妈洁白的衣服被我弄得脏兮兮的。然后,妈妈帮我拍拍泥水,把我扶了起来,她晶莹的泪珠挂在了腮边,对着我温柔地说:“孩子,我们回家吧,妈妈给你包扎伤口。”一下子,我的心充满温暖。妈妈不顾劳苦地把我背回了家。 以前,我总以为妈妈经常打我,是在怪责我,但我知道那也是一种爱,因为妈妈很希望我成材,所以我要把这份沉甸甸的爱小心翼翼地藏在心里,让我永远珍惜人间最美好的爱!我的傻瓜妈妈 我的妈妈是我们家的家庭“煮”妇,她还是一个大傻瓜,经常做错事。 记得有一次,妈妈一边烧菜一边看书。她看得入了迷,把菜给忘了,菜都烧焦了。后来,她还把盐、糖、酱油、醋都调换了。那回,我跟爸爸可要受罪,这菜酸甜苦辣咸味都有。可妈妈还是吃得津津有味。还有一次,妈妈出去买油,我让妈妈顺便帮我买一本50多元的《走进名人的背后》。谁知妈妈买完东西后,却在商店里跟她的朋友聊天,一聊就是一小时,竟把付了钱的油和书放在了地面,两手空空地回来,自己还不知道发生了什么事呢!可把我给气死了!再有一次,妈妈要到街市去买菜,但起来晚了,随随便便把头发绑好、把衣服穿好了,就匆匆忙忙地骑着自行车“飞”向市场。这时,爸爸走出来说:“不用10秒,她肯定会回来的。”我有点疑惑:妈妈不是出去了吗,为什么爸爸会那么肯定呢?但我还是在心里暗暗地数了10下,妈妈真的在我数到10的时候骑着自行车回来了,我仔细一看,原来妈妈穿鸳鸯鞋了!我捧腹大笑,妈妈也笑了起来:“我真是太笨了,怎会连鞋都穿不好呢!”于是妈妈赶快把鞋子换了,又开始向市场冲去…… 虽然我的妈妈很笨很傻,可是,我非常喜欢我的傻瓜妈妈,我比世界上任何一个人都要爱她。2023-06-13 00:54:532
告诫的近义词是什么
1、警戒:[jǐng jiè] 警惕防备。2、劝告:[quàn gào] 为让人听取建议、更正错误而用道理劝服。3、警告:[jǐng gào] 提醒劝诫,使防备。4、告诫的造句:(1)老师常常告诫我们,骄傲使人落后。(2)他语重心长地告诫我要好好学习。2023-06-13 00:54:581
用告诉和告诫造句
1王芳告诉小刚:“老师让你到办公室去。”2老师告诫王林不要违犯课堂纪律。2023-06-13 00:55:122
告诫的近义词
告诫的近义词包括:申饬、警戒、劝诫、劝告、警告等词语。1、申饬 [ shēn chì ] 告诫。2、警戒 [ jǐng jiè ] 使人注意改正错误。3、劝诫 [ quàn jiè ] 劝告人改正缺点错误,警惕未来。如:他把我当成亲兄弟一样,时时劝诫我,帮助我。 扩展资料告诫的反义词是什么:与告诫一词含义相反的词语有:听任、放任等。1、听任 [ tīng rèn ] 听凭。2、放任 [ fàng rèn ] 听其自然,不加约束或干涉。如:对错误的行为不能放任不管。告诫造句1、人们告诫他不要做坏事.2、分手时,他告诫我,切不可把今晚的谈话说出去.3、青年篮球赛中的不文明行为再次告诫我们,在运动队中,思想政治工作要得紧而又紧、实而又实,万万不可松懈.4、母蛇听说公蛇被杀,十分悲痛,从此躲在很深的岩洞里,不敢轻易出来,还经常告诫子孙,不要再冒险过海。5、他告诫那些疯狂的足球迷们改变那种捣蛋的做法。6、妈妈常告诫我:平时要多读书。7、人类的.全部历史都告诫有智慧的人,不要笃信时运,而应坚信思想。2023-06-13 00:55:191
用小心翼翼,依依不舍,告诫这三个词语连起来造句,200字左右
你自己去想2023-06-13 00:55:322
用实践......告诫......造句
这次的实践活动告诫我们一定要保护环境2023-06-13 00:55:592
用告诫,碰钉子怎么造句
家里的长辈经常告诫我,如果该学习的时候不学习,长大了就会碰钉子。2023-06-13 00:54:182
人物描写作文男生
1. 描写人物形象,男生 兴奋和激动如同决了堤的洪水,浩浩荡荡,哗哗啦啦地从他的心理倾泻了 出来,他再也无法隐藏他的那份斯文了. 奔跑,奔跑,奔跑!他的心激动着,他的痛快已经不能用我们浅薄的语言来表述,似乎他身上的每一根汗毛都有跳动的欢畅 描写人物动作,最重要的是注意观察。 在日常生活中要格外留心,观察周围各种人形形 *** 的行为动作,特别要注意不同的人的动作特征,抓住特征仔细地反复地进行观察。 如下面例段: 小丽抿着嘴,弓着腰,蹑手蹑脚地,一步一步慢慢地靠近它。 靠近了,靠近了,又见她悄悄地将右手伸向蝴蝶,张开的两个手指一合,夹住了粉蝶的翅膀。小丽高兴得又蹦又跳。 他弯着腰,篮球在他的手下前后左右不停地拍着,两眼溜溜地转动,寻找“突围”的机会。突然他加快了步伐,一会左拐,一会右拐,冲过了两层防线,来到篮下,一个虎跳,转身投篮,篮球在空中划了一条漂亮的弧线后,不偏不倚地落在筐内。 捉蝴蝶、打篮球,都是我们常见的活动,有的甚至是同学们亲自参加过的。但写起来却不具体。 上述两段描写,由于作者观察仔细,把捉蝴蝶,打篮球的动作、神态写得栩栩如生。 二、是要抓住最能突出人物特点的动作描写。 请看下列例段: 他50多岁了。戴着一副高度近视眼镜。 他战战兢兢取下眼镜,用衣服的下摆随手擦了擦镜片。“嗯嗯……”他刚要讲话,忽然想起了什么,手忙脚乱地在盘子里找了找,又匆匆往口袋里掏了掏,掏出了一盒火柴,这才放心地又“嗯嗯”两声,站直身子,用特别响亮的声音说:“现在开始看老师做实验!” 教室里打得乌烟瘴气。 毛老师气咻咻地站在门口,他头上冒着热气,鼻子尖上缀着几颗亮晶晶的汗珠,眉毛怒气冲冲地向上挑着,嘴却向下咧着。看见我们,他惊愕地眨了眨眼睛,脸上的肌肉一下子僵住了,纹丝不动,就像电影中的“定格”。 我们几个也都像木头一样,钉在那里了。 老人的双手很灵巧。 一个泥人在他手里诞生,只要几分钟。看他又拿起一团泥,先捏成圆形,再用手轻轻揉搓,使它变得柔软起来,光滑起来。 接着,又在上面揉搓,渐渐分出了人的头、身和腿。他左手托住这个泥人,右手在头上面摆弄着,不一会儿,泥人戴上了一顶偏偏的帽子。 上述三段都抓住了最能突出人物特点的动作。 例一写的是一位高度近视的老教师。 通过“用衣服的下摆擦镜片”、“手忙脚乱地在盘子里找”、“匆匆地往口袋里掏”等动作的描写,写出了一个高度近视、动作不利索且有点“糊涂”的老教师的特点;例二,主要抓住性格暴躁的人生气时,面部表情动作的特点来描写的。如:“气咻咻地站在门口”、“头上冒着热气”、“眉毛怒气冲冲向上挑”、“嘴向下咧着”、“肌肉纹丝不动”等,把生气时的面部表情写得生动而逼真。 例三则是抓住捏泥人的动作特点,写出了一位心灵手巧的老艺人形象。 三、是要准确而恰当地运用动词。 读读下列例段,看看各段中带点的词的作用。 说时迟,那时快。 那个摔倒在地上的运动员,手一撑,脚一踮,猛地爬了起来。左脚尖顶住起跑线,膝盖一弯,稳稳地蹲着。 两手就像两根木柱插在地上,整个身体微微前倾,那架势,就像一只起飞的雄鹰。 这短短的几句话中,用了“摔、撑、踮、爬、顶、弯、蹲、插、倾、飞等”10个动词,把赛场上运动员起跑的预备姿式描写得准确而逼真。 她挤进大门,把担子撂下地;走上前去,将地上的草揽好,用膝头压着,俯下身,双手使劲勒紧草腰子,提起来,扔到院墙角落。 段中带点的这些动词用得非常贴切。 写出了一个能干、利索、有力气,干活熟练的农村姑娘的形象。 她看见奶奶站起来,双手抓着锅盖向上揭。 吃力地揭了几次,才稍稍揭开一条缝。一股浓烟从灶口冲出来,差点熏着奶奶的脸。 奶奶随便用袖子拂了拂布满皱纹的脸,又摇摇头,自言自语地说:“老了,不中用啰!” 这段话描写的是一位老奶奶干家务活的动作。用“揭、冲、熏、拂、摇”等动词,准确而恰当地写出了老人干活动作的特点。 上述各例说明,描写人物的动作必须选用准确、恰当的动词,才能具体形象地写出人物的动态形象。 手舞足蹈 描写学习的好词佳句 (1)描写学习态度的词语 勤奋 刻苦 认真 专注 钻研 踏实 勤恳 虚心好学 发奋苦读 脚踏实地 不耻下问 精益求精 刨根问底 废寝忘食 手不释卷 如饥似渴 持之以恒 一丝不苟 (2)专心学习的词语 聚精会神 全神贯注 屏息凝视 目不转睛 专心致志 津津有味 掩卷沉思 神情专注 (3)描写学习的佳句 小飞坐在座位上,埋头只顾写呀写呀,笔底下好像有源源不断的泉水涌流出来,用不到一节课的时间,一篇作文竟全写好了。 晓鸿恰好面对窗户坐着,午后的阳光射到她的圆脸上,使她的两颊更加红润;她拿笔的手托着腮,张大的眼眶里,晶亮的眸子缓慢游动着,丰满的下巴微微上翘——这是每当她想出更巧妙的方法来解决一道数学题时,为数学老师所熟悉、喜爱的神态。 每当我做作业时,笔尖沙沙响,好像小鸟在对我唱歌,又好像在鼓励我:“你要不怕困难,勇攀高峰。” 她站了起来,回答得那么准确,那么自然,那么流畅,似乎早有准备似的。 她抑扬顿挫地朗诵着,声调优美,娓娓动听,举座动。 2. 在线等 真的有够奇怪,怎么是做饭呢, 花心、邪魅的:他修长的手指在瓷碗边划出一道漂亮的弧线,久久凝视着那莹白上的细致纹络,蓦地在唇角勾起一抹迷人的笑意。 阳光、天真的:厨房里传来叮叮咚咚的响声,她走进去,只见他有些不知所措的挠挠头,俊挺的鼻梁上伸出写细密的汗珠,初夏的阳光从窗户缝隙中探进来,温暖的照耀着这个天真的大男孩 霸道冷酷的:他抿紧唇角,幽深的眸子里映出面前的锅碗瓢盆,他办事从来都是雷厉风行,说一不二,又怎么会让一顿晚餐难倒。不一会,他利落的动作已经昭示着他的成功 温柔的:他带着一抹温和的笑意走进厨房,麻利的系好围裙,挽起袖子。他也不会在乎自己的白衬衣会不会弄脏,他心里荡漾着全是她的影子,浓浓的温暖和着阳光全被煲进了跳动着的蓝色火焰上的那碗汤里 3. 脸红的男生人物外貌描写作文 在我们刚刚开始学习写写人作文的时候呢,外貌描写就显得极其重要啦!那么我们应该如何写好一个人的外貌呢?首先就是要仔细观察啦,其次就需要平时有积累词句啦。当然在动笔之前要考虑一下结构哦!比如我是按照从上到下的顺序写呢?还是按照其他的顺序呢?或者是几种顺序相结合呢?做到这几点,写出来的人物就比较生动、有画面感啦!以下是出国留学网为你精心整理的《描写人物外貌的作文(9篇)》,可以适当地参考一下哦!加油!相信你能写出更棒的作文! 【描写人物外貌的作文(一):外婆】 我的外婆脸圆圆的,像十五的“白玉盘”。因为天天劳作,皮肤晒成古铜色,油光可鉴。但是,外婆还是一天到晚笑哈哈的,好像刀刻的皱纹减少了不少。外婆眼睛是一对黑珍珠,熠熠生辉,仿佛永远不会疲惫。上面的一对眉毛,像柳叶一样漂亮,齐耳的短发中夹杂着一缕缕银丝。眼下是一张红润的嘴巴,嘴巴里露出稀疏整齐的洁白的牙齿。外婆耳朵大大的,软软的,看上去一副富贵相。 这就是我勤劳善良的外婆。 【描写人物外貌的作文(二):奶奶】 我的奶奶是瓜子脸,脸色有的苍白,眼角早已爬上蚯蚓般的皱纹。在奶奶失光掉色的眼睛里,我仿佛看到了无情岁月留下的痕迹。每次我去看她,她总说个没完没了,问了学习问工作,问了工作又问生活。奶奶牙齿稀疏洁白,白发星星点点,俨然是勤劳的见证。 4. 人物描写片段(300字) 最低0.27元开通文库会员,查看完整内容> 原发布者:ihr7253 人物描写作文300字 人物描写作文300字(一) 我叫石文静,今年9岁,长着一头乌黑的长发,总是喜欢把头发盘起来,一双明亮的眼睛,一个尖尖的鼻子,一张甜蜜的可爱嘴,我是一个可爱的女孩。 我是共青团路小学三年级三(2)班小女生,我的爱好是:跳舞、跳绳。我最不喜欢玩玩具和画画。每天放学后都会在第一时间内把作业做完,然后无所事事的时候就看看电视,陪弟弟玩玩。到了很晚的时候才洗洗澡上床睡觉。每逢周末,我就去找我的好朋友一起7a686964616fe59b9ee7ad9431333433623738比赛跳绳等。>;这就是我,你们喜欢我吗? 我有一个>;幸福的家庭,家里成员有:奶奶、爸爸、妈妈、我和弟弟。 人物描写作文300字(二) 一双水灵灵的大眼睛,一张胖乎乎的圆脸蛋儿,皮肤又白又嫩,笑的时候会露出一对儿小酒窝,这就是我--廖明杰,一个过着平凡而又快乐生活的男孩。 我的爱好很多,但最爱的是英语、唱歌和朗诵。在朗诵方面也很出色,在闽侯县朗诵比赛中获得了三等奖,我还是语文老师的秘密武器呢!我最得意的方面是英语,在刚刚结束的第八届海淀区英语风采大赛中,我获得了一等奖! 我上学快两年了,交了很多好朋友,有机灵古怪的杜洋、活泼可爱的乐天惠、刻苦学习的孙际童、团结友爱的刘河沐、淘气惹事的綦家桢……我的人气可旺了,大家都叫我“小可爱。” 这就是我,你们喜欢我吗? 人物描写作文300字(三) >;我的爸爸非常爱抽烟,家里总是烟雾缭绕,我非常讨 5. 男同学 外貌作文200字 在写人、记事的文章中,常常要描写人物的外貌。 这是因为,外貌 描写是人物描写的一个重要组成部分,对揭示人物的个性特征,起着很 重要的作用。 外貌描写包括静态外貌描写、动态外貌描写两种。 怎样把人物的外 貌写具体呢? 第一、静态外貌描写:就是像描写一幅画、一张照片那样,去描写 整个人物的外表,包括描写人物的容貌(面容长相)、身材(高矮胖瘦)、服饰(穿着打扮)、年龄、性别等。在具体描写静态外貌时,要注意以 下几点: (1)要抓住人物独具的外貌特点进行具体描写。 年龄、性别、性格、职业、生活环境、生活条件等不同,人物的外 貌也定会有所不同。静态外貌描写,虽然包括多个方面,但决不等于要 面面俱到,一定要抓住人物自身外貌中与众不同的特征进行具体刻画, 做到写谁像谁(即依照文字,能够顺利找到对应的人)。 这样才能给读 者留下深刻而鲜明的印象。具体方法: ①注意抓住容貌特征进行具体描写。 在这方面,又要特别重视“画 眼睛——写内心”。伟大的作家鲁迅先生曾说:“要极省俭地画出一个 人的特点,最好是画他的眼睛。 我以为这话是极对的,倘若画了全部头 发,即使画得逼真,也毫无意义。”如: 穆老师的眼睛双眼皮儿,乌黑的眼珠儿又圆又大。 乍一看并没有什 么特别,可是你仔细一瞧,穆老师的眼睛还会说话呢! 这段外貌描写仅两句话,便把穆老师善解人意的特点写出来了。 ②注意抓住服饰特征进行具体描写。 风俗、爱好、性情不同,人物 的服饰往往也就不同。因此,抓住服饰特征进行具体描写,是省俭地画 出一个人特点的又一重要方法。 如: 他正在厨房里,紫色的圆脸,头戴一顶小毡帽,劲上套一个明晃晃 的银项圈,这可见他的父亲十分爱他,怕他死去,所以在神佛面前许下 愿心,用圈子将他套住了。(《少年闰土》) 寥寥数语,不仅描写出了人物的外貌,还展示出了当时浙江绍兴一 带的风俗民情,同时写出了父亲对闰土的爱心。 抓住人物独具的外貌特点进行真实、有选择地具体描写,就能使笔 下的人物栩栩如生,达到如见其人的效果;就能有效地避免外貌描写“千 人一面”(都是“高鼻梁,大眼睛,双眼皮儿,一笑俩酒窝儿”)的现 象。 (2)要有顺序地进行描写。 外貌描写也要有一定的顺序,写前也要先想好按照怎样的顺序写, 然后逐一写来。比如我们打算从长相、穿着两个方面去写一个人的外貌, 如果在长相描写中插入穿着描写,就会令读者费解。 这样杂乱无章的外 貌描写是不能给读者留下深刻印象的。怎么办? ①按照从整体到局部的顺序写。 即先描写人物的全貌,再描写人物 局部的“特写镜头”。可以先写人物身材怎样,是高大魁梧,还是瘦小 枯干,然后再对头、身、四肢等有选择地进行描写;写人物的脸,可以先从整体上写这张脸什么样,然后再对额头、眼睛、面颊、鼻子、嘴、下巴等部位有选择地进行描写。 如: 风雪中,一位老战士,靠着冰崖坐着,一动也不动,好像一尊塑像。 他浑身落满了雪花,神情十分镇定、自然。 他穿着一身破旧的单衣,布 片像枯树叶一样贴在身上。(《丰碑》) 这段外貌描写先从整体上描写老战士的全貌“好像一尊塑像”,然 后再描写他的神情、身上穿着,顺序清晰,栩栩如生。 ②按照从局部到整体的顺序写。即先描写某些部位所具有的明显突 出的特点,然后再写人物的全貌。 如: 长期监狱生活把弟弟折磨得面黄肌瘦。他长得脑袋大,身子小,难 友们都很疼爱他,叫他“小萝卜头”。 (《我的弟弟“小萝卜头”》) 这段外貌描写先写他的脸面、脑袋、身子,然后再描写他的全貌像 个“小萝卜头”,有序、简练而生动。 ③按照不同方面的顺序写。 即从容貌、身材、服饰、年龄等不同方 面,有选择地进行描写。如: 古铜色的脸上镶着一双亮光闪闪的眼睛,尖尖的下巴上飘拂着花白 的络腮胡须。 他高高的个子,宽宽的肩膀,说起话来声音像洪钟一样的 响亮,走起路来地皮也踏得忽闪忽闪的。(《老水牛爷爷》) 这段外貌描写,按照“容貌→身材→声音→走路样子”的顺序进行 具体描写,鲜活的人物形象跃然纸上。 第二、动态外貌描写:就是刻画人物在特定情形下的神态表情。人 的喜、怒、哀、乐的感情,活泼、呆板、暴躁、文静的性格,都会在神 态表情上流露出来。 因此,动态外貌描写比静态描写更能揭示人物的性 格特征。 在描写人物动态外貌时,最好与静态外貌描写相结合,与人物的语 言、行动描写相结合。 这样写,不但具体,效果也好。如: 铁人睁大了眼睛,“哦?u22efu22ef咳!”他向司机喊道:“掉头,回去!” (《忆铁人》) 这两句话,把描写神态(“睁大了眼睛”)与描写语言相结合,真 实具体地表现出铁人得知事情真相后吃惊异常、急于向阿姨赔礼道歉的情景。 写人记事时,常要描写人物的语言。因为,语言是心灵的“门户”, 语言描写是直接表现人物精神风貌、把人物写“活”的重要手段。 这就 需要我们掌握把人物语言写好、写具体的方法。 怎样把人物的语言写好、写具体呢?下面的这段话,会给我们许多 提示: 我哭着,哭着,听到有人走了进来,回头一看,原来是继父,便把 头扭向一边。 他在我身边坐下,用手。 6. 给些经典的人物描写 高考作文人物描写经典好句子 他的眼睛里,闪烁着被理想、信心和勇气燃烧着的十八岁青年人特有的异彩。~) 小男孩儿正睡得香甜,圆圆的苹果脸上,半开半合的小嘴儿像一颗含苞欲放的花蕾,在睡梦中常常笑出声来。~) 你看,她那明亮的大眼睛,那天真活泼的笑脸,多么像一株茁壮成长的向日葵呀!~) 她那红润润的圆脸蛋,像溢满浆汁的苹果。~) 她高兴得嘴角上翘,变成一弯月牙儿。~) 他的眼睛里有了神采,额头和嘴角两旁深深的皱纹里似乎也蓄满了笑意,连一举手一投足都带着一种轻快的节奏。~) 近来,姐姐像吃过一枚“顺心丸”,脸上老漂着笑影。~) 他的脸色,仿佛被一阵阵小风吹得云散天开,渐渐明朗起来。~) 她那张皱纹纵横的脸,舒展得像绸缎一般,光闪闪的。~) 他的眼睛、眉毛乱动,得意得像是在他脸上跳舞。~) 她脸上洋溢着兴奋的光芒,就像山坡上绽开的山丹丹花一样。~) 那姑娘脸上冷不丁地绽出了笑意,满脸绯红,像一朵醉了的芍药花。~) 她浑身都带着感情,那感情像开了闸的洪水,从她的眼底、唇边溢了出来。~) 那激动的神情,仿佛一位艺术收藏家在偶然的机会得到一幅价值连城的名画一样。~) 他仿佛受了莫大委屈似的,激动得脖子旁边的大动脉都看得见跳动。~) 他说到这里,激动极了,从脖子红到脸,太阳穴的青筋胀得像豆角一样粗。~) 她那白玉般的脸蛋儿泛出石榴花般的红晕,她陶醉在人们对她美貌的称羡中了。~) 她像一尊雕塑,老是那么个表情:不乐不忧,不慌不忙,不焦不躁。~) 不管别人怎样嘲弄他,他都像海里的礁石那样无动于衷。~) 她浅笑盈盈,眸子像浸在水里的墨晶石,又黑又亮。~) 7. 给几个人物描写的例子,男女老少都要,谢谢啦 人物描写的例子,男女老少都有 网站: | 作者:佚名 | 来源:中国作文网 | 中国作文网()网 1. 戴着黑色小帽,穿着黑布大马褂,蹒跚地走到铁道边 ,他用两手攀着上面,两脚再向上缩;他肥胖的身子向左微倾,显出努力的样子。 2.他是站着喝酒而穿长衫的唯一的人。他身材很高大;青白脸色,皱纹间时常夹些伤痕;一部乱蓬蓬的花白的胡子。穿的虽然是长衫,可是又脏又破,似乎十多年没有补,也没有洗。 3.一个十一、二岁的少年,项带银圈,手捏一柄钢叉,向一匹猹尽力地刺去。 4 .他头上是一顶破毡帽,身上只一件极薄的棉衣,浑身瑟索着;手里提着一个纸包和一枝长烟管,那手又粗又笨而且开裂,像是松树皮了。 我班有一位同学,他大约十五岁,身材中等。红润的脸上嵌着一双炯炯有神的眼睛,脸的正中有一个鼻子。他的头发不长不短,黑黑的。一张开嘴巴,就是两排整齐洁白的牙齿…… 他身材增加了一倍;先前的紫色的圆脸,已经变作灰黄,而且加上了很深的皱纹;眼睛也像他父亲一样,周围都肿得通红,这我知道,在海边种地的人,终日吹着海风,大抵是这样的。他头上是一顶破毡帽,身上只一件极薄的棉衣,浑身瑟索着;手里提着一个纸包和一支长烟管,那手也不是我所记得的红活圆实的手,却又粗又笨而且开裂,像是松树皮了。这个到人间才一百天的小宝宝,长着一个胖乎乎的小脑袋。那些稀稀疏疏的头发,像刚出土的幼苗,那样嫩黄,却又那样生气勃勃。那可爱的小脸蛋,像熟透的苹果,又红又甜,可讨人喜欢哩!一张小嘴高兴地张着,舌头微微卷起,好像在歌唱,又像在回味着妈妈甜蜜的奶汁。因为太胖,下巴几乎成了两个。微笑着的脸部肌肉把眼睛挤成两道弯弯曲线,像晶莹明亮的月亮。两只眼睛侧视着前方,贪婪地看着这美好的世界。耳朵向上竖着,仿佛在倾听周围奇妙的声音。一个鼻梁像小铃铛似的嵌在中央,呈立体型,是那么引人注目。这个小宝宝多么活泼,又多么可爱,她简直是一小天使。她留着齐耳短发,头上总是一左一右地夹着两只发夹,把头发紧紧地拢在耳朵后面,显出一张光滑白净的脸庞。她的眼睛不大,细细长长的,但是很有神采,一笑就变成了两条缝。鼻子微微上翘,给人一种俏皮的感觉,显得十分可爱。她平时最喜欢穿的是一条蓝底白花的连衣裙,裙摆又宽又大。她一跑动起来,裙子就像一只花蝴蝶一样飞起来了。那小小的眼睛还没呆滞,在浓眉底下转来转去,恰如两只小鼠子,把它的尖嘴钻出暗洞来,立起耳朵,动着胡须,看看是否藏着猫儿或者顽皮孩子,猜疑地嗅着空气。”他身材高大;青白脸色,皱纹间时常夹些伤痕;一部乱蓬蓬的花白胡子。穿的虽然是长衫,可是又脏又破,似乎十多年没有补,也没有洗。”李云是一个机灵、淘气的孩子。他胖乎乎的脸上,长着一对调皮的大眼睛,眼帘忽闪忽闪的,那两颗像黑宝石似的大眼珠只要一转,鬼点子就来了。在他那黝黑的脸上,不论是那鼓鼓的腮帮,还是那薄薄的嘴唇,或者那微微翘起的小鼻尖,都使你感到滑稽逗人 8. 外貌描写作文200字描写是男的 人物外貌描写作文 一身洁如素流的衬衫,领口微开,一条淡银的项链在脖间围绕,即使不在与年少间触碰,这简洁爽朗的一身却也遮掩不住那顿然如湍的魅力,那一头黑而插棕的发丝在适风的晓拂间,微微飘溅,回首一眨,便是帅气一影,在额前徘徊着的几缕发丝下,有一双浓密的眉毛和似电且感性化的眼睛,眉纹一动,那一线间的潇洒仿若寒冬眨回温暖世间。亮眸之下,便是高挺鼻梁与丰润嘴唇,双唇有棱有角,莞尔一笑间,一体创出帅气经典。似至一番恍若琉璃人物,永世驻守ALL ; IN瞬间。 与众不同的张老师 张老师长得很普通。他今年30来岁,中等身材,稍微有点发胖。他的衣裤都明显地旧了,但非常整洁,每一个纽扣都扣得规规矩矩。他脸庞较长,下巴带圆,额头上有三条挺深的抬头纹。眼睛不算大,但看人时目光一闪一闪地放光,撒谎的学生最怕他这目光。不过更让学生敬畏的是张老师那张嘴,人们都说薄嘴唇的人能说会道,张老师却是两片厚嘴唇,冬天常被风吹得爆出干皮儿,可是从这对厚嘴唇里迸出的话语总是那么热情、生动、流利。 我的爸爸长得胖胖的,脑袋圆圆的,“水汪汪”的眼睛上架着一副老大的眼镜,多可怜的鼻子呀!真是上辈子欠眼睛的,替眼睛扛着它的盔甲。一摘下眼镜,鼻子上就有两个小坑坑。 我爸爸的嘴巴也很大,但嘴皮很保爸爸的嘴巴十分厉害,一张嘴就是一个笑话,让每个人都笑得肚子疼。难道他嘴巴里有什么法力吗?我倒要看个究竟。于是,趁爸爸睡得正香,嘴巴大张的时候,我小心翼翼地爬上床,马头凑到爸爸脸前,伸手摸了摸、拉了拉他的嘴巴。“哦、哦……干什么,你?”爸爸惊醒了,大声斥责我。我连忙说:“我找找你的法力。”2023-06-13 00:54:051
用告诫,碰钉子怎么造句
搜一下:用告诫,碰钉子怎么造句2023-06-13 00:54:004
写一个人物群体的作文该怎么写?
哈哈。。。你都会百度咧2023-06-13 00:53:434
谆谆告诫是什么意思
谆谆告诫的意思:恳切、耐心地劝告、教导(谆谆:恳切、耐心的样子)。谆谆告诫造句:1、以殷殷之语,既真实地写出了自己的狂放个性以及仕途的不意,同时也谆谆告诫友人,希望不要蹈其前辙而能功成名就。2、它谆谆告诫我们必须培养正气,以身示范。3、这就是说,他们违背了马克思、恩格斯、列宁、斯大林所谆谆告诫人们的一条基本原则:理论和实际统一。4、列宁在晚年病重期间,更是谆谆告诫同志们要严格遵纪守法,与贪污受贿等违法行为作不懈的斗争。5、然而,不幸得很,乾隆皇帝在有鉴于历代兴替的教训,为八旗子弟留下谆谆告诫的碑石不到180年,腐朽骄纵的八旗子弟,不但成为断送一个王朝的顽症,更加速了中国陷入半封建半殖民地的灾难的过程。6、在广泛的行政领域立法中,行政与立法形影相随使人难忘分权理论大师孟德斯鸠的谆谆告诫。7、他谆谆告诫弟子的是依法不依人,并授权他们在他死后修改一切次要的戒条。8、同样,在研究古代社会时,也应牢记并切实遵循这一谆谆告诫。9、历史唯物主义者在研究资本主义社会时,应牢记并切实遵循马克思的这一谆谆告诫。2023-06-13 00:53:281
人物描写100字作文
我的世界2023-06-13 00:53:233
告诫的网络解释告诫的网络解释是什么
告诫的网络解释是:告诫告诫,指警告劝诫,如:爱默生的名言—-人类的全部历史都告诫有智慧的人,不要笃信时运,而应坚信思想。告诫的网络解释是:告诫告诫,指警告劝诫,如:爱默生的名言—-人类的全部历史都告诫有智慧的人,不要笃信时运,而应坚信思想。词性是:动词。拼音是:gàojiè。注音是:ㄍㄠ_ㄐ一ㄝ_。结构是:告(上下结构)诫(左右结构)。告诫的具体解释是什么呢,我们通过以下几个方面为您介绍:一、词语解释【点此查看计划详细内容】告诫gàojiè。(1)也作“告戒”。(2)规劝某人勿做某事。(3)教诲劝戒。二、引证解释⒈见“告戒”。三、国语词典申告劝诫。如:「张生品性不端,老师特予以告诫一番。」也作「告戒」、「诰诫」。关于告诫的近义词申饬劝告规劝劝诫警戒警告关于告诫的反义词听任关于告诫的诗词《悼亡·告诫篷窗知不知》关于告诫的诗句来此劝农申告诫来此劝农申告诫从容告诫关于告诫的单词exhortwarnlessonwarning关于告诫的成语谆谆告诫断织之诫行词告状小惩大诫谆谆诰诫差可告慰自告奋勇死告活央关于告诫的词语无头告示忠告善道诫莫若豫三求四告不敢告劳不可告人行词告状差可告慰断织之诫告贷无门关于告诫的造句1、常言所说“知足不辱”包含了颇深的人生哲理,它告诫人们不能有非分的贪心,贪心容易招来祸患。2、我们应该牢记老师对我们的谆谆告诫。3、妈妈语重心长的告诫,却被我不耐烦的打断了。4、父亲常常告诫我们言多必失,今天看见小李招来了麻烦,才知老人家的话是很有道理的。5、它谆谆告诫我们必须培养正气,以身示范。点此查看更多关于告诫的详细信息2023-06-13 00:53:211
告诫的诗词告诫的诗词是什么
告诫的诗词有:《悼亡·告诫篷窗知不知》。告诫的诗词有:《悼亡·告诫篷窗知不知》。结构是:告(上下结构)诫(左右结构)。注音是:ㄍㄠ_ㄐ一ㄝ_。词性是:动词。拼音是:gàojiè。告诫的具体解释是什么呢,我们通过以下几个方面为您介绍:一、词语解释【点此查看计划详细内容】告诫gàojiè。(1)也作“告戒”。(2)规劝某人勿做某事。(3)教诲劝戒。二、引证解释⒈见“告戒”。三、国语词典申告劝诫。如:「张生品性不端,老师特予以告诫一番。」也作「告戒」、「诰诫」。四、网络解释告诫告诫,指警告劝诫,如:爱默生的名言—-人类的全部历史都告诫有智慧的人,不要笃信时运,而应坚信思想。关于告诫的近义词规劝申饬劝诫劝告警戒警告关于告诫的反义词听任关于告诫的诗句来此劝农申告诫告诫篷窗知不知从容告诫关于告诫的单词warningwarnexhortlesson关于告诫的成语差可告慰行词告状自告奋勇断织之诫谆谆告诫小惩大诫谆谆诰诫死告活央关于告诫的词语小惩大诫断织之诫死告活央不敢告劳行词告状诫莫若豫三求四告告贷无门忠告善道不可告人关于告诫的造句1、父亲告诫儿子说,你血气方刚,凡事要忍耐,切勿跟人处处冲突。2、妈妈语重心长的告诫,却被我不耐烦的打断了。3、父亲常常告诫我们言多必失,今天看见小李招来了麻烦,才知老人家的话是很有道理的。4、我们应该牢记老师对我们的谆谆告诫。5、父母的谆谆告诫通常被孩子们当做生活的指南。点此查看更多关于告诫的详细信息2023-06-13 00:53:021
人物描写作文500字
写人,这个词的含义比较宽泛,望文生义,指的就是对人物进行描写。现在我为大家收集整理优秀的 作文 ,如果喜欢这篇 文章 可以参考学习。欢迎持续关注我们的后续更新。 篇一:人物描写作文 我熟悉的人很多,但我最熟悉的人是我的妈妈。 我的妈妈留着一头乌黑的短发,一双又细又长的眉毛下面有一双炯炯有神的大眼睛,高高的鼻子帮眼睛扛着一副又大又重的眼镜。妈妈不但在生活给我无微不至的照顾,而且在学习上不断地鼓励着我,帮助着我。 记得二年级一次数学单元考试,我只考了82分,拿到试卷的那一刻,心里想:“惨了,回家后妈妈看了分数一定会批评我。”我提心吊胆地回家了。回家后,妈妈问我试卷发了吗?我支支吾吾地说:“还u2026u2026还没有。”妈妈趁我上厕所的时候从书包搜出我的试卷,我想这下妈妈肯定会大发雷霆,谁知妈妈却很平静地对我说:“儿子,做人要诚实,不能撒谎,这次考得不理想,只要你再认真学习,妈妈相信你会取得好成绩的。”之后,妈妈找一些关于角的练习题让我练习,耐心地帮我讲解,经过练习之后,我更好地掌握了角的知识,并在期末考试取得了全班第一名。我知道这成绩离不开妈妈对我的教导及鼓励。 总之,妈妈为我付出了很多很多,是难以衡量的,我一定认真学习,长大以后好好孝敬妈妈。 篇二:人物描写作文 “春蚕到死丝方尽,蜡炬成灰泪始干”。我用这句 名言 来形容我最爱的老师,殷老师,她是我在四年级认识的最好,最敬佩的老师,同学们敬爱她,因为殷老师 教学 方法 好,负责任,幽默,对我们好等等。殷老师在我们心中是女神。 殷老师的头发很长,每次我们班的捣蛋鬼还摸殷老师的头发,老师也没生气,还像我们微笑了一下,老师有时下课还跟我们跳皮筋,从这点我们知道了殷老师平易近人,温柔,慈爱。 有一次。学校发了一张纸,上面写了我们每个人名字,还发给老师许多徽章,有 语文学习 好徽章,数学等等,我很想得,开始必须要举手回答问题,对于从来不举手的我,真是很困难,我觉定我要在殷老师上课时举手回答问题,这天,殷老师提出了一个问题,我的心跳的很快,我举手了,老师看到我举手立刻叫我起来回答,我回答对了,而且答案比其他同学还要好,老师给我一个徽章,并鼓励我,从这一刻,我找到了自信,从此,我开始举手发言了。老师,我感谢您让我找到了自信,我在用一个名言来赞美您“采得百花成蜜后,为谁辛苦为谁甜”。 不说了,妈妈说要吃饭了,拜拜。 篇三:人物描写作文 你的身边是否有这样的两个人,两个都希望你以后过得好,都希望你有个好成绩,都是一样的温柔,一样的为你着想,一样的不想伤害你,一样的无奈。 我的身边就有这样的两个人,她们让我充满信心。 我们的顽皮,我们成长的艰辛,我们与生俱来的弱点,我们异于常人的天赋u2026u2026我们从小到大最详尽的档案,我们失败与成功每一次的记录,都储存在她宁静的眼中。 没错,她就是我的妈妈。 一次,我的成绩并不好,我怕妈妈看到了,会骂我,可是,没想到的是,妈妈却平静地说:“尽力就行,加油,下次突破极限吧。”我惊呆了,但这让我的下一次考了个好成绩。 她是除了妈妈,最了解我的人,她的温柔让我铭记,她是我的第二个妈妈——我的语文老师,申老师。 她的温柔给了我自信,她是个和蔼的老师,我们大家都很喜欢她。 一次,我们班的一个同学迟到了,他站在门口不敢进来,老师看到了,说:“进来吧,外面冷,再说,你想耽误更多的时间吗?”那个同学低着头坐到座位上,脸上有泪痕,明显哭过。 听了我的身边人,你是否也意识到了你的身边人? 篇四:人物描写作文 早上是猛虎,上课是鹦鹉,下课是只小鸟——他就是我最熟悉的同学。 为什么说他早上是猛虎呢?因为他早上“喝”的一声震耳欲聋“赶快交作业”的声音又像是一位严肃的教官,让人有种军令如泰山的压迫感。他叫你交作业即不是请,也不是提醒你,而是一道下了军令状的命令。他若看你东张西望,五秒内交不出作业来,他会用怒目盯着你,仿佛你是他上辈子的仇人似的,有不共戴天之仇。 那为什么他课上是只鹦鹉呢?因为他上课的时候是如同鹦鹉一般能说会道。他说话有理有句,唯妙唯肖。让他说下去则是滔滔不绝,源源不断,言无不尽。绝无笑里藏刀,强词夺理。他就犹如一个日夜不断工作的播音员,这真是一只聪明的鹦鹉。 为什么说他下课像只欢乐的小鸟呢?因为每当下课的时候,他似乎从笼子里得到了解脱,在天空中自由地飞翔;在窗边歌唱;和伙伴一起玩耍--总的来说,一下课,他就从严肃变成欢乐,完全变了一个人:要他去演戏,我看他去演汉奸,因为汉奸两面三刀的性格,正好符合他的这个特点? 严肃无比,能说会道,自由自在你猜到他是谁了吗?他就是--我不告诉你。 篇五:人物描写作文 在漫长的人生旅途中,有许多人值得我们去感激、去尊敬、去怀念u2026u2026反正,在我的人生旅途中,我就遇到了一个最值得我去怀念的一个人——我的老爷爷。 在记忆的深处,我清楚的记得,我的老爷爷在我的童年时,就悄然离去。那时的我,只知道老爷爷是被可恶的心脏病给害死的,并不觉得伤心。 随着年岁的增长,听到有关老爷爷的事,却越来越多。直到现在,我才知道小时候,老爷爷是多么疼我。有一次,我对老爷爷说:“我要吃这个。”哦,好!”老爷爷笑眯眯地答道。“不不不,我还是要这个吧。”“好!”老爷爷二话不说就答应了,刚想向商家卖这个,我突然又说不要那个了,还是要回刚刚那个好了!“好啊,你这个小妮子,竟然把我当猴儿耍了!”老爷爷顿时恍然大悟,说着,便抱起了我,向商家买了那样零食。“嘻嘻,又没事!”我调皮地说道。就这样,我与老爷爷在欢声笑语中,在夕阳的余辉下,慢慢走回家。 我回忆着童年时与老爷爷发生的有趣事,悄然落泪。我对自己说,不要哭了,在心里默默的怀念着老爷爷就好了。不用让任何人知道!只要自己知道就行了。 我是多么怀念童年时对我无微不至的老爷爷啊!2023-06-13 00:52:571
告诫的国语词典告诫的国语词典是什么
告诫的国语词典是:申告劝诫。如:「张生品性不端,老师特予以告诫一番。」也作「告戒」、「诰诫」。告诫的国语词典是:申告劝诫。如:「张生品性不端,老师特予以告诫一番。」也作「告戒」、「诰诫」。拼音是:gàojiè。注音是:ㄍㄠ_ㄐ一ㄝ_。词性是:动词。结构是:告(上下结构)诫(左右结构)。告诫的具体解释是什么呢,我们通过以下几个方面为您介绍:一、词语解释【点此查看计划详细内容】告诫gàojiè。(1)也作“告戒”。(2)规劝某人勿做某事。(3)教诲劝戒。二、引证解释⒈见“告戒”。三、网络解释告诫告诫,指警告劝诫,如:爱默生的名言—-人类的全部历史都告诫有智慧的人,不要笃信时运,而应坚信思想。关于告诫的近义词警告劝诫规劝警戒申饬劝告关于告诫的反义词听任关于告诫的诗词《悼亡·告诫篷窗知不知》关于告诫的诗句告诫篷窗知不知来此劝农申告诫来此劝农申告诫关于告诫的单词exhortwarnwarninglesson关于告诫的成语谆谆告诫断织之诫小惩大诫死告活央差可告慰自告奋勇行词告状谆谆诰诫关于告诫的词语差可告慰小惩大诫不可告人断织之诫诫莫若豫忠告善道不敢告劳自告奋勇死告活央无头告示关于告诫的造句1、常言所说“知足不辱”包含了颇深的人生哲理,它告诫人们不能有非分的贪心,贪心容易招来祸患。2、父亲告诫儿子说,你血气方刚,凡事要忍耐,切勿跟人处处冲突。3、父亲常常告诫我们言多必失,今天看见小李招来了麻烦,才知老人家的话是很有道理的。4、妈妈时常告诫我,不管做任何事情都要尽力去做,力争做到最好。5、父母的谆谆告诫通常被孩子们当做生活的指南。点此查看更多关于告诫的详细信息2023-06-13 00:52:551