LEDE 配置 IPv6 以及公网访问

偶然发现江苏电信宽带已经分配了 IPv6 pd 前缀,一不做二不休搞一下。

基础概念

IPv6 与 v4 不同。v4 时代运营商一般只给用户分配1个公网 ip,然后用户自己的路由器通过 NAT 再给局域网设备分配内网 IP,也就是 192.168.x.x 这种。这种情况下内网设备没有独立的公网 IP,要想从公网访问必须配置路由器端口转发。

随着 v4 资源枯竭,现在运营商默认已经不再分配公网[……]

>> 接着看呗

OpenWrt/LEDE 搭建 Syncthing p2p 私有文件同步服务

简介

因为最近团队有文件同步的需要,常见的公有云服务要么就是不靠谱要么是速度慢,要么就是太贵:expressionless: 饱受好评的坚果云则是限制流量而且据说有隐性限制。

家里上传有 30M 带宽,足够满足常规的文件同步了。常见的私有云系统有 NextCloud/Syncthing/Resilio(BTSync)。NextCloud 更像是一个私人网盘,属于c/s模式,对中心服务器稳定性要[……]

>> 接着看呗

华硕路由器 ARP 绑定

何为 ARP 绑定

真想不到被吹爆的华硕路由器居然连 ARP 绑定功能都没有。这里要区别一下,在客户端列表中开启 MAC地址与IP绑定 其实仅仅是 DHCP 绑定,它可以保证每次给相同设备总是分配同一个 IP 地址,但前提是设备必须请求IP!

我们知道路由器内部会维护一个 ARP 表,记录 IP 与 MAC 的关系,每当设备请求 IP 时便会被记录,其超时时间因具体设置而不同。因此当设备长时间[……]

>> 接着看呗

三次方程因式分解

说来惭愧,都快大学毕业的人了还不会三次方程因式分解。今天下决心搞懂,原来并不难。茅塞顿开然后感觉好神奇哈哈😂

大致分为三步:

  1. 通过常数项试根记为 a
  2. 凑出 (x-a)
  3. 提取公因式 (x-a),并将剩下的继续分解

直接看例子

$x^3-x^2-36x+36$
$=x^2(x-1)-36(x-1)$
$=(x-1)(x^2-36)$
$=(x-1)(x+6)(x-6)[……]

>> 接着看呗

Koin in Android: 更简单的依赖注入

Dagger 之殇

如果还不清楚什么是依赖注入,那么请参考之前写的 Dagger2 in Android(一)通俗基础开头部分。如果你不了解 Dagger 倒也无妨,本文会进行一定的对比,但仅针对接触过 Dagger 的同学,否则大可以忽略。

Dagger2 作为著名优秀的依赖注入框架广为流传,何况还是 Android 的亲爸爸 – Google 在维护,因此相信很多人会将其作为 Androi[……]

>> 接着看呗

[译] Coroutines on Android(三)实战

本系列文章主要翻译自 medium-AndroidDevelopers.

使用协程解决实际问题

前两章重点研究了协程如何简化代码,在 Android 中提供主线程安全,以及如何避免协程泄露。在此基础上,协程是一个在 Android 中进行后台处理以及以及简化回调的优秀方案。

到目前为止,我们主要关注的是什么是协程以及如何管理它们。在这篇文章中,我们将看看如何使用它们来完成实战任务。协[……]

>> 接着看呗

[译] Coroutines on Android(二)起步

本系列文章主要翻译自 medium-AndroidDevelopers.

本篇将开始整合协程与 Android,探索如何启动并跟踪协程,以便适配 UI 生命周期。

为何跟踪协程

在第一篇中,我们探索了协程能解决的问题。总结一下,协程是解决这两个问题的优秀方案:

  1. 在主线程运行长时间任务导致阻塞。
  2. 从主线程上安全地调用一切 suspend 函数。也即主线程安全(Main-safety[……]

    >> 接着看呗

[译] Coroutines on Android(一)背景知识

本系列文章主要翻译自 medium-AndroidDevelopers.

本系列文章主要关注 Kotlin Coroutine(协程) 是如何工作的,以及如何解决实际的 Android 问题。但是相对来说不会过于深入底层,更偏向于应用。

协程解决了什么?

Kotlin 协程提供了一个全新的,更加简单地方式来实现异步。协程在 Kotlin 1.3 中正式发布,API 已经稳定,可以用于[……]

>> 接着看呗