Geek Online 2020 编程挑战赛作品展示:科技创新奖《场信》

GeekOnline编程挑战赛admin 发表了文章 • 0 个评论 • 148 次浏览 • 2021-04-20 17:27 • 来自相关话题

由全球领先的互联网通信云服务商融云主办的 Geek Online 2020 编程挑战赛,于 2020 年 10 月 17 日举办了线上总决赛。本届大赛以“后疫情时代通信云技术的创新及实践”为主题,以融云 IM 和 RTC 的 SDK 为编程项目,历经... ...查看全部

由全球领先的互联网通信云服务商融云主办的 Geek Online 2020 编程挑战赛,于 2020 年 10 月 17 日举办了线上总决赛。本届大赛以“后疫情时代通信云技术的创新及实践”为主题,以融云 IM 和 RTC 的 SDK 为编程项目,历经近两个月的激烈角逐,15 支队伍在近百份参赛作品中突出重围,闯入总决赛,最终决出冠亚季团队及四个单项奖。

https://geekonline.rongcloud.cn/uploads/files_user1/article/607e7d8097e9b481793.png

入围作品主要集中于社交、游戏和工具等多个类别,为鼓励开发者挖掘创意、实现更多实时音视频和即时通讯技术的应用场景,最终,评委根据作品完整性、项目创意性和潜在商业价值三个维度进行综合评分,与数百万在线观众一道,见证了冠军队伍的诞生。


科技创新奖团队 - 萍水相逢的生活

微信截图_20210420173108.png

这支队伍只有一位选手,他是一个心怀想法的程序员,做的产品是一个基于事务的陌生人聊天系统,事务场景可以是租房加中介的联系方式、街头偶遇添加好友、发布大字报等,这款产品的设计思路旨在为大家生活提供便利的软件。

团队:萍水相逢的生活

作品:场信 - 基于场景的聊天系统

源码地址https://github.com/rongcloud-community/RongCloud_Hackathon_2020/pull/30/files

安装和部署

场信应用包含三端,分别是iOS 端、Android 端和移动端。由于使用的是 WebView,三端的使用体验基本一致,但安装上略有出入。

Web 端

最简单的当属 Web 端了,直接访问 https://yet.run:8000 即可访问 Web 端。

Android 端

安卓端请进入 android 目录通过源码安装。

iOS 端

iOS 端请进入 ios 目录通过源码安装。

何谓场信

现实生活中,我们总是能遇到各种各样的与陌生人交换联系方式的场景,例如收取快递、领外卖、租房甚至是街头被搭讪。很多时候,自己是不情愿泄漏自己的联系方式的,但往往不给又不好收场。作为沪飘一族,最身为体会的是每次租房的时候。那时候要加很多中介的微信,加他们的电话号码,租完房之后大约在三四个月以后又要一一从微信通讯录里把他们删除。当我转租房子的时候,又要加上一大端我不认识的与我一样的飘一族,聊上几句之后,对方可能表示不再需要,就再也不会有下文了。这是我面对现实的无奈,但我不知道如何解决。

我想,如果有这么一款应用,在里面我有多个帐号,每个帐号与我的联系都不是那么紧密。在里面躺着的不是我的朋友圈子里的人,而是因为某些事情不得不与他们产生这样或那样的联系。也许寥寥数语之后,就不再有任何交集。但我不用担心,不仅仅这次的聊天是临时的,这样的帐号也是临时的。我可以很轻松地在应用内创建或删除一个场景。是啊,当我租到房子,或者我的房子已经转租出去之后,我就轻松地删掉我的帐号就好了。

现在,就有这么一款应用现世了。只不过,在我的“场信”应用下,帐号对应的是场景,用户可以很轻松地创建和删除场景,或者把场信绑定的帐号分享给他人实现沟通。如果你想快速地体验,可体验 Web 版。如果你想真正地使用,那就安装 iOS 版或 Android 版吧。只不过在大赛期间,iOS 和 Android 只能通过源码安装。

功能概览

  1. 当前可以创建、编辑、删除场景,场景旨在做成轻量级的。

  2. 在场景内,可以收发消息、拨打语音和视频电话。

  3. 必要的编辑手段都是有的。

产品理念

在“场信”应用上,我希望场景的概念是轻量级的,用户不可感知的。用户在使用的过程中无需知道场景是什么,将它看成是一个多账户的聊天软件即可。这有点类似于微信的多帐号切换,只不过在微信下切换帐号的操作较重,而场信的帐号是轻量级的,且随用随删。

对于场信的这个理念,当前产品形态已经初现意味了,应该是这个理念的最朴素实践。但应用应该可以更好的,即更加轻量化、操作更加便捷。现在正朝这个方面努力。

目前“场信”最失败的地方在于入口处,几乎为 0. 除了场信号(场信号可编辑,类似于微信号),用户没有其他的分享方式。分享场信的方式上,我认为有两个方案比较好:二维码和虚拟电话号码。两者之中我更青睐于虚拟电话号码,因为它有望破局。由于通过虚拟电话号码实现完整的诱导逻辑工作量大了点,这方面没有抓紧做,希望后期努力。

常见问题

1. Android 和 iOS 应用能否在应用退出时通过通知中心推送?

暂时不能。因为接入推送中心需要开发者帐号,再加上我个人没有这方面的经验,所以就没有尝试。时间上不允许了,希望后期能够补充。

2. 会不会遇到无法实时收到消息的情况?

概率很小。一旦出现此问题,原因可能是多方面的。一般来讲,杀掉进程再重新进入即好。

3. 谁都能用吗?

是的,谁都能用。输入手机号即可注册或登录,无需填写验证码,就是为了让测试阶段不设门槛。

Geek Online 2020 编程挑战赛作品展示:季军项目《IYI 网络剧院》

GeekOnline编程挑战赛admin 发表了文章 • 0 个评论 • 154 次浏览 • 2021-04-20 17:01 • 来自相关话题

由全球领先的互联网通信云服务商融云主办的 Geek Online 2020 编程挑战赛,于 2020 年 10 月 17 日举办了线上总决赛。本届大赛以“后疫情时代通信云技术的创新及实践”为主题,以融云 IM 和 RTC 的 SDK 为编程项目,历经... ...查看全部

由全球领先的互联网通信云服务商融云主办的 Geek Online 2020 编程挑战赛,于 2020 年 10 月 17 日举办了线上总决赛。本届大赛以“后疫情时代通信云技术的创新及实践”为主题,以融云 IM 和 RTC 的 SDK 为编程项目,历经近两个月的激烈角逐,15 支队伍在近百份参赛作品中突出重围,闯入总决赛,最终决出冠亚季团队及四个单项奖。

/uploads/files_user1/article/607e7d8097e9b481793.png

入围作品主要集中于社交、游戏和工具等多个类别,为鼓励开发者挖掘创意、实现更多实时音视频和即时通讯技术的应用场景,最终,评委根据作品完整性、项目创意性和潜在商业价值三个维度进行综合评分,与数百万在线观众一道,见证了冠军队伍的诞生。

大赛三等奖是 youweyoung 团队的游戏作品《IYI 网络剧院》,它同样凭借新颖的创意胜出。《IYI 网络剧院》继承了传统皮影戏剧文化,融合了动画、音视频等现代技术,并参考戏院和剧院的布局方式而开发的小游戏,主要应用场景有二个,一是专业领域的表演者可以演绎剧本里面的不同角色、或者对不同角色配音,提高自己的专业技能,实现剧本演绎的低成本化;二是非专业领域里,父母为孩子远程讲故事时,可以利用皮影、动画等内置素材,让孩子沉浸在视频故事场景中。

微信图片_20210420155931.jpg

团队:YouweYoung

作品:IYI网络大剧院 —— 互联网影音新体验

源码地址https://github.com/rongcloud-community/RongCloud_Hackathon_2020/pull/42/files

项目介绍

目前市面上有大量基于RTC技术的聊天、语音游戏、会议、教学、直播等应用,很少看到有互联网与传统文化、艺术完美结合的产品。于是,在皮影戏、木偶戏以及大型游戏丰富动作的启发下,提出了一个网络剧院的概念,我们的剧院可是和现有那些只播放视频的应用不同的哦,它更像一个能够快速搭建舞台、角色可以24小时工作的真剧院的互联网映射。 什么是网络剧院?它一个虚拟的剧院、舞台,有虚拟的角色和提前设计的剧本(演播者也可以自由发挥创作能力,利用舞台、物品和人物演绎自己的故事)。内容:舞台、角色、剧本将是本项目极具竞争力的核心内容。通过打造虚拟明星,类似于初音、洛天依等,让虚拟明星来扮演不同角色,演绎不同的故事。对于“追星者”,我们可以给他们每人发放一名偶像。 为了更广泛的传播,以及降低使用成本,选择了以web技术为基础,利用其跨平台的特性,让每一个喜欢的影音作品的人得到全新的体验。 一流的配音员+活跃的剧本创作者+熟练的舞台工作人员,将会让网络影院服务每个人,让他们在闲暇时光体验剧院才能感受到的经历。或许某一天,借助ai的力量,让它掌控配音、剧本设计、角色创作和控制,智能影音时代就会真正的来临。

