• 20175104 李屹哲 基于Windows的信息安全专业导论学习容器的构建 课程设计 第三周进展


    目录

    1. 安装Pep/9及运行Pep/9测试代码

    2. 拓展内容-安装并配置anaconda

    3. 总结

    4. 问题及解决方案(本周未遇到任何问题)

    本周已将题目全部完成

    本周的容器已打包上传拉取镜像指令为:docker pull lyz20175104/ubn:v3 

    • 由于之前发现构建的镜像莫名其妙被下载了9次,为了防止被过分下载,暂时将仓库设为私有,望老师谅解

    安装Pep/9及运行Pep/9测试代码

    • 由于pep/9环境无法配置,按照老师要求本周在Windows环境下配置pep/9环境

    • 进入官网下载pep/9windows版,下载安装即可使用

    • 该应用程序用C ++编写,并使用Digia Plc提供的Qt Creator IDE与Qt 5开发环境一起编译。这个程序包含Pep / 9,Pep / 9 CPU,Pep / 9 Terminal和Pep / 9 Micro。

    • 测试1:打印:Hi,在在Source Code区输入汇编指令

    • 执行指令Build→Run Source

    LDBA 0x0048,i   //将“H”加载到计数器
    STBA 0xFC16,d   //将计数器的内容输出
    LDBA 0x0069,i   //将“i”加载到累计数器
    STBA 0xFC16,d   //将计数器的内容输出
    .END            //停止

    • 可以在Object Code区观察到汇编指令对应的机器指令。其对应的指令如下

    D0 00 48   //把 H 放入计数器
    F1 FC 16   //打印计数器内存储的字节
    DO 00 69   //把 i 放入计数器
    F1 FC 16   //打印累计数器内存储的字节
    zz         //结束标识符
    • 测试2:倒序输出字节,这里直接使用16进制机器指令

    • 在Object Code区输入汇编指令,Build→Run Object

    D1 FC 15 F1 00 13 D1 FC 15 F1 FC 16 D1 00 13 F1 FC 16 00 zz 

    • 代码解析
    D1 FC 15  //将输入设备中的第一个字符读入计数器
    F1 00 13  //将字符从计数器存储到内存中
    D1 FC 15  //将第二个字符从输入设备读入计数器
    F1 FC 16  //将第二个字符打印到输出设备
    D1 00 13  //从内存中加载第一个字符
    F1 FC 16  //打印第一个字符到输出设备
    zz        //结束标识符
    • 运行结果

    回到顶部

    拓展内容-安装并配置anaconda

    • Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。 Conda 是为 Python 程序创建的,适用于 Linux,OS X 和Windows,也可以打包和分发其他软件。Conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。

    • 首先去官网下载anaconda

    • 然后下载完后是一个脚本文件命令行里进入文件夹执行指令 bash Anaconda3-2020.02-Linux-x86_64.sh 安装文件

    • 安装过程中,看到提示“In order to continue the installation process, please review the license agreement.”(“请浏览许可证协议以便继续安装。”),点击“Enter”查看“许可证协议”。

    • 在“许可证协议”界面将屏幕滚动至底,输入“yes”表示同意许可证协议内容。然后进行下一步。

    • 安装过程中,提示“Press Enter to confirm the location, Press CTRL-C to cancel the installation or specify an alternate installation directory.”(“按回车键确认安装路径,按’CTRL-C’取消安装或者指定安装目录。”)如果接受默认安装路径,则会显示“PREFIX=/home//anaconda3”并且继续安装。安装过程大约需要几分钟的时间。 

    • 建议:直接接受默认安装路径。

    • 安装器若提示“Do you wish the installer to prepend the Anaconda install location to PATH in your /home//.bash_profile ?”(“你希望安装器添加Anaconda安装路径在/home//.bash_profile文件中吗?”),建议输入“yes”。

    • 注意:路径/home//.bash_profile中“”即进入到家目录后你的目录名。如果输入“no”,则需要手动添加路径。添加export,PATH="//bin:$PATH"在“.bashrc”或者“.bash_profile”中。其中,“”替换为你真实的Anaconda安装路径。当看到“Thank you for installing Anaconda!”则说明已经成功完成安装。

    • 之后介绍一下指令

    • 首先验证一下安装
    • 输入 anaconda-navigator 运行图形化节面,熟悉图形化界面的人可以用图形化界面管理python环境

     

    • 然后更换一下镜像源执行指令 leafpad ~./condarc 

    • 然后添加清华源  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 

    • 建立新的python环境的常用指令

    conda create --name <env_name>  <list of packages>    创建新环境
    conda create --name python2 python=2.7        创建名为python2的运行环境,并安装pandas包及其依赖包
    conda create --name testpy36 python=3.6     创建名为testpy36的运行环境,并安装anaconda集合包(conda默认环境)
     
    conda env remove --name <env_name>    删除环境
    conda env list                    显示所有的环境
     
    conda info                        显示当前安装的conda信息
    conda info --envs                 显示所有运行环境
    conda activate <env_name>    激活(进入)环境
    conda deactivate             去激活(退出)当前环境
    onda env export > BackupEnv.yaml    将当前运行环境的package信息导出到名为BackupEnv的YAML文件
    conda env create --force BackupEnv.yaml   使用YAML文件创建运行环境

    • 安装一些python包,这里我们选择安装numpy、matplotlib两个包,指令为 conda install numpy 、 conda install matplotlib 

    • 安装好了包之后可以在输入 python 然后直接执行代码,也可以编写 .py 成文件执行,代码为

    • 这里是个散点图程序

    import numpy as np  
    import matplotlib.pyplot as plt
    x = np.random.normal(0,1,500)
    y = np.random.normal(0,1,500)
    plt.scatter(x,y,s=50,color='blue',alpha=0.5) #s指点大小,alpha指透明度
    plt.show()

    • 运行结果为

    回到顶部

    总结

      本周我们基本上完成了课设,通过课设,不仅了解了docker这种神奇的软件,还顺便了解了许多相关配置的环境的一些知识,可以说是边做边学习的过程,我个人也是收获很多,很感谢本次课设带给我们的一个机会,让我们学习到了许多新知识。

    回到顶部

  • 相关阅读:
    OpenCV -- CV_8UC1,CV_32FC3等参数的含义
    OpenCV -- 命名空间及相关函数介绍
    Qt -- QMutex使用详解
    QT -- 常用数据结构及函数
    Qt -- QQueue用法
    Qt -- QSetting类/ini配置文件的读写操作
    QT--日期操作QDateTime
    设备接口总汇(含实物图)
    “SurfFeatureDetector”: 未声明的标识符/不能实例化抽象类
    OpenCV -- Shi-Tomas角点检测与亚像素级角点检测
  • 原文地址:https://www.cnblogs.com/20175104lyz/p/12781901.html
Copyright © 2020-2023  润新知