自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

原创 c++实现RFC3986标准最快的EncodeURL和DecodeURL

关于EncodeURL和DecodeURL的实现(C++)在网上有非常多不同的版本。对须要编码的字符集的选取不统一,那么就需要来统一一下,并且写一个运行最快的实现。[该标准按照最新RFC3986实行]

2022-07-16 22:58:37 582 1

转载 c++实现最快的boost::lexical_cast类型转换器

c++实现最快的boost::lexical_cast类型转换器,此版本是无异常的版本,实测性能是boost的五倍以上,堪称最快最牛逼。

2022-06-26 21:29:21 363

原创 .clang-format 配置c++代码风格【完美解析】

下面是个人常用的代码风格和配置,当然希望在未来clang能够实现对分号的配置,让分号后不会强制换行

2022-06-22 10:14:26 1353

原创 C++实现rust的Box

Box 是一个智能指针,指向在类型为T的堆上分配的数据。Box 允许将数据存储在堆而不是栈上。Box没有性能开销。当Box离开作用域时,会调用析构函数来销毁所有内部对象并释放内存。

2022-06-04 22:24:11 304

原创 python实现c++头文件合并器【完美版】

那么所有的头文件就打包到一起了,注意,这里我没有加入判断输出文件是否已经存在,所以请勿多次使用,使用前需要保证该目录下没有合并后的文件,不然会重复加入到同样的文件中。

2022-06-04 22:22:02 320

原创 cmd指令,bat脚本【完美解析】

cmd指令,bat脚本,剖析,注意事项,脚本实战

2022-06-04 18:34:37 5143

原创 c++实现varchar类型

因为需要计算utf8长度,每个utf8只能算一个长度,因此,就需要设计一个有限长度的varchar结构,无论怎么增加或者拼接,该varchar都不会超出最大长度,就可以保证无需使用数据库异常,也能让数据库永不报相关超出长度的错误。

2022-05-12 12:25:54 467

原创 C++类型判断、擦除、解包【泛型编程】

类型在 c++编译期0开销抽象中的作用,C++类型判断、擦除、解包.

2022-03-23 23:37:58 1047

原创 深入C++反射与元组

今天就谈下c++的元组tuple,因为元组可用作反射0开销的最佳方式,所以个人认为构建元宇宙必少不了tuple元组。

2022-03-23 14:20:57 1078

原创 c++模板宏实现装饰器

c++利用宏+模板让模板中传入字符串,非常像装饰器。

2022-01-11 19:02:03 453

原创 宏实现c++静态反射[核心思路]

关键核心代码,以及宏注册部分的底层实现://目前宏支持到32个结构体属性基本上就够了#define EXP(O) O#ifdef _WIN32#define ARGS_HELPER(_,_64,_63,_62,_61,_60,_59,_58,_57,_56,_55,_54,_53,_52,_51,_50,_49,_48,_47,_46,_45,_44,_43,_42,_41,_40,_39,_38,_37,_36,_35,_34,_33,_32,_31,_30,_29,_28,_27,_26,_

2021-10-14 23:05:32 729

原创 c++实现js定时器

#include <iostream>#include <thread>#include <chrono>#include <atomic>struct Timer { template<typename F> void setTimeout(F func, uint32_t milliseconds); template<typename F> void setInterval(F func, uint32_t mi.

2021-08-25 19:36:49 208

原创 Mysql最强安全防护指南

> 首先,必须要知道,开放的风险。其次,就是阅读这篇文章,就可以开启安全模式。在my.cnf的[mysqld]一节后面一行增加skip-name-resolve,就可以开启隐身模式如mysql服务器没开远程帐户,就里面加上skip-grant-tablesmysql -u root -p select user,host from mysql.user; UPDATE user SET host = '127.0.0.1' WHERE user = 'root'; flush p

2021-07-20 16:38:42 502

原创 使用c++写sql语句的最佳实践