项目准备

  1. 安装nodejs

  2. 修改config.ts文件的appid

  3. 修改 src/api/mock/data 下面的用户token,通过后台生成对应于appid的token,或者找我要appid进行测试

  4. 安装依赖,运行:

     npm install

    Online experience 在线体验

本地测试

npm run serve

说明

因为出于项目核心内容的保密性需求,公开版本仅用于展示基本功能,并且提供了多个不同身份的账号供体验,账号密码相同: role 1 : 666 666665 666661;role 2:111 555 role = 1 代表观众,role = 2代表演播者 观众可以观看舞台的表演、通过文字互动;演播者还可以选择角色、操作角色、进行配音,也就是进行故事的演绎 项目基于vuejs,以便于转化成混合移动APP/多种小程序/鸿蒙app

功能

多剧场 mock登录的身份控制 动态场景的更新 语音的分发 剧场内文字聊天 背景音乐 角色移动和动作基础控制,进场出场控制

Geek Online 2020 编程挑战赛作品展示:亚军项目《点解》

GeekOnline编程挑战赛admin 发表了文章 • 0 个评论 • 169 次浏览 • 2021-04-20 15:55 • 来自相关话题

由全球领先的互联网通信云服务商融云主办的 Geek Online 2020 编程挑战赛,于 2020 年 10 月 17 日举办了线上总决赛。本届大赛以“后疫情时代通信云技术的创新及实践”为主题,以融云 IM 和 RTC 的 SDK 为编程项目,历经... ...查看全部

由全球领先的互联网通信云服务商融云主办的 Geek Online 2020 编程挑战赛,于 2020 年 10 月 17 日举办了线上总决赛。本届大赛以“后疫情时代通信云技术的创新及实践”为主题,以融云 IM 和 RTC 的 SDK 为编程项目,历经近两个月的激烈角逐,15 支队伍在近百份参赛作品中突出重围,闯入总决赛,最终决出冠亚季团队及四个单项奖。微信图片_20210420145156.png入围作品主要集中于社交、游戏和工具等多个类别,为鼓励开发者挖掘创意、实现更多实时音视频和即时通讯技术的应用场景,最终,评委根据作品完整性、项目创意性和潜在商业价值三个维度进行综合评分,与数百万在线观众一道,见证了冠军队伍的诞生。

受疫情影响,游戏用户数在今年得以持续上涨。对于游戏开发者而言,游戏是否引人入胜,在于创意是否足够新颖。本届大赛中,红鲤鱼与绿鲤鱼与驴团队的《点解》项目,是一款面向程序员这一特定人群开发的二维码解谜小游戏,因其极具创意而获得大赛二等奖。

参赛成员现场解析了《点解》的玩法,该款游戏谜题层次丰富如洋葱,第一层需要用户集成融云 SDK、掌握融云 SDK 的基本概念,第二层需要用户做一定程度的视频后处理,第三层需要用户做一些图像识别。

微信图片_20210420154944.jpg

值得一提的是,这款游戏在谜题二维码生成时,加注了时间戳,按时间戳传输视频流信息数据,继而在解码时,再获得一个时间戳,这个从采集、渲染、传输到最后的解码,整个端到端的时间差,实际上恰好反映了融云 RTC 真正的延迟时间。对于融云而言,如果能以游戏的方式让开发者快速了解融云在 WebRTC 领域的特点和技术能力,实属难得,为此组委会为红鲤团队颁发了突出贡献奖。

团队:红鲤鱼与绿鲤鱼与驴

作品:点解——给融云开发者的RTC解谜游戏

源码地址https://github.com/rongcloud-community/RongCloud_Hackathon_2020/pull/116/files

1024程序员节就要来了,各大厂商给开发者们准备了什么有趣的活动活动呢?【点解】给融云开发者准备了一题。从拨通拨通指定的机器人用户开始,谜面是一个二维码,解开即可获得一个谜底的碎片。用任意你喜欢的语言及SDK,开始迎接挑战吧!


在线demo

1. 设置发送端

打开 https://dimgai.wrtc.dev:8443/publisher/ ,选择一张图片,点击确定。

2. 呼叫该用户

打开 https://dimgai.wrtc.dev:8443/demo/ , 进入会议室,并且呼叫publisher用户。publisher用户是个机器人,会播放不断翻转的二维码。

3. 接收/解码

  1. 如您在使用iPhone,打开相机,扫描机器人的二维码,Safari将自动跳转。

  2. 或直接打开 https://dimgai.wrtc.dev:8443,给予相机权限,用相机对准不断翻转的二维码。这时候相机将不断解码,并将结果绘制在屏幕上。

开发/安装

分别进入publisher/server/callllib-v3目录,执行npm install进行安装。通过npm run dev进行开发。可能需要修改域名/端口等配置。 24 Projects/红鲤鱼与绿鲤鱼与驴队/点解——给融云开发者的RTC解谜游戏/calllib-v3/README.md @@ -0,0 +1,24 @@

CallLib Demo

注意事项:

1、需开通 [音视频 3.0 服务]./docs/ready.md

2、旧版 calllib-v3 demo 请参考: calllib-v3-old

启动流程:

  • [前期准备]./docs/ready.md

  • [Demo Server]./docs/server.md

  • [Demo Web]./docs/web.md

  • [演示示例]./docs/show.md

相关文档:

Web CallLib 开发指南: https://www.rongcloud.cn/docs/web_calllib.html

Web IM SDK 开发指南: https://www.rongcloud.cn/docs/web.html

融云知识库: https://support.rongcloud.cn

融云开发者后台: https://developer.rongcloud.cn

Geek Online 2020 编程挑战赛作品展示:冠军项目《缘拼》

GeekOnline编程挑战赛admin 发表了文章 • 0 个评论 • 193 次浏览 • 2021-04-20 15:01 • 来自相关话题

由全球领先的互联网通信云服务商融云主办的 Geek Online 2020 编程挑战赛,于 2020 年 10 月 17 日举办了线上总决赛。本届大赛以“后疫情时代通信云技术的创新及实践”为主题,以融云 IM 和 RTC 的 SDK 为编程项目,历经... ...查看全部

由全球领先的互联网通信云服务商融云主办的 Geek Online 2020 编程挑战赛,于 2020 年 10 月 17 日举办了线上总决赛。本届大赛以“后疫情时代通信云技术的创新及实践”为主题,以融云 IM 和 RTC 的 SDK 为编程项目,历经近两个月的激烈角逐,15 支队伍在近百份参赛作品中突出重围,闯入总决赛,最终决出冠亚季团队及四个单项奖。

微信图片_20210420145156.png

入围作品主要集中于社交、游戏和工具等多个类别,为鼓励开发者挖掘创意、实现更多实时音视频和即时通讯技术的应用场景,最终,评委根据作品完整性、项目创意性和潜在商业价值三个维度进行综合评分,与数百万在线观众一道,见证了冠军队伍的诞生。

尽管当下网络发达,沟通渠道众多,人们的孤独感仍然无法摆脱。开发者们通过研究发现,在线社交的应用领域还存在着大量“死角”,参赛团队缘拼的作品《缘拼》针对大学生群体,基于 WebRTC 技术,设计了一款专注于解决大学生社交难题的小程序。评委们一致认为,无论是作品的完整度、创意性,还是 SDK 编程使用方面都很出色,因此夺得了本次大赛的冠军。

决赛现场的 Demo 演示可以看到,这款小程序主页包含搜索框、官方公告、物流播图、缘拼分类、缘拼展示以及发起缘拼等按钮。大家可基于兴趣在学习、娱乐、出行、吃饭等方面发布诉求,帖子增加的同时会创建一个直播连麦群聊,用户可以在其中畅所欲言。这样利用地理位置提供精确的缘拼地点,通过语音、视频构建同城兴趣小组,最终可以将线上兴趣转换为线下社交行为。

微信图片_20210420145217.png

团队:缘拼

作品:缘拼

源码地址:https://github.com/rongcloud-community/RongCloud_Hackathon_2020/pull/93/files

参赛类别:小程序

参赛选手:康帅 杨帧 张晨博

