http&JVM

【crawler笔记】R语言简单动态网页爬虫(rvest包)示例 1、爬虫目标 大家普遍认为Python的爬虫功能强大,但在解决动态加载或者登陆网站时,Python存在一定困难的,相对于一些普通爬虫,使用R语言会更方便。 以https://www.thepaper.cn/为例,爬取首页的新闻(标题、内容、时间),主要采用的是动态网页中常用的httr包。 初始学习时,参考了B站《20分钟入门基于R语言的网络爬虫_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili》的视频,但代码运行出现了报错,所以在原代码上做了修改。 2、代码分析及报错修改 library(rv 阅读详情

目录

HTTPS如何保证安全

1)引入非对称加密

2)引入非对称加密

3.中间人攻击

4.解决中间人攻击 

JVM

1.JVM内存划分

2.JVM类加载过程

八股内容

3.JVM中的垃圾回收机制

释放垃圾的策略

1.标记-清除

2.复制算法

3.标记-整理

分代回收


HTTPS如何保证安全

1)引入非对称加密

在对称加密的情况下,

要想进行对称加密,就需要客户端和服务器都具有同一个对称密钥

一个服务器,同时给多个客户端提供服务的时候,还需要确保每个客户端,使用的对称密钥都得不相同!!

如何把密钥传输给对方呢?如果明文传输,又会被黑客获取到

需要给密钥进行加密(无法使用对称加密的方式,对密钥加密的)

2)引入非对称加密

对称加密是不安全的,所以通过非对称加密的方式,针对对称密钥来进行加密。

引入非对称加密,不是针对后续传输的数据内容展开的,而是只针对对称密钥来进行!!

非对称加密的系统开销比对称加密高很多消耗的时间,也比对称加密多很多不太适合使用非对称的方式来加密业务数据

以下是一个完整的客户端与服务器之间使用RSA算法进行密钥交换和安全通信的具体流程:

  1. 服务器生成并分发公钥 (e,n)
  2. 客户端生成会话密钥 KKK 并用公钥 (e,n) 加密,得到 CKC_KCK​。
  3. 客户端发送加密后的会话密钥 CKC_KCK​ 给服务器。
  4. 服务器使用私钥 (d,n) 解密 CKC_KCK​,得到会话密钥 KKK。
  5. 客户端和服务器使用会话密钥 KKK 进行对称加密通信。
  6. (可选)服务器对消息进行数字签名,客户端验证签名。

接下来客户端生成对称密钥.(每个客户端生成自己的,客户端之间不知道别人的对称密钥是啥)通过服务器拿到的公钥,针对对称密钥,进行加密再把对称密钥的密文,传输给服务器~~

黑客拿到对称密钥的数据之后,无法解密的!!使用公钥加密,得拿着对应的私钥来解密黑客能轻松拿到公钥但是拿不到私钥.

但是黑客,可以冒充自己是服务器~


3.中间人攻击

关键环节:黑客在中间自己生成一个公钥pub2和私钥pri2.

黑客首先受到服务器的公钥,黑客就向客户端发送pub2,然后客户端不知道公钥是不是服务器发来的,所以就会给出回应,基于pub2加密的对称密钥给予黑客,黑客针对刚才收到的pub2加密的数据进行解密,从而拿到这里的对称密钥!黑客继续把拿到的对称密钥,使用服务器的公钥pub再次加密~

这样黑客面对客户端的时候,

扮演服务器的角色面对服务器的时候,

扮演客户端的角色客户端和服务器。

4.解决中间人攻击 

其中最主要的原因是公钥没有安全性,所以我们推出第三方工证机构,来进行认证,此时客户端就会被公钥公证了,这样就是合法的。

         证书是通过校验和和pri(公证)来形成数字签名。

校验和:15发证机构2)证书的有效期3)月服务器的公钥41证书的所有者5)持有者网站的主域名

pri(公证):6)数字签名

数字签名就是加密后的校验和。

数字签名,就是针对这个校验和,再来一次加密!!基于非对称加密的方式来进行的加密。

