在工作中常用到的SQL
最近在公司做了几张报表,还记得刚开始要做报表的时候都快把SQL给忘光了(当时在广州休假了1个月多,在实习期间也没咋写过SQL),回到公司的第一个需求就是做报表。 于是我很不要脸地跟带我的学长说:“SQL我好像忘光了,group 分组查询好像都忘得差不多了,我得复习一下”。 gr…
如何写出优雅的开源项目文档
mall项目是我去年写的SpringBoot实战电商项目,现在在Github上面已经有18k+star。去年12月份的时候,mall项目只有一些必要的说明文档和部署文档。mall项目涉及到的技术栈比较广泛,业务也比较复杂,却没有系统的学习教程。今年5月份的时候,我开始完善整套学…
商品模块数据库表解析(二)
接上一篇文章,本文主要对编辑商品、商品评价及回复、商品操作记录这三块功能的表进行解析,采用数据库表与功能对照的形式。 mall项目全套学习教程连载中,关注公众号第一时间获取。
商品模块数据库表解析(一)
本文主要对商品分类、品牌管理、商品类型这三个功能的表进行解析,采用功能与表结构对照的形式。表解析只会标注一些需要理解的字段,简单字段请自行对照表注释。 mall项目全套学习教程连载中,关注公众号第一时间获取。
在工作中常用的Linux命令
之前写过一篇 《 在公司做的项目和自己在学校做的有什么区别? 》不知道大家还有印象没有,里面提到了在工作中可能需要等上Linux服务器,查看一些信息(特别是查日志找Bug)。 但是,在学校学完,没咋练手(还是太菜了),去到公司可以说是全忘光了。这篇文章主要来回顾以前的笔记,以及…
记一次愚蠢的经历--String不可变性
我这边有一个系统,提供一个RPC接口去发送短信。外部调用我的接口需要传入手机号等等参数,我这边负责解析这些参数、做一些业务的处理,然后调用短信渠道商的接口发送短信。 每当调用完短信渠道商的接口时,我会对这次发送的记录入库(存入MySQL中),同样地短信渠道商会返回发送或失败的回…
mall数据库表结构概览
mall是一套电商系统,后台系统主要包括商品管理、订单管理、营销管理(运营管理+促销管理)、内容管理、用户管理等模块,本文主要对这些模块的数据库表结构及功能做大概的介绍。 注意:部分功能暂未实现,只是对表结构进行了设计,商品管理、订单管理、营销管理大部分功能均已实现。 mall…
AndroidUtilCodeKTX !是时候提升你的开发效率了 !(持续更新中...)
第一次接触 Kotlin 还是 2017 年,当时 Kotlin 还没扶正,也不是 Android 的官方开发语言。至于我是怎么被安利的,没记错的话,应该是 开源实验室 的 Kotlin 教程。当时身边几乎没有人在学 Kotlin,网上相关的资料也很少,我还翻译了一部分官网文档…
mall前端项目的安装与部署
本文主要讲解mall前端项目mall-admin-web(2800+star)的在Windows和Linux环境下的安装及部署。mall-admin-web是一个电商后台管理系统的前端项目,基于Vue+Element实现。主要包括商品管理、订单管理、会员管理、促销管理、运营管理…
在公司做的项目和自己在学校做的有什么区别?
不知道大家还是学生的时候有没有这个问题:公司做的项目和自己在学校练手的项目有多大的区别。我以前在学校跟着视频做一些项目练手,总感觉公司做的东西会要难很多,不知道跟公司的真实项目区别在哪。 总的来说,我实习的总时间也快半年了,谈谈我觉得公司项目和自己练手的项目有啥区别,欢迎补充。…
SpringBoot应用整合ELK实现日志收集
ELK即Elasticsearch、Logstash、Kibana,组合起来可以搭建线上日志系统,本文主要讲解使用ELK来收集SpringBoot应用产生的日志。 Kibana:通过Web端的可视化界面来查看日志。 注意:Elasticsearch启动可能需要好几分钟,要耐心等…
程序员的快乐就是这么朴素无华且枯燥
我是一个程序员,外行人都以为我是修电脑的,我笑了笑,随意ctrl c+ctrl v了一把,想象着你们因为我的文章而开心不止,我感到充实而欣慰。想象着你们给我拼命点赞的样子,是多么的滑稽,我笑了笑,哎,程序员的快乐,往往就这么朴实无华,且枯燥。 今天,我接到了一个新的项目,把项目…
SpringBoot应用中使用AOP记录接口访问日志
本文主要讲述AOP在mall项目中的应用,通过在controller层建一个切面来实现接口访问的统一日志记录。 AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。利用AOP可…
SpringBoot实战项目mall在Linux环境下的部署(基于Docker Compose)
最简单的mall在Linux下部署方式,使用两个docker-compse脚本就可以完成部署。第一个脚本用于部署mall运行所依赖的服务(mysql、redis、nginx、rabbitmq、elasticsearch、kibana、mongo),第二个脚本用于部署mall中的…
《大型网站系统与Java中间件》读书笔记 (中)
这周周末读了第四章,现在过来做做笔记,希望能帮助到大家。 注:在看这篇文章之前,强烈建议先看看我之前写过的一篇SpringCloud入门文章:外行人都能看懂的SpringCloud,错过了血亏!。看完再回头看这篇文章,你会发现:这本书讲的设计与实现在SpringCloud中几乎…
Spring Boot 实战项目 mall 在 Linux 环境下的部署(基于 Docker 容器)
本文主要以图文的形式讲解mall在Linux环境下的部署,涉及在Docker容器中安装Mysql、Redis、Nginx、RabbitMQ、Elasticsearch、Mongodb,以及SpringBoot应用部署,基于CenterOS7.6。 启动时会发现/usr/shar…
全新 LeakCanary 2 ! 完全基于 Kotlin 重构升级 !
大概一年以前,写过一篇 LeakCanary 源码解析 ,当时是基于 1.5.4 版本进行分析的 。Square 公司在今年四月份发布了全新的 2.0 版本,完全使用 Kotlin 进行重构,核心原理并没有太大变化,但是做了一定的性能优化。在本文中,就让我们通过源码来看看 2.…
SpringBoot实战项目mall在windows环境下的部署
本文主要以图文的形式讲解mall项目所需环境在windows下的安装,主要包括IDEA、Mysql、Redis、Elasticsearch、Mongodb、RabbitMQ、OSS。 11.至此,RabbitMQ的安装和配置完成。 在OSS产品详情页,单击立即开通。 mall项…
MyBatis Generator使用过程中踩过的一个坑
在使用MyBatis Generator生成代码的过程中,曾经遇到一个坑,每次生成mapper.xml的时候并不是直接覆盖原文件,而是在原文件中追加了新的内容,导致运行项目出错,本文主要讲解如何解决这个问题。 表明了PmsBrandMapper.xml文件解析错误,BaseRe…
使用Docker Compose部署SpringBoot应用
Docker Compose是一个用于定义和运行多个docker容器应用的工具。使用Compose你可以用YAML文件来配置你的应用服务,然后使用一个命令,你就可以部署你配置的所有服务了。 使用docker-compose up命令将所有应用服务一次性部署起来。 注意:如果遇到…