CSS3渐变属性详解

渐变属性 线性渐变 概念:线性渐变,指的是在一条直线上进行的渐变。在线性渐变过程中,起始颜色会沿着一条直线按顺序过渡到结束颜色 语法: background:linear-gradient(渐变角度,开始颜色,结束颜色); 渐变角度 线性渐变的“渐变角度”取值有两种: 一种是使用角度(单位为deg) 另一种是使用关键字。 关键字取值 属性值对应角度说明to top0deg从下到上to bottom180deg从上到下(默认值)to left270deg从右到左to right90deg从左到右to top left无从右下角到左上角(斜对角)to top right无从左下角到右上角(斜对角) 注意:未设置渐变角度时,会默认为“180deg”,等同于“to bottom”。 方向图表 颜色值 “开始颜色”表示起始颜色,“结束颜色”顾名思义表示最后一个颜色值。 开始颜色和结束颜色之间可以添加多个颜色值,各颜色值之间用英文逗号“,”隔开 实例 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>线性渐变</title> <style> .main{ width:600px; display:flex; } div{ width:100px; height:100px; margin-left:20px; } .demo{ background:linear-gradient(red,yellow); } .demo1{ background:linear-gradient(red 70%,yellow); } .demo2{ background:linear-gradient(to right,red 70%,yellow); } .demo3{ background:linear-gradient(to right bottom,red,yellow); } .demo4{ background:linear-gradient(30deg,red,yellow); } .demo5{ background:linear-gradient(0deg,red,yellow); } </style> </head> <body> <div class="

python gradio 笔记

def main(): global tmpdir with gr.Blocks() as demo: with gr.Row(): with tempfile.TemporaryDirectory(dir='./tmp/') as tmpdir: # 定义输入和输出 inputs = gr.components.File(label="上传文件", file_types=["xlsx"]) outputs = gr.components.File(label="下载文件", file_types=["xlsx"]) with gr.Row(): gen_button = gr.Button("计算体侧成绩") with gr.Row(): with gr.Accordion("demo案例"): gr.Markdown("<div align='center'> <a href='https://pan.quark.cn/s/16b6619ea924'> 下载demo文件 </a> </div>") gen_button.click(generate_file, inputs=inputs, outputs=outputs) # 启动应用程序 demo.launch(share=True) if __name__ == "__main__": main() graido 布局 从零开始的AGI开发:Gradio入门指南 - 知乎 文件上传,下载 使用gradio库的File模块实现文件上传和生成可下载文件_gradio 文件下载-CSDN博客 官方文档 Quickstart

创业清华人丨 乔嘉林:破茧成蝶,时序数据库赋能工业物联网

创业清华人 走进清华科创中坚人物 记录校友创新创业足迹 传递清华创业精神力量 清华校友三创大赛 以创业校友影响力人物为对象 开展系列人物访谈 聆听他们的奋斗经历 感受他们的精神风貌 窥见清华校友身上独有的 创业特质 乔嘉林 清华大学软件学院校友 几年之前,Apache IoTDB(物联网数据库)对于大多数工业企业来说,还是一个陌生的概念。天谋科技作为国内时序数据库商业化的探索者,以其高吞吐、高压缩、高可用的时序数据库产品,在几年之内帮助工业用户解决了数据“存、查、用”的难题。 在天谋科技 CTO 乔嘉林身上,展现出一种脚踏实地、行胜于言的特质。对于创业中的种种艰辛,他总是云淡风轻地带过;而对于 Apache IoTDB 的成长,他谈起来却如数家珍、深入浅出。正是这样的团队特质,促使天谋科技迈出坚实的每一步,时刻走在物联网数据库发展的最前沿。 01 让时间发声,让用户发声 IoTDB(彼时还是 TsFile) 2017 年 4 月 1 日发布的第一个 0.1.0 版本 天谋科技的前身可以回溯到清华大学软件学院,当时王建民教授带领团队参与国家 863 计划,深入研究工业大数据管理。2015 年,项目课题组自主研发了 TsFile 技术,提供时序数据的标准文件存储。2018 年,IoTDB 项目成为了 Apache 的一个开源孵化器项目,吸引了国内外很多数据库研发者、应用者的关注;短短两年后,Apache IoTDB 即成为 Apache 的顶级项目。2021 年,天谋科技成立,Apache IoTDB 的发展正式驶入快车道。 在乔嘉林眼里,时间序列数据就像工业设备的心电图。“工业信息化第一步就是要在设备上加装传感器,把数据采集起来,这些数据就形成了一条随时间变化的曲线。”实时的监控,让企业能够探知和管理设备的状态,及时发现潜在的问题。管理这样的时序数据,难点在于适应数据量的不断增长。一个应用可能刚开始只接入几十台设备进行初步试点,验证过后会随着信息化程度的加深和监测需求的变化,设备上安装的传感器个数会逐渐增多。比如观察风机的运行,从只安装采集风速的风力传感器,到加装叶片的转速传感器,其数据量便可能骤然加大,从百万量级,到千万量级,甚至到亿级,这时就需要一个更加专业的数据库——时序数据库。 时序数据库能够降低 90% 的存储成本,数据存储的投入成本随之显著降低。同时企业可以对采集到的数据进行快速查询计算,相比传统技术数据量大了之后查询能达到数分钟,时序数据库能秒级返回结果,大幅加速时序数据的价值挖掘。如果说时序数据是一座矿山,时序数据库就是钻石级挖掘机。天谋科技 IoTDB 产品的写入速度、查询速度均能达到传统数据库的五到十倍,存储空间亦有十倍左右的提升。 为上海地铁列车存储“心电图”的,正是天谋科技的 IoTDB 产品。上海地铁的运维管理系统原本采用了传统的开源数据库,维持着每月高达 15TB 的数据增量。数十个数据表组成的复杂集群有如一个笨重的巨人,每秒一个点的数据采集频率已经接近它写入能力的极限,查询起来也面临诸多不便。而且,如果其中任何一个节点出现问题,其诊断将成为一个庞大的难题。然而,使用能够支持任意多测点的 IoTDB,每个月的数据增量将缩减至 1TB,存储成本大大降低。性能上,每 200 毫秒采集一个点成为可能,更密集的数据采集帮助企业更全面地为设备把脉,实现状态监测、智能控制、异常告警等应用效果。 成立刚刚两年有余的天谋科技,已经受到了多家工业企业的青睐,其物联网原生时序数据库管理系统已在中国中车、中国核电、宝武钢铁、中冶赛迪、国家电网、国家气象局、中国商飞、中航成飞等企业广泛应用,致力于解决企业组建物联网大数据平台时所遇到的数据体量大、采样频率高、数据乱序到达、分析需求多、存储与运维成本高等多种问题。谈到与用户建立合作关系的过程,乔嘉林坦言:“用户不会根据一个产品是不是顶级项目,获得过什么奖来进行选择,而是会对软件进行实地测试,满足需求才会决定使用。”让用户评估和发声的平台,正是天谋科技核心团队在 Apache 基金会指导下建立的开源社区,其中也囊括了不少互联网公司时序数据库部门的开发人员。社区的很多贡献者本身就是用户,Apache 顶级项目的头衔可能是促使他们来尝试的原因,而真正经过验证和测试之后,大多数用户和企业才会投入研发力量全时参与到社区中。社区的工作模式也从一个组织主导,变成社区共建,整个社区就像一个大的组织。“大家平时会进行很紧密的讨论和分享。长期来看,社区优势是一个基础软件发展的长久动力。”

让企业的招投标文件、生产工艺、流程配方、研发成果、公司计划、员工信息、客户信息等核心数据更安全。

PC端访问地址1:www.drhchina.com PC端访问地址2: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 全方位立体式防护 让数据泄密无处遁形 信息防泄漏是一项系统的整体部署工程,加密+监控已成为多数企事业单位信息防泄密的共同选择 全面的加密模式,有效防止数据泄密 透明无感知加密:对机密数据自动加密,对用户透明。不影响用户使用习惯;半透明加密:编辑保存加密文件后仍是文件加密,而编辑保存非加密文件后则不加密;只读加密:无需做任何进程策略配置,即可打开加密文件,且可同时发开查看非加密文件。轻松切换,提高工作效率,降低使用难度。 精确的桌面管理与上网行为监控 依据进程设置打印策略,灵活订制水印内容;精确的上网行为监控,禁止或允许浏览特定网页。同时按照设定的策略,智能审核文件名及文件大小,禁止随意上传文件;方便快捷地远程管理机制,辅助管理员通过远程桌面、远程屏幕、系统运维等方式来进行远程终端控制。有效的节约时间成本,以提高工作效率。 细粒度的端口与外设管理机制 控制U盘、移动硬盘、数码相机、MP3以及其他USB存储设备的读写;可管控USB端口以及USB存储设备,还可控制其他的外围设备;可以禁止员工私自安装新硬件等,同时还可以对存储设备进行注册,真正实现我的U盘唯我用,我的U口为我开。 事前主动防御,事中全程控制,事后有据可查 提供完整的日志管理,可以对加密文档的所有操作进行详尽的日志审计,并对审计日志提供查询、导出、备份及导出数据报表等支持;对日常办公中文档的复制、移动、重命名等涉密操作过程做详尽记录,以便于监督检查和事后追溯;提供详尽的加密文件备份功能,有效避免了文件因版本更新或是意外破坏造成的风险,大大保护了企业机密数据的完整性和安全性。 移动端访问地址: http://tinyurl.com/mtzxbpcu 优异的产品优势 助企业防患于未然 聚焦客户需求 注重技术积累,在保证企业数据安全的同时,在易用性、兼容性和稳定性等方面,我们仍然关注与重视 高度的安全性与稳定性 灵活全面的加密模式、严苛的防冒充控制技术、细粒度的端口与外设管理、文件级别的权限控制、智能化的日志审计与报表分析为企业构建强有力的安全防护屏障;从软件架构开始,每一个应用场景,每一个技术细节我们都为您考虑周全,在安全的同时也要保证系统的稳定性和兼容性。 广泛地格式支持和严格的外发策略 基于进程加密,可随时将需要加密的应用进程添加至列表,广泛支持office、PDF、cad、soliderworks、PDM、源代码等任意格式类型;多系统跨平台支持,如:Android、IOS、苹果电脑Mac、PC(Xp\Server 2003\Vista\Win7\Win10 )的32位与64位;通过加密文件外发与邮件白名单外发两种方式,对外发的文件进行权限设定,让外发的机密文件可控制、可追溯,防止外发的文件在互联网二次传播。 优异的性能与周全的灾备机制 系统采用驱动层加密,从最底层过滤文件,在做到安全无漏洞的前提下,同时会缓冲所用文件,当再次打开加密文件时,调用和运行的速度快,占用资源小;完善而周全的灾备机制,贴合用户各种应用场景,以保证状况突发时,仍能从容应对。 助企业防患于未然 迅软提供的低成本、全方位、立体式的数据泄露防护解决方案,降低泄密损失,防患于未然,提升企业核心竞争力,让您的企业在日益激烈的市场竞争中处于一定地位。

920. 最优乘车(sstream使用,最短路)

920. 最优乘车 - AcWing题库 H 城是一个旅游胜地,每年都有成千上万的人前来观光。 为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴士线路。 每条单程巴士线路从某个巴士站出发,依次途经若干个巴士站,最终到达终点巴士站。 一名旅客最近到 H 城旅游,他很想去 S 公园游玩,但如果从他所在的饭店没有一路巴士可以直接到达 S 公园,则他可能要先乘某一路巴士坐几站,再下来换乘同一站台的另一路巴士,这样换乘几次后到达 S 公园。 现在用整数 1,2,…N1 给 H 城的所有的巴士站编号,约定这名旅客所在饭店的巴士站编号为 11,S 公园巴士站的编号为 N。 写一个程序,帮助这名旅客寻找一个最优乘车方案,使他在从饭店乘车到 S 公园的过程中换乘的次数最少。 输入格式 第一行有两个数字 M 和 N,表示开通了 M 条单程巴士线路,总共有 N 个车站。 从第二行到第 M+1 行依次给出了第 1 条到第 M 条巴士线路的信息,其中第 i+1 行给出的是第 i 条巴士线路的信息,从左至右按运行顺序依次给出了该线路上的所有站号,相邻两个站号之间用一个空格隔开。 输出格式 共一行,如果无法乘巴士从饭店到达 S 公园,则输出 NO,否则输出最少换乘次数,换乘次数为 0 表示不需换车即可到达。 数据范围 1≤M≤100, 2≤N≤500 输入样例: 3 7 6 7 4 7 3 6 2 1 3 5 输出样例: 2 解析: 这道题的难点在于如何建图,这里提供一种建图的方式:

装饰器的作用,以及给装饰器添加参数

一.装饰器的作用 装饰器可用于修改或拓展函数或方法,通常用于在不修改原始函数代码的情况下,添加额外的功能、行为或逻辑。常见用途有: 1.代码复用:装饰器可以定义一些通用的功能,并将其应用于多个函数,从而实现代码的复用。 2.日志记录:用装饰器来记录函数的调用时间、参数和返回值,以便进行调试和性能分析。 3.权限检查:用于检查用户是否有足够的权限进行某个操作,从而进行访问控制。 4.性能优化:装饰器可用于缓存函数的结果,避免重复计算,提高程序性能。 5.异常处理:装饰器可用于捕获函数内部的异常,并进行相应处理。 6.参数验证:用于验证函数的输入参数是否符合预期,从而提高代码的鲁棒性。 7.缓存:装饰器可用于实现缓存机制,将函数的结果缓存起来,提高程序的运行效率。 示例:记录函数的执行时间 import time def time_decorator(func): def wrapper(*args, **kwargs): start_time = time.time() result = func(*args, **kwargs) end_time = time.time() print(f"function {func.__name__} took {end_time - start_time:.4f} seconds to execute.") return result return wrapper @time_decorator def example_func(): time.sleep(3) #调用被装饰的函数 example_func() 在这里使用语法糖@time_decorator等价于: def example_func() time.sleep(2) example_func = time_decorator(example_func) example_func() 注意:多个装饰器可以同时用在一个函数上: @add @square def func(): ... 在这里先调用square,后调用add 二.如何给装饰器传递参数 1.装饰器工厂函数:创建一个装饰器工厂函数,该工厂函数接收参数并返回一个真正的装饰器函数 def decorator_factory(param): def decorator(func): def wrapper(*args, **kwargs): print(f"

大创项目推荐 深度学习图像风格迁移

