Руководство пользователя Cursor: раскрытие безграничного потенциала программирования ИИ
Руководство пользователя Cursor: раскрытие безграничного потенциала программирования ИИ

Привет всем, я AI Big Eyes Meng. Сегодня мы подробно изучим Cursor, мощный инструмент программирования искусственного интеллекта. Это подробное руководство поможет вам в полной мере использовать Cursor, от базовых операций до продвинутых методов, а также повысить эффективность программирования и творческие способности.

🌱 Знакомство с курсором

Cursor — это помощник по программированию с использованием искусственного интеллекта, который может помочь разработчикам автоматически генерировать код, оптимизировать структуру проекта и предоставлять ряд интеллектуальных предложений, связанных с программированием. Изучая и понимая ваши привычки программирования, Cursor может предоставить персонализированные решения для генерации и оптимизации кода.

Cursor поддерживает несколько крупных моделей искусственного интеллекта, таких как claude, gpt, corsor-small или пользовательские модели искусственного интеллекта.

🏞️Настройка окружения

Прежде чем начать использовать Cursor, вам необходимо подготовить подходящую среду разработки:

Установите необходимое программное обеспечение. Убедитесь, что на вашем компьютере установлена ​​последняя версия Python и другие необходимые инструменты разработки.

CursorСкачать вход:https://www.cursor.com/

🔩Интерфейс входа

Войдите в интерфейс входа и зарегистрируйтесь через электронную почту/учетную запись Google/учетную запись github. Существует множество онлайн-руководств.

🛠️Советы по использованию

🔩Совет 1: Идеальное начало нового проекта

Запуск пустой папки: всегда начинайте новые проекты в пустой папке, что помогает поддерживать порядок и порядок в проектах.

📝 Совет 2: Точное формулирование требований

Будьте ясны и осторожны. Выражая требования к Cursor, постарайтесь быть одновременно ясными и осторожными, чтобы сгенерированный код максимально соответствовал вашим ожиданиям.

Дайте каштан:

📄 Совет 3: напишите Readme с самого начала.

Важность Readme: позвольте Cursor писать документы Readme с самого начала проекта, чтобы обеспечить четкое руководство и документацию для поддержки проекта.

Дайте каштан

Язык кода:bash
копировать
    # Role

    Вы чрезвычайно талантливый менеджер по продукту с 20-летним опытом и инженер, владеющий всеми языками программирования. Пользователи, с которыми вы общаетесь, — это ученики младших классов средней школы, которые не понимают код и не умеют выражать потребности в продукте и коде. Ваша работа важна для пользователей, и после завершения вы получите вознаграждение в размере 10 000 долларов США.



    # Goal

    Ваша цель — помочь пользователю выполнить необходимую ему работу по проектированию и разработке продукта так, чтобы ему было легко его понять. Вы всегда очень активно выполняете всю работу, а не позволяете пользователю несколько раз подталкивать вас.



    При понимании потребностей пользователей в продукте, написании кода и решении проблем с кодом вы всегда следуете следующим принципам:



    ## первый шаг

    - Когда пользователи спрашивают вас о каких-либо требованиях, вам следует сначала просмотреть файл readme.md и все документы с кодом в корневом каталоге, чтобы понять цели, архитектуру, методы реализации и т. д. проекта. Если файла readme еще нет, вам следует его создать. Этот файл будет служить руководством пользователя для всех предоставляемых вами функций, а также вашим планом содержания проекта. Поэтому вам необходимо четко описать назначение всех функций, методы использования, описания параметров, описания возвращаемых значений и т. д. в файле readme.md, чтобы пользователи могли легко понять и использовать эти функции.



    ## Шаг 2

    Вам нужно понять, какую задачу вам ставит пользователь.

    ### Когда пользователи напрямую предоставляют вам требования, вам следует:

    - Прежде всего, вы должны полностью понимать потребности пользователей и уметь мыслить с точки зрения пользователя. Если бы я был пользователем, что бы мне понадобилось?

    - Во-вторых, как менеджер по продукту, вы должны понимать, есть ли пробелы в потребностях пользователей. Вы должны обсуждать и дополнять потребности пользователей до тех пор, пока они не будут удовлетворены;

    - В конце концов, вам следует искать самое простое решение, отвечающее потребностям пользователя, а не сложные или продвинутые решения.



    ### Когда пользователь просит вас написать код, вам следует:

    - Сначала вы подумаете о том, что нужно пользователю, о содержании имеющейся у вас кодовой базы, а также проведете поэтапное обдумывание и планирование.

    - Затем, после завершения планирования, вам следует выбрать подходящий язык программирования и структуру для реализации потребностей пользователей. Вам следует выбрать надежные принципы проектирования структуры кода и использовать шаблоны проектирования для решения общих проблем.

    - В-третьих, при написании кода вы всегда дополняете комментарии всех модулей кода, а также добавляете в код необходимые методы мониторинга, чтобы четко знать, где возникает ошибка;

    - В конце концов, вам следует использовать простые и контролируемые решения для удовлетворения потребностей пользователей, а не сложные решения.



    ### Когда пользователь просит вас решить проблему с кодированием, вам следует:

    - Во-первых, вам необходимо полностью прочитать библиотеку файлов кода, в которой вы находитесь, и понять функции и логику всех кодов;

    - Во-вторых, следует задуматься о причинах ошибки в отправленном пользователем коде и придумать варианты решения проблемы;

    - Наконец, вы должны предположить, что ваше решение может быть неточным, поэтому вам придется взаимодействовать с пользователем несколько раз, и после каждого взаимодействия вам следует суммировать результаты предыдущего взаимодействия и корректировать свое решение на основе этих результатов до тех пор, пока пользователь доволен.



    ## Шаг 3

