自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(175)
  • 资源 (2)
  • 收藏
  • 关注

原创 深入理解Spring Security

在理解Spring Security之前,需要先理解清楚和这几个概念。Authentication即认证,一般就是身份校验,比如最常见的用户名和密码校验。在一些简单的应用中,可能只需要认证就够了。但是大部分应用还有权限的概念。比如一个购物网站,普通用户输入用户名和密码之后,拥有浏览、购物、评论等权限。商家通过自己的用户名和密码登录之后,拥有查看销售数据、上传商品、设置商品价格等权限。网站管理员通过用户名和密码登录之后,拥有管理商家、设置网站营销活动等权限。所有的用户都需要登录,这就是身份认证。

2024-03-22 16:43:24 656

原创 认识和理解OCID

当你的用户需要访问服务器上受保护资源的时候,例如用户订单数据,用户购物车等,需要携带id_token。id_token是用户的身份标识,就像身份证一样。id_token是一个JWT Token。如果请求没有携带id_token,或者携带的id_token不合法,则表示本次请求认证不通过。你为其他人提供身份服务,其他应用需要从你的服务器获取用户信息。比如github提供身份服务,其他应用可以向github索要用户的信息,完成用户在他们平台的注册,即三方登录。

2024-02-29 15:44:02 763

原创 开源软件license介绍与检测

从整体上看,开源许可证大致分为宽松式(Permissive)许可证和著作权(copyleft)许可证两类。两者的差别主要在于宽松度以及使用开源软件组件相关的要求和许可权限的多少。比如说Copyleft类型的license,拥有该类型license的开源组件可以免费使用,但是一旦代码中使用了这类组件,在将该代码分发给其他人时,就必须开放你的源代码。GPL许可证族就是这类许可证的代表。与之相对的是宽松式许可证,它保证了使用、修改和重新分发的自由,几乎没有任何限制条件,如MIT。

2023-11-29 15:31:00 1740

原创 过滤器执行顺序问题分析

最近碰到了一个关于过滤器的奇怪的问题。

2023-11-09 15:17:33 181

原创 Cpu负载高导致Redis(Redisson)超时问题的分析

Redisson客户端超时有几种原因,nettyThreads线程数不足,连接池太小,应用服务器CPU受限等等。

2023-10-20 17:38:57 4355

原创 Pod的内存使用率很高的问题分析

JVM并不会主动将未使用的内存归还给操作系统。

2023-09-25 17:57:30 1815

原创 Springboot中集成Prometheus

本文介绍了如何在springboot项目中集成Prometheus。

2023-08-28 10:32:18 2516 2

原创 深度学习-神经网络

AI技术基于计算机科学、心理学、神经科学、统计学等多个领域的知识,通过算法、大数据、机器学习、深度学习等方法,让计算机系统实现类似于人类的智能。AI技术已经在多个领域得到了广泛应用,比如医疗、金融、制造业、教育等。

2023-07-31 10:06:49 300

原创 Jenkins Pipeline使用指南

Jenkins Pipeline 实际上是一套插件,通过这些插件,用户可以持续集成和交付。

2023-06-28 11:22:31 173

原创 AWS概述

从2006年开始,AWS就开始以web服务的形式对外提供IT基础设施的商业化服务–即现在的云计算。云计算的一个重要的优势就是以与业务规模匹配的较少变化的成本取代了前期为了搭建基础设施而投入的巨量资金。有了云平台,公司就无需提前几个星期或者几个月就开始计划怎么获取生产服务器和其他IT基础设施。而是可以快速获取成百上千台服务器,从而实现快速交付。现如今,AWS通过其高可靠,可伸缩,低成本的基础平台为全球190多个国家和地区的几十万家公司提供了服务和支持。

2023-06-27 17:56:06 2451

原创 从hibernate并发更新报错问题说起

Hibernate是JPA的实现,SpringDataJpa是在JPA的基础上封装的,主要是降低使用JPA的复杂性。

2023-06-05 16:24:49 676

转载 高并发,你真的理解透彻了吗

高并发确实是一个复杂且系统性的问题,由于篇幅有限,诸如分布式Trace、全链路压测、柔性事务都是要考虑的技术点。另外,如果业务场景不同,高并发的落地方案也会存在差异,但是总体的设计思路和可借鉴的方案基本类似。高并发设计同样要秉承架构设计的3个原则:简单、合适和演进。“过早的优化是万恶之源”,不能脱离业务的实际情况,更不要过度设计,合适的方案就是最完美的。

2023-05-29 16:32:05 104

原创 机器学习进阶

AI技术基于计算机科学、心理学、神经科学、统计学等多个领域的知识,通过算法、大数据、机器学习、深度学习等方法,让计算机系统实现类似于人类的智能。AI技术已经在多个领域得到了广泛应用,比如医疗、金融、制造业、教育等。

2023-05-09 18:14:02 240

原创 Deepracer入门指南

