SlideShare a Scribd company logo
Неприятная правда
про язык GO
Даниил Подольский
Djarvur.net
Немного о себе
● 25 лет в IT
● 20 лет сисадминского опыта
● 10 опыта в разработке
● 5 лет опыта тимлидом
● 4 года разработки на Go
О чем этот доклад
О темной стороне силы!
Немного истории
● go 1 — 28 марта 2012 года — Первая официальная версия
● go 1.1 — 13 мая 2013 года — введены method values
● go 1.2 — 1 декабря 2013 года — любая попытка обратиться по указателю nil гарантированно вызывает панику
● go 1.3 — 18 июня 2014 года — изменена модель распределения памяти
● go 1.4 — 10 декабря 2014 года — в реализацию добавлена поддержка платформ Android, NaCl on AMR, Plan9
on AMD64.
● go 1.5 — 19 августа 2015 года — в записи map-литералов указание типа каждого элемента сделано
факультативным, в реализации среда исполнения и компилятор полностью переписаны на Go и ассемблере,
более не используется язык Си.
● go 1.6 — 17 февраля 2016 года — изменений в языке нет, среда портирована на платформы Linux on 64-bit
MIPS, Android on 32-bit x86 (android/386)
● go 1.7 — 16 августа 2016 года — уменьшены время компиляции и размер бинарных файлов, в стандартную
библиотеку добавлен пакет context.
● go 1.8 — 7 апреля 2017 года — ускорена работа встроенного сборщика мусора памяти, модуль «http»
получил возможность мягкой остановки, добавлена поддержка процессоров с архитектурой MIPS (32-бит).
Внесены исправления в ряд пакетов и утилиты.
● go 1.9 — 24 августа 2017 года — добавлены в язык псевдонимы имён типов, потоково-безопасный тип map.
Конкуренты
2007 Fan
2007 Apex
2007 Vala
2007 Clojure
2007 LOLCODE
2008 RapidRage
2008 Disciple
2008 PCASTL
2008 Seccia
2008 Fortress
2009 Go
2009 Coffee Script
2010 Chapel
2010 RPG Open
Access
2010 Rust
2011 C++11
2011 Ceylon
2011 Dart
2011 Elm
2011 Kotlin
2011 Red
2012 Ada 2012
2012 Elixir
2012 Julia
2012 TypeScript
2014 Hack
2014 С++14
2014 Swift
Достоинства языка Go
● Комбинированная модель многопоточности
● Кросплатформенность и
кроскомпилируемость
● Быстрая сборка
● Легко читаемый синтаксис
● Стандарт на стиль кода
О влиянии языка Go на индустрию
● Влияние есть
О влиянии языка Go на индустрию
● Влияние есть
○ Потому, что хайп
О влиянии языка Go на индустрию
● Влияние есть
○ Потому, что хайп
○ Ну и потому, что Go - реально
важное явление в нашей
индустрии
Темная сторона силы:
обработка ошибок
Темная сторона силы:
обработка ошибок
● Анализ кода возврата
Темная сторона силы:
обработка ошибок
● Анализ кода возврата
○ Парсить текст? RLY?
Темная сторона силы:
обработка ошибок
● Анализ кода возврата
○ Парсить текст? RLY?
● Потеря контекста
Темная сторона силы:
обработка ошибок
● Анализ кода возврата
○ Парсить текст? RLY?
● Потеря контекста
○ Протаскивать или контекст вверх,
или обработчик вниз
Темная сторона силы:
обработка ошибок
● Анализ кода возврата
○ Парсить текст? RLY?
● Потеря контекста
○ Протаскивать или контекст вверх,
или обработчик вниз
○ Монстры логирования
Темная сторона силы:
обработка ошибок
Монстры логирования
Темная сторона силы:
обработка ошибок
● Нас провоцируют игнорировать
ошибки
Темная сторона силы:
обработка ошибок
● Нас провоцируют игнорировать
ошибки
○ Или обрабатывать их с потерей
контекста
Темная сторона силы: наследование
● Его нет
Темная сторона силы: наследование
● Его нет
○ Оно нужно
Темная сторона силы: наследование
● Его нет
○ Оно нужно
■ Например, для неоднородных
массивов
Темная сторона силы: наследование
Эмуляция на интерфейсах
Темная сторона силы: наследование
● interface{}
Темная сторона силы: наследование
● interface{}
● Type switch
Темная сторона силы: наследование
● interface{}
● Type switch
● Нас провоцируют писать свой
динамический язык!
Темная сторона силы:
Формат исполняемого файла
● Ресурсы - их нет
Темная сторона силы:
Формат исполняемого файла
● Ресурсы - их нет
○ Но они нужны
Темная сторона силы:
Формат исполняемого файла
● Ресурсы - их нет
○ Но они нужны
● Go-bindata? RLY?
Темная сторона силы:
Формат исполняемого файла
● Ресурсы - их нет
○ Но они нужны
● Go-bindata? RLY?
○ Код и данные вперемешку
Темная сторона силы:
про “вперемешку”
● Нельзя задать, где - в куче или на
стеке - будет выделена память
переменная
Темная сторона силы:
про “вперемешку”
● Нельзя задать, где - в куче или на
стеке - будет выделена память
переменная
○ Но - можно. Через unsafe
Темная сторона силы:
про “вперемешку”
● Нельзя задать, где - в куче или на
стеке - будет выделена память
переменная
○ Но - можно. Через unsafe
○ Прирост производительности -
до 7 раз (according to @kirilldanshin)
Темная сторона силы: setuid
● Он нужен
Темная сторона силы: setuid
● Он нужен
○ Но его нет - во всяком случае, на
линуксе
Темная сторона силы: setuid
● Он нужен
○ Но его нет - во всяком случае, на
линуксе
● Как это делается
Темная сторона силы: setuid
● Он нужен
○ Но его нет - во всяком случае, на
линуксе
● Как это делается
○ Через анальное отверстие
Темная сторона силы: макросы
● Их нет
Темная сторона силы: макросы
● Их нет
○ Они не нужны (RLY?)
Темная сторона силы: макросы
● Их нет
○ Они не нужны (RLY?)
● Но __FILE__ и __LINE__
нужны обязательно
Темная сторона силы: макросы
Темная сторона силы:
Иммутабельность
● Ее нет
Темная сторона силы:
Иммутабельность
● Ее нет
○ Она не нужна
Темная сторона силы:
Иммутабельность
● Ее нет
○ Она не нужна
○ Но нужна
Темная сторона силы:
Иммутабельность
● Ее нет
○ Она не нужна
○ Но нужна
● Эмуляция на передаче по значению
Темная сторона силы:
Иммутабельность
● Ее нет
○ Она не нужна
○ Но нужна
● Эмуляция на передаче по значению
■ RLY?
Темная сторона силы:
Иммутабельность
● Ее нет
○ Она не нужна
○ Но нужна
● Эмуляция на передаче по значению
■ RLY?
■ Это не работает
Темная сторона силы:
Иммутабельность
● Ее нет
○ Она не нужна
○ Но нужна
● Эмуляция на передаче по значению
■ RLY?
■ Это не работает
● Особенно для слайсов
Темная сторона силы:
Область видимости
Темная сторона силы:
Область видимости
Я
Гендальф!
Темная сторона силы:
Область видимости
Я
Гендальф!
Темная сторона силы:
Список не полон
● это только то, что я насобирал за месяц
подготовки к докладу
Темная сторона силы:
Список не полон
● это только то, что я насобирал за месяц
подготовки к докладу
○ Есть еще типизованный nil
Темная сторона силы:
Список не полон
● это только то, что я насобирал за месяц
подготовки к докладу
○ Есть еще типизованный nil
○ А еще ковертация типа коллекции -
только копированием
Темная сторона силы:
Список не полон
● это только то, что я насобирал за месяц
подготовки к докладу
○ Есть еще типизованный nil
○ А еще ковертация типа коллекции -
только копированием
○ А еще есть Unmarshal в interface{}
Темная сторона силы:
Список не полон
● это только то, что я насобирал за месяц
подготовки к докладу
○ Есть еще типизованный nil
○ А еще ковертация типа коллекции -
только копированием
○ А еще есть Unmarshal в interface{}
○ А еще…
Темная сторона силы:
Стокгольмский синдром
● Очень распространен среди
программистов на Go
Темная сторона силы:
Стокгольмский синдром
● Очень распространен среди
программистов на Go
○ Потому, что язык и экосистема
бедные и жесткие
Что же делать?
● Вести просветительскую работу
Что же делать?
● Вести просветительскую работу
● По возможности, не допускать,
чтобы Go становился первым
языком в жизни программиста
Что же делать?
● Вести просветительскую работу
● По возможности, не допускать,
чтобы Go становился первым
языком в жизни программиста
○ Но остальные-то языки не лучше,
вот в чем беда :(
Спасибо!
Вопросы?
Контакты докладчика
onokonem@djarvur.net
TG: @onokonem
Skype: onokonem

More Related Content

What's hot

Учебный план для highload гуру / Андрей Аксёнов (Sphinx Technologies Inc.)
Учебный план для highload гуру / Андрей Аксёнов (Sphinx Technologies Inc.)Учебный план для highload гуру / Андрей Аксёнов (Sphinx Technologies Inc.)
Учебный план для highload гуру / Андрей Аксёнов (Sphinx Technologies Inc.)
Ontico
 
Scala performance под капотом
Scala performance под капотомScala performance под капотом
Scala performance под капотом
Roman Grebennikov
 
Tk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosqlTk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosql
Daniel Podolsky
 
NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?
Daniel Podolsky
 
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
Alex Chistyakov
 
Akka: как я перестал бояться и полюбил асинхронный код
Akka: как я перестал бояться и полюбил асинхронный кодAkka: как я перестал бояться и полюбил асинхронный код
Akka: как я перестал бояться и полюбил асинхронный код
Roman Grebennikov
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Yandex
 
разработка бизнес приложений (8)
разработка бизнес приложений (8)разработка бизнес приложений (8)
разработка бизнес приложений (8)
Alexander Gornik
 
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
Yandex
 
Лев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про ErlangЛев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про Erlang
Yury Yurevich
 
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
 Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo) Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
