/images/avatar.png

谷中仁的博客

所有文章观点仅代表本站观点,与他人无关。

How to Host an English Standup Meeting

场景

最近上了澳洲的项目,项目组 9 个人,我们的站会是每周有一个人来轮流主持,每天早上 10 点,在Teams上与澳洲的客户一起面对Jira看板进行工作同步; 上周正好轮值到我了,按照我司的习惯,哪能有搞不定的事啊,如果有,那就是多花点时间的问题了,当然这话是我说的。那么对于英语菜鸟的我是怎么 host standup meeting 的呢?接下来让我一一道来。

Config Yarn to Use Private Package

Photo by Jeffrey Czum from Pexels

场景

在公网上我们获取 npm 包的时候直接就用下面的命令就可以了

$ npm install xxx
$ # 或者
# yarn add xxx

但是有时候,公司内部开发的工具库只想放在公司内部的服务器上,那么我们就需要对 npm 源进行配置了。因为 yarn 可以利用缓存,其速度比较快,且 npm 包是公司内部网络,鉴于效率,我们采用 yarn 来提速。

Config ssh to Keychina

将生成的 ssh 私钥添加到 Mac 的 keychain 中, 如果是其他操作系统,可忽略此步骤

$ ssh-add -K .ssh/is_rsa

将登录信息配置到。ssh/config 中

$ touch ~/.ssh/config
$ vim ~/.ssh/config
# edit text
Host myvm
  Hostname ip
  User user

保存之后就可以使用如下命令快捷登录服务器了

$ ssh myvm

参考地址

https://blog.infox.ren/2019/10/24/ssh-guide/[1]

基于 Rust 的 WebAssembly 工程开发过程小记

初始化工程

$ npm init rust-webpack web_assembly_demo
npx: 18 安装成功,用时 3.989 秒
 Rust +  WebAssembly + Webpack = ️
Installed dependencies

安装 Web 依赖

$ yarn
yarn install v1.19.1
warning package.json: No license field
info No lockfile found.
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
warning rust-webpack-template@0.1.0: No license field
[1/4]   Resolving packages...
warning @wasm-tool/wasm-pack-plugin > watchpack > chokidar > fsevents@1.2.9: One of your dependencies needs to upgrade to fsevents v2: 1) Proper nodejs v10+ support 2) No more fetching binaries from AWS, smaller package size
[2/4]   Fetching packages...
[3/4]   Linking dependencies...
[4/4]   Building fresh packages...
success Saved lockfile.
  Done in 17.87s.

修改 Cargo.toml 为

# You must change these to your own details.
[package]
name = "web_assembly_demo"
description = "My super awesome Rust, WebAssembly, and Webpack project!"
version = "0.1.0"
authors = ["guzhongren <guzhoongren@live.cn>"]
categories = ["wasm"]
readme = "README.md"
edition = "2018"

[lib]
crate-type = ["cdylib"]

[profile.release]
# This makes the compiled code faster and smaller, but it makes compiling slower,
# so it's only enabled in release mode.
lto = true

[features]
# If you uncomment this line, it will enable `wee_alloc`:
#default = ["wee_alloc"]

[dependencies]
# The `wasm-bindgen` crate provides the bare minimum functionality needed
# to interact with JavaScript.
wasm-bindgen = "0.2.45"

# `wee_alloc` is a tiny allocator for wasm that is only ~1K in code size
# compared to the default allocator's ~10K. However, it is slower than the default
# allocator, so it's not enabled by default.
wee_alloc = { version = "0.4.2", optional = true }

# The `web-sys` crate allows you to interact with the various browser APIs,
# like the DOM.
[dependencies.web-sys]
version = "0.3.22"
features = ["console"]

# The `console_error_panic_hook` crate provides better debugging of panics by
# logging them with `console.error`. This is great for development, but requires
# all the `std::fmt` and `std::panicking` infrastructure, so it's only enabled
# in debug mode.
[target."cfg(debug_assertions)".dependencies]
console_error_panic_hook = "0.1.5"

# These crates are used for running unit tests.
[dev-dependencies]
wasm-bindgen-test = "0.2.45"
futures = "0.1.27"
js-sys = "0.3.22"
wasm-bindgen-futures = "0.3.22"

Rust 的依赖会在启动 Web 程序的时候自动安装。

在 VSCode 上配置 Rust 的调试环境

Photo by Jan Kopřiva from Pexels

插件

在 VS Code 上进行 Rust 的开发,需要使用一下两个库

  • RLS(vscode 搜索插件 rls)
  • lldb(vscode 搜索插件 codelldb)

安装很简单,不用说

配置

{
  // 使用 IntelliSense 了解相关属性。
  // 悬停以查看现有属性的描述。
  // 欲了解更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Debug executable 'show_posts'", // 配置名称,将会在调试配置下拉列表中显示
      "type": "lldb", // 调试器类型:Windows 表示器使用 cppvsdbg;GDB 和 LLDB 使用 cppdbg。该值自动生成
      "request": "launch", // 调试方式
      "cargo": { // 运行的参数
        "args": [
          "build",
          "--bin=show_posts",
          "--package=diesel_demo"
        ],
        "filter": {
          "name": "show_posts",
          "kind": "bin"
        }
      },
      "args": [], // 传递给程序的参数,没有参数留空即可
      "cwd": "${workspaceFolder}" // 调试程序时的工作目录
    },
}

launch.json

Git Revert 多条已提交的记录

我需要撤销最后的四个提交

image

如果用* git revert * 一个一个 revert 挺费劲,可以用* git revert OLDER_COMMIT^..NEWER_COMMIT* 这种格式,对应我的工程就是

$ git revert 54b23c2251acde.....09123463e99436fba83f9^..a19a10b24b648b80401234686aac65...

这样会在 log 上多留下四条 revert 相关的记录,我不想生成 revert 相关的记录呢?可以的