主页

0

小工具-sips-图片批量转大小

家有设计师我家夫人是一位设计师,平时少不了将一张大图导出成多种规格的小图的脏活累活。 看了她导了好几次,实在不能忍。得发挥程序员的能动性,做个小工具。 调研imagemagick 是一个很好的工具,支持多个平台,功能丰富强大。考虑了一下,如果这个小工具还需要用户安装依赖的话,显然提高了使用门槛。 设计师们大多在 MacOS 下工作,最好是运用这个平台下现成的工具包。搜索了一下,发现今天的主角:si

0

亚马逊 Alexa Echo Dot——入门

智能家居大约20年前,在报纸上看到关于比尔盖茨智能豪宅的报道,心生向往。我等平民在20年后,终于迎来了智能家居浪潮普及的浪潮。 亚马逊的 Alexa Echo 无疑是这个浪潮中的当红明星。 它是一个蓝牙音箱,是一个智能语音助手,是一个智能家居管理中心,它还提供了开放平台,允许第三方添加 Skills 来扩充功能。 本篇介绍一些购买和基本使用经验。 购买在经过几代的发展之后,目前这个产品主要包含 E

0

读一首诗——纪伯伦《孩子》

今天在最喜欢的陈老师的《待字闺中》那里读到一首诗,纪伯伦(Kahlil Gibran)的《孩子》,很有感触。将冰心的译文和原文奉上。 1234567891011121314151617孩  子 你们的孩子,都不是你们的孩子。乃是生命为自己所渴望的儿女。他们是凭借你们而来,却不是从你们而来,他们虽和你们同在,却不属于你们。你们可以给他们以爱,却不可给他们以思想。因为他们有自己的思想。你们可以荫庇他们

0

SDK 开发最佳实践之一:为你的 SDK 增加 No-Op 版本

笔者在开发和维护 Bugtags SDK 的一年多时间里面,趟过了不少坑,走了不少弯路,也积累了不少经验。这个 SDK 开发最佳实践系列,就是分享经验教训,帮助读者打造一款跟 Bugtags 这样快速成长的 SDK。 SDK 的使用场景站在用户的角度来看,引入一个 SDK 可能会带来几方面的问题: 包增大 可能不稳定 安全性问题 对于一些 SDK,产品形态是允许在测试阶段开启,上线移除的,

0

Google Play 改变关于 location.gps feature 的设定

上个阶段忙一些个人事务,更新的少了。这段时间会集中发一些个人学习心得。 收到邮件21号收到一封 Google Play 发来的邮件,告知如下信息: 12345Hello Google Play Developer,We're writing to let you know that the apps listed at the end of this email may be af

0

Android Gradle 构建系统·初探

8月7号,应北京 GDG 邀请,我做了一个题为《Android Gradle 构建系统·初探》的分享。 主要内容是构建系统背景知识,源码库,代码亮点,写插件。 很明显这是一个很大的话题,有超过 2.5GB 的核心代码和超过50个子项目。 第一步,我进行了宏观的介绍。下一步,我会继续深入子项目,尝试发现更多有意思的点。 对这个话题感兴趣的,请加入技术交流 qq 群:583688711。 Slides

0

Bugtags 笔记:公关稿奇遇记

写手长久以来,我们团队都缺乏一位优秀的写手。目前,一些公关稿,都是我们的 CEO 和我勉强冒充写手顶着上。 我们之前也找过几位做技术的朋友写过稿子,出来之后,总是觉得事儿是写明白了,读着总像一个使用说明书,勾不起人的分享欲望。 上周,我们外部找了一位以前做市场的人来写手写一篇公关稿,谁想到,这个过程,最终成为公关稿奇遇记。 缘这位同志,下称成为写手 X,某次活动认识的,自己也运营了若干自媒体。这哥

0

Bugtags 创业一年总结

出发在经历过了多轮的 APP 开发/测试/上线/运营周期之后,我们觉得 APP Bug 反馈环节始终十分低效,我们要来改变一下这个状态。于是有了 bugtags.com。 一年从去年六月正式立项,八月中旬内测,九月中旬正式上线以来,bugtags 已经走过了快一年。 还记得去年八月中,我们忐忑的发给身边的朋友试用,没想到好评不断,一开始设置的邀请码申请机制,没几天就被迫取消了——因为太多人申请了,

0

Hexo 与 Nginx 实现沉浸式多语言博客

沉浸式多语言博客假期的时候,打算改造下现有的博客系统。目标之一是实现多语言(主要是中英)切换,要求:沉浸式阅读。 查找了一下,Hexo 有如下几种工具与国际化有关: Hexo 官方的国际化机制 Hexo 官方推荐的插件:hexo-generator-i18n 非官方推荐的插件:hexo-multilingual 逐一尝试官方国际化机制:failed更多是在解决模板翻译问题 hexo-gener

