问题
在安装 Python 的第三方库或者编译源码的时候,相信不少人遇到过unable to find vcvarsall.bat 这个错误,网上也有不少的解决办法,但是自己操作一遍之后,发现问题还是没有解决,因此特意记录下我自己解决这个问题的方法。
Aal izz well
本篇内容节选和改编自
《Python 进阶》
Python除了dict外,还有个defaultdict。与dict不同的是,defaultdict不需要事先检查key是否存在。下面介绍下defaultdict的用法。
MongoDB默认是以 UTC 格式存储时间和日期的,跟本地的时间是有时差的,一般保存的时候会将本地时间转为 UTC 时间再保存。那读取的时候也需要每次都手动转为本地时间吗?
在实现 JavaFX 应用自更新的时候,需要在主应用(main.exe)里打开更新应用(update.exe),一开始想通过 ProcessBuilder 启动一个子进程实现的,但是这种方式打开的应用没有管理员的权限,更新应用需要管理员权限。经过一番查找之后,在 StackOverflow 上发现了另外一种方式可以打开 exe 应用,并且可以通过 UAC 提升为管理员权限。
简单记录下 Android 5.1 系统以太网的 IP 设置方法。(到5.1的版本为止,与以太网相关的 API 都是隐藏起来的,有@hide注解,需要通过反射调用,或者引用没有@hide注解的 android.jar 文件,可以使用编译源码生成的 out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar)
EthernetManager 使用单例模式,可以通过 Context 的 getSystemService() 方法获取:
1 | private EthernetManager getEthernetManager(Context context) { |
Context.ETHERNET_SERVICE 也是有@hide注解的,可以定义一个常量替代:
1 | private static final String ETHERNET_SERVICE = "ethernet"; |
近段时间使用了一些 Android 平台的第三方库,发现用起来很爽,可以大大提升开发效率,特此记录下。
主要使用了以下几个库:
Butterknife 是一个 View 的依赖注入框架,目的是实现 View 查找、事件监听绑定,可以减少代码量,让代码看起来更清晰。Retrofit 是一个网络请求框架,封装了访问网络方面的细节,可以让开发者更加专注于业务方面。Fresco 则是一个图片加载框架,用于加载不同类型的图片,包括本地、网络等来源的,提供了图片处理方面的解决方案。Logger 则是关于 Log 方面的,是对 Android 自带 log 的增强,更加方便易用。Gson 是用来 json 格式数据的,可以和 Retrofit 搭配来用,直接将服务端返回的 json 数据转换为 Java 对象。
记录下自己的 Vim 配置文件,避免每次都要去网上搜索资料配置,以后需要的时候直接复制下来即可。