朱雀发布系统支持scp(rsync)发布

去年花了三天时间开发了一个简易版的nodejs发布系统,它是基于pm2自带的deploy机制开发的,主要原理就是在两台装有pm2的机器直接通信,并执行相应的命令。再往简单了说就是在发布机上远程执行命令,而朱雀发布系统提供了一个图形界面而已。 当时把这个系统定位为nodejs专用发布系统,因为它依赖了pm2,而pm2则是nodejs专用的进程管理工具,其他语言用不到。这个系统的上线也算是解决了我司一直以来没有合适的nodejs发布系统的空缺。 经过9个月的使用,也算比较稳定。但是也存在问题,最大的问题是部署应用方面比较繁琐。 基本流程如下: 发布机和应用服务器设置ssh通信配置。 应用

朱雀发布系统

一体LED可伸缩变焦手电筒拆解

先看看一体LED可伸缩变焦手电筒长什么样子 这种手电筒刚买回来几个月就不亮了,以为没电了,充电了也不行,想拆开看看却发现无从下手,手电筒是一体的,并没有地方可扭开。 按钮部位看起来是可拆解的,想要转动一下,发现无法转动,最后抱着死马当活马医的心态,大不了拆坏了,随便用工具撬了下尾部凹槽部分,发现有活动迹象,然后就继续撬,果然是大力出奇迹。最后就是下面图展示的样子,有明显损坏痕迹,不过也没办法,实在不好拆。拆开后发现电池线断了,将就着接上后就好了。 最后,虽然不建议买这种手电筒,但是既然您看到本文了,那也就有救了。 祝大家五一快乐!

一体LED可伸缩变焦手电筒

easy-monitor qps监控

Easy-Monitor是一款轻量级的Node性能监控工具,仅仅需要项目入口 require 一次,就可以非常便捷地展示出进程的状态细节。 Easy-Monitor主要提供以下的功能: 找出执行时长耗费最久的5个或者更多的函数 找出那些执行时间超出预期的函数 找出v8引擎无法优化的函数 Easy-Monitor的特点: 轻量级:非传统C/S物理分离模式,require 后即可使用,没有额外的监控server/agent部署成本。 运行时:针对的是运行时的函数性能以及内存细节进行处理展示,可用于线上生产环境项目。 无状态:永远展示的是开发者访问时的业务进程状态 关于监控qps,

easy-monitor-qps

2021年1月拉钩职位数据又不能爬取了

拉钩在防爬虫方面一直在改进,2021年1月份的时候又不能爬取了。 上一次的破解方法是先访问搜索页面,获取到cookie后应用到接口中,但现在不行了,表现出的行为是拉钩访问一个页面后会进行多次重定向,以致于拿不到需要的cookie。

使用sveltekit开发一个服务端渲染(SSR)项目

上篇简单介绍了sapper和sveltekit的发展,目前sveltekit还只是Beta版本,有很多不确定因素存在,有可能会有大的变更,所以还不推荐在生产环境中使用,不过在个人项目和小项目中可以大胆尝试。 今天我们就正式使用sveltekit开发一个web项目。 第一步:创建项目 mkdir my-app cd my-app npm init svelte@next npm install npm run dev 这样就可以创建一个简陋的项目了,不过和我们真实需求还有些差距,既然是使用sveltekit,那么最重要的原因是其支持服务端渲染了。这就需要从服务端获取数据,接下来

关于svelte框架——sapper和sveltekit的发展

虽然您可能现在还没有听说过svelte,但是其实svelte的发展速度超过了你的想象。 本文主要讲的是关于sapper和sveltekit这两款框架的发展。 svelte作者里奇·哈里斯(Rich Harris)在2020年10月的svelte峰会上表示:sapper永远不会发布1.0版本。 也就是说sapper不会发布正式版,一直处于非稳定版本。也可能放弃更新。 主要原因是sapper多年来代码库变得凌乱,但更主要的原因是最近网络发生了很大变化。 而作者放弃sapper后的另一种选择是开发SvelteKit。 Sapper和SvelteKit都是svelte的开发框架,类似于vu

/bin/rm: argument list too long

有人在服务器上不小心执行了rm -fr /*,而我想在删除某个文件夹下面的文件却遇到/bin/rm: argument list too long。 意思是我删除的文件太多了,这倒有点稀奇。 那怎么才能删除呢? 试着直接删除目录也不行,这问题能难倒我,但难不倒百度。 使用ls | xargs -n 1000 rm -fr ls删除,可是一直在输出错误提示: rm: invalid option -- 's' Try 'rm --help' for more information. 出现这个情况的原因是文件名是这种类型:-abc.txt。就是

svelte history路由刷新后404

npms.io上搜索到svelte的route包其实也不算少,使用比较广泛的svelte-spa-router路由包却不支持history模式。有些支持history模式的使用上也不是很方便,试用过五六个支持history的路由后最终@spaceavocado/svelte-router算是满足了要求。 - 使用简单 - 功能丰富 - 支持history和hash 我也是够难伺候的。 在试用了多个支持history的路由过程中,都遇到了一个问题:切换路由后刷新404。这也算是单页应用的通病了。不过像vue这种是在部署到服务器上刷新404,而svelte却在开发过程中也出现了,又想放弃了… 好

基于sapper开发svelte项目配置本地代理

最近使用svelte开发一个项目,说实在的,开发过程中遇到不少问题。 每次遇到问题的时候都有种想放弃的冲动,这生态也太差了,查个啥啥问题都查不到,找个啥啥插件也没有。 不过,到最后,遇到的问题又都解决了。 这不,今天又遇到了本地代理的设置问题。 在说遇到的问题之前先介绍一些项目架构。该项目是基于sapper框架开发,这是一个使用svelte开发的框架,具备以下特点: 服务端渲染 路由 代码分割 默认支持渐进式web应用(PWA) 预取路由 单独的头标签(meta,link等) 作为静态站点弹出 Cypress测试(免费,简单,端到端的测试) 可以看到,sapper基本是集合了目前前

svelte

svelte项目rollup配置px2rem

使用svelte开发项目时遇到需要将px转换成rem的需求,有试过postcss-px2rem,postcss-pxtorem,等postcss插件,都没成成功,最后找到了postcss-units插件成功实现。 完整rollup配置文件如下: converts px to rem 该配置是sapper项目配置 import path from 'path'; import resolve from '@rollup/plugin-node-resolve'; import replace from '@rollup/plugin-replace