首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端- css 什么注释?

此处有一个例外,由于CSS有很多属性,也许有些属性你完全不知道,那么你用这种注释正常。...这个一个函数调用,函数名已经足够解释了。优先用这种方式来说明用途可以替代一些注释。 CSS预处理器让CSS更接近传统编程语言。尽可能使用命名良好且有意义变量和函数,这样能让代码更清晰。...我第一反应就是也许文件还有一个> li > a选择器,而这行代码就是指那个选择器。也许文件中有一段注释会专门解释为何这样写,但我将文件重头到尾都看了一边,发现并没有这个选择器。...文件只有一个.dropdown-item选择器下有一个nowrap属性,也许是就是指这个?或者也许这段注释指某行已经被删除代码或引入其他文件代码?...我开始发现“代码异味(Code Smell)”之前,一开始.dropdown-item代码有十行,我非常喜欢用mixin,mixin一个能极大减少代码行数好东西,它能让我们快速知道代码大致用途

1.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

TomcatSpringBoot如何启动

SpringBoot如何启动Tomcat,同时也将展开学习下Tomcat源码,了解Tomcat设计。...其实上面这段代码,如果只要分析tomcat内容的话,只需要关注两个内容即可,上下文如何创建,上下文如何刷新,分别对应方法就是createApplicationContext() 和refreshContext...()我们可以知道,Tomcat最顶层Server,Server就是Tomcat实例,一个Tomcat一个Server;通过getEngine()我们可以了解到Server下面Service,而且多个...另外我们根据setConnector源码可以知道,连接器(Connector)设置service下,而且可以设置多个连接器(Connector)。...发布应用启动完成事件 而启动Tomcat就是第7步“刷新上下文”;Tomcat启动主要是初始化2个核心组件,连接器(Connector)和容器(Container),一个Tomcat实例就是一个Server

1.5K30

TomcatSpringBoot如何启动

包,直接启动,这就得益于SpringBoot内置了容器,可以直接启动,本文将以Tomcat为例,来看看SpringBoot如何启动Tomcat,同时也将展开学习下Tomcat源码,了解Tomcat...,上下文如何刷新,分别对应方法就是createApplicationContext() 和refreshContext(context),接下来我们来看看这两个方法做了什么。...()我们可以知道,Tomcat最顶层Server,Server就是Tomcat实例,一个Tomcat一个Server;通过getEngine()我们可以了解到Server下面Service,而且多个...另外我们根据setConnector源码可以知道,连接器(Connector)设置service下,而且可以设置多个连接器(Connector)。...输出banner 创建上下文 预处理上下文 刷新上下文 再刷新上下文 发布应用已经启动事件 发布应用启动完成事件 而启动Tomcat就是第7步“刷新上下文”;Tomcat启动主要是初始化2个核心组件

1.6K20

Netty Dubbo 如何应用

众所周知,国内知名框架 Dubbo 底层使用 Netty 作为网络通信,那么内部到底如何使用呢?今天我们就来一探究竟。...1. dubbo Consumer 消费者如何使用 Netty 注意:此次代码使用了从 github 上 clone dubbo 源码 dubbo-demo 例子。...当然这里使用 jboss netty3,稍微有点区别。点击这篇:教你用 Netty 实现一个简单 RPC。当连接成功后,注册写事件,准备开始向提供者传递数据。...然后执行了 DubboProtocol createServer 方法,然后创建了一个NettyServer 对象。NettyServer 对象 构造方法同样 doOpen 方法和。...看到了熟悉 boss 线程,worker 线程,和 ServerBootstrap,添加了编解码 handler 之后,添加一个 NettyHandler,最后调用 bind 方法,完成绑定端口工作

86530

TomcatSpringBoot如何启动

