input

linux中firewall与iptables防火墙服务

此生再无相见时 提交于 2020-03-07 06:10:17
火墙 firewall-cmd --state 查看火墙的状态 firewall-cmd --get-active-zones 目前所处的域 firewall-cmd --get-default-zone 查看默认的域 firewall-cmd --get-zones 查看所有的域 fiewall-cmd --zone=public ---list-all 查看pubic这个域里的具体信息 firewall-cmd --get-services 查看可以添加的服务 firewall-cmd --list-all-zones 查看所有域的具体信息 实验ji firewall-cmd --set-default-zone=public 设置默认域为punblic firewall-cmd --add-source=172.25.254.203 -zone=trusted 此时对于172.25.254.203域为trusted就是完全信任 firewall-cmd --remove-source=172.25.254.203 --zone=trusted 移除这个设置 首先创建个新的网卡,配置成不同网段的ip新的接口eth1 firewall-cmd --remve-interface-eth1 --zone=public 移除新的网卡的默认的public域 firewall-cmd -

Linux USB 鼠标驱动程序解析

大憨熊 提交于 2020-03-07 04:41:21
USB 总线引出两个重要的链表!   一个 USB 总线引出两个重要的链表,一个为 USB 设备链表,一个为 USB 驱动链表。设备链表包含各种系统中的 USB 设备以及这些设备的所有接口,驱动链表包含 USB 设备驱动程序(usb device driver)和 USB 驱动程序(usb driver)。   USB 设备驱动程序(usb device driver)和 USB 驱动程序(usb driver)的区别是什么?   USB 设备驱动程序包含 USB 设备的一些通用特性,将与所有 USB 设备相匹配。在 USB core 定义了:struct usb_device_driver usb_generic_driver。usb_generic_driver 是 USB 子系统中唯一的一个设备驱动程序对象。而 USB 驱动程序则是与接口相匹配,接口是一个完成特定功能的端点的集合。   设备是如何添加到设备链表上去的?   在设备插入 USB 控制器之后,USB core 即会将设备在系统中注册,添加到 USB 设备链表上去。   USB 设备驱动程序(usb device driver)是如何添加到驱动链表上去的?   在系统启动注册 USB core 时,USB 设备驱动程序即将被注册,也就添加到驱动链表上去了。   接口是如何添加到设备链表上去的?   在 USB

嵌入式Linux驱动学习之路(二十)USB设备驱动

早过忘川 提交于 2020-03-07 03:45:35
USB在接入系统的时候,以0的设备ID和主机通信,然后由主机为其分配新的ID。 在主机端,D+和D-都是下拉接地的。而设备端的D-接上拉时,表明此设备为高速设备:12M/s。 D+接上拉时则是全速设备:480M/S。 PC的USB口中的D+D-有15K的下拉电阻,未接USB设备时,皆为低电平。 而设备中的D+D-则是1.5K的上拉电阻。一旦接入PC中,电脑就会知道有设备接入。 USB是主从结构。所有的传输都是由主机发起的,即USB设备没有主动通知USB主机的能力。 USB的传输类型:      控制传输 。 可靠,时间有保证。 例如:USB设备的识别。      批量传输 。 可靠,但时间没有保证。 例如:U盘。      中断传输 。 可靠,实时传输。 例如:USB鼠标。      实时传输 。 不可靠。实时传输。 例如:USB摄像头。 USB传输的对象为端点。比如读U盘和写U盘,可以形容为从端点1读数据,从端点2写数据。     除了端点0以外,每个端点只支持一个方向的数据传输。     端点0用于控制传输,既能输出也能输入。 每一个端点都有传输类型和方向。 程序和术语中说的输入输出 都是基于USB主机的立场说的。   比如鼠标是数据从鼠标传输到PC机的,鼠标对应的端点称为输入端点。 USB总线驱动程序的作用: 1.识别设备 2. 查找并安装对应的设备驱动程序 3

leetcode刷题笔记(Golang)--344. Reverse String

