C++ 对象内存布局是一个深入而有趣的话题。sizeof 可以返回对象占用的内存大小,那具体存每个字节的是什么呢?对象的哪些成员会直接放到对象中,哪些不会?每个成员的排布顺序是怎么样的?当发生继承或复合时,子类对象的内存布局又是怎样的?虚函数的实现机制是什么?动态绑定在内存中是怎么体现?如何避免重复继承?「C++对象内存布局初探」系列便尝试着从内存布局的角度去回答这些问题,这是本系列的第一篇。
继续阅读
Gulp 是优化项目、提高开发效率的一个非常有用的工具,尤其适用于前端领域。它有非常多的插件,可以实现很多自动化的功能,如创建本地 web 服务器、开发过程中文件修改实时刷新浏览器、对 Sass 或 LESS 进行实时编译、优化资源文件(如拼接压缩 CSS, JS 文件,压缩图片等)。本文翻译自 Zell Liew 的 Gulp for Beginners 一文,原文为英文,采用意译,部分有改动。文章略长,但对快速了解如何使用 Gulp 非常有帮助。
继续阅读
本文以 JavaScript 开发自定义百度地图类型切换控件为主线,记录了控件从实现到一步步优化过程中的思考与总结,其中不少关于 JavaScript 代码优化的 tip 在很多场合都很实用。主要知识点包括:HTML 与 CSS 之间的松耦合、JS 的事件委托、HTML 自定义特性、DOM 节点访问及遍历、JQuery 常用方法的使用及百度地图 API 的调用等。这些都是比较基础的知识点,在此尽可能完整的记录,以便今后查阅及完善。
继续阅读
不相交集(Disjoint Set)是一种用于解决等价问题的非常有效的数据结构,具有性能优越、实现简单等特点。本文介绍了等价问题、不相交集等概念,并叙述了 Union/Find 算法的实现与优化。
继续阅读
CloudViewer 简介CloudViewer (点云可视化软件)是一款面向三维点云数据处理、点云开发专业人员及爱好者的三维点云可视化软件,该软件具备以下功能:
继续阅读
本文作为 Minofo 开发的第二篇文章,详细介绍了 高德地图 API 的使用,包括地图 SDK 和定位 SDK 的用法,实现了 Minofo 的地图模块。另外还介绍了用车面板的实现以及利用 OkHttp 从服务器获取数据的方法,进而完成 Minofo 的开发。本文提供 PDF 版本可供查阅及下载。
继续阅读
记录了开发一个完整 Android 软件 Minofo 的整个过程,本系列博客包括两篇,本文是第一篇,主要内容包括如何解析一个 App,Toolbar 标题栏,NavigationView 导航栏以及悬浮按钮的实现,从而完成 Minofo 主界面的开发。本文提供 PDF 版本可供查阅及下载。
继续阅读
Android Device Monitor 是 Android Studio 中用于监测模拟器或真机运行状态的一款开发者工具。但开发者在使用它的过程中往往会遇到很多问题,尤其对于新手。本文分析了实际学习中遇到的问题,包括:1. File Explorer 不显示文件;2. 无权访问 data 等文件; 3. 无权下载文件等,涉及到 Monitor 的基本操作以及 adb shell 和命令行的操作等。
继续阅读