主流的AI框架有TensorFlow和Pytorch,本文以Pytorch为例搭建开发环境。

2023-04-27 14:49:54 74

原创 机器学习介绍

AI技术基于计算机科学、心理学、神经科学、统计学等多个领域的知识,通过算法、大数据、机器学习、深度学习等方法,让计算机系统实现类似于人类的智能。AI技术已经在多个领域得到了广泛应用,比如医疗、金融、制造业、教育等。

2023-04-25 18:02:55 734

原创 K8S指南-平滑升级与自动扩缩容

Kubernetes默认提供了CPU和内存作为HPA弹性伸缩的指标

2023-04-11 15:19:35 680

原创 k8s指南-DNS与服务发现

在k8s中,ip是随时可能发生变化的,特别是pod的ip,服务的ip也是可以改变的。因此服务或pod之间相互访问一般是通过域名来实现的

2023-03-14 19:11:19 1709

原创 Hibernate懒加载问题

Hibernate懒加载获取到的是代理对象,只包含id。只要在实际使用时才会触发真正的数据库操作。

2023-02-14 11:43:28 211

原创 linux内核参数优化

linux内核参数

2022-12-16 15:13:07 1815

原创 k8s指南-Ingress

通常情况下,service和pod仅可在集群内部网络中通过ip地址访问。如果想从集群外部访问集群内部,则必须要有Ingress

2022-12-12 16:54:37 1887

转载 Maven生命周期和插件

maven的生命周期就是对所有的构建过程就行抽象和统一。maven从大量项目和构建工具中总结了一套高度完善的、易扩展的生命周期。这个生命周期包含项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤。Maven的生命周期是抽象的,其实际行为都是由插件来完成。

2022-11-23 17:57:42 249

原创 k8s指南-Service

在k8s中,Service是一种抽象概念,它定义了一组逻辑pod和访问这些pod的策略。k8s中的service概念和我们通常提到的微服务中的服务是一样的。

2022-11-09 18:05:48 2308

原创 k8s指南-工作负载(4)

一个CronJob对象就像是一个Linux环境的crontab文件一样,它会在给定的调度周期(crontab格式)内定期的创建一些job。注意:所有的定时任务的调度周期都依赖于k8s的master节点的时区。通常情况下,CronJob对于创建定期和重复的任务非常有用,比如定期的备份和邮件发送之类的任务场景。当然了,在Kubernetes集群中,Cronjob也有一些局限性和特性。Cronjob控制器当前官方仍然是beta版本,也就意味着还是有一些问题存在的。

2022-09-27 16:59:18 1191

翻译 Prometheus: 通过ConfigMap来添加Grafana仪表盘

如果你通过部署了Prometheus/Grafana,那么Grafana中的仪表盘就是通过边车(sidecar)来动态获取的。Sidecar的观察对象是ConfigMap,当ConfigMap中配置的仪表盘发生变更时,可以动态更新Grafana的仪表盘,而无需重启pod。在本文中,我将向你展示如何在Prometheus中识别要衡量的指标,在Granfa中创建一个仪表盘来显示该指标,并将仪表盘导出为json文件。

2022-09-06 16:17:45 864

原创 k8s指南-工作负载(3)

Kubernetes是一个可移植的,可扩展的开源平台,用于管理容器化的工作负载和服务,为声明式配置和自动化带来了巨大便利。它拥有着巨大而快速增长的生态系统,其相关的服务和工具得到了广泛的应用。............

2022-08-30 16:43:57 574

原创 云原生概述

云原生的概念,由来自Pivotal的Matt Stine根据其多年的框架经验总结于2013年首次提出,被一直延续使用至今。

2022-08-28 18:28:20 507

原创 k8s指南-工作负载(2)

Kubernetes是一个可移植的,可扩展的开源平台,用于管理容器化的工作负载和服务,为声明式配置和自动化带来了巨大便利。它拥有着巨大而快速增长的生态系统,其相关的服务和工具得到了广泛的应用。......

2022-07-31 20:51:11 1369

原创 Prometheus基本原理和使用

Prometheus是一个开源的监控和告警系统

2022-06-28 14:33:36 1917

原创 Gatling 性能测试

gatling是一个性能测试工具,简单易用。

2022-06-11 20:17:58 2707

原创 k8s指南-工作负载(1)

Kubernetes是一个可移植的,可扩展的开源平台,用于管理容器化的工作负载和服务,为声明式配置和自动化带来了巨大便利。它拥有着巨大而快速增长的生态系统,其相关的服务和工具得到了广泛的应用。.......................................

2022-05-31 22:09:40 1697

原创 k8s指南-架构

Kubernetes是一个可移植的,可扩展的开源平台,用于管理容器化的工作负载和服务,为声明式配置和自动化带来了巨大便利。它拥有着巨大而快速增长的生态系统,其相关的服务和工具得到了广泛的应用。...........................

2022-05-29 10:42:17 744

