自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 无人机-地面站

地面站内容简介

2023-11-08 16:45:28 100

原创 OPENAI -GPT

chatGPT

2023-02-15 09:16:05 115

原创 高楼扔玻璃球

大厦有100层,你手里有两颗玻璃球。当你拿着玻璃球在某一层往下扔的时候,一定会有两个结果,玻璃球碎了或者没碎。大厦有个临界楼层。低于它的楼层,往下扔玻璃球,玻璃球不会碎,等于或高于它的楼层,扔下玻璃球,玻璃球一定会碎。玻璃球碎了就不能再扔。现在让你设计一种方式,使得在该方式下,最坏的情况扔的次数比其他任何方式最坏的次数都少。也就是设计一种最有效的方式。思想:分区----先分段再分层100层每段1层时 需要掷98次(1楼不用、99楼不破碎那么结果必然是100层)假设每段x层则需要掷的次数f

2020-11-04 15:15:20 1280

原创 海盗分金币

有5个海盗,获得了100枚金币,他们约定一个分配方案.商议方式:1.有5个海盗轮流提出分配方案 2.如果超出半数海盗(包括提出者)同意该方案,则按照该方案分配 3.如果同意该方案的人数(包括提出者)小于等于半数,则提出者要被扔到海里喂鱼,剩余海盗继续商议分配 4.海盗们是绝对理性的,以自己尽可能获得金币为目的,但是在收益相等的情况下,会倾向把提出者扔到海里那么第一个海盗提出怎样的分配方案,才能保证自己既不被...

2020-11-04 14:58:59 1287

原创 单点登录-SSO

何为单点登陆?在多个系统中,用户仅需登陆一次,其他系统均能感知到该用户登录状态。原始的系统一般是这样的。这样做的缺点是耦合性高,降耦方式:单个模块单个系统。是不是有点分布式的感觉?单系统登陆cookie<=>令牌 session<=>服务器的用户明细表登陆: 在session对象中新增该登陆对象的用户信息。如果session对象查询得到说明已登陆,否则未登录 。注销/退出登录:在session对象中删除用户信息。关闭浏览器再打开,自动登录.

2020-05-20 16:51:12 262

原创 服务器雪崩场景及解决方案

1.何为服务器雪崩?分布式系统的存在、网络不稳定性决定服务的可用性决计达不到100%,网络不稳定、作为服务提供者自己可能会挂掉,导致服务调用者阻塞,最终可能导致雪崩效应。雪崩效应产生场景:流量激增:异常流量、用户频繁重试导致系统负载上升。缓存失效:缓存服务器重启/大量缓存集中在某一时间段失效,会给DB系统等带来压力,引起数据库故障进而导致应用服务器雪崩。数据库端压力:长事物、sql超时等。线程同步调用:核心服务和非核心服务共用一个线程池和消息队列,如果一个核心业务线程调用非核心线

2020-05-18 17:47:42 1071

原创 布莱叶盲文-谷歌生态

2020-05-15今日新闻-谷歌推出虚拟盲文键盘,好奇的我点进去看了看,有段话吸引到了我,"这款盲文键盘的原理基于盲人最常用的「布莱叶盲文」,这种盲文由六个点组成,却可以通过不同的排列组合方式来表达 64 种字符,用以对应不同的字母、数字、标点等。在 Google 的盲文输入法中,点击键位 1,则输入字母 A;同时点击键位 1 和 2 ,输入字母 B;同时点击 1 和 4 ,输入字母 C,同时点击 1、4、5,则输入字母 D,以此类推,暂时只支持英文"布莱叶盲文?什么鬼?图1就是它了,2^6=

2020-05-15 17:08:09 1728

原创 内存、硬盘、寄存器等设备的访问速度比较

一图说明硬盘以上的主存、L3、L2、L1、寄存器一旦发生断电行为数据立刻丢失,只有硬盘能持久化保存。一般程序存储就在内存上,而比较关键的数据会使用寄存器保存(ecx、epx等)。

2020-05-13 11:39:59 5830

