获得徽章 0
- 自学Java第140天
从今天开始就正式进入电商项目的学习了
emm……暂且就叫它刘小爱商城吧
-
为什么要学这个电商项目呢?
一是这个电商确实也比较火
二是它属于互联网项目,对比传统项目
它更注重网站性能,对技术本身要求较高
用来学习无疑是不错的选择
-
其中整个项目分为两个部分:
后台管理系统:管理人员管理的页面
前台门户系统:用户可以浏览并购买商品
-
无论是后台管理系统,还是前台门户系统
都是前后端分离,故要独立部署前端页面
前端页面也是需要我们自己来完成的
这也是为什么前面要学前端的原因
-
这几天的主要任务是搭建后台管理系统
其主要作用为:商品,销售,用户管理等
估计要花不少时间来学习
-
而后台管理系统又分为:前端页面和后台微服务
前端页面使用单页应用(SPA)
也就是页面只有一个html文件
其它都是由vue组件组成
也就是我们昨天刚学的组件化开发
-
那如何搭建呢?
vue官方提供了一个快速搭建项目的脚手架
即vue-cli,用它可以快速构建web工程模板
-
而关于各种组件的使用
如果是专业的前端人员自己写估计没问题
但对后台开发人员来说,自己写比较困难
-
所以需要借助一个UI框架Vuetify
看到想要的组件,直接copy就好了
轻松简单了很多,但是也需要能看得懂
不然copy哪儿都不知道
-
哦对了,有一个前端打包工具叫webpack
篇幅受限,就不详细介绍了展开赞过42 - 自学Java第139天
一个vue竟然花了我4天时间,我擦咧
明天开始就要正式进入项目的学习了
感情前面这9天都是在为其做铺垫额
-
这是一个电商项目,没错,xxx商城
我查询了一下各个平台的项目教程
基本上都会涉及到一个商城相关的项目
-
电商真的就这么火么?
我估计10个求职者就有8个
简历经历里面会有一个xxx电商的项目
-
至于vue这个前端框架
详细去学它的话4天时间肯定是远远不够的
为何要学它?也是为了自己更好地做项目
-
是前后端分离,但我也总不可能为了这个项目
还专门找一个前端人员来陪自己学吧
而vue上手相对而言较为容易,用它在合适不过了
-
今天主要学了计算属性,监控,组件
计算属性的典型例子就是对于日期的处理
可以自行在vue计算后再渲染到视图中
使用的是computed这个关键字
-
监控也就是watch的使用
它可以监控一个值的变化,从而做出对应反应
如果监控的是一个对象,需要进行深度监控
-
而组件的使用,网易云音乐就是一个典型的例子
多个页面共用一个头部导航栏
就需要在不同的组件中共享这些组件
这就叫做组件化开发
-
至于组件框架没有用饿了么的element
而是用的vuetify,其具体使用方法
到项目中需要用到的时候再讲解展开赞过112 - 自学Java第138天
vue之各种指令的使用
-
不得不说,马丹,怎么感觉:
每一天都能得出和前一天不一样的结论
并且会发现自己前一天想法上的问题
-
第一天学vue的时候,觉得它特厉害
能够完成view和model的自动渲染
-
第二天学vue的时候
发现并不是完全实现了自动渲染
而是要通过指令操作,我们要记指令
-
等我今天专门学了一下指令,发现:
我擦,原来指令不仅仅只是实现自动渲染
只是v-model这一个指令可以实现双向绑定
-
其它的指令比如说v-on可以绑定事件
非常常见的点击事件就是:v-on:click
只不过一般都会简写成@click
-
除了绑定事件,还能实现条件判断
比如Java中的for循环,if条件判断语句
在vue也都有对应的指令
-
我记得当初刚学js的时候:
隔行换色案例是专门作为一道题目来讲解的
结果vue里v-if和v-eles指令就搞定了,我擦
-
同样的道理,隐藏与显示的切换
也可以通过一个v-show指令来完成
emm,还有一个v-bind指令,就不详述了
主要是它因为时间问题还没来得及仔细学…
-
这几天真的就是每天都能得出新的结论
还能发现自己前一天的想法有问题,不断更新
我想大概这就是学习最大的乐趣之一吧展开赞过评论3 - 自学Java第137天
学了vue的生命周期钩子,以及指令
这个钩子,如何理解它呢?
初步就可以将其理解成回调函数
-
我目前对于vue的各种学习、使用
都是在创建vue实例的基础上进行的
这就好比是Java中的new对象
只不过vue中new的是vue对象
-
那创建vue实例的过程有一系列的流程
这整个流程就是它的生命周期
不过目前只是对vue做一个初步接触
不深入学习,所以就不详细讲述了
-
只学生命周期中两个比较重要的状态:
beforeCreate即代表vue实例创建前
created即代表vue实例创建后
见名知义,很好理解,它们对应着两个方法
-
到了对应的状态就会执行对应的方法
说白了不就相当于以前学过的回调函数么?
只不过叫法不一样了
-
当然还有this这个关键字的学习
顺便引出了定时器、箭头函数的使用
在此就不详述了,都已整理在每日笔记中
对哦,还有一个差值闪烁的问题
从而引出了vue指令的学习
-
老实说我昨天的打卡内容有点问题
一开始我对vue的理解是:
它省略了dom操作,能够完成自动渲染
事实上并不是自动的,而是要通过这个指令
-
昨天我学的时候就觉得:哇,这个vue厉害呀
今天学了发现:还不是要记一堆的指令,害
当然话又说回来,确实简化了很多
但也并不是完全实现自动化了,没这么夸张
-
说个老实话,学vue的时候会发现jQuery的影子
比如说v-html这个指令
不就对应着jQuery中的html方法么?
技术有的时候真心是能够相通的
-
当然时间有限,指令也没有学完,明天继续
教程一天的内容,本来打算2天学完了
看来还是自己太笨了,计划赶不上变化展开赞过132 - 自学Java第136天
前端框架之vue的学习
不得不说,现在的前端有点吊啊
-
不仅可以写前端页面
竟然还可以编写后台业务逻辑
也就是说理论上是可以做全栈开发的
-
别到时候Java没被Python淘汰
反而还被前端给淘汰了
-
话说回来,前端技术主要经历了三个阶段
1静态页面,纯静态的网页,只可读取
2异步刷新,能够通过dom操作完成动态渲染
我们以前学的jQuery就是其典型例子
-
3MVVM模式,关注视图和模型
这个可就厉害了,vue框架就是典型例子
我大致做一个浅显的说明:
-
这个V也就是视图view的意思
暂且就可以将其简单地理解成某个前端页面
那这个页面中的数据是从哪儿来的呢?
-
就是这个M,即模型model的意思
暂且就可以将其简单地理解成后台响应的数据
那这个数据是如何被渲染到视图view中的呢?
-
以前就是通过dom操作:
比如jQuery中的html()方法
但是方法非常的多,用起来繁琐复杂
-
而MVVM模式就能完成自动渲染
后面的VM也就是view-model的意思
视图和模型能够完成一个双向的绑定
-
注意可是双向绑定哦
即可以通过数据模型model渲染view
竟然还能通过view对model完成修改
-
不需要记任何dom操作相关的方法
只需要将view和model对应起来即可
使用起来非常的简便
-
具体案例操作,已详细记述在笔记中
在这儿就不展开讲述了展开赞过23 - 自学Java第135
SpringCloud另外3个组件的学习
老实说,这块知识点学得有点累
-
累的不是学习本身,会不会用这些
而是要用自己的话将这些知识点讲出来
写成一篇文章,这个过程有点难受
-
比如说负载均衡的使用
用起来当然再简单不过了
但是要把它讲清楚就不是那么简单了
-
再比如说高可用,不说别的
就光一个服务开启几次,共用同一配置文件
修改配置文件重新编译一次
-
这一个简单的步骤,用起来5秒钟就搞定
但是要将它画图说清楚
别说5秒钟了,5分钟都搞不定
-
上个星期放假的时候
我抽时间学了通用mapper的使用
因为项目后面会用到这个插件
-
这个通用mapper别的不说
对新手是真的蛮友好的,上手简单
所有的方法基本都是见名知义的
-
但要写一篇关于它的学习教程
花了我半天的时间才搞定
当然我蠢也是一方面的原因
-
但不管怎么说
会用这个知识点和将这个知识点写出来
真心就是两码事,后者要困难很多
-
程序员数量那么多,博客平台一大堆
坚持写博客的又有几个呢?
就整个群体而言,终归还是少数
展开赞过评论3
自学Java第134天
SpringCloud,我擦咧,又是spring
刚学了SpringBoot,又来了SpringCloud
spring全家桶果然名不虚传
-
它是用来干嘛的呢?
昨天学了系统架构的演化
而SpringCloud就可以实现微服务架构
-
它将市面上很多成熟,强大的开源服务框架
拿了过来,并整合在了一起
emm…怎么感觉和腾讯一样……
-
不过spring不仅仅只是拿过来了直接用
而是利用SpringBoot的开发便利性
使分布式系统开发起来更加地简单
-
简而言之就是市面上开源框架其实是非常多的
有一些虽然非常实用,但用起来特别的麻烦
而spring就让这些变得非常简单了
极大地便利了开发者的使用
-
Spring Cloud有很多个组件:
注册中心Eureka、服务网关Zuul
负载均衡Ribbon、服务调用Feign
熔断器Hystix
-
这些知识点,这几天会依次都学习到
今天主要就是注册中心Eureka的学习
这个昨天也提到过,它就好比是滴滴打车
-
每个服务都要在它这儿注册
同时分为服务提供方和服务消费者
-
服务提供方提供功能给其它服务使用
这就好比滴滴中的司机
它需要不断向服务中心续约,说明自己还活着
-
服务消费方就相当于乘客
它需要向注册中心调用对应服务的对应功能
-
而实际开发中同一个功能的服务可能会开启多个
那服务消费方调用时,到底调用哪一个呢?
简单的理解就相当于滴滴公司分配司机给乘客
-
至于怎么分配服务?
就需要使用到负载均衡了
这个一两句话也讲不清楚,笔记中有详细说明展开等人赞过77- 自学Java第133天
微服务到底是个啥,是怎么来的?
就是今天主要的学习内容
-
简单地讲述下系统架构的演化:
以前网站流量小,一个应用就搞定
所有功能相关的代码都在这个应用里面
但是这样代码耦合,维护起来很困难
-
于是做了优化,从单一应用到系统垂直拆分
比如一个网站可以按照功能垂直拆分:
用户门户系统,后台管理系统
-
但是它还是有一个问题就是代码的冗余
比如根据id查询商品这个业务功能的实现
这两个系统都需要,它就要写两遍
-
而我们要学的分布式架构就能解决这个问题
将核心业务抽取成服务,形成服务中心
然后问题就又来了,一旦服务变多后
服务之间的调用错综复杂,很难搞清楚
-
于是SOA就出来了,本质上它还是分布式
简单的理解就是它将服务管理起来了
打个比方就是有点类似于现在的滴滴打车
-
司机就相当于是一个个的服务
滴滴打车将司机管理起来了,再分派给用户
比以往自己去找车,方便了不少
而对于服务来说,也是一样的道理
-
而关于微服务,它有一个更大的优势
就是可以实现跨语言跨平台的操作
-
它提供了一个基于rest风格的接口
注意此接口不是Java中的interface接口
无论是Java语言也好,还是Python语言也好
都只需要完成这个接口就可以了
这样,不同语言之间也能完成合作
-
当然关于系统架构,不可能像我说的这么简单
我只是说作为初学者,对它们有个初步印象
-
我们以前写的所有demo,还有项目一
本质上都是本地类与类之间的调用
-
那服务之间如何实现调用的呢?
就是不同的电脑之间也能完成互相调用
RCP和HTTP两种实现方式
-
我们所使用的是spring提供的RestTemplate
本质上是基于HTTP的客服端进行了封装
这些就不展开说了展开等人赞过评论5 - 自学Java第132天
学了SpringBoot对SSM的各种集成
同时对SpringMVC做一个回顾
-
将它们两者之间的配置做个对比:
以前是在web.xml中配置映射路径
现在是在application配置文件中配置
-
此外现在还能够配置Tomcat的访问端口
比如配置端口为80
在浏览器上不用输入端口,直接就可以访问
-
关于拦截器:
自定义拦截器,实现拦截器父接口
重写前置、后置、最终这三个方法
该步骤无论哪种配置都需要
-
以前是在xml配置文件中通过
<mvc:interceptors>标签添加拦截器
现在是新建Java配置类,实现mvc配置接口
再通过方法添加拦截器
-
本质上我大致做一个小结:
以前是各种xml配置文件
现在配置文件就只有application.yml文件
要么在该配置文件中配置,比如映射路径
要么使用@Configuration创建Java配置类
-
差不多就这么一个套路
-
哦对了,还有一个静态资源的问题
以前我们是放在webapp下面
现在是在resources下创建static放置
-
关于mybatis还没来得及学
今天放假,我上午会将其补全了再发笔记
现在是例行的,每日早上打卡时间
-
我猜,应该差不多也是一样的套路展开3点赞 - 自学Java第131天
直接跳到了SpringBoot框架
只有一个感觉:超好用,太特么的香了
-
昨天还在这儿做学习计划呢
结果今天计划就被SpringBoot打破了
我感觉回不去了,果然是计划赶不上变化啊
-
Java有个广为诟病的问题就是代码臃肿
人家用Python的,代码都写了一堆了
我们还在搭建项目环境
-
我本来是打算从头到尾配置SSM框架的
结果配置到一半我开始犹豫了,太麻烦了
需要编写各种xml配置文件:
-
spring环境的配置
mybatis环境的配置
springMVC环境的配置
-
实不相瞒,我配置了半个小时都没弄完
并且基本都是Ctrl+c和Ctrl+v
如果完全自己写,那更慢了
当然我是一边配置还一边写文章
-
反正不管怎样,环境搭建确实麻烦
而SpringBoot就能解决这个问题
没有一个xml配置文件,全部都是注解
-
就是用Java代码+注解代替了xml配置文件
比如一个Java类+@Configuration
即表示这个类是一个配置类
再比如Java类+@ConfigurationProperties
即表示这个类是一个属性读取类
-
总而言之:对于Java程序员来说
利用Java代码配置比xml还是方便不少的
不过据说也有些老古董习惯了xml不愿意换
-
老实说,学SpringBoot其实纠结了蛮久的
课程安排大概半个月后才能学到SpringBoot
一下子也跳过了太多的知识点,担心以后出问题
-
思来想去,还是直接学它吧
以后出了什么问题,见招拆招即可展开等人赞过76