当前位置: 首页 > news >正文

爬虫工程师的社会现状

现在网上你只要搜索教程就是韦世东;k哥爬虫教你爬虫方面的逆向知识;然后看着这些逆向js百例;搞得我很尴尬我做了这么多年的爬虫工程师;现在算什么;这些逆向的东西我并没有很深层次的了解;但是工作的内容也依旧解决了;并没有到爬虫工程师非要会那么多逆向才能算的上是合格的爬虫工程师;然而现在的社会被这些吃逆向知识分享流量和钱的知识博主这样一番操作;已经变成了貌似你不会这些炫技的js逆向;安卓逆向;你讲不清你就不是一个有水平的爬虫工程师;它是逼着你必须会这些逆向;这些高级的逆向是爬虫工程师的门槛;会了才代表水平厉害;才能拿更高的工资.

好尴尬然而现状是很多爬虫工程师的工作应该根本涉及不了那么多逆向的内容;有些人的工作甚至就是维护维护过去的项目一些小的网站;或者爬取的也是一些垂直渠道的网站;总归并不会工作中涉及到的都是为了反爬而反爬的大型网站的项目.

即使会涉及一些有人气的大型网站;也并不会需要用到那么多的逆向知识;爬虫工程师职业方向早已被这些人给定死了;就是爬虫工程师就应该最后磨练到后面水平是逆向工程师这才是高级的爬虫工程师;否则永远都只能是初级的工程师.永远只能拿不高的工资.然后就变成了你面试的时候面你的爬虫总监一定会问你你对逆向了解么;然后什么验证码是怎么解决之类;是否使用的逆向方式解决;你对字体加密;你对websocket加密了解么等等之类;这就变成了你如果要面试;先恶补js逆向知识吧;如果你不了解这些知识;基本上你就算得到了面试机会;也会因为面试的水平很差而不通过.然而实际上你真正工作的时候有多少是需要用到逆向的;大部分的爬虫工程师不都是再维护那些公司的项目;然后做那些实习时候就在做的爬网站的事情么;

但是还是想说爬虫工程师有别于逆向工程师;最关键的地方就是爬虫工程师因为对逆向了解甚少;不够深入;更多时候的工作就是爬取网站;而非逆向工程师这样一个逆向网站可能逆向1个月时间;然后再把逆向的成果放在网上;美其名曰很简单;稍微看看就能破解然后出成教程;反正好事都给逆向工程师占了;

爬虫工程师爬取那么多网站;维护解析分析日复一日的做这些杂活到头来不如逆向的一根毛;这就是现状;你维护那么多网站;写那么多网站爬虫;然后数据出异常以后还要快速找到异常;然后很多网站也是加密的也涉及到逆向方面的知识;你最后也解决了;但是却不了解原理;没有办法像这些教程这样写的那么详细;你面试的时候人家根本不care你工作中的很多繁杂的繁琐的问题是如何解决的;人家只care问你逆向的内容;但是现在的爬虫工程师就是讲不清;一问三不知;你可以解决逆向的问题;但是就是不了解逆向.这就是很多爬虫工程师的现状.

而且现状最关键的是很多需要逆向的爬虫网站;如果你发现是有加密的;第一步条件反射就是去github上找可用的代码;就现在互联网发达的社会;一般大点的网站一旦加密更新过一段时间有人把破解好的更新出来;很多时候你根本不需要走逆向这一步;直接拿别人可用的代码就已经完成了逆向的事情;再其次如果github上找不到怎么办;还能做的也不是去逆向;而是扫描域名;看这个网站有多少子域名;然后一个个试错下来;总能给你找到需要爬取的站点的以其他端或者域名呈现的内容;这时候如果还是需要逆向怎么办;又是回到github上去找;总不会频繁到每个应用端或者域名的内容都加密;所以基本到这一步已经解决了逆向问题.

再其次如果还失败怎么办;你还可以查看robots协议;很多网站是允许抓取的甚至很多需要逆向的大公司网站;只需要修改请求头部分就能够轻松绕过各种反爬限制;就这到这里基本已经很难再去逆向了;再者如果还失败你还能够分析到底加密了哪些参数;很多网站你看着它加密参数很多;但是你可以去删的;你可以分析到底到最后哪几个参数才是需要解密的;甚至有些时候就是那些需要验证的参数你删掉反而就不验证;不删反而需要验证;并且这些加密的参数可能也就是看着唬人;实际上后台可能不会验证的非常严格;可能只要符合这个长度或者有这个参数名就可以验证通过;也就是说当我走到这一步时如果还失败;那基本才需要开始尝试用逆向的方式解决;然而当走到这一步时;基本上所谓的什么验证码;所谓的反爬;基本能绕过的我都绕过了;真正需要逆向对于爬虫工程师的工作而言真的不多.

然后等真的到这一步了;可能逆向就变得非常容易了;你已经找到了这个网站最容易最没有反爬;逆向最少的接口方式等;这个时候稍微用点逆向知识基本也就解决问题了。在者如果还是失败你还能用自动化浏览器是吧;你不需要通过自动化浏览器爬取数据;那将是几何难度;但是你用自动化浏览器生成逆向需要的东西;然后存储再redis中;供你的爬虫使用;就这基本上又能解决大部分非要人为去硬读混淆代码以后硬再还原成python代码或者找到js加密接口的逆向问题;