jar包,直接启动,这就得益于SpringBoot内置了容器,可以直接启动,本文将以Tomcat为例,来看看SpringBoot如何启动Tomcat,同时也将展开学习下Tomcat源码,了解Tomcat...其实上面这段代码,如果只要分析tomcat内容的话,只需要关注两个内容即可,上下文如何创建,上下文如何刷新,分别对应方法就是createApplicationContext() 和refreshContext...()我们可以知道,Tomcat最顶层Server,Server就是Tomcat实例,一个Tomcat一个Server;通过getEngine()我们可以了解到Server下面Service,而且多个...另外我们根据setConnector源码可以知道,连接器(Connector)设置service下,而且可以设置多个连接器(Connector)。...发布应用启动完成事件 而启动Tomcat就是第7步“刷新上下文”;Tomcat启动主要是初始化2个核心组件,连接器(Connector)和容器(Container),一个Tomcat实例就是一个Server

1.3K50

SQL语句MySQL如何执行

修改完成后,只有再重新建立连接才会使用到新权限设置。 建立连接过程通常是比较复杂,所以我建议你使用要尽量减少建立连接动作,也就是尽量使用长连接。...MySQL 拿到一个查询语句,会先查询缓存,先校验这个语句是否执行过,以 key-value 形式存在内存里, Key 查询预计,Value 结果集。...如果缓存 key 被命中,就会直接返回给客户端,如果没有命中,就会执行后续操作,完成后也会把结果缓存起来,方便下一次调用。当然真正执行缓存查询时候还是会校验用户权限,是否有该表查询条件。...优化器 经过了分析器分析,MySQL 知道你要干啥了,开始执行之前,还要先经过优化器处理。...优化器作用就是它认为最优执行方案去执行(虽然有时候也不是最优),比如多个索引时候该如何选择索引,多表查询时候如何选择关联顺序等。

4.3K20

Java 类 Tomcat 如何加载

很纳闷....为什么会优先加载src下Java文件(编译出class),而不是jar包class呢? 现在了解Tomcat类加载机制,原来一切这么简单。 ?...当用户自己代码,需要某些额外类时,再通过加载机制加载到JVM,并且存放一段时间,便于频繁使用。 因此使用哪种类加载器、什么位置加载类都是JVM重要知识。...需要注意,不同类加载器加载不同,因此如果用户加载器1加载某个类,其他用户并不能够使用。...三、Tomcat类加载 Tomcat加载稍有不同,如下图: ?...4、webapp 应用类加载器 每个应用在部署后,都会创建一个唯一类加载器。

2.4K20

GaiaWorld公链,地址如何成功锻造一个区块

微信公众号:GAIAWorld 要讨论一个区块诞生,一个地址如何成功锻造一个区块就一定绕不开讨论共识机制。...共识机制分布式系统核心,P2P网络,互相不信任节点通过遵循预设机制最终达到数据一致性称为共识。...那么GaiaWorld公链设计CPoS共识机制之下,一个地址如何成功锻造一个区块呢?(锻造区块:类似于以太坊挖矿)。...不难看出,Gaia链,投票权与保证金数量正相关关系相比PoS机制特意降低过,这样是为了激励更多锻造委员参与到区块锻造来,既能够保证小额锻造委员锻造权益,也能够保证有更多节点主体参与到维护公链来...总结: 以上简单描述了Gaia链中一个地址如何加入锻造委员会,如何获得区块锻造权利,但CPoS设计细节远不止于此,并且还涉及到与加密算法、验证节点权益状态等技术交叉,我们将在之后文章中进行逐步分析

60530

golang 如何对 epoll 进行封装

大家好,我飞哥! 协程没有流行以前,传统网络编程,同步阻塞性能低下代名词,一次切换就得 3 us 左右 CPU 开销。...如果接收到了连接请求,通过go process 来启动一个协程进行处理。连接处理我展示了读写操作(Read 和 Write)。...和其它语言不同, golang net listen ,会完成如下几件事: 创建 socket 并设置非阻塞, bind 绑定并监听本地一个端口 调用 listen 开始监听 epoll_create... ListenConfig Listen 判断这是一个 TCP 类型的话,会进入到 sysListener 下 listenTCP 方法里(src/net/tcpsock_posix.go)。...图解 | 深入理解高性能网络开发路上绊脚石 - 同步阻塞网络 IO 图解 | 深入揭秘 epoll 如何实现 IO 多路复用! 漫画 | 看进程小 P 讲述它网络性能故事!

