今天正常醒了,做好了和父母坦白的决定,就不再拖延,虽然还是打了很久的腹稿,电话接通之后扯了十几分钟其他的事情,但是终于鼓起勇气坦白了,父母反而以超乎想象的开明态度接受了难以接受的事实。也说明了对于未来的规划,虽然与他们的设想全然不同,但是早点说出来也是好事,说完之后我反倒轻松了,一直以来要辛苦的隐瞒,还要忍受被误解被怀疑,终于有勇气,准备好了争论发生之后如何处理,最终说出来之后,反倒解脱了,至少表面上也没有起太大的冲突,整个对话是以虽然震惊但是还算友好的情况结束的。算是第一次正面回答了关于婚恋的问题,双方情绪平和的收场了,也没有引发家庭矛盾。总得来说,我还是比较满意的。
现在起码父母这边和我这边是消除了信息不对称了,至于朝着同一个目标努力可能有点勉强,但是起码也不再阻拦我朝着目标努力了,也多了一些理解。离希望父母能在我坚持到精疲力竭的时候不趁机劝退,而是支撑我熬过难关还是有点距离,所以目前的情况暂时还是遇到瓶颈了自己想办法熬,父母尽量不来阻拦,不来松懈意志就是好的。慢慢来吧,比之前好,就是有进步了。
今天学习了后端开发课程的第一课服务系统架构演进,觉得一下子就扩宽了思路,把过程讲得很详细。
今日进度:
1.跟父母坦白未来的规划以及婚恋观,跨出了一大步
2.坚持锻炼
3.坚持记录,今天准备抽时间写一个短小的年终总结
4.今天每录小王子,明天补上
学习笔记:
1.一个大型服务系统都是从小一步一步走过来的,在每个阶段,找到对应该阶段网站架构所面临的问题,然后在不断解决这些问题,在这个过程中整个架构会一直演进。
2.单服务器-俗称all in one
3.数据服务与应用服务分离
4.使用缓存,包括本地缓存,远程缓存,远程分布式缓存
5.一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联,系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间.
QPS(TPS):每秒钟 request/事务 的数量 (此处 / 表示 或的意思)
并发数: 系统同时处理的request/事务数 (此处 / 表示 或的意思)
响应时间: 一般取平均响应时间
QPS(TPS)= 并发数/平均响应时间
6.使用负载均衡,进行服务器集群
7.数据库读写分离
8.使用反向代理和 CDN 加速网站响应
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
9.分布式文件系统
10.数据垂直拆分
11.数据水平拆分
12.拆分搜索引擎
13。226. 翻转二叉树
给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。
解题思路:使用递归,先将树的左右子树分别翻转,再交换两个子树的位置。
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
public TreeNode invertTree(TreeNode root) {
if(root == null){
return null;
}
TreeNode left = invertTree(root.left);
TreeNode right = invertTree(root.right);
root.left = right;
root.right = left;
return root;
}
}
今天觉得特别困也饿的快,不知道是不是因为开始学习项目课程难度突然增加的缘故,假期已经过半了,真是十分不舍,每天晚上都觉得时间根本不够用,明天持续更新。