同济大学计算机考研

文章目录

  • 一、初试
    • 1.院校情况
      • 1.复试名单
      • 2.报录比
      • 3.学硕人数
  • 二、复试
    • (一) 数据库
      • 2016复试题
        • 一、选择题 (Multiple Choices)
        • 二、简答题
      • 2018复试题
        • 一、选择题
          • (一)数据库:1-10
          • (二)C语言:11-15
        • 二、简答
    • (二) 编译原理
    • (三) 机试
      • 22020同济大学电子与信息工程学院计算机系夏令营机试题目
        • IDE:DEV C++
        • 第一题:签到题(10分)
        • 第 2 题:递归(20 分)

一、初试

1.院校情况

1.复试名单

(1)2023
在这里插入图片描述
在这里插入图片描述



2.报录比

2023
2022
电子信息专硕。复试68人,录取50人,复试比1.36:1。

总报名人数录取人数总报录比
7731355.7

在这里插入图片描述
链接:https://yz.tongji.edu.cn/info/1029/2838.htm


2021

总报名人数录取人数总报录比
6601584.2

在这里插入图片描述


2020

总报名人数录取人数总报录比
6651484.5

在这里插入图片描述


2019

总报名人数录取人数总报录比
4864211.6

在这里插入图片描述



3.学硕人数

19年52+0
20年43+6
21年46+2
22年42+5
23年44+?





二、复试

(一) 数据库

2016复试题

如果没有上下文,multiple choice 就表示“单选题”(只有一个正确答案),如果是“多选题”,那么就要在后面注明一句话:There may be more than one correct answer。

一、选择题 (Multiple Choices)

1.下列选项中可以唯一确定一个元组的属性或属性组的是
答:候选码

1.Which items can determine all atributes in a relation: (哪些项可以决定关系中的所有属性:)
A. Superkey (超码)
B. Foreign key (外键)
C. Candidate key (候选码)
D. Primary key (主码)

在这里插入图片描述


2.关系数据语言中,是过程化语言的是:
答:关系代数语言

2.Which is the procedural language?
A. SQL
B. Relational Algebra
C. Tuple Relational Calculus
D. Domain Relational Calculus

在这里插入图片描述


3.五大基本关系代数操作:
答:并、差、笛卡尔积、选择、投影,即 ∪ - × σ π

3.Five basic relational algebra operations are _____, others can be derived from these operations.
答案:C
在这里插入图片描述
在这里插入图片描述


4.模式分解(待学习)
在这里插入图片描述


5.下列三个并发控制的事务的调度,属于可串行化调度的是:
在这里插入图片描述
答:


6.DBA的职责是:

6.A DBA’s duties are:
A. transaction processing and concurrency control;
B. security and integrity control;
C. performance monitoring, tuning;
D. database reforming, restructuring, restoration and recovery.

在这里插入图片描述

答:CD有争议,我倾向于选C



二、简答题

1.两段锁协议 (Two Phase Locking,简称2PL)
①两段锁的含义:
事务分为两个阶段。
第一阶段是获得封锁,也称扩展阶段,事务可以申请获得任何数据项上的任何类型的锁,但不能释放任何锁。
第二阶段是释放封锁,也称收缩阶段,事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁。

在这里插入图片描述



2018复试题

一、选择题
(一)数据库:1-10

1.Drawback(s) of file-processing system:
A.Data redundancy and inconsistency   B.Maintain atomicity of updates
C.Data isolation            D.High concurrent access

1.文件处理系统的缺点包括:
A. 数据冗余和不一致性   B. 保持更新的原子性
C. 数据隔离          D. 高并发访问

在这里插入图片描述

答案:BD (GPT4)



在这里插入图片描述

2.Which item(s) can determine all attributes in a relation:
A. Superkey    B. Foreign key   C. Candidate key
D. Primary key   E. Full key     F. Search key

2.在关系型数据库中,可以确定一个关系中所有属性的项是:
A. 超码(Super key)  B. 外码(Foreign key)  C. 候选码(Candidate key)
D. 主码(Primary key)  E. 全码(Full key)  F. 搜索码(Search key)

分析:
①若关系中某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码。
②关系模型中以主码作为唯一性标识

答案:CD



在这里插入图片描述

3.Which is (are) the non-procedural language(s)?
A. Relational Algebra     B.C     C. SQL
D. Tuple Relational Calculus   E. Domain Relational Calculus

