互联网

互联网

6
评论

【开源OA项目】基于环信IM开发完整的企业通讯解决方案-Dolores Dolores OA 开源项目

KevinGong 发表了文章 • 7445 次浏览 • 2017-06-26 10:53 • 来自相关话题

  

  前阵子钉钉在微信楼下刷了一波#创业很苦,坚持很酷#的广告,浓浓的“丧”文化风格文案受到了各界褒贬不一的评价,也引起了大家对OA办公系统的关注。
   对企业而言,初选OA办公系统是为了满足需求,解决当下问题,由于OA办公系统的在公司运作流程中扮演的重要性,安全与隐私等问题急需未雨绸缪,“可定制”、“可私有化部署”的OA办公系统成为了更多企业的首选。公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做?
   三个关于OA办公系统的究极问题,从开源的OA办公项目-Dolores(朵拉)诞生迎刃而解了。Dolores项目遵循Apache Licence 2.0 开源协议,可以直接拿来用,也可以修改代码来满足需要并作为开源或商业产品发布/销售。




关于Dolores?
Dolores是一套完整的企业通信解决方案,一个完整的企业沟通工具(以下简称企业IM),支持以下几个功能:IM消息服务、组织架构管理、工作流集成。
Dolores项目源码地址:https://github.com/DoloresTeam​ 
技术讨论群:641256202(QQ群)

整个解决方案都包括了什么?
企业通讯录的管理:部门/员工的增删改查通讯录全量更新:全量/增量更新 企业通讯录权限管理:基于RBAC权限管理模型企业即时通讯IM:企业通信对IM这块的可靠性要求高,选择了目前比较成熟的IM云服务厂商-环信
 
 
组织架构

企业通讯录可以说是企业沟通中最重的业务之一,能够提供员工各种服务的认证,获取员工的联系方式等。
 
组织架构-Server

服务端主要包括以下功能:
支持管理人员(例如HR)对部门和员工进行增删改查支持部门和员工自定义排序,自定义元信息存储权限管理员工通讯录视图 (员工根据自己的权限生成通讯录)通讯录增量更新 (鉴于移动端特殊的网络环境和设备,通讯录应该支持差量更新)集成 IM 用户系统

在这里我们主要讨论以下两个问题:
 
权限管理

  随着企业逐渐的发展,团队壮大为了更有效的沟通,以及保护公司内部的一些商业信息不被泄漏,我们应该为通讯录添加权限管理。

基于Role-based access control(RBAC)的权限管理模型

为了介绍此权限管理模型,我们先解释一下基本概念
角色:通常是指企业中某一个工作岗位,这个岗位具有特定的权利和职责。被赋予此角色的员工,将获得这种权利与职责权限:被赋予访问实体的权利。在本项目中是指访问部门和访问某一个或者某一类员工的权利用户-角色分配(User-Role Assignment URA):为某个用户指定一个或者多个角色,此员工将获得这些角色所具有权利的集合角色-权限分配(Role-Permission Assignment RPA):将权限分配给角色,一个角色可以包含多个权利。在本项目中是指多个访问部门和访问员工的权限

在用户和权限之间引入角色中介,将用户与权限的直接关系弱化为间接关系。|ˉˉˉ| |ˉˉ ˉ| |ˉˉˉˉ ˉˉ|
| User |---URA---> | Role |<---RPA---| Permission |
|______| |_______| |_____________|
    以角色为中介,首先创建访问每个部门和员工的访问权限,然后创建不同的角色,根据这些角色的职责不同分配不同的权限,建立角色-权限的关系以后,不同的角色将会有不同的权限。根据员工不同的岗位,将对应的角色分配给他们,建立用户-角色关系,这就是RBAC的主要思想。

一个员工可以用户多个角色,一个角色可以用于多个访问权限。RBAC 极大的简化了员工的授权管理。

   由于企业的部门和员工数量很多,在创建权限时管理员不可能去设置每一个权限可以访问的每一个部门和每一个员工。所以本项目将功能和指责类似的部门和员工看作是同一类型,在创建部门和员工的时候为每一个部门和员工分配固有属性type,管理员在设置权限规则的时候只需要指定可访问的部门类型和员工即可。

增量更新

   鉴于移动终端计算资源有限,如网络,存储,电量等,所以通讯录的更新技术应该保证尽量少的资源。另外由于通讯录的特殊性,通讯录的变化需要能实时通知到受影响的在线员工。

基于版本号与变更日志的增量更新模型

   客户端第一次登陆系统以后,我们根据当前登录角色生成对应的通讯录视图,并以当前时间戳作为版本号,返回给客户端。客户端后续通过此版本号增量更新通讯录。

版本号

   版本号有两种:一是客户端当前通讯录版本 c-version, 二是服务端通讯录每一次变化时的版本号s-version

变更日志

   在管理员修改权限规则,或者修改某个岗位的访问规则时会影响大面积员工的通讯录视图,此时如果用增量更新会导致服务器流量异常,因此在这2中情况会清空原来的变更日志并且要求客户端进行一次全量更新。

   如果管理员新增了员工,服务端会根据被修改的员工或者部门type, 反推出所有受影响的员工,然后生成一条变更日志, 例如:{
"content" : [
{
"cn" : "Lucy.Liu",
"id" : "b4vlfg91scgi1dcju8v0",
"title" : "市场运营负责人",
"email" : [
"lucy.liu@dolores.store"
],
"priority" : "101111",
"name" : "刘小飞",
"telephoneNumber" : "18888888888"
}
],
"createTimestamp" : "20170614063303Z",
"category" : "member",
"action" : "add"
}
客户端在请求增量更新的时候,通过当前登陆ID与版本号,可查找出所有与自己相关的变更日志,然后在客户端数据库中应用这些变更,即可完成同步。

组织架构-Client

   由于现在员工办公设备的多样性,客户端要根据自己公司的情况,覆盖的足够完整,常见的平台有 iOS Android windowsmac linux , 对于后三个平台可以用 Web APP 来覆盖,iOS&Android 用原生的app来提升用户体验。

客户端App主要包括以下功能:
会话列表优秀的聊天界面,历史记录组织机构全量/增量更新员工个人资料展示

客户端数据库设计

IM数据库设计
 
当前版本使用环信SDK
 
组织架构数据库设计

表设计

客户端组织架构较服务端简单,不关联用户Role,客户端本地存储Staff(员工)和Department(部门)信息:
一个部门可以包含相关子部门和部门员工。该部门员工和部门在视图上处于同级关系。员工隶属于部门,同一员工可以存在于多个部门。员工角色用title来表示。

用户在登录客户端成功后,会根据该用户信息创建用户对应的数据库文件,用户表(User)保存用户相关信息,关联该用户staff信息。

客户端组织架构同服务端逻辑。

工作流集成

(TODO)
 
如何使用Dolores

本项目现在已经完成了第一个测试版本,本小节将指导您如何安装使用。

后端数据库

鉴于通讯录对数据库操作的特点多度少写,以及部门之间的树状关系,我们选择LDAP协议来存取数据。

我们有独立的repo来帮助您完成数据库的安装与初始化。请移步这里

组织架构管理

Dolores 初始版本使用Golang实现,大家既可以下载各个平台的可执行包,也可以安装Go语言的开发环境自己编译。

我们有独立的repo来帮助您,运行后端服务。请移步这里

客户端

我们现在有提供一个iOS版的Demo。请移步这里

Done

如果您顺利的完成以上三步,访问 http://localhost:3280 (端口号根据自己的配置,可能会有差异),使用 username: admin, password: dolores 登陆后端管理页面,添加权限规则,添加角色,添加员工、部门,然后使用iOS客户端登陆,就可以愉快的开始聊天啦~
 
负载均衡

(TODO)

多机容灾

(TODO)

LICENSE Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
更多信息请前往github项目主页

 
这里我对每个repo做一个简单的介绍


Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
dolores-ios: iOS版demo,可以聊天查看组织架构
dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
dolores-server: 为客户端提供restfull api 与环信服务器集成
dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
easemob-resty:对环信rest api的封装,让调用环信api更简单
dolores-avatar:生成类似钉钉那样的默认头像


最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正THE CALM BEFORE THE STORM.
暴风雨前的宁静
ONE MORE THING 最后附上Dolores项目LOGO
当时作者正在二刷 《西部世界》这部剧,所以选择了女主的名字dolores作为整个项目的名字,而这个logo则寓意剧中的host。 查看全部
  

  前阵子钉钉在微信楼下刷了一波#创业很苦,坚持很酷#的广告,浓浓的“丧”文化风格文案受到了各界褒贬不一的评价,也引起了大家对OA办公系统的关注。
   对企业而言,初选OA办公系统是为了满足需求,解决当下问题,由于OA办公系统的在公司运作流程中扮演的重要性,安全与隐私等问题急需未雨绸缪,“可定制”、“可私有化部署”的OA办公系统成为了更多企业的首选。
公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做?

   三个关于OA办公系统的究极问题,从开源的OA办公项目-Dolores(朵拉)诞生迎刃而解了。Dolores项目遵循Apache Licence 2.0 开源协议,可以直接拿来用,也可以修改代码来满足需要并作为开源或商业产品发布/销售。
OA广告图.jpg

关于Dolores?

Dolores是一套完整的企业通信解决方案,一个完整的企业沟通工具(以下简称企业IM),支持以下几个功能:IM消息服务、组织架构管理、工作流集成。


Dolores项目源码地址:https://github.com/DoloresTeam​ 
技术讨论群:641256202(QQ群)

整个解决方案都包括了什么?
  • 企业通讯录的管理:部门/员工的增删改查
  • 通讯录全量更新:全量/增量更新 
  • 企业通讯录权限管理:基于RBAC权限管理模型
  • 企业即时通讯IM:企业通信对IM这块的可靠性要求高,选择了目前比较成熟的IM云服务厂商-环信

 
 
组织架构

企业通讯录可以说是企业沟通中最重的业务之一,能够提供员工各种服务的认证,获取员工的联系方式等。
 
组织架构-Server

服务端主要包括以下功能:
  1. 支持管理人员(例如HR)对部门和员工进行增删改查
  2. 支持部门和员工自定义排序,自定义元信息存储
  3. 权限管理
  4. 员工通讯录视图 (员工根据自己的权限生成通讯录)
  5. 通讯录增量更新 (鉴于移动端特殊的网络环境和设备,通讯录应该支持差量更新)
  6. 集成 IM 用户系统


在这里我们主要讨论以下两个问题:
 
权限管理

  随着企业逐渐的发展,团队壮大为了更有效的沟通,以及保护公司内部的一些商业信息不被泄漏,我们应该为通讯录添加权限管理。

基于Role-based access control(RBAC)的权限管理模型

为了介绍此权限管理模型,我们先解释一下基本概念
  • 角色:通常是指企业中某一个工作岗位,这个岗位具有特定的权利和职责。被赋予此角色的员工,将获得这种权利与职责
  • 权限:被赋予访问实体的权利。在本项目中是指访问部门和访问某一个或者某一类员工的权利
  • 用户-角色分配(User-Role Assignment URA):为某个用户指定一个或者多个角色,此员工将获得这些角色所具有权利的集合
  • 角色-权限分配(Role-Permission Assignment RPA):将权限分配给角色,一个角色可以包含多个权利。在本项目中是指多个访问部门和访问员工的权限


在用户和权限之间引入角色中介,将用户与权限的直接关系弱化为间接关系。
|ˉˉˉ|           |ˉˉ ˉ|          |ˉˉˉˉ ˉˉ|  
| User |---URA---> | Role |<---RPA---| Permission |
|______| |_______| |_____________|

    以角色为中介,首先创建访问每个部门和员工的访问权限,然后创建不同的角色,根据这些角色的职责不同分配不同的权限,建立角色-权限的关系以后,不同的角色将会有不同的权限。根据员工不同的岗位,将对应的角色分配给他们,建立用户-角色关系,这就是RBAC的主要思想。

一个员工可以用户多个角色,一个角色可以用于多个访问权限。RBAC 极大的简化了员工的授权管理。

   由于企业的部门和员工数量很多,在创建权限时管理员不可能去设置每一个权限可以访问的每一个部门和每一个员工。所以本项目将功能和指责类似的部门和员工看作是同一类型,在创建部门和员工的时候为每一个部门和员工分配固有属性type,管理员在设置权限规则的时候只需要指定可访问的部门类型和员工即可。

增量更新

   鉴于移动终端计算资源有限,如网络,存储,电量等,所以通讯录的更新技术应该保证尽量少的资源。另外由于通讯录的特殊性,通讯录的变化需要能实时通知到受影响的在线员工。

基于版本号与变更日志的增量更新模型

   客户端第一次登陆系统以后,我们根据当前登录角色生成对应的通讯录视图,并以当前时间戳作为版本号,返回给客户端。客户端后续通过此版本号增量更新通讯录。

版本号

   版本号有两种:一是客户端当前通讯录版本 c-version, 二是服务端通讯录每一次变化时的版本号s-version

变更日志

   在管理员修改权限规则,或者修改某个岗位的访问规则时会影响大面积员工的通讯录视图,此时如果用增量更新会导致服务器流量异常,因此在这2中情况会清空原来的变更日志并且要求客户端进行一次全量更新。

   如果管理员新增了员工,服务端会根据被修改的员工或者部门type, 反推出所有受影响的员工,然后生成一条变更日志, 例如:
{
"content" : [
{
"cn" : "Lucy.Liu",
"id" : "b4vlfg91scgi1dcju8v0",
"title" : "市场运营负责人",
"email" : [
"lucy.liu@dolores.store"
],
"priority" : "101111",
"name" : "刘小飞",
"telephoneNumber" : "18888888888"
}
],
"createTimestamp" : "20170614063303Z",
"category" : "member",
"action" : "add"
}

客户端在请求增量更新的时候,通过当前登陆ID与版本号,可查找出所有与自己相关的变更日志,然后在客户端数据库中应用这些变更,即可完成同步。

组织架构-Client

   由于现在员工办公设备的多样性,客户端要根据自己公司的情况,覆盖的足够完整,常见的平台有 iOS Android windowsmac linux , 对于后三个平台可以用 Web APP 来覆盖,iOS&Android 用原生的app来提升用户体验。

客户端App主要包括以下功能:
  1. 会话列表
  2. 优秀的聊天界面,历史记录
  3. 组织机构全量/增量更新
  4. 员工个人资料展示


客户端数据库设计

IM数据库设计
 
当前版本使用环信SDK
 
组织架构数据库设计

表设计

客户端组织架构较服务端简单,不关联用户Role,客户端本地存储Staff(员工)和Department(部门)信息:
  • 一个部门可以包含相关子部门和部门员工。该部门员工和部门在视图上处于同级关系。
  • 员工隶属于部门,同一员工可以存在于多个部门。
  • 员工角色用title来表示。


用户在登录客户端成功后,会根据该用户信息创建用户对应的数据库文件,用户表(User)保存用户相关信息,关联该用户staff信息。

客户端组织架构同服务端逻辑。

工作流集成

(TODO)
 
如何使用Dolores

本项目现在已经完成了第一个测试版本,本小节将指导您如何安装使用。

后端数据库

鉴于通讯录对数据库操作的特点多度少写,以及部门之间的树状关系,我们选择LDAP协议来存取数据。

我们有独立的repo来帮助您完成数据库的安装与初始化。请移步这里

组织架构管理

Dolores 初始版本使用Golang实现,大家既可以下载各个平台的可执行包,也可以安装Go语言的开发环境自己编译。

我们有独立的repo来帮助您,运行后端服务。请移步这里

客户端

我们现在有提供一个iOS版的Demo。请移步这里

Done

如果您顺利的完成以上三步,访问 http://localhost:3280 (端口号根据自己的配置,可能会有差异),使用 username: admin, password: dolores 登陆后端管理页面,添加权限规则,添加角色,添加员工、部门,然后使用iOS客户端登陆,就可以愉快的开始聊天啦~
 
负载均衡

(TODO)

多机容灾

(TODO)

LICENSE
 Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

更多信息请前往github项目主页

 
这里我对每个repo做一个简单的介绍


Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
dolores-ios: iOS版demo,可以聊天查看组织架构
dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
dolores-server: 为客户端提供restfull api 与环信服务器集成
dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
easemob-resty:对环信rest api的封装,让调用环信api更简单
dolores-avatar:生成类似钉钉那样的默认头像


最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正
THE CALM BEFORE THE STORM.
暴风雨前的宁静

ONE MORE THING 最后附上Dolores项目LOGO
当时作者正在二刷 《西部世界》这部剧,所以选择了女主的名字dolores作为整个项目的名字,而这个logo则寓意剧中的host。
687474703a2f2f6f7131696e636b76692e626b742e636c6f7564646e2e636f6d2f646f6c6f726573313032342e706e67.png
6
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 4865 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
 
Android篇
环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
7
评论

【视频教程+源码】基于环信IM做一个仿微信APP-更新ing 郭永峰 高仿微信 仿微信 环信 XMPP

郭永峰 发表了文章 • 9707 次浏览 • 2017-05-16 15:29 • 来自相关话题

我只是一个普通人,做人要谦虚。
我不是大神,我也不是很厉害的。
天外有天,人外有人。
老师引入门,修行靠个人。
希望能帮助大家,谢谢。
    大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
 
本人现状况:
  
   在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

 
郭永峰IT教育工作室于2017年4月12日成立!
 
成立原因:

希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
 

进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
4月12号成立工作室,现在18号,过了一个星期一个星期录了5天的环信教程视频,我将放在网盘免费分享环信的教程视频主要是针对有开发经验者教程主要是使用环信来模仿微信来做一个即时通讯的案例课程主要是先讲socket基础 -> 环信 ->自定义协议希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解同时能希望大家在面试时,在即时通讯这块不在陌生
  持续更新

第一阶段:即时通讯的了解和微信APP开发前的准备!

【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
 
【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
 
【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
 
整个项目源码,git地址https://github.com/mayaole/fWeiXin

 微信打赏






支付宝打赏






谢谢大家的支持,个人微信号清扫描下面张图






 
郭永峰IT交流QQ群请加:596441895 查看全部
我只是一个普通人,做人要谦虚。
我不是大神,我也不是很厉害的。
天外有天,人外有人。
老师引入门,修行靠个人。
希望能帮助大家,谢谢。

    大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
 
本人现状况:
  
   在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

 
郭永峰IT教育工作室于2017年4月12日成立!
 
成立原因:

希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
 

进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
  1. 4月12号成立工作室,现在18号,过了一个星期
  2. 一个星期录了5天的环信教程视频,我将放在网盘免费分享
  3. 环信的教程视频主要是针对有开发经验者
  4. 教程主要是使用环信来模仿微信来做一个即时通讯的案例
  5. 课程主要是先讲socket基础 -> 环信 ->自定义协议
  6. 希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解
  7. 同时能希望大家在面试时,在即时通讯这块不在陌生

  持续更新

第一阶段:即时通讯的了解和微信APP开发前的准备!

【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
 
【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
 
【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
 
整个项目源码,git地址https://github.com/mayaole/fWeiXin

 微信打赏

微信.png


支付宝打赏

支付宝.png


谢谢大家的支持,个人微信号清扫描下面张图

个人.png


 
郭永峰IT交流QQ群请加:596441895
0
评论

如何阅读计算机科学类的书 互联网 阅读

beyond 发表了文章 • 31 次浏览 • 2017-08-10 18:50 • 来自相关话题

 




 作为一个研发工程师,无论你是否喜爱阅读,相信你都一定读过不少关于计算机技术的书籍。这其中不乏《21天学会JAVA》这样的语言入门书籍,也有《算法导论》这样的专题书籍,也有《人月神话》这样关于软件管理学的实用性的书籍。也许你已经读过他们中的大部分,也许你现在还在不断地购入新的书籍来补充你的知识库。但请稍等一下,你是否思考过这样的问题,面对大量的计算机科学书籍,你是否都真正读懂了它们呢?有多少本书,当你将他放在书架上之后,就再也没有重新打开过?有多少知识是真正被存储在你的大脑中,并随时可以提供调用?拿到一本书后,高效阅读的正确姿势的什么?如果你有以上的疑惑,那么接下来,我们将一起探讨一个问题,如何阅读一本计算机科学类书籍。

阅读的四种层次

   首先,我们先要学会如何阅读。你可能会觉得不可思议,我已经接受过高等教育,怎么可能还不会阅读。然而可悲的是,现代教育体系中,恰恰忽略了对阅读能力的训练。我们在初中之后,阅读水平就几乎没有机会再得到提升。总体来说,阅读分为四种层次,分别是:
基础阅读检视阅读分析阅读主题阅读
 
   这其中的概念来源于莫提默·J·艾德勒和查尔斯·范多伦的著作《如何阅读一本书(How To Read A Book)》,这里我必须对其中的概念做简单的总结,以便在后续的篇幅中,我们能统一对阅读名词的理解。

基础阅读
   当我们完成中学学业后,我们中的绝大部分人,都已经掌握了基础阅读的能力。在这个层次中,我们关心的是,书里的每句话是什么意思。这是一个最基础的层次。
检视阅读
   检视阅读,我们也可以称之为快速阅读。快速浏览全书,了解书的主题,架构全书,提出核心问题。这并不是很新鲜的概念,但很多人可能并没有思考过,为什么要做检视阅读。检视阅读作用是为了帮助我们筛选这本书是否值得阅读,同时为接下来的分析阅读打下基础。在这个层次中,我们关心的是,这本书在讲什么。
 
分析阅读
   分析阅读是一个更为高级的阅读层次,目标让我们能充分理解本书,与作者对话。其中包含了多个阶段,这里不再详述,有兴趣的同学可以研读原著。
 
主题阅读
   当我们跨越过分析阅读后,这本书已经被我们掌握。此时,我们会就相同的主题,阅读不同的书籍,找出其中关联与矛盾,倾听不同的作者的不同声音,从而对某个主题产生更加深刻的认识。这个阶段,我们关注的不再是某一本书,而是一个具体的问题。
 
计算机科学书籍的特征
   原著中针对不同类型的书籍,给予了不同的阅读建议。但由于所著时间很早,就计算机科学类图书的阅读建议,在书中并没有专门设计章节阐述。根据我的阅读经历,深感计算机科学类书籍,较其他类型图书有着其独特性:

单本书籍的信息量大
   相较其他学科,绝大多数计算机科学类书籍并不是以得出结论并且论证结论为核心,而偏重于阐述方法和解释原理。有很多计算机书籍旨在剖析某个系统。这里的系统不仅仅指代诸如操作系统这样的实体系统,还包括一门语言或者一套管理方法论这样的理论系统。而系统通常是由多个部分组成的综合体,这其中势必包含不同组成部分的不同细节,信息量之大可见一斑。
 
注重实践
   计算机科学是一门实用性的学科。这里的实用性可以理解为,计算机科学诞生的目的就是为了解决实际问题。因此,几乎所有的计算机科学书籍,都是以指导实践为目标而作。
 
更新速度快
   计算机科学的更迭速度可以准确地被描述为日新月异。有些技术很快地火爆起来,又很快地消亡,所以有些书也就跟着很快地淹没在时代的进程中。
 
分类细致但同质度高
   计算机科学对自己有着过分清晰的划分,不同的技术之间往往边界清晰。我们很少见操作系统和数据库系统在同一本书中论述,也不常见集不同语言之成的大作。由于领域划分细致,相同领域的书籍,多数时候往往论述的是同样的主题。
 
阅读计算机科学书籍的误区
   绝大多数读者的错误意识在于把所有的书籍都认为是层层推进的论述过程。这样的阅读经验一旦沿用在计算机科学类书籍中,就会感觉举步维艰。前文说过,大多数的计算机书籍都是在剖析系统,一个系统又是由许多相互关联的部分组成。解读这类书籍,如同拆解一个机械,我们在拆解的过程,常常会犯下这些错误。

通读全书
   在你的头脑中没有对全书的结构有整体了解的情况下,从头至尾通读全书,意味着试图从细节窥视一个系统的全貌。这是一种低效的读书方式。当读到中落时,你会因为没有全局概念,而迷失在各种细节中,以至于完全失去了阅读的方向和目标。
 
跳过序言
   序言往往是很多人忽略的内容,似乎序言只是重复了正文的内容。而正因为如此,序言以简短精炼的语言,为你分解了整本书的架构,帮助你把握系统的整体。这项工作本来应该是读者在阅读全书之前的必备工作,绝大多数的作者都已经帮你完成了,而你需要做的仅仅是认真的阅读它。
 
脱离实践
   前文说过,计算机科学类书籍重视实践,脱离了实践,往往就不能完全理解书中所述的理论和方法,过目就忘,纸上谈兵。
 
忽视基础
   封装在计算机的世界中是一个非常重要的概念。计算机的发展史,总的来说就是一部封装史:将底层不断包装,提供简单的调用方式,由此不断的扩展计算机的边界和能力。新的技术层出不穷,而他们的很多所依赖的环境和系统,从设计之初就没有发生过质的变化。
有时,在追逐新的技术之前,深入了解他们所在的系统;在学习新的算法之前,掌握好其基础的数学原理。只有牢固的基础才能支撑足够结实的上层建筑。
 
阅读计算机科学书籍的建议
   当了解阅读误区后,你们是不是已经发现阅读这类书籍的核心原理呢?那就是将整本书当做一个系统,从整体到局部,层层递进,逐步剖析。根据这个核心原理,我总结了一些好的实践方式。
 
检视阅读
   当你拿到一本计算机科学书籍,第一步就应该快速浏览序言和目录,然后用检视阅读的方式整理出整本书的大纲。这样,你对这本书是介绍理论还是关注实践,所属什么分类,哪些问题是本书将会讨论,而哪些问题是不被详细讨论的,这些信息你都会有整体上的认知。这时,你就可以很轻松地判断,这本书值不值的阅读,哪些内容是你已经熟知的,哪些内容是你关注的重点,这样做阅读的效率将会大大的提高。
   如果从来没有使用过这种阅读方式,开始实践时,会受到一定的心理上的阻力。可能你对某个专有名词完全没有概念,以至于整章的内容都模棱两可。这时,你应该坚持继续阅读,对不甚理解的内容,先记住有这样的概念。绝大多数的时候,经过检视阅读后,过程中的问题都会有所释怀,剩下依然没有明白的内容,视其重要性,再决定是否对其进行分析阅读。
 
提取问题
   当你了解了整本书的全貌,一般而言,你会发现,有些章节你已经熟悉,有些章节你全然不知。这时就要对这些章节进行分析阅读。分析阅读的很多步骤和方法在《如何阅读一本书(How To Read A Book)》有详细的介绍,这里不展开细说。但有时,你在阅读的过程中,会发现阅读的兴趣在下降。信息量愈大,阅读的动力愈弱,最后你就迷失在信息的汪洋之中。
我们应该如何避免这样的信息疲劳呢?答案就是去掉冗余的干扰信息。在上一个建议中,我们强调了检视阅读的重要性。那检视阅读的成果是什么呢?那就是你对每个部分(不一定是书中给你划分的章节)所提出的问题,也可以称之为阅读目标。而你要做的就是,找到这些问题的答案,完成自己的阅读目标。
   这样做过滤了很多作者认为重要,其实和你关心的主旨没有联系的信息,减少了信息疲劳。同时,不同部分之间有关联的问题,可以帮助你更好的串联全书阐述的核心概念,把握整本书的主要脉络。
例如,我在阅读《深入理解计算机系统》的异常控制流时,就提出这样的问题:进程是如何管理内存?而部分的答案,在下一个章节虚拟内存中。当我解答这个问题时,我就会将这两个分离的章节的内容,通过一个问题联系在一起,加深了自己的理解。
 