第1章 引言

1.1 缘拼的开发背景

随着中国互联网技术的不断地发展,手机社交已经成为我们日常生活里不可或缺的一部分。截至2020年3月,我国手机网民规模为8.97亿,我国网民使用手机上网的比例高达99.3%。在我国网民群体中,学生最多占比26.9%[1]。网络社交对我们生活的影响越来越明显,调查结果显示,96.03% 的学生认为网络社交对其生活学习有重要影响,但随之而来的孤独感也不乏见。74.17% 的学生认为现实生活中的孤独感对生活有一定影响,13.25% 的学生认为有很大影响[2]。我们基于此出发,通过缘拼呼吁大学生“走出去”,参加社会活动,增强实际中的沟通交往能力。

1.2 缘拼的应用领域及使用对象

缘拼是一款专注于解决大学生社交难题的小程序。便利了大学生的日常生活。在学习、娱乐、出行、吃饭等方面为使用小程序的大学生用户发布诉求,提供寻找志同道合好友的服务。

第2章 需求分析

2.1 需求概述

小程序设计帮助使用者利用本程序寻找有相同诉求的同学。根据使用者的需求发起缘拼参与缘拼。与其他同学进行交流,从而线上沟通,线下社交。扩大自己的社交圈

2.2 功能需求

  1. 发起缘拼,并提交相关信息

  2. 根据用户昵称,缘拼标题对缘拼进行搜索

  3. 浏览缘拼的内容

  4. 对当前缘拼内容进行点赞,评论,转发

  5. 与发起缘拼的同学进行交流

  6. 能够在详细了解后参与缘拼

第3章 团队与缘拼

3.1 团队组成

后端:杨帧

前端:康帅 张晨博

3.2 缘拼

AppID:wx5031f067550476e7
小程序体验版二维码:微信图片_20210420160731.jpg

第4章 概要设计

4.1 设计思路

小程序设计帮助使用者利用本程序对缘拼进行操作。根据使用者的需求进行发起缘拼,浏览缘拼,模糊查找缘拼信息(按用户昵称,缘拼名称),与发起者进行沟通,并参与缘拼。

综上所述,该系统实现包括以下功能:

  1. 发起缘拼

  2. 对缘拼进行搜索

  3. 浏览内容

  4. 对缘拼内容进行点赞,评论,转发

  5. 与发起缘拼的同学进行交流

  6. 参与缘拼

  7. 浏览其他同学的主页

  8. 添加好友

  9. 与好友联系

4.2 设计流程图

微信图片_20210420161046.png

(设计流程图)

第5章 详细设计

5.1 技术方案

5.1.1 开发环境

5.1.1.1 前端部分

前端部分使用的是基于vue的uniapp框架,编辑器为Hbuilder X,即时通讯部分使用的是融云即时通讯服务,定位及路径规划使用的是腾讯位置服务

5.1.1.2 后端部分

后端框架大致分为5个模块,分别为模型类模块融云连接模块数据库操作类模块,操作类模块,和工具类模块。整体思路是前端与操作类进行通讯,操作类调用相应的数据库、工具类及组件完成前端的需求,并返回相应的数据。

后端主要为前端提供以下功能:

  1. 微信登陆:提供用户js_code,后端通过与微信通讯获取openid并返回。

  2. 融云登陆:提供用户openid,后端通过与融云通讯获取token并返回。

  3. 注册账户:提供用户openid、昵称、头像、性别、后端将数据存入mysql,并返回用户ID和图片链接等数据。

  4. 关注功能:提供用户ID、被关注用户ID、操作类型,后端依据操作类型进行判断是否关注、删除关注、获取列表等工作,并且利用pinyin4j组件把用户首字母区分,最后打包并将数据返回。

  5. 保存聊天图片及音频:提供图片或音频数据,后端将数据保存,并返回相应链接。

  6. 帖子发布:提供帖子标题、类型、内容、图片、位置等信息,后端按帖子的不同类型将数据保存。

  7. 帖子管理:提供操作类型、页数、名字、帖子ID等内容,后端依据操作类型进行相应操作,在查询帖子的同时后端对帖子进行分页操作和分类操作,最终返回相应数据。

  8. 收藏功能:提供操作类型、用户ID、物品ID,后端依据操作类型进行对用户收藏的增删查等工作,并将结果数据返回。

数据库共有7个表,Collections(用户收藏表),Comment(帖子评论表),HomeItemLike(帖子点赞表),HomeItems(帖子表),Partake(帖子状态表),UserFocu0073(用户关注表),UserInfo(用户信息表)。

后端部分完全使用java语言,使用maven构建项目,开发环境为win10系统eclipse + tomcat9 + mysql + jdk1.8

采用rongcloud融云通讯以及pinyin4j、javax.servlet-api、org.json, commons-fileupload组件。

微信图片_20210420160929.png

(缘拼后端)

微信图片_20210420160933.png

(融云数据库)

5.1.2 技术难点

融云即时通讯的实时接收和推送新消息。

5.2 界面设计效果

界面统一采用 扁平化+拟态 的美学设计,且巧妙利用 css3 动画来提升用户的交互体验,简化用户的操作逻辑。扁平化+拟态设计的大量运用也大大增加了信息的可读性,关键信息一目了然,赏心悦目的同时方便用户阅读。

5.3 各模块功能设计/交互逻辑

5.3.1 发布缘拼

发布缘拼的界面需要从首页的可移动的悬浮按钮处点击进入。可以根据需求选择想要发起的缘拼类型,从而跳转到不同的信息填写界面。

拼学习、拼美食、拼娱乐的设计思路大致相同,需要用户填写相关信息,并且可以选择上传一张图片(例如:拼美食中可以上传一张餐厅美食的图片)以供参与者进行选择是否参与。

拼出行需要在除上述信息外需要额外选择输入 出发地 和 目的地 ,从而寻找有相同或类似需求的同学。

在点击发布按钮后,软件在发布成功后会自动跳转到首页,此时下拉刷新,就可以看到您所发布的缘拼。

5.3.2 查看缘拼项目

使用者可以在首页查看当前所有的缘拼活动,或者点击首页的四个按钮分种类查看不同的缘拼。

在点击某一缘拼内容后,可以查看到此活动的相关详细信息,进行评论点赞收藏。也可以由此浏览活动发起人的主页并与他联系。

5.3.3 搜索缘拼项目

搜索框存在于首页,好友页,缘拼分类页,搜索逻辑为用户如果输入的是数字,即搜索用户ID,如搜索到该用户,直接跳转到该用户的详情页,若搜索无结果,显示无结果提示框。如果用户输入汉字,即搜索缘拼活动标题,跳转到搜索结果页面,支持模糊搜索

5.3.4 查看缘拼详情

在首页用户可以查看目前所有的缘拼,当用户点击想要查看的缘拼,会进入详情页,并提供显示缘拼基本信息位置查看点赞评论收藏添加发起用户为好友,以及主要功能:想拼

5.3.5 查看关注,粉丝,好友

当用户搜索其他用户并关注,或在缘拼详情页关注,被关注的用户会显示在好友页。

5.3.6 消息界面

消息界面,会显示用户和其他用户的聊天会话,双方都可以在会话中发起缘拼请求,也可以文字,语音,图片来聊天。聊天记录分为本地存储云存储,在第一次请求云存储后,聊天记录便被存储在本地缓存中。

5.3.7 我的界面

在我的界面,用户可以看到自己的头像昵称,及缘拼账号,还有用户自己的缘拼收藏,浏览历史和缘拼。在缘拼详情页收藏的缘拼都会在我的收藏里显示,点开的每一个缘拼也会在显示在历史中,我的缘拼则会显示用户发起的缘拼和用户成功的缘拼。

同时点击下面的帮助,可以显示常见的缘拼问题解答,帮助用户更好的使用缘拼。点击了解更多则会显示缘拼的主题理念,帮助用户更好的理解缘拼。而最下面的是退出登录,点击后会清空用户缘拼的本地缓存以及融云登出。

第6章 总结

缘拼是一款基于解决社交问题小程序,包括发布缘拼参与缘拼与人沟通等核心功能。我们还在不断地改进和完善缘拼的功能以及操作逻辑,希望可以给您带来良好的使用体验。

第7章 引用

