我用python成为一名合格的阴阳师
如何成为一名合格的阴阳带师
本脚本仅供学习参考,不收取任何费用,如果你是付钱获取的,那么你可真的憨批。
——作者:李英俊小朋友
文章目录
- 如何成为一名合格的阴阳带师
- 写在前面 | Write Head
- 使用方法 | Using Method
- 设计思路 | Design
- 界面介绍 | Interface
- 操作说明 | Operation
- 快捷键位 | Hotkey
- 从零开始 | Start Zero
- 项目计划 | Project Plan
- 版本控制 | Version
- 计划列表 | Todo
- 完成列表 | Finished
- 现有问题 | Problems
写在前面 | Write Head
这是一个关于 阴阳师 的脚本,如果你不小心点进来了,赶紧出去,现在还来得急。
同时,该脚本可用于任何鼠标模拟,基于阴阳师,但超越阴阳师。
- 视频连接已挂,等我传到网盘叭
- 本文档更新时间:20210513,请记得看最新文档。
重要声明:
本软件不是无脑使用的软件,有学习门槛,不是基于图片识别而是基于鼠标模拟的软件, 不保证以后不使用图片识别、人工智能等技术。本软件注重于学习编程,也是我学习python的记录或者说笔记,而不是鼓励大家去用脚本来打破游戏平衡,降低自己和他人的游戏体验。(请怀着羞耻之心使用该脚本,顺带感谢一下无私的我)
仅供学习参考,不允许用于任何商业用途。 使用该脚本造成的任何后果与本人无关(主要是怕网易干我哈哈哈,网易如果想招我是可以考虑下的嘻嘻,毕竟去年面过网易)
严禁任何转载,毕竟万一以后火了,网易要打我,我只能说,与我无瓜,需要删除的话及时跟我说啊,我删除不就完了嘛。 如果非有人要转载我的,我也没办法了啊,我也没时间去告他对吧,所以如果有所传播,那网易你们去追责这些人嗷。(歪头)
发现任何bug都可以通过github、博客园或者csdn留言给我,联系方式在最后嗷,点我直达。最后,希望所有阴阳师玩家、爱好者都谨慎使用,技术无罪,怀璧其罪。(工作室biss)祝大家都能抽到喜欢的式神。
献给所有为了梦想的 程序员们 / 阴阳师们 ~
@李英俊小朋友 20210110,山东烟台
【20210212补充】因为是仅供学习参考,所以不会打包为.exe格式的嗷,现在不会,以后更不会,违者与我本人无关,请有关部门追究其相关的法律责任。(为什么不呢?都打包成.exe你跟我说你用来学习?学习?学个peach!但是打包的技术是要学习的,懂我的意思叭[暗示])
如果网易也不问我,也不跟我沟通,就让CSDN、博客园、简书、bilibili搞我、删我博客,我告诉你嗷,这是在玩火。这样的话,我一定不会屈服的。(握拳)
使用方法 | Using Method
设计思路 | Design
首先,我想做一个双开刷御魂的脚本。这就需要:识别挑战的位置
所以首先要做的就是:识别整个桌面上挑战的位置,然后点击,就可以开始刷图了对吧。
这个思路也是这个脚本的核心,那就是从桌面上找到目标图片(挑战截图)中心的位置,然后利用鼠标模拟点击,实现各种流程的控制。后面无论是刷御魂也好,刷结界突破也好,带狗粮也是,都是这个思路。
划重点了:
场景识别(通过多个点位识别):都返回True则场景识别返回True
l
:该点颜色与写入颜色一致则返回Truen
:该点颜色与写入颜色不一致则返回True
进行操作(一般一个step只有一个操作):
c
:单点点击m
:多点点击,m_1_2
,点击A后暂停1s,点击B后暂停2sp
:按下r
:释放pause
:暂停
组合step(步骤)为function(功能):
- 一个功能包含多个step
- 每个step多线程分别执行场景识别
- 识别成功后就进行操作
关联其他function(功能):
- 配置connections:
connections=104-105
- 主功能运行时,connections(关联功能)也会运行
- 适用于:关闭协同悬赏、接受同心之兰等
- 配置connections:
function配置举例:
[001@双人御魂(一个电脑)] step1 = 挑战@lc_1 step2 = 队员结算状态1@lc_3 step3 = 队长结算状态1@lc_3 step4 = 队员结算状态2@lc_1 step5 = 队长结算状态2@lc_1 step7 = 队员自动接受@lc_1 step8 = 队长自动邀请@l-m_1_1step6 = 关闭加成@l-l-m_1_1_1[002@斗鸡] step1 = 战@lc_1 step2 = 准备@lc_1 step3 = 胜利@lc_3 step4 = 奖励@lc_2 step5 = 失败@lc_3 step6 = 手动切自动@lc_1 step7 = 拔得头筹@lc_1 step8 = 段位保护的战@lc_1 step9 = 段位保护的战2@lc_1[003@百鬼夜行] step1 = 邀请好友@lc_1-pause_1 step2 = 点击好友@lc_1-pause_1 step3 = 点击进入@n-l-c_1-pause_1 step4 = 选择中间的鬼王@l-c_1-pause_1 step55 = 开始@l-c_1-pause_1 step7 = 10个豆子@l-l-pr-pause_2 step5_u = 不是背景色就砸豆子1@l-nc_1 step8_u = 不是背景色就砸豆子2@l-nc_1 step9_u = 不是背景色就砸豆子3@l-nc_1 step10_u = 不是背景色就砸豆子4@l-nc_1 step11_u = 不是背景色就砸豆子5@l-nc_1 step6 = 点旁边退出@lc_1-pause_1[004@刷图结算专用] step1 = 结算1@lc_3 step2 = 结算2@lc_3 step11 = 结算11@lc_3 step12 = 结算12@lc_3 step3 = 继续探索@lc_1 step41 = 关闭1号经验加倍1@lc_1 step42 = 关闭1号经验加倍2@lc_1 step51 = 关闭2号经验加倍1@lc_1 step52 = 关闭2号经验加倍2@lc_1[005@蓝蛋上13] step1 = 继续育成@lc_1-pause_1 step2 = 确认@lc_1[010@关闭悬赏邀请] step1 = 关闭@l-c_1
界面介绍 | Interface
主界面:
海的那边:
参考配置:
[001@双人御魂(一个电脑)] step1 = 挑战@lc_1 step2 = 队员结算状态1@lc_3 step3 = 队长结算状态1@lc_3 step4 = 队员结算状态2@lc_1 step5 = 队长结算状态2@lc_1 step7 = 队员自动接受@lc_1 step8 = 队长自动邀请@l-m_1_1step6 = 关闭加成@l-l-m_1_1_1
功能:显示functions.ini配置的功能
选择功能后,自由之翼处会出现配置的各个step
- 红色:未配置点位
- 黑色:已配置点位
点位:选择的功能,对应的所有点信息
比如:
step8 = 队长自动邀请@l-m_1_1
就会在点位处显示:队长自动邀请[1]@l 队长自动邀请[2]@m1 队长自动邀请[2]@m2
解释:
- [1]、[2]代表
-
分隔的序号 @
后面代表操作的类型- 总体:该step定义了三个点位(
l
、m1
、m2
),完成识别了一个点的颜色之后(l
),进行 多重点击 操作(m1
、暂停1s、m2
、暂停1s)
如果一个step中所有的点都写入了之后,右侧对应step的名称将变成黑色
- [1]、[2]代表
坐标:鼠标所在位置的坐标和颜色,右边的写入按键显示对应的前景色
运行:选择功能后,点击运行则可执行脚本(注意自由之翼位置,只有黑色的step才可以正常运行)
暂停/继续:字面意思,暂停和继续脚本
写入:将当前的坐标信息写入点位数据中
献出心脏:
- 第一行显示最近操作信息、报错信息、完成信息
- 下两行显示历史信息
自由之翼:
- 功能对应的step名,connections不显示(讲道理connections用的不多,考虑的较少)
- 完整写入点位后,会从红色变成黑色,黑色的step才能正常运行
- 显示当前正在运行的step,背景色变为黄色
菜单:
置顶:字面意思,是否窗口最前
超时检查:字面意思,如果老是进行一个step,一直狂点,就会自动暂停
针对部分需要,就是要狂点的,可以取消该检查,或者在步骤名中加入
u
关键字:step5_u = 不是背景色就砸豆子1@l-nc_1
调整界面:字面意思,调整阴阳师的界面布局(这里我懒得解释了,很复杂),如果是1920*1080的话,按我的配置最好,如果还是想自己捣鼓,指路
configs.ini
自己研究,或者留言告诉我,我有空再详说[windows] # 第n个界面的坐标,单开取第一个 default_width = 521 win1_loc = -10, 0, 300, 521 win2_loc = -10, 700, 300, 521 win3_loc = 710, 0, 300, 521 # 写死结果,如果下面的值不是-1的话,则只用下面的值 # 写死第二个界面的第二个参数 win2_locked_2 = -1 # 写死第三个界面的第一个参数 win3_locked_1 = -1
下面未完成的,就是准备做但是没时间做、或者来不及做了,忽视它们
设置
载入默认配置:字面意思,在
templates
文件夹中有一个默认保存文件.json
,就是指这个,载入就完了。选择用户配置:同上,只不过可以自己选了
重载功能:这个比较复杂,就是说,你现在载入了一个功能对吧,然后你想加点东西啥的,比如新增一个step,那么就要修改
functions.ini
,但是并没有生效啊,那么你就要重新打开,然后全部重新布局点位,是不是很麻烦。所以这个 重载功能 就是:你去修改
functions.ini
之后,然后点这个重载功能,就会发现,新增的step出现了,点位信息也有了,之前保存的step信息也还在,不用重新弄,只需要补充刚刚增加的step点位信息就行了。看不懂就别弄了,或者留言给我。
存为默认配置:跟载入默认配置相对应,没什么好说的。
存为其他文件:跟选择用户配置相对应,没什么好说的。
单项融合:就是当前你选的功能(选了、没选都可以,没选就是默认的functions.ini的所有功能,但是没有点信息),跟一个你选的另一个功能进行合并。
多项融合:单项理解了,多项就简单了,多个功能合并呗(不止一个/两个)。
自动融合:就是你的
templates
文件夹中(不遍历子文件夹哦)所有.json文件融合,基本没啥用,慎用。
融合总结:
- 对上面的融合功能做一个简单的解释,在使用的时候,一般会为了一个功能保存一个
.json
文件,但是保存的时候其他的功能名等信息也是有的,也就是说保存了很多功能,只有你用的那个有信息。切换功能的时候就只能重新导入其他的功能,这样是不是就不是很方便。 - 于是融合就是针对上面这个应用场景定制的三种融合方式,实现多个功能在一起,可以随便切换。(基本用不着,因为我还是喜欢用一个加载一个,看个人叭)
用户手册:字面意思呗,就是该文档
README.md
的html
格式,如果该软件是第一次打开,会自动弹出用户手册。(实际上没必要,因为使用时的计数器一直在增加,我也懒得归零)
操作说明 | Operation
- 见b站视频
- 注意:
- 设计时,尽量设计为:多类场景检测+单类点击事件+暂停事件
- 点击事件的优先顺序:
- 单点点击
- 多点点击
- 两点拖拽
- 暂停时间
快捷键位 | Hotkey
- 约定:小写字母代表
alt+字母
,大写字母代表alt+shift+字母
- 注意:该快捷键是全局高优先级快捷键,意思就是比如你正在微信聊天,想用
alt+C
关闭微信,但是会直接关闭该脚本,而不是微信。 - 懒得写了,自己研究叭
从零开始 | Start Zero
如果不懂编程的话,下面对你来说真的很难,但是没关系,所有的快乐都是努力之后得到的。成功的喜悦会覆盖所有的懊恼和气馁,一起加油叭。(有任何问题,很简单也不要紧,留言告诉我叭,我会在上面补充的。)
下载
python3.78
:官网地址,然后安装啊啥的升级一下pip:
python -m pip install --upgrade pip -i https://pypi.douban.com/simple/
去我的GitHub,下载工程文件,解压。
安装一个特殊的依赖包:在cmd中输入:
pip install pyHook-1.5.1-cp37-cp37m-win_amd64.whl
,注意,这里的pyHook是拖进来的显示的应该是绝对路径,如下图:(pyhook
安装地址)(我在package文件夹中已经放入这个包了,不用你去下了)安装依赖包:
打开文件夹,看到这个
requirements.txt
了没,跟上面安装whl
一样,输入:pip install -r requirements.txt -i https://pypi.douban.com/simple/
,这里的requirements.txt
也是要拖进来的,反正是个绝对路径和相对路径的问题。如果有不懂的,留言,我慢慢补充。(tips:按住shift+右键,可以在当前路径召唤cmd
或者powershell
)(懂编程的人,自己看着下包就好了,我这里有很多跟这个项目无关的包,懒得改了)安装完毕:
项目计划 | Project Plan
版本控制 | Version
【v0.1】老张手里还有,这个版本我自己都没有了,界面过于挫
【v0.2】界面优化后的版本,增加了流程导入导出功能,可是只是针对单独的功能可以使用,盖亚~
【v0.3】全(chuan)新的版本
- 识别页面多状态(新增l的非状态,n)后,点击
- 界面gui优化,好看太多了
- 配置文件优化,支持各种方式的配置文件融合
- 新增测试开关,目前关联开关的功能包括:
- UpdateConfigureTools中的软件打开次数计数,打开测试时重置计数器为0
计划列表 | Todo
逆序显示,最新的思路在最上面。
优化快捷键映射,尽量不使用system_hotkey的包
增加templates显示界面
- 在右侧(或其他处),显示已有模板,双击导入模板
- 【或者】在菜单处,增加已有模板的下拉菜单
优化拖动流程,拖动的时候,不进行偏移点击
新增延时点击功能
- 第一次检测到的时候开始计时,N秒之后如果再检测到该点则点击
- 格式:
延时@l-d_N
新增倒计时功能
- 时间到了之后自动暂停
- 倒计时与l和n等价,即达到某个条件/场景,触发什么操作
保存鼠标位置
在点击之前保存现有位置,点击完成后回来(也要有随机值)
跳过检查
- 新增点标记
- 如果点的标记为ignore,则跳过检查,即该点可以没有值,没有值的时候,不进行操作。
增加补充点位功能
- 发现新的状态后,直接在当前状态补充点位信息
- 需要有个输入框,输入新增流程名
- [20210314] 直接修改functions.ini,然后保存,利用【重载功能】实现点位的添加
- 定义点位补充的时间,放到类中 没必要
- 所以一个功能中每个流程点的信息,必须封装为一个类,有创建时间,修改时间啊啥的(数据库?) 已实现
- 注意: 检测到状态之后,不一定是点一下,可能是点多下,比如关闭双倍御魂,所以功能也要封装,一个功能可能要包含其他功能 已实现
添加时间戳、预计运行时间、剩余体力检测
预计运行时间:每次战斗时间取均值
增加体力获取功能
从有体力的界面中检测当前体力还剩多少,这样就可以自动计算脚本可以刷多久了
完成列表 | Finished
正序显示,最新完成的功能在最下面。
防检测处理:20210117
实现鼠标点击随机偏移,鼠标连点随机时间间隔
优化配置文件:20210121
自动读取功能配置文件中的流程信息(
functions.ini
)调整窗口大小,在界面输入值进行调整,点击后更新大小:20210123
第一个窗口:
-10,0,300,width
第二个窗口:
-10,width-8,300,width
第三个窗口:
width+2,0,300,width
界面太长,需要重新布局:20210122
调试前:
调试后:
设置界面是否置顶的选项:20210123
新增log日志功能,自动清空7天前的日志:20210123
优化输出功能:20210124
- 建立信息输出队列,新建一个类,专门处理。
- 输出放两个label,一个用来存最新,一个用来存历史
实现保存到文件功能:20210124
给用户写死第二个界面纵坐标和第三个位置横坐标的配置参数:20210130
优化界面逻辑:20210208
打开界面后,获取default.json的配置文件,如果找不到配置文件,则将数据进行初始化。
现在是打开界面之后,直接根据funtion.ini初始化,如果需要用自己的,直接导入就行。
初始化的时候(找不到默认配置文件),将所有信息封装为[function],然后初始化
优化配置文件:20210208
新增非逻辑识别,即根据标记检测该点,检测对应才操作,还是检测不对应就操作
可以配置多个流程
全空的流程无法运行
封装流程,保存多个流程
流程信息跟配置文件关联,一一对应
配置信息json构造设想,相关类放在structure文件夹中
[# 多个function{"func_name": func_name,"func_code": func_code,# 是否展示该func"func_shown": func_shown,# 步骤分两种,一种是常规步骤"steps": [# 多个Step{"step_name": step_name,"points": [# 每个步骤会有多个点位信息Point{"point_name": point_name,"point_type": point_type,"point_location": point_location,"point_color": point_color,# 0代表不点击"click_times": click_times,}],}]# 另一种是关联步骤"connections": [c1, c2, c3]} ]
如果导入流程,重名的取导入的,最新的要最新的,没有流程取旧的,配置信息全空。
讲道理,没必要,如果需要新功能,那就直接修改配置文件就行。如果有需求,以后再说。
优化点的坐标颜色信息:20210208
配置文件优化,增加识别目标点颜色后,可以点击其他位置的功能,现在是检验到目标点之后就要点击目标点。
- 封装成一个类
- 该类实现:根据多个点的颜色 定位状态
- 然后点击某个点
- 所以,这就需要优化每个流程,每个流程块要重复录入多个点信息,来判断是否处于某种状态,如果是则点击。这样用多点信息来定义一个状态,增加了准确性。
- pro_color:状态颜色点位
- pro_click:状态颜色对应后,点击的点位
- pro_cc:既是颜色点位,又是识别后的点击点位
实现暂停功能:20210208
第一次打开软件时弹框警告,显示以下信息:20210208
致软件使用者:本软件作者:李英俊小朋友。(给点尊重,认真读一下,就弹这一次)1. 本软件不是无脑使用的软件,有学习门槛,不是基于图片识别而是基于自己想法的软件,不保证以后不使用图片识别、人工智能等技术。本软件注重于学习编程,而不是鼓励大家去用脚本来打破游戏平衡,降低自己和他人的游戏体验。2. 本软件仅供学习参考,不允许用于任何商业用途。使用该脚本造成任何后果与本人无关。3. 本软件不收取任何费用,如果你是付钱获取的,那么你可真的憨批。4. 发现任何bug可以通过github或者csdn留言给我。https://github.com/TinyHandsome/FxxkOnmyoji5. 献给所有为了梦想的人们/阴阳师们。
使用新的环境(虚拟):20210212
更新requirements.txt
同一种情况(点击一处多次),算作超时,自动暂停脚本。:20210217
10次/10秒,也就是,10秒中之内触发了十次以上算作超时
这里10次/10秒也太慢了,因为现在设置的检查间隔是1-2秒,所以这个频率不对,改为了5次/10秒 ,这样点击5次的时间是5s-10s,不会超过10s,所以检查:
- 如果点击5次的时间超过了10秒,即正在正常运行,没问题
- 如果小于10秒,则是一个流程在一直点,所以算作超时
比如体力刷完了,次数到上限了,就会一直点屏幕,但是刷不了,避免这样的情况出现。
新建功能,融合载入配置:20210223
同名配置(func_name):取交集;导入没有的,采用初始化的,并需要更新初始化的数据;初始化没有的,删除导入的数据
更新后,需要配置的流程名-点名,给出提示
不同名配置(func_name):加上初始化的功能信息
运行时,若功能多出流程,或者流程中点信息不全,给出警报
修改配置融合的逻辑:20210224
- 从 同名function替换 ,改为 同名function的同名step替换
- 需要注意的是,如果step中部分点或者没有点是有效的,则不进行替换(这与function有效性检测逻辑不同,function是只要不是所有点无效,就能运行)
新增上次打开功能,放在update_config.ini中:20210225
- 每次导入配置的时候,根据是否有值,自动定位功能
- 没有值,或者功能列表中没有对应的值,则设置第一个
- 暂时先做保存最后打开的功能叭,因为有了功能文件合并之后,按不同文件名存储对应的最后打开的功能没有什么意义
logs文件夹自动创建:20210227
修改funtions.ini配置逻辑:20210308
现在直接在section中命名即可
Step步骤参数重制:20210308
也就是说,-后面跟操作,比如说点击,比如某个其他的step,前面只有识别,后面只有操作。这里不大改,只是添加一项流程操作。
- 各个点信息用
-
连接 - 一个step中只能有一个c(点击)或m(流程,多位置点击)事件
- l和n代表识别的点位
step1 = 名字@l-n-c_1 step2 = 名字@l-n-m_1_1_1 step3 = 名字@lc_1
- 各个点信息用
新建菜单功能:20210308
优化部分按钮位置,移到菜单中去
界面更新:20210310
将部分功能放入菜单栏中
过去界面
更新后界面
绑定文件和功能名,实现导入文件时,自动指定功能名:20210310
- 根据文件名绑定该文件最后运行的功能
- 若没有,则选默认最后运行的功能
- 若没有找到该功能名,选第一个功能
修正function实现方式为:20210310
- 场景识别
- 识别后操作:点击流程、滚动后点击等
- 暂时不搞滚动了,滚动之后再实现
修改步骤逻辑:20210310
- 步骤变量为step的是线程,识别到了就处理
- 步骤变量为proc的是步骤,识别到了就执行,需要关联到对应的step
要求对应的step里没有点击事件,只有识别事件 - 现在这个问题通过新增m点击模式来解决步骤的问题,即流水线点击
在最右侧建一个Text,每一行显示步骤:20210311
- 步骤没配置完成时,fg=red
- 执行到步骤的时候,点亮该步骤,bg=yellow
- 添加滚动条,显示不全的,通过滚动条查看(没必要)
- 步骤超过边界的时候,定义滚动条到步骤位置(暂时没必要)
更换功能或载入配置的时候,停止所有正在运行的线程:20210311
最新界面更新,加入step状态显示:20210311
- 普通:黑色fg
- 未配置:红色fg
- 正在运行:黄色bg
优化update_config.ini的执行逻辑:20210312
- 运行时检测文件是否存在,不在就创建
- 运行时检测section是否都存在,不在就创建
- 运行时检测option是否都存在,不在就创建
增加重载功能:20210314
- 无论是载入还是新的写入,更新了function.ini后,界面中加入更新的点信息
- 实现通过修改配置文件的方式,实时添加功能的step信息
对于需要连续点击的取消超时检测:20210321
- 对于百鬼夜行功能的优化
- 步骤key后加入_u实现不检测,例:
step3_u = ...
新增运行控制:20210321
- 当一个step在运行的时候,其他的step不能运行
优化重载功能:20210327
- 除了新增step,还需要更新step中新增的点
流程中增加时间控制:20210327
- 形式:
暂停@pause_2
- 单位:2秒
- 形式:
实现鼠标的拖动:20210327
- 形式:
拖动@l-pr
p
按下的点,r
弹起的点
- 形式:
优化m流程:20210327
将数字的含义改为暂停时间而不是点击次数
优化功能开始流程:20210410
运行新的功能时:
- 将停止所有的其他功能
- 并清空功能列表
- 暂停flag重置为False
现有问题 | Problems
- 现有问题:
无法进行图像识别,需要人工加点
调整阴阳师位置的时候,可能出现异常,不准确,忽大忽小
这是因为,阴阳师会自动调整比例,但是设置的时候,长和宽都要设置,所以造成缩放和移动的时候会出现:一会儿按长调整大小,一会儿按宽调整大小 的情况。
如果存在快捷键冲突的情况,比如微信的截图快捷键是
ALT + A
,会导致脚本的全局快捷键映射出错,从而所有的快捷键都失效。如果存在快捷键不能用的情况,请注意查看是否存在快捷键冲突。
问题跟进:
win32gui.MoveWindow
拒绝访问的情况:这是因为你的电脑中阴阳师窗口的权限比代码的权限高,参考链接,建议直接用cmd的管理员权限运行:- 先进入cmd的管理员打开
- cd进入脚本的根目录
python tk_app.pyw
- 关于设置
python.exe
或者pythonw.exe
兼容性-以管理员身份运行后,各种报错问题- 基本报错有:双击
.pyw
结尾的会报错,pip
也会报错。 - 这是因为windows无法加载UAC表单来升级特权,参考链接
- 基本报错有:双击
- ☁️ 我的CSDN:https://blog.csdn.net/qq_21579045
- ❄️ 我的博客园:https://www.cnblogs.com/lyjun/
- ☀️ 我的Github:https://github.com/TinyHandsome
-
我用python成为一名合格的阴阳师相关推荐
- 一名合格的运维工程师的历练之路
怎么样才能成为一名合格的运维工程师?或者说一名合格的运维工程师到底是怎么样的?还有我现在到底算不算是一名合格的运维工程师呢? 我想这些问题是每个运维工程师心里都存在的共性问题.那么今天我就为各位运维工 ...
- 如何成为一名合格的自动驾驶工程师
今天跟大家分享一篇来自 Felix Friedmann 的技术博客,Felix 目前在奥迪的全资自动驾驶公司 AID感知组从事软件开发工作.我自己在锡根读完书找自动驾驶软件开发岗位工作的时候偶然读到了 ...
- 如何成为一名合格的数据科学家?这5个要点一定要掌握
导读:大数据时代方兴未艾,人工智能时代又呼啸而至.在人工智能时代,将数据的价值发挥出来的要素有资金.数据.平台.技术.人员等.数据科学家是人员要素中最为重要的部分,是需要企业非常重视的. 之前的文章& ...
- mongodb的数据怎么导入到hdfs上_如何成为一名合格的数据架构师?
"本文作者:奇点云高级数据架构专家 天启,奇点云高级数据架构专家,原海尔集团数据架构师.原阿里巴巴政务团队数据架构师.精通数据仓库建模理论及数据开发技术,具备零售.政务.医药.制造等多个领域 ...
- 成为一名合格的算法工程师需要掌握哪些技能?
来自公众号:大数据挖掘DT数据分析 本文共7500字,建议阅读10+分钟. 本文将算法工程师所需的技能进行拆分,带你了解掌握哪些技能才能算是一名合格的算法工程师. 成为一名合格的开发工程师不是一件简单 ...
- 如何成为一名合格的Apache项目Committer,参与Apache开源贡献的正确姿势
近日,孙金城老师在 "Open Source Promotion Plan - Summer 2020" 开源软件供应链点亮计划做了<如何成为一名合格的Apache项目Com ...
- 如何成为一名合格的数据科学家(IT专家网)
[推荐原因]数据科学集合了计算机.数学.统计等领域的知识技能并应用于某个特定行业领域的业务分析,随着互联网时代的飞速发展,必将出现许多新的理论与方法.看看别人是怎么定义数据科学及数据科学家的.我比较赞 ...
- 如何成为一名合格的数据架构师?
"本文作者:奇点云高级数据架构专家 天启,奇点云高级数据架构专家,原海尔集团数据架构师.原阿里巴巴政务团队数据架构师.精通数据仓库建模理论及数据开发技术,具备零售.政务.医药.制造等多个领域 ...
- 【软件测试】一名合格成功的测试工程师及职业发展提升......
目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...
最新文章
- geotools的dotnet版本
- Linux下面 多线程死锁问题的调试
- ApacheCN 数据科学译文集 20210313 更新
- C语言结构体对齐[转]
- mac 下php,Mac 下 PHP
- IplImage 封装释放
- CentOS 7.6虚拟机ping: www.baidu.com: Name or service not known
- 江门android培训,基于selenium模块的江门市干部培训网络学院自动选课脚本
- 2345手机助手 v1.2 官方版
- PDF可以修改吗,如何在PDF上修改文字
- 许晓斌_Maven实战(四)——基于Maven的持续集成实践
- 微信小程序新版本提示更新
- ​mybatis collection解析以及和association的区别
- 无法设置默认打开方式怎么办
- 赵神牛的游戏(过程分析与结果分析)
- 网页转exe的三种方法
- python 视频加字幕_【小技巧】用Python给你的视频添加字幕
- Node后台邮件服务器
- 数仓(四):数据建模:如何构建主题域/面向主题的建模
- C/C++ 小型餐馆订餐管理系统
热门文章
- 50ETF期权历史数据获取
- 用python输出12和8的最大公_32个 Python 实用函数
- TS:解决win10的wsl2下Ubuntu系统里中文乱码问题(已解决)-2022.3.14
- 推荐算法的介绍以及实现一个简单的推荐算法(python实现协同过滤)
- “肮脏的”IT工作排行榜
- c语言中strtok函数详解,手把手教你自主实现字符串切割函数,内附详细代码。
- Iphone 手写Bug问题解决
- python fillna_python – fillna对面的熊猫(0)
- python翻页爬豆瓣影评_荐爬虫7_《隐秘的角落》豆瓣影评爬取及可视化分析
- 实用:python中字符串重复统计
- 一名合格的运维工程师的历练之路