SlideShare a Scribd company logo
1 of 23
Спецкурс. Занятие 5

Инструменты командной
работы, часть 1
Транзакционность, версионность

Транзакция:
группа логически объединенных
последовательных
операций, обрабатываемая или
отменяемая целиком
Транзакционность, версионность

Примеры:
1. Снятие наличных в банкомате
2. Отправка email
3. Создание файла в файловой
системе

Они кругом, даже в психоанализе 
Транзакционность, версионность

Системы контроля версий:
1. Централизованные – CVS, SVN
(Subversion)
2. Распределенные –
Git, Mercurial, Bazaar и т.д.
Транзакционность, версионность

Свойства SVN:
1. Есть выделенный сервер, на
котором находится репозиторий
2. Правами доступа управляет
сервер, доступ по паролю
3. Хранит всю историю изменений
файлов на сервере
Транзакционность, версионность

Свойства SVN:
4. Поддерживает одновременную работу
нескольких клиентов
5. Для работы клиенту необходимо
создать локальную копию репозитория
6. Версии (ревизии) нумеруются
натуральными числами (но с 0)
Транзакционность, версионность
Начало работы с SVN:
1. Создать репозиторий на сервере (админ)
2. Создать локальную копию на клиенте: svn
checkout <URL> <folder> (svn co …)
3. Создать первоначальную структуру папок:
/branches
/tags
/trunk
Транзакционность, версионность

Начало работы с SVN:
4. Добавить новые папки:
svn add <path>
svn add .
5. Зафиксировать ревизию 1:
svn commit –m “Repository structure has
been initially created”
svn ci …
Транзакционность, версионность

Типичный цикл работы с SVN:
1. Обновить локальную копию: svn
update (up)
2. Внести изменения
3. Обновить локальную копию: svn
update (up)
Транзакционность, версионность

Типичный цикл работы с SVN:
4. Разрешить конфликты, если есть
5. Выполнить svn ci –m “<Message>” – не
забывайте сделать это перед уходом!
В день должно быть несколько
коммитов.
Общее информационное пространство

Что доступно всем:
1. Требования (постановка задачи)
2. Соглашения
3. Ресурсы для работы
4. Код
Общее информационное пространство

Система Wiki:
1. Версионность
2. Совместные изменения
3. Язык разметки
Общее информационное пространство

Google Apps:
1. Почта на домене
2. Совместные документы
3. Группы, блоги и т.д.
Общее информационное пространство

Файлообменники:
1. FTP, сетевые диски (устарело)
2. Облачные:
Dropbox
Yandex disk
Google Drive
RUP:
Процессы разработки
1. Много
документов, утвержденного
формата
2. Чаще всего разработка по
водопадной модели
3. Нужен крупным
корпорациям, для финансового и
другого ПО повышенной
ответственности
Процессы разработки

Agile – общее название гибких
методологий разработки
XP, Scrum, Canban и
комбинации
Процессы разработки

Любая методология требует
управления процессом!
Процессы разработки

XP (Экстремальное
программирование) – строгое
соблюдение инженерных практик:
Парное программирование
TDD
и т.д.
Процессы разработки

Scrum – процесс постоянного
улучшения за счет
ретроспектив, митинги для
общего обмена информацией,
итерации фиксированной
длины
Процессы разработки

Типичная Scrum-доска:
Процессы разработки

Чаще распространены
комбинации.
Набирает обороты подход
Continuous delivery –
непрерывная поставка
изменений
Системы управления задачами

1. JIRA – подходит для RUP и
Agile, универсальна и сложна
2. Trello – для Scrum и Canban
3. Basecamp – для внутренних и
продуктовых команд
Системы управления задачами

4. Redmine – интегрированное
решение, включает wiki, работу
с репозиторием, разные
представления статуса задач
Их сотни, но лучшей нет 

More Related Content

What's hot

24may 1600 valday особенности транспортной системы sap 'особенности транспорт...
24may 1600 valday особенности транспортной системы sap 'особенности транспорт...24may 1600 valday особенности транспортной системы sap 'особенности транспорт...
24may 1600 valday особенности транспортной системы sap 'особенности транспорт...
Positive Hack Days
 
Виктор Ашик - Python, part 2
Виктор Ашик - Python, part 2Виктор Ашик - Python, part 2
Виктор Ашик - Python, part 2
Yandex
 
Изучение и редактирование кода
Изучение и редактирование кода Изучение и редактирование кода
Изучение и редактирование кода
Yandex
 
распечатывааем презентацию»
распечатывааем презентацию»распечатывааем презентацию»
распечатывааем презентацию»
olgakos193
 
Java. Lecture 12. Development Tools
Java. Lecture 12. Development ToolsJava. Lecture 12. Development Tools
Java. Lecture 12. Development Tools
colriot
 

What's hot (17)

24may 1600 valday особенности транспортной системы sap 'особенности транспорт...
24may 1600 valday особенности транспортной системы sap 'особенности транспорт...24may 1600 valday особенности транспортной системы sap 'особенности транспорт...
24may 1600 valday особенности транспортной системы sap 'особенности транспорт...
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
 
Go в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
Go в продакшене Яндекса: отчёт после года использования — Вячеслав БахмутовGo в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
Go в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
 
Git basis
Git basisGit basis
Git basis
 
Про Git
Про GitПро Git
Про Git
 
Golang
GolangGolang
Golang
 
Виктор Ашик - Python, part 2
Виктор Ашик - Python, part 2Виктор Ашик - Python, part 2
Виктор Ашик - Python, part 2
 
Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015
 
Go в автобусе
Go в автобусеGo в автобусе
Go в автобусе
 
Win server
Win serverWin server
Win server
 
Изучение и редактирование кода
Изучение и редактирование кода Изучение и редактирование кода
Изучение и редактирование кода
 
Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)
 
распечатывааем презентацию»
распечатывааем презентацию»распечатывааем презентацию»
распечатывааем презентацию»
 
Java. Lecture 12. Development Tools
Java. Lecture 12. Development ToolsJava. Lecture 12. Development Tools
Java. Lecture 12. Development Tools
 
Windw
WindwWindw
Windw
 
Как искать DevOps
Как искать DevOpsКак искать DevOps
Как искать DevOps
 
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
 

Viewers also liked

138589857 que-importancia-tiene-en-nuestro-proyecto-de-vida-pertenecer-a-una-...
138589857 que-importancia-tiene-en-nuestro-proyecto-de-vida-pertenecer-a-una-...138589857 que-importancia-tiene-en-nuestro-proyecto-de-vida-pertenecer-a-una-...
138589857 que-importancia-tiene-en-nuestro-proyecto-de-vida-pertenecer-a-una-...
Eliza Toro
 
CAMBIOS EN EL ESPACIO A LO LARGO DEL TIEMPO
CAMBIOS EN EL ESPACIO A LO LARGO DEL TIEMPOCAMBIOS EN EL ESPACIO A LO LARGO DEL TIEMPO
CAMBIOS EN EL ESPACIO A LO LARGO DEL TIEMPO
utopya80
 
1029_assist_wang
1029_assist_wang1029_assist_wang
1029_assist_wang
donnylin
 
Revista oficial Feriescabas 2013
Revista oficial Feriescabas 2013Revista oficial Feriescabas 2013
Revista oficial Feriescabas 2013
feriescabas
 
Certification upon completion of vocational training.
Certification upon completion of vocational training.Certification upon completion of vocational training.
Certification upon completion of vocational training.
Arnab Chatterjee
 
Certificate upon completion of final year project work.
Certificate upon completion of final year project work.Certificate upon completion of final year project work.
Certificate upon completion of final year project work.
Arnab Chatterjee
 

Viewers also liked (20)

Señor+de+..
Señor+de+..Señor+de+..
Señor+de+..
 
101st BCC layout
101st BCC layout101st BCC layout
101st BCC layout
 
138589857 que-importancia-tiene-en-nuestro-proyecto-de-vida-pertenecer-a-una-...
138589857 que-importancia-tiene-en-nuestro-proyecto-de-vida-pertenecer-a-una-...138589857 que-importancia-tiene-en-nuestro-proyecto-de-vida-pertenecer-a-una-...
138589857 que-importancia-tiene-en-nuestro-proyecto-de-vida-pertenecer-a-una-...
 
CAMBIOS EN EL ESPACIO A LO LARGO DEL TIEMPO
CAMBIOS EN EL ESPACIO A LO LARGO DEL TIEMPOCAMBIOS EN EL ESPACIO A LO LARGO DEL TIEMPO
CAMBIOS EN EL ESPACIO A LO LARGO DEL TIEMPO
 
1029_assist_wang
1029_assist_wang1029_assist_wang
1029_assist_wang
 
Sachin maurya
Sachin mauryaSachin maurya
Sachin maurya
 
Revista oficial Feriescabas 2013
Revista oficial Feriescabas 2013Revista oficial Feriescabas 2013
Revista oficial Feriescabas 2013
 
Reinforcement learning for e-marketing, report, 2012
Reinforcement learning for e-marketing, report, 2012Reinforcement learning for e-marketing, report, 2012
Reinforcement learning for e-marketing, report, 2012
 
"Scaffolding"
"Scaffolding""Scaffolding"
"Scaffolding"
 
Poemadela prosperidad
Poemadela prosperidadPoemadela prosperidad
Poemadela prosperidad
 
Broker forex online
Broker forex onlineBroker forex online
Broker forex online
 
Hjärterums gård
Hjärterums gårdHjärterums gård
Hjärterums gård
 
Certification upon completion of vocational training.
Certification upon completion of vocational training.Certification upon completion of vocational training.
Certification upon completion of vocational training.
 
Slideshare
SlideshareSlideshare
Slideshare
 
Certificate upon completion of final year project work.
Certificate upon completion of final year project work.Certificate upon completion of final year project work.
Certificate upon completion of final year project work.
 
Manual usuario sinader_rev5
Manual usuario sinader_rev5Manual usuario sinader_rev5
Manual usuario sinader_rev5
 
Tiết dịch âm đạo
Tiết dịch âm đạoTiết dịch âm đạo
Tiết dịch âm đạo
 
Escola de Família (aula 16) - Luís e Zélia Martin - a beleza da família - 03....
Escola de Família (aula 16) - Luís e Zélia Martin - a beleza da família - 03....Escola de Família (aula 16) - Luís e Zélia Martin - a beleza da família - 03....
Escola de Família (aula 16) - Luís e Zélia Martin - a beleza da família - 03....
 
Leccion joven: La expiacion
Leccion joven: La expiacionLeccion joven: La expiacion
Leccion joven: La expiacion
 
Presentación the family
Presentación the familyPresentación the family
Presentación the family
 

Similar to Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5

история развития бд1
история развития бд1история развития бд1
история развития бд1
Sai_17
 
Стажировка-2013, разработчики, занятие 6. Внешние конфиги, сборка, автотесты
Стажировка-2013, разработчики, занятие 6. Внешние конфиги, сборка, автотестыСтажировка-2013, разработчики, занятие 6. Внешние конфиги, сборка, автотесты
Стажировка-2013, разработчики, занятие 6. Внешние конфиги, сборка, автотесты
7bits
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 4
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 4Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 4
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 4
7bits
 
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Tanya Denisyuk
 
ramdoc_new
ramdoc_newramdoc_new
ramdoc_new
RAMEC
 
Стажировка-2013, разработчики, занятие 10. Git
Стажировка-2013, разработчики, занятие 10. GitСтажировка-2013, разработчики, занятие 10. Git
Стажировка-2013, разработчики, занятие 10. Git
7bits
 

Similar to Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5 (20)

системы контроля версий
системы контроля версийсистемы контроля версий
системы контроля версий
 
Базовые принципы работы с SVN.
Базовые принципы работы с SVN.Базовые принципы работы с SVN.
Базовые принципы работы с SVN.
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версий
 
Dev collaboration
Dev collaborationDev collaboration
Dev collaboration
 
Sivko
SivkoSivko
Sivko
 
история развития бд1
история развития бд1история развития бд1
история развития бд1
 
Scino: DVCS на примере Git
Scino: DVCS на примере GitScino: DVCS на примере Git
Scino: DVCS на примере Git
 
Стажировка-2013, разработчики, занятие 6. Внешние конфиги, сборка, автотесты
Стажировка-2013, разработчики, занятие 6. Внешние конфиги, сборка, автотестыСтажировка-2013, разработчики, занятие 6. Внешние конфиги, сборка, автотесты
Стажировка-2013, разработчики, занятие 6. Внешние конфиги, сборка, автотесты
 
Конференция Highload++ 2014, "Инструменты высоконагруженных проектов: кеширов...
Конференция Highload++ 2014, "Инструменты высоконагруженных проектов: кеширов...Конференция Highload++ 2014, "Инструменты высоконагруженных проектов: кеширов...
Конференция Highload++ 2014, "Инструменты высоконагруженных проектов: кеширов...
 
«Механизмы обновления платформы и окружений пользователей в Jelastic»
«Механизмы обновления платформы и окружений пользователей в Jelastic»«Механизмы обновления платформы и окружений пользователей в Jelastic»
«Механизмы обновления платформы и окружений пользователей в Jelastic»
 
Mercurial
MercurialMercurial
Mercurial
 
Well-executed architecture decisions for game backend on Unity
Well-executed architecture decisions for game backend on UnityWell-executed architecture decisions for game backend on Unity
Well-executed architecture decisions for game backend on Unity
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 4
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 4Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 4
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 4
 
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
 
ramdoc_new
ramdoc_newramdoc_new
ramdoc_new
 
Development and deployment freedom - MODX Meetup Minsk
Development and deployment freedom - MODX Meetup MinskDevelopment and deployment freedom - MODX Meetup Minsk
Development and deployment freedom - MODX Meetup Minsk
 
DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015
 
Стажировка-2013, разработчики, занятие 10. Git
Стажировка-2013, разработчики, занятие 10. GitСтажировка-2013, разработчики, занятие 10. Git
Стажировка-2013, разработчики, занятие 10. Git
 
«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...
 

More from 7bits

Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап? Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
7bits
 

More from 7bits (20)

Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап? Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
 
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофтаГудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
 
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакатьГудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
 
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
 
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
 
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в ITGoodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT
 
Курс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. SpringКурс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. Spring
 
Курс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBCКурс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBC
 
Курс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSPКурс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSP
 
Курс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mockКурс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mock
 
Курс Java-2016. Занятие 09. Web
Курс Java-2016. Занятие 09. WebКурс Java-2016. Занятие 09. Web
Курс Java-2016. Занятие 09. Web
 
Курс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточностьКурс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточность
 
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекцииКурс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
 
Курс Java-2016. Занятие 06. Файлы и ввод-вывод
Курс Java-2016. Занятие 06. Файлы и ввод-выводКурс Java-2016. Занятие 06. Файлы и ввод-вывод
Курс Java-2016. Занятие 06. Файлы и ввод-вывод
 
Курс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и JavaКурс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и Java
 
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHubКурс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub
 
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про GenericsКурс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
 
курс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключениякурс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключения
 
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с MavenКурс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
 
Курс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологиюКурс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологию
 

Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5