首页 文章 精选 留言 我的

精选列表

搜索[自动装配],共10000篇文章
优秀的个人博客,低调大师

OSD 自动升级Dell BIOS 版本

1. 创建文件目录Latitude, 并为各个Laititude型号创建子目录,包存BIOS文件到各个子目录 1 2. Latitude目录下创建额外3个文件 BIOS.txt - bios admin password,如果没有密码设置可以将内容留空 Flash64W.exe - Dell提供的WinPE下刷新BIOS应用 DellBiosUpgradePackage-2.0.ps1 - WinPE下刷新BIOS的Pws脚本,内容如下 $tsenv=New-Object-COMObjectMicrosoft.SMS.TSEnvironment-ErrorActionSilentlyContinue $tsenv.Value("SMSTS_BiosUpdate")="True" #CreateLogPath $LogPath=$tsenv.Value("_SMSTSLogPath") #GetBiosPasswordfromFile $BiosPassword=Get-Content.\Bios.txt #CreateModelVariable $ComputerModel=Get-WmiObject-ClassWin32_computersystem|Select-Object-ExpandPropertyModel if(test-path".\$ComputerModel\") { #CopyBiosInstallertotherootofthepackage-theFlash64Wdidn'tlikewhenIleftitintheComputerModelfolder,becauseithasspaces.(Yes,Itriedqoutesandstuff) Copy-Item$ComputerModel\*.exe-Destination$PSScriptRoot #GetBiosFileName(UsestheBiosEXEfileinthesamefolder) $BiosFileName=Get-ChildItem$ComputerModel\*.exe-Verbose|Select-ExpandPropertyName #GetBiosFileName(NoExtension,usedtocreateLogFile) $BiosLogFileName=Get-ChildItem$ComputerModel\*.exe-Verbose|Select-ExpandPropertyBaseName $BiosLogFileName="$BiosLogFileName.log" #SetArgumentsforBiosUpdate $BiosArguments="/s/p=$BiosPassword/l=$LogPath\$BiosLogFileName" #RunTestRun-ForsomereasonifIdon'tdothis,Igetodderroraboutcan'treadmemory..blabla start-process"$PSScriptRoot\Flash64W.exe"/"p=$BiosPassword/s" #UpdateBios $Process=start-process"$PSScriptRoot\Flash64W.exe"/b="$PSScriptRoot\$BiosFileName$BiosArguments"-UseNewEnvironment-PassThru-wait #CreatesandSetTSVariabletobeusedtorunadditionalstepsifrebootrequried. if($process.ExitCode-eq2) {$tsenv.Value("SMSTS_BiosUpdateRebootRequired")="True"} else {$tsenv.Value("SMSTS_BiosUpdateRebootRequired")="False"} if($process.ExitCode-eq10) {$tsenv.Value("SMSTS_BiosUpdateBatteryCharge")="True"} else {$tsenv.Value("SMSTS_BiosUpdateBatteryCharge")="False"} } 3. 创建TaskSequence执行升级脚本 结构如下,先创建一个group并添加condition -select * from Win32_ComputerSystem where Model like '%Latitude%' 为每个型号系列创建一个run command 并按照对应型号创建condition, 如latitude -select * from Win32_ComputerSystem where Model like '%Latitude%' command line 一栏输入powershell.exe -NoProfile -ExecutionPolicy ByPass -file .\DellBiosUpgradePackage-2.0.ps1 最后在group里添加一个Restart Computer,并创建condtion 为变量SMSTS_BiosUpdateRebootRequired = True 脚本成功后会根据return code来修改变量SMSTS_BiosUpdateRebootRequired 从而达到重启系统完成BIOS升级的目的。

优秀的个人博客,低调大师

自动验证restful api请求参数

