自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 JVM 之字节码(.class)文件

class 文件本质class 文件的本质是以8位字节为基础单位的二进制流,一个class 文件对应一个类或接口的定义信息,但是class文件并不一定以磁盘文件形式存在,也就是说class文件可以通过网络进行传输,类加载器可以从网络中加载类信息。class 文件格式class 文件格式不像 XML等描述语言,由于它没有任何分隔符,所以在其中的数据项,无论是字节顺序还是数量都被严格限定,哪个字节代表什么含义,长度是多少,先后顺序如何,都不允许改变。

2023-08-26 11:16:07 989

原创 微调Llama2自我认知

最近在学习了解大模型微调相关的内容,在学习的过程中也遇到了很多问题,所以将自己的学习过程记录下来,希望对大模型微调感兴趣的小伙伴提供一点帮助,本文主要介绍一下如何通过SFT微调Llama2的。

2023-08-25 10:22:51 1897 1

原创 IDEA “Library source does not match the bytecode for class“问题解决

Jar包更新后,报错信息:“Library source does not match the bytecode for class”,经检查,发现Jar内容还是旧版本的。

2022-06-15 15:51:21 1683 1

原创 【k8s】使用 Reloader 实现热部署

一. 概述我们在 k8s 中使用 ConfigMap 作为配置文件的时候会遇到一个问题:修改 ConfigMap 后无法实现热部署,也就是更改了 ConfigMap 配置文件后需要手动重启 Pod 配置才会生效,为了处理这个问题 github 专门有个开源的项目 Reloader 来解决这个问题,项目地址如下: Reloader 项目地址:https://github.com/stakater/ReloaderReloader 可以观察 ConfigMap 和 Secret 中的变化,并对 pod

2022-02-17 14:15:25 1792

原创 【爬虫】从零开始使用 Scrapy

一. 概述最近有一个爬虫相关的需求,需要使用 scrapy 框架来爬取数据,所以学习了一下这个非常强大的爬虫框架,这里将自己的学习过程记录下来,希望对有同样需求的小伙伴提供一些帮助。本文主要从下面几个方面进行介绍:我的学习过程需求分析搭建项目编写代码实现需求部署爬虫项目到 SpiderKeeper二. 我的学习过程学习一个新的技术,首先就是去阅读它的官方文档,因为官方文档写的是比较全面的而且权威。scrapy 官方文档地址: https://docs.scrapy.org/en/l

2022-01-09 11:12:26 437

原创 使用Awescnb构建酷炫的博客园皮肤

一. 概述基于 vite 和 webpack 5,构建、安装、切换博客园皮肤源码地址:https://gitee.com/guangzan/awescnb经常浏览博客园,看到别人的博客非常酷炫,所以也想定义一个酷炫的页面,但是发现自己的前端 css 水平太差,只会修改博客园的字体大小和颜色,百度了一下相关的文档,找到了 awescnb 这个开源仓库,能够满足我的需求,接下来我将记录一下自己使用 awescnb 构建博客园皮肤的过程,更多详细的配置可以查看文章后面的参考文档。下面是我使用 aw

2021-12-03 20:00:19 1141

原创 python实现掘金定时签到抽奖

一. 概述这里记录一下使用 python 实现掘金定时签到抽奖。首先需要登录掘金,进入签到页面,按 F12 打开浏览器的调试面板,选择 Network,选择 XHR,然后按 F5 刷新页面,找到 check_in_rules 这个请求,获取签到请求接口的参数就可以了,如下图所示的页面:从上图中需要获取如下几个参数的内容:aiduuid_signaturecookie二. python 代码实现创建一个 juejin.py 文件,输入如下内容,并且输入前面获取到的内容:import r

2021-11-17 19:18:41 801 1

原创 k8s中的 nginx-ingress 如何配置路径重定向

一. 需求描述路径重定向的一般应用场景:调整用户浏览的URL,看起来更规范为了让搜索引擎收录网站内容,让用户体验更好网站更换新域名后根据特殊的变量、目录、客户端信息进行跳转我这里遇到的问题是,以前的很多服务路径配置不规范,有的服务使用项目名作为二级路径,有的服务是随意定义的访问路径,为了统一使用项目名作为访问的二级路径,避免修改代码,所以需要配置路径重定向。举一个例子,我有一个 a 服务,它原来的访问路径是 api/v1/apps,现在我需要通过路径 a/api/v1/apps 访问,需要

2021-11-17 11:39:21 8780 1

原创 【golang学习记录】环境搭建

【golang学习记录】环境搭建一. 概述本文是【golang学习记录】系列文章的第一篇,安装Go语言及搭建Go语言开发环境,接下来将详细记录自己学习 go 语言的过程,一方面是为了巩固自己学到的内容,另一方面希望对有同样需求的小伙伴提供一些帮助。二. 下载并安装 GoGo官网下载地址(在国内无法访问):https://golang.org/dl/Go官方镜像站(推荐):https://golang.google.cn/dl/在Windows中通过可执行文件来安装会自动配置 GOROOT 环境

2021-11-16 19:03:17 7325

原创 Java 异常分析

本文是对以下内容的分析:Java异常设计Java 异常分类Java异常可以告诉什么问题Java异常处理最佳实践Java Exception 是为了处理应用程序的异常行为而创建的类。在本文中,将解释如何使用 Java Exception 类以及如何在考虑现有 Java Exception 设计的情况下创建异常结构。Java 异常概念是 Java 中的重要里程碑之一,每个开发人员都***必须***知道它。Java 异常体系结构基本结构如下图:Throwable 是所有异常.

2021-09-16 18:51:34 423 1

原创 selenium 如何拖动滚动条?

一. 问题描述有一些特殊网页,需要模拟点击并且有时候需要拖动滚动条才能显示完整的内容,举一个例子,比如人民日报客户端的网页,如下图所示:需要点击阅读全文才能显示完整的内容,并且网页的图片需要拖动滚动条到图片的位置才能显示图片内容,如果需要获取这种网页的内容,我们可以使用 python + selenium 模拟浏览器的行为来获取。二. 解决方法关于 selenium 的安装与使用可以查看这篇文章:https://juejin.cn/post/69969733913285755251. 使用

2021-09-14 14:18:17 5151

原创 gunicorn 超时报错:[1] [CRITICAL] WORKER TIMEOUT 解决

一. 问题描述在使用 Gunicorn + flask 搭建的一个 web 项目中,由于使用了机器学习模型,在第一次请求接口的时候需要加载模型,在本地运行的时候加载模型很快所以正常运行,将应用使用 docker 的方式部署到服务器上面(模型是通过 volume 的方式挂载到容器中的), 第一次请求加载模型耗时比较长,报出如下错误:[2021-09-11 07:22:33 +0000] [1] [CRITICAL] WORKER TIMEOUT (pid:12)[2021-09-11 07:22:35

2021-09-11 16:28:03 14627

原创 是什么让 Java 应用程序的 CPU 使用率飙升?

如果命运是一条孤独的河流,谁会是你的灵魂摆渡人? —— 克莱儿·麦克福尔《摆渡人》一. 问题while 的无限循环是否会导致 CPU 使用率飙升?频繁的 Young GC 是否会导致 CPU 使用率飙升?有大量线程的应用程序的 CPU 使用率高吗?CPU 使用率高的应用程序的线程数是否很大?处于 BLOCKED 状态的线程是否会导致 CPU 使用率飙升?分时操作系统中的 CPU 是消耗 us(用户态) 还是 sy(内核态)?二. 思考1. 我们如何计算 CP.

2021-09-07 19:04:53 663 1

原创 Java 中如何实现线程间通信

世界以痛吻我,要我报之以歌 —— 泰戈尔《飞鸟集》虽然通常每个子线程只需要完成自己的任务,但是有时我们希望多个线程一起工作来完成一个任务,这就涉及到线程间通信。关于线程间通信本文涉及到的方法和类包括:thread.join()、object.wait()、object.notify()、CountdownLatch、CyclicBarrier、FutureTask、Callable。接下来将用几个例子来介绍如何在Java中实现线程间通信:如何让两个线程依次执行,即一个线程等待另一个线程执行完..

2021-09-05 19:03:13 917

原创 github 配置使用 personal access token 认证

一. 问题描述使用如下命令推送代码到 github :git push origin main根据提示输入用户名和密码,报如下错误:remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.remote: Please see https://github.blog/2020-12-15-token-authentic

2021-08-19 19:12:01 19050 2

原创 【爬虫】docker 部署 python + selenium + firefox-headless

外观往往和事物的本身完全不符,世人都容易为表面的装饰所欺骗。—— 莎士比亚 《威尼斯商人》一. 概述上一篇文章 【爬虫】python+selenium+firefox使用与部署详解 介绍了 selenium 传统方式部署与使用,需要安装浏览器、安装浏览器对应的驱动等,对于我来说配置还是比较繁琐,有没有没有简单的配置方式呢?有,那就是使用 docker 来部署,接下来将介绍如何使用 docker 部署 python + selenium + firefox-headless。二. docker 安装.

2021-08-17 16:53:12 5551

原创 【爬虫】python+selenium+firefox使用与部署详解

我的梦想,值得我本人去争取,我今天的生活,绝不是我昨天生活的冷淡抄袭。—— 司汤达《红与黑》一. 概述对爬虫感兴趣学习过 requests、scrapy 等 python 库用来爬取一些网站数据,最近刚好由于需要,又开始做一些爬虫相关的工作,写本文的目的是将自己学习过程和遇到的问题记录下来,一方面巩固学习的知识,另一方面希望对遇到同样问题的朋友提供一些帮助。本文主要从以下几个方面介绍(这也是自己学习的过程):为什么要使用 selenium传统方式配置使用 selenium二. 为.

2021-08-15 17:31:18 8682

原创 在 k8s 中安装并使用 nexus

生活是属于每个人自己的感受,不属于任何别人的看法。—— 余华《活着》一. 概述在学习使用一个工具之前,我们需要知道怎么安装它。本文将自己学习的过程记录下来,一方面巩固学习的内容,另一方面希望对有同样需求的小伙伴提供一些帮助。开源工具描述官方文档官方安装文档docker 安装nexusmaven 仓库管理工具nexus 官网nexus 快速安装docker 安装上面表格列出了官方的安装地址,如果需要快速体验使用,建议直接使用 docker 安装,一行命令就可以.

2021-08-03 12:42:50 1778

原创 maven 处理 [WARNING] Using platform encoding (GBK actually) to copy filtered resources 的警告

一、问题描述使用 mvn package 打包项目的时候,总是输出如下警告:[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ test ---[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent![INFO] --- maven-resource

2021-07-27 16:16:13 890

原创 在 markdown 中使用表情符号

1️⃣ 概述经常看到别人写的文章中有各种有趣的表情符号,像是这样的????,在文章中添加一些表情符号能够增强文章的趣味性????,对于这些表情符号我们可以直接复制粘贴使用,这些表情符号到底是什么呢?这种表情符号的官方名字叫做 emoji ,来自日语词汇“絵文字”(假名为“えもじ”,读音即 emoji),emoji 的创造者是日本人栗田穰崇。emoji 是一种文本类型的象形符号, 它和图片、表情包不同,它能够在任何文本输入的地方使用,因为它本身就是一种文字 ;最新的 emoji 13.1版本包含1816

2021-07-12 11:47:35 3709

原创 spring boot 使用 k8s 的 configMap 作为外部配置

一、概述spring boot 应用以容器的方式运行在 k8s 集群上面是非常方便的,但是不同的环境需要不同的配置文件,我们可以使用外部的配置中心,比如 nacos 、apollo。k8s 也提供了 configMap 用来将环境配置信息和容器镜像解耦,便于应用配置的修改。本文主要从以下几个方面介绍 spring boot 使用 k8s 的 configMap 作为外部配置的使用方法:spring boot 加载配置文件介绍k8s 的 configMap 介绍使用 k8s 的 confi

2021-07-06 19:23:41 5253 5

原创 【算法】冒泡排序图文讲解

世界上只有少数人能够最终达到自己的理想。———— 毛姆《月亮与六便士》一、算法思想冒泡排序,有时也称为下沉排序,是一种简单的排序算法,它重复遍历要排序的列表,比较每对相邻的元素,如果它们的顺序错误(升序或降序排列),则交换它们。 重复遍历列表直到不需要交换,这表明列表已排序。二、工作流程假设我们试图按升序对元素进行排序。1. 第一次迭代(比较和交换)从第一个索引开始,比较第一个和第二个元素。如果第一个元素大于第二个元素,则交换它们。现在,比较第二个和第三个元素。如果它们不满足条件则交.

2021-06-25 23:03:27 4118 1

原创 在 docker 容器中使用Java诊断工具Arthas

一、概述使用 docker 容器部署项目已经成为开发者必须掌握的技能,当使用 docker 容器部署项目后,如何在容器中对 Java 应用进行实时诊断,这篇文章主要介绍在 docker 容器中如何使用 Java 诊断工具 —— Arthas 。在容器中使用 Arthas 和在服务器上面使用是没有太大区别的,通常情况下一个容器中只会运行我们的应用服务这一个 Java 进程,所以在容器中使用 Arthas 只会看到一个 Java 进程。关于 Arthas 的详细说明可以查看下面的官方文档,这里只会对自己在 .

2021-05-26 18:41:23 1864 1

原创 记录一些 IntelliJ IDEA 中的常用配置

一、概述毋庸置疑 IntelliJ IDEA 已经成为 Java 开发最好用的开发工具,这篇文章主要记录自己使用 idea 开发过程中的一些常用配置,主要是根据自己的开发习惯进行的配置,记录这篇文章的目的是为了便于自己查询配置,并且希望对看这篇文章的小伙伴提供一些参考。说明:我这里使用的 idea版本是 IntelliJ IDEA 2021.1.1 (Ultimate Edition),不同的版本配置稍有不同,可以根据自己使用的具体版本进行更改。二、idea 常用配置这里就不介绍 idea 的.

2021-05-22 14:55:43 966

原创 使用 Java 实现快速排序(详解)

一、概述最近在看一些面试题,发现很多面试过程中都会要求手写快速排序,查阅一些博客发现别人写的并不是特别清楚而且也很难记住,所以为了更好的掌握这个算法,所以在这篇文章中,将自己的学习过程记录下来,你将学习到快速排序算法和使用 Java 如何实现快速排序。快速排序是一种基于分而治之的排序算法,其中:1、通过从数组中选择一个中心元素将数组划分成两个子数组,在划分数组时,将比中心元素小的元素放在左子数组,将比中心元素大的元素放在右子数组。2、左子数组和右子数组也使用相同的方法进行划分,这个过程一直持续到每.

2021-05-18 19:07:49 23785 4

原创 如何在docker容器中安装一些常用工具

一、概述当使用 docker 创建一个容器后,进入到容器内部,发现很多常用的工具命令不存在,比如我想要使用 ping 命令测试一下网络的是否畅通,发现容器中找不到这个命令,如下所示:root@kuboard-5967d77d89-h2hgn:/# ping www.baidu.combash: ping: command not found因为容器可以简单的当做一个非常精简的操作系统,所以我们需要自己安装我们需要的工具,这篇文章简单记录一下安装一些常用工具的过程以及遇到的问题,希望能对有需要的小.

2021-04-30 10:15:21 4004 1

原创 k8s 部署 skywalking 并将 pod 应用接入链路追踪

一、概述前面写了两篇文章介绍使用 docker 部署 spring boot 和 tomcat 项目,并将其接入skywalking,这篇文章主要介绍使用 k8s 部署 skywalking 并将 pod 应用接入链路追踪。二、使用 helm 部署 skywalking在 k8s 中使用 helm 的前提是需要先安装 helm 客户端,关于 helm 的安装可以查看官方文档。安装 helm 官方文档地址:https://helm.sh/docs/intro/install/这里介绍两种方式部.

2021-04-22 19:58:33 2961 10

原创 使用 docker 部署 tomcat 并接入 skywalking

一、概述上一篇文章介绍了使用 docker 部署 spring boot 并接入 skywalking,其中描述了使用 docker-compose 搭建 skywalking,这一篇文章就不介绍 skywalking 的搭建了,这里主要记录一下使用 docker 部署一个 tomcat 并接入 skywalking 进行服务链路追踪。二、使用 docker 部署 tomcat 并接入 skywalking关于如何将 tomcat 应用接入 skywalking 官网有如下描述:详细信息可以查看.

2021-04-19 18:45:16 882

原创 spring boot 整合 es 报错:java.lang.ClassNotFoundException: org.elasticsearch.client.core.MainResponse

概述最近由于一些原因需要升级 spring boot 版本,项目原来的版本是 spring boot 2.1.2.RELEASE,现在把版本升级到 spring boot 2.4.1,项目一启动就报如下错误,通过查阅官方文档,一步一步解决了这个问题,在这里记录一下,希望对遇到同样问题的小伙伴提供一些帮助。说明:我使用的 elasticsearch 的版本是 6.7.0升级spring boot 版本后报错如下org.springframework.beans.factory.BeanCreat.

2021-04-18 16:05:58 3662 2

原创 使用 docker 部署 spring boot 并接入 skywalking

一、概述最近在研究skywalking,打算使用k8s部署 skywalking 并将 pod 中的应用接入 skywalking 进行服务链路追踪。这篇文章先不介绍 skywalking 在k8s中的部署和使用,而是先介绍如何使用手动和docker的方式使用 skywalking。在整个实践过程中查阅了大量文档,遇到了各种问题,这里将我自己的实践过程记录下来,希望对有同样需求的小伙伴提供一些帮助。1、skywalking 简介SkyWalking是一款广受欢迎的国产APM(Application .

2021-04-15 21:17:51 1441

原创 一个漂亮的k8s资源可视化工具--kubeview

kubeview的 github仓库地址:https://github.com/benc-uk/kubeviewkubeview 简介kubeview是k8s集群的资源可视化工具。kubeview展示k8s集群内(或者一个命名空间内)正在发生的事情,它映射出API对象以及它们是如何相互连接的。它能够实时从 k8s api 获取数据,并且可以根据资源对象的状态显示不同的颜色。当集群有新的数据进入或者资源发生改变的时候,kubeview能够自动刷新,并且动态地更新视图。当前可以展示下面的k8s 资..

2021-04-09 18:05:09 2110

原创 在linux系统中安装minikube

详细信息查看官方文档:https://minikube.sigs.k8s.io/docs/start/部署环境: 操作系统:CentOS Linux 7 (Core) 操作系统类型:linux 架构:x86_64minikube版本:v1.18.1kubernetes版本:1.20.21、安装docker首先需要在linux系统中安装docker,可以查看这篇文章《使用阿里云镜像快速安装docker-ce》2、下载并安装minikube在github上面下载对应系统的minikube.

2021-04-07 11:53:17 1406

原创 spring boot使用nacos作为配置中心实践

概述本文主要介绍自己将nacos作为spring boot的配置中心的实践过程,希望对有需求的小伙伴提供一些帮助。通过nacos实现配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新。详细的说明可以查看官方文档:https://nacos.io/zh-cn/docs/quick-start-spring-boot.html使用docker-compose安装nacos在linux系统中可以通过以下命令安装 docker-compse:yum install -y docker-com

2021-04-06 19:48:34 1519

原创 创建自定义ingress报错:Internal error occurred: failed calling webhook “validate.nginx.ingress.kubernetes.io

问题描述:当我使用ingress-demo.yaml文件创建自定义的ingress时使用命令创建:kubectl apply -f ingress-demo.yaml报如下错误:Internal error occurred: failed calling webhook "validate.nginx.ingress.kubernetes.io": Post https://ingress-nginx-controller-admission.kube-system.svc:443/networ

2021-04-01 14:55:48 13381 3

原创 springboot 运行jar文件报 “XXX中没有主清单属性”

问题描述在将springboot 项目项目打成jar包,通过java -jar运行的时候报错:D:\my-projects\springboot-demo\target>java -jar springboot-demo.jarspringboot-demo.jar中没有主清单属性解决方法需要在maven的pom.xml文件中指定打包时的mainClass,具体是在spring-boot-maven-plugin中指定,配置如下:<build> <pl

2021-03-15 19:55:33 323

原创 使用minikube实现微服务的CI/CD

一、概述最近在研究基于k8s实现一套devops流程,由于搭建一套k8s集群比较麻烦,所有打算使用minikube在我本地的windows上面实现整套devops流程,在这里记录一下整个实践过程,希望对需要的同学提供一些参考,也便于自己以后查阅。minikube官方地址:https://minikube.sigs.k8s.io/docs/start/运行环境windows 10minikube 1.18.1kubernetes 1.20.2二、安装minikubeminikube是本地.

2021-03-15 19:20:56 678 1

原创 使用JWT实现跨域身份验证

一、传统用户的身份验证(使用session)一般过程如下:1、用户向服务器发送用户名和密码。2、服务器验证通过后,将相关信息保存到当前session中。3、服务器将session_id放到cookie中并返回给用户。4、用户后续的每个请求都会将cookie中的session_id发送给服务器。5、服务器收到session_id并对比session中的数据,确认用户身份。使用session的方式验证身份存在的问题是:每次用户认证通过以后,服务器需要创建一条记录保存用户信息,通常是在内存中,

2021-03-08 11:39:21 552

原创 sonarQube 代码检查时报错 413 Request Entity Too Large

错误信息ERROR: Error during SonarQube Scanner executionERROR: Failed to upload report - HTTP code 413: <html><head><title>413 Request Entity Too Large</title></head><body bgcolor="white"><center><h1>413 Requ

2021-03-02 17:52:40 998

原创 使用docker 搭建 SonarQube 代码质量管理平台

一、概述Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从多个维度检测代码质量,通过插件形式,可以支持包括java、python、C#、go、scala、kotlin、JavaScrip、Groovy等二十几种编程语言的代码质量管理与检测。下面使用docker 启动一个 sonarqube , 便于快速体验此平台提供的功能。二、安装 SonarQube你可以下载zip文件的传统方式安装SonarQube,也可以使用docker 镜像的方式启动 SonarQube容器。1、

2021-02-23 13:15:04 7070 1

原创 Anaconda集成的jupyterlab设置远程访问

概述我有一台远程linux服务器,资源比较丰富,想用来做一些机器学习的实验,所以打算在远程Linux服务器上面安装Anaconda,Anaconda集成了许多python库并且集成了jupyter ,使用比较方便,并且实现jupyterlabde 远程访问。一、下载Anaconda这里推荐使用清华镜像站下载,在国内下载速度比较快。清华镜像站地址:https://mirrors.tuna.tsinghua.edu.cn/复制下载地址,在linux系统使用wget命令下载到当前目录:wget h

2021-01-28 11:07:31 920

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除