原创 KMP-其实也不难

引入:寻找子串在源串中的起始位置。传统C++代码如下:#include<iostream>#include<string>using namespace std;//KMP---常规操作int find_substr_location(string str, string pattern){ int size1 = str.size(); int...

2020-04-28 17:45:21 177

原创 一个TCP连接可以发多少HTTP请求

待解解决问题:1. 浏览器在与服务器建立一TCP连接后是否会在一次HTTP请求结束后关闭该TCP连接?如果会则何时会断开?HTTP/1.1之前,一个服务器发送一HTTP响应后会关闭TCP连接,下次请求则会重新建立、关闭TCP连接,代价太大,在HTTP/1.1之后第一次HTTP响应结束后会在一定时间内保留TCP连接,这样第二次请求时长大大降低.上图对比发现第二次访问省略了SSL开销...

2020-04-27 10:24:46 278

原创 购物车存储(session?cookie?数据库)

优缺点分析--------Round11.0 Session(Memcache)方式 缺点:服务器资源是有限的,在用户量很大的时候会占据服务器大量内存资源,服务器压力增大,且在用户退出登陆后服务器清空购 物车数据,用户下次登陆还是需要重新选择商品. 优点: 购物车信息保存在服务器端 至于Session能存储多大的用户信息? 查询之后...

2020-03-17 08:26:18 636

原创 python-mongo部分方法封装

近来,实现存储样式的需求时用到了mongo数据库,顺便封装了一波(熟练下基本操作)。代码如下:# coding=utf-8from pymongo import MongoClient, database, collection, ASCENDINGmongo_url_local = "mongodb://用户名:密码@server IP/"class mongodb: ...

2020-01-11 08:17:34 287

原创 linux-零拷贝技术

content:1.0 用户态内核态之间切换 2.0文件发送所经历的文件拷贝 3.0 文件发送经历的文件拷贝(优化)----零拷贝 4.0 零拷贝使用场景----kafka 用户态内核态之间切换用户态切换至内核态出现场景:系统调用/中断处理/异常处理用户态切换至内核态原因:用户态下无法访问或者处理内核地址空间下的数据,用户空间程序0-3G无法执行内核...

2020-01-10 15:52:16 237

原创 argparse用法