客户端对证书的合法性进行校验

1.针对证书这些字段,计算校验和

1)发证机构2)证书的有效期3)月服务器的公钥4证书的所有者5)持有者网站的主域名=》校验和1

6数字签名

查看计算出的校验和和数字签名解密出来的校验和2是否一致。

2.针对数字签名进行解密

数字签名是基于公正机构的私钥来加密的就需要拿着公正机构的公钥来解密~

每个操作系统会内置公正机构的公钥。

接下来,就可以使用公正的机构的公钥

这样的时候黑客就没办法操作了.

是因为两种情况:

1.如果黑客修改了证书中的公钥,但是不修改数字签名。

客户端校验的时候就会发现,自己算出来的校验和和从数字签名中解密出来的校验和,不一致了客户端就可以判定,证书非法!!

2)如果黑客修改了公钥,并且自己重新计算校验和,重新加密得到数字签名??

重新加密需要私钥,但是黑客不知道第三方的私钥所以导致访问失败。

JVM

1.JVM内存划分

这个进程一旦跑起来之后,就会从操作系统这里,申请一大块内存空间.

JVM接下来就要进一步的对这个大的空间进行划分划分成不同区域,从而每个区域都有不同的功能作用.

1.堆(heap)整个内存区域中,最大的区域,放的就是代码中new出来的对象 .

2.栈        JVM虚拟机栈(java)保存了方法的调用关系stack

                本地方法栈(C++这里的调用关系,就是使用栈来维护.

3.元数据区(以前叫做"方法区",从java8改名字).

Test.class=>类对象.

                    代码中写的每个类,在jvm上运行的时候,都会有对应的类对象.

4.程序计数器        是内存区域中最小的区域,只需要保存,当前要执行的下一条指令(JVM字节                                  码)的地址(这个地址就是元数据区里面的一个地址).

class Test{

int a;
Test t2=new Test2();
String s="hello"
static int b;

}

 a,t2,s这三个都是Test的成员变量都是在堆上的!

hello 本体是在元数据区。

s自身是Test的成资自身在堆上里面保存的值是一个指向元数据区的地址。

static修饰,成了类属性,就会出现在类对象中,也就是在元数据区

函数中的方法都是元数据区。

public static   void main(){
Test t =  new Test(); 
}      

 t不是对象!只是指向对象的引用保存了对象的首地址(堆上的地址)。

t在代码中的局部变量局部变量是在栈上的~~

new Test()是在堆上的。

基本原则:一个对象在哪个区域,取决于对应变量的形态

1)局部变量栈上2)成员变量堆上3)静态成员变量方法区/元数据区
上述四个区域中,堆和元数据区,是整个进程只有一份

栈和程序计数器,是每个线程都有一份的.

多个进程,可能有多份的

多个线程共享同一份数据~~每个线程的局部变量,则不是共享的,

每个线程都是有自己一份~~

2.JVM类加载过程

一个java进程要跑起来,就需要把java先变成.class文件(硬盘),加载到内存中,得到"类对象"。

跑起来:就是执行指令:要执行的cpu指令,都是通过字节码让jvm翻译出来的。

八股内容

1.加载:在硬盘上,找到对应的.class文件.读取文件内容

2.验证:检查.class里的内容,是否符合要求

把读取进来的内容,往这个格式里套能不能套进去,看是否有问题~~

3.准备:给类对象,分配内存空间(类加载最终要得到的就是类对象

内存空间=》元数据区

会把这个空间里的数据先全都填充成0       

4.解析:针对字符串常量来初始化把刚才.class文件中的常量的内容取出来,放到厂"元数据区

5:初始化:针对类对象进行初始化(不是针对对象初始化,和构造方法无关)给静态成员进行初始化执行静态代码块 .

类加载中的双亲委派模型(经典面试题)

出现在"加载"环节 (第一步)根据代码中写的"全限定类名”找到对应的class文件。

全限定类名:包名+类名。

双亲委派模型,描述了JVM加载.class文件过程中,找文件的过程。

类加载器

在JVM中包含的一个特定的模块/类~~这个类负责完成后续的类加载工作 .

JVM中内置了三个类加载器:

1)BootstrapClassLoader        爷爷        负责加载标准库的类

