# 持续更新中...

个人学习笔记，内容包括前端和算法等。[在线电子书](https://suki.gitbook.io/notes/)。

* [持续更新中...](#持续更新中)
  * [浏览器](#浏览器)
  * [JavaScript](#javascript)
  * [TypeScript](#typescript)
  * [Vue](#vue)
  * [数据结构算法](#数据结构算法)
  * [安全](#安全)
  * [性能](#性能)
  * [网络](#网络)
  * [设计模式](#设计模式)
  * [单元测试](#单元测试)
  * [编译](#编译)
  * [杂七杂八](#杂七杂八)
  * [workflow](#workflow)

## 浏览器

* [深入理解现代浏览器 - 架构](https://suki.gitbook.io/notes/articles/browser/inside_look_browser_1)
* [深入理解现代浏览器 - 导航](https://suki.gitbook.io/notes/articles/browser/inside_look_browser_2)
* [深入理解现代浏览器 - 渲染器进程](https://suki.gitbook.io/notes/articles/browser/inside_look_browser_3)
* [深入理解现代浏览器 - 交互](https://suki.gitbook.io/notes/articles/browser/inside_look_browser_4)

## JavaScript

* [尾调用优化 TCO](https://suki.gitbook.io/notes/articles/javascript/tail_call_optimization)
* [4 种常见的内存泄漏及解决方法](https://suki.gitbook.io/notes/articles/javascript/4_common_memory_leak)

## TypeScript

* [Leetcode 面试题](https://suki.gitbook.io/notes/articles/typescript/typescript_leetcode_hire)
* [infer](https://suki.gitbook.io/notes/articles/typescript/typescript_infer)
* [as const](https://suki.gitbook.io/notes/articles/typescript/typescript_as_const)
* [任意属性 Indexable Types](https://suki.gitbook.io/notes/articles/typescript/typescript_indexable_types)

## Vue

* [从零实现一个简单的 VDOM 引擎](https://suki.gitbook.io/notes/articles/vue/virtual_dom)
* [从零实现一个响应式状态管理](https://suki.gitbook.io/notes/articles/vue/state_reactivity)
* [从零实现一个 Mini Vue](https://github.com/suukii/Articles/tree/6b00130a6a18db60541e0e6f3fc0409f4d0a0aea/articles/vue/mini-vue.md)

## 数据结构算法

* [Big O 算法复杂度](https://suki.gitbook.io/notes/articles/dsa/big_o_complexity)
* [栈和队列](https://suki.gitbook.io/notes/articles/dsa/dsa_stack_and_queue)
* [哈希表](https://suki.gitbook.io/notes/articles/dsa/dsa_hashtable)
* [递归](https://suki.gitbook.io/notes/articles/dsa/dsa_recursion)
* [并查集](https://suki.gitbook.io/notes/articles/dsa/dsa_union_find)
* [图](https://suki.gitbook.io/notes/articles/dsa/dsa_graph)
* [二叉树](https://suki.gitbook.io/notes/articles/dsa/dsa_binary_tree)
* [前缀树 Trie](https://suki.gitbook.io/notes/articles/dsa/dsa_trie)
* [AVL 树](https://suki.gitbook.io/notes/articles/dsa/dsa_avl_tree)
* [快速选择](https://suki.gitbook.io/notes/articles/dsa/quick_select) 🍨

**排序**

* [冒泡排序](https://suki.gitbook.io/notes/articles/sorting/bubble_sort)
* [选择排序](https://suki.gitbook.io/notes/articles/sorting/selection_sort)
* [插入排序](https://suki.gitbook.io/notes/articles/sorting/insertion_sort)
* [归并排序](https://suki.gitbook.io/notes/articles/sorting/merge_sort)
* [计数排序](https://suki.gitbook.io/notes/articles/sorting/counting_sort)

## 安全

* [点击劫持](https://suki.gitbook.io/notes/articles/security/clickjacking)
* [CSP 内容安全策略](https://suki.gitbook.io/notes/articles/security/what_is_csp)

## 性能

* [如何优化图片资源](https://suki.gitbook.io/notes/articles/performance/optimize_images)
* [HTTP 缓存](https://suki.gitbook.io/notes/articles/performance/caching)

## 网络

* [什么是计算机网络](https://suki.gitbook.io/notes/articles/network/basis_of_computer_network)
* [Internet Protocol](https://suki.gitbook.io/notes/articles/network/internet_protocol)
* [DNS 是如何工作的](https://suki.gitbook.io/notes/articles/network/how_dns_works)
* [如何分辨 same-site 和 same-origin](https://suki.gitbook.io/notes/articles/network/same_site_and_same_origin)

## 设计模式

* [单例模式](https://suki.gitbook.io/notes/articles/design-pattern/design_pattern_singleton)
* [策略模式](https://suki.gitbook.io/notes/articles/design-pattern/design_pattern_strategy)
* [代理模式](https://suki.gitbook.io/notes/articles/design-pattern/design_pattern_proxy)

## 单元测试

* [什么是测试](https://suki.gitbook.io/notes/articles/unit-test/notes_for_testing_vuejs_applications_1)
* [使用 Jest 来测试](https://suki.gitbook.io/notes/articles/unit-test/notes_for_testing_vuejs_applications_2)
* [Vue Unit Test Intro](https://suki.gitbook.io/notes/articles/unit-test/intro_to_vue_unit_test)

## 编译

* [Compiler and Interpreter](https://suki.gitbook.io/notes/articles/compile/compiler_and_interpreter)
* [Just-In-Time (JIT) Compilers](https://suki.gitbook.io/notes/articles/compile/just_in_time_compiler)
* [编译流程](https://suki.gitbook.io/notes/articles/compile/compilation_in_general)

## 杂七杂八

* [如何在终端打印出有**颜色**的字](https://suki.gitbook.io/notes/articles/others/print-colored-text-in-terminal)
* [什么是上下文无关语法 CFG](https://suki.gitbook.io/notes/articles/others/context_free_grammar)

## workflow

* [如何监听 git hooks](https://suki.gitbook.io/notes/articles/workflow/git-hooks) 🍧
* [如何规范 git commit 信息](https://suki.gitbook.io/notes/articles/workflow/commitlint) 🍰
* [如何规范代码风格 - prettier](https://suki.gitbook.io/notes/articles/workflow/prettier) 🍨
* [如何规范代码质量 - eslint](https://suki.gitbook.io/notes/articles/workflow/eslint) 🍭
* [如何发布一个 npm package](https://suki.gitbook.io/notes/articles/workflow/npm-publish) 🚀
* [用 Node 写一个 cli](https://suki.gitbook.io/notes/articles/workflow/build-a-node-cli) 🍹