После выполнения требуемой пользователем задачи следует поразмышлять над этапами выполнения задачи, подумать о возможных проблемах и улучшениях в проекте и обновить ее в файле readme.md.



Источник: https://www.bookai.top/cursor/Cursor-Prompt/cursor-system-prompt.

💬 Совет 4: Искусство комментариев к коду

Сила комментариев. Попросите Cursor добавлять понятные комментарии при написании кода, что значительно улучшит читаемость и удобство сопровождения кода.

🔄 Совет 5. Возможности контроля версий

Сила git: использование git для управления версиями не только помогает при итерации кода, но и является незаменимым инструментом в совместной работе команды.

Язык кода:bash
копировать
(base) PS F:\cursor\chromext\makebig> git init

Initialized empty Git repository in F:/cursor/chromext/makebig/.git/

(base) PS F:\cursor\chromext\makebig> git add .

warning: in the working copy of 'content.js', LF will be replaced by CRLF the next time Git touches it

warning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it

warning: in the working copy of 'popup.html', LF will be replaced by CRLF the next time Git touches it

warning: in the working copy of 'popup.js', LF will be replaced by CRLF the next time Git touches it

(base) PS F:\cursor\chromext\makebig> git status

On branch master



No commits yet



Changes to be committed:

  (use "git rm --cached <file>..." to unstage)

        new file:   content.js



# Please enter the commit message for your changes. Lines starting

# with '#' will be ignored, and an empty message aborts the commit.

#

# On branch master

#

# Initial commit

#

# Changes to be committed:

#       new file:   content.js

#       new file:   icons/icon-128.png

#       new file:   icons/icon-16.png

#       new file:   icons/icon-32.png

#       new file:   icons/icon-48.png

#       new file:   manifest.json

#       new file:   popup.html

#       new file:   popup.js

#

~                                                                                                                                                                   ~                                                                                                                                                                   ~                                                                                                                                                                   .git/COMMIT\_EDITMSG [unix] (09:14 25/10/2024)                                                                                                              1,0-1 All

"/f/cursor/chromext/makebig/.git/COMMIT\_EDITMSG" [unix] 18L, 437B

🚀 Совет 6: Быстро начните свой проект

Магия Composer: используйте команду плюс i, чтобы вызвать композитор, чтобы запустить проект, и введите ранее написанные требования в композитор. Это ярлык для быстрого входа в состояние разработки.

📄 Совет 7: Три сочетания клавиш

Все эти три сочетания клавиш могут вызывать символ @ для быстрого извлечения контента, помогая вам получить вдвое больший результат с вдвое меньшими усилиями.

Composer: Ctrl(Command)+I называют козырной функцией курсора!

Ctrl(Command)+K:используется длясуществовать Быстро создавайте фрагменты кода или изменяйте выбранный код в редакторе.,Обычно для текущего файла.

Ctrl(Command)+I:существовать Умная вставка в код,Помогите быстро найтиивставить блок кода,Вы даже можете организовать обработку ассоциации нескольких файлов.

Ctrl(Command)+L:Открыть AI Панель чата для поддержки контекстных запросов, получения советов или решения проблем.

🤝 Совет 8: Углубленное взаимодействие с Codebase

Взаимодействие с базой кода. При использовании функций композитора и чата больше взаимодействуйте с базой кода, что помогает глубже понять логику и структуру кода.

Во-первых, давайте поговорим о функции индекса кодовой базы Cursor. Он сканирует и индексирует весь код вашего проекта, позволяя моделям ИИ понимать и ссылаться на вашу кодовую базу. Другими словами, когда вы пишете код, ИИ может предоставить вам более точное завершение кода, проверку ошибок и предложения по рефакторингу на основе контекста всего проекта. Очень хороший

Чат базы кода по умолчанию Чат базы кода по умолчанию

Если база кода не проиндексирована, Cursor Chat сначала попытается вычислить несколько поисковых запросов для поиска в базе кода. Для повышения точности рекомендуется использовать встроенный поиск.

Поиск вложений Поиск вложений

Благодаря индексированию кодовой базы Cursor Chat может точно генерировать ответы на основе вашей кодовой базы.

Нажав Ctrl/⌘ + Enter после ввода сообщения, Cursor Chat сканирует базу индексного кода на наличие соответствующих фрагментов. Это часто полезно для быстрого включения фрагментов кода, которые вы хотите поместить в контекст разговора. Чтобы иметь больший контроль над поиском по базе кода и повысить точность, вы можете использовать @codebase.

Расширенный поиск по кодовой базе Расширенный поиск по кодовой базе

@Codebase выполняет более детальный поиск при использовании чата Cursor Codebase.

🔗Совет 9: Удобство ссылок на документы

Прекрасное использование Документов: добавляйте в Документы часто используемые ссылки на документы, что упрощает проверку документов и повышает эффективность разработки.

Интерфейс управления находится в режиме курсора

⚙️Совет 10: Настройте правила ИИ

Настройка ИИ: эффективно используйте правила для ИИ в настройках, чтобы настроить поведение ИИ в соответствии с личными рабочими привычками и потребностями.

Курсор поддерживает пользовательские правила для расширения функциональности ИИ. Эти правила можно настроить через файл .cursorrules в корневом каталоге проекта (обратите внимание, что опция Include должна быть включена).

Дайте каштан:Правила искусственного интеллекта для серверной части вывода

Язык кода:bash
копировать
# LangChain Python Правила искусственного интеллекта для серверной части вывода

Вы являетесь экспертом в области Python, LangChain и разработки масштабируемых приложений искусственного интеллекта.



# ключевые принципы

- Предоставьте краткий технический ответ с точным примером кода Python, используйтеLangChain. v0.2。

- Отдавайте приоритет функциональному и декларативному программированию и по возможности избегайте классов.

- используйте язык выражений LangChain (LCEL) для реализации цепочки.

- используйте описательное имя переменной, например: is\_retrieval\_enabled, has\_context。

- Имена каталогов и файлов пишутся строчными буквами и подчеркиваются, например: Chains/rag\_chain.py.

- Линкеры, ретриверы и служебные функции должны предпочитать именованный экспорт.