ccORM是本人的一次c++对sql查询的完美实践,写起来得心应手,效率非常之高,值得推荐。#include "ccORM.hh"auto d = crow::D("127.0.0.1","mysql_test","root","",3306,"utf8");//D_();//或者可以直接用宏(已经配置好的方式)int main() { using namespace crow; using namespace std; auto q = d.conn();//创建一个连接 q("D.

2021-07-19 17:06:47 2854

原创 c语言 有符号大数乘法的char实现

#include<stdio.h>#include<stdlib.h>char*bigMul(const char*m,const char*n){ if(m[0]==0||n[0]==0)return NULL;//检验参数是否非空 //其实可以交给调用的函数判断,只要第一次传入两个时不为空, //那么后面递归的时候是不需要判断的。这里加上是为了严谨。 int i=0,z=0,x,y,a,b,f,t; char*j=(char*)calloc(999,siz

2021-06-15 19:06:55 600 1

原创 C++ 泛型实现sql语句构造器

因为我必须吃c++的螃蟹,所以制作了一个简易的sql构造器,能够轻松构建sql查询语句,以下是构建一个select语句的示例。sql构造器的c++实现#include<iostream>#include<string>#include<vector>#include<stdarg.h>#define Size(arr) sizeof(arr)/sizeof(*arr)using namespace std;std::string forma.

2021-06-12 21:05:56 787 3

原创 vs开发c/c++的task生成单个exe

