- 博客(119)
- 资源 (9)
- 收藏
- 关注
原创 内网穿透实践
由于绝大部份人的网络都是处在内网之中,这导致你在本地电脑上写的一些web服务器(又或者其它网络相关的功能),都是无法将链接发给别人使用查看的。并且由于大部分人采用的方案也都是在本地进行测试开发,完成之后才会部署到云服务器上,但这一过程较为繁琐、无法实时让别人看到你本地的开发效果。而内网穿透便能解决这一问题,比如本文要介绍的内网穿透工具stab。首先你需要一个处在公网的服务器(可以去腾讯云、阿里云等平台租云服务器),因为只有这样别人才能访问到你,假设你的服务器ip地址为(如果有相应的域名,也同样可以)
2024-04-05 17:04:38 479
原创 1.逆向基础
逆向基础逆向真的是一个很宏大的话题,而且大多数都是相当复杂且繁琐的,我目前对其了解的其实也并不深。但既然C/C++都学了,不学一下逆向,又总会有点不得劲的感觉。所以本系列就想尝试一下,看能不能写好逆向这一领域的相关东西。不过由于我目前对逆向了解的真的不够多,所以本系列教程的第一版,大部分内容都会直接采用**《加密与解密》**这本书的结构与知识点分布进行讲解。当然,我也不可能直接复制粘贴。因为这书说实话,其实也有点年代感了,很多东西现在看来并不是很适用,并且新手估计也很难理解书中的专业术语。
2024-02-17 17:08:01 1509
原创 1.初识Tauri
初识Tauri。TauriTauri它的作用其实和Electron很像:使用Web前端技术开发桌面软件。但不同之处在于,Electron是可以通过纯粹前端技术进行开发,也就是你只需要懂htmljscss,就可以使用它来开发软件了。而Tauri则不同,除了这些基础的,你还需要懂rust这门开发语言才行,所有js不支持的本地功能,你都可以使用rust来自行扩展。
2024-02-17 17:05:08 1616
原创 2.第一个Electron程序
第一个Electron程序上一章我们完成了Electron的环境搭建,本章就开始详解如何使用Electron开发一个完整的Electron桌面端程序。注意开发环境,个人推荐使用vscode编辑器,网上可以找到很多教程,我这里不再赘述。
2024-02-13 22:38:20 1626
原创 1.Electron初始与安装
安装Electron随着前端的不断强盛,现在的前端已经不再满足于网页开发了,而是在尝试能否使用前端的开发逻辑来开发PC端的桌面软件。即用html、js、css这三者来开发桌面软件。本栏目所介绍的Electron框架就是这众多实践中目前成效最好的一个。就连家喻户晓的QQ,目前也已经采用了这套框架重写。其优点就在于:你只需要写一份代码,就能直接在linux、windows、mac这三个主流的操作系统上运行。这可以极大减少程序员的工作量。
2024-02-13 22:36:45 1568
原创 vue3初识
Vue.js是一款流行的前端框架,最初由尤雨溪(Evan You)于2014年创建,非常的年轻。官网为vue3但要注意,vue框架本身是基于前端基础知识之上的,所以学习vue的前提是,你已经理解、并能够熟练的使用htmlcssJavaScript这三大前端基石去开发基本的网页应用了。HTMLCSSJavaScript放心,相比于C/C++、python、rust、java之类的语言,这三者是非常简单的,甚至一定程度上来说,除了JavaScript,其它两者都不能算是编程语言。
2024-02-10 18:24:38 927
原创 python 第十章 —— 网络编程详解
通过前面章节对基础内容的介绍、以及学习了一个GUI程序的编写,现在你其实就已经有能力开发软件了!但现在的软件,很少有不需要网络的了,别的不说,至少也会有一个软件检测升级的功能吧!这就是本章要介绍的网络编程!网络通信是对于整个电脑而言,而不单单是我们写的这个程序,我们所写的程序实际上是在调用我们电脑网络通信的能力本章主要学习了TCP与UDP相关的网络编程技巧,并能够发送接收信息小任务:请试着结合文件读写的知识,客户端向服务器发送文件试一试(或者服务器向客户端)!
2023-08-05 14:34:42 394
原创 python 第九章 —— GUI界面开发(tkinter详解)
使用python最舒服的地方就在于,它内部有大量的库可供我们直接使用,而且使用起来还相当的方便。前面章节我们一直围绕的都是基本语法的讲解,到目前为止,python大部分的基础语法我们就已经学习完了,已经完全可以开始写软件了。所以从本章开始,就要开始带大家了解超脱语言本身的知识点,并学会如何使用python,通过大量好用的库,来完全一些看起来很麻烦的任务。
2023-08-02 20:31:18 393
原创 python 第八章 —— 模块、异常详解
本章主要解决一下前文提到的两个东西:模块、异常。这两个之间并没有什么特别的关联,写在同一章的原因仅仅只是因为只写一个的话,会导致篇幅太短……
2023-07-30 08:55:17 208
原创 python 第七章 —— 文件操作详解
不仅仅是python,在任何语言中,文件操作都是非常重要的,因为它可以实现数据大量、长久的存储在本地。本章就主要来学习、梳理一下python中常见的文件操作。
2023-07-29 14:52:33 300
原创 python 第六章 —— 类详解
类是一个非常通用的概念,并且往往拥有类这个概念的都属于比较高级的语言。python这种非常高级的语言,自然也就不出意外的有了这个概念。但为了照顾新手,我们还是来简单说一下什么是类。从前面的代码中我们可以发现,写代码无非就是写两个内容:变量、函数。变量:用来存放数据函数:一系列代码语句的集合,一般用来封装一系列通用的代码语句显然,这两部分是分开的,很多时候这种分离是合理的,比如前面的提到的len函数,它就可以求许多类型的变量长度。
2023-07-29 10:29:15 174
原创 python 第五章——常用函数使用介绍
前面一章非常详细的介绍了python中函数的用法,但考虑到只学不用可能会很快忘掉,所以本章继续讲解函数。主要是介绍python已经写好的许多十分好用的函数!
2023-07-27 16:31:50 135
原创 C++ 手写一个线程池
本章要介绍的是线程的进阶版本:线程池。如果你使用过线程,就会知道,每当你想要启用一个任务时,就必须手动去启动一个线程来执行指定的任务。这是很自然的想法,并且也并没有什么不对。当问题就出在,电脑CPU可以同时执行的线程数量并不是无限多的,比如我目前电脑CPU是4核8线程的,意思就是同时最多也只能执行8个线程。如果超过了这个数量,那么CPU就需要不断切换线程,调动资源,让其它线程也能进来运行一会。这个过程相当损耗性能。为了解决这个问题,就有了线程池的概念。
2023-07-08 15:39:23 1494
原创 vc++ 弹出打开、保存对话框功能(COM组件使用详解)
很多应用都会有选择打开文件、或者选择保存文件的功能,这种情况下一般都是弹出一个对话框让用户自己选择。这并不需要自己去写一个,因为windows系统已经自带了好看、易用的相关组件,可以直接在代码中使用。
2023-07-07 10:27:50 418
原创 vc++ 获取电脑特殊目录
如果你对各种软件安装目录有所观察的话,应该能大致看出来windows电脑的某些目录是有特殊用途的。。这样的目录有很多,本章主要就是介绍如何获取到这个默认目录,并将其封装成代码方便使用。
2023-07-03 13:47:37 221
原创 C++ 线程库thread介绍(超详细)
本文要介绍的是C++中的线程库thread,当然,也并不仅仅只是介绍它,因为它只有简单的几个函数而已,很简单。本文更多的是来讨论线程的必要性、底层原理、以及如何保证安全的使用它。如果到目前为止你还只是写过控制台程序的话,可能确实很难感受到线程的作用。以最常见的微信为例,它是一个GUI程序,即:带有界面。那你思考过为什么无论它目前正在干什么(比如发送大文件、登录、发送消息等等),你都能很顺利的拖动、更换它的界面吗?如果一个程序同一时间只是干一件事,比如发送一个100GB。
2023-06-29 16:54:47 2110
原创 C/C++ window进程控制(代码封装)
所谓进程,形象点来说就是当你点开一个exe文件之后,计算机运行在内存中的一个环境,比如当前你电脑上打开的任何一个程序,都是由至少一个进程所组成的。比如某个游戏,运行起来之后,你想要修改其中的游戏数据,那你就得找到对应的进程,遍历其中的内存找到你想要修改的数据位置,然后修改它即可(当然,这只对简单、单机游戏有效)本文主要介绍如何枚举当前windows系统中的所有进程,并将其封装为函数,方便大家使用。
2023-06-29 12:40:42 281
原创 C++ freeimage 图片操作(格式转换、缩放、水印……)
本文主要介如何使用开源freeimage库进行图片操作,包括了图片的格式转换缩放水印亮度与对比度调整灰度化水平垂直翻转缩放旋转修剪等常见操作但在使用前,首先我们对于图片还是要有一个基本的认知才行。图片是有宽高的,而这个宽高的单位为像素,但像素的大小不一定是一样的。比如我们最常见的图片是24位的,就代表像素是24位,即3个字节,一个字节代表一个颜色分量,就是常见的红绿蓝。一个字节的大小范围为0-255,所以三中颜色配比得到的像素可能个数就是我们现在最常见的图片格式jpg或者jpeg。
2023-06-27 07:37:24 636
原创 C++ ICU库介绍以及常用代码封装
ICU(International Components for Unicode)是一个跨平台的C++库,用于处理Unicode字符和文本字符串的各种操作。字符串操作:ICU库提供了丰富的字符串操作功能,包括字符串分割、子字符串查找和替换、大小写转换等。格式化和国际化:ICU库使得格式化和解析具有国际化能力的日期、货币、数字和时区等信息变得非常容易。排序和比较:ICU库提供了丰富的字符和字符串排序和比较功能,支持多语言和多种排序规则。正则表达式。
2023-06-25 21:02:24 1332
原创 C++ window系统获取电脑磁盘及容量
本文主要封装一个方便使用的函数:用于获取window系统上磁盘相关信息获取当前电脑上有哪些磁盘或许每个磁盘当前容量是多少:获取当前电脑有哪些磁盘:获取具体某个磁盘的容量大小这两个函数都比较简单,首先是第一个函数就直接调用就可以了重要的是它的返回值,DWORD实际上是类型,即32位,它的每一位就代表一个磁盘。举个例子来说,如果第一位为1,那么就代表电脑存在A盘,第3位为1,就代表存在C盘,以此类推。这个函数稍微复杂一点。第二个参数为返回值,用于返回当前用户可用的空间。
2023-06-24 10:21:47 1378
原创 C++ VS winhttp 封装一个下载器
想要用C++下载个网上的东西一般都比较麻烦,大多数人都会选择去使用第三方库。但实际上,windows平台其实已经提供了我们相关的api函数,可以直接在VS中使用,而无需去装其它人写的第三方库,只不过使用起来比较麻烦而已。所以为了简化使用,本文将简单介绍一些这些API的使用方法,并将其封装为一个类,可以直接复制到你的代码中去使用。
2023-06-19 16:16:46 411
原创 c++ 通过域名获取ip(跨平台)
平常网络编程中,我们常会有需要获取某一个域名ip的需要,比如百度的域名为,但不知道它的ip地址,我们也没办法在代码中用socket连接上去。所以本文封装了一个跨平台的函数用于获取对应域名的所有ip地址,方便大家使用。
2023-05-30 11:55:07 1025
原创 C++ 异常机制详解
C/C++教程C++中的异常处理机制可以帮助我们处理程序在运行时可能会遇到的异常情况,比如内存分配错误、文件打开失败等。当程序运行到某一处出现异常时,程序会立即跳转到相应的异常处理代码。C++中的异常处理使用try-catch语句实现,try语句块中包含可能抛出异常的代码,catch语句块用来捕获并处理异常。当程序执行到throw语句时,就会抛出一个异常,并跳转到最近的catch语句块处理异常。try {// 可能抛出异常的代码 } catch(exception & e) {// 处理异常 }
2023-04-11 10:05:34 2218
原创 C++ 实现聊天室(群聊、单聊、文件传送)
本文主要介绍如何使用C++来完成一款兼具群聊、私聊、以及文件传输功能的聊天室,用到了WTL界面库以及boost asio网络库实现跨平台开发。
2023-02-04 18:57:07 7471 2
阿里云盘无法分享压缩包解决方案
2023-06-29
Qt实现天气预报项目(资源文件)
2022-08-17
基于VC++的目录监视器
2022-05-27
C/C++实现聊天室(简洁版)
2022-03-26
C++实现U盘小偷程序(windows)
2022-03-10
C++推箱子源码(使用ege图形库,vs2019可直接打开运行)
2022-03-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人