3.哪些是非过程性语言?
A. 关系代数
B. C语言
C. SQL
D. 元组关系演算
E. 域关系演算语言QBE

分析:
①关系代数语言、C语言,是过程化语言
②SQL、元组关系演算、域关系演算,是非过程化语言

答案:CDE



在这里插入图片描述

4.Five basic relational algebra operations are ____,others can be derived from these operations.
A.∩,-,π,σ,×     B. ∪,-,π,σ,⋈
C.∪,-,π,σ,×     D. ∩,÷,π,σ,⋈

4.五个基本的关系代数操作是____,其他操作都可以由这些操作衍生出来。
A. 交(∩),差(-),投影(π),选择(σ),笛卡尔积(×)
B. 并(∪),差(-),投影(π),选择(σ),自然连接(⋈)
C. 并(∪),差(-),投影(π),选择(σ),笛卡尔积(×)
D. 交(∩),除(÷),投影(π),选择(σ),自然连接(⋈)


分析:
五种基本关系代数运算应该是:并、差、笛卡尔积、选择、投影
∪、-、×、σ、π

答案:C



在这里插入图片描述

5.A DBA’s duties are:
A. security and integrity control.
B. performance monitoring, analyzing, and tuning;
C. database restoration and recovery;
D. database reforming and restructuring;
E. transaction processing and concurrency control;

5.数据库管理员(DBA)的职责包括:
A. 安全和完整性控制。
B. 性能监控、分析和调优;
C. 数据库恢复和还原;
D. 数据库重构和重组;
E. 事务处理和并发控制;

分析:数据库管理员负责确保数据库系统的高效、安全和稳定运行,这包括上述所有职责。

答案:ABCDE



在这里插入图片描述

6.In a relational database, given R<U, F>, U={A,B,C}, F={A→>B, B→>C,C->A}, a decomposition of R is ρ={AB, BC}, and the decomposition is:
A. lossless-join, dependency preserving   B. lossless-join, not dependency preserving
C.lossy-join, dependency preserving     D. lossy-join, not dependency preserving

6.在一个关系型数据库中,给定 R<U, F>,其中 U={A,B,C},F={A→>B, B→>C,C->A},对 R 的一个分解是 ρ={AB, BC},这个分解是:
A. 无损连接,保持依赖
B. 无损连接,不保持依赖
C. 有损连接,保持依赖
D. 有损连接,不保持依赖

正确答案是 B. 无损连接,不保持依赖。

这是因为,分解 {AB, BC} 是无损的,因为 AB 和 BC 的交集 BC 在其中一个分解的关系中是超键,满足无损连接的条件。但是这个分解不保持依赖,因为原始的函数依赖集 F 中的 C->A 不能被分解后的关系直接表示,因此依赖不被保持。



在这里插入图片描述

7.For the following schedules of three transactions in concurrency controlthe serializable schedules are:
A.r1(A)r1(B)w2(B) w1(A)r3(B) w3(B) r2(B) r2(A)
B.r1(A)w2(B) r1(B) w1(A) r3(B) w3(B) r2(B) r2(A)
C.r3(B)w3(B)r2(B)r2(A)r1(A) w2(B) r1(B) w1(A)
D.r3(B)r1(A)w3(B)r2(B)r2(A) w2(B) r1(B) w1(A)


7.在并发控制下,以下三个事务的调度中,可串行化的调度是:
A. r1(A) r1(B) w2(B) w1(A) r3(B) w3(B) r2(B) r2(A)
B. r1(A) w2(B) r1(B) w1(A) r3(B) w3(B) r2(B) r2(A)
C. r3(B) w3(B) r2(B) r2(A) r1(A) w2(B) r1(B) w1(A)
D. r3(B) r1(A) w3(B) r2(B) r2(A) w2(B) r1(B) w1(A)

正确答案是 C. r3(B) w3(B) r2(B) r2(A) r1(A) w2(B) r1(B) w1(A)。

这个调度是可串行化的,因为它可以重排为一个不冲突的串行调度,即所有事务的操作按顺序执行,没有违反事务间的数据依赖性。在这个例子中,事务的执行顺序可以是 T3, T2, T1,这使得调度变得可串行化,而不会导致数据冲突或不一致。



在这里插入图片描述

