20145219 《信息安全系统设计基础》第01周学习总结

20145219 《信息安全系统设计基础》第01周学习总结

教材学习内容总结

  • 别出心裁的Linux命令学习法

    1、Ubuntu快捷键

      CTRL+ALT+T:打开终端;CTRL+SHIFT+T:新建标签页;ALT+数字N:终端中切换到第N个标签页;Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成;上下键盘:切换命令历史,刚输入一个很长的命令,按上键就可以恢复;CTRL+C:中断程序运行。

    2、Linux命令

    命令格式:command [options] [arguments]

    括号是可选的,有些命令不需要选项也不需要参数。选项(option)是调整命令执行行为的开关,选项不同决定了命令的显示结果不同,参数(arugment)是指命令的作用对象。

    3、ls命令

    lsls .是两条等价的命令,显示当前目录的内容。这里“.”就是参数,表示当前目录,这个参数缺省可以省略。

    ls -a .命令表示显示当前目录中的所有内容,包括隐藏文件和目录。

    4、man命令

    man是manul的缩写,我们可以通过man man来查看man的帮助。

    其中,1,2,3是我们学习的重点:

      1是普通的Linux命令  2是系统调用,操作系统的提供的服务接口 3是库函数,C语言中的函数

    多关键字查找:man -k key1 | grep key2 | grep key3 | ...

    man -k 等价的命令apropos,使用man -k找到命令后,可以用man -f cmd查看命令的基本功能。

    man -f等价于whatis

    5、 cheat 命令

    cheat命令是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能。

    6、其他核心命令

    find:查找一个文件在系统中的什么位置,可以通过cheat find学习find命令。

    locate:神速版本的find(Windows下有个神器Everything和locate功能类似)。

    grep :可以对文件全文检索。通过grep -n main *.c可以快速找到main在哪个C文件中并指出在第几行。grep支持正则表达式,可以通过cheat grep学习grep命令。

    whereis、which:告诉你使用的命令工具装在什么地方。我们在Linux下上网使用firefox浏览器,大家可以使用whereis firefox或更精确的使用which firefox来看看结果。

    apt-cache:可以在使用apt-get install安装一个程序时先找找软件源的库里有没有这个程序,有才可以安装。

  • Linux基础

    1、知识

      元知识:形成构建解决问题的专业体系的深度思考力;硬知识:给记忆造成大量的负担,又耗费大量的时间记忆的知识;软知识:经验知识。
  • Linux 基础入门

    1、Linux :一个操作系统。

    2、操作系统:始于二十世纪 50 年代,当时的操作系统能运行批处理程序。批处理程序不需要用户的交互,它从文件或者穿孔卡片读取数据,然后输出到另外一个文件或者打印机。二十世纪六十年代初,交互式操作系统开始流行。它不仅仅可以交互,还能使多个用户从不同的终端同时操作主机。这样的操作系统被称作分时操作系统,它的出现对批处理操作系统是个极大的挑战。

    3、重要人物:

      Ken Thompson:C 语言之父和 UNIX 之父Dennis Ritchie:C 语言之父和 UNIX 之父Stallman:著名黑客,GNU 创始人,开发了 Emacs、gcc、bash shellBill Joy:BSD 开发者Tanenbaum:Minix 开发者Linus Torvalds:Linux 之父,芬兰赫尔辛基大学

    4、Linux 与 Windows 的不同

    (1)软件支持:

    Windows 平台:数量和质量的优势,不过大部分为收费软件;由微软官方提供重要支持和服务;

    Linux 平台:大都为开源自由软件,用户可以修改定制和再发布,由于基本免费没有资金支持,部分软件质量和体验欠缺;有全球所有的 Linux 开发者和自由软件社区提供支持。

    (2)安全性:

    Windows 平台:三天两头打补丁安装系统安全更新,还是会中病毒木马;

    Linux 平台:相对来说肯定比 Windows 平台要更加安全,不用装某杀毒,某毒霸。

    (3)使用习惯:

    Windows:普通用户基本都是纯图形界面下操作使用,依靠鼠标和键盘完成一切操作,用户上手容易入门简单;

    Linux:兼具图形界面操作(需要使用带有桌面环境的发行版)和完全的命令行操作,可以只用键盘完成一切操作,新手入门较困难,需要一些学习和指导(这正是我们要做的事情),一旦熟练之后效率极高。

  • 基本概念及操作

    1、Terminal(终端)

    终端(Terminal)和控制台(Console)是有区别的。使用[Ctrl]+[Alt]+[F1]~[F6]进行切换标签,切换到其中一个终端后想要切换回图形界面,你可以按下[Ctrl]+[Alt]+[F7]来完成。

    2、重要快捷键

    (1)[Tab]:进行补全命令、补全目录、补全命令参数。

    (2)[Ctrl+c]:强行终止当前程序,并不会使终端退出。

    (3)其他常用快捷键:

      Ctrl+d  键盘输入结束或退出终端Ctrl+s  暂定当前程序,暂停后按下任意键恢复运行Ctrl+z  将当前程序放到后台运行,恢复到前台为命令fgCtrl+a  将光标移至输入行头,相当于Home键Ctrl+e  将光标移至输入行末,相当于End键Ctrl+k  删除从光标所在位置到行末Alt+Backspace   向前删除一个单词Shift+PgUp  将终端显示向上滚动Shift+PgDn  将终端显示向下滚动

    (4)方向上键:恢复你之前输入过的命令。

    (5)通配符:主要有星号(*)和问号(?),用来对对字符串进行模糊匹配(比如文件名,参数名)。Shell 常用通配符:

      *   匹配 0 或多个字符?   匹配任意一个字符[list]  匹配 list 中的任意单一字符[!list] 匹配 除list 中的任意单一字符以外的字符[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]{string1,string2,...}   匹配 sring1 或 string2 (或更多)其一字符串{c2..c2}    匹配 c1-c2 中全部字符 如{1..10}

    3、作业:可以输出图形字符的命令banner

    先使用如下命令安装:$ sudo apt-get update$ sudo apt-get install sysvbanner
    884666-20160918212350906-83460354.png

    然后:$ banner shiyanlou

    使用命令:$ printerbanner -w 50 A,'-w'参数指定打印宽度
    884666-20160918212420268-1554714711.png

    安装toilet,figlet
    884666-20160918212443176-281065228.png

