- 博客(1474)
- 资源 (92)
- 收藏
- 关注
转载 豆瓣9.7,这部Java神作第3版重磅上市!
文末赠书Java 程序员们开年就有重磅好消息,《Effective Java 中文版(原书第 3 版)》要上市啦!该书的第1版出版于 2001 年,当时就在业界流传开来,受到广泛赞誉。时至今日,已热销近20年,本书第 3 版已是 Java 程序员的必读神书,被誉为“Java 四大名著之一”,甚至连 Java 之父高司令(James Gosling)都说:“如果说我需要一本 Java 编程的书,那...
2024-03-26 21:41:57 10
转载 宕机了,Redis 如何避免数据丢失?
「万事开头难,视频号500粉直播需要你的助力!你的支持是我前进的动力!」来源:juejin.cn/post/7193597571305046071前言如果有人问你:"你会把 Redis 用在什么业务场景下?"我想你大概率会说:"我会把它当作缓存使用,因为它把后端数据库中的数据存储在内存中,然后直接从内存中读取数据,响应速度会非常快。"没错,这确实是 Redis 的一个普遍使用场景,但是,这里也有一...
2024-03-23 19:14:27 12
转载 JWT 实现登录认证 + Token 自动续期方案,这才是正确的使用姿势!
「万事开头难,视频号500粉直播需要你的助力!你的支持是我前进的动力!」作者:何甜甜在吗来源:juejin.cn/post/6932702419344162823过去这段时间主要负责了项目中的用户管理模块,用户管理模块会涉及到加密及认证流程,加密已经在前面的文章中介绍了。今天就来讲讲认证功能的技术选型及实现。技术上没啥难度当然也没啥挑战,但是对一个原先没写过认证功能的菜鸡甜来说也是一种锻炼吧。技术...
2024-03-10 19:00:54 64
转载 如何为开放平台设计一个安全好用的OpenApi
「万事开头难,视频号500粉直播需要你的助力!你的支持是我前进的动力!」为了确保软件接口的标准化和规范化,实现业务模块的重用性和灵活性,并提高接口的易用性和安全性,OpenAPI规范应运而生。这一规范通过制定统一的接口协议,规定了接口的格式、参数、响应和使用方法等内容,从而提高了接口的可维护性和可扩展性。同时,为了也需要考虑接口的安全性和稳定性,本文将针对这些方面介绍一些具体的实践方式。1AppI...
2024-03-02 19:38:44 66
转载 Golang中的数组
「万事开头难,视频号500粉直播需要你的助力!你的支持是我前进的动力!」1、Array(数组)的介绍数组是指一系列同一类型数据的集合。数组中包含的每个数据被称为数组元素(element),这种类型可以是任意的原始类型,比如 int、string 等,也可以是用户自定义的类型。一个数组包含的元素个数被称为数组的长度。在 Golang 中数组是一个长度固定的数据类型,数组的长度是类型的一部分,也就是说...
2024-02-25 10:15:48 66 1
转载 10 亿数据如何快速插入 MySQL?
「万事开头难,视频号500粉直播需要你的助力!你的支持是我前进的动力!」最快的速度把10亿条数据导入到数据库,首先需要和面试官明确一下,10亿条数据什么形式存在哪里,每条数据多大,是否有序导入,是否不能重复,数据库是否是MySQL?假设和面试官明确后,有如下约束10亿条数据,每条数据 1 Kb数据内容是非结构化的用户访问日志,需要解析后写入到数据库数据存放在Hdfs或S3分布式文件存储里10...
2024-02-24 20:32:29 55
原创 Go语言中的流程控制
「万事开头难,视频号500粉直播需要你的助力!你的支持是我前进的动力!」1、Golang 中的流程控制流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。Go 语言中最常用的流程控制有 if 和 for,而 switch 和 goto 主要是为了简化代码、降低重复代码而生的结构,属于扩展类的流程控制。2、if else(分支结构)2.1、if 条件判断基本写...
2024-02-18 17:45:35 1057
转载 FastDFS+Nginx 本地搭建文件服务器同时实现在外远程访问
「万事开头难,视频号500粉直播需要你的助力!你的支持是我前进的动力!」链接:https://www.linkinstars.com前言FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了...
2024-02-14 15:30:58 73
转载 微服务下必须了解的4种部署策略!
「万事开头难,视频号500粉直播需要你的助力!你的支持是我前进的动力!」蓝绿发布蓝绿发布特点蓝绿发布注意事项滚动发布滚动发布特点滚定发布注意事项灰度发布A/B测试在项目迭代的过程中,不可避免需要”上线“。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。目前有很多部署发布的技术, 这儿将常见的做一个总结。上面所说难免有些抽象, 举一个情景例子, 加入你是微博项目负责人员, 现在新版本...
2024-02-01 21:16:02 93
转载 用到“毕业”的 600 条 Linux 命令
「万事开头难,视频号500粉直播需要你的助力!你的支持是我前进的动力!」1、基本命令uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件(SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作系统信息arch 显示机器的处...
2024-01-31 21:16:55 82
转载 Golang 中的运算符
「万事开头难,视频号500粉直播需要你的助力!你的支持是我前进的动力!」1、Golang 内置的运算符算术运算符关系运算符逻辑运算符位运算符赋值运算符2、算数运算符运算符描述+相加-相减*相乘/相除%求余=被除数-(被除数/除数)*除数 注意: ++(自增)和--(自减)在 Go 语言中是单独的语句,并不是运算符。package mainimport ( "fmt")func m...
2024-01-27 14:54:19 83
转载 这是我见过最强的AI大模型教程!可以上车!!
随着ChatGPT大热“AI大模型”无疑是最火爆的话题!Google、百度、腾讯等等巨头互联网公司,无不在布局人工智能技术和市场,甚至还有60k*16的高薪,挖掘AI大模型人才!作为普通程序员,如何不被时代抛弃,享受AI技术带来的红利?!????知乎知学堂特发起:行业前沿资源——AI大模型公开课已为本号粉丝开通免费领取权限预计24小时后关闭通道!速进!AI大模型-重塑程序员核心竞争力(不限年龄!不限...
2024-01-24 09:00:57 119
转载 GoLang中基本数据类型之间的转换
1、关于 golang 中的数据类型转换 Go 语言中只有强制类型转换,没有隐式类型转换。2、数值类型之间的相互转换数值类型包括:整形和浮点型package mainimport "fmt"func main() { var a int8 = 20 var b int16 = 40 var c = int16(a) + b //要转换成相同类型才能运行 fm...
2024-01-23 20:55:19 69
转载 Stream 流式编程,写代码也可以很优雅
1引言流式编程的概念和作用Java 流(Stream)是一连串的元素序列,可以进行各种操作以实现数据的转换和处理。流式编程的概念基于函数式编程的思想,旨在简化代码,提高可读性和可维护性。Java Stream 的主要作用有以下几个方面:简化集合操作:使用传统的 for 循环或迭代器来处理集合数据可能会导致冗长而复杂的代码。而使用流式编程,能够用更直观、更简洁的方式对集合进行过滤、映射、排序、聚合...
2024-01-22 22:16:48 72
原创 Go 语言基本数据类型
1、Golang 数据类型介绍Go 语言中数据类型分为:基本数据类型和复合数据类型基本数据类型有:整型、浮点型、布尔型、字符串复合数据类型有:数组、切片、结构体、函数、map、通道(channel)、接口等。2、整型整型分为以下两个大类:有符号整型按长度分为:int8、int16、int32、int64对应的无符号整型:uint8、uint16、uint32、uint64关于字节:字节也叫 Byt...
2024-01-20 14:01:13 1082
原创 3.Go变量 常量申明 变量命名规则
Go 语言 定义变量、fmt 包、Print、Println、Go 语言注释1、Go 语言定义变量这里我们为了演示代码期间给大家先简单介绍一下变量,后面的教程还会详细讲解。关于变量:程序运行过程中的数据都是保存在内存中,我们想要在代码中操作某个数据时就需要去内存上找到这个变量,但是如果我们直接在代码中通过内存地址去操作变量的话,代码的可读性会非常差而且还容易出错,所以我们就利用变量将这个数据的内存...
2024-01-17 21:23:28 1127
转载 1.Go 语言介绍、Go 语言 win 环境搭建、Go语言开发工具配置
1、Go 语言介绍Go 即 Golang,是 Google 公司 2009 年 11 月正式对外公开的一门编程语言。根据 Go 语言开发者自述,近 10 多年,从单机时代的 C 语言到现在互联网时代的 Java,都没有令人满意的开发语言,而 C++往往给人的感觉是,花了 100%的经历,却只有 60%的开发效率,产出比太低,Java 和 C#的哲学又来源于 C++。并且,随着硬件的不断升级,这些语...
2024-01-16 21:08:12 114
转载 2.Go 语言 Mac 电脑环境搭建、开发工具
1、Go 语言 mac 环境搭建1.1、下载安装 GolangGo官网下载地址:https://golang.org/dl/Go官方镜像站(推荐):https://golang.google.cn/dl/1.2、安装软件双击下一步下一步进行安装验证有没有安装成功goversion1.3、查看 go 环境goenv说明:Go1.11 版本之后无需手动配置环境变量,使用 go mod 管理项...
2024-01-16 21:08:12 241
转载 如何设计一个安全的对外接口
博主之前做过恒丰银行代收付系统(相当于支付接口),包括现在的oltpapi交易接口和虚拟业务的对外提供数据接口。总之,当你做了很多项目写了很多代码的时候,就需要回过头来,多总结总结,这样你会看到更多之前写代码的时候看不到的东西,也能更明白为什么要这样做。做接口需要考虑的问题什么是接口接口无非就是客户端请求你的接口地址,并传入一堆该接口定义好的参数,通过接口自身的逻辑处理,返回接口约定好的数据以及相...
2024-01-13 22:19:47 90
转载 20 个实例玩转 Java 8 Stream
先贴上几个案例,水平高超的同学可以挑战一下:1. 从员工集合中筛选出salary大于8000的员工,并放置到新的集合里。2. 统计员工的最高薪资、平均薪资、薪资之和。3. 将员工按薪资从高到低排序,同样薪资者年龄小者在前。4. 将员工按性别分类,将员工按性别和地区分类,将员工按薪资是否高于8000分为两部分。用传统的迭代处理也不是很难,但代码就显得冗余了,跟Stream相比高下立判。Java 8 ...
2024-01-08 22:28:09 123 1
转载 雪花算法ID之Long类型精度丢失
1、问题概述项目中使用雪花ID作为主键,雪花ID是19位Long类型数字,数据返回到前端会出现精度丢失问题,数字已经超过了前端浏览器或JS的最大值。Java后端数据模型返回到浏览器后的数据模型,前后数据不一致2、后端解决方式序列化时将Long类型转成String类型2.1、全局设置在启动类中加 @JsonComponent 注解在定义如下转换Beanpackagecom.olive.config...
2024-01-05 21:18:26 98
原创 安装APISIX服务
安装 epel,luarocks需要它#添加 OpenResty 源#安装 OpenResty, etcd 和 编译工具#开启 etcd server如果在访问过程中遇到访问不到的问题可以,可以试着关闭一下防火墙和selinux#防火墙关闭#关闭selinux。
2023-12-26 22:01:19 413
转载 Spring Boot 过滤器、拦截器、监听器对比及使用场景
一、关系图理解二、区别1.过滤器过滤器是在web应用启动的时候初始化一次, 在web应用停止的时候销毁可以对请求的URL进行过滤, 对敏感词过滤挡在拦截器的外层实现的是javax.servlet.Filter接口,是 Servlet 规范的一部分在请求进入容器后,但在进入servlet之前进行预处理,请求结束是在servlet处理完以后依赖Web容器会多次执行1.1HttpServletReq...
2023-12-24 21:43:07 298
转载 妙用Java 8中的 Function接口,消灭if...else
来源:juejin.cn/post/7011435192803917831Function函数式接口Supplier供给型函数Consumer消费型函数Runnable无参无返回型函数Function函数的表现形式为接收一个参数,并返回一个值。Supplier、Consumer和Runnable可以看作Function的一种特殊表现形式使用小技巧处理抛出异常的if处理if分支操作如果存在值执行消...
2023-12-17 22:09:08 104
转载 Spring Boot 内置工具类应有尽有
来源:juejin.cn/post/7043403364020781064断言对象、数组、集合ObjectUtilsStringUtilsCollectionUtils文件、资源、IO 流FileCopyUtilsResourceUtilsStreamUtils反射、AOPReflectionUtilsAopUtilsAopContext最近发现同事写了不少重复的工具类,发现其中很多功能,Spri...
2023-12-10 22:31:12 100
转载 Kubernetes 实战:使用 k8s+jenkins 实现 CICD!
1什么是CICDCIDI(Continuous Integration,Continuous Delivery & Deployment),持续集成,持续部署,持续发布。也就是说,在本地开发完代码之后,push到远程仓库,然后代码打包、部署的这个过程完全是自动化完成的。但是我们不要进入一个误区,CICD并不意味着一定就是这一套流程,只要实现了代码提交后自动部署即可,不管是部署在k8s还是t...
2023-12-03 20:39:56 207
转载 基于Spring Cloud Gateway实现服务的灰度发布
服务上线后由于 bug 修复、扩容、或者发现了更好的方法进行了重构等原因,总免不了需要发布新版本,进行系统变更升级。服务变更过程本身也是引起服务不可用的重要原因。为了尽量降低可能出现故障而造成的损失,比较流行的思路是采用灰度发布策略,逐步增加流量导入新版本服务实例上,直至将所有流量切到新版本,下线旧版本。由于,spring cloud gateway 作为整个系统的入口,在 spring clou...
2023-11-26 21:39:12 316
转载 SpringBoot 拦截器与统一功能处理
前言Spring AOP是一个基于面向切面编程的框架,用于将横切性关注点(如日志记录、事务管理)与业务逻辑分离,通过代理对象将这些关注点织入到目标对象的方法执行前后、抛出异常或返回结果时等特定位置执行,从而提高程序的可复用性、可维护性和灵活性。但使用原生Spring AOP实现统一的拦截是非常繁琐、困难的。而在本节,我们将使用一种简单的方式进行统一功能处理,这也是AOP的一次实战,具体如下:统一...
2023-11-20 21:09:35 131
转载 对外开放接口的签名认证方案
1、场景由于项目需要开发第三方接口给多个供应商,为保证Api接口的安全性,遂采用Api接口签名验证。2、接口防御措施请求发起时间得在限制范围内请求的用户是否真实存在是否存在重复请求请求参数是否被篡改3、签名认证逻辑3.1、服务端生成一对 accessKey/secretKey密钥对,将 accessKey公开给客户端,将 secretKey 保密。3.2、客户端使用 secretKey和一些请求参...
2023-11-17 20:34:35 167
转载 Tomcat 为什么要破坏 Java 双亲委派机制?
1.什么是类加载机制?类与类加载器的关系2.什么是双亲委任模型为什么要这么做呢?双亲委任模型时如何实现的?3.如何破坏双亲委任模型?4.Tomcat 的类加载器是怎么设计的?Tomcat 如何实现自己独特的类加载机制?总结我想,在研究tomcat 类加载之前,我们复习一下或者说巩固一下java 默认的类加载器。楼主以前对类加载也是懵懵懂懂,借此机会,也好好复习一下。楼主翻开了神书《深入理解Java...
2023-11-07 21:48:18 464
转载 SpringBoot全局异常处理方案一览
来源:https://blog.csdn.net/JokerLJG/article/details/123297513目录异常处理方案分类基于请求转发基于异常处理器基于过滤器常见异常处理实现方案BasicExceptionController@ExceptionHandler@ControllerAdvice+@ExceptionHandlerSimpleMappingExceptionReso...
2023-11-02 21:22:38 314
转载 如何写出整洁的代码
通过这篇文章你将了解到整洁的代码对项目、公司和你的重要性,以及如何书写整洁的代码.通过命名、类、函数、测试这四个章节,使我们的代码变得整洁.1、为什么要保持代码整洁?不整洁的代码随着时间的增加而增加时,生产力会随之降低.导致的结果就是:代码不易扩展或扩展容易引发其他问题程序崩溃加班增加公司成本(加人)甚至可能造成公司倒闭一图胜千言1.1、所以从一开始就要保持整洁所以在一开始就要写整洁的代码,如果有...
2023-10-28 21:45:23 110
转载 24 个常见的 Docker 疑难杂症处理技巧
1Docker 迁移存储目录默认情况系统会将 Docker 容器存放在 /var/lib/docker 目录下[问题起因]今天通过监控系统,发现公司其中一台服务器的磁盘快慢,随即上去看了下,发现/var/lib/docker这个目录特别大。由上述原因,我们都知道,在/var/lib/docker中存储的都是相关于容器的存储,所以也不能随便的将其删除掉。那就准备迁移docker的存储目...
2023-10-24 20:59:02 163
转载 MyBatis 架构与原理深入解析
1 引言本文主要讲解JDBC怎么演变到Mybatis的渐变过程,重点讲解了为什么要将JDBC封装成Mybaits这样一个持久层框架。再而论述Mybatis作为一个数据持久层框架本身有待改进之处。2 JDBC实现查询分析我们先看看我们最熟悉也是最基础的通过JDBC查询数据库数据,一般需要以下七个步骤:加载JDBC驱动;建立并获取数据库连接;创建 JDBC Statements 对象;设置SQL语句的...
2023-10-22 21:46:33 146
转载 SpringBoot 快速实现 api 加密
在项目中,为了保证数据的安全,我们常常会对传递的数据进行加密。常用的加密算法包括对称加密(AES)和非对称加密(RSA),博主选取码云上最简单的API加密项目进行下面的讲解。项目介绍该项目使用RSA加密方式对API接口返回的数据加密,让API数据更加安全。别人无法对提供的数据进行破解。Spring Boot接口加密,可以对返回值、参数值通过注解的方式自动加解密 。什么是RSA加密首先我们当然是了解...
2023-10-17 22:06:06 122
转载 如何写出优雅的代码!
通过这篇文章你将了解到整洁的代码对项目、公司和你的重要性,以及如何书写整洁的代码.通过命名、类、函数、测试这四个章节,使我们的代码变得整洁.1、为什么要保持代码整洁?不整洁的代码随着时间的增加而增加时,生产力会随之降低.导致的结果就是:代码不易扩展或扩展容易引发其他问题程序崩溃加班增加公司成本(加人)甚至可能造成公司倒闭一图胜千言1.1、所以从一开始就要保持整洁所以在一开始就要写整洁的代码,如果有...
2023-10-15 10:13:20 117
转载 非常实用的 Shell 脚本实例!
1、检测两台服务器指定目录下的文件一致性#!/bin/bash######################################检测两台服务器指定目录下的文件一致性######################################通过对比两台服务器上文件的md5值,达到检测一致性的目的dir=/data/webb_ip=192.168.88.10#将指定目录下的文...
2023-10-11 22:02:33 177
转载 轻松搞定 Nginx 跨域配置
当你遇到跨域问题,不要立刻就选择复制去尝试。请详细看完这篇文章再处理 。我相信它能帮到你。分析前准备:前端网站地址:http://localhost:8080服务端网址:http://localhost:59200首先保证服务端是没有处理跨域的,其次,先用postman测试服务端接口是正常的当网站8080去访问服务端接口时,就产生了跨域问题,那么如何解决?接下来我把跨域遇到的各种情况都列举出来并通...
2023-10-07 21:21:14 1819
转载 详解 Stream 流式编程,写出优雅代码
一、引言1.1 流式编程的概念和作用Java 流(Stream)是一连串的元素序列,可以进行各种操作以实现数据的转换和处理。流式编程的概念基于函数式编程的思想,旨在简化代码,提高可读性和可维护性。Java Stream 的主要作用有以下几个方面:简化集合操作:使用传统的 for 循环或迭代器来处理集合数据可能会导致冗长而复杂的代码。而使用流式编程,能够用更直观、更简洁的方式对集合进行过滤、映射、排...
2023-10-05 14:06:20 198
转载 把权限系统设计撸的炉火纯青!
思维导图如下RBAC权限分析RBAC 全称为基于角色的权限控制,本段将会从什么是RBAC,模型分类,什么是权限,用户组的使用,实例分析等几个方面阐述RBAC思维导图绘制思维导图如下什么是RBACRBAC 全称为用户角色权限控制,通过角色关联用户,角色关联权限,这种方式,间阶的赋予用户的权限,如下图所示对于通常的系统而言,存在多个用户具有相同的权限,在分配的时候,要为指定的用户分配相关的权限,修改的...
2023-09-28 21:28:59 144
apr apr-util httpd pcre
2018-01-29
最新 svnadmin-3.0.5.zip svnadmin svnadmin.war
2017-11-16
推哈网最新爆款淘宝客 源码开源学习 PHP
2014-02-16
Android开发者指南——adb(移动云_文斌).pdf
2011-03-06
20个小时快速入门go语言 源码
2024-02-29
图的着色问题.zip
2020-10-31
rabbitmq-server-3.8.1
2020-08-28
cvs cvsacl
2018-02-05
openssh openssh-client openssh-server
2018-02-05
subversion-deps-1.6.6 apr-1.3.9 apr-util-1.3.9 subversion-1.6.13
2018-01-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人