10 工匠若水

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 2k+

JDK tools.jar 中 javadoc 自定义 doclet 的妙用

工匠若水可能会迟到,但是从来不会缺席,最终还是觉得将自己的云笔记分享出来吧 ~缘由相信大家都用过 javadoc 命令或者 IDE 封装命令生成 java api doc 文档吧,但是你有没有反思过 javadoc 命令是怎么解析文件生成的呢?其实 javadoc 在 jdk 目录下只是一个可执行程序,但是这个可执行程序是基于 jdk 的 tools.jar 的一个封装,也就是说 javadoc 实现在 tools.jar 中。很多时候我们可能会有一些奇葩的需求,譬如获取 java 文档注释进行搞事情

2020-09-19 21:05:32

你需要知道的神器之 editorconfig

工匠若水可能会迟到,但是从来不会缺席,最终还是觉得将自己的云笔记分享出来吧 ~背景经常在全球最大的男性社交平台 github 上看别人项目时,会发现好多顶级牛逼的项目目录下都会有个.editorconfig文件,出于好奇查了下才发现真特么香。恰巧最近在研究团队一致的 customer IDE format config file 场景,所以就深入品尝了下.editorconfig,发现他的这个真香只适合那些新立项项目或者强制全局执行的项目,因为深入研究后发现其不支持增量配置,略可惜,不过丝毫不影响我写篇

2020-09-19 20:59:32

大规模项目完全 gradle 化的一次落地总结

工匠若水可能会迟到,但是从来不会缺席,最终还是觉得将自己的云笔记分享出来吧 ~背景项目规模航母级庞大,年代久远,导致很多模块迟迟没有完全 gradle 化,所以浪费了一定的开发效率。由于构建采用了类似 c 语言的宏定义概念控制,加上自定义的拆 dex 构建,对部分大型模块不熟悉,所以整个构建无比复杂,从而对完全 gradle 化带来了一些坑。本文仅以总结记录自己的落地经验,以便后续回忆分析。落地过程中的坑与解决方案整体迁移的思路是先依据各种 ant 构建自定义的 build.xml 翻译成对应规则的

2020-09-14 21:04:36

Android Native Crash 捕获之 BreakPad

工匠若水可能会迟到,但是从来不会缺席,最终还是觉得将自己的云笔记分享出来吧 ~背景Android Native Crash 的捕获其实是有好几种方案的,譬如 coffeecatch、crash 后新进程过滤 logcat、google BreakPad 等,系统层面就另当别论了,系统有那么强大的墓碑机制,所以不讨论墓碑情况。应用层方案来说,其各自都存在一些利弊或者兼容问题,综合来看,Android 系还是推荐使用 google BreakPad 实现,本文就抛开其他方案来聊聊 BreakPad 在 An

2020-09-14 20:14:22

Python3.X 爬虫实战(动态页面爬取解析)

【工匠若水http://blog.csdn.net/yanbober未经允许严禁转载,请尊重作者劳动成果。私信联系我】1背景不知不觉关于Python3.X爬虫系列已经介绍了如下系列:《正则表达式基础》《Python3.X爬虫实战(先爬起来嗨)》《Python3.X爬虫实战(静态下载器与解析器)》《Python3.X爬虫实战(并发爬取)》《Python3.X爬虫实战

2017-07-02 20:08:34

Python3.X 爬虫实战(缓存与持久化)

缓存与持久化简单说就是 Cache 或者 Persistence 了,这玩意和爬虫有啥关系呢?想象一下如果我们需要对同一个页面进行多次解析,我们前面的代码都会重新发起真实网络请求,这是不合理的,因为短期之内这个页面是不可能有更新的,我们重复拉取是没有意义的;其次我们很多时候爬虫的输出器其实就是需要把爬取的数据依据需求多元化的持久化下来,所以我们有必要先掌握常见的爬虫相关缓存及持久化。

2017-06-27 19:04:00

Python3.X 爬虫实战(并发爬取)

这一篇一下搞得有点不像在介绍并发爬虫,而成了 Python3 并发编程基础了,坑爹啊,无论怎样最后我们还是给出了两个基于 Python3 线程池、进程池的并发爬虫小案例,麻雀虽小,五脏俱全。虽然本篇对并发爬虫(Python3 并发)没有进行深入介绍,但是基本目的达到了,关于并发深入学习不是一两天的功夫,并发在大型项目中是个很有学问的东西,要走的路还有很长。

2017-06-25 16:37:31

Python3.X 爬虫实战(静态下载器与解析器)

