-
啦啦啦,问题来了
2016-04-07 10:12@88250 @BeyondVincent @Angonger 现在的想法是要做成松耦合、可插拔、可适配,比如对不同类型的数据库做适配,以及功能上的随意组合,如加密模块可以加上也可以轻松更换
-
用户名自动完成算法
2016-03-29 22:57@88250 写了个递归的方法,效率可能没上面那个好。
public class CollectionTest {
public static void main(String args[]) { ArrayList<String> arlst = new ArrayList<String>(); arlst.add("PRPOVIDES"); arlst.add("TP"); arlst.add("QUALITY"); arlst.add("TUTORIALS"); List<String> results = new ArrayList<String>(); getUserNamesByPrefix(arlst, "TP", results); for (String str : results) { System.out.println(str); } } public static void getUserNamesByPrefix(List<String> users, final String target, List<String> results) { final Comparator<String> comparator = new Comparator<String>() { @Override public int compare(final String u1, final String u2) { if (u1.length() >= u2.length() && u1.substring(0, u2.length()).equals(u2)) { return 0; } return -1; } }; Collections.sort(users, comparator); int result = Collections.binarySearch(users, target, comparator); if (result >= 0) { results.add(users.get(result)); users.remove(result); getUserNamesByPrefix(users, target, results); } }
}
有点奇怪,以 TU,TUT,TUTO 这几个为目标搜索 TUTORIALS 时没法命中目标,其他的几个测试词都正常。看不出来是什么地方有误 -
微信公众号开发
2016-03-28 10:13/** * 如果要支持多公众账号,只需要在此返回各个公众号对应的 ApiConfig 对象即可 * 可以通过在请求 url 中挂参数来动态从数据库中获取 ApiConfig 属性值 */ public ApiConfig getApiConfig() { ApiConfig ac = new ApiConfig(); // 配置微信 API 相关常量 ac.setToken(PropKit.get("token")); ac.setAppId(PropKit.get("appId")); ac.setAppSecret(PropKit.get("appSecret")); /** * 是否对消息进行加密,对应于微信平台的消息加解密方式: * 1:true进行加密且必须配置 encodingAesKey * 2:false采用明文模式,同时也支持混合模式 */ ac.setEncryptMessage(PropKit.getBoolean("encryptMessage", false)); ac.setEncodingAesKey(PropKit.get("encodingAesKey", "setting it in config file")); return ac; }
做业务接口前,确实要配置,如上图