Обновить
chaosty@chaostyread⁠-⁠only

Пользователь

Отправить сообщение

Задачка для знатоков MySQL

Время на прочтение1 мин
Охват и читатели646
Добрый день, вот столкнулся с задачей, простой с виду, но для решения которой нужно хорошенько пошевелить мозгами :)

Итак: имеем следующую таблицу:
id rating place
1 86 NULL
2 5 NULL
3 5 NULL
4 41 NULL
5 1 NULL
6 91 NULL


Нужно проставить место (place) в рейтинге каждой записи, базируясь на баллах (rating), причем, если баллы совпадают — использовать вторичный признак (в данном случае — id). В результате нужно получить следующую таблицу:

id rating place
1 86 5
2 5 2
3 5 3
4 41 4
5 1 1
6 91 6


Важное замечание: ответом должен являться один запрос UPDATE (вложенные SELECT запросы использовать можно).

Жду предложений :)

Пишем расширения для PHP на C (Си)

Время на прочтение7 мин
Охват и читатели4.1K
Современному PHP разработчику это знание может понадобиться скорее для расширения сознания, чем непосредственное руководство к действию, но несмотря на то, что в PHP уже встроено практически все необходимое, а в разнообразных PEAR и PECL репозитариях можно найти пакет дополнений на любой вкус, многим думаю будет интересно, а некоторым и полезно узнать как и что работает внутри PHP.

И раз уж Zend предоставил нам такие удобные инструменты, почему бы ими не воспользоваться? Например для оптимизации каких-то процессов, сокрытия своего когда в коммерческих приложениях и встраивания механизма лицензий, реализации многопоточности или для чего-то еще…

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

Ищем втрое быстрее: мульти-запросы и фасеточный поиск

Время на прочтение5 мин
Охват и читатели13K
В сегодняшней статье расскажу про фичу Sphinx под названием мульти-запросы: встроенные в нее оптимизации, реализацию тн. фасеточного поиска, и вообще как иногда можно с ее помощью сделать поиск втрое быстрее.

Но сначала 15 секунд политинформации (сам себя не похвалишь, никто не похвалит). В этом году Sphinx прошел во второй тур конкурса Sourceforge Awards 2009 в номинациях SysAdmins и Enterprise (говорят, в номинации Developers не добрали совсем чуть-чуть). Голосование продлится еще неделю (до 20го числа). Кроме рабочего email адреса, ничего не нужно. Заранее спасибо всем, кто не даст нам пропасть!

И обратно к разработке. Что вообще такое мульти-запросы, и откуда берется обещанное втрое быстрее?
Читать дальше →

Sphinx — не только для поиска!

Время на прочтение2 мин
Охват и читатели10K

Думаю, про такой замечательный поисковый движок Sphinx слышали все или почти все. Наверняка многие уже применяют его, для поиска по сайту, для выборки похожих статей, новостей, товаров и т.д. Он отлично справляется с поисковыми задачами даже на очень больших количествах записей. Но, в своей статье я хочу рассказать про использование Sphinx не для поиска.
Читать дальше →

Boost это просто. Часть 1. Boost.Regex

Время на прочтение10 мин
Охват и читатели83K
Эта статья является первой в цикле статей, которые я собираюсь посвятить, наверное лучшей, библиотеке для С++.
В данной статье рассматриваются следующие вопросы касательно регулярных выражений:
  • regex_match
  • regex_search
  • regex_replace
  • regex_iterator
  • regex_token_iterator
  • Partial match

Начнем

Угон JSON

Время на прочтение1 мин
Охват и читатели5.8K
imageВ статье рассматривается метод перехвата данных отдаваемых через JSON с использованием метода "__defineSetter__", Этой уязвимости подвержены сайты JSON с которых: содержит конфиденциальные данные (иначе не спортивно), является валидным JS объектом, отдается по GET запросу. Требования к жертве: браузер поддерживает JavaScript, он включен, поддерживается метод __defineSetter__.
Читать дальше →

Хостинг на AWS (EC2, EBS, S3) для чайников

Время на прочтение4 мин
Охват и читатели140K
На хабре уже проскакивали периодически заметки посвященные AWS (Amazon Web-Services) — так что тема не новая. Однако, если для меня лично (да и для многих моих знакомых как выяснилось) — этот термин был знаком — однако каких-либо деталей я не знал. Попробую на основании только-что полученного опыта рассказать немного подробней, а так же изложить основные шаги по организации хостинга сервера на AWS и его преимущества. Как и несколько ссылок, которые могут оказаться полезными.
image
Читать дальше →

