



0-day利用程序或软件未公开的漏洞,达到某种目的,包括获取软件功能,破坏系统,去除限制,窃取隐私等等。最常见的0-day是通过漏洞获取权限或绕过权限审核机制,从而可以直接对数据或程序执行操作。因此,修改和改善权限机制是最有效的防御0-day的方式之一。毕竟,代码量和漏洞数量成正比,像windows这样庞大的操作系统,漏洞自然很多,完善的权限保护机制在一定程度上可减少大量漏洞带来的损失,但复杂的权限机制会影响用户体验。在代码不泄露的情况下,0-day并不容易被人发现,一般人也很难被利用。相比之下,钓鱼类方式诱骗用户自己交出密码或根据用户公开的基本信息推测出密码等更加容易,因此,时刻保持安全意识,不设置简单或易被推测出的密码,不使用破解软件或破解游戏,尽量使用大厂商出品的软件,不浏览不良网站等,对win10这样安全性较高的系统更加重要。
作为一门统计学语言,计算是其最基本的功能。在R语言中,可以直接运用数字进行运算。包括加、减、乘、除、幂、取整、取余等等。计算顺序与人类规定数学的计算方式完全一致,总体上从左到右进行计算。优先级方面,括号具有最高的优先级,然后是幂运算,之后是乘除法,最后加减。
下面是示例代码,其中的#符号是R语言的注释符,每一行在#后面的所有内容都会被R语言忽略掉,换句话说就是不执行。注释在任何一个计算机语言中的作用都是一样的,就是给人解释语句,用于自己理解代码或与人分享代码时,让人清晰每一条语句或某一区块语句的作用。当然,注释还有其他作用,但由于本课程要求尽量轻薄,不予介绍。
# 常规计算示例代码
1+1 # 加法
1-2 # 减法
5*5 # 乘法
5/3 # 除法
2^10 # 幂运算
5 %/% 3 # 整除,返回最大能整除的数
5 %% 3 # 取余,返回余数
1+6/2 # 复合运算
(1+6)/2 # 括号在运算中的作用
思考题:
官方网站:https://filezilla-project.org/
FileZilla是一款开源免费的跨平台FTP工具,支持FTP、FTPS、SFTP等几乎所有常见文件传输协议,支持多个标签同时工作,同时能够完美适配中文。具备站点管理器功能,可以记忆站点配置,无需每次都输入密码。
界面如下图所示。
填写主机IP,用户名,密码和端口(FTP未指定可不填,SSH默认22),然后可以连接到服务器,进行文件交换。
默认情况下,左侧是本地目录,右侧是远程(服务器)目录。文件支持鼠标拖拽,也可以点击鼠标右键下载。
最下面会显示下载/上传的进度。

作为全世界最好的R语言入门课程,我们会由浅入深,逐渐带领大家熟悉R语言的语法和思路,同时也希望菜鸟们能够跟随本课程的步伐逐渐起飞。
首先,要学习R语言,必不可少的是R语言的运行环境(或叫R语言解释器)。本章介绍R语言的安装,由于比较简单,有基础的同学可自行安装,直接学习下一章。




工欲善其事必先利其器,光有R语言还不够,还需要有更加称手的装备,当然,这种装备不是必需的。
RStudio是世界上最棒的R语言高亮代码编辑器和脚本运行器,我们将这样的编辑器叫做整合开发环境(integrated development environment, IDE)。它包含命令行窗口,可直接执行高亮语法的编辑器窗口,图像、文件等控制窗口和环境变量及历史显示窗口等。本课程所有截图全部基于RStudio。
RStudio的安装由于不是必需,因此不做介绍,请童鞋们自行安装。RStudio安装完毕后会自动与R语言的最新版本关联。
安装Rstudio。
R语言是专门用于统计学、数据操作、计算和图像绘制的语言环境和语言,由Ross Ihaka和Robert Gentleman在新西兰奥克兰大学创建,目前由R语言开发核心团队开发并维护。R语言在GNU通用公共许可证[1]下免费提供,并为各种操作系统(如Linux,Windows和Mac)提供预编译的二进制版本。 之所以命名为R语言,是因为两个R语言作者的名字的第一个字母(Robert Gentleman和Ross Ihaka)都是R。每个版本的R会有一个有趣的名字(3.6.1-Action of the toes, 3.5.3-Great Truth)。R提供各种统计和作图技术,具有强大的拓展性,可以实现繁琐工序的自动化,也是数据统计分析的强大工具!
R语言语法基于S语言,简单易学,是最容易入门的编程语言之一。
实际上,统计学软件很多,其中最著名的是SAS(Statistical Analysis System)和SPSS(Statistical Product and Service Solutions),当然也有GeneStat等更加面向大众的软件。R语言与上述几个统计学软件相比,其最大的优势就是免费、灵活,有着无比庞大的程序包,任何想做的分析几乎都能找到已经开发好的程序包,可以简单、方便的进行数据挖掘、图像绘制等操作。R语言在批量处理数据和大数据运算方面也具有相当优势。同时,R语言属于发展中的语言,平均每年两个大版本更新,这是其他软件很难做到的。
CRAN(Comprehensive R Archive Network)是全面R语言档案网络,提供之前发布过的下载文件。该网络具有全球镜像,在下载R软件或程序包时,可以选择距离自己最近的镜像地址,加快下载的速度。在中国可以选择清华、中国科技大、同济等镜像:
| https://mirrors.tuna.tsinghua.edu.cn/CRAN/ | TUNA Team, Tsinghua University |
| http://mirrors.tuna.tsinghua.edu.cn/CRAN/ | TUNA Team, Tsinghua University |
| https://mirrors.ustc.edu.cn/CRAN/ | University of Science and Technology of China |
| http://mirrors.ustc.edu.cn/CRAN/ | University of Science and Technology of China |
| https://mirror-hk.koddos.net/CRAN/ | KoDDoS in Hong Kong |
| https://mirrors.eliteu.cn/CRAN/ | Elite Education |
| https://mirror.lzu.edu.cn/CRAN/ | Lanzhou University Open Source Society |
| http://mirror.lzu.edu.cn/CRAN/ | Lanzhou University Open Source Society |
| https://mirrors.tongji.edu.cn/CRAN/ | Tongji University |
| https://mirrors.shu.edu.cn/CRAN/ | Shanghai University |
一般情况下,初学者的电脑里除了安装R语言外,还会安装RStudio。RStudio是R语言的图形用户界面(Graphical User Interface,GUI),具有语法高亮、语句补全、变量查看、图像工具、历史工具、调试工具等,是非常适合代码初学者使用的集成开发环境( integrated development environment,IDE)。
[1] GNU通用公共许可协议(英语:GNU General Public License,缩写:GNU GPL、GPL),是一个广泛被使用的自由软件许可协议条款。对于遵循该协议的软件,每个人都能在遵守条款的基础上对它进行修改和重新发布。