Rust Basic

发布在 Rust

学习总结了一些Rust基础知识, 不包括Thread与Asyc Program, 后面如果有涉猎, 会单独出来.

阅读全文

使用Anchor来简化YAML

发布在 Operation

通过配置文件来对我们的系统进行配置在任何系统里都是一个常见的操作, 我们平时最普遍使用的文件格式便是YAML. 很多时候, 我们发现一些通用的配置在不同场景中得来回重复的使用, 或者只有个别字段发生了变化. 在这种情况下, 我们其实可以使用YAML的Anchor(&)跟Alias(*)来复用我们的配置.

阅读全文

非Go程序员的Golang知识点总结

发布在 Go

由于项目上有Golang需求, 虽然照猫画虎的构建一个简单RESTFUL Service不算难,不过熟悉一下Golang的基本知识还是很有必要。
这里记录下在学习过程中认为有价值的points, 以供日后查看。

阅读全文

可能很多人平时工作中不会遇到DNS配置相关的问题, 但如果偶尔遇到不同类型DNS记录的配置, 在没有搞清楚它们都是干啥的情况下, 会眼花缭乱, 还记得很多年前实验室配置DNS不太对导致只能访问www.instlink.com, 而无法解析subdomain.instlink.com。

阅读全文

Android Framework知识总结

发布在 Android Framework

Android Framework这一系列学习了很久, 也跟了不少源码, 推荐一个查看源码的网站非常不错, 速度也很快。
希望可以帮助了解Android Framework各个知识点,也作为自己的一个备忘录,便于查询。

阅读全文

如何自定义Kubernetes资源

发布在 DevOps

目前最流行的微服务架构非Springboot+Kubernetes+Istio莫属, 然而随着越来越多的微服务被拆分出来, 不但Deploy过程boilerplate的配置越来越多, 且繁琐易错, 维护成本也逐渐增高, 那么是时候采用k8s提供的扩展自定义资源的方法, 将重复的template抽到后面, 从而简化Deploy配置的数量与复杂度.

阅读全文

Refresh Clean Code

发布在 Clean Code

这是一本被前辈称赞, 另一个马丁的知名著作, 被赋予学习如何写出漂亮代码的教皇级手册, 最近(再)浏览, 有诸多感受.

总结一下就是如果你是新手, 可能看优秀的open source学习更好; 如果你是老手, 可能他说的东西要么你会觉得太啰嗦, 要么你会觉得例子太细节, 太教条, 无法举一反三.

不过一些General的要点思想我摘录了出来, 有些还包括个人的观点, 记录在此, 以备查阅.

阅读全文

Java与Android知识点总结

发布在 Android Note

最近在看关于Java以及Android开发相关知识点的视频, 有的非常细节, 有的则很概括, 本人也通过查阅文档对一些知识点进行了补充, 将其要点总结于此, 以供日后查阅.

阅读全文

Refresh Refactor

发布在 Refactor

最近在闲暇之余重(第)温(一..次)此书, 首先能感受到的, 无论你是新程序员还是老程序员, 这本书都已经不具备太多的可读性了.

由于本书成书年代久远, 那个时候软件行业还不够发达, 面向对象还没有被大数人理解, 加之编译器也非常落后, 设计模式也不深入人心, 所以文中提供的所谓重构的心法, 在当时或许有一些意义. 而今看来, 整书400多页的文字, 主要的思想就是「抽」, 无论是类, 接口, 方法, 逻辑, 还是参数. 但是为什么会有这么大的篇幅, 其中一半的内容是教你如何在一个IDE功能匮乏的年代, 以一个出错率更低的顺序, 来进行上面所说的多种抽象操作.

当然我去除了大量书中已经没有任何价值的点后, 总结了如下的一些内容, 应该大多数大家已经在工作实践中已有体会, 主要还是总结一下, 温故知新吧.

阅读全文

Android性能优化总结

发布在 Android Note

最近断断续续的看完了Android性能优化相关的一个系列视频, 感觉总结的非常不错, 很多地方都有深受启发.
期间也穿插着停下来研究了一些相关的技术,框架,与工具, 并做了一些小笔记, 现将整个体系总结下来, 以便翻阅与温习.

阅读全文

Refresh Java

发布在 Java

当你的知识来源于实践, 你可能会忽略很多细节.
当你的知识来源于阅读, 你可能会很快的忘掉.

那么, 不如在空闲之余, 浏览一遍, 把觉得有必要的记录下来, 也便于以后温故而知新, 何乐而不为呢?
于是便有了这138条从Thinking In Java中记下来的条目.
这本书不同于其他的Java教材, 它的作者更喜欢通过与C++进行对比来阐述Java的不同思想, 如果读者有一定C++知识储备, 会更好的理解Java的很多设计.

阅读全文

Chernobyl, 切尔诺贝利, 車諾比

