自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (14)
  • 收藏
  • 关注

原创 一篇长文彻底掌握Docker、Docker Compose与Kubernetes部署

维度DockerKubernetes定位容器化引擎单机多容器编排集群容器编排管理范围单个容器单台主机多台主机集群学习曲线低低高生产就绪需配合其他工具不推荐原生支持扩缩容手动手动自动(HPA)故障自愈无无原生支持滚动更新无无原生支持三者是互补关系,而非替代关系。Docker 是基础容器技术,Compose 是单机编排工具,K8s 是集群编排平台。Pod 多容器:共享 IP、Volume 和进程空间,作为不可分割的调度原子。

2026-07-14 15:52:32 282

原创 如何配置HTTPS站点访问的免费SSL域名证书

给网站加上 HTTPS访问,这个过程的核心,是配置SSL域名证书,如何免费使用域名证书呢?本文通过使用工具从自动申请一个的 SSL 证书,并配置到期自动更新,通过这种方式完成个人搭建网站的https访问,并面试无限期使用SSL域名证书。为了让过程更清晰,将准备两个方案。最直接,易于理解;则能完美融入现有的 Docker 环境,自动化程度更高。可以根据自己的偏好来选择。

2026-07-13 13:44:09 421

原创 系统部署之框架选型方案

没有“万能钥匙”:每个框架都有其最擅长的领域,它们通常组合使用,各司其职。架构服务于业务:Lambda、Kappa等架构模式提供了不同的解题思路。按需裁剪是常态:从几十TB到EB级数据,技术选型和架构的复杂度天差地别。关键是理解每个组件的核心能力,然后根据业务需求进行合理的组合与取舍。

2026-07-13 11:59:21 233

原创 系统部署之技术框架

框架/技术核心分类主要作用集群部署数据备份/同步Hadoop分布式存储与计算平台海量数据的存储(HDFS)和批处理计算(MapReduce)是,核心运行方式是,通过HDFS的多副本机制Raft共识算法为分布式系统提供强一致性的决策基础被其他系统内部使用是,通过日志复制实现数据同步Kafka分布式消息流平台系统间的实时数据传递流量削峰是,核心运行方式是,通过分区副本和ISR机制ZooKeeper分布式协调服务提供配置管理服务发现等协调功能是,核心运行方式是,通过自身的Zab协议Etcd。

2026-07-10 11:52:40 171

原创 系统部署之部署方式

备机通过“心跳”机制(一种周期性发送的信号)检测主机健康。一旦检测到主机故障,备机便在极短时间内(通常秒级)接管其IP地址和服务,成为新的主机。当某个节点故障,负载均衡器自动将流量切换到其他健康节点,实现高可用。它的核心是“备”和“热”:“备”意味着有备用机器随时待命;“热”则要求备用机实时同步数据,确保能在故障时快速接管。与双机热备的“主备”模式不同,集群更强调“协同”和“扩展”。,例如在核心业务层采用集群部署,在数据层采用双机热备,构建多层次的高可用架构。值得注意的是,在实际架构中,两者经常。

2026-07-10 11:48:56 311

原创 TLCP&GMSSL协议及Wireshark抓包详解

TLCP 是国家标准协议(GB/T 38636-2020/GM/T 0024-2014),非标准叫法也有叫GMSSL协议的,这个和GMSSL开源库( 实现TLCP协议的开源密码库名称)容易造成混淆,所以标准的统一名称应为 TLCP协议;两种显示对应的都是符合GB/T 38636-2020标准的国密传输层协议,都采用SM2双证书身份认证、SM3哈希、SM4对称加密的算法组合,握手流程里的双证书发送、密钥交换、签名验证等操作逻辑完全相同,不存在协议层面的本质区别。,这个显示差异是抓包工具的协议识别规则不同。

2026-07-08 10:46:09 299

原创 最新前后端开发技术栈总结

你想做什么推荐技术组合快速搭一个官网/博客Next.js 或 Nuxt 3(全栈一把梭)做一个有后台的管理系统同时要做网页 + 小程序 + AppTaro 4(一套代码多端运行)只想写后端 APINestJS 或 Express2026 年的趋势:前端不再是“只写网页”,而是一套技术栈通吃 Web、小程序和 App。TypeScript 已成为必选项,而 shadcn/ui + Tailwind CSS 正成为越来越多新项目的默认 UI 方案。

2026-06-26 16:32:59 301

原创 B/S应用安全设备部署与功能全景指南