Ontico
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Yandex
 
14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?
14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?
14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?
HappyDev-lite
 
Perl 5.16 and beyond by Jesse Vincent (Русская версия)
Perl 5.16 and beyond by Jesse Vincent (Русская версия)Perl 5.16 and beyond by Jesse Vincent (Русская версия)
Perl 5.16 and beyond by Jesse Vincent (Русская версия)
Anatoly Sharifulin
 
Per! А что дальше?
Per! А что дальше?Per! А что дальше?
Per! А что дальше?
Anatoly Sharifulin
 
Database First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБДDatabase First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБД
Nikolay Samokhvalov
 
#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов
Nikolay Samokhvalov
 
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Ontico
 
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the BeastAlexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the BeastAlexander Dymo
 
My talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ruMy talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ru
Alex Chistyakov
 

What's hot (20)

Учебный план для highload гуру / Андрей Аксёнов (Sphinx Technologies Inc.)
Учебный план для highload гуру / Андрей Аксёнов (Sphinx Technologies Inc.)Учебный план для highload гуру / Андрей Аксёнов (Sphinx Technologies Inc.)
Учебный план для highload гуру / Андрей Аксёнов (Sphinx Technologies Inc.)
 
Scala performance под капотом
Scala performance под капотомScala performance под капотом
Scala performance под капотом
 
