- 博客(1347)
- 收藏
- 关注
原创 element plus组件库里面el-menu菜单的背景颜色如何设置成渐变颜色
element plus组件库里面el-menu菜单的背景颜色如何设置成渐变颜色
2025-03-07 00:00:27
156
原创 Java的匿名内部类
Java的匿名内部类是一种没有名字的内部类,它允许你在定义类的同时直接创建该类的实例。总之,匿名内部类提供了一种快速创建实现类的方式,特别是在需要简单实现接口或抽象类时非常有用。
2025-02-20 01:37:20
325
原创 [Vue]Vue.js 的属性绑定
语法:用于绑定 JavaScript 表达式,使得组件能够获取真实的值(如布尔值)。静态 vs 动态:静态传递的是字符串,而动态传递的是实际的 JavaScript 值。响应性:动态绑定使得 Vue 组件能够根据数据变化自动更新。
2025-01-15 16:20:32
242
原创 [Vue]JavaScript中的默认导出和命名导出
默认导出:导入时不需要使用{},直接指定你想要的名字即可。。命名导出:导入时需要使用{}来指定要导入的具体名称。。这是 JavaScript 模块系统的基本规则,它允许开发者灵活地管理和导入所需的功能。我来详细解释一下默认导出)和命名导出)在 JavaScript 中的概念和区别。
2024-12-28 09:54:53
1065
原创 [Python]ord函数
在 Python 中,ord()是一个内置函数,用于将字符转换为对应的 Unicode 码点(即字符在 Unicode 编码表中的整数表示)。它是的转换工具。
2024-12-16 20:48:04
1097
原创 [Python]enumerate和zip
是 Python 内置的一个函数,用于在遍历一个可迭代对象(如列表、元组或字符串)时,同时获取元素的索引和值。对于需要在循环中访问元素和其位置的情况,提供了一种简洁明了的解决方案。返回一个,它生成一个由索引和值组成的元组。: 在有时需要通过索引引用其他数据结构的场合,enumerate使得访问索引和数值更加方便。: 避免了手动管理迭代索引,从而增强了代码的可读性。: 可以通过设置start参数,灵活调整索引的起始位置。enumerate在某些复杂数据处理场景下,结合列表解析或字典解析,enumerate。
2024-12-16 20:17:17
473
原创 自适应平均池化(nn.AdaptiveAvgPool1d)
是 PyTorch 中的一种池化层,用于在一维数据(如时间序列或特征序列)中进行自适应平均池化(Adaptive Average Pooling)。
2024-12-15 15:43:16
956
原创 HashMap的遍历,举例:HashMap<String,Integer> map
在 Java 中,遍历HashMapentrySet()是最常用的遍历方式,可以同时访问键和值。keySet()适用于当你只关心键时。values()适用于只关心值的情况。Java 8 的forEach()方法是更现代、简洁的遍历方式。使用迭代器适合需要在遍历过程中修改Map的情况。这些方法可以根据具体的使用场景来选择。
2024-12-15 12:50:31
278
原创 请求转发Forward和重定向Redirect
请求转发()和重定向()是 Web 开发中常见的两种请求处理方式,它们在行为和效果上有很大的不同。
2024-12-14 10:26:01
887
原创 Go中使用Set
创建了一个空的map,它的键是字符串类型,值是空结构体类型,用来表示集合。:向这个map中添加了一个键"hello",并将值设置为一个空结构体,表示键"hello"存在。通过这种方式,map的键"hello"被添加到集合中,但不存储任何额外的信息,仅仅表示该键的存在性。这种方式常用于实现集合(set)的功能。
2024-12-12 19:37:13
297
原创 [Python]创建列表
这些是 Python 中几种常见的创建列表的方法。最常见的方式是使用方括号直接创建,但是根据不同的应用场景,可以选择适合的方法来构建你的列表。
2024-12-12 09:23:19
432
原创 [PyTorch]传入神经网络的张量(tensor)
batch_size(批次大小):这是数据集中每个训练步骤处理的样本数。在训练神经网络时,通常会将数据分成多个小批次(batch),每次传入模型进行计算。批次大小是一个超参数,它影响训练效率和模型收敛的速度。channels(输入通道数):这是每个输入样本的通道数。channels=3channels=1在卷积神经网络中,channels对应的是输入的特征图的深度,卷积操作会在每个通道上进行。height(图像的高度):输入数据的垂直尺寸(以像素为单位),即图像的行数。width。
2024-12-11 09:58:56
228
原创 PyTorch 中用来 设置 CPU 上可用线程数 torch.set_num_threads(num)
允许用户控制 PyTorch 在执行计算时使用的 CPU 线程数。这个设置主要影响CPU 密集型计算,对GPU 计算没有影响。合理设置线程数可以帮助优化性能,特别是在资源共享或调优时非常有用。
2024-12-09 14:53:09
742
原创 查看Linux 系统中有多少个 CPU 核心
nproclscpu这些命令会告诉你系统的逻辑核心数。如果你的 CPU 支持超线程(Hyper-Threading),那么逻辑核心数通常会大于物理核心数。在设置时,你可以根据可用的 CPU 核心数量来决定。一般来说,如果你的机器有 8 个逻辑核心,你可以将num设置为 8,但具体的设置可以根据你的应用场景进行调整。
2024-12-09 14:51:32
2670
原创 @SpringBootTest注解的配置和是否使用@RunWith(SpringRunner.class)
第一段代码使用了 JUnit 4 的注解,并显式指定了启动类。第二段代码没有,这通常意味着它是用 JUnit 5 进行测试,且没有显式指定启动类,会使用默认的启动类。在JUnit 5中,你可以省略,而只使用,Spring 会自动启用相应的支持。如果你使用JUnit 4,则需要保留。
2024-12-05 20:40:47
463
原创 npm install 一直卡住,或者yarn install一直卡住,HTTPS证书验证失败
npm install 一直卡住,或者yarn install一直卡住,HTTPS证书验证失败。设置跳过HTTPS证书验证。
2024-11-30 09:41:16
154
原创 [Vue]$event变量
event是 Vue.js 提供的一个特殊变量,指向事件对象,它代表了触发当前事件的原生 DOM 事件。在事件处理方法中,可以通过$event获取与该事件相关的所有详细信息,如鼠标坐标、键盘按键值、输入框的值等。如果只关心事件的某个特定值(如输入框的内容),可以直接传递该值,而不需要传递整个事件对象,这样能让代码更简洁清晰。希望这个解释能够帮助你更好地理解$event的作用!
2024-11-21 21:28:14
650
原创 [Vue]:visible.sync
sync修饰符使得在控制对话框的显示和隐藏时更加智能,不仅控制显示,当用户关闭对话框时,isVisible会自动同步为false,而无需我们手动去更新这个值。这简化了代码并提升了可维护性。--* @Description: 登录组件--><template><el-dialog title="登录" width="300px" center :visible.sync="isLogin">
2024-11-20 15:08:56
1652
1
原创 Vue中的computed属性
计算属性computed)允许你根据现有的数据计算出新的值,并且只有当依赖的数据发生变化时才会重新计算。它是响应式的,并且自动缓存计算结果,避免了不必要的计算,提升性能。普通方法与计算属性的区别是:方法每次调用都会执行,而计算属性只有在其依赖的数据变化时才会重新计算。希望这个示例能帮助你更好地理解 Vue 中计算属性的工作原理!好的!计算属性不仅可以有get方法,还可以有set方法,这样你可以在计算属性上实现双向绑定和定制化的设置逻辑。接下来,我将通过一个例子来帮助你理解如何使用get和set。
2024-11-20 12:40:23
1015
原创 conda 在尝试访问 Anaconda 或 conda-forge 仓库时发生了 连接超时错误
重试操作,有时是临时的网络问题。使用国内镜像源,提高下载速度和稳定性。检查网络连接,确保没有网络故障。清理 conda 缓存,避免本地缓存影响操作。检查代理设置,如果你处于使用代理的网络中。如果你已经尝试了上述方法,问题仍然存在,可能需要进一步检查网络环境或联系网络管理员解决问题。
2024-11-19 11:48:34
1350
原创 [Go]汇总一下 for 和 for range 中最容易迷惑的几段代码
这段代码 for 循环不会一直循环,原因是,arr 会在 range 一个复制一份儿,这个复制体的 len 在最初的 range 中的开头已经确定是 3,后面继续追加的 arr,并不会改变这个最初读取的 len == 3 这个结果。这段代码是存在 bug 的,&v,首先,根据作用域可知道,这个 v 是 loop 级作用域,那么这个 result 中存在的&v 就是同一个值,所以这个代码是错误的。使用这种传统的 for 循环,因为 n 在循环体和循环内部都是同一个,所以循环不会结束。
2024-10-20 00:19:22
180
原创 [Go]类型嵌入来完成继承
我们可以看到,直接嵌入的时候,其实是省略了写法。s 是指针类型和值类型在调用实质上还是区别的,但是在实际使用中,并不会有什么区别,这主要还是因为要看方法是定义在值类型还是指针类型上。不过即便 s 是值的时候,people 上本身是定义在指针上的方法,那么它在底层调用的时候也势必是 *People。但是如果 s 这里是指针类型的话,那么它调用的就是 *People 的方法 +*Address 的方法。当发生嵌入类型和本类型,字段重合的时候,优先调用本类型的字段,嵌入类型的只需要加上前缀就可以了。
2024-10-19 21:34:30
255
原创 [Go]for-range 字符串
因为对一个字符串使用 range 的时候,go 默认使用 utf8 的编码方式,但是 string 的底层是[]byte 的存储方式,所以直接 range 的时候,将这个时候的字符转化为字符就会发生乱码的情况。1.直接获取 value 值。
2024-10-19 20:04:18
240
原创 [Go]切片中的 range 注意事项
并且,在 range 的时候,range 后面的数据其实也是复制品,也就是说,这里的 := range result result 也是复制品,原有的 result 如何变化都不会影响 range 结果。是会一直 range 吗?如果是函数,函数体的变量 s 和函数内部的 s 就是同一个,显然,range 中,range 后面的 s 和 range 里面的 s 并不是同一个。range 时,我们直接修改返回的值是不会生效的,因为返回的值并不是原始的数据,而是数据的复制。
2024-10-19 19:27:25
199
原创 [Go]结构体嵌套可能带来的问题
不必要的方法 嵌套整个 WaitGroup 会让 Pool 结构体拥有 Add/Done/Wait 等方法,但 Pool 可能只需要 Wait 就够了。名称冲突 如果 Pool 结构体中还定义了 Add/Done/Wait 方法,和嵌套的 WaitGroup 中的方法就会产生冲突。使结构体臃肿 嵌套整个 WaitGroup 会让 Pool 结构体看起来很臃肿,包含许多其实用不到的方法。否则,使用字段的方式可以获得必要的功能,而不引入嵌套的潜在问题。直接嵌套还是作为字段。
2024-10-19 18:34:27
185
原创 [Go]空结构体
通常,当我们需要一个临时的变量时,我们可以会想到设置一个 bool 类型,因为我们潜意识中感觉一个 bool 类型是比较小的,但是一个空的变量才是最小的,下面让我们看一个例子,这个例子发生在使用 channel 传递信息这个场景。需要注意的是,一个空的结构体,表示它类型的方式是 struct{},而使用这个空结构体的方式就是 struct{}{},前面的大括号是跟 struct 一起的整体表示空结构体,后面的大括号表示一个空结构体类型的结构体调用。
2024-10-19 15:46:02
187
原创 [Go]匿名 struct
通过这个演示我们发现,其实嵌入更像是一种语法糖,它就跟将结构体当作类型,前面的结构体字段变量跟这个类型保持一致这种操作是同样的作用,只不过直接嵌入可以将嵌入的字段当作自己的字段,省略了中间的变量罢了,它有下面的等于关系。函数也可以将指针类型当作类型以及直接嵌入,与非指针相比,我们不能直接调用嵌入的结构体的字段,因为它目前还是 nil,这个时候我们必须先将结构体初始化,然后再进行操作,下文的代码有演示。这段代码跟上文看起来很像,但是一个是将 people 直接嵌入,一个是当成了它的一个字段类型。
2024-10-19 15:05:24
212
原创 [Go]零值不可用
这个问题的解释是这样的:互斥锁是带有状态的,就是说,当你复制的时候本来是 a 的状态,然后复制过去还是 a 的状态,但是这是一个新的对象了按道理应该是初始状态,所以就会出现错误,这也是传说中的重入锁 (go 不支持),因为 go 的互斥锁是带有状态的,所以这种复制的方法就会出现错误。但是,如果对 mu 进行值的复制就不能使用了。这段代码是可以正常使用的。
2024-10-19 14:28:38
157
原创 [Go]枚举常量 iota
iota 是 go 语言的一个预定义标识符,它表示 const 声明块中,每一个常量所处位置的偏移量,它本身也是一个无类型的常量,它的初始值是 0,意思是说此处的 iota 跟第一行比偏移了 0 个位置。答案就是异类输出自己的,其它的常量不受影响,比如这里的输出就是 0 12 2 3 4 5 6,只要记住 iota 是偏移位置就可以理解为什么是这么输出的了。如果不考虑常量的灵活性,极致追求安全性,那么也可以给 iota 常量加上类型。如果要让 iota 的初始值是 1,那么可以这么做。
2024-10-19 14:20:17
202
原创 [Go]小心 shadow 的变量
在外层,a 已经提前声明,但是在 if 这个作用域中,由于 err 并未提前声明,所以使用了 :=,由于系统无法获知这里的 a 是否需要再次声明,所以 go 语言默认 a 是一个新的变量,这样外层的 a 就无法得到新的值,外层 a 也就被内层的 a 给 shadow 了。
2024-10-19 13:56:35
140
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人