命令模式

寒假第二次作业作业引导和提示

陌路散爱 提交于 2020-02-08 14:05:22
寒假第二次作业引导和提示 第二次作业涉及的面比较多,如果之前没有自学相关知识可能会觉得无从下手,以下给大家分析一下这次作业 1. 该以怎样的顺序完成作业,侧重点在哪 本次作业主要考察Git、GitHub使用,代码规范意识,一定的程序设计能力(基于命令行),PSP,以及单元测试和性能分析改进。 在开始时建议先建一个空白文稿统计自己花在各个地方的耗时,方便到时候写到PSP表格上(关于PSP表格,参考作业附录)。 之后先别急着写程序,先看一些Git、GitHub的教程,学会基础使用之后,按照作业要求fork主仓库,根据示例目录结构建好自己的目录。 建好目录之后,便可以根据自己使用的语言,根据作业要求,制定代码规范,代码规范按照markdown格式,写到codestyle.md中。 这时便可以开始分析需求、设计模块。需求分析清楚后便可以开始写程序。 当你有所产出之后,便可以进行commit,并push到github。作业要求commit 10次并不多,只是让大家养成习惯。 对于你已经写好的函数、类,要及时进行单元测试,此次作业要求最少10个测试用例。 单元测试记得满足“FAIR”原则,即fast(快速)、automated(自动)、isolated(隔离)、repeatable(可重复)。具体使用什么框架并无限制。 单元测试应该随着程序开发逐渐进行。确保你之后的修改不会导致单元测试的失败

HiveQL:数据定义

假如想象 提交于 2020-02-08 10:03:50
实验目的 掌握应用HiveQL创建数据库 掌握应用HiveQL创建表 掌握应用HiveQL创建视图 硬件环境要求 实验环境 PC机至少4G内存,硬盘至少预留50G空间。 软件要求 已安装并启动Hadoop 已安装并启动Hive 实验要求 应用HiveQL创建数据库 应用HiveQL创建表 应用HiveQL创建视图 实验步骤 第5章 HiveQL:数据定义 1 应用HiveQL创建数据库 1.1 进入Hive命令模式: 实验操作演示: 所用命令或代码: # hive 1.2 创建数据库hive 实验操作演示: 所用命令或代码: hive> create database hive; 如果hive数据库已经存在,则会抛出异常,可以加上if not exists关键字,则不会抛出异常。 hive> create database if not exists hive; 1.3 查看创建好的数据库 实验操作演示: 所用命令或代码: hive> show databases; 1.4 使用创建好的数据库 实验操作演示: 所用命令或代码: hive>use hive; 2 应用HiveQL创建表 2.1 在hive数据库中,创建表usr,含三个属性id,name,age 实验操作演示: 所用命令或代码: hive>create table if not exists usr(id bigint

linux—find指令常见用法示例

心已入冬 提交于 2020-02-08 09:46:15
Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强da的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS) ,find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个菲常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很多的时间( 这里是指30G字节以上的文件系统) 。 1.命令格式:find pathname -options [ -print -exec -ok ...] 2.命令功能:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘) 3.命令参数:pathname: find命令所查找的目录路径。例如用. 来表示当前目录,用/来表示系统根目录。 -print: find命令将匹配的文件输出到标准输出。 -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。 -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。 4.命令选项: -name 按照文件名查找文件。 -perm

复制、移动和删除:cp, rm, mv

北慕城南 提交于 2020-02-08 04:23:49
 要复制文件,请使用cp(copy)命令。不过,cp命令的用途很多。除了单纯的复制之外,还可以建立连接文件(就是快捷方式),比较两个文件的新旧而予以更新,以及复制整个目录等等。至于移动目录与文件,则使用mv(move),这个命令也可以直接用来重命名(rename)。删除使用rm(remove)命令。下面我们就来看一看。 cp(复制文件或目录) [root@linux ~]# cp [-adfilprsu] 来源文件(source) 目标文件(destination) [root@linux ~]# cp [options] source1 source2 source3 .... directory 参数: -a : 相当于 -pdr 的意思。 -d : 若来源文件为连接文件的属性(link file),则复制连接文件属性而非文件本身。 -f : 强制(force)的意思,若有重复或其他疑问时,不会询问用户,而强制复制。 -i : 若目标文件(destination)已经存在,在覆盖时会先询问是否真的操作。 -l : 建立硬连接(hard link)的连接文件,而非复制文件本身。 -p : 连同文件的属性一起复制,而非使用默认属性。 -r : 递归持续复制,用于目录的复制行为。 -s : 复制成为符号连接文件(symbolic link),即“快捷方式”文件。 -u :

