2017-06-06 Jamling
PHP
使用Token来做身份认证在目前的移动客户端上非常流行,Token这个概念来源于OAuth认证,主要是在服务端实现。关于相关的原理,同学们自行百度。在这里,我简单介绍一下我是怎么具体实现的,重点描述token生成、token识别及token缓存。 生成Token 服务端接收客户端传递的username和password等请求,在数据库中检查,如果用户名密码匹配的话,表示登录成功,服务端生成并返回一个token访问令牌。 ```php public function login() { $data = array_merge($this->request->post(), []); // 继续阅读 »
2017-06-18 YongHao Hu
工作中必备 git 技能详解 绝大多数人对于 git的认识只停留在git status, git add, git push, git pull, 好一点会知道git merge, 那就是全部了。 不信? 继续阅读 »
2017-01-17 Piasy
RESTful API 调用很多人都在用 Retrofit,说到 Retrofit 就不得不提动态代理,虽然这不是它唯一的亮点,而且也不是动态代理的典型使用场景,但大家就是爱问:说说动态代理是怎么回事吧?Retrofit 的解析请见 拆轮子系列:拆 Retrofit。 继续阅读 »
2018-04-30 findneo
WEB easyweb http://114.116.26.217/ 学习了一波json web token ,但是没想到是个脑洞。 账户admin,空密码登陆。 ciscn{2a36b5f78a1d6a107212d82ee133c421} MISC 验证码 本题目为验证码破解,选手需在指定时间完成对验证码的破解,成功后获取Flag。请使用队伍token进行登陆。 参考数据:https://share.weiyun.com/6e055fc3402e86c7cbb5384f1a6b41b8 https://game.captcha.qq.com/hslj/html/hslj/ 题目有点问题,手动玩了一会儿 继续阅读 »
2016-11-21 veryyoung
上篇写到了持续集成,其实持续集成只是持续交付中的一个环节而已。 那么什么是持续交付呢? 下面是我读《持续交付》的读书笔记。 more 什么是持续交付? 持续交付是一种开发实践,指的是,频繁地将软件的新版本,交付给 QA 或者用户进行验证,如果验证通过,代码就可以随时部署到线上。 继续阅读 »
2016-10-16 浩阳
content {:toc} 简单来说 Fisher–Yates shuffle 算法是一个用来将一个有限集合生成一个随机排列的算法(数组随机排序)。这个算法生成的随机排列是等概率的。同时这个算法非常高效。 本文主要介绍这个算法的来源、演变、原理。并举出一个例子为大家清晰的描述每次迭代过程。最后使用 JavaScript 代码将算法实现。 继续阅读 »
2016-11-20 veryyoung
最近工作很忙,利用休息时间花了接近一个月时间才读完《持续集成》和《持续交付》。 读完有一定的感触,写篇文章记录下吧。 more 什么是持续集成? 持续集成是一种开发实践,即团队的成员经常集成他们的工作,每次集成都通过自动化的构建(包括编译、自动化测试、发布)来验证,从而尽快地检测出集成错误。 继续阅读 »
2017-03-06 KasperDeng
生产环境之运维 最近在生产环境上游历了一番,大版本升级,流量控制,问题的追根索源,甚是各种艰辛。 线上资源配置问题 池化连接 必须清楚了解业务进行设置 主要是连接数个数与闲置回收的时间: 防止连接数瓶颈。 超时设置:防止在网络抖动或者数据库不可用的状况下,业务核心线程被阻塞,连接池爆浆。 e.g. 数据库连接池 池的最小最大值(不同数据库需) 从DPCP获取连接超时 连接超时 读超时 socket超时 重试次数与每次重试相隔时间 NoSQL 容量 (dimension) TTL 连接管理 Dev提供友好的配置指引,工程公式及原理,让Ops了解当前系统在不同的部署环境下如何合理配置系统资源。 系统连接数及计算公式 客户端(e.g 继续阅读 »
2017-05-24 Jamling
很早的时候就想写这篇文章了,作为BAT中的一员,还真不想吐槽它,免得被人身攻击。有人说,微信支付很简单嘛,官网有例子,网上也有现成的例子,不过谁用谁知道,本人也是在深入了解之后,真心觉得微信支付里的坑太多,BAT的开发们太敷衍了事,结果给不少的其他开发者带来诸多麻烦。我在这里做个稍全一点的介绍,尽量减少其他同学们掉坑里的概率。 继续阅读 »
2016-09-13 码农明明桑
Android N 正式版已经发布了。对于开发者来说一个重大的更新是对于Java支持到了Java8,其中一点就是支持Lambda。我们就来聊聊什么是lambda,怎么在Android中使用。 什么是lambda Lambda 可以理解为匿名函数,帮助我们写出更加简洁的代码。 more 给view设置一个clicklistener,原本你需要写出这样的代码: java v.setOnClickListener(new View.OnClickListener(View v) { @Override public void onClick(View v) { Toast.makeText(getActivity(), "c 继续阅读 »