草庐IT

设计模式之禅01单一职责原则

单一职责原则1.1我是“牛”类,我可以担任多职吗单一职责原则,英文名称是SingleResponsibilityPrinciple,简称是SRP,定义是应该有且仅有一个原因引起类的变更。什么是类的职责,以及怎么划分类的职责?举例:rbac模型这个接口设计的存在问题:用户属性和用户行为没有分开把用户信息抽取成一个BO(BusinessObject,业务对象),把行为抽取成一个Biz(BusinessLogic,业务逻辑),我们面向接口编程,所以产生的UserInfo对象可以当成IUserBO接口使用,也可以录成IUserBiz接口使用IUserInfouserInfo=newUserInfo()

超强的纯 CSS 鼠标点击拖拽效果

背景鼠标拖拽元素移动,算是一个稍微有点点复杂的交互。而在本文,我们就将打破常规,向大家介绍一种超强的仅仅使用纯CSS就能够实现的鼠标点击拖拽效果。在之前的这篇文章中--不可思议的纯CSS实现鼠标跟随,我们介绍了非常多有意思的纯CSS的鼠标跟随效果,像是这样:但是,可以看到,上面的效果中,元素的移动不是很丝滑。如果你了解上述的实现方式,就会知道它存在比较大的局限性。本文,我们还是仅仅通过CSS,来实现一种丝滑的鼠标点击拖动元素移动的效果。鼠标点击拖拽跟随效果OK,什么意思呢?我们先来看一个最最简单的效果示意图,实现点击一个元素,能够拖动元素进行移动的效果:好的,到这里,在继续往下阅读之前,你可以

vh 存在问题?试试动态视口单位之 dvh、svh、lvh

大部分同学都知道,在CSS世界中,有vw、vh、vmax、vmin这几个与视口Viewport相关的单位。正常而言:1vw等于1/100的视口宽度(ViewportWidth)1vh等于1/100的视口高度(ViewportHeight)vmin—vmin的值是当前vw和vh中较小的值vmax—vw和vh中较大的值vh在移动端存在重大问题!但是,在移动端,情况就不太一样了。100vh不总是等于一屏幕的高度。有的时候,100vh高度会出现滚动条。可以使用移动端Chrome浏览器扫描下面的二维码查看实际100vh在移动端的表现:根因在于:很多浏览器,在计算100vh的高度的时候,会把地址栏等相关控

CSS 奇思妙想之酷炫倒影

在CSS中,倒影是一种比较常见的效果。今天,我们就将尝试,使用CSS完成各类不同的倒影效果,话不多说,直接进入主题。实现倒影的两种方式首先,快速过一下在CSS中,实现倒影的2种方式。使用-webkit-box-reflect正常而言,-webkit-box-reflect是一种非常便捷及快速的实现倒影的方式。-webkit-box-reflect的语法非常简单,最基本的用法像是这样:div{-webkit-box-reflect:below;}其中,below可以是below|above|left|right代表下上左右,也就是有4个方向可以选。看这么一个例子:div{background-i

巧用 background-clip 实现超强的文字动效

最近,有同学询问,如何使用CSS实现如下效果:看起来是个很有意思的动效。仔细思考一下,要想实现这类效果,其实用到的核心属性只有一个--background-clip:text。有意思的background-clip:textbackground-clip:text之前也提到多很多次。其核心就在于以区块内的文字作为裁剪区域向外裁剪,文字的背景即为区块的背景,文字之外的区域都将被裁剪掉。简单而言,就是运用了background-clip:text的元素,其背景内容只保留文字所在区域部分,配合透明文字color:transparent,就能够利用文字透出背景。利用background-clip:te

长沙博物馆 乐在其中,思在其中

——前言——哈喽,大家好,我是小卷,今天来点生活,为大家带来长沙博物馆的一日行,!!!?——正文——长沙市博物馆,位于湖南省长沙市开福区长沙滨江文化园景区(新河三角洲)内。她是集文物收藏、保护研究、展示宣传、教育服务等功能于一体的综合性地志博物馆。【图片均为本人拍摄】博物馆LOGO,由镇馆之宝商代象纹大铜铙的形象转化而来,是保存和展示历史与记忆的殿堂。长沙市博物馆成立于1986年,新馆于2015年开馆。馆藏文物达5万余件(套),整个展览面积9000平方米,涵盖了从旧石器时代至近现代印证长沙历史文化发展的各类实物,包括了能够展现长沙历史的商周青铜器、楚汉文物、唐代长沙窑瓷器和近现代文物。其中商代

长沙博物馆 乐在其中,思在其中

——前言——哈喽,大家好,我是小卷,今天来点生活,为大家带来长沙博物馆的一日行,!!!?——正文——长沙市博物馆,位于湖南省长沙市开福区长沙滨江文化园景区(新河三角洲)内。她是集文物收藏、保护研究、展示宣传、教育服务等功能于一体的综合性地志博物馆。【图片均为本人拍摄】博物馆LOGO,由镇馆之宝商代象纹大铜铙的形象转化而来,是保存和展示历史与记忆的殿堂。长沙市博物馆成立于1986年,新馆于2015年开馆。馆藏文物达5万余件(套),整个展览面积9000平方米,涵盖了从旧石器时代至近现代印证长沙历史文化发展的各类实物,包括了能够展现长沙历史的商周青铜器、楚汉文物、唐代长沙窑瓷器和近现代文物。其中商代

前端必须知道的调试工具

Bug和DebugBug的起源:当时人们还在使用第一代真空计算机(马克二型),这种计算机是依靠控制电流来改变开关,从而实现控制,但是它会发出大量的热和光。1949年9月9日,天气非常炎热,有一只娥死在了70号继电器里面,造成电路不通,机器死机,经过近一天的检查,GraceHopper(格蕾斯哈珀)终于找到了真凶,原来正是被光吸引过来的娥造成了机器宕机,在这儿之后,在计算机科学中,Bug就从虫子变成了程序的缺陷,一只虫子就这样被载入了计算机史册。前端Debug的特点:多平台:浏览器、Hybrid、NodeJS、小程序、桌面应用多环境:本地开发环境、线上开发环境多工具:ChromedevTools

前端必须知道的调试工具

Bug和DebugBug的起源:当时人们还在使用第一代真空计算机(马克二型),这种计算机是依靠控制电流来改变开关,从而实现控制,但是它会发出大量的热和光。1949年9月9日,天气非常炎热,有一只娥死在了70号继电器里面,造成电路不通,机器死机,经过近一天的检查,GraceHopper(格蕾斯哈珀)终于找到了真凶,原来正是被光吸引过来的娥造成了机器宕机,在这儿之后,在计算机科学中,Bug就从虫子变成了程序的缺陷,一只虫子就这样被载入了计算机史册。前端Debug的特点:多平台:浏览器、Hybrid、NodeJS、小程序、桌面应用多环境:本地开发环境、线上开发环境多工具:ChromedevTools

搜索EE场景排序链路升级

作者:京东零售吕豪背景EE(Explore&Exploit)模块是搜索系统中改善生态、探索商品的重要链路,其目标是缓解数据马太效应导致模型对商品排序丰富性、探索性不足,带来的系统非最优解问题。在JD搜索体系中,EE模块被定义的核心定位是:在给定流量和时间的约束下,探索出更多高效率的商品。EE的优化目标即为,以保障搜索效率为前提,提升广义中长尾商品的探索成功率,提升搜索结果的流动性、丰富性。EE场景迭代闭环由于EE场景的特殊性,其从核心定位→在线指标→离线评估体系→模型迭代的优化链路中的每一步,都需结合EE特点进行针对性升级。以下分别从模型迭代、在线实验指标、离线评估体系介绍相应模块的优化。模型