层级部署设备解决的问题边界层路由器、抗DDoS、NGFW清洗大流量攻击,执行基础访问控制应用接入层IPS、WAF、负载均衡防御应用层攻击,保障高可用身份与访问层安全认证网关、API网关强身份认证,精细化权限管理数据层数据库防火墙、数据库审计保护核心数据,满足合规审计运维层堡垒机、EDR规范运维操作,防范终端风险管理层日志审计、漏洞扫描、态势感知集中监控、漏洞发现、安全运营这套分层防御、纵深防御的体系,能够有效将安全风险控制在最小范围,是构建高安全等级B/S应用的坚实基础。

2026-06-23 16:07:27 382

原创 杂凑+对称算法+分组模式工作流程

本文摘要了对称加密算法、哈希函数和分组密码工作模式的工作流程。对称加密部分包括AES(字节代换、行移位、列混合等步骤)、DES(Feistel结构16轮迭代)和SM4(32轮类Feistel结构)的算法流程图。哈希函数部分展示了MD5(Merkle-Damgård结构)、SHA-256(增强M-D结构)和SM3(国密标准)的压缩处理流程。分组密码模式部分图示了ECB(独立加密)、CBC(链式异或)、CTR(计数器流)、GCM(认证加密)、OFB/CFB(反馈模式)等主流工作模式的加密过程

2026-06-09 14:13:13 220

原创 GB/T 39786 信息安全技术 信息系统密码应用基本要求(三级密改密评解读)

GB/T 39786 信息安全技术 信息系统密码应用基本要求》对信息系统提出的四个核心技术要求。,而所有的“真实性”和“机密性”要求都必须是“应”(即必须实现)。整体上,。下面从最关心的四个方面逐一拆解,每个部分会包含具体要求、涵盖对象,以及满足要求的思路。

2026-06-08 14:55:39 328

原创 数据机密性保护(补充国密算法)

国密算法是由国家密码管理局认定的一系列商用密码算法标准,涵盖非对称密码(SM2)、密码杂凑(SM3)和对称分组密码(SM4)三大基础算法体系。随着金融安全上升到国家安全高度,近年来国家有关机关和监管机构站在国家安全和长远战略的高度提出了推动国密算法应用实施的要求。

2026-06-08 14:44:27 353

原创 数据机密性保护算法汇总(国际算法)

公钥是(e, n),私钥是d。轮数取决于密钥长度:128位密钥10轮,192位12轮,256位14轮。分组密码一次只能加密一个固定长度的分组(比如AES一个分组16字节),但实际数据可能很长,所以需要用工作模式来串联多个分组。Feistel网络结构,64位分组,56位有效密钥(8字节密钥中每字节最后一位是奇偶校验位,实际有效56位)。这样做是为了解密时能知道从哪里截断——解密后看最后一个字节的值k,就知道最后k字节都是填充,可以安全去掉。对称加密的特点是加密和解密用同一个密钥,速度快,适合加密大量数据。

2026-06-08 14:40:04 423

原创 数据完整性保护算法汇总

本文介绍了数据完整性保护的核心技术——哈希算法,对比了MD5、SHA系列、SM3等主流算法的安全性和技术参数,指出SHA-256和SM3是目前的安全首选。文章详细解析了哈希算法的处理逻辑和数据填充规则,并重点说明了HMAC这种加盐认证机制的工作原理、密钥要求和应用场景。最后给出算法选择建议:常规场景用SHA-256,高安全需求用SHA-512,国密系统用SM3,明确反对使用已破解的MD5和SHA-1算法。全文以表格形式清晰呈现各算法关键参数,为密码学应用提供实用参考。

2026-06-08 14:24:15 346

原创 如何将GitCode仓库的提交同步到 GitHub

GitCode 的「仓库镜像」功能可以直接满足“在 GitCode 提交后自动同步到 GitHub”的需求。可以把它理解成一个“自动搬运工”,在 GitCode 这边的任何更新,都会被自动推送到 GitHub 上。这样可以解决github访问不稳定的问题,也可以解决一些只针对github代码的自动部署。

2026-05-14 19:11:43 464

原创 Pythond的FastAPI、 Flask和Django到底怎么选?

Python三大Web框架对比:Django、Flask和FastAPI各有特色。Django是"大而全"的全栈框架,适合复杂后台开发;Flask轻量灵活,适合小型项目和快速原型;FastAPI专为高性能API设计,支持异步并自动生成文档。选择依据:Django适合电商/CMS等复杂系统,Flask适合小型应用/学习,FastAPI适合高并发API服务。初学者可从FastAPI入门,再逐步掌握其他框架。

2026-05-14 18:18:09 380

原创 使用git首次上传本地代码

有些历史代码,想通过git进行储存和管理,要将本地的代码上传到Git仓库,以下整理了上传步骤,可以按照以下步骤进行。这里假设已经创建了本地仓库,并希望通过Git将其推送到远程仓库。如果还没有创建一个远程仓库,可以先在GitHub、GitLab、Bitbucket等平台上创建一个远程仓库,并获取其URL(创建的远程仓库地址)。

2026-04-23 20:29:17 401

原创 从已安装的Android应用中导出安装包

摘要:本文介绍如何从旧安卓手机导出已安装应用的APK文件,适用于绿色无广告工具类应用的迁移。操作步骤包括:1)通过adb命令查看应用包名;2)获取APK路径;3)导出APK文件。文中还提供了常见问题解决方案,如adb版本冲突需重启服务、USB调试授权问题处理等。该方法仅适用于Android系统,需保留原应用但安装包已删除的情况,是迁移无广告旧版应用的有效方案。(149字)

2025-11-25 19:25:15 934

原创 如何计算电池充满电的预计时间

//获取系统电池的充电速率,可以通过充电速率估算出电池充满的时间#include #include #include #include #include #pragma comment(lib,"PowrProf.lib") int _tmain(int argc, _TCHAR* argv[]){ NTSTATUS Processor_information; SYS

2015-12-31 11:29:34 4725 1

原创 micphone静音设置(vista版本以上)

设置麦克风静音#include "windows.h" #include #include "mmdeviceapi.h"#include #pragma comment(lib, "Winmm.lib")#define SAFE_RELEASE(ptr) \ { \ if (ptr) \ { \ (ptr)->Release(); \

2015-12-31 11:17:59 896

原创 设置当前进程的区域语言

//获取默认的区域语言 if (GetUserDefaultUILanguage() == MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED)) // [中文(简体)] { } //设置当前的进程区域语言 SetThreadUILanguage(MAKELANGID(LANG_ARABIC, SUBLANG_ARABIC_SAU

2015-12-31 11:09:31 2182

原创 获取当前分辨率及dip值

#include "ShellScalingAPI.h"#pragma comment(lib, "Shcore.lib") //输出当前分辨率        int width = GetSystemMetrics(SM_CXSCREEN);int height = GetSystemMetrics(SM_CYSCREEN);//输出当前dpiHDC

2015-12-21 10:13:40 2607

转载 C++ 局部静态初始化不是线程安全!

http://blogs.msdn.com/b/oldnewthing/archive/2004/03/08/85901.aspx 在块作用域中的静态变量的规则 (与之相对的是全局作用域的静态变量) 是, 程序第一次执行到他的声明的时候进行初始化.察看下面的竞争条件:int ComputeSomething(){   static int cachedResult = Co

2014-05-29 14:29:26 982

原创 向页面发送http请求获取服务器时间

asdasdBOOL BjcaFunc::GetNetTime(string &year, string &month, string &day) { // HINTERNET internetopen;// internetopen=InternetOpen(_T("getTime"), INTERNET_OPEN_TYPE_PRECONFIG, NULL,

2014-04-18 13:04:28 3275

转载 C++调用ATL事件连接点

在调用者工程中,需要增加“接收器”对象,添加一般的C++类对象,从IDispatch 派生,然后完成继承的虚函数,如创建CSink类,继承自IDispatch ,完成Simple16库中触发事件的接收器。// 头文件#pragma once#include "oaidl.h"class CSink :public IDispatch{public:CSink(v

2013-12-24 11:25:28 1136

转载 如何解决"应用程序无法启动,因为应用程序的并行配置不正确"问题

应用程序事件日志中:“C:\windows\system32\test.exe”的激活上下文生成失败。 找不到从属程序集 Microsoft.VC80.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762"。 请使用 sxstrace.exe

2013-09-17 17:00:57 1226

转载 Windows异常处理

1、Windows对于C++异常处理的扩展:为了更便捷的在Windows系统中进行异常处理,微软在C++异常处理的机制上,又增加了扩展,称为SEH(Structured Exception Handling),即结构化异常处理;语法如下:__try{……}__except (){……}Windows exception 最常见的问题 :run

2013-06-26 11:28:01 1124

转载 C++运行时错误处理

闲来无事作点翻译工作,今天要介绍的是关于错误处理的.以下内容大部分不是我的原创,我只是把他们收集到一起来了而已.  错误处理在一个系统里面算是一个比较底层的东西了.拥有一个稳定的错误处理系统,是一个良好的系统的基础.从发展的角度看,错误处理大体有下面几种方式.  比较基础的,使用返回值表示错误还是正确,比如使用int作为返回值,0表示正常1表示错误,这种算是c语言里

2013-06-26 10:26:34 3462

原创 KEY_WOW64_32KEY 和 KEY_WOW64_64KEY

在打开注册表时,32位程序往往在64为系统上不能直接访问64的路径,都是自动跳到WoW6432Node下面,在打开注册表时添加“KEY_WOW64_64KEY”标志,就能直接访问64为注册表路径。LONG lReturn = RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"Software\\***", 0, KEY_ALL_ACCESS | KEY_WOW6

2013-04-19 11:06:29 9937

原创 统计字符串中某个字符出现的次数

统计字符串中某个字符出现的次数用标准库算法函数“ count_if”。1、标准库string类型const stringstr = “testString”;int count = count_if( str.begin(), str.end(), bind2nd(equal_to(), '某字符' );2、CString类型CString st

2013-04-16 17:08:07 2387

原创 ATL正则表达式实例

1、匹配数字、字符、下划线BOOL RegexMatch(CString sourceStr){ CAtlRegExp reRule; wchar_t *wt = L"^[A-Za-z0-9-_]+$"; //只能输入由数字和26个英文字母和'-''_'组成的字符串 REParseError status = reRule.Parse((const ATL::CAtl

2013-04-16 16:24:39 1005

转载 GetVersion和GetVersionEx

出自:http://flyxxtt.blogbus.com/logs/42705986.htmlWindows API 中有两个函数可以得到系统版本信息:GetVersion和GetVersionEx。GetVersion这个函数曾经困扰了很多程序员,其本来设计的是在DWORD返回值中用低位的那个字表示MS-DOS的版本号,高位的那个字表示Windows版本号。对于每个字来说,高位

2013-04-15 11:54:08 903

转载 yum和apt-get的区别

一般来说著名的linux系统基本上分两大类: 1.RedHat系列:Redhat、Centos、Fedora等 2.Debian系列:Debian、Ubuntu等 RedHat 系列 1 常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数” 2 包管理工具 yum 3 支持tar包 Debian系列 1 常见的安装包

2013-04-12 11:05:41 620

原创 linux从命令行切换到X窗口模式

从命令行切换到X窗口模式在命令行输入:init 5从X窗口切换到命令行ctrl+alt+F3从X窗口再次切换到命令行模式ctrl+alt+F7开机自动进入X窗口模式,打开文件/etc/inittab找到其中的id:3:initdefault:将运行级改成5,也就是图形模式id:5:initdefault:

2013-04-12 11:04:03 2242

转载 LINUX VMWare-TOOLS的安装及使用

安装vmware-tools的安装包有两个,一个是rpm包,一个是tar包,下面分别是用了这两种方法安装:一、rpm包安装1.在启动LINUX 虚拟机之后,在WMWare 的菜单栏中点击"VM",然后点击下拉菜单中的"Install VMware TOOLS"选项。2.挂载光驱:[root@localhost ~]# mount /mnt/cdrom /mnt/[r

2013-04-12 10:56:58 961

原创 实现tab按键切换Edit控件焦点(WTL)

BOOL ChangePassWordDlg::PreTranslateMessage(MSG* pMsg){    HWND  hEdit = pMsg->hwnd;    if((NULL != hEdit) && (WM_KEYDOWN == pMsg->message) && (VK_TAB == pMsg->wParam))    {        TCHAR szC

2013-04-08 16:09:25 1746

转载 虚拟机中的XP系统忘记密码解决办法

如果你安装了虚拟机,如果你装了XP系统,又如果你忘了密码或那个DB改了你的密码,你可以用如下的方法解决1.打开虚拟机,保证系统在POWER OFF状态下,然后点击“VM”--- >“settings”出现如下对话框点击右下角“Utilities”,选第一项“map”出现如下对话框此时一定要把两个复选框的勾去掉!!!(因为后面要复制文件)2.打开“

2013-04-03 10:34:52 3292

原创 求日期之间的天数差

得到给定日期和当前日期之间的相差天数。#include //传入参数格式如“20130604131744”int BjcaFunc::getCertRemainDay(wchar_t*certEndData){ int nYear,nMouth,nDay; wchar_t desData[20] = {0}; wmemcpy(desDat

2013-03-27 14:26:23 825

转载 C语言操作WINDOWS系统存储区数字证书相关函数详解及实例

C语言操作WINDOWS系统存储区数字证书相关函数详解及实例 以下代码使用C++实现遍历存储区证书及使用UI选择一个证书  --使用 CertOpenSystemStore打开证书存储区.  --在循环中,使用CertEnumCertificatesInStore. 枚举所有存储区中的证书.  --使用CryptUIDlgViewContext显示一个证书 .  --使用C

2013-03-22 17:29:51 1066

转载 如何修改CFileDialog的标题

CFileDialog   f(TRUE);     f.m_ofn.lpstrTitle   =   "我的标题";     f.DoModal();CFileDialog 使用介绍CFileDialogCFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下:CFileDialog::CFileDialog( BOOL

2013-03-22 10:19:02 1253

转载 VC正则表达式的使用

正则表达式是一种对字符进行模糊匹配的一个公式。在数据有效性验证,查找,替换文本中都可以使用正则表达式 。本篇文章主要描述的是使用ATL中两个模板类CAtlRegExp和CAtlREMatchContext。在使用CAtlRegExp类之前需要添加#include 这个头文件。RegExp是Regular Expression的缩写以匹配邮件地址字符串为例说明两个类的使用

2013-03-21 11:31:02 1196

C++/MFC多线程编程

多线程,线程同步,线程间通讯详细介绍。多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。

2009-01-08

C++_Socket编程大全

c++网络编程参考大全,基于TCP/IP的面向连接的、面向无连接的、客户端、服务端等代码参考。

2010-06-16

C++ socket编程MFC CAsyncSocket

网络概念通讯入门及c++网络入门,MFC CAsyncSocket介绍

2010-06-16

C#读取图片文件存入数据库

用c#读取图片文件,并存入数据库,然后从数据库中把相应的二进制图片数据还原成指定目录下的图片文件。 注意:数据库名称和数据表需要修改成自己的数据表,否则出现数据库连接错误,

2009-12-19

vc界面编程经典实例

常用的vc界面编程经典实例,包含上百个实例的整理文档。常用的vc界面编程经典实例,包含上百个实例的整理文档。常用的vc界面编程经典实例,包含上百个实例的整理文档。常用的vc界面编程经典实例,包含上百个实例的整理文档。

2013-03-28

Windows下UltraEdit查看Objective-C代码高亮工具

在 UltraEdit 的菜单里选择 高级 -> 配置 -> 编辑器显示 -> 语法高亮 -> 词语列表的完整路径。点浏览按钮选择解压出来的 wordfile.uew 文件,确定即可。 或者你的安装目录下已经有词语列表配置文件,就把这个 wordfile.uew 最后一段粘贴到你的词语列表配置文件的末尾,最后一段从 /L14 "Objective-C" 开始到文件结束。 如果是Window7系统,需要检查类似下面的目录:C:\Users\think\AppData\Roaming\IDMComp\UltraEdit\wordfiles 然后把/L14 "Objective-C" 这段内容重新粘贴一个文件,命名为"Objective-C.uew"即可

2013-02-01

飞秋等级随便设

1、运行飞秋后,在右下角托盘图标点击右键菜单 选择“用户等级设置”,然后在弹出的窗口中,等级对应输入“9”,授权码随便输入一串字符。 2、点击“确定”,你的飞秋等级即可修改成两个太阳。

2013-04-28

readline-7.0.zip

包含readline-7.0.tar.gzr和readline-7.0-10.el8.src.rpm两个安装包,可以直接解压tar包编译安装,也可以通过rpm方式安装源码。解压后在源码目录执行以下指令可完成编译和安装: #./configure #make #make install 如果执行命令时提示‘权限不足’可执行 #sudo -s 然后输入登录系统时设置的密码进行提权

2021-03-22

plistEditor0314.zip

plist文件解析,展示小工具

2021-03-22

查看64位dll和ocx的Depends工具

查看64位链接库或者控件的Depends工具。

2013-01-24

STL算法详解与汇总

STL将算法库分成4组: 1)非修改式序列操作,find()、for_each()等; 2)修改式序列操作,transform()、random_shuffle()、copy等; 3)排序和相关操作,sort()等; 4)通用数字运算。 ........

2009-06-23

语言嵌入式编程修炼宝典

不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力。无疑,汇编语言具备这样的特质。但是,由于汇编语言开发的复杂性,它并不是嵌入式系统开发的一般选择。而与之相比,C语言--一种"高级的低级"语言,则成为嵌入式系统开发的最佳选择。

2008-10-22

发送邮件示例demo

比较简单的发送邮件demo,一个按钮里面完成了发送邮件的处理,参考几行demo代码和发送邮件的类文件就可实现邮件发送

2014-03-14

空空如也

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

TA关注的人

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