Ryan Shang

生死看淡,不服就干

0%

整理记录下个人常用的各平台的应用软件:

1. 日常工具类

名称 备注 网址 Windows Mac Linux
Motrix 下载工具 https://motrix.app/zh-CN/
Xmind 思维导图 https://www.xmind.net/
draw.io 流程图工具 https://www.draw.io/
Gas Mask host管理工具 https://github.com/2ndalpha/gasmask
New File Menu Free 新建文件工具 App Store
Go2Shell 在访达当前路径打开终端 https://zipzapmac.com/Go2Shell
Hyper 终端 https://hyper.is/
oh-my-zsh 终端配置工具 https://ohmyz.sh/
Windows Terminal 终端 https://github.com/microsoft/terminal
Listary 快捷启动工具 https://www.listary.com/
Alfred 快捷键效率工具 https://www.alfredapp.com/
Typora Markdown编辑器 https://www.typora.io/

2. 影音娱乐类

名称 备注 网址 Windows Mac Linux
listen1 吃饭工具0.0 https://listen1.github.io/listen1/
HandBrake 视频转码编辑软件 https://handbrake.fr/
Potplayer 视频播放器 https://potplayer.daum.net/
IINA 视频播放器 https://iina.io/
VLC Media Player 视频播放器 https://www.videolan.org/vlc/index.zh.html
阅读全文 »

突然之间,就想写点东西。

有人问过我,为什么选择北漂?

当时自己嘴上的回答很简单:自己的行业在西安找一份高工资的工作不容易,尤其是自己还处于处起步阶段,是个前端界的小学生。

其实,说心里话,当时自己心里也没有答案。

这么一两年过去了,可能心里面也有了答案。

阅读全文 »

在面试中遇到了这么两道题,当时没有做出来,挺有意思,记录下来。

一、数组中找出项的组合

1
从一个数组中找出几个项和为M的所有可能。

当时乍一看想到把所有情况枚举一边,但是仔细看不知道怎么下手,回来仔细想了下,确定了个思路,可以把每一个组合转化成二进制,比如[1, 2, 3, 4]中数组第一项和第三项的组合就可以用1010表示,这样就可以快速列出所有组合的情况,然后算出对应项的和,等于M的就返回。

这个思路需要解决这么几个问题:

阅读全文 »

call、apply和bind常用来显示改变函数运行环境中的this指向,这几天突发奇想如果call.call、bind.bind和bind().band()会是怎样的结果,先记录一下,给出一下我现在认为的结论,后面有时间了,深入研究下。

公共

1
2
3
4
5
6
7
8
function fn01 () { console.log('fn01:', this); }
function fn02 () { console.log('fn02:', this); }
let obj = { fn: fn01 }
let fn03 = obj.fn;
fn01(); // fn01 window
fn02(); // fn02 window
fn03(); // fn01 window
obj.fn(); // fn01 obj

这其中定义了两个函数fn01和fn02以及一个对象,每个方法右面注释是执行主体和this指向。上面的几种是比较常见的情况。

call

阅读全文 »

JavaScript中总会出现很多有意思的小地方,这里会把我遇到的问题进行总结,并不定期更新。

1. 函数提升和变量提升的优先级?

函数的执行一般有这么几个步骤:

  1. 开辟一个私有作用域
  2. 形参赋值
  3. 变量提升和函数提升
  4. 代码按顺序执行

其中第三步,函数声明的提升优先级要高于变量提升。

阅读全文 »