Tomato

布局之: flex(CSS3新增)

▼魔方 西西 提交于 2020-07-26 23:41:10
flex 基本概念   flex布局(flex是flexible box的缩写), 也称为弹性盒模型 。 将属性和属性值(display:flex; )写在哪个标签样式中,谁就是 容器;它的所有子元素自动成为容器成员,称为项目。 当一个元素的display 取值为flex,所有项目(子元素)会在一行显示;如果所有项目的尺寸之和大于容器,也不会超出父元素的宽、高度。不会换行(每个项目都会自动缩小相应的比例)。 <! DOCTYPE html > < html lang ="en" > < head > < meta charset ="UTF-8" > < meta name ="viewport" content ="width=device-width, initial-scale=1.0" > < title > 布局之:flex </ title > < link rel ="stylesheet" href ="./CSS/normalize.css" > < style > section { width : 500px ; height : 800px ; border : 2px solid black ; margin : 50px auto ; display : flex ; } div { width : 100px ; height : 100px ;

Detectron2源码阅读笔记-(二)Registry&build_*方法

人盡茶涼 提交于 2020-05-09 06:41:12
​ Trainer解析 我们继续 Detectron2代码阅读笔记-(一) 中的内容。 上图画出了 detectron2 文件夹中的三个子文件夹( tools,config,engine )之间的关系。那么剩下的文件夹又是如何起作用的呢? def main(args): cfg = setup(args) if args.eval_only: ... trainer = Trainer(cfg) trainer.resume_or_load(resume=args.resume) if cfg.TEST.AUG.ENABLED: trainer.register_hooks( [hooks.EvalHook(0, lambda: trainer.test_with_TTA(cfg, trainer.model))] ) return trainer.train() build_*方法 我们从 trainer = Trainer(cfg) 开始进一步了解。 Detectron2代码阅读笔记-(一) 中已经提到过一连串的Trainer的继承关系如下: tools.train_net.Trainer->detectron2.engine.default.DefaultTrainer->detectron2.engine.train_loop.SimpleTrainer-

怎样在 Vue 中使用 v-model 处理表单?

こ雲淡風輕ζ 提交于 2020-04-26 08:11:06
主要是通过 v-model 对表单元素做数据的 双向绑定 . 用法其实也很简单, 只是因为表单元素有不同类型, 处理方式有些许不同, 这点需要注意. 1. 如果是 输入框 , 可以直接使用 v-model="" , 注意这里的 .trim | .number | .lazy 是三个 v-model 的 修饰符 . 表示 去除输入内容的收尾空格 | 将输入的字符串转换为数值类型 | 让数据的更新在输入改变时进行 . <! DOCTYPE html > < html lang ="en" > < head > < meta charset ="UTF-8" > < script src ="https://cdn.staticfile.org/vue/2.2.2/vue.min.js" ></ script > < title > Vue Test </ title > < style > .style1 { width : 100px ; height : 100px ; background-color : tomato ; text-align : center ; line-height : 100px ; color : white ; cursor : pointer ; } </ style > </ head > < body > < div id ="app" > <

一份真实的Python面试题

北城余情 提交于 2020-04-23 04:39:16
自学Python已有一段时间了,就想着找份面试题来检验一下自己的学习情况,今天就和大家分享一份自己从网上找到的货真价实的Python面试题,每道题目看似简单,但如果基础知识不牢固,很容易回答不全面。 1. python 常用数据结构有哪些?请简要介绍一下。 答:Python中常见的数据结构可以统称为容器(container)。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器。所以,Python常用数据结构有: 列表、字典、元组、集合 。 关于这个问题,一般也会顺带问:Python中哪些数据类型是可变的,哪些是不可变的? 答:可变/不可变是针对该对象所指向的内存中的值是否可变来判断的。如可变类型的数据类型有: 列表、字典、集合 ;不可变类型的数据类型有: 字符串、元组、数字 。 2. 简要描述 Python 中单引号、双引号、三引号的区别。 答:首先,单引号和双引号在使用时基本上没有什么区别; 唯一需要注意的是: 当字符串中有单引号时,最好在外面使用双引号; 当有双引号时,最好在外面使用单引号; 三引号一般不常用,除了用来做注释外,还可以用来打印多行字符串。特殊用途,是可以打印多行字符串。 读者福利,想要了解python人工智能可直接点击链接即可领取相关学习福利包: 石墨文档 是安全网站放心,继续访问就可以领取了哦 3. 如何在一个 function

高度塌陷最终解决方案

。_饼干妹妹 提交于 2020-04-06 08:47:05
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>高度塌陷最终解决方案</title> <style> .box1{ border:solid tomato 10px; } .box2{ width: 200px; height: 200px; background-color: violet; /* 当我们设置浮动后,高度塌陷了。 我们分析,如果给 box1 中手动添加一个元素box3,(此时在文档流中)会撑起父元素的高度,我们把Box3的浮动影响清除即可. 这样可以解决问题,但是我们手动添加了这样一个box3 造成页面布局增加了(不推荐)。 此时我们可以考虑,使用css样式的伪元素选择器,在我们的box1最后加上一个(块元素),使之在文档流中,并清除浮动元素对它的影响,那么我们就 可以解决问题. */ float:left; } /* 解决高度塌陷最终方案 */ .box1::after{ content: ''; clear: both; /* 一定要将它变成块元素,行内元素无法撑起高度 */ display: block; } .box3{ clear: both; } </style> </head> <body> <div class="box1"> <div class=

设计模式之六大原则

落爺英雄遲暮 提交于 2020-03-15 18:25:23
1 概述 在面向对象的编程中,要实现一个功能,可以有非常多的方式。在多年的经验积累总结下来,人们发现优秀的的代码总是遵循一定的范式。其中23种 设计模式 (Design Patterns),就是前人对优秀代码的编程范式的总结,是面向对象编程的最佳实践。合理地运用这些 设计模式 ,已经是写出 高质量,高效率,可读性强,易维护 的代码的充要条件。 而 设计模式 的 六大原则 ,则是 设计模式 都会遵守的通用法则。本文将结合简单的例子,介绍这 六大原则 。 2. 六大原则 2.1 依赖倒置原则(Dependency Inversion Principle) 高层模块不应该依赖于底层模块,抽象不应该依赖于细节。因为相对于实现细节的多样性与易变性,抽象类要稳定得多。 换句话说,我们 应该针对接口编程 。看一个 反例 : public class DIViolation { public static void main(String[] args) { JavaDeveloper javaDeveloper = new JavaDeveloper(); PythonDeveloper pythonDeveloper = new PythonDeveloper(); Team team = new Team(javaDeveloper, pythonDeveloper); team

如何制定切实可行的计划并好好执行——2020年,我不想再碌碌无为

爱⌒轻易说出口 提交于 2019-12-29 17:17:59
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1 简介 转眼2019年即将结束,又到了做年度总结和下一年计划的时候了。经过多年的失败经历,是时候要总结出一些经验教训了。 本文整理了在计划与执行方面的个人学习心得体会,与大家分享,希望对自己有用,对大家也有用吧。 2 执行力 重要的事情先说三遍! 计划的本质是执行! 计划的本质是执行! 计划的本质是执行! 总结我多年失败的经验教训,失败最主要的原因就是没有执行好。任何计划,都是为了辅助我们更好地执行。有执行才有可能出结果,没有执行,计划就没有任何意义。 没有执行的计划就是废话。 要做到 知行合一,知善立行 。知是行之始,行是知之成。 每次制定完计划都有一种莫名的成就感,以为定了计划,目标就会达成了。就比如买了书就像读了一样,收藏了各种百度云盘的资源就以为学习了一样,办了健身卡就好像真的会瘦下去一样。然而,结果往往是不如意的,也许刚开始几天还好,能打开几页书读读,下载视频看看,去健身房跑个五公里,后面慢慢就没有继续了。也许,甚至都没有开始,就已经结束了。 所以,必须要强调执行力的重要性。提高执行力,不拖延,不找借口。先把事情做完,再把事情做好,不要一开始就苛求完美,结果可能会一事无成。 完成,比完美更重要 。 小结:计划的本质是执行!计划是为了更好地执行! 3 如何制定计划 虽说执行更重要

Nginx防盗链、访问控制、Nginx解析PHP相关配置、Nginx代理

痞子三分冷 提交于 2019-12-04 02:18:13
Nginx防盗链 在配置文件里写入以下内容: 用curl测试 访问控制 Nginx限制某些IP不能访问或者只允许某些IP访问。 配置文件写入如下内容: allow 表示允许访问的IP,deny限制访问的IP。 匹配正则来限制,在配置文件里写入下面内容 : location ~ .*(abc|image)/.*\.php$ { deny all; } 访问的URL中带有abc或image字符串,并且是PHP的请求拒绝访问。 也可以通过针对user_agent做限制,内容如下: if ($http_user_agent ~ 'Spider/3.0|YoudaoBot|Tomato') { return 403; } ~是匹配符号,user_agent中含有Spider/3.0或YoudaoBot或Tomato字符串的,都会被拒绝。return 403 表示返回403状态码,也可以换成deny all。 Nginx解析PHP相关配置 配置文件添加如下内容: fastcgi_pass 用来指定php-fpm的地址,这个地址要和php-fpm服务监听的地址匹配。 Nginx代理 一家公司由很多台服务器,为了节省成本,不能为所有的服务器都分配公网IP,如果一个没有公网IP的服务器要提供Web服务,就要通过Nginx代理实现。 如果Nginx后面有很多台Web服务器,同时代理

Java中的字符替换

匿名 (未验证) 提交于 2019-12-02 21:52:03
public class ReplaceStr { public static void main ( String [] args ) { String str = "orange.peach.banana.tomato" ; System . out . println ( str . replace ( "." , "|" )); //按照对应项目匹配 System . out . println ( str . replaceAll ( "." , "|" )); //按照正则的方式来匹配 System . out . println ( str . replaceFirst ( "." , "|" )); //替换第一个 } } 输出结果如下 orange | peach | banana | tomato |||||||||||||||||||||||||| | range . peach . banana . tomato 转载于:https://my.oschina.net/u/580135/blog/612278 来源:51CTO 作者: chuteng3602 链接:https://blog.csdn.net/chuteng3602/article/details/100772595