Обновить
4
0

Пользователь

Отправить сообщение

Сравнение транзакционных систем Oracle и PostgreSQL

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели9.4K

Механизм реализации транзакций - основная часть реляционных баз данных. Он упрощает разработку приложений, в которых гарантируется целостность данных. Стандарт SQL регламентирует, часть свойств по поддержке транзакций, но многие детали не стандартизованы. Как следствие, реализация поддержки транзакций в разных базах данных может существенно различаться. В настоящее время, многие пытаются перейти с Oracle на PostgreSQL. Для миграции приложений важно понимать различия в реализации работы транзакций, иначе можно столкнуться с неприятными сюрпризами, которые могут поставить под угрозу производительность и целостность данных. Поэтому Лоренс Альбе решил, что полезно сравнить реализацию работы транзакций в Oracle и PostgreSQL и свести различия в одной статье.

Читать далее

Почему SELECT FOR UPDATE считается в PostgreSQL вредным

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели24K

Разбирая взаимоблокировки, Лоренс вспомнил, насколько опасным может быть использование SELECT FOR UPDATE при конкурентном доступе. В этом нет ничего нового, но Лоренс заметил, что многие не знают о режимах блокировки строк в PostgreSQL. Лоренс решил подробно описать, когда следует избегать SELECT FOR UPDATE.

Читать далее

Vue: Composables и TS это вам не Mixins и JS. С ними сложнее

Уровень сложностиСложный
Время на прочтение3 мин
Охват и читатели2.4K

Пришел к хитрому паттерну. Делюсь.

Будет полезен тем кому нравиться или приходится работать с Vue.
В подходящей ситуации он сэкономит кучу времени и поможет избежать дублирования кода.

Поехали!

Композиционные хуки во Vue 3: коротко

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели2.4K

Привет, Хабр!

В этой статье рассмотрим, что такое композиционные хуки во Vue 3, зачем они нужны и как их использовать.

Читать далее

Clean Architecture во frontend: почему я ушёл от FSD

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели10K

Привет! Хочу поделиться с тобой опытом перехода от Feature-Sliced Design к Clean Architecture во фронтенде. Почему я считаю Clean Architecture более подходящей для сложных приложений, и как она решает проблемы, с которыми ты точно сталкивался.

Если ты используешь FSD и тебе уже больно или до сих пор пишешь всю логику в компонентах React — эта статья точно для тебя.

Читать далее

Альтернатива чатам с ИИ для анализа и оптимизации SQL запросов. Часть 2

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели9.2K

Месяц назад я опубликовал пост об инструменте для автоматической оптимизации SQL-запросов. Идея была простая — убрать этап «общения» с ИИ и предоставить простой интерфейс, где не нужно придумывать промпты.

За первый месяц сервис использовали более 1000 человек. Ниже — выводы и результаты.

Читать далее

Как я написал алгоритмического бота на Python для торговли по индикаторам на Bybit

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели21K

Полный разбор создания алгоритмического трейдинг-бота с использованием индикатора Bollinger Bands, кластерных сигналов и API Bybit. 1700% прибыли за год использования.

Читать далее

AI-трейдинг без кода

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели7.4K

Как связать большие языковые модели, биржу и собственный код без боли и лишних API-обёрток

MCP-сервер Alpaca превращает запросы GPT-моделей в реальные сделки на бирже — AI-трейдинг без строчки кода.

Читать далее

CORS для собеседований и работы

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели11K

Если вы видите эту ошибку — вы не одиноки:

Access to fetch at 'https://api.site.com' from origin 'http://localhost:3000' has been blocked by CORS policy.

Разберем, почему это происходит и как это починить. Что такое CORS и для чего он нужен. Кратко, понятно.

Читать далее

Конфигурация Spring Security на пальцах

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели8.9K

В новом переводе от команды Spring АйО мы рассмотрим решение для регистрации и аутентификации пользователя через клиентское JavaScript-приложение с использованием инфраструктуры Spring Security, а также access и refresh токенов.

Существует множество базовых примеров работы со Spring Security, поэтому цель данной статьи — более подробно описать возможный процесс с помощью блок-схем.

Читать далее

Сказание о стратегических паттернах DDD

Уровень сложностиСложный
Время на прочтение20 мин
Охват и читатели8.4K

