- 博客(66)
- 问答 (5)
- 收藏
- 关注
原创 2024-7-2
2.application.yml有许多个,注意自己需要打包的是什么环境,如果是dev环境,那么修改相关的配置应该动application-dev.yml文件。3.一般install打包和别的微服务交互用的就是facade文件夹,打包facade到别的项目的maven本地仓库就可以像使用本地jar包一样使用了。1.测试的时候,可以连接sit数据库做数据测试,同时可以使用idea的数据库连接工具连接到一个本地的数据库,做数据的存储工作。4.使用代码生成器注意注释掉相关不需要的代码,以免发生文件覆盖。
2024-07-02 10:34:00 127 1
原创 2024-6-25
2.屏蔽多个接口的差异,访问同一层微服务,可以使用Map的属性,可以处理多种不同请求参数的请求;同时,可以使用字符串拼接的方式,将处理后的响应输出到不同的目的地(or进一步调用不同的第三方接口)。3.JDK的不同选择会影响maven依赖的正常使用,以及项目打包等,也就是说选择错了JDK版本这个低级错误,可能会引发一些莫名其妙的问题。4.Feign使用方式:消费者直接@Autowired注入Feign接口,便可以通过.方法的方式对注册的接口进行使用。
2024-06-25 19:51:31 178
原创 2024-6-24(沉默Netty,MongoDB)
Redis 的 String 是动态的,可以修改的。Redis 的 String 在内部结构实现上类似于 Java 的 ArrayList,采用预分配冗余空间的方式来减少内存的频繁分配。MongoDB 将数据存储为一个文档(类似于 JSON 对象),数据结构由键值对组成,类似于 Java 中的 Map,通过 key 的方式访问起来效率就高了。Netty 是一个基于 JAVA NIO 类库的异步通信框架,它的架构特点是:异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性。
2024-06-24 17:29:10 512
原创 2024-6-20(沉默Springboot)
内部通过 TaskQueue 的类来存放定时任务,用起来比较简单,但缺陷比较多,比如说一个 Timer 就会起一个线程,任务多了性能就非常差,再比如说如果执行任务期间某个 TimerTask 耗时比较久,就会影响其他任务的调度。:一个后端程序员写了一个登录接口,想要测试自己写的接口是否符合预期的话,就得先模拟用户登录的行为,包括正常的行为(输入正确的用户名和密码)和异常的行为(输入错误的用户名和密码),这就要命了。的轻量级定时任务工具,也就意味着不需要再添加第三方依赖了,相比其他第三方类库更加方便易用。
2024-06-20 16:50:17 663
原创 2024-6-19(沉默springboot)
前面的Spring中既支持编程式事务,也支持声明式事务(@Transactional),在springboot中,就直接用@Transactional声明式事务吧。在编程式事务中,必须在每个业务操作中包含额外的事务管理代码,就导致代码看起来非常的臃肿,但对理解 Spring 的事务管理模型非常有帮助。声明式事务将事务管理代码从业务方法中抽离了出来,以声明式的方式来实现事务管理,对于开发者来说,声明式事务显然比编程式事务更易用、更好用。编程式事务比声明式事务控制的颗粒度更细。事务在逻辑上是一组操作,
2024-06-19 16:52:24 805
原创 2024-6-18(沉默Spring,Springboot)
如果让我们来实现,或许三五行就能搞定,但是我们实现的不完善、不完整、不严谨,总之不高大上,所以它写三五十行,把框架设计的尽可能的完善,提供了丰富的支持,满足不同用户的需求,才能占领更大的市场啊。Spring Data 是 Spring 提供的一个操作数据的框架,Spring Data JPA是 Spring Data 下的一个基于 JPA 标准的操作数据的模块。而说到底,底层的原理并没有很复杂,只是为了提高扩展性、兼容性,Spring 提供了丰富的支持,所以才觉得源码比较难。Spring 也是用的。
2024-06-18 17:14:10 361
原创 2024-6-17(沉默JVM,Spring)
要想使用反射,首先需要获得反射类的 Class 对象,每一个类,不管它最终生成了多少个对象,这些对象只会对应一个 Class 对象,这个 Class 对象是由 Java 虚拟机生成的,由它来获悉整个类的结构信息。Class 对象中包含了与类相关的很多信息,如类的名称、类的父类、类实现的接口、类的构造方法、类的方法、类的字段等等。,因为项目中每次创建对象是很麻烦的,所以我们使用 Spring IoC 容器来管理这些对象,需要的时候你就直接用,不用管它是怎么来的、什么时候要销毁,只管用就好了。
2024-06-17 19:09:55 1022
原创 2024-6-14(沉默Nginx)
例如,有10w个请求访问百度,但是如果全部压到一台服务器上,可能导致把服务器压垮,这个时候,反向代理就是均衡的让这10w个请求分散到不同服务器上,这就是反向代理。服务器 C 更弱,权重就最小,让 1 万个请求访问它。我们可以根据一些规则,把动态资源和静态资源分开,然后通过 Nginx 把请求分开,静态资源的请求就不需要经过 Web 服务器处理了,从而提高整体上的资源的响应速度。正向代理:浏览器是无法直接访问谷歌的,但香港的代理服务器是可以访问谷歌的,于是访问了香港的代理服务器,也就间接地访问了谷歌。
2024-06-14 19:14:16 480
原创 2024-6-13(沉默Java)
NIO(New I/O)的设计目标是解决传统 I/O(BIO,Blocking I/O)在处理大量并发连接时的性能瓶颈。(来到厨房,开始烧水,我们不一直坐在水壶前面等,也不隔一段时间去看一下,而是在客厅看电视,水壶上面有个开关,水烧开之后他会通知我)。BIO (Blocking I/O,就是JDK1.4之前的传统I/O形式):同步阻塞 I/O 模式。采用阻塞式 I/O 模型,线程在执行 I/O 操作时被阻塞,无法处理其他任务,适用于连接数较少且稳定的场景。NIO (New I/O):同步非阻塞模式。
2024-06-13 16:35:10 810
原创 2024-6-12(沉默JavaIO,Java异常)
Java 的缓冲流是对字节流和字符流的一种封装,通过在内存中开辟缓冲区来提高 I/O 操作的效率。缓冲流的工作原理是将数据先写入缓冲区中,当缓冲区满时再一次性写入文件或输出流,或者当缓冲区为空时一次性从文件或输入流中读取一定量的数据。这样可以减少系统的 I/O 操作次数,提高系统的 I/O 效率,从而提高程序的运行效率。Error 的出现,意味着程序出现了严重的问题,而这些问题不应该再交给 Java 的异常处理机制来处理,程序应该直接崩溃掉,这种错误的出现,对于程序来说是致命的。常用来处理文本信息。
2024-06-12 16:52:57 709
原创 2024-6-11(Java王二)
Stack 是 Vector 的一个子类,本质上也是由动态数组实现的,只不过还实现了先进后出的功能(在 get、set、add 方法的基础上追加了 pop「返回并移除栈顶的元素」、peek「只返回栈顶元素」等方法),所以叫栈。PriorityQueue 是一种优先级队列,它的出队顺序与元素的优先级有关,执行 remove 或者 poll 方法,返回的总是优先级最高的元素。实现的双端队列,为了满足可以同时在数组两端插入或删除元素的需求,数组必须是循环的,也就是说数组的任何一点都可以被看作是起点或者终点。
2024-06-11 16:27:00 971
原创 5.14(Vue2)
原因:当路由被跳转后,原来所看到的组件就被销毁了(会执行组件内的beforeDestroy和destroyed生命周期钩子),重新路由到该组件后,该组件有会被重新创建(会执行组件内的beforeCreate,created,beforeMount,Mounted生命周期钩子)解决方法:利用keep-alive把原来的组件给缓存下来,keep-alive是Vue的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。页面组件:src/views文件夹,页面组件,用于页面展示,配合路由使用。
2024-05-14 15:18:38 360
原创 2024-5-6(Vue)
1)构建用户界面:基于数据渲染出用户可以看到的界面2)渐进式:循序渐进,不用非得把Vue中所有的API学完才能开发Vue,可以学一点开发一点3)框架:就是一套完整的解决方案举个例子:如果把一个完整的项目比喻为一个装修好的房子,那么框架就是一个毛坯房。我们只需要再毛坯房的基础上,增加功能代码即可。说到框架,就不得不说库:-- 库,类似工具箱,是一堆方法的集合,比如:axios,lodash,echarts等-- 框架,是一套完整的解决方案,实现了大部分功能,我们只需要按照一定的规则去编码即可。
2024-05-06 17:11:55 1062
原创 Vue踩坑,less与less-loader安装,版本不一致
1) npm uninstall less与 npm uninstall less-loader。3) OK,启动vue项目。
2024-05-05 18:24:35 1209 1
原创 2024-04-22(AJAX)
使用浏览器的XMLHttpRequest对象和服务器进行通信浏览器网页中,使用Ajax技术(XMLHttpRequest对象)发起获取服务器数据的请求,服务器将数据给前端,前端拿到数据后,展示到网页。事件委托,会把一个或者一组元素的事件委托到它的父层或者更外层元素上,真正绑定事件的是外层元素,而不是目标元素。当事件响应到目标元素上时,会通过事件冒泡机制从而触发它的外层元素的绑定事件上,然后在外层元素上去执行函数。
2024-04-22 17:39:51 1198
原创 2024-04-09(CSS移动Web+JS进阶)
keyframes 动画name{from {}to {}//方式2@keyframes 动画name{0% {}10%{}......100% {}使用动画,animation:动画名称 花费动画时长。
2024-04-09 17:37:35 452
原创 2024-04-08(CSS,JS)
例如:浮动布局需要编程者自己计算同一行块元素的外边距,而Flex布局只需要设置好属性就自动帮编程者计算,并排布好同一行的块元素。侧轴对齐方式:align-items:弹性容器内所有弹性盒子侧轴对齐。也称弹性布局,是浏览器提倡的布局模型,适合结构化布局,并且不会产生浮动布局中脱标的现象。指的是标签在页面中默认的排布规则,例如块元素独占一行,行内元素可以一行显示多个。虽然浮动可以解决多个块元素共存一行的问题,但是也会有非常不好的影响。设置方式:给父元素display:flex,子元素可以自动挤压或者拉伸。
2024-04-08 17:29:14 814
原创 2024-04-07(复盘前端)
通配符选择器:(*),用于把页面的所有标签设置为相同的样式,一般用于清除标签的默认样式,如标签默认的外边距,内边距。标签选择器:使用标签名作为选择器,选中同名标签就设置为相同的样式,所以无法差异化的设置同名标签的显示效果。定义列表:dl嵌套dt和dd,dt是定义列表的标题,dd是定义列表的描述/详情。类选择器:通过类名来查找标签,可以差异化的设置标签的显示效果(.类名的方式)特点:一行可以显示多个,设置宽高属性生效,宽高尺寸也可以由内容撑开。特点:一行可以显示多个,设置宽高属性不生效,宽高尺寸由内容撑开。
2024-04-07 18:10:03 418
原创 2024-04-02(js)
1.将函数A作为参数传递给函数B,称A为回调函数2.插件:就是别人写好的一些代码,我们只需要复制对应的代码,就可以直接实现对应的效果3.js是一种单线程语言,同一时间只能做一件事4.js先执行完所有的同步任务,然后再按照顺序读取任务队列中的异步任务5.本地存储:基于网页的应用越来越普遍,同时也变得越来越复杂,为了满足各种需求,会经常性的在本地存储大量的数据,H5提出解决方案:1.数据存储在用户的浏览器中;2、设置读取方便,甚至刷新页面也不会丢失数据,3.容量也比较可以,sessionSto
2024-04-02 16:42:56 272
原创 2024-3-13,14(CSS)
通配符选择器 < 标签选择器 < 类选择器 < id选择器 < 行内选择器 子代选择器 {CSS属性},父子之间用>隔开。优先级:当一个标签使用了多种选择器时,基于不同种类的选择器的匹配规则。写法:父选择器 子选择器 {CSS属性},父子之间用空格隔开。相同的属性会覆盖:后面的CSS属性覆盖前面的CSS属性。:选中某个元素的子代元素(最近的儿子):选中某个元素的所有后代元素。
2024-03-14 09:26:19 531
原创 2024-03-11,12(HTML,CSS)
标签:dl嵌套dt和dd,dl是定义列表,dt是定义列表的标题,dd是定义列表的描述或者详情。dl里面只能由dt和dd,dt和dd里面可以有任何东西层叠样式表(Cascading Style Sheets,缩写为CSS),是一种样式表语言,用来描述HTML文档的呈现(美化内容)书写位置:title标签下方添加style双标签,style标签里面书写CSS代码CSS引入方式:内部样式表:学习使用:CSS代码写在<style>标签里面外部样式表:开发使用CSS代码写在单独的CSS文件中.css。
2024-03-12 17:51:55 907
原创 2024-03-05(反欺诈风控)
缺失值处理方法一般可分为:删除、统计值填充、统一值填充、前后向值填充、插值法填充、建模预测填充和具体分析7种方法。1.一般来说,未经处理的原始数据中通常会存在缺失值、离群值等,因此在。
2024-03-05 10:03:21 442
原创 2024-03-04(反欺诈风控)
当我们进行分类任务时,新的输入样本进入,就让森林中的每一棵决策树分别进行判断和分类,每个决策树会得到一个自己的分类结果,决策树的分类结果中哪一个分类最多,那么随机森林就会把这个结果当做最终的结果。8.1)ID3:根据信息增益来得到一棵树,训练得到的是一棵庞大并且深度很浅的树---->不合理,非二叉树,仅分类。8.2)C4.5:根据信息增益率来替代信息增益得到一棵树,非二叉树,仅分类。基础特征构造,数据预处理,特征衍生,特征变换,特征筛选。3)选取合适的样本,并匹配出全部的信息作为特征的来源。
2024-03-04 17:32:06 444
原创 2024-03-01(金融AI行业与大数据生态圈)
逻辑回归:变量乘以系数再经过一个类似于sigmoid的函数。决策树的生成只考虑局部最优,剪枝考虑全局最优。线性回归:变量乘以系数。
2024-03-02 19:55:53 384
原创 2024-02-29(Flink)
on yarn版:每个TaskManager是一个JVM进程,为了控制一个TaskManager(worker)能接收多少task,Flink通过Task slot来进行控制。TaskSlot数量是用来限制一个TaskManager工作进程中可以同时运行多少个工作线程,TaskSlot是一个TaskManager中的最小资源分配单位,一个TaskManager中有多少个TaskSlot就意味着能支持多少并发的Task处理。前面的Task Slot跑完一些线程任务之后,Task Slot可以给其他线程任务使用
2024-02-29 16:46:03 1178
原创 2024-02-28(Kafka,Oozie,Flink)
Apache Flink 是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink 被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。批处理的特点是有界、持久、大量,批处理非常适合需要访问全套记录才能完成的计算工作,一般用于离线统计。流处理的特点是无界、实时,流处理方式无需针对整个数据集执行操作,而是对通过系统传输的每个数据项执行操作,一般用于实时统计。在 Spark 生态体系中,对于批处理和流处理采用了不同的技术框架,
2024-02-28 17:14:21 968
原创 2024-02-27(Kafka)
安装kafka集群,可以测试如下: 创建一个topic主题(消息都是存放在topic中,类似mysql建表的过程) 基于kafka的内置测试生产者脚本来读取标准输入(键盘输入)的数据,并放入到topic中 基于kafka的内置测试消费者脚本来消费topic中的数据推荐在开发中使用kafka tool 浏览kafka集群节点,多少个topic,多少个分区 创建topic/删除topic 浏览Zookeeper中的数据Kafka
2024-02-27 17:45:21 1334
原创 2024-02-26(金融AI行业概览与大数据生态圈)
大部分的公司都使用的是反欺诈规则,这也是主要提倡的。因为所谓欺诈,就是一些黑产或者个人将自己包装成信用良好的用户,进行借款后失联或者拒不还钱,既然都伪装成了好客户,基于风控人员主观思考建立的统计模型,又怎么可能有好的效果,但是经过一段时间的实验,这一块其实用深度学习反而有意想不到的效果,基本思想可以理解为,简单评分卡解释性强,带来的坏处就是可以被逆向破解,而复杂模型的黑箱操作虽然解释性差,却有一定的安全性,尤其是搭配了在线学习等动态手段之后。这里主要的算法就是催收模型相关的,可能是监督、无监督算法。
2024-02-26 23:50:18 740
原创 2024-02-26(Spark,kafka)
1)SparkSQL和Hive都是用在大规模SQL分布式计算的计算框架,均可以运行在YARN上,在企业中被广泛应用。2)SparkSQL的数据抽象为:SchemaRDD(废弃),DataFrame(Python,R,Java,Scala),DataSet(Java,Scala)3)DataFrame同样是分布式数据集,有分区可以并行计算,和RDD不同的是,DataFrame中存储的数据结构是以表格形式组织的,方便进行SQL运算。
2024-02-26 15:20:54 1483 1
原创 2024-02-24(反欺诈风控场景入门随意了解)
1.第一方欺诈:我就是“我”,恶意骗贷2.第三方欺诈:我不是“我”,身份伪冒,盗用账户,团伙欺诈3.申请欺诈:身份伪冒,中介包装,黑产4.交易欺诈:账户盗用,养卡,套现。
2024-02-24 13:53:59 508
原创 2024-02-23(Spark)
使用场景:有时候一个Executor会处理多个分区数据,这些分区数据是接受相同的数据的,这个时候就不需要数据源一一给这些分区发一份分区数据了,只需要给这个Executor发一份数据就好,其所管辖的分区共享这份相同的数据。可以节约资源,降低IO,节约内存。1.Spark的算子十分丰富,MapReduce算子匮乏(Map和Reduce),MapReduce这个编程模型,很难在一套MR任务中处理复杂的任务,很多复杂的任务,是需要写多个MapReduce进行串联,多个MR串联通过磁盘交互数据。
2024-02-23 17:30:36 1154
原创 2024-02-22(Spark)
RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,代表一个不可变,可以分区,里面的元素可以并行计算的集合。Dataset:一个数据集合,用于存放数据的(本地集合是本进程集合,RDD是跨越机器的,因此RDD集合是跨进程集合)Distributed:RDD中的数据是分布式存储的,可用于分布式计算。(RDD的数据是跨越机器存储的/跨进程)Resilient:RDD中的数据可以存储在内存中或者磁盘中。
2024-02-22 17:38:54 1126
原创 2024-02-21(Spark)
4040:是一个运行的Application在运行的过程中临时绑定的端口,用以查看当前任务的状态。4040被占用会顺延到4041,4042等。4040是一个临时端口,当前程序运行完成后,4040就会被注销。4040和Driver相关联,一个Driver启动起来,一个4040端口就被绑定起来,并可以查看该程序的运行状态。8080:默认情况是StandAlone下,Master角色(进程)的WEB端口,用以查看当前Master(集群)的状态。(Driver和Master是两个东西,Master进程用于管理集群,
2024-02-21 16:30:58 1203
原创 2024-02-20(DataX,Spark)
Spark对任意的数据类型都能进行自定义的计算,Spark可以计算结构化,半结构化,非结构化等各种类型的数据结构,同时,还支持Python,Java,Scala,R以及SQL语言去开发应用程序计算数据。Spark仅作计算,而Hadoop生态圈不仅有计算(MR)也有存储(HDFS)和资源管理调度(YARN),HDFS和YARN仍是许多大数据体系的核心架构。核心SparkCore,SQL计算(SparkSQL),流计算(SparkStreaming),图计算(GraphX),机器学习(MLlib)
2024-02-20 17:18:08 1151
原创 2024-02-08(Flume)
进行以上图片中的数据流向的流程(不同的搭配,组合),只需要在相应组件的配置文件中,配置好入口,出口,相关操作类型。场景:企业中应用程序部署后会将日志写入到文件中,我们可以使用Flume从各个日志文件将日志收集到日志中心以便于查找和分析。(也可以进行多日志文件的监控)可以将多个Flume agent程序连接在一起,其中一个agent的sink将数据发送到另一个agent的source。(我们只需要在对应的Source配置文件中配置好相关需求,组件就可以根据我们配置的内容去达到我们需要的要求)
2024-02-08 14:28:15 1163
原创 2024-02-07(Sqoop,Flume)
Flume是一个分布式、高可用、高可靠的海量日志采集、聚合和传输的系统,支持在日志系统中定制各类数据发送方,用于收集数据,同时提供了对数据进行简单处理并写到各种数据接收方的能力。Flume的设计原理是基于数据流的,能够将不同数据源的海量日志数据进行高效收集、聚合、移动,最后存储到一个中心化数据存储系统中。Flume能够做到近似实时的推送,并且可以满足数据量是持续并且数量级很大的情况。
2024-02-07 17:43:29 2595
原创 2024-02-06(Sqoop)
在sqoop命令中,就是--query命令参数,实际上就是执行了一个sql语句。如果表的数据比较大,可以并行启动maptask执行导入操作,如果表没有主键,请指定根据哪个字段进行切分。从RDBMS导入到HDFS,表中的每一行视为HDFS的记录,所有的记录都存储为文本文件的文本数据。注意事项:命令携带的参数必须出现在同一行,若换行就意味着自动提交执行,可以通过"\"表示未结束。Sqoop可以理解为:SQL到Hadoop,Hadoop到SQL。Hadoop生态包括:HDFS,Hive,Hbase等。
2024-02-06 17:44:03 1296
原创 2024-02-05(Hive)
简单来说,就是借助BI工具,可以完成复杂的数据分析、数据统计等需求,为公司决策带来巨大的价值。通过ETL操作讲HDFS中的表进行数据清洗和过滤,生成新的表,然后利用BI工具,将新的表进行可视化展示。从一张表查询数据进行数据过滤和转换,并将结果写入到另外一张表中的操作,本质上就是一种简单的ETL行为。num(k|m|g):表示抽取num大小的数据,单位可以是k,m,g表示kb,mb,gb。从A抽取数据(E),进行数据转换过滤(T),将结果加载到B(L),就是ETL。y:表示将表数据随机划分为y份(y个桶)
2024-02-05 17:57:30 770
原创 2024-02-04(hive)
需要insert select触发MapReduce进行hash取模计算,来基于分桶列的值,确定哪一条数据进入到哪一个桶文件中。分区表可以极大的提高特定场景下Hive的操作性能。分区其实就是HDFS上的不同文件夹。分桶表本质上是数据分开在不同的文件中。选择一个字段作为分桶字段。可以选择字段作为表分区。分区和分桶可以同时使用。
2024-02-04 18:00:56 725
空空如也
mac配置vagrant虚拟ip地址
2023-08-06
mac系统运行项目出现jsp无法访问的问题
2022-06-16
mac redis安装成功无法启动
2021-12-25
yolov5下载之后运行train.py出现问题
2021-11-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人