交换机的配置

(1)交换机的模式:

switch>    用户模式,可以查看设备的部分内容

SW-3ceng>enable

SW-3ceng#          进入特权模式,可以查看更多的内容;

SW-3ceng#configure terminal

SW-3ceng(config)#            进入全局配置模式,可以对设备进行配置

SW-3ceng(config)#int g1/0/52

SW-3ceng(config-if)#           接口模式

exit     退出一级

end     直接退到特权模式(ctrl+z)

在特权模式可以使用的命令

show mac-address-table   #查看mac地址表**

clock set 17:07:30 May 14 2019   #设置时间:时分秒,日月年

show ip interface brief    #查看所有接口状态**

(说明:只有当Status和Protocol显示都是“up”时,才能正常通信)

show cdp neighbors     #查看邻居和本地的连接情况**

how history    #查看命令历史

show running-config    #查看交换机当前配置,还没有保存(重启就失效;只是写入了“内存”)

write            #保存配置

copy running-config startup-config    #把running里的配置保存到开机启动配置文件里

show startup-config     #交换机每次开机的时候会自动加载的配置(重启仍然有效;写到了“硬盘”中,做永久存储)

reload       #重启

远程管理的步骤:

第一步:给交换机配置IP

SW1(config)#interface vlan 1

SW1(config-if)#ip address 192.168.1.100 255.255.255.0

SW1(config-if)#no sh

第二步:配置telnet

SW1(config)#line vty 0 4    #0表示第1个虚拟接口;4表示最多允许登录人数

SW1(config-line)#password 123456      #设置远程登录的密码

SW1(config-line)#login     #激活

第三步:进入特权模式的密码

SW1(config)#enable password enable   #password表示的明文密码

SW1(config)#enable secret   enable2     #secret表示密文的密码;如果两个都存在,那么密文生效

给console口做安全配置

SW1(config)#line console 0

SW1(config-line)#exec-timeout 0 0       #设置超时时间,第一个0表示分钟;第二个0表示s;0 0 表示永不超时(仅限于实验环境)

SW1(config-line)#password console     #设置console的登录密码

SW1(config-line)#logging synchronous    #设置光标跟随

SW1(config-line)#login         #激活

SW1(config)#no ip domain-lookup        #关闭域名解析

SW1#erase startup-config          #清空所有配置

ssh配置

conf t

username  test  password  密码

ip domain-name  www.test.com  //域名用来生成公钥和私钥

crypto  key  generate  rsa          //生成一对rsa算法的公钥和私钥

line vty 0 4

transport  input  ssh/all

login local

exit

ssh -l  username  192.168.1.254   //在模拟PC上使用ssh连接设备

路由器的简单配置

Router(config)#int g0/0    #进入物理接口

Router(config-if)#ip address 192.168.1.254 255.255.255.0   #配置IP和子网掩码

Router(config-if)#no sh      #开启接口——默认路由器的所有接口是down的状态

给路由器设置ssh

第一步:指定登录方式并激活

R1(config)#line vty 0 4

R1(config-line)#login local

R1(config-line)#transport input all

第二步:

R1(config)#username R1  password 123456    #设置本地用户名和密码

R1(config)#ip domain-name www.R1.com     #设置本地的域名

R1(config)#crypto key generate rsa        #生成秘钥

第三步:

R1(config)#enable password 123456      #设置进入特权模式的密码

SW2(config)#ip default-gateway 192.168.2.254        #如果交换机也想实现跨网段通信,必须要配置网关

路由器中S口的配置

interface Serial0/2/0

ip address 12.1.1.2 255.255.255.0

clock rate 1000000  #配置客户端的带宽

绑定mac地址:

> arp -s   157.55.85.212   00-aa-00-62-c6-09.... 添加静态项。 # 在PC上

Router(config)#arp   10.0.0.95   0013.240a.b219 arpa f0/0       #路由器上绑定,一般绑定“下联”设备的mac地址

Switch(config)#arp  10.0.0.12  90fb.a695.4445  arpa f0/2       #交换机上绑定

交换机里的“端口安全”,要在接口下开启端口安全

(1)在交换机的某个接口启用端口安全:

Int   f0/1

交换机的端口安全(防止mac地址表泛洪):

Switch(config)#interface f0/1    //进入f0/1接口

Switch(config-if)#switchport mode access        //更改交换机模式为access

Switch(config-if)#switchport port-security          //启动端口安全保护机制

Switch(config-if)#switchport port-security maximum 1           //允许最大学习的mac地址为1

Switch(config-if)#switchport port-security violation shutdown/protect(保护:不学习mac但是也不关闭端口;)/restrict(发送日志,计数增加,但是不关闭端口)

//违反规则接口shutdown

Switch(config-if)#switchport port-security mac-address sticky

//粘滞MAC地址(手工绑定工作量大,所以进行自动学习并黏贴)

show    port-security   //查看安全配置

switchport port-security mac-address 00D0.9752.DB78        //给交换机的接口绑定mac地址;如果是非法的mac,直接接口处于error-dis状态

do  show   int  f0/1                      //查看端口状态

errdiasble   recovery   cause   psecure-violation    //300s以后接口恢复正常状态(非法流量仍然会触发接口关闭)

errdisable   recovery   interval    30         //设置恢复时间30s(手工只有先shut 再no  shut才能开启)

show   errdisable    recovery               //查看恢复状态

show   port-security      //哪些接口开启安全

show   port-security    int    f0/4    //查看某个接口的安全

vlan相关命令

1)查看:

SW1(config)# do show vlan brief    #查看vlan的简要信息

SW1(config)#no   vlan  1

Default VLAN 1 may not be deleted.   #默认vlan1不能被删除

(2)创建和删除vlan的命令

SW1(config)#vlan 20

SW1(config-vlan)#name xiaoshoubu

SW1(config)#no vlan 30

3)把接口加入到vlan

SW1(config)#int f0/1

SW1(config-if)#switchport mode access

SW1(config-if)#switchport access vlan 20

针对多个接口同时操作:

Switch(config)# interface range f0/1 – 10

Switch(config-if-range)# switchport access vlan 20

.Trunk链路

SW1(config)#int f0/5

SW1(config-if)#switchport mode trunk         #把接口加入到trunk

SW1(config-if)#switchport trunk allowed vlan all    #允许所有vlan通过

单臂路由

R1(config)#int f0/0

R1(config-if)#no sh     #物理接口必须开启

R1(config)#int f0/0.3         #进入子接口

R1(config-subif)#encapsulation dot1Q 3    #设置封装格式为802.1q,对应的vlan是vlan3

R1(config-subif)#ip add 192.168.3.254 255.255.255.0    #给子接口设置Ip(网关)

VTP的server模式:

vtp mode server/client/transparent  #设置为server模式,也是交换机的默认模式

vtp domain test     #设置vtp域名为test

vtp password 123   #设置加入域的密码为123

vtp version 2       #设置vtp的版本号为2

ServerClient模式下,VTP的配置信息和vlan信息没有在show  run里,而是存到了Flash里。

Switch#delete flash:/vlan.dat

三层交换机的配置:

(1)     二层接口转换为三层接口:

第一步:创建vlan

3L-1(config)#vlan 10

3L-1(config-vlan)#vlan 30

3L-1(config-vlan)#vlan 20

 

3L-1(config-if)#int vlan 20

3L-1(config-if)#ip add 192.168.20.254 255.255.255.0

3L-1(config-if)#no sh

3L-1(config)#ip routing    #开启路由功能

 

3L-2(config)#int f0/2

3L-2(config-if)#no switchport    #转换为3层接口,直接配IP

3L-2(config-if)#ip add 192.168.40.254 255.255.255.0

3L-2(config-if)#no sh

STP的命令

SW1#show spanning-tree   #显示所有vlan的生成树

SW1#show spanning-tree detail   #查看vlan的详细信息

如果接口配置了Portfast,那么接口会立即(1-3s)进入转发状态。

Switch(config)#int  f0/1

Switch(config-if)#swithport   mode  access

Switch(config-if)#spanning-tree portfast

3L-1(config)#spanning-tree vlan 10 root primary     #配置本交换机为vlan10的主根桥,优先级会自动降低8192(在32768的基础)

3L-1(config)#spanning-tree vlan 20 root secondary  #配置本交换机为vlan20的备份根桥,优先级会自动降低4096(在32768的基础)

以太通道

以太通道:EthernetChannel,增加了链路带宽,提高了容错能力,还有负载均衡的作用。

SW1(config)#int range f0/1 - 2   #进入物理接口

SW1(config-if-range)#channel-group  1 mode on    #设置以太链路为组1,两边的组编号要一致。

SW1(config-if-range)#switchport mode trunk

SW1(config-if-range)#switchport trunk allowed vlan all    #设置为trunk模式,并允许所有vlan通过

SW2#show etherchannel summary   #查看以太通道的结果

HSRP的配置

R1:是vlan10的主

interface FastEthernet0/0.10                  #如果有多个vlan,在路由器上要使用单臂路由(子接口对应vlan信息)

encapsulation dot1Q 10

ip address 192.168.10.100 255.255.255.0      #配置子接口的IP

standby version 2                                                            #HSRP的版本号

standby 10 ip 192.168.10.254                                     #设置HSRP的虚拟IP(PC的网关)

standby 10 priority 105                                        #设置优先级,让本地称为vlan10的Active

standby preempt                                                             #配置抢占模式,只要状态恢复,就要称为Active

standby 0 track FastEthernet0/1                       #配置监控接口,如果接口down,就认为HSRP发生故障;就会切换HSRP的状态

standby 0 track FastEthernet0/0

R2:是vlan10的备份

interface FastEthernet0/0.10

encapsulation dot1Q 10

ip address 192.168.10.200 255.255.255.0

standby version 2

standby 10 ip 192.168.10.254

standby 10 track FastEthernet0/0

standby 10 track FastEthernet0/1

show standby brief   #查看HSRP的简要信息

三层交换机配置HSRP

配置以太通道:

interface FastEthernet0/3

channel-group 1 mode on

switchport trunk encapsulation dot1q

switchport mode trunk

配置HSRP时,看网关在物理接口还是SVI虚接口;网关在哪里,就在哪个接口配置HSRP。

ACL

使用ACL的步骤:

第一步:创建ACL

access-list 10 deny 192.168.1.1  0.0.0.0   // 192.168.1.1  0.0.0.0    代表主机192.168.1.1  ===  host  192.168.1.1

access-list 10 permit host 192.168.1.2

第二步:应用到接口

int  f0/1

ip access-group  1  in/out   ##尽量应用到流量的入接口

扩展ACL:实现基于源目IP、源目端口、基于协议来做数据的过滤;编号100——199

access-list 100 permit tcp host 192.168.1.1 host 192.168.30.1 eq www

access-list 100 permit ip host 192.168.1.1 192.168.20.0 0.0.0.255

access-list 100 deny icmp host 192.168.1.1 host 192.168.30.1

access-list 100 permit tcp host 192.168.1.1 host 192.168.30.1 eq telnet

access-list 100 permit udp host 192.168.1.1 host 192.168.30.1 eq domain

access-list 100 permit tcp host 192.168.1.1 host 192.168.30.1 eq domain

access-list 100 permit tcp host 192.168.1.1 host 192.168.30.1 eq ftp

access-list 100 permit tcp host 192.168.1.1 host 192.168.30.1 eq 20

access-list 100 permit tcp host 192.168.1.1 host 192.168.30.1 established

access-list 100 permit tcp host 192.168.1.1 host 192.168.30.1 range 1024 65535

DHCP配置

客户端和DHCP服务器在同一个网段:直接获取

R2#show run | section dhcp

ip dhcp excluded-address 192.168.10.254         #设置排除地址

ip dhcp pool vlan10            #创建地址池叫vlan10

network 192.168.10.0 255.255.255.0      #设置客户端的网段——作用域

default-router 192.168.10.254           #给客户端设置网关

dns-server 114.114.114.114              #给客户端设置DNS

DHCP命令:

ip   dhcp  pool  vlan10

network   网段   子网

dns-server   114.114.114.114

default-router   192.168.10.254

exit

ip  dhcp  excluded-address   排除地址

NAT:Network  Address  Translation ,作用——把私网地址转换为公网地址;隐藏了真实的内网地址;节省了IPV4地址;把IPv4转化为IPv6。

 静态转换:一对一,一个私网地址对应一个公网地址。

第一步:声明内外接口

int   f0/0

ip  nat  inside

int  f0/1

ip  nat  outside

第二步:设置NAT转换

ip  nat  inside  source  static  内网IP    外网IP

  动态转换:多对多,多个私网IP对应多个公网IP

