如何批量 git pull 某个文件夹中的 git 仓库?

2022-11-14
阅读 1 分钟
2.8k
上代码用 shell 脚本可以比较方便实现:首先新建脚本:pull-all.sh {代码...} 填入如下内容: {代码...} 然后改一下权限: {代码...} 接下来就可以直接运行了: {代码...} 也可以不跟参数,会提示你输入目录~注意这里要输入绝对路径(可以 pwd 获取),否则会只有第一个 pull 成功~神不神奇~哈哈,上面的代码前半部分是...
封面图

动图学CS: 有用的 Git 命令(上)

2020-05-07
阅读 3 分钟
4.1k
尽管 Git 是一个非常强大的工具,但是我相信大部分同学有时候学起 Git 来,感觉很难搞~ 笔者总是习惯于在脑海中重现学习的知识,Git 也一样:当我们执行了切换分支命令,分支之间是如何交互的?又是如何影响历史提交的?当我在 master 分支上执行了强制 reset 又 force push 到了远端 ,又把 .git 文件夹删掉,我的同事...

图解你身边的 SOLID 原则 - JS 实例版

2020-04-23
阅读 4 分钟
3.3k
上次笔者翻译了一篇图解 SOLID 原则 原文见: 图解你身边的 SOLID 原则 过了两天发现有人为那篇文章补充了 JavaScript 例子,看了下例子还不错,这次就顺便也翻译一下哈,部分例子有删改~ 关于概念部分就不多说了,看上一篇或者看图就好~ 那么直接进入正题: S - 单一职责原则 例子 我们假设需要验证一个表单,然后将用...

图解你身边的 SOLID 原则

2020-04-15
阅读 2 分钟
8.4k
这篇文章我们来简单介绍一下 SOLID 原则(这五个字母代表了面向对象编程的五个基本原则) 我们用身边的事物来举例,让它们更易于理解和记忆。 好啦,开始吧~ S - 单一职责原则 Single Responsibllity Principle - 即 SRP 一个类只能承担一个职责。通俗点儿说就是一个类只能承担一件事,并且只能有一个潜在的原因去更改这...

浅析 FP:JavaScript 中的纯函数

2020-03-30
阅读 3 分钟
3.8k
前言 纯函数 是一个常见的概念,在日常工作中也经常会遇到,它其实非常简单,今天我们来了解一下它的好处以及为什么要使用它。 两个特点 一个函数,如果符合以下两个特点,那么它就可以称之为 纯函数: 对于相同的输入,永远得到相同的输出 没有任何可观察到的副作用 相同输入得到相同输出 我们先来看一个不纯的反面典型...

浅析 JS 设计模式之:工厂模式

