- 博客(39)
- 资源 (1)
- 收藏
- 关注
原创 个人声明 —— 转战知乎
各位,目前我已经不在CSDN写文章了,文章全部转移到知乎上了,所以大家有什么需要可以到知乎来找我。个人主页:https://www.zhihu.com/people/xu-ji-wei-84/posts知乎专栏:https://zhuanlan.zhihu.com/c_200780261WeChat: xujiwei816598...
2018-09-17 12:24:06 571
原创 个人动向
好久没来OSChina了,现在我已经不在这上面写文章了,目前转战知乎,今后的文章都会发表到知乎上。 个人主页:https://www.zhihu.com/people/xu-ji-wei-84/activities ...
2018-09-16 16:46:00 170
原创 将博客搬至CSDN —— 说说红黑树
两年前在oschina写的,现在搬到CSDN来,原博客地址:https://my.oschina.net/u/2309100/blog/832916红黑树的性质: 红黑树的每个节点(node)都有一个flag位,不是红色(Red)就是黑色(Black)。通过对任意一条从跟节点到叶子节点的简单路径的颜色加以约束,可以保证没有一条路径会比其它路径长出2倍,这样便使得红黑树可以达到近似平衡...
2018-06-29 16:53:45 401 1
原创 将博客搬至CSDN —— 动态规划 ———— 钢条切割到底在切啥?
差不多两年前在oschina写的博客,现在搬到CSDN,原地址:https://my.oschina.net/u/2309100/blog/846712 暂先不看问题本身,先来了解一下什么叫动态规划。从英文的dynamic programming来看似乎并没有“规划”的意思在里边。但是,这里的programming并非指的是编程,而是指的一种表格法,这种表格法旨在一步步详细分解问题,使之细化并最终...
2018-06-27 19:13:01 386
原创 Linux下的防火墙
大家对于windows下的防火墙肯定不陌生,但是linux下的防火墙大家恐怕一时会想不起来。linux下的防火墙不叫firewall而是换成了iptables。iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。语法:iptables(选项)(参数) 选项:-t<表>:指定要操纵的表;-A:向规则链中添...
2018-05-17 19:01:41 207
原创 ubuntu环境下编译安装和测试FreeRDP
简介: RDP(Remote Desktop Protocol)是远程桌面连接协议,FreeRDP是RDP的一种实现而且重要的是它开源。RDP协议很复杂,包括BCGR、EUSB、EFS和ESC等等协议,而且连接有GateWay的网络还会涉及到RPC等协议。如果想要全部弄懂比较费时间和精力,如果真的感兴趣倒是可以一试。这里只是讲解一下,在ubuntu环境中如何编译FreeRDP的源代码,事实上...
2018-05-11 11:44:26 7317 4
原创 Linux内核API —— __wake_up
函数原型: void __wake_up(struct wait_queue_head* q, unsigned int mode, int nr, void* key);功能: 此函数用于唤醒等待队列中的处于特定状态中的进程。当该进程的状态为mode时,则有可能被唤醒获得cpu资源,从而被调度执行。进程状态定义: 在linux/sched.h中有进程相关的状态定义。/* * ...
2018-04-20 19:10:11 2019
原创 git同步一个fork项目
场景: 我们git fork一个项目后,如果原项目本身有更新,那么我们需要同步更新自己fork的代码。方法: 1. 给fork配置一个remote git remote -v查看当前fork项目的remote信息,我这里以FreeRDP为例 upstream https://github.com/FreeRDP/FreeRDP.git (fetch) up...
2018-04-17 11:07:44 601
原创 linux下如何写一个秒字符设备
做linux内核驱动,最重要的一种设备驱动就是字符设备驱动,也是最基本的最需要彻底掌握的。字符设备几个重要的结构体和接口函数:字符设备结构体struct cdev初始化字符设备cdev_init(struct cdev*,struct file_operations*);注册或者说添加一个字符设备到内核cdev_add(struct cdev*,int,int);删除某个字符设备cd...
2018-04-11 12:14:34 343
原创 git push origin master时出错:fatal: 'origin' does not appear to be a git repository
背景: 最近将ubuntu更新到ubuntu16.04,然后git了几个项目,发现提交修改时总是报错,fatal: 'origin' does not appear to be a git repository。我以前用ubuntu14.04时从来没遇到过这样的错误,一时不知如何解决。 网上搜索了一下,有使用以下方法的: 输入:git remote add origin git@...
2018-04-08 13:47:51 16624 2
原创 QWidget设置图片为背景
最近学习Qt略有心得,记之以备不虞。我们常常有这种需求,就是需要给某个指定的QWidget对象添加图片背景。比方中国象棋,整个棋盘周边是状态区,而中间的棋盘可以是一个图片,所以如何给这个QWidget对象添加背景图片呢?如下解决方法://demo.h#includeclass MainWindow : public QMainWindow{ Q_OBJECTprivate: ...
2018-03-30 16:42:47 4379
原创 linux下如何自己编写一套动态链接库(shared object)
场景: 很多时候我们写代码的时候会经常用到某些代码段,比方说求两个或几个整数的和或者将一个整形数组转化为二叉树等等。经常使用这些代码,但是每一次又得重新再写一遍,次数多了等于就是重复无用劳动了。所以,可以自己动手写一个自己的动态链接库,保存起来。下次用到只需要加上库就ok了,这样既方便了自己又对动态链接库本身的工作原理理解更深了。linux下动态链接库: 简介 windows的链...
2018-03-22 15:06:55 891 1
原创 wpa_supplicant使用usb key进行802.1X网络认证
背景:最近一个case需要对客户端入网进行802.1X网络认证以确保网络安全。问题的关键还不是认证的问题,毕竟客户那边已经能够 支持非智能卡方式进行802.1X认证了,现在提的问题是如何用智能卡来进行802.1X网络的认证。换句话说就是,wpa_supplicant能否支持智能卡方式进行802.1X的认证。在此之前我并不清楚目前wpa_supplicant是否已经具备这个功能了,甚至于,我对这一块...
2018-03-15 18:22:38 1686
原创 如何解决apt-get update出现The following signatures were invalid: NODATA 1 NODATA 2问题
最近新安装了ubuntu12.04的虚机,但是在更新apt-get时老是报The following signatures were invalid: NODATA 1 NODATA 2的问题,然后网上搜索了解决方法,发现都不管用。比方如下方法:sudo apt-get cleancd /var/lib/aptsudo mv lists lists.oldsudo mkdir -p list...
2018-03-12 13:18:16 4609
转载 opensc工具的基本用法
################################################################################以下内容整理自:http://www.gooze.eu/howto/smartcard-quickstarter-guide/smart-card-initialization1.Install a smart card reader an...
2018-03-09 16:53:46 4005
原创 数据结构——链表
工作之后很少再从头开始实现基础数据结构,最近试着写一写,发现还是有很多知识只能在写的过程中才能去体会,而不是想当然的认为造个轮子就是依葫芦画瓢了。一些细节上的处理,不管是数据结构本身的知识点,还是语言语法本身的知识点同样也只能在写的过程中才能更好的理解和把握。废话不多说,C++实现一个list模板。数据结构最重要的四个特征:增、删、查、改。这里没有实现改的api,主要是因为对于list而言,“改”...
2018-02-27 08:53:21 201
原创 RDPBCGR协议详解——上
一、引言这篇文章主要参考英文版RDPBCGR协议,可以认为是一篇翻译文章,但我这里并不会简单地翻译那篇文章,最主要的是提取里面重要的部分,加以整理,分析和讲解。并在必要的地方添加FreeRDP的代码,结合代码和文档一起分析。需要声明的是,代码均取自开源FreeRDP,不会使用公司内部代码及任何商业机密。二、基本名词及简写约定Remote Desktop Protocol(RDP)
2018-02-05 15:31:15 1156
原创 python写服务器几点注意的地方
import osimport timeimport sysimport socketclass server(): """ server """ def __init__(self,port): self.port = port self.length = 1024 self.host = '' self.max_client_num = 5 self.c
2018-01-30 12:10:58 364
原创 使用timeit模块测量numpy的运算性能
研究背景:numpy是一款优秀的数值计算库,其运算效率堪比c。据我所知,它有这么高有效率很大一部分原因是其底层是由c来写的,而且有很多运算是直接通过位运算得来,还采用了某些很好的算法,具体的话我目前还没有认真研究过。对于numpy到底有多高的效率,我们通过python自带的timeit模块来测试一下。timeit模块简介:一般我们想要测定一段代码执行的时间往往会像下面这样来
2018-01-16 19:24:35 1675
原创 windows禁掉前向加密
1. 用管理员启动gpedit2. 进入SSL Ciphter Suite Order Iterm选项 Administrative Templates --> Network --> SSL Configuration Settings3. 启用并双击“SSL Cipher suits“选中并剪切到一个空白记事本中4. 编辑刚才的记事本,平铺所有选项,将
2018-01-09 11:06:35 343
原创 bitlocker加密的主机如何进入安全模式
问题背景:win10加密的主机进入安全模式需要bitlocker密码解决方案:一、备份bitlocker密码1. 打开控制面板,进入Bitlocker Drive Encryption2. 选择Back up your recovery key,打印bitlocker密码。二、win10进入安全模式win10进入安全模式和win7有点区别。桌面点
2018-01-05 10:56:26 11264
原创 学习笔记整理
一、ubuntu为没有root用户密码创建并设置密码。sudo passwd root二、挂载cifs网络文件系统mount -t cifs -o rw,username=user,passward=user //[IP]/dir /dist_dir三、ubuntu环境下安装配置和使用samba1.安装sudo apt-get install sambas
2017-12-27 15:05:52 278
原创 Microsoft Message Analyzer的安装使用和数据分析
一、Microsoft Message Analyzer的安装MMA(Microsoft Message Analyzer)是微软推出的一款用于捕获、显示和分析网络协议数据的软件。其主要应用在应用层软件进行网络通信时的网络数据的拥塞、事件发生的分析及诊断。具体的介绍可以访问微软官网。1. MMA下载链接。2. MMA安装。
2017-12-26 17:13:08 9862
原创 cloc工具统计项目代码量
通常开始接手一个项目时,往往不清楚项目到底有多大,代码量具体有多少行。linux下提供了一个很好的工具cloc来计算项目的代码量。一、首先需要安装cloc,这里以ubuntu为例。sudo apt-get install cloc二、查看cloc的使用方法,使用cloc --helpdefined(%hash) is deprecated at /usr/bin/cloc line
2017-12-21 17:28:23 2953
原创 netlink——linux内核空间和用户空间的通信方法
一、netlink简介Netlink是linux继承于unix的一种基于socket的内核态与用户态进程间通信(PCI)机制。linux的进程间通信有多种机制,比方管道(Pipe)、共享内存(shmget)等。Netlink的方式有很多优点,最为重要的是其可以支持内核态和用户态进程间的通信。1. Netlink与sysfs和ioctl的区别linux中支持用户态和内核态的进程通信方式还
2017-12-18 13:54:58 858
原创 动态规划 ———— 钢条切割到底在切啥?
暂先不看问题本身,先来了解一下什么叫动态规划。从英文的dynamic programming来看似乎并没有“规划”的意思在里边。但是,这里的programming并非指的是编程,而是指的一种表格法,这种表格法旨在一步步详细分解问题,使之细化并最终获得问题的解。所以我们称之为“规划”。 ...
2017-02-26 22:19:00 90
原创 说说红黑树
红黑树的性质: 红黑树的每个节点(node)都有一个flag位,不是红色(Red)就是黑色(Black)。通过对任意一条从跟节点到叶子节点的简单路径的颜色加以约束,可以保证没有 ...
2017-02-06 21:00:00 90
原创 python 调用 so 库 需要注意的地方
使用C++而不是C来编写so库时往往会遇到一些问题,这里着重探讨一下linux环境下C++编写so库 及python调用so库需要注意的地方。 ...
2017-01-04 20:40:00 81
原创 回调函数、仿函数和lambda表达式的优劣比较
#include <iostream>int add(int a,int b){ return a+b;}struct Obj{ int operator()(int a,int b) { return a+b; }};class OperatingNumbers{private: int num1; int...
2016-12-10 11:36:00 113
原创 C++多态是如何实现的——一个简单明晰的例子告诉你!
先弄清楚几个概念: 1.C++多态依靠虚函数来实现; 2.凡是类中有带关键字virtual的函数均属于虚函数,如下: ...
2016-11-17 22:24:00 66
原创 数据结构与算法——搜索二叉树
基础的数据结构一般都会包含插入、删除、查找和修改等几个基本的操作。对于搜索二叉树而言,数据的插入和删除操作都是在叶子结点进行。搜索二叉树主要方便于数据的查找,其查找算法复杂度为O(h),h表示其树高,而二叉树的高度h在lgN和N之间,因此,查找算法强烈依赖于树形的好坏,而树形的好坏与数据的增长有关。对于好的数据输入,二叉树可以是...
2016-11-05 21:00:00 86
原创 将源代码文件转换为文本文件的一种方法
基本的思想是,先检查当前目录下有多少种类型的源文件,比如.cpp,.c,.cc,.java等都属于不同类型的源文件,然后采用_finddata_t结构体表征不同类型的文件,通过_findfirst和_findnext函数一一进行匹配,直到全部找到为止。 ...
2016-10-03 09:47:00 727
原创 几种算法的比较
#include<iostream>#include<ctime>#include<cstdlib>#include<sys/time.h>#define SIZE 1024*100enum SortType{BUBBLESORT,...
2016-09-03 00:19:00 75
原创 关于C++野指针的问题
在做C++开发时,总避免不了与指针打交道,代码一多,野指针就成了一个问题!就此,我专门研究了一下野指针,总结其规律,仅供大家参考一下。 我们知道,代码所获得的内存地址是系统所提供的虚拟...
2016-02-04 17:22:00 86
T122协议英文文档
2017-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人