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

Fiddler安装与使用教程(1) —— 软测大玩家

在这里插入图片描述

 
 

在这里插入图片描述
😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。
📡主页地址:【Austin_zhai】
🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。
💎声明:博主日常工作较为繁忙,文章会不定期更新,各类行业或职场问题欢迎大家私信,有空必回。

在这里插入图片描述

 
 

阅读目录

  • 1. 软件介绍
  • 2. 下载与安装
  • 3. 基础项配置
    • 3.1 HTTPS选项配置
    • 3.2 根证书信任配置
    • 3.3 Connections选项配置
  • 4. 界面说明
    • 4.1 工具栏
    • 4.2 HTTP请求区域选项卡
  • 5. 后话

1. 软件介绍

在这里插入图片描述
  说到网络调试工具,相信在软件测试行业中的小伙伴几乎都听过Fiddler的名字,没错,它与Wireshark,Charles,Tcpdump都是市面上主流的网络调试工具。而作为一个合格的软件测试工程师,网络相关的基础技能与知识又是不可或缺的一部分,那么今天就由博主带着大家来一起来看看Fiddler的基础安装与使用吧。

  说到Fiddler,其实它作为一个产品系列,其下有5类产品分支,我们先来看下分别介绍一下。

  • Fiddler Classic (Fiddler 4) :这是大家日常最常用的产品,也是最早推出的版本。它是一款用于捕获、分析和修改网络流量的工具。Fiddler Classic提供了丰富的功能,可以用于调试Web应用程序、检查API请求和响应、分析性能问题等。优点在于界面相对友好,可以随时查看请求和响应的详细信息,以及进行一些高级的调试和修改。

  • Fiddler Everywhere:这个是跨平台版本的Fiddler,支持在Windows、macOS和Linux系统上运行。它与Fiddler Classic的功能类似,可以捕获和分析网络流量。鉴于跨平台的特性且界面在不同操作系统上都有良好的适应性,使用户可以在多个平台上使用相似的功能。

  • FiddlerCap:简化版Fiddler,轻量级的专用版本,用于快速捕获和共享网络流量。通常用于临时的网络问题排查,用户可以捕获一段时间的网络流量,然后将捕获的数据保存为文件,方便与团队成员或客户进行分享或分析。

  • Fiddler Jam:Jam版本其实是一个协作工具,用于团队之间的交流和问题解决。Fiddler Jam允许团队成员在浏览器中捕获和共享网络流量,可以添加注释、标记问题,并与其他成员进行实时交流,从而更好地协作解决问题。

  • FiddlerCore:这是一个可进行嵌入的.net库,允许开发人员将Fiddler的功能嵌入到自己的应用程序中。FiddlerCore可以在应用程序内部捕获和分析网络流量,这对于在定制的应用程序中集成网络调试功能非常有用。

 

  官网中对于每个版本的Fiddler也有非常明确的定义和应用场景,大家可以根据自己的日常测试场景与任务需求来有针对的下载与使用。

在这里插入图片描述

 
 
 

2. 下载与安装

在这里插入图片描述
  这里就以最常用的Fiddler Classic为例进行介绍,我们在搜索引擎中搜索fiddler并访问Fiddler官网。
  在官网中点击Try For Free下拉框,并选择Fiddler Classic产品。

在这里插入图片描述
 
 
 

   接下来会跳转至以下界面,这里我们把必填的信息填写一下,第一栏中填写你使用这个软件的目的,任意选择一个即可,邮箱没有限制,163,QQ等等都可以用。国家与地区进行选择后勾选下面的同意用户许可协议,两者之间的那个不要勾选,不然你的邮箱会一直收到Fiddler的产品推广与更新信息邮件。最后我们点击Download For Windows按钮进行下载即可。

在这里插入图片描述

 
 
 

   完成后会跳转至这个界面,接下来就可以等待下载完成了。

在这里插入图片描述

 
 
 

   我们双击安装程序,点击I Agree同意用户协议。
在这里插入图片描述

 
 
 

   选择安装的路径,根据自己的硬盘情况或安装习惯设定即可。
在这里插入图片描述

 
 
 

   安装完毕后会自动跳转到网页,提示安装成功,此时我们只需要关闭掉安装程序与该网页即可。