import argparseparser = parse = argparse.ArgumentParser()parser.description = "description message:input 2 numbers i'll output 2 numbers"parser.add_argument('-a', "--ParA", help="i'm a", type=int...

2019-12-30 14:51:32 163

原创 csdn改版

优点:1.0 界面简洁美观2.0 常用工具置顶3.0 去除了两侧广告4.0 插入图片更加方便不用下拉 1.0 插入图片问题: a&gt;水印位置不可选大小不可选透明度不可选,你自定义也罢但是它的加粗和透明度和正式文本无异。                                b&gt;当图片很小时 水印占据了60%以上的比例。      水印存在的意义就没...

2018-10-29 12:09:28 257

原创 shell之引号

1.0 单引号  无视单引号内的特殊字符依照原样echo '$PWD'   结果为$PWD2.0 双引号可处理特殊字符echo "$PWD"  结果为当前工作目录绝对路径 3.0 反引号使得命令不加$也可以在字符串里被识别并执行echo `date`   结果为当前时间日期     其它用法暂时还没有get到。...

2018-10-29 11:58:03 196

原创 猴子分桃子

题目描述:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?假设一开始桃子味为x个,记为x+4-4 第一个分完之后剩余:4/5*(x+4-4-1)=4/5*(x+4)-4 ...

2018-10-26 17:46:17 483

原创 页面置换算法

缺页中断:程序运行时某些页面不在内存中&lt;没有空闲物理块&gt;--置换&lt;缺页中断不一定执行页面置换算法&gt;真不是我懒实在是表格用这个画图板太难画了!!!注:整个斜体你可以认为是我的分格--起始我写字是斜着写的。1.0 OPT2.0 FIFO3.0 LRU...

2018-10-23 20:17:01 256

原创 DNS之解析/PING之后发生的事情

1.0 DNS解析:2.0 PING之后的事儿: 

2018-10-23 19:19:22 587

转载 HTTP1.0/1.1/2.0区别

1.0  HTTP1.0和HTTP1.1区别1.0 长连接:1.0需要一个keep_alive告知服务器要建立长连接而1.1默认支持长连接。     长连接:一次TCP连接处理多个请求,减少了建立连接和关闭连接的系统消耗和延迟。2.0 节约带宽:1.0建立请求加了body而 1.1没有body只有Header 服务器端验证如果客户端有访问权限返回一个100然后客户端发送     一...

2018-10-21 15:33:16 311

原创 dup和dup2之理解

文件描述符:                                                                                                                                                                                      每个进程对应一个PCB,...

2018-09-09 10:55:56 578

原创 ip子网划分主机数 广播地址的关系

明确一个概念:私有ip        A类:10.0.0.0-10.255.255.255               子网掩码:255.0.0.0        B类:172.16.0.0-176.31.255.255           子网掩码:255.255.0.0        C类:192.168.0.0-192.168.255.255       子网掩码:255.255...

2018-09-09 10:15:45 1359

原创 二叉树及其操作

为了实现后序线索化二叉树    多加了_parent指针域 但是没有更改其拷贝构造函数先来研究线索化原因:   n个节点对应2n个指针域   有效指针域n-1个(根节点没有)   所以无效指针域2n-(n-1)个而线索化就是把                                         这些空的指针域链接到其对应的前驱或者后继对应三种线索化;前/中序/后#incl...

2018-08-11 16:19:09 305

原创 C++笔记

1.0 类   结构体对齐原则:1.第一个偏移量0  2.Min(默认对齐数,自身类型大小) 3. Max(对齐数)的整数倍 4.嵌套结构体(对齐到Max(对齐数)的整数倍) 内存对齐的原因:1.有的平台只能访问指定类型 2. 2次访问--&gt;1次访问     求偏移量:OFFSET(struct,e)//类名,成名 实现以宏的方式#define OFFSET(struct,e)(siz...

2018-08-01 10:14:38 439

原创 小Q的歌单

题目描述:小Q有X首长度为A的不同的歌和Y首长度为B的不同的歌,现在小Q想用这些歌组成一个总长度正好为K的歌单,每首歌                    最多只能在歌单中出现一次,在不考虑歌单内歌曲的先后顺序的情况下,请问有多少种组成歌单的方法。先试探一下看个图: 右下角即为所求                                                      ...

2018-07-19 10:02:02 373

原创 letter-combinations-of-a-phone-numbe

Input:Digit string "23" Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].题目是:在拼音9键上含有字母的数字键上取字母 输入23 即从数字键2和3上各取一个字母组合 9种情况class Soluti

2018-07-06 16:20:34 225

原创 二叉搜索树转排序双向链表

二叉搜索树转排序双向链表示意图:/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: void ConvertNo...

2018-06-11 15:03:38 177

原创 数据结构:红黑树

