前端面试题个人总结css js html vue jQuery node axios ajax

HTML/css

什么是?是否需要在HTML5中使用?

1.文档类型声明,作用就是告诉浏览器使用哪种HTML版本来显示网页。

Html5有哪些新特性、移除了哪些元素?

2.新特性 绘画 本地存储localStorage 事件监听
移除
纯表现的元素
   默认字体,不设置字体,以此渲染
   字体标签
  
水平居中 下划线 大字体 中横线 文本等宽 框架集 <frame> </code></pre> <h4>HTML5中的Session storage 存储对象是什么?如何创建和访问?</h4> <pre><code>3.Session storage 存储对象存储一个会话的数据。当用户关闭浏览器窗口时,数据将被删除。 </code></pre> <h4>LocalStorage 本地存储在HTML5中有什么用途?</h4> <pre><code>4.轻量级的sqllite数据库。可以在客户端本地存储数据,用于在断开网络连接的情况下读取本地缓存cookies,LocalStores可以将数据长期保存在客户端,直至人工清除为止, </code></pre> <h4>HTML 和XHTML有什么区别?</h4> <pre><code>5.XHTML 元素必须被正确地嵌套。 XHTML 元素必须被关闭。 标签名必须用小写字母。 XHTML 文档必须拥有根元素。 </code></pre> <h4>页面导入样式时,使用link和@import有什么区别?</h4> <pre><code>6. 区别1:link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS。   区别2:link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。   区别3:link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。   区别4:link支持使用Javascript控制DOM去改变样式;而@import不支持。 </code></pre> <h4>CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3新增伪类有哪些?</h4> <pre><code>7.CSS 选择符: 1.id选择器(# myid) 2.类选择器(.myclassname) 3.标签选择器(div, h1, p) 4.相邻选择器(h1 + p) 5.子选择器(ul > li) 6.后代选择器(li a) 7.通配符选择器( * ) 8.属性选择器(a[rel = "external"]) 9.伪类选择器(a: hover, li:nth-child) 可继承的样式: 1.font-size 2.font-family 3.color 4.text-indent 不可继承的样式: 1.border 2.padding 3.margin 4.width 5.height 优先级算法: 1.优先级就近原则,同权重情况下样式定义最近者为准; 2.载入样式以最后载入的定位为准; 3.!important > id > class > tag 4.important 比 内联优先级高,但内联比 id 要高 CSS3新增伪类举例: p:first-of-type 选择属于其父元素的首个 <p> 元素的每个 <p> 元素。 p:last-of-type 选择属于其父元素的最后 <p> 元素的每个 <p> 元素。 p:only-of-type 选择属于其父元素唯一的 <p> 元素的每个 <p> 元素。 p:only-child 选择属于其父元素的唯一子元素的每个 <p> 元素。 p:nth-child(2) 选择属于其父元素的第二个子元素的每个 <p> 元素。 :enabled :disabled 控制表单控件的禁用状态。 :checked 单选框或复选框被选中。 </code></pre> <h4>介绍一下CSS的盒子模型?</h4> <pre><code>8.盒子模型 margin border padding content </code></pre> <h4>Typeof的作用是什么?</h4> <pre><code>9.typeof 返回一个值的数据类型 </code></pre> <h4>在CSS中哪个属性会影响DOM读取文档流的顺序?</h4> <pre><code>10.writing-mode unicode-bidi direction </code></pre> <h4>行内元素有哪些?块级元素有哪些?空元素有哪些?</h4> <pre><code>11.行内元素 span a i b strong 块级元素 div p h1-h6 ul dl ol table form 空元素 br hr input img link meta </code></pre> <h4>img的 title和alt有什么区别?</h4> <pre><code>12.alt属性的实质是通过文字来代替图片的内容,而title属性的实质是对图片的描述或者注释。 </code></pre> <h4>var、 let 和const的区别?</h4> <pre><code>13.var全局变量 let const 块级变量 其次 var可以变量提升 而 let const 不可以 const 必须赋值 且只能声明一次 </code></pre> <h4>请用HTML知识解决seo优化问题?</h4> <pre><code>14.布局合理 没有多余代码即可 </code></pre> <h4>CSS 优先级算法如何计算?</h4> <pre><code>15.id权重100 class权重10 元素伪元素1 @impornt 10000 *为0 </code></pre> <h4>CSS3 有哪些新特性?</h4> <pre><code>16.border-radius圆角 border-image边框图像 box-shadow阴影 background-clip 规定背景的绘制区域. background-origin 规定背景图片的定位区域。 background-size 规定背景图片的尺寸。 动画@keyframes 规则 </code></pre> <h2>JavaScript/jQuery</h2> <h4>介绍下JavaScript的基本数据类型</h4> <pre><code>Number、String、Boolean、Null、undefined、symbol </code></pre> <h4>js中this在各种情况下指向</h4> <pre><code>函数调用指向window 方法调用指向绑定对象身上 </code></pre> <h4>js面向对象的几种方法</h4> <pre><code>工厂方式 构造函数方式 原型模式 混合的构造函数原型方式(推荐) 动态原型方式 </code></pre> <h4>什么是闭包,为什么要用它</h4> <pre><code>闭包是就是函数中的函数,里面的函数可以访问外面函数的变量,外面的变量的是这个内部函数的一部分。 funciton A(){ var a = 1 return funciton B(){ console.log(a) } } 1.使用闭包可以访问函数中的变量。 2.可以使变量长期保存在内存中,生命周期比较长。 闭包不能滥用 否则会导致内存泄漏 影响网页的性能 闭包使用完了后,要立即释放资源,将引用变量指向null。 </code></pre> <h4>js中undefined 和 not defined区别</h4> <pre><code>undefined 定义了变量但是没有赋值 not defined 没有定义 忽然冒出来 </code></pre> <h4>js中如何清除数组,操作数组的方法有哪些</h4> <pre><code>splice arr.splice(0,arr.length) length赋值为0 arr.length = 0 赋值为[] var arr = [1,2,3,4,5] arr = [] 操作数组方法 arr.push() 从后面添加元素,返回值为添加完后的数组的长度 arr.pop() 从后面删除元素,只能是一个,返回值是删除的元素 arr.shift() 从前面删除元素,只能删除一个 返回值是删除的元素 arr.unshift() 从前面添加元素, 返回值是添加完后的数组的长度 arr.splice(i,n) 删除从i(索引值)开始之后的那个元素。返回值是删除的元素 arr.concat() 连接两个数组 返回值为连接后的新数组 str.split() 将字符串转化为数组 arr.reverse() 将数组反转,返回值是反转后的数组 arr.slice(start,end) 切去索引值start到索引值end的数组,不包含end索引的值,返回值是切出来的数组 arr.forEach(callback) 遍历数组,无return 即使有return,也不会返回任何值 arr.map(callback) 映射数组(遍历数组),有return 返回一个新数组 。 arr.filter(callback) 过滤数组,返回一个满足要求的数组 arr.every(callback) 依据判断条件,数组的元素是否全满足,若满足则返回ture arr.some() 依据判断条件,数组的元素是否有一个满足,若有一个满足则返回ture arr.reduce(callback, initialValue) 迭代数组的所有项,累加器,数组中的每个值(从左到右)合并,最终计算为一个值 arr.indexOf() 查找某个元素的索引值,若有重复的,则返回第一个查到的索引值若不存在,则返回 -1 arr.lastIndexOf() 和arr.indexOf()的功能一样,不同的是从后往前查找 Array.from() 将伪数组变成数组,就是只要有length的就可以转成数组。 ---es6 Array.of() 将一组值转换成数组,类似于声明数组 ---es6 </code></pre> <h4>js动态添加新元素</h4> <pre><code>1.document.write() 2.Element.innerHTML 3.document.createElement() </code></pre> <h4>js中的深拷贝和浅拷贝</h4> <pre><code>浅拷贝引用地址不变 深拷贝引用地址改变新数组 深拷贝方法 递归 json对象 通过object.assign拷贝 </code></pre> <h4>.html .value .text方法的区别</h4> <pre><code>text() 方法方法设置或返回被选元素的文本内容 html() 方法返回或设置被选元素的内容 (inner HTML),包括标签。 value()方法返回或设置被选元素的值。元素的值是通过 value 属性设置的。该方法大多用于 input 元素。 </code></pre> <h4>js中<mark>和</mark>=的区别</h4> <pre><code>== 两边值类型不同的时候,要先进行类型转换,再比较。 === 不做类型转换,类型不同的一定不等。 </code></pre> <h4>js中变量类型</h4> <pre><code>值类型:Number、String、Boolean、Null、undefined、symbol 引用类型:对象(Object)、数组(Array)、函数(Function) </code></pre> <h4>说说你对语义化的理解</h4> <pre><code>页面呈现出清晰的结构 有利于seo 方便其他设备解析 便于团队开发和维护 </code></pre> <h4>为什么利用多个域名来提供网站资源会更有效</h4> <pre><code>1. CDN缓存更方便。 2. 突破浏览器并发限制。 3. Cookieless, 节省带宽,尤其是上行带宽 一般比下行要慢。 </code></pre> <h4>js作用域链是什么及其作用</h4> <pre><code>当前作用域中没有查到值,就会向上级作用域去查,直到查到全局作用域,这么一个查找过程形成的链条就叫做作用域链。 </code></pre> <h4>列举出js中的一些设计模式</h4> <pre><code>单例模式 工厂模式 适配模式 外观模式 </code></pre> <h4>解释一下什么是promise 三种状态</h4> <pre><code>promise出现的目的一为处理JavaScript里的异步,再就是避免回调地狱。 pending就是未决,resolve可以理解为成功,reject可以理解为拒绝。 </code></pre> <h4>解释一下箭头函数 使用时需要注意什么</h4> <pre><code>箭头函数和匿名函数有个明显的区别:箭头函数内部的this是词法作用域,由上下文确定。 箭头函数没有它自己的this值,箭头函数内的this值继承自外围作用域,谁定义的函数,this指向谁 </code></pre> <h4>列举jQuery中的选择器</h4> <pre><code>id class * (div span)div后面的span标签 </code></pre> <h4>jQuery中如何阻止事件冒泡</h4> <pre><code>event.stopPropagation </code></pre> <h4>jQuery中get与post区别</h4> <pre><code>get请求数据 请求数据会体现在url后面 会被缓存 有长度限制 post 提交数据 提交的数据可以在请求体中查看 刷新会被重复提交 post相比较安全 </code></pre> <h2>node.js Ajax axios</h2> <h4>什么是node.js 简述一下node.js适用场景</h4> <pre><code>中间层 </code></pre> <h4>什么是http协议无状态协议 怎么解决</h4> <pre><code>无状态协议对于事物处理没有记忆能力,也就是说,当客户端第一次像服务器发送http请求完成之后,再一次像服务器发送http请求,服务器并不知道该客户端是一个老用户 解决办法是携带Cookie,Cookie相当于是一个通行证,当客户端第一次像服务端发送http请求时,服务端向客户端返回一个cookie,当客户端再次发送http请求时携带该cookie,于是服务端便知道该客户端是一个老用户了 </code></pre> <h4>如何取出树形结构的数据 前端如何显示树形结构数据</h4> <pre><code> </code></pre> <h4>Ajax请求方式 参数类型 状态码</h4> <pre><code>请求方式 get post $.ajax()返回其创建的 XMLHttpRequest 对象 通过 HTTP GET 请求载入 JSON 数据。 参数类型 json格式 json字符串格式 标准参数模式 状态码 0 - (未初始化)还没有调用send()方法 1 - (载入)已调用send()方法,正在发送请求 2 - (载入完成)send()方法执行完成, 3 - (交互)正在解析响应内容 4 - (完成)响应内容解析完成,可以在客户端调用了 </code></pre> <h4>Ajax fetch axios区别</h4> <pre><code>ajax主要针对mvc使用 axios 更符合现在mvvm潮流 支持 Promise API 提供了一些并发请求的接口 拦截请求和响应 转换请求和响应数据 取消请求 自动转换JSON数据 fetch 兼容不太好 </code></pre> <h4>nodejs中模块加载顺序</h4> <pre><code>一种是按路径加载,一种是查找 node_modules 文件夹。 </code></pre> <h4>node的中间件什么意思 注意事项是什么</h4> <pre><code>1、中间件就是一种功能的封装方式,就是封装在程序中处理http请求的功能, 2、中间件是在管道中执行 3、中间件有一个next()函数,如果不调用next函数,请求就在这个中间件中终止了, 4、中间件和路由处理器的参数中都有回调函数,这个函数有2,3,4个参数                         如果有两个参数就是req和res;                         如果有三个参数就是req,res和next                         如果有四个参数就是err,req,res,next 5、如果不调用next ,管道就会终止,不会再有处理器做后续响应,应该向客户端发送一个响应 6、如果调用了next,不应该发送响应到客户端,如果发送了,则后面发送的响应都会被忽略 7、中间件的第一个参数可以是路径,如果忽略则全部都匹配 </code></pre> <h4>node中间件分类</h4> <pre><code> </code></pre> <h4>什么情况下会产生跨域问题 怎么解决 有几种方式</h4> <pre><code>浏览器同源策略问题 解决方法 nodejs中间件代理跨域 jsonp代理 nginx代理跨域 </code></pre> <h4>cors请求分类</h4> <pre><code>1) http方法 PUT 、DELETE、OPTIONS、PATCH、TRACT、CONNECT 2) 包含CORS头部字段以外的其他字段 Content-Language 、DPR、Downlink、Save-Data、Viewport-Width、Width 3) Content-Type application/x-www-form-urlencoded、multipart/form-data、text/plain </code></pre> <h4>jwt的每个部件是什么意思</h4> <pre><code> </code></pre> <h4>node内置模块都有什么</h4> <pre><code>fs模块就是文件系统模块,负责读写文件 fs同时提供了同步异步的方法 path模块 :用于处理文件路径。 until模块 :弥补js功能不足,新增API。 events模块 events 模块只提供了一个对象: events.EventEmitter。 http模块 jade是一款高性能、简洁易懂的模板引擎。可通过jade来编写html文件。 Express是一个nodejs的web开源框架,用于快速的搭建web项目。 </code></pre> <h4>axios是什么 怎样使用他 怎么解决跨域问题</h4> <pre><code>axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端 npm i axios 进行get post请求 通过向axios传递的相关配置来创建请求axios(config) 配置默认值default 执行多个并发 拦截器 封装 引入使用 配置代理 在config文件夹下的index.js文件中的proxyTable字段中 </code></pre> <h4>axios请求方式有哪些 如何中断axios请求</h4> <pre><code>get post delete put Axios 提供了一个 CancelToken的函数,这是一个构造函数,该函数的作用就是用来取消接口请求的。 </code></pre> <h4>axios怎么同步调用异步调用 如何将axios异步请求同步化处理</h4> <pre><code>async异步+await同步 </code></pre> <h4>module.exports和exports有什么区别</h4> <pre><code>exports只能使用语法来向外暴露内部变量 module.exports既可以通过语法,也可以直接赋值一个对象。 </code></pre> <h4>什么是回调地狱 如何阻止回调地狱</h4> <pre><code>一个异步请求套着一个异步请求,一个异步请求依赖于另一个的执行结果,使用回调的方式相互嵌套。 不利于代码维护 promise语法出现就是为了解决回调地狱问题的 允许将回调函数的嵌套,改成链式调用。 </code></pre> <h4>解释js事件委托模型</h4> <pre><code>事件委托就是子元素的事件委托给父级来执行 </code></pre> <h2>vue</h2> <h4>vue双向绑定如何实现?vue如何实现自定义事件?vue如何实现请求?vue的路由指令</h4> <pre><code>1.实现一个监听器Observer,用来劫持并监听所有属性,如果有变动的,就通知订阅者。 2.实现一个订阅者Watcher,可以收到属性的变化通知并执行相应的函数,从而更新视图。 3.实现一个解析器Compile,可以扫描和解析每个节点的相关指令,并根据初始化模板数据以及初始化相应的订阅器。 封装好组件 引入组件地址 用axios请求 router-link router-view设置组件渲染的部分 v-if v-show v-else v-on v-moudel v-text v-html v-for v-bind </code></pre> <h4>前端怎么传给后端json数据</h4> <pre><code>转换成json字符串 传入 </code></pre> <h4>v-on可以绑定多个方法吗</h4> <pre><code>可以 用逗号隔开 </code></pre> <h4>v-for循环中key有什么作用</h4> <pre><code>提高渲染性能 key属性可以避免数据混乱出现 </code></pre> <h4>v-show和v-if区别 使用场景</h4> <pre><code>v-show 通过display:none 来根据条件是否隐藏 v-if 通过条件判断 不符合直接销毁节点 代价大 经常使用用v-show 偶尔使用 用v-if </code></pre> <h4>v-clock和v-pre理解</h4> <pre><code>v-clock 防止页面加载时出现 vuejs 的变量名 v-pre 跳过这个元素和它的子元素的编译过程 </code></pre> <h4>v-once使用场景</h4> <pre><code>v-once 只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。 </code></pre> <h4>vue3.x新特性</h4> <pre><code>Object.defineProperty -> Proxy </code></pre> <h4>vue如何实现表单验证</h4> <pre><code>element-ui使用:rules prop设置需要验证的字段名 </code></pre> <h4>diff算法</h4> <pre><code>Diff算法有三大策略: Tree Diff 是对树每一层进行遍历,找出不同 Component Diff 是数据层面的差异比较 Element Diff 首先进行第一层比较,第一层都是R,不发生变化;然后进入第二层Component Diff,发现A组件没有,则删除A及其子组件B、C;最后比较第三层,创建A及其子组件B、C。当节点处于同一层级时,Diff提供三种DOM操作:删除、移动、插入。 </code></pre> <h4>vue计算属性和watch有什么区别</h4> <pre><code>具有缓存 计算属性有get set 当数据变化是 对应的数据进行计算 watch没有缓存数据执行异步 或者开销比较大的时候使用watch 监听机制+事件监听 </code></pre> <h4>vue过滤器是什么</h4> <pre><code>过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 filters | </code></pre> <h4>vue生命周期钩子函数 beforeMount 和mount的区别</h4> <pre><code>beforemount还没有生成到html页面 mounted 已经渲染到html页面 </code></pre> <h4>vue组件间传值</h4> <pre><code>父传子props 子传$emit $on 兄弟传值eventbus </code></pre> <h4>vue阻止事件冒泡</h4> <pre><code>.stop </code></pre> <h4>自定义按键修饰符怎么使用</h4> <pre><code>Vue.config.keyCodes.名称 = 按键值 </code></pre> <h4>vue怎么动态处理属性</h4> <pre><code>v-module this指向 </code></pre> <h4>vue动态绑定样式</h4> <pre><code>v-bind </code></pre> <h4>获取元素焦点是什么</h4> <pre><code>focus </code></pre> <h4>局部组件和全局组件的区别</h4> <pre><code>全局组件无法访问局部组件 </code></pre> <h4>插槽有几种 详细说明</h4> <pre><code>匿名插槽 命名插槽 作用域插槽 </code></pre> <h4>异步调用需要用到什么关键词</h4> <pre><code>async 需要等await调用返回才开始 </code></pre> <h4>怎么在路径上拼接请求参数</h4> <pre><code>`` ${} </code></pre> <h4>vue-router 是用来做什么的 它有哪些组件 说说你对router-link的了解</h4> <pre><code>是页面跳转 通过path配置 router-view router-link 相当于一个a标签 </code></pre> <h4>vue-router 懒加载是什么 动态路由是什么</h4> <pre><code>结合 Vue 的异步组件 (opens new window)和 Webpack 的代码分割功能 (opens new window),轻松实现路由组件的懒加载。 path里面设置:需要的字段名 </code></pre> <h4>声明式路由和编程式路由区别</h4> <pre><code>声明式 页面嵌套子路由不跳转页面 编程式路由 会刷新页面 可以通过 go回退 </code></pre> <h4>vue-router路由有几种模式 说说他们区别</h4> <pre><code>hash hash 虽然出现在 URL 中,但不会被包括在 HTTP 请求中,对后端完全没有影响,因此改变 hash 不会重新加载页面。 history 利用了 HTML5 History Interface 中新增的 pushState() 和 replaceState() 方法。害怕刷新 </code></pre> <h4>如果vue-router使用history模式 部署需要注意什么</h4> <pre><code>nginx try_files $uri $uri/ /index.html; 重定向到主页面 </code></pre> <h4>route和router有什么区别</h4> <pre><code>$route对象表示当前的路由信息,包含了当前 URL 解析得到的信息。包含当前的路径,参数,query对象等。 $router对象是全局路由的实例,是router构造方法的实例。 </code></pre> <h4>什么场景下会用到嵌套路由</h4> <pre><code>二级菜单 tab标签页 </code></pre> <h4>vuex有几个属性 分别是什么作用</h4> <pre><code>1. state:vuex的基本数据,用来存储变量 2. geeter:从基本数据(state)派生的数据,相当于state的计算属性 3. mutation:提交更新数据的方法,必须是同步的(如果需要异步使用action)。每个mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数,提交载荷作为第二个参数。 4. action:和mutation的功能大致相同,不同之处在于 ==》1. Action 提交的是 mutation,而不是直接变更状态。 2. Action 可以包含任意异步操作。 5. modules:模块化vuex,可以让每一个模块拥有自己的state、mutation、action、getters,使得结构非常清晰,方便管理。 </code></pre> <h4>为什么使用vuex 优势是什么</h4> <pre><code>能够在vuex中集中管理共享的数据,易于开发和后期维护 能够高效的实现组件直接得数据共享,提高开发效率 储存在vuex中的数据都是响应式的,能够实现数据与页面的同步 </code></pre> <h4>vuex的store有几个属性值 他们的作用分别是什么</h4> <pre><code>1. state:vuex的基本数据,用来存储变量 2. geeter:从基本数据(state)派生的数据,相当于state的计算属性 3. mutation:提交更新数据的方法,必须是同步的(如果需要异步使用action)。每个mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数,提交载荷作为第二个参数。 4. action:和mutation的功能大致相同,不同之处在于 ==》1. Action 提交的是 mutation,而不是直接变更状态。 2. Action 可以包含任意异步操作。 5. modules:模块化vuex,可以让每一个模块拥有自己的state、mutation、action、getters,使得结构非常清晰,方便管理。 </code></pre> <h4>vuex中action和mutation的特性是什么 有什么区别</h4> <pre><code>mutation 专注于修改State,理论上是修改State的唯一途径。同步提交 action 业务代码、异步请求mutation。 </code></pre> <h4>页面刷新后vuex的数据丢失怎么解决</h4> <pre><code>将vuex中的数据直接保存到浏览器缓存中 在页面刷新的时候再次请求远程数据,使之动态更新vuex数据 </code></pre> <h4>有使用过vuex的module吗 主要在什么场景下使用</h4> <pre><code>将store拆成模块 团队人数多的时候 既保证store了完整的状态树,又避免了相互之间的state冲突 </code></pre> <h4>什么是脚手架 vue-cli提供了哪几种脚手架模板</h4> <pre><code>Vue的脚手架工具 搭建好目录 好像有个simple和完整版的 </code></pre> <h4>vue-cli怎么解决跨域问题</h4> <pre><code>使用http-proxy-middleware </code></pre> <h4>vue-cli默认是单页面怎么弄成多页面</h4> <pre><code>下载依赖glob 修改build下的文件 修改config下的文件 在src目录下添加pages文件夹 打包 </code></pre> <h4>vue部署上线前需要做哪些工作</h4> <pre><code>router 是不是hash 是否需要配置nginx , publicPath , 是不是要配置cdn </code></pre> <h4>vue中用过echarts吗?踩过那些坑 如何解决的</h4> <pre><code>有用过做城市宅基地面积用到 遇到的坑就是样式修改 因为数据是mock的 所以 柱状图宽度又比较粗 修改样式比较麻烦 最后找到对应的数组 去修改的width宽度 </code></pre> <h4>前端如何防止表单重复提交</h4> <pre><code>submit按钮属性为disabled,然后当后台请求成功移除这个属性 点击的时候加一个class属性,然后js判定是否有这个class,如果有的话不再重复提交, </code></pre> <h4>项目上线流程</h4> <pre><code>生产构建:   1.合并(css module会为每一个module创建一个style节点,把所有的style合并为一个css文件)   2.抽取(把合并后的css文件从js中抽取出来)   3.压缩(js、css要压缩)   4.调试(开启soureMap,便于线上调试) 发布部署:   1.提交(前端提交到git库)   2.部署(服务端拉取前端打包后存放在git的代码部署,如果采用了阿里云等云部署工具也可前端完成)   3.开启gzip压缩(nginx配置)   4.更新CDN(手动或自动更新) </code></pre> <h4>项目上线要做那些优化</h4> <pre><code>格式化代码 移除 console vue项目打包之开发环境和部署环境 vue项目减小打包的体积 路由懒加载 服务器文件压缩 </code></pre> <h4>webpack打包文件太大怎么办</h4> <pre><code>去除不必要的插件 提取第三方库 代码压缩 代码分割 设置缓存 </code></pre> <h4>如何优化页面 加快页面的加载速度</h4> <pre><code>使用良好的结构 不要使布局超载 不要使用图像来表示文本 检查cookie使用情况 不要包含不必要的 JavaScript 代码,尽可能将其外部化 尽可能避免使用表格 删除任何不必要的元素 按需加载 JavaScript 文件 优化 CSS 文件 </code></pre> <h4>http请求过多怎么解决</h4> <pre><code>(1) 合并JS、CSS文件 (2) 合并图片css sprite (3) 使用 Image maps (4) data嵌入图片:如base64 (5) 使用CDN,减少http请求头 Web安全 </code></pre> <h4>防抖节流是什么?</h4> <pre><code>函数防抖是:当你频繁触发后,n秒内只执行一次 函数节流是:在固定的时间内触发事件,每隔n秒触发一次 应用场景 防抖 search搜索联想,用户在不断输入值时,用防抖来节约请求资源。 频繁操作点赞和取消点赞,因此需要获取最后一次操作结果并发送给服务器 节流 鼠标不断点击触发,mousedown(单位时间内只触发一次) window触发resize的时候,不断的调整浏览器窗口大小会不断的触发这个事件,用节流来让其在一定时间内触发一次 </code></pre> <h4>git解决冲突</h4> <pre><code>git stash 栈 放弃本地修改 撤销分支 强行冲掉之前的分支 删除分支 </code></pre> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1714251817669439488"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(面试题,前端,vue.js,html)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1950232820773351424.htm" title="移动端城市区县二级联动选择功能实现包" target="_blank">移动端城市区县二级联动选择功能实现包</a> <span class="text-muted">good2know</span> <div>本文还有配套的精品资源,点击获取简介:本项目是一套为移动端设计的jQuery实现方案,用于简化用户在选择城市和区县时的流程。它包括所有必需文件:HTML、JavaScript、CSS及图片资源。通过动态更新下拉菜单选项,实现城市到区县的联动效果,支持数据异步加载。开发者可以轻松集成此功能到移动网站或应用,并可基于需求进行扩展和优化。1.jQuery移动端解决方案概述jQuery技术简介jQuery</div> </li> <li><a href="/article/1950232190038110208.htm" title="day15|前端框架学习和算法" target="_blank">day15|前端框架学习和算法</a> <span class="text-muted">universe_01</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>T22括号生成先把所有情况都画出来,然后(在满足什么情况下)把不符合条件的删除。T78子集要画树状图,把思路清晰。可以用暴力法、回溯法和DFS做这个题DFS深度搜索:每个边都走完,再回溯应用:二叉树搜索,图搜索回溯算法=DFS+剪枝T200岛屿数量(非常经典BFS宽度把树状转化成队列形式,lambda匿名函数“一次性的小函数,没有名字”setup语法糖:让代码更简洁好写的语法ref创建:基本类型的</div> </li> <li><a href="/article/1950225381961297920.htm" title="SpringMVC的执行流程" target="_blank">SpringMVC的执行流程</a> <span class="text-muted"></span> <div>1、什么是MVCMVC是一种设计模式。MVC的原理图如下所示M-Model模型(完成业务逻辑:有javaBean构成,service+dao+entity)V-View视图(做界面的展示jsp,html……)C-Controller控制器(接收请求—>调用模型—>根据结果派发页面2、SpringMVC是什么SpringMVC是一个MVC的开源框架,SpringMVC=Struts2+Spring,</div> </li> <li><a href="/article/1950225255557558272.htm" title="力扣面试题07 - 旋转矩阵" target="_blank">力扣面试题07 - 旋转矩阵</a> <span class="text-muted">茶猫_</span> <a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E7%9F%A9%E9%98%B5/1.htm">矩阵</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a> <div>题目:给你一幅由N×N矩阵表示的图像,其中每个像素的大小为4字节。请你设计一种算法,将图像旋转90度。不占用额外内存空间能否做到?示例1:给定matrix=[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]示例2:给定matrix=[[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,</div> </li> <li><a href="/article/1950208989954371584.htm" title="Selenium 特殊控件操作与 ActionChains 实践详解" target="_blank">Selenium 特殊控件操作与 ActionChains 实践详解</a> <span class="text-muted">小馋喵知识杂货铺</span> <a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/1.htm">测试工具</a> <div>1.下拉框单选操作(a)使用SeleniumSelect类(标准HTML标签)Selenium提供了内置的Select类用于操作标准下拉框,这种方式简单且直观。fromselenium.webdriver.support.uiimportSelect#定位下拉框dropdown=Select(driver.find_element("id","dropdown_id"))#通过以下三种方式选择单个</div> </li> <li><a href="/article/1950207097413103616.htm" title="微信公众号回调java_处理微信公众号消息回调" target="_blank">微信公众号回调java_处理微信公众号消息回调</a> <span class="text-muted">weixin_39607620</span> <a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7%E5%9B%9E%E8%B0%83java/1.htm">微信公众号回调java</a> <div>1、背景在上一节中,咱们知道如何接入微信公众号,可是以后公众号会与咱们进行交互,那么微信公众号如何通知到咱们本身的服务器呢?咱们知道咱们接入的时候提供的url是GET/mp/entry,那么公众号以后产生的事件将会以POST/mp/entry发送到咱们本身的服务器上。html2、代码实现,此处仍是使用weixin-java-mp这个框架实现一、引入weixin-java-mpcom.github.</div> </li> <li><a href="/article/1950201094361640960.htm" title="人工智能应用研究快讯 2021-11-30" target="_blank">人工智能应用研究快讯 2021-11-30</a> <span class="text-muted">峰谷皆平</span> <div>[HTML]ArtificialIntelligenceforSkinCancerDetection:ScopingReviewATakiddin,JSchneider,YYang,AAbd-Alrazaq...JournalofMedicalInternet...,2021ABSTACT:Background:Skincanceristhemostcommoncancertypeaffectin</div> </li> <li><a href="/article/1950195876991397888.htm" title="【Jupyter】个人开发常见命令" target="_blank">【Jupyter】个人开发常见命令</a> <span class="text-muted">TIM老师</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Pycharm/1.htm">Pycharm</a><a class="tag" taget="_blank" href="/search/%26amp%3B/1.htm">&amp;</a><a class="tag" taget="_blank" href="/search/VSCode/1.htm">VSCode</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/Jupyter/1.htm">Jupyter</a> <div>1.查看python版本importsysprint(sys.version)2.ipynb/py文件转换jupyternbconvert--topythonmy_file.ipynbipynb转换为mdjupyternbconvert--tomdmy_file.ipynbipynb转为htmljupyternbconvert--tohtmlmy_file.ipynbipython转换为pdfju</div> </li> <li><a href="/article/1950194742100815872.htm" title="用代码生成艺术字:设计个性化海报的秘密" target="_blank">用代码生成艺术字:设计个性化海报的秘密</a> <span class="text-muted"></span> <div>本文围绕“用代码生成艺术字:设计个性化海报的秘密”展开,先概述代码生成艺术字在海报设计中的独特价值,接着介绍常用的代码工具(如HTML、CSS、JavaScript等),详细阐述从构思到实现的完整流程,包括字体样式设计、动态效果添加等,还分享了提升艺术字质感的技巧及实际案例。最后总结代码生成艺术字的优势,为设计师提供打造个性化海报的实用指南,助力提升海报设计的独特性与吸引力,符合搜索引擎SEO标准</div> </li> <li><a href="/article/1950191208873652224.htm" title="vue element 封装表单" target="_blank">vue element 封装表单</a> <span class="text-muted">影子信息</span> <a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>背景:在前端系统开发中,系统页面涉及到的表单组件比较多,所以进行了简单的封装。封装的包括一些Form表单组件,如下:input输入框、select下拉框、等实现效果:理论知识:表单组件官方链接:点击跳转封装组件:封装组件的思路:不封装element组件,每一个input组件绑定一个form对象,例如官网。简单封装element组件,利用for循环生成form表单的每一项el-form-item。进</div> </li> <li><a href="/article/1950191165710069760.htm" title="前端面试每日 3+1 —— 第39天" target="_blank">前端面试每日 3+1 —— 第39天</a> <span class="text-muted">浪子神剑</span> <div>今天的面试题(2019.05.25)——第39天[html]title与h1、b与strong、i与em的区别分别是什么?[css]写出你知道的CSS水平和垂直居中的方法[js]说说你对模块化的理解[软技能]公钥加密和私钥加密是什么?《论语》,曾子曰:“吾日三省吾身”(我每天多次反省自己)。前端面试每日3+1题,以面试题来驱动学习,每天进步一点!让努力成为一种习惯,让奋斗成为一种享受!欢迎在Iss</div> </li> <li><a href="/article/1950187223672483840.htm" title="GDP经济社会人文民生栅格数据下载网站汇总" target="_blank">GDP经济社会人文民生栅格数据下载网站汇总</a> <span class="text-muted">疯狂学习GIS</span> <div>  本文为“GIS数据获取整理”专栏(https://blog.csdn.net/zhebushibiaoshifu/category_10857546.html)中第八篇独立博客,因此本文全部标题均由“8”开头。本文对目前主要的GDP、社会与经济数据获取网站加以整理与介绍,若需其它GIS领域数据(如遥感影像数据、气象数据、土地土壤数据、农业数据等),大家可以点击上方专栏查看,也可以看这一篇汇总文</div> </li> <li><a href="/article/1950180497007112192.htm" title="【MySQL】MySQL数据库如何改名" target="_blank">【MySQL】MySQL数据库如何改名</a> <span class="text-muted">武昌库里写JAVA</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E9%A2%98%E6%B1%87%E6%80%BB%E4%B8%8E%E8%A7%A3%E6%9E%90/1.htm">面试题汇总与解析</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>MySQL建库授权语句https://www.jianshu.com/p/2237a9649ceeMySQL数据库改名的三种方法https://www.cnblogs.com/gomysql/p/3584881.htmlMySQL安全修改数据库名几种方法https://blog.csdn.net/haiross/article/details/51282417MySQL重命名数据库https://</div> </li> <li><a href="/article/1950178477592342528.htm" title="前端数据库:IndexedDB从基础到高级使用指南" target="_blank">前端数据库:IndexedDB从基础到高级使用指南</a> <span class="text-muted"></span> <div>文章目录前端数据库:IndexedDB从基础到高级使用指南引言一、IndexedDB概述1.1什么是IndexedDB1.2与其他存储方案的比较二、基础使用2.1打开/创建数据库2.2基本CRUD操作添加数据读取数据更新数据删除数据三、高级特性3.1复杂查询与游标3.2事务高级用法3.3性能优化技巧四、实战案例:构建离线优先的待办事项应用4.1数据库设计4.2同步策略实现五、常见问题与解决方案5.</div> </li> <li><a href="/article/1950170409064263680.htm" title="【经典面试题】【JVM与性能调优】垃圾回收算法(标记-清除算法/复制算法/标记-整理算法/CMS/G1/ZGC)" target="_blank">【经典面试题】【JVM与性能调优】垃圾回收算法(标记-清除算法/复制算法/标记-整理算法/CMS/G1/ZGC)</a> <span class="text-muted">本本本添哥</span> <a class="tag" taget="_blank" href="/search/%E5%BD%92%E6%A1%A3/1.htm">归档</a><a class="tag" taget="_blank" href="/search/-/1.htm">-</a><a class="tag" taget="_blank" href="/search/Inbox1/1.htm">Inbox1</a><a class="tag" taget="_blank" href="/search/001/1.htm">001</a><a class="tag" taget="_blank" href="/search/-/1.htm">-</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E5%BC%80%E5%8F%91%E8%83%BD%E5%8A%9B/1.htm">基础开发能力</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E9%A2%98%E7%9B%AE%E6%B1%87%E6%80%BB/1.htm">面试题目汇总</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>JVM自动管理内存,当对象不再被引用时,垃圾回收器(GarbageCollector)会自动释放这些对象占用的内存。标记-清除算法(Mark-Sweep):标记垃圾再清除,会产生碎片。复制算法(Copying):将存活对象复制到新区域,适合新生代,无碎片但浪费空间。标记-整理算法(Mark-Compact):标记后将存活对象移到一端,清除另一端,适合老年代。分代收集算法(GenerationalC</div> </li> <li><a href="/article/1950169524384886784.htm" title="【Java Web实战】从零到一打造企业级网上购书网站系统 | 完整开发实录(三)" target="_blank">【Java Web实战】从零到一打造企业级网上购书网站系统 | 完整开发实录(三)</a> <span class="text-muted">笙囧同学</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E7%8A%B6%E6%80%81%E6%A8%A1%E5%BC%8F/1.htm">状态模式</a> <div>核心功能设计用户管理系统用户管理是整个系统的基础,我设计了完整的用户生命周期管理:用户注册流程验证失败验证通过验证失败验证通过用户名已存在用户名可用失败成功用户访问注册页面填写注册信息前端表单验证显示错误提示提交到后端后端数据验证返回错误信息用户名唯一性检查提示用户名重复密码加密处理保存用户信息保存成功?显示系统错误注册成功跳转登录页面登录认证机制深度解析我实现了一套企业级的多层次安全认证机制:认</div> </li> <li><a href="/article/1950169526440095744.htm" title="从零到一:打造基于GigaChat AI的艺术创作平台 | 笙囧同学的全栈开发实战" target="_blank">从零到一:打造基于GigaChat AI的艺术创作平台 | 笙囧同学的全栈开发实战</a> <span class="text-muted"></span> <div>作者简介:笙囧同学,中科院计算机大模型方向硕士,全栈开发爱好者联系方式:3251736703@qq.com各大平台账号:笙囧同学座右铭:偷懒是人生进步的阶梯前言在AI技术飞速发展的今天,如何将前沿的大模型技术与实际应用相结合,一直是我们开发者关注的焦点。今天,笙囧同学将带大家从零开始,构建一个基于GigaChatAI的艺术创作平台,实现React前端+Django后端的完整全栈解决方案。这不仅仅是</div> </li> <li><a href="/article/1950164483057971200.htm" title="14.tornado操作之应用Websocket协议实现聊天室功能" target="_blank">14.tornado操作之应用Websocket协议实现聊天室功能</a> <span class="text-muted">孤寒者</span> <a class="tag" taget="_blank" href="/search/Tornado%E6%A1%86%E6%9E%B6%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E5%AE%9E%E6%88%98/1.htm">Tornado框架从入门到实战</a><a class="tag" taget="_blank" href="/search/websocket/1.htm">websocket</a><a class="tag" taget="_blank" href="/search/tornado/1.htm">tornado</a><a class="tag" taget="_blank" href="/search/%E8%81%8A%E5%A4%A9%E5%AE%A4%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0/1.htm">聊天室功能实现</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>目录:每篇前言:1.什么是WebSocket(1)定义(2)优点(3)和HTTP对比(4)适用场景2.WebSocket关键方法3.本tornado项目中使用WebSocket(1)准备一个聊天室的页面:第一步:编写视图:第二步:编写接口:(app.py中加入以下接口!)第三步:编写前端页面:测试接口——响应OK!(2)使用WebSocket:(3)聊天室的聊天功能的最终实现:第一步:战前准备第二</div> </li> <li><a href="/article/1950154524572315648.htm" title="每日面试题15:如何解决堆溢出?" target="_blank">每日面试题15:如何解决堆溢出?</a> <span class="text-muted">℡余晖^</span> <a class="tag" taget="_blank" href="/search/%E6%AF%8F%E6%97%A5%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">每日面试题</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>在Java应用运行过程中,"java.lang.OutOfMemoryError:Javaheapspace"是最常见的错误之一。无论是高并发的电商大促场景,还是持续运行的后台服务,堆内存溢出都可能导致服务不可用、数据丢失,甚至引发系统崩溃。本文将结合实际排查经验,系统讲解堆溢出的底层逻辑、应急处理流程及长效预防策略。一、堆溢出的本质:内存分配的"收支失衡"Java堆是JVM管理的内存区域,用于存</div> </li> <li><a href="/article/1950144218282389504.htm" title="为什么学习Web前端一定要掌握JavaScript?" target="_blank">为什么学习Web前端一定要掌握JavaScript?</a> <span class="text-muted">web前端学习指南</span> <div>为什么学习Web前端一定要掌握JavaScript?在前端的世界里,没有什么是JavaScript实现不了的,关于JS有一句话:凡是可以用JavaScript来写的应用,最终都会用JavaScript,JavaScript可运行在所有主要平台的所有主流浏览器上,也可运行在每一个主流操作系统的服务器端上。现如今我们在为网站写任何一个主要功能的时候都需要有懂能够用JavaScript写前端的开发人员。</div> </li> <li><a href="/article/1950143305194991616.htm" title="小架构step系列25:错误码" target="_blank">小架构step系列25:错误码</a> <span class="text-muted">秋千码途</span> <a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>1概述一个系统中,可能产生各种各样的错误,对这些错误进行编码。当错误发生时,通过这个错误码就有可能快速判断是什么错误,不一定需要查看代码就可以进行处理,提高问题处理效率。有了统一的错误码,还可以标准化错误信息,方便把错误信息纳入文档管理和对错误信息进行国际化等。没有错误码的管理,开发人员就会按自己的理解处理这些错误。有些直接把堆栈直接反馈到前端页面上,使用看不懂这些信息体验很差,也暴露了堆栈信息有</div> </li> <li><a href="/article/1950140903616212992.htm" title="Java朴实无华按天计划从入门到实战(强化速战版-66天)" target="_blank">Java朴实无华按天计划从入门到实战(强化速战版-66天)</a> <span class="text-muted">岫珩</span> <a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/%E6%97%B6%E9%97%B4%E5%AE%89%E6%8E%92/1.htm">时间安排</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/1.htm">学习计划</a> <div>致敬读者感谢阅读笑口常开生日快乐⬛早点睡觉博主相关博主信息博客首页专栏推荐活动信息文章目录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</div> </li> <li><a href="/article/1950132204336115712.htm" title="《跨域资源共享CORS的深层逻辑与前端实践精要》" target="_blank">《跨域资源共享CORS的深层逻辑与前端实践精要》</a> <span class="text-muted"></span> <div>不同源头的资源交互已成为常态,而跨域资源共享(CORS)正是支撑这种交互的隐形架构。现代Web安全体系中平衡开放与防护的精妙设计。理解CORS的深层逻辑,不仅能解决实际开发中的跨域难题,更能触及网络安全与资源流通的核心矛盾,为前端工程师构建稳健的应用提供底层认知支撑。跨域资源共享的诞生,源于网络安全与应用发展的必然冲突。浏览器的同源策略,作为早期网络安全的基石,通过限制不同源文档的交互,有效阻挡了</div> </li> <li><a href="/article/1950131321980383232.htm" title="深入了解 Kubernetes(k8s):从概念到实践" target="_blank">深入了解 Kubernetes(k8s):从概念到实践</a> <span class="text-muted"></span> <div>目录一、k8s核心概念二、k8s的优势三、k8s架构组件控制平面组件节点组件四、k8s+docker运行前后端分离项目的例子1.准备前端项目2.准备后端项目3.创建k8s部署配置文件4.部署应用到k8s集群在当今云计算和容器化技术飞速发展的时代,Kubernetes(简称k8s)已成为容器编排领域的事实标准。无论是互联网巨头、传统企业还是初创公司,都在广泛采用k8s来管理和部署容器化应用。本文将带</div> </li> <li><a href="/article/1950130722157162496.htm" title="移动端适配rem方案" target="_blank">移动端适配rem方案</a> <span class="text-muted">简单的码农</span> <div>1.rem+动态html的font-size1.rem单位是相对于html元素的font-size来设置的,那么如果我们需要在不同的屏幕下有不同的尺寸,可以动态的修改html的font-size尺寸。2.比如如下案例:设置一个盒子的宽度是2rem;设置不同的屏幕上html的font-size不同;image这样在开发中,我们只需要考虑两个问题:问题一:针对不同的屏幕,设置html不同的font-s</div> </li> <li><a href="/article/1950130692448907264.htm" title="Vue CSR 到 Nuxt 3 SSR 迁移:技术实现与问题解决实录" target="_blank">Vue CSR 到 Nuxt 3 SSR 迁移:技术实现与问题解决实录</a> <span class="text-muted">二倍速播放</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a> <div>1.迁移动机与技术选型1.1CSR架构的局限性基于Vue3和Vite构建的客户端渲染(CSR)单页应用(SPA)提供了良好的开发体验和用户交互流畅性。但是其核心局限在于:搜索引擎优化(SEO):初始HTML响应仅包含一个根div元素,实际内容由JavaScript在浏览器端动态生成。虽然主流搜索引擎(如Google)能够执行部分JavaScript,但其抓取效率和稳定性不如直接获取完整HTML。非</div> </li> <li><a href="/article/1950127794931429376.htm" title="redis反弹shell时kali无法接收回弹的解决方法" target="_blank">redis反弹shell时kali无法接收回弹的解决方法</a> <span class="text-muted">显哥无敌</span> <a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a> <div>无法接受回谈大概率是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</div> </li> <li><a href="/article/1950121289456873472.htm" title="native.js设置可缩放的webview并隐藏缩放控件" target="_blank">native.js设置可缩放的webview并隐藏缩放控件</a> <span class="text-muted">Nanayai</span> <div>需求明确:webview页面可以手指缩放,并且不要那个原生控件;实现思路:1.使用h5+封装好的方法:设置scalable属性,并在html中设置meta标签:user-scalable=yes或不设置,minimum-scale和maximum-scale需要注意不要都设为1:mui.openWindow({url:"someThing",id:"someThing",styles:{scala</div> </li> <li><a href="/article/1950119224630374400.htm" title="大厂都在用的前端缓存策略,你掌握了吗?" target="_blank">大厂都在用的前端缓存策略,你掌握了吗?</a> <span class="text-muted">AI架构全栈开发实战笔记</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a> <div>大厂都在用的前端缓存策略,你掌握了吗?关键词:前端缓存、HTTP缓存、ServiceWorker、CDN缓存、缓存策略、性能优化、浏览器缓存摘要:本文将深入探讨前端开发中常用的缓存策略,从浏览器缓存到ServiceWorker,从HTTP缓存头到CDN缓存,全面解析大厂都在使用的高效缓存技术。通过生动的比喻和实际代码示例,帮助开发者理解并掌握这些提升Web应用性能的关键技术。背景介绍目的和范围本文</div> </li> <li><a href="/article/1950117078799282176.htm" title="Redis反弹Shell" target="_blank">Redis反弹Shell</a> <span class="text-muted">波吉爱睡觉</span> <a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%23%E6%9C%AA%E6%8E%88%E6%9D%83%E8%AE%BF%E9%97%AE%E6%BC%8F%E6%B4%9E/1.htm">#未授权访问漏洞</a><a class="tag" taget="_blank" href="/search/%23SSRF/1.htm">#SSRF</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a> <div>这里我来总结几种Redis反弹Shell的方法一、利用Redis写WebShell前提条件开了web服务器,并且知道路径,还需要有文件读写增删改查的权限条件比较苛刻,但是满足条件上传就会简单一点,我们直接将文件写入www目录下,完了使用工具连接即可。语句:redis:6379>configsetdir/var/www/html/redis:6379>configsetdbfilenameshell</div> </li> <li><a href="/article/47.htm" title="jdk tomcat 环境变量配置" target="_blank">jdk tomcat 环境变量配置</a> <span class="text-muted">Array_06</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a> <div>Win7 下如何配置java环境变量 1。准备jdk包,win7系统,tomcat安装包(均上网下载即可) 2。进行对jdk的安装,尽量为默认路径(但要记住啊!!以防以后配置用。。。) 3。分别配置高级环境变量。 &nbsp; 电脑--&gt;右击属性--&gt;高级环境变量--&gt;环境变量。 分别配置 : path&nbsp;&nbsp; &nbsp;&nbs</div> </li> <li><a href="/article/174.htm" title="Spring调SDK包报java.lang.NoSuchFieldError错误" target="_blank">Spring调SDK包报java.lang.NoSuchFieldError错误</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在工作中调另一个系统的SDK包,出现如下java.lang.NoSuchFieldError错误。 org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.l</div> </li> <li><a href="/article/301.htm" title="LeetCode[位运算] - #136 数组中的单一数" target="_blank">LeetCode[位运算] - #136 数组中的单一数</a> <span class="text-muted">Cwind</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E9%A2%98%E8%A7%A3/1.htm">题解</a><a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a><a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a> <div>原题链接:#136&nbsp;Single Number 要求: 给定一个整型数组,其中除了一个元素之外,每个元素都出现两次。找出这个元素 注意:算法的时间复杂度应为O(n),最好不使用额外的内存空间 难度:中等 分析: 题目限定了线性的时间复杂度,同时不使用额外的空间,即要求只遍历数组一遍得出结果。由于异或运算 n XOR n = 0, n XOR 0 = n,故将数组中的每个元素进</div> </li> <li><a href="/article/428.htm" title="qq登陆界面开发" target="_blank">qq登陆界面开发</a> <span class="text-muted">15700786134</span> <a class="tag" taget="_blank" href="/search/qq/1.htm">qq</a> <div>今天我们来开发一个qq登陆界面,首先写一个界面程序,一个界面首先是一个Frame对象,即是一个窗体。然后在这个窗体上放置其他组件。代码如下: public class First {&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; public void initul(){&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; jf=ne</div> </li> <li><a href="/article/555.htm" title="Linux的程序包管理器RPM" target="_blank">Linux的程序包管理器RPM</a> <span class="text-muted">被触发</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>在早期我们使用源代码的方式来安装软件时,都需要先把源程序代码编译成可执行的二进制安装程序,然后进行安装。这就意味着每次安装软件都需要经过预处理--&gt;编译--&gt;汇编--&gt;链接--&gt;生成安装文件--&gt; 安装,这个复杂而艰辛的过程。为简化安装步骤,便于广大用户的安装部署程序,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提供给大家下载,我们只需要根据自己的</div> </li> <li><a href="/article/682.htm" title="socket通信遇到EOFException" target="_blank">socket通信遇到EOFException</a> <span class="text-muted">肆无忌惮_</span> <a class="tag" taget="_blank" href="/search/EOFException/1.htm">EOFException</a> <div>java.io.EOFException at&nbsp;java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281) at&nbsp;java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:</div> </li> <li><a href="/article/809.htm" title="基于spring的web项目定时操作" target="_blank">基于spring的web项目定时操作</a> <span class="text-muted">知了ing</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a> <div>废话不多说,直接上代码,很简单 配置一下项目启动就行 1,web.xml &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;web-app xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns=&quot;h</div> </li> <li><a href="/article/936.htm" title="树形结构的数据库表Schema设计" target="_blank">树形结构的数据库表Schema设计</a> <span class="text-muted">矮蛋蛋</span> <a class="tag" taget="_blank" href="/search/schema/1.htm">schema</a> <div>原文地址: http://blog.csdn.net/MONKEY_D_MENG/article/details/6647488 &nbsp;&nbsp;&nbsp; 程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,</div> </li> <li><a href="/article/1063.htm" title="maven将jar包和源码一起打包到本地仓库" target="_blank">maven将jar包和源码一起打包到本地仓库</a> <span class="text-muted">alleni123</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a> <div>http://stackoverflow.com/questions/4031987/how-to-upload-sources-to-local-maven-repository &lt;project&gt; ... &lt;build&gt; &lt;plugins&gt; &lt;plugin&gt; &lt;groupI</div> </li> <li><a href="/article/1190.htm" title="java IO操作 与 File 获取文件或文件夹的大小,可读,等属性!!!" target="_blank">java IO操作 与 File 获取文件或文件夹的大小,可读,等属性!!!</a> <span class="text-muted">百合不是茶</span> <div>类 File File是指文件和目录路径名的抽象表示形式。 1,何为文件: 标准文件(txt doc mp3...) 目录文件(文件夹) 虚拟内存文件 &nbsp; 2,File类中有可以创建文件的&nbsp;createNewFile()方法,在创建新文件的时候需要try{} catch(){}因为可能会抛出异常;也有可以判断文件是否是一个标准文件的方法isFile();这些防抖都</div> </li> <li><a href="/article/1317.htm" title="Spring注入有继承关系的类(2)" target="_blank">Spring注入有继承关系的类(2)</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>被注入类的父类有相应的属性,Spring可以直接注入相应的属性,如下所例:1.AClass类 package com.bijian.spring.test4; public class AClass { private String a; private String b; public String getA() { retu</div> </li> <li><a href="/article/1444.htm" title="30岁转型期你能否成为成功人士" target="_blank">30岁转型期你能否成为成功人士</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E6%88%90%E9%95%BF/1.htm">成长</a><a class="tag" taget="_blank" href="/search/%E5%8A%B1%E5%BF%97/1.htm">励志</a> <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 很多人由于年轻时走了弯路,到了30岁一事无成,这样的例子大有人在。但同样也有一些人,整个职业生涯都发展得很优秀,到了30岁已经成为职场的精英阶层。由于做猎头的原因,我们接触很多30岁左右的经理人,发现他们在职业发展道路上往往有很多致命的问题。在30岁之前,他们的职业生涯表现很优秀,但从30岁到40岁这一段,很多人</div> </li> <li><a href="/article/1571.htm" title="【Velocity四】Velocity与Java互操作" target="_blank">【Velocity四】Velocity与Java互操作</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/velocity/1.htm">velocity</a> <div>Velocity出现的目的用于简化基于MVC的web应用开发,用于替代JSP标签技术,那么Velocity如何访问Java代码.本篇继续以Velocity三http://bit1129.iteye.com/blog/2106142中的例子为基础, &nbsp; &nbsp;&nbsp; POJO &nbsp;&nbsp; package com.tom.servlets; public</div> </li> <li><a href="/article/1698.htm" title="【Hive十一】Hive数据倾斜优化" target="_blank">【Hive十一】Hive数据倾斜优化</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a> <div>什么是Hive数据倾斜问题 &nbsp; 操作:join,group by,count distinct 现象:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成;查看未完成的子任务,可以看到本地读写数据量积累非常大,通常超过10GB可以认定为发生数据倾斜。 原因:key分布不均匀 倾斜度衡量:平均记录数超过50w且</div> </li> <li><a href="/article/1825.htm" title="在nginx中集成lua脚本:添加自定义Http头,封IP等" target="_blank">在nginx中集成lua脚本:添加自定义Http头,封IP等</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/nginx+lua+csrf/1.htm">nginx lua csrf</a> <div>Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。下面就讲讲我们所做的工作。 强制搜索引擎只索引mixlr.com Google把子域名当作完全独立的网站,我们不希望爬虫抓取子域名的页面,降低我们的Page rank。 location /{</div> </li> <li><a href="/article/1952.htm" title="java-3.求子数组的最大和" target="_blank">java-3.求子数组的最大和</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>package beautyOfCoding; public class MaxSubArraySum { /** * 3.求子数组的最大和 题目描述: 输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)。 例如输入的数组为1, -2, 3, 10, -4,</div> </li> <li><a href="/article/2079.htm" title="Netty源码学习-FileRegion" target="_blank">Netty源码学习-FileRegion</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/netty/1.htm">netty</a> <div>今天看org.jboss.netty.example.http.file.HttpStaticFileServerHandler.java 可以直接往channel里面写入一个FileRegion对象,而不需要相应的encoder: //pipeline(没有诸如“FileRegionEncoder”的handler): public ChannelPipeline ge</div> </li> <li><a href="/article/2206.htm" title="使用ZeroClipboard解决跨浏览器复制到剪贴板的问题" target="_blank">使用ZeroClipboard解决跨浏览器复制到剪贴板的问题</a> <span class="text-muted">cngolon</span> <a class="tag" taget="_blank" href="/search/%E8%B7%A8%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">跨浏览器</a><a class="tag" taget="_blank" href="/search/%E5%A4%8D%E5%88%B6%E5%88%B0%E7%B2%98%E8%B4%B4%E6%9D%BF/1.htm">复制到粘贴板</a><a class="tag" taget="_blank" href="/search/Zero+Clipboard/1.htm">Zero Clipboard</a> <div>Zero Clipboard的实现原理 Zero Clipboard 利用透明的Flash让其漂浮在复制按钮之上,这样其实点击的不是按钮而是 Flash ,这样将需要的内容传入Flash,再通过Flash的复制功能把传入的内容复制到剪贴板。 Zero Clipboard的安装方法 首先需要下载 Zero Clipboard的压缩包,解压后把文件夹中两个文件:ZeroClipboard.js </div> </li> <li><a href="/article/2333.htm" title="单例模式" target="_blank">单例模式</a> <span class="text-muted">cuishikuan</span> <a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/1.htm">单例模式</a> <div>第一种(懒汉,线程不安全): public&nbsp;class&nbsp;Singleton&nbsp;{&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;static&nbsp;Singleton&nbsp;instance;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp; pri</div> </li> <li><a href="/article/2460.htm" title="spring+websocket的使用" target="_blank">spring+websocket的使用</a> <span class="text-muted">dalan_123</span> <div>一、spring配置文件 &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;&nbsp;&nbsp;&nbsp; xmlns:xsi=&quot;http://www.w3.or</div> </li> <li><a href="/article/2587.htm" title="细节问题:ZEROFILL的用法范围。" target="_blank">细节问题:ZEROFILL的用法范围。</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div> 1、zerofill把月份中的一位数字比如1,2,3等加前导0 mysql&gt;&nbsp;CREATE&nbsp;TABLE&nbsp;t1&nbsp;(year&nbsp;YEAR(4),&nbsp;month&nbsp;INT(2)&nbsp;UNSIGNED&nbsp;ZEROFILL,&nbsp;&nbsp;&nbsp;&nbsp;-&gt;&nbsp;day</div> </li> <li><a href="/article/2714.htm" title="Android开发10——Activity的跳转与传值" target="_blank">Android开发10——Activity的跳转与传值</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/Android%E5%BC%80%E5%8F%91/1.htm">Android开发</a> <div>Activity跳转与传值,主要是通过Intent类,Intent的作用是激活组件和附带数据。 &nbsp; 一、Activity跳转 方法一Intent intent = new Intent(A.this, B.class);&nbsp;startActivity(intent) &nbsp; 方法二Intent intent = new Intent();intent.setCla</div> </li> <li><a href="/article/2841.htm" title="jdbc 得到表结构、主键" target="_blank">jdbc 得到表结构、主键</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/jdbc+%E5%BE%97%E5%88%B0%E8%A1%A8%E7%BB%93%E6%9E%84%E3%80%81%E4%B8%BB%E9%94%AE/1.htm">jdbc 得到表结构、主键</a> <div>转自博客:http://blog.csdn.net/ocean1010/article/details/7266042 假设有个con&nbsp;DatabaseMetaData dbmd = con.getMetaData();&nbsp;rs = dbmd.getColumns(con.getCatalog(), schema, tableName, null);&nbsp;rs.getSt</div> </li> <li><a href="/article/2968.htm" title="Android 应用程序开关GPS" target="_blank">Android 应用程序开关GPS</a> <span class="text-muted">gqdy365</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>要在应用程序中操作GPS开关需要权限: &lt;uses-permission android:name=&quot;android.permission.WRITE_SECURE_SETTINGS&quot; /&gt; 但在配置文件中添加此权限之后会报错,无法再eclipse里面正常编译,怎么办? 1、方法一:将项目放到Android源码中编译; 2、方法二:网上有人说cl</div> </li> <li><a href="/article/3095.htm" title="Windows上调试MapReduce" target="_blank">Windows上调试MapReduce</a> <span class="text-muted">zhiquanliu</span> <a class="tag" taget="_blank" href="/search/mapreduce/1.htm">mapreduce</a> <div>1.下载hadoop2x-eclipse-plugin https://github.com/winghc/hadoop2x-eclipse-plugin.git 把 hadoop2.6.0-eclipse-plugin.jar 放到eclipse plugin 目录中。 2.下载 hadoop2.6_x64_.zip http://dl.iteye.com/topics/download/d2b</div> </li> <li><a href="/article/3222.htm" title="如何看待一些知名博客推广软文的行为?" target="_blank">如何看待一些知名博客推广软文的行为?</a> <span class="text-muted">justjavac</span> <a class="tag" taget="_blank" href="/search/%E5%8D%9A%E5%AE%A2/1.htm">博客</a> <div>本文来自我在知乎上的一个回答:http://www.zhihu.com/question/23431810/answer/24588621 互联网上的两种典型心态: 当初求种像条狗,如今撸完嫌人丑 当初搜贴像条犬,如今读完嫌人软 你为啥感觉不舒服呢? 难道非得要作者把自己的劳动成果免费给你用,你才舒服? 就如同 Google 关闭了 Gooled Reader,那是</div> </li> <li><a href="/article/3349.htm" title="sql优化总结" target="_blank">sql优化总结</a> <span class="text-muted">macroli</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a> <div>为了是自己对sql优化有更好的原则性,在这里做一下总结,个人原则如有不对请多多指教。谢谢! &nbsp; 要知道一个简单的sql语句执行效率,就要有查看方式,一遍更好的进行优化。 &nbsp; 一、简单的统计语句执行时间 declare @d datetime ---定义一个datetime的变量set @d=getdate() ---获取查询语句开始前的时间select user_id</div> </li> <li><a href="/article/3476.htm" title="Linux Oracle中常遇到的一些问题及命令总结" target="_blank">Linux Oracle中常遇到的一些问题及命令总结</a> <span class="text-muted">超声波</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>1.linux更改主机名 &nbsp; (1)#hostname oracledb    临时修改主机名 (2) vi /etc/sysconfig/network   修改hostname (3) vi /etc/hosts        修改IP对应的主机名 &nbsp; 2.linux重启oracle实例及监听的各种方法 (注意操作的顺序应该是先监听,后数据库实例) &nbs</div> </li> <li><a href="/article/3603.htm" title="hive函数大全及使用示例" target="_blank">hive函数大全及使用示例</a> <span class="text-muted">superlxw1234</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/hive%E5%87%BD%E6%95%B0/1.htm">hive函数</a> <div>&nbsp; 具体说明及示例参 见附件文档。 &nbsp; &nbsp; 文档目录: &nbsp; 目录 一、关系运算: 4 1. 等值比较: = 4 2. 不等值比较: &lt;&gt; 4 3. 小于比较: &lt; 4 4. 小于等于比较: &lt;= 4 5. 大于比较: &gt; 5 6. 大于等于比较: &gt;= 5 7. 空值判断: IS NULL 5</div> </li> <li><a href="/article/3730.htm" title="Spring 4.2新特性-使用@Order调整配置类加载顺序" target="_blank">Spring 4.2新特性-使用@Order调整配置类加载顺序</a> <span class="text-muted">wiselyman</span> <a class="tag" taget="_blank" href="/search/spring+4/1.htm">spring 4</a> <div>4.1 @Order Spring 4.2 利用@Order控制配置类的加载顺序 4.2 演示 两个演示bean package com.wisely.spring4_2.order; public class Demo1Service { } package com.wisely.spring4_2.order; public class</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>