Search
Write a publication
Pull to refresh
9
0
ahaidukov @ahaidukov

User

Send message

Топологии серверов приложений WebSphere Application Server для обеспечения высокой доступности

Reading time4 min
Views22K
Здравствуй, Хабр!

В этой статье я хочу рассказать какие есть подходы для обеспечения отказоустойчивости и масштабирования инфраструктуры серверов приложений WebSphere Application Server 7 компании IBM.
Читать дальше →

Практическая оптимизация и масштабируемость MySQL InnoDB на больших объёмах данных

Reading time5 min
Views20K
Данный пост не будет рассказывать про индексы, планы запросов, триггеры для построения агрегатов и прочие общие способы оптимизации запросов и структуры БД. Так же не будет рассказывать про оптимальные настройки с префиксом innodb_. Возможно прочитав текст ниже вы лучше поймёте смысл некоторых из них. В данном посте речь пойдёт об InnoDB и его функционирование.

Какие проблемы может помочь решить этот пост?


  • Что делать если у вас в списке процессов множественные селекты которым казалось бы никто не мешает?
  • Что делать если всё хорошо настроено, запросы пролетают как ракеты и список процессов постоянно пустой, но на сервере высокий LA и запросы начинают работать немного медленнее, ну например вместо 100мс получается 500мс ?
  • Как быстро масштабировать систему, когда нет возможности всё переделать?
  • У вас коммерческий проект в конкурентной среде и проблему надо решать немедленно?
  • Почему один и тот же запрос работает то быстро то медленно?
  • Как организовать быстрый кеш и поддерживать его в актуальном состояние?

Читать дальше →

Как устроено ранжирование

Reading time9 min
Views26K
Со временем Sphinx оброс большой кучей режимов поиска и ранжирования. Регулярно возникают вопросы про разное (от «как вытащить документ на 1е место» до «как рисовать от 1 до 5 звездочек в зависимости от степени совпадения»), которые на самом деле суть вопросы про внутреннее устройство тех режимов. В этом посте расскажу все, что вспомню: как устроены режимы поиска и режимы ранжирования, какие есть факторы ранжирования, как в точности рассчитываются факторы, как финальный вес, все такое. И, конечно, про звездочки!
Читать дальше →

Про борьбу с качеством

Reading time5 min
Views12K
Ровно через три дня будем раскрывать всем желающим кучу секретов: про настройку, оптимизацию, качество поиска и масштабирование Сфинкса (это все еще такой движок полнотекстового поиска и не только) в разные стороны. Подробности в самом конце поста.

А вот один из секретов про качество поиска начну раскрывать прямо здесь и сейчас. Это новая штука под названием expression ranker, добавленная в версии 2.0.2-beta, (правильный русский перевод еще не придумали), и чуть подробнее я сейчас расскажу про него под катом. Вкратце, оно позволяет задавать свою формулу ранжирования прямо на лету, и даже отдельную для каждого запроса. В общем, эдакий конструктор, который дает возможность каждому попробовать построить свой личный MatrixNet, с четырехмерными шахматами и оперными певицами.
Читать дальше →

Моделирование данных в MongoDB

Reading time5 min
Views61K
imageОдна из самых разрекламированных фич MongoDB — это гибкость. Я сам не раз подчеркивал это в бесчисленных разговорах о MongoDB. Однако, гибкость — это палка о двух концах: большая гибкость подразумевает более широкий выбор решений для моделирования данных. Тем не менее, мне нравится гибкость, которую предоставляет MongoDB, просто нужно иметь ввиду некоторые рекомендации, прежде чем начать разрабатывать модель данных.

В этой статье мы рассмотрим, как смоделировать структуру, содержащую списки рассылок и данные о людях, которые входят в эти списки.
Читать дальше →

Django своими руками часть 1: Собираем шаблоны для jinja2

Reading time3 min
Views15K

Введение


В этом посте хотелось бы описать создание небольшого фреймворка с системой плагинов как django. Только с использованием внешних компонентов. Jinja2 для шаблонов, bottle для получения переменых среды, вместо ORM будет использоваться pymongo, а сессиями будет заниматься beaker.
В первой части хочу рассказать как удобно подсоединить Jinja2 чтоб шаблоны можно было собирать из разных папок (читай плагинов) и кешировать их.
Также в следующей части хотелось бы рассказать как подключить к шаблонам gettext и автоматизировать их перевод.

Читать дальше →

Шаблоны проектов на основе PasteScript

Reading time3 min
Views1.6K
С увеличением количества проектов встала проблема автоматизации создания каркаса под новые приложения. До недавнего времени новые проекты мы создавали путем копирования заготовленного шаблонного проекта и изменения различных настроек в разных местах проекта. Само собой это убивало достаточно много времени.