1.0 红黑树的特性:前提:红黑树也是特殊的二叉搜索树(1) 每个节点或者是黑色,或者是红色。(2) 根节点是黑色。(3) 每个叶子节点是黑色。 [注意:这里叶子节点,是指为空的叶子节点!(4) 如果一个节点是红色的,则它的子节点必须是黑色的。(5) 从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。2.0 主要操作: 节点插入 Insert函数的实现考

2018-04-11 15:33:48 267

原创 数据结构:AVL树

AVL树基于二叉搜索树,为了解决快速查找出现次数最多的数,引入了键值对key value二叉搜索树参考:点击打开链接1.0 定义:2.0 思路:注: 红圈为插入的节点上图情况1插入的节点为 23上图情况1插入的节点为 273.0 代码:AVL.h#pragma once#includeusing names

2018-04-02 18:04:41 302

原创 数据结构:二叉搜索树<递归+循环>

实现的操作1.0 插入:找待插入的节点的位置(data_data左子树,data>_root->_data 右子树)data为待插入节点的值。2.0 寻找:找节点的位置(data_data左子树,data>_root->_data 右子树)data为待插入节点的值。注意:寻找的时候先考虑等于的情况,插入则最后考虑,以上返回值都为bool类型3.0 删除:先找到待删除

2018-03-22 09:26:31 338

原创 数据结构:堆之相关操作

要求: 1.0 实现大小堆 2.0 用堆实现优先级队列  3.0  堆排序1.0 大小堆的实现:     0.0 vector的相关操作为堆带来了方便,所以底层数据用Vector。    1.0 既然能用大小堆实现队列,那么堆就应该满足队列的特点:先进先出。         所以堆的pop()函数应该是堆顶弹出   2.0 为了减少代码量,用仿函数实现一个bool类型的operator()重载,在...

2018-03-14 18:57:01 232

原创 模板

C++之模板          1.0 函数模板          2.0 类模板1.0 函数模板:          1.0 函数模板是什么?          2.0 函数模板怎么写?          3.0 函数模板的实例化。          4.0 参数推演          5.0 函数模板的编译。          6.0 函数模板的重载

2017-11-30 09:03:54 400 1

原创 线性表和带头结点的双向循环链表

带头节点的双链表的操作:#define _CRT_SECURE_NO_WARNINGS 1#pragma once#include #include #include using namespace std;//2. 以C++的方式实现双向循环链表typedef int DataType;struct Node{ struct Node* _pNext; struct N

2017-11-29 14:18:25 485

原创 编译器

调试器:gdb

2017-11-28 09:44:08 474

原创 使用命令安装gcc/g++, gdb, vim 以及配置

1.0   gcc的安装 (root用户下)    yum install gcc -y 这就好了(我是安装过的),这个过程中按y就好最后会有一个complete提示你安装完成。2.0 g++的安装    yum install gcc-c++ 这是在root用户下的操作。普通用户:sudo yum install gcc-c++我是装了的,没装的话输完指令后看

2017-11-27 17:06:15 464

原创 多态

C++之多态:多态的概念: 同一个事物在不不同场景下的不同状态。多态的分类:  静态多态【有:函数重载,泛型编程】这个过程发生在编译期间。                   动态多态:发生在程序运行时。着重于动态多态动态多态的实现条件:1.0 基类有virtual函数(在派生类中要对基类的virtual函数进行重写)。

2017-11-25 20:10:58 279

原创 继承

C++的三大特性:封装   继承  多态继承又分为: 单继承  多继承   虚拟继承  菱形继承继承存在的意义?   答:继承的存在是为了实现代码复用,以及实现多态。content:  《1.0》单继承  《2.0》多继承  《3.0》虚拟继承  《4.0》菱形继承继承基类的类为派生类::   class Derived:继承权限 Base       继承

2017-11-24 17:19:10 345

原创 Linux基本指令

1.0 计算器                  bc进入计算器,显示计算机版本信息,然后输入操作,quit退出计算器。bc预设输出的结果为整数,要想输出小数可以用命令scale=number,number为小数位数---------------------上面结果2.0 man(最强大的男人)man里面包含了大多数Linux指令的用法以及组合使用

2017-11-13 16:36:23 248

原创 深浅拷贝(String类)

#define _CRT_SECURE_NO_WARNINGS 1#includeusing namespace std;//管理字符串class String{public: String() :_pStr(new char('\0')) {} String(const char* pStr) { if (NULL == pStr) _pStr = new char

2017-11-10 17:11:06 303

原创 动态内存管理

C: 动态内存开辟在堆上开辟需要手动释放主要函数有:void* malloc(size_t size);size为申请空间字节数大小,需要判空,不为空,返回空间地址,否则NULL;void* realloc(void* ptr, size_t size);  ptr:指向先前开辟的内存块,如果为空,那么作用相当于malloc;size实际上是newsize,有以下情况:1.0 "n

2017-11-08 16:34:15 467

空空如也

空空如也

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

TA关注的人

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