- 博客(39)
- 收藏
- 关注
原创 ES能为你解决什么问题,又会带来什么问题?
S主要运用于全文搜索、数据分析, 底层使用开源库Lucene,拥有丰富的REST API。内部分布式的数据存储、倒排索引等设计,使其可以快速存储、搜索、分析海量数据。典型的使用方和应用场景,如github,StackOverflow,elasticsearch+logstash+kibana 一体化的日志分析。
2024-06-12 13:18:03
830
原创 AJAX请求进行客户端渲染
/ 在Node中每一个js文件的作用域都是独立的,当前js文件中的变量,方法只在当前js文件中有效,这一点一定和浏览器区分。// res.sendFile(“C:/Users/ASUS/Desktop/yft/上课代码/2018.8.13使用express手动创建项目/public/order.html”);// __dirname=“C:/Users/ASUS/Desktop/yft/上课代码/2018.8.13使用express手动创建项目/router”/开头,表示当前路径的上层目录。
2024-06-12 11:57:01
232
原创 剑指Offer——归并排序思想应用_《剑指offer》用归并排序的思想
归并排序中用到了递归的写法,其实自己对递归并不感冒。递归方式虽使代码看起来更加整洁简练,但是由于其使用到了栈,而栈的内存大小是一定的,故当递归深度过于大时,就会出现栈溢出StackOverflow的异常情况。在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。这里的解题思路是:先把数组分隔成子数组,统计出字数组内部逆序对的数目;在统计逆序对过程中,还需要对数组进行排序。题目保证输入的数组中没有的相同的数字。
2024-06-11 15:46:33
156
原创 Webpack HMR 原理全解析
如果你打算靠自己摸索自学,那么你首先要了解学习前端的基本大纲,这是你将要学习的主要内容,理解以及掌握好这些内容,便可以找到一份初级的前端开发工作。你还需要有一套完整的前端学习教程,作为初学者最好的方式就是看视频教程学习,初学者容易理解接受。不要选择买书学习,这样的方式没有几个人能学会,基本都是看不下去书,也看不懂书。如果喜欢看书的学弟,可以买一些经典的书籍作为辅助即可,主要还是以看教程为主。每天抽出固定几个小时学习,做好长期学习的准备。
2024-06-11 01:54:37
305
原创 Vuex的基础使用
正值招聘旺季,很多小伙伴都询问我有没有前端方面的面试题!ic_center)正值招聘旺季,很多小伙伴都询问我有没有前端方面的面试题!
2024-06-10 20:30:31
349
原创 React【Day1】
大厂面试问深度,小厂面试问广度,如果有同学想进大厂深造一定要有一个方向精通的惊艳到面试官,还要平时遇到问题后思考一下问题的本质,找方法解决是一个方面,看到问题本质是另一个方面。还有大家一定要有目标,我在很久之前就想着以后一定要去大厂,然后默默努力,每天看一些大佬们的文章,总是觉得只有再学深入一点才有机会,所以才有恒心一直学下去。
2024-06-10 19:14:48
987
原创 java开发中提高效率的小工具_java collections disjunction
直接抛异常。Assert.notEmpty(list, “list不能为空”);Assert.notEmpty(list, () -> “list不能为空”);Assert.notEmpty(map, “map不能为空”);如果不满足条件就会抛出IllegalArgumentException异常。7.3 断言条件是否为空断言是否满足某个条件,如果不满足条件,则直接抛异常。
2024-06-10 17:58:36
988
原创 HTML5 LocalStorage 本地存储_新开的标签页拿不到本地存储
不断刷新就能看到数字在一点点上涨,如下图所示:需要注意的是,HTML5本地存储只能存字符串,任何格式存储的时候都会被自动转为字符串,所以读取的时候,需要自己进行类型的转换。这也就是上一段代码中parseInt必须要使用的原因。另外,在iPhone/iPad上有时设置setItem()时会出现诡异的QUOTA_EXCEEDED_ERR错误,这时一般在setItem之前,先removeItem()就ok了。
2024-06-10 16:44:45
271
原创 Canvas + WebSocket实现视频弹幕
正值招聘旺季,很多小伙伴都询问我有没有前端方面的面试题!// 第一次先进行清空操作,执行渲染弹幕,如果没有暂停,继续渲染// 渲染弹幕// 递归渲染// 将数组的弹幕一个一个取出,判断时间和视频的时间是否符合,符合就执行渲染此弹幕// 当视频时间大于等于了弹幕设置的时间,那么开始渲染(时间都是以秒为单位)if (!// 初始化弹幕的各个参数,只有在弹幕将要出现的时候再去初始化,节省性能,初始化后再进行绘制// 如果没有初始化,先去初始化一下if (!
2024-06-10 15:27:42
562
原创 Vue学习3:Vue CLI_vuecli3 createelement
vue程序运行过程:template->ast->render->vdom->ui。cli3和cli2的区别。
2024-05-28 10:10:26
424
原创 页面生成器实现及源码下载
这样,我们组件便注册完了,组件选择区,主要是提供组件的可选项,我们可以遍历组件,提供一个个 List 让用户选择,当然如果我们每个组件如果只提供一个组件名,用户可能并不知道组件长什么样,所以我们最好可以提供一下组件长什么样的缩略图。说了这么多,貌似一切都很顺利,但是这样在实践的时候,发现了存在一个明显的问题就是:我们中间的预览区域其实就是为了尽可能模拟移动端页面效果。一方面生成的缩略图尺寸存在问题,另一方面,我们需要编辑的联动性,就是编辑区的编辑需要及时的反馈给用户。,模拟 iPhone 6 的手机端。
2024-05-28 02:24:05
413
原创 第一本ECharts 数据可视化书籍出版了!抽奖送3本
大伟的作品一向思路清晰、通俗易懂,本书同样如此,它从零开始,由浅入深地介绍了 ECharts 数据可视化的方方面面,非常透彻,推荐给广大数据可视化爱好者。本书是难得一见的ECharts实战著作,从安装到使用,从不同场景的设计优化到产品的搭建部署,都结合实例演示了一遍,详尽易懂。第12章介绍笔者制作可视化时积累的一些经验,包括如何选择可视化类型、可视化配色需要注意的点和追求炫酷效果的可视化对错与否。,介绍一些ECharts可视化的高级用法,并分享笔者在制作可视化过程中的经验与思考。
2024-05-28 02:05:24
464
原创 总结一下前端常见面试题(一)_前端观察者模式面试题
应用场景v-imgerror公司项目中有的用户头像可能加载报错,可以给他一张默认图片, onerror this.img=默认图片v-focus打开带有搜索的页面的时候,实现自动把光标定位到 input 中v-lazy图片到可视区可以懒加载自定义指令的钩子函数1.bind属性绑定的时候执行 只会有一次inserted当前指令所在的元素插入到页面中的时候执行一次update当前指令所在的组件中的 data 数据有更新就会执行,可以执行多次 (vue3改成mounted:指令所在组件的 VNode。
2024-05-28 01:46:19
698
原创 微服务都了解了,微前端呢?来看看微前端的前世今生
iframe 应该是实现微前端的最简单,最高效的方案。这也不是一个新技术了,老熟人。说起Iframe估计有个吐槽大会才能吐槽完小细节,一些问题我们无法去优化。如qiankun所举例:url 不同步。浏览器刷新 iframe url 状态丢失、后退前进按钮无法使用。UI 不同步,DOM 结构不共享。想象一下屏幕右下角 1/4 的 iframe 里来一个带遮罩层的弹框,同时我们要求这个弹框要浏览器居中显示,还要浏览器 resize 时自动居中…全局上下文完全隔离,内存变量不共享。
2024-05-28 01:45:16
961
原创 大佬们才玩的正则表达式,看完你也会
什么是正则表达式简单来说,正则表达式就是用一些特定的符号来代替字符串元字符| 代码 | 说明 || — | — || . | 匹配除\n以外的任意字符 || \w | 匹配数字或字母或 _ || \W | 匹配非数字或字母或 _ || \s | 匹配任意的空白符(空格,换行,字表符) || \S | 匹配非空白符 || \d | 匹配所有数字 || \D | 匹配非数字 || \b | 匹配单词的开始或结束(边界) || \B | 匹配非单词边界 |
2024-05-28 01:31:16
533
原创 多线程学习笔记01线程、进程、多线程与线程创建
OverrideSystem.out.println(“下载了文件,名为:” + name);t1.start();t2.start();t3.start();//下载方法try {System.out.println(“IO异常,downLoader方法出现问题”);//异常提醒。
2024-05-28 01:30:13
682
原创 前端生成海报的 N 种方案和优劣对比
参考:https://www.zhangxinxu.com/wordpress/2018/02/canvas-text-break-line-letter-spacing-vertical/这个方案其实也是用后端的逻辑实现了绘制元素,输出图片(过程中遇到的问题:如换行情况下需要计算字体高度(同一字体的中英文宽度不同)和后续元素的相对位置发生变化)2.2.1.只采用默认字体或少量定制字体(Fontmin获取特定字体的字体,写死的数据,如果换行需要计算换行问题-空格回车等奇葩问题)- ==
2024-05-28 01:16:00
479
原创 前端框架选择Vue的理由
既然人人都会Vue,那么面试官挑选人才,除了考你的编程能力,对于最佳实践的理解,就是问你源码了。在这里,给大家推荐一个学习平台**——网易云课堂,**这里会有网易特邀的高级前端工程师授课,还有助教老师们陪伴学习,课程内容会涉及各类原理和技巧,还会通过对源码的解读去培养大家的程序员思维,同时分享实用的面试技巧。企业对于前端的要求只会越来越高。对很多人来说很为难的一点是,中小公司工作的程序员,写着平时的业务代码,很少有机会接触到大厂的优秀实践。当然,有这些还不够,始终保持学习的态度,是一个优秀技术者的自觉。
2024-05-28 01:15:30
250
原创 关于前端框架的思考
因此,你必须为这些 UI 组件设计完善的生命周期,从远古的 Java Swing 到 QT,一直到 jQuery UI、Angular、React,大家都设计了自己的生命周期机制。无论你目前在使用什么前端框架,无论你以后想学哪些前端框架,只要紧紧扣住“组件化”和“模块化”这两条主线,心里就会有大方向了,绝对不会迷失在茫茫多的技术细节里面。但是在 JS 里面不行,由于 JavaScript 这门语言本身的缺陷,它没有提供完善的模块化支持,这就导致了所有前端框架必须自己解决模块化的问题。远方亲戚之间如何通讯?
2024-05-28 01:01:20
303
原创 关于nodejs写后台连接数据库,对数据库增删改查接口
这里进行是处理前端的请求以及返回给前端值的方法,最后那个端口号可以自行更改我这里将它跑在6666端口上。这里是写对数据库进行操作的方法,这里我只写了增删改查。接下来是service.js的代码。这里的代码是用来建立数据库连接的。首先写pool.js里的代码。然后是user.js里的代码。
2024-05-28 01:00:49
346
原创 事件循环和宏任务(Node环境和浏览器)
);}, 0);/*执行结果:1–2–4–ok3–5–*/执行该结果的原因:第一个console.log(1)是同步任务,直接执行,遇到new Promise内部的console.log(2)是同步任务,直接执行,遇到setTimeout是宏任务,加入宏任务的event table中,并注册函数,当时间片执行结束,再将该回调函数加入event queue中,遇到console.log(4)是同步任务,直接执行,
2024-05-28 00:46:51
712
原创 web项目部署在云服务器上并绑定域名访问
在自己电脑中远程连接云服务器,输入云服务器的公网IP,连接成功后你大概就能猜到接下来怎么做了,我们以前是如何在自己电脑上配置环境的,就如何在这台服务器上配置。我们需要在这台服务器上配置的环境有:jdk,mysql,tomcat,过程就不再细讲,网上有很多详细的教程。在Eclipse中将项目打包成war包,并上传到云服务器上tomcat中的webapps文件夹下,此时启动tomcat,即双击tomcat中bin目录下的startup.bat文件,webapps文件夹下会生成一个与项目同名的文件夹。打开tomc
2024-05-27 19:37:44
274
原创 Vue进阶(幺陆幺):mixins 学习_vue路由守卫面试题
等,选项会被合并,键冲突的组件会覆盖混入对象的方法。比如混入对象里有个方法A,组件里也有方法A,这时候在组件里调用的话,执行的是组件里的A方法。等,就会被合并调用,混合对象里的钩子函数在组件里的钩子函数之前调用,同一个钩子函数里,会先执行混入对象的东西,再执行本组件的。可以看到,在组件1里改变了num里面的值,组件2中的num值还是混入对象里的初始值。组件1中的参数num进行+1的操作。组件2中的参数num未进行操作。查看两组件中分别输出的num值。混合对象中的参数num。
2024-05-27 19:29:23
914
原创 UML用例图的画法详细介绍【软件工程】
泛化(Generalization)关系是我们通常理解的继承关系:子用例和父用例相似,但表现出更特别的行为;此时,父用例通常是抽象的,而子用例表现出很强的具体性。包含(Include)关系是用来表示把一个较复杂用例所表示的功能分解成较小的步骤的一种关系。扩展(Extend)关系是用来表示用例功能的延伸的一种关系。关联(Association)关系是用例图最常见的一种关系,简单理解就是。画法上,泛化关系表示为。这种关系与类图的关联关系很相似,可以近似理解。画法上,关联关系无论是双向的还是单向的,一律用。
2024-05-27 16:36:19
355
原创 Netty案例介绍(websocket服务)
/@Override// 打印接收到的消息System.out.println(“服务端接受到的消息:” + textWebSocketFrame.text());// 返回消息给客户端channelHandlerContext.writeAndFlush(new TextWebSocketFrame("服务器时间: " + LocalDateTime.now() + " : " + textWebSocketFrame.text()));/**客户端连接的时候触发@param ctx。
2024-05-27 16:23:36
409
原创 Mybatis中的SqlMapConfig
第二种jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatisdbjdbc.username=rootjdbc.password=root此时的 dataSource 标签就变成了引用上面的配置typeAliases(类型别名)===========================================================================自定义别名在 SqlMapConfi
2024-05-27 16:23:05
316
原创 Java内存模型之happens-before_java happens-before
【代码】Java内存模型之happens-before_java happens-before。
2024-05-27 16:08:58
361
原创 JAVASE基础 Item -- 多线程,并发_多线程用item->;{}
public static void yield():暂停当前正在执行的线程对象,并执行其他线程。* 当正在运行的线程都是守护线程时,Java 虚拟机退出。// + “正在出售第” + (tickets–) + "张票 ");// + “正在出售第” + (tickets–) + "张票 ");// + “正在出售第” + (tickets–) + "张票 ");// + “正在出售第” + (tickets–) + "张票 ");// + “正在出售第” + (tickets–) + "张票 ");
2024-05-27 16:08:26
396
原创 HTML5(九)——超强的 SVG 动画
我们上述制作的 SVG 图形、动画等,运行在低版本IE中,发现SVG只有IE9以上才支持,低版本的并不能支持,为了兼容低版本浏览器,可以使用 VML ,VML需要添加额外东西,每个元素需要添加 v:元素,样式中还需要添加 behavier ,经常用于绘制地图。Raphael.js是通过SVG/VML+js实现跨浏览器的矢量图形,在IE浏览器中使用VML,非IE浏览器使用SVG,类似于jquery,本质还是一个javascript库,使用简单,容易上手。
2024-05-27 15:46:18
340
原创 HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果
Danbo是一只用废纸盒DIY出来的可爱玩偶,圆圆的眼睛和三角形的嘴巴,时刻露出无辜的表情,让人看到就心软,Danbo是个纯真善良的小家伙,在它单纯的幻想世界里,总是透露出最纯真可爱的动人气息。是日本人气动漫 《海贼王》中的主人公。因为身上封印着邪恶的九尾妖狐,无父无母的他受尽了村人的冷眼与歧视,他下定决心要成为第六代火影,让所有人都认同他的存在。ul为一组图片,每个li中有个a(因为我们希望点击图片可以跳转),a中包含两个div,一个是正常显示时的(即显示图片),一个是图片旋转后显示的(即介绍)。
2024-05-27 15:45:47
242
原创 DOM 基础 ---------- 获取元素
例如一个页面有 ul 标签也有 ol 标签,但是我只需要得到 ul 标签下的 li 标签,就可以用此方法。三:element.getElementsByTagName()元素对象,注意这里的选择器要带符号,例如 .aaa #aaa。上面第二个方法的拓展,用于返回。
2024-05-27 15:33:32
283
原创 2024年2月vue前端最新最全教程
由于这个vscode的插件太过强大了,为我们提供丰富多彩的好用的插件,所以我这里作为一个备案录,来记录一些常用的插件。这一节只做为备忘录,需要用到相应的插件时再来看这一节就行,我在后面的章节中如果用到插件,也会在视频里教大家如何安装的。这样势必大大浪费我们的开发时间,所以我们可以使用这样一款插件,来实时编译我们的代码。安装完live server以后我们代码编辑完,只要点ctrl+s保存,浏览器里就可以实时的查看。安装其实很简单,没什么说的,我这里只补充一点,就是下面的勾选框尽量全部都勾选。
2024-05-27 15:21:23
220
原创 2024基于webpack从0搭建vue项目,vue2
),// 自动清除 dist 目录插件// 配置 vue loader 插件],// 配置开启服务器的信息static: {},port: 80,},
2024-05-27 15:20:52
758
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人