- 博客(46)
- 资源 (1)
- 收藏
- 关注
原创 c++实现RFC3986标准最快的EncodeURL和DecodeURL
关于EncodeURL和DecodeURL的实现(C++)在网上有非常多不同的版本。对须要编码的字符集的选取不统一,那么就需要来统一一下,并且写一个运行最快的实现。[该标准按照最新RFC3986实行]
2022-07-16 22:58:37
688
转载 c++实现最快的boost::lexical_cast类型转换器
c++实现最快的boost::lexical_cast类型转换器,此版本是无异常的版本,实测性能是boost的五倍以上,堪称最快最牛逼。
2022-06-26 21:29:21
457
原创 .clang-format 配置c++代码风格【完美解析】
下面是个人常用的代码风格和配置,当然希望在未来clang能够实现对分号的配置,让分号后不会强制换行
2022-06-22 10:14:26
1697
原创 C++实现rust的Box
Box 是一个智能指针,指向在类型为T的堆上分配的数据。Box 允许将数据存储在堆而不是栈上。Box没有性能开销。当Box离开作用域时,会调用析构函数来销毁所有内部对象并释放内存。
2022-06-04 22:24:11
395
原创 python实现c++头文件合并器【完美版】
那么所有的头文件就打包到一起了,注意,这里我没有加入判断输出文件是否已经存在,所以请勿多次使用,使用前需要保证该目录下没有合并后的文件,不然会重复加入到同样的文件中。
2022-06-04 22:22:02
453
原创 c++实现varchar类型
因为需要计算utf8长度,每个utf8只能算一个长度,因此,就需要设计一个有限长度的varchar结构,无论怎么增加或者拼接,该varchar都不会超出最大长度,就可以保证无需使用数据库异常,也能让数据库永不报相关超出长度的错误。
2022-05-12 12:25:54
545
原创 宏实现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
847
原创 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
266
原创 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
581
原创 使用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
3064
原创 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
691
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
973
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
391
原创 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
626
原创 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
475
原创 【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
1002
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
341
原创 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
530
原创 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
6670
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
13851
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
840
原创 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
1056
原创 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
2494
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
448
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
3235
原创 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
407
原创 一行代码搞定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
361
原创 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
243
原创 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
1455
原创 干货码技算法篇
'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
194
原创 随机数算法,伪随机加概率储蓄模拟真随机
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
940
原创 Java的一些高大上的方法
如果我们要保存图片,那么一定要有一个通用的方法。下面是实体类的一个方法,方法名叫setPicpublic void setPic(String pic) { this.pic = pic == null ? null : pic.trim();}下面是一个请求上传图片保存的方法,图片有可能为空所以@RequestParam(required=false)@RequestMapp...
2019-03-09 07:59:36
403
原创 数组中索引id排序的高效方法
原麻省理工学院的链接找不到了,但是我已经保留了副本,现在我们如果要写代码,先谈几分钟的需求吧,(好吧,话有点多了,如果觉得此篇文章对你的nodeJs有帮助,请果断收藏)结合麻省理工学院博士的代码,还有链表的特性,研究了一套高效的序列化数组方法。我们知道链表每个单位之间,首位都是相连的。而数组,如果我们要遍历的,并且同步里面的id索引,以往的方法往往是(拿js来举例)var arr=[{“t...
2019-03-07 18:53:43
2339
原创 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
319
原创 杂谈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
247
原创 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
8461
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人