SSH
生成sshKey
ssh-keygen -m PEM -t rsa -C “your_email@example.com“
添加登录密钥
复制公钥id_rsa.pub
内容到服务器authorized_keys
中
ssh-keygen -m PEM -t rsa -C “your_email@example.com“
复制公钥id_rsa.pub
内容到服务器authorized_keys
中
找到 usr/local/etc/my.cnf
,添加 skip-grant-tables
重新启动服务 mysql.server start
选择数据mysql use mysql
设置密码为空
update user set authentication_string=’’ where user=”root”
推出
quit;
重启mysql,并登陆
mysql.server restart
mysql -u root -p
设置密码校验规格,及密码长度
SHOW VARIABLES LIKE ‘validate_password%’;
set global validate_password.policy=LOW;
set global validate_password.length=6;
否则报错: ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
修改密码
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘123456’;
推出
quit;
重新用密码登陆
作用: 用于配置 JSP 页面,导入资源文件
格式:
<%@ 指令名称 属性名 1=属性值 1 属性名 2=属性值 2 %>
分类
page: 配置 JSP 页面
include: 页面包含导入页面的资源文件
taglib : 导入资源
prefix: 前缀,自定义
html 注释
<!-- -->
: 只能注释 html 代码片段jsp 注释:推荐使用
<%-- --%>
: 可以注释所有在 JSP 页面中不需要创建,直接使用的对象
变量名 | 真实类型 | 作用 |
---|---|---|
pageContext | PageContext | 当前页面的共享数据 |
request | HttpServletRequest | 一次请求访问的多个资源 |
session | HttpSession | 一次会话的多个请求期间 |
application | ServletContext | 所有用户间共享数据 |
response | HttpServletReponse | 响应对象 |
page | Object | 当前页面(Servelet)对象 this |
out | JsWriter | 输出对象,数据输出到页面上 |
config | ServletConfig | Servlet 的配置对象 |
exception | Throwable | 异常对象 |
概念: Express Language 表达式语言
作用: 替换和简化 jsp 页面中 java 代码的编写
语法: ${表达式}
注意: jsp 默认支持 el 表达式。如果要忽略 el 表达式
设置 jsp 中 page 指令中: isElIgnore="true"
忽略当前 jsp 页面中所有的 el 表达式
\${表达式}
: 忽略当前这个 el 表达式
使用
运算符
+ - * /(div) %(mod)
> < >= <= == !=
&&(and) ||(or) !(not)
empty
获取值
el 表达式只能从与对象中获取值
语法
${域名称.键名}: 从指定域中获取指定键的值
域名称
举例: 在 request 域中存储了 name-张
获取 ${requestScope.name}
${键名}: 表示依次从最小的域中查找是否有该键对应的值,直到找到为止
获取对象,List,Map
操作 | 命令 | 参数| |
---|---|---|
ls | ||
cd | ||
创建文件 | mkdir | |
复制文件 | cp a.txt | |
查看端口 | lsof -i tcp:port |
mediaQueries 的方案可以说是我早期采用的布局方式,它主要是通过查询设备的宽度来执行不同css的代码,最终达到界面的配置
1 | @media only screen and (max-width: 374px) { |
以天猫的实现方式进行说明
他的viewport是固定的
1 | <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no"> |
高度定死,宽度自适应,元素都采用 px做单位
随着屏幕宽度变化, 页面也会跟随着变化,效果就和PC页面的流体布局差不多,在哪个宽度需要调整的时候使用响应式布局调整就行(比如网易新闻),这样就实现了[适配]
根据 rem 将页面放大dpr倍,然后viewport 设置 1/dpr.
这样整个网页在设备内显示时的页面宽度就会等于设备的逻辑像素大小,也就是device-width.这个device-wdith的计算公式为
设备的物理分辨率/(devicePixelRatio * scale), 在scale为1的情况下, device-width= 设备的物理分辨率/devicePixelRatio
rem 是相对长度单位, rem方案中样式设计为相对于跟元素 font-size 计算值的倍数. 根据 屏幕宽度设置html标签的font-size, 在布局时使用rem 单位布局,达到自适应的目的
viewport 是固定的
1 | <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no"> |
通过一下代码来控制rem基准值(设计搞以 720px 宽度量取实际尺寸)
1 | !(function (d) { |
css 通过sass预编译,设置取的px值转化rem的变量 $px: (1/100) + rem;
视口是浏览器中用于呈现网页的区域
虽然vw能更优雅的适配, 但是还是有点小问题, 就是宽,高没法限定
1 | $base_vw = 375; |
1 | // 设置html根元素的大小, 750px -> 75 640px -> 64 |
使用百分比%定义宽度,高度用px固定, 根据可视区域实时尺寸进行调整, 尽可能适应各种分辨率,通常使用max-wdith/min-width 控制尺寸范围过大或过小