自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

玖涯博客

玖涯博客:https://blog.nineya.com

  • 博客(125)
  • 资源 (4)
  • 收藏
  • 关注

原创 GO 的 Web 开发系列(八)—— Gin 自定义 Html 渲染实现多租户的模板设计

正常情况下 Gin 配置的所有模板都属于同一个模板组合,相同名称的模板将相互覆盖。在未通过 define 指定模板名称时,同名模板文件也将相互覆盖。自定义函数中也无法区分租户,这将非常不方便我们进行多租户的模板渲染处理。通过自定义 HTML 渲染器,将一一解决这些问题。

2024-04-22 19:03:52 391

原创 GO 的 Web 开发系列(七)—— 数据库所有字段必须全部 not null

实现接口功能后,需要在接口中通过数据库操作,实现 Web 系统的业务功能。而 Go 因为其一些特性,数据类型和数据库的适配存在一些问题,需要在数据库开发设计时提前考虑。

2024-03-17 22:15:51 757

原创 几大开源免费的 JavaScript 富文本编辑器测评

MarkDown 编辑器用的时间长了,发现发现富文本编辑器用起来是真的舒服。

2024-03-09 01:05:10 20779

原创 GO 的 Web 开发系列(六)—— 遍历路径下的文件

件 IO 处理是程序的基础功能,WEB 程序中通过文件 IO 实现附件的上传与下载。在 GO 中,有多种方式可以遍历文件目录,获取文件路径,本文从使用层面上论述这些函数。

2024-02-29 23:50:14 586

原创 GO 的 Web 开发系列(五)—— 使用 Swagger 生成一份好看的接口文档

经过前面的文章,已经完成了 Web 系统基础功能的搭建,也实现了 API 接口、HTML 模板渲染等功能。接下来要做的就是使用 Swagger 工具,为这些 Api 接口生成一份好看的接口文档。

2024-02-12 20:49:09 1670 1

原创 GO 的 Web 开发系列(四)—— 静态资源文件访问的几种方式

Web 开发过程中,不可避免会包含有 js / css 等静态资源文件,在 Gin 框架中如何优雅的访问这些静态资源呢?

2024-01-31 21:04:16 608

原创 GO 的 Web 开发系列(三)—— 通过 Gin 实现 Html 模板和 Api 接口路由

Gin 的路由其实就是 Java 的 @RequestMapping,只是配置方式上有所不同。

2024-01-31 01:05:55 635

原创 GO 的 Web 开发系列(二)—— Web 项目的技术框架选择和项目搭建

基础篇!Web 系统搭建第一步,选择技术框架,完成 Hello World。

2024-01-24 21:02:19 586

原创 GO 的 Web 开发系列(一)—— Java 与 Go 做 Web 程序的区别

从零开始,总结 Go 开发 Web 系统的经验。

2024-01-21 16:27:56 1192

原创 Python爬虫时被封IP,该怎么解决?四大动态IP平台测评

在使用 Python 进行爬虫时,很有可能因为一些异常行为被封 IP,这主要是因为一些爬虫时产生的异常行为导致的。

2024-01-19 16:50:04 2147

原创 通过 Nginx 代理实现网页内容替换

突发奇想,用 Nginx 代理一个网站,把网站的一些关键字替换掉,蛮有意思的。

2023-12-24 03:29:45 668

原创 Spring 源码分析(六)——Bug?getBean取出的Bean居然未经初始化

Spring 是线程安全的,支持多线程并发调用。但在某种特殊情况下,使用 BeanFactory 的 getBean 方法,我成功拿到了未经初始化的 Bean(是BUG,亦或是出于某种原因考虑的特性?)。

2023-11-14 23:43:28 250

原创 Spring 源码分析(五)——Spring三级缓存的作用分别是什么?

Spring 的三级缓存是经典面试题,也会看到一些文章讲三级缓存与循环依赖之的关系。那么,三级缓存分别存储的什么呢?他们的作用又分别是什么?

2023-09-28 23:07:11 1481

原创 Spring 源码分析(四)——Spring 如何解决循环依赖

