最新文章

作为 AI 工程师你应该知道的三个提示库

摘要: 本文主要介绍了作为AI工程师应该了解的三个提示库:Priompt、Promptfoo和PromptHub。这些提示库提供了预定义的提示,用于简化大型语言模型(LLM)的设计过程,提高开发效率。文章详细阐述了这些库的主要功能及其在提高生产力、确保AI输出的一致性和质量方面的作用。同时,文章也讨论了使用提示库的安全性问题和注意事项。最后,文章总结了提示库在提升生成式AI应用开发的效率和效果方面的重要性。

Administrator 博客 2025-06-07

使用 Python 的 Telebot

摘要: 这篇文章是关于如何使用Python构建Telegram机器人的教程。该机器人将发送猫咪的照片和一些猫咪趣闻。文章首先介绍了如何设置Telegram账户和BotFather,然后详细描述了构建机器人的步骤,包括设置虚拟环境、所需依赖项和代码部分。最后,文章强调了将令牌存储在一个变量中,并介绍了如何在主文件中加载此令牌。 关键词:Python,Telebot,Telegram机器人,代码构建,依赖项,令牌存储

Administrator 博客 2025-06-07

Project Loo:我一生中最浪费时间、最精彩、最过度设计的项目

摘要: 本文介绍了Project Loo项目的背景、问题和解决方案。作者在BreezoMeter公司遇到了办公室卫生间使用问题,决定通过技术手段解决。项目采用实验室日的方式,利用Google Firestore实时数据库记录卫生间门的状态,通过Vue.js Web应用程序显示门的状态,并连接到Slack进行通知。项目中使用了过度设计的方法,如使用带有微动开关的Raspberry Pi 3进行采样和编码,使用Queue类处理数据等。最终实现了卫生间状态的实时监控和通知功能。该项目被作者称为一生中最浪费时间、最精彩、最过度设计的项目。

Administrator 博客 2025-06-07

hack.chat 网页聊天 hack.chat 安装 贡献 致谢 语法高亮介绍 #14

这篇文章是关于hack.chat的概述、安装、贡献和致谢内容的简短摘要。文章介绍了hack.chat是一款极简、无干扰的聊天应用程序,具有LaTeX渲染和代码语法高亮功能。文章还提到了安装步骤、开发人员安装和实时部署安装的要求,以及贡献和致谢的相关信息。此外,文章还提到了作者发现这个应用程序并为其贡献语法高亮的经历。最后,文章以Devto为话题结束,提到该项目页面上的制作人员名单里有作者的名字。 关键词:翻译,hack.chat网页聊天,hack.chat安装,贡献,致谢,语法高亮介绍,Devto。

Administrator 博客 2025-06-07

使用 React Hooks 将数据从子组件传递到父组件

摘要: 本文介绍了如何使用React Hooks将数据从子组件传递到父组件。首先,介绍了使用状态钩子(useState)在根父组件中设置单一状态以保存用户身份验证信息的方法。接着,解释了如何通过函数props将状态更新函数传递到下层组件,并在子组件中使用这些函数来更新父组件的状态。最后,通过示例展示了如何将用户提交的用户名设置为状态,并根据该状态加载不同的网站版本。同时,还介绍了如何构建一个授权网站组件,使其能够使用用户名来欢迎用户,并提供注销功能以便用户注销后返回默认状态。本文强调了在React中使用单向数据流的重要性,并指出不应使用最常用的数据传递方法——props——将任何东西传递到组件树的上层。

Administrator 博客 2025-06-07

十分钟内从 Java 8 升级到 Java 15 函数式编程 (Java 8) Streams (Java 8) Optional (Java 8) JShell (Java 9) 不可变集合的工厂方法 (Java 9) 使用 var 进行类型推断 (Java 10) 单源文件启动 (Java 11) Switch 表达式 (Java 12) 多行字符串 (Java 13) 数据类:record (Java 14) 不带强制类型转换的实例 (Java 14) 密封类 (Java 15) 额外奖励:从 Java 8 开始更新许可条款 总结