对着背影说爱祢 提交于 2020-03-07 02:35:19
344. Reverse String Write a function that reverses a string. The input string is given as an array of characters char[]. Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory. You may assume all the characters consist of printable ascii characters. Example 1: Input: [“h”,“e”,“l”,“l”,“o”] Output: [“o”,“l”,“l”,“e”,“h”] Example 2: Input: [“H”,“a”,“n”,“n”,“a”,“h”] Output: [“h”,“a”,“n”,“n”,“a”,“H”] func reverseString ( s [ ] byte ) { l := len ( s ) for i := 0 ; i < l / 2 ; i ++ { s [ i ] , s [ l - 1 - i ] = s [ l - 1 - i ] , s [

html表单

馋奶兔 提交于 2020-03-06 17:47:51
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body background="QQ图片20200306143533.gif"> 用户名<input type="text"> <br> 密码<input type="password"> <br> 性别<input type="radio" name="sex" >男<input type="radio" name="sex" checked="checked">女 <br> 爱好:<input type="checkbox" checked="checked">唱<input type="checkbox" checked="checked">跳<input type="checkbox" checked="checked">rap<input type="checkbox" checked="checked">篮球<input type="checkbox" checked="checked">music <br> 请上传你的打篮球视频<input type="file"> <br> <input type="button" value="普通鸡你太美!"> <br> <input

linux-输入子系统

杀马特。学长 韩版系。学妹 提交于 2020-03-06 17:34:16
文章目录 引言 输入子系统框架 核心层 事件处理层(input_handler层) input_dev层 引言 本章概述linux kernel输入子系统框架,理解input各层的作用和实现的意义。 输入子系统框架 输入子系统是将所有输入设备进行分类,并将其驱动分为事件处理层和设备描述层。 其中,设备描述层,来描述本设备所能够产生的事件,而对应的事件处理层,对设备产生的事件进行处理。在内核中对应的结构体为input_handler和input_device,二者注册进内核,并通过id_table进行匹配。 当例如按键按下后,其通过input_device产生了一个事件,该事件进入input核心层,找到该事件对应的input_handler,如果上层进行了系统调用,则调用input_handler中fops的相应接口。 输入子系统分为:核心层、事件驱动层和设备(描述)层。 核心层 内核提供给输入子系统核心代码,它提供驱动层和设备层所需的一些接口。 核心层相关代码分析如下: Input.c: Input_init: Register_chrdev(INPUT_MAJOR, "input", &input_fops); 注册输入子系统核心层的fops至内核链表,该fops定义为: static const struct file_operations input_fops = {

java 管道流代码示例

南笙酒味 提交于 2020-03-06 09:48:12
import java.io.IOException; import java.io.PipedInputStream; import java.io.PipedOutputStream; public class PipedStream { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { PipedInputStream input = new PipedInputStream(); PipedOutputStream output = new PipedOutputStream(); input.connect(output); new Thread(new Input(input)).start(); new Thread(new Output(output)).start(); } } class Input implements Runnable{ private PipedInputStream in; Input(PipedInputStream in){ this.in = in; } public void run(){ try { byte[] buf = new byte[1024]; int len =

python学习第一天

社会主义新天地 提交于 2020-03-06 08:23:55
一、编译型vs解释型 编译型 优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。 缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。 解释型 优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。 缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。 二、Python的优缺点 先看优点 Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。 高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上)

python垃圾回收机制、与用户交互及运算符

老子叫甜甜 提交于 2020-03-06 01:59:23
一 垃圾回收机制详解(了解) 1、什么是垃圾回收机制 垃圾回收机制(简称GC)是Python解释器自带一种机,专门用来回收不可用的变量值所占用的内存空间 2、为什么要用垃圾回收机制 程序运行过程中会申请大量的内存空间,而对于一些无用的内存空间如果不及时清理的话会导致内存使用殆尽(内存溢出),导致程序崩溃,因此管理内存是一件重要且繁杂的事情,而python解释器自带的垃圾回收机制把程序员从繁杂的内存管理中解放出来。 3、垃圾回收机制原理分析 Python的GC模块主要运用了“引用计数”(reference counting)来跟踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用的问题,并且通过“分代回收”(generation collection)以空间换取时间的方式来进一步提高垃圾回收的效率。 3.1 什么是引用计数 引用计数就是:变量值被变量名关联的次数 3.1.1、直接引用 x = 10 print(id(x)) y = x z = x 3.1.2、间接引用 主要针对的容器类型 l = ['a', 'b', x] print(id(l[2])) d = {'mmm': x} # 间接引用 print(id(d['mmm']) ps: x=10 l=['a','b',x] # l=['a'的内存地址,'b

flux的组件拆分(2018/12/16)

依然范特西╮ 提交于 2020-03-06 00:05:44
一、将flux的组件拆分成无状态组件------->UI组件 和 容器组件 这样会加快页面的加载和渲染的速度 增删效果未拆分之前 App.js import React, { Component,Fragment } from 'react'; import Input from './components/input' import List from './components/list' import dispatcher from './store/dispatcher' console.log(dispatcher) class App extends Component { render() { return ( <Fragment> <Input/> <List/> </Fragment> ); } } export default App; components/input.js import React,{Component} from 'react' import store from '../store' import dispatcher from '../store/dispatcher' console.log(dispatcher) class Input extends Component{ constructor(){ super(); this