0

NDK SO 库开发与使用中的 ABI 构架选择

Bugtags V1.2.7 引入了 NDK SO 库,在集成的时候,遇到不同的 SO 库打包到 APK 时,安装在某些机器上,出现 java.lang.UnsatisfiedLinkError 加载失败。 为此,深究了一下原理,和给出了解决方案。 原理Android 系统本质是一个经过改造的 Linux 系统。最早,Android 系统只支持 ARMv5 的 CPU 构架,随着 Android

0

Android Gradle 技巧之二: 最爱命令行

如果你习惯了命令行,你会爱上它的,因为它简单、直接,深入。 命令行很多做 Android 开发不久的同学,习惯于使用图形界面,对命令行操作很陌生甚至恐惧。遇到 AS 运行错误,束手无策。 AS 为了确保易用性,也在 UI 界面上屏蔽了很多命令行运行的细节,导致很多人觉得 AS 难用。 这种情况,我在解决用户集成使用 Bugtags SDK 的问题的时候,经常能遇到。其实 GUI 界面的操作,绝大部

0

Android Gradle 技巧之一: Build Variant 相关

Build Variantandroid gradle 插件,允许对最终的包以多个维度进行组合。 1BuildVariant = ProductFlavor x BuildType 两个维度最常见的就是这样: 1234567891011121314151617productFlavors { pro { } fre { }&

0

体验移动直播

节前我在朋友圈发了一个问题:有的人说文字是1维,图片是2维,视频是3维,那移动直播是几维? 其实这是一个严肃的问题,但是相当一部分的朋友,都是回答了,三围。 这个回答很逗,但基本反映了现状和大部分的看法。除了三围,其实我在映客里面看到了更多。 移动直播具有成熟的盈利模式,也有着一部分共享经济的特质,是一个很好的生意,甚至可能会成为一个好的媒体。 风潮来袭移动直播风潮在2016年疯狂来袭,仅 bug

0

拥抱 Android Studio 之五:Gradle 插件开发

官方文档给出了比较详细的实现步骤,本文的脉络会跟官方文档差不了太多,额外增补实际例子和一些实践经验。文中的代码已经托管到了 github 项目中。 需求默认的 Android 打包插件会把 apk 命名成 module-productFlavor-buildType.apk,例如 app-official-debug.apk,并且会把包文件发布到固定的位置: module/build/output

0

如何更好的提出技术问题

下面咱们就来聊聊技术人的素养:如何更好的提出技术问题。笔者从事 Bugtags.com 开发运营以来,除了开发任务以外,最重要的工作就是在 qq 群里面回答用户的问题。 这半年来,少说也接待了上千个用户了。笔者发现,有相当一部分的用户,提问方式和技巧都有问题,这样导致了我们额外的客服量,也使得自己的问题得不到及时满意的回答。 下面咱们就来聊聊技术人的素养:如何更好的提出技术问题。 直接了当有的用

0

拥抱 Android Studio 之四:Maven 仓库使用与私有仓库搭建

使用、创造和分享笔者曾经不思量力的思考过『是什么推动了互联网技术的快速发展?』这种伟大的命题。结论是,除了摩尔定律之外,技术经验的快速积累和广泛分享,也是重要的原因。 有人戏称,『写 Java,首先要学会选包』,在这里不好评论对错。不过这句话里面,至少包含两层意思:首先 Java 有大量的现成的依赖包,不必要自己造轮子;其次,Java 的包存放较为集中,集成方式也方便。 笔者从事 Android

0

拥抱 Android Studio 之三:溯源,Groovy 与 Gradle 基础

关于学习方式续回忆起大学那个白衣飘飘的年代,开始金工实习却发现基础学的不牢靠,越来越胆小,越来越糊涂。所幸得到一位高年级学姐指导,赶紧找当时的书或者笔记,快速把基础知识温习一遍,再结合实践中思考,终于豁然开朗。 相信看过前一篇 《Android Studio 与 Gradle 深入》的同学,有一部分就会遇到我初识 Gradle 时的困惑:代码我也依稀看得懂,但就是不知道还能这样写,为什么这样写。

0

时隔十年,再度看高考——衡量分数水平

时隔十年,再度看高考今年大侄子参加高考,成绩出来了,协助报志愿。 主要的问题,是怎么衡量分数水平,选择什么学校。 今年的广东高考,使用了全国卷,可能是题目较难,分数线比以往低了很多,同时今年取消了二本和三本的说法,统一叫做二本。这些新变化,对于填报志愿造成一定的困扰。 以理科控制分数线为例: 年份 一本 二本 A 二本 B 2016 508 N/A 402 2015 577 51

0

时隔十年,再度看高考——信息与规则

信息决定成败记得有人曾经对我讲过,信息决定成败。一开始我很质疑这句话。近年来的经历和观察,让我明白到,掌握尽量多的一手信息,将会帮助决策,甚至决定成败。 作为考生或者家长,应该注意什么呢? 我认为应该应该掌握官方排位信息,理解平行志愿的规则,志愿填报和录取政策。 排位信息我在上一篇博客中,给出了准确估算成绩的方法,也援引了所依据的公开排位信息。 2016分数段统计-理科 2016分数段统计-文科

0

时隔十年,再度看高考——工具与初选

善用工具之前我们已经介绍了分数水平查询工具,例如将2016年的 474 分,转换成如下的分数: 122015:5322014:512 经过微调之后,大概是这一个样子: 122015:5352014:514 接下来,问题就变成:这两个分数,在对应的年份都能上什么学校。 要回答这个问题,先介绍一下所使用的工具。 工具选择一般情况下,学校都会推荐学生购买一本《报考指南》,这本书是最权威的书籍,售价也不菲

0

时隔十年,再度看高考——最终选择

数据整理经过前面的诸多准备和信息收集,我得到了类似这样数据表: 因素都如下考虑: 大学排名不一定客观,但是能够反应一个学校的综合实力,可做参考。 一个具有活力的城市,会让你的大学生活更加丰富。 一个清晰明快的大学官网,能够反映掌管学校门面的人的格局和审美。 过去两年的录取信息,可以让你清晰知道这所学校的难度和档次。 填报志愿给出一张平行志愿录取原理图。 因为今年可以填报第一志愿组7个志愿,第

0

拥抱 Android Studio 之二:Android Studio 与 Gradle 深入

关于学习方式曾经跟朋友讨论过我们所接受过的大学工科教育,都是一上来先学基础理论,最后再来一个金工实习。一开始不知道为什么而学,学不进去,荒废了基础,等到金工实习的时候,又发现基础不牢,后悔不已。考虑到传统教育方式的不足之处,笔者在组织本系列文章的时候是先讲入门实例,进而学习 Gradle 和 Groovy 基础原理,最后学习进阶实例。 上篇文章介绍了从 ADT 迁移到 Android Studio

0

拥抱 Android Studio 之一:从 ADT 到 Android Studio

拥抱变化,拥抱新事物多年前央视有一套电视系列片:大国崛起,主要讲述那些曾经在站在世界舞台中央的国家的兴衰历程。纵观历史,正是创新使得一个国家得以崛起。 Android 开发因为涉及到代码编辑、UI 布局、打包等工序,最好使用一款 IDE。Google 最早提供了基于 Eclipse 的 ADT 作为开发工具,后于2013年 Google I/O 大会发布基于 IntelliJ IDEA 开发 An

0

在 OSX 上安装使用 Supervisor

OSX 作为 ServerOSX 大部分情况都是用作个人电脑,少数情况下需要将其作为服务器使用。Bugtags 就有一些服务跑在 OSX 系统上。 遇到的一个问题:keep process alive! 背景OSX 作为 ServerOSX 大部分情况都是用作个人电脑,少数情况下需要将其作为服务器使用。Bugtags 就有一些服务跑在 OSX 系统上。 Supervisor 管理后台进程系统服务

0

Android 者开发如何选择测试机列表

更新2016-04-15:重新修改了数据 更新2016-01-06:近日有较多用户反映在 OPPO 的 ColorOS ROM 上出现了较多的崩溃。同时我查阅了友盟的数据,OPPO 是的市场占有率仅次于 VIVO 的第五大手机品牌,不可小视。于是增补了一部性价比较高的 A51 作为测试机。选取测试机,市场占有率排名也很重要。 更新2015-11-29:华为畅玩 4c 的确是64 bit 的 cp

0

朋友们

好友的博客,欢迎访问 欢迎互链!

0

about

我是 kvh。 我是一名生活在北京的移动开发者,创业者。关注点在移动场景下相关的技术,包括移动开发、实时通讯技术、大访问量的服务器结构等。当前主要的精力放在移动开发和后端服务开发。 目前我在 bugtags.com 工作,负责技术工作。bugtags 定位于移动时代首选的 Bug 管理平台。 最早,我在开心网工作,主要负责社交游戏研发和移动开发,主要的作品有:开心城市。 我生于广东,先后毕业于 T

0

面向开发者服务的用户体验

面向开发者的产品,需要恰到好处的用户体验,就像锤子新品宣传的那样 内敛和克制的,使用起来舒服和体贴最近的工作是开发运营一项面向开发者的服务,而我们的团队是做社交产品出身。在关乎到用户体验的问题上,这里面仿佛存在一个矛盾。 开发者服务不需要用户体验?给程序员用的东西,要什么用户体验,功能可以work不就行了么?这是我们一开始的想法。当我们观察一些市面上的一些开发者服务的时候,我们发现,好和坏,真