常见的属性值(属性值太多,只要说常用的就好) none:元素隐藏 block:块级元素 inline-block:内联块级元素 list-item:列表项目 表格系列方面的显示 table table-row
一个满屏 品 字布局 如何设计?
元素水平居中对齐
使用margin对齐(推荐)
2)使用left:50%
3)使用text-align
元素对相对窗口定位
使用filxed(推荐)
2)使用absolute定位
使用html和body的width和height填?这个窗口
3.元素左右定位
1)使用float左右浮动
2)使用绝对定位进行左右定位(推荐)
用纯CSS创建一个三角形的原理是什么?
1.采用的是均分原理 盒子都是一个矩形或正方形,从形状的中心,向4个角上下左右划分4个部 2.代码的实现 第一步 保证元素是块级元素 第二步 设置元素的边框 第三步 不需要显示的边框使用透明色
CSS样式-如何清除元素浮动?
1.使用clear:both清除浮动 示例1:使用div
.box{ width:300px;margin:0 auto;border:10px solid #000;}
.div{ width:200px;height:200px;background:red;float:left;}
.clear{ height:0px;font-size:0;clear:both;overflow: hidden;}
示例2:使用
.box{ width:300px;margin:0 auto;border:10px solid #000;}
.div{ width:200px;height:200px;background:red;float:left;}
伪类对象::after+zoom:1(推荐使用)
.box{margin:0 auto;border:10px solid #000;}
.div{ width:200px;height:200px;background:red;float:left;}
.clear{zoom:1;}
.clear:after{display:block;clear:both;content:"";visibility:hidden;height:0}
2.使用overflow属性
.box{ width:300px;border:1px solid #000;overflow:auto;}
.div1{ width:260px;height:400px;background:Red;float:left;}
注意:overflow:auto;、overflow:hidden;都可以
3.使用display属性
.box{ width:300px;margin:0 auto;border:10px solid #000; display:inline-block;}
.div{ width:200px;height:200px;background:red;float:left;}
注意:父元素不能水平居中,在父元素使用text-align:center解决
4.父级元素浮动
.box{ width:300px;margin:0 auto;border:10px solid #000; float:left;}
.div{ width:200px;height:200px;background:red;float:left;}
注意:父元素不能水平居中,可以使用定位解决
position: relative;
left: 50%;
margin-left: -150px;
JavaScript中如何翻转一个字符串?
1)使用字符串函数
str.split('').reverse().join('');
2)使用for循环
function reverseString(str) {
var newStr="";
for(var i=str.length-1;i>=0;i--){
newStr+=str[i];
}
return newStr;
}
3)使用递归
function reverseString(str) {
if (str === "") {
return "";
} else {
return reverseString(str.substr(1)) + str.charAt(0);
}
}
reverseString("hello"); // => olleh
如何向数组中间插入或删除元素?
第一种方法 使用splice方法
splice(start, deleteCount, value, ...)
start 开始插入和(或)删除的数组元素的下标。 deleteCount 从start开始,包括start所指的元素在内要删除的元素个数。这个参数是可选的,如果没有指定它,splice()将删除从start开始到原数组结尾的所有元素。 value, ... 要插入数组的零个或多个值,从start所指的下标处开始插入。 第二种方法 比较常规
var str = [0, 1, 3, 4, 6, 7];//原始字符串
var insWord = 5;//待插入字符串
var index = 4;//待插入位置
//待插入位置的元素全部向后移动一位
for(var i=str.length-1;i>=index;i--){
str[i+1]=str[i];
}
str[index]=insWord;//移动完后,将待插入的位置赋值为待插入的值
console.log(str);//[0, 1, 3, 4, 5, 6, 7]
用js实现千位分隔符,怎么实现?
方法一:使用正则表达式
function format (num) {
var reg=/\d{1,3}(?=(\d{3})+$)/g;
return (num + '').replace(reg, '$&,');
}
正则表达式 \d{1,3}(?=(\d{3})+$) 表示前面有1~3个数字,后面的至少由一组3个数字结尾。
?=表示正向引用,可以作为匹配的条件,但匹配到的内容不获取,并且作为下一次查询的开始。
$& 表示与正则表达式相匹配的内容,具体的使用可以查看字符串replace()方法的
第二种:方法-正常思维算法
function format(num){
num=num+'';//数字转字符串
var str="";//字符串累加
for(var i=num.length- 1,j=1;i>=0;i--,j++){
if(j%3==0 && i!=0){//每隔三位加逗号,过滤正好在第一个数字的情况
str+=num[i]+",";//加千分位逗号
continue;
}
str+=num[i];//倒着累加数字
}
return str.split('').reverse().join("");//字符串=>数组=>反转=>字符串
}
怎样创建、添加、移除、移动、和查找节点?
1.createDocumentFragment() 创建一个虚拟节点对象,对于频繁操作DOM时推荐使用,减少对页面重绘频率从而提高页面响应的速度。 2.createElement() 根据标签名称创建一个具体的元素,对应的属性为innerHTML,此方法使用的频率高,创建元素基本上都会选择这种方法。 3.createTextNode() 创建一个文本节点,对应的属性为innerText。 移除元素 parentNode.removeChild(childNode)
替换元素 parentNode.replaceChild(newChild,oldChild);//替换元素
插入元素 parentNode.insertBefore(newChild,refChild)//在refChild前插入节点
追加元素 parentNode.appendChild(childNode)
查找
parentNode.getElementsByTagName(tagName)获取所在父节点下的指定标签名节点,返回HTMLCollection类型
document.getElementsByClassName(className)//根据类名获取节点,返回HTMLCollection
document.getElementById(id)//通过元素Id,唯一性
高级选择器 document.querySelector
事件是什么?如何阻止事件冒泡?
事件用于监听浏览器的操作行为,浏览器触发动作时被捕捉到而调用相应的函数。
事件执行三个阶段 ① 事件捕获阶段 ② 处于目标阶段 ③ 事件冒泡阶段 捕获型事件是自上而下,而冒泡型事件是自下而上的,而我们程序员通常要做的就是第二阶段,完成事件的动作。而第一、三阶段由系统封装自动调用完成。
冒泡阻止 event.stopPropagation() IE浏览器 event.cancelBubble = true;
谈一下Jquery中的bind,live,delegate,on的区别?
bind:把事件绑定到每一个匹配的元素上 1.兼容性比较好 2.绑定事件到所有选出来的元素上 3.不会绑定事件到动态添加的那些元素上 4.当元素很多时,会出现效率问题,特别是嵌套层次比较深的元素。
live:把所有的事件都绑定到jquery对象$(document) ,主要特点: 1.事件只需要绑定一次,不需要绑定到筛选出来的元素上。 2.动态添加元素后依然拥有绑定事件。 3.不能使用event.stopPropagation() 来阻止事件的冒泡。
delegate:将事件绑定到指定的父元素上,和live类似但比较能活。主要特点: 1.可以用在动态添加的元素上 2.绑定的父元素可以采用就近原则,减少查询的次数,比live的性能好 3.在live和delegate两者推荐使用delegate
On:是jQuery1.7中新增的,前面的三种方法都是依赖on方法来实现的。,主要特点: 1.事件的添加和卸载都要是通过on来实现的,提供一种统一的事件处理方法。 2.增加了使用的难度,对于不熟悉on的使用的,很有可能就勿用,导致性能下降。
原型是什么?原型链是什么?
什么是闭包,为什么要用它?
闭包是什么 我个人理解,闭包是就是函数中的函数,里面的函数可以访问外面函数的变量,外面的变量的是这个内部函数的一部分。 辅助理解
闭包的作用 1.使用闭包可以访问函数中的变量。 2.可以使变量长期保存在内存中,生命周期比较长。
加分项
闭包不能滥用,否则会导致内存泄露,影响网页的性能。闭包使用完了后,要立即释放资源,将引用变量指向null。
Ajax 是什么? 如何创建一个Ajax?
Ajax是什么 我理解Ajax 是一种异步请求数据的一种技术,对于改善用户的体验和程序的性能很有帮助。 Ajax的使用 1.创建Ajax核心对象XMLHttpRequest
var xmlhttp;
if (window.XMLHttpRequest)
{// 兼容 IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// 兼容 IE6, IE5
xmlhttp=newActiveXObject("Microsoft.XMLHTTP");
}
2.向服务器发送请求
xmlhttp.open(method,url,async);
send(string)
注意:open 的参数要牢记,很多面试官爱问这样的细节 method:请求的类型;GET 或 POST url:文件在服务器上的位置 async:true(异步)或 false(同步) send(string)方法post请求时才使用字符串参数,否则不用带参数。
注意:post请求一定要设置请求头的格式内容
xmlhttp.open("POST","ajax_test.html",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Henry&lname=Ford");
3.服务器响应处理 responseText 获得字符串形式的响应数据。 responseXML 获得XML 形式的响应数据。 3.1 同步处理
xmlhttp.open("GET","ajax_info.txt",false);
xmlhttp.send();
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
直接在send()后面处理返回来的数据。 3.2 异步处理 异步处理相对比较麻烦,要在请求状态改变事件中处理。
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 &&xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
xmlhttp.status:响应状态码。这个也是面试比较爱问的,这个必须知道4个以上,比较常见的有:
200: "OK"
403 (禁止) 服务器拒绝请求。
404 (未找到) 服务器找不到请求的网页。
408 (请求超时) 服务器等候请求时发生超时。
500 (服务器内部错误) 服务器遇到错误,无法完成请求。
JavaScript有几种类型的值?你能画一下他们的内存图吗?
两大类:
栈:原始数据类型(Undefined,Null,Boolean,Number、String)
堆:引用数据类型(对象、数组和函数)
区别:
两种类型的区别是:存储位置不同;
原始数据类型直接存储在栈(stack)中的简单数据段,占据空间小、大小固定,属于被频繁使用数据,所以放入栈中存储;
引用数据类型存储在堆(heap)中的对象,占据空间大、大小不固定,如果存储在栈中,将会影响程序运行的性能;引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。当解释器寻找引用值时,会首先检索其
在栈中的地址,取得地址后从堆中获得实体
谈谈你对this的理解
this的指向
this表示当前对象,this的指向是根据调用的上下文来决定的,默认指向window对象,指向window对象时可以省略不写,例如:
this.alert() <=> window.alert()<=> alert();
调用的上下文环境包括全局和局部
全局环境就是在里面,这里的this始终指向的是window对象
1)在全局作用域下直接调用函数,this指向window 2)对象函数调用,哪个对象调用就指向哪个对象
3)使用 new 实例化对象,在构造函数中的this指向实例化对象。
var Show=function(){
this.myName="Mr.Cao"; //这里的this指向的是obj对象
}
var obj=new Show();
4)使用call或apply改变this的指向
var Go=function(){
this.address="深圳";
}
var Show=function(){
console.log(this.address);//输出 深圳
}
var go=new Go();
Show.call(go);//改变Show方法的this指向go对象
用于区分全局变量和局部变量,需要使用this 2.返回函数当前的对象,看jquery1.8.3源码。 3.将当前的对象传递到下一个函数,看jquery1.8.3源码。
同步和异步有什么区别?
同步,我的理解是一种线性执行的方式,执行的流程不能跨越。一般用于流程性比较强的程序,我们做的用户登录功能也是同步处理的,必须用户通过用户名和密码验证后才能进入系统的操作。
异步,是一种并行处理的方式,不必等待一个程序执行完,可以执行其它的任务。在程序中异步处理的结果通常使用回调函数来处理结果。在JavaScript中实现异步的方式主要有Ajax和H5新增的Web Worker。
谈谈你对模块化开发的理解?
什么是模块化
所谓的模块化开发就是封装细节,提供使用接口,彼此之间互不影响,每个模块都是实现某一特定的功能。模块化开发的基础就是函数 (一)使用函数封装
functionfunc1(){
//...
}
functionfunc2(){
//...
}
上面的函数func1 ()和func2 (),组成一个模块。使用的时候,直接调用就行了。这种做法的缺点很明显:"污染"了全局变量,无法保证不与其他模块发生变量名冲突,而且模块成员之间看不出直接关系。 (二)使用对象封装
为了解决上面的缺点,可以把模块写成一个对象,所有的模块成员都放到这个对象里面。
varobj = {
age : 0,
func1 : function (){
//...
},
func2 : function (){
//...
}
};
上面的函数func1 ()和func2 (),都封装在obj对象里。使用的时候,就是调用这个对象的属性。 obj.func1(); 这样做也是有问题的,变量可以被外面随意改变而导致不安全。比如,年龄被修成负数。 obj.age = -100; 如何保证对象的属性不被访问了? (三)立即执行函数写法
使用"立即执行函数"(Immediately-Invoked FunctionExpression,IIFE),可以达到不暴露私有成员的目的。这个也是闭包处理的一种方式。
var oj= (function(){
var _age= 0;
var func1= function(){
//...
};
var func2= function(){
//...
};
return {
m1 : func1,
m2 : func2
};
})();
使用上面的写法,外部代码无法读取内部的age变量。 console.info(obj.age);//undefined (四)放大模式 如果一个模块很大,必须分成几个部分,或者一个模块需要继承另一个模块,这时就有必要采用"放大模式"(augmentation)。在原有的基础上扩展更多的方法。
var obj =(function (mod){
mod.func3= function () {
//...
};
returnmod;//方便方法连续调用
})(obj);
(五)宽放大模式(Loose augmentation)
在浏览器环境中,模块的各个部分通常都是从网上获取的,有时无法知道哪个部分会先加载。如果采用上面的写法,第一个执行的部分有可能加载一个不存在空对象,这时就要采用"宽放大模式"。
var obj =( function (mod){
//...
returnmod;
})(window.obj|| {});//确保对象不为空
(六)输入全局变量
独立性是模块的重要特点,模块内部最好不与程序的其他部分直接交互。为了在模块内部调用全局变量,必须显式地将其他变量输入模块。
(function(window, undefined ) {
……
})(window );
这是jQuery框架的源码,将window对象作为参数传入,这样做除了保证模块的独立性,还使得模块之间的依赖关系变得明显。
目前,通行的JavaScript模块规范共有两种:CommonJS和AMD。
如何实现浏览器内多个标签页之间的通信?
方法一:使用localStorage 使用localStorage.setItem(key,value);添加内容 使用storage事件监听添加、修改、删除的动作
window.addEventListener("storage",function(event){
$("#name").val(event.key+”=”+event.newValue);
});
方法二、使用cookie+setInterval
$(function(){
$("#btnOK").click(function(){
varname=$("#name").val();
document.cookie="name="+name;
});
});
//获取Cookie天的内容
function getKey(key) {
return JSON.parse("{\""+ document.cookie.replace(/;\s+/gim,"\",\"").replace(/=/gim, "\":\"") +"\"}")[key];
}
//每隔1秒获取Cookie的内容
setInterval(function(){
console.log(getKey("name"));
},1000);
call() 和 apply() 的区别?
相同点:两个方法产生的作用是完全一样的,都用来改变当前函数调用的对象。
不同点:调用的参数不同,比较精辟的总结: foo.call(this,arg1,arg2,arg3) == foo.apply(this, arguments)==this.foo(arg1, arg2, arg3)
使用 1.call的使用 语法 call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数 thisObj 可选项。将被用作当前对象的对象。 arg1,arg2, , argN 可选项。将被传递方法参数序列。 说明 call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。
2.apply() apply与call的功能几乎一样,第一个参数意义都一样,只是第二个参数有点不同apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入,call从第二个参数开始,依次传值给调用函数的参数
eval是做什么的?
eval()的作用 把字符串参数解析成JS代码并运行,并返回执行的结果;
eval("2+3");//执行加运算,并返回运算值。
eval("varage=10");//声明一个age变量
eval的作用域
functiona(){
eval("var x=1"); //等效于 var x=1;
console.log(x); //输出1
}
a();
console.log(x);//错误 x没有定义
说明作用域在它所有的范围内容有效
注意事项 应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行)。
其它作用 由JSON字符串转换为JSON对象的时候可以用eval
js延迟加载的方式有哪些?
1.defer 属性 浏览器会并行下载 file.js和其它有 defer 属性的script,而不会阻塞页面后续处理。defer属性在IE 4.0中就实现了,超过10多年了!Firefox从 3.5 开始支持defer属性 。 注:所有的defer脚本保证是按顺序依次执行的。 2.async 属性 async属性是HTML5新增的。作用和defer类似,但是它将在下载后尽快执行,不能保证脚本会按顺序执行。它们将在onload 事件之前完成。 Firefox3.6、Opera 10.5、IE 9和 最新的Chrome 和 Safari 都支持 async 属性。可以同时使用 async 和 defer,这样IE 4之后的所有IE 都支持异步加载。 3.动态创建DOM方式
4.使用Jquery的getScript()方法
$.getScript("outer.js",function(){//回调函数,成功获取文件后执行的函数
console.log("脚本加载完成")
});
new操作符具体干了什么呢?
new共经过了4个阶段 1、创建一个空对象
var obj=new Object();
2、设置原型链
var result =Func.call(obj);
3、让Func中的this指向obj,并执行Func的函数体。
var result =Func.call(obj);
4、判断Func的返回值类型: 如果是值类型,返回obj。如果是引用类型,就返回这个引用类型的对象。
if (typeof(result) == "object"){
func=result;
}
else{
func=obj;;
}
CSS3有哪些新特性?
1.CSS3的选择器
1)E:last-child 匹配父元素的最后一个子元素E。 2)E:nth-child(n)匹配父元素的第n个子元素E。 3)E:nth-last-child(n) CSS3 匹配父元素的倒数第n个子元素E。
@Font-face 特性
Font-face 可以用来加载字体样式,而且它还能够加载服务器端的字体文件,让客户端显示客户端所没有安装的字体。
圆角
多列布局 (multi-column layout) 5.阴影(Shadow) 6.CSS3 的渐变效果 7.css弹性盒子模型
CSS3制作特效
Transition 对象变换时的过渡效果
transition-property 对象参与过渡的属性 transition-duration 过渡的持续时间 transition-timing-function 过渡的类型 transition-delay 延迟过渡的时间
Transforms 2D转换效果
主要包括 translate(水平移动)、rotate(旋转)、scale(伸缩)、skew(倾斜)
Animation动画特效
html5有哪些新特性、移除了那些元素?
(一).H5新特性 增强了图形渲染、影音、数据存储、多任务处理等处理能力主要表现在
绘画 canvas;
本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失; 1.特点 数据永久存储,没有时间限制;大小限制5M(够用了);只存储字符串。 2.数据存取方式
localStorage.a = 3;//设置a为"3"
localStorage["a"] = "sfsf";//设置a为"sfsf",覆盖上面的值
localStorage.setItem("b","isaac");//设置b为"isaac"
var a1 = localStorage["a"];//获取a的值
var a2 = localStorage.a;//获取a的值
var b = localStorage.getItem("b");//获取b的值
var b2= localStorage.key(0);//获取第一个key的内容
localStorage.removeItem("c");//清除c的值
localStorage.clear();//清除所有的数据
推荐使用: getItem() setItem() removeItem() 3.事件监听
if(window.addEventListener){
window.addEventListener("storage",handle_storage,false);//
}else if(window.attachEvent){ //兼容IE
window.attachEvent("onstorage",handle_storage);
}
function handle_storage(e){
}
对象e为localStorage对象,Chrome、Firefox支持差,IE支持较好。
sessionStorage的数据在浏览器关闭后自动删除;操作参考localStorage
用于媒介回放的 video和 audio 元素;
语意化更好的内容元素,比如article、footer、header、nav、section;
表单控件,calendar、date、time、email、url、search;
新的技术webworker(专用线程)
websocketsocket通信
Geolocation 地理定位 (二)移除的元素
纯表现的元素 默认字体,不设置字体,以此渲染 字体标签 水平居中 下划线 大字体 中横线 文本等宽
框架集
如何在页面上实现一个圆形的可点击区域?
map+area
border-radius(H5)
智学无忧
纯js实现 需要求一个点在不在圆上简单算法、获取鼠标坐标等等 两点之间的距离计算公式
上面公式对于JavaScript代码如下:
|AB|=Math.abs(Math.sqrt(Math.pow(X2-X1),2)+Math.pow(Y2-Y1,2))) Math.abs()求绝对值 Math.pow(底数,指数) Math.sqrt()求平方根 示例: 假设圆心为(100,100),半径为50,在圆内点击弹出相应的信息,在圆外显示不在圆内的信息
document.onclick=function(e){
var r=50;//圆的半径
var x1=100,y1=100,x2= e.clientX;y2= e.clientY;
//计算鼠标点的位置与圆心的距离
var len=Math.abs(Math.sqrt(Math.pow(x2-x1,2)+Math.pow(y2-y1,2)));
if(len<=50){
console.log("内")
}else{
console.log("外")
}
}
请描述一下 cookies,sessionStorage 和 localStorage 的区别?
相同点:都存储在客户端 不同点: 1.存储大小 cookie数据大小不能超过4k。 sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。 2.有效时间 localStorage 存储持久数据,浏览器关闭后数据不丢失除非主动删除数据; sessionStorage 数据在当前浏览器窗口关闭后自动删除。 cookie 设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭
数据与服务器之间的交互方式 cookie的数据会自动的传递到服务器,服务器端也可以写cookie到客户端 sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。
额外拓展【加分项】:Cookie的操作(有点小难度)防止面试官细问cookie的操作。
设置Cookie cookie的几个要素 cookie的内容:采用 key=value;key=value……存储,参数名自定义 cookie的过期时间:使用参数expires cookie的路径:使用参数path,"/"表示这个网站的页面,不推荐!容易产生冲突 注意:形如“/pro/index.html”路径,在google浏览器正常,在IE浏览器得不到值
var name = "jack";
var pwd = "123";
var now = new Date();
now.setTime(now.getTime() +1 * 24 * 60 * 60 * 1000);//转毫秒
var path = "/";//可以是具体的网页
document.cookie = "name=" + name + ";expires=" + now.toUTCString() + ";path=" + path;//姓名
document.cookie= "pwd=" + pwd + ";expires=" + now.toUTCString()+ ";path=" + path; //密码
读取cookie 获取cookie内容 vardata=document.cookie;//获取对应页面的cookie 解析cookie
方式1:截取字符串
function getKey(key) {
var data = document.cookie;
var findStr = key + "=";
//找到key的位置
var index = data.indexOf(findStr);
if (index == -1)
return null;
var subStr = data.substring(index +findStr.length);
var lastIndex = subStr.indexOf(";");
if (lastIndex == -1) {
return subStr;
} else {
return subStr.substring(0,lastIndex);
}
}
function getKey(key) {
return JSON.parse("{\"" +document.cookie.replace(/;\s+/gim, "\",\"").replace(/=/gim, "\":\"") + "\"}")[key];
}
清除cookie
var name = null;
var pwd = null;
var now = new Date();
var path = "/";//可以是具体的网页
document.cookie= "name=" + name + ";expires=" + now.toUTCString()+ ";path=" + path;//姓名
document.cookie = "pwd=" + pwd + ";expires=" + now.toUTCString()+ ";path=" + path; //密码
什么是响应式开发?
什么是响应式 顾名思义,同一个网站兼容不同的大小的设备。如PC端、移动端(平板、横屏、竖排)的显示风格。 需要用到的技术
Media Query(媒体查询) 用于查询设备是否符合某一特定条件,这些特定条件包括屏幕尺寸,是否可触摸,屏幕精度,横屏竖屏等信息。
使用em或rem做尺寸单位 用于文字大小的响应和弹性布局。
禁止页面缩放
屏幕尺寸响应 a) 固定布局:页面居中,两边留白,他能适应大于某个值一定范围的宽度,但是如果太宽就会有很多留白,太窄会出现滚动条,在PC页面上很常见。 b) 流动布局:屏幕尺寸在一定范围内变化时,不改变模块布局,只改变模块尺寸比例。比固定布局更具响应能力,两边不留白,但是也只能适应有限的宽度变化范围,否则模块会被挤(拉)得不成样子。 c) 自定义布局:上面几种布局方式都无法跨域大尺寸变化,所以适当时候我们需要改变模块的位置排列或者隐藏一些次要元素。 d) 栅格布局:这种布局方式使得模块之间非常容易对齐,易于模块位置的改变用于辅助自定义布局。 响应式设计注意事项 1.宽度不固定,可以使用百分比 head{width:100%;} content{width:50%;}
图片处理 图片的宽度和高度设置等比缩放,可以设置图片的width为百分比,height:auto; 背景图片可以使用background-size 指定背景图片的大小。
你可能感兴趣的:(前端面试可能问的问题)
玩转 LangChain:从文档加载到高效问答系统构建的全程实战
大模型铲屎官
现代大模型技术与应用 langchain python 人工智能 nlp AI 文档加载 问答系统构建
系列文章目录01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南02-玩转LangChainMemory模块:四种记忆类型详解及应用场景全覆盖03-全面掌握LangChain:从核心链条构建到动态任务分配的实战指南04-玩转LangChain:从文档加载到高效问答系统构建的全程实战文章目录系列文章目录前言一、LangChain环境搭建与初始配置1.1安装依赖1.2环境变量
Ubuntu怎么更新最新python
互联网裁缝
ubuntu python linux
在Ubuntu上更新Python到最新版本,通常需要通过包管理器apt来操作,因为Ubuntu默认的Python发行版可能会滞后于主线版本。以下是步骤:检查当前Python版本:打开终端并运行命令:python3--version安装software-properties-common(如果未安装):如果你看到“commandnotfound”,说明software-properties-comm
【深度学习】Pytorch:在 ResNet 中加入注意力机制
T0uken
深度学习 pytorch 人工智能
在这篇教程中,我们将介绍如何在ResNet网络中加入注意力机制模块。我们将通过对标准ResNet50进行改进,向网络中添加两个自定义的注意力模块,并展示如何实现这一过程。为什么要加入注意力机制注意力机制可以帮助神经网络专注于图像中重要的特征区域,从而提高模型的性能。在卷积神经网络中,加入注意力机制能够有效增强特征提取能力,减少冗余信息的干扰,尤其在处理复杂图像时,能够提升网络的表现。在本教程中,我
36. K11364 剑法
我是一只来自东方的鸭.
算法 c++
题目描述两仪剑法是武当派武功的高级功夫,剑法招数变化太快、太多,且必须2个人配合使用威力才大。设弟子甲招数变化周期为M,弟子乙招数变化周期为N,两弟子同时使用该剑法,当2人恰好同时达到招数变化周期结束时,威力最大。请你计算威力最大时,每人用了多少招(用t表示)?输入格式输入数据有若干组,每组数据包含两个整数M,N(1<M,N<100000)。输出格式对于每组数据,输出威力最大时出手了多少招(用t表
Python 笔记(06)— 函数不定长参数(可变位置参数、可变关键字参数)
wohu007
Python Python 不定长参数
Python函数常见的五类参数:位置参数关键字参数默认参数可变位置参数可变关键字参数1.定义出现带一个星号的参数args,这是可变位置参数;带两个星号的参数kwargs,这是可变关键字参数;deftest(x,y,*args,**kwargs):print(x)print(y)print(args)print(kwargs)可变表示函数被赋值的变量个数是变化的。2.按顺序解析调用例如,可以这样调用
WAF(Web应用防火墙)的关键技术分析
?????????????!
WAF 网络 web安全 安全 网络安全 笔记
学习永无止境!!!目录前言一、WAF的工作原理二、WAF常见的部署方式三、WAF的一般工作流程前言本文主要介绍了WAF的工作原理、常见部署方式和工作流程,以帮助读者更好地理解WAF。一、WAF的工作原理WAF是一种根据预先定义的过滤规则和安全防护规则,对所有服务器的访问请求和响应进行检测和内容过滤,以保护Web服务器和Web应用安全的信息系统。相比于传统的网络安全设备如防火墙、入侵检测系统和入侵防
kafka和mq的区别
xsmxh-1314
笔记 kafka rabbitmq java
作为消息队列来说,企业中选择mq的还是多数,因为像Rabbit,Rocket等mq中间件都属于很成熟的产品,性能一般但可靠性较强,而kafka原本设计的初衷是日志统计分析,现在基于大数据的背景下也可以做运营数据的分析统计,而redis的主要场景是内存数据库,作为消息队列来说可靠性太差,而且速度太依赖网络IO,在服务器本机上的速度较快,且容易出现数据堆积的问题,在比较轻量的场合下能够适用。Rabbi
网络创业理论与实践(网络通识)
17是个小小菜
网络通识 大数据
网络创业优势什么是网络创业【单选题】facebook的创始人是()。A、马克·扎克伯格B、雷军C、马云D、埃隆·马斯克我的答案:A【多选题】互联网创业的表现形式有()。A、电子商务B、移动互联网创业C、自媒体创业D、劳务技术创业网E、自营网站我的答案:ABCDE【判断题】全球创业教父认为创业不仅仅是对机会的识别和把握。()我的答案:×互联网冲击引发的社会变革【单选题】不是中国经济发展的三大马车是(
Spring三级缓存解决循环依赖
小马不敲代码
Java spring 源码解析
我们都知道Spring中的BeanFactory是一个IOC容器,负责创建Bean和缓存一些单例的Bean对象,以供项目运行过程中使用。创建Bean的大概的过程:实例化Bean对象,为Bean对象在内存中分配空间,各属性赋值为默认值初始化Bean对象,为Bean对象填充属性将Bean放入缓存首先,容器为了缓存这些单例的Bean需要一个数据结构来存储,比如Map{k:name;v:bean}。而我们
兼职服务管理系统
詹姆斯爱研究Java
项目文章 java
摘要随着网络上应聘兼职工作的日益普遍,怎样才能让用户轻松、快速、方便的找到自己所需而理想的工作成为许多人广泛关注的一个问题,尤其对于许多的年轻人和大学生来说,提升自己的工作能力,提高自己的综合素质,以便于毕业后能够更好的适应社会的压力。兼职系统采用SpringBoot框架大大提高了开发效率,MySQL的强大支撑使得兼职信息查询更方便。这些都是找份兼职系统拥有的优势。另一方面,持久层框架为MyBat
2025美赛数学建模C题思路模型代码(1.24第一时间更新)
灿灿数模
数学建模
2025美赛数学建模C题思路模型代码(1.24第一时间更新)以下为近十年以来的美赛题目所用的模型算法年份题目研究内容数学模型算法2024年MCMA题研究海洋鳗鲡性别比例与资源可用性的关系,开发模型探讨其优劣势Lotka-Volterra模型、费舍尔性别比例理论、响应曲线模型、蒙特卡洛模拟粒子群优化(PSO)、贝叶斯推断、A*搜索、模拟退火2024年MCMB题定位失踪潜水器,准备搜索设备,确定搜索模
备战2025美赛数学建模,蒙特卡洛模拟算法,2025美赛数学建模A题+B题+C题+D题+E题思路+模型+代码(1.24第一时间更新,)
灿灿数模
人工智能
备战2025美赛数学建模,蒙特卡洛模拟算法,2025美赛数学建模A题+B题+C题+D题+E题思路+模型+代码(1.24第一时间更新,)更新见文末名片一、引言蒙特卡洛模拟算法是一种基于概率和统计理论的数值计算方法,通过随机抽样来近似复杂系统的概率问题。它以摩纳哥著名的赌场蒙特卡洛命名,象征着其基于随机性的特点。二、算法原理蒙特卡洛模拟算法的核心思想是利用随机抽样来估计一个函数的期望值或者某个概率分布
2025美赛数学建模E题思路+模型+代码(1.24第一时间更新),美赛案例分析之模拟退火算法
灿灿数模
人工智能
2025美赛数学建模E题思路+模型+代码(1.24第一时间更新)模拟退火算法是一种随机算法,并不一定能找到全局的最优解,可以比较快的找到问题的近似最优解。如果参数设置得当,模拟退火算法搜索效率比穷举法要高。一.在开始进入正题前,先简单介绍一下物理上的固体退火原理在热力学上,退火(annealing)现象指物体逐渐降温的物理现象,温度愈低,物体的能量状态会低;够低后,液体开始冷凝与结晶,在结晶状态时
Python之函数中的位置可变参数和关键字可变参数
静星辰
1.位置可变参数(*)在形式参数名称前加一个星号*,则代表使用该形式参数可以接收任意多个参数,而且接收的参数将会以元组的方式组织。例:deffunc(*args):#arg形参以元组的方式组织传入的实参print(args)func(1,6,"ab","gh")运行结果:(1,6,‘ab’,‘gh’)2.关键字可变参数(**)在形式参数名称前加两个星号**,则代表使用该形式参数可以接收任意多个传入
k8s部署redis一主两从三哨兵(集群内访问)
容器云服务
容器云 kubernetes redis 容器
一、配置清单1.基于K8s搭建部署1主2从3哨兵的Redis集群哨兵模式(集群内访问)2.持久化数据选择用storageclass,动态创建pv存储,动态存储使用longhorn创建redis配置文件#注意内容中注释apiVersion:v1kind:Namespacemetadata:name:prod---apiVersion:v1kind:ConfigMapmetadata:name:red
winform调用python_C#调用Python代码
weixin_39787826
winform调用python
C#中,如果碰到需要调用Python代码时,一种方法是使用IronPython,不过这种方法太繁琐太累,特别是碰到Python代码中带有大量的第三方包,就会一直报错,提示缺少相应模块,这种方法太low,只支持Python2代码,果断摒弃。推荐另一种方法是用pyinstaller打包Python程序,会自动将程序中引用的第三方包也打包进去,Python3.X随便用,很方便。pyinstaller怎么
ITIL认证工具商-ManageEngine Servicedesk Plus
运维
ServiceDeskPlus是ZohoCorporation旗下企业IT管理部门ManageEngine提供的统一服务管理解决方案。凭借其无限的可扩展性、情境化的IT和业务集成以及一键式工作流程自动化功能,IT领导者可以使用ServiceDeskPlus有效执行和控制跨不同业务部门和IT功能的复杂工作流程。ServiceDeskPlus结合了IT服务管理基础、资产管理和配置管理数据库(CMDB)
云鲸智能大裁员:AI代码生成器时代,企业如何应对寒冬?
前端
近日,云鲸智能大裁员的消息引发了行业震动,涉及研发、测试等多个部门,部分团队甚至裁员比例高达65%。这一事件不仅凸显了智能家电行业面临的挑战,也引发了人们对企业发展与员工权益的深思。本文将深入分析云鲸智能裁员事件,探讨其背后的原因、行业影响以及未来展望,并思考在AI代码生成器等新技术浪潮下,企业如何更好地应对挑战。事件分析:寒冬下的无奈之举?云鲸智能此次裁员规模巨大,受影响员工涵盖老员工、应届生和
《探秘鸿蒙Next:非结构化数据处理与模型轻量化的完美适配》
人工智能深度学习
在鸿蒙Next的人工智能应用场景中,处理非结构化数据并使其适配模型轻量化需求是一项关键且具有挑战性的任务。以下是一些有效的方法和策略。数据预处理数据清洗:非结构化数据中往往存在噪声、重复和错误数据。对于文本数据,要去除乱码、特殊字符等;对于图像数据,需处理模糊、损坏的图像。比如在处理鸿蒙Next设备采集的监控图像时,通过OpenCV的HarmonyOS适配库进行图像滤波等操作去除噪声。数据归一化与
GitHub(修改host)加速访问
程序员
GitHub(修改host)加速访问对GitHub访问太难了:访问慢、图片加载不出来项目来源github520代码运行获取host文件项目具体代码#!/usr/bin/python3#-*-coding:utf-8-*-##Author:XueWeiHan#E-mail:595666367@qq.com#Date:2020-05-1915:27#Desc:获取最新的GitHub相关域名对应IPim
电商商业平台技术架构系列教程之:电商平台微服务架构
AI天才研究院
架构师必知必会系列 大数据 人工智能 语言模型 Java Python 架构设计
作者:禅与计算机程序设计艺术文章目录1.背景介绍一、什么是微服务?二、为什么要设计微服务架构?2.核心概念与联系一、微服务架构模式的核心概念二、微服务架构模式的联系3.核心算法原理和具体操作步骤以及数学模型公式详细讲解一、DDD(Domain-DrivenDesign)二、CQRS(CommandQueryResponsibilitySegregation)三、ESB(EnterpriseServ
Python 和Selenium统计jira
tomchn
笔记
我最近写了一个Python程序,自动提取Excel数据,用Selenium统计Jiras数据,并写入Excel。1.openPage打开并登录Jira,打开需统计的jira的页面,页面的search文本框,输入查询条件,就是sql语句,在jira中,叫做jql.2.statistic统计jira数据,并写入Excel。从Excel读取要搜索的条件:读取这个sheet:“JiraData”读取jir
Quartz框架
mimi虾
Java框架 quzrtz springboot quartz
Quartz的介绍关于Quartz的介绍网上有很多很多,但是在浏览了很多的文章之后,在这里优先推荐给大家的有如下几个以供大家理解,在这里感谢作者的辛苦贡献。参考一(翻译版):https://xuzongbao.gitbooks.io/quartz/content/chapter1.html参考二(开发API):https://www.quartz-scheduler.org/api/2.2.1/i
python 形参 可变位置参数 可变关键字参数 *args **kwargs
shyrainxy
python 可变位置参数 可变关键字参数 args kwargs
定义函数的时候,我们会指定参数,此时参数有这么几种一:固定参数,va,vb二:可变位置参数,用*号标识,*args、*var,本质是tuple三:可变关键字参数,用**好标识,**kwargs、**keyword,本质是dict但是参数位置有一定的要求:固定参数需要在可变参数的前面,且固定参数是必须传入的,可变参数可以为空。示例如下:定义的时候固定参数一定要在可变参数前面deffunction(v
postgresql的用户、数据库和表
Ray.1998
postgresql 数据库 postgresql oracle
在PostgreSQL中,用户、数据库和表是关系型数据库系统的基本组成部分。理解这些概念对数据库管理和操作至关重要。下面是对这些概念的详细解释:1.用户(User)在PostgreSQL中,用户(也称为角色)是一个用于身份验证和授权的实体。每个用户都有一个唯一的名称,并且可以有不同的权限(比如连接数据库、创建表、查询数据等)。超级用户(Superuser):拥有所有权限,能够执行任何操作,包括绕过
IO与进线程
簏屿
1024程序员节 linux
一、系统调用的概念OS负责管理和分配所有的计算机资源同时保护计算机硬件,为了更好地服务于应用程序,OS提供了一组特殊的接口,即系统调用。通过这组接口,用户程序可以使用OS内核提供的各种功能,如内存分配、进程创建、线程创建、进程间通信及线程间通信等。二、Linux文件类型拾遗Linux系统中,一切皆文件,操作设备时实际上是对文件进行操作。Linux文件类型:-:普通文件,linux中,如一般文件的文
Dockerfile的作用
Ray.1998
docker docker
Dockerfile是Docker镜像构建的核心文件,它是一个包含一系列指令的文本文件,定义了如何从基础镜像开始,逐步构建出一个符合需求的镜像。通过Dockerfile,可以自动化构建镜像的过程,使得镜像构建过程可重复且一致。*Dockerfile是一个文本文件,用于定义如何构建一个Docker镜像Dockerfile文件包含了镜像构建过程中的所有步骤,它们按照顺序执行,以生成一个定制化的镜像。D
基于Python的招聘系统——应聘兼职功能设计与实现
IT实战课堂—x小凡同学
Python毕业设计项目 数据库
摘要:随着互联网的快速发展,招聘行业逐渐实现了线上化、自动化。本文提出了一种基于Python的招聘系统,特别关注应聘兼职功能的设计与实现。系统通过集成职位发布、简历管理、在线应聘、面试安排等功能模块,为招聘方和应聘者提供了一个高效、便捷的线上交流平台。本文首先分析了招聘系统的需求,然后详细阐述了应聘兼职功能的设计与实现过程,最后对系统进行了测试与评估。实验结果表明,该系统能够有效提高招聘效率,降低
Linux 使用 GDB 进行调试的常用命令与技巧
打工人你好
Linux网络 linux
GDB调试的常用命令与技巧1.GDB常用命令1.1安装GDB1.2启动GDB1.3设置程序的参数1.4设置断点1.5启动程序并运行至断点1.6执行一步1.7打印变量值1.8查看函数调用栈2.GDB调试Core文件2.1生成Core文件2.2使用GDB调试Core文件3.GDB调试正在运行的程序3.1附加到正在运行的进程3.2在进程中设置断点3.3恢复程序执行GDB(GNUDebugger)是一个功
Nacos| Sentinel| K8S
fhzmWJ
分布式+容器
目录NacosSentinelK8S集群NacosNacos是构建以服务为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。Nacos支持几乎所有主流类型的服务的发现、配置和管理:KubernetesServicegRPC&DubboRPCServiceSpringCloudRESTfulServiceNacos的关键特性包括:服务发现和服务健康监测Nacos支持基于DNS和基于RP
Java常用排序算法/程序员必须掌握的8大排序算法
cugfy
java
分类:
1)插入排序(直接插入排序、希尔排序)
2)交换排序(冒泡排序、快速排序)
3)选择排序(直接选择排序、堆排序)
4)归并排序
5)分配排序(基数排序)
所需辅助空间最多:归并排序
所需辅助空间最少:堆排序
平均速度最快:快速排序
不稳定:快速排序,希尔排序,堆排序。
先来看看8种排序之间的关系:
1.直接插入排序
(1
【Spark102】Spark存储模块BlockManager剖析
bit1129
manager
Spark围绕着BlockManager构建了存储模块,包括RDD,Shuffle,Broadcast的存储都使用了BlockManager。而BlockManager在实现上是一个针对每个应用的Master/Executor结构,即Driver上BlockManager充当了Master角色,而各个Slave上(具体到应用范围,就是Executor)的BlockManager充当了Slave角色
linux 查看端口被占用情况详解
daizj
linux 端口占用 netstat lsof
经常在启动一个程序会碰到端口被占用,这里讲一下怎么查看端口是否被占用,及哪个程序占用,怎么Kill掉已占用端口的程序
1、lsof -i:port
port为端口号
[root@slave /data/spark-1.4.0-bin-cdh4]# lsof -i:8080
COMMAND PID USER FD TY
Hosts文件使用
周凡杨
hosts locahost
一切都要从localhost说起,经常在tomcat容器起动后,访问页面时输入http://localhost:8088/index.jsp,大家都知道localhost代表本机地址,如果本机IP是10.10.134.21,那就相当于http://10.10.134.21:8088/index.jsp,有时候也会看到http: 127.0.0.1:
java excel工具
g21121
Java excel
直接上代码,一看就懂,利用的是jxl:
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import
web报表工具finereport常用函数的用法总结(数组函数)
老A不折腾
finereport web报表 函数总结
ADD2ARRAY
ADDARRAY(array,insertArray, start):在数组第start个位置插入insertArray中的所有元素,再返回该数组。
示例:
ADDARRAY([3,4, 1, 5, 7], [23, 43, 22], 3)返回[3, 4, 23, 43, 22, 1, 5, 7].
ADDARRAY([3,4, 1, 5, 7], "测试&q
游戏服务器网络带宽负载计算
墙头上一根草
服务器
家庭所安装的4M,8M宽带。其中M是指,Mbits/S
其中要提前说明的是:
8bits = 1Byte
即8位等于1字节。我们硬盘大小50G。意思是50*1024M字节,约为 50000多字节。但是网宽是以“位”为单位的,所以,8Mbits就是1M字节。是容积体积的单位。
8Mbits/s后面的S是秒。8Mbits/s意思是 每秒8M位,即每秒1M字节。
我是在计算我们网络流量时想到的
我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
Spring 3 系列
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
高性能mysql 之 选择存储引擎(一)
annan211
mysql InnoDB MySQL引擎 存储引擎
1 没有特殊情况,应尽可能使用InnoDB存储引擎。 原因:InnoDB 和 MYIsAM 是mysql 最常用、使用最普遍的存储引擎。其中InnoDB是最重要、最广泛的存储引擎。她 被设计用来处理大量的短期事务。短期事务大部分情况下是正常提交的,很少有回滚的情况。InnoDB的性能和自动崩溃 恢复特性使得她在非事务型存储的需求中也非常流行,除非有非常
UDP网络编程
百合不是茶
UDP编程 局域网组播
UDP是基于无连接的,不可靠的传输 与TCP/IP相反
UDP实现私聊,发送方式客户端,接受方式服务器
package netUDP_sc;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Ine
JQuery对象的val()方法执行结果分析
bijian1013
JavaScript js jquery
JavaScript中,如果id对应的标签不存在(同理JAVA中,如果对象不存在),则调用它的方法会报错或抛异常。在实际开发中,发现JQuery在id对应的标签不存在时,调其val()方法不会报错,结果是undefined。
http请求测试实例(采用json-lib解析)
bijian1013
json http
由于fastjson只支持JDK1.5版本,因些对于JDK1.4的项目,可以采用json-lib来解析JSON数据。如下是http请求的另外一种写法,仅供参考。
package com;
import java.util.HashMap;
import java.util.Map;
import
【RPC框架Hessian四】Hessian与Spring集成
bit1129
hessian
在【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中介绍了基于Hessian的RPC服务的实现步骤,在那里使用Hessian提供的API完成基于Hessian的RPC服务开发和客户端调用,本文使用Spring对Hessian的集成来实现Hessian的RPC调用。
定义模型、接口和服务器端代码
|---Model
&nb
【Mahout三】基于Mahout CBayes算法的20newsgroup流程分析
bit1129
Mahout
1.Mahout环境搭建
1.下载Mahout
http://mirror.bit.edu.cn/apache/mahout/0.10.0/mahout-distribution-0.10.0.tar.gz
2.解压Mahout
3. 配置环境变量
vim /etc/profile
export HADOOP_HOME=/home
nginx负载tomcat遇非80时的转发问题
ronin47
nginx负载后端容器是tomcat(其它容器如WAS,JBOSS暂没发现这个问题)非80端口,遇到跳转异常问题。解决的思路是:$host:port
详细如下:
该问题是最先发现的,由于之前对nginx不是特别的熟悉所以该问题是个入门级别的:
? 1 2 3 4 5
java-17-在一个字符串中找到第一个只出现一次的字符
bylijinnan
java
public class FirstShowOnlyOnceElement {
/**Q17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
* 1.int[] count:count[i]表示i对应字符出现的次数
* 2.将26个英文字母映射:a-z <--> 0-25
* 3.假设全部字母都是小写
*/
pu
mongoDB 复制集
开窍的石头
mongodb
mongo的复制集就像mysql的主从数据库,当你往其中的主复制集(primary)写数据的时候,副复制集(secondary)会自动同步主复制集(Primary)的数据,当主复制集挂掉以后其中的一个副复制集会自动成为主复制集。提供服务器的可用性。和防止当机问题
mo
[宇宙与天文]宇宙时代的经济学
comsci
经济
宇宙尺度的交通工具一般都体型巨大,造价高昂。。。。。
在宇宙中进行航行,近程采用反作用力类型的发动机,需要消耗少量矿石燃料,中远程航行要采用量子或者聚变反应堆发动机,进行超空间跳跃,要消耗大量高纯度水晶体能源
以目前地球上国家的经济发展水平来讲,
Git忽略文件
Cwind
git
有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。使用git status时,会在Untracked files里面看到这些文件列表,在一次需要添加的文件比较多时(使用git add . / git add -u),会把这些所有的未跟踪文件添加进索引。
==== ==== ==== 一些牢骚
MySQL连接数据库的必须配置
dashuaifu
mysql 连接数据库配置
MySQL连接数据库的必须配置
1.driverClass:com.mysql.jdbc.Driver
2.jdbcUrl:jdbc:mysql://localhost:3306/dbname
3.user:username
4.password:password
其中1是驱动名;2是url,这里的‘dbna
一生要养成的60个习惯
dcj3sjt126com
习惯
一生要养成的60个习惯
第1篇 让你更受大家欢迎的习惯
1 守时,不准时赴约,让别人等,会失去很多机会。
如何做到:
①该起床时就起床,
②养成任何事情都提前15分钟的习惯。
③带本可以随时阅读的书,如果早了就拿出来读读。
④有条理,生活没条理最容易耽误时间。
⑤提前计划:将重要和不重要的事情岔开。
⑥今天就准备好明天要穿的衣服。
⑦按时睡觉,这会让按时起床更容易。
2 注重
[介绍]Yii 是什么
dcj3sjt126com
PHP yii2
Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。名字 Yii (读作 易)在中文里有“极致简单与不断演变”两重含义,也可看作 Yes It Is! 的缩写。
Yii 最适合做什么?
Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应
Linux SSH常用总结
eksliang
linux ssh SSHD
转载请出自出处:http://eksliang.iteye.com/blog/2186931 一、连接到远程主机
格式:
ssh name@remoteserver
例如:
ssh ickes@192.168.27.211
二、连接到远程主机指定的端口
格式:
ssh name@remoteserver -p 22
例如:
ssh i
快速上传头像到服务端工具类FaceUtil
gundumw100
android
快速迭代用
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOExceptio
jQuery入门之怎么使用
ini
JavaScript html jquery Web css
jQuery的强大我何问起(个人主页:hovertree.com)就不用多说了,那么怎么使用jQuery呢?
首先,下载jquery。下载地址:http://hovertree.com/hvtart/bjae/b8627323101a4994.htm,一个是压缩版本,一个是未压缩版本,如果在开发测试阶段,可以使用未压缩版本,实际应用一般使用压缩版本(min)。然后就在页面上引用。
带filter的hbase查询优化
kane_xie
查询优化 hbase RandomRowFilter
问题描述
hbase scan数据缓慢,server端出现LeaseException。hbase写入缓慢。
问题原因
直接原因是: hbase client端每次和regionserver交互的时候,都会在服务器端生成一个Lease,Lease的有效期由参数hbase.regionserver.lease.period确定。如果hbase scan需
java设计模式-单例模式
men4661273
java 单例 枚举 反射 IOC
单例模式1,饿汉模式
//饿汉式单例类.在类初始化时,已经自行实例化
public class Singleton1 {
//私有的默认构造函数
private Singleton1() {}
//已经自行实例化
private static final Singleton1 singl
mongodb 查询某一天所有信息的3种方法,根据日期查询
qiaolevip
每天进步一点点 学习永无止境 mongodb 纵观千象
// mongodb的查询真让人难以琢磨,就查询单天信息,都需要花费一番功夫才行。
// 第一种方式:
coll.aggregate([
{$project:{sendDate: {$substr: ['$sendTime', 0, 10]}, sendTime: 1, content:1}},
{$match:{sendDate: '2015-
二维数组转换成JSON
tangqi609567707
java 二维数组 json
原文出处:http://blog.csdn.net/springsen/article/details/7833596
public class Demo {
public static void main(String[] args) { String[][] blogL
erlang supervisor
wudixiaotie
erlang
定义supervisor时,如果是监控celuesimple_one_for_one则删除children的时候就用supervisor:terminate_child (SupModuleName, ChildPid),如果shutdown策略选择的是brutal_kill,那么supervisor会调用exit(ChildPid, kill),这样的话如果Child的behavior是gen_