imgeek

imgeek

7
回复

收集基于环信SDK开发的开源项目 开源项目

回眸淡然笑 回复了问题 • 9 人关注 • 3978 次浏览 • 2017-12-03 00:50 • 来自相关话题

11
评论

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

KevinGong 发表了文章 • 9039 次浏览 • 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
8
评论

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

dujiepeng 发表了文章 • 7985 次浏览 • 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...小伙伴们还有什么想知道欢迎跟帖提出。
 
0
评论

【环信征文】祭天时不同程序员的不同杀法 imgeek

东风玖哥 发表了文章 • 189 次浏览 • 2017-09-14 13:53 • 来自相关话题

这两天一张“还杀了一个程序员祭天”的截图火了,很多同行在纷纷谴责这位无良老板的同时把矛头也指向了我,已经遇到好几个人问我:“作为程序员和一个杀程序员祭天的老板做校友是什么体验?”

在此我想帮我的校友洗一次地,你们注意这个更新文案中只说“还杀了一个程序员祭天”没说是怎么杀的,为啥你们就脑补出砍头、活埋、六马分尸(女程序员可能是五马分尸)这些血腥的杀法了呢?为啥不觉得是老板奖励了程序员一辈子无福消受的酒肉烟钱把程序员的造化瞬间耗尽了呢?

喝酒醉死

诗云:李白当年水底眠,惟留诗篇万口传。码农入坑捞大饼,只给别人做笑谈。

程序员健康的第一大杀手是酒。

杭州有位程序员,虽然技术牛B,酒瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到当涂的时候,肝癌、酒精肝、胃穿孔同时发病,程序员被酒杀死了。

程序员死后,开启了上帝视角。他看到了祖师爷李白——我且问你,诗人怎么成了程序员的祖师爷?原来李白在醉酒之后,于采石矶低头看见水中月亮的倒影,便纵身一跃,跳进了一万里扬子大江捞月亮,从此李白变成了当涂县太白镇的衣冠冢,虽然尸骨无存,万幸香火不断。然后程序员又看见了建国后,上海美术电影制片厂拍了一个一群Monkey跳进小河里捞月亮的动画片。最后程序员看见了当代,老板在臭水坑里画了一个大饼,在项目上线后,用酒把一群Code Monkey灌醉,然后让Code Monkey争先恐后入坑捞大饼的故事。李白就这样成了Code Monkey的祖师爷。

有诗为证:天上月亮只一个,举杯对影便成三。醉生梦死伤身体,诗人一醉变诗仙。

程序员明白了喝酒有害健康的道理之后就复活了,从此粉碎了老板想让他喝酒醉死祭天的阴谋。

吃肉撑死

诗云:反式脂肪胆固醇,催肥激素更无伦。工作午餐多吃素,青山怕葬黑发人。

程序员健康的第二大杀手是肉。

北京有位程序员,虽然技术牛B,烟瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到淮南的时候,高血压、脂肪肝、直肠癌同时发病,程序员被肉杀死了。

程序员死后,开启了上帝视角。他看到赵王中了秦国的反间计,逼走了廉颇,因此长平之战赵国惨败。于是“赵王思复得廉颇,廉颇亦思复用于赵”,赵王派使者来到魏国问廉颇“尚能饭否?”廉颇非常高兴,一顿饭吃了十斤肉,披甲上马,不料因为肉吃得太多坏了肚子,和使者谈话的时候连上三次厕所。于是赵王没有重新重用廉颇,廉颇又从魏国流亡到了楚国,最终在八公山逝世,赵国不久也就成了《阿房宫赋》里轻描淡写的一句“燕赵之收藏,……,输来其间”。

有诗为证:廉颇在魏思邯郸,星落淮南八公山。吃肉太多伤身体,收藏不该来其间。

程序员明白了吃肉有害健康的道理之后就复活了,从此粉碎了老板想让他吃肉撑死祭天的阴谋。

抽烟呛死

诗云:八旗守城似金汤,为何英军入镇江。皆因大烟未烧尽,留下祸根毒四方。

程序员健康的第三大杀手是烟。

厦门有位程序员,虽然技术牛B,烟瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到镇江的时候,肺癌、肺气肿、口腔癌同时发病,程序员被烟杀死了。

程序员死后,开启了上帝视角。他看到古代镇江是长江门户,自古便是兵家必争之地。民族英雄郑成功三次从厦门誓师北伐,每一次都势如破竹,但无一例外在镇江败北。镇江之所以易守难攻,不完全依赖长江天险,更靠八旗子弟骁勇善战。不料后来在鸦片战争中镇江被英军轻而易举攻破,原来两广总督林则徐虎门销烟的时候有一箱子烟忘了销毁,流传到了镇江,八旗子弟吸烟之后“头痛头晕加恶心,眼花耳响不认人。脸色苍白出虚汗,浑身乱颤腿抽筋”,导致镇江“几无可以御敌之兵”。

有诗为证:编程早知世事艰,码农为何气如山。吞云吐雾伤身体,总督岂能不销烟。

程序员明白了吸烟有害健康的道理之后就复活了,从此粉碎了老板想让他抽烟呛死祭天的阴谋。

拿钱砸死

诗云:劝君莫要聚宝盆,富可敌国害死人。若是贪财能保命,周庄沈厅可不焚。

程序员健康的第四大杀手是钱。

上海有位程序员,虽然技术牛B,钱瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到苏州的时候,失眠、抑郁症、谋财害命同时发病,程序员被钱杀死了。

程序员死后,开启了上帝视角。他看到古代周庄有个大财主沈万三,家里有个聚宝盆,全国的金银财宝都会流到他的手里,导致了朱元璋的嫉恨。朱元璋没收了沈万三的粮食,烧毁了沈万三的房子,给他一个金碗,还给他盖了一座金屋子。让他白天拿着金碗讨饭,夜里睡在金屋子里。因为没人设施捧金碗的乞丐,黄金的导热能力强比热容又小,沈万三死于饥寒交迫。

有诗为证:但愿有头生白发,何忧无地觅青蚨。贪财无厌伤身体,拿命卖钱太糊涂。

程序员明白了贪财有害健康的道理之后就复活了,从此粉碎了老板想让他拿钱砸死祭天的阴谋。 查看全部
这两天一张“还杀了一个程序员祭天”的截图火了,很多同行在纷纷谴责这位无良老板的同时把矛头也指向了我,已经遇到好几个人问我:“作为程序员和一个杀程序员祭天的老板做校友是什么体验?”

在此我想帮我的校友洗一次地,你们注意这个更新文案中只说“还杀了一个程序员祭天”没说是怎么杀的,为啥你们就脑补出砍头、活埋、六马分尸(女程序员可能是五马分尸)这些血腥的杀法了呢?为啥不觉得是老板奖励了程序员一辈子无福消受的酒肉烟钱把程序员的造化瞬间耗尽了呢?

喝酒醉死

诗云:李白当年水底眠,惟留诗篇万口传。码农入坑捞大饼,只给别人做笑谈。

程序员健康的第一大杀手是酒。

杭州有位程序员,虽然技术牛B,酒瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到当涂的时候,肝癌、酒精肝、胃穿孔同时发病,程序员被酒杀死了。

程序员死后,开启了上帝视角。他看到了祖师爷李白——我且问你,诗人怎么成了程序员的祖师爷?原来李白在醉酒之后,于采石矶低头看见水中月亮的倒影,便纵身一跃,跳进了一万里扬子大江捞月亮,从此李白变成了当涂县太白镇的衣冠冢,虽然尸骨无存,万幸香火不断。然后程序员又看见了建国后,上海美术电影制片厂拍了一个一群Monkey跳进小河里捞月亮的动画片。最后程序员看见了当代,老板在臭水坑里画了一个大饼,在项目上线后,用酒把一群Code Monkey灌醉,然后让Code Monkey争先恐后入坑捞大饼的故事。李白就这样成了Code Monkey的祖师爷。

有诗为证:天上月亮只一个,举杯对影便成三。醉生梦死伤身体,诗人一醉变诗仙。

程序员明白了喝酒有害健康的道理之后就复活了,从此粉碎了老板想让他喝酒醉死祭天的阴谋。

吃肉撑死

诗云:反式脂肪胆固醇,催肥激素更无伦。工作午餐多吃素,青山怕葬黑发人。

程序员健康的第二大杀手是肉。

北京有位程序员,虽然技术牛B,烟瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到淮南的时候,高血压、脂肪肝、直肠癌同时发病,程序员被肉杀死了。

程序员死后,开启了上帝视角。他看到赵王中了秦国的反间计,逼走了廉颇,因此长平之战赵国惨败。于是“赵王思复得廉颇,廉颇亦思复用于赵”,赵王派使者来到魏国问廉颇“尚能饭否?”廉颇非常高兴,一顿饭吃了十斤肉,披甲上马,不料因为肉吃得太多坏了肚子,和使者谈话的时候连上三次厕所。于是赵王没有重新重用廉颇,廉颇又从魏国流亡到了楚国,最终在八公山逝世,赵国不久也就成了《阿房宫赋》里轻描淡写的一句“燕赵之收藏,……,输来其间”。

有诗为证:廉颇在魏思邯郸,星落淮南八公山。吃肉太多伤身体,收藏不该来其间。

程序员明白了吃肉有害健康的道理之后就复活了,从此粉碎了老板想让他吃肉撑死祭天的阴谋。

抽烟呛死

诗云:八旗守城似金汤,为何英军入镇江。皆因大烟未烧尽,留下祸根毒四方。

程序员健康的第三大杀手是烟。

厦门有位程序员,虽然技术牛B,烟瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到镇江的时候,肺癌、肺气肿、口腔癌同时发病,程序员被烟杀死了。

程序员死后,开启了上帝视角。他看到古代镇江是长江门户,自古便是兵家必争之地。民族英雄郑成功三次从厦门誓师北伐,每一次都势如破竹,但无一例外在镇江败北。镇江之所以易守难攻,不完全依赖长江天险,更靠八旗子弟骁勇善战。不料后来在鸦片战争中镇江被英军轻而易举攻破,原来两广总督林则徐虎门销烟的时候有一箱子烟忘了销毁,流传到了镇江,八旗子弟吸烟之后“头痛头晕加恶心,眼花耳响不认人。脸色苍白出虚汗,浑身乱颤腿抽筋”,导致镇江“几无可以御敌之兵”。

有诗为证:编程早知世事艰,码农为何气如山。吞云吐雾伤身体,总督岂能不销烟。

程序员明白了吸烟有害健康的道理之后就复活了,从此粉碎了老板想让他抽烟呛死祭天的阴谋。

拿钱砸死

诗云:劝君莫要聚宝盆,富可敌国害死人。若是贪财能保命,周庄沈厅可不焚。

程序员健康的第四大杀手是钱。

上海有位程序员,虽然技术牛B,钱瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到苏州的时候,失眠、抑郁症、谋财害命同时发病,程序员被钱杀死了。

程序员死后,开启了上帝视角。他看到古代周庄有个大财主沈万三,家里有个聚宝盆,全国的金银财宝都会流到他的手里,导致了朱元璋的嫉恨。朱元璋没收了沈万三的粮食,烧毁了沈万三的房子,给他一个金碗,还给他盖了一座金屋子。让他白天拿着金碗讨饭,夜里睡在金屋子里。因为没人设施捧金碗的乞丐,黄金的导热能力强比热容又小,沈万三死于饥寒交迫。

有诗为证:但愿有头生白发,何忧无地觅青蚨。贪财无厌伤身体,拿命卖钱太糊涂。

程序员明白了贪财有害健康的道理之后就复活了,从此粉碎了老板想让他拿钱砸死祭天的阴谋。
1
回复

imgeek社区礼品方案征集 imgeek fat1

cokeyer 回复了问题 • 2 人关注 • 1807 次浏览 • 2017-09-13 15:03 • 来自相关话题

0
评论

【环信征文】程序员如何成为别人的男朋友 imgeek

东风玖哥 发表了文章 • 118 次浏览 • 2017-08-16 10:49 • 来自相关话题

这个世界上程序员数量很多,有女朋友的程序员在其中的比例却很少。究其原因,不外乎大多数程序员根本不知道怎么才能成为别人的男朋友。成为别人的男朋友对于富二代和拆迁户很容易,而对于程序员却很难,“潘驴邓小闲”五要素缺一不可。


第一要素“潘”指的是貌若潘安。

程序员素以不修边幅出名,着装仪表各种混搭:发际线像清穿剧里的阿哥,黑眼圈像动物园里的熊猫,上半身的格子衫、冲锋衣像送外卖的骑手,下半身的大裤衩、人字拖像索马里的海盗……这是典型的注孤生打扮。

为了改变妹子们对广大程序员朋友们的刻板印象,我制定了一份程序员外观改造计划,实施之后你也会变得像《微微一笑很倾城》里的肖奈一样帅:

(1)桌子上摆一盆多汁的多肉植物,比如芦荟。电脑显示器辐射都脸部皮肤危害巨大,多肉植物能吸收大量辐射,而且当程序员感觉脸部皮肤干涩的时候可以随手掰掉一块,拿天然的芦荟胶抹自己一脸。

(2)抽屉里常备一把木梳。脑力劳动会造成头部温度过高;并且头部血液供应大脑,导致头皮供血不足;这些都是让程序员聪明绝顶的罪魁祸首。如果在等待编译或者sync的时候用木梳按摩自己的头皮,会刺激毛囊上皮细胞,抑制毛囊进入休止期,让程序员的头发一如既往的茂盛。

(3)买一些时尚的衣服。俗话说“人靠衣装”,衣服的时尚或邋遢会对一个人的外观造成决定性的影响,因此没事常去商城转转,搭配几件经典复古风或者街头休闲风的衣服,能把颜值和魅力提高不止一个档次。

(4)清空收藏夹里没有备注的链接,删除硬盘里的隐藏文件。国家一级演员吴刚表情光明磊落的时候是耿直纯真的市委书记李达康,面目笑里藏刀的时候是阴险狡诈的军统特务陆桥山——气质是一个人外表的重要组成部分,少看点不文明的视频,脸色就不那么枯槁了;少想点不健康的故事,眼神也就不那么猥琐了。


第二要素“驴”指的是身体像驴一样健壮。

程序员是典型的脑力工作者,在充满电脑辐射的室内环境中久坐不动会导致严重的大脑发达、四肢简单的亚健康症状。程序员加班猝死已经不再是新闻,“但愿有头生白发,何忧无地觅黄金”,我们不能为了忙于工作牺牲健康。对于危害程序员健康的几大职业病,我们应该对症下药:

(1)肾结石、前列腺炎。下半身的疾病基本都是久坐不动导致的,最简单的办法就是站立式编程,最好桌子下面放一个跑步机;没有条件的程序员可以在工作时多喝水,这样有助于增加起身上厕所的次数。

(2)肩周炎、颈椎病。程序员的职业生涯读的最后一本书常常是《颈椎病康复指南》,因为屏幕不一定正对着人脸,所以程序员不得不弯腰驼背。如果不能定制桌子,那么可以坐能调节高度的人体工程学座椅,让你只有在保持正确坐姿的情况下才能正对屏幕。没有条件的程序员可以拿几本旧字典把显示器垫高。

(3)失眠、肥胖、骨质疏松。脑力劳动者的运动量普遍偏少,为了避免失眠、肥胖、骨质疏松,程序员可以在夜间做瑜伽、体操、太极拳之类的有氧运动。下班早的话可以跑跑步打打球,但加班到深夜就千万不要做任何剧烈运动,容易猝死。


第三要素“邓”指的是像邓通一样有钱。

程序员账面收入很高,但增量优势在绝对的存量都是浮云。我曾经卧底某一线城市Android千人群,1000人中没一个是有房子的本地人。为了使自己在资产上的劣势不太明显,增加8小时外的收入至关重要。

(1)程序员赚外快最直接的方式就是做一个接单的威客。但需要注意的是,写出客户满意的软件很容易,但找到收到满意的软件之后和你说自己很满意并且乐意付费的客户很难。

(2)录制教学视频。利用自己编程的经验录制教学视频,放在网站上供人付费下载,这种方式就像一本万利的培训机构一样,赚那些觉得程序员是一个“整天坐在办公室玩电脑就有工资的工作”的人的钱。

(3)译书或著书。如果你属于同时精通编程和外语,或者博客阅读量和粉丝数巨大的IT红人,那么版税就是你最重要的被动收入。

(4)前三样都很耗时,如果你想通过一种短平快的方式赚取外快,可以向imGeek投稿。只要你写一篇关键词为“环信”、“移动开发”、“人工智能”等相关的文章,就有可能获得50~500元现金奖励。



第四要素“小”指的是脾气小,并对女性体贴入微。

程序员常常遇到客户催逼进度或者产品经理乱改需求的情况,一来二去就变得急躁易怒。再加上程序员与电脑打交道比与人打交道多,因此也不容易对女性体贴入微。

根治程序员常发脾气的毛病不用医生开药方,用机械键盘即可痊愈,越沉重、价格越昂贵的机械键盘疗效越好,HHKB最佳,国产的狼蛛鬼王亦可。

软件工程专业学生Nerd因为大学前三年贪玩LOL不好好学习,基础松松垮垮,概念一知半解,导致大四做毕业设计时常常感觉力不从心,于是常常借口“释放压力”更加沉迷LOL。Nerd搞毕业设计遇到瓶颈的时候,其实谁都知道大多数是玩LOL被猪队友坑了的时候就发脾气,拿键盘砸桌子,在外实习的室友每周回宿舍都能看到一屋子键盘的碎片。好在校园里电子产品商店的东西便宜,键盘20块钱就能买。有一天Nerd过生日,室友送给Nerd一副电竞专用的狼蛛鬼王键鼠套装。Nerd又一次听到“defeat”的声音的时候,条件反射一般抡起了键盘,只不过在砸向桌子的一瞬间住手了——他首先想到的是这个键盘砸坏了之后20块钱买不来新的,然后又想到了1kg的钢板砸下去桌子也碎了。

Nerd脾气变小了以后,身边很快就围过来一群妹子,他终于顺利脱单。


第五要素“闲”指的是有大把的休闲时间。

程序员工资虽高,可这都是默认包含加班费的,因此休闲时间常常不能得到保障。但陪妹子的时间就像北漂地下室蚁族程序员的牙膏一样,挤不出来拿擀面杖也能擀出来。

在8小时之内要合理利用设计模式。每天拿出一小时学习设计模式,第二天可以节省一小时复制粘贴高耦合度代码的时间。但需要注意很多设计模式都是牺牲运行效率换开发速度,因此并非所有设计模式都适合对性能要求高或者硬件质量严苛的软件。

在8小时之外要减少无用社交。积极回答IT新人的问题是一个好习惯,谁知道隔着屏幕的那个人是不是3年前的自己。不过百度前两页就有答案的问题就不要回答了,不要把时间浪费在不值得帮助的人身上。
  查看全部
这个世界上程序员数量很多,有女朋友的程序员在其中的比例却很少。究其原因,不外乎大多数程序员根本不知道怎么才能成为别人的男朋友。成为别人的男朋友对于富二代和拆迁户很容易,而对于程序员却很难,“潘驴邓小闲”五要素缺一不可。


第一要素“潘”指的是貌若潘安。

程序员素以不修边幅出名,着装仪表各种混搭:发际线像清穿剧里的阿哥,黑眼圈像动物园里的熊猫,上半身的格子衫、冲锋衣像送外卖的骑手,下半身的大裤衩、人字拖像索马里的海盗……这是典型的注孤生打扮。

为了改变妹子们对广大程序员朋友们的刻板印象,我制定了一份程序员外观改造计划,实施之后你也会变得像《微微一笑很倾城》里的肖奈一样帅:

(1)桌子上摆一盆多汁的多肉植物,比如芦荟。电脑显示器辐射都脸部皮肤危害巨大,多肉植物能吸收大量辐射,而且当程序员感觉脸部皮肤干涩的时候可以随手掰掉一块,拿天然的芦荟胶抹自己一脸。

(2)抽屉里常备一把木梳。脑力劳动会造成头部温度过高;并且头部血液供应大脑,导致头皮供血不足;这些都是让程序员聪明绝顶的罪魁祸首。如果在等待编译或者sync的时候用木梳按摩自己的头皮,会刺激毛囊上皮细胞,抑制毛囊进入休止期,让程序员的头发一如既往的茂盛。

(3)买一些时尚的衣服。俗话说“人靠衣装”,衣服的时尚或邋遢会对一个人的外观造成决定性的影响,因此没事常去商城转转,搭配几件经典复古风或者街头休闲风的衣服,能把颜值和魅力提高不止一个档次。

(4)清空收藏夹里没有备注的链接,删除硬盘里的隐藏文件。国家一级演员吴刚表情光明磊落的时候是耿直纯真的市委书记李达康,面目笑里藏刀的时候是阴险狡诈的军统特务陆桥山——气质是一个人外表的重要组成部分,少看点不文明的视频,脸色就不那么枯槁了;少想点不健康的故事,眼神也就不那么猥琐了。


第二要素“驴”指的是身体像驴一样健壮。

程序员是典型的脑力工作者,在充满电脑辐射的室内环境中久坐不动会导致严重的大脑发达、四肢简单的亚健康症状。程序员加班猝死已经不再是新闻,“但愿有头生白发,何忧无地觅黄金”,我们不能为了忙于工作牺牲健康。对于危害程序员健康的几大职业病,我们应该对症下药:

(1)肾结石、前列腺炎。下半身的疾病基本都是久坐不动导致的,最简单的办法就是站立式编程,最好桌子下面放一个跑步机;没有条件的程序员可以在工作时多喝水,这样有助于增加起身上厕所的次数。

(2)肩周炎、颈椎病。程序员的职业生涯读的最后一本书常常是《颈椎病康复指南》,因为屏幕不一定正对着人脸,所以程序员不得不弯腰驼背。如果不能定制桌子,那么可以坐能调节高度的人体工程学座椅,让你只有在保持正确坐姿的情况下才能正对屏幕。没有条件的程序员可以拿几本旧字典把显示器垫高。

(3)失眠、肥胖、骨质疏松。脑力劳动者的运动量普遍偏少,为了避免失眠、肥胖、骨质疏松,程序员可以在夜间做瑜伽、体操、太极拳之类的有氧运动。下班早的话可以跑跑步打打球,但加班到深夜就千万不要做任何剧烈运动,容易猝死。


