Задать вопрос
  • Вопрос по поводу организации сайта на статическом HTML #2?

    alekciy
    @alekciy
    Вёбных дел мастер
    Автору рекомендую бросить данную идею как несостоятельную. Если на клиент отдается текст, то он будет без проблем получен ботом. Ограничение количества запросов, хитрый JavaScript в наше время легко обрабатываются. В сети достаточно готовых опенсорных решений из которых можно построить любой парсер-бот.

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

    В общем задача в текущей формулировке — борьба в ветряными мельницами.
    Ответ написан
    Комментировать
  • Снифер HTTP-трафика под linux

    alekciy
    @alekciy
    Вёбных дел мастер
    Лучше чем wireshark не найти. Показывает путь данных с самых низких уровней. Из-за этого зачастую количество данных избыточно, но всегда можно применить фильтр. В фильтре можно написать довольно гибкие правила, так что, имхо, стоит просто более плотно поработать с данным ПО.
    Ответ написан
    Комментировать
  • Где можно взять аналитику интернет торговли или топ интернет-магазинов по прибыли или посещаемости?

    alekciy
    @alekciy
    Вёбных дел мастер
    Не могу представить, для какой задачи могут потребовать подобные данные. Если не секрет, то зачем?! В голову лезет только курсовой.
    Ответ написан
    4 комментария
  • Как разместить 1 млн товаров?

    alekciy
    @alekciy
    Вёбных дел мастер
    Отпишусь пожалуй о своем опыте.

    Ситуация схожая, но изначально товаров нужно было 250 кпозицией. Анализ коробочных решений (который не я делал) показал, что либо коробка на таких объемах не может гарантировать быстрой работы, либо производители коробки хотят таких денег на энтерпрайз, что пилить свое дешевле. Собственно чем в настоящее время и занят.

    Свое требует времени, но позволяет полностью контролировать движок и быть точно уверенным в нагрузках, которые он потянет. Кроме того гарантирует более выгодную схему модификации движка, т.е. супорт движка становиться проще как технически, так и финансово. А сапорт движка собственно и есть основная статья расхода для ПО. Что удалось получить на данный момент, так это каталог. Т.е. дерево категорий, карточки товара, админка для менеджеров (создать товар, добавить к товару атрибуты). Количество товаров не ограничено, количество и тип характеристик товаров так же не ограничено и ведется через админку (т.е. дополнительно кодить ни чего не нужно). Нагрузочные тесты показали, что при ~200 МБ ОЗУ под PHP движок держит 300 запросов/сек (при попадании в кэш страница генерится за 10-15 мс) долговременно (т.е. где-то до 25 миллионов хитов в сутки) и может держать пик в 1000 запрос, но не дольше 5 сек, потом начинаются валится 50-ые. Это при каталоге в 250 кпозиций по 10 характеристик на товар. В целом вся связка (веб сервер, субд, кэш) кушает 1-1,5 ГБ ОЗУ. При этом полная развязка данных и шаблонов, поэтому можно иметь сколько угодно вариантов верски, т.е. ни какой смеси из php+html нет.

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

    Так что есть техническая подготовка, то есть смысл делать свое. В зависимости от опыта, общих требований я бы оценил данную работу месяца в три до года для одного разработчика на фултайме. Это до первого релиза. Ну а дальше стандартный супорт движка.
    Ответ написан
    Комментировать
  • Как программисту найти работу с нестандартным графиком?

    alekciy
    @alekciy
    Вёбных дел мастер
    При желании найти можно. Нужно просто начать искать. На вскидку с ходу: "… Возможна работа несколько дней в неделю...".
    Ответ написан
    Комментировать
  • Гражданский договор на работу с иностранным заказчиком?

    alekciy
    @alekciy
    Вёбных дел мастер
    Вообще рекомендую прочесть подборку материалов по данному вопросу: список топиков.
    Ответ написан
    Комментировать
  • Гражданский договор на работу с иностранным заказчиком?

    alekciy
    @alekciy
    Вёбных дел мастер
    Как работающий с иностранным заказчиком замечу, что в данном случае компания не резидент должна выступать в роли налогового агента при уплату в ПФР и ФМС. Кроме того валютный контроль банка не пропустит этот платеж если узнать, что он за оказание безвозмездных услуг с оплатой на счет физического лица, потому что это 1) незаконное предпринимательство; 2) обслуживание юридических лиц (а они подобное приравнивают к юрикам) сильно дороже поэтому в договоре банковского обслуживания явно указывают запрет на использование счета физика для этих целей, т.е. налицо нарушение договора.

    Факт оплаты может считаться за факт приемки, но только в случае наличия счета на оплату. Т.е. исполнительно выставляет счет, клиент его оплачивает и исполнительно предоставляет этот счет в валютный контроль банка для обоснования суммы счета и отслеживания факта, что общая сумма сделки по договору не превышает 50 000 долларов США (в противном случае требуется составлять паспорт сделки).
    Ответ написан
    7 комментариев
  • Разработка Web-приложения с использованием AJAX + REST

    alekciy
    @alekciy
    Вёбных дел мастер
    Stdit, все равно про настройки не понял. На клиенте (клиенте вообще, а не обязательно мобильном) я знаю два распространенных варианта: 1) хардкодинг параметров в код клиента, соответственно изменить настройки можно только изменил код; 2) настройки клиента записаны в файл или базу откуда берутся при запуске приложения. Так что мешаешь хранить много настроек по варианту 2? Апдейт кода уже не требуется. Кроме того настройки можно вообще хранить в удаленной базе, по сути на сервере. Поэтому без конкретного примера не понятно, почему нужно стремится к минимизации количества настроек и увеличение количества команд. Даже более. Что понимаем под «настройка», а что есть «команда» в контексте REST?
    Ответ написан
  • Блог-платформа и комментарии

    alekciy
    @alekciy
    Вёбных дел мастер
    Думается мне, что готового коробочного решения не найти. Есть смысл допилить LiveStreet, он достаточно адекватен для запилки любого функционала.

    Если возможности напилить самуму нет и срочность проекта в рамках месяца, то я мог набросать необходимое на своем двигле.
    Ответ написан
    Комментировать
  • Альтернатива EAV, структура базы?

    alekciy
    @alekciy
    Вёбных дел мастер
    Структура базы. На тестах 250 тыс. товаров с 10 тыс. параметров (10 параметров на один товар) отрабатывает менее чем за 1 мс на posgresql, так что самым тормозным местом будет явно не база.

    >Хотелось бы знать, чем же все таки это плохо.
    Ни чего плохого в EAV нет. Если под текущий размер базы выделены достаточные аппаратные ресурсы и в базе в нормальном виде расставлены индексы, то самым тормозным местом будет явно не база. Так что «советчиков» которые без конкретных аргументов так говорят можно сразу спокойно слать лесом.
    Ответ написан
    5 комментариев
  • Как посмотреть все домены по ключевому слову?

    alekciy
    @alekciy
    Вёбных дел мастер
    У официального регистратора получаешь статус парнера, после чего можно получить все домены ru или su зон в виде банального файла. По нему и grep-аешь. Для других нерунетовских зон придется уточнять у западных регистраторов.
    Ответ написан
    Комментировать
  • Dedicated vs Cloud. Что выбрать?

    alekciy
    @alekciy
    Вёбных дел мастер
    40 кхитов это немного. Такое даже VPS потянет, хотя при обилии статики может по диску просесть, но тут уж не угадаешь, от соседей тоже зависит. Дедик же даже самой слабой конфигурации переварить не поперхнувшись. И даже в принципе будет большую часть времени простаивать.

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

    Кстати, стоит подумать о покупки дедика с тем либо или размещении у знакомых если если такая возможность. Это будет точно самый дешевый вариант.
    Ответ написан
    4 комментария
  • Статьи/хелпы по настройке высокопроизводительного веб-сервера. Что почитать?

    alekciy
    @alekciy
    Вёбных дел мастер
    Пожалуй процитирую ответ на подобных вопрос из топика "PHP-FPM на рабочем сервере под Debian 6":

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

    К прочтению могу рекомендовать:
    «UNIX. Разработка сетевых приложений.» У. Р. Стивенс, Б. Феннер, Э.М. Рудофф
    «UNIX. Профессиональное программирование» Стивенс У. Р., Раго С. А. (2-ое издание, посмертное)
    «UNIX. Взаимодействие процессов» Стивенс У. Р.
    «Ядро Linux» Д. Бовет, М. Чезати

    Вообще Стивенс крайне крут, имхо, к прочтению обязательно любому сетевому программисту. Так же могу рекомендовать «выжимку» в том числе и из этих книг от наших авторов: «Операционная система UNIX»
    Андрей Робачевский, Сергей Немнюгин, Ольга Стесик.
    Ответ написан
    Комментировать
  • Как протестировать производительность debian сервера?

    alekciy
    @alekciy
    Вёбных дел мастер
    Хорошая замена ab — httperf. Все включено в том смысле, что не тянет за собой горы зависимостей или VM. Удобная статистика в конце.
    Ответ написан
    Комментировать
  • PHP-FPM на рабочем сервере под Debian 6?

    alekciy
    @alekciy
    Вёбных дел мастер
    >Но когда появился большой трафик (примерно 2-3 000 одновременных соединений),
    >появилась проблема ошибки 502

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

    Увеличте backlog бэкэнда, запросы которые он не сможет принять буду ставиться в очередь. Но увлекаться этим не стоит, пользователь не будет у вас ждать, пока его запрос из backlog будет бэкэндом взят и обработан. Значит смотрите в сторону ускорения приложения. Сколько времени генериться страница? Если ли страницы которые одинаковы для всех? Выносите их в memcached и забирайте самим nginx-ом, не дергайте лишних раз бэкэнд. Включены ли акселераторы в духе XCache? Все ли скрипты при этом в кэше? Как обстоят дела с соединения к базе, сколько по времени они занимаются? Используется ли кэширование на этом уровне? К примеру, у меня в случае забора ответа от СУБД страница в среднем на одном проекте генерится ~15-20 мс, если данные забираются из кэша в роли которого работает Redis, то величина падает до ~2-10 мс, т.е. до 10 раз. И бэкэнд готов обрабатывать следующий запрос.

    В общем обращаю внимание, что установка php-fpm чудесным образом ситуацию может не изменить, хотя возможно сгладит её.
    Ответ написан
  • Проверка жесткого диска на VPS?

    alekciy
    @alekciy
    Вёбных дел мастер
    Внутри VPS ни какими. Да и какой в этом смысл? Все равно порос можно решить только с хост-машины.
    Ответ написан
    Комментировать
  • Узнать контакты владельца домена?

    alekciy
    @alekciy
    Вёбных дел мастер
    Гарантированно ни как. Иначе бы пропадал весь смысл в приватном статусе.

    Но можно попробовать отписать регистратору изложив суть дела.
    Ответ написан
    1 комментарий
  • Где взять статистику по кодировкам в рунете?

    alekciy
    @alekciy
    Вёбных дел мастер
    О какой зоне речь? RU? Тогда такую статистику собрать самому не проблема. Сейчас в зоне порядка 3.7 мдоменов, в относительно спокойном режиме с одного сервака уйдет около недели на их обход.
    Ответ написан
  • Голосование за сущности (когда голосов и сущностей много)

    alekciy
    @alekciy
    Вёбных дел мастер
    1 500 000 это не много.

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

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

    P.S. Можно. Я без проблем нашел свой голос 2-ей давности.
    Ответ написан
    3 комментария
  • Какой выбрать движок каталога компаний?

    alekciy
    @alekciy
    Вёбных дел мастер
    Не знаю, что там за стандартный модуль в самом LiveStreet, но вот тут blog.pravo.ru/company/ запиливал компании с вакансиями. Поэтому вполне возможно добавить свой модуль на данном движке. Разработчик средней руки недели за 2 на флутайме без проблем такое добавит.
    Ответ написан