- 博客(84)
- 收藏
- 关注
原创 【高阶数据结构】红黑树
每个结点不是红色就是黑色根节点是黑色的如果一个节点是红色的,则它的两个孩子结点是黑色的对于每个结点,从该结点到其所有后代叶结点的简单路径上,均 包含相同数目的黑色结点每个叶子结点都是黑色的(此处的叶子结点指的是空结点)
2024-02-02 16:57:23 1059 9
原创 使用Docker部署Apache Superset结合内网穿透实现远程访问本地服务
Superset是一款由中国知名科技公司开源的“现代化的企业级BI(商业智能)Web应用程序”,其通过创建和分享dashboard,为数据分析提供了轻量级的数据查询和可视化方案。Superset在数据处理和可视化方面具有强大的功能,能够满足企业级的数据分析需求,并为用户提供直观、灵活的数据探索和展示方式。通过Superset,用户可以轻松地从海量数据中提取有价值的信息,帮助企业做出更加明智的决策。另外,团队协作进行数据分析,可以结合国内流行的内网穿透工具实现公网的实时远程访问数据。
2024-01-22 22:35:15 3306 67
原创 如何实现无公网ip固定TCP端口地址远程连接Oracle数据库
Oracle,是甲骨文公司的一款关系数据库管理系统,它在数据库领域一直处于领先地位。可以说Oracle数据库系统是世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。本次教程我们来在本地搭建Oracle数据库,并通过[cpolar内网穿透](cpolar - 安全的内网穿透工具),将本地端口映射到公网,实现公网环境下通过PL/SQL工具进行远程连接访问。
2024-01-15 17:52:23 3003 74
原创 Linux Ubuntu环境部署SVN服务并结合内网穿透实现公网访问内网资料库
由于文档资料越来越多,将所有资料都存放在自己的电脑上容易混淆,并且也不利于分享。这种情况下,考虑将资料上传SVN统一管理,这样一来其他人也能很方便的查略各种资料。当SVN安装在局域网内的话,想要远程访问资料库或者代码将会受到限制,为了能从公共网络访问内网SVN资料库,[cpolar](博客 - cpolar 极点云)能很好的解决这一需求,cpolar是一个能把内网服务暴露至公网进行访问的工具。
2024-01-05 16:25:10 4199 87
原创 如何使用Plex在Windows系统搭建个人媒体站点公网可访问
用手机或者平板电脑看视频,已经算是生活中稀松平常的场景了,特别是各种碎片时间(追剧下饭、地铁上刷剧等等),看个喜欢的视频必不可少。但不知道为什么,各大影音平台总能轮流占住热播剧,还限定很多剧只能会员观看,搞得我们总有交不完的会员费。此时,拥有一个私人影音媒体站点就显得很有必要。今天,笔者就为大家介绍,如何使用cpolar+Plex组合,在Windows系统上搭建一个全能的私人媒体影音站点。
2024-01-02 15:22:36 2598 65
原创 开源轻量级分布式文件系统FastDFS本地部署并实现远程访问服务器
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
2023-12-28 16:00:18 5847 57
原创 C++:map和set的介绍及使用
关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是结构的键值对,在数据检索时比序列式容器效率更高。
2023-12-28 11:58:21 1249 29
原创 Linux部署MeterSphere结合内网穿透实现远程访问服务管理界面
MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能,全面兼容 JMeter、Selenium 等主流开源标准,有效助力开发和测试团队充分利用云弹性进行高度可扩展的自动化测试,加速高质量的软件交付,推动中国测试行业整体效率的提升。下面介绍在Linux 中部署MeterSphere 并且结合cpolar 内网穿透实现远程也可以访问MeterSphere 界面!
2023-12-25 17:22:56 4880 67
原创 二叉搜索树 --- C++实现
二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树
2023-12-23 15:59:15 3023 55
原创 本地websocket服务端结合cpolar内网穿透实现公网访问
即登录cpolar官网后,点击预留,保留一个固定tcp端口地址,然后将其配置到相应的隧道中即可。这里我们用cpolar内网穿透来映射内网端口,它支持http/https/tcp协议,不限制流量,无需公网ip,也不用设置路由器,操作简单。注意:该隧道选择的是临时tcp地址和端口,24小时内会变化,如需固定tcp地址,可升级为专业套餐做tcp地址固定!cpolar安装成功后,默认会配置两个默认隧道:一个ssh隧道和一个website隧道,可自行删减或者修改。,可以查看到token码,复制并执行命令进行认证。
2023-12-21 18:49:06 4985 53
原创 Windows使用VNC Viewer远程桌面Ubuntu【内网穿透】
实现ubuntu 系统桌面级别的远程连接,需要在ubuntu 系统中安装vnc,既然是桌面,前提是需要ubuntu 带有图形化界面,如果没有,可以执行以下命令安装图形化界面sudo reboot #重启即可看到图形界面至此,我们成功实现了使用VNC远程桌面ubuntu:通过cpolar穿透vnc服务5900端口,使用所生成的公网地址,实现在外随时随地远程桌面控制内网的Ubuntu,不需要公网IP,也不需要配置路由器。并且,这个公网地址还是固定的,不会随机变化,连接稳定。
2023-12-18 21:15:27 6348 67
原创 Linux:进程地址空间
根据运行结果我们发现地址还是相同的,子进程全局变量的地址并没有改变,同一个地址竟然读出不同的值?所以我们可以大胆推测我们看到的地址并不是真正的物理地址。
2023-12-17 16:34:44 1649 24
原创 C++中的多态你真的了解吗?多态原理全面具体讲解
多继承中子类有几个父类有虚表就有几张虚表,多继承派生类的未重写的虚函数放在第一个有虚函数表的继承基类中,会将继承顺序中前几个没有虚函数表的类后移,将有存放自己的虚函数的虚函数表的基类放在最前面的。如果继承的基类中都没有虚函数表,则自己创建并放在最前面。
2023-12-15 15:29:03 1219 37
原创 开源云原生网关Linux Traefik本地部署结合内网穿透远程访问
Træfɪk 是一个云原生的新型的 HTTP 反向代理、负载均衡软件,能轻易的部署微服务。它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file…) , 可以对配置进行自动化、动态的管理.
2023-12-14 18:33:06 4637 54
原创 Linux:环境变量
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性。
2023-12-11 13:20:58 2737 70
原创 Linux:进程优先级与命令行参数
我们知道进程在内存中是需要排队的,比如运行队列,等待队列。那排队是干什么的:就是在确认优先级,来确定得到某种资源的先后顺序。为什么要确认优先级,本质就是资源不足。那么操作系统是怎么做到呢?我们下面讲解:
2023-12-10 12:43:09 2402 55
原创 使用DockerUI结合内网穿透工具轻松实现公网访问和管理docker容器
DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基于容器安装方式,部署方便高效,浏览和维护docker单节点或集群节点worker和manager。DockerUI具有易于使用的界面。它不需要记住 docker 指令。只需下载镜像即可立即加入并完成部署。使用DockerUI并结合cpolar内网穿透可以更加轻松的管理docker和swarm,实现后台公网访问并管理,视觉性更加直观,后台开发更加便利。
2023-12-07 16:34:57 5328 66
原创 Linux DataEase数据可视化分析工具本地部署与远程访问
DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。在本地搭建后,借助cpolar 内网穿透实现远程公网地址即可访问DataEase 的web ui 界面, 这样方便我们在任何设备上都可以随时打开DataEase 进行查看数据分析!
2023-12-04 16:23:42 3799 78
原创 C++:模板进阶
一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。【优点】1. 模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生2. 增强了代码的灵活性【缺陷】1. 模板会导致代码膨胀问题,也会导致编译时间变长2. 出现模板编译错误时,错误信息非常凌乱,不易定位错误本篇结束!
2023-12-02 16:19:04 1813 68
原创 Linux:进程状态
我们在学习进程状态时,老师只是简单的让我们记住下面这张图1.教材中进程操作系统的进程状态那么这些进程状态到底是什么意思呢?本篇文章将具体讲解上面教材中提到的进程状态在linux中的体现。
2023-11-30 17:55:50 1943 70
原创 STL: 容器适配器stack 与 queue
适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结),该种模式是将一个类的接口转换成客户希望的另外一个接口。
2023-11-26 16:14:45 2038 81
原创 Linux:创建进程 -- fork,到底是什么?
相信大家在初学进程时,对fork函数创建进程一定会有很多的困惑,比如:1.fork做了什么事情??2.为什么fork函数会有两个返回值?3.为什么fork的两个返回值,会给父进程谅回子进程pid,给子进程返回0?4.fork之后:父子进程谁先运行??5.如何理解同一个变量,会有不同的值??本篇文章将来仔细回答一下这些问题。
2023-11-25 11:58:22 1810 51
原创 Linux调试器:gdb的使用
我们知道在Visual Studio2022中,我们可以对编好的代码进行调试来分析dug的位置,那Linux环境下如何进行程序的调试呢?那就是使用Linux调试器:gdb。
2023-11-19 16:40:32 537 39
原创 Linux项目自动化构建工具:make与Makefile的基本用法
会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。
2023-11-17 16:24:22 680 26
原创 逆向USB设备共享:利用内网穿透让远程设备访问本地USB设备
USB Redirector是一款方便易用的USB设备共享服务应用程序,它提供了共享和访问本地或互联网上的USB设备的功能。通过使用USB Redirector可以结合cpolar内网穿透,用户可以远程访问USB设备,就好像这些设备直接连接在他们的计算机上一样。该软件支持多种USB设备的共享,包括存储设备、图像设备、打印机、扫描仪、音频设备、条码阅读器、红外设备和蓝牙设备等。无论是U盘、加密狗还是其他类型的USB设备,都可以通过USB Redirector实现远程共享和访问。
2023-11-16 15:37:35 2976 42
原创 Linux编译器:gcc/g++的使用
为什么程序翻译要有怎么多过程,这里通过了解语言的发展以及自举或许可以理解。那么什么是自举呢,就是通过自己的语言实现自己的编译器。那么这时候就有问题:是先有语言还是编译器?
2023-11-15 18:52:37 381 21
原创 Linux编辑器:vim的简单介绍及使用
Vim 是从 vi 发展出来的一个文本编辑器,即对文本进行增删改查。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
2023-11-13 12:02:19 3600 58
原创 C++:list?自己模拟实现!
通过前面例子知道,反向迭代器的++就是正向迭代器的--,反向迭代器的--就是正向迭代器的++,因此反向迭代器的实现可以借助正向迭代器,即:反向迭代器内部可以包含一个正向迭代器,对正向迭代器的接口进行包装即可。const 迭代器要保证指向的内容不能被修改,而不是简单的在非const 迭代器前加上一个const,这样只是保证了迭代器不能被改变,不能进行++操作,所以必须再实现一个const类型迭代器。在vector中,我们可以迭代器直接利用原生指针来实现,而在list中因为所使用的空间并不是连续的,我们需要。
2023-11-09 20:44:37 828 13
原创 C++:容器list的介绍及使用
C++官网 list 介绍文档list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代,是一个双向带头循环链表。list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。list与forward_list非常相似:最主要的不同在于forward_list是单链表,只能朝前迭代,已让其更简单高效。
2023-11-09 19:34:03 800 1
原创 C++:STL第一篇vector
C++官网vector文档介绍vector是表示可变大小数组的序列容器。就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小,为了增加存储空间,其做法是,分配一个新的数组,然后将全部元素移到这个数组。
2023-11-07 16:47:44 500 62
原创 C++:string类!
C++string是C++中的字符串。 字符串对象是一种特殊类型的容器,专门设计来操作的字符序列。 不像传统的c-strings,只是在数组中的一个字符序列,我们称之为字符数组,而C + +字符串对象属于一个类,这个类有很多内置的特点,在操作方式,更直观,另外还有很多有用的成员函数。
2023-11-02 22:33:17 648 72
原创 通过内网穿透实现在无公网IP下,Windows远程连接MongoDB数据库
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
2023-10-30 16:27:05 627 77
原创 Linux:权限是什么
本篇文章来简单介绍一下Linux操作系统中权限的基本概念和一些操作方法,对Linux权限有一个基本的了解,希望对大家学习Linux有所帮助。
2023-10-21 23:37:15 1661 93
原创 C++:模板初阶
函数模板是一个蓝图,它本身并不是函数,是编译器用使用方式产生特定具体类型函数的模具。所以其实模板就是将本来应该我们做的重复的事情交给了编译器
2023-10-18 16:06:49 769 79
原创 C++与C语言动态内存管理的不同 new与malloc
new/delete 和 malloc/free最大区别是:new/delete对于【自定义类型】除了开空间还会调用构造函数和析构函数
2023-10-14 18:12:17 906 72
原创 类和对象:初始化列表,静态成员,友元,内部类,匿名对象
本篇文章来介绍一下类和对象中的初始化列表,静态成员,友元,内部类,匿名对象,希望对大家学习C++有所帮助。
2023-10-13 18:04:02 637 46
原创 类和对象:运算符重载
本篇文章来介绍一下C++中的运算符重载,以及与运算符重载有关的三个默认默认成员函数:赋值运算符重载,普通对象取地址与const对象取地址操作符重载,也就是下面图片中6个默认成员函数的后三个,前三个默认成员函数在之前文章中已经讲过,本篇文章主要通过一个日期类来进行讲解。我会把完整的日期类放到后面。
2023-09-24 15:23:31 1407 98
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人