发烧友10周年庆典,全网超值优惠来袭!千元现金券,下单抽奖赶紧参与》》

涛思数据开源TDengine,10多万行C代码,登顶GitHub!

嵌入式资讯精选 2019-07-31 16:07 次阅读

7月28日周日下午,大暑刚过的北京,热得愈加肆意。编者来到在涛思数据联合CSDN举办的「TDengine 和他的小伙伴们」的Beijing Meetup现场时,陶建辉正在答观众问。

突然,编者被一位20来岁的小姑娘热心提醒可以坐下听。攀谈几句,得知姑娘是留学伦敦的电子工程毕业生,趁放暑假来这里做志愿者。

不仅志愿者很高大上,涛思数据的团队也很“高配”:3位博士,4位海归。他们最近斩获超级喜讯一枚:仅有十人的涛思数据团队,在GitHub开源的TDengine,连续数天雄踞榜首。

那么,这是怎样的一个项目?又是怎样的一个团队?团队背后的创始人有着怎样的经历?创始人陶建辉亲自撰写本文,为你答疑解惑,赶快往下看吧!

7月12日,涛思数据宣布将TDengine开源,10多万行C代码,包括最核心的存储引擎和计算引擎都上传到了GitHub上。

整整两周时间,GitHub上Star已经超过7300,Fork数已经超过1800,在开发者社区中获得的反响远超预期。应开发者要求,7月28日在北京进行了一次线下交流,现场互动十分热烈。

线下活动现场

很多人好奇,为什么一个从没研发过大数据,也没研发过数据库软件的人,能研发物联网大数据平台软件?

而且你怎么想到要开发这样软件的?你三次创业,每次都在跨界,怎么能做到的?

7月28日,我把创业过程中的思考和分析分享出来,供在创业路上的朋友特别是技术型创业者参考。

2016年初,我上家创业公司快乐妈咪被收购,一下就轻松下来。但总有很多朋友拉我去看项目,有想让我投资的,有想让我加入团队的。

因为我在智能硬件圈子里有一定名气,因此看的最多的还是智能硬件、物联网相关的项目。花了自己不少时间仔细琢磨的有好几个项目。

第一个就是菜市场的智能秤,希望通过智能秤将菜市场的信息流完全打通,打造一个不亚于美团的平台出来;

第二个就是养殖物联网,希望对投料机进行自动控制,对养殖的鱼塘的环境进行监测,通过物联网将饲料、养殖、水产销售打通,形成平台;

第三个是电梯物联网,系统通过监测,由按期保修变成按需保修,而且建立全国性的电梯维保平台。

还有智能家居等好几个,但最终没有一个打动我,让我投入进去。因为我分析这些项目之后,发现他们成功的关键因素,都不是我或者现有团队具备的。

但这些项目让我看到了物联网的前景,看到万物互联是不可阻挡的潮流,一定要抓住。我一个强技术背景,没有多少行业资源的人,能在这股潮流里找到什么样的机会?

我的第一反应就是研发一个物联网平台,但仔细一看,从IT巨头如微软、IBM、 Oracle、亚马逊,到工业巨头如GE、Siemens等等,无不有自己的物联网平台,特别是仔细看完GE的Predix,发现自己能想到的东西都被它做了。

再看国内,做物联网平台的公司就更多了,海尔、三一、徐工、阿里、百度等等,就更不用提无数Startup了。心一下就凉了,这个物联网平台是绝不能做了,要做就是瞎折腾,唯一的可能性是紧靠一行业资源,靠行业特性和市场资源取胜,但我偏偏没有多少行业背景和资源。

但在仔细看完很多物联网平台的资料后,终于发现了一丝曙光,那就是数据处理。物联网平台里模块很多,但其中很重要的一块就是数据处理,包括采集、存储、查询、分析和计算,是整个物联网行业里面比较共性的部分,个性化程度不高。

再仔细一看,大部分物联网平台,尤其是国内的,几乎无一例外的用的是Hadoop生态搭建的,用的是互联网行业流行的大数据架构,采集进来的数据先进Kafka, 然后分流进HBase/Cassandra/MongoDB等做持久化存储,进Redis做缓存,进Spark/Flink等做流式计算,后面再接应用、大屏展示等等。

虽然我没有真正接触过大数据的处理,但了解这些通用的大数据框架后,我的第一反应就是,Hadoop这套体系太重,至少对于物联网大数据而言如此。

搭建一个平台,居然要好多款开源软件拼接在一起,研发、运维效率会很低,数据一致性很难保证,定位一个问题牵涉的环节太多,很不适合私有化部署。

将各种物联网场景抽象出来,我总结出了物联网数据的十二大特点:

  1. 数据是时序的,一定带有时间戳;

  2. 数据是结构化的;

  3. 数据极少有更新或删除操作;

  4. 数据源是唯一的;

  5. 相对互联网应用,写多读少;

  6. 用户关注的是一段时间的趋势,而不是某一特点时间点的值;

  7. 数据是有保留期限的;

  8. 数据的查询分析一定是基于时间段和地理区域的;

  9. 除存储查询外,还往往需要各种统计和实时计算操作;

  10. 流量平稳,可以预测;

  11. 往往需要有插值等一些特殊的计算;

  12. 数据量巨大,一天采集的数据就可以超过100亿条。

总结出这些特点后,一下豁然开朗,觉得采用Hadoop这些开源软件来处理物联网数据完全是大错特错。

物联网数据像日志数据,几乎没有更新操作的可能,那数据库中的事务处理的实现就完全多余;数据是时序的,时间戳自然可以作为主键,根本不需要复杂的索引结构;物联网数据是结构化的,像HBase、Cassandra那样用Key-Value来存储,计算效率和存储效率大打折扣,应该采用结构化存储才行;物联网数据的冷热程度是时间决定的,刚采集的数据是最热的,而不是用户点击决定。

因此用简单的先进先出的内存管理就能很好的实现高效的缓存,根本就不需要Redis;物联网数据从一个设备来看,就是一个数据流,实现滑动窗口的流计算那不是一个最顺其自然的事情,哪用得上Spark这么复杂的引擎;对于数据分区,简单的按设备分区按时间段分区,就轻松解决,根本就不需要复杂的分区机制;物联网数据流是相对平稳的,而且物联网设备本身一定有缓存能力,完全可以抛弃Kafka这些套件,实现一个简单的消息队列和数据订阅来满足需求。

随后又发现有时序数据库,马上看他们文档和代码,发现他们利用了时序数据一些特点,但还是没有充分利用,而且只是定位为一个数据库。

后面又了解到工业界有实时数据库,发现这些实时数据库都是老古董产品了,基本上都还是Windows上研发,价格贵,而且没有标准SQL,水平扩展几乎没有,大数据分析能力几乎没有,完全没有能力应对日益增长的大数据量和大数据分析需求,迟早会被淘汰。

我做完分析后很兴奋,觉得找到了一空白点。但我自己有没有能力研发这产品?仔细一琢磨,还是兴奋。

2008年,我创办和信,推送平台除推送之外,一个重要的模块就是消息队列。2009年,我们就研发了一个分布式高可靠、持久化存储的消息队列,每台手机需要推送的消息就放在一个队列里。消息队列与物联网的时序数据有区别吗?本质上没有。

一个是非结构化的,一个是结构化的;一个是简单的进和出,但另外一个是需要有分析和计算的;两者在系统的架构设计上没有大的不同。

考虑到必须设计成分布式系统,因为多年通讯设备研发背景,对我那是轻车熟路。因此,我应该具备所需要的知识储备和技能,自己多年积累的研发经验全部能派上用场 。

因此我迅速定位了自己要做的产品,那就是物联网大数据平台,要把时序数据库、缓存、消息订阅、流式计算等系列功能融合在一起,一站式的解决物联网大数据问题,这样才能将系统研发、维护的复杂度与成本大幅降低。

前面两次创业,都是2C产品,让我养成了追求简单极致的习惯,马上又定下采用SQL接口,能通过JDBC接口与众多第三方工具无缝集成,安装部署要一键搞定的策略,目的是要让开发者用起来轻松,完全没有学习成本。

研究物联网数据的特点后,我想到了两个技术创新点,一是“一台设备一张表”的数据模型来极大提高单台设备的数据插入和查询效率,  二是给每张表打静态标签,将静态标签数据与采集的动态数据完全分开存储,来解决多表聚合查询问题。

想明白这些后,2016年底,接近50的我决定亲自写程序开干。为什么不找人呢?几个原因:

  • 自己做技术多年,有个心结,就是希望自己写的代码能被无数的人使用;

  • 开发难度大,特别是分布式,如果我自己不把主要框架搭完,把存储引擎写好,那团队效率会很低;

  • 这个产品的核心是技术,如果自己不重度参与研发,那公司会很危险。

我准备动手写的时候,告诉太太,如果我写的存储引擎在数据插入、查询速度上不比其他数据库好五倍以上,就当做我又写了一段好玩的程序。

如果能达到五倍以上,那我就要再折腾一次。因为在我的眼里,技术型的产品,要打败市场上现有的厂商,如果没有五倍以上的优势,那完全没有必要做,因为对方有人、有钱,有客户群,你凭什么与对方开战?

幸运的是,我2个月时间,写完一万八千多行代码,完全证明凭借我的两大创新,性能上可以秒杀市场上现有产品,因此就有了今天的TDengine。 

涛思数据团队,左三为陶建辉儿子(00后一枚),TDengine项目其亦有贡献

研发底层基础软件,开发难,推广更难。即使功能、性能比现有产品好一个数量级,客户还是会以安全性和稳定性为由拒绝你,因此我想到应该用开源的方式,把最核心的代码和详细的设计都晒出来,让更多的程序员参与进来,将开发者社区建立起来。

活跃的开发者社区能让所有大客户都感觉到所选的技术不会被抛弃,不会有重大安全漏洞, 可放心使用。

另外一方面,很多中小企业客户数据量不大,技术上有很多选择,如果不开源,他们就会选择一些其他的开源方案。

本来就赚不到他们的钱,那为何不开源给他们,让他们免费用呢?不仅要让大家免费用,我们还要组织一个不小的团队来运营,与各种背景的开发者互动,回答他们的疑问,让他们得到技术支持和帮助,更希望他们参与进来,有荣誉感和自豪感,他们才可能发自内心地传播。

同时,通过开源,可以快速获得市场对产品的反馈,了解市场的需求,这是一件多好的事情,因此毫无犹豫的决定开源。

大数据平台、物联网平台和数据库都已经有很多主流产品,挑战他们是一件困难的事情。而专为物联网打造的大数据平台,目前还没有,TDengine在全球是第一家。

物联网的市场在高速增长,采集的数据量更是指数式的上升,5年的时间,世界上90%的数据都会是物联网类型的数据,这个细分市场一定会成为一个主流市场。

只要涛思数据团队继续努力,抱着开放、合作的态度,充分利用开源打造出技术生态,同时与全球的系统集成商、独立软件开发商、渠道等合作,积极的构建出商业生态,那TDengine一定有成为独角兽的一天。

喜欢丘吉尔说的一句话,“Success is not final, failure is not fatal, it is the courage to continue that counts”,继续奔跑吧,伙伴们!


原文标题:三次创业,三次跨界,这次凭十万行核心C代码登上 GitHub Top 1!

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

小梅哥FPGA设计思想与验证方法视频教程

刚刚录制了一个fpga开发流程的视频,该视频为投石问路,主要是想听听大家对于小梅哥在录制视频时需要注意的内容以及希望系列
发表于 03-24 00:00 37952次 阅读
小梅哥FPGA设计思想与验证方法视频教程

创建新的数据库和更改SQL Server CE数据库中的数据操作教程免费下载

SQL Server CE 中的数据库是存储结构化数据的表集合。在可以存储数据库之前,必须创建数据库....
发表于 09-19 11:28 7次 阅读
创建新的数据库和更改SQL Server CE数据库中的数据操作教程免费下载

lwip双网口该怎么设置?

百度一下LWIP双网口,找到了如下方法 创建一个netif块,硬件初始化时在mylwip_init()函数中多添加一个netif_add,并调用net...
发表于 09-19 01:02 22次 阅读
lwip双网口该怎么设置?

关于基于模型的设计加快NASA GNC算法开发教程和应用

闭环仿真采用嵌入Trick的生成代码,执行速度比实时快大约10倍。因此,整整 10 天的 Orion....
的头像 MATLAB 发表于 09-18 17:10 280次 阅读
关于基于模型的设计加快NASA GNC算法开发教程和应用

关于MATLAB R2015b更新的内容介绍

全球的工程师和科学家们都依赖于MathWorks公司所提供的这些产品系列,来加快在汽车、航空、电子、....
的头像 MATLAB 发表于 09-18 16:54 29次 阅读
关于MATLAB R2015b更新的内容介绍

关于Polyspace静态分析的具体作用分析和介绍

这一范围还体现在市场上各种各样的静态分析工具。例如,一些高级编译器有一个采用静态分析形式的内置语法检....
的头像 MATLAB 发表于 09-18 15:41 54次 阅读
关于Polyspace静态分析的具体作用分析和介绍

关于使用Polyspace进行死代码检测和覆盖率度量的分析和介绍

Polyspace工具可产生并合成有用的代码指标,准确地反映代码的质量。这些指标可以使用基于Web的....
的头像 MATLAB 发表于 09-18 15:30 24次 阅读
关于使用Polyspace进行死代码检测和覆盖率度量的分析和介绍

关于为FPGA和ASIC生成Verilog和VHDL代码分析和应用介绍

HDL Coder 还可以生成第三方 lint 工具脚本,用于检查您生成的 HDL 代码。HDL C....
的头像 MATLAB 发表于 09-18 14:51 97次 阅读
关于为FPGA和ASIC生成Verilog和VHDL代码分析和应用介绍

如何在引导区找不到代码?

嗨,我想让我的主要应用程序完全位于我的引导区域之外。例如引导区域当前占用0~0x2000,所以我希望我的主代码在0x2000之上启动。...
发表于 09-18 14:29 18次 阅读
如何在引导区找不到代码?

请问现有的EasyLink能否完成星形网络组网行为?

1.现有的EasyLink能否完成星形网络组网行为? 2.我们设计的产品是主节点和从节点处于睡眠状态,每隔5分钟进行一次唤醒并将从节...
发表于 09-18 13:02 46次 阅读
请问现有的EasyLink能否完成星形网络组网行为?

关于使用基于模型的设计自主开发发动机管理系统的作用分析和应用

作为发动机系统方面的专家,奇瑞的工程师们对于用于产品级EMS系统的C语言编程方面没有太多实际经验。奇....
的头像 MATLAB 发表于 09-18 11:38 41次 阅读
关于使用基于模型的设计自主开发发动机管理系统的作用分析和应用

关于MATLAB实时编辑器的性能分析和应用

使用交互式文档教授: 创建结合了说明文本、数学方程式、代码和结果的讲义。逐步教授讲义主题,一次一个小....
的头像 MATLAB 发表于 09-18 11:06 16次 阅读
关于MATLAB实时编辑器的性能分析和应用

关于复杂发动机控制系统软件的开发的分析和加快

在使用Simulink Coder从控制模型中生成代码之后,丰田工程师使用SIL测试来验证驱动程序、....
的头像 MATLAB 发表于 09-18 09:49 46次 阅读
关于复杂发动机控制系统软件的开发的分析和加快

为什么uboot加地址后读的值不变?

我想测试一下韦老师的从0写的uboot,内存读写代码如下: int main(void) {         void (*th...
发表于 09-18 04:53 62次 阅读
为什么uboot加地址后读的值不变?

关于数据类型强制转换的分析和应用

在信号线上右键,将信号与Base Workspace的数据对象关联在一起。鼠标操作的方式,可以参考之....
的头像 MATLAB 发表于 09-17 15:33 45次 阅读
关于数据类型强制转换的分析和应用

自动生成的代码支持的硬件平台的简介

对于完全没有嵌入式软件开发经验的大、中学生或者工程师,如果想做嵌入式系统上实现某些算法,而又没有精力....
的头像 MATLAB 发表于 09-17 10:08 80次 阅读
自动生成的代码支持的硬件平台的简介

关于自动生成的代码支持的硬件平台介绍

通过人为设置这些选项,可以满足那些列表中不存在的处理器的要求,所以从这个意义上来讲,代码生成工具支持....
的头像 MATLAB 发表于 09-17 09:59 17次 阅读
关于自动生成的代码支持的硬件平台介绍

分享Simulink子系统生成单独的子函数的教程

首先右键点击模型,打开 Block Parameters 界面,首先要在 Main 的页面将子系统勾....
的头像 MATLAB 发表于 09-17 09:02 76次 阅读
分享Simulink子系统生成单独的子函数的教程

有人能解释一下为什么下面的代码不起作用吗?

你好, 我肯定我在这里漏掉了什么东西。 有人能解释一下为什么下面的代码不起作用吗?当我用一秒钟的延迟替换睡眠部分时,它就...
发表于 09-17 06:09 22次 阅读
有人能解释一下为什么下面的代码不起作用吗?

为什么触摸屏的代码移植到STM32F103ZET6后没有反应?

我把原子大哥关于触摸屏的代码移植到STM32F103ZET6上,可是触摸没反应,PEN的那个端口没有被拉低,大概出了什么问题,...
发表于 09-17 04:35 8次 阅读
为什么触摸屏的代码移植到STM32F103ZET6后没有反应?

如何减少ucosii系统延时函数误差?

最近在学习ucosii,但是对于延时函数的精度遇到一些问题。比如如下一种情况 void task1(参数) {     代码段1; ...
发表于 09-16 20:58 31次 阅读
如何减少ucosii系统延时函数误差?

配置Simulink模型,调皮属于你自己的代码

通过代码生成的接口配置界面 Interface 的 Configure Model Function....
的头像 MATLAB 发表于 09-16 17:55 69次 阅读
配置Simulink模型,调皮属于你自己的代码

关于代码替换这个隐藏技能的介绍和分享

在上述界面下,Tables List里面增加myTable,然后鼠标右键在myTable上选择New....
的头像 MATLAB 发表于 09-16 17:47 38次 阅读
关于代码替换这个隐藏技能的介绍和分享

分享条件编译助力Simulink模型平台化开发的相关介绍

假如我们给K赋值为2,模型就会出现最前面两幅图片里显示的那样,Variant Subsystem最上....
的头像 MATLAB 发表于 09-16 17:22 53次 阅读
分享条件编译助力Simulink模型平台化开发的相关介绍

关于Polyspace的静态分析的详细解析和应用

另外还可以设定编码规范(如MISRA)和自定义代码风格,违反之处以紫色显示;同时可以看到代码变量随控....
的头像 MATLAB 发表于 09-16 17:15 73次 阅读
关于Polyspace的静态分析的详细解析和应用

关于导出函数的相关分析和介绍

对于仿真来说,不同任务的调度必须显示指定出来,比如像上图那样,使用 Stateflow 来实现。要生....
的头像 MATLAB 发表于 09-16 16:46 53次 阅读
关于导出函数的相关分析和介绍

关于使用 Simulink Function 仿真硬件服务的介绍和应用

默认情况下,这个代码不会被编译,因为编译器不知道上哪找这个 timesTwo 函数。如果你知道怎么去....
的头像 MATLAB 发表于 09-16 16:15 23次 阅读
关于使用 Simulink Function 仿真硬件服务的介绍和应用

关于Polyspace应用到基于模型的设计可能性分析和介绍

对于 Sum 模块的 MISRA 10.3 违规是为了满足 S 函数接口要求有意为之,我们可以在验证....
的头像 MATLAB 发表于 09-16 15:31 61次 阅读
关于Polyspace应用到基于模型的设计可能性分析和介绍

关于一种实现条件编译的建模方法分析和介绍

不难看出,除了要定义Simulink Variant对象K1、K2之外,还需要勾上Analyze a....
的头像 MATLAB 发表于 09-16 15:21 61次 阅读
关于一种实现条件编译的建模方法分析和介绍

调试模式下WDT复位不返回该怎么办?

当我运行95401(我修改了一点)代码示例在PSoC 4先锋工具包调试模式。我把断点放在第一条主线上。当设备接收重置时,它应该再...
发表于 09-16 11:02 58次 阅读
调试模式下WDT复位不返回该怎么办?

如何使用微芯片DSP和浮点库?

大家好,我有一个在PIC32MX系列中运行的姿态计算算法,声明的矢量和矩阵的格式是双重的,并且来自该算法的操作是矩阵运算,...
发表于 09-16 10:15 9次 阅读
如何使用微芯片DSP和浮点库?

如何将二进制数据导入自定义节?

嗨,所有,我试图导入二进制数据,从外部文件,到我的固件映像在一个已知的位置,在一个自定义部分/地区。我可以导入数据从我的外...
发表于 09-16 10:08 8次 阅读
如何将二进制数据导入自定义节?

如何新建一个软件工程详细资料讲解

今天的主题是“新建软件工程的讲解”,分下面几个步骤:
的头像 Wildesbeast 发表于 09-14 12:12 250次 阅读
如何新建一个软件工程详细资料讲解

8月250个机器学习开源项目排行,前10位出来了!

深度学习推荐模型(Deep Learning Recommendation Model)的实现模型输....
的头像 新智元 发表于 09-13 16:32 115次 阅读
8月250个机器学习开源项目排行,前10位出来了!

一款开源换脸工具FaceSwap以超过23000星登上GitHub排行榜

ZAO 尽管ZAO已经通过修改用户协议来回应投诉。新协议规定,未经用户事先同意,应用程序上生成的....
的头像 新智元 发表于 09-13 16:25 713次 阅读
一款开源换脸工具FaceSwap以超过23000星登上GitHub排行榜

华为方舟编译器开源官网正式上线,代码没有放在GitHub

方舟编译器是为支持多种编程语言、多种芯片平台的联合编译、运行而设计的统一编程平台,包含编译器、工具链....
的头像 新智元 发表于 09-13 16:04 889次 阅读
华为方舟编译器开源官网正式上线,代码没有放在GitHub

嵌入式安全性有哪一些要点

保护嵌入式设备正成为一个热门话题,尤其是当这些设备开始连接到Internet时。
发表于 09-12 17:17 47次 阅读
嵌入式安全性有哪一些要点

关于自动生成高效的代码的方法分析和分享

基于模型的设计流程和自动代码生成在汽车等行业基本上已经是标准手段,然而在大多使用 MATLAB 语言....
的头像 MATLAB 发表于 09-12 11:48 59次 阅读
关于自动生成高效的代码的方法分析和分享

关于结构体变量建模的介绍和原理

将 Inport 端口的数据类型设置为 myBus,Inport 的外观发生变化,变成环形。为控制结....
的头像 MATLAB 发表于 09-12 09:54 34次 阅读
关于结构体变量建模的介绍和原理

关于从指定方向图合成阵列优化工作流程的分析

在随后的代码中,我们使用方位角和仰角旁瓣的总和。我们还增加了一个方位角和仰角旁瓣电平之间的绝对差值,....
的头像 MATLAB 发表于 09-11 17:12 82次 阅读
关于从指定方向图合成阵列优化工作流程的分析

关于机器学习检测汽车的方法分析

决策树得出的结果十分令人看好,但真正测试是检验分类器在真实汽车中的 ECU 上的表现。我们使用 MA....
的头像 MATLAB 发表于 09-11 15:30 125次 阅读
关于机器学习检测汽车的方法分析

关于新版 ISO 26262-6 之基于模型的设计的分析和应用

如果同样的测试向量(Test Vectors)在两边运行的结果一致,那么我们可以认为代码和模型在行为....
的头像 MATLAB 发表于 09-11 14:49 645次 阅读
关于新版 ISO 26262-6 之基于模型的设计的分析和应用

关于自动生成高效的代码的分析和介绍

在 GPU Coder 中,我们也总结了一些能够提升对 GPU 这种架构运行效率的模式。很多人不了解....
的头像 MATLAB 发表于 09-11 11:52 92次 阅读
关于自动生成高效的代码的分析和介绍

区块链是怎样看待代码的

区块链是在诸如加密学、分布式系统和应用程序开发等成熟学术领域的基础上发展起来的
发表于 09-06 15:25 45次 阅读
区块链是怎样看待代码的

使用Arduino设计的温控电风扇代码免费下载

本文档的主要内容详细介绍的是使用Arduino设计的温控电风扇代码免费下载。
发表于 09-03 08:00 107次 阅读
使用Arduino设计的温控电风扇代码免费下载

GitHub上开源了自己的学习指南,以便让更多人能够快速学会编程

John Washam 是一名软件工程师,目前定居于美国西雅图。2016 时,因其在 GitHub ....
的头像 新智元 发表于 09-01 09:14 319次 阅读
GitHub上开源了自己的学习指南,以便让更多人能够快速学会编程

C语言二叉树代码免费下载

本文档的主要内容详细介绍的是C语言二叉树代码免费下载。
发表于 08-27 08:00 70次 阅读
C语言二叉树代码免费下载

使用EEPROM存储器24C02记忆开机次数的代码免费下载

本文档的主要内容详细介绍的是使用EEPROM存储器24C02记忆开机次数的代码免费下载。
发表于 08-26 17:31 101次 阅读
使用EEPROM存储器24C02记忆开机次数的代码免费下载

5 种编程语言注定跌落神坛!

并非所有编程语言都能长盛不衰。
的头像 人工智能学家 发表于 08-15 14:06 395次 阅读
5 种编程语言注定跌落神坛!

BMP的文件组成和格式简述资料免费下载

本文档的主要内容详细介绍的是BMP的文件组成和格式简述资料免费下载。
发表于 08-12 08:00 87次 阅读
BMP的文件组成和格式简述资料免费下载

活久见!Linux 之父彬彬有礼指出代码错误

反省归来的 Linus Torvalds 重新掌控 Linux 4.20 或 5.0 的开发
的头像 Linux爱好者 发表于 08-11 11:07 383次 阅读
活久见!Linux 之父彬彬有礼指出代码错误

Neo4j 副总宣布不再向GitHub 上提供源代码

云厂商吸血开源项目的又一案例?
的头像 Linux爱好者 发表于 08-11 10:42 411次 阅读
Neo4j 副总宣布不再向GitHub 上提供源代码

开源维护者的挣扎和无奈

我完全理解,一旦开源项目开始流行起来,他们就开始为了生活而挣扎。
的头像 Linux爱好者 发表于 08-11 10:18 268次 阅读
开源维护者的挣扎和无奈

使用MATLAB编程实现里查森迭代法线性方程组求解的资料和程序免费下载

本文档的主要内容详细介绍的是使用MATLAB编程实现里查森迭代法线性方程组求解的资料和程序免费下载。
发表于 08-09 16:56 139次 阅读
使用MATLAB编程实现里查森迭代法线性方程组求解的资料和程序免费下载

AI计算教程,从单机到集群

这里需要进一步说明下使用 k8s-device-plugin 的一个小 bug,由于 GPU 计算节....
的头像 云知声 发表于 08-09 09:20 265次 阅读
AI计算教程,从单机到集群

结合了 Go 和 Rust 特性的新语言——Vlang登顶GitHub

V 是一种新型的静态编译型语言,可以“快速编译、安全且和 C/C++ 转换”,其提供了方便、快捷、安....
的头像 嵌入式资讯精选 发表于 08-06 11:40 542次 阅读
结合了 Go 和 Rust 特性的新语言——Vlang登顶GitHub

深度学习脑补缺失 TF 代码

你是成熟的 AI 了,应该自己学会补全代码!
的头像 嵌入式资讯精选 发表于 08-06 11:18 458次 阅读
深度学习脑补缺失 TF 代码

如何吧垃圾代码进行垃圾分类详细指南说明

和大家聊了聊程序员的垃圾分类,有的程序员直呼太真实,有的程序员觉得太讽刺,不应该给程序员进行这样的分....
的头像 马哥Linux运维 发表于 08-03 11:25 590次 阅读
如何吧垃圾代码进行垃圾分类详细指南说明

GitHub回应托管代码受限

伊朗的开发商Hamed Saeedi称:“GitHub封锁了我的帐户,他们认为我正在开发核武器”。
的头像 满天芯 发表于 07-31 17:42 398次 阅读
GitHub回应托管代码受限

优化单片机程序,从结构和代码两方面入手!

既想代码小,又要速度快!
的头像 嵌入式资讯精选 发表于 07-31 16:28 485次 阅读
优化单片机程序,从结构和代码两方面入手!

中文 repo“霸榜”GitHub Trending,老外发文控诉

他们不适应了?
的头像 嵌入式资讯精选 发表于 07-31 09:38 319次 阅读
中文 repo“霸榜”GitHub Trending,老外发文控诉