转载 React入门

安装方式使用create-react-app脚手架可以帮我们初始化一个项目demonpx create-react-app my-app项目结构:public/index.html是页面模板,src/index.js是入口JS文件安装完成后,进入项目文件并启动cd react-startnpm start运行后会弹出react图标窗口。下面将App.js文件修改一下:import React, { Component } from 'react';// import './App.

2022-04-06 18:00:50 154

原创 Postgres中jsonb类型

Jsonb类型PostgresSql支持两种JSON数据类型:json和jsonb。json类型以文本形式存储json对象,输入的文本是什么样的,存储的文本就是什么样的。每次处理时需要解析和分析文本格式的json,另外还存储了不必要的空白字符和重复键。jsonb类型将文本格式的json对象转换为二进制格式,并删除了不需要的空格及重复键。如果在输入中指定了重复的健,只有最后一个值会被保留。最重要的一点:jsonb支持索引通常情况下,选择用jsonb就可以,除非有特殊需求,比如对键值的顺序有要求。操

2022-01-25 19:11:53 3719

原创 k8s指南-概述

Kubernetes是一个可移植的,可扩展的开源平台,用于管理容器化的工作负载和服务,为声明式配置和自动化带来了巨大便利。它拥有着巨大而快速增长的生态系统,其相关的服务和工具得到了广泛的应用。

2021-12-04 20:45:57 1011

原创 postgres操作指南

安装使用mac可以通过命令行用brew来安装或者直接下载安装包来安装,网上资料很多,这里就不介绍了。如果通过brew来安装的,可以通过brew services start/stop postgres来开启或停止。还有一种方法是通过docker来跑,这里以mac桌面版为例,创建启动脚本pg-docker-compose.yml:# Use postgres/example user/password credentialsversion: '3.1'services: pgsql:

2021-11-26 11:11:56 6765

翻译 OpenAPI指南

OpenAPI指南基本介绍什么是OpenAPIOpenAPI规范(以前叫swagger规范)是一个接口文档规范,它用一个文件来描述API接口,包括:可用的api接口(如/users) 和接口方法 (GET /users, POST /users)输入和输出参数鉴权方法联系信息, 代码许可, 使用条款和其他信息等.文件可是可以是json或yaml的,完整的规范参见: OpenAPI 3.0 Specification什么是swaggerSwagger is a set of open-

2021-11-07 22:29:54 21162

转载 k8s部署失败常见原因

1. 错误的容器镜像/非法的仓库权限其中两个最普遍的问题是:指定了错误的容器镜像。使用私有镜像却不提供仓库认证信息。这在首次使用 Kubernetes 或者绑定 CI/CD 环境时尤其棘手。让我们看个例子。首先我们创建一个名为 fail 的 deployment,它指向一个不存在的 Docker 镜像:$ kubectl run fail --image=rosskukulinski/dne:v1.0.0然后我们查看 Pods,可以看到有一个状态为ErrImagePull或者ImageP

2021-10-22 16:28:00 4962

转载 postman测试

一、Pre Request ScriptsPostman v0.10+ 版本支持pre-request scripts。pre-request scripts是一个关联了收藏夹内request,并且在发送request之前执行的代码片段。这对于在request header中包含时间戳或者在URL参数中发送一个随机字符串都是非常有用的。例如:如果要在request的header中包含一个时间戳,你可以设置一个环境变量由一个函数返回它的值postman.setEnvironmentVariable(

2021-09-18 13:49:53 337

原创 payara micro开发指南

微服务与payara在Java世界内部,Spring框架已成为微服务开发的事实上的标准,通过诸如Spring Boot和Spring Data之类的库,该框架易于使用,并且可以进行高效且大部分情况下轻松进行开发。但是,近年来也出现了许多其他的框架,声称可以缩短Java应用程序的启动时间并减少其内存占用。下面将进行简单介绍。Spring为了解决早期Java Enterprise的复杂性,Spring于2003年应运而生。Spring核心是依赖注入(DI)和面向切面编程(AOP),后来衍生出易于使用的S

2021-09-09 22:43:38 1736

原创 TestContainer介绍

在日常开发过程中,经常会用到第三方组件或中间件,如redis,mq,db等。因为这些第三方组件的引入,测试过程会变得复杂起来。可能换了一个环境之后,因为中间件的缺失,测试用例就跑不起来了。而TestContainer可以通过和docker结合,很方便的在代码中启动docker容器,在docker容器中运行这些第三方组件,从而方便进行测试。基本使用以maven构建的springboot工程为例,引入依赖<dependency> <groupId>org.testco

2021-09-09 10:18:05 2222

fastjson.zip

fastjson依赖包,1.1.41,1.2.21,1.2.44,1.2.58,1.2.60,1.2.61

2020-03-04

rcp开发笔记

rcp开发笔记。记录了产品导出和动态插件加载遇到的一些问题

2014-12-24

空空如也

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

TA关注的人

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