项目场景: 使用centos环境中的火狐浏览器访问项目界面
问题描述: 在客户的demo环境中部署了项目,但是使用机器上自带的火狐浏览器访问界面确实白屏,联系开发同事后认为是浏览器版本的问题。
更新火狐浏览器版本后,问题解决。
F12调试模式中异常的提示 这里是js文件报错,所以开发同事认为是浏览器版本问题
SyntaxError - expected expression, got keyword ‘import’
解决方案: 查看当前火狐浏览器版本,当前版本是60.2,查了下最新版本都100多了。大概率是版本问题了
进行升级
yum update firefox -y 升级之后问题解决,可以正常访问了。
1. git add . ——将工作区文件全部加入到暂存区;
2. git add "具体文件名" ——将一个指定文件加入到暂存区;
3. git reset --hard "版本号" ——将当前 git 回退到指定的某个版本;
4. git reflog ——查看历史所有命令记录;
5. git log ——查看提交记录;
6. git commit -m "说明内容" ——将暂存区的文件提交至仓库;
7. git status ——查看当前git仓库的文件状态;
8. git init ——初始化 git 仓库;
9. git branch ——查看当前所有分支;
10. git branch "分支名" ——创建一个分支;
11. git checkout "分支名" ——切换到某个分支;
12. git checkout -b "分支名" ——创建并切换到某个分支;
12. git merge "分支名" ——将指定分支合并当当前分支上;
13. git remote origin "
首先,您可以按照以下步骤检查谷歌浏览器的翻译设置是否已启用:
在谷歌浏览器中点击“选项”按钮(三个竖点),然后点击“设置”选项。在设置页面中,向下滚动并点击“高级”设置选项。在“语言”部分,确保“提供翻译服务”选项已启用。 如果仍然出现翻译问题,您可以尝试以下解决方法:
确保您的谷歌浏览器和谷歌翻译都是最新版本。清除浏览器缓存和Cookie。在谷歌浏览器中,您可以在“设置”>“隐私和安全性”>“清除浏览数据”中进行此操作。禁用浏览器扩展程序。有些扩展程序可能会干扰谷歌翻译的功能。尝试在隐身模式下使用翻译功能,以确定是否是某个缓存或扩展程序导致的问题。 如果以上方法都无法解决问题,您可以尝试使用其他翻译工具或联系谷歌浏览器支持团队以获取更多帮助。
说明
目前网上比较靠谱的解决方案是更改host文件,这是因为谷歌浏览器使用的翻译网站域名为translate.google.comIP为203.208.46.200,是属于国外的网站,所以有的时候就会请求超时出现无法翻译此网页,此时我们需要使用谷歌设立的国内翻译网站translate.google.cnIP为203.208.40.66。
解决
找到C:\Windows\System32\drivers\etc·目录下的hosts文件。
打开host文件,可以直接选择打开方式为记事本打开,在最后加入
203.208.40.66 translate.google.com 203.208.40.66 translate.googleapis.com 1
2
刷新 DNS
打开cmd(win+R),输入ipconfig /flushdns 刷新DNS
1 前言 1.1 背景介绍 CentOS停服事件源于2020年12月宣布的CentOS项目变更,其原计划是基于Red Hat Enterprise Linux(RHEL)的开源版本,提供长期支持。然而,在2020年12月8日,官方宣布终止CentOS Linux的项目,并将其替代为CentOS Stream,这是一个连续发布模型的发行版,不再提供稳定的长期支持,这引发了广泛的不满和担忧。
这一事件在国内引发了对操作系统更多讨论:
自主创新:国内企业强调自研,即便在操作系统领域也不例外。这意味着更多投资和支持,以确保本国操作系统的可持续发展,同时减少对外部供应商的依赖。
行业合作机遇:CentOS停服事件也鼓励了各种行业合作,包括企业、开源社区机构之间的合作,以推动国内操作系统的发展。这种合作可能导致更多创新和发展机会。
但同时,我们也看到,目前我国操作系统整体存在差距,如何让更多行业、更多人用上好用的操作系统,需要操作系统生态各方的共同努力。
总之,CentOS停服事件促进了国内操作系统的发展,为自主创新合作和创新提供了机会。这是一个值得密切关注的发展趋势,可能对国内技术生态系统和数字化转型产生深远影响。
下面,我们将介绍浪潮信息提供的操作系统 KeyarchOS 无缝衔接替代方案。
1.2 KeyarchOS 操作系统 1.2.1 系统特性 简介
KeyarchOS 即云峦操作系统(简称KOS),是浪潮信息基于 Linux 内核、龙蜥等开源技术自主研发一款服务器操作系统,支持x86、ARM等主流架构处理器,广泛兼容CentOS生态和创新技术产品,可为用户提供整套可视化 CentOS 到 KeyarchOS 的迁移方案。
特性
KeyarchOS 具备稳定可靠、高效软硬件协同、全天候运维、安全可信等特性,增强了对云计算、人工智能等场景的支持,性能稳定性领先,生态完善,符合金融、政务、能源、交通、通信、教育、医疗等关键行业的应用要求。极端情况可恢复,针对断电、断网、硬件故障等情况设计 400 多项,用于验证并完善产品的可靠性,LTP stress 7*24 小时高负荷无宕机。在服务器操作系统领域,从最早的 KUX 开始,浪潮信息已经有 10 余年的研发和技术经验,相关产品在关键行业广泛应用,累计装机量超20万台。 广泛兼容
支持350+主流CPU、GPU、FPGA、网卡、服务器、网络设备兼容认证。支持主流数据库、中间件、虚拟化、容器、云平台、办公软件兼容认证全覆盖。继承了龙蜥社区的生态,实现全产业链生态覆盖。 平滑迁移
提供 CentOS到 KeyarchOS的迁移工具,实现原系统及应用向 KeyarchOS的平滑迁移,迁移过程自动化率达95%。可以实现基于专家规则的自动化运维与诊断,以及面向不同应用场景的一键式性能优化。依托 ISPIM 深度监控与管理,从底层芯片、部件、整机系统到软件的全方位运行情况;支持无缝接入浪潮信息 InService 云端运维服务,实现运维远程托管。 场景增强
简化 GPU、AIPU 使用,大幅提升 AI 开发效率。支持基于 DPU 的高性能虚拟化网络、存储,性能提升10倍。容器密度提升 10%、网络性能最高提升 300%。 安全性
通过了等保 2.0 三级认证。全面支持 SM2、SM3、SM4 商用密码算法。基于可信根可实现对 OS Loader、OS Kernel、应用程序等的可信验证,及时发现系统底层的高级恶意代码的入侵,从而实现 KeyarchOS 的可信启动。采用 Liunx 统一 PAM 认证以及基于口令+UKey 的双因子认证机制,实现身份认证,从而增强服务器的安全性。还有安全漏洞管理机制、安全加固软件等特性。 1.
身份认证系统迁移至浪潮信息KOS5.8过程记录 目录 身份认证系统迁移至浪潮信息KOS5.8过程记录项目背景简介环境介绍 实施01.迁移前准备02.迁移登录浪潮信息KeyarchOS迁移平台 03.操作总结本次操作过程使用X2Keyarch时发现的技术亮点: 项目背景 CentOS 停更危机
2020 年 12 月 8 日,CentOS 项目宣布,CentOS Linux 8 将于 2021 年底结束支持而 CentOS 7 将在其生命周期结束后(2024 年 6 月 30 日)停止维护。CentOS Linux 的终止也昭示着操作系统的格局必然面临格局洗牌。对于操作系统的厂商和研发人员而言,机会与挑战并存。对于其他的 Linux 发行版而言,这一决定可能会带来机遇和竞争。 简介 环境介绍 本次迁移使用浪潮信息提供的迁移工具X2Keyarch实现由CentOS7部署的应用,平滑迁移至浪潮信息操作系统KeyarchOS5.8
X2Keyarch:X2Keyarch可以对软硬件及系统配置给出全方位分析,其原地升级技术将存量 CentOS 7 系统批量统一升级至 KeyarchOS 操作系统,升级后系统参数无需重新配置,同时针对客户业务系统与底层操作系统关联较大的特点,KeyarchOS 对原地迁移工具做了深度优化,经过逻辑调整、自定义开发,保证业务系统平滑迁移。
迁移工具:X2Keyarch操作系统迁移软件 V2.0特点平滑迁移进行迁移的系统:CentOS7迁移后的系统:KeyarchOS5.8应用:某安全厂商身份认证系统中间件:Tomcat数据库:MySql 实施 01.迁移前准备 应用校验在Centos7上部署了某安全厂商身份认证系统、tomcat、mysql进入系统初始化页面选择创建连接不进行勾选其他校验机制创建管理员账号与密码选择默认配置该身份认证系统初始化完成输入刚刚创建的用户设置的密码搭建部署完成进入该身份认证系统的控制台页面,搭建部署完成。至此,该身份认证系统部署完成,下面进行迁移行动 02.迁移 登录浪潮信息KeyarchOS迁移平台 使用X2Keyarch操作系统迁移软件 V2.0进行迁移活动 登录进入首页后,默认显示主机列表,可对主机进行管理,进行编辑、删除、远程连接等操作 选择顶部菜单栏操作系统迁移-迁移评估 可以进行系统评估与硬件评估选择评估部分同时选择系统评估和硬件评估,系统评估为评估系统配置信息与KOS系统是否兼容,硬件评估可评估系统下硬件与KOS系统是否兼容。可以进行查看已评估的记录,可以进行重试、删除、查看报告操作 进行评估 评估完成 点击查看评估报告
报告中,迁移实施的风险项进行了列举 此处的高风险项无需关注,并不影响迁移,只有inhibitor的选项会影响迁移。
迁移实施
迁移:菜单栏选择操作系统迁移-迁移实施
点击批量实施,弹出配置窗口 主机选择 Repo配置选择公网地址
备份配置选择不备份:此处选择不备份,原因是本次迁移的服务器来自于云服务器,配置较低,备份会很慢。
点击确定,左侧部分会有迁移进度,等进度到100%后,表示迁移完成,ssh进系统查看系统版本变为kos5.8。
在迁移过程中,可以查看实施日志 cat /etc/os-release ssh进系统查看系统版本变为kos5.
根据教程安装完ENVI5.3之后,打开ENVI 5.3 (64-bit)时报错,显示“应用程序无法正常启动(0xc0000906)。请单击”确定”关闭应用程序。”,但是打开32-bit的就可以。
在网上查看解决方法之后并未解决,把在能用的电脑中的ENVI5.3安装目录中的“bin.x86_64”文件夹拷过来也不行。
这时注意到了屏幕右下角经常出现Windows安全中心的弹窗,点开之后好像是说认为安装过程最后更换的“idl.dll”文件有病毒/有威胁。
然后在界面中把类似禁止or删除的选项,改成了“允许在此设备上进行”类似的选项(具体记不清了...),总之操作之后的界面成了下图这样之后,就可以打开ENVI 5.3 (64-bit)了。
在历史记录中,是下面这样的。
总之就是,这种情况可能是电脑认为这个替换文件是病毒之类的给你删了,你需要允许它。
希望能给也出现这种问题的人提供一种解决思路。
文章目录 模版语法传值模版语法传值特性模版语法标签语法格式if模板标签for模板标签with起别名 模版语法过滤器常用过滤器 自定义过滤器、标签、inclusion_tag自定义过滤器自定义标签自定义inclusion_tag 模版导入模版继承 模版语法传值 模板层三种语法 {{}}:主要与数据值相关 {%%}:主要与逻辑相关 {##}:模板注释 django的模板语法是自己写的 跟jinja2不一样 ''' 1.针对需要加括号调用的名字 django模板语法会自动加括号调用你只需要写名字就行 2.模板语法的注释前端浏览器是无法查看的 {##}, 模板语法{##}是由后端处理的,当识别为模板注释时就会从html文件中移除了,不会返回给用户; 而html注释<!---->是由前端浏览器对html处理时渲染时不做处理,但检查网页源码时还是能看见这些注释的。 ''' 通过之前的Django知识的了解,如果我们需要向页面传递参数,可以通过render函数帮助我们实现:
第一种方式:手动将所有内容放入字典内进行传递
def index(request): name = 'jack' dic = {'hobby':['jump','music','rap']} return render(request,'index.html', {'name': name, 'dic': dic}) 第一种方式传值:精准传值 不浪费资源 针对多资源的传递书写麻烦
第二种方式:将当前名称空间中所有的变量名与值全部传递
def index(request): name = 'jack' dic = {'hobby': ['jump', 'music', 'rap']} return render(request,'index.html',locals()) 第二种方式传值:将函数名称空间中所有的名字全部传递 名字过多并且不使用的情况下比较浪费资源
模版语法传值特性 1.关于模版语法传值的范围是很大的 我们的八大数据类型都可以传值还有函数以及类 2.文件对象也可以展示并调用方法 3.函数名的传递会自动加括号执行并将返回值展示到页面上 需要写上return返回值才可以返回到页面 注意函数如果有参数则不会执行也不会展示 模板语法不支持有参函数 4.类名的传递也会自动加括号产生对象内存地址并展示到页面上 如果想使用的话可以通过对象句点符的方式点出来 5.对象不会加括号,但可以获取对象的一些数据属性 6.索引、键、属性只能通过句点的方式取 ps:总结针对可以加括号调用的名字模板语法都会自动加括号调用 ps:模板语法会判断每一个名字是否可调用 如果可以则调用!
网站需求:
1.基于域名 www.openlab.com 可以访问网站内容为 welcome to openlab!!!
2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,
1、基于 www.openlab.com/student 网站访问学生信息,
2、基于 www.openlab.com/data 网站访问教学资料
3、基于 www.openlab.com/money 网站访问缴费网站。
3.要求
(1)学生信息网站只有 song 和 tian 两个用户可以访问,其他用户不能访问。
(2)访问缴费网站实现数据加密基于 https 访问。
一、创建openlab网站
vim /etc/httpd/conf.d/vhost0.conf 写配置文件
<directory /openlab> allowoverride none require all granted </directory> <virtualhost 192.168.36.130:80> servername www.openlab.com documentroot /openlab </virtualhost> 创建/openlab文件,并写入index.html文件
mkdir /openlab echo welcome to openlab > /openlab/index.html 运行
在/openlab下创建/student文件,并写入index.html文件
mkdir /openlab/student echo welcome to student > /student/index.html 写配置文件
<directory /openlab> allowoverride none require all granted </directory> <directory /openlab/student> authtype basic authname "
输入输出模块 该模块负责与LLM做交互,通过该接口向模型输入 Prompt 并提取模型输出信息。主要包括:提示词、语言模型,输出解析器。
数据连接 已训练好的大语言模型,在训练时使用了大量的训练数据,但这些训练数据中可能并未包含用户所需的信息,包括模型训练数据本身也有时效限制,不包括训练数据时效后的新事件。为支持利用新数据,LangChain提供了数据连接模块,包括加载,转换,存储和数据查询,即加载新数据,将新数据按照模型规则转换,将转换的数据做Embedding处理,将Embedding数据存储。
链 为处理复杂的需求,LangChain 可使用链式调用多个LLM,这样可以创建一个独立的应用程序以处理特定的情况。
记忆 LangChain中的记忆指的是模型的短期记忆,例如在对话中,模型可以将前面的Prompt及对应回答作为后面问题的参考,使问答更流畅,而在对话结束后,这些记忆会被清除。注:模型预训练的参数不会被改变。
代理 LLM 在处理计算、检索外部信息的能力较弱,这是受限于模型训练数据的时效问题。LangChain 通过代理为LLM提供计算、检索等支持。
回调 回调函数CallBack 适用于程序于各个阶段,可应用于日志记录、监事、流程处理等任务。例如在代理模块中,可记录代理的调用次数,返回的参数值等。CallBack 收集的信息可直接输出到控制台也可输出到文件或应用。
CallBack 有两个类:CallbackHandler 和 CallbackManager。CallbackHandler 用于记录每个应用场景的日志的完整日志信息,属于单个日志处理器。CallbackManager 负责封装管理所有 CallbackHandler。
在构造函数中定义回调函数,此时被用于对该对象的所有调用,对日志、监控等对整个链的监控很有用。
在发出请求中定义回调函数,如在call()/run()/apply()中使用,此时回调函数仅用于特定请求及其所有子请求。
verbose 参数在整个 API 的大多数对象(链、模型、工具、代理等)上都可以作为构造参数使用,如 LLMChain(verbose=True),相当于将 ConsoleCallbackHandler 传递给该对象和所有子对象的 callbacks 参数。这对调试很有用,此时会把所有事件记录到控制台。
文章目录 从CentOS向KeyarchOS操作系统的wordpress应用迁移实战一、使用浪潮信息X2Keyarch迁移工具完成操作系统的迁移1.1 迁移前的验证1.2 执行迁移评估1.3 开始迁移1.4 验证迁移结果1.5 迁移后的验证 二、总结 从CentOS向KeyarchOS操作系统的wordpress应用迁移实战 CentOS是一款免费的企业级操作系统,且被认为是一个稳定、可靠的操作系统,它适合用于服务器和桌面系统。它还包含了许多开源的软件包,如Apache、MySQL、PHP和Python,并且有一个强大的软件包管理器yum,使得安装和更新软件包变得非常简单。
CentOS具有安全性高、稳定性好、社区活跃、易于管理等特点,因此在许多场合下,CentOS是一种非常普遍的选择。同时,由于其开源特性,CentOS还可以根据企业的特定需求进行定制。但在2020年12月8日,CentOS宣布将停止更新CentOS,且提醒用户如果计划在未来使用CentOS,则应根据需求和计划考虑使用替代方案。
从上述CentOS停更事件来看,我国有必要发展自主创新的操作系统,这不仅仅关系到企业的利益,还关系到国家信息安全和信息化建设,自主开发操作系统将会有以下优势:
国家信息安全:使用外来的操作系统,有可能会面临着信息被未经授权的访问、更改、中断或破坏的风险。自主开发安全的操作系统,可以保障国家信息安全与企业信息安全。技术自主创新:自主开发操作系统可以培养本土的技术人才,推动技术自主创新。有助于形成较高的技术壁垒,建立企业自身的技术护城河。同时自主开发的操作系统也能够适应中国的国情和市场需求,为中国的信息化发展之路提供更好的支持。降低依赖外部平台的成本:当前,国内仍处于需要大量使用外部平台软件和操作系统的阶段,这不仅给企业带来了较高的使用成本,还产生了一系列信息安全风险问题。自主开发操作系统能够有效减低企业使用的成本,提高企业信息安全管理水平。推动软件产业转型升级:自主开发操作系统能够推动软件产业结构的优化和转型升级,加快信息化与实体产业经济的深度融合与互相促进。 今天,我们将介绍如何从CentOS向浪潮信息自主设计研发的KeyarchOS(简称KOS)操作系统迁移,并介绍浪潮信息X2Keyarch操作系统迁移工具的使用。
一、使用浪潮信息X2Keyarch迁移工具完成操作系统的迁移 操作系统迁移是指将计算机系统中运行的一种操作系统(如Windows或Linux)替换为另一种操作系统的过程。操作系统迁移通常涉及将旧系统的数据和程序转移到新系统中,以确保在迁移后继续进行正常的业务操作。操作系统迁移通常需要仔细的计划和测试,以确保数据和程序不会丢失或受损,并且新系统能够完成旧系统的所有任务。迁移可能需要重新安装硬件驱动程序、升级应用程序、修复配置文件以及调整网络设置。
我们这里使用浪潮信息提供的X2Keyarch工具完成操作系统迁移,该工具可以帮助我们完成软硬件迁移评估、原始操作系统备份以及自动操作系统迁移等工作。
1.1 迁移前的验证 输入用户名和密码,登录部署在CentOS上的WordPress。
进入系统后,点击Posts,其中第一篇为测试使用的博客,点击打开可以看到在CentOS下WordPress能够正常工作。
1.2 执行迁移评估 在浏览器中输入https://<迁移服务器的地址>,在弹出的界面中输入用户名和密码,完成登录。
打开“主机管理界面”,查看需要迁移的物理机(我这边的物理机对应的ip为101.42.14.142)是否存在并正常工作,如下图所示:
在菜单栏中选择“操作系统迁移”下面的“迁移评估”,弹出界面的相关配置如下:
选择主机:101.42.14.142主机迁移版本默认为KOS5.8Repo配置选择:公网地址选择评估:同时选择系统评估和硬件评估,系统评估为评估系统配置信息与KeyarchOS系统是否兼容,硬件评估可评估系统下硬件与KeyarchOS系统是否兼容。 点击开始评估按钮,评估进度在界面下边显示。
评估进度为100%后,可点击后边的查看报告(评估时间大概10分钟)
此处的高风险项无需关注,并不影响迁移,只有inhibitor的选项会影响迁移。
1.3 开始迁移 菜单栏中选择“操作系统迁移”下面的“迁移实施”,
点击“批量实施”,弹出配置窗口,部分配置如下:
主机选择:101.42.14.142Repo配置:公网地址备份配置:不备份,此处选择不备份,原因是本次迁移的服务器来自于云服务器,配置较低,备份会很慢。 点击确定,左侧部分会有迁移进度,等进度到100%后,表示迁移完成。
1.4 验证迁移结果 使用ssh工具进入迁移系统内,查看系统版本:
可以看到系统名称为“KOS”,版本为5.8,证明操作系统迁移已经完成,接下来验证WordPress应用能否正常运行。
1.5 迁移后的验证 输入用户名和密码,登录部署在KeyarchOS上的WordPress,但是显示服务不可用。
经过排查,发现迁移后的系统没有安装php软件,解决办法如下:
运行下面的命令安装php-fpmyum install php-fpm -y 重启httpd服务sudo systemctl restart httpd 再次输入用户名和密码,登录部署在KeyarchOS上的WordPress,能够正常登录。
进入页面点post按钮,可以查看“this is a test log”内容没有丢失,迁移成功。
二、总结 使用过程的整体感受就是:简单、方便。两步便可实现操作系统的替换,这大大提升了工作效率,加快了操作系统的应用和普及速度。
实践过程中评估过程耗时比较高,个人建议在执行评估过程中可以使用历史评估结果,通过在历史评估结果中查找相同的硬件环境、相同的迁移系统以及相同的应用软件来加速评估过程。其次,生成的评估报告内容过于详细,可以直接呈现一个评估结果,例如是否可以迁移,迁移后哪些软件可能会有异常等。
想要完成人工智能相关操作,一个完美的系统是必要的。大部分友友在环境配置过程中都会遇到各种无法解决的情况,有些报错在网上很难找到解决方法,不是方法不适合我们自己的系统就是按照方法完成到最后系统无反应,这是不是你所需要的问题呢?
这种时候,一份完整且成功的教程就尤为重要了!本篇博客是为了记录本人近期刷机Jetson TX2的方法(各位友友们可下载自用也可收藏备用,一般情况不会删除)
【文章所有文件均存储到夸克网盘内,需要大量时间完成的事就让我来吧,大家享受成果就够啦😘】
【rufus、ubuntu18.04的iso镜像文件、sdkmanager软件安装包、我刷机时下载的所有软件包】
【文件链接:夸克网盘分享】
废话不多说,直接上干货!!!😌
第一部分 安装ubuntu与windows双系统 本人虚拟机ubuntu系统刷机出现未知网络错误情况,网上方法无法解决,故改用双系统安装ubuntu18.04
Ubuntu20.04无法刷机,好像是因为TX2不支持
一、windows分盘 本机系统:windows11
第一步:点击搜索
第二步:在输入框输入“设置”
第三步:点击“设置”应用
第四步:设置里搜索“存储设置”
第五步:点击“存储设置”
第六步:点击“高级存储设置”
第七步:点击“磁盘和卷”
第八步:点击想要分的盘
第九步:点击“属性”
第十步:点击“更改大小”
第十一步:设置自己想要的磁盘大小【1G=1024MB】
【我的磁盘是385203MB,准备分出100G出来安装ubuntu系统:设置剩余磁盘大小为282803MB】
二、制作ubuntu18.04启动盘 启动盘用“rufus”软件制作
第一步:插入u盘,打开rufus
【rufus也可以用来做其他系统的启动盘】
【记得备份u盘的东西喔,因为系统盘制作会将u盘内文件全部删除】
第二步:点击“选择”,将ubuntu的iso镜像包导入进来
【点击选择后选中对应iso文件就行】
第三步:点击“开始”
【默认设置即可】
第四步:按要求点击各项设置
【提示连网安装新东西的话最好连网给装一下】
三、安装ubuntu系统 本机系统:ubuntu18.04
经过第一部分分盘,相信大家电脑上都有了一部分空闲磁盘了,我们会用这部分空闲磁盘挂载ubuntu系统,接下来咱们开始进行ubuntu18.04系统的安装
第一步:重启电脑,狂按“F2”键进入BIOS界面
第二步:为方便查看,将BIOS界面设置中文
第三步:设置打开电脑USB启动
第四步:按“F10”保存设置并重启电脑
第五步:插入u盘,重启电脑,狂按“F12”键出现u盘启动选项
第六步:点击我们u盘对应的选项,进入ubuntu系统安装
第七步:选择“Install Ubuntu”
第八步:选择语言为中文
第九步:设置系统输入法为汉语拼音
第十步:设置更新
【插上网线,下载速度贼快😁】
第十一步:设置分区
【直接选择第一个选项,选它最便捷】
【系统内无其他ubuntu,可以选“安装ubuntu与windows共存”】
【系统内有其他ubuntu,想重装的友友可以选择“卸载并重装”】
【系统内有其他ubuntu,想再装一个的友友可以选择“其他选项”】
【我没尝试过装2个以上系统,想要的友友可以自己找教程喔😘】
第十二步:按要求安装就可以啦
【地区选择哪里都没有影响,后期好像不需要用到】
四、解决ubuntu18.04在联想小新pro16电脑上无法进桌面系统问题 报错:Failed to Start User Manager for UID 121
至此,ubuntu双系统安装完成!
指令调优(IT),一种针对大型语言模型(LLMs)的训练方法,是提高大型语言模型能力和可控性的关键技术。该方法的核心目标是使LLM具备遵循自然语言指令并完成现实世界任务的能力。它弥补了LLM的下一个单词预测目标与用户让LLM遵循人类指令的目标之间的差距,约束了模型的输出,使其符合预期的响应特征或领域知识。
随着计算机技术的发展,指令调优在一些需要执行特定任务的场景上,如机器翻译、问答系统等,都有着广泛的应用前景。
为帮助大家理解并掌握IT,我这次整理了18种指令调优方法,包含指令微调LLMs、多模态指令微调两个方向,每个方法的原文及模型源码也都整理了,需要的同学看文末
指令微调LLMs 1.InstructGPT 论文:Training language models to follow instructions with human feedback
通过人类反馈训练语言模型遵循指令
简述:本文提出一种通过人类反馈微调语言模型的方法,使其与用户意图对齐。作者收集了标注者演示所需行为的数据集和模型输出排名的数据集,微调GPT-3得到InstructGPT模型。在人机评估中,1.3B参数的InstructGPT模型比175B GPT-3更受青睐,同时减少了输出不真实和有害的情况,性能下降不大。
2.BLOOMZ 论文:Crosslingual Generalization through Multitask Finetuning
跨语言泛化通过多任务微调实现
简述:本文将多任务微调应用于预训练的多语言BLOOM和mT5模型族,生成了名为BLOOMZ和mT0的微调变体。研究发现,在英语任务上微调大型多语言语言模型并使用英文提示可以使模型泛化到非英语语言的任务中。在多语言任务上使用英文提示进行微调进一步提高了性能,实现了各种最先进的零样本结果。
3.FLAN-T5 论文:Scaling Instruction-Finetuned Language Models
缩放指令微调语言模型
简述:本文研究了在一系列指令性数据集中微调语言模型的效果,并发现这可以提高模型性能和对未见过的任务的泛化能力。作者特别关注三个方面:扩展任务数量、扩大模型规模、在思维链数据上进行微调。研究发现,在这些方面进行指令微调可以显著提高各种模型类别、提示设置和评估基准的性能。例如,Flan-PaLM 540B在1.8K个任务上进行了指令微调,比PaLM 540B高出很多(平均+9.4%)。作者还公开发布了Flan-T5检查点,它在少样本性能方面表现强劲,甚至与更大的模型相比也毫不逊色。
4.Alpaca 论文:Alpaca: A Strong, Replicable Instruction-Following Model
一种强大、可复制的指令跟随模型
简述:指令跟随模型越来越强大,但仍然存在许多缺陷。为了解决这些问题,研究人员发布了一种名为Alpaca的指令跟随语言模型,它是基于Meta的LLaMA 7B模型微调而来的。该模型在52K个以text-davinci-003的自我指导风格生成的指令跟随演示上进行了训练。
5.Vicuna 项目:Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Qualit
一个开源聊天机器人,以90%的ChatGPT质量给GPT-4留下深刻印象
简述:LMSYS介绍了开源聊天机器人Vicuna-13B,它是通过在ShareGPT上收集的用户共享对话中微调LLaMA进行训练的。初步评估使用GPT-4作为评判标准显示,Vicuna-13B实现了超过90%*的OpenAI ChatGPT和Google Bard的质量,并在超过90%*的情况下优于其他模型,如LLaMA和斯坦福Alpaca。
6.GPT-4-LLM 论文:Instruction tuning with gpt-4
使用GPT-4进行指令调优
简述:本文介绍了使用GPT-4生成指令跟随数据来微调大型语言模型(LLMs)的首次尝试。早期的实验表明,使用GPT-4生成的52K英文和中文指令跟随数据比先前最先进的模型生成的指令跟随数据在全新任务上表现出更出色的零样本性能。作者还收集了来自GPT-4的反馈和比较数据,以实现全面的评估和奖励模型训练。
7.WizardLM 论文:WizardLM: Empowering Large Language Models to Follow Complex Instructions
场景: 有时候在使用element的el-tooltip时会使用三元表达式,满足某个条件后才显示提示文字,否则不展示文字,但是却出现在在没有文字时展示了黑框,如下图:
解决方案: 加一个disabled便可,在不展示提示文字的时候disabled
文章目录 1 概念1.1 组件1.2 插件1.3 术语1.4 Pod类型1.4.1 RS1.4.2 Deployment1.4.3 DaemonSet1.4.4 Job & CronJob1.4.5 StatefulSet 1.5 service服务发现1.5.1 ipvs代理模式1.5.2 Service实验1.5.3 Ingress 1.6 网络空间1.7 资源1.8 容器生命周期1.8.1 容器hook1.8.2 Pod状态含义 1 概念 k8s用于大规模部署和运维容器
优点:
自动部署自动修复水平扩展服务发现滚动更新版本回退密钥配置管理(类似热部署)存储编排(持久化)批处理(定时任务) 1.1 组件 master:主节点,其下包含:
api server:Kubernetes 控制平面的前端,用于处理内部和外部请求,所有服务访问的统一入口controller manager:处理后台任务,资源控制,控制器负责实际运行集群,维持副本期望数目scheduler:节点调度,选择node节点部署应用,检测集群和节点状态etcd:用于存储集群中的相关数据,键值对 worker node:工作节点,其下包含:
kubelet:类似于node节点的agent,管理当前节点的容器,管理容器生命周期kube proxy:提供网络上的代理,实现负载均衡等功能,写入iptables、ipvs等端口映射 核心概念:
Pod:k8s最小的部署单元、一个Pod中包含一组容器、同一个Pod中容器网络共享、生命周期短暂Controller:确保预期Pod副本数量、部署Pod、设定Pod运行规则、设定定时任务和一次任务Service:定义Pod访问规则
1.2 插件 CoreDNS:为集群中的SVC创建一个域名IP的对应解析
Dashboard:给集群提供一个B/S访问体系
Ingress Controller:官方只有四成代理,ingress可以实现七层代理
Federation:提供一个跨集群中心多k8s统一管理
Prometheus:提供集群监控
elk:提供日志分析
1.3 术语 主机(Master): 用于控制 Kubernetes 节点的计算机。所有任务分配都来自于此。
节点(Node):负责执行请求和所分配任务的计算机。由 Kubernetes 主机负责对节点进行控制。
容器集(Pod):被部署在单个节点上的,且包含一个或多个容器的容器组。同一容器集中的所有容器共享同一个 IP 地址、IPC、主机名称及其它资源。容器集会将网络和存储从底层容器中抽象出来。这样,您就能更加轻松地在集群中移动容器。
复制控制器(Replication controller):用于控制应在集群某处运行的完全相同的容器集副本数量。
服务(Service):将工作内容与容器集分离。Kubernetes 服务代理会自动将服务请求分发到正确的容器集——无论这个容器集会移到集群中的哪个位置,甚至可以被替换掉。
Kubelet:运行在节点上的服务,可读取容器清单(container manifest),确保指定的容器启动并运行。
Qt的布局 QHBoxLayout 水平布局
QVBoxLayout 垂直布局
QFormLayout 表单布局
QGridLayout 栅格布局
QSplitter 分栏布局
QHBoxLayout水平布局 & QVBoxLayout垂直布局 1.增加到布局中 QHBoxLayout *ui_hLayMain = new QHBoxLayout; ui_hLayMain->addWidget(ui_btn1); 2.设置边距 是用来调整左右上下的边距的。
void setMargin(int) //这个函数好像没有了,可以不用这个 void setContentsMargins(int left, int top, int right, int bottom); void setContentsMargins(const QMargins &margins); 3.设置布局中控件之间的距离 void setSpacing(int); 4.增加弹簧 ui_hLayMain->addStretch(); 5.设置其它显示方式,布局器中也可以添加布局器 显示方式:
ui_hLayMain->addWidget(ui_btn1, 0, Qt::AlignLeft | Qt::AlignTop); ui_hLayMain->addWidget(ui_btn2, 0, Qt::AlignLeft | Qt::AlignTop); ui_hLayMain->addWidget(ui_btn3); ui_hLayMain->addWidget(ui_btn4, 0, Qt::AlignLeft | Qt::AlignBottom); ui_hLayMain->addWidget(ui_btn5, 0, Qt::AlignLeft | Qt::AlignBottom); void addWidget(QWidget *, int stretch = 0, Qt::Alignment alignment = 0); void addLayout(QLayout *layout, int stretch = 0); 6.
用户配置 下载user.properties改改,或者直接新建文本,配置用户名密码:
# This file supports hot change, any change will be auto-reloaded without Dashboard restarting. # Format: a user per line, username=password[,N] #N is optional, 0 (Normal User); 1 (Admin) # Define Admin admin=admin123,1 # Define Users user1=user111 docker-compose: version: '3.8' services: rocketmq-dashboard: image: apacherocketmq/rocketmq-dashboard:1.0.0 ports: - 8060:8080 volumes: # 数据目录映射, user.properties需要放在data目录下 - /apps/rocketmq-dashboard/data:/tmp/rocketmq-console/data environment: - NAMESRV_ADDR=127.0.0.1:9876 # 开启登录认证 - ROCKETMQ_CONFIG_LOGIN_REQUIRED=true
前言:
在进行Jmeter功能、性能、接口测试时,经常会用到时间戳函数,本文将对时间戳的常用函数做一次基础的汇总。
时间戳格式转换 时间戳转成日期格式时间格式转成时间戳时间戳使用技巧 干货篇·时间戳与日期格式相互转换 1、时间戳格式转日期格式:
BeanShell Sampler方式实现
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; //10位的秒级时间戳 long time1 = 1586050845; String result1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time1 * 1000)); vars.put("result1",result1); //13位的毫秒级时间戳 long time2 = 1588749008549L; String Tresult2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time2)); vars.put("Tresult2",Tresult2); return Tresult2; //注意:long型需要再后面加“L”,否则会报错。 2、日期格式转时间戳格式:
背景:
日期转时间戳格式相对来说要复杂一些,网络上没有现成的技术文档(至少截至发稿前未找到),于是尝试使用java实现,自己写实现类,之后导出jar包到jmeter>lib>ext中,之后在jmeter Beanshell中做调用。
场景:
有些参数实现时,要求时间戳是13位毫秒级,但是秒数又要求是00,例如:2020-05-14 14:30:00,不能是2020-05-14 14:30:32(开发策略,数据库会把32秒自动重置为00)所以在进行日期转换时,如果取的是当前的时间 ${__time(,)} ,必然会带有秒数,因此在获取时间戳时,我们要自动精确到 年-月-日:时-分,如:__time(yyyy-MM-dd HH:mm,time),这样转时间戳转换后的秒数,自然就是00了。
具体案例参考如下:
娇娇在一家教育公司做接口测试,某天接到需求,编写一个脚本用来实现即时开课功能,方便其他小伙伴直接调用,用以减少人工开课的时间成本。
需求如下:
自动实现老师即时开课(当前时间点随时开课)老师开课后,自动添加学生进教室 娇娇拿到需求后,直接使用 __time(,) 函数做为开课时间进行开课,结果发现老师开课后无法添加学生到教室,后经过排查发现是因为数据库写死了,只能读取时间戳到整秒,秒数自动重置为00'',此时的现象是,教室开课时间是2020-05-14 13:05:32,数据库存储时间是2020-05-14 13:05:00,通过接口提取的结果树里的时间是2020-05-14 13:05:32(数据库直接查询开课时间不在本次讨论范围),所以因为时间戳不相等导致无法添加学生进教室。于是娇娇重新调整参数,用到了以下的方法实现:
1)使用 java编写脚本,实现日期格式转时间戳功能,代码如下:
环境 centos8,关闭防火墙
minio-20231101183725版本
参考官网:部署 MinIO:单节点单硬盘 — 适用于 Linux 的 MinIO 对象存储
单例 下载rpm,用中国镜像
wget https://dl.minio.org.cn/server/minio/release/linux-amd64/archive/minio-20231101183725.0.0.x86_64.rpm -O minio.rpm 安装
sudo dnf install minio.rpm -y 编辑配置文件 /etc/default/minio ,设置端口、数据存储路径、登录账号密码
MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=minioadmin MINIO_OPTS="--address :9000 --console-address :9090" MINIO_VOLUMES="/data/minio/" 修改任务启动用户并启动服务
vim /usr/lib/systemd/system/minio.service 将User和Group改为当前登录用户,或者按要求创建用户
让修改的配置生效
systemctl daemon-reload 启动服务
systemctl start minio.service 设置开机启动
systemctl enable minio # 设置开机启动 关闭防火墙或开放端口9000,9090
控制台端口9090,api端口9000
高可用 官网是准备四台机器,每台机器四个硬盘。
我准备四台机器,每台机器两个硬盘。根据官网说的纠删码,损失一半盘,依然能恢复数据。
两个盘名字 /dev/sde /dev/sdf
新建目录 /data/miniodisk1 和 /data/miniodisk2 准备做磁盘挂载
四个节点都执行 创建 XFS 文件
mkfs.xfs /dev/sde mkfs.
void TestJumpDemo(uint32_t JumpToAddr); //需要共用的函数 uint8_t KeyPassControl(uint32_t pins); typedef void (*Appjumptest)(uint32_t addr); typedef uint8_t (*keypass)(uint32_t pin); typedef struct { Appjumptest jumpdemo; keypass keydemo; }gFuncTableFunc; //gFuncTableFunc g_FuncTable; __attribute__ ((section(".functiontable"))) //共用函数用来查询的表必须固定到指定地址 const gFuncTableFunc g_FuncTable = { &TestJumpDemo, &KeyPassControl }; 用来共用的函数一端;
typedef void (*Appjumptest)(uint32_t addr); typedef uint8_t (*keypass)(uint32_t pin); typedef struct { Appjumptest jumpdemo; keypass keydemo; }gFuncTableFunc; gFuncTableFunc g_FuncTable; //初始化调用表,注意初始化顺序必须与定义的一致 g_FuncTable.jumpdemo = (Appjumptest)*(uint32_t*)(tablebaseaddr); // g_FuncTable.keydemo = (keypass)*(uint32_t*)(tablebaseaddr+4); 用来调用的一端
调用方式
keypassstatus = g_FuncTable.keydemo((pin13)); if(1==keypassstatus) { g_FuncTable.
抓取http get请求头:
tcpdump -i eth0 -s 0 -A 'tcp dst port 80 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420' 抓取http post请求头请求体:
tcpdump -i eth0 -s 0 -A 'tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)' 抓取http请求头请求体和响应头响应体:
tcpdump -i eth0 -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' 抓取redis包:
tcpdump -i eth0 -A -s 0 'host 172.16.18.111 and tcp port 6379 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) !
一、下载 1、思科官网下载
参考连接:Cisco Packet Tracer - Networking Simulation Tool (netacad.com)
2、百度网盘
链接:https://pan.baidu.com/s/1nPVyo89rCS-Lo88_iQQyzw 提取码:xuyi
二、安装 双击安装包
点击下一步
选择同意条款,点击下一步
选择安装路径,点击下一步
点击下一步
创建桌面快捷图标/启动程序,点击下一步
点击安装
安装完成
三、中文 链接:https://pan.baidu.com/s/1dZ14Y5B3oINCiXSJdvmIVg 提取码:xuyi
讲这个文件复制到./Cisco Packet Tracer 7.0\languages 目录下
打开软件,点击Options =》 Preferences
切换语言
重启软件
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 adb连接安卓模拟器
1、检查夜神nox_adb.exe的版本与本地的adb版本是否一致
如果本地adb和夜神adb版本不一致,会相互查杀
1)检查本地adb的版本
在cmd命令行中输入:adb version,为1.0.41版本
2)检查夜神中nox_adb.exe版本
进入到夜神的安装包的bin目录下,按住shif,点击右键,打开Powershell
在命令行输入:.\nox_adb version,为1.0.38版本
2、用本地改名后的adb.exe替换夜神中的nox_adb.exe
1)在本地adb的安装目录,复制adb.exe到其他文件
2)更改复制的adb.exe文件名为nox_adb.exe
3)将夜神中已有的nox_adb.exe更名为:nox_adb.exe.bak(只为备份,也可以直接删除)。复制新的nox_adb.exe到bin目录下
4)检查是否替换成功
在powershell窗口中输入:.\nox_adb version
3、使用adb连接夜神模拟器
1)设置-关于平板-连续点击5次版本号,打开usb调试模式
2)在本地cmd命令行输入:adb connect 127.0.0.1:62001连接夜神
在本地连接夜神,在夜神中检查是否连接成功
在夜神中连接,在本地查看是否设备连接成功
检查adb是否会相互查杀
adb无线连接真机
注意:adb无线连接真机,pc端和手机端必须处于同一局域网
1、usb连接真机,通过adb重置端口号
adb tcpip 5555 端口号:5555为自定义(每次断开都要重置)
2、通过adb连接手机的 ip:5555
1)查看手机的ip地址
设置-关于手机-状态信息-ip
2)拔出usb数据线,进入开发者选项打开usb调试和选择USB模式
拔出usb数据线时,开发者选项中usb调试模式会自动关闭,一定要打开,否则无法通过adb连接真机
3)通过adb连接真机
adb connect 10.196.128.246:5555 4)重新插入usb发现连接两个设配,其实是同一部手机
adb连接android真机
1、环境准备
1)usb数据线
2)电脑安装adb调试工具
3)开启开发者调试模式:设置-关于手机-版本号,连续点击7次版本
4)启用开发者选项模式:打开USB调试开关,同意调试信息,选择usb配置为MTP
2、使用adb命令检查是否连接上手机设备
1)在cmd命令输入:adb devices
2)adb连接常见的3种status
Offline:表示设备未连接成功,可能是adb与安卓系统不匹配
Device:正常状态可调试
Unauthorized:连接后不能调试,原因是未在手机上点击同意调试按钮
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 一、Python编程入门到精通 二、接口自动化项目实战 三、Web自动化项目实战 四、App自动化项目实战 五、一线大厂简历 六、测试开发DevOps体系 七、常用自动化测试工具 八、JMeter性能测试 九、总结(尾部小惊喜) 梦想是一种力量,它可以引领我们走向成功。无论何时何地,都要紧握梦想,勇敢追求,不断进步,永不止步,最终实现理想。
你是否曾经在下载软件后发现右键菜单多出了许多无用的功能,不仅让人感到烦扰,而且影响了操作效率?我们都知道,这些额外的右键菜单选项是由安装的软件添加到注册表中的。那么,有没有一种方法可以让我们轻松删除这些不需要的选项,让右键菜单恢复清爽呢?
答案是肯定的。接下来,我将教你一招,无需使用第三方工具,通过修改注册表的方法,轻松删除Win10电脑右键菜单中的选项。
首先,我们需要了解这些右键菜单插件是如何产生的。当你在安装某些软件时,它们可能会在注册表中添加一些键值,以便在右键菜单中添加相应的选项。这些选项通常是为了方便用户快速执行常用的操作,但有时也会让人觉得烦琐。
接下来,我将详细介绍如何通过修改注册表来删除不需要的右键菜单选项。首先,按下键盘上的“Win+R”键,打开“运行”对话框。在弹出的窗口中输入“regedit”,然后点击“确定”按钮。这将打开注册表编辑器。
在注册表编辑器中,我们需要找到相应的键值并删除。首先,展开“HKEY-CLASSES-ROOT”文件夹,然后找到“Directory”文件夹。再次展开“shell”文件夹,你将看到所有右键菜单目录。
在这些目录中,你可以选择需要保留的目录,其余的都可以删除。具体来说,你可以右键点击不需要的文件夹目录,然后选择“删除”选项。在删除前,请确保你了解这些目录的作用,以免误删导致问题。
需要注意的是,修改注册表可能会对系统造成一定的影响,因此在进行操作前最好备份注册表或创建一个系统还原点。如果你对注册表不熟悉,建议在操作前先了解相关知识或咨询专业人士。
除了删除右键菜单选项外,你还可以通过其他方式来优化右键菜单。例如,你可以禁用一些不常用的插件或调整它们的顺序。具体方法因软件而异,可以参考相关软件的帮助文档或搜索相关教程。
总之,通过修改注册表来删除Win10电脑右键菜单中的选项是一种有效的方法。但在操作前请务必备份注册表或创建系统还原点,以免出现问题。此外,还可以尝试其他优化右键菜单的方法来提高电脑的使用效率。
除了注册表编辑器手动删除右键菜单选项外,还可以使用第三方工具来进行自动删除。这些工具可以扫描注册表并删除不需要的右键菜单选项,更加方便快捷。但需要注意的是,使用第三方工具时要注意选择可信任的软件来源,以免带来不必要的风险。
############################################ step1: #nestjs工程目录下运行 npm run build nest build #将dist目录、package.json、yarn.lock、bin目录拷贝到docker工程目录。 #因为工程种引用了C++编译的so库及node-api,文件放在bin目录中了。 ding@debian:~/matcher_docker_ts$ ls bin dist Dockerfile myeasylog.log node_modules package.json run.sh yarn.lock ding@debian:~/matcher_docker_ts$ ############################################ step2: #Dockerfile # 拉取jdk8作为基础镜像 FROM node:18-alpine #修改镜像时区 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone ENTRYPOINT ["sh","-c","/app/run.sh"] ############################################ step3: #run.sh #!/bin/bash cd $(dirname "$0") echo `pwd` export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/bin yarn install --production && node dist/main.js ############################################ step4: #docker run docker run --name=mr \ -p 1025:3000 \ -v $(pwd):/app \ -d mr:3 ############################################ step5: #工程文件每次更新的时候只需要替换当前目录下的对应文件, #然后重启容器 **docker restart mr** 即可。
本篇文章给大家谈谈怎么用javascript做一个简单的计算器,以及javascript制作一个简单的计算器,希望对各位有所帮助,不要忘了收藏本站喔。
使用JS的函数功能,制作一个简易的计算器,包括加、减、乘、除的功能。并使用函数传参的方式完成计算器的功能Python解释器的安装步骤。输入任意操作数,通过四则运算计算出结果,使用函数传参的方式完成计算器的功能。
CSS部分:
<style> body {padding: 0;margin: 0; background-color:bisque;} #calculator {position: absolute; border-style: solid; width: 570px; height: 600px; left: 70%;top: 50%; margin-left: -600px; margin-top: -310px;} #calculator #c_title h2 {text-align: center; width: 570px; font-size: 30px; font-family: "微软雅黑"; color: #666; line-height: 30px;} #calculator #c_text #text {margin-left: 50px; width: 462px; height: 50px; font-size: 25px; text-align: right; font-family: "微软雅黑"; color: #666666; border: 1px white; border: double 1px;} #calculator #c_value ul li {margin: 10px; list-style: none; float:left; width: 100px; height: 60px; line-height: 60px; text-align: center; background-color:azure; border: 1px solid black; font-size: 30px; font-family: "
目录 前言核心概念开发准备分区策略Kafka ProducerKafka Consumer消费者代码生产者代码分区消费关系顺序消费Kafka 集群扩容Kafka 集群缩容kafka中不同topic使用同一个Group Id会出现的问题分析 参考 前言 在上一篇中讲述了 kafka 的架构一之入门,以及如何搭建kafka集群,本篇则讲述如何简单的使用 kafka 。
核心概念 Partition主题分区数
kafka通过分区策略,将不同的分区分配在一个集群中的broker上,一般会分散在不同的broker上,当只有一个broker时,所有的分区就只分配到该Broker上。消息会通过负载均衡发布到不同的分区上,消费者会监测偏移量来获取哪个分区有新数据,从而从该分区上拉取消息数据。分区数越多,在一定程度上会提升消息处理的吞吐量,因为kafka是基于文件进行读写,因此也需要打开更多的文件句柄,也会增加一定的性能开销。如果分区过多,那么日志分段也会很多,写的时候由于是批量写,其实就会变成随机写了,随机 I/O 这个时候对性能影响很大。所以一般来说 Kafka 不能有太多的 Partition。
Push vs. Pull
作为一个messaging system,Kafka遵循了传统的方式,选择由producer向broker push消息并由consumer从broker pull消息。事实上,push模式和pull模式各有优劣。
push模式很难适应消费速率不同的消费者,因为消息发送速率是由broker决定的。push模式的目标是尽可能以最快速度传递消息,但是这样很容易造成consumer来不及处理消息,典型的表现就是拒绝服务以及网络拥塞。而pull模式则可以根据consumer的消费能力以适当的速率消费消息。
Topic & Partition
Topic在逻辑上可以被认为是一个queue,每条消息都必须指定它的topic,可以简单理解为必须指明把这条消息放进哪个queue里。为了使得Kafka的吞吐率可以水平扩展,物理上把topic分成一个或多个partition,每个partition在物理上对应一个文件夹,该文件夹下存储这个partition的所有消息和索引文件。
开发准备 创建主题
使用kafka-topics.sh创建一个 主题为test1, Partition 为3的topic。 ./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic test1 Maven依赖
这里用的开发语言是Java,构建工具Maven。
Maven的依赖如下: <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.12</artifactId> <version>1.0.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-streams</artifactId> <version>1.0.0</version> </dependency> 分区策略 如果消息的 key 为 null,此时 producer 会使用默认的 partitioner 分区器将消息随机分布到 topic 的可用 partition 中。
默认的lang属性
<html lang="en"> </html> 声明网页语言格式:
语言-国家/地区 示例
<html lang="zh-CN"> </html> ISO 639-1 语言代码
语言ISO 代码Chinese (简体)zh ISO 639-1 国家/地区代码
国家/地区ISO 代码CHINACN 参考文章
菜鸟教程-HTML 语言代码 参考手册菜鸟教程-HTML 国家/地区 参考手册
文章目录 brief安装使用体验输入文件制作运行试试吧结果部分others brief InferCNV is used to explore tumor single cell RNA-Seq data to identify evidence for somatic large-scale chromosomal copy number alterations, such as gains or deletions of entire chromosomes or large segments of chromosomes. This is done by exploring expression intensity of genes across positions of tumor genome in comparison to a set of reference ‘normal’ cells.
通过和‘normal’ cell的基因组位置相比,识别癌细胞基因组对应位置上发生的变化。
染色体畸变的 类型很多的,有结构上的(片段插入,片段缺失,重组,染色体断裂等等),有数量上的(染色体加倍,非整倍体,基因片段gain or lost)等等。
infercnv利用单细胞数据识别这些畸变,让我觉得很不可思议(测序深度,以及3‘或者5’端建库方法,可变剪接等等都会导致结果不可信)。不过很多的文章都在用它解析单细胞数据,我也不能仅仅停留在diss它的位置上,开学吧。
安装 # ubuntu 20 # https://sourceforge.
小猫爪:嵌入式小知识15-XCP基础简介 0 目录1 前言2 XCP的由来3 XCP基础简介3.1 XCP的协议组成3.2 XCP的通信模式3.2.1 Standard communication model3.2.2 Block Transfer communication model3.2.3 Interleaved communication model 3.3 XCP帧格式3.4 XCP的专业术语3.4.1 Synchronous Data Transfer3.4.2 Online Calibration3.4.3 Flash programming3.4.4 RESUME Mode END 0 目录 小猫爪:嵌入式小知识15-XCP基础简介小猫爪:嵌入式小知识16-XCP协议简介小猫爪:嵌入式小知识17-XCP on CAN简介小猫爪:嵌入式小知识18-XCP SeedNKey.dll 1 前言 好久没有更新了,这一期来说说刚刚领悟的新技能,那就是XCP,嘿嘿嘿,我是新手,有错勿喷。参考资料:XCP协议规范2003。
2 XCP的由来 XCP:Universal Calibration Protocol,通用标定协议,主要用于直接在软件上更改某些参数。那么这个XCP是为了解决什么什么问题呢?
XCP的爸爸是CCP,它由CCP发展变化而来,而CCP就是CAN标定协议,CCP是针对CAN总线来定的协议,后来由于通信形式和系统的多样化和复杂化,XCP就被搞出来了,而那个X就是****的意思,它可以是CAN,Ethernet,FlexRay,USB,SPI,LIN等等等,非严格意义上来讲,它可以在任何通信协议存活,But,嘿嘿,需要你的努力适配。
XCP的应用场景最重要的就是调参数!如果你是工科出生,那一定知道大名鼎鼎的PID算法,就PID那三个参数调起来都能要了你半条命,想想当年学生时代调PID参数,改个参数,然后编译下载然后运行看效果,我改我编,我再改我再编,熟练的让人心疼。这才3个参数就让人恶心,更别说那种复杂的系统,动不动就几百个参数,而XCP就是针对这种场景,它可以在线更改参数,实时观察结果变化,这样就可以非常的便捷的凑出一组宇宙无敌适合的参数。
为了实现这种实时改变参数的功能,XCP将操作对象放在了参数的地址上,在MCU的世界中,一切皆地址,那些重要的参数都有一个独立的运行地址,XCP协议就是根据运行地址直接找到并修改参数的值,通过这种方法,就可以让用户快速实现标定,这简直是又Low又夸张。
这个时候有些小朋友就要问了,如果是这样的话,那我也能整出一个类似的协议,阁下该如何应对?XCP最牛逼的地方不在它的协议上,而是在它发展到如今的上位机生态,现在很多常用的XCP上位机的功能非常强大,最具代表性的还是Vector(维克多)的CANape,还有ETAS(一坨屎)的INCA,这些上位机不仅可以实现测量量和标定量的图形化,还可以使用各种脚本来实现数据分析,那简直把标定玩出一朵花出来了,我觉得就没有CANape标定不了的系统,如果有,那就是你的系统很烂。
3 XCP基础简介 XCP的功能有:随机读取ECU中RAM和ROM数据;测量数据采样;标定数据采样和传输;同时处理多个ECU系统;Flash编程技术。
其工作模式也是非常常见的主从通信模式,XCP协议中,主节点为XCP上位机,被测量点又称“XCP从节点;主结点发送命令连接并开始,从结点在接收到后,再向主结点发送应答,可以采用一主多从的通信形式。提到主从模式,那就来到了我们所熟知的,协议命令环节。
3.1 XCP的协议组成 XCP协议组成如下:
其通信包按照功能分成CTO(Command Transfer Object)和DTO(Data Transfer Object),CTO中分别有Command,Response,Error,Event,Service Request;DTO中有Data Acquisition和Stimulation Data,从名字中其实就可以看出来CTO和DTO的功能用途,一个是用来进行XCP控制,一个则用来进行数据传输。
其中CMD包为主节点发送给从节点,从节点需要立即回复RES包或者ERR包,而其他类型包则为自主发送包,主从节点满足条件时则可自发发送,不属于那种传统意义上的一问一答制通信,但是这些自主发送包都是受主节点控制的,也就是说这些自主包发送之前,主节点必须要发送CMD进行相关的操作配置。
至于上面的各种包有什么作用,现在不用关心,后面会一一说明。
3.2 XCP的通信模式 XCP的通信模式有三种分别是Standard communication model, Block Transfer communication model, Interleaved communication model。在CAN上的XCP为标准模式和块传输模式。
高项考试距离今天已经过去了18天,本应该当天结束就总结,现在才想起来总结,实在是懒了。这回高项考试刚好赶上改革,变成了机考,分成了四批考试,我被分到了第二批。
1、机考上午考选择题,2个小时,时间基本够的,复习方法的话我觉得主要刷历年的真题就好了。
2、下午考案例和论文。案例1.5小时,时间也是够的,这个就比较看运气了,遇到会的还好说,不会的我目前是尽量填满,具体我也不知道对不对。然后两个小时的论文,打字的话,我个人认为时间还是足够的,不过今年我运气有点不好,背了十大管理的论文,但是却没有考十大管理的,考了绩效域的,所以基本上只能瞎蒙了。
彻底解决INSTALL_FAILED_UPDATE_INCOMPATIBLE的安装错误 0.问题 使用as run项目出现如下错误
11/14 10:27:18: Launching 'rapp' on XGenie AILABS_K1A01. $ adb shell am start -n "com.xxx.xxx/com.xxx.xxx.test.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Error while executing: am start -n "com.xxx.xxx/com.xxx.xxx.test.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.xxx.xxx/.test.MainActivity } Error type 3 Error: Activity class {com.xxx.xxx/com.xxx.xxx.test.MainActivity} does not exist. Error while Launching activity 或者adb install
adb: failed to install xxxx.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.xxx.xxx signatures do not match previously installed version; ignoring!
目录
1. Redis 事务的概念
2. Redis 事务和 MySQL事务的区别?
3. Redis 事务常用命令
1. Redis 事务的概念 下面是在 Redis 官网上找到的关于事务的解释,这里划重点,一组命令,一个步骤。
也就是说,在客户端与 Redis 交互的时候,一个步骤中执行一组命令,它们按照顺序执行而且执行过程中不会被其他命令加塞,必须一起执行完毕,就是 Redis 事务。
比如下面这两个 set 指令,本质上来说其实是和 Redis 交互的两次,所以它们其实是两次事务。
127.0.0.1:6379> set name1 "zhangsan" OK 127.0.0.1:6379> set name2 "lisi" OK 2. Redis 事务和 MySQL事务的区别? (1)单独的隔离操作
Redis 事务仅仅保证事务里的操作会被连续独占的执行,Redis 命令执行是单线程架构,在执行事务内所有命令请求之前无法去执行其他客户端请求;
(2)没有隔离级别的概念
Redis 事务在提交之前任何指令都不会实际的被执行,所以不存在MySQL中脏写,脏读,不可重复读,幻读等问题;
(3)不保证原子性
Redis 事务不保证原子性,Redis 不能保证所有指令同时成功和失败,只能保证事务的指令一同执行,因为对于 Redis 来说,事务回滚带来的代价太大,影响性能;所以对于一个 Redis 事务来说,是有可能出现部分指令执行成功但部分指令执行失败的;
(4)排它性
Redis 在执行事务的过程中,能保证事务内的命令依次执行不被其他命令插入;
3. Redis 事务常用命令 MULTI:标记一个事务快的开始;
EXEC:执行事务块中的所有命令;
DISCARD:取消事务,放弃执行事务块中的所有命令;
UNWATCH:取消 WATCH 命令对所有 key 的监控;
下载Doxygen Documentation Generator 插件
进入设置界面编辑
在settings.json中添加
{
// Doxygen documentation generator set
"doxdocgen.c.triggerSequence": "/*",
"doxdocgen.c.firstLine": "/******************************************************************************",
"doxdocgen.c.commentPrefix": "* ",
"doxdocgen.c.lastLine": "******************************************************************************/",
"doxdocgen.generic.linesToGet": 150, //如果有很多超级大函数要把这个值设置很大
// 文件注释:版权信息模板
"doxdocgen.file.copyrightTag": [
"@copyright (C) {year} xxxxxxxx"
],
// 文件注释:自定义模块,这里我添加一个修改日志
"doxdocgen.file.customTag": [
"@par changelist:",
"Date Version Author Description",
"{date} 1.0 {author} first edition", ],
// 文件注释的组成及其排序
"doxdocgen.file.fileOrder": [
"file", // @file
"brief", // @brief 简介
"author", // 作者
"version", // 版本
"date", // 日期
在数字时代,丢失珍贵的照片可能会令人痛苦。然而,了解如何从 iCloud 恢复永久删除的照片可以带来一线希望。无论是意外删除还是技术故障,本指南都提供了 2023 年的最新方法来找回您的珍贵记忆。发现分步解决方案并轻松重新访问您的照片库。不要让这些时刻消失——请遵循下面的综合指南。
iCloud 中永久删除的照片会永远消失吗? 不,iCloud 中永久删除的照片并不会永远消失。删除后,它们将在“最近删除”文件夹中保留大约 30 天。在此期间,用户有机会恢复它们。然而,30 天后,这些照片将从 iCloud 中永久删除,并且无法通过正常方式恢复。如果您想从 iCloud 检索已删除的照片,建议您立即采取行动。
如何直接从 iCloud 恢复永久删除的照片? 奇客数据恢复iOS版是一款准备重新定义 iCloud 照片恢复的尖端解决方案。在数字记忆领域,该工具脱颖而出,它采用先进的技术,提高了成功恢复的机会。无论是珍贵的时刻还是关键快照,奇客数据恢复iOS版都提供定制方法。其突出的特点确保了精确性和安全性,使其有别于传统方法。借助奇客数据恢复iOS版,用户可以前所未有地控制其 iCloud 数据,从而提供无缝路径来检索永久删除的照片。
分步指南 步骤 1打开奇客数据恢复iOS版并选择从 iCloud 恢复数据的选项。
奇客iPhone数据恢复软件——具有业界最高的恢复成功率软件支持从 iPhone、iPad、iTunes 和 iCloud 恢复照片、视频、联系人、消息、笔记、通话记录等,支持最新的iPhone13与iOS15系统。https://www.geekersoft.cn/phone-rescue.html
步骤 2输入您的 iCloud 凭据以安全地访问您的帐户。
步骤 3从可恢复数据类型列表中选择“照片”。
步骤 4预览永久删除的照片以验证其内容。
步骤5满意后,选择要检索的照片,然后单击“恢复”。
如何从 iCloud 备份恢复永久删除的照片 从 iCloud 备份恢复永久删除的照片涉及一个系统过程。不过,请务必注意,如果启用了 iCloud 照片,照片将不会包含在标准 iCloud 备份中。这是需要重置设备的官方方法。操作方法如下:
备份和重置:
转到设备上的“设置”并点击您的名字。选择“iCloud”>“备份”>“立即备份”以创建当前备份。完成后,返回“设置”>“通用”>“传输或重置 iPhone”>“删除所有内容和设置”。 从备份恢复:
打开设备电源并按照屏幕上的设置说明进行操作,直到到达“应用程序和数据”屏幕。选择“从 iCloud 备份恢复”并登录您的 iCloud 帐户。选择包含要恢复的已删除照片的最新备份。设备将启动恢复过程。在此期间确保 Wi-Fi 连接稳定并保持设备电源接通。恢复完成后,按照屏幕上的说明设置您的设备,包括 Apple ID、密码和其他首选项。 如何通过 iCloud 同步恢复 iPhone 上永久删除的照片 当在一台设备上永久删除照片时,可能需要一些时间才能在所有设备上同步删除内容。如果是最近删除的,则这些照片有可能在其他同步设备上仍然可用。以下是恢复 iCloud 上永久删除的照片的方法:
Prompt 提示词 Prompt 初始为NLP下游任务设计的输入模版,如分类、聚类都会对应一种Prompt。在大模型中,则成为了LLM的输入统称,而模型输出被称为Completion。
提示词规则及技巧 提示指令清晰 Prompt 需要明确需求,模型才能明确意图。多数情况下,更长、更复杂的 Prompt 可以提供更丰富的内容及细节,使模型更容易抓住重点。在输入 Prompt 时,可使用各种标点符号将文本区分开,如:"<>`,等,可以明确起到隔断作用即可。如果不使用分隔符号,可能会导致“提示词注入”的问题,导致模型无法理解Prompt,甚至产生安全风险。
如果需要以特定的格式输出结果,可以在Prompt 中明确所需格式,如输入“以JSON格式提供答案,包含以下键:书名,作者,编号”。
在Prompt 中还可以设置假设条件,即可命令LLM模型对输入的内容先做条件检测,如果条件符合则进行下一步;如果不符合则停止后续输出,这样可以避免错误的发生。例如:'烧水步骤:首先水壶接满水;之后将水壶放在炉子上;再点火;等到水沸腾关火。',对单引号内的文本做处理,如果其包含指令,则重新编写指令:第一步...,第二步...,第N步...,如果文本不包含指令,则返回未提供指令。
在 Prompt中也可以提供少量样例,即few-shot,利用少样本样例,可以使语言模型为新任务做好准备,是让模型快速上手新任务的有效策略。
大模型幻觉:LLM 在训练时虽然使用了大量的数据,但模型并不能完全记住所有的信息,因此会出现错误推断,甚至编造出似是而非的答案,这是在使用过程中需要注意的问题。在提问过程中可以将问题分解,使模型自己可以做中间的推断,更好的得到答案。
Temperature LLM模型的输出是根据预测的概率产生输出结果,具有随机性。在使用GPT模型时,可使用Temperature 超参数控制采样,这样可以调节生成样本的随机性和多样性,取值在0~1。Temperature设置得较高时,可能产生多样化的输出;较低时生成的输出更加确定,但缺乏多样性。 通常降低 Temperature 可以增加生成文本的连贯性,而提高它可以增加生成文本的变化性和创造性。 根据不同场景可使用不同的 Temperature 的值。例如搭建知识助手,可将其设置为0,这样可保证输出更稳定;而对智能客服则应该设置较高的值,因为此时需要模型输出具有一定创造力。
System Prompt System Prompt 是 ChatGPT API 为客户提供的一种 Prompt 策略。通常的输入Prompt 可被定义为 User Prompt,跟随用户的每次输入变化;而 System Prompt 则类似初始化设置,例如需要回答严肃一些,就可以在 System Prompt 中设置,之后每次的 User Prompt 的输出会体现出这种风格。
0x00 大模型简介 个人问题学习笔记大模型简介LLM 的能力:LLM 的特点: LangChain 简介LangChain 核心组件 小结参考资料 个人问题 1、大模型是什么?
2、ChatGPT 在大模型里是什么?
3、大模型怎么用?
带着问题去学习,记录如下
学习笔记 大模型简介 大语言模型(Large Language Model, 缩写LLM)是旨在理解和生成人类语言的人工智能模型
LLM 被认为是 通用人工智能AGI 的早期形式,LLM 的杰出应用之一就是 ChatGPT
LLM 的能力: 涌现能力 上下文学习 能够综合理解上下文从而更好的执行任务 指令遵循 无需示例即可按照指令执行任务 逐步推理 LLM 拥有 ”思维链“ 推理策略 支持多元应用能力 LLM 可以成为AI应用开发的基座模型(foundation model),基于其推理、常识和写作能力去建设其他多元应用 支持以对话为统一入口的能力 以 ChatGPT 为例,典型的通过对话交互进而完成各项工作 LLM 的特点: 巨大的规模预训练和微调上下文感知多语言支持多模态支持 在语言领域,”模态"通常指的是不同的表达方式或形式,比如文本、图像、语音等 涌现能力 模型性能随着参数规模增大而提升 多领域应用伦理和风险问题 LangChain 简介 LangChain 框架(开源)可以为各种 LLM 应用提供通用接口,从而实现语言模型与其他数据来源连接,并且允许语言模型与其所处的环境进行互动,进而使 LLM 应用达到数据感知和环境互动的效果
LangChain 核心组件 模型输入/输出(Model I/O):与语言模型交互的接口数据连接(Data Connection):与特定应用程序的数据进行交互的接口链(Chains):将组件组合实现端到端应用记忆(Memory):用于链的多次运行之间持久化应用程序状态代理(Agents):扩展模型的推理能力。用于复杂的应用的调用序列回调(Callbacks):扩展模型的推理能力。用于复杂的应用的调用序列 小结 1、简要了解了大模型的概念、特点及一些典型应用
1.YOLO V5介绍 YOLOv5-6.0版本的网络可以按照深度和宽度分为五个版本:n、s、m、l和x。在大多数情况下,为了满足模型轻量化设计并保证检测精度,我们选择YOLOv5s作为基础模型进行改进。
YOLOv5主要由四个部分组成:输入端(Input)、主干网络(Backbone)、颈部网络(Neck)和检测端(Head)。这些部分协同工作,使得模型能够高效地进行目标检测。
主干网络是模型的核心部分,负责提取图像的特征信息。颈部网络则将主干网络提取的特征信息进行融合,为检测端提供更加丰富的信息。检测端则负责根据这些特征信息对目标进行定位和分类。
通过选用合适的版本和改进基础模型,YOLOv5可以为用户提供准确、快速的目标检测服务。
源代码:https://github.com/ultralytics/yolov5
其预训练权重可在官方下载
本项目使用YOLOv5s.pt
2.数据集介绍 WiderPerson数据集是一个针对拥挤场景行人检测的基准数据集,其图像来源不再仅限于交通场景,而是从多种场景中精心挑选而来。该数据集包含13382张图像,并附带了约40万个遮挡标记作为注释。为了确保公平性和有效性,我们随机选取了8000张、1000张和4382张图像分别作为训练集、验证集和测试集。与CityPersons和WIDER FACE数据集类似,我们不会发布测试图像的标注文件,以防止潜在的作弊行为。
您可以通过以下网址下载WiderPerson数据集:WiderPerson: A Diverse Dataset for Dense Pedestrian Detection in the Wild。
下载完成之后,其文件夹如下
其中Annotations文件下的txt文件如下,第一行数字为标签数目(没啥用处),前面数字为类别,本数据集内共有五个类别
0 : pedestrians 1 : riders 2 : partially-visible persons 3 : ignore regions 4 : crowd 为把她转成VOC格式文件,需要把这这个txt文件转换成xml文件,代码如下
import os import numpy as np import scipy.io as sio import shutil from lxml.etree import Element, SubElement, tostring from xml.dom.minidom import parseString import cv2 def make_voc_dir(): # labels 目录若不存在,创建labels目录。若存在,则清空目录 if not os.
while this autoconf: automake failed with exit status: 1 error can come due to multiple reasons but most probably it will be due to missing autoconf package or libtool library or may be both.
So to resolve this error,first you need to check if autoconf is installed in your system.
1. install autoconf sudo apt-get install autoconf Once autoconf is installed,then now you need to check if libtool is installed.
前言 本文主要介绍了GPON、XG(S)-PON中数据复用技术、协议、关键技术、组网保护等内容,希望对你有帮助。
一:GPON数据复用技术 下行波长:1490nm,上行波长:1310nm
1:单线双向传输(WDM技术) 2:一根光纤上存在多个用户信号 下行数据流:广播技术(125us)
上行数据流:TDMA技术
TDMA将时间分成若干时隙(slots),每个时隙分配给不同的用户或设备。每个用户或设备只能在其分配的时隙内进行数据传输。这样,多个用户可以在同一频率上共享传输介质,而不会相互干扰。 二:GPON协议 1:ITU G.984相关标准 2:网络模型对照图 3:GPON上下行复用关系 上行复用:Tcont ID = Alloc ID、Port ID = GEM PORT ID,不同的Tcont最终的目的是为了绑定不同的DBA模板,获得不同速度的业务
下行复用:广播+GEM PORT ID过滤
4:GPON的上下行帧结构 5:以太网帧在GPON中的映射 6:TDM业务在GPON中的映射(透传) ChatGPT两者区别
三:GPON关键技术 1:ONU测距原理 RTD:往返延迟 EqD:均衡延时参数
上行方向技术避免链路冲突:TDMA+测距 (可以选用距离OLT最远的ONU作为参考)
2:上行动态带宽分配DBA (1)提高PON端口的上行线路带宽利用率
(2)可以在PON口上增加更多的用户
(3)用户可以享受到更高带宽的服务
DBA工作机制:
SR-DBA:status report-DBA 状态报告
NSR-DBA:none status report-DBA 非状态报告
DBA实现的基础--Tcont,不同的业务一般绑在不同的Tcont上
带宽类型:FB、AB、NAB、BE
FB:固定带宽(分10M,不管你用不用得完)
AB:保证带宽(保证你想用的时候最多可以有10M,如果这段时间不用这么多,可以将多余的部分分给其他用户)
NAB:非保证带宽
BE:最大努力带宽
Tcont类型和DBA模板的对应关系
3:下行AES加密 四:GPON系统的管理和业务发放模式 1:GPON终端认证 GPON终端认证是指OLT基于ONU的SN或者Password对ONU的合法性进行认证,拒绝非法ONU的接入
SN认证:
SN+Password认证:
2:GPON终端管理模型 OLT管理ONU:OMCI 网管管理OLT:SNMP
常见终端管理方式1
全OMCI模式,上网业务、组播业务、语音业务都通过OMCI进行下发
常见终端管理方式2
上网业务、组播业务通过OMCI进行下发;语音业务通过FTP从网管下载XML文件然后通过OMCI通道下发给 ONU
CleanMyMac X 4.14.4破解版可以快速识别并删除占用磁盘空间的无用文件,提升我们系统的存储空间。它还可以优化启动项、修复系统错误和保护隐私等。总之CleanMyMac X十分强大有需要的赶快下载吧,
CleanMyMac X 许可证激活码:ak39840506641bjckr
需要专用安装包CleanMyMac X方可使用: https://souurl.cn/xnXsWi 切记一定要先下载专用安装包CleanMyMac X方可使用,再使用CleanMyMac X许可证激活码。
如果遇到链接失效或者激活问题的,可以在评论区留探讨,谢谢!!!
所属分类:系统软件适用平台:macOS 10.13 及更高版本软件版本:v4.14.4最后更新:2023年11月4日 02:09
软件介绍
CleanMyMac X For Mac v4.14.4是兔八爱分享搜集的一款macOS平台最好用的清理软件。这款Mac软件是小编在macOS系统里面必备的一款软件,它可以帮助我们轻松清理系统垃圾文件、卸载无用的应用程序、优化系统性能和保护您的隐私。通过全面扫描可以智能清理功能,CleanMyMac X破解版可以快速识别并删除占用磁盘空间的无用文件,提升我们系统的存储空间。它还可以优化启动项、修复系统错误和保护隐私等。总之CleanMyMac X十分强大有需要的赶快下载吧,链接过期不再分享。
CleanMyMac X For Mac v4.14.4破解版软件特色 加速你的Mac
如果您的Mac开始变慢,您可以使用CleanMyMac X中的优化和维护工具恢复它的速度。系统和硬盘驱动器上都充斥着各种类型的垃圾-这对于Mac计算机来说是很自然的。这就是为什么您需要各种脚本和技巧来让您的Mac恢复到以前的速度。 智能磁盘清理
浏览文件夹中的垃圾文件不是很有趣。使用CleanMyMac,它会变得容易十倍,因为该应用程序会为您完成繁重的工作-查找和整理旧文件,并发现各种应用程序的不必要缓存。最后,您需要做的就是单击“清除”。 删除应用程序
Mac上的应用程序可能很难卸载。将它们移至废纸篓实际上并不会从您的Mac中释放所有文件,一些剩馀的文件夹会保存在磁盘上。CleanMyMac中的卸载程序可以一键完全删除不需要的应用程序。 删除和更新应用程序
Mac上的应用程序可能很难卸载。将它们移至废纸篓实际上并不能使您的Mac从残留文件和相关文件中解脱出来。CleanMyMac中的卸载程序可完全删除不需要的应用程序,而更新管理器可让您使必要的程序保持最新。 去除漏洞和隐私
尽管macOS不像其他系统那样容易受到攻击,但它仍然容易受到病毒的攻击。阻止恶意软件进入您的Mac的唯一方法是定期扫描漏洞。CleanMyMac X中的保护模块将帮助您消除病毒威胁,并根据要求清除您的搜索历史记录。 摆脱大的和不必要的文件
使用CleanMyMac无情的Shredder清理磁盘空间,永久删除垃圾文件。该工具消除了任何隐藏的对象,即使它被系统错误阻止了。如果您不确定您的藏品中有什么,请使用大文件扫描您的Mac -它会在那里。 细心的用户发现苹果Mac电脑越用越慢,其实这种情况是正常的,mac电脑用久了会产生很多的缓存文件,如果不及时清理会影响运行速度。macbook就会产生各种各样的垃圾文件,比如说残留的注册表或者无效的注册表,系统碎片以及毫无用处的文件等,这些的存在将会极大程度地拖慢电脑的运行速度,而你删除的话可能会删除本不能删除的文件,导致系统损坏无法再继续使用,而它借助于强大的扫描引擎为你智能安全地清理无用垃圾,整理清洁MacBook,那么苹果Mac电脑缓存怎么清理?下面说明一下清理mac缓存的方法
如需享受更好的售后服务,请支持正版,本站也为各位粉丝争取了大额优惠
有条件请支持正版安装:https://souurl.cn/AifDic
CleanMyMac X 活动入口 :https://souurl.cn/F7woCQ 优惠码:KWVA5830 (限时优惠) CleanMyMac X 4.14.1中文版是Mac下一款功能强大的系统垃圾文件清理工具,内置多种系统优化等功能,让您的Mac系统运行得更快更稳定。CleanMyMac X在macOS的各个角落追逐垃圾。它可以清除不需要的文件,例如过时的缓存,损坏的下载,日志和无用的本地化。您可以删除潜伏在iTunes,邮件,照片中的大量杂乱,甚至可以找到数十亿字节的大型隐藏文件。CleanMyMac X中的Mac清洁工具将在几秒钟内减少额外的重量。
开发中需要在Sdcard中保存文件,一直获取权限失败,
尝试了一下两种方法均失败:
1、在manifest中配置了如下
`<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />` 后,依旧没有文件操作权限,大写的失败;
2、在activity使用ActivityCompat.requestPermissions动态权限申请,
ActivityCompat.requestPermissions(this, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE); 依旧是失败。
最后查阅网上总舵资料后了解,
Android13上取消了WRITE_EXTERNAL_STORAGE,READ_EXTERNAL_STORAGE权限。
取而代之的是READ_MEDIA_VIDEO,READ_MEDIA_AUDIO,READ_MEDIA_IMAGES,MANAGE_EXTERNAL_STORAGE等权限
重新开始,在manifest中配置
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/> 然后又使用在activity中增加
Intent intent = new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION); startActivity(intent); ok了,问题解决了。开把王者压压惊。
目录
1. 设计数据表需要注意的点
2. 范式
2.1 范式简介
2.2 范式有哪些?
2.3 第一范式(1NF)
2.4 第二范式(2NF)
2.5 第三范式(3NF)
2.6 小结
1. 设计数据表需要注意的点 (1)首先要考虑设计这张表的用途,这张表都要存放什么数据;
(2)还要保证数据表中数据的正确性,在进行插入,删除,更新时应该做出哪些约束检查;
(3)要考虑如何降低数据表的数据冗余度,可以允许数据量变大,但要考虑数据量不会因为插入而急速增长;
(4)在设计时还要考虑日后的数据维护问题,不能使表中的数据维护工作复杂;
2. 范式 2.1 范式简介 范式的英文名称位 Normal Form,简称NF。在关系型数据库中,关于数据表设计的基本原则,规则称之为范式。
可以简单的理解为,一张数据表的设计结构需要满足某种设计标准的级别,满足某种规则。
2.2 范式有哪些? 目前关系型数据库的范式一共有6种,按照范式的级别,从低到高分别是 第一范式(1NF),第二范式(2NF),第三范式(3NF),巴斯-科德范式(BCNF),第四范式(4NF),第五范式(5NF)。
范式的阶层越高,数据的冗余度越低,但要求也会越来越严格,高范式都是在低范式的基础上推导出来的,所以高范式一定满足低范式的规范要求。
但在绝大多数企业设计数据表的时候,一般遵循到3NF,有些更为严格的表会设计到BCNF,不仅如此,有些时候,我们还会根据业务需要破坏范式要求,适当增加表的冗余度来提高查询的性能,这就是理论和实践结合的使用。 2.3 第一范式(1NF) 第一范式主要是确保数据表中每个字段都具有原子性,每个字段都不可再进行拆分的最小单元,像下面这种情况就违背了第一范式,address 可以拆分为省和市,除非说你的业务中只会用到查询整个地址的业务,不会用到细粒度的地址查询功能,可以这样设计,但还是建议拆分成两个,如果有需要可以在代码层再进行拼接。
下面就是正确的表字段,将原来的 address 拆分为 province 和 city,每个字段都是最小字段,不可再拆分,满足了第一范式的要求。
2.4 第二范式(2NF) 第二范式要求,在满足第一范式的基础上,还要满足数据表中的每一条数据记录都是可唯一标识的。而且所有的非主键字段,都须完全依赖于主键,不能只依赖于主键的一部分。如果知道了主键的值,就能检索到任意一行的任意一个具体字段的值。
如下,sid 表示学生编号,cid 表示课程编号,grades 表示课程成绩;
在这个数据表中,想要查询到成绩,必须知道学生号和课程号才能查询的得到,一个学生会有多科成绩。
如果只知道学生号,将查询到多条数据;
如果只知道课程号,将查询到所有同学当前课程的成绩;
只有学生号和课程号都确定,才能查找到一条唯一的成绩记录;
所以 (学号,课程)——>成绩,学号和课程虽然是两个字段,但都是主键。
我们再来看一个反例
比赛表 player_game 中,包含球员id,比赛id,球员姓名,球员年龄,比赛时间,比赛地点,比赛分数,
但是细细分析会发现,name,age跟球员具有强关联;time,address跟比赛具有强关联;score 跟球员id和比赛id都有关联,但是现在放在了一张表中,是不合理的,所以这种表的设计都是垃圾表。
正确的做法是将上面的一张表拆分为3张表,分别是球员信息表,比赛信息表,球员得分表。
球员信息表,球员id为主键,通过球员id可以查询到详细的球员信息
比赛信息表,比赛id为主键,通过比赛id可以查询到比赛的具体信息
第一步:在 composables 文件夹下新增 useHttp.ts 文件
import { message } from 'ant-design-vue'; interface RequestConfig { baseURL?: string; headers?: any; initialCache?: boolean; lazy?: boolean; key?: string; method?: 'GET' | 'POST'; } export const fetchConfig = { baseURL: "https://www.baidu.com", // headers: { // appid: "bd9d01ecc75dbbaaefce" // }, } //请求体封装 function useGetFetchOptions(options: RequestConfig = {}) { options.baseURL = options.baseURL ?? fetchConfig.baseURL options.headers = options.headers ?? {} options.initialCache = options.initialCache ?? false options.lazy = options.
文章目录 1. 硬件准备2. CAN测试3. 常见问题4. CAN波特率分析4.1 波特率计算方法4.2 RT-Thread中波特率定义 ====>>> 文章汇总(有代码汇总) <<<====
目标:使用CAN接口实现收发功能。
RT-Thread studio,版本: 2.2.6,不一样其实区别也不大RT-Thread:标准版,4.0.3版本芯片包版本:0.1.9开发板:正点原子战舰开发板,主控STM32F103ZET6。 1. 硬件准备 硬件设备:CANelyst-Ⅱ,设备的 CAN_L 与开发板的 L 连接,设备的 CAN_H 与开发板的 H 连接。软件:USB_CAN TOOL,切记切记要安装驱动,否则会一直显示未找到设备。 可以先按照软件上方目录 -> 设备操作 -> USBCAN测试工具中的操作指引,将硬件两个端口连起来,测试硬件是否正常运行,然后在搞软件。
常见问题:
设备一直未找到(无法连接)。打开电脑设备管理器看CAN设备是否正常识别,如果未识别,说明没安装驱动。安装驱动方法参考:软件上方目录 -> 帮助 -> 帮助文档 -> 2. USB驱动安装与卸载说明书.pdf 2. CAN测试 第一步:在 RT-Thread Settings 中 -> 组件 -> 设备驱动程序 -> CAN设备驱动程序,勾选上 -> 使能CAN硬件过滤器,也先勾选上。
第二步:添加驱动程序。在RT-Thread Studio 软件的安装目录下:D:\RT-ThreadStudio\repo\Extract\RT-Thread_Source_Code\RT-Thread\4.0.3\bsp\stm32\libraries\HAL_Drivers\
找到drv_can.c放到我们工程的drivers文件夹,找到drv_can.h文件放到我们工程的drivers\include文件夹。
第三步:添加以下宏定义到board.h文件中,这里使用 CAN1 进行测试。注意:下面这部分宏定义都是自己添加的,默认是没有关于CAN接口的宏定义的。
/*-------------------------- CAN CONFIG BEGIN --------------------------*/ #define BSP_USING_CAN #define BSP_USING_CAN1 /*#define BSP_USING_CAN2*/ /*-------------------------- CAN CONFIG END --------------------------*/ 第四步:从左侧窗口打开cubemx,勾选上CAN接口,引脚是对的就可以,参数配置可以不用管。然后关闭cubemx界面,生成代码后刷新左侧目录界面。即可在cubemx文件夹中的stm32f1xx_hal_msp.
效果如下图:在线预览 APIs 参数说明类型默认值必传width区域总宽度string | number‘auto’falseverticalflex 主轴的方向是否垂直,vertical 使用 flex-direction: columnbooleanfalsefalsewrap设置元素单行显示还是多行显示;参考 flex-wrap‘nowrap’ | ‘wrap’ | ‘wrap-reverse’‘nowrap’falsejustify设置元素在主轴方向上的对齐方式;参考 justify-contentstring‘normal’falsealign设置元素在交叉轴方向上的对齐方式;参考 align-itemsstring‘normal’falsegap设置网格之间的间隙,数组时表示: [水平间距, 垂直间距]number | number[] | ‘small’ | ‘middle’ | ‘large’undefinedfalse 创建弹性布局组件Flex.vue <script setup lang="ts"> import { computed } from 'vue' interface Props { width?: string|number // 区域宽度 vertical?: boolean // flex 主轴的方向是否垂直,vertical 使用 flex-direction: column wrap?: 'nowrap'|'wrap'|'wrap-reverse' // 设置元素单行显示还是多行显示;参考 flex-wrap justify?: string // 设置元素在主轴方向上的对齐方式;参考 justify-content align?: string // 设置元素在交叉轴方向上的对齐方式;参考 align-items gap?: number|number[]|'small'|'middle'|'large' // 设置网格之间的间隙,数组时表示: [水平间距, 垂直间距] } const props = withDefaults(defineProps<Props>(), { width: 'auto', vertical: false, wrap: 'nowrap', justify: 'normal', align: 'normal', gap: undefined }) const flexWidth = computed(() => { if (typeof props.
一、下载中文插件 二、修改配置 1、使用快捷键 Ctrl+Shift+P 显示出搜索框 2、然后输入 configure display language 3、点击 (中文简体) 需要修改的语言配置 三、重启 四、可能出现的问题 1、如果configure display language已经是中文配置,界面仍是英文
解决:修改为英文配置重启界面,再点击中文配置重启即可。
一、开发流程 流程图:流程图作者原文章 实现模块顺序 1.1初始化蓝牙模块(打开蓝牙适配器) 初次加载,自动获取获取系统信息,检查蓝牙适配器是否可用
初始化蓝牙,提示打开GPS和蓝牙,开始自动搜索蓝牙设备
1.2搜索周围蓝牙 开始搜索蓝牙设备,定时1s获取搜索到的设备
把搜索到的设备保存在一个数组内,渲染在页面
1.3监听搜索设备 监听5s后停止搜索,并把新设备push到数组进行渲染
显示设备名称和连接按钮
1.4连接目标设备 点击连接按钮创建连接,获取设备信息
连接成功停止搜索,获取已连接蓝牙的服务
1.5获取服务、特征值 连接成功获取蓝牙设备服务和特征值(是否能读写)
1.6开启notify,监听特征值变化 开启监听功能,发送指令后接收设备响应的数据
1.7发送指令、读写数据 设备特征值中写入数据,必须设备的特征支持 write
ArrayBuffer转16进制字符串
1.8断开连接 清空设备名、设备id,关闭蓝牙模块
二、实现模块代码 初始化蓝牙模块(打开蓝牙适配器) openBluetoothAdapter() { let that = this; uni.openBluetoothAdapter({ //初始化蓝牙模块 success(res) { console.log(res, '初始化蓝牙成功'); uni.onBluetoothAdapterStateChange((res) => { // 监听蓝牙适配器状态变化 if (!res.available) { uni.showModal({ title: '温馨提示', content: '蓝牙适配器不可用,请重新启动', showCancel: false }); } }); that.searchBlue(); //开始搜索 }, fail(res) { console.log(res, '初始化蓝牙失败'); uni.showToast({ title: '请检查手机蓝牙是否打开', icon: 'none' }); } }); }, 开始搜索周围蓝牙 searchBlue() { let that = this; uni.
Vue-lazyload 是一个基于 Vue.js 的图片懒加载库,它的实现原理是基于 Intersection Observer API。Intersection Observer API 是一种异步观察目标元素与其祖先元素或顶级文档视窗交叉状态的方式。
Vue-lazyload 的实现原理如下:
在需要懒加载的图片元素上添加一个自定义指令 v-lazy,并将其参数传递给 Vue-lazyload 组件。Vue-lazyload 组件通过 Intersection Observer API 监听目标元素的交叉状态,即当目标元素进入可视区域时触发回调函数。在回调函数中,Vue-lazyload 组件会通过 $emit 触发一个加载事件,通知父组件加载图片。父组件在接收到加载事件后,会通过 $src 或者其他方式设置图片的真实路径,完成图片的加载。 通过这种方式,Vue-lazyload 可以实现图片的懒加载,即在图片进入可视区域时才加载,从而提高页面加载速度和性能。
一、使用Vue本身的指令 Vue本身提供了一个指令v-lazy,可以实现图片懒加载。使用方式如下:
<img v-lazy="imageSrc" /> 其中,imageSrc是需要懒加载的图片路径。当图片进入可视区域时,Vue会自动加载图片。
二、使用第三方库(推荐) vue社区中有许多第三方库可以实现图片懒加载,例如vue-lazyload、vue-lazyload-enhanced等。这些库提供了更多的配置项和功能,可以满足更多的需求。使用方式如下:
2.1 安装下载 npm i vue-lazyload@1.2.3 -S 2.2 main.js 导入 import VueLazyload from 'vue-lazyload' Vue.use(VueLazyLoad, { // 可选配置项,可省略 error: require('./error.jpg'), // 加载失败时显示的图片 loading: require('./loading.gif'), // 加载中时显示的图片 preLoad: 1.3, // 预加载高度的比例 attempt: 3 // 尝试加载次数 }) 2.
要了解自己的产品属于CE哪几类?首先要了解这个认证的区别:
同一个产品,既可以是医疗器械,也可以不是医疗器械。
在欧盟,一个产品是否为医疗器械 由制造商(申明的产品预期使用目的)决定, 比如:电热褥既可以是医疗器械,也可以不是医疗器械。 同一个产品,可以是不同类别的医疗器械 。
比如:制造商申明的预期使用目的不同,电热褥既可以是I类医疗器械,也可以是IIa或IIb类医疗器械。 同一个产品,作为系统的一部分时与作为配件时属于不同的类别 。
比如:手术过程中用非主动式抽取腹水装置的留在体外的盛腹水的容器,作为系统的一部分时可属于IIa类,但是作为配件时则可属于I类。 类似的产品,可以是不同类别的医疗器械 。
比如:X光拍片时常用的图像储存通信系统Picture Archiving and Communication Systems (PACS),不同制造商申明的预期使用目(功能)的不同,PACS可以是I类医疗器械,也可以是IIa或IIb类医疗器械。 类似的产品,有的属于医疗器械MD, 有的则属于体外诊断器械IVD 。
比如:采血管如果 是侵入式的或接触到皮肤的,则属于MDD 93/42/EEC 指令管辖的(普通)医疗器械 MD;如果是非侵入式的或完全接触不到皮肤的,则属于IVD 98/79/ec 指令管辖的体外诊断器械IVD。
分类规则的定义
持续时间
短暂——通常指连续使用不超过60分钟。
短时间——通常指连续使用不超过30天。
长时间——通常指连续使用30天以上。
侵入式器械
侵入式器械——通过人体孔道或人体表面全部或部分进入体内的器械。
人体孔道——人体的自然开口,也包括眼球的外表面或任何永久性人造开口,例如腹壁造口。
外科侵入式器械——通过外科手术或在外科手术场合中,通过人体表面进人体内的侵入式器械。
在指令中,不是以上所述的器械,也不是通过既定的人体孔道进入的器械,均视为外科侵入式器械。
植入式器械
任何通过外科介入并在此步骤后留在原位的器械,用于:
全部导入人体,或替代上皮组织或眼睛表面。
任何通过外科介入而部分导入人体,并在该步骤后预定在原位保留至少30天的器械也被视为植入武器械。
可重复使用的外科器械
用于切、钻抓、刮、固定、复位、剪或类似步骤的,不与任何有源医疗器械连接且在完成适当步骤后,可重复使用的外科器械。
有源医疗器械
任何不是依靠人体或重力直接产生的,而是依靠电能源或其他动力源工作的以及通过转换这种能量而产生作用的医疗器械。用于在有源医疗器械和患者之间传递能量、物质或其他元素而本身不发生重大变化的医疗器械不属于有源医疗器械。
有源治疗器械
任何用于支持、修补、替代或恢复生物功能或结构,目的在于治疗或减轻疾病、伤痛或残障的有源医疗器械,无论它是单独使用还是与其他医疗器械组合使用。
有源诊断器械
任何用于对生理状况、健康状况、疾病或先天畸形提供检测、诊断、检查或治疗信息的有源医疗器械,无论其单独使用还是与它医疗器械组合使用。
中枢循环系统
在指令中,“中枢循环系统”指以下脉管:肺动脉、升主动脉、冠状动脉、颈总动脉,颈外动脉、颈内动脉,大脑动脉,无名动脉,心静脉,肺静脉,上腔静脉,下腔静脉。
中枢神经系统
在指令中“中枢神经系统”指大脑、脑膜和脊髓。
实施规则
分类规则的实施由器械的预定用途决定。
如果器械预定与另一器械组合使用,则分类规则应分别适用于每一器械。附件则同所属器械分开,自己单独分类。
驱动某一器械或影响某一器械使用的软件自动与其归在同一类。
如果器械不是唯一或主要用于人体某一特定部位,应依据其最重要的规定用途考虑分类。
如果根据制造商对器械规定的性能,几个规则适用于同一器械,则应使用最严格的规则确定高一类别的分类。
分类规则
规则 No.
分类结果
非侵入式医疗器械
规则1-4
ClassⅠ/Ⅱa/Ⅱb
侵入式医疗器械
目录 中小学教资笔记总结中学教资小学教资小学中学科一《综合素质》(通用):考情分析:学习笔记 小学科二《教育知识与能力》:考情分析:学习笔记: 中小学教资笔记总结 2023.9.16教资考试
笔试成绩是150分,但是考试折合成120分满分,70分及格。
计划:2024上半年再战科一
中学教资 名称类型中学科二急救班中学中小学科一模板通用科目二简答题汇总中学教资学习笔记总结中学《综合素质》通用 中学教资网盘资料分享:【阿里云盘,提取码:xh20】
中学教资资料链接
如果需要其他资料可以联系我帮忙代找。
小学教资 小学中学科一《综合素质》(通用): 考情分析: 【蓝色部分:迅速提升】【黄色部分:平时积累 】【红色部分:课后动笔】
学习笔记 知识模块单选题材料分析写作合计小学教资笔记【前言考情分析】- - -- - -- - -- - -第一章 职业理念4x2分1x14分- - -22分第二章 职业道德4x2分1x14分- - -22分第三章 教育法律法规8X2分- - -- - -16分第四章 文化素养9x2分- - -- - -18分第五章 基本能力4x2分(逻辑、信息)1x14分(阅读)1x50分(写作)72分合计58分42分50分150分 小学科二《教育知识与能力》: 考情分析: 1.教育基础:一般占 50-70 分,近五次考试占分 66.8 分,占比非常大。
2.学生指导:近五次考试占分 20.4 分,比重也很大。
3.学校与班级管理:平均 4 分,考试题比较少。
4.教学实施:有必考内容,平均 10.4 分。
5.学习心理:平均 6 分。
6.教学设计:平均 42.4 分,有时候会考查单选题。
学习笔记: 模块详情第一章 教育基础01 教育与教育学的产生与发展第一章 教育基础02 教育与社会的发展第一章 教育基础03 教育目的与教育制度第一章 教育基础04 教师专业发展第一章 教育基础05 小学教育研究第一章 教育基础06 小学课程第一章 教育基础07 心理学基础知识第二章 学生指导01 小学生身心发展的规律 02 学生心理发展与教育