Попытки решить эту проблему вывели меня на проект под названием Python Paste. В общих чертах — это набор утилит для создания веб-приложений, к примеру можно создать свой фреймворк (в Pylons используют именно его). Помимо утилит для веба Python Paste содержит модуль Paste Script, с помощью которого можно создавать шаблоны-заготовки и на основе них генерировать проекты.
Читать дальше →

Конвергентный биллинг для трех популярных гипервизоров

Reading time4 min
Views8.4K
Добрый день, хабровчане. Сегодня мы хотим рассказать вам о продукте vOPS Server Standard компании VKernel.

vOPS Server Standard — система мониторинга гипервизоров, которых в общем-то на рынке достаточно. Почему же нас заинтересовал именно этот продукт и чем он отличается от остальных? Например, возможностью одновременного мониторинга Hyper-V, Red Hat Enterprise Virtualization (RHEV) и VMware. Любопытно. Но еще больше нас заинтересовали его возможности биллинга. Именно эта особенность продукта указана на странице технологических партнеров Microsoft по Self-Service порталу.

Кому это нужно? Прежде всего тем, кто хочет предоставлять услуги по модели IaaS.
Читать дальше →

Как правильно сортировать контент на основе оценок пользователей

Reading time5 min
Views93K


В оригинале название звучит как «How Not To Sort By Average Rating». Я подумал, что дословный перевод «Как не сортировать по усреднённому рейтингу» будет малопонятен и хуже отражает содержание статьи.

Постановка проблемы


Вы занимаетесь веб программированием. У вас есть пользователи, которые оценивают контент на вашем сайте. Вы хотите разместить высоко оцененный контент наверху, а низко оцененный — внизу. Для этого на основе пользовательских оценок вам нужно вычислить некий «рейтинг».

Неправильное решение №1

Рейтинг= (Число положительных оценок) - (Число отрицательных оценок)

Читать дальше →

Symfony 2: Полезные библиотеки и бандлы

Reading time9 min
Views54K
Уже около полугода для разработки веб-проектов используем Symfony 2. Накопился список полезных библиотек и бандлов, не входящих в состав symfony-standard, но значительно экономящих время и избавляющих от изобретения велосипеда.



Обзор больше теоретический и включает следующие разделы:
  • Админгенераторы
  • Пользователи
  • Импорт/экспорт xls
  • API и OAuth 2.0
  • Меню/навигация
  • Мультимедиа
  • Формы
  • Поиск
  • Пагинация
  • Файловая система
  • HTTP клиент

Примеры использования и код можно изучить на страницах каждого проекта на github.com или на официальных сайтах, но если будет интересно, некоторые решения можно рассмотреть отдельно.

Читать дальше →

Искусство публичных выступлений

Reading time9 min
Views108K
Эта статья открывает серию статей — если окажется, что Хабраколлеги сочтут ее интересной, ибо первое правило публичных выступлений гласит: рассказывай людям о том, что им интересно!

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

В сегодняшней статье я пишу о том, как выступать, и очень мало пишу о содержании доклада. Если из комментариев станет понятно, что надо еще рассказать о композиции доклада (постановка задачи -> варианты решений -> процесс выбора -> выбранное решение -> результат) или об основах публичной речи (не «экать», не «мыкать», не говорить через слово «т-скыть» и не заканчивать фразы ненормативными междометиями) — расскажу в следующий раз.

Историческая справка: на Хабре по этой теме уже было небольшое обсуждение год назад.

Читать дальше →

Блого-социальная сеть на основе XenForo

Reading time4 min
Views11K
В этой статье я постараюсь вкратце рассказать о построении аналога Livestreet на основе XenForo. Вся блого-социальная сеть представляет собой плагин для XenForo под названием Social. Обзор архитектуры движка и основы плагинописания описаны в статьях FractalizeR.

Проанализировав архитектуру XenForo, мы поняли, что принципиальных отличий форума от блогов не так уж и много. Действительно, первое сообщение темы легко превращается в статью, а остальные сообщения — в комментарии. Определенные разделы форума можно превратить в блоги.

Перечислю основные преимущества данного решения.
  • Встроенный форум.
  • Готовая система ббкодов и обработки сообщений.
  • Превращения статьи в темы, а темы в статьи путем переноса в нужный раздел.
  • Код плагина получился очень компактный.

Конечно, у такого подхода есть и недостатки.
  • Для правильного разделения функционала пришлось изучить движок от и до.
  • Меньше свободы действий, поскольку статьи расширяют темы.

В целом идея о том, что любое обсуждение есть тема, показалось нам очень логичной. Разделение тем и статей в итоге оказалось не таким уж сложным. Теперь об основных моментах технической реализации плагина.
Читать дальше →

CSS3 с погружением

Reading time7 min
Views36K
CSS3 видели и пробовали все, кого он мог заинтересовать. И закругленные уголки и падающие тени мы уже можем генерировать без лишнего труда.

