Github 上最热门的 Java 开源项目 (mp.weixin.qq.com)
10 月份 GitHub 上最热门的Java开源项目排行已经出炉啦,在本月的名单中,实战项目类居多,当然也有像JavaGuide这样学习指南类项目,下面就是本月上榜的10个开源项目:
by @code小生 2020-04-26 20:03 分享 查看详情
记录项目升级 AndroidX+API29 的各种坑 (mp.weixin.qq.com)
年前的时候,公司为了业务发展,签署了一个第三方的代码库,需要我们集成,然后这个项目是依赖于androidX和各种各样新库.所以为了集成该项目,我们强制升级了我们的gradle,依赖库,目标api版本.我们的项目一直使用API27作为target和build的版本,所以在前期利用api版本避免了很多坑,自从集成了这个项目,噩梦开始了
by @code小生 2020-04-26 20:01 分享 查看详情
看完知乎轮子哥的编程之路,我只想说,收下我的膝盖... (mp.weixin.qq.com)
以下为轮子哥个人博客分享,关于毕业那会儿找工作的一些事情。
这篇分享我在看的时候就一直保持下颌微张目瞪口呆的状态,看了25分钟,现在嘴巴有点干,我先去喝口水,你们随意。
by @code小生 2020-04-26 20:01 分享 查看详情
ApkCrack 一键生成支持 Android 7.0 抓包的 apk (mp.weixin.qq.com)
在开发或者测试中,网络抓包是经常需要的。例如需要测试release包在某个bug产生时的网络请求,或者想要查看其他app的响应数据,而且绝大数的都是https请求。
by @code小生 2020-04-26 20:00 分享 查看详情
Kotlin 如何优雅地使用 Scope Functions (www.jianshu.com)
Kotlin 的 Scope Functions 包含:let、run、with、apply、also 等。本文着重介绍其中最常用的 let、run、apply,以及如何优雅地使用他们。
by @Tony沈哲 2020-03-29 22:30 分享 查看详情
基于 Kotlin 特性实现的验证框架 (www.jianshu.com)
本文介绍了一个基于 Kotlin 特性的验证框架,这些特性包括范型、DSL、扩展函数、带接收者的函数类型等等。因此,它使用起来简洁,也有具有很好的可读性。
by @Tony沈哲 2020-03-29 22:29 分享 查看详情
使用 Kotlin+RocketMQ 实现延时消息 (www.jianshu.com)
延时消息是指消息被发送以后,并不想让消费者立即拿到消息,而是等待指定时间后,消费者才拿到这个消息进行消费。
本文介绍了使用 Kotlin+RocketMQ 实现延时消息。
by @Tony沈哲 2020-03-29 22:27 分享 查看详情
Kotlin 范型之协变、逆变 (www.jianshu.com)
本文详细介绍了 Kotlin 范型的特点:协变、逆变。
他们都是型变,型变是指类型转换后的继承关系。Kotlin 的型变分为逆变、协变和不变。
by @Tony沈哲 2020-03-29 22:26 分享 查看详情
Git 如何优雅地回退代码 (mp.weixin.qq.com)
从接触编程就开始使用 Git 进行代码管理,先是自己玩 Github,又在工作中使用 Gitlab,虽然使用时间挺长,可是也只进行一些常用操作,如推拉代码、提交、合并等,更复杂的操作没有使用过,看过的教程也逐渐淡忘了,有些对不起 Linus 大神。
by @code小生 2020-03-29 20:35 分享 查看详情
宅家半个月,我总结出读遍万卷书的 7 大方法 (mp.weixin.qq.com)
新一年的工作开始了,是时候思考一下新的一年里要如何提升自己,最简单的一个方式就是多读书,阅读是一种可以促进你成长的习惯,阅读的越多,你就会有更多的想法和热情去做其他的改变。
by @code小生 2020-03-29 20:33 分享 查看详情
什么是整洁的代码 (mp.weixin.qq.com)
写出整洁的代码,是每个程序员的追求。《clean code》指出,要想写出好的代码,首先得知道什么是肮脏代码、什么是整洁代码;然后通过大量的刻意练习,才能真正写出整洁的代码。
by @code小生 2020-03-29 20:33 分享 查看详情
Android开发 如何最优的在 Activity 里释放资源 (mp.weixin.qq.com)
当前你已经入门Android开发,开始关注深入的问题,你就会碰到一个Android开发阶段经常碰到的问题,那就是内存泄漏. 其实大多数Android的内存泄漏都是因为activity里的资源释放不正确导致,activity与单例或者接口互相持有无法释放.这篇博客就来讲解如何在Android里最优的释放资源.
by @code小生 2020-03-29 20:30 分享 查看详情
Android 中实现异步轮询上传文件 (mp.weixin.qq.com)
前段时间要求项目中需要实现一个刷卡考勤的功能,因为涉及到上传图片文件,为加快考勤的速度,封装了一个异步轮询上传文件的帮助类
by @code小生 2020-03-29 20:29 分享 查看详情
如何去写一手好 SQL ? (mp.weixin.qq.com)
博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。
by @code小生 2020-03-29 20:28 分享 查看详情
Hacking,约不约! (insights.thoughtworks.cn)
对于hacker来说,最有趣的事情莫过于破坏软件设计者的原有规则,重新建立属于自己的规则了。姑且不论这个行为是否合法或违规,单就技术本身而言,矛与盾、攻与防、破坏与重建的过程中,为了达到最终目的而衍生出来的奇妙技术,再配上天马行空的想像和创造足以 让人着迷不已。
by @ThoughtWorks 2020-04-23 10:28 分享 查看详情
一个黑客的自白书 (insights.thoughtworks.cn)
我摊牌了,其实我是一名黑客,这是我的自白书。
我将坦白当我准备入侵一个目标时,我是如何收集信息并入侵的。最重要的是,我会给你们一些有用的忠告。
技术只是一种工具,就看掌握它的人如何去使用它。攻和防是安全领域永恒的话题。
by @ThoughtWorks 2020-04-22 16:41 分享 查看详情
GraphQL 测试实践 (insights.thoughtworks.cn)
我们很熟悉以REST实现的API,可以用任何能够发出http 请求的库或者工具来测试REST API。去年随着GraphQL在全球风靡,它也出现在了最近两期的ThoughtWorks技术雷达中,当我们面对新的GraphQL APi时,QA应如何应对? 知彼知己,方能百战百胜,下面让我们首先来看看什么是GraphQL,它和传统的REST API又有什么不同?
by @ThoughtWorks 2020-04-22 12:01 分享 查看详情
异步函数的两个视角 (insights.thoughtworks.cn)
Promise的作用在于:
1. 给异步算法的编写者和使用者之间提供一种统一的交流手段
2. 给异步算法的使用者提供一种组织代码的手段,以便于将一层又一层嵌套的业务主流程变成一次一次的对then的调用
by @ThoughtWorks 2020-04-21 16:05 分享 查看详情
使用 YApi 管理 API 文档,测试, mock (juejin.im)
接口的维护管理非常耗时,大概占用了30%开发时间。后端程序员要维护对于他们冗余的文档,前端程序员又因为后端开发提供的文档不准确,导致浪费了大量的时间。
接口的正确性和稳定性很难保证,前端工程师为了处理各种数据异常情况,将会写大量异常处理逻辑。传统的接口自动化测试成本非常高,开发一个接口可能只需要一天,但写接口测试用例,需要花费好几天的时间。

对于前端程序员,在后端功能没有开发完成之前,他们需要接口返回数据 Mock ,以便不影响开发进度。传统的数据 mock 是把模拟数据写到项目代码里,这么做会带来更多新的问题,首先后端程序员定义的接口随着需求、架构涉及随时发生变化的,如果前端程序员完全按照最初的设计定义mock数据,将会和实际做出来的接口有很大的出入。

没有一个标准化的流程统一处理,这个过程是非常分散的,需要配合非常多的工具,效率比较低。
by @shengting 2020-04-20 14:53 分享 查看详情
IDEA 推出新的字体,这次真的爱了! (mp.weixin.qq.com)
作为开发人员,我们一天中的大部分时间都在查看代码,那也就难怪开发者们总想找到一款好字体来提高阅读体验,然而,许多流行字体的设计逻辑并没有都考虑到阅读代码和阅读电子书籍之间的区别,阅读代码的时候,开发者的眼睛是需要随时沿垂直和水平方向移动,这和阅读书籍时总是沿着同一方向移动的方式是相反的。
by @code小生 2020-04-19 18:37 分享 查看详情