第三要素“邓”指的是像邓通一样有钱。

程序员账面收入很高,但增量优势在绝对的存量都是浮云。我曾经卧底某一线城市Android千人群,1000人中没一个是有房子的本地人。为了使自己在资产上的劣势不太明显,增加8小时外的收入至关重要。

(1)程序员赚外快最直接的方式就是做一个接单的威客。但需要注意的是,写出客户满意的软件很容易,但找到收到满意的软件之后和你说自己很满意并且乐意付费的客户很难。

(2)录制教学视频。利用自己编程的经验录制教学视频,放在网站上供人付费下载,这种方式就像一本万利的培训机构一样,赚那些觉得程序员是一个“整天坐在办公室玩电脑就有工资的工作”的人的钱。

(3)译书或著书。如果你属于同时精通编程和外语,或者博客阅读量和粉丝数巨大的IT红人,那么版税就是你最重要的被动收入。

(4)前三样都很耗时,如果你想通过一种短平快的方式赚取外快,可以向imGeek投稿。只要你写一篇关键词为“环信”、“移动开发”、“人工智能”等相关的文章,就有可能获得50~500元现金奖励。



第四要素“小”指的是脾气小,并对女性体贴入微。

程序员常常遇到客户催逼进度或者产品经理乱改需求的情况,一来二去就变得急躁易怒。再加上程序员与电脑打交道比与人打交道多,因此也不容易对女性体贴入微。

根治程序员常发脾气的毛病不用医生开药方,用机械键盘即可痊愈,越沉重、价格越昂贵的机械键盘疗效越好,HHKB最佳,国产的狼蛛鬼王亦可。

软件工程专业学生Nerd因为大学前三年贪玩LOL不好好学习,基础松松垮垮,概念一知半解,导致大四做毕业设计时常常感觉力不从心,于是常常借口“释放压力”更加沉迷LOL。Nerd搞毕业设计遇到瓶颈的时候,其实谁都知道大多数是玩LOL被猪队友坑了的时候就发脾气,拿键盘砸桌子,在外实习的室友每周回宿舍都能看到一屋子键盘的碎片。好在校园里电子产品商店的东西便宜,键盘20块钱就能买。有一天Nerd过生日,室友送给Nerd一副电竞专用的狼蛛鬼王键鼠套装。Nerd又一次听到“defeat”的声音的时候,条件反射一般抡起了键盘,只不过在砸向桌子的一瞬间住手了——他首先想到的是这个键盘砸坏了之后20块钱买不来新的,然后又想到了1kg的钢板砸下去桌子也碎了。

Nerd脾气变小了以后,身边很快就围过来一群妹子,他终于顺利脱单。


第五要素“闲”指的是有大把的休闲时间。

程序员工资虽高,可这都是默认包含加班费的,因此休闲时间常常不能得到保障。但陪妹子的时间就像北漂地下室蚁族程序员的牙膏一样,挤不出来拿擀面杖也能擀出来。

在8小时之内要合理利用设计模式。每天拿出一小时学习设计模式,第二天可以节省一小时复制粘贴高耦合度代码的时间。但需要注意很多设计模式都是牺牲运行效率换开发速度,因此并非所有设计模式都适合对性能要求高或者硬件质量严苛的软件。

在8小时之外要减少无用社交。积极回答IT新人的问题是一个好习惯,谁知道隔着屏幕的那个人是不是3年前的自己。不过百度前两页就有答案的问题就不要回答了,不要把时间浪费在不值得帮助的人身上。
 
0
评论

【环信征文】程序员为灾区祈福,我听说过的语言差不多都有了 imgeek

东风玖哥 发表了文章 • 110 次浏览 • 2017-08-14 16:15 • 来自相关话题

8月8日21时19分在四川阿坝九寨沟县发生7.0级地震,地震发生后社会各界纷纷为灾区祈福。使用各种语言的程序员也不甘示弱吗,争先恐后地用自己的语言为灾区祈福。我听说过的语言差不多都有了。

~trace("ActionScript程序员为灾区祈福!");
~TEXT_IO.PUT_LINE ("Ada程序员为灾区祈福!");
~<% Response.Write("ASP程序员为灾区祈福!") %>
~MsgBox(1,'','AutoIt程序员为灾区祈福!')
~BEGIN { print "AWK程序员为灾区祈福!" }
~echo 'Bash程序员为灾区祈福!'
~? "BASIC程序员为灾区祈福!"
~WRITES ("BCPL程序员为灾区祈福")
~Print "BlitzBasic程序员为灾区祈福!"
~print "BOO程序员为灾区祈福!"
~printf("C程序员为灾区祈福!");
~cout << "C++程序员为灾区祈福!"<<endl;
~System.Console.WriteLine("C#程序员为灾区祈福");
~PROCEDURE DIVISION.DISPLAY "COBOL程序员为灾区祈福!".STOP RUN.
~echo Linux Shell程序员为灾区祈福!
~io.put_string("Eiffel程序员为灾区祈福!")
~hello_world() -> io:fwrite("Erlang程序员为灾区祈福!").
~." Forth程序员为灾区祈福!" CR
~WRITE(*,*) 'Fortran程序员为灾区祈福!'
~HTML程序员为灾区祈福!
~System.out.println("Java程序员为灾区祈福!");
~<%=("JSP程序员为灾区祈福!")%>
~(format t "Lisp程序员为灾区祈福!")
~print "Lua程序员为灾区祈福!"
~Print["Mathematica程序员为灾区祈福!"]
~Nuva程序员为灾区祈福!
~NSLog(@"Objective-C程序员为灾区祈福!");
~print_endline "OCaml程序员为灾区祈福!";
~writeln('Pascal程序员为灾区祈福!');
~say "Perl程序员为灾区祈福!";
~<?= "PHP程序员为灾区祈福!"?>~
~write("Pike程序员为灾区祈福!");
~write("Prolog程序员为灾区祈福!").
~#!/usr/bin/env pythonprint("Python程序员为灾区祈福!")
~say "REXX程序员为灾区祈福!"
~#!/usr/bin/rubyputs "Ruby程序员为灾区祈福!"
~Om:"Sbyke Laborana程序员为灾区祈福!"
~(display "Scheme程序员为灾区祈福!")
~sed -ne '1s/.*/sed程序员为灾区祈福/p'
~writeln("Seed7程序员为灾区祈福!");
~Transcript show: 'Smalltalk程序员为灾区祈福!'
~TextWindow.WriteLine("Small Basic程序员为灾区祈福!")
~OUTPUT = "SNOBOL程序员为灾区祈福!"
~print 'SQL程序员为灾区祈福!'
~println("Swift程序员为灾区祈福!")
~#!/usr/local/bin/tclputs "Tcl程序员为灾区祈福!"
~? "TScript程序员为灾区祈福!"
~put "Turing程序员为灾区祈福!"
~<includeonly>UNIX-style shell程序员为灾区祈福!</includeonly>
~ShowMessage('Delphi程序员为灾区祈福!');
~Print "Visual Basic程序员为灾区祈福!"
~? "Visual FoxPro程序员为灾区祈福!"
~QLabel label("X11程序员为灾区祈福!");
~alert("JavaScript程序员为灾区祈福!");
~(PostScript程序员为灾区祈福!) show
~println("Scala程序员为灾区祈福!")
~println("Kotlin程序员为灾区祈福!");
~调试输出(“易语言程序员为灾区祈福!”) 查看全部
8月8日21时19分在四川阿坝九寨沟县发生7.0级地震,地震发生后社会各界纷纷为灾区祈福。使用各种语言的程序员也不甘示弱吗,争先恐后地用自己的语言为灾区祈福。我听说过的语言差不多都有了。

~trace("ActionScript程序员为灾区祈福!");
~TEXT_IO.PUT_LINE ("Ada程序员为灾区祈福!");
~<% Response.Write("ASP程序员为灾区祈福!") %>
~MsgBox(1,'','AutoIt程序员为灾区祈福!')
~BEGIN { print "AWK程序员为灾区祈福!" }
~echo 'Bash程序员为灾区祈福!'
~? "BASIC程序员为灾区祈福!"
~WRITES ("BCPL程序员为灾区祈福")
~Print "BlitzBasic程序员为灾区祈福!"
~print "BOO程序员为灾区祈福!"
~printf("C程序员为灾区祈福!");
~cout << "C++程序员为灾区祈福!"<<endl;
~System.Console.WriteLine("C#程序员为灾区祈福");
~PROCEDURE DIVISION.DISPLAY "COBOL程序员为灾区祈福!".STOP RUN.
~echo Linux Shell程序员为灾区祈福!
~io.put_string("Eiffel程序员为灾区祈福!")
~hello_world() -> io:fwrite("Erlang程序员为灾区祈福!").
~." Forth程序员为灾区祈福!" CR
~WRITE(*,*) 'Fortran程序员为灾区祈福!'
~HTML程序员为灾区祈福!
~System.out.println("Java程序员为灾区祈福!");
~<%=("JSP程序员为灾区祈福!")%>
~(format t "Lisp程序员为灾区祈福!")
~print "Lua程序员为灾区祈福!"
~Print["Mathematica程序员为灾区祈福!"]
~Nuva程序员为灾区祈福!
~NSLog(@"Objective-C程序员为灾区祈福!");
~print_endline "OCaml程序员为灾区祈福!";
~writeln('Pascal程序员为灾区祈福!');
~say "Perl程序员为灾区祈福!";
~<?= "PHP程序员为灾区祈福!"?>~
~write("Pike程序员为灾区祈福!");
~write("Prolog程序员为灾区祈福!").
~#!/usr/bin/env pythonprint("Python程序员为灾区祈福!")
~say "REXX程序员为灾区祈福!"
~#!/usr/bin/rubyputs "Ruby程序员为灾区祈福!"
~Om:"Sbyke Laborana程序员为灾区祈福!"
~(display "Scheme程序员为灾区祈福!")
~sed -ne '1s/.*/sed程序员为灾区祈福/p'
~writeln("Seed7程序员为灾区祈福!");
~Transcript show: 'Smalltalk程序员为灾区祈福!'
~TextWindow.WriteLine("Small Basic程序员为灾区祈福!")
~OUTPUT = "SNOBOL程序员为灾区祈福!"
~print 'SQL程序员为灾区祈福!'
~println("Swift程序员为灾区祈福!")
~#!/usr/local/bin/tclputs "Tcl程序员为灾区祈福!"
~? "TScript程序员为灾区祈福!"
~put "Turing程序员为灾区祈福!"
~<includeonly>UNIX-style shell程序员为灾区祈福!</includeonly>
~ShowMessage('Delphi程序员为灾区祈福!');
~Print "Visual Basic程序员为灾区祈福!"
~? "Visual FoxPro程序员为灾区祈福!"
~QLabel label("X11程序员为灾区祈福!");
~alert("JavaScript程序员为灾区祈福!");
~(PostScript程序员为灾区祈福!) show
~println("Scala程序员为灾区祈福!")
~println("Kotlin程序员为灾区祈福!");
~调试输出(“易语言程序员为灾区祈福!”)
0
评论

【环信征文】没有几样强迫症,不配自称程序员 imgeek

东风玖哥 发表了文章 • 133 次浏览 • 2017-08-10 15:33 • 来自相关话题

程序员是一类特殊的群体,因为与电脑交流多于与人交流,所以他们成为了强迫症的高发群体。我国的程序员人数已经达到了 500 万人,比世界上一半的国家人口都多。任何小问题乘以 500 万都是很惊人的,程序员的强迫症成了不可忽视的社会现象。我将程序员高发的强迫症分为十大类。

0 数字强迫症

数字强迫症的症状是数数从 0 开始,这是中了大多数编程语言的毒导致的。

数字强迫症的另一种症状就是对二进制有执念,很多程序员员都认为世界上有 10 种人:一种懂二进制,另一种不懂。

数字强迫症的晚期症状是认为 256 和 1024 等 2 的 n 次方很完美,常常有 1kg == 1024g 或者 1L = 1024mL 的错觉。

1 格式强迫症

格式强迫症的症状是对代码的缩进要求极其严格,代码务必美观。即使遇到缩进不能再整齐的代码,如果有的缩进是 1 个Tab而有的缩进是 4 个Space都会浑身难受。

当代的IDE做到了Enter换行自动缩进和Ctrl + Alt + L整理格式,大大减少了格式强迫症的发病率,格式强迫症也顺理成章发生了变异。格式强迫症最常见的变异就是从只追求左边的对齐变成了也追求右边的对齐,患者会把IDE的字体都换为等宽字体。

2 命名强迫症

命名强迫症的症状是对类、接口、变量、常量、方法、枚举等的命名既追求简短,又追求直白,希望能一目了然——但一般来说简短和直白就如同物美和价廉一样不可兼得。当命名强迫症作为输入强迫症的并发症出现时,经常会因为一列对象的命名字数不一致而有砸电脑的冲动。

中国的程序员有种特殊的命名强迫症,就是不喜欢拼音命名,看见前任遗留代码中的拼音命名就会火冒三丈。

命名强迫症的另一种症状是不喜欢看到笼统的命名,例如data_1、msg_2、view_3甚至干脆就是i、j、k(方法内部循环除外);更不喜欢看到有误导的命名,比如突然发现这么一句注释:“//以下所有left代表右,所有right代表左”。

命名强迫症的晚期症状就是对驼峰命名法有莫名其妙的痴迷,就连新注册网站的用户名都要严格遵循驼峰命名法。

3 保存强迫症

在Eclipse + NetBean的时代,IDE没有自动保存功能,很多程序员养成了随时Ctrl+S的习惯。而当代IDE基本上都有自动保存的功能,他们的习惯,这就是保存强迫症。

前端程序员上网的时候会不断Ctrl+S。如果网页有文本编辑器,在Ctrl+S的时候会弹出对话框:“文字已成功保存于某年月日”,然后会莫名紧张:“怎么又弹窗了?”好久才反应过来自己在上网。

保存强迫症并非一无是处,患者玩单机游戏会自带“随时使用S/L大法”技能,会大大避免前功尽弃的可能。

4 维修强迫症

维修强迫症的症状是在U盘或者移动硬盘里保存各类杀毒软件、木马库、系统镜像、越狱工具、Android root工具以便随时维修电脑和手机。病因是被七大姑八大姨“你不是程序员吗怎么连电脑/手机都不会修?”逼的。

维修强迫症没有晚期症状,三舅妈的大姑姐找程序员帮她修智能洗衣机等loT设备或者四叔的小舅子找程序员把科学计算器刷成Android系统时就把程序员直接逼死了。

5 硬件强迫症

硬件强迫症的症状是程序员对自己工作有关的硬件要求极高。以下常见的致病硬件的逼格和获得的成本递增:

移动硬盘:移动硬盘是线下的Git,保存无数代码、文档以及秘钥。在“考研资料/政治/马克思主义哲学/第十八章/课程H”下面也隐藏着不为人知的东西。

机械键盘:噼里啪啦的手感和不菲的身价,HHKB是每个程序员的信仰,买不起HHKB的程序员会用国产的机械键盘凑合着用。

iMac或者Macbook Pro:苹果的电脑性能都非常好,编译程序速度非常快。更重要的一点:OS X系统不能玩LOL,避免了浪费写代码的时间。

双显示器:对于前端程序员来说,双显示器不仅是装逼用的,一台竖屏显示器显示WebStorm,而另一台横屏显示器显示Chrome对编程很有帮助的。显示器的价格并不昂贵,昂贵的是能呈 120 度角摆两台显示器的桌子下面的地皮在北上广深杭写字楼里的租金。

人体工程学座椅:五花八门的不正常办公家具包括人体工程学座椅和支持站立编程的桌子等,美其名曰保护程序员的颈椎、腰、屁股和前列腺,受到程序员喜爱的真实原因你懂的。

程序员鼓励师:大多数程序员渴望但不曾拥有过的硬件是只属于自己的程序员鼓励师,换句话说就是在你写代码时红袖添香的女朋友。

6 白盒强迫症

白盒强迫症的常见症状是看见代码就想优化一下。说程序员只怕“error”不怕“warning”是非常错误的,很多程序员见不得黄字和中划线,也见不得蓝色的“// TODO”。

白盒强迫症很多时候都是有益的,可以让代码变得整洁,隐藏的漏洞也会减少。

白盒强迫症的晚期患者每次打开一个网页都要右键查看源代码,已经无法正常上网。

7 黑盒强迫症

黑盒强迫症的常见症状是每次看见闭源的软件都想研究一下里面的原理,再想想自己能不能做得更好。比如用支付宝扫码支付的时候想的是识别二维码、通信加密、支付安全等原理;或者乘坐电梯时看着电梯的按钮面板(现实世界的UI)会开始思考电梯的调度算法,比如多个实例之间状态可以互相影响,还有一些优先级、加速度、预判方面的东西。

黑盒强迫症的晚期症状是看见现实世界中办事的流程都想用算法知识优化一下,常见的是想着如何优化公司报销和升职的审批流程;再举个反面例子,看《人民的名义》或《官场现形记》时都想着怎么优化贪官和奸商的“办事”流程。

8 收藏强迫症

收藏强迫症的症状是在GitHub上看见好源码必star,技术博客上看到好文章必然收藏,没有收藏功能的个人站也要加入收藏夹。收藏虽多,但不会再看。明知如此,还感觉不收藏就会吃亏。

9 身份强迫症

身份强迫症的早期症状就是头脑中“程序员 == 我自己”的概念根深蒂固,看到和程序员有关的话题都要打开看一下,尽管大多数程序员不会因为应勤是程序员就看《欢乐颂2》,但你打开本文一定是因为本文标题有“程序员”。读完本文的患者还会把自己和同事们作为一个数组,本文中 10 种强迫症作为另一个数组,然后在自己的大脑里做一个递归,查查自己和同事们分别中了几枪。

身份强迫症的晚期症状是把现实世界中见到的一切理解为IT知识,忘记了自己在职场外怎么做一个正常人:走火入魔的患者偶然有一天没有在家写代码,出门看见太阳想到的是“单例模式”,看见双胞胎想到的是“拷贝”,看到摩天轮想到的“循环”,看到排队想到的是“队列”。

身份强迫症进入日薄西山阶段的症状是患者已经无法用人类的语言进行交流了,QQ聊天时每句话的最后都要家一个“;”,没错,是半角的分号;更有甚者还会把脏话用“/*”和“*/”框起来,以为对方就看不见了;看见卖西瓜就只买一个包子的程序员听说学姐留学归来,会四门语言的第一反应是问她那四门语言是Java、PHP、Python和JavaScript还是C、C++、C#和Objective-C。

身份强迫症进入回光返照阶段的情况是试图把别的语言、工具、领域的程序员改造成自己同行的程序员,曾高呼“PHP是最好的语言”的程序员在移动互联网时代改行Android后会纠结怎么把iMac或者Macbook Pro屏幕背面的Apple形状的灯改成Android形状的。

如果你读到最后,不但一枪没中,也没把自己身边的朋友和同事套在这十大强迫症上做个递归,那么你一定不是一个程序员。 查看全部
程序员是一类特殊的群体,因为与电脑交流多于与人交流,所以他们成为了强迫症的高发群体。我国的程序员人数已经达到了 500 万人,比世界上一半的国家人口都多。任何小问题乘以 500 万都是很惊人的,程序员的强迫症成了不可忽视的社会现象。我将程序员高发的强迫症分为十大类。

0 数字强迫症

数字强迫症的症状是数数从 0 开始,这是中了大多数编程语言的毒导致的。

数字强迫症的另一种症状就是对二进制有执念,很多程序员员都认为世界上有 10 种人:一种懂二进制,另一种不懂。

数字强迫症的晚期症状是认为 256 和 1024 等 2 的 n 次方很完美,常常有 1kg == 1024g 或者 1L = 1024mL 的错觉。

1 格式强迫症

格式强迫症的症状是对代码的缩进要求极其严格,代码务必美观。即使遇到缩进不能再整齐的代码,如果有的缩进是 1 个Tab而有的缩进是 4 个Space都会浑身难受。

当代的IDE做到了Enter换行自动缩进和Ctrl + Alt + L整理格式,大大减少了格式强迫症的发病率,格式强迫症也顺理成章发生了变异。格式强迫症最常见的变异就是从只追求左边的对齐变成了也追求右边的对齐,患者会把IDE的字体都换为等宽字体。

2 命名强迫症

命名强迫症的症状是对类、接口、变量、常量、方法、枚举等的命名既追求简短,又追求直白,希望能一目了然——但一般来说简短和直白就如同物美和价廉一样不可兼得。当命名强迫症作为输入强迫症的并发症出现时,经常会因为一列对象的命名字数不一致而有砸电脑的冲动。

中国的程序员有种特殊的命名强迫症,就是不喜欢拼音命名,看见前任遗留代码中的拼音命名就会火冒三丈。

命名强迫症的另一种症状是不喜欢看到笼统的命名,例如data_1、msg_2、view_3甚至干脆就是i、j、k(方法内部循环除外);更不喜欢看到有误导的命名,比如突然发现这么一句注释:“//以下所有left代表右,所有right代表左”。

命名强迫症的晚期症状就是对驼峰命名法有莫名其妙的痴迷,就连新注册网站的用户名都要严格遵循驼峰命名法。

3 保存强迫症

在Eclipse + NetBean的时代,IDE没有自动保存功能,很多程序员养成了随时Ctrl+S的习惯。而当代IDE基本上都有自动保存的功能,他们的习惯,这就是保存强迫症。

前端程序员上网的时候会不断Ctrl+S。如果网页有文本编辑器,在Ctrl+S的时候会弹出对话框:“文字已成功保存于某年月日”,然后会莫名紧张:“怎么又弹窗了?”好久才反应过来自己在上网。

保存强迫症并非一无是处,患者玩单机游戏会自带“随时使用S/L大法”技能,会大大避免前功尽弃的可能。

4 维修强迫症

维修强迫症的症状是在U盘或者移动硬盘里保存各类杀毒软件、木马库、系统镜像、越狱工具、Android root工具以便随时维修电脑和手机。病因是被七大姑八大姨“你不是程序员吗怎么连电脑/手机都不会修?”逼的。

维修强迫症没有晚期症状,三舅妈的大姑姐找程序员帮她修智能洗衣机等loT设备或者四叔的小舅子找程序员把科学计算器刷成Android系统时就把程序员直接逼死了。

5 硬件强迫症

硬件强迫症的症状是程序员对自己工作有关的硬件要求极高。以下常见的致病硬件的逼格和获得的成本递增:

