- 博客(39)
- 资源 (3)
- 收藏
- 关注
原创 C++设计模式 实例(updating)
一、预热 设计模式目标:可复用 思维模式比代码技巧更重要,设计原则比模式更重要!二、设计原则依赖倒置原则(DIP) 稳定应该依赖于稳定,不能有对变化的依赖。对变化应该隔离开。开放封闭原则(OCP) 对扩展开放,对更改封闭。类模块应该是可扩展的,但是不可修改。单一职责原则(SRP) 一个类应该仅有一个引起它变化的原因,变化的方向隐含着类的责任。Liskov替换原则(LSP)...
2020-04-04 15:26:06 604
原创 C++知识点 —— 整合(持续更新中)
本文记录自己在自学C++过程中不同于C的一些知识点,适合于有C语言基础的同学阅读。如果纰漏,欢迎回复指正目录第一部分 基础知识一、HelloWorld与命名空间二、引用和引用参数2.1引用的定义2.2 将引用用作函数参数2.3 将引用用于类对象2.4 引用和继承2.5 何时使用引用参数2.6 引用和指针的区别三、内联函数四、默认参数的...
2019-11-03 16:08:18 34280 24
原创 WPA2破解教程(详细步骤)
本博客内容旨在技术学习交流,仅供学习参考之用,请勿用于任何非法用途,否则后果作者概不负责。一、前言 本人前段时间在研究WiFi破解(WPA2)的相关原理和具体步骤,期间在网上搜索了很多资料,也走了不少坑。最后发现网上大部分的资源都是利用Aircrack工具来破解的,其中某些具体的细节并没有提及,如抓包过程、比对过程等。用工具破解的方法和具体步骤直接百度就可以找到了,很多。下面主要讲手...
2018-07-14 17:32:21 54632 10
原创 调试:chrt设置进程优先级时系统重启
sched_rt_runtime_us设为-1表示sched_rt_runtime_us==ched_rt_period_us,也就是rt运行时间没有限制。个人猜测重启的原因是rt任务运行时间太长,导致系统一些关键的任务没有分配到运行时间,又或者是runtime时间占比太高,系统自动保护了。此时执行chrt命令时系统不再重启,用chrt -p 查询进程优先级,已成功设置为SCHED_FIFO策略并且优先级为1。
2023-01-03 12:07:41 554
原创 Python2 & Python3 编码格式
编码格目录编码格式python2python3Python2 & Python3 差异式编码指从字符到二进制数据的映射过程GB2312收录了大部分中文字符(6763个汉字),兼容 ASCIIGBK在 GB2312 基础上收录了藏文、蒙文、维吾尔文等主要的少数民族文字英文字符用 1 个字节,汉字用 2 个字节。Unicode计算机怎么知道一个 2 字节的 Unicode 字符是表示一个 2 字节的字符,还是两个 1 字节的字...
2021-06-09 09:48:57 723 1
原创 Python - 5 - 元组tuple使用
除了list,元组tuple是Python另一种有序的数据结构。tuple和list很相似,只是tuple初始化了之后就不能再修改其指向的元素。定义tuple定义tuple时,元素使用( )括起来,元素间用,隔开。list使用[ ],注意对比区分。>>> tuple01 = ('12', 12, '花花')>>> tuple01('12', 12, '花花')需要注意的是,当tuple中只有一个元素时,要在元素后加,,避免括号被当成算术符号,...
2020-11-15 17:50:56 321
原创 Python - 4 - list排序
按字母正序使用列表的sort()方法按字母正序排序>>> list = ['beijing', 'shanghai', 'guangzhou', 'chongqing']>>> list.sort()>>> list['beijing', 'chongqing', 'guangzhou', 'shanghai']按字母反续使用列表的sort(reverse=True)方法按字母反序排序>>> list.sort(rev
2020-11-15 17:22:13 217
原创 Python - 3 - 创建列表,访问、修改、添加、删除元素
什么是列表Python列表由一系列按特定顺序排序的元素组成,其中的元素可以是不同数据类型的数据。创建列表创建列表时用方括号[ ]表示,元素之间用,隔开。>>> list = [] # 创建一个空列表>>> list[]>>> list = [100, 'abc', "Fa"] # 创建一个包含整数和字符串的列表>>> list[100, 'abc', 'Fa']访问列表如上所示,直接输入list是将列表整个打印
2020-11-07 18:16:26 2048
原创 Python - 2 - 字符串(str)、bytes、字符编码 及 字符串格式化
字符编码str:‘ABC’bytes:b’ABC’,在字符串前加b即为bytes类型。str可以包含英文、中文等字符,bytes只能直接包含中文,如需包含中文,要以中文的Unicode码格式,如"中"字的bytes是b’\xe4\xb8\xad’。str类型数据在内存中是以Unicode编码格式表示的,由于Unicode比较占存储空间(例如字符A的Unicode编码为00000000 01000001,一个字符对应n个字节),所以在实际存储或传输时,就需要转成bytes类型(一个字符对应1个字节)。
2020-10-25 19:21:28 1296
原创 Python - 1 - 数据类型和变量
Python 基础#开头的语句是注释当语句以冒号:结尾时,缩进的语句视为代码块,缩进一般用4个空格表示大小写敏感整数整数的表示方式可以是二进制(0b)、八进制(0o)、十进制(0x),当位数较多时,可以使用_分隔。a = 0x11b = 0o10c = 0b10d = -10e = 100_0000print(a, b, c, d, e)运行结果为:17 8 2 -10 1000000浮点型浮点型的表示方式可以是数学写法1.23,也可以是科学计数法1.23e2、123
2020-10-25 00:11:05 180
原创 Python - 0 - Python3.8 Windows环境搭建
一、Python环境搭建1、所需软件Python解释器www.python.org包安装器:pip,conda正常情况下,安装好Python解释器时会自动安装pipJupyter Notebook(丘比特)www.jupyter.orgIDE:PyCharmwww.jetbrains.com虚拟环境VirtualEnvAnaconda2、...
2020-10-24 18:49:13 661
原创 Linux系统移植 —— Kernel编译、安装、开发
======================= 1 Linux内核配置与编译 =======================一、清除临时文件、中间文件、配置文件make clean 清除编译生成的文件,保留配置文件make mrproper 清除编译生成的文件和配置文件make distclean 清除所有文件二、配置内核一般会以一个参考的配置文件(如:arch/arm/),在该文件基础上进行配置。make config 基于文本模式的交互式配置mak...
2020-08-30 01:07:39 955
转载 Mysql8.0修改数据存储位置 - SELinux is preventing /usr/sbin/mysqld from write access on the directory mysql.
MySQL 默认安装将 /var/lib/mysql 作为数据存储目录,可以通过登录 mysql 查看 datadir 变量的值,或者查看 /etc/my.cnf 文件查看: mysql> SHOW VARIABLES like 'datadir'; +---------------+--------------------+ | Variable_name | Value | +---------------+---------------...
2020-08-28 16:38:14 10704 3
转载 B树与B+树简明扼要的区别
看了很多讲B树和B+树的文章,大多都是围绕各自的特性讲的,第一,树中每个结点最多含有m个孩子(m>=2);第二,……我也是从这些文章里弄懂了各种树的联系与区别,要真写,我可能还不如人家写得好。所以就在这里简明扼要的用几张图记录一下主要区别吧。 为了便于说明,我们先定义一条数据记录为一个二元组...
2020-07-12 20:13:04 520
原创 MySQL索引:类型、使用、设计原则及失效场景
什么是索引使用索引的优缺点优点:减少扫描行数,大幅提升查询速度避免排序、分组、临时表索引可以将随机 IO 变成顺序 IO缺点:创建和维护索引需要耗费时间,并且数据量越大消耗的时间越长索引需要占用物理空间,索引越多则占用磁盘空间越多、增、删、改表中的数据时动态维护索引的成本越大索引类型按存储方式B+Tree索引对比B-Tree区别:B+树中间节点只存索引不存数据,叶子节点才存数据;B树所有节点既存索引也存数据更少的IO读写次数:因为B+树的非叶子节点不存数据,所以节点存储
2020-07-09 15:40:37 263
转载 UML类图介绍
在正式介绍设计模式之前,我们有必要学习一下UML类图,因为我们需要一种直观的表示方法来描述设计模式,这种方法即是UML类图。在Jungle之前的一篇博客里,已经介绍到UML类图UML类图关系与...
2020-04-05 18:13:09 479
原创 简单实现内外网自由切换、指定网卡上网
一直有多位朋友提到关于内外网如何切换,这个在项目实际中用的非常多,今天我们来看下,如何用route命令实现内外网的自由切换。在了解内外网自由切换之前,我们先来了解route命令的用法。Route就是用来显示、添加、删除和修改路由的命令,我们先来看用法。一、route命令用法范例上面我们已经了解了关于route命令的格式与参数意思,那么它们是如何使?我们起来看下。1、...
2020-01-04 15:45:31 15618 1
原创 学习笔记(01):Python初级入门精讲-环境搭建-软件介绍-1
您观看课程学习后可入群领取【超全Python资料包+17本学习电子书】 本课程为Python全栈开发初级入门篇-语言基础章节,学习完本篇章可对python语言有初步的掌握与理解,本课程侧重于初级学员,课程内容详细有针对性,务求各种类型的学员都可以掌握python开发。...
2019-12-11 21:36:31 998
原创 C++设计模式1——工厂模式
创建对象的类是工厂,创建的对象就是产品,使用工厂生产产品,只需用工厂提供的接口生产产品即可,不用关心具体的生产过程。 工厂模式分为三种:①简单工厂模式 ②工厂方法模式 ③抽象工厂模式 三种模式越来越抽象,适用于不同的场景,先用类图介绍下三种模式:①简单工厂模式:一个工厂生产多种产品。②工厂方法模式:多个工厂,每个工厂只能生产一种产品。工...
2019-11-30 18:18:07 1131
原创 Rapidjson使用方式不当导致的内存泄漏问题
上次有个项目中要用到rapidjson生成json格式的数据文档,由于第一次用rapidjson,中间出现了疑似内存泄漏的问题,具体现象就是程序占用的内存不断在增加,debug过程中发现只要用rapidjson生成json数据后,内存占用就会增长,于是问题定位到rapidjson。由于是开源库,所以不觉得是库内部导致的内存泄漏,那么极有可能就是用法不当导致的,经过一番试验,最后找到了...
2019-11-30 15:33:07 5595 3
原创 UML入门自学笔记
前言:最近一段时间在自学C++,编程思想上从面向过程到面向对象的转变,说实话刚开始很不习惯,现在已经慢慢接受和习惯了。本来想学下设计模式,但是面向对象毕竟不像面向过程那样,简单搭个程序的大概框架出来,然后想到哪代码就写到哪,动手前还是需要先建模什么的,当然helloworld那种很简单的除外。之前看视频教程时也提到过UML是一个很重要的工具,所以决定先学下UML,之后再是设计模式。...
2019-11-17 23:03:39 1239
原创 Linux菜鸟笔记——linux命令之 grep常用语法
grep命令格式:grep [option] pattern fileshell常用选项: 选项 描述 -i 忽略大小写 -n 显示匹配内容所在行号 -c 只统计匹配到的行数(注意不是次数) -o ...
2019-03-06 23:54:57 1134
原创 Linux菜鸟笔记——正则表达式语法
普通字符普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。非打印字符非打印字符也可以是正则表达式的组成部分。下表列出了表示非打印字符的转义序列: 字符 描述 \cx 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M...
2019-03-06 23:53:32 1189
原创 Ubantu14.04安装VMware tools后无法复制粘贴、自动适应客户机的解决方法
之前多次遇到Ubantu装了VMware Tools后不能复制粘贴、适应客户机的问题,尝试了重装VMware Tools、换VMware Workstation 软件版本(10、12)等多种方法都以失败告终,最后无意中发现VMware tools使用9.6.2这个版本就完全没问题,可能是兼容性的原因?此方法试用于Ubantu 14.04、VMware workstation版本为10或12的情...
2018-07-28 18:05:37 3335 1
原创 Git本地仓库推到远程仓库
首先创建一个远程仓库,创建完成后添加自己的ssh公钥,公钥生成方法:$ ssh-keygen -t rsa -C "xxxxx@xxxxx.com" //按3次回车即可,路径等保持默认$ cat ~/.ssh/id_rsa.pub //查看ssh公钥$ git config –global core.autocrlf false 初始化仓库前先关闭换行符自动...
2018-07-28 17:29:51 2295
原创 Linux系统时间和RTC时间、时钟设置与同步、ntpd服务/ntpdate
Linux有两个时间,一个是系统时间,一个是RTC时间(也叫硬件时间)。Linux系统启动时,会自动获取硬件时间,设置为系统时间。一、查询系统时间:查询系统时间:date查询/设置硬件时间: hwclock –r 显示硬件时钟与日期 hwclock –s 将系统时钟调整为与目前的硬件时钟一致。 hwclock –w 将硬件...
2018-05-25 10:29:07 10146 1
原创 Openwrt/Lede编译环境搭建
1、安装VMWare Workstation,这里我安装的版本是12.5.72、在VM上安装ubantu,这里我用的版本是14.04.13、在ubantu中搭建编译环境 通过sudo apt-get install命令安装下列工具,可以逐个安装,也可以在一行命令中一次性安装(例如sudo apt-get install g++ libncurses5-dev zlib1g-dev ...);...
2018-04-18 12:14:56 2882
原创 linux中wc命令用法
wc命令用来统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数选项:-c统计字节数-m统计字符数。这个标志不能与 -c 标志一起使用-l统计行数-L打印最长行的长度-w统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串--help显示帮助信息--version显...
2018-04-12 14:15:11 1501
原创 Linux菜鸟笔记——守护进程的创建
一、概念守护进程是一个在后台运行并且不受任何终端控制的进程,脱离于终端是为了避免进程被终端打断,其在执行过程中也不向终端打印任何信息。二、查看守护进程在终端敲:ps axja 表示不仅列当前用户的进程,也列出所有其他用户的进程x 表示不仅列有控制终端的进程,也列出所有无控制终端的进程j 表示列出与作业控制相关的信息从上图可以看出守护进行的一些特点:1、守护进...
2017-10-21 17:11:16 1168
原创 Linux菜鸟笔记——BASH(三)
实验环境:Ubantu 16.04一、路径与命令查找顺序type -a echo #打印出来的信息中,从上到下表示执行命令的优先级由高到低 二、bash的登录与欢迎信息1、登录前的信息修改:vim /etc/issuevim /etc/issue.net #通过telent登录时显示的信息 2、登录后的欢迎信息修改:vim /etc
2017-08-31 20:08:43 1097
原创 Linux菜鸟笔记——BASH(二)
实验环境:Ubantu 16.04一、变量键盘读取(read)read xxx #从键盘获取输入,存到xxx变量中read #从键盘获取输入,存到REPLY变量中 echo -n “请输入您的名字:” #”-n”是打印完不换行的意思read nameecho “欢迎你,$name”前两句代码等同于:read -p “请输入您的名字:” name #获取
2017-08-31 20:02:08 1213
原创 Linux菜鸟笔记——vim编辑器
一、三种模式一般模式(命令模式)、插入模式、冒号模式 二、一般模式(命令模式)冒号模式下按Esc键进入一般模式 nG跳到第n行gg跳到第一行shift+g跳到最后一行yy复制当前行3yy从当前行开始往下复制3行dd剪切当前行3dd从当前行开始往下剪切3行p粘贴r+字符 用“字符”替换光标处的字符,如r+f
2017-07-22 18:26:52 1017
原创 Linux菜鸟笔记——BASH之变量
shell:脚本解释器,常见的shell有sh、bash、csh、ksh等。bash:shell的一种,是linux的默认shell脚本解释器。终端提供了人和shell交互的界面。一、查看系统的shell有哪些:cat /etc/shells二、查询指令是否为bash shell的内嵌指令:type cd三、变量:分本地变量、环境变量和位置变量。本地
2017-07-13 16:13:25 1036
原创 Git stash命令
使用Git过程中,经常遇到代码写到一半,突然一个bug需要紧急修复,或者有另一个新的任务需要优先完成,此时写到一半的代码怎么办?答案是使用git stash命令。如果想要保存当前的修改,可以使用git stash或git stash save将修改储藏起来,保存在栈上。如果想要查看储藏的东西,可以使用git stash list。如果想要恢复一个储藏,可以使用的命令有git s
2017-07-11 17:30:47 1620
原创 Linux菜鸟笔记——文件与目录的压缩与打包
一、压缩命令[compress/gzip/bzip2]:压缩只能对文件,不能对目录,目录要先打包,然后再压缩。(1)compress(2)gzip1、压缩文件gzip hosts#将hosts压缩成hosts.gz,不保留原文件gzip -c hosts > xx/hosts.gz #将hosts压缩成hosts.gz,保留原文件,还可以指定路径
2017-07-02 02:52:36 6211
转载 yum安装rpm安装包时报错 [Errno 14] "Couldn't open file /mnt/repodata/repomd.xml"
【Linux虚拟机、Vbox】出现此问题是因为yum源里配置了baseurl=file:///mnt ,但是在这个目录下没有找到需要的资源。经过查找原因发现是因为使用的虚拟机,但是没有挂载镜像,所以使用下面语句来挂载镜像:mount /dev/cdrom /mnt (注:mount后面有空格,cdrom后面有空格)然后出现如下提示:
2017-07-01 20:05:23 31537 4
原创 Linux菜鸟笔记——修改默认语系
1、查看当前语系locale2、修改默认语系LANG=en_US.utf8//修改为英文语系,中文为zh_CN.utf8LC_ALL=en_US.utf8通过以上两个命令可以修改默认语系,但是只是本次有效,注销或重启后会恢复为原来的语系。要想修改的语系永久有效,可以修改/etc/locale.conf该文件(Cent OS 7
2017-07-01 11:10:11 1951
原创 Linux菜鸟笔记——磁盘管理与文件系统管理 之 磁盘挂载与卸载、磁盘参数修改
mountmount [-t vfstype] [-o options] device dir[-t vfstype] 指定文件系统 常见的文件系统有:ext2、ext3、ext4、vfat、nfs、ntfs...[-o options] 挂载方式 ro 采用只读方式重挂载 rw 采用只读方式重挂载 loop 挂载镜像文件 exec 拥有可执行权限 noexec 没有可执行权限1)挂载:
2017-06-15 21:01:42 1477
原创 Linux菜鸟笔记——磁盘管理与文件系统管理 之 磁盘的分割、格式化、检验
fdisk 1)查看所有分区fdisk -l2)查看sda分区fdisk /dev/sda3)对硬盘进行分区fdisk /dev/sda --> m (m for help)4)格式化分区mkfs -t ext3 /dev/sda5 mkfs.ext3 /dev/sda5 (同上)格式化后默认block为1k,加上”-b 4096”可指定为4K: m
2017-06-15 00:31:20 1200
VMwareTools-9.6.2
2018-07-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人