2020-03-24
阅读 3 分钟
2.3k
工厂模式是一种创建对象的 创建型模式,遵循 DRY(Don't Repeat Yourself)原则。在该模式下,代码将会根据具体的输入或其他既定规则,自行决定创建哪种类型的对象。简单点儿说就是,动态返回需要的实例对象。

webpack 小技巧:动态批量加载文件

2020-03-18
阅读 3 分钟
6.7k
背景 最近笔者在工作中遇到了一个小需求: 要实现一个组件来播放帧图片 这个需求本身不复杂,但是需要在组件中一次性引入十张图片,就像下面这样: {代码...} 作为一个有代码洁癖的程序员,我是不允许这种重复性代码存在滴,于是乎就尝试有没有什么简单的方法。 方法一:绕过 webpack 由于笔者用的是 vue-cli 3,熟悉的...

浅析 JS 设计模式之:单例模式

2020-03-02
阅读 2 分钟
5.3k
良好的设计模式可以显著提高代码的可读性,降低复杂度和维护成本。笔者打算通过几篇文章通俗地讲一讲常见的或者实用的设计模式。 今天先从最简单的一个入手:单例模式。 文中的示例代码会使用 ES6 语法,尽量简化不必要的细节 概念 单例模式(Singleton)属于创建型的设计模式,它限制我们只能创建单一对象或者某个类的...

你可能忽略的 async/await 问题

2020-02-16
阅读 3 分钟
5k
async/await 大家肯定都用过,在处理异步操作的时候真的是很方便。 如果有还不熟悉的小伙伴可以看笔者之前的文章: 带你理解 async/await 那今天主要讲一些在使用 async/await 时容易忽略和犯错的地方。 一个例子 下面是一个常见的 Vue 代码片段: {代码...} 上面的代码中,每一行都会 等待上一行的结果返回后才会执行。...

写给 Web 工程师的设计入门

2020-01-22
阅读 4 分钟
3.2k
今天分享一篇 设计过程 的入门~ 其中也包含一些有用的 设计网站。如果你你想知道如何完整设计一个项目,可以一起来看下~ 在本文中,将以设计一个 CMS 系统界面为例,介绍针对 web 开发中的通用设计流程。 CMS,全称 Content Management System,即内容管理系统 搭建环境 原文作者使用的是 Adobe XD(它是完全免费的)中...

动图学 JavaScript 之:原型继承

2020-01-15
阅读 4 分钟
3.4k
你是否曾思考为什么我们能使用 JS 中的一些内置属性和方法,比如 .length,.split(),.join()?我们并没有显式地声明它们,那么究竟它们从哪里来的呢? 可不要说什么“那是 JS 中的魔法!”。其实这些都因为一个叫做 原型继承(prototypal inheritance) 的东西。它太棒啦,你平时也经常会用到,只不过可能没有注意!

动图学 JavaScript 之: JS 引擎原理

2020-01-07
阅读 3 分钟
6.2k
JS 实在是太酷了(认真脸),那你有没有想过机器是怎么解析 JS 代码的?作为一个 JS 开发者,一般我们不需要直接跟编译器打交道,但是如果可以了解其中的基本原理,相信会对以后的工作和学习都有帮助的!

动图学 JavaScript 之:事件循环(Event Loop)

2019-12-31
阅读 3 分钟
10.5k
我们都知道 JavaScript 是一门 单线程 的语言:同一时间只能运行一个任务。通常情况下这没什么问题,但是如果你有一个任务需要耗费 30 秒的时间,那其他任务难道都要等它 30 秒么?(由于 JS 运行在浏览器的主线程,所以这 30 秒的时间里,整个页面都会处于卡死状态)

动图学 JavaScript 之:作用域链(Scope Chain)

2019-12-23
阅读 3 分钟
4.3k
一个例子 今天我们来用介绍一下 JS 中的作用域链,先来看一段代码: {代码...} 上面调用了函数 getPersonInfo,然后返回了一个包含 name,age,city 的字符串: Sarah is 22 and lives in San Francisco。 但是 getPersonInfo 这个函数中并没有 city 变量,那么它是怎么访问到 city 的呢? 首先,不同的执行上下文会分配...

动图学 JavaScript 之:声明提升(Hoisting)

2019-12-16
阅读 3 分钟
3.2k
JS 由于语言设计的缺陷(工期不够?),里面有一些堪称神奇的特性,初学者碰到后可能会满脸黑人问号,今天要介绍的就是其中的一个特性:声明提升(Hoisting)。

你可能不知道的 JS 特性:可选链

2019-12-09
阅读 2 分钟
8.6k
今天我们来介绍一个你可能没见过的 JS 新特性,目前处于 Stage 3 阶段,它叫作 可选链(optional chaining),它可能解决很多人都面对过的痛点,让我们来了解这下~

写给前端的正则表达式入门

2019-11-29
阅读 2 分钟
11.9k
常用的跟正则相关的方法有 match、test 和 replace。其中 match,replace 都是字符串上的方法, test 是正则对象上的方法。

18 个提高生产力的开发者工具

2019-11-22
阅读 2 分钟
7.3k
本篇介绍一些提高生产力的工具,包括网站、浏览器插件、VSCode插件和命令行工具~ 网站篇 Bundlephobia 如果你想要安装一个新的依赖,这个网站可以查看这个依赖的大小、是否支持 tree-shaking 等各项指标。(仅限 npm 包哈) [链接] Coolors 还在发愁自己某个项目的配色?可以来这个网站找找看。 [链接] Carbon 可以把代...

使用 git-flow 自动化你的 git 工作流

2019-11-18
阅读 5 分钟
8.3k
上面的图看不懂没关系(我也不懂==),今天讲的是根据这个分支模型开发的 git-flow 命令行工具。只需要记住几个简单的命令,就能在工作中慢慢理解和应用这个分支模型~

写给 Web 工程师的 DNS 知识入门

2019-11-08
阅读 3 分钟
5k
你是不是对 DNS 记录的一些概念不太了解,比如 A 记录、CNAME、AlIAS 等。。 下面让我们一起来学习一下~ 1 简介 为了访问 www.savokiss.com 这个域名,你的电脑需要知道服务器在网络中的位置。 这意味着:你的电脑必须知道 IP 地址才能跟服务器进行通信。 而域名系统 (Domain Name System) 正是为解决这个问题而生。 2 ...

你可能不知道的 JSON.stringify 用法

2019-10-31
阅读 2 分钟
4.1k
JS 中有许多常见的函数,我们可能每天都在使用它们,但是却不知道它们的一些额外功能。JSON.stringify 就是这样的一个函数,今天就来看下它的特殊用法。

你可能不知道的 10 个 Chrome DevTools 技巧

2019-10-22
阅读 2 分钟
3.1k
Chrome DevTools 对前端工程师来说,几乎每天都会用到,但是有些技巧你可能不知道,让我们来了解一下吧~ 1. 轻松获取某个审查元素的引用 打开控制台,在 Elements 界面下,对着某个 dom 标签点击右键,选择 Store as global variable。 2. 创建并钉住一个动态表达式 你可以在控制台创建一个动态表达式,并且把它钉到控制...

Verdaccio 使用 Docker 安装及迁移教程

2019-10-14
阅读 3 分钟
9.3k
Verdaccio 是一个 npm 私有源,代码在 GitHub 开源,公司由于业务需要使用也有一段时间,非常稳定,社区也很活跃。入门可以看我之前写的一篇文章:

CentOS 7 使用 docker 安装 typecho 博客系统

2019-10-07
阅读 5 分钟
7.5k
我的博客 [链接] 用的是 typecho,一直使用的是 阿里云ECS 直接安装的 MySQL 和 PHP,由于买的时间比较早,当时用的是 CentOS 6.5。后来想玩 docker,发现 docker 只支持 CentOS 7+,加上之前的系统上东西太乱了,所以这次有时间就将数据库和 typecho 源码备份了一下,然后换了一个纯净的 CentOS 7.6 的镜像。由于我买的...

提高效率的 10 个 Git 小技巧

2019-08-16
阅读 2 分钟
4.8k
1. 从某个分支检出单个文件 你是否有过破坏了某个文件,想要重新开始?或者需要的文件在另一个分支中?下面的命令让你直接从某个分支取到那个文件。 {代码...} 你也可以从某个 commit 中取到 yarn.lock 文件 {代码...} 相比 cherry-pick 拿到某个 commit 的所有文件,这个技巧可以只拿到想要的那一个文件。 2. 查看日志...

带你理解 Git 中的 Merge 和 Rebase

2019-08-07
阅读 2 分钟
5.7k
下面假如我们有如下提交,merge 会将两个分支的代码合并,而 rebase 会将 feature 分支上所有的变更在 master 分支上重新应用一遍:

[译] 写给前端工程师的 Docker 入门

2019-07-28
阅读 5 分钟
8.8k
过去的我们,当业务发展需要部署新的应用时,DevOps 小伙伴通常会去买一台服务器,但是却不知道这个新应用具体需要多高的配置,往往都会造成资源浪费。

教你 30 秒发布一个 TypeScript 包到 NPM

2019-07-21
阅读 2 分钟
9.5k
发布过 npm 包的同学都知道,初始化一个 npm 项目,直接用 npm init -y 就可以了,那如果要用 ts 呢,直接 tsc --init 即可。这两个操作会生成 package.json 和 tsconfig.json 文件。然后我们按以下步骤修改一下配置:

[译]ES6 模块化入门

2019-07-14
阅读 4 分钟
3.7k
在 ES6 之前,我们已经知道了 RequireJS,AngularJS 的依赖注入,以及 CommonJS,具体可以看笔者的上一篇文章《JS模块化历史简介》。当我们学习 ES6 的模块化,就会发现它的发展深受 CommonJS 的影响。通过这篇文章,我们将看到 export 和 import 语句,以及 ES6 模块是怎么与 CommonJS 模块兼容的。

[译]JS 模块化历史简介

2019-06-27
阅读 4 分钟
5.3k
在早些年间,JavaScript 就是直接写在 HTML 的 <script> 标签里的,最多也就是放在独立的文件里面,而它们也都共享一个全局作用域。