如何快速学习

人们常说互联网已经实现了教育民主化:人类知识的总和只需要谷歌搜索即可获取!然而,获取信息只是故事的一半;你还需要能够将原始信息转化为可用的技能。

对于我们很多人来说,这两者之间的差距可能会导致类似于 教程地狱 的情况——不断地做一个又一个教程,却从未觉得自己在取得实质性的进展。

学习如何有效地学习是非常重要的,尤其 是作为一名软件开发人员;学习新知识几乎就是整个工作的全部!如果你能快速掌握新语言/框架/工具,你会比一般的开发人员 更高效 。这有点像超级能力。

在这篇博文中,我将分享我关于学习的心得,并展示我如何快速掌握新技能!


使用 Certbot 在内网签发 wildcards(通配符证书)

前置条件

  1. Certbot 和 certbot-dns-cloudflare 插件
  2. 域名的 NS 服务器设置为 CloudFlare, 配置好,大概一天后生效(保守估计)
  3. 内网 DNS 服务器, 如果路由器支持定义局域网域名,可以不安装,我用的是 adguard
  4. 内网 Ubuntu 服务器
  5. Ubuntu 安装 Nginx

使用 Caddy 和 CloudFlare 在内网自动签发 https 证书

前置条件

  1. Caddy 和 dns-cloudflare 插件,需要构建自己的 Docker 镜像
  2. 域名的 NS 服务器设置为 CloudFlare, 配置好,大概一天后生效(保守估计)
  3. 内网 DNS 服务器, 如果路由器支持定义局域网域名,可以不安装,我用的是 adguard
  4. 内网 Ubuntu 服务器
  5. Ubuntu 安装 Docker

关于 Git 错误信息的说明

在写关于 Git 的文章时,我注意到很多人都在纠结 Git 的错误信息。我已经习惯这些错误信息很多年了,所以花了很长时间才明白大家为什么会困惑:

  1. 有时我确实被错误信息弄糊涂了,我只是习惯了被弄糊涂而已
  2. 当 Git 给我的错误信息不是很有参考价值时,我有很多策略来获取更多信息。

所以,在这篇文章里,我将逐一分析 Git 的错误信息,列出每条信息中我认为容易混淆的地方,并谈谈当我被错误信息弄糊涂时该怎么做。


你应该使用的现代 Git 命令和功能

我们所有软件工程师每天都在使用 git,但大多数人只接触过最基本的命令,如 addcommitpush 或者 pull,好像还停留在 2005 年。

不过,Git 从那时起引入了许多功能,使用它们能让你的生活变得更轻松,下面就让我们来了解一下最近添加的一些现代 Git 命令。


我不再使用 React.setState 的 3 个理由

Michel Weststrate

CloudBoost

Michel Weststrate published in CloudBoost · Jun 15, 2016

自几个月前,我已在所有我新写的 React 组件弃用 React 的 setState 。别误会我,我没有弃用本地组件状态,我只是不再用 React 去管理它,并且令人愉快!

使用 setState 对初学者来说很棘手。即使经验丰富的 React 程序员在使用 React 自有状态机制时,也很容易引入微妙的 bug,例如:

忘记 React 状态是异步的而引入了 bug,日志输出总是在后面一项。

这篇优秀的 React 文档总结了错误使用 setState 的各种情况:


AI 网页爬虫实验(用 GPT-4 解析 HTML)

从网络搜索结果中解析数据往往是一件麻烦事。但如果有一种方法能让这一艰苦的过程变得轻而易举呢?让我们尝试一下 OpenAI 的新人工智能模型吧。

Hilman Ramadhan

Hilman Ramadhan


打造一款人工智能工具,即时总结书籍内容

无需从头到尾阅读一本书,就能掌握其要点

Alessandro Amenta

在本文中,我们将使用 Python、Langchain 和 OpenAI embeddings 构建一个简单但功能强大的书籍摘要器。

用 DALL-E 3 生成上图。

面临的挑战

GPT-3 和 GPT-4 等人工智能模型功能强大,但也有其局限性。其中一个重要的限制就是上下文窗口,它限制了模型在同一时间可以考虑的文本数量。这意味着你不能把整本书输入模型,然后期待得到一个连贯的摘要。此外,处理大量文本的成本也很高。

解决方案

为了克服这些挑战,我们设计了一种既经济又高效的方法。流程如下:

简化流程

以下是我们如何将长篇大论的书籍转化为简明扼要的摘要:

  1. 拆分(Splitting)与嵌入(Embeddings): 我们将图书分解成小块,并将其转换为嵌入。这一步的成本出奇地低。
  2. 聚类(Clustering): 接下来,我们对这些嵌入内容进行聚类,找出书中最具代表性的部分。
  3. 摘要(Summarization): 然后,我们使用更具成本效益的 GPT-3.5 模型对这些关键部分进行摘要。
  4. 合并摘要(Combining Summaries): 最后,我们使用 GPT-4 将这些摘要拼接成一个流畅的叙述。

通过仅在最后一步使用 GPT-4,我们成功地降低了成本。

现在,让我们来分析一下代码和每个步骤背后的原理。

让我们深入代码,一步步构建我们的摘要器。


Python 潮流周刊#23:35 个容易上手的 Python 小项目

你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。标题取自其中两则分享,不代表全部内容都是该主题,特此声明。

本周刊由 Python 猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。

微信 | 博客 | 邮件 | GitHub | Telegram | Twitter

本周刊的源文件归档在 GitHub 上,已收获 730+ star 好评,如果你也喜欢本周刊,就请给颗 star 支持一下吧:https://github.com/chinesehuazhou/python-weekly


一些杂七杂八的 Git 知识

我一直在慢慢地写关于 Git 工作原理的文章。我以为自己已经对 Git 相当了解了,但像往常一样,当我试图解释一些东西时,我又学到了一些新东西。

现在回想起来,这些事情都不会让人感到惊讶,但我之前并没有想清楚。

事实是:

让我们来谈谈它们!


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×