Ответы пользователя по тегу MySQL
  • WebSocket. На чём его можно использовать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Давайте так, расскажу вам как самому себе отвечать на такие вопросы.

    1) у нас есть ключевое слово - WebSockets. Заходим в гугл и вбиваем, он отправляет нас читать википедию. Замечательно.
    2) там мы видим что это протокол поверх TCP и т.д. и тп. То есть гуглим все новые и непонятные для нас слова.
    3) как только мы ознакомились что это за штука, мы можем поискать реализации web socket сервера и глянуть требования.
    4) делаем выводы.
    Ответ написан
    7 комментариев
  • Как тестировать DAO слой на Java с Mockito?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Мокают сам DAO, никто в здравом уме не мокает Connection/DataSource и т.д. поскольку поддерживать такие тесты выходит слишком дорого - проще написать простенький интеграционный тест, который использует реальную базу данных.
    Ответ написан
    Комментировать
  • Выбор субд large data?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    индексы вы расставляли? explain запросов делали? Что-то мне кажется что нет.

    Для вашей задачи хватит и mysql + подтюнить. В целом же можно еще хранить агрегации готовые вместо того что бы на каждый чих по новой их делать.
    Ответ написан
    5 комментариев
  • Написание первой CMS. Как лучше?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Т.е. прежде чем мне написать CMS мне надо "перелопатить" тысячи исходных кодов различных CMS, изучить их, проработать с ними как минимум год чтобы понять как написать правильно свою систему?


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

    Неужели чтобы написать даже самую простую CMS для личных элементарных нужд придется изучать куча всего другого чтобы выстроилась точная картина о ее разработке?


    нет, если вы не будете писать велосипеды и возьмете фреймворк как готовую основу.

    но интерес составляет написать самому

    Начните с фреймворка:

    - библиотека для рендринга шаблонов (буферизация вывода, работа с файловой системой немножко)
    - библиотека для маршрутизации запросов (прошаритесь в регулярках)
    - библиотека для работы с базой данных (не ORM, начните с Table Data Gateway или DAO хотя бы. Прошаритесь в SQL минимально).
    - Ядро, связывающее все это вместе. Желаельно с какой-то концепцией мидлвэров, что бы все остальныекомпоненты ничего не знали о ядре. (прошаритесь в HTTP)

    В целом же писать CMS очень и очень скучно и долго. Вы намного быстрее прошаритесь во всем что надо делая отдельные компоненты. Благо сейчас век composer-а и вы можете крутить и вертеть фреймворками как хотите, подменяя чужие компоненты на свои.
    Ответ написан
    6 комментариев
  • Как реализовать это на PHP?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    experience = 4 + level * 4
    Ответ написан
    Комментировать
  • Как правильно использовать функцию unserialize?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) достаем строку
    2) десериализуем в массив через unserialize
    3) ???
    4) профит

    images?q=tbn:ANd9GcQBCqwyKJ3ubE3LQRh3bJa
    Ответ написан
    3 комментария
  • Как четко спроектировать БД?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    EAV

    Пляшем от 5-ой нормальной формы а дальше уже оптимизации по мере необходимости.
    Ответ написан
    Комментировать
  • Использование MySQL таблицы логов для получения текущих значений профиля, это норма?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Почитайте про event sourcing.
    Ответ написан
    Комментировать
  • Можно ли перевести базу с mysql на postgresql не переписывая запросы?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    зависит от задачи (какие у вас запросы, простые перенести просто, сложные сложно).
    Ответ написан
    Комментировать
  • Маленькая реализация ActiveRecord php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    рекомендую перед изучением паттернов:

    1) почитать хотя бы документацию по php что бы ознакомиться с его возможностями
    2) почитать хотя бы мельком про SOLID и GRASP
    3) и вот теперь изучать паттерны.

    php.net/manual/en/language.oop5.magic.php
    Ответ написан
    Комментировать
  • Socket.io, nodejs и mysql как организовать соединение для чата?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    конечно же первый вариант. А еще лучше - не одно постоянное соединение а целый пул соединений.
    Ответ написан
    4 комментария
  • Бекенд для приложения на реакте. Какой он у вас?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    С каким бекендом Вы предпочитаете связывать свое приложение?


    Обычно REST/HTTP API/RPC прячут нюансы реализации бэкэнда. Так что без разницы, лишь бы апишка была удобная.

    Каков Ваш стек в этом плане?

    php, symfony2, postgresql. В любом случае разработчика SPA это волновать должно в последнюю очередь.

    Так же интересует выбор баз (MySql, MongoDB....)

    никогда не используйте mongodb как основное хранилище. Любая реляционная база на простых задачах (а на простых задачах nosql не нужен) будет проще и эффективнее. Говорю это основываясь на своем горьком опыте. Храните в mongodb агрегации денормализованных данных для ускорения выборок из реляционок. то есть в mongodb должны быть либо простые независимые данные (логи например) либо read-only данные.
    Ответ написан
    7 комментариев
  • Как разобраться в исходном коде такого проекта как Mysql?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) разбираемся для чего каждый файл нужен, пытаемся прикинуть общую картину, из чего состоит проект (какие компоненты, модули и т.д.). В этом нам могут помочь многочисленные статьи и официальная документация. описывающая архитектуру проекта.

    2) далее углубляться нужно исключительно по каким-то причинам а не просто так. Скажем если вас интересуют какие-то конкретные вещи. Например... зачем вам изучать устройство MyISAM просто так если его уже мало кто использует?

    В целом же fshp правильно все сказал.
    Ответ написан
    Комментировать
  • Нужно ли оборачивать lastInsertId() в транзакцию?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    вообще по хорошему все должно быть завернуто в транзакцию (минимум одна транзакция на HTTP запрос).

    Шансы что lastInsertId бросит исключение примерно равны нулю, но у вас же не один запрос обычно?
    Ответ написан
    3 комментария
  • Как из Apache Cordova подключиться к удалённому MySQL серверу?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Собственного сервера нету, поэтому Node.JS не катит.

    ну у вас же есть сайт? Значит есть возможность организовать API к базе данных.
    Ответ написан
    Комментировать
  • Поможет ли такая система безопасности?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Так что без де компиляции Go узнать свою строку не выйдет.

    она будет в открытом виде лежать в памяти, если что.

    По сути все что вам нужно сделать это обезопасить себя от несанкционированного подключения к базе (пусть она вообще на внешку не смотрит, порты все позакрывайте), так же надо ограничить доступ по SSH, или банить людей которые слишком сильно ломятся ну и т .д.

    дешифровка

    дешифровка чего? пароля? Данных? Пароль должен хэшироваться (например bcrypt), что бы его нельзя было раскукожить обратно.
    Ответ написан
    7 комментариев
  • Какую субд выбрать для моего сервиса?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    по авторизации мы можем использовать JWT и уменьшить нагрузку на базу (для верификации токена не нужна база и не нужно этот токен нигде хранить, очень удобно).

    Для всего остального и mysql справится если индексы расставить и возможно партицирование таблиц в далеком будущем (не ближайший год).

    К нему будут подключатся другие сервисы где нужна авторизация

    А зачем им то подключаться? вы ж микросервисы ваяете, вам zeromq надо а не давать доступы к key-value хранилищам которые использует сервис авторизации. Так вы создательно усложняете последующее масштабирование этой части системы.

    хоть петабайты данных

    Петабайты данных в реляционках никто не хранит, как минимум потому что такие объемы нет смысла хранить. У вас только логи могут быть такими, весь хлам потом можно будет скидывать в какую-нибудь кассандру (эпл в ней 4 петабайта инфы хранит).

    В целом... мне кажется что вы слишком много-го ждете от своего проекта. С учетом характера вопроса и того где вы его задаете вам хватит и mysql. Все остальное решит ваша команда разработчиков.
    Ответ написан
  • Вопросы по быстродействию + Какую базу лучше всего использовать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    все зависит от того что вы с этими данными делать будете. Если просто хранить - то выдержит конечно. Если делать сложные выборки - то зависит от нагрузки и количества запросов а так же расставили вы индексы или нет ну и все такое. Ну и для такой выборки памяти под индексы надо прилично и тюнить настройки mysql.

    Если вас интересует как ускорить запись - можно сначала загонять все в буфер (redis например) и потом пачками заносить все в базу.

    Если интересует как ускорить чтение - кеширование, индексы, агрегация штуками типа elasticsearch. Но опять же только если у вас есть проблемы с производительностью. Не занимайтесь преждевременной оптимизацией. Сначала напишите нагрузочные тесты и посмотрите насколько все плохо и надо ли что-то делать.
    Ответ написан
    1 комментарий
  • Как правильно реализовать PHP парсер больших объемов информации?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Message Queue, лог обработанных страниц, демон который будет все это добро обрабатывать, скрипт который будет заносить задачи на обработку в очередь. Так же можно для гибкости вынести в отдельную очередь запись результатов в базу (или вообще хранить временно в redis каком). Тогда больше простора для масштабирования.
    Ответ написан
    23 комментария
  • Вывод популярных записей на сайте за определенный срок, как?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    ну значит надо еще агрегировать статистику по просмотрам за сутки. Самый простой вариант - завести лог просмотров, но тогда база быстро забьется всякой чухней. Далее мы можем оптимизировать это дело и просто раз в сутки ресетить счетчик просмотров в ноль и записывать сколько было просмотров за такую-то дату. Так у нас будет достоверная инфа для выборки.
    Ответ написан
    Комментировать