Android Room + RxJava 查询记录不存在的处理方法
Android 的 Room Persistence Library 提供了一层对 SQLite 的抽象,通过 Room RxJava,Room 可以直接返回 RxJava 的 Publisher 和 Flowable 对象,极大地方便了对数据库的访问。 使用 Room RxJava 时,常用的返回类型有 Flowable、Single 和 Maybe 。Flowable 用于获取并持续监…
Read more
learn, build, evaluate
Android 的 Room Persistence Library 提供了一层对 SQLite 的抽象,通过 Room RxJava,Room 可以直接返回 RxJava 的 Publisher 和 Flowable 对象,极大地方便了对数据库的访问。 使用 Room RxJava 时,常用的返回类型有 Flowable、Single 和 Maybe 。Flowable 用于获取并持续监…
Read more
前一段因为网络原因,导致国内 HTTPS 无法访问我的博客,折腾了好一阵,顺手整理一下申请并配置 Let’s Encrypt 免费 SSL 证书的操作步骤,使用环境为 Ubuntu 17.10 + Nginx。 0. 配置 DNS 首先需要配置 DNS,建立一条 A 记录,将要使用的域名指向服务器 IP,具体方法因 DNS 服务提供商不同而有所差异,一般服务提供商都会提供便捷的…
Read more
WordPress 上有多种显示数学公式的插件和方法,我先后用过 WP QuickLaTeX 插件和 JetPack 全家桶的 Beautiful Math,二者都是以图片的形式显示公式,兼容性强,但也都有一些不尽如人意的地方。 WP QuickLaTeX 可以将 Latex 公式渲染为 svg 矢量图,在各种分辨率下都有一致的显示效果。但图片尺寸本身不会响应浏览器窗口尺寸,一些较长的公式…
Read more
Cargo 是一款自动化部署工具,它提供了 Maven 插件 ,可以通过 Maven 快速方便地部署服务。本文简要介绍了 Cargo 的 Maven 插件的配置方法,使用系统为 macOS 10.12。 1. Maven 插件和仓库配置 编辑 Home 下 .m2 目录中的 settings.xml: vi ~/.m2/repository/settings.xml 添加如下 plugin…
Read more
本文整理自 Neural Networks and Deep Learning 的 Explanation of logistic regression cost function 一节,给出了逻辑回归代价函数的解释。 二分类逻辑回归中,记预测值为 $\hat{y}$,真实值为 $y$。预测值 $\hat{y}$ 的计算方式为: \begin{equation} \hat{y} = a(w…
Read more
在 Neural Networks and Deep Learning 课程的 Logistic Regression Gradient Descent 一节以逻辑回归为例,介绍了使用计算图(Computation Graph)求梯度下降中各偏导的方法,但没有给出具体的推导过程。 例子中模型为: \begin{equation} z = w^Tx + b \tag{1} \end{equa…
Read more
本文介绍了在 Linux 上配置 Jenkins 构建 Android 应用的方法。下面的说明中,假定已安装 Jenkins,并具有 root 权限。 1. 下载并配置 Android SDK 1.1. 下载 Android SDK 在本文的示例中,会把 Android SDK 下载到 /opt/android-sdk 目录,可以根据需要修改。首先在 /opt 下建立 android-sdk 目录…
Read more
本文概述了 NumPy 中 ndarray 和 matrix 的使用差异和转换方法。示例代码假设已导入 numpy: import numpy as np 1. 维数限制 matrix 和 ndarray 所能表示的数据维数不同,matrix 只能表示二维数据,而 ndarray 可以表示 N 维数据。 1.1. matrix matrix 只能是二维,可以使用如下的方法生成两个 2 * 2 的 …
Read more
使用类型别名可以为已有类型提供了替代的名称。如果某个类型的名称很长,可以为其引入一个更短的名称,以便于使用。 类型别名可以缩短过长的泛型类型,举例来说,通常希望缩短集合类型: [code lang=”Kotlin”]typealias NodeSet = Set<Network.Node> typealias FileTable&…
Read more
建造者(Builder) 的概念在 Groovy 社区中颇为流行。建造者允许以半声明式的形式定义数据,常用于生成 XML、UI 元素布局、描述 3D 场景等。 Kotlin 提供的类型检查建造者适用于大多数用例,比 Groovy 中的动态类型的实现更加诱人。 Kotlin 也支持动态类型建造者,以满足其他用例的需要。 A type-safe builder example 考虑下面…
Read more