自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 IOS崩溃文件符号化实践

实现稳定性分析功能,通过支持app崩溃信息实时采集、实时上报、实时自动解析并定位出代码问题,帮助研发同学及时定位崩溃原因并修复

2023-02-18 20:46:49 1220

原创 TCP/IP相关拾遗

17-22章 TCP内部细节IP是网络层上的主要协议,同时被TCP和UDP使用,TCP和UDP的魅族数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。ping程序是对两个TCP/IP系统连通性性能测试的基本工具。它只利用ICMP回显请求和回显应答报文,而不用经过传输层(TCP/UDP)。ping服务器一般在内核中实现ICMP的功能。IP路由操作对于运行TCP/IP的系统来说是基本的,不管是主机还是路由器。路由表项的内容很简单,包括:5bit标志、目的IP地址(主机、网络或默认)、下一站路由

2020-09-15 08:57:15 241

原创 服务器编程相关抱佛脚

TCP的连接建立和关闭-27TCP 面向连接-字节流-可靠传输TCP连接是全双工的,允许两个方向的数据传输被独立关闭。如何保持可靠1.建立连接2.超时重传3.确认机制保证数据的成功传输。每个TCP端都有一个序列号和数据完整性校验和。每个段的接收者接收到完好的段时,都会想发送者发会送小的确认分组。延迟确认算法会在一个特定的窗口时间内将输出确认存在缓冲区中,以寻找能够捎带它的输出数据分组。TCP状态转移-40TCP状态转移总图TIME_WAIT状态客户端收到结束报文之后,进入TIME_W

2020-09-09 23:09:40 145

原创 InnoDB存储引擎抱佛脚

InnoDB关键特性插入缓冲两次写自适应哈希索引异步IO索引与算法InnoDB存储引擎支持的常见索引:B+树索引目前关系型数据库系统中最常用的最为有效的索引。B+树索引并不能找到一个给定键值的具体行。能找到的是被查找数据行所在的页,然后数据库通过把页读入到内存中,再在内存中进行查找,最后得到想要查找的数据。2.全文索引哈希索引InnoDB存储引擎会根据表的使用情况自动为表生成哈希索引,不能认为干预是否在一张表中生成哈希索引B+树B+树是为磁盘或其他直接存取辅助设备设计的一种平衡查找

2020-09-09 00:09:29 122

原创 redis临时抱佛脚

