(1)给父元素设置overflow:hidden;或float:left;或position:absolute;或position:relative;。触发块级格式化上下文(BFC),从正常文档流脱离,父元素本身实现独立布局,围住其中的浮动元素。但专门这样设置,可能会改变布局,对于后三者,使block变为inline-block,父元素宽度变化。
(3)在父元素上加clearfix类名,在父元素的最后加块级元素.(伪元素选择器),通过clear:both使父元素括住浮动的元素来清除float的影响,使.不可见。常用这种方式,Bootstrap支持clearfix类名。
,通过display:inline; zoom:1;模拟inline-block。
.parent{display:table-cell; text-align:center; vertical-align:middle;}
.child{display:inline-block;}
(2) relative+absolute+transform
绝对定位脱离文档流,不会对其它元素产生影响。transform是CSS3新增内容,对IE6,7,8可能没法兼容,在高版本浏览器需要加前缀。
.parent{position:relative;}
.child{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);}
(3)flex
IE6,7,8可能没法兼容flex。
.parent{display:flex; justify-content:center; align-items:center;}
如果子元素大小确定。
.parent{position:relative;}
.child{
width:100px; height:100px;
position:absolute; top:0; right:0; bottom:0; left:0; margin:auto;
}
3、CSS选择器有哪些?优先级如何计算
(1)普通选择器:通配符选择器*、标签选择器、id选择器#、类选择器.、属性选择器[]、伪类选择器:
(2)伪元素选择器::
(3)组合选择器:后代选择器 、子选择器、兄弟选择器+、只要前面有某种元素~
优先级:将权重相加。a=行内样式style,1000;b=id选择器,100;c=类、伪类和属性选择器,10;d=标签选择器和伪元素选择器,1。相同属性优先级高覆盖低、后面覆盖前面,不同属性合并。
超链元素伪类的设置顺序:link :visited :hover :active
4、px、em和rem的区别
px,像素,相对于显示器屏幕分辨率而言;
em,相对长度单位,相对于当前对象内文本的字体大小,若字体大小未显式设置,则相对于浏览器默认的字体大小;
rem,相对长度单位,相对于html根元素的字体大小。
5、display:none和visibility:hidden的区别
display:none设置元素不显示,是彻底消失,不在文档流中占位,浏览器也不会解析该元素。visibility:hidden是视觉上消失,可理解为透明度为0的效果,在文档流中占位,浏览器会解析该元素。
使用visibility:hidden比display:none性能上要好。display:none切换显示时,页面产生回流reflow(页面中的部分元素需要改变规模尺寸、布局、显示隐藏等,页面重新构建)。而visibility:hidden切换是否显示时则不会引起回流,只是元素的外观被改变,且在没有改变布局的情况下发生。
6、用一个div写出三条横线的小图标
div{
height:5px;
width:30px;
background-color:#DD575C;
background-clip:content-box;
padding-top:5px;
padding-bottom:5px;
border-top:#DD575C solid 5px;
border-bottom:#DD575C solid 5px;
}
7、用一个div实现倒三角
div{
width:0;
border-top:10px solid #DD575C;
border-left:5.77px solid transparent;
border-right:5.77px solid transparent;
}
其它方法仅供参考。ASCII码31是倒三角。
/* 正方形旋转加截取 */
.parentDiv {
height:50px;
overflow:hidden;
}
.triangleDiv {
position: relative;
height:70.7px;
width:70.7px;
top:-35.4px;
left:19.6px;
background-color:#DD575C;
transform:rotate(45deg);
}
8、盒模型
在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content)、内边距(padding)、边框(border),外边距(margin)四个部分。
标准盒子模型 = margin + border + padding + content (content = width | height)
IE盒子模型 = margin + content (content = border + padding + width | height)
box-sizing:content-box|border-box 切换标准模型和IE模型
9、position的absolute和fixed的共同点与不同点
共同点:脱离文档流,文档流中没有它的空间,未设置偏移时在原位置。默认宽度为内容宽度。
absolute:绝对定位。参照物为第一个定位元素(非static)/根元素html(与浏览器窗口同等大小的首屏区域)。元素随页面的滚动而滚动。
fixed:固定定位。参照物是视窗。不随页面的滚动而滚动。
10、sprite精灵图
把设计稿上的小图标拼合到同一张图片中,减少网络请求,提升网页加载速度。
①排列常用横向排列和纵向排列。 ②图片之间必须保留孔隙,小图标20像素。如果更改按钮大小,CSS里背景图位置属性不须改变;容错,如果CSS设置错误,不会导致下面图片露出来。③合并原则:同属于一个模块、大小相近、色彩相近。只本页用到的图片合并、集中使用,有状态的图标合并。④IE6不支持PNG24半透明,存两份:高级浏览器PNG24 sprite.png、IE6 PNG-8 sprite_ie.png。
background-image:url("/images/x.png"); background-repeat:no-repeat; background-position:20px 60px; background-size:10px 10px;
11、HTML5
表现页面中的章节结构:
嵌入资源:
新的 类型:email、url、number、tel、search、range、color、date
新的表单元素(datalist、keygen、output)和属性
getCurrentPosition()、web存储(localStorage、sessionStorage)、拖放
12、CSS3
选择器:属性选择器、伪类选择器
盒模型:box-shadow、box-sizing
边框:border-radius、border-image
背景:background-image、background-size、background-origin、background-clip、渐变
文字特效:text-shadow、text-overflow、word-wrap、word-break、字体@font-face
2D/3D转换:transform、transform-origin、transform-style、perspective、perspective-origin、backface-visibility
过渡和动画:transition、animation、@keyframes
多列布局:column-count、column-width、column-fill、column-gap、column-rule、column-span
用户界面:resize、outline-offset
弹性盒子:flex
13、 的alt和title
alt:描述图片含义。地址写错或网络状况不好,无法查看图像时,显示该说明。可用于屏幕阅读软件和搜索引擎。
title:光标悬浮在图像上时以提示的方式显示该特性内容。
14、href和src的区别
href标识超文本引用,在当前元素和引用资源之间建立联系。。当浏览器解析到css文件时会下载,但不会停止对当前文档的处理。
src引用资源,指向外部资源的位置,将外部资源下载并替换当前元素。用在
(function() {
var a=b=5;
})();
console.log(b); // 5
console.log(a); // Uncaught ReferenceError: a is not defined
2、操作符
使用加法操作符+时,如果其中一个操作数是字符串,则把另一个操作数也转换为字符串,并将两字符串拼接。
var foo=10+'20'; // '1020'
x||y如果x表达式运行结果转换为Boolean值为false,则返回表达式y的运行结果
(window.foo||(window.foo='bar'));
console.log(window.foo); // 'bar'
指针和赋值运算符的执行顺序
var foo={n:1};
var bar=foo; // {n: 1}
foo.x=foo={n:2};
foo.x // undefined
foo // {n: 2}
bar // {n: 1, x: {n: 2}}
3、==和===的区别
===判断左右两边对象或值是否类型相同且值相等。==判断操作符两边对象或值是否相等,类型不同时,使用Number()转换。例外规则,null==undefined,null/undefined进行==运算时不进行隐式类型转换。通常把值转为Boolean值,进行条件判断。
[1]==[1] false
var a="123";
var b="123";
var c="4";
var oa=new String("123");
var ob=new String("123"); var oc=oa; a===oa; //false,a为值类型,oa为对象类型 oa===ob; //false,不是同一个引用 oa===oc; //true,同一个引用 a===b; //true,值相等,且都是值类型 a===c; //false "99"==99; //true new String("99")==99; //true false=="0"; //true 0==null; //false "undefined"==undefined; //false
4、js各类型在转换为Boolean时的规则
5、数值
Number()函数,用于任何数据类型。对于字符串向数值型转换,数字、浮点数、十六进制数->十进制数,前导0被忽略;””->0;除此之外(包含非数字等)转换为NaN。
Number(undefined) // NaN
Number(null) // 0
Number(false) // 0
Number('11') // 11
Number('11.2') // 11.2
Number('011') // 11
Number('0x13') // 19
Number('11a') // NaN
parseInt(),忽略空格,找到第一个非空格字符,直到遇到无效字符。第二个参数为转换进制。前导0被忽略。
parseFloat(),前导0被忽略,只解析十进制。如果没有小数点或小数点后都是0则返回整数。
parseInt('10/01') // 10
parseInt('011') // 11
parseInt('x08') // NaN
parseInt('0x08') // 8
parseInt('11.12a') // 11
parseFloat('11.12a') // 11.12
4、字符串
字符串replace查找字符串替换成目标字符。 第一个参数是RegExp对象或字符串,第二个参数是字符串或函数。要想替换所有字符串,提供正则表达式,指定g标志,否则只替换第一个满足要求的字符串。
split(separator,howmany)方法,按分割符将字符串分割成字符串数组。 第一个参数分隔符是字符串或RegExp对象,第二个参数用于指定数组大小,返回数组不会超过既定大小。
"I have a cat".split("").reverse().join("-") // 't-a-c- -a- -e-v-a-h- -I'
5、正则表达式
\d:数字[0-9] \D:[^0-9] \s:空白字符[\t\n\x0B\f\r] \S \w:单词字符[a-zA-Z_0-9] \W
^ 以...开始 $ 以...结束
*:0到多 +:1到多 ?:0或1 {n}:匹配确定的n次 {n,}:至少匹配n次 {n,m}:最少匹配n次且最多匹配m次
var reg=/^w+[^d]+$/;
console.log(reg.test('ww_32r')); // true
console.log(reg.test('123_dskr')); // false
console.log(reg.test('w7_d2')); // false
6、比较typeof和instanceof
(1)typeof运算符 typeof 变量名; //返回字符串 可以识别标准类型(Null除外),不能识别具体的对象类型(Function除外)。 (2)instanceof 变量名 instanceof 类型; 判别内置对象类型、自定义对象类型,不能判别标准类型。给定引用类型的实例则返回true,检测基本类型值返回false。
7、包装类类型识别
包装类Boolean、Number、String。所有基本包装类型的对象(new创建)都会被转换为布尔值true,typeof均得到object。
var strObj=new String('abc');
console.log(strObj instanceof String); // true
console.log(typeof strObj=='string'); // false
8、对象的深克隆
function deepClone(obj){}
9、数组
数组的sort(),默认按升序排列,返回排序后的数组。 sort()方法调用每个数组项的toString()方法,比较得到的字符串,即使是数值。sort()方法可以接收一个比较函数作为参数,指定排序方法。比较函数接收两个参数,如果第一个参数位于第二个参数之前则返回一个负数,两个参数相等则返回0,如果第一个参数应该位于第二个参数之后则返回一个正数。
colors.slice(1,4); 截取,取1-3,返回新数组 返回从起始位置到结束位置-1的项;只有一个参数,则至数组末尾;有负数,则与length相加;结束位置小于起始位置则返回空数组。 splice(start, deleteCount[, item1[, item2[, …]]]),从数组中删除或添加元素,并更改数组内容,返回一个数组,该数组包含从原始数组中删除的项。
var foo=[];foo[2]=1;foo.push(2);alert(foo.length); // 4
10、数组去重并排序,打印重复字符及次数
10、函数
var m=1;
function add(n){
return n=n+1;
}
y=add(m); // 4
function add(n) {
return n=n+3;
}
z=add(m); // 4
a(); // '函数声明'
function a(){
console.log("函数声明");
}
b(); // Uncaught TypeError: b is not a function
var b=function(){
console.log('函数表达式');
}
一个函数实现add(1)(2)(3)和add(1,2)不同的调用方式。
function add(...a){
let sum=0;
for(let num of a){
sum+=num;
}
function s(...b){
for(let num of b){
sum+=num;
}
return s;
}
s.toString=function(){return sum;}
return s;
}
console.log(add(2,3)); // 5
console.log(add(2)(3)); // 5
console.log(add(1)(2,3)(4,5,6)); // 21
11、闭包
闭包是指有权访问另一个函数作用域中的变量的函数,由函数和与其相关的引用环境组成。闭包允许函数访问其引用环境中的变量,有可能是外部环境变量,该变量称为自由变量。创建闭包的常见方式,在一个函数内部创建另一个函数。
闭包的应用,保存变量现场。闭包只能取得包含函数中任何变量的最后一个值,但可以强制创建另一个匿名函数强制让闭包的行为符合预期。
闭包的应用,私有作用域的匿名函数。临时需要一些变量,就可以使用私有作用域,限制向全局作用域中添加过多的变量和函数。私有变量包括函数的参数、局部变量和在函数内部定义的其他函数。
for(var i=0;i<6;i++){
setTimeout(function(){
console.log(i); // 打印6个6
},1000);
}
// ES6语法可以实现打印1 2 3 4吗?
var numbers=[0,1,2,3];
var functions=[];
for(var i=0;num=numbers[i],i
12、call、apply和bind的区别
函数调用时绑定this值:call()、apply()让函数在特定的作用域下进行调用,即设置函数体内this对象的值。扩充函数运行的作用域,对象不需要与方法有任何耦合关系。区别仅在于接受参数的方式不同, call()方法传递的参数逐个列举,第一个参数是作用域;apply()方法接收两个参数,作用域和参数数组。
为函数绑定this值但并不调用:bind()传入新作用域,返回新函数,该函数在bind作用域执行。第二个参数是参数列表,与call一致。
var scope='window';
env={
scope:'inner',
getscope:function(){
console.log(this.scope);
}
}
env.getscope(); // 'inner'
env.getscope.apply(window); // 'window'
env.getscope.call(window); // 'window'
env.getscope.bind(window)(); // 'window'
var f=env.getscope;
f(); // 'window'
13、垃圾回收机制和内存管理
js具有自动垃圾回收机制,找出不再使用的变量,垃圾收集器按一定时间间隔(影响性能)释放其占用的内存。“标记清除”是目前主流的垃圾回收算法,给当前不使用的值加上标记,再回收内存。另一种算法是“引用计数”,跟踪记录所有值被引用的次数,当代码中存在循环引用现象时会导致问题。及时解除不再使用的全局对象、全局对象属性及循环引用变量的引用,确保有效回收内存。
14、异步加载JS的方式
使用defer属性让脚本在文档完全呈现之后再顺序执行,async属性同样让脚本立即下载延迟执行,但不保证顺序。
动态生成
标签
a.XHR注入(通过XMLHttpRequest对象来获取JS,然后创建一个script元素插入到DOM结构中); b.ajax eval(使用ajax得到脚本内容,然后通过eval(xmlhttp.responseText)
来运行脚本); c.iframe等
DOM
1、节点操作
(1)获取节点 getElementById getElementsByTagName getElementsByClassName
querySelector/querySelectorAll 获取指定元素的后代元素中符合选择器的节点,第一个符合条件的元素或所有元素的列表
(2)创建节点 createElement createDocumentFragment
(3)修改节点内容 textContent innerText
(4)插入节点 appendChild insertBefore
(5)删除节点 removeChild replaceChild
2、样式操作
(1)增加内联样式 element.style.color='red'; element.style.cssText='border-color:red;color:red;';
(2)更新class element.className+='invalid';
(3)更换样式表
offsetWidth:元素在水平方向上占用的空间大小。
clientWidth:元素内容区的宽度加左右内边距的宽度。
scrollWidth:在没有滚动条的情况下,元素内容的总宽度。
console.log('one');
setTimeout(function(){
console.log('two');
},0);
console.log('three');
// one three two
对于事件委托,如何为不同子元素绑定特定的功能
event.target
12、判断一个字符串中出现次数最多的字符/单词,统计这个次数
13、去掉一个数组的重复元素
求一个字符串的字节长度
你可能感兴趣的:(1.1,前端基础,前端基础——html,CSS,JavaScript,ES6)
docker部署dm数据库
yy1209357299
运维 Linux docker 容器 运维 dm
官方文档参考官网地址:https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html下载镜像地址docker部署1、加载镜像dockerload-idm8_20240613_x86_rh6_64_rq_ent_8.1.3.140_pack5.tar使用dockerimages,查看镜像和镜像标签2、创建路径,挂载备用mkd
Linux指令大全网站
Linux指令大全网站!Linux命令大全(手册):超全!且提供指令查询网址:https://www.linuxcool.com/Linux指令(菜鸟教程):超全!提供清晰的表格查找网址:https://www.runoob.com/linux/linux-command-manual.htmlLinux中文在线手册:这个网站可以检索Linux命令,提供了命令的例子和收藏命令的搜索平台网址:htt
盘点一个Python网络爬虫过程中中文乱码的问题
皮皮_f075
大家好,我是皮皮。一、前言前几天在Python白银交流群【空翼】问了一个Python网络爬虫中文乱码的问题,提问截图如下:原始代码如下:importrequestsimportparselurl='https://news.p2peye.com/article-514723-1.html'headers={'Accept-Language':'zh-CN,zh;q=0.9','Accept':'a
uniapp使用uni-ui怎么修改默认的css样式比如多选框及样式覆盖小程序/安卓/ios兼容问题
禾苗种树
uni-app ui css scss
修改uni-ui多选框(uni-data-checkbox)的默认样式在uniapp中使用uni-ui的uni-data-checkbox组件时,可以通过以下几种方式修改其默认样式:方法一:使用深度选择器格式一:在页面的style部分使用深度选择器>>>或/deep/来穿透组件作用域:/*在普通CSS中*/>>>#rememberbox.uni-checkbox-input{border-colo
Kubernetes服务发布进阶
YUNYINGXIA
k8s
目录一、Ingress基础概念与工作原理1.1Kubernetes服务暴露方式概述1.2Ingress核心组成1.2.1Ingress对象1.2.2IngressController1.3Ingress工作流程1.4Ingress工作原理图解二、IngressNginxController安装2.1准备工作2.1.1安装Helm2.1.2配置镜像源2.1.3关键参数配置2.2部署IngressNg
三大工厂设计模式
狗头 | 软件技术导航
前端
1.简单工厂模式1.1需求入手从需求进行入手,可以更深入的理解什么是设计模式。有一个制作披萨的需求:需要便于扩展披萨的种类,便于维护。1.披萨的种类有很多:GreekPizz,CheesePizz等2.披萨的制作流程:prepare(制作)=>bake(烘烤)=>cut(切开)=>box(打包)3.完成披萨店的订购功能。1.2使用传统的方式进行实现1.2.1披萨抽象类进行定义抽象披萨类,这个抽象类
部署Zabbix企业级分布式监控
YUNYINGXIA
Zabbix
目录一、监控系统概述1.1监控的重要性1.2监控类型1.3监控层次划分二、监控系统的实现原理2.1模块组成2.2采集协议2.3监控模式2.4代理架构三、监控系统的开源产品四、Zabbix系统概述4.1初识zabbix4.2Zabbix的功能特性4.3Zabbix角色及架构五、部署流程5.1资源清单5.2基础环境配置5.3部署zabbixserver5.4zabbix页面配置5.5部署proxy5.
Game Programming with DirectX -- 01[初识Direct3D]
GameProgrammingwithDirectX--01[初识Direct3D]第一卷朦胧的3D世界第一集初识Direct3D简介我们通过2个例子来简单的认识3D1.1接口和数据结构我们首先来看看我们以后用的比较多的接口,a.IDirect3D9b.IDirect3DDevice9c.IDirect3DVertexBuffer9d.IDirect3DIndexBuffer9e.IDirect3
初识Direct3D
gauss
客户端编程 direct3d Direct3D null NULL parameters 工作 数据结构
第一卷朦胧的3D世界第一集初识Direct3D简介我们通过2个例子来简单的认识3D1.1接口和数据结构我们首先来看看我们以后用的比较多的接口,a.IDirect3D9b.IDirect3DDevice9c.IDirect3DVertexBuffer9d.IDirect3DIndexBuffer9e.IDirect3DSurface9f.IDirect3DTexture9g.ID3DXMesh再看看
Provider 做 状态管理 和 路由管理 及 与其他方案对比
ideal树叶
Flutter flutter
Provider是Flutter官方推荐的状态管理解决方案,它基于InheritedWidget实现,通过依赖注入的方式高效管理应用状态,避免深层嵌套传值问题。以下从原理、核心组件到实践代码全面解析:一、Provider做状态管理1.1核心原理1.基于InheritedWidgetInheritedWidget是Flutter的特殊组件,用于在widget树中自上而下高效传递数据。子组件可通过co
01[初识Direct3D]
第一卷朦胧的3D世界第一集初识Direct3D简介我们通过2个例子来简单的认识3D1.1接口和数据结构我们首先来看看我们以后用的比较多的接口,a.IDirect3D9b.IDirect3DDevice9c.IDirect3DVertexBuffer9d.IDirect3DIndexBuffer9e.IDirect3DSurface9f.IDirect3DTexture9g.ID3DXMesh再看看
【vue-5】Vue 3 中的 v-model:双向数据绑定的全面指南
在Vue开发中,v-model是实现表单输入和应用状态之间双向绑定的关键指令。Vue3对v-model进行了重大改进,使其更加灵活和强大。本文将深入探讨Vue3中v-model的工作原理、新特性以及最佳实践。1.v-model基础1.1什么是v-modelv-model是Vue提供的一个语法糖,它本质上结合了v-bind和v-on:等价于:1.2基本用法在表单元素上使用v-model非常简单:你输
Javaweb笔记
笙鹿鸣
html 前端 html5
HTMLHTML网页常用基础知识网页结构JavaSEC/SClientserver客户端–服务器JavaWebB/SBroswerServer浏览器–服务器网页的组成部分:内容(结构)、表现、行为HTML:HyperTextMarkupLanguage(超文本标记语言)ALT+F2选择浏览器HTML书写规范:表示整个html页面的开始头信息标题标题body是页面的主体内容页面主体内容表示整个htm
解锁发动机潜能:深入解析现代宽域空燃比测量技术
Triv2025
高性能调校必备工具 ECU调校空燃比工具 涡轮增压空燃比优化 赛车发动机空燃比监测 高分辨率AFR传感器
在追求极致动力与效率的发动机调校领域,精准的空燃比(AFR)数据是解锁性能潜力的核心密码。AFR500系列空燃比监测仪自问世以来,凭借其革命性的宽域测量技术,已成为改装发烧友和专业调校师不可或缺的利器。而全新的AFR500v2版本,则在性能、兼容性和应用广度上实现了全面飞跃。一、宽域测量核心价值在于其提供了真正的宽域空燃比测量能力:测量范围:标准范围覆盖9.0:1至16.0:1(0.62-1.1λ
JSON和JSONL、python操作
weixin_668
json python
JSONJSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,基于文本、易于读写,并支持多种数据结构。以下是常见的JSON格式及示例:1.简单对象(键值对){"name":"Alice","age":25,"isStudent":true}2.嵌套对象{"person":{"name":"Bob","address":{"city":"NewYork","zipc
python 抓取小红书
小五咔咔咔
python 开发语言
python相关学习资料:https://edu.51cto.com/video/3832.htmlhttps://edu.51cto.com/video/4102.htmlhttps://edu.51cto.com/video/1158.htmlPython抓取小红书数据的科普文章小红书是一个流行的社交电商平台,用户可以分享购物心得、生活点滴等。本文将介绍如何使用Python语言抓取小红书的数据
Java Spring、Spring MVC、Spring Boot 和 Spring Cloud 的关系与区别
Java皇帝
java spring springBoot java spring mvc 开发语言 spring boot spring cloud
在Java开发领域,Spring、SpringMVC、SpringBoot和SpringCloud这些框架和技术名词频繁出现。对于初学者来说,理解它们之间的关系和区别可能有些困惑。本文将深入浅出地讲解这些概念,帮助你理清它们的联系与差异。一、Spring1.1定义Spring是一个轻量级的Java开发框架,由RodJohnson创建。它基于控制反转(IoC)和面向切面编程(AOP)理念,旨在简化J
Linux find命令:强大的文件搜索工具
Linux编程小课堂
linux命令 linux linux命令 find find查找
find命令是Linux系统中最强大且最常用的文件搜索工具之一。它允许用户根据各种条件(如文件名、大小、修改时间、权限等)在目录树中查找文件,并对找到的文件执行操作。本文将详细介绍find命令的基本语法、常见使用场景。一、find简述find命令的基本语法格式如下:find [选项] [路径] [表达式]1.1options(选项)控制find的全局行为,通常放在命令开头,影响整个查找过程:选项作
Android 蓝牙通讯全解析:从基础到实战
Monkey-旭
microsoft java android 蓝牙通讯
蓝牙作为一种短距离无线通信技术,在Android设备中应用广泛——从蓝牙耳机、蓝牙音箱等音频设备,到蓝牙打印机、蓝牙传感器等数据传输设备,再到蓝牙手表等穿戴设备,都依赖蓝牙通讯实现交互。本文将从蓝牙技术基础出发,详解Android蓝牙通讯的两种核心模式(经典蓝牙、低功耗蓝牙)及开发实战,帮助开发者快速实现蓝牙设备连接与数据交互。一、Android蓝牙技术基础1.1蓝牙技术分类与应用场景Androi
Android 串口通讯全解析:从硬件到代码实现
Monkey-旭
android 串口通讯 java
在工业控制、智能硬件、物联网等场景中,Android设备常需与外部硬件(如传感器、PLC、读卡器)通过串口通信。串口作为一种传统的有线通信方式,以其简单可靠的特性,至今仍是设备间数据交互的重要选择。本文将从硬件基础到代码实现,全面讲解Android串口通讯的开发流程,帮助开发者快速搭建串口交互功能。一、Android串口通讯基础1.1什么是串口通讯?串口通讯(SerialCommunication
poi html转换成word文档,poi将html转换为word文档
天猪飞翔
poi html转换成word文档
如何使用apachepoi将word转化为htmlJava可以使用这个开源框架,对word进行读取合并等操作,ApachePOI是一个开源的利用Java读写Excel、WORD等微软OLE2组件文档的项目。最新的3.5版本有很多改进,加入了对采用OOXML格式的Office2007支持,如xlsx、docx、pptx文档。示例如下:importorg.apache.poi.POITextExtra
postgresql之语法解析 浅析
happytree001
pg postgresql
一、pg语法简介1.1语法文件结构语法.y文件和词法.l文件结构差不多,也是通过%%分成了三个部分:声明部分、语法规则部分、C代码部分。src/backend/parser/gram.y####声明部分%{C代码头文件,变量声明等(此范围内的内容原样输出到文件中)#include"postgres.h"...%}#变量声明%union{core_YYSTYPEcore_yystype;/*thes
使用MMDetection中的Mask2Former和X-Decoder训练自定义数据集及结果复现
神经网络15044
算法 python 分类 矩阵 人工智能 数据挖掘 深度学习
使用MMDetection中的Mask2Former和X-Decoder训练自定义数据集及结果复现前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,觉得好请收藏。点击跳转到网站。1.引言1.1研究背景实例分割是计算机视觉领域的重要任务,它要求模型不仅要检测图像中的对象,还要精确地分割出每个对象的像素级掩码。近年来,基于Transformer的模型在实例分割任务上取得
39、Oracle 数据库内存管理:SGA 与 PGA 配置指南
apple5
解读Oracle Oracle数据库 SGA配置 PGA配置
Oracle数据库内存管理:SGA与PGA配置指南1.手动配置SGA参数如果你想对系统全局区(SGA)的内存分配进行更多控制,可以从完全自动内存管理(AMM)切换到自动共享内存管理(ASMM)。启用ASMM很简单,只需将SGA_TARGET设置为所需的值。即使启用了ASMM,你仍然可以控制由SGA_TARGET控制的SGA组件的最小大小。此外,你还需要手动调整一些初始化参数。1.1理解自动共享内存
camera驱动电源配置_Camera driver&V4L2驱动架构介绍
大约一年前写的东西,介绍性部分是当时在网络上找的内容,后面的分析部分是基于当时的项目,基于MavellPxa920,希望对初学者有点点的帮助吧。转载请注明出。1.Camera相关介绍1.1.手机Camera介绍手机的数码相机功能指的是手机通过内置数码相机进行拍摄静态图片或短片拍摄,作为手机的一项新的附加功能,手机的数码相机功能得到了迅速的发展。手机摄像头分为内置与外置,内置摄像头是指摄像头在手机内
Embedding与向量数据库
玖月初玖
大模型应用开发基础 人工智能 embedding 数据库
1.Embedding是什么EmbeddingModel是一种机器学习模型,它的核心任务是将离散的、高维的符号(如单词、句子、图片、用户、商品等)转换成连续的、低维的向量(称为“嵌入”或“向量表示”),并且这个向量能有效地捕捉原始符号的语义、关系或特征。1.1通俗理解EmbeddingModel是让计算机“理解”世界的核心工具,把“文字、图片、音频”等信息变成一串有意义的数字我们称之为“向量”。类
如何构建高效的向量数据库以优化大模型检索能力
学习ing1
数据库
1.构建向量数据库的基础架构1.1确定数据存储需求构建高效的向量数据库以优化大模型检索能力,首先要明确数据存储需求。大模型通常涉及海量的参数和数据,例如一个拥有10亿参数的模型,其存储需求可能达到数百GB。根据数据的规模和类型,需要确定存储的容量、速度和可靠性。对于大规模数据,分布式存储是常见的选择,它可以将数据分散存储在多个节点上,提高存储效率和数据访问速度。同时,数据的读写频率也是重要因素,高
Linux 压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法
寒水馨
Linux问题解决方案 linux 服务器 运维 压缩 解压
Linux压缩、解压文件的4种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法文章目录Linux压缩、解压文件的4种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法1.tar1.1.压缩:1.2.解压:1.3.tar命令各参数含义2.gzip、gunzip2.1.压缩:2.2.解压:2.3.gzip、gunzip命令各参数含义2.3.1.gzip
LVS的10种调度算法
蜡笔晓心
其他
1.1静态算法:1.1.1rr(roundrobin):轮询调度算法:轮询调度算法的原理就是依次将用户的访问请求,平均的分配到每一台web服务节点上,从1开始,到最后一台服务器节点结束,然后在开始新一轮的循环,这种算法简单,但是没有考虑到每台节点服务器的具体性能1.1.2wrr(weight):权重调度算法由于每台服务器的性能会高低不同,wrr将会根据管理员设定的权重值来分配访问请求,权重值越大的
Springboot + MyBatis-Plus + PageHelper 分页性能混合优化方案
夜雨hiyeyu.com
java spring boot mybatis 后端 database spring java spring cloud
springboot+MyBatis-Plus+PageHelper分页性能混合优化方案一、传统分页性能瓶颈分析1.1深度分页问题1.2性能对比测试二、混合优化方案架构三、完整实现代码3.1依赖配置3.2配置类3.3混合分页工具类3.4Service层实现四、深度优化策略4.1游标分页优化4.2覆盖索引极致优化4.3分页缓存策略五、性能对比测试5.1测试环境5.2测试结果5.3内存消耗对比六、生产
Linux的Initrd机制
被触发
linux
Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程。最后通过对 Lin
maven本地仓库路径修改
bitcarter
maven
默认maven本地仓库路径:C:\Users\Administrator\.m2
修改maven本地仓库路径方法:
1.打开E:\maven\apache-maven-2.2.1\conf\settings.xml
2.找到
 
XSD和XML中的命名空间
darrenzhu
xml xsd schema namespace 命名空间
http://www.360doc.com/content/12/0418/10/9437165_204585479.shtml
http://blog.csdn.net/wanghuan203/article/details/9203621
http://blog.csdn.net/wanghuan203/article/details/9204337
http://www.cn
Java 求素数运算
周凡杨
java 算法 素数
网络上对求素数之解数不胜数,我在此总结归纳一下,同时对一些编码,加以改进,效率有成倍热提高。
第一种:
原理: 6N(+-)1法 任何一个自然数,总可以表示成为如下的形式之一: 6N,6N+1,6N+2,6N+3,6N+4,6N+5 (N=0,1,2,…)
java 单例模式
g21121
java
想必单例模式大家都不会陌生,有如下两种方式来实现单例模式:
class Singleton {
private static Singleton instance=new Singleton();
private Singleton(){}
static Singleton getInstance() {
return instance;
}
Linux下Mysql源码安装
510888780
mysql
1.假设已经有mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
(1)创建mysql的安装目录及数据库存放目录
解压缩下载的源码包,目录结构,特殊指定的目录除外:
32位和64位操作系统
墙头上一根草
32位和64位操作系统
32位和64位操作系统是指:CPU一次处理数据的能力是32位还是64位。现在市场上的CPU一般都是64位的,但是这些CPU并不是真正意义上的64 位CPU,里面依然保留了大部分32位的技术,只是进行了部分64位的改进。32位和64位的区别还涉及了内存的寻址方面,32位系统的最大寻址空间是2 的32次方= 4294967296(bit)= 4(GB)左右,而64位系统的最大寻址空间的寻址空间则达到了
我的spring学习笔记10-轻量级_Spring框架
aijuans
Spring 3
一、问题提问:
→ 请简单介绍一下什么是轻量级?
轻量级(Leightweight)是相对于一些重量级的容器来说的,比如Spring的核心是一个轻量级的容器,Spring的核心包在文件容量上只有不到1M大小,使用Spring核心包所需要的资源也是很少的,您甚至可以在小型设备中使用Spring。
 
mongodb 环境搭建及简单CURD
antlove
Web Install curd NoSQL mongo
一 搭建mongodb环境
1. 在mongo官网下载mongodb
2. 在本地创建目录 "D:\Program Files\mongodb-win32-i386-2.6.4\data\db"
3. 运行mongodb服务 [mongod.exe --dbpath "D:\Program Files\mongodb-win32-i386-2.6.4\data\
数据字典和动态视图
百合不是茶
oracle 数据字典 动态视图 系统和对象权限
数据字典(data dictionary)是 Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表。随着数据库的启动而启动,数据库关闭时数据字典也关闭 数据字典中包含
数据库中所有方案对象(schema object)的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触发器等等)
数据库为一
多线程编程一般规则
bijian1013
java thread 多线程 java多线程
如果两个工两个以上的线程都修改一个对象,那么把执行修改的方法定义为被同步的,如果对象更新影响到只读方法,那么只读方法也要定义成同步的。
不要滥用同步。如果在一个对象内的不同的方法访问的不是同一个数据,就不要将方法设置为synchronized的。
将文件或目录拷贝到另一个Linux系统的命令scp
bijian1013
linux unix scp
一.功能说明 scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下。scp传输数据用的是SSH协议,保证了数据传输的安全,其格式如下: scp 远程用户名@IP地址:文件的绝对路径
【持久化框架MyBatis3五】MyBatis3一对多关联查询
bit1129
Mybatis3
以教员和课程为例介绍一对多关联关系,在这里认为一个教员可以叫多门课程,而一门课程只有1个教员教,这种关系在实际中不太常见,通过教员和课程是多对多的关系。
示例数据:
地址表:
CREATE TABLE ADDRESSES
(
ADDR_ID INT(11) NOT NULL AUTO_INCREMENT,
STREET VAR
cookie状态判断引发的查找问题
bitcarter
form cgi
先说一下我们的业务背景:
1.前台将图片和文本通过form表单提交到后台,图片我们都做了base64的编码,并且前台图片进行了压缩
2.form中action是一个cgi服务
3.后台cgi服务同时供PC,H5,APP
4.后台cgi中调用公共的cookie状态判断方法(公共的,大家都用,几年了没有问题)
问题:(折腾两天。。。。)
1.PC端cgi服务正常调用,cookie判断没
通过Nginx,Tomcat访问日志(access log)记录请求耗时
ronin47
一、Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间
nginx.conf使用配置方式:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_r
java-67- n个骰子的点数。 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
bylijinnan
java
public class ProbabilityOfDice {
/**
* Q67 n个骰子的点数
* 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
* 在以下求解过程中,我们把骰子看作是有序的。
* 例如当n=2时,我们认为(1,2)和(2,1)是两种不同的情况
*/
private stati
看别人的博客,觉得心情很好
Cb123456
博客 心情
以为写博客,就是总结,就和日记一样吧,同时也在督促自己。今天看了好长时间博客:
职业规划:
http://www.iteye.com/blogs/subjects/zhiyeguihua
android学习:
1.http://byandby.i
[JWFD开源工作流]尝试用原生代码引擎实现循环反馈拓扑分析
comsci
工作流
我们已经不满足于仅仅跳跃一次,通过对引擎的升级,今天我测试了一下循环反馈模式,大概跑了200圈,引擎报一个溢出错误
在一个流程图的结束节点中嵌入一段方程,每次引擎运行到这个节点的时候,通过实时编译器GM模块,计算这个方程,计算结果与预设值进行比较,符合条件则跳跃到开始节点,继续新一轮拓扑分析,直到遇到
JS常用的事件及方法
cwqcwqmax9
js
事件 描述
onactivate 当对象设置为活动元素时触发。
onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发。
onbeforeactivate 对象要被设置为当前元素前立即触发。
onbeforecut 当选中区从文档中删除之前在源对象触发。
onbeforedeactivate 在 activeElement 从当前对象变为父文档其它对象之前立即
正则表达式验证日期格式
dashuaifu
正则表达式 IT其它 java其它
正则表达式验证日期格式
function isDate(d){
var v = d.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/i);
if(!v) {
this.focus();
return false;
}
}
<input value="2000-8-8" onblu
Yii CModel.rules() 方法 、validate预定义完整列表、以及说说验证
dcj3sjt126com
yii
public array rules () {return} array 要调用 validate() 时应用的有效性规则。 返回属性的有效性规则。声明验证规则,应重写此方法。 每个规则是数组具有以下结构:array('attribute list', 'validator name', 'on'=>'scenario name', ...validation
UITextAttributeTextColor = deprecated in iOS 7.0
dcj3sjt126com
ios
In this lesson we used the key "UITextAttributeTextColor" to change the color of the UINavigationBar appearance to white. This prompts a warning "first deprecated in iOS 7.0."
Ins
判断一个数是质数的几种方法
EmmaZhao
Math python
质数也叫素数,是只能被1和它本身整除的正整数,最小的质数是2,目前发现的最大的质数是p=2^57885161-1【注1】。
判断一个数是质数的最简单的方法如下:
def isPrime1(n):
for i in range(2, n):
if n % i == 0:
return False
return True
但是在上面的方法中有一些冗余的计算,所以
SpringSecurity工作原理小解读
坏我一锅粥
SpringSecurity
SecurityContextPersistenceFilter
ConcurrentSessionFilter
WebAsyncManagerIntegrationFilter
HeaderWriterFilter
CsrfFilter
LogoutFilter
Use
JS实现自适应宽度的Tag切换
ini
JavaScript html Web css html5
效果体验:http://hovertree.com/texiao/js/3.htm
该效果使用纯JavaScript代码,实现TAB页切换效果,TAB标签根据内容自适应宽度,点击TAB标签切换内容页。
HTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
Hbase Rest API : 数据查询
kane_xie
REST hbase
hbase(hadoop)是用java编写的,有些语言(例如python)能够对它提供良好的支持,但也有很多语言使用起来并不是那么方便,比如c#只能通过thrift访问。Rest就能很好的解决这个问题。Hbase的org.apache.hadoop.hbase.rest包提供了rest接口,它内嵌了jetty作为servlet容器。
启动命令:./bin/hbase rest s
JQuery实现鼠标拖动元素移动位置(源码+注释)
明子健
jquery js 源码 拖动 鼠标
欢迎讨论指正!
print.html代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>发票打印</title>
&l
Postgresql 连表更新字段语法 update
qifeifei
PostgreSQL
下面这段sql本来目的是想更新条件下的数据,可是这段sql却更新了整个表的数据。sql如下:
UPDATE tops_visa.visa_order
SET op_audit_abort_pass_date = now()
FROM
tops_visa.visa_order as t1
INNER JOIN tops_visa.visa_visitor as t2
ON t1.
将redis,memcache结合使用的方案?
tcrct
redis cache
公司架构上使用了阿里云的服务,由于阿里的kvstore收费相当高,打算自建,自建后就需要自己维护,所以就有了一个想法,针对kvstore(redis)及ocs(memcache)的特点,想自己开发一个cache层,将需要用到list,set,map等redis方法的继续使用redis来完成,将整条记录放在memcache下,即findbyid,save等时就memcache,其它就对应使用redi
开发中遇到的诡异的bug
wudixiaotie
bug
今天我们服务器组遇到个问题:
我们的服务是从Kafka里面取出数据,然后把offset存储到ssdb中,每个topic和partition都对应ssdb中不同的key,服务启动之后,每次kafka数据更新我们这边收到消息,然后存储之后就发现ssdb的值偶尔是-2,这就奇怪了,最开始我们是在代码中打印存储的日志,发现没什么问题,后来去查看ssdb的日志,才发现里面每次set的时候都会对同一个key