SlideShare a Scribd company logo
1 of 22
Уберинструментарий
для тех, кому надоел
MSBuild
Сергей Калинец
@skalinets
Кто говорит?
Программирую с детства
Тренер по инженерным
практикам
Шарю в .NET и не только
Стадии восприятия
MS Культ
Вопрос с тренинга
А чё это я в двадцать первом веке должен
пользоваться унылым черным окошком вместо
красивеньких кнопочек и окошек?
Консоль или GUI?
Реакция linux guy на фразу
“windows console”
Powershell
Chocolatey
Conemu
Powershell
(command processor)
.NET based
Command completion
Aliases
Providers and modules
Automation ready
Chocolatey
(command line installer)
apt-get on windows
Nuget based
1.7K Packages
Package dependencies
Multiple tools in single package
Conemu
(console host)
Supports any shell
Tons of settings
Modern look
Has quake mode
Еще инструменты
PSGet Nuget for powershell
PoshGit/HG powershell extensions
Notepad2 notepad on steroids
И еще
ProcessExplorer task manager as it should be
Package Manager Console powershell inside VS
LinqPad simple IDE for code snippets and exploration
MSBuild
Что надо знать о
MSBuild:
Мощный
Неудобный
Неудобно
Читать
Писать
Расширять
Версионировать
Программировать
Уже такое было
CASE системы Workflow Foundation
Проблема: вся суть в
деталях
А детали очень сложно
выразить квадратиками
или иными
декларативными способами
Альтернативы MSBuild
Uppercut (pwd by NAnt) декларативный
фреймворк из серии «все включено»
Albacore (pwd by RAKE) набор RAKE тасков работы
с .NET кодом
psake (pwd by powershell) DSL для сборки
FAKE (pwd by F#) DSL для сборки с кучей тасок и
утилит и возможность деплоймена
Итого
.NET – это не только продукты
Microsoft.
Есть много очень крутых и бесплатных
решений, которые позволят работать
разработчикам более эффективно и
драйвово
Спасибо!
Не забудьте:

More Related Content

What's hot

Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаendeveit
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаITCrowd Almaty
 
Maksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a jobMaksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a jobАліна Шепшелей
 
JS Lab2017_Сергей Селецкий_System.js и jspm
JS Lab2017_Сергей Селецкий_System.js и jspmJS Lab2017_Сергей Селецкий_System.js и jspm
JS Lab2017_Сергей Селецкий_System.js и jspmGeeksLab Odessa
 
Platypus platform ivbit
Platypus platform ivbitPlatypus platform ivbit
Platypus platform ivbitjskonst
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»DevGAMM Conference
 
использование .Net framework
использование .Net frameworkиспользование .Net framework
использование .Net frameworkjskonst
 
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...Unigine Corp.
 
About emacs
About emacsAbout emacs
About emacsjskonst
 
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...Ontico
 
Будущее WordPress (SPB, 2014)
Будущее WordPress (SPB, 2014)Будущее WordPress (SPB, 2014)
Будущее WordPress (SPB, 2014)Konstantin Kovshenin
 
GDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на JenkinsGDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на JenkinsMikhail Chinkov
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времениAndriy Samilyak
 
Инструментарий начинающего разработчика Drupal.
Инструментарий начинающего разработчика Drupal.Инструментарий начинающего разработчика Drupal.
Инструментарий начинающего разработчика Drupal.PVasili
 
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)Ontico
 
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVMKNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVMPavel Tsukanov
 
Reliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkeyReliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkeyMoscowJS
 
Chef, Puppet, Salt, Ansible on SECON 2014
Chef, Puppet, Salt, Ansible on SECON 2014Chef, Puppet, Salt, Ansible on SECON 2014
Chef, Puppet, Salt, Ansible on SECON 2014Alex Chistyakov
 

What's hot (20)

Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
 
Maksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a jobMaksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a job
 
JS Lab2017_Сергей Селецкий_System.js и jspm
JS Lab2017_Сергей Селецкий_System.js и jspmJS Lab2017_Сергей Селецкий_System.js и jspm
JS Lab2017_Сергей Селецкий_System.js и jspm
 
Php. dark and light side
Php. dark and light sidePhp. dark and light side
Php. dark and light side
 
Platypus platform ivbit
Platypus platform ivbitPlatypus platform ivbit
Platypus platform ivbit
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
 
использование .Net framework
использование .Net frameworkиспользование .Net framework
использование .Net framework
 
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
 
About emacs
About emacsAbout emacs
About emacs
 
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
 
Будущее WordPress (SPB, 2014)
Будущее WordPress (SPB, 2014)Будущее WordPress (SPB, 2014)
Будущее WordPress (SPB, 2014)
 
GDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на JenkinsGDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на Jenkins
 
Drupal conf2011 2_kolosov
Drupal conf2011 2_kolosovDrupal conf2011 2_kolosov
Drupal conf2011 2_kolosov
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времени
 
Инструментарий начинающего разработчика Drupal.
Инструментарий начинающего разработчика Drupal.Инструментарий начинающего разработчика Drupal.
Инструментарий начинающего разработчика Drupal.
 
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
 
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVMKNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
 
Reliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkeyReliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkey
 
Chef, Puppet, Salt, Ansible on SECON 2014
Chef, Puppet, Salt, Ansible on SECON 2014Chef, Puppet, Salt, Ansible on SECON 2014
Chef, Puppet, Salt, Ansible on SECON 2014
 

Similar to Уберинструментарий для тех, кому надоел MSBuild

Что должен уметь Linux программист
Что должен уметь Linux программистЧто должен уметь Linux программист
Что должен уметь Linux программистru_Parallels
 
Meet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy SamilyakMeet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy SamilyakAmasty
 
игровая логика, проблемы и решения
игровая логика, проблемы и решенияигровая логика, проблемы и решения
игровая логика, проблемы и решенияВладимир Кожаев
 
REPL в Node.js: улучшаем быт разработчик
REPL в Node.js: улучшаем быт разработчикREPL в Node.js: улучшаем быт разработчик
REPL в Node.js: улучшаем быт разработчикIT61
 
PVS-Studio научился следить за тем, как вы программируете
PVS-Studio научился следить за тем, как вы программируетеPVS-Studio научился следить за тем, как вы программируете
PVS-Studio научился следить за тем, как вы программируетеTatyanazaxarova
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017Alex Chistyakov
 
Sencha Complete: Kharkiv JS #1
Sencha Complete: Kharkiv JS #1Sencha Complete: Kharkiv JS #1
Sencha Complete: Kharkiv JS #1Illya Klymov
 
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)Ontico
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиБэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиITCrowd Almaty
 
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...WDDay
 
SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"
SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"
SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"Inhacking
 
Как мы играли в DevOps и как получился Magento Autoscale
Как мы играли в DevOps и как получился  Magento AutoscaleКак мы играли в DevOps и как получился  Magento Autoscale
Как мы играли в DevOps и как получился Magento AutoscaleAndriy Samilyak
 
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...Atwix
 
Alexey Savchenko, Evangelist, Unreal Engine/ Epic Games
Alexey Savchenko, Evangelist, Unreal Engine/ Epic GamesAlexey Savchenko, Evangelist, Unreal Engine/ Epic Games
Alexey Savchenko, Evangelist, Unreal Engine/ Epic GamesWhite Nights Conference
 
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковFrontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковCodeFest
 
Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyЧитабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyDmytro Zharii
 
Олег Антонян
Олег АнтонянОлег Антонян
Олег АнтонянForkConf
 
Автоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharpАвтоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharpGoSharp
 
GetDev.NET: Снова Эрланг
GetDev.NET: Снова ЭрлангGetDev.NET: Снова Эрланг
GetDev.NET: Снова ЭрлангMaxim Krentovskiy
 

Similar to Уберинструментарий для тех, кому надоел MSBuild (20)

Что должен уметь Linux программист
Что должен уметь Linux программистЧто должен уметь Linux программист
Что должен уметь Linux программист
 
Meet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy SamilyakMeet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy Samilyak
 
Net framework
Net frameworkNet framework
Net framework
 
игровая логика, проблемы и решения
игровая логика, проблемы и решенияигровая логика, проблемы и решения
игровая логика, проблемы и решения
 
REPL в Node.js: улучшаем быт разработчик
REPL в Node.js: улучшаем быт разработчикREPL в Node.js: улучшаем быт разработчик
REPL в Node.js: улучшаем быт разработчик
 
PVS-Studio научился следить за тем, как вы программируете
PVS-Studio научился следить за тем, как вы программируетеPVS-Studio научился следить за тем, как вы программируете
PVS-Studio научился следить за тем, как вы программируете
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
 
Sencha Complete: Kharkiv JS #1
Sencha Complete: Kharkiv JS #1Sencha Complete: Kharkiv JS #1
Sencha Complete: Kharkiv JS #1
 
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиБэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
 
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
 
SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"
SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"
SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"
 
Как мы играли в DevOps и как получился Magento Autoscale
Как мы играли в DevOps и как получился  Magento AutoscaleКак мы играли в DevOps и как получился  Magento Autoscale
Как мы играли в DevOps и как получился Magento Autoscale
 
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
 
Alexey Savchenko, Evangelist, Unreal Engine/ Epic Games
Alexey Savchenko, Evangelist, Unreal Engine/ Epic GamesAlexey Savchenko, Evangelist, Unreal Engine/ Epic Games
Alexey Savchenko, Evangelist, Unreal Engine/ Epic Games
 
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковFrontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиков
 
Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyЧитабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
 
Олег Антонян
Олег АнтонянОлег Антонян
Олег Антонян
 
Автоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharpАвтоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharp
 
