Обновить
1347.12

Программирование *

Искусство создания компьютерных программ

Сначала показывать
Порог рейтинга

Работа с Bluetooth Low Energy (BLE):основные протоколы и практические советы.

Почему BLE до сих пор “ТОП”?
Потому что даёт годами работать от батарейки -“таблетки”, держит связь в шумной среде и уже давно вышел за рамки «умных браслетов». Ниже - короткая, но практичная шпаргалка: что в BLE за что отвечает, где производительность «прячется», и на чём чаще всего спотыкаются.

BLE-стек делится на две большие части:
- GAP - «как знакомимся и подключаемся»: роли Central/Peripheral, сканирование, реклама (advertising) и параметры соединения.
- GATT/ATT - «как обмениваемся данными после подключения»: сервисы, характеристики, дескрипторы и операции чтения/записи/уведомлений. (PunchThrough, cardinalpeak.com)

Основное - по делу:
1) Реклама и роли
Legacy vs Extended Advertising: в Bluetooth 5 появилась расширенная реклама(Extended) и Periodic Advertising - удобно для «маячинга» и многоприёмников без подключения. (Novel Bits)Роли: Peripheral «светится» и ждёт подключения; Central сканирует и подключается. Это — GAP-уровень. (Punch Through)

2) Скорость, дальность и каналыPHY 1M - базовый; 2M PHY - больше скорость; Coded PHY (S=2/S=8) - для дальности и шумных сред; итоговый выбор - компромисс «скорость/дальность/надёжность». (RIOT Summit)
Для широковещания и энергосбережения в BLE 5.4 усилили «витаминку» для ESL/маячков: PAwR (Periodic Advertising with Responses), EAD (Encrypted AdvertisingData) и пр. - полезно для систем с множеством датчиков и электронных ценников. (Bluetooth Technology Website, silabs.com)

3) Пропускная способность: где «лежит» throughputATT MTU и Data Length Extension (DLE) увеличивают полезную нагрузку пакета (вплоть до ~251 байта данных на пакет) — ключ для высокой реальной скорости. (Punch Through, devzone.nordicsemi.com)
Настраивайте интервал соединения, slave latency и supervision timeout под задачу: меньше интервал — ниже задержка и выше пропускная способность, но больше расход батареи. Для потоков «почти-реального времени» ориентируйтесь на уведомления (см. ниже) и 2M PHY (если качество радио позволяет). Практические потолки зависят от хоста/ОС — тестируйте на целевых телефонах/ПК. (devzone.nordicsemi.com)

4) GATT-модель и событияNotify vs Indicate: оба «толкают» данные от сервера к клиенту; Indicate требует подтверждения на уровне протокола (надёжно, но медленнее), Notify — без подтверждения (быстрее, меньше оверхеда). Всегда добавляйте CCCD для (де)активации уведомлений. (Сообщество NXP, Thesis Pte Ltd, Reddit)Дизайн GATT: группируйте характеристики логически, минимизируйте количество сервисов и «глубокие» иерархии — это ускоряет discovery и упрощает кросс-платформенное поведение. (cardinalpeak.com)

5) Безопасность и приватностьLE Secure Connections (ECDH) — базовый стандарт для шифрования.Privacy: используйте RPA/Filter Accept List, а в BLE 5.4 — EAD для шифрованной рекламы (актуально для «маячков» с приватными данными). (Bluetooth Technology Website)

6) Мобильные ОС: подводные камниAndroid 12/13+: нужны runtime-разрешения BLUETOOTH_SCAN/CONNECT/ADVERTISE(диалог Nearby devices). Без них сканирование/подключение просто не начнётся.(Android Developers) iOS: в фоне реклама и сканирование ограничены — обычные рекламные PDU из бэкграунда не шлются; для сканирования в фоне задавайте конкретные UUID и включайте соответствующие background-моды. (Stack Overflow, Apple Developer)

7) Стек и инструментыДля «железа»: Zephyr Bluetooth Host (широко применим на MCU), NimBLE (легковесный стек от Apache Mynewt), BlueZ (Linux). Выбор стека влияет на доступность фич (DLE, Coded PHY, Periodic Adv). (docs.zephyrproject.org, Argenox)

8) Новшества, на которые стоит поглядыватьBLE 5.4 (PAwR, EAD) — для массовых устройств-«полок» и защищённой рекламы. (Bluetooth Technology Website)
Core 6.0: уточнения по таймингу кадра/интервалам в изохронных потоках (актуально для LE Audio/ISO). Если делаете аудио через BLE — изучите. (Bluetooth Technology Website)

