少女,你的代码掉了
码龄7年
求更新 关注
提问 私信
  • 博客:92,750
    92,750
    总访问量
  • 77
    原创
  • 12
    粉丝
  • 38
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
加入CSDN时间: 2018-06-10

个人简介:头秃少女的日常思考

博客简介:

weixin_42427338的博客

查看详细资料
个人成就
  • 获得17次点赞
  • 内容获得6次评论
  • 获得81次收藏
  • 代码片获得403次分享
  • 博客总排名2,260,801名
创作历程
  • 1篇
    2021年
  • 23篇
    2020年
  • 42篇
    2019年
  • 16篇
    2018年
成就勋章
TA的专栏
  • 分布式
    7篇
  • go
    14篇
  • k8s
    2篇
  • 刷题
    3篇
  • 大数据
    3篇
  • linux 网络
    2篇
  • boost asio库
    3篇
  • linux编程
    13篇
  • MySQL
    3篇
  • c++
    22篇
  • 算
    7篇
  • TCP IP协议族
    3篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 1

TA参与的活动 0

兴趣领域 设置
  • 大数据
    mysql
  • 后端
    架构
  • 服务器
    linux
创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

75人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

微服务的概念、优缺点和一些使用过的思考

什么是微服务?最早没有参加过工作的时候,不太理解微服务是什么。毕竟之前自己做的项目都比较小,还没有到“单体地狱”那么麻烦的程度。后面参加工作,经历了40多后端服务搭建成的一个产品线,突然就理解微服务的概念了。服务本身是一个小巧但是功能齐全的应用程序,它实现的是一组相关功能,比如订单管理,身份识别,用户中心等等。这些服务可以根据需求进行用例部署层面的实例扩展,或者是使用路由将请求发给不同namespace的服务。微服务的理念就是 将服务拆分为一组服务的架构风格微服务的特点服务直接都是松耦合的
原创
博文更新于 2021.04.10 ·
304 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

boost.asio async_read_some 和 async_read

这次做的这个项目就遇到一些问题想要达到的效果是每次先读取100字节的内容,之后根据这里面的数据长度的提示去找到接下来需要继续读出来的数据长度是多少,但是还是遇到了一些问题没有解决。所以又回头去看了一下API到底都是怎么回事。首先我之前使用的是ip::tcp::socket::async_read_some()basic_stream_socket::async_read_someT...
原创
博文更新于 2019.04.24 ·
10044 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

k8s的helm

之前部署一个应用的基本过程编写yaml文件使用deployment暴露端口建立Service服务Ingress:负载均衡缺点如果是部署单一应用,或者是少数的应用服务的情况下,使用这种方法是比较合适的当有些应用场景比如微服务,在这种情况下可能会有几十个服务,每个服务都有一套yaml文件,这样就会导致需要维护大量的yaml文件,即便是做一个版本管理在这种情况下也会特别的不方便。helm介绍helm是一个k8s的包管理工具,就像Linux下的包管理器,图yum/apt等,可以很方便的将之前
原创
博文更新于 2020.10.19 ·
341 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode刷题之76.最小覆盖子串

题目给你一个字符串 S、一个字符串 T 。请你设计一种算法,可以在 O(n) 的时间复杂度内,从字符串 S 里面找出:包含 T 所有字符的最小子串。tag:Sliding windowdiffculty:Hard示例输入:S = “ADOBECODEBANC”, T = “ABC”输出:“BANC”难点如何确定这些元素都在win当中?如何去缩减这些元素?最开始的思路【弃】使用一个hash表来存储这些旧元素的位置,然后如果这些元素都有位置了,表面当前window里面都存在这些元素
原创
博文更新于 2020.10.15 ·
381 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode刷题之424.替换后的最长重复字符

题目给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。注意:字符串长度 和 k 不会超过 104。输入:s = “ABAB”, k = 2输出:4解释:用两个’A’替换为两个’B’,反之亦然。思路这道题我第一次做类似的,并没有什么头绪。于是借鉴了评论区的一个solution,大神写的很清楚。这个思路和求字符串中最长连续子串的思路差不多,只是关键的一些判断条件有改变。当出现较
原创
博文更新于 2020.10.14 ·
322 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode刷题之3.无重复字符的最长子串

题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。分析这道题目和昨天做的239滑动窗口最大值在解法上的思路有相同的地方,那道题使用的是deque来完成的,这道题目使用set和index来完成
原创
博文更新于 2020.10.13 ·
171 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