持续重读
   一本经典优秀的计算机科学书籍,值得你反复的阅读。不要觉得整本书我已经完全理解,就再也不需要重新回顾阅读了。因为此类书籍存在大量信息,而这些信息并没有必要占据我们大脑有限的记忆存储空间。我们要做的就是认真做好第一条建议,当我们需要使用这些书籍解决问题的时候,能第一时间在其中找到我们需要的信息。毫不夸张的说,计算机科学类的书籍生来就是供人反复翻阅的。
 
鉴别烂书
   作为阅读爱好者,谁能说自己没读过几本烂书呢。在计算机科学这个类别中,烂书的比例一点也不比其他学科低。信息重复(抄袭),结构混乱,论证不清晰(作者对某个技术一知半解)等等,都是烂书的特征。关于烂书,我们要做的就是第一时间将其鉴别出来,然后放到自己的黑名单中。具体如何鉴别烂书,由于本篇幅太长,我可能会新开一篇文章单独讨论。
 
结语
   以上就是我对于如何阅读计算机科学类书籍的理解。本来想缩短些篇幅,但最后还是决定保留那些我觉得应该详细论述的部分。毕竟这篇文章的初心并非是厕所读物,而是一个阅读爱好者认真地与读者探讨一个严肃的话题。如果可以,我希望在通过我不断地探索,阅读能力的持续提升,我还能在此宝地继续这个话题,完善我的理论。
我在下面列出我认为经典优秀的计算机科学书籍,也欢迎大家补充,排名不分先后。 查看全部
 
QQ图片20170810185201.png

 作为一个研发工程师,无论你是否喜爱阅读,相信你都一定读过不少关于计算机技术的书籍。这其中不乏《21天学会JAVA》这样的语言入门书籍,也有《算法导论》这样的专题书籍,也有《人月神话》这样关于软件管理学的实用性的书籍。也许你已经读过他们中的大部分,也许你现在还在不断地购入新的书籍来补充你的知识库。但请稍等一下,你是否思考过这样的问题,面对大量的计算机科学书籍,你是否都真正读懂了它们呢?有多少本书,当你将他放在书架上之后,就再也没有重新打开过?有多少知识是真正被存储在你的大脑中,并随时可以提供调用?拿到一本书后,高效阅读的正确姿势的什么?如果你有以上的疑惑,那么接下来,我们将一起探讨一个问题,如何阅读一本计算机科学类书籍。

阅读的四种层次

   首先,我们先要学会如何阅读。你可能会觉得不可思议,我已经接受过高等教育,怎么可能还不会阅读。然而可悲的是,现代教育体系中,恰恰忽略了对阅读能力的训练。我们在初中之后,阅读水平就几乎没有机会再得到提升。总体来说,阅读分为四种层次,分别是:
  • 基础阅读
  • 检视阅读
  • 分析阅读
  • 主题阅读

 
   这其中的概念来源于莫提默·J·艾德勒和查尔斯·范多伦的著作《如何阅读一本书(How To Read A Book)》,这里我必须对其中的概念做简单的总结,以便在后续的篇幅中,我们能统一对阅读名词的理解。

基础阅读
   当我们完成中学学业后,我们中的绝大部分人,都已经掌握了基础阅读的能力。在这个层次中,我们关心的是,书里的每句话是什么意思。这是一个最基础的层次。
检视阅读
   检视阅读,我们也可以称之为快速阅读。快速浏览全书,了解书的主题,架构全书,提出核心问题。这并不是很新鲜的概念,但很多人可能并没有思考过,为什么要做检视阅读。检视阅读作用是为了帮助我们筛选这本书是否值得阅读,同时为接下来的分析阅读打下基础。在这个层次中,我们关心的是,这本书在讲什么。
 
分析阅读
   分析阅读是一个更为高级的阅读层次,目标让我们能充分理解本书,与作者对话。其中包含了多个阶段,这里不再详述,有兴趣的同学可以研读原著。
 
主题阅读
   当我们跨越过分析阅读后,这本书已经被我们掌握。此时,我们会就相同的主题,阅读不同的书籍,找出其中关联与矛盾,倾听不同的作者的不同声音,从而对某个主题产生更加深刻的认识。这个阶段,我们关注的不再是某一本书,而是一个具体的问题。
 
计算机科学书籍的特征
   原著中针对不同类型的书籍,给予了不同的阅读建议。但由于所著时间很早,就计算机科学类图书的阅读建议,在书中并没有专门设计章节阐述。根据我的阅读经历,深感计算机科学类书籍,较其他类型图书有着其独特性:

单本书籍的信息量大
   相较其他学科,绝大多数计算机科学类书籍并不是以得出结论并且论证结论为核心,而偏重于阐述方法和解释原理。有很多计算机书籍旨在剖析某个系统。这里的系统不仅仅指代诸如操作系统这样的实体系统,还包括一门语言或者一套管理方法论这样的理论系统。而系统通常是由多个部分组成的综合体,这其中势必包含不同组成部分的不同细节,信息量之大可见一斑。
 
注重实践
   计算机科学是一门实用性的学科。这里的实用性可以理解为,计算机科学诞生的目的就是为了解决实际问题。因此,几乎所有的计算机科学书籍,都是以指导实践为目标而作。
 
更新速度快
   计算机科学的更迭速度可以准确地被描述为日新月异。有些技术很快地火爆起来,又很快地消亡,所以有些书也就跟着很快地淹没在时代的进程中。
 
分类细致但同质度高
   计算机科学对自己有着过分清晰的划分,不同的技术之间往往边界清晰。我们很少见操作系统和数据库系统在同一本书中论述,也不常见集不同语言之成的大作。由于领域划分细致,相同领域的书籍,多数时候往往论述的是同样的主题。
 
阅读计算机科学书籍的误区
   绝大多数读者的错误意识在于把所有的书籍都认为是层层推进的论述过程。这样的阅读经验一旦沿用在计算机科学类书籍中,就会感觉举步维艰。前文说过,大多数的计算机书籍都是在剖析系统,一个系统又是由许多相互关联的部分组成。解读这类书籍,如同拆解一个机械,我们在拆解的过程,常常会犯下这些错误。

通读全书
   在你的头脑中没有对全书的结构有整体了解的情况下,从头至尾通读全书,意味着试图从细节窥视一个系统的全貌。这是一种低效的读书方式。当读到中落时,你会因为没有全局概念,而迷失在各种细节中,以至于完全失去了阅读的方向和目标。
 
跳过序言
   序言往往是很多人忽略的内容,似乎序言只是重复了正文的内容。而正因为如此,序言以简短精炼的语言,为你分解了整本书的架构,帮助你把握系统的整体。这项工作本来应该是读者在阅读全书之前的必备工作,绝大多数的作者都已经帮你完成了,而你需要做的仅仅是认真的阅读它。
 
脱离实践
   前文说过,计算机科学类书籍重视实践,脱离了实践,往往就不能完全理解书中所述的理论和方法,过目就忘,纸上谈兵。
 
忽视基础
   封装在计算机的世界中是一个非常重要的概念。计算机的发展史,总的来说就是一部封装史:将底层不断包装,提供简单的调用方式,由此不断的扩展计算机的边界和能力。新的技术层出不穷,而他们的很多所依赖的环境和系统,从设计之初就没有发生过质的变化。
有时,在追逐新的技术之前,深入了解他们所在的系统;在学习新的算法之前,掌握好其基础的数学原理。只有牢固的基础才能支撑足够结实的上层建筑。
 
阅读计算机科学书籍的建议
   当了解阅读误区后,你们是不是已经发现阅读这类书籍的核心原理呢?那就是将整本书当做一个系统,从整体到局部,层层递进,逐步剖析。根据这个核心原理,我总结了一些好的实践方式。
 
检视阅读
   当你拿到一本计算机科学书籍,第一步就应该快速浏览序言和目录,然后用检视阅读的方式整理出整本书的大纲。这样,你对这本书是介绍理论还是关注实践,所属什么分类,哪些问题是本书将会讨论,而哪些问题是不被详细讨论的,这些信息你都会有整体上的认知。这时,你就可以很轻松地判断,这本书值不值的阅读,哪些内容是你已经熟知的,哪些内容是你关注的重点,这样做阅读的效率将会大大的提高。
   如果从来没有使用过这种阅读方式,开始实践时,会受到一定的心理上的阻力。可能你对某个专有名词完全没有概念,以至于整章的内容都模棱两可。这时,你应该坚持继续阅读,对不甚理解的内容,先记住有这样的概念。绝大多数的时候,经过检视阅读后,过程中的问题都会有所释怀,剩下依然没有明白的内容,视其重要性,再决定是否对其进行分析阅读。
 
提取问题
   当你了解了整本书的全貌,一般而言,你会发现,有些章节你已经熟悉,有些章节你全然不知。这时就要对这些章节进行分析阅读。分析阅读的很多步骤和方法在《如何阅读一本书(How To Read A Book)》有详细的介绍,这里不展开细说。但有时,你在阅读的过程中,会发现阅读的兴趣在下降。信息量愈大,阅读的动力愈弱,最后你就迷失在信息的汪洋之中。
我们应该如何避免这样的信息疲劳呢?答案就是去掉冗余的干扰信息。在上一个建议中,我们强调了检视阅读的重要性。那检视阅读的成果是什么呢?那就是你对每个部分(不一定是书中给你划分的章节)所提出的问题,也可以称之为阅读目标。而你要做的就是,找到这些问题的答案,完成自己的阅读目标。
   这样做过滤了很多作者认为重要,其实和你关心的主旨没有联系的信息,减少了信息疲劳。同时,不同部分之间有关联的问题,可以帮助你更好的串联全书阐述的核心概念,把握整本书的主要脉络。
例如,我在阅读《深入理解计算机系统》的异常控制流时,就提出这样的问题:进程是如何管理内存?而部分的答案,在下一个章节虚拟内存中。当我解答这个问题时,我就会将这两个分离的章节的内容,通过一个问题联系在一起,加深了自己的理解。
 
持续重读
   一本经典优秀的计算机科学书籍,值得你反复的阅读。不要觉得整本书我已经完全理解,就再也不需要重新回顾阅读了。因为此类书籍存在大量信息,而这些信息并没有必要占据我们大脑有限的记忆存储空间。我们要做的就是认真做好第一条建议,当我们需要使用这些书籍解决问题的时候,能第一时间在其中找到我们需要的信息。毫不夸张的说,计算机科学类的书籍生来就是供人反复翻阅的。
 
鉴别烂书
   作为阅读爱好者,谁能说自己没读过几本烂书呢。在计算机科学这个类别中,烂书的比例一点也不比其他学科低。信息重复(抄袭),结构混乱,论证不清晰(作者对某个技术一知半解)等等,都是烂书的特征。关于烂书,我们要做的就是第一时间将其鉴别出来,然后放到自己的黑名单中。具体如何鉴别烂书,由于本篇幅太长,我可能会新开一篇文章单独讨论。
 
结语
   以上就是我对于如何阅读计算机科学类书籍的理解。本来想缩短些篇幅,但最后还是决定保留那些我觉得应该详细论述的部分。毕竟这篇文章的初心并非是厕所读物,而是一个阅读爱好者认真地与读者探讨一个严肃的话题。如果可以,我希望在通过我不断地探索,阅读能力的持续提升,我还能在此宝地继续这个话题,完善我的理论。
我在下面列出我认为经典优秀的计算机科学书籍,也欢迎大家补充,排名不分先后。
0
评论

创业关闭大潮,它潜伏修炼 互联网 创业 互联网+

evelyn酱 发表了文章 • 564 次浏览 • 2016-05-13 16:45 • 来自相关话题

创业关闭大潮,它潜伏修炼 
 
在去年通过朋友圈的推荐,下载了一款产品摘客,一开始被他们的独特的分类阅读所吸引,虽然产品当时还有很多的问题,但是对于用户来说,其独特的细分个性化阅读有别于其他APP,当时的体验还是不错的。还有其搜索功能,当时发现搜索时,很多时候都能意外的发现很多好文章,因此建立了该产品的第一映像。 
 
后来机缘巧合,认识到这款产品的团队负责人,因此也特地对摘客与其进行了相关的交流和探讨。 
 
惊讶的是整个团队不过10+人,就包括了后台、前端、测试、运营等人员,原本以为主打个性化推荐算法的产品,相对而言对产品的复杂度和门槛会高一点点,应该有几十人的团队在维护,如今日头条,虽然人家已经上千人的团队,但起步的时候也远远不止10人的团队。不过所有创业团队在起步的时候一定是精简的,一人能敌好几个人用。光这一点,对摘客又多了几分好感。 
 
当然,我也从我的角度指出了很多产品存在的问题,比如界面相较于其他和产品定位而言,UI风格的混乱和不统一;用户评论机制的鸡肋和打造UGC社区氛围问题;产品人群定位等问题都进行了探讨;
 
就个性化推荐而言,摘客切入的是互联网资讯垂直行业,相较于目前已经做得较好的科技媒体,像36氪、虎嗅、极客公园,以及同样主打个性推荐的今日头像,摘客还是有明显的差异性,找到了细分领域。而就阅读而言,用户是否真的需要这么细分的需求呢?这是产品值得思考的问题。 
 
摘客负责人告诉我们,已将上线的2.0.0版本会对目前的产品有一个较大的改进和提高,尤其是目前被人诟病的界面,因此当下就去下载更新了,大改版的白蓝为主色的界面,真实小清晰一脸啊,侧拉导航改为底部导航,也大大比旧版提高了用户的交互体验; 
 











通过深入的了解后,整个团队给人的感觉相较一般的创业团队,更耐得住性子,沉下心来打磨一件他们认为有价值的产品。相比那些为了拿钱融资,冲业务指标而放弃初心的很多创业团队,更欣赏现在还可以静心做产品的团队。 
 
值得恭喜的是,他们告诉我摘客已经在融资阶段,并且有了明确性的资金意向,具体的消息相信在不久的将来可以听到。 查看全部
创业关闭大潮,它潜伏修炼 
 
在去年通过朋友圈的推荐,下载了一款产品摘客,一开始被他们的独特的分类阅读所吸引,虽然产品当时还有很多的问题,但是对于用户来说,其独特的细分个性化阅读有别于其他APP,当时的体验还是不错的。还有其搜索功能,当时发现搜索时,很多时候都能意外的发现很多好文章,因此建立了该产品的第一映像。 
 
后来机缘巧合,认识到这款产品的团队负责人,因此也特地对摘客与其进行了相关的交流和探讨。 
 
惊讶的是整个团队不过10+人,就包括了后台、前端、测试、运营等人员,原本以为主打个性化推荐算法的产品,相对而言对产品的复杂度和门槛会高一点点,应该有几十人的团队在维护,如今日头条,虽然人家已经上千人的团队,但起步的时候也远远不止10人的团队。不过所有创业团队在起步的时候一定是精简的,一人能敌好几个人用。光这一点,对摘客又多了几分好感。 
 
当然,我也从我的角度指出了很多产品存在的问题,比如界面相较于其他和产品定位而言,UI风格的混乱和不统一;用户评论机制的鸡肋和打造UGC社区氛围问题;产品人群定位等问题都进行了探讨;
 
就个性化推荐而言,摘客切入的是互联网资讯垂直行业,相较于目前已经做得较好的科技媒体,像36氪、虎嗅、极客公园,以及同样主打个性推荐的今日头像,摘客还是有明显的差异性,找到了细分领域。而就阅读而言,用户是否真的需要这么细分的需求呢?这是产品值得思考的问题。 
 
摘客负责人告诉我们,已将上线的2.0.0版本会对目前的产品有一个较大的改进和提高,尤其是目前被人诟病的界面,因此当下就去下载更新了,大改版的白蓝为主色的界面,真实小清晰一脸啊,侧拉导航改为底部导航,也大大比旧版提高了用户的交互体验; 
 

图片1.png


图片2.png


通过深入的了解后,整个团队给人的感觉相较一般的创业团队,更耐得住性子,沉下心来打磨一件他们认为有价值的产品。相比那些为了拿钱融资,冲业务指标而放弃初心的很多创业团队,更欣赏现在还可以静心做产品的团队。 
 
值得恭喜的是,他们告诉我摘客已经在融资阶段,并且有了明确性的资金意向,具体的消息相信在不久的将来可以听到。
1
回复

作为程序员,你在 2015 年都有哪些进步、收获与成长? 互联网

二磊子 回复了问题 • 2 人关注 • 1169 次浏览 • 2015-12-31 12:26 • 来自相关话题

1
评论

甲骨文收购StackEngine 提升云业务竞争力 新闻资讯 互联网

beyond 发表了文章 • 723 次浏览 • 2015-12-23 11:22 • 来自相关话题

12月23日消息,据华尔街日报报道,甲骨文最新的一笔收购虽然规模不大(涉及不到50名员工),但它可谓该公司重塑自我适应快速市场变化过程中迈出的重要一步。该数据库巨头上周五悄然收购了德州奥斯汀的创业公司StackEngine。
 
甲骨文未披露该交易的条款,但该收购将会有利于其具有重大战略意义的公共云业务的发展。

该集装箱运营平台将会促进甲骨文基于集装箱软件的新一代云服务的销售。前谷歌工程师、风投公司Accel Partners入驻创业者乔·布雷达(Joe Breda)指出,集装箱是计算机程序开发方式突变的一部分,给软件开发者带来了在大型网络上快速开发和推出软件的新途径。

该收购可能有助于甲骨文追赶其它在创业公司Docker崛起后十分看重集装箱技术的科技巨头。Docker于2013年年初以开源许可形式开放其集装箱技术,该概念由此开始普及。Docker产品高级副总裁斯科特·约翰斯顿(Scott Johnston)指出,在过去的一年里,包括IBM、VMware、微软和亚马逊在内的云计算提供商都曾推出基于Docker的软件与服务。

开发集装箱管理软件的创业公司Kismatic CEO帕特里克·雷利(Patrick Reilly)说道,“事实上,这些公司都在针对这一趋势进行投资,感觉大公司们都开始意识到该理念不同凡响了。”

甲骨文计划让StackEngine团队留在奥斯汀,其员工将在那里为甲骨文的云计算产品开发新功能。甲骨文云开发副总裁彼得·马格努松(Peter Magnusson)表示,StackEngine打造的集装箱管理软件将应用于甲骨文的集装箱服务,该类服务将“成为企业计算的重要部分”。

StackEngine的技术或许可帮助甲骨文的云服务吸引更多的企业客户。甲骨文在云领域的发展并不顺利,目前它的营收还主要依靠其它的业务。传统软件的许可和产品支持合约占该公司营收的70%。

在最近一个季度,甲骨文的新软件许可销售额同比下降18%。它的云计算业务收入为6.49亿美元,同比增长7%,但该增幅要远远落后于亚马逊。后者的云业务在最近一个季度实现了高达78%的增长。 查看全部
12月23日消息,据华尔街日报报道,甲骨文最新的一笔收购虽然规模不大(涉及不到50名员工),但它可谓该公司重塑自我适应快速市场变化过程中迈出的重要一步。该数据库巨头上周五悄然收购了德州奥斯汀的创业公司StackEngine。
 
甲骨文未披露该交易的条款,但该收购将会有利于其具有重大战略意义的公共云业务的发展。

该集装箱运营平台将会促进甲骨文基于集装箱软件的新一代云服务的销售。前谷歌工程师、风投公司Accel Partners入驻创业者乔·布雷达(Joe Breda)指出,集装箱是计算机程序开发方式突变的一部分,给软件开发者带来了在大型网络上快速开发和推出软件的新途径。

该收购可能有助于甲骨文追赶其它在创业公司Docker崛起后十分看重集装箱技术的科技巨头。Docker于2013年年初以开源许可形式开放其集装箱技术,该概念由此开始普及。Docker产品高级副总裁斯科特·约翰斯顿(Scott Johnston)指出,在过去的一年里,包括IBM、VMware、微软和亚马逊在内的云计算提供商都曾推出基于Docker的软件与服务。

开发集装箱管理软件的创业公司Kismatic CEO帕特里克·雷利(Patrick Reilly)说道,“事实上,这些公司都在针对这一趋势进行投资,感觉大公司们都开始意识到该理念不同凡响了。”

甲骨文计划让StackEngine团队留在奥斯汀,其员工将在那里为甲骨文的云计算产品开发新功能。甲骨文云开发副总裁彼得·马格努松(Peter Magnusson)表示,StackEngine打造的集装箱管理软件将应用于甲骨文的集装箱服务,该类服务将“成为企业计算的重要部分”。

StackEngine的技术或许可帮助甲骨文的云服务吸引更多的企业客户。甲骨文在云领域的发展并不顺利,目前它的营收还主要依靠其它的业务。传统软件的许可和产品支持合约占该公司营收的70%。

在最近一个季度,甲骨文的新软件许可销售额同比下降18%。它的云计算业务收入为6.49亿美元,同比增长7%,但该增幅要远远落后于亚马逊。后者的云业务在最近一个季度实现了高达78%的增长。
0
评论

一个IT人的职业规划 互联网 新闻资讯 机器学习

evelyn酱 发表了文章 • 1288 次浏览 • 2015-12-23 10:56 • 来自相关话题

今年的校园秋季招聘已经进入尾声,计算机软件行业,作为每年校园招聘的重头戏,都会受到极大的关注。虽然阿里巴巴裁员、百度暂停校招的消息此起彼伏,但依旧无法阻止一大波鲜肉孤注一掷得注入互联网行业。同学们开始关注各大公司的官网,开始一遍遍得修改自己的简历,开始上网搜索今年的面试经验,开始刷旧的笔试题目…… 
 
找工作的状态总的来说就是迷茫!迷茫!迷茫!实习中的状态总的来说就是心累!心累!心累! 
 
摘客作为贴心的公众号,为正在心累的工作瓶颈的同事们和还在迷茫和学校社会衔接处的同学们答疑解惑。 
 
主讲人李海峰的经历就是一个典型的IT人经历:从信息管理学院毕业,进入软件行业工作,从技术到管理层,又从管理层做精准技术,其中不断提升自己的英语水平,金融知识水平,自学机器学习。 
 
李海峰在自己的见解上介绍了计算机行业最基本的工作:开发/测试/PM的具体工作,也介绍了时下最容易入门,最热门的计算机语言。 
 
对于同学们的提问,李海峰都进行一一解答。作为一个成功的技术人和管理者,李海峰最大的收获就是要在每一次的转型中努力寻找到自己所喜欢做的事情,学习的过程也是以点成线,以线成面。 
 
最后借用王国维《人间词话》的内容来总结海峰分享给大家的学习之道: 
“古今之成大事业、大学问者,必经过三种之境界: 
‘昨夜西风凋碧树。独上高楼,望尽天涯路。’此第一境也。 
‘衣带渐宽终不悔,为伊消得人憔悴。’此第二境也。 
‘众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。’此第三境也。” 
 
 以下为李海峰演讲实录: 
 
大家晚上好,我是来自浙江网新恒天软件有限公司大数据项目组的技术负责人李海峰,今天由我给大家分享一个IT人的职业生涯规划。 我从信息管理学院毕业,进入软件行业工作,从技术到管理层,又从管理层做精准技术,其中不断提升自己的英语水平,金融知识水平,自学机器学习。在过程中我就是在不断得寻找自己喜欢的东西,并且坚持做下去。 
 
接下来我来讲讲一个软件公司最多的职业,开发。对开发的要求,不外乎下面几个:具有完整设计一个中型项目的能力;深入理解其所使用工具的原理,熟练使用各种标准类库或第三方类库;独立完成多个项目或多个Release的核心模块;代码质量优异,Debug能力强;系统设计和开发中具备很强的创新能力;具有带领团队进行技术攻关的能力。在刚刚进入公司的时候,我建议大家至少要熟练掌握一种语言,多学习。正常的情况下,用3年的时间就可以把自己锻炼成一个高级软件工程师。 
 
然后是相对较多的一个职业,测试。对测试的要求是这样的:具有一定的测试规划和管理能力;深入理解软件测试过程,具有制定和改进软件测试过程的能力;具有较强的代码、文档审查能力;深入理解各种软件测试工具,并能熟练应用;对软件度量有一定的理解,具有较强的软件测试分析和设计能力;具有带领团队进行相关测试工作的能力。所以测试需要有一定的文档的编辑能力,同时需要具有比较好的交流能力,因为需要和客户方进行软件功能上的交流。 
 
大家应该都很关心什么时候可以做一个program manager,但做PM的要求不仅像做一个开发工程师,首先需要可以搞定客户,对需求进行分析,制定实现方案,对项目的预期管理,从接触到合同到上线都要全程把关;同时要管理团队,包括对一个团队的组建,调节团队氛围,在成员出现矛盾时做一个救火队长。作为一个PM必须要做到的是先做人,再做事! 
 
 接下来给大家分享一下现在比较热门的语言:
 | Java 仍然是主流,应用越来广泛,非常适合作为基础语言学习。强烈推荐大家学习
 | Python 胶水语言,各个语言的粘合剂。在大数据时代也是数据分析基础语言,如对数据分析挖掘感兴趣,推荐学习。 
 | PHP 网站快速开发的不二选择,在互联网+创业的高潮,PHP人才的薪水是涨幅最快的。
 | JS 前端语言,HTML5未来有更广阔的应用空间,对前端有兴趣的尽量学好。 
 | OC 只能应用在苹果平台,比较局限,建议慎重选择。 
 | Scalla 函数式编程的代表语言,spark上的主流开发语言。不过只能打辅助,不能当Carry,可以做为学好Java后的一个补充。
 | Shell 脚本语言,是Linux平台开发必备技能。大牛都要掌握一两门脚本语言的哦~ 
 
总结来说,我觉得大家都不需要太着急,不要纠结于,我到底应该学些什么,我什么时候才能变成一个牛人。以前我每天爬山背单词,也不知道自己的英语究竟在什么水平了,但有一天碰到一个老外,才知道自己的英语原来已经这么溜了!所以其实,当你在实践中,逐渐得学习了很多东西,当你回过头来看的时候,就会发现自己已经站在很高的地方了!  
最后借用人生的三个境界来分享我的学习心境: 
最开始是迷茫的:昨夜西风凋碧树。独上高楼,望尽天涯路。 然后找到了自己喜欢的东西:衣带渐宽终不悔,为伊消得人憔悴。 接着就可以找到一些喜悦:众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。 
 
 谢谢! 
 
 下面是一些问答实录:
 
 1、对于非IT专业的在IT界发展有啥建议吗?
 
 首先找准职业方向,可能会走很多弯路,再找方向的阶段多听专业人的意见,找到适合自己的 ,然后沉下来学习即可。最重要的是好好提高编码能力,要从基础开始,从java基本语法开始,扎实基本功,IT是最不问出生的行业,无论是什么专业,只要有技术都能找到好工作。
 
 2、30岁后程序员转哪些职业? 
找到自己奋斗的方向,就不会觉得累也不会没有目标。找目标的过程很重要!我找到的就是大数据方向,对我来说为伊消得人憔悴,我不会转型,会朝这个方向一直努力。 
 
3、大数据应该学哪些东西?是不是对算法要求比较高? 
 
首先,优酷上找一些视频,如R语言的视频教程;然后学习公开课;《数据挖掘概念与技术》等机器学习方面的书;读机器学习方面的博客,一篇好的博客可以写一个算法。主要是借助网络来学习。《数学之美》把数学讲的很通俗,机器学习必看。 
 
 4、Java的基本功能书有推荐吗? 
《thinking in Java》。 JDK源代码,tomcat源代码,还是要多看源代码,面试的时候很有用。
 
 5、如何管理你的知识? 
技多不压身,不需要管理。 
 
6、追求技术的同时,怎么看待薪水和现实之间的矛盾?
 薪水和现实之间是没有矛盾的,前几年不要对薪水有太高的期望,够生活,够自己花就好了,三年后你奋斗成高级工程师后再想着攒钱买房这些事情,所以我认为只要好好学技术就好,不会有太大的矛盾。 查看全部
