NodeJS环境搭建

前言

本文章主要讲解如何搭建NodeJS项目常用配置,适合没有接触过NodeJS的同学,如果已经接触过NodeJS可以忽略。

NVM

nodejs有很多版本,而有些开源库对nodejs的版本有要求,所以我们需要在电脑上安装各种各样的nodejs版本并且需要可以随时切换,如果我们自己配置文件夹配置切换脚本就太复杂了,所以采用了NVM(node version manager)。这个工具可以帮我们下载各个版本的Nodejs,并且可以随时切换。

NVM的官方地址:点击

安装步骤

只需要按照文档中执行安装命令即可。
安装命令

1
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

在终端中执行。

注意

如果下载进度不走的话,应该是被墙了。需要给终端设置代理。如何配置代理需要自己研究下。

1
2
export http_proxy=127.0.0.1:7890;
export https_proxy=$http_proxy;

安装成功如下图

Alt text

NVM常用命令

Alt text

nvm ls :展示nodejs版本列表

nvm ls-remote:展示服务器上所有的nodejs版本

nvm install version:安装制定版本的nodejs

nvm alias default 18.16.0:设置默认nodejs版本,每次打开终端都是这个版本

nvm use version:临时切换到指定版本

NPM

npm全程node package manger, 是管理第三方nodejs库的工具。

npm包管理工具和其他包管理工具不太一样的地方是下载的包在当前项目的node_modules文件夹中。所以如果你有很多前端项目就会导致你的电脑硬盘紧张,因为每个前端项目都会自己保留一份需要的第三方库,不会集中管理。

NPM使用

每一个nodejs项目都会有一个package.json文件。可以理解这个文件是这个nodejs项目的使用说明书,其中包含了项目的说和项目的各种启动脚本和依赖的第三方包。

创建node项目

创建node项目也就是创建一个package.json文件,然后再丰富启动脚本和依赖的第三方库。

创建命令

1
npm init

实例:
s


执行完成后就会在项目文件中创建一个package.json的文件,这时项目就初始化了。接下来就配置启动命令和第三方库就可以了。

下载第三方库

1
npm install react

启动脚本

1
npm run command(start,build,test,etc...)

NRM

NRM - NPM registry manager, npm 下载源管理器,可以理解为方便切换三方库的下载地址。同时可以增加自己的私有的源。

NRM安装

很简单,只需要当做一个npm包安装就好了。
s

所有源

1
nrm ls

s

切换源

1
nrm use name

s

结束

这就是nodejs开发最基本的几个工具,熟练掌握这几个工具基本就能很好使用nodejs来开始开发项目了。当然还有很多其他的工具可以使用,欢迎大家留言区说说你常用的工具!

怎么注册一个美区visa卡

背景

目前国外一些先进生产力工具对国内用户进行屏蔽,一方面是出于政策的原因,还有一部分滥用的原因。主要屏蔽的方式有以下几种。

  1. IP屏蔽(国内IP禁止访问)
  2. 注册屏蔽(手机号,邮箱禁止注册)
  3. 付费屏蔽(只可使用非大陆信用卡付费)

其中第一个问题,可以通过另一篇文章中的科学上网的方式解决解决,使用美区IP进行伪装。第二个问题可以通过注册gmail邮箱+解码平台进行解决。
第三个问题是最难处理的,也是这篇内容接下来的主要内容。

平台介绍

想要伪装出一个非大陆的visa卡有多重方式,本文章只说其中一种,涉及两个需要平台。

币安

币安是目前加密市场最大的线上交易所,可以在该平台进行加密货币的购买和出售。在加密市场中有一种币叫做USDC(USD Coin),USDC是一个和美元1:1锚定的稳定币,简单理解它就是美元。我们可以在币安中通过c2c的方式以人民币交换USDC,这样就相当于拥有了美元。当美元升值时可以交换回人民币,进行获利。

币安注册地址:地址

onekey

oneKey是一个虚拟信用卡平台,可以帮助用户申请一些地区和号段的信用卡。我们可以使用它开头香港和美国地区信用卡。开通的信用卡需要先充值才可以进行消费,可以绑定到支付宝和微信。充值的方式目前支持USDC的方式进行充值

