您好

- by

2020年9月22日

layout: posttitle: 处理 Android 打包环境配置不对,导致的打包报错问题date: 2021-02-10updated: 2021-02-10robots: Android 打包 报错 AndroidStudiokeywords: Android 打包 报错 AndroidStudioheadimg: https://es-blogimg.oss-cn-hangzho...

使用Git Submodule 对Hexo 博客主题进行管理与更新

在使用Hexo搭建静态博客的时候,通常都会使用一个他人(自己)开发的主题,而这个主题往往是一个独立的Git仓库,自己的Hexo静态博客一般也是一个Git仓库,他们之间的关系是 博客仓库 包含 主题仓库: …/BlogRepo/themes/volantis/… ,主仓库由使用者自己维护,主题仓库由主题作者进行维护与更新,无论是自己开发主题,还是是用别人开发的主题,都需要在主题更新或者修复BUG的时候对自己正在使用的主题代码进行更新,如果自己想要对主题进行修改也需要对这个仓库进行维护, 这时候就需要使用 Git Submodule 来对这个在主仓库中的子仓库进行 Git 管理

在GitHub仓库使用Git命令 遇到ssh_exchange_identification错误的解决办法

记录一次遇到在GitHub上使用Git命令Pull仓库遇到的“疑难杂症”。

Git

JavaScript深入浅出之理解闭包

函数与对其状态即词法环境(lexical environment)的引用共同构成闭包(closure)。也就是说,闭包可以让你从内部函数访问外部函数作用域。在JavaScript,函数在每次创建时生成闭包。

JavaScript深入浅出之理解Null和Undefined

在JavaScript有5个基本的简单数据类型:Number,String,Boolean,Null,Undefined 和一个复杂数据类型Object,其中**Null**和**Undefined**是最特殊的两个,在开发中经常会被搞混。

JavaScript中的内存管理机制

垃圾回收是一种自动的内存管理机制。当计算机上的动态内存不再需要的时候,就应当予以释放,以让出内存。直白点讲,就是程序是运行在内存里的,当声明一个变量、定义一个函数时都会占用内存。内存的容量是有限的,如果变量函数等只有产生没有消亡的过程,那内存总有会被完全占用的时候。这个时候,不仅程序自己无法正常运行,连其他程序都会受到影响。所以,在计算机当中,我们需要垃圾回收。需要注意的时候,JavaScript定义中的“自动”的意思是预言可以帮助我们回收内存垃圾,但并不代表我们不用关心内存管理,如果使用不当,JS中依旧会出现内存溢出的情况

分离歌曲音频中的人声和背景音乐

想要K歌却苦于找不到喜欢的音乐的纯BGM?想要去除歌曲中的各种乐器的背景音乐,来个清唱版?不如试试这个开源项目吧.来自法国的音乐流媒体公司 Deezer 开源了一个音轨分离软件 spleeter,只需输入一段命令就可以将音乐的人声和各种乐器声分离,支持 mp3、wav、ogg 等常见音频格式。这款软件基于 TensorFlow 开发,效果拔群,有网友说自己曾经试过无数类似软件,spleeter 是最好用的一个。我在配置好环境后,测试了一下,效果拔群,几乎是我使用过的最好的分离人声和消除背景音的工具。我使用的测试歌曲是米津玄师的《Lemon》

洗牌算法/Fisher-Yates Shuffle

在游戏开发中,经常会遇到需要将一个数组打乱的情况,例如,在一个卡牌系统中需要做一个抽卡,给你8张卡牌,从中抽取一张,并获得奖励:费舍尔·耶茨洗牌算法的做法是:给出数组Array,数组长度为n,取数组最后一个值M,再从数组的前n-1个元素中随机取一个值N,与最后一个值交换位置M,再取数组倒数第二个值N1,在前n-2各元素中随机取一个值M1与N1交换位置,依次取完剩下的值,完成数组打乱,算法的时间复杂度为O(n)。

工作中最常用的Git命令及常见错误解决方案

1. git clone 克隆远程代码仓库

Git

Mac常用软件工具合集(更新中...)

PDFelement 6 Pro (付费)

LeetCode_001 两数之和

1. 两数之和. 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

工作中常用到的ES6语法

在JavaScript中咱们以前主要用关键var来定义变量,ES6之后,新增了定义变量的两个关键字,分别是let和const。对于变量来说,在ES5中var定义的变量会提升到作用域中所有的函数与语句前面,而ES6中let定义的变量则不会,let声明的变量会在其相应的代码块中建立一个暂时性死区,直至变量被声明。let和const都能够声明块级作用域,用法和var是类似的,let的特点是不会变量提升,而是被锁在当前块中。

关于Laya的中Timer的使用方法

在使用laya.timer.loop之前,一定要先clear掉之前的定时器,否则会出现不可预期的BUG

使用Google Closure Compiler进行Js代码压缩

The Closure Compiler is a tool for making JavaScript download and run faster. Instead of compiling from a source language to machine code, it compiles from JavaScript to better JavaScript. It parses your JavaScript, analyzes it, removes dead code and rewrites and minimizes what's left. It also checks syntax, variable references, and types, and warns about common JavaScript pitfalls.

什么是WebSocket?

在实现websocket连线过程中,需要通过浏览器发出websocket连线请求,然后服务器发出回应,这个过程通常称为“握手” 。在 WebSocket API,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。在此WebSocket 协议中,为我们实现即时服务带来了两大好处