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......

前端123:浏览器缓存的工作方式

>> Frontend in depth: The browser cache

>> 博客原文 浏览器缓存的工作流程      通过网络获取内容既速度缓慢又开销巨大。较大的响应需要在客户端与服务器之间进行多次往返通信,这会延迟浏览器获得和处理内容的时间,还会增加访问者的流量费用。因此,缓存并重复利用之前获取的资源的能力成为性能优化的一个关键方面。      这里先看张大家最熟悉的Devtools网络图: 图中青色、绿色和橙色圈出的部分分别是来自内存(m......

理解React:Fiber架构和新旧生命周期

>> Learning react: The fiber arch and old/new lifecycle

➣ React Fiber原理 React架构 1)Virtual DOM 层,描述页面长什么样 2)Reconciler 层,负责调用组件生命周期方法,进行Diff运算等 3)Renderer 层,根据不同的平台,渲染出相应的页面,如 ReactDOM 和 ReactNative React15遗留问题 1)浏览器的整体渲染是多线程的,包括GUI渲染线程、JS引擎线程、事件触发线......

Electron多进程工具开发日记2:进程管理UI

>> electron/node multi-process tool development

文中实现的部分工具方法正处于早期/测试阶段,仍在持续优化中,仅供参考… 在Ubuntu20.04上进行开发/测试,可直接用于Electron项目,测试版本:Electron@8.2.0 / 9.3.5 Contents 123456789101112131415161718192021222324252627282930├── Contents (you are here!)│├─......

Electron/Node多进程工具开发日记

>> electron/node multi-process tool development

文中实现的部分工具方法正处于早期/测试阶段,仍在持续优化中,仅供参考… Contents 123456789101112131415161718192021222324252627282930313233├── Contents (you are here!)│├── I. 前言├── II. 架构图│├── III. electron-re 可以用来做什么?│   ├── 1) 用于......

LeetCode探险记:递归和栈

>> dynamic programming, stack and backtracking

前言 最近刷LeetCode,遇到一个题目感觉挺有意思: 123456789101112描述: 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为 "()" 示例 2: 输入: ......

基于deepin-wine在Ubuntu20.04上安装新版微信

>> wechat on ubuntu20.04

预览 操作系统:ubuntu 20.04.1 LTS (Kernel: 5.4.0-47-generic ) 支持微信(2.9.5+)以及3.0版本 运行deepin-wine-depends.sh安装依赖 1234567891011121314151617181920212223242526#!/bin/bashmkdir /tmp/deepintempcd /tmp/deepi......

32个手撕JS,彻底摆脱初级前端

>> js native development

32个手撕JS,彻底摆脱初级前端(面试高频) 32个手撕JS,彻底摆脱初级前端(面试高频) 作为前端开发,JS是重中之重,最近结束了面试的高峰期,基本上offer也定下来了就等开奖,趁着这个时间总结下32个手撕JS问题,这些都是高频面试题,完全理解之后定能彻底摆脱初级前端。 关于源码都紧遵规范,都可跑通MDN示例,其余的大多会涉及一些关于JS的应用题和本人面试过程 01.数组扁平化 数组扁平......

基于Antd库实现可编辑树组件

>> Antd Editable Tree

I 前言 Antd是基于Ant Design设计体系的React UI组件库,主要用于研发企业级中后台产品,在前端很多项目中都有使用。除了提供一些比较基础的例如Button、Form、Input、Modal、List…组件,还有Tree、Upload、Table这几个功能集成度比较高的复杂组件,其中Tree组件的应用场景挺多的,在一些涉及显示树形结构数据的功能中可以体现:目录结构展示、族谱......

基于Electron的smb客户端文件上传优化探索

>> smb samba client upload

文中实现的部分工具方法正处于早期/测试阶段,仍在持续优化中,仅供参考… I 前言 上一篇文章《基于Electron的smb客户端开发记录》,大致描述了整个SMB客户端开发的核心功能、实现难点、项目打包这些内容,这篇文章呢单独把其中的文件分片上传模块拿出来进行分享,提及一些与Electron主进程、渲染进程和文件上传优化相关的功能点。 II Demo运行 项目精简版 DEMO地址,删......

基于Electron的smb客户端开发记录

>> smb samba client

前言 最近拿到客户需求,需要利用现有存储产品部分后台接口和原生smb协议来实现一个windows平台的smb客户端,主要功能需要包含:存储集群节点管理、集群用户登录、远程共享目录挂载、共享目录浏览、目录权限设置、文件上传管理,其中目录权限设置和目录浏览接口已经被提供,其余几个功能的electron代码和web端代码需要由我负责。考虑整个项目由前端同事来实现且数据存储量较小、数据关系不复杂,......

前端浏览器开发工具

>> browser tools

author: nojsja 目录 DevTools常用功能区域介绍 使用DevTools查看浏览器DOM元素 使用DevTools查看浏览器本地数据 使用DevTools在线编辑DOM样式 使用DevTools查看网络请求情况 使用DevTools查看控制台信息 使用DevTools在线调试代码 DevTools常用功能区域介绍 查看器 快速定位元素 展示当前网页元素......

基于s3对象存储多文件分片上传的Javascript实现(二)

>> fileupload node fs

目录 概述 文件上传-Js向中间层Node发送分片数据 文件上传-中间层Node接收前端发送的分片数据 文件下载-中间层Node获取后端文件数据的两种处理 文件下载-Js下载中间层文件的两种不同方式 预览 概述 Amazon S3 提供了一个简单 Web 服务接口,可用于随时在 Web 上的任何位置存储和检索任何数量的数据。此服务让所有开发人员都能访问同一个具......

echarts图表-树形图开发记录

>> Echarts Tree

目录 前言 树形图功能需求以及遇到的问题分析 问题I:V4版本label自定义效果设置不生效 问题II:tree图使用自定义图片加载显示不完全 问题III:tree图自定义节点选中效果和组件自带渲染效果冲突 前言 Echarts树形图Tree可以用来展示树形数据结构各节点的层级关系,比如一个使用情况就是文件系统存在多个快照,每一级快照基于上一级生成,存在父级和子级关......

基于s3对象存储多文件分片上传的Javascript实现(一)

>> aws s3 javascript

目录 概述 浏览器文件操作限制 前端多文件分片上传的原理和实现 预览 概述 Amazon S3 提供了一个简单 Web 服务接口,可用于随时在 Web 上的任何位置存储和检索任何数量的数据。此服务让所有开发人员都能访问同一个具备高扩展性、可靠性、安全性和快速价廉的数据存储基础设施, Amazon 用它来运行其全球的网站网络。此服务旨在为开发人员带来最大化的规模效益。 本文主......

Docker运行容器化的Tim和Wechat

>> docker linux-qq/wechat

Contents 安装docker 安装容器 容器管理 安装docker Docker Engine-Community 支持以下的 Ubuntu 版本: Xenial 16.04 (LTS) Bionic 18.04 (LTS) Cosmic 18.10 Disco 19.04 其他更新的版本…… Docker Engine - Community 支持上 x86_64(或 am......