标准库是Java‘官方给出的1"规范文档上面要求要提供的类~

2)ExtentionClassLoader        父亲        负责加载JVM扩展库的类

各个JVM厂商在实现JVM的时候会根据需要,在上述标准之上做出一些扩展

3) ApplicationClassLoader        儿子     负责加载第三方库的类和你自己写的代码的类

此处的"父子关系"不是通过类的继承表示的(不是父类子类)而是通过类加载器中存在一个"parent"这样的字段,指向自己的父亲   类似于二叉树的"三叉实现形式

1.工作从 ApplicationClassLoader 开始进行

ApplicationClassLoader并不会立即搜索第三方库的相关目录,而是把任务交给自己的父亲来进行处理

2.工作就到了ExtentionClassLoaderExtentionClassLoader也不会立即搜索负责的扩展库的目录,也是把任务交给自己的父亲来处理~~

3.工作就到了 BootstrapClassLoader,BootstrapClassLoader也想交给自己的父亲来处理.但是,它的 parent 指向 null,只能自己处理.BootstrapClassLoader尝试在标准库的路径中搜索上述类~~java111.Test如果这个类,在标准库中找到了,于是搜索过程就完成了,类加载器负责打开文件,读取文件等后续操作就行了.如果没找到,任务还是要继续还给儿子来处理~~

4.工作回到了 ExtentionClassLoader,此时就要搜索扩展库对应的目录了~~如果找到了,就由当前的类加载器负责打开文件,读取文件等后续操作..如果没找到,任务还是要继续还给儿子来处理~~

5.工作回到了ApplicationClassLoader此时要搜索第三方库/用户项目代码的目录了~~如果找到了,也是由当前的类加载器负责处理.如果没找到,任务还是要继续还给儿子来处理~~此时,没有儿子了!!!

还没找到,就会最终抛出一个ClassNotFoundException. 

双亲委派(父亲委派)模型:拿到任务,先交给父亲处理.父亲处理不了,再自己处理~

上述过程,主要为了应对这个场景:比如你自己代码里写了一个类,类的名字和标准库/扩展库冲突了,JVM会确保加载的类是标准库的类(就不加载你自己写的类]java.lang.String如果标准库的这个String加载不了,怕是整个Java进程没法正确工作了!

3.JVM中的垃圾回收机制

GC垃圾回收机制,是Java提供的对于内存自动回收的机制~~相对于C/C++的手动回收来命名的~~

C/C++不添加自动回收是因为他要提高自己的效率。

GC回收的是“内存",更准确说,是“对象”,回收的是“堆上的内存

1)程序计数器(不需要额外回收,线程销毁,自然回收了)

2)栈(不需要额外回收,线程销毁,自然回收了)

3)元数据区(一般也不需要,都是加载类,很少“卸载类")

4)堆~~~(GC的主力部分)

一定是一次回收一个完整的对象,不能回收半个对象~~(一个对象有10个成员,肯定是把10个成员的内存都回收了,而不是只回收一部分)。

GC的流程主要是两个步骤1.找到谁是垃圾2.释放对应的内存
1.找到垃圾的方式不好找,一般都是遍历然后标记然后找出。

此处引I入了非常“保守”的做法,一定不会误判的做法(可能会释放的不及时)判定某个对象,是否存在引用指向它.

Test t=new Test();

使用对象,都是通过引用的方式来使用的~~如果没有引用指向这个对象,意味着这个对象注定无法再代码中被使用!

t=null;                修改t的指向

此时newTestO的对象就没有引用指向了此时这个对象就可以认为是"垃圾

具体是怎么判定,某个对象是否有引用指向呢?

有很多种方式来实现介绍两种方式~~

如果面试官问:GC中,如何判定对象是垃圾~?要回答两种~如果问:Java的GC中,如何判定对象是垃圾~^只需要回答第二种!!!

1)引I用计数(不是JVM采取的方案,而是Python/PHP的方案)

 Test a=new Test();

Test b=a;

b=null;

a=null;

 如果有引用计数器就+1,为0的时候就是没有引用就是垃圾。        

把对象的地址进行赋值都知道对象地址了,自然就能找到对象更能找到对象旁边的计数器了~

两个缺陷:

1.消耗额外的存储空间如果你对象比较大,浪费的空间还好.对象比较小,空间占用就多了~~并且对象数目多,空间的浪费的就多了~

2.存在"循环引l用”的问题~~[面试官考引用计数,就是为了考你循环引用的理解]

Class Test{
    Test t;

}

Test a=new Test();
Test b=new Test();
  a.t=b;
  b.t=a;








a=null;
b=null;

 这样就会形成你中有我,我中有你,但是这样就没有办法直接删除两个“垃圾”引用。会花费更多的时间。

此时,这俩对象相互指向对方,导致两个对象的引l用计数,都为1(不为0.不是垃圾)但是你外部代码,也无法访问到这俩对象!!

2)可达性分析 (是JVM采取的方案)

JVM把对象之间的引I用关系,理解成了一个"树形结构”.

JVM就会不停的遍历这样的结构,把所有能够遍历访问到的对象标记成“可达",剩下的就是"不可达"

class Node{
Node left;
Node right;
}
Node build() {
    Node a = new Node();
    Node b = new Node();
    Node c = new Node();
    Node d = new Node();
    Node e = new Node();
    Node f= new Node();
    Node g = new Node();
    a.left = b;
    a.right = c;
    b.left = d;
    b.right = e;
    e.left = g;
    c.right = f;
    return a;
}

 

Node        root=build();

此处只有一个引用通过这个引用,就能访问到所有树上的节点对象!!!

如果写了root=null就是要把树上的所有对象都干掉了.

如果写了root.right=null那么c,f都会被回收。

GC roots((这些树的根节点是怎么确定的?)

Java代码中,你所有的

1)栈上的局部变量,,引I用类型的,就都是GCroots

2)常量池中,引用的对象

3)方法区中的静态成员

由于可达性分析,需要消耗一定的时间,因此,Java垃圾回收,没法做到“实时性周期性进行扫描(JVM提供了一组专门的负责GC的线程,不停的进行扫描工作)。

释放垃圾的策略

1.标记-清除

直接把标记为垃圾的对象对应的内存,释放掉~一(简单粗暴)

这样的做法会存在“内存碎片”问题。

空闲内存被分成一个个的碎片了.后续很难申请到,大的内存!

申请内存,都是要申请“连续”的内存空间的~~

如果需要扩展一个内存大的地方,没有足够的空间,因为内存都是碎片,所以找不到内存大的地方。

2.复制算法

 比如,要释放135,保留24不会直接释放135的内存,而是把24拷贝到另外一块空间中!!

3.标记-整理

能解决内存碎片,也能解决空间利用率的问题~~

释放246.保留1357类似于“顺序表删除中间元素”。

就是将数据删除之后将数据重新排序。

 JVM使用分代回收

分情况讨论根据不同的场景/特点选择合适的方案。

根据对象的年龄

GC有一组线程,,周期性扫描某个对象,经历了一轮GC之后,还是存在没有成为垃圾,年龄+1。

把新创建的对象,放到伊甸区中伊甸区中,

大部分的对象,生命周期都是比较短的,第一轮GC到达的时候,就会成为垃圾只有少数对象能活过第一轮GC~

伊甸区->生存区通过复制算法.(由于存活对象很少,复制开销也很低,生存区空间也不必很大)

生存区->另一个生存区通过复制算法.没经过一轮GC,生存区中都会淘汰掉一批对象,剩下的通过复制算法,进入到另一个生存区(进入另一个生的还有从伊旬区里进来的对象)

存活下来的对象,年龄+1