Spring 如何解决循环依赖这是一个非常经典的面试问题,那么 Spring 是如何解决循环依赖问题的呢?又是否能够让其解决循环依赖的方法失效呢?

2023-09-15 23:26:47 278

原创 CGLIB 和 JDK 两种动态代理方法对比

Spring 动态代理时提供了 JDK 代理和 CGLIB 两种方式,一般而言,代理的目标是接口时 AOP 使用 JDK 代理来实现,CGLIB 则负责对类进行代理,两种代理方法结合使用。

2023-08-11 14:48:48 194

原创 Spring 创建 Bean 的三种方式

在使用 Spring 框架后,对象以 Bean 的形式统一交给 IOC 容器去创建和管理。现阶段主流的方式是基于 SpringBoot 框架,基于注解的方式实现 Bean 的创建,但在原生 Spring 框架中其实存在三种创建 Bean 的方式。

2023-08-05 23:55:24 693

原创 Hexo写文章不方便?用上GitHub Actions真的是泰裤辣

对于做个人博客的小伙伴来说 HEXO 大家肯定都是非常熟悉的吧,这是一个静态的个人博客程序,通过 HEXO + GitHub Pages 搭建免费个人博客也是很多博主的选择。但相信肯定也会有些困恼,比如博客的渲染维护太麻烦了,我要在一台新设备上写博客并推送到 GitHub Pages 还要先安装 Nodejs、HEXO 和插件?有了 GitHub Pages 完全可以放开 HEXO 专注写博客。

2023-05-31 22:37:34 292

原创 对三门问题的思考,应该细分两种情况

三门问题来源于一个娱乐节目。节目中有一位参与者和一位主持人,在参与者的面前有三扇关闭的门,其中两扇门的后面是空的,剩下一扇门后是一辆法拉利跑车。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,是空门。主持人其后会问参赛者要不要换另一扇仍然关上的门。本质问题是换另一扇门会否增加参赛者赢得汽车的机会率?网上统一的答案是“会”,但是我发现有一个很重要的一点都被网上的文章忽略了,主持人他知道中奖的门吗?

2023-04-24 18:57:26 448 1

原创 Dream 主题之 Halo 2.0 适配,以及适配前后的一些异同

经过一段时间的适配,目前 Dream 已经发布了基于Halo 2.x的第一个预发版本。目前对主题所有功能都完成了适配,但是由于Halo 2.x与1.x的一些不同,以及Thyeleaf模板引擎与FreeMaker模板渲染引擎的一些不同的特性,适配前与适配后在具体功能上还有一些明显的差异。目前也有一些博主对是否升级Halo 2.x持观望态度,本文从Dream主题的角度出发,阐述了Halo 2.3.0版本与1.6.1这两个版本上的一些不同之处。

2023-04-11 10:10:04 900

原创 Dream 主题使用手册 - 基础篇

Dream 主题基于 Halo 博客系统开发,本文将介绍本主题一些功能的使用,文档将持续更新。

2023-04-11 10:05:35 680 2

原创 Spring 源码分析(二)——GenericBeanDefinition 分析

BeanDefinition 中存储着 Bean 的定义信息,它具有属性值、构造函数参数值以及具体实现 Bean 提供的进一步信息,在学习 Spring 的 Bean 初始化流程之前,还是非常有必要先了解一下 BeanDefinition。

2023-04-11 10:02:04 446

原创 全文检索工具 Lucene 入门

最近在了解 Halo 博客后端源码,而全文检索是 Halo 做的比较差的一块内容,仅通过数据库的模糊查询来实现文章检索。对于搜索引擎之前了解的也不多,所以开始入门 Lucene 检索引擎,如果可以的话准备将该引擎应用于 Halo 之上。

2023-04-04 10:22:26 411

原创 互联网新理念,对于WEB 3.0 你怎么看?

WEB 3.0 这个名词走进大众视野已经有一段时间了,也曾在各个圈子里火热一时,至今各大互联网企业任旧在 WEB 3.0 上不断探索。但关于 WEB 3.0 是什么这个问题,其实大部分人都没有一个比较明确的认知,包括区块链和元宇宙等相关行业的从业人士在内,也包括我本人亦是如此。本文非技术性文章,从一个普通互联网用户角度,讲讲个人对 WEB 3.0 的理解与看法。

2023-03-11 19:08:52 1182

原创 GCC编译环境升级部署

近期经常遇到使用源码编译的部署方式进行应用部署,在 GCC 编译环境上遇到各种问题,本文对升级部署 GCC 编译环境的流程以及遇到的一些问题进行记录。

2023-03-09 10:22:08 722

原创 Oauth2.0四种授权模式适用场景和授权流程介绍以及个人的一些思考

Oauth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准,先前曾经了解过在 spring-security-oauth2 中 Oauth 四种模式的实现,也通过 Shiro 实现了 Oauth 的授权流程。目前 spring-security-oauth2 已经被逐步废弃,Spring 也提供了新的框架 spring-authorization-server,整个框架基于 Oauth 2.1 开发。目前重新整理项目代码,借此机会详细梳理一遍 Oauth2.0 授权模式的适用场景和授权流程,

2023-03-09 09:41:54 4518 1

原创 单点登录的几种实现方式探讨

单点登录(Single Sign On),简称为 SSO,是解决企业内部的一系列产品登录问题的方案。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,用于减少用户重复的登录操作,提升用户体验。从技术层面上讲,单点登录目前有多种实现方案,本文从博主个人的理解出发,比较这几种不同方案的优劣和适用场景。

2023-03-09 09:41:21 1441

原创 MySQL 数据库运维与管理相关命令

最开始,服务器部署使用的宝塔面板,数据库运维管理全都是在宝塔上可视化操作,并没有真正的面对数据库执行过命令。出于某些原因,后续不准备再继续使用宝塔面板,所以,记录一下关于 MySQL 数据库管理方面相关的方法和命令。

2023-03-09 09:40:51 446

原创 在 Java 中,什么条件下两个 String 会是同一个对象?

这段时间工作上经常用遇到 String 对象比较的问题,这是一个比较基础的问题,但有时候对其原因还是有些迷惑,所以稍微总结一下。

2023-03-09 09:38:28 363

原创 Nacos 运维部署流程与常见配置方法

在使用 Nacos 时进行了一些配置的调整,过程中也遇到了一些问题,所以对 Nacos 部署上的一些要点进行了整理,详见官方文档:https://nacos.io/zh-cn/docs/v2/quickstart/quick-start.html部署 Nacos 需要 JDK 环境,版本要求为 1.8 及其以上版本。如果采用源码部署方案,则需要 Maven,版本要求为 3.2 及其以上版本。

2023-03-09 09:38:13 2412

原创 Ubuntu 22.04 桌面美化之Mac Big Sur风格

Ubuntu 默认的桌面也是一个不错的样式,但千篇一律的主题很容易让人疲惫。本文描述了如何通过安装 gnome 桌面主题和动画,使桌面趋向于 Mac 的样式。

2022-12-08 21:26:46 26134 7

原创 在 Java 中,什么条件下两个 String 会是同一个对象?

这段时间工作上经常用遇到 String 对象比较的问题,这是一个比较基础的问题,但有时候对其原因还是有些迷惑,所以稍微总结一下。

2022-12-08 21:22:10 697

原创 通过Service Worker实现网页离线缓存、CDN并发请求和缓存版本控制

Service Worker 是一个服务器与浏览器之间的中间人角色,它可以拦截网络请求并根据网络具体情况采取适当的动作、更新来自服务器的的资源。本文通过 Service Worker 代理请求,实现网页第二次访问的离线访问和CDN并发请求功能,提高网站的访问速度,同时能够避免 jsDeliver 这类 CDN 问题造成的网站不可用的情况。......

2022-06-15 14:16:07 1208

原创 低价低配的海外服务器的对比

如果你的域名没有备案,那么你使用国内的云服务器寸步难行。除此之外,海外云服务器的带宽普遍较大,能够满足一些人的特殊需求。很多人说海外服务器普遍价格低廉,但我实际的观察并非如此,海外服务器起步价普遍价格在 3-5 美元/月,而腾讯云、阿里云等云服务器厂商,他们的云服务器普遍是99元/年起步,这个价格相对来说已经很低了,且轻量应用服务器价格更加的低廉。当然其中有部分活动是针对新人的,但是普遍价格还是比较低的。本文整理了目前调研过的几个海外云服务器网站,主要关注点在于 低价低配,没有太大的应用需求。...

2022-06-09 19:28:56 5258 1

原创 网站访问速度优化之pjax

pjax 是 ajax 和 pushState 的结合,它是一个 jQuery 插件。它通过 ajax 从服务器端获取 HTML 文件,在页面中用获取到的HTML替换指定容器元素中的内容。然后使用 pushState 技术更新浏览器地址栏中的当前地址,并且保持了真实的地址、网页标题,浏览器的后退(前进)按钮也可以正常使用。

2022-05-02 17:00:43 3450

原创 使用FreeCDN提升网站的访问速度

freecdn 是一个纯前端的 CDN 解决方案,用于降低网站流量成本,同时提高网站稳定性、安全性,并且无需修改现有的业务逻辑。其核心使用了 HTML5 中一个重要的 API —— Service Worker。它是一种浏览器后台服务,能拦截当前站点产生的 HTTP 请求,并能控制返回结果,相当于给网站加了一层反向代理。有了这个黑科技,我们可以把传统 CDN 的功能搬到前端,例如负载均衡、故障切换等,通过 JS 灵活处理各种请求。

2022-05-01 20:45:17 1872

原创 网站访问速度优化之ServiceWorker

ServiceWorker 担任了服务器与浏览器的中间人角色,如果网站中注册了 ServiceWorker 那么它可以拦截当前网所有的请求,并做相应的处理动作。ServiceWorker 内容就是一段 JavaScript 脚本,内部可以编写相应的处理逻辑,比如对请求进行缓存处理,能直接使用缓存的就直接返回缓存不再转给服务器,从而大大提高浏览体验。有些开源工具包存在多个 CDN 站点,使用 ServiceWorker 可以实现自动寻找访问最快的站点,如果某个站点发生错误,可以自动切换,FreeCDN

2022-05-01 19:38:25 1128

原创 Kafka 常用命令

本文以 kafka_2.5.1 版本为例,描述的常用命令,在 3.x 版本上命令有所不同。

2022-03-11 09:18:32 13268

原创 在CentOS 7.6上单机部署Kafka

本文以 kafka_2.13-3.1.0.tgz 版本为例,描述在 CentOS 7.6 上单机方式部署 kafka 的流程。

2022-03-02 09:22:37 2641

原创 Docker 一些基础使用命令

本文基于 docker 20.10.12 版本,整理了 docker 中一些常用的基础命令,命令主要分为镜像相关和容器相关两个部分。

2022-03-01 14:14:22 576

原创 在CentOS 7.6上单机部署Zookeeper

本文以 ZooKeeper 3.7.0 版本为例,描述在 CentOS 7.6 上单机方式部署 Zookeeper 的流程。

2022-03-01 13:48:29 3592

SSH示例项目.zip

搭建的一个完整的Struts+Spring+Hibernate项目,项目结构清晰,分层明确。业务功能比较简单,适合初学者入门。

2020-01-22

spring aop简单示例.rar

aop的原理基于java动态代理模式,本资源是spring的aop运用简单示例,用于帮助初学者理解和运用aop技术

2019-12-13

hexo-admin2.3.0补丁.zip

hexo-admin补丁修复了hexo-admin插入图片失败的bug,同时还添加了以下功能:1.对整个插件进行了汉化、2.添加了按文章分目录存储图片的功能,方便进行图片的管理和删除、3.修复了编辑界面预览链接错误bug、4.修复了新建“导航选项的分页”失败bug。

2019-12-04

springboot.zip

一个采用springboot+mybatis+mysql搭建的简单项目示例Deom,结构清晰,帮助新手快速掌握springboot+mybatis整合。

2019-12-01

空空如也

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

TA关注的人

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