0x00 了解其定义、应用与影响
- 📺 生成式 AI 入门教程,介绍生成式 AI 的定义、应用和影响。
- 💼 生成式 AI 被认为可能为全球经济每年贡献 2.6 至 4.4 万亿美元。
- 🌐 生成式 AI 有望在未来十年内提高全球 GDP 7%。
- 🤖 生成式 AI 可以生成高质量的文本、图像和音频。
- 📈 生成式 AI 使许多 AI 应用更容易构建,可能帮助企业降低成本并创造更多价值。
- 📣 课程将介绍生成式 AI 的工作原理,讨论常见用例,以及如何负责任地应用 AI。
从 2022 年底 ChatGPT 的发布,当时未感觉到有什么特别的,直到大概二三月份,在网络上看到铺天盖地的都在发与 ChatGPT 的对话截图,有一些是感叹它的强大,有一些是对它进行调戏,试图找出它的不足。
这时我才开始关注它,于是在推上时间线刷到的注册流程指引帮助下,短信验证码外加程序员必备的科学上网技能,挺容易就注册成功了。不过我相信一般普通人可能大部分在这一步就卡住放弃了。之后也看到说在某宝上购买的账号,在之后阶段被封号,总之在上半年期间,OpenAI 花了不少功夫与大家斗智斗勇,就不展开了。
在本地开发环境或者服务器上尝尝忘记了一些常见命令的参数用法,特别是参数比较多的时候,不经常用的话老容易忘记。
先让我们来看看效果
这篇文章我们会来讨论一下如何在 Deno 中引入私有的 npm 模块。如果还不了解 deno 背景的童鞋可以先到官网 ( https://deno.land ) 了解一下。 也可以通过这篇讲 Deno 是什么? 的文章了解一下一下 Deno 出现的背景。
比如现在遇到情况是我通过以下命令想装个 curl
或者 telnet
之类的工具
apt-get update && apt-get install -y curl
这时,如果你的默认源是官方的,在国内可能是比较慢的,比如我的服务器在阿里云上的话,那么阿里云的源肯定是比较快的。
const puppeteer = require('puppeteer');
const pageUrl = 'https://some-url.com';
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setRequestInterception(true);
page.on('request', (interceptedRequest) => {
// Don't intercept main document request
if (interceptedRequest.url === pageUrl) {
interceptedRequest.continue();
return;
}
// Intercept if request url starts with https
if (interceptedRequest.url.startsWith('https://')) {
interceptedRequest.continue({
// Replace https:// in url with http://
url: interceptedRequest.url.replace('https://', 'http://'),
});
return;
}
// Don't override other requests
interceptedRequest.continue();
})
await page.goto(pageUrl);
await browser.close();
})();
今天在 git clone
一个 github 仓库的时候出现了以下错误
ssh_exchange_identification: read: Connection reset by peer
怀疑是代理的原因,试了全局、直连、规则都不行,查找了一些文章有说可以使用以下命令查看详细调试信息
ssh -vvv -T git@github.com
还是不行,在 v2ex 上看到一个楼主说需要加个配置,所以就试了下
在 ~/.ssh/config
中添加以下配置
Host github.com
Hostname ssh.github.com
Port 443
再试下就可以了
发现生产环境的业务报了好多错误, 涉及的 Node.js 代码是一个基于 Redis 的频率计数器,那部分逻辑大概是这样
// 查询并增加一次计数
async incr (id) {
const key = `${this.namespace}:${id}`
const now = getMicrotime()
const start = now - this.duration * 1000
const operations = [
['zremrangebyscore', key, 0, start],
['zcard', key],
['zadd', key, now, now],
['pexpire', key, this.duration]
]
const res = await this.redis.multi(operations).exec()
const count = toNumber(res[1][1])
return count
}
错误是:
Cannot read property '1' of undefined