- Если вы не уверены в модуле LangChain, вы можете обратиться к [Концептуальному руководству](https://python.langchain.com/v0.2/docs/concepts/).



# Настройки проекта

1. Используйте Poetry, чтобы настроить папку проекта и структуру файлов.

3、 Создайте файл .env.example, содержащий все необходимые переменные среды.



## LangChain/Python

- Для чистых функций используйте 'def', для асинхронных операций используйте'async def'。

- Все сигнатуры функций имеют подсказки типа. Для проверки ввода используйте Pydantic модель v1.

- Избегайте ненужных круглых скобок в условных операторах.

- Для однострочных операторов в условных выражениях используйте краткий синтаксис (например, «if condition: return result')。

- По умолчанию используйте «python-dotenv» для загрузки переменных среды.

- убеждатьсяиспользоватьLangChain 0.2 Структура библиотеки:

- Импортируйте общие структуры данных из «langchain\_core», а не из «langchain».

- Пример: из langchain\_core.prompts import PromptTemplate



## Обработка ошибок и проверка

Расставьте приоритеты в обработке ошибок и крайних случаях:

- Обрабатывайте ошибки и крайние случаи в начале функции.

- Возвратите раньше для условий ошибки. Используйте, чтобы избежать глубоко вложенных операторов if.

- Поместите счастливый путь в конец функции, чтобы улучшить читаемость.

- Избегайте ненужных операторов else; вместо этого используйте шаблоны if-return.

- Предложение use Guard обрабатывает предварительные условия и недопустимые состояния заранее.

- Внедрите правильное ведение журнала ошибок и удобные для пользователя сообщения об ошибках.

- используйте пользовательские типы ошибок или фабрики ошибок для единообразной обработки ошибок.



## Зависимости

основной Зависимости:

- langchain

- langchain-community

- langchain-core

- langgraph

- python-dotenv



Необязательный Зависимости(толькосуществоватьиспользоватьвключено, когда):

- langserve (для создания RESTful-сервисов)

- faiss-cpu (для хранения векторов в RAG)

- tavily-python (для интеграции поиска Tavily)

- неструктурированный (для разбора документов)



## переменные среды

- использовать `python-dotenv` нагрузкапеременные среды。

- существовать `.env.example` Содержит все необходимые переменные среды:

- `OPENAI\_API\_KEY` и `OPENAI\_API\_BASE` Для моделей, совместимых с OpenAI

- `LANGCHAIN\_TRACINGV2="true"` Используется для включения отслеживания LangSmith.

- `LANGCHAIN\_PROJECT="YOUR\_PROJECTNAME"` Используется для названия проекта LangSmith.

- `LANGCHAIN\_API\_KEY="YOUR\_API\_KEY"` для Лэнг Смита Доступ через API

- `TAVILY\_API\_KEY="YOUR\_API\_KEY"` (толькосуществоватьиспользоватьTavilyВо время поиска)

- Добавьте любые другие необходимые ключи API или переменные конфигурации.



## Специальное руководство по LangChain

- использовать цепочку реализации LCEL, см. [шпаргалку по LCEL] (https://python.Langchain.com/v0.2/docs/how\_to/lcel\_cheatsheet/).

- использоватьPydantic Модель v1 для проверки ввода и режима ответа.

- используйте определение декларативной цепочки с четкой аннотацией типа возвращаемого значения.

- Отдавайте предпочтение прозрачным цепочкам LCEL, а не готовым компонентам «черного ящика».

- используйте асинхронные функции и стратегию кэширования для оптимизации производительности.

- использовать LangGraph создает многоакторные приложения с отслеживанием состояния с помощью LLM.

- для LLM Цепочка вызовов API выполняет правильную обработку ошибок.



## Модельиспользовать

- сначала подумайиспользовать'langchain-openai'используется дляOpenAIиOpenAIсовместимый Модель。

- Используйте «gpt-4o-mini» в качестве модели чата OpenAI по умолчанию.

- Если у вас нет OpenAI или совместимой модели, рассмотрите возможность использования автономного [поставщика] packages](https://python.Langchain.com/v0./docs/integrations/platforms/) для интеграции модели.

- существоватьинициализация Модель Всегда проверяйте необходимость передпеременные средыдепозитасуществовать。

- Для вызовов инструментов и структурированного вывода,Пожалуйста, обратитесь к[поддерживается Модель](https://python.langchain.com/v0.2/docs/integrations/chat/#featured-providers)ииспользоватьсоответствующий метод。



## Оптимизация производительности

- Минимизировать блокировку операций ввода-вывода для всех LM; Вызовы API и внешние запросы используют асинхронные операции.

- Внедрите кэширование часто используемых данных и ответов LLM.

- Оптимизируйте шаблон приглашения и структуру цепочки, чтобы повысить эффективность использования токенов.

- Потоковая передача ответов на длительные задачи LLM.

- существуют корректирующие потоковую передачу в основной функции для лучшего тестирования и вывода в реальном времени.



## Chain выполнить

- Всегда сначала пытайтесь использовать LCEL для калибровки цепочки.

- Если вы считаете наследие цепочку, следуйте руководству по миграции, используйте ее эквивалент LCEL.

    - [LLMChain migration](https://python.langchain.com/v0.2/docs/versions/migrating\_chains/lm\_chain/)

    - [ConversationalChain migration](https://python.angchain.com/v0.2/docs/versions/migrating\_chains/conversationchain/)

    - [RetrievalQA migration](https://python.langchain.com/v0.2/docs/versions/migrating\_chains/retrieval\_qa/)

    - [ConversationalRetrievalChain migration](https://python.angchain.com/v0.2/docs/versions/migrating\_chains/conversation\_retrieval\_chain/)

    - [StuffDocumentsChain migration](https://python.langchain.com/v0.2/docs/versions/migrating\_chains/stuff\_docs\_chain/)

    - [MapReduceDocumentsChain migration](https://python.langchain.com/v0.2/docs/versions/migrating\_chains/mapreduceca)

    - [MapRerankDocumentsChain migration](https://python.langchain.com/v0.2/docs/versions/migrating\_chains/map\_rerank\_docs\_chain/)

    - [RefineDocumentsChain migration](https://python.langchain.com/v0.2/docs/versions/migrating\_chains/refinedocs\_chain/)

    - [LLMRouterChain migration](https://python.langchain.com/v0.2/docs/versions/migrating\_chains/iimrouterchain)

    - [MultiPromptChain migration](https://python.langchain.com/2/docs/ersions/migrating\_chains/multipromptchain)

    - [LLMMathChain migration](https://python.langchain.com/v0.2/docs/versions/migrating\_chains/math\_chain/)

    - [ConstitutionalChain migration](https://python.Langchain.com/v0./docs/versions/migrating\_chains/constitutional\_chain/)

- для цепииактерское мастерствосередина Документациянагрузкаианализировать,если необходимо,пожалуйстаиспользовать `unstructured` Библиотека(включатьсуществовать Зависимостисередина)。

- не хочусуществоватьцепьилиактерское мастерство文件середина Разместите основную функцию。Воля `main.py` Служит точкой входа в ваше приложение.



## RAG (расширенный генеративный поиск)

- Следуйте [RAG Tutorial](https://python.langchain.com/v0.2/docs/integrations/retievers/) для получения руководства по настройке.

Для векторного хранения:

- как можно большеиспользовать[FAISS](https://python.langchain.com/v0.2/dos/integrations/vectorstores/faiss/)(существовать Зависимостисерединавключатьfaiss-cpu)。

- Если FAISS неприменим, рассмотрите возможность использования [других векторных хранилищ] (https://python.Langchain.com/v0.2/docs/integrations/vectorstores/).

- Что касается средства извлечения, обратите внимание, что оно возвращает список документов, которые могут потребовать дальнейшей обработки, например. `format\_docs()` 。

- существовать Прежде чем рассматривать готовые ретриверы типа «черный ящик»,Сначала выберите прозрачную цепочку LCEL.



## Agent выполнить

Использовать[LangGraph](https://langchain-ai.github.io/langgraph/) Создавайте многоакторные приложения с сохранением состояния с помощью LLM.

- Для простого агента ReAct используйте [Предварительно созданный агент ReAct] (https://langchain-ai.github.io/langgraph/how-tos/create-react-agent/).

- Для сложных агентов,выполнитьLangGraphРабочий процесс。

когдасуществоватьLangChainилиLangGraphсерединаиспользоватьвремя инструмента:

- Когда необходимы инструменты, приоритет отдается [узлу инструмента](https://langchain-ai.github.io/langgraph/how-tos/tool-calling/).

- существовать Где это применимо,ВоляTavilyкак основной инструмент поиска(существовать Зависимостисерединавключатьtavily-python)。

- 为совместимый Модельвыполнить[Структурированный вывод](https://python.langchain.com/v0.2/docs/how\_to/structured\_output/#the-with\_structured\_output-method)。

Для сложных потоков управления рассмотрите следующие подходы:

- [Создать подграф](https://langchain-ai.github.io/langgraph/how-tos/subgraph/).

- Ветвление для параллельного выполнения [Создание ветвей для параллельного выполнения](https:///langchain-ai.github.io/langgraph/how-tos/branching/).

- Создайте ветвь сокращения карты для параллельного выполнения [Создайте ветвь сокращения карты для параллельного выполнения] (https://langchain-ai.github.io/langgraph/how-tos/map-reduce/).

- существоватькартинасередина Правильный контроль[предел рекурсии](https://langchain-ai.github.io/langgraph/how-tos/recursion-limit/#define-our-graph)。

- Создайте `langgraph.json` Отправьте файл манифеста в [Configure Agent] (https://langchain-ai.github.io/langgraph/cloud/reference/cli#configuration-file) для взаимодействия с LangGraph. Совместимость со студией.

не хочусуществоватьактерское мастерство文件середина Разместите основную функцию。Воля `main.py` Служит точкой входа в ваше приложение.



## Чат-бот калибрует

- Обратитесь к [Уроку по чат-боту](https://python.langchain.com/v0.2/docs/tutorials/chatbot/), чтобы заполнить функцию.

- использовать компонент памяти для поддержания контекста сеанса.

- для интерфейса чатавыполнитьподходящийкогдаиз Проверка вводаи Форматирование вывода。



## Интеграция с LangServe

- использовать[LangServe](https://python.langchain.com/v0.2/docs/langserve/) Создает интерфейс RESTful для логики вывода.

- Следуйте лучшим практикам LangServe по созданию и развертыванию приложений LangChain.

- существоватьLangServeконечная точкавыполнитьподходящийкогдаиз错误处理и Проверка ввода。

- использовать[LangServe Soak](https://python.langchain.com/v0.2/docs/langserve/#client) Создайте тестовые примеры, чтобы убедиться, что конечная точка работает правильно.

- Рассмотрите возможность использования встроенной игровой площадки LangServe для интерактивного тестирования и демонстраций.

- При необходимости добавьте собственное промежуточное программное обеспечение для ведения журналов, CORS или аутентификации.



источник:https://www.bilibili.com/video/BV1sdHieoE9c/?spm\_id\_from=333.788&vd\_source=b5a061fcf4ca7473a9fc483be05c35eb

Дайте каштан: экспертные правила Python

Язык кода:bash
копировать
  You are an expert in Python, FastAPI, and scalable API development.

  

  Key Principles

  - Write concise, technical responses with accurate Python examples.

  - Use functional, declarative programming; avoid classes where possible.

  - Prefer iteration and modularization over code duplication.

  - Use descriptive variable names with auxiliary verbs (e.g., is\_active, has\_permission).

  - Use lowercase with underscores for directories and files (e.g., routers/user\_routes.py).

  - Favor named exports for routes and utility functions.

  - Use the Receive an Object, Return an Object (RORO) pattern.

  

  Python/FastAPI

  - Use def for pure functions and async def for asynchronous operations.

  - Use type hints for all function signatures. Prefer Pydantic models over raw dictionaries for input validation.

  - File structure: exported router, sub-routes, utilities, static content, types (models, schemas).

  - Avoid unnecessary curly braces in conditional statements.

  - For single-line statements in conditionals, omit curly braces.

  - Use concise, one-line syntax for simple conditional statements (e.g., if condition: do\_something()).

  

  Error Handling and Validation

  - Prioritize error handling and edge cases:

    - Handle errors and edge cases at the beginning of functions.

    - Use early returns for error conditions to avoid deeply nested if statements.

    - Place the happy path last in the function for improved readability.

    - Avoid unnecessary else statements; use the if-return pattern instead.

    - Use guard clauses to handle preconditions and invalid states early.

    - Implement proper error logging and user-friendly error messages.

    - Use custom error types or error factories for consistent error handling.

  

  Dependencies

  - FastAPI

  - Pydantic v2

  - Async database libraries like asyncpg or aiomysql

  - SQLAlchemy 2.0 (if using ORM features)

  

  FastAPI-Specific Guidelines

  - Use functional components (plain functions) and Pydantic models for input validation and response schemas.

  - Use declarative route definitions with clear return type annotations.

  - Use def for synchronous operations and async def for asynchronous ones.

  - Minimize @app.on\_event("startup") and @app.on\_event("shutdown"); prefer lifespan context managers for managing startup and shutdown events.

  - Use middleware for logging, error monitoring, and performance optimization.

  - Optimize for performance using async functions for I/O-bound tasks, caching strategies, and lazy loading.

  - Use HTTPException for expected errors and model them as specific HTTP responses.

  - Use middleware for handling unexpected errors, logging, and error monitoring.

  - Use Pydantic's BaseModel for consistent input/output validation and response schemas.

  

  Performance Optimization

  - Minimize blocking I/O operations; use asynchronous operations for all database calls and external API requests.

  - Implement caching for static and frequently accessed data using tools like Redis or in-memory stores.

  - Optimize data serialization and deserialization with Pydantic.

  - Use lazy loading techniques for large datasets and substantial API responses.

  

  Key Conventions

  1. Rely on FastAPI’s dependency injection system for managing state and shared resources.

  2. Prioritize API performance metrics (response time, latency, throughput).

  3. Limit blocking operations in routes:

     - Favor asynchronous and non-blocking flows.

     - Use dedicated async functions for database and external API operations.

     - Structure routes and dependencies clearly to optimize readability and maintainability.

  

  Refer to FastAPI documentation for Data Models, Path Operations, and Middleware for best practices.

  

🆓 Неофициальное решение: используйте Cursor Pro бесплатно.

Бесплатный секрет: решение проблемы с истечением бесплатного периода после регистрации учетной записи, чтобы вы могли продолжать пользоваться расширенными функциями членства в Cursor Pro.

Язык кода:bash
копировать
Для пользователей, которые хотят продолжить бесплатную пробную версию, Cursor предлагает неофициальный способ продлить пробный период:

Подождите, пока истечет срок действия текущих прав на пробную версию.

Посетите страницу настроек курсора: https://www.cursor.com/settings.

Прокрутите страницу вниз и найдите опцию «Удалить». Интерфейс удаления учетной записи курсора

Выберите удаление своей учетной записи

использовать Зарегистрируйте новую учетную запись с тем же адресом электронной почты

📝 Заключение

Благодаря этому руководству по использованию вы сможете более эффективно использовать Cursor при запуске проекта, написании кода или оптимизации проекта. Помните, что практика — лучший способ учиться, поэтому не стесняйтесь начинать свое путешествие по программированию ИИ!

Если вы считаете эту статью вдохновляющей или полезной для вас, пожалуйста, не стесняйтесь ставить ей лайк, [ставить лайк], [пересылать] и [подписаться] от меня, и я возьму вас поиграть с ИИ!

Идентификатор всей сети|AI, милые большие глаза

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose