- 博客(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
原创 Cpu负载高导致Redis(Redisson)超时问题的分析
Redisson客户端超时有几种原因,nettyThreads线程数不足,连接池太小,应用服务器CPU受限等等。
2023-10-20 17:38:57 4355
原创 深度学习-神经网络
AI技术基于计算机科学、心理学、神经科学、统计学等多个领域的知识,通过算法、大数据、机器学习、深度学习等方法,让计算机系统实现类似于人类的智能。AI技术已经在多个领域得到了广泛应用,比如医疗、金融、制造业、教育等。
2023-07-31 10:06:49 300
原创 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
原创 机器学习介绍
AI技术基于计算机科学、心理学、神经科学、统计学等多个领域的知识,通过算法、大数据、机器学习、深度学习等方法,让计算机系统实现类似于人类的智能。AI技术已经在多个领域得到了广泛应用,比如医疗、金融、制造业、教育等。
2023-04-25 18:02:55 734
原创 k8s指南-DNS与服务发现
在k8s中,ip是随时可能发生变化的,特别是pod的ip,服务的ip也是可以改变的。因此服务或pod之间相互访问一般是通过域名来实现的
2023-03-14 19:11:19 1709
原创 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
原创 k8s指南-工作负载(2)
Kubernetes是一个可移植的,可扩展的开源平台,用于管理容器化的工作负载和服务,为声明式配置和自动化带来了巨大便利。它拥有着巨大而快速增长的生态系统,其相关的服务和工具得到了广泛的应用。......
2022-07-31 20:51:11 1369
原创 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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人