开发眼中的 TDD
本思维导图中大部分内容由 @haihaio[1] 完成。
此思维导图中总结了 TDD 的概念,原则,套路,案例及策略等,不失为一份很好的学习资料。
项目地址:https://github.com/AndorLab/MindKnowledgeGraph
本思维导图中大部分内容由 @haihaio[1] 完成。
此思维导图中总结了 TDD 的概念,原则,套路,案例及策略等,不失为一份很好的学习资料。
项目地址:https://github.com/AndorLab/MindKnowledgeGraph
软件常用常新,软件大多的目的都是效率,办公,沟通,和娱乐等。虽说 Mac 也有自己的时间机器,可以随时将新机器回复到旧机器上,但是作为分享和传播,那么写一篇文章那是最有效率的了,也可为自己后期使用做备份。 最近由同事的一个脚本启发,特制做了我自己 Mac 电脑上必备的一些软件的快速安装脚本;程序员的本质就是将一切事物简单化,代码化。.. 化; 地址如下,欢迎提 PR: awesome-setup: https://github.com/guzhongren/awesome-setup[1]
最近上了澳洲的项目,项目组 9 个人,我们的站会是每周有一个人来轮流主持,每天早上 10 点,在Teams
上与澳洲的客户一起面对Jira
看板进行工作同步;
上周正好轮值到我了,按照我司的习惯,哪能有搞不定的事啊,如果有,那就是多花点时间的问题了,当然这话是我说的。那么对于英语菜鸟的我是怎么 host standup meeting 的呢?接下来让我一一道来。
在公网上我们获取 npm 包的时候直接就用下面的命令就可以了
$ npm install xxx
$ # 或者
# yarn add xxx
但是有时候,公司内部开发的工具库只想放在公司内部的服务器上,那么我们就需要对 npm 源进行配置了。因为 yarn 可以利用缓存,其速度比较快,且 npm 包是公司内部网络,鉴于效率,我们采用 yarn 来提速。
为了开发高质量的软件,我们需要能够跟踪所有更改并在必要时将其撤消。 版本控制系统通过跟踪项目历史记录并帮助合并多人所做的更改来填补这一角色,极大地加快了工作速度,并使我们能够更轻松地发现错误。
$ ssh-add -K .ssh/is_rsa
$ touch ~/.ssh/config
$ vim ~/.ssh/config
# edit text
Host myvm
Hostname ip
User user
$ ssh myvm
cargo.toml
是 Rust 包管理器 cargo
的清单文件。这个文件包 name
、 version
和包的依赖,在 Rust 中,我们一般称之为 crate
。
在示例中给出了一系列信息,但是我们主要讨论如下三点:
$ npm init rust-webpack web_assembly_demo
npx: 18 安装成功,用时 3.989 秒
Rust + WebAssembly + Webpack = ️
Installed dependencies
$ 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.
# 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 程序的时候自动安装。
在 VS Code 上进行 Rust 的开发,需要使用一下两个库
安装很简单,不用说
{
// 使用 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}" // 调试程序时的工作目录
},
}