尝试新思路——Select模型的另一种实现

SQL注入新思路:当SELECT被过滤后,我用MySQL的冷门命令Handler拿到了Flag 本文探讨了在SQL注入攻击中,当SELECT命令被过滤时,如何利用MySQL的冷门命令HANDLER绕过防御机制获取Flag。通过详细解析HANDLER命令的三段式操作逻辑和堆叠查询技术,提供了实战中的绕过策略和防御建议,帮助安全研究人员在CTF竞赛和渗透测试中发现新的攻击路径。 阅读详情

添加一个CLogic类
头文件logic.h

#ifndef __LOGIC_H__
#define __LOGIC_H__

#include "MyError.h"
#include "MyExit.h"
#include "MySelectEvent.h"
#include "SocketImpl.h"
#include "Select.h"

class CLogic
{
public:
    CLogic();
    int Init();
    int CreateListenFd(const char* ip, short port);
    int Select();

    int HandleSystemError(int level);
    int HandleInvalidError(int level);
    int HandleInvalidExit(int level);
    int HandleInvalidEvent(int level);
    int HandleInvalidListenFd(int level);
    int HandleMaxFdError(int level);

private:
    LinWin::CSocketImpl* m_server;
    LinWin::CSelectImpl* m_select;
    CMyError* m_error;
    CMyExit* m_exit;
    CMySelectEvent* m_event;
};


#endif

实现文件logic.cpp

#include "Logic.h"
#include <iostream>
using namespace std;

CLogic::CLogic() : m_server(NULL), m_select(NULL), m_error(NULL), m_exit(NULL), m_event(NULL)
{

}

int CLogic::Init()
{
    do 
    {
        m_error = new CMyError();
        m_exit = new CMyExit();
        m_server = new LinWin::CSocketImpl();
        m_event = new CMySelectEvent();
        m_select = new LinWin::CSelectImpl();

        if (!m_error || !m_exit || !m_server || !m_event || !m_select)
            break;
        m_event->SetServer(m_server);
        m_event->SetExit(m_exit);
        m_select->SetError(m_error);

        m_error->m_errors.Add(0, this, &CLogic::HandleSystemError);
        m_error->m_errors.Add(ERROR_SELECT_MAXFD, this, &CLogic::HandleMaxFdError);
        m_error->m_errors.Add(ERROR_SELECT_EXIT, this, &CLogic::HandleInvalidExit);
        m_error->m_errors.Add(ERROR_SELECT_EVENT, this, &CLogic::HandleInvalidEvent);
        m_error->m_errors.Add(ERROR_SELECT_SOCKET, this, &CLogic::HandleInvalidListenFd);

        return 0;
    } while (0);

    return -1;
}

int CLogic::CreateListenFd(const char* ip, short port)
{
    LinWin::CSocketAddress addr(ip, port);
    do
    {
        if (m_server->Create() != 0)
        {
            cout << "Create socket error." << endl;
            break;
        }
        if (m_server->Bind(addr) != 0)
        {
            cout << "Bind address errror." << endl;
            break;
        }
        if (m_server->Listen(2) != 0)
        {
            cout << "Listen error." << endl;
            break;
        }
        return 0;
    } while (0);

    return -1;
}

int CLogic::Select()
{
    return m_select->Select();
}

int CLogic::HandleSystemError(int level)
{
    int err = LinWin::CSocketImpl::SocketError();
    cout << "Error code: " << err << ";  ";
    cout << "Error level: " << level << endl;

    return -1;
}

int CLogic::HandleInvalidError(int level)
{
    cout << "Error object is null.  ";
    cout << "Error level: " << level << endl;

    m_select->SetError(m_error);

    return 0;
}

int CLogic::HandleInvalidExit(int level)
{
    cout << "Exit object is null.  ";
    cout << "Error level: " << level << endl;

    m_select->SetExit(m_exit);

    return 0;
}

int CLogic::HandleInvalidEvent(int level)
{
    cout << "Network Event object is null.  ";
    cout << "Error level: " << level << endl;
    m_select->SetNetworkEvent(m_event);

    return 0;
}

int CLogic::HandleInvalidListenFd(int level)
{
    cout << "The listen fd object is null.  ";
    cout << "Error level: " << level << endl;
    m_select->SetListenFd(m_server->Sockfd());

    return 0;
}

int CLogic::HandleMaxFdError(int level)
{
    cout << "The clients is too much.  ";
    cout << "Error level: " << level << endl;

    return 0;
}

