lantern 邀请码

lantern 是一款专业的代理软件,方便更好的使用互联网,输入我的邀请码 46KBX2 来获得三个月的蓝灯专业版!立即下载 https://github.com/getlantern/forum

June 8, 2021

Neovide

neovide 是一个简单的 neovim 用户图像工具,相对于 Neovim 会有一些界面的提升的,但它的功能类似于终端用户界面。 neovide 的官网:https://github.com/Kethku/neovide。 gitbhub上有更多关于它的安装及使用教程。

February 16, 2021

idea 付费版和免费版的区别

idea 付费版和免费版的区别 IntelliJ IDEA Ultimate IntelliJ IDEA Community Edition Java, Kotlin, Groovy, Scala + + Android + + Maven, Gradle, sbt + + Git, SVN, Mercurial + + Debugger + + Profiling tools + - Spring, Java EE, Micronaut, Quarkus, Helidon, and more + - Swagger, Open API Specifications + - JavaScript, TypeScript + - Database Tools, SQL + -

September 24, 2020

https 原理简介

HTTPS 的整个通信过程可以分为两大阶段:证书验证和数据传输阶段,数据传输阶段又可以分为非对称加密和对称加密两个阶段。具体流程按图中的序号讲解。 客户端请求 HTTPS 网址,然后连接到 server 的 443 端口 (HTTPS 默认端口,类似于 HTTP 的80端口)。 采用 HTTPS 协议的服务器必须要有一套数字 CA (Certification Authority)证书,证书是需要申请的,并由专门的数字证书认证机构(CA)通过非常严格的审核之后颁发的电子证书 (当然了是要钱的,安全级别越高价格越贵)。颁发证书的同时会产生一个私钥和公钥。私钥由服务端自己保存,不可泄漏。公钥则是附带在证书的信息中,可以公开的。证书本身也附带一个证书电子签名,这个签名用来验证证书的完整性和真实性,可以防止证书被篡改。 服务器响应客户端请求,将证书传递给客户端,证书包含公钥和大量其他信息,比如证书颁发机构信息,公司信息和证书有效期等。Chrome 浏览器点击地址栏的锁标志再点击证书就可以看到证书详细信息。 客户端解析证书并对其进行验证。如果证书不是可信机构颁布,或者证书中的域名与实际域名不一致,或者证书已经过期,就会向访问者显示一个警告,由其选择是否还要继续通信。如果证书没有问题,客户端就会从服务器证书中取出服务器的公钥A。然后客户端还会生成一个随机码 KEY,并使用公钥A将其加密。 客户端把加密后的随机码 KEY 发送给服务器,作为后面对称加密的密钥。 服务器在收到随机码 KEY 之后会使用私钥B将其解密。经过以上这些步骤,客户端和服务器终于建立了安全连接,完美解决了对称加密的密钥泄露问题,接下来就可以用对称加密愉快地进行通信了。 服务器使用密钥 (随机码 KEY)对数据进行对称加密并发送给客户端,客户端使用相同的密钥 (随机码 KEY)解密数据。 双方使用对称加密愉快地传输所有数据。

September 23, 2020

github 的 master 分支将更改为 main

从今年 10 月 1 日起,GitHub 在该平台上创建的所有新的源代码仓库将默认被命名为 “main”,而不是原先的"master"。值得注意的是,现有的存储库不会受到此更改影响。 早在今年 6 月份,受美国大规模的 “Black Lives Matter”运动影响,为了安抚愈演愈烈的民众情绪,GitHub 就宣布将替换掉 master 等术语,以避免联想奴隶制。现如今,在外界一些声音的催促下,这一举措则终于要正式落地了。 除 GitHub 外,为了避免带有所谓的“种族歧视色彩”,许多科技巨头或知名软件也都调整了自己的业务和产品,以平息社会舆论。包括有:MySQL 宣布删除 master、黑名单白名单等术语;Linus Torvalds 通过了 Linux 中避免 master/slave 等术语的提案;还有 Twitter 、GitHub、微软、LinkedIn、Ansible、Splunk、OpenZFS、OpenSSL、JP Morgan、 Android 移动操作系统、Go 编程语言、PHPUnit 和 Curl 等宣布要对此类术语进行删除或更改。同时,IBM、亚马逊、微软也都接连调整面部识别平台业务,以防加深歧视或遭受指责。 且最初在 Git 中写下“master”一词的开发者 Petr Baudis 也于 6 月份在社交网站上表明立场称,自己当年不该使用“master”这个可能给别人造成伤害的词语。并表示,他曾多次希望可以将“master”改成“main”(和“upstream”)。不过直到现在,才由 GitHub 开始主导替换工作。 而对于为何选择“main”而不是其他替换词汇,Github 方面给出的解释为,main 是他们在平台上看到的最受欢迎的 master 替代品。并且 main 这个词汇很短,可以帮助用户形成良好的肌肉记忆;在很多种语言中翻译起来也都很容易。 此外,Github 还透露,截至今年年底,他们将使现有存储库无缝重命名其默认分支。当用户重命名分支机构时,他们将重新定位打开的 PR 和草稿版本、移动分支机构保护策略等,且所有的这些都将自动完成。 事实上,计算机术语政治正确性早已不是新鲜话题。2004 年,“master/slave”曾被全球语言检测机构评为年度最不政治正确的十大词汇之一,时任主席称这是政治渗透到计算机技术控制中的表现。2008 年,开源软件 Drupal 在社区发布消息,高调站队,将“master/slave”重命名为“client/server”。2018年,IETF 也在草案当中指出,要求开源软件更改“master/slave”和“blacklist/whitelist”两项表述。 但是值得思考的是,在计算机源码领域中,“master/slave”和“blacklist/whitelist”之类的技术用语有错吗?一味的“一刀切”的话,会不会导致所谓的矫枉过正呢

