SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
HWdTech.DS

Подходы  к  реализации
модели  акторов

01 TIKTOKCOACH.RU
Докладчик

Тюменцев  Евгений
Разработка  кросс-платформенных  приложений
Руководство  отделом  разработки  ПО  в  40  человек
Тех.  директор  ИТ-компании  в  70  человек
Управляющий  партнер  стартапа “Тик-Так  Коуч”
02 TIKTOKCOACH.RU
Проблема

Многопоточность?
Это  Вам  не  это!

03 TIKTOKCOACH.RU
Общая  схема

04 TIKTOKCOACH.RU
Message Bus
• MessageBus.Send(message);

• MessageBus.Join(job);

05 TIKTOKCOACH.RU
Job
public class EchoJob : IJob
{
[ChannelEndpointHandler("Echo")]
public void Handle(IMessage message)
{
MessageBus.TrySendSuccessResponse(message);
}
}

06 TIKTOKCOACH.RU
Асинхронная  обработка
[ChannelEndpointHanlder(ChannelsLoaderLocal,
MessageType="Messages.Loader.Load")]
public void LoadMessageHandler(IMessage message)
{
//  …
MessageBus.Send(
MessagesFactory.Instance.CreateMessage(“Messages.Config.Get”,ChannelsLoaderLocal)
);
}
[ChannelEndpointHanlder(ChannelsLoaderLocal,
MessageType = "Messages.Config.GetResponse")]
public void ConfigGetResponseHandler(IMessage response)
{
//  …
}

07 TIKTOKCOACH.RU
Message Map

Job1

08 TIKTOKCOACH.RU

Job2

…

JobN
Check Point

CP1
Ответ  на  
входящий
запрос

09 TIKTOKCOACH.RU

Job

…

CPN
Вычислимость

Вычислимость
 Машина  Тьюринга
 Машина  Поста
 Λ-исчисление  Черча
10 TIKTOKCOACH.RU
Как  все  начиналось?
1970-е
 Искусственный  интеллект
 Будущее  за  многопроцессорными  
системами
 Проект  5-е  поколение

11 TIKTOKCOACH.RU
Акторы
Carl Hewitt,
Peter Bishop,
Richard Steiger
A Universal Modular
ACTOR
Formalism for Artificial
Intelligence
1973
12 TIKTOKCOACH.RU

Carl Hewitt
Аксиоматика  акторов
Carl Hewitt,
Henry Baker
Actors and Continous
Functionals

1977
13 TIKTOKCOACH.RU

Henry Baker
Модель  акторов
Актор – вычислительная  сущность
• Отправить  конечное  число  сообщений  
другим  авторам
• Создать  конечное  число  акторов
• Выбрать  поведение  для  приема  следующего  
сообщения

14 TIKTOKCOACH.RU
В  чем  разница?
Синхронизация

15 TIKTOKCOACH.RU

Акторы
Функционал  ЯП  в  модели  акторов
Gul A. Agha
Actors: A Model Of
Concurrent
Computation in
Distributed Systems

1985
16 TIKTOKCOACH.RU

Gul A. Agha
Without Inversion Control
Philipp Haler, Martin
Odersky
Event-Based
Programming Without
Inversion Control

2006
Scala, C# 5 (await)
17 TIKTOKCOACH.RU
Пример  await на  С# 5
static async Task SavePage(string file, string a)
{
using (var stream = File.AppendText(file))
{
var html = await new
WebClient().DownloadStringTaskAsync(a);
await stream.WriteAsync(html);
}
}
18 TIKTOKCOACH.RU
Fog cutter

Gul A. Agha, Karmani 2011
Распространенная  
архитектура  для  
вычислительных  агентов

