- 博客(34)
- 资源 (8)
- 收藏
- 关注
原创 前端开发之代理模式
代理模式是一种结构型设计模式,它通过为一个对象提供一个代理对象来控制对该对象的访问。代理对象可以在访问真实对象之前或之后添加一些额外的操作。
2024-09-26 11:50:16
699
1
原创 前端开发之迭代器模式
在前端开发中,设计模式是提升代码可读性、可扩展性和可维护性的关键。迭代器模式(Iterator Pattern)是行为型设计模式中的一种,能够让我们顺序访问一个集合中的元素,而不暴露其底层的结构。在 TypeScript 这样具有类型检查的语言中,迭代器模式应用更加方便。
2024-09-12 22:02:22
1158
原创 前端开发之观察者模式
观察者模式(Observer Pattern)是前端开发中常用的一种设计模式。它定义了一种一对多的依赖关系,使得当一个对象的状态发生改变时,其所有依赖对象都能收到通知并自动更新。观察者模式广泛应用于事件驱动的系统,如浏览器事件、发布-订阅系统,以及各类框架的状态管理机制。
2024-09-10 21:56:12
982
原创 前端开发之单例设计模式
单例模式(Singleton Pattern)是一种常见的设计模式,它确保在整个应用程序的生命周期中,一个类只能创建一个实例。无论你在代码的任何地方尝试创建该类的新实例,它都会返回已经存在的唯一实例。这在需要共享资源、全局状态、缓存、数据库连接等场景非常有用。单例模式在某些场景下非常有用,特别是当我们需要确保某个类只有一个实例时。通过 TypeScript 实现单例模式,我们可以利用面向对象的特性来确保类的唯一实例。此外,PlantUML 的类图帮助我们更好地理解单例模式的设计结构。数据库连接管理。
2024-09-09 18:00:29
807
原创 前端开发之工厂设计模式
工厂设计模式是一种创建型设计模式,主要目的是定义一个用于创建对象的接口,让子类决定实例化哪个类。通过这种方式,客户端在不指定具体类的情况下创建对象,从而提高代码的灵活性和可维护性。
2024-06-25 14:31:34
742
原创 WebStorm 配置 PlantUML
在 WebStorm 插件市场搜索 PlantUML Integration 并安装,重启 WebStorm 使插件生效。PlantUML 需要 Graphviz 来生成图形。,如果看到 Graphviz 的版本信息,则表示安装成功。
2024-06-21 11:46:30
588
原创 Express 日志
如何在 express 中记录用户的请求日志?通过日志不仅可以帮助我们调试和故障排查,也有助于业务运营方面客观分析提升产品质量。我们需要用到一个中间件 morgan。
2024-05-30 11:46:16
626
原创 Express 上传文件 Multer
在日常开发的方方面面,图片和资源上传已经是前后端开发中必不可少的环节了。在express中,如何接收和处理客户端上传的文件呢?在 express 当中,如果要实现文件上传,是需要借助一个中间件 multer,它用于处理 multipart/form-data 类型的表单数据。
2024-05-29 18:09:43
548
原创 Express 静态资源存放
如何在 express 中提供对外可以访问的静态资源?只要利用expres.static这个中间件就可以了。例如,通过如下代码就可以将static目录下的图片、CSS 文件、JavaScript 文件对外开放访问了。
2024-05-29 11:32:38
368
原创 Express 的中间件
使用 express 处理请求的时候,一般都在后面添加个回调,每个回调都包含req、res和next。关于中间件的调用,它永远先调用第一个匹配的中间件,调用完成后,看有没有next()去连接下一个中间件,没有的话就挂起,有就一直执行下去。如果当前中间件函数没有结束请求-响应周期,它必须调用 next() 将控制传递给下一个中间件函数。
2024-05-23 17:42:39
604
原创 Express 错误处理
当我们在中间件中出现错误的时候,可以通过next(err)来传递。next一旦接收了err参数之后,就会去执行它的错误处理中间件(err, req, res, next)=>{},这个中间件是express提供的,和普通中间件不同的是,它接收4个参数。
2024-05-23 17:38:31
367
原创 Express 的路由
在实际开发中,关于list的接口可能几十上百个,如果统一写在这里肯定是不太现实的。它的请求都和list有关,有没有办法把list分离出来,在list这一组接口内部,只需写list后面的部分就行了,而list作为它们的公共前缀。
2024-05-23 15:13:51
302
原创 JSONP原理及应用实例
JSONP(JSON with Padding)是一种跨域数据请求技术,它允许网页在不受同源策略限制的情况下从其他域中请求数据。JSONP的原理是利用 标签的跨域特性,通过 标签,指向包含 JSON 数据的远程地址,并在请求的 URL 中传递一个回调函数名,服务端接收到请求后,将数据包装在该回调函数中,返回给客户端,客户端通过回调函数接收并处理返回的数据。由于script 标签的 src 属性,只能使用 get 请求。
2024-05-20 22:41:35
588
原创 Obsidian Git 多端同步
2023年6月,某云笔记限制了免费用户最多同时登录 2 台设备,想要增加设备数量需要付费开通会员。之后我一直想找一款合适的笔记本软件,年底尝试了Obsidian,断断续续摸索了好几天终于成功了。将那时的笔记拿来分享一下。
2024-05-19 23:23:41
1561
原创 前端模块化(commonJs、ES Module)
模块化开发是我们开发当中用于组织和管理代码的方法,它的目的是将复杂的应用程序去拆分为更小和更好管理的模块单元,从而提高代码的复用性和可维护性。在早期的前端开发中,javascript代码通常以脚本的形式直接嵌在html文件中,或者通过多个脚本文件呢去进行一个处置,那这种方式存在一些问题,比如全局命名冲突,代码复用困难,依赖关系难以管理等等,特别是在多人协作的场景下,这种情况尤为常见,直到模块化的出现才从根本上去解决这些问题,这也正是js为什么需要模块的原因。那js的模块化是什么?怎么用?
2024-05-18 23:05:24
2059
原创 清除浮动的三种方法
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>清除浮动的三种方法</title> <style type="text/css">
2018-04-30 17:15:57
363
原创 jquery 的 data 和 attr
曾以为attr和data效果是一样的,只是attr需要多写一点代码量。后来在开发中发现他们并不相同。先写两个div体验一下:<div id="test1">test1</div><div id="test2">test2</div><script> // 赋值 $("#test1").a
2018-04-30 16:49:12
523
原创 阻止form表单默认提交
1、return false;$("#btn").click(function(){ // todo .... return false;})2、type = “button”<form> ...... <input type="button" value="提交"> <!-- 或者 --> ..
2018-04-28 23:00:36
3850
原创 Nginx 反向代理配置
centos7安装nginx sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm安装Nginx sudo yum install -y nginx查找编辑Nginx配置文件 whereis nginx ...
2018-03-31 17:01:37
258
原创 CentOS7安装MongoDB
查看MongoDB的版本,到https://www.mongodb.com/download-center#community下,选择Community Server后选择linux,之后在选择对应的版本。如果装的是Amazon的,启动mongodb时会出现Error parsing INI config file: unrecognised option ‘nohttpinterface’ ...
2018-03-28 15:34:47
4447
原创 centos7 安装Git
centos7 安装GitGit 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum install gcc perl-ExtUtils-MakeMak...
2018-03-24 20:15:32
622
原创 centos7安装Node.js、nvm
centos7安装Node.js、nvm安装Node.js下载node.js 6.10.0 wget -c https://nodejs.org/dist/v6.10.0/node-v6.10.0.tar.gz解压 tar zxvf node-v/v6.10.0.tar.gz安装编译软件 yum -y install gcc make gcc-cc++ ...
2018-03-24 19:31:47
598
原创 jQuery获取元素宽高(内边距、边框和外边距)
返回元素的宽、高。 width() height() 返回元素的宽、高(包括内边距)。 innerWidth() innerHeight() 返回元素的宽度(包括内边距和边框)。 outerWidth() outerHeight() 返回元素的宽度(包括内边距、边框和外边距) outerWidth(true) outerHeight(true)<!doctype html><html
2017-12-22 19:29:29
12499
1
原创 JavaScript数组求和的几种方法
不多说废话,直接上代码及Chrome运行结果。先扔出一个数组: var arr = new Array(); for (var i = 0; i < 10000000; i++) { arr.push(i * 12); }1.for循环 var sum = 0; console.time("for"); for (v
2017-10-26 15:46:17
3988
原创 Sublime Text3配置sftp插件,终于把连接超时(Connection timeout)解决了
使用SFTP插件工作流程就变成了:使用 SFTP 打开文件 -> 使用Sublime Text3打开编辑修改文件 -> 保存文件(自动上传到网站服务器中)。工作效率可以说是大大提高了。为了提高工作效率,开始给SublimeText3配置sftp。先是使用用户名和密码去连接,总显示连接超时(Connection timeout),改用ftp/ftps就总是disconnect 或者 Connec
2017-09-18 00:50:19
15075
1
原创 C# + 图灵机器人
新建winform窗体应用程序,项目名称为TuringRobotDemo。从工具箱拖放listBox,button,textBox。需要using Newtonsoft.Json; 文件
2017-08-28 15:46:38
1265
1
原创 原生AJAX的GET和POST
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
2017-08-26 12:23:48
410
原创 xshell5免密码登陆腾讯云服务器
1.首页登录腾讯云官网的“管理中心”,接着在左侧导航栏“SSH密钥”进入SSH密钥管理界面;点击“创建密钥”按钮,输入密钥名,创建一个新密钥,创建完密钥后,点击“下载”按钮,下载到本地。 2.然后选中创建的密钥,点击 “绑定/解绑云主机” ,之后出来一个窗口,选择你的主机所在地域,然后等待其加载(关机状态才可加载),加载出主机后,选中,确定。 3.打开Xshell5,
2017-01-20 19:16:47
2519
puttygen.exe
2017-09-18
Microsoft.DirectX.dll和Microsoft.DirectX.DirectSound.dll
2016-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人