本文总结了从Java 8到Java 15的功能更新,包括函数式编程、Streams、Optional、JShell、不可变集合的工厂方法、使用var进行类型推断、单源文件启动、Switch表达式、多行字符串、数据类(record)、不带强制类型转换的instanceof以及密封类等主要特性。文章还提到了从Java 8开始的许可条款更新作为额外福利,并以目录的形式清晰地列出了每个版本的主要改进。

Administrator 博客 2025-06-07

告别 Dockerfiles:使用 Cloud Native Buildpacks 构建安全且优化的 Node.js 容器镜像

摘要: 本文介绍了告别使用 Dockerfiles 来构建容器镜像,转而使用 Cloud Native Buildpacks 的方法。文章详细描述了什么是 Cloud Native Buildpacks,它们是如何工作的,并展示了如何使用它来构建第一个 Node.js 容器镜像。通过 Cloud Native Buildpacks,开发者可以更方便、更快速地构建安全且优化的镜像,而无需编写复杂的 Dockerfile。此外,文章还提供了如何使用 Heroku 等平台结合使用 Buildpacks 的方法。最后,文章总结如何通过 Cloud Native Buildpacks 构建镜像并运行应用。

Administrator 博客 2025-06-07

缅怀斯科特·艾伦 000——与斯科特·艾伦的对话

摘要: 本文回顾了斯科特·艾伦的生平和他对技术和社区的影响。斯科特是Pluralsight的创始作者之一,为平台创建了多门课程,并成为有史以来最杰出的作家之一。除了教学,斯科特还是一名国际演讲家,在ASP/.NET领域有很高的声望。作者在文章中回忆了与斯科特接触的经历和他对作者的教导和激励,并分享了斯科特的教学原则和对待学生的态度。斯科特·艾伦不仅是一名杰出的教育者,更是一个对周围世界产生积极影响的人。他乐于分享知识,关心他人,在社区中投入大量时间和精力。他的离世让人们深感痛惜,怀念他的善良和慷慨。通过更加像斯科特一样行事,是纪念他的最好方式。

Administrator 博客 2025-06-07

如何顺利通过下一次编程面试

摘要:本文介绍了如何顺利通过下一次编程面试的技巧和准备事项。文章提到面试官通常会考察应聘者的解决问题的能力、编码技能、技术知识和经验等方面。为了顺利通过面试,应聘者需要奠定扎实的基础,学习计算机科学基础知识、算法和数据结构等,并加强实践练习。文章还提供了一些具体的资源和链接以供学习和参考。

Administrator 博客 2025-06-07

如何构建您的第一个 JAMstack 网站:完整指南

摘要:本文介绍了如何构建第一个JAMstack网站的完整指南,包括JAMstack的概念、特点、构建步骤和部署方式等。文章首先解释了JAMstack是什么,然后通过静态网站生成器和API通信的方式,介绍了如何构建JAMstack网站。最后,文章阐述了JAMstack网站的好处,包括速度、安全性和工作流程等方面的优势。

Administrator 博客 2025-06-07

WSL 入门

该摘要介绍了WSL入门的主要内容,包括安装WSL的步骤,如运行特定命令进行安装等;安装终端的步骤;以及Linux的基础知识,如确定当前位置、创建文件夹等。同时,提到了Devto网站的相关信息。

Administrator 博客 2025-06-07

在 .NET Core 中构建一个根据邮政编码获取城市名称的服务

摘要: 在.NET Core中构建一个根据邮政编码获取城市名称的服务是一个实用且实用的功能。该服务提供了一个用户界面元素,使用户可以方便地输入邮政编码并获取相应的城市信息。本文详细介绍了如何从头开始构建这样一个服务,包括所需工具、步骤和代码示例。文章首先介绍了项目的目标和入门所需的知识和技能。接着,文章逐步介绍了创建新项目、添加必要的工具和库、创建模型、定义数据库上下文以及处理数据库操作的步骤。最后,文章强调了在实际应用中可能需要注意的一些问题和优化点。 关键词:翻译,.NET Core,邮政编码,城市名称,服务,数据库操作