Мне кажется, я начал понимать, что ты имела в виду!

Время на прочтение7 мин
Охват и читатели34K
Опечататься дело нехитрое; опечататься в поисковом запросе так и вдвойне. Почитай все большие веб-поисковики сегодня умеют корректировать ошибки в ключевых словах во-1х и подсказывать запросы во-2х; вслед за ними того же хочется поискам поменьше. Обе штуки можно ловко реализовать при помощи открытого поисковика по кличке Sphinx; в этом посте расскажу, как конкретно.

Ну, за did you mean («что ты имела в виду») и прочий query completion («уж не Васю ли ты ищешь»).
Читать дальше →

Nested Sets + MySQL TRIGGER

Время на прочтение7 мин
Охват и читатели10K

Задача


Задача такая же как и в предыдущей статье, только применимо к MySQL.

Грабли


Хорошая новость ребята! В MySQL нет проблемы с рекурсивными триггерами! Разработчики MySQL просто тупо лочат изменяемую таблицу даже на уровне триггера, вот редиски. Но, собственно, нас может остановить только отключение электричества.
Есть небольшая лазейка, с… объединенными таблицами. Хотя я не нашел в документации подтверждения того, что это так специально было задумано, но и отрицания тоже не было. Правда есть вероятность того, что эту лазейку могут прикрыть, хотя я не вижу в этом смысла.
Увы, механизм триггеров в MySQL новый и довольно сырой, что накладывает некоторые ограничения на его использование, но все же его достаточно для решения нашей задачи.
Читать дальше →

Новые возможности Амазоновских облаков: Elastic Load Balancing, Auto Scaling и CloudWatch

Время на прочтение3 мин
Охват и читатели7.4K
На прошлой неделе Амазон выпустил несколько чрезвычайно интересных сервисов, расширяющих функциональность Amazon Elastic Clouds (EC2): Elastic Load Balancing, Auto Scaling и CloudWatch. Если бы они еще были бы бесплатными, то было бы совсем клево! Но обо все всем по порядку.

Elastic Load Balancing


Представьте, что у вас запущено несколько инстансов в амазоновском облаке, выполняющих одну и туже задачу. Elastic Load Balancing позволяет автоматически распределять входящие запросы по заданным инстансам. Причем он может выявлять упавшие инстансы и автоматически перенаправлять трафик на рабочие, пока неработающие инстансы опять не заработают, что конечно сильно повышает надежность всей системы в целом. Балансировщик может работать как внутри одной зоны (имеется ввиду физическое расположение серверов) так и между инстансами находящимися в разных зонах, что еще больше повышает надежность вашей системы в целом.
Читать дальше →

Как готовить SphinxQL

Время на прочтение6 мин
Охват и читатели46K
По заявкам трудящихся, расскажу про две новых мега-фичи в Sphinx. Предложения тем для последующих рассказов можно засылать в комментарии.

Обе фичи добавлены в версии 0.9.9-rc2, опубликованной в начале апреля 2009го. Версия традиционно (слишком) стабильная, известных серьезных багов нету, тесты проходятся, итп. Отважные люди, а также коммерческие клиенты с контрактами про поддержку, уже успешно используют в продакшне, несмотря на отличный от «release» тег.

1я мега-фича. Теперь Sphinx поддерживает сетевой протокол MySQL (внутренней версии номер 10, которую поддерживают все версии сервера и клиента, начиная с MySQL 4.1 и по MySQL 5.x включительно).

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

Версия 0.4.5 — Release Candidate 2

Время на прочтение4 мин
Охват и читатели660
Загрузить Web OptimizerМожно снова радоваться. Веб-приложение для автоматизации клиентской оптимизации дошло до версии 0.4.5 — RC 2. Значительно улучшено быстродействие, потребление памяти, добавлено много новых возможностей и поддерживаемых CMS.

Подробное руководство по установке (устарело уже, правда)
Загрузить последнюю версию или мини-установщик
Помочь проекту материально
Читать дальше →

Доступен Firefox 3.5 beta 4

Время на прочтение1 мин
Охват и читатели685
image
С утра браузер предложил обновится сразу до 3.5 beta4, а это значит, что официальный сдвиг версии с 3.1 на 3.5 уже произошел.

* почитать информацию о новой бета-версии можно тут www.mozilla.com/en-US/firefox/3.5b4/releasenotes
* скачать интересующую вас версию можно здесь www.mozilla.com/en-US/firefox/all-beta.html

Из основных нововведениях особый упор делается на:
* встроенную поддержку JSON;
* поддержку тегов video и audio;
* geolocation API;
* улучшения в движке рендеринга;
* новый js-движок tracemonkey;
* режим private browsing.

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

Версия 0.4 — Stable Release Candidate

Время на прочтение4 мин
Охват и читатели687
Web Optimizer Веб Оптимизатор (Web Optimizer) — приложение для автоматизации всех действий по клиентской оптимизации — достиг версии 0.4. Список поддерживаемых систем ширится и растет с каждым днем: Drupal 5 и 6, Joomla 1.0 и 1.5, Joostina, Wordpress 2.7, PHP-Nuke, LiveStreet, vBulletin 3.8 и так далее.

Подробное руководство по установке (немного устарело уже, правда)
Загрузить версию 0.4.0
Загрузить мини-установщик
Помочь проекту материально
Читать дальше →

Асинхронная загрузка javascript файлов. Ускорение и оптимизация процесса, увеличение производительности

Время на прочтение8 мин
Охват и читатели31K
Продолжаем цикл статей на тему построения сайтов (веб-приложений) ориентируясь на максимальное применение AJAX технологии. Зачастую, при работе сайтов и приложений использующих AHAH требуется вместе с подгружаемым HTML контентом догружать файлы скриптов, которые не использовались ранее на страницах сайта. Одним из моментов обработки догружаемого AJAX-ом контента является выделение из получаемого контента файлов скриптов, с последующим их применением к текущему документу (DOM). Благо, на данный момент практически все основные библиотеки умеют это делать. Однако, если копнуть глубже в реализацию процесса обработки догружаемых скриптов, то текущая ситуация совсем «не радужная». Не все хорошо известные библиотеки умеют это делать хорошо, а тем более оптимально. Давайте рассмотрим указанный процесс изнутри, разберем существующие проблемы и узнаем пути их решения.
Читать дальше →

Основы репликации в MySQL

Время на прочтение10 мин
Охват и читатели337K
С репликацией серверов MySQL я познакомился относительно недавно, и по мере проведения разных опытов с настройкой, записывал, что у меня получалось. Когда материала набралось достаточно много, появилась идея написать эту статью. Я постарался собрать советы и решения по некоторым самым основным вопросам, с которыми я столкнулся. По ходу дела я буду давать ссылки на документацию и другие источники. Не могу претендовать на полноту описания, но надеюсь, что статья будет полезной.
Читать дальше →

Атака на беспроводные сети. Чуть меньше теории и чуть больше практики

Время на прочтение6 мин
Охват и читатели319K
image
В общих чертах теорию и процесс атаки хорошо описал юзер n3m0 в своих статьях «Атаки на беспроводные сети», поэтому я не буду заострять внимание на многих теоретических моментах.
Я же хочу описать самые простейшие способы обхода защиты, но более подробно.
Читать дальше →

8 отличных хитростей jQuery

Время на прочтение4 мин
Охват и читатели28K
imageКому не нравится jQuery? Это быстрая и простая javascript-библиотека стала очень популярной в 2008 году. В этой статье я собрал список восьми очень полезных jQuery-техник, советов и хитростей.
Читать дальше →

PHP Speedy — наше все

Время на прочтение2 мин
Охват и читатели1.1K
PHP SpeedyЧто такое PHP Speedy? Это набор php-скриптов, которые позволяют объединять и сжимать CSS- и JS-файлы для веб-сайта, написанного на PHP. Изначально разрабатывался как приложение к Wordpress, но сейчас получил более широкое распространение.

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

Как показала практика, клиентская оптимизация интересует большой круг людей. Но очень многих останавливает то, что нужны специальные знания для освоения этой области. Web Optimizer создается как раз, чтобы убрать этот барьер (и как наш ответ Чемберлену www.getrpo.com :).
Читать дальше →

Codeigniter — облегчаем себе жизнь (расширяем базовый контроллер)

Время на прочтение7 мин
Охват и читатели12K
На сегодняшний день, практически в любом приложении необходимо работать с несколькими языками и обеспечивать контроль доступа.
Некоторое время назад я у себя в блоге описывал как работать с этими вещами в codeignier, но блог закрыт а вопросы у некоторых остались всё такие-же.
Читать дальше →
1

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность