Entry

在Cisco的ASA防火墙上实现IPSec虚拟专用网

只愿长相守 提交于 2021-02-13 23:47:15
  前言:   之前写过一篇博文:Cisco路由器之IPSec 虚拟专用网,那是在公司网关使用的是Cisco路由器的情况下,来搭建虚拟专用网的,那么公司网关若是Cisco的ASA防火墙呢?就让这篇博文来带你配置一下。   注:虚拟专用网:(Virtual Private Network),请看英文的首字母,就知道是什么咯,由于它是敏/感词汇,所以文中全部使用虚拟专用网来代替   关于其中的知识点及相关概念,都在文章开头的那篇博文链接中介绍的差不多了,在防火墙和路由器上实现虚拟专用网,原理差不多,所以这里就不啰嗦了,直接上配置。   网络环境如下:      一、网络环境需求   1、需要在总公司和各个分公司的网关ASA上建立IPSec虚拟专用网,实现总公司和分公司的某个网段(一般是只有某个部门有互通的必要性)互通。   2、两个分公司之间也需要配置虚拟专用网实现互通,并且是通过总公司的网关ASA的outside区域的E0/1实现互通的(当然,也可以绕过总公司的ASA防火墙,根据实际需求来定即可)。   3、不但总公司与分公司之间需要有虚拟专用网,而且不要影响公司内部主机访问Internet(通过端口PAT来实现,配置完成后,Telnet登录R2路由器进行验证)。   4、公司内部使用路由器来代替PC机进行测试,Internet的R2路由器除了配置IP地址外,不可配置任何路由条目。

Django模型层之单表操作

折月煮酒 提交于 2021-02-13 19:04:17
一、ORM简介 查询数据层次图解:如果操作mysql,ORM是在pymysql之上又进行了一层封装 MVC或者MTV框架中包含一个重要都部分,就是ORM,它实现了数据模型与数据库都解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效的劳动 ORM是“对象-关系-映射”的简称 # sql中的表 # 创建表: CREATE TABLE employee( id INT PRIMARY KEY auto_increment , name VARCHAR ( 20 ), gender BIT default 1 , birthday DATA , department VARCHAR ( 20 ), salary DECIMAL ( 8,2 ) unsigned, ); # sql中的表纪录 # 添加一条表纪录: INSERT employee (name,gender,birthday,salary,department) VALUES ( " alex " ,1, " 1985-12-12 " ,8000, " 保洁部 " ); # 查询一条表纪录: SELECT * FROM employee WHERE age=24 ; # 更新一条表纪录: UPDATE employee SET

java的Map

和自甴很熟 提交于 2021-02-13 16:31:33
HashMap HashMap和Hashtable区别 Hashtable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap,这如同Vector和ArrayList一样。 Hashtable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。 两者的遍历方式大同小异,Hashtable仅仅比HashMap多一个elements方法,两者都能通过values()方法返回一个Collection,然后进行遍历,两者也可以通过entrySet()返回一个Set,然后进行遍历处理。 Hashtable使用Enumeration, HashMap使用Iterator。 哈希值的使用不同,Hashtable直接使用对象的hashCode,而HashMap重新计算hash值,而且用于代替求模。 Hashtable的hash数组默认大小是11,增加的方式是old * 2 + 1;HashMap的hash数组默认大小是16,而且一定是2的指数。 Hashtable基于Dictionary类,而HashMap基于AbstractMap类。 HashMap中的key可以是任何对象或数据类型吗 可以为null,但不能是可变对象,如果是可变对象的话,对象中的属性改变时,则相应的对象hashCode也进行相应改变

关于 webpack 你所忽略的细节(附源码分析)

帅比萌擦擦* 提交于 2021-02-13 10:55:26
注:本篇不是入门教程,入门请直接查看官方文档。本篇的主要目标是通过实际问题来介绍 webpack 中容易被人忽略的细节, 以及源码分析( 以最新发布的 release 版本1.14.0的源码为例 ), 并且提供几种解决方案。 随着前端技术的火热发展,工程化,模块化和组件化的思想已逐步成为主流,与之相应的,就需要有一整套工具流可以支撑起它。 现在比较热门的前端资源模块化管理和打包工具应该非 Webpack 莫属了。 Webpack 是什么 它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源。还可以将按需加载的模块进行代码分隔,等到实际需要的时候再异步加载。通过 loader 的转换,任何形式的资源都可以视作模块,比如 CommonJs 模块、 AMD 模块、 ES6 模块、CSS、图片、 JSON、Coffeescript、 LESS 等。 —引自 Webpack 中文指南 使用举例 我们来看一下官方文档中的最小用例,新建并写入以下内容到这两个文件: cats.js var cats = [ 'dave' , 'henry' , 'martha' ]; module .exports = cats; app.js (Entry Point) cats = require ( './cats.js' ); console .log(cats); 这个时候,就可以使用

集合框架