第一步:声明内外接口

int   f0/0

ip  nat  inside

int  f0/1

ip  nat  outside

第二步:定义上网的网段

access-list  10  permit  192.168.10.0  0.0.0.255

第三步:定义NAT转换

ip  nat  inside  source  list  10   interface  f0/1  overload

4.实验步骤

第一步:

划分vlan和trunk链路

int  f0/1

sw  mode  access

sw  acc  vlan 10

int f0/3

sw  mode trunk

sw  trunk  allow  vlan   all

配置单臂路由:

int  f0/0

no  sh

int  f0/0.10

encapsulation  dot1q  10    #设置封装格式为dot1q,对应的vlan是vlan10

ip   address 192.168.10.254  255.255.255.0    #给子接口配置IP

no   sh

int f0/0.20

encapsulation  dot1q  20

ip address  192.168.20.254 255.255.255.0

no sh

路由器模拟PC的命令

no  ip  routing    #关闭路由功能

int  f0/0

ip   address   192.168.30.30  255.255.255.0

ip default-gateway 192.168.30.254

int  f0/0

ip  address   dhcp    #设置接口地址为dhcp

配置DHCP

ip   dhcp  pool  vlan10

network   网段   子网

dns-server   114.114.114.114

default-router   192.168.10.254

exit

ip  dhcp  excluded-address   排除地址

DHCP中继代理

在客户端对应的网关上配置:

int   f0/0.10

ip  helper-address  192.168.30.30

int   f0/0.20

ip  helper-address  192.168.30.30

第二步:配置NAT

配置PAT:

int   f0/0.10

ip nat inside

int  f0/0.20

ip nat inside

int  e1/0

ip nat outside

ip nat inside source list 10 interface Ethernet1/0 overload

配置Static

int f0/0.30

ip nat inside

ip nat inside source static 192.168.30.30 12.1.1.3

第三步:在右边的LAN中配置access/trunk链路

HSRP配置——解决了网关的冗余问题

R4#show run | s standby

standby 30 ip 192.168.30.254     #配置虚拟IP

standby 30 priority 105          #配置优先级为105,默认为100,谁大谁是主

standby 30 preempt                                    #配置抢占模式

standby 30 track 1 decrement 10   #默认罚值为10,表示接口如果down,那么优先级在100的基础上,减去10

standby 30 track 2 decrement 10   #端口追踪

HSRP的备份路由器配置:

R5#show run | s standby

standby 30 ip 192.168.30.254

standby 30 track 1 decrement 10

standby 30 track 2 decrement 10

注意:内网的路由通信问题。

.RIp的配置

(1)S口模拟公网:‘

int  s2/0

clock  rate   1000000    #在串行链路中,分为DCE(服务端:运营商)和DTE(客户端);时钟频率就是服务端给客户端分配的带宽。

ip   address  12.1.1.2

no   sh

(2)RIP的配置:

router  rip

network   11.1.1.0

(3)查看路由表:

show  ip  route

RIPv2的配置

router  rip

version  2

network    11.1.1.0

no  auto-summary     #关闭自动汇总

RIpv2的认证

enable

conf   t

key    chain     test                       //定义一个钥匙链,两端可以不一样

key     1                      //定义钥匙链上的钥匙(key的ID值必须要要一样)

key-string    cisco                 //设置钥匙密码

int     f0/1

ip     rip       authentication   key-chain  test    //接口使用钥匙链

ip     rip       authentication   mode   md5               //指定接口使用md5

ospf配置

基础配置:

router  ospf   110    #110表示ospf的进程号,本地有效

network   12.1.1.0   0.0.0.255  area  0    #宣告网段,反掩码,区域编号为0;注意区域0是一个特殊区域叫做“骨干区域”,只有相同的区域之间才能通信。

debug  ip  ospf   adj     #查看ospf邻居建立过程

R3#show ip ospf neighbor    #邻居关系表

VPN配置

配置IPsecPVPN

R1的配置

(1)配置第一阶段——秘钥安全性,设置密码

R1(config)#crypto isakmp policy 10       #设置第一阶段,策略编号为10

R1(config-isakmp)#encryption 3des        #设置秘钥的加密方式为3des

R1(config-isakmp)#authentication pre-share    #设置认证方式为预共享秘钥

R1(config-isakmp)#hash md5              #校验秘钥的完整性,使用md5

R1(config-isakmp)#group 2              #使用DH对秘钥交互做二次加密

R1(config-isakmp)#exit

R1(config)#crypto isakmp key 0 cisco address 34.1.1.2   #定义秘钥为cisco;对端的公网Ip是34.1.1.2

(2)配置第二阶段——设置数据加密方式

R1(config)#crypto ipsec transform-set R1-R4 esp-3des esp-md5-hmac    #设置数据的加密方式为3des;使用的协议是ESP;保证数据的完整性是md5

R1(cfg-crypto-trans)#mode tunnel    #数据传输方式为隧道模式

R1(cfg-crypto-trans)#exit

R1(config)#

(3)配置ACL(针对那些数据进行加密——感兴趣流量)

R1(config)#access-list 100 permit ip host 192.168.10.1 host 192.168.20.1

(4)配置Map

R1(config)#crypto map Beijing-Shanghai  10  ipsec-isakmp    #定义策略图map,名字叫做Beijing-Shanghai,编号是10

R1(config-crypto-map)#match address 100     #匹配感兴趣流量

R1(config-crypto-map)#set peer 34.1.1.2                          #匹配对端的公网地址

R1(config-crypto-map)#set transform-set R1-R4   #关联转换集

(5)应用到接口

R1(config)#int e1/0

R1(config-if)#crypto map Beijing-Shanghai

R4的配置:

(1)配置第一阶段——秘钥安全性,设置密码

R4(config)#crypto isakmp policy 10

R4(config-isakmp)#encryption 3des

R4(config-isakmp)#hash md5

R4(config-isakmp)#authentication pre-share

R4(config-isakmp)#group 2

R4(config-isakmp)#exit

R4(config)#crypto isakmp key 0 cisco address 12.1.1.1

(2)配置第二阶段——设置数据加密方式

R4(config)#crypto ipsec transform-set R4-R1 esp-3des esp-md5-hmac

R4(cfg-crypto-trans)#mode tunnel

(3)配置ACL(针对那些数据进行加密——感兴趣流量)

R4(config)#access-list 100 permit ip host 192.168.20.1 host 192.168.10.1

(4)配置Map

R4(config)#crypto map Shanghai-Beijing 10 ipsec-isakmp

R4(config-crypto-map)#match add 100

R4(config-crypto-map)#set peer 12.1.1.1

R4(config-crypto-map)#set transform-set R4-R1

R4(config-crypto-map)#exit

(5)应用到接口

R4(config)#int e1/1

R4(config-if)#crypto map Shanghai-Beijing

R4(config-if)#exit

检查命令:

R2#show crypto isakmp policy    #第一阶段

Global IKE policy

Protection suite of priority 10

encryption algorithm:   Three key triple DES

hash algorithm:         Message Digest 5

authentication method:  Pre-Shared Key

Diffie-Hellman group:   #2 (1024 bit)

lifetime:               86400 seconds, no volume limit

R2#show crypto isakmp sa    #第一阶段的协商状态,Active是协商成功

IPv4 Crypto ISAKMP SA

dst             src             state          conn-id status

34.1.1.2        12.1.1.1        QM_IDLE           1001 ACTIVE

R2#show crypto ipsec transform-set   #查看第二阶段的 转换集

Transform set default: { esp-aes esp-sha-hmac  }    #默认转换集

will negotiate = { Transport,  },

Transform set BJ-TJ: { esp-3des esp-md5-hmac  }    #自定义的转换集

will negotiate = { Tunnel,  },

R2#show crypto map   #查看策略图

R2#show    crypto    engine    connections   active  #查看加密和解密数据包的数量

网络简要<入门篇>对应配置代码的更多相关文章

  1. 网络简要<入门篇>

    OSI七层 网络的含义:两个不在同一地理位置的主机(终端),通过传输介质和通信协议,实现通信和资源共享. 网络四要素:终端,传输介质 ,通信协议,资源 网络分类: 以范围分类:LAN网(局域网,以太网 ...

  2. Python网络爬虫入门篇

    1.  预备知识 学习者需要预先掌握Python的数字类型.字符串类型.分支.循环.函数.列表类型.字典类型.文件和第三方库使用等概念和编程方法. 2. Python爬虫基本流程 a. 发送请求 使用 ...

  3. Spring课程 Spring入门篇 5-3 配置切入点 pointcut

    1 解析 1.1 xml常见的配置切入点写法 2 代码演练 2.1 xml配置切入点   1 解析 1.1 xml常见的配置切入点写法 2 代码演练 2.1 xml配置切入点 xml配置: <? ...

  4. Spring课程 Spring入门篇 5-2 配置切面aspect

    本节主要讲了在xml中配置切面的demo 1 解析 1.1 配置切面xml 1.2 配置切面xml 1.3 问:什么是动态代理? 2 代码演练 2.1 配置切面xml 1 解析 1.1 配置切面xml ...

  5. Python 基础教程 —— 网络爬虫入门篇

    前言 Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言,它由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年.自面世以后,Pytho ...

  6. PHP学习总结(2)——PHP入门篇之PHP代码标识

    认识PHP代码标识 想在页面中编写PHP​代码非常容易,如下面代码: <?php echo "想学习php吗?来慕课网吧";?> 就像你可以编写JavaScript脚本 ...

  7. Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码

    Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文主要是记录一写我在学习MapReduce时的一些 ...

  8. Sping Boot入门到实战之入门篇(三):Spring Boot属性配置

    该篇为Sping Boot入门到实战系列入门篇的第三篇.介绍Spring Boot的属性配置.   传统的Spring Web应用自定义属性一般是通过添加一个demo.properties配置文件(文 ...

  9. Sping Boot入门到实战之入门篇(四):Spring Boot自动化配置

    该篇为Sping Boot入门到实战系列入门篇的第四篇.介绍Spring Boot自动化配置的基本原理与实现.   Spring Boot之所以受开发者欢迎, 其中最重要的一个因素就是其自动化配置特性 ...

随机推荐

  1. CAD绘制一个线型标注(com接口VB语言)

    主要用到函数说明: _DMxDrawX::DrawDimRotated 绘制一个线型标注.详细说明如下: 参数 说明 DOUBLE dExtLine1PointX 输入第一条界线的起始点X值 DOUB ...

  2. 5.Linux系统的vim与软件包管理

    5.1 Linux系统的vim编辑器 5.1.1 vim编辑器的概述 vim编辑器的简介 1.vim是什么? vim是一个类似vi的文本编辑器,它在vi的基础上增加了很多新特性 vim是vi发展出来的 ...

  3. JAVA中 redisTemplate 和 jedis的配合使用

    首先项目A,也就是SpringBOOT项目中使用redisTemplate 来做REDIS的缓存时,你会发现存到REDIS里边的KEY和VALUE,redisTemplat使用jdkSerialize ...

  4. 32.修改IK分词器源码来基于mysql热更新词库

    主要知识点, 修改IK分词器源码来基于mysql热更新词库     一.IK增加新词的原因 在第32小节中学习到了直接在es的词库中增加词语,来扩充自已的词库,但是这样做有以下缺点: (1)每次添加完 ...

  5. Jupyter Notebook 下安装 PHP 内核

    我最近被强烈安利了 Jupyter Notebook 这个交互式笔记本.然后试用了它自带的 Python 内核后,这个应用整体给我的感觉很不错,就去搜索了下它所支持的其它内核 Jupyter Kern ...

  6. PAT 1057. Stack

    Stack is one of the most fundamental data structures, which is based on the principle of Last In Fir ...

  7. vue+better-scroll 下拉刷新,上拉加载更多

    better-scroll 来做下拉刷新和 上拉加载 特别方便.  安装好vue脚手架和better-scroll 之后 直接复制粘贴就可以看到效果了 <template> <div ...

  8. vue开发规范

    一.简介 团队合作中规范文档是必须的,在多人合作的项目只有定义好一定的编码规范才会使得开发井井有序,代码一目了然,下边将谈一下个人对vue使用规范的一些看法. 二.规范案例 1.组件命名 组件文件名应 ...

  9. Codeforces Problem 778B Bitwise Formula

    题目链接:http://codeforces.com/contest/779/problem/E 题意:有n个变量都可以用m位二进制数表示,这n个数的value将以两种格式中的一种给出 1.变量名, ...

  10. Grails用CONSOLE测试,比写集成测试还快

    一般,这个可以用过开发当中的脚本测试吧. 如果正规的开发流程里,集成测试显然可以作为报告提交,必不可少.