想必大家有听说过 Alist 或者是 CloudDrive,也许有的人正在使用
CloudDrive为一款网盘挂载软件,利用它将网盘映射到本地,实现最高画质访问我们的视频文件。对小白比较好,也比较方便。但是
也遇到了一些问题
挂载不是很稳定,有时会掉线
软件并未开源,所有的用户数据全部上传到了作者的云上,介意个人隐私不敢再用了
后台占用率不低,对低配机不是很友好
Alist+RaiDrive可以完美解决这个问题
(我自己平时在资源网站上找到的一些什么PS,PR教程的素材就可以直接到挂载到本地的网盘里去拿素材,不用下载到本地十分的方便)
始于2020年底的开源项目AList,在经过了2年的完善优化,可以称得上是CloudDrive完全替代品在Github上目前拥过20k的star,还有专门的中文官网:Home | AList文档中文讨论论坛:https://github.com/alist-org/alist/discussions可支持的网盘也十分的丰富,主流网盘全部都有
下面我来教大家如何配置
下载Alist:进入github release界面:https:/ ...
前端开发
未读方法一使用margin利用外边距将子盒子挤到大盒子的中间位置
缺点是大盒子的大小变化了,子盒子就无法实现居中,需要计算同步修改子盒子的外边距
1234567891011121314.father { width: 500px; height: 300px; margin: 100px auto; border: 1px solid #000;}.son { width: 200px; height: 100px; margin-left: 150px; margin-top: 100px; background-color: pink;}
方法二:位移 translate + 定位 position定位移动的距离参考的父级的大小
位移移动参考的距离是自己自身的大小
利用父相子绝,向右位移50%,向下位移50%,因为定位参考的大小是父级,这时就会超出了
向上反方向位移自身大小的50%这时子盒子就会居中显示
1234567891011121314151617 .father { ...
前端开发
未读版本控制版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术·实现跨区域多人协同开发·追踪和记载一个或者多个文件的历史记录·组织和保护你的源代码和文档·统计工作量·并行开发、提高开发效率·跟踪记录整个软件的开发过程·减轻开发人员的负担,节省时间,同时降低人为错误
版本控制分类集中版本控制svn
所有的版本数据都保存在服务器上,协同开发者从服务器上更新或上传自己的修改
所有的版本数据都存在服务器上,用户的本地只有自己以前所同步的版本,如果不连网的话,用户就看不到历史版本,也无法切换版本验证问题,或在不同分支工作。而且,所有数据都保存在单一的服务器上,有很大的风险这个服务器会损坏,这样就会丢失所有的数据,当然可以定期备份。代表产品:SVN、CVS、VSS
分布式版本控制git
所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。由于每个用户里保存的都是所有的版本数据,只要有一个 ...
typora笔记软件在插入图片时,需要图片在本地,否则图片就无法显示,有一些麻烦,但是如果搭配上图床,把图片上传到云端,就不会有这种烦恼了,只要是在有网络的情况下,就能正常显示
把文件发送给别人也能够正常显示
typora官方中文地址:(typora需要收费,具体修改方法请自行查询)
picgo下载地址
picgo下载,安装随意进入一个可以顺利下载的地址(以github为例)
进入assets资源区
选择与自己电脑系统相对应的安装文件
安装完成
picgo就暂时结束了,下面我们选择github作为我们的图床,因为github能上传超过1m的图片,而gitee只能上传小于1m的图片,上传超过1m的图片需要压缩,而且需要安装node.js,非常的不人性化
关于github的注册这里就不再过多的赘述
Github配置
1.创建一个新仓库 2.填写仓库名称和描述 ,必须选择public公开,否则存储的图片不能正常访问 3.进入设置进行配置
最后会生成一个token令牌,因为我已经有了一个了,这里就不再演示
注意 ...
vue对vue的理解Vue.js(/vjuː/,或简称为Vue)是一个用于创建用户界面的开源JavaScript框架,也是一个创建单页应用的Web应用框架。Vue所关注的核心是MVC模式中的视图层,由数据驱动视图,把重点放在操作数据上
1.vue的核心特征就是主要有三点
数据驱动,所谓的数据驱动就是 mvvm (Model-View-ViewModel )
Model:模型层,负责处理业务逻辑以及和服务器端进行交互
View:视图层:负责将数据模型转化为UI展示出来,可以简单的理解为HTML页面
ViewModel:视图模型层,用来连接Model和View,是Model和View之间的通信桥梁
2.组件化开发
把一整个页面拆成各个不同的组件,然后再整合在一起,实现各个功能,布局的隔离,降低整个系统的耦合度
调试方便,因为不同的功能布局是分离的在出现问题的时候就可以通过错误快速的定位源头,方便快捷的查找排查错误
提高可维护性和复用性,每个组件的职责是单一的
3.丰富的指令系统
指令 (Directives) 是带有 v- 前缀的特殊属性作用:当表达式的值改变时, ...
分享一些自己常用的js简写技巧,长期更新,会着重挑选一些实用的简写技巧,使自己的代码更简洁优雅~
这里只会收集一些大多数人不知道的用法,但是确实能提高自己的编码技巧,像ES6那些基础的简写语法或者是三目运算符代替if else那些我觉得是基础,没必要写在这里浪费精力。
注意本篇内容涉及到的语法从ES6到ES11不等,具体使用需要考虑项目兼容性问题!另外推荐一个只用一行代码实现一个方法的实用网站1loc.dev,githubIf-Else 用 || 或 ?? 运算符进行简化逻辑或操作符||,这里要注意的是0和’’也会认为是false如果||前面的值是0 ‘’ false null undefined NaN其中的任意一种,则直接返回||后面的值
12345678910111213141516171819javascript复制代码function(obj){ var a = obj || {}}// 等价于 =>>function(obj){ var a; if( obj === 0 || obj === ...
什么是作用域和作用域链?作用域(scope):简单来说作用域就是变量能够生效的一个范围,一旦超过了这个范围变量就无法访问
作用域链(Scope Chain):访问变量的一个查找过程,首先会在当前的作用域进行查找,查找不到就会返回到父级作用域来查找,若是依旧没有找到,就会依次逐级向上查找,直到全局作用域,变量访问的原则遵循就近原则
作用域的类型:
全局作用域
函数作用域
块级作用域
函数作用域在foo函数内声明了一个名字叫Jack ,在函数内访问打印,没有问题,但是在函数外无法访问到,name变量的生效范围只有函数的{ } 内这么大一块的范围
123456function foo() { let name ='jack' console.log(name); //jack }foo()console.log(name);//报错
块级作用域块级作用域可通过ES6新增命令let和const声明,所声明的变量在指定块的作用域外无法被访问。块级作用域在如下情况被创建:
在一个函数内部
在一个代码块(由一对花括号包裹)内部 ...
前端开发
未读为了减少资源请求次数,加快资源访问速度,浏览器会对资源文件如图片、css文件、js文件等进行缓存,而浏览器缓存策略又分为强缓存和协商缓存,什么是强缓存?什么是协商缓存?两者之间的区别又是什么?接下来本文就带大家深入了解这方面的知识。
强缓存所谓强缓存,可以理解为强制缓存的意思,即浏览器在访问某个资源时会判断是否使用本地缓存里已经存在的资源文件,使用本地缓存的话则不会发送请求到服务器,从而达到减轻服务器访问压力的作用,且由于直接从本地缓存读取资源文件,大大提高了加载速度。
强缓存的具体流程为:
浏览器第一次请求远程服务器的某个资源时,如果服务器希望浏览器得到该资源后一段时间内不要再发送请求过来,直接从浏览器里的缓存里取,则服务器可以通过在响应头里设置Cache-Control: max-age=31536000,max-age代表缓存时间,单位为秒,这里的数据换算过来就是一年,意味着在一年内浏览器不会再向服务器发送请求。
使用缓存的话,状态码200后面会标明情况。浏览器缓存资源的地方有两个:磁盘缓存(disk cache)和内存缓存(memory cache)。
当缓存时间到期后再次 ...
嵌套的圆角
在遇到内外两层圆角时,可以通过 CSS 变量动态去计算内部的圆角,看起来会更加和谐
核心代码
123456.parent { --anzhiyu-nested-radius: calc(var(--radius) - var(--padding));}.nested { border-radius: var(--anzhiyu-nested-radius);}
《css嵌套的圆角》在线运行1024code
视图转换动画 View Transitions API我们先从一个简单的例子来认识一下。
123456789101112<div class="list" id="list"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> < ...
1. 引言Git 作为现在最流行的版本管理工具,想必大家在开发过程中都会使用。由于 Git 中很多操作默认是采用 Merge 进行的,并且相对也不容易出错,所以很多人都会使用 Merge 来进行合并代码。但Rebase 作为 Git 中主要命令之一,我们还是有必要了解一下,在适合的场景中进行使用。
2. Rebase 的作用Rebase 中文翻译过来:变基,我觉得这个翻译挺生硬的,导致很多人没有彻底理解变基的含义。我个人把 Rebase 意为 认爸爸,比如可以 Rebase 到马爸爸分支上,成为他的合理继承人。 上图为一次 Rebase 的情况,可以看到最终效果仿佛 Feature 分支没有存在过,新提交的 Commit 像真的在主分支上提交一样。而如果我们用 Merge 就会产生一个合并节点: 可能只看到一次合并所产生的 Commit 节点并没有什么,但实际项目中大概率会变成这样: 简直是乱的一批,仿佛看到了多年前其他人写的一堆代码,啥啥啥,这都是啥!反过来看看采用 Rebase 开发的真实项目,没有对比就没有伤害: 这也是为什么尤雨溪也比较推荐使用 rebase的原因: ...