- 博客(43)
- 资源 (2)
- 收藏
- 关注

原创 如何自动配置项目版本?只需一个简单的服务
作为一个纯前端的程序员,第一次开发后端服务,内心还是有点小激动的,但是为了一劳永逸还是决定挑战一下。准备试试最近接触的Go语言,因为服务不是很复杂,不采用任何Go的框架第一个服务器项目,先造势,这样显得专业一些,哈哈哈。。。项目需求:需要固定接口获取最新的项目地址自动更新,配置文件可视化后台界面可以满足产品、测试人员操作/修改立项:预计开发一个后端服务,提供上传,更新配置,提供最新链接选型:使用Go语言,支持IO,压缩、编码,较完善的HTTP封装,新人友好开发先开发一个测.
2020-09-21 18:06:43
253
1
原创 JS使用正则+replace实现replace All 全部替换的方法
JS使用正则+replace实现replace All 全部替换的方法
2022-07-27 15:27:54
5099
1
原创 正则表达式?来直接告诉你怎么写
按照规则来以 # 开头后面紧跟着6个字符或者3个字符作为结尾,这些字符可以是 a-f 的小写字母、A-F的大写字母、数字第一句,可以写成 /^#/;第二句,[a-fA-F0-9] 表示任意的 a-f、A-F、0-9,6或 3的个数可以用 {6}、{3}进行表示,那么3个字符就是 [a-fA-F0-9]{3},6个字符就是 [a-fA-F0-9]{6},这两个都有可能,用一个或(|)符号来连接:([a-fA-F0-9]{6}|[a-fA-F0-9]{3}),最后结尾可以用个 $所有合到一起就是 /^#([a-
2022-07-07 10:40:25
1152
原创 踩坑日记——Post数据时加号变空格的解决办法
踩坑实记项目在开发获取用户信息后的解密过程中发现总是会报token过期的异常, 使用postman手动发送请求则没有问题,正常解析。几经周折,终于发现参数有问题,body里的所有+ (加号)都被换成了 (空格)!!大坑!!!总结:采用Ajax传递数据时,通常会将数据整理为data=“var1=abc&var2=def”。而当数据中存在加号(+)或是连接符(&)时,服务器端接收数据时会有部分数据丢失现象。分析:分析一下Ajax传递数据的格式与Javascript的语法不难发.
2021-05-08 16:16:20
2420
原创 JS/TS 清空数组的几种方法比较
方式1:splice函数arrayObject.splice(index,howmany,element1,…,elementX)index:必选,规定从何处添加/删除元素。howmany:必选,规定应该删除多少元素。未规定此参数,则删除从 index 开始到原数组结尾的所有元素。element1:可选,规定要添加到数组的新元素。var arr = [1,2,3,4]; arr.splice(0,arr.length); 方式2:给数组的length赋值为0赋予数组的长度小于本身的长度
2021-03-09 20:16:02
11323
原创 面试被问到ES6中var与let、const的区别,看这篇就够了
var、let、const一、var声明的变量会挂载在window上,而let和const声明的变量不会:var a = 100;console.log(a,window.a); // 100 100let b = 10;console.log(b,window.b); // 10 undefinedconst c = 1;console.log(c,window.c); // 1 undefined二、var声明变量存在变量提升,let和const不存在变量提升c
2021-02-19 17:44:33
222
原创 js面试题:实现对象深度克隆(deepClone)的三种方案
方案一:利用现代浏览器支持的JSON对象做一次中转,实现深度克隆。(IE6、IE7不支持原生JSON对象,可载入json2.js补丁来达到兼容)JSON.stringify()与JSON.parse()详细信息请点击这里var deepClone = function (obj) { var _tmp,result; _tmp = JSON.stringify(obj); result = JSON.parse(_tmp); return result;}var
2020-11-30 19:14:32
737
原创 UI_程序资源规范
制档说明:规范UI文件、资源命名格式,提高UI、程序对接效率,制订此规范。目录:设计、资源格式UI命名格式及规范场景示例一、设计、资源格式界面设计尺寸 : 750 x 1334 (物理像素 px)背景图片:大背景:750 x 1700 格式为: jpg场景背景: 格式为: jpgUI资源:优先出 png_8有特殊要求,或者图片失真,则提升位深度尽量考虑复用尽量考虑九宫格拉伸(减少渐变的使用)二、UI命名格式及规范文件名称中应包含该
2020-11-11 15:41:54
311
原创 VScode 如何自动生成 get / set 方法
java c# myeclipse中是可以自动生成,那么 VScode怎么弄呢输入 prop ,按一下 tab 键,输入变量名,再按一下 tab ,输入类型。至于 get / set 的作用 ,和直接使用 public 各自有什么说法,这个就是仁者见仁智者见智了我认为 使用 get / set 是起到对外界封闭的作用,单纯的为了规范和扩展,方便框架映射字段。从规范性的角度来说,派生类中只暴露给你接口,起到封装的作用吧!你们有更好的理解嘛, 可以留言告诉我,一起探讨一起进步呀!..
2020-11-10 20:10:10
8114
3
原创 在windows中将go项目编译成Linux下可执行的二进制文件
今天有个朋友向我吐槽说他的工作环境是 windows ,新写的项目怎么也打包不成Linux可执行的二进制文件,oh gods, 难道还在为这个困扰么,操作其实很简单,几步搞定就!env GOOS=linux GOARCH=amd64 go build打开Terminal 执行命令:set GOARCH=amd64set GOOS=linuxgo build xx.go会生成一个没有后缀的xx二进制文件将该文件放入linux系统某个文件夹下赋予权限 chmod 777 xx.
2020-11-10 10:03:53
1661
原创 一道阿里笔试题:如何用一行代码解决约瑟夫环问题
约瑟夫环问题算是很经典的题了,估计大家都听说过,然后我就在一次笔试中遇到了,下面我就用 3 种方法来详细讲解一下这道题,最后一种方法学了之后保证让你可以让你装逼 起飞! 。问题描述:编号为 1-N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3…这样依次报),数到 m 的 士兵会被杀死出列,之后的士兵再从 1 开始报数。直到最后剩下一士兵,求这个士兵的编号。1、方法一:数组在大一第一次遇到这个题的时候,我是用数组做的,我猜绝大多数人也都知道怎么做。方法是这样.
2020-10-24 12:30:45
433
原创 3分钟,带你了解你想了解的CocosCreator!
目前正是H5小游戏的时代,面对现在主流最热门的H5开发引擎之一的CocosCreator,你想了解的都在这里!1、Cocos Creator 能同时支持哪些平台?Cocos Creator 一次开发多平台发布,能开发出主流的游戏开发平台,比如PC, Android, iOS, H5游戏。其中H5技术的游戏,包含网页游戏和很多游戏平台的变种,如微信小游戏,抖音小游戏,华为小游戏,oppo小游戏, vivo小游戏,百度小游戏,小米快游戏等。所以Cocos Creator可以一次开发多平台发布,这样大.
2020-10-24 12:01:23
7940
原创 代码格式不规范?有这个标准就够了!
一、编程规范(一)命名:类名使用 UpperCamelCase 风格,必须遵从驼峰形式,(领域模型的除外DO / BO / DTO / VO 等)方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从驼峰形式。抽象类命名使用 Abstract 或 Base 开头 ; 异常类命名使用 Exception 结尾 ; 测试类命名以它要测试的类的名称开始,以 Test 结尾。枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。方法命名规约(建
2020-10-13 17:03:25
658
原创 大家都在找的关于Unity的答案都在这里!
关于Unity面试和自学的相关过程,笔者这里先整理了10个常用的问题,希望可以帮助到你1、C# 进程、线程、协程、定义及区别1:进程定义:是程序在计算机上的一次执行活动。Windows系统利用进程把工作划分为多个独立的区域,每个应用程序实例对 应一个进程。它包含着一个运行程序所需要的资源。进程是操作系统分配和使用系统资源的基本单位。简单来说就是一个启动程序。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。2:线程 命名空间:using System.Th.
2020-10-12 21:08:41
630
原创 从浏览器中或取想要的参数(使用于微信、H5小游戏)
使用白鹭、Laya 或者 Cocos引擎开发游戏的小伙伴在对接不同渠道的时候可能会需要从链接中获取参数,白鹭和Laya都有封装好的API可供调用,其实实现起来不难,同样,任何H5游戏或者其他有需要的地方都可以用这种方法获取到,这是目前比较通用的方法。 getQueryString = function(name){ if(!window.location || !window.location.search) return null; var reg=new RegE.
2020-08-19 16:44:29
363
原创 uuid-js生成-唯一设备校验码-前端必用
使用方法:1、作为第三方库导入2、复制代码创建静态类使用3、使用时提前申明引入4、完整资源包下载uuid-js下载Functions ListThese are available just with require and return an instance of the UUID object:UUID.create(4); // Generate V4 UUIDUUID.create(1); // Generate V1 TimeUUIDUUID.fromTime(time,
2020-07-25 11:53:31
1747
原创 逻辑像素pt和物理像素px的区别
逻辑像素和物理像素的区别表达概念pt是逻辑像素px是物理像素逻辑像素和物理像素:逻辑像素(logic point):逻辑像素的单位是PT,它是按照内容的尺寸计算的单位。比如iPhone 4的逻辑像素是480x320pt。但是由于每个逻辑的点因为视网膜屏密度增加了一倍,即1pt=2px,那么其实iPhone 4的物理像素是960x640px。iOS开发工程师和使用Sketch和 AdobeXD软件设计界面的设计师使用的单位都是PT。物理像素的单位就是我们常说的pixel,
2020-07-18 10:56:51
1942
1
原创 微信小游戏egret.getDefinitionByName不能获取类的实例
前言:熟悉MVC框架的小伙伴都知道,在创建界面的时候一般使用egret.getDefinitionByName()来获取到类,从而可以实例化出一个界面类。今天遇到一个问题:在本地调试好的项目,上到微信开发者工具的时候,loading之后的第一个界面就没有正常显示,报错 viewClass is not a constructor 。因为是在第三方引擎开发的项目(Egret),所以在微信开发者工具的调试面板只能看到一堆min.js的内容,大概意思就是说界面的类因为没有明确声明 window['viewU.
2020-06-30 20:54:40
799
1
原创 跑酷类小游戏开发(一)
这里从思路整理开始做起,好的习惯成就大的目标。思维导图:整个游戏流程大概分这么几个部分:没钱买专业版,带水印很丑,先凑合看。~后续会一步一步的实现整个游戏。加油!!!!!...
2020-06-18 21:04:59
1245
原创 浅拷贝与深拷贝的特点和区别
浅拷贝与深拷贝一、数据类型先说数据,数据分为基本数据类型(String, Number, Boolean, Null, Undefined,Symbol)和引用数据类型(object)。基本数据类型的特点:直接存储在栈(stack)中的数据引用数据类型的特点:存储的是该对象在栈中引用,真实的数据存放在堆内存里引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中获得实体。二、浅拷贝与深拷贝深拷贝和浅拷贝是只针对.
2020-06-11 14:36:55
3706
原创 遍历当前目录删除指定的文件夹——批处理
有时候我们在使用一些第三方工具的时候会生成很多没用的temp文件夹,手动删除很麻烦,这时,我们应该想起windows 批处理话不多说:for /f "delims=" %%a in ('dir /ad/s/b DIRNAME') do rd /s/q "%%~a"pause在当前目录新建一个后缀名为.bat的批处理文件,编辑以上内容,注意将 DIRNAME改为你要删除的目标文件夹名。以管理员身份运行。即可。...
2020-05-12 19:46:09
2118
原创 闭包的概念——以JavaScript为例
函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起构成闭包(closure)。也就是说,闭包可以让你从内部函数访问外部函数作用域。在 JavaScript 中,每当函数被创建,就会在函数生成时生成闭包。词法作用域:请看下面的代码:function init() { var name = "Mozilla"; // name 是一个被 init 创建的局部变量 function displayName() { // displayName() 是内部函
2020-05-11 17:32:30
252
原创 找不到本地组策略编辑器找不到gpedit.msc 的解决方法
通常打开本地组策略编辑器,只需要 ctrl + R 在运行里输入 gpedit.msc 就可以打开。 但是,在windows家庭版和学生版里,会提示找不到路径。可以用以下办法解决:新建一个文本文档,名字随便取,编辑以下批处理内容,保存后将后缀名改为.bat ,右键使用管理员权限执行:@echo offpushd "%~dp0"dir /b C:\Windows\servicing...
2020-04-25 17:43:19
41723
74
原创 TS中string转化为number
在TypeScript,String转换为Number有以下方式:Number构造函数(推荐)let n = Number('1234') // ---> 1234let nan = Number('abcd') // ---> NaN+号操作符let n = +'1234' // ---> 1234let nan = +'abcd' /...
2020-04-18 16:57:29
33529
原创 SourceTree 3.3.8 跳过注册安装
Git 是广大程序员兄弟们天天见的工具,今天安利一款非常好用的界面化工具:SourceTree以Windows端为例,最新下载的SourceTree版本为3.3.8,(官网下载地址)跳过注册安装的步骤如下:安装SourceTree 3.3.8,执行到选择 bitbucket 的界面不要继续往下走然后在你的本地地址栏输入以下路径:%LocalAppData%\Atlassian...
2020-04-15 19:27:23
688
原创 TypeScript 格式化日期
项目中需要显示当前的日期,之前写过日期格式化的工具类,又整理了一下,特此记录下来。1、TS 获取时间戳:Date.parse(new Date().tostring());2、TS获取格式化日期:// 获取格式化日期 public static getTodayDate(): string { const date = new Date(); ...
2020-03-20 10:09:51
6446
原创 解释性语言和编译型语言的区别
1、程序控制权不同:对于解释性语言而言,程序运行时的控制权在解释器(jre,.net)而不再用于程序。编译型语言对于编译器而言,运行时的控制权在用户程序。2、运行速度不同:一些网页脚本,服务器脚本以及辅助开发接口这样的对速度要求不高,对不同系统的兼容性有一定要求的程序则通常使用解释性语言,如Java、JavaScript、VBScript、Perl、Python、Ruby、Matl...
2020-03-13 15:52:59
314
原创 Laya实现滑动列表和翻页效果及优化
__前言: __ 在前端游戏开发中,我们经常需要做滑动列表,或者列表翻页的效果,笔者最近接触Laya编辑器,看官方的文档真的是看的生气,索性参照其他编辑器的方式实现了想要的效果,这里整理出来。效果展示:前期准备:这里要先创建一个List组件,为其添加一个scrollerBar,(这里根据需求,如果需要垂直方向滑动就加VscrollerBar),需要注意的是,List组件的name需要写 ...
2020-03-10 20:02:13
3148
原创 什么是JavaSE 和 JavaEE
JavaEE: Java Enterprise Edition,Java企业版,多用于企业级开发,包括web开发等等。企业版本帮助开发和部署可移植、健壮、可伸缩切安全的服务端Java应用。Java EE是在JavaSE的基础上构建的他提供Web 服务、组建模型、管理和通信API.可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和web2.0...
2020-03-05 14:23:45
730
原创 error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054解决方法
在控制台输入:git config --global http.sslVerify "false"
2020-03-04 17:10:00
170
原创 CentOS-8 使用快捷键打开终端
前言: 学习Linux的同学,我猜记住的第一件事就是打开终端,一般使用快捷键 Ctrl+Alt+T打开终端,在终端中创建新标签:Shift+Ctrl+t。Ubuntu默认支持这个快捷键,有可能你的CentOS不支持,那也没关系,简单设置一下即可:右键打开设置>>键盘>>快捷键,然后点+,名称自己写 open-Terminal ,命令是"/usr/bin/gnome-t...
2020-03-04 17:05:55
6916
原创 你还在纠结cookies和session的区别嘛?
1、数据存放位置不同:cookie数据存放在客户的浏览器上,session数据放在服务器上。2、安全程度不同:cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。3、性能使用程度不同:session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。4、数据...
2020-02-29 18:57:37
3196
原创 LayaAir拖拽移动对象并吸附(附源码)
**前言:**拖拽移动对象是2D休闲小游戏中常用的一个功能,典型代表例如《植物大战僵尸》中,种植植物的表现形式,拖拽植物卡片种植到相应的地点。今天介绍一下在Laya项目中实现这一功能。该功能实现参照了Egret拖拽兑现与吸附思路:在 Laya 中实现拖拽对象,需要用到MOUSE_MOVE事件的监听,触摸移动触发MOUSE_MOVE,此时计算触摸移动的大小,让拖拽对象也进行相应的移动。...
2020-02-28 19:10:46
3194
2
原创 fatal: empty string is not a valid pathspec, please use . instead if you meant to match
最近在使用git工具的时候报错,究其根本原因是因为近期曾升级了Git 到2.16及更高版本后作了些改变,而TortoiseGit 版本在 2.6.0 这个版本修复了这个问题,所以,如果Git升级为2.16后,TortoiseGit也要升级到 2.6.0或更高版本。点击下方连接下载最新版TortoiseGit 。TortoiseGit 最新版...
2020-02-27 15:05:09
3009
原创 Go语言的主要特性和发展影响
1、Go发展的环境和影响因素1.1 影响 Go 语言发展的早期编程语言正如 “21 世纪的 C 语言” 这句话所说,Go 语言并不是凭空而造的,而是和 C++、Java 和 C# 一样属于 C 系。不仅如此,设计者们还汲取了其它编程语言的精粹部分融入到 Go 语言当中。在声明和包的设计方面,Go 语言受到 Pascal、Modula 和 Oberon 系语言的影响;在并发原理的设计上,Go...
2020-02-09 18:42:25
535
原创 error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054解决方法
有时我们在使用 git clone 或者 go get 的时候 会遇到这个报错:error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054只需要设置Git忽略ssl证书错误即可,使用下面的命令:git config --global http.sslVerify "false"再次clone。...
2020-01-20 18:09:48
11000
原创 为什么Go语言不支持重载?
上图是Golang官网FAQ的部分截图,看来关于Go不支持重载的这个问题困扰了很多从面向对象语言转到Go的开发者。官方在这里做出了解答。在上面的回答中有这样一句话:Experience with other languages told us that having a variety of methods with the same name but different signatur...
2020-01-20 17:07:41
1748
原创 Beego使用orm自动创建表结构(结构化目录--亲团队开发)
关于 Beego 框架,这里不再赘述。官方网站一、什么是orm,为什么要用orm?orm (Object-relational mapping),中文翻译为对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。在程序开发中,数据库保存的表,字段与程序中的实体类之间是...
2020-01-16 15:20:48
1980
H5连连看小游戏示例及源码
2023-01-14
UUID自动生成库-校验码-常用JS库-uuid-js-master.zip
2020-07-25
LayaAir拖拽移动对象并吸附(附源码) moveTest.zip
2020-02-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人