自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(159)
  • 收藏
  • 关注

原创 后端存储实战-极客时间

电商系统是如何设计的不要一上来就设计功能这个系统是给谁用的?这些人用来该系统解决什么问题?电商:用户、运营、报表购物流程:浏览商品-----加购------下单-------支付-------发货-------收货复杂的促销模块要封装起来一般来说,解决超卖问题的方法都是在下单的时候锁定库存,如果订单取消再释放库存。01 | 创建和更新订单时,如何保证...

2020-04-12 22:01:15 1042

原创 SQL必知必会-极客时间

第三讲:学会用数据库的方式思考SQL是如何执行的在RDBMS中执行方式是有区别的什么是硬解析和软解析msql在SQL中是如何执行的?共享池:数据字典缓冲区。绑定变量会优化Oracle的解析过程Mysql流程:查询缓存,解析器,优化器,执行器innidb:事务,行级锁,外键不同的数据库SQL的执行原理是一样的其实数据库内部的原理很复杂在Mysq...

2020-04-10 19:49:18 541 1

原创 网络编程实战-极客时间

03丨套接字和地址:像电话和电话号码一样理解它们accept和connect进行握手收到数据从内核读取到进程半关闭状态下可以支持一方数据的传输Http是应用层协议,是基于Tcp socket的实现,websocket是http的增强,利用了Tcp双向的特性,增强了服务器端到客户端的传输能力04 | TCP三次握手:怎么使用套接字格式建立连接?SOCK_STREAM: 表示的是字节...

2020-04-06 21:52:34 610

原创 消息队列-极客时间

04 | 如何利用事务消息实现分布式事务?消息队列也有事务,事务主要是解决消息生产者和消费者数据一致性的问题比如电商场景中或者是一些在线视频网站等不是重点的业务场景的东西,比如评论数+1,这种都是可以异步完成的单体的关系型数据库实现事务可以,但是在分布式系统中同时实现ACID四种特性非常困难了,所以出现了残血版的一致性:顺序一致性,最终一致性在不同的场景中做一些妥协在实际业务中常见的分...

2020-04-01 11:20:30 207

原创 kubernetes-极客时间

01-预习篇·小鲸鱼大事记(一):初出茅庐本质都是使用cgroups和namespace技术docker好用的就是在于镜像提供了便利的打包机制,因为操作系统也在里面02-预习篇·小鲸鱼大事记(二):崭露头角docker给了打包的完美解决方案03-预习篇·小鲸鱼大事记(三):群雄并起后来该名成Docker公司,推出了swarmdocker收购了fig成为现在的compose...

2020-03-30 22:40:07 90

原创 后端技术面试38讲

内容来自极客时间专栏课01-程序运行原理:程序是如何运行又是如何崩溃的?存在磁盘上的代码没有价值, 运行起来才有价值先要编译堆是无序的内存空间执行上下文信息因为CPU的分时共享技术, 可以分时处理进程的信息, 多核架构也可以实现并发.CPU有运行, 就绪, 阻塞状态当进程在CPU上运行就处于运行状态当进程获得了除了CPU以外的资源就是CPU就绪状态, 就等他了服务为什么会变...

2020-02-20 17:37:54 642

原创 浏览器工作原理与实践

07 | 变量提升:JavaScript代码是按顺序执行的吗?变量提升, 有个执行上下文的对象定义函数存储在堆中当函数被调用时, 会在变量对象中查找该函数编译过程是非常复杂的, 包括词法分析, 语法分析, 代码优化, 代码生成等下面代码会输出什么function showName() { console.log('极客邦');}showName();...

2020-02-19 12:31:06 627

原创 MySQL实战45讲

使用长连接链接数据库容易造成OOM内存泄露,如何解决?定期断开长连接在5.7之后的版本可以重新初始化资源mysql_reset_connectionMySQL有查询缓存,但是不推荐使用,但是会经常更新经常清空.在8.0中直接删除了查询缓存的功能分析器:词法分析,语法分析,优化器,执行器,还有权限设置redo.log:物理日志 和binlog:逻辑日志redo.log和bi...

2020-01-18 22:05:12 156

原创 极客时间专栏:透视HTTP

01 | 时势与英雄:HTTP的前世今生目前全球有16亿个网站、2亿多个域名超文本标记语言,超文本传输协议0.9版本只包含GET获取HTML1995年发明Apache、1992年发明JPEG、1995年发明MP3音乐格式1.0增加了HEAD、POST等方法、增加了响应状态码标记了错误的原因、引入了协议版本号概念、引入了HTTP Header,让HTTP处理请求更加灵活、传输的数据不再仅...

2019-12-08 21:50:49 156

原创 极客时间专栏:全栈工程师修炼指南

第23讲:知其然,知其所以然:数据的持久化和一致性服务高可用就要部署多个节点,数据为了高可用就要存放多个备份读写服务是不同的,有了数据副本,一致性就成了课题强一致性:读取的操作总是能获取最近一次写入的数据,Oracle、Mysql都符合强一致性弱一致性:读操作并不能保证可以取得最新一次写入的数据弱一致性常被用于缓存,不需要一定是最新的,即使更新了服务端也不会通知你最终一致性:最常见的...

2019-11-25 14:14:28 250

原创 极客时间专栏:设计模式

05:封装、抽象、继承、多态分别可以解决哪些编程问题?import java.math.BigDecimal;/** * Author : CHR_崔贺然 * Time : 2019 11.18 * Description : 极客时间专栏:设计模式之美 05,封装继承多态 * 封装:其中一个核心的概念就是访问权限控制Java中用public和private进行访问权限控...

2019-11-06 16:10:09 609

原创 极客时间专栏:Linux性能优化

uptime命令查看1 5 15分钟的负载情况,如果相差不大说明系统负载平稳,1分钟远大于15分钟说明最近一分钟负载很高lscpu:查看cpu信息假设我们在一个单 CPU 系统上看到平均负载为 1.73,0.60,7.98,那么说明在过去 1 分钟内,系统有 73% 的超载,而在 15 分钟内,有 698% 的超载,从整体趋势来看,系统的负载在降低。平均负载高于70%时就不好了平...

2019-11-03 19:10:16 604

原创 极客时间专栏:kafka核心技术与实战

kafka是消息引擎也是流处理平台streams更好的实现端到端kafka connect组件apache kafka是基础CDH/HDP Kafka,大数据云公司提供的Kafka,内嵌Apache Kafka。优势在于操作简单,节省运维成本;缺陷在于把控度低,演进速度较慢。grafana+prometheus+kafka Exporter...

2019-11-02 21:56:58 910

原创 极客时间专栏:许式伟的架构课

学习内容来自七牛云CEO许式伟的架构课微信的浏览器之战,让操作系统变成了一个管道冯诺依曼计算机体系CPU 存储(大脑) IO(四肢)IO是黑箱的,可以是不同架构的东西计算机的能力(CPU指令集) ROM(BIOS)主板的程序内存页缺失的中断处理解决一切可以用计算来解决的问题计算机的程序可以保存在计算机主板 ROM上,也叫启动程序,也可以保存在外置存储设备上(硬盘), 在合适...

2019-11-01 21:27:05 534

原创 极客时间专栏:python核心技术与实战

学习内容来自极客时间专栏安装Jupyter Notebook安装教程:https://jupyter.org/install.html安装教程windows下安装:pip install jupyterlabjupyter notebook列表和元组用哪一个列表和元组都是一个可以放置任意数据类型的有序集合。列表是动态的:长度大小不固定,可以随意地增加、删减或者改变元素(...

2019-10-22 11:44:36 677

原创 数据结构与算法

数据结构与算法(Python)学习内容来自极客时间覃超(前facebook工程师,卡内基梅隆大学计算机硕士)专栏及文章等常见数据结构的时间复杂度O(n !)>O(2 ^ n)>O(n ²)>O(log n)>O(n)1.堆栈和队列(Stack、Queue)栈的数据结构经常用到:表达式的运算,花括号的匹配,浏览器的前进后退等栈的基本知识什么是...

2019-10-21 15:26:26 242

原创 极客时间专栏:数据结构与算法之美

数组用堆栈来存,自下而上,插入删除的时间复杂度为O(n),查找为O(1)链表引入指针的概念,插入和删除为O(1),但是查找为O(n)比特币的指针是指向前一个节点,但本质也是个链表,so,查找慢,但是为了安全,so引入了分片技术双向链表有头有尾反转链表 https://segmentfault.com/q/1010000015907927/a-1020000015912468...

2019-10-16 21:51:33 184 1

原创 记录一次ubuntu的误操作

因为手欠删除了ubuntu自带的python3.8导致terminal打不开,文件夹打不开然后sudo apt remove python3导致ubunt桌面都显示不了,最后重新安装ubuntu-desktop有了界面terminal还是不行,于是找到了另一台电脑复制了/usr/bin/python3.8的文件,终于可以了文件夹还是打不开于是google sudo /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas/就好了总结:千万.

2020-12-06 15:22:55 21

原创 ubuntu VirtualBox安装Windows虚拟机

https://blog.csdn.net/a805607966/article/details/105877055

2020-08-31 16:19:02 61

原创 IP举例

相比于美国、日本等文化输出强国,我们还有很长的道路要走,随着近些年文化产业的高速发展,已经打造了不少具有国际影响力的IP××××××××××××××电影哪吒、【1】流浪地球×××××××××××,×××××××××××××××××音乐××××××××××××××,×××××××××××××××中国美食××××××××××××等。于此同时要考虑到不同国家的文化的审美,有迎合有坚持。以下内容仅...

2020-04-23 17:52:32 127

原创 文化输出、IP出海

中国的文化背景庞杂,一方面五千年的悠久历史和长期以来强大的文化影响力,让我们拥有丰富的传统文化资源;另一方面,近代的屈辱历史让我们也认识到,在现代文化上,西方具有很大的优势与话语权。同属于东亚文化圈的日本为例,日本选择了西方化,东方就是传统,西方就是现代,几乎已经成为了一种根深蒂固的观念,当经济发展,我们主键由追赶到并行,甚至超越,担当起大国责任时,文化上的自信,开始重要起来。新华网在《学习进...

2020-04-22 18:05:10 121

原创 李子柒与文化输出

李子柒与文化输出为什么她的视频会吸引那么多人观看?视频拍摄的内容是中式田园生活,看过李子柒视频的人无一不对视频里古风田生活向往和憧憬,伴随的治愈的音乐和祥和和画面给人以世外桃源般的宁静。她不单单是做饭,内容涉及范围之广让人惊讶,从造面包窑、做竹子家具、文房四宝、做衣服,到烤全羊、酿酒、酿造黄豆酱油、刺绣,甚至是活字印刷,正如网友所言,没有李子柒做不出来的东西。虽然视频时间不算长,但每个视频可能有...

2020-04-22 13:24:35 281

原创 李子柒与文化输出

李子柒与文化输出李子柒的正反评价个人观点文化自信文化输出生活方式的输出中国特色的元素的输出(中国风)发扬传统但不拘泥于传统有中国元素、中国内容,还要将中国元素国际化的表达(出海的运营考虑)可以有妥协但也要有坚持最后可以发散一下...

2020-04-21 12:20:36 166

原创 即时消息系统-极客时间

开篇词 | 搞懂“实时交互”的IM技术,将会有什么新机遇?2014 年 Facebook 以 190 亿美元的价格,收购了当时火爆的即时通信工具 WhatsApp,而此时 WhatsApp 仅有 50 名员工。也就是说这 50 名员工人均创造了 3.8 亿美元的价值。这里,我们不去讨论当时谷歌和 Facebook 为争抢 WhatsApp 发起的价格战,从而推动这笔交易水涨船高的合理性,从...

2020-04-19 14:27:41 134

原创 大数据

HadoopNameNode和DataNode,在存储数据的时候会将数据进行切块,为了防止产生数据丢失,会将数据进行备份,称为副本-replication在Hadoop中默认的副本数为3在存储数据过程中会将数据进行切块(分片)每一个块称之为BlockBlock是HDFS的基本存储单位可以修改块的大小,在HDFS中会对Block进行编号将数据切块的意义:便于存储超大的文件、便于进行快速备...

2020-04-18 12:48:07 74

原创 Redis深度历险:核心原理与应用实践

基础和应用篇redis:远程字典服务json.dumps之后的数据类型是str可以将数据序列化之后存入redis用户获取信息只需要进行反序列化redis的字符串是动态字符串,可以修改,就是go中的切片,通过分配冗余空间来减少内存分配过期时间设置命令:expire name xredis的列表是链表不是数组,所以插入和删除非常快,但是索引定位很慢redis的...

2020-04-16 20:14:16 65

原创 Python的描述符

######################################################################################## Author : CHR_崔贺然# Time : 20200412# TODO : description描述符,需求做一个成绩管理系统,在property、staticmethod、classmethod中都有使用...

2020-04-12 12:45:50 36

原创 mongodb

find返回所有的集合,find_one返回一个集合更新数据需要先创建:post.comments = []然后执行更新操作:db.blog.update({title:“My Blog Post”}, post)remove删除数据不要用系统的函数做collection的名字mongodb支持的数据结构:bool、整数、floot、string、id(12子节的唯一ID,24个字符串...

2020-04-10 19:49:10 39

原创 CSAPP读书笔记

第一章:计算机系统漫游每个字节表示程序中的某些文本字符(大部分计算机系统用ASCII标准来表示文本字符)gcc编译hello.c程序分为四个阶段:预处理、编译器、汇编器、连接器计算机硬件组成:总线、IO设备、主存、处理器从磁盘加载到主存可以不经过CPU利用DMA技术文件加载到主存处理器就开始执行程序,将字节从主存复制到寄存器文件,再从寄存器文件中复制到显示设备最终显示到屏幕上...

2020-04-09 12:40:42 55

原创 分布式系统:概念与设计读书笔记

分布式系统的特征分布式系统的例子:多人在线游戏,金融交易系统分布式系统的挑战是处理其组件的异构性、开放性、安全性、可伸缩性、故障处理、组件的并发、服务的高可用性分布式系统组件之间通过消息进行传递,rpc或者消息队列异步传递消息分布式系统的特征:并发、全局时钟、故障,构造分布式系统主要的动力来源于对共享资源的期望,资源这一个词非常抽象,从硬件到软件数据向计算移动:将数据都采集上来集中处...

2020-04-08 22:08:27 81

原创 Python协程

'''greenlet是一个底层的模块,是gevent的底层实现,可以让用户自己切换执行代码'''# from greenlet import greenlet# def eat():# print("eating 1")# g2.switch()# print("eating 2")# def play():# print("playing...

2020-04-05 13:36:52 39

原创 20200401

TCP为什么是三次握手?tcp是可靠性的协议,我发送了必须要等对方收,如果 不回话就会重发。为什么要有序列号呢?因为tcp是全双工的,http是半双工,所以收发必须要有一个编号,来回复我收到了哪一条消息,是第一个还是第二个,在通信之前要同步序列化,最大的报文长度等等,但为什么不是4次握手呢?因为连接不允许在半打开的状态发送包HTTP协议中缓存的处理流程?过期的共享缓存输入...

2020-04-01 22:01:59 66

原创 Leetcode最长子串问题

动态规划局部练习def findMax(target: str): ''' type target: "aksfkjsdghguiqebgbrbgipqge" rtype : 最长的个数 ''' tmp_con = "" last_num = target[-1] l = len(target) while l: ...

2020-03-29 14:44:41 46

原创 链表模板

class ListNode: def __init__(self, val): self.val = val self.next = None # self.prev = Noneclass Solution: def reverseLinkedList(self, head: ListNode): prev,...

2020-03-29 14:39:15 33

原创 树的DFS遍历

from functools import lru_cacheclass TreeNode: def __init__(self, val): self.val = val self.left, self.right = None, None# 二叉树visited = set()@lru_cachedef DFS(node: TreeNod...

2020-03-29 14:38:33 73

原创 DFS电话号码问题,及通用解题模板

# 1.终止条件 2.当前层处理 3.递归下一层map = { 2: "abc", 3: "def", 4: "ghi", 5: "jkl", 6: "mno", 7: "pqrs", 8: "tuv", 9: "wxyz"}res = []def phone_num(target: str, depth: int, ...

2020-03-29 14:36:57 45

原创 Python中的lru_cache+genarator

from functools import lru_cacheimport time@lru_cache(maxsize=128)def fib(n: int): if n == 0: return 0 elif n == 1: return 1 return fib(n-1) + fib(n - 2)def run(): ...

2020-03-27 22:00:10 65

原创 读书笔记、思维导图

https://www.processon.com/view/link/5e7db46de4b092510f7b42cb

2020-03-27 16:10:39 52

原创 Python面试题

看完面经和最近的面试我自闭了,想进大厂不是那么容易的,需要扎实的基础本来以为Python学的不错但是和企业真正的大牛还差的很远,从今天开始刷遍全网Python面试题计划迭代器生成器是如何实现迭代的?首先生成器是特殊的迭代器,迭代器必须实现__iter__和__next__方法,每次通过next()不断循环迭代,生成器通过yield关键字来实现,返回一个生成器,cpu会进行一个挂起...

2020-03-25 22:01:50 131

原创 2020.3.25

Redis的RDB和AOFRDB是定时备份会定时fork一个子进程备份这段时间的数据,生成一个二进制的rdb文件AOF会记录所有的写操作记录到appendonly上保证数据的一致性但是rdb会越来越大,大到一定程度会影响性能,rdb还会有一定程度的数据丢失AOF会进行一个数据整合的操作,不过AOF是一个同步的操作,对性能会有影响redis的哨兵机制,哨兵进程会定期检测master服务是...

2020-03-25 14:40:38 53

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除