Рубрика «mysql» - 53

image

Ты современный Web-разработчик?

Задай себе вопросы:

  • Готов ли ты перейти на PHP 5.4?
  • Стоит ли переходить на MariaDB?
  • Как работает Python с вебсокетами, базами под нагрузкой?
  • Что дает Google Closure Templates?
  • Как запустить большой проект на Ruby?
  • Можешь ли спроектировать успешный HighLoad проект?
  • Сможешь ли создать распределенный офис разработки проектов?
  • Как успешно внедрить Kanban и Scrum в небольшой команде

Читать полностью »

Добрый день, читатели!
Уже почти месяц веду разработку проекта на CodeIgniter 2.0 и к середине написания столкнулся с проблемой при написании администраторской части. Так сложилось что с «CI» знаком уже более 2-х лет, и еще не разу CodeIgniter меня не подвел в своих возможностях.
Сам проект у меня исчисляется 35 таблицами и писать администраторскую панель мне необходимо для «хомячков». Подсчитав приблизительные человеко-часы необходимые на разработку интерфейса + программной части, я пришел в дикий ужас. Энтузиазм немного поутих (проект мой личный). Вспоминая добрым словом хоть какой-то CRUD в старых версиях, я рискнул «спросить Гугл», авось повезет… И повезло!
Читать полностью »

После переезда с Ubuntu на Arch появилась необходимость настроить данную связку, однако, в отличие от Ubuntu, под Arch подобного мануала всё-в-одном не нашлось. Собрав идеи с разных руководств, включая те, что были написаны под Ubuntu, и решил написать на хабр такой цельный гайд.

Сразу хочу сказать, что это базовая установка, без виртуальных хостов в количестве n-штук, просто настройка для локальной разработки.

XAMPP мне не подошёл просто по идейным соображениям.

Итак, приступим.

Предполагается, что yaourt у вас уже установлен и вы хотя бы немного умеете им пользоваться, а также настроено выполнение root-команд от своего пользователя (ставим пакет sudo, потом раскомментируем строчку "%wheel ALL=(ALL) ALL" в файле /etc/sudoers и релогинимся; при выполнении команд с sudo пароль вводим от своего пользователя, а не от root'a).

Также перед непосредственно установкой, убедитесь, что у вас подключены extra- и community-репозитории.
Для этого:

sudo nano /etc/pacman.conf

И проверяем, чтобы секции этих репозиториев выглядели аналогично.

[extra]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
[community]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist

И синхронизируем списки пакетов.

sudo pacman -Sy

Читать полностью »

После переезда с Ubuntu на Arch появилась необходимость настроить данную связку, однако, в отличие от Ubuntu, под Arch подобного мануала всё-в-одном не нашлось. Собрав идеи с разных руководств, включая те, что были написаны под Ubuntu, и решил написать на хабр такой цельный гайд.

Сразу хочу сказать, что это базовая установка, без виртуальных хостов в количестве n-штук, просто настройка для локальной разработки.

XAMPP мне не подошёл просто по идейным соображениям.

Итак, приступим.

Предполагается, что yaourt у вас уже установлен и вы хотя бы немного умеете им пользоваться, а также настроено выполнение root-команд от своего пользователя (ставим пакет sudo, потом раскомментируем строчку "%wheel ALL=(ALL) ALL" в файле /etc/sudoers и релогинимся; при выполнении команд с sudo пароль вводим от своего пользователя, а не от root'a).

Также перед непосредственно установкой, убедитесь, что у вас подключены extra- и community-репозитории.
Для этого:

sudo nano /etc/pacman.conf

И проверяем, чтобы секции этих репозиториев выглядели аналогично.

[extra]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
[community]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist

И синхронизируем списки пакетов.

sudo pacman -Sy

Читать полностью »

Прими участие в опросе! Подробности под катом.Open source / Oracle vs Open Source. Ваше мнение?

В марте, но год назад, в интернете появилась картинка с результатами опроса участников конференции JavaOne. Цель исследования была в том, чтобы определить, как отразилась покупка Oracle'ом компании Sun Microsystems на взаимоотношениях с OpenSource-сообществом. Я подумал, что спустя год, можно повторить этот опрос, но уже в рамках хабра. Вопросы пришлось немного перефразировать, но думаю, что общий смысл мне удалось сохранить.

Читать полностью »

23.16%
(41)
Продолжит снижаться популярность открытых проектов Oracle/Sun, таких как MySQL.

23.73%
(42)
Политика Oracle, в частности, судебный иск к Google, плохо отразится на Java.

16.38%
(29)
Цены на продукты, связанные с такими открытыми проектами, как MySQL, будут расти.

23.16%
(41)
Ларри Эллисон заслуживает того, чтобы его окунули в бочку с водой (dunk tank).

Читать полностью »

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

  1. Почему ваши структурированные данные хранятся в базах данных с SQL вместо того, чтобы использовать NoSQL-решения?
  2. Почему вы используете собственное аппаратное обеспечение вместо того, чтобы воспользоваться услугами облачного хостинга?

Оба этих вопроса закономерны и интересны. Сегодня мы ответим на первый, а второй прибережем для отдельного поста.

При правильном применении современныйЧитать полностью »

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

Adjacency List (AL) удобен:

  • самоподдерживаемостью целостности данных (ON DELETE CASCADE)
  • легкостью вставкипереноса веток (обновление затрагивает одно поле parent_id у одного элемента)
  • Легкостью получения детей на 1 уровень вложенности

Но главные неудобства возникают при выборках:

Доброго времени суток, друзья!
Хочу поделиться опытом по борьбе с PHPUnit/DbUnit в связке с MySQL. Далее небольшая предыстория.

Краткая предыстория

В процессе написания одного веб-приложения возникла необходимость тестировать код на PHP, интенсивно взаимодействующий с БД MySQL. В проекте в качестве фреймворка модульного тестирования использовался порт xUnit — PHPUnit. В результате было принято решение писать тесты для модулей, непосредственно взаимодействующих с базой, подцепив плагин PHPUnit/DbUnit. Дальше я расскажу о тех трудностях, которые возникли при написании тестов и о том, каким способом я их преодолел. В ответЧитать полностью »

MySQL / немного о SELECT… FOR UPDATE и GET_LOCK
Для примера рассмотрим такой случай.
У нас есть MySQL база, в которой есть таблица queue. В эту таблицу поступают задания для выполнения.
Задания должны распределяться между процессами. Одна и та же задача не должна попасть к разным процессам.
Для решения задачи можно воспользоваться SELECT … FOR UPDATE.
Каждый процесс для получения задачи будет выполнять вот такой запрос.SELECT id FROM queue WHERE is_run = 0 ORDER BY date_task ASC LIMIT 1 FOR UPDATE
И помечать эту полученную задачу как занятую.UPDATE queue SET is_run = 1 WHERE id = ?
Теперь рассмотрим диаграмму работы процессов.
Процессы выполняются последовательно. Получается, что FOR UPDATE блокируетЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js