关于C++标准异常之std::out_of_range

简介 定义于头文件 <stdexcept> class out_of_range; 定义要作为异常引发的对象类型。它报告试图访问定义范围之外的元素所导致的错误。它可以由std::bitset和std::basic_string的成员函数、std::stoi和std::stod函数族以及边界检查的成员访问函数(例如std::vector::at和std::map::at)抛出。 继承关系如下: 成员函数 Member functions (constructor) constructs a ne
分类: 其他 发布时间: 05-02 21:59 阅读次数: 0

打造更好用的 EF 自动审计

打造更好用的 EF 自动审计 Intro 上次基于 EF Core 实现了一个自动审计的功能,详细可以参考 https://www.cnblogs.com/weihanli/p/auto-audit-for-entity-framework.html ,虽然说多数情况下可以适用,但是因为要显式继承于一个 AuditDbContextBase 或 AuditDbContext,所以对代码的侵入性比较强,对于已经无法修改的代码或者已经继承于某一个类了,就无法再继承 AuditDBContext 了
分类: 其他 发布时间: 05-02 21:59 阅读次数: 0

19201425-曾博川-作业总结

前言:最开始我学习了java如何简单编写一小段代码,发现java代码和C语言还是有很多相似的地方,到类与对象之后等等的很多的内容,我觉得还是有很大区别的,java对于c语言来说,显得更为高级及方便,让我们的代码更加简便和灵活。我的得分也有好有坏。 1.作业过程总结 ①总结三次作业之间的知识迭代关系 1,第一次作业主要是if-else的运用,从图像转换,输入输出等等,都主要通过if和else的逻辑运用得到结果,而这一道题恰恰是很有难度的一道题,让我非常头疼。。 2. 第二次作业则对方法的运用有需
分类: 其他 发布时间: 05-02 21:59 阅读次数: 0

js求取小数点后100位小数,判断是否可除尽

首先,假设是一个除不尽的小数,这样理解的话,就很简单了。 function getDecimal(a, b) { let list = []; let remainder = a % b; // 求取当前余数 while (list.length < 100) { let remainder2 = Math.floor(remainder * 10 / b); list.push(remainder2); remainder = remainder * 1
分类: 其他 发布时间: 05-02 21:59 阅读次数: 0

nuxt中vuex如何模块化分

最近在学习nuxt框架,学到了vuex这一块,nuxt将vuex内置了,所以在模块划分时和vue的spa项目略有区别。 照着官网例子写了一下,感觉少了什么?大名鼎鼎的getters模块哪了,于是自己尝试了几次,终于把getters模块整出来了。话不多说,上例子 store文件的目录结构 可以看到store文件夹下有三个文件,nuxt将store下的每个js文件当成一个modules去构建,不必有传统的index.js因为store目录下的每一个js文件,nuxt都会把它当成模块。 下面来看看t
分类: 其他 发布时间: 05-02 21:59 阅读次数: 0

使用TypeScript和Canvas编写移动端贪吃蛇大作战游戏

基本介绍 一款移动端贪吃蛇大作战游戏。(只支持移动端) 这是一个临近 deadline 的课设项目,为了方便地使用TS,我直接使用angular-cli生成了TypeScript的项目结构。如果你有好用的TS项目生成器(请推荐给我),使用TypeScript + ES6即可,不推荐使用angular,体积过于庞大。 源码:https://github.com/suyingtao/... 在几天时间内开发出了单人版和多人版,代码不那么美观,请谅解~ 使用node实现的多人游戏源码不忍直视,故不开
分类: 其他 发布时间: 05-02 21:59 阅读次数: 0

C--C++中的String类

C++中的String类 String转换为Char* string str = "Hello World!"; const char* ch = str.c_str(); cout 可直接输出string字符串内容; const char*; string对象一旦初始化就不可变。 char*、char[]转换为string const char* ch_ptr = "hello"; char ch[] = "world"; string str_chptr; string str_ch;
分类: 其他 发布时间: 05-02 21:59 阅读次数: 0

OOP 的方法 this

方法: 能做的事情被称之为方法 在同一个类中方法之间可以直接在方法体中写上方法名,如果在不同的类中需要创建对象在调用。 语法为: 两种情况: 如果方法有返回值,那么方法中必须要使用关键字return来返回改值,而且返回值的类型也要是改类型的 如果没有返回值,那么返回值类型就是void。 同类案例: 运行结果为: 不同类的案例: 运行结果为: 如图在不同类中相互调用需要先创建对象 在使用对象名来调用。 返回值案例: 运行的结果为: 如在不同类也是同理。 这里我用到了一个this,它表示当前类 不
分类: 其他 发布时间: 05-02 21:59 阅读次数: 0

strlen()函数和sizeof算符

区别: 一、定义不同 sizeof是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 2、它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。具体而言,当参数分别如下时,sizeof返回的值表示的含义如下:数组——编译时分配的数组空间大小;指针——存储该指针所用的空间大小(存储该指针的地址的长度,是长整型,应该为4)。 常用 int a[] = {3,5,7,8,5,4,3,}; int m = sizeof(
分类: 其他 发布时间: 05-02 21:59 阅读次数: 0

数据库索引相关整理

一、按算法、结构分: 1.BTREE索引就是一种将索引值按一定的算法,存入一个树形的数据结构中,如二叉树一样,每次查询都是从树的入口root开始,依次遍历node,获取leaf. 通常说的索引,多指BTREE 2.位图索引:位图索引适合只有几个固定值的列,基数值比较小的列;比如boolean类型的列. 3.FULLTEXT 即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCH
分类: 其他 发布时间: 05-02 21:59 阅读次数: 0

apache httpd解析漏洞复现

实验环境:win10下运行phpstudy 漏洞描述: (1)apache在解析文件时有一个原则:当碰到不认识的扩展名时,将会从后往前解析,直到遇到认识的扩展名为止 (2)如果都不认识将会暴露源码。 在apache配置不当的时候就会造成apache解析漏洞。 复现过程: 1、在httpd.conf里加入一句AddHandler application/x-httpd-php .php 2、在WWW目录下创建一个不能解析的后缀的文件 为了简便,文件里放一个<?php phpinfo();?>就行
分类: 其他 发布时间: 05-02 21:59 阅读次数: 0

Vue基础面试题

马上要面试,这里记录一下Vue的基础面试题,手写一遍加深理解,大神不用浪费时间往下看了 一、对于MVVM的理解   MVVM是MOdel-View-ViewModel的缩写   Model代表数据模型,可以在Model中定义数据修改和操作的业务逻辑   View代表UI组件,负责将数据模型转化为UI展现出来   ViewModel负责监听数据模型的改变和控制视图行为,处理用户交互;是一个同步Model和View的对象,连接Model和View。   在MVVM架构下,view和Model之间并
分类: 其他 发布时间: 05-02 21:59 阅读次数: 0

Linux配置IP的几种方法

临时生效:ifconfig [root@localhost Desktop]# ifconfig eno16777736 192.168.75.50 netmask 255.255.255.0 Network:配置网卡 关闭networkmanager服务(同时配置Network和NetworkManager两种网络管理工具会引起冲突) [root@localhost Desktop]# systemctl stop NetworkManager [root@localhost Desktop
分类: 其他 发布时间: 05-02 21:59 阅读次数: 0

Myql 中的事务回滚机制概述 ?

事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个 不可分割的工作单位,事务回滚是指将该事务已经完成的对数据库的更新操作撤 销。 要同时修改数据库中两个不同表时,如果它们不是一个事务的话,当第一个表修 改完,可能第二个表修改过程中出现了异常而没能修改,此时就只有第二个表依 旧是未修改之前的状态,而第一个表已经被修改完毕。而当你把它们设定为一个 事务的时候,当第一个表修改完,第二表修改出现异常而没能修改,第一个表和 第二个表都要回到未修改的状态,这就是所谓的事务回滚
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

最好用的录屏工具Bandicam (班迪录屏)

一、用途及特色 1.1 软件用途 Bandicam(班迪录屏)屏幕录制,游戏,视频网站,摄像头等电脑屏幕上所有看到的内容录制成高清视频,不仅保证原文件的质量和录制的视频文件小,与其他录像软件相比发挥更卓越的性能。 ① 游戏录制 ② 可播放本地视频与网络视频 ③ 电脑桌面屏幕、视频会议、网络摄像头、高清晰度电视、QQ视频聊天等屏幕上看到的所有内容都可录制。 1.2 软件优点   能够24小时以上录制视频(可以使用自动录制功能)   能够录制4K超高清的视频分辨率高达3840×2160。   能够
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

什么是锁?

答:数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数 据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可 能会读取和存储不正确的数据,破坏数据库的一致性。 加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进 行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定 的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。 基本锁类型:锁包括行级锁和表级锁
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

python网络编程——TCP服务的简单实现

TCP服务的简单实现过程分为服务端和客户端的实现, 首先服务端的实现过程大致为 ################ ##TCP服务端结构## ################ tcps = socket() #创建服务器套接字 tcps.bind() #把地址绑定到套接字 tcps.listen() #监听链接 while True: #服务器无限循环 tcpc = tcps.accept() #接受客户端链接 while True:
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

爬虫流程复习2

1.打开网页 urllib.request.urlopen('网址') 例:response = urllib.request.urlopen('http://www.baidu.com/') 返回值为 <http.client.HTTPResponse object at 0x00000224EC2C9490> 2.获取响应头信息 urlopen 对象.getheaders() 例:response.getheaders() 返回值为 [('Bdpagetype', '1'), ('Bdq
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

Mysql Tutorial

Mysql Tutorial MySQL专题零:简介 MySQL专题一:安装与连接 MySQL专题二:DDL与DML语法 MySQL专题三:工作原理 MySQL专题四:InnoDB存储引擎 MySQL专题五:sql优化 MySQL专题六:数据类型
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

面试题46: 把数字翻译成字符串(C++)

题目地址:https://leetcode-cn.com/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof/ 题目描述 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。 题目示例 示例 1: 输入: 12258 输出: 5 解释: 12258有5种不同的翻译,分别是"
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0