8.When we generate relational schemas from an E-R diagram, the rules for
relationship sets are:
A. for a binary 1: n relationship set, translate it into a relation, and the primarykey of the relationship set is the primary key of the “1” side entity set;
B. for a binary 1: n relationship set, translate it into a relation, and the primarykey of the relationship set is the primary key of the “'n” side entity set;
C. a binary 1: n relationship set can be united with the “1” side entity set, andtranslated into one relation;
D, a binary 1: n relationship set can be united with the “'n” side entity set, andtranslated into one relation


8.当我们从实体-关系(E-R)图生成关系模式时,关系集的规则是:
A. 对于二元1:n关系集,将其转换为一个关系,并且关系集的主键是“1”端实体集的主键;
B. 对于二元1:n关系集,将其转换为一个关系,并且关系集的主键是“n”端实体集的主键;
C. 二元1:n关系集可以与“1”端实体集合并,并转换为一个关系;
D. 二元1:n关系集可以与“n”端实体集合并,并转换为一个关系。


正确答案是 C. 二元1:n关系集可以与“1”端实体集合并,并转换为一个关系。

这是因为在1:n关系中,“1”端的实体在每个关系实例中是唯一的,因此可以将“1”端实体的属性和关系集的属性合并到一个关系中。这样,这个合并的关系就能够表示两个实体集之间的关系,同时保持数据的完整性和一致性



在这里插入图片描述

9.If R∈BCNF, then:
A. all key attributes are entirely functional dependent on each candidate key thatdoes not contain them
B. all partial dependencies and transitive dependencies are removed for anyattributes;
C. non-attributes are entirely functional dependent on non-key attributes;
D. all anomalies are removed within any dependency scope.


9.如果一个关系处于BCNF(Boyce-Codd Normal Form,博伊斯-科德范式),那么:
A. 所有关键属性完全函数依赖于不包含它们的每个候选键,
B. 移除了所有的部分依赖和传递依赖对于任何属性;
C. 非关键属性完全函数依赖于非关键属性;
D. 在任何依赖范围内移除了所有异常。


正确答案是 B. 移除了所有的部分依赖和传递依赖对于任何属性。

BCNF是一种更加严格的第三范式(3NF),它要求所有的非平凡的函数依赖都是关键属性对候选键的依赖。这意味着在BCNF中,不仅仅移除了部分依赖(第二范式的目标),还移除了传递依赖(第三范式的目标),从而减少了数据冗余和更新异常。



在这里插入图片描述

10.Which protocol(s) ensure(s) freedom from deadlocks:
A. The Two-Phase Locking Protocol;
B. The Timestamp-based Protocol;
C. The Graph-based Protocol;
D. The Tree-Protocol;


10.哪种协议保证了没有死锁:
A. 两阶段锁定协议;
B. 基于时间戳的协议;
C. 基于图的协议;
D. 树协议;

正确答案是 B. 基于时间戳的协议。

基于时间戳的协议通过为每个事务分配一个唯一的时间戳来防止死锁。这种方法依赖于时间戳的顺序来决定事务的执行顺序,从而避免了可能导致死锁的循环等待条件。



(二)C语言:11-15

11.Which of the following logic expressions can express 'at least and atmost that x or y is negtive’.
A.x<0 != y<0
B.(x<0) + (y<0) == 0
C.x* y <= 0 && (x<0||y<0)
D. x*y<= 0 || x<0 && y== 0 || y<0 && x==0


11.以下哪个逻辑表达式可以表示“至少且最多只有x或y是负数”:
A. x<0 != y<0
B. (x<0) + (y<0) == 0
C. x * y <= 0 && (x<0 || y<0)
D. x * y <= 0 || x<0 && y == 0 || y<0 && x == 0

正确答案是 A. x<0 != y<0。

这个表达式表示 x 小于 0 的情况与 y 小于 0 的情况不同,即它们之中只有一个是真(即只有 x 或 y 其中一个是负数,另一个不是),满足“至少且最多”这一条件。

在这里插入图片描述



12.Given:int a={2,4,6,8,10},*p=a+2; then the value of the(p+1)[1]*p[-1] is expression
B. 24
A.20
C.32
D.40

12.给定:int a={2,4,6,8,10}, *p=a+2; 那么表达式 (p+1)[1]*p[-1] 的值是
A. 20
B. 24
C. 32
D. 40

正确答案是 C. 32。
首先,理解表达式中的指针操作:*p=a+2 表示指针 p 指向数组 a 的第三个元素(即值为 6)。因此 p+1 将指向数组中的下一个元素(值为 8),p+1[1] 是指向 p+1 后面的第一个元素(即值为 10),而 p[-1] 是指向 p 之前的一个元素(即值为 4)。所以,表达式 (p+1)[1]*p[-1] 等于 10 * 4 = 40。

在这里插入图片描述



13.Given: int x=3, y=2,z=1; then the value of z after the execution of theexpression “z+=x>y?++x:y–;” is ____.
A.5   B.4
C.3   D.2


13.给定:int x=3, y=2, z=1; 那么执行表达式 “z+=x>y?++x:y–;” 后 z 的值是____。
A. 5
B. 4
C. 3
D. 2

正确答案是 B. 4。

这个表达式使用了条件运算符(也称为三元运算符)。首先比较 x 是否大于 y,如果是,则执行 ++x(x 自增),否则执行 y–(y 自减)。由于 x(3)大于 y(2),所以执行 ++x,x 变为 4。然后,z += x 的结果是 z = z + x,即 1 + 4 = 5。因此,z 的值变为 5。

在这里插入图片描述



14.Given the following definition int w[3][4]={{1,2},{3,4}},*p=&w[1][0];,
the value of the following ______expression is 4:

A .w[1][2]
B. *(p+1)
C. w[2][1]
D. p[1]+1


14.给定以下定义 int w[3][4]={{1,2},{3,4}}, *p=&w[1][0];,以下表达式的值是 4:

A. w[1][2]
B. *(p+1)
C. w[2][1]
D. p[1]+1

正确答案是 B. *(p+1)。

首先,w[3][4] 是一个二维数组,初始化为 {{1,2},{3,4}}。由于只初始化了前两个元素,其余的默认为 0。所以数组实际上是 {{1, 2, 0, 0}, {3, 4, 0, 0}, {0, 0, 0, 0}}。
指针 p 被初始化为 &w[1][0],即指向数组的第二行第一个元素(值为 3)。因此,*(p+1) 指向 p 后的下一个元素,即 w[1][1] 的位置,其值为 4。

在这里插入图片描述



15.Given:
int k;
int a[3][3]={1,2,3,4,5,6,7,8,9};
then the output of the following statement is_____.
for (k=0;k<3;k++) printf(“%d”,a[k][2-k]);
A.3 5 7
B.3 6 9
C.1 5 9
D.1 4 7


15.给定:
int k;
int a[3][3]={1,2,3,4,5,6,7,8,9};
那么以下语句的输出是_____。
for (k=0;k<3;k++) printf(“%d”,a[k][2-k]);

A. 3 5 7
B. 3 6 9
C. 1 5 9
D. 1 4 7

正确答案是 A. 3 5 7。

这个循环遍历 k 从 0 到 2,打印 a[k][2-k] 的值。所以,当 k=0 时,打印 a[0][2](值为 3);当 k=1 时,打印 a[1][1](值为 5);当 k=2 时,打印 a[2][0](值为 7)。因此,输出是 3 5 7。

在这里插入图片描述
在这里插入图片描述



二、简答



(二) 编译原理



(三) 机试

22020同济大学电子与信息工程学院计算机系夏令营机试题目

IDE:DEV C++
第一题:签到题(10分)

题目要求:
键盘依次输入 4 个字符串,分别是临时学号、姓名、报考类别和本科学校,按右对齐方式输出,要求其中最长的字符串输出时左边无空格,4 行的冒号对齐,冒号为半角字符,前后各一个空格

输入要求:
1、四个字符串均不含空格,长度不超过 40
2、不考虑输入错误

输出要求:
1、共四行,不要有多余的空行
2、每行最后无多余的空格或其它字符
输入示例1:
在这里插入图片描述
输出示例1:
在这里插入图片描述
输入示例2:
在这里插入图片描述
输出示例2:
在这里插入图片描述


我的代码:(运行环境使用DEV C++,该环境中一个汉字size为2,占据2个格。而使用clion则发现,一个汉字size为3,却只占用1.5个格,从而无法实现右对齐)

#include <iostream>
#include <algorithm>
using namespace std;

void Space(int n){ //输出n个空格
    for(int i = 0; i < n; ++i){
        cout<<" ";
    }
    return;
}

