大约1个月前,我为自己挑战了一个挑战,专注于在公共场合学习和建设。是时候反思我所取得的成就了。
我专注于学习和建设,因此写博客不是当务之急。我认为今天是对过去2周进行回顾的最佳时机。
学到了
最近,我一直在学习Kotlin Coroutines和Flow。这更多是对这个主题的快速介绍,因为我计划学习数据库,因此我需要了解它。尽管现在我想做些不同的事情,但是将我的脚趾浸入反应性编程很有趣。
coroutines是线程中的计划代码。新线程不一定启动的事实使我感到困惑。就目前而言,对我来说,使用线程和回调的多线程的传统方式对我来说更为清晰和可读。但是,我敢肯定,这仅仅是因为我与Coroutines合作,尤其是在实际环境中。
在流动方面,它们本质上是占位符的占位符。这就是为什么它们被称为数据流。
我还学习了在这里仅是为了方便起见的撰写导航库。
我也对MVI的简单性感到惊讶。意外地遇到了这个东西。因此,主要的想法是,您将所有状态都放在一个数据类中为普通val
,然后将整个类放在一个状态下。首先,我怀疑这种方法是多么优化,因为我认为对状态的更新会导致不必要的重新分配。但事实证明这是不正确的,因为它们是可以跳过的,因为组成足够聪明。 XML视图并非如此。但是,如果您想将状态保存到SavedStateHandle
,MVI会引入一些麻烦,并且也可能导致比赛条件[source],所以我认为我现在对MVVM很好。
资源
这里有一些帮助我学习的资源。
Coroutines
- Introduction to coroutines
- Use Kotlin Coroutines in your Android App
- 5 Fatal Coroutine Mistakes Nobody Tells You About
流动
- Kotlin Flow: Simple yet Powerful Implementationâ€帮助我了解了它们的实际工作方式。
- The Ultimate Guide to Kotlin Flows
根据my new mindset的说法,我应该立即从以下途径开始。尤其是因为它们不需要有关珊瑚和流动的知识。它实际上是在那里教授的。 1。构成Unit 5: Connect to the internet. 2的Android基础知识。与Unit 6: Data persistence.的Android基础知识 |
+ Jetpack Compose Navigation Codelab
进步
我对路线图进行了一些修改,现在我在路径中间
- Android Basics
- kotlin
- JetPack构成基础知识
- 高级状态,副作用和gradle
- 内联函数,测试,旋转介绍和流程 -
- 数据库和模块化
- 与远程API的互动
- 依赖注入
- 架构(MVVM,MVI)和其他东西
看到我的应用程序5%?我实际上设法放手了,这也不打扰我。但是我考虑的是,这还不行。我已经可以编写业务逻辑和UI,然后添加数据存储。我也不应该那么关心最佳实践。因此,为了保持实际和有动力,我决定现在专注于建造。
哦,我进入大学
实际上,我在夏天做到了,但是传统上的演讲从9月开始。
这是一个人是真正方法的忠实拥护者,并说高等教育是一种骗局。 ð
老实说,确实对开发人员的高等教育非常怀疑。但是,首先,这对我来说是免费的。第二,这是我对降级优先级的期望:
- 有更多找到工作的机会。我可以实习或最终出国。
- 沟通。找到好朋友的机会很高。
- 计划B。自学成才并同时拥有学位是双赢的,尤其是对于我这个年龄的人。
- 获得基础,支持和信心。我怀疑了,这就是学校的表现。
这对我来说不足以证明人们花费的金额是合理的。我的时间已经是一项重大投资! ð¼
我曾经传播过每天只需6个小时的信息。人们为我感到难过,但实际上事实并非如此。 ð我只是混淆了一些东西。实际上,它约为4.5 h。星期五是一天休息。
我很喜欢它,觉得我的期望将会得到满足。谁知道,我将来可能会改变自己的决定。
性能(调整为2周)
My challenge
â!7/10 Tweets
2/3文章
健康习惯
我最好不要告诉你ðü
变化
所以我让自己有点落后。直到现在,我一直在提高目标。但是,现在我没有那么多时间了,我认为这是一个只专注于其中一些的机会。最后,回到舒适区。
我也有四个星期的时间,直到我的挑战结束。所以现在我没有错误的空间。
- 不再有推文。我只有在我想要的时候才发推文。
- 我将每周至少进行6天进行编程,但不再计算时间。
- 每周回到1篇文章。
- 还删除了我已经拥有的几个习惯,然后改用HabitNow进行习惯跟踪。
结尾
我主要是为自己写这篇文章。但是,如果您读到这么远,请感谢您对我的兴趣。 ðρ
如果您正在学习Android并与其中一些主题进行斗争,则可以在Twitter上或给我发送电子邮件(daniel.rendox@gmail.com),我们将一起弄清楚。