这就是尴尬的现状;真的用到逆向的情况再真实工作中真的不多;而且逆向也是集中再一个赛道里面比如有些工作专门做新闻舆情;那么就是专门抓取新闻网站;有些时海运公司;专门抓取海运网站;有些时游戏公司;专门抓取和游戏有关的平台;

反正再工作中逆向绝对不是限制爬虫工程师的问题;他总能用千奇百怪的其他技巧或者方式绕过或者解决逆向;而且并不是是个网站就一定有反爬;反爬的网站就是到了今天依旧并没有那么多;爬虫工程师的工作也不会涉及到非常多的真正需要逆向的网站;爬虫工程师的工作主要是解决反爬而非逆向.

但是现在很明显现状就是些逆向知识博主的出现已经硬把逆向工程师和爬虫工程师混为一谈了;本来这两者是两个赛道;但是现状就变成你爬虫工程师必须会这些逆向的知识才是一个好的爬虫工程师;

那么我一个爬虫工程师和你一个逆向工程师的工作内容相比呢;你逆向工程师的工作就是逆向安卓端;逆向网站;过验证码就是你逆向工程师的工作;然后你现在把你工作的内容学到的东西全部都放在网站上作为教程;然后你又重新定义了爬虫工程师;变成爬虫工程师必须会这些知识才是高级的爬虫工程师;也就是说如果没有这些逆向知识分享博主的存在;爬虫工程师和逆向工程师永远是两个赛道;爬虫工程师依旧是做着爬虫的工作;逆向这些都是技巧都是工具;而不是为了了解而了解;为了面试而硬学;

就像字体加密一样;现在几年过去了还有哪些网站是字体加密的;反正我这么多年也没有再碰到需要字体加密的网站;那些过去为了字体加密而无法解决的爬虫工程师;你们再学习那些css知识那些字体库原理的时候;现在回过来看是否是毫无意义的;如果现在面试的时候再说自己能破解字体加密;真的是非常可笑的一件事情;

就像小红书的x-s参数一样;我看到很多逆向工程师写的都是什么加密是在一个jsvmp里面实现的;反正我也不懂;我越看这些逆向工程师写的x-s的教程我越陷入迷糊;通篇都是一堆调试的图;让我以为x-s的生成非常复杂;我实在是看不下去了;因为我知道以我爬虫工程师的能力;我要复现也蛮痛苦的;他们逆向工程师反正为了有别于用自动化浏览器是很low的行为;就是要高大上就是要直接用逆向的方式给解出来;你们可能为了啃出这个x-s的生成逻辑看混淆的代码然后一步步调试;花了不少时间;然而我也就花了几小时;用自动化浏览器可以生成的东西你为何你一定要用复杂的方式呢;

反正我定义的好的有水平的爬虫工程师是你不用逆向的方式解决问题;你能够把原来需要用逆向花一个月才能解决的问题;通过爬虫工程师的方式化简问题才是好的爬虫工程师;爬虫工程师应该是解决反爬问题而非逆向问题;然后真正需要逆向的爬虫工程师无法搞定的东西让逆向工程师去解决这应该才是好的合作方式;但是现在现状早已变了;他要求的好的高级的爬虫工程师就是要抢逆向工程师饭碗;你要掌握逆向工程师的知识才能拿到更高的工资;然而还是那句话工作中真的用不了多少逆向的知识;真需要逆向的知识应该交给专业的人;而不是爬虫工程师又要掌握逆向知识又要掌握爬虫知识又要掌握反爬知识又要掌握测试知识又要掌握维护知识。

我相信每个爬虫工程师都有一个理想就是爬虫架构;但是目前这个职业现状的限制必然导致一个公司只有一个架构;也就是要给爬虫leader其他的都是爬网站的工具人;然后这个社会上无论是架构还是专门从事逆向的都能找到好工作;只有边缘的就是介于架构和逆向之间的爬虫工程师;那些乐此不疲去每家公司的唯一工作就是爬各种网站的爬虫工程师;应该只能叫做初级爬虫工程师;

这些爬虫工程师是可悲的;你如果换行那么就要重新接触另外一个公司的系统架构;然后你又做着实习生也能做的初级的活就是爬网站;然后就是偶尔你的leader会让你写写脚本;这些可能是生成cookies的脚本;可能是监控爬虫的脚本;可能是可视化爬虫的代码等等;然后人生的职业发展就限制再了做实习也能做的事情上面;以及解决问题上.然后爬虫出问题了你维护;数据质量有问题;数据量有问题;这些都需要你维护和解决;你还要花大量时间测试是否有反爬;是否有瓶颈;然后爬虫的数据是否有问题;你还有对一个个字段;反正你的人生时间大部分都是再这个上面;然后偶尔有些网站还比较复杂;比如让你抓取抖音或者快手的数据;反正别人产品经理就是一拍脑袋的事情;无论多难多简单你爬虫工程师都得去解决;然后你就各种找代码各种看教程然后现学现卖;而大多数的爬虫工程师永远都只能只此一步了.