这个类负责整个程序的主要逻辑。首先初始化所有对象,并加载错误处理函数。然后实现Select主要功能。

主函数main.cpp文件

#include "Logic.h"
#include <iostream>
using namespace std;

#pragma comment(lib, "ws2_32.lib")

int main()
{
#ifdef WINDOWS_FAMILY
    WSADATA wsaData;
    WSAStartup(MAKEWORD(2, 2), &wsaData);
#endif

    CLogic logic;
    logic.Init();
    if (logic.CreateListenFd(NET_DEFAULT_IP, 6666) == 0)
        logic.Select();

#ifdef WINDOWS_FAMILY
    WSACleanup();
#endif

    cin.get();

    return 0;
}

看一下main函数,就明白CLogic的作用,其实就是把主函数的逻辑封装到一个类中去了,从而使得main函数更加直观、简洁。

WAF绕过新思路:追踪源站IP突破SQL注入防御 Web应用防火墙(WAF)作为应用安全的核心防线,通过规则匹配、语义分析和行为分析等多层机制识别并拦截恶意流量。其技术价值在于为Web应用提供实时防护,有效抵御SQL注入、XSS等常见攻击。然而,在云WAF和CDN广泛部署的架构下,源站IP暴露成为新的攻击面。攻击者通过DNS历史记录查询、子域名枚举和网络空间测绘等技术,可定位未受WAF保护的后端服务器,从而绕过前端防护直接利用SQL注入等漏洞。这种从“代码层绕过”转向“架构层绕过”的策略,在Cloudflare等成熟WAF场景下尤为有效,凸显了纵深防御中资 阅读详情

相关推荐

SQL注入绕过新思路:利用科学计数法突破WAF过滤规则

SQL注入作为Web安全领域的经典漏洞,其核心原理在于攻击者通过构造恶意输入,改变原始SQL查询的语义逻辑,从而非法操作数据库。传统的防御手段如黑名单过滤、关键字检测等,往往基于字符串匹配或正则表达式,但存在规则定义与解析器实现之间的缝隙。科学计数法作为一种常见的数字表示形式,在SQL解析器中被自动计算为数值,却可能通过某些宽松的`is_numeric()`类检查,这为绕过过滤提供了技术可能性。在工程实践中,这种技巧适用于特定场景下对抗简单过滤机制,尤其在数字型注入点且后端未进行强制类型转换时,可结合**布

weixin_29323049的博客 321

推理时回灌深层激活:降低大模型困惑度的新思路

困惑度(PPL)是衡量语言模型预测不确定性的核心指标,而传统的推理优化往往只关注速度和显存。DeepMind的研究揭示,在自回归解码过程中,通过将深层激活回灌到浅层,无需训练即可有效降低困惑度,提升输出连贯性。这一方法本质是推理期的表示对齐,利用深层携带的全局语义修正浅层局部表征。工程上需要处理KV Cache失效、计算量增加等问题,适合离线批量、复杂问答等对质量要求高的场景。本文从Transformer前向传播原理出发,结合代码示例与实验设计,探讨激活回灌在大模型推理优化中的应用潜力,为“推得准”提供新思

weixin_30753873的博客 391

CST毫米波雷达ADAS仿真:从直角反射器到距离多普勒(RD图)的实战解析

本文通过CST Studio Suite实战解析毫米波汽车雷达ADAS仿真,详细演示了从构建直角反射器目标、参数化定义速度、进行参数扫描到生成距离多普勒图(RD图)的全过程。文章深入探讨了雷达关键参数(如距离分辨率、速度分辨率)的设计权衡与工程逻辑,并提供了单位统一、速度范围设定等实用避坑指南,帮助工程师高效完成雷达系统性能的前期验证与优化。

weixin_29292535的博客 502

#ifndef用法举例说明

目的:防止一个头文件被include两次 比如一个app.h文件: #ifndef _APP_H_ #define _APP_H_ ...... ...... #endif 举个极端的例子在app.c文件中:(#include app.h两次,或在某一个头文件中已经#include app.h一次) #include "app.h"  //在app.h的第一行判断为是,这行语句有效 #incl...

我的博客 4561

SDRAM控制器——添加读写FIFO

用FIFO实现数据缓存

H19981118的博客 2627

双系统下 ubuntu 20.04 突然 开机黑屏报错 hdaudioC0D2: unable to configure disabling