int main(){
    string id,name,grade,school;
    while(cin>>id>>name>>grade>>school){
        int maxLen = max({id.size(),name.size(),grade.size(),school.size()});
        Space(maxLen-id.size());
        cout<<id<<" "<<":"<<" "<<"临时学号"<<endl;
        Space(maxLen-name.size());
        cout<<name<<" "<<":"<<" "<<"姓名"<<endl;
        Space(maxLen-grade.size());
        cout<<grade<<" "<<":"<<" "<<"报考别"<<endl;
        Space(maxLen-school.size());
        cout<<school<<" "<<":"<<" "<<"本科院校"<<endl;
        
    }
}



第 2 题:递归(20 分)

题目要求:
1、键盘输入 2-9 间的数字,输出对应的数字三角形
2、采用递归方式完成,整个程序中不允许出现循环(for、while、do-while、if-goto 均不允许)
3、给出预置的 cpp 文件,其中 main 函数不允许改动

输入要求:
1、输入一个 2-9 间的整数
2、不考虑输入错误

输出要求:
1、若输入的数字是 n,则共输出 n 行
2、每个数字之间加一个空格,每行的最后一个 1 后面,既可以有空格,也可以无空格

示例输入输出1:
在这里插入图片描述
示例输入输出2:
在这里插入图片描述

我的代码:

#include <iostream>
using namespace std;

void Num(int i){ //每行
    cout<<i<<" ";
    if(i != 1)  Num(i-1);
    else        return;
}

void Line(int n,int i){ //多少行
    if(i <= n){
        Num(i);
        cout<<endl;
        i++;
        Line(n,i);
    }else{
        return;
    }
}

