02 2020 档案

摘要:本代码主要实现的是利用网络传输图片,用在我的树莓派项目之上。该项目在PC上运行服务端,树莓派上运行客户端,两者连接到同一局域网中,修改代码中的IP地址,就可以实现将树莓派采集到的图像数据实时传输到PC端。先运行服务端代码,然后运行客户端代码即可。树莓派摄像头使用的是普通的USB摄像头,并且在树莓派上 阅读全文
posted @ 2020-02-29 23:58 enumx
摘要:打开终端,转到主目录并键入 阅读全文
posted @ 2020-02-29 17:42 enumx
摘要:os模块 os.stat()返回值解释 random模块 阅读全文
posted @ 2020-02-29 16:56 enumx
摘要:cv2.KeyPoint是opencv中关键点检测函数detectAndCompute()返回的关键点的类,他包含关键点的位置,方向等属性具体如下: #point2f pt;//位置坐标# float size; // 特征点邻域直径#float angle; // 特征点的方向,值为[零, 三百六 阅读全文
posted @ 2020-02-29 11:36 enumx
摘要:import time,io from PIL import ImageGrab, Image import win32clipboard,win32con from pynput import keyboard, mouse folderpath="D:/小姐姐截图/" def on_releas 阅读全文
posted @ 2020-02-26 00:48 enumx
摘要:import timefrom PIL import ImageGrabimport numpy as npimport cv2 beg = time.time()debug = False# img = ImageGrab.grab(bbox=(250, 161, 1141, 610))img = 阅读全文
posted @ 2020-02-26 00:47 enumx
摘要:虚拟键码保存在WM_KEYDOWN、WM_KEYUP、WM_SYSKEYDOWN和WM_SYSKEYUP消息的wParam参数中。此代码标识按下或释放的键。 哈,又是「虚拟」,您喜欢这个词吗?虚拟指的是假定存在于思想中而不是现实世界中的一些事物,也只有熟练使用DOS汇编语言编写应用程序的程序写作者才 阅读全文
posted @ 2020-02-25 21:17 enumx
摘要:pycharm 修改新建文件时的头部模板 默认为__author__='...' [省略号是默认你的计算机名] 修改这个作者名的步骤: 依次点击:File Settings Editor File and Code Templete 点击右侧Templates选项卡,会有一些格式文件新建时的模板 在 阅读全文
posted @ 2020-02-25 17:33 enumx
摘要:```import win32guiimport win32conimport win32api# 从顶层窗口向下搜索主窗口,无法搜索子窗口# FindWindow(lpClassName=None, lpWindowName=None) 窗口类名 窗口标题名handle = win32gui.FindWindow("Notepad", None) # 获取窗口位置left, top, righ... 阅读全文
posted @ 2020-02-25 16:14 enumx
摘要:Pywin32是一个Python库,为python提供访问Windows API的扩展,提供了齐全的windows常量、接口、线程以及COM机制等等。 1.通过类名和标题查找窗口句柄,并获得窗口位置和大小 2.通过父句柄获取子句柄 3.鼠标定位与点击 4.发送回车键 5.关闭窗口 阅读全文
posted @ 2020-02-25 16:06 enumx
摘要:pyqt5设置窗体透明控件不透明 做笔记 阅读全文
posted @ 2020-02-25 15:47 enumx
摘要:``` this->setWindowFlags (Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint); // 去掉标题栏,去掉任务栏显示,窗口置顶 ``` ``` window.setWindowFlags (Qt.Qt.FramelessWindowHint|Qt.Qt.WindowStaysOnTopHint|Qt.Q 阅读全文
posted @ 2020-02-25 15:38 enumx
摘要:``` from PyQt5 import QtCore def on_inTopCheckBox_clicked(self, checked): if not checked: dialog.setWindowFlags(QtCore.Qt.Widget) #取消置顶 else: dialog.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) #置顶 阅读全文
posted @ 2020-02-25 15:36 enumx
摘要:第一步: pip install pyautogui 安装pyautogui库。 第二步: 基本使用 screenWidth, screenHeight=pyautogui.size() 屏幕尺寸mouseX, mouseY=pyautogui.position() 返回当前鼠标位置,注意坐标系统中 阅读全文
posted @ 2020-02-25 14:22 enumx
摘要:需要安装 pywin32 安装pyHook 注意选择的pyHook版本一定要和python对应,否则就会报错 执行命令:pip install G:\liming\python\pyHook 1.5.1 cp37 cp37m win_amd64.whl 进行安装 安装pyUserInput:pip 阅读全文
posted @ 2020-02-25 12:56 enumx
摘要:```# coding: cp936import win32guiimport win32conimport timeclass TestTaskbarIcon: def __init__(self): # 注册一个窗口类 wc = win32gui.WNDCLASS() hinst = wc.hInstance = win32gui.GetModu... 阅读全文
posted @ 2020-02-25 12:29 enumx
摘要:``` # coding: utf-8 # pip install pillow, 用Image模块操作图片文件 from PIL import Image # BytesIO是操作二进制数据的模块 from io import BytesIO # pip install pywin32, win32clipboard是操作剪贴板的模块 import win32clipboard # 图片路径,如 阅读全文
posted @ 2020-02-25 05:13 enumx
摘要:PIL.Image转换成OpenCV格式 OpenCV转换成PIL.Image格式 判断图像数据是否是OpenCV格式 isinstance(img, np.ndarray) 阅读全文
posted @ 2020-02-25 03:45 enumx
摘要:近期需要在ubuntu18.04系统上安装opencv但是在安装依赖包的过程中,有一个依赖包,libjasper dev在使用命令 sudo apt get install libjaster dev 提示:errorE: unable to locate libjasper dev 后来googl 阅读全文
posted @ 2020-02-24 16:28 enumx
摘要:(1)先来处理ubuntu服务器, 安装openssh server和xbase clients: (2) 安装软件 下载并安装Xming客户端: http://pan.baidu.com/s/1eSoQXJs ,安装并启动, 无需配置。 下载并安装putty: http://pan.baidu.c 阅读全文
posted @ 2020-02-24 13:20 enumx
摘要:一、inotify简介 inotify 是一种强大的、细粒度的、异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性、读写属性、权限属性、创建删除、移动等操作,也可以监控文件发生的一切变化。 inotify tools 是一个C库和一组命令行的工作提供Linux下inoti 阅读全文
posted @ 2020-02-24 12:59 enumx
摘要:centos7支持xming 1. 关于 Xming Xming 是一个在 Microsoft Windows 计算机上运行的开源 X Windows 终端機仿真器(X 服务器)。Xming 容让 Windows 机器显示在远程 Linux 服务器上执行的图像化 Linux 程序。除了基本安装程序外 阅读全文
posted @ 2020-02-24 12:52 enumx
摘要:如何ssh免秘钥登录在这里就不提了,网上很多,这里说明下,设置免秘钥登录后,仍然不能免秘钥登录的问题。 因为sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。 用户目录权限为 755 或者 700,就是不能是77x、777,需要保障other用户不能有w权限 阅读全文
posted @ 2020-02-24 11:11 enumx
摘要:linux服务器安装xinetd后,在/etc/xinetd.d/目录下创建xhttpd文件,并输入内容: 然后在/etc/services文件的最后添加自己使用的端口和进程的名字: 重启服务: xhttpd程序的代码: 由于xinetd会帮助我们与浏览器建立好连接,并且将stdin重定向到浏览器的 阅读全文
posted @ 2020-02-23 20:32 enumx
摘要:``` python -m http.server 80 ``` 阅读全文
posted @ 2020-02-23 16:40 enumx
摘要:Linux下用 FFMPEG 采集 usb摄像头视频 和 摄像头内置麦克风音频 到RTMP服务 首先说一下推流,主要使用ffmpeg命令进行本地摄像头的推流,为了实现首屏秒开使用 g设置gop大小,同时使用 b降低网络负载,保证流畅度。 其次是収流,収流最开始的时候,有很大的延迟,大约5秒,后来通过 阅读全文
posted @ 2020-02-22 19:14 enumx
摘要:配置nginx.conf Nginx服务器安装好后,服务器修改配置文件nginx.conf(默认端口号8080),以支持RTMP和HLS协议,老板们可参考安装好的 rtmp nginx module目录下的README.md来配置,本机的路径:/usr/local/nginx/rtmp nginx 阅读全文
posted @ 2020-02-22 19:10 enumx
摘要:1.引入安装的依赖库 yum install build essential libpcre3 libpcre3 dev libssl dev 2. 开始编译 下载源码:(nginx rtmp module项目地址:https://github.com/arut/nginx rtmp module/ 阅读全文
posted @ 2020-02-22 18:02 enumx
摘要:1.xrandr 查看可以修改的分辨率 其中,带 号的为当前的分辨率,带+号的为当前屏幕最佳分辨率 2 设置屏幕分辨率 通过 xrandr s +分辨率_刷新频率,设置相应的分辨率 例如: xrandr s 1920x1080_60.0 阅读全文
posted @ 2020-02-22 14:37 enumx
摘要:mplayer zoom x 1280 y 800 noborder wid WINID tv driver=v4l2:device=/dev/video0 tv:// 阅读全文
posted @ 2020-02-22 14:33 enumx
摘要:在mplayer中查看摄像头,可使用如下命令: mplayer tv:// tv driver=v4l2:device=/dev/video0:input=0:outfmt=bgr24:width=640:height=480:fps=25 vo x11 当然,前提是你已经安装了摄像头驱动。 在mp 阅读全文
posted @ 2020-02-22 14:00 enumx
摘要:大致流程为:通过ffmpeg将usb摄像头数据推送到ffserver服务器,终端设备通过rtsp地址访问,达到远程访问的效果 2.2 安装方法 很简单,只需要一句指令即可 2.3 修改配置文件 在终端中打开配置文件 然后修改为以下内容 2.4 启动ffserver服务 直接在终端运行 ffserve 阅读全文
posted @ 2020-02-22 13:12 enumx
摘要:```#https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_drawing_functions/py_drawing_functions.html#drawing-functions###############################################Import Mo... 阅读全文
posted @ 2020-02-22 03:07 enumx
摘要:1. cv2.VideoCapture(0) 构建视频抓捕器 参数说明:0表示需要启动的摄像头,这里也可以写视频的路径 2. cv2.nameWindow(name, cv2.WINDOW_NORMAL) 构建视频的窗口 参数说明: 表示窗口的名字, cv2.WINDOW_NORMAL表示窗口的大小 阅读全文
posted @ 2020-02-22 02:51 enumx
摘要:用法: cv2.namedWindow(‘窗口标题’,默认参数) 窗口大小可以改变: 窗口大小不可以改变: 窗口大小自适应比例: 窗口大小保持比例: 显示色彩变成暗色: cv2.imshow(‘窗口标题’,image),如果前面没有cv2.namedWindow,就自动先执行一个cv2.namedW 阅读全文
posted @ 2020-02-22 02:01 enumx
摘要:```##pip install pywin32import win32api,win32con ##提醒OK消息框win32api.MessageBox(0, "这是一个测试提醒OK消息框", "提醒",win32con.MB_OK) ##是否信息框win32api.MessageBox(0, "这是一个测试是否信息框", "提醒",win32con.MB_YESNO) ##说明信息框... 阅读全文
posted @ 2020-02-21 23:52 enumx
摘要:```apt install python-pip //安装pip pip --version //查看pip的版本信息 pip install opencv-python //安装opencv-python``````# -- coding:utf-8 -- import cv2cap = cv... 阅读全文
posted @ 2020-02-21 21:01 enumx
摘要:移动端下载一个工具:IP摄像头(app) Android的下载地址:http://app.mi.com/details?id=com.shenyaocn.android.WebCam 下载安装后,打开app后,点击下方的“打开IP摄像头服务器”(连上wifi,确保电脑与手机处在同一局域网内)。 然后 阅读全文
posted @ 2020-02-21 19:11 enumx
摘要:```# -*- coding: utf-8 -*-"""Created on Thu Jun 22 16:44:27 2017@author: sakurai""" import numpy as npimport cv2import screeninfo if __name__ == '__main__': screen_id = 2 is_color = False #... 阅读全文
posted @ 2020-02-21 18:06 enumx
摘要:python的版本及依赖的库的安装 对后台窗口截图 截图整个桌面 阅读全文
posted @ 2020-02-21 17:26 enumx
摘要:我不知道大家是不是和我一样是用pip install tensorflow安装的tensorflow库,但是使用的时候,却会显示: Your CPU supports instructions that this TensorFlow binary was not compiled to use: 阅读全文
posted @ 2020-02-21 12:01 enumx
摘要:文章目录: 一、警告原因分析 二、解决方法 最近在使用tensorflow gpu的时候总是报警告,就我这强迫症能够忍他吗,no!绝对不能忍!!! 我的环境: cudnn=7.0 cuda=9.0 tensorflow gpu=1.8 或 1.9 或 1.10.0 或 1.11.0 在上面的这个环境 阅读全文
posted @ 2020-02-21 04:11 enumx
摘要:镜像设置 方法1:TUNA 提供了 Anaconda 仓库的部分镜像,运行以下命令即可: 方法2:修改用户目录下的’.condarc’文件添加镜像: vim ~/.condar 修改'.condarc' 文件 \ 修改内容如下,可直接使用ctrl + insert 快捷键复制 注意:其他仓库可查看A 阅读全文
posted @ 2020-02-21 01:21 enumx
摘要:```from ctypes import *import osimport win32con,win32clipboard aString=windll.user32.LoadImageW(0,"new.bmp",win32con.IMAGE_BITMAP,0,0,win32con.LR_LOADFROMFILE)print(aString)if aString !=0: ## 由于图片编码... 阅读全文
posted @ 2020-02-20 20:01 enumx
摘要:需要安装pywin32,pillow 依赖包 阅读全文
posted @ 2020-02-20 19:50 enumx
摘要:python的版本及依赖的库的安装 对后台窗口截图 对桌面截图 截图整个桌面 阅读全文
posted @ 2020-02-20 19:42 enumx
摘要:1. 问题描述: pip 安装 tensorflow 时,出现异常提示,具体如下: 出现如下错误提示(setuptools 版本太旧 , wrapt 不能卸载): 2. 解决方法: 1. 第一种,强制安装,命令如下(推荐): 2. 第二种,按照错误提示,一步步安装(不推荐,麻烦): 3. 总结 当安 阅读全文
posted @ 2020-02-20 17:52 enumx
摘要:人工智能中有一个很重要的领域是计算机视觉。 计算机视觉可以通过计算机和软件系统实现图像和场景识别。计算机视觉包括图像识别、物体检测、图像生成、图像分辨率辨析等领域,现在大多数案例都是跟对象检测有关,所以提起计算机视觉总会想到这一方面。 本文会简单介绍现代对象检测的概念,软件开发人员面临的挑战,解决方 阅读全文
posted @ 2020-02-20 17:49 enumx
摘要:1、获得应用窗口句柄 hwnd=win32gui.FindWindow(0,“窗口名字”) 2、通过应用窗口句柄获得窗口DC hwndDC=win32gui.GetWindowDC(hwnd) 3、通过hwndDC获得mfcDC(注意主窗口用的是win32gui库,操作位图截图是用win32ui库) 阅读全文
posted @ 2020-02-20 16:57 enumx
摘要:抄了一个截图代码,已经不可考来源了,总之大家都这么截图的,但是很少有把回收资源说清楚。 阅读全文
posted @ 2020-02-20 16:49 enumx
摘要:1、下载安装包 根据https://github.com/tesseract ocr/tesseract/wiki,我找到非官方的安装包,好像我只看到64位的安装包http://digi.bib.uni mannheim.de/tesseract/tesseract ocr setup 4.00.0 阅读全文
posted @ 2020-02-20 16:26 enumx
摘要:因为学校要求要刷一门叫《包装世界》的网课,而课程里有200多道选择题,而且只能在手机完成,网页版无法做题,而看视频是不可能看视频的,这辈子都不可能看...所以写了几行代码来进行百度搜答案。 思路如下: 手机屏幕投影到电脑上; 截图并识别图片文字; 调用百度来进行搜索; 提取html关键字。 环境配置 阅读全文
posted @ 2020-02-20 16:21 enumx
摘要:```import win32gui, win32ui, win32con, win32apidef PrintScreen(): hwnd = 0 # 窗口的编号,0号表示当前活跃窗口 # 根据窗口句柄获取窗口的设备上下文DC(Divice Context) hwndDC = win32gui.GetWindowDC(hwnd) # 根据窗口的DC获取mfcDC ... 阅读全文
posted @ 2020-02-20 15:26 enumx
摘要:"/ ======================================== \ " 常用指令收集 "\ ======================================== / " 系统时间 " :map a=strftime("%c") " :s/__date__/\=st 阅读全文
posted @ 2020-02-20 14:47 enumx
摘要:Python调用windows API实现屏幕截图 好处是 灵活 速度快 缺点是: 写法繁琐 不跨平台 阅读全文
posted @ 2020-02-20 13:36 enumx
摘要:turtle库常用函数 引入turtle模块 turtle的绘图窗体 画笔控制函数 运动控制函数 方向控制函数 停止画笔绘制,但绘图窗体不关闭 turtle.done() 实例 阅读全文
posted @ 2020-02-20 12:30 enumx
摘要:安装turtle提示错误:Command "python setup.py egg_info" failed with error code 1 仔细查看安装turtle出错的错误信息,可以看到是个语法错误。 pip在下载turtle 0.0.2包后,会解压到本地再安装,提示的错误在解压的setup 阅读全文
posted @ 2020-02-20 12:11 enumx
摘要:前言 pyscreenshot 是一个 Python 的模块,用来对屏幕进行截屏并拷贝到 PIL or Pillow 图像对象中。这是一个纯 Python 库,支持跨平台。 示例代码: import pyscreenshot as ImageGrab fullscreen im=ImageGrab. 阅读全文
posted @ 2020-02-20 03:46 enumx
摘要:Python实现屏幕截图的两种方式 使用windows API 使用PIL中的ImageGrab模块 下面对两者的特点和用法进行详细解释。 一、Python调用windows API实现屏幕截图 好处是 灵活 速度快 缺点是: 写法繁琐 不跨平台 1 2 3 4 5 6 7 8 9 10 11 12 阅读全文
posted @ 2020-02-20 03:40 enumx
摘要:通常来说,Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF 8,所以Linux下打开windows的文件会有乱码的情况。另外,有时要将文件进行编码转换,如将简体中文转换为繁体中文。 vim中查询修改文件编码格式 set fileencoding 查看现在文本的编码 阅读全文
posted @ 2020-02-19 23:57 enumx
摘要:相信用过 Vim 的人都会深深的喜欢上这款编辑器,因为它的效率实在是太高了!不过,对于在 Windows 系统上使用 Vim 的人会碰到一点小麻烦:文件显示乱码、菜单乱码、右键菜单乱码、conlse输出乱码、文件关联右键菜单乱码…… 在 windows 下 vim 的中文字体显示并不好,所以我们需要 阅读全文
posted @ 2020-02-19 23:44 enumx
摘要:基础配置 vim的配置是在用户主目录下的 ~/.vimrc 文件中完成的,如果没有的话,需要自己新建一下: 1 2 cd ~ touch .vimrc 首先做些简单的配置: 1 2 3 4 5 6 7 8 9 10 set nocompatible "关闭与vi的兼容模式 set number "显 阅读全文
posted @ 2020-02-19 23:22 enumx
摘要:首先安装pythoncom pythoncom:http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/pywin32 219.win32 py2.7.exe/download 下载后复制进python/Lib/site p 阅读全文
posted @ 2020-02-19 21:32 enumx
摘要:PyHook底层还是使用windows API实现,而我们可以直接拿来用的相关函数定义都在Python\Lib\site packages\PyHook3下的HookManager.py文件中。 因为官方并没给出一个API文档,所以我自己看了一下源文件,发现其实PyHook的方法很少,用法也很简单, 阅读全文
posted @ 2020-02-19 19:21 enumx
摘要:防火墙配置 CentOS 7默认使用的是firewall作为防火墙,这里改为iptables防火墙。 firewall操作: \ service firewalld status 查看防火墙状态 (disabled 表明 已经禁止开启启动 enable 表示开机自启,inactive 表示防火墙关闭 阅读全文
posted @ 2020-02-19 18:41 enumx
摘要:1. 安装python对应版本的pyhook3 网址:https://pypi.org/project/PyHook3/ files 如果没有对应版本。下载第三个文件 解压缩。 利用CMD窗口定位到解压缩的文件夹执行setup.py。执行命令为python setup.py build。将生成的文件 阅读全文
posted @ 2020-02-19 16:49 enumx
摘要:摘抄自:https://github.com/wspl/CIDR in Proxifier 一个用于将 CIDR 列表文件转换为 Proxifier 配置文件片段的脚本。 注意:本项目提供一个配置文件生成脚本,用于让 Proxifier 用户正常地分流国内和境外流量,以确保国内网站的正常访问! 中国 阅读全文
posted @ 2020-02-19 12:46 enumx
摘要:golang同时输出到控制台和文件 阅读全文
posted @ 2020-02-19 12:03 enumx
摘要:我使用的环境为:Windows10、python3.6、scapy 2.4.0 一、基本知识 Sniff方法定义: sniff(filter="",iface="any", prn=function, count=N) filter的规则使用 Berkeley Packet Filter (BPF) 阅读全文
posted @ 2020-02-19 11:54 enumx
摘要:请求的结构 HTTP的交互以请求和响应的应答模式。go的请求我们早就见过了,handler函数的第二个参数http.Requests。其结构为: 从request结构可以看到,http请求的基本信息都囊括了。对于请求而言,主要关注一下请求的URL,Method,Header,Body这些结构。 UR 阅读全文
posted @ 2020-02-19 11:44 enumx
摘要:服务器空间清理的时候,发现了一些 ?、空格等,不知道如何产生的文件。不方便直接删除,可以用如下方法: 1) 使用 ls i 找到文件的 inode 号如122562389 2) 使用find命令删除 find ./ inum 122562389 exec rm '{}' \; find ./ inu 阅读全文
posted @ 2020-02-19 02:54 enumx
摘要:前言 前往https://studygolang.com/pkgdoc,了解golang语言中xml包的内容。文中的内容主要来自于该网站。 XML生成 理论 func Marshal(v interface{}) ([]byte, error) func MarshalIndent(v interf 阅读全文
posted @ 2020-02-18 21:36 enumx
摘要:总结了golang中字符串和各种int类型之间的相互转换方式: string转成int: string转成int64: int转成string: int64转成string: 以备查询 阅读全文
posted @ 2020-02-18 17:28 enumx
摘要:``` package main import ( "crypto/hmac" "crypto/md5" "crypto/sha1" "encoding/hex" "fmt" ) func Md5(data string) string { md5 := md5.New() md5.Write([]byte(data)) md5Data := md5.Sum([]byte("")) return 阅读全文
posted @ 2020-02-18 17:16 enumx
摘要:Go 通过类型别名(alias types)和结构体的形式支持用户自定义类型,或者叫定制类型。试图表示一个现实世界中的实体。 结构体由一系列命名的元素组成,这些元素又被称为字段,每个字段都有一个名称和一个类型。 结构体的目的就是把数据聚集在一起,以便能够更加便捷地操作这些数据。结构体的概念在 C 语 阅读全文
posted @ 2020-02-18 17:13 enumx
摘要:自定义一个结构体 type Rect struct { x, y float64 width, height float64 } 初始化方法: rect1 := new(Rect) rect2 := &Rect{} rect3 := &Rect{0, 0, 100, 200} rect4 := &R 阅读全文
posted @ 2020-02-18 17:08 enumx
摘要:ajax() 方法用于执行 AJAX(异步 HTTP)请求,所有的 jQuery AJAX 方法都使用 ajax() 方法,该方法通常用于其他方法不能完成的请求。 基本的语法是: 下面是通常使用的示例: 如果还需要其他参数,参考下面列举的一下其他的可以用到的名称和值: 名称 | 值/描述 | asy 阅读全文
posted @ 2020-02-18 16:15 enumx
摘要:你也可以用http 包里面的常量 我这边直接写数字方便理解而已 下面修改一下就是这个样子 阅读全文
posted @ 2020-02-18 16:06 enumx
摘要:设置请求参数 post请求 get请求 调用方法 阅读全文
posted @ 2020-02-18 15:53 enumx
摘要:我们常用的在a标签中有点击事件: 1. a href="javascript:js_method();" 这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不 必要的触发window.onbeforeunload事件,在IE里面更会使g 阅读全文
posted @ 2020-02-18 14:33 enumx
摘要:vim 中一个tab的宽度太大,debian系统,没改之前是宽度是8个字符,想改成4,如下: vim ~/.vimrc 添加如下几行:(括号中的不是,是我添加的) :wq 保存退出。 source ~/.vimrc (使配置文件生效) 阅读全文
posted @ 2020-02-18 14:31 enumx
摘要:变量命名原则 go语言的变量名有字母数字和下划线组成,首字母不能为数字,但是字母不仅仅只限于英文字母,所有的UTF 8字符都是可以的。 变量声明和初始化方式 使用var关键字 注意,Go语言变量类型放在变量名之后! 如果上面的代码段没有初始化值,那么变量就会被初始化为对应类型的零值。 这个代码片段声 阅读全文
posted @ 2020-02-18 11:56 enumx
摘要:方法一: 定义一个新切片(数组),存放原数组的第一个元素,然后将新切片(数组)与原切片(数组)的元素一一对比,如果不同则存放在新切片(数组)中。 方法二: 先将原切片(数组)进行排序,在将相邻的元素进行比较,如果不同则存放在新切片(数组)中。 上面两种方法,第一种的效率要高于第二种的。可以通过测试比 阅读全文
posted @ 2020-02-17 18:57 enumx
摘要:一起看一下golang的HTTP包怎么write Request信息 先看一下看golang http Request的struct,不解释,慢慢看(HTTP权威指南,RFC文档) 再来具体分析一下http request write的具体执行流程 再来看看transferWriter结构相关的操作 阅读全文
posted @ 2020-02-17 18:19 enumx
摘要:fmt 包 功能:fmt包实现了类似C语言printf和scanf的格式化I/O。格式化动作('verb')源自C语言但更简单。 fmt格式化输出 Printf 函数有超过10个各种转义字符,Go 程序员称为 verb。下表不完整,但是它说明了很多可用的功能: verb | 描述 | %d | 十进 阅读全文
posted @ 2020-02-17 17:54 enumx
摘要:字符串去除空格和换行符 输出结果为: 原字符串 这里是 www .aaa .com 去除空格与换行后 这里是www.aaa.com 阅读全文
posted @ 2020-02-17 17:06 enumx
摘要:对于字符串操作,截取字符串是一个常用的, 而当你需要截取字符串中的一部分时,可以使用像截取数组某部分那样来操作,示例代码如下: 运行结果为:BodyContent 阅读全文
posted @ 2020-02-17 16:46 enumx
摘要:需求 | 实现 | 每五分钟执行 | \ /5 每小时执行 | 0 每天执行 | 0 0 每周执行 | 0 0 0 每月执行 | 0 0 1 每年执行 | 0 0 1 1 阅读全文
posted @ 2020-02-17 10:36 enumx
摘要:curl 是一种命令行工具,作用是发出网络请求,然后获取数据,显示在"标准输出"(stdout)上面。它支持多种协议,下面列举其常用功能。 一、查看网页源码 直接在 curl 命令后加上网址,就可以看到网页源码。以网址 www.sina.com为例(选择该网址,主要因为它的网页代码较短)。 $ cu 阅读全文
posted @ 2020-02-17 00:46 enumx
摘要:基本格式 : command 分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用或者 /1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令 crontab文件的一些例子: 30 21 /us 阅读全文
posted @ 2020-02-16 23:43 enumx
摘要:etc/crontab文件和crontab e命令区别 1、格式不同 前者 后者 2、使用范围 修改/etc/crontab这种方法只有root用户能用,这种方法更加方便与直接直接给其他用户设置计划任务,而且还可以指定执行shell等等,crontab e这种所有用户都可以使用,普通用户也只能为自己 阅读全文
posted @ 2020-02-16 22:39 enumx
摘要:``` package main import ( "log" "os" "time" ) func main() { log.Println(GetFileModTime("./xiaochuan.txt")) } //获取文件修改时间 返回unix时间戳 func GetFileModTime(path string) int64 { f, err := os.Open(path) if er 阅读全文
posted @ 2020-02-16 22:22 enumx
摘要:JSON解析内置反射方式 import ( "encoding/json" "fmt" ) type Users struct { ID string Name string Age int } func main() { //结构体解析成json user1 := Users{"1", "user 阅读全文
posted @ 2020-02-16 18:19 enumx
摘要:安装go tools 安装以上后用vim打开go代码,使用函数跳转时会出现: E718: Funcref required vim go: could not find 'gopls'. Run :GoInstallBinaries to fix it 或者说guru等不存在的错误,这时按照提示在v 阅读全文
posted @ 2020-02-16 17:18 enumx
摘要:服务端 在golang中,实现一个普通的http接口可以处理get请求和x www form urlencoded类型的post请求,而如果想实现处理json数据的post请求,则需要用另外的方式实现,接收的参数要从request.Body中读取: getpost.go package main i 阅读全文
posted @ 2020-02-16 15:42 enumx
摘要:在Ubuntu16.04下编译安装vim8,并配置vim plug插件管理器,以及安装YouCompleteMe等插件。 安装依赖 需要注意的是在Ubuntu16.04中Lua应该为liblua5.1 dev,而在其它版本中应为lua5.1 dev 删除已有vim相关包(可选) 如果是多人使用的机器 阅读全文
posted @ 2020-02-16 14:06 enumx
摘要:1、使用nohup ./commond & 这种方法最简单. nohup这个命令可以把程序放后台运行,顺便通过1 和2 把标准输出和标准错误重定向到文件,这样程序崩溃时才会有记录可查,这两者和程序的日志最好是分开,混在一起没办法判断轻重缓急: nohup ./server 1 server.out 阅读全文
posted @ 2020-02-16 12:04 enumx
摘要:修改Nginx配置文件 1、打开配置文件 一般Ngnix的配置文件放在/usr/local/nginx/conf/目录下,使用如下指令打开配置文件: 2、修改配置文件 在server中添加如下代码: Nginx禁止IP,只允许域名访问 ~后面跟着的是正则表达式,匹配的是IP,如果匹配到了IP,则返回 阅读全文
posted @ 2020-02-16 11:39 enumx
摘要:``` import ( "fmt" "io/ioutil" "net/http" ) func main() { http.HandleFunc("/", myHandle) http.ListenAndServe(":8888", nil) } func myHandle(w http.ResponseWriter, r *http.Request) { defer r.Body.Close( 阅读全文
posted @ 2020-02-16 02:20 enumx
摘要:常用的字符串拼接方法 1.最常用的方法肯定是 + 连接两个字符串。这与python类似,不过由于golang中的字符串是不可变的类型,因此用 + 连接会产生一个新的字符串对效率有影响。 2.第二种方法使用sprintf函数,虽然不会像直接使用 + 那样产生临时字符串。但是效率也不高 3.第三种方法是 阅读全文
posted @ 2020-02-15 23:13 enumx
摘要:在Go中,net/http包用于提供Web服务器功能.这不是一个静态文件服务器,它远不止于此. 没有文件系统“root”概念.提供的Web服务器使用handlers来提供映射到URL的HTTP请求.处理程序负责处理HTTP请求以及设置和生成响应.可以注册处理程序,例如具有Handle()或Handl 阅读全文
posted @ 2020-02-15 18:47 enumx
摘要:golang httpserver如果采用 fmt.Fprintf(w, result)来输出json数据时,若json数据包含%号,则会出现问题。 输出结果里面会包含(MISSING)字样,造成json格式错误。 把输出函数替换为w.Write即可。 阅读全文
posted @ 2020-02-15 18:37 enumx
摘要:GET 和 POST 是我们最常用的两种请求方式,今天结合前端 axios 请求库来讲一讲,如何在 golang 服务中,正确接收这两种请求的参数信息。 一、搭建一个简单的服务 首先,我们来创建一个最简单的静态页面,将 axios 引进来: 接下来,我们写一个简单的 golang 服务程序,在浏览器 阅读全文
posted @ 2020-02-15 17:33 enumx
摘要:首先查看秘钥是否存在 正常应该是存在的,不然就直接进都进不去了。 执行修复公钥命令,解决问题 阅读全文
posted @ 2020-02-15 14:43 enumx
摘要:``` @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for '/home/robin 阅读全文
posted @ 2020-02-15 14:27 enumx
摘要:1.卸载python3.5 2.卸载python3.5以及它的依赖包 3.清除python3.5 要想清除python3.5的配置文件和数据文件,执行以下命令: 阅读全文
posted @ 2020-02-15 00:48 enumx
摘要:压缩可执行文件 首先加上编译参数 ldflags 使用upx压缩,Linux、Mac和Win都有,这里以Mac为例 阅读全文
posted @ 2020-02-15 00:08 enumx
摘要:Linux scp命令用于Linux之间复制文件和目录。 scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。 1、从本地复制到远程 命令格式: 建议使用这两个需要输入密码 scp local_file remote_username@remo 阅读全文
posted @ 2020-02-14 22:34 enumx
摘要:``` // 彻底卸载 vim sudo apt-get remove vim vim-runtime vim-tiny vim-common vim-scripts vim-doc // 重新安装 vim sudo apt-get install vim ``` 阅读全文
posted @ 2020-02-14 21:52 enumx
摘要:内核版本 | IIS 版本 | Windows 10 | 10.0 Windows Server 2016 | 10.0 Windows 8.1 | 6.3 Windows Server 2012 R2 | 6.3 Windows 8 | 6.2 Windows Server 2012 | 6.2 阅读全文
posted @ 2020-02-14 21:38 enumx
摘要:在正常模式下,一般只能向console 控制台输出简单的文字信息。但为了把信息输出得更优雅更便于阅读,除了cosole.log()方法外还可以调用 cosole.warn() 来输出警告信息 在输出信息前面会有一个带感叹号的黄色三角警告符号。似乎比一般的console信息要友好得多了。虽然图标是黄色 阅读全文
posted @ 2020-02-14 18:46 enumx
摘要:nginx 常用的配置文件有两种: access.log 和 error.log access.log 的作用是 记录用户所有的访问请求,不论状态码,包括200 ,404,500等请求,404,500的请求并不会出现在error.log中。 error.log 的作用是 记录nginx 本身运行时的 阅读全文
posted @ 2020-02-14 18:27 enumx
摘要:1 在 linux下的ssh命令:vim /etc/ssh/ssh_config 然后找到里面的ServerAliveInterval 参数,如果没有你同样自己加一个就好了。参数意义相同,都是秒数,比如9分钟: ServerAliveInterval 540 putty中解决SSH连接超时断开的两种 阅读全文
posted @ 2020-02-14 17:30 enumx
摘要:常用命令: 这两个命令都可以查看端口被什么进程占用。 lsof i 用以显示符合条件的进程情况,lsof(list open files)是一个列出当前系统打开文件的工具。以root用户来执行lsof i命令,如下图 lsof输出的每列的意义是: COMMAND:进程的名称或者进程开启的方式 PID 阅读全文
posted @ 2020-02-14 17:15 enumx
摘要:最近使用某个服务器编辑文件时,快捷键i进入插入模式后 下方不出现insert模式,却可以插入字符 但是backspace按键不能删除字符了,记录下解决办法: 1、在命令模式下: 2、设置backspace的工作方式: 阅读全文
posted @ 2020-02-14 17:07 enumx
摘要:nginx 的 default_server 指令可以定义默认的 server 出处理一些没有成功匹配 server_name 的请求,如果没有显式定义,则会选取第一个定义的 server 作为 default_server。 在了解到如上规则后,我们可以捕获未做绑定的域名访问或直接IP访问,做重定 阅读全文
posted @ 2020-02-14 13:58 enumx
摘要:1.vim还没有启动的时候: 在终端里输入 vim file1 file2 ... filen便可以打开所有想要打开的文件 2.vim已经启动 输入 :open file 可以再打开一个文件,并且此时vim里会显示出file文件的内容。 :e ../myFile.pl 1. vim 文档名 普通方式 阅读全文
posted @ 2020-02-14 13:19 enumx
摘要:基本步骤 1、卸载旧版vim yum remove vim* -y 2、 到Vim官方Github仓库下载目前最新的Vim Release版本 git clone https://github.com/vim/vim.git 3、编译安装 出现You need to install a termin 阅读全文
posted @ 2020-02-14 00:35 enumx
摘要:具体操作如下: xdg-open { file | URL } xdg-open { --help | --manual | --version } 通过快捷键Ctrl+Alt+T可以打开shell F11可以全屏显示(Alt+F9最小化窗口 Alt+F10最大化/恢复窗口) 再辅予xdg-open 阅读全文
posted @ 2020-02-14 00:03 enumx
摘要:rpm -Uvh http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm rpm --import http://mirror.ghettoforge.org/distributions/g 阅读全文
posted @ 2020-02-13 23:53 enumx
摘要:操作系统 : CentOS7.3.1611_x64 go 版本 : go1.8.3 linux/amd64 vim版本 :version 7.4.160 vim配置go语言语法高亮的问题已经遇到过好几次了,每次都去查找太麻烦,这里总结下。 安装git: yum install git 安装vim-g 阅读全文
posted @ 2020-02-13 18:54 enumx
摘要:一、一开始我是按照网友所说的 : rm -f ~/.gnome2/keyrings/login.keyring 删除秘钥文件, 按照网友的解决办法,这步之后,会打开新的程序会提示输入新的密码。但是重新打开谷歌浏览器,还是提示unlocking, 然后我开始排除问题所在,首先 cd ~/.gnome2 阅读全文
posted @ 2020-02-13 18:24 enumx
摘要:安装环境CentOS*.example.com形式的域名即为泛域名,不通的子域名共用一个证书,省去多次申请的烦恼 1. 工具安装安装最新的certbotsudo yum install -y certbot已安装cerbot,需升级至高版本sudo yum update -y certbot 2. 阅读全文
posted @ 2020-02-13 17:18 enumx
摘要:快速返回上一次目录 cd - 该命令等同于cd $OLDPWD 并且它还会返回上一次目录的物理路径 阅读全文
posted @ 2020-02-13 16:52 enumx
摘要:修改nginx.conf,禁止网络爬虫的ua,返回403 添加agent_deny.conf配置文件 #禁止Scrapy等工具的抓取 if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; } #禁止指定UA及UA为空的访问 i 阅读全文
posted @ 2020-02-12 17:46 enumx
摘要:添加清除header信息 location /api/ { more_clear_headers "X-Powered-By"; more_clear_headers "Server"; more_clear_headers "ETag"; more_clear_headers "Connectio 阅读全文
posted @ 2020-02-12 17:38 enumx
摘要:复制以下代码 → 博客后台 → 设置 → 页面定制CSS代码 → 粘贴 #ad_t2,#cnblogs_c1,#under_post_news,#cnblogs_c2,#under_post_kb {display:none;!important} F12查看源码找到对应的id修改。 ad_t2: 阅读全文
posted @ 2020-02-12 16:18 enumx
摘要:gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml text/javas 阅读全文
posted @ 2020-02-12 13:31 enumx
摘要:根据操作系统下载对应的软件包 https://golang.google.cn/dl/ GOROOT就是go的安装路径 vim /etc/profile,在末尾加上三行 ``` export GOROOT=/usr/local/goexport GOPATH=/home/goexport PATH= 阅读全文
posted @ 2020-02-12 03:00 enumx
摘要:1.企业贡献: 搜狐开源镜像站:http://mirrors.sohu.com/ 网易开源镜像站:http://mirrors.163.com/ 阿里巴巴开源镜像站:https://mirrors.aliyun.com华为开源镜像站:https://mirrors.huaweicloud.com/ 阅读全文
posted @ 2020-02-11 22:34 enumx
摘要:yum install -y gcc gcc-c++ PCRE. wget https://netix.dl.sourceforge.net/project/pcre/pcre/8.40/pcre-8.40.tar.gz tar -zxvf pcre-8.40.tar.gz cd pcre-8.40 阅读全文
posted @ 2020-02-11 21:35 enumx
摘要:一、/usr/sbin与/usr/bin区别: 1、/usr/sbin:root权限下的命令属于基本的系统命令,如shutdown,reboot,用于启动系统,修复系统; 2、/usr/bin普通用户权限,存放一些普通的基本命令,如ls,chmod等; 二、/usr/bin与/usr/local/b 阅读全文
posted @ 2020-02-07 21:00 enumx
摘要:F B 30 40 黑色 31 41 红色 32 42 绿色 33 43 黄色 34 44 蓝色 35 45 紫红色 36 46 青蓝色 37 47 白色 阅读全文
posted @ 2020-02-06 15:57 enumx
摘要:基本格式:echo -e “\033[字背景颜色;文字颜色m字符串\033[0m”样例:echo -e “\033[1;32mhello\033[0m” #!/bin/bash xmessage() { echo -e "\033[1;$1m`date "+[%Y/%m/%d %H:%M:%S]"` 阅读全文
posted @ 2020-02-06 12:43 enumx
摘要:在linux系统中,文件或目录的权限可以分为3种: r:4 读 w:2 写 x:1 执行(运行)-:对应数值0 数字 4 、2 和 1表示读、写、执行权限 rwx = 4 + 2 + 1 = 7 (可读写运行) rw = 4 + 2 = 6 (可读写不可运行) rx = 4 +1 = 5 (可读可运 阅读全文
posted @ 2020-02-06 12:15 enumx