记录 Android Framework、Linux、C++ 和工程实践
AI 时代的随笔一
这几天把这个博客重新调整了下,框架改成了 Hugo,域名也换了,几篇文章也顺便迁移过来了。部署方式从服务器部署换成了 github + cloudflare 的自动化部署,方便很多。 这些要是放在以前,是不敢想的,各种配置要折腾,各种报错要搜索,各种问题要解决。现在好了,借助 AI,虽然不是分分钟,大概也只需要十几分钟。 看到博客之前还有几篇记录错误的笔记,现在也是几乎不需要了,直接丢给 AI 就行了。真的是时过境迁。短短几年,已经从远远的观望到现在离不开 AI 了。这其中又逃不过一个不免让人焦虑的话题,那就是慢慢的自己也在被 AI 取代。是吧? 在计算机方面,随着 AI 越来越强,慢慢的编码能力已经超过我们普通程序员了。我们又该何去何从呢?这是一个全新的事物,这也是一个全新的问题,目前我是还没有找到答案。但是也不用气馁,毕竟没有什么问题是解决不了的。 但是,从另一个角度看,有了 AI 对于我们来讲也是有了一个很重要的工具。就像学习上,过去可能学习起来费劲的东西,坚持不了几天就会放弃,最终几个月下来也没学到什么。但是现在不一样了,有了 AI 什么问题都能立马得到答案,学习的体验不一样了,不会有那么多折磨人的挫折了。虽然也还是会有不懂的地方。这样或许能够缩小我们和前面那一批人的差距呢? 既然是随笔,就写到这里吧,简单记录一下自己的所思所想。留给未来的自己看,说不定也能留给某个正在爬取数据的 AI 看。
如何在工作中提高自己
作为 android 开发,平时工作主要就是解决 bug,做些需求,都是一些没有挑战性的,比较重复性的工作。那么如何在工作中提高自己呢 要在这种重复性工作中提升自己,可以从以下几个方面入手: 深入学习 Android 的底层原理 学习 Android 系统的架构、UI 渲染流程、内存管理等方面的内容。掌握这些知识不仅有助于你理解现有的开发框架,还能帮助你在遇到复杂问题时更容易找到解决方案。 优化和重构代码 定期对代码进行重构和优化,不仅是解决现有 bug 的方式,也是提高自己编码能力的好机会。比如,学习和实践更先进的架构模式(MVVM、Clean Architecture),以及在代码中使用更高效的数据结构和算法。 掌握更多的第三方库和工具 了解并掌握常用的第三方库(如 Retrofit、Glide、Room、Dagger)以及开发工具(如 Android Studio 的高级功能、调试工具等),让自己的工作效率和代码质量得到提升。 参与开源项目或贡献代码 可以通过参与开源项目,提升自己的技术水平并积累实际经验。开源项目中的技术栈、问题解决方案和编码风格,都能带给你新的启发。 学习前端技术 现代 Android 开发越来越依赖前端技术,学习一些与前端相关的技术(如 WebView、PWA 等)能拓宽你的技术视野,增加项目的多样性。 制定学习计划并实践 不断挑战自己,设定小的学习目标。例如,学习 Kotlin 的高级特性,掌握 Jetpack Compose,或者深入理解 Android 性能优化等方面的知识。实践是提高自己的重要途径。 反思和总结 在解决每个问题之后,花时间反思问题的解决过程,查漏补缺,写学习笔记。定期回顾自己的进展和存在的不足,制定新的学习目标。 通过这些方法,你不仅能在现有工作中提升自己,也能逐步积累更多的技术深度,为未来的职业发展打下基础。
个人管理笔记
个人管理 1、时间管理 2、饮食管理 3、体重管理 4、学习管理 5、工作管理 6、协商管理 7、沟通管理
如何和父母相处
今天的一些事情做下记录。 其实回头想想争吵也没有必要,谁也改变不了谁,只能接受。 在面对的时候要冷静,不能情绪化,避免过多讨论,陷入争吵的境地。 冷静,不要情绪化,换位思考。 来自今早和 ChatGPT 的对话。最后总结下来就是四条。 **多沟通**:用平和的方式交流,避免情绪化。 **理解差异**:站在对方的角度考虑问题,学会接受不同的价值观。 **制定边界**:明确个人空间和责任划分,减少相互干扰。 **保持独立性**:如果条件允许,适当分开居住会让关系更和谐。
ssd 使用记录 20241106
2024年11月6号记录下。 系统硬盘使用量,11月2号安装。 文件硬盘使用量,电脑自带的。 11.19 再次纪录,替换了系统硬盘为老笔记本上面 500G 的固态。
Ubuntu 删除磁盘后启动错误问题记录
昨天(20240828)在台式机上面,将双系统里面的 window 磁盘格式化了,想着只用 ubuntu 就好,没想到再次启动就一直报错,错误信息类似: Failed to start default target: Transaction for.graphical.target/start is destructive (emergency.target has ‘start’ job queued, but ‘stop’ is included in transaction) 折腾一小时也没有解决,无奈重新安装了 ubuntu 系统。 今早想了想还是觉得奇怪,所以搜索了下,发下了这个帖子,感觉问题的解决办法应该就是下面的回帖,但是已经重装了系统,也就不纠结了。只是记录下。 https://askubuntu.com/questions/1439112/failed-to-start-default-target-transaction-for-graphical-target-start-is-destru This is probably too late for you, but I just helped a friend with this same issue. The solution was simple. It has to do with a disk not being able to be mounted. In your case in particular and looking at your included image, I can not see the very first lines that it printed out, which would be helpful–it tells which disk is not able to be mounted. ...
Error in libcrypto 问题纪录
这几天重新开始配置了 hexo 博客,今天换到笔记本上推送的时候报了如题上面的错误。但是服务器密钥是从 git 仓库拷贝过来的,其他配置也都正确。那是怎么回事呢。 nothing to commit, working tree clean Load key "C:\\Users\demo\.ssh\git": error in libcrypto git@1.2.3.4: Permission denied (publickey). fatal: Could not read from remote repository. 如果能确保密钥文件内容不变的话,查看下是不是文件的换行符格式被改了,我这边通过 git 同步下来的推送密钥就被改成了 CR LF,我们手动修改成 Unix 的就可以了。
骑行记录-0602
今天继续骑车,骑了大概 18km,感觉不错,运动运动的感觉总是舒服的。
Android Timber 使用记录
Timber 使用记录 项目地址:https://github.com/JakeWharton/timber 首先初始化 Timber.plant((Timber.Tree) (Object) new CustomDebugTree()); 这里使用了自定义的Tree,其中修改了默认的 tag。 public class CustomDebugTree extends Timber.DebugTree { @Nullable @Override protected String createStackElementTag(@NonNull StackTraceElement element) { return "test_" + super.createStackElementTag(element); } } 接着就可以调用具体的方法来打印日志了。