Tk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosqlTk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosql
 
NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?
 
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
 
Akka: как я перестал бояться и полюбил асинхронный код
Akka: как я перестал бояться и полюбил асинхронный кодAkka: как я перестал бояться и полюбил асинхронный код
Akka: как я перестал бояться и полюбил асинхронный код
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
 
разработка бизнес приложений (8)
разработка бизнес приложений (8)разработка бизнес приложений (8)
разработка бизнес приложений (8)
 
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
 
Лев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про ErlangЛев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про Erlang
 
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
 Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo) Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
 
14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?
14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?
14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?
 
Perl 5.16 and beyond by Jesse Vincent (Русская версия)
Perl 5.16 and beyond by Jesse Vincent (Русская версия)Perl 5.16 and beyond by Jesse Vincent (Русская версия)
Perl 5.16 and beyond by Jesse Vincent (Русская версия)
 
Per! А что дальше?
Per! А что дальше?Per! А что дальше?
Per! А что дальше?
 
Database First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБДDatabase First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБД
 
#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов
 
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
 
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the BeastAlexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
 
My talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ruMy talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ru
 

Similar to неприятная правда про язык go

2013 09 14 деплой
2013 09 14 деплой2013 09 14 деплой
2013 09 14 деплойYandex
 
«Велогосипед», Данил Ильиных
«Велогосипед», Данил Ильиных«Велогосипед», Данил Ильиных
«Велогосипед», Данил Ильиных
DevDay
 
