自动给 Google 搜索结果添加查看缓存功能
作者:matrix 发布时间:2024-07-12 分类:零零星星
R.I.P.
2024年09月25日 google快照已死?️
https://www.solidot.org/story?sid=79336
google 搜索结果的查看缓存功能下线其实很久了,每次都得手动 `cache:https://www.hhtjim.com/` 就很麻烦。
有空搞了个油猴脚本能自动在Google搜索结果中添加 [Cache]
链接到该网页的缓存版本 ?? 这就方便多了
安装地址
https://greasyfork.org/zh-CN/scripts/500422-google-cache-viewer
脚本代码
// ==UserScript==
// @name Google cache viewer
// @namespace http://hhtjim.com/
// @version 1.0.1
// @description Automatically adds a cache link to Google Search results. / Google搜索结果中添加缓存按钮
// @author Hootrix
// @include https://www.google.tld/search?*
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
window.addEventListener('load', function() {
// select containers `cite[role="text"]`
const containers = document.querySelectorAll('.g.Ww4FFb.vt6azd.tF2Cxc.asEBEc');
containers.forEach(container => {
//const cite = container.querySelector('cite[role="text"]');
let cites = container.querySelectorAll('cite[role="text"]');
// last item
let cite = cites[cites.length - 1];
const link = container.querySelector('a[data-ved]');
if (cite && cite.textContent.startsWith('http')) {
//const url = cite.textContent;
const url = link.href
const cacheUrl = `https://webcache.googleusercontent.com/search?q=cache:${url}`;
const cacheDiv = document.createElement('div');
cacheDiv.className = ''; // class name eFM0qc
cacheDiv.innerHTML = `<a href="${cacheUrl}" target="_blank" style="visibility:visible;color: blue; margin-left: 10px;" rel="noopener">[Cache]</a>`;
if (cite.parentElement) {
cite.parentElement.appendChild(cacheDiv);
}
}
});
});
})();
Dockerfile多阶段构建镜像
作者:matrix 发布时间:2024-07-06 分类:Golang Linux
在构建GO的docker镜像时,都需要安装很多开发环境和依赖包,如果正常打包完整环境为镜像完全没有必要。因为运行时只需要Golang打包的二进制文件,不需要完整 dev 环境。
dockerfile多阶段构建就可以完美解决,将构建和运行环境分开,可以最终镜像最小化。 😆 😆 爽~~
# 第一阶段:使用开发环境镜像进行构建,设置别名builder
FROM golang:1.22 AS builder
# 设置工作目录
WORKDIR /app
# 复制所有文件到工作目录
COPY . .
# 编译应用程序
RUN go build -o go-demo .
# 第二阶段:使用小体积的基础镜像 打包最终镜像
FROM alpine:latest
WORKDIR /app
# 从构建阶段复制编译好的可执行文件
COPY --from=builder /app/go-demo .
# 运行可执行文件
CMD ["./go-demo"]
这样就可以确保最终的镜像只包含运行应用所需的最小文件,镜像环境也只是基础的alpine镜像。