过来人聊聊眼中的普通码农和技术大牛的区别

2023-10-30

最近几年,IT行业中的各个群里突然流行了一个词——“大牛”。有些人因为在学术界发了很多论文而被称之为牛;有些人因为在群里努力帮助大家解决问题而被称之为大牛;有些人因为写了一本技术的书而被称之为大牛;有些人因为开源了很多技术知识二被称之为大牛;还有些人因为代码能力强被称之为大牛……今天我们不聊其他的大牛,就来聊聊那些因为代码能力强而被称之为大牛的人。

 


10年前的一个案例

      实际上这个代码能力强的大牛一般是要和普通的码农来对比,与普通码农相比,这些代码能力强的人,到底强在哪里?首先来给大家讲一个在我身边所发生的真实的事件。

大概是10年以前,那个时候单片机非常流行,很多人都喜欢在单片机上开发一些应用,但是单片机有一个问题,就是存储相对来讲不是很通用,导致很多时候对于单片机的存储需要写很多代码进行处理。那个时候虽然已经有了sqlite数据库,但是业内应用的并不是很多,很多时候大家都是使用基于内存地址的存储方式进行存储。当时我们就在想,能不能自己写一个简单的数据库,用来存储我们所需要的数据(当时我们数据传输使用的是xml格式的数据),于是我们团队里的一个大牛就决定试一试,于是他花了大概不到一周的时间,使用C语言写了一个相对比较简单但功能却非常全的XML数据库。大家可以想象一下,四五天写出的数据库支持自定义的查询语言(类似于sql语句),并且还能支持各种遍历和节点存取操作,且单次查询运行效率也是在10ms以内,这即使是放在现在,也是一个比较艰巨的任务,更何况是10年以前。

现在事情过去差不多10年的时间了,我们来分析一下为什么他就那么牛,为什么他就能成为技术大牛呢?其实要想分析他之所以能够成为就是大牛的原因,我们应该把这件事情从后向前来推一推。当时他是使用C语言写了一个简易的XML数据库,并且这个数据库的运行效率非常高,要想达到这一点,首先要做到的就是对于C语言的各个函数的熟练程度,已经对于数据结构和算法的熟悉程度。大家都知道,想要使用C语言来写出一个比较完整的商业级的应用绝非易事,尤其是C语言中对于指针的处理更是令许多同学望而生畏的,但是我们也知道,正是由于C语言中的指针,才使C语言对内存操作更加便捷,使得可以更加高效的开发出具有商业级别的项目出来。

另一方面,要想把这个功能完成,还需要对整体的系统底层有着比较深入的研究,并且对内存的优化足够了解。在业务层面,还需要对XML格式的解析,存储,以及与内存地址的交互有着深入的了解,才能将这一套完成。

最最重要的,实际上还是对于代码的能力,也就是我们所说的coding,其实在这里,coding的能力也取决于两个方面,一个是对于整体语言和系统底层架构的熟悉程度,另外一方面就是对于整体问题的分析和解决思路。而这些问题,往往是普通程序员和大牛程序员的区别所在,接下来,我们就来对这几个方面做一个简单的分析。


对于数据结构与算法的认知和使用

对于数据结构和算法的认知和使用是普通程序员与大牛程序员最主要的区别。很多人都会认为,数据结构和算法,我会啊,大学学过,你让我写一个单链表,写个二叉树,手到擒来。实际上,这个是一般人对于数据结构和算法的看法,大多数人都会认为,我只要对各种数据结构和基础算法懂就可以,让我写的时候我随时可以写出来就ok,这也是初学者最容易犯的问题。

因为在实际的工作和工程化过程中,没有人会告诉你,我要用某一个算法来解决某一个问题,而是给你一个需求,然后告诉你这个需求里面的一些必备要求,比如响应时间在30ms以内,支持1000人的同时访问等,然后让你自己来实现,具体用什么算法自己来决定。

实际上这类的问题非常考验算法同学的基本功,对于算法同学来讲,最基本的基本功就是数据结构与算法。在什么时候,用什么排序算法,针对于大数据集和小数据集,用什么样的算法能够使其效率最高,实际上都能看出来一个人的代码水平。但是针对于大部分程序员来讲,在真正拿到项目需求时,往往就会忘掉这一点,而是先实现了再说,最后的结果是实现了,但是代码的质量以及效率经常是惨不忍睹。

对于数据结果和算法的使用,一般是在长期代码的开发过程中总结出来的,这个真的是需要不断的总结积累才能够慢慢锻炼出来的一种能力。很多时候,我们只是为了完成需求而完成,只要这个任务能够运行出来就万事大吉。

记得在很久之前,有一个是笑话但又非常真实的故事。就是在acm竞赛中的一些练手题目中,给定一个最大数字,可以根据这个数字输出指定的图形,就像下图这样。

 

其实这道题正常应该是用循环来做,但是有些人说,我直接用print加上空格也能够实现。确实,针对于这个问题,实现的方式有很多,但是往往最方便的只有一个。当然,这个例子有些夸张,但是我想借此来说明的一个问题就是,数据结构与算法的思路,是看出新手和大牛的关键点所在。

我们要学会,在任何时候,都用算法的角度去考虑问题,怎么样优化才能够使算法最优,效率最高。而不是仅仅把这些都停留在刷LeetCode题的阶段,要把它们运用到实际的项目当中,只有这样,我们才能够向大牛的方向不断进步和提升。


解决问题的思路

解决问题的思路也是决定着大牛还是普通程序员的关键因素。从解决问题的方法和思路中往往能够看得出一个人的能力。所谓的解决问题的思路是指当程序遇到bug了,或者遇到一个新的需求,用什么样的思路快速的去定位到问题,并解决问题的过程。

其实这类事情在一个企业中非常常见,在任何时候,我们都不能保证我们所写的代码没有任何bug,也不能保证每一个新的需求我们都能快速的写出解决方案,很多时候,我们都需要经过自己的思考,来寻求问题的最优解。我曾经遇到这样的一个员工,当时他在我的组里负责推荐系统的一部分算法业务,突然有一天,测试人员跟他说:“目前算法所跑出来的结果和实际的结果对不上,你看看是怎么回事?”于是这个同事拿到这个测试反馈之后,就开始找问题,找了一上午都没有找到是哪里出了问题。于是他过来问我,说:“黄老师,这个我找了一上午,感觉没问题啊?但是为啥就是对不上呢?”于是我又让他重新演示了一下找问题的方法,最后我发现,是他找问题的思路出了问题。

他是根据现有的问题去结果里面找这个问题为什么会出现,用这样的方式去找,很容易把自己绕进去,最后总觉得是没有问题的。但是实际上,我们在解决问题的时候,需要跳出思维的定式,首先分析产生问题一般会出现在哪几个阶段中,然后再从这几个阶段中观察这几个阶段的输出,通过观察输出就可以看到,在哪个阶段的输出是正确的,在哪个阶段的输出是错误的,然后再去从错误输出的阶段中去寻找问题所在,把整体的业务流程理清,从而解决问题。

实际上,很多时候当我们遇到了程序的bug时就会很慌,感觉程序出了bug了,自己有很大的责任,心态乱了,心太乱了之后,就会越来越着急,越着急就越找不到问题的所在,最后就会无功而返。这其实是很多程序员的通病,归根到底就是解决问题的思路不对。

其实程序是什么?说到底,程序是遵循着既定的业务逻辑的,也就是说,当我们给定了一个程序的输入,我们就应该能够预判出一个程序的输出,所以在IT界常常有这么一句话:“程序是不会骗人的”。因此,当我们遇到问题的时候,千万不要乱,只要思路清晰,掌握好程序中的关键阶段,那么定位问题一般是很容易的。

解决问题的思路除了在解决bug这一方面之外,应对新的需求也是一个能够考察新手和老鸟的点。

通过我的观察,对于新人而言,当来了一个新的需求时,一般都会根据业务逻辑直接上手去做,做到最后会发现有很多bug。但是对于大牛或者老鸟来说,一般会先用一些时间来想一下,看看用什么框架,什么算法来做这个需求比较好,大概需要多少时间,中间可能会遇到什么问题?这些问题应该怎么去规避?当把这些问题都考虑清楚之后,最后在心里或者文档中制定出一个可行的方案,然后再去实施,最后的结果往往是bug很少,代码质量很高。

所以说,解决问题的思路往往能够看出一个人的能力,这对于新手向大牛的方向进军是非常有帮助的一个点。


系统底层的了解程度

对于系统底层的了解程度在很多时候也是区分普通程序员和大牛的区别,尤其是对于一些与底层系统打交道的公司来讲,更是这样。

记得在2015年左右的时候,我去上海的一个团队帮忙带一个比较重要的项目,在这个项目的团队中有一个程序员出身的项目经理能力特别强,并且对于手下的人要求也特别严格。有一天我们技术研讨会,一位技术经理用PPT的方式向我们解释了android端应用程序的数据流是怎么走的,这个时候,那个项目经理问了一个问题:“你帮我把这个数据流在底层与内存的指令寄存器和bus总线的交互画一下,还有就是是怎么调度内存的,这里大概需要多少的开销,内存是怎么寻址的帮忙画一下”。实际上这位项目经理并不是有意刁难技术经理,而是这位项目经理真的是技术太牛了,以至于他对于很多项目中的底层细节都要求了解的清清楚楚,包括怎么和内存交互,怎么去节省开销,怎么去做寻址等等。但是这些,对于一位普通的程序员或者技术经理来讲,确实是非常有难度的,最后,这位技术经理也没有画出来。

还有一次,也是这位项目经理,在开会的时候要求技术人员用标准的UML图来解释内部运行的原理,包括采用时序图和活动图来做。实际上,这些都是我们大学学过的,但是由于大家很少用,所以基本上都淡忘了。这个时候,项目经理说了一句话:“UML是大学时候大家都学过的知识点,在我看来,只要大学学过的,你们都应该是掌握的,不然这个大学岂不是白学?”,确实,这个说法没错,这些都是我们大学所学过的,但是正是因为很多人并不注重这些基础的内容,以及对于底层交互的内容,以至于做了很多年的程序员都没有得到本质上的提升。

所以说,了解系统底层的工作原理,对于一个高端的程序员是非常重要的。


对于疑难问题的钻研程度

对疑难问题的钻研程度实际上可以说是上面几个点的综合体。很多时候,我们会经常遇到一些比较难的问题,这些问题可能需要查阅各种各样的资料、论文,可能需要考虑到各种各样的情况和复杂的环境问题,可能会要求对算法非常熟悉,因此,这个也是普通程序员和大牛程序员之间的核心差异。

我们在这里所说的疑难问题并不是说一个bug,或者是一个小的需求,这里所涉及到的可能还需要有一定的创新能力和综合能力。比如,老板有的时候可能会说这么一句话:“我看最近谷歌出了一个新的技术框架叫XXX,你去研究一下”。这句话实际上看起来是很轻松的一句话,但是这里面却是对一个人非常全方位的考察。

这里说的你去研究一下,我们就要先来定义一下,在企业中所说的研究到底是什么?一般来讲,我们在企业里所说的研究,或者领导让研究一件事,其潜台词基本上就是:“这个东西别人没有搞过,你去搞一下,按照官方文档来搞,可能没有更多的资料,并且,你还要给我出一个demo和一个报告”。是的,这是老板的最终目的,我们可以发现,这个难度实际上是非常大的。

对于一般的新手程序员,往往是按照官网给出的文档搭建出一个demo,然后拿去交差,甚至很多人都无从下手,更或者连demo都搭建不起来。但是对于一个技术大牛来讲,他们的做法往往不仅局限于这些。

之前也跟很多技术大牛交流过这个问题,总结出的结果是,他们会先把这个demo搭建好,然后再去网上找一下与这个框架相关的竞品框架并且也搭建出来一套,并试图改善这两套框架,并用同一套数据分别在这两套框架中进行测试,最后生成一个报告给老板,目的是告诉老板:“这个框架我研究了,并且我还通过类似的框架来证明了这个框架的优缺点,针对于缺点我认为可以用什么方法来代替或改进”,你会看到一套很完整的数据报告。

实际上,很多人都会遇到这样的问题,在2年以前(2018年初)我也遇到过这样的问题,当时领导只有一句话:“你去调研一下目前文本分类在长文本二分类模型下哪个比较好一点”。于是,我整理出了这么一个报告,这个报告里面明确的说明了我都尝试过哪些模型(一共尝试了大概10个模型),每个模型的准确率多少,召回率多少,耗时多久,并和其他厂商的对比是怎么样的,的人,这只是报告里面比较关键的一个部分,并不是报告的全部。我通过这个只是想解释,当时我们做的工作就不仅仅是告诉老板,哪个模型好,你就用吧!而是告诉老板,我把目前主流的文本分类模型都试了一遍,并且用数据做了对比,把平均耗时(工业项目很关注这个)和准确率都列了出来,并给出最终我人分为哪个会好一些的建议。最后老板肯定是非常满意的。

因此,我们说对疑难问题的专研程度指的是什么?实际上,指的就是你对于整个问题的思路、分析,并包括了你的代码能力、 创新能力以及对于行业的敏锐程度。这是一个人能否成为大牛的关键。

 

实际上,除了上面列举的几个点之外,大牛程序员和普通程序员的区别还有很多,在这里我们就不一一做分析了,也欢迎大家踊跃留言,说说你们的看法。

 

最后,祝大家以后都成为大牛。

 

END

往期精彩回顾




适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑获取一折本站知识星球优惠券,复制链接直接打开:https://t.zsxq.com/yFQV7am本站qq群1003271085。加入微信群请扫码进群:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

过来人聊聊眼中的普通码农和技术大牛的区别 的相关文章

  • 宏碁使用UltraISO制作启动盘,装win10系统

    目录 前言 事先准备 第一步 制作启动盘 第二步 U盘装系统 第三步 安装必要的驱动 前言 今天想用软碟通来制作一个启动盘 安装win10系统 特此记录一下 事先准备 宏碁暗影骑士pro 32G U盘 Windows 10 LTSC 201
  • 由于系统限制了文件目录的读/写权限,程序将会退出,你可以重新安装百度网盘到有权限的目录或以管理员身份运行百度网盘。

    由于系统限制了文件目录的读 写权限 程序将会退出 你可以重新安装百度网盘到有权限的目录或以管理员身份运行百度网盘
  • Firefox,火狐about:config设置详解

    1 accessibility accesskeycausesactivation accesskey 允许用户通过Alt accesskey的方法来打开页面中的超链接 其中的accesskey需要网页编写者预先定义好 并且不能与浏览器的快
  • 井下设备类毕业论文文献包含哪些?

    本文是为大家整理的井下设备主题相关的10篇毕业论文文献 包括5篇期刊论文和5篇学位论文 为井下设备选题相关人员撰写毕业论文提供参考 1 期刊论文 变频器在井下设备中的应用 期刊 内蒙古煤炭经济 2019 年第 020 期 关键词 变频器 节
  • uni-app 的坑

    最近在开发一个新项目 使用的vue3 之前用的都是vue2 这不用不知道 一用吓一跳 看代码 data return searchText data 存储数据库的数据 methods async getData const db uniCl
  • git 上传任务用户显示错误修改方法

    目 录 0 问题描述 1 原因 2 步骤 3 总结 0 问题描述 使用git时候登陆自己的账号但每次提交任务显示的是其他人的信息 1 原因 git配置信息中用户名及用户邮箱显示是其他人 可以通过git config l进行查看 git co
  • ADW300物联网电表支持MODBUSTCP协议、MQTT协议-安科瑞黄安南

    摘要 随着通信技术的应用越来越广泛 具有通信功能的电子产品越来越多 同时也随着Wi Fi无线覆盖网络区域的形成 如何利用无线网络覆盖广 带宽高 低使用费率的优势组建物联网系统 变成了一个很实际的问题 安科瑞也紧跟趋势推出了满足客户需求的支持
  • git客户端安装并配置GitLab配置ssh key

    一 安装git客户端 打开Git的安装程序 点击Next之后 安装路径我保持默认选项 然后继续下一步 继续下一步 提示你创建开始菜单 我们继续下一步 上图默认的是第二项 但是我改成了第一项 不想在CMD下使用Git命令 继续下一步 继续下一
  • 【华为OD机试真题2023B卷 JAVA&JS】食堂供餐

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 食堂供餐 知识点编程基础循环 时间限制 1s 空间限制 32MB 限定语言 不限 题目描述 某公司员工食堂以盒饭方式供餐 为将员工取餐排队时间降低为0 食堂的供餐速度必须要足够快 现在
  • 源码分析之——WMS启动流程

    1 源码分析之 AMS启动流程 2 源码分析之 WMS启动流程 3 源码分析之 SharedPreferences 4 源码分析之 Retrofit 5 源码分析之 OKHttp 6 源码分析之 Android事件分发机制 前言 上一节讲了
  • 解决Vue路由重复点击报错问题

    给一个元素绑定跳转路由的事件时 跳转后当我们重复点击时就会报以下错误 原因 vueRouter版本问题 解决方案1 降低VueRouter的版本 使用旧版本的VueRouter 3 0 xxx 解决方案2 跳转路径后 捕获异常 不做处理 这
  • PC 服务器故障处理方法

    计算机网络在发展的过程中 PC服务器的各项配置也在不断的升级和改善 随着人们对计算机网络流畅性需求的逐步增长 PC服务器的快速故障分析与维护处理也愈发重要 PC服务器常见的软件故障就是在开机时可能会产生的一系列软件冲突 PC服务器的硬件也可
  • 【详细深入分析OpenHarmony编译流程】

    详细深入分析OpenHarmony编译流程 前言 编译入口 源码根目录 编译命令 记录源码根目录位置 开始构建 获取python解释器 hb主程序 build模块初始化 build模块执行 build和set参数解析 参数配置文件读写 配置
  • 七牛云之微信小程序上传图片

    本节课 我讲的是微信小程序结合七牛云上传图片 仅仅讲如何上传图片并得到图片的云链接 首先 先到官网 https developer qiniu com kodo manual 1205 programming model 了解一下大致的业务
  • docker镜像和容器有什么区别?

    我这里拿大家熟知的VMware来举例 VMware安装虚拟机 gt 下载系统镜像 gt 在VMware里安装系统 gt 得到一个系统虚拟机 我们试着叫它实例 docker里也是类似 概念上 docker里的镜像 VMware里的镜像 doc
  • react实现分页-封装组件

    需求 根据后台的数据 判断是否有下一页 如果有下一页 用户上划加载更多调用接口 结合 antd mobile 的 ListView 组件实现 参数解释 dataSource 数据源 数组 currentPage 页数 initialList
  • bash: jps: 未找到命令…

    bash jps 未找到命令 sudo yum install java 1 8 0 openjdk devel x86 64
  • Linux环境基础开发工具的使用:

    创建新用户 新建用户操作 删除用户 Linux器 vim使用 1 vim的基本概念 vim的三种模式 其实有好多模式 目前掌握这3种即可 分别是命令模式 command mode 插入模式 Insert mode 和底行模式 last li
  • 爬虫:栖落的电影网站,利用requests和re模块

    这是栖落的电影网站地址 https xxx xxx 进入网页 显示 爬取目标 电影的名称 观影人数和评分 易知本网站的url url https xxx xxx 本网站会识别出headers中的python请求而拒绝访问 所以需要更改hea
  • SuperSocket教程五:配置文件启动,配置多服务器示例

    为什么要通过配置启动 1 避免硬编码 SuperSocket提供了很多有用的配置选项 可以充分利用SuperSocket提供的工具 那么怎么通过配置启动 我最开始看文档都没搞懂有些地方 然后查了一下不懂的地方 最后解决问题 这篇博客是和上一

随机推荐

  • pwrite写操作——原子操作,不改变当前文件操作符位置,写入位置offset是一个相对于fd起始地址的偏移量

    意外发现 pwrite 函数是一个原子操作 现测试验证如下 1 2 pwrite相当于先调用lseek接着调用write 但又不完全是这样 3 1 pwrite是原子操作 定位和写操作在一个原子操作中完成 期间不可中断 但分开的lseek和
  • 接口自动化测试实战经验分享,测试用例也能自动生成

    作为测试 你可能会对以下场景感到似曾相识 开发改好的 BUG 反复横跳 版本兼容逻辑多 修复一个 BUG 触发了更多 BUG 上线时系统监控毫无异常 过段时间用户投诉某个页面无数据 改动祖传代码时如履薄冰 心智负担极重 为此本文提出一个自动
  • Kotlin常用的高阶函数(ForEach、Map、Flatmap、Fold、Reduce......)

    一 ForEach 类型于Java的传统的写法 package net println kotlin chapter5 builtins author wangdong description Kotlin常见的高阶函数 fun main
  • LLM-项目详解-Chinese-LLaMA-AIpaca(一):LLM+LoRa微调加速技术原理及基于PEFT的动手实践:一些思考和mt0-large+lora完整案例

    如何花费较少的算力成本来进行微调训练 十分重要 当前关于LLaMA Alpaca Instruct微调 LoRa微调等多个概念大家讲的很多 最近也在学习 也看到几个有趣的话题 主要参考于 https github com ymcui Chi
  • CompletableFuture使用案例

    最近遇到一个前端接口需要批量请求接口 担心超时 所以使用批量异步的请求方式 批量构造请求 for ProductInfoParam productInfoParam list CompletableFuture
  • 实战分享:一文读懂RS-232总线

    大家好 我是阿荣 感恩遇见 本文部分图文来源于网络 并经过整合 编辑和勘误 实战分享栏目将重点介绍嵌入式的基础知识 并融合一些实战经验 持续勘误和迭代 建议关注和收藏 WX同名 RS 232概述 RS 232标准接口 又称EIARS 232
  • php的MVC模式

    php的MVC模式 model 存放向数据库请求来的数据 view 存放组件 图片 页面模板html文件 controller 获取或改变model里的数据返回给页面渲染数据 1 根目录入口php文件index php 在此定义目录常量方便
  • (三)Refactor

    在实现线程池上个版本中 提交任务需要重写Task run 方法 获取结果会被阻塞直至任务完成 使用C 异步新标准解决上述问题 提交任务期望有如下简洁格式 auto res1 pool submitTask func 1 2 可以使用C 17
  • c++ 小型公司人员管理 类的继承和派生实战

    写在前面 希望这篇文章能对大家有一点点帮助 欢迎一起交流进步 谢谢大家的阅读 一 题目 3 小型公司人员管理 某小型公司有四类人员 总经理 技术人员 销售经理 推销员 设计一个基类employee派生出 manager 总经理 techni
  • 读取多波段的tif(利用GDAL)

    bmp的格式是RGBRGB 排列下来的 每个像素的三个分量靠在一起 描述完一个像素 接着描述下一个像素 tif的格式更多样 通常的格式也是BGRBGR 次序与bmp相反 排列下来的 但偶尔有一些tif文件采用RRRRRR GGGGG BBB
  • 银行核心系统

    文章来源与某位大神的力作 写的非常好 科目的地方首位科目号有待商榷 但总之看完后很多东西一目了然 银行核心系统入门简介 本文的目标读者是准备从事银行核心系统开发 维护的从业人员 请注意 是 准备 换句话说 可以理解为一份对科技人员 尤其是对
  • 【SpringBoot】DEMO:上传头像并把头像的路径存放到数据库

    SpringBoot DEMO 上传头像并把头像的路径存放到数据库 一 任务介绍 二 目录结构 三 功能实现 四 实现效果 五 大功告成 一 任务介绍 判断图片是否为空 不为空 把图片上传到服务器 把图片的路径写入数据库 二 目录结构 三
  • Python中的列表部件QListWidget详解

    Python中的列表部件QListWidget详解 QListWidget是Qt框架中的一个常用部件 用于显示列表数据 在Python中 我们可以使用PyQt库来创建和操作QListWidget部件 本文将详细介绍QListWidget的使
  • Svg画图

    一 Svg是什么 SVG 指可伸缩矢量图形 SVG 用来定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失 SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是
  • 主频计算-架构真题(二十三)

    某文件系统采用多级索引结构 若磁块大小为4K字节 每个块号需占4个字节 那么采用二级索引结构时的文件最大长度可占用 个物理块 1 1024 2 1024 1024 3 2048 2048 4 4096 4096 答案 B 解析 磁盘大小 块
  • 超详细:通过neo4j构建数电知识图谱

    将neo4j gt 连接mysql CALL apoc load jdbc 创建节点 ranker代表课程id name代表该学科名称 create n course name 数字电路与逻辑设计 ranker 4 return n 建立课
  • Gazebo载入模型问题汇总

    问题1 载入模型的时候零件之间的关节断开 gazebo载入一个四足机器人模型的时候 发现它的有些关节断开了 如下图这种 身子还在中间躺着 但是机器人的大腿已经不知道被谁砍了下来 右上角哪个红色大腿非常明显 原因及解决办法 这里由于我的joi
  • Metric评价指标-Perplexity语言模型

    欢迎关注知乎 世界是我改变的 知乎上的原文链接 一 原理介绍 在研究生实习时候就做过语言模型的任务 当时让求PPL值 当时只是调包 不求甚解 哈哈哈 当时也没想到现在会开发这个评价指标 那现在我来讲一下我对这个指标的了解 望各位大佬多多指教
  • HyperLogLog-Redis中的基数统计算法

    1 基本概念 基数 cardinality 是指一个集合中不同元素的个数 例如集合 1 2 3 4 5 2 3 9 7 这个集合有9个元素 但是2和3各出现了两次 因此不重复的元素为1 2 3 4 5 9 7 所以这个集合的基数是7 Red
  • 过来人聊聊眼中的普通码农和技术大牛的区别

    最近几年 IT行业中的各个群里突然流行了一个词 大牛 有些人因为在学术界发了很多论文而被称之为牛 有些人因为在群里努力帮助大家解决问题而被称之为大牛 有些人因为写了一本技术的书而被称之为大牛 有些人因为开源了很多技术知识二被称之为大牛 还有