Привет, друзья. Хочу сегодня поделится своим взглядом на то, как можно сделать простую и эффективную авторизацию/регистрацию пользователей через любую социальную сеть, используя плагин Ulogin. Почему через этот плагин? Потому что он может избавить разработчика от кучи головной боли, которая возникнет при синхронизации с каждой социальной сетью в отдельности. Плюс вы сможете получить данные из плагина в едином красивом формате.
Читать полностью »
Рубрика «mysql» - 19
Авторизация в Laravel, через социальные сети (Ulogin). Просто, гибко и эффективно
2017-01-20 в 14:33, admin, рубрики: api, laravel, laravel 5.3, mysql, php, PHP 7, ulogin, авторизация без паролей, Программирование, метки: laravel 5.3Производительность Bitrix Старт на Proxmox и Virtuozzo 7 & Virtuozzo Storage
2017-01-16 в 6:12, admin, рубрики: Apache, bitrix, CentOS, lxc, mariadb, mysql, nginx, openvz, parallels cloud storage, php, php 5.6, PHP 7, php-fpm, php5, php7, proxmox, redis, selectel, virtuozzo, virtuozzo storage, zfs, битрикс, виртуализация, Настройка Linux, Серверная оптимизация, Серверное администрирование, системное администрированиеТестирование производительности Bitrix Старт на двух принципиально разных платформах.
Замерять будем при помощи встроенной панели производительности Bitrix.
C одной стороны, бесплатная версия Proxmox 4.4, LXC контейнеры с использованием файловой системы ZFS на SSD дисках.
С другой стороны, лицензионная Virtuozzo 7 CT + Virtuozzo Storage. В этом варианте мы используем обычные SATA диски + SSD для кеша записи и чтения.
Мы учитываем, что Virtuozzo 7 является коммерческой системой, требующей обязательного лицензирования, а Proxmox 4 можно использовать бесплатно, но без технической поддержки.
По этой причине, полноценно сравнивать две платформы конечно не корректно, но если
интересно узнать как можно увеличить производительность сайта используя одно и тоже железо, одинаковую конфигурацию виртуальных машин и ее сервисов, то данная статья может быть вам полезна.
Читать полностью »
Redmine на MySQL с RocksDB быстрее, чем с InnoDB, от 20% до 3 раз
2017-01-15 в 22:19, admin, рубрики: benchmark, Facebook, innodb, LSM tree, myrocks, mysql, open source, redmine, rocksdb, ruby on rails, Разработка веб-сайтов, Тестирование веб-сервисовМы собрали форк MySQL от Facebook с движком RocksDB вместо InnoDB и потестировали его с реальными приложениями: Drupal, WordPress, Redmine.
Это офигенная штука. При низкой нагрузке выигрыш маленький, десятки процентов. Зато при высокой нагрузке выигрыш в разы. Когда RocksDB добавят в стабильный релиз в MariaDB, я уверен, что в течение полугода половина народа перейдет с InnoDB на RocksDB. Особенно, небольшие сайты на cloud/VPS и выделенных серверах.
Что такого хорошего в MyRocks? Линейная запись вместо случайной и снижение числа дисковых операций вообще. То есть транзакции базы данных порождают меньше дисковых операций, меньше занимают очередь диска, и пишутся намного быстрее.
Я собрал в статью результаты тестирования реальных сценариев Redmine, добавил анализ результатов и выводы. Redmine на MySQL с RocksDB оказался быстрее, чем с InnoDB — от 20% при минимальной нагрузке до 3 раз при максимальной. Позже подготовлю материалы по Drupal и другим PHP-приложениям.
Вы сможете проверить работу MyRocks и самостоятельно — в конце статьи есть ссылки на инсталляторы и виртуальные машины с LAMP/LEMP/Ruby стеками, собранные с MyRocks вместо MySQL.
День добрый. Большинство продуктов, с которыми сталкивается разработчик, обычно требуют развертывания на нескольких машинах, которые работают независимо друг от друга. Это порождает одну из типовых проблем — расхождение базы данных на разных серверах, несоответствие идентификаторов в таблицах-справочниках и разумеется неоднородность в силу невнимательности и пропущенных патчей при обновлении БД на конкретной машине. В некоторых случаях это выливается в дикие (на мой наивный взгляд) концепции типа «мы столбцы никогда не удаляем — только добавляем».
В других и вовсе приводит к засорению базы мусором с других площадок и к ошибкам после «простейшего мержа».
Знакомых с такими ситуациями, критиков и знающих точно, что я изобрел велосипед — приглашаю под кат.
Читать полностью »
Календарные функции в MySQL и MariaDB
2016-12-20 в 7:58, admin, рубрики: mariadb, mysql, sequence, календарный планКак показывает практика, множество систем с использованием календарей обычно строится в виде статических таблиц, в которых перечислены даты и их соответствие рабочим, выходным, праздничным дням. Обычно проблемы начинаются когда система работает без вмешательств программистов достаточно долго и заполненный календарь просто кончается. Для очередного проекта я решил немного оптимизировать данную ситуацию и написал календарь, который создаётся или пересчитывается автоматически, например по встроенному таймеру.
Add-on к Авито. Стартап или пример архитектуры
2016-12-14 в 12:35, admin, рубрики: android, golang, java, mysql, Анализ и проектирование систем
Предыстория
Честно говоря, никогда ранее не покупал б/у вещи на досках объявлений. Но когда случился очередной экономический кризис и нужда заставила, пришлось обратить свое внимание на Авито.
При осмотре предложений сразу бросилось в глаза, что часть объявлений выглядит сомнительными по ряду признаков: заниженная цена, неточное описание и т.п., по которым складывалось впечатление, что или продают не то, что предлагают, или сами не знают что продают. В памяти сразу возник образ из прошлого — барахолки 90-х годов, с которых можно было вернуться как с покупками, так и с пустыми карманами или порезанной сумкой.
Читать полностью »
Обзор конференций, на которых мы побывали в 2016 году
2016-11-30 в 7:48, admin, рубрики: badoo, Go, mysql, php, Блог компании Badoo, конференции, разработка, Разработка веб-сайтов, тестирование, Тестирование веб-сервисов
Возможно, вы уже слышали о том, что в Badoo каждый год в декабре мы с коллегами ходим в баню составляем календарь конференций для технарей по всему миру, на которые хотим попасть. И 2016 год не стал исключением: у нас в списке больше ста конференций, но мучить отчетами с каждой мы вас, конечно, не будем. Вместо этого мы выбрали лучшие, по мнению наших разработчиков, и собрали небольшие отзывы очевидцев из Badoo. Спойлер: конференций восемь. Спойлер второй: некоторые отзывы не такие уж и небольшие. Поэтому ниже – оглавление.
Оглавление
1. CodeFest, Новосибирск, Россия
2. SQA Days 19, Санкт-Петербург, Россия
3. DevConf, Москва, Россия
4. Velocity, Нью-Йорк, США
5. GopherCon, Денвер, США
6. Percona Live, Амстердам, Нидерланды
7. ZendCon, Лас-Вегас, США
8. HighLoad++, Москва, Россия
Читать полностью »
Релиз DataGrip 2016.3
2016-11-25 в 14:44, admin, рубрики: DataGrip, jetbrains, Microsoft SQL Server, mysql, postgresql, sql, sql server, базы данных, Блог компании JetBrainsПривет! Этот пост о том, что нового в DataGrip 2016.3. Напомню, что описанное справедливо и для других IDE на платформе IntelliJ с поддержкой баз данных: PHPStorm, PyCharm, RubyMine и, конечно, IntelliJ IDEA. Кроме одной маленькой возможности, о чём отмечу отдельно.
Этот релизный цикл был очень важным — удалось многое из того, что нас долго просили сделать: поддержка триггеров, поиск использований внутри представлений и функций, отложенное редактирование таблиц. Благодарим тех, кто не стесняется тестировать наши инструменты и пробует новые версии задолго до релиза.
Итак, DataGrip 2016.3!
Текстовая трансляция HighLoad++ 2016. День первый
2016-11-07 в 6:34, admin, рубрики: highload, mysql, Алгоритмы, Блог компании Конференции Олега Бунина (Онтико), высоконагруженные приложения, высоконагруженные системы, Программирование, системное программированиеСегодня в этом посте весь день будет вестись текстовая трансляция конференции HighLoad++ 2016, проходящей в Сколково 7 и 8 ноября. HighLoad++ — это более 200 экспертов высочайшего класса с докладами о высоконагруженных сервисах, проблемах работы с ними и вопросах администрирования. Более 15 залов, плотный график, честный и полезный опыт спикеров — HighLoad++ умеет собирать крутые темы, задавать тон дискуссии и всё на одном дыхании.
Если вы хотите смотреть видео из главного зала и включения из мобильной студии Хабрахабра, то вам на страницу спецпроекта. Если почитать онлайн и поообщаться в кооментариях — под кат.
Security Week 44: zero-day в Windows, уязвимость в ботнете Mirai, серьезные дыры в MySQL
2016-11-04 в 15:06, admin, рубрики: Google, klsw, mariadb, microsoft, Mirai, mysql, windows, zero-day, Блог компании «Лаборатория Касперского», информационная безопасностьУ нас очередная неделя патчей с нюансами. Начнем с очередной новости про ботнет Mirai, использовавшийся для минимум двух масштабных DDoS-атак. Благодаря утечке исходников эта казалось бы одноразовая история превращается в масштабный сериал с сиквелами и приквелами. На этой неделе появился еще и спин-офф: исследователи из Invincea Labs откопали в атакующем коде Mirai три уязвимости (подробно в этой новости или в оригинальном исследовании).
Самая серьезная уязвимость приводит к переполнению буфера в коде Mirai. Проблема заключается в некорректной обработке заголовка HTTP Location, который может присутствовать в ответе атакуемого сервера. Код отвечает за удаление префикса http:// из полученной строки. Сделано это очень просто: берем длину строки и вычитаем из нее количество знаков префикса (семь штук). Если подсунуть в ответе очень короткий заголовок Location (из пяти символов), то у нас получится отрицательное число (5-7 = -2), что и приводит к переполнению буфера и сбою.
Важный момент: сбой происходит в процессе, выполняющем атаку. То есть можно таким образом прекратить атаку с зараженного устройства, но не выключить его из ботнета. В общем, получается какая-то очень знакомая, но перевернутая ситуация. Если бы речь шла о легитимной программе, мы бы говорили о «критической уязвимости, которая может быть легко эксплуатирована злоумышленником с помощью специально подготовленного ответа на http-запрос» или как-то так. Срочно патчить! А тут? По идее, наоборот, появляется возможность эффективно гасить атаки. Но возникает вопрос морально-этического плана: а не является ли эта процедура «взломом в ответ на взлом»?
Читать полностью »