go-zero针对文本的序列化和反序列化主要在三个地方使用 http api请求体的反序列化 http api返回体的序列化 配置文件的反序列化 完整示例可参照下面这篇文章: 快速构建高并发微服务 1. http api请求体的反序列化 在反序列化的过程中的针对请求数据的数据格式以及数据校验需求,go-zero实现了自己的一套反序列化机制 1.1 数据格式以订单order.api文件为例 type ( createOrderReq struct { token string `path:"token"` // 用户token productId string `json:"productId"` // 商品ID num int `json:"num"` // 商品数量 } createOrderRes struct { success bool `json:"success"` // 是否成功 } findOrderReq struct { token string `path:"token"` // 用户token page int `form:"page"` // 页数 pageSize int8 `form:"pageSize"` // 页大小 } findOrderRes struct { orderInfo []orderInfo `json:"orderInfo"` // 商品ID } orderInfo struct { productId string `json:"productId"` // 商品ID productName string `json:"productName"` // 商品名称 num int `json:"num"` // 商品数量 } deleteOrderReq struct { id string `path:"id"` } deleteOrderRes struct { success bool `json:"success"` // 是否成功 } ) service order { @doc( summary: 创建订单 ) @handler CreateOrderHandler post /order/add/:token(createOrderReq) returns(createOrderRes) @doc( summary: 获取订单 ) @handler FindOrderHandler get /order/find/:token(findOrderReq) returns(findOrderRes) @doc( summary: 删除订单 ) @handler: DeleteOrderHandler delete /order/:id(deleteOrderReq) returns(deleteOrderRes) } http api请求体的反序列化的tag有三种: path:http url 路径中参数反序列化 /order/add/1234567会解析出来token为1234567 form:http form表单反序列化,需要 header头添加 Content-Type: multipart/form-data /order/find/1234567?page=1&pageSize=20会解析出来token为1234567,page为1,pageSize为20 json:http request json body反序列化,需要 header头添加 Content-Type: application/json {"productId":"321","num":1}会解析出来productId为321,num为1 1.2 数据校验以用户user.api文件为例 type ( createUserReq struct { age int8 `json:"age,default=20,range=(12:100]"` // 年龄 name string `json:"name"` // 名字 alias string `json:"alias,optional"` // 别名 sex string `json:"sex,options=male|female"` // 性别 avatar string `json:"avatar,default=default.png"` // 头像 } createUserRes struct { success bool `json:"success"` // 是否成功 } ) service user { @doc( summary: 创建订单 ) @handler CreateUserHandler post /user/add(createUserReq) returns(createUserRes) } 数据校验有很多种方式,包括以下但不限: age:默认不输入为20,输入则取值范围为(12:100],前开后闭 name:必填,不可为空 alias:选填,可为空 sex:必填,取值为male或female avatar:选填,默认为default.png 更多详情参见unmarshaler_test.go 2. http api返回体的序列化 使用官方默认的encoding/json包序列化,在此不再累赘 3. 配置文件的反序列化 配置文件的反序列化和http api请求体的反序列化使用同一套解析规则,可参照http api请求体的反序列化 项目地址: https://github.com/tal-tech/go-zero https://gitee.com/kevwan/go-zero

优秀的个人博客,低调大师

关于 Mybatis 自动注入的问题

我在看 spring-mybatis 源码时看到下面这段代码 definition.getConstructorArgumentValues().addGenericArgumentValue(beanClassName); beanClassName是一个String , definition的beanClass是 org.mybatis.spring.mapper.MapperFactoryBean,这个类的构造方法接收一个Class类型的参数,为什么addGenericArgumentValue的参数是接口的名字而不是接口的Class对象? 上面代码在 org.mybatis.spring.mapper.ClassPathMapperScanner 的 processBeanDefinitions()方法中

优秀的个人博客,低调大师

linux expect 自动交互脚本用法

检查是否安装tcl,expect 如果没有安装,使用yum安装: yum install -y tcl yum install -y expect expect参数 启用选项 -c:执行脚本前先执行的命令,可多次使用。 -d:debug模式,可以在运行时输出一些诊断信息,与在脚本开始处使用exp_internal 1相似。 -D:启用交换调式器,可设一整数参数。 -f:从文件读取命令,仅用于使用#!时。如果文件名为"-",则从stdin读取(使用"./-"从文件名为-的文件读取)。 -i:交互式输入命令,使用"exit"或"EOF"退出输入状态。 --:标示选项结束(如果你需要传递与expect选项相似的参数给脚本时),可放到#!行:#!/usr/bin/expect --。 -v:显示expect版本信息。 expect的4个命令 Expect中最关键

优秀的个人博客,低调大师

Eclipse自动生成UML图(转载)

*ModelGoon是什么?它是一个Eclipse插件,用于基于UML图的模型设计,以及逆向工程(即从已有源代码生成类图等,以作为代码分析或者文档使用)。*适用条件ModelGoon目前最新的版本是3.0.0,适用于Eclipse3.4+,包括最新的Eclipse 3.6版本*如何安装推荐在线安装,site地址是http://www.modelgoon.org/update需要注意的是,有时必须使用代理服务器才能连接成功。也可以离线安装,下载包的地址是http://modelgoon.googlecode.com/files/org.modelgoon-3.0.0-20101211-1807.jar下载完该jar之后,直接拷贝到Eclipse安装目录下的dropins目录下,重启Eclipse即可*如何使用安装成功后,file=>new=>other菜单里面会多出一项ModelGoon Diagrams,在自己已有的java工程中新建一个class diagram,用以生成类图。创建完成后你会发现生成了一个.mgc后缀的文件,现在你可以用这个文件创建自己的类图了。用法相当直接,你可以把若干个java类拖拽进这个文件视图中,UML类图自然被生成,以及各个类之间的关系。*参考资料http://www.modelgoon.org需要注意的是,有时必须使用代理服务器才能连接成功。*为什么选择ModelGoon而不是其他的插件其他的UML插件也能完成类似的功能,但是在安装使用的过程中会碰到种种问题。常有人推荐EclipseUML这个插件,但是目前这个项目的主页无法打开,似乎已停止维护;还有Slime UML据说也不错,但是找不到下载源;此外还有AgileJ口碑也不错,可惜是付费的,没有免费版;至于papyrusuml,只是单向的,做模型设计、绘制UML图时使用,而并不支持逆向工程; 原文地址:http://www.haogongju.net/art/2196645; ModelGoon下载地址:http://files.cnblogs.com/xyqhello/ModelGoon-4.4.1-site.zip

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册