oneKey注册地址:地址

步骤

  1. 注册币安 地址,选择香港地区。
  2. 币安进行c2c交易购入USDC,选择交易量大的卖家,可以选择支付宝和微信或者银行卡交易。
  3. 注册oneKey地址选择基础卡套餐(美国优选卡)即可。
  4. 对oneKey进行充值,选择usdc方式,会有几个充值网络,先不选择。
  5. 在币安对USDC发起提现操作,也会让你选择转账网络,对比第四部的几个网络选项,看下那个转账费用低。
  6. 回到oneKey,选择第5步找到的网络进行选择,然后onekey会出来转账地址。
  7. 币安中填入第6步获取的地址即可转账,币安会有一些提示,注意查看。
  8. 转账完成后等待一会oneKey卡片即可收到转账。
  9. 可以如果有其他地区卡想开通,左上角开通即可。

    转账前请注意查看两个平台的网络和地址是一样的,不然无法追回

结束

这样我们就可以拥有了非大陆visa卡片,就可以伪装成为外国用户了。该方式还可以用在加密货币进行国内消费使用(注意不要帮人洗钱)。

纯文字,如果没有相关经验,可以按照一步一步进行操作。平台方也都有一些教程,可以找一找。

学会上网,为祖国富强而学习

祖国为了我们不被混乱的信息所毒害,对部分网络进行拦截,但是我们作为一个已经学会了分辨是非的成年人还是需要学习国外的一些知识的来为国家做建设,所以还是需要一些手段来获取对学习有用的内容。

clash

Clash是一个多协议代理工具,用于在计算机网络中实现网络流量的转发和管理。它可以帮助用户在使用互联网时实现匿名性、绕过封锁和访问限制,以及实现更高的网络安全性。

Clash支持多种协议和代理方式,包括HTTP代理、SOCKS5代理和Shadowsocks代理等。用户可以配置Clash代理来将网络流量从本地设备转发到代理服务器,然后由代理服务器进行网络请求,从而实现用户的隐私保护和访问自由。[chatGPT]

目前clash使用起来还比较方便和谐,所以分享一下小白怎么使用Clash.

自建 or 付费

对于小白还是推荐付费,省钱了学习成本和时间,不需要折腾服务器。
付费可能会有隐私泄露,但是别随意输入密码和浏览不合适的内容,只是学习一些内容是不会有问题的。
这里推荐一个服务商,注册购买后会各自动获得5元:点这里

个人使用购买最低配套餐即可!

配置

在我的服务中可以看见配置下载
我的服务

其中可以看见Clash配置订阅地址
订阅地址

复制这个地址

接下来下载clash软件

下载地址

下载安装后打开配置添加链接,如下图
配置

添加完成后配置就成功了。

使用

菜单栏中选中”设置为系统代理”后,就开始工作了,这时可以选择各种节点了。一般无特殊要求就选择延迟低的。
使用

ok. 分享完成。上网需谨慎,请爱国上网。

ChatGPT指定节点访问

OpenAI风控太厉害了,第一个账号因为一直切换IP所有被封号了, 后来每次使用ChatGPT的时候都需要确认IP使用美国直连的节点。

但是还是太麻烦了,今天研究了下clash客户端的规则,风险使用配置文件可以很轻松的实现使用OpenAI时走固定节点,而且其他域名走其他节点。

步骤如下:

  1. 使用proxy-provider模式

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    proxy-providers:
    agentProxy:
    type: http
    path: ./profiles/xxx.yml
    url: https://xxx/clash_proxies.yml
    interval: 36000
    health-check:
    enable: true
    url: http://www.gstatic.com/generate_204
    interval: 3600
    usa:
    type: file
    path: ./profiles/usa-only.yml
    interval: 36000
    health-check:
    enable: true
    url: http://www.gstatic.com/generate_204
    interval: 3600

    第一个为订阅模式,会自拉取节点到 ./profiles/xxx.yml中。
    第二个是本地文件模式,可以把第一个订阅的节点写到第二个配置文件中。
    这样节点就配置好了。

  2. 配置proxy-groups
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 代理组策略
    proxy-groups:
    - name: PROXY-USA
    type: select
    use:
    - usa
    - name: PROXY
    type: select
    use:
    - agentProxy

