- 博客(17)
- 收藏
- 关注
原创 强化学习入门
只作为参考,不是本文重点,了解即可机器学习大致可以分类三大类:“对邮政编码中的手写数字进行分类”是一种监督学习。邮政编码分类系统将每个数字的手写图像分类为0~9中的一个。诸如0到9的数据的分类目标被称为标签或类。这种系统被称为监督学习,因为给事先提供的训练数据预先标记出了正确的标签。换句话说,带标签的训练数 据成了系统的教师。监督学习包括学习阶段和推理阶段。用一个词表达非监督学习就是“分组”。它将大量数据中类似的数据分为一组(称为聚类)。例如,“根据购买数据对客户进行分组的系统”是非监督学习。
2024-01-18 16:38:40
958
1
原创 神经网络学习入门(二)
函数的极小值、最小值以及被称为鞍点(saddle point)的地方, 梯度为 0。极小值是局部最小值,也就是限定在某个范围内的最 小值。鞍点是从某个方向上看是极大值,从另一个方向上看则是 极小值的点。虽然梯度法是要寻找梯度为 0的地方,但是那个地 方不一定就是最小值(也有可能是极小值或者鞍点)。此外,当函 数很复杂且呈扁平状时,学习可能会进入一个(几乎)平坦的地区, 陷入被称为“学习高原”的无法前进的停滞期。
2023-09-01 15:36:32
211
1
原创 神经网络学习入门(一)
感知机是由美国学者Frank Rosenblatt在1957年提出来的。为何我们现在还要学习这一很久以前就有的算法呢?因为感知机也是作为神经网络(深度学习)的起源的算法。因此,学习感知机的构造也就是学习通向神经网络和深度学习的一种重要思想。感知机是具有输入和输出的算法。给定一个输入后,将输出一个既 定的值。• 感知机将权重和偏置设定为参数。• 使用感知机可以表示与门和或门等逻辑电路。• 异或门无法通过单层感知机来表示。• 使用2层感知机可以表示异或门。
2023-08-31 17:11:18
137
1
原创 如何凭借spring的spi机制制作自己的starter
Service Provider Interface(SPI) 是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。通俗来讲spi就是就是一种为了拓展而对外提供的约定,在java中 spi可以分为jdk提供的spi和spring提供的spi。数据库驱动接口由jdk提供,而实现由具体的数据库厂商提供,这就是依托的jdk提供的spi。
2022-10-24 16:22:48
372
原创 记一次简单的开源项目二次开发上传中央仓库的过程
最近爆发了一个线上问题,最终经定位后发现原因是引入的三方工具jpinyin在加载拓展字典时异常。奇怪,本地开发的时候是没有问题的,为什么上了服务器就出问题了呢?问题就出在下面这两句代码当我们在本地开发时,在resource目录下创建的drug_mutil_pinyin.dic文件是能被正常读取加载的,但是在服务器上运行时是打成的jar包,这时候获取到的resource目录是一个指向jar包内文件的路径,jpinyin加载外部字典的方法就会失效。我们查看一下工具包源码。
2022-10-20 08:34:51
807
1
原创 mysql-索引
索引是帮助MySql高效获取数据的数据结构。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。...
2022-08-02 15:48:22
969
原创 分布式事务
上一篇《数据库事务,spring事务》我们讲到从数据库事务到spring事务的演变以及原理和使用,spring事务已经能够满足单连接情况下的事务要求,但是在多线程场景(不同线程使用不同的数据库连接),或者微服务场景(多个服务各自使用不同的数据库)时显得力不从心,这时候我们需要引入另外一个东西来处理这些场景-----分布式事务。以下标准解决方案基础知识参考了两篇不错的帖子,感兴趣的朋友可以查看原贴分布式事务六种解决方案分布式事务解决方案汇总。...............
2022-07-26 22:38:27
536
原创 数据库事务,spring事务,分布式事务
隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。如果不考虑隔离性,会发生什么事呢?1.脏读脏读是指一个事务在处理数据的过程中,读取到另一个未提交事务的数据。2.不可重复读不可重复读是指对于数据库中的某个数据,一个事务范围内的多次查询却返回了不同的结果,这是由于在查询过程中,数据被另外一个事务修改并提交了。不可重复读和脏读的区别是,脏读读取到的是一个未提交的数据,而不可重复读读取到的是另一个事务提交的数据。............
2022-07-22 16:51:30
633
原创 Thread.interrupt 线程中断
最近在看B站小灰灰的多线程篇(想灵活运用多线程的大家也可以去B站学习哟),讲到了中断,中断这个概念给我的感觉一直很模糊,那我们就顺着小灰灰的教学思路一起探讨一下这个玩意儿吧。 我们在使用CompleteFuture时获取执行结果时候有两个方法,一个是get(),一个是join()。get会要求客户端程序员强制捕获异常,我们在调用线程的sleep方法时也会抛出相同的异常,这个异常就是 InterruptedException 中断异常 那么什么是 InterruptedExcep
2022-07-14 17:49:11
388
原创 CompleteFuture的 join方法会阻塞主线程,使用小心
今天发现一个关于CompleteFuture的疑问,按道理join方法会阻塞,但是发现并不会,参加如下:结果如下,按道理总时间应该为task1 + taks2+ task3 结果却发现代码照样异步执行?具体是什么原因呢?欢迎大家指正.........
2022-07-13 18:24:51
7570
1
原创 用户手抖,连续点了两次?优雅解决表单重复提交
在项目中,用户在操作某些重要操作时,经常会出现手抖,导致重复提交,该怎么处理呢? 我的答案是交给前端,用户提交的时候禁用按钮,等接口返回后再启用。 哈哈,开个玩笑,今天给大家示范一下后端如何处理。 首先通常我们为何要避免表单重复提交?这其实跟接口幂等有关,既然说到这里,那么我们就来回顾一下什么是接口幂等吧! 一个接口多次调用而没有副作用,那么我们称之为接口幂等。所谓没有副作用简单来讲就是一个接口被执行多次数据不会乱。每次返回的结果都一致。 基
2022-07-11 10:27:38
2001
1
原创 合理使用gateWay过滤器,实现Concroller自动注入用户信息
在日常开发中,经常我们需要在请求controller时传递用户信息。那么有没有一种方式可以让我们的程序在用户登录后自动向controller接口中注入用户用户信息呢? 答案是yes!!!现在我们来看看博主当前的项目是如何实现的吧! 1.首先登录时,账号密码校验通过后生成一个token,并将用户基本信息存入redis。将key返回给前端 2.前端收到后将当前用户的token缓存起来,每次像后台发请求时在header中携带token。 3.重点来了,在ga
2022-07-09 15:38:09
1077
原创 一次千万级别数据的报表查询方案优化
博主现在所在的公司是做医疗SAAS服务的,因为面向的是客户,所以在做进销存的时候会产生大量的数据。导致查询非常耗时,轻则服务响应超时,严重甚至导致数据库任务阻塞,资源耗尽宕机。 需求就是查询指定时间期间内期初,期出入库,期末,的出入库数据以及对应时间点的成本本等信息。 我们来看看博主接手之前的处理方案 第一版的同事最初写需求是用的常规处理办法, 根据出入库数据推导得来。这种方案在数据量不大的单体应用上时没有问题的。但是因为是saas,一个诊所的出入
2022-07-09 11:35:06
1819
原创 记一次工厂模式+策略模式实践以及遇到的坑
场景: 最近接到个excel导入需求,excel文件类型分为中药,西药,输液,材料等,后续可能会增加更多的类型。不通的excel类型对应不同的校验以及处理逻辑,寻思着使用策略吧。将不同的处理逻辑分别放在不同的策略类中(保持代码的整洁),提供一个策略工厂,凭借spring的注入干掉策略选择(干掉策略选择的if 和else)。废话不多说,直接上代码: 策略接口: 重点关注 getType 接口,此处是后续能够干掉策略选择的关键 中药cecel导入策略实现类:
2022-07-06 15:09:12
408
原创 使用docker搭建Redis-cluster伪集群
4.在服务器创建各实例对应的目录空间以及log日志文件,并将配置文件拖入对应的文件夹下面(后面将在启动docker容器时做文件挂载)5.查看docker 网络6.因为docker容器创建的应用会默认使用 bridge,但是每次重启docker此网络的ip会动态变更,因此需要我们自己手动创建一个固定的networkdocker network create -d bridge --subnet 172.72.0.0/16 --gateway 172.72.0.1 mybridge7.查看上一步创建的docke
2022-07-04 11:31:59
529
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人