• В чем необходимость TDD?

    @green_turtle
    TDD - это способ разработки прежде всего. Это больше относится к архитектуре и дизайну приложений. Когда вы пишите тесты - вы придумаваете архитектуру своего приложения: модель, её связи и т.п. Взглянув на тесты вы должны понять что и как делает ваше приложение.
    Грубый пример: вы хотите написать приложение которое пересылает деньги с одного аккаунта на другой. Начав писать, к примеру, тест "Должна быть ошибка при отрицательном балансе первого аккаунта", вы пока не имеете никакой модели (классов) вовсе. Поэтому вы начинаете продумывать как всё будет устроено прямо в тесте: мне нужен класс AccountService для того чтобы делать переводы, класс Account, который содержит информацию о счёте и т.д. Написав логику, конечно тест будет "красным" т.к. вы ещё не написали таких классов, НО теперь самое время сделать так, чтобы тест стал "зелёным" - написать эти классы и лишь ту бизнес-логику, которую проверяет тест.
    Ответ написан
    Комментировать
  • Возможно ли написание дипломной работы в Markdown?

    mrstrictly
    @mrstrictly
    Я тоже до-о-олго "точил карандаши" прежде, чем просто сесть и написать. :) Использовал, кстати, LyX.

    Ну, а для вашей задачи попробуйте pandoc: https://ru.wikipedia.org/wiki/Pandoc
    Ответ написан
    Комментировать
  • Как написать хук для апдейта git репозитория после добавления на него файлов?

    @kaasius
    Вам хочется странного. Такого хука нет, потому что это не хук. Можете конечно написать скрипт типа
    cd /work/dir
    git add -A
    git commit -m "automatic commit"
    git push origin master

    и положить в cron.

    Но это подводные грабли - в какой-то момент случится конфликт, и вся автоматика накроется.
    Ответ написан
    1 комментарий
  • С помощью каких решений можно построить локальную инфраструктуру для небольшой софтверной компании?

    @kaasius
    gitolite+gerrit+redmine
    Опционально jenkins/capistrano для сборки/деплоя, но всё можно написать и на шелл-скриптах и повесить на хуки гита/гитолайта.
    С тестированием не знаю что посоветовать, у меня немного другие средства разработки, но думаю что-то есть и из вашей области бесплатное.
    Ответ написан
    5 комментариев
  • Какую выбрать систему контроля версий для веб-разработки?

    miraage
    @miraage
    Старый прогер
    habrahabr.ru/post/136815/

    Контроль версий mysql - читайте про миграции базы данных.
    Ответ написан
    2 комментария
  • Хватит ли 4000$ на разработку CMS?

    kotomyava
    @kotomyava
    Системный администратор
    Ответ на ваш вопрос да - хватит. Главное построить грамотно схему работы. Даже без бюджета, на самом деле, можно написать CMS, если хорошо заинтересовать одного или боле программиста хорошо продуманной концепцией. А снимать офис совершенно излишне.

    Но на самом деле, более важный вопрос, которого вы не задали, а надо ли вам тратить вообще эти деньги и надо-ли вам вообще писать под вашу задачу CMS. И ответ на этот вопрос - нет не надо.

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

    В вашем же случае, куда разумнее посмотреть, какое из имеющихся решений ближе к вашим потребностям и хорошенько в этом решении разобраться, чтобы иметь возможность использовать его полноценно, эффективно, и при необходимости расширять.
    Вы сэкономите очень много времени и денег, и на проектировании, и на воплощении идеи, и на тестировании. И что немаловажно, вам не надо будет потом писать все расширения, можно будет использовать готовые и протестированные. Но в тоже время, если их не найдётся, вы сможете их написать.
    Ответ написан
  • Хватит ли 4000$ на разработку CMS?

    alekciy
    @alekciy
    Вёбных дел мастер
    Как разработчик собственной CMS крайне рекомендую забазироваться на фрейворке (хотя бы для админки) даже если все планируется писать нативно. Второй момент - начинать с узкой области. Сейчас разумнее всего сосредоточиться на электронной коммерции. При удачном стечении обстоятельств это даст возможность финансировать дальнейшую разработку.
    Ответ написан
    3 комментария
  • Какими способами можно связать базу Oracle (пакеты, триггеры, индексы, структура таблиц и т.д.) с системой контроля версий (GIT, SVN)?

    mrstrictly
    @mrstrictly
    Если речь идет о production-БД, то самый надежный и проверенный временем алгоритм, пожалуй -- следующий:
    1. Изменения в БД оформляются в виде т.н. миграций. Движков для реализации SQL миграций -- полно. В простейшем случае, миграция -- это просто набор DDL/DML оформленных в виде, например, SQL-скрипта.
    2. Миграции хранятся в VCS. Видно кто какие изменения в них вносил.
    3. В продакшне миграции применяются автоматически под контролем DBA, либо руками самого DBA. Роль DBA может выполнять любое ответственное лицо, если у вас в штате не выделено отдельного человека.
    4. (бонус) Схема БД в продакшне после каждого применения миграции выгружается в тот же VCS в виде отдельного скрипта и содержит только DDL и справочные данные (пример: данные для наполнения таблицы марок автомобилей, данные для наполнения таблицы стран и т.п.). Это удобно для быстрого развертывания разработческих окружений синхронных с текущей продакшн-схемой БД.
    Как-то так.
    Ответ написан
    Комментировать
  • Какую систему сборки для Java выбрать?

    asm0dey
    @asm0dey
    Можно использовать ant+ivy. Связка очень мощная — ант практически всемогущ в плане сборки и всего, что с ней связано. А ivy — уководит зависимостями. В идее, соответственно, нажимаете один раз build ant script, а потом конфигурируете его для работы с ivy.
    Ответ написан
    1 комментарий