Когда-то давно, впервые познакомившись с паттернами DDD, я подумал, что эта методология, очевидно, создана теоретиками, изрядно оторвавшимися от реальности. Себя, естественно, я считал опытным практиком. Прошли годы, прежде чем я осознал, что это Эванс был практиком, практиком создания сложных систем с большим временем жизни, а теоретиком в этой области был как раз я.

В этой статье не будет примеров кода и конкретных архитектурных приёмов. Но если, читая книги и статьи по Domain Driven Design, вы недоумеваете «зачем это всё вообще», возможно, у меня есть для вас ответ. Правда, боюсь, что он вам не особо понравится.

Читать далее

Байки про тактические паттерны DDD

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели8.3K

Если вы никогда не интересовались паттернами DDD или это было давно и неправда, эта статья, к сожалению, мало чем сможет вам помочь. Если вы никогда не читали Вернона – я настоятельно рекомендую это сделать, его объяснения прекрасны, подробны и системны.

Если же вы знакомы с трудами классиков, но сочли их оторванными от жизни, либо были когда-то ими воодушевлены, попробовали воплотить их идеи на практике, но столкнулись с проблемами и разочаровались, то, возможно, я смогу вам помочь. Не потому что я – лучший в мире архитектор, программист или технический писатель, а потому, что я применяю Domain Driven Design на практике и советы, которыми я хочу поделиться, это не «ещё один пересказ Эванса», а отражение того, как это действительно может работать (как минимум в моей практике) в реальных проектах.

Читать далее

Мы 30 лет делали сайты руками, а потом пришла нейросеть

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели17K

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

Так что не судите строго — делюсь тем, что получилось, возможно, многое можно было сделать лучше или правильнее. Буду рад вашим советам!

У меня был сайт интернет‑магазина лабораторного оборудования, который постоянно ломался. Любое изменение — и что‑то отваливалось в другом месте. В итоге я решил: хватит мучиться, надо что‑то с этим делать. И попробовал создать новый сайт через нейросеть — через Claude.

Представьте себе машину, которую ремонтировали разные мастера в течение многих лет: заводишь двигатель — отваливается колесо, прикручиваешь колесо — открывается багажник. Именно так выглядел мой старый сайт. Сайт делали разные люди в разное время, в коде невозможно было разобраться, любое изменение ломало что‑то в другом месте. SEO практически не работало, трафик постоянно падал.

Нужно было создать новый каталог для 400+ позиций лабораторного оборудования. Но это не классический интернет‑магазин с корзиной и оплатой, а каталог с формой «запросить цену» — в сфере B2B так часто работают.

Читать далее

Худеть по науке и без мазохизма

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели18K

Требования к диете — минимум насилия над собой, минимум голода, без головной боли. Любые нарушения, застолья, круизы, должны быть допустимы без последствий. Алкоголь допустим, если не пить с утра. Оземпик не предлагать – потенциально опаснее запоя. Быстро худеть не надо, надо худеть так, чтобы потом снова не набрать вес.

Идеи взяты из двух видео на ЮТубе: Benjamin Bikman объясняет, что есть два режима обмена веществ углеводный (на инсулине) и кетонный, но у большинства людей постоянно запущен углеводный режим с повышенным уровнем инсулина (уровень глюкозы может быть в норме до развития тяжких патологий). Мозг лучше работает на кетонах. Работа мозга на углеводах дает тупость, переходящую с возрастом в Альцгеймера. Mindy Pelz говорит о схожем подходе, но с учётом гормональных особенностей у женщин, и отдельно критикует идею заменять питание препаратами. Оба источника сходятся в том, что важнее всего, когда именно поступают углеводы и что происходит между приёмами пищи.

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

На практике требования к диете можно реализовать если завтрак либо отсутствует, либо из жира и белка без углеводов вообще — ни молока, ни йогурта, ни хлеба. По опыту даже кофе с молоком (без сахара, но в молоке лактоза) вместо завтрака вызывает голод, чёрный кофе (без сахара) — нет. Диета с нарушениями и без напряга дала потерю 5 кг за 4 месяца (диета не моя, но опыт из первых рук). От ужина и до обеда на следующий день кетонный режим запускается и этого оказалось достаточно. От обеда и до ужина углеводы без ограничений. Диету можно усилить если с углеводами только один прием пищи, но остальные строго без углеводов. Перекусывать можно яйцом или беконом (у всех долгожителей высокий уровень холестерина, уровень холестерина вообще не важен, надо следить за уровнем триглицеридов в крови).

