nojsja

个人博客

 Shadowsocks 跨平台客户端开发日记

>> Shadowsocks crossplatform desktop app dev diary

>>> 博客原文 Preface 前言 最近闲逛 github 时看到一个 shadowsocks-electron 项目,该工具支持 Linux / Mac 平台,是用来连接 shadowsocks 服务器的 proxy✈️,程序员应该大多都用过,各个平台也都有适配客户端。原作者使用 Typescript/Electron 把功能开发了一部分就没有维护了,只支持了基本......

 Electron 进程管理工具开发日记3:进程池负载均衡、智能启停

>> Electron process management tool dev diary3: process pool load balancing, smart sleep and wake up

>> 原文链接 文中实现的部分工具方法正处于早期/测试阶段,仍在持续优化中,仅供参考… 在 Ubuntu20.04 上进行开发/测试,可用于 Electron 项目,测试版本:Electron@8.2.0 / 9.3.5 Contents 123456789101112131415161718192021222324252627282930313233343536373......

VSCode 架构学习笔记

>> VSCode architecture learning notes

VSCode 架构学习笔记 持续更新中 一、源码目录结构 1.1 总览 核心层 base: 提供通用服务和构建用户界面 platform: 注入服务和基础服务代码 editor: 微软 Monaco 编辑器,也可独立运行使用 wrokbench: 配合 Monaco 并且给 viewlets 提供框架:如:浏览器状态栏,菜单栏利用 electron 实现桌面程序 核心环境 整个项目完......

使用 Jest 进行单元测试

>> Use jest for unit test

使用 Jest 进行单元测试 目录 使用 Jest 进行单元测试 一、Jest 简介 二、Jest 配置编写 三、Mock Server 配置 四、Jest Mock 说明 五、组件快照测试 六、组件渲染结果测试 6.1 Web 平台 6.2 React Native 平台 七、React Hooks 函数测试 八、测试覆盖度生成 一、Jest 简介 Jest 是 Faceb......

Node.js 实现轻量化进程池和线程池

>> Node.js implements lightweight process pool and thread pool

Contents Contents I. 前言 一、名词定义 1. 进程 2. 线程 二、Node.js 异步机制 1. Node.js 内部线程池、异步机制以及宏任务优先级划分 2. Node.js 宏任务和微任务的执行时机 三、Node.js 的多进程 1. 使用 child_process 方式手动创建进程 2. 使用 cluster 方式半自动创建进程 3. 使用基......

网络代理客户端开发日记2:负载均衡网关

>> Network proxy client dev diary2: load-balancing gateway

➣ 目录 Contents ➣ 目录 ➣ 前言 ➣ 客户端功能预览 ➣ 特性 1. 所有已支持特性 2. 新加入特性 ➣ 技术细节 1. 客户端代理的基本工作原理 2. 多节点模式的负载均衡 3. 负载均衡器的设计细节 ➣ 一些有趣的代码设计 1. 函数运行时的拦截器(Interceptor) 2. 随机选择一个数组内的几个元素 3. 异步地选取从某个起始端口开始的未使用......

Canvas:实现矩形元素的拖拽和伸缩

>> Canvas - drag and stretching of rectangle

目录 一、什么是 Canvas? 二、前置知识 像素 Canvas 宽高和 CSS 宽高 解决绘制模糊 Canvas 中的坐标系 三、关键步骤说明 1. 调用和交互方式 2. 创建画板类 1)职责 2)功能实现点 3. 创建绘制辅助类 1)职责 2)功能实现点 4. 创建通用几何图形类 1)职责 2)功能实现点 5. 创建拖动和伸缩矩形类 1)职责 2)功能实现......

使用 Node.js 实现 http(s) 代理服务器

>> Using node.js to implement http(s) proxy server

使用 Node.js 实现 http(s) 代理服务器 I. Contents 使用 Node.js 实现 http(s) 代理服务器 I. Contents II. 前言 III. 理论基础 1. OSI 网络分层模型 2. HTTP 协议 1)客户端连接到Web服务器 2)发送HTTP请求 3)服务器接受请求并返回HTTP响应 4)释放连接TCP连接 IV. 功能实现 ......

前端性能优化技巧详解-2

>> The guide of frontend performance optimization (2)

➣ webpack:区分打包环境 webpack 提供 mode 配置选项,告知 webpack 使用相应模式的内置优化。 配置文件中: 1234module.exports = { mode: 'production', ...}; webpack 对于这两种模式会分别启用一些插件: development 模式: NamedModulesPl......

融云 IM 即时聊天系统 SDK 架构研读笔记

>> RongCloud IM Live Chat System SDK architecture study notes

目录: IM 系统 SDK 研读文档 (Web) 一、IM 系统的概念 二、设计方案参考 ➣ 网易云信 1. 官方文档 2. 整体架构 3. 消息通信机制和兼容性处理 ➣ 腾讯 IM 1. 官方文档 2. 整体架构 3. 消息通信机制和兼容性处理 三、IM Web SDK 功能设计 ➣ 关于 HTTP 长连接和长轮询的说明 1. HTTP 长连接 / 短连接 2. ......

记一次 React hooks 组件开发和优化记录

>> 记一次 React hooks 组件开发和优化记录

一、Contents 一、Contents 二、前言 三、组件功能描述 1. 查看模式 2. 编辑模式 四、预备知识:Antd Form 组件的 initialValues 和 resetFields I. 常见的 Antd Form 组件使用示例 II. initialValues 不更新的情况 五、开发过程 I. 源码 II. 实现思路 1. 使用 Antd Table......

taro小程序开发笔记

>> The development notes of mini-program based on taro

Contents Contents ## 前言 ## 微信小程序开发相关 I. 微信小程序像素单位rpx II. 微信小程序自定义导航头适配胶囊按钮高度 III. 微信小程序底部导航条适配 Iphonex 1. 原生小程序适配 2. 内嵌 H5 适配 IV. H5页面唤起指定的小程序并打开特定页面 V. 实现将任意 dom 元素内部 innerText 复制到剪贴板 前言 ......

hexo个人网站优化探索

>> hexo personal website optimization exploration

Contents ## Contents ## 前言 1. hexo 是什么? 2. 何为优化? ## 性能优化指标 1. 整体运行性能 2. 网站可访问性 3. 网站是否应用了最佳实践策略 > 1) 使用 target="_blank" 的 <a> 链接如果没有声明 rel="noopener noreferrer" ......

2021金三银四前端面试笔记

>> The frontend interview notes at the beginning of 2021

Contents 部分内容从网络和官网收集 ### Contents ### 面试阶段分析 ### 个人介绍 ➣ 重点 ➣ 描述在上一家公司的工作经历 ➣ 范例 ➣ 项目经历介绍 ### I. 要点:HTML/CSS ➣ position各个属性的作用 ➣ display各个属性作用 1. 外部显示 2. 内部显示 3. 内部表现 ➣ BFC及其应用 ➣ 怎样实现一个不......

前端性能优化技巧详解(1)

>> The guide of frontend performance optimization

此文主要描述 html / css / js / react 即时渲染和网络加载优化方面的知识,webpack常用优化方法和HTTP Server等优化请关注《 前端性能优化技巧详解(2) 》 如果之后发现有其它要点值得梳理,会继续更新本文… 目录 目录 ➣ HTML/CSS 性能优化方面 1. 网络层面 1)抽离内联样式内联脚本 2)defer脚本和async脚本 3)压缩H......