生存区->老年代某些对象,经历了很多轮GC,都没有成为垃圾,就会复制到老年代

老年代的对象,也是需要进行GC的,但是老年代的对象生命周期都比较常,就可以降低GC扫描的频率.

分代回收

对象伊甸区->生存区->生存区->老年代复制算法对象在老年代中,通过标记-整理(搬运)来进行回收~

垃圾回收器

大模型选型实战:为OpenClaw匹配最优“大脑”的全维度考量 大模型不是越贵越好,也不是参数越高越好,适合自己的使用场景才是最好的。按照我的方法,先明确自己的需求,再选对应的模型,配置多模型自动路由,既能保证体验,又能最大限度降低成本。我自己用这套配置用了半年多,不管是写文章、写代码还是处理复杂问题,都完全够用,成本也很低,大家可以参考一下。如果不知道选什么模型,可以在评论区说一下你的使用场景。 阅读详情

相关推荐

达梦DCA2023年10月培训及考试总结

本次培训共分三天,培训内容不单单是DCA的单机安装、实例创建、库表操作等,培训内容是把关系型数据库的理论及DM8的产品结合起来讲,很实用。具体的考试则是需要个人大量的线下练习,考试总体而言都是培训讲过的内容,只要用心听,好好练习,哪怕是没有计算机基础的童鞋也能考过。提示:以下是本篇文章正文内容,下面案例可供参考总体而言,本次考试不是很难,用心准备,考前认真听讲,考后多次练习,基本都能通过。

qinjuao的博客 2320

Gzip 压缩原理与实践:HTTP 响应压缩、性能收益与工程配置

Gzip 是一种通用的无损数据压缩格式,定义于 RFC 1952,广泛应用于文件存储和 HTTP 响应压缩。所谓无损压缩,是指数据经过压缩和解压缩后,可以恢复与原始内容完全一致的字节序列,不会改变文本、JSON 或其他数据的实际内容。

Joy T的博客 340

ESP32IDF 通过 PCA9685控制舵机的程序bug处理

esp32 PCA9685 bug 舵机

ztvzbj的博客 725

解密 HTTP/3 与 QUIC 协议指纹:下一代网络风控下的传输参数与 0-RTT 指纹逆向对抗实战

传统 JA3/JA4 与 HTTP/2 帧指纹已无法全面覆盖基于 QUIC 的新一代网络风控。本文由浅入深剖析 QUIC 协议栈指纹的核心判定维度,重点解析 Transport Parameters 参数哈希碰撞、0-RTT 填充策略与控制流帧时序异常。结合 Chromium 源码特征,给出魔改 quic-go 底层配置与伪造 Chrome 客户端特征的代码实现,为现代反爬虫对抗与协议逆向提供全套落地指引。

etsyZS的博客 290

CANoe UDS $27服务DLL生成实战:从工程配置到算法修改全流程

本文详细介绍了在Vector CANoe中为UDS(统一诊断服务)的$27安全访问服务生成定制化DLL(动态链接库)的全流程。从定位官方参考工程、配置Visual Studio开发环境,到深入解析核心的GenerateKeyEx函数接口,并重点演示了如何修改和实现自定义的种子-密钥安全算法,最终完成DLL的编译、部署与CANoe集成测试,为汽车电子诊断开发提供实战指导。

star5的专栏 534

手把手教你完成基于matlab的路面裂缝检测系统设计

裂缝是路面病害最早的形态之一,只有在裂缝出现的早期进行维护,才能有效地提高公路的使用寿命。因此,路面裂缝的检测识别系统对于提升公路质量有着重大的意义。首先,对路面裂缝图像进行相应的预处理,目的是减小环境因素的影响,消除无用的噪点。然后提取目标图像特征,判断路面裂缝类型,标记出路面裂缝的位置。最后通过设计的 GUI 界面来集成各个关键步骤,显示所得到的试验结果。仿真结果表明,设计的路面裂缝检测识别系统是高效可行的。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1216

grok-4.7 报 HTTP 401 怎么办?用直连、反向代理与脱敏日志定位鉴权头问题

如果确实需要判断入站和出站是否为同一凭据,可以使用带密钥的 HMAC 生成短期诊断标签,而不是记录完整 Key。,也应分别记录其 Base URL、模型 ID、认证头来源和 HTTP 状态,避免把不同链路的结果直接用于判断 xAI 官方端点是否接受当前凭据。如果配置写成带固定前缀的组合值,或者还有其他网关模块参与,最终结果可能不同。当直连和代理结果不一致时,可以在测试环境增加一个自己控制的上游接收器,用来确认代理到底发送了哪些请求头。账户是否能调用该模型,应以认证后的模型目录和实际模型请求结果为准。

ofoxcoding的博客 200

YOLOv8改进 | 融合篇,YOLOv8主干改进融合网络之MobileNetV3+CA注意机制,助力涨点

MobileNetV3通过结合硬件感知网络架构搜索(NAS)和NetAdapt算法,通过新颖的架构改进进一步提升了性能。YOLOv8中的主干网络替换成MobileNetV3+引入CA注意机制

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1881

Dart/Flutter `package:http`:从发请求到局部替换 HTTP Client

本文详解 Flutter 中 package:http 的核心概念,解析 Client、BaseClient、send() 拦截机制及 runWithClient 的原理。通过 _AuthingQrDiagnosticClient 示例,揭示如何通过重写 send() 拦截请求、包装响应流,并利用 Dart Zone 实现客户端临时替换。最终说明 Authing SDK 请求被拦截的原因:runWithClient 依托 Zone 上下文注入自定义客户端,实现全局请求拦截与日志记录,无需显式传参。

侯仕奇的博客 242

深度学习论文: Cultivated Land Extraction from High-Resolution Remote Sensing Image

深度学习论文: Cultivated Land Extraction from High-Resolution Remote Sensing Image The Winning Solution to the iFLYTEK Challenge 2021 Cultivated Land Extraction from High-Resolution Remote Sensing Image PDF: https://arxiv.org/pdf/2202.10974.pdf PyTorch代码: https:

mingo_敏 3480

【OpenCV】图像的像素直方图 图像特征点 cv::FAST cv::ORB ORB_SLAM2::ORB

文章目录图像直方图代码实现cv::FAST和cv::ORB 检测图像特征点cv::FAST和cv::ORB 检测图像特征点代码实现ORB_SLAM2::ORB和自己实现ORB图像特征点检测效果对比ORB_SLAM2::ORB和自己实现ORB图像特征点检测效果对比代码实现 图像直方图代码实现 图像是由不同数值(颜色)的像素构成的,像素值在图像中的分布情况是图像的重要属性,可以用直方图修改图像的外观,标识图像的内容,检测图像中特定的物体或纹理。 单通道灰度图像中每个像素都有一个 0(黑色)-255(白色)的整

小秋 AI SLAM 入门实战教程 2510

【FastAPI】基础篇 01|开始之前:API、HTTP 与 FastAPI 到底是什么

本文通过读取笔记的实例,解析API、HTTP与FastAPI的关系:API是程序间交互的约定,HTTP是通信协议,FastAPI是构建Web API的Python框架。文中详解了HTTP请求的四部分(方法、URL、请求头、请求体)与响应结构(状态码、响应头、响应体),并以GET /notes/{category}/{note_id}为例,演示如何用FastAPI实现接口,理解路径参数、状态码及JSON数据转换。最后明确各组件分工:客户端发请求,Uvicorn接收,FastAPI处理逻辑,返回标准化响应。

zicheng_G的博客 175

【YOLO26实战全攻略】19——智慧交通(一):高速抛洒物与事故检测全流程落地

在智慧交通领域,高速公路抛洒物、交通事故等突发状况常导致二次事故与大规模拥堵,传统人工监控存在响应滞后、覆盖有限等痛点。本文基于Ultralytics YOLO26算法,结合ByteTrack多目标跟踪技术,构建从数据准备、模型训练到边缘部署的全栈式智慧交通检测系统。核心内容包括:多车型专属数据集构建、抛洒物检测模型优化、ByteTrack轨迹跟踪集成、异常事件(违停/逆行/碰撞)识别逻辑实现,以及NVIDIA Jetson边缘设备部署方案。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1491

Codex 接 MCP 完整配置教程:STDIO、HTTP、OAuth 与工具权限

发布日期:2026-11-09截至 2026 年 11 月,OpenAI 官方文档支持 Codex 通过 MCP(模型上下文协议)接入外部工具与信息,连接方式包括本地 STDIO 和远程 Streamable HTTP。本文以七牛云 MCP 服务演示远程地址与 Bearer 鉴权,以 Context7 演示本地进程接入,再说明 OAuth 登录、工具白名单和审批配置。配置是否生效,需要分别检查服务注册、连接状态与实际工具调用;桌面端和命令行还可能读取不同的进程环境。

aidoudoulong的博客 334

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

用大模型辅助 HTTP 告警分析的局限

ailx10说:这篇是在2024年3月之前写的,后来又改过。前阵子试过把 HTTP 请求和响应交给大模型判断攻击有没有成功,后来模型服务收费,我又换到文心一言的千帆平台试一次。先实名认证、开通计费,再配 AK/SK、装 SDK,连账单都顺手看了一眼;把一组请求响应喂进去,模型给了一个失败判断。标题写得挺夸张,实际正文是很小的一次接口调用练习。让我想继续琢磨的是,告警研判能不能借模型帮一把;不过这篇留下的,首先还是从开通服务到拿到第一次输出的那段摸索。

ailx10 215

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Flutter学习day9--http与Dio网络请求入门

前几周的界面无论多精致,数据都是写在代码里的常量。真实 App 的核心能力是:列表来自接口、提交落回后端。Flutter 生态里最常用的两条路是官方的http包和社区事实标准的Dio——前者适合理解网络层的本质,后者适合真实项目。这篇把两条路都走一遍,并整理一套可直接复用的请求套路。

qq_63223749的博客 262

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

自建影音库的轻量方案:旧电脑加HTTP文件服务实践

本文探讨了自建影音库的低成本高效方案:无需高价NAS,一台闲置旧Windows电脑搭配轻量HTTP文件服务,即可实现电视、手机等多设备局域网内直接浏览器播放。相比复杂配置的Plex/Emby,该方案免安装、跨平台兼容,适合仅需基础播放需求的用户。远程访问可通过frp或ZeroTier实现,但需注意安全防护与带宽限制。强调“访问”不等于“备份”,建议定期冷备份重要文件。核心理念:以最小投入满足真实需求,逐步迭代,而非盲目追求功能完备。

zxcvb153的博客 263

代理协议选型:HTTP、Socks5、Tunnel 代理优劣对比

在跨境自动化、爬虫、多账号运营场景,很多人只知道 HTTP 和 SOCKS5,却对 Tunnel(隧道代理)比较陌生。不同协议在握手开销、指纹特征、协议泄漏、风控识别、传输能力上差异巨大,选错协议很容易出现连接失败、被标记代理、账号关联封禁。本文横向对比三者原理、优缺点、风控特征,附选型建议与简易测试脚本,适合直接发 优快云。

Novproxy_Z的博客 228

HTTP、SSE、WebSocket、Socket.IO:实时通信方案深度对比与选型指南

HTTP 是基础,是整个 Web 的底座;SSE 是单向推送的轻量最优解;WebSocket 是高性能双向实时通信的底层标准;Socket.IO 是一套降低开发门槛、抹平环境差异的上层框架。技术选型永远不是“哪个技术更酷”,而是匹配业务的实时性、交互方向、网络环境、团队维护成本。简单需求优先轻方案,复杂双向实时再上 WebSocket;如果追求快速落地、兼容各种奇葩网络,Socket.IO 是很好的选择。

changshuaihua001的博客 342

HTTP 请求方法与 RESTful 接口设计:GET 和 POST 到底怎么用

本文系统讲解 HTTP 请求方法的语义与 RESTful 接口设计规范:剖析 GET 与 POST 在参数位置、缓存与幂等性上的实质区别,给出资源命名、路径层级、状态码使用的具体约定,并通过 fetch 调用示例与常见落地问题(复杂查询、方法覆盖、响应体结构),帮助读者设计清晰自明的接口。

大模型全栈工程师 · Thanks_ks 313

Linux Day29——HTTP与网络排障

*实测**:`traceroute -n -m 8 8.8.8.8` 的输出:第 1 跳 `172.17.144.1`(本机网关)、第 2 跳 `10.32.0.1`、第 3 跳 `10.50.255.253`、第 4 跳 `* * *`、第 5 跳 `221.226.71.193`、第 6 跳 `* * *`、第 7、8 跳有地址但夹着星号。`ping` 和 `traceroute` 都靠它。**实测**:`ss -lta` 看到三行 `domain`,加 `-n` 后变成 `53`。

2503_94114317的博客 157

DeepSeek V4 Pro HTTP 500 怎么办?如何用 100 次最小请求定位故障范围

11 月 6 号晚上,我给代码任务加了并发,终端突然连续冒出。刚开始我也以为是服务端炸了,折腾半天才弄清楚:一部分确实是上游临时异常,一部分是请求体过大,还有几次根本不是 500,而是流式连接被代理重置。按 2026 年 11 月 9 日的模型目录核对,本文使用的模型 ID 是。这个 ID 是平台目录中的 API 参数。DeepSeek 官方错误码文档没有确认“DeepSeek V4 Pro”的展示名、价格和上下文上限,别把其他版本的参数硬套过来。

2601_95892788的博客 195

HTTP 与 HTTPS:请求、响应、状态码一次讲清(餐厅点餐类比)

HTTP 报文就四段:起始行、头、空行、体,空行是头和体的分界线。请求行写「方法 路径 版本」,状态行写「版本 状态码 短语」。状态码看首位定大类:2 成功、3 搬家、4 你错了、5 服务器错了。HTTPS = HTTP + TLS,端口 80 换 443,握手四步只为一件事——把对称密钥安全送到两边手里。

weixin_46316564的博客 189

gpt-transcribe 报 HTTP 415 怎么办?音频能播放也没用,Content-Type 和 file 字段必须对上

以 OpenRouter、ofox.io 这类聚合网关/中转为例,应从其控制台或当前接口文档中取得 Base URL、转录端点和 API Key,不要照搬可能过期的地址。字段名错误时,更常见的响应可能是 400 或 422,但有些网关会在 multipart 解析阶段直接返回 415。即使把文件转成 Base64,外层仍是 JSON,不符合该端点要求的 multipart 结构。10 月 29 日晚上,我碰到过一次:文件在本地播放完全正常,最后查出来却是音频被塞进了 JSON,服务端压根没走到转录阶段。

2601_95892788的博客 251

HTTP理解(1)报文结构与底层定位

本文讲了http的基础概念,以及报文封装的初步理解,DNS是什么,http格式的雏形

2502_93830375的博客 312

摆脱网络请求的桎梏,构建高可用 Http 拦截器架构

更要命的是,只要用户退到后台再切回来,页面直接卡死,一查内存,全是 Context 泄漏。这里有个巨大的坑:如果同时有五个请求一起返回 401,会触发五次刷新 Token 的请求,后端很容易判定为恶意攻击。思路很简单:拦截到 401 响应,挂起当前请求,发起刷新 Token 的请求,拿到新 Token 后,重新发起刚才挂起的请求。这行代码执行后,无论页面怎么切换,网络模块对内存的占用都是恒定的,彻底告别了因 Context 传错导致的 OOM。,系统底层会直接把你的网络连接掐断,连报错都显得极其隐蔽。

2502_91284977的博客 146
上一篇: 用例篇
下一篇: 用例篇03
鱼裤
博客等级 码龄4年 678粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼裤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值