自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

https://space.bilibili.com/59807853

移步b站,关于数学,计算机科学,深度学习,计算机视觉以及文艺的

原创 C++ 资源管理 —— RAII

RAII:在构造函数中申请资源,在析构函数中释放资源。 1. RAII 自动实现锁资源的释放 void bad() { m.lock(); f(); if (COND) return; m.unlock(); } 显然如果提前返回,会导致死锁。 class ...

2018-01-29 23:29:28 179 0

原创 特例模式(Special Case Pattern)与空对象模式(Null Pointer Pattern)—— 返回特例对象而非 null

返回 null 值,基本上是在给自己增加工作量,也是给调用者添乱。只有一处没有检查返回的是否为 null,程序就会抛 NullPointerException 异常。 如果你打算在方法中返回 null 值,不如: 抛出异常,或者返回特例对象。 如果你在调用某个第三方 api 中可能返回 nu...

2018-01-29 22:53:37 1309 0

原创 python tricks —— datetime 删除日期中的前导 0

>> from datetime import datetime >> now = datetime.now() >> now.strftime('%Y-%m-%d') '2018-01-29' 如果此时我们想转换为 2...

2018-01-29 00:33:56 3968 2

原创 天文网站

1. 八大行星的实时位置 太阳系 内行星包括:水星、金星、地球、火星;

2018-01-28 22:34:01 1533 0

原创 Linux 工具套件 —— binutils、readelf

readelf:Linux 下专门针对 ELF 文件格式的解析器; 1. binutils odjdump:顾名思义,查看显示 obj(目标文件)的内部结构; $ gcc -c hello.c # -c 表示只编译不链接; $ objdump -h hello.o -s:将所有...

2018-01-25 23:29:47 390 0

原创 错误处理与异常处理

