java如何优雅的避免npe判定
optional小结 java8使用Optional实现优美的npe判断 1、optional是那种初始化方法 //空的optional对象 Optional<String> empty = Optional.empty(); //不为null的optional对象
Optional<String> str = Optional.of("hello world"); //可以为null的optional对象
Optional<String> nullable = Optional.ofNu
Codeforces 1076G Array Game 博弈 + 线段树 (看题解)
Array Game 考虑最裸的dp去求胜负态。 dp[ i ] 从后面的 m 个状态转移过来。 我们考虑如何用线段树维护, T[ i ][ mask ] 表示 i 这段区间如果后面接的m位是mask使时开头m位的mask, 对于修改的话只要维护一个反过来的T2就可以了。 感觉是可以想出来的题, 为什么没想出来啊啊啊。 #include<bits/stdc++.h>
#define LL long long
using namespace std;
const int N = (in
P5025 [SNOI2017]炸弹
第一篇黑题题解qwq 由于窝在做zhx的模拟题被2-SAT加线段树优化建边搞炸了,所以一气之下来学了这两个东西ww 这篇就是线段树优化建边 直接步入正题,先来看题目 题目描述 在一条直线上有\(N\)个炸弹,每个炸弹的坐标是 \(X_i\),爆炸半径是 \(R_i\),当一个炸弹爆炸时,如果另一个炸弹所在位置\(X_j\) 满足: \(X_i-R_i\leq X_j \leq X_i+R_i\) ,那么,该炸弹也会被引爆。 现在,请你帮忙计算一下,先把第\(i\)个炸弹引爆,将引爆多少个炸弹呢
【ToDoList】等待填满的坑(等我不想动脑肝题时)
农场万圣节tarjan做法 https://www.cnblogs.com/jian-song/p/11643244.html 草鉴定“简单”做法 https://www.cnblogs.com/jian-song/p/11722639.html
浏览器渲染页面的原理及流程
我们可能都知道浏览器含有一个渲染引擎,用来渲染窗口所展示的内容。默认情况下,渲染引擎可以显示html、xml文档及图片,它也可以借助插件(一种浏览器扩展)显示其他类型数据,例如使用PDF阅读器插件,用于显示PDF格式。但是其具体的渲染原理和流程估计也有很多人都不知道或者不清楚吧。这些天研究了一下浏览器的渲染原理,有了些心得,在这里跟大家分享一下。 网页浏览器的排版引擎也被称为页面渲染引擎,它负责取得网页的内容(HTML、XML、图象等等)、整理信息(例如加入CSS等),以及计算网页的显示方式然
docker指定固定IP创建容器
问题描述: docker默认使用的docker0,子网172.17.0.0/16,不支持指定IP启动容器 问题解决: 新增网段bridge指定别的网段即可 01、docker新增network 新建network
Python高阶用法总结
目录 1. lambda匿名函数 1.1 函数式编程 1.2 应用在闭包 2. 列表解析式 3. enumerate内建函数 4. 迭代器与生成器 4.1 迭代器 4.3 生成器 5. 装饰器 前言: 接触python有一段时间了,从开始的看菜鸟的python教程,看了一些视频,一些书。很多人感觉python很简单,确实相比其他语言,python可能稍微简单一点,但是不能说只学了python基础语法就说自己python水平可以了。最近在阅读YOLOv3的pytorch版本源码,就遇到很多瓶颈,
pip安装Scrapy因网络问题出错备选方案
一 更改pypi默认源 执行 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 执行pip install scrapy就能迅速安装. 二 下载anaconda开源包管理器 Anaconda官网下载3.7安装包,完成安装. 修改用户目录下的 .condarc 文件:[1]添加 Anaconda Python 免费仓库.(Windows 用户无法直接创建名为 .condarc 的文件,可先执行 con
如何在github中写出自己的readme文件
一、问题 最近想做一个论文阅读的github库,想到写一个readme文件,但怎么能写得和一些官方readme文件一样呢,在网上找了很多教程,世界上都是千篇一律,连改都不改,直接复制,真是太垃圾了。 二、解决 在找的过程中,一个人的回答真的是很不错,直接把写得好 的文件扒下来,理解一下,照着写就是了。例如问答中推荐的readme文件,把它copy下来,在typora中的源码模式中paste完了之后关闭源码模式,就可以显示。然后找到你想要的,直接比对着做就好了。
CentOS7.X系统安装部署Consul1.4.2
本文介绍使用docker方式安装consul和传统方式部署:一、基于docker安装部署consul:1、直接dockerrun运行consul,下载consul1.4.2镜像#dockerrun-d--nameconsulconsul:1.4.22、将consul镜像内的/consul目录拷贝至本地保存,数据信息持久化#exportCONSULE_CONTANER_ID=dockerps-aq#
Web前端助手-功能丰富的Chrome插件
整合优秀的前端实用工具。免费,可配置的强大工具集 示例 安装 github仓库: https://github.com/zxlie/FeHelper 官网地址:https://www.baidufe.com/fehelper Chrome商店:https://chrome.google.com/webstore/detail/pkgccpejnmalmdinmhkkfafefagiiiad 安装教程:https://www.baidufe.com/item/d1b710c290b38bda6b
Raid 10配置流程(五块磁盘)
Raid 10配置流程(五块磁盘) 1.在虚拟机中再添加5块硬盘。 2.使用mdadm命令创建raid10,名称为“/dev/md0” -C代表创建操作,-v显示创建过程,-a yes检查RAID名称,-n是用到的硬盘个数,-l是定义RAID的级别而后面写上要加入阵列的硬盘名称。 输入mdadm -Cv /dev/md0 -a yes -n 5 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf 3.格式化并挂载使用 将RAID磁盘阵列格式化为
day29作业写一个基于TCP协议套接字,服务端实现接收客户端的连接并发。
写一个基于TCP协议套接字,服务端实现接收客户端的连接并发。 # server端
from socket import *
from multiprocessing import Process
server=socket(AF_INET,SOCK_STREAM)
server.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
server.bind(('127.0.0.1',8080))
server.listen(5)
def talk(conn,clien
2019-9-9:渗透测试,docker下载dvwa,使用报错型sql注入dvwa
docker下载dvwa镜像,报错型注入dvwa,low级 一,安装并配置docker 1,更新源,apt-get update && apt-get upgrade && apt-get clean 2,安装docker,apt-get install docker.io 3, 配置docker加速器,vim /etc/docker/daemon.json { "registry-mirrors": [ "https://dockerhub.azk8s.cn", "https://reg-m
python中自定义函数的保留字是
Python使用def开始函数定义,紧接着是函数名,括号内部为函数的参数,内部为函数的具体功能实现代码,如果想要函数有返回值, 在expressions中的逻辑代码中用return返回。 自定义函数 创建函数非常简单,它使用关键字(保留字) “def”,下面的代码创建了一个带有一个参数的函数,并使用不同的参数调用 运行程序可以得到下面输出: 可以看到,传入的参数被赋值给变量name,然后执行函数内的代码块,对!这也是一种代码块,注意后面的冒号 函数并非一定要有参数,我们完全可以定义一个不带参数
20182330 2019-2020-1 《数据结构与面向对象程序设计》实验五报告
20182330 2019-2020-1 《数据结构与面向对象程序设计》实验五报告 课程:《程序设计与数据结构》 班级: 1823 姓名: 魏冰妍 学号:20182330 实验教师:王志强 实验日期:2019年10月14日 必修/选修: 必修 1.实验内容 1.Android Stuidio的安装测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章: 参考http://www.cnblogs.com/rocedu/p
2019-2020-1学期20192431《网络空间安全导论》第三周学习总结
问题: 1、怎么看寄存器中存放的是什么? 2、例如操作数说明符是0000000000011111,为什么是001F和0020中的内容被载入寄存器?这是怎么看的? 3、为什么pep/8中的单位执行我点不了呢? 第六章 存储、检索和处理是计算机能够对数据执行的动作。在算数逻辑单元中以某种方式处理数据,在机器层中,处理涉及在数据值上执行算术和逻辑操作。 机器语言:由计算机直接使用的二进制编码指令构成的语言。 Pep/8:一台虚拟机 虚拟机:为了模拟真实机器的重要特征而设计的假想机器。Pep/8有七个
nginx--location
location介绍 匹配指定的请求uri(请求uri不包含查询字符串,如http://localhost:8000/test?age=18,请求url是/test) 语法:location [ = | ~ | ~* | ^~ | @] /uri/ { configuration } 匹配的优先级 匹配符 匹配规则 优先级
= 精确匹配 # 1
^~ 以某个字符串开头 # 2
~ 区分大小写的正则匹配 # 3
~* 不区分大小写的正则匹配 #
今日推荐
周排行