环信顺利通过CMMI3级认证,摘要即时通讯云网易云信于2017年09月12日发布4.2版

摘要据环信官网消息,环信近日经过CMMI权威认证团队的现场审核和评估,环信顺利通过CMMI3级认证。简述近日,经过CMMI权威认证团队的现场审核和评估,环信顺利通过CMMI3级认证。环信官方宣称:“这是环信技术能力和项目管理实力的又一力证,标志着环信在软件研发标准化流程、过程改进、项目管理等方面已跻身业界先进水平,实现了与国际主流模式接轨,能够为客户提供更成熟的行业解决方案和更高质量的服务”。CMMI认证是什么?CMMI全称是Capability
Maturity Model
Integration,即能力成熟度模型集成(也有称为:软件能力成熟度集成模型),是美国国防部的一个设想,1994年由美国国防部(United
States Department of Defense)与卡内基-梅隆大学(Carnegie-Mellon
University)下的软件工程研究中心(Software Engineering
Institute,SEISM)以及美国国防工业协会(National Defense Industrial
Association)共同开发和研制的,他们计划把现在所有现存实施的与即将被发展出来的各种能力成熟度模型,集成到一个框架中去,申请此认证的前提条件是该企业具有有效的软件企业认定证书。其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件开发中的困难。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、可扩展的框架。因而能够从总体上改进组织的质量和效率。CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。说白了,CMMI认证是评价一个软件企业的管理制度和开发规范等综合评测模型,达到了相应的级别即被认为软件开发管理规范程度,仅此而已。官方资讯链接环信官方发布的通告链接在此:

摘要Swift
最新的主要版本提供了针对语言本身以及标准库的大量改动和更新,最重要的变化包括新增的
String 功能、扩展集合、归档和序列化等。Swift
最新的主要版本提供了针对语言本身以及标准库的大量改动和更新,最重要的变化包括新增的
String 功能、扩展集合、归档和序列化等。Swift 4 中,String 已全面遵循
Collection
协议,因此可直接迭代并提供了集合与序列类似的全部条件,例如:for c in
myString { print(c)}myString.filter { c in return boolCheck(c)}let l =
myString.countlet myString2 = myString.dropFirst()此外 String
切片现已成为下标(Substring)类型的实例,遵循 StringProtocol,可按照与
String 类型完全一致的方式使用。这一改动有助于改善切片性能,因为
Substring 已经不再需要复制 String 切片。复制操作可延迟至 Substring
转换为 String 并被某些 API 使用的时候进行。String 的其他功能还包括:支持
Unicode 9 以及多行 Literal。Swift 4
还改进了用户创建、使用和管理集合类型的方式,例如 Dictionary 和
Set。首先,用户现在已经可以通过元祖(Tuple)序列创建字典,并指定如果遇到重复内容后的处理方式,而这一操作可在创建字典或合并两个字典的过程中进行:let
items = [“ItemA”, “ItemB”, “ItemC”, “ItemA”]let prices = [14.40,
41.63, 3.71, 15.63]let catalog1 = Dictionary(uniqueKeysWithValues:
zip(items, prices))let catalog2 = Dictionary(prices, uniquingKeysWith: {
(l, r) in l })let catalog3 = Dictionary(prices, uniquingKeysWith: { (l,
r) in l + r })let merged = catalog.merge(catalog3) { (l, r) in r
}Dictionary 和 Set 现在可以筛选成为原始类型的另一个对象,而不再筛选为
Array。此外字典也已经可以支持新的 mapValues 方法:let catalog4 =
catalog.filter { $0.value < 15.0 }let catalog5 = catalog.mapValues {
$0 * 1.2
}关于字典还有一个实用的改进:在访问其元素时可以指定默认值,这样便可让下标运算符返回
Non-opt 类型:let price1 : Float = catalog[‘none’, default: 0.0]let
price2 : Float? = catalog[‘none’]Swift 4 中所有 Collection
类型均支持泛型下标(Generic subscript)。这意味着我们可以定义下列 JSON
结构,不将索引的结果抛给字典:struct JSON { init(dictionary:
[String:Any]) { … } subscript(key: String) -> T? { … }}let json
= …let result: String? =
json[‘item’]对于该语言还有一个广受好评的改进:对归档和序列化的支持,以前这需要通过
NSObject 和 NSCoding 处理,无法用于 struct 和 enum 类型。但 Swift 4 通过
Codable 协议增加了对所有类型的序列化支持。Ole Begemann 对 Swift 4
的编码和解码提供了入门简介。例如我们可以这样定义一个 Codable
类型:struct Card: Codable, Equatable { enum Suit: String, Codable {
case clubs, spades, hearts, diamonds } enum Rank: Int, Codable { case
two = 2, three, four, five, six, seven, eight, nine, ten, jack, queen,
king, ace } var suit: Suit var rank: Rank static func ==(lhs: Card, rhs:
Card) -> Bool { return lhs.suit == rhs.suit && lhs.rank == rhs.rank
}}let hand = [Card(suit: .clubs, rank: .ace), Card(suit: .hearts, rank:
.queen最后,Swift 4 提供了两种语言模式,可通过 -swift-version
编译器选项进行选择。在 Swift 3.2 模式中,编译器可接受大部分使用 Swift
3.x 编译器编译的源代码。在该模式下,大部分 Swift 4
语言功能均可用,但针对之前已有 API 的各种更新均不可用。在 Swift 4.0
模式中,我们可以使用 Swift 4
的全部功能,但可能需要改动部分源代码,这一过程通常可通过 Xcode
的迁移助理实现。 Swift 4 还有很多改进,建议阅读 Swift 维护者 Ted
Kremenek 的公告,并通过 Ole Begemann 在交互式 Playground
中提供的所有新功能演示来体验。Swift 4 已包含在 Xcode 9
中,并可手工安装到 Xcode 8.3 中使用。

摘要即时通讯云网易云信于2017年09月12日发布4.2版,本次更新为主要版本更新,详情见文章内容。发布的版本本次发布的版本号为
4.2版,更新时间为:2017年09月12日。iOS 更新内容新增聊天室支持 bot
机器人,使用方式与普通消息一致。添加是否将群通知计入未读的开关@interface
NIMSDKConfig : NSObject/** * @discusssion 默认为 NO。设置成 YES
的情况下,收到的群通知也会计入未读数 */@property (nonatomic,assign)
BOOL shouldCountTeamNotification;@end添加日志最大存在天数设置@interface
NIMSDKConfig : NSObject/** * @discusssion 默认为 7 天。即超过 7 天的
log 将被清除。只能设置大于等于 2 的值。 */@property (nonatomic,assign)
NSInteger maximumLogDays;@end变更创建群接口变更/** * 创建群组 * *
@param option 创建群选项 * @param users 用户ID列表 * @param completion
完成后的回调 */- (void)createTeam:(NIMCreateTeamOption *)option
users:(NSArray<NSString *> *)users completion:(nullable
NIMTeamCreateHandler)completion;创建群完成的回调由/** * 创建群组block
* * @param error 错误,如果成功则error为nil * @param teamId 群组ID
*/typedef void(^NIMTeamCreateHandler)(NSError * __nullable
error,NSString * __nullable teamId);变更为/** * 创建群组block *
* @param error 错误,如果成功则error为nil * @param teamId 群组ID *
@param failedUserIds 邀请失败的群成员ID */typedef
void(^NIMTeamCreateHandler)(NSError * __nullable error, NSString *
__nullable teamId, NSArray<NSString *> * __nullable
failedUserIds);现在创建群可能会出现建群成功,建群同时邀请的用户部分成功的情况。此时建群依然成功,error
信息为 nil ,并返回邀请失败的群成员 ID 集合。Android 更新内容新增1.
添加聊天室 bot
机器人功能,添加机器人上行消息构建接口:ChatRoomMessageBuilder#createRobotMessage。2.
登录选项添加群通知消息是否计入未读数开关:SDKOptions#teamNotificationMessageMarkUnread。变更1.
对单个用户所在群的数量添加限制,影响到接口:TeamService#createTeam,
返回结果CreateTeamResult,包含邀请失败账号列表TeamService#addMembers,
返回结果
List,即邀请失败账号列表如果邀请成员中有群数量超过限制,返回码仍然是成功,并且同时返回这部分超限的账号。2.
解决登录偶现登录 417 问题。3. 添加登录同步失败情况处理。4. 添加 IPC ACK
机制,解决极端情况下群消息丢失的问题。5. 解决 HttpDownload
安全警告问题。Windows(PC) SDK
更新内容新增群通知消息是否计为未读数增加开关配置
nim_client.h聊天室支持机器人修复修复某些场景下群成员同步bugWeb SDK
更新内容新增聊天室匿名登录聊天室机器人及其发生消息接口聊天室获取机器人接口下载地址请从以下官网地址下载:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注