移动硬盘:移动硬盘是线下的Git,保存无数代码、文档以及秘钥。在“考研资料/政治/马克思主义哲学/第十八章/课程H”下面也隐藏着不为人知的东西。

机械键盘:噼里啪啦的手感和不菲的身价,HHKB是每个程序员的信仰,买不起HHKB的程序员会用国产的机械键盘凑合着用。

iMac或者Macbook Pro:苹果的电脑性能都非常好,编译程序速度非常快。更重要的一点:OS X系统不能玩LOL,避免了浪费写代码的时间。

双显示器:对于前端程序员来说,双显示器不仅是装逼用的,一台竖屏显示器显示WebStorm,而另一台横屏显示器显示Chrome对编程很有帮助的。显示器的价格并不昂贵,昂贵的是能呈 120 度角摆两台显示器的桌子下面的地皮在北上广深杭写字楼里的租金。

人体工程学座椅:五花八门的不正常办公家具包括人体工程学座椅和支持站立编程的桌子等,美其名曰保护程序员的颈椎、腰、屁股和前列腺,受到程序员喜爱的真实原因你懂的。

程序员鼓励师:大多数程序员渴望但不曾拥有过的硬件是只属于自己的程序员鼓励师,换句话说就是在你写代码时红袖添香的女朋友。

6 白盒强迫症

白盒强迫症的常见症状是看见代码就想优化一下。说程序员只怕“error”不怕“warning”是非常错误的,很多程序员见不得黄字和中划线,也见不得蓝色的“// TODO”。

白盒强迫症很多时候都是有益的,可以让代码变得整洁,隐藏的漏洞也会减少。

白盒强迫症的晚期患者每次打开一个网页都要右键查看源代码,已经无法正常上网。

7 黑盒强迫症

黑盒强迫症的常见症状是每次看见闭源的软件都想研究一下里面的原理,再想想自己能不能做得更好。比如用支付宝扫码支付的时候想的是识别二维码、通信加密、支付安全等原理;或者乘坐电梯时看着电梯的按钮面板(现实世界的UI)会开始思考电梯的调度算法,比如多个实例之间状态可以互相影响,还有一些优先级、加速度、预判方面的东西。

黑盒强迫症的晚期症状是看见现实世界中办事的流程都想用算法知识优化一下,常见的是想着如何优化公司报销和升职的审批流程;再举个反面例子,看《人民的名义》或《官场现形记》时都想着怎么优化贪官和奸商的“办事”流程。

8 收藏强迫症

收藏强迫症的症状是在GitHub上看见好源码必star,技术博客上看到好文章必然收藏,没有收藏功能的个人站也要加入收藏夹。收藏虽多,但不会再看。明知如此,还感觉不收藏就会吃亏。

9 身份强迫症

身份强迫症的早期症状就是头脑中“程序员 == 我自己”的概念根深蒂固,看到和程序员有关的话题都要打开看一下,尽管大多数程序员不会因为应勤是程序员就看《欢乐颂2》,但你打开本文一定是因为本文标题有“程序员”。读完本文的患者还会把自己和同事们作为一个数组,本文中 10 种强迫症作为另一个数组,然后在自己的大脑里做一个递归,查查自己和同事们分别中了几枪。

身份强迫症的晚期症状是把现实世界中见到的一切理解为IT知识,忘记了自己在职场外怎么做一个正常人:走火入魔的患者偶然有一天没有在家写代码,出门看见太阳想到的是“单例模式”,看见双胞胎想到的是“拷贝”,看到摩天轮想到的“循环”,看到排队想到的是“队列”。

身份强迫症进入日薄西山阶段的症状是患者已经无法用人类的语言进行交流了,QQ聊天时每句话的最后都要家一个“;”,没错,是半角的分号;更有甚者还会把脏话用“/*”和“*/”框起来,以为对方就看不见了;看见卖西瓜就只买一个包子的程序员听说学姐留学归来,会四门语言的第一反应是问她那四门语言是Java、PHP、Python和JavaScript还是C、C++、C#和Objective-C。

身份强迫症进入回光返照阶段的情况是试图把别的语言、工具、领域的程序员改造成自己同行的程序员,曾高呼“PHP是最好的语言”的程序员在移动互联网时代改行Android后会纠结怎么把iMac或者Macbook Pro屏幕背面的Apple形状的灯改成Android形状的。

如果你读到最后,不但一枪没中,也没把自己身边的朋友和同事套在这十大强迫症上做个递归,那么你一定不是一个程序员。
41
最佳

【有奖调查】作为一个偷懒的App开发者,你都用到哪些App开发工具或平台 imgeek 社区活动

青稞 回复了问题 • 29 人关注 • 10858 次浏览 • 2017-06-01 10:42 • 来自相关话题

4
评论

我又做了一次面试官 imgeek

东风玖哥 发表了文章 • 963 次浏览 • 2017-04-12 18:06 • 来自相关话题

有一天HR拿着一份简历找我,说有一个10年IT互联网从业经验,其中最近4年Android开发经验的人来面试。当时我被吓到了,不敢一个人去见他,于是扯着刚毕业的应届生小刚给我壮胆。

那个人看上去快40了,嫌会议室档次太低,要去演播室面试;进了演播室之后,他直奔中间给主持人和嘉宾坐的两个沙发去了,剩下的另一个沙发我俩谁也没好意思坐,一人搬个板凳坐在他面前--当时的场景像极了他在面试我俩。

我看了看他的简历,1983年出生的,从业以年来的经历写的不是“某大型上市公司”的Leader就是“某大型国企”的专家,但都没写具体公司名,技能写的也像很多从不懂技术的HR写的招聘条件上复制粘贴下来的。

我:(他进来之后应该是我领导,问他点作为Leader该懂的)能简单讲讲敏捷开发吗?
他:敏捷开发……就是开发时候思路和动作都敏捷点,多加点班,快点把结果交出来。

我:(感觉他可能是不太擅长管理的技术专家,问点高难度的)能讲讲需要涉及到Android辅助功能的开发,比如自动抢红包的实现思路吗?
他:不知道什么是“辅助功能”
我:像微信一样在桌面上生成与某人会话的快捷方式怎么做呀?
他:没了解过

我:(感觉他没做过方向性太强的,问点常见的)能讲讲Android事件分发传递机制吗?
他:Android事件分发传递机制呀?不知道
我:能讲讲Android动画分哪几大类吗?
他:Android动画呀?不知道
我:WebView用什么接口与JavaScript交流呀?
他:不知道
我:方法数达到65k以后该怎么办呀?
他:方法少写点就行了吧
我:能说说自定义控件需要用到的方法除了OnDraw()和OnLayout()之外另一个是啥吗?
他:有OnDraw()、OnLayout(),另一个不知道

我:(似乎明白点啥)你有作品吗?
他:有,有(说着打开了手机上一个APP)
(我一看是个简单的新闻客户端,他给我演示了一下Fragment翻页)
我:知道Fragment的懒加载吗?
他:不知道
我:还有别的作品吗?
他:还有,还有(说着打开了手机上的另一个APP)
(我一看是个简单的随手记,他给我演示了一下存储文字)
我:用SharedPerfences保存的?
他:嗯
我:知道SharedPerfences的原理吗?
他:是一个轻量级的数据库
我:你不是四年经验吗?还做过别的APP吗?
他:我……我给公司做的APP都是涉密项目

我:(看他简历上还写着“精通Java”)能说说Java的基本数据类型有哪些吗?比如int和long
他:int…?long…?还有String吧
我:你确定String也是基本数据类型?
他:挺常用的,应该是吧

我:(看他简历上还写着“精通软件工程,精通面向对象,精通设计模式”)能说说面向对象三大特征除了封装和多态之外还有啥吗?
他:封装…?多态…?还有啥我还真不知道

我:(已经确定他是嫌站着工作累去培训班学了几个月的厨师或者洗剪吹了,简历上写的“精通算法”也没必要问了)小刚你问他点问题吧,我有点事先回去了

(后来的对话是小刚告诉我的)
小刚:你知道Android四大组件是啥吗?
他:有个Activity吧?
小刚:能说说Activity生命周期吗?
他:(终于有个知道的了)这个我知道,Activity刚打开的时候调用onCreate(),关闭的时候用finish(),从上一个Activity退回来调用onResume()(也没说对)
小刚:那你期望薪资是多少呀?
他:(瞬间来了精神)必须不低于你俩之和!

如果这个比相声还精彩的面试情景被录下来的话对公司的收视率还是很有帮助的,可惜当天视频部门没开摄像机。 查看全部
有一天HR拿着一份简历找我,说有一个10年IT互联网从业经验,其中最近4年Android开发经验的人来面试。当时我被吓到了,不敢一个人去见他,于是扯着刚毕业的应届生小刚给我壮胆。

那个人看上去快40了,嫌会议室档次太低,要去演播室面试;进了演播室之后,他直奔中间给主持人和嘉宾坐的两个沙发去了,剩下的另一个沙发我俩谁也没好意思坐,一人搬个板凳坐在他面前--当时的场景像极了他在面试我俩。

我看了看他的简历,1983年出生的,从业以年来的经历写的不是“某大型上市公司”的Leader就是“某大型国企”的专家,但都没写具体公司名,技能写的也像很多从不懂技术的HR写的招聘条件上复制粘贴下来的。

我:(他进来之后应该是我领导,问他点作为Leader该懂的)能简单讲讲敏捷开发吗?
他:敏捷开发……就是开发时候思路和动作都敏捷点,多加点班,快点把结果交出来。

我:(感觉他可能是不太擅长管理的技术专家,问点高难度的)能讲讲需要涉及到Android辅助功能的开发,比如自动抢红包的实现思路吗?
他:不知道什么是“辅助功能”
我:像微信一样在桌面上生成与某人会话的快捷方式怎么做呀?
他:没了解过

我:(感觉他没做过方向性太强的,问点常见的)能讲讲Android事件分发传递机制吗?
他:Android事件分发传递机制呀?不知道
我:能讲讲Android动画分哪几大类吗?
他:Android动画呀?不知道
我:WebView用什么接口与JavaScript交流呀?
他:不知道
我:方法数达到65k以后该怎么办呀?
他:方法少写点就行了吧
我:能说说自定义控件需要用到的方法除了OnDraw()和OnLayout()之外另一个是啥吗?
他:有OnDraw()、OnLayout(),另一个不知道

我:(似乎明白点啥)你有作品吗?
他:有,有(说着打开了手机上一个APP)
(我一看是个简单的新闻客户端,他给我演示了一下Fragment翻页)
我:知道Fragment的懒加载吗?
他:不知道
我:还有别的作品吗?
他:还有,还有(说着打开了手机上的另一个APP)
(我一看是个简单的随手记,他给我演示了一下存储文字)
我:用SharedPerfences保存的?
他:嗯
我:知道SharedPerfences的原理吗?
他:是一个轻量级的数据库
我:你不是四年经验吗?还做过别的APP吗?
他:我……我给公司做的APP都是涉密项目

我:(看他简历上还写着“精通Java”)能说说Java的基本数据类型有哪些吗?比如int和long
他:int…?long…?还有String吧
我:你确定String也是基本数据类型?
他:挺常用的,应该是吧

我:(看他简历上还写着“精通软件工程,精通面向对象,精通设计模式”)能说说面向对象三大特征除了封装和多态之外还有啥吗?
他:封装…?多态…?还有啥我还真不知道

我:(已经确定他是嫌站着工作累去培训班学了几个月的厨师或者洗剪吹了,简历上写的“精通算法”也没必要问了)小刚你问他点问题吧,我有点事先回去了

(后来的对话是小刚告诉我的)
小刚:你知道Android四大组件是啥吗?
他:有个Activity吧?
小刚:能说说Activity生命周期吗?
他:(终于有个知道的了)这个我知道,Activity刚打开的时候调用onCreate(),关闭的时候用finish(),从上一个Activity退回来调用onResume()(也没说对)
小刚:那你期望薪资是多少呀?
他:(瞬间来了精神)必须不低于你俩之和!

如果这个比相声还精彩的面试情景被录下来的话对公司的收视率还是很有帮助的,可惜当天视频部门没开摄像机。
2
回复

imgeek友情链接 站务 imgeek

beyond 回复了问题 • 1 人关注 • 1820 次浏览 • 2017-01-04 18:55 • 来自相关话题

1
评论

IMGeek社区赞赏功能临时下线通知,请于12月31日前完成提现 imgeek 赞赏

beyond 发表了文章 • 712 次浏览 • 2016-12-26 15:42 • 来自相关话题

    IMGeek小伙伴们好,社区赞赏功能已经陪伴了我们一年,“赞赏”功能一经推出,受到了开发者的热烈追捧,同时不少论坛KOL们已经陆续收到不少“赞赏”,少则一元,多则上百元,虽然钱数总额不多,但能激发人类最原始的互助潜能,也是对知识的一种尊重。根据中国人民银行制定的《非金融机构支付服务管理办法》,规定未经中国人民银行批准,任何非金融机构和个人不得从事或变相从事支付业务。
   IMGeek作为移动开发者技术社区,接到了上级有关部门整改,根据第三方支付政策法规,不具备支付牌照,IMGeek配合停掉赞助功能使用,下次上线时间待通知。请各位小伙伴们于本周内(2016年12月31号前)将收到的赞赏提现到自己账户,逾期赞赏功能关闭,做清零处理。

  社区赞赏提现教程提现教程





Thx! 查看全部
    IMGeek小伙伴们好,社区赞赏功能已经陪伴了我们一年,“赞赏”功能一经推出,受到了开发者的热烈追捧,同时不少论坛KOL们已经陆续收到不少“赞赏”,少则一元,多则上百元,虽然钱数总额不多,但能激发人类最原始的互助潜能,也是对知识的一种尊重。
根据中国人民银行制定的《非金融机构支付服务管理办法》,规定未经中国人民银行批准,任何非金融机构和个人不得从事或变相从事支付业务。

   IMGeek作为移动开发者技术社区,接到了上级有关部门整改,根据第三方支付政策法规,不具备支付牌照,IMGeek配合停掉赞助功能使用,下次上线时间待通知。请各位小伙伴们于本周内(2016年12月31号前)将收到的赞赏提现到自己账户,逾期赞赏功能关闭,做清零处理。

  社区赞赏提现教程提现教程
1debe9ee-8b98-4975-8168-61f51e44f62d.jpg_wh860_.jpg


Thx!
14
回复

今天面试一个自称两年经验的Android imgeek

永动机 回复了问题 • 12 人关注 • 17935 次浏览 • 2016-12-08 18:41 • 来自相关话题

6
最佳

【我眼中的自己】+产品经理+其实我更像是程序员鼓励师 imgeek

hzw87383197 回复了问题 • 7 人关注 • 2074 次浏览 • 2016-10-28 09:06 • 来自相关话题

0
回复

有人反应imgeek.org打开慢,你也觉得吗? imgeek

回复

fat1 发起了问题 • 1 人关注 • 817 次浏览 • 2016-08-11 23:13 • 来自相关话题

1
回复

关于赞赏,我有话要说 imgeek

beyond 回复了问题 • 2 人关注 • 551 次浏览 • 2016-08-05 21:40 • 来自相关话题

0
评论

imGeek“开源专区”全新上线,改变世界从这里开始 社区活动 imgeek

beyond 发表了文章 • 953 次浏览 • 2016-07-04 18:41 • 来自相关话题

imgeek的创办者们,都是在即时通讯(IM)领域的极客们, imgeek就是指即时通讯领域的极客们
imgeek,也意指I'm极客,统指所有极客们的家园




imGeek社区标识
imgeek社区成立之初,我们就努力将imgeek造成为一个充满开放、互助、协作、创意的极客社区 !你在这里的提问和分享,都将得到伙伴们的热情回复,在这里,你的问题将不再是你一个人在思考。




环信CEO刘俊彦赠书

响应着社区“我为人人,人人为我”口号的号召,涌现了一大批“赠人玫瑰,手留余香”的极客们。
 
正是这些义无反顾的极客们,开放出了各类原创的开源项目,与全社区共享,感谢你们!




imGeek社区代码模板截图
 
imGeek开源专区http://www.imgeek.org/code/  查看全部
imgeek的创办者们,都是在即时通讯(IM)领域的极客们, imgeek就是指即时通讯领域的极客们
imgeek,也意指I'm极客,统指所有极客们的家园

QQ图片20160704184015_-_副本.jpg

imGeek社区标识


imgeek社区成立之初,我们就努力将imgeek造成为一个充满开放、互助、协作、创意的极客社区 !你在这里的提问和分享,都将得到伙伴们的热情回复,在这里,你的问题将不再是你一个人在思考。

IMG_20160510_180107R.jpg

环信CEO刘俊彦赠书



响应着社区“我为人人,人人为我”口号的号召,涌现了一大批“赠人玫瑰,手留余香”的极客们。
 
正是这些义无反顾的极客们,开放出了各类原创的开源项目,与全社区共享,感谢你们!

QQ截图20160704182512.jpg

imGeek社区代码模板截图


 
imGeek开源专区http://www.imgeek.org/code/ 
0
回复

收到红包的同学记得请客 imgeek

回复

fat1 发起了问题 • 1 人关注 • 1553 次浏览 • 2016-01-12 16:42 • 来自相关话题

50
回复

【有奖调查】-关于ImGeek,你了解多少 有奖调查 环信 imgeek 社区活动

jbas 回复了问题 • 45 人关注 • 13741 次浏览 • 2016-01-12 12:28 • 来自相关话题

1
评论

程序员黑客马拉松等你来战 imgeek 行业活动

iamjacker 发表了文章 • 1019 次浏览 • 2016-01-11 16:29 • 来自相关话题

关于猿圈科技
猿圈(www.oxcoder.com)是一家专业的技术测评网站,通过平台帮助企业高效省时地识别最优秀的编程技术人才。同时帮助程序员提升编程能力,用代码脱颖而出,在获得工作机会的同时,识别程序员在编程过程中的不足,并且提供量身定制的学习板块。
 
关于环信
环信(www.easemob.com)成立于2013年4月,是一家全通讯能力云服务提供商。产品包括全球最大的即时通讯云PaaS平台——环信即时通讯云,以及全球首创的全媒体智能云客服平台——环信移动客服。


关于码易众包
码易众包,致力于提供移动互联网产品设计、开发、运营及推广服务,是一个高质量交付平台,让产品开发更快,让程序员更赚钱。公司目前是国家和中关村高新技术企业,并在北京股权交易中心挂牌成功,入选中关村“金种子工程”企业。


比赛信息

报名要求:   程序猿
活动时间:   2015.12.23-2016.1.23
活动形式:   通过猿圈网站的在线测评平台进行编程挑战;
报名截止:   01月20日(1月20日晚12点报名通道关闭)

选手在本报名页面完成后,会在报名当日晚9点前收到比赛通知邮件,按照邮件内提示即可开始初赛环节。
初赛的前二百名编程高手,届时主办方相关工作人员电话通知,进行线上决赛并角逐出前5名。

比赛奖品

一等奖奖金3000元。二等奖,三等奖奖金若干。
前5名每人将获得一块精美手表。
前5名每人奖励猿圈价值1199元的学习卡一张。
前50名每人将获得麦步科技提供的100元购物券一张。
前200名参与最终的跨年颁奖晚会,将获得知名企业offer,技术大牛经验分享等。

活动现场另有精心礼品相送。


日程安排

本次活动包括线上初赛,线上决赛,跨年颁奖大会三部分,其中初赛,决赛环节,通过猿圈网站的在线测评平台进行编程挑战。
报名初赛: 12月23日----01月20日
线上决赛:  01月10日----01月22日
线下颁奖:  01月23日


黑客马拉松,等你来战!

用你的缜密,用你的创思,用你的明慧改变人生轨迹吧!
让这世界与时代见证你的勤奋,踏实和卓越。
时代召唤着程序员们,名企盼望着技术宅们。
让我听到你们摩拳擦掌想要重出江湖的声音吧!
一语言世界,编程无极限!

立即报名:http://form.mikecrm.com/f.php?t=JU8shq


致谢

感谢深圳市麦步科技有限公司和BeeCloud公司为对本次活动的大力支持!
麦步科技是一家智能穿戴设备行业的创新企业,主要从事智能穿戴类软、硬件的研发与生产,主要产品包括麦步微信计步器、麦步智能手表、麦步APP等。
BeeCloud为开发者提供一站式支付解决方案。通过提供易用友好的支付SDK,几行代码高效实现网页、APP支付功能,并提供可靠稳定可靠的分布式云后端服务,保障支付流程安全流畅。 查看全部
GP.png


关于猿圈科技
猿圈(www.oxcoder.com)是一家专业的技术测评网站,通过平台帮助企业高效省时地识别最优秀的编程技术人才。同时帮助程序员提升编程能力,用代码脱颖而出,在获得工作机会的同时,识别程序员在编程过程中的不足,并且提供量身定制的学习板块。
 
关于环信
环信(www.easemob.com)成立于2013年4月,是一家全通讯能力云服务提供商。产品包括全球最大的即时通讯云PaaS平台——环信即时通讯云,以及全球首创的全媒体智能云客服平台——环信移动客服。


关于码易众包
码易众包,致力于提供移动互联网产品设计、开发、运营及推广服务,是一个高质量交付平台,让产品开发更快,让程序员更赚钱。公司目前是国家和中关村高新技术企业,并在北京股权交易中心挂牌成功,入选中关村“金种子工程”企业。


比赛信息

报名要求:   程序猿
活动时间:   2015.12.23-2016.1.23
活动形式:   通过猿圈网站的在线测评平台进行编程挑战;
报名截止:   01月20日(1月20日晚12点报名通道关闭)

选手在本报名页面完成后,会在报名当日晚9点前收到比赛通知邮件,按照邮件内提示即可开始初赛环节。
初赛的前二百名编程高手,届时主办方相关工作人员电话通知,进行线上决赛并角逐出前5名。

比赛奖品

一等奖奖金3000元。二等奖,三等奖奖金若干。
前5名每人将获得一块精美手表。
前5名每人奖励猿圈价值1199元的学习卡一张。
前50名每人将获得麦步科技提供的100元购物券一张。
前200名参与最终的跨年颁奖晚会,将获得知名企业offer,技术大牛经验分享等。

活动现场另有精心礼品相送。


日程安排