今年的校园秋季招聘已经进入尾声,计算机软件行业,作为每年校园招聘的重头戏,都会受到极大的关注。虽然阿里巴巴裁员、百度暂停校招的消息此起彼伏,但依旧无法阻止一大波鲜肉孤注一掷得注入互联网行业。同学们开始关注各大公司的官网,开始一遍遍得修改自己的简历,开始上网搜索今年的面试经验,开始刷旧的笔试题目…… 
 
找工作的状态总的来说就是迷茫!迷茫!迷茫!实习中的状态总的来说就是心累!心累!心累! 
 
摘客作为贴心的公众号,为正在心累的工作瓶颈的同事们和还在迷茫和学校社会衔接处的同学们答疑解惑。 
 
主讲人李海峰的经历就是一个典型的IT人经历:从信息管理学院毕业,进入软件行业工作,从技术到管理层,又从管理层做精准技术,其中不断提升自己的英语水平,金融知识水平,自学机器学习。 
 
李海峰在自己的见解上介绍了计算机行业最基本的工作:开发/测试/PM的具体工作,也介绍了时下最容易入门,最热门的计算机语言。 
 
对于同学们的提问,李海峰都进行一一解答。作为一个成功的技术人和管理者,李海峰最大的收获就是要在每一次的转型中努力寻找到自己所喜欢做的事情,学习的过程也是以点成线,以线成面。 
 
最后借用王国维《人间词话》的内容来总结海峰分享给大家的学习之道: 
“古今之成大事业、大学问者,必经过三种之境界: 
‘昨夜西风凋碧树。独上高楼,望尽天涯路。’此第一境也。 
‘衣带渐宽终不悔,为伊消得人憔悴。’此第二境也。 
‘众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。’此第三境也。” 
 
 以下为李海峰演讲实录: 
 
大家晚上好,我是来自浙江网新恒天软件有限公司大数据项目组的技术负责人李海峰,今天由我给大家分享一个IT人的职业生涯规划。 我从信息管理学院毕业,进入软件行业工作,从技术到管理层,又从管理层做精准技术,其中不断提升自己的英语水平,金融知识水平,自学机器学习。在过程中我就是在不断得寻找自己喜欢的东西,并且坚持做下去。 
 
接下来我来讲讲一个软件公司最多的职业,开发。对开发的要求,不外乎下面几个:具有完整设计一个中型项目的能力;深入理解其所使用工具的原理,熟练使用各种标准类库或第三方类库;独立完成多个项目或多个Release的核心模块;代码质量优异,Debug能力强;系统设计和开发中具备很强的创新能力;具有带领团队进行技术攻关的能力。在刚刚进入公司的时候,我建议大家至少要熟练掌握一种语言,多学习。正常的情况下,用3年的时间就可以把自己锻炼成一个高级软件工程师。 
 
然后是相对较多的一个职业,测试。对测试的要求是这样的:具有一定的测试规划和管理能力;深入理解软件测试过程,具有制定和改进软件测试过程的能力;具有较强的代码、文档审查能力;深入理解各种软件测试工具,并能熟练应用;对软件度量有一定的理解,具有较强的软件测试分析和设计能力;具有带领团队进行相关测试工作的能力。所以测试需要有一定的文档的编辑能力,同时需要具有比较好的交流能力,因为需要和客户方进行软件功能上的交流。 
 
大家应该都很关心什么时候可以做一个program manager,但做PM的要求不仅像做一个开发工程师,首先需要可以搞定客户,对需求进行分析,制定实现方案,对项目的预期管理,从接触到合同到上线都要全程把关;同时要管理团队,包括对一个团队的组建,调节团队氛围,在成员出现矛盾时做一个救火队长。作为一个PM必须要做到的是先做人,再做事! 
 
 接下来给大家分享一下现在比较热门的语言:
 | Java 仍然是主流,应用越来广泛,非常适合作为基础语言学习。强烈推荐大家学习
 | Python 胶水语言,各个语言的粘合剂。在大数据时代也是数据分析基础语言,如对数据分析挖掘感兴趣,推荐学习。 
 | PHP 网站快速开发的不二选择,在互联网+创业的高潮,PHP人才的薪水是涨幅最快的。
 | JS 前端语言,HTML5未来有更广阔的应用空间,对前端有兴趣的尽量学好。 
 | OC 只能应用在苹果平台,比较局限,建议慎重选择。 
 | Scalla 函数式编程的代表语言,spark上的主流开发语言。不过只能打辅助,不能当Carry,可以做为学好Java后的一个补充。
 | Shell 脚本语言,是Linux平台开发必备技能。大牛都要掌握一两门脚本语言的哦~ 
 
总结来说,我觉得大家都不需要太着急,不要纠结于,我到底应该学些什么,我什么时候才能变成一个牛人。以前我每天爬山背单词,也不知道自己的英语究竟在什么水平了,但有一天碰到一个老外,才知道自己的英语原来已经这么溜了!所以其实,当你在实践中,逐渐得学习了很多东西,当你回过头来看的时候,就会发现自己已经站在很高的地方了!  
最后借用人生的三个境界来分享我的学习心境: 
最开始是迷茫的:昨夜西风凋碧树。独上高楼,望尽天涯路。 然后找到了自己喜欢的东西:衣带渐宽终不悔,为伊消得人憔悴。 接着就可以找到一些喜悦:众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。 
 
 谢谢! 
 
 下面是一些问答实录:
 
 1、对于非IT专业的在IT界发展有啥建议吗?
 
 首先找准职业方向,可能会走很多弯路,再找方向的阶段多听专业人的意见,找到适合自己的 ,然后沉下来学习即可。最重要的是好好提高编码能力,要从基础开始,从java基本语法开始,扎实基本功,IT是最不问出生的行业,无论是什么专业,只要有技术都能找到好工作。
 
 2、30岁后程序员转哪些职业? 
找到自己奋斗的方向,就不会觉得累也不会没有目标。找目标的过程很重要!我找到的就是大数据方向,对我来说为伊消得人憔悴,我不会转型,会朝这个方向一直努力。 
 
3、大数据应该学哪些东西?是不是对算法要求比较高? 
 
首先,优酷上找一些视频,如R语言的视频教程;然后学习公开课;《数据挖掘概念与技术》等机器学习方面的书;读机器学习方面的博客,一篇好的博客可以写一个算法。主要是借助网络来学习。《数学之美》把数学讲的很通俗,机器学习必看。 
 
 4、Java的基本功能书有推荐吗? 
《thinking in Java》。 JDK源代码,tomcat源代码,还是要多看源代码,面试的时候很有用。
 
 5、如何管理你的知识? 
技多不压身,不需要管理。 
 
6、追求技术的同时,怎么看待薪水和现实之间的矛盾?
 薪水和现实之间是没有矛盾的,前几年不要对薪水有太高的期望,够生活,够自己花就好了,三年后你奋斗成高级工程师后再想着攒钱买房这些事情,所以我认为只要好好学技术就好,不会有太大的矛盾。
0
评论

小众公众号的简单运营 运营 互联网

evelyn酱 发表了文章 • 1136 次浏览 • 2015-12-14 11:35 • 来自相关话题

我们从4月初开始运营一个新的公众号。目前一直在持续运营中,粉丝数量和粉丝关注度也保持稳步上升,每天分享的文章也有很多的好评,得到转发。同时也收到过很多的吐槽,但我们一直很关注粉丝的反馈和吐槽,毕竟这才能让我们做的更好。

但是公众号运营的痛点太多了。粉丝增长不够快,用户粘性不够大,文章阅读数量不够多,传播力度不够广。对于一个公众号来说,不论粉丝多还是少,热情还是不热情,都需要运营人员精心的照料。今天我不说怎么推广这个公众号,只从自己经营这个公众号以来得到的一点经验来分项怎么做一个公众号。
 
公众号建设首先公众号要有一个自己的形态,现在分订阅号、服务号、企业号三种,最常见的,也是我正在做的就是订阅号,我的号也是提供了公众号最基础的服务,信息推送。
1.不可忽视的自动回复内容:
自动回复有下面几种情况:被添加的内容、自动回复内容、特定关键词回复内容

被添加的自动回复是一个用户对你的公众号的第一次接触,如果写的过长或者过短都会影响用户对公众号的认知。如果是“你好,欢迎关注***”,那么用户只会觉得,你没有用心在经营这个号,如果长篇大论得说你的产品特色,也容易让人厌倦。所以建议是,先打招呼,再简单一句话介绍公众号的功能。

自动回复,根据微信公众号的规则,在1小时内自动回复只会被出发一次,所以这块建议就是写上,已收到,会尽快回复之类的字眼就可以。

关键词自动回复,这块就比较灵活。我的公众号在做信息查询的时候会常用到这个。一般也不需要设置关键词回复。特别的可以提示的是,比方说有活动这类的内容,那么关键词可以设置一个“活动”,方便用户找到想要的信息。

2.让信息更有条理的菜单栏设置
 
很多小微公众号会忽视菜单栏的设置,但是其实菜单栏是必不可少的。公众号的特点是每天只能建立一条群发,这就容易导致,万一添加的用户是在你群发之后,或者今天用户不巧没有收到你的信息(这个情况还是很少见),那就会造成进入后,没有直接沟通交流的机会,很尴尬,所以如果你的公众号设置一个简单的菜单,让新用户,或者是想了解更多的用户有查看的平台。






每日推送内容每日推送也是公众号最重要的内容。我们的公众号是做IT资讯推荐的,所以,我们每天有基本的模式。

如果文章分2、1,其中2为引流文章,让用户看了愿意分享的,1为增强用户知识体系,看了愿意不停关注来提升自己的能力。选文章的前提是精和新。
每天的基本模式:精选2+技术干货1+大数据1+互联网金融1+o2o1+电商1+产品经理1

其实在固定模式下推送新闻,不用多久就能发现用户比较关注的焦点。而且推送内容的走向也和时间有一定联系。由一周的统计可以看出秋季招聘期间面试经验、干货内容是比较受关注的,双十一期间电商和创业的关注度也比较高。
169  【面试经验】腾讯、百度、网易游戏、华为Offer及笔经面经
151  【技术干货】Google开源最新机器学习系统TensorFlow
146  【面试经验】产品经理面经:3个产品Offer是如何拿到的
153  【面试经验】零产品经验斩获校招产品Offer经历
146  【面试经验】给Android程序员的一些面试建议
190  【技术干货】分类算法总结
153  【创业】2015年的互联网创业趋势可能不是你想象的那么回事
147  【电商】双11这天,90%程序员都在干什么
143  【产品】别老想着脱单,今年流行“性冷淡”产品
145  【创业】曾穷到被女友抛弃的他投奔马云后身价102亿
177  【创业】那家将融10亿美元的AR公司Magic Leap到底有多拽
162  【社会】人与人之间变得更冷漠,和手机一毛关系都没有
以上是根据一周的统计内容得到最关注的焦点内容编辑标题:无所谓标题党,但标题请简洁。太长的标题,在碎片化信息时代,容易令人厌倦。
摘要:你可能会觉得摘要没有用,编辑内容的时候我们总是会忽视摘要的部分,而在转发的时候摘要是必须会出现的,这时候如果摘要不编辑好,内容就会很乱,也影响转发的效果。转发的时候也别空转发,稍微写点内容,自己的看法,会更吸引其他用户的注意。






     摘要写好了:





     摘要没写好:





文字:分段,分段,分段!文字必须分段,不分段的手机效果就是挤在一起,令人不想看。字号的大小,新闻类的文章建议16px,这样看起来最舒服;文艺小清新类的文章建议14px,文艺范儿的小一点反而轻巧。
图片:文章最好能够图文并茂,图片居中看起来会舒服很多。
段落:用编辑器加一些看起来更简洁的小图标,对整篇文章的帮助是很大的。







找对人群公众号相当于一个产品,所以找准定位对于找对一群适合的人群很重要。对的人群指的应该不是一次突然骤增的人数,而是长期用户的保留。





     我们找准定位为正在找工作的大学生之后在做推广,效果就出现了非常显著的高峰。
最重要的小事推送时间:
推送时间真的非常重要,甚至是一篇相同的文章,不同的时间推送,阅读量和转发量也会大不相同。之前一直在探索最佳的推送时间,得到一个基本觉得很靠谱的结论。
最忌:中午推送
一般:早晨
最佳:晚上8点-9点之间 查看全部
我们从4月初开始运营一个新的公众号。目前一直在持续运营中,粉丝数量和粉丝关注度也保持稳步上升,每天分享的文章也有很多的好评,得到转发。同时也收到过很多的吐槽,但我们一直很关注粉丝的反馈和吐槽,毕竟这才能让我们做的更好。

