环信技术博客

环信RTBDA系统架构

2015年06月23日|作者: |大数据|标签:, ,
RTBDA(Real Time Big Data Analysis)架构是目前大数据分析领域的流行架构理念,最早是由David Smith在他非常流行的博客([Reference 2])里头提出来的。他的提议里包括了四层架构 - 数据,分析,集成,决策。尽管他当初的提议主要是为了进行预测性分析计算,但后来这个架构逐渐演变为大数据分析领域的主流架构。如下图…… [阅读全文]

崩溃引发的思考:怎样才算真正的互联网技术公司?

2015年06月01日|作者: |Team Culture|标签:, ,
阿里、携程接力两天的服务故障,沸腾了整个码农界。 看热闹都不怕事儿大。光纤被挖,引得异地双活被嘲讽,逼着支付宝最后有人出来打保票,年底我们一定搞完异地双活;线上服务被删更是报复论、Bug论频频,还出现了异司双活的崇拜,携程只是道了个歉,但是各种开人、睡人的小道消息也没停下。 热闹之余,人民群众也没闲着…… [阅读全文]

io操作中常见的几个概念

2015年05月10日|作者: |io|标签:
1. 概述 web应用中,io这块是一个重点,不同的策略对系统的性能影响很大. 对于io操作来说,用户线程发起io请求,内核负责完成此请求,并反馈结果,这两个角色之间需要进行协调: 1. 系统挂起用户线程,操作完成之后,系统返回结果,唤醒用户线程 2. 系统返回状态码,用户线程轮询结果,直到操作完成. …… [阅读全文]

什么不要做?关于失败和优化

2015年04月13日|作者: |Team Culture|标签:, ,
上周面试一个人,聊到了服务性能优化。 他:线上的推送服务使用的单机单线程,性能撑不住。于是就改成了多机,还加了线程池。 问:撑不住是什么表现?什么原因? 他:因为是短信验证码服务,短信通道堵塞,所有请求都堵在vm里,引发了OOM。 问:看起来缓存使用内存不够,跟线程池有什么关系? 他:呃。。。正好当时在试用…… [阅读全文]

环信SDK与Apple Watch的结合(3)

2015年04月10日|作者: |移动开发|标签:, ,
第3章主要介绍怎样在Watch App的页面上显示iPhone程序里的数据。主要操作的是“EMWatchOCDemo WatchKit Extension”这个文件夹,附源码EMWatchOCDemo。 如果你已经看过我在第1章推荐的blog,应该明白这个target主要是负责逻辑的,从iPhone App中获取数据,调动Watch App显示数据。 默认是这个样子的 一、WathKit定义了一些…… [阅读全文]

环信SDK与Apple Watch的结合(2)

2015年04月10日|作者: |移动开发|标签:, ,
这一篇主要是介绍怎么拖apple watch上的相关页面,附源码EMWatchOCDemo。 需要在工程中的“EMWatchOCDemo WatchKit App”中进行操作,该文件夹的结构如图   WatchKit几乎不允许直接coding页面,只能在storyboard上拖来拖去,对于我这种习惯直接coding页面的人来说,真真是极痛苦的。 一、确定apple watch上的操作流程 …… [阅读全文]

环信SDK与Apple Watch的结合(1)

2015年04月09日|作者: |移动开发|标签:, ,
该系列是记录在apple watch上开发IM,用到了最近挺流行的环信IM SDK。 一、先来一段网上随处可查到的信息: 1、两种分辨率 1.65寸 312*390 1.5寸 272*340 2、开发环境 Xcode 6.2 or later OS X 10.9.4 or later Watchkit 3、三种展现类型 a>标准的watch app,拥有自身的界面和功能 b>Glances,纯信息浏览,样式也很…… [阅读全文]

IM客户端数据库加载过程优化

2015年04月07日|作者: |数据库|标签:, ,
IM通讯里面有两个重要的数据概念,一个是会话,一个是会话中的消息。 在系统初始化时,这两部分都要从数据库中加载到内存中。 数据组织结构是ConversatonManager包含多个会话,每个会话含有消息列表。 每次系统启动的时候,首先查询会话列表,然后对每一个会话加载其中的消息。对应的伪码 1 2 3 4 conversationList = d…… [阅读全文]

怎样在Apple Watch上集成环信SDK

2015年04月03日|作者: |移动开发|标签:,
本文简单的讲述下如何用Apple Watch Kit集成环信SDK. 升级xcode到version 6.2,和 IOS SDK8.2 下载环信SDK从官网 打开XCode->new project->new target->选择WatchKit App xcode 会自动给你创建几个targets,例如下图: 把EaseMobSDK文件夹拖拽到HxAppleWatchDemo Target里 选择target HXAppleWatchDemo,加入下…… [阅读全文]

移动开发之语言之美 – 类

2015年04月03日|作者: |移动开发|标签:, , , , ,
现在最受开发者欢迎的两大平台 IOS, android现在主要还使用Objective-C 和 Java 来进行开发,不过苹果公司推出的编程语言 Swift,她吐故纳新,抛弃了Objective C繁琐的语法规则,引入了极为简洁,功能强大的语法。实际上除了平台本身的限制,包括如何调用平台提供的API,如何使用线程,如何启动定时器,如何设计UI界面等…… [阅读全文]