Задать вопрос
  • MySQL: Узнать количество "пройденных" SELECT`ом строк

    @egorinsk
    > И есть простенький запрос:
    > SELECT * FROM `mytable` WHERE `system_name` = 'element_10' ORDER BY `id`

    > Как получить количество (именно количество, содержимое не важно) строк, которые команда «прошла» до того как получила результат?

    Ваш вопрос некорректен. Вы думаете, MySQL всегда передирает все строки подряд? Если бы на поле system_name был индекс, MySQL выбрала бы эту строчку с первого раза, не проходя другие.

    Наверно, вы хотели спросить, как посчитать, сколько существует строк, у которых id меньше чем у найденной? Это можно сделат запросом

    SELECT COUNT(*) FROM mytable WHERE id < {id найденной строки}

    Этот запрос неэффективен, особенно на больших таблицах, потому в случае потребности в нем (например, надо считать на каком месте игрок с заданным числом очков) делают дополнительное поле position, и крон скриптом раз в N минут пересчитывают места. Процесс пересчета можно как-то оптимизировать, сохраняя информацию о вставках и удалениях в таблице.
    Ответ написан
    Комментировать
  • А что вы используете для тестирования кроссбраузерности вёрстки?

    @egorinsk
    Скачал standalone версии IE7 и IE8 (IE6 встроен в систему) когда их на халяву раздавал Xenocode. Это версии браузеров, которые упакованы в единый exe-файл на несколько десятков мегабайт, туда же запакованы их dll, ключи реестра, файлы, таким образом возможно иметь одновременно запущенными и не конфликтующими IE6, IE7 и 8.

    Фаерфокс и Хром — у меня есть несколько версий — можно скачать с portableapps и установить хоть 30 версий. Чтобы запустить одновременно несколько фаерфоксов разных версий, надо дописать в ярлык запуска какой-то ключ, типа new-session или похожий. Opera тоже существует портабельная, какой-то фанат держит архив разных версий на своем сайте.

    Чтобы тестировать под сафари, проще всего купить мак. Чтобы тестировать мобильный вебкит проще всего купить айфон. Но можно и просто скачать версию под Windows.

    Скачать сейчас версии IE от Xenocode невозможно, так как то ли из за копирайта, то ли от жадности, Xenocode прикрыла эту лавочку. Официально по идее для тестирования надо скачивать образ с сайта МС, запускать тяжелую виртуальную машину, которая будет тормозить и отъедать ресурсы и там тестировать. Вот так вот МС относится к разработчикам.

    IETester этого не обеспечивает, насколько я знаю, в нем результаты неточные, так как он не может нормально виртуализировать приложения.

    Поскольку я добрый, решил поделиться имеющимися exe с IE7 и 8. ВАЖНО! Будьте предельно осторожны при скачивании незнакомых файлов из сети — там может быть троян или вирус.

    IE7 standalone version rghost.net/36113282
    IE8 rghost.net/36113296
    Safari standalone старая версия rghost.net/36113309
    Ответ написан
    Комментировать
  • Нотная программа

    @egorinsk
    Весьм музыкальный софт и оборудование (железные синтезаторы например) поддерживают формат MIDI.
    Ответ написан
    Комментировать
  • От IE6 уже многие отказались, приходит время IE7... Когда?

    @egorinsk
    А в чем проблема верстать под ИЕ7 (и ИЕ6, но например без скругленных уголков)? Не вижу такой проблемы. Совсем верстальщики обленились, вот помню в наше время…
    Ответ написан
    1 комментарий
  • домены-алиасы социальных сетей

    @egorinsk
    Не разу не работал в компании, где блокируют соц сети.
    Ответ написан
    Комментировать
  • Вопрос по View (PHP MVC)?

    @egorinsk
    Кто мешает вынести общие части (шапка, подвал, сайдбар) в отдельные подшаблоны и инклудить их? Или можно как в джанге, использовать наследование шаблонов, сделать базовый шаблон и расширять его понемножку. Правда. реализацию наследования придется писать самому, так как те шаблонизаторы, вроде Twig, что ее поддерживают, на мой взгляд, неоптимальны и кривоваты.

    Также, вопрос, кто запрещает для разных действий использовать (если требуется) один шаблон? Никто не запрещает.

    В любом случае, писать по 2 раза/кописпастить код — это неправильно.
    Ответ написан
    1 комментарий
  • Images -> Video -> Youtube | вопрос качества

    @egorinsk
    > Linux: ffmpeg -f image2 -i image%d.jpg video.mpg

    По идее можно выбрать опциями нормальный кодек и высокий битрейт, видимо он режет качество из-за низкого битрейта по умолчанию.
    Ответ написан
    1 комментарий
  • SELECT WHERE IN: Подскажите оптимальный вариант взаимодействия PHP - MySQL

    @egorinsk
    Если выбрать второй вариант, нельзя будет сделать дешевую оптимизацию разнесением таблиц на разные сервера. То есть в этом случае с ростом нагрузки придется покупать массивы дисков, многопроцессорные ядра и прочую хрень. А потом ломать руки архитектору и переписывать весь код.

    А в первом случае банально разносим таблицы по серверам и еще годик бездельничаем.

    Также, с первым вариантом, сущности можно дергать частично из кеша мультизапросом. А второй вариант хрен закешируешь.

    Так что не слушайте джойнеров, потом жалеть будете.
    Ответ написан
    6 комментариев
  • Есть ли жизнь у идеи в плане свободной музыки?

    @egorinsk
    Инструменты и все прочее, нужное для записи, стоит денег.
    Ответ написан
    Комментировать
  • Регулярочка для парсера списка javascript функций

    @egorinsk
    Функции можно определить и по-другому:

    var name = function (a1, a2, a3) {};
    this.name = function (a1, a2, a3) {};
    var klass = {
    method1: function (a1, a2, a3) {};
    }
    function createFunction() {
    return function (a1, a2, a3) {};
    }

    Так что тупой парсер на регулярках не поможет. Пишите умный, с учетом контекста. Лень писать? Расковыряйте jsLint, он там преобразует текст на яваскрипте в AST. Также, видел где-то библиотеку на PHP для токенизации яваскрипта.
    Ответ написан
    Комментировать
  • Зависимости скрипта PHP

    @egorinsk
    Берете любую IDE с поиском по файлам, вводите название функции, смотрите, где она используется, удаляете, проверяете, все ли работает. Затем удаляете следующую. И так далее.
    Ответ написан
    2 комментария
  • Перемещение данных и группирование?

    @egorinsk
    Если надо запретить создание товаров с одинаковыми именами, надо сделать UNIQUE INDEX по полю name_goods. Чтобы индекс не стал огромным уродливым тормозящим монстром, его надо объявлять примерно так (ограничить размер индексируемой подстроки):

    ALTER TABLE im_goods ADD UNIQUE INDEX ix_name ( name_goods(10) );

    Тогда БД не позволит вам вставлять 2 товара с одинаковым названием (смотрите, чтобы это не было потом сюрпризом).

    Хотя, может, я вас не так понял.

    P.S. Советую также в следующий раз правильно называть поля, чтобы не коробило глаза понимающих английский: товар = product, название = product_name, ид товара = product_id, рубрика = category. Вдруг будете для американцев например делать магазин, пригодится.
    Ответ написан
  • Помогите с идеей

    @egorinsk
    Почитайте бог GTD на Хабре (там постят статьи как меньше спать, добиваться целей, бороться с ленью, бороться с слабохарактерностью — в общем, на редкость бесполезный блог). Сделайте приложение, помогающее людям в этом. Если речь идет о телефоне, приложение например может контролировать данные человеком обещания и поощрять/наказывать за их невыполнение, говорить мотивирующие и осуждающие слова. Само напоминать, что надо срочно что-то сделать. Разбираться в истоках проблем. Возможно, сделать вывод, что проблем никаких и нет. Предлагать с сегодняшнего дня начать жизнь сначала.

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

    Задача, согласен, непростая, хотя бы потому, что я сам ее толком не сформулировал. Я даже не представляю, как это может выглядеть, но мне кажется, в приложении должен выводиться текст и под ним — несколько кнопок, а также штука для ввода обещаний. Задача сложная, но разве легко улучшать мир?

    Вы же официант, значит вы должны уметь хорошо понимать людей и нести положительные эмоции.

    Ха, кто еще кроме меня может придумать хоть что-то оригинальное?
    Ответ написан
  • На каких ОС крутятся реальные веб-серверы?

    @egorinsk
    Чтобы набраться опыта в Highload, вам надо не дистрибутив менять (что за бред, чем Debian хуже FreeBSD? Чем Ubuntu лучше Centos?), а обеспечить поток в минимум 20 запросов к динамическим страницам и 100 к статическим файлам в секунду. После этого смотреть, где узко, и оптимизировать эти места. И тогда, возможно (но маловероятно) сделать вывод о преимуществе/непригодности одного дистрибутива перед другим.
    Ответ написан
    Комментировать
  • mysql_connect() всегда пытается соедениться с локальным хостом

    @egorinsk
    Посмотрите, через strace/netstat (если вы на уиндоуз, то через procmon/procexp) куда на самом деле коннектится PHP и что происходит перед этим, например, пытается ли он отрезолвить имя сервера.
    Ответ написан
    Комментировать
  • Статья про facemash

    @egorinsk
    Много ли ума надо, чтобы содрать идею, ничего не поменяв? Сделать такой сайт может любой школьник, владеющий технологиями PHP/HTML/jQuery, за полдня. Конечно, такая статья на Хабре нафиг не нужна. Вас заминусуют, и поделом. Автор, который не смог сделать ничего лучше, как содрать одностраничный сайт, увиденный в фильме, конечно же ничем не выделяется из серой массы — таких сайтов-клонов полон интернет — не заслуживает славы и известности.

    То ли дело я. У меня всегда есть оригинальные и креативные идеи. Предлагаю подойти к делу с креативом и сделать что-то оригинальное и доселе не виденное — антирейтинг для мужской половины вашего учебного заведения (антирейтинг = голосовать можно только против, а не за). Победителя гордо вывесить на главной странице сайта и вручить почетный диплом.
    Ответ написан
  • Копирование проекта под чистую - что делать с ворюгами?

    @egorinsk
    Для начала свяжитесь с владельцем того магазина — хотя бы узнайте его отношение к проблеме, может этот горе-разработчик продал ему стыренный дизайн как свой. Попробуйте рассказать о юридических последствиях для него, скажите что предлагаете вместо судебного разбирательства урегулировать вопрос досубедным путем, скажите, сколько стоит дизайн и тексты, и сколько тот должен заплатить, если хочет продолжать их использовать. Приведите пример существующих судебных дел по данному предмету.
    Ответ написан
    Комментировать
  • Истории, которые вас тронули?

    @egorinsk
    Нидерландский фильм «Ben X», очень грустный. Описание: ru.wikipedia.org/wiki/Бен_Икс

    Фильм «Загадочная история Бенджамина Баттона», потому что похож на Форрест Гамп.

    Японский фильм «1 литр слёз» ( en.wikipedia.org/wiki/1_Litre_no_Namida_(TV_series) ) — еще более грустный, про девушку, у которой в 15 лет обнаружили неизлечимую болезнь.
    Ответ написан
    Комментировать
  • Как рассчитывать опыт и уровень персонажей?

    @egorinsk
    На такие вопросы (вообще на вопросы по гейм девелопменту) нет особого смысла искать ответа в статьях. Берете свою любимую игру и смотрите, как там сделано.
    Ответ написан
    5 комментариев
  • Парсинг PDF с извлечением позиций блоков

    @egorinsk
    Конечно. реально. Эти координаты хранятся в PDF файле, и нет никаких проблем их оттуда извлечь. Подробности в спецификации PDF.
    Ответ написан
    2 комментария