7.1 第三方组件

  1. Uniapp popup弹出层(链接:https://ext.dcloud.net.cn/plugin?id=329)

  2. Uniapp小程序瀑布流示例(链接:https://ext.dcloud.net.cn/plugin?id=1640)

  3. Uniapp- calendar日历(链接:https://ext.dcloud.net.cn/plugin?id=577)

  4. Uniapp可拖动悬浮按钮(链接https://ext.dcloud.net.cn/plugin?id=1087)

  5. Uniapp聊天模板(链接:https://ext.dcloud.net.cn/plugin?id=324)

  6. 融云IM即时通讯(链接:https://www.rongcloud.cn/product/im)

  7. 腾讯位置服务(链接:https://lbs.qq.com/routeplan/)

7.2 参考文献

[1] 《第45次中国互联网络发展状况统计报告》,2020年04月28日

[2] 吕欢.大学生网络成瘾与抑郁、孤独的相关性研究[J].当代教育实践与教学研究,2018(11):223-224.

你真的了解 OpenJDK 吗?

科技创新小小鸟a 发表了文章 • 0 个评论 • 86 次浏览 • 2021-04-16 14:47 • 来自相关话题

上周因为Java 16的发布,我们推了两篇关于Java 16的解读,以及为什么大家还要用Java 8的思考。有不少读者留言说到了openjdk,问了很多关于此的关系。对于JDK的开源体系,还是有很多开发者的认识非常模糊。所以,小编今天就带大家一起了解下有关Op... ...查看全部

上周因为Java 16的发布,我们推了两篇关于Java 16的解读,以及为什么大家还要用Java 8的思考。有不少读者留言说到了openjdk,问了很多关于此的关系。对于JDK的开源体系,还是有很多开发者的认识非常模糊。所以,小编今天就带大家一起了解下有关OpenJDK 的一些常见的疑问及官方问答。

如果上两篇文章还没有读过的,也可以通过下面的链接直达:

关于开源
  • Oracle对于支持Java开源的计划是什么?

Oracle打算继续支持开源和开放标准。Oracle一直致力于为最终用户提供选择、灵活性和较低的计算成本,而且无论是在开源软件还是非开源软件的环境中,都不会过分强调使用开放标准的重要性。

  • Oracle实行开源开发吗?

Oracle正在领导或参与大量的开源项目。请看http://oss.oracle.com有关Oracle的开放源代码和更多信息,请参阅。

  • 怎么能进一步了解Oracle对开源和开放标准的看法?

当然可以,通过http://www.oracle.com/technetwork/oramag/2010/o40interview-086226.html可以看到Oracle首席企业架构师Edward Screven关于开源和开放标准重要性的采访。

Oracle 对于OpenJDK的计划
  • Oracle对OpenJDK社区有什么计划?

作为OpenJDK项目的一部分,Oracle计划与Java社区一起继续开发下一版本的Java SE平台。OpenJDK是Oracle计划参与的唯一一个开源Java SE实现。

  • Oracle是否致力于OpenJDK?

对。Oracle仍然致力于将OpenJDK作为最佳的开源Java实现,我们将继续改进OpenJDK并欢迎外部贡献者。

  • 能详细介绍一下Oracle对OpenJDK的计划吗?

JavaOne 2010 通过发布两个版本加速了Java Se的可用性,一个在2011年,一个在2012年。相应的OpenJDK版本将继续作为the Oracle Java Development Kit (JDK) 7 和 JDK 8 的基础。有Oracle计划的更多信息,可以访问http://blogs.oracle.com/henrik/2010/10/java_roadmap_from_javaone_2010.html.

  • 什么是JDK7?

JDK7是Oracle用于实现下一版本JavaSE 平台的。OpenJDK开源社区中的JDK7项目是Oracle与更广泛的Java和开源社区一起致力于实现JavaSE 7 JSR 中指定的特性的地方。

  • JRockit会怎么样?它会成为OpenJDK的一部分吗?

Oracle工程师目前正在努力将 Oracle Java HotSpot Java Virtual Machine (JVM)和the Oracle JRockit JVM 合并到一个聚合产品中,该产品充分利用了这些市场领先的实现的最佳特性。Oracle计划将组合的结果贡献给OpenJDK。

  • Oracle会改变OpenJDK许可模式吗?

不会。OpenJDK社区在Oracle以及其他公司、研究人员和个人的贡献下继续蓬勃发展,基于GPL的许可模式是这一成功的一个重要部分。Oracle没有改变的计划。

  • 听说IBM要加入OpenJDK?

Oracle和IBM在2010年10月宣布,将在OpenJDK社区合作开发领先的开源Java SE实现,并使OpenJDK社区成为开源Java SE开发的主要场所。Oracle和IBM将支持Java One 2010之前提出的OpenJDK开发路线图,该路线图加快了Java SE在整个开源社区的可用性。Oracle和IBM之间的合作建立在OpenJDK作为Java SE主要开发平台的成功,以及Oracle和IBM对Java社区的长期贡献的基础上。有关路线图和Oracle计划的更多信息,请访问http://blogs.oracle.com/henrik/2010/10/java_roadmap_from_javaone_2010.html.

关于OpenJDK用户和贡献者
  • 谁使用OpenJDK?

主要的Linux发行版,如Ubuntu、Fedora或Red Hat Enterprise Linux,都提供OpenJDK作为默认的Java SE实现。此外,Eclipse Community Survey 2010发现,虽然大多数Java开发人员使用Oracle的商业JDK版本,但参与调查的21%的开发人员使用OpenJDK。最后但并非最不重要的是,许多学术机构发表研究报告都是基于OpenJDK。

  • 谁对OpenJDK有贡献?

大多数OpenJDK贡献者都是受雇于Oracle等公司的工程师。此外,OpenJDK社区还展示了学术界、开源操作系统发行版开发人员以及渴望贡献的个人软件开发人员的强大实力。Oracle没有改变贡献模式的计划,并乐于接受新的贡献者。为了学习如何对OpenJDK做出贡献,请参见http://openjdk.java.net/contribute/。

  • 为什么Oracle要参与OpenJDK?

Oracle致力于使用开源模型开发JDK代码库。Oracle致力于这种工作方式,因为它可以通过降低参与的困难来形成和引入技术发展的最佳想法。

  • Oracle是否欢迎新的贡献者加入OpenJDK?

当然肯定,但是要准备做很多的学习!进入这个项目的一个好方法是订阅一个关于自己感兴趣的主题的邮件列表,观看讨论和评论以了解在该领域工作的开发人员的基调,然后开始审查其他OpenJDK社区成员提出的补丁。

兼容性
  • Oracle是否将Java SE 6 TCK 提供给OpenJDK社区?

对于满足OpenJDK TCK许可协议要求的实现,在一致性组的OpenJDK网站上记录了获取TCK的过程:http://openjdk.java.net/groups/conformance/JckAccess/index.html.

  • 如何测试基于OpenJDK的实现是否与Java SE兼容?

要测试实现与Java SE规范的兼容性,需要向Oracle申请以获得对测试兼容性工具包(TCK)的访问权。Oracle通过各种商业和非商业协议提供Java SE TCK。如果用户的实现满足OpenJDK社区TCK许可协议的条件,那么可以根据这些条款请求访问JCK。

  • 通过OpenJDK-TCK许可协议获得Java SE 6 TCK 的组织和个人列表是否可用?

是的,在 http://openjdk.java.net/groups/conformance/JckAccess/jck-access.html.

  • 我可以使用OpenJDK作为基础来创建完全满足Java SE 6 TCK 兼容性要求的开源构建吗?

对。第一个这样的构建是基于OpenJDK6项目中发布的源代码的,发布于2008年。

对OpenJDK的贡献
  • Oracle是否计划改变开发人员参与OpenJDK的方式?

不。OpenJDK项目继续接受现有贡献者协议下的捐款,并接受相同条款下的新贡献者。目前还没有改变参与模式的计划。

  • 是否应该继续讨论自己在开放JDK中的项目中的想法?

当然!如果用户希望OpenJDK开发人员了解自己的想法,请花一些时间找到最合适的OpenJDK项目,以将其引入并确保访问此页面,该页面描述了如何提供一般性的贡献。许多开发人员为OpenJDK和Oracle中的项目提供了宝贵的想法,希望这些想法能够继续下去。

  • 在什么条件下可以参加OpenJDK邮件列表讨论?

为了参与OpenJDK邮件列表讨论,用户需要订阅自己想要讨论自己的想法的邮件列表。对邮件列表的参与受OpenJDK网站使用条款的约束。

  • 如果用户不在Oracle工作,可以参加OpenJDK吗?

当然,用户可以在与其他贡献者相同的条件下参与。详情可见:http://openjdk.org/contribute

  • 用户能否继续讨论OpenJDK邮件列表中的错误修复和功能增强?

是的,Oracle欢迎每个人的参与。

许可
  • OpenJDK发布的开源许可证是什么?

GPL v2用于几乎所有的虚拟机,GPL v2+类路径异常用于类库和虚拟机中公开公共API的那些部分。

  • 如何知道哪个许可证适用于OpenJDK中给定的源代码文件?

每个源代码文件都有单独的许可证-请查找包含许可证信息的版权头。

  • 为什么不使用不同的开源许可模式呢?

OpenJDK创建时,它采用了当时最流行的开源VM许可模式。多年来,许可模式为项目提供了良好的服务,确保了项目的稳定增长和采用,同时最大限度地降低了专有分叉和碎片化的风险。

  • 可以下载OpenJDK源代码吗?

当然可以

  • 能用它做什么有什么限制吗?

OpenJDK是在一个众所周知的开源许可模型下发布的,它对用户运行OpenJDK的能力没有任何限制。请查看OpenJDK项目网站的法律部分,了解用户的权利和义务范围。

  • 用户能在OpenJDK邮件列表上获得具体的法律建议或法律问题的答案吗?

一般来说,没有。OpenJDK邮件列表用于围绕特定OpenJDK项目开发的技术工作。

JDK 7 & JDK 8
  • OpenJDK构建中的特性是否也可以在Java SE的其他实现中使用?

Java SE的其他兼容实现包含JCP中为平台定义的特性,因此它将取决于Oracle向Java SE专家组建议的哪些特性被接受以包含在平台中。或者,这可能取决于特性本身是被判断为特定于实现的(比如性能增强),还是所有实现都希望包含的特性(比如新的开发人员API)。

  • Java开发冻结了吗?

绝对不是!Oracle工程师和OpenJDK社区正忙于JDk7以及JDk8项目,如Lambda项目和Jigsaw项目。

  • Java编程语言还会继续发展吗?

对。Oracle正积极致力于主要的语言和平台改进,比如Lambda项目、Coin项目、模块化、并行库等等。自收购以来,Oracle加大了在这些领域的投资。

  • 用户可以使用OpenJDK构建来试验动态字节码指令之类的新特性吗?

当然。用户可以按照构建说明自己构建OpenJDK二进制文件,也可以节省时间并从中获取最新JDk7构建的二进制快照版本.

  • 用户想在自己的产品代码中使用即将推出的JDk7特性。可以依赖JDK7二进制快照版本的所有特性来进入最终版本吗?

不一定:虽然jdk7二进制快照发行版包含许多特性,可以从更广泛的Java开发人员那里获得反馈,但并非所有这些特性都可以进入最终发行版,这取决于开发人员的反馈以及其他方面。换句话说,如果用户喜欢一个特性,请告诉开发者-正面反馈至少和负面反馈一样受欢迎!

Oracle JDK 和 OpenJDK
  • OracleJDK是基于OpenJDK的吗?

对。OracleJDK是基于OpenJDK的源代码。此外,它还包含封闭源代码组件。最终的结果是根据二进制代码许可证授权的。

  • 什么是二进制代码许可证?

它是Sun用于JDK和JRE(以及许多其他Java产品)的许可证。用户必须在下载/安装Java之前接受许可证。

  • 下载OpenJDK需要多少钱?

Oracle在开源许可模式下提供OpenJDK源代码。它既是免费的,又是免费的(如在freedom中)软件。

  • OpenJDK难道不让其他JavaSE实吗?

不,Java用户可以从多个供应商在各种商业模型下提供的兼容JavaSE实现的选择中获益。不同的兼容JavaSE实现在诸如调优到不同的体系结构、性能、工具和部署等方面竞争。


给ToB产业再添一把“火” 企业服务万亿空间谁在撬动最大那块蛋糕?

科技创新大兴 发表了文章 • 0 个评论 • 62 次浏览 • 2021-04-16 14:47 • 来自相关话题

目前中国经济正处于宏观环境和新旧动能转换的关键时期,2020年我国提出的新基建、以及十四五规划中加速数字经济发展,推进数字产业化和产业数字化的顶层设计,都彰显了中国经济的新一轮增长将更依赖于数字化转型和数字经济。尽管新冠疫情和地缘政治博弈让全球经济环境恶化,但... ...查看全部

目前中国经济正处于宏观环境和新旧动能转换的关键时期,2020年我国提出的新基建、以及十四五规划中加速数字经济发展,推进数字产业化和产业数字化的顶层设计,都彰显了中国经济的新一轮增长将更依赖于数字化转型和数字经济。尽管新冠疫情和地缘政治博弈让全球经济环境恶化,但成功控制疫情的中国将继续成为推动全球经济增长的巨大引擎,中国经济未来发展的巨大红利依然存在。

微信图片_20210318175050.jpg

企业要想抓住这一时期的发展红利,获得可持续发展与增长,必须突破其自身发展的瓶颈和障碍。IDC研究指出,以技术革新为基础,企业的数智化转型对内要深入到关键的业务流程及管理运营中,对外要延伸到客户触点所在的多样化场景中。这意味着,信息技术在企业中的应用,也需要从专注于业务支撑,侧重企业内部,进化到专注于业务本身,侧重企业间、社会间的结网协同。

根据IDC市场分析,2020年到2023年中国SaaS CAGR 35%,PaaS CAGR 47%。产业结构方面,全球公有云市场IaaS 24%,PaaS 16%,SaaS 60%,而中国的情况则为IaaS 63%,PaaS 6.4%,SaaS 30.6%,说明未来中国市场的PaaS和SaaS具有巨大的成长空间。对于已身处国内企业云服务龙头地位(IDC 2020年报告,用友在国内SaaS第一,财务云、工业云、供应链市场第一)的用友而言,数字化、国产化、全球化的大势之下,企业服务这个赛道上,SaaS,PaaS,BaaS有万亿空间,ERP空间有几百亿,国产替代也有几百亿空间。

数字经济时代,企业要拥抱创新,重构发展力,需要一个强大的数智化基础设施来支撑。而通过技术驱动,利用新一代数字化和智能化技术,实现企业业务创新和管理变革的BIP(商业创新平台,Business Innovation Platform)的出现就显得恰逢其时。正如用友的掌舵人王文京所说,数智化时代对企业而言最为便捷的路径,就是通过商业创新的平台,让平台上的企业、组织与个人可以随需、随时、随地开展商业创新,突破技术、商业、成本三道屏障,使商业创新变得更简单、便捷、大众化、社会化。

2020年,生鲜零售面临前所未有的挑战,利润下滑、客流骤降。但一家西北地区的精品水果超市——果果家却实现了营业额的翻番。疫情期间,果果家各区域门店通过BIP自建商城,以“在线”形式为老顾客的日常生活提供保障,建立了一套快捷、高效的生鲜O2O销售模式。同时,果果家还通过营销云服务启用了现成的拼团、秒杀、营销裂变、会员营销等等社区运营方式,迅速抢占区域水果生鲜的电商市场,从而实现疫情期间的“C位出道”。

疫情催化之下,制造业企业也进一步认识到了工业互联网平台对复工复产、提质增效的重要意义。中国龙工控股有限公司是工程机械制造领域的代表性企业,龙工机械做了车联网,实现10000+台工程车辆、1200多条/分钟的实时数据、50万+参数实时监控。即使在野外的施工现场,也可以通过5G技术实现远程锁机,后台人员可以及时发现车辆的健康状况,快速发现故障,快速定位。

果果家、龙工的“逆势上扬”并非偶然,因为企业只要明确思路,推进以数智化为基础的商业创新,从产品、业务到组织、管理,都可以开放、灵活的享受技术带来的便捷和高效,实现可持续发展。

可以预见,随着新基建与数字化转型发展战略的持续推进,ToB互联网产业正在进入高速发展期,国内企业级应用服务的市场需求将持续旺盛,谁能更准确的把握企业痛点场景,用更贴合企业业务发展逻辑和组织管理的技术服务加以驱动,谁就能在这个宽阔的舞台上获得最多的聚光灯。

*本文图片均来源于网络


链家前DBA判刑7年!你还敢不敢删库?

科技创新fanta2 发表了文章 • 0 个评论 • 61 次浏览 • 2021-04-16 14:47 • 来自相关话题

前几日和同事吐槽工作中的难点,一位同事情不自禁的来了句,老子真想删库走人!不由想起去年年初时候,一家名为微盟的上海公司,因为一位运维人员一气之下删库的行为,导致了最后整个公司数亿元的损失。那么是不是可以毫无顾忌的对公司做出这种事呢?当然不是,这不,近日链家公布... ...查看全部

前几日和同事吐槽工作中的难点,一位同事情不自禁的来了句,老子真想删库走人!

不由想起去年年初时候,一家名为微盟的上海公司,因为一位运维人员一气之下删库的行为,导致了最后整个公司数亿元的损失。

那么是不是可以毫无顾忌的对公司做出这种事呢?当然不是,这不,近日链家公布,公司的前DBA恶意删除9TB数据一案二审宣判,DBA被判7年刑期!

具体案件情况如下:

韩某,男,40岁(1980年11月25日出生),汉族,出生地北京市,大学文化,案发前系链家网(北京)科技有限公司数据库管理员。

2018年6月4日14时许,韩某在位于北京市海淀区上地三街福道大厦三层的链家网(北京)科技有限公司(以下简称链家公司),利用其担任链家公司数据库管理员并掌握公司财务系统root权限的便利,登录公司财务系统服务器删除了财务数据及相关应用程序,致使公司财务系统无法登录。链家公司为恢复数据及重新构建财务系统共计花费人民币18万元。

完整事情经过如下:


案发后链家公司内部调查发现因有权限进入公司财务系统的只有技术保障部五个人,公司在内部进行了初步排查,收集了这五个人的笔记本电脑,其中四人主动上交了个人笔记本电脑及密码,但韩某拒不交代自己的笔记本电脑密码,也对破坏的事情拒不承认,有重大嫌疑。

随后其代表公司来报案,被破坏的服务器存放着公司成立以来所有的财务数据,影响到公司人员的工资发放等,对公司整个运行有非常重要的意义。

后经警方调查发现,韩某2018年2月到公司负责财务系统维护,5月被调整至技术保障部,工作地点从朝阳区酒仙桥总部调整至海淀区上地福道大厦,韩某对组织调整有意见,觉得自己不受重视,调整之后消极怠工,经常迟到早退,也有旷工现象。

同时警方经查看公司监控录像,韩某于2018年6月4日11点左右到福道大厦三层西侧自己的工作区域上班,当天18时左右离开公司。时间上正是符合数据被删时间。

但韩某始终不承认该行为。北京市海淀区人民法院一审判定,韩某违反国家规定,对计算机信息系统中存储的数据和应用程序进行删除,造成计算机信息系统不能正常运行,后果特别严重,其行为已构成破坏计算机信息系统罪,依法应予惩处。依照《中华人民共和国刑法》第二百八十六条第一款、第二款之规定,判决:韩某犯破坏计算机信息系统罪,判处有期徒刑七年。

韩某不服上诉,理由是:

监控录像等证据证明其没有实施犯罪。其不是可以进入被害单位内网且有Yggdrasil主机名的唯一用户。证明其电脑中存在sherd及rm命令的证据之间存在矛盾。在其电脑中检索到的关于Mac地址EA:36:33:43:78:88的记录与其无关,有可能是该MAC地址的设备访问其电脑留下的。被害单位刻意制造维修费用,且没有证据证明被害单位损失,故其不认可被害人的损失数额。

随后,国家信息中心电子数据司法鉴定中心司法鉴定意见书证明:

2018年6月4日14时至15时期间,IP地址为10.33.35.160的终端用户远程以root身份登录链家公司服务器并通过执行rm、shred命令删除数据文件、擦除操作日志等,而该IP地址于6月4日14时17分被分配给MAC地址为EA-36-33-43-78-88、主机名为Yggdrasil的设备使用。该IP地址为链家公司福道大厦3楼交换机所覆盖网络区域,而韩某具有root权限且于案发当日在上述IP地址的网络覆盖区域内上班。

经司法鉴定确认,韩某电脑的主机名为Yggdrasil,与登录服务器执行删除、擦除命令的电脑主机名一致;韩某电脑的MAC地址虽不是EA-36-33-43-78-88,但其电脑中安装有用于更改MAC地址的软件WiFiSpoof,且在其电脑的相关文件中检索到多条与上述MAC地址相关的记录。综合案发后韩某的表现,以及对具有类似权限人员所用电脑的鉴定结论等情况,能够确定韩某实施了删除链家公司财务系统服务器程序数据的行为。

对于韩某所提监控录像证明其没有实施犯罪的上诉理由,经查:视频服务器和涉案四台服务器均未与标准时间校准,无法判断监控时间与服务器时间的时间差,无法以视频时间和服务器时间排除韩某作案的可能。

最终北京市第一中级人民法院判定驳回上诉,维持原判!


相信韩某现在一定追悔莫及,以为凭着自己的小聪明和自己为是的小技术可以瞒天过海,殊不知法网恢恢疏而不漏,做错了事一定要付出代价!

对各位程序员来说,工作中肯定会碰到各种不如意,例如甲方的刁难、需求的不断更改,有情绪是必然的,但自己一定要控制好情绪,调整好心态,千万不要做出不可挽回的事情。


程序员,都是内卷之王!

科技创新大兴 发表了文章 • 0 个评论 • 84 次浏览 • 2021-04-16 14:47 • 来自相关话题

前言最近看到这个问题被谈得很多。铺天盖地的35岁、内卷化、996。这里也想谈谈自己的想法。内卷化的形成内卷为什么会形成呢?从公司内部的角度来说,同事之间做的事情也缺少独特性。那么既然每个人都差不多,那么与其招一个工作十年的人,还不如招个应届生。虽然说从代码的产... ...查看全部


微信截图_20210416143250.png前言

最近看到这个问题被谈得很多。铺天盖地的35岁、内卷化、996。这里也想谈谈自己的想法。

内卷化的形成

内卷为什么会形成呢?从公司内部的角度来说,同事之间做的事情也缺少独特性。那么既然每个人都差不多,那么与其招一个工作十年的人,还不如招个应届生。虽然说从代码的产出和质量来说,工作十年的工程师比应届生理论上来说应该是好很多, 但是如果工作十年的人缺少积累,缺少系统性的理解,那么跟应届生比较可能多了一些广度(因为换过工作)。但是深度上来说并没有本质上的区别。那么这个时候就会发生内卷了,公司不停的把老员工换成新员工,老员工也不停的跳槽导致缺乏积累,长此以往公司很难得到优质的员工,员工也很难得到深入的知识和技能的积累。

如果把这个发到公司之间,那么很多公司间的竞争也是重复性的,你做个朋友圈,那么我就做个拼圈,如果你做个金融服务,那么我也做一个。公司的产品决策并不完全是跟公司本身的基因和方向决定,而是因为什么方向火而赶鸭子上架。公司在做决策的时候考虑的是最少的投资和最快的回报,而不是靠着自己的特性而做长久的、独特的产品发展。在做这样重复建设的时候,公司可能会在竞争对手那里挖上那么几个牛人,然后其他的(包括UI)都照抄就好。长此以往,用户、客户很难用到更好的产品,而公司也很难积累出做出好的产品的能力。

从内卷到996

既然公司间都内卷了,公司做的产品跟别人的产品差不多,那么拼的就是手速了。如果竞争对手和你拿的投资差不多,那么招的人数也接近,如果竞争对手都996了,那么你955岂不是输在了起跑线上?同理,大一点的公司内部,团队之间也没有太多壁垒和界限,如果说你团队的输出能够替代另一个团队,那么让自己的团队拼一拼,把地盘占好,年底涨工资也是一个很美滋滋的事情。但是如果你这样做,别的团队也这样做,长此以往就没人不996了,最后你996也不够,只能007了。

我如何看待996

我今年工作刚好十年。我刚毕业第一年在阿里工作,团队的任务还是比较重,但是我一周也就两天会在公司吃晚饭。周末和晚上我也会花时间学习感兴趣的东西(当时是机器学习,还写了不少博客),真正晚上工作的时间不是很多。后来去了一个外企,基本上每天5点公司就没人了,我晚上就看看开源的项目,有时间贡献一下。过了两年我去了美国,第一年公司IPO前还比较忙,有时候晚上要在公司吃饭加个班啥的,后面IPO后公司也没人加班了,我周末和晚上不少时间都花在开源里面。最近这几年带团队,白天的会比较早,一周晚上也有那么几天有晚上的会,除了陪陪家人以外,有时间我还是会继续弄弄开源,看看论文和书。

我对于公司、团队级别的强制996是反对的,因为工程师做的事情应该是在更轻松的氛围里面创新,而不是被按在工位前出活。有些工作是需要很多的思考,特别是架构设计,还有职责划分之类的。996会让人缺少了思考的空间,对于那些资深的工程师或者架构师来讲,缺少思考的空间会导致最后出来的架构不是最优的,因为好的设计应该是想出来的而不是堆出来的,如果架构设计都出问题了,后面的工程部分会跟着错。对于管理方向的人也一样,如果缺少了思考的空间,管理者会更难为他人着想,更难思考团队到底需要和达到什么的目标,怎么做能够让公司受益等等。当你的时间都困在了工作中,长期来讲会产生工作的倦怠(burn out),对于身心、家庭、还有公司都不是什么好事。

但是另一方面我对于弹性的工作时间和短期的加班是可以接受的,比如说产品要发布了,或者客户有什么问题了,哪怕是周末或者晚上,我觉得也应该能够尽力帮忙,但是这样的加班节奏不应该是长期的、持续的、强制的。公司(或者管理者)不应该告诉员工这个时候加班,我的态度是,如果员工有一段时间特别忙,加班比较多,我会让他们去休个假,或者轻松一段时间。

我自己也一样,如果忙了一段时间,也需要从工作中脱离一下。因为忙碌的时间太久想要从中恢复很累,而且加班太多,导致心情不好的时候也会让家庭不开心,并且影响工作本身的效率。

工程师怎么避免内卷化

第一我觉得工程师要打好基础:不管是科班毕业还是转行。当你做上程序员的时候,就一定要打好自己的基础,基础包括:

  • -编程本身的技能:一定要写一手好程序,有好的编程习惯。

  • -写作、沟通的技能:能够写好的文档,做出清晰的沟通。

在工作的前几年,就要开始建立自己的社交圈,有一些值得信赖,互相学习、找工作可以互相内推的朋友,这样可以避免走很多的弯路。

在自己工作的范围内,看得比较深:因为你对于某一样东西有深入的理解后,学习浅一些的东西会很容易。比如说你做的是互联网的后台开发,那么深入理解一个或者几个分布式的系统很重要,如果做IOS app,那么对手机系统的内部工作应该是要很懂。

多阅读,多看看系统的知识,还有好的论文(比如说Google的论文):这里我并不推荐付费的网课,相对网课,看看那些原创的书,比如说DAIA,算法导论之类的。会比只是教你刷刷LeetCode要好得多。当然LeetCode也是可以做做,不过不应该把它作为人生的追求。也建议看看管理、商业类的书,比如说硅谷之火,创新者的窘境之类的。

我建议这些能力在工作的3年内培养。

3年后,在有了这些基础后,对于业界和行业的发展应该会看得更清楚,而不至于走错大方向,比如说大家都在做SaaS的时候,你不应该花时间去学习太多windows 桌面的软件开发;选择一条发展更快的技术路线应该是避免内卷化的一个很重要的选择,如果方向都选错了那么避免内卷也很难。

另外跳槽的时候应该注意积累,每次跳槽应该是能够有更加深入的技能,而不是看钱跳槽(钱会自然来的)。如果每次跳槽都是换个方向平移重来,可能会导致工作十年跟工作3年的输出类似。

关于技术方向选型的一些建议

我个人觉得未来的后端软件发展逃脱不了两样东西:第一是云,第二是开源。在大部分的时候是两者结合起来的,因为云本身也用了很多开源的软件。相比自己造轮子,使用开源,并且贡献开源(重点)应该是第一选择。把开源软件folk出来,自己搞一套我觉得并不是很可取。因为这样跟做闭源的区别也不是很大(当然你至少会对那个开源软件有深入的了解)。你的第一选择是,能否把一些贡献给反馈回开源的社区。

如果你选择贡献开源,最好选择贡献有社区的开源软件,其中以Apache或者CNCF为代表。因为有社区的开源软件会走得更长、也往往会更成功,作为一个这样(成功的)项目贡献者你的价值就会越大。


如果你刚毕业、或者工作时间还很短,建议选择更新一点的方向,比如说你现在想要做后端软件开发,Go/Rust会比Java更好,Java比C++也会更好。(我这里这样说不是为了搞语言之争,我也知道C++ ver.17 有很多新的特性,也本来就有很多市场)。

如果两个差不多的工作机会,做云上的软件开发(比如说一个给餐饮行业做管理的SaaS),会比做传统行业软件开发(比如给餐饮行业做桌面软件)要来得更好。因为一个发展更快,空间更大的行业的内卷化就会越少。

管理者:如何避免团队内卷化

作为管理者而言,在做好公司的任务之外,也需要尽力避免团队的内卷化。

首先说说加班,虽然说短时间的996会给团队带来(不少的)产出,不过从长时间来看,团队会因为倦怠和缺少进步而缺乏后劲。长时间的加班会让团队心情不好,钱给够是一个方面,但是钱很难买来长期的快乐(我的经验是涨工资的时候很开心,涨完了过段时间就平静了)。相对用钱去刺激加班(给1.5倍的工资,干两个人的活),我觉得更重要的是让团队成员真正能够得到发展,能够喜欢自己的工作,这样的效果很正向:公司能够得到工程师尽心尽力的产品,而工程师也能获得发展,并且过程很开心。作为管理者而言,你自己可以加班,但是不要要求团队总是和你一起加班,偶尔一次可以,总是这样的话,团队会变得低效和士气低落。

跟加班类似的,管理者也不应该认为员工的所有时间都属于公司的,应该尊重别人的休假、陪家人、生病等等的时间。

那么怎么能够让工程师更好的发展呢?管理者应该和工程师多沟通,多1-1,了解到别人的需求和想法,然后根据情况给出不同的机会(比如说承担某个重要的功能开发、在某个meetup上面讲一场技术专题、做一个更好的设计文档)。作为团队的管理者,不应该假设“给你做这个功能你就可以进步和开心了”。

其次,在面试的时候也不要有很多不恰当的要求,比如说觉得35岁以上、或者怀孕的人就不应该要之类的,在我看来35岁的程序员可以有非常厉害的输出,对这样的程序员的歧视首先是非常的没意义,其次也会加速内卷、社会更加不公平和完全不必要的焦虑(35岁焦虑)。对于公司而言应该是看大格局(怎么打造一个别人更喜欢的产品),而不是纠结于比较low的地方(如果招了一个刚结婚的人,未来一两年可能需要休几个月的产假;或者35岁的人有娃,需要花时间陪娃、接娃上下课)。

草草写一点想法抛转引玉一下。

转载于公众号“码个蛋”


夜宵是福利?那为什么不能随便吃?浅谈华为员工夜宵事件

科技创新fanta2 发表了文章 • 0 个评论 • 118 次浏览 • 2021-04-16 14:47 • 来自相关话题

一早看到新闻,说上海从28号晚上发布寒潮蓝色预警,预计未来48小时以内气温将直接下降10度左右。元旦那天可能市区最低零下六度,郊区甚至零下8度。看到这里特别想叮嘱下各位程序员,一定要注意保暖,当心身体,因为对于加班频繁的程序员来说,秋冬是心血管疾病高发的季节,... ...查看全部

一早看到新闻,说上海从28号晚上发布寒潮蓝色预警,预计未来48小时以内气温将直接下降10度左右。元旦那天可能市区最低零下六度,郊区甚至零下8度。

看到这里特别想叮嘱下各位程序员,一定要注意保暖,当心身体,因为对于加班频繁的程序员来说,秋冬是心血管疾病高发的季节,尤其这种骤降的温度,很容易击倒刚加完班一身疲乏的身体。

不由想起最近发生的一件闹得沸沸扬扬的事情:

华为员工夜宵事件

华为,相信是很多人奋斗的目标,一向以员工福利丰厚著称。在华为,有一个夜宵制度:

华为夜宵制度规定,员工可以在八点半后凭工卡领取夜宵,夜宵通常为牛奶、水果、加班餐等价值二十五元的套餐。

对于经常需要加班到深夜的程序员来说,的确是一个贴心又实用的福利,每当干完一天繁重劳累的工作,能够喝上一口热汤吃上一口热菜,整日的疲乏瞬间得到了缓解。

但是最近呢,华为通报了一个违规案例

某员工饭后于健身房锻炼到八点半后,无加班领取夜宵,被发现,被处罚“永久取消领夜宵权限,冻薪降考评并通报批评”。

对于这个案例,华为额外补充的说法有如下几点:

  • 1、不提倡员工饭后马上安排健身。

一般员工食堂的饭点设置在17:30-19:00左右。科学的建议饭后多久才能剧烈运动呢?中度运动至少要在1个半小时到两个小时以后。也就是说,如果该名员工是17:30吃饭,至少应该在7点才开始运动。考虑到前后都需要准备时间,零七八碎的加一起算半个小时,而到了8点半,该为同学也只是运动最多一个小时,没有达到运动效果。

  • 2、不提倡员工运动完后摄入错误膳食

健身健身,三分健,七分吃。健身完毕后,再摄入低效的夜宵,显然会让健身事倍功半。根据描述,夜宵通常为牛奶、水果、加班餐一看,除了牛奶跟优质蛋白沾点边,水果和加班餐适合健身后吃吗?要是小蛋糕、大肠刺身、锅包又吃多了很可能白练了!!建议喝点儿蛋白粉,有效补充一些电解质。不要盲目脏增肌。

  • 3、不提倡员工健身后不拉伸

健身不拉伸,毁掉运动人生。8:30匆匆忙忙健身后就去吃夜宵,没有趁着身体热着去拉伸筋膜。这样好吗?这样不好。极容易造成肌肉僵硬,乳酸堆积,下次运动容易受伤。这种时间安排是极为不妥的。

华为为员工身体着想这一点值得嘉奖,但是对于员工被处罚这一事件,的确引起不小的热议,因为到底怎么样才算有加班行为?加班多久才算有加班行为可以领取夜宵?或许这就是企业的一个灰色地带,在入职的时候,肯定不会详细的告诉入职员工只有“在某种某种时间条件和强度条件下,你才有领夜宵的权限”,反而大多数的说法会是说“八点半的时候可以领夜宵,九点可以打车回去”诸如此类的话语用以强调自身的福利有多好。

  • 站在公司的角度上,公司肯定认为这名员工,故意蹭夜宵,才做出惩罚。但是作为员工来说,他是否准备吃完夜宵继续加班?不得而知,至少华为的通报中没有详细说明。

  • 站在员工的角度上,这种夜宵福利也是在入职的时候也会做比较的地方,是一个入职的加分项,作为一个福利却现在有这样惩罚的先例,是否会寒了加班者的心,是否以后加班的时候还需要掐着表算着时间看自己能不能领?

尤其程序员作为弱势群体,本来就很辛苦,活儿怎么干都干不完,而公司通过员工加班赚到的利润,和每天晚上给每个人都发一顿夜宵比起来真的算不上多少,公司这么做,是否会给人一种杀鸡取卵或者又要马儿跑得快又要马儿不吃草的感觉?

冻薪降考评并通报批评这一点,更是极其严厉,你可以取消他吃夜宵的福利,但是这如果是福利,为什么还要去冻薪降考评并通报批评?这里的标准是什么?是否企业会在招聘时说清楚,这不是简单的福利,还是会遭到惩罚的陷阱?

肯定不会,企业肯定只会说自己有多好,那么出了这种事情,是否这个人一而再再而三的不加班领取?如果不是,作为弱势一方该怎么申诉?凭什么要为了一个福利去遭受这些严厉惩罚?

联想到近日看到的另一个新闻:

程序员真的是一个辛苦的职业,上有老下有小,工作压力大,技术淘汰快速,时刻面临着海量后来者的挑战,生活和工作上的压力都很大。

经常加班熬夜、工作压力大的人,最需要的是休息!谁不想休息,谁不想云淡风轻、闲云野鹤,还不都是工作所迫,现在却连吃一个加班夜宵难道也要成了一件战战兢兢生怕被罚的事情?

现在很多公司对员工看上去非常好,茶水间摆满了各种免费的饮品和零食,每天的午餐既廉价又美味,条件好一点的还自带健身房、按摩室。甚至还有各种加班福利,这一切都掩盖不了一个本质,公司把员工服务好,是为了让员工加班更带劲、更喜欢加班!其背后更是一个商人的本质,当他发现员工享受这些福利却没有更多的加班时,他不会去考虑你的身体你的健康,有的只是冰冷的惩罚。

近年来关于猝死的话题并非少见,一个员工的生命可能对于公司来说都是可以用金钱来衡量的,而且是廉价的。但对于自己和自己的家人来说或许那是无价之物。


曾经风光无限的铁饭碗没了…网友评论:996卷走了955的他们…

科技创新大兴 发表了文章 • 0 个评论 • 71 次浏览 • 2021-04-16 14:47 • 来自相关话题

作为一个程序员,你刚毕业时候的梦想是去哪里呢?是BAT这些大厂?是自己马上就开始创业?相信有很多一部分人,尤其是80后,最初的梦想是想进一个外企工作,微软、谷歌、甲骨文、IBM、HP等等等等。可以说80后那一代,见证了外企在国内最辉煌的一段岁月,当时如果身边有... ...查看全部

作为一个程序员,你刚毕业时候的梦想是去哪里呢?是BAT这些大厂?是自己马上就开始创业?

相信有很多一部分人,尤其是80后,最初的梦想是想进一个外企工作,微软、谷歌、甲骨文、IBM、HP等等等等。

可以说80后那一代,见证了外企在国内最辉煌的一段岁月,当时如果身边有哪个同学拿到了一个外企的offer,绝对是要被人羡慕半天的,尤其是那些大公司,真是挤破头皮都想进去,当时每个人都说外企的福利有多好、外企的管理多人性化,相比起现在国内IT公司追求的996标配,外企仅仅在加班费一项上足以傲视群雄。

但是再辉煌的君王也有落寞的一天,曾经那些个习惯了穿西装打领带喝咖啡讲英文的外企员工不得不承认,外企风光不再,可以说外企的黄金时代已经过去了。

这不,前几天有消息传来,巨头IBM的中国研究院(IBM CRL)已经全面关闭,关闭的悄无声息,在举国讨伐郑姓女戏子的热点追逐下,更是显得苍白无力、无人知晓。

IBM,作为大家熟知的行业龙头企业,有着一百多年的历史,哪怕IBM研究院,也可以追溯到上世纪40年代,比新中国成立的时间还早。

IBM中国研究院则是在1995年成立于中国北京,位于北京上地信息产业基地的西北角,坐落在中关村软件园内。当时绝对是一件轰动国内IT界的事情。

到了2008年,IBM中国研究院上海分院成立。

自从建立以来,据不完全统计,有过上千名研究人员在该研究院工作过或正在工作,其中绝大多数拥有中国乃至世界一流大学的博士和硕士学位。因为IBM基本不招本科生,当时硕士能进IBMCDL就已经很不错了,能进CRL的大多数都是博士。

说起IBM中国研究院的重点研究领域共有四个,分别是

  • 行业解决方案行业解决方案,是指运用前沿技术解决行业的关键问题,这里指的关键问题是环境治理、电力与能源、物流与供应链、医疗、金融服务等各领域相互相成的一系列复杂方案,并非单单局限于某个狭隘角度。而是更加关注类似大气污染防治、可再生能源高效利用和企业节能这种关乎人类可持续发展的命运话题,往往一个研究计划就以十数年为周期。

  • 认知计算最为知名的就是在2011年发明的沃森,它以IBM创始人Thomas J. Watson名字命名。作为一个自然语言问答系统,沃森甚至在美国的著名电视智力竞赛节目《Jeopardy!》中击败了该竞赛最长优胜纪录的保持者Kenneth Jennings,从此被世人熟知。

  • 运算即服务IBM中国研究院主要从事物联网云计算、云计算基础设施与云服务、平台即服务(PaaS)的开发与研究。

  • 物联网IBM中国研究院在高性能无线专用物联网通信系统、大规模物联网数据处理中间件平台等领域取得了诸多技术上的突破,并在2014年提出过物联网3.0的概念。

当年的IBM就像现在的BAT,聚集了国内最能干的一帮青年才俊,20年光阴转瞬即逝,当年的意气奋发现在亦早已成了40不惑,甚至50知天命。曾经的雄心壮志,还在吗?

现在的年轻人或许只知道击败了众多围棋高手的人工智能阿尔法狗,但实际上早在1997年,IBM研发的计算机深蓝(Deep Blue)就战胜了国际象棋冠军卡斯帕罗夫。当时的深蓝就是今天的阿尔法狗,当时的IBM就是行业的领先者。

而在深蓝的基础上,进一步通过机器学习,复杂算法和大规模数据库进化出来的就是后来的沃森,现如今沃森在金融领域的理财管理,保险业理赔,商业领域的社交媒体分析,医疗领域的慢性疾病控制,跨行业的呼叫中心服务都有着广泛的运用。

但是一个沃森掩盖不了IBM的日益老态,作为曾经的巨人,IBM已经连续十季度营收下降,仿佛预示着一个时代的落幕,更是一代在华外企的落幕。

其实早在前几年,就不断有曾经的巨头外国企业逐渐离开中国市场:

  • 2015年3月19日,雅虎宣布退出中国市场,雅虎北京研发中心宣布关闭。

  • 2019年,亚马逊宣布退出中国。

  • 甲骨文,在受到了云计算的冲击后,曾经不可一世的甲骨文正式关闭在中国的研发中心,并裁减员工约900人。

尤其是近年来BAT、华为等国内大厂的崛起,习惯了996的程序员让加班成本无比高昂的外企更加不适。毕竟,再杰出的才华,在努力面前还是会被超越!

退出,其实是早晚的事情。告别,也是情理之中。


友情链接