:table data,表格单元格。
:表格标题。
rowspan
:这个单元格跨多少行。
colspan
:这个单元格跨多少列。
< table border = " 1" >
< caption> 表格标题 caption>
< thead>
< tr>
< td> 第一行 第一列 td>
< td> 第一行 第二列 td>
< td rowspan = " 3" > 合并行 第三列 td>
tr>
thead>
< tbody>
< tr>
< td colspan = " 2" > 第二行 合并列 td>
tr>
< tr>
< td> 第三行 第一列 td>
< td> 第三行 第二列 td>
tr>
tbody>
table>
表格样式
样式属性:
border
:设置边框。单位 px。
cellpadding
:单元格内容边距。单位 px 或 %。
cellspacing
:单元格与单元格之间的距离。单位 px 或 %。
width
、height
:宽、高。单位 px 或 %。 (px 可以省略不写)
< table border = " 1" cellpadding = " 6" cellspacing = " 5" width = " 500" height = " 100" >
< tr>
< td> 我是数据 td>
< td> 我是数据 td>
tr>
< tr>
< td> 我是数据 td>
< td> 我是数据 td>
tr>
< tr>
< td> 我是数据 td>
< td> 我是数据 td>
tr>
table>
表单
表单通过
和
元素实现。
元素通用属性:
type
:表单元素的类型。
name
:表单元素名称,可以随意设置。下面代码演示中不再赘述。
value
:表单元素初始值。
disabled
:禁用这个表单元素。加上后表单元素处于禁止状态,无法输入。
< input type = " text" value = " 我是显示的文本" />
< input type = " password" value = " 我是显示的密码" />
< input type = " radio" name = " 单选框名字" > A:XXX
< input type = " radio" name = " 单选框名字" > B:XXX
< input type = " radio" name = " 单选框名字" > C:XXX
< input type = " radio" name = " 单选框名字" checked > D:XXX
< input type = " checkbox" name = " 多选框名字" checked > A:XXX
< input type = " checkbox" name = " 多选框名字" checked > B:XXX
< input type = " checkbox" name = " 多选框名字" > C:XXX
< input type = " checkbox" name = " 多选框名字" checked > D:XXX
< select>
< option> 选项 1 option>
< option selected > 选项 2 option>
< option> 选项 3 option>
select>
< textarea maxlength = " 最大字符长度" > 这里是默认显示的文本 textarea>
< input type = " submit" value = " 提交按钮的名称" >
< label for = " username" > 用户名: label> < input type = " text" name = " username" >
元素用来将以上的表单元素包裹起来(可选)。
< form>
< label for = " username" > 用户名: label>
< input type = " text" name = " username" >
form>
框架
主页面(index.html):
元素用来定义一个框架,这些框架都放到
元素下。
元素的 cols
属性用来定义「分列」。下面示例中定义了两列,第一列宽度 120,第二列占满剩余宽度。
元素的 name
属性定义该框架的「名称」,用于
元素的跳转。
< html>
< frameset cols = " 120,*" >
< frame src = " tryhtml_contents.html" name = " sidebar" />
< frame src = " frame_a.html" name = " content" />
frameset>
html>
子页面(可以有多个): frame_a.html:
< html>
< p> 这里是 frame_a.html 文件 p>
< a href = " frame_b.html" target = " content" > 点击这里在 content 框架中跳转到 frame_b.html a>
html>
frame_b.html:
< html>
< p> 这里是 frame_b.html 文件 p>
< a href = " frame_c.html" target = " content" > 点击这里在 content 框架中跳转到 frame_c.html a>
html>
frame_c.html:
< html>
< p> 这里是 frame_c.html 文件 p>
< a href = " frame_a.html" target = " content" > 点击这里在 content 框架中跳转到 frame_a.html a>
html>
CSS
基础知识
CSS 的三种引入方式:
< style>
CSS代码
style>
< link rel = " stylesheet" type = " text/css" href = " CSS文件地址" >
< p style = " CSS代码 " > p>
三种方式的优先级:外部样式 < 内部样式 < 内联样式 。
CSS 基本语法:
选择器 {
属性1 : 值;
属性2 : 值;
}
选择器 {
属性1 : 值;
属性2 : 值;
}
选择器规则
p { }
h1, h2, h3 { }
* { }
.cls { }
.cls, .a { }
.cls.a { }
#hello { }
文本样式
p {
color : green;
color : #ffffff;
color : rgb ( 0, 0, 0) ;
}
p {
font-family : "Times New Roman" ;
font-size : 18px;
font-weight : bold;
font-weight : 200;
font-style : italic;
}
p {
text-decoration : none;
text-decoration : underline;
text-decoration : overline;
text-decoration : line-through;
}
p {
text-align : center;
line-height : 10px;
line-height : 200%;
line-height : normal;
letter-spacing : 10px;
letter-spacing : normal;
word-spacing : 10px;
word-spacing : normal;
}
背景样式
body {
background-color : #cccccc;
background-image : url ( "图片地址" ) ;
background-repeat : repeat-x;
background-repeat : repeat-y;
background-repeat : no-repeat;
background-position : top left;
}
表格样式
th, td {
border : 1px solid black;
}
table {
border-collapse : collapse;
}
Javascript
引入 Javascript
< script>
script>
< script src = " JS源文件路径" />
基础语法
变量
var global_var = 123 ;
function func ( ) {
var local_var = 114 ;
}
console. log ( local_var) ;
console. log ( local_var) ;
var local_var = 123 ;
数据类型
var a = 123
var b = 123.456
var str1 = '字符串' ;
var str2 = "单双引号皆可" ;
var b = true || false ;
var arr = [ 1 , 2.3 , "js 的数组可以包含不同类型的值" , false ] ;
var n = null ;
var u = undefined ;
var obj = {
属性 : "值" ,
属性2 : "值2"
} ;
类型互转
parseInt ( str) ;
parseFloat ( str) ;
Number ( str) ;
num. toString ( base) ;
Boolean ( val) ;
运算符
a + b
a - b
a * b
a / b
a % b
a++
++ a
a--
-- a
a == b
a === b
a != b
a !== b
a > b
a >= b
a < b
a >= b
a ? b : c
! a
a && b
a || b
a = b
a += b
a -= b
a *= b
a /= b
a &= b
流程控制
只列举特殊的。
for-in
循环: (见对象)
for ( var prop in obj) {
console. log ( obj[ prop] ) ;
}
数组
var arr1 = new Array ( 5 ) ;
var arr2 = [ undefined , undefined , undefined , undefined , undefined ] ;
arr[ arr. length] = 1122 ;
arr. push ( 1122 ) ;
arr. unshift ( 3344 ) ;
delete arr[ 0 ] ;
arr. pop ( ) ;
arr. shift ( ) ;
for ( var i = arr. length - 1 ; i >= 0 ; i-- ) {
console. log ( arr[ i] ) ;
}
arr. forEach ( function ( element, index, arr ) {
console. log ( element) ;
} ) ;
常用方法
arr. indexOf ( element) ;
arr. lastIndexOf ( element) ;
c = a. contact ( b) ;
arr = arr. reverse ( ) ;
arr. join ( sep) ;
arr. sort ( [ compareFunc] ) ;
subArr = arr. slice ( a[ , b] ) ;
函数
函数的定义:
function foo ( arg1, arg2 ) {
return 114 + 514 ;
}
var foo = function ( arg1, arg2 ) {
return 114 + 514 ;
}
函数的参数:
function a ( arg1, arg2 ) {
console. log ( arg1) ;
console. log ( arg2) ;
}
a ( 1 ) ;
function sum ( ) {
var sum = 0 ;
for ( var i = arguments. length - 1 ; i >= 0 ; i-- ) {
sum += arguments[ i] ;
}
return sum;
}
console. log ( 1 , 2 , 3 ) ;
对象
对象的五种构造方法:
var obj1 = {
prop1 : "value1" ,
prop2 : "value2" ,
} ;
var obj2 = new Object ( ) ;
obj2. prop1 = "value1" ;
obj2. prop2 = "value2" ;
function createObj ( value1, value2 ) {
var obj = new Object ( ) ;
obj. prop1 = value1;
obj. prop2 = value2;
return obj;
}
var obj3 = createObj ( "value1" , "value2" ) ;
function Obj ( value1, value2 ) {
this . prop1 = value1;
this . prop2 = value2;
}
var obj4 = new Obj ( "value1" , "value2" ) ;
function Obj ( ) { }
Obj . prototype. prop1 = "value1" ;
Obj . prototype. prop2 = "value2" ;
var obj5 = new Obj ( ) ;
对象属性的增删查改:
obj. prop
obj[ "prop" ]
prop in obj
obj. hasOwnProperty ( "prop" ) ;
for ( var prop in obj)
console. log ( prop) ;
obj. getOwnPropertyNames ( ) ;
obj. keys ( ) ;
obj. prop = 123 ;
delete obj. prop
异常处理
try {
throw new Error ( "错误信息" ) ;
}
catch {
}
finally {
}
内置库
字符串
[]
内的参数表示可选。
str. indexOf ( 子字符串[ , 开始位置] ) ;
str. lastIndexOf ( 子字符串[ , 开始位置] ) ;
str. charAt ( 下标) ;
str. slice ( a[ , b] ) ;
str. substring ( a[ , b] ) ;
str. substr ( a[ , len] ) ;
str. split ( 分隔符)
str. toUpperCase ( ) ;
str. toLowerCase ( ) ;
数学
Math. PI ;
Math. ceil ( x) ;
Math. floor ( x) ;
Math. sqrt ( x) ;
Math. round ( x) ;
Math. abs ( x) ;
Math. pow ( x, a) ;
Math. max ( a, b, ... , n) ;
Math. min ( a, b, ... , n) ;
时间日期
new Date ( ) ;
new Date ( tt) ;
new Date ( timeString) ;
new Date ( year, month, day, hour, minute, second, millsecond) ;
var date = new Date ( ) ;
date. getFullYear ( ) ;
date. setFullYear ( year[ , month[ , day] ] ) ;
date. getMonth ( ) ;
date. setMonth ( month[ , day] ) ;
date. getDate ( ) ;
date. getDay ( ) ;
JSON
JSON 语法:
{
"值1" : "属性" ,
"值2" : "属性类型可以为:字符串、数字、布尔型、null、对象、数组" ,
"数组演示" : [ 1 , 2.3 , "string" , true , null ] ,
"对象演示" : {
"obj1" : { "key1" : "value1" } ,
"obj2" : { "key1" : "value1" }
}
}
Javascript 与 JSON:
var json = {
"key1" : "value1" ,
"key2" : "value2"
} ;
JSON . parse ( 字符串) ;
JSON . stringify ( JSON 对象) ;
正则
正则语法
表示
含义
[A-Z]
匹配一个从 A-Z 的字符
\w
匹配大小写字符或数字
\W
匹配非字母,非数字
\d
匹配数字
\D
匹配非数字
表示
含义
{x}
前面的字符出现 x 次
{a, }
前面的字符出现 a~∞ 次
{a, b}
前面的字符出现 a~b 次
?
前面的字符出现 0~1 次
*
前面的字符出现 0~∞ 次
+
前面的字符出现 1~∞ 次
表示
含义
^
匹配字符串开头
\b
匹配单词边界
\B
匹配非单词边界
表示
含义
例
(expr)
圆括号用于分组 ,表示一个子表达式。 每个分组都有一个编号,编号从 1 开始,从前往后开始编号。
(play(ed|ing))
其中 (ed|ing)
是第 2 个子表达式
expr1|expr2
将整个正则表达式一份为二,相当于”expr1 或 expr2“。 通常配合圆括号 ()
使用。
-
\x
表示引用第 x 个子表达式匹配到的内容。
-
Javascript 与 正则
var regex = new RegExp ( "表达式" ) ;
var regex = / 表达式 / ;
/ expr/ i;
/ expr/ g;
/ expr/ m;
regex. test ( str) ;
str. search ( regex) ;
str. split ( regex) ;
str. replace ( regex, str) ;
str. replace ( regex, "$1" ) ;
DOM
document 文档模型
获取 DOM 结点:
document. getElementById ( "idName" ) ;
document. getElementsByTagName ( "tagName" ) ;
document. getElementsByClassName ( "className" ) ;
document. querySelector ( "cssSelector" ) ;
document. querySelectorAll ( "cssSelector" ) ;
DOM 结点操作:
var node;
node. firstElementChild;
node. lastElementChild;
node. previousElementSibling;
node. children;
var node = document. createElement ( "form" ) ;
node. method = "post" ;
node. id = "myForm" ;
document. body. appendChild ( node) ;
document. body. insertBefore ( a, b) ;
node. removeChild ( child) ;
node. replaceChild ( oldChild, newChild) ;
DOM 结点属性操作:
node. innerText;
node. innerHTML;
node. getAttribute ( 属性名称) ;
node. getAttribute ( 属性名称, 值) ;
node. className;
window 浏览器模型
定时
var id = window. setTimeout ( func, millsecond) ;
window. clearTimeout ( id) ;
var id = window. setInterval ( func, millsecond) ;
window. clearInterval ( id) ;
location
对象
window. location. href;
window. location. host;
window. location. hostname;
window. location. pathname;
window. location. port;
window. location. protocal;
window. location. search;
window. location. href = "https://www.baidu.com" ;
对话框
window. alert ( msg) ;
window. comfirm ( msg) ;
var text = window. prompt ( msg[ , default ] ) ;
窗口操作
var win = window. open ( url, name, specs, replace) ;
win. close ( ) ;
你可能感兴趣的:(css,前端,html,javascript)
移动端城市区县二级联动选择功能实现包
good2know
本文还有配套的精品资源,点击获取简介:本项目是一套为移动端设计的jQuery实现方案,用于简化用户在选择城市和区县时的流程。它包括所有必需文件:HTML、JavaScript、CSS及图片资源。通过动态更新下拉菜单选项,实现城市到区县的联动效果,支持数据异步加载。开发者可以轻松集成此功能到移动网站或应用,并可基于需求进行扩展和优化。1.jQuery移动端解决方案概述jQuery技术简介jQuery
day15|前端框架学习和算法
universe_01
前端 算法 笔记
T22括号生成先把所有情况都画出来,然后(在满足什么情况下)把不符合条件的删除。T78子集要画树状图,把思路清晰。可以用暴力法、回溯法和DFS做这个题DFS深度搜索:每个边都走完,再回溯应用:二叉树搜索,图搜索回溯算法=DFS+剪枝T200岛屿数量(非常经典BFS宽度把树状转化成队列形式,lambda匿名函数“一次性的小函数,没有名字”setup语法糖:让代码更简洁好写的语法ref创建:基本类型的
SpringMVC的执行流程
1、什么是MVCMVC是一种设计模式。MVC的原理图如下所示M-Model模型(完成业务逻辑:有javaBean构成,service+dao+entity)V-View视图(做界面的展示jsp,html……)C-Controller控制器(接收请求—>调用模型—>根据结果派发页面2、SpringMVC是什么SpringMVC是一个MVC的开源框架,SpringMVC=Struts2+Spring,
js操作样式
郝加升
DOM样式属性和方法:指定的元素,它的style有这么几个属性和方法:cssText:通过这个属性可以访问到元素的特性style设置的属性,并且可以直接赋值设置。removeProperty(属性名称):从样式中删除给定属性。setProperty(属性名称,值,权重):可以通过这个方法设置给定样式的同时设置其权重,可以传入”important”或者一个空字符串。获取计算后样式:window.ge
Selenium 特殊控件操作与 ActionChains 实践详解
小馋喵知识杂货铺
selenium 测试工具
1.下拉框单选操作(a)使用SeleniumSelect类(标准HTML标签)Selenium提供了内置的Select类用于操作标准下拉框,这种方式简单且直观。fromselenium.webdriver.support.uiimportSelect#定位下拉框dropdown=Select(driver.find_element("id","dropdown_id"))#通过以下三种方式选择单个
微信公众号回调java_处理微信公众号消息回调
weixin_39607620
微信公众号回调java
1、背景在上一节中,咱们知道如何接入微信公众号,可是以后公众号会与咱们进行交互,那么微信公众号如何通知到咱们本身的服务器呢?咱们知道咱们接入的时候提供的url是GET/mp/entry,那么公众号以后产生的事件将会以POST/mp/entry发送到咱们本身的服务器上。html2、代码实现,此处仍是使用weixin-java-mp这个框架实现一、引入weixin-java-mpcom.github.
人工智能应用研究快讯 2021-11-30
峰谷皆平
[HTML]ArtificialIntelligenceforSkinCancerDetection:ScopingReviewATakiddin,JSchneider,YYang,AAbd-Alrazaq...JournalofMedicalInternet...,2021ABSTACT:Background:Skincanceristhemostcommoncancertypeaffectin
【Jupyter】个人开发常见命令
TIM老师
# Pycharm & VSCode python Jupyter
1.查看python版本importsysprint(sys.version)2.ipynb/py文件转换jupyternbconvert--topythonmy_file.ipynbipynb转换为mdjupyternbconvert--tomdmy_file.ipynbipynb转为htmljupyternbconvert--tohtmlmy_file.ipynbipython转换为pdfju
用代码生成艺术字:设计个性化海报的秘密
本文围绕“用代码生成艺术字:设计个性化海报的秘密”展开,先概述代码生成艺术字在海报设计中的独特价值,接着介绍常用的代码工具(如HTML、CSS、JavaScript等),详细阐述从构思到实现的完整流程,包括字体样式设计、动态效果添加等,还分享了提升艺术字质感的技巧及实际案例。最后总结代码生成艺术字的优势,为设计师提供打造个性化海报的实用指南,助力提升海报设计的独特性与吸引力,符合搜索引擎SEO标准
vue element 封装表单
影子信息
vue vue.js javascript 前端
背景:在前端系统开发中,系统页面涉及到的表单组件比较多,所以进行了简单的封装。封装的包括一些Form表单组件,如下:input输入框、select下拉框、等实现效果:理论知识:表单组件官方链接:点击跳转封装组件:封装组件的思路:不封装element组件,每一个input组件绑定一个form对象,例如官网。简单封装element组件,利用for循环生成form表单的每一项el-form-item。进
前端面试每日 3+1 —— 第39天
浪子神剑
今天的面试题(2019.05.25)——第39天[html]title与h1、b与strong、i与em的区别分别是什么?[css]写出你知道的CSS水平和垂直居中的方法[js]说说你对模块化的理解[软技能]公钥加密和私钥加密是什么?《论语》,曾子曰:“吾日三省吾身”(我每天多次反省自己)。前端面试每日3+1题,以面试题来驱动学习,每天进步一点!让努力成为一种习惯,让奋斗成为一种享受!欢迎在Iss
GDP经济社会人文民生栅格数据下载网站汇总
疯狂学习GIS
本文为“GIS数据获取整理”专栏(https://blog.csdn.net/zhebushibiaoshifu/category_10857546.html)中第八篇独立博客,因此本文全部标题均由“8”开头。本文对目前主要的GDP、社会与经济数据获取网站加以整理与介绍,若需其它GIS领域数据(如遥感影像数据、气象数据、土地土壤数据、农业数据等),大家可以点击上方专栏查看,也可以看这一篇汇总文
【MySQL】MySQL数据库如何改名
武昌库里写JAVA
面试题汇总与解析 spring boot vue.js sql java 学习
MySQL建库授权语句https://www.jianshu.com/p/2237a9649ceeMySQL数据库改名的三种方法https://www.cnblogs.com/gomysql/p/3584881.htmlMySQL安全修改数据库名几种方法https://blog.csdn.net/haiross/article/details/51282417MySQL重命名数据库https://
前端数据库:IndexedDB从基础到高级使用指南
文章目录前端数据库:IndexedDB从基础到高级使用指南引言一、IndexedDB概述1.1什么是IndexedDB1.2与其他存储方案的比较二、基础使用2.1打开/创建数据库2.2基本CRUD操作添加数据读取数据更新数据删除数据三、高级特性3.1复杂查询与游标3.2事务高级用法3.3性能优化技巧四、实战案例:构建离线优先的待办事项应用4.1数据库设计4.2同步策略实现五、常见问题与解决方案5.
【Java Web实战】从零到一打造企业级网上购书网站系统 | 完整开发实录(三)
笙囧同学
java 前端 状态模式
核心功能设计用户管理系统用户管理是整个系统的基础,我设计了完整的用户生命周期管理:用户注册流程验证失败验证通过验证失败验证通过用户名已存在用户名可用失败成功用户访问注册页面填写注册信息前端表单验证显示错误提示提交到后端后端数据验证返回错误信息用户名唯一性检查提示用户名重复密码加密处理保存用户信息保存成功?显示系统错误注册成功跳转登录页面登录认证机制深度解析我实现了一套企业级的多层次安全认证机制:认
从零到一:打造基于GigaChat AI的艺术创作平台 | 笙囧同学的全栈开发实战
作者简介:笙囧同学,中科院计算机大模型方向硕士,全栈开发爱好者联系方式:
[email protected] 各大平台账号:笙囧同学座右铭:偷懒是人生进步的阶梯前言在AI技术飞速发展的今天,如何将前沿的大模型技术与实际应用相结合,一直是我们开发者关注的焦点。今天,笙囧同学将带大家从零开始,构建一个基于GigaChatAI的艺术创作平台,实现React前端+Django后端的完整全栈解决方案。这不仅仅是
14.tornado操作之应用Websocket协议实现聊天室功能
孤寒者
Tornado框架从入门到实战 websocket tornado 聊天室功能实现 python
目录:每篇前言:1.什么是WebSocket(1)定义(2)优点(3)和HTTP对比(4)适用场景2.WebSocket关键方法3.本tornado项目中使用WebSocket(1)准备一个聊天室的页面:第一步:编写视图:第二步:编写接口:(app.py中加入以下接口!)第三步:编写前端页面:测试接口——响应OK!(2)使用WebSocket:(3)聊天室的聊天功能的最终实现:第一步:战前准备第二
为什么学习Web前端一定要掌握JavaScript?
web前端学习指南
为什么学习Web前端一定要掌握JavaScript?在前端的世界里,没有什么是JavaScript实现不了的,关于JS有一句话:凡是可以用JavaScript来写的应用,最终都会用JavaScript,JavaScript可运行在所有主要平台的所有主流浏览器上,也可运行在每一个主流操作系统的服务器端上。现如今我们在为网站写任何一个主要功能的时候都需要有懂能够用JavaScript写前端的开发人员。
小架构step系列25:错误码
秋千码途
架构 java
1概述一个系统中,可能产生各种各样的错误,对这些错误进行编码。当错误发生时,通过这个错误码就有可能快速判断是什么错误,不一定需要查看代码就可以进行处理,提高问题处理效率。有了统一的错误码,还可以标准化错误信息,方便把错误信息纳入文档管理和对错误信息进行国际化等。没有错误码的管理,开发人员就会按自己的理解处理这些错误。有些直接把堆栈直接反馈到前端页面上,使用看不懂这些信息体验很差,也暴露了堆栈信息有
Java朴实无华按天计划从入门到实战(强化速战版-66天)
岫珩
Java 后端 java 开发语言 学习 Java 时间安排 学习计划
致敬读者感谢阅读笑口常开生日快乐⬛早点睡觉博主相关博主信息博客首页专栏推荐活动信息文章目录Java朴实无华按天计划从入门到实战(强化速战版-66天)1.基础(18)1.1JavaSE核心(5天)1.2数据库与SQL(5天)1.3前端基础(8天)2.进阶(17天)2.1JavaWeb核心(5天)2.2Mybatis与Spring全家桶(6天)2.3中间件入门(4天)2.4实践项目(2天)3.高阶(1
《跨域资源共享CORS的深层逻辑与前端实践精要》
不同源头的资源交互已成为常态,而跨域资源共享(CORS)正是支撑这种交互的隐形架构。现代Web安全体系中平衡开放与防护的精妙设计。理解CORS的深层逻辑,不仅能解决实际开发中的跨域难题,更能触及网络安全与资源流通的核心矛盾,为前端工程师构建稳健的应用提供底层认知支撑。跨域资源共享的诞生,源于网络安全与应用发展的必然冲突。浏览器的同源策略,作为早期网络安全的基石,通过限制不同源文档的交互,有效阻挡了
深入了解 Kubernetes(k8s):从概念到实践
目录一、k8s核心概念二、k8s的优势三、k8s架构组件控制平面组件节点组件四、k8s+docker运行前后端分离项目的例子1.准备前端项目2.准备后端项目3.创建k8s部署配置文件4.部署应用到k8s集群在当今云计算和容器化技术飞速发展的时代,Kubernetes(简称k8s)已成为容器编排领域的事实标准。无论是互联网巨头、传统企业还是初创公司,都在广泛采用k8s来管理和部署容器化应用。本文将带
移动端适配rem方案
简单的码农
1.rem+动态html的font-size1.rem单位是相对于html元素的font-size来设置的,那么如果我们需要在不同的屏幕下有不同的尺寸,可以动态的修改html的font-size尺寸。2.比如如下案例:设置一个盒子的宽度是2rem;设置不同的屏幕上html的font-size不同;image这样在开发中,我们只需要考虑两个问题:问题一:针对不同的屏幕,设置html不同的font-s
Vue CSR 到 Nuxt 3 SSR 迁移:技术实现与问题解决实录
二倍速播放
前端 vue.js
1.迁移动机与技术选型1.1CSR架构的局限性基于Vue3和Vite构建的客户端渲染(CSR)单页应用(SPA)提供了良好的开发体验和用户交互流畅性。但是其核心局限在于:搜索引擎优化(SEO):初始HTML响应仅包含一个根div元素,实际内容由JavaScript在浏览器端动态生成。虽然主流搜索引擎(如Google)能够执行部分JavaScript,但其抓取效率和稳定性不如直接获取完整HTML。非
redis反弹shell时kali无法接收回弹的解决方法
显哥无敌
shell redis
无法接受回谈大概率是bash命令写的不对,那个crontab中间的星号个数是有意义的,不是随便加的,下面贴一下crontab的基本用法https://www.cnblogs.com/zhoading/p/11572630.html{minute}{hour}{day-of-month}{month}{day-of-week}{full-path-to-shell-script}如果是要cronta
native.js设置可缩放的webview并隐藏缩放控件
Nanayai
需求明确:webview页面可以手指缩放,并且不要那个原生控件;实现思路:1.使用h5+封装好的方法:设置scalable属性,并在html中设置meta标签:user-scalable=yes或不设置,minimum-scale和maximum-scale需要注意不要都设为1:mui.openWindow({url:"someThing",id:"someThing",styles:{scala
大厂都在用的前端缓存策略,你掌握了吗?
AI架构全栈开发实战笔记
前端 缓存 ai
大厂都在用的前端缓存策略,你掌握了吗?关键词:前端缓存、HTTP缓存、ServiceWorker、CDN缓存、缓存策略、性能优化、浏览器缓存摘要:本文将深入探讨前端开发中常用的缓存策略,从浏览器缓存到ServiceWorker,从HTTP缓存头到CDN缓存,全面解析大厂都在使用的高效缓存技术。通过生动的比喻和实际代码示例,帮助开发者理解并掌握这些提升Web应用性能的关键技术。背景介绍目的和范围本文
Redis反弹Shell
波吉爱睡觉
web安全 #未授权访问漏洞 #SSRF redis 网络安全 web安全
这里我来总结几种Redis反弹Shell的方法一、利用Redis写WebShell前提条件开了web服务器,并且知道路径,还需要有文件读写增删改查的权限条件比较苛刻,但是满足条件上传就会简单一点,我们直接将文件写入www目录下,完了使用工具连接即可。语句:redis:6379>configsetdir/var/www/html/redis:6379>configsetdbfilenameshell
26. 什么是雪碧图,作用和原理了解吗
yqcoder
前端面试-CSS css 前端 html
总结小图合成一张,使用background来使用,减少资源请求一、什么是雪碧图?雪碧图(CSSSprite)是一种前端优化技术,指的是将多个小图标合并成一张大图,通过CSS控制显示其中的某一部分。它常用于网站中图标、按钮等小图较多的场景。二、雪碧图的作用作用说明✅减少HTTP请求次数合并多个图片为一张图,减少请求资源数✅提升页面加载速度尤其在图片较多时效果明显✅避免图片加载闪烁鼠标悬停切换图片时不
12. 什么是事件委托
yqcoder
前端面试-CSS css 面试
总结事件委托(EventDelegation)是JavaScript中一种重要的事件处理机制,它利用了事件冒泡的特性,将事件的处理程序绑定到父元素或祖先元素上,而不是直接绑定到具体的子元素上。什么是事件委托?事件冒泡:在DOM中,事件通常会从触发元素开始,然后逐级向上冒泡到其父元素、祖先元素,直到window对象。核心思想:事件委托的核心思想是利用事件冒泡机制,在父元素上监听事件,而不是在每个子元
web报表工具FineReport常见的数据集报错错误代码和解释
老A不折腾
web报表 finereport 代码 可视化工具
在使用finereport制作报表,若预览发生错误,很多朋友便手忙脚乱不知所措了,其实没什么,只要看懂报错代码和含义,可以很快的排除错误,这里我就分享一下finereport的数据集报错错误代码和解释,如果有说的不准确的地方,也请各位小伙伴纠正一下。
NS-war-remote=错误代码\:1117 压缩部署不支持远程设计
NS_LayerReport_MultiDs=错误代码
Java的WeakReference与WeakHashMap
bylijinnan
java 弱引用
首先看看 WeakReference
wiki 上 Weak reference 的一个例子:
public class ReferenceTest {
public static void main(String[] args) throws InterruptedException {
WeakReference r = new Wea
Linux——(hostname)主机名与ip的映射
eksliang
linux hostname
一、 什么是主机名
无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。但IP地址不方便记忆,所以又有了域名。域名只是在公网(INtERNET)中存在,每个域名都对应一个IP地址,但一个IP地址可有对应多个域名。域名类型 linuxsir.org 这样的;
主机名是用于什么的呢?
答:在一个局域网中,每台机器都有一个主
oracle 常用技巧
18289753290
oracle常用技巧 ①复制表结构和数据 create table temp_clientloginUser as select distinct userid from tbusrtloginlog ②仅复制数据 如果表结构一样 insert into mytable select * &nb
使用c3p0数据库连接池时出现com.mchange.v2.resourcepool.TimeoutException
酷的飞上天空
exception
有一个线上环境使用的是c3p0数据库,为外部提供接口服务。最近访问压力增大后台tomcat的日志里面频繁出现
com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResou
IT系统分析师如何学习大数据
蓝儿唯美
大数据
我是一名从事大数据项目的IT系统分析师。在深入这个项目前需要了解些什么呢?学习大数据的最佳方法就是先从了解信息系统是如何工作着手,尤其是数据库和基础设施。同样在开始前还需要了解大数据工具,如Cloudera、Hadoop、Spark、Hive、Pig、Flume、Sqoop与Mesos。系 统分析师需要明白如何组织、管理和保护数据。在市面上有几十款数据管理产品可以用于管理数据。你的大数据数据库可能
spring学习——简介
a-john
spring
Spring是一个开源框架,是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只能由EJB完成的事情。然而Spring的用途不仅限于服务器端的开发,从简单性,可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。其主要特征是依赖注入、AOP、持久化、事务、SpringMVC以及Acegi Security
为了降低Java开发的复杂性,
自定义颜色的xml文件
aijuans
xml
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="white">#FFFFFF</color> <color name="black">#000000</color> &
运营到底是做什么的?
aoyouzi
运营到底是做什么的?
文章来源:夏叔叔(微信号:woshixiashushu),欢迎大家关注!很久没有动笔写点东西,近些日子,由于爱狗团产品上线,不断面试,经常会被问道一个问题。问:爱狗团的运营主要做什么?答:带着用户一起嗨。为什么是带着用户玩起来呢?究竟什么是运营?运营到底是做什么的?那么,我们先来回答一个更简单的问题——互联网公司对运营考核什么?以爱狗团为例,绝大部分的移动互联网公司,对运营部门的考核分为三块——用
js面向对象类和对象
百合不是茶
js 面向对象 函数创建类和对象
接触js已经有几个月了,但是对js的面向对象的一些概念根本就是模糊的,js是一种面向对象的语言 但又不像java一样有class,js不是严格的面向对象语言 ,js在java web开发的地位和java不相上下 ,其中web的数据的反馈现在主流的使用json,json的语法和js的类和属性的创建相似
下面介绍一些js的类和对象的创建的技术
一:类和对
web.xml之资源管理对象配置 resource-env-ref
bijian1013
java web.xml servlet
resource-env-ref元素来指定对管理对象的servlet引用的声明,该对象与servlet环境中的资源相关联
<resource-env-ref>
<resource-env-ref-name>资源名</resource-env-ref-name>
<resource-env-ref-type>查找资源时返回的资源类
Create a composite component with a custom namespace
sunjing
https://weblogs.java.net/blog/mriem/archive/2013/11/22/jsf-tip-45-create-composite-component-custom-namespace
When you developed a composite component the namespace you would be seeing would
【MongoDB学习笔记十二】Mongo副本集服务器角色之Arbiter
bit1129
mongodb
一、复本集为什么要加入Arbiter这个角色 回答这个问题,要从复本集的存活条件和Aribter服务器的特性两方面来说。 什么是Artiber? An arbiter does
not have a copy of data set and
cannot become a primary. Replica sets may have arbiters to add a
Javascript开发笔记
白糖_
JavaScript
获取iframe内的元素
通常我们使用window.frames["frameId"].document.getElementById("divId").innerHTML这样的形式来获取iframe内的元素,这种写法在IE、safari、chrome下都是通过的,唯独在fireforx下不通过。其实jquery的contents方法提供了对if
Web浏览器Chrome打开一段时间后,运行alert无效
bozch
Web chorme alert 无效
今天在开发的时候,突然间发现alert在chrome浏览器就没法弹出了,很是怪异。
试了试其他浏览器,发现都是没有问题的。
开始想以为是chorme浏览器有啥机制导致的,就开始尝试各种代码让alert出来。尝试结果是仍然没有显示出来。
这样开发的结果,如果客户在使用的时候没有提示,那会带来致命的体验。哎,没啥办法了 就关闭浏览器重启。
结果就好了,这也太怪异了。难道是cho
编程之美-高效地安排会议 图着色问题 贪心算法
bylijinnan
编程之美
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class GraphColoringProblem {
/**编程之美 高效地安排会议 图着色问题 贪心算法
* 假设要用很多个教室对一组
机器学习相关概念和开发工具
chenbowen00
算法 matlab 机器学习
基本概念:
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
开发工具
M
[宇宙经济学]关于在太空建立永久定居点的可能性
comsci
经济
大家都知道,地球上的房地产都比较昂贵,而且土地证经常会因为新的政府的意志而变幻文本格式........
所以,在地球议会尚不具有在太空行使法律和权力的力量之前,我们外太阳系统的友好联盟可以考虑在地月系的某些引力平衡点上面,修建规模较大的定居点
oracle 11g database control 证书错误
daizj
oracle 证书错误 oracle 11G 安装
oracle 11g database control 证书错误
win7 安装完oracle11后打开 Database control 后,会打开em管理页面,提示证书错误,点“继续浏览此网站”,还是会继续停留在证书错误页面
解决办法:
是 KB2661254 这个更新补丁引起的,它限制了 RSA 密钥位长度少于 1024 位的证书的使用。具体可以看微软官方公告:
Java I/O之用FilenameFilter实现根据文件扩展名删除文件
游其是你
FilenameFilter
在Java中,你可以通过实现FilenameFilter类并重写accept(File dir, String name) 方法实现文件过滤功能。
在这个例子中,我们向你展示在“c:\\folder”路径下列出所有“.txt”格式的文件并删除。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
C语言数组的简单以及一维数组的简单排序算法示例,二维数组简单示例
dcj3sjt126com
c array
# include <stdio.h>
int main(void)
{
int a[5] = {1, 2, 3, 4, 5};
//a 是数组的名字 5是表示数组元素的个数,并且这五个元素分别用a[0], a[1]...a[4]
int i;
for (i=0; i<5; ++i)
printf("%d\n",
PRIMARY, INDEX, UNIQUE 这3种是一类 PRIMARY 主键。 就是 唯一 且 不能为空。 INDEX 索引,普通的 UNIQUE 唯一索引
dcj3sjt126com
primary
PRIMARY, INDEX, UNIQUE 这3种是一类PRIMARY 主键。 就是 唯一 且 不能为空。INDEX 索引,普通的UNIQUE 唯一索引。 不允许有重复。FULLTEXT 是全文索引,用于在一篇文章中,检索文本信息的。举个例子来说,比如你在为某商场做一个会员卡的系统。这个系统有一个会员表有下列字段:会员编号 INT会员姓名
java集合辅助类 Collections、Arrays
shuizhaosi888
Collections Arrays HashCode
Arrays、Collections
1 )数组集合之间转换
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
a)Arrays.asL
Spring Security(10)——退出登录logout
234390216
logout Spring Security 退出登录 logout-url LogoutFilter
要实现退出登录的功能我们需要在http元素下定义logout元素,这样Spring Security将自动为我们添加用于处理退出登录的过滤器LogoutFilter到FilterChain。当我们指定了http元素的auto-config属性为true时logout定义是会自动配置的,此时我们默认退出登录的URL为“/j_spring_secu
透过源码学前端 之 Backbone 三 Model
逐行分析JS源代码
backbone 源码分析 js学习
Backbone 分析第三部分 Model
概述: Model 提供了数据存储,将数据以JSON的形式保存在 Model的 attributes里,
但重点功能在于其提供了一套功能强大,使用简单的存、取、删、改数据方法,并在不同的操作里加了相应的监听事件,
如每次修改添加里都会触发 change,这在据模型变动来修改视图时很常用,并且与collection建立了关联。
SpringMVC源码总结(七)mvc:annotation-driven中的HttpMessageConverter
乒乓狂魔
springMVC
这一篇文章主要介绍下HttpMessageConverter整个注册过程包含自定义的HttpMessageConverter,然后对一些HttpMessageConverter进行具体介绍。
HttpMessageConverter接口介绍:
public interface HttpMessageConverter<T> {
/**
* Indicate
分布式基础知识和算法理论
bluky999
算法 zookeeper 分布式 一致性哈希 paxos
分布式基础知识和算法理论
BY
[email protected]
本文永久链接:http://nodex.iteye.com/blog/2103218
在大数据的背景下,不管是做存储,做搜索,做数据分析,或者做产品或服务本身,面向互联网和移动互联网用户,已经不可避免地要面对分布式环境。笔者在此收录一些分布式相关的基础知识和算法理论介绍,在完善自我知识体系的同
Android Studio的.gitignore以及gitignore无效的解决
bell0901
android gitignore
github上.gitignore模板合集,里面有各种.gitignore : https://github.com/github/gitignore
自己用的Android Studio下项目的.gitignore文件,对github上的android.gitignore添加了
# OSX files //mac os下 .DS_Store
成为高级程序员的10个步骤
tomcat_oracle
编程
What
软件工程师的职业生涯要历经以下几个阶段:初级、中级,最后才是高级。这篇文章主要是讲如何通过 10 个步骤助你成为一名高级软件工程师。
Why
得到更多的报酬!因为你的薪水会随着你水平的提高而增加
提升你的职业生涯。成为了高级软件工程师之后,就可以朝着架构师、团队负责人、CTO 等职位前进
历经更大的挑战。随着你的成长,各种影响力也会提高。
mongdb在linux下的安装
xtuhcy
mongodb linux
一、查询linux版本号:
lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noa