0%

Windows 无限试用 JetBrains 系列产品

2020 系列

删除 %APPDATA%\JetBrains\<产品名>\eval\*.key,如 GoLand 2020.1.2 产品就是 GoLand2020.1

PowerShell 脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
# 修改为系统上安装了的版本
$products = "IntelliJIdea2020.1", "GoLand2020.1", "PyCharm2020.1", "WebStorm2020.1"

foreach ($product in $products) {
$parent = "${ENV:APPDATA}\JetBrains\${product}\eval"
if (Test-Path -Path $parent) {
Write-Host -ForegroundColor Green "Remove:" "$parent\*.key"
Remove-Item "$parent\*.key"
}
else {
Write-Host -ForegroundColor Yellow $parent "Not Found"
}
}
阅读全文 »

NodeJS 使用阿里镜像仓库

1
2
3
4
5
6
7
8
9
10
npm config set registry https://registry.npm.taobao.org/
npm config set disturl https://npm.taobao.org/mirrors/node/
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
npm config set sharp_dist_base_url https://npm.taobao.org/mirrors/sharp-libvips/
npm config set electron_mirror https://npm.taobao.org/mirrors/electron/
npm config set puppeteer_download_host https://npm.taobao.org/mirrors/
npm config set phantomjs_cdnurl https://npm.taobao.org/mirrors/phantomjs/
npm config set sentrycli_cdnurl https://npm.taobao.org/mirrors/sentry-cli/
npm config set sqlite3_binary_site https://npm.taobao.org/mirrors/sqlite3/
npm config set python_mirror https://npm.taobao.org/mirrors/python/
阅读全文 »

为终端设置代理

linux shell 终端代理设置方法

linux 要在 shell 终端为 http https ftp 协议设置代理,值需要设置对应的环境变量即可。

下面是一些关于代理的环境变量:

环境变量 描述 值示例
http_proxy 为http网站设置代理 10.0.0.51:8080
user:pass@10.0.0.10:8080
socks4://10.0.0.51:1080
socks5://192.168.1.1:1080
https_proxy 为https网站设置代理 同上
ftp_proxy 为ftp协议设置代理 socks5://192.168.1.1:1080
no_proxy 无需代理的主机或域名,可以使用通配符,多个时使用 , 号分隔 *.aiezu.com,10.*.*.*,192.168.*.*,*.local,localhost,127.0.0.1

可以将上面4个环境变量设置项放于 ~/.bashrc 文件尾部,这样用户打开bash shell终端时会自动调用此脚本,读入它们。

阅读全文 »

Redis 常见面试题

什么是 Redis ?

Redis 是一个基于内存的高性能key-value数据库。

Redis 的特点

Redis 本质上是一个 Key-Value 类型的内存数据库,很像 Memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作, Redis 的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。

阅读全文 »

SSH 端口转发

SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。但是,SSH 还同时提供了一个非常有用的功能,这就是端口转发。它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程有时也被叫做“隧道”(tunneling),这是因为 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些 TCP 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输。而与此同时,如果您工作环境中的防火墙限制了一些网络端口的使用,但是允许 SSH 的连接,那么也是能够通过将 TCP 端口转发来使用 SSH 进行通讯。总的来说 SSH 端口转发能够提供两大功能:

  1. 加密 SSH Client 端至 SSH Server 端之间的通讯数据。
  2. 突破防火墙的限制完成一些之前无法建立的 TCP 连接。

使用了端口转发之后,TCP 端口 A 与 B 之间现在并不直接通讯,而是转发到了 SSH 客户端及服务端来通讯,从而自动实现了数据加密并同时绕过了防火墙的限制。

阅读全文 »

使用 aria2 搭建离线下载服务器

在VPS主机上安装 aria2 下载软件用作离线下载,能够远程管理下载,下载完成后能够通过HTTP(或其他任何你愿意的方式)从VPS取回。

阅读全文 »

物联网设备消息队列选型

需求

消息队列的作用

  • 削峰,形象点的话,可以比喻为蓄水池。比如elk日志收集系统中的kafka,主要在日志高峰期的时候,在牺牲实时性的同时,保证了整个系统的安全。
  • 同步系统异构化。原先一个同步操作里的诸多步骤,可以考虑将一些不影响主线发展的步骤,通过消息队列异步处理。比如,电商行业,一个订单完成之后,一般除了直接返回给客户购买成功的消息,还要通知账户组进行扣费,通知处理库存变化,通知物流进行派送等,通知一些用户组做一些增加会员积分等操作等。
阅读全文 »

利用 GitHook 构建持续交付和部署

Git 钩子

和其它版本控制系统一样,Git 能在特定的重要动作发生时触发自定义脚本。 有两组这样的钩子:客户端的和服务器端的。 客户端钩子由诸如提交和合并这样的操作所调用,而服务器端钩子作用于诸如接收被推送的提交这样的联网操作。 你可以随心所欲地运用这些钩子。本文只介绍服务器端钩子。

安装一个钩子

钩子都被存储在 Git 目录下的 hooks 子目录中。 也即绝大部分项目中的 .git/hooks 。 当你用 git init 初始化一个新版本库时,Git 默认会在这个目录中放置一些示例脚本。这些脚本除了本身可以被调用外,它们还透露了被触发时所传入的参数。 所有的示例都是 shell 脚本,其中一些还混杂了 Perl 代码,不过,任何正确命名的可执行脚本都可以正常使用 —— 你可以用 Ruby 或 Python,或其它语言编写它们。 这些示例的名字都是以 .sample 结尾,如果你想启用它们,得先移除这个后缀。

把一个正确命名且可执行的文件放入 Git 目录下的 hooks 子目录中,即可激活该钩子脚本。 这样一来,它就能被 Git 调用。

阅读全文 »

配置 Pip 源

Pip 源配置文件可以放置的位置

Linux/Unix

  • /etc/pip.con
  • ~/.pip/pip.conf
  • ~/.config/pip/pip.conf

Mac OSX

  • ~/Library/Application Support/pip/pip.conf
  • ~/.pip/pip.conf
  • /Library/Application Support/pip/pip.conf

Windows

  • %APPDATA%\pip\pip.ini
  • %HOME%\pip\pip.ini
  • C:\Documents and Settings\All Users\Application Data\PyPA\pip\pip.conf (Windows XP)
  • C:\ProgramData\PyPA\pip\pip.conf (Windows 7及以后)
阅读全文 »

如何自己搭建git服务器

准备

  • 可以用 SSH 访问的服务器

在服务器上安装git

如果要在 Linux 上安装预编译好的 Git 二进制安装包,可以直接用系统提供的包管理工具。在 Fedora 上用 yum 安装:

1
yum install git-core

在 Ubuntu 这类 Debian 体系的系统上,可以用 apt 安装:

1
sudo apt install git
阅读全文 »