文章目录 0 前言1 VGG网络2 风格迁移3 内容损失4 风格损失5 主代码实现6 迁移模型实现7 效果展示8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习图像风格迁移 - opencv python 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 图片风格迁移指的是将一个图片的风格转换到另一个图片中,如图所示: 原图片经过一系列的特征变换,具有了新的纹理特征,这就叫做风格迁移。 1 VGG网络 在实现风格迁移之前,需要先简单了解一下VGG网络(由于VGG网络不断使用卷积提取特征的网络结构和准确的图像识别效率,在这里我们使用VGG网络来进行图像的风格迁移)。 如上图所示,从A- E的每一列都表示了VGG网络的结构原理,其分别为:VGG-11,VGG-13,VGG-16,VGG-19,如下图,一副图片经过VGG-19网络结构可以最后得到一个分类结构。 2 风格迁移 对一副图像进行风格迁移,需要清楚的有两点。 生成的图像需要具有原图片的内容特征生成的图像需要具有风格图片的纹理特征 根据这两点,可以确定,要想实现风格迁移,需要有两个loss值: 一个是生成图片的内容特征与原图的内容特征的loss,另一个是生成图片的纹理特征与风格图片的纹理特征的loss。 而对一张图片进行不同的特征(内容特征和纹理特征)提取,只需要使用不同的卷积结构进行训练即可以得到。这时我们需要用到两个神经网络。 再回到VGG网络上,VGG网络不断使用卷积层来提取特征,利用特征将物品进行分类,所以该网络中提取内容和纹理特征的参数都可以进行迁移使用。故需要将生成的图片经过VGG网络的特征提取,再分别针对内容和纹理进行特征的loss计算。 如图,假设初始化图像x(Input image)是一张随机图片,我们经过fw(image Transform Net)网络进行生成,生成图片y。 此时y需要和风格图片ys进行特征的计算得到一个loss_style,与内容图片yc进行特征的计算得到一个loss_content,假设loss=loss_style+loss_content,便可以对fw的网络参数进行训练。 现在就可以看网上很常见的一张图片了: 相较于我画的第一张图,这即对VGG内的loss求值过程进行了细化。 细化的结果可以分为两个方面: (1)内容损失(2)风格损失 3 内容损失 由于上图中使用的模型是VGG-16,那么即相当于在VGG-16的relu3-3处,对两张图片求得的特征进行计算求损失,计算的函数如下: 简言之,假设yc求得的特征矩阵是φ(y),生成图片求得的特征矩阵为φ(y^),且c=φ.channel,w=φ.weight,h=φ.height,则有: 代码实现: ​ def content_loss(content_img, rand_img): content_layers = [('relu3_3', 1.0)] content_loss = 0.0 # 逐个取出衡量内容损失的vgg层名称及对应权重 for layer_name, weight in content_layers: # 计算特征矩阵 p = get_vgg(content_img, layer_name) x = get_vgg(rand_img, layer_name) # 长x宽xchannel M = p.

python程序设计期末大作业,python大作业代码100行

本篇文章给大家谈谈python期末大作业代码200行带批注,以及python程序设计期末大作业,希望对各位有所帮助,不要忘了收藏本站喔。 【python程序设计】——期末大作业😎 前言🙌 一、所用技术:二、 系统设计三、 系统实现 3.1 核心功能代码实现:3.2 演示结果展示总结撒花💞 😎博客昵称:博客小梦 😊最喜欢的座右铭:全神贯注的上吧!!! 😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主! 😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘 前言🙌 哈喽各位友友们😊,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!😘我仅已此文,手把手带领大家用python实现学生信息管理系统~ 都是精华内容,可不要错过哟!!!😍😍😍 一、所用技术: 所用技术Python是一种高级、解释型、面向对象、动态数据类型的编程语言。现广泛运用于Web开发、运维自动化、测试自动化及数据挖掘等多个行业和领域怎么用python画圆弧。Python语言有很大的优势:比Java、C++简单更易于使用;比PHP易懂易学并且用途更广;比Perl更简洁的语法、更简单的设计,更具可读性、更易于维护,有助于减少Bug。但它的性能不如Java、C、C++这类编译性语言强大。因此本项目开发选用Python语言编写。 二、 系统设计 根据系统分析,画出系统功能模块结构图: 三、 系统实现 3.1 核心功能代码实现: (1)增加学生信息功能的代码实现: def insert(): print('[新增学生] 开始!') studentId = input('请输入学生的学号:') name = input('请输入学生的姓名:') gender = input('请输入学生的性别:') if gender not in ('男', '女'): print('性别输入的内容不符合要求, 新增失败!') return className = input('请输入学生的班级:') # 使用一个字典把上述的信息给聚合起来. student = { 'studentId': studentId, 'name': name, 'gender': gender, 'className': className } global students students.append(student) # 增加保存操作 save() print('[新增学生] 完毕!

Typora更换主题

相信很多小伙伴已经成功安装了typora的1.7.6版本的,不会的可以查看我的另一个博客 typora1.7.6的安装方法 但是如何让其界面更加美观好看呢? typora主题获取的链接: https://theme.typoraio.cn/ 点击进入就可以看到很多好看的主题设计 甚至还有技术文档 我们可以随便选择一个主题 其中包含对主题的介绍,翻到最下方会有提示下载的链接 注意,这里给的是Github 为了加快速度,不得不使用谷歌进行科学上网的方法 科学上网的方法不过多赘述,相信大家都会 打开后,点击code-Download ZIP 解压后,获得5个文件,将他们复制 打开typora 文件-偏好设置 外观-打开主题文件夹 将文件粘贴至这里的文件夹中 重启typora 打开主题-选择Happysimple主题 就可以使用这个主题了,其他主题操作类似。欢迎大家有问题,评论区打出。

python学完之后可以做什么,学完python能做什么工作

大家好,小编来为大家解答以下问题,python学完可以做哪些工作,学完python后能做什么工作,今天让我们一起来看看吧! 每个程序员都有自己主要的开发语言,并且都认为自己的语言是最好的,懂的都懂~~ 我的主要开发语言是Python,Python在我们编程圈里呢,是非常流行。 最近两年甚至火出了编程圈,越来越多不是程序员的朋友也了解到Python这个东西,学了Python到底能干什么?能找到什么工作?哪些方向是适合小白学习快速找到工作的? 那今天我就给大家分享一下Python的7大就业方向python艺术作品。 ​1、后端开发 第一个是Python后端开发,那后端开发呢,主要是做一些数据的计算和存储。 举个例子,大家现在正在看我的文章,你可以给视频点个赞或者点个收藏,那当你进行点击之后呢,我们的后端就会收到你点击的这样一个信号,它会对我们的点赞量进行加一,然后呢,把它保存到数据库里,这样当其他用户再点进我这个视频的时候呢,就会看到点赞量的变化了。 ​2、爬虫 第二个方向是爬虫,那我相信大多数第一次接触Python的朋友都是接触爬虫,学习爬虫的作用呢,主要是从网上获取数据, 比如说像我们常用的天眼查,企查查,他们主要就是用用爬。来实现的,从网上获取大量的企业数据,然后展示在一个页面上给到用户。 ​3、自动化运维 第三个方向是Python自动化运维,像我们打游戏,浏览的网站,他们都是运行在服务器上的,有些大型网站可能背后有成千上万的服务器,那服务器的你可以理解成一台电脑,那它也会有死机,卡顿,开关机等等操作。那如何能同时维护成千上万台服务器的状态呢?我们就可以写一些Python脚本来完成相应的工作。 ​4、自动化测试 第四个方向是自动化测试,那测试的主要工作是检测游戏的性能,测试软件的特殊功能,或者是模拟用户大量的点击,比如说双11的时候我们能不能抢到订单。所以说用Python来进行测试开发呢,能快速大量的自动化的模拟用户的点击和操作。 ​5、游戏开发 第五个方向是游戏开发,这个方向也比较赚钱,对吧?经常会有程序员呢,用Python来写一些游戏的引擎,这是一个非常专业的领域。 ​6、人工智能 第六个方向是人工智能,技术也是正在学习的萌芽阶段吧,对人工智能这方面的了解呢,也比较少,感兴趣的朋友呢,可以去查一查。Python人工智能开发相关的工作分享在我们的弹幕或者评论区。 ​7、数据分析 第七个方向是数据分析,它的主要工作呢,就是找到大量数据中重要的影响因素,那比如说给你10万条100万条数据,其中的影响因素可能有100个,1000个,哪一个是最重要的呢?这时候你就可以通过代码来进行相应的快速分析。 ​小白适合哪个? 其实这个问题很难回答,就业它是一个考验人综合能力的事情,他可能考虑到你的学历,年龄啊,工作经验,甚至是你特殊的社会资源。那我只能站在市场上岗位数量的角度来回答这个问题,供你参考。 从岗位数量上来看的话,Python后端开发和爬虫开发是分列第一位和第二位,自动化运维,自动化测试,游戏开发。和数据分析并列第三位,数量都是相对要少一些,最少的就是人工智能开发. 最后 如果对Python感兴趣的话,可以试试我的学习方法以及相关的学习资料 对于0基础小白入门: 如果你是零基础小白,想快速入门Python是可以考虑培训的。 一方面是学习时间相对较短,学习内容更全面更集中。 Python所有方向的学习路线 Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。 温馨提示:篇幅有限,已打包文件夹,获取方式在“文末”!!! 二、Python必备开发工具 三、Python视频合集 观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 四、实战案例 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。 五、Python练习题 检查学习结果。 六、面试资料 我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。 这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

太香了!推荐6个Python数据分析神器!!

用Python处理数据大家都不陌生了,属常规操作,但常规之下还是也有些暗藏技巧的,本篇东哥分享6个好玩高效的操作,帮助大家提高效率。 一、Pandas Profiling Pandas Profiling提供数据的一个整体报告,是一个帮助我们理解数据的过程。它可以简单快速地对Pandas的数据框数据进行探索性数据分析。 其实,Pandas中df.describe()和df.info()函数也可以实现数据探索过程第一步。但它们只提供了对数据非常基本的概述。而Pandas中的Profiling功能简单通过一行代码就能显示大量信息,同时还能生成交互式HTML报告。 对于给定的数据集,Pandas中的profiling包计算了以下统计信息: 由Pandas Profiling包计算出的统计信息包括直方图、众数、相关系数、分位数、描述统计量、其他信息包括类型、单一变量值、缺失值等。 安装 用pip和conda即可,使用方法很简单,如下: import pandas as pd import pandas_profiling df = pd.read_csv('titanic/train.csv') pandas_profiling.ProfileReport(df) 用法 以titanic数据集来演示profiling的功能。 import pandas as pd import pandas_profiling df = pd.read_csv('titanic/train.csv') pandas_profiling.ProfileReport(df) 除了导入库之外只需要一行代码,就能显示数据报告的详细信息,包括必要的图表。 还可以使用以下代码将报告导出到交互式HTML文件中。 profile = pandas_profiling.ProfileReport(df) profile.to_file(outputfile="Titanic data profiling.html") 二、pretty print pprint是Python中的内置模块。它能够以格式清晰,可读性强漂亮格式打印任意数据结构。一个例子对比下print和pprint。 # 定义个字典,测试用 my_dict = {'Student_ID': 34,'Student_name' : 'Tom', 'Student_class' : 5, 'Student_marks' : {'maths' : 92, 'science' : 95, 'social_science' : 65, 'English' : 88} } print

天锐绿盾|绿盾加密软件|电脑文件防泄密|文件加密|图纸加密软件|源代码加密|源代码防泄密系统|公司办公终端核心文件数据\资料防止外泄管理软件系统!

天锐绿盾是一款专业的数据加密和管理软件,旨在保护企业的重要数据不被泄露或损坏。该软件采用了先进的加密技术,确保数据在存储、传输和使用过程中的安全性。同时,天锐绿盾还提供了完善的管理功能,方便企业对加密数据进行统一管理和控制。 PC端访问地址1:www.drhchina.com PC端访问地址2: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 天锐绿盾适用于各种场景,如企业、政府机构、教育机构等,可以有效地保护图纸、文档、源代码等重要数据的安全。它支持多种文件格式,包括Office文档、PDF、图片等,还可以对网络和外部设备进行安全控制,防止数据泄露。 与其他同类产品相比,天锐绿盾具有以下优势: 国产自主知识产权:天锐绿盾是国内自主研发的加密软件,具有自主知识产权,符合国家对信息安全的监管要求。高度安全性:天锐绿盾采用了国际先进的加密算法和安全协议,确保数据的安全性和完整性。同时,它还提供了多重身份验证和访问控制机制,防止未经授权的访问和数据泄露。易于管理和使用:天锐绿盾提供了直观的用户界面和详细的使用手册,方便用户快速上手。同时,它还提供了丰富的管理功能,方便企业对加密数据进行统一管理和控制。良好的兼容性:天锐绿盾支持多种操作系统和设备,可以与现有的企业信息系统无缝集成。 天锐绿盾是一款高效、安全、易于管理的数据加密软件,适用于各种场景,可以有效地保护企业的重要数据不被泄露或损坏。 移动端访问地址: http://tinyurl.com/mtzxbpcu 天锐绿盾支持多种操作系统,包括但不限于: Windows 2000 / XP / 2003 / Vista / Win7 / 2008 / Win8 / 2012/2016/2022等Windows 32或64位操作系统。Linux系统。Mac OS系统。IOS、Android 系统。 此外,天锐绿盾还支持与第三方集成推送审批消息,提供多平台SDK,第三方系统只要做少量开发即可与天锐绿盾实现无缝对接。

1*2*3+3*4*5+...+99*100*101python,1加到100的程序算法python

这篇文章主要介绍了python中1+2+3一直加到100程序怎么写,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。 功能要求 编写一个控制台应用程序,分别使用while循环结构和for循环结构,来实现计算1~100的自然数之和,并将计算的结果输出。 实例代码 - while循环结构 i = 0 sum = 0 while i <= 100: sum += i i += 1 print("1 + 2 + 3 + …… + 100 = %d" % sum) 实例代码 - for循环结构 sum = 0 for i in range(1, 101): sum += i print("1 + 2 + 3 + …… + 100 = %d" % sum) 运行结果 知识说明 while循环与for循环都属于循环结构,两者均可重复执行一段代码,但两者使用的场合不同python好玩的代码。 while循环与for循环的使用场景比较: √ while循环结构更适合于不知道该循环会被执行多少次时,希望在满足某种条件的情况下循环结束的场景。 √ for循环结构更适合于有明确的循环次数(或循环范围)的场景。

ME8206 电流模式准谐振 PWM 控制器 输出功率可达100W

描述: ME8206 是一个电流模式准谐振 PWM 控制器,在 85V-265V 的宽电压范围内提供高达 100W 的输出功率, 在大范围的负载和输入电压变化情况下确保谷底电压导通。 ME8206 采用高压启动设计,芯片直接连接到高压, 以提供芯片启动所需电流,并在启动后关闭,以降低待机 功耗;另外在轻载时进入跳周期模式,在更轻载时进入突 发模式,从而实现了在全输入电压时小于100mW 的待机空耗,并且使进入 20KHz 以下的音频区的范围最小化, 以保证在正常工作状态无异音。芯片内部的 7.5uS 计时器 限制了开关频率小于120KHz(低于 CISPR-22EMI 中的 150KHz 限制),可以有效简化 EMI 设计。 ME8206 拥有完善的保护功能,包括过流保护 (OCP),过载保护(OLP),欠压锁定(UVLO),过压保护(OVP),过温保护(OTP)等,以确保系统可靠的工作。 特点: 内置高压启动电路 谷底电压导通 软启动功能 降噪功能 轻载进入绿色模式 过功率补偿 前沿消隐 斜坡补偿 完善的保护:OCP,OLP,UVLO,OVP,OTP 应用范围: 适配器 机顶盒 开放式电源

Redis持久化

目录 Redis高可用 持久化 主从复制 哨兵 Cluster集群 Redis持久化 持久化的功能 Redis提供的两种持久化方式 RDB持久化 触发条件 手动触发 自动触发 其他自动触发机制 执行流程 启动时加载 AOF持久化 开启AOF 执行流程 命令追加(append) 文件写入(write)和文件同步(sync) 文件重写(rewrite) 启动时加载 RDB和AOF的优缺点 RDB持久化 AOF持久化 Redis性能管理 内存碎片率 内存使用率 内回收key 其它限制相关 maxclients maxmemory maxmemory-samples redis优化 redis的三大缓存问题及解决方案 如何保证 MySQL 和 redis 的数据一致性 Redis高可用 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 高可用的计算公式是1-(宕机时间)/(宕机时间+运行时间)有点类似与网络传输的参数误码率,我们用9的个数表示可用性 2个9:99%=1%365=3.6524h=87.6h 4个9:99.99%=0.01%36524*60=52.56min 5个9:99.999%=0.001%*365=5.265min 11个9:几乎一年宕机时间只有几分钟 但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主从分离、快速容灾技术),还需要考虑数据容量的扩展、数据安全不会丢失等。 在Redis中,实现高可用的技术主要包括持久化、主从复制、哨兵和 Cluster集群,下面分别说明它们的作用,以及解决了什么样的问题。 持久化 持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。 主从复制 主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制。 哨兵 在主从复制的基础上,哨兵实现了自动化的故障恢复。缺陷:写操作无法负载均衡;存储能力受到单机的限制。 Cluster集群 通过集群,Redis解决了写操作无法负载均衡,以及存储能力受到单机限制的问题,实现了较为完善的高可用方案。 Redis持久化 持久化的功能 Redis是内存数据库,数据都是存储在内存中,为了避免服务器断电等原因导致Redis进程异常退出后数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘;当下次Redis重启时,利用持久化文件实现数据恢复。除此之外,为了进行灾难备份,可以将持久化文件拷贝到一个远程位置。 Redis提供的两种持久化方式 RDB 持久化:原理是将 Reids在内存中的数据库记录定时保存到磁盘上。AOF 持久化(append only file):原理是将 Reids 的操作日志以追加的方式写入文件,类似于MySQL的binlog。

Angular中的装饰器有哪些?怎么用?

Angular中有一些非常有用的装饰器,用于增强指令、组件等功能。以下是一些常用的装饰器: @HostBinding:用于绑定宿主元素的属性。可以通过该装饰器将指令或组件中的属性值绑定到宿主元素上。 import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'app-example', template: '<p>Example Component</p>' }) export class ExampleComponent { @HostBinding('style.color') color = 'red'; } @Input:用于接收父组件传递的数据。通过该装饰器可以将父组件中的数据传递给子组件的属性。 import { Component, Input } from '@angular/core'; @Component({ selector: 'app-child', template: '<p>{{inputValue}}</p>' }) export class ChildComponent { @Input() inputValue: string; } @Output:用于向父组件发送事件。通过该装饰器可以定义一个事件,并在子组件中触发该事件,以便通知父组件。 import { Component, Output, EventEmitter } from '@angular/core'; @Component({ selector: 'app-child', template: '<button (click)="sendMessage()">Send Message</button>' }) export class ChildComponent { @Output() messageEvent = new EventEmitter<string>(); sendMessage() { this.

Ubuntu 18.04.5 LTS 解决安装包复杂依赖相关问题解决的主要法则和VIM的安装实录

前言:目标和环境 环境: Ubuntu 18.04.5 LTS@VMware 目标: 安装vim,解决包依赖的冲突: 本文,通过一个很好的实例,诠释了,LINUX系统下,安装一个应用遇到的依赖库问题如何解决的基本方法和思路。同时,用一个实录的实例,展示了三个法则的使用方法,尤其是法则3,一步一步走到很里面,解决了VIM安装的问题,相信对大家会有帮助。 写在前面的结论: 在嵌入式,linux系统中,我们安装一个应用,经常会遇到包依赖的冲突,我们怎么避免? 法则1: 安装任何应用前,不要上来就安装他,记得先系统更新一下,让,所有的之前的库到一个互相兼容的状态:用以下命令: sudo apt-get update 遵循这个习惯,大约可以减掉80%你以后要花的时间。 法则2: 能用万能自动依赖差错更新,先用万能依赖查错更新,命令如下: sudo apt --fix-broken install 这个命令,都不要考虑库,不要输入库,闭眼写,也许就解决了,这可以解决10%你要花费的时间 法则3: 如果,这系统不是你弄的,被别人搞的就不想管了,怎么办? 记住,法则3,看似繁琐,其实是一条亘古不变的可以解决的方法,记住,不要怕繁琐,闭眼,他报了哪个库依赖错误,你就把那个库拎出来,重新安装,那些看似繁琐到天文的LOG恢复,我们稍微用一点法眼,就发现,他其实是告诉你,兄弟,你要整活,那么这里,这里,这里,这里,这里...有问题,他一个一个告诉你,你应该高兴而不是烦躁,把这些冲突的库,都闭眼拿出来重新装,如果装的时候,又提示了下一级的包依赖问题,拿先用法则2,再重新装,记住,先用法则2,再重新装。 sudo apt-get install install 后面可接很多,很多, 例如:本例 sudo apt-get install libgl1-mesa-dev libgl-dev libgles2-mesa-dev libglu1-mesa-dev libqt5concurrent5 libqt5printsupport5 libqt5sql5 libqt5test5 libqt5xml5 libxext-dev qt5-qmake qtbase5-dev-tools qtchooser libqt5opengl5-dev 最终必定能解决你的包依赖的问题呀, 下面是实例: 问题和解决办法: 因为安装vim之前,先安装了tinyserial和Qt,所以报了库兼容的问题: 问题1: 先运行: vim xx.c 会提示vim,找不到,然后,提示你: sudo apt-get install vim (donkey) donkeybot@ubuntu:~$ vim Command 'vim' not found, but can be installed with:

Java中序列化与反序列化详解

Java中序列化与反序列化详解 前言: 欢迎来到本篇博客,今天我们将深入研究 Java 中的序列化与反序列化,这是在分布式系统和持久化存储中经常遇到的重要概念。 1. 什么是序列化与反序列化? 在 Java 中,序列化是将对象转换为字节序列的过程,而反序列化则是将字节序列转换回对象的过程。这使得对象可以在网络上传输、存储到文件中,或者在不同系统之间共享。 2. Java 中的序列化接口与关键字: Serializable 接口: Java 提供了 Serializable 接口,实现该接口的类可以被序列化。示例代码如下: import java.io.Serializable; public class MyClass implements Serializable { // 类的成员和方法 } transient 关键字: 使用 transient 关键字修饰的成员变量不会被序列化。例如: private transient int sensitiveData; 3. 序列化的实际应用: 对象存储: 将 Java 对象序列化后存储到文件或数据库中,便于后续读取和使用。 // 序列化 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("data.ser")); oos.writeObject(myObject); oos.close(); // 反序列化 ObjectInputStream ois = new ObjectInputStream(new FileInputStream("data.ser")); MyClass deserializedObject = (MyClass) ois.readObject(); ois.close(); 网络传输: 在网络中传递对象时,将对象序列化后通过网络传输,接收方再进行反序列化。

数据的相似度计算

相似度系数又称为相关系数,常用于考察两个变量x、y之间的相关程度。 若为0,则x和y无相关性若为正,则x和y呈正相关,相关系数在0~1之间若为负,则x和y呈负相关,相关系数在-1~0之间相似度系数的绝对值越大,则x和y相关性越强 matlab中,有corr和corr2函数计算相似度系数,并提供了3种相关系数的计算方法: 1. 皮尔逊线性相关系数 皮尔逊线性相关系数是最常用的线性相关系数,皮尔逊线性相关系数 rho(a,b) 定义为: r h o ( a , b ) = ∑ i = 1 n ( X a , i − X ‾ a ) ( Y b , i − Y ‾ b ) ∑ i = 1 n ( X a , i − X ‾ a ) 2 ∑ j = 1 n ( Y b , j − Y ‾ b ) 2 rho(a,b)=\frac{\sum\limits_{i=1}^n{(X_{a,i}-\overline{X}_a)(Y_{b,i}-\overline{Y}_b)}}{\sqrt{\sum\limits_{i=1}^n{(X_{a,i}-\overline{X}_a)}^2\sum\limits_{j=1}^n{(Y_{b,j}-\overline{Y}_b)}^2}}\\ rho(a,b)=i=1∑n​(Xa,i​−Xa​)2j=1∑n​(Yb,j​−Yb​)2 ​i=1∑n​(Xa,i​−Xa​)(Yb,i​−Yb​)​

spring Security源码讲解-Sevlet过滤器调用springSecurty过滤器的流程

承接上文 上一节 http://t.csdnimg.cn/ueSAl 最后讲到了过滤器收集完成注入容器,这节我们来讲Security的Filter是怎么被Spring调用的。 我们先看webSecurity的performBuild方法(), ![在这里插入图片描述](https://img-b 也就是说,最终返回的过滤器对象实例有两种情况当我们配置debugEnabled为true返回的是条件配置型过滤器DebugFilter,否则返回代理过滤器FilterChainProxy。 步入正题 执行过滤器会调用FilterChainProxy的doFilter()方法, blog.csdnimg.cn/direct/b1b18010acc341dbb08758650aedba99.png) 接着会调用FilterChainProxy的doFilterInternal方法 创建虚拟过滤器链VirtualFilterChain,VirtualFilterChain是FilterChainProxy的私有静态嵌套类,调用其doFilter方法,nextFilter.doFilter(request, response, this)传入this,为了实现循环回调doFilter方法。 将所有定义的过滤器执行完。 具体的security过滤器使用流程清楚了,现在我们只需找到FilterChainProxy在那里使用了即可。 SecurityFilterAutoConfiguration这个类发现是springboot集成的自动配置类,所以springboot会自动注入该实例 这个配置类会注入一个名为securityFilterChainRegistration类型为DelegatingFilterProxyRegistrationBean的bean,首先要springSecurityFilterChain存在 不错,springSecurityFilterChain就是WebSecurityConfigurer的springSecurityFilterChain方法返回的FIlter DelegatingFilterProxyRegistrationBean构造会保存Filter的名字springSecurityFilterChain作为属性, DelegatingFilterProxyRegistrationBean的getFilter方法会创建DelegatingFilterProxy并将springSecurityFilterChain作为参数传入 从这里我们可以看出 DelegatingFilterProxyRegistrationBean ,DelegatingFilterProxy,FilterChainProxy三者之间的关系。 现在我们首先找出使用DelegatingFilterProxyRegistrationBean 的地方, 通过调试终于找到了线索,在TomcatStarter的onStartup方法() initializers集合其中包含ServletWebServerApplicationContext,调用其onStartup方法 可以看出initializer是lambda表达式,这里的initializer可以理解使用的是 initializer = ServletWebServerApplicationContext.getSelfInitializer() selfInitialize方法 这里拓展一下lambda的知识 所以可以理解为 ServletContextInitializer initializer = (servletContext) -> return servletWebServerApplicationContext.selfInitialize(servletContext); 因此调用initializer.onStartup(servletContext)实际调用的是ServletWebServerApplicationContext的selfInitialize方法。 查看getServletContextInitializerBeans() 查看ServletContextInitializerBeans构造函数 接着看addServletContextInitializerBeans方法 接着看addServletContextInitializerBean方法 这里注意 String source = ((DelegatingFilterProxyRegistrationBean) initializer).getTargetBeanName(); 前面在生成DelegatingFilterProxyRegistrationBean的时候targetBeanName传的是我们FilterChainProxy的bean名称springSecurityFilterChain 接着看addServletContextInitializerBean方法 调用this.initializers将DelegatingFilterProxyRegistrationBean实例放入ServletContextInitializerBeans实例的initializers集合属性中,ServletContextInitializerBeans是继承于AbstractCollection,并且实现了迭代器 sortedList和initializers有什么关系呢?我们再回到ServletContextInitializerBeans实例的ServletContextInitializerBeans方法 他是先将DelegatingFilterProxyRegistrationBean放入initializers,然后再排序赋值给sortedList。 好的回到 for (ServletContextInitializer beans : getServletContextInitializerBeans()) { beans.onStartup(servletContext); } 因此上述代码迭代的是sortedList 查看beans.onStartup(servletContext);这里的onStartup是属于RegistrationBean类

【数据结构】数据结构中应用题大全(完结)

自己在学习过程中总结了DS中几乎所有的应用题,可以用于速通期末考/考研/各种考试。很多方法来源于B站大佬,底层原理本文不做过多介绍,建议自己研究。例题大部分选自紫皮严书。pdf版在主页资源 一、递归时间/空间分析 1.时间复杂度的分析 设 F a c t ( n ) Fact(n) Fact(n)的执行时间是 T ( n ) T(n) T(n)。 if(n==0) return 1; 的执行时间是 O ( 1 ) O(1) O(1), F a c t ( n − 1 ) Fact(n-1) Fact(n−1)的执行时间是 T ( n − 1 ) T(n-1) T(n−1), 所以else return n ∗ F a c t ( n − 1 ) n*Fact(n-1) n∗Fact(n−1); 的执行时间是 O ( 1 ) + T ( n − 1 ) O(1)+T(n-1) O(1)+T(n−1)。

真的干不过,00后整顿职场已经给我卷麻了,想离职了...

在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事,可遇不可求,向他学习还来不及呢。 真正让人反感的,是技术平平,却急于表现自己的人,每天加班到12点,在老板面前表现得格外积极,弄得其他人都很尴尬。这就是行业当中的“卷王”。 个个都说想躺平了,可是有一说一,该卷的还是卷。这不,前段时间我们公司来了个00后,才工作一年,跳槽到我们公司起薪15K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。 这两天公司团建他喝多了,聊的比较开,才知道原来这位小老弟是村里出来的,爹妈退休金都没有,靠着他生活呢。所以他再大三的时候就已经开始自学测试了,大四获得了一个小公司的实习机会。在工作中不断的学习、实践,花的时间比别人多一倍,所以才能打下扎实的基础,现在工作也是得心应手。 我认为这位小老弟正式我们学习的榜样,倒不是说应该学习他加班内卷,而是他这种不断学习进阶的精神! 最后小编为大家整理了一套最新的软件测试系统学习教程,包括测试理论、Linux基础、MySQL基础、Web测试、接口测试、App测试、管理工具、Python基础、Selenium相关、性能测试、LordRunner相关等 通过大数据总结发现,其实软件测试岗的面试都是差不多的。常问的有下面这几块知识点: 测试理论(测试基础+需求分析+测试模型+测试计划+测试策略+测试案例等等) Linux( Linux基础+Linux练习题) MySQL(基础知识+查询练习+万年学生表经典面试题汇总+数据库企业真题) Web测试 API测试 App测试 管理工具 Python基础(Python基础+编程题+集合+函数+Python特性等等) Selenium相关 性能测试 LordRunner相关 计算机网络 组成原理 数据结构与算法 逻辑题 人力资源 一、软件测试基础 软件测试的步骤是什么?如何录制测试脚本?应该考虑进行如何测试的测试方法怎样估计测试工作量?测试设计的问题当测试过程发生错误时,有哪几种解决办法?测试执行的问题测试评估的目标如何提高测试?C/S模式的优点和缺点B/S模式的优点和缺点… 二、Linux grep和find的区别? grep 都有哪些用法?查看IP地址?创建和删除一个多级目录?在当前用户家目录中查找haha.txt文件?如何查询出tomcat的进程并杀掉这个进程,写出linux命令?动态查看日志文件?查看系統硬盘空间的命令?查看当前机器listen 的所有端口?… 三、Python 统计python源代码文件中代码行数,去除注释,空行,进行输出?python调用cmd并返回结果?冒泡排序1,2,3,4 这4个数字,能组成多少个互不相同的且无重复的三位数,都是多少?请用 python 打印出 10000 以内的对称数(对称数特点:数字左右对称,如:1,2,11,121,1221 等)给定一个整数 N,和一个 0-9 的数 K,要求返回 0-N 中数字 K 出现的次数判断 101-200 之间有多少个素数,并输出所有的素数一个输入三角形的函数,输入后输出是否能组成三角形,三角形类型,请用等价类- 划分法设计测试用例… 四、MySQL 你用的Mysql是哪个引擎,各引擎之间有什么区别?如何对查询命令进行优化?数据库的优化?Sql注入是如何产“生的,如何防止?NoSQL和关系数据库的区别?MySQL与MongoDB本质之间最基本的差别是什么Mysql数据库中怎么实现分页?Mysql数据库的操作?优化数据库?提高数据库的性能?什么是数据的完整性?… 五、Web Web测试和app测试区别?WEB测试环境搭建和测试方法WEB测试教程WEB测试要点及基本方法Web测试页面总结… 六、接口测试 什么是接口如果模块请求http改为了https,测试方案应该如何制定,修改?常用HTTP 协议调试代理I具有什么?详细说明抓取HTTPS协议的设置过程?描述TCP/IP协议的层次结构,以及每一-层中重要协议jmeter,一个接口的响应结果如下:接口产生的垃圾数据如何清理依赖第三方的接口如何处理测试的数据你放在哪?什么是数据驱动,如何参数化?… 七、性能测试 你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?服务端性能分析都从哪些角度来进行?如何理解压力测试,负裁测试以及性能测试?如何判断是否有内存泄漏及关注的指标?描述软件产“生内存泄露的原因以及检查方式。(可以结合- 种开发语言进行描述)简述什么是值传递,什么是地址传递,两者区别是什么?什么是系统瓶颈?… 八、selenium 如何开展自动化测试框架的构建?如何设计自动化测试用例:webdriver如何开启和退出一个浏览器?什么是自动化测试框架?Selenium是什么,流行的版本有哪些?你如何从命令行启动Selenium RC?在我的机器端口4444不是免费的。我怎样才能使用另一个端口?什么是Selenium Server,它与Selenium Hub有什么不同?你如何从Selenium连接到数据库?你如何验证多个页面上存在的一个对象?XPath中使用单斜杠和双斜杠有什么区别?如何编写SeleniumIDE/ RC的用户扩展?如何在页面加载成功后验证元素的存在?你对Selenium Grid有什么了解?它提供了什么功能?如何从你的Java Class启动Selenium服务器?

数字人源码部署新机遇,预测2024年AI应用将出现爆发式增长

近日,钉钉联合IDC发布《2024 AIGC应用层十大趋势白皮书》,其中,IDC预测到,2024年AI应用将出现爆发式增长,到2024年全球将涌现出超过5亿个新应用,到2026年,2/3的云应用将使用AI。 看来,AI离我们越来越近,在未来的世界里,AI将成为重要的组成成员。 到目前,AI被大面积应用在了各个地方,比如直播间,可以用AI克隆生成的数字人进行24小时不间断直播。 比如短视频出镜,代替真人出现在短视频的制作当中,进行讲解、介绍。 比如宣传海报,用AI生成好看的数字人,用来做企业宣传海报的主角,再也不用请明星代言,为企业节省了一大笔钱。 当然,AI数字人的应用远远不止,这么简单的。据AI数字人头部品牌灰豚的开发总监李总介绍,生成AI数字人只是目前比较复杂的一种技术,事实上,AI现在还有一个比较广泛被用到的地方,就是AI对话。 通过与AI的事实对话,可以让AI完成很多的任务。 比如像文章撰写,在与AI的对话中,你可以描述一下你想一篇什么样的文章,然后很短的时间,AI就会根据你的描述生成一篇合格的文章。 与AI的对话 再比如,你在写文章的时候遇到瓶颈,不知道某个事物应该用什么词或者如何描述,你只需要问一下AI,答案变有了。 所以,AI的应用真的非常广,它将彻底改变我们的生活,让我们的生活变得更加地高效、便捷。 而这中间,其实也有着一些商机,精明的人已经看到了AI的趋势,并且在这个领域快速布局。 如果不懂技术也想进入这个领域,最简单高效的方式就是做源码部署,做系统OEM贴牌,李总建议到,现在AI数字人码源市场有些混乱,真正想贴牌做源码,还是要尽量找到数字人的源码厂家,这样在后期进行技术维护与升级的时候才能找到对应的技术人员,也能及时地处理遇到的问题。 数字人源码部署这个机会,你也看好吗?

使用 Jamf Pro 和 Okta 工作流程实现自动化苹果设备管理

Jamf的销售工程师Vincent Bonnin与Okta的产品经理Emily Wendell一起介绍了JNUC 2021的操作方法会议。它们涵盖了Okta工作流程(Okta Workflow),并在其中集成了Jamf Pro,构建了一些工作流程,并提供了几个用例。 Okta 工作流程和Jamf Pro 这个使用Okta Workflows和JamfPro进行苹果设备管理的JNUC 2021课程是一个关于API自动化操作的方法,其中包含详细的说明和用例。 Okta和Okta工作流程 首先,Wendell介绍了Okta:一个独立和中立的员工身份平台,以及一个可扩展和安全的客户身份平台。 Okta工作流程是一种跨应用程序以大规模管理复杂身份场景的自动化操作方式。它使用if-this-then-that逻辑与Okta预构建的连接器资源库相结合。这使Mac管理员能够连接到任何公开可用的API,例如Jamf的API。 它允许您在应用程序之间自动执行特定于身份的任务,而无需任何代码。 Okta 工作流程拥有超过40个连接到市场上一些最常用应用程序的连接器。在这些连接器中,它们有400多个动作和事件。 API自动化:使用Jamf Pro的内置连接器 在本次介绍中Jamf和Okta引入了基于Jamf Pro经典API的新连接器,访问JamfMarketplace可了解更多信息。 使用Jamf Pro的经典API,Okta收集了17项Mac管理员可立即执行的的操作。 Okta工作流程示例和用例 视频中的演讲者浏览了详细的示例和用例,并针对以下情况提供分步说明: 如何按照计划运行MDM命令 根据Okta分配来分发应用程序 创建自定的条件访问 保护您的Jamf Pro脚本 使用模板 整合其他Jamf产品 Jamf为我们的大多数产品提供API端点,包括新的Jamf Pro API、Jamf Protect的API和Jamf School的API。可以在Okta工作流程中为所有这些产品创建自定义API调用。 使用Okta的连接器生成器,管理员可以在Okta的无代码流设计器中编写新的工作流连接器。供应商可以为他们的客户构建连接器,管理员可以构建连接器以轻松连接自定义工具。 访问Jamf的API开发人员中心,开始使用这些和其他自定义工具。 2011年, SolutionKeys将Jamf (Casper Suite)首次引入了中国。 SolutionKeys是大中华地区优质Jamf授权经销商和Jamf的关键服务伙伴(Jamf授权集成商)。我们确保Jamf管理和部署的黄金标准。

如何用python做数据分析?

常遇到两类朋友。一类是会爬虫但不知道如何进一步做数据分析的,一类是平常用 Excel 做分析但不太会用 Python 分析的。如果和你很像,那下面这篇系统长文会很适合你,建议先收藏。 Excel 是数据分析中最常用的工具,本文通过 Python 与 excel 的功能对比介绍如何使用 Python 通过函数式编程完成 excel 中的数据处理及分析工作。从 1787 页的 pandas 官网文档中总结出最常用的 36 个函数,通过这些函数介绍如何通过 Python 完成数据生成和导入、数据清洗、预处理、数据分类、数据筛选、分类 汇总、透视等最常见的操作。 文章内容共分为 9 个部分目录如下: 01 生成数据表 第一部分是生成数据表,常见的生成方法有两种,第一种是导入外部数据,第二种是直接写入数据。 Excel 中的文件菜单中提供了获取外部数据的功能,支持数据库和文本文件和页面的多种数据源导入。 python 支持从多种类型的数据导入。在开始使用 python 进行数据导入前需要先导入 pandas 库,为了方便起见,我们也同时导入 numpy 库。 1import numpy as np 2import pandas as pd 导入数据表 下面分别是从 excel 和 csv 格式文件导入数据并创建数据表的方法。代码是最简模式,里面有很多可选参数设置,例如列名称,索引列,数据格式等等。感兴趣的朋友可以参考 pandas 的 官方文档。 1df=pd.DataFrame(pd.read_csv('name.csv',header=1)) 2df=pd.DataFrame(pd.read_excel('name.xlsx')) 创建数据表 另一种方法是通过直接写入数据来生成数据表,excel 中直接在单元格中输入数据就可以,python 中通过下面的代码来实现。生成数据表的函数是 pandas 库中的 DateFrame 函数,数据表一共有 6 行数据,每行有 6 个字段。在数据中我们特意设置了一些 NA 值和有问题的字段,例如包含空格等。后面将在数据清洗步骤进行处理。后面我们将统一以 DataFrame 的简称 df 来命名数据表。

CodeBlocks安装配置及汉化指南

CodeBlocks全称为Code::Blocks,是一款开放源码的全功能跨平台C/C++集成开发环境,它使用了著名的图形界面库wxWidgets,具有灵活而强大的配置功能,除支持自身的工程文件、C/C++文件外,还支持AngelScript、批处理、CSS文件、汇编文件以及脚本文件等常用的文件类型,软件占用内存小,安装也很方便,极大的适应了多数编程者c语言开发工具的需要。 而中文版是旨在通过软件汉化包的使用从而帮助用户更好的执行和使用软件的常用功能,对于初学c语言编程的用户来说,这款工具不仅是在软件所能提供的编程效果上,尤其是在软件本身具有的界面操作和编译标准基础上,都有效的支持了初学者的使用。 一、下载及安装CodeBlocks 1.1 官方网址下载 官方网址:https://www.codeblocks.org/ 点击官网左侧的Downloads进入下载页面 也可以直接复制后面的链接进入下载页面:https://www.codeblocks.org/downloads/binaries/ 1.3 安装 1、双击运行安装程序codeblocks-20.03mingw-setup.exe,弹出软件安装向导,默认点击“Next”按钮开始软件的安装操作 2、阅读并同意软件许可证协议,自定义勾选软件需要安装的相关组件 3、选择软件需要安装的路径,默认安装路径为C:\Program Files\CodeBlocks,安装路径选择时不要选择带有中文符号的安装目录,点击“Install”按钮进行软件的安装,等待软件安装完成后,单击“finish”按钮完成安装 4、等待软件安装进度完成,点击“Finish”按钮结束安装 1.4 汉化配置 1、安装完成后先不要运行软件,回到之前下载好的安装目录,将“locale”中文汉化包复制到“C:\Program Files\CodeBlocks\share\CodeBlocks”下 注意:是安装目录下/share/CodeBlocks文件夹 C:\Program Files\CodeBlocks\share\CodeBlocks 如果安装在了其他文件夹,依照上面的次序找到对应的文件夹 2、运行软件,在打开的软件正上方功能栏中选择“setting”->“Environment”弹出环境设置窗口 3、在弹出的环境设置窗口左侧选择“View”视图,同时在右侧勾选重启后需要替换的语言种类,在下拉框中选择“chinese”简体中文,设置完成后点击“ok”按钮完成设置 4、重启软件,发现软件已经成功汉化使用 二、快速使用入门及常见快捷键 2.1 快速使用入门 1、运行软件,首先新建项目,之后会弹出根据模板新建窗口 2、我们选择第四个Console application(控制台应用程序)即可,然后会进入另一个选择界面,根据自己的需要选择C或者C++来进行下一步创建操作 3、自定义填写项目相关信息,完成后点击“下一步”进行创建 4、选择输出目录和需要使用到的编译器,创建Release依赖文件和调试配置 5、完成后我们便可以看到在工作空间目录下创建相应的项目名称和相关文件 2.2 常见快捷键 文本编辑部分 代码编译与运行部分 说句题外话 今年很多人都在讨论一个问题:就业形势险峻,毕业生们怎么办? 错过了春招,秋招竞争激励,现在投了几十份简历却还都石沉大海,22/23届同学烦得头都快秃了。 其实你没事多去招聘网站上看看,你会发现不少基础岗位的招聘都写上了对python的技能要求,这也就意味着,会写程序的人会更吃香。 现在的社会,时代已经不同了,它在加速淘汰不会学习的人,所以大学期间多学点东西,不要毫无准备的去接受社会的毒打! 就算是在非专业技术领域python几乎都可以用到,特别是自动化办公和数据处理方面,python有独特的优势。而python入门相对简单,对大学生来说是一门好上手学的编程语言,就算不是找工作,利用python兼职赚点零花钱也不错啊! 如今是一个大数据的时代,Python 在行为收集和数据分析,信息采集等方面的应用已经非常非常普遍,早就不是程序员的专属技能了。就像 office 一样,是Python 已经成为了进入职场的必备技能。不是很意外,但这就是正在发生的大趋势。 Python的特点 1.需求大:百度、新浪、搜狐、淘宝、腾讯QQ等大部门的互联网相关企业都在利用Python,对Python的人才需求很大。 2.开展空间广:在无孔不入的互联网使用情况下,人工智能、大数据等领域非常适合Python的发展,这也就阐明了挑选进修Python将会有很不错的发展空间。 3.简单易学:小学生也可以上手学习的计算机语言。举个例子一个程序用C语言需要1000行的代码,用JAVA需要写100行,但是如果用Python你只需要20行,语法很简洁。 Python岗位薪资水平如何? Python如何学习? 今天只要你给我的文章点赞,我私藏的Python学习资料一样免费共享给你们,来看看有哪些东西。 Python学习大礼包 Python入门到精通背记手册 因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取 👉[CSDN大礼包:《python安装工具&全套学习资料》免费分享](安全链接,放心点击) Python安装包 Python爬虫秘籍 Python数据分析全套资源 因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取 👉CSDN大礼包:《python入门&进阶学习资源包》免费分享 Python实现办公自动化全套教程 Python面试集锦和简历模板 Python副业兼职路线 资料领取 👉[CSDN大礼包:《python安装工具&全套学习资料》免费分享](安全链接,放心点击)

失业在家找不到工作怎么办? 你需要为自己多规划几条谋生的出路

近两年受到疫情的影响,很多人暂时失业在家还没有找到合适的工作,一没技术,二没长相,关键年纪还大了,想找一份糊口的工作都难上加难。而且疫情还在肆虐,不少企业订单减少,营业收入迅速减少,导致不少中小企业裁员或者倒闭,有不少人失业了。对于大部分人来说失业就意味着没有收入,没有收入就会影响到衣食住行的每一个方面。甚至还有一些人担负着房贷,房租,上有老下有小,压力巨大。 那么失业了到底该怎么办呢? 说起失业,找不到工作了,如何才能赚钱养家?可能很多朋友都会想到“送外卖”“跑出租”“干快递”,说来也对,凭体力吃饭也是一个出路。无非就是用劳动力换取相应报酬。不过从长远角度来说,这完全不是一个长久之计,毕竟体力劳动对于上了岁数的人来说都不是一个最好的选择,甚至是一个下下策。况且在目前疫情形势严峻的情况下,这些跑腿的事情都要受到限制了,风险与回报可能远远不成正比! 那不去做体力活,工作又找不到我该怎么办呢?其实,生活总需要阳光,无论是困境还是逆境,办法总比困难多!有人一定会说海哥这是心灵鸡汤啊!说这些没有用!其实非也!一个良好的心态是成功的开始!谁一辈子还没遇到个事啊! 言归正传,不论你已经失业还是工作不太稳定,都最好为自己多增加几个谋生的技能,这样你才能坦然面对突如其来的危机,下面跟大家分享几个可以当做第二职业的副业。 1、特色小吃餐饮培训 即使你不会,你也可以去赚钱,你哪怕什么都不会也可以去培训别人。 先给你揭秘一个残酷的现实,大家都知道直播带货挣钱,直播打赏挣钱,但是你可能不知道的是,真正在网络里面能赚到钱的其实不是这些人,而是教你怎么直播带货,教你怎么直播打赏,教你怎么拍段子的人,他们才是真正赚到钱的人,闷声发大财的就是这些人。同理可证,培训特色小吃也肯定是一个风口,而这些教你怎么搞特色小餐饮的人要比自己亲自做的人要赚很多钱。就从某团被反垄断罚了30个亿以后,就释放出了一个信号,就是中小企业的发展,真正的福利要来了,国家鼓励全民创富,谁在中间设障碍,谁就是全民的公敌。 据我分析,全民创富必然会鼓励全民创业,因为全民打工永远富不起来,只有全民创业才能带动经济。以后必然会有很多的低学历,本金少的人进入小餐饮行业,这些人什么都不懂,对他们来说,能够快速的学会诸如麻辣鸭脖,碳烤五花肉,油炸豆腐脑等等,哪怕只是学会一个单品,简单易懂,三天就能学会,以后推个小车,支个地摊儿就能干,而且投入成本仅仅需要几千块钱,有人可能会说,教这些东西我也不会呀,不会没关系,就像开饭店的老板,不见得非得自己炒菜,你也可以找会的人跟你们一起合作,比如你们当地那些小摊,哪些东西好吃,哪些小饭店比较火的,你总知道吧,让他们把做菜的视频录下来,然后你剪辑好以后,传到各大的视频平台,收徒就可以了,你负责招收学员,他们负责培训,大家几几分成就好了,听起来是不是有点动心了呢? 2、资源整合变现类;做任务+虚拟资源项目; 俗话说:“挖矿的不如送水的”。一座金矿被开采,有很多人来挖矿,周边卖水的,卖吃的,卖工具设备的也变得多了起来。挖矿的能挣钱,那么卖水的也能挣钱,可是挖矿的人多了,竞争越发激烈。提供水,提供吃的,提供工具设备的人,虽然也多了,但是竞争永远比不上挖矿的激烈程度。因为挖矿的人,永远需要水,需要吃的,需要工具设备等。 如果说互联网是一座金矿,那么在这里谋生的人就是挖矿人,而送水的就是为互联网从业者提供工具、资源、数据、素材的人,这里要跟大家说的就是其中的一个“送水项目”,就是卖虚拟产品,虚拟产品相信大家并不陌生,它的类型比较多,比如小吃技术、视频教程、学习资料、文档模板等等,这些都统称为虚拟产品。随着互联网发展和生活水平的提高,知识付费类的资料,越来越多人的需求也呈现了爆发式增长。 因为虚拟产品不需要积压库存、无需物流且可以无限复制,可以说是一本万利。以一位朋友为例,也就是半年的时间,他的收入就已经超过之前工资的好几倍了,可以说是顺风顺水。同时,他选的平台也非常好,不仅有大量的虚拟资源可以提供,而且还能做做任务赚钱。除此之外,平台每天都会更新最新的互联网项目教程,非常适合刚刚接触网赚的新手。 用他的话来说,本来一开始只是想在“鑫光宝库”里做做任务赚点外快,一不小心就发现了平台上还有这么好的资源库,所以按照上面的教程就做了起来。 我简单归纳了一下朋友这个项目的几个特点: (1)适合新手 对于网络新手来说操作虚拟产品比卖实物更合适,特别是一些没经验、没背景、没有资金投入的普通人,这是一个非常容易上手的创业和副业捷径。特别是选择平台,一定要特别注意,像“鑫光宝库”这种老牌的网赚软件对于新手小白还是非常友好的,感兴趣的朋友可以自行搜索。 (2)成本低 我们都知道,现在开个实体店铺至少需要几万块钱才能做下来,而且这仅仅只是房租和一些装修费用,如果再加上商品投入的话,恐怕没有十来万块钱的什么也做不了。而虚拟产品几乎没有什么成本,一台电脑一部手机即可操作。 (3)利润高 虚拟产品卖出去赚取的收益都是很高的,一个包装和营销做得好的课程,用户需求量大的话,卖上几千上万都是有可能的,所以虚拟产品是很暴利的。 (4)无需物流和售后 虚拟资源不同于实物产品,实物产品还需要物流发货和售后等环节,而虚拟产品是不需要物流发货,也没有售后跟质量的问题,客户下单后就可直接下载。 (5)无限复制售卖 3、快递代收点 快递代收的加盟门槛是比较低的,加盟流程也比较简单。而社区快递服务站的利润多少主要取决于:你签下的房租是多少,房租贵了基本白干。 所以要注意,合适的店址很关键,要想在小区附近开快递代收点,一定要提前做好调研。认准入住量比较大的小区,入住量大的话,代收代寄包裹的量肯定就很大,赚钱自然轻松! 快递代收点盈利主要有以下几种方式: ①快递代收:一般快递公司代收一件快递在5毛左右,这个需要跟快递员谈价格。我们这边一个快递3毛3,有些件5毛钱。1000户的小区,按照一天400个代收快递计算,除去短信费3分,一天120元的收入。这部分一个月3600元。 ②快递代寄。快递代寄还是可以盈利的,省内件大多是8块起,超重一般是2-4块钱,其他省份根据距离,费用也各不同,但是可以给你算平均能盈利多少。 我们这边快递公司给驿站的价格是6块,驿站找消费者收取8/10/12不等的费用,赚取这个中间的差价。 按照寄件量是收件量的10%来算,代收400个快递,我这边小区每天差不多能代寄40个快递,正常一个月能搞个4800块钱。618、双11、双12、春节之类节日的时候,是旺季,代寄代收会多很多。 除了这些主业务之外,小区驿站还有额外盈利。 比如广告收入。因为快递驿站是整个小区流量最大的地方,所以其他商铺都在他这里放一个广告易拉宝,一个易拉宝一个月300块钱,一共有4个,一个月总收入1200。再比如社群团购。这个是大头,就拿来仔细讲一讲。因为每个业主收发快递都加了他的微信,上千人的客户沉淀,他利用这些客户做了社群的团购,每天团购不同的产品。 举个例子,比如草莓,他去找我们当地草莓种植户谈价,他有上千个客户,一个客户需求按3斤来算,他要3000斤,分三天要,要求给他个最低价。草莓零售20块钱一斤,给他协议价供货价15块钱,快递驿站团购价18块钱,一斤草莓利润3块钱。然后让草莓园老板拉到店里,团购业主过来拿快递时候自己拿走就行了。 另外还有一部分没有参加团购的业主过来收拿快递的时候看到这个草莓品相还不错啊,就会顺手买一篮子,等于团购+零售两手抓。一场团购最低也挣钱1000块钱。 平时团购类型有红薯,土鸡蛋,粉条,都是大批量的日常需求。有些是别人送货上门,有些是他自己拉到商铺里。算下来整个利润还是不错的,团购现在几乎一年有最低几万块钱的收入。 这些抵消了房租和自己的工资,能让快递业主收入是自己的纯利润。算下来一年能有十一二万的收入。 不过有利也有弊,干这个驿站太累太熬人了,更适合那些初创业,没有太多资金,想搞第一桶金的人来做。 4.python爬虫兼职 -END- 学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助! 包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、自动化测试带你从零基础系统性的学好Python! 👉[CSDN大礼包:《python安装工具&全套学习资料》免费分享](安全链接,放心点击) 👉Python学习大礼包👈 👉Python学习路线汇总👈 Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈) 👉Python必备开发工具👈 温馨提示:篇幅有限,已打包文件夹,获取方式在:文末 👉Python实战案例👈 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。 👉Python书籍和视频合集👈 观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 👉Python面试刷题👈 👉Python副业兼职路线👈 这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以点击链接免费领取或者保存图片到wx扫描二v码免费领取 【保证100%免费】 👉[CSDN大礼包:《python安装工具&全套学习资料》免费分享](安全链接,放心点击)

机器学习 前馈神经网络

人工神经网络(Artificial Neural Network,ANN)是指一系列受生物学和神经科学启发的数学模型.这些模型主要是通过对人脑的神经元网络进行抽象,构建人工神经元,并按照一定拓扑结构来建立人工神经元之间的连接,来模拟生物神经网络.在人工智能领域,人工神经网络也常常简称为神经网络(NeuralNetwork,NN)或神经模型。 神经网络最早是作为一种主要的连接主义模型。20 世纪 80 年代中后期,最流行的一种连接主义模型是分布式并行处理(Parallel Distributed Processing,PDP)模型,其有 3个主要特性:1)信息表示是分布式的(非局部的);2)记忆和知识是存储在单元之间的连接上;3)通过逐渐改变单元之间的连接强度来学习新的知识。 连接主义的神经网络有着多种多样的网络结构以及学习方法,虽然早期模型强调模型的生物学合理性(Biological Plausibility),但后期更关注对某种特定认知能力的模拟,比如物体识别、语言理解等.尤其在引入误差反向传播来改进其学习能力之后,神经网络也越来越多地应用在各种机器学习任务上。随着训练数据的增多以及(并行)计算能力的增强,神经网络在很多机器学习任务上已经取得了很大的突破,特别是在语音、图像等感知信号的处理上,神经网络表现出了卓越的学习能力。 从机器学习的角度来看,神经网络一般可以看作一个非线性模型,其基本组成单元为具有非线性激活函数的神经元,通过大量神经元之间的连接,使得神经网络成为一种高度非线性的模型.神经元之间的连接权重就是需要学习的参数,可以在机器学习的框架下通过梯度下降方法来进行学习。 神经元 人工神经元(Artificial Neuron),简称神经元(Neuron),是构成神经网络的基本单元,其主要是模拟生物神经元的结构和特性,接收一组输入信号并产生输出。 生物学家在 20 世纪初就发现了生物神经元的结构.一个生物神经元通常具有多个树突和一条轴突.树突用来接收信息,轴突用来发送信息.当神经元所获得的输入信号的积累超过某个阈值时,它就处于兴奋状态,产生电脉冲.轴突尾端有许多末梢可以给其他神经元的树突产生连接(突触),并将电脉冲信号传递给其他神经元。 1943 年,心理学家 McCulloch 和数学家 Pitts 根据生物神经元的结构,提出了一种非常简单的神经元模型,MP神经元.现代神经网络中的神经元和 MP 神经元的结构并无太多变化.不同的是,MP 神经元中的激活函数𝑓 为0或1的阶跃函数,而现代神经元中的激活函数通常要求是连续可导的函数。 假设一个神经元接收𝐷 个输入𝑥1, 𝑥2, ⋯ , 𝑥𝐷,令向量𝒙 = [𝑥1; 𝑥2; ⋯ ; 𝑥𝐷]来表示这组输入,并用净输入(Net Input)𝑧 ∈ ℝ表示一个神经元所获得的输入信号𝒙的加权和。 其中𝒘 = [𝑤1; 𝑤2; ⋯ ; 𝑤𝐷] ∈ ℝ𝐷 是𝐷 维的权重向量,𝑏 ∈ ℝ是偏置.净输入𝑧在经过一个非线性函数𝑓(⋅)后,得到神经元的活性值(Activation)𝑎, 𝑎 = 𝑓(𝑧), 其中非线性函数𝑓(⋅)称为激活函数(Activation Function)。 图中给出了一个典型的神经元结构示例. 激活函数在神经元中非常重要的.为了增强网络的表示能力和学习能力,激活函数需要具备以下几点性质: (1) 连续并可导(允许少数点上不可导)的非线性函数.可导的激活函数可以直接利用数值优化的方法来学习网络参数。 (2) 激活函数及其导函数要尽可能的简单,有利于提高网络计算效率。 (3) 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性。

Python+Pycharm+OpenCV安装教程新手入门

首先给大家普及一下概念: Python 解释器 -> 解释执行.py 代码文件Pycharm 开发工具 -> 编写和运行代码文件OpenCV 第三方库 -> 提供图像处理的函数 安装包领取 需要获取Python安装包和pycahrm安装包、激活码的同学,可以扫描二v码免费领取。 一、安装Python解释器 由于 Python 官网是国外网站,打开和下载比较慢,霸夫老师已经提前帮你下载好了,你只要根据自己系统直接点击下面的链接就可以下载和安装了,速度会比较快。 Windows系统 64位:python-3.8.10-amd64.exe https://z4gvregzdz.feishu.cn/file/boxcnpwHg0N7WvoWVYtSJB8z1fd 苹果电脑Mac系统:python-3.10.1-macos11.pkg https://z4gvregzdz.feishu.cn/file/boxcnWTeSf67zPA9WJfR8t1ejGe (复制地址到浏览器里按回车) 下载完成后,双击 Python 安装文件按照指引不断点击下一步就可以完成安装了。 具体步骤如下: 双击安装文件: 请注意,一定要勾选 Add Python 3.8 to PATH,这样可以将 Python 命令工具所在目录添加到系统 Path 环境变量中,以后开发程序或者运行 Python 命令会非常方便。 接下来按图示操作即可,简单的不要不要的。 到此windows Python安装完毕。 二、安装PyCharm 安装完成后,桌面上是看不到软件图标的,我们还需要安装编写或修改代码的工具:Pycharm PyCharm是一种 Python 开发工具,带有一整套可以帮助用户在使用 Python 语言开发时提高其效率的工具,比如 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。 总而言之,就是很牛逼。 下面我来带大家安装、配置 PyCharm,这里推荐社区版,因为是免费的。同样的霸夫老师也提供了下载好的安装包。 下载地址:https://z4gvregzdz.feishu.cn/file/boxcnOkNdd0FSz3WmoLzBR7qqgg (复制地址到浏览器里按回车) 下载完成后即可安装,具体如下操作: 双击安装文件,点击Next 可选择自定义路径安装,也可以使用默认路径。 参考下图全勾上,点击 Next 直接点击Install安装 直接Next下一步 点击 Finish, Pycharm就安装成功了。 三、安装opencv 恭喜你成功安装和配置好了开发环境,接下来我们就开始创建项目:

Microsoft Project 各版本安装指南

Project 下载链接 https://pan.baidu.com/s/1GsN_VFqvE5vtQbNiN9uzqQ?pwd=0531 1.解压安装包:鼠标右击【Project2021】压缩包选择【解压到 Project2021】(Win11系统先点击“显示更多选项”)。 2.打开解压后的文件夹,鼠标右击【Setup】选择【以管理员身份运行】。 3.软件安装中…… 4.点击【关闭】。 5.打开安装包解压后的【Project2021】文件夹,鼠标右击【Crack】选择【解压到当前文件夹】(Win11系统先点击“显示更多选项”)。①解压【Crack】前:先关闭“所有杀毒软件(部分电脑自带的“迈克菲”也要关闭)、防火墙、Windows Defender”,否则可能会被杀毒软件误杀无法运行。 6.鼠标右击解压出来的【Crack】选择【以管理员身份运行】。 7.点击【开始】。 8.等待激活完成…… 9.点击【确定】。 10.点击桌面任务栏中的【开始】图标,找到并点击【Project】启动软件。 11.安装成功! Microsoft Project使用教程 一、新建项目 1. Project界面操作 “文件” -→ “新建” -→ “空白项目” 建议在最左侧的“甘特图”栏上右键,选择“视图栏” 切换后,左侧栏会展示所有视图名称,方便切换各种不同的视图 2.设置项目信息 工具栏 “项目” -→ “项目信息”,设置 “日程排定方法”,一般选择 “项目开始日期”,即正序。 然后设置 “项目开始日期” 。 日历,一般使用的标准日历,也可以自定义,在 “项目” -→ "更改工作时间" 里面可以新建日历 3.录入资源 在左侧边栏选择 “资源工作表” 视图,录入资源后,可以告一段落,先保存项目文件。 然后设置 “任务模式”,建议先全部设置为 “自动安排”,点击甘特图视图窗口中的表格窗口左上角,全选任务,然后在工具栏 “任务” 下点击 “自动安排” 插入周期性任务的方法,可以点击 “任务” 工具栏 下拉列表中的 “周期性任务” 二、编制项目范围计划 1. 输入任务 切换到 “甘特图” 视图窗口,在 “任务名称” 列输入任务,也可以复制粘贴Excel中提前准备好的任务名称 2. 编制工作分解结构(WBS) 默认所有工作任务都是第一级,选中需要修改的任务,点击 “任务” 下 “日程” 卡片中的 “降级任务” 向右箭头按钮,可以将任务降级为上一个任务的子任务。

全国计算机二级WPS Office题库(四)| 免费真题+答案解析

根据最新考试大纲要求,结合近年来考试真题的重难点进行汇编整理组成的全真模拟试题,考生们可以根据文章进行专项训练,查漏补缺巩固知识点。 我们对热点考题和重难点题目都进行了仔细的整理和编辑,相信考生在经过了针对性的刷题联系后,对于考试内容会更加有自信和把握。 (答案可在文章末尾处查看) \1. 下列叙述中正确的是 A .线性表是线性结构 B .栈与队列是非线性结构 C .线性链表是非线性结构 D .二叉树是线性结构 \2. 数据的存储结构是指()。 A .存储在外存中的数据 B .数据所占的存储空间量 C .数据在计算机中的顺序存储方式 D .数据的逻辑结构在计算机中的表示 \3. 下列关于队列的叙述中正确的是______。 答案在文末 A .在队列中只能插入数据 B .在队列中只能删除数据 C .队列是先进先出的线性表 D .队列是先进后出的线性表 \4. 下列说法中,不属于数据模型所描述的内容的是()。 A .数据结构 B .数据操作 C .数据查询 D .数据约束 \5. 在WPS文档窗口的工作区里,闪烁的小竖条表示光标位置。() A .对 B .错 \6. 在wps的公式里,加、减、乘、除符号分别为()答案在文末 A .±﹡/ B .±×÷ C .±﹡÷ D .±×/ \7. WPS表格中,列标保持不变,行号改变,下列引用形式正确的是()。 A .A1 B .$A1 C .$A$1 D .

C语言Dev C++的下载与安装

Dev C++ Dev-C++是Windows环境下的一个的轻量级 C/C++集成开发环境,体积小,安装卸载方便,非常适合初学者使用。 Dev C++的官方下载地址: https://sourceforge.net/projects/orwelldevcpp/ 第一步 下载安装 Dev C++ 下载完成后会得到一个安装包(.exe 程序),双击该文件即可开始安装。 Dev C++支持多国语言,包括简体中文,在安装过程中我们选择英文。 同意 Dev C++ 的条款,点击I Agree 选择要安装的组件,一般选全部Full 选择安装路径,尽量不要中文路径 等待安装,一般一两分钟 安装结束,点击Run DevC++结束安装时启动 第二步 配置 第一次启动软件之后会提示选择语言,选择简体中文 选择喜欢的字体和颜色与主题 设置成功运行,开始写代码 说句题外话 今年很多人都在讨论一个问题:就业形势险峻,毕业生们怎么办? 错过了春招,秋招竞争激励,现在投了几十份简历却还都石沉大海,22/23届同学烦得头都快秃了。 其实你没事多去招聘网站上看看,你会发现不少基础岗位的招聘都写上了对python的技能要求,这也就意味着,会写程序的人会更吃香。 现在的社会,时代已经不同了,它在加速淘汰不会学习的人,所以大学期间多学点东西,不要毫无准备的去接受社会的毒打! 就算是在非专业技术领域python几乎都可以用到,特别是自动化办公和数据处理方面,python有独特的优势。而python入门相对简单,对大学生来说是一门好上手学的编程语言,就算不是找工作,利用python兼职赚点零花钱也不错啊! 如今是一个大数据的时代,Python 在行为收集和数据分析,信息采集等方面的应用已经非常非常普遍,早就不是程序员的专属技能了。就像 office 一样,是Python 已经成为了进入职场的必备技能。不是很意外,但这就是正在发生的大趋势。 Python的特点 1.需求大:百度、新浪、搜狐、淘宝、腾讯QQ等大部门的互联网相关企业都在利用Python,对Python的人才需求很大。 2.开展空间广:在无孔不入的互联网使用情况下,人工智能、大数据等领域非常适合Python的发展,这也就阐明了挑选进修Python将会有很不错的发展空间。 3.简单易学:小学生也可以上手学习的计算机语言。举个例子一个程序用C语言需要1000行的代码,用JAVA需要写100行,但是如果用Python你只需要20行,语法很简洁。 Python岗位薪资水平如何? Python如何学习? 今天只要你给我的文章点赞,我私藏的Python学习资料一样免费共享给你们,来看看有哪些东西。 Python学习大礼包 Python入门到精通背记手册 因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取 👉[CSDN大礼包:《python安装工具&全套学习资料》免费分享](安全链接,放心点击) Python安装包 Python爬虫秘籍 Python数据分析全套资源 因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取 👉CSDN大礼包:《python入门&进阶学习资源包》免费分享 Python实现办公自动化全套教程 Python面试集锦和简历模板 Python副业兼职路线 资料领取 👉[CSDN大礼包:《python安装工具&全套学习资料》免费分享](安全链接,放心点击)

猫头虎博主第9期赠书活动:《YOLO目标检测》计算机AI视觉实战YOLO人工智能目标检测与跟踪图像处理深度学习图像检测书籍

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通Golang》 — Go语言学习之旅! 文章目录 猫头虎博主第9期赠书活动:《YOLO目标检测》计算机AI视觉实战YOLO人工智能目标检测与跟踪图像处理深度学习图像检测书籍📖 关于这本书为什么选择这本书? 🤔书籍内容概览 📚谁适合阅读这本书?个人读后感 - 深入探索《YOLO目标检测》 🥇 赠书活动规则📣 为什么你应该参与? 猫头虎博主第9期赠书活动:《YOLO目标检测》计算机AI视觉实战YOLO人工智能目标检测与跟踪图像处理深度学习图像检测书籍 📌 摘要 🚀 大消息来啦!猫头虎博主赠书第9期火热启动🔥!这次,我为大家精选了《YOLO目标检测》计算机AI视觉实战YOLO人工智能目标检测与跟踪图像处理深度学习图像检测书籍📚。想要免费拿到这本书?简单到不能再简单:关注我的博客✨,添加我的wx📲,在文章下方留言 "我要学习YOLO! !!"💬。1月12日,我将为大家挑选出②位幸运读者🎁,并在评论区与wx朋友圈大方展示!手里还藏着宝贵的源代码,等你来夺🌈!赶快行动起来,机会难得! 📢 引言 亲爱的朋友们,大家好!👋是我,猫头虎博主!今天,我为大家带来了猫头虎博主赠书9期的特别惊喜🎊!这次我将赠送的是一本精心挑选的 《YOLO目标检测》 🌟。这本书内容丰富,无论你是新手还是老鸟,都能找到属于你的知识宝藏🔍。希望大家能喜欢这个小惊喜,和我一起分享这场编程的盛宴!🥳 📖 关于这本书 为什么选择这本书? 🤔 推荐理由:《YOLO目标检测》不仅详细介绍了YOLO框架的技术原理,还包含了丰富的实战内容和代码实现,是目标检测领域的理想入门书。无论是初学者、算法工程师还是软件工程师,都能从中获得宝贵的知识和实践经验。 书籍内容概览 📚 👀 本书分为四个部分,详细讲解了从YOLOv1到YOLOv4的网络结构、检测原理和训练策略,以及YOLOX和YOLOv7等新型框架的设计理念和技术细节。同时,还介绍了如DETR、YOLOF和FCOS等其他流行目标检测框架。 想了解更多关于《YOLO目标检测》的内容,请点击: 《YOLO目标检测》 🔗 京东购书链接 谁适合阅读这本书? 适合人群:对目标检测、计算机视觉领域感兴趣的初学者和专业人士,包括学生、教师、研究人员和开发者等。 个人读后感 - 深入探索《YOLO目标检测》 🌟 在阅读《YOLO目标检测》这本书后,我深刻体会到了作者对目标检测领域的深入洞察和全面掌握。这不仅是一本讲解技术原理的书籍,更是一份实践操作的指南。书中提供的大量可复现的代码,是理论与实践紧密结合的最佳示例。作者通过严谨的研究态度和易于理解的表达方式,使得读者能够迅速地理解和掌握关键的技术细节。 🔍 更令人印象深刻的是,书中对于YOLO框架的全面解析。从YOLOv1的“网格划分”思想到YOLOv2、v3、v4的技术演进,再到最新的YOLOX和YOLOv7的技术革新,每一步都有详尽的介绍和实际代码的支撑。读者不仅能学习到YOLO框架的技术细节,还能了解到目标检测领域的最新发展趋势。 🚀 此外,书中对DETR、YOLOF和FCOS等其他流行目标检测框架的探讨,为读者提供了更广阔的视野。这些内容不仅增强了对YOLO框架的理解,还帮助读者将知识应用于更多元的场景中。 总而言之,《YOLO目标检测》不只是一本技术手册,它更是一本引领读者深入了解并实践目标检测领域的指南。对于每一个想要在这一领域深造的朋友来说,都是一份不可多得的宝贵资源。 🥇 赠书活动规则 🌟关注我的博客:只要你关注,所有新鲜的博客文章和活动信息都不会错过。📲添加博主wx:文章末尾有我的名片哦,记得添加LiBin9iOak,如果添加不了,请文末扫码。💬留言参与:留言 "我要学习YOLO! !!" 即可。🎁公布结果:2024年1月12日,我会亲自抽取②名幸运读者,并在评论区和wx朋友圈公布。 📣 为什么你应该参与? 这是一个难得的机会,你不仅有机会获得这本高质量、实用性极强的书,还有附带的源代码。对于每一个对计算机视觉和AI技术有兴趣的朋友来说,这都是一个非常难得的学习机会。🚀

【QT】计算器-模拟实现

目录 准本工作 槽函数实现 数字按键槽函数 退格槽函数 运算符 按键 槽函数 等号槽函数 初始化及计算器页面布局 整体代码 widget.h widget.cpp 准本工作 工程创建: 计算器模拟实现需求分析: 样式预览: 🎠主要功能:能够完成 加减乘除 运算。 🎠其他: ●文本框显示运算数以及运算结果。 ●提供退格键,功能是清除已经输入到文本框中的数字。 由上述需求分析及预览效果图可知,我们需要显示的内容大致分为一下几个部分: 1.显示数据的文本框 和 删除数据的 “<” 按钮。 2.【0,9】 数字按钮显示。 3.【加 减 乘 除 等号】按钮显示。 ●整体结构预览 槽函数实现 数字按键槽函数 函数介绍: ●QLineEdit是一个单行文本编辑控件。通过该控件可以 编辑单行文本,比如撤销、恢复、剪切、粘贴以及拖放等。 常用方法包括: sender()是Qbject类的方法,如果在由信号激活的插槽中调用该函数,返回指向发送信号的对象的指针,否则返回0,该指针仅在从该对象的线程上下文调用此函数的槽执行期间有效。 代码实现: void Widget::num_pressed() { //提取按键信息 QPushButton* xbt = static_cast<QPushButton*>( sender() ); //显示数据再文本框中 lcd->setText( lcd->text().append(xbt->text()) ); } 退格槽函数 代码实现: void Widget::del_num() { QString str = lcd->text(); str.

MFC结合GDI+

MFC结合GDI+ 创建一个空的MFC界面,在确定按钮函数里进行画图: 1、包含头文件与库 在stdafx.h中加入以下三行代码: #include "gdiplus.h" using namespace Gdiplus; #pragma comment(lib, "gdiplus.lib") 2、安装GDI+ 在使用GDI+之前要进行安装,否则程序不会报错,但绘图不成功。安装方法如下: GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); 安装完成后就可以使用GDI+进行绘图了…… 3、卸载GDI+ 卸载调用如下函数即可 GdiplusShutdown(gdiplusToken); 在确定按钮触发函数里添加如下画图函数: Graphics graphics(this->GetDC()->m_hDC); Pen greenPen(Color::Green, 3); PointF point1(100.0f, 100.0f);//开始点 PointF point2(200.0f, 50.0f); PointF point3(400.0f, 10.0f); PointF point4(500.0f, 100.0f); PointF point5(600.0f, 200.0f); PointF point6(700.0f, 400.0f); PointF point7(500.0f, 500.0f);//结束点 PointF curvePoints[7] = { point1, point2, point3, point4, point5, point6, point7 }; PointF* pcurvePoints = curvePoints; //画闭合曲线 graphics.

编程笔记 html5&css&js 030 HTML音频

编程笔记 html5&css&js 030 HTML音频 一、`<audio>`元素二、属性三、事件三、使用 CSS 设置样式练习小结 有时候网页上也需要嵌入音频。比如播放歌曲或老师讲课的音频等。 一、<audio>元素 <audio> HTML 元素用于在文档中嵌入音频内容。<audio> 元素可以包含一个或多个音频资源,这些音频资源可以使用 src 属性或者 <source> 元素来进行描述:浏览器将会选择最合适的一个来使用。也可以使用 MediaStream 将这个元素用于流式媒体。 二、属性 该元素包含全局属性。 autoplay 布尔值属性;声明该属性,音频会尽快自动播放,不会等待整个音频文件下载完成。 备注: 自动播放音频(或有声视频)可能会破坏用户体验,所以应该尽可能避免。如果你一定要提供自动播放功能,你应该加入开关(让用户主动打开自动播放)。然而,如果需要创建一些媒体元素,其播放源由用户在稍后设置,自动播放就会很有用。想了解如果正确使用自动播放,可参见我们的自动播放指南。 controls 如果声明了该属性,浏览器将提供一个包含声音,播放进度,播放暂停的控制面板,让用户可以控制音频的播放。 crossorigin 枚举属性 展示音频资源是否可以通过 CORS 加载。支持 CORS 的资源可以被 元素复用而不污染。可选值如下: anonymous 在发送跨域请求时不携带验证信息。换句话说,浏览器在发送Origin: HTTP 请求首部时将不携带 cookie、X.509 安全令牌、也不会执行任何 HTTP 基本认证。如果服务器没有给予源站信任(也就是说没有设置 Access-Control-Allow-Origin: 响应首部),那么图片就被认为是污染的,它就会被限制使用。 use-credentials 在发送跨域请求时携带验证信息。换句话说,在发送Origin: HTTP 请求首部时将携带 cookie、安全令牌、并且执行 HTTP 基本认证。如果服务器没有给予源站信任(通过设置Access-Control-Allow-Credentials: 响应首部)那么图片就被认为是污染的,它就会被限制使用。在未指定时,资源将不通过 CORS 请求来获取(也就是不发送 Origin:请求首部),以保护 元素中未污染的内容。如果验证失败,它会表现的好像 anonymous 选项是选中的。查看 CORS settings attributes (en-US) 来获取更多信息。 currentTime 读取 currentTime 属性将返回一个双精度浮点值,用以标明以秒为单位的当前音频的播放位置。如果音频的元数据暂时无法访问——这意味着你无法的知道媒体的开始或持续时间。这时,currentTime 相对应的,能够被用于改变重播的时间。否则,设置 currentTime 将设置当前的播放位置,并且会自动搜寻到媒体的那个位置,如果媒体目前已经被加载的话。如果音频是以流的形式加载的,并且数据超出了媒体的缓冲区(buffer),user agent 可能无法获取资源的某些部分。另一些音频的时间轴可能并非从 0 秒开始,所以设置 currentTime 到一个开始时间之前的时间可能会失败。举个例子,如果音频媒体的时间轴从 12 小时开始,把 currentTime 设置到 3600 将会尝试把当前播放位置设置到媒体的开始位置之前,从而导致错误。getStartDate() 方法能够用于确定媒体时间轴的开始位置。

C++设计模式 --1.工厂模式和单例模式

文章目录 1.工厂模式简单工厂模式工厂方法模式抽象工厂模式 2.单例模式懒汉式饿汉式 1.工厂模式 简单工厂模式 抽象产品类 //定义一个抽象水果类 --抽象产品角色 class AbstractFruit { public: virtual void showFruitName()=0;//抽取出产品的公共行为, 纯虚函数 virtual ~AbstractFruit(){};//虚析构函数 -- 做为顶层基类,一定要显示定义虚析构函数,防止内存溢出 }; 具体产品类 //苹果类 -- 具体产品角色 class Apple : public AbstractFruit { public: virtual void showFruitName() override { cout << "this is an apple" <<endl; } }; //鸭梨类 -- 具体产品角色 class Pear : public AbstractFruit { public: virtual void showFruitName() override { cout << "this is a pear" <<endl; } }; //香蕉类 -- 具体产品角色 class Banana : public AbstractFruit { public: virtual void showFruitName() override { cout << "

python基础教程八(循环1)

1. while循环 为避免多次重复的代码,我们会用到循环 while (condition): 执行语句 while循环的结构非常简单只要条件满足就一直循环直到,条件不满足为止。 例子如下: x=1 while x<=100: print(x) x+=1 结果就是最简单的输出1-100的数字 while循环适合那种没有确定次数,变化规律不是很明显,只是知道何时应该停止的循环。如果知道具体次数那就更适合下面这种循环for 2. for循环 while语句非常灵活,可在条件为真时反复执行代码块。,但有时你可能想根据需要进行定制。一种这样的需求是序列(或其他可迭代对象)中每个元素执行的代码块 注意:基本上可迭代对象是可使用for循环进行遍历的对象。 为此,可使用for语句: >>> words=['this','is','an','ex','parrot'] >>> for word in words: ... print(word) ... this is an ex parrot 1. range 鉴于迭代(也就是遍历)特定范围的内的数是一种常见的任务,python提供了一个创建范围的内置函数range >>> range(0,10) range(0, 10) >>> list(range(0,10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 范围类似于切片。它们包含起始位置(这里为0)但不包含结束位置(这里为10)。在很多情况下,你都希望起始为0.实际上,如果只提供一个位置,将把这个位置视为结束为止,并假定起始位置为0 >>> range(0,10) range(0, 10) 下面的程序打印数1~100: for i in range(1,101): print(i) 注意,相比前面的while循环,这些代码紧凑的多。 练习用for循环画正五角星 #王八默认朝右边 from turtle import * lt(72) for i in range(1,6): fd(100) rt(144) input("

Flask基本用法:一个HelloWorld,搭建服务、发起请求

目录 1、简介 2、安装 3、Flask使用示例 参考 1、简介 官网文档 Flask是一个轻量的web服务框架,我们可以利用它快速搭建一个服务,对外提供接口,其他人可以轻松调用我们的服务。这对算法工程师来说比较关键,我们通常不擅长搞开发,这种框架十分适合将算法封装成服务的形式提供给其他人使用。 更多介绍可从搜索引擎找到,这里不过多介绍。我们直接给出一个使用示例,相信大家看了后能快速掌握Flask的基本用法。 2、安装 安装十分简单,首先需要你有个python环境,这里不过多介绍;然后进入你的环境,使用pip安装即可: pip install Flask 3、Flask使用示例 3.1 server编写 首先,编写一个server.py,作为服务: from flask import Flask, request app = Flask("Demo") @app.route('/hello', methods=['POST', 'GET']) def display(): return {"message": "HelloFlask!", "status": 0} @app.route('/send_snapshot', methods=['POST']) def process_snapshot(): # get post data data = request.get_json() print("got post data: {}".format(data)) # process ... result = { "status": 0, "message": "send success!", } return result if __name__ == '__main__': app.

Python +=和=+的区别

一、前言 在Python编程中,有两种常用的方式来给一个变量增加一个值,即x+=a和x=x+a。尽管它们在表达上略有不同,但它们最终都完成了给变量增加一个值的操作。本文将详细解释x+=a和x=x+a的区别,并提供示例来帮助理解。 二、=+和+=的区别 x=3 x+=1 print(x) # x=4 x=3 x=x+1 print(x) # x=4 x=[1,2,3] x+=[4] print(x) # x=[1,2,3,4] x=[1,2,3] x=x+[4] print(x) # x=[1,2,3,4] 通过上面例子,我们发现,+=和=+这两种表达方式似乎可以相互替换,但事实并非如此,请看下面的例子: def fun1(x:list): x+=[4] x=[1,2,3] fun1(x) print(x) # x=[1,2,3,4] def fun2(x:list): x=x+[4] x=[1,2,3] fun2(x) print(x) # x=[1,2,3] 在这里=+与+=出现不同的结果,原因就在于"指针" 我们来看代码执行步骤: 1. 首先,主函数x=[1,2,3]在堆内存中开辟了一个列表空间[1,2,3],并且x指向这个列表 2.接着,调用fun函数,将主函数实参x传入,赋值给fun函数形参x,所以fun函数内的形参x也指向这个列表 2.1 对于fun1 , x+=[4] 直接在x指向的内存上进行自增,改变了这个列表数据,所以调用fun1后,打印x的结果是[1,2,3,4] 2.2 而对于fun2,x=x+[4],这里的x+[4]创建了一个新的列表,而后将新的列表分配给形参x,而主函数中的实参x没有改变,所以调用fun2后,打印x结果为[1,2,3] 三、结论 在一般情况下,x=x+a与x+=a可以等效替换,但是,在遇到非基础数据类型(如list等)的函数传参时,函数内的x=x+a操作会改变形参的指向,而非自增,需要注意这个问题。 补充: 基础数据类型(如int等)是不可变类型,存储在栈内存中而非堆内存,函数调用为值传递并非引用传递,函数内的任何操作与函数外的变量无关,所以没有指针改变指向的问题

一文详解VScode 的远程开发

VS code登录服务器后进行编码和调试,VS code上的所有功能都可以使用,和在本地开发基本无区别。 一、配置免密远程登录 因为是要远程登录,那么需要通过使用ssh进行密钥对登录,这样每次登录服务器就可以不用输入密码了。 先来一句官方介绍: ssh 公钥认证是一种方便、高安全性的身份验证方法,它将本地“私有”密钥与远程主机上与用户关联的“公共”密钥进行匹配,从而实现免密登录。 接下来介绍如何生成密钥并将其添加到远程主机。 我是linux用户,就只介绍linux下的配置哈,mac和Windows用户可以查看 官方文档。 1、首先检查本地是否有已生成ssh密钥对,Linux用户查看是否存在公钥文件 ~/.ssh/id_rsa.pub和私钥文件~/.ssh/id_rsa。 如果没有,则用如下命令生成,一路回车即可: ssh-keygen -t rsa -b 4096 2、然后将本地公钥文件id_rsa.pub 的内容添加到远程主机用户目录下 .ssh 文件夹内名为 authorized_keys 的文件中。 不用去复制粘贴,使用命令ssh-copy-id来完成,输出结果如下 ~$ ssh-copy-id remote_user@remote_id /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys remote_user@remote_id's password: Number of key(s) added: 1 Now try logging into the machine, with: "

Open CV 图像处理基础:(一)Open CV 在windows环境初始化和 Java 动态库加载方式介绍

Open CV 在windows环境初始化和 Java 动态库加载方式介绍 Open CV是一个开源的计算机视觉和机器学习软件库,它提供了一系列的工具和程序库,让用户能够进行复杂的图像处理和计算机视觉任务。在Java中使用OpenCV涉及到环境初始化和动态库加载。以下是一些基本步骤和方法来设置OpenCV环境并在Java中加载相关的动态库。 OpenCV安装 官网 https://opencv.org/releases/page/2/ opencv-4.4.0下载 https://nchc.dl.sourceforge.net/project/opencvlibrary/4.4.0/opencv-4.4.0-vc14_vc15.exe 安装 双击安装选择安装目录等待安装完毕,jar包就在以下目录 D:\Program Files\opencv4.4\opencv\build\java 加载opencv-4.4.0.jar包 jar包引入 将OpenCV jar(例如 opencv-xxx.jar)添加到项目的类路径中。 如果你使用的是构建系统(如Maven或Gradle),需要确保适当的依赖项已经配置在你的构建文件中。 jar包资源目录我改了名称opencv-4.4.0.jar mavn-init.cmd mavn-init.cmd是一个批处理脚本,可以把jar包装载到本地maven仓库 @echo off chcp 65001 echo **************************************** echo 安装SDK依赖包到本地maven仓库 echo **************************************** call mvn install:install-file -DgroupId=org -DartifactId=opencv -Dversion=4.4.0 -Dpackaging=jar -Dfile=opencv-4.4.0.jar pause jar包装载到本地maven仓库 pom.xml maven引入本地仓库的opencv-4.4.0.jar包 <dependencies> <dependency> <groupId>org</groupId> <artifactId>opencv</artifactId> <scope>compile</scope> <version>4.4.0</version> </dependency> </dependencies> 加载动态库 加载动态库opencv_java440.dll: 关于动态库加载的讲解可以看我的另一篇文章 Java中加载本地库的方法:System.load与System.loadLibrary 这里我们简单介绍,实际使用自主选择 方式一:System.loadLibrary 添加OpenCV_DIR环境变量,指向OpenCV的安装目录或构建目录中的某个文件夹,通常是build/java或build/bin。 将OpenCV的bin目录(其中包含DLL文件)添加到系统的PATH环境变量中,以便系统可以找到OpenCV的动态链接库。 在Java中加载OpenCV的动态库通常涉及到System.loadLibrary方法。以下是加载OpenCV动态库的步骤: public class ImageBlur { static { // 加载 OpenCV 的本地库 System.

SpringBoot+策略模式实现多种文件存储模式

一、策略模式 背景 针对某种业务可能存在多种实现方式;传统方式是通过传统if…else…或者switch代码判断; 弊端: 代码可读性差扩展性差难以维护 策略模式简介 策略模式是一种行为型模式,它将对象和行为分开,将行为定义为一个行为接口和具体行为的实现。 组成: 抽象策略类(Strategy):策略的抽象;具体策略类(ConcreteStrategy):具体的策略实现,一种具体实现;环境类(Context):用来操作策略的上下文环境; 二、代码实现 以文件存储方式为例 抽象策略类 package com.qiangesoft.file.core; import org.springframework.web.multipart.MultipartFile; /** * 文件存储策略接口 * * @author qiangesoft * @date 2024-01-06 */ public interface FileStoreStrategy { /** * 存储方式 * * @return */ String getType(); /** * 上传文件 * * @param file * @return * @throws Exception */ void uploadFile(MultipartFile file) throws Exception; } 具体策略实现 本地存储 package com.qiangesoft.file.core.local; import com.qiangesoft.file.core.FileStoreStrategy; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import org.

天锐绿盾文档加密系统

绿盾文档加密系统是一种针对企业数据安全而设计的解决方案,旨在保护企业核心数据不被泄露。该系统由文件加密模块、内网安全模块等部分组成,主要功能包括对需要保护的文件进行强制加密保护,并对文件的使用进行全程监控。通过绿盾文档加密系统,企业可以实现“企业数据安全全方位守护”的目标。 PC端访问地址1:www.drhchina.com PC端访问地址2: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 在实际应用中,绿盾文档加密系统可以在服务器上安装绿盾服务端,然后在文件服务器和需要使用共享文件的电脑上安装绿盾终端。在绿盾服务端上创建若干终端帐户,绿盾终端使用这些帐户登入。只有安装了绿盾终端的电脑在登入帐户后才可以使用或查看加密的文件,离开局域网后需要使用或查看加密文件需要得到服务端的解密或者授权才可。安装绿盾终端用户的文件在创建、存储、应用、传输等环节中均以加密形式存在,可以杜绝黑客工具的窃取和监听。 绿盾文档加密系统可以应用于多个行业的数据安全保护,如金融贸易、军工、鞋服、医药卫生、政府、制造、建筑勘测、IT电子、电力、能源化工、汽车汽配、教育传媒等。通过该系统,企业可以有效防止内部员工主动或被动地泄露敏感数据,从而保护企业的商业利益和知识产权。 移动端访问地址: http://tinyurl.com/mtzxbpcu 总的来说,绿盾文档加密系统是一种高效、可靠的数据安全保护解决方案,适用于各种规模的企业用户。 #天锐绿盾文档加密系统#

VSCode使用技巧

选择python 解释器 使用快捷键Ctrl+Shift+P Python: Select Interpreter 快捷键 返回上一次光标的位置 重新设置一下 navigate

【笔记】用Python做手机多平台UI应用

最近一直在找一个简单的基于Python的多平台UI实现,特别是希望能比较好地支持手机端。 总结一下标准是: Python,最好能支持Numpy、Pandas等库无缝集成简单,不要考虑过多的实现细节,如html、css、qt等多端支持,特别是手机成熟,稳定,社区活跃 这样找了许多 PyQT,需要从C++和QT支持,不合适PyReact,ReactPy、TransriptKivyFlet等等 最后还是觉得Flet比较简洁,可以基于这个先抽象封装,以后还可以置换其他后端。 值得一提的是,做第一个尝试的失败。由于自己的包管理是用的miniforge也就是conda,所以就相当然conda install flet,别说还真有。不过这也就给自己埋了个坑,用了一个晚上才爬出来。——conda默认带的是0.1.52的flet,这个版本有bug,且功能有限。下载速度也比较慢,一个Helloworld用了一个小时才启动,还在启动时命令行报错websocket无法连接,甚至还有某些属性没有,调查以后实际这是多年前就解决了的bug,新版是不影响的。 最终结论,还是应该用官网的pip install flet来做,下次独立用virtualenv和pip搞就好。

世微AP9196 DC-DC 升压恒流电源管理芯 电解水驱动电源应用线路

AP9196 是一系列外围电路简洁的宽调光比升压调光恒流驱动器,适用于 3-40V 输入电压范围的 LED照明领域。AP9196 采用我司专利算法,可以实现高精度的恒流效果,输出电流恒流精度≤±3%,电压工作范围为5-40V,可以轻松满足锂电池及中低压的应用需求,输出耐压仅由MOS 耐压决定。芯片内部有本司专利的高精度恒流算法,确保 VIN的上电时间<500ms。PWM 调光信号内部转模拟,调光全程无频闪,支持1K 以上的调光频率,调光比 100:1。当 EN/DIM 拉低到 GND 超过 40ms,芯片自动进入休眠模式以降低功耗,此时待机电流<2uA,当 EN/DIM 端口拉高以后芯片重新启动。EN/DIM 管脚不能悬空,不使用时应与VIN 管脚短接在一起。芯片的输出电流通过 IFB 端口电阻来设定。支持过温降电流和输出过压保护 ​ 产品特性: 支持 100:1 调光比 工作电压范围 5-40V 启动电压 2.7V 转换效率>95% 超低待机功耗<2uA 真正无频闪调光 支持调光频率超过 32K 支持内部PWM 转模拟调光 内置 40VLDO 供电 恒流精度≤±3% 支持过温降电流 支持输出过压保护 封装:ESOP8 ​ 应用范围 户外照明 智能照明 带锂电应用方案 太阳能路灯 补光灯 ​​​

Exception sending a multicast message:Network is unreachable故障

出现这个故障就是没有连接到网络,如果虚拟机没有连接到本机,那么就会出现这个情况,当虚拟机连接到本机就会自动消失,同时如果是用电脑直接安装Ubuntu运行也会出现这个情况,应该是要连接到一个路由器里面这个情况才会消失

计算机网络—— 概述

概述 1.1 因特网概述 网络、互联网和因特网 网络由若干结点和连接这些结点的链路组成多个网络还可以通过路由器互联起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)。因特网(Internet)是世界上最大的互联网络 internet和Internet的区别 internet(互联网或互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。Internet(因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET 因特网的组成部分 边缘部分: ​ 由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。 核心部分: ​ 由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通信和交换)。 1.2 三种交换方式 电路交换(Circuit Switching) 电话交换机接通电话线的方式称为电路交换;从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;电路交换的三个步骤: 建立连接(分配通信资源)通话(一直占用通信资源)释放连接(归还通信资源) 分组交换(Packet Switching) 报文交换(Message Switching) 报文交换于分组交换类似,采取存储转发方式,但报文交换对报文的大小没有限制,要求交换节点由较大的存储空间。报文交换主要用于早期的电报通信网,现在较少使用,通常被分组交换方式所取代。 电路交换、报文交换、分组交换的对比 1.3 计算机网络的定义 计算机网络的精确定义并未统一 1.4 计算机网络的性能指标 速率 连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率或数据率基本单位:bit/s(b/s,bps),常用单位:Kb/s,Mb/s,Gb/s,Tb/s 带宽 用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”;单位与速率单位相同。 吞吐量 吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量;吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络;吞吐量受网络的带宽或额定速率的限制。 时延 发送时延 = 分组长度 (b) 发送速率 (b/s) 传播时延 = 信道长度 (m) 电磁波传播速率 (m/s) \begin{align*} & \text{发送时延} = \frac{\text{分组长度 (b)}}{\text{发送速率 (b/s)}} \\ & \text{传播时延} = \frac{\text{信道长度 (m)}}{\text{电磁波传播速率 (m/s)}} \\ \end{align*} ​发送时延=发送速率 (b/s)分组长度 (b)​传播时延=电磁波传播速率 (m/s)信道长度 (m)​​

程序员兼职做黑客 专攻购物网站半年获利50余万元

小伙李某(化名)是山东某著名高校信息与计算机专业的高材生。大学毕业以后,他先是到一家网络公司担任软件工程师,帮人写代码。后来,技术逐渐熟练以后,他跟朋友辞职一起创业,帮人承揽软件工程挣钱。一次偶然的机会,他认识了网上想要购买信息的人。他根据别人的需求,自己编写病毒定向攻击一些小型购物网站。盗取了个人信息后,在网上以每条1到3元的价格出售。看到兼职来钱快,他索性放弃了创业,在家当起了黑客,专门攻击网站获取数据,仅仅用了半年的时间就获利超过50万。最后,他被民警注意到,李沧公安分局李村派出所将其在家中抓获归案。 软件工程师兼职做黑客 李某是一名电脑高手,从学校毕业以后,就进入一家网络公司担任软件工程师。通过在公司里的学习,他掌握了更多的电脑软件方面的技巧。再加上在这方面的天赋,他逐渐学会一些黑客技术。 随着技术的逐渐成熟,他不满足于公司单调的工作以及不高的工资。于是,2017年他辞去工作,跟朋友一起创业,从事网络开发工作。主要负责从别人那里接单,然后负责制作软件。 同时,为了学习更多知识,他也在网上一些论坛里跟其他人交流。大约干了五六个月的时间,一个偶然的机会,他在网上看到一个人发信息,询问谁能搞到购物网站的信息,愿意出高价收购。因为初创业,他的收入并不高,而售卖信息的利润则非常可观。于是,他干脆放弃了创业,在家专门研究入侵技术,通过入侵其他网站来获取数据进行盗卖赚钱。 他利用自己的知识,制作了一个木马软件,然后攻击别人的网站,窃取信息进行盗卖。 根据用户需求攻击 小李说,他基本上都是通过一个黑产QQ群跟其他人取得联系。他们相互之间并不知道真实的名字,都是通过添加QQ好友来联系。一般交易的模式,都是“老板”提出希望攻击哪个网站,然后他就利用自己编写的病毒程序进行攻击。“病毒程序会对网站进行扫描,然后查看是否存在漏洞,”小李说,如果攻击顺利的话,很快就能得到网站上记录的个人信息。 “商业类购物的网站比较多,因为这类数据好卖钱,价格也更高”。将网站攻下后,他会把一部分数据先传输给“老板”看。对方经过测试,如果合适的话,就会购买全部的数据,然后他就将自己的银行账号提供给对方,对方将钱打入他的账户上。 2018年7月份,小李攻下了自己的第一个小型的购物网站。当时,他从系统里获得了2000多条个人数据,剔除重复的信息,共有1200多条,按照每条1元的价格,全部卖给了对方。对面的“老板”非常欣赏小李的技术,在交纳了这笔款项后,他又另外给小李汇来了5000元,作为以后的预付款项,希望两个人能够更好地合作。 半年获利50余万元 “这比创业挣钱快多了,有时候两三天就能攻破一个网站,数据传输给对方,钱款立马到账,”小李说,因为他盗取的基本上都是一手信息,而且是商业类购物网站,所以每条信息的价格也比较高。便宜的大概1元,贵的能卖到2.8元。而且,他在盗取信息的时候,对方有时候也会指定一些具体的条件,比如购物网站信息的年龄段、消费习惯这些。他会根据这些要求,去攻击相应的网站获取信息。在获取了信息以后,删除重复的信息整理完成发给对方,对方就将钱汇到他指定的账户上。 小李攻击的基本上是一些小网站,不过也有一些规模稍大的购物网站。有时候,他一次可能会收集到几万条信息,剔除重复的信息以后,直接转卖给其他人。2018年1月到7月,仅仅半年的时间,他通过攻击网站窃取个人信息的方式,就获得了50多万元的收入。拿到这些钱以后,他基本上都用于日常生活开销。“这是最大的一块收入,而平时接单帮人写软件基本上挣不到几个钱,”小李说,他一开始并没有认识到问题的严重性。直到李沧公安分局李村派出所根据相关信息,将他从家中抓获,他才认识到已经触犯了法律。 民警询问,知道这些信息被买去以后,都被用作什么用途?小李表示自己只知道他们可能会有针对性地投放广告,而自己只是赚取一点钱,没有去想那么多。民警提醒说,现在很多电信诈骗分子之所以能够实施精准诈骗,让很多人信以为真,有很大一部分原因就在于个人信息被窃取,诈骗分子对受害人的信息了如指掌,使得很多受害人在接到诈骗电话时上当受骗。 如何学习网络安全 给你一个忠告,如果你完全没有基础的话,前期最好不要盲目去找资料学习,因为大部分人把资料收集好之后,基本上都是放在收藏夹吃灰,同时资料收集的多了,学起来就会迷茫,也会让自己很有压力。 磨刀不误砍柴工,如果你是准备自学的话,要分步骤去进行: 第一步:搭建自学知识框架,具体怎么搭建学习框架,在后面我会讲; 第二步:按照学习框架给自己定制阶段性的学习计划和目标,最好是按周自我反馈和调整; 第三步:针对每周的学习计划寻找合适的自学资源,注意,只找当前需要的,不要贪多 第四步:找几个懂得人,和他们处理好关系,后面学习过程中遇到问题还能有人给你解答; 这些都要一步一步来,不要想着一口气吃成一个大胖子。 搭建学习框架也是有诀窍的,比如我常用的三种方式: 1.和牛人成为朋友,身边的朋友或公司的同事都可以,但要注意,记得请人家吃饭联络好感情,不然到关键时刻,很少有人会去帮你; 2.从各个博客网站上面搜索想了解的知识点路线图,然后找高赞的博文,基本上不会差,但要注意辨别真伪; 3.多找几个培训机构,看他们整理的课程大纲是什么样的,涉及哪些知识点,然后做归类汇总,具体的我就不说了,免得让大家认为我在给培训机构打广告; 废话不多说,先上一张图镇楼,看看网络安全有哪些方向,它们之间有什么关系和区别,各自需要学习哪些东西 在这个圈子技术门类中,工作岗位主要有以下三个方向: 安全研发 安全研究:二进制方向 安全研究:网络渗透方向 怎么入门? 聊完宏观的,我们再落到具体的技术点上来,给你看看我给团队小伙伴制定的网络安全学习路线,整体大概半年左右,具体视每个人的情况而定。 如果你把每周要学的内容精细化到这种程度,你还会担心学不会,入不了门吗,其实说到底就是学了两个月,但都是东学一下,西学一下,什么内容都是浅尝辄止,没有深入进去,所以才会有学了2个月,入不了门这种感受。 (友情提示:觉得有帮助的话可以收藏一下本篇文章,免得后续找不到) 1、网络安全理论知识(2天) ①了解行业相关背景,前景,确定发展方向。 ②学习网络安全相关法律法规。 ③网络安全运营的概念。 ④等保简介、等保规定、流程和规范。(非常重要) 2、渗透测试基础(一周) ①渗透测试的流程、分类、标准 ②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking ③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察 ④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等 3、操作系统基础(一周) ①Windows系统常见功能和命令 ②Kali Linux系统常见功能和命令 ③操作系统安全(系统入侵排查/系统加固基础) 4、计算机网络基础(一周) ①计算机网络基础、协议和架构 ②网络通信原理、OSI模型、数据转发流程 ③常见协议解析(HTTP、TCP/IP、ARP等) ④网络攻击技术与网络安全防御技术 ⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现 5、数据库基础操作(2天) ①数据库基础 ②SQL语言基础 ③数据库安全加固 6、Web渗透(1周) ①HTML、CSS和JavaScript简介 ②OWASP Top10 ③Web漏洞扫描工具 ④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等) 恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k