Яков разрабатывает
18 subscribers
16 photos
11 links
Технологии, приёмы, кейсы – всякое из практики
Download Telegram
Добавил комменты
👍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 – первый и предпоследний скрин
в чатике FreeCodeCamp немного рассказал про использование ChatGPT для разработки, поделюсь-ка примером с eslint: штука показательная – искать (бывает) долго, спросить – минута. Приятно понижает порог входа во всякие "микротехнологии", типа разных шаблонизаторов, препроцессоров, CI/CD и прочего, где написать часто нужно немного, знать бы рецепт
🔥2