Найти в Дзене
История про пулреквест
Есть такая софтина https://www.dittofeed.com/ которая нужна для crm-макретинга (email рассылок и т.п.) Таких решений довольно много и честно говоря стоят они немало. Поэтому попрыгав по разным сервисам, мы в конце концов пришли к тому, что ладно, пусть будет меньше функций, но зато open source, который можно поставить к себе если что. Дитофид как раз оказался таким решением. Не единственным, но помимо подходящей функциональности я обращаю внимание на технологии и перспективы. В данном случае там юзаюется как по мне очень неплохой сетап на ноде (ts + drizzle + fastify)...
2 часа назад
Выпуск подкаста уже на канале
В этот раз мы с гостем взяли стратап-идею и разложили ее по DDD через Event Storming https://www.youtube.com/watch?v=gyaDwoDvsWY Альтернативные ссылки: Аудио | vk
3 дня назад
Популярность Tailwindcss убила бизнес ее создателя
Короче, в твиттере и на гитхабе мощно растекается драма вокруг тайлвинда. Кто-то в обсуждениях на гитхабе в 2024 году предложил сделать доку одним файлом для агентов. В комментах было много лайков, пока вчера туда не пришел фаундер и не написал довольно большой ответ, где он рассказал про реальное положение дел. На днях ему пришлось уволить 3 из 4 разработчиков работающих над проектом. Денег осталось на 6 месяцев (с учетом падающего входящего потока) и дальше он пока не придумал что делать. Основная бизнес модель у Tailwind это продажа дополнительных компонентов, о которых люди узнают через документацию...
6 дней назад
Переключение контекста в программировании
Работать только над фичами утомляет и в течение дня иногда хочется переключиться или просто голова не особо варит, а делать полезное хочется. Куда и как можно переключиться? Вот что работает в моем случае. Для начала, какие типы задач я выделяю (в моей практике): - UX/UI. Дизайн, удобство, отзывчивость и любые фронтовые правки - Обновление зависимостей (люблю я это дело) - Типизация. Добавление типов (нам в ruby актуально), оптимизация типов и т.п. - DX. Тут и скорость работы инструментов (сборка, тесты и т.п.) и CI и разворачивание проекта - Kubernetes. Сам по себе отдельно, как инфраструктурная единица - Инфраструктура...
1 неделю назад
Иификация
Чем дальше, тем больше ии интегрируется в мой процесс разработки и уже появился какой-то набор паттернов, которыми я бы хотел поделиться. В этом посте поделюсь сетапом, а в будущих уже расскажу подробнее про эффективное использование 1. chatgpt всегда остается когда надо просто поговорить. Причем сейчас он может работать в агентском режиме, к нему можно подключить репозитории и всякое другое 2. Для работы над кодом codex и copilot в терминале отдельно от редактора. 3. В редакторе автокомплит + nes (next edit suggestion). Тут есть небольшое ограничение самого nvim, которое не позволяет делать многострочные nes, но это поправят буквально в следующей версии, которую я очень жду 4...
1 неделю назад
Традиционные результаты года
Нас стало больше, мы больше комментировали, больше делились и реагировали. При том что постов было меньше, так как я весь этот год провел в безудержном программинге. Время на посты было меньше чем обычно. Я бесконечно рад огромным обсуждениям на сотню другую комментариев под многими постами. Спасибо вам за это и давайте продолжать в том же духе :) Кстати, если вы хотите поообщаться про рост каналов и выстраивание...
1 неделю назад
Что означает "порт занят
"? Я как-то совсем стороной обходил все что касается операционок, администрирования и девопса, хотя сказать есть что. Особенно в свете последних собеседований 🙂 Открою эту рубрику постом про занятые порты. На моих собесах мы разворачиваем приложение и делаем что-то полезное в нем. Во время старта приложения поднимается база, веб-сервер, фронт и что-то еще по мелочи, вполне типовой набор для веб проекта. И вот тут, с вероятностью 50 на 50, падает с ошибкой: Error: bind() to port 5432 failed: Address already in use Что я заметил. Даже если эта строчка есть в выводе, многие ее как будто не замечают...
2 недели назад
Если вы еще не подрубили chrome mcp ( к своему проекту, то самое время это сделать
Если вы еще не подрубили chrome mcp (https://github.com/ChromeDevTools/chrome-devtools-mcp) к своему проекту, то самое время это сделать. С его помощью я тут же смог решить несколько задач по верстке, которые раньше мне не поддавались из-за того, что я местами плаваю в ней + требовался глубокий дебаг включающий в себя и верстку и react и конкретно компоненты Mantine...
3 недели назад
Как я потерял 5000$ на авиабилетах
У нас были большие планы на это лето. Мы собирались полететь в европу, чтобы по полной программе оторваться. Снять машину и пару месяцев кататься по разным странам. В целом, выбраться у нас туда получалось каждый год, но мест где мы еще не были все равно много. Короче закатали рукава и начали процесс оформления визы в испанию. В майами это самый ходовой путь получать туристическую визу в европу. Тем более это был не первый раз. Подняли все доки, вооружились ии, назначили дату и стали все готовить. Я забронировал отели, спланировал маршрут и приступил к поиску билетов. Стоимость на семью из пяти человек туда сюда выходила какая-то космическая...
3 недели назад
Async Jobs (Background Jobs
) Если для вас эти слова ничего не говорят, то возможно после этого поста вы сможете нехило улучшить и упростить ваше приложение. Зайдем через проблематику. Буквально в каждом не тривиальном приложении, уже на старте, появляется задача выполнять какие-то задачи асинхронно. Самое простое - отправка писем после регистрации. Почему этого нельзя делать там же где делается регистрация? Отправка письма это почти наверняка взаимодействие с внешним сервисом по api или smtp. А это сеть со всеми вытекающими от задержек до ошибок. Ваши пользователи будут регулярно получать тайматы и ошибку 500. Сразу встает вопрос транзакционности и гарантий...
4 недели назад