- 博客(25)
- 收藏
- 关注
原创 OC 获取CPU核心数
OC 获取CPU核心数IOS获取CPU核心数目的OC代码。#include <sys/sysctl.h> unsigned int countOfCores(){ unsigned int ncpu; size_t len = sizeof(ncpu); sysctlbyname("hw.ncpu", &ncpu, &len, NULL, 0); //当前电源管理模式下可用的物理处理器数量。 //sysctlbyname("hw.p
2021-09-05 20:35:10
1513
原创 啥是闭包
啥是闭包我一定要给这个闭包搞明白离散数学中:关系的闭包:一个关系R的闭包,是指加上最小数目的有序偶而形成的具有自反性,对称性或传递性的新的有序偶集,此集就是关系R的闭包。闭包的定义是,包含指定集合的满足在某个运算下闭合的最小集合。离散数学中,闭包是一个集合,什么的集合呢? 关系的集合?还是集合元素的集合。集合里面的元素是什么呢?要讲清楚这个问题,要引入闭合的概念。闭合指的是在一个集合上执行某种运算,得到的结果还是这个集合的元素,那么就说该集合在这个运算操作下构成闭合。既然有闭合那就肯定有
2020-12-13 19:43:55
9292
原创 Python 多线程,多进程学习笔记
Python 多线程和多进程1.进程和线程开始回忆操作系统系统上课内容什么是进程?背概念:进程时资源分配的最小单位。进程理解为程序的一次执行,是一个动态的概念。在操作系统中,一个进程的存在由进程控制块PCB唯一标识,与该进程有关的资源,都被记录在进程控制块PCB中。以表示该进程拥有这些资源。什么是线程?继续背概念:线程时CPU调度的最小单位。线程是程序中一个单一的顺序控制流程,是进程内一个相对独立的、可调度的执行单元,是系统独立调度和分配CPU的基本单位中的调度单位。也就是说线程是比进程跟细
2020-12-06 16:16:09
207
原创 我的第一个Python爬虫
我的第一个Python爬虫作为一个优(cai)秀(ji)的Python程序员,怎么能不懂爬虫呢? 我决定从今天开始学习爬虫。虽然爬虫和我目前工作关系不大,但是他可以用来从网上下载大量学(mei)习(nv)资(tu)料(pian),总之就是很有用。好了,接下来我们来快乐的学习Python爬虫吧。...
2020-12-03 23:13:12
171
原创 python list转置过程详细介绍
python list转置详细介绍list转置的方法很简单,但是这个式子我老是记不住,我要给他彻底搞明白
2020-12-02 19:46:40
32674
2
原创 Redis安装(windows版和Ubuntu版)
Redis安装(windows版和Ubuntu版)Redis简介Redis是一款开源的,高性能的key-value数据库。windows版下载地址:https://github.com/tporadowski/redis/releasesLinus版下载地址:https://redis.io/downloadWindows版安装步骤1.下载根据系统平台选择32位或64位,选择合适的版本。下载压缩包,并解压2.配置环境变量在桌面右击计算机——〉属性——〉高级系统设置——〉环境变量编辑PA
2020-11-22 16:29:47
170
原创 Latex 中插入pdf版本不匹配问题
Latex 中插入pdf版本不匹配问题在Latex中插入PDF图片有时候会遇到PDF版本不匹配问题。编译器报错:PDF inclusion: found PDF version <1.7>, but at most version <1.5> allowed解决方法也比较简单:在文件开头加入一行:\pdfoptionpdfminorversion = 7 % 7表示你的PDF版本问题基本解决,PDF图片可以显示了。但是我多次尝试后发现,有时候图片的排版出现混乱,这种
2020-11-18 21:02:16
5604
原创 HTTP状态码整理
总结HTTP状态码,以防面试被问到HTTP状态码一般有5种,分别是:1开头,2开头,3开头,4开头,5开头6开头。总共大约57个。5中类型描述如下类型描述1xx代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束2xx代表成功,操作被成功接收并处理3xx代表重定向,需要客户端采取进一步的操作才能完成请求4xx代表了客户端可能发生了错误,无法完成请求5xx代表了服务器在处理请求的过程中有错误或者异常状态发
2020-11-17 22:17:05
603
原创 使用CMake的第一天
CMake 学习笔记什么是CMakeCMake 一种跨平台编译工具。CMake通过编写CMakeLists.txt文件,然后使用cmake命令将CMakeLists.txt文件转化为make所需要的Makefile文件。从而我们就可以用make指令编译源码生成可执行文件或库。实际项目中C、C++ 文件可能很多,位置分散,makefile文件在不同平台上编写的方式可能不同,因此我们可以使用可以跨平台的Cmake工具生成makefile文件。为什么用CMake还用问吗? 当然是老板逼的。怎么用CMak
2020-11-14 14:16:08
102
原创 bloom filter笔记
布隆过滤器作为大数据领域一个重要的数据结构,我想着搞大数据多少要有些了解,所以简单总结一下他的主要思想首先说说布隆过滤器的作用:用于查询一个元素是否存在于某个集合中。最早我们可以通过哈希表来实现这个功能。但是随着数据量的增大,维护一个哈希表所带来的空间开销太大,于是智慧的科学家思考是否可以以牺牲一定准确度来换取更小的存储空间和更快的查询速度。从此过滤器就应运而生了。布隆过滤器是其中最早的一款。布隆过滤器作为最经典的一种数据结构,有很多对其的改进和创新,我们还是从最基础的原版开始介绍。原始的布隆过滤器由
2020-10-15 20:01:43
130
原创 路径总和 I,II,III
路径总和 I,II,III我刷题的时候喜欢一次吧相似的题目都刷了,正好碰到几道二叉树相关的题目,于是把他们放在一起总结一下二叉树的相关操作。本文主要解答一下几道leetcode题目:112. 路径总和112. 路径总和 II437. 路径总和 III基本思路二叉树的问题基本都可以通过对树遍历搜索解决。一个直观的模版如下所示。当然具体问题要具体分析,在此基础上增加其他判断条件。def fun(root): ''' root type: TreeNode ''' # 处理当前节点 if
2020-09-28 11:35:39
186
原创 拓扑排序解课程表
拓扑排序解课程表可能很多小伙伴在学习数据结构的时候,到图这一章感觉难度突然就上来了。里面的算法明显复杂的多,我刚开始学习的时候也是一头雾水,当时偷懒就划水过去了,直到面临找工作才发现之前偷得懒都是欠的债,总是要还的。所以我总结了一下拓扑排序的基本思路,顺便拿leetcode上两道题练一下手。207. 课程表210. 课程表 II1.什么是拓扑排序拓扑排序,这个名字听起来牛逼哄哄,但我个人以为它是图论几个经典算法里面最简单最容易理解的,所以大家不用紧张,看完此文就能对它有一个基本认识了。先说定义
2020-09-26 17:25:08
554
原创 从罗马数字转整数到各种数字转整数
从罗马数字转整数到各种数字转整数leetcode刷到了罗马数字和整数互相转换的问题,再加上面试被问到了,干脆总结整理一下。读完本文可以解决如下两题。完了之后我们还的思考一下,如果面试官问你英文数字和整数转换,或者中文数字和整数转换,该怎么办呢。12. 整数转罗马数字13. 罗马数字转整数先解leecode原题我们要先分析一下罗马数字的表示规则,罗马数字中没有百千万这种量词的概念,每一个字符都表示一个数字(比如2000是MM而不是IIM),而相邻的字符有些时候是相减的关系,有些时候是相加的关系。所
2020-09-09 19:55:23
195
原创 二叉堆详解
二叉堆详解我刚开始学数据结构的时候,二叉堆是我觉得最恶心的结构了。看着像树不是树,上浮下沉好头大。最后看了labuladong大佬的文章,终于好像有点明白了。写篇文章记录一下。堆这个数据结构在实际问题中很常用,最直接的就是堆排序和优先队列。虽然很多语音提供堆实现的库函数直接调用即可,但它作为一种基础数据结构还是应该掌握原理和实现。开始建一个堆堆的本质是一颗完全二叉树,满足要求所有节点都大于等于或小于等于它的两个子节点(大顶堆或小顶堆)。这一步不难理解,接下来,在实际情况中我们会把这个堆放在一个数组里
2020-09-07 20:08:03
1426
1
原创 快排解Top-K问题
快排解Top-K问题Top-k问题一直都是特别重要也是面试很常考的题型(听别人说的,其实我一次也没碰到)。我决定研究top-k问题,总结出来一套使用快速排序思路解决Top-k问题的套路,利用快速排序的思想可以将时间复杂度降低,最好状态时间复杂度O(n)空间O(logn)(参照算法导论,其实我根本没看过),相对来说是很快的啦。阅读本文可以解决一下几道题:215. 数组中的第K个最大元素347. 前K个高频元素973. 最接近原点的K个点快速排序快速排序是真的非常重要,写法也有好几种,但是因为太重要
2020-09-06 11:24:40
814
原创 丑数三连
丑数三连最近刷leetcode发现丑数问题十分有意思,涉及到一些数学技巧,正好一起来学习一下。学习完可以去Leetcode上拿下一下三道题。263.丑数264.丑数2313.超级丑数开始刷题先介绍一下丑数的定义:(摘自百度百科)说法一(ugly number):把只包含质因子2,3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但7、14不是,因为它们包含质因子7。 习惯上我们把1当做是第一个丑数。说法二(humble number):对于一给定的素数集合 S = {p1,
2020-09-04 22:18:08
356
原创 Ubuntu18.04安装英伟达显卡驱动
Ubuntu18.04安装英伟达显卡驱动安装之前首先就是要禁用Nouveau的驱动,禁用该驱动的方法参照这篇https://www.linuxidc.com/Linux/2019-02/157171.htm可以通过lsmod | grep nouveau检查是否已禁用这里我通过PPA仓库进行自动化安装,这是一种比较简单的方法。首先,将ppa:graphics-drivers/ppa存储库添...
2019-09-02 11:05:15
3415
2
原创 统计英文文本中指定词汇的词频
我们要统计一篇英文文本中指定词汇的词频,比如我们有一篇英文TXT文档A wet Sunday in a country inn ! Whoever has had the luck to experience one can alone judge of my situation. The rain pattered against the casements; the bells tolled...
2019-08-19 13:30:09
1159
原创 Pandas读取CSV文件的方法
Pandas读取CSV文件的方法Panda是Python中一个非常强大的数据处理包,用来读取CSV这种格式化数据时会非常方便。我们使用Pandas.read_csv()这个函数对CSV文件进行读取,这里附上Pandas的官方文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html函数...
2019-07-04 11:08:49
3466
原创 Ubuntu GCC编译的c程序出现段错误
Ubuntu GCC编译的c程序出现段错误很多小伙伴在Linux环境中进行C语言的开发,GCC编译器给我们带来了很多方便。但有时也会遇到一些比较头疼的问题。比如在c程序执行时终端提示段错误,这种问题往往在编译的过程中不会报错,而是在运行时才会出现,并且调试过程中很难发现问题,我总结了几种最近编程时遇到的段错误问题,希望可以和大家一起学习:1.内存溢出可能是分配了过大的静态全局数组等,导致内存...
2019-04-01 17:45:19
1218
原创 解析pcap文件并提取其中五元组
解析pcap文件并提取其中五元组最近在学习分析pcap文件中的数据包,其中数据包的五元组(源IP,目的IP,源端口,目的端口,协议类型,共13个字节)可以用来作为数据流的标识。我们可以将五元组提取出来,以便日后进行进一步的分析。首先,我们需要对pcap文件进行解析,然后将五元组数据提取出来并写入二进制文件。这里不再赘述,直接上代码:#include<stdio.h>#inclu...
2019-03-15 20:35:27
5896
3
原创 虚拟机上安装Pktgen-DPDK
虚拟机上安装Pktgen-DPDK作为一个刚刚接触DPDK的小白,想要使用Pktgen进行一些实验,无奈按照网上的教程装了好几天,搞得头都大了。终于可以用了,但是还有一些问题,先记录下来以后便于参考,也欢迎朋友们批评指正。正文安装环境操作系统:Ubuntu16.04DPDK版本:stable-17.05.2Pktgen版本:3.4.8开始工作(1)安装配置好DPDK,编译,绑定网卡...
2018-12-11 10:58:13
1070
1
翻译 下载并安装DPDK-快速上手指南
下载并安装DPDK-快速上手指南翻译自官网的文档原文链接:http://core.dpdk.org/doc/quick-start/DPDK的压缩包可以在官网https://www.dpdk.org/下载到。1.解压文件 tar xf dpdk.tar.gz cd dpdk2.启用pcap(需要有libpcap头文件)如果没有这个头文件可以到它的官网http://www.tc...
2018-10-21 15:24:43
2134
原创 Ubuntu下载并安装numactl-devel包
Ubuntu下载并安装numactl-devel包使用Ubuntu系统配置DPDK时,通常会遇到找不到numa.h这个文件情况,这个文件存在于numactl-devel这个包中,一般系统中没有这个包,需要我们自己下载。下载numactl-devel在列表中一定要选择对应自己系统的包,否则是无法通过编译的。我用的系统是Ubuntu16.05,我下载的是x86_64的包。下载完成后才发现下载的...
2018-10-19 20:11:34
11225
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人