
经验总结与分享
文章平均质量分 92
ajh99990
这个作者很懒,什么都没留下…
展开
-
自建npm代理
序言使用verdaccio自建npm proxy registry是为了解决工作中面临的两个问题。缺少私有registry来存储包最近我需要将一些包上传到registry,因为这会减少我迭代时的工作量。可问题在于,涉及到 商业机密 的包是不适合上传到npm这种公共仓库的。例如我正在编写的_生成浏览器指纹_的包,因为它一旦被公开就会失去大部分价值。又例如被应用在前端脚手架内的包,因为它们都是为公司业务逻辑量身打造的。其他registry不够稳定在日常工作中有些包总是下载缓慢甚至时常下载失败,即使切换原创 2022-05-07 19:10:08 · 783 阅读 · 0 评论 -
利用FingerprintJS做浏览器指纹的实现方案
背景运营同事发现大量的拼单、淘宝和闲鱼上的会员账号租借服务、外借账号等问题已经影响到了公司营收。为了缓解这种问题,我们决定限制单一账号能够保持登陆状态的设备数量,以此提高租借账号的成本。要想限制设备,首先要解决的问题就是如何识别一台设备。这可以借助FingerprintJS 来解决,然而并不是所有指纹选项都能够投入到生产环境。高熵值的指纹确实可以增加设备的识别率,但却会导致设备指纹频繁变化,从而引起用户频繁掉线,最终影响用户体验。因此我需要解决的第一个问题就是在设备识别率和用户体验之间找到一个熵值的平衡点原创 2022-05-07 18:20:01 · 7406 阅读 · 0 评论 -
FingerprintJS分析
数据每条记录都包含下列字段。指纹(由小写字母和数字组成的32位字符串)下列32项是从用户浏览器收集到的指纹的名称。每个名称对应表的一个同名字段。fonts、domBlockers、fontPreferences、audio、screenFrame、osCpu、languages、colorDepth、deviceMemory、screenResolution、hardwareConcurrency、timezone、sessionStorage、localStorage、indexedDB、op原创 2022-05-07 17:27:58 · 5327 阅读 · 2 评论 -
nuxt配置sentry
目录接入官方服务0.注册账户1. 安装2.初始化3. 配置环境变量4. 使用上传sourceMap1. 安装2. 修改 webpack 配置3. 配置环境变量4. 一些可能产生的疑惑配置过程中的问题记录问题:找不到源文件和sourceMap的映射关系@sentry/cli下载失败接入官方服务0.注册账户提示几点。email地址和password会用作登录的账号密码。billingEmail的作用是接收异常报告,sentry监控到异常之后会发送报告到此邮箱。如果你没有填写billingEma原创 2021-03-18 18:16:49 · 1722 阅读 · 2 评论 -
docker部署Mysql并实现持久化存储
目标使用docker部署Mysql重置密码导入表结构持久化存储(即使删除容器的情况下)目录结构root/docker/项目名称├── mysql│ ├── Dockerfile│ │ ├── present.sql│ │ └── privileges.sql│ └── setup.sh└── docker-compose.ymldocker-c...原创 2020-02-19 19:40:48 · 4178 阅读 · 0 评论 -
reactRouter路由守卫与最佳实践
目录前言阶段一阶段二参考 前言路由守卫是开发中很常用的功能,然而reactRouter是没有提供路由守卫的api的,只能由我们自己实现。我会先实现路由守卫的基本功能,然后逐步完善它。于是我将分两个阶段对代码做介绍。阶段一:实现基本功能阶段二:多重权限(身份)阶段一这个阶段我想做到以下几点:根据路由配置生成路由根据路由配置生成嵌套的动态路由对个别路由增加...原创 2020-02-15 20:16:27 · 3177 阅读 · 0 评论 -
【react学习笔记】项目配置(typeScript)
使用cra创建项目在项目中使用tscreate-react-app 项目名 --template typescript为什么使用cra呢?因为它会自动安装并配置ts相关的包,以及jest测试包等常用的包,以及一些常用的webpack配置,比如热重载、优化后的打包配置等,还直接配置好了对es6+的各自新特性的支持。而且,如果将来cra增加了新功能,我们可以只修改package.json中rea...原创 2020-02-13 22:20:21 · 2449 阅读 · 0 评论 -
【mobx学习笔记】异步操作方法
目录前言action/runInActionasync/awaitflow 前言mobx的action中调用异步函数的时候,会有一个“陷阱”。下面举例说明假设有这样一个类class Store { @observable test1 = 0 @observable test2 = 0 @computed get testCom() { ...原创 2020-02-10 21:38:19 · 3397 阅读 · 1 评论 -
nginx+ssl+反向代理+egg
配置SSL https://help.aliyun.com/document_detail/98728.html?spm=a2c4g.11186623.2.12.5657625a91Qdju#concept-n45-21x-yfb反向代理 https://blog.youkuaiyun.com/weixin_44563906/article/details/98223512思路是使用nginx做反向代理,...原创 2020-01-07 09:06:43 · 1968 阅读 · 0 评论 -
webhook+docker+nginx实现vue项目的持续集成
目录前言思路容器外build目录结构webhook-giteedeploy-dev.shdocker-compose.ymlDockerfiledefault.conf首次拉取项目启动服务器脚本可能遇到的问题Permission denied 前言本文将分享如何将vue项目托管到docker上,同时也是对《webhook+docker实现vue项目的持续集成》的补充。...原创 2019-12-25 15:20:17 · 609 阅读 · 0 评论 -
webhook+docker实现vue项目的持续集成
目录前言准备工作Dockerfile编写服务器脚本webhook服务端使用git拉取项目启动服务器脚本安全组配置 前言前段时间将使用vue编写的项目文档署到了云服务器,可是后续每次项目文档有修改时都需要我手动将代码push到云服务器和码云,并且还要重启docker容器,实在麻烦。于是开始研究持续集成,希望在我使用git将项目push到码云之后可以自动将项目同步到云服务...原创 2019-12-24 20:27:44 · 811 阅读 · 0 评论 -
【前端基础】回流与重绘
目录基本概念DOM TreeCSSOMRender Tree重绘与回流重绘回流区别何时触发重绘回流优化策略浏览器自己的布局属性样式动画 基本概念DOM Tree浏览器会将html文本解析成DOM Tree,DOM Tree的每一个节点对应着一个dom元素。DOM Tree中包含了所有的DOM节点,包括display:none和<head>。CSSOM...原创 2019-12-12 16:06:42 · 306 阅读 · 0 评论 -
Vue SSR
目录何为SSRVue SSR流程依赖源码对源码的补充说明关闭splitChunks选项 项目已上传至码云git@gitee.com:yangguang110/Vue_SSR_Demo.git 何为SSR从需求出发来回答这个问题。SPA应用有两个缺点,一是首屏加载缓慢,二是SEO不友好。因为浏览器在请求一个SPA的时候,服务器发送给浏览器的html...原创 2019-12-11 19:53:33 · 1078 阅读 · 2 评论 -
Vue处理markdown
https://www.cnblogs.com/ChineseLiao/p/11079080.html原创 2019-11-12 23:27:09 · 619 阅读 · 0 评论