当前,全社会驶入数字化转型快车道,作为政府和企业数字化建设的底层软件和核心支撑,数据库在保障数字化生产效率和信息安全方面都有非常重要的作用。然而,数据库研发技术门槛高,开发难度大,目前我国国产数据库整体还处于产品和市场不断完善的阶段。此外,数据库领域人才培养供给侧和产业需求侧在结构、质量、水平上“两张皮”问题仍然存在。
开源软件作为数据库技术的重要源头,打造更为活跃的开源开发生态将成为促进国内数据库原生创新的重要土壤,而人才则是基石。充分利用开源软件,深化产教融合,是推进数据库产业发展的重要举措,对全面提高科技教育质量、扩大就业创业、推进数字化转型升级、培育数字经济发展新动能具有重要意义。
一、助力产教融合、产研融合,openGauss社区分委会正式成立
近年来,华为一直在数据库人才发展上持续投入,并通过开源共享、社区协同的方式繁荣基础软件生态,围绕 openGauss开展CCF-华为数据库创新研究计划、通过众智计划开放openGauss合作项目、在智能基座合作高校推进开源数据库产教融合模式等。为了让高校、科研院所、开发者能够更好的参与 openGauss社区贡献,加速openGauss社区人才培养和技术创新,openGauss社区正式成立 “openGauss社区分委会”。
openGauss社区分委会旨在围绕openGauss开源数据库技术,搭建一个面向高校师生和企业开发者的技术交流平台,加速产教融合、产研融合,推广平等、互助、互惠的开源文化。openGauss社区分委会隶属社区理事会管理,按区域和行业两个纬度建设,如openGauss社区分委会(北京)、openGauss社区分委会(江苏)、openGauss社区分委会(金融)等,鲲鹏生态创新中心将作为openGauss社区分委会的主要承办单位,联合共建企业共同组织分委会的日常运营。
每个经openGauss社区理事会批准运营的openGauss社区分委会,将在授权范围内面向本地区/本行业高校师生和企业开发者招募“openGauss大使”,由“openGauss大使”负责发展成员,并组织openGauss相关的技术交流活动,包括但不限于:主题技术培训赋能,开源项目研讨会,众智项目推荐会,教改创新研讨会,openGauss产业赛题技术辅导,openGauss社区在线实习专家辅导,院校毕业设计专家辅导等。
社区分委会将负责为“openGauss大使”提供活动相关的场地资源、会务资源、专家资源,及奖励资源,如:为openGauss优秀大使颁发证书与奖品,为卓越贡献者申报“欧拉&高斯人才发展加速计划”奖励,向表现优异的学生成员推荐“鲲鹏优才实习计划”工作岗位等。
二、构建繁荣的生态体系,夯实数据库产业人才基座
openGauss社区分委会的建立对于培养开源数据库产业人才,激发国内数据库产业链活力具有重要意义。对高校来说,openGauss社区通过分委会的运作,为本地师生提供了一种创新的人才培养方式,将开源数据库技术与产业实践进行结合,通过技术培训、研讨分享、项目实战、互助辅导,加速高校师生学习、了解、掌握openGauss开源数据库技术,一方面将openGauss更好地融入教学讲义、科研项目、毕业设计;另一方面,也推动高校师生拥抱开源,推广开源文化,积极贡献开源项目、开源社区。
对产业来说,围绕自主创新数据库技术的创新需求快速增长,亟需掌握核心基础软件技术的高层次人才,他们不仅具备较好的理论研究基础,还能结合技术发展进行科技创新。openGauss社区分委会将抵近区域、行业提供这样一个平台,不仅吸引汇聚一批对开源数据库拥有共同兴趣的技术人才,还将产业需求、产业实践以开源项目、众智项目、实习项目的方式,为人才培养提供一个真实的战场,加速人才更好地将理论与实践进行结合,以实战方式改变知识结构、提升职业能力。
三、资源共投、项目共建,openGauss社区分委会将与伙伴联合发展
openGauss社区分委会将会首先落地北京、江苏、天津地区,对应的北京鲲鹏联合创新中心、江苏“鲲鹏+昇腾“生态创新中心、天津鲲鹏生态创新中心将作为主要承办方主导分委会在区域的落地运营。海量数据、云和恩墨、神州通用作为首批共建单位,将会共同投入资金、专家、项目等运营资源,以共投共建模式联合发展。
面向未来,openGauss社区将会面向区域/行业进行公开招募,计划在2022年成立5个以上社区分委会,招募认证30+位openGauss大使,发展成员超过1000+人。具体招募规则和支持权益将会在近期上线社区,欢迎广大高校师生和企业开发者关注并积极加入。
本文来源: 中国教育在线
欢迎访问openGauss官方网站
openGauss开源社区官方网站:
https://opengauss.org
openGauss组织仓库:
https://gitee.com/opengauss
openGauss镜像仓库:
https://github.com/opengauss-mirror
扫码关注我们
微信公众号|openGauss
微信社群小助手|openGauss-bot
本文分享自微信公众号 - openGauss(openGauss)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。
Model.exists?("lower(email)=?",params[:email].downcase)返回错误:ArgumentError(参数数量错误(2代表0..1)):是否可以使用不区分大小写的匹配来执行exists?? 最佳答案 您需要做的就是:Model.exists?(["lower(email)=?",params[:email].downcase])它正在寻找一个参数,但您提供了两个。使用数组形式和查找式条件应该可以满足您的需求。 关于ruby-on-rails-
我正在使用场景表(multilinesteparguments)使用内置的.diff来使用cucumber检查来自屏幕的一些数据!CucumberAST表上的方法。我想检查内容是否与正则表达式匹配。Scenario:OneThenthetableappearsas:|One|Two|Three||/\d+/|/\d+/|/\d+/|实际的表格看起来像|One|Two|Three||123|456|789|这个场景翻译成“只要有几个数字,我不在乎”失败的示例步骤实现:Then/^thetableappearsas:$/do|expected_table|actual_table=[['O
我希望能够执行Artist.case_insensitive_find_or_create_by_name(artist_name)[1](并使其在sqlite和postgreSQL上都有效)实现此目标的最佳方法是什么?现在我只是直接向Artist类添加一个方法(有点难看,特别是如果我想在另一个类中使用此功能,但无论如何):defself.case_insensitive_find_or_create_by_name(name)first(:conditions=>['UPPER(name)=UPPER(?)',name])||create(:name=>name)end[1]:嗯,理
我正在尝试按短语区分两个字符串,类似于StackOverflow在版本编辑页面上区分两个字符串的方式。执行此操作的算法是什么?是否有gems或其他标准库可以实现此目的?编辑:我见过其他差异算法(Differ与Ruby),它们似乎导致以下结果:>>o='nowisthetimewhenallgoodmen.'>>p='nowsometimethementimewhenallgoodmen.'>>Differ.diff_by_word(o,p).format_as(:html)=>"nowsomeistimethementimewhenallgoodmen."请注意每个单词的单词是如何区分
我们在Sinatra应用程序中使用Datamapper,并希望使用不区分大小写的方式,就像在Sqlite(本地开发中)和Postgresql(在生产中的Heroku上)一样。我们有这样的语句TreeItem.all(:name.like=>"%#{term}%",:unique=>true,:limit=>20)如果term是“BERL”,我们会从Sqlite和Postgresql后端得到建议“BERLIN”。但是,如果term是“Berl”,我们只能从Sqlite而不是Postgresql获得该结果。我想这与dm-postgres-adapter和dm-sqlite-adapter在
就这么简单:我怎样才能得到Browser.text.include?,或者一般的Ruby,对指定的命令不区分大小写? 最佳答案 最简单的方法之一是将您正在阅读的文本小写或大写:Browser.text.downcase.include?然后,您需要确保以全部小写形式提供所需的文本。 关于ruby-我怎样才能得到Browser.text.include?不区分大小写?,我们在StackOverflow上找到一个类似的问题: https://stackoverfl
@example.eachdo|e|#dosomethinghereend这里我想对每个中的第一个和最后一个元素做一些不同的事情,我应该如何实现呢?当然,我可以使用循环变量i并在i==0或i==@example.size时进行跟踪,但这不是太愚蠢了吗? 最佳答案 更好的方法之一是:@example.tapdo|head,*body,tail|head.do_head_specific_task!tail.do_tail_specific_task!body.each{|segment|segment.do_body_segment_
我使用Rails5为网站和RESTfulAPI提供服务,并使用Newrelic(newrelic_rpmgem)来监控应用程序性能。目前,gem监控对一个应用程序名称的所有请求。假设我的路线看起来像这样:Rails.application.routes.drawdoresources:usersnamespace:apidonamespace:v1doresources:users,only::indexendendend此处/users是网络应用程序的路由,api/users是API的路由。现在,一旦我使用newrelic_rpm,它就看不出API和网络之间的区别。我想为报告做更多的
我在RSpec中有一个自定义匹配器,它忽略空格/换行符,只匹配内容:RSpec::Matchers.define:be_matching_contentdo|expected|matchdo|actual|actual.gsub(/\s/,'').should==expected.gsub(/\s/,'')enddiffableend我可以这样使用它:body="somedata\nmoredata"body.shouldbe_matching_content("somedata\nmorewrongdata")但是,当测试失败时(如上面的测试),diff输出看起来不太好:-somed
在开始编写任何代码之前,我正在为我的RESTAPI构建URL。RailsREST的魔力很棒,但我对URL的格式有点不满意,例如:http://myproject/projects/5其中Project是我的资源,5是project_id。我认为如果用户希望检索他们的所有项目,那么相应的HTTPGEThttp://myproject/projects是有意义的。但是,如果他们希望检索有关单个资源(例如项目)的信息,那么使用http://myproject/project/5与http://myproject/项目/5。最好避免这种头痛,还是你们中的一些人有类似的担忧,甚至更好-有一个可行