【网络】CDN/PCDN/SDN详解
朴实的学习原因:京东实习生招聘条目上写了这些技术,那就给他学了!
【API】API的各种分类详解
API,即应用程序编程接口,是为了方便应用程序之间的数据和功能交互而设计的一些标准方法。API 的分类可以从多个维度进行,我会对 API 的分类维度进行简单的介绍。 根据使用方式的不同 通常情况下,API 可以分为两种使用方式:内部 API 和外部 API。 内部 API 是指供企业内部开发人员和应用所使用的 API。当企业需要一些定制化的应用程序或者集成特定的功能时,内部 API 可以提供更好的技术支持,同时也能保证数据的安全性和可靠性。 外部 API 则是供公众开发者使用的 API,通过提供数据和服务,使得外部的开发者可以构建丰富的应用程序并与当前的生态系统进行协作。越来越多的各类公司都开始向公众提供自己的 API,示例包括 Facebook、Twitter、Google 等。 根据访问方式的不同 根据 API 的访问方式,API 可以分为以下几种: RESTful API REST(Representational State Transfer)是一种基于 HTTP 协议的 Web 应用程序架构标准。RESTful API 遵循 RESTful...
【Linux】高级IO和多路转接 | select/poll/epoll
多路转接和高级IO
【C++】构造函数和初始化列表的性能差距
构造函数和初始化列表的性能差距对比测试
【牛客网】BM3:链表中的节点每k个一组翻转
BM3链表中的节点每k个一组翻转 1.题目 BM3 链表中的节点每k个一组翻转 将给出的链表中的节点每 k 个一组翻转,返回翻转后的链表 如果链表中的节点数不是 k 的倍数,将最后剩下的节点保持原样 你不能更改节点中的值,只能更改节点本身。 2.解析 2.1 链表逆置 其他部分其实很好解决,基于链表逆置的代码(即逆置整个链表的代码) 我们只需要将每一个需要逆置的小区间的开头给记下来,交付给链表逆置就可以了。 1234567891011// 无差别逆置ListNode* reverseNode(ListNode* head) { if (head == nullptr || head->next == nullptr) { return head; } ListNode* ans = reverseNode(head->next); head->next->next = head; head->next = nullptr; return ans;} 2.2...
【C++】早绑定、析构与多态 | 一道关于多态的选择题记录
今天在和群友聊天的时候看到了一道很坑的题目,分享给大家 1.看题! 先来看看题目 12345678910111213141516171819struct Dad{public: Dad(){ echo();} ~Dad(){ echo();} virtual void echo() { cout << "DAD "; }};struct Son:Dad{public: void echo() const override { cout << "SON "; }};Son ss; 请问这个的输出是什么? 123456A "DAD DAD "B "DAD SON "C "SON DAD "D "SON SON "E 编译出错F ...
【网络】IP网络层和数据链路层
IP协议和数据链路层协议学习
【牛客网】BM1:翻转链表
今天打算开启新一轮刷题了,必须得刷了,再不刷就得成废物了。 也希望看我博客的老哥能监督一下我,一起进步嘛! 题目BM001 打算从牛客网的面试top101开始刷起来,今天是BM001反转链表 给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。 数据范围: 0≤n≤1000 要求:空间复杂度 O(1) ,时间复杂度 O(n) 。 解法1:循环 最简单的办法就是用指针来一个一个修改链接,每次都将当前节点的next链接为上一个节点,最终再将开头的节点(单独存一下原本的开头)的next链接为空,返回最后一个节点即可。 很常规的写法,参考注释 123456789101112131415161718192021222324252627282930class Solution{public: ListNode *ReverseList(ListNode *head) { // 因为需要O(1)空间复杂度,所以我们不能用很蠢的将数据遍历出来后倒序放回的办法 ...
【C++11】future和async等
C++11的future和async等
【Python】元组/列表/集合的区别
1.说明 元组(tuple)、列表(list)和集合(set)是Python中常见的数据结构,它们有一些重要的区别。 可变性:列表是可变的(mutable),可以对其进行添加、删除和修改操作。元组是不可变的(immutable),一旦创建就无法修改。集合也是可变的,但是它具有去重功能,不允许存在重复的元素,并且没有固定的顺序。 语法:列表使用方括号[]来表示,元素之间用逗号,分隔;元组使用圆括号()``来表示,元素之间同样用逗号,分隔;集合使用大括号{}来表示,元素之间也用逗号,`分隔。 例如: 123my_list = [1, 2, 3]my_tuple = (4, 5, 6)my_set = {7, 8, 9} 索引和切片:列表和元组都支持通过索引访问元素和切片操作。而集合是无序的,不支持索引和切片操作。 重复元素:列表和元组允许存在重复的元素,而集合会自动去除重复的元素。 例如: 1234my_list = [1, 1, 2, 2, 3, 3] # 列表中可以有重复元素my_tuple = (4, 4, 5, 5) #...