三次方程因式分解

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

大致分为三步:

  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 已经稳定,可以用于[……]

>> 接着看呗

Dagger2 in Android(三)Scope与生命周期

前言

之前我们已经学习了 Dagger 的基础知识、模块化管理,本章将是 Dagger 基础使用的最后一章。

Scope 被误称 Dagger 的黑科技,但实际上它非常简单,但错误理地解它的人却前仆后继。希望小伙伴们认真阅读这一章,第一次学习时一定要正确理解,不然后边再纠正会感觉世界观都被颠覆了。

@Scope

终于来了。Scope 正如字面意思,它可以管理所创建对象的“生命周期”。Sco[……]

>> 接着看呗

Dagger2 in Android(二)进阶

前面已经讲了 Dagger 的基础注解,并且最后我们也搭建了一个最简单的 Dagger 注入。

这一篇我们继续学习 Dagger 更多的注解,以及如何模块化地管理。这些将帮助我们妥善组织不同的组件、明确各自的生命周期。

@Named

依赖注入迷失

之前说过 @Module@Provides 配合可以包装没有 @Inject 标注的构造函数。但如果包装了一个已经有了 @Inject 的[……]

>> 接着看呗

Dagger2 in Android(一)通俗基础

背景知识

Dagger2 是一个由 Google (之前是 Square)维护的开源依赖注入框架。我曾两次试图学习 Dagger 最终被乱七八糟的名词弄得晕头转向,连个 demo 都没写出来就放弃了。所以本文也会重点解释 Dagger 的各个名词,只有熟悉了它们的作用,才能顺畅无阻地使用,也才能看懂别人的 demo。

虽然标题叫 Dagger2 in Android,但是前几节都是 Da[……]

>> 接着看呗

Android 构建 MVVM 应用 with Kotlin(一)概述

各种模式

MVVM 是一种开发模式,对应的还有 MVC、MVP。这些模式最早在前端领域比较火,后来因为便于维护,被应用到各个平台。但 Android 上却发展的很慢。先来看一下各个模式的区别,以及他们在 Android 中的对应关系。

MVC

  • Model:业务数据模型。用于获取、储存数据。
  • View:视图。Activity、Fragment 等,当然也包括 xml 布局文件。
  • Contro[……]

    >> 接着看呗