在这里插入图片描述

 
 
 

3. 基础项配置

在这里插入图片描述
   我们首先打开Fiddler,第一次进入软件后我们会收到一个关于AppContainer相关的提示,因为windows操作系统上存在一种名为AppContainer的隔离技术,它会干扰沉浸式应用程序和Edge浏览器的流量捕获,所以Fiddler会建议开启winConfig工具来进行流量捕获,提示界面中点击yes则会跳转至网页获取更多相关的信息,点击no则关闭提示框,而选择cancel的话,下次再次进入软件则不会再跳出该提示。这里可以选择no,我们的winConfig工具可以在Fiddler中进行开启。

在这里插入图片描述

 
 
 

3.1 HTTPS选项配置

   我们在软件的菜单栏选择ToolsOptions选项,进入到如下的选项界面,然后勾选Decypt HTTPS traffic,这一步是让Fiddler可以解析HTTPS协议的流量。

在这里插入图片描述

 
 
 

3.2 根证书信任配置

  勾选该选项后会弹出一个提示对话框,这里是告知到用户如果需要截获HTTPS协议的流量,Fiddler会生成一个唯一的根证书,需要将windows配置为信任该证书以防止后续出现安全警告,这里我们选择yes,将证书添加至可信CA列表,在之后弹出的windows安全警告窗口中选择“是”。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

 
 
 

   提示:
  如果不是第一次操作或者勾选Decypt HTTPS traffic后没有弹出证书信任提示框,我们可以在HTTPS选项卡中的Actions按钮中选择Trust Root Certificate进行根证书的信任操作。
在这里插入图片描述

 
 
 

  完成上面的信任证书操作后,我们将下方的Ignore server certificate errors (unsafe)也一起勾选上。
在这里插入图片描述

 
 
 

3.3 Connections选项配置

  接下来,我们选择Connections选项卡,这里需要注意一下,我们的Fiddler服务端口号,这里你的本地环境如果有其他服务已经占用了8888的端口号的话记得要按需改一下,避免端口占用导致Fiddler的代理服务失效。另外如果需要对移动端进行抓包与网络调试的话就需要勾选下面的Allow remote computers to connect的选项。当然,这个选项的功能不单单是只针对移动端,因为我们的本机Fiddler开启后会提供对应的网络调试服务,而开启这一选项就等于是允许其他设备通过网络连接到正在运行 Fiddler 的本机,这样就能在本机上通过Fiddler查看连接过来的远程设备的流量、响应与请求数据,在测试场景中往往有一些需要团队合作与远程协助的情况,而这一功能也非常适合上述所说的场景。当然,远程连接存在一定的安全风险,我们可以在需要长时间运行Fiddler的情况下对信任的设备进行安全证书或通道加密等措施,确保所有连接进来的设备都是可信的。
在这里插入图片描述

 
 
 

4. 界面说明

在这里插入图片描述
  设置完以上的这些基础配置项之后,我们来到Fiddler的主界面,从界面上来大致区分的话可以分为工具栏、会话列表、命令行、HTTP请求区、HTTP响应区这几个区域,这些都是我们日常会经常涉及到的一些功能模块。

在这里插入图片描述

 
 
 

4.1 工具栏

  工具栏上的功能图标不算少,如果是第一次用的话大家可能会比较晕,我们就从左到右依次介绍一下每个功能图标所代表的功能。

在这里插入图片描述

  1. WinConfig图标:这个就是我们之前第一次进入Fiddler提示框中所说的那个隔离技术,当我们的一些应用与edge浏览器遇见Fiddler无法捕获流量的时候就可以使用这个按钮来解除AppContainer隔离技术所带来的影响,在AppContainer Loopback Exemption Utility中选中我们所需要解除的应用程序然后选择Exempt即可;

  2. 对话泡的图标:该按钮可以为所选定的session添加注释,一般来说我们在Fiddler中需要为某些session添加一些特别的备注的时候就可以使用这个按钮,在注释输入框添加注释之后可以在session列表(会话列表)中的comments列看到你添加的注释,看不到可以适当的把软件最大化或调整会话列表的宽度;

  3. Replay图标:这个是把当前选中的请求重新发送一遍,按住CTRL为无条件重发,按SHIFT是多次重新发;

  4. 叉形图标:删除会话列表中的特定session,类型可以在下拉子菜单中选择,按CTRL+X可以立即清除列表;

  5. GO图标:恢复当前在断点处暂停的所有session,按住SHIFT只恢复选中的session;

 
 
 

在这里插入图片描述

  1. Stream图标:这个是流模式的开关,正常情况下我们的Fiddler是出于缓冲模式的,简单来说在缓冲模式下我们可控制服务器的响应,修改响应中的各类参数;而一旦切换成流模式以后,就更加接近真实服务器的交互体验,服务器响应什么我们就只能拿到什么数据且无法修改;一般我们在测试音视频流的场景中,使用流模式的会比较多,日常的其他测试使用默认的缓冲模式即可;

  2. Decode图标: 这个表示对所选择的响应进行解码操作,对于一些已经编码了的内容我们就可以使用decode操作来对其进行解码,比如一些用了编码的内容会在Fiddler的HTTP响应区域上方显示Response body is encoded. Click to decode这样的提示,此时我们再使用decode按钮对其解码即可;

  3. Keep图标:这个是让我们可以在会话列表中保留session个数的功能,如果在长时间的网络流量捕获的情况下,会话列表会存有大量的session记录,那么列表就会越来越长,非常的不利于查到所需要的记录,此时我们就可以使用keep这个功能,根据按钮下的子菜单中要保留的会话个数来控制列表的长度;

 
 
 
在这里插入图片描述

  1. Any Process图标:Fiddler默认是捕获连接服务的设备上的所有请求与响应的,所以这个功能就是提供了对于特定进程与程序的请求与响应的捕获的功能,我们使用的时候只需要将其用鼠标拖拽至你想要捕获数据流量的应用程序上,Fiddler就会只捕获该应用程序的流量数据。选中某一个应用程序后,原来的Any Process处就会变成对应的程序名与其进程ID,如果需要取消选择的话可以直接在该按钮处右键;

  2. Find图标:就如图标与名字所示,在Fiddler中同样也有搜索功能,除了直接搜索session的一些特定信息外,可以制定各种维度的搜索条件,session类型、字符匹配、正则、二进制、解码压缩等等;

  3. Save图标:和搜索一样,我们在日常的工作中经常需要将一些已经捕获到的session保存下来,这个按钮就是这样的功能,保存下来的文件格式为SAZ,还可以指定特定的内容与类型进行保存,以便下一次继续分析与使用;

  4. 相机图标:这个是截图按钮,可以对目前的软件状态进行截图,但Fiddler的截图与一般的软件截图有点不太一样,首先它的截图存在一个5秒的倒计时,如果想直接截图并跳过倒计时可以按住SHIFT再截图,第二就是截下来的图并不是直接保存在某一个路径的,触发截图后,会发起一个图片请求,我们在会话列表中选中它就可以在Inspectors中查看报文,图片是采用base64进行编码的;

  5. 秒表图标:这是一个简易的计时器功能,点击后会自动进行计时,左键停止,再次左键再激活,右键清零,这个一般在测试接口或服务的响应时会用到,算是一个小工具吧;

 
 
 

在这里插入图片描述

  1. Browse图标:这个可以将指定的session用指定浏览器进行打开,点击图标右侧的小箭头就可以选择本机上存在的各类浏览器进行session的访问;

  2. Clear Cache图标:就如字面的意思,清除缓存,这里清除的是WinINET的缓存,当然也可以使用CTRL+该按钮来清除一些永久性的Cookies;

  3. TextWizard图标:这是一个数据文本编码的小工具,一般我们在分析各类协议数据的时候会用到,但对软测来说使用的场景就比较少了,一般在做数据的编解码以及字符串的各种哈希值计算的时候这个工具真的是非常的趁手;

  4. Tearoff图标:这个按钮是将右侧的HTTP请求区域与HTTP响应区域与Fiddler进行一个分离,两大区域会单独形成一个窗口继续显示,也是方便某些场景下的数据观察与分析使用;