相当于定义了两个代理组,第一个组中只有美国节点。

  1. 配置rules
    1
    2
    3
    rules:
    # CUSTOM
    - DOMAIN-SUFFIX,openai.com,PROXY-USA

这样的话,openai的流量就只会走美国节点了。
看下clash的日志

1
2
3
4
5
6
7
8
9
10
11
12
[2023-06-27 17:32:17][INFO] [TCP] 127.0.0.1:65228 --> in.appcenter.ms:443 match Match() using FINAL[x1.0 香港 - 中转1]
[2023-06-27 17:32:24][INFO] [TCP] 127.0.0.1:65247 --> collector.github.com:443 match Match() using FINAL[x1.0 香港 - 中转1]
[2023-06-27 17:32:28][INFO] [TCP] 127.0.0.1:65264 --> openaiapi-site.azureedge.net:443 match Match() using FINAL[x1.0 香港 - 中转1]
[2023-06-27 17:32:28][INFO] [TCP] 127.0.0.1:65265 --> fonts.googleapis.com:443 match DomainKeyword(google) using PROXY[x1.0 香港 - 中转1]
[2023-06-27 17:32:28][INFO] [TCP] 127.0.0.1:65262 --> platform.openai.com:443 match DomainSuffix(openai.com) using PROXY-USA[x1.0 美西 - 直连1]
[2023-06-27 17:32:28][INFO] [TCP] 127.0.0.1:65263 --> beta.openai.com:443 match DomainSuffix(openai.com) using PROXY-USA[x1.0 美西 - 直连1]
[2023-06-27 17:32:29][INFO] [TCP] 127.0.0.1:65274 --> fonts.gstatic.com:443 match DomainSuffix(gstatic.com) using PROXY[x1.0 香港 - 中转1]
[2023-06-27 17:32:29][INFO] [TCP] 127.0.0.1:65273 --> cdn.openai.com:443 match DomainSuffix(openai.com) using PROXY-USA[x1.0 美西 - 直连1]
[2023-06-27 17:32:30][INFO] [TCP] 127.0.0.1:65282 --> openaiapi-site.azureedge.net:443 match Match() using FINAL[x1.0 香港 - 中转1]
[2023-06-27 17:32:30][INFO] [TCP] 127.0.0.1:65279 --> api.openai.com:443 match DomainSuffix(openai.com) using PROXY-USA[x1.0 美西 - 直连1]
[2023-06-27 17:32:32][INFO] [TCP] 127.0.0.1:65290 --> widget.intercom.io:443 match Match() using FINAL[x1.0 香港 - 中转1]
[2023-06-27 17:32:49][INFO] [TCP] 127.0.0.1:65340 --> exp.notion.so:443 match DomainSuffix(notion.so) using PROXY[x1.0 香港 - 中转1]

ok, 之前一直没有仔细的看clash的文档,今天研究下,发现可以搞的事情还有很多!

nodejs path库使用

  1. 获取当前文件夹下的所有文件夹和文件
    1
    2
    3
    4
      let dirs = fs.readdirSync(__dirname)
    dirs.forEach(dir => {
    console.log(path.join(__dirname, dir))
    });

opencv 常用方法

  1. 灰阶
  2. 轻度模糊
  3. 边缘检测

go环境搭建

下载安装包

  1. 因为本人使用的是mac使用可以直接下载安装包,地址:https://golang.org/doc/install?download=go1.14.2.darwin-amd64.pkg
  2. 下载后双击安装即可
  3. 安装包没有修改环境变量,所以终端无法执行go命令,所以安装完后修改 ~/.bash_profile 增加 /usr/local/go/bin到环境变量中
  4. source ~/.bash_profile
  5. go version 可以看见终端输出版本,安装成功

python小白记录环境搭建

python不是本人的主要语言,只是有时需要找一些python有现成的库可以实现的demo,比如验证码识别,图像识别功能等,每次都需要折腾一下python 环境,所以记录一下。

先说一下找到的几个工具
pip,virtualenv

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×