F2

详解HTTP中GET和POST的区别

大兔子大兔子 提交于 2019-11-30 17:56:15
前言 我在其它文章中曾说到了处理HTML表单时用到了GET和POST方法,那么,GET和POST是两个什么东西呢?用它们处理表单又有啥区别呢?你不知道,就看这篇文章吧。对你绝对有用,不管你信不信,反正我是信了。 除了GET和POST这两种方式以后,还有哪些呢?我接下来就先对HTTP中定义的操作进行总结一下。 HTTP中定义的有哪些? 我们都知道,使用URL可以确定一个资源所在的位置,那么我们确定这个资源以后,是如何对这个资源进行处理的呢? Http协议定义了客户端与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL定位了这个资源,而HTTP中的GET,POST,PUT,DELETE就是对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。那么,除了上面说的四种方法,HTTP还有其它方法么?其实HTTP中定义了以下几种请求方法: GET方法; HEAD方法; PUT方法; POST方法; TRACE方法; OPTIONS方法; DELETE方法。 现在就对上述的所有方法都介绍一下,增加大家对这些方法的一个总体认识。 Get是最常用的方法,通常用于请求服务器发送某个资源。 HEAD方法与GET方法的行为很类似,但服务器在响应中只返回实体的主体部分

ThinkPad E420 更改F1~F12按键为功能键模式

你离开我真会死。 提交于 2019-11-30 16:57:03
【参考】 怎么把F1-F12的功能按键模式修改为传统的单键快捷按键模式 本机(ThinkPad E420)设置: 开机出现LOGO,根据提示,及时按下回车键,进入startup interrupt menu界面,按下F1键可进入BIOS界面。或者在出现LOGO时,直接按下F1键,即可进入BIOS界面。 依次选择Config-Keyboard/Mouse,根据下方操作提示,设置Change F1~F2 keys的值为Legacy,保存并退出。 设置后,声音、亮度等功能可按相应Fn+Fx键实现。 来源: https://my.oschina.net/u/3697572/blog/3112211

2分钟上手、3小时学会无代码软件开发案例---客户通信录

我是研究僧i 提交于 2019-11-30 15:39:18
客户通讯录项目 *开发一个移动端应用,用来访客拍照保存,并记录访客详细信息 开发步骤 主要有5个大步骤: 步骤一:创建新项目后调整默认主页 步骤二:设计一个提交表单来保存访客信息 步骤三:拍照 步骤四:保存说客信息和照片 步骤五:显示保存的信息 完整的开发操作演示: 开发的项目案例下载---可以网盘下载案例导入开发工具对应操作演示进行学习 打开开发工具创建项目准备开发 运行TERSUS开发工具 ,Windows系统中选名称为 Tersus Visual Programming Platform 的程序; Mac电脑中运行 Tersus 程序 · 如果是第一次运行程序,则会显示一个欢迎使用的页面,显示如何快速开发一个项目,在页面中添加按钮,弹出“Hello World”的一个信息弹窗;关闭此页面后才能进入项目开发 · 注意如果是WIN10系统,需要以管理员方式打开TERUS软件进行无代码软件开发,否则会有一个如下的弹窗,提示“Workspace”---开发工具默认的项目文件夹---不能访问(在使用中或不能生成,请选择另一个) 项目文件夹 :可以用管理员打开后在工具的菜单栏中选File---Switch Workspace来选择非系统盘的一个文件夹设定为项目文件 新建一个项目 ,命名为“KEHU” 新建方式:File -> New Tersus Project 弹窗中输入项目名称

Java 转型问题(向上转型和向下转型)

自作多情 提交于 2019-11-30 14:25:32
Java 转型问题其实并不复杂,只要记住一句话:父类引用指向子类对象。 什么叫父类引用指向子类对象? 从 2 个名词开始说起 :向上转型(upcasting) 、 向下转型(downcasting) 。 举个例子:有2个类,Father 是父类,Son 类继承自 Father。 第 1 个例子: Father f1 = new Son(); // 这就叫 upcasting (向上转型) // 现在 f1 引用指向一个Son对象 Son s1 = (Son)f1; // 这就叫 downcasting (向下转型) // 现在f1 还是指向 Son对象 第 2 个例子: Father f2 = new Father(); Son s2 = (Son)f2; // 出错,子类引用不能指向父类对象 你或许会问,第1个例子中: Son s1 = (Son)f1; 问为什么是正确的呢。 很简单因为 f1 指向一个子类对象,Father f1 = new Son(); 子类 s1 引用当然可以指向子类对象了。 而 f2 被传给了一个 Father 对象,Father f2 = new Father(); 子类 s2 引用不能指向父类对象。 总结: 1、父类引用指向子类对象,而子类引用不能指向父类对象。 2、把子类对象直接赋给父类引用叫upcasting向上转型,向上转型不用强制转换吗,如:

Django开发密码管理表实例【附源码】

房东的猫 提交于 2019-11-30 13:57:50
  文章及代码比较基础,适合初、中级人员,高手略过      阅读此篇文章你可以:      获取一个Django实现增删改查的案例源码      了解数据加密的使用场景和方法以及如何在Python3中使用      背景介绍      DBA需要维护一张密码表,主要记录数据库中创建的账号密码信息,大概如下:      目前的维护方式还是最传统的Excel,一个人更新给多个人同步,Excel设置密码以保证安全性,原始且效率低下,既然我们已经上线了overmind数据库运维系统,何不在系统里边集成这个功能呢?      技术实现      简单分析就可以知道,我们要实现的功能如下:      1.最基础的表单增删改查      2.涉及到密码存储需要加密      update_or_create      表单增删改查大家应该都比较熟悉了,实现方式有很多,我们采用了最简单的view方法来实现,详细内容查看源代码。      代码中用到了Django的一个QuerySet API可能部分人没有用过update_or_create,这里详细介绍下      update_or_create(defaults=None, **kwargs)      看到方法的命名大概也能猜出来这个方法的主要作用就是更新或者创建model数据,那么究竟什么情况下更新?什么情况下创建呢?主要根据传入的*

ForkJoin实现分而治之

依然范特西╮ 提交于 2019-11-30 12:01:13
对于简单的并行任务可以通过"线程池+Future"方案来解决。 如果任务额之间有聚合关系(AND聚合或者OR聚合)用CompletableFuture解决。 批量的并行任务用CompletionService解决。 并发编程可以分为三个层面的问题: 分工,协作,互斥。 ForkJoin有什么用 Fork/Join是一个并行计算的框架,主要就是用来支持分治任务模型的,这个计算框架里的Fork对应的是分治任务模型里的任务分解,Join对应的是结果合并。 什么是分治 把一个复杂的问题分解成多个相似的子问题,然后把子问题分解成更小的子问题,知道子问题简单到可以直接求解。 算法领域有分治算法(归并排序、快速排序都属于分治算法,二 分法查找也是一种分治算法);大数MapReduce也是。 分治模型 分治任务可以分成两个阶段:任务分解,结果合并。 Fork/Join的使用 Fork/Join计算框架主要包含两部分,一部分是分治任务的线程池ForkJoinPool,另一部分是分治任务ForkJoinTask。这两部分的关系类似ThreadPoolExecutor和 Runnable的关系,都可以理解为提交任务到线程池,只不过分治任务有自己独特类型ForkJoinTask。 ForkJoinTask ForkJoinTask是一个抽象类最核心的是fork()方法和join()方法,fork(

CompletionService批量执行异步任务

风格不统一 提交于 2019-11-30 11:58:41
CompletionService的实现原理也是内部维护了一个阻塞队列,当任务执行结束就把任务的执行结果加入到 阻塞队列中,不同的是CompletionService是把任务执行结果的Future对象加入到阻塞队列中 CompletionService能做什么? 将异步任务的结果保存到队列中,主线程从队列中取出这些结果数据执行。 场景: 向不同电商平台询价,并保存价格 采用“ThreadPoolExecutor+Future”的方案:异步执行询价然后再保存 // 创建线程池 ExecutorService executor = Executors.newFixedThreadPool(3); // 异步向电商S1询价 Future<Integer> f1 = executor.submit(()->getPriceByS1()); // 异步向电商S2询价 Future<Integer> f2= executor.submit(()->getPriceByS2()); // 获取电商S1报价并异步保存 executor.execute(()->save(f1.get())); // 获取电商S2报价并异步保存 executor.execute(()->save(f2.get()) 这个如果获取电商S1报价的耗时很长,那么即便获取电商S2报价的耗时很短

CompletableFuture异步编程

杀马特。学长 韩版系。学妹 提交于 2019-11-30 10:53:30
CompletableFuture 有什么用 CompletableFuture是用来描述多线程任务的时序关系的:串行关系,并行关系,聚合关系。 CompletableFuture 是Java 8 新增加的Api,该类实现,Future和CompletionStage两个接口,提供了非常强大的Future的扩展功能,可以帮助我们简化异步编程的复杂性,提供了函数式编程的能力,可以通过回调的方式处理计算结果,并且提供了转换和组合CompletableFuture的方法。 创建CompletableFuture对象 方式一:使用默认线程池 /** * 创建一个不带返回值得任务。 */ CompletableFuture<Void> f1 = CompletableFuture.runAsync(new Runnable() { @Override public void run() { //业务逻辑 } }); /** * 创建一个带返回值的任务。 */ CompletableFuture<String> f2 = CompletableFuture.supplyAsync(new Supplier<String>() { @Override public String get() { //业务逻辑 return null; } }); 方式二:使用自定义线程池(建议使用) /

如何进行渗透测试网站域名

北城以北 提交于 2019-11-30 09:29:58
网站上线前需要对网站进行渗透测试,上一节我们Sine安全讲师讲了web的基础知识了解,明白了具体web运行的基础和环境和协议,这一节我们来讨论下域名和DNS工作原理以及http状态码和请求的协议来分析检测中的重点域名收集。 1.3. 域名系统 1.3.1. 域名系统工作原理 DNS解析过程是递归查询的,具体过程如下: 用户要访问域名www.xxxxx.com时,先查看本机hosts是否有记录或者本机是否有DNS缓存,如果有,直接返回结果,否则向递归服务器查询该域名的IP地址 递归缓存为空时,首先向根服务器查询com顶级域的IP地址 根服务器告知递归服务器com顶级域名服务器的IP地址 递归向com顶级域名服务器查询负责xxxxx.com的权威服务器的IP com顶级域名服务器返回相应的IP地址 递归向xxxxx.com的权威服务器查询www.xxxxx.com的地址记录 权威服务器告知www.xxxxx.com的地址记录 递归服务器将查询结果返回客户端 1.3.2. 根服务器 根服务器是DNS的核心,负责互联网顶级域名的解析,用于维护域的权威信息,并将DNS查询引导到相应的域名服务器。 根服务器在域名树中代表最顶级的 . 域, 一般省略。 13台IPv4根服务器的域名标号为a到m,即a.xxxxx.com到m.xxxxx.com,所有服务器存储的数据相同

Excel插入批注:可在批注插入文字、形状、图片

旧巷老猫 提交于 2019-11-30 03:37:26
1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批注面板---->颜色填充--->填充效果---->图片填充 --------> 4.设置批注文本框的形状: 来源: https://my.oschina.net/u/4050043/blog/3108300