GetDev.NET: Снова Эрланг
GetDev.NET: Снова ЭрлангGetDev.NET: Снова Эрланг
GetDev.NET: Снова Эрланг
 

More from Serhiy Kalinets

Руйнуємо .NET Міфи
Руйнуємо .NET МіфиРуйнуємо .NET Міфи
Руйнуємо .NET МіфиSerhiy Kalinets
 
менеджеры против разработчиков
менеджеры против разработчиковменеджеры против разработчиков
менеджеры против разработчиковSerhiy Kalinets
 
путь Xp практика
путь Xp практикапуть Xp практика
путь Xp практикаSerhiy Kalinets
 
Путь XP практика
Путь XP практикаПуть XP практика
Путь XP практикаSerhiy Kalinets
 
Xp в brown field разработке
Xp в brown field разработкеXp в brown field разработке
Xp в brown field разработкеSerhiy Kalinets
 
Functional programming in C#
Functional programming in C#Functional programming in C#
Functional programming in C#Serhiy Kalinets
 
Fubu mvc -- нафига оно мне
Fubu mvc -- нафига оно мнеFubu mvc -- нафига оно мне
Fubu mvc -- нафига оно мнеSerhiy Kalinets
 
Даёшь асинхронность в массы, или как ускориться нашару
Даёшь асинхронность в массы, или как ускориться нашаруДаёшь асинхронность в массы, или как ускориться нашару
Даёшь асинхронность в массы, или как ускориться нашаруSerhiy Kalinets
 
Зачем нужны распределенные системы конторля версий
Зачем нужны распределенные системы конторля версийЗачем нужны распределенные системы конторля версий
Зачем нужны распределенные системы конторля версийSerhiy Kalinets
 
вкалывают роботы, счастлив человек (Team city)
вкалывают роботы,  счастлив человек (Team city)вкалывают роботы,  счастлив человек (Team city)
вкалывают роботы, счастлив человек (Team city)Serhiy Kalinets
 
Хотите драйва? Вам в TDD!
Хотите драйва? Вам в TDD!Хотите драйва? Вам в TDD!
Хотите драйва? Вам в TDD!Serhiy Kalinets
 
TDD: Arrange Act Assert на примере Rhino Mocks
TDD: Arrange Act Assert на примере Rhino MocksTDD: Arrange Act Assert на примере Rhino Mocks
TDD: Arrange Act Assert на примере Rhino MocksSerhiy Kalinets
 

More from Serhiy Kalinets (19)

CI adventures in .NET
CI adventures in .NETCI adventures in .NET
CI adventures in .NET
 
Руйнуємо .NET Міфи
Руйнуємо .NET МіфиРуйнуємо .NET Міфи
Руйнуємо .NET Міфи
 
менеджеры против разработчиков
менеджеры против разработчиковменеджеры против разработчиков
менеджеры против разработчиков
 
путь Xp практика
путь Xp практикапуть Xp практика
путь Xp практика
 
Xp fun
Xp funXp fun
Xp fun
 
Do you speak TDD
Do you speak TDDDo you speak TDD
Do you speak TDD
 
Путь XP практика
Путь XP практикаПуть XP практика
Путь XP практика
 
Xp в brown field разработке
Xp в brown field разработкеXp в brown field разработке
Xp в brown field разработке
 
Functional programming in C#
Functional programming in C#Functional programming in C#
Functional programming in C#
 
Fubu mvc -- нафига оно мне
Fubu mvc -- нафига оно мнеFubu mvc -- нафига оно мне
Fubu mvc -- нафига оно мне
 
Ready for prod
Ready for prodReady for prod
Ready for prod
 
Solid code via tdd
Solid code via tddSolid code via tdd
Solid code via tdd
 
Даёшь асинхронность в массы, или как ускориться нашару
Даёшь асинхронность в массы, или как ускориться нашаруДаёшь асинхронность в массы, или как ускориться нашару
Даёшь асинхронность в массы, или как ускориться нашару
 
Clean code
Clean codeClean code
Clean code
 
Зачем нужны распределенные системы конторля версий
Зачем нужны распределенные системы конторля версийЗачем нужны распределенные системы конторля версий
Зачем нужны распределенные системы конторля версий
 
Мой Скрамбат
Мой СкрамбатМой Скрамбат
Мой Скрамбат
 
вкалывают роботы, счастлив человек (Team city)
вкалывают роботы,  счастлив человек (Team city)вкалывают роботы,  счастлив человек (Team city)
вкалывают роботы, счастлив человек (Team city)
 
Хотите драйва? Вам в TDD!
Хотите драйва? Вам в TDD!Хотите драйва? Вам в TDD!
Хотите драйва? Вам в TDD!
 
TDD: Arrange Act Assert на примере Rhino Mocks
TDD: Arrange Act Assert на примере Rhino MocksTDD: Arrange Act Assert на примере Rhino Mocks
TDD: Arrange Act Assert на примере Rhino Mocks
 

Уберинструментарий для тех, кому надоел MSBuild