OmniPeek tools install and setting

1.介绍 OmniPeek gives network engineers real-time visibility and network analysis into every part of the network from a single interface, including Ethernet, Gigabit, 10 Gigabit, 802.11a/b/g/n/ac wireless, VoIP, and video to remote offices. Using OmniPeek’s intuitive user interface and "top-down" approach to visualizing network conditions, network engineers—even junior staff—can quickly analyze, drill down and fix performance bottlenecks across multiple network segments, maximizing uptime and user satisfaction. 更多参考: http://www.wildpackets.com/products/omnipeek_network_analyzer 2.OmniPeek环境搭建 2.

post 请求下载文件

文章首发于个人网站 背景 最近遇到一个下载的需求,由于 url 参数太长(常用的下载方法 a 标签或者 location.href 的方法都是 get 请求,get 请求参数长度有限制),无法下载,考虑了好几种方案,最终还是觉得通过 ajax 的 POST 方法进行下载,比较容易实现,下面记录实现过程以及遇到的问题。 但是由于 AJAX 并不会唤起浏览器的下载窗口,AJAX设计的初衷就是用来实现异步刷新的,用以改善原始的 form 表单提交刷新页面的问题,那么如何来解决呢? POST 方法下载实现原理 通过 fetch 请求获取文件,然后利用 Blob 对象来接收处理,在接收到后端返回的文件后,把其转化一下,放入a标签的href中,并触发下载行为。 实现的代码如下: fetch(url, { method: 'POST', body: JSON.stringify(params), header: { 'Content-Type': 'application/json;charset=UTF-8' } }).then(function(response) { return response.blob(); }).then(function(blob) { const link = document.createElement('a') link.style.display = 'none' link.href = URL.createObjectURL(blob) document.body.appendChild(link) link.click() // 释放的 URL 对象以及移除 a 标签 URL.revokeObjectURL(link.href) document.body.removeChild(link) }); 这里需要注意的是要记得要调用 response 的 blob 方法,这样才会返回一个 blob,如果你没用过 blob 的话,可能你以前只知道 json 和 text,其实 response 的 body 还可以转化为 arrayBuffer 和 formData。

Ubuntu Driver Compile error : arch/x86/Makefile:148: CONFIG_X86_X32 enabled but no binutils support

@[TOC]Ubuntu Driver Compile error : arch/x86/Makefile:148: CONFIG_X86_X32 enabled but no binutils support 第一次编译Ubuntu 下的驱动,开始编译的时候就一直报错,出现的错误如图所示: 在百度和谷歌上搜索了各种解决方案,大概为一下几种: 缺少 Binutils 工具 ,目前的操作系统里没有安装这个工具或者没有更新到最新版本。一般这种的情况比较少见。解决方案为,输入以下指令: apt-get install binutils 2.缺少编译内核需要的包,安装需要的包(可能还去缺少其他的安装包) apt-get install linux-headers-generic apt-get install build-essential 3.切换到root 用户下重新执行该指令:编译的文件夹属于root 用户,在普通下编译会出现这个错误。 4.检查编译路径的文件或者文件夹名字中有没有空格,出现空格编译器也会报这个错误。

加载类路径下的XML文件

1.什么是类路径 如何判断在同一目录,看target 2.有时候发生程序出错的时候,清除一下target目录即为最新代码

通过 edu 邮箱登录 Office 365 获得 1 TB 的 OneDrive 空间的方法

要求:你是在读大学生或高校、科研院所的教职员。 1、在你就读或就业的高校或科研机构的官方网站上注册 edu 邮箱。 2、登录 https://www.office.com/,用该邮箱登录。 3、登录后即可启用 Office 教育版与 1 TB 的 OneDrive 空间。 4、通过 OneDrive APP 登录,可以创建同步专用文件夹,放入该文件夹的文件将被及时同步到云端。 注意: 1、如果发生工作调动或者从学校和科研院所毕业,你的 edu 邮箱可能会被收回。通过 edu 邮箱注册的功能也许会受到影响。 2、据说境内以下高校的学生的 edu 邮箱在毕业后长期保留: 复旦大学 中南大学 中国科学技术大学(毕业一年半后转为校友邮箱,地址不变但邮箱的存储空间变小) 上述名单大家可以一起补充,境外的高校有长期保留已毕业学生的 edu 邮箱的也可以说一说。 3、如果你在 OneDrive 或 Google Drive 等网盘上存储了盗版的影音资源,不排除网盘被停用的风险。(我也是听说的,未予验证) 4、你所在的学校或科研机构可能存在专门的 OneDrive 管理员,他们有权访问你的 OneDrive 教育版帐户并修改、删除文件。即使你在你的 OneDrive 教育版的设置中删除了“网站集管理员”下的全部管理员帐号,管理员依旧有权限对你的帐户及其存储资料增删改查。 5、网上购买的所谓 5 TB 的 OneDrive 帐号,由于其所属单位不被微软认定,因此存在非常大的帐号被封停 + 数据全部丢失的风险,万勿购买。

JavaScript主要作用是什么?

学习编程的同学对JavaScript并不陌生,JavaScript是前端技术中非常重要的内容。例如页面的效果切换、动画效果、页面游戏等等。其实我们功通过HTML和CSS技术已经可以搭建各种样式的页面,但是向你要实现页面真正的动态效果,还需要使用JavaScript技术。下面小编就为大家详细介绍一下JavaScript主要作用是什么。 百科定义JavaScript是一种直译式的脚本语言、是一种动态类型、弱类型、基于原型的语言,内置支持类型。虽然JavaScript使用了Java这个名称,但实际上JavaScript与Java之间并没有任何关系。 JavaScript主要作用是什么呢? 上文已经提到JavaScript可以实现页面的效果切换、动画效果、页面游戏等效果。然而JavaScript承担了更多的责任。尤其是当Ajax技术兴起之后,网站的用户体验又得到了更大的提升。例如,当人们在百度的搜索框中输入几个字以后,网页会智能感知用户接下来要搜索的内容,出现一个下拉菜单,这个效果的实现离不开JavaScript。另外,JavaScript的用途已经不仅局限于浏览器了,Node.js的出现使得开发人员能够在服务器端编写JavaScript代码,使得JavaScript的应用更加广泛。 总结下来,JavaScript日常用途可以归纳为下面几个主要方面: 1、嵌入动态文本与HTML页面 2、对浏览器时间做出相应 3、读写HTML元素 4、在数据被提交到服务器之前验证数据 5、检测访客的浏览器信息 6、控制cookies,包括创建和修改等。 7、基于node.js技术进行服务器端编程。 小编是一个有着5年工作经验的架构师,关于web前端,自己有做材料的整合,一个完整学习web前端的路线,学习材料和工具。需要的伙伴可以私信我,发送“前端”等3秒后就可以获取领取地址,免费送给大家。对于学习web前端有任何问题(学习方法,学习效率,如何就业)都可以问我。希望你也能凭自己的努力,成为下一个优秀的程序员! 目前已经有很多大型的互联网企业单独设立JavaScript技术开发岗位。尤其在大前端技术不断的发展的背景下,前端开发工程师从最开始简单的页面开发到现在前后端融合开发、跨平台开发等领域尽显峥嵘。作为一个非常有潜力的技术方向,未JavaScript必定会在未来互联网领域占据更重要的地位。学习前端技术仅仅靠自学是无法适应现在企业真实用人需求的。

PC-Linux上如何安装并兼容多kernel 版本

在PC-Linux-64bit环境搭建(Ubuntu / Windows双系统, 安装兼容多个的Kernel版本号) 1. 确认ubuntu bit version: 32 bit or 64 bit ,cmd:file /sbin/init 2.下载deb http://kernel.ubuntu.com/~kernel-ppa/mainline/ Download these three files if you are on a 64-bit Linux operating system.linux-headers-x.xx.x-xxx-generic_x.xx.x-xxx_amd64.deblinux-headers-x.xx.x-xxx_all.deblinux-ima ge-x.xx.x-xxx-generic_x.xx.x-xxx_amd64.deb 3 安装deb cmd: sudo -s dpkg -i *.deb 4 更新grub后重启 cmd: sudo -s update-grub 5 卸载多余的kernel版本 dpkg --list | grep linux-image sudo apt-get purge linux-image-xx sudo apt-get purge linux-header-xx sudo update-grub2

wifi 概率性自动断线(IpReachabilityMonitor)

描述:该文主要介绍基于Android 7.0 的IpReachabilityMonitor机制,有时候会遇到用户反馈wifi 会概率性自动断线,最后发现是系统有开启IpReachabilityMonitor 机制,可能是在干扰严重环境下或相对弱信号下让系统误判导致下断线。 如下只要针对IpReachabilityMonitor机制描述说明 IpReachabilityMonitor功能描述及作用 a. IpReachabilityMonitor的代码实现逻辑不关心为什么一个neighbour网络变为不可达。相反,他主要反映在内核层面中每一个neighbour网络的IP可达性概念或状态。我们知道这个IP可达性状态对于正常网络连接来说是关键重要的。因此IpReachabilityMonitor通常仅是“信使”:它警告neighbours网络已经被内核kernel视为不可达。 b.IpReachabilityMonitor 机制是在Android 7.0中新增,主要是要确认gateway or DNS server是否可以为unreachable,此机制会 定期(大约18s~22s timer到就会做一次)trigger 上层发送arp req,若发送三笔arp req未收到对应arp rsp IpReachabilityMonitor 会fail,trigger上层下断线 c. 下断线条件:arp req三笔都发出去后,第三笔隔一秒后还是没有收到arp rsp就trigger断线, driver log可以看到明确的1s发送 一个arp req, 但送到air时间未必会是一秒就tx 1笔(可以看sniffer log) d.Android是透过 Linux netlink socket机制去获得 kernel neighbor 信息,(NETLINK_ROUTE 的 neighbor , 利用 kernel ARP cache) :https://blog.csdn.net/qy532846454/article/details/6806197, 所以当ARP table 没有该信息时, 应该会用 broadcast 方式.在干扰较大的环境下, 可以调整参数来增加发 ARP 的次数:http://man7.org/linux/man-pages/man7/arp.7.html 如何规避因IpReachabilityMonitor导致系统下断线 1.在系统frameworks\base\core\res\res\values\config.xml中关闭“IpReachabilityMonitor”, 参考如下: 也可参考链接:https://github.com/ngoquang2708/android_device_samsung_vivalto3gvn/commit/773986dabc49a8cb550be657f9f78f61994109f8 2. 可以通过下指令调整参数来增加 ARP req发送次数, cmd如下(关于mcast_solicit和ucast_solicit) #echo 10 > /proc/sys/net/ipv4/neigh/wlan0/mcast_solicit #echo 10 > /proc/sys/net/ipv4/neigh/wlan0/ucast_solicit

ubuntu 18.04 图形配置中, 有线网卡 有线网络 消失 找不到

系统不知道为什么重启以后找不到有线网络了,服务器硬件网卡灯停止闪烁。 命令行用ifconfig eno0 up,启用网卡,没有问题,硬件ok 但是配置里面还是找不到。 之前修改了 /etc/network/interfaces,去掉配置。 由于图形界面使用的是 network-manager,所以需要修改重启 1. sudo service network-manager stop 2. sudo rm /var/lib/NetworkManager/NetworkManager.state 3. sudo vim /etc/NetworkManager/NetworkManager.conf (把false改成true) 4. sudo touch /etc/NetworkManager/conf.d/10-globally-managed-devices.conf (一定是10-globally-managed-devices.conf这个名字,不能乱改,我就吃亏了!!!) 5. sudo service network-manager restart 然后再看图形界面setting里面就有网卡了。如果没有重启一下机器。 本文参考了https://blog.csdn.net/qq_42357070/article/details/83385951

ubuntu 不能打开 terminal 窗口

把系统python3.6 卸载之后,安装了python 3.7 然后,好多功能都不能用了。 用vi 打开 /usr/bin/gnome-terminal,发现使用python3解释器,怀疑是版本问题。 alt+F2,打开命令行,用 python3.6 /usr/bin/gnome-terminal,运行能够打开窗口 sudo vim /usr/bin/gnome-terminal, 把解释器从python3 修改为python3.6,正常使用。

一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码

DIY官网一站式婚庆案例实战,可视化设计导出微擎、UNIAPP、H5、微信小程序源码。 这里将给大家展示演示出来的所有不同类型演示。 DIY官网一站式婚庆案例实战官网在线演示例子 一站式婚庆服务公司后台管理 导出代码UNIAPP VUE H5版 UNIAPP运行微信小程序 一键应用安装版 导出微擎应用安装版 把这一招学会了,你将设计出很多你想要的。 DIY官网可视化工具 做好的可视化拖拽开发工具 无须编程 零代码基础 所见即所得设计工具 轻松制作微信小程序、原型设计、WebApp、Bootstrap、单页动画 打造微擎可视化一键生成模块应用 致力为微擎开发者加速开发 拒绝重复代码,让创意取代造车轮 打造微信小程序制作平台 在线可视化制作小程序组件及在线可视化设计小程序数据源能力 您还在想如何制作小程序吗?在线拖拉布局助您开发并一键生成微信小程序代码 所有源码都在线设计完成后可以导出。

【Linux】pip is configured with locations that require TLS/SSL, however the ssl module in Python is no

1.问题描述 在linux中安装完 Python.7 后,使用 pip3(Python3.x自带)安装模块时,出现以下异常,导致安装失败: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. 2.问题原因 当前行系统没有 openssl 或者版本比较低,一般 python3.7 需要的openssl的版本为1.0.2或者1.1.x。需要对 openssl 进行升级,并重新编译 python3.7.0。 3.解决方法 下载openssl 地址:openssl-1.1.1a.tar.gz 创建安装目录 mkdir -p usr/local/openssl 解压 tar -zxvf openssl-1.1.1a.tar.gz 编译安装 cd openssl-1.1.1a ./config --prefix=/usr/local/openssl no-zlib #不需要zlib make make install 备份原配置 mv /usr/bin/openssl /usr/bin/openssl.bak mv /usr/include/openssl/ /usr/include/openssl.bak 新版配置 ln -s /usr/local/openssl/include/openssl /usr/include/openssl ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

Linux select 一网打尽

奇技指南 select, 你可以不用它,但你不能不了解它。 通过阅读本文,可以帮你理清select的来龙去脉, 让你从中了解到: 我们常说的select的1024限制指的是什么 ?怎么会有这样的限制? 都说select效率不高,是这样吗?为什么 ? select使用中有坑吗? 注:本文的所有内容均指针对 Linux Kernel, 当前使用的源码版本是 5.3.0 原型 int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); select是IO多种复用的一种实现,它将需要监控的fd分为读、写、异常三类,使用fd_set表示,当其返回时要么是超时,要么是有至少一种读、写或异常事件发生。 相关数据结构 FD_SET FD_SET是select最重要的数据结构了,其在内核中的定义如下: typedef __kernel_fd_set fd_set; #undef __FD_SETSIZE #define __FD_SETSIZE 1024 typedef struct { unsigned long fds_bits[__FD_SETSIZE / (8 * sizeof(long))]; } __kernel_fd_set; 我们来简化下,fd_set是一个struct, 其内部只有一个由16个元素组成的unsigned long数组,这个数组一共可以表示16 × 64 = 1024位, 每一位用来表示一个 fd, 这也就是 select针对读、写或异常每一类最多只能有 1024个fd 限制的由来。

vector二维数组的初始化

之前我一直以为vector不能用vec = {1,2,3}这种方式直接定义,直到我看到下面的代码 vector<vector<int> >num = { { 1, 1, 1, 0, 1, 1 }, { 1, 0, 1, 1, 1, 1 }, { 1, 1, 1, 0, 0, 1 }, { 1, 0, 1, 0, 0, 1 }, { 1, 1, 1, 1, 1, 1 } }; 这里竟然直接用了一个列表来初始化vector!我之前竟然傻乎乎的用数组初始化vector!见这个博客 经过测试,用vector<int> vec = {1,2,3};也是可以的。 以后应该直接用这种方法来测试程序。 如果不知道具体数值,而只知道数组大小,应该用 vector<vector<int> >nums(n,vector<int>(m,0));

C++ 用数组初始化vector的两种方式

int myints[] = { 10, 20, 30, 40, 50, 60, 70 }; //方法1 std::vector<int> myvector(7); std::copy(myints, myints + 7, myvector.begin()); //方法2 vector<int> vec(begin(myints), end(myints));

如何配置SQL Server ODBC数据源

文章目录 如何配置SQL Server ODBC数据源1打开 ODBC数据源管理程序(64位)2 添加3 创建到 SQL Server 的新数据源4 这个我直接默认5 完成6 你成功啦啦!! 如何配置SQL Server ODBC数据源 1打开 ODBC数据源管理程序(64位) 2 添加 我特码选一个SQL Server哦! 3 创建到 SQL Server 的新数据源 4 这个我直接默认 5 完成 选择测试数据源 6 你成功啦啦!!

vs2015配置动态链接库(一次配置,永久有效)和vc6.0配置静态链接库——可使用同样的方法配置opencv等库

静态链接库一般有include文件(含.h文件)和lib文件(含.lib)文件。在使用的过程中需要将这两个配置到工程中去。 一、vs2015配置静态链接库: (一次配置,终身有效) 1、建立工程文件; 2、进入:视图->其他窗口->属性管理器,找到对应的环境右键进行配置 3、进入vc++目录,在包含目录中添加.h文件的目录,再在库目录中添加lib文件的目录。 4、进入连接器->输入->附加依赖项配置依赖项 二、vc6.0配置静态链接库: 1、建立工程文件; 2、进入:工具->选项->目录->include files,添加.h文件的路径进去。 3、进入:工具->选项->目录->library files,添加.lib文件的路径进去。 4、进入:工程->设置->连接,在对象/模板块中加入本工程需要用到的lib文件(如果不知道,可以使用vs2015编译之后查看debug文件)

mp3音频格式在线转换器 在线转换MP3格式

有时候我们遇到喜欢的音乐或者是想要这段音乐来编辑视频,我们就会把音乐下载下来,但是并不是所有的音频文件下载下来就是MP3格式的,很多格式可能导致你无法上传自己的文件,无法编辑,这个时候我们需要将音频文件的格式转换为MP3格式进行上传、编辑。网络上有很多音频提取或者音频转换的软件,但是这样你就需要下载软件了,这样就会比较麻烦,其实MP3转换还可以在在线进行转换。不用下载软件即可将你的音频转换为MP3格式,跟着小编一起来看看吧! 1、首先我们准备好自己需要转换为MP3格式的文件,放在桌面或者容易找到的文件夹当中。 2、准备好文件之后,我们就可以直接在百度或者其他搜索引擎中直接搜索迅捷视频转换器,点击链接直接进入官网即可。 3、进入官网之后,你可以看到官网中的导航栏,点击导航栏中的在线转换字样,然后在格式转换中选择自己准备转换的格式即可。 4、点击格式转换之后,就可以进入添加文件的环节,在也免得左侧是格式选择,你可以随时更改。现在我们可以点击选择文件按钮,将你准备好的文件添加在线转换中。 5、文件添加完成之后你可以选择继续添加或者直接点击转换文件。点击转换文件之后,稍等一下,文件转换完成之后你可以选择二维码获取或者选择立即下载都是可以的。 在线转换是非常方便的一种格式转MP3的方法,但是也有局限的地方,,比如转换格式少,文件大小有限制,如果方便得话,可以考虑下载迅捷视频转换器,这样就会方便很多,能够转换的格式也变多了。

las和pcd文件相互转换

1、las2pcd //#include<iostream> //las2pcd #include <iostream> #include <iterator> #include <cstdlib> #include <liblas/liblas.hpp>//liblas tou wen jin #include <pcl/io/io.h> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> #include <liblas/reader.hpp> #include <liblas/factory.hpp>///usr/local/include/liblas/factory.hpp #include <liblas/detail/fwd.hpp> #include <liblas/point.hpp> #include <string.h> #include <stdio.h> using namespace std; string split(const string &str, const string &pattern);//分割字符串的函数声明 int main (int argc, char** argv) { std::ifstream ifs(argv[1], std::ios::in | std::ios::binary); // ��las�ļ� liblas::ReaderFactory f; liblas::Reader reader = f.CreateWithStream(ifs); // ��ȡlas�ļ� unsigned long int nbPoints=reader.GetHeader().GetPointRecordsCount();//��ȡlas���ݵ�ĸ��� pcl::PointCloud<pcl::PointXYZRGB> cloud; cloud.