本次活动包括线上初赛,线上决赛,跨年颁奖大会三部分,其中初赛,决赛环节,通过猿圈网站的在线测评平台进行编程挑战。
报名初赛: 12月23日----01月20日
线上决赛:  01月10日----01月22日
线下颁奖:  01月23日


黑客马拉松,等你来战!

用你的缜密,用你的创思,用你的明慧改变人生轨迹吧!
让这世界与时代见证你的勤奋,踏实和卓越。
时代召唤着程序员们,名企盼望着技术宅们。
让我听到你们摩拳擦掌想要重出江湖的声音吧!
一语言世界,编程无极限!

立即报名:http://form.mikecrm.com/f.php?t=JU8shq


致谢

感谢深圳市麦步科技有限公司和BeeCloud公司为对本次活动的大力支持!
麦步科技是一家智能穿戴设备行业的创新企业,主要从事智能穿戴类软、硬件的研发与生产,主要产品包括麦步微信计步器、麦步智能手表、麦步APP等。
BeeCloud为开发者提供一站式支付解决方案。通过提供易用友好的支付SDK,几行代码高效实现网页、APP支付功能,并提供可靠稳定可靠的分布式云后端服务,保障支付流程安全流畅。
0
回复

imgeek有计划开放rest Api,用户可以调用批量导出帖子内容,有没有人需要呢? imgeek

回复

fat1 发起了问题 • 1 人关注 • 1739 次浏览 • 2015-12-22 23:51 • 来自相关话题

3
回复

收到现金赞赏并提现的同学出来冒个泡啊 imgeek

LBTView 回复了问题 • 4 人关注 • 1743 次浏览 • 2015-12-22 13:35 • 来自相关话题

0
评论

赞赏提现功能已经ready , 收到赞赏的同学可以申请提现了,真金白银,童叟无期 imgeek

fat1 发表了文章 • 1328 次浏览 • 2015-12-18 18:33 • 来自相关话题

终于 ,我们可以愉快的打赏了。  










 
 
终于 ,我们可以愉快的打赏了。  

1.jpg


2.jpg

 
 
3
回复

poppinarray私信我,问: “你好,我想问一下这个赞赏金额是真的吗?我书读的少不太懂。。。” imgeek

fat1 回复了问题 • 2 人关注 • 2198 次浏览 • 2015-12-18 18:30 • 来自相关话题

0
评论

”活动“模块上线,大家有地儿活动啦 imgeek

fat1 发表了文章 • 847 次浏览 • 2015-12-15 22:32 • 来自相关话题

有没有同学注意到, imgeek“活动”模块悄然上线啦, imgeek将定期组织线下技术活动,区别于众多的活动站,imgeek将遵循开源社区开放、自由、分享的精神,具有几个特点:
 
1.开放演讲申请,任何人都可以提交演讲
2.开放投票,你的投票将直接决定演讲顺序
3.开放赞助商申请,有钱出钱,没钱出礼品,同时imgeek给一些品牌露出的机会
4.开放志愿者申请,给虽然暂时不能登上讲坛,又热心参与活动的同学一些贡献的机会,每个志愿者都将得到一个精美纪念品
5.开放“向讲师提问”,你的提问同时将进入imgeek“问题”模块,不光讲师可以及时回复你的问题,更多的同学将会看到
6.如果你还没有imgeek社区账号,报名后将为你自动生成一个社区账号,省去频繁注册账号的麻烦
 
总之,活动是大家的,舞台是大家的,尽情参与吧!
 
最近的一期活动将在2016-01-09 13:30 举行, 大家记得报名哦
 
活动入口:点击顶部“活动”菜单 or http://www.imgeek.org/activity/
 
 
 
  查看全部
有没有同学注意到, imgeek“活动”模块悄然上线啦, imgeek将定期组织线下技术活动,区别于众多的活动站,imgeek将遵循开源社区开放、自由、分享的精神,具有几个特点:
 
1.开放演讲申请,任何人都可以提交演讲
2.开放投票,你的投票将直接决定演讲顺序
3.开放赞助商申请,有钱出钱,没钱出礼品,同时imgeek给一些品牌露出的机会
4.开放志愿者申请,给虽然暂时不能登上讲坛,又热心参与活动的同学一些贡献的机会,每个志愿者都将得到一个精美纪念品
5.开放“向讲师提问”,你的提问同时将进入imgeek“问题”模块,不光讲师可以及时回复你的问题,更多的同学将会看到
6.如果你还没有imgeek社区账号,报名后将为你自动生成一个社区账号,省去频繁注册账号的麻烦
 
总之,活动是大家的,舞台是大家的,尽情参与吧!
 
最近的一期活动将在2016-01-09 13:30 举行, 大家记得报名哦
 
活动入口:点击顶部“活动”菜单 or http://www.imgeek.org/activity/
 
 
 
 
2
回复

你打开imgeek.org时慢吗? imgeek

情绪 回复了问题 • 3 人关注 • 1680 次浏览 • 2015-12-15 17:44 • 来自相关话题

5
评论

imGeek社区上线现金打赏功能,拥抱共享经济开启单点技术问题众包新模式 imgeek

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

(下面是我们PR写的新闻稿,高大上吧)

 一提到共享经济必定会提到Uber和Airbnb,这两只巨无霸独角兽的崛起让“共享经济”一词异常火热,作为共享经济最具代表性的两家企业,Uber和Airbnb分别为出租车业和酒店业带来了革命性的改变,也让人们看到了共享经济在未来的巨大潜力。共享经济这种新的经济模式并不只会在出租车业和酒店业发挥作用,利用人们业余时间和空间的特点,它几乎可以渗透到各个行业,当然移动开发市场也首当其冲。
 




