Container Image Scanner - Trivy
摘要
在现代软件开发中, 我们会使用一些公共镜像作为基础镜像来快速构建我们的应用镜像,并将其部署到生产环境中。
随着越来越多的应用程序被容器化,容器安全也随之变得越来越重要。在项目的 Pipeline 中, 我们可以使用漏洞扫描器(Vulnerability Scanners)进行扫描并提前获得反馈,实现 “安全左移” ,也可以更好的实践敏捷。
在现代软件开发中, 我们会使用一些公共镜像作为基础镜像来快速构建我们的应用镜像,并将其部署到生产环境中。
随着越来越多的应用程序被容器化,容器安全也随之变得越来越重要。在项目的 Pipeline 中, 我们可以使用漏洞扫描器(Vulnerability Scanners)进行扫描并提前获得反馈,实现 “安全左移” ,也可以更好的实践敏捷。
以下是一些我们在敏捷开发中常用的会议目录,我们可以使用这张表格对相关会议进行适当裁剪,应用到自身团队来提升团队的敏捷实践,提高效率。
| Meeting name | Frequency | Duration | Host | Participators | Main content & Target |
|---|---|---|---|---|---|
| Standup meeting | Everyday | 10’~15’ | Team member take turns | All team member and your PO PM and so on | Describe your job yesterday and today, call out the block, and give a deadline |
| Showcase | Fortnightly | 30’ | Team member take turns | All team member and your PO PM and so on | Show delivery value |
| Code Review | Everyday | 1h | Every dev | All dev | Go thought your code which is written today, feedback to others from tech and biz perspective |
| Backlog grooming | Fortnightly | 1h | BA | All team member | BA and others will explain what /why we will do |
| Tech Huddle | Twice a week(1 short , 1 long) | 30’ or 1h | Every dev take turns | All dev | Show some new tech, or deep work in some domain, Expand your influence |
| Retro | Fortnightly | 1h | Every dev take turns | All team member, PO, PM | Collection some tips which can improve team member work efficiency and make work env more safe and happy |
| Delivery Health Check | Fortnightly | 30’ | BA / TL/ Volunteer | All team member | Check spring’s all cards and hight light the abnormal card, explain it and collection some tips to improve the accuracy of estimating |
| Poker Planning | Fortnightly | 1h | BA | All team member | Estimate cost which you do the specific card, and BA will pull some cards into next spring which all points match some number |
| Bug bash | Every release Before go-live | 1h | QA | All team member | Find bugs from different perspective with different role |
| 1 on 1 | Monthly | 20’ | You or your PM/DM | You and your PM/DM | Talk about daily work and life, best to give feedbacks or suggestions |
上面这些都是些正常的日常会议,但是在日常的工作中还有其他不那么频繁的会议,并且这些会议大多数只是需要参与进去,而不是主持者;这些会议通常是扩大团队或者个人影响力的会议,所以建议你抓住机会。
因为我对我的所有的 git commit 都开启了签名,而且每次 GPG 签名的最长缓存时间我设置成了 1 天, 所以过了今天明天就得重新输入密码了,这估计是个无解的问题,除非我生成没有密码的 GPG 密钥对。
今天朋友发来一个 iWatch SE 的京东购买链接,然后问我这个手表怎么样。作为一个已经有 iWatch 的人来说,回答这个问题应该很简单吧? 然并卵。
先不说,是不是生产力完全取决于你怎么使用它这个万能定律。
旅行就是,你离开了你讨厌的城市去看看别人讨厌的城市。
> 521.3*100
< 52129.99999999999用你的浏览器来执行上面的计算,你应该能得到这个神奇的结果(52129.99999999999)。 Why?
s eeeeeee eeeeffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
|1| 11 | 52 |1 位用来表示符号位 11 位用来表示指数 52 位表示位数
有这么一个需求,有一个合法的数组,需要每隔 3 秒执行一个异步函数,直到最后得到所有异步函数执行结果。
// testForEach.js
const sleep = () => {
return new Promise((resolve, reject) => {
setTimeout(resolve, 3000)
})
}
const getDifferent = (startDate, endDate) => {
return Math.floor((endDate - startDate) / 1000)
}
const startDate = new Date()
let list = [1, 2, 3, 4, 5, 566, 7, 78, 8, 89, 9, 0]
async function testForEach() {
let promiseList = []
list.forEach(async item => {
console.log('================1forEach================')
await sleep()
promiseList.push(await item * 2)
console.log('================2forEach================')
})
const result = await Promise.all([...promiseList])
const endDate = new Date()
console.log(getDifferent(startDate, endDate))
return result
}
testForEach().then(result => {
console.log(result)
})sleep 函数用来等待函数执行;
一般的前端开发情况下,我们都会用到其他的第三方库,比如 UI 库 Ant Desgin, 请求库 axios 等,通常对于 UI 库,我们可以通过快照等操作对其进行测试,但是对于像 axios 这类第三方库,我们必须通过 mock 的方式来实现。
GPG 是开源免费的身份验证工具,简单一句话就是对于公钥使用者可以和密钥拥有者秘密通信;对于密钥使用者,可以像外界证明某句话是你说的;在现实场景中,你可以写了一份信,但是大家怎么知道这份信是你写的呢?如果你身边有熟悉你的人,那 TA 可以通过你的笔迹或者你家生产的信纸来知道这份信是你的,但是对于别人呢?他们对你不了解,所以他们很难证明:你就是你?

性能测试是一种软件测试过程,用于测试特定工作负载下软件应用程序的速度、响应时间、稳定性、可靠性、可伸缩性和资源使用情况。性能测试的主要目的是识别和消除软件应用程序中的性能瓶颈。它是性能工程的一个子集,也被称为"Perf Testing"。