启动时间优化,内核裁剪

假装没事ソ 提交于 2020-02-08 03:34:28
linux系统启动优化5个部分: 1,开机时钟时序优化; 2,Uboot优化; 3,Kernel优化; 4,Rootfs优化; 5,应用程序优化; ROM Code : NAND内固化好的一段代码,主要作用是初始化CPU、DDR等硬件。 U-Boot : 初始化串口、网口等硬件设备,并引导系统加载内核镜像到DDR中执行。 Kernel : 负责内核子系统初始化,挂载根文件系统,加载各模块的驱动程序。 Rootfs : linux内核外围的一个应用环境。 Apps : 包括图丁系统以及图丁系统下开发的所有应用程序。 1,ROM code基本动不了,涉及到硬件时序,修改的话可能影响系统稳定性。 2,Uboot优化:删除部分命令;禁止启动延迟;禁止内核镜像校验;修改内核镜像加载方式;优化U盘升级文件扫描时间 Uboot拥有较多命令: 如环境变量设置命令setenv、跳转至内存物理地址的命令bootm等等。 在非调试状态下,可以通过裁剪部分命令来加快uboot的启动速度。(实际上,想通过裁剪命令加快启动速度,就是扯淡) 启动过程用到的命令: 【bootcmd : mmc,run loadimage/mmcboot,bootm】 【loadimage : fatload】 【mmcboot : echo,run mmcargs,test,bootz】 【mmcargs : setenv】

git学习使用

谁说胖子不能爱 提交于 2020-02-08 02:17:18
git命令 版本库—repository :又名仓库,英⽂文名 repository ,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任 何时刻都可以追踪历史,或者在将来某个时刻可以“还原”,工作区有⼀一个隐藏⽬录“ .git ”,这个不算⼯工作区,⽽而是Git的版本库。 Git的版本库⾥里存了很多东西,其中重要的就是称为 stage (或者叫index)的 暂存区 ,还有Git为我们⾃自动创建的第一个分支master,以及指向master的⼀一个指针叫HEAD。 git init # 初始化一个git仓库,。 git add xxx # 添加文件到暂存区 git commit - m "first commit" # 把暂存区的所有内容提交到当前分支 -m 输入提交说明 为什么Git添加⽂文件需要add,commit⼀一共两步呢?因为commit可以⼀一次提交很多⽂文件, 所以你可以多次add不同的⽂文件,比如: $ git add file1 . txt $ git add file2 . txt $ git add file3 . txt $ git commit - m "add 3 files." git status # 查看当前仓库的状态 git diff 文件名 #查看修改修改内容 git log

Linux部署.NetCore站点 使用Supervisor进行托管部署

六眼飞鱼酱① 提交于 2020-02-08 01:18:44
前言 之前终于在Linux上部署好了.NetCore站点,但是这个站点非常“脆弱”。当我的ssh连接关闭或者我想在当前连接执行其他命令时候就必须关闭dotnet站点的执行程序。这显然不是我想要达到的效果,还好知道有所谓的守护进程这个东西,大多数人都是推荐采取Supervisor来进行Linux上的应用进程管理,这里就开始使用它来对我们的.NetCore应用进程进行托管吧。 Linux的守护进程 我对于Linux的守护进程的理解是在Linux操作系统上通过守护进程的配置对需要进行守护的应用进行有效管理,如开机自启动、进程崩溃后自动重启等等。总之把它当成一个应用管家,在这个管家里我们要做好配置,以及可以手动对进程进行启动、停止等等操作。 这里假设已经将.NetCore应用部署到了Linux,存放的目录为 /root/netcore 应用名称为LinuxWebAppSample1 在站点存放的目录输入pwd可以获取到当前目录: 至于安装sdk、运行时什么的就不说了,部署站点那篇博客已经将详细的顺序和命令都写出来。现在就是万事俱备,只差我们的守护进程管理软件 Supervisor 安装Supervisor 输入下面命令安装Supervisor yum install supervisor 输入下面命令查看是否安装成功 supervisord --version

linux基础命令2

人盡茶涼 提交于 2020-02-08 00:40:10
1.alias:查看和设置别名 设置别名 [root@ken ~]# alias "ken=ls -l" 取消别名 [root@ken ~]# unalias ken 2.uname 显示输出系统信息 -a:显示所有的信息 -r:显示内核 cat /etc/redhat-release 查看linux心痛版本 3.su 运行替换用户和组标识的shell su - 4.hostname 显示主机名 设置主机名为liang hostname liang 立即生效,重启失效 hostnamectl set-hostname liang 立即生效,重启动不失效 5.history 查看历史命令(1000行) 执行第几行的命令: !行数 6.which 显示命令的完整路径(绝对路径) 7.wc 统计文本信息 实例1: [root@ken ~]# cat /etc/passwd | wc -l 统计行数 38 实例2: [root@ken ~]# echo "this is ken" | wc -c 统计字节 12 实例3 [root@ken ~]# echo "this is ken" | wc -w 统计单词数量 3 8.w 显示已经登录的用户以及他们在做什么 实例: USER:显示登陆系统的用户的帐号名。如果用户重复登录,则该帐号名就会重复显示。 TTY:用户登录的终端代号

Shell脚本的基本命令

丶灬走出姿态 提交于 2020-02-07 23:54:54
1. 什么是Shell(计算机壳层) 在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器) 它类似于 DOS 下的command . com和后来的cmd . exe,它接收用户命令,然后调用相应的应用程序 同时它又是一种程序设计语言,作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令 作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支 在排序算法中,Shell是希尔排序的名称 简单来说,shell就是用户和系统交互的工具 1 2 3 4 5 6 1. 脚本是一种解释型语言 2. 用shell脚本来保存执行动作 3. 用脚本判定命令的执行条件 4. 用脚本来实现动作的批量执行 1 2 3 4 文字操作系统与外部最主要的接口就叫做shell,shell是操作系统最外面的一层 shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果 shell提供了你与操作系统之间通讯的方式,这种通讯可以: 以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script ( 非交互)方式执行 shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用 本质上,shell

docker入门

喜欢而已 提交于 2020-02-07 18:57:40
目录 第一章 什么是docker 1.1 docker的发展史 1.2 docker国内应用史 1.3 什么是Docker 第二章 了解docker 2.1 docker思想 2.1.1 集装箱 2.1.2 标准化 2.1.3 隔离 2.2 docker解决的问题 2.2.1 系统环境不一致 2.2.2 系统好卡,哪个哥们又写死循环了 2.2.3 双11来了,服务器撑不住了 第三章 走进docker 3.1 镜像 3.2 容器 3.3 仓库 第四章 centos下docker安装 第五章 docker初体验 5.1 docker基本命令 5.2 docker运行镜像流程 第六章 docker运行nginx 6.1 运行nginx镜像 6.2 docker网络 6.2.1 网络介绍 6.2.2 实际访问端口 第七章 docker部署第一个java web应用 7.1 制作自己的镜像 7.2 运行自己的镜像 第一章 什么是docker 1.1 docker的发展史 2010年几个年轻人成立了一个做PAAS平台的公司dotCloud.起初公司发展的不错,不但拿到过一些融资,还获得了美国著名孵化器YCombinator的支持,后来微软谷歌亚马逊这样的大厂商也纷纷加入PAAS平台,竞争十分激烈,dotCloud举步维艰. 2013年可能是公司发展的不是很好,工程师又不想自己的努力付之东流