☆掌握Shell的基本语法结构。
☆学会编写并执行Shell脚本程序。
☆学会在Linux下进行进程调度和作业调度
任务一学习变量与表达式
Shell是操作系统最外面的一层,负责管理用户与操作系统之间的交互,例如等待用户输入,向操作系统解释用户的输入,以及处理操作系统的各种输出结果。
除了作为命令解释器之外,Shell本身还是一个解释型的程序设计语言。Shell程序设计语言支持变量、表达式、函数和流程控制结构等,任何在终端能够执行的命令也放到Shell程序。
● 4.1.1 变量
●在Shell中有三种变量:系统变量、环境变量和用户变量。其中系统变量在对参数判
断和命令返回值判断会使用,环境变量主要是在程序运行的时候需要设置,用户变量在编程过程中使用最多。
●这几种变量的赋值方法各不相同,主要有:直接设置变量值、变量之间的置换、从
命令行参数获取、从环境变量获取和用户输入等几种方式。
●引用变量一般采用“$variable”的形式引用变量variable的值。
1.系统变量
●Shell常用的系统变量用于提供系统信息。系统变量一般采用命令行参数获取。
2.环境变量
●Shell在开始执行前就已经定义了一些与系统工作环境有关的变量。
●显示环境变量用echo命令。
●在bash中,设置环境变量用set命令。用unset命令可将环境变量重新设置为系统
默认值,。
●用户并不需要每次登录后都对各种环境变量进行手工设置,通过环境设置文件,用
户的工作环境的设置可以在登录的时候由系统自动来完成。环境设置文件有两种:系统环境设置文件和用户环境设置文件。
●
3.用户变量
●不管系统变量和环境变量有多少,对于需求来说,总是不够的。用户常常需要自定
义一些变量,这些变量就称为用户变量。
●定义用户变量的语法为:
●name=string
●局部变量与全局变量
Shell变量也有其规定的作用范围。局部变量的作用范围仅仅在其命令行所在的Shell 或Shell脚本文件中。全局变量的作用范围则包括本Shell进程及其所有子进程,即相当于环境变量,贯穿于整个当前用户环境。可以使用export命令将局部变量设置为全局变量。
export name=string
●【操作实例4.1】
用文本编辑器gedit编写一个Shell脚本test1.sh,显示执行脚本时输入的参数及参数总数目,并定义一个局部变量和一个全局变量。
4.1.2 表达式
Shell中的表达式分为算术运算表达式、关系与逻辑表达式和正则表达式等几种。
1.expr命令
●expr命令的功能是求表达式的值。
2. 算术表达式
●算术表达式可以是由运算符+、-、*、/、=组成的表达式。
3. 关系与逻辑表达式
●命令test与方括号[ ]都用于进行条件测试,测试的结果返回逻辑值,即真true(0)和
假false(1)。test和[ ]可以相互替换。
●
●
●
●
【操作实例4.2】
●先练习使用表达式,然后用文本编辑器gedit编写一个计算1-5的平方的Shell脚本
test2.sh,进一步熟悉表达式的作用。
任务二学习流程控制结构
4.2.1 分支结构
●Shell程序中的条件语句主要有if语句、case语句。
1.if语句
●if语句根据表达式的值来决定要执行的程序段落。其语法格式如下:
●if表达式1 then
●语句块1
elif表达式2 then
●语句块2
elif表达式3 then
●语句块3
…
else
●语句块n
fi
【操作实例4.3】
●编写一个Shell脚本test3.sh,接收用户输入的文件名,然后在当前目录下检查该文
件是否存在。
● 2.case语句
●case语句为用户提供了根据字符串或变量的值从多个选项中选择一项执行的方法。
case语句的语法格式如下:
●case 字符串in
值1|值2)
●语句块1;;
值3|值4)
●语句块2;;
值5|值6)
●语句块3;;
…
esac
【操作实例4.4】
●编写一个Shell脚本test4.sh,用case语句建立一个菜单,当用户选择菜单时,执行
相应的操作。
4.2.2 循环结构
●Shell常见的循环语句有for循环、while循环、until循环。
1.for循环
●for循环对一个变量所有可能的值都执行一个命令序列。赋给变量的几个数值既可以
在程序内以数值列表的形式提供,也可以在程序以外以参数的形式提供。
●for循环的一般格式如下:
●for循环变量[in列表]
do
●语句块
done
●for语句对[in列表]中的每一项都执行一次。列表可以是包括几个单词并且有空格分
隔开的变量,也可以是直接输入的几个值。每执行一次循环,循环变量都被赋予列表中的当前值,直到最后一个为止。[in列表]子句也可以使用通配符。
●[in列表]子句可以省略,此时,假定循环变量包含执行Shell程序时命令行的所有位
置参数,即相当于[in“$@”]。
【操作实例4.5】
●编写一个Shell脚本test5.sh,显示当前目录下的所有.sh文件的名称和内容。
2.while循环和until循环
●while语句与until语句具有类似的语法格式和功能。while语句会在测试条件为真时
循环才执行,语法如下:
●while 测试表达式
do
●语句块
done
●until语句中当表达式的值为假时,循环才会继续执行命令:
●until 测试表达式
do
●语句块
done
【操作实例4.6】
●编写一个Shell脚本test6.sh,脚本在执行时,接收用户输入的文件名,然后显示该
文件的内容。
3.break和continue
●break和continue无条件转移命令。break用于立即终止当前循环的执行,continue
用于不执行循环中后面的语句而立即开始下一次循环的执行。这两个命令只有放在do和done之间才有效。
【操作实例4.7】
●对【操作实例4.4】中的Shell脚本进行改进,用循环语句建立菜单,当用户选择了
一次操作后,再次显示菜单供用户进行下一次选择,当用户按“q”键后,退出循环。
Shell脚本的文件名为test7.sh。
任务三编辑与运行Shell脚本
4.3.1 vim的使用
●vi/vim是Linux系统中使用最为普遍的全屏幕交互式文本编辑程序。它没有菜单,只
有命令,但功能非常强大。vim可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。
●Vim有3种基本工作模式:命令模式、插入模式和末行模式。
●运行Vim编辑器的命令格式是:
●vim [选项] [文件名]
●执行vim命令后,首先进入的是命令模式。用户输入进入插入模式的命令后,即可
进入插入模式。
图4-1 vim的运行模式及转换
4.3.2 Shell编程
●在Linux系统中,用Shell编写的批处理文件称为Shell脚本,它包含若干条命令和语
句,可以解释执行。
●Shell脚本的作用主要包括:自动执行命令;实现系统管理和维护;创建简单的应用;
操作文本或文件。
1.编写Shell脚本
●Shell脚本包含如下成分:
●注释部分:注释部分以#开头的行。
●命令:在Shell脚本中可以出现任何在交互方式下可以使用的命令。
●变量:在Shell脚本中既可以使用用户自定义的变量,也可以使用系统环境变量。Shell
变量分为局部变量和全局变量。局部变量的作用范围仅仅限制在其命令行所在的Shell或Shell脚本文件中。全局变量的作用范围则包括本Shell进程及其所有子进程。
可以使用export内置命令将局部变量设置为全局变量。
●流程控制:流程控制语句对命令的执行流程进行控制(分支、循环、子Shell调用)。
●用vim等编辑程序就可以创建Shell脚本。Shell脚本的文件扩展名一般为“.sh”。
2.执行Shell脚本
●Shell脚本有三种执行方式:
●(1)方式1
bash 脚本文件名
●(2)方式2
source脚本文件名
(3)方式3
chmod u+x 脚本文件
./脚本文件名
●用第一种和第二种方式,用户即使没有可执行权限,也可执行脚本文件。
【操作实例4.8】
●利用循环计算10的阶乘。Shell脚本的文件名为test8.sh。
任务四管理Linux中的进程与作业
4.4.1 Linux中的进程
1.Linux进程的基本概念
●Linux是一个多用户多任务的操作系统。多用户是指多个用户可以在同一时间使用计
算机系统;多任务是指Linux可以同时执行几个任务,它可以在还未执行完一个任务时又执行另一项任务。
●程序是为了完成某种任务而编写的指令集合。但程序是静态的,只是存储在计算机
上的一段代码。为了描述多任务这样一个动态的概念,引入了进程。进程就是程序在某个数据集合上的一次运行活动。
●为了区分进程,Linux中每个进程都有一个标识号,叫做PID(Process ID)。系统启
动后的第一个进程是init,它的PID是1。
2.Linux中进程的分类
●Linux中的进程一般分为交互式进程、批处理进程和守护进程三类。
●交互式进程:由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台
运行。典型的应用比如编辑器vim。此类进程对系统响应时间要求比较高,否则用户会感觉系统反应迟缓。
●批处理进程:不与特定的终端相关联,提交到等待队列种顺序执行的进程。比如编
译器。
●守护进程:一般是由系统在开机时通过脚本自动激活启动或超级管理用户root来启
动,总是活跃的,一般运行于后台。这些后台守护进程时刻监听着前台客户的服务请求,一旦客户发出了服务请求,守护进程便为它们提供服务。
3.Linux进程的启动方式
●启动一个进程有两种途径:手工启动和调度启动。
(1)手工启动
由用户输入命令,直接启动一个进程便是手工启动进程。手工启动进程又可分为前台启动和后台启动。
①台启动:
这是启动进程最常用的方式。一般地,用户键入一个命令就是启动了一个进程,而且是一个前台的进程。
②后台启动:
假设用户要启动一个需要长时间运行的格式化文本文件的进程,为了不使整个Shell在耗时进程的运行过程中都处于“瘫痪”状态,从后台启动这个进程是明智的选择。从后台启动进程其实就是在命令结尾加上一个&号。键入命令以后,出现一个数字,这个数字就是该进程的PID。
(2)调度启动
这种启动方式是事先进行调度安排,指定任务运行的时间或者场合,到时候系统会自动启动进程这一切工作。常用的调度启动命令有cron、at等。
4.Linux进程管理命令
(1) 查看进程
在Linux中,使用ps命令对进程进行查看。
(2)进程通信
Linux进程间通信的方式很多,信号是一种最基本通信方式。
Linux信号简介
信号可以直接发送给进程,无需用户接口。进程在收到信号后,会做出相应处理。发送信号时要给出信号的名字或数字。可以用命令“kill -l”,显示当前系统支持的所有信号。用命令“man 7 signal”查看所有信号的解释。
kill命令是通过向进程发送指定的信号来结束进程的。
●
●
5.进程调度
(1)进程调度优先级
●在Linux 操作系统中,进程之间是竞争资源关系。这个竞争优劣是通过谦让度来实
现的。高谦让度表示进程优先级别最低。负值或0表示最高优先级,对其他进程不谦让,也就是拥有优先占用系统资源的权利。谦让度的值从-20到19。
●nice命令可以在创建进程时为进程指定谦让度的值。
●renice 是通过进程ID(PID)来改变谦让度,进而达到更改进程的优先级。
(2)交互式的进程管理工具
①监视系统任务的工具top
②系统监视器gnome-system-monitor
gnome-system-monitor是一个图形化的系统监视器
4.4.2 Linux中的作业控制
1.作业的概念
作业(Job)是用户提交给操作系统计算的一个独立任务。
作业流是指在批处理系统中把一批作业安排在输入设备上,然后依次读入系统进行处理,从而形成了作业流。
操作系统中用来控制作业的进入、执行和撤消的一组程序称为作业管理程序。作业管理程序的主要任务是作业调度和作业控制。
Linux中提供了专门的作业调度命令。
2.前台作业与后台作业
用户可以直接控制的作业称为前台作业。用户放在内存中自动执行的作业称为后台作业。Linux中提供了一组用于前台、后台作业控制的命令。
⑴在后台执行作业
将作业放到后台执行的方法是在命令后面加上“&”符号。
⑵将前台作业暂停到后台
可以用“Ctrl+Z”键将当前在前台运行的作业放到后台,并暂停执行。
⑶列出后台作业状态命令-jobs
⑷将后台作业放到前台运行
使用fg命令可以将后台作业放到前台运行。
⑸让后台暂停的命令在后台作业
使用bg命令可以将后台暂停的命令在后台继续执行。
3.作业调度命令
Linux提供了一些作业调度命令,用于在特定时间或周期性地执行程序。对于偶尔运行的作业采用at或batch调度。对于特定时间重复运行的作业采用cron调度和anacron 调度。
⑴at调度
at用于设置某一特定时刻执行的命令。at所设置的命令只执行一次。
⑵batch调度
batch的作用与at类似,但它要在系统平均负载量降到0.8 以下时才执行某项一次性的任务。
⑶cron调度
cron用于安排周期性的任务作业。
⑷anacron调度
anacron 是和cron 相似的任务调度器,只不过它并不要求系统持续运行,它可以用来运行通常由cron 运行的每日、每周、和每月的作业。
【操作实例4.9】
(1)查看系统当前进程,并观察各输出项和进程状态。
(2)以后台方式运行命令“man ls &”,然后根据该进程的PID杀死该进程。
(3)运行命令“man cat”,并用[Ctrl]+[Z]键将其放到后台,查看该进程作业号,然后将
其调回到前台。
(4)配置一个at作业,让系统在当前时间5分钟后将/root目录下的install.log文件复
制到/home目录下。
(5) 配置一个cron作业, 让系统在在每周2、4、6凌晨3点进入维护状态,重新启
动系统。
自主训练
1.将/etc/passwd的第一列取出,并每一列以字符串the n account is $user,其中n表示
行数,$user表示抽取的用户。
2.在根目录下有四个文件m1.txt,m2.txt,m3.txt,m4.txt,用Shell编程,实现自动创建m1,m2,m3,m4四个目录,并将m1.txt,m2.txt,m3.txt,m4.txt四个文件分别拷贝到各自相应的目录下。
3. 请用Shell编程来实现:当输入不同的选择时,执行不同的操作,如:输入start 开始启动应用程序myfiles,输入stop时,关闭myfiles,输入status时,查看myfiles 进程,否则执行*)显示“EXIT!”并退出程序。
4.用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到/dev 目录下。
5.设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。
6.某系统管理员需每天做一定的重复工作,请按照下列要求,编制一个解决方案:(1)在下午4 :50删除/abc目录下的全部子目录和全部文件;
(2)从早8:00~下午6:00每小时读取/xyz目录下x1文件中每行第一个域的全部数据加入到/backup目录下的bak01.txt文件内;
一、MySQL的热备份脚本
#!/bin/bash
PATH=/usr/local/sbin:/usr/bin:/bin
# The Directory of Backup
BACKDIR=/usr/mysql_backup
# The Password of MySQL
ROOTPASS=password
# Remake the Directory of Backup
rm -rf $BACKDIR
mkdir -p $BACKDIR
# Get the Name of Database
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
# Backup with Database
for dbname in $DBLIST
do
mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
done
domino权限
Domino数据库存取控制列表(ACL) 在Domino中,数据库的存取控制列表是Domino安全性的重要组成部分,也是决定每个用户能否访问数据库的主要设置。每个数据库都有自己的存取控制列表(Access Control List, 以下简称ACL)。打开一个数据库,选择菜单“文件”-“数据库”-“存取控制”,就可以看到该数据库的ACL。 ACL分为四个页面:基本、角色、日志和高级。以下分别说明这四个页面中的内容。并说明了ACL中可以接受的名称格式。 ACL的“基本”页面 ACL的核心功能都包含在“基本”页面中。在“个人/服务器/工作组”中选择“全部显示”,所有存取级别的用户都会被列出。也可以选择仅查看“管理者”、“设计者”等某个存取级别的用户。当选中某个用户名时,对话框中会显示他的用户类型和存取级别,以及与此存取级别相应的一些扩展和限制选项。用户类型和存取级别指定了用户对此数据库的最大权限。数据库的管理员可以增加、删除或修改用户的权限。
七个存取级别 ACL中共有七个存取级别:管理者、设计者、编辑者、作者、读者、存放者和无访问权限。了解这些级别的含义是了解ACL工作机制的基础。下图显示了每个存取级别的缺省权限,从无访问权限开始,每个级别都比下一级拥有更多的权限,直到拥有所有权限的管理者。(每个级别的权限都包含其下所有级别的权限)。
无访问权限 此级别表示用户没有任何权限,不能存取数据库。管理员可以开放给无访问权限的权限只有“读取公用文档”和“写公用文档”。关于公用文档的概念,见下面的“读写公用文档”部分。 存放者和读者 存放者只能向数据库中放入文档,但不能读取这些文档。读者则只能读文档,但不能向数据库中放入文档。二者都只具有单一的功能。(读者拥有一个额外的权限,可以执行代理)。 作者 作者可以创建、修改、删除文档。但是,要想使拥有作者权限的用户能够修改、删除文档,还需要作进一步的设置:要创建文档,需要选中“创建文档”选项。要修改文档,需要设置文档中的作者域。要删除文档,需要选中“删除文档”选项,同时需要设置文档中的作者域。 在设计数据库时,有一类特殊的域称为作者域,这种域的类型是“作者”。在文档中,作者域可以包含用户、群组或角色的名称。如果一个用户在ACL中具有作者权限,同时,他的名字又包含在文档的作者域中,那么,这个用户就是该文档的所有者之一,可以修改此文档。如果用户未被包含在作者域中,则即使此文档是由他创建的,也无权修改它。 作者域只对存取级别为作者的用户起作用。其他的存取级别不受
表格基本语法
表格(TABLE)标记(TAGS) 表格的基本语法
- 定义表格
- 定义表行 - 定义表头 | - 定义表元(表格的具体数据) 带边框的表格: 不带边框的表格: Food Drink Sweet A B C 跨多行、多列的表元(Table Span) 跨多列的表元 | Morning Menu |
---|
Food | Drink | Sweet |
---|
A | B | C | 跨多行的表元 | Morning Menu | Food | A | Drink | B | Sweet | C | 表格尺寸设置 边框尺寸设置: Lotus Script语法基础篇Lotus Script语法基础篇 注释 注释在程序运行中并不执行,只是让程序员在编写程序的时候添加的一些标记性的文字,但他的作用可不容忽视,在编写一个程序模块时说明这个模块的功能、作用、创建时间、作者等,这对以后的维护大有好处。一般在用户的脚本中插入头信息是一个不错的想法,如下事例: ‘Script name: Connect internet ‘Author: zynet ‘Last Modified: 6/23/08 ‘Description: Connect my webserver. 1.单行注释:通过输入一个单引号( ‘ )或REM ( Remark的缩写 )来添加。 2.多行注释:%Rem …%End Rem 所以以上例子也可以写成这样: %REM Script name: Connect internet Author: zynet Last Modified: 6/23/08 Description: Connect my webserver. %END REM 变量和数据类型 1.声明变量 Dim Variablename as type dim是dimension的缩写,为变量的值在内存中创建一个空间。 Variablename 是变量的名称,一个变量的名称一定要以字母开头,其后可以是字母、任何数字以及下划线,变量的名称不区分大小写,最多可容纳40个字符。Lotus中有一些保留字,大部分是指令和语句,它们不能被用做变量名。 type是数据类型,可以是Boolean、Byte、Integer、Long、Single、Double、Currency、String、Variant 当然以后在介绍面象对象的时候还涉及到类和对象的定义,也是这个声明格式,这些在以后再介绍。 类型值 Size 深圳优质结构工程奖申报表深圳市优质结构工程奖申报表 项目名称: 主体结构施工单位:(盖章) 桩基施工参建单位:(盖章) 申报日期: 深圳建筑业协会制 填表说明及申报要求 一、填表说明 1. 填表字迹应该工整; 2. 工程名称、工程地址、建设(开发)单位、设计单位、监理单位、施工企业名称应详细,并填写全称; 3. 建筑类型栏:可在相应栏目后的括号中打勾选择。 二、申报范围 (一)工业与民用建筑工程 1、单体建筑面积在5000平方米以上的公共建筑工程或住宅工程; 2、建筑面积在30000平方米以上设施配套的住宅小区或群体工程; 3、1000座位以上的剧院或礼堂、3000座位以上的体育馆、20000座位以上的体育场; 4、5000平方米以上的生产厂房、仓库。 (二)市政工程 1、投资在1000万元以上的桥梁、城市道路(该标段中的桥梁、箱涵、永久边坡、给水排水管道工程中的不开槽施工管道主体结构、城市人行天桥与人行地道等必须申报深圳市优质结构工程奖)等基础设施工程; 2、投资在5000万元以上的污水处理厂、水厂、城市轨道交通、隧道等工程。 二、申报要求 1. 所有施工资料必须采用现行的《广东省建筑工程竣工验收技术资料统一用表》电子版编制; 2. 施工材料的检测必须全部选用建设行政主管部门颁发的有资质证书的试验室; 3.主体工程各工序开始施工前,项目上必须首先施工样板供专家组验收,样板验收通过后,方可全面开展各工序施工; 4. 结构评优汇报资料应按“深圳市优质结构工程验收汇报提纲“要求准备,该资料可在深圳建筑业协会网站“网上申报通道”中的“资料下载”栏目中下载; 5.结构评优检查和验收要求必须按“深圳市优质结构工程评审程序”进行,该资料可在深圳建筑业协会网站“网上申报通道”中的“资料下载”栏目中下载; 6.结构评优工程资料必须按“优质结构工程资料检查要求(土建部分)”和“优质结构工程资料检查要求(钢结构部分)”要求准备,该资料可在深圳建筑业协会网站“网上申报通道”中的“资料下载”栏目中下载; 7.桩基施工单位是否作为结构评优的参建单位由桩基施工单位自行选择,但上部主体结构施工单位参评主体结构评优必须包括桩基部分; 8.2010年7月1日以后开工的项目,如果申报深圳市优质工程金牛奖的工程必须获得“深圳市建筑业新技术应用示范工程奖“。 9.企业有计划参评鲁班奖的项目,需在申报深圳市优质结构评优的同时,向广东 在 IBM Lotus Domino Designer 中使用 Java 构建应用程序在 IBM Lotus Domino Designer 中使用Java 构建应用程序 Oscar Hernandez, 高级软件工程师, IBM 简介:本文旨在帮助那些传统的 LotusScript 开发人员转向 Java 开发。在几乎不具备 Java 知识的情况下,本文可帮助您开始在 IBM Lotus Domino 中进行Java 应用程序开发。 简介 对于 IBM Lotus Notes 应用程序开发人员来说,LotusScript 和 LotusScript 类在设计 Notes 应用程序时很有用。LotusScript API 支持以编程方式与数据库、文档,甚至设计元素进行交互。随着 Java 发展成为主流编程语言,原来越多的 Notes 应用程序开发人员开始将目光投向 Java。 本文面向那些想要在 IBM Lotus Domino 中使用 Java 进行编程的 LotusScript 开发人员。假定读者具有一定的 LotusScript 编程经验。 本文包含三部分:Java 语言、示例和其他要素。Java 编程人员可以直接跳到示例部分,但是新手应该从 Java 语言部分开始阅读。 Java 语言 发布于 1995 年,Java 是一种面向对象的编程语言,它的出现满足了平台独立性需求。这是通过将 Java 源代码编译成字节码实现的,然后任意平台上的任何Java 虚拟机(JVM)都可以解释字节码。 因此,只要为目标平台实现了 JVM,就可以运行任何 Java 应用程序。有关更多信息,请参见“The History of Java Technology”。 Java 的语法类似于 C,而它面向对象的实现方式类似于 C++,因此 C/C++ 编程人员可以轻松掌握 Java。但是,LotusScript 开发人员可能会发现 Java 语法与 LotusScript 大不相同。 由于本文关注的是在 Lotus Domino 中使用 Java,因此所展示的示例也将在Lotus Domino 的环境中实现。 我们从经典的“Hello World”示例开始。在 Domino Designer 中创建新的 Java 代理时,会收到表 1 左栏所示的模板代码。右栏的代码已经进行了修改以适应“Hello World”示例的需要。 优质结构工程质量评价表样本优质结构工程质量评价表 目录 说明----------------------------------------------------------------------------------------------- 3 优质结构工程质量评价表-------------------------------------------------------------------- 5 混凝土现浇结构实体质量实测实量检查表 ------------------------------ 6 砌体结构实体质量实测实量检查表 ----------------------------------------- 7 优质结构工程质量控制资料核查表 ------------------------------------ 8 优质结构工程观感质量检查表 ----------------------------------------------------------------- 9 附录: 建筑新技术目录 ----------------------------------------------- 10 附录: 上海市建筑工程优质结构评审办法的若干补充规定( 试行) --------- 11 说明 1、单位( 子单位) 工程、分部工程( 子分部工程) 、分项工程、分项工程检验批的划分应符合《建筑工程施工质量验收统一标准》( GB50300- ) 的规定及设计要求。 2、分项工程检验批的优质标准 ( 1) 主控项目的质量符合设计要求和现行国家验收规范要求。 ( 2) 一般项目按现行验收规范要求应全数检查的项目和本标准规定的项目应100%符合要求, 现行验收规范要求抽样检查的允许偏差一般项目应有90%以上( 含90%) 的检查点( 处) 符合质量验收规范规定允许偏差的要求, 其它检查点( 处) 不得有影响使用功能的缺陷, 测点最大偏差值不得大于允许偏差值的1.5倍并不得大于国家现行验收规范的规定。 3、结构工程的优质标准 ( 1) 责任主体的行为符合国家和地方有关规定。 ( 2) 所含分部工程( 地基与基础、主体均应符合施工质量验收规范的规定。 ( 3) 质量控制资料应完整。 ( 4) 观感质量综合评定为”好”。 ( 5) 综合评分90分。 4.优质结构工程不能出现下列问题: ( 1) 使用国家和地方明文规定淘汰的建筑材料及设备、构配件的工程不得评为优质结构工程。 ①框架结构及高层建筑墙体禁止使用粘土实心砖, 内隔填充墙体禁止使用空洞率 lotusScript Notes类入门教程LotusScript Notes 课程指导 欢迎来到 LotusScript 和 Notes 的世界。“LotusScript Notes 课程指导”由三节课程组成,介绍如何在 Notes 中使用 LotusScript 语言。每节课程包括: 1.指导您通过创建和测试的 Script 的一系列步骤。 2.在线式解答 Script。 3.一个挑战,要求您用刚刚学到的知识创建一段新的 Script。 4.一个方案,提供一个可能解决挑战的方案。 每节课程都使您学习到一些 Notes 应用开发的经验,使您完成上一节课程的内 步骤0:准备工作 每节课程都使用一个简单的讨论数据库,现在创建它: 1. 选择“文件”“数据库”“新建”。 2. 在“服务器”选项中,选择“本地”。 3. 输入标题。例如可以输入“学习 LotusScript”。 4. 输入文件名。例如可以输入“LEARNING.NSF”。 5. 如果在列表中没有发现模板,选择模板服务器并且选择一个包含这些模板的服务器。 6. 选择“讨论数据库(R4)”模板。 7. 使“继承未来的设计变化”选项无效。 8. 单击“确定”。 9. 在 Notes 完成创建新数据库时,关闭“关于此数据库”文档。 现在准备开始第一课。 目录:第一课:打印数据库标题 第二课:统计视图中文档的数量 第三课:发送电子邮件消息 第一课:打印数据库标题 第一课指导您用 Script 创建一个按钮,无论何时用户单击此按钮便可以打印出数据库的标题。先创建一个示例的讨论数据库叫做“学习 LotusScript”。然后: 1.创建一个按钮 2.书写一个按钮的 Script ,无论何时用户单击此按钮便可以打印出数据库的标题。 3.编译和测试该 Script。 步骤 A:创建按钮 用户单击按钮时运行 Script,所以首先创建一个按钮。 1. 打开创建好的“学习 LotusScript”数据库。 2. 选择“创建”“讨论主题”在数据库中创建一个新的主题文档。 3. 输入一个简单的文档主题,例如“Scripting in Notes is a joy”。 4. 输入一个分类,例如“Script”。 5. 把光标移动到文档正文域中并选择“创建”“热点”“按钮”。程序员的设计窗格出 现在屏幕底部,同时出现了属性框。 6. 在按钮属性框中,编写按钮的标签,例如“打印标题”,然后单击绿色确认标志保存 它。关闭属性框。 7. 在程序员的设计窗格中,如果该按钮没有被选中,则从定义好的可编程对象中选择“打 印标题”按钮。 8. 选择 Script 可选按钮。 9. 如果按钮事件没被选中的话,从按钮事件列表中选择“Click”。当“Click”事件发 生时,本 Script 将运行。 资料 俄语语法基础表格名词变格表 单数复数 1 2 3 4 5 6 1 2 3 4 5 6 阳性硬辅音 ① -а-у 同 一 或 同 二 -ом-е-ы-ов-ам 同 一 或 同 二 -ами-ах-ц①-а-у-ем -ом -е-ы-ев-ов--ам-ами-ах-г① -к -х- -а-у-е-и-ов-ам-ами-ах -ом -ж① -ч -ш -щ -а-у -ем -ом-е-и-ей-ам-ами-ах -й -ий -я -ия -ю -ию -ем -ием -е -ии -и -ии -ев -иев -ям -иям -ями -иями -ях -иях-[тел] ь -я-ю-ем-е-и-ей-ям-ями-ях 中性 -о-а-у-о-ом-е-а—-ам-а-ами-ах-е-я-ю-е-ем-е-я-ей-ям-я-ями-ях-ье -ь? -ья-ью-ье -ь? -ьем -ь?м -ье -ьи -ья-ий-ьям-ья-ьями-ьях-ие -и? -ия-ию-ие -и? -ием -и?м -ии (-ие)② -ия-ий-иям-ия-иями-иях-же -че -ше -ще -це -а--у-е-ем-е-а—-ам-а-ами-ах -мя-мени-мени-мя-менем-мени-мена-менам-менам-мена-менам и -менах 阴性 -а-ы-е-у-ой (-ою)③ -е-ы—-ам 同 一 或 同 二 -ами-ах-ца-ы-е-у -ей (-ею) -ой (-ою) -е-ы—-ам-ами-ах -га -ка -ха -и-е-у -ой (-ою) -е-и—-ам-ами-ах-жа -ча -ша -ща -и-е-у -ей (-ею) -ой (-ою) -е-и—-ам-ами-ах-я-и-е-ю -ей (-ею) -е-и -ь -й -ям-ями-ях-ья-ьи-ье-ью -ьей (-ьею) -ье-ьи -ий -ей -ьям-ьями-ьях-ия-ии-ии-ию -ией (-иею) -ии-ии-ий-иям-иями-иях-[ост] ь -и-и-ь -ью (-ию) -и-и-ей-ям-ями-ях -жь -чь -шь -щь -и-и-ь -ью (-ию) -и-и-ей-ам-ами-ах 学习LotusScript学习LotusScript 学习LotusScript LotusScript对象与类 1.面向对象编程 类是以抽象数据类型为基础的对象行为,抽象数据类型定义了以类型为基础执行所有接口为一个类而定义的所有操作称之为方法。 2.对象 一般可以从两个方面来理解面向对象编程中的对象: ?属性。 ?对象。 3.类 类是从对象中抽象出来,作为对具有相同特征的一组对象的描述。类是一种定义,它描述该类中每个对象共有的属性和方法,类不占用计算机内存。 Notes中的类被分为前端类(front-end)和后端类(back-end)两种。 前端类主要对用户当前正在工作的对象、表示Notes客户机用户界面中的对象进行操作。后端类可以访问和操作任何数据库中的任何文档、视图与文件夹内容、数据库ACL以及外部数据。 7个前端类 ?NotesUIDatabase :代表Notes工作台上打开的数据库 ?NotesUIDocument :用于用户访问当前文档 ?NotesUIView :代表当前的数据库视图 ?NotesUIWorkspace :帮助用户访问Notes当前的工作台 ?Button :代表表单或文档上的操作按钮、热点或按钮 ?Navigator :代表一个导航器上的对象,帮助用户操作浏览器 ?Field :代表表单中的一个域。 23个后端类 ?NotesACL :代表数据库中的所有存取控制列表,通过它用户可以访问和使用数据库中的存取控制列表 ?NotesACLEntry :代表存取控制列表中一个单一的ACL项目,通过它用户可以查询Notes 对象的访问属性 ?NotesAgent :代表一个代理,通过它用户可以运行一个代理或查询代理的属性 JS中常用的语法大全JS中常用的语法大全 1.输出语句:document.write("") 2.JS中的注释为:// 3.传统的HTML文档顺序是:document->html->(head,body) 4.一个浏览器窗口中的DOM顺序 是:window->(navigator,screen,history,location,document) 5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号 ").name(或value) 6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase(); 7.JS中的值类型:String,Number,Boolean,Null,Object,Function 8.JS中的字符型转换成数值型: parseInt(),parseFloat() 9.JS中的数字转换成字符型: (""+变量) 10.JS中的取字符串长度是: (length) 11.JS中的字符与字符相连接使用+号. 12.JS中的比较操作符有: ==等于,!=不等于,>,>=,<.<= 13.JS中声明变量使用: var来进行声明 14.JS中的判断语句结构: if(condition){}else{} 15.JS中的循环结构: for([initial e?xpression];[condition];[upadte e?xpression]) {inside loop} 16.循环中止的命令是: break 17.JS中的函数定义: function functionName([parameter],...){statement[s]} 18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替. 19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self 20.状态栏的设置: window.status="字符"; 21.弹出提示信息:window.alert("字符"); 22.弹出确认框:window.confirm(); 23.弹出输入提示框:window.prompt(); 24.指定当前显示链接的位置:window.location.href="/blog/URL" 25.取出窗体中的所有表单的数量:document.forms.length 26.关闭文档的输出流:document.close(); 27.字符串追加连接符:+= 28.创建一个文档元素:document.createElement(),document.createTextNode() 29.得到元素的方法:document.getElementById() 30.设置表单中所有文本型的成员的值为空: var form = window.document.forms[0] for (var i = 0; i if (form.elements.type == "text"){ form.elements.value = ""; LotusScript 代理的基本用法LotusScript 代理的基本用法 1、FTSearch搜索: Set dc=db.Ftsearch("name",0) '0位置为最大的查询数,0为所有匹配的文件FTSearch必须创建数据库索引Set doc=dc.Getfirstdocument()、 2、Item: Set doc=dc.Getfirstdocument() While Not doc Is Nothing ForAll ritem In doc.Items MsgBox https://www.360docs.net/doc/1d19142958.html, End ForAll Wend 3、取出特定的域 Set doc=view.getFirstdocument() If doc.HashItem("yu") <> "" Then Set item=doc.getfirstitem("yu") Set doc=view.getNextdocument(doc) End If 4、使用文本属性 If doc.Hashitem("yu") <> "" Then Set doc=dc.Getfirstdocument() While Not doc Is Nothing ForAll itemValue In doc.yu itemValue = "Anonymous" End ForAll Set doc=dc.Getnextdocument(doc) Wend End If 5、获取域值: ForAll itemValue In doc.Getitemvalue("yu") 6、添加域 set item =new NotesItem(doc,"newYu",https://www.360docs.net/doc/1d19142958.html,erName) Call doc.Appenditemvalue("newYu",Newvalue) 7、替换值: 1)、While Not doc Is Nothing Call doc.Replaceitemvalue("resName","newValue") Set doc=dc.getnextdocument(doc) Wend 2)、Set doc=dc.Getfirstdocument() While Not doc Is Nothing 'Call doc.Replaceitemvalue("resName","newValue") Set item =doc.Getfirstitem("yu") 结构工程师岗位职责结构工程师岗位职责 1、根据产品的项目要求负责新产品的外观、工艺、结构等方面的设计和制作; 2、主动积极负责项目跟进,开模前评估,试模检讨以及试产\模具验收; 3、负责产品维护,出相关产品技术资料(检验图)及签板,结案资料完整准确,有条理,重点突出; 4、处理生产异常及模具异常问题,准确迅速的分析问题并解决,与其他部门沟通顺畅; 5、对产品持续优化,通过改进设计方案、改进材料、增加零件的通用性控制成本; 6、完成部门负责人安排的其他工作。 7、对新产品的开发提出意见和建议。 8、负责新产品的结构设计,绘制二维图。 9、对现场生产环境,人员素质提出意见和建议。 10、根据产品详细设计报告,完成符合功能和性能要求的方案设计。 1. 和项目经理、硬件设计人员一起确定外壳的设计方案、PCB板设计,同时确定内部PCB板的安装方式和外部接口安装方式; 2. 根据设计方案,绘制总装配图。 11、根据方案设计说明进行详细设计。 1. 根据总装配图,进行所有零件的详细设计。设计完成后,请资深 工程师协助校对; 2. 零件设计完成后,进行二维图绘制,并对每张图纸进行编号,做到一图一号; 3. 编制材料明细表; 4. 编制标准件汇总表; 5. 编制图样目录清单。 12、样机零件加工。 1. 根据相关标准、图纸和工艺,进行自制件的加工并检验; 2. 根据相关标准、图纸和工艺,委外进行外协件的加工并检验。 13、样机装配调试。 1. 配合相关人员进行样机装配; 2. 配合相关人员进行样机调试; 14、编制项目文档、测试记录及其他有关文档。 1. 编写项目文档; 2. 编写测试记录文档; 3. 编写各项指标记录文档; 4. 编写问题及解决措施记录文档 第一章 javascript核心语法第一章javascript核心语法 一,javascript简介 a)什么是javascript i.是一种脚本语言(解释性的语言) ii.基于对象的语言(面向对象) iii.简单性(与java类似) iv.安全性(不允许访问本地磁盘,也不能将数据存入到服务器,不允许对网络文档进行修改和删除) v.动态性(直接对用户输入做出响应,无需经过web服务程序)vi.跨平台(javascript依赖浏览器解释运行) vii.弱类型语言 b)Javascript的作用 i.控制文档的外观和内容 ii.控制浏览器的行为。(如浏览器的后退和刷新等) iii.与用户交互。(验证用户输入信息) iv.与页面各元素交互 v.读写部分客户端信息(读写cookie) c)什么地方编写javascript i.头部信息区() 二,javascript语言的基本元素 a)标识符:任意顺序的大小写字母,数字,下划线和$符号组成, 不能以数字开头,不能是javascript的保留关键字。 b)变量: i.var 标识符[,标识符][=值];如果未赋值则默认值为undefined。 ii.作用域为:全局和局部 1.全局变量定义在函数外 2.局部变量定义在函数内 c)注释:// /*…*/ d)数据类型 i.数字型 ii.字符串型 1.‘abc’ 2.“abc” 3.‘abc a=”A”’ 4.“abc a=’A’” iii.布尔型true 和fasle iv.转义字符\n 回车换行\t制表符 v.未定义类型undefined vi.空值null 三,运算符和表达式 a)算术运算符: + - * / % ++ -- b)比较运算符:< > >= <= == != 优质结构申请表(齐全)附件2 施工现场质量保证条件评分表(表1) 工程名称临汾水云间二期工程 9#商业楼 施工阶段施工准备 检查 日期 2013年9月17日 施工单位山西一建集团有限公司评价单位中铁济南工程建设监理有限 公司 序号检查项目应得分 判定结果 实得分备注 100﹪85﹪70﹪ 1 施工现场 质量管理 及质量责 任制度 现场组织机构、质保体 系,材料、设备进场验 收制度、抽样检验制度, 岗位责任制及奖罚制度 30 √25 2 施工操作标准及质量验收规范配置30 √30 3 施工组织设计、施工方案20 √17 4 质量目标及措施20 √17 检查结果权重值10分。 应得分合计:100 实得分合计:89 施工现场质量保证条件评分=(实得分∕应得分)×10=8.9 评价人员:刘亚林张新华樊高峰牛国红杨俊峰 2013年9月17日 工程名称 临汾水云间二期工程 9#商业楼施工阶段地基 检查 日期 2013年9月17日 施工单位山西一建集团有限公司评价单位中铁济南工程建设监理有限公司 序号检查项目应得分 判定结果 实得分备注 100﹪85﹪70﹪ 1 地基地基强度、压实系数、 注浆体强度 50 √ 100 地基承载力50 √ 2 复合 地基 桩体强度、桩体干密度(50) 复合地基承载力(50) 3 桩基 单柱竖向抗压承载力(50) 桩身完整性(50) 检查结果权重值35分。 应得分合计:100 实得分合计:100 地基及桩基工程性能检测评分=(实得分∕应得分)×35=100/100×35=35 评价人员:刘亚林张新华樊高峰牛国红杨俊峰 2013年9月17日 工程名称临汾水云间二期工程 9#商业楼 施工阶段地基 检查 日期 2013年9月17日 施工单位山西一建集团有限公司评价单位中铁济南工程建设监理有限公司 序号检查项目应得分 判定结果 实得分备注 100﹪85﹪70﹪ 1 材料预制 桩合格证 (出厂试 验报告)及 进场验收 记录 材料合格证(出厂试验 报告)及进场验收记录 及钢筋、水泥复试报告 30 预制桩合格证(出厂试 验报告)及进场验收记 录 (30) 2 施 工 记 录 地基处理、验槽、钎探 施工记录 30 √ 34 预制桩接头施工记录(10) 打(压)桩试桩记录及 施工记录 (20) 灌注桩成孔、钢筋笼、 混凝土灌注检查记录及 施工记录 (30) 检验批、分项、分部(子 分部)工程质量验收记 录 10 √ 3 施 工 试 验 灰土、沙石、注浆桩及 水泥、粉煤灰、碎石桩 配合比试验报告 30 钢筋连接试验报告(15) 混凝土试件强度试验报 告 (15)预制桩龄期及试件强度 试验报告 (30) 检查结果权重值35分。 应得分合计:40 实得分合计:34 地基及桩基工程质量评分=(实得分/应得分)×35=29.75 评价人员:刘亚林张新华樊高峰牛国红杨俊峰 2013年9月17日 ACL基础在Domino中,数据库的存取控制列表是Domino安全性的重要组成部分,也是决定每个用户能否访问数据库的主要设置。每个数据库都有自己的存取控制列表(Access Control List, 以下简称ACL)。打开一个数据库,选择菜单“文件”-“数据库”-“存取控制”,就可以看到该数据库的ACL。 ACL分为四个页面:基本、角色、日志和高级。以下分别说明这四个页面中的内容。并说明了ACL 中可以接受的名称格式。 ACL的“基本”页面 ACL的核心功能都包含在“基本”页面中。在“个人/服务器/工作组”中选择“全部显示”,所有存取级别的用户都会被列出。也可以选择仅查看“管理者”、“设计者”等某个存取级别的用户。当选中某个用户名时,对话框中会显示他的用户类型和存取级别,以及与此存取级别相应的一些扩展和限制选项。用户类型和存取级别指定了用户对此数据库的最大权限。数据库的管理员可以增加、删除或修改用户的权限。 点击看大图 返回 七个存取级别 ACL中共有七个存取级别:管理者、设计者、编辑者、作者、读者、存放者和不能存取者。了解这些级别的含义是了解ACL工作机制的基础。下图显示了每个存取级别的缺省权限,从不能存取 者开始,每个级别都比下一级拥有更多的权限,直到拥有所有权限的管理者。(每个级别的权限 都包含其下所有级别的权限)。 不能存取者 此级别表示用户没有任何权限,不能存取数据库。管理员可以开放给不能存取者的权限只有“读取公用文档”和“写公用文档”。关于公用文档的概念,见下面的“读写公用文档”部分。 存放者和读者 存放者只能向数据库中放入文档,但不能读取这些文档。读者则只能读文档,但不能向数据库中放入文档。二者都只具有单一的功能。(读者拥有一个额外的权限,可以执行代理)。 作者 作者可以创建、修改、删除文档。但是,要想使拥有作者权限的用户能够修改、删除文档,还需要作进一步的设置:要创建文档,需要选中“创建文档”选项。要修改文档,需要设置文档中的作者域。要删除文档,需要选中“删除文档”选项,同时需要设置文档中的作者域。 在设计数据库时,有一类特殊的域称为作者域,这种域的类型是“作者”。在文档中,作者域可以包含用户、群组或角色的名称。如果一个用户在ACL中具有作者权限,同时,他的名字又包含在文档的作者域中,那么,这个用户就是该文档的所有者之一,可以修改此文档。如果用户未被包含在作者域中,则即使此文档是由他创建的,也无权修改它。 作者域只对存取级别为作者的用户起作用。其他的存取级别不受作者域的限制。例如,存取级别为读者的用户,即使名字包含在作者域中,也无权修改文档;存取级别为编辑者以上的用户,不需要包含在作者域中也可以修改数据库中所有文档。 因此,在设计数据库时,如果需要仅允许用户修改库中的一部分文档,则需要加入作者域,以细化用户的权限。 编辑者 编辑者具有更高的存取权限,可以修改数据库中的所有文档。通过各个子选项的设置,还可以赋予编辑者以下权限:删除文档,创建个人代理,创建个人文件夹/视图,创建共享文件夹/视图,创建LotusScript/Java代理。 结构工程师_结构设计规范标准结构工程师-结构设计规范 一.首先,结构设计必需考虑符合安规要求。具体与结构相关的安规要求见附件一《结构设计安规要求》。 二.钣金件的设计规范: 1.材料的选用:根据不同的需求,选择合适的材料。 2.钣金件结构的设计应尽量减少利边和尖角的出现。 3.输出钣金件图纸时,图纸上需注明毛刺方向、产品材质、表面处理等。 4.钣金件上所有的牙孔需在图纸上标明,若设计为自行攻牙的牙孔需事先计算好底 孔尺寸并在图纸上标明。 5.固定传感器的钣金件(如:过渡板、计数架)在设计时需考虑兼容性,便于后期 扩展其它新机型。在输出开模资料时需在图纸上特别标明哪些特征在后期会新开冲孔模进行替换。 6.钣金件的设计必需遵循钣金件设计规范。详见附件二《钣金结构件可加工性设计 规范》。 三.塑胶件的设计规范: 1.材料的选用:根据不同的需求选择合适的材料。例如:传动轮或磨擦较频繁的部 件需选用耐磨材料POM、PA66等。与钞票有磨擦的部件尽量选用导电材料或抗静电材料,防止静电的产生和静电释放。靠近发垫部件的塑胶部件需选用防火材料,并且设计时应尽量远离发热体。若受空间限制无法远离,可考虑选用金属材料。 2.结构设计需考虑部件自身的强度、产品注塑成型造成的缩水、熔合线等。塑胶产 品的设计必需遵循塑胶产品设计规范,详见附件三《塑胶产品设计规范及注意事项》。 3.塑胶镶嵌螺丝、螺母及五金预埋件(如:五金提手)在结构上的设计规范: a.预埋件金属体紧配面需滚花处理。 b.预埋件金属体紧配面车削加工直径方向成大小大尺寸。 c.大五金预埋件在五金件的结构设计时需预先考虑五金件自身的强度,防止在 注塑成型时由于注塑压力造成五金件变形。设计塑胶包胶部份需考虑其胶 厚,尽量保持均匀胶厚且胶厚不可太厚防止缩水及不易注塑成型。 4.螺丝柱上螺孔尺寸的设计需符合下表的要求(参考用): JavaScript基本语法实验实验报告一、实验目的 1、利用JavaScript完成一些基本的逻辑程序设计,掌握JavaScript的基本语法 二、实验过程 1、源程序 Cyoung 的窝_注册 | designed by Cyoung | No.20081307014 home@nuist |
|