一切福田,不離方寸,從心而覓,感無不通。

使用 CSS 解决 @2x 和@3x 图片问题

移动端开发过程中,因为手机的dpr(设备像素比不同),我们需要根据dpr来修改图标的大小:
使用css通过@media 判断像素比去切换不同照片如下 再通过css预处理器封装为一个公用方法 方便使用

龙生   29 Nov 2022
View Details

CSS单位与尺寸参数

px
常用的单位,即像素pixel缩写,但通常被当做绝对单位,但严格说并不是,因为官方考虑到观看不同设备显示屏时,使网页设计出的某一图形的显示大小在人眼中的观看效果差不多,而定义的一个相对值,即人以一臂之遥观看96DPI的显示屏的角度,大概就是利用透视的近大远小原理,照顾不同设备的最终观看效果。

比如某网页图形设置为一固定的px值,在手机浏览器上显示是用直尺测大概1cm,但是同样在不缩放情况下,电脑显示屏测量可能就是1.5cm左右,如果是打印机打印出来的话也许就是2cm左右了。

em
常用的相对单位,前面的数字是比例,即相对于父元素的字体尺寸的比例,比如父元素字体16px,子元素设置1em,也可以理解为100%,那么子元素也是16px,同样,2em就是200%,32px,也可以是小数0.2em,1.5em等等。

rem
类似于em,但rem是相对于根元素html,例如用css标签选择器给html标签设置字体尺寸font-size大小为20px,那么文档中的每个1rem就代表20px,1.5em代表30px,以此类推。

in,cm,mm
这些虽然是生活中的物体测量单位,但网页的1cm尺寸的元素显示到显示器上,用直尺测量通常不是标准1cm,因为css已经默认设置1in=96px,前面也讲过px会因显示屏而不同,因此最终尺寸也不是绝对的,其他也差不多,所以这类尺寸很少用。

龙生   29 Nov 2022
View Details

利用js实现 禁用浏览器后退

也是查找了好多资料才找到的,这种方式,可以消除 后退的所有动作。包括 键盘、鼠标手势等产生的后退动作。

  现在,我们项目中就使用了第三种方式。在常用浏览器中,都可以禁用了后退。

  mb里可以直接配置项禁用回退 wkeSetDebugConfig(webview, "backKeydownEnable", "0")   from:利用js实现 禁用浏览器后退 (jvbaopeng.com)

龙生   29 Nov 2022
View Details

IIS 80跳转443

我的站点在443和80端口下都有部署,这样访问站点使用http和https时都可以访问到站点,但是使用http访问的站点一直会有不安全提示,这个体验很不好,就需要我们做一点工作让它自动跳转到有证书的https站点下面。 本文以站点https://www.huibenit.com为例说明怎么设置,服务器操作系统:windows2012 R2, IIS8.5 首先要做的准备是下载微软IIS下的一个Url重写模块 url-rewrite;下载地址:http://www.iis.net/downloads/microsoft/url-rewrite,目前的版本是2.1支持IIS7和IIS8。下载好后一路默认下一步安装完。 下面就开始介绍如何配置: (1)在运行里输入inetmgr打开IIS站点管理窗口,然后选择你需要设置的站点,找到Url 重写(Url rewrite)如下图所示:   (2)双击“Url 重写”模块进入设置窗口,然后在右上角找到添加规则按钮,点击后如下图,再选择“空白规则”。 (3)规则设置如下: 名称:HTTPS跳转 条件:{HTTPS}    模式:off 操作类型选择:重定向 重定向URL:https://{HTTP_HOST}/{R:1} (4)最后填写完成后请点击右上角的应用(此步最重要)。 其实上面的设置过程只是一个图形操作窗口,最后填写的内容会保存在Web.Config中。我们也是可以通过修改web.config来实现上面的填写过程。 我把完整的Web.config粘贴出来如下:

  是不是很简单?只需要添加节:

  from:https://lebang2020.cn/details/210106t51nqtom.html

龙生   26 Nov 2022
View Details

QueryWrapper高级用法

QueryWrapper queryWrapper = new QueryWrapper<>(); 查询指定字段 通过select()查询指定字段,同时可对字段进行Mysql函数处理

  设置limit 通过last(),效果等同于limit

  查询条件中使用函数 例如,在查询IP时,想使用INET_ATON()函数,可以使用apply()实现

  from:https://blog.csdn.net/qq_42594278/article/details/106625280

龙生   24 Nov 2022
View Details

centos系统swap设置 查看swap分区的方法

交换分区swap,意思是“交换”、“实物交易”,它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行,和Windows的虚拟内存(pagefile.sys)的作用是一样的。 查看 已存在的swap分区:

  创建用于交换分区的文件:

bs=1024 指的是创建swap分区的初始大小,count指的是swap最大空间,推荐设置为内存的1-2倍。   设置交换分区文件:

  立即启用交换分区文件:

  设置开机时自启用swap分区: 需要修改文件/etc/fstab中的swap行。 添加 /mnt/swap swap swap defaults 0 0

  设置后可以执行free -m命令或者top查看效果:

  删除swap分区:

  from:https://www.laike.net/article-52-117134-0.html

龙生   24 Nov 2022
View Details

kswapd CPU占用率过高

kswapd0 CPU占用率过高问题 解决方法:

  kswapd是linux中用于页面回收的内核线程。页面回收,并不是回收得越多越好,而是力求达到一种balanced。因为页面回收总是以cache丢弃、内存swap、等为代价的,对系统性能会有一定程度的影响。 原因:kswapd0 占用过高也是物理内存不足所引起的 kswapd0 占用过高是因为 物理内存不足,使用swap分区与内存换页操作交换数据,导致CPU占用过高。swap分区的作用是当物理内存不足时,会将一部分硬盘当做虚拟内存来使用。 可以通过修改/proc/sys/vm/swappiness(也可以用find查找这个文件)里面的数值来修改swap分区使用与否,默认 60,数值越大表示更多的使用swap分区 swap 分区和内存都有缓存区,缓存的内容为之前使用过的数据,用于加快第二次打开时访问速度。 swap分区可以使用多个交换区(使用多硬盘?) 来加快swap访问速度 swap 分区使用的为硬盘的内容,速度比直接访问内存慢几千倍 拓展: Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器。 Buffer:缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域。通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,速度快的设备的操作进程不发生间断。 通俗点就是 cache是高速缓存,用于CPU和内存之间的缓冲; buffer是I/O缓存,用于内存和硬盘的缓冲   from:https://blog.csdn.net/weixin_45546960/article/details/124266481

龙生   24 Nov 2022
View Details

SpringBoot定时任务 @Scheduled详解

博主在最近的开发中又遇到了关于定时调度的开发任务,在定时调度其实有很多的第三方平台可以接入,但是其实在SpringBoot有自带的定时任务注解@Scheduled。@Scheduled可以通过注解配置快速实现方法的定时调度,直接在方法加上@Scheduled注解即可。 一.@Scheduled注解参数 1.cron参数 这个参数是最经常使用的参数,表示接收一个cron参数,cron它是一个表达式,最多接收7个参数,从左到右分别表示:秒 分 时 天 月 周 年;参数以空格隔开,其中年不是必须参数,可以省略。

注意!!! 在使用时需要在类上添加注解@EnableScheduling,表示开启定时任务。  cron参数意义: 序号 含义 是否必填 入参范围 可填通配符 1 秒 是 0-59 , – * / 2 分 是 0-59 , – * / 3 时 是 0-23 , – * / 4 日 是 1-31 , – * ? / L W 5 月 是 1-12 , – * / 6 周(周一 ~ 周日) 是 1-7 , – * ? / L # 8 年 否 1970-2099 , – * / 常用通配符: *:表示所有值 比如用在日 表示每一天。 ?:表示不指定值 比如周配置  […]

龙生   23 Nov 2022
View Details

Java中QueryWrapper的基本使用

1.单表查询

  对应的sql语句为:

  1.1、单表查询的基本用法 函数名 说明 例子 eq 等于 例:eq(“name”,“张子”) ===> name = ‘张子’ ne 不等于 例:ne(“name”,“张子”) ===> name <> ‘张子’ gt 大于 例:gt(“age”,“18”) ===> age>18 lt 小于 例:lt(“age”,“18”) ===> age<18 between 在值1到值2之间 例:between(“age”,18,30) ===> 18<age<30’ like 模糊查询 例:like(“name”,“张”) ===> name like ‘%张%’ isNull 字段为NULL 例:isNull(“name”) ===> name is null 2、多表查询

  from:https://www.cnblogs.com/gongss/p/16727090.html

龙生   23 Nov 2022
View Details