SpringCloud学习

开发阶段,用热部署Devtools,但是一旦上线,应该关掉热部署。

客户消费者端口:80端口(一般用户都是80端口)

多用Debug,而不是Run

/etc 修改配置文件(Windows和Linux一样)

IP地址不能写死,只认微服务名称

分析源码

“狂神”步骤:

1、安装数据库,执行SQL语句

2、前端跑起来

3、后端项目导入进来:import Project 而不是 Open

只要发现了Swagger,那么跑起来的第一步是进入Swagger-ui页面,因为这里面都是接口。

然后查看配置文件,修改端口号,配置环境。

模块分析的顺序:

  • common

  • system

  • tools

4、前后端分离项目固定套路:

  • 前后端分离项目的重点:找到接口的调用关系
  • 前后端接口不一致
  • 封装了接口请求:ajax axios request
  • 找到配置文件
  • SpringBoot提供服务,前端调用接口数据,Vue负责渲染页面
  • Controller—>Service—>Dao

”程序羊codesheep“步骤:

1、项目代码首先跑起来可以运行

2、看源码

  • 依赖,明白用了哪些技术

  • resources,看配置文件,静态资源

  • java目录下:

    controller(前端页面和后端交互的入口)

    service层

    repository(持久层)

    model

3、调试

反思总结

一般bug解决思路:

1、遇到问题后,首先查看问题的英文,通读理解报错信息

2、复制关键信息网上查找,先看标题和报错是不是和自己的错误吻合

3、然后通读,一步步解决

4、如果花了很长时间还解决不了,就暂时放下来做其他事情,第二天再解决。

问题总会解决的。

2020实习总结

1、之前敲代码的时候用到的都是很简单的语言知识方面,但是通过几天的实习,发现真的是用到了基础的很多东西,比如数据结构、操作系统等等,这些都说明了基础的重要性。当用到某个基础知识时,其实更应该融会贯通一点,有一个体系结构。

2、英语的重要性,敢于阅读英文文档,更好的解决问题和理解知识点。

3、所有的东西都有从难到易,从复杂到简单的过程,当接触一个新的知识点时,慢慢来,总会掌握的。

3、打字速度也太慢了,还老是出错,平时就应该勤加练习。

4、当有一个任务时,应该一步步来,搞清楚每一步要干什么,把复杂的任务拆分成小的任务,把小任务不懂的点弄明白,复杂的任务也就可以完成了。

5、可以使用优先级法,比如使用AWS的OSS存储服务时,感觉脑子里很乱,不知道该如何下手,这个时候就可以一步步细分慢慢来,先可以成功连接AWS的S3服务,成功listObjects,然后再getObject。

寒假学习

Domain-Driven-Design(DDD)

CORS: 读写分离

读:性能

写:事务、一致性

Mybase数据库服务

RDS(Relational Database Service)云数据库

ECS(Elastic Compute Service)

AWS(Amazon Web Service)EC2(Elastic Compute Cloud)

Dubbo

RPC(Remote Procedure Call)

SOA(Service Oriented Architecture)面向服务架构

Nginx

http默认端口:80

https默认端口:443

Nodejs

箭头函数

对象初始化简写

对象解构

NPM(Node Package Manager): Node.js的包管理工具,相当于后端的Maven。

大数据技术原理与应用

第三次信息化浪潮:大数据、云计算、物联网

大数据时代的思维变革:

1、更多:不是随机样本,而是全体数据

2、更杂:不是精确性,而是混杂性

3、更好:不是因果关系,而是相关关系

三种云服务

  • IaaS(Infrastructure as a Service):基础设施即服务

    将基础设施(计算资源和存储)作为服务出租

    面向网络架构师

  • PaaS(Platform as a Service):平台即服务

    Google App Engine

    面向应用开发者

  • SaaS(Sofrware as a Service):软件即服务

    salesforce

    面向用户

各种数据和应用,并非在“天上云端”,而是位于数据中心

IOT(Internet of Things):物联网

Hadoop

两大核心:HDFS(分布式文件系统Distributed File System)和分布式并行编程框架MapReduce(MR)

海量数据的分布式存储和海量数据的分布式处理

YARN(Yet Another Resource Negotiator):另外一个资源协调器

Storm和Spark也都是搭建在底层的YARN框架基础上

NN Federation(Name Node):数据目录

HA:High Availability高可用性

Hive把SQL语句转成MapReduce作业

~的含义

在 Linux 系统中,~ 代表的是用户的主文件夹,即 “/home/用户名” 这个目录。如你的用户名为 hadoop,则 ~ 就代表 “/home/hadoop/”。

HDFS

HDFS(Hadoop Distributed File System)

NameNode(名称节点:存储数据目录):FSImage和EditLog

DataNode(数据节点:存储实际数据,存到磁盘中)

HBase

云数据库

Alibaba MySQL UMP(Unified MySQL Platform)

CDN(Content Delivery Network) 内容分发网络

Spark

Spark 是一种由 Scala 语言开发的快速、通用、可扩展的大数据分析引擎

核心技术:RDD(Resilient Distributed Datasets)弹性分布式数据集

Spark的多个作业之间数据通信是基于内存,而Hadoop是基于磁盘。

SparkStreaming 准实时(秒、分钟),微批次(时间)的数据处理框架

C++引用

当返回一个引用时,要注意被引用的对象不能超出作用域。所以返回一个对局部变量的引用是不合法的,但是,可以返回一个对静态变量的引用。

1
2
3
4
5
6
int& func() {
   int q;
   //! return q; // 在编译时发生错误
   static int x;
   return x;     // 安全,x 在函数作用域外依然是有效的
}

未定义标识符nullptr,增加编译条件:

1
g++ ReplaceSpaces.cpp -std=gnu++0x

《阿里工程师的自我修养》

保持信心

现在知道思考力的重要性了,很多同学可能认为自己是一个不够聪明的人。为什么我努力了,还是不行?

给大家一个信心:有位大师说过:在相同的文明程度和种族背景下,每一个正常人的潜意识与意识相加之和,在精神能量意义上基本上是相等的。

我几乎接触到的很努力但是成长速度不快的同学都是因为没有没有掌握正确的方法;

只要掌握了正确的方法并坚持训练,思考力绝对可以提升。

戒掉在手机上的碎片时间

每次看手机前,都应该做选择题,问问自己用手机到底是干什么,花多长时间

不要使用推荐系统一直推荐没有用的东西。

先对习惯的产生机制要有所了解,习惯并非凭空产生,他有前因后果,前因是前一件事情结束(触发条件),后果是前一件事情结束后的行为带来的一些额外奖励。比如晚上下班回家洗完澡这件事情结束后,肯定会开始下一件我们最习惯的事情,比如盯手机看剧或者刷八卦,当这件最习惯的事情结束后,大脑会产生精神上的及时享受,内容很丰富、很精彩。短期看是享受,长期看是灾难,因为对未来帮助意义不大,但是却消耗了我们大把时间。而且看剧或者刷八卦带来的信息积累只能称的上是饭后谈资,或者有些根本没机会谈。

慢慢来,成长最快

所谓时间换空间,就是让我们无法看清未来是什么样子的时候,把注意力聚焦在当下,做成长该做的事。

贵人相助

如果恰好有这么一位贵人,应该懂得珍惜,珍惜的主要方式是用成长回报他,因为你的成长在未来可以帮助他