Font 免费编程用字体

2020-06-05

专门为程序员制作的字体,让编程看起来赏心悦目。……(^_^)v

Cascadia Code

Cascadia Code 是微软出品,编程使用等宽字体,字体异常的出色。

rustup 和 cargo 国内加速镜像服务

2020-05-30

国内提供rustup镜像主要有

PHP 多版本运行环境

2020-05-29

步骤和原理

  1. PHP 官网下载 php 安装包
  2. 分配安装路径
  3. 修改 php-fpm 端口

下载和安装

打开 PHP 官网下载 选择需要的版本,比如 PHP 7.2.31

wget https://www.php.net/distributions/php-7.2.31.tar.gz
tar xvf php-7.2.31.tar.gz
cd ./php-7.2.31

使用 Golang 来制作 reddit 图片下载爬虫

2020-05-09

使用 golang 来创建一个爬虫获取 <reddit.com> 图片。

比如 r/wallpaper,通过解析官方API http://www.reddit.com/r/wallpaper.json?limit=22&after=xxxxx 返回的 JSON 数据来分析和下载文件。

主要使用库

  • github.com/urfave/cli/v2 用来创建命令行。
  • github.com/gocolly/colly 是golang爬虫框架, 用来获取数据。
  • github.com/buger/jsonparser 来解析 reddit 的json数据。

下面以一步步创建爬虫, 创建命令,数据检索,并发处理下载。

graph TD
    A[命令行入口] --参数--> B(获取数据) 
    B --> B1(数据处理) 
    B1 --> C{limit}
    C --计数器+1--> B 
    C --等待下载完成-->  E(结束)
    B1 --计数器+1--> D(下载)

Godot 小地图

2020-04-24

使用 ViewportContainers 追加 Viewport 可以让同一视图中出现多个场景。

在当前项目中的主场景中存在节点

  • MapView (ViewportContainers)
    • Viewport
      • ...
  • DistortMaskView
    • Viewport
      • ...

Godot Shader 着色器

2020-04-23

GODOT Shader 类似 glsl 语法.

着色器类型 shader_type canvas_item;

处理函数 不同着色器you固定的着色器入口,其中 particles 仅支持 vertex;

  • vertex 定点处理
  • fragment 片段处理,根据输入的材质处理
  • light 光照处理

渲染模式 不同类型着色器支持模式不同 查看渲染模式

  • blend_mix 混合混合模式(alpha是透明度),默认.
  • unshaded 结果只是反照率。 材质中不会发生照明/阴影。
  • cull_disabled

Mermaid UML 流程图工具

2020-04-17

Mermaid 使用文本来构建UML流程图,类似于 Markdown 的降介文档,用javascript来生成 UML 图。 官方文档

plantuml 类似,都是属于降介文本格式输出类似 dot 图形。

嵌入使用

https://cdn.jsdelivr.net/npm/mermaid@8.5.0/dist/mermaid.min.js
  1. 使用默认的渲染,引入js 后,将文本放入 div.mermaid 中,让 Mermaid 自动渲染。
<div class="mermaid"> 
flowchart LR;
    A-->B;
    B-->C; 
</div>
flowchart LR;
    A-->B;
    B-->C; 

OTP 动态密码算法

2020-04-17

一次性密码 One Time Password, 简称 OTP。

动态密码优点:

  • 由服务器和工具生成密码,无须记录。
  • 随机生产,一次有效性。
  • 根据时间计算,有时效性。

动态密码的产生方式,主要是以时间差做为服务器与密码产生器的同步条件。在需要登录的时候,就利用密码产生器产生动态密码,OTP一般分为计次使用以及计时使用两种,计次使用的OTP产出后,可在不限时间内使用;计时使用的OTP则可设置密码有效时间,从30秒到两分钟不等,而OTP在进行认证之后即废弃不用,下次认证必须使用新的密码,增加了试图不经授权访问有限制资源的难度。

国内一些令牌也是基于动态密码算法生成。 steam,itch, ali,google, 坚果云, 等等都采取了 OTP 来进行二次验证。