- 博客(21)
- 资源 (4)
- 收藏
- 关注
原创 C/C++ 安全编码 —— 不安全的函数
1. 文件与IO操作gets():从控制台输入到字符数组;char response[8];gets(response);如果控制台输入超过 8 个字符,程序便会发生不确定的行为;
2017-12-26 23:47:13 2286 1
原创 visual studio 高级选项及配置
visual studio 是一款强大的 IDE,所谓 IDE 即是将通过命令行(一系列复杂的参数选项)编译、链接等操作内置到 IDE 的界面按钮处。为什么新建的工程,可以直接 #include <stdio.h>而不报错:通过如下的属性配置,添加头文件的路径: 1. 设置警告等级 2. 属性配置的各种宏定义Visual Studio属性配置中使用宏
2017-12-26 23:41:47 4484 1
原创 python 标准库 —— http(http.cookiejar)
1. cookie 信息的读取from urllib import requestimport httpfrom http import cookiejarcookie = cookiejar.CookieJar() # 待填写的cookie对象opener = request.build_opener(request.HTTPCookieProcessor(cookie))
2017-12-22 23:11:11 3253
原创 python 标准库 —— 线程与同步(threading、multiprocessing)
1. 创建线程使用 os 下的 fork() 函数调用(仅限 Unix 系统)import osprint('current process (%s) starts ...' % (os.getpid()))pid = os.fork()if pid < 0: print('fork error.')elif pid == 0: print('now i am the ch
2017-12-22 22:24:02 957 1
原创 pandas 学习 —— pivot table
0. DataFrame 的 index、columns、values>> df = pd.DataFrame(np.arange(6).reshape(3, 2), index=['one', 'two', 'three'], columns=['a', 'b'])>> df a bone 0 1two 2 3three 4 5>> df.indexI
2017-12-21 00:23:43 1305
原创 windows 10 安装 spark 环境(spark 2.2.1 + hadoop2.7)
安装步骤基本参考 Spark在Windows下的环境搭建。不过在安装新版本 spark2.2.1(基于 hadoop2.7)的配置时,略略有一些不同。1. sqlContext => spark.sqlContext在启动日志中未出现,SQL context available as sqlContext.也不足为奇,因为在新版本的 spark 中 sqlContext 对象已封装进 Spark s
2017-12-19 23:55:00 7621 2
原创 docker 安装与常用命令与常用容器(containers)环境
1. 常用命令查询版本信息:>> docker --version>> docker-machine --version>> docker-compose --version查看环境信息:>> docker ps # 显示运行中的容器>> docker version>> docker info2. 常用容器hello-world>> docker run hello
2017-12-17 18:07:35 2011
原创 javascript 基础
0. js 与 html 的关系.js是脚本,以文件的形式存在// test.jsfunction sayHello() { document.write("hello javascript");}sayHello();.html是页面.<script language="JavaScript" src="test.js"></script>html 里面可以包含 js 脚本,但
2017-12-17 12:25:59 727
原创 node.js 安装及配置(hello world)及 node 的包管理器(npm)
下载地址:Download | Node.js,无脑下一步安装即可;安装时,会自动将 node 可执行文件路径添加进 Path 内,这样进入 cmd 命令行,以查看 node 的安装版本:&amp;gt;&amp;gt; node -vv8.9.3使用 node.js 的包管理器(npm,node package manager,是随着 node.js 的安装一并安装的)继续安装 express 工具...
2017-12-17 11:53:04 3395
原创 魔数,常见魔数
java 文件编译为 .class 字节码(byte code),字节码文件的前 4 位为魔数(起到标识说明作用),magicNumber = 0xCAFEBABE;1. 可执行文件几乎所有的可执行文件格式最开始的几个字节都是魔数:a.out:最开始的两个字节为 0x01,0x07;PE/COEF 文件最开始的两个字节为:0x4d, 0x5a,即 ASCII 码 MZELF 文
2017-12-16 22:37:04 6272
原创 串行总线 —— I2C、UART、SPI
I2C,也叫 IIC,是一种常见的串行总线,它只需要两根线即可在连接于总线上的器件之间传送信息。0. 电气知识开漏输出:Open drain output,不输出电压,低电平时接地,高电平时不接地。上拉电阻:pull-up resistor,1. I2CSDA 与 SCL 是 I2C 的两种双向信号线。SDA:串行数据线;SCL:串行时钟线; ...
2017-12-16 16:48:17 1079
原创 Python GUI 编程
做一些实用小工具。1. tkinterhello worldfrom tkinter import Tk, Labelroot = Tk()label = Label(root, text="hello world")label.pack() # pack() ⇒ 起到 Layout 布局的作用root.mainloop()按钮及其事件:from tkinter impo
2017-12-15 21:50:19 1868
原创 树莓派与 Python —— GPIO
首先来直观地认识树莓派提供的 40 个引脚(GPIO,general purpose i/o,接收外界输入,并向外界提供运算处理后的输出): 1. 安装从远程库(repositories)中下载安装$ sudo apt-get update$ sudo apt-get dist-update$ sudo apt-get install python-rpi.gpio
2017-12-15 21:23:18 6266 2
原创 状态机与马尔科夫模型
就像图由顶点和边构成,状态机(state machine)也由状态和状态间的转移组成。状态是某系统中全部状态的集合; 全部状态构成整个系统的状态空间;状态之间的连接,则刻画着状态之间的转移,流动关系;如下分别为二状态马尔科夫模型: 再来看更频繁出现的操作系统进程状态转移图,它当然是一副标标准准的状态机模型:
2017-12-14 23:14:51 2787
原创 架构设计 —— 子系统与包
老虎吃天,总要找到下口点。0. 分解为子系统(subsystems)或包(packages)常用的子系统(对应于包): 业务规则用户界面数据库访问;对系统的依赖性; 比如开发一个运行于 windows 的程序,可将与 windows 相关的系统调用都隔离起来,放到一个 windows 接口子系统中,如此一来,日后把程序移植到 Mac 或 Linux 系统,只要适配新的接口
2017-12-14 23:02:29 2639
原创 最佳实践 —— 单元测试
针对接口测试是单元测试的最佳实践; 针对接口测试而非接口的实现测试;接口(interface)中定义着其各个实现类所需实现的各种函数接口;
2017-12-10 10:54:47 1186
原创 C/C++ 混合编程
[面试] C/C++ 语法(五) —— extern1. C 调用 C++ 开发的DLL库C和C++混合编程(__cplusplus 与 external “c” 的使用)#ifdef __cplusplusextern "C" {#endif/**** some declaration or so *****/#ifdef __cplusplus }#endif /* end of __cplu
2017-12-09 14:05:30 772
原创 代码可读性、可调式、可维护性
避免魔鬼数字: 将数字通过宏定义或者枚举赋予有意义人类可读的字符串名;1. 代码文件的拆分将所有的源代码都写在一个文件中,最开始还很清楚,及至到后来,功能不断扩展添加,一个程序源代码的文件可以长达数百万行,那么该代码无论是维护,还是功能添加,还是调试和定位,都是一种灾难;
2017-12-09 12:18:49 953
原创 计算机设计思想 —— 虚拟化
物理地址,虚拟地址; 物理地址:如果你的计算机用的是 Intel 的 Pentium 4 的处理器,它是 32 位机器,即计算机地址线有 32 条,物理空间就有 4GB;如果你的计算机只安装了 512MB,其实物理地址的真正有效部分为 0x00000000 ~ 0x1FFFFFFF虚拟地址空间,是指虚拟的,人们想象出来的地址空间,其实它并不存在,每个进程都有自己独立的地址空间,而且每个进程只能访
2017-12-07 23:22:47 805
原创 计算机设计思想 —— 类比、建模与隐喻(同构)
一切有意义的事物皆有历史,有迹可循。—— 《真探》将知识首先简单划分为已知和未知两个互斥的类别,然而已知和未知之间并非完全地泾渭分明,井水不犯河水。重要的科学发现常常来自 analogy(类比),也即把你不太理解的东西和一些你较为理解,且二者之间存在相似性的东西作比较,由此可对那些你不太理解的东西产生深刻的理解。这种隐喻的方法,也叫“建模”(modeling)。1. 应用实例蛇咬着自己的尾巴,=
2017-12-07 22:55:34 1251
matlab字幕拼接用视频截图
2016-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人