但是我想告诉爬虫工程师的是无论如何如果你到了30岁的年龄;还是困在了这种解析解析网站;然后写写网站代码的很low的事情上;无论你作为爬虫工程师是否当中有解决过比如抖音这种逆向网站;无论你爬的网站是否也是有逆向的成分在;你也花了很多时间解决;甚至你每次都很认真的做解析网站维护网站的事情;到年龄了你还有这个精力再像以前那么认真么;

大部分爬虫工程师做的事情其实就是测试和维护;这是需要认真的态度的;无论你之前有多认真;哪怕你一次不认真;你就像牛马一样没有什么可以利用的地方;就会被慢慢踢出去的;无论你是否也解决过很高级的逆向的网站;只要你还是身处再这个档次;那么你的工作就会有轮回你又会回到让你爬各种低级的网站;做实习生的事情;然后测试ip的可用;让你注册各种账号;让你找买账号的网站;你继续循环着测试和维护的工作.

30岁的年龄如果你还做这些事情;你不觉得是可悲的么;最关键的就是你还不能拒绝;因为上面有你的爬虫leader;他用来分配一切工作;他让你做什么你就得做什么;然后你的技术肯定不如他;他也对你看不起;把你当工具人看待;你的工作轻松与否其实就是他一句话的事情。他可以为难你让你很难受;也可以让你很容易;但归根结底我们做爬虫的;最后肯定不会再一家公司一直做这种类似实习的事情;然后看着别人工资很高;你的工资常年不动;你想跳槽;那么乘早跳;要记住爬虫工程师对于那些leader级别的早已经被自己的工作给套死了;

他们掌握的那套服务部署系统架构爬虫维护的知识都是这个公司才用的到;他们但凡跳槽到其他的地方如果不能做leader级别就是和你我一样继续做实习的很low的工作;但是能做到爬虫leader级别的都是对项目经验非常了解的;对这个项目当作产品去维护和开发的;你所有的工作都是他们分配的;他们是最了解这个项目的人;他们早就对这套项目的技术栈是烂熟于心的;这个项目任何问题花了几年时间早已经解决完善了;如果你让他们跳槽;就意味着一切的努力其实是付之东流的;因为每个公司的爬虫架构都是不一样的;

所以这些爬虫leader一般不会跳槽;跳槽以后如果继续做爬虫leader然后使用的是完全不一样的一套爬虫系统的话其实又回到了他过去从普通爬虫工程师晋升到爬虫leader的过程;而且一个公司只有一个爬虫leader;那么要么做很low的工作;要么就是去重新花时间了解别人的项目架构;对于爬虫leader而言;大多数人都只能被套死再自己的公司里面;然后温水煮青蛙一样就这样一直混日子.而一般的初级的爬虫工程师去了其他的公司;也只是另外一种新的循环;继续熟悉爬虫项目;然后写新的爬虫;维护爬虫;解决反爬虫;了解另外一个公司的项目架构部署服务;而你之前写的很多爬虫网站;换了一家以后因为做的业务不同;导致你之前所有写的爬虫变得毫无意义.

那么我们无论是爬虫leader还是普普通通的大多数爬虫工程师只能从上家公司拿到手的就是工资;除此之外一切都相当于从零起步.你作为爬虫这个行业如果你是初级工程师;初级工程师的定义其实就是爬虫架构和逆向工程师之中的;这些都可以被定义为初级工程师;无论你的技术有多炫;无论你解决过什么复杂的逆向问题;本质上你还是初级工程师;你还是再做很多实习生也能完成的事情;你一定会最后回到每天解析那些html的无聊工作中;你告诉我这个有什么意义;毫无意义;

所以我想说这些初级爬虫工程师的工作毫无意义;唯一有意义的就是工资;工资多少才是意义;如果工资低你应该去更好的公司做初级爬虫工程师;而对于那些爬虫leader而言;心累是必然的;就是那么多爬虫再服务上跑以后一但数据有问题;产品经理;大数据经理第一个找的就是你;所以很多数据异常问题你不会重新分佩;而是你自行解决;所以到头来你还是得维护一堆解析html的工作;然后去测试去找到异常;这个有意义么;也没有意义;最好的关键还得是找到更好的工作有更高的工资才是意义.

所以从这个层面上来说逆向工程师是最好的;普通的介于初级爬虫工程师水平的;千万不要把时间放在你要做爬虫leader上;因为这意味着你需要会爬虫服务的部署;爬虫数据可视化;日志可视化;爬虫集群维护;爬虫集群监控;日志监控;ip池维护;服务器维护;数据质量监控;数据量监控;数据延迟监控;爬虫异常监控;账号池监控;cookies池监控;数据库维护;内存监控;架构优化等等事情;

