
Многие у нас в стране думают что WordPress это движок для блогов. Особо смелые признали за ней ранг CMS. Но мало кто отважится признать WordPress полноценным фреймворком для создания сложных веб-приложений.
А мы не такие. Мы попробовали :)
И вот что из этого получилось…
Читать полностью »
Рубрика «mysql» - 30
Сказ о том как мы «движок для блогов WordPress» заточили под CRM-ERP-ACM систему комплексного управления предприятием
2014-12-09 в 1:48, admin, рубрики: acm, CRM, CRM-системы, ERP, ERP-системы, mysql, olap, open source, php, wordpress, управление проектамиJava: IP-телефония с нуля
2014-11-15 в 11:02, admin, рубрики: ip-телефония, java, mysql, tomcat, звук, сетьВ предыдущей статье «Транслируем звук по сети с помощью Java» я описывал способ приема и трансляции звука по сети встроенными средствами Java.
Здесь я продолжу развивать эту идею, и расскажу, как сделать с помощью Java простую систему IP-телефонии.
Система IP-телефонии состоит из серверной части, которая хранит учетные данные пользователей и их текущие IP, и консольного клиента, который способен совершать и принимать звонки напрямую от второго абонента.
Полностью исходники можно посмотреть на github.
Всех заинтересовавшихся прошу под кат.
Ускорение mysql MyISAM, Data Base Index in Memory
2014-11-13 в 12:03, admin, рубрики: DBIM, mysql, Администрирование баз данныхНаша сегодняшняя цель увеличить быстродействие базы данных mysql MyISAM штатными средствами на операционной системе Linux (или подобной) без финансовых вложений.
Назовём нашу систему Data Base Index in Memory (DBIM).
В данном мануале распишем все шаги от создания таблицы. Итак, начнём.
Каждая таблица состоит из 3 файлов.
file.MYD — данные
file.MYI — индексы
file.frm — схема таблицы
ActiveRecord своими руками на PHP
2014-11-06 в 9:06, admin, рубрики: active record, mysql, php, Zend Framework, базы данных, ооп, шаблоны проектированияДоброго времени суток! Я работаю над веб-проектом X. Проект большой, сложный и перспективный. Но, как и в любом другом проекте, есть много кода, написанного наспех с пометкой «когда-нибудь исправлю».
Пришло время исправлять.
Читая очередной мануал, я обнаружил шаблон проектирования «Active Record». Простой запрос в Google, и вот уже подруга Википедия коротко и ясно рассказала обо всём (https://ru.wikipedia.org/wiki/ActiveRecord). Смысл шаблона прост: для работы с таблицами в базе данных решено было создать специальный класс, который бы выполнял все основные действия (CRUD).
Читать полностью »
Тестирование производительности форков Mysql на реальных данных
2014-11-05 в 8:04, admin, рубрики: innodb, mariadb, mysql, mysql performanceВведение
Назрел апгрейд системы web сервера, на котором с 2007 года крутился сайт интернет-магазина на самописном движке mysql 5.1 + perl + apache + nginx.
Как обычно, при росте посещаемости все стало упираться в базу данных. Стал выбирать новую базу данных, совместимую с текущей. Выбирал из Mysql 5.5, Mysql 5.6, MariaDB 10, Percona Sever 5.6.
После длительного изучения бенчмарков стало понятно, что нужно тестировать производительность на реальных данных. Во-первых, в большинстве случаев сравнивали InnoDB и XtraDB, во-вторых — тестировали в основном бешеные нагрузки на монстр-серверах, интересные мне показатели находились на узеньком участке графика, где обычно ничего не было понятно.
Читать полностью »
Обновление tzdata для России (системное и java в Ubuntu-Debian, а также в MySQL)
2014-10-20 в 10:25, admin, рубрики: Debian, Dura Lex, java, mysql, tz database, tzdata, Ubuntu, время, Настройка Linux, системное администрированиеПредисловие
Как многие помнят, в этом году был принят закон, в связи с которым поменялись часовые пояса в России с 26 октября 2014 г. Само собой, сразу после принятия закона я поставил в календарь напоминалку на начало октября «обязательно обновить tzdata». Каково же было моё удивление, когда я не обнаружил апдейтов tzdata в debian и ubuntu. Решил подождать еще немного, наткнулся на открытые баги в дистрибутивах (Ubuntu #1377813, #1371758, Debian #761267). Коллеги усиленно напоминали о необходимости апдейтов, но мейнтейнеры не реагировали. Чтобы не устроить себе аврал к концу месяца, решил собрать пакеты и проапдейтить вручную. Важно отметить, что информацию о зонах в некотором софте, например, в MySQL, потребуется обновить вручную. Далее последует короткий мануал.
Читать полностью »
Настройка выделенного сервера для работы сайта под управлением HostCMS
2014-10-17 в 10:54, admin, рубрики: mysql, nginx, php-fpm, ubuntu server, Серверное администрированиеВ «жизни» практически любого веб-проекта – будь то небольшой интернет-магазин или сайт набирающего популярность бара – рано или поздно случается момент, когда не хватает ни возможностей и ресурсов shared-хостинга, ни средств для тотальной реорганизации архитектуры приложения. Несколько лет назад, когда я ещё работал в небольшой веб-студии, мне частенько приходилось наблюдать такую картину. Практически во всех подобных случаях принималось одно и то же решение – аренда выделенного сервера и перенос на него проекта в том виде, в котором он есть. В то время в сети было доступно немало статей по настройке серверов с Linux на борту. Причём практически все они были не самого лучшего качества и зачастую содержали настолько вредные советы, что господин Остер мог бы стоя аплодировать авторам тех материалов.
«Всё это дела давно минувших дней» – так я думал ещё совсем недавно, пока ко мне не обратился мой давний приятель за помощью в решении аналогичной проблемы. Как оказалось, ситуация с тех пор сильно не изменилась: нужный раздел документации практически не обновился, сами разработчики в основном советуют воспользоваться shared-хостингом от своих партнёров, а толкового материала, учитывающего нюансы миграции на выделенный сервер проекта на HostCMS, так и не нашлось. Мне нравится сама CMS, поэтому я решил исправить это упущение. Если интересно – добро пожаловать под кат.
Читать полностью »
Не стоит бояться использовать HandlerSocket
2014-10-08 в 7:41, admin, рубрики: handlersocketlibrary, munin, mysql, nosql, php, symfony, высокая производительность 
(пример работы протокола HandlerSocket на картинке)
Вступление
В предыдущем проекте возникла потребность в разгрузке базы данных, тогда жизнь и столкнула меня с HandlerSocket`ом.
HandlerSocket — это протокол, реализованный в одноимённом плагине для РСУБД MySQL, позволяющий использовать NoSQL методику для доступа к данным, хранящимся в InnoDB таблицах. Основная причина, по которой используют NoSQL решения — это очень быстрый поиск по первичному ключу.
HandlerSocket оперирует данными без парсинга SQL запроса, что приводит к уменьшению загрузки процессора.
Он поддерживает пакетное выполнение запросов. Можно отправить несколько запросов сразу и получить результат за один раз, что опять же снижает нагрузку на процессор и на сеть.
Протокол HandlerSocket более компактный, чем у mysql/libmysql, что приводит к сокращению нагрузки на сеть.
Подробнее можно почитать здесь:
- Официальный репозиторий;
Введение в HandlerSocket: описание протокола и расширения php-handlersocket;
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить;
Первый опыт работы с Handler Socket & php_handlersocket.
Под катом вас ожидает:
- Новая библиотека для работы с HS, написанная на PHP;
- Сравнение производительности существующих решений + нового;
- Symfony2 bundle для работы с HS;
- Плагины к Munin для мониторинга активности HS;
- Разные мысли вслух и рассказы о «шишках».
Блокировки и уровни изоляции транзакций InnoDB в MySQL
2014-09-29 в 9:06, admin, рубрики: innodb, mysql, sql, блокировки, транзакции Здравствуй!
Предлагаю всем желающим вспомнить или познать суть блокировок движка InnoDB в MySQL.

КДПВ: deadlock в исполнении тропической фауны
Пошаговая разработка веб-приложения
2014-09-23 в 6:25, admin, рубрики: annotations, apache maven, client-server, css, dao, extjs, extjs mvc, framework, hibernate, intellij idea, java, java developing, javascript, jpa, JSP, mac os x, mvc, mysql, patterns, Servlet, spring framework, Spring MVC, sql, tomcat, validation, web-разработка, XML, Библиотека ExtJS/Sencha, Веб-разработка, ПрограммированиеПри устройстве на работу java программистом меня попросили написать тестовое web приложение «Телефонный справочник». Хочу поделиться с вами этим «шедевром».
Вид и функциональность приложения
- Добавление;
- Удаление;
- Поиск;
- Валидация данных.
