Zhang's Wikipedia

玩就玩大的

编程理论 —— 计算图框架

当前大部分的深度学习框架(tensorflow、theano、mxnet)都要求能否构建计算图,以及编译计算图来自动求导; 1. 命令式编程与符号式编程 命令式编程,程序中可能会存在 for或 if 形式的控制流,即循环迭代的次数和 if 分支的执行都取决于入参,不同的输入会使得程序的执行不...

2018-01-14 19:18:05

阅读数:396

评论数:0

魔数,常见魔数

java 文件编译为 .class 字节码(byte code),字节码文件的前 4 位为魔数(起到标识说明作用),magicNumber = 0xCAFEBABE; 1. 可执行文件 几乎所有的可执行文件格式最开始的几个字节都是魔数: a.out:最开始的两个字节为 0x01,0x07...

2017-12-16 22:37:04

阅读数:1945

评论数:0

计算机设计思想 —— 虚拟化

物理地址,虚拟地址; 物理地址:如果你的计算机用的是 Intel 的 Pentium 4 的处理器,它是 32 位机器,即计算机地址线有 32 条,物理空间就有 4GB;如果你的计算机只安装了 512MB,其实物理地址的真正有效部分为 0x00000000 ~ 0x1FFFFFFF 虚拟地址空间...

2017-12-07 23:22:47

阅读数:139

评论数:0

计算机设计思想 —— 类比、建模与隐喻(同构)

一切有意义的事物皆有历史,有迹可循。—— 《真探》 将知识首先简单划分为已知和未知两个互斥的类别,然而已知和未知之间并非完全地泾渭分明,井水不犯河水。重要的科学发现常常来自 analogy(类比),也即把你不太理解的东西和一些你较为理解,且二者之间存在相似性的东西作比较,由此可对那些你不太理解的东...

2017-12-07 22:55:34

阅读数:156

评论数:0

计算机设计思想 —— 总线

PCI:就是计算机中硬件连接的总线; 主板与外设之间:通过I/O总线与主板相连 1. 总线与交通对于计算机这种由多个组成部分构成的复杂系统,想要通过一一相连的方式实现彼此间的通信的话,既不现实也浪费资源。对于全国的交通运输,我们只需先建两条干线,就像“京九线”和“京广线”这样贯穿南北的大动脉,然...

2017-11-05 18:20:08

阅读数:420

评论数:0

整数运算、浮点运算与溢出

1. 一个示例sizeof(int) == 4 的机器上,也即 32 位机器,使用 int 型变量存储 200*300*400*500 会得到 -884901888。这显然违犯了整数运算的特性,计算一组正数的乘积不应该产生一个负数结果。另一方面,整数在计算机中的运算满足数学上对整数运算的许多性质。...

2017-11-01 21:47:08

阅读数:1177

评论数:0

异或运算的研究

无进位的二进制加法即为异或运算(xor);

2017-10-14 18:08:53

阅读数:164

评论数:0

字面量(literal)与 C 语言复合字面量(compound literals)

在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation)(字面量是相对变量常量等定义的,无论是常量还是变量,其值在某一时刻总是确定的,只是变量可以反复赋值、刷新等,然而在运行时,编译期,总是有值的) 。几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:...

2017-10-04 13:12:32

阅读数:701

评论数:0

计算机编程思想 —— 缓存

1. 流式读取 比如网络 io(net io)URL url = new URL("http://www.baidu.com");InputStream inStream = url.openStream(); byte[] buffer = new byte[1024]; B...

2017-10-01 23:36:15

阅读数:166

评论数:0

计算机科学 —— 时间戳(timestamp)

时间戳的一个重要属性即是:唯一性,以起到唯一标识的作用; 1. linux 命令行$ date +%s 15062227452. Python 时间戳 内置 time 库 >> time.time() 1506223285.6214163 >> int(time.time(...

2017-09-24 11:34:32

阅读数:315

评论数:0

计算机设计思想 —— 代理(proxy)

1. 面向对象的代理 代理类封装了目标类,调用者通过调用代理类(代理类操纵目标类),实现对目标类的间接调用; 2. 服务器 代理服务器:Proxy server 3. 网络 私有地址的主机访问外网时,便是通过本局域的代理主机(代理主机当然可以轻易访问外网)

2017-09-09 22:56:02

阅读数:251

评论数:0

计算机设计思想 —— 解耦(分离)与内聚

分离、解耦是模块化的基础。概念、功能上的辨异,又是实现分离、解耦的法门。模块间通信:接口; 模块间绝非各自为营,独立作战; 1. 配置代码与业务逻辑(领域代码) Spring 框架下,使用 JavaConfig 进行显式装配的时候,要注意: JavaConfig 与其他的(普通的) Java ...

2017-09-05 23:30:57

阅读数:1371

评论数:0

编码格式(UTF-8 与 ANSI)各种编码解码(encode、decode)

1. café分别在 utf-8 和 cp1252下的编码形式How to fix: “UnicodeDecodeError: ‘ascii’ codec can’t decode byte” >> 'é'.encode('cp1252') b'\xe9' >> 'é...

2017-08-13 17:58:59

阅读数:1803

评论数:0

计算机设计思想 —— 分层模型

勿在浮沙筑高台。分层模型中,不同的层次意味着不同的抽象级别; 0. 计算机系统的各个抽象层 操作系统和硬件之间的称为硬件抽象层(Hardware Abstraction Layer,HAL) 每个层次都向上一层次呈现一个抽象,一个更高级别的抽象; 每一层都只需知道下层抽象的接口,而不需要了解...

2017-07-27 15:31:55

阅读数:1868

评论数:0

计算机存储计量单位

二进制形式: 2102^{10},1 KiB(kibibyte) 2202^{20},1 MiB(mebibyte) 2302^{30},1 GiB(gibibyte) 2402^{40},1 TiB(tebibyte) 2502^{50},1 PiB(pebibyte) 2602^{60},1 ...

2017-04-26 18:20:55

阅读数:474

评论数:0

计算机科学界名言

Donald Knuth We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. premature:adj. ...

2017-04-14 10:22:02

阅读数:817

评论数:0

日期和时间的格式化定义(ISO C89)

格式化定义本质上控制的是占位。日期%Y:4位数的年份; %y:2位数的年份; %m:2位数的月份(1-12) %d:2位数的日(01-31) 时间%H:24小时制(0-23) %I:12小时制(01-12) %M:2位数的分(00-59) %S:2位数的秒(00-61) 秒 60 和秒 61 用...

2017-04-13 23:01:20

阅读数:490

评论数:0

C-order/Fortran-order(Row-/Column-major order)

1. row-major / column-major order无论是行序优先还是列序优先,其实在计算机计算中,指的都是在线性空间(linear storage,如 RAM,也即连续内存存储 contiguous in ,memory)存储多维数组(multidimensional arrays...

2017-02-18 10:10:13

阅读数:719

评论数:0

32位与64位、单精度(single-precision)与双精度(double-precision)

What’s the difference between a single precision and double precision floating point operation?0. 64-bits CPU如果说一个 CPU 是 64 位机,通常意味着,其具有 64 位的通用寄存器(g...

2016-11-22 22:13:04

阅读数:5474

评论数:0

位操作(一)—— 截断(保留低位,保留高位)

低位:k least significant bits; 高位:k most significant bits; 1. 截断保留低位def _int32(x): return int(0xFFFFFFFF & x)

2016-11-21 12:18:46

阅读数:1437

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