自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SeriousSnow的博客

瞎写呗~

  • 博客(32)
  • 收藏
  • 关注

原创 小程序setData 常量(behaviors)

这是个啥问题呢。就是你写代码不是会有一堆常量吗,希望是不可被更改的,但是呢,小程序html要用得要通过setData。但是经过他之后什么常量都变成变量了。。。我们不希望这样。我们希望如果源头是常量,第一次setData没问题,但是设置好之后,无论是直接修改或者通过setData修改都应该报错,办法么就是hooksetData。但是吧这个函数和wx.xxx console.xx还不一样。他是page初始化之后才有的,而且是每个页面都独立的。。所以吗我们要用behaviors,把我们的hook代码注入到每一个

2021-01-19 10:06:29 734 1

原创 js console.log 如何release版本不打印

其实吗。。搞个全局变量,然后hook了console.log就行。但是有个啥问题,如果你直接hook,然后判断变量决定是否输出,你会发现一个问题,就是console.log对应的行号都是你hook函数那,而不是你写console.log的地方,这就很蛋疼了。。其实呢换个思路就行,小程序为例子。你启动的时候判断变量,如果不是debug,直接hook 把 console.log变成一个空函数就完事了 if(!DEBUG){ ((log)=>{ console.log = (m

2021-01-19 09:59:52 414

原创 小程序全局异常捕获

首先啊。这玩意其实是我网上查的一份代码简单改了改。。你说转载吧 好像也不太对。。就标了原创。。其实就是重写了Page函数,初始化的时候会遍历全部属性,找出全部函数,重写全部函数外面套一层try catch。。就那么回事获取到错误堆栈然后让后端给你个接口上报日志就哦了。。就这样吧Page = function(obj) { for (let key in obj) { let oldFunction = obj[key] // consol

2021-01-19 09:54:24 1977 2

原创 微信小程序定位showModal,showToast等

emm。不晓得你们遇到没,比如正常网络请求,如果不正常不管哪种不正常,都会提示一个错误,这时候如果客户报告了bug,就算你复现了,然后就发现你特么页不知道到底哪里报的错。。。。当然了,你可以说console.log 不是就知道了吗,问题是之前的人可能没写。。。真的是 贼无语。。于是吗 就希望那些wx的弹窗函数也能打印堆栈。。其实也不难 hook了就是了下面代码app.js onLaunch里面调用就哦了wx.showModal = (param)=>{ showModal(param)

2021-01-19 09:48:16 373

原创 k8s学习记录

0x0 前言什么是K8S?要明白这个问题,需要首先了解一些基础0x1 并行0x1.1 物理并行放眼现在,大家使用电脑一边听歌一边玩游戏一边看直播哪都不是事。那么当年比如30年前,还在使用dos系统的时候(没仔细考究dos是否真的不支持异步多线程等。。如果说错一笑而过),系统同一个时间只能同事运行一个程序,这时候你想一遍听歌一边玩游戏怎么办呢?解决方案就是多加一台电脑。当然这个方案现在来看肯定不够好。那现在怎么解决的,为啥我们可以一次性运行多个程序?0x1.2 进程对于进程...

2020-12-14 16:46:38 271

原创 PotPlayer突然无法播放ISO文件

今天我的PotPlayer突然打开ISO文件就直接卡死了(Windows 10)。。。。开始以为是远程问题啊软件问题啊巴拉巴拉反正很多方法都试了无果。。结果吗。。。。。PotPlayer播放ISO是要依靠Windows自带的虚拟光驱去加载的(Windows 7 不自带我没试过他能不能播放)但是不知道为啥,这个玩意GG了,所以也就不能播放了。。然后由于默认Windows 10 开了快速启动,大概意思就是当前内存会囤到硬盘,启动得时候直接恢复,不用重新初始化,就导致了。有些重启能解决的问题,关机,开机解决不了

2020-08-23 10:12:30 4938

原创 JavaScript 继承(十一)原型六

不好意思因为懒,,我懒得弄图,,就是代码+注释//之前的帖子 js原型(三) 和js 构造函数 继承 都已经说了继承,但都不是很好//目前推荐使用 如下方法function Foo(){ this.a = 1; Foo.prototype.b = 2; Foo.prototype.show = function(){ console.log(this.b) }}function Bar(){ Foo.call(this); this

2020-08-19 22:44:20 102

原创 JavaScript 继承(十)原型五

不好意思因为懒,,我懒得弄图,,就是代码+注释//前文得知 function 有 prototype 但是new出来的没有。//但是只要是对象 就是不管是function还是new出来的(除了Object) 都会有一个叫做 __proto__的东西//之前说过 new 就是先创建一个空对象然后 让他的prototype 指向 要创建的。然后初始化//但是呢 new出来的东西 又没有prototype这东西。那怎么办呢?//这时候就要用到这个叫 __proto__的东西了//通过 new 创建对象

2020-08-19 22:43:22 85

原创 JavaScript 继承(九)原型四

不好意思因为懒,,我懒得弄图,,就是代码+注释//写了三篇的prototype了 而且标题是js原型。。。。我不管反正也不是写论文出书。我就按我自己喜欢的方式叙述了。反正我写了三篇的prototype就是原型。。我也没离题。。。//首先js的对象分成 function 和 new O__O "…。。或者就是 function和其他。。。我下面就说new 。。这玩意打字方便。。//function 都会有一个prototype 。。但是 new 的 就没有function Foo(){ thi

2020-08-19 22:42:03 91

原创 JavaScript 继承(八)原型三补充

不好意思因为懒,,我懒得弄图,,就是代码+注释//js 原型 (三) 我提到了一下情况function Foo(){ this.a = 0; Foo.prototype.b = {x:1} //新增这一句 Foo.prototype.d = 5;}var foo = new Foo();function Bar(){ this.c = {x:2}}Bar.prototype = Object.create(Foo.prototype)

2020-08-19 22:40:33 79

原创 JavaScript 继承(七)原型三

不好意思因为懒,,我懒得弄图,,就是代码+注释//之前的帖子里我已经解释过 基本的继承方法function Foo(){ this.a = 0; Foo.prototype.b = {x:1}}var foo = new Foo();//写这句哈的原因还是 不写的话 Foo 没意义 自然也就不能Foo.prototypefunction Bar(){ this.c = {x:2}}//继承 Foo的 prototype上的内容Bar.prototype = Ob

2020-08-19 22:39:14 92

原创 JavaScript 继承(六)原型二

不好意思因为懒,,我懒得弄图,,就是代码+注释//首先 我们明白变量屏蔽 简单来说就是局部变量屏蔽全局变量//这事就不废话了。。//那么 如果 一个对象本身有 a 属性 他的prototype上也有会怎么样呢?//用代码说话function Foo(){ this.a = 0; Foo.prototype.a = 1;}var foo = new Foo();console.log(foo.a); //0//由此可见 本身的属性会屏蔽 prototype上的属性v

2020-08-19 22:37:46 113

原创 JavaScript 继承(五)原型一

不好意思因为懒,,我懒得弄图,,就是代码+注释function Foo(){ this.a = 0; Foo.prototype.b = 1;}var foo = new Foo();//首先明白一件事console.log(Foo.a);//undefiendconsole.log(foo.a);//0//Foo 只是一个你定义的函数。。。不能直接用。。。//看如下代码//getPrototypeOf 就是获取到对象的prototypeconsole.log(Ob

2020-08-19 22:36:11 91

原创 JavaScript 继承(四)构造函数 继承

首先来说,js和典型的oop语言如c++有一个很大的区别,js没有类的概念(ES6引入了class。。额。。class就是个语法糖)就好像js可以定义一个数组,每个元素都是长度相同的数组,以此来模拟二维数组一样,js对于类的继承也是如此。function A(val){ this.val = val;}如果我想定义一个B继承自A,最核心的需求就是要能使用 A 的所有内容,比如这里只有一个变量val。function B(val){ this.fun = A;//this.f

2020-08-19 22:34:51 146

原创 JavaScript 继承(三)call apply bind 简介

不好意思因为懒,,我懒得弄图,,就是代码+注释function fun(){ this.x = 2; this.show = function(){ console.log(this.x); } this.show2 = function(val,val2){ console.log(val+val2+this.x); }}var num = { x:1}var x = 10;var obj

2020-08-19 22:31:55 265

原创 JavaScript 继承(二)for in 和属性描述表

不好意思因为懒,,我懒得弄图,,就是代码+注释var arr = [1,2,3];//for in 可以遍历数组for(let key in arr){ console.log(arr[key])}var _obj = { "one":1, "two":2}//for in 也可以遍历objectshowObj(_obj);//其实for in 是会遍历 目标所有可枚举的值//通过Object.getOwnPropertyDescriptor 来查看 ar

2020-08-19 22:30:35 261

原创 JavaScript 继承(一)初识 get set

标题不好意思因为懒,,我懒得弄图,,就是代码+注释//getter 和 setter 都是一个隐藏函数,会在获取属性的值或者设置属性的值得实惠调用//不定义就是默认操作,也就是平时 使用的obj.a = 5 就是把obj.a设置成5//自己定义也可以,如果一个属性,你给他定义了 getter或者setter或者两个都有,这个属性会被定义成//访问描述符(还有一个叫数据描述符的,这两个玩意之后帖子再说),这次就先简单认识下var obj = { get a(){ retur

2020-08-19 22:26:52 241

原创 工作成长记录(二)悬浮按钮组件

说明我是一个还几乎没怎么用过框架的没写过什么项目,没多人协作写代码的经验的FW~~,所以以下内容只是我这个新手今天开始折腾的思考。。前言话说本来今天的计划是学习React,为做一个网页做准备了。突然又多了一个任务,需要在小程序的很多页面里添加一个悬浮按钮,效果类似iPhone那个球,可以随意拖动,然后会自动吸附到左边或者右边,点击出现蒙版出来其他功能按钮。使用自定义组件好多页面都需要,那不用说了肯定又是做成组件了。虽然我当下对组件的复用很方便并不是报太大希望。。微信官方组件最好的情况当然就是微

2020-06-15 18:03:08 407 1

原创 工作成长记录(一)组件相关思考

说明我是一个还几乎没怎么用过框架的没写过什么项目,没多人协作写代码的经验的FW~~,所以以下内容只是我这个新手今天开始折腾的思考。。为什么想着要做组件今天需要做一个搜索页面,展示特定数据。搜索页面85%和订单页面是相同的。都是订单的展示以及相关的各种功能,比如进入详情页面啊,修改备注啊等等。这样就需要大量复制代码。如果之后其中一个地方逻辑或者ui发生了改变,就要两个地方一起修改,如果这样的事情出现了很多次,心态要炸的。而且很容易漏,导致出现很多bug。然后想起来之前好像看到过vue,react这种有

2020-06-11 18:34:47 197

原创 编程之法:面试和算法心得 读书笔记(五) 字符的所有组合

如果要求所有组合,和排列的区别在于 “ab” 和 “ba"是一个组合。而且不能有相同的字符,也就是不能有"aa”。那其实。比之前的简单。。两个字符的字符串用两个二进制位表示。就是0-3ab00011011打印是1的对应的字符即可#include <stdio.h>#include <stdlib.h>#includ...

2019-03-26 22:16:06 139

原创 编程之法:面试和算法心得 读书笔记(四) 字符的所有排列

已知字符串的字符互不相同,输出他们的任意序列。比如 字符串是"ab"输出 “aa”,“ab”,“ba”,“bb”第一个字符第二个字符结果aaaababababbbb#include <stdio.h>#include <string.h>#include <stdlib....

2019-03-26 21:21:17 107

原创 xp 扫雷秒杀

扫雷大概来说就是墙墙墙墙墙墙墙雷墙墙雷雷墙墙雷墙墙雷墙墙墙墙墙墙墙一个二维数组 0x8fU表示雷 0x10U表示墙,那么思路就有了。我们只要扫描内存,就可以知道哪些是雷哪些不是。然后更具位置可以计算出,对应的雷的相对坐标(基于扫雷程序的相对坐标)。这要感谢扫雷不能缩放。。。。那么只要我们用...

2019-03-25 22:02:07 572

原创 编程之法:面试和算法心得 读书笔记(三) 字符串的全排列

全排列递归  首先来说递归方法是比较容易想到的。  比如 “abc”  首先作为字符串的第一位可以 是 ‘a’,‘b’,‘c’。剩下的字符串任然进行全排列。第一个字符剩下的字符1abc的全排列2bac的全排列3cab的全排列#include <stdio.h>#include <string.h>void ...

2019-03-24 20:55:33 116

原创 编程之法:面试和算法心得 读书笔记(二) 字符串的包含

变位词如果两个字符串的字符一样,出现的次数也一样,只是出现的顺序不一样,则认为两个字符串是兄弟字符串。比如,"abc"和"cba"就是兄弟字符串。#include <stdio.h>#include <string.h>#define BOOL int#define TRUE 1#define FALSE 0BOOL StrCheck(char * st...

2019-03-23 23:36:14 107

原创 解析 JS 数组设置length=0可以清空数组原因

之前发现 js数组设置 length = 0可以清空数组。。。感觉有点蛋疼。。就想折腾下v8源码看看。。var arr = [];arr.push(1);打印下arr的信息0x32ffdb88161: [JSArray] - map: 0x032f89a02d99 <Map(PACKED_SMI_ELEMENTS)> [FastProperties] - protot...

2019-03-22 22:55:21 5049 1

原创 编译调试 chromium/v8

只是为了了解下js就没必要折腾chromium了,我编译了一天。想调试发现,8g内存的mac直接爆炸。然后就整了v8也是一开始贪心。。。。给一组我的数据chromium:下载好源码解决好依赖反正就是 马上可以编译了, 12G编译花了10小时编译完毕之后一共102G。。。。。8gmac xcode想调试 反正是带不动 lldb直接吃满4g内存然后就死那了,而且xcode打开那么大的一个...

2019-03-22 22:50:19 1511 1

原创 进制(二)

上篇,已经说了什么是进制,以及别的进制如何转成10进制。比如 二进制 10 咱说的是1个二加0个一,这样的说法就已经是十进制了。。结果当然是十进制这次来说下,十进制怎么转其他进制。比如 3 转换成二进制,3 就是 1个二加1个一 就是 115转换成二进制 就是 1个四加0个二加1个一 就是1019 就是 1个八加1个1 就是 1001 。。。主要1 -> 1 2 ->...

2019-03-22 22:44:54 116

原创 进制(一)

十进制 就是用是个不同的字符来表示所有的数字,通过逢十进一即可完成。是个字符分别是 0 1 2 3 4 5 6 7 8 99 + 1 = 10 这个10可以拆分成 1 * 10 + 0*1123 可以拆分成 1 * 100 + 2 * 12 + 3 * 1由此得出结论 十进制 ABCD 就是 A * 10^3 + B * 10^2 + C10^1 + D10^0同理二进制101 就是...

2019-03-22 22:21:13 410

原创 编程之法:面试和算法心得 读书笔记(一) 字符串的旋转

单词翻转  输入一个英文句子,倒置单词顺序,单词不变,句子以空格隔开,不考虑标点。如:  输入:I am SeriousSnow what is your name  输出:name your is what SeriousSnow am I#include <stdio.h>#define STRMAX 1024//读取输入字符串int getString(cha...

2019-03-22 20:31:16 186

原创 简易则混合运算

就不用帖全部代码了把,核心代码都在了CCALC_NBL::CCALC_NBL(void){}CCALC_NBL::~CCALC_NBL(void){}bool CCALC_NBL::GetCalcResult(const char * str, int Len, double * result){ char calc_str[STRMAX] = { 0 }; if (Ini...

2019-03-22 15:21:21 248

原创 阿里云 搭建pure-ftpd tls

在阿里云 centos7.2 正确安装并配置了ftp之后,也开放了端口。但是发现FileZilla只能使用明文的FTP连接。而不能用tls。。经过一段时间摸索毫无进展。。最后发现。你只要把ftp默认端口改了就行了。。。。...

2019-03-22 12:24:45 630

转载 pixi 鼠标交互事件

1.鼠标左键触发事件:click:点击事件mousedown:鼠标按下mousemove:鼠标移动mouseout:鼠标移出mouseover:鼠标经过mouseup:鼠标松开mouseupoutside:鼠标按下,移出对象松开2.鼠标右键触发事件:rightclick:点击事件rightdown:鼠标按下rightup:鼠标松开rightupoutside:鼠标按下,移出...

2019-03-20 23:29:17 4437

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除