int main(){
    int n;
    cin>>n;
    Line(n,1);
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/898875.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

植物大战僵尸杂交版游戏分享

植物大战僵尸杂交版游戏下载&#xff1a;夸克网盘分享 无捆绑之类的隐形消费&#xff0c;下载即玩

【软件工程】过程和生命周期的建模

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;软件开发必练内功_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 过…

springboot整合xxl-job实现定时任务

搭建调度中心xxl-job-admin 下载调度中心项目 gitee github 注&#xff1a; 下载项目的版本应与集成项目pom引用xxl-job版本号对应上。 执行初始化数据库SQL sql路径&#xff1a; doc/db/tables_xxl_job.sql XXL-JOB调度模块基于自研调度组件并支持集群部署&#xff0c;调…

flv格式如何转换mp4?将flv转换成MP4格式的9种转换方法

flv格式如何转换mp4&#xff1f;在进行flv转MP4的转换之前&#xff0c;了解两种格式的基本特点和差异也是至关重要的。flv格式以其流媒体传输的高效性和对Flash Player的依赖而闻名&#xff0c;而MP4则以其广泛的兼容性、高质量的音视频同步以及灵活的编码选项而著称。通过对比…

vue mixins使用示例

混入 (mixins)&#xff1a; 是一种分发 Vue 组件中可以复用功能灵活的方式。混入对象可以包含任意组件的选项。当组件使用混入对象的时候&#xff0c;所有混入对象的选项将被混入该组件本身的选项。 使用示例: 定义使用的mixins对象 export const HelloWorldMixin {data() {r…

Chromium 沙盒Sandbox源码介绍(3)

本篇主要说下沙箱的环境变量策略【Environment】&#xff1a; 一、环境变量&#xff1a; getEnvironmentStrings 函数返回指向内存块的指针&#xff0c;该内存块包含调用进程的环境变量 (系统和用户环境变量) getEnvironmentStrings 函数 (processenv.h) - Win32 apps | Mic…

ubuntu2204配置cuda

ubuntu2204配置cuda ✅系统版本&#xff1a;ubuntu22.04 LTS ✅显卡&#xff1a;英伟达2070S ✅CPU&#xff1a;i9 10900 ✅主板&#xff1a;戴尔品牌机 教程&#x1f4a8;&#x1f4a8;&#x1f4a8;&#x1f4a8;&#xff1a; ps&#xff1a;本人按照该方法一遍成功&#…

EasyX:初始化绘图窗口initgraph() 的使用

前言 学习使用EasyX图形库的initgraph窗口函数。 一、创建新项目 二、创建C空项目 三、找个地方存一下&#xff0c;创建 四、如果左边的框框找不到 五、点视图&#xff0c;然后点解决方案管理器&#xff0c;左边的框框就出来了 六、源文件添加新建项 七、给文件取个名&#x…

qt QPushButton详解

QPushButton是Qt Widgets模块中的一个基本控件&#xff0c;用于提供可点击的按钮。它是用户界面中最为常见和常用的控件之一&#xff0c;通过点击按钮&#xff0c;用户可以触发特定的应用程序操作。 重要方法 QPushButton(const QIcon &icon, const QString &text, QWi…

数据通信与网络课程展示图谱问答展示系统

&#x1f4a1; 你是否在学习“数据通信与网络”时感觉知识点分散&#xff0c;难以整理&#xff1f;学了后面忘记前面&#xff0c;知识点的关联也难以梳理&#xff1f;别担心&#xff01;我们公司推出的【数据通信与网络课程展示图谱问答系统】帮你一次性解决所有问题&#xff0…

手撕反向传播

关于二分类的交叉熵损失部分数学推导过程。 有些地方加以注释&#xff0c;公式太多懒得MD格式了 #%% import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn import datasetsiris_data datasets.load_iris() in_put_data iris_data.data corr…

Golang | Leetcode Golang题解之第494题目标和

题目&#xff1a; 题解&#xff1a; func findTargetSumWays(nums []int, target int) int {sum : 0for _, v : range nums {sum v}diff : sum - targetif diff < 0 || diff%2 1 {return 0}neg : diff / 2dp : make([]int, neg1)dp[0] 1for _, num : range nums {for j …

【嵌入式Linux】Linux设备树详解

设备树是是Linux中一种用于描述硬件配置的数据结构&#xff0c;它在系统启动时提供给内核&#xff0c;以便内核能够识别和配置硬件资源。设备树在嵌入式Linux系统中尤其重要&#xff0c;因为这些系统通常不具备标准的硬件配置&#xff0c;需要根据实际的硬件配置来动态配置内核…

JMeter之mqtt-jmeter 插件介绍

前言 mqtt-jmeter插件是JMeter中的一个第三方插件&#xff0c;用于支持MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;协议的性能测试。MQTT是一种轻量级的发布/订阅消息传输协议&#xff0c;广泛应用于物联网和传感器网络中。 一、安装插件 mqtt-jmeter项目…

Java项目-基于springboot框架的时间管理系统项目实战(附源码+文档)

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/…

数据抓取时,使用动态IP要注意哪些?

在充满竞争和数据驱动的商业环境中&#xff0c;动态IP已成为数据抓取过程中不可或缺的工具。动态IP的应用能有效提高抓取成功率&#xff0c;但同时也伴随着一系列需要注意的问题。在本文中&#xff0c;我们将详细探讨在数据抓取时使用动态IP时应注意的事项&#xff0c;以确保抓…

git-合并连续两次提交(一个功能,备注相同)

前言&#xff1a; 场景是这样&#xff0c;由于我是实现一个功能&#xff0c;先进行了一次commit,然后我发现写的有些小问题&#xff0c;优化了一下功能并且把代码优化了一次&#xff0c;于是又提交了一次。两次的提交都是以相同的备注&#xff08;当然这个无所谓&#xff09;&a…

【设计模式系列】简单工厂模式

一、什么是简单工厂模式 简单工厂模式&#xff08;Simple Factory Pattern&#xff09;是一种设计模式&#xff0c;其中包含一个工厂类&#xff0c;根据传入的参数不同&#xff0c;返回不同类的实例。这个工厂类封装了对象的创建逻辑&#xff0c;使得客户端代码可以从直接创建…

CSDN Markdown 编辑器语法大全

Markdown 是一种轻量级标记语言&#xff0c;它以简洁、易读易写的特点&#xff0c;被广泛应用于技术文档、博客文章、笔记等领域。CSDN 的 Markdown 编辑器为用户提供了丰富的功能&#xff0c;让用户能够轻松地创建格式规范、内容丰富的文档。以下是一份详细的 CSDN Markdown 编…

Python 应用可观测重磅上线:解决 LLM 应用落地的“最后一公里”问题

作者&#xff1a;彦鸿 背景 随着 LLM&#xff08;大语言模型&#xff09;技术的不断成熟和应用场景的不断拓展&#xff0c;越来越多的企业开始将 LLM 技术纳入自己的产品和服务中。LLM 在自然语言处理方面表现出令人印象深刻的能力。然而&#xff0c;其内部机制仍然不明确&am…