Обсуждение в комментах

Взаимодействие микросервисов: проблемы, решения, практические рекомендации

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели20K

Все говорили о микросервисах. Гибкость. Масштабируемость. Независимые команды. Звучало как мечта. Многие компании бросились распиливать свои монолиты. Разработка действительно ускорилась. Отдельные компоненты стало проще обновлять и разворачивать.

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

Читать далее

Кандидат сбежал в слезах. Про накрутку опыта

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели72K

У него в резюме Python, Playwright, Pytest, Jenkins, Docker, Kafka, GitHub, GitLab, и он вёл QA-гильдию в Третьем Царстве. А потом пришёл на собес — и не смог объяснить, чем отличается UI-тест от интеграционного. Мы дали задачу. Он попытался её решить. Мы все плакали. Он — тоже.

Читать далее

70+ докладов для фронтенд-разработчика на все случаи жизни

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели4.1K

Привет, Хабр! Меня зовут Данил. Я фронтенд-разработчик, и мне очень нравится смотреть в записи или посещать митапы и конференции, на которых профессионалы делятся своим опытом в формате докладов.

Я постоянно добавлял записи докладов, которые показались мне интересными в закладки, и их собралось достаточное количество, чтобы можно было поделиться этим списком с вами. Суммарная продолжительность докладов составляет более 48 часов, поэтому уверен - вам точно будет, что посмотреть.

Читать далее

Git: Больше чем commit и push. 5 команд, которые спасут вашу репутацию (и нервные клетки)

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели37K

git commit -m "WIP" — три слова, после которых начинается настоящий ад.

Доброго времени суток. Такая технология как Git в представлении не нуждается. Все знают add, commit, push — это как азбука. Но что делать, когда что‑то пошло не так? Ошибочный коммит прокатился по ветке? Надо срочно переключиться, но незавершенные правки мешают? Нужно перенести только одно исправление из другой ветки?

Знакомая ситауция? Тогда давайте разберем 5 команд, которые выходят за рамки базового workflow и реально спасают репутацию (и ваши нервные клетки).

Спасти нервные клетки

Как я написал современный GUI для yt-dlp на Python

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели10K

Надоело каждый раз лезть в терминал, чтобы скачать видео с YouTube? Мне тоже. Поэтому я сделал нормальный GUI для yt-dlp - без лишних кнопок, с современным интерфейсом и чтобы просто работал. Код на GitHub, готовая сборка тоже есть.

Зачем вообще это делать?

Да, yt-dlp крутой - качает с кучи сайтов, быстрый, надёжный. Но блин, каждый раз набирать команды в консоли - это не для всех. Особенно когда нужно быстро скачать что-то и не париться с параметрами.

Посмотрел на существующие GUI - одни выглядят как из 2005 года, другие напичканы настройками, которые 99% пользователей никогда не трогают. Захотелось сделать что-то простое: вставил ссылку, выбрал качество, скачал. Всё.

Что хотел получить:

Простоту - минимум кликов от ссылки до файла

Нормальный вид - тёмная тема, без уродских кнопок из 90-х

Скорость - никаких тормозов и зависаний

Работает везде - Windows точно, остальные ОС в планах

Не требует установки - скачал exe и пользуешься

Читать далее

Githab CLI и Github Actions на страже вайб кодинга с мобильными агентами Cursor

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели1.8K

В этой статье, я расскажу, про опыт работы с агентами Cursor, github actions и великолепный Github Cli. Статья не претендует на истину и является частным практическим опытом.

Вступление

Лето. Время отпусков. Делать не фиг.

Можно залипать в рилсах или сериальчиках на пляже, но зачем, если можно создать что-то прикольное с мобильниого телефона, с помощью агентов. А конкретно, с помощью https://cursor.com/agents (стоит 20 баксов в месяц https://docs.cursor.com/account/pricing или 3к рублей в год, если немного поискать).

Итак, создаем репозиторий (В моем случае github.com/RobotAvi/MoneyGame) или берем готовый. Даем задачу агенту.

Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность