Android 封装SDK时常用的注解

工作中,我们经常需要将功能模块封装成库供合作厂商调用, 如何写好一个健壮的Android Library有很多讲究,使用注解可以对SDK暴露给开发者的接口做出一些限制,从而尽可能地避免开发者错误地使用API。 下面我们介绍几种封装SDK时常用到的注解。

阅读全文

MySQL解决插入emoji表情失败的问题

一直以为UTF-8是万能的字符集问题解决方案. 直到遇到这个问题.
最近在做新浪微博的爬虫, 在存库的时候, 发现只要保持emoji表情, 就回抛出以下异常

1
Incorrect string value: '\xF0\x90\x8D\x83\xF0\x90...' 

众所周知UTF-8是3个字节, 其中已经包括我们日常能见过的绝大多数字体. 但3个字节远远不够容纳所有的文字, 所以便有了utf8mb4, utf8mb4是utf8的超集, 占4个字节, 向下兼容utf8. 我们日常用的emoji表情就是4个字节了.
所以在此我们像utf8的数据表插入数据就会报出Incorrect string value这个错误.

阅读全文

使用Spring Test编写单元测试

用Spring Test的话, 可以指定在测试用例执行完毕后,对数据库进行回滚操作

阅读全文

Linux系统安装配置JDK与Maven

Linux 系统下快速按安装配置JDK与Maven的多种方法及利弊。

阅读全文

Agenda笔记

Agenda是类似Quarzt的轻量级持久化任务调度框架, 数据存储再mongodb上, 部署与学习十分简单.
第三方开发者还为Agenda提供了一个简易的UI界面 Agenda UI. 提供简单的可视化界面.

阅读全文

MQTT 基础知识

MQTT是IBM开发的一个即时通讯协议, 广泛运用在移动互联网实时推送以及相关扩展应用上,本文只要简述MQTT协议的部分知识点。

阅读全文

Git常用命令集

生成SSH Key

ssh-keygen -t rsa -C “committer_email@committermail.com

阅读全文

Linux常用命令

安装右键从终端启动

sudo apt-get install nautilus-open-terminal

复制文件到远程目录

scp filename xiezf@192.168.248.124:/home/push

阅读全文

Ubuntu快速安装Sublime-Text

通过添加PPA安装

1
2
3
sudo add-apt-repository ppa:webupd8team/sublime-text-2
sudo apt-get update
sudo apt-get install sublime-text-2

阅读全文

HashMap,HashTable区别

实际应用中,我们并不经常需要保证HashMap这些底层代码的同步,交由上层逻辑去控制同步。所以,大多数时候建议使用HashMap

阅读全文