Administrator 博客 2025-06-07

Сброс пароля, PIN-кода либо графической блокировки с помощью ADB

本文介绍了使用ADB(Android Debug Bridge)重置Android设备密码、PIN码或图形锁的方法。文章详细说明了不同文件与目录(如`/data/system`和`/data/data/com.android.providers.settings/databases`)中的关键文件,以及执行`adb shell`命令和相应的操作来删除密钥和重置锁。如果第一种方法不起作用,文章还提供了另一种使用SQLite数据库更新系统设置的解决方案。完成这些命令后,需要重启设备并输入任意密码、PIN码或图形锁,然后可以在“设置”中重新设置锁定。文章来源于Devto,关键词包括翻译、Devto和ADB密码重置等。

Administrator 博客 2025-06-07

Svelte UI 库和组件概述

摘要: 本文介绍了 Svelte UI 库和相关的组件概述。首先,简要介绍了 Svelte 作为一个相对较新的基于组件的 JavaScript 框架,以及其与其他主流框架如 React 和 Vue 的区别。接着,文章着重介绍了几个重要的 Svelte UI 库和组件,包括 DHTMLX Svelte Gantt(用于项目管理中的甘特图功能)、Svelte Material UI(包含多个针对移动设备的 UI 组件)、Smelte(基于 Svelte 和 Tailwind CSS 的 UI 组件库)以及 Carbon Components Svelte(提供一系列实用 UI 组件)。文章还提到了这些库的主要特点、大小、许可证信息和 GitHub 星数。通过本文,读者可以了解 Svelte UI 库和组件的最新发展和使用方式。

Administrator 博客 2025-06-07

在 Playwright 中测试暂存和生产环境

在 Playwright 中为不同的环境(如开发、暂存和生产环境)设置和运行测试。介绍如何设置基本 URL,使用相对路径导航到网站上的不同页面,以及在 Playwright 配置中设置不同的生产环境。通过示例代码和详细说明,帮助读者了解如何在 Playwright 中进行环境测试。 Playwright 是一个用于网页测试的库,支持在多个环境中进行测试。本文将介绍如何在 Playwright 中设置和运行针对暂存和生产环境的测试。我们将讨论如何设置基本 URL,使用相对路径导航到网站的不同页面,以及在 Playwright 配置中设置不同的生产环境。 一、设置基本 URL 在 Playwright 中,可以使用 `baseURL` 选项设置测试的默认 URL。在测试脚本中,可以使用相对路径导航到网站上的不同页面,而无需每次都输入完整的 URL。例如: ```javascript // 设置基本 URL use: { baseURL: 'https://example.com', } // 使用相对路径导航到不同页面 await page.goto('/products'); await page.goto('/offers'); await page.goto('/about'); ``` 二、设置子路径 如果测试网站的子路径,可以将子路径添加到基本 URL 中。例如,如果基本 URL 是 `https://playwright.dev/docs/`,则可以通过添加子路径来访问特定的页面: ```javascript // 设置包含子路径的基本 URL use: { baseURL: 'https://playwright.dev/docs/', } // 转到子路径的相对路径 await page.goto('./intro'); // https://playwright.dev/docs/intro await page.goto('/intro'); // https://playwright.dev/intro ``` 请注意,在斜杠前添加 `.` 表示相对路径,否则 Playwright 将导航到网站的根目录而不是子路径。 三、设置不同的生产环境 为了在 Playwright 中为不同的生产环境设置 URL,可以使用 `process.env` 在配置中设置变量。以下是一个示例,如果 `STAGING` 设置为 `1`,则 URL 将为 `https://playwright.dev/docs/next/`,否则将默认为 `https://playwright.dev/docs/`: ```javascript use: { baseURL: process.env.STAGING === '1' ? 'https://playwright.dev/docs/next/' : 'https://playwright.dev/docs/', } ```这样,就可以在不同的环境中运行相同的测试脚本,而无需更改任何代码。只需设置相应的环境变量即可。这对于在开发、暂存和生产环境中进行测试非常有用。可以帮助确保在不同的环境中都能正确运行测试脚本。还可以避免因配置错误导致的不必要的问题。