884666-20160918212454989-1760534902.png

884666-20160918212509802-1410061794.png

884666-20160918212524772-1454963747.png

  • 用户及文件权限管理

    1、查看用户命令:$ who am i或者$ who mom likes,输出的第一列表示打开当前伪终端的用户的用户名(要查看当前登录用户的用户名,去掉空格直接使用 whoami 即可),第二列的 pts/0 中 pts 表示伪终端,第三列则表示当前伪终端的启动时间。

    who 命令其它常用参数:

      -a  打印能打印的全部-d  打印死掉的进程-m  同am i,mom likes-q  打印当前登录用户数及用户名-u  打印当前登录用户登录信息-r  打印运行等级

    2、创建用户:$ sudo adduser lilei,这个命令不但可以添加用户到系统,同时也会默认为新用户创建 home 目录。

    切换登录用户:$ su -l lilei,退出当前用户跟退出终端一样可以使用 exit 命令或者使用快捷键 Ctrl+d

    3、用户组:

    方法一:使用groups命令$ groups shiyanlou,输出结果冒号之前表示用户,后面表示该用户所属的用户组。

    方法二:查看/etc/group文件$ cat /etc/group | sortcat 命令用于读取指定文件的内容并打印到终端输出,| sort 表示将读取的文本进行一个字典排序再输出。使用命令$ cat /etc/group | grep -E "shiyanlou"过滤掉一些你不想看到的结果。

    4、删除用户:$ sudo deluser lilei --remove-home

    5、查看文件权限:

    使用较长格式列出文件:$ ls -l

    给 ls 加上 -lh 参数来更直观的查看文件的大小

    可以同时使用 '-A' 和 '-l' 参数:$ ls -Al

    显示所有文件大小,并以普通人类能看懂的方式呈现:$ ls -AsSh其中小 s 为显示文件大小,大 S 为按文件大小排序

    6、变更文件所有者命令:

      $ cd /home/lilei$ ls iphone6$ sudo chown shiyanlou iphone6$ cp iphone6 /home/shiyanlou

    7、修改文件权限:$ chmod 700 iphone6$ chmod go-rw iphone,'g''o'还有'u',分别表示group,others,user,'+','-' 就分别表示增加和去掉相应的权限。

    8、作业:添加一个用户loutest,使用sudo创建文件/opt/forloutest,设置成用户loutest可以读写。

    未完成,遇到的问题写在下面了。

  • Linux 目录结构及文件基本操作

    1、FHS 标准:FHS 定义了两层规范,第一层是/下面的各个目录应该要放什么文件数据,第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。执行$ tree /可以显示。

    2、目录路径

    cd 命令可以切换目录,.表示当前目录,..表示上一级目录,- 表示上一次所在目录,通常表示当前用户的"home"目录。使用pwd 命令可以获取当前所在路径(绝对路径)。

    3、新建

    新建空白文件:$ touch test,新建目录:$ mkdir mydir

    使用 -p 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录:$ mkdir -p father/son/grandson

    4、复制

    使用cp(copy)命令复制一个文件或目录到指定目录:$ cp test father/son/grandson

    复制目录:$ cp -r father family

    5、删除

    删除一个文件或目录:$ rm test,使用-f参数$ rm -f test可以强制删除。

    删除目录:$ rm -r family

    6、移动文件

    使用mv(move or rename files)命令,移动文件(剪切)。将文件"file1"移动到"Documents"目录mv 源目录文件 目的目录$ mkdir Documents$ mv file1 Documents

    7、重命名文件

    将文件"file1"重命名为"myfile"mv 旧的文件名 新的文件名$ mv file1 myfile

    批量重命名:$ rename 's/\.txt/\.c/' *.txt

    8、查看文件

    使用cat,tac和nl命令查看文件,其中cat为正序显示,tac倒序显示,nl命令添加行号并打印。

    使用more和less命令可以分页查看文件

    使用head和tail命令可以查看文件

    使用file命令可以查看文件的类型:$ file /bin/ls

    9、编辑文件

    在 Linux 下面编辑文件通常我们会直接使用专门的命令行编辑器,输入$ vimtutor命令即可开始。

    10、作业:召唤一双眼睛动画

    输入命令:$ xeyes
    884666-20160918212815081-675022831.png

    放到后台运行:$ nohup xeyes &
    884666-20160918212825941-340251897.png

884666-20160918212838536-370067253.png

  • 环境变量与文件查找

    1、创建变量:$ declare tmp,赋值变量:$ tmp=shiyanlou,读取变量值:$ echo $tmp,删除变量:$ unset temp

    2、变量修改:

      ${变量名#匹配字串} 从头向后开始匹配,删除符合匹配字串的最短数据${变量名##匹配字串}    从头向后开始匹配,删除符合匹配字串的最长数据${变量名%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最短数据${变量名%%匹配字串}    从尾向前开始匹配,删除符合匹配字串的最长数据${变量名/旧的字串/新的字串}    将符合旧字串的第一个字串替换为新的字串${变量名//旧的字串/新的字串}   将符合旧字串的全部字串替换为新的字串

    3、搜索文件命令:whereis简单快速$whereis who,locate快而全$ locate /etc/sh,which小而精$ which man,find精而细$ find /etc/ -name interfaces

    4、作业:实现“数字雨”

    安装cmatrix

    修改终端的主题配色为黑底绿字
    884666-20160918212912695-2124820416.png

  • 文件打包与解压缩

    1、zip

    2、rar

    3、tar

    4、作业:创造“火炉”
    884666-20160918212937806-1680742896.png

  • 文件系统操作与磁盘管理

    1、查看磁盘和目录的容量:使用df命令查看磁盘的容量,使用 du 命令查看目录的容量,-d参数指定查看目录的深度

    2、磁盘管理:

    创建虚拟磁盘:dd命令用于转换和复制文件,命令行选项格式为选项=值,dd默认从标准输入中读取,并写入到标准输出中,但可以用选项if(input file,输入文件)和of(output file,输出文件)改变。

    格式化磁盘:$ sudo mkfs.ext4 virtual.img

    挂载磁盘到目录树:$ mount -o loop -t ext4 virtual.img /mnt

    卸载已挂载磁盘:$ sudo umount /mnt

    磁盘分区:查看$ sudo fdisk -l,进入$ sudo fdisk virtual.img

    3、作业:使用cowsay命令,可以让你在终端里以一种动物说话的形式打印出一段话。
    884666-20160918213025622-1484949389.png

884666-20160918213038591-1846749749.png

884666-20160918213053827-1163213056.png

884666-20160918213103155-74878919.png

  • Linux下的帮助命令

    1、内建命令与外部命令

    内建命令:实际上是 shell 程序的一部分,其中包含的是一些比较简单的 Linux 系统命令,这些命令是写在bash源码的builtins里面的,并由 shell 程序识别并在 shell 程序内部完成运行,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。而且解析内部命令 shell 不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit 等等。

    外部命令:是 Linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。虽然其不包含在 shell 中,但是其命令执行过程是由 shell 程序控制的。外部命令是在 Bash 之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如:ls、vi等。

    type命令可以区分命令是内建的还是外部的。

    2、帮助命令

    (1)help 命令:用于显示 shell 内建命令的简要帮助信息。

    (2)man 命令:得到的内容比用 help 更多更详细,而且 man 没有内建与外部命令的区分。

    (3)info 命令:是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息。
  • Linux任务计划crontab

    crontab 命令常见于 Unix 和类 Unix 的操作系统之中(Linux 就属于类 Unix 操作系统),用于设置周期性被执行的指令。

    启动 rsyslog,以便我们可以通过日志中的信息来了解我们的任务是否真正的被执行了。

    通过 crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script 脚本。时间间隔的单位可以是分钟、小时、日、月、周的任意组合。
  • 命令执行顺序控制与管道

    1、顺序执行

    简单的顺序执行你可以使用;来完成:$ sudo apt-get update;sudo apt-get install some-tool;some-tool

    2、有选择的执行

    &&表示如果前面的命令执行结果(不是表示终端输出的内容,而是表示命令执行状态的结果)返回0则执行后面的,否则不执行。||在这里就是与&&相反的控制效果,当上一条命令执行结果为≠0($?≠0)时则执行它后面的命令。

    3、管道

    $ ls -al /etc | less命令,通过管道将前一个命令(ls)的输出作为下一个命令(less)的输入,然后就可以一行一行地看。

    cut 命令,打印以:为分隔符的第1个字段和第6个字段分别表示用户名和其目录:$ cut /etc/passwd -d ':' -f 1,6

    grep 命令,在文本中或 stdin 中查找匹配字符串:$ grep -rnI "shiyanlou" ~命令,搜索目录下所有包含"shiyanlou"的所有文本文件,并显示出现在文本中的行号。-r 参数表示递归搜索子目录中的文件,-n表示打印匹配项行号,-I表示忽略二进制文件。

    wc 命令,统计并输出一个文件中行、单词和字节的数目。

    sort 排序命令,将输入按照一定方式排序,然后再输出,它支持的排序有按字典排序,数字排序,按月份排序,随机排序,反转排序,指定特定字段进行排序。

    uniq 去重命令,用于过滤或者输出重复行。

    4、作业:安装aview和imagemagick,然后用asciiview命令显示图片

    未完成,使用man命令查询asciiview的使用方法并结合网上的一些教程操作后出现问题,在问题中提出。
  • 简单的文本处理

    1、tr 命令:用来删除一段文本信息中的某些文字或者将其进行转换。

    常用的选项:

      -d  删除和set1匹配的字符,注意不是全词匹配也不是按字符顺序匹配-s  去除set1指定的在输入文本中连续并重复的字符

    2、col 命令:可以将Tab换成对等数量的空格建,或反转这个操作。

    常用的选项:

      -x  将Tab转换为空格-h  将空格转换为Tab(默认选项)

    3、join命令:用于将两个文件中包含相同内容的那一行合并在一起。

    常用的选项:

      -t  指定分隔符,默认为空格-i  忽略大小写的差异-1  指明第一个文件要用哪个字段来对比,,默认对比第一个字段-2  指明第二个文件要用哪个字段来对比,,默认对比第一个字段

    4、paste命令:与join 命令类似,它是在不对比数据的情况下,简单地将多个文件合并一起,以Tab隔开。

    常用的选项:

      -d  指定合并的分隔符,默认为Tab-s  不合并到一行,每个文件为一行

    5、作业:安装小蜜蜂游戏
    884666-20160918213141783-343945752.png

884666-20160918213151206-325080333.png

  • 数据流重定向

    1、简单的重定向

    stdin(标准输入,对应于你在终端的输入),stdout(标准输出,对应于终端的输出),stderr(标准错误输出,对应于终端的输出)。

    将一个文件作为命令的输入,标准输出作为命令的输出:$ cat Documents/test.c

    将echo命令通过管道传过来的数据作为cat命令的输入,将标准输出作为命令的输出:$ echo 'hi' | cat

    将echo命令的输出从默认的标准输出重定向到一个普通文件:$ echo 'hello shiyanlou' > redirect$ cat redirect

    2、标准错误重定向:$ cat Documents/test.c hello.c >somefile 2>&1

    3、使用tee命令同时重定向到多个文件:$ echo 'hello shiyanlou' | tee hello

    4、永久重定向:$ exec 1>somefile

    5、创建输出文件描述符:$ cd /dev/fd/;ls -Al,关闭文件描述符:$ exec 3>&-$ cd /dev/fd;ls -Al;cd -

    6、完全屏蔽命令的输出:$ cat Documents/test.c nefile 1>/dev/null 2>&1

    7、使用 xargs 分割参数列表:将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题,$ cut -d: -f1 < /etc/passwd | sort | xargs echo

    8、作业:创造彩色火焰
    884666-20160918213209285-996856709.png

  • 正则表达式基础

    1、正则表达式:又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为 regex、regexp 或 RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

    2、基本语法:

      |   竖直分隔符表示选择,例如"boy|girl"可以匹配"boy"或者"girl"+   表示前面的字符必须出现至少一次(1次或多次),例如,"goo+gle",可以匹配"gooogle","goooogle"等;?   表示前面的字符最多出现一次(0次或1次),例如,"colou?r",可以匹配"color"或者"colour";*   星号代表前面的字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次),例如,“0*42”可以匹配42、042、0042、00042等。()  圆括号可以用来定义模式字符串的范围和优先级,这可以简单的理解为是否将括号内的模式串作为一个整体。例如,"gr(a|e)y"等价于"gray|grey",(这里体现了优先级,竖直分隔符用于选择a或者e而不是gra和ey),"(grand)?father"匹配father和grandfather(这里体验了范围,?将圆括号内容作为一个整体匹配)。

    3、grep模式匹配命令:

    grep命令用于打印输出文本中匹配的模式串,它使用正则表达式作为模式匹配的条件。grep支持三种正则表达式引擎,分别用三个参数指定:

      -E  POSIX扩展正则表达式,ERE-G  POSIX基本正则表达式,BRE-P  Perl正则表达式,PCRE

    4、sed 流编辑器:

    sed 命令基本格式:sed [参数]... [执行命令] [输入文件]...

    sed执行命令格式:$ sed -i 's/sad/happy/g' test #

    5、awk文本处理语言:

    AWK是一种优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一

    awk所有的操作都是基于pattern(模式)—action(动作)对来完成的,如下面的形式:$ pattern {action}

    awk命令基本格式:awk [-F fs] [-v var=value] [-f prog-file | 'program text'] [file...],其中-F参数用于预先指定前面提到的字段分隔符(还有其他指定字段的方式) ,-v用于预先为awk程序指定变量,-f参数用于指定awk命令要执行的程序文件,或者在不加-f参数的情况下直接将程序语句放在这里,最后为awk需要处理的文本输入,且可以同时输入多个文本文件。
  • Linux 下软件安装

    1、apt-get命令:使用各用于处理apt包的公用程序集,我们可以用它来在线安装、卸载和升级软件包等

      install 其后加上软件包名,用于安装一个软件包update  从软件源镜像服务器上下载/更新用于更新本地软件源的软件包列表upgrade 升级本地可更新的全部软件包,但存在依赖问题时将不会升级,通常会在更新之前执行一次updatedist-upgrade    解决依赖关系并升级(存在一定危险性)remove  移除已安装的软件包,包括与被移除软件包有依赖关系的软件包,但不包含软件包的配置文件autoremove  移除之前被其他软件包依赖,但现在不再被使用的软件包purge   与remove相同,但会完全移除软件包,包含其配置文件clean   移除下载到本地的已经安装的软件包,默认保存在/var/cache/apt/archives/autoclean   移除已安装的软件的旧版本软件包

    2、卸载软件:sudo apt-get remove w3m

    3、软件搜索:sudo apt-cache search softname1 softname2 softname3……

    4、作业:bb命令
    884666-20160918213227146-34152532.png

教材学习中的问题和解决过程

1、作业“添加一个用户loutest,使用sudo创建文件/opt/forloutest,设置成用户loutest可以读写。”,创建用户后一直显示文件不存在。
884666-20160918213252804-1458503891.png

解决:未解决。

2、作业“将图片调节成ASCII码打印的样子”,一直显示图片无法打开。
884666-20160918213325712-1366089822.png

解决:未解决。

3、安装some-tool时说未发现软件包。
884666-20160918213347198-1123322819.png

解决:但安装其它软件时并没有问题,所以初步判断应该不是网络问题。最终未解决。

4、磁盘分区时不成功,提示权限不够。
884666-20160918213406418-2090572053.png

解决:未解决。

5、复制继承文件时提示没有这个文件或目录。
884666-20160918213441124-2063281093.png

解决:我创建文件时在mydir中,但是命令中目的文件夹并没有写上mydir,加上后就解决了。

其他(感悟、思考等,可选)

实验楼内容实在是太多了,学习完后感觉就是被塞了一脑袋东西,内容太多、重点又不明确导致并不能详细记下具体的命令使用方法,也不能真正掌握。掌握这些命令需要时间和练习,我现在还没有掌握这些知识,后续会不断巩固练习以早日掌握的。

参考资料

  • 《深入理解计算机系统V2》学习指导
  • ...

转载于:https://www.cnblogs.com/20145219songge/p/5883145.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356752.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

拉盖尔多项式 matlab,类氢原子的定态波函数

&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp预备知识 球坐标系中的定态薛定谔方程&#xff0c;原子单位制本文使用原子单位制&#xff0e;类氢原子(hydrogen-like atom)被定义为原子核有 $Z$ 个质子(核电荷为 $Ze$)有一个核外电子的原子/离子&#xff0…

再论EM算法的收敛性和K-Means的收敛性

标签&#xff08;空格分隔&#xff09;&#xff1a; 机器学习 &#xff08;最近被一波波的笔试面试淹没了&#xff0c;但是在有两次面试时被问到了同一个问题&#xff1a;K-Means算法的收敛性。在网上查阅了很多资料&#xff0c;并没有看到很清晰的解释&#xff0c;所以希望可以…

杰尔·地狱

什么是JAR地狱&#xff1f; &#xff08;或者是classpath地狱&#xff1f;还是依赖地狱&#xff1f;&#xff09;在考虑使用Maven或OSGi等现代开发工具时&#xff0c;哪些方面仍然有意义&#xff1f; 有趣的是&#xff0c;似乎没有对这些问题的结构化答案&#xff08;即&#…

matlab实验符号计算答案,实验五matlab符号计算

实验五matlab符号计算 实验 5 符号计算 教师评分班级 学号 姓名实验日期 2014 年 6 月 17 日 星期 二 第 1 至 2 节课实验地点实验目的1. 掌握定义符号对象的办法2. 掌握符号表达式的运算法则以及符号矩阵运算3. 掌握求符号函数极限及导数的方法4. 掌握求符号函数定积分和不定积…

Java学习笔记之:Java String类

一、引言 字符串广泛应用在Java编程中&#xff0c;在Java中字符串属于对象&#xff0c;Java提供了String类来创建和操作字符串。 创建字符串最简单的方式如下: String str "Hello world!"; String类型是特殊的引用类型&#xff0c;我们也可以通过实例化的方式来创建 …

WildFly 10 CR 2发布– Java EE 7,Java 8,Hibernate 5,JavaScript支持热重载

昨天&#xff0c;WildFly团队发布了最新版本的WildFly 10 。 CR2很可能是预计于十月份发布最终版本之前的最后一个版本。 即使主要支持的Java EE规范是7&#xff0c;WildFly 8和WildFly 9仍具有许多新功能&#xff0c;该版本现在具有三个服务器版本&#xff0c;实现了Java EE 7…

openshift 部署_OpenShift Express:部署Java EE应用程序(支持AS7)

openshift 部署在过去的几年中&#xff0c;我越来越多地听说过“云”服务。 最初&#xff0c;我并不是很想尝试一下。 但是几个月后&#xff08;一年&#xff1f;&#xff09;&#xff0c;我决定看看这是怎么回事。 我从事Java EE开发已有7年以上&#xff0c;因此&#xff0c;我…

迪克逊准则matlab,浙江科技学院学报

引言传统的农业栽培需要遵循季节性及周期性的栽培规律,受外界环境的影响较大,相应的栽培技术无法得到良好的栽培结果[1]。而温室大棚通过环境控制器调节温室环境,为作物提供了合适的生长环境。因此,它在农业领域的应用越来越广泛,温室环境控制系统的研究成为人们关注的热点[2-5…

使用FlexDeploy对融合中间件应用程序进行自动化软件测试

自动化软件测试是任何软件组织都应执行的强制性活动之一&#xff0c;以保证其产品质量。 但是&#xff0c;此过程通常变得非常复杂&#xff0c;尤其是涉及由多个不同部分组成的现代复杂系统的自动化测试时。 所有这些部分都基于不同的技术&#xff0c;显然&#xff0c;应该使用…

java 反编译项目_Java 7 –反编译项目硬币

java 反编译项目大家好&#xff0c;该是从2012年开始写作的时候了。正如您在其他博客中可能已经看到的那样&#xff0c;有一些更改可以使您使用Java编程时的开发人员生活变得更加轻松&#xff1a;Diamond运算符&#xff0c;Switchs中的Strings&#xff0c;尝试使用资源&#xf…

Java 9代码工具:使用Java微型基准测试工具的实践会话

用肉眼看&#xff0c;基准测试似乎只是确定执行某些代码需要花费多长时间的简单问题。 但是通常&#xff0c;这是幼稚的方法。 提供具有准确和可重复结果的有意义的基准并非易事。 在本文中&#xff0c;我们想向您介绍OpenJDK代码工具项目&#xff0c;尤其是JMH。 Java Microb…

vaadin_在Vaadin和JSF之间选择

vaadin随着最新版本的Primefaces 3.0的发布&#xff0c;JSF终于达到了前所未有的成熟度和实用性&#xff0c;使其与其他流行的Rich Internet Applications&#xff08;RIA&#xff09;选项面对面&#xff0c;例如Google Web Toolkit&#xff08;GWT&#xff09;&#xff0c;Ext…

windows server 2008 oracle 10g,一次不太愉快的Windows Server 2008 R2 SP1上安装ORACLE 10G经历...

华为服务器型号RH5885 V3&#xff0c;安装windows server 2008 r2, oracle 10g1、安装包要使用10204_vista_w2k8_x64_production_db.zip&#xff0c;不用102010_win64_x64_database.zip&#xff1b;2、DBCA创建数据库之前&#xff0c;关闭BIOS中Hyper-Threading [ALL] - [Disab…

通过OmniFaces缓存组件以编程方式缓存PrimeFaces图表

在这篇文章中&#xff0c;您将看到如何结合PrimeFaces和OmniFaces获得可缓存的图表。 为了使事情变得简单&#xff0c;我们将使用PrimeFaces 折线图。 对于这种图表&#xff0c;我们可以在页面中使用<p&#xff1a;chart />标记和一个简单的托管bean。 因此&#xff0c;在…

ReactNative——打包发布

1、生成一个签名密钥 ‘ keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 ’ 生成一个my-release-key.keystore的密钥库文件 2、找到路径/android/app/src/main,并在该目录下新建assets文件夹 3、在工程…

oracle版本说明,Oracle版本说明

Oracle 的版本号很多&#xff0c;先看11g的一个版本号说明&#xff1a; 注意&#xff1a; 在Oracle 9.2 版本之后&#xff0c; oracle 的maintenance release number 是在Oracle的版本号很多&#xff0c;先看11g的一个版本号说明&#xff1a;注意&#xff1a;在Oracle 9.2版本之…

Opserver配置Redis、SqlServer监控

简介 Opserver是Stack Overflow的开源监控解决方案&#xff0c;由Stack Exchange发布&#xff0c;基于.NET框架构建。开源地址&#xff1a;https://github.com/opserver/Opserver 使用 github下载源代码编译后&#xff0c;发布至IIS&#xff0c;需要先修改Opserver/Config目录下…

Linux挂载多个文件夹读不出,FTP不显示Linux挂载文件夹怎么办?-处理FTP不显示Linux挂载文件夹的方案 - 河东软件园...

最近有位用户向小编反映&#xff0c;声称自己在Linux中使用vsftpd启FTP服务&#xff0c;并在FTP用户下挂载一个Windows的共享盘&#xff0c;但是登陆FTP后却无法显示该挂载的共享盘。出现这种问题真是令人十分头疼呢&#xff0c;想要快速解决这个问题又找不到合适的方法。该怎么…

以太坊智能合约Hello World示例程序

简介 以太坊(Ethereum)是一提供个智能合约(smart contract)功能的公共区块链(BlockChain)平台. 本文介绍了一个简单的以太坊智能合约的开发过程. 开发环境 在以太坊上开发应用&#xff0c;首先需要安装其客户端&#xff0c;本文使用基于Go语言的Geth, 其官网为https://github.c…

Java到LDAP教程(包括如何安装LDAP服务器/客户端)

本教程将向您展示如何编写Java代码以与LDAP交互。 但是在执行此操作之前&#xff0c;我们需要在计算机上设置LDAP服务器和客户端。 如果此时您不确定到底是什么LDAP&#xff0c;建议您参考这篇文章&#xff0c;其中提供了一个很好的定义示例。 &#xff08;简而言之&#xff0…