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

Electron+Mobx+React开发记录(二)

>> Electron Mobx React

目录 前言 webpack4图片打包的问题 webpack4样式表打包分离 应用构建工具electron-builder配置 应用构建工具electron-builder的问题 前言 前一篇文章主要记录了开发环境的搭建和一些开发时遇到的问题,这篇文章主要说说自己在coding work之后进行应用打包时遇到的问题(webpack打包和electron打包),项目地址。 webpack......

Electron+Mobx+React开发记录(一)

>> Electron Mobx React

目录 前言 开发环境搭建 引入Webpack4.0前端打包工具 Electron代码结构和代码热更新 前端界面React + Mobx 代码结构和热更新 Linux桌面客户端开发遇到的问题 前言 最近桌面系统从Ubuntu18.04切换到了Manjaro Linux 17,之前听说Manjaro的软件丰富,仓库更新及时,很多常用软件都能一键安装(比如QQ,微信),同时也支持主流的Li......

polipo服务配置shadowsocks终端代理

>> shadowsocks polipo

在linux系统中,一般配置好shadowsocks之后,浏览器设置好代理,浏览器就可以翻墙。但是由于ss使用的是socks5协议,而大部分终端都只支持http和https等协议,终端是无法直接通过ss来翻墙。通过polipo这个轻量级的缓存web代理程序来转换,可实现终端翻墙。 安装shadowsocks 通过pip可以非常简单地安装。需要安装ss需要的依赖。 12345sudo apt-......

联想y7000安装ubuntu18.04显卡驱动解决方案

>> y7000 ubuntu18.04

目录 笔记本配置和操作系统版本 安装Ubuntu18.04-3后出现的异常 解决方案 笔记本配置 CPU : Intel® Core™ i5-8300H CPU @ 2.30GHz × 8 GPU: Nvidia GeForce GTX 1050 Ti/PCIe/SSE2 和 Intel 集显 操作系统: Ubuntu 18.04.3 bionic 内核......

Ubuntu18 踩坑记录

>> Ubuntu18.04/Ubuntu20.04/Ubuntu22.10 problems and solutions

目录 Wine 应用启动后出现 WineSystemTray 托盘的问题 中文环境下将 Home 目录下的文件夹切换为英文名 Ubuntu 系发行版安装 deepin wine QQ 续:安装 QQ / 微信 Ubuntu 18.04 开机启动特别慢的问题 终端 oh-my-zsh 配置 禁用内核更新 终端常用等宽字体 crossover18 破解 vim 插件配置 Ubuntu18.......

LinuxMint18日常软件安装配置

>> linux mint

实装机器是linux mint18.3,理论上也适用于ubuntu 目录 QQ 8.1 的 安装配置 微信的安装配置 印象笔记的安装配置 安装 Mac-os 主题 怎样自由上网(翻墙) 安装办公软件wps 实用工具推荐:tmux、stacer、oh-my-zsh、SmartGit、Docky chrome实用插件整理 QQ 8.1 的 安装配置 方案一: Wine + deepi......

proxychains终端代理

>> proxy linux

proxychains安装 sudo apt install proxychains 编辑proxychains配置 vim /etc/proxychains.conf 将socks4 127.0.0.1 9095改为 socks5 127.0.0.1 1080 ps: 默认的socks4 127.0.0.1 9095是tor代理,而socks5 127.0.0.1 1080是shadows......

用Javascript实现一个可自定义样式的tootips组件

>> animation javascript

前言 最近做的一个jQuery老项目经常会用tootips组件在一个html元素周围显示提示信息,虽然有现成的组件可以使用,但是很多tootips组件处理起来并不灵活,不能够自定义tootips样式和显示的内容及布局等等,而且tootips组件本身的样式可能会被目标组件的样式影响,所以想自己实现一个tootips组件:可以自定义显示内容,并且tootips的位置和布局完全不受页面元素影响。......

简单实现一个Javascript动画处理类

>> animation javascript

目录 预览图 代码实现 总结 预览图 Gif预览图录制时帧数较低,实际浏览器上运行时会更流畅 ~ => 源代码 代码实现 缓动函数 涉及一些数学原理,感兴趣的可以单独了解一下。 123456789101112131415/** * [tween 缓动算法] * @param {[Number]} t [动画已经消耗的时间] * @pa......

使用ES5实现ES6中的Promise

>> es6 promise

源代码 => github / nojsja / promise-self 目录 谈谈Promise Promise分析和实现 总结 谈谈Promise Promise 对象是一个代理对象(代理一个值),被代理的值在Promise对象创建时可能是未知的。 它允许你为异步操作的成功和失败分别绑定相应的处理方法(handlers)。 这让异步方法可以像 同步方法那样返回值,但并不......

原生Js实现瀑布流效果

>> javascript waterFall

盗用的效果图 效果分析 瀑布流中图片的宽度都是固定的,但是高度需要设置为auto以使图片不变形,高度不固定。首先想到能不能用float属性让图片流动,想象中很美好,实际效果如下,可以看到因为第三个元素的高度问题,第二行元素流动时被第三个元素挡住,导致了布局错乱。 看看百度图片是怎么实现图片布局的,如下图,可以看出百度用了讨巧的办法,图片跟我们这个瀑布流的图片的宽高设定正好相反,百度图片的......

模仿RequireJs的用法写一个低配版的模块加载器

>> RequireJs Implementation

Contents 前言 回顾RequireJs的基本用法 实现原理 使用方法 总结 前言 前段时间一直想用单页开发技术写一个自己的个人网站(使用es2015),写了一部分之后,发现单页应用因为只有一个页面,所以第一次加载index.html时就要下载所有js文件,并且为了好管理各个部分的状态,需要划分页面的各个功能区为各个模块,es2015本身是不支持一些模块规范的(比如AMD、CMD......

sass开发规范

>> sass css

author: nojsja 目录 sass语法 命名 书写顺序 代码嵌套 注释 sass语法 sass是一门编程语言,支持css语法以及一般编程语言中的函数、宏、变量和各种逻辑语法等等,sass文件最终会被编译成css文件。 变量 计算功能 继承 Mixin 函数 高级用法 变量 Sass允许使用变量,所有变量以$开头: 1234$blue: #1875e7; div ......