Administrator 博客 2025-06-07

Playwright 中更好的全局设置重用登录,项目依赖项等待 getByPlaceholder('Search')

摘要: 本文主要介绍了在Playwright中如何使用项目依赖项来实现更好的全局设置,并重用登录。文章首先指出了传统全局设置存在的问题,如无法跟踪设置测试信息,无法使用Fixture等。然后,通过创建项目依赖项,可以在Playwright配置中创建一个单独的项目用于设置测试,其中的每个测试都将作为设置例程中的步骤。通过这种方式,每次运行测试时,它首先会运行安装项目中的测试进行登录。文章还介绍了项目依赖示例、配置安装项目、运行顺序、处理依赖项失败的情况以及项目依赖示例。最后,通过修改配置文件、创建登录测试并保存存储状态,可以在端到端测试中使用登录状态启动所有测试。

Administrator 博客 2025-06-07

加速 Tesla.com - 第一部分:图片和 JS 压缩

摘要: 本文是关于加速 Tesla.com 网站的第一部分,主要介绍了如何通过压缩图片和 JavaScript 文件来优化网站性能。文章首先介绍了问题的发现以及解决空间,然后详细描述了如何压缩图片、未缩小的 boomerang.js 库以及未使用的字体等问题。最后,文章展示了优化后的结果,并预告了第二部分的更多优化措施。

Administrator 博客 2025-06-07

5 个值得一听的非科技播客

推荐五个值得一听的非科技播客,包括软技能工程、好奇心日报、星球金钱、我是如何建造它的和冥想迷你。这些播客内容多样,涵盖软技能、科学知识、经济解读、创业故事和放松身心的冥想小贴士。适合在通勤或空闲时间聆听,获取有价值的信息和灵感。文章来源于Devto。

Administrator 博客 2025-06-07

React 状态管理:何时使用 Context API 而不是 Redux React 状态管理:何时使用 Context API 而不是 Redux

本文讨论了React状态管理中何时使用Context API而不是Redux的情境。文章先介绍了React和Redux的基础知识,然后详细描述了Context API和Redux的使用场景,以及两者之间的区别。最后总结了使用Context API替代Redux的情况。 总结: React状态管理是开发React应用的关键技能之一。在选择状态管理工具时,需要考虑项目的规模和需求。对于小型项目或者只需要在组件之间传递少量数据的情况下,可以使用Context API来管理状态,它提供了简洁且强大的状态传递机制。但是,对于大型项目和需要处理复杂状态管理需求的情况,建议使用Redux进行管理,其提供的架构有助于维护和扩展代码。了解何时使用Context API而非Redux可以显著提高开发效率和应用程序的性能。文章提供的背景和指导原则将帮助开发者根据实际情况做出选择。这篇文章已经翻译成了中文,发布在Devto上。

Administrator 博客 2025-06-07

帮助你的团队更加专注

本文是关于帮助团队提高专注度的文章。文章提到即便是在优秀的人才中,也容易面临无意义的探索和时间浪费的问题。教练需时刻观察团队的表现和交流。为此,文章提倡引入一种每周挑战的仪式来帮助团队更加专注。这个仪式包括团队成员写下他们希望在本周完成的事情并贴在墙上,每周一早上进行回顾和更新目标。通过这种方式,团队成员可以互相激励和合作,更好地专注于自己的目标,并激发团队的积极性。同时,这种仪式还能让团队成员在周末和工作周之间切换思维。整体来看,每周的挑战已经成为一个基石仪式,间接激发了团队的积极性,提高了团队的凝聚力。文章来自Dev.to的pixeline作者的投稿。

Administrator 博客 2025-06-07