程序员的快乐就是这么朴素无华且枯燥
我是一个程序员,外行人都以为我是修电脑的,我笑了笑,随意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命令将所有应用服务一次性部署起来。 注意:如果遇到…
全网最全 Dalvik 指令集解析 !
首先说明 Dalvik 虚拟机的基本约定 。 下表中提到的寄存器对均指相邻两个寄存器。如寄存器对 vAA,指寄存器 vAA,vAA+1 一个大写字母表示 4 位。如 vA 表示前 16 个寄存器之内,vBB 表示前 256 个寄存器之内,vCCCC 表示前 65536 个寄存器…
使用Dockerfile为SpringBoot应用构建Docker镜像
上次写过一篇使用Maven插件为SpringBoot应用构建Docker镜像 ,讲述了通过docker-maven-plugin来构建docker镜像的方式,此种方式需要依赖自建的Registry镜像仓库。本文将讲述另一种方式,使用Dockerfile来构建docker镜像,此…
使用Maven插件为SpringBoot应用构建Docker镜像
本文主要介绍如何使用Maven插件将SpringBoot应用打包为Docker镜像,并上传到私有镜像仓库Docker Registry的过程。Docker命令不熟悉的同学可以先看下这篇开发者必备Docker命令。 resources.resource.include:需要复制的…
Retrofit 2.6.0 ! 更快捷的协程体验 !
近日 Retrofit 更新到了 2.6.0 版本,内置了对 Kotlin Coroutines 的支持,进一步简化了使用 Retrofit 和协程来进行网络请求的过程。其实纵观编程语言的发展历史,从汇编到 C/C++,从 Java,OC 到 Swift,Kotlin,甚至被纳…
开发者必备Docker命令
本文主要讲解Docker环境的安装以及Docker常用命令的使用,掌握这些对Docker环境下应用的部署具有很大帮助。 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows机器上。使用…
IDEA常用设置及推荐插件
本文主要记录IDEA的一些常用设置,IDEA与Eclipse的常用快捷键对比及推荐一些好用的插件。 一个没有getter,setter方法的类通过添加@Getter和@Setter注解拥有了getter,setter方法。 mall项目全套学习教程连载中,关注公众号第一时间获取。
Android 逆向笔记 —— 说说 Dalvik 及其指令集
在进入正题之前,推荐阅读一下之前的两篇文章。第一篇是我的一篇译文 —— 译文找不到了,就放一下原文吧。 上面这篇文章简单比较了 Dalvik 和 Art 。其中的一些细节在我的另一篇文章 说说方舟编译器 中也有所提及,大家可以大致浏览一下。 然后再推荐一篇 Android逆向笔…
Linux防火墙Firewall和Iptables的使用
Linux中有两种防火墙软件,ConterOS7.0以上使用的是firewall,ConterOS7.0以下使用的是iptables,本文将分别介绍两种防火墙软件的使用。 mall项目全套学习教程连载中,关注公众号第一时间获取。
开发者必备Linux命令
开发者必备Linux常用命令,掌握这些命令绝对够了,基于CenterOS7.6。 mall项目全套学习教程连载中,关注公众号第一时间获取。
开发者必备Mysql命令
开发者必备Mysql常用命令,涵盖了数据定义语句、数据操纵语句及数据控制语句,基于Mysql5.7。 mall项目全套学习教程连载中,关注公众号第一时间获取。
Navicat实用功能:数据备份与结构同步
当我们要对数据库做有风险的操作时需要对数据库备份,每次上线项目时,线上与线下数据库结构总会有不一致的情况,本文将讲解如何利用Navicat来方便的解决这两个问题。 原来的mall-test模块中只有商品模块的表,现在我们经过了一段时间的开发,新增了订单模块,同时删除和修改了商品…