西维蜀黍

【Engineering】Concurrency(并发)vs Parallelism(并行)

Concurrency is not parallelism, although it enables parallelism.

If you have only one processor, your program can still be concurrent but it cannot be parallel.

On the other hand, a well-written concurrent program might run efficiently in parallel on a multiprocessor. That property could be important…

  ...


【TrueNAS】制作 U 盘

Linux

在linux系统中要将TrueNAS安装程序写入U盘,请将U盘插入系统并打开终端。首先,请确保U盘的连接路径正确。

$ lsblk -po +vendor,model

并记下U盘的路径,如lsblk的”NAME“列中所示。

接下来,使用dd将安装程序写入U盘。

$ dd status=progress if=path/to/.iso of=path/to/USB

如果出现“permission denied”错误,请使用具有相同参数的sudo dd并输入管理员密码。使用dd时请务必小心,因为选择错误的“ of =”设备路径可能会导致无法恢复的数据丢失。

  ...


【Network】Mesh

Mesh组网连接方式

目前 Mesh 组网一般都支持有线Mesh、无线Mesh、混合组网,很显然有线Mesh效果是最好的。具体效果如下:

有线Mesh > 无线Mesh三频> 无线Mesh双频

  ...


【Engineering】依赖管理(dependency Managament)

What is a dependency?

In today’s software development world, a dependency is additional code that you want to call from your program. Adding a dependency avoids repeating work already done: designing, writing, testing, debugging, and maintaining a specific unit of code. In this article we’ll call that unit of code a package; some systems use terms like library or module instead of package.

Taking on externally-written dependencies is an old practice: most programmers have at one point in their careers had to go through the steps of manually downloading and installing a required library, like C’s PCRE or zlib, or C++’s Boost or Qt, or Java’s JodaTime or JUnit. These packages contain high-quality, debugged code that required significant expertise to develop. For a program that needs the functionality provided by one of these packages, the tedious work of manually downloading, installing, and updating the package is easier than the work of redeveloping that functionality from scratch. But the high fixed costs of reuse mean that manually-reused packages tend to be big: a tiny package would be easier to reimplement.

  ...


【Network】反向代理 - frp

Install

# macOS
$ brew install frps

# Ubuntu
$ curl -LO https://github.com/fatedier/frp/releases/download/v0.47.0/frp_0.47.0_linux_amd64.tar.gz; tar -xf frp_0.47.0_linux_amd64.tar.gz
  ...