September 22, 2020

S3协议

S3是Simple Storage Service的缩写,即简单存储服务。亚马逊的名词缩写也都遵循这个习惯,例如Elastic Compute Cloud缩写为EC2等等。 S3说的玄乎一点可以叫云存储,通俗一点就是大网盘。其概念类似于分布式文家系统,同Google的GFS应该在一个层面。 目前的阿里的oss,腾讯的cos,七牛云存储都兼容aws的S3,所以要更换这些服务商之间提供的云存储非常容易,只需要简单的修改Access Key, Secrect Key等就行。 S3的定义如下 Amazon S3 is a web service that enables you to store data in the cloud. You can then download the data or use the data with other AWS services, such as Amazon Elastic Cloud Computer (EC2). 看来除了做网盘只用,S3存储的数据还可以被其他的亚马逊高层服务直接引用,这一点比国内的简单的网盘提供商高不少,亚马逊大网盘是其整体Solution中的有机组成部分。 基本概念 1. bucket – 类比于文件系统的目录 A bucket is a Container for objects stored in Amazon S3. Every object is contained in a bucket. For example, if the object named photos/puppy.jpg is stored in the johnsmith bucket, then it is addressable using the URL http://johnsmith.s3.amazonaws.com/photos/puppy.jpg 似乎目录不能嵌套,也就是不能有子目录,官方的说法是起到namespace的作用,是访问控制的基本单位,其实丫还是个目录。 2. Object – 类比文件系统的文件 对象中带有对象名名,对象属性,对象本身最大5G,其实也还是个文件。 目前object有Versioning的属性(即对象不同历史版本的cache概念),这个是文件系统不具备的,在早期看到的S3资料中没有这一概念,应该是演进的结果,其面对的应该是有版本控制的需求的用户。 3. Keys – 类比文件名 key的样式也是URL,记住亚马逊的服务都是使用Web Service或REST方式访问的。...

September 18, 2020

免费的云存储

七牛云存储 提供了每月10G的免费存储,一般的网站已经够用,如果超额了,费用也很低,可以考虑将网站的图片存在七牛,安全可靠。

September 18, 2020

frp 使用

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。本文简单的介绍frp的配置使用。 实现内网穿需要有一台公网服务器。本文将公网服务器称为服务端,内网服务器称为客户端。需要开启相关的端口。相关端口没开通,访问就会失败。 frp git地址:https://github.com/fatedier/frp 中文文档:https://github.com/fatedier/frp/blob/master/README_zh.md frp下载地址:https://github.com/fatedier/frp/releases 本文使用软件:frp_0.21.0_linux_amd64.tar.gz 本文使用系统:centos7(公网一台,内网一台) 本文使用软件:frp_0.21.0_linux_amd64.tar.gz,frp的客户端和服务端都在同一个包里。 文件说明 frps.ini: 服务端配置文件 frps: 服务端软件 frpc.ini: 客户端配置文件 frpc: 客户端软件 frps.ini配置 [common] bind_port = 7000 # auth token token = Qwert123 dashboard_port = 7500 # dashboard 用户名密码,默认都为 admin dashboard_user = admin dashboard_pwd = Qwert123 vhost_http_port = 7083 开启服务端服务 ./frps -c ./frps.ini 可以用脚本来启动: #!/bin/sh nohup /usr/local/frp/frps -c /usr/local/frp/frps.ini & frpc.ini配置 [common] #服务器ip地址 server_addr = 121.199.2.XXX server_port = 7000 #开放api,提供reload服务 admin_addr = 127.0.0.1 admin_port = 7400 # auth token token = Qwert123 [ssh] type = tcp local_ip = 127.0.0.1 #ssh端口 local_port = 22 remote_port = 1022 可以使用脚本来启动(start.sh) #!/bin/sh sudo nohup /usr/local/frp/frpc -c /usr/local/frp/frpc....

September 8, 2020