Но это только поверхностный уровень. Мне пришлось разобраться с новыми возможностями браузеров более подробно, чтобы ответить на возникшие вопросы типа: насколько кроссбраузерны градиенты со множеством цветовых переходов, где и как можно применять сразу несколько теней к блоку, для каких конкретно браузеров применяются префиксы свойств и т.п.

Кроме того, меня интересовала поддержка CSS3 на мобильных платформах, неизученные возможности CSS3, а также генераторы, которые создают кроссбраузерный код. Я попробовал восполнить некоторые пробелы и собрать полезную информацию для тех, кто еще только готовится к погружению.

Браузеры, поддерживающие свойства перечислены в виде CSS комментариев. Генераторы и инструменты чаще всего могут выполнять сразу несколько функций, поэтому в таких случаях я указывал их только там, где они, по-моему, справляются лучше всего.
Читать дальше →

Вышел CSS -фреймфорк YAML4 — теперь и с поддержкой HTML5

Reading time1 min
Views6.4K
Сегодня начал верстать очередной сайт и по привычке пошел на www.yaml.de, чтобы скачать самую свежую версию моего любимого CSS-фремворка и… не узнал внешний вид сайта.

Оказывается вышла новая версия, которая по прежнему осталась очень компактной (ядро 4.6 kB) и обеспечивает хорошую поддержку браузеров

Читать дальше →

Классификация документов методом опорных векторов

Reading time5 min
Views19K
Потребовалось мне года три назад сделать классификатор текстов. В этой статье я расскажу о том как это заработало и вообще некоторые аспекты реализации и тестирования таких алгоритмов.

Классификация


Классификация, согласно википедии, это одна из задач информационного поиска, заключающаяся в отнесении документа к одной из нескольких категорий на основании содержания документа.
Этим мы и будем заниматься.
Читать дальше →

Типовой шаблон технического задания на разработку сайта

Reading time2 min
Views450K
ОФФТОП: Хочу выразить свою благодарность, всем кто плюсанул мой предыдущей пост и карму, это позволило мне пригласить на Хабр еще несколько хороших людей.

Во многих студиях нет единого формата ТЗ, у нас его тоже не было. Просмотрев множество различных форматов и ГОСТов, мы выбрали самые значимые пункты и разработали типовой шаблон ТЗ для нашей компании.
Возможно, это будет полезно и другим студиям, т.к. если мы все будем работать по единым стандартам плюсы очевидны как для студий, так и для заказчиков.

image
Читать дальше →

10 примеров меню для web страниц

Reading time1 min
Views19K
image Эти способы не являются ноу-хау или чем-то в этом духе. Тем не менее, они могут помочь начинающим дизайнерам и web технологам в реализации задуманных ими идей. Каждый из предложенных вариантов можно обыграть по-своему.

Проверял лично и убедился в том, что исправно работает под следующими браузерами:

IE7+, Opera 10.5+, FF 3.6+, Chrome 12+ (linux), Chrome 13+ (windows), Safari 5+(win) исходя из личного опыта, предполагаю о том, что работать исправно будет во всех свежих версиях Safari, FireFox, Opera и Chrome.

С помощью CSS можно построить вот такие вот симпатичные варианты:


Читать дальше →

Получаем бесплатный SSL сертификат

Reading time4 min
Views517K
Привет, хабр!

О StartSSL я узнал от небезызвестного lissyara, в связи с чем ему очень благодарен.

Для начала расскажу, что же за зверь это. Как известно, SSL сертификаты выдаются центрами сертификации, чьи корневые сертификаты хранятся в хранилище сертификатов браузера\ОС (либо другого ПО, использующего SSL). Цена на большинство сертификатов зашкаливает, и платить приходится за каждый сертификат. Но у StartSSL весьма интересный подход — сами сертификаты у них бесплатные, вы платите только за проверку вашей личности.

Так же не может не радовать наличие русскоязычной поддержки.
Читать дальше →

Небольшой обзор Amazon ElastiCache — нужен ли он типичному веб-проекту?

Reading time7 min
Views7.3K
22 августа Amazon анонсировал новый сервис в AWS — Amazon ElastiCache. На Хабре об этом тоже написали.

Сервис совмести по протоколу с Memcached.

Посмотрим, как он работает и имеет ли практическую ценность для веб-разработчиков и системных администраторов.
Читать дальше →

Как мы сделали свой маркетплейс

Reading time7 min
Views19K

Вступление.


Хочу вам рассказать про наш опыт запуска маркетплейса – каталога различных дополнений и готовых решений для платформы 1С-Битрикс.

Тема сегодня весьма популярна – любая большая платформа имеет свой магазин готовых решений, разрабатываемых партнерами. Ходить далеко за примерами не надо – Apple App Store, Android Market, маркетплейсы браузеров, даже у Skype есть свой магазин:).

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

Мы дали :)
Читать дальше →

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity