Оптимизация формирования страницы каталога web-магазина с множеством фильтров

PHP
В одном из разработанных мною движков сайтов требовалось оптимизировать процесс формирования страницы каталога интернет-магазина с фильтрами выбора товаров.

Cайт представляет из себя онлайн-каталог б/у бытовой техники сети оффлайн магазинов Украины. Все товары на сайте фильтруются по следующим критериям:

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

Разбор задач Facebook Hacker Cup 2011 Qualification Round

Facebook Hacker Cup 2011 проходит в 4 раунда — квалификационный, два онлайн раунда и финальный, в главном офисе.

Уже завершился квалификационный раунд, анонсированный официально Хабром
Результаты раунда говорят о 5846 игроках, прошедших в первый онлайн тур.
Участникам квалификационного раунда предлагалось 3 задачи, для прохождения достаточно было правильного решения любой из них.

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

Медиамагия: Приходишь домой, берёшь пульт и выбираешь, чтобы посмотреть с трекера

Позвольте мне начать своё повествование с рассказа про свободное время, семью и тягу к прекрасному. Свободного времени, которое я могу провести с женой, обычно очень мало. То я занят, то жена. То мы оба. Но иногда высвобождается час-другой, который можно провести вместе. А что можно сделать вместе? Ну, кроме того что вы подумали, можно ещё посмотреть вместе фильм. Сходить в кино, например, выбрав один из пяти унылых фильмов в кинотеатре. Или достать с полки DVD и в 5й раз посмотреть «Новинки 2006 года, 8 в 1». Но кому нужны новинки 2006 года в качестве для мобильного телефона или платить деньги за билеты в кино, если всё что нужно для удовольствия можно сделать у себя дома практически бесплатно? Если есть ФОС и трекер «Драконьи Торренты» на котором постоянно выкладываются сотни интересных фильмов? Если есть хороший телевизор и диван, на котором смотреть фильмы намного приятнее? Нет, иногда, конечно, приятно сходить в кино, или пересмотреть новинки 2006, но в большинстве случаев мы хотим (1)дома, (2) бесплатно посмотреть (3) новый фильм (4)в хорошем качестве (5) не дожидаясь пока он скачается.

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

Преобразование Аналог – Цифра. Как это работает?

Преобразование Аналог – Цифра. Как это работает?

Современные цифровые устройства для познания нашего аналогового мира используют аналого-цифровые преобразователи. О том, как это работает, я расскажу в этой статье.

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

Поднимаем свой DNS сервер на VDS

В данной статье я опишу, как поднять свой DNS сервер на арендованном VDS/VPS с помощью пакета BIND.

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


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

Есть ли жизнь без ITSM

Желание написать статью возникло после прочтения топика Зачем админу ITSM. Хотя сетификацию по ITIL я прошел и не полностью и в данный момент оканчиваю прохождение курса по SO, прочтение вышеуказанного топа не смогло оставить меня равнодушным, а причинами для этого является следующие:
  • возникает впечатление что автор слабо понял написанное в оффициальном руководстве по ITIL Foundation с которого он начинал
  • большая часть коментариев формируют впечтление что значительная часть IT-компаний работающая по процессной модели наверное не в том направлении развития пошла, им наверное стоило бы поучиться у росийских(украинских, белорусских и т.д.) IT-менеджеров и инженеров
  • не знание предметной области вызывает ошибочное мнение об ITSM и процессной модели
  • собственные ошибки не являются показательными и не должны быть оперделяющими для чужих решений, тем более в столь критичной для бизнеса области как IT.

Если не быть сильно многословным и не расписывать тему абзацами из самого ITIL, хотя было бы и полезно напомнить отрывки из него глубокоуважаемому автору, но все же вкратце опишу с чем несогласен и почему.

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

История о том, как ко мне попал пароль к ICQ и база данных нефтяных месторождений

    Давным-давно, в году так эдак 2004, работал я в сфере образования, в этой же сфере и учился на инженера. Учеба шла напряженно, но тем не менее устроился работать в бухгалтерию, техником.
  • Устанавливал «винду» на компьютеры, подключал к сети.
  • Серверами, стоявшими в кабинете, не занимался, но пароль имел для добавления нового пользователя.
  • Заправлял старые струйные принтеры, лазерными занимался другой дядька…
  • Коллектив: примерно 25 женщин и я. В большинстве своем занимался тем, что «вспоминал» пароли для входа в компьютер или же в одну желтую программу.

Когда стали в департаменте компьютеры обновлять, моему ликованию не было предела. С новыми и проблем меньше, и красивше они, и чище (только жалко было, что нехилая, по тем временам мощность, простаивала на косынке).

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

Действительно безопасные соединения или персональный CA

SSL — Secure Sockets Layer — протокол, позволяющий создавать безопасное соединение поверх обычного TCP соединения. Протокол позволяет решить две проблемы — предотвращение прослушивания потока, и проверку сторон соединения, что они являются теми, за кого себя выдают.

Рассмотрим на простом примере — веб-сервер в локальной сети, предоставляющий доступ до статистики. Как это решается обычно? Создаётся самоподписанный сертификат, выданный на имя сервера, подписанный самим сервером. Каждый раз при заходе на сайт, пользователь нажимает «Да, я согласен», даже не задумываясь, попадает на страницу статистики. Вводит логин, пароль, и радуется жизни.

Вот только где он ввел пароль?..

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

Операционные усилители для самых начинающих

В курсе электроники есть много важных тем. Сегодня мы попытаемся разобраться с операционными усилителями.
Начнем сначала. Операционный усилитель — это такая «штука», которая позволяет всячески оперировать аналоговыми сигналами. Самые простейшие и основные — это усиление, ослабление, сложение, вычитание и много других (например, дифференцирование или логарифмирование). Абсолютное большинство операций на операционных усилителях (далее ОУ) выполняются с помощью положительных и отрицательных обратных связей.
В данной статье будем рассматривать некий «идеал» ОУ, т.к. переходить на конкретную модель не имеет смысла. Под идеалом подразумевается, что входное сопротивление будет стремиться к бесконечности (следовательно, входной ток будет стремиться к нулю), а выходное сопротивление — наоборот, будет стремиться к нулю (это означает, что нагрузка не должна влиять на выходное напряжение). Также, любой идеальный ОУ должен усиливать сигналы любых частот. Ну, и самое важное, коэффициент усиления при отсутствующей обратной связи должен также стремиться к бесконечности.

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

Настройка Eclipse для работы с Arduino Uno

Преамбула
У меня дома стоит масляное отопление. Для измерения уровня масла в баке используется допотопный датчик со стрелкой и поплавком на веревке. Принцип работы датчика поражает свой неточностью. Но так как мы с вами живем в далеком будущем, по отношению к моему детству, то мне захотелось сделать датчик, который выполняет следующие условия:
  • Датчик должен быть цифровым.
  • Его показания должны сохранятся для последующей обработки.
  • Данные должны быть доступны для меня всегда и везде.
  • Все устройство должно быть дешевле 200€.
Вот с такой спецификацией я и начал поиск подходящих компонентов. Выбор довольно быстро упал на платформу Arduino. Само железо устраивало меня полностью, но вот среда разработки была просто ужасна. Поэтому было принято решение перейти на Eclipse.

Можно было, конечно, перейти на горячо любимую Visual Studio, но в данный момент я открываю заново для себя линукс, поэтому виндоуса нет в наличии.

Сегодня, я хочу поделиться с вами о том, как настроить Eclipse для работы с Arduino Uno под Ubuntu 10.10.

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