- 博客(28)
- 资源 (12)
- 收藏
- 关注
原创 极客大学架构师训练营 数据结构与算法 分布式数据库 Hadoop 第八次作业
链表算法有两个单向链表(链表长度分别为 m,n),这两个单向链表有可能在某个元素合并,如下图所示的这样,也可能不合并。现在给定两个链表的头指针,在不修改链表的情况下,如何快速地判断这两个链表是否合并?如果合并,找到合并的元素,也就是图中的 x 元素。请用(伪)代码描述算法,并给出时间复杂度和空间复杂度。解题思路如果有汇合点,那么后面的个数肯定是一样的。所以先把长链表的往前移动,跟短链表一样长后,再挨个比较。如果找到Node对象相等说明是一样的,返回该对象;否则返回Null。时间复杂度为 O(n
2020-07-29 23:04:07 3207
原创 极客大学架构师训练营 网络通信协议 非阻塞网络I/O NIO 数据库架构原理 第16课 听课总结
说明讲师:李智慧网络通信协议Web 请求的一次网络通信历程客户端 > 域名访问 > DNS 解析为 IP地址 >获取静态资源 jpg, css, javascript, 通过CDN获取动态资源,基于TCP访问到负载均衡服务器 (比如订单、商品详情等)反向代理服务器 > 负载均衡服务 > 网关服务器 > 微服务服务器 >数据库服务器 (基于TCP协议访问 )缓存服务器(基于TCP协议访问 )OSI 七层模型和TCP/IP四层模型链路层
2020-07-29 21:20:26 413
原创 mac sublime text 3 列操作,替换相同内容, 用动态输入的方式
说明有时候需要去掉获取替换掉相同的列,那么有如下方法。列操作按住 option 键,然后选择需要选择的列,比如笔者选择第一列。从上到下,从下到上,从左到右,或者从右到左都可以。比如笔者输入666在前面,就变成如下所示:搜索全部替换如果想替换掉 <String>,command + f, 输入<String>点击右下角的Find All 按钮比如笔者想换成have a good day. 如下所示...
2020-07-29 17:57:31 2865
原创 可复制领导力 - 极客大学架构师训练营 架构师老A
说明分享人: 架构师老A分享主题:《可复制领导力》分享提纲:个人能力成长阶梯东西方领导力差异管理者角色认知架构师老A自我介绍老A亲爱的老师们,同学们,大家好晚上,今晚由我给大家做一个分享。首先自我介绍一下,我是老A,来自是湖南.邵阳,现在在深圳工作,工作时间有10年左右。今天我给大家分享的是《可复制领导力》这个课程中的部分工具。希望给大家在平时的工作中带来一些帮助,接下来就开始我的分享,带大家感受一下这门课程的魅力。在分享可复制领导力的工具和方法之前,先给大家看一图。个人能力成长阶梯
2020-07-29 15:47:54 1219
原创 clone,Duplicate复制target XCode iOS
如果一套代码与多个App公用,那么可以Duplicate 一下Target,具体如下:步骤一:Duplicate Target,步骤二:build run app,选择target参考https://stackoverflow.com/questions/41644507/with-xcode-8-x-how-do-you-clone-an-existing-target...
2020-07-27 10:51:58 487
原创 大教堂与集市 The Cathedral & The Bazaar -- 这是当代软件技术领域最重要的著作
大佬对《大教堂与集市》的评价这是当代软件技术领域最重要的著作,其影响力远远超出编程范畴。 – Guy Kawasaki(Garage(车库)技术风险投资公司创始人、董事局主席)该书是开源运动的独立宣言,它清晰、透彻和准确地描述了开源运动的理论与实际应用,对开源软件运动的成功和Linux操作系统的广泛采用都起到了至关重要的作用。看来,开源运动给传统软件制造业以致命的打击。本书对任何想要理解这场变革影响的人来说,都提供了非常丰富的信息。 – Clayton Christensen, 哈佛商学院教授 《
2020-07-27 01:05:44 608
原创 算法:Unix是如何简化路径的Simplify Path简化路径规则
题目71. Simplify PathGiven an absolute path for a file (Unix-style), simplify it. Or in other words, convert it to the canonical path.In a UNIX-style file system, a period . refers to the current directory. Furthermore, a double period … moves the directo
2020-07-25 17:20:55 380
原创 极客大学架构师训练营 数据结构与算法 平衡二叉树 红黑树 动态规划 遗传算法 第15课 听课总结
说明讲师:李智慧数据结构与算法时间复杂度与空间复杂度时间复杂度并不是计算程序具体运行的时间,而是算法执行语句的次数。O(2^n) 表示对n数据处理需要进行 2^n 次计算。O(1), O(log(n)), O(n^a) 多项式时间复杂度O(n^a) 和O(n!) 非多项式的时间复杂度。空间复杂度一个算法在运行过程中临时占用存储空间大小的量度。O(n) 表示需要临时存储n个数据。NP问题P问题:能在多项式时间复杂度内解决的问题。NP问题:能在多项式时间复杂度内验证
2020-07-25 15:52:50 1577
原创 iOS build 编译错误 Failed to emit precompiled header for bridging header
问题file not found bridging headerFailed to emit precompiled header for bridging headerXCode可以在某个目标中成功构建,而另一个目标则不能。解决笔者发现标题搜索路径不相同。(Path: Target > Build Settings > Search Paths > Header Search Paths > add item)笔者复制并粘贴了成功目标的路径。成功了,太棒了!!..
2020-07-24 12:00:31 10600 1
原创 极客大学架构师训练营 性能优化 进程 线程 锁 存储 分布式数据库 第14课 听课总结
说明讲师:李智慧操作系统架构师要头脑中要实时运行操作系统的架构,一看到指标有异常,就要知道可能哪些地方有问题。程序运行时架构程序是静态的。程序运行起来以后,被称作进程。进程是有生命的,程序代码是静态的。程序代码运行起来后,在堆内存空间操作数据才会有数据冲突,程序调用是在栈内存空间调用指令。操作系统多任务运行环境计算机的 CPU 核心数是有限的。但是,服务器可以同时处理数以百计甚至数以千计的并发用户请求。那么,计算机如何做到的?进程分时执行。多个进程是活着的,但是不是每个进程都
2020-07-23 00:38:29 934
原创 极客大学架构师训练营 性能测试 性能优化 第七次作业
题目一:性能测试响应时间,吞吐量变化性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?稳定性测试被测试系统在特定硬件、软件、网络环境条件下,给系统加载一定业务压力,使系统运行一段较长时间,以此检测系统是否稳定。在生产环境,请求压力是不均匀的,呈波浪特性,因此为了更好地模拟生产环境,稳定性测试也应不均匀地对系统施加压力。TPS吞吐量 = (1000 / 响应时间ms) * 并发数性能测试目标: 要把这条曲线测出来。性能测试:a~b 并发数增加,TPS快速增加。负载
2020-07-22 23:55:15 2805
原创 极客大学架构师训练营 性能优化 性能测试指标 性能测试 性能优化 CDN 网络 硬盘 缓存 异步 集群 第13课 听课总结
说明讲师:李智慧架构师用了很多优化手段,如何给老板证明,性能提升了呢?性能测试性能测试是性能优化的前提和基础,也是性能优化结果的检查和度量标准。不同视角下的网站性能有不同的标准,也有不同的优化手段。主观视角:用户感受到的性能。(支付转账场景,用户点击转账后,有个倒计时的页面,即时反馈给用户,让用户感受到快。)客观视角:性能指标衡量的性能。性能测试指标不同视角下有不同的性能标准,不同的标准有不同的性能测试指标,网站性能测试的主要指标有响应时间、并发数、吞吐量、性能计数器等。响应时间响
2020-07-22 09:18:02 1050
原创 算法:两个数之和为目标数Two Sum II - Input array is sorted
题目167. Two Sum II - Input array is sortedGiven an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they
2020-07-19 23:06:11 232
翻译 命令查询职责分离模式 CQRS Command Query Responsibility Segregation
CQRSCQRS代表命令查询责任隔离。我最初听到的是格雷格·扬(Greg Young)描述的一种模式。其核心思想是,您可以使用与用于读取信息的模型不同的模型来更新信息。在某些情况下,这种分离可能很有价值,但请注意,对于大多数系统,CQRS会增加风险。人们用于与信息系统进行交互的主流方法是将其视为CRUD数据存储。我的意思是,我们有一些记录结构,我们可以心智模式 ç reate新纪录,[R EAD记录,ü PDATE现有记录,并ð elete记录时,我们与他们所做的。在最简单的情况下,我们的交互都是关于存
2020-07-19 23:03:04 931
原创 Charles 4.2 HTTPS抓包,乱码设置,证书信任,证书安装
iPhone抓包Mac必须与iPhone连接同一WiFiProxy -> SSL Proxying Settings -> SSL Proxying -> AddHost:为需要过滤的域名地址,*表示不过滤Port:固定为443,*表示任意端口查看Mac IP地址iPhone添加代理, 点击wifi 》 Configure Proxy选择 Manual, Server填写Mac的ip, Port写 8888Safari访问chls.pro.
2020-07-18 23:14:04 2033
原创 领域驱动设计Domain Drive Design关于DDD的那些事儿
说明李大成 架构师 分享内容,干货很多,整理为文章架构师是一顶帽子,是一个角色,不是一个title,只要自己做的是架构设计相关的事情,自己就是一名架构师。什么是DDD?DDD是Domain Drive Design的缩写,直译的意思是领域驱动设计的意思。DDD的概念大约十五六年前由Eric Evans 提出 , 《领域驱动设计》一书可以算作是Eric在DDD领域的的开山之作。注意这本书的副标题: 软件核心复杂性应对之道。 大家还记得李老师给我们讲课的时候,反复强调的一个观点吗? 就是做架
2020-07-17 01:38:06 1693
原创 算法:求数组区间的和Range Sum Query - Immutable
题目303. Range Sum Query - ImmutableGiven an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive.Given nums = [-2, 0, 3, -5, 2, -1]sumRange(0, 2) -> 1sumRange(2, 5) -> -1sumRange(0, 5) -> -3Constraints
2020-07-16 01:39:19 423
原创 极客大学架构师训练营 系统架构 分布式数据库 Zookeeper 第12课 听课总结
说明讲师:李智慧架构师要有设计、并开发出分布式数据库。仅仅是会用的话,竞争力是不够的。像阿里巴巴、腾讯、京东都有自己的分布式数据库开发团队,要想进入这个团队当架构师,就要有这种视野。在公司里面,你要是听别人的,那么基本上都是把重复的、没有技术含量的活分配给你。人生的机会,都是自己去争取的。作为架构师,要传递一个信息,打动公司,让公司支持你不赚钱的项目。你要有技术影响力,争取说服领导支持去你做这个事情,并且能够说服团队跟你一起干。Doris - 海量 KV Engine当前现状网站关键业务有许多
2020-07-16 01:31:44 1377
原创 极客大学架构师训练营 系统架构 分布式数据库 数据分片 业务分库 CAP ACID BASE 第11课 听课总结
说明讲师:李智慧MySQL 复制注意事项主主复制的两个数据库不能并发写入。复制只是增加了数据的读并发处理能力,没有增加写并发能力和存储能力。更新表结构导致巨大的同步延迟。数据分片当数量量太大不能放在一个数据库的时候,就需要数据分片。比如微信的用户表、Facebook用户,淘宝订单表等。分片目标分片特点分片原理硬编码实现数据分片硬编码不灵活,比如服务器宕机了。映射表外部存储可以用多种方式映射,比如订单表里面,除了可以用userId映射,也可以用orderId映射。不过
2020-07-16 01:31:01 841
原创 极客大学架构师训练营 系统架构 CAP原理 分布式系统脑裂 第六次作业
请简述 CAP 原理。在理论计算机科学中,CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer’s theorem),它指出对于一个分布式计算系统来说,不可能同时满足以下三点(切记:分布式系统最终是达到所有状态的,也就是最终一致性。随着时间的延长,和其它条件的证实,可以去掉错误的状态。):一致性(Consistency) (等同于所有节点访问同一份最新的数据副本)可用性(Availability)(每次请求都能获取到非错的响应——但是不保证获取的数据为最新数据)分区容错性(Par
2020-07-15 23:36:13 727 1
原创 极客大学架构师训练营 系统架构 一致性哈希 Consistent Hashing 第五次作业
题目用你熟悉的编程语言实现一致性 hash 算法。编写测试用例测试这个算法,测试 100 万 KV 数据,10 个服务器节点的情况下,计算这些 KV 数据在服务器上分布数量的标准差,以评估算法的存储负载不均衡性。答1、首先选用Java的TreeMap,因为它基于红黑树实现,查找效率比较高,而且已经原生提供了ceilingEntry和firstEntry方法;其次,虚拟结点的Hash计算必须是稳定不变的,否则服务重启可能导致虚拟结点跳变;还有,过程中用Mock类,代替物理服务器完成缓存的实际读写操
2020-07-15 22:54:08 443
原创 半小时在白板上写代码实现一致性哈希Hash算法
说明半小时白板代码实现一致性哈希Hash算法,这是Intel一次面试题。面试官丢下这个问题和白板,面试官就工作去了。讲师:李智慧什么是一致性哈希Hash一致性哈希是解决分布式缓存中,当扩容的时候,数据不一致的问题。一致性哈希如何实现?首先建立一个2的32次方环,0~2的32次方-1,首尾相连,构建一个一致性哈希环;把服务器若干个虚拟节点的哈希值,放到这个环上;要计算的哈希值的Key值,也放到环上;从这个Key值,顺时针查找,离它最近的虚拟节点的服务器。Java实现package
2020-07-15 00:22:16 362
原创 Charles添加断点拦截请求 修改request或者修改response
说明用Charles的时候,经常遇到要修改request或者response的需求。这里就用访问博主的博客为例子说明:https://blog.csdn.net/zgpeace没有修改之前的页面,用手机访问:一、添加Charles断点1、用Charles抓包发起一次接口请求2、对要打断点的接口右键,选择【Breakpoints】.1. 启动断点功能enable breakpoint2. 在需要加断点的url右键3. 选择Beakpoints二、Charles断点设置1、点击Cha
2020-07-13 01:01:09 2308 2
原创 极客大学架构师训练营 系统架构 消息队列 负载均衡 数据库备份 第10课 听课总结
说明讲师:李智慧消息队列与异步架构同步调用发邮件时序图:同步调用,每个调用都会阻塞等待。同步调用:线程前后执行,都要一步一步同步等待结果。多个耗时操作同步调用异步调用异步调用:写入消息队列里面,就直接返回。1毫秒就可以返回,比同步调用快了1,000倍以上。有回调的异步调用多次异步调用,不阻塞应用线程消息队列构建异步调用架构重要角色:消息生产者消息队列消息消费者点对点模型发布订阅模型消息队列的好处实现异步处理,提升写操作处理性能。支付、订单等需要消
2020-07-04 23:36:44 533
原创 算法:唯一路径Unique Paths 动态规划和二项系数解法
62. Unique PathsA robot is located at the top-left corner of a m x n grid (marked ‘Start’ in the diagram below).The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked ‘F
2020-07-04 17:27:04 749
原创 极客大学架构师训练营 系统架构 分布式缓存 一致性哈希 Hash 第9课 听课总结
说明讲师:李智慧缓存 Cache缓存:存储在计算机上的一个原始数据复制集,以便于访问。 – 维基百科缓存是介于数据访问者和数据源之间的一种高速存储,当数据需要多次读取的时候,用于加快读取的速度。缓存(Cache) 和 缓冲(Buffer) 的分别?缓存:一般是为了数据多次读取。缓冲:比如CPU写到 把数据先硬盘,因为硬盘比较慢,先到缓冲设备Buffer,不如内存,Buffer读和写都需要。无处不在的缓存CPU 缓存操作系统缓存数据库缓存JVM 编译缓存CDN 缓
2020-07-02 22:39:45 994 1
原创 极客大学架构师训练营 系统架构 大型网站技术架构 维基百科、淘宝、新浪微博案例分析 第8课 听课总结
说明讲师:李智慧互联网系统架构核心要素如何衡量一个系统的架构设计?高性能性能是互联网的一个重要指标,除非是没得选择,否则用户无法忍受一个相应缓慢的应用。一个打开缓慢应用会导致严重的用户流失,很多时候系统性能问题是系统架构升级的触发器。可以说性能是互联网系统架构设计的一个重要方面,任何系统架构设计方案都应该考虑可能带来的性能问题。也正是因为性能问题几乎无处不在,所以优化网站性能的手段也非常多,从用户端到数据库,从代码到机房部署,影响用户请求的所有环节都可以进行性能优化。高可用因为互联网分布式系
2020-07-02 15:41:38 1393 1
原创 极客大学架构师训练营 系统架构 淘宝架构 第四次作业
作业:一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。阿里巴巴淘宝的前后端技术方案1.1淘宝整体架构淘宝架构图如何剖析,从外围到内围,从左到右。外围都是用户,数据的生产者,内部是数据的消费存储者;左边都是数据处理的源头,右边到达大数据平台,是大数据的分析。经过大数据的分析,为运营和产品提供优化方向,进一步提供更好的产品、商品、活动,提高GMV、DAU等。解决的问题:解决重复造轮子的问题。阿里巴巴曾经说过很多部门为了5%的不同,重新开发了一套系统,这导致性价比
2020-07-01 23:45:07 1255 1
注意力 > 时间 > 金钱 用于谋生的知识,学生主要工作是学习,成年人的工作是养家糊口, 这是基本的要求,在这之上,才能有
2023-10-04
注意力 > 时间 > 金钱 用于谋生的知识,学生主要工作是学习,成年人的工作是养家糊口, 这是基本
2023-10-04
Amazon Neptune Workshop-Fundamental-V1.0.pdf
2020-10-31
利用 Auto Scaling 实现 弹性高可用.pdf
2020-10-20
架构师图谱-大作业二.png
2020-09-17
给初中生分享社会需要的人才.pptx
2020-09-16
价值过亿的架构师训练营课面试题和答案.pptx
2020-09-10
ImageAlpha.zip
2020-05-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人