今天在开实验室开双系统台式机时,ubuntu 20.04 系统下,突然在某次关机后再开机时,本来启动好好的,但是在进行图形化启动时,本来应该是显示输入账号和密码时,直接黑屏报错了,内容为 hdaudioC0D2: unable to configure disabling ,这里是记录了报错的解决全过程

qq_48717745的博客 990

Windows的消息定义大全

消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。      例如:单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。           消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。           例如:对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。

netanimals的专栏 6198

keil自动分配SDRAM空间设置使用

1.修改.sct文件。

qizhi321123的博客 1404

spring mvc标签select 设置默认值

 最近在用spring mvc标签中遇到些问题,很多网上的思路文不对题。现就form:select设置默认值做一记录。一、前端jsp语法如下:&lt;form:select path="papermode" items="${papermodeList}"  itemValue="key1" itemLabel="val1" /&gt; 上面的语法含义为,列表显示papermode(”试卷模...

hhdxwss 3315

自动驾驶仿真 (三)—— 基于PreScan与Simulink的AEB系统仿真

自动驾驶仿真三—— 基于PreScan&Simulink的AEB系统仿真1. AEB自动紧急制动系统1. 1 TTC碰撞时间模型1. 2 C-NCAP法规部分术语与定义1. 3 主动安全ADAS系统试验项目2. AEB仿真分析建模2.1 搭建场景2.2 传感器建模2.3 添加AEB控制系统3. 典型工况仿真3.1 CCRs仿真测试3.1 CCRm仿真测试4. 参考学习的书目教材 博主前面的博文已经介绍了Prescan&Simulink基本的场景建模及仿真分析流程,《自动驾驶仿真 (二)——

zhudj08的博客 1万+

VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统---保姆级教程

关于VSCode上搭建C/C++开发环境的内容,到这里就结束了,这里博主感叹一下,VSCode真的挺强大的,作为一个编辑器,可以通过和编译器链接成为开发环境,将环境配置好的话,在这上面写代码似乎也是个不错的选择。大家有任何疑问,欢迎在评论区中提出,本篇博客有任何问题和错误也欢迎来和博主讨论,真心希望能和大家一起进步。最后,如果本篇博客对你有帮助的话,能不能给博主一个三连啊!

2303_79329831的博客 8万+

尝试新思路——跨平台Select模型

Select模型

declarefly的专栏 625

视觉Transformer实战 | Transformer详解与实现

本文系统介绍了 Transformer 架构的核心原理与实现。相比传统 RNN 和 CNN,Transformer 凭借自注意力机制有效捕捉序列中的长距离依赖关系,支持并行训练,显著提升效率。其核心创新在于通过查询、键、值向量计算注意力权重,理解单词间的语义关联。架构包含编码器-解码器结构:编码器通过多头自注意力和前馈网络提取输入特征;解码器利用掩码自注意力和交叉注意力生成输出。本文使用 PyTorch 实现了缩放点积注意力、位置编码、层归一化等关键模块,并构建了完整的 Transformer 模型。

盼小辉丶的博客 4万+

尝试新思路——网络事件类CNetworkEvent

网络事件

declarefly的专栏 620

做了一个3DTiles编辑器,支持3DTiles的预览和裁剪导出

3DTiles编辑器的功能极其简洁,核心就是3DTiles格式模型的预览和裁剪。为了演示方便,本文所使用的源数据为mipmap3d[1]网站所提供的无人机拍摄影像,并进行3DTiles构建。打开软件,输入的绝对路径之后,点击添加模型,就可以将模型加载进预览区。之后,点击裁剪模式按钮,默认会出现立方体裁剪框,可通过拖动句柄的方式去调整裁剪框的范围。同时,除了默认的盒体裁切模式外,还支持多边形裁切,点击多边形裁切后,可切换到顶视图,选择重绘多边形,可进行打点绘制。

兴趣使然的创作者 601

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

el-select值的回显问题:如何使element-ui的下拉框显示label值

参考思路

qq_43779703的博客 4万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

一个select元素自定义设计的新思路:appearance: none之后利用<>符号制造小箭头

最近工作时解决了一个前端小问题(如下图所示):在Safari中,select的控件之上有不和谐的灰色部分。 刚开始时我以为是backgrand或是border设置不当之类产生的问题,在搜索了很久之后终于找到了问题所在:这个灰色部分来自于Safari默认的select设计,所以我需要用appearance: none来去除默认设计,但是这样一来,右侧的小箭头就会消失。本文将会详细描述我是如何添加...

weixin_30484739的博客 329

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

MySQL延时注入新思路:GET_LOCK()的利用与WAF绕过

一种隐蔽的SQL延时注入技术 本文揭示了安全测试中常被忽视的MySQL GET_LOCK()函数在延时注入中的独特应用。与传统sleep()、BENCHMARK()等易被WAF拦截的方法不同,GET_LOCK()通过制造真实的数据库锁竞争产生延时,行为更接近正常业务,具有极强的WAF绕过能力。文章详细分析了该技术在不同Web应用数据库连接模型(短会话、持久连接、连接池)下的可行性,指出连接池架构是其最佳利用场景。

专注于网络安全攻防技术与安全运营(SecOps)实践。 1184

MySQL索引优化新思路:多模态语义引擎的查询模式分析

本文介绍了如何利用星图GPU平台自动化部署🧠多模态语义相关度评估引擎,实现MySQL索引优化的智能分析。该引擎能够自动分析SQL查询日志,理解查询语义并聚类相似模式,从而为数据库管理员提供科学的索引优化建议,显著提升查询性能。

weixin_35949153的博客 291

大型系统中除错新思路

 大型系统中除错新思路最近公司在线系统中经常性地发现一个Bug, 会导致数据库中一个核心表的数据发生混乱, 而因为这是个核心业务表,会有成千上万个存储过程,Stored Func,甚至直接是SQL语句对它进行数据Insert, Update。这给系统的维护,除错工作带来了极大的不便之处。    尝试过N种方法都不能很好的解决这个问题,终于想出了一个办法,整体的思路是这样的:1. 利用Tri

Dellinger.Zhang的专栏 432

AI原生编程新思路:用Boundary思想构建弹性代码对抗AI幻觉

在AI辅助编程和Agent开发中,上下文管理和代码鲁棒性是核心挑战。传统编程语言基于精确假设设计,而AI生成代码面临需求模糊、上下文不完整和输出不稳定等问题。Boundary思想提出了一种新范式:通过语言层面的弹性设计,让代码能够容纳输入中的不确定性。这一理念在工程实践中体现为编写具备容错和自适应能力的代码,例如通过探测而非假设、策略枚举和优雅降级等模式。在AI Agent开发、大模型应用开发等场景中,这种思维能显著提升系统可靠性。本文结合AI幻觉和上下文管理等热词,探讨如何将Boundary思想融入现有工

weixin_30439067的博客 389

AI模型路由实战:从Wayfinder Router原理到FastAPI工程实现

在人工智能工程化与MLOps实践中,模型路由作为核心基础设施,通过智能调度算法将用户请求分发至最优模型端点,是实现降本增效与系统高可用的关键技术。其原理基于加权随机、性能优先等策略,结合健康检查与故障转移机制,有效管理多模型供应商或版本。这一技术对于大模型应用开发尤为重要,能显著提升资源利用率与响应鲁棒性。本文以Wayfinder Router为灵感,通过Python与FastAPI构建简易路由服务,完整演示配置管理、策略实现与API封装,为开发者提供从概念到落地的工程实践参考。

weixin_30410119的博客 309

数据库课程设计新思路:集成SenseVoice-Small构建语音查询系统

本文介绍了在星图GPU平台上自动化部署sensevoice-small-语音识别-onnx模型(带量化后)镜像,以构建语音查询系统。该方案为数据库课程设计提供了新思路,学生可通过语音指令(如“查询张三的成绩”)直接与数据库交互,将前沿AI语音技术与传统数据库应用相结合,打造智能化的学生信息管理系统。

weixin_29009401的博客 340

MySQL性能优化新思路:Cosmos-Reason1-7B分析慢查询日志

本文介绍了在星图GPU平台上自动化部署Cosmos-Reason1-7B镜像,实现AI辅助数据库性能优化的新思路。该方案的核心应用场景是让模型智能分析MySQL慢查询日志,自动诊断性能瓶颈并提供索引优化、SQL重写等具体建议,从而提升数据库运维效率。

weixin_42576410的博客 104

MySQL性能优化新思路:Cosmos-Reason1-7B智能调参实践

本文介绍了如何在星图GPU平台上自动化部署Cosmos-Reason1-7B推理交互工具,实现MySQL数据库的智能性能优化。该镜像能够自动分析数据库瓶颈,提供索引优化、查询重写等专业建议,典型应用于提升电商网站订单查询等关键业务场景的数据库响应速度与效率。

weixin_33481022的博客 23
上一篇: 尝试新思路——CError的另一种实现方式
下一篇: 虚拟继承和模板继承
路遇天使
博客等级 码龄14年 0粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值