Теги:
Всего голосов 4: ↑2 и ↓2+1
Комментарии4

Сегодня, 9 сентября, в мире ИТ вспоминают первый компьютерный баг

В 1947 инженеры Гарвардского Mark II под руководством Грейс Хоппер разбирались с поломкой реле. В какой-то момент они нашли причину — внутри застряла настоящая моль. Её аккуратно извлекли, приклеили в журнал отладки и подписали: «Первый реальный случай бага».

До этого слово “bug” использовали в инженерной среде, но именно этот случай сделал его легендой ИТ.

Забавно, что сама моль сохранилась — её до сих пор можно увидеть в Смитсоновском институте.

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

Вспомнить хотя бы Heartbleed — уязвимость в OpenSSL, обнаруженную в 2014-м. Одна ошибка в библиотеке, которая отвечает за шифрование, открыла доступ к памяти миллионов серверов по всему миру. Пароли, ключи, данные — всё оказалось под угрозой. В СМИ её называли «самым громким багом десятилетия».

Через несколько лет весь мир обсуждал уже Log4j. Казалось бы, скромная библиотека для логирования на Java, использующаяся в тысячах приложений. В декабре 2021 обнаружили, что через неё можно удалённо выполнить произвольный код. За считаные часы уязвимость стала глобальной катастрофой: под угрозой оказались банки, облачные сервисы и даже игровые платформы вроде Minecraft.

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

И это, пожалуй, самое важное напоминание: в ИТ нет «мелких багов». Любая ошибка может стать той самой «молью», остановившей работу огромной машины.

А какой баг стал самым запоминающимся для вас?

Теги:
Всего голосов 3: ↑3 и ↓0+4
Комментарии0

Проект Kilo Code — это опенсорный ИИ‑агент с 400 нейросетями.

Особенности решения:

  • допускает мало ошибок — после написания кода ещё раз перепроверяет строчки кода;

  • генерирует код с любых запросов — поймёт даже самое базовое «сделай игру про лягушку и ящерицу»;

  • понимает команды для терминала;

  • встраивается в VS Code;

  • доступ к последним моделям от Claude, Gemini и OpenAI;

  • большой выбор моделей — всего 400 шт, даже самые редкие китайские.

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии2

EasyP – тулбокс для работы с ProtoBuf⁠⁠

easyp – пакетный менеджер, билд-система и линтер для .proto файлов.
Хоть easyp и написан на #go 😱, одна из его фишек в том – что вы можете использовать любые плагины для генерации финального кода: он может быть хоть на #python, хоть на #rust.

Если много используете ProtoBuf – обязательно для ознакомления!

Пример конфигурации:

# Секция для правил линтера:
lint:
  use:
    - DEFAULT

# Секция с зависимостями:
deps:
  - github.com/googleapis/googleapis
  - github.com/grpc-ecosystem/grpc-gateway@v2.20.0

# Секция для правил сборки и генерации итоговых файлов:
generate:
  plugins:
    - name: go
      out: .
      opts:
        paths: source_relative
    - name: go-grpc
      out: .
      opts:
        paths: source_relative
        require_unimplemented_servers: false

Прощайте огромные Makefile с кучей скриптов для сборки.

Проект: https://github.com/easyp-tech/easyp

Документация: https://easyp.tech

Теги:
Всего голосов 4: ↑4 и ↓0+6
Комментарии6

На сайте «I'm absolutely right!» разработчик выкладывает, сколько раз чат‑бот Claude Code сказал эту фразу каждый день.

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

Мемо: в ожидании Python 3.14

Финальный релиз Python 3.14 запланирован на 7 октября 2025. Уже вышел RC2 (14 августа), а финальный кандидат RC3 ожидается 16 сентября.
Этот пост — краткая шпаргалка, чтобы помнить, какие изменения стоит протестировать и чего ждать в новой версии.

1. Свободная многопоточность (Free-Threaded Python, без GIL)

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

# Включение free-threaded режима при сборке
# ./configure --disable-gil
import threading

def cpu_bound_task(n):
    return sum(i*i for i in range(n))

threads = [threading.Thread(target=cpu_bound_task, args=(10**6,)) for _ in range(4)]
[t.start() for t in threads]
[t.join() for t in threads]

Free-Threaded Python теперь не будет экспериментальным и будет официально поддерживаться, но пока пока будет являться опциональным, по умолчанию остаётся GIL.

2. Отложенная оценка аннотаций типов

Зачем нужно: ускорение работы и избавление от кавычек при forward references. Появился новый модуль annotationlib для работы с аннотациями.

# from __future__ import annotations
import annotationlib

class Node:
    def __init__(self, value: int, next: Node | None = None):
        self.value = value
        self.next = next

print(annotationlib.get_annotations(Node.__init__))

Аннотации больше не обрабатываются при определении функций, классов и модулей. Они сохраняются в специальных функциях аннотирования и обрабатываются при необходимости.
Импорт from future import annotations можно удалить при поддержке Python 3.14 и новее.

3. Template-строки (t-строки)

Зачем нужно: безопасное форматирование строк, полезное для веба и DSL, расширение возможностей f-строк.

name = "<script>alert('xss')</script>"
age = 25

tpl = t"Hello {name}, you are {age}"
safe = tpl.format(name=escape_html(name), age=age)
print(safe)

4. Zstandard-сжатие

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

import compression.zstd

data = b"Large dataset" * 1000
compressed = compression.zstd.compress(data, level=3)
decompressed = compression.zstd.decompress(compressed)

print(f"Ratio: {len(data) / len(compressed):.2f}")

5. Удалённая отладка процессов

Зачем нужно: можно подключать отладчик к работающему приложению без перезапуска и накладных расходов.

import sys
import pdb

# Подключение отладчика к работающему процессу
sys.remote_exec("""
import pdb; pdb.set_trace()
""", target_pid=12345)

# Безопасное выполнение кода в удаленном процессе
result = sys.remote_exec("print('Debug info:', some_variable)", target_pid=12345)

6. Экспериментальный JIT-компилятор

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

# Включается флагом при запуске
# python --jit script.py

def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n-1) + fibonacci(n-2)

# JIT автоматически оптимизирует "горячие" функции
result = fibonacci(35)  # Заметно быстрее с JIT

7. REPL с подсветкой синтаксиса

Зачем нужно: удобнее писать и отлаживать код прямо в интерактивной оболочке.

>>> def hello(name: str) -> str:
...     return f"Hello, {name}!"
>>> hello("World")
'Hello, World!'

Что стоит попробовать?

  1. Потестировать free-threaded режим на CPU-нагруженных задачах.

  2. Перейти на новый синтаксис аннотаций без кавычек.

  3. Проверить t-строки в веб-шаблонах и DSL.

  4. Протестировать zstd для больших массивов данных.

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

Подробнее на python.org: What’s new in Python 3.14

Теги:
Всего голосов 3: ↑3 и ↓0+4
Комментарии0

Подборка обучающих материалов по языкам программирования от Selectel: Go, Python и JavaScript

Привет, Хабр! Несу вам небольшую подборку материалов, которые помогут новичкам лучше разобраться в трех популярных ЯП. Все статьи доступны бесплатно, регистрироваться нигде не нужно, вообще никаких обязательств с вашей стороны. Итак, поехали.

Go

Эти семь статей составляют практический гайд по работе с Go. Вы научитесь писать простые сервисы вроде сокращателя ссылок и использовать этот язык в некоторых рабочих задачах, а еще получите большую подборку материалов для погружения в тему (да, у нас тут подборка в подборке, так уж вышло). На прочтение всех материалов уйдет примерно два часа.

Python

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

JavaScript

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

Теги:
Всего голосов 7: ↑7 и ↓0+9
Комментарии0

Microsoft представила открытый исходный код интерпретатора BASIC для восьмиразрядных микропроцессоров MOS Technology 6502, разработанный в 1975 году. Опубликованная в открытом виде версия BASIC устанавливалась в ПЗУ размером 8 КБ и поддерживала работу на системах Apple II, Commodore PET, Ohio Scientific, MOS KIM-1с и симуляторе PDP-10. Код включает 6955 строк на ассемблере и открыт под лицензией MIT. Последнее изменение датировано 28 июлем 1978 года.

Код BASIC для 6502 может представлять интерес для любителей ретрокомпьютеров, использующих эмуляторы и реализации на базе FPGA. Среди прочего, компания Commodore анонсировала модель Commodore 64 ULTIMATE на базе FPGA, начало продаж которого намечено на октябрь. В Commodore 64 ULTIMATE заявлена совместимость с более чем 10 тысячами ретро игр при таких возможностях, как передача игр по Wi‑Fi, поддержка USB и режим ускорения для запуска новых игр.

2 апреля 2025 года Билл Гейтс в честь 50-летия Microsoft в своём блоге Gates Notes представил исходный код Altair BASIC (более 7 тыс. строк с комментариями), который он написал в соавторстве с Полом Алленом. Гейтс назвал этот проект «самым крутым кодом», который он когда‑либо писал, и символом скромного начала компании. В 1976 году Билл Гейтс и Рик Вейланд подготовили порт Altair BASIC для микропроцессоров 6502, который был лицензирован компанией Commodore и поставлялся как Commodore BASIC в компьютерах Commodore PET, VIC-20 и Commodore 64.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

Продакшен, производственная среда или...

Подскажите, пожалуйста, какой термин вам понятнее:

  • продакшен,

  • "боевой" сервер,

  • производственная среда,

  • производственное окружение,

  • промышленная среда,

  • промышленное окружение,

  • live сервер,

  • prod,

  • production,

  • PROD.

Нужно для будущей книги. Хочу написать так, чтобы читатели потом поняли, что я имею в виду.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии16

Мы на Let's Go Conf: расскажем, как приручали старый Gateway, и слетаем в космос

В этом году компания МойОфис стала партнёром конференции для Go-разработчиков Let’s GoConf, которая пройдёт 12 сентября в Москве в лофте «Пространство Весна».

В одном из треков выступит Герман Кравец, техлид модуля Календарь почтового сервиса Mailion. В своём докладе он расскажет о том, как команда Mailion работала с «наследием». Представьте: старый Gateway, застрявший на Go 1.19, сложный в поддержке, с самописными генераторами и C++-зависимостями, а конфигурации напоминают древние свитки... Герман поделится тем, как команда справилась с такими вызовами и как изменилась архитектура продукта.

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

Ждём вас на Let’s Go Conf!

Теги:
Всего голосов 18: ↑18 и ↓0+18
Комментарии0

Если вы сталкиваетесь с задачами оптимизации, но существующие материалы не дают системного понимания — курс «Java Advanced II: высокопроизводительная Java» (JVA-076) для вас. Никакой воды — только лабораторные с разбором реальных инцидентов.

9 сентября на бесплатном вебинаре «Производительность Java под нагрузкой: заглянем под капот» мы детально разберем содержание курса:

➕ Инструменты: JMeter, JMH, JFR, JITWatch — не просто обзор, а решение задач.

➕ JVM: тюнинг GC, анализ JIT, управление флагами.

➕ Hardcore: off-heap память через Unsafe, свои структуры данных.

➕ Архитектура: кэширование и анализ производительности.

Курс для вас, если вы хотите:

✔️ Осознанно подходить к тюнингу JVM.

✔️ Быстро находить и устранять утечки памяти и узкие места

✔️ Принимать архитектурные решения, зная их цену в производительности

✔️ Говорить с эксплуатацией на языке метрик

А вебинар позволит оценить  практическую ценность курса перед принятием решения об обучении.

Дата: 9 сентября

Время: 18:00-19:00 (Мск)

➡️ Регистрация

Теги:
Рейтинг0
Комментарии0

«СберТех», Cloud.ru и Хабр заколлабились и запустили грантовую программу «Код без границ». Это отличная мотивация для разработчиков и ресурсы для проектов. Можно доработать свой проект с поддержкой сообщества, найти единомышленников и показать свои возможности.

Участвовать просто:

  • разместить свой проект на GitVerse (СберТех) или импортировать его с другой площадки.

  • делится кодом и вдохновляться чужими разработками.

Номинации следующие: ИИ‑инновации, «Наука и образование», «Проекты для всех», «Разработка для разработчиков».

Заявки на грантовую программу «Код без границ» принимаются с 3 сентября по 31 октября. Отбор проведут в ноябре, а результаты огласят в декабре.

Теги:
Рейтинг0
Комментарии2

В видео поговорим про то, как отключить табы в vscode, и как навигироваться по файлам без них. Отформатируем визуальное отображение одного оставшегося таба. А еще бонусом расскажу про Cooklang – язык для кулинарии и разметки рецептов.

Какие способы навигации удобнее табов? Будем использовать cmd+p для Command Pallete, cmd+d для Open Recent, alt+<right> и alt+<left> для навигации по позициям курсора в разных файлах.

Конфиг выпуска:

{
  "workbench.editor.showTabs": "single",
  "workbench.editor.showIcons": false,
  "workbench.editor.labelFormat": "medium",
  "breadcrumbs.enabled": false,
}

Горячие клавиши:

{
  {
      "key": "alt+left",
      "command": "workbench.action.navigateBack"
  },
  {
      "key": "ctrl+-",
      "command": "-workbench.action.navigateBack"
  },
  {
      "key": "alt+right",
      "command": "workbench.action.navigateForward"
  },
  {
      "key": "ctrl+shift+-",
      "command": "-workbench.action.navigateForward"
  },
  {
      "key": "cmd+d",
      "command": "workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup",
      "when": "!activeEditorGroupEmpty"
  },
  {
      "key": "ctrl+tab",
      "command": "-workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup",
      "when": "!activeEditorGroupEmpty"
  },
}

