关于Java,老师不会告诉你的那些事(1)Java开发工具IntelliJ IDEA

# 前言 下周就要开Java课了,看完了网课第一章,深感老师讲的有些不足,与最新的技术脱节比较严重,于是开这一系列文章,讲一下老师不会告诉你的Java的另一面。 这个系列不是每天一更,而是我网课看到哪里就写到哪里,所以一天更新两三次也是正常的。 今天我们从开发工具开始讲起。 # Java开发的神器——IntelliJ IDEA 我相信绝大多数学校——包括我们,开发Java用的都是Eclipse。诚然,Eclipse确实是一款不错的开发工具,但是假如我告诉你,有一个比Eclipse更好用、颜值更高、操作更方便、更加智能的IDE,你会不会有些动心呢? 这样的IDE确实存在,那就是我们今天的主角——由JetBrains公司开发的IntelliJ IDEA。 官网:https://www.jetbrains.com/idea/ 注意:IDEA ...

2020-04-04 17

挑战!一个人开发Spring Cloud Alibaba微服务(4)使用责任链模式处理多种用户相同登录入口登录的问题

上一篇:[docker-compose搭建Redis高可用集群](http://www.wendev.site/article/31) 我相信我并不是第一个遇到“多种身份不同的用户需要从同一个登录入口登录”的需求的后端开发者了。 你可能要问了,这个奇怪的需求是怎么来的呢?如果你的团队用过`D2Admin`作为前端框架的话,你应该就能明白为什么要让多种身份不同的用户从同一个登录入口登录了——因为前端就给你了那么一个登录入口,而且就只给你“用户名”和“密码”两个字段,但是你这后端却有五六种类型的用户。你就算想加更多的,前端由于框架的限制也不可能再给你加了啊!你只能自己想办法解决认证与鉴权的问题。 那么围绕着**登录使用的字段只有“用户名”和“密码”**以及**所有的用户都要使用同一个入口登录**这两个棘手的问题,我在思考了很多种解决方法之后,最终决定使用`固定的用户名格...

2020-03-16 27

挑战!一个人开发Spring Cloud Alibaba微服务(3)docker-compose搭建Redis高可用集群

上一篇:[使用Nacos作为分布式配置中心](http://www.wendev.site/article/30) 下一篇:[使用责任链模式处理多种用户相同登录入口登录的问题](http://www.wendev.site/article/32) # 关于Redis `Redis`应该是在现在任何一个微服务系统中都必不可少的一个中间件了——它可以用于缓存、Token(会话状态)存储,以及一些业务逻辑相关的使用。 虽然单体Redis的搭建并不是特别困难,但是要搭建Redis的高可用集群,如果不使用Docker,还是有一定难度的。既然上次使用Docker搭建`SkyWalking`十分简单,那这次我们也用Docker来搭建Redis高可用集群。 当然,这仅仅是一个比赛用的项目,不会上线部署到生产环境,目的也仅仅是搭建一个最简单的Redis高可用集群,...

2020-03-16 30

挑战!一个人开发Spring Cloud Alibaba微服务(2)使用Nacos作为分布式配置中心

上一篇:[SkyWalking实现Dubbo全链路追踪](http://www.wendev.site/article/29) 下一篇:[docker-compoe搭建Redis高可用集群](http://www.wendev.site/article/31) # 微服务为什么需要一个配置中心? 在微服务架构下,服务的数量特别多,并且每个服务还有不同的配置文件种类——开发环境、测试环境、生产环境都需要有自己的配置。如果像单体应用那样每个应用都自己管理自己的配置文件,在维护和修改时就会非常麻烦,并且不便于实时更新、不能实时生效,所以如果有一个配置中心来把这些配置统一管理起来就是再好不过的选择了。 # 与Spring Cloud Config相比,Nacos优势在哪里? 提到配置中心,大家第一反应可能就是`Spring Cloud Config`了,...

2020-03-16 27

挑战!一个人开发Spring Cloud Alibaba微服务(1)SkyWalking实现Dubbo全链路追踪

下一篇:[使用Nacos作为分布式配置中心](http://www.wendev.site/article/30) 以前那个Spring Cloud Alibaba系列写的简直太差劲了,项目的依赖乱七八糟,很多无用的依赖也没有去掉。 正好最近参加一个比赛,要写一个比较小型的微服务项目,正好借此机会重新学习Spring Cloud Alibaba,并且在这里记录一下自己遇到的坑。 可能你要问了:为啥这么想不开,要一个人开发一套微服务系统呢? 原因是:项目定位(我们队设计的项目是在有第一群用户时峰值QPS就会达到2000+而且随着用户的增加日均流量和QPS会增长得非常快,而且未来将会不断扩展、不断接入新功能的大型Web应用。架构的横向扩展能力和伸缩性必须非常高)。这就决定了微服务架构是最适合这个项目的选择,而且核心业务不是很复杂,仔细想了想服务提供者+服务...

2020-03-16 37

江文的教程小站已上线,欢迎访问

# 江文的教程小站已上线 这几天闲着没事,用Hexo做了一个新站点,用来整理我写的所有教程类文章,方便想学习的同学阅览。 地址:[江文的教程小站](http://tutorial.wendev.site/),也可点击导航栏上的“Tutorial”按钮前往。 新站点与本站文章同步更新,但因为新站点是纯静态的,不好加评论功能,所以各位同学如果有需要评论文章的,就在本站评论吧,感谢理解~

2020-02-26 33

记一次部署Hexo到阿里云服务器的过程

# 写在前面 最近打算搭建一个教程网站,专门放我写的一些教程一类的文章。本来想和http://www.wendev.site一样是自己写的,但是整天CRUD实在是太烦了,还是找点简单粗暴的办法为好。 考虑到这个网站的更新频率会非常非常慢,所以打算用`Hexo`这个博客框架。毕竟纯静态的比较安全,Hexo也属于开箱即用的,比较适合这个网站。 因为以前用过Hexo,现在又要来重新使用,于是把自己的部署过程记录一下,就当是一个教程吧。 # Refrence > [https://blog.csdn.net/qq_35561857/article/details/81590953](https://blog.csdn.net/qq_35561857/article/details/81590953) # 前期准备 前期没什么要准备的,主要就是安装`n...

2020-02-26 34

给想学Git的你的一个简单的Git入门教程

> Git的重要性不言而喻,而让一个新手快速上手Git,并把自己的代码提交到GitHub是一个比较困难的事情——毕竟网上很多教程上来就讲仓库、分支这些晦涩难懂的概念,十分劝退新人。于是,凭借着自己对Git的一知半解,我写了这篇教程。 > 此教程适合没有任何基础的人阅读。如果发现有错误,欢迎指正。 # 前言 开始这篇教程的学习之前,我默认你已经掌握了命令行(终端)的基本使用,也就是怎么打开终端,怎么执行命令(其实就是把命令输入进去再回车),怎么在终端里切换目录(cd命令)。如果大家以前没用过终端,可以搜一下PowerShell(Windows用户)或者Linux命令(Linux/macOS用户)的教程,简单学一学。 # Git是什么? 用官方的话来讲,“Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目...

2020-02-09 80

gRPC从入门到破产(上)纯Java语言:gRPC单独使用/与Spring Cloud整合

> 用惯了Spring全家桶,偶尔也尝试一下小清新的gRPC吧 > 为啥叫“从入门到破产”呢?因为中文输入法打“gRPC”出来的第一个就是“个人破产”,咱也总不能干啥都“从入门到入土”,“从入门到放弃”吧,偶尔也来点别的,哈哈。 # 一些废话 做完个人网站之后就一直处于非常颓废的状态,而最近总算找到要学的新东西了——`gRPC`! 为什么要学gRPC?还不是因为闲得都要发霉了,急需补充新知识啊,而且我一直觉得gRPC比Dubbo“小清新”多了,非常想找个机会一探究竟。 其实是最近要做一个比较大的项目,涉及到Python和Java混编的问题,为了解决这个问题,所以需要一个可以跨语言的RPC框架。本来想用性能更高的Thrift,但是这东西的参考资料实在太少了,所以选择了资料更多的gRPC。而且gRPC是Google开发的,大厂出品值得信赖啊。虽说Thri...

2020-02-07 109

Java从入门到放弃(1)Java的基础知识、标识符、变量、运算符

# 前言 做了这么久的Java开发,也非常喜欢这门语言,却对它本身了解不多。而我又报名参加了2020年的蓝桥杯Java组,并且打算参加软件杯和C4,为了能把这些比赛打好,在下学期的Java程序设计课里拿个高分(虽然能不能选上这门课还不一定),也为了能对Java语言有一个更深入、系统的了解,不在以后的开发中对语言本身感到困惑,所以打算写这个系列,从零开始重新学习Java基础知识,并对第一次学习掌握得不好的部分重新记录。 # 参考资料 《Java核心技术》 [Java300集](https://www.bilibili.com/video/av59814573?from=search&seid=752578900141232775)及其[资料](https://www.sxt.cn/Java_jQuery_in_action/Java_phylogeny.ht...

2020-01-28 87