• Джуниор поневоле: как найти и убедить разработчика-джедая стать для тебя ментором?

    alekciy
    @alekciy
    Вёбных дел мастер
    Задам вопрос который лично бы я задал в числе самых первых на собеседовании. В чем причина такой резкой смены специализации? Я так понимаю, в контексте прошлого опыта интересная серверная сторона определенного формата (не на PHP же сайты делать)?
    Ответ написан
    6 комментариев
  • CMS для сайта агенства недвижимости

    alekciy
    @alekciy
    Вёбных дел мастер
    Готовое решение искать смысла нет. Такой готовой CMS нет. Но если сформулируйте что хотите получить, то её можно сделать практически на любой адекватной CMS.

    Тут упоминали Drupal. А я вот делал такой сайт ww-realty.ru на MODx.
    Ответ написан
    4 комментария
  • Помогите разблокировать сайт

    alekciy
    @alekciy
    Вёбных дел мастер
    В домру (ЭР Телеком) тоже не работает. Мб он был некоторое время в реестре?
    Ответ написан
    Комментировать
  • Проектирование классов для работы с БД в PHP

    alekciy
    @alekciy
    Вёбных дел мастер
    Делать класс db синглтоном не хочу, потому что иногда бывает нужно создавать несколько подключений к БД.


    Синглтон не исключает возможности использование нескольких подключений.
    Ответ написан
  • Asus eee PC 701 как проигрыватель для музыки в театре?

    alekciy
    @alekciy
    Вёбных дел мастер
    Для этих целей нормально работает и винда которая идет с ним изначально. У меня 4G и 2G Surf. Оба пахали как рабочая станция диджея. Звук гнался со стандартного выхода, игралось через AMP и WinAMP. Диджей миксовал треки через usb наушники. Проблема возникала только с 2G Surf + WinAMP. Последний тек по памяти и через полтора-два часа выжирал и без того небольшое количество ОЗУ доводя систему до свопа. Все висло и требовало ребута. С 4G такой проблемы нет.
    Ответ написан
    2 комментария
  • PHP скрипт с огромным временем выполнения — как правильно такое писать?

    alekciy
    @alekciy
    Вёбных дел мастер
    Качать картинки тем же скриптом совершенно не обязательно. Я обычно просто сохраняю url в файл который потом отдается wget-у (флаг -i). Бывает и так, что внешняя обвязка (CMS) сохраняет файлы в какой-то своей структуре. Поэтому для такого случая можно wget-ом картинки предварительно накачать в локальную ФС. Что бы в ФС адрес картинки был такой же, как у URL следует использовать -x опицию Вот типичный пример загрузки:

    wget -x -b --user-agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" --referer="http://examplke.com/" -i img_url_list.txt

    Качает очень быстро + легко параллелиться если разделить файл на куски и запускать с разных серверов. У меня с двух серверов 200 000 картинок общим объемом ~8ГБ грузиться около часа.
    Ответ написан
    Комментировать
  • Многоязычный сайт… не блог… как?

    alekciy
    @alekciy
    Вёбных дел мастер
    Не понимаю, зачем все так усложнять, когда все укладывается в простую схему. Весь контент сайта условно можно разделить на 3 части:
    1) редко меняющиеся данные (они обычно зашиты в файла шаблона);
    2) часто меняющие данные либо контент генерируемый пользователями/администраторами/модераторами;
    3) бинарные данные в духе картинок, прикрепляемых файлов.

    Вся статика находится в папке skin/имя_скина/цветовая_схема/язык (например, /skin/modern/red/ru, у меня по умолчанию /skin/default/default/ru), в базе любой текстовой контент требующий перевода имеет столбцы под каждый требуемый целевой язык. Это могут быть столбцы с постфиксом оригинальное_имя_язык (к примеру, topic_content, topic_content_ru) для mysql или же наследование таблиц из postgresql.

    Реализация:
    1) вся текстовая информация сосредотачивается в файлах шаблона с использованием gettext-а.
    2) постфиксные столбцы во всех таблицах.
    3) статические картинки связанные со скином распределены по языковым папкам, адреса же до динамически добавляемых картинок хранятся в базе и при запросе согласно п.2 получаем адрес до нужной языковой картинки.

    Единственная трудность с которой тут можно столкнуться, это gettext и переводы требующие контекста. Поскольку переводчик на руки получает po файл, то он не знает, на какой странице сайта используется то или иное слово и какой у него контекст. Но это не очень частый случай и просто требует привлечение к работе разработчика.
    Ответ написан
    2 комментария
  • Востребованность open-source панели управления хостингом

    alekciy
    @alekciy
    Вёбных дел мастер
    >python, ruby, php, node, nginx, mongo, redis, percona, mariadb, mysql, exim, dovecot, proftpd,
    >memcache и прочее ПО которое может потребоваться разработчику в наше время.

    Тогда не стоит. Как уже было упомянуто выше, проблема с панелью не в том, чтобы её написать, а в в том, чтобы её поддерживать. Адекватно это делать не на фултайме командной разработчиков нереально (вы же не будете отслеживать все релизы поддерживаемого ПО и тут же бросаться доделывать панель). Можно бить себя в грудь, утверждая, что у меня конечно же получится создать правильную архитектуру, но тогда получается, что все остальные команды, пишущие панели, настолько некомпетентны, что не смогли прийти к этой правильной архитектуре.

    Рекомендую начать с малого, написав панель управления связкой nginx+php-fpm (версий 5.2-5.5)+mysql+какой-то_ftp+какой-то_dns через которую можно управлять vhost-ми, в идеале с возможностью трансформаций htaccess-ов в готовые конфигурации nginx. В крайнем случае хотя бы apache за nginx.

    P.S. А чем та же OpenPanel не угодила?
    P..P.S. Работая и разработчиком, и у хостера сам не раз думал и даже делал простой прототип панели. Но трезвая оценка говорит, что написать нормальную панель поддерживающую целую группу ПО да еще и разных версий не на фултайме обречено на провал. А фултайм ни кто оплачивать не хочет в условиях, когда готовые панели уже есть.
    Ответ написан
  • CMS для сайта с одной услугой?

    alekciy
    @alekciy
    Вёбных дел мастер
    >юрик может скачать договор
    Ставится ли вопрос безопасности таких данных? К примеру, вопрос формирования ссылок на такие договоры и гарантия того, что их смогут открыть только уполномоченные на это лица? (т.е. вопрос передачи/утечки таких ссылок).
    Ответ написан
    Комментировать
  • Какое время генерации страницы простого сайта на Symfony2?

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

    Если нет особых требований по железу и нагрузочной устойчивости приложения, то стоит использовать не задумываясь.
    Ответ написан
    Комментировать
  • Apache, www-data, права на файлы и директории?

    alekciy
    @alekciy
    Вёбных дел мастер
    Чуть выше Anonym первоначально дал неправильный совет, но в комментариях сам же и указал в чем ошибка. sledopit предлагает правильный вариант, но для этого требуются права на сервер допускающие установку дополнительных модулей. Есть еще такой официальный модуль как suexec. Но если разговор про обычный шаред, то там такая задача в принципе не решаема (разве только если указанные модули уже там установлены).

    Но лично я на своих серверах предпочитаю связку nginx+php-fpm+chroot. Для каждого сайта рабочие процессы запускаются с правами владельца сайта, допустим u1:u1. На корневой директории сайта стоит 0710 и u1:nginx, на папке log 0770/u1:nginx. На всех остальных файлах стоят права 0640/u1:u1, на папках 0711/u1:u1. Если файл публичный, то он должен относиться к группе nginx. Ни какой php одного сайта ни чего не может прочесть в файлах другого.
    Ответ написан
    3 комментария
  • Почему сервер не дает загрузить файлы по FTP?

    alekciy
    @alekciy
    Вёбных дел мастер
    Существует ли какой-нибудь способ избежать этой ошибки?

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

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

    alekciy
    @alekciy
    Вёбных дел мастер
    Самара в вышеозначенных контекстах не самый лучше выбор.

    Почему не в Москву или Питер? Как показывает практика эти города довольно активно притягивают к себе активных людей с региональных рынков.
    Ответ написан
    3 комментария
  • Виртуализация, нужен совет?

    alekciy
    @alekciy
    Вёбных дел мастер
    VMware
    Там есть отличный веб интерфейс через который можно создавать виртуалки, выделять под них ресурсы. Сам использую пару месяцев и был очень удивлен, на столько веб морда продумана и позволяет создавать гостевые системы в несколько кликов.
    Ответ написан
    1 комментарий
  • Что случилось с Comodo Time Machine?

    alekciy
    @alekciy
    Вёбных дел мастер
    Любую программу способную делать образы системы.

    Сам уже много лет предпочитаю Ghost версию под DOS загружаемую с USB флешки (когда-то с дискеты).
    Ответ написан
    Комментировать
  • Выбор долгоиграющих ноутбуков

    alekciy
    @alekciy
    Вёбных дел мастер
    Я в свое время для работы на природе брал Samsung NC215S. Боялся, что 1024x600 будет мало, но оказалось, что вполне нормально. Главные же плюсы для меня была большое время работы и (!!!) матовый экран. Производитель заявляет автономное время работы до 14 часов, но у больше 10 часов его не использовал, так что на столько правда не знаю.

    По умолчанию там идет 7-ка, но по идее и 8-ка должна завестись. Брал в Самаре за 13круб поэтому мне думается что это достойный кандидат по п. 1.
    Ответ написан
    Комментировать
  • Почему в Windows 7 останавливается жесткий диск?

    alekciy
    @alekciy
    Вёбных дел мастер
    Аналогичная ситуация на ноуте Samsung. Решения так и не нашел.
    Ответ написан
    Комментировать
  • json_encode — строгая типизация

    alekciy
    @alekciy
    Вёбных дел мастер
    Делать нужно не ПОСТобработку, а ПРЕДобработку. Т.е. бежим по массиву и там где нам нужны цифры делаем явное приведение к нужным типам.
    Ответ написан
    1 комментарий