k8s中service和secret

Service存在意义防止pod失联,基于服务发现例如将前端的服务和后端的服务分别部署在不同的pod上面的,前端访问后端的ip地址就需要通过service给他pod IP来获得其实际需要访问的地址,service和注册中心网有异曲同工的地方。定义一组关于pod的访问策略(负载均衡)负载均衡的策略可以根据很多指标来指定,每次都将任务分给较空闲的podPod与Service的关系service会根据标签对pod进行处理,selector中会记录标签对应的一些pod,每个pod上都绑定一个label。
原创
博文更新于 2020.10.13 ·
405 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

k8s的系统组件构成

k8s的前身borgBorgMaster类似于是中心调度的大脑,Borglet是一些真正运行服务的节点,其中包含某些节点的副本,一般来说节点的数量都是奇数的为了防止投票的时候出现平手的现象一般都是用奇数个节点。scheduler调度器scheduler将数据写入Paxos数据库当中之后再发给Borglet去消费这些数据。K8s的架构master服务器分为三部分scheduler : 调度器replication controller :配置控制器,负责控制副本数量得,伸展和收缩容器的数量
原创
博文更新于 2020.10.13 ·
589 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

leetcode刷题之239.滑动窗口的最大值

正确的解法是使用双端队列来处理这个window的功能。c++ deque有现成的stl可以使用需要注意几个点1. 需要维护队列内部的最大值在队首的位置,每次想要添加一个新元素的时候就循环和前面的元素做比较2. 判断一个元素是否过期,可以直接用当前队首和应该淘汰的数字进行对比如果一致就去除主要逻辑:1. 如果该数据小于新加入的数据,再上一步就应该被清除所以不需要考虑过期的问题2. 如果当前的数据大于新加入的数据,但是又恰好等于i -k这个位置的数据,那么在确定最大值之前就需要将它.
原创
博文更新于 2020.10.13 ·
207 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

k8s资源类型

集群资源分类名称空间级别:各个命名空间之间是隔离的集群级别:资源被定义后在全集群都可以被看见元数据型:不属于名称空间级别和集群级别,通过某些指标进行操作(比如分析系统的cpu指标)名称空间级别下资源工作负载型资源: Pod、ReplicaSet、Deployment、StatefulSet、DaemonSet、Job\CronJob服务发现型以及负载均衡资源: Service、Ingress配置与存储资源:Volume、CSI(容器存储接口)特殊类型的存储卷:ConfigMap(当配置中
原创
博文更新于 2020.10.10 ·
932 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

mapreduce的内部核心的工作机制

mapreduce框架的工作机制划分输入切片:Job客户端负责划分扫描输入目录中的所有文件遍历每一个文件按照128规格划分范围生成arrayList序列化程job.split文件根据job.split知道创建几个mapTask ,明确每个mapTask会处理某个文件某一部分的内容Map程序的启动过程TextInputFormat类:文本文件类型的读取工具类。mapTask会调用TextInputFormat类得到一个LineRecordReader类调用next方法从in
原创
博文更新于 2020.09.30 ·
157 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

如何使用mr程序统计数量前几大数据样本?

一次mr程序的执行流程数据输入到map程序做拆解的处理生成kvreduce会对数据做统计reduce程序执行完毕之后会调用cleanup程序一个reduce程序在reduce的过程中可以将统计的结果放在hashmap当中,然后在最后reduce处理完毕之后调用cleanup的过程中对所有的hashmap进行统计排序。因为每次reduce调用之后都回调用cleanup程序,所以如果想到的得到唯一的结果,就只能使用一个reduce程序。缺点:实现是可以实现这个功能,但是会失去分布式的意义,其次用
原创
博文更新于 2020.09.29 ·
422 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

如何手写一个简单的加减乘除的ast树

首先我们需要知道到底怎么给一个树排序的基本规则优先级高的要放在最下面的位置,新节点优先级低于当前比较的节点向上调整直到达到优先级合适的位置,优先级等于或大于当前节点的优先级则向下调整更新。尽量将所有的带有operator的节点放在左边举个例子4 * 1 / 2 + 3 - 2首先我们解析到第一个符号第二个符号是÷,因为除法和惩罚是同等优先级的,所以在经过判断之后,优先级一致向下调整这里要说明的是一个运算当中因为运算符优先级是不一样的所以一个数字应该与哪个符号结合也是问题那么11 / 2中
原创
博文更新于 2020.09.04 ·
691 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Go 语言结构体初始化的一些规则

Go语言的风格Go是一门看似简单但是依旧有自己的倔强的语言,对于一些小的细节,在初次学习的以后需要作详细的比较的尝试才可以逐渐熟练的使用这门语言。Go的结构体初始化列一下一个结构体结构type MyStruct struct { Num int Name string}正常的初始化有哪些//1.只声明,后做初始化var s MyStructs.Name = "xiaoming"s.Num = 20//2. 初始化的以后希望给变量赋值var s MyStruct = MySt
原创
博文更新于 2020.07.24 ·
592 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Lucene语言的常用API的使用

Lucene获得文档原始文档:要基于原始文档的数据内容建立索引搜索引擎:使用爬虫获得原始文档站内搜索:数据库内的数据查询构建文档对象对应每个文件创建document对象每个document对象都包含多个域(field)域中保存就是原始文档的数据,域包括名称和数据。每一个文档都包含一个编号ID分析文档分词:根据空格进行拆分句子,得到单词的列表把单词转为小写去掉标点符号去掉一些停用词(the a等)每个关键词都封装到一个Term对象当中,Term中包含两部分,关键词所在的
原创
博文更新于 2020.07.13 ·
289 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Yarn设计机制和使用方式

Yarn是什么yarn是一个分布式程序的运行调度平台yarn中有两大核心角色:1、Resource Manager接受用户提交的分布式计算程序,并为其划分资源(调度者)管理、监控各个Node Manager上的资源情况,以便于均衡负载Resource Manager最好不要放在namenode上面,因为resource不需要读取数据,resource manager非常重要所以需要单独放在一个机器上面。2、Node Manager管理它所在机器的运算资源(cpu + 内存)负责接受Re
原创
博文更新于 2020.07.09 ·
206 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

mapreduce框架学习

Map和Reduce阶段都是分离的map阶段–程序mapTaskmapTask可以运行在多个服务器上面,具体启动的数量取决于数据的数量。将文件化分给不同的mapTask的过程叫做切片。因为每个文件的大小不一致,所以并不是单纯的按照文件的个数进行分配。所以其实是将文件分为一些固定大小的数据块,并且将数据块分配给不同的map程序。首先是对文件的大小进行扫描,之后根绝文件的整体的大小启动相应数量的map程序需要给map程序提供一个接口类,map将数据直接传给接口类,之后接口类处理完的数据内容再递交给ma
原创
博文更新于 2020.07.07 ·
147 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

使用HDFS完成一个简单的wordcount程序

wordcount业务需要的执行步骤在hdfs中读取文件:一次读取一行调用一个方法对每一行进行业务处理将处理的结果放入一个缓存当中最后将缓存中的统计结果输出到HDFS中的结果文件内HDFS的客户端//可以使用反射等方式从配置文件读取应该初始化的Handler的类型//或者直接初始化WordCountHandler wcHandler = new WordCountHandler();//获取文件系统FileSystem fs = FileSystem.get(new URI("
原创
博文更新于 2020.07.02 ·
622 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

自学MIT 6.828心得:(一)jos的bootloader过程

唠叨一下没想到第一课的信息量就这么大,如果是没有接触过汇编的同学可能会有些难度,这里不仅要求对系统有一定的了解,还得会通过调试的方法来查看整个程序的运行过程。我的环境还没有搭建好,看了一些大佬的在环境搭建的时所到的坑,多有点耐心一定可以的。不知道你们有没有看PPT,第一课的教案内容也十分丰富,人家的绪论一点都不水反而是整体的总结了一下系统的各个层次和设计难点。作业可以看成是实践教学了,美国的这种教育体系很和我的胃口不会觉得无聊,有挑战性!作业笔记第一步很人性化的教你如何建立一个git上的仓库,这一
原创
博文更新于 2020.06.24 ·
882 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

Linux 查询进程、网络、ssh、awk && sed

查询进程信息ps -aux ps -le pstree 进程树 pstree -p 显示进程PID pstree -u 显示进程所属用户查看当前网络状态netstat -ntlp | grep httpd 查询httpd的端口信息 netstat -atnp | grep httpd netstat -atnp | grep 80 查看端口远程连接工具scp //安全拷贝 scp filename/dir1 user@远程服务器ip:dir2 (冒号和IP之间没有空格) 如果
原创
博文更新于 2020.06.24 ·
546 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多