Пишу на Golang, люблю базы данных
Контакты
Местоположение
Россия, Ростовская обл., Ростов-на-Дону

Достижения

Все достижения (6)

Наибольший вклад в теги

Все теги (72)

Лучшие ответы пользователя

Все ответы (223)
  • Как въехать в программирование (ООП, паттерны)?

    alexfilus
    @alexfilus
    Senior backend developer
    Я проникся ООП когда писал одну программулину в процедурном стиле и внезапно понял что не могу разобрать свой собственный код, написанный вчера. Потратил на рефакторинг 12 часов и после этого код стал больше похож на английский язык, чем на непонятный набор букв, точек, цифр и скобочек. Так что в идеале нужна практическая задача на чистом языке, без фреймворков.
    Раз речь о PHP, попробуйте написать свою ORM. Простейший построитель запросов для CRUD, но универсальный. Как минимум наследование точно поймёте.
    По паттернам я сейчас толкового курса сходу не нашёл, но не переоценивайте их значимость. Лучше почитайте (посмотрите видео) о том, что такое SOLID.
    Когда придёт понимание что такое наследование и зачем оно нужно, тогда можно и про паттерны почитать, но как по мне, реально интересен только Одиночка. Все остальные это просто правильные способы применить наследование, и выглядят довольно очевидными.
    Ответ написан
    5 комментариев
  • Стал работать по часам и обнаружил, что выходит 6 часов в день. Это нормально?

    alexfilus
    @alexfilus
    Senior backend developer
    6 часов - это отличный результат. Я на первой работе написать для внутреннего пользования систему учёта времени, с кучей разных отчётов. Так вот, эффективное время у программистов колебалось в районе 60%. 75% считалось отличным результатом. Рекорд принадлежал Димону, у него было 83% (то есть 7 часов в день в среднем), но он сверхмозг. Так как он работает - обычным людям недоступно)
    Ответ написан
    1 комментарий
  • Какую базу выбрать для bigdata?

    alexfilus
    @alexfilus
    Senior backend developer
    Звучит как задача для ClickHouse, Вроде как они недавно пофиксили производительность при отдельных инсертах без буфера. Даже если нет, есть схема с записью всех событий в Kafka и вычитыванием оттуда с помощью Materialized view в таблицу КликХауса. Эта схема точно рабочая и указанные нагрузки выдержит. Плюс отличное сжатие данных.
    Чистый PostgreSQL по производительности не сильно отличается от MySQL, а вот с дополнением TimescaleDB вставка становится очень быстрой, возможно вам его хватит. Там полноценный SQL и возможность редактировать данные без проблем. Неплохо сжимает.
    Про ScyllaDB уже написали.
    Ответ написан
    3 комментария
  • Какое направление развития выбрать? Мобильные разработки или Web?

    alexfilus
    @alexfilus
    Senior backend developer
    Web технологии более универсальны. Хорошо изучив JavaScript можно писать и фронтэнд и бэкенд как для сайтов, так и для мобильных приложений. С таким багажом вы точно не пропадёте, и всегда найдёте работу хоть здесь, хоть за рубежом. Но там мода меняется постоянно, регулярно появляются и исчезают всё новые и новые фреймворки, и успевать за всеми тенденциями будет крайне тяжело.
    Если сосредоточиться только на мобильной разработке, скажем на Swift, под iOS, то там минимальная планка по зарплате выше, и войти в этот рынок будет легче (правда нужен Мак).
    А вообще сейчас эти 2 сферы всё больше переплетаются. Бэкенд и для сайтов и для мобильных приложений пишется примерно одинаково.
    Так что зная только JS и пачку современных фреймворков, вы точно не пропадёте, а что окажется ближе можете решить по ходу обучения.
    Ответ написан
    7 комментариев
  • Как грамотно построить sql-запросы в высоко-нагруженных базах?

    alexfilus
    @alexfilus
    Senior backend developer
    1. Правильно думаете, только если Вы ищите такие пары среди ВСЕХ пользователей и ВСЕХ фильмов, то тут не обойдётся без полного сканирования всех 3 таблиц. Поможет кеширование, либо функциональные индексы, либо какие-то сводные таблицы управляемые триггерами или materialized view.
    2. Active это bool или статус из списка? В любом случае тут нужен индекс по city_id и либо по полю active, либо частичный индекс where active = true. (надеюсь у Вас PostgreSQL)
    3. Просто where с 2 условиями? Или есть подвох?

    Запросы сложными тут быть не должны, но нужно предусмотреть правильные индексы чтобы это работало быстро.
    Если нужна помощь именно с запросами, создайте https://www.db-fiddle.com/ с примерами данных, хотя бы строк по 10, чтобы ясна было структура
    Ответ написан
    3 комментария

Лучшие вопросы пользователя

Все вопросы (15)