跳跃表跳跃表节点结构定义typedef struct zskiplistNode{ //层 struct zskiplistLevel{ //前进指针 struct zskiplistNode *forward; //跨度 unsigned int span; } level[]; //后退指针 struct zskiplistNode *backward; //分值 double score; //成员对象 robj *obj;}zskiplistNode;层:

2020-09-08 23:18:03 139

原创 基本功能

链表链表结构typedef struct listNode{ struct listNode *prev; struct listNode *next; void *value;} listNode;链表通过list定义,提供头,尾两个指针,分别指向头部的节点和尾部的阶段,提供三个函数指针,供用户窜入自定义函数,用于复制(dup)、释放(free)和匹配(match)链表中的结点的值(value)typedef struct list{ listNode *head; listNode

2020-09-06 23:26:39 101

原创 生产者

消息系统通常由生产者(producer)、消费者(consumer)和消息代理(broker)分布式系统通常会自己实现一套负责不同节点之间数据传输的网络层通信机制,也叫做RPC框架。RPC框架会处理网络通信协议的编解码、客户端和服务端的请求发送和接收等。新生产者客户端生产者要发送消息,先在客户端吧消息放入队列中,然后由一个消息发送线程从队列中拉取消息,以批量的方式发送消息给服务端。kafka的记录收集器(RecordAccumulator)负责缓存生产者客户端产生的消息,发送线程(sender)负责读

2020-09-05 23:27:15 188

原创 kafka入门

同构和异构数据库同构分布式数据库系统中,所有站点都是用相同的数据库管理系统软件,它们彼此了解,共同合作处理用户的请求。在异构分布式数据库中,不同站点可能使用不同的模式和不同的数据库管理系统软件。站点之间彼此不了解,在合作处理事务的过程总,它们可能仅提供有限的功能。分布式数据存储一个要存储到数据库中的关系r。在分布式数据库中存储这个关系有两种方法:1.复制:系统维护这个关系的几个相同的副本(拷贝),并把每个副本存储在不同的站点上。复制的替代方式是只存储关系r的一份拷贝。2.分片:系统把关系划分为几

2020-09-02 23:39:38 250

原创 php基础总结

了解大部分数组处理函数array()创建数组array_change_key_case() 把数组中所有键更改为小写或大写array_chunk() 把一个数组分割为新的数组块array_column() 返回输入数组中某个单一列的值array_combine() 通过合并两个数组来创建一个新数组array_count_values() 用于统计数组中所有值出现的次数array_di...

2019-05-02 23:37:10 136

原创 PHP开发高可用高安全APP后端 课程笔记(一)项目简介

高安全授权码 sign算法登录场景 access_user_token算法token 唯一性支持API 一次性请求支持高可用restful api开发全过程web登录和APP登录一同簇APP本地时间和服务器时间一致性解决方案不可预知的API内部异常解决方案APP版本升级解决方案利用七牛云解决图片处理基础服务能力基础类库的封装部分php设计模式的穿透部分模块提供多种解决方...

2019-03-30 16:51:10 732 1

原创 mac下安装yii

1.首先是安装Composecurl -sS https://getcomposer.org/installer | php2.下载后Compose的存放路径是/Users/apple/composer,需要把composer文件放到/usr/local/bin/下,执行下列命令完成此操作sudo mv composer.phar /usr/local/bin/composer安装好com...

2018-12-07 19:11:58 295

原创 leetcode为了准备面试系列

我的博客就是三天打鱼两天晒网了,最近比较幸运下周六有面试惹,下周六面试要手撕代码,我这个算法渣再抱几天佛脚了,每天刷5题,主要集中在链表、树和数组这三部分,加油鸭! 9.4号5题记录(晚上刚从北京回来,只写了3题)19. 删除链表的倒数第N个节点给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3-&a

2018-09-04 22:29:43 1220

原创 标准库提供的字符串处理函数

strlenstrlen()计算字符数组的字符数,以’\0’以标志结束,计算不为’\0’的数据元素个数。 自定义函数实现strlen的功能是:int strlen(const char* str){ assert(str != NULL); int len = 0; while((*str++) != '\0') len++; retu...

2018-08-23 11:18:05 281

原创 leetcode 动态规划+滑动空间

为了能过笔试,为了能有offer,真的是拼了.感觉leetcode上题目的类型划分不是很精确呢,这个动态规划系列是A了一道上台阶的题目,按照下面联想的相关题目写的呢,可是感觉好像有的题目不是很动态规划呢。大概是我对动态规划理解不清晰吧。523. Continuous Subarray SumGiven a list of non-negative numbers and a target ...

2018-08-21 20:34:42 247

原创 leetcode 字符串匹配

792. Number of Matching SubsequencesGiven string S and a dictionary of words words, find the number of words[i] that is a subsequence of S.Example : Input: S = “abcde” words = [“a”, “bb”, “acd...

2018-08-21 14:18:21 1424

原创 leetcode 贪心系列

啊,找工作快要虐死我了啊,笔试都过不了要死惹,我好不容易把BFS、DFS弄会了,后面遇到的笔试题全都是贪心啊,是要整死我啊,哭唧唧。452. Minimum Number of Arrows to Burst BalloonsThere are a number of spherical balloons spread in two-dimensional space. For each ...

2018-08-20 17:07:34 431

原创 查找

什么是文件系统  文件系统是结构化管理块设备上的数据的机制。它通过文件和目录等概念,使管理设备上的数据成为可能。   在利用块设备的文件系统前需要对其进行挂载。inode文件用来管理块设备上的块集合,它由两部分构成,定义文件的inode和该文件包含的数据。inode管理文件大小、访问权限、保存数据的块设备的快编号等信息。系统内核将inode从块设备读取至内存时,为了便于操作,对其...

2018-08-20 15:45:30 209

原创 图遍历算法的应用

1.判断图的连通性图的遍历算法可以用来判断图的连通性。如果一个无向图是联通的,如果无向图是联通的,则从任一节点出发,仅需一次遍历就可以访问图中的所有节点。如果无向图是非联通的,则从某一节点出发,一次遍历仅能访问到该顶点所在联通分量的所有顶点,而对于图中其他联通分量的顶点,则无法通过这次遍历访问。对于有向图来说,若从初始点到图中的每个顶点都有路径,则能够访问到图中的所有顶点,否则不能访问到所有顶...

2018-08-18 17:24:05 2645

原创 B树

B树是为磁盘或其他直接存取的辅助设备而设计的一种平衡搜索树。B树的定义一颗B树T是具有以下性质的有根树(根为T.root): 1.每个结点x有下面属性: a) x.n,当前存储在结点x中的关键字个数 b)x.n个关键字本身x.key1, x.key2,…, 以非降序存放,使得x.key1≤x.key2≤…≤x.keyx.n c)x.leaf,一个布尔值,如果x是叶节点,则为TR...

2018-08-17 17:10:21 107

原创 排序算法总结

算法的稳定性:如果待排序表中有两个元素Ri,Rj,其对应的关键字keyi = keyj,且排序前Ri在Rj前面,如果使用某一排序算法后,Ri仍然在Rj前面,则称这个排序算法是稳定的。插入排序其基本思想是每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成。 插入排序的思想可以引申出两个重要的排序算法:直接插入排序和希尔排序直接插入排序(稳定)...

2018-08-16 21:15:09 222

原创 系统调用的概念和类型

系统调用提供了用户程序和操作系统内核间的接口。1.系统态和用户态在实际运行过程中,处理机会在系统态和用户态间切换。相应地,现代多数OS将CPU的指令集分为特权指令和非特权指令两类。 (1)特权指令。特权指令是指在系统态运行的指令,它对内部空间的访问范围基本不受限制,不仅能访问用户空间,也能访问系统空间。 (2)非特权指令。非特权指令是运行在用户态的指令。应用程序所使用的都是非特权指令,...

2018-08-15 20:35:28 9199 1

原创 C++ primer第六版 13章课后题解

12.1 以下面的类声明为基础: 头文件//// classic.h// classic//// Created by apple on 2018/8/15.// Copyright © 2018年 apple. All rights reserved.//#ifndef classic_h#define classic_hclass Cd{private...

2018-08-15 12:05:09 210

原创 leetcode DFS系列

这个系列放在leetcode上刷到用DFS解的题,不断扩充,我自己遇到就会加进来。 题目均来自leetcode,括号内是题目标号1. Number of Islands(200)Given a 2d grid map of ‘1’s (land) and ‘0’s (water), count the number of islands. An island is surrounde...

2018-08-14 21:43:28 786

原创 16.集群

Redis集群是Redis提供的分布式数据库方案,集群通过分片来进行数据共享,并提供复制和故障转移功能。节点一个Redis集群通常由多个节点组成,连接各个节点node发送CLUSTER MEET命令,可以让node节点与ip和port所指定的节点进行握手,当握手成功时,node节点就会将ip和port所指定的节点添加到node节点当前所在的集群中。启动节点一个节点就是一个运行在...

2018-08-14 18:40:11 184

原创 C++ primer第6版 12章课后题

12.1 对于下面的类声明:class Cow{ char name[20]; char* hobby; double weight;public: Cow(); Cow(const char* nm, const char* ho, double wt); Cow(const Cow &c); ~Cow(); Co...

2018-08-13 16:18:03 431

原创 C++ primer第六版11章课后题

写在前面: 昨天答了网易的笔试,写问答题才发现自己C++类这部分的知识了解并不深入,有些知识点以为自己懂了,结果在题目面前还是发现自己没有想清楚。虽然之前看过很多遍C++ primer,但是从来没有自己动手写过编程练习,最多是照着答案看过复习题,看别人说写不写课后题对知识理解差别很大,决定从今天起认真把11章以后的每道课后题都写一下。11.1修改程序清单11.15,使之将一系列连续的随机漫步...

2018-08-12 17:44:08 379

原创 快速幂模板

快速幂顾名思义:快速幂就是快速算底数的n次幂。其时间复杂度为O(logN)原理求a的b次方,将b转换为二进制数,该二进制数第i位的权为2^i-1.代码实现long long Pow(long long a, long long b){ long long r = 1; while(b){ if(b&1) r*=...

2018-08-10 17:47:04 123

原创 leetcode 746. Min Cost Climbing Stairs题解

On a staircase, the i-th step has some non-negative cost cost[i] assigned (0 indexed).Once you pay the cost, you can either climb one or two steps. You need to find minimum cost to reach the top of ...

2018-08-10 11:32:48 112

原创 leetcode 290. Word Pattern

Given a pattern and a string str, find if str follows the same pattern.Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in str.Exampl...

2018-08-09 11:19:55 98

原创 leetcode18. 4Sum 题解

Given an array nums of n integers and an integer target, are there elements a, b, c, and d in nums such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of tar...

2018-08-08 21:47:56 182

原创 B+树索引

聚集索引聚集索引是通过将表的主键作为键值来构造B+树。聚集索引不仅包含索引的键值,还包含记录其他所有列的信息。聚集索引中的记录是根据键值顺序存放的。聚集索引的非叶节点存放的是<键值,索引>对。地址为指向下一层的指针,存储引擎通过页在表空间中的偏移量来表示。辅助索引辅助索引又称为二级索引或非聚集索引。辅助索引的叶子节点并不保存记录中的所有列,其叶子节点保存的是< 键...

2018-08-08 11:12:53 995

原创 leetcode 15.3sum 题解

Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note:The solution set must not cont...

2018-08-07 19:23:21 113

原创 树的应用

二叉排序树平衡二叉树哈夫曼树及哈夫曼编码

2018-08-07 11:57:02 4073

原创 787. Cheapest Flights Within K Stops题解

题目: There are n cities connected by m flights. Each fight starts from city u and arrives at v with a price w.Now given all the cities and fights, together with starting city src and the destination...

2018-08-06 21:31:53 596

原创 分布式数据库系统

概述分布式数据库系统  分布数据库定义:分布数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个节点具有独立处理的能力(称为场地自洽),可以执行局部应用。同时每个结点也能通过网络通信子系统执行全局应用。分布式数据库系统的特点数据独立性   在集中式数据库中,数据独立性包括两个方面:数据逻辑独立性和数据的物理独立性。通过系统的三级模式(外模式、模式、内模式...

2018-08-06 15:51:35 3057

原创 数据库恢复技术

  事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元。数据处理技术主要包括数据库恢复技术和并发控制技术。数据库恢复机制和并发控制机制是数据库管理系统的重要组成部分。事务的基本概念事务  所谓事务时用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 事务和程序是两个概念,一般地讲,一个程序中包含多个事务。 事务的开始和结束是由用户显示控制...

2018-08-06 12:01:06 10575

原创 deque

deque概述deque是一种双向开口的连续线性空间。可以在头尾两端分别做元素的插入和删除操作。 deque和vector的不同: 1)deque可以常数时间内对起头端进行元素的插入或移除操作 2)deque没有容量观念,它是动态地以分段连续空间组合而成,随时可以增加一段新的空间并链接起来。deque中控器deque是由一段一段的定量连续空间构成。deque采用一块所谓的ma...

2018-08-06 09:21:43 178

原创 图的基本应用

  求解最短路径的算法通常都依赖于一种性质,也就是两点之间的最短路径也包含了路径上其他顶点的最短路径。这种最优子结构性质是动态规划和贪心算法是否适用的一个标记。   带权有向图G的最短路径问题,一般可分为两类:一是单源最短路径,即求图中某一顶点到其他各顶点的最短路径,可通过经典的Dijkstra算法求解,此算法也是基于贪心算法的策略;二是求每一对顶点间的最短路径,可通过Floyd-Warshal...

2018-08-04 15:41:31 3510 1

原创 16.Sentinel

Sentinel是Redis的高可用性解决方案:由一个或多个Sentinel实例组成的Sentinel系统可以见识任意多个主服务器,以及这些主服务器下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线组服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。启动并初始化Sentinel启动一个Sentinel可以使用命令: re...

2018-08-04 15:40:26 115

原创 拓扑排序(以及leetcode207题解)

有向无环图:一个有向图不存在环,则称为有向无环图,简称DAG图。 AOV网:如果用DAG表示一个工程,其定点表示活动,用有向边< Vi,Vj>表示活动Vi必须先于活动Vj进行的这样一种关系,则将这种有向图称为定点表示活动的网络,记为AOV网。在AOV网中,活动Vi是活动Vj的前驱,活动Vj是Vi的直接后继,这种前驱和后继关系具有传递性,且任何活动Vi不能以它自己作为自己的前驱或后继。...

2018-08-03 14:48:30 1862

空空如也

空空如也

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

TA关注的人

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