Яков разрабатывает
18 subscribers
16 photos
11 links
Технологии, приёмы, кейсы – всякое из практики
Download Telegram
Скорость разработки нередко зависит от степени владения IDE. Будучи по-разработчески нетерпеливым, некоторое время назад разобрался, как в VS Code переключаться между панелями горячими клавишами:

- фокус в консоль ctrl + `
- фокус на редактор ctrl + 1
- переключение между вкладками консоли ctrl + PgUp/PgDn
- между панелями одной вкладки – alt + ←/→

Какие горячие клавиши и фичи IDE ускоряли вашу разработку?

Жми 🔥, если интересно почитать ещё какие-нибудь tips.
🔥1
На днях начал осваивать CouchDB для одного проектика. Это такая документарная БД (грубо говоря, а ля Mongo, хотя есть заметные различия) с master-master репликацией из коробки. Т.е. хорошо синхронизирует данные между двумя узлами, будь то облако и локальный девайс (например, для offline mode) или сервера в разных точках мира (для скорости общения с пользователями или для надёжной защиты от поломок жёстких дисков).

Искал немного больше подробностей про разрешение конфликтов, нашёл хорошую серию вводных видео. Поглядел по сторонам, оказалось, что это часть обзорного цикла лекций про разные БД – судя по качеству уже просмотренного, очень годных. Думаю, буду смотреть потихоньку: самое то для проектирования архитектур.
Добавил комменты
👍1
Ещё в начале десятых у меня в голове болталась такая идея: есть browser object model, есть document object model, почему нет user object model? Казалось бы, у пользователя может быть множество предпочтений – по громкости звуков сейчас, по скорости музыки, по частоте смены картинки (привет, эпилепсия), по яркости/контрастности, "крейсерская" скорость чтения, разные disabilities, знание языков и т.д. Всё это влияет на восприятие и на то, каким должен был бы быть интерфейс (и особенно рекламные баннеры!) в идеале.

Сегодня, пожалуй, есть единственный аспект этой идеи, который более-менее поддерживается – dark mode. На этом же примере (и отчасти – на примерах разного accessability) можно видеть, в чём проблема: платформ много, и хотя сегодня настройка той же Windows в плане dark mode доступна и в браузере в CSS (@media (prefers-color-scheme: dark)) и JS (значение window.matchMedia('(prefers-color-scheme: dark)').matches и событие window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {), и в других приложениях (не выяснял, сколько шла разработка стандартов), проблема очевидна: и приложения, и сайты должные ещё их поддерживать. Например VS Code, естественно, поддерживает смену темы со сменой настройки ОС, в Windows notepad – нет (хотя казалось бы, это примитивное приложение в ядре, которое должно показывать лучшие практики). Stackoverflow умеет и включить тёмную тему, и "тему ОС" (в смысле переключаться, когда в ОС включается/выключается dark mode), а в VK это включено по умолчанию, но многие сайты и платформы не то, что не поддерживают автопереключение (это-то реализовать несложно), но "даже" не имеют тёмной темы (потому что разрабатывать её трудозатратно, а "отобьётся" ли – неизвестно).

Тем не менее, dark mode – штука удобная и полезная для глаз при определённом освещении. Только вот ещё бы переключалась удобно) Не так давно я понял, что мне надо, чтобы можно было удобно переключать, и соорудил решение с помощью AutoHotKey и небольшого скрипта (в этой реализации переключение происходит по нажатию Win+Q). Что, в общем, ещё раз показывает качество интеграции на данный момент.
В то время как самое приятное (на мой вкус) ускорение рефакторинга я получал от мультикурсора (при должном использовании* он мощнее, чем замена по регуляркам, но при этом всё ещё очень быстр в использовании "в моменте" – это не codemodes писать; см гифку), при написании нового кода довольно полезен бывает AI autocompletion.

Опыт у меня с ним неоднородный: вначале я столкнулся с PonyCode, когда в одном проекте код разрабатывался прямо на сервере (не спрашивайте) и часть расширений VS Code были установлены на него, и модель была обучена писать как сокомандник, так что подсказки давались в том же стиле кода, и получалось неплохое ускорение. Потом через некоторое время дошли руки посмотреть, чего вообще дают, нашёл TabNine, у которого есть free plan (существенно, если у вас нет несанкционной карты для оплаты), и немного поиспользовал его: пока результаты не такие впечатляющие, но меня всегда забавляет, когда он выдаёт релевантные подсказки при написании комментов (ну и вообще ускоряет написание). Пока другие решения не пробовал, но плагинов для VS Code больше 5 штук есть. Гифку делать не буду – короткую и впечатляющую надо ещё придумать, а в описании каждого расширения уже есть готовая.

Пользовались ли вы AI autocompletion? Каким, как впечатления? А в команде?
забавно бывает обнаружить, что заметная часть того, что ты писал ранее, морально устарела (иди, переписывай!).

padding-left: 0; говорите? Nope

Честно говоря, никогда не приходилось локализовывать что-то на RTL-языки или те, в которых написание идёт вертикально (типа японского), но вот части проблем таким образом можно избежать
приятель прислал классную тулзу для рисования UML Sequence Diagrams: https://sequencediagram.org Работает в т.ч. офлайн, генерируется из текстовой разметки (можно положить в git), но также можно редактировать в WYSIWYGish манере (текстовый исходник генерируется), шик-блеск, мистер Фикс! (в планах даже плагин к VS Code)

А какие инструменты для рисования диаграмм используете вы?

Когда проектировал БД побольше, не нашёл идеальной для себя тулзы, но для набросков вполне неплохо работала dbdesigner.net Впрочем, что уж там, идеальная тулза в широком смысле слова должна не только позволять легко и быстро создавать диаграммы, но и заниматься кодогенерацией методов работы с БД и миграций, да ещё и, как sequencediagram.org, уметь взаимно однозначно маппить схему на текстовый "исходник", который можно хранить в git repo.

Ещё мощная штука – app.diagrams.net, там и БД можно проектировать, и миллион других диаграмм создавать, но в силу общности интерфейс не слишком дружественен для быстрого редактирования: открыл вот Entity Relationship Diagram, и без мануала за 5 минут не разобрался, как же это редактировать. Зато с мануалом норм! Вероятно, в следующий раз проектировать БД побольше попробую там.

Конкретно для PosgreSQL, наверное, стоит попробовать pgModeler (доисторический пост-знакомство). Ну и напоследок сборник из 10 FOSS-решений, которые я сам пока не пробовал.

Будет классно, если поделитесь опытом в комментах и поделитесь постом, если кому-то актуально
первое простое и актуальное применение ChatGPT, которое я для себя обнаружил: генерация стабов для автотестов (с edge cases) по интерфейсу/типу
а вообще ChatGPT неплох как learning assistant. Вот, например, не совсем тривиальный вопрос по TypeScript. Увы, потребовалось 6 итераций, чтобы получить подходящий ответ на вопрос, но это, например, быстрее, чем задавать вопрос на SO и ждать; и, вероятно, быстрее, чем гуглить то, чего заранее не знаешь. TL;DR – первый и предпоследний скрин