最后两个的MSDN搜索与在线帮助手册就不展开篇幅进行介绍了,大家有需要可以自行体验。

 
 
 

4.2 HTTP请求区域选项卡

  在HTTP请求区域的上方,我们同样可以看到有一排功能栏,这个则是我们日常进行查看与分析数据是所经常需要用到的功能模块。

 
在这里插入图片描述

  1. Get Started:初始页,上面显示了一些Fiddler相关的新手基础操作的指引与软件推广信息,如果需要关闭的话就将页面左下角的Show on startup取消勾选即可;

  2. Statistics:选中一条session后我们就可以在该选项卡中看见session的一些基本信息,点击下方的Show Chart还可以显示对应的数据饼图,自上而下包含的信息大致有:选中session的个数、HTTP请求头和请求体中向外发送的字节总数、HTTP请求头和请求体中接收到的所有字节数、请求实际执行情况、所有选中会话解析DNS所花费的时间的总和、所有选中会话解析DNS所花费的时间的总和、所有选中会话在HTTPS握手上所花费的时间总和、已用总时间、响应字节数、选中的流量在不同语种(locale)地区和连接方式;

  3. Inspectors:该功能用于显示会话列表中选定会话的请求和响应信息,选中该选项卡后,下方区域就会变成HTTP请求区域与HTTP响应区域,在该选项卡下还存在多个子选项卡,分别代表着各类显示风格与请求和响应内的其他组成内容,这个会在后续的文章内详细说明;

  4. AutoResponder:这个功能也是软测中用的较多的功能之一,它支持创建规则,可以在响应请求时自动触发,比如返回之前捕捉的响应,却不需要访问服务器。打开该选项卡后,可以看见一些勾选框与输入框,我们来依次的说明一下:
    Enable rules - 勾选后用来控制是否启用自动响应功能;
    Unmatched requests passthrough - 钩选框用来控制当会话不匹配任何指定的规则时会发生什么。如果启用该选项,不匹配的请求会正常发送到服务器。如果没有启用该选项,Fiddler则会为所有和该规则完全不匹配的HTTP请求生成404的响应。如果客户端发送的是条件请求,其中包含请求头If-None-Match或If-Modified-Since,那么会返回304的响应;
    Enable Latency - 选项控制匹配某个规则的请求是立即执行,还是延迟Latency字段中所指定的毫秒数。如果没有启用该选项,Latency字段就不会显示。使用这个选项可以更准确地模拟现实中的服务器响应,取消该选项可以提升性能;
    Add Rule - 添加一条新的自动响应规则;
    Group - 点击该按钮对多个规则进行分组,便于统一开启/禁用规则;
    Import - 该按钮可以导入之前捕获的SAZ文件,导入文件中的每个会话会被用于规则列表中生成新的规则。除此之外还可以导入FARX文件,它包含从 AutoResponder 选项卡导出的规则;

 
 
 

在这里插入图片描述

  1. Composer:该功能支持手动构建和发送HTTP、HTTPS 和 FTP请求。此外,还可以从会话列表中拖拽会话,把它放到此功能中,把该Session的请求复制到用户界面。点击Execute按钮后,Fiddler就会把请求发送到服务器端;同样的在子选项卡的Options中有着一些其他选项,分别为:
    Inspect Session - 请求执行后,Inspectors选项卡会被激活,这样就可以查看请求的执行结果,方便进行分析;
    Fix Content- Length header - 这个可以控制Composer是否会自动添加或修改Content-Length请求头,表示请求体的大小,如果在创建请求的时候不清楚大小,建议打开;
    Follow Redirects - 这个是控制Composer是否自动使用响应的Location头,如果选中该选项,Composer在失败之前最多会执行 10 次重定向;
    Automatically Authenticate - 指定Composer是否会自动响应服务器的401或407的认证需求。如果开启,会使用 Fiddler所运行当前Windows用户的证书自动响应这些请求;
    Tear off - 与之前工具栏的Tear off功能相同,它会将Composer作为独立的悬浮窗口并打开;

  2. Fiddler Orchestra Beta:这个是Fiddler的新插件,使用之前需要在该功能页面下下载对应OS版本的客户端,该插件可以将远程设备端利用Orchestra服务并将相同的数据内容复制并传回给Fiddler的工具,其实这个功能平时的使用场景不是太多,一般用来解决移动端或远程设备无法直接利用Fiddler捕获数据的情况,具体的使用会在后续的文章中详细介绍;

  3. FiddlerScript:这个选项卡一般是前端开发用来进行调试使用,对于开发过程中一些业务或复杂逻辑的功能调试,都会使用这个选项卡。就软测角度来说,仅作扩展,可以不了解;

 
 
 

在这里插入图片描述

  1. Log:该选项卡收集日志消息字符串,这些字符串是由扩展、FiddlerScript或Fiddler本身生成的。Fiddler 会记录各类的应用事件;

  2. Filters:可以根据指定的各类条件,对数据流量进行筛选,我们自上而下来进行下介绍:
    Use Filters - 勾选后根据对应的条件启用过滤功能;

    Hosts - 按区域进行过滤(Zone Filter),如果选择只显示局域网session(Show only Interanet Hosts),Fiddler 将只会列出属于局域网的session。如果选择只显示互联网的session(Show only Internet Hosts),Fiddler 将只会列出属于互联网的session;

在这里插入图片描述

Client Process - 根据客户端进程来进行条件筛选;进程过滤器用于控制 Fiddler 显示哪个进程的数据流,应用程序只有和Fiddler运行在相同的主机时,Fiddler才能判断出是哪个进程发出的哪个请求。以下是一些子选项的含义:
【Show only traffic from】- 选项只显示选中进程下的数据流;
【Show only Internet Explorer】- 选项只显示进程名称以 IE 开头或请求的 User-Agent 头包含 compatible; MSIE 的数据流;
【Hide traffic from Service Host】 - 选项会隐藏来自进程 svchost.exe的数据流,svchost.exe 进程是个系统进程,会同步 RSS Feeds 以及执行其他后台网络活动;
在这里插入图片描述

Request Headers - 根据请求头来进行条件筛选;以下是一些子选项的含义:
【Show only if url contains】 - 选项框支持基于 URL 隐藏某些请求,仅仅显示我们感兴趣的请求。可使用前缀 EXACT 来限定大小写敏感;
【Flag requests with header】 - 选项支持指定某个HTTP请求头名称,如果在 Web 会话列表中存在该请求头,会加粗显示该会话;
【Delete request header】 - 选项支持指定某个 HTTP 请求头名称,如果包含该请求头,会删除该请求头;
【Set request header】 - 选项支持创建一个指定了名称和取值的 HTTP 请求头,或将 HTTP 请求头更新为指定取值;
在这里插入图片描述

Breakpoints - 根据断点的指定条件来进行筛选;以下是一些子选项的含义:
【Break request on POST 】 - 选项会为所有POST请求设置断点;
【Break request on GET with query string】 - 选项会为所有方法为 GET 且 URL 中包含了查询串的请求设置断点;
【Break on XMLHttpRequest】 - 选项会对所有能够确定是通过 XMLHttpRequest 对象发送的请求设置断点;
【Break response on Content-Type】 - 选项会为所有响应头 Content-Type 中包含了指定文本的响应设置响应断点;
在这里插入图片描述

Response Status Code - 同样的道理,根据指定的响应状态码来进行筛选;子选项的说明如下:
【Hide success(2xx)】 - 选项会隐藏状态码在 200 到 299 之间的响应;
【Hide non-2xx】 - 隐藏状态码不在 200 到 299 之间的响应;
【Hide Authentication demands(401,407) 】 - 选项会隐藏状态码为 401 和 407 的响应,隐藏身份验证请求;
【Hide redirects(300,301,302,303,307)】 - 选项会隐藏对请求进行重定向的响应;
【Hide Not Modified(304)】 - 选项会隐藏条件状态请求中状态码为 304 的响应;
在这里插入图片描述