偶们imGeek开发者社区(http://www.imgeek.org)已悄然上线现金打赏功能,在所有问题回复的下侧悄然出现了一个“赞赏”图标。这个是imGeek开发者社区在共享经济浪潮中的一次尝试,希望借助开发者的力量帮助开发者,人人为我,我为人人。

“赞赏”功能一经推出,受到了开发者的热烈追捧,同时不少论坛KOL们已经陆续收到不少“赞赏”,少则一元,多则上百元,虽然钱数总额不多,但能激发人类最原始的互助潜能,也是对知识的一种尊重。正如打赏时弹出的“知识价值的认可,源自您的赞赏”,正是开发者之间相互的认可,促进了社区中提出的问题可以得到及时的回复。据观察,imGeek开发者社区上面的提出的问题基本在10分钟以内即可得到回复,一个问题基本可以很快的得到解决。

在共享经济的浪潮中也催生了软件服务行业众包模式。其中,Coding,猿团因为众包分别得到了资本的青睐,开源中国更是凭借众包概念上了新三板。 但笔者认为,软件行业的众包并不是一个新生事物,软件项目的外包失败大多是因为项目发包方过于强势,需求变化频繁,众包并不能真正解决这些问题。

但如果将一个项目分解为一个个技术问题, 通过对单点技术问题进行众包,每次付费的金额少,笔者认为imGeek开发者社区这种运营做法是更易操作的方式。 现在imGeek开发者社区的“赞赏”功能还仅是依赖开发者志愿进行,并不强制,这样的操作既照顾到社区的自发性,也为那些乐于分享的勤恳开发者提供了高于社区荣誉的经济收益。

基于互联网的共享经济目前来看已经大大改变了不少行业的格局,相对传统行业,它们拥有更大的优势:1,更节约的时间。2,更优化的资源配置。3,更灵活的就业。也许不久的将来,imGeek开发者社区将在共享经济和众包的浪潮中趟出一条新路。

据悉,imGeek开发者社区是由环信赞助,截止2015年5月,环信服务了23763个App以及几万开发者,环信的创始团队均是世界著名开源项目的贡献者,运营总监是原开源力量社区的创始人,相信正是由于他们对移动开发者的深度了解,促使imGeek开发者社区将逐步发展成为移动开发者们的核心聚集地。 查看全部
(下面是我们PR写的新闻稿,高大上吧)

 一提到共享经济必定会提到Uber和Airbnb,这两只巨无霸独角兽的崛起让“共享经济”一词异常火热,作为共享经济最具代表性的两家企业,Uber和Airbnb分别为出租车业和酒店业带来了革命性的改变,也让人们看到了共享经济在未来的巨大潜力。共享经济这种新的经济模式并不只会在出租车业和酒店业发挥作用,利用人们业余时间和空间的特点,它几乎可以渗透到各个行业,当然移动开发市场也首当其冲。
 
1449803054986.jpg

偶们imGeek开发者社区(http://www.imgeek.org)已悄然上线现金打赏功能,在所有问题回复的下侧悄然出现了一个“赞赏”图标。这个是imGeek开发者社区在共享经济浪潮中的一次尝试,希望借助开发者的力量帮助开发者,人人为我,我为人人。

“赞赏”功能一经推出,受到了开发者的热烈追捧,同时不少论坛KOL们已经陆续收到不少“赞赏”,少则一元,多则上百元,虽然钱数总额不多,但能激发人类最原始的互助潜能,也是对知识的一种尊重。正如打赏时弹出的“知识价值的认可,源自您的赞赏”,正是开发者之间相互的认可,促进了社区中提出的问题可以得到及时的回复。据观察,imGeek开发者社区上面的提出的问题基本在10分钟以内即可得到回复,一个问题基本可以很快的得到解决。

在共享经济的浪潮中也催生了软件服务行业众包模式。其中,Coding,猿团因为众包分别得到了资本的青睐,开源中国更是凭借众包概念上了新三板。 但笔者认为,软件行业的众包并不是一个新生事物,软件项目的外包失败大多是因为项目发包方过于强势,需求变化频繁,众包并不能真正解决这些问题。

但如果将一个项目分解为一个个技术问题, 通过对单点技术问题进行众包,每次付费的金额少,笔者认为imGeek开发者社区这种运营做法是更易操作的方式。 现在imGeek开发者社区的“赞赏”功能还仅是依赖开发者志愿进行,并不强制,这样的操作既照顾到社区的自发性,也为那些乐于分享的勤恳开发者提供了高于社区荣誉的经济收益。

基于互联网的共享经济目前来看已经大大改变了不少行业的格局,相对传统行业,它们拥有更大的优势:1,更节约的时间。2,更优化的资源配置。3,更灵活的就业。也许不久的将来,imGeek开发者社区将在共享经济和众包的浪潮中趟出一条新路。

据悉,imGeek开发者社区是由环信赞助,截止2015年5月,环信服务了23763个App以及几万开发者,环信的创始团队均是世界著名开源项目的贡献者,运营总监是原开源力量社区的创始人,相信正是由于他们对移动开发者的深度了解,促使imGeek开发者社区将逐步发展成为移动开发者们的核心聚集地。
0
评论

imgeek社区上线“活动”板块,求玩环 imgeek

fat1 发表了文章 • 964 次浏览 • 2015-12-08 12:22 • 来自相关话题

社区上线“活动”板块,公测中,求玩环
 
http://www.imgeek.org/activity/
 
花了偶们一个月的时间,改版后的社区活动模块开始公测,相对于以前的和传统的活动报名网站,有了几个改进:
1. 开放演讲报名
2. 开放投票,你的投票将决定演讲顺序
3. 未注册用户也可以报名
4. 活动中的提问和社区相结合,在活动中的提问将进入社区问题流,更多的人将会看到你的问题 
5. 开放合作伙伴和志愿者申请通道,并得到展示  
 
  查看全部
社区上线“活动”板块,公测中,求玩环
 
http://www.imgeek.org/activity/
 
花了偶们一个月的时间,改版后的社区活动模块开始公测,相对于以前的和传统的活动报名网站,有了几个改进:
1. 开放演讲报名
2. 开放投票,你的投票将决定演讲顺序
3. 未注册用户也可以报名
4. 活动中的提问和社区相结合,在活动中的提问将进入社区问题流,更多的人将会看到你的问题 
5. 开放合作伙伴和志愿者申请通道,并得到展示  
 
 
条新动态, 点击查看
中奖名单公布:  @追风少年
@成续缘
@华千骨
@洪小东
@lwk520136
@Jay_qiu
@geofferysun
@jij0048847
@MAN UTD
@罗伟Halo
@鱼腥草
@刘建斌
@Z106
@情绪
@Sala
@程序猿骆骆
@樊鹿鸣... 显示全部 »
中奖名单公布:  @追风少年
@成续缘
@华千骨
@洪小东
@lwk520136
@Jay_qiu
@geofferysun
@jij0048847
@MAN UTD
@罗伟Halo
@鱼腥草
@刘建斌
@Z106
@情绪
@Sala
@程序猿骆骆
@樊鹿鸣
@openlab
@Sanchain
 
恭喜各位啦!   
 
请私信我你的收件地址(姓名,电话,收件地址),T-shirt大小为 L或XL号随机,颜色随机。  
 
截止时间:11月5日,11月6日统一递送。 
 
楼主是环信的产品经理,各位程序员快去面试!~环信热招职位入口:http://easemob.zhiye.com/AllJob
楼主是环信的产品经理,各位程序员快去面试!~环信热招职位入口:http://easemob.zhiye.com/AllJob
11
评论

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

KevinGong 发表了文章 • 9039 次浏览 • 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
8
评论

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

dujiepeng 发表了文章 • 7985 次浏览 • 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
回复

收集基于环信SDK开发的开源项目 开源项目

回眸淡然笑 回复了问题 • 9 人关注 • 3978 次浏览 • 2017-12-03 00:50 • 来自相关话题

8
评论

【抽奖结果】环信即时通讯云平台,你了解多少 imgeek

耗斯基 发表了文章 • 1964 次浏览 • 2015-08-19 14:45 • 来自相关话题

以下是本次活动中奖名单,其中用户"一等到天幻"中奖两次,予以去重,并补充一个抽奖名额。
名单见下方补抽名单。抽奖过程见附件中的抽奖视频。

请中奖用户迅猛通私信将奖品寄送地址发给我。
包括收件人姓名、手机号、收件地址。

上传稍晚还望大家见谅。


抽奖名单
------------------
诺风
快看_灰机在灰
farawei
卟、分扌の練。愛
wzpforwork
老农民
cena
简.缪
回音
IMCom
乌龟也有怒气
Ruby
一等到天幻
MirrorC.M
ying
南京可以依靠
一等到天幻【重复】
FatCat
mifan2009IM
成续缘


补抽名单
------------------
yuqi


  查看全部
以下是本次活动中奖名单,其中用户"一等到天幻"中奖两次,予以去重,并补充一个抽奖名额。
名单见下方补抽名单。抽奖过程见附件中的抽奖视频。

请中奖用户迅猛通私信将奖品寄送地址发给我。
包括收件人姓名、手机号、收件地址。

上传稍晚还望大家见谅。


抽奖名单
------------------
诺风
快看_灰机在灰
farawei
卟、分扌の練。愛
wzpforwork
老农民
cena
简.缪
回音
IMCom
乌龟也有怒气
Ruby
一等到天幻
MirrorC.M
ying
南京可以依靠
一等到天幻【重复】
FatCat
mifan2009IM
成续缘


补抽名单
------------------
yuqi


 
3
评论

新版imgeek.org社区公测 imgeek

fat1 发表了文章 • 1825 次浏览 • 2015-06-16 19:39 • 来自相关话题

各位geekers,

我们重新输理和构建了了imgeek.org开发者社区,邀请各位测试,现在的样子看起来有点像stackoverflow.

对于新用户,直接注册即可进入
对于已经注册的用户,由于你的密码是加密存放的,我们无法迁移你的密码, 你需要通过"找回密码"进入:http://www.imgeek.org/?/account/find_password/

fat1

---------------------------------------------
2015.6.16  imgeek.org release note
 . 调整问题及回复的展现形式
 . 增加发布“文章”功能
 . 新增“活动”功能
 . 新增“工单功能
 . 增强提醒功能
 . 新增“知识库”/“帮助”功能
 . 新增提问前“问题提示”功能
 . 新增“简历”功能及实名认证功能
 . 增加“个人空间”及用户信誉体系
 . 增加与客服对接的交换格式
 . 增强搜索功能
 . 更好的手机端访问体验
 . .......(更多好功能等你体验)

to do list :
1. 社交账号(微博、微信、QQ、facebook ,twitter,google)登录
2. "活动"板块优化
3. "话题"/标签优化
4. 提醒功能优化
5. 推出英文版本
6. 开源项目托管协作托管平台

原来的社区站仍然可以通过:http://www.imgeek.org/bbs 访问
 
  查看全部
各位geekers,

我们重新输理和构建了了imgeek.org开发者社区,邀请各位测试,现在的样子看起来有点像stackoverflow.

对于新用户,直接注册即可进入
对于已经注册的用户,由于你的密码是加密存放的,我们无法迁移你的密码, 你需要通过"找回密码"进入:http://www.imgeek.org/?/account/find_password/

fat1

---------------------------------------------
2015.6.16  imgeek.org release note
 . 调整问题及回复的展现形式
 . 增加发布“文章”功能
 . 新增“活动”功能
 . 新增“工单功能
 . 增强提醒功能
 . 新增“知识库”/“帮助”功能
 . 新增提问前“问题提示”功能
 . 新增“简历”功能及实名认证功能
 . 增加“个人空间”及用户信誉体系
 . 增加与客服对接的交换格式
 . 增强搜索功能
 . 更好的手机端访问体验
 . .......(更多好功能等你体验)

to do list :
1. 社交账号(微博、微信、QQ、facebook ,twitter,google)登录
2. "活动"板块优化
3. "话题"/标签优化
4. 提醒功能优化
5. 推出英文版本
6. 开源项目托管协作托管平台

原来的社区站仍然可以通过:http://www.imgeek.org/bbs 访问
 
 
7
回复

收集基于环信SDK开发的开源项目 开源项目

回复

回眸淡然笑 回复了问题 • 9 人关注 • 3978 次浏览 • 2017-12-03 00:50 • 来自相关话题

11
评论

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

KevinGong 发表了文章 • 9039 次浏览 • 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
8
评论

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

dujiepeng 发表了文章 • 7985 次浏览 • 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...小伙伴们还有什么想知道欢迎跟帖提出。
 
1
回复

imgeek社区礼品方案征集 imgeek fat1

回复

cokeyer 回复了问题 • 2 人关注 • 1807 次浏览 • 2017-09-13 15:03 • 来自相关话题

41
最佳

【有奖调查】作为一个偷懒的App开发者,你都用到哪些App开发工具或平台 imgeek 社区活动

回复

青稞 回复了问题 • 29 人关注 • 10858 次浏览 • 2017-06-01 10:42 • 来自相关话题

2
回复

imgeek友情链接 站务 imgeek

回复

beyond 回复了问题 • 1 人关注 • 1820 次浏览 • 2017-01-04 18:55 • 来自相关话题

14
回复

今天面试一个自称两年经验的Android imgeek

回复

永动机 回复了问题 • 12 人关注 • 17935 次浏览 • 2016-12-08 18:41 • 来自相关话题

6
最佳

【我眼中的自己】+产品经理+其实我更像是程序员鼓励师 imgeek

回复

hzw87383197 回复了问题 • 7 人关注 • 2074 次浏览 • 2016-10-28 09:06 • 来自相关话题

0
回复

有人反应imgeek.org打开慢,你也觉得吗? imgeek

回复

fat1 发起了问题 • 1 人关注 • 817 次浏览 • 2016-08-11 23:13 • 来自相关话题

1
回复

关于赞赏,我有话要说 imgeek

回复

beyond 回复了问题 • 2 人关注 • 551 次浏览 • 2016-08-05 21:40 • 来自相关话题

0
回复

收到红包的同学记得请客 imgeek

回复

fat1 发起了问题 • 1 人关注 • 1553 次浏览 • 2016-01-12 16:42 • 来自相关话题

50
回复

【有奖调查】-关于ImGeek,你了解多少 有奖调查 环信 imgeek 社区活动

回复

jbas 回复了问题 • 45 人关注 • 13741 次浏览 • 2016-01-12 12:28 • 来自相关话题

0
回复

imgeek有计划开放rest Api,用户可以调用批量导出帖子内容,有没有人需要呢? imgeek

回复

fat1 发起了问题 • 1 人关注 • 1739 次浏览 • 2015-12-22 23:51 • 来自相关话题

3
回复

收到现金赞赏并提现的同学出来冒个泡啊 imgeek

回复

LBTView 回复了问题 • 4 人关注 • 1743 次浏览 • 2015-12-22 13:35 • 来自相关话题

3
回复

poppinarray私信我,问: “你好,我想问一下这个赞赏金额是真的吗?我书读的少不太懂。。。” imgeek

回复

fat1 回复了问题 • 2 人关注 • 2198 次浏览 • 2015-12-18 18:30 • 来自相关话题

2
回复

你打开imgeek.org时慢吗? imgeek

回复

情绪 回复了问题 • 3 人关注 • 1680 次浏览 • 2015-12-15 17:44 • 来自相关话题

1
回复

说好的白T恤呢?我收到的怎么是黑色的? imgeek

回复

fat1 回复了问题 • 2 人关注 • 1557 次浏览 • 2015-10-19 11:03 • 来自相关话题

2
回复

收到礼物的人出来嗮一下啊 imgeek

回复

成续缘 回复了问题 • 3 人关注 • 1601 次浏览 • 2015-10-08 18:19 • 来自相关话题

2
回复

我都带头换真实头像了,你们也速度换吧 imgeek

回复

GC_YYM 回复了问题 • 2 人关注 • 1570 次浏览 • 2015-09-17 11:22 • 来自相关话题

1
最佳

可以通过微信公众号查看和提交问题了,你知道嘛 imgeek

回复

环信沈冲 回复了问题 • 2 人关注 • 3174 次浏览 • 2015-09-17 08:28 • 来自相关话题

0
回复

关于“有工程师值守的话题” imgeek

回复

fat1 发起了问题 • 1 人关注 • 1343 次浏览 • 2015-08-19 10:17 • 来自相关话题

4
回复

致敬图灵,环信&imGeek请码农们看电影啦! 本周五,晚10:00,北京.中关村.海淀剧场 环信 imgeek

回复

fat1 回复了问题 • 1 人关注 • 2473 次浏览 • 2015-08-13 17:28 • 来自相关话题

1
回复

有人要申请身份认证么? imgeek

回复

小小徐 回复了问题 • 2 人关注 • 1522 次浏览 • 2015-08-12 16:10 • 来自相关话题

3
回复

iOS环信demo中是什么时候给EMLocationMessageBody,EMImageMessageBody里面的属性赋值的 imgeek

回复

Half12345 回复了问题 • 3 人关注 • 1513 次浏览 • 2015-07-13 16:41 • 来自相关话题

0
回复

做为一个对代码有深度掌控欲的人 ,对未来大多数应用将调用云API的事实感到无可奈何 imgeek

回复

fat1 发起了问题 • 1 人关注 • 1665 次浏览 • 2015-06-19 12:25 • 来自相关话题

0
回复

imgeek.org release notes imgeek

回复

admin 发起了问题 • 2 人关注 • 1779 次浏览 • 2015-06-15 16:32 • 来自相关话题

2
回复

新版来袭了 环信技术支持 imgeek

回复

lzan13 回复了问题 • 1 人关注 • 1640 次浏览 • 2015-06-15 16:26 • 来自相关话题

0
回复

公布获奖名单!参加“其实开始他们让我注册IM GEEK论坛Duan... imgeek

回复

karali 发起了问题 • 0 人关注 • 1780 次浏览 • 2015-03-23 15:12 • 来自相关话题

7
回复

收集基于环信SDK开发的开源项目 开源项目

回复

回眸淡然笑 回复了问题 • 9 人关注 • 3978 次浏览 • 2017-12-03 00:50 • 来自相关话题

11
评论

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

KevinGong 发表了文章 • 9039 次浏览 • 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
8
评论

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

dujiepeng 发表了文章 • 7985 次浏览 • 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...小伙伴们还有什么想知道欢迎跟帖提出。
 
0
评论

【环信征文】祭天时不同程序员的不同杀法 imgeek

东风玖哥 发表了文章 • 189 次浏览 • 2017-09-14 13:53 • 来自相关话题

这两天一张“还杀了一个程序员祭天”的截图火了,很多同行在纷纷谴责这位无良老板的同时把矛头也指向了我,已经遇到好几个人问我:“作为程序员和一个杀程序员祭天的老板做校友是什么体验?”

在此我想帮我的校友洗一次地,你们注意这个更新文案中只说“还杀了一个程序员祭天”没说是怎么杀的,为啥你们就脑补出砍头、活埋、六马分尸(女程序员可能是五马分尸)这些血腥的杀法了呢?为啥不觉得是老板奖励了程序员一辈子无福消受的酒肉烟钱把程序员的造化瞬间耗尽了呢?

喝酒醉死

诗云:李白当年水底眠,惟留诗篇万口传。码农入坑捞大饼,只给别人做笑谈。

程序员健康的第一大杀手是酒。

杭州有位程序员,虽然技术牛B,酒瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到当涂的时候,肝癌、酒精肝、胃穿孔同时发病,程序员被酒杀死了。

程序员死后,开启了上帝视角。他看到了祖师爷李白——我且问你,诗人怎么成了程序员的祖师爷?原来李白在醉酒之后,于采石矶低头看见水中月亮的倒影,便纵身一跃,跳进了一万里扬子大江捞月亮,从此李白变成了当涂县太白镇的衣冠冢,虽然尸骨无存,万幸香火不断。然后程序员又看见了建国后,上海美术电影制片厂拍了一个一群Monkey跳进小河里捞月亮的动画片。最后程序员看见了当代,老板在臭水坑里画了一个大饼,在项目上线后,用酒把一群Code Monkey灌醉,然后让Code Monkey争先恐后入坑捞大饼的故事。李白就这样成了Code Monkey的祖师爷。

有诗为证:天上月亮只一个,举杯对影便成三。醉生梦死伤身体,诗人一醉变诗仙。

程序员明白了喝酒有害健康的道理之后就复活了,从此粉碎了老板想让他喝酒醉死祭天的阴谋。

吃肉撑死

诗云:反式脂肪胆固醇,催肥激素更无伦。工作午餐多吃素,青山怕葬黑发人。

程序员健康的第二大杀手是肉。

北京有位程序员,虽然技术牛B,烟瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到淮南的时候,高血压、脂肪肝、直肠癌同时发病,程序员被肉杀死了。

程序员死后,开启了上帝视角。他看到赵王中了秦国的反间计,逼走了廉颇,因此长平之战赵国惨败。于是“赵王思复得廉颇,廉颇亦思复用于赵”,赵王派使者来到魏国问廉颇“尚能饭否?”廉颇非常高兴,一顿饭吃了十斤肉,披甲上马,不料因为肉吃得太多坏了肚子,和使者谈话的时候连上三次厕所。于是赵王没有重新重用廉颇,廉颇又从魏国流亡到了楚国,最终在八公山逝世,赵国不久也就成了《阿房宫赋》里轻描淡写的一句“燕赵之收藏,……,输来其间”。

有诗为证:廉颇在魏思邯郸,星落淮南八公山。吃肉太多伤身体,收藏不该来其间。

程序员明白了吃肉有害健康的道理之后就复活了,从此粉碎了老板想让他吃肉撑死祭天的阴谋。

抽烟呛死

诗云:八旗守城似金汤,为何英军入镇江。皆因大烟未烧尽,留下祸根毒四方。

程序员健康的第三大杀手是烟。

厦门有位程序员,虽然技术牛B,烟瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到镇江的时候,肺癌、肺气肿、口腔癌同时发病,程序员被烟杀死了。

程序员死后,开启了上帝视角。他看到古代镇江是长江门户,自古便是兵家必争之地。民族英雄郑成功三次从厦门誓师北伐,每一次都势如破竹,但无一例外在镇江败北。镇江之所以易守难攻,不完全依赖长江天险,更靠八旗子弟骁勇善战。不料后来在鸦片战争中镇江被英军轻而易举攻破,原来两广总督林则徐虎门销烟的时候有一箱子烟忘了销毁,流传到了镇江,八旗子弟吸烟之后“头痛头晕加恶心,眼花耳响不认人。脸色苍白出虚汗,浑身乱颤腿抽筋”,导致镇江“几无可以御敌之兵”。

有诗为证:编程早知世事艰,码农为何气如山。吞云吐雾伤身体,总督岂能不销烟。

程序员明白了吸烟有害健康的道理之后就复活了,从此粉碎了老板想让他抽烟呛死祭天的阴谋。

拿钱砸死

诗云:劝君莫要聚宝盆,富可敌国害死人。若是贪财能保命,周庄沈厅可不焚。

程序员健康的第四大杀手是钱。

上海有位程序员,虽然技术牛B,钱瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到苏州的时候,失眠、抑郁症、谋财害命同时发病,程序员被钱杀死了。

程序员死后,开启了上帝视角。他看到古代周庄有个大财主沈万三,家里有个聚宝盆,全国的金银财宝都会流到他的手里,导致了朱元璋的嫉恨。朱元璋没收了沈万三的粮食,烧毁了沈万三的房子,给他一个金碗,还给他盖了一座金屋子。让他白天拿着金碗讨饭,夜里睡在金屋子里。因为没人设施捧金碗的乞丐,黄金的导热能力强比热容又小,沈万三死于饥寒交迫。

有诗为证:但愿有头生白发,何忧无地觅青蚨。贪财无厌伤身体,拿命卖钱太糊涂。

程序员明白了贪财有害健康的道理之后就复活了,从此粉碎了老板想让他拿钱砸死祭天的阴谋。 查看全部
这两天一张“还杀了一个程序员祭天”的截图火了,很多同行在纷纷谴责这位无良老板的同时把矛头也指向了我,已经遇到好几个人问我:“作为程序员和一个杀程序员祭天的老板做校友是什么体验?”

在此我想帮我的校友洗一次地,你们注意这个更新文案中只说“还杀了一个程序员祭天”没说是怎么杀的,为啥你们就脑补出砍头、活埋、六马分尸(女程序员可能是五马分尸)这些血腥的杀法了呢?为啥不觉得是老板奖励了程序员一辈子无福消受的酒肉烟钱把程序员的造化瞬间耗尽了呢?

喝酒醉死

诗云:李白当年水底眠,惟留诗篇万口传。码农入坑捞大饼,只给别人做笑谈。

程序员健康的第一大杀手是酒。

杭州有位程序员,虽然技术牛B,酒瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到当涂的时候,肝癌、酒精肝、胃穿孔同时发病,程序员被酒杀死了。

程序员死后,开启了上帝视角。他看到了祖师爷李白——我且问你,诗人怎么成了程序员的祖师爷?原来李白在醉酒之后,于采石矶低头看见水中月亮的倒影,便纵身一跃,跳进了一万里扬子大江捞月亮,从此李白变成了当涂县太白镇的衣冠冢,虽然尸骨无存,万幸香火不断。然后程序员又看见了建国后,上海美术电影制片厂拍了一个一群Monkey跳进小河里捞月亮的动画片。最后程序员看见了当代,老板在臭水坑里画了一个大饼,在项目上线后,用酒把一群Code Monkey灌醉,然后让Code Monkey争先恐后入坑捞大饼的故事。李白就这样成了Code Monkey的祖师爷。

有诗为证:天上月亮只一个,举杯对影便成三。醉生梦死伤身体,诗人一醉变诗仙。

程序员明白了喝酒有害健康的道理之后就复活了,从此粉碎了老板想让他喝酒醉死祭天的阴谋。

吃肉撑死

诗云:反式脂肪胆固醇,催肥激素更无伦。工作午餐多吃素,青山怕葬黑发人。

程序员健康的第二大杀手是肉。

北京有位程序员,虽然技术牛B,烟瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到淮南的时候,高血压、脂肪肝、直肠癌同时发病,程序员被肉杀死了。

程序员死后,开启了上帝视角。他看到赵王中了秦国的反间计,逼走了廉颇,因此长平之战赵国惨败。于是“赵王思复得廉颇,廉颇亦思复用于赵”,赵王派使者来到魏国问廉颇“尚能饭否?”廉颇非常高兴,一顿饭吃了十斤肉,披甲上马,不料因为肉吃得太多坏了肚子,和使者谈话的时候连上三次厕所。于是赵王没有重新重用廉颇,廉颇又从魏国流亡到了楚国,最终在八公山逝世,赵国不久也就成了《阿房宫赋》里轻描淡写的一句“燕赵之收藏,……,输来其间”。

有诗为证:廉颇在魏思邯郸,星落淮南八公山。吃肉太多伤身体,收藏不该来其间。

程序员明白了吃肉有害健康的道理之后就复活了,从此粉碎了老板想让他吃肉撑死祭天的阴谋。

抽烟呛死

诗云:八旗守城似金汤,为何英军入镇江。皆因大烟未烧尽,留下祸根毒四方。

程序员健康的第三大杀手是烟。

厦门有位程序员,虽然技术牛B,烟瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到镇江的时候,肺癌、肺气肿、口腔癌同时发病,程序员被烟杀死了。

程序员死后,开启了上帝视角。他看到古代镇江是长江门户,自古便是兵家必争之地。民族英雄郑成功三次从厦门誓师北伐,每一次都势如破竹,但无一例外在镇江败北。镇江之所以易守难攻,不完全依赖长江天险,更靠八旗子弟骁勇善战。不料后来在鸦片战争中镇江被英军轻而易举攻破,原来两广总督林则徐虎门销烟的时候有一箱子烟忘了销毁,流传到了镇江,八旗子弟吸烟之后“头痛头晕加恶心,眼花耳响不认人。脸色苍白出虚汗,浑身乱颤腿抽筋”,导致镇江“几无可以御敌之兵”。

有诗为证:编程早知世事艰,码农为何气如山。吞云吐雾伤身体,总督岂能不销烟。

程序员明白了吸烟有害健康的道理之后就复活了,从此粉碎了老板想让他抽烟呛死祭天的阴谋。

拿钱砸死

诗云:劝君莫要聚宝盆,富可敌国害死人。若是贪财能保命,周庄沈厅可不焚。

程序员健康的第四大杀手是钱。

上海有位程序员,虽然技术牛B,钱瘾也大。他荣升CTO之际恰逢母校80周年校庆,在收到了“欢迎杰出校友出席庆典”的邀请函后,坐上了开往合肥的动车,不料当动车开到苏州的时候,失眠、抑郁症、谋财害命同时发病,程序员被钱杀死了。

程序员死后,开启了上帝视角。他看到古代周庄有个大财主沈万三,家里有个聚宝盆,全国的金银财宝都会流到他的手里,导致了朱元璋的嫉恨。朱元璋没收了沈万三的粮食,烧毁了沈万三的房子,给他一个金碗,还给他盖了一座金屋子。让他白天拿着金碗讨饭,夜里睡在金屋子里。因为没人设施捧金碗的乞丐,黄金的导热能力强比热容又小,沈万三死于饥寒交迫。

有诗为证:但愿有头生白发,何忧无地觅青蚨。贪财无厌伤身体,拿命卖钱太糊涂。

程序员明白了贪财有害健康的道理之后就复活了,从此粉碎了老板想让他拿钱砸死祭天的阴谋。
0
评论

【环信征文】程序员如何成为别人的男朋友 imgeek

东风玖哥 发表了文章 • 118 次浏览 • 2017-08-16 10:49 • 来自相关话题

这个世界上程序员数量很多,有女朋友的程序员在其中的比例却很少。究其原因,不外乎大多数程序员根本不知道怎么才能成为别人的男朋友。成为别人的男朋友对于富二代和拆迁户很容易,而对于程序员却很难,“潘驴邓小闲”五要素缺一不可。


第一要素“潘”指的是貌若潘安。

程序员素以不修边幅出名,着装仪表各种混搭:发际线像清穿剧里的阿哥,黑眼圈像动物园里的熊猫,上半身的格子衫、冲锋衣像送外卖的骑手,下半身的大裤衩、人字拖像索马里的海盗……这是典型的注孤生打扮。

为了改变妹子们对广大程序员朋友们的刻板印象,我制定了一份程序员外观改造计划,实施之后你也会变得像《微微一笑很倾城》里的肖奈一样帅:

(1)桌子上摆一盆多汁的多肉植物,比如芦荟。电脑显示器辐射都脸部皮肤危害巨大,多肉植物能吸收大量辐射,而且当程序员感觉脸部皮肤干涩的时候可以随手掰掉一块,拿天然的芦荟胶抹自己一脸。

(2)抽屉里常备一把木梳。脑力劳动会造成头部温度过高;并且头部血液供应大脑,导致头皮供血不足;这些都是让程序员聪明绝顶的罪魁祸首。如果在等待编译或者sync的时候用木梳按摩自己的头皮,会刺激毛囊上皮细胞,抑制毛囊进入休止期,让程序员的头发一如既往的茂盛。

(3)买一些时尚的衣服。俗话说“人靠衣装”,衣服的时尚或邋遢会对一个人的外观造成决定性的影响,因此没事常去商城转转,搭配几件经典复古风或者街头休闲风的衣服,能把颜值和魅力提高不止一个档次。

(4)清空收藏夹里没有备注的链接,删除硬盘里的隐藏文件。国家一级演员吴刚表情光明磊落的时候是耿直纯真的市委书记李达康,面目笑里藏刀的时候是阴险狡诈的军统特务陆桥山——气质是一个人外表的重要组成部分,少看点不文明的视频,脸色就不那么枯槁了;少想点不健康的故事,眼神也就不那么猥琐了。


第二要素“驴”指的是身体像驴一样健壮。

程序员是典型的脑力工作者,在充满电脑辐射的室内环境中久坐不动会导致严重的大脑发达、四肢简单的亚健康症状。程序员加班猝死已经不再是新闻,“但愿有头生白发,何忧无地觅黄金”,我们不能为了忙于工作牺牲健康。对于危害程序员健康的几大职业病,我们应该对症下药:

(1)肾结石、前列腺炎。下半身的疾病基本都是久坐不动导致的,最简单的办法就是站立式编程,最好桌子下面放一个跑步机;没有条件的程序员可以在工作时多喝水,这样有助于增加起身上厕所的次数。

(2)肩周炎、颈椎病。程序员的职业生涯读的最后一本书常常是《颈椎病康复指南》,因为屏幕不一定正对着人脸,所以程序员不得不弯腰驼背。如果不能定制桌子,那么可以坐能调节高度的人体工程学座椅,让你只有在保持正确坐姿的情况下才能正对屏幕。没有条件的程序员可以拿几本旧字典把显示器垫高。

(3)失眠、肥胖、骨质疏松。脑力劳动者的运动量普遍偏少,为了避免失眠、肥胖、骨质疏松,程序员可以在夜间做瑜伽、体操、太极拳之类的有氧运动。下班早的话可以跑跑步打打球,但加班到深夜就千万不要做任何剧烈运动,容易猝死。


第三要素“邓”指的是像邓通一样有钱。

程序员账面收入很高,但增量优势在绝对的存量都是浮云。我曾经卧底某一线城市Android千人群,1000人中没一个是有房子的本地人。为了使自己在资产上的劣势不太明显,增加8小时外的收入至关重要。

(1)程序员赚外快最直接的方式就是做一个接单的威客。但需要注意的是,写出客户满意的软件很容易,但找到收到满意的软件之后和你说自己很满意并且乐意付费的客户很难。

(2)录制教学视频。利用自己编程的经验录制教学视频,放在网站上供人付费下载,这种方式就像一本万利的培训机构一样,赚那些觉得程序员是一个“整天坐在办公室玩电脑就有工资的工作”的人的钱。

(3)译书或著书。如果你属于同时精通编程和外语,或者博客阅读量和粉丝数巨大的IT红人,那么版税就是你最重要的被动收入。

(4)前三样都很耗时,如果你想通过一种短平快的方式赚取外快,可以向imGeek投稿。只要你写一篇关键词为“环信”、“移动开发”、“人工智能”等相关的文章,就有可能获得50~500元现金奖励。



第四要素“小”指的是脾气小,并对女性体贴入微。

程序员常常遇到客户催逼进度或者产品经理乱改需求的情况,一来二去就变得急躁易怒。再加上程序员与电脑打交道比与人打交道多,因此也不容易对女性体贴入微。

根治程序员常发脾气的毛病不用医生开药方,用机械键盘即可痊愈,越沉重、价格越昂贵的机械键盘疗效越好,HHKB最佳,国产的狼蛛鬼王亦可。

软件工程专业学生Nerd因为大学前三年贪玩LOL不好好学习,基础松松垮垮,概念一知半解,导致大四做毕业设计时常常感觉力不从心,于是常常借口“释放压力”更加沉迷LOL。Nerd搞毕业设计遇到瓶颈的时候,其实谁都知道大多数是玩LOL被猪队友坑了的时候就发脾气,拿键盘砸桌子,在外实习的室友每周回宿舍都能看到一屋子键盘的碎片。好在校园里电子产品商店的东西便宜,键盘20块钱就能买。有一天Nerd过生日,室友送给Nerd一副电竞专用的狼蛛鬼王键鼠套装。Nerd又一次听到“defeat”的声音的时候,条件反射一般抡起了键盘,只不过在砸向桌子的一瞬间住手了——他首先想到的是这个键盘砸坏了之后20块钱买不来新的,然后又想到了1kg的钢板砸下去桌子也碎了。

Nerd脾气变小了以后,身边很快就围过来一群妹子,他终于顺利脱单。


第五要素“闲”指的是有大把的休闲时间。

程序员工资虽高,可这都是默认包含加班费的,因此休闲时间常常不能得到保障。但陪妹子的时间就像北漂地下室蚁族程序员的牙膏一样,挤不出来拿擀面杖也能擀出来。

在8小时之内要合理利用设计模式。每天拿出一小时学习设计模式,第二天可以节省一小时复制粘贴高耦合度代码的时间。但需要注意很多设计模式都是牺牲运行效率换开发速度,因此并非所有设计模式都适合对性能要求高或者硬件质量严苛的软件。

在8小时之外要减少无用社交。积极回答IT新人的问题是一个好习惯,谁知道隔着屏幕的那个人是不是3年前的自己。不过百度前两页就有答案的问题就不要回答了,不要把时间浪费在不值得帮助的人身上。
  查看全部
这个世界上程序员数量很多,有女朋友的程序员在其中的比例却很少。究其原因,不外乎大多数程序员根本不知道怎么才能成为别人的男朋友。成为别人的男朋友对于富二代和拆迁户很容易,而对于程序员却很难,“潘驴邓小闲”五要素缺一不可。


第一要素“潘”指的是貌若潘安。

程序员素以不修边幅出名,着装仪表各种混搭:发际线像清穿剧里的阿哥,黑眼圈像动物园里的熊猫,上半身的格子衫、冲锋衣像送外卖的骑手,下半身的大裤衩、人字拖像索马里的海盗……这是典型的注孤生打扮。

为了改变妹子们对广大程序员朋友们的刻板印象,我制定了一份程序员外观改造计划,实施之后你也会变得像《微微一笑很倾城》里的肖奈一样帅:

(1)桌子上摆一盆多汁的多肉植物,比如芦荟。电脑显示器辐射都脸部皮肤危害巨大,多肉植物能吸收大量辐射,而且当程序员感觉脸部皮肤干涩的时候可以随手掰掉一块,拿天然的芦荟胶抹自己一脸。

(2)抽屉里常备一把木梳。脑力劳动会造成头部温度过高;并且头部血液供应大脑,导致头皮供血不足;这些都是让程序员聪明绝顶的罪魁祸首。如果在等待编译或者sync的时候用木梳按摩自己的头皮,会刺激毛囊上皮细胞,抑制毛囊进入休止期,让程序员的头发一如既往的茂盛。

(3)买一些时尚的衣服。俗话说“人靠衣装”,衣服的时尚或邋遢会对一个人的外观造成决定性的影响,因此没事常去商城转转,搭配几件经典复古风或者街头休闲风的衣服,能把颜值和魅力提高不止一个档次。

(4)清空收藏夹里没有备注的链接,删除硬盘里的隐藏文件。国家一级演员吴刚表情光明磊落的时候是耿直纯真的市委书记李达康,面目笑里藏刀的时候是阴险狡诈的军统特务陆桥山——气质是一个人外表的重要组成部分,少看点不文明的视频,脸色就不那么枯槁了;少想点不健康的故事,眼神也就不那么猥琐了。


第二要素“驴”指的是身体像驴一样健壮。

程序员是典型的脑力工作者,在充满电脑辐射的室内环境中久坐不动会导致严重的大脑发达、四肢简单的亚健康症状。程序员加班猝死已经不再是新闻,“但愿有头生白发,何忧无地觅黄金”,我们不能为了忙于工作牺牲健康。对于危害程序员健康的几大职业病,我们应该对症下药:

(1)肾结石、前列腺炎。下半身的疾病基本都是久坐不动导致的,最简单的办法就是站立式编程,最好桌子下面放一个跑步机;没有条件的程序员可以在工作时多喝水,这样有助于增加起身上厕所的次数。

(2)肩周炎、颈椎病。程序员的职业生涯读的最后一本书常常是《颈椎病康复指南》,因为屏幕不一定正对着人脸,所以程序员不得不弯腰驼背。如果不能定制桌子,那么可以坐能调节高度的人体工程学座椅,让你只有在保持正确坐姿的情况下才能正对屏幕。没有条件的程序员可以拿几本旧字典把显示器垫高。

(3)失眠、肥胖、骨质疏松。脑力劳动者的运动量普遍偏少,为了避免失眠、肥胖、骨质疏松,程序员可以在夜间做瑜伽、体操、太极拳之类的有氧运动。下班早的话可以跑跑步打打球,但加班到深夜就千万不要做任何剧烈运动,容易猝死。


第三要素“邓”指的是像邓通一样有钱。

程序员账面收入很高,但增量优势在绝对的存量都是浮云。我曾经卧底某一线城市Android千人群,1000人中没一个是有房子的本地人。为了使自己在资产上的劣势不太明显,增加8小时外的收入至关重要。

(1)程序员赚外快最直接的方式就是做一个接单的威客。但需要注意的是,写出客户满意的软件很容易,但找到收到满意的软件之后和你说自己很满意并且乐意付费的客户很难。

(2)录制教学视频。利用自己编程的经验录制教学视频,放在网站上供人付费下载,这种方式就像一本万利的培训机构一样,赚那些觉得程序员是一个“整天坐在办公室玩电脑就有工资的工作”的人的钱。

(3)译书或著书。如果你属于同时精通编程和外语,或者博客阅读量和粉丝数巨大的IT红人,那么版税就是你最重要的被动收入。

(4)前三样都很耗时,如果你想通过一种短平快的方式赚取外快,可以向imGeek投稿。只要你写一篇关键词为“环信”、“移动开发”、“人工智能”等相关的文章,就有可能获得50~500元现金奖励。



第四要素“小”指的是脾气小,并对女性体贴入微。

程序员常常遇到客户催逼进度或者产品经理乱改需求的情况,一来二去就变得急躁易怒。再加上程序员与电脑打交道比与人打交道多,因此也不容易对女性体贴入微。

根治程序员常发脾气的毛病不用医生开药方,用机械键盘即可痊愈,越沉重、价格越昂贵的机械键盘疗效越好,HHKB最佳,国产的狼蛛鬼王亦可。

软件工程专业学生Nerd因为大学前三年贪玩LOL不好好学习,基础松松垮垮,概念一知半解,导致大四做毕业设计时常常感觉力不从心,于是常常借口“释放压力”更加沉迷LOL。Nerd搞毕业设计遇到瓶颈的时候,其实谁都知道大多数是玩LOL被猪队友坑了的时候就发脾气,拿键盘砸桌子,在外实习的室友每周回宿舍都能看到一屋子键盘的碎片。好在校园里电子产品商店的东西便宜,键盘20块钱就能买。有一天Nerd过生日,室友送给Nerd一副电竞专用的狼蛛鬼王键鼠套装。Nerd又一次听到“defeat”的声音的时候,条件反射一般抡起了键盘,只不过在砸向桌子的一瞬间住手了——他首先想到的是这个键盘砸坏了之后20块钱买不来新的,然后又想到了1kg的钢板砸下去桌子也碎了。

Nerd脾气变小了以后,身边很快就围过来一群妹子,他终于顺利脱单。


第五要素“闲”指的是有大把的休闲时间。

程序员工资虽高,可这都是默认包含加班费的,因此休闲时间常常不能得到保障。但陪妹子的时间就像北漂地下室蚁族程序员的牙膏一样,挤不出来拿擀面杖也能擀出来。

在8小时之内要合理利用设计模式。每天拿出一小时学习设计模式,第二天可以节省一小时复制粘贴高耦合度代码的时间。但需要注意很多设计模式都是牺牲运行效率换开发速度,因此并非所有设计模式都适合对性能要求高或者硬件质量严苛的软件。

在8小时之外要减少无用社交。积极回答IT新人的问题是一个好习惯,谁知道隔着屏幕的那个人是不是3年前的自己。不过百度前两页就有答案的问题就不要回答了,不要把时间浪费在不值得帮助的人身上。
 
0
评论

【环信征文】程序员为灾区祈福,我听说过的语言差不多都有了 imgeek

东风玖哥 发表了文章 • 110 次浏览 • 2017-08-14 16:15 • 来自相关话题

8月8日21时19分在四川阿坝九寨沟县发生7.0级地震,地震发生后社会各界纷纷为灾区祈福。使用各种语言的程序员也不甘示弱吗,争先恐后地用自己的语言为灾区祈福。我听说过的语言差不多都有了。

~trace("ActionScript程序员为灾区祈福!");
~TEXT_IO.PUT_LINE ("Ada程序员为灾区祈福!");
~<% Response.Write("ASP程序员为灾区祈福!") %>
~MsgBox(1,'','AutoIt程序员为灾区祈福!')
~BEGIN { print "AWK程序员为灾区祈福!" }
~echo 'Bash程序员为灾区祈福!'
~? "BASIC程序员为灾区祈福!"
~WRITES ("BCPL程序员为灾区祈福")
~Print "BlitzBasic程序员为灾区祈福!"
~print "BOO程序员为灾区祈福!"
~printf("C程序员为灾区祈福!");
~cout << "C++程序员为灾区祈福!"<<endl;
~System.Console.WriteLine("C#程序员为灾区祈福");
~PROCEDURE DIVISION.DISPLAY "COBOL程序员为灾区祈福!".STOP RUN.
~echo Linux Shell程序员为灾区祈福!
~io.put_string("Eiffel程序员为灾区祈福!")
~hello_world() -> io:fwrite("Erlang程序员为灾区祈福!").
~." Forth程序员为灾区祈福!" CR
~WRITE(*,*) 'Fortran程序员为灾区祈福!'
~HTML程序员为灾区祈福!
~System.out.println("Java程序员为灾区祈福!");
~<%=("JSP程序员为灾区祈福!")%>
~(format t "Lisp程序员为灾区祈福!")
~print "Lua程序员为灾区祈福!"
~Print["Mathematica程序员为灾区祈福!"]
~Nuva程序员为灾区祈福!
~NSLog(@"Objective-C程序员为灾区祈福!");
~print_endline "OCaml程序员为灾区祈福!";
~writeln('Pascal程序员为灾区祈福!');
~say "Perl程序员为灾区祈福!";
~<?= "PHP程序员为灾区祈福!"?>~
~write("Pike程序员为灾区祈福!");
~write("Prolog程序员为灾区祈福!").
~#!/usr/bin/env pythonprint("Python程序员为灾区祈福!")
~say "REXX程序员为灾区祈福!"
~#!/usr/bin/rubyputs "Ruby程序员为灾区祈福!"
~Om:"Sbyke Laborana程序员为灾区祈福!"
~(display "Scheme程序员为灾区祈福!")
~sed -ne '1s/.*/sed程序员为灾区祈福/p'
~writeln("Seed7程序员为灾区祈福!");
~Transcript show: 'Smalltalk程序员为灾区祈福!'
~TextWindow.WriteLine("Small Basic程序员为灾区祈福!")
~OUTPUT = "SNOBOL程序员为灾区祈福!"
~print 'SQL程序员为灾区祈福!'
~println("Swift程序员为灾区祈福!")
~#!/usr/local/bin/tclputs "Tcl程序员为灾区祈福!"
~? "TScript程序员为灾区祈福!"
~put "Turing程序员为灾区祈福!"
~<includeonly>UNIX-style shell程序员为灾区祈福!</includeonly>
~ShowMessage('Delphi程序员为灾区祈福!');
~Print "Visual Basic程序员为灾区祈福!"
~? "Visual FoxPro程序员为灾区祈福!"
~QLabel label("X11程序员为灾区祈福!");
~alert("JavaScript程序员为灾区祈福!");
~(PostScript程序员为灾区祈福!) show
~println("Scala程序员为灾区祈福!")
~println("Kotlin程序员为灾区祈福!");
~调试输出(“易语言程序员为灾区祈福!”) 查看全部
8月8日21时19分在四川阿坝九寨沟县发生7.0级地震,地震发生后社会各界纷纷为灾区祈福。使用各种语言的程序员也不甘示弱吗,争先恐后地用自己的语言为灾区祈福。我听说过的语言差不多都有了。

~trace("ActionScript程序员为灾区祈福!");
~TEXT_IO.PUT_LINE ("Ada程序员为灾区祈福!");
~<% Response.Write("ASP程序员为灾区祈福!") %>
~MsgBox(1,'','AutoIt程序员为灾区祈福!')
~BEGIN { print "AWK程序员为灾区祈福!" }
~echo 'Bash程序员为灾区祈福!'
~? "BASIC程序员为灾区祈福!"
~WRITES ("BCPL程序员为灾区祈福")
~Print "BlitzBasic程序员为灾区祈福!"
~print "BOO程序员为灾区祈福!"
~printf("C程序员为灾区祈福!");
~cout << "C++程序员为灾区祈福!"<<endl;
~System.Console.WriteLine("C#程序员为灾区祈福");
~PROCEDURE DIVISION.DISPLAY "COBOL程序员为灾区祈福!".STOP RUN.
~echo Linux Shell程序员为灾区祈福!
~io.put_string("Eiffel程序员为灾区祈福!")
~hello_world() -> io:fwrite("Erlang程序员为灾区祈福!").
~." Forth程序员为灾区祈福!" CR
~WRITE(*,*) 'Fortran程序员为灾区祈福!'
~HTML程序员为灾区祈福!
~System.out.println("Java程序员为灾区祈福!");
~<%=("JSP程序员为灾区祈福!")%>
~(format t "Lisp程序员为灾区祈福!")
~print "Lua程序员为灾区祈福!"
~Print["Mathematica程序员为灾区祈福!"]
~Nuva程序员为灾区祈福!
~NSLog(@"Objective-C程序员为灾区祈福!");
~print_endline "OCaml程序员为灾区祈福!";
~writeln('Pascal程序员为灾区祈福!');
~say "Perl程序员为灾区祈福!";
~<?= "PHP程序员为灾区祈福!"?>~
~write("Pike程序员为灾区祈福!");
~write("Prolog程序员为灾区祈福!").
~#!/usr/bin/env pythonprint("Python程序员为灾区祈福!")
~say "REXX程序员为灾区祈福!"
~#!/usr/bin/rubyputs "Ruby程序员为灾区祈福!"
~Om:"Sbyke Laborana程序员为灾区祈福!"
~(display "Scheme程序员为灾区祈福!")
~sed -ne '1s/.*/sed程序员为灾区祈福/p'
~writeln("Seed7程序员为灾区祈福!");
~Transcript show: 'Smalltalk程序员为灾区祈福!'
~TextWindow.WriteLine("Small Basic程序员为灾区祈福!")
~OUTPUT = "SNOBOL程序员为灾区祈福!"
~print 'SQL程序员为灾区祈福!'
~println("Swift程序员为灾区祈福!")
~#!/usr/local/bin/tclputs "Tcl程序员为灾区祈福!"
~? "TScript程序员为灾区祈福!"
~put "Turing程序员为灾区祈福!"
~<includeonly>UNIX-style shell程序员为灾区祈福!</includeonly>
~ShowMessage('Delphi程序员为灾区祈福!');
~Print "Visual Basic程序员为灾区祈福!"
~? "Visual FoxPro程序员为灾区祈福!"
~QLabel label("X11程序员为灾区祈福!");
~alert("JavaScript程序员为灾区祈福!");
~(PostScript程序员为灾区祈福!) show
~println("Scala程序员为灾区祈福!")
~println("Kotlin程序员为灾区祈福!");
~调试输出(“易语言程序员为灾区祈福!”)
0
评论

【环信征文】没有几样强迫症,不配自称程序员 imgeek

东风玖哥 发表了文章 • 133 次浏览 • 2017-08-10 15:33 • 来自相关话题

程序员是一类特殊的群体,因为与电脑交流多于与人交流,所以他们成为了强迫症的高发群体。我国的程序员人数已经达到了 500 万人,比世界上一半的国家人口都多。任何小问题乘以 500 万都是很惊人的,程序员的强迫症成了不可忽视的社会现象。我将程序员高发的强迫症分为十大类。

0 数字强迫症

数字强迫症的症状是数数从 0 开始,这是中了大多数编程语言的毒导致的。

数字强迫症的另一种症状就是对二进制有执念,很多程序员员都认为世界上有 10 种人:一种懂二进制,另一种不懂。

数字强迫症的晚期症状是认为 256 和 1024 等 2 的 n 次方很完美,常常有 1kg == 1024g 或者 1L = 1024mL 的错觉。

1 格式强迫症

格式强迫症的症状是对代码的缩进要求极其严格,代码务必美观。即使遇到缩进不能再整齐的代码,如果有的缩进是 1 个Tab而有的缩进是 4 个Space都会浑身难受。

当代的IDE做到了Enter换行自动缩进和Ctrl + Alt + L整理格式,大大减少了格式强迫症的发病率,格式强迫症也顺理成章发生了变异。格式强迫症最常见的变异就是从只追求左边的对齐变成了也追求右边的对齐,患者会把IDE的字体都换为等宽字体。

2 命名强迫症

命名强迫症的症状是对类、接口、变量、常量、方法、枚举等的命名既追求简短,又追求直白,希望能一目了然——但一般来说简短和直白就如同物美和价廉一样不可兼得。当命名强迫症作为输入强迫症的并发症出现时,经常会因为一列对象的命名字数不一致而有砸电脑的冲动。

中国的程序员有种特殊的命名强迫症,就是不喜欢拼音命名,看见前任遗留代码中的拼音命名就会火冒三丈。

命名强迫症的另一种症状是不喜欢看到笼统的命名,例如data_1、msg_2、view_3甚至干脆就是i、j、k(方法内部循环除外);更不喜欢看到有误导的命名,比如突然发现这么一句注释:“//以下所有left代表右,所有right代表左”。

命名强迫症的晚期症状就是对驼峰命名法有莫名其妙的痴迷,就连新注册网站的用户名都要严格遵循驼峰命名法。

3 保存强迫症

在Eclipse + NetBean的时代,IDE没有自动保存功能,很多程序员养成了随时Ctrl+S的习惯。而当代IDE基本上都有自动保存的功能,他们的习惯,这就是保存强迫症。

前端程序员上网的时候会不断Ctrl+S。如果网页有文本编辑器,在Ctrl+S的时候会弹出对话框:“文字已成功保存于某年月日”,然后会莫名紧张:“怎么又弹窗了?”好久才反应过来自己在上网。

保存强迫症并非一无是处,患者玩单机游戏会自带“随时使用S/L大法”技能,会大大避免前功尽弃的可能。

4 维修强迫症

维修强迫症的症状是在U盘或者移动硬盘里保存各类杀毒软件、木马库、系统镜像、越狱工具、Android root工具以便随时维修电脑和手机。病因是被七大姑八大姨“你不是程序员吗怎么连电脑/手机都不会修?”逼的。

维修强迫症没有晚期症状,三舅妈的大姑姐找程序员帮她修智能洗衣机等loT设备或者四叔的小舅子找程序员把科学计算器刷成Android系统时就把程序员直接逼死了。

5 硬件强迫症

硬件强迫症的症状是程序员对自己工作有关的硬件要求极高。以下常见的致病硬件的逼格和获得的成本递增:

移动硬盘:移动硬盘是线下的Git,保存无数代码、文档以及秘钥。在“考研资料/政治/马克思主义哲学/第十八章/课程H”下面也隐藏着不为人知的东西。

机械键盘:噼里啪啦的手感和不菲的身价,HHKB是每个程序员的信仰,买不起HHKB的程序员会用国产的机械键盘凑合着用。

iMac或者Macbook Pro:苹果的电脑性能都非常好,编译程序速度非常快。更重要的一点:OS X系统不能玩LOL,避免了浪费写代码的时间。

双显示器:对于前端程序员来说,双显示器不仅是装逼用的,一台竖屏显示器显示WebStorm,而另一台横屏显示器显示Chrome对编程很有帮助的。显示器的价格并不昂贵,昂贵的是能呈 120 度角摆两台显示器的桌子下面的地皮在北上广深杭写字楼里的租金。

人体工程学座椅:五花八门的不正常办公家具包括人体工程学座椅和支持站立编程的桌子等,美其名曰保护程序员的颈椎、腰、屁股和前列腺,受到程序员喜爱的真实原因你懂的。

程序员鼓励师:大多数程序员渴望但不曾拥有过的硬件是只属于自己的程序员鼓励师,换句话说就是在你写代码时红袖添香的女朋友。

6 白盒强迫症

白盒强迫症的常见症状是看见代码就想优化一下。说程序员只怕“error”不怕“warning”是非常错误的,很多程序员见不得黄字和中划线,也见不得蓝色的“// TODO”。

白盒强迫症很多时候都是有益的,可以让代码变得整洁,隐藏的漏洞也会减少。

白盒强迫症的晚期患者每次打开一个网页都要右键查看源代码,已经无法正常上网。

7 黑盒强迫症

黑盒强迫症的常见症状是每次看见闭源的软件都想研究一下里面的原理,再想想自己能不能做得更好。比如用支付宝扫码支付的时候想的是识别二维码、通信加密、支付安全等原理;或者乘坐电梯时看着电梯的按钮面板(现实世界的UI)会开始思考电梯的调度算法,比如多个实例之间状态可以互相影响,还有一些优先级、加速度、预判方面的东西。

黑盒强迫症的晚期症状是看见现实世界中办事的流程都想用算法知识优化一下,常见的是想着如何优化公司报销和升职的审批流程;再举个反面例子,看《人民的名义》或《官场现形记》时都想着怎么优化贪官和奸商的“办事”流程。

8 收藏强迫症

收藏强迫症的症状是在GitHub上看见好源码必star,技术博客上看到好文章必然收藏,没有收藏功能的个人站也要加入收藏夹。收藏虽多,但不会再看。明知如此,还感觉不收藏就会吃亏。

9 身份强迫症

身份强迫症的早期症状就是头脑中“程序员 == 我自己”的概念根深蒂固,看到和程序员有关的话题都要打开看一下,尽管大多数程序员不会因为应勤是程序员就看《欢乐颂2》,但你打开本文一定是因为本文标题有“程序员”。读完本文的患者还会把自己和同事们作为一个数组,本文中 10 种强迫症作为另一个数组,然后在自己的大脑里做一个递归,查查自己和同事们分别中了几枪。

身份强迫症的晚期症状是把现实世界中见到的一切理解为IT知识,忘记了自己在职场外怎么做一个正常人:走火入魔的患者偶然有一天没有在家写代码,出门看见太阳想到的是“单例模式”,看见双胞胎想到的是“拷贝”,看到摩天轮想到的“循环”,看到排队想到的是“队列”。

身份强迫症进入日薄西山阶段的症状是患者已经无法用人类的语言进行交流了,QQ聊天时每句话的最后都要家一个“;”,没错,是半角的分号;更有甚者还会把脏话用“/*”和“*/”框起来,以为对方就看不见了;看见卖西瓜就只买一个包子的程序员听说学姐留学归来,会四门语言的第一反应是问她那四门语言是Java、PHP、Python和JavaScript还是C、C++、C#和Objective-C。

身份强迫症进入回光返照阶段的情况是试图把别的语言、工具、领域的程序员改造成自己同行的程序员,曾高呼“PHP是最好的语言”的程序员在移动互联网时代改行Android后会纠结怎么把iMac或者Macbook Pro屏幕背面的Apple形状的灯改成Android形状的。

如果你读到最后,不但一枪没中,也没把自己身边的朋友和同事套在这十大强迫症上做个递归,那么你一定不是一个程序员。 查看全部
程序员是一类特殊的群体,因为与电脑交流多于与人交流,所以他们成为了强迫症的高发群体。我国的程序员人数已经达到了 500 万人,比世界上一半的国家人口都多。任何小问题乘以 500 万都是很惊人的,程序员的强迫症成了不可忽视的社会现象。我将程序员高发的强迫症分为十大类。

0 数字强迫症

数字强迫症的症状是数数从 0 开始,这是中了大多数编程语言的毒导致的。

数字强迫症的另一种症状就是对二进制有执念,很多程序员员都认为世界上有 10 种人:一种懂二进制,另一种不懂。

数字强迫症的晚期症状是认为 256 和 1024 等 2 的 n 次方很完美,常常有 1kg == 1024g 或者 1L = 1024mL 的错觉。

1 格式强迫症

格式强迫症的症状是对代码的缩进要求极其严格,代码务必美观。即使遇到缩进不能再整齐的代码,如果有的缩进是 1 个Tab而有的缩进是 4 个Space都会浑身难受。

当代的IDE做到了Enter换行自动缩进和Ctrl + Alt + L整理格式,大大减少了格式强迫症的发病率,格式强迫症也顺理成章发生了变异。格式强迫症最常见的变异就是从只追求左边的对齐变成了也追求右边的对齐,患者会把IDE的字体都换为等宽字体。

2 命名强迫症

命名强迫症的症状是对类、接口、变量、常量、方法、枚举等的命名既追求简短,又追求直白,希望能一目了然——但一般来说简短和直白就如同物美和价廉一样不可兼得。当命名强迫症作为输入强迫症的并发症出现时,经常会因为一列对象的命名字数不一致而有砸电脑的冲动。

中国的程序员有种特殊的命名强迫症,就是不喜欢拼音命名,看见前任遗留代码中的拼音命名就会火冒三丈。

命名强迫症的另一种症状是不喜欢看到笼统的命名,例如data_1、msg_2、view_3甚至干脆就是i、j、k(方法内部循环除外);更不喜欢看到有误导的命名,比如突然发现这么一句注释:“//以下所有left代表右,所有right代表左”。

命名强迫症的晚期症状就是对驼峰命名法有莫名其妙的痴迷,就连新注册网站的用户名都要严格遵循驼峰命名法。

3 保存强迫症

在Eclipse + NetBean的时代,IDE没有自动保存功能,很多程序员养成了随时Ctrl+S的习惯。而当代IDE基本上都有自动保存的功能,他们的习惯,这就是保存强迫症。

前端程序员上网的时候会不断Ctrl+S。如果网页有文本编辑器,在Ctrl+S的时候会弹出对话框:“文字已成功保存于某年月日”,然后会莫名紧张:“怎么又弹窗了?”好久才反应过来自己在上网。

保存强迫症并非一无是处,患者玩单机游戏会自带“随时使用S/L大法”技能,会大大避免前功尽弃的可能。

4 维修强迫症

维修强迫症的症状是在U盘或者移动硬盘里保存各类杀毒软件、木马库、系统镜像、越狱工具、Android root工具以便随时维修电脑和手机。病因是被七大姑八大姨“你不是程序员吗怎么连电脑/手机都不会修?”逼的。

维修强迫症没有晚期症状,三舅妈的大姑姐找程序员帮她修智能洗衣机等loT设备或者四叔的小舅子找程序员把科学计算器刷成Android系统时就把程序员直接逼死了。

5 硬件强迫症

硬件强迫症的症状是程序员对自己工作有关的硬件要求极高。以下常见的致病硬件的逼格和获得的成本递增:

移动硬盘:移动硬盘是线下的Git,保存无数代码、文档以及秘钥。在“考研资料/政治/马克思主义哲学/第十八章/课程H”下面也隐藏着不为人知的东西。

机械键盘:噼里啪啦的手感和不菲的身价,HHKB是每个程序员的信仰,买不起HHKB的程序员会用国产的机械键盘凑合着用。

iMac或者Macbook Pro:苹果的电脑性能都非常好,编译程序速度非常快。更重要的一点:OS X系统不能玩LOL,避免了浪费写代码的时间。

双显示器:对于前端程序员来说,双显示器不仅是装逼用的,一台竖屏显示器显示WebStorm,而另一台横屏显示器显示Chrome对编程很有帮助的。显示器的价格并不昂贵,昂贵的是能呈 120 度角摆两台显示器的桌子下面的地皮在北上广深杭写字楼里的租金。

人体工程学座椅:五花八门的不正常办公家具包括人体工程学座椅和支持站立编程的桌子等,美其名曰保护程序员的颈椎、腰、屁股和前列腺,受到程序员喜爱的真实原因你懂的。

程序员鼓励师:大多数程序员渴望但不曾拥有过的硬件是只属于自己的程序员鼓励师,换句话说就是在你写代码时红袖添香的女朋友。

6 白盒强迫症

白盒强迫症的常见症状是看见代码就想优化一下。说程序员只怕“error”不怕“warning”是非常错误的,很多程序员见不得黄字和中划线,也见不得蓝色的“// TODO”。

白盒强迫症很多时候都是有益的,可以让代码变得整洁,隐藏的漏洞也会减少。

白盒强迫症的晚期患者每次打开一个网页都要右键查看源代码,已经无法正常上网。

7 黑盒强迫症

黑盒强迫症的常见症状是每次看见闭源的软件都想研究一下里面的原理,再想想自己能不能做得更好。比如用支付宝扫码支付的时候想的是识别二维码、通信加密、支付安全等原理;或者乘坐电梯时看着电梯的按钮面板(现实世界的UI)会开始思考电梯的调度算法,比如多个实例之间状态可以互相影响,还有一些优先级、加速度、预判方面的东西。

黑盒强迫症的晚期症状是看见现实世界中办事的流程都想用算法知识优化一下,常见的是想着如何优化公司报销和升职的审批流程;再举个反面例子,看《人民的名义》或《官场现形记》时都想着怎么优化贪官和奸商的“办事”流程。

8 收藏强迫症

收藏强迫症的症状是在GitHub上看见好源码必star,技术博客上看到好文章必然收藏,没有收藏功能的个人站也要加入收藏夹。收藏虽多,但不会再看。明知如此,还感觉不收藏就会吃亏。

9 身份强迫症

身份强迫症的早期症状就是头脑中“程序员 == 我自己”的概念根深蒂固,看到和程序员有关的话题都要打开看一下,尽管大多数程序员不会因为应勤是程序员就看《欢乐颂2》,但你打开本文一定是因为本文标题有“程序员”。读完本文的患者还会把自己和同事们作为一个数组,本文中 10 种强迫症作为另一个数组,然后在自己的大脑里做一个递归,查查自己和同事们分别中了几枪。

身份强迫症的晚期症状是把现实世界中见到的一切理解为IT知识,忘记了自己在职场外怎么做一个正常人:走火入魔的患者偶然有一天没有在家写代码,出门看见太阳想到的是“单例模式”,看见双胞胎想到的是“拷贝”,看到摩天轮想到的“循环”,看到排队想到的是“队列”。

身份强迫症进入日薄西山阶段的症状是患者已经无法用人类的语言进行交流了,QQ聊天时每句话的最后都要家一个“;”,没错,是半角的分号;更有甚者还会把脏话用“/*”和“*/”框起来,以为对方就看不见了;看见卖西瓜就只买一个包子的程序员听说学姐留学归来,会四门语言的第一反应是问她那四门语言是Java、PHP、Python和JavaScript还是C、C++、C#和Objective-C。

身份强迫症进入回光返照阶段的情况是试图把别的语言、工具、领域的程序员改造成自己同行的程序员,曾高呼“PHP是最好的语言”的程序员在移动互联网时代改行Android后会纠结怎么把iMac或者Macbook Pro屏幕背面的Apple形状的灯改成Android形状的。

如果你读到最后,不但一枪没中,也没把自己身边的朋友和同事套在这十大强迫症上做个递归,那么你一定不是一个程序员。
4
评论

我又做了一次面试官 imgeek

东风玖哥 发表了文章 • 963 次浏览 • 2017-04-12 18:06 • 来自相关话题

有一天HR拿着一份简历找我,说有一个10年IT互联网从业经验,其中最近4年Android开发经验的人来面试。当时我被吓到了,不敢一个人去见他,于是扯着刚毕业的应届生小刚给我壮胆。

那个人看上去快40了,嫌会议室档次太低,要去演播室面试;进了演播室之后,他直奔中间给主持人和嘉宾坐的两个沙发去了,剩下的另一个沙发我俩谁也没好意思坐,一人搬个板凳坐在他面前--当时的场景像极了他在面试我俩。

我看了看他的简历,1983年出生的,从业以年来的经历写的不是“某大型上市公司”的Leader就是“某大型国企”的专家,但都没写具体公司名,技能写的也像很多从不懂技术的HR写的招聘条件上复制粘贴下来的。

我:(他进来之后应该是我领导,问他点作为Leader该懂的)能简单讲讲敏捷开发吗?
他:敏捷开发……就是开发时候思路和动作都敏捷点,多加点班,快点把结果交出来。

我:(感觉他可能是不太擅长管理的技术专家,问点高难度的)能讲讲需要涉及到Android辅助功能的开发,比如自动抢红包的实现思路吗?
他:不知道什么是“辅助功能”
我:像微信一样在桌面上生成与某人会话的快捷方式怎么做呀?
他:没了解过

我:(感觉他没做过方向性太强的,问点常见的)能讲讲Android事件分发传递机制吗?
他:Android事件分发传递机制呀?不知道
我:能讲讲Android动画分哪几大类吗?
他:Android动画呀?不知道
我:WebView用什么接口与JavaScript交流呀?
他:不知道
我:方法数达到65k以后该怎么办呀?
他:方法少写点就行了吧
我:能说说自定义控件需要用到的方法除了OnDraw()和OnLayout()之外另一个是啥吗?
他:有OnDraw()、OnLayout(),另一个不知道

我:(似乎明白点啥)你有作品吗?
他:有,有(说着打开了手机上一个APP)
(我一看是个简单的新闻客户端,他给我演示了一下Fragment翻页)
我:知道Fragment的懒加载吗?
他:不知道
我:还有别的作品吗?
他:还有,还有(说着打开了手机上的另一个APP)
(我一看是个简单的随手记,他给我演示了一下存储文字)
我:用SharedPerfences保存的?
他:嗯
我:知道SharedPerfences的原理吗?
他:是一个轻量级的数据库
我:你不是四年经验吗?还做过别的APP吗?
他:我……我给公司做的APP都是涉密项目

我:(看他简历上还写着“精通Java”)能说说Java的基本数据类型有哪些吗?比如int和long
他:int…?long…?还有String吧
我:你确定String也是基本数据类型?
他:挺常用的,应该是吧

我:(看他简历上还写着“精通软件工程,精通面向对象,精通设计模式”)能说说面向对象三大特征除了封装和多态之外还有啥吗?
他:封装…?多态…?还有啥我还真不知道

我:(已经确定他是嫌站着工作累去培训班学了几个月的厨师或者洗剪吹了,简历上写的“精通算法”也没必要问了)小刚你问他点问题吧,我有点事先回去了

(后来的对话是小刚告诉我的)
小刚:你知道Android四大组件是啥吗?
他:有个Activity吧?
小刚:能说说Activity生命周期吗?
他:(终于有个知道的了)这个我知道,Activity刚打开的时候调用onCreate(),关闭的时候用finish(),从上一个Activity退回来调用onResume()(也没说对)
小刚:那你期望薪资是多少呀?
他:(瞬间来了精神)必须不低于你俩之和!

如果这个比相声还精彩的面试情景被录下来的话对公司的收视率还是很有帮助的,可惜当天视频部门没开摄像机。 查看全部
有一天HR拿着一份简历找我,说有一个10年IT互联网从业经验,其中最近4年Android开发经验的人来面试。当时我被吓到了,不敢一个人去见他,于是扯着刚毕业的应届生小刚给我壮胆。

那个人看上去快40了,嫌会议室档次太低,要去演播室面试;进了演播室之后,他直奔中间给主持人和嘉宾坐的两个沙发去了,剩下的另一个沙发我俩谁也没好意思坐,一人搬个板凳坐在他面前--当时的场景像极了他在面试我俩。

我看了看他的简历,1983年出生的,从业以年来的经历写的不是“某大型上市公司”的Leader就是“某大型国企”的专家,但都没写具体公司名,技能写的也像很多从不懂技术的HR写的招聘条件上复制粘贴下来的。

我:(他进来之后应该是我领导,问他点作为Leader该懂的)能简单讲讲敏捷开发吗?
他:敏捷开发……就是开发时候思路和动作都敏捷点,多加点班,快点把结果交出来。

我:(感觉他可能是不太擅长管理的技术专家,问点高难度的)能讲讲需要涉及到Android辅助功能的开发,比如自动抢红包的实现思路吗?
他:不知道什么是“辅助功能”
我:像微信一样在桌面上生成与某人会话的快捷方式怎么做呀?
他:没了解过

我:(感觉他没做过方向性太强的,问点常见的)能讲讲Android事件分发传递机制吗?
他:Android事件分发传递机制呀?不知道
我:能讲讲Android动画分哪几大类吗?
他:Android动画呀?不知道
我:WebView用什么接口与JavaScript交流呀?
他:不知道
我:方法数达到65k以后该怎么办呀?
他:方法少写点就行了吧
我:能说说自定义控件需要用到的方法除了OnDraw()和OnLayout()之外另一个是啥吗?
他:有OnDraw()、OnLayout(),另一个不知道

我:(似乎明白点啥)你有作品吗?
他:有,有(说着打开了手机上一个APP)
(我一看是个简单的新闻客户端,他给我演示了一下Fragment翻页)
我:知道Fragment的懒加载吗?
他:不知道
我:还有别的作品吗?
他:还有,还有(说着打开了手机上的另一个APP)
(我一看是个简单的随手记,他给我演示了一下存储文字)
我:用SharedPerfences保存的?
他:嗯
我:知道SharedPerfences的原理吗?
他:是一个轻量级的数据库
我:你不是四年经验吗?还做过别的APP吗?
他:我……我给公司做的APP都是涉密项目

我:(看他简历上还写着“精通Java”)能说说Java的基本数据类型有哪些吗?比如int和long
他:int…?long…?还有String吧
我:你确定String也是基本数据类型?
他:挺常用的,应该是吧

我:(看他简历上还写着“精通软件工程,精通面向对象,精通设计模式”)能说说面向对象三大特征除了封装和多态之外还有啥吗?
他:封装…?多态…?还有啥我还真不知道

我:(已经确定他是嫌站着工作累去培训班学了几个月的厨师或者洗剪吹了,简历上写的“精通算法”也没必要问了)小刚你问他点问题吧,我有点事先回去了

(后来的对话是小刚告诉我的)
小刚:你知道Android四大组件是啥吗?
他:有个Activity吧?
小刚:能说说Activity生命周期吗?
他:(终于有个知道的了)这个我知道,Activity刚打开的时候调用onCreate(),关闭的时候用finish(),从上一个Activity退回来调用onResume()(也没说对)
小刚:那你期望薪资是多少呀?
他:(瞬间来了精神)必须不低于你俩之和!

如果这个比相声还精彩的面试情景被录下来的话对公司的收视率还是很有帮助的,可惜当天视频部门没开摄像机。
1
评论

IMGeek社区赞赏功能临时下线通知,请于12月31日前完成提现 imgeek 赞赏

beyond 发表了文章 • 712 次浏览 • 2016-12-26 15:42 • 来自相关话题

    IMGeek小伙伴们好,社区赞赏功能已经陪伴了我们一年,“赞赏”功能一经推出,受到了开发者的热烈追捧,同时不少论坛KOL们已经陆续收到不少“赞赏”,少则一元,多则上百元,虽然钱数总额不多,但能激发人类最原始的互助潜能,也是对知识的一种尊重。根据中国人民银行制定的《非金融机构支付服务管理办法》,规定未经中国人民银行批准,任何非金融机构和个人不得从事或变相从事支付业务。
   IMGeek作为移动开发者技术社区,接到了上级有关部门整改,根据第三方支付政策法规,不具备支付牌照,IMGeek配合停掉赞助功能使用,下次上线时间待通知。请各位小伙伴们于本周内(2016年12月31号前)将收到的赞赏提现到自己账户,逾期赞赏功能关闭,做清零处理。

  社区赞赏提现教程提现教程





Thx! 查看全部
    IMGeek小伙伴们好,社区赞赏功能已经陪伴了我们一年,“赞赏”功能一经推出,受到了开发者的热烈追捧,同时不少论坛KOL们已经陆续收到不少“赞赏”,少则一元,多则上百元,虽然钱数总额不多,但能激发人类最原始的互助潜能,也是对知识的一种尊重。
根据中国人民银行制定的《非金融机构支付服务管理办法》,规定未经中国人民银行批准,任何非金融机构和个人不得从事或变相从事支付业务。

   IMGeek作为移动开发者技术社区,接到了上级有关部门整改,根据第三方支付政策法规,不具备支付牌照,IMGeek配合停掉赞助功能使用,下次上线时间待通知。请各位小伙伴们于本周内(2016年12月31号前)将收到的赞赏提现到自己账户,逾期赞赏功能关闭,做清零处理。

  社区赞赏提现教程提现教程
1debe9ee-8b98-4975-8168-61f51e44f62d.jpg_wh860_.jpg


Thx!
0
评论

imGeek“开源专区”全新上线,改变世界从这里开始 社区活动 imgeek

beyond 发表了文章 • 953 次浏览 • 2016-07-04 18:41 • 来自相关话题

imgeek的创办者们,都是在即时通讯(IM)领域的极客们, imgeek就是指即时通讯领域的极客们
imgeek,也意指I'm极客,统指所有极客们的家园




imGeek社区标识
imgeek社区成立之初,我们就努力将imgeek造成为一个充满开放、互助、协作、创意的极客社区 !你在这里的提问和分享,都将得到伙伴们的热情回复,在这里,你的问题将不再是你一个人在思考。




环信CEO刘俊彦赠书

响应着社区“我为人人,人人为我”口号的号召,涌现了一大批“赠人玫瑰,手留余香”的极客们。
 
正是这些义无反顾的极客们,开放出了各类原创的开源项目,与全社区共享,感谢你们!




imGeek社区代码模板截图
 
imGeek开源专区http://www.imgeek.org/code/  查看全部
imgeek的创办者们,都是在即时通讯(IM)领域的极客们, imgeek就是指即时通讯领域的极客们
imgeek,也意指I'm极客,统指所有极客们的家园

QQ图片20160704184015_-_副本.jpg

imGeek社区标识


imgeek社区成立之初,我们就努力将imgeek造成为一个充满开放、互助、协作、创意的极客社区 !你在这里的提问和分享,都将得到伙伴们的热情回复,在这里,你的问题将不再是你一个人在思考。

IMG_20160510_180107R.jpg

环信CEO刘俊彦赠书



响应着社区“我为人人,人人为我”口号的号召,涌现了一大批“赠人玫瑰,手留余香”的极客们。
 
正是这些义无反顾的极客们,开放出了各类原创的开源项目,与全社区共享,感谢你们!

QQ截图20160704182512.jpg

imGeek社区代码模板截图


 
imGeek开源专区http://www.imgeek.org/code/ 
1
评论

程序员黑客马拉松等你来战 imgeek 行业活动

iamjacker 发表了文章 • 1019 次浏览 • 2016-01-11 16:29 • 来自相关话题

关于猿圈科技
猿圈(www.oxcoder.com)是一家专业的技术测评网站,通过平台帮助企业高效省时地识别最优秀的编程技术人才。同时帮助程序员提升编程能力,用代码脱颖而出,在获得工作机会的同时,识别程序员在编程过程中的不足,并且提供量身定制的学习板块。
 
关于环信
环信(www.easemob.com)成立于2013年4月,是一家全通讯能力云服务提供商。产品包括全球最大的即时通讯云PaaS平台——环信即时通讯云,以及全球首创的全媒体智能云客服平台——环信移动客服。


关于码易众包
码易众包,致力于提供移动互联网产品设计、开发、运营及推广服务,是一个高质量交付平台,让产品开发更快,让程序员更赚钱。公司目前是国家和中关村高新技术企业,并在北京股权交易中心挂牌成功,入选中关村“金种子工程”企业。


比赛信息

报名要求:   程序猿
活动时间:   2015.12.23-2016.1.23
活动形式:   通过猿圈网站的在线测评平台进行编程挑战;
报名截止:   01月20日(1月20日晚12点报名通道关闭)

选手在本报名页面完成后,会在报名当日晚9点前收到比赛通知邮件,按照邮件内提示即可开始初赛环节。
初赛的前二百名编程高手,届时主办方相关工作人员电话通知,进行线上决赛并角逐出前5名。

比赛奖品

一等奖奖金3000元。二等奖,三等奖奖金若干。
前5名每人将获得一块精美手表。
前5名每人奖励猿圈价值1199元的学习卡一张。
前50名每人将获得麦步科技提供的100元购物券一张。
前200名参与最终的跨年颁奖晚会,将获得知名企业offer,技术大牛经验分享等。

活动现场另有精心礼品相送。


日程安排

本次活动包括线上初赛,线上决赛,跨年颁奖大会三部分,其中初赛,决赛环节,通过猿圈网站的在线测评平台进行编程挑战。
报名初赛: 12月23日----01月20日
线上决赛:  01月10日----01月22日
线下颁奖:  01月23日


黑客马拉松,等你来战!

用你的缜密,用你的创思,用你的明慧改变人生轨迹吧!
让这世界与时代见证你的勤奋,踏实和卓越。
时代召唤着程序员们,名企盼望着技术宅们。
让我听到你们摩拳擦掌想要重出江湖的声音吧!
一语言世界,编程无极限!

立即报名:http://form.mikecrm.com/f.php?t=JU8shq


致谢

感谢深圳市麦步科技有限公司和BeeCloud公司为对本次活动的大力支持!
麦步科技是一家智能穿戴设备行业的创新企业,主要从事智能穿戴类软、硬件的研发与生产,主要产品包括麦步微信计步器、麦步智能手表、麦步APP等。
BeeCloud为开发者提供一站式支付解决方案。通过提供易用友好的支付SDK,几行代码高效实现网页、APP支付功能,并提供可靠稳定可靠的分布式云后端服务,保障支付流程安全流畅。 查看全部
GP.png


关于猿圈科技
猿圈(www.oxcoder.com)是一家专业的技术测评网站,通过平台帮助企业高效省时地识别最优秀的编程技术人才。同时帮助程序员提升编程能力,用代码脱颖而出,在获得工作机会的同时,识别程序员在编程过程中的不足,并且提供量身定制的学习板块。
 
关于环信
环信(www.easemob.com)成立于2013年4月,是一家全通讯能力云服务提供商。产品包括全球最大的即时通讯云PaaS平台——环信即时通讯云,以及全球首创的全媒体智能云客服平台——环信移动客服。


关于码易众包
码易众包,致力于提供移动互联网产品设计、开发、运营及推广服务,是一个高质量交付平台,让产品开发更快,让程序员更赚钱。公司目前是国家和中关村高新技术企业,并在北京股权交易中心挂牌成功,入选中关村“金种子工程”企业。


比赛信息

报名要求:   程序猿
活动时间:   2015.12.23-2016.1.23
活动形式:   通过猿圈网站的在线测评平台进行编程挑战;
报名截止:   01月20日(1月20日晚12点报名通道关闭)

选手在本报名页面完成后,会在报名当日晚9点前收到比赛通知邮件,按照邮件内提示即可开始初赛环节。
初赛的前二百名编程高手,届时主办方相关工作人员电话通知,进行线上决赛并角逐出前5名。

比赛奖品

一等奖奖金3000元。二等奖,三等奖奖金若干。
前5名每人将获得一块精美手表。
前5名每人奖励猿圈价值1199元的学习卡一张。
前50名每人将获得麦步科技提供的100元购物券一张。
前200名参与最终的跨年颁奖晚会,将获得知名企业offer,技术大牛经验分享等。

活动现场另有精心礼品相送。


日程安排

本次活动包括线上初赛,线上决赛,跨年颁奖大会三部分,其中初赛,决赛环节,通过猿圈网站的在线测评平台进行编程挑战。
报名初赛: 12月23日----01月20日
线上决赛:  01月10日----01月22日
线下颁奖:  01月23日


黑客马拉松,等你来战!

用你的缜密,用你的创思,用你的明慧改变人生轨迹吧!
让这世界与时代见证你的勤奋,踏实和卓越。
时代召唤着程序员们,名企盼望着技术宅们。
让我听到你们摩拳擦掌想要重出江湖的声音吧!
一语言世界,编程无极限!

立即报名:http://form.mikecrm.com/f.php?t=JU8shq


致谢

感谢深圳市麦步科技有限公司和BeeCloud公司为对本次活动的大力支持!
麦步科技是一家智能穿戴设备行业的创新企业,主要从事智能穿戴类软、硬件的研发与生产,主要产品包括麦步微信计步器、麦步智能手表、麦步APP等。
BeeCloud为开发者提供一站式支付解决方案。通过提供易用友好的支付SDK,几行代码高效实现网页、APP支付功能,并提供可靠稳定可靠的分布式云后端服务,保障支付流程安全流畅。
0
评论

赞赏提现功能已经ready , 收到赞赏的同学可以申请提现了,真金白银,童叟无期 imgeek

fat1 发表了文章 • 1328 次浏览 • 2015-12-18 18:33 • 来自相关话题

终于 ,我们可以愉快的打赏了。  










 
 
终于 ,我们可以愉快的打赏了。  

1.jpg


2.jpg

 
 
0
评论

”活动“模块上线,大家有地儿活动啦 imgeek

fat1 发表了文章 • 847 次浏览 • 2015-12-15 22:32 • 来自相关话题

有没有同学注意到, imgeek“活动”模块悄然上线啦, imgeek将定期组织线下技术活动,区别于众多的活动站,imgeek将遵循开源社区开放、自由、分享的精神,具有几个特点:
 
1.开放演讲申请,任何人都可以提交演讲
2.开放投票,你的投票将直接决定演讲顺序
3.开放赞助商申请,有钱出钱,没钱出礼品,同时imgeek给一些品牌露出的机会
4.开放志愿者申请,给虽然暂时不能登上讲坛,又热心参与活动的同学一些贡献的机会,每个志愿者都将得到一个精美纪念品
5.开放“向讲师提问”,你的提问同时将进入imgeek“问题”模块,不光讲师可以及时回复你的问题,更多的同学将会看到
6.如果你还没有imgeek社区账号,报名后将为你自动生成一个社区账号,省去频繁注册账号的麻烦
 
总之,活动是大家的,舞台是大家的,尽情参与吧!
 
最近的一期活动将在2016-01-09 13:30 举行, 大家记得报名哦
 
活动入口:点击顶部“活动”菜单 or http://www.imgeek.org/activity/
 
 
 
  查看全部
有没有同学注意到, imgeek“活动”模块悄然上线啦, imgeek将定期组织线下技术活动,区别于众多的活动站,imgeek将遵循开源社区开放、自由、分享的精神,具有几个特点:
 
1.开放演讲申请,任何人都可以提交演讲
2.开放投票,你的投票将直接决定演讲顺序
3.开放赞助商申请,有钱出钱,没钱出礼品,同时imgeek给一些品牌露出的机会
4.开放志愿者申请,给虽然暂时不能登上讲坛,又热心参与活动的同学一些贡献的机会,每个志愿者都将得到一个精美纪念品
5.开放“向讲师提问”,你的提问同时将进入imgeek“问题”模块,不光讲师可以及时回复你的问题,更多的同学将会看到
6.如果你还没有imgeek社区账号,报名后将为你自动生成一个社区账号,省去频繁注册账号的麻烦
 
总之,活动是大家的,舞台是大家的,尽情参与吧!
 
最近的一期活动将在2016-01-09 13:30 举行, 大家记得报名哦
 
活动入口:点击顶部“活动”菜单 or http://www.imgeek.org/activity/
 
 
 
 
5
评论

imGeek社区上线现金打赏功能,拥抱共享经济开启单点技术问题众包新模式 imgeek

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

(下面是我们PR写的新闻稿,高大上吧)

 一提到共享经济必定会提到Uber和Airbnb,这两只巨无霸独角兽的崛起让“共享经济”一词异常火热,作为共享经济最具代表性的两家企业,Uber和Airbnb分别为出租车业和酒店业带来了革命性的改变,也让人们看到了共享经济在未来的巨大潜力。共享经济这种新的经济模式并不只会在出租车业和酒店业发挥作用,利用人们业余时间和空间的特点,它几乎可以渗透到各个行业,当然移动开发市场也首当其冲。
 




偶们imGeek开发者社区(http://www.imgeek.org)已悄然上线现金打赏功能,在所有问题回复的下侧悄然出现了一个“赞赏”图标。这个是imGeek开发者社区在共享经济浪潮中的一次尝试,希望借助开发者的力量帮助开发者,人人为我,我为人人。

“赞赏”功能一经推出,受到了开发者的热烈追捧,同时不少论坛KOL们已经陆续收到不少“赞赏”,少则一元,多则上百元,虽然钱数总额不多,但能激发人类最原始的互助潜能,也是对知识的一种尊重。正如打赏时弹出的“知识价值的认可,源自您的赞赏”,正是开发者之间相互的认可,促进了社区中提出的问题可以得到及时的回复。据观察,imGeek开发者社区上面的提出的问题基本在10分钟以内即可得到回复,一个问题基本可以很快的得到解决。

在共享经济的浪潮中也催生了软件服务行业众包模式。其中,Coding,猿团因为众包分别得到了资本的青睐,开源中国更是凭借众包概念上了新三板。 但笔者认为,软件行业的众包并不是一个新生事物,软件项目的外包失败大多是因为项目发包方过于强势,需求变化频繁,众包并不能真正解决这些问题。

但如果将一个项目分解为一个个技术问题, 通过对单点技术问题进行众包,每次付费的金额少,笔者认为imGeek开发者社区这种运营做法是更易操作的方式。 现在imGeek开发者社区的“赞赏”功能还仅是依赖开发者志愿进行,并不强制,这样的操作既照顾到社区的自发性,也为那些乐于分享的勤恳开发者提供了高于社区荣誉的经济收益。

基于互联网的共享经济目前来看已经大大改变了不少行业的格局,相对传统行业,它们拥有更大的优势:1,更节约的时间。2,更优化的资源配置。3,更灵活的就业。也许不久的将来,imGeek开发者社区将在共享经济和众包的浪潮中趟出一条新路。

据悉,imGeek开发者社区是由环信赞助,截止2015年5月,环信服务了23763个App以及几万开发者,环信的创始团队均是世界著名开源项目的贡献者,运营总监是原开源力量社区的创始人,相信正是由于他们对移动开发者的深度了解,促使imGeek开发者社区将逐步发展成为移动开发者们的核心聚集地。 查看全部
(下面是我们PR写的新闻稿,高大上吧)

 一提到共享经济必定会提到Uber和Airbnb,这两只巨无霸独角兽的崛起让“共享经济”一词异常火热,作为共享经济最具代表性的两家企业,Uber和Airbnb分别为出租车业和酒店业带来了革命性的改变,也让人们看到了共享经济在未来的巨大潜力。共享经济这种新的经济模式并不只会在出租车业和酒店业发挥作用,利用人们业余时间和空间的特点,它几乎可以渗透到各个行业,当然移动开发市场也首当其冲。
 
1449803054986.jpg

偶们imGeek开发者社区(http://www.imgeek.org)已悄然上线现金打赏功能,在所有问题回复的下侧悄然出现了一个“赞赏”图标。这个是imGeek开发者社区在共享经济浪潮中的一次尝试,希望借助开发者的力量帮助开发者,人人为我,我为人人。

“赞赏”功能一经推出,受到了开发者的热烈追捧,同时不少论坛KOL们已经陆续收到不少“赞赏”,少则一元,多则上百元,虽然钱数总额不多,但能激发人类最原始的互助潜能,也是对知识的一种尊重。正如打赏时弹出的“知识价值的认可,源自您的赞赏”,正是开发者之间相互的认可,促进了社区中提出的问题可以得到及时的回复。据观察,imGeek开发者社区上面的提出的问题基本在10分钟以内即可得到回复,一个问题基本可以很快的得到解决。

在共享经济的浪潮中也催生了软件服务行业众包模式。其中,Coding,猿团因为众包分别得到了资本的青睐,开源中国更是凭借众包概念上了新三板。 但笔者认为,软件行业的众包并不是一个新生事物,软件项目的外包失败大多是因为项目发包方过于强势,需求变化频繁,众包并不能真正解决这些问题。

但如果将一个项目分解为一个个技术问题, 通过对单点技术问题进行众包,每次付费的金额少,笔者认为imGeek开发者社区这种运营做法是更易操作的方式。 现在imGeek开发者社区的“赞赏”功能还仅是依赖开发者志愿进行,并不强制,这样的操作既照顾到社区的自发性,也为那些乐于分享的勤恳开发者提供了高于社区荣誉的经济收益。

基于互联网的共享经济目前来看已经大大改变了不少行业的格局,相对传统行业,它们拥有更大的优势:1,更节约的时间。2,更优化的资源配置。3,更灵活的就业。也许不久的将来,imGeek开发者社区将在共享经济和众包的浪潮中趟出一条新路。

据悉,imGeek开发者社区是由环信赞助,截止2015年5月,环信服务了23763个App以及几万开发者,环信的创始团队均是世界著名开源项目的贡献者,运营总监是原开源力量社区的创始人,相信正是由于他们对移动开发者的深度了解,促使imGeek开发者社区将逐步发展成为移动开发者们的核心聚集地。
0
评论

imgeek社区上线“活动”板块,求玩环 imgeek

fat1 发表了文章 • 964 次浏览 • 2015-12-08 12:22 • 来自相关话题

社区上线“活动”板块,公测中,求玩环
 
http://www.imgeek.org/activity/
 
花了偶们一个月的时间,改版后的社区活动模块开始公测,相对于以前的和传统的活动报名网站,有了几个改进:
1. 开放演讲报名
2. 开放投票,你的投票将决定演讲顺序
3. 未注册用户也可以报名
4. 活动中的提问和社区相结合,在活动中的提问将进入社区问题流,更多的人将会看到你的问题 
5. 开放合作伙伴和志愿者申请通道,并得到展示  
 
  查看全部
社区上线“活动”板块,公测中,求玩环
 
http://www.imgeek.org/activity/
 
花了偶们一个月的时间,改版后的社区活动模块开始公测,相对于以前的和传统的活动报名网站,有了几个改进:
1. 开放演讲报名
2. 开放投票,你的投票将决定演讲顺序
3. 未注册用户也可以报名
4. 活动中的提问和社区相结合,在活动中的提问将进入社区问题流,更多的人将会看到你的问题 
5. 开放合作伙伴和志愿者申请通道,并得到展示  
 
 
0
评论

新增“代码”区 imgeek

fat1 发表了文章 • 1141 次浏览 • 2015-11-09 15:34 • 来自相关话题

收录了基于环信SDK开发的开源项目,大家写代码的时候就有更多参考了。
 
如果你们什么好的项目,特别是基于环信SDK开发的,并且愿意开源分享出来,请在http://www.imgeek.org/page/code后跟贴回复,我们将收录在的“代码”区,让你的成果与更多人分享。
  查看全部
收录了基于环信SDK开发的开源项目,大家写代码的时候就有更多参考了。
 
如果你们什么好的项目,特别是基于环信SDK开发的,并且愿意开源分享出来,请在http://www.imgeek.org/page/code后跟贴回复,我们将收录在的“代码”区,让你的成果与更多人分享。
 
10
评论

【抽奖结果】环信移动客服平台,你了解多少? imgeek

耗斯基 发表了文章 • 1324 次浏览 • 2015-10-09 10:18 • 来自相关话题

精美奖品蓄势待“发”,请中奖用户尽快通过私信将奖品寄送地址发给我。包括收件人姓名、手机号、收件地址。



中奖名单
------------------
芳心随波儿动!
哈巴狗
华千骨
Y。Y。Y
lhauspicious
marvin
成续缘
缘来就是你
sunshine
东风玖哥
thinking in life
裨b补阙漏
fengsidai
sandpiper
帝乙岩
乘龙再现
月落乌啼

我的世界你不懂
我是一只鱼 查看全部
精美奖品蓄势待“发”,请中奖用户尽快通过私信将奖品寄送地址发给我。包括收件人姓名、手机号、收件地址。



中奖名单
------------------
芳心随波儿动!
哈巴狗
华千骨
Y。Y。Y
lhauspicious
marvin
成续缘
缘来就是你
sunshine
东风玖哥
thinking in life
裨b补阙漏
fengsidai
sandpiper
帝乙岩
乘龙再现
月落乌啼

我的世界你不懂
我是一只鱼
0
评论

新增“帮助中心” imgeek

fat1 发表了文章 • 1061 次浏览 • 2015-09-26 14:45 • 来自相关话题

我们整理了一些已经解决的问题,做成了“帮助中心”,http://www.imgeek.org/help/  
方便大家查询,及时获得答案
我们整理了一些已经解决的问题,做成了“帮助中心”,http://www.imgeek.org/help/  
方便大家查询,及时获得答案
1
评论

提醒一下:提问时,你必须选择“有专职工程师回复“中包含的话题,专职工程师们才能即时收到你的问题提醒 imgeek

fat1 发表了文章 • 1066 次浏览 • 2015-09-08 18:50 • 来自相关话题

提醒一下:你必须选择“有专职工程师”回复中包含的话题,专职工程师团队才能即时收到你的问题提醒 ,这样才能做到即时回复。 
 
现在“有专职工程师”回复中包含的话题有:
环信_Android    环信_iOS   环信_RestAPI   环信_WebIM   环信_管理后台  环信移动客服





 
我们将逐步扩大“有专职工程师”回复的问题范围,这样大家就可以提更多的问题了,范围可能超出环信产品。 
 
 
  查看全部
提醒一下:你必须选择“有专职工程师”回复中包含的话题,专职工程师团队才能即时收到你的问题提醒 ,这样才能做到即时回复。 
 
现在“有专职工程师”回复中包含的话题有:
环信_Android    环信_iOS   环信_RestAPI   环信_WebIM   环信_管理后台  环信移动客服

QQ截图20150908184449.jpg

 
我们将逐步扩大“有专职工程师”回复的问题范围,这样大家就可以提更多的问题了,范围可能超出环信产品。 
 
 
 
1
评论

好吧,今天imgeek被DDOS发贴攻击了 imgeek

fat1 发表了文章 • 879 次浏览 • 2015-08-31 22:21 • 来自相关话题

2个小时插入了几万条文章和问题。  
 
临时采取的办法是所有的提问进入审核,由管理员手动操作审核。

回复的时间可能稍有延后,请大家稍微忍耐下。

让我们一起共同谴责这些破坏份子
2个小时插入了几万条文章和问题。  
 
临时采取的办法是所有的提问进入审核,由管理员手动操作审核。

回复的时间可能稍有延后,请大家稍微忍耐下。

让我们一起共同谴责这些破坏份子
0
评论

倡议: 如果你的问题得到了解决,请标注“最佳答案” imgeek

fat1 发表了文章 • 969 次浏览 • 2015-08-24 17:28 • 来自相关话题

倡议: 如果你的问题得到了解决,请标注“最佳答案”
 
这样,可以方便管理员统计多少问题得到了解决,是否还需要继续跟踪。
倡议: 如果你的问题得到了解决,请标注“最佳答案”
 
这样,可以方便管理员统计多少问题得到了解决,是否还需要继续跟踪。
0
评论

imgeek.org release notes 2015.8.24 imgeek

fat1 发表了文章 • 963 次浏览 • 2015-08-24 17:20 • 来自相关话题

imgeek.org release notes 2015.8.24
 
1.更新问题状态显示,分为三类:回复,最佳,0回复
2.问题列表显示改为两行,将标签显示加到问题后面
3.超出标签数量时及时提示
 

imgeek.org release notes 2015.8.24
 
1.更新问题状态显示,分为三类:回复,最佳,0回复
2.问题列表显示改为两行,将标签显示加到问题后面
3.超出标签数量时及时提示
 
8
评论

【抽奖结果】环信即时通讯云平台,你了解多少 imgeek

耗斯基 发表了文章 • 1964 次浏览 • 2015-08-19 14:45 • 来自相关话题

以下是本次活动中奖名单,其中用户"一等到天幻"中奖两次,予以去重,并补充一个抽奖名额。
名单见下方补抽名单。抽奖过程见附件中的抽奖视频。

请中奖用户迅猛通私信将奖品寄送地址发给我。
包括收件人姓名、手机号、收件地址。

上传稍晚还望大家见谅。


抽奖名单
------------------
诺风
快看_灰机在灰
farawei
卟、分扌の練。愛
wzpforwork
老农民
cena
简.缪
回音
IMCom
乌龟也有怒气
Ruby
一等到天幻
MirrorC.M
ying
南京可以依靠
一等到天幻【重复】
FatCat
mifan2009IM
成续缘


补抽名单
------------------
yuqi


  查看全部
以下是本次活动中奖名单,其中用户"一等到天幻"中奖两次,予以去重,并补充一个抽奖名额。
名单见下方补抽名单。抽奖过程见附件中的抽奖视频。

请中奖用户迅猛通私信将奖品寄送地址发给我。
包括收件人姓名、手机号、收件地址。

上传稍晚还望大家见谅。


抽奖名单
------------------
诺风
快看_灰机在灰
farawei
卟、分扌の練。愛
wzpforwork
老农民
cena
简.缪
回音
IMCom
乌龟也有怒气
Ruby
一等到天幻
MirrorC.M
ying
南京可以依靠
一等到天幻【重复】
FatCat
mifan2009IM
成续缘


补抽名单
------------------
yuqi


 
0
评论

imgeek更新20150710 imgeek

fat1 发表了文章 • 1052 次浏览 • 2015-07-10 11:10 • 来自相关话题

imgeek更新:
1. “问题”列表页中帖子下面加入“话题”,方便大家知道问题分类 
2.更新页脚
3.更新帖子里的显示时间为绝对时间
 
imgeek更新:
1. “问题”列表页中帖子下面加入“话题”,方便大家知道问题分类 
2.更新页脚
3.更新帖子里的显示时间为绝对时间
 
0
评论

什么叫有专职工程师值守的话题 imgeek

fat1 发表了文章 • 978 次浏览 • 2015-07-09 12:21 • 来自相关话题

什么叫有专职工程师值守的话题 

如今的社区,热心的人越来越少,当你有问题需要发贴求助的时候,大多会遇到的情况会是这样的: 
. 永远不知道问题何时能得到回复 

终于有了回复的,还是: 
. 无聊捣乱的 
. 自动顶贴机的自动回复,后面还带有一串含有Url的签名 
. 各种奇葩的、不搭调的回复 
. ...... 

最郁闷的是,你的贴子就像一颗石子扔到湖里,到最后,却没有任何涟漪:没.有.回.帖...... 

imgeek努力想改变这种现状,循着极客们开放、分享、协作、创新的精神,我们努力构建一个具有服务质量保障(Service Level Assurance , SLA)的社区
我们努力征集一些热心的技术专家,得到他们的承诺,可以值守一些话题,当有该话题提交的时候,他可以及时的收到消息提醒,这样可以保障他可以及时的看到你提的问题,以便及时回复。 

当然,如果你在提交一个问题之前,可以先搜索一下,说不定你要提的问题已经有人提过并且得到解答。这样可以省却不少你的时间。 

我们努力的寻找一些热心的专家,可以为社区兄弟们解决一些问题,imgeek社区也可以提供一些必要的补贴给你们,你可以填写表格申请成为我们的”社区专家“,我们将会及时联系你 查看全部
什么叫有专职工程师值守的话题 

如今的社区,热心的人越来越少,当你有问题需要发贴求助的时候,大多会遇到的情况会是这样的: 
. 永远不知道问题何时能得到回复 

终于有了回复的,还是: 
. 无聊捣乱的 
. 自动顶贴机的自动回复,后面还带有一串含有Url的签名 
. 各种奇葩的、不搭调的回复 
. ...... 

最郁闷的是,你的贴子就像一颗石子扔到湖里,到最后,却没有任何涟漪:没.有.回.帖...... 

imgeek努力想改变这种现状,循着极客们开放、分享、协作、创新的精神,我们努力构建一个具有服务质量保障(Service Level Assurance , SLA)的社区
我们努力征集一些热心的技术专家,得到他们的承诺,可以值守一些话题,当有该话题提交的时候,他可以及时的收到消息提醒,这样可以保障他可以及时的看到你提的问题,以便及时回复。 

当然,如果你在提交一个问题之前,可以先搜索一下,说不定你要提的问题已经有人提过并且得到解答。这样可以省却不少你的时间。 

我们努力的寻找一些热心的专家,可以为社区兄弟们解决一些问题,imgeek社区也可以提供一些必要的补贴给你们,你可以填写表格申请成为我们的”社区专家“,我们将会及时联系你
1
评论

imgeek社区更新20150708, 增加”有专职工程师值守的话题" imgeek

fat1 发表了文章 • 944 次浏览 • 2015-07-08 19:23 • 来自相关话题

1.发起问题时新增“有专职工程师值守的话题”,选择“有专职工程师值守“里的话题,支持工程师将会即时收到邮件提醒
2.更改主菜单为"动态"”问答“”文章“ ”活动“, 去掉”发现“,"帮助",折叠”话题“,
3.问题发起者可以设置“最佳答案”,原来只有管理员可以设置
4.主菜单上“活动”前面加上图标
  查看全部
1.发起问题时新增“有专职工程师值守的话题”,选择“有专职工程师值守“里的话题,支持工程师将会即时收到邮件提醒
2.更改主菜单为"动态"”问答“”文章“ ”活动“, 去掉”发现“,"帮助",折叠”话题“,
3.问题发起者可以设置“最佳答案”,原来只有管理员可以设置
4.主菜单上“活动”前面加上图标
 
0
评论

关于发帖礼仪 imgeek

fat1 发表了文章 • 858 次浏览 • 2015-06-30 10:44 • 来自相关话题

1. 问题尽量描述清楚,一般需要包括平台、编程语言、版本、错误信息
2. 问题是否得到了解答,需要回帖说明,如果有时间可以总结解决过程并贴出来
3. 如果你认同别人的回复,记得点赞; 
4. 如果别人的回帖对你有帮助,记得点“感谢”
1. 问题尽量描述清楚,一般需要包括平台、编程语言、版本、错误信息
2. 问题是否得到了解答,需要回帖说明,如果有时间可以总结解决过程并贴出来
3. 如果你认同别人的回复,记得点赞; 
4. 如果别人的回帖对你有帮助,记得点“感谢”
2
评论

imgeek可以用QQ, google登陆了 imgeek

fat1 发表了文章 • 1344 次浏览 • 2015-06-25 17:49 • 来自相关话题

大家帮测试一下,看有没有问题
大家帮测试一下,看有没有问题