19 TIKTOKCOACH.RU
Подходы  к  реализации
• Новый  ЯП  (Erlang)
• Расширение  существующих  (C# 5, await)
• Библиотеки  для  ЯП  

20 TIKTOKCOACH.RU
Почему  функциональные  языки?
for(int i =0; ; ++i)
{
DoSomething(i);
}

21 TIKTOKCOACH.RU

void print(int i)
{
DoSomething(i);
print(i+1);
}
Но!
Что  если,  ожидание  > 50 милисекунд?
Время  отклика  > 100 милисекунд?

22 TIKTOKCOACH.RU
спринтер  VS стайер

23 TIKTOKCOACH.RU
benchmarksgame.alioth.debian.org

24 TIKTOKCOACH.RU
benchmarksgame.alioth.debian.org

25 TIKTOKCOACH.RU
benchmarksgame.alioth.debian.org

26 TIKTOKCOACH.RU
benchmarksgame.alioth.debian.org

27 TIKTOKCOACH.RU
Проект  5-го  поколения  провалился

Япония,  1982-1992
$500 млн
 Логическая  обработка  данных
 Сверхбольшие  БД
 Многопроцессорные  рабочие  
станции
 Распределенные  вычисления
28 TIKTOKCOACH.RU
В  чем  подвох?
Тезис  Ковальского
«Вычисления  могут  быть  
сгруппированы  по  
логическим  выводам»

Hewitt, Agha 1988
Guarded Horn clause
languages: are they
deductive and Logical?
Clinger 1981
Foundations Of Actor
Semantics

29 TIKTOKCOACH.RU
Цель

Оптимизация

Измеримость

Взаимодействие

Архитектура
Как  есть

30 TIKTOKCOACH.RU
Карты  Шухарта
1923  г.    AT&T
Ламповые  усилители  
сигнала
Количество  аварийных  
бригад  и  транстпорта?
Bell Labs 1924 г.
31 TIKTOKCOACH.RU

Уолтер Шухарт
Управляемость

Явление  следует  назвать  
управляемым  тогда,  когда,  используя  
прошлый  опыт,  мы  можем  
предсказать,  по  крайней  мере  в  
некоторых  пределах,  каких  его  
вариаций  можно  ожидать  в  будущем

32 TIKTOKCOACH.RU
Пример  карты  Шухарта

33 TIKTOKCOACH.RU
Еще  одна  причина

In-proc библиотека
Мобильные  приложения

34 TIKTOKCOACH.RU
Библиотека  Job’ов

 Публикация
 Загрузка  job’ов по  требованию

35 TIKTOKCOACH.RU
Сервис  конфигураций

 Конфигурация  – json
 Внести  изменения  –
применить  конфигурацию
36 TIKTOKCOACH.RU
Спасибо

Тюменцев  Евгений
Звоните: +7 913 150 22 04
Пишите: etyumentcev@tiktokcoach.ru
Читайте: @tiktokcoach

37 TIKTOKCOACH.RU

Contenu connexe

Similaire à 2013-11-09 03 Евгений Тюменцев. Подходы к реализации модели акторов

почему буксует тайм менеджмент
почему буксует тайм менеджментпочему буксует тайм менеджмент
почему буксует тайм менеджментetyumentcev
 
высокопроизводиетльные системы без доп затрат
высокопроизводиетльные системы без доп затратвысокопроизводиетльные системы без доп затрат
высокопроизводиетльные системы без доп затратetyumentcev
 
2014-03-01 02 Евгений Тюменцев. Почему буксует тайм-менеджмент
2014-03-01 02 Евгений Тюменцев. Почему буксует тайм-менеджмент2014-03-01 02 Евгений Тюменцев. Почему буксует тайм-менеджмент
2014-03-01 02 Евгений Тюменцев. Почему буксует тайм-менеджментОмские ИТ-субботники
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?etyumentcev
 
эволюция методологий управления (водопад, Rup, Agile) башакин
эволюция методологий управления (водопад, Rup, Agile)   башакинэволюция методологий управления (водопад, Rup, Agile)   башакин
эволюция методологий управления (водопад, Rup, Agile) башакинWRider
 
Moscow js node.js enterprise development
Moscow js node.js enterprise developmentMoscow js node.js enterprise development
Moscow js node.js enterprise developmentPavel Tiunov
 
2013-04-06 02 Евгений Тюменцев. Message-oriented middlware
2013-04-06 02 Евгений Тюменцев. Message-oriented middlware2013-04-06 02 Евгений Тюменцев. Message-oriented middlware
2013-04-06 02 Евгений Тюменцев. Message-oriented middlwareОмские ИТ-субботники
 
Jbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterJbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterAleksandr Tarasov
 
Tarantool, .net, newsql
Tarantool, .net, newsqlTarantool, .net, newsql
Tarantool, .net, newsqlAnatoly Popov
 
Основы программирования на C++
Основы программирования на C++Основы программирования на C++
Основы программирования на C++Olga Maksimenkova
 
Как приручить реактивное программирование
Как приручить реактивное программированиеКак приручить реактивное программирование
Как приручить реактивное программированиеDotNetConf
 
Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Andrey Karpov
 
Современные методы конструирования в ПТКИ Укркранэнерго
Современные методы конструирования в ПТКИ УкркранэнергоСовременные методы конструирования в ПТКИ Укркранэнерго
Современные методы конструирования в ПТКИ УкркранэнергоTanya Gadzevych
 
Продолжаем говорить о микрооптимизациях .NET-приложений
Продолжаем говорить о микрооптимизациях .NET-приложенийПродолжаем говорить о микрооптимизациях .NET-приложений
Продолжаем говорить о микрооптимизациях .NET-приложенийAndrey Akinshin
 
Soft labs. достижима ли в c++ эффективность языка среднего уровня
Soft labs. достижима ли в c++ эффективность языка среднего уровняSoft labs. достижима ли в c++ эффективность языка среднего уровня
Soft labs. достижима ли в c++ эффективность языка среднего уровняLuxoftTraining
 
dotnext version of "Tarantool, .net, newsql"
dotnext version of "Tarantool, .net, newsql"dotnext version of "Tarantool, .net, newsql"
dotnext version of "Tarantool, .net, newsql"Anatoly Popov
 
Как мы экспериментируем в больших микросервисных системах
Как мы экспериментируем в больших микросервисных системахКак мы экспериментируем в больших микросервисных системах
Как мы экспериментируем в больших микросервисных системахEatDog
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаMikhail Chinkov
 

Similaire à 2013-11-09 03 Евгений Тюменцев. Подходы к реализации модели акторов (20)

почему буксует тайм менеджмент
почему буксует тайм менеджментпочему буксует тайм менеджмент
почему буксует тайм менеджмент
 
высокопроизводиетльные системы без доп затрат
высокопроизводиетльные системы без доп затратвысокопроизводиетльные системы без доп затрат
высокопроизводиетльные системы без доп затрат
 
2014-03-01 02 Евгений Тюменцев. Почему буксует тайм-менеджмент
2014-03-01 02 Евгений Тюменцев. Почему буксует тайм-менеджмент2014-03-01 02 Евгений Тюменцев. Почему буксует тайм-менеджмент
2014-03-01 02 Евгений Тюменцев. Почему буксует тайм-менеджмент
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?
 
эволюция методологий управления (водопад, Rup, Agile) башакин
эволюция методологий управления (водопад, Rup, Agile)   башакинэволюция методологий управления (водопад, Rup, Agile)   башакин
эволюция методологий управления (водопад, Rup, Agile) башакин
 
Moscow js node.js enterprise development
Moscow js node.js enterprise developmentMoscow js node.js enterprise development
Moscow js node.js enterprise development
 
2013-04-06 02 Евгений Тюменцев. Message-oriented middlware
2013-04-06 02 Евгений Тюменцев. Message-oriented middlware2013-04-06 02 Евгений Тюменцев. Message-oriented middlware
2013-04-06 02 Евгений Тюменцев. Message-oriented middlware
 
Jbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterJbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot Starter
 
Tarantool, .net, newsql
Tarantool, .net, newsqlTarantool, .net, newsql
Tarantool, .net, newsql
 
Основы программирования на C++
Основы программирования на C++Основы программирования на C++
Основы программирования на C++
 
C#5 What's new?
C#5 What's new?C#5 What's new?
C#5 What's new?
 
Как приручить реактивное программирование
Как приручить реактивное программированиеКак приручить реактивное программирование
Как приручить реактивное программирование
 
ТК.Субботник
ТК.СубботникТК.Субботник
ТК.Субботник
 
Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?
 
Современные методы конструирования в ПТКИ Укркранэнерго
Современные методы конструирования в ПТКИ УкркранэнергоСовременные методы конструирования в ПТКИ Укркранэнерго
Современные методы конструирования в ПТКИ Укркранэнерго
 
Продолжаем говорить о микрооптимизациях .NET-приложений
Продолжаем говорить о микрооптимизациях .NET-приложенийПродолжаем говорить о микрооптимизациях .NET-приложений
Продолжаем говорить о микрооптимизациях .NET-приложений
 
Soft labs. достижима ли в c++ эффективность языка среднего уровня
Soft labs. достижима ли в c++ эффективность языка среднего уровняSoft labs. достижима ли в c++ эффективность языка среднего уровня
Soft labs. достижима ли в c++ эффективность языка среднего уровня
 
dotnext version of "Tarantool, .net, newsql"
dotnext version of "Tarantool, .net, newsql"dotnext version of "Tarantool, .net, newsql"
dotnext version of "Tarantool, .net, newsql"
 
Как мы экспериментируем в больших микросервисных системах
Как мы экспериментируем в больших микросервисных системахКак мы экспериментируем в больших микросервисных системах
Как мы экспериментируем в больших микросервисных системах
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 

Plus de Омские ИТ-субботники

2017-08-12 01 Алексей Коровянский. Привет, ARKit!
2017-08-12 01 Алексей Коровянский. Привет, ARKit!2017-08-12 01 Алексей Коровянский. Привет, ARKit!
2017-08-12 01 Алексей Коровянский. Привет, ARKit!Омские ИТ-субботники
 
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKitОмские ИТ-субботники
 
2017-05-06 02 Илья Сиганов. Зачем учить машины?
2017-05-06 02 Илья Сиганов. Зачем учить машины?2017-05-06 02 Илья Сиганов. Зачем учить машины?
2017-05-06 02 Илья Сиганов. Зачем учить машины?Омские ИТ-субботники
 
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальноеОмские ИТ-субботники
 
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системыОмские ИТ-субботники
 
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOpsОмские ИТ-субботники
 
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидацииОмские ИТ-субботники
 
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...Омские ИТ-субботники
 
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...Омские ИТ-субботники
 
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторыОмские ИТ-субботники
 
2016-12-03 03 Евгений Тюменцев. DSL на коленке
2016-12-03 03 Евгений Тюменцев. DSL на коленке2016-12-03 03 Евгений Тюменцев. DSL на коленке
2016-12-03 03 Евгений Тюменцев. DSL на коленкеОмские ИТ-субботники
 
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборотОмские ИТ-субботники
 
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...Омские ИТ-субботники
 
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность 2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность Омские ИТ-субботники
 
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?Омские ИТ-субботники
 
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикерОмские ИТ-субботники
 
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
2016-10-01 01 Звиад Кардава. Welcome to Internet of ThingsОмские ИТ-субботники
 

Plus de Омские ИТ-субботники (20)

2017-08-12 01 Алексей Коровянский. Привет, ARKit!
2017-08-12 01 Алексей Коровянский. Привет, ARKit!2017-08-12 01 Алексей Коровянский. Привет, ARKit!
2017-08-12 01 Алексей Коровянский. Привет, ARKit!
 
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
 
2017-05-06 02 Илья Сиганов. Зачем учить машины?
2017-05-06 02 Илья Сиганов. Зачем учить машины?2017-05-06 02 Илья Сиганов. Зачем учить машины?
2017-05-06 02 Илья Сиганов. Зачем учить машины?
 
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
 
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
 
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
 
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
 
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
 
2017-02-04 02 Яков Лило. Решение задач
2017-02-04 02 Яков Лило. Решение задач2017-02-04 02 Яков Лило. Решение задач
2017-02-04 02 Яков Лило. Решение задач
 
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
 
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
 
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
 
2016-12-03 03 Евгений Тюменцев. DSL на коленке
2016-12-03 03 Евгений Тюменцев. DSL на коленке2016-12-03 03 Евгений Тюменцев. DSL на коленке
2016-12-03 03 Евгений Тюменцев. DSL на коленке
 
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
 
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
 
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность 2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
 
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
 
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
 
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
 
2016-09-17 03 Василий Полозов. WebRTC
2016-09-17 03 Василий Полозов. WebRTC2016-09-17 03 Василий Полозов. WebRTC
2016-09-17 03 Василий Полозов. WebRTC
 

2013-11-09 03 Евгений Тюменцев. Подходы к реализации модели акторов