但是公众号运营的痛点太多了。粉丝增长不够快,用户粘性不够大,文章阅读数量不够多,传播力度不够广。对于一个公众号来说,不论粉丝多还是少,热情还是不热情,都需要运营人员精心的照料。今天我不说怎么推广这个公众号,只从自己经营这个公众号以来得到的一点经验来分项怎么做一个公众号。
 
  • 公众号建设
  • 首先公众号要有一个自己的形态,现在分订阅号、服务号、企业号三种,最常见的,也是我正在做的就是订阅号,我的号也是提供了公众号最基础的服务,信息推送。

  • 1.不可忽视的自动回复内容:

  • 自动回复有下面几种情况:被添加的内容、自动回复内容、特定关键词回复内容


    • 被添加的自动回复是一个用户对你的公众号的第一次接触,如果写的过长或者过短都会影响用户对公众号的认知。如果是“你好,欢迎关注***”,那么用户只会觉得,你没有用心在经营这个号,如果长篇大论得说你的产品特色,也容易让人厌倦。所以建议是,先打招呼,再简单一句话介绍公众号的功能。


      • 自动回复,根据微信公众号的规则,在1小时内自动回复只会被出发一次,所以这块建议就是写上,已收到,会尽快回复之类的字眼就可以。


        • 关键词自动回复,这块就比较灵活。我的公众号在做信息查询的时候会常用到这个。一般也不需要设置关键词回复。特别的可以提示的是,比方说有活动这类的内容,那么关键词可以设置一个“活动”,方便用户找到想要的信息。


          • 2.让信息更有条理的菜单栏设置

           
          • 很多小微公众号会忽视菜单栏的设置,但是其实菜单栏是必不可少的。公众号的特点是每天只能建立一条群发,这就容易导致,万一添加的用户是在你群发之后,或者今天用户不巧没有收到你的信息(这个情况还是很少见),那就会造成进入后,没有直接沟通交流的机会,很尴尬,所以如果你的公众号设置一个简单的菜单,让新用户,或者是想了解更多的用户有查看的平台。



            菜单栏的作用.png

            • 每日推送内容
            • 每日推送也是公众号最重要的内容。我们的公众号是做IT资讯推荐的,所以,我们每天有基本的模式。


              • 如果文章分2、1,其中2为引流文章,让用户看了愿意分享的,1为增强用户知识体系,看了愿意不停关注来提升自己的能力。选文章的前提是精和新。

              • 每天的基本模式:精选2+技术干货1+大数据1+互联网金融1+o2o1+电商1+产品经理1


                • 其实在固定模式下推送新闻,不用多久就能发现用户比较关注的焦点。而且推送内容的走向也和时间有一定联系。由一周的统计可以看出秋季招聘期间面试经验、干货内容是比较受关注的,双十一期间电商和创业的关注度也比较高。

                • 169  【面试经验】腾讯、百度、网易游戏、华为Offer及笔经面经

                • 151  【技术干货】Google开源最新机器学习系统TensorFlow

                • 146  【面试经验】产品经理面经:3个产品Offer是如何拿到的

                • 153  【面试经验】零产品经验斩获校招产品Offer经历

                • 146  【面试经验】给Android程序员的一些面试建议

                • 190  【技术干货】分类算法总结

                • 153  【创业】2015年的互联网创业趋势可能不是你想象的那么回事

                • 147  【电商】双11这天,90%程序员都在干什么

                • 143  【产品】别老想着脱单,今年流行“性冷淡”产品

                • 145  【创业】曾穷到被女友抛弃的他投奔马云后身价102亿

                • 177  【创业】那家将融10亿美元的AR公司Magic Leap到底有多拽

                • 162  【社会】人与人之间变得更冷漠,和手机一毛关系都没有

                • 以上是根据一周的统计内容得到最关注的焦点
                • 内容编辑
                • 标题:无所谓标题党,但标题请简洁。太长的标题,在碎片化信息时代,容易令人厌倦。

                • 摘要:你可能会觉得摘要没有用,编辑内容的时候我们总是会忽视摘要的部分,而在转发的时候摘要是必须会出现的,这时候如果摘要不编辑好,内容就会很乱,也影响转发的效果。转发的时候也别空转发,稍微写点内容,自己的看法,会更吸引其他用户的注意。



                  让转发更好看.png

                       摘要写好了:

                  摘要写好了.png

                       摘要没写好:

                  摘要没写好.png

                  • 文字:分段,分段,分段!文字必须分段,不分段的手机效果就是挤在一起,令人不想看。字号的大小,新闻类的文章建议16px,这样看起来最舒服;文艺小清新类的文章建议14px,文艺范儿的小一点反而轻巧。

                  • 图片:文章最好能够图文并茂,图片居中看起来会舒服很多。

                  • 段落:用编辑器加一些看起来更简洁的小图标,对整篇文章的帮助是很大的。



                    分段小图标.png


                      • 找对人群
                      • 公众号相当于一个产品,所以找准定位对于找对一群适合的人群很重要。对的人群指的应该不是一次突然骤增的人数,而是长期用户的保留。


                      做一次校园IT推广的强度.png

                           我们找准定位为正在找工作的大学生之后在做推广,效果就出现了非常显著的高峰。
                      • 最重要的小事
                      • 推送时间:

                      • 推送时间真的非常重要,甚至是一篇相同的文章,不同的时间推送,阅读量和转发量也会大不相同。之前一直在探索最佳的推送时间,得到一个基本觉得很靠谱的结论。

                      • 最忌:中午推送

                      • 一般:早晨

                      • 最佳:晚上8点-9点之间

                      0
                      评论

                      互联网时代的用户阅读习惯是什么样的 互联网

                      evelyn酱 发表了文章 • 918 次浏览 • 2015-12-10 13:22 • 来自相关话题

                       

                      大图.jpg

                       
                      0
                      评论

                      盘点:被互联网女皇报告点名,美国14家潜在“独角兽”SaaS公司 互联网

                      oscar 发表了文章 • 1373 次浏览 • 2015-07-06 14:30 • 来自相关话题

                       这个slide是从女皇报告中节选出来的,互联网对消费者群体带来了颠覆式的影响,这种影响也诞生了伟大的新时代的互联网公司,Airbnb,uber,instantcart就是其中在住行吃方面的典范。而这种颠覆的影响将迅速扩展到企业端,于是企业SaaS服务拥有巨大的机会。






                      而在美国,这些企业服务公司已获得极大的关注:

                      1、Slack:成立1年多估值28亿美元当人们谈论Slack时,经常会说它特别“有趣”。使用Slack不像是在工作,而是在“放松”,但是在这个过程中却能通过Slack把该做工作切实有效地完成。有3个方面的因素是Slack脱颖而出的关键:用户界面与众不同;使用感受与众不同;交流方式与众不同。






                       2、Square:移动支付鼻祖,估值60亿美元Twitter之父Jack Dorsey的创办的Square,移动支付公司日交易额已达1亿美元,深入到中小企业、个体零售商和移动商贩里去,并不断拓展到各种O2O的订单支付环节。





                        3、Stripe:在线支付挑战者,估值50亿美元由20多岁的两兄弟Patrick Collison和John Collison创办的Stripe为公司提供网上支付的解决方案。在这两位分别从麻省理工和哈佛辍学创业的兄弟看来,PayPal的电子支付流程是在是太繁琐太复杂了,他们的目标是要把在线接收付款服务变成像添加 YouTube 视频一般简单。






                        4、Domo:低调的商业智能软件公司,估值20亿美DOMO是一个真正的业务管理平台,可以将许多不同来源的数据以真正实时、直观的方式呈现出来。而Domo的创始人乔希•詹姆斯(Josh James)早在1996年就创办了Omniture公司,SaaS这个商业模式的鼻祖,也是Analytics这个领域的开创者和领导者。2009年,Adobe以18亿美元的价格收购了Omniture,后者改名叫做Adobe Analytics。2010年乔希•詹姆斯(Josh James)离开Adobe,从Benchmark Capital拿到了3000万美元的第一轮融资并创建了DOMO。






                        5、DocuSign:小签名大市场,数字签名公司估值30亿美元DocuSign是一家提供电子签名服务的初创企业,成立于2003年,总部位于旧金山,在全球有10个分支机构,共有1300名员工。通过DocunSign的服务,用户只需通过智能手机或平板电脑即可完成手写签名,免除了用户要通过传真或邮件签名的麻烦;同时DocuSign还通过数字签名等方式验证用户的真伪,从而帮助企业用户安全地在网上获取具有法律效力的电子签名。目前全球188个国家有超过10万家公司以及5000万个人都在使用DocuSign的电子签名服务。






                        6、Intercom:应用内的客户沟通工具,估值4亿美元Intercom是一款面向企业用户的客户沟通上SaaS工具,可以让企业与用户的沟通轻易在应用和网站内实现,强大的后台管理系统能够实时监控客户反馈,指派任务并统计客户的订单转换率,而相对于传统的电子邮件营销产品,应用内消息能带来更好的用户参与度(基于回复率)。






                        7、Gainsight:帮你留住客户,估值6亿美元Gainsight公司整合了第三方应用,他们评估销售数据,使用日志,支持投票,调研报告,以及其他客户智能资源。通过收集和分析这些数据,让企业减少客户流失率。当客户出现离开风险的时候,Gainsight的系统会发出早期预警,企业因此可以采取行动,挽留客户,另外还可以提供一些工具,识别出那些对企业产品评价较高的客户,这样可以为企业带来提升销售量的机会。






                        8、Directly:众包客户服务中心,估值1亿美元Directly以帮助创业公司将客户服务外包给其他人。Directly 希望帮助客户通过提问与回答的方式向用户提供更好的体验,而注册这家网站的一干“专家”则希望能够因此获得报酬。Directly 用户在网站上发布问题后,系统将自动分析问题,并匹配可能解答这些问题的专家,然后通过短信提醒他们。然后专家们便可以通过 Directly 网页端或者 Android 应用进行解答。大多数问题会在数小时内得到妥善解决,一旦对答案感到满意,提问者便可以关注回答者。






                        9、Zenefits:疯狂的HR管理工具,2年估值45亿美元Zenefits 为中小企业提供免费的一站式云 HR 管理工具,简单地说,就是让 HR 杂活更简单便捷,包括员工的入职和离职手续办理,工资和福利发放,保险和退休基金办理,缴税缴费,专利追踪等等。和 Uber 一样, Zenefits 在推广过程中也受到了部分地方政府的管制。在美国犹他州, Zenefits 一度被判定为非法,罪名是不正当返利和诱导用户。罪名的由头是, Zenefits 免费提供保险办理的入口,如果用户通过 Zenefits 办理保险,保险公司需要支付给 Zenefits 5%的佣金。这样一来,绕过了保险经销商。






                       10、Anaplan:帮助企业业务建模,估值5亿美元Anaplan是一家基于云的企业销售、运营及财务建模与规划公司。其解决方案可以收集企业客户的销售、运营及财务数据,然后运用复杂的模型对企业的绩效、开支等情况进行深入分析,为决策提供支持。






                        11、Greenhouse:企业一体化招聘流程,估值3亿美元Greenhouse 是一家招聘领域的SaaS软件服务商,为企业提供招聘管理、求职信管理、面试、人才招聘广告评估等服务,提供求职者比较、推荐等服务。Uber、Pinterest、airbnb Snapchat、和Buzzfeed都是Greenhouse的客户。






                        12、Checkr:高效的自动化背景调查平台,估值0.5亿美元Checkr 使用相同的数据源,提供包括社会安全号码、历史地址、性犯罪检索、恐怖分子监控名单、国家犯罪记录、驾驶记录等方面的背景调查。但与传统调查报告不同的是,Checkr 提供了一个客户只需输入名字就能得到数据反馈的 API,简化了调查报告的手工操作过程,使得背景调查更加自动化,从而更容易链接到公司现行的入职流程之中。





                       
                       13、Guidespark:数字化员工培训资料,估值2亿美元创立于 2008 年,为人力资源管理人员提供沟通和培训解决方案,将纸质文件变成电子文件,并将这些资料移动化。这样能够减少人力资源支持的时间,提升人力资源的效率。





                       
                       14、Envoy:智能访客管理系统,估值2亿美元智能访客管理系统 Envoy 专门为科技范儿的互联网公司量身打造,简它将整个访客管理流程电子化,提供从登记信息到通知负责人再到访客管理的一条龙服务,大大提升了前台效率。





                       
                      来源:创业投资笔记
                      作者:苏东 查看全部
                       这个slide是从女皇报告中节选出来的,互联网对消费者群体带来了颠覆式的影响,这种影响也诞生了伟大的新时代的互联网公司,Airbnb,uber,instantcart就是其中在住行吃方面的典范。而这种颠覆的影响将迅速扩展到企业端,于是企业SaaS服务拥有巨大的机会。

                      1.jpg


                      而在美国,这些企业服务公司已获得极大的关注:

                      1、Slack:成立1年多估值28亿美元当人们谈论Slack时,经常会说它特别“有趣”。使用Slack不像是在工作,而是在“放松”,但是在这个过程中却能通过Slack把该做工作切实有效地完成。有3个方面的因素是Slack脱颖而出的关键:用户界面与众不同;使用感受与众不同;交流方式与众不同。

                      2[1].jpg


                       2、Square:移动支付鼻祖,估值60亿美元Twitter之父Jack Dorsey的创办的Square,移动支付公司日交易额已达1亿美元,深入到中小企业、个体零售商和移动商贩里去,并不断拓展到各种O2O的订单支付环节。

                      3.jpg

                        3、Stripe:在线支付挑战者,估值50亿美元由20多岁的两兄弟Patrick Collison和John Collison创办的Stripe为公司提供网上支付的解决方案。在这两位分别从麻省理工和哈佛辍学创业的兄弟看来,PayPal的电子支付流程是在是太繁琐太复杂了,他们的目标是要把在线接收付款服务变成像添加 YouTube 视频一般简单。

                      4.jpg


                        4、Domo:低调的商业智能软件公司,估值20亿美DOMO是一个真正的业务管理平台,可以将许多不同来源的数据以真正实时、直观的方式呈现出来。而Domo的创始人乔希•詹姆斯(Josh James)早在1996年就创办了Omniture公司,SaaS这个商业模式的鼻祖,也是Analytics这个领域的开创者和领导者。2009年,Adobe以18亿美元的价格收购了Omniture,后者改名叫做Adobe Analytics。2010年乔希•詹姆斯(Josh James)离开Adobe,从Benchmark Capital拿到了3000万美元的第一轮融资并创建了DOMO。

                      5.jpg


                        5、DocuSign:小签名大市场,数字签名公司估值30亿美元DocuSign是一家提供电子签名服务的初创企业,成立于2003年,总部位于旧金山,在全球有10个分支机构,共有1300名员工。通过DocunSign的服务,用户只需通过智能手机或平板电脑即可完成手写签名,免除了用户要通过传真或邮件签名的麻烦;同时DocuSign还通过数字签名等方式验证用户的真伪,从而帮助企业用户安全地在网上获取具有法律效力的电子签名。目前全球188个国家有超过10万家公司以及5000万个人都在使用DocuSign的电子签名服务。

                      6.jpg


                        6、Intercom:应用内的客户沟通工具,估值4亿美元Intercom是一款面向企业用户的客户沟通上SaaS工具,可以让企业与用户的沟通轻易在应用和网站内实现,强大的后台管理系统能够实时监控客户反馈,指派任务并统计客户的订单转换率,而相对于传统的电子邮件营销产品,应用内消息能带来更好的用户参与度(基于回复率)。

                      conew_7.jpg


                        7、Gainsight:帮你留住客户,估值6亿美元Gainsight公司整合了第三方应用,他们评估销售数据,使用日志,支持投票,调研报告,以及其他客户智能资源。通过收集和分析这些数据,让企业减少客户流失率。当客户出现离开风险的时候,Gainsight的系统会发出早期预警,企业因此可以采取行动,挽留客户,另外还可以提供一些工具,识别出那些对企业产品评价较高的客户,这样可以为企业带来提升销售量的机会。

                      conew_8.jpg


                        8、Directly:众包客户服务中心,估值1亿美元Directly以帮助创业公司将客户服务外包给其他人。Directly 希望帮助客户通过提问与回答的方式向用户提供更好的体验,而注册这家网站的一干“专家”则希望能够因此获得报酬。Directly 用户在网站上发布问题后,系统将自动分析问题,并匹配可能解答这些问题的专家,然后通过短信提醒他们。然后专家们便可以通过 Directly 网页端或者 Android 应用进行解答。大多数问题会在数小时内得到妥善解决,一旦对答案感到满意,提问者便可以关注回答者。

                      conew_9.jpg


                        9、Zenefits:疯狂的HR管理工具,2年估值45亿美元Zenefits 为中小企业提供免费的一站式云 HR 管理工具,简单地说,就是让 HR 杂活更简单便捷,包括员工的入职和离职手续办理,工资和福利发放,保险和退休基金办理,缴税缴费,专利追踪等等。和 Uber 一样, Zenefits 在推广过程中也受到了部分地方政府的管制。在美国犹他州, Zenefits 一度被判定为非法,罪名是不正当返利和诱导用户。罪名的由头是, Zenefits 免费提供保险办理的入口,如果用户通过 Zenefits 办理保险,保险公司需要支付给 Zenefits 5%的佣金。这样一来,绕过了保险经销商。

                      conew_10.jpg


                       10、Anaplan:帮助企业业务建模,估值5亿美元Anaplan是一家基于云的企业销售、运营及财务建模与规划公司。其解决方案可以收集企业客户的销售、运营及财务数据,然后运用复杂的模型对企业的绩效、开支等情况进行深入分析,为决策提供支持。

                      conew_11.jpg


                        11、Greenhouse:企业一体化招聘流程,估值3亿美元Greenhouse 是一家招聘领域的SaaS软件服务商,为企业提供招聘管理、求职信管理、面试、人才招聘广告评估等服务,提供求职者比较、推荐等服务。Uber、Pinterest、airbnb Snapchat、和Buzzfeed都是Greenhouse的客户。

                      conew_12.jpg


                        12、Checkr:高效的自动化背景调查平台,估值0.5亿美元Checkr 使用相同的数据源,提供包括社会安全号码、历史地址、性犯罪检索、恐怖分子监控名单、国家犯罪记录、驾驶记录等方面的背景调查。但与传统调查报告不同的是,Checkr 提供了一个客户只需输入名字就能得到数据反馈的 API,简化了调查报告的手工操作过程,使得背景调查更加自动化,从而更容易链接到公司现行的入职流程之中。

                      conew_13.jpg

                       
                       13、Guidespark:数字化员工培训资料,估值2亿美元创立于 2008 年,为人力资源管理人员提供沟通和培训解决方案,将纸质文件变成电子文件,并将这些资料移动化。这样能够减少人力资源支持的时间,提升人力资源的效率。

                      conew_14.jpg

                       
                       14、Envoy:智能访客管理系统,估值2亿美元智能访客管理系统 Envoy 专门为科技范儿的互联网公司量身打造,简它将整个访客管理流程电子化,提供从登记信息到通知负责人再到访客管理的一条龙服务,大大提升了前台效率。

                      conew_15.jpg

                       
                      来源:创业投资笔记
                      作者:苏东
                      6
                      评论

                      【开源OA项目】基于环信IM开发完整的企业通讯解决方案-Dolores Dolores OA 开源项目

                      KevinGong 发表了文章 • 7445 次浏览 • 2017-06-26 10:53 • 来自相关话题

                        

                        前阵子钉钉在微信楼下刷了一波#创业很苦,坚持很酷#的广告,浓浓的“丧”文化风格文案受到了各界褒贬不一的评价,也引起了大家对OA办公系统的关注。
                         对企业而言,初选OA办公系统是为了满足需求,解决当下问题,由于OA办公系统的在公司运作流程中扮演的重要性,安全与隐私等问题急需未雨绸缪,“可定制”、“可私有化部署”的OA办公系统成为了更多企业的首选。公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做?
                         三个关于OA办公系统的究极问题,从开源的OA办公项目-Dolores(朵拉)诞生迎刃而解了。Dolores项目遵循Apache Licence 2.0 开源协议,可以直接拿来用,也可以修改代码来满足需要并作为开源或商业产品发布/销售。




                      关于Dolores?
                      Dolores是一套完整的企业通信解决方案,一个完整的企业沟通工具(以下简称企业IM),支持以下几个功能:IM消息服务、组织架构管理、工作流集成。
                      Dolores项目源码地址:https://github.com/DoloresTeam​ 
                      技术讨论群:641256202(QQ群)

                      整个解决方案都包括了什么?
                      企业通讯录的管理:部门/员工的增删改查通讯录全量更新:全量/增量更新 企业通讯录权限管理:基于RBAC权限管理模型企业即时通讯IM:企业通信对IM这块的可靠性要求高,选择了目前比较成熟的IM云服务厂商-环信
                       
                       
                      组织架构

                      企业通讯录可以说是企业沟通中最重的业务之一,能够提供员工各种服务的认证,获取员工的联系方式等。
                       
                      组织架构-Server

                      服务端主要包括以下功能:
                      支持管理人员(例如HR)对部门和员工进行增删改查支持部门和员工自定义排序,自定义元信息存储权限管理员工通讯录视图 (员工根据自己的权限生成通讯录)通讯录增量更新 (鉴于移动端特殊的网络环境和设备,通讯录应该支持差量更新)集成 IM 用户系统

                      在这里我们主要讨论以下两个问题:
                       
                      权限管理

                        随着企业逐渐的发展,团队壮大为了更有效的沟通,以及保护公司内部的一些商业信息不被泄漏,我们应该为通讯录添加权限管理。

                      基于Role-based access control(RBAC)的权限管理模型

                      为了介绍此权限管理模型,我们先解释一下基本概念
                      角色:通常是指企业中某一个工作岗位,这个岗位具有特定的权利和职责。被赋予此角色的员工,将获得这种权利与职责权限:被赋予访问实体的权利。在本项目中是指访问部门和访问某一个或者某一类员工的权利用户-角色分配(User-Role Assignment URA):为某个用户指定一个或者多个角色,此员工将获得这些角色所具有权利的集合角色-权限分配(Role-Permission Assignment RPA):将权限分配给角色,一个角色可以包含多个权利。在本项目中是指多个访问部门和访问员工的权限

                      在用户和权限之间引入角色中介,将用户与权限的直接关系弱化为间接关系。|ˉˉˉ| |ˉˉ ˉ| |ˉˉˉˉ ˉˉ|
                      | User |---URA---> | Role |<---RPA---| Permission |
                      |______| |_______| |_____________|
                          以角色为中介,首先创建访问每个部门和员工的访问权限,然后创建不同的角色,根据这些角色的职责不同分配不同的权限,建立角色-权限的关系以后,不同的角色将会有不同的权限。根据员工不同的岗位,将对应的角色分配给他们,建立用户-角色关系,这就是RBAC的主要思想。

                      一个员工可以用户多个角色,一个角色可以用于多个访问权限。RBAC 极大的简化了员工的授权管理。

                         由于企业的部门和员工数量很多,在创建权限时管理员不可能去设置每一个权限可以访问的每一个部门和每一个员工。所以本项目将功能和指责类似的部门和员工看作是同一类型,在创建部门和员工的时候为每一个部门和员工分配固有属性type,管理员在设置权限规则的时候只需要指定可访问的部门类型和员工即可。

                      增量更新

                         鉴于移动终端计算资源有限,如网络,存储,电量等,所以通讯录的更新技术应该保证尽量少的资源。另外由于通讯录的特殊性,通讯录的变化需要能实时通知到受影响的在线员工。

                      基于版本号与变更日志的增量更新模型

                         客户端第一次登陆系统以后,我们根据当前登录角色生成对应的通讯录视图,并以当前时间戳作为版本号,返回给客户端。客户端后续通过此版本号增量更新通讯录。

                      版本号

                         版本号有两种:一是客户端当前通讯录版本 c-version, 二是服务端通讯录每一次变化时的版本号s-version

                      变更日志

                         在管理员修改权限规则,或者修改某个岗位的访问规则时会影响大面积员工的通讯录视图,此时如果用增量更新会导致服务器流量异常,因此在这2中情况会清空原来的变更日志并且要求客户端进行一次全量更新。

                         如果管理员新增了员工,服务端会根据被修改的员工或者部门type, 反推出所有受影响的员工,然后生成一条变更日志, 例如:{
                      "content" : [
                      {
                      "cn" : "Lucy.Liu",
                      "id" : "b4vlfg91scgi1dcju8v0",
                      "title" : "市场运营负责人",
                      "email" : [
                      "lucy.liu@dolores.store"
                      ],
                      "priority" : "101111",
                      "name" : "刘小飞",
                      "telephoneNumber" : "18888888888"
                      }
                      ],
                      "createTimestamp" : "20170614063303Z",
                      "category" : "member",
                      "action" : "add"
                      }
                      客户端在请求增量更新的时候,通过当前登陆ID与版本号,可查找出所有与自己相关的变更日志,然后在客户端数据库中应用这些变更,即可完成同步。

                      组织架构-Client

                         由于现在员工办公设备的多样性,客户端要根据自己公司的情况,覆盖的足够完整,常见的平台有 iOS Android windowsmac linux , 对于后三个平台可以用 Web APP 来覆盖,iOS&Android 用原生的app来提升用户体验。

                      客户端App主要包括以下功能:
                      会话列表优秀的聊天界面,历史记录组织机构全量/增量更新员工个人资料展示

                      客户端数据库设计

                      IM数据库设计
                       
                      当前版本使用环信SDK
                       
                      组织架构数据库设计

                      表设计

                      客户端组织架构较服务端简单,不关联用户Role,客户端本地存储Staff(员工)和Department(部门)信息:
                      一个部门可以包含相关子部门和部门员工。该部门员工和部门在视图上处于同级关系。员工隶属于部门,同一员工可以存在于多个部门。员工角色用title来表示。

                      用户在登录客户端成功后,会根据该用户信息创建用户对应的数据库文件,用户表(User)保存用户相关信息,关联该用户staff信息。

                      客户端组织架构同服务端逻辑。

                      工作流集成

                      (TODO)
                       
                      如何使用Dolores

                      本项目现在已经完成了第一个测试版本,本小节将指导您如何安装使用。

                      后端数据库

                      鉴于通讯录对数据库操作的特点多度少写,以及部门之间的树状关系,我们选择LDAP协议来存取数据。

                      我们有独立的repo来帮助您完成数据库的安装与初始化。请移步这里

                      组织架构管理

                      Dolores 初始版本使用Golang实现,大家既可以下载各个平台的可执行包,也可以安装Go语言的开发环境自己编译。

                      我们有独立的repo来帮助您,运行后端服务。请移步这里

                      客户端

                      我们现在有提供一个iOS版的Demo。请移步这里

                      Done

                      如果您顺利的完成以上三步,访问 http://localhost:3280 (端口号根据自己的配置,可能会有差异),使用 username: admin, password: dolores 登陆后端管理页面,添加权限规则,添加角色,添加员工、部门,然后使用iOS客户端登陆,就可以愉快的开始聊天啦~
                       
                      负载均衡

                      (TODO)

                      多机容灾

                      (TODO)

                      LICENSE Apache License
                      Version 2.0, January 2004
                      http://www.apache.org/licenses/
                      更多信息请前往github项目主页

                       
                      这里我对每个repo做一个简单的介绍


                      Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
                      dolores-ios: iOS版demo,可以聊天查看组织架构
                      dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
                      organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
                      dolores-server: 为客户端提供restfull api 与环信服务器集成
                      dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
                      dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
                      easemob-resty:对环信rest api的封装,让调用环信api更简单
                      dolores-avatar:生成类似钉钉那样的默认头像


                      最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正THE CALM BEFORE THE STORM.
                      暴风雨前的宁静
                      ONE MORE THING 最后附上Dolores项目LOGO
                      当时作者正在二刷 《西部世界》这部剧,所以选择了女主的名字dolores作为整个项目的名字,而这个logo则寓意剧中的host。 查看全部
                        

                        前阵子钉钉在微信楼下刷了一波#创业很苦,坚持很酷#的广告,浓浓的“丧”文化风格文案受到了各界褒贬不一的评价,也引起了大家对OA办公系统的关注。
                         对企业而言,初选OA办公系统是为了满足需求,解决当下问题,由于OA办公系统的在公司运作流程中扮演的重要性,安全与隐私等问题急需未雨绸缪,“可定制”、“可私有化部署”的OA办公系统成为了更多企业的首选。
                      公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做?

                         三个关于OA办公系统的究极问题,从开源的OA办公项目-Dolores(朵拉)诞生迎刃而解了。Dolores项目遵循Apache Licence 2.0 开源协议,可以直接拿来用,也可以修改代码来满足需要并作为开源或商业产品发布/销售。
                      OA广告图.jpg

                      关于Dolores?

                      Dolores是一套完整的企业通信解决方案,一个完整的企业沟通工具(以下简称企业IM),支持以下几个功能:IM消息服务、组织架构管理、工作流集成。


                      Dolores项目源码地址:https://github.com/DoloresTeam​ 
                      技术讨论群:641256202(QQ群)

                      整个解决方案都包括了什么?
                      • 企业通讯录的管理:部门/员工的增删改查
                      • 通讯录全量更新:全量/增量更新 
                      • 企业通讯录权限管理:基于RBAC权限管理模型
                      • 企业即时通讯IM:企业通信对IM这块的可靠性要求高,选择了目前比较成熟的IM云服务厂商-环信

                       
                       
                      组织架构

                      企业通讯录可以说是企业沟通中最重的业务之一,能够提供员工各种服务的认证,获取员工的联系方式等。
                       
                      组织架构-Server

                      服务端主要包括以下功能:
                      1. 支持管理人员(例如HR)对部门和员工进行增删改查
                      2. 支持部门和员工自定义排序,自定义元信息存储
                      3. 权限管理
                      4. 员工通讯录视图 (员工根据自己的权限生成通讯录)
                      5. 通讯录增量更新 (鉴于移动端特殊的网络环境和设备,通讯录应该支持差量更新)
                      6. 集成 IM 用户系统


                      在这里我们主要讨论以下两个问题:
                       
                      权限管理

                        随着企业逐渐的发展,团队壮大为了更有效的沟通,以及保护公司内部的一些商业信息不被泄漏,我们应该为通讯录添加权限管理。

                      基于Role-based access control(RBAC)的权限管理模型

                      为了介绍此权限管理模型,我们先解释一下基本概念
                      • 角色:通常是指企业中某一个工作岗位,这个岗位具有特定的权利和职责。被赋予此角色的员工,将获得这种权利与职责
                      • 权限:被赋予访问实体的权利。在本项目中是指访问部门和访问某一个或者某一类员工的权利
                      • 用户-角色分配(User-Role Assignment URA):为某个用户指定一个或者多个角色,此员工将获得这些角色所具有权利的集合
                      • 角色-权限分配(Role-Permission Assignment RPA):将权限分配给角色,一个角色可以包含多个权利。在本项目中是指多个访问部门和访问员工的权限


                      在用户和权限之间引入角色中介,将用户与权限的直接关系弱化为间接关系。
                      |ˉˉˉ|           |ˉˉ ˉ|          |ˉˉˉˉ ˉˉ|  
                      | User |---URA---> | Role |<---RPA---| Permission |
                      |______| |_______| |_____________|

                          以角色为中介,首先创建访问每个部门和员工的访问权限,然后创建不同的角色,根据这些角色的职责不同分配不同的权限,建立角色-权限的关系以后,不同的角色将会有不同的权限。根据员工不同的岗位,将对应的角色分配给他们,建立用户-角色关系,这就是RBAC的主要思想。

                      一个员工可以用户多个角色,一个角色可以用于多个访问权限。RBAC 极大的简化了员工的授权管理。

                         由于企业的部门和员工数量很多,在创建权限时管理员不可能去设置每一个权限可以访问的每一个部门和每一个员工。所以本项目将功能和指责类似的部门和员工看作是同一类型,在创建部门和员工的时候为每一个部门和员工分配固有属性type,管理员在设置权限规则的时候只需要指定可访问的部门类型和员工即可。

                      增量更新

                         鉴于移动终端计算资源有限,如网络,存储,电量等,所以通讯录的更新技术应该保证尽量少的资源。另外由于通讯录的特殊性,通讯录的变化需要能实时通知到受影响的在线员工。

                      基于版本号与变更日志的增量更新模型

                         客户端第一次登陆系统以后,我们根据当前登录角色生成对应的通讯录视图,并以当前时间戳作为版本号,返回给客户端。客户端后续通过此版本号增量更新通讯录。

                      版本号

                         版本号有两种:一是客户端当前通讯录版本 c-version, 二是服务端通讯录每一次变化时的版本号s-version

                      变更日志

                         在管理员修改权限规则,或者修改某个岗位的访问规则时会影响大面积员工的通讯录视图,此时如果用增量更新会导致服务器流量异常,因此在这2中情况会清空原来的变更日志并且要求客户端进行一次全量更新。

                         如果管理员新增了员工,服务端会根据被修改的员工或者部门type, 反推出所有受影响的员工,然后生成一条变更日志, 例如:
                      {
                      "content" : [
                      {
                      "cn" : "Lucy.Liu",
                      "id" : "b4vlfg91scgi1dcju8v0",
                      "title" : "市场运营负责人",
                      "email" : [
                      "lucy.liu@dolores.store"
                      ],
                      "priority" : "101111",
                      "name" : "刘小飞",
                      "telephoneNumber" : "18888888888"
                      }
                      ],
                      "createTimestamp" : "20170614063303Z",
                      "category" : "member",
                      "action" : "add"
                      }

                      客户端在请求增量更新的时候,通过当前登陆ID与版本号,可查找出所有与自己相关的变更日志,然后在客户端数据库中应用这些变更,即可完成同步。

                      组织架构-Client

                         由于现在员工办公设备的多样性,客户端要根据自己公司的情况,覆盖的足够完整,常见的平台有 iOS Android windowsmac linux , 对于后三个平台可以用 Web APP 来覆盖,iOS&Android 用原生的app来提升用户体验。

                      客户端App主要包括以下功能:
                      1. 会话列表
                      2. 优秀的聊天界面,历史记录
                      3. 组织机构全量/增量更新
                      4. 员工个人资料展示


                      客户端数据库设计

                      IM数据库设计
                       
                      当前版本使用环信SDK
                       
                      组织架构数据库设计

                      表设计

                      客户端组织架构较服务端简单,不关联用户Role,客户端本地存储Staff(员工)和Department(部门)信息:
                      • 一个部门可以包含相关子部门和部门员工。该部门员工和部门在视图上处于同级关系。
                      • 员工隶属于部门,同一员工可以存在于多个部门。
                      • 员工角色用title来表示。


                      用户在登录客户端成功后,会根据该用户信息创建用户对应的数据库文件,用户表(User)保存用户相关信息,关联该用户staff信息。

                      客户端组织架构同服务端逻辑。

                      工作流集成

                      (TODO)
                       
                      如何使用Dolores

                      本项目现在已经完成了第一个测试版本,本小节将指导您如何安装使用。

                      后端数据库

                      鉴于通讯录对数据库操作的特点多度少写,以及部门之间的树状关系,我们选择LDAP协议来存取数据。

                      我们有独立的repo来帮助您完成数据库的安装与初始化。请移步这里

                      组织架构管理

                      Dolores 初始版本使用Golang实现,大家既可以下载各个平台的可执行包,也可以安装Go语言的开发环境自己编译。

                      我们有独立的repo来帮助您,运行后端服务。请移步这里

                      客户端

                      我们现在有提供一个iOS版的Demo。请移步这里

                      Done

                      如果您顺利的完成以上三步,访问 http://localhost:3280 (端口号根据自己的配置,可能会有差异),使用 username: admin, password: dolores 登陆后端管理页面,添加权限规则,添加角色,添加员工、部门,然后使用iOS客户端登陆,就可以愉快的开始聊天啦~
                       
                      负载均衡

                      (TODO)

                      多机容灾

                      (TODO)

                      LICENSE
                       Apache License
                      Version 2.0, January 2004
                      http://www.apache.org/licenses/

                      更多信息请前往github项目主页

                       
                      这里我对每个repo做一个简单的介绍


                      Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
                      dolores-ios: iOS版demo,可以聊天查看组织架构
                      dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
                      organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
                      dolores-server: 为客户端提供restfull api 与环信服务器集成
                      dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
                      dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
                      easemob-resty:对环信rest api的封装,让调用环信api更简单
                      dolores-avatar:生成类似钉钉那样的默认头像


                      最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正
                      THE CALM BEFORE THE STORM.
                      暴风雨前的宁静

                      ONE MORE THING 最后附上Dolores项目LOGO
                      当时作者正在二刷 《西部世界》这部剧,所以选择了女主的名字dolores作为整个项目的名字,而这个logo则寓意剧中的host。
                      687474703a2f2f6f7131696e636b76692e626b742e636c6f7564646e2e636f6d2f646f6c6f726573313032342e706e67.png
                      6
                      评论

                      【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

                      dujiepeng 发表了文章 • 4865 次浏览 • 2017-05-22 15:51 • 来自相关话题

                         这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
                       
                      ios篇
                      APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
                       
                      Android篇
                      环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
                      昵称头像篇
                      android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
                       
                      直播篇
                      一言不合你就搞个直播APP
                       
                      客服集成
                      IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
                       
                      开源项目
                      Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
                       
                      持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
                        查看全部
                         这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
                       
                      ios篇

                       
                      Android篇

                      昵称头像篇

                       
                      直播篇
                      1. 一言不合你就搞个直播APP

                       
                      客服集成
                      1. IM-SDK和客服SDK并存开发指南—Android篇
                      2. IM-SDK和客服SDK并存开发指南—iOS篇

                       
                      开源项目

                       
                      持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
                       
                      7
                      评论

                      【视频教程+源码】基于环信IM做一个仿微信APP-更新ing 郭永峰 高仿微信 仿微信 环信 XMPP

                      郭永峰 发表了文章 • 9707 次浏览 • 2017-05-16 15:29 • 来自相关话题

                      我只是一个普通人,做人要谦虚。
                      我不是大神,我也不是很厉害的。
                      天外有天,人外有人。
                      老师引入门,修行靠个人。
                      希望能帮助大家,谢谢。
                          大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
                       
                      本人现状况:
                        
                         在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

                       
                      郭永峰IT教育工作室于2017年4月12日成立!
                       
                      成立原因:

                      希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
                       

                      进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
                      4月12号成立工作室,现在18号,过了一个星期一个星期录了5天的环信教程视频,我将放在网盘免费分享环信的教程视频主要是针对有开发经验者教程主要是使用环信来模仿微信来做一个即时通讯的案例课程主要是先讲socket基础 -> 环信 ->自定义协议希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解同时能希望大家在面试时,在即时通讯这块不在陌生
                        持续更新

                      第一阶段:即时通讯的了解和微信APP开发前的准备!

                      【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

                      【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
                       
                      【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

                      【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

                      【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

                      【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

                      【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

                      【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

                      【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

                      【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

                      【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
                       
                      【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
                       
                      整个项目源码,git地址https://github.com/mayaole/fWeiXin

                       微信打赏






                      支付宝打赏






                      谢谢大家的支持,个人微信号清扫描下面张图






                       
                      郭永峰IT交流QQ群请加:596441895 查看全部
                      我只是一个普通人,做人要谦虚。
                      我不是大神,我也不是很厉害的。
                      天外有天,人外有人。
                      老师引入门,修行靠个人。
                      希望能帮助大家,谢谢。

                          大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
                       
                      本人现状况:
                        
                         在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

                       
                      郭永峰IT教育工作室于2017年4月12日成立!
                       
                      成立原因:

                      希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
                       

                      进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
                      1. 4月12号成立工作室,现在18号,过了一个星期
                      2. 一个星期录了5天的环信教程视频,我将放在网盘免费分享
                      3. 环信的教程视频主要是针对有开发经验者
                      4. 教程主要是使用环信来模仿微信来做一个即时通讯的案例
                      5. 课程主要是先讲socket基础 -> 环信 ->自定义协议
                      6. 希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解
                      7. 同时能希望大家在面试时,在即时通讯这块不在陌生

                        持续更新

                      第一阶段:即时通讯的了解和微信APP开发前的准备!

                      【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

                      【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
                       
                      【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

                      【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

                      【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

                      【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

                      【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

                      【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

                      【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

                      【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

                      【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
                       
                      【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
                       
                      整个项目源码,git地址https://github.com/mayaole/fWeiXin

                       微信打赏

                      微信.png


                      支付宝打赏

                      支付宝.png


                      谢谢大家的支持,个人微信号清扫描下面张图

                      个人.png


                       
                      郭永峰IT交流QQ群请加:596441895
                      6
                      评论

                      【开源OA项目】基于环信IM开发完整的企业通讯解决方案-Dolores Dolores OA 开源项目

                      KevinGong 发表了文章 • 7445 次浏览 • 2017-06-26 10:53 • 来自相关话题

                        

                        前阵子钉钉在微信楼下刷了一波#创业很苦,坚持很酷#的广告,浓浓的“丧”文化风格文案受到了各界褒贬不一的评价,也引起了大家对OA办公系统的关注。
                         对企业而言,初选OA办公系统是为了满足需求,解决当下问题,由于OA办公系统的在公司运作流程中扮演的重要性,安全与隐私等问题急需未雨绸缪,“可定制”、“可私有化部署”的OA办公系统成为了更多企业的首选。公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做?
                         三个关于OA办公系统的究极问题,从开源的OA办公项目-Dolores(朵拉)诞生迎刃而解了。Dolores项目遵循Apache Licence 2.0 开源协议,可以直接拿来用,也可以修改代码来满足需要并作为开源或商业产品发布/销售。




                      关于Dolores?
                      Dolores是一套完整的企业通信解决方案,一个完整的企业沟通工具(以下简称企业IM),支持以下几个功能:IM消息服务、组织架构管理、工作流集成。
                      Dolores项目源码地址:https://github.com/DoloresTeam​ 
                      技术讨论群:641256202(QQ群)

                      整个解决方案都包括了什么?
                      企业通讯录的管理:部门/员工的增删改查通讯录全量更新:全量/增量更新 企业通讯录权限管理:基于RBAC权限管理模型企业即时通讯IM:企业通信对IM这块的可靠性要求高,选择了目前比较成熟的IM云服务厂商-环信
                       
                       
                      组织架构

                      企业通讯录可以说是企业沟通中最重的业务之一,能够提供员工各种服务的认证,获取员工的联系方式等。
                       
                      组织架构-Server

                      服务端主要包括以下功能:
                      支持管理人员(例如HR)对部门和员工进行增删改查支持部门和员工自定义排序,自定义元信息存储权限管理员工通讯录视图 (员工根据自己的权限生成通讯录)通讯录增量更新 (鉴于移动端特殊的网络环境和设备,通讯录应该支持差量更新)集成 IM 用户系统

                      在这里我们主要讨论以下两个问题:
                       
                      权限管理

                        随着企业逐渐的发展,团队壮大为了更有效的沟通,以及保护公司内部的一些商业信息不被泄漏,我们应该为通讯录添加权限管理。

                      基于Role-based access control(RBAC)的权限管理模型

                      为了介绍此权限管理模型,我们先解释一下基本概念
                      角色:通常是指企业中某一个工作岗位,这个岗位具有特定的权利和职责。被赋予此角色的员工,将获得这种权利与职责权限:被赋予访问实体的权利。在本项目中是指访问部门和访问某一个或者某一类员工的权利用户-角色分配(User-Role Assignment URA):为某个用户指定一个或者多个角色,此员工将获得这些角色所具有权利的集合角色-权限分配(Role-Permission Assignment RPA):将权限分配给角色,一个角色可以包含多个权利。在本项目中是指多个访问部门和访问员工的权限

                      在用户和权限之间引入角色中介,将用户与权限的直接关系弱化为间接关系。|ˉˉˉ| |ˉˉ ˉ| |ˉˉˉˉ ˉˉ|
                      | User |---URA---> | Role |<---RPA---| Permission |
                      |______| |_______| |_____________|
                          以角色为中介,首先创建访问每个部门和员工的访问权限,然后创建不同的角色,根据这些角色的职责不同分配不同的权限,建立角色-权限的关系以后,不同的角色将会有不同的权限。根据员工不同的岗位,将对应的角色分配给他们,建立用户-角色关系,这就是RBAC的主要思想。

                      一个员工可以用户多个角色,一个角色可以用于多个访问权限。RBAC 极大的简化了员工的授权管理。

                         由于企业的部门和员工数量很多,在创建权限时管理员不可能去设置每一个权限可以访问的每一个部门和每一个员工。所以本项目将功能和指责类似的部门和员工看作是同一类型,在创建部门和员工的时候为每一个部门和员工分配固有属性type,管理员在设置权限规则的时候只需要指定可访问的部门类型和员工即可。

                      增量更新

                         鉴于移动终端计算资源有限,如网络,存储,电量等,所以通讯录的更新技术应该保证尽量少的资源。另外由于通讯录的特殊性,通讯录的变化需要能实时通知到受影响的在线员工。

                      基于版本号与变更日志的增量更新模型

                         客户端第一次登陆系统以后,我们根据当前登录角色生成对应的通讯录视图,并以当前时间戳作为版本号,返回给客户端。客户端后续通过此版本号增量更新通讯录。

                      版本号

                         版本号有两种:一是客户端当前通讯录版本 c-version, 二是服务端通讯录每一次变化时的版本号s-version

                      变更日志

                         在管理员修改权限规则,或者修改某个岗位的访问规则时会影响大面积员工的通讯录视图,此时如果用增量更新会导致服务器流量异常,因此在这2中情况会清空原来的变更日志并且要求客户端进行一次全量更新。

                         如果管理员新增了员工,服务端会根据被修改的员工或者部门type, 反推出所有受影响的员工,然后生成一条变更日志, 例如:{
                      "content" : [
                      {
                      "cn" : "Lucy.Liu",
                      "id" : "b4vlfg91scgi1dcju8v0",
                      "title" : "市场运营负责人",
                      "email" : [
                      "lucy.liu@dolores.store"
                      ],
                      "priority" : "101111",
                      "name" : "刘小飞",
                      "telephoneNumber" : "18888888888"
                      }
                      ],
                      "createTimestamp" : "20170614063303Z",
                      "category" : "member",
                      "action" : "add"
                      }
                      客户端在请求增量更新的时候,通过当前登陆ID与版本号,可查找出所有与自己相关的变更日志,然后在客户端数据库中应用这些变更,即可完成同步。

                      组织架构-Client

                         由于现在员工办公设备的多样性,客户端要根据自己公司的情况,覆盖的足够完整,常见的平台有 iOS Android windowsmac linux , 对于后三个平台可以用 Web APP 来覆盖,iOS&Android 用原生的app来提升用户体验。

                      客户端App主要包括以下功能:
                      会话列表优秀的聊天界面,历史记录组织机构全量/增量更新员工个人资料展示

                      客户端数据库设计

                      IM数据库设计
                       
                      当前版本使用环信SDK
                       
                      组织架构数据库设计

                      表设计

                      客户端组织架构较服务端简单,不关联用户Role,客户端本地存储Staff(员工)和Department(部门)信息:
                      一个部门可以包含相关子部门和部门员工。该部门员工和部门在视图上处于同级关系。员工隶属于部门,同一员工可以存在于多个部门。员工角色用title来表示。

                      用户在登录客户端成功后,会根据该用户信息创建用户对应的数据库文件,用户表(User)保存用户相关信息,关联该用户staff信息。

                      客户端组织架构同服务端逻辑。

                      工作流集成

                      (TODO)
                       
                      如何使用Dolores

                      本项目现在已经完成了第一个测试版本,本小节将指导您如何安装使用。

                      后端数据库

                      鉴于通讯录对数据库操作的特点多度少写,以及部门之间的树状关系,我们选择LDAP协议来存取数据。

                      我们有独立的repo来帮助您完成数据库的安装与初始化。请移步这里

                      组织架构管理

                      Dolores 初始版本使用Golang实现,大家既可以下载各个平台的可执行包,也可以安装Go语言的开发环境自己编译。

                      我们有独立的repo来帮助您,运行后端服务。请移步这里

                      客户端

                      我们现在有提供一个iOS版的Demo。请移步这里

                      Done

                      如果您顺利的完成以上三步,访问 http://localhost:3280 (端口号根据自己的配置,可能会有差异),使用 username: admin, password: dolores 登陆后端管理页面,添加权限规则,添加角色,添加员工、部门,然后使用iOS客户端登陆,就可以愉快的开始聊天啦~
                       
                      负载均衡

                      (TODO)

                      多机容灾

                      (TODO)

                      LICENSE Apache License
                      Version 2.0, January 2004
                      http://www.apache.org/licenses/
                      更多信息请前往github项目主页

                       
                      这里我对每个repo做一个简单的介绍


                      Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
                      dolores-ios: iOS版demo,可以聊天查看组织架构
                      dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
                      organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
                      dolores-server: 为客户端提供restfull api 与环信服务器集成
                      dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
                      dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
                      easemob-resty:对环信rest api的封装,让调用环信api更简单
                      dolores-avatar:生成类似钉钉那样的默认头像


                      最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正THE CALM BEFORE THE STORM.
                      暴风雨前的宁静
                      ONE MORE THING 最后附上Dolores项目LOGO
                      当时作者正在二刷 《西部世界》这部剧,所以选择了女主的名字dolores作为整个项目的名字,而这个logo则寓意剧中的host。 查看全部
                        

                        前阵子钉钉在微信楼下刷了一波#创业很苦,坚持很酷#的广告,浓浓的“丧”文化风格文案受到了各界褒贬不一的评价,也引起了大家对OA办公系统的关注。
                         对企业而言,初选OA办公系统是为了满足需求,解决当下问题,由于OA办公系统的在公司运作流程中扮演的重要性,安全与隐私等问题急需未雨绸缪,“可定制”、“可私有化部署”的OA办公系统成为了更多企业的首选。
                      公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做?

                         三个关于OA办公系统的究极问题,从开源的OA办公项目-Dolores(朵拉)诞生迎刃而解了。Dolores项目遵循Apache Licence 2.0 开源协议,可以直接拿来用,也可以修改代码来满足需要并作为开源或商业产品发布/销售。
                      OA广告图.jpg

                      关于Dolores?

                      Dolores是一套完整的企业通信解决方案,一个完整的企业沟通工具(以下简称企业IM),支持以下几个功能:IM消息服务、组织架构管理、工作流集成。


                      Dolores项目源码地址:https://github.com/DoloresTeam​ 
                      技术讨论群:641256202(QQ群)

                      整个解决方案都包括了什么?
                      • 企业通讯录的管理:部门/员工的增删改查
                      • 通讯录全量更新:全量/增量更新 
                      • 企业通讯录权限管理:基于RBAC权限管理模型
                      • 企业即时通讯IM:企业通信对IM这块的可靠性要求高,选择了目前比较成熟的IM云服务厂商-环信

                       
                       
                      组织架构

                      企业通讯录可以说是企业沟通中最重的业务之一,能够提供员工各种服务的认证,获取员工的联系方式等。
                       
                      组织架构-Server

                      服务端主要包括以下功能:
                      1. 支持管理人员(例如HR)对部门和员工进行增删改查
                      2. 支持部门和员工自定义排序,自定义元信息存储
                      3. 权限管理
                      4. 员工通讯录视图 (员工根据自己的权限生成通讯录)
                      5. 通讯录增量更新 (鉴于移动端特殊的网络环境和设备,通讯录应该支持差量更新)
                      6. 集成 IM 用户系统


                      在这里我们主要讨论以下两个问题:
                       
                      权限管理

                        随着企业逐渐的发展,团队壮大为了更有效的沟通,以及保护公司内部的一些商业信息不被泄漏,我们应该为通讯录添加权限管理。

                      基于Role-based access control(RBAC)的权限管理模型

                      为了介绍此权限管理模型,我们先解释一下基本概念
                      • 角色:通常是指企业中某一个工作岗位,这个岗位具有特定的权利和职责。被赋予此角色的员工,将获得这种权利与职责
                      • 权限:被赋予访问实体的权利。在本项目中是指访问部门和访问某一个或者某一类员工的权利
                      • 用户-角色分配(User-Role Assignment URA):为某个用户指定一个或者多个角色,此员工将获得这些角色所具有权利的集合
                      • 角色-权限分配(Role-Permission Assignment RPA):将权限分配给角色,一个角色可以包含多个权利。在本项目中是指多个访问部门和访问员工的权限


                      在用户和权限之间引入角色中介,将用户与权限的直接关系弱化为间接关系。
                      |ˉˉˉ|           |ˉˉ ˉ|          |ˉˉˉˉ ˉˉ|  
                      | User |---URA---> | Role |<---RPA---| Permission |
                      |______| |_______| |_____________|

                          以角色为中介,首先创建访问每个部门和员工的访问权限,然后创建不同的角色,根据这些角色的职责不同分配不同的权限,建立角色-权限的关系以后,不同的角色将会有不同的权限。根据员工不同的岗位,将对应的角色分配给他们,建立用户-角色关系,这就是RBAC的主要思想。

                      一个员工可以用户多个角色,一个角色可以用于多个访问权限。RBAC 极大的简化了员工的授权管理。

                         由于企业的部门和员工数量很多,在创建权限时管理员不可能去设置每一个权限可以访问的每一个部门和每一个员工。所以本项目将功能和指责类似的部门和员工看作是同一类型,在创建部门和员工的时候为每一个部门和员工分配固有属性type,管理员在设置权限规则的时候只需要指定可访问的部门类型和员工即可。

                      增量更新

                         鉴于移动终端计算资源有限,如网络,存储,电量等,所以通讯录的更新技术应该保证尽量少的资源。另外由于通讯录的特殊性,通讯录的变化需要能实时通知到受影响的在线员工。

                      基于版本号与变更日志的增量更新模型

                         客户端第一次登陆系统以后,我们根据当前登录角色生成对应的通讯录视图,并以当前时间戳作为版本号,返回给客户端。客户端后续通过此版本号增量更新通讯录。

                      版本号

                         版本号有两种:一是客户端当前通讯录版本 c-version, 二是服务端通讯录每一次变化时的版本号s-version

                      变更日志

                         在管理员修改权限规则,或者修改某个岗位的访问规则时会影响大面积员工的通讯录视图,此时如果用增量更新会导致服务器流量异常,因此在这2中情况会清空原来的变更日志并且要求客户端进行一次全量更新。

                         如果管理员新增了员工,服务端会根据被修改的员工或者部门type, 反推出所有受影响的员工,然后生成一条变更日志, 例如:
                      {
                      "content" : [
                      {
                      "cn" : "Lucy.Liu",
                      "id" : "b4vlfg91scgi1dcju8v0",
                      "title" : "市场运营负责人",
                      "email" : [
                      "lucy.liu@dolores.store"
                      ],
                      "priority" : "101111",
                      "name" : "刘小飞",
                      "telephoneNumber" : "18888888888"
                      }
                      ],
                      "createTimestamp" : "20170614063303Z",
                      "category" : "member",
                      "action" : "add"
                      }

                      客户端在请求增量更新的时候,通过当前登陆ID与版本号,可查找出所有与自己相关的变更日志,然后在客户端数据库中应用这些变更,即可完成同步。

                      组织架构-Client

                         由于现在员工办公设备的多样性,客户端要根据自己公司的情况,覆盖的足够完整,常见的平台有 iOS Android windowsmac linux , 对于后三个平台可以用 Web APP 来覆盖,iOS&Android 用原生的app来提升用户体验。

                      客户端App主要包括以下功能:
                      1. 会话列表
                      2. 优秀的聊天界面,历史记录
                      3. 组织机构全量/增量更新
                      4. 员工个人资料展示


                      客户端数据库设计

                      IM数据库设计
                       
                      当前版本使用环信SDK
                       
                      组织架构数据库设计

                      表设计

                      客户端组织架构较服务端简单,不关联用户Role,客户端本地存储Staff(员工)和Department(部门)信息:
                      • 一个部门可以包含相关子部门和部门员工。该部门员工和部门在视图上处于同级关系。
                      • 员工隶属于部门,同一员工可以存在于多个部门。
                      • 员工角色用title来表示。


                      用户在登录客户端成功后,会根据该用户信息创建用户对应的数据库文件,用户表(User)保存用户相关信息,关联该用户staff信息。

                      客户端组织架构同服务端逻辑。

                      工作流集成

                      (TODO)
                       
                      如何使用Dolores

                      本项目现在已经完成了第一个测试版本,本小节将指导您如何安装使用。

                      后端数据库

                      鉴于通讯录对数据库操作的特点多度少写,以及部门之间的树状关系,我们选择LDAP协议来存取数据。

                      我们有独立的repo来帮助您完成数据库的安装与初始化。请移步这里

                      组织架构管理

                      Dolores 初始版本使用Golang实现,大家既可以下载各个平台的可执行包,也可以安装Go语言的开发环境自己编译。

                      我们有独立的repo来帮助您,运行后端服务。请移步这里

                      客户端

                      我们现在有提供一个iOS版的Demo。请移步这里

                      Done

                      如果您顺利的完成以上三步,访问 http://localhost:3280 (端口号根据自己的配置,可能会有差异),使用 username: admin, password: dolores 登陆后端管理页面,添加权限规则,添加角色,添加员工、部门,然后使用iOS客户端登陆,就可以愉快的开始聊天啦~
                       
                      负载均衡

                      (TODO)

                      多机容灾

                      (TODO)

                      LICENSE
                       Apache License
                      Version 2.0, January 2004
                      http://www.apache.org/licenses/

                      更多信息请前往github项目主页

                       
                      这里我对每个repo做一个简单的介绍


                      Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
                      dolores-ios: iOS版demo,可以聊天查看组织架构
                      dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
                      organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
                      dolores-server: 为客户端提供restfull api 与环信服务器集成
                      dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
                      dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
                      easemob-resty:对环信rest api的封装,让调用环信api更简单
                      dolores-avatar:生成类似钉钉那样的默认头像


                      最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正
                      THE CALM BEFORE THE STORM.
                      暴风雨前的宁静

                      ONE MORE THING 最后附上Dolores项目LOGO
                      当时作者正在二刷 《西部世界》这部剧,所以选择了女主的名字dolores作为整个项目的名字,而这个logo则寓意剧中的host。
                      687474703a2f2f6f7131696e636b76692e626b742e636c6f7564646e2e636f6d2f646f6c6f726573313032342e706e67.png
                      6
                      评论

                      【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

                      dujiepeng 发表了文章 • 4865 次浏览 • 2017-05-22 15:51 • 来自相关话题

                         这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
                       
                      ios篇
                      APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
                       
                      Android篇
                      环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
                      昵称头像篇
                      android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
                       
                      直播篇
                      一言不合你就搞个直播APP
                       
                      客服集成
                      IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
                       
                      开源项目
                      Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
                       
                      持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
                        查看全部
                         这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
                       
                      ios篇

                       
                      Android篇

                      昵称头像篇

                       
                      直播篇
                      1. 一言不合你就搞个直播APP

                       
                      客服集成
                      1. IM-SDK和客服SDK并存开发指南—Android篇
                      2. IM-SDK和客服SDK并存开发指南—iOS篇

                       
                      开源项目

                       
                      持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
                       
                      7
                      评论

                      【视频教程+源码】基于环信IM做一个仿微信APP-更新ing 郭永峰 高仿微信 仿微信 环信 XMPP

                      郭永峰 发表了文章 • 9707 次浏览 • 2017-05-16 15:29 • 来自相关话题

                      我只是一个普通人,做人要谦虚。
                      我不是大神,我也不是很厉害的。
                      天外有天,人外有人。
                      老师引入门,修行靠个人。
                      希望能帮助大家,谢谢。
                          大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
                       
                      本人现状况:
                        
                         在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

                       
                      郭永峰IT教育工作室于2017年4月12日成立!
                       
                      成立原因:

                      希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
                       

                      进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
                      4月12号成立工作室,现在18号,过了一个星期一个星期录了5天的环信教程视频,我将放在网盘免费分享环信的教程视频主要是针对有开发经验者教程主要是使用环信来模仿微信来做一个即时通讯的案例课程主要是先讲socket基础 -> 环信 ->自定义协议希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解同时能希望大家在面试时,在即时通讯这块不在陌生
                        持续更新

                      第一阶段:即时通讯的了解和微信APP开发前的准备!

                      【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

                      【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
                       
                      【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

                      【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

                      【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

                      【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

                      【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

                      【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

                      【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

                      【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

                      【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
                       
                      【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
                       
                      整个项目源码,git地址https://github.com/mayaole/fWeiXin

                       微信打赏






                      支付宝打赏






                      谢谢大家的支持,个人微信号清扫描下面张图






                       
                      郭永峰IT交流QQ群请加:596441895 查看全部
                      我只是一个普通人,做人要谦虚。
                      我不是大神,我也不是很厉害的。
                      天外有天,人外有人。
                      老师引入门,修行靠个人。
                      希望能帮助大家,谢谢。

                          大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
                       
                      本人现状况:
                        
                         在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

                       
                      郭永峰IT教育工作室于2017年4月12日成立!
                       
                      成立原因:

                      希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
                       

                      进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
                      1. 4月12号成立工作室,现在18号,过了一个星期
                      2. 一个星期录了5天的环信教程视频,我将放在网盘免费分享
                      3. 环信的教程视频主要是针对有开发经验者
                      4. 教程主要是使用环信来模仿微信来做一个即时通讯的案例
                      5. 课程主要是先讲socket基础 -> 环信 ->自定义协议
                      6. 希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解
                      7. 同时能希望大家在面试时,在即时通讯这块不在陌生

                        持续更新

                      第一阶段:即时通讯的了解和微信APP开发前的准备!

                      【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

                      【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
                       
                      【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

                      【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

                      【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

                      【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

                      【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

                      【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

                      【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

                      【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

                      【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
                       
                      【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
                       
                      整个项目源码,git地址https://github.com/mayaole/fWeiXin

                       微信打赏

                      微信.png


                      支付宝打赏

                      支付宝.png


                      谢谢大家的支持,个人微信号清扫描下面张图

                      个人.png


                       
                      郭永峰IT交流QQ群请加:596441895
                      1
                      回复

                      作为程序员,你在 2015 年都有哪些进步、收获与成长? 互联网

                      回复

                      二磊子 回复了问题 • 2 人关注 • 1169 次浏览 • 2015-12-31 12:26 • 来自相关话题

                      6
                      评论

                      【开源OA项目】基于环信IM开发完整的企业通讯解决方案-Dolores Dolores OA 开源项目

                      KevinGong 发表了文章 • 7445 次浏览 • 2017-06-26 10:53 • 来自相关话题

                        

                        前阵子钉钉在微信楼下刷了一波#创业很苦,坚持很酷#的广告,浓浓的“丧”文化风格文案受到了各界褒贬不一的评价,也引起了大家对OA办公系统的关注。
                         对企业而言,初选OA办公系统是为了满足需求,解决当下问题,由于OA办公系统的在公司运作流程中扮演的重要性,安全与隐私等问题急需未雨绸缪,“可定制”、“可私有化部署”的OA办公系统成为了更多企业的首选。公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做?
                         三个关于OA办公系统的究极问题,从开源的OA办公项目-Dolores(朵拉)诞生迎刃而解了。Dolores项目遵循Apache Licence 2.0 开源协议,可以直接拿来用,也可以修改代码来满足需要并作为开源或商业产品发布/销售。




                      关于Dolores?
                      Dolores是一套完整的企业通信解决方案,一个完整的企业沟通工具(以下简称企业IM),支持以下几个功能:IM消息服务、组织架构管理、工作流集成。
                      Dolores项目源码地址:https://github.com/DoloresTeam​ 
                      技术讨论群:641256202(QQ群)

                      整个解决方案都包括了什么?
                      企业通讯录的管理:部门/员工的增删改查通讯录全量更新:全量/增量更新 企业通讯录权限管理:基于RBAC权限管理模型企业即时通讯IM:企业通信对IM这块的可靠性要求高,选择了目前比较成熟的IM云服务厂商-环信
                       
                       
                      组织架构

                      企业通讯录可以说是企业沟通中最重的业务之一,能够提供员工各种服务的认证,获取员工的联系方式等。
                       
                      组织架构-Server

                      服务端主要包括以下功能:
                      支持管理人员(例如HR)对部门和员工进行增删改查支持部门和员工自定义排序,自定义元信息存储权限管理员工通讯录视图 (员工根据自己的权限生成通讯录)通讯录增量更新 (鉴于移动端特殊的网络环境和设备,通讯录应该支持差量更新)集成 IM 用户系统

                      在这里我们主要讨论以下两个问题:
                       
                      权限管理

                        随着企业逐渐的发展,团队壮大为了更有效的沟通,以及保护公司内部的一些商业信息不被泄漏,我们应该为通讯录添加权限管理。

                      基于Role-based access control(RBAC)的权限管理模型

                      为了介绍此权限管理模型,我们先解释一下基本概念
                      角色:通常是指企业中某一个工作岗位,这个岗位具有特定的权利和职责。被赋予此角色的员工,将获得这种权利与职责权限:被赋予访问实体的权利。在本项目中是指访问部门和访问某一个或者某一类员工的权利用户-角色分配(User-Role Assignment URA):为某个用户指定一个或者多个角色,此员工将获得这些角色所具有权利的集合角色-权限分配(Role-Permission Assignment RPA):将权限分配给角色,一个角色可以包含多个权利。在本项目中是指多个访问部门和访问员工的权限

                      在用户和权限之间引入角色中介,将用户与权限的直接关系弱化为间接关系。|ˉˉˉ| |ˉˉ ˉ| |ˉˉˉˉ ˉˉ|
                      | User |---URA---> | Role |<---RPA---| Permission |
                      |______| |_______| |_____________|
                          以角色为中介,首先创建访问每个部门和员工的访问权限,然后创建不同的角色,根据这些角色的职责不同分配不同的权限,建立角色-权限的关系以后,不同的角色将会有不同的权限。根据员工不同的岗位,将对应的角色分配给他们,建立用户-角色关系,这就是RBAC的主要思想。

                      一个员工可以用户多个角色,一个角色可以用于多个访问权限。RBAC 极大的简化了员工的授权管理。

                         由于企业的部门和员工数量很多,在创建权限时管理员不可能去设置每一个权限可以访问的每一个部门和每一个员工。所以本项目将功能和指责类似的部门和员工看作是同一类型,在创建部门和员工的时候为每一个部门和员工分配固有属性type,管理员在设置权限规则的时候只需要指定可访问的部门类型和员工即可。

                      增量更新

                         鉴于移动终端计算资源有限,如网络,存储,电量等,所以通讯录的更新技术应该保证尽量少的资源。另外由于通讯录的特殊性,通讯录的变化需要能实时通知到受影响的在线员工。

                      基于版本号与变更日志的增量更新模型

                         客户端第一次登陆系统以后,我们根据当前登录角色生成对应的通讯录视图,并以当前时间戳作为版本号,返回给客户端。客户端后续通过此版本号增量更新通讯录。

                      版本号

                         版本号有两种:一是客户端当前通讯录版本 c-version, 二是服务端通讯录每一次变化时的版本号s-version

                      变更日志

                         在管理员修改权限规则,或者修改某个岗位的访问规则时会影响大面积员工的通讯录视图,此时如果用增量更新会导致服务器流量异常,因此在这2中情况会清空原来的变更日志并且要求客户端进行一次全量更新。

                         如果管理员新增了员工,服务端会根据被修改的员工或者部门type, 反推出所有受影响的员工,然后生成一条变更日志, 例如:{
                      "content" : [
                      {
                      "cn" : "Lucy.Liu",
                      "id" : "b4vlfg91scgi1dcju8v0",
                      "title" : "市场运营负责人",
                      "email" : [
                      "lucy.liu@dolores.store"
                      ],
                      "priority" : "101111",
                      "name" : "刘小飞",
                      "telephoneNumber" : "18888888888"
                      }
                      ],
                      "createTimestamp" : "20170614063303Z",
                      "category" : "member",
                      "action" : "add"
                      }
                      客户端在请求增量更新的时候,通过当前登陆ID与版本号,可查找出所有与自己相关的变更日志,然后在客户端数据库中应用这些变更,即可完成同步。

                      组织架构-Client

                         由于现在员工办公设备的多样性,客户端要根据自己公司的情况,覆盖的足够完整,常见的平台有 iOS Android windowsmac linux , 对于后三个平台可以用 Web APP 来覆盖,iOS&Android 用原生的app来提升用户体验。

                      客户端App主要包括以下功能:
                      会话列表优秀的聊天界面,历史记录组织机构全量/增量更新员工个人资料展示

                      客户端数据库设计

                      IM数据库设计
                       
                      当前版本使用环信SDK
                       
                      组织架构数据库设计

                      表设计

                      客户端组织架构较服务端简单,不关联用户Role,客户端本地存储Staff(员工)和Department(部门)信息:
                      一个部门可以包含相关子部门和部门员工。该部门员工和部门在视图上处于同级关系。员工隶属于部门,同一员工可以存在于多个部门。员工角色用title来表示。

                      用户在登录客户端成功后,会根据该用户信息创建用户对应的数据库文件,用户表(User)保存用户相关信息,关联该用户staff信息。

                      客户端组织架构同服务端逻辑。

                      工作流集成

                      (TODO)
                       
                      如何使用Dolores

                      本项目现在已经完成了第一个测试版本,本小节将指导您如何安装使用。

                      后端数据库

                      鉴于通讯录对数据库操作的特点多度少写,以及部门之间的树状关系,我们选择LDAP协议来存取数据。

                      我们有独立的repo来帮助您完成数据库的安装与初始化。请移步这里

                      组织架构管理

                      Dolores 初始版本使用Golang实现,大家既可以下载各个平台的可执行包,也可以安装Go语言的开发环境自己编译。

                      我们有独立的repo来帮助您,运行后端服务。请移步这里

                      客户端

                      我们现在有提供一个iOS版的Demo。请移步这里

                      Done

                      如果您顺利的完成以上三步,访问 http://localhost:3280 (端口号根据自己的配置,可能会有差异),使用 username: admin, password: dolores 登陆后端管理页面,添加权限规则,添加角色,添加员工、部门,然后使用iOS客户端登陆,就可以愉快的开始聊天啦~
                       
                      负载均衡

                      (TODO)

                      多机容灾

                      (TODO)

                      LICENSE Apache License
                      Version 2.0, January 2004
                      http://www.apache.org/licenses/
                      更多信息请前往github项目主页

                       
                      这里我对每个repo做一个简单的介绍


                      Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
                      dolores-ios: iOS版demo,可以聊天查看组织架构
                      dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
                      organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
                      dolores-server: 为客户端提供restfull api 与环信服务器集成
                      dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
                      dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
                      easemob-resty:对环信rest api的封装,让调用环信api更简单
                      dolores-avatar:生成类似钉钉那样的默认头像


                      最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正THE CALM BEFORE THE STORM.
                      暴风雨前的宁静
                      ONE MORE THING 最后附上Dolores项目LOGO
                      当时作者正在二刷 《西部世界》这部剧,所以选择了女主的名字dolores作为整个项目的名字,而这个logo则寓意剧中的host。 查看全部
                        

                        前阵子钉钉在微信楼下刷了一波#创业很苦,坚持很酷#的广告,浓浓的“丧”文化风格文案受到了各界褒贬不一的评价,也引起了大家对OA办公系统的关注。
                         对企业而言,初选OA办公系统是为了满足需求,解决当下问题,由于OA办公系统的在公司运作流程中扮演的重要性,安全与隐私等问题急需未雨绸缪,“可定制”、“可私有化部署”的OA办公系统成为了更多企业的首选。
                      公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做?

                         三个关于OA办公系统的究极问题,从开源的OA办公项目-Dolores(朵拉)诞生迎刃而解了。Dolores项目遵循Apache Licence 2.0 开源协议,可以直接拿来用,也可以修改代码来满足需要并作为开源或商业产品发布/销售。
                      OA广告图.jpg

                      关于Dolores?

                      Dolores是一套完整的企业通信解决方案,一个完整的企业沟通工具(以下简称企业IM),支持以下几个功能:IM消息服务、组织架构管理、工作流集成。


                      Dolores项目源码地址:https://github.com/DoloresTeam​ 
                      技术讨论群:641256202(QQ群)

                      整个解决方案都包括了什么?
                      • 企业通讯录的管理:部门/员工的增删改查
                      • 通讯录全量更新:全量/增量更新 
                      • 企业通讯录权限管理:基于RBAC权限管理模型
                      • 企业即时通讯IM:企业通信对IM这块的可靠性要求高,选择了目前比较成熟的IM云服务厂商-环信

                       
                       
                      组织架构

                      企业通讯录可以说是企业沟通中最重的业务之一,能够提供员工各种服务的认证,获取员工的联系方式等。
                       
                      组织架构-Server

                      服务端主要包括以下功能:
                      1. 支持管理人员(例如HR)对部门和员工进行增删改查
                      2. 支持部门和员工自定义排序,自定义元信息存储
                      3. 权限管理
                      4. 员工通讯录视图 (员工根据自己的权限生成通讯录)
                      5. 通讯录增量更新 (鉴于移动端特殊的网络环境和设备,通讯录应该支持差量更新)
                      6. 集成 IM 用户系统


                      在这里我们主要讨论以下两个问题:
                       
                      权限管理

                        随着企业逐渐的发展,团队壮大为了更有效的沟通,以及保护公司内部的一些商业信息不被泄漏,我们应该为通讯录添加权限管理。

                      基于Role-based access control(RBAC)的权限管理模型

                      为了介绍此权限管理模型,我们先解释一下基本概念
                      • 角色:通常是指企业中某一个工作岗位,这个岗位具有特定的权利和职责。被赋予此角色的员工,将获得这种权利与职责
                      • 权限:被赋予访问实体的权利。在本项目中是指访问部门和访问某一个或者某一类员工的权利
                      • 用户-角色分配(User-Role Assignment URA):为某个用户指定一个或者多个角色,此员工将获得这些角色所具有权利的集合
                      • 角色-权限分配(Role-Permission Assignment RPA):将权限分配给角色,一个角色可以包含多个权利。在本项目中是指多个访问部门和访问员工的权限


                      在用户和权限之间引入角色中介,将用户与权限的直接关系弱化为间接关系。
                      |ˉˉˉ|           |ˉˉ ˉ|          |ˉˉˉˉ ˉˉ|  
                      | User |---URA---> | Role |<---RPA---| Permission |
                      |______| |_______| |_____________|

                          以角色为中介,首先创建访问每个部门和员工的访问权限,然后创建不同的角色,根据这些角色的职责不同分配不同的权限,建立角色-权限的关系以后,不同的角色将会有不同的权限。根据员工不同的岗位,将对应的角色分配给他们,建立用户-角色关系,这就是RBAC的主要思想。

                      一个员工可以用户多个角色,一个角色可以用于多个访问权限。RBAC 极大的简化了员工的授权管理。

                         由于企业的部门和员工数量很多,在创建权限时管理员不可能去设置每一个权限可以访问的每一个部门和每一个员工。所以本项目将功能和指责类似的部门和员工看作是同一类型,在创建部门和员工的时候为每一个部门和员工分配固有属性type,管理员在设置权限规则的时候只需要指定可访问的部门类型和员工即可。

                      增量更新

                         鉴于移动终端计算资源有限,如网络,存储,电量等,所以通讯录的更新技术应该保证尽量少的资源。另外由于通讯录的特殊性,通讯录的变化需要能实时通知到受影响的在线员工。

                      基于版本号与变更日志的增量更新模型

                         客户端第一次登陆系统以后,我们根据当前登录角色生成对应的通讯录视图,并以当前时间戳作为版本号,返回给客户端。客户端后续通过此版本号增量更新通讯录。

                      版本号

                         版本号有两种:一是客户端当前通讯录版本 c-version, 二是服务端通讯录每一次变化时的版本号s-version

                      变更日志

                         在管理员修改权限规则,或者修改某个岗位的访问规则时会影响大面积员工的通讯录视图,此时如果用增量更新会导致服务器流量异常,因此在这2中情况会清空原来的变更日志并且要求客户端进行一次全量更新。

                         如果管理员新增了员工,服务端会根据被修改的员工或者部门type, 反推出所有受影响的员工,然后生成一条变更日志, 例如:
                      {
                      "content" : [
                      {
                      "cn" : "Lucy.Liu",
                      "id" : "b4vlfg91scgi1dcju8v0",
                      "title" : "市场运营负责人",
                      "email" : [
                      "lucy.liu@dolores.store"
                      ],
                      "priority" : "101111",
                      "name" : "刘小飞",
                      "telephoneNumber" : "18888888888"
                      }
                      ],
                      "createTimestamp" : "20170614063303Z",
                      "category" : "member",
                      "action" : "add"
                      }

                      客户端在请求增量更新的时候,通过当前登陆ID与版本号,可查找出所有与自己相关的变更日志,然后在客户端数据库中应用这些变更,即可完成同步。

                      组织架构-Client

                         由于现在员工办公设备的多样性,客户端要根据自己公司的情况,覆盖的足够完整,常见的平台有 iOS Android windowsmac linux , 对于后三个平台可以用 Web APP 来覆盖,iOS&Android 用原生的app来提升用户体验。

                      客户端App主要包括以下功能:
                      1. 会话列表
                      2. 优秀的聊天界面,历史记录
                      3. 组织机构全量/增量更新
                      4. 员工个人资料展示


                      客户端数据库设计

                      IM数据库设计
                       
                      当前版本使用环信SDK
                       
                      组织架构数据库设计

                      表设计

                      客户端组织架构较服务端简单,不关联用户Role,客户端本地存储Staff(员工)和Department(部门)信息:
                      • 一个部门可以包含相关子部门和部门员工。该部门员工和部门在视图上处于同级关系。
                      • 员工隶属于部门,同一员工可以存在于多个部门。
                      • 员工角色用title来表示。


                      用户在登录客户端成功后,会根据该用户信息创建用户对应的数据库文件,用户表(User)保存用户相关信息,关联该用户staff信息。

                      客户端组织架构同服务端逻辑。

                      工作流集成

                      (TODO)
                       
                      如何使用Dolores

                      本项目现在已经完成了第一个测试版本,本小节将指导您如何安装使用。

                      后端数据库

                      鉴于通讯录对数据库操作的特点多度少写,以及部门之间的树状关系,我们选择LDAP协议来存取数据。

                      我们有独立的repo来帮助您完成数据库的安装与初始化。请移步这里

                      组织架构管理

                      Dolores 初始版本使用Golang实现,大家既可以下载各个平台的可执行包,也可以安装Go语言的开发环境自己编译。

                      我们有独立的repo来帮助您,运行后端服务。请移步这里

                      客户端

                      我们现在有提供一个iOS版的Demo。请移步这里

                      Done

                      如果您顺利的完成以上三步,访问 http://localhost:3280 (端口号根据自己的配置,可能会有差异),使用 username: admin, password: dolores 登陆后端管理页面,添加权限规则,添加角色,添加员工、部门,然后使用iOS客户端登陆,就可以愉快的开始聊天啦~
                       
                      负载均衡

                      (TODO)

                      多机容灾

                      (TODO)

                      LICENSE
                       Apache License
                      Version 2.0, January 2004
                      http://www.apache.org/licenses/

                      更多信息请前往github项目主页

                       
                      这里我对每个repo做一个简单的介绍


                      Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
                      dolores-ios: iOS版demo,可以聊天查看组织架构
                      dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
                      organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
                      dolores-server: 为客户端提供restfull api 与环信服务器集成
                      dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
                      dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
                      easemob-resty:对环信rest api的封装,让调用环信api更简单
                      dolores-avatar:生成类似钉钉那样的默认头像


                      最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正
                      THE CALM BEFORE THE STORM.
                      暴风雨前的宁静

                      ONE MORE THING 最后附上Dolores项目LOGO
                      当时作者正在二刷 《西部世界》这部剧,所以选择了女主的名字dolores作为整个项目的名字,而这个logo则寓意剧中的host。
                      687474703a2f2f6f7131696e636b76692e626b742e636c6f7564646e2e636f6d2f646f6c6f726573313032342e706e67.png
                      6
                      评论

                      【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

                      dujiepeng 发表了文章 • 4865 次浏览 • 2017-05-22 15:51 • 来自相关话题

                         这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
                       
                      ios篇
                      APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
                       
                      Android篇
                      环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
                      昵称头像篇
                      android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
                       
                      直播篇
                      一言不合你就搞个直播APP
                       
                      客服集成
                      IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
                       
                      开源项目
                      Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
                       
                      持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
                        查看全部
                         这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
                       
                      ios篇

                       
                      Android篇

                      昵称头像篇

                       
                      直播篇
                      1. 一言不合你就搞个直播APP

                       
                      客服集成
                      1. IM-SDK和客服SDK并存开发指南—Android篇
                      2. IM-SDK和客服SDK并存开发指南—iOS篇

                       
                      开源项目

                       
                      持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
                       
                      7
                      评论

                      【视频教程+源码】基于环信IM做一个仿微信APP-更新ing 郭永峰 高仿微信 仿微信 环信 XMPP

                      郭永峰 发表了文章 • 9707 次浏览 • 2017-05-16 15:29 • 来自相关话题

                      我只是一个普通人,做人要谦虚。
                      我不是大神,我也不是很厉害的。
                      天外有天,人外有人。
                      老师引入门,修行靠个人。
                      希望能帮助大家,谢谢。
                          大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
                       
                      本人现状况:
                        
                         在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

                       
                      郭永峰IT教育工作室于2017年4月12日成立!
                       
                      成立原因:

                      希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
                       

                      进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
                      4月12号成立工作室,现在18号,过了一个星期一个星期录了5天的环信教程视频,我将放在网盘免费分享环信的教程视频主要是针对有开发经验者教程主要是使用环信来模仿微信来做一个即时通讯的案例课程主要是先讲socket基础 -> 环信 ->自定义协议希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解同时能希望大家在面试时,在即时通讯这块不在陌生
                        持续更新

                      第一阶段:即时通讯的了解和微信APP开发前的准备!

                      【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

                      【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
                       
                      【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

                      【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

                      【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

                      【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

                      【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

                      【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

                      【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

                      【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

                      【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
                       
                      【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
                       
                      整个项目源码,git地址https://github.com/mayaole/fWeiXin

                       微信打赏






                      支付宝打赏






                      谢谢大家的支持,个人微信号清扫描下面张图






                       
                      郭永峰IT交流QQ群请加:596441895 查看全部
                      我只是一个普通人,做人要谦虚。
                      我不是大神,我也不是很厉害的。
                      天外有天,人外有人。
                      老师引入门,修行靠个人。
                      希望能帮助大家,谢谢。

                          大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
                       
                      本人现状况:
                        
                         在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

                       
                      郭永峰IT教育工作室于2017年4月12日成立!
                       
                      成立原因:

                      希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
                       

                      进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
                      1. 4月12号成立工作室,现在18号,过了一个星期
                      2. 一个星期录了5天的环信教程视频,我将放在网盘免费分享
                      3. 环信的教程视频主要是针对有开发经验者
                      4. 教程主要是使用环信来模仿微信来做一个即时通讯的案例
                      5. 课程主要是先讲socket基础 -> 环信 ->自定义协议
                      6. 希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解
                      7. 同时能希望大家在面试时,在即时通讯这块不在陌生

                        持续更新

                      第一阶段:即时通讯的了解和微信APP开发前的准备!

                      【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

                      【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

                      【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
                       
                      【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

                      【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

                      【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

                      【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

                      【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

                      【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

                      【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

                      【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

                      【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
                       
                      【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
                       
                      整个项目源码,git地址https://github.com/mayaole/fWeiXin

                       微信打赏

                      微信.png


                      支付宝打赏

                      支付宝.png


                      谢谢大家的支持,个人微信号清扫描下面张图

                      个人.png


                       
                      郭永峰IT交流QQ群请加:596441895
                      0
                      评论

                      如何阅读计算机科学类的书 互联网 阅读

                      beyond 发表了文章 • 31 次浏览 • 2017-08-10 18:50 • 来自相关话题

                       




                       作为一个研发工程师,无论你是否喜爱阅读,相信你都一定读过不少关于计算机技术的书籍。这其中不乏《21天学会JAVA》这样的语言入门书籍,也有《算法导论》这样的专题书籍,也有《人月神话》这样关于软件管理学的实用性的书籍。也许你已经读过他们中的大部分,也许你现在还在不断地购入新的书籍来补充你的知识库。但请稍等一下,你是否思考过这样的问题,面对大量的计算机科学书籍,你是否都真正读懂了它们呢?有多少本书,当你将他放在书架上之后,就再也没有重新打开过?有多少知识是真正被存储在你的大脑中,并随时可以提供调用?拿到一本书后,高效阅读的正确姿势的什么?如果你有以上的疑惑,那么接下来,我们将一起探讨一个问题,如何阅读一本计算机科学类书籍。

                      阅读的四种层次

                         首先,我们先要学会如何阅读。你可能会觉得不可思议,我已经接受过高等教育,怎么可能还不会阅读。然而可悲的是,现代教育体系中,恰恰忽略了对阅读能力的训练。我们在初中之后,阅读水平就几乎没有机会再得到提升。总体来说,阅读分为四种层次,分别是:
                      基础阅读检视阅读分析阅读主题阅读
                       
                         这其中的概念来源于莫提默·J·艾德勒和查尔斯·范多伦的著作《如何阅读一本书(How To Read A Book)》,这里我必须对其中的概念做简单的总结,以便在后续的篇幅中,我们能统一对阅读名词的理解。

                      基础阅读
                         当我们完成中学学业后,我们中的绝大部分人,都已经掌握了基础阅读的能力。在这个层次中,我们关心的是,书里的每句话是什么意思。这是一个最基础的层次。
                      检视阅读
                         检视阅读,我们也可以称之为快速阅读。快速浏览全书,了解书的主题,架构全书,提出核心问题。这并不是很新鲜的概念,但很多人可能并没有思考过,为什么要做检视阅读。检视阅读作用是为了帮助我们筛选这本书是否值得阅读,同时为接下来的分析阅读打下基础。在这个层次中,我们关心的是,这本书在讲什么。
                       
                      分析阅读
                         分析阅读是一个更为高级的阅读层次,目标让我们能充分理解本书,与作者对话。其中包含了多个阶段,这里不再详述,有兴趣的同学可以研读原著。
                       
                      主题阅读
                         当我们跨越过分析阅读后,这本书已经被我们掌握。此时,我们会就相同的主题,阅读不同的书籍,找出其中关联与矛盾,倾听不同的作者的不同声音,从而对某个主题产生更加深刻的认识。这个阶段,我们关注的不再是某一本书,而是一个具体的问题。
                       
                      计算机科学书籍的特征
                         原著中针对不同类型的书籍,给予了不同的阅读建议。但由于所著时间很早,就计算机科学类图书的阅读建议,在书中并没有专门设计章节阐述。根据我的阅读经历,深感计算机科学类书籍,较其他类型图书有着其独特性:

                      单本书籍的信息量大
                         相较其他学科,绝大多数计算机科学类书籍并不是以得出结论并且论证结论为核心,而偏重于阐述方法和解释原理。有很多计算机书籍旨在剖析某个系统。这里的系统不仅仅指代诸如操作系统这样的实体系统,还包括一门语言或者一套管理方法论这样的理论系统。而系统通常是由多个部分组成的综合体,这其中势必包含不同组成部分的不同细节,信息量之大可见一斑。
                       
                      注重实践
                         计算机科学是一门实用性的学科。这里的实用性可以理解为,计算机科学诞生的目的就是为了解决实际问题。因此,几乎所有的计算机科学书籍,都是以指导实践为目标而作。
                       
                      更新速度快
                         计算机科学的更迭速度可以准确地被描述为日新月异。有些技术很快地火爆起来,又很快地消亡,所以有些书也就跟着很快地淹没在时代的进程中。
                       
                      分类细致但同质度高
                         计算机科学对自己有着过分清晰的划分,不同的技术之间往往边界清晰。我们很少见操作系统和数据库系统在同一本书中论述,也不常见集不同语言之成的大作。由于领域划分细致,相同领域的书籍,多数时候往往论述的是同样的主题。
                       
                      阅读计算机科学书籍的误区
                         绝大多数读者的错误意识在于把所有的书籍都认为是层层推进的论述过程。这样的阅读经验一旦沿用在计算机科学类书籍中,就会感觉举步维艰。前文说过,大多数的计算机书籍都是在剖析系统,一个系统又是由许多相互关联的部分组成。解读这类书籍,如同拆解一个机械,我们在拆解的过程,常常会犯下这些错误。

                      通读全书
                         在你的头脑中没有对全书的结构有整体了解的情况下,从头至尾通读全书,意味着试图从细节窥视一个系统的全貌。这是一种低效的读书方式。当读到中落时,你会因为没有全局概念,而迷失在各种细节中,以至于完全失去了阅读的方向和目标。
                       
                      跳过序言
                         序言往往是很多人忽略的内容,似乎序言只是重复了正文的内容。而正因为如此,序言以简短精炼的语言,为你分解了整本书的架构,帮助你把握系统的整体。这项工作本来应该是读者在阅读全书之前的必备工作,绝大多数的作者都已经帮你完成了,而你需要做的仅仅是认真的阅读它。
                       
                      脱离实践
                         前文说过,计算机科学类书籍重视实践,脱离了实践,往往就不能完全理解书中所述的理论和方法,过目就忘,纸上谈兵。
                       
                      忽视基础
                         封装在计算机的世界中是一个非常重要的概念。计算机的发展史,总的来说就是一部封装史:将底层不断包装,提供简单的调用方式,由此不断的扩展计算机的边界和能力。新的技术层出不穷,而他们的很多所依赖的环境和系统,从设计之初就没有发生过质的变化。
                      有时,在追逐新的技术之前,深入了解他们所在的系统;在学习新的算法之前,掌握好其基础的数学原理。只有牢固的基础才能支撑足够结实的上层建筑。
                       
                      阅读计算机科学书籍的建议
                         当了解阅读误区后,你们是不是已经发现阅读这类书籍的核心原理呢?那就是将整本书当做一个系统,从整体到局部,层层递进,逐步剖析。根据这个核心原理,我总结了一些好的实践方式。
                       
                      检视阅读
                         当你拿到一本计算机科学书籍,第一步就应该快速浏览序言和目录,然后用检视阅读的方式整理出整本书的大纲。这样,你对这本书是介绍理论还是关注实践,所属什么分类,哪些问题是本书将会讨论,而哪些问题是不被详细讨论的,这些信息你都会有整体上的认知。这时,你就可以很轻松地判断,这本书值不值的阅读,哪些内容是你已经熟知的,哪些内容是你关注的重点,这样做阅读的效率将会大大的提高。
                         如果从来没有使用过这种阅读方式,开始实践时,会受到一定的心理上的阻力。可能你对某个专有名词完全没有概念,以至于整章的内容都模棱两可。这时,你应该坚持继续阅读,对不甚理解的内容,先记住有这样的概念。绝大多数的时候,经过检视阅读后,过程中的问题都会有所释怀,剩下依然没有明白的内容,视其重要性,再决定是否对其进行分析阅读。
                       
                      提取问题
                         当你了解了整本书的全貌,一般而言,你会发现,有些章节你已经熟悉,有些章节你全然不知。这时就要对这些章节进行分析阅读。分析阅读的很多步骤和方法在《如何阅读一本书(How To Read A Book)》有详细的介绍,这里不展开细说。但有时,你在阅读的过程中,会发现阅读的兴趣在下降。信息量愈大,阅读的动力愈弱,最后你就迷失在信息的汪洋之中。
                      我们应该如何避免这样的信息疲劳呢?答案就是去掉冗余的干扰信息。在上一个建议中,我们强调了检视阅读的重要性。那检视阅读的成果是什么呢?那就是你对每个部分(不一定是书中给你划分的章节)所提出的问题,也可以称之为阅读目标。而你要做的就是,找到这些问题的答案,完成自己的阅读目标。
                         这样做过滤了很多作者认为重要,其实和你关心的主旨没有联系的信息,减少了信息疲劳。同时,不同部分之间有关联的问题,可以帮助你更好的串联全书阐述的核心概念,把握整本书的主要脉络。
                      例如,我在阅读《深入理解计算机系统》的异常控制流时,就提出这样的问题:进程是如何管理内存?而部分的答案,在下一个章节虚拟内存中。当我解答这个问题时,我就会将这两个分离的章节的内容,通过一个问题联系在一起,加深了自己的理解。
                       
                      持续重读
                         一本经典优秀的计算机科学书籍,值得你反复的阅读。不要觉得整本书我已经完全理解,就再也不需要重新回顾阅读了。因为此类书籍存在大量信息,而这些信息并没有必要占据我们大脑有限的记忆存储空间。我们要做的就是认真做好第一条建议,当我们需要使用这些书籍解决问题的时候,能第一时间在其中找到我们需要的信息。毫不夸张的说,计算机科学类的书籍生来就是供人反复翻阅的。
                       
                      鉴别烂书
                         作为阅读爱好者,谁能说自己没读过几本烂书呢。在计算机科学这个类别中,烂书的比例一点也不比其他学科低。信息重复(抄袭),结构混乱,论证不清晰(作者对某个技术一知半解)等等,都是烂书的特征。关于烂书,我们要做的就是第一时间将其鉴别出来,然后放到自己的黑名单中。具体如何鉴别烂书,由于本篇幅太长,我可能会新开一篇文章单独讨论。
                       
                      结语
                         以上就是我对于如何阅读计算机科学类书籍的理解。本来想缩短些篇幅,但最后还是决定保留那些我觉得应该详细论述的部分。毕竟这篇文章的初心并非是厕所读物,而是一个阅读爱好者认真地与读者探讨一个严肃的话题。如果可以,我希望在通过我不断地探索,阅读能力的持续提升,我还能在此宝地继续这个话题,完善我的理论。
                      我在下面列出我认为经典优秀的计算机科学书籍,也欢迎大家补充,排名不分先后。 查看全部
                       
                      QQ图片20170810185201.png

                       作为一个研发工程师,无论你是否喜爱阅读,相信你都一定读过不少关于计算机技术的书籍。这其中不乏《21天学会JAVA》这样的语言入门书籍,也有《算法导论》这样的专题书籍,也有《人月神话》这样关于软件管理学的实用性的书籍。也许你已经读过他们中的大部分,也许你现在还在不断地购入新的书籍来补充你的知识库。但请稍等一下,你是否思考过这样的问题,面对大量的计算机科学书籍,你是否都真正读懂了它们呢?有多少本书,当你将他放在书架上之后,就再也没有重新打开过?有多少知识是真正被存储在你的大脑中,并随时可以提供调用?拿到一本书后,高效阅读的正确姿势的什么?如果你有以上的疑惑,那么接下来,我们将一起探讨一个问题,如何阅读一本计算机科学类书籍。

                      阅读的四种层次

                         首先,我们先要学会如何阅读。你可能会觉得不可思议,我已经接受过高等教育,怎么可能还不会阅读。然而可悲的是,现代教育体系中,恰恰忽略了对阅读能力的训练。我们在初中之后,阅读水平就几乎没有机会再得到提升。总体来说,阅读分为四种层次,分别是:
                      • 基础阅读
                      • 检视阅读
                      • 分析阅读
                      • 主题阅读

                       
                         这其中的概念来源于莫提默·J·艾德勒和查尔斯·范多伦的著作《如何阅读一本书(How To Read A Book)》,这里我必须对其中的概念做简单的总结,以便在后续的篇幅中,我们能统一对阅读名词的理解。

                      基础阅读
                         当我们完成中学学业后,我们中的绝大部分人,都已经掌握了基础阅读的能力。在这个层次中,我们关心的是,书里的每句话是什么意思。这是一个最基础的层次。
                      检视阅读
                         检视阅读,我们也可以称之为快速阅读。快速浏览全书,了解书的主题,架构全书,提出核心问题。这并不是很新鲜的概念,但很多人可能并没有思考过,为什么要做检视阅读。检视阅读作用是为了帮助我们筛选这本书是否值得阅读,同时为接下来的分析阅读打下基础。在这个层次中,我们关心的是,这本书在讲什么。
                       
                      分析阅读
                         分析阅读是一个更为高级的阅读层次,目标让我们能充分理解本书,与作者对话。其中包含了多个阶段,这里不再详述,有兴趣的同学可以研读原著。
                       
                      主题阅读
                         当我们跨越过分析阅读后,这本书已经被我们掌握。此时,我们会就相同的主题,阅读不同的书籍,找出其中关联与矛盾,倾听不同的作者的不同声音,从而对某个主题产生更加深刻的认识。这个阶段,我们关注的不再是某一本书,而是一个具体的问题。
                       
                      计算机科学书籍的特征
                         原著中针对不同类型的书籍,给予了不同的阅读建议。但由于所著时间很早,就计算机科学类图书的阅读建议,在书中并没有专门设计章节阐述。根据我的阅读经历,深感计算机科学类书籍,较其他类型图书有着其独特性:

                      单本书籍的信息量大
                         相较其他学科,绝大多数计算机科学类书籍并不是以得出结论并且论证结论为核心,而偏重于阐述方法和解释原理。有很多计算机书籍旨在剖析某个系统。这里的系统不仅仅指代诸如操作系统这样的实体系统,还包括一门语言或者一套管理方法论这样的理论系统。而系统通常是由多个部分组成的综合体,这其中势必包含不同组成部分的不同细节,信息量之大可见一斑。
                       
                      注重实践
                         计算机科学是一门实用性的学科。这里的实用性可以理解为,计算机科学诞生的目的就是为了解决实际问题。因此,几乎所有的计算机科学书籍,都是以指导实践为目标而作。
                       
                      更新速度快
                         计算机科学的更迭速度可以准确地被描述为日新月异。有些技术很快地火爆起来,又很快地消亡,所以有些书也就跟着很快地淹没在时代的进程中。
                       
                      分类细致但同质度高
                         计算机科学对自己有着过分清晰的划分,不同的技术之间往往边界清晰。我们很少见操作系统和数据库系统在同一本书中论述,也不常见集不同语言之成的大作。由于领域划分细致,相同领域的书籍,多数时候往往论述的是同样的主题。
                       
                      阅读计算机科学书籍的误区
                         绝大多数读者的错误意识在于把所有的书籍都认为是层层推进的论述过程。这样的阅读经验一旦沿用在计算机科学类书籍中,就会感觉举步维艰。前文说过,大多数的计算机书籍都是在剖析系统,一个系统又是由许多相互关联的部分组成。解读这类书籍,如同拆解一个机械,我们在拆解的过程,常常会犯下这些错误。

                      通读全书
                         在你的头脑中没有对全书的结构有整体了解的情况下,从头至尾通读全书,意味着试图从细节窥视一个系统的全貌。这是一种低效的读书方式。当读到中落时,你会因为没有全局概念,而迷失在各种细节中,以至于完全失去了阅读的方向和目标。
                       
                      跳过序言
                         序言往往是很多人忽略的内容,似乎序言只是重复了正文的内容。而正因为如此,序言以简短精炼的语言,为你分解了整本书的架构,帮助你把握系统的整体。这项工作本来应该是读者在阅读全书之前的必备工作,绝大多数的作者都已经帮你完成了,而你需要做的仅仅是认真的阅读它。
                       
                      脱离实践
                         前文说过,计算机科学类书籍重视实践,脱离了实践,往往就不能完全理解书中所述的理论和方法,过目就忘,纸上谈兵。
                       
                      忽视基础
                         封装在计算机的世界中是一个非常重要的概念。计算机的发展史,总的来说就是一部封装史:将底层不断包装,提供简单的调用方式,由此不断的扩展计算机的边界和能力。新的技术层出不穷,而他们的很多所依赖的环境和系统,从设计之初就没有发生过质的变化。
                      有时,在追逐新的技术之前,深入了解他们所在的系统;在学习新的算法之前,掌握好其基础的数学原理。只有牢固的基础才能支撑足够结实的上层建筑。
                       
                      阅读计算机科学书籍的建议
                         当了解阅读误区后,你们是不是已经发现阅读这类书籍的核心原理呢?那就是将整本书当做一个系统,从整体到局部,层层递进,逐步剖析。根据这个核心原理,我总结了一些好的实践方式。
                       
                      检视阅读
                         当你拿到一本计算机科学书籍,第一步就应该快速浏览序言和目录,然后用检视阅读的方式整理出整本书的大纲。这样,你对这本书是介绍理论还是关注实践,所属什么分类,哪些问题是本书将会讨论,而哪些问题是不被详细讨论的,这些信息你都会有整体上的认知。这时,你就可以很轻松地判断,这本书值不值的阅读,哪些内容是你已经熟知的,哪些内容是你关注的重点,这样做阅读的效率将会大大的提高。
                         如果从来没有使用过这种阅读方式,开始实践时,会受到一定的心理上的阻力。可能你对某个专有名词完全没有概念,以至于整章的内容都模棱两可。这时,你应该坚持继续阅读,对不甚理解的内容,先记住有这样的概念。绝大多数的时候,经过检视阅读后,过程中的问题都会有所释怀,剩下依然没有明白的内容,视其重要性,再决定是否对其进行分析阅读。
                       
                      提取问题
                         当你了解了整本书的全貌,一般而言,你会发现,有些章节你已经熟悉,有些章节你全然不知。这时就要对这些章节进行分析阅读。分析阅读的很多步骤和方法在《如何阅读一本书(How To Read A Book)》有详细的介绍,这里不展开细说。但有时,你在阅读的过程中,会发现阅读的兴趣在下降。信息量愈大,阅读的动力愈弱,最后你就迷失在信息的汪洋之中。
                      我们应该如何避免这样的信息疲劳呢?答案就是去掉冗余的干扰信息。在上一个建议中,我们强调了检视阅读的重要性。那检视阅读的成果是什么呢?那就是你对每个部分(不一定是书中给你划分的章节)所提出的问题,也可以称之为阅读目标。而你要做的就是,找到这些问题的答案,完成自己的阅读目标。
                         这样做过滤了很多作者认为重要,其实和你关心的主旨没有联系的信息,减少了信息疲劳。同时,不同部分之间有关联的问题,可以帮助你更好的串联全书阐述的核心概念,把握整本书的主要脉络。
                      例如,我在阅读《深入理解计算机系统》的异常控制流时,就提出这样的问题:进程是如何管理内存?而部分的答案,在下一个章节虚拟内存中。当我解答这个问题时,我就会将这两个分离的章节的内容,通过一个问题联系在一起,加深了自己的理解。
                       
                      持续重读
                         一本经典优秀的计算机科学书籍,值得你反复的阅读。不要觉得整本书我已经完全理解,就再也不需要重新回顾阅读了。因为此类书籍存在大量信息,而这些信息并没有必要占据我们大脑有限的记忆存储空间。我们要做的就是认真做好第一条建议,当我们需要使用这些书籍解决问题的时候,能第一时间在其中找到我们需要的信息。毫不夸张的说,计算机科学类的书籍生来就是供人反复翻阅的。
                       
                      鉴别烂书
                         作为阅读爱好者,谁能说自己没读过几本烂书呢。在计算机科学这个类别中,烂书的比例一点也不比其他学科低。信息重复(抄袭),结构混乱,论证不清晰(作者对某个技术一知半解)等等,都是烂书的特征。关于烂书,我们要做的就是第一时间将其鉴别出来,然后放到自己的黑名单中。具体如何鉴别烂书,由于本篇幅太长,我可能会新开一篇文章单独讨论。
                       
                      结语
                         以上就是我对于如何阅读计算机科学类书籍的理解。本来想缩短些篇幅,但最后还是决定保留那些我觉得应该详细论述的部分。毕竟这篇文章的初心并非是厕所读物,而是一个阅读爱好者认真地与读者探讨一个严肃的话题。如果可以,我希望在通过我不断地探索,阅读能力的持续提升,我还能在此宝地继续这个话题,完善我的理论。
                      我在下面列出我认为经典优秀的计算机科学书籍,也欢迎大家补充,排名不分先后。
                      0
                      评论

                      创业关闭大潮,它潜伏修炼 互联网 创业 互联网+

                      evelyn酱 发表了文章 • 564 次浏览 • 2016-05-13 16:45 • 来自相关话题

                      创业关闭大潮,它潜伏修炼 
                       
                      在去年通过朋友圈的推荐,下载了一款产品摘客,一开始被他们的独特的分类阅读所吸引,虽然产品当时还有很多的问题,但是对于用户来说,其独特的细分个性化阅读有别于其他APP,当时的体验还是不错的。还有其搜索功能,当时发现搜索时,很多时候都能意外的发现很多好文章,因此建立了该产品的第一映像。 
                       
                      后来机缘巧合,认识到这款产品的团队负责人,因此也特地对摘客与其进行了相关的交流和探讨。 
                       
                      惊讶的是整个团队不过10+人,就包括了后台、前端、测试、运营等人员,原本以为主打个性化推荐算法的产品,相对而言对产品的复杂度和门槛会高一点点,应该有几十人的团队在维护,如今日头条,虽然人家已经上千人的团队,但起步的时候也远远不止10人的团队。不过所有创业团队在起步的时候一定是精简的,一人能敌好几个人用。光这一点,对摘客又多了几分好感。 
                       
                      当然,我也从我的角度指出了很多产品存在的问题,比如界面相较于其他和产品定位而言,UI风格的混乱和不统一;用户评论机制的鸡肋和打造UGC社区氛围问题;产品人群定位等问题都进行了探讨;
                       
                      就个性化推荐而言,摘客切入的是互联网资讯垂直行业,相较于目前已经做得较好的科技媒体,像36氪、虎嗅、极客公园,以及同样主打个性推荐的今日头像,摘客还是有明显的差异性,找到了细分领域。而就阅读而言,用户是否真的需要这么细分的需求呢?这是产品值得思考的问题。 
                       
                      摘客负责人告诉我们,已将上线的2.0.0版本会对目前的产品有一个较大的改进和提高,尤其是目前被人诟病的界面,因此当下就去下载更新了,大改版的白蓝为主色的界面,真实小清晰一脸啊,侧拉导航改为底部导航,也大大比旧版提高了用户的交互体验; 
                       











                      通过深入的了解后,整个团队给人的感觉相较一般的创业团队,更耐得住性子,沉下心来打磨一件他们认为有价值的产品。相比那些为了拿钱融资,冲业务指标而放弃初心的很多创业团队,更欣赏现在还可以静心做产品的团队。 
                       
                      值得恭喜的是,他们告诉我摘客已经在融资阶段,并且有了明确性的资金意向,具体的消息相信在不久的将来可以听到。 查看全部
                      创业关闭大潮,它潜伏修炼 
                       
                      在去年通过朋友圈的推荐,下载了一款产品摘客,一开始被他们的独特的分类阅读所吸引,虽然产品当时还有很多的问题,但是对于用户来说,其独特的细分个性化阅读有别于其他APP,当时的体验还是不错的。还有其搜索功能,当时发现搜索时,很多时候都能意外的发现很多好文章,因此建立了该产品的第一映像。 
                       
                      后来机缘巧合,认识到这款产品的团队负责人,因此也特地对摘客与其进行了相关的交流和探讨。 
                       
                      惊讶的是整个团队不过10+人,就包括了后台、前端、测试、运营等人员,原本以为主打个性化推荐算法的产品,相对而言对产品的复杂度和门槛会高一点点,应该有几十人的团队在维护,如今日头条,虽然人家已经上千人的团队,但起步的时候也远远不止10人的团队。不过所有创业团队在起步的时候一定是精简的,一人能敌好几个人用。光这一点,对摘客又多了几分好感。 
                       
                      当然,我也从我的角度指出了很多产品存在的问题,比如界面相较于其他和产品定位而言,UI风格的混乱和不统一;用户评论机制的鸡肋和打造UGC社区氛围问题;产品人群定位等问题都进行了探讨;
                       
                      就个性化推荐而言,摘客切入的是互联网资讯垂直行业,相较于目前已经做得较好的科技媒体,像36氪、虎嗅、极客公园,以及同样主打个性推荐的今日头像,摘客还是有明显的差异性,找到了细分领域。而就阅读而言,用户是否真的需要这么细分的需求呢?这是产品值得思考的问题。 
                       
                      摘客负责人告诉我们,已将上线的2.0.0版本会对目前的产品有一个较大的改进和提高,尤其是目前被人诟病的界面,因此当下就去下载更新了,大改版的白蓝为主色的界面,真实小清晰一脸啊,侧拉导航改为底部导航,也大大比旧版提高了用户的交互体验; 
                       

                      图片1.png


                      图片2.png


                      通过深入的了解后,整个团队给人的感觉相较一般的创业团队,更耐得住性子,沉下心来打磨一件他们认为有价值的产品。相比那些为了拿钱融资,冲业务指标而放弃初心的很多创业团队,更欣赏现在还可以静心做产品的团队。 
                       
                      值得恭喜的是,他们告诉我摘客已经在融资阶段,并且有了明确性的资金意向,具体的消息相信在不久的将来可以听到。
                      1
                      评论

                      甲骨文收购StackEngine 提升云业务竞争力 新闻资讯 互联网

                      beyond 发表了文章 • 723 次浏览 • 2015-12-23 11:22 • 来自相关话题

                      12月23日消息,据华尔街日报报道,甲骨文最新的一笔收购虽然规模不大(涉及不到50名员工),但它可谓该公司重塑自我适应快速市场变化过程中迈出的重要一步。该数据库巨头上周五悄然收购了德州奥斯汀的创业公司StackEngine。
                       
                      甲骨文未披露该交易的条款,但该收购将会有利于其具有重大战略意义的公共云业务的发展。

                      该集装箱运营平台将会促进甲骨文基于集装箱软件的新一代云服务的销售。前谷歌工程师、风投公司Accel Partners入驻创业者乔·布雷达(Joe Breda)指出,集装箱是计算机程序开发方式突变的一部分,给软件开发者带来了在大型网络上快速开发和推出软件的新途径。

                      该收购可能有助于甲骨文追赶其它在创业公司Docker崛起后十分看重集装箱技术的科技巨头。Docker于2013年年初以开源许可形式开放其集装箱技术,该概念由此开始普及。Docker产品高级副总裁斯科特·约翰斯顿(Scott Johnston)指出,在过去的一年里,包括IBM、VMware、微软和亚马逊在内的云计算提供商都曾推出基于Docker的软件与服务。

                      开发集装箱管理软件的创业公司Kismatic CEO帕特里克·雷利(Patrick Reilly)说道,“事实上,这些公司都在针对这一趋势进行投资,感觉大公司们都开始意识到该理念不同凡响了。”

                      甲骨文计划让StackEngine团队留在奥斯汀,其员工将在那里为甲骨文的云计算产品开发新功能。甲骨文云开发副总裁彼得·马格努松(Peter Magnusson)表示,StackEngine打造的集装箱管理软件将应用于甲骨文的集装箱服务,该类服务将“成为企业计算的重要部分”。

                      StackEngine的技术或许可帮助甲骨文的云服务吸引更多的企业客户。甲骨文在云领域的发展并不顺利,目前它的营收还主要依靠其它的业务。传统软件的许可和产品支持合约占该公司营收的70%。

                      在最近一个季度,甲骨文的新软件许可销售额同比下降18%。它的云计算业务收入为6.49亿美元,同比增长7%,但该增幅要远远落后于亚马逊。后者的云业务在最近一个季度实现了高达78%的增长。 查看全部
                      12月23日消息,据华尔街日报报道,甲骨文最新的一笔收购虽然规模不大(涉及不到50名员工),但它可谓该公司重塑自我适应快速市场变化过程中迈出的重要一步。该数据库巨头上周五悄然收购了德州奥斯汀的创业公司StackEngine。
                       
                      甲骨文未披露该交易的条款,但该收购将会有利于其具有重大战略意义的公共云业务的发展。

                      该集装箱运营平台将会促进甲骨文基于集装箱软件的新一代云服务的销售。前谷歌工程师、风投公司Accel Partners入驻创业者乔·布雷达(Joe Breda)指出,集装箱是计算机程序开发方式突变的一部分,给软件开发者带来了在大型网络上快速开发和推出软件的新途径。

                      该收购可能有助于甲骨文追赶其它在创业公司Docker崛起后十分看重集装箱技术的科技巨头。Docker于2013年年初以开源许可形式开放其集装箱技术,该概念由此开始普及。Docker产品高级副总裁斯科特·约翰斯顿(Scott Johnston)指出,在过去的一年里,包括IBM、VMware、微软和亚马逊在内的云计算提供商都曾推出基于Docker的软件与服务。

                      开发集装箱管理软件的创业公司Kismatic CEO帕特里克·雷利(Patrick Reilly)说道,“事实上,这些公司都在针对这一趋势进行投资,感觉大公司们都开始意识到该理念不同凡响了。”

                      甲骨文计划让StackEngine团队留在奥斯汀,其员工将在那里为甲骨文的云计算产品开发新功能。甲骨文云开发副总裁彼得·马格努松(Peter Magnusson)表示,StackEngine打造的集装箱管理软件将应用于甲骨文的集装箱服务,该类服务将“成为企业计算的重要部分”。

                      StackEngine的技术或许可帮助甲骨文的云服务吸引更多的企业客户。甲骨文在云领域的发展并不顺利,目前它的营收还主要依靠其它的业务。传统软件的许可和产品支持合约占该公司营收的70%。

                      在最近一个季度,甲骨文的新软件许可销售额同比下降18%。它的云计算业务收入为6.49亿美元,同比增长7%,但该增幅要远远落后于亚马逊。后者的云业务在最近一个季度实现了高达78%的增长。
                      0
                      评论

                      一个IT人的职业规划 互联网 新闻资讯 机器学习

                      evelyn酱 发表了文章 • 1288 次浏览 • 2015-12-23 10:56 • 来自相关话题

                      今年的校园秋季招聘已经进入尾声,计算机软件行业,作为每年校园招聘的重头戏,都会受到极大的关注。虽然阿里巴巴裁员、百度暂停校招的消息此起彼伏,但依旧无法阻止一大波鲜肉孤注一掷得注入互联网行业。同学们开始关注各大公司的官网,开始一遍遍得修改自己的简历,开始上网搜索今年的面试经验,开始刷旧的笔试题目…… 
                       
                      找工作的状态总的来说就是迷茫!迷茫!迷茫!实习中的状态总的来说就是心累!心累!心累! 
                       
                      摘客作为贴心的公众号,为正在心累的工作瓶颈的同事们和还在迷茫和学校社会衔接处的同学们答疑解惑。 
                       
                      主讲人李海峰的经历就是一个典型的IT人经历:从信息管理学院毕业,进入软件行业工作,从技术到管理层,又从管理层做精准技术,其中不断提升自己的英语水平,金融知识水平,自学机器学习。 
                       
                      李海峰在自己的见解上介绍了计算机行业最基本的工作:开发/测试/PM的具体工作,也介绍了时下最容易入门,最热门的计算机语言。 
                       
                      对于同学们的提问,李海峰都进行一一解答。作为一个成功的技术人和管理者,李海峰最大的收获就是要在每一次的转型中努力寻找到自己所喜欢做的事情,学习的过程也是以点成线,以线成面。 
                       
                      最后借用王国维《人间词话》的内容来总结海峰分享给大家的学习之道: 
                      “古今之成大事业、大学问者,必经过三种之境界: 
                      ‘昨夜西风凋碧树。独上高楼,望尽天涯路。’此第一境也。 
                      ‘衣带渐宽终不悔,为伊消得人憔悴。’此第二境也。 
                      ‘众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。’此第三境也。” 
                       
                       以下为李海峰演讲实录: 
                       
                      大家晚上好,我是来自浙江网新恒天软件有限公司大数据项目组的技术负责人李海峰,今天由我给大家分享一个IT人的职业生涯规划。 我从信息管理学院毕业,进入软件行业工作,从技术到管理层,又从管理层做精准技术,其中不断提升自己的英语水平,金融知识水平,自学机器学习。在过程中我就是在不断得寻找自己喜欢的东西,并且坚持做下去。 
                       
                      接下来我来讲讲一个软件公司最多的职业,开发。对开发的要求,不外乎下面几个:具有完整设计一个中型项目的能力;深入理解其所使用工具的原理,熟练使用各种标准类库或第三方类库;独立完成多个项目或多个Release的核心模块;代码质量优异,Debug能力强;系统设计和开发中具备很强的创新能力;具有带领团队进行技术攻关的能力。在刚刚进入公司的时候,我建议大家至少要熟练掌握一种语言,多学习。正常的情况下,用3年的时间就可以把自己锻炼成一个高级软件工程师。 
                       
                      然后是相对较多的一个职业,测试。对测试的要求是这样的:具有一定的测试规划和管理能力;深入理解软件测试过程,具有制定和改进软件测试过程的能力;具有较强的代码、文档审查能力;深入理解各种软件测试工具,并能熟练应用;对软件度量有一定的理解,具有较强的软件测试分析和设计能力;具有带领团队进行相关测试工作的能力。所以测试需要有一定的文档的编辑能力,同时需要具有比较好的交流能力,因为需要和客户方进行软件功能上的交流。 
                       
                      大家应该都很关心什么时候可以做一个program manager,但做PM的要求不仅像做一个开发工程师,首先需要可以搞定客户,对需求进行分析,制定实现方案,对项目的预期管理,从接触到合同到上线都要全程把关;同时要管理团队,包括对一个团队的组建,调节团队氛围,在成员出现矛盾时做一个救火队长。作为一个PM必须要做到的是先做人,再做事! 
                       
                       接下来给大家分享一下现在比较热门的语言:
                       | Java 仍然是主流,应用越来广泛,非常适合作为基础语言学习。强烈推荐大家学习
                       | Python 胶水语言,各个语言的粘合剂。在大数据时代也是数据分析基础语言,如对数据分析挖掘感兴趣,推荐学习。 
                       | PHP 网站快速开发的不二选择,在互联网+创业的高潮,PHP人才的薪水是涨幅最快的。
                       | JS 前端语言,HTML5未来有更广阔的应用空间,对前端有兴趣的尽量学好。 
                       | OC 只能应用在苹果平台,比较局限,建议慎重选择。 
                       | Scalla 函数式编程的代表语言,spark上的主流开发语言。不过只能打辅助,不能当Carry,可以做为学好Java后的一个补充。
                       | Shell 脚本语言,是Linux平台开发必备技能。大牛都要掌握一两门脚本语言的哦~ 
                       
                      总结来说,我觉得大家都不需要太着急,不要纠结于,我到底应该学些什么,我什么时候才能变成一个牛人。以前我每天爬山背单词,也不知道自己的英语究竟在什么水平了,但有一天碰到一个老外,才知道自己的英语原来已经这么溜了!所以其实,当你在实践中,逐渐得学习了很多东西,当你回过头来看的时候,就会发现自己已经站在很高的地方了!  
                      最后借用人生的三个境界来分享我的学习心境: 
                      最开始是迷茫的:昨夜西风凋碧树。独上高楼,望尽天涯路。 然后找到了自己喜欢的东西:衣带渐宽终不悔,为伊消得人憔悴。 接着就可以找到一些喜悦:众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。 
                       
                       谢谢! 
                       
                       下面是一些问答实录:
                       
                       1、对于非IT专业的在IT界发展有啥建议吗?
                       
                       首先找准职业方向,可能会走很多弯路,再找方向的阶段多听专业人的意见,找到适合自己的 ,然后沉下来学习即可。最重要的是好好提高编码能力,要从基础开始,从java基本语法开始,扎实基本功,IT是最不问出生的行业,无论是什么专业,只要有技术都能找到好工作。
                       
                       2、30岁后程序员转哪些职业? 
                      找到自己奋斗的方向,就不会觉得累也不会没有目标。找目标的过程很重要!我找到的就是大数据方向,对我来说为伊消得人憔悴,我不会转型,会朝这个方向一直努力。 
                       
                      3、大数据应该学哪些东西?是不是对算法要求比较高? 
                       
                      首先,优酷上找一些视频,如R语言的视频教程;然后学习公开课;《数据挖掘概念与技术》等机器学习方面的书;读机器学习方面的博客,一篇好的博客可以写一个算法。主要是借助网络来学习。《数学之美》把数学讲的很通俗,机器学习必看。 
                       
                       4、Java的基本功能书有推荐吗? 
                      《thinking in Java》。 JDK源代码,tomcat源代码,还是要多看源代码,面试的时候很有用。
                       
                       5、如何管理你的知识? 
                      技多不压身,不需要管理。 
                       
                      6、追求技术的同时,怎么看待薪水和现实之间的矛盾?
                       薪水和现实之间是没有矛盾的,前几年不要对薪水有太高的期望,够生活,够自己花就好了,三年后你奋斗成高级工程师后再想着攒钱买房这些事情,所以我认为只要好好学技术就好,不会有太大的矛盾。 查看全部
                      今年的校园秋季招聘已经进入尾声,计算机软件行业,作为每年校园招聘的重头戏,都会受到极大的关注。虽然阿里巴巴裁员、百度暂停校招的消息此起彼伏,但依旧无法阻止一大波鲜肉孤注一掷得注入互联网行业。同学们开始关注各大公司的官网,开始一遍遍得修改自己的简历,开始上网搜索今年的面试经验,开始刷旧的笔试题目…… 
                       
                      找工作的状态总的来说就是迷茫!迷茫!迷茫!实习中的状态总的来说就是心累!心累!心累! 
                       
                      摘客作为贴心的公众号,为正在心累的工作瓶颈的同事们和还在迷茫和学校社会衔接处的同学们答疑解惑。 
                       
                      主讲人李海峰的经历就是一个典型的IT人经历:从信息管理学院毕业,进入软件行业工作,从技术到管理层,又从管理层做精准技术,其中不断提升自己的英语水平,金融知识水平,自学机器学习。 
                       
                      李海峰在自己的见解上介绍了计算机行业最基本的工作:开发/测试/PM的具体工作,也介绍了时下最容易入门,最热门的计算机语言。 
                       
                      对于同学们的提问,李海峰都进行一一解答。作为一个成功的技术人和管理者,李海峰最大的收获就是要在每一次的转型中努力寻找到自己所喜欢做的事情,学习的过程也是以点成线,以线成面。 
                       
                      最后借用王国维《人间词话》的内容来总结海峰分享给大家的学习之道: 
                      “古今之成大事业、大学问者,必经过三种之境界: 
                      ‘昨夜西风凋碧树。独上高楼,望尽天涯路。’此第一境也。 
                      ‘衣带渐宽终不悔,为伊消得人憔悴。’此第二境也。 
                      ‘众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。’此第三境也。” 
                       
                       以下为李海峰演讲实录: 
                       
                      大家晚上好,我是来自浙江网新恒天软件有限公司大数据项目组的技术负责人李海峰,今天由我给大家分享一个IT人的职业生涯规划。 我从信息管理学院毕业,进入软件行业工作,从技术到管理层,又从管理层做精准技术,其中不断提升自己的英语水平,金融知识水平,自学机器学习。在过程中我就是在不断得寻找自己喜欢的东西,并且坚持做下去。 
                       
                      接下来我来讲讲一个软件公司最多的职业,开发。对开发的要求,不外乎下面几个:具有完整设计一个中型项目的能力;深入理解其所使用工具的原理,熟练使用各种标准类库或第三方类库;独立完成多个项目或多个Release的核心模块;代码质量优异,Debug能力强;系统设计和开发中具备很强的创新能力;具有带领团队进行技术攻关的能力。在刚刚进入公司的时候,我建议大家至少要熟练掌握一种语言,多学习。正常的情况下,用3年的时间就可以把自己锻炼成一个高级软件工程师。 
                       
                      然后是相对较多的一个职业,测试。对测试的要求是这样的:具有一定的测试规划和管理能力;深入理解软件测试过程,具有制定和改进软件测试过程的能力;具有较强的代码、文档审查能力;深入理解各种软件测试工具,并能熟练应用;对软件度量有一定的理解,具有较强的软件测试分析和设计能力;具有带领团队进行相关测试工作的能力。所以测试需要有一定的文档的编辑能力,同时需要具有比较好的交流能力,因为需要和客户方进行软件功能上的交流。 
                       
                      大家应该都很关心什么时候可以做一个program manager,但做PM的要求不仅像做一个开发工程师,首先需要可以搞定客户,对需求进行分析,制定实现方案,对项目的预期管理,从接触到合同到上线都要全程把关;同时要管理团队,包括对一个团队的组建,调节团队氛围,在成员出现矛盾时做一个救火队长。作为一个PM必须要做到的是先做人,再做事! 
                       
                       接下来给大家分享一下现在比较热门的语言:
                       | Java 仍然是主流,应用越来广泛,非常适合作为基础语言学习。强烈推荐大家学习
                       | Python 胶水语言,各个语言的粘合剂。在大数据时代也是数据分析基础语言,如对数据分析挖掘感兴趣,推荐学习。 
                       | PHP 网站快速开发的不二选择,在互联网+创业的高潮,PHP人才的薪水是涨幅最快的。
                       | JS 前端语言,HTML5未来有更广阔的应用空间,对前端有兴趣的尽量学好。 
                       | OC 只能应用在苹果平台,比较局限,建议慎重选择。 
                       | Scalla 函数式编程的代表语言,spark上的主流开发语言。不过只能打辅助,不能当Carry,可以做为学好Java后的一个补充。
                       | Shell 脚本语言,是Linux平台开发必备技能。大牛都要掌握一两门脚本语言的哦~ 
                       
                      总结来说,我觉得大家都不需要太着急,不要纠结于,我到底应该学些什么,我什么时候才能变成一个牛人。以前我每天爬山背单词,也不知道自己的英语究竟在什么水平了,但有一天碰到一个老外,才知道自己的英语原来已经这么溜了!所以其实,当你在实践中,逐渐得学习了很多东西,当你回过头来看的时候,就会发现自己已经站在很高的地方了!  
                      最后借用人生的三个境界来分享我的学习心境: 
                      最开始是迷茫的:昨夜西风凋碧树。独上高楼,望尽天涯路。 然后找到了自己喜欢的东西:衣带渐宽终不悔,为伊消得人憔悴。 接着就可以找到一些喜悦:众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。 
                       
                       谢谢! 
                       
                       下面是一些问答实录:
                       
                       1、对于非IT专业的在IT界发展有啥建议吗?
                       
                       首先找准职业方向,可能会走很多弯路,再找方向的阶段多听专业人的意见,找到适合自己的 ,然后沉下来学习即可。最重要的是好好提高编码能力,要从基础开始,从java基本语法开始,扎实基本功,IT是最不问出生的行业,无论是什么专业,只要有技术都能找到好工作。
                       
                       2、30岁后程序员转哪些职业? 
                      找到自己奋斗的方向,就不会觉得累也不会没有目标。找目标的过程很重要!我找到的就是大数据方向,对我来说为伊消得人憔悴,我不会转型,会朝这个方向一直努力。 
                       
                      3、大数据应该学哪些东西?是不是对算法要求比较高? 
                       
                      首先,优酷上找一些视频,如R语言的视频教程;然后学习公开课;《数据挖掘概念与技术》等机器学习方面的书;读机器学习方面的博客,一篇好的博客可以写一个算法。主要是借助网络来学习。《数学之美》把数学讲的很通俗,机器学习必看。 
                       
                       4、Java的基本功能书有推荐吗? 
                      《thinking in Java》。 JDK源代码,tomcat源代码,还是要多看源代码,面试的时候很有用。
                       
                       5、如何管理你的知识? 
                      技多不压身,不需要管理。 
                       
                      6、追求技术的同时,怎么看待薪水和现实之间的矛盾?
                       薪水和现实之间是没有矛盾的,前几年不要对薪水有太高的期望,够生活,够自己花就好了,三年后你奋斗成高级工程师后再想着攒钱买房这些事情,所以我认为只要好好学技术就好,不会有太大的矛盾。
                      0
                      评论

                      小众公众号的简单运营 运营 互联网

                      evelyn酱 发表了文章 • 1136 次浏览 • 2015-12-14 11:35 • 来自相关话题

                      我们从4月初开始运营一个新的公众号。目前一直在持续运营中,粉丝数量和粉丝关注度也保持稳步上升,每天分享的文章也有很多的好评,得到转发。同时也收到过很多的吐槽,但我们一直很关注粉丝的反馈和吐槽,毕竟这才能让我们做的更好。

                      但是公众号运营的痛点太多了。粉丝增长不够快,用户粘性不够大,文章阅读数量不够多,传播力度不够广。对于一个公众号来说,不论粉丝多还是少,热情还是不热情,都需要运营人员精心的照料。今天我不说怎么推广这个公众号,只从自己经营这个公众号以来得到的一点经验来分项怎么做一个公众号。
                       
                      公众号建设首先公众号要有一个自己的形态,现在分订阅号、服务号、企业号三种,最常见的,也是我正在做的就是订阅号,我的号也是提供了公众号最基础的服务,信息推送。
                      1.不可忽视的自动回复内容:
                      自动回复有下面几种情况:被添加的内容、自动回复内容、特定关键词回复内容

                      被添加的自动回复是一个用户对你的公众号的第一次接触,如果写的过长或者过短都会影响用户对公众号的认知。如果是“你好,欢迎关注***”,那么用户只会觉得,你没有用心在经营这个号,如果长篇大论得说你的产品特色,也容易让人厌倦。所以建议是,先打招呼,再简单一句话介绍公众号的功能。

                      自动回复,根据微信公众号的规则,在1小时内自动回复只会被出发一次,所以这块建议就是写上,已收到,会尽快回复之类的字眼就可以。

                      关键词自动回复,这块就比较灵活。我的公众号在做信息查询的时候会常用到这个。一般也不需要设置关键词回复。特别的可以提示的是,比方说有活动这类的内容,那么关键词可以设置一个“活动”,方便用户找到想要的信息。

                      2.让信息更有条理的菜单栏设置
                       
                      很多小微公众号会忽视菜单栏的设置,但是其实菜单栏是必不可少的。公众号的特点是每天只能建立一条群发,这就容易导致,万一添加的用户是在你群发之后,或者今天用户不巧没有收到你的信息(这个情况还是很少见),那就会造成进入后,没有直接沟通交流的机会,很尴尬,所以如果你的公众号设置一个简单的菜单,让新用户,或者是想了解更多的用户有查看的平台。






                      每日推送内容每日推送也是公众号最重要的内容。我们的公众号是做IT资讯推荐的,所以,我们每天有基本的模式。

                      如果文章分2、1,其中2为引流文章,让用户看了愿意分享的,1为增强用户知识体系,看了愿意不停关注来提升自己的能力。选文章的前提是精和新。
                      每天的基本模式:精选2+技术干货1+大数据1+互联网金融1+o2o1+电商1+产品经理1

                      其实在固定模式下推送新闻,不用多久就能发现用户比较关注的焦点。而且推送内容的走向也和时间有一定联系。由一周的统计可以看出秋季招聘期间面试经验、干货内容是比较受关注的,双十一期间电商和创业的关注度也比较高。
                      169  【面试经验】腾讯、百度、网易游戏、华为Offer及笔经面经
                      151  【技术干货】Google开源最新机器学习系统TensorFlow
                      146  【面试经验】产品经理面经:3个产品Offer是如何拿到的
                      153  【面试经验】零产品经验斩获校招产品Offer经历
                      146  【面试经验】给Android程序员的一些面试建议
                      190  【技术干货】分类算法总结
                      153  【创业】2015年的互联网创业趋势可能不是你想象的那么回事
                      147  【电商】双11这天,90%程序员都在干什么
                      143  【产品】别老想着脱单,今年流行“性冷淡”产品
                      145  【创业】曾穷到被女友抛弃的他投奔马云后身价102亿
                      177  【创业】那家将融10亿美元的AR公司Magic Leap到底有多拽
                      162  【社会】人与人之间变得更冷漠,和手机一毛关系都没有
                      以上是根据一周的统计内容得到最关注的焦点内容编辑标题:无所谓标题党,但标题请简洁。太长的标题,在碎片化信息时代,容易令人厌倦。
                      摘要:你可能会觉得摘要没有用,编辑内容的时候我们总是会忽视摘要的部分,而在转发的时候摘要是必须会出现的,这时候如果摘要不编辑好,内容就会很乱,也影响转发的效果。转发的时候也别空转发,稍微写点内容,自己的看法,会更吸引其他用户的注意。






                           摘要写好了:





                           摘要没写好:





                      文字:分段,分段,分段!文字必须分段,不分段的手机效果就是挤在一起,令人不想看。字号的大小,新闻类的文章建议16px,这样看起来最舒服;文艺小清新类的文章建议14px,文艺范儿的小一点反而轻巧。
                      图片:文章最好能够图文并茂,图片居中看起来会舒服很多。
                      段落:用编辑器加一些看起来更简洁的小图标,对整篇文章的帮助是很大的。







                      找对人群公众号相当于一个产品,所以找准定位对于找对一群适合的人群很重要。对的人群指的应该不是一次突然骤增的人数,而是长期用户的保留。





                           我们找准定位为正在找工作的大学生之后在做推广,效果就出现了非常显著的高峰。
                      最重要的小事推送时间:
                      推送时间真的非常重要,甚至是一篇相同的文章,不同的时间推送,阅读量和转发量也会大不相同。之前一直在探索最佳的推送时间,得到一个基本觉得很靠谱的结论。
                      最忌:中午推送
                      一般:早晨
                      最佳:晚上8点-9点之间 查看全部
                      我们从4月初开始运营一个新的公众号。目前一直在持续运营中,粉丝数量和粉丝关注度也保持稳步上升,每天分享的文章也有很多的好评,得到转发。同时也收到过很多的吐槽,但我们一直很关注粉丝的反馈和吐槽,毕竟这才能让我们做的更好。

                      但是公众号运营的痛点太多了。粉丝增长不够快,用户粘性不够大,文章阅读数量不够多,传播力度不够广。对于一个公众号来说,不论粉丝多还是少,热情还是不热情,都需要运营人员精心的照料。今天我不说怎么推广这个公众号,只从自己经营这个公众号以来得到的一点经验来分项怎么做一个公众号。
                       
                      • 公众号建设
                      • 首先公众号要有一个自己的形态,现在分订阅号、服务号、企业号三种,最常见的,也是我正在做的就是订阅号,我的号也是提供了公众号最基础的服务,信息推送。

                      • 1.不可忽视的自动回复内容:

                      • 自动回复有下面几种情况:被添加的内容、自动回复内容、特定关键词回复内容


                        • 被添加的自动回复是一个用户对你的公众号的第一次接触,如果写的过长或者过短都会影响用户对公众号的认知。如果是“你好,欢迎关注***”,那么用户只会觉得,你没有用心在经营这个号,如果长篇大论得说你的产品特色,也容易让人厌倦。所以建议是,先打招呼,再简单一句话介绍公众号的功能。


                          • 自动回复,根据微信公众号的规则,在1小时内自动回复只会被出发一次,所以这块建议就是写上,已收到,会尽快回复之类的字眼就可以。


                            • 关键词自动回复,这块就比较灵活。我的公众号在做信息查询的时候会常用到这个。一般也不需要设置关键词回复。特别的可以提示的是,比方说有活动这类的内容,那么关键词可以设置一个“活动”,方便用户找到想要的信息。


                              • 2.让信息更有条理的菜单栏设置

                               
                              • 很多小微公众号会忽视菜单栏的设置,但是其实菜单栏是必不可少的。公众号的特点是每天只能建立一条群发,这就容易导致,万一添加的用户是在你群发之后,或者今天用户不巧没有收到你的信息(这个情况还是很少见),那就会造成进入后,没有直接沟通交流的机会,很尴尬,所以如果你的公众号设置一个简单的菜单,让新用户,或者是想了解更多的用户有查看的平台。



                                菜单栏的作用.png

                                • 每日推送内容
                                • 每日推送也是公众号最重要的内容。我们的公众号是做IT资讯推荐的,所以,我们每天有基本的模式。


                                  • 如果文章分2、1,其中2为引流文章,让用户看了愿意分享的,1为增强用户知识体系,看了愿意不停关注来提升自己的能力。选文章的前提是精和新。

                                  • 每天的基本模式:精选2+技术干货1+大数据1+互联网金融1+o2o1+电商1+产品经理1


                                    • 其实在固定模式下推送新闻,不用多久就能发现用户比较关注的焦点。而且推送内容的走向也和时间有一定联系。由一周的统计可以看出秋季招聘期间面试经验、干货内容是比较受关注的,双十一期间电商和创业的关注度也比较高。

                                    • 169  【面试经验】腾讯、百度、网易游戏、华为Offer及笔经面经

                                    • 151  【技术干货】Google开源最新机器学习系统TensorFlow

                                    • 146  【面试经验】产品经理面经:3个产品Offer是如何拿到的

                                    • 153  【面试经验】零产品经验斩获校招产品Offer经历

                                    • 146  【面试经验】给Android程序员的一些面试建议

                                    • 190  【技术干货】分类算法总结

                                    • 153  【创业】2015年的互联网创业趋势可能不是你想象的那么回事

                                    • 147  【电商】双11这天,90%程序员都在干什么

                                    • 143  【产品】别老想着脱单,今年流行“性冷淡”产品

                                    • 145  【创业】曾穷到被女友抛弃的他投奔马云后身价102亿

                                    • 177  【创业】那家将融10亿美元的AR公司Magic Leap到底有多拽

                                    • 162  【社会】人与人之间变得更冷漠,和手机一毛关系都没有

                                    • 以上是根据一周的统计内容得到最关注的焦点
                                    • 内容编辑
                                    • 标题:无所谓标题党,但标题请简洁。太长的标题,在碎片化信息时代,容易令人厌倦。

                                    • 摘要:你可能会觉得摘要没有用,编辑内容的时候我们总是会忽视摘要的部分,而在转发的时候摘要是必须会出现的,这时候如果摘要不编辑好,内容就会很乱,也影响转发的效果。转发的时候也别空转发,稍微写点内容,自己的看法,会更吸引其他用户的注意。



                                      让转发更好看.png

                                           摘要写好了:

                                      摘要写好了.png

                                           摘要没写好:

                                      摘要没写好.png

                                      • 文字:分段,分段,分段!文字必须分段,不分段的手机效果就是挤在一起,令人不想看。字号的大小,新闻类的文章建议16px,这样看起来最舒服;文艺小清新类的文章建议14px,文艺范儿的小一点反而轻巧。

                                      • 图片:文章最好能够图文并茂,图片居中看起来会舒服很多。

                                      • 段落:用编辑器加一些看起来更简洁的小图标,对整篇文章的帮助是很大的。



                                        分段小图标.png


                                          • 找对人群
                                          • 公众号相当于一个产品,所以找准定位对于找对一群适合的人群很重要。对的人群指的应该不是一次突然骤增的人数,而是长期用户的保留。


                                          做一次校园IT推广的强度.png

                                               我们找准定位为正在找工作的大学生之后在做推广,效果就出现了非常显著的高峰。
                                          • 最重要的小事
                                          • 推送时间:

                                          • 推送时间真的非常重要,甚至是一篇相同的文章,不同的时间推送,阅读量和转发量也会大不相同。之前一直在探索最佳的推送时间,得到一个基本觉得很靠谱的结论。

                                          • 最忌:中午推送

                                          • 一般:早晨

                                          • 最佳:晚上8点-9点之间

                                          0
                                          评论

                                          互联网时代的用户阅读习惯是什么样的 互联网

                                          evelyn酱 发表了文章 • 918 次浏览 • 2015-12-10 13:22 • 来自相关话题

                                           

                                          大图.jpg

                                           
                                          0
                                          评论

                                          盘点:被互联网女皇报告点名,美国14家潜在“独角兽”SaaS公司 互联网

                                          oscar 发表了文章 • 1373 次浏览 • 2015-07-06 14:30 • 来自相关话题

                                           这个slide是从女皇报告中节选出来的,互联网对消费者群体带来了颠覆式的影响,这种影响也诞生了伟大的新时代的互联网公司,Airbnb,uber,instantcart就是其中在住行吃方面的典范。而这种颠覆的影响将迅速扩展到企业端,于是企业SaaS服务拥有巨大的机会。






                                          而在美国,这些企业服务公司已获得极大的关注:

                                          1、Slack:成立1年多估值28亿美元当人们谈论Slack时,经常会说它特别“有趣”。使用Slack不像是在工作,而是在“放松”,但是在这个过程中却能通过Slack把该做工作切实有效地完成。有3个方面的因素是Slack脱颖而出的关键:用户界面与众不同;使用感受与众不同;交流方式与众不同。






                                           2、Square:移动支付鼻祖,估值60亿美元Twitter之父Jack Dorsey的创办的Square,移动支付公司日交易额已达1亿美元,深入到中小企业、个体零售商和移动商贩里去,并不断拓展到各种O2O的订单支付环节。





                                            3、Stripe:在线支付挑战者,估值50亿美元由20多岁的两兄弟Patrick Collison和John Collison创办的Stripe为公司提供网上支付的解决方案。在这两位分别从麻省理工和哈佛辍学创业的兄弟看来,PayPal的电子支付流程是在是太繁琐太复杂了,他们的目标是要把在线接收付款服务变成像添加 YouTube 视频一般简单。






                                            4、Domo:低调的商业智能软件公司,估值20亿美DOMO是一个真正的业务管理平台,可以将许多不同来源的数据以真正实时、直观的方式呈现出来。而Domo的创始人乔希•詹姆斯(Josh James)早在1996年就创办了Omniture公司,SaaS这个商业模式的鼻祖,也是Analytics这个领域的开创者和领导者。2009年,Adobe以18亿美元的价格收购了Omniture,后者改名叫做Adobe Analytics。2010年乔希•詹姆斯(Josh James)离开Adobe,从Benchmark Capital拿到了3000万美元的第一轮融资并创建了DOMO。






                                            5、DocuSign:小签名大市场,数字签名公司估值30亿美元DocuSign是一家提供电子签名服务的初创企业,成立于2003年,总部位于旧金山,在全球有10个分支机构,共有1300名员工。通过DocunSign的服务,用户只需通过智能手机或平板电脑即可完成手写签名,免除了用户要通过传真或邮件签名的麻烦;同时DocuSign还通过数字签名等方式验证用户的真伪,从而帮助企业用户安全地在网上获取具有法律效力的电子签名。目前全球188个国家有超过10万家公司以及5000万个人都在使用DocuSign的电子签名服务。






                                            6、Intercom:应用内的客户沟通工具,估值4亿美元Intercom是一款面向企业用户的客户沟通上SaaS工具,可以让企业与用户的沟通轻易在应用和网站内实现,强大的后台管理系统能够实时监控客户反馈,指派任务并统计客户的订单转换率,而相对于传统的电子邮件营销产品,应用内消息能带来更好的用户参与度(基于回复率)。






                                            7、Gainsight:帮你留住客户,估值6亿美元Gainsight公司整合了第三方应用,他们评估销售数据,使用日志,支持投票,调研报告,以及其他客户智能资源。通过收集和分析这些数据,让企业减少客户流失率。当客户出现离开风险的时候,Gainsight的系统会发出早期预警,企业因此可以采取行动,挽留客户,另外还可以提供一些工具,识别出那些对企业产品评价较高的客户,这样可以为企业带来提升销售量的机会。






                                            8、Directly:众包客户服务中心,估值1亿美元Directly以帮助创业公司将客户服务外包给其他人。Directly 希望帮助客户通过提问与回答的方式向用户提供更好的体验,而注册这家网站的一干“专家”则希望能够因此获得报酬。Directly 用户在网站上发布问题后,系统将自动分析问题,并匹配可能解答这些问题的专家,然后通过短信提醒他们。然后专家们便可以通过 Directly 网页端或者 Android 应用进行解答。大多数问题会在数小时内得到妥善解决,一旦对答案感到满意,提问者便可以关注回答者。






                                            9、Zenefits:疯狂的HR管理工具,2年估值45亿美元Zenefits 为中小企业提供免费的一站式云 HR 管理工具,简单地说,就是让 HR 杂活更简单便捷,包括员工的入职和离职手续办理,工资和福利发放,保险和退休基金办理,缴税缴费,专利追踪等等。和 Uber 一样, Zenefits 在推广过程中也受到了部分地方政府的管制。在美国犹他州, Zenefits 一度被判定为非法,罪名是不正当返利和诱导用户。罪名的由头是, Zenefits 免费提供保险办理的入口,如果用户通过 Zenefits 办理保险,保险公司需要支付给 Zenefits 5%的佣金。这样一来,绕过了保险经销商。






                                           10、Anaplan:帮助企业业务建模,估值5亿美元Anaplan是一家基于云的企业销售、运营及财务建模与规划公司。其解决方案可以收集企业客户的销售、运营及财务数据,然后运用复杂的模型对企业的绩效、开支等情况进行深入分析,为决策提供支持。






                                            11、Greenhouse:企业一体化招聘流程,估值3亿美元Greenhouse 是一家招聘领域的SaaS软件服务商,为企业提供招聘管理、求职信管理、面试、人才招聘广告评估等服务,提供求职者比较、推荐等服务。Uber、Pinterest、airbnb Snapchat、和Buzzfeed都是Greenhouse的客户。






                                            12、Checkr:高效的自动化背景调查平台,估值0.5亿美元Checkr 使用相同的数据源,提供包括社会安全号码、历史地址、性犯罪检索、恐怖分子监控名单、国家犯罪记录、驾驶记录等方面的背景调查。但与传统调查报告不同的是,Checkr 提供了一个客户只需输入名字就能得到数据反馈的 API,简化了调查报告的手工操作过程,使得背景调查更加自动化,从而更容易链接到公司现行的入职流程之中。





                                           
                                           13、Guidespark:数字化员工培训资料,估值2亿美元创立于 2008 年,为人力资源管理人员提供沟通和培训解决方案,将纸质文件变成电子文件,并将这些资料移动化。这样能够减少人力资源支持的时间,提升人力资源的效率。





                                           
                                           14、Envoy:智能访客管理系统,估值2亿美元智能访客管理系统 Envoy 专门为科技范儿的互联网公司量身打造,简它将整个访客管理流程电子化,提供从登记信息到通知负责人再到访客管理的一条龙服务,大大提升了前台效率。





                                           
                                          来源:创业投资笔记
                                          作者:苏东 查看全部
                                           这个slide是从女皇报告中节选出来的,互联网对消费者群体带来了颠覆式的影响,这种影响也诞生了伟大的新时代的互联网公司,Airbnb,uber,instantcart就是其中在住行吃方面的典范。而这种颠覆的影响将迅速扩展到企业端,于是企业SaaS服务拥有巨大的机会。

                                          1.jpg


                                          而在美国,这些企业服务公司已获得极大的关注:

                                          1、Slack:成立1年多估值28亿美元当人们谈论Slack时,经常会说它特别“有趣”。使用Slack不像是在工作,而是在“放松”,但是在这个过程中却能通过Slack把该做工作切实有效地完成。有3个方面的因素是Slack脱颖而出的关键:用户界面与众不同;使用感受与众不同;交流方式与众不同。

                                          2[1].jpg


                                           2、Square:移动支付鼻祖,估值60亿美元Twitter之父Jack Dorsey的创办的Square,移动支付公司日交易额已达1亿美元,深入到中小企业、个体零售商和移动商贩里去,并不断拓展到各种O2O的订单支付环节。

                                          3.jpg

                                            3、Stripe:在线支付挑战者,估值50亿美元由20多岁的两兄弟Patrick Collison和John Collison创办的Stripe为公司提供网上支付的解决方案。在这两位分别从麻省理工和哈佛辍学创业的兄弟看来,PayPal的电子支付流程是在是太繁琐太复杂了,他们的目标是要把在线接收付款服务变成像添加 YouTube 视频一般简单。

                                          4.jpg


                                            4、Domo:低调的商业智能软件公司,估值20亿美DOMO是一个真正的业务管理平台,可以将许多不同来源的数据以真正实时、直观的方式呈现出来。而Domo的创始人乔希•詹姆斯(Josh James)早在1996年就创办了Omniture公司,SaaS这个商业模式的鼻祖,也是Analytics这个领域的开创者和领导者。2009年,Adobe以18亿美元的价格收购了Omniture,后者改名叫做Adobe Analytics。2010年乔希•詹姆斯(Josh James)离开Adobe,从Benchmark Capital拿到了3000万美元的第一轮融资并创建了DOMO。

                                          5.jpg


                                            5、DocuSign:小签名大市场,数字签名公司估值30亿美元DocuSign是一家提供电子签名服务的初创企业,成立于2003年,总部位于旧金山,在全球有10个分支机构,共有1300名员工。通过DocunSign的服务,用户只需通过智能手机或平板电脑即可完成手写签名,免除了用户要通过传真或邮件签名的麻烦;同时DocuSign还通过数字签名等方式验证用户的真伪,从而帮助企业用户安全地在网上获取具有法律效力的电子签名。目前全球188个国家有超过10万家公司以及5000万个人都在使用DocuSign的电子签名服务。

                                          6.jpg


                                            6、Intercom:应用内的客户沟通工具,估值4亿美元Intercom是一款面向企业用户的客户沟通上SaaS工具,可以让企业与用户的沟通轻易在应用和网站内实现,强大的后台管理系统能够实时监控客户反馈,指派任务并统计客户的订单转换率,而相对于传统的电子邮件营销产品,应用内消息能带来更好的用户参与度(基于回复率)。

                                          conew_7.jpg


                                            7、Gainsight:帮你留住客户,估值6亿美元Gainsight公司整合了第三方应用,他们评估销售数据,使用日志,支持投票,调研报告,以及其他客户智能资源。通过收集和分析这些数据,让企业减少客户流失率。当客户出现离开风险的时候,Gainsight的系统会发出早期预警,企业因此可以采取行动,挽留客户,另外还可以提供一些工具,识别出那些对企业产品评价较高的客户,这样可以为企业带来提升销售量的机会。

                                          conew_8.jpg


                                            8、Directly:众包客户服务中心,估值1亿美元Directly以帮助创业公司将客户服务外包给其他人。Directly 希望帮助客户通过提问与回答的方式向用户提供更好的体验,而注册这家网站的一干“专家”则希望能够因此获得报酬。Directly 用户在网站上发布问题后,系统将自动分析问题,并匹配可能解答这些问题的专家,然后通过短信提醒他们。然后专家们便可以通过 Directly 网页端或者 Android 应用进行解答。大多数问题会在数小时内得到妥善解决,一旦对答案感到满意,提问者便可以关注回答者。

                                          conew_9.jpg


                                            9、Zenefits:疯狂的HR管理工具,2年估值45亿美元Zenefits 为中小企业提供免费的一站式云 HR 管理工具,简单地说,就是让 HR 杂活更简单便捷,包括员工的入职和离职手续办理,工资和福利发放,保险和退休基金办理,缴税缴费,专利追踪等等。和 Uber 一样, Zenefits 在推广过程中也受到了部分地方政府的管制。在美国犹他州, Zenefits 一度被判定为非法,罪名是不正当返利和诱导用户。罪名的由头是, Zenefits 免费提供保险办理的入口,如果用户通过 Zenefits 办理保险,保险公司需要支付给 Zenefits 5%的佣金。这样一来,绕过了保险经销商。

                                          conew_10.jpg


                                           10、Anaplan:帮助企业业务建模,估值5亿美元Anaplan是一家基于云的企业销售、运营及财务建模与规划公司。其解决方案可以收集企业客户的销售、运营及财务数据,然后运用复杂的模型对企业的绩效、开支等情况进行深入分析,为决策提供支持。

                                          conew_11.jpg


                                            11、Greenhouse:企业一体化招聘流程,估值3亿美元Greenhouse 是一家招聘领域的SaaS软件服务商,为企业提供招聘管理、求职信管理、面试、人才招聘广告评估等服务,提供求职者比较、推荐等服务。Uber、Pinterest、airbnb Snapchat、和Buzzfeed都是Greenhouse的客户。

                                          conew_12.jpg


                                            12、Checkr:高效的自动化背景调查平台,估值0.5亿美元Checkr 使用相同的数据源,提供包括社会安全号码、历史地址、性犯罪检索、恐怖分子监控名单、国家犯罪记录、驾驶记录等方面的背景调查。但与传统调查报告不同的是,Checkr 提供了一个客户只需输入名字就能得到数据反馈的 API,简化了调查报告的手工操作过程,使得背景调查更加自动化,从而更容易链接到公司现行的入职流程之中。

                                          conew_13.jpg

                                           
                                           13、Guidespark:数字化员工培训资料,估值2亿美元创立于 2008 年,为人力资源管理人员提供沟通和培训解决方案,将纸质文件变成电子文件,并将这些资料移动化。这样能够减少人力资源支持的时间,提升人力资源的效率。

                                          conew_14.jpg

                                           
                                           14、Envoy:智能访客管理系统,估值2亿美元智能访客管理系统 Envoy 专门为科技范儿的互联网公司量身打造,简它将整个访客管理流程电子化,提供从登记信息到通知负责人再到访客管理的一条龙服务,大大提升了前台效率。

                                          conew_15.jpg

                                           
                                          来源:创业投资笔记
                                          作者:苏东