3.4K30

高级语言中语句汇编如何实现

我们都知道对于c语言来说,它是需要先转换成汇编语言,然后再生成机器语言。那么c语言中,各种条件语句,各种表达式计算,汇编何如实现呢?今天我们就来讲解一下。...因为汇编语言和机器语言绑定,而不同机器语言不同,因此,汇编语言不可移植,而高级语言可移植,这也是为什么人们更多地用高级语言来开发应用一个原因。...汇编语言中,我们可以通过设置标号来实现语句跳转,例如高级语言if判断,汇编语言中,就可以这样实现。 对于循环语句,其实也是一样,也是通过跳转指令来实现。...循环内部,EAX val1 代理(替代品),对 val1 引用必须要通过 EAX。JNL 使用意味着 val1 和 val2 有符号整数。...逻辑判断实现也是通过跳转指令来实现,具体如下。 通过上面的例子我们可以看出,无论怎样复杂逻辑,无论循环还是条件判断,底层汇编层,其实都是通过跳转指令来实现

62420

一个变量在内存如何存储

我们自学习一门高级语言时,都要了解数据成分,可你们知道高级语言中数据都是如何在内存存储吗?今天我就来介绍一下。...通过原码得到反码,反码就是原码基础,取反,如果原码值为0,就变为1,如果值为1就变为0,符号位不变。 ? 最后通过反码得到补码,补码就是反码基础加1即可。 ?...这里说明一下:如果无符号数,即原码就是补码,不需要和有符号数那样进行多次转换,内存存储就是原码。 用例子来证明一下: ?...由于我们test2一个无符号int型变量,所以他就把这个32个1直接转为了10进制,也就是 ? 看到这里,我相信大家应该明白了变量如何在内存中表示,以及有符号和无符号变量区别了吧。...注意:只有当数值为负数时,在内存才会存补码形式。 比如:int i=124; 虽然我定义一个有符号型int变量,但是由于i一个正数,所以在内存存储形式为原码: ?

2.7K40

一条SQL语句MySQL如何执行

来源:http://t.cn/E6U9Z9T ---- 概览 本篇文章会分析下一个sql语句mysql执行流程,包括sql查询mysql内部会怎么流转,sql语句更新怎么完成。...一、mysql架构分析 下面mysql一个简要架构图: ?...查询缓存 连接建立后,执行查询语句时候,会先查询缓存,Mysql会先校验这个sql是否执行过,以Key-Value形式缓存在内存,Key查询预计,Value结果集。...第二步,语法分析,主要就是判断你输入sql是否正确,是否符合mysql语法。 完成这2步之后,mysql就准备开始执行了,但是如何执行,怎么执行最好结果呢?这个时候就需要优化器上场了。...二、语句分析 2.1 查询语句 说了以上这么多,那么究竟一条sql语句如何执行呢?其实我们sql可以分为2,一种查询,一种更新(增加,更新,删除)。

2K20

016:字符串对象JVM如何存放

本文首发于公众号:javaadu 典型答案 字符串对象JVM可能有两个存放位置:字符串常量池或堆内存。...使用常量字符串初始化字符串对象,它值存放在字符串常量池中 使用字符串构造方法创建字符串对象,它值存放在堆内存 String提供了一个API——java.lang.String.intern()...1.7之前,字符串常量池PermGen区域,这个区域大小固定——不能在运行时根据需要扩大,也不能被垃圾收集器回收,因此如果程序中有太多字符串调用了intern方法的话,就可能造成OOM。...jvm.h,实现在jvm.cppJVM,Java世界和C++世界连接层就是jvm.h和jvm.cpp这两文件。...内部就是一个HashTable,也就是上面代码StringTable。

2.1K10

函数表达式JavaScript如何工作

JavaScript,函数表达式一种将函数赋值给变量方法。函数表达式可以出现在代码任何位置,而不仅仅是函数声明可以出现位置。...函数表达式语法如下: var myFunction = function() { // 函数体 }; 上述代码,将一个匿名函数赋值给变量myFunction。...这意味着myFunction变量现在持有了一个函数作为其值。 函数表达式工作方式如下: 1:变量声明:使用var、let或const关键字声明一个变量,例如myFunction。...这样函数函数内部和外部都可以通过函数名来调用自身。...函数声明会被提升到作用域顶部,而函数表达式不会被提升。因此,使用函数表达式之前,需要确保该表达式已经被赋值。此外,函数表达式还可以根据需要在运行时动态创建函数,具有更大灵活性。

18450

程序员企业如何做需求

企业一个需求从产生到完成生命周期是什么样。...一般来说需求都是由业务人员收集业务痛点,将这个痛点转换成需求;还有些需求是产品经理拍脑袋产生... 这是一个很大的话题,同时也会诞生各种各样奇葩需求,和大量就业岗位。有个学妹自学了半年编程。...实际工作,项目的根据大小还有背景不同、整个生命周期也会有一些差别。大体分为:计划、设计、开发、测试、维护等步骤,我们就以一个需求生命周期来分析。...比如,有客户说,我们公司现在已经 3 个人了,需要一个用户管理系统来把这些人管理起来,你帮我安排一下。拿到需求后,要做一个用户相关系统,我给他起个名字就叫《用户中心》管理系统。...部署上线一般项目开发最后一步,运维人员会将项目部署到用户可以访问服务器,正式开始使用。

10310

如何找到 Google Colaboratory 一个 xss 漏洞

view=classic 翻译作者:晚风(信安之路作者团队成员) 本文中,我来讲讲我碰到一个有趣 XSS。2018 年 2 月,我 google 一个网络应用中发现了这个 XSS。...什么 Google Colaboratory Google Colaboratory 基于 Jupyter Notebook 一个应用,主要作为大数据分析记录数据笔记本。...这种处理方式科学研究很方便。你可以准备一组数据和以什么方式处理这组数据代码或者维恩图。 Colaboratory 首页就有这种例子展示。 ?...一个非常常见 markdown 解析器中注入 js 代码方法使用 javascript 伪协议超链接,像这段代码: [CLICK](javascript:alert(1)) 被解析后就会被变成...总结 最后总结一下,首先我展示了我如何在 Colaboratory 识别 XSS,然后通过 MathJax 依赖库寻找到了安全问题从而在 DOM 树中注入了我们恶意代码。

1.5K00

CSS混合模式,制作高级特效必备技巧 进入mix-Blend-Mode

根据维基百科: 数字图像编辑和计算机图形混合模式(或混合模式)用于确定两个图层如何相互混合。大多数应用程序,默认混合模式只是通过用顶层内容覆盖底层来隐藏底层。...我们以一个基本例子来看一下它是如何工作。 我标题上方有一个圆圈。 我要做将文本与圆混合。...在此示例,我想探讨文本如何与树叶背景融合。 由于图像包含暗点和亮点,因此使文本看起来像在每片叶子下移动一样,这将起到非常有用作用。 ?...由于SVG减去了形状,因此这是不可能。 一种解决方法SVG后面放置一个圆圈,并在悬停时对其进行着色。 ? 对我来说,这还不够。我也想反过来,三形必须白色,其余蓝色。...大家都说简历没项目写,我就帮大家找了一个项目,还附赠【搭建教程】。 从徽标背景删除白色 我Photoshop早期就知道这个技巧。有时,我需要一个品牌标志,它是很难得到一个透明PNG版本。

3.1K30
领券