Response Type and Size - 通过响应的类型与大小来指定条件进行筛选;子选项的说明如下:
【Show all Content-Types】- 显示所有的响应,不进行任何过滤;
【Show only IMAGE/*】 - 只显示图片类型的响应;
【Show only HTML】 - 只显示HTML文档响应;
【Show only TEXT/CSS】 - 只显示CSS层叠样式表响应;
【Show only SCRIPTS】 - 只显示脚本类型响应;
【Show only XML】 - 只显示XML类型响应;
【Show only JSON】 - 只显示JSON类型的响应;
【Hide IMAGE/】- 隐藏图片类型的响应;
【Hide smaller than】 - 指定隐藏响应体小于指定的字节数的响应;
【Hide larger than】 - 指定隐藏响应体大于指定字节数的响应;
【Time HeatMap】 - 这个比较特别一点,Fiddler会根据服务器返回的定响应所需要的时间为每个session设置背景颜色,不超过 50 毫秒的响应会以绿色显示;50 毫秒到 300 毫秒之间的响应不着色;300 毫秒到 500 毫秒之间的响应以黄色显示;超出 500 毫秒的响应以红色显示;
【Block scriptfile】 - 启用的话,当返回的响应头指定的Content-Type为脚本时,则返回404;
【Block imagefile】 - 同理,当为图像时,返回404;
【Block SWF file】 - 同理,当为flash时,返回404;
【Block CSS file】 - 同理,当为CSS时,返回404;
在这里插入图片描述

Response Headers - 根据响应头的各类条件来进行筛选;子选项的说明如下:
【Flag responses that set cookies】 - 勾选之后,所有响应头包含Set-Cookie的响应都会以粗体显示;
【Flag responses with header】 - 指定HTTP响应头名称,如果响应中该HTTP头存在,该会话在会话列表中会以粗体显示;
【Delete response header】 - 同理,如果该HTTP头存在,则从响应头中删除;
【Set response header】 - 可以在此输入框中创建或更新响应头;
在这里插入图片描述

 
 
 

  1. TimeLine:也就是我们所说的时间轴,这个对于软测来说会在一些接口的性能与业务关联的场景用到,大致的内容如下图,鼠标右键可以进行图标的缩放、复制、切换图形模式;
    在这里插入图片描述

 
 
 

5. 后话

  以上就是Fiddler的下载安装与界面的基础功能说明,总体来说Fiddler对于软测的日常测试活动的辅助作用还是相当大的,无论是被测对象的网络请求和响应分析、性能分析和优化、性能分析和优化、会话分析其都有着比较优秀的表现,可以说适用场景是非常的广泛了。后续博主将继续为大家带来关于Fiddler的一些实用的日常实用技巧与进阶场景的实操讲解。

相关文章:

Fiddler安装与使用教程(1) —— 软测大玩家

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…...

Ubuntu 22.04安装 —— Win11 22H2

目录 Ubuntu使用下载UbuntuVmware 安装图示安装步骤图示 Ubuntu使用 系统环境: Windows 11 22H2Vmware 17 ProUbutun 22.04.3 Server Ubuntu Server documentation | Ubuntu 下载 Ubuntu 官网下载 建议安装长期支持版本 ——> 可以选择桌面版或服务器版(仅包…...

【STM32】IIC的初步使用

IIC简介 物理层 连接多个devices 它是一个支持设备的总线。“总线”指多个设备共用的信号线。在一个 I2C 通讯总线中,可连接多个 I2C 通讯设备,支持多个通讯主机及多个通讯从机。 两根线 一个 I2C 总线只使用两条总线线路,一条双向串行数…...

音视频 ffmpeg命令参数说明

主要参数: -i 设定输入流 -f 设定输出格式(format) -ss 开始时间 -t 时间长度 音频参数: -aframes 设置要输出的音频帧数 -b:a 音频码率 -ar 设定采样率 -ac 设定声音的Channel数 -acodec 设定声音编解码器,如果用copy表示原始编解码数据必须…...

Go学习第十天

打印报错堆栈信息 安装errors包 go get github.com/pkg/errors 具体使用 // 新生成一个错误, 带堆栈信息 func New(message string) error//只附加新的信息 func WithMessage(err error, message string) error//只附加调用堆栈信息 func WithStack(err error) error//同时附…...

pytorch中 nn.Conv2d的简单用法

torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue,padding_modezeros)参数介绍: in_channels:卷积层输入通道数 out_channels:卷积层输出通道数 kernel_size:卷积层的…...

前端项目工程化之代码规范

目录 一、前言二、ESLint三、Prettier四、项目实战4.1 环境依赖版本4.2 使用pnpm4.3 git提交规范 五、资源 收集六、源码地址 一、前言 前端项目工程化之代码规范是指在前端项目中定义一套代码规范,以确保项目中的代码风格和格式一致,提高代码的可读性和…...

MyBaits Generator

参考文档 MyBatis Generator Core – Introduction to MyBatis Generator MyBatis Generator 详解_enablesubpackages_isea533的博客-CSDN博客 一文解析 MyBatis Generator 的使用及配置 - 掘金 1. Introduction MyBatis Generator (MBG) 是 MyBatis MyBatis的代码生成器。…...

JavaWeb 速通Ajax

目录 一、Ajax快速入门 1.基本介绍 : 2.使用原理 : 二、Ajax经典入门案例 1.需求 : 2.前端页面实现 : 3. 处理HTTP请求的servlet实现 4.引入jar包及druid配置文件、工具类 : 5.Domain层实现 : 6.DAO层实现 : 7.Service层实现 : 8.运行测试 : 三、JQuery操作Ajax 1 …...

vscode c++编译时报错

文章目录 1. 报错内容:GDB Failed with message;2. 报错内容:Unable to start debugging. 1. 报错内容:GDB Failed with message; 例如上图报错,一般就是编译器选择错误,有两种方法解决: 打开 tasks.json …...

基于体系结构架构设计-架构真题(十五)

基于体系结构开发设计(Architecture-Base Software Design)ABSD,是指构成体系结构的()组合驱动,ABSC方法是一个自项向下、递归细化的方法,软件系统的体系结构通过该方法细化,直到能产…...

IPv6网络实验:地址自动生成与全球单播通信探索

文章目录 一、实验背景与目的二、实验拓扑三、实验需求四、实验解法1. 在R1和PC3上开启IPv6链路本地地址自动生成,测试是否能够使用链路本地地址互通2. 为R1配置全球单播地址2001::1/64,使PC3能够自动生成与R1同一网段的IPv6地址3. 测试R1和PC3是否能够使…...

深入探索前端之道:JavaScript深拷贝与浅拷贝的解析与实现

引言 前端开发中,数据的复制是一个常见的操作。尤其是在处理对象和数组时,我们需要考虑的是一个浅拷贝还是深拷贝。那么,什么是深拷贝和浅拷贝?它们在前端开发中有什么作用?如何实现这两种拷贝?这是我们在…...

关于两个不同数据库的两张表建立数据库链接,关联查询数据

一、数据库链接 数据库链接(database link)是用于跨不同数据库之间进行连接和数据传输的工具或方法。它允许在一个数据库中访问另一个数据库中的对象和数据。 二、具体操作 以Oracle数据库为例 --1.建立链接tjpt CREATE DATABASE LINK tjpt CONNECT…...

Google登录SDK

一、接入的准备工作 官方文档链接地址:开始使用一键登录和注册 按照步骤进行接入即可 二、项目参考(Unity项目) 注意:代码版本如果不适用新的Google API 请自行参考最新版本接口 SDKGoogleSignInActivity 主要用于登录的代码。Un…...

ASP.NET Core 8 的运行环境 Environment

开发流程一般有3个阶段: 开发 Development测试 Stage正式 Production 运行时环境变量可以用于根据不同的开发阶段运行不同的逻辑,比如在开发阶段的某些功能或保密信息不暴露在正式上线的代码中。 在Visual Stduio创建的模板代码中是否为开发环境Envir…...

机械臂手眼标定ZED相机——眼在手外python、matlab

目录 1.眼在手外原理 2.附上眼在手外求得手眼矩阵的python代码 3.眼在手外标定步骤 1)打印棋盘格 2)得到hand数据 3)得到camera数据 4.运行python得到手眼矩阵 1.眼在手外原理 眼在手外所求的手眼矩阵是基坐标到相机的转换矩阵 2.附上…...

前端实现动态路由(前端控制全部路由,后端返回用户角色)

优缺点 优点: 不用后端帮助,路由表维护在前端逻辑相对比较简单,比较容易上手权限少的系统用前端鉴权更加方便 缺点: 线上版本每次修改权限页面,都需要重新打包项目大型项目不适用如果需要在页面中增加角色并且控制可以访问的页…...

Spring5学习笔记—Spring事务处理

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: Spring专栏 ✨特色专栏: M…...

如何增长LLM推理token,从直觉到数学

背景: 最近大模型输入上文长度增长技术点的研究很火。为何要增长token长度,为何大家如此热衷于增长输入token的长度呢?其实你如果是大模型比价频繁的使用者,这个问题应该不难回答。增长了输入token的长度,那需要多次出入才能得到…...

《穷爸爸与富爸爸》时间是最宝贵的资产,只有它对所有人都是公平的

《穷爸爸与富爸爸》时间是最宝贵的资产,只有它对所有人都是公平的 罗伯特清崎,日裔美国人,投资家、教育家、企业家。 萧明 译 文章目录 《穷爸爸与富爸爸》时间是最宝贵的资产,只有它对所有人都是公平的[toc]摘录各阶层现金流图支…...

Git结合Gitee的企业开发模拟

本系列有两篇文章: 一是另外一篇《快速使用Git完整开发》,主要说明了关于Git工具的基础使用,包含三板斧(git add、git commit、git push)、Git基本配置、版本回退、分支管理、公钥与私钥、远端仓库和远端分支、忽略文…...

WEBGL(2):绘制单个点

代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevi…...

C# task多线程创建,暂停,继续,结束使用

1、多线程任务创建 private void button1_Click(object sender, EventArgs e) //创建线程{CancellationToken cancellationToken tokensource.Token;Task.Run(() > //模拟耗时任务{for (int i 0; i < 100; i){if (cancellationToken.IsCancellationRequested){return;…...

界面控件DevExpress WinForms(v23.2)下半年发展路线图

本文主要概述了官方在下半年&#xff08;v23.2&#xff09;中一些与DevExpress WinForms相关的开发计划&#xff0c;重点关注的领域将是可访问性支持和支持.NET 8。 DevExpress WinForms有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。同时能…...

vue实现按需加载的多种方式

1.import动态导入 const Home () > import( /* webpackChunkName: "Home" */ /views/Home.vue); 2.使用vue异步组件resolve 这种方式没有成功 //const 组件名 resolve > require([‘组件路径’],resolve) //&#xff08;这种情况下一个组件生成一个js文件…...

el-switch组件在分页情况下的使用

1.需求: 系统使用者在点击发布状态的开关后,可以对应的发布或者取消发布试卷 2.前端代码: html代码(这里不贴其他表单项的代码了,直接贴el-Switch组件的代码): <!-- qwy: 使用Switch组件,设置发布状态,业务逻辑:在页面初始渲染的时候应该查询发布状态,以根据状…...

【100天精通python】Day49:python web编程_web框架,Flask的使用

目录 1 Web 框架 2 python 中常用的web框架 3 Flask 框架的使用 3.1 Flask框架安装 3.2 第一个Flask程序 3.3 路由 3.3.1 基本路由 3.3.2 动态路由 3.3.3 HTTP 方法 3.3.4 多个路由绑定到一个视图函数 3.3.5 访问URL 参数的路由 3.3.6 带默认值的动态路由 3.3.7 带…...

sql 查重以及删除重复

查重 select count(1),content from t_mall_longping group by content having count(1)>1 稳重删除重复&#xff08;技术来源于 百度文心一言&#xff0c;好屌呀&#xff09; CREATE TABLE tmp_duplicates ( hxid INT PRIMARY KEY );INSERT INTO tmp_duplicates SEL…...

Flux语言 -- InfluxDB笔记二

1. 基础概念理解 1.1 语序和MySQL不一样&#xff0c;像净水一样通过管道一层层过滤 1.2 不同版本FluxDB的语法也不太一样 2. 基本表达式 import "array" s 10 * 3 // 浮点型只能与浮点型进行运算 s1 9.0 / 3.0 s2 10.0 % 3.0 // 等于 1 s3 10.0 ^ 3.0 // 等于…...