Ответы пользователя по тегу MySQL
  • Сложный видео-материал по sql/mysql?

    @SilverSlice
    Курс на степик. Там нет последовательного изложения теории, но есть обзор важных моментов о нормальных формах, соединениях, хранимых процедурах, транзакциях, а также хорошие задания для проверки знаний. Только там не mysql, а postgresql - отличный шанс познакомиться с еще одной СУБД.
    Ответ написан
    Комментировать
  • Создание своего веб-проекта - где найти практическую часть, что почитать?

    @SilverSlice
    К сожалению, книг по php подобного рода я не встречал. Если у вас есть желание самостоятельно реализовать что-либо интересное, не изучая предварительно талмуды по каждой отдельной технологии, могу порекомендовать вам книгу Пьюривал Сэмми - «Основы разработки веб-приложений». Это современное введение в веб-разработку для совсем новичков. На протяжении книги разрабатывается приложение «список задач»: кратко описываются html, css, javascript, jquery. В качестве серверной стороны там выбран node.js, но там нет ничего сложного. Вместе с тем рассказывается о noSQL, git, vagrant, развертывании приложения и рефакторинге. Книга небольшая по объему и подходящая для быстрого введения.

    Также рекомендую посмотреть общие лекции по веб-разработке от техносферы, чтобы иметь представление об основах dns, http и БД. Там есть примеры на django, но, учитывая, что вам знаком python, это не должно вызвать трудностей.

    Что касается php, то большинство книг по нему описывают сам язык и не описывают, как создавать реальное приложение. «Learning PHP, MySQL, and JavaScript» подойдет для старта, но нужно быть готовым к тому, что так, как показано в книге, сейчас никто не пишет - это код десятилетней давности, а приведен он лишь для иллюстрации базового синтаксиса. Современный php предполагает разработку на фреймворках - их изучением и надо заниматься после освоения языка.

    P.S. Похожий вопрос на тостере без привязки к конкретному языку: Существует ли книга для новичка, в которой показывают разработку реального проекта?
    Ответ написан
    Комментировать
  • SQL: Какая разница между varchar(200) и varchar(20000) в плане потребления ресурсов?

    @SilverSlice
    "Сохранение значения ‘hello’ требует одинакового пространства и в столбце типа VARCHAR(5), и в столбце типа VARCHAR(200). Есть ли преимущество в использовании более короткого столбца?
    Оказывается, преимущество есть, и большое. Для столбца большей размерности может потребоваться намного больше памяти, поскольку MySQL часто выделяет для внутреннего хранения значений участки памяти фиксированного размера. Это особенно плохо для сортировки или операций, использующих временные таб­лицы в памяти. То же самое происходит при файловых сортировках, использующих временные таб­лицы на диске.
    Наилучшей стратегией является выделение такого объема памяти, который действительно нужен." Источник
    Ответ написан
    1 комментарий
  • Перебор строк в MYSQL-ответе (mysql_query / mysql_fetch_assoc), как сделать кошерно?

    @SilverSlice
    Вы же сами видите, что удобство работы с "голым" расширением mysql стремится к 0. Вам действительно нравится писать бесконечные mysql_real_escape_string и бегать циклами по результату запроса?

    Если нет возможности внедрять PDO или другие обертки в свой legacy-код, следует написать свою, которую уже сейчас можно будет использовать. А нужно от неё совсем немного:

    1. Удобство получения данных.
    Вместо
    $result = mysql_query($query);
    if ($result) {
        $items = array();
        while ($row = mysql_fetch_assoc($result)) {
            $items[] = $row;
        } 
    }

    мне хочется использовать
    $items = db_get_all($query);

    2. Удобство подстановки данных в запрос.
    Вместо
    mysql_query("SELECT * FROM table WHERE field = '" . mysql_real_escape_string($one) . "' OR field2 = '" . mysql_real_escape_string($two) . "'");

    мне хочется использовать
    db_query("SELECT * FROM table WHERE field = ? OR field2 = ?", $one, $two);


    Вот нашел свой старый wrapper, можете написать подобный и сильно облегчить себе работу.
    Ответ написан
  • Как можно проверить код на безопасность?

    @SilverSlice
    Можете потестировать ваш сайт сканерами безопасности, пока будете в них разбираться, как раз узнаете, какие ещё существуют атаки.
    Ответ написан