心已入冬 提交于 2021-02-13 05:28:04
集合框架总图: 一、ArrayList 为什么要使用? 存放多个对象也可以使用数组,但是定义数组有局限性,例如先声明个长度为20的数组,如果存10个就浪费了空间,存25个又不够。所以引入容器,ArrayList就是一种常见的容器,容器的容量会随着存放的对象自动增多。 常用方法 例子: public class ArrayListTest { public static void main(String[] args) { // 泛型,list只能存string类型 // 下面这样写可以存各种类型 // ArrayList list1 = new ArrayList(); ArrayList<String> list = new ArrayList<String> (); list.add( "aaa" ); list.add( "bbb" ); list.add( "ccc" ); System.out.println(list); System.out.println( "之前的长度:"+ list.size()); list.add( "ddd" ); System.out.println( "新添加一个元素后的长度:"+ list.size()); System.out.println(list); // contains判断容器中是否有某元素 System.out

Guava集合工具

偶尔善良 提交于 2021-02-12 11:31:12
JDK提供了一系列集合类,如下所示,极大的方便了开发工作,并针对这些类提供了一个工具类java.util.Collections,Guava在此基础上添加了一些常用工具类方法,相比于java.util.Collections集合类,Guava使用起来更方便快捷。本文主要介绍Guava集合工具类中Lists、Sets、Maps的常规使用。 Lists S.N. 方法及说明 1 List<E> asList(@Nullable E first, E[] rest) List<E> asList(@Nullable E first, @Nullable E second, E[] rest) 将array转化为List,并在list头部插入值,不支持基本类型array 2 List<List<B>> cartesianProduct(List… lists) List<List<B>> cartesianProduct(List<? extends List<? extends B>> lists) 计算多个list笛卡尔乘积 3 ImmutableList<Character> charactersOf(String string) List<Character> charactersOf(CharSequence sequence) Stirng或CharSequence转List

Django之orm查询

大城市里の小女人 提交于 2021-02-12 03:53:21
ORM相关 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 ORM是“对象-关系-映射”的简称。 一,单表操作(略) 二,多表操作 1,创建模型 全程通过实例演示: 作者模型:一个作者有姓名和年龄。 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息。作者详情模型和作者模型之间是一对一的关系(one-to-one) 出版商模型:出版商有名称,所在城市以及email。 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many);一本书只应该由一个出版商出版,所以出版商和书籍是一对多关联关系(one-to-many)。 模型建立如下: rom django.db import models # Create your models here. class Author(models.Model): nid = models.AutoField(primary_key= True) name =models.CharField( max_length=32 ) age = models

Java8-对map排序

回眸只為那壹抹淺笑 提交于 2021-02-12 02:00:06
1、Java8对map按key排序 /** * @author : fengkun * @date : 19-3-10 * 内容 : Java8对map按key排序 */ public class SortByKeyExample { public static void main(String[] args) { Map <String, Integer> unsortMap = new HashMap<> (); unsortMap.put( "z", 10 ); unsortMap.put( "b", 5 ); unsortMap.put( "a", 6 ); unsortMap.put( "c", 20 ); unsortMap.put( "d", 1 ); unsortMap.put( "e", 7 ); unsortMap.put( "y", 8 ); unsortMap.put( "n", 99 ); unsortMap.put( "g", 50 ); unsortMap.put( "m", 2 ); unsortMap.put( "f", 9 ); System.out.println(unsortMap); Map <String, Integer> result1 = unsortMap.entrySet().stream() .sorted(Map.Entry

Fix-Mapped Addresses

不问归期 提交于 2021-02-12 01:44:27
一、前言 某天,wowo同学突然来了一句:如果要在start_kernel中点LED,ioremap在什么时间点才能调用呢?我想他应该是想通过点LED灯来调试start_kernel之后的初始化的代码(例如DTB解析部分的代码)。那天,我们两个花了二十分钟的时间,讨论相关的问题,我觉得很有意思,因此决定写fix mapped address这样的一份文档。 在汇编代码中,由于没有打开MMU,想怎么访问外设都很简单,直接使用物理地址即可,然而,进入start kernel之后(打开了MMU),想要访问硬件都是那么的不方便,至少需要通过ioremap获取了虚拟地址之后才可以访问。但是,实际上,在内核的启动的初始阶段,内存管理子系统还没有ready,ioremap还不能调用(在mm_init之后可以正常使用)。 实际上,这个需求是和early ioremap模块相关,此外,还有一些其他的需求,内核合并了这些需求并提出了fix mapped address的概念。本文就是描述关于fix mapped address的方方面面,BTW,本文的代码来自4.4.6内核,体系结构相关的代码依然选择的是ARM64。 二、什么是fixmap? Fix map中的fix指的是固定的意思,那么固定什么东西呢?其实就是虚拟地址是固定的,也就是说,有些虚拟地址在编译(compile-time

Java面试必问-ThreadLocal

不羁岁月 提交于 2021-02-11 20:44:44
前言 在面试环节中,考察"ThreadLocal"也是面试官的家常便饭,所以对它理解透彻,是非常有必要的. 有些面试官会开门见山的提问: “知道ThreadLocal吗?” “讲讲你对ThreadLocal的理解” 当然了,也有面试官会慢慢引导到这个话题上,比如提问“在多线程环境下,如何防止自己的变量被其它线程篡改”,将主动权交给你自己,剩下的靠自己发挥。 那么ThreadLocal可以做什么,在了解它的应用场景之前,我们先看看它的实现原理,只有知道了实现原理,才好判断它是否符合自己的业务场景。 大家可以点击加群【JAVA架构知识学习讨论群】473984645,(如多你想跳槽换工作,但是技术又不够,或者工作遇到了瓶颈,我这里有一个Java的免费直播课程,讲的是高端的知识点,只要有1-5年的开发工作经验可以加群找我要课堂链接。)注意:是免费的 没有开发经验的误入。 ThreadLocal是什么 首先,它是一个数据结构,有点像HashMap,可以保存"key : value"键值对,但是一个ThreadLocal只能保存一个,并且各个线程的数据互不干扰。 ThreadLocal<String> localName = new ThreadLocal(); localName.set( "占小狼" ); String name = localName.get();