原理 Redis 是一个内存型「数据库」,除存储之外,它还有许多强大的命令,使之远远超出了数据库的定义,所以官方称之为「data structure store」,数据结构存储系统. 通过 Redis 提供的指令,我们可以实现缓存.消息队列.事件通知.排行榜.库存管理.分布式锁等功能. 基础结构 Redis 核心是单进程单线程服务,通过 epoll.select 等实现了 IO 多路复用,可以并发处理网络事件. 数据结构 Redis 提供了以下几种典型的数据结构 strings Redis 实现…
本文原文内容来自InfoQ的技术分享,本次有修订.勘误和加工,感谢原作者的分享. 1.前言 自从2018年8月20日子弹短信在锤子发布会露面之后(详见<老罗最新发布了“子弹短信”这款IM,主打熟人社交能否对标微信?>),关于它的讨论不绝于耳,7 天融资 1.5 亿的传闻更是将它推到了风口浪尖(请见<[资讯] “子弹短信”发布一周即融得1.5亿资金>).   ▲ 嗯,这个牛逼老罗可以吹很久 同时很多技术人开始分析它的代码,挖出了它的 IM 系统其实不是自研,而是使用网易云信提供的第三…
1.引言 2018年8月20日,锤子科技在北京召开了夏季新品发布会.除了新手机,发布会上还正式推出了主打语音功能的即时通讯IM聊天工具:子弹短信.这款工具此前今年早些时候在「鸟巢」发布会上初次亮相,在经历了几个月的测试后,如今终于正式上线了(想要尝鲜的可以去官网下载:https://im.smartisan.com/,细节上坑还比较多,请自行体验).   ▲ 锤子科技2018夏季新品发布会   ▲ “子弹短信”的多端效果图 从“子弹短信”官网上的效果图来看,这款IM目前至少支持iOS.Andro…
反射实现Model修改前后的内容对比   在开发过程中,我们会遇到这样一个问题,编辑了一个对象之后,我们想要把这个对象修改了哪些内容保存下来,以便将来查看和追责. 首先我们要创建一个User类 1 public class User 2 { 3 private string name; 4 public string Name 5 { 6 get { return name; } 7 set { name = value; } 8 } 9 private string age; 10 publi…
本文的基础是搞了一次内部的技术分享,在此也分享一下本次的PPT的一些内容.先列一下大概内容吧. EF-Code First API(WCF.WebAPI) Xaml MVVM AOP Xamarin.Forms ABP(ASP.NET Boilerplate) Tools EF-Code First 关于 EF 园子里有好多具体的讲解,所以我就简单放几行代码 EF-Code First 入门 EntityFrawork EF.Extended EF Power Tools AutoMapper…
//发送邮件 -(void)sendMail:(NSString*)subject content:(NSString*)content{ MFMailComposeViewController*controller = [[[MFMailComposeViewControlleralloc]init]autorelease]; if([MFMailComposeViewControllercanSendMail]) { [controllersetSubject:subject]; [cont…
今天主要的核心话题是Vue.js和前端工程化.我将结合我这两年多的工作学习经历来谈谈这个,主要侧重点是前端工程化,Vue.js侧重点相对前端工程化,比重不是特别大. Vue.js Vue.js和React.js.Angular.js并驾齐驱号称前端三大框架(前端最常用的这三大框架,大中小公司均采用).Vue.js是一个叫尤雨溪及其他的团队开发的,不过早年是他自己独立做出来的.这一点我觉得他很牛逼.我觉得每个做开发的朋友们,都要有一个自己的开源项目,自己的开源项目可以是自己工作三到四年发现有很多地…
本文来自知乎官方技术团队的“知乎技术专栏”,感谢原作者陈鹏的无私分享. 1.引言 知乎存储平台团队基于开源Redis 组件打造的知乎 Redis 平台,经过不断的研发迭代,目前已经形成了一整套完整自动化运维服务体系,提供很多强大的功能.本文作者陈鹏是该系统的负责人,本次文章深入介绍了该系统的方方面面,值得互联网后端程序员仔细研究.   (本文同步发布于:http://www.52im.net/thread-1968-1-1.html) 2.关于作者 陈鹏:现任知乎存储平台组 Redis 平台技术…
前言 新版本号ShareSDK的分享和短信验证,按官网的文档,都须要加入一个<Activity></Activity>标签,而分享和短息验证的这个标签内容都一样.会冲突. 解决的方法:分享用旧版本号,短信验证用新版本号. 后面会有解决的方法. 分享 导入project见初识ShareSDK--嵌入和登陆 <span style="font-size:24px;">OnekeyShare oks = new OnekeyShare(); //全部SSO…
一,为什么要限制短信验证码的发送频率? 1,短信验证码每条短信都有成本制约, 肯定不能被刷接口的乱发 而且接口被刷会影响到用户的体验, 影响服务端的正常访问, 所以既使有图形验证码等的保护, 我们仍然要限制短信验证码的发送频率 2,演示项目中我使用的数值是: 同一手机号60秒内禁止重复发送 同一手机号一天时间最多发10条 验证码的有效时间是300秒 大家可以根据自己的业务需求进行调整 3,生产环境中使用时对表单还需要添加参数的验证/反csrf/表单的幂等检验等, 本文仅供参考 说明:刘宏缔的架构…