这一篇内容主要延续上一篇[《Python3.X 爬虫实战(先爬起来嗨)》](http://blog.csdn.net/yanbober/article/details/73162298),重点偏向于爬虫爬取静态页面的下载器与解析器常用套路引导,主要适用于理解爬虫流程和自己编写小爬虫程序,对于大型爬虫这些介绍是十分不健壮的,我们一般会采用第三方爬虫框架,对于框架和动态页面爬取我们后面系列会进行介绍的。

2017-06-17 01:05:34

Python3.X 爬虫实战(先爬起来嗨)

爬虫的价值就不多说了,Python 的便捷与强大也就不 BB 了,在这个数据泛滥、追求效率的时代,使用 Python 可以为我们创造相当多的便捷,Web 开发、桌面小工具开发、粘性脚本编写、大数据处理、图像处理、机器学习等等,能做到的事情实在太多。

2017-06-13 22:32:32

Gradle 庖丁解牛(构建生命周期核心委托对象创建源码浅析)

上一篇《Gradle 庖丁解牛(构建源头源码浅析)》我们分析了 Gradle 框架自身初始化(非构建生命周期初始化)的核心流程,这一篇我们续着前面的分析继续(如果没看过前一篇的建议先去看前一篇,因为这一系列存在非常高的关联性)。

2017-04-06 19:59:23

Gradle 庖丁解牛(构建源头源码浅析)

总是有人问 Gradle 构建,总是发现很多人用 Gradle 是迷糊状态的,于是最近准备来一个“Gradle 庖丁解牛”系列,一方面作为自己的总结,一方面希望真的能达到标题所示效果,同时希望通过该系列达到珍惜彼此时间的目的,因为目前市面上关于 Gradle 的教程都是在教怎么配置和怎么编写插件,很少有说明 Gradle 自己到底是个啥玩意的,还有是如何工作的,本系列以官方 release 3.4 版本为基础。

2017-03-24 17:54:57

Android 应用层开发 Drawable 的一些叨叨絮

Drawable 是一个抽象类,提供了一些 API 方法去处理各种资源的绘制,但是又不具备 View 的事件与交互处理能力。额,再简单粗暴一点认为就是一个辅助绘制工具类,把各种东西都封装搞好以后直接给Canvas去画。既然是工具类,说白了就是个模板,你就把它类比 View 或者 Paint 来看吧。

2017-02-28 19:25:38

React Native Android 应用层实战沦陷记

一眨眼又一年快要过去了,原计划今年的最后一个小目标(React Native)看样子要留尾巴到明年了,React Native 想说爱你不容易。怎么评价你呢?应用层 JSX 编写还是很友好的,尼玛框架接入的各种锅却让人痛哭不已,万事开头难,对于 React Native 的接入可以说大量工作可能都需要投入到框架接入中(各种灰度实验的兼容性、各种锅),一旦接入稳定以后真的就是尝到甜头了。

2016-12-13 23:14:28

React Native Android 源码框架浅析(主流程及 Java 与 JS 双边通信)

理解 RN 框架的一些东西,以便裁剪和对 RN 有个更深入的认识,所以本篇总结了我这段时间阅读源码的一些感触,主要总结了 React Native 启动流程、JS 调用 Java 流程、Java 调用 JS 流程。

2016-11-21 22:06:02

React Native Android Gradle 编译流程浅析

了解 React Native 的编译流程是进行 React Native 裁剪阉割的首要任务,理解编译流程才能去看如何依赖、如何裁剪,这和 Android 源码一样,你想修改的前提是熟悉整个 Android 系统源码 build 目录下的 各种 shell、python 脚本的大致框架流程吧,否则搞毛线。

2016-11-11 18:54:58

React Native Android 从学车到补胎和成功发车经历

作为 Android 开发者来说,对待 RN 个人建议要保持一个端正的态度,什么原生 Android App 已死、RN 很牛逼之类的话听听就行了;至少到目前为止个人觉得原生开发才是王道,RN 也就只能胜任一些常规的 CS 模式应用,整体还是很弱的,不要告诉我它支持很方便的封装 Native UI 和 Module 到 js ,这就是扯蛋,除过一些通用 SDK 接口封装具备一定价值以外,个性化 UI 封装有毛用。

2016-11-09 19:01:06

Android开发之Theme、Style探索及源码浅析

本文主要分两部分来进行简单粗略的浅析,首先会围绕Theme与Style的定义及在App开发中的使用来进行简单回顾,接着第二部分会介绍Android系统关于Theme与Style的规则及源码,然后简单总结下我们开发中如何处理自定义Theme与Style的一些方法。

2016-06-12 16:12:38

NDK-JNI实战教程(四)再谈新工具及NDK开发调试

时隔一年,多了些磨砺,懂了些故事,悟出些道理,但这一年技术却停留在了原地。有很多人私信想让NDK系列文章持续下去,自己现在想想是该捡起来了,在这种环境下不能再纵容自己了,以往的知识都该捡起来了。开始本篇前还是建议先按顺序看看前面这三篇吧,否则可能有些脱节。

2016-04-05 20:20:08

Android M Launcher3主流程源码浅析

关于Launcher是啥的问题我想这里就没必要再强调了。由于一些原因迫使最近开始需要研究一下Launcher3源码,为了不再像以前那么傻逼(研究Settings等代码没作笔记),故这里赶紧将阶段性的感悟整理成文章,方便日后回看。其实本文来源于我在项目组内部的一次分享活动的ppt。

2016-01-20 11:35:01

Android应用开发之自定义View触摸相关工具类全解

最近有些乱,各种事情,各种交叉。好在还有一点上进心,于是继续将自定义这个系列的核心知识再梳理一下吧。关于自定义控件前面博文说过了,这里不会教你拿来主义,只授之以渔,如果你喜欢拿来主义,不好意思,请绕行,如果你喜欢得渔,那请继续。前面我们已经叙述过了几篇关于自定义View涉及的东西,大家可以自己回过头去看我之前的博客,譬如事件处理、坐标系、工具类等。下面我们还是继续补充一些常用的自定义控件工具类。

2016-01-15 19:38:40

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!