go

网页|CSS字体介绍

南楼画角 提交于 2021-01-09 06:59:01
欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号: "算法与编程之美",欢迎关注,及时了解更多此系列文章。 除了上一节我们讲到的背景以外,字体也是一个我们最常用到的属性,接下来我们就来讲一讲CSS字体。 CSS字体(font)属性定义文本中的字体,我们将从以下几个方面进行介绍。 属性 描述 font 简写属性。在一个声明中设置所有字体属性 font-family 字体系列 font-size 字体尺寸 font-size/line-height 字体尺寸和行高 font-style 字体风格 font-weight 字体粗细 可以使用font-family属性定义文档采用的优先字体系列。 1. 通用字体系列 CSS定义了5种通用字体系列: a) Serif字体系列的字体成比例,而且有上下短线。成比例是指字体中的所有字符根据其不同大小有不同的宽度。例如,小写i和小写m的宽度就不同。上下短线是每个字符笔划末端的装饰,比如大写A两条腿底部的短线。Serif字体系列包括Times、Georgia和NewCentury Schoolbook。 b) Sans-serif字体系列的字体是成比例的,没有上下短线。包括Helvetica、Geneva、Verdana、Arial或Univers。 c) Monospace字体系列的字体并不是成比例的,通常用于打印机输出

layui form 表单提交 用 ajax提交

自古美人都是妖i 提交于 2021-01-09 05:37:51
layui form 表单提交 用 ajax提交 <form class="addvoteform layui-form "> <button class="layui-btn layui-btn-sm" lay-submit lay-filter="formDemo2" >确定</button> </form>    form.on('submit(formDemo2)', function(data){           /* layer.msg(JSON.stringify(data.field)) */ $.ajax({ url:"../Contestant/Employee.do", async: false, type:"POST", dataType: " text ", data:data.field, success: function(data){ if($("#isphone").val()==0){ var index = parent.layer.getFrameIndex(window.name); parent.layer.close(index); }else { window.history.go(-1); } } }) return false; });    来源: oschina 链接: https://my.oschina.net/u

Java日志框架中真的需要判断log.isDebugEnabled()

旧时模样 提交于 2021-01-08 16:07:17
转载: https://blog.csdn.net/neosmith/article/details/50100061 2020博客地址汇总 2019年博客汇总 很多人在使用日志框架时进行 debug() 输出时都会先判断一下当前的日志级别,如: if (log.isDebugEnabled()) { log.debug(... ...); } 实际上,在多数时候这是不必要的。 为什么要提前判断? 在N久以前,很多日志框架都不支持 {} 模板的写法(如 Log4j1.X , Apache Commons Logging ),于是只能通过字符串拼接来输出日志内容: log.debug("hello, this is " + name); 这样一来,每当JVM执行到此时,不管你当前的日志级别是多少,都会执行一次字符串拼接,然后将结果做为形参传递给 debug() 方法,这样就带来了无用的性能损耗。这时,提前判断 isDebugEnabled() 可以解决此问题: if (log.isDebugEnabled()) { log.debug("hello, this is " + name); } 这样写的好处有二: 当日志级别在 DEBUG 以下时, log.debug("hello, this is " + name) 就不会执行,从而没有字符串拼接的开销。 JIT在运行时会优化 if

如何编写安全的PHP代码

孤街醉人 提交于 2021-01-08 08:10:56
绝不要信任外部数据或输入 关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据。外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据。在采取措施确保安全之前,来自任何其他来源(比如 GET 变量、表单 POST、数据库、配置文件、会话变量或 cookie)的任何数据都是不可信任的。 例如,下面的数据元素可以被认为是安全的,因为它们是在 PHP 中设置的。 <?php $myUsername = 'tmyer'; $arrayUsers = array('tmyer', 'tom', 'tommy'); define("GREETING", 'hello there' . $myUsername); ?> 但是,下面的数据元素都是有瑕疵的。 <?php $myUsername = $_POST['username']; //tainted! $arrayUsers = array($myUsername, 'tom', 'tommy'); //tainted! define("GREETING", 'hello there' . $myUsername); //tainted! ?> 为什么第一个变量 $myUsername 是有瑕疵的?因为它直接来自表单 POST。用户可以在这个输入域中输入任何字符串

Linux内存、Swap、Cache、Buffer详细解析

旧巷老猫 提交于 2021-01-08 07:51:32
作者:CircleBlog 链接:https://my.oschina.net/circleblog/blog/715711 1. 通过free命令看Linux内存 total:总内存大小。 used:已经使用的内存大小(这里面包含cached和buffers和shared部分)。 free:空闲的内存大小。 shared:进程间共享内存(一般不会用,可以忽略)。 buffers:内存中写完的东西缓存起来,这样快速响应请求,后面数据再定期刷到磁盘上。 cached:内存中读完缓存起来内容占的大小(这部分是为了下次查询时快速返回)。 -/+ buffers/cache看做两部分: -buffers/cache:正在使用的内存大小(注意不是used部分,因为buffers和cached并不是正在使用的,组织和人民需要是它们是可以释放的),其值=used-buffers-cached。 +buffers/cache:可用的内存大小(同理也不是free表示的部分),其值=free+buffers+cached。 Swap:硬盘上交换分区的使用大小。 设计的目的就是当上面提到的+buffers/cache表示的可用内存都已使用完,新的读写请求过来后,会把内存中的部分数据写入磁盘,从而把磁盘的部分空间当做虚拟内存来使用。 2. Buffer和Cache介绍 Cache(缓存)

「GoTeam 招聘时间」哈啰出行Go中间件、存储系统专家(上海)

风格不统一 提交于 2021-01-07 23:26:13
本期招聘企业——哈啰出行 哈啰出行是专业的移动出行平台,旗下包括哈啰单车、哈啰助力车、哈啰打车等产品。公司秉持“科技推动出行进化”的企业使命,坚持“绿色低碳、轻松出行”的服务理念,为广大用户提供覆盖短、中、长距离的全方位无缝衔接的出行服务,努力缓解城市交通压力,减少车辆尾气排放,为智慧城市建设提供可持续发展的移动出行解决方案。 哈啰出行先后获得GGV纪源资本、成为资本、蚂蚁金服、复星等知名投资机构的投资,2017年10月与江苏永安行低碳科技有限公司合并,与蚂蚁金服、深创投、永安行等成为重要的战略合作伙伴。 工作地点:上海 - 闵行区 - 莘庄 - 旭辉莘庄中心 招聘岗位 Go 中间件、存储系统专家 工作职责 负责公司基础架构方向系统的设计与研发,重点方向为API 网关、分布式存储系统、微服务框架、异地多活架构、service mesh等; 任职资格 1. 3年以上golang/c++编程语言开发经验,深入了解主流的微服务框架和存储系统; 2. 熟悉微服务架构,深入理解分布式系统原理,了解Service Mesh相关服务治理框架; 3. 对存储和高性能系统有深入研究者优先,如Redis、Tair、Raft协议、leveldb/rocksdb、Nginx等; 4. 良好的团队协作和沟通能力,责任心强; 5. 具有很强的分析问题和解决问题能力。 投递方式 简历请发至邮箱

循环运算

我只是一个虾纸丫 提交于 2021-01-07 22:09:29
1. 循环比较每行记录判断文件是否相同 循环判断,每次在序列最后添加新的成员。 【例 1】 比较两个行数相同的文件中有多少行数据完全一致。文件部分数据如下: ID Predicted_Y Original_Y 10 0.012388464367608093 0.0 11 0.01519899123978988 0.0 13 0.0007920238885061248 0.0 19 0.0012656367468159102 0.0 21 0.009460545997473379 0.0 23 0.024176791871681664 0.0 … … … 【SPL脚本】 A B C 1 =file("p_old.csv").import@ct() /读取第一次输出的文件 2 =file("p_new.csv").import@ct() /读取第二次输出的文件 3 for A1.len() =cmp(A1(A3),A2(A3)) /循环比较两个文件同行记录的数据 4 =@|B3 /把每次比较的结果与 B4 格值合并 5 =B4.count(~==0) /统计有多少行数据相等 A5 的执行结果如下: Value 11302 2. 循环赋值 对集合的成员进行循环计算并赋值。 【例 2】 在销售表中,将 2014 年前 10% 的销售员再给予 5% 的业绩奖励。销售表部分数据如下:

基于PCA和t-SNE可视化词嵌入

心已入冬 提交于 2021-01-07 08:35:55
作者|Marcellus Ruben 编译|VK 来源|Towards Datas Science 当你听到“茶”和“咖啡”这个词时,你会怎么看这两个词?也许你会说它们都是饮料,含有一定量的咖啡因。关键是,我们可以很容易地认识到这两个词是相互关联的。然而,当我们把“tea”和“coffee”两个词提供给计算机时,它无法像我们一样识别这两个词之间的关联。 单词不是计算机自然就能理解的东西。为了让计算机理解单词背后的意思,这个单词需要被编码成数字形式。这就是词嵌入的用武之地。 词嵌入是自然语言处理中常用的一种技术,将单词转换成向量形式的数值。这些向量将以一定的维数占据嵌入空间。 如果两个词有相似的语境,比如“tea”和“coffee”,那么这两个词在嵌入空间中的距离将彼此接近,而与具有不同语境的其他词之间的距离则会更远。 在这篇文章中,我将逐步向你展示如何可视化嵌入这个词。由于本文的重点不是详细解释词嵌入背后的基本理论,你可以在本文和本文中阅读更多关于该理论的内容。 为了可视化词嵌入,我们将使用常见的降维技术,如PCA和t-SNE。为了将单词映射到嵌入空间中的向量表示,我们使用预训练词嵌入GloVe 。 加载预训练好的词嵌入模型 在可视化词嵌入之前,通常我们需要先训练模型。然而,词嵌入训练在计算上是非常昂贵的。因此,通常使用预训练好的词嵌入模型。它包含嵌入空间中的单词及其相关的向量表示

Pass object to struct in other package

会有一股神秘感。 提交于 2021-01-07 07:55:24
问题 I have a main function, where I initiate a variable, a client. For example: func main() { myClient := my.MustNewClient("localhost") } Now I want to pass this client to another package, but for some reason I cannot figure out how to do this. My package looks like this: package rest import ( "net/http" "github.com/Sirupsen/logrus" ) type AssetHandler struct { mc my.Client } func (f AssetHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { logrus.Info("bla") // here I want to use the

Pass object to struct in other package

江枫思渺然 提交于 2021-01-07 07:55:20
问题 I have a main function, where I initiate a variable, a client. For example: func main() { myClient := my.MustNewClient("localhost") } Now I want to pass this client to another package, but for some reason I cannot figure out how to do this. My package looks like this: package rest import ( "net/http" "github.com/Sirupsen/logrus" ) type AssetHandler struct { mc my.Client } func (f AssetHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { logrus.Info("bla") // here I want to use the