自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Golang同步并发】for循环与waitGroup的“孽缘”

作者本人就是在近期上线发布代码时因为这个闭包问题导致通过 for 循环 slice 的 i 下标取另一个长度相等的 slice 的值时出现 index 超过 slice 长度的 panic,好在当时在灰度新功能期间发现,否则后果不堪设想。在实际的业务开发中,我们往往很难通过自测发现上述代码的问题 ,这个的 bug 非常隐秘,可能需要一定规模的 “调用量” 去放大问题才能较容易被发现,当然也取决于。的现象,因为 for 循环体改变 key 和 value 的值的时机 与 goroutine 内运行。

2023-09-11 23:52:35 185

原创 [Protobuf 篇] Protobuf开发环境安装与开发流程(GRPC)

grpc是一套由谷歌Google公司开发并开源的RPC(远程过程调用)框架,特点是突破了语言限制,任何语言均可无障碍调用,提高了网络应用开发效率。目前该框架的最新使用版本为 proto3 (protocol buffers)。1. protobuf 安装参考网站: gRPC - go1.1 安装 protoc 编译器go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.26go install google.golang.org/g

2021-12-22 17:05:54 378

原创 [容器式开发篇] Docker相关常用指令

Docker 是一个开源的应用容器引擎,诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。容器是完全使用沙箱机制,相互隔离,容器性能开销极低。Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)。1. 安装 Docker#

2021-09-20 11:45:47 536

原创 [编程规范篇] 《阿里巴巴开发手册》泰山版 解读

本文章主要记录一些自己日常容易犯错或者推荐遵守的编程习惯。一、编程规约1. 命名风格1.【强制】 包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。正例:应用工具类包名为com.alibaba.ei.kunlun.aap.util、类名为MessageUtils(此规则参考spring的框架结构)2.(推荐) 在常量与变量的命名时,表示类型的名词放在词尾,以提升辨识度。正例:startTime / workQueue

2021-09-03 23:01:47 1246

原创 [Spring 框架学习之路篇] kkb内推管理平台项目总结

该项目主要完成了平台的后端工程微服务的搭建和后端接口的实现,以及后期项目调优等工作。一、微服务部署微服务模块如下:其中,需要与前台对接的微服务的主要是 kkb-admin 和 kkb-portal 两个,也是我们需要实现业务的两个模块,很多代码都调用到了 kkb-common 中的工具,如 redis 存取工具等。kkb-mbg-plus代码生成工具也是神器,自动生成 pojo、dao、service 层内的通用代码。kkb-gateway 主要是我部署的,内部设置了很多转发、过滤的规则。.

2021-09-03 18:22:08 537

原创 [Spring框架学习之路篇] SpringBoot 快速开发启动器

SpringBoot 是 Spring 快速开发的脚手架,通过约定大于配置的方式,快速构建和启动 spring 项目。由于按原来的方法创建一个 spring 工程需要编写大量的 xml 配置文件,并且存在复杂的依赖管理,不利于编程人员的开发,于是 SpringBoot 就诞生了。SpringBoot 的特点快速开发 spring 应用的框架内嵌 tomcal 和 jetty 容器,不需要单独安装容器,jar 包直接发布一个 web 应用简化 maven 配置,以 parent 方式,一站式引入需

2021-07-01 15:43:27 203

原创 [SpringBoot填坑篇] 前端向后台传入实体类的对象@RequestBody出现请求415问题

没有RequestBody报400的错(用的是表单serialize方法,放到ajax的data中发送到后端),有RequestBody后又报415的错,解决办法如下:转载文章:https://blog.csdn.net/java_xxxx/article/details/81163432

2021-06-28 21:32:00 776

原创 [SpringBoot填坑篇] Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded

转载文章:https://blog.csdn.net/weixin_42325823/article/details/88779044

2021-06-27 23:02:10 67

原创 [Spring框架学习之路篇] Spring 开发框架

Spring是一个分层的 Java SE/EE full-stack 开源的轻量级 java开发框架,也是目前开发当中最主流的框架。其具有 控制反转 (IoC) 和 面向切面 (AOP) 两大核心,且Spring可以通过 注解、声明 等方式灵活进行 事务 的管理,大大提高了开发效率和质量。Spring 的优势方便解耦,可以将所有对象的创建和依赖关系的维护交由 Spring 管理;允许集成各种优秀的框架,如 Struts2、Hibernate、MyBatis 等;降低 Java EE API 使用难

2021-06-15 21:56:49 245

原创 [Java学习之路篇] 设计原则与设计模式

编程可谓博大精深,按照不同的思路逻辑、框架规范编写出来的程序运行的效率都大相径庭。本篇并不只针对Java程序,应适用于所有编写的程序,是编程世界中的一套方法论,俗称编程套路。它们会出现在目前很多大公司开发常用库的源码中,让整套开发库运行更高效。1. 六大设计原则1. 开闭原则 (Open Closed Principle, OCP)开闭原则简言之就是对拓展开放,对修改关闭。这样可以减少遇到新问题、新需求时对原有代码的修改次数,提高代码的重用率和可维护性。实例有JAVA版本的迭代,对不推荐使用的代码,官

2021-06-11 23:55:58 1933

原创 [JavaWeb填坑篇] java.lang.IllegalArgumentException: Files‘ name is invalid or does not exist (1205)异常处理

在做SmartUpload代码的测试时,遇到了java.lang.IllegalArgumentException: Files’ name is invalid or does not exist (1205).这个异常。解决方法:原因是上传图片的表单 form 没有添加属性 enctype=“multipart/form-data” 导致的。另外,图上的 input 图片一定要带上 name 属性。...

2021-03-14 22:42:48 1055

原创 [Java学习之路篇] Java集合类库之Map接口

所在包:java.util运用数据结构解决实际问题时,常常涉及到以空间换时间的问题,哈希表就能很好地解决此类问题,因为它检索快。而在java中已经有一个叫 Map 的接口及其实现类来归纳这些需要用到 键值对 Entry 的数据结构,方便开发人员根据需要来存储数据。Map接口的常用方法有:1、 添加元素V put(K key, V value) 返回原来该位置的值void putAll(Map<? extends K, ? extends V> m)2、 删除元素V remov

2021-01-31 18:04:36 234

原创 [Java学习之路篇] Java集合类库之Collection接口

所在包:java.util在编程的过程中,但凡遇到与数据结构相关的问题时,都离不开Collection接口与Map接口,两者是整个集合类库中最基本的根接口。而Collection接口主要负责实现一些线性结构,如线性表(顺序表)、链表、栈、队列等。集合类库的关系图:这里主要表现了部分与集合类库有关的接口与实现类们,其中粗体黑框是我们最为常用、尤其重要的实现类。这张是完整的集合接口、子接口和实现类们的关系图,其中拓展了Vector、Stack、LinkedHashMap等实现或继承的子类们,关系网还

2021-01-24 15:39:15 310

原创 [Java学习之路篇] Java常用类库之System

所在包:java.langSystem工具包经常运用于println中,离我们打印结果是最亲近的工具包了。除了提供打印输出输入流外,它还包含很多关于java虚拟机的操作方法。常用方法及常量:1. “标准”输入输出流// 标准输入输出流 in outpublic static final InputStream in = null;public static final PrintStream out = null;// 标准输出流 err 用于打印红色字体 以示警告public static

2021-01-17 16:54:28 102

原创 [Java学习之路篇] Java常用类库之Arrays

所在包:java.utilArrays工具包提供了一些与数组有关的操作,如排序、二分查找、复制(copyOf)、比较、toString打印等。常用方法及常量:1. asList 创建列表// 输入元素创建列表public static <T> List<T> asList(T... a)// 举例 List<String> stooges = Arrays.asList("Larry", "Moe", "Curly"); 此方法与 Collection

2021-01-17 16:23:56 78

原创 [Java学习之路篇] Java常用类库之Math

所在包:java.langMath工具包是Java最常使用的工具包之一,只要与数学计算有关的操作都离不开它,它提供了一些与数学有关的静态方法和常量,如求最大最小值、特殊值(PI、E)、取整等。常用方法及常量:1. 自然常数e和圆周率π// 自然常数 epublic static final double E = 2.7182818284590452354;// 圆周率 πpublic static final double PI = 3.14159265358979323846;2. 求绝

2021-01-10 17:43:11 245 1

原创 [Java学习之路篇] Java常用类库之Objects

@[Java学习之路篇] Java常用类库之Objects[Java学习之路篇] Java常用类库之Objects所在包:java.util用途:常用于验证对象的类型或是否为null及访问数组是否越界等。常用方法:1. 检查数组是否越界(1) checkFromIndexSize// 检查是否在子范围从 fromIndex (包括)到 fromIndex + size (不包括)是范围界限内 0 (包括)到 length (不包括)。public static int checkFromIn

2021-01-10 16:24:09 137

空空如也

空空如也

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

TA关注的人

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