nodejs中的config(node-config)组件应用

最近在使用Nodejs做一些后端服务的时候,由于业务不复杂,所以在连接RedisMysql的时候总是哪里遇到了写哪里,结果可想而知,在服务端部署的时候,那是“痛彻心扉”各种位置的配置参数修改,这样是在开始时候图省事反而造成的“恶果”

突然想起,在很早的时候用过的node-confg(config)模块,可以直接根据环境变量的设置,来读取不同的配置文件,从而实现运行时的动态切换,接下来对最新版的config组件进行下测试使用。

0x00 config模块的安装及初步使用

NPM地址:https://www.npmjs.com/package/config
仓库地址:https://github.com/node-config/node-config

1. 创建测试项目

首先,新建一个空的目录,在目录中创建nodejs项目

从文档到前端开发的演进

HTML发展史

  1. 1989年,伯纳斯-李,提出基于互联网的超文本系统,在1990年底写出浏览器和服务器软件。
  2. 1990年发明了首个超文本语言HTML,为基础在NeXT电脑上发明了最原始的Web浏览器网页浏览器WorldWideWeb,称为所见即所得浏览器
  3. 1991年底,HTML一词首个公开描述出现于一个名为HTML标签的文件中,由伯纳斯-李提及,这个时候HTML有18个元素,设计相对简单
  4. 1992年6月。HTML DTD的首个正式草案被提出,后续有七个修订版(7月15日、8月6日、8月18日、11月17日、11月19日、11月22日),其中在11月HTML DTD 1.1被定为初步草案,当是并非正式草案
  5. 1993年中期互联网工程任务组(IETF)发布首个HTML规范的提案:超文本标记语言(HTML)互联网草案。美国国家超算应用中心(National Center For Supercomputer Applications)以HTML为基础开发名为Mosaic浏览器,与1993年4月发布
  6. 1994年7页HTML 2.0规范发布,9月,因特网工程任务组(Internet Engineering Task Force)设立了 HTML工作组。11月,Mosaic浏览器的开发人员发布了Mosaic Netscape 1.0 beta 浏览器,后改名为Navigator。年底,有Tim牵头的万维网联盟(W3C)成立,标志着万维网的正式诞生。此时的网页以HTML为主,是纯静态网页,网页是只读的,信息流只能通过服务器到客户端单向流通,由此世界进入Web1.0时代。并且CSS也开始走进人们,CSS的最初建议由哈坤-利在芝加哥的第一次会议上第一次提出CSS的建议。同在今年“世界上最好的语言”PHP也出现了,起初一个叫Rasmus Lerdorf的加拿大人为了未婚个人网站而创建了PHP。PHP原意是 Personal Home Page,宣传语是Hypertext Preprocessor(超文本处理者),这时,PHP实现了与数据库的交互以及用于生成动态页面的模板引擎,是Web领域中主流的服务端语言。
  7. 1995年是前端技术发展最迅猛的一年,从CSS到JavaScript都涌向出来。
    网景推出了一直被延续至今的JavaScript,实现了客户端具备了计算的能力,起初这种脚本语言叫做Mocha,后改名为LiveScript,后来为了借助Java语言创造良好的营销效果改为JavaScript。网景公司把这种语言嵌入到Navigator2.0之中,使其能在浏览器中运行。
    今年在W3C会议上,CSS有一次被提出,CSS的创作成员全部成为了W3C的工作小组并且全力以赴研发CSS标准,层叠样式表的开发终于走上正轨,哈坤、波斯和其他一些人是这个项目的主要技术负责人。

未完待续…

Hyper-V引导物理硬盘中的系统

家里的旧笔记本已经10多年了,刚拆下来一个2.5英寸机械硬盘,里面是之前安装ubuntu系统,有些环境配置、应用之类的也不舍得丢掉或者迁移,就想利用Esxi来创建虚拟机资源,然后直接挂载物理硬盘进行启动,在实际部署之前,先在本机使用虚拟机做下测试。

由于目前的机器上安装了Docker,默认使用的是Hyper-V虚拟机在跑,所以就在Hyper-V中创建个虚拟机进行下测试,来直接引导物理硬盘中的系统。

心照不宣

北京的疫情又严重了,
也渐渐的习惯了两天一检。
大家都像极了手机,
不来到核酸检测点充个电,
就无法继续正常工作运行。

秋意的午后微风阵阵,
犹如往常那样来到你面前。
你娴熟的拿出白签,
而我行云流水般的摘下口罩,
张嘴,啊~
想象着签子会在哪里出现,
牙齿?舌头?咽喉?空中?

我是否在乎棉签所触碰到的位置是否规范?
不,毫无感觉,至少我曾经在乎过。
你是否在乎这种样本检测的结果出现误差?
不,也就那样,至少你以前认真过。

折断棉签,喷洒酒精,
搓手消毒。
带上口罩,起身站立,
颔首点头。

我们相视一笑,
我又可以绿码续费两天了。
又做完一个,又是很轻松的一天工资。
彼此心照不宣。

后记其一
在此祝贺北京健康宝已经三岁啦,
看到一个段子,
说是三岁都应该会讲话了,
是的,我们的健康宝会说:“绿码,核酸一天”

MyCloud PC客户端(1.0.7.17)修改无法使用问题

最近新型肺炎闹得确实很厉害,有感动,有流泪,有不忿。为疫情中的逆行者们祈祷、祝福,谢谢你们的付出,一定要注意安全,平安归来。加油武汉,加油中国。

一直是使用My Cloud搭建私有文件存储,最近升级版本后,在PC上出现了无法使用的问题。

然后在无聊的抓包中,又巧合的发现了问题的所在,并通过修改客户端的PE文件,来修复问题。

接下来,通过简单的过程来说明下是如何发现和处理的。

前后端分离的跨域介绍,以及使用webpack构建前端、Nodejs后端项目

webpack这个工具,已经是各大主流框架、项目毕不可少的了,也确实大大方便、简化了开发人员的日常工作。在vue-cliangular-clicreate-react-app等等一些脚手架中也会常常遇到。

使用webpack来构建、打包前端项目,尤其是在**SPA(single-page application)**的场景,已经成为了主流,其中附带的webpack-dev-server也是非常强大的功能。

但是在nodejs后端项目的构建、打包方面,我也看到了有的社区中的一些讨论,大多数持有的态度为是不需要的。其实从我个人的角度来看,我觉得是非常必要的,我认同大家所说的只是脚本项目本来基于nodejs就都是支持的,没必要打包,我认为打包是必要的,主要指的是交付部署方面。

如果只是站在前端的角度看待问题,webpack为项目提供了语法降级兼容、CSS预编译、JS合并压缩、公共代码抽离、图片转码等等,也确实在浏览器兼容性、网页优化等方面拥有非常强大、完善的插件。

在nodejs的后端项目上,确实是没有这么多事儿的。只有脚本,聚焦的也就是脚本语法转换、打包这些简单的功能,就类似于我们在其他语言开发完模块功能后,都是会打包为动态链接库一样,来进行发布、部署。

具体需不需要在nodejs的后端项目中使用webpack,仁者见仁智者见智,更多的根据实际场景来考虑考虑,也不能一味的追求。

刚好最近为公司产品做了个B/S的小工具,也将自己的一些思考、做法,尽量详细的整理出来,供大家以作参考。

一次微信活动刷票的絮叨

0x00 起因

近日一好友推来一链接,说是自家猫咪们正在参加一个评选活动,需要投票支持。举手之劳,再加上两只小猫也是从他们小不点的时候看着长大的,甚是讨人喜欢。没咋细看,投完票之后回到首页看到的是这样的

活动首页图

mpvue在前端项目的应用设计

闲话少叙,书归正传。

0x00 故事背景

在有限的人力成本情况下,需要按时上线产品,主要包括:

前端项目:小程序A(C端)、小程序B(B端)、PC管理端
后端项目:平台API项目

其实站在后端开发来讲,由于是服务于业务的系统,又是产品前期,所以也就Spring Cloud一套打完,这里主要想细说的是前端几个项目的情况。

“作死”协奏曲 —— 同步

理想很丰满,现实很骨感,汇总一下这段时间自己的“作死”之秀,望好友们“引以为戒”,莫要像我一样捶胸捣足,真的是应了那句老话你以为你以为的就是你以为的

其实整个“作死”秀主要围绕着就是同步,亦可理解为协同办公(内心旁白:我不想每天背着那么重的电脑来回跑),可是作为一个“程序猿”,真以为下班出了公司就可以将正在进行的项目置之脑后么,为了自己的轻身大计,毅然决然的踏上了“作死”之路。

内容预告:ESXI普通主机安装, 设想的编译方式, 项目代码同步, 日常资料同步