阿里云博客收录
文章平均质量分 74
阿里云博客收录专栏
白木Channel
热爱写作,热衷技术,喜欢分享有趣好玩的计算机知识。掘金优质创作者,知乎优质答主,CSDN优质博主,阿里云专家博主,华为云云享专家
展开
-
笔记汇总 | 斯坦福 CS229 机器学习
本文为斯坦福大学 2014 秋季 CS229 机器学习课程学习笔记本文主体部分转载自黄海广博士,文末已给出,大家有兴趣可以直接访问笔记首页,下载对应课程资料及作业代码。原创 2023-08-03 16:39:58 · 850 阅读 · 0 评论 -
线性代数 | 机器学习数学基础
线性代数(linear algebra)是关于向量空间和线性映射的一个数学分支。它包括对线、面和子空间的研究,同时也涉及到所有的向量空间的一般性质。本文主要介绍机器学习中所用到的线性代数核心基础概念,供读者学习阶段查漏补缺或是快速学习参考。原创 2023-08-02 14:36:29 · 1062 阅读 · 3 评论 -
【全方位解析】如何获取客户端/服务端真实 IP
一般的客户端(例如浏览器)发送HTTP请求是没有X-Forwarded-For头的,当请求到达第一个代理服务器时,代理服务器会加上X-Forwarded-For请求头,并将值设为客户端的IP地址(也就是最左边第一个值),后面如果还有多个代理,会依次将IP追加到X-Forwarded-For头最右边,最终请求到达Web应用服务器,应用通过获取X-Forwarded-For头取左边第一个IP即为客户端真实IP。这种方式能获取到连接服务器的客户端IP,在中间没有代理的情况下,的确是最简单有效的方式。原创 2023-07-24 13:28:19 · 3101 阅读 · 0 评论 -
【全面解析】Windows 如何使用 SSH 密钥远程连接 Linux 服务器
Host 远程主机别名,HostName 远程主机IP或域名,Port ssh端口,User 登录用户,IdentityFile 密钥文件位置。注意:也可以在 windows 端生成密钥,只需要保证公钥在服务器端,私钥在本地端即可。路径下生成公钥(id_rsa.pub)和私钥(id_rsa),之后一直按Enter即可,这样会在将在。linux 服务器端的终端中执行命令。路径下执行以下命令,在服务器上安装公钥。修改文件权限,只允许文件拥有者读写。windows 端 编辑。本文由博客一文多发平台。原创 2023-07-20 22:40:29 · 1638 阅读 · 0 评论 -
【全方位解析】如何写好技术文章
技术成长:相对于庞大的计算机领域的知识体系,人的记忆还是太有限了,而且随着年龄的增大,记忆同样也会逐渐衰退,正如俗话所说“好记性不如烂笔头”。并且在分享博客的过程中,我们也可以和大神交流,进而发现自己的认知错误,纠正知识体系。最后最重要的就是通过记录博客,我们可以及时总结归纳,通过写作来梳理思路,查漏补缺。增大影响力:在当今世界,如果要谈论什么最有价值的东西,那无疑是影响力。网红和明星之所以能赚大钱,就是因为他们拥有巨大的影响力。在这个竞争激烈的时代,拥有强大的影响力的人,就是真正的胜利者。原创 2023-07-19 21:47:33 · 1233 阅读 · 0 评论 -
如何优雅提交 Git Commit Message
commitizen git commit 格式化工具, 为我们提供标准化的 commit 信息。帮助我们统一项目commit , 便于信息的回溯或日志的生成。# commit message 格式commitizen 只是提供一个commit 格式化或交互工具, 最终需要输出符合 commit 规则的信息给 git, 所以需要线了解 commit 格式规则如果 Angular 的规范不符合我们的实际,同样我们也可以通过定制一套符合自己或者团队的规范。同时package.json需要修改。原创 2023-05-23 23:32:03 · 447 阅读 · 0 评论 -
配置工具篇(tmux+ranger+lazygit)
官方解释:ranger是一个带有VI密钥绑定的控制台文件管理器。它提供了一个简洁美观的curses界面,并提供了目录层次结构视图。它配备了rifle,这是一种文件启动器,能够自动找出要用于何种文件类型的程序。官方解释:git命令的简单终端UI,使用gocui库在Go中编写。原创 2023-05-23 22:36:57 · 1060 阅读 · 0 评论 -
『Neovim』配置教程
Neovim 个人配置学习笔记原创 2023-05-13 09:05:10 · 6074 阅读 · 0 评论 -
『Android』如何配置 Jetpack-Compose 环境
但是,这里为这些插件指定版本号是有用的,因为在子项目中应用这些插件时,Gradle 将会根据指定的版本号下载和使用相应的插件。如果不指定版本号,Gradle 将会默认使用最新版本的插件,这可能会导致不可预期的问题。第二种方式虽然也能实现同样的功能,但是需要指定更多的插件,并且代码看起来比较冗长。注意:里面的kotlin版本需要和自己的 gradle 版本 对应的Compose Complier版本适配,如果不适配,build时会提示适配版本,然后改为相应版本即可。命名空间下的插件,所以可以省略命名空间。原创 2023-04-07 22:58:20 · 527 阅读 · 0 评论 -
flink配置文件说明
代码】flink配置文件说明。转载 2022-08-10 16:14:10 · 1143 阅读 · 0 评论 -
flink1.13+ 集成hadoop 遇到问题及解决方法
问题1:在 Flink 1.11.0 版本之后,增加了很多重要新特性,其中就包括增加了对 Hadoop3.0.0 以及更高版本 Hadoop 的支持,不再提供“flink-shaded-hadoop-*”jar 包,而是通过配置环境变量完成与 YARN 集群的对接。在将 Flink 任务部署至 YARN 集群之前,需要确认集群是否安装有 Hadoop,保证 Hadoop版本至少在 2.2 以上,并且集群中安装有 HDFS 服务。...转载 2022-08-11 20:25:51 · 2769 阅读 · 0 评论 -
『Linux』scp 文件传输命令详解
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名。第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名。-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。.........原创 2022-08-13 18:46:58 · 4147 阅读 · 0 评论 -
『SpringBoot』如何配置国际化
从上面的AcceptHeaderLocaleResolver 方法,返回的LocaleResolver 的逻辑可知,我们最终会得到AcceptHeaderLocaleResolver,这样根据请求对象中的请求头中的Accept-Language属性,来返回Locale 区域对象的 LocaleResolver。5、当属性值为fixed,应该搭配spring.web.locale、spring.mvc.locale 这两个配置属性一起使用,给出固定的Locale 区域对象。就会继续执行最下面的部分。.....原创 2022-08-29 08:44:02 · 1732 阅读 · 0 评论 -
『SpringBoot』静态资源映射方式
自定义一个WebMvcConfig继承WebMvcConfigurationSupport/*** 添加静态资源映射*/@Override// "/backend/**" 表示/backend下的所有文件夹及其子文件夹}}输入即可访问。原创 2022-08-30 07:58:15 · 1553 阅读 · 0 评论 -
『SpringBoot』拦截器和过滤器详解
在项目的开发中,在某些情况下,我们需要对客户端发出的请求进行拦截,常用的API拦截方式有Fliter,Interceptor,ControllerAdvice以及Aspect。请求从Filter-->>Controller的过程中,只要在指定的环节出现异常,可以通过对应的机制进行处理。反之在任何一个环节如果异常未处理则不会进入下一个环节,会直接往外抛,例如在ControllerAdvice验证发生异常则会抛给Filter,如果Filter未处理,则最终会由Tomcat容器抛出。.........原创 2022-08-30 16:04:40 · 1270 阅读 · 0 评论 -
『SpringBoot』统一异常处理
类定义一个异常处理方法,并在方法上添加该注解,那么当出现指定的异常时,会执行该处理异常的方法,其可以使用springmvc提供的数据绑定,比如注入HttpServletRequest等,还可以接受一个当前抛出的Throwable对象。软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的。在独立的某个地方,比如单独一个类,定义一套对各种异常的处理机制,然后在类的签名加上注解。我们可以不显式的处理异常,优雅的处理异常吗。........原创 2022-08-30 18:48:43 · 433 阅读 · 0 评论 -
『Durid』数据源连接池详解
Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Spring Boot 2.0 以上默认使用 Hikari 数据源。原创 2022-09-01 20:22:10 · 1043 阅读 · 0 评论 -
『Redis』Spring Cache 缓存详解
基于注解,代码清爽简洁可以对缓存进行回滚基于注解也可以实现复杂的逻辑基于具体的缓存产品(如Guava、EhCache、Redis等)的共性进行了一层封装。原创 2022-09-04 22:39:52 · 413 阅读 · 0 评论 -
MySQL『主从复制』和『读写分离』
在实际的生产中,为了解决Mysql的单点故障已经提高MySQL的整体服务性能,一般都会采用「主从复制」。比如:在复杂的业务系统中,有一句sql执行后导致锁表,并且这条sql的的执行时间有比较长,那么此sql执行的期间导致服务不可用,这样就会严重影响用户的体验度。主从复制中分为「主服务器(master)「和」从服务器(slave)」,「主服务器负责写,而从服务器负责读」,Mysql的主从复制的过程是一个「异步的过程」。原创 2022-09-05 15:45:41 · 209 阅读 · 0 评论 -
Swagger 使用指南『Knife4j』
注意:需要添加@EnableSwagger2,@EnableKnife4j两个注解。4.在过滤器中设置不需要处理的路径。1.导入maven依赖。2.配置config。原创 2022-09-05 16:12:25 · 3213 阅读 · 0 评论 -
『uni-app』生命周期详解
组件支持的生命周期,与vue标准组件的生命周期相同。onUnhandledRejection:对未处理的Promise拒绝事件监听函数。onLaunch:当uni-app初始化完成时触发(全局只触发一次)onUniNViewMessage:对nvue页面发送的数据进行监听。onShow:当uni-app启动,或从后台进入前台显示。onPageNotFound:页面不存在监听函数。onHide:当uni-app从前台进入后台。onError:当uni-app报错时触发。,在其它页面监听无效。原创 2022-09-15 12:44:48 · 2354 阅读 · 0 评论 -
『uni-app』配置网络请求
由于平台的限制,小程序项目中不支持 axios,而且原生的API 功能较为简单,不支持拦截器等全局定制的功能。因此,建议在 uni-app 项目中使用第三方包发起网络数据请求。原创 2022-09-16 12:50:50 · 5609 阅读 · 0 评论 -
『uni-app』配置小程序分包、路由系统跳转
在项目中,把 tabBar 相关的 4 个页面放到主包中,其它页面(例如:商品详情页、商品列表页)放到分包中。目的:分包可以减少小程序首次启动时的加载时间。在项目根目录中,创建分包的根目录,命名为。原创 2022-09-16 13:41:31 · 2907 阅读 · 0 评论 -
『uni-app』事件传值『this.$emit』『uni.$emit』
只要在想要传值的页面onload方法中注册订阅事件,在需要传值的页面传值就可以收到回调。与之相对的当父组件需要调用子组件时则使用this.$refs的方法。用于当子组件需要调用父组件的方法的场景下使用。格式:this.$emit('事件',参数)uni.$emit 这个是全局的事件订阅。my-search.vue组件。触发全局订阅事件的方法。原创 2022-09-16 16:32:22 · 4353 阅读 · 0 评论 -
『uni-app』搜索框防抖、自动获取焦点
问题:因为搜索框input函数只要输入便会记录输入值,但是很多情况下输入过程中的值并不是我们想要的,所以不需要读取。方案:设置延时器,规定时间内连续输入则input函数不会读取。目的:实现跳转到本页面后光标立即定位到搜索框中。组件,把 data 数据中的。原创 2022-09-16 17:13:49 · 3364 阅读 · 0 评论 -
『uni-app』数据缓存详解
uniapp数据缓存就是利用浏览器的localStorage存储。原创 2022-09-16 18:28:30 · 8302 阅读 · 0 评论 -
『uni-app』实现上拉加载,下拉刷新
页面配置上拉触底的距离,在对应path下添加 "onReachBottomDistance": 触发触底函数的距离。同样的位置添加onPullDownRefresh处理函数。再在刚才的style节点下添加如下代码,允许下拉刷新。原创 2022-09-16 21:28:26 · 15415 阅读 · 1 评论 -
『uni-app』处理返回结果为 Promise 的解决方法
首页原创 2022-09-19 19:51:56 · 4186 阅读 · 0 评论 -
JS基础:常用的Node.js NPM 包
一个简单易用的字符串解析和格式化库。原创 2022-10-01 10:57:08 · 1369 阅读 · 0 评论 -
Remix 完全本地化部署
Remix 是我们开发 Solidity 智能合约的常用工具,有时候我们会直接访问在线版的 Remix-IDE。但是,如何将在线Remix链接本地文件系统呢,下面则是部署步骤。原创 2022-10-20 20:42:17 · 1321 阅读 · 0 评论 -
『Three.js』入门教程
目的:方便模块化进行three.js项目的学习和开发Building a web app with Parcel | Parcel 中文网。原创 2022-10-28 11:14:14 · 19676 阅读 · 4 评论 -
Threejs 3D模型入门小项目
这种光的表现像是无限远,从它发出的光线都是平行的。太阳足够远,因此我们可以认为太阳的位置是无限远,所以我们认为从太阳发出的光线也都是平行的。CircleGeometry是欧式几何的一个简单形状,它由围绕着一个中心点的三角分段的数量所构造,由给定的半径来延展。此处的url的默认目录当前目录是项目打包生成的dist文件夹,所有资源文件均需放置到此文件夹下方可访问。同样下载的模型也需要放置到dist目录下,我的模型在model文件夹下。segments — 分段(三角面)的数量,最小值为3,默认值为8。原创 2022-10-31 15:06:13 · 1263 阅读 · 1 评论 -
CSS选择器简述
CSS选择器原创 2022-11-01 21:06:26 · 460 阅读 · 0 评论 -
『uniapp』自定义组件 onLoad/onShow 函数不执行问题
在uniapp中,只有应用生命周期和页面生命周期,子组件是没有应用周期的。所以onLoad、onShow都不存在。onLoad是页面函数,不是组件函数。子组件中的onLoad和onShow函数不执行。原创 2022-11-08 22:38:56 · 3120 阅读 · 2 评论 -
Linux nohup 命令
nohup英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。nohup命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到文件中。原创 2022-11-11 17:28:31 · 2592 阅读 · 1 评论 -
『Python』如何搭建虚拟环境
python的虚拟环境类似于虚拟机,能够创建一个独立的python运行环境,虚拟环境中的安装的第三方依赖包和全局环境中的包相互独立。原创 2022-12-01 23:27:20 · 2863 阅读 · 1 评论 -
『Java』判断值类型
如果你想判断一个值是否是基本数据类型,你可以使用反射中的 Class 类的 isPrimitive() 方法如果你想判断一个值是否是基本数据类型,你可以使用反射中的 Class 类的 isPrimitive() 方法,比如 int i = 10;if (int.class.isPrimitive()) System.out.println(“i 是基本数据类型”);但是这种方法不能具体判断是哪个基本数据类型。原创 2023-03-04 11:07:28 · 1812 阅读 · 0 评论 -
linux基本命令:grep
grep命令是一种命令行实用程序,用于在纯文本数据集中搜索与正则表达式匹配的行。通过find命令可以在/bin命令下找到grep命令的可执行程序。grep命令的全称是"Globally search for a regular expression and print matching lines" 从中可以看到grep命令几个特点:1)globel 全文件搜索。这是因为在Unix、Unix-like系统中为了要彻底搜索一个文件,有的用户在要搜索的字符串前加上前缀 global。2)regular exp原创 2022-06-23 21:30:00 · 416 阅读 · 0 评论 -
正则表达式(),[],{}区分
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真阅读本教程,加上应用的时候进行一定的参考,掌握正则表达式不是问题。许多程序设计语言都支持利用正则表达式进行字符串操作。正则表达式的 有着不同的意思,如下是为了提取匹配字符串的,表达式中有几个()就有几个原创 2022-06-23 21:48:42 · 866 阅读 · 0 评论 -
数据结构:B树、B+树、B*树详解
动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自然会提高查找效率。具体讲解之前,有一点,再次强调下:有的文章里面出现的B-树,即为B树。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-原创 2022-06-24 11:14:51 · 305 阅读 · 0 评论