- 博客(55)
- 收藏
- 关注
原创 微信小程序源码扒取
有时候看到一个有趣的小程序,总想去研究研究。就像把看看他们的源码。本文记录如何获取一个小程序的源码。获取小程序的包原理:小程序的包形如:xxxx.wxapkg。在加载一个小程序后,会将小程序的包拉到本地,所以可以通过在本地把wxapkg包拿到,再反编译出来。以下为window按照安卓模拟器的方式。1.下载模拟器并登录微信模拟器:http://mumu.163.com/360/安装微信,ER文件管理设置ER文件管理器的root权限3. 在微信中打开一个小城,并在ER文件管理器中找到对应
2022-01-10 01:09:53
3673
原创 css非常简单的打码效果
发现一个有趣的非常简单的打码效果<style> .hide-content { color: transparent; text-shadow: #111 0 0 6px; user-select: none; }<style>
2021-11-30 20:20:04
1064
原创 npm adduser的使用方法
npm adduser 功能添加注册表用户账户npm adduser使用npm adduser [--registry=url] [--scope=@orgname] [--always-auth] [--auth-type=legacy]aliases: login, add-usernpm adduser说明创建或验证<username>在指定注册表中命名的用户,然后将凭据保存到.npmrc文件。如果未指定注册表,则将使用默认注册表。用户名,密码和电子邮件是从提示中读取的。
2021-06-20 17:50:03
16620
原创 钢琴音符大全
文章地址地址:http://www.360doc.com/content/17/0501/23/42520212_650171362.shtml休止符音阶
2021-06-06 19:17:40
1021
原创 npm access详解
npm access使用npm access public [<package>]npm access restricted [<package>]npm access grant <read-only|read-write> <scope:team> [<package>]npm access revoke <scope:team> [<package>]npm access 2fa-required [<
2021-06-06 13:30:53
1063
转载 npm version使用方法
npm version使用方法version每个npm包都有一个package.json,如果要发布包的话,package.json里面的version字段就是决定发包的版本号了。version字段是这样的一个结构: ‘0.0.1’, 是有三位的版本号。分别是对应得version里面的:major, minor, patch。也就是说当发布大版本的时候会升级为1.0.0, 小版本是0.1.0, 一些小修复是0.0.2。npm version为了方便用户更改版本号,npm有npm version这
2021-06-01 01:43:20
2732
原创 eslint配置详解
前言最近在实习期间犯了几个很弱智的错,一方面是自己的不小心, 另一方面也是项目的代码规范性检查不好。为了实现项目代码的规范性,降低出错率。 自己特别提出在commit之前加上一个eslint的代码检查,以确包上线代码中不会出现很低级的错误。开始git有一种钩子机制, 例如这里我们即将用到的pre-commit.首先我们需要安装pre-commit: npm install pre-comm...
2019-04-30 09:44:56
5605
原创 一个项目中的common.js文件,仅以做收藏
(function () { var oldAjax = jQuery.ajax; var EMPTY = {}; var defaultOpts = { contentType: 'application/json', dataType: 'json', processData: false, beforeSend: function (jqXHR, ...
2019-01-25 17:00:20
1603
原创 Vue源码内部函数调用流程图
前言最近在努力学习Vue源码, 其中发现了两个可以学习的文档:Vue技术内幕Vue技术揭秘如果对Vue的源码比较感兴趣, 建议看这两个地方观后感如下是历时接近3周得来得内部调用流程图, 也算是对这3周得一个交代...
2019-01-25 16:50:33
1174
原创 js中的继承
前言在js中, 对象就是键值对的集合.形如:{键1:值1,键2:值2}. 看起来很简单的样子, 但是提起笔想要在js中使用面向对象的方式来编程时, 就有点力不从心了.始终感觉对js的面向对象的继承理解不是很清楚.在红宝书中有很多的继承方式. 无奈理解不到位, 记也记不住. 最近看了gulp源码,发现它就是把Gulp写成了构造函数的形式.地址:Gulp其中在Gulp内部调用了Undertaker...
2019-01-23 17:11:59
472
原创 突然发现的F11全屏 API
如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><style> .test { wi
2018-11-02 16:00:54
833
原创 python3 爬取网易云音乐的热评
前言最近对网络爬虫有点感兴趣, 就简单的学习了一下python。, 并打算以爬取网易云音乐热评作为一个小项目练习。思路爬虫的思路其实很简单, 就是像浏览器一样发起一个请求, 获取相应的数据, 然后对获取的数据进行分析, 获取到我们想要的数据。本身也是第一次写爬虫, 不能撸起袖子就干, 还是需要去看看别人的经验。 所以, 我也看了几篇爬取网易云音乐的爬虫, 链接。说白了就是跟着他们的博客写的...
2018-10-14 15:09:14
980
原创 简单实现Vue数据双向绑定
前言在现在的mvvm框架中, 有一个很普遍的功能 就是数据的双向绑定, 即响应式。那么这样的功能是怎样的实现的呢? 在阅读了染陌同学的《剖析 Vue.js 内部运行机制》后, 在这里复习一下。实现原理比较简单, 就是通过Object.defineProperty将需要响应式的对象的属性设置为get和set, 并在get所在闭包中, 通过dep对象进行依赖收集; 在set中调用dep中的not...
2018-09-24 14:32:14
396
转载 从chrome源码看浏览器如何加载资源
对浏览器加载资源有很多不确定性, 例如css/font的资源的优先级比img高, 资源的优先级是怎么确定的呢?资源的优先级又是如何影响到加载的先后顺序的?有几种情况可能会导致资源被阻止加载?通过源码可以找到答案。 此次源码解读基于Chromium64下面通过加载资源的步骤, 一次说明。1. 开始加载通过以下命令打开chromium, 同时打开一个网页chrominm -- re...
2018-09-23 15:58:07
3341
原创 小米秋招2019算法题——求下雨时能积多少水
题目给出一组数组, 表示一组宽为1的小方块的高度。 求下雨时, 可以积水多少一张很有灵魂的图:示例:输入: [0,1,0,2,1,0,1,3,2,1,2,0]输出: 6我的答案function MiTwo(arr){ //一层一层的思考 let arr1 = [...new Set(arr.concat([]).sort(function(a,b){return...
2018-09-20 22:22:10
671
原创 2019小米秋招算法题——无限数列
题目有一个无限数列: 1,2,3,3,4,4,4,5,5,5,5,5,…, 相同的数字排成一行。给出数列中的第n个数, 得出该数所在行之前行的数字个数。例如:输入:6结果为:4我的答案该题目, 数字有点少, 如果没有意识到, 还真的比较难发现。1一个, 2一个, 3两个, 4三个, 5五个有没有发现这其实一个是斐波那契数列。所以可以得到6八个。现在回过来看示例中的输入与输出,...
2018-09-20 21:41:47
941
原创 字节跳动第四场笔试算法题——简化路径
题目一个unix格式的路径, 将其简化例如/a/ //简化结果为: /a/a/././b/../../c简化结果为:/c我的答案看到这种字符串一类的题目, 就忍不住想用正则表达式完成, 如下function getPath(str) { let reg1 = /\.\//g let reg2 = /(\/){2,}/g let reg3 = /...
2018-09-20 21:24:54
1519
原创 2019届阿里巴巴模拟题在线编程题二
题目 不使用任何其他库, 实现一个方法, 用于表格排序, 如下<table border="1px"> <thead> <tr> <th>name</th> <th>age</th> </tr>
2018-09-05 18:37:22
459
原创 2019届阿里巴巴模拟题在线编程题一
题目 实现一个 css示例:// 参考规则const rules = { 'a': { height: 0, width: 10 }, '#page .content a': { height: 5 }, '#page a': { height: 10, di...
2018-09-05 17:47:59
853
原创 记录自己第一个npm 包的发布
前言之前一直对发布一个包很感兴趣, 但是不知道发些什么内容, 最近工作的内容需要用到正则表达式. 对于正则, 会写的人, 想写啥写啥, 不会的人就只能各种搜索.于是我就简单的写了几个常用的正则表达式, 作为一个模块, 发布到了npm上, 内容简单, 也算是给自己练练手.过程这里只简单写了一些过程, 如下:编写一个模块注册一个npm帐号通过年npm adduser 添加npm帐...
2018-08-30 09:22:58
179
原创 我的vscode设置
前言之前一直在使用windows开发, 最近跑到了centos上, 编辑器使用了vscode,之前搞自己的编辑器搞了很久, 结果又需要重新搞. 为了使用background这个插件, 以管理员的方式运行了vscode, 那些设置又没有了, 所以直接把之前非管理员运行的vscode的设置复制粘贴了以下, 妙好! 所以感觉有必要把自己的vscode的设置记录以下, 以便以后方便.如下{...
2018-08-29 10:38:18
517
原创 跳动字节19校招第二次在线笔试--第一题
题目:大概题意如下: 出去玩, 需要分组, 每个人写好自己认识的人的名单,如果A的名单里有B, B的名单里有A, 表示两个人相互认识; A的名单里有B,B的名单里有C, A可以和C间接认识。 分组的规则是, 如果两个人相互认识, 或者能间接认识, 就可以分为一组。 现给出人N个, 和他们的名单, 求出能最少分多少个组。 用例如下:var n = 10;//一共10个人...
2018-08-25 12:49:55
2098
原创 Gulp简单学习
Gulp 特点易于使用构建快速插件高质量易于学习安装全局安装: npm install –global gulp作为项目开发依赖安装: npm install –save-dev gulp运行gulp在项目根目录创建一个名为gulpfile.js的文件使用gulp命令运行: gulp (运行默认的任务)原理在gulpfile.je或gulp...
2018-08-08 14:44:24
231
原创 node.js模块文件查找
如何查找node.js中, 我们加载一个模块需要使用require命令。 其中这个传入require中的字符串可以分为三类: 1. require(‘fs’) 加载系统核心模块, 该模块在程序一开始就加载进入到内存中, 直接使用, 不需要在加载。2. require(‘./test.js’) 相对路径 , 在相对当前路径,查找test.js文件3. ...
2018-07-28 16:17:14
3023
原创 javascript模块化
前言在目前的前端开发中, 常用的模块化主要是commonJS和ES中的Module。本文也主要是谈谈这两种模块化方式。commonJS该模块化方案主要用于node.js的后台服务器开发。 由于加载文件时, 很快就不存在异步问题。该方案中, 使用exports和module.exports导出模块。该模块导出为一个对象。 使用require方法导入模块。 在node执行到require时...
2018-07-28 00:43:08
244
原创 javascript之垃圾回收机制
前言javascript自身带有垃圾回收机制, 所以不需要我们自己手动的回收内存。 垃圾回收机制会按照一定周期运行。 垃圾回收具体有那些方式呢? 又是怎做的呢?垃圾回收机制目前javascript引擎中的垃圾回收机制, 主要是两种: 1. 标记清除 2. 引用计数标记清除从名字可以看出, 这里有两个动作:标记出需要清除的、具体执行清除动作。工作原理: 当变量进入执行环...
2018-07-27 13:03:49
1212
原创 看看Array.property.reduce是如何实现的
前言由于自己对数组方法的reduce函数不熟悉, 所以就决定好好学习一下reduce方法。 在MDN好好看了它的用法。 并把它的polyfill好好阅读了一下。 以下是polyfill的实现, 和自己的注释。 正文if(!Array.prototype.reduce){ Object.defineProperty(Array.prototype, 'reduce', {...
2018-07-26 18:10:39
691
原创 javascript之Object详解
前言在javascript中, 对象是我们都在用的, 但是呢,并不是每个人都对Object十分了解。 本文也是在自己对Object记忆有点模糊之后,重新复习的产物。对象的操作关于说对象是啥, 这里就不赘述了。 直接入正题。关于对象, 我们一般会进行哪些操作?1. 对象的创建2. 对象属性及属性值的设置3. 对象属性值的获取、修改4. 对象的遍历5. 对象属性的删除6....
2018-07-26 16:43:30
953
原创 记2019届阿里校招第一面
前言这是一个非常意外的事, 本来已经感觉没有机会了。 结果今天就突然接到了一个来自杭州的电话。 就意外的开始了我的第一次电话面试。 先是让我准备十分钟, 十分钟之后才开始, 找了一个安静的地方, 然后简单准备了一下自我介绍。 就等待面试的来临。面试中的问题文章不准备些写太多, 就是记录一下其中被问及的问题。 1. 自我介绍 2. 简单问了一下以前写的项目 3. 跨域问题, 我主要...
2018-07-25 20:02:45
3604
原创 词法分析--一个函数的执行过程
前言先出一个十分常见的题目, 如下:var age = 99;function t() { console.log(age) var age = 100}t()很明显, 这个题目会打印出undefined。 那么为什么呢? 很多人都会说: 因为变量提升啊, 这个时候没有赋值啊, 所以是undefined。 说的对, 那么变量提升又是怎样产生的呢?一...
2018-07-25 13:55:13
545
转载 js隐私转换
js隐私转换 http://www.cnblogs.com/ljk001/archive/2017/12/22/8086084.html
2018-07-23 16:15:24
380
原创 2019届阿里巴巴提前批内推在线编程题
前言先说结果: 结果是失败的, 在线编程限定30分钟。 而我实际作出来的时间慢了10分钟。题目设计的一个函数, 使其存入一个数组, 在函数内部执行先后执行数组的函数(异步的), 并把结果返回。 上代码:const timeout = ms => new Promise((resolve, reject) => { setTimeout(() =>...
2018-07-19 20:25:53
7759
转载 axios使用手册
AxiosAxios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。Features从浏览器中创建 XMLHttpRequests从 node.js 创建 http 请求支持 Promise API拦截请求和响应转换请求数据和响应数据取消请求自动转换 JSON 数据客户端支持防御 XSRF浏览器支持安装使用...
2018-07-17 17:13:55
194
原创 简单实现一个Promise
Promise的构造函数function Promise(fn){ const self = this //在执行then注册函数时, 传入的函数中需要被this调用, 但是 this.status = 'pending' //状态 this.value //值 this.onResolvedCallback = [] //prom...
2018-07-17 12:04:54
3025
1
原创 Promise基本使用
promise是啥就不做介绍了, 直接入正题基本使用var p1 = new Promise((resolve, reject) => { //异步操作, 异步完成调用resolve改变状态, 失败调用reject改变promise的状态 setTimeout(()=>{ resolve(1) }, 0) })//返回一个pro...
2018-07-16 20:39:15
204
原创 js获取宽高
有一个问题且看题目, 写的是获取宽高, 所以应该有一个隐含的谓语, 获取谁的宽高?本文中, 要获取三个东东的宽高。 所以没有写谓语。 获取哪三个的宽高屏幕浏览器window窗口页面元素获取屏幕的宽高对于一个页面, 最外层对象是window。 在window对象上有一个screen对象。 该对象中存有关于我们电脑屏幕的信息。关于宽高的信息如下window....
2018-07-14 16:11:50
1140
原创 react项目从零开始
创建webpack项目运行npm init -y在项目跟目录下创建src源代码目录和dist产品目录在src目录下创建index.html和index.js文件安装webpack webpack-cli在根目录下创建webpack的配置文件webpack.config.js配置webpack.config.js文件运行webpack安装webpack-dev-server运行...
2018-07-14 13:11:32
520
原创 跨浏览器问题
写在前面的话关于跨浏览器问题一直是一个大问题, 所以我决定在此做一个记录, 当然不可能把跨浏览器问题一下子都搞定, 所以该文章将是一个长期的过程, 当coding时遇到了, 就会完善该文。 添加事件var EventUtil = { /* *添加事件 */ addHandler: function(element, type, handler)...
2018-07-14 12:46:13
571
原创 http之缓存
前言http用于web应用传输数据, 但是呢, 并不是所有的数据都会从源服务器获取, 因为这样有可能浪费宽带, 也增加了服务器的负担, 毕竟多次重复处理相同的请求还是不必要的。 为了解决这个问题, http有了一个叫缓存的东西。 且看下文一、与http缓存相关的首部字段通用首部字段Cache-contorl —— 用于控制缓存的行为 Pragma——http1.0遗留下来的...
2018-07-13 17:56:04
296
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人