На днях начал осваивать CouchDB для одного проектика. Это такая документарная БД (грубо говоря, а ля Mongo, хотя есть заметные различия) с master-master репликацией из коробки. Т.е. хорошо синхронизирует данные между двумя узлами, будь то облако и локальный девайс (например, для offline mode) или сервера в разных точках мира (для скорости общения с пользователями или для надёжной защиты от поломок жёстких дисков).
Искал немного больше подробностей про разрешение конфликтов, нашёл хорошую серию вводных видео. Поглядел по сторонам, оказалось, что это часть обзорного цикла лекций про разные БД – судя по качеству уже просмотренного, очень годных. Думаю, буду смотреть потихоньку: самое то для проектирования архитектур.
Искал немного больше подробностей про разрешение конфликтов, нашёл хорошую серию вводных видео. Поглядел по сторонам, оказалось, что это часть обзорного цикла лекций про разные БД – судя по качеству уже просмотренного, очень годных. Думаю, буду смотреть потихоньку: самое то для проектирования архитектур.
YouTube
BZAN 6356 Lecture 8.0: Document Databases Part 3 - CouchDB
0:00 – Introduction
3:14 – History of CouchDB
5:25 – Representational State Transfer (REST)
8:49 – Management with Fauxton
9:43 – Agenda
3:14 – History of CouchDB
5:25 – Representational State Transfer (REST)
8:49 – Management with Fauxton
9:43 – Agenda
Ещё в начале десятых у меня в голове болталась такая идея: есть browser object model, есть document object model, почему нет user object model? Казалось бы, у пользователя может быть множество предпочтений – по громкости звуков сейчас, по скорости музыки, по частоте смены картинки (привет, эпилепсия), по яркости/контрастности, "крейсерская" скорость чтения, разные disabilities, знание языков и т.д. Всё это влияет на восприятие и на то, каким должен был бы быть интерфейс (и особенно рекламные баннеры!) в идеале.
Сегодня, пожалуй, есть единственный аспект этой идеи, который более-менее поддерживается – dark mode. На этом же примере (и отчасти – на примерах разного accessability) можно видеть, в чём проблема: платформ много, и хотя сегодня настройка той же Windows в плане dark mode доступна и в браузере в CSS (
Тем не менее, dark mode – штука удобная и полезная для глаз при определённом освещении. Только вот ещё бы переключалась удобно) Не так давно я понял, что мне надо, чтобы можно было удобно переключать, и соорудил решение с помощью AutoHotKey и небольшого скрипта (в этой реализации переключение происходит по нажатию Win+Q). Что, в общем, ещё раз показывает качество интеграции на данный момент.
Сегодня, пожалуй, есть единственный аспект этой идеи, который более-менее поддерживается – 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). Что, в общем, ещё раз показывает качество интеграции на данный момент.
Super User
How to get a registry value to a variable using Powershell? (implementing programmatical way to toggle dark mode in Windows 10)
I'm implementing dark mode switcher for Windows 10. I've found that one can enable dark mode via
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name
В то время как самое приятное (на мой вкус) ускорение рефакторинга я получал от мультикурсора (при должном использовании* он мощнее, чем замена по регуляркам, но при этом всё ещё очень быстр в использовании "в моменте" – это не codemodes писать; см гифку), при написании нового кода довольно полезен бывает AI autocompletion.
Опыт у меня с ним неоднородный: вначале я столкнулся с PonyCode, когда в одном проекте код разрабатывался прямо на сервере (не спрашивайте) и часть расширений VS Code были установлены на него, и модель была обучена писать как сокомандник, так что подсказки давались в том же стиле кода, и получалось неплохое ускорение. Потом через некоторое время дошли руки посмотреть, чего вообще дают, нашёл TabNine, у которого есть free plan (существенно, если у вас нет несанкционной карты для оплаты), и немного поиспользовал его: пока результаты не такие впечатляющие, но меня всегда забавляет, когда он выдаёт релевантные подсказки при написании комментов (ну и вообще ускоряет написание). Пока другие решения не пробовал, но плагинов для VS Code больше 5 штук есть. Гифку делать не буду – короткую и впечатляющую надо ещё придумать, а в описании каждого расширения уже есть готовая.
Пользовались ли вы AI autocompletion? Каким, как впечатления? А в команде?
Опыт у меня с ним неоднородный: вначале я столкнулся с PonyCode, когда в одном проекте код разрабатывался прямо на сервере (не спрашивайте) и часть расширений VS Code были установлены на него, и модель была обучена писать как сокомандник, так что подсказки давались в том же стиле кода, и получалось неплохое ускорение. Потом через некоторое время дошли руки посмотреть, чего вообще дают, нашёл TabNine, у которого есть free plan (существенно, если у вас нет несанкционной карты для оплаты), и немного поиспользовал его: пока результаты не такие впечатляющие, но меня всегда забавляет, когда он выдаёт релевантные подсказки при написании комментов (ну и вообще ускоряет написание). Пока другие решения не пробовал, но плагинов для VS Code больше 5 штук есть. Гифку делать не буду – короткую и впечатляющую надо ещё придумать, а в описании каждого расширения уже есть готовая.
Пользовались ли вы AI autocompletion? Каким, как впечатления? А в команде?
DEV Community 👩💻👨💻
Faster code editing in Visual Studio Code
Code editing productivity features
забавно бывает обнаружить, что заметная часть того, что ты писал ранее, морально устарела (иди, переписывай!).
Честно говоря, никогда не приходилось локализовывать что-то на RTL-языки или те, в которых написание идёт вертикально (типа японского), но вот части проблем таким образом можно избежать
padding-left: 0; говорите? NopeЧестно говоря, никогда не приходилось локализовывать что-то на RTL-языки или те, в которых написание идёт вертикально (типа японского), но вот части проблем таким образом можно избежать
Medium
Новые логические свойства в CSS!
Следующий шаг в эволюции CSS
приятель прислал классную тулзу для рисования 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-решений, которые я сам пока не пробовал.
Будет классно, если поделитесь опытом в комментах и поделитесь постом, если кому-то актуально
А какие инструменты для рисования диаграмм используете вы?
Когда проектировал БД побольше, не нашёл идеальной для себя тулзы, но для набросков вполне неплохо работала dbdesigner.net Впрочем, что уж там, идеальная тулза в широком смысле слова должна не только позволять легко и быстро создавать диаграммы, но и заниматься кодогенерацией методов работы с БД и миграций, да ещё и, как sequencediagram.org, уметь взаимно однозначно маппить схему на текстовый "исходник", который можно хранить в git repo.
Ещё мощная штука – app.diagrams.net, там и БД можно проектировать, и миллион других диаграмм создавать, но в силу общности интерфейс не слишком дружественен для быстрого редактирования: открыл вот Entity Relationship Diagram, и без мануала за 5 минут не разобрался, как же это редактировать. Зато с мануалом норм! Вероятно, в следующий раз проектировать БД побольше попробую там.
Конкретно для PosgreSQL, наверное, стоит попробовать pgModeler (доисторический пост-знакомство). Ну и напоследок сборник из 10 FOSS-решений, которые я сам пока не пробовал.
Будет классно, если поделитесь опытом в комментах и поделитесь постом, если кому-то актуально
sequencediagram.org
SequenceDiagram.org - UML Sequence Diagram Online Tool
Free sequence diagram online tool. Create sequence diagrams using textual notation or draw quickly via Drag and Drop with an easy to use interface.
а вообще ChatGPT неплох как learning assistant. Вот, например, не совсем тривиальный вопрос по TypeScript. Увы, потребовалось 6 итераций, чтобы получить подходящий ответ на вопрос, но это, например, быстрее, чем задавать вопрос на SO и ждать; и, вероятно, быстрее, чем гуглить то, чего заранее не знаешь. TL;DR – первый и предпоследний скрин
в чатике FreeCodeCamp немного рассказал про использование ChatGPT для разработки, поделюсь-ка примером с eslint: штука показательная – искать (бывает) долго, спросить – минута. Приятно понижает порог входа во всякие "микротехнологии", типа разных шаблонизаторов, препроцессоров, CI/CD и прочего, где написать часто нужно немного, знать бы рецепт
🔥2