0%

计算机的体系结构

冯诺依曼体系结构

冯·诺依曼体系结构的核心思想是将程序和数据存储在同一存储器中,计算机通过按照程序的指示依次读取存储器中的指令和数据来完成运算。这种结构特点是“程序存储,共享数据,顺序执行”,CPU从存储器取出指令和数据进行相应的计算。

组成部分

  • 运算器:计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作。运算器与控制器共同组成了CPU的核心部分。

  • 控制器:主要任务是发布命令,发挥着整个计算机系统操作的协调与指挥作用。它控制着程序的执行顺序,使得计算机能够自动、连续地执行指令。

  • 存储器:用来存储程序和各种数据信息的记忆部件。存储器可分为主存储器(简称主存或内存)和辅助存储器(简称辅存或外存)两大类。内存是CPU直接访问的存储器,用于存放当前正在执行的程序和数据。外存则用于长期保存数据和程序,如硬盘、光盘等。

  • 输入设备:是用户和计算机系统之间进行信息交换的主要装置之一。常见的输入设备有键盘、鼠标、摄像头等。

  • 输出设备:是计算机硬件系统的终端设备,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。常见的输出设备有显示器、打印机等。

阅读全文 »

Docker数据卷

在使用Docker的过程中,经常需要查看容器内应用产生的数据,或者需要把容器内的数据进行备份,这就需要用到数据卷。

容器内创建数据卷

在使用docker run命令时,可以使用-v在容器内创建一个数据卷,多次使用-v可以创建多个数据卷

1
docker run -d -P --name web -v /webapp training/webapp python app.py

也可以挂载一个本机目录作为数据卷

1
2
# 加载本机下的/webapp 目录到容器的/opt/webapp目录
docker run -d -P --name web -v /webapp:/opt/webapp training/webapp python app.py

jQuery操作ajax

在传统的JavaScript中,需要使用XMLHttpRequest对象来进行异步加载数据,而在jquery中,使用load()方法就可以进行异步数据的功能

1
2
3
4
5
6
7

/* load来加载静态资源
url 页面地址
data 发送到服务器的数据
callback 加载成功后,执行的回调函数
*/
$("#divTip").load(url,[data],[callback])

对于前后端分离的应用来说,使用更多的是来获取服务器的数据

可以使用$.get()来进行get请求

1
2
3
4
5
$.get("api/get",
{name:'zs'},
function(data){

})

使用$.post()来进行post请求

1
2
3
4
5
$.post("api/post",
{name:'zs'},
function(data){

})
阅读全文 »

jQuery事件

加载事件

$(document).ready() 网页的DOM模型加载完毕后执行,可能DOM元素关联的东西并没有加载完,简写$() 与window.onload类似,不过onload是必须页面的全部元素完全加载到浏览器才触发

事件绑定

对匹配的元素进行特定的事件绑定 bind()

1
2
3
4
/* 效果等同于 $(".class").click(function(){})*/
$(".class").bind("click",function(){
alert("点击事件绑定");
})

合成事件

  • hover() 光标悬停事件,当光标移到元素上时,会触发指定的第一个函数,光标移出这个元素时,触发第二个函数

    1
    2
    3
    $("a").hover(function(){},
    function(){}
    )
  • toggle() 鼠标连续单击事件,第一次单击元素,触发指定的第一个函数,再次单击同一个元素,触发指定的下一个函数

    1
    toggle(fn1,fn2,fn3...)

移除事件

  • 移除某个元素上的某类事件 $(“#btn”).unbind(“click”)
  • 移除某个元素的所有事件 $(“#btn”).unbind()

闭包

JavaScript支持闭包特性。

  • 允许引用在当前函数以外定义的变量

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      
    function make(){
    var base = "base";
    function appendWord(word){
    return base + " and " + word;
    }
    return appendWord("bi");
    }
    /* base and bi */
    alert(make())
  • 可以返回一个内部函数,并在后面调用

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function make(){
    var base = "base";
    function appendWord(word){
    return base + " and " + word;
    }
    return appendWord;
    }
    var func = make();
    /*base and bi*/
    console.log(func("bi"));
    /*base and bao*/
    console.log(func("bao"));
  • 闭包可以更新外部变量的值