爬虫leader要掌握的东西太杂太全太多了;而且出了这个公司你换了一家公司;可以说所有的一切都是推倒重来.你作为初级的爬虫工程师可以说了解这些实现的策略你就足够能够找到一份爬虫工作了;但是实现是毫无意义的;你看当今那些股票分析师说的话;说的内容和实际股票结果是完全不一样的;实操的结果不一定有韭菜赚的多;但是奈何理论丰富;爬虫面试也是如此;理论丰富懂这些策略就可以了;但不要往爬虫leader上发展;这注定是非常体验感差的工作;然后你的面试中要侧重的就是逆向经验;因为面试你的必定是爬虫leader;相反爬虫leader一定是逆向经验并不丰富的;因为日新月异的逆向技术发展;这些leader根本学不完;也早就已经以架构头筹大局为主;

爬虫当中的逆向是细节问题;并不是leader需要考虑的;所以你跟leader讲这些的时候;他估计是听不太懂的;或者了解是不足的;那么你再逆向上的加分就是没有任何问题的;然后也不会手搓给你一个项目让你逆向;所以关键还是要多准备逆向的面试知识;大部分的爬虫工程师我这里定义为初级爬虫工程师;你们30岁以后真的要继续做这些解析html这种毫无意义的工作么;你的孩子问起你的工作;你一个30岁的成年人就做实习生都能做的事情;不觉得可耻么;相当于你始终是再读1年级再也没有任何的长进了;我这样说以后你应该明白普通的初级爬虫工程师你的职业发展到底应该怎么走了;为了钱面试去更好的公司而不是学技术解决问题是你的发展方向;把面试的理论知识给发挥到炉火纯青的地步;掌握逆向的知识;你可以摆脱学历的困扰;

而爬虫工程师你没有学历;你不是货真价实的本科学历你就没有什么好的面试机会;但是逆向不一样;爬虫架构的策略都是固定死的;就是这些东西;知道了就知道了;你就永远可以用在面试经验上再加上deepseeek更可以把理论的面试知识包装的更好;但是你如果要去实现的话;那么爬虫架构上有各种问题是需要解决的;这家公司的你掌握了;下一家用的技术栈都是不一样的;等下一家掌握了;再下一家又是不一样的;你就不停的学习吧.

所以最好的折中的就是爬虫工程师你要么就往逆向方向发展;要么就多掌握逆向经验;逆向经验是你面试加分和最终得到工作的敲门砖;而所谓的其他爬虫工程师的策略;你要掌握的是面试时候的理论知识即可.到最后你年龄大了;最好的结果是走逆向工程师这条路;这条路对学历要求不高;大家都卷死再了爬虫初级和爬虫架构上乐此不疲;

而逆向工程师这条路对于很多爬虫leader和爬虫初级工程师而言都是门槛极高的;大多数人根本进不了这个圈子;你可以逆向经验去不断跳槽最后找到工资更高的工作去做爬虫初级工程师;或者最后成为逆向工程师都是非常好的职业路径.因为最关键的就是一旦你掌握了逆向知识;一个需要逆向的网站leader是可以有1个月时间给你容错让你解决的;最后你解决不了还不会怪责你;那说明太难了;这时候你可以用各种逆向上的专业知识去忽悠;从而让自己混1个月;毕竟逆向工程师真的很容易;相对于爬虫工程师和爬虫leader而言;唯一的工作就是解决逆向.而且最关键的就是工资高;作为一个逆向工程师不会redis不要紧;但是如果一个爬虫工程师不会redis那么是可耻的;更可以说爬虫工程师你不了解mongodb;sqlite;mysql;kafka;redis;rabbitmq;docker;election;linux这些技术是可耻的;但是你逆向工程师不会这些东西;毫无关系;所以你会发现这个逆向工程师学的东西其实真的并不多;领导分配任务的时候也只有逆向给他做;其他写脚本的杂活是不会分配的;因为逆向工程师他也不会;而30岁的爬虫初级工程师;你依旧会被分配到注册小红书账号;买小红书手机号;这种实习生从事的毫无意义的杂活.

所以很多爬虫工程师去一家公司就是学习一家公司的技术栈;之后再去一家;上一家忘掉;乐此不疲;学的东西还是千奇百怪.我相信每个初级爬虫工程师你真的什么技术栈都了解了;了解了使用过几十种技术栈;你甚至会了解其中的原理;但是最后都会忘光的;一个行业不断再学习新的知识;这对于从业人员并不友好;其实逆向工程师也不友好;比如直播出现了;就需要抓取抖音直播的弹幕;Websocket这个地方做的加密;就需要逆向;就需要了解websocket这种是如何建立连接;也得了解原理才能逆向;然后java的;汇编的;js的知识是日新月异;然后安全防控的加密算法实际都是竞赛题;或者是别人本科生研究生研究安全方面的人写的论文实现的最新的算法;所以逆向这一块别人换一个算法;做逆向的人就得和高校那帮最聪明的人斗智慧其实是很痛苦的;而且是一个要不断更新知识的地方;

1年前的抖音加密算法可能也就过时了;所以其实很可悲爬虫这个行业就是要不断学习新的东西;就是再不断学习新的东西上折腾;那我希望你们是为工资而学习;学习到的知识;再某个公司掌握的技能不需要再一家公司太久的;你需要的是找到更好的公司;用你学到的东西再面试上体现出来;如果你的面试上体现不出你学习到的你受到的苦;那么毫无意义.

然后无论如何爬虫工作;我想告诉大家的是;爬虫是跳板是折中的方案;是你的过渡期;而不是一辈子的结果;某些爬虫工程师貌似一个月没有什么活;就偶尔维护维护;你的工作有逆向工程师工资高么;这样只需要维护维护的工作;一个月也没什么活的工作;你工资多少.你爬虫工程师要找的应该是既容易又钱多的工作.非逆向工程师的工作莫属了.也只有这一行才越老越吃香.

就像地铁里检查行李的工作人员一样;这个工作可以做一辈子么;也许他做着这个工作只是作为一个跳板;然后在家里考研考公或者再谋划机会然后等待有更好的机会跳出来;而不是永远就从事这份工作拿着几千元混吃等死;爬虫也是如此;很多初级爬虫工程师的工作其实是没有什么活的;一个月甚至几个月都没有什么活;就是维护下项目;偶尔网站接口出问题然后重新维护一下;偶尔有新的爬虫活去爬新的项目;

剩余的时间你千万不要浪费再无关紧要的事情上面;不要去看稀奇古怪的网站上面;你的更多时间请交给学习;你的目标是进入大厂;进入大厂以后大厂普通的工程师工资可能就是爬虫工程师的天花板工资甚至是逆向工程师中高级水平;这才是关键.你如果没有学历就好好搞学历;这一行即使是爬虫工程师这种不看待学历的;好的公司依旧要学历;这和能力无关;因为面试的简历能进入leader那一关的时候;就很多都被hr给过滤掉了;对于大公司更是如此;你没有好的学历;你要有多厉害的能力呢;要有像k哥爬虫;韦世东这样能出书;能让爬虫行业的人都家喻户晓的能力么;你有这个能力的话;那么学历可能更容易一些.

相关文章:

爬虫工程师的社会现状

现在网上你只要搜索教程就是韦世东;k哥爬虫教你爬虫方面的逆向知识;然后看着这些逆向js百例;搞得我很尴尬我做了这么多年的爬虫工程师;现在算什么;这些逆向的东西我并没有很深层次的了解;但是工作的内容也依旧解决了;并没有到爬虫工程师非要会那么多逆向才能算的上是合格的爬虫…...

Flink 1.20 Kafka Connector:新旧 API 深度解析与迁移指南

Flink Kafka Connector 新旧 API 深度解析与迁移指南 一、Flink Kafka Connector 演进背景 Apache Flink 作为实时计算领域的标杆框架,其 Kafka 连接器的迭代始终围绕性能优化、语义增强和API 统一展开。Flink 1.20 版本将彻底弃用基于 FlinkKafkaConsumer/FlinkK…...

Vue2 父子组件数据传递与调用:从 ref 到 $emit

提示:https://github.com/jeecgboot/jeecgboot-vue2 文章目录 案例父组件向子组件传递数据的方式父组件调用子组件方法的方式子组件向父组件传递数据的方式流程示意图 案例 提示:以下是本篇文章正文内容,下面案例可供参考 以下是 整合后的关…...

【matplotlib参数调整】

1. 基本绘图函数常用参数 折线图 import matplotlib.pyplot as plt import numpy as npx np.linspace(0, 10, 100) y np.sin(x)plt.plot(x, y, colorred, linestyle--, linewidth2,markero, markersize5, labelsin(x), alpha0.8) plt.title(折线图示例) plt.xlabel(X 轴) p…...

如何使用 IntelliJ IDEA 开发命令行程序(或 Swing 程序)并手动管理依赖(不使用 pom.xml)

以下是详细步骤: 1. 创建项目 1.1 打开 IntelliJ IDEA。 1.2 在启动界面,点击 Create New Project(创建新项目)。 1.3 选择 Java,然后点击 Next。 1.4 确保 Project SDK 选择了正确的 JDK 版本&#x…...

Linux红帽:RHCSA认证知识讲解(十 一)配置NTP 时间同步、用户密码策略与使用 autofs 实现 NFS 自动挂载

Linux红帽:RHCSA认证知识讲解(十 一)配置NTP 时间同步、用户密码策略与 NFS 自动挂载 前言一、配置 NTP 时间同步1.1 NTP 简介1.2 安装和配置 NTP 客户端 二、配置新建用户密码过期时间2.1 查看用户密码过期时间2.2 修改密码过期时间 三、使用…...

ffmpeg音视频处理流程

文章目录 FFmpeg 音视频处理流程详细讲解总结音视频处理流程相关的 FFmpeg 工具和命令 FFmpeg 的音视频处理流程涵盖了从输入文件读取数据、编码和解码操作、数据处理、以及最终输出数据的完整过程。为了更好地理解这一流程,我们可以从以下几个关键步骤来分析&#…...

leetcode-代码随想录-链表-移除链表元素

题目 链接:203. 移除链表元素 - 力扣(LeetCode) 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 输入:head [1,2,6,3,4,5,6], val 6 …...

c++与rust的语言区别,rust的主要难点,并举一些例子

C 和 Rust 都是系统级编程语言,它们在设计目标、语法、内存管理等方面存在诸多区别,以下为你详细介绍: 设计目标 C:C 最初是为了给 C 语言添加面向对象编程特性而设计的,之后不断发展,旨在提供高性能、灵…...

从基础算力协作到超智融合,超算互联网助力大语言模型研习

一、背景 大语言模型(LLMs)的快速发展释放出了AI应用领域的巨大潜力。同时,大语言模型作为 AI领域的新兴且关键的技术进展,为 AI 带来了全新的发展方向和应用场景,给 AI 注入了新潜力,这体现在大语言模型独…...

【spring cloud Netflix】Eureka注册中心

1.概念 Eureka就好比是滴滴,负责管理、记录服务提供者的信息。服务调用者无需自己寻找服务,而是把自己的 需求告诉Eureka,然后Eureka会把符合你需求的服务告诉你。同时,服务提供方与Eureka之间通过“心跳” 机制进行监控&#xf…...

记录学习的第二十天

今天只做了一道题,有点不在状态。 这道题其实跟昨天的每日一题是差不多的,不过这道题需要进行优化。 根据i小于j,且j小于k,当nums[j]确定时,保证另外两个最大即可得答案。 所以可以使用前缀最大值和后缀最大值。 代…...

7-5 表格输出

作者 乔林 单位 清华大学 本题要求编写程序,按照规定格式输出表格。 输入格式: 本题目没有输入。 输出格式: 要求严格按照给出的格式输出下列表格: ------------------------------------ Province Area(km2) Pop.(…...

【爬虫开发】爬虫开发从0到1全知识教程第14篇:scrapy爬虫框架,介绍【附代码文档】

本教程的知识点为:爬虫概要 爬虫基础 爬虫概述 知识点: 1. 爬虫的概念 requests模块 requests模块 知识点: 1. requests模块介绍 1.1 requests模块的作用: 数据提取概要 数据提取概述 知识点 1. 响应内容的分类 知识点&#xff1a…...

安装 Microsoft Visual C++ Build Tools

Microsoft Visual C Build Tools下载安装 安装Microsoft Visual C Build Tools是为了在windows系统上编译和运行需要C支持的程序或库(例如某些Python包,Node.js模块等)。 1.下载 打开浏览器,访问 Visual Studio Build Tools下载…...

启服云专利管理系统:铸就知识产权保护的坚固壁垒

在全球竞争日益激烈的今天,知识产权已经成为企业核心竞争力的关键组成部分,而专利作为知识产权的重要体现,其管理和保护显得尤为重要。启服云专利管理系统凭借其卓越的功能和先进的技术,在知识产权保护领域展现出了显著的优势。 高…...

树莓派 5 部署 OMV(OpenMediaVault)

我使用Raspberry Pi OS Lite【Debian version: 12 (bookworm)】搭建OMV 换源,换源教程请参考:树莓派 5 换源 加入omv国内清华源 # 创建openmediavault.list文件 touch /etc/apt/sources.list.d/openmediavault.list # 加入内容 echo "deb [signed…...

Opencv之dilib库:表情识别

一、简介 在计算机视觉领域,表情识别是一个既有趣又具有挑战性的任务。它在人机交互、情感分析、安防监控等众多领域都有着广泛的应用前景。本文将详细介绍如何使用 Python 中的 OpenCV 库和 Dlib 库来实现一个简单的实时表情识别系统。 二、实现原理 表情识别系统…...

吾爱置顶软件,吊打电脑自带功能!

今天我给大家带来一款超棒的软件,它来自吾爱论坛的精选推荐,每一款都经过精心挑选,绝对好用! S_Clock 桌面计时软件 这款软件的界面设计特别漂亮,简洁又大方。它是一款功能齐全的时钟计时倒计时软件,既能正…...

深入理解浏览器的事件循环

浏览器的进程模型 浏览器进程:负责子进程的管理和用户交互网络进程:负责加载网络资源渲染进程:浏览器会为每一个标签页开启一个新的渲染进程。 渲染进程中的渲染主线程是我们最关注的,因为浏览器的事件循环就发生在这之中渲染主进…...

分布式锁之redis6

一、分布式锁介绍 之前我们都是使用本地锁(synchronize、lock等)来避免共享资源并发操作导致数据问题,这种是锁在当前进程内。 那么在集群部署下,对于多个节点,我们要使用分布式锁来避免共享资源并发操作导致数据问题…...

数据框的添加

在地图制图中,地图全图显示的同时希望也能够显示局部放大图,以方便查看地物空间位置的同时,也能查看地物具体的相对位置。例如,在一个名为airport的数据集全图制图过程中,希望能附上机场区域范围的局部地图&#xff0c…...

SQL Server 2022 读写分离问题整合

跟着热点整理一下遇到过的SQL Server的问题,这篇来聊聊读写分离遇到的和听说过的问题。 一、读写分离实现方法 1. 原生高可用方案 1.1 Always On 可用性组(推荐方案) 配置步骤: -- 1. 启用Always On功能 USE [master] GO ALT…...

启服云云端专利管理系统:解锁专利管理新境界

在当今竞争激烈的商业环境中,专利作为企业的核心资产,其管理的重要性不言而喻。启服云云端专利管理系统以其卓越的性能和独特的优势,成为企业专利管理的得力助手,为企业的创新发展保驾护航。 便捷高效,突破时空限制 启…...

记录一下零零散散的的东西-ImageNet

ImageNet 是一个非常著名的大型图像识别数据集, 数据集基本信息 内容说明📸 图像数量超过 1400万张图片(包含各类子集)🏷️ 类别数量常用的是 ImageNet-1K(1000类)🧑‍&#x1f3e…...

全连接RNN反向传播梯度计算

全连接RNN反向传播梯度计算 RNN数学表达式BPTT(随时间的反向传播算法)参数关系网络图L对V的梯度L对U的梯度L对W和b的梯度 RNN数学表达式 BPTT(随时间的反向传播算法) 参数关系网络图 L对V的梯度 L对U的梯度 L对W和b的梯度...

基于BusyBox构建ISO镜像

1. 准备 CentOS 7.9 3.10.0-957.el7.x86_64VMware Workstation 建议&#xff1a;系统内核<3.10.0 使用busybox < 1.33.2版本 2. 安装busybox # 安装依赖 yum install syslinux xorriso kernel-devel kernel-headers glibc-static ncurses-devel -y# 下载 wget https://…...

使用python完成手写数字识别

入门图像识别的第一个案例,看到好多小伙伴分享,也把自己当初的思路捋捋,写成一篇博客,作为记录和分享,也欢迎各位交流讨论。 实现思路 数据集:MNIST(包含60,000个训练样本和10,000个测试样本) 深度学习框架:Keras(基于TensorFlow) 模型架构:卷积神经网络(CNN) 实…...

Vue2 过滤器 Filters

提示&#xff1a;Vue 过滤器是用于格式化文本的 JavaScript 函数&#xff0c;通过管道符 | 在模板中使用 文章目录 前言过滤器的核心特性1. 链式调用2. 参数传递3. 纯函数特性 过滤器的常见使用场景1. 文本格式化2. 数字处理3. 日期/时间格式化4. 样式控制&#xff08;结合组件…...

Java 大视界 -- 基于 Java 的大数据分布式存储在视频监控数据管理中的应用优化(170)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

c++中cin.ignore()的作用

在 C 中&#xff0c;cin.ignore() 是用于忽略&#xff08;丢弃&#xff09;输入流中的字符的函数&#xff0c;通常用来清除输入缓冲区中的残留内容&#xff08;如换行符、多余输入等&#xff09;&#xff0c;以避免影响后续的输入操作。 基本用法 cin.ignore(n, delim);n&…...

讲一下resblock的跳跃连接,以及连接前后的shape保持(通过padding保持shape不变)

ResNet 残差块&#xff08;ResBlock&#xff09;的跳跃连接 & 形状保持 ResNet&#xff08;Residual Network&#xff09;通过 残差块&#xff08;Residual Block, ResBlock&#xff09; 解决了深度网络的梯度消失问题。其核心是跳跃连接&#xff08;Skip Connection&…...

Unity中优化绘制调用整理

DrawCall 指的是 CPU 向 GPU 发送渲染指令的过程&#xff0c;在 Unity 中&#xff0c;每次渲染一个网格时&#xff0c;CPU 都需要向 GPU 发送一系列的渲染指令&#xff0c;这个过程被称为一次绘制调用&#xff08;Draw Call&#xff09;。 1.GPU实例化 使用&#xff1a; 2.绘…...

Coco-AI 支持嵌入,让你的网站拥有 AI 搜索力

在之前的实践中&#xff0c;我们已经成功地把 Hexo、Hugo 等静态博客和 Coco-AI 检索系统打通了&#xff1a;只要完成向量化索引&#xff0c;就可以通过客户端问答界面实现基于内容的智能检索。 这一层已经很好用了&#xff0c;但总觉得少了点什么—— 比如用户还得专门打开一…...

深入解析Java哈希表:从理论到实践

哈希表&#xff08;Hash Table&#xff09;是计算机科学中最重要的数据结构之一&#xff0c;也是Java集合框架的核心组件。本文将以HashMap为切入点&#xff0c;深入剖析Java哈希表的实现原理、使用技巧和底层机制。 一、哈希表基础原理 1. 核心概念 键值对存储&#xff1a;通…...

leetcode76.最小覆盖子串

思路源于 【小白都能听懂的算法课】【力扣】【LeetCode 76】最小覆盖子串&#xff5c;滑动窗口&#xff5c;字符串 初始化先创建t的哈希表记录t中的字符以及它出现的次数&#xff0c;t的have记录t中有几种字符 s的哈希表记录窗口中涵盖t的字符以及它出现的次数&#xff0c;初始…...

【HTB】Windwos-easy-Legacy靶机渗透

靶机介绍&#xff0c;一台很简单的WIndows靶机入门 知识点 msfconsole利用 SMB历史漏洞利用 WIndows命令使用&#xff0c;type查看命令 目录标题 一、信息收集二、边界突破三、权限提升 一、信息收集 靶机ip&#xff1a;10.10.10.4攻击机ip&#xff1a;10.10.16.26 扫描TC…...

一问讲透redis持久化机制-rdb aof

一问讲透redis持久化机制-rdb aof 文章目录 一问讲透redis持久化机制-rdb aof前言一、RDB二、AOF二、原理 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; redis作为内存数据库&#xff0c;常常作为系统的缓存使用&#xff0c;但是内存是断电清空数据的…...

【大模型基础_毛玉仁】6.4 生成增强

目录 6.4 生成增强6.4.1 何时增强1&#xff09;外部观测法2&#xff09;内部观测法 6.4.2 何处增强6.4.3 多次增强6.4.4 降本增效1&#xff09;去除冗余文本2&#xff09;复用计算结果 6.4 生成增强 检索器得到相关信息后&#xff0c;将其传递给大语言模型以期增强模型的生成能…...

4.1-泛型编程深入指南

4.1 泛型编程深入指南 本节将带您深入探索C#泛型机制在游戏开发中的高级应用。通过游戏对象池、数据管理器、事件系统等实际案例&#xff0c;您将学习如何运用泛型构建高效、灵活的游戏系统。掌握这些知识将帮助您开发出性能更好、架构更清晰的游戏。 前置知识 在学习本节内容…...

《K230 从熟悉到...》识别机器码(AprilTag)

《K230 从熟悉到...》识别机器码&#xff08;aprirltag&#xff09; tag id 《庐山派 K230 从熟悉到...》 识别机器码&#xff08;AprilTag&#xff09; AprilTag是一种基于二维码的视觉标记系统&#xff0c;最早是由麻省理工学院&#xff08;MIT&#xff09;在2008年开发的。A…...

操作系统(二):实时系统介绍与实例分析

目录 一.概念 1.1 分类 1.2 主要指标 二.实现原理 三.主流实时系统对比 一.概念 实时系统&#xff08;Real-Time System, RTS&#xff09;是一类以时间确定性为核心目标的计算机系统&#xff0c;其设计需确保在严格的时间约束内完成任务响应。 1.1 分类 根据时间约束的严…...

虚拟电商-话费充值业务(六)话费充值业务回调补偿

一、话费充值回调业务补偿 业务需求&#xff1a;供应商对接下单成功后充吧系统将订单状态更改为&#xff1a;等待确认中&#xff0c;此时等待供应商系统进行回调&#xff0c;当供应商系统回调时说明供应商充值成功&#xff0c;供应商回调充吧系统将充吧的订单改为充值成功&…...

加密解密工具箱 - 专业的在线加密解密工具

加密解密工具箱 - 专业的在线加密解密工具 您可以通过以下地址访问该工具&#xff1a; https://toolxq.com/static/hub/secret/index.html 工具简介 加密解密工具箱是一个功能强大的在线加密解密工具&#xff0c;支持多种主流加密算法&#xff0c;包括 Base64、AES、RSA、DES…...

印度股票实时数据API接口选型指南:iTick.org如何成为开发者优选

在全球金融数字化浪潮中&#xff0c;印度股票市场因其高速增长潜力备受关注。对于量化交易开发者、金融科技公司而言&#xff0c;稳定可靠的股票报价API接口是获取市场数据的核心基础设施。本文将深度对比主流印度股票API&#xff0c;并揭示iTick在数据服务领域的独特优势。 一…...

使用python实现视频播放器(支持拖动播放位置跳转)

使用python实现视频播放器&#xff08;支持拖动播放位置跳转&#xff09; Python实现视频播放器&#xff0c;在我早期的博文中介绍或作为资料记录过 Python实现视频播放器 https://blog.csdn.net/cnds123/article/details/145926189 Python实现本地视频/音频播放器https://bl…...

Python星球日记 - 第2天:数据类型与变量

&#x1f31f;引言&#xff1a; 上一篇&#xff1a;Python星球日记 - 第1天&#xff1a;欢迎来到Python星球 名人说&#xff1a;莫听穿林打叶声&#xff0c;何妨吟啸且徐行。—— 苏轼《定风波莫听穿林打叶声》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和…...

CyclicBarrier、Semaphore、CountDownLatch的区别,适用场景

CyclicBarrier、Semaphore 和 CountDownLatch 是 Java 并发包中用于线程协作的工具类&#xff0c;它们虽然都与线程同步相关&#xff0c;但设计目的和使用场景有显著差异。以下是它们的核心区别和典型应用场景&#xff1a; 1. CountDownLatch 核心机制 一次性计数器&#xf…...

【愚公系列】《高效使用DeepSeek》050-外汇交易辅助

🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! 👉 江湖人称"愚公搬代码",用七年如一日的精神深耕技术领域,以"…...

java短连接,长连接

在网络通信中&#xff0c;短连接&#xff08;Short Connection&#xff09;是指客户端与服务器建立连接后&#xff0c;仅完成一次或几次数据交互就立即断开连接的通信方式。以下是关于短链接的详细说明&#xff1a; 一、短链接的核心特点 连接短暂 数据传输完成后立即关闭连接…...