Задать вопрос
  • Сайт не нескольких серверах?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В дополнение к отвечающим выше - подобный вид маршрутизации удобнее реализовывать на уровне DNS. Тогда просто для каждого запроса будет подсовываться ближайший сервер и все будет прозрачно для пользователя.
    Ответ написан
    Комментировать
  • Как правильно делить на ветки в git?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Вам будет полезно почитать про git flow тут.
    Ответ написан
    1 комментарий
  • Какой язык выбрать для сервера мобильново приложения?

    @gleb_kudr
    Любой.
    Ответ написан
    Комментировать
  • Потянет ли raspberry pi работу в качестве DHCP и WEB сервера?

    font
    @font
    В поисках самого лучшего
    Я считаю, стоит убедить начальника выделить несколько денег на нормальный сервер, иначе потом будет мат слышен со всех сторон, мол почему все не работает
    Ответ написан
    Комментировать
  • Потянет ли raspberry pi работу в качестве DHCP и WEB сервера?

    @386DX
    Загони в виртуалку, виртуалку запусти как скрытый сервис. Будет тихо и компактно.
    Ответ написан
    Комментировать
  • Зачем нужен личный кабинет?

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

    зато добавился весь треш в виде логинов, паролей (кстати миниуму 8 знаков, большие маленькие, спец. символы и прочая ограничительная дребедень), куча лишних действий

    и это учитывая регулярные покупки
    для магазинов, у которых покупатель редко возвращается - обязательность личного кабинета это скорее зло.
    Ответ написан
    4 комментария
  • Continuous Deploy. Не только вперед по истории коммитов git, но и экстренно назад?

    @stasmarkin
    Server side java engineer
    Если честно, я не совсем понял вопрос :) Я попробую ответить на вопрос "как в небольшом веб-проекте делать быстрый откат на предыдущие версии".

    Предположение 1: В принципе проект умещается на одной физической машине.
    Предположение 2: Ваш веб-проект состоит из веб-сервера и БД (по крайней мере, только они обновляются при деплое). Никаких сбоку стоящих MQ, всякого мидл-вара и прочего взаимодействия с другими системами нет.

    Мне кажется оптимальным решением сделать следующим образом:
    Для откатывания кода достаточно в Jenkins сделать параметризированую сборку, и передавать в эту задачу хэш ревизии, на которую надо откатиться (лично я первым шагом такой сборки запускаю шелл скрипт "hg update -r ${REV_HASH} --clean", но может можно и через плагинчики в гуе настроить). Докер хорош, но он рассчитан на сильно распределенные системы, а в небольшом проекте мне кажется это оверкилл.

    С откатыванием БД вопрос сложнее. Во-первых, потому что в любом случае делать "копию" любой базы -- это в той или иной степени лок. Хотя некоторые базы способны очень быстро делать снэпшоты, например mongoDB способна сделать бэкап без остановки и блокирования read/write без потери консистентности (при некоторых условиях, конечно же). Во-вторых, оптимальное решение будет зависеть от размера вашей базы и нагрузки на нее.
    Например, если у вас MySQL на 100 мегобайт, то mysqldump, запускающийся Jenkins'ом перед началом деплоя новой версии, будет очень простым и надежным решением (естессно, с сохранением хэша текущей ревизии, чтобы потом одновременно с кодом откатиться).
    Если у вас база 20гигов, то можно поднять рядом второй сервачок со слэйв-базой, и лочить ее при дампе тем же mysqldump'ом.
    Если со вторым юнитом не хочется морочиться, а система позволяет заблокировать базу на небольшое время, то можно делать снэпшоты с помощью lvm'а, например. (см. www.lullabot.com/blog/article/mysql-backups-using-...

    Из текста, я так понял, что еще интересует вопрос "как в большом проекте делают быстрый откат на предыдущие версии". Я так понимаю, что у "больших дядей" изменить архитектуру БД -- это очень дорогой и трудоемкий процесс. Особенно, если структура обратно не совместима (это же пересчеты всех индексов, огромные объемы информации, ожидание обновления всех реплик и тд). По-поводу деплоя, я так понимаю, у них тоже выбор не очень большой: это либо виртуалки (c докером, или чем-то подобным), либо application platform (либо свои, ли всякие PaaS'ы). Ну, а дальше все равно только одним способом: новые виртуалки/конейнеры включаются, обновляются записи в лоад-балансере, старые виртуалки/конейнеры выключаются.
    Ответ написан
    Комментировать
  • Continuous Deploy. Не только вперед по истории коммитов git, но и экстренно назад?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Docker + Ansible. При деплое поднимаете контейнер с новой версией приложения (старая версия в скоем контейнере и пока работает), накатываете миграции (условие - миграции одной версии не должны вести к неработоспособности старой, иначе у вас проблемы с проектированием базы), подменяете текущий контейнер на новый и тушите его. Если вдруг что-то пошло не так, запускаете скрипт который проведет операцию в обратном направлении.

    Если Docker смущает своей молодостью, есть вариант с оформлением приложения в виде DEB-пакета.

    А еще есть Capistrano.

    p.s. Довольно интересная тема, но на большинстве проектов, с которыми довелось сталкиваться или общаться с разработчиками оных, популярна стратегия "фиксить АСАП!" (за редкими исключениями, причем даже если минута простоя стоит тысячи долларов). Обычно это связано с тем что такие ситуации не случались ибо все предварительно обкатывается на стэйджинге с копией реальных данных.
    Ответ написан
    2 комментария
  • На какую тему прибыльнее сделать сайт?

    @usershelpme
    Тема должна быть интересна самому себе, прежде всего.
    А так, прибыльные по Adsense - это коммерческие (финансы, недвижимость, авто и т.п.)
    Ответ написан
    Комментировать
  • Стоит ли разгонять ноутбук?

    @bondbig
    Стоит купить себе новый компьютер.
    Любой i3 (кроме разве что супернизковольтной серии U) будет в 2-4 раза быстрее, чем T3200, не говоря уже про i5, там в 4-6 раз. А ноутбуки с i5 совсем недорого продаются.
    Ответ написан
    6 комментариев
  • Как убедить руководство сменить платформу разработки проекта, полностью переписав его?

    У меня сложилось впечатление после прочитывания комментариев, что денег у компании сейчас мало, руководство зажимается. Так зачем же сейчас менять платформу, переписывать проект фактически с нуля, если это приведёт к ещё большим издержкам? Ну допустим, вы решили переписывать. Какова оценка трудоёмкости задачи по времени? Будут ли при этом ещё написаны тесты? Есть ли они сейчас? Если нет тестов, то на определенном уровне сложности проекта пробуксовка неизбежна. Изменение кода будет вести к непредсказуемым последствиям в поведении приложения.
    Как уже заметили, надо либо подстегнуть мотивацию разработчика, либо менять его. К слову, зарплата в 1000$ для хорошего разработчика это не деньги, ради которых стоит напрягаться. Наверняка есть ещё другие проекты и он отдаёт приоритет тому, где больше платят или более интересно.
    Ответ написан
    2 комментария
  • Как "конвертировать" корпоративный прокси в "нормальный" интернет для моего компьютера?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Ну навскидку - взять тазик, поднять на нём squid, который ходит в другой proxy, сделает его прозрачным, в качестве default gw на нужных машинах использовать этот тазик.
    Ответ написан
    Комментировать
  • Как решить данную задачу с помощью языка ассемблера?

    Нет мы не будем делать за тебя лабу по програмированию
    Ответ написан
    Комментировать
  • Какую выбрать систему контроля версий для веб-разработки?

    Git, и только Git!
    Поставьте Git на сервере с использованием gitolite или gitlab. Сервер может быть другим, не обязательно тот на котором работают сайты.

    А дальше тестовый сервер должен забирать (клонировать) репозитории сайтов к себе. Можно делать это периодически (самое простое) или по коммитам (нужно написать скрипт).

    А еще лучше поставить сервер CI (например hudson ) и настроить в нем выкладку сайтов по FTP в ответ на коммиты в репозитории Git.
    Ответ написан
    5 комментариев
  • Дамп базы mysql

    alekciy
    @alekciy
    Вёбных дел мастер
    mysqldump -uUSER -pPASSWORD -hlocalhost -d --default-character-set=utf8 --quote-names --allow-keywords --add-drop-table --set-charset schema_info > /path/to/file/schema.mysql

    mysqldump -uUSER -pPASSWORD -hlocalhost -d --default-character-set=utf8 --quote-names --allow-keywords --add-drop-table --set-charset --ignore-table=schema_info > /path/to/file/schema.mysql

    man mysqldump
    Ответ написан
    Комментировать
  • Функциональное тестирование RESTful API

    Snowindy
    @Snowindy Автор вопроса
    Выбор пал на JMeter:
    — Может запускать тесты из GUI и CLI
    — Может проксировать и записывать все взаимодействия по сети, позволяя вручную не набирать последовательности запросов
    — Обладает широкой поддеркой встроенных динамических языков: Javascript, Groovy и т.д.
    — Любой тест может быть превращен в нагрузочный за несколько кликов

    Туториал по записи действий и созданию тестов:
    www.youtube.com/user/MuthukumarJayakumar?feature=watch
    Ответ написан
    Комментировать