远子 💖 Vina

读Vite源码

远子 •  2021年05月26日 • 1 条评论

Vite 很快

下边来创建一个 vite 项目:

npm init @vitejs/app

根据指引,输入项目名称后选择 vue 框架,输出如下:

- 阅读全文 -

阿里云OSS绑定自定义域名

远子 •  2021年05月11日 • 评论

poppython 的静态资源托管在阿里云OSS,前段时间使用的 bucket 域名 poppython.oss-cn-beijing.aliyuncs.com 失效了。好像是因为国家要求OSS必须使用自定义的域名,且HTTPS。

这篇文章记录一下我把阿里云提供的 https://poppython.oss-cn-beijing.aliyuncs.com 改为自定义域名 https://static.poppython.com 的过程。

- 阅读全文 -

记一次npm错误排查过程

远子 •  2021年05月10日 • 评论

背景:

最近公司里的新项目升级到了 vue3,项目中使用到了 @vue/cli-service@4.5.12 的版本。

在本机开发过程中一些畅通,但是通过公司的部署系统打包的服务器的时候,抛错了如下错误:

- 阅读全文 -

海伦司探店研究——能否讲好“夜间星巴克”的故事?

Vina •  2021年04月19日 • 评论

海伦司是一家主打年轻人社交的连锁酒馆,2021年3月30日向港交所递交招股说明书,申请赴港上市。海伦司自比为“夜间星巴克”,为年轻人提供学习/工作、生活之外的第三空间,同时价格却很低,精酿单价10元以下。我就很好奇,10元的价格能不能讲好星巴克的故事,所以我就来探店了。

- 阅读全文 -

对HTTP协议的理解

远子 •  2021年03月23日 • 3 条评论

互联网最初的理念是:借助多文档之间相互关联形成的超文本,连接成可相互参阅的WWW(World Wide Web,万维网)。

现在互联网有三种构建技术:

  1. 作为页面的文本标记语言的HTML;
  2. 作为文档传递协议的HTTP;
  3. 指定文档地址的URL;

- 阅读全文 -

HTTP的缓存机制

远子 •  2021年03月22日 • 评论

在浏览器中,用户点击刷新按钮时会开始缓存验证,通过设置 Cache-Control: must-revalidate 也会触发缓存验证。另外,在浏览器偏好设置里设置 Advanced -> Cache 为强制验证缓存也能达到相同的效果。

浏览器的缓存有两种:强制缓存和协商缓存。

- 阅读全文 -

表单组件的几种写法

远子 •  2021年03月18日 • 评论

为什么要自定义表单组件

将复杂的业务场景组件化是前端的趋势,我日常工作中大部分时间都在编写和调用组件。

- 阅读全文 -

算法的复杂度

远子 •  2021年03月01日 • 评论

本文为《大话数据结构》中算法章节的读书笔记。

算法有五个特性:输入、输出、有穷性、确定性和可行性。

  • 输入:一个算法可以没有输出,比如生成随机字符串的算法。
  • 输出:算法至少有一个或多个输出。
  • 有穷性:算法在执行有限的步骤后会自动结束,不会出现死循环。
  • 确定性:相同的输入必定得到相同的输出。
  • 可行性:算法可以在计算机上运行,并得到正确结果。

- 阅读全文 -

对数据结构的理解

远子 •  2021年02月26日 • 评论

数据结构的概念很简单:

在计算机科学中,数据结构是计算机存储、组织数据的方式。

数据结构通俗点可以说是 “数据的某几种结构”,

我们可以用 Queue 存储星巴克客户的排队情况:

- 阅读全文 -

《从 0 到1——开启商业与未来的秘密》读书笔记

Vina •  2021年02月19日 • 评论

Vina 唠叨几句
这本书是 PayPal 的创始人之一 Peter Thiel 写的,这本书基于一个底层观点,那就是商业要创新。前 4 章,作者的核心观点都是在说,要规避竞争(规避竞争不是视而不见,而是清晰洞察,并选择没有竞争的赛道去突破。)后边讲的是如何打造经得起考验的企业。


- 阅读全文 -

对 SOLID 的理解

远子 •  2021年02月09日 • 评论

在程序设计领域,SOLID 是面向对象编程的五个基本原则。SOLID 是这五个原则的首字母。

  • S:单一职责原则,Single Responsibility Principle
  • O:开闭原则,Open-Closed Principle
  • L:里式替换原则,Liskov Substitution Principle(Liskov 是作者名)
  • I:接口隔离原则,Interface-Segregation Principle
  • D:依赖反转原则,Denpendency Inversion Principle

- 阅读全文 -

04-Vue3源码之reactivity

远子 •  2021年01月25日 • 评论

注: 为了直观的看到 Vue3 的实现逻辑, 本文移除了边缘情况处理、兼容处理、DEV环境的特殊逻辑等, 只保留了核心逻辑

vue-next/reactivity 实现了 Vue3 的响应性, reactivity 提供了以下接口:

- 阅读全文 -

03-Vue3源码之shared

远子 •  2021年01月21日 • 评论

packages/shared 是工具包, 有很多工具方法, 这些方法大部分和 Vue 无耦合, 我们平时的项目里可以直接拿来用

- 阅读全文 -

钉钉打卡的bug

远子 •  2020年11月10日 • 评论

在打卡地做以下操作:

  1. 设置 -> 显示与亮度 -> 自动锁定 -> 改成 "永不"
  2. 进入钉钉打卡页面
  3. 设置 -> 钉钉 -> 位置 -> 改成 "永不"
  4. 保持钉钉常驻内存

然后, 不在打卡地也能打卡了...

我猜钉钉的打卡页面缓存了当前的位置和时间

设计模式和部落冲突

远子 •  2020年11月02日 • 12 条评论

提示:如果你没有玩过《部落冲突》的话,这篇文章你应该看不懂。

《部落冲突》是一款手机游戏,设计模式是编程领域老生常谈的话题。

最近我同时在读《大话设计模式》、《JavaScript设计模式》、《React设计模式》、《设计模式之禅》这四本书。

今天我突然发现这两者之间有很多相似之处。

- 阅读全文 -

读 homedo-nodejs-base-framework

远子 •  2020年09月27日 • 评论

文章内容已脱敏, 不包含任何隐私信息.

homedo-nodejs-base-framework 是河姆渡内部基于 eggjs 封装的上层框架 (为了和 eggjs 框架区分开, 以下简称 base 框架), 公司内部有大量基于此框架的项目, 最近我又仔细读了一遍源码, 简单的分析一下.

- 阅读全文 -