vs作为宇宙最强牛逼无敌ide,如何才能配置单个task生成任务从而精准生成exe文件到当前目录,并且可以用右击的方式设置为启动项,进行输出或者调试先打开一个开发目录,然后右键最上面资源文件夹,点击配置任务下面是task.vs.json{ "version": "0.2.1", "tasks": [ { "taskLabel": "1", "appliesTo": "*.cpp", "type": "launch", "comman.

2021-06-11 19:21:44 337

原创 c语言 大数加法(纯char实现)

作为再一次吃螃蟹不客气的天才,人狠话不多,于是咱们不废话了,直接开整。这次实现的是比cpp快100%的大数加法,纯char实现很牛币的。//最高性能大数加法char*BigPlus(char*m,char*n){ int i=0,l=0,x,y,z=0;char*j=(char*)calloc(999,sizeof(char)); while(m[++i]);while(n[++l]);x=y=i>l?i:l; while(y){if(i)j[y]+=m[--i];if(l)j[y.

2021-06-07 21:44:54 570

原创 c语言 大数乘法(纯char实现)

这一次极客本人又吃c语言螃蟹,作为至强开发,必须证明自己最低调,最谦虚,最冷静,最智慧。口号:Make C language great again!#include<stdio.h>#include<stdlib.h>//方法一,空间换时间(额外开辟了一个int数组)char*BigTimes1(char*m,char*n){ int i=0,l=0,z=0,x=0,y=0; char*j=(char*)calloc(999,sizeof(char)); i.

2021-06-07 15:40:21 403

原创 【c语言】实现printf函数

题外话:在直径赴汤蹈火跨越困难,并抵达终点,且始终认为两点之间直线最短。但要知道直线意味着捷径,而捷径不意味着简单。由此来分析一波,并成功实现…#include <stdarg.h>#include <stdio.h>#include <inttypes.h>#include <math.h>int my_printf(const char *frm, ...) { int cnt = 0;va_list arg;va_start(arg, .

2021-05-15 15:22:10 821 1

原创 最知名(c++)算法面试题分享之[水壶]

水壶难点:边界判定,最后一层的可能会溢出水,最终答案值的处理为更加形象,于是将1号之后的水壶所获水的值打印(包括溢出部分)#include <cstdio>#define max(a, b) (a > b ? a : b)int main() { int n, i, y, z, l; double x, a, b, o, m[105][105]; scanf("%d,%lf", &n, &x); l = n;//循环次数,因为 o = x

2021-05-15 03:01:50 252

原创 c语言 支持8字符与ASCII码互转方式

按照一位网友留言的说法,的确是可以让8位字符与数字互转,不过话说回来,switch里面单引号中仍然只能放进四个字符,这个是编译器的限制。所以目前来看,支持8字符与ASCII码互转在实践中的作用还是存在局限的。下面是一个测试样例的代码#include<stdio.h>#include<string.h>static char ASCII[97]=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST.

2021-03-10 20:51:51 432

原创 c语言 switch判断字符串【字符集与数字互转】

c语言 switch判断字符串因为c语言中switch里面很难放进字符串,所以才联想到要发表一篇这个文章来抢先吃c语言的螃蟹(其实在上一篇文章中就已经提到了这样的方法了)#define toasc(c) (((unsigned char)(c))&0x7f)//上面的方法只能放进去一个char字符,并不能把char字符组全部转换成int//下面的方法是上面的反方法,将ASCII码也就int类型转换成单字符的方法 unsigned char * cc = (unsigned char

2021-03-08 02:38:05 6322 2

原创 c语言 由字符串转ASCII码

实现from_str()将连接后的字符转为int整型首先我们要实现一个将由单引号扩住的字符串变为int整型的from_str方法,再此之前的先实现substring方法来筛选字符串段落。#include<string.h>char*substring(char*c,int s,int e){ char *w = malloc(sizeof(char)*76);int p = 0; for(int i=s;i<e;++i) w[p++]=c[i];w[p] = '\0';

2021-03-07 10:39:15 13185 2

原创 如何防止未连接的redis不断在node中报错

未连接的redis怎样才能只跳出一次错误其中有一个属性叫做retryStrategyconst Redis=new IORedis({ port: 6379, host: "127.0.0.1", family: 4, password: "6543210", db:0, retryStrategy(){return null} });那么控制台只会显示第一次[ioredis] Unhandled error event: Error: conn

2021-01-13 16:55:41 667

原创 windows下的cmake安装到指定目录用法

mkdir build&cd build1:cmake -DCMAKE_INSTALL_PREFIX=D:/api -DBUILD_TYPE=Debug ../cmake --build ./cmake --install ./2:cmake -DCMAKE_INSTALL_PREFIX=D:/api -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -G"MinGW Makefiles" ../mingw32-make -f Makefi

2020-12-27 00:42:56 957

原创 windows下cmake报错 “Could not find a package configuration file provided by“

By not providing "FindTrantor.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Trantor", but CMake did not find one. Could not find a package configuration file provided by "Trantor" with a..

2020-12-26 14:02:33 2217 2

原创 React超级开发指南

React进阶之路使用typescript开发使用jest进行单元测试custom.d.ts来解决静态文件的import在项目目录创建.babelrctsconfig.json.eslintrc.js兼容ie9及以上版本我是ThinkTs作者兼Buzzard的作者,也是独立开发者,现在在自学c,c++,熟悉react,angular,vue,ts,js,es,golang,delphi。使用typescript开发React.FC的本质实际上就是FunctionComponent,如果我有一个cs

2020-11-29 00:24:31 343 2

原创 解决Node中的 [Object: null prototype]

一些低效率,不正常的解决方案比如const obj = JSON.parse(JSON.stringify(req.body)); //低效的答案app.use(express.urlencoded({extended: true}))//这个压根在koa框架没办法测接下来让我们看看真正的解决方案if(req.body.__proto__===undefined)Object.setPrototypeOf(req.body, new Object());...

2020-10-15 13:33:58 3112

原创 Ajax请求带token,返回静态页面,兼容ie的方法

请先确保另外一个页面的head与该页面的head一致,才能支持ie版本小于10的浏览器,因为此时head是只读的,只有ie版本大于9,head才能在当前页变动,所以:<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Ajax</title> <link rel

2020-09-18 13:59:53 329

原创 一行代码搞定windows系列之命令行杀进程、独立开启安卓模拟器(没有之一的最强技术)

CMD指令如何只需要一行就能解决一切?(但便捷往往就不简单)跳过android studio直接开模拟器解决有时adb连接不上android作者的话跳过android studio直接开模拟器在学习和使用react-native过程中,我不想每次都打开android studio,再从中开启模拟器怎么办?我们可以新建一个bat脚本。想新建一个脚本,跳过android studio,直接开启模拟器,先使用下面的代码,那么然后保存为一个.bat文件,双击即可启动for /f "delims= "

2020-05-30 22:59:42 316

原创 js另类的数组去重

之前我也在帖子那边发布了一个相同名字的帖子,现在来个正是总结:个人总结了三种方法,如有雷同,纯属巧合。let arr = [1,2,3,4,4,1];let newArr = arr.reduce((pre,cur)=>{ if(!pre.includes(cur)) return pre.concat(cur) else return pre}...

2019-12-08 14:50:59 204

原创 WINDOWS下MySql取消严格模式

命令行进入D:\Program Files\mysql-5.7.27-winx64\bin在MySql安装目录下输入mysql -hlocalhost -uroot -p123456mysql> set global SQL_MODE=“NO_ENGINE_SUBSTITUTION”;然后回车

2019-08-14 15:42:54 1260

原创 干货码技算法篇

'function(){ if(a>b){ return a }else{ return b } }'.match(/(?<=^function\(\)\{).*(?=\}$)/)[0]let c:string="abcdefg"console.time(`3`);let d:string="";for(let i=c.length-1;i>-1;i--){d=d+c.ch...

2019-04-01 15:25:52 163

原创 随机数算法,伪随机加概率储蓄模拟真随机

vari=100;//单一单位概率储蓄值varn=100;//测试次数vars=0;//计数器functionmyRandom(min,max){//随机数生成器returnMath.round(Math.random()*(max-min)+min);}functionsRandom(v){//v=>随机概率if(myRandom(0,i)<v){//触...

2019-03-25 13:29:38 880

原创 Java的一些高大上的方法

如果我们要保存图片,那么一定要有一个通用的方法。下面是实体类的一个方法,方法名叫setPicpublic void setPic(String pic) { this.pic = pic == null ? null : pic.trim();}下面是一个请求上传图片保存的方法,图片有可能为空所以@RequestParam(required=false)@RequestMapp...

2019-03-09 07:59:36 352

原创 数组中索引id排序的高效方法

原麻省理工学院的链接找不到了,但是我已经保留了副本,现在我们如果要写代码,先谈几分钟的需求吧,(好吧,话有点多了,如果觉得此篇文章对你的nodeJs有帮助,请果断收藏)结合麻省理工学院博士的代码,还有链表的特性,研究了一套高效的序列化数组方法。我们知道链表每个单位之间,首位都是相连的。而数组,如果我们要遍历的,并且同步里面的id索引,以往的方法往往是(拿js来举例)var arr=[{“t...

2019-03-07 18:53:43 2289

原创 WINDOWS解决npm痛点的相关代码

win10系统,以管理员身份打开指令窗口或者是点击运行输入cmd,但是要在每个命令行后面加上–only=dev来开启超级管理员权限在以管理员身份打开的情况下的指令下面是nodejs安装目录,首先进入cd F:\Program Files\nodejsF:进入之后,可以使用下面的指令升级npm版本cd F:\Program Files\nodejs\node_modules\npm...

2019-03-04 22:10:53 262

原创 杂谈It各类相关windows笔记

windows安装MySQL在mysql_home/bin路径下执行mysqld --initialize-insecure --user=mysql,进行初始化mysqld installwindows可直接鼠标右键git bashgit init //初始化仓库git add .(文件name) //添加文件到本地仓库git commit -m “first commi...

2019-01-15 13:09:54 187

原创 VUE项目报错No git binary found,windows解决方案

错误详情undefined ls-remote -h -t git://github.com/frozeman/WebSocket-Node.gitGIt下载地址:https://git-scm.com/downloadsC:\Program Files\Git\bin也就是你的Git安装目录的bin目录,添加到用户的环境变量即可,下面是npm install完成之后的截图...

2019-01-14 21:09:02 8288

c++调用数据库开发包

ccORM,一个即将支持ORM的c++实现的访问数据库的包

2021-08-10

空空如也

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

TA关注的人

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