1. 异常处理的打包及自定义异常类 ACMEPort port = new ACMEPort(12); try { port.open(); } catch (DeviceResponseException e) { reportPortError(e); logger...

2018-01-24 23:06:41 249 0

原创 数组(数组名)与指针辨异

int arr[] = { 1, 2, 3 }; printf("arr = %p\n", arr); printf("&arr = %p\n", &arr); printf("sizeof(arr) = %d\n",...

2018-01-24 22:05:27 228 0

原创 Java 代码复用 —— 泛型

public interface Comparable { public int compareTo(T o); } 1. 接口(Comparable:可比较接口) public static boolean less(Comparable v, Comparable w) { ...

2018-01-22 23:41:41 330 0

原创 电压、电流 —— 常用设备的电压电流

1. 电池与电磁 1号、5号、7号电池的电压普遍为 1.5 V; 单体的电压自然是越大越好,为什么在电压越大越好的情况下,1号、5号、7号电池的电压普遍设计成 1.5 v。因为三者的供电原理都是一样的,都是锌锰干电池,其电极材料、电解液成分决定了电池电压, 水的最低分解电压为 1.23V,...

2018-01-21 22:36:23 518 0

原创 重构代码 —— 提取出类

1. 参数对象化 如果函数需要两个,三个或更多的参数,说明其中一些参数需要封装为类了: Circle makeCircle(double x, double y, double radius); Circle makeCircle(Point point, double radius);

2018-01-20 23:47:19 171 0

原创 np.unique 的实现

1. 简单实现 import numpy as np def unique(ar): perm = ar.argsort() aux = ar[perm] flag = np.concatenate(([True], aux[1:] != aux[:-1])) ...

2018-01-20 21:02:06 750 1

原创 重构代码 —— 函数即变量(Replace temp with Query)

函数即变量,这里的函数指的是返回值为某一对象的函数。Replace temp with query,query 是一种查询函数。 example 1 double price() { return this.quantity * this.itemPrice - M...

2018-01-20 17:32:22 195 0

原创 代码健壮性的获得 —— 借助编译器及语言的语法特性

1. 借助编译器 主要利用编译器对语法中一些关键字、修饰符的支持: Java final、static 注意区分 Java 的按值传递和按引用传递,但使用按引用传递时,被调端不会对(没有能力)对调用端造成任何影响, 按引用传递便具备对调用端造成影响的能力,如果在按引用传递的情况下,还想保...

2018-01-20 12:06:36 156 0

原创 代码健壮性 —— 边界条件的判断

边界条件的判断包括: 文件读操作:第一个字符,最后一个字符,倒数第二个字符; 大于号与大于等于号; 1. 数据结构 关于整数: 正数:包括边界值 1、0x7FFF FFFF 负数:包括边界值 0x8000 0000、0xFFFF FFFF 0 关于序列(容器): 序列为空; 序列长...

2018-01-20 11:35:43 701 0

原创 Windows vs Linux:\r\n 与 \r

Linux 下文本文件的换行符为 \n Windows 下文本文件的换行符为 \r\n,占两个字节: \r:归位键(CR),ascii 码为 13 \n:换行键(LF),ascii 码位 10 也即单行无换行文本,其在 Linux 和 Windows 下的大小是一致的; windows 文件有...

2018-01-19 23:17:53 253 0

原创 Java VM(虚拟机) 参数

1. 虚拟机参数:-ea,支持 assert 断言关键字 eclipse 默认是不开启此参数的,也就是虽然编译器支持 assert 关键字,但并不起作用,需要为虚拟机的默认参数中增加此配置选项: 【Window】⇒ 【Preferences】⇒ 【Java】⇒ 【Installed JREs...

2018-01-19 23:03:59 6913 0

原创 eclipse 环境 JUnit 测试框架(junit.framework.* 与 org.junit.*)

如下所示,先通过 build path 导入 junit 环境依赖的 jar 包: 1. junit.framework.* junit.framework.* 主要类和函数: Test TestCase TestSuite 实现并运行(run as => Java ...

2018-01-19 00:36:59 913 0

原创 Python 编码问题

1. “UnicodeDecodeError: ‘gbk’ codec can’t decode with open(filename, 'r') as f: data = f.read() 将其改写为: with open(filename, 'r...

2018-01-18 00:04:33 335 0

原创 Java 面向对象编程 tricks

方法中描述了参数: 1. 构造器重载 重载构造器时,使用描述了参数的静态工厂方法名,这样做的意义何在呢?就在于为动作赋予意义,提升代码的可解释性: 传统的实例化方式: Complex fulcrumPoint = new Complex(23.0); 实例化对象时,显然,new ...

2018-01-16 23:03:14 131 0

原创 python 编码 —— codecs 库

1. 对文件读写 import codecs fout = codecs.open('test.html', 'w', encoding='UTF-8') fout.write('') fout.write(&...

2018-01-15 23:15:23 782 0

原创 mxnet(gluon)—— 模型、数据集、损失函数、优化子等类、接口大全

1. 数据集 dataset_train = gluon.data.ArrayDataset(X_train, y_train) data_iter = gluon.data.DataLoader(dataset_train, batch_size, shuffle=True) for d...

2018-01-15 00:07:12 2008 0

原创 机器学习套路 —— 样本集的拆分(正样本、负样本)

collect negative samples of adaboost algorithm for face detection 机器学习中的正负样本 所谓正样本(positive samples)、负样本(negative samples),对于某一环境下的人脸识别应用来说,比如教室中学...

2018-01-14 20:03:17 17113 0

原创 编程理论 —— 计算图框架

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

2018-01-14 19:18:05 649 0

转载 Python with 结构

一段基本的 with 表达式,其结构是这样的: with EXPR as VAR: BLOCK EXPR 可以是任意表达式; as VAR 是可选的。其一般的执行过程是这样的: 计算 EXPR ,并获取一个上下文管理器。 上下文管理器(上下文管理器,实现了 __exit__/__e...

2018-01-14 19:01:12 271 0

原创 树莓派外设、模块、传感器 —— 数码管(F3461BH)

1. 4 位 8 段(7+点)数码管 树莓派GPIO入门05-驱动数码管显示数字 其内部电路图及各个段的引脚控制如下: 共阳与共阴: 数码管从电源极性上分共阳和共阴两种。解释一下,如果数码管上每一个独立的发光二极管都单独引出两根引脚,一根接正极(阳)一根接负极(阴),那么一...

2018-01-14 12:40:47 1222 0

原创 树莓派版本及各种引脚

0. 板载组件 板载组件:尤其注意wifi、Bluetooth 的位置(开发板的左上角) 1. 注意树莓派版本的差异 【Raspberry Pi 3试用体验】与树莓派2对比 不变: 从板卡外观上看,硬件设计布局基本没有改变,甚至电容电感的位置...

2018-01-14 12:33:50 8437 0

原创 树莓派(Arduino)仿真软件 —— Fritzing

Fritzing 官网:Fritzing Fritzing 下载地址:Fritzing Download windows 下降 zip 文件解压后,免安装双击 exe 即可运行;

2018-01-13 23:33:20 8609 0

原创 树莓派视频监控 —— 使用 mjpg

下载到树莓派本地: $ wget https://github.com/jacksonliam/mjpg-streamer/archive/master.zip $ unzip master.zip # 会解压为 mjpg-streamer-master 目录 安装依赖库及C/C++项目...

2018-01-13 19:29:00 466 0

原创 物质之学 —— 金属

1. 锡 锡,金属元素,一种有银白色光泽的的低熔点(焊锡丝)的金属元素,在化合物内是二价或四价,不会被空气氧化(焊锡丝),主要以二氧化物(锡石)和各种硫化物(例如硫锡石)的形式存在。元素符号Sn。锡是大名鼎鼎的“五金”——金、银、铜、铁、锡之一。 用途: 青铜器(Bronze Ware)是...

2018-01-13 16:50:57 147 0

原创 树莓派相机操作 —— luvcview 的安装、raspistill:摄像头命令

MMAL (Multimedia Abstraction Layer) 0. 图像及视频操作 RaspiCam Documentation 1. 运行树莓派配置工具 >> sudo raspi-confi...

2018-01-13 00:13:12 5128 2

原创 树莓派(Linux)与镜像源

树莓派学习笔记——修改树莓派软件源 1. linux 镜像源文件 >> vim /etc/apt/sources.list 可在树莓派官网 http://www.raspbian.org/RaspbianMirrors,找到最新的软件源镜像地址,官网提供的国内镜像源如下: ...

2018-01-12 23:58:46 512 0

原创 Python 爬虫 —— 文件及文件夹操作

0. 文件名、路径信息、拓展名等 #取文件后缀 >>> os.path.splitext("/root/a.py") ('/root/a', '.py') #取目录与文件名 >>> os.pat...

2018-01-11 00:04:17 1987 0

原创 著名站点的爬虫 —— 豆瓣

1. 爬取“喜欢这部剧集的人也喜欢 ” import requests from bs4 import BeautifulSoup url = "https://movie.douban.com/subject/25953429/" soup = BeautifulSoup...

2018-01-06 23:58:19 3174 0

原创 物联网 —— 常用传感器模块

1. HC-SR501探究人体红外传感器HC-SR501 HC-SR501人体红外传感器(PIR)模块。 其工作原理人体都有恒定的体温,一般在37度,所以会发出特定波长10UM左右的红外线,被动式红外探头就是靠探测人体发射的10UM左右的红外线而进行工作的。人体发射的10UM左右的红外线通过菲泥尔...

2018-01-03 22:56:40 2074 0

原创 Python 标准库 —— 邮件(email)与邮件服务器(smtplib)

你真的懂邮件吗?邮件包括如下四部分内容: 发送人:from_addr 接收人:to_addr 主题:subject 正文:msg 其中发送者,接收者,又需要两部分的内容构成:用户名(字符串形式)及其邮件地址(xx@xx.com)。from email.mime.text import MIMETe...

2018-01-03 22:48:15 1975 0

原创 User-Agent 及其构造

url = ... user_agent = ... headers = {'User-Agent' : user_agent} req = requests.request(url=url, headers=headers)1. 构造 UA# firefox 浏览器 user...

2018-01-03 21:37:47 1325 0

原创 Python 爬虫 —— 网页内容解析(lxml)

1. lxmlfrom lxml import etree etree 下的 HTML 对象,其构造函数接受 requests.request 的返回值对象:url = ... user_agent = ... headers = {'User-Agent' : user_ag...

2018-01-03 21:28:49 833 0

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