pug
人心只能赢得,不能靠人馈赠——叶芝 分享一个前端框架pug github地址:https://github.com/pugjs/pug 它可以以下面的方式编写html 12345678910111213141516doctype htmlhtml(lang="en") head title= pageTitle script(type='text/javascript'). if (foo) bar(1 + 5); body h1 Pug - node template engine #container.col if youAreUsingPug p You are amazing else p Get on it! p. Pug is a terse and simple templating language with a strong focus on performance and powerful fe...
mask
任凭人群来往,任凭钟声响起,小孩啼哭——决心好好过上一天。——梭罗《瓦尔登湖》 分享一个css属性mask: https://developer.mozilla.org/zh-CN/docs/Web/CSS/mask https://css-tricks.com/almanac/properties/m/mask/ CSS 属性 mask 允许使用者通过遮罩或者裁切特定区域的图片的方式来隐藏一个元素的部分或者全部可见区域。 这个属性很类似于background属性,但不同的是,background是背景在元素下层,mask是遮罩在元素上层,且mask不支持直接指定color,只支持image对象如图片、svg等 同样两者都是组合属性,意味着可以用简写,而不是一个一个去指定 12mask-image: url(/img/oss/blog/vampireachao/bilibili-line.svg);mask-repeat: no-repeat; 可以简写为 1mask: url(/img/oss/blog/vampireachao/bilibili-line.svg) ...
postimages
过一个平凡无趣的人生实在太容易了,你可以不读书,不冒险,不运动,不写作,不外出,不折腾。但是,人生最后悔的事情就是:我本可以。——陈素封 分享一个免费图床: https://postimages.org/ 上传完成后,生成图片链接 还包含一个删除链接,非常方便
vue重置data
没有爱情,可千万不要结婚——奥斯汀 场景:需要重置已经更改后的data 官方文档: https://v2.cn.vuejs.org/v2/api/#data 其中提到可以通过调用data函数得到一个全新的副本对象 https://v2.cn.vuejs.org/v2/api/#vm-options 然后我们可以通过$options获取用于当前 Vue 实例的初始化选项,因此通过 1this.$options.data() 能够得到最初定义data的一个全新的副本对象(这里的this指向vue实例) 再使用Object.assign 1Object.assign(this.$data, this.$options.data()) 即可重置data 在某些情况下,this.$options.data()的this指向有问题,可以使用 Function.prototype.call()处理 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/call...
css is选择器
良药苦口利于病,忠言逆耳利于行——佚名 MDN:https://developer.mozilla.org/zh-CN/docs/Web/CSS/:is is选择器可以同时包含多个,例如 12345678910111213/* 选择 header、main、footer 里的任意一个悬浮状态的段落 */:is(header, main, footer) p:hover { color: red; cursor: pointer;}/* 以上内容相当于以下内容 */header p:hover,main p:hover,footer p:hover { color: red; cursor: pointer;} 非常实用
gitee stars 统计
宽厚者,毋使人有所恃;精明者,不使人无所容。——金嘤 分享一个统计gitee stars趋势的项目: https://gitee.com/yadong.zhang/gitee-stargazers 效果:
hibernate-validator校验对象属性为List
君子拙于不知己而信于知己也——司马迁 文档: https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#_with_list 我们这里首先引入starter 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId></dependency> 然后我们带两个Entity以及一个Controller 123456789101112131415161718package com.ruben.simplestreamquery.pojo;import lombok.Data;import javax.validation.constraints.NotEmpty;import javax.validation.constrain...
css attr
过于大方的施舍会导致盗窃——西塞罗 分享一个css函数attr MDN:https://developer.mozilla.org/zh-CN/docs/Web/CSS/attr attr可以获取我们标签内的属性作为值 例如: 1<p data-foo="hello">world</p> css: 123[data-foo]::before { content: attr(data-foo) " ";} 效果: [data-foo]::before { content: attr(data-foo) " "; } world 除了data-*的自定义属性,也可以获取其他的,例如custom-prefix 123456<style>[custom-prefix]::before { content: attr(custom-prefix);}</style><p custom-prefix="hello"&g...
获取lambda
处世让一步为高,退步即进步的张本;待人宽一分是福利人利己的根基。——洪自诚 昨天说了获取lambda代理 今天获取实际lambda对象 重要的是这个函数java.lang.invoke.LambdaMetafactory#metafactory以及altMetafactory 我们在昨天的基础上,进行获取 1234567891011121314151617181920212223@Test@SneakyThrowsvoid testVirtual() { final MethodHandle virtual = MethodHandles.lookup().findVirtual(LambdaExecutable.class, "getName", MethodType.methodType(String.class)); final SerFunc<LambdaExecutable, String> proxy = MethodHandleProxies.asInterfaceInstance(SerFunc.class...
获取lambda代理
伯乐不可欺以马,君子不可欺以人——荀子 代码如下: 123MethodHandles.Lookup lookup = MethodHandles.lookup(); MethodHandle getR = lookup.findVirtual(B.class, "getR", MethodType.methodType(Object.class)); SerFunc<Object, B> lambda = MethodHandleProxies.asInterfaceInstance(SerFunc.class, getR); 此处的lambda代理对象同样可以执行lambda对应的方法