发布在 nonsense

虽然八季的权游的草草收尾让HBO被骂了个惨, 但是后续推出的Mini剧切尔诺贝利却以9.6的高分一绝红尘, 让大家对于人类历史上最大的核灾难有了形象生动的认识. 谎言的代价, 一开始的旁白便以此为切入, 展开了整部剧的画面.

趁着热度, 我并没有先看这部西方指导的剧集, 而是分别看了美国拍的纪录片抢救車諾比, 俄罗斯的奇幻片切尔诺贝利 禁区, 以及乌克兰的电视剧飞蛾, 这三部剧让我从三个不同角度, 或者说是阵营去感知那段历史, 充分满足了我的好奇心, 也填补了我的很多困惑, 以及帮助了我更好的去思考时代的变迁. (Warning!!!后面会有一些剧透)

阅读全文

The year that was 2018

发布在 nonsense

昨天天空飘起了大雪, 今天便又艳阳高照, 空气中透着阵阵寒意, 似乎意味着冬天真的来了, 而且是大摇大摆, 万众瞩目.

四季分明, 或许不是文明泵发的必要条件, 但一年四季, 朝夕交替, 却的确是我们生活, 成长, 喜怒哀乐的必要条件.

2018年已余额不足, 恍惚间已迈入而立, 然常常并不曾觉察, 思绪也会偶然停留在学校, 停留在实验室, 停留在北京, 停留在年少轻狂的时代. 或许, 这也就是所说的老了吗?

在这即将过去的一年中, 发生了太多的改变, 虽然已经过去, 沉积在大脑中的余晖, 依旧令我久久不能平息. 我心痛过, 庆幸过, 欢喜过, 也期待着未来美好的事情会发生.

阅读全文

Android程序员的Flutter学习笔记

发布在 Flutter

作为忠实与较资深的Android汪, 最近抽出了一些时间研究了一下Google的亲儿子Flutter, 尚属皮毛, 只能算是个简单的记录吧.

Google自2017年第一次提出Flutter, 到2018年Beta, 再加之RN的各种风波与问题, 使得Flutter的热度不断上升, 国内不少公司都公布Flutter在其产品中的应用, 如美团, 闲鱼等.

阅读全文

UI测试在Android平台上一直都是一个令人头痛的事情, 由于大家平时用的很少, 加之很多文档的缺失, 如果很多东西从头摸索,势必踩坑无数.

自Android24正式淘汰掉了InstrumentationTestCase(位于android.test包), 推出Espresso(位于android.support.test包), Google一直致力于降低UI测试的门槛.

了解测试金字塔的同学可能知道,UI测试属于功能测试(Functional Test), 或者按照其他的划分也属于集成测试(Integration Test), Google推出了UIAutomatorEspresso来分别处理跨App间的测试(黑盒测试)以及App内的测试(白盒测试).

测试步骤类似,分为:

  • 查找元素
  • 触发行为
  • 检测结果

本文分为三部分, 第一部分简单介绍如何使用Espresso, 第二部分分析如何处理诸如异步, 依赖注入, 程序结构对UI测试的影响以及提供解决办法, 第三部分提供源码以及一些Reference的地址.

阅读全文

Android Weekly Issue #319

发布在 Android Weekly

July 22nd, 2018

Android Weekly Issue #319

本期内容包括MotionLayout如何做动画的介绍,Kotlin when完备性的实现,以及如何Move一些Gradle的东西到Kotlin,还包括一个比较好的Kotlin Test库,以及如何用LiveData整合不同数据源,还有一个轻量级的Kotlin Eventbus的推荐.

Lib部分有Jake大神的Android与Chrome Extension的android sdk查看器,还有一个android黄瓜测试生成工具等…

阅读全文

Android Weekly Issue #317

发布在 Android Weekly

July 8th, 2018

Android Weekly Issue #317

本期主要内容包括”重磅”的Udacity放弃RN(其实是因为他们RN写的那个Feature不要了),还包括如七部使用Google Page Lib,如何用Room设计与创建可维护的数据库等Code Guide的文章,以及Android P字体渲染,放大镜,Google新版Universal Music Play Sample,还有Retrofit如何工作,如何通过Kotlin Extension Generation来改善Dagger Butterknife使用体验,等等.

阅读全文

Android Weekly Issue #316

发布在 Android Weekly

July 1st, 2018

Android Weekly Issue #316

本期内容包含教你使用Kotlin通过Annotation Processor生成代码文件, JetPack中的Android KTX, 以及升级到Target26所需要注意的东西,还包含如何使用KTX简化AndroidX里面的Slice的Build,以及如何通过MotionLayout方便实现动画的系列,还有MLKit中扫条形码的Lib介绍,以及一些譬如Kotlin MVVM, Koin依赖注入做Test, UI Test去除动画,入行一年感受,DialogFLow来做面试机器人等等的有趣内容.

阅读全文

Android Weekly Issue #315

发布在 Android Weekly

June 24th, 2018

Android Weekly Issue #315

本篇内容包括,Android P的优先级队列管理,Yelp性能测试系列最后一篇帧率监控,以及近期比较火的Airbnb下一步移动战略,还包含连接Clould IoT Core的Library介绍,ML Kit文字识别,与如何从AndroidJob迁移到WorkManager.还有一篇如何搭建面试机器人的介绍,以及尚在早期的Kotlin Native跨平台数据库的概况等.

阅读全文

Android Weekly Issue #310

发布在 Android Weekly

May 20th, 2018

Android Weekly Issue #290

本期既有本次Google IO对于Play Console的更新简介, 又有数篇对于简化UI Test的工具与方法的介绍,还有JetPack Worker Manager的推介,以及如何仅仅通过Firebase快速搭建一个自己的Instgram小App,当然还有一篇关于Google最新的Navigation Architecture Component的介绍,精彩内容不容错过.

阅读全文

如何从RxJava升级到RxJava2

发布在 Android

RxJava2已经推出有一年半的时间,由于之前RxJava已经在现有项目中广泛使用,而RxJava2在除了很多命名外并没有太多革新,所以相信有很多人跟我一样都还没有升级.

随着老版本渐渐的失去维护,更重要的是有一定时间允许我来做这个迁移,其实弃老从新一直都是程序员的喜好.

虽然官方提供了文档详尽的介绍了区别,但是文章之长,可能很多人读不下去,却有想快速的迁移过来,我将除了命名改变之外有用的地方总结成了几点,供大家参考.

阅读全文

Android Weekly Issue #290

发布在 Android Weekly

December 31st, 2017

Android Weekly Issue #290

本期内容包括介绍Kotlin逆变协变的一篇(虽然没说清楚,但我补充了),IoT相关制作MIDI Controler的Part two,以及比较炫酷的Shared Element Reveal动画,以及LiveData与DataBinding相关,Kotlin扩展Fragment/Activity方法做测试,Rx逐条打Log等等.

阅读全文

Android Weekly Issue #289

发布在 Android Weekly

December 24th, 2017

Android Weekly Issue #289

今年最后一篇, 包含了可以上传log记录的HyperLog,以及Android的面试技巧,还有Model的分层,以及如何迁移到Room.
还有比较炫酷的一个Path动画的实现方法值得去看.剩下的多是一些入门介绍,如kotlin,firebase messaging,contraintset animation等.

阅读全文

Android Weekly Issue #288

发布在 Android Weekly

December 17th, 2017

Android Weekly Issue #288

本期内容主要包括介绍Kotlin DSL使用kotlin来写gradle,如何组织Session,以及MVP如何通过LifeCycler来简化,如何让多个presenter之间相互交互.
特别推荐的有如何使用kotlin优化多方法的接口,有多达四种方法,是学习kotlin lambda优化的好机会,以及如何使用kotlin架构跨平台应用.

代码部分有趣的是一个可以画dagger依赖关系的库,但还支持的不完善,以及西班牙人封装Espresso的一个库,叫Barista.

阅读全文

Android Weekly Issue #287

发布在 Android Weekly

December 10th, 2017

Android Weekly Issue #287

圣诞节快要来了,小编也偷懒了,本期内容包括如何通过AS添加网络字体库,以及如何使用Dagger.Android等实现Clean Architecture,还包含一篇Android安全系列的文章,介绍如何实现长数据的加密.

关于Kotlin的技巧以及系统数据库的替代品,也有各有两篇系列文章,值得一看.

阅读全文

Android Weekly Issue #286

发布在 Android Weekly

December 3rd, 2017

Android Weekly Issue #286

本期文章包含如何通过踩坑来学习Kotlin,以及利用Kotlin的data class做MVVM状态保存,还包含一些基础知识的介绍,如RxJava2线程切换,Kotlin与Java容器分析.

另外,还包括Intant App的软文一篇,以及 Android O对Notification进行Channel管理的文章,帮助大家适配O以上的通知.

阅读全文

Android Weekly Issue #285

发布在 Android Weekly

November 26th, 2017

Android Weekly Issue #285

本周包含好几篇Kotlin的文章,如通过Property Delegate实现SharedPreference的自动读写,Coroutines编写Weather应用的终结篇,还有关于如何写好代码的方法论的Tips,以及MVI的全面介绍,如果不喜欢Mosby的approach,可能这个作者从头到尾实现的更有看头.

当然如果想了解Android最流行的pipeline如何开发,可以去看一篇关于Devops的文章.对代码感兴趣的,看看MVI也是不错的.

阅读全文

Prince Chen

Xidian B/M EE
热爱生活, 关爱老婆
友情链接 圣骑士


Worker


Xi'an