自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何在开发和生产环境中使用 Docker 容器化 Golang 应用

在本节中,你将学习如何在你的机器上设置你的 Golang 应用程序进行本地开发。对于希望将源代码放在容器外部的开发和希望正在运行的容器对源代码的改变作出反应的开发来说,就不是很合适了。主要思路是你在一个容器中构建你的 Golang 应用程序,然后将它移动到另一个更小的容器中,从而丢弃了磁盘空间沉重的容器。本文的目的就是帮助你快速将你的 Golang 应用程序容器化,以用于 开发 (带热加载)和 生产 目的。Docker 是一个成熟的工具集,它已经存在了足够长的时间,可以提供大量优秀的教学资源来帮助你学习。

2022-09-21 10:22:22 328 1

原创 Spring Security 系列教程 03-- 实现 HTTP 基本认证

在进行编码之前,我们还是老规矩,先了解一下"认证"的概念,不能连认证是啥意思都不知道,就去撸码,撸了半天都不知道撸的是什么,这有个什么劲啊。认证:所谓的认证,就是用来判断系统中是否存在某用户,并判断该用户的身份是否合法的过程,解决的其实是用户登录的问题。认证的存在,是为了保护系统中的隐私数据与资源,只有合法的用户才可以访问系统中的资源。在 3 种认证方式中,一一哥 先带各位小伙伴来学习最简单的基本认证方式,看看基本认证又是个什么情况。在 Spring Security 4.x 版本中,

2022-09-03 14:49:59 535 1

原创 Java中常见IO的原理及适用场景

HTTP/1.1出现后,有了Http长连接,这样除了超时和指明特定关闭的http header外,这个链接是一直打开的状态的,这样在NIO处理中可以进一步的进化,在后端资源中可以实现资源池或者队列,当请求来的话,开启的线程把请求和请求数据传送给后端资源池或者队列里面就返回,并且在全局的地方保持住这个现场(哪个连接的哪个请求等),在此种方式下,用户进程发起一个IO操作以后边可返回做其它事情,但是用户进程需要时不时的询问IO操作是否就绪,这就要求用户进程不停的去询问,从而引入不必要的CPU资源浪费。

2022-09-03 14:49:20 210

原创 分布式二级缓存组件实战(Redis+Caffeine实现)

核心是get方法与put方法。@Getter/*** 默认key超时时间 3600s*/{}}}@Override}@Override}@Override= null) {}//key在redis和缓存中均不存在}try {= null) {}//执行原方法获得value}}@Overrideif (!return;}

2022-09-03 14:48:47 273

原创 制定组织内 Maven BOM 的一些规范

BOM(Bill of Materials)是由 Maven 提供的功能,它通过定义一整套相互兼容的 jar 包版本集合,使用时只需要依赖该BOM文件,即可放心的使用需要的依赖 jar 包,且无需再指定版本号。

2022-09-03 14:48:06 313

原创 软件设计原则之 SOLID Principle

软件设计有很多原则,比如软件设计上的 SOLID principle,单元测试中的 FIRST和AAA,代码实现上的 DRY principle 等。熟悉这些原则,可以把我们的经验上升到理论高度,有利于程序员的成长,也便于团队带头人和组员控制软件质量。我们先介绍 SOLID 原则。SOLID 是下面几个英文词组的缩写单一职责原则开放扩展,封闭修改Liskov 替换原则接口隔离原则依赖反转原则。

2022-09-03 14:47:31 87

原创 面试被问MySQL 如何去重,还有谁不会?

在使用SQL提数的时候,常会遇到表内有重复值的时候,比如我们想得到 uv (独立访客),就需要做去重。在 MySQL 中通常是使用 distinct 或 group by子句,但在支持窗口函数的 sql(如Hive SQL、Oracle等等) 中还可以使用 row_number 窗口函数进行去重。举个栗子,现有这样一张表 task:注意:一个任务对应多条订单。

2022-09-03 14:46:58 98

原创 MySQL对JOIN做了那些不为人知的优化?

本期主要分享了NLJ、BNJ的算法优化在这些优化中,hash_join在MySQL8.0.18中已经内置支持了,但低版本的还是默认为BKA算法建议给被驱动表需要join字段加上索引,把BNL算法转为BKA或者hash_join算法同时还给大家提供了一个临时表的方案,临时表在开发过程中是非常容易忽略的一个优化点,可以在适当的环境下学会使用临时表。

2022-09-03 14:45:48 58

原创 MySQL夺命16问,你能坚持到第几问?

在修改表内容的时候,索引会进行更新甚至重构,索引列越多,这个时间就会越长。所以只保持需要的索引有利于查询即可。由于到来的ID与原来的大小不确定,会造成非常多的数据插入,数据移动,然后导致产生很多的内存碎片,进而造成插入性能的下降。如果是 mysqld 造成的, show processlist,看看里面跑的 session 情况,这些权限表分别user,db,table_priv,columns_priv和host。由于某些原因,前一个RollBack了操作,则后一个事务所读取的数据就会是不正确的。

2022-09-03 14:44:48 39

原创 你打英雄联盟or王者荣耀为什么老是匹配到怨种队友,进来看

我有个朋友抱怨说打排位匹配的队友太菜了,我就说我打排位觉得队友都挺行的啊?我经常躺赢。朋友意味深长地说了句:一般隐藏分比较高的玩家,排位如果排不到实力相当的队友,就会排到一些菜狗。嗯?我想了几秒钟感觉这小伙子不对劲,他意思是说我隐藏分低,还是说我就是那条菜狗?我立马要求和他开黑打一把,证明我不是菜狗,他才是菜狗。打完之后我就来发文了,虽然结果不便透露,但我对游戏的匹配机制有了一点思考。无论是LOL的MMR机制亦或是王者荣耀的ELO机制,归根结底都是MOBA类游戏,游戏机制都是有迹可循的。

2022-09-03 14:44:03 864

空空如也

空空如也

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

TA关注的人

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