apache cassandra и подруга её scylla
apache cassandra и подруга её scyllaapache cassandra и подруга её scylla
apache cassandra и подруга её scylla
Daniel Podolsky
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
ITCrowd Almaty
 
Python, Django и корпоративные информационные системы
Python, Django и корпоративные информационные системыPython, Django и корпоративные информационные системы
Python, Django и корпоративные информационные системы
PyNSK
 
SmartOS on SPb.LinuxFest 2013Q4
SmartOS on SPb.LinuxFest 2013Q4SmartOS on SPb.LinuxFest 2013Q4
SmartOS on SPb.LinuxFest 2013Q4
Alex Chistyakov
 
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
Ontico
 
SaltStack vs Chef, HappyDev 2013
SaltStack vs Chef, HappyDev 2013SaltStack vs Chef, HappyDev 2013
SaltStack vs Chef, HappyDev 2013
Alex Chistyakov
 
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёруДенис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
Yandex
 
Metaprogramming
MetaprogrammingMetaprogramming
Metaprogramming
Dmitry Ignatiev
 
Данил Ильиных и Владимир Иванов, «Велогосипед»
Данил Ильиных и Владимир Иванов, «Велогосипед»Данил Ильиных и Владимир Иванов, «Велогосипед»
Данил Ильиных и Владимир Иванов, «Велогосипед»
Platonov Sergey
 
Завершающая лекция - часть 1 - информатика и зомби
Завершающая лекция - часть 1 - информатика и зомбиЗавершающая лекция - часть 1 - информатика и зомби
Завершающая лекция - часть 1 - информатика и зомби
Alexey Vasyukov
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
ITCrowd Almaty
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
endeveit
 
Фламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый деньФламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый день
DevDay
 
Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Курс "Хранение и Обработка больших данны". Лекция 5 YARNКурс "Хранение и Обработка больших данны". Лекция 5 YARN
Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Pavel Mezentsev
 
Взаимодействие Go и C-библиотек. Go и Erlang
Взаимодействие Go и C-библиотек. Go и ErlangВзаимодействие Go и C-библиотек. Go и Erlang
Взаимодействие Go и C-библиотек. Go и ErlangDevDay
 

Similar to неприятная правда про язык go (19)

2013 09 14 деплой
2013 09 14 деплой2013 09 14 деплой
2013 09 14 деплой
 
Kranonit s16 (python). sergey burma
Kranonit s16 (python). sergey burmaKranonit s16 (python). sergey burma
Kranonit s16 (python). sergey burma
 
«Велогосипед», Данил Ильиных
«Велогосипед», Данил Ильиных«Велогосипед», Данил Ильиных
«Велогосипед», Данил Ильиных
 
apache cassandra и подруга её scylla
apache cassandra и подруга её scyllaapache cassandra и подруга её scylla
apache cassandra и подруга её scylla
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
 
Python, Django и корпоративные информационные системы
Python, Django и корпоративные информационные системыPython, Django и корпоративные информационные системы
Python, Django и корпоративные информационные системы
 
SmartOS on SPb.LinuxFest 2013Q4
SmartOS on SPb.LinuxFest 2013Q4SmartOS on SPb.LinuxFest 2013Q4
SmartOS on SPb.LinuxFest 2013Q4
 
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
 
SaltStack vs Chef, HappyDev 2013
SaltStack vs Chef, HappyDev 2013SaltStack vs Chef, HappyDev 2013
SaltStack vs Chef, HappyDev 2013
 
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёруДенис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
 
Operden1
Operden1Operden1
Operden1
 
Metaprogramming
MetaprogrammingMetaprogramming
Metaprogramming
 
Данил Ильиных и Владимир Иванов, «Велогосипед»
Данил Ильиных и Владимир Иванов, «Велогосипед»Данил Ильиных и Владимир Иванов, «Велогосипед»
Данил Ильиных и Владимир Иванов, «Велогосипед»
 
Завершающая лекция - часть 1 - информатика и зомби
Завершающая лекция - часть 1 - информатика и зомбиЗавершающая лекция - часть 1 - информатика и зомби
Завершающая лекция - часть 1 - информатика и зомби
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
 
Фламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый деньФламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый день
 
Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Курс "Хранение и Обработка больших данны". Лекция 5 YARNКурс "Хранение и Обработка больших данны". Лекция 5 YARN
Курс "Хранение и Обработка больших данны". Лекция 5 YARN
 
Взаимодействие Go и C-библиотек. Go и Erlang
Взаимодействие Go и C-библиотек. Go и ErlangВзаимодействие Go и C-библиотек. Go и Erlang
Взаимодействие Go и C-библиотек. Go и Erlang
 

More from Daniel Podolsky

Build your own network security protocol and get away uncaught
Build your own network security protocol and get away uncaughtBuild your own network security protocol and get away uncaught
Build your own network security protocol and get away uncaught
Daniel Podolsky
 
Golang WTF talks
Golang WTF talksGolang WTF talks
Golang WTF talks
Daniel Podolsky
 
электронные средства поддержания трудовой дисциплины в географически распреде...
электронные средства поддержания трудовой дисциплины в географически распреде...электронные средства поддержания трудовой дисциплины в географически распреде...
электронные средства поддержания трудовой дисциплины в географически распреде...
Daniel Podolsky
 
Mysql vs postgresql
Mysql vs postgresqlMysql vs postgresql
Mysql vs postgresql
Daniel Podolsky
 
Спасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного ХецнераСпасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного Хецнера
Daniel Podolsky
 
опыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилищаопыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилища
Daniel Podolsky
 
ночью через лес Stress-test пяти almost-the-same-functionality shared-nothin...
ночью через лес  Stress-test пяти almost-the-same-functionality shared-nothin...ночью через лес  Stress-test пяти almost-the-same-functionality shared-nothin...
ночью через лес Stress-test пяти almost-the-same-functionality shared-nothin...
Daniel Podolsky
 
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концомБинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
Daniel Podolsky
 
Go и fuse
Go и fuseGo и fuse
Go и fuse
Daniel Podolsky
 

More from Daniel Podolsky (9)

Build your own network security protocol and get away uncaught
Build your own network security protocol and get away uncaughtBuild your own network security protocol and get away uncaught
Build your own network security protocol and get away uncaught
 
Golang WTF talks
Golang WTF talksGolang WTF talks
Golang WTF talks
 
электронные средства поддержания трудовой дисциплины в географически распреде...
электронные средства поддержания трудовой дисциплины в географически распреде...электронные средства поддержания трудовой дисциплины в географически распреде...
электронные средства поддержания трудовой дисциплины в географически распреде...
 
Mysql vs postgresql
Mysql vs postgresqlMysql vs postgresql
Mysql vs postgresql
 
Спасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного ХецнераСпасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного Хецнера
 
опыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилищаопыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилища
 
ночью через лес Stress-test пяти almost-the-same-functionality shared-nothin...
ночью через лес  Stress-test пяти almost-the-same-functionality shared-nothin...ночью через лес  Stress-test пяти almost-the-same-functionality shared-nothin...
ночью через лес Stress-test пяти almost-the-same-functionality shared-nothin...
 
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концомБинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
 
Go и fuse
Go и fuseGo и fuse
Go и fuse
 

неприятная правда про язык go