Полный конфиг: https://github.com/sobolevn/dotfiles

Теги:
Всего голосов 7: ↑7 и ↓0+12
Комментарии0

Ближайшие события

Представлен открытый репозиторий «The Little Book of Linear Algebra», где опубликовано введение в основные понятия линейной алгебры, причём кратко и понятно для начинающих.

Теги:
Всего голосов 6: ↑6 и ↓0+8
Комментарии0

Проект Student's Guide to Software Engineering Tools & Techniques (SE‑EDU) — это база по программированию и компьютерным наукам специально для студентов — можно изучить огромный пласт дисциплин с полного нуля, включая:

• языки программирования: С++, С#, Rust, Haskell, Java, Go, JS, Swift, Python.
• архитектура и дизайн кода, паттерны проектирования, документирование, функциональное программирование, контроль версий, тестирование, UX/UI — базу для создания качественного, мощного и стабильного ПО.
• популярные фреймворки: Spring, Vue, Node, React, Xamarin.
• полезные инструменты и приёмы для разработки программ: регулярные выражения в разных языках программирования, Docker, ZeroMQ и Dotfiles.
• дополнительно позволяет изучить ML, компьютерное зрение, многопоточность, обработку естественного языка и SQL.

Теги:
Всего голосов 4: ↑4 и ↓0+6
Комментарии1

25 бесплатных урока недели

2 сентября, вторник:

3 сентября, среда:

4 сентября, четверг:

8 сентября, понедельник:

Теги:
Всего голосов 7: ↑5 и ↓2+7
Комментарии0

В открытом репозитории «A to Z Resources for Students» представлены ресурсы для обучения Python, PHP, Ruby, C++, C#, Machine Learning и нейросетями, а также всё про разработку на Android и много материалов про Frontend и Backend.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Как правильно откатывать миграции? Если коротко, то никак.

В продакшене миграции могут идти только вперед. Какого? Откат миграции во время ролбека (при неудачном деплое) во-первых сильно усложняет всю процедуру, во-вторых, в теории, может ее некисло замедлить, уже не говоря про потенциальные локи на время отката. На фоне этого возможны ошибки, которые приведут всю систему в неконсистентное состояние.

Ролбек, в идеале, это просто переключение с одной версии кода на другую. Но ведь тогда возможны ошибки связанные с изменениями в базе? Если делать через жопу, то возможны. При правильном подходе, база всегда обратно совместима как минимум на одну версию. Только в этом случае мы можем обеспечить и бесшовный деплой (zero downtime deploy) и практически моментальный откат.

А это значит, что нельзя менять тип у колонок (если тип сужается), нельзя менять именования таблиц и полей. Если это все таки нужно, то существует немало техник, позволяющих сделать переход через создание новых сущностей и синхронизацией либо через код либо через саму базу (например с помощью триггеров). По этой теме даже написали целую книгу "Refactoring Databases: Evolutionary Database Design".

Получается, что любые ошибки в базе будут только накапливаться? Не совсем. Обратная совместимость обычно нужна только на текущую и следующую версию. Если у нас не коробка, а облачное решение, то одновременно могут работать только две версии. В таком случае, мы без проблем можем писать любые миграции, которые удаляют и меняют все что угодно, что уже не используется. Заметьте, это не откат, а новые миграции.

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

Больше про разработку в моем телеграм-канале организованное программирование

Теги:
Всего голосов 8: ↑6 и ↓2+5
Комментарии2

На днях посмотрел два видео по рынку ИТ, в том числе с фокусом на российский сегмент (раз и два).

За завесой рассказов про ИИ, vibe coding, T-shape, динамику Восточной Европы и прочим анализом в тени остался, на мой взгляд, самый важный вопрос, на который можно ответить "да" или "нет". 

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

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

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

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

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

Поэтому работникам придется адаптироваться, находя новые подходы к прохождению собесов, или менять профессию.

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

А как думаете вы?

Теги:
Всего голосов 2: ↑1 и ↓1+2
Комментарии0

Cursor теперь помогает составлять User Rules

В Cursor буквально сегодня увидел новую опцию. А именно: когда с ним работаешь по проекту и по ходу как-то его поправляешь, то внизу слева выскакивает пимпочка и предлагает занести такие вещи в User Rules.

Очень даже удобно. Не надо самому отдельно все записывать, а потом переносить.

Теги:
Всего голосов 3: ↑1 и ↓2-1
Комментарии0

Вклад авторов