- 博客(50)
- 资源 (24)
- 收藏
- 关注
原创 在 JavaScript 中如何定义一个对象
对象字面量:简单直接。:较少使用。构造函数:适合创建多个相似对象。:基于原型创建对象。ES6 类:现代语法,适合复杂对象。根据需求选择合适的方式。
2025-02-21 09:21:25
257
原创 有关ORM
ORM(对象关系映射,Object-Relational Mapping)是一种编程技术,用于在面向对象编程语言中实现对象与关系数据库之间的映射。通过ORM,开发者可以使用面向对象的方式操作数据库,而无需直接编写SQL语句。
2025-01-24 16:51:33
1235
原创 mikro-orm 和typeorm 对比
Mikro-ORM:基于数据映射器、工作单元和身份映射模式。这种设计使得它在管理内存中实体状态方面表现优异,能够自动处理事务,当调用em.flush()时,所有计算出的更改都会被包装在一个数据库事务中。TypeORM:支持活跃记录和数据映射器模式,深受Hibernate、Doctrine和Entity框架等传统ORM的影响。它提供了更多的灵活性,允许开发者在不同的使用模式之间进行选择。
2025-01-09 23:57:55
594
原创 前端工程化实践——技术方案选型
在整个前端开发、构建和部署实施过程中,根据项目需求、团队能力、成本预算、时间限制、未来扩展性、技术趋势以及安全性等多方面因素,从众多可选的技术方案中选择最适合的技术栈、工具、框架或平台的过程被称为技术选型。技术选型非常重要,因为它的完成是在整个项目的开发初期,后期有很多的生态都是我们的技术选型来进行的。如果技术选型没有做好,那么对于后期的开发来说,它直接影响到项目的开发效率、运行性能、可维护性、可扩展性、项目成本以及最终的用户体验等等……
2025-01-08 08:10:26
867
原创 小程序与内嵌网页的数据通信
微信小程序提供了web-view组件,允许开发者在小程序中嵌入网页。然而,由于小程序和网页运行在不同的环境中,它们之间的通信就需要依赖特定的机制来实现。然而我们日常的需求中,很多的时候都涉及到小程序内嵌网页和小程序之间进行数据通信的情况。这篇文章是我自己总结的微信小程序与内嵌web-view中网页通信的一些方法。
2025-01-07 14:25:50
1340
原创 History Router Nginx 配置
发单页应用的时候, 如果使用History路由, 我们要保证每个可访问路径都能直接访问到index.html的内容。本文主要讲解History路由模式下的Nginx配置。本文到这里就结束啦~因为看网上很少有关于远程index.html的配置, 所以写了这篇文章,希望对大家有用~
2025-01-07 12:40:19
648
原创 微信小程序页面之间的传值方式
在微信小程序的开发过程中,页面之间的传值是一个常见的操作。根据多年的实践,我就我所知道的小程序页面之间的传值方式,进行简单的总结。希望能够帮助大家。
2024-12-24 21:55:56
965
原创 用户代理解析工具:ua-parser-js
在 Web 开发中,了解用户的浏览器类型、操作系统和其他设备信息是非常有用的。这有助于开发者优化网站以适应不同的设备环境,提供更好的用户体验。用户代理(User-Agent)字符串是 HTTP 请求头的一部分,它提供了客户端软件和硬件的信息。然而,这个字符串通常格式复杂且难以解析。这就是 `ua-parser-js` 进入画面的地方——一个轻量级的 JavaScript 库,专门用于解析 User-Agent 字符串。
2024-09-06 07:57:20
1204
原创 由跨域引发一些思考
最近加了个群,今天有人在群里问了一个问题“前端配置了跨域代理,项目发布到线上还需要配置 nginx 反向代理吗?”,由此,在群里展开了激烈的讨论。讨论的主要点就是在跨域和代理上面,由此引发了我的一些思考。首先记录一些基本的概念。跨域(Cross-Origin)是指在互联网上的一个域下的文档或脚本尝试请求另一个域下的资源时,域名、协议或端口不同的这种行为。
2024-07-01 21:43:35
1049
原创 在Koa中常见的中间件的原理及使用
我们都知道,在一个完整的Http请求过程中,我们需要在其中做一些处理,比如说请求路径和参数的处理,cookie的处理,返回的结果处理……对于Koa来说,我们可以使用中间件来进行处理,但是Koa本身是不提供中间件的,因此就需要我们引入第三方的,或者是根据自己实际的业务需求,来实现一些处理过程的中间件。就简单的介绍几个在Koa中会经使用的一些中间件(这里的版本是基于Koa 2.x,如果想了解Koa 1.x可以参考这些思想去找适用于Koa 1.x的中间件)。当然这里有关第三方中间件的介绍过程中,都会简单的聊一些这
2022-05-18 00:26:43
3668
原创 初识Koa
📌Koa -- 基于 Node.js 平台的下一代 web 开发框架。上面的那句话是Koa官方讲的。首先Koa是一个新的web框架,由Express幕后的原班人马打造。我们都知道现在市面上很多的Node 服务框架或者是功能,都是基于Express来进行开发的,比如说(webpack-dev-server,Nest,NodeBB等等)。这主要是因为Express出来的时间比较久,而且相对来说比较稳定;Express的生态相对的会完善一些;另外一点就是Express相对于来说比较容易入门。可以基于官方的
2022-05-10 22:33:45
595
原创 前端组件封装原则
对于当今的前端开发,模块化已经成了一种通用的解决方案,不管是vue还是React还是Angular,其中都会涉及的组件的封装。对于各现在的前端开发来说,如何去封装一个组件,以及封装组件的过程中,应该注意哪些东西都已经是每个前端的必备的基础技能了。但是在很多的时候,对于一些刚刚进入这个行业的新人来说,可能有部分的老人,不是很清楚什么时候应该去封装组件。接下来我就以下的问题聊一下组件的封装。我们为什么要封装组件? 什么时候应该封装组件? 应该如何去设计一个组件?为什么要封装组件?对于这个问
2022-04-17 19:47:03
9540
原创 我理解的前端发展方向
这是我个人的理解的前端2022年,甚至以后的前端发展的方向。这里没有太多的干货的知识,不会告诉你说Javascript怎么写,也不会告诉某个页面需要怎么排版……那都是一些很基础的东西(但是并不能我的本篇文章和思考有多么的高大上),这些方向的了解可能会贯穿我们整个前端的职业生涯;也可能等你在前端这个行业中摸爬滚打了多年之后,你才在某个清晨恍然大悟,原来这么多年我都是个机器:把设计稿转换成页面,每天做着这样重复但是看似有意思的工作。而我就是其中的后者。先简单的介绍一下为什么我会有这样的想法吧。我的前端经
2022-01-09 22:49:38
3290
原创 我理解的前端工程化
前言现在越来越多的前端人员都在聊前端工程化。可能很多初学者认为前端工程化就是我会使用webpack,我能够使用某些cli工具来搭建我们公司的项目等等;也有一部分的人认为前端工程化就是涵盖了前端从立项到上线过程中的每一步,前端的每个项目即是前端的一个工程在前端工程中包含有项目的创建过程,开发过程,测试过程,上线过程等一系列的工作流程的内容等。那么什么是前端工程化?对于这个问题,我这里就从我个人的角度来聊一下,这个前端工程化的内容。前端工程化的由来对于前端开发来说从最初的切图仔到现在的可以称..
2021-12-27 23:47:41
700
原创 加密算法学习
加密算法主要作用是把明文变成密文,防止信息泄露。加密后的密文看起来和乱码很像,但却不是乱码。大部分乱码是由于编码不一致导致的,编码不属于加密算法,只是改变了显示格式而已。加密算法需要保证以下三点:1.机密性:保证数据即使被盗取,小偷也不知道是啥。2.完整性:保证数据在传输过程中即使被劫持修改,接收方能够发现信息已被截取,而选择换掉。3.可用性:保证加密算法的开销、复杂度都在可用范围。满足上述要求的加密算法经历了从古典密码过渡到现代密码的漫长历史发展时期。加密算法的起源早在古罗马的
2021-12-06 23:15:37
831
原创 nginx学习笔记
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言作为一个Web开发者来说对于nginx的应该是再熟悉不过了,但是对于我来说,对于nginx的了解就相对比较少,由于自己是做前端开发的,有关后台的配置相关的内容了解的不多,因此有关Nginx的了解也只是趋于表面的,因此,花了一段时间来对Nginx进行了一个比较深入的学习。一、Web服务器?1. 什么是we
2021-10-09 07:42:20
227
原创 有关WebRTC(一)——初识WebRTC
文章目录前言一、什么是WebRTC?二、WebRTC的特点三、WebRTC的使用场景四、如何在网页中使用音视频获取浏览器设备使用麦克风录制声音摄像头捕捉信息使用摄像头使用摄像头进行拍照使用摄像头 进行录像录制桌面信息总结前言大家对在线音频和视频并不陌生。日常的网络应用程序,如抖音和快手,为数百万人提供音频和视频内容。另一方面,对于网络实时通信来说,大家也并不陌生。像腾讯会议,企业微信,在线直播等。对于这些地方,这就是网络实时通信(WebRTC)发挥作用的地方。由于最近各个企业都在搞在线办公等相关的内
2021-03-30 08:26:36
560
原创 如何设置process.env.NODE_ENV
NODE_ENV是一个由 Node.js 暴露给执行脚本的系统环境变量。通常用于确定在开发环境还是生产环境(dev-vs-prod)下,服务器工具、构建脚本和客户端 library 的行为。NODE_ENV会赋值给process.env对象,作为它的一个属性,其值通常为“production”(生产环境)和“development”(开发环境),或者“prod”和“dev”,以此来区分不同环境下的逻辑行为,例如:if(process.env.NODE_ENV === 'development'){
2021-03-29 23:09:11
7062
1
原创 如何理解浏览器缓存
前言缓存可以说是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。对于一个数据请求来说,可以分为发起网络请求、后端处理、浏览器响应三个步骤。浏览器缓存可以帮助我们在第一和第三步骤中优化性能。比如说直接使用缓存而不发起请求,或者发起了请求但后端存储的数据和前端一致,那么就没有必要再将数据回传回来,这样就减少了响应数据。接下来的内容中我们将通过缓存位置、缓存策略以及实际场景应用缓存策略来探讨浏览器缓存机制
2021-03-29 23:08:02
387
原创 什么是重排和重绘
当浏览器下载完页面所需元素(html标记,css层叠样式表,javascript,图片)之后,会生成两个东西:Dom树和渲染树。Dom树Dom树,主要是用来表示页面的Dom结构。渲染树渲染树主要是用来表示页面是如何进行渲染的。Dom树中,除了隐藏节点,其余的节点需要与渲染树中的至少存在一个对应的节点。渲染树中的每一个节点,被称为帧或者是盒子。盒子具有内边距,外边距,边框,位置等属性。一旦渲染树构建完成之后,浏览器就开始进行绘制页面。当Dom的变化影响到了元素的几何属性(宽和高等)——比如说修改了
2021-03-29 23:07:04
432
原创 深入理解Promise.all
深入理解Promise.all了解es6的Promise的人应该都听过Promise.all,而且应该是大多数的人都用过Promise.all这个方法。首先Promise.all可以将多个Promise实例包装成一个Promise实例。let p = Promise.all([p1, p2, p3])Promise.all方法可以接受一个数组作为参数,数组中的每一项都是一个Promise的对象实例(如果不是,就会先调用Promise.reslove方法,将参数转化为Promise对象实例,再进行下一
2021-03-29 23:03:49
3067
原创 Axios使用方法
axios简介Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。axios的优势:从浏览器中创建 XMLHttpRequests从 node.js 创建 http 请求支持 Promise API拦截请求和响应转换请求数据和响应数据取消请求自动转换 JSON 数据客户端支持防御 XSRFaxios的基本使用如何引入axios可以通过npm安装来进行使用$ npm install axio也可以使用 bower进行安装,然后在页
2021-03-29 23:03:08
20525
原创 如何判断一个变量是否为数组(isArray)
在我们平时的工作中经常会用到如何判断一个变量是否为数组。常用的方法很多,有用常用框架里面的,isArray。但是关于这个isArray的实现,各有不同。常用的方法有如下几种1、instanceof function isArray (obj) { return obj instanceof Array; }2、Array对象的 isArray方法 function isArray (obj) { return Array.isArray(obj);
2021-03-29 23:02:13
1777
原创 javascript中的toString()
基本介绍javascript中的toString方法是我们在写前端时经常要用的一个函数,也就是将我们的变量转换成字符串的方法。javascript中各种类型的toString方法javascript中定义了7种数据类型,其中包含了6种原始的数据类型:BooleanNullUndefinedNumberStringSymbol(ECMAScript 6 新定义)和Object,在这7中数据类型中,除了undefined和null类型之外,都有toString方法。Boolean 类...
2021-03-29 22:59:53
6047
1
转载 dec加密
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Security.Cryptography;using System.Text;namespace SSO_Explorer.Utility{ public class DecUtility
2015-03-05 18:03:18
806
转载 全国省市县sql(完整版)
省Insert into PROVINCE (PROVINCE_ID, NAME, SEQ) Values (4, '山西', 4);Insert into PROVINCE (PROVINCE_ID, NAME, SEQ) Values (5, '内蒙古', 5);Insert into PROVINCE (PROVINCE_ID, NAME
2014-03-29 21:26:54
4772
转载 基于java的ajax操作
一、开门见山 这些时间,瞎子也看得见,AJAX正大踏步的朝我们走来。不管我们是拥护也好,反对也罢,还是视而不见,AJAX像一阵潮流,席转了我们所有的人。 关于AJAX的定义也好,大话也好,早有人在网上发表了汗牛充栋的文字,在这里我也不想照本宣科。 只想说说我感觉到的一些优点,对于不对,大家也可以和我讨论: 首先是异步交互,用户感觉不到页面的提交,
2014-03-26 06:53:41
1650
原创 Sql 中的where 1=1 问题
很多时候我们在学习Sql的时候我么总是会看到有些时候会用到一些看起来没有用的东西,比如说:select * from table where 1= 1;但是为什么我们要用到那个where 1 = 1呢1.首先我们先来看一下不用where 1 = 1会出现什么情况;举个例子,如果您做查询页面,并且,可查询的选项有多个,同时,还让用户自行选择并输入查询关键词,那么,按平时的查询语句的动态构
2014-03-01 13:04:29
1419
2
原创 CSharp学习笔记之十三 反射
今天接触到了一个新词,就是反射,当我看到反射这个词的时候我不知道这个是什么东西。于是乎就问老人,老人给我说可以参看一个方法就是GetTipy()方法,但是这个到底是什么东西呢,通过我查找的资料我这里发表一下我自己的小小的理解吧。一、什么是反射 当然对于反射这个词来说,我们并不是很陌生,比如说镜子可以反射,B超也是利用反射的原理进行成像的。但是对于C#中来说反射也是一样的一个道
2014-02-13 21:47:19
9058
原创 CSharp学习笔记之十二 委托与事件(续)
尼玛,当把刚才的文章给保存发表之后,想看看其他方面你的文章,这时候又看到了另外的一个比较不错的文章,名字与本题同名,正觉得纳闷呢,仔细一看,原来是同一作者的东西,顿时有一种被骗的感觉。这些都不重要,真心的不重要,重要的是这些东西我们都能够学到比较多的东西。所以,这里就又将那篇文章给转了,原作者的地址还按老规矩留给大家。原文链接:http://www.tracefact.net/CSharp-P
2013-12-27 17:19:56
1923
原创 CSharp学习笔记之十一 委托与事件
对C#的委托和事件,其实想写点东西,但是偶然间翻到一篇文章,感觉挺好的,所以就直接转过来吧。其实好的东西都是要用来分享的么,不管是不是我自己的,但是学会了,就是我自己的。学习么就是这样的,这篇博文不算是原创,之所以还写原创,是为了保持格式一致。我把链接地址给你们,这是原作者的权利。原文章:http://www.tracefact.net/CSharp-Programming/Delegates
2013-12-27 16:26:18
10909
1
原创 CSharp学习笔记之十 类的修饰符
前面对C#中的类有了一定的解释,但是关于类的很多的东西前面并没有介绍的很清楚,其实C#并不是像我们想象的那样简单,我们要想将C#学的更深一步还是需要多花点时间来进行学习的。努力才会又收获的么。好的来下面来介绍一下C#中的类的修饰符:其实大家应该都知道,类有好多种,什么抽象类了,什么虚类了等等。如何判定呢,首先是来说说抽象类吧。什么是抽象类呢,为什么要有抽象类呢。大家都知道,C#是一中面向对象的
2013-12-27 11:17:25
3337
原创 CSharp学习笔记之九 多线程编程
今天就来学习一下C#中的线程和进程的问题吧在C#中要操作线程就要借助Thread这个类来进行的一些操作的,首先要事例化一个thread的类,再在这个类的基础上进行操,在实例化Thread的实例,需要提供一个委托,在实例化这个委托时所用到的参数是线程将来启动时要运行的方法。在.net中提供了两种启动线程的方式,一种是不带参数的启动方式,另一种是带参数的启动的方式。下面给出一个多线程的
2013-12-18 12:56:23
8533
原创 CSharp学习笔记之八 文件的读写
在我们的程序的编写过程中,总避免不了对文件的读写,比如说要读取一个软件的配置,这时候不就需要我么来设计的文件的读写么,但是对于C#来说,是如何对文件进行读写的呢。下面的我们来看一个列子: class Test { static void Main(string[] args) { string filePath =
2013-12-16 16:49:37
1327
Enterprise Architect
2012-08-05
3D MAX 2012注册机
2012-07-26
VC-MFC编程实例
2012-07-03
JavaScript网页设计300例
2012-07-03
ASP函数参考手册
2012-05-29
编程代码风格
2012-05-29
codesmart+安装+破解
2012-05-26
Think php 的技術手冊
2011-08-10
c语言经典结构算法实例
2011-08-08
PHP游戏编程设计[PHP Game Programing]
2011-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人