SlideShare a Scribd company logo
1 of 16
Download to read offline
Эпохи в разработке
программного
обеспечения
26.05.2016
2
• Дадеркин Максим
• Ведущий инженер-программист в EPAM
Systems
• JAVA Developer (Scala, Kotlin, etc.)
КТО Я?
3
1. Эпохи в разработке ПО
2. Как выглядят WEB-приложения (взгляд через призму в 10 лет)
3. Куда смотреть и что изучать (или тренды в развитии ПО)
ПЛАН
4
2
1
3
4
5
Мейнфрейм • Конец 60-х
ЭПОХИ В РАЗРАБОТКЕ ПО
ПК
Клиент-сервер
Интернет &
Мобильные
Облака &
Большие данные
• Конец 60-х (ARPANET)
• 2001 (Первый телефон с Java)
• Начало 2000-х
• Конец 60-х
• Конец 60-х, середина 70-х
5
ЭПОХИ В РАЗРАБОТКЕ ПО
Производительность
Время
Мейнфрейм
ПК
Клиент-Сервер
Интернет/Мобильные
Облака & Большие данные
6
WEB-ПРИЛОЖЕНИЕ (2005)
WEB-браузер
WEB-сервер
Система отчётов
БД
7
WEB-ПРИЛОЖЕНИЕ (2016)
WEB-браузер IOS Windows PhoneAndroid
Backend / Frontend
Микросервисы Микросервисы Микросервисы
SQL
SQL
SQL
SQL
NOSQL
Bulk load MQ
БД
Машинное
обучение
BI/Отчёты
Предсказательный
анализ
Hadoop
8
ТОП
ТРЕНДОВ
2016+
9
Интернет вещей (IoT)
10
Интернет вещей (IoT)
• Углубленное понимание
• Принятия решения
• Обслуживание клиента
Уменьшить (исключить) необходимость участия человека в
процессах.
Цель
Основные аспекты
11
Виртуальная / Дополненная реальность
12
Виртуальная / Дополненная реальность
13
Blockchain
14
Blockchain
• Криптовалюты (Bitcoin, Litecoin и др.)
Область применения
• A blockchain – originally, block chain – is a distributed database that maintains a continuously-growing list of data records hardened against tampering and revision. It consists
of data structure blocks – which hold exclusively data in initial blockchain implementations, and both data and programs in some (for example, Ethereum) of the more recent
implementations – with each block holding batches of individual transactions and the results of any blockchain executables. Each block contains a timestamp and information
linking it to a previous block.
• The block chain is seen as the main technical innovation of bitcoin, where it serves as the public ledger of all bitcoin transactions. Bitcoin is peer-to-peer; every user is
allowed to connect to the network, send new transactions to it, verify transactions, and create new blocks, which is why it is called permissionless. This original design has
been the inspiration for other cryptocurrencies and distributed databases.
• The block chain consists of blocks that hold timestamped batches of valid transactions. Each block includes the hash of the prior block, linking the blocks together. The linked
blocks form a chain, with each additional block reinforcing those before it, thus giving the database type its name.
• A block chain implementation consists of two kinds of records: transactions and blocks.
• Transactions are the content to be stored in the block chain. Transactions are created by participants using the system. In the case of cryptocurrencies, a transaction is
created any time a cryptocurrency owner sends cryptocurrency to someone.
• System users create transactions that are passed from node to node on a best-effort basis. The system implementing the block chain defines a valid transaction. In
cryptocurrency applications, a valid transaction must be digitally signed, spend one or more unspent outputs of previous transactions, and the sum of transaction outputs must
not exceed the sum of inputs.
• Blocks record and confirm when and in what sequence transactions enter and are logged in the block chain. Blocks are created by users known as "miners" who use specialized
software or equipment designed specifically to create blocks.
15
Blockchain
16
СПАСИБО
ЗА ВНИМАНИЕ

More Related Content

What's hot

"Разрушаем .NET мифы" Сергей Калинец
"Разрушаем .NET мифы" Сергей Калинец"Разрушаем .NET мифы" Сергей Калинец
"Разрушаем .NET мифы" Сергей КалинецFwdays
 
РИФ 2016, Tarantool – кейсы использования
РИФ 2016, Tarantool – кейсы использованияРИФ 2016, Tarantool – кейсы использования
РИФ 2016, Tarantool – кейсы использованияТарасов Константин
 
"Архитектурный шаблон Reflex - новый подход к разработке клиент-серверных при...
"Архитектурный шаблон Reflex - новый подход к разработке клиент-серверных при..."Архитектурный шаблон Reflex - новый подход к разработке клиент-серверных при...
"Архитектурный шаблон Reflex - новый подход к разработке клиент-серверных при...Fwdays
 
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...Ontico
 
Sql Server: Database Mirroring -> Availability group migration
Sql Server: Database Mirroring -> Availability group migrationSql Server: Database Mirroring -> Availability group migration
Sql Server: Database Mirroring -> Availability group migrationAnatoly Popov
 
станислав мехоношин «инфраструктура для разработки в один клик, или Vagrant д...
станислав мехоношин «инфраструктура для разработки в один клик, или Vagrant д...станислав мехоношин «инфраструктура для разработки в один клик, или Vagrant д...
станислав мехоношин «инфраструктура для разработки в один клик, или Vagrant д...DataArt
 
Платформа Skewer
Платформа SkewerПлатформа Skewer
Платформа SkewerTabtabusconf
 
Балансировка нагрузки веб-серверов
Балансировка нагрузки веб-серверовБалансировка нагрузки веб-серверов
Балансировка нагрузки веб-серверовEkaterina Giganova
 
Быстрый в имплементации и в работе мониторинг с использованием ELK
Быстрый в имплементации и в работе мониторинг с использованием ELKБыстрый в имплементации и в работе мониторинг с использованием ELK
Быстрый в имплементации и в работе мониторинг с использованием ELKEatDog
 
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...Tanya Denisyuk
 
Разработка high load системы на .NET Core
Разработка high load системы на .NET CoreРазработка high load системы на .NET Core
Разработка high load системы на .NET CoreAndrew Gubskiy
 
Сергей Орлов
Сергей ОрловСергей Орлов
Сергей ОрловCodeFest
 
vi stories: миграция на .NET Core
vi stories: миграция на .NET Corevi stories: миграция на .NET Core
vi stories: миграция на .NET CoreAndrew Gubskiy
 
Тестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаТестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаSQALab
 
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...Ontico
 
03 update of jira confluence
03 update of jira confluence03 update of jira confluence
03 update of jira confluenceAndrew Lesnyh
 
Tech Talks @NSU: Архитектура Skype
Tech Talks @NSU: Архитектура SkypeTech Talks @NSU: Архитектура Skype
Tech Talks @NSU: Архитектура SkypeTech Talks @NSU
 

What's hot (18)

"Разрушаем .NET мифы" Сергей Калинец
"Разрушаем .NET мифы" Сергей Калинец"Разрушаем .NET мифы" Сергей Калинец
"Разрушаем .NET мифы" Сергей Калинец
 
РИФ 2016, Tarantool – кейсы использования
РИФ 2016, Tarantool – кейсы использованияРИФ 2016, Tarantool – кейсы использования
РИФ 2016, Tarantool – кейсы использования
 
"Архитектурный шаблон Reflex - новый подход к разработке клиент-серверных при...
"Архитектурный шаблон Reflex - новый подход к разработке клиент-серверных при..."Архитектурный шаблон Reflex - новый подход к разработке клиент-серверных при...
"Архитектурный шаблон Reflex - новый подход к разработке клиент-серверных при...
 
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
 
Sql Server: Database Mirroring -> Availability group migration
Sql Server: Database Mirroring -> Availability group migrationSql Server: Database Mirroring -> Availability group migration
Sql Server: Database Mirroring -> Availability group migration
 
станислав мехоношин «инфраструктура для разработки в один клик, или Vagrant д...
станислав мехоношин «инфраструктура для разработки в один клик, или Vagrant д...станислав мехоношин «инфраструктура для разработки в один клик, или Vagrant д...
станислав мехоношин «инфраструктура для разработки в один клик, или Vagrant д...
 
Платформа Skewer
Платформа SkewerПлатформа Skewer
Платформа Skewer
 
Балансировка нагрузки веб-серверов
Балансировка нагрузки веб-серверовБалансировка нагрузки веб-серверов
Балансировка нагрузки веб-серверов
 
Take a Look at Akka-Java
Take a Look at Akka-JavaTake a Look at Akka-Java
Take a Look at Akka-Java
 
Быстрый в имплементации и в работе мониторинг с использованием ELK
Быстрый в имплементации и в работе мониторинг с использованием ELKБыстрый в имплементации и в работе мониторинг с использованием ELK
Быстрый в имплементации и в работе мониторинг с использованием ELK
 
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
 
Разработка high load системы на .NET Core
Разработка high load системы на .NET CoreРазработка high load системы на .NET Core
Разработка high load системы на .NET Core
 
Сергей Орлов
Сергей ОрловСергей Орлов
Сергей Орлов
 
vi stories: миграция на .NET Core
vi stories: миграция на .NET Corevi stories: миграция на .NET Core
vi stories: миграция на .NET Core
 
Тестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаТестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях Интернета
 
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
 
03 update of jira confluence
03 update of jira confluence03 update of jira confluence
03 update of jira confluence
 
Tech Talks @NSU: Архитектура Skype
Tech Talks @NSU: Архитектура SkypeTech Talks @NSU: Архитектура Skype
Tech Talks @NSU: Архитектура Skype
 

Similar to Эпохи в разработке программного обеспечения

Пользователи Блокчейн. Спикер: Вадим Маковский
Пользователи Блокчейн. Спикер: Вадим МаковскийПользователи Блокчейн. Спикер: Вадим Маковский
Пользователи Блокчейн. Спикер: Вадим МаковскийCyber Fund
 
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.Alexander Frolov
 
Микросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesМикросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesDenis Izmaylov
 
Проблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDNПроблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDNARCCN
 
Решения для мониторинга ИТ-инфраструктуры. Как правильно сделать выбор? Часть 1
Решения для мониторинга ИТ-инфраструктуры.  Как правильно сделать выбор? Часть 1Решения для мониторинга ИТ-инфраструктуры.  Как правильно сделать выбор? Часть 1
Решения для мониторинга ИТ-инфраструктуры. Как правильно сделать выбор? Часть 1СвязьКомплект
 
Контроль услуг и приложений в центрах обработки данных нового поколения
Контроль услуг и приложений в центрах обработки данных нового поколенияКонтроль услуг и приложений в центрах обработки данных нового поколения
Контроль услуг и приложений в центрах обработки данных нового поколенияCisco Russia
 
введение в интернет
введение в интернетвведение в интернет
введение в интернетUlyana1973
 
RUNOS OpenFlow controller (ru)
RUNOS OpenFlow controller (ru)RUNOS OpenFlow controller (ru)
RUNOS OpenFlow controller (ru)Alexander Shalimov
 
IoT Protocols #iotconfua
IoT Protocols #iotconfuaIoT Protocols #iotconfua
IoT Protocols #iotconfuaAndy Shutka
 
Стек протоколов для IoT. Пример использования SNMP
Стек протоколов для IoT. Пример использования SNMPСтек протоколов для IoT. Пример использования SNMP
Стек протоколов для IoT. Пример использования SNMPIntersog
 
Отчет по проектах ЦПИКС
Отчет по проектах ЦПИКСОтчет по проектах ЦПИКС
Отчет по проектах ЦПИКСARCCN
 
Подходы к мониторингу информационных систем
Подходы к мониторингу информационных системПодходы к мониторингу информационных систем
Подходы к мониторингу информационных системCisco Russia
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Ontico
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, SkypeOntico
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Coit-people
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Alexei Lupan
 
Решения Brocade для построения IP сетей будущего
Решения Brocade для построения IP сетей будущегоРешения Brocade для построения IP сетей будущего
Решения Brocade для построения IP сетей будущегоARCCN
 
InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015InterSystems
 

Similar to Эпохи в разработке программного обеспечения (20)

Пользователи Блокчейн. Спикер: Вадим Маковский
Пользователи Блокчейн. Спикер: Вадим МаковскийПользователи Блокчейн. Спикер: Вадим Маковский
Пользователи Блокчейн. Спикер: Вадим Маковский
 
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.
 
Микросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesМикросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и Kubernetes
 
Проблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDNПроблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDN
 
Решения для мониторинга ИТ-инфраструктуры. Как правильно сделать выбор? Часть 1
Решения для мониторинга ИТ-инфраструктуры.  Как правильно сделать выбор? Часть 1Решения для мониторинга ИТ-инфраструктуры.  Как правильно сделать выбор? Часть 1
Решения для мониторинга ИТ-инфраструктуры. Как правильно сделать выбор? Часть 1
 
Контроль услуг и приложений в центрах обработки данных нового поколения
Контроль услуг и приложений в центрах обработки данных нового поколенияКонтроль услуг и приложений в центрах обработки данных нового поколения
Контроль услуг и приложений в центрах обработки данных нового поколения
 
введение в интернет
введение в интернетвведение в интернет
введение в интернет
 
RUNOS OpenFlow controller (ru)
RUNOS OpenFlow controller (ru)RUNOS OpenFlow controller (ru)
RUNOS OpenFlow controller (ru)
 
IoT Conf UA 2016
IoT Conf UA 2016IoT Conf UA 2016
IoT Conf UA 2016
 
IoT Protocols #iotconfua
IoT Protocols #iotconfuaIoT Protocols #iotconfua
IoT Protocols #iotconfua
 
Стек протоколов для IoT. Пример использования SNMP
Стек протоколов для IoT. Пример использования SNMPСтек протоколов для IoT. Пример использования SNMP
Стек протоколов для IoT. Пример использования SNMP
 
Отчет по проектах ЦПИКС
Отчет по проектах ЦПИКСОтчет по проектах ЦПИКС
Отчет по проектах ЦПИКС
 
Подходы к мониторингу информационных систем
Подходы к мониторингу информационных системПодходы к мониторингу информационных систем
Подходы к мониторингу информационных систем
 
Blockchain & Ecommerce (part 1)
Blockchain & Ecommerce (part 1)Blockchain & Ecommerce (part 1)
Blockchain & Ecommerce (part 1)
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, Skype
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)
 
Решения Brocade для построения IP сетей будущего
Решения Brocade для построения IP сетей будущегоРешения Brocade для построения IP сетей будущего
Решения Brocade для построения IP сетей будущего
 
InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015
 

More from Vitebsk Miniq

Runtime compilation and code execution in groovy
Runtime compilation and code execution in groovyRuntime compilation and code execution in groovy
Runtime compilation and code execution in groovyVitebsk Miniq
 
The 5 Laws of Software Estimates
The 5 Laws of Software EstimatesThe 5 Laws of Software Estimates
The 5 Laws of Software EstimatesVitebsk Miniq
 
Latest & Greatest Observability Release 7.9
Latest & Greatest Observability Release 7.9Latest & Greatest Observability Release 7.9
Latest & Greatest Observability Release 7.9Vitebsk Miniq
 
Тестирование Spring-based приложений
Тестирование Spring-based приложенийТестирование Spring-based приложений
Тестирование Spring-based приложенийVitebsk Miniq
 
Семантический поиск - что это, как работает и чем отличается от просто поиска
Семантический поиск - что это, как работает и чем отличается от просто поискаСемантический поиск - что это, как работает и чем отличается от просто поиска
Семантический поиск - что это, как работает и чем отличается от просто поискаVitebsk Miniq
 
Локализационное тестирование - это не только перевод
Локализационное тестирование - это не только переводЛокализационное тестирование - это не только перевод
Локализационное тестирование - это не только переводVitebsk Miniq
 
ISTQB Сертификация тестировщиков: быть или не быть?
ISTQB Сертификация тестировщиков: быть или не быть?ISTQB Сертификация тестировщиков: быть или не быть?
ISTQB Сертификация тестировщиков: быть или не быть?Vitebsk Miniq
 
Apollo GraphQL Federation
Apollo GraphQL FederationApollo GraphQL Federation
Apollo GraphQL FederationVitebsk Miniq
 
Who is a functional tester
Who is a functional testerWho is a functional tester
Who is a functional testerVitebsk Miniq
 
Вперед в прошлое
Вперед в прошлоеВперед в прошлое
Вперед в прошлоеVitebsk Miniq
 
CloudFormation experience
CloudFormation experienceCloudFormation experience
CloudFormation experienceVitebsk Miniq
 
Learning Intelligence: the story of mine
Learning Intelligence: the story of mineLearning Intelligence: the story of mine
Learning Intelligence: the story of mineVitebsk Miniq
 
Как программисты могут спасти мир
Как программисты могут спасти мирКак программисты могут спасти мир
Как программисты могут спасти мирVitebsk Miniq
 
Использование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложенийИспользование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложенийVitebsk Miniq
 
Distributed tracing system in action. Instana Tracing.
Distributed tracing system in action. Instana Tracing.Distributed tracing system in action. Instana Tracing.
Distributed tracing system in action. Instana Tracing.Vitebsk Miniq
 
Насорил - убери!
Насорил - убери!Насорил - убери!
Насорил - убери!Vitebsk Miniq
 
Styled-components. Что? Когда? И зачем?
Styled-components. Что? Когда? И зачем?Styled-components. Что? Когда? И зачем?
Styled-components. Что? Когда? И зачем?Vitebsk Miniq
 
Красные флаги и розовые очки
Красные флаги и розовые очкиКрасные флаги и розовые очки
Красные флаги и розовые очкиVitebsk Miniq
 
CSS. Практика
CSS. ПрактикаCSS. Практика
CSS. ПрактикаVitebsk Miniq
 

More from Vitebsk Miniq (20)

Runtime compilation and code execution in groovy
Runtime compilation and code execution in groovyRuntime compilation and code execution in groovy
Runtime compilation and code execution in groovy
 
The 5 Laws of Software Estimates
The 5 Laws of Software EstimatesThe 5 Laws of Software Estimates
The 5 Laws of Software Estimates
 
Latest & Greatest Observability Release 7.9
Latest & Greatest Observability Release 7.9Latest & Greatest Observability Release 7.9
Latest & Greatest Observability Release 7.9
 
Тестирование Spring-based приложений
Тестирование Spring-based приложенийТестирование Spring-based приложений
Тестирование Spring-based приложений
 
Семантический поиск - что это, как работает и чем отличается от просто поиска
Семантический поиск - что это, как работает и чем отличается от просто поискаСемантический поиск - что это, как работает и чем отличается от просто поиска
Семантический поиск - что это, как работает и чем отличается от просто поиска
 
Локализационное тестирование - это не только перевод
Локализационное тестирование - это не только переводЛокализационное тестирование - это не только перевод
Локализационное тестирование - это не только перевод
 
ISTQB Сертификация тестировщиков: быть или не быть?
ISTQB Сертификация тестировщиков: быть или не быть?ISTQB Сертификация тестировщиков: быть или не быть?
ISTQB Сертификация тестировщиков: быть или не быть?
 
Apollo GraphQL Federation
Apollo GraphQL FederationApollo GraphQL Federation
Apollo GraphQL Federation
 
Who is a functional tester
Who is a functional testerWho is a functional tester
Who is a functional tester
 
Crawling healthy
Crawling healthyCrawling healthy
Crawling healthy
 
Вперед в прошлое
Вперед в прошлоеВперед в прошлое
Вперед в прошлое
 
CloudFormation experience
CloudFormation experienceCloudFormation experience
CloudFormation experience
 
Learning Intelligence: the story of mine
Learning Intelligence: the story of mineLearning Intelligence: the story of mine
Learning Intelligence: the story of mine
 
Как программисты могут спасти мир
Как программисты могут спасти мирКак программисты могут спасти мир
Как программисты могут спасти мир
 
Использование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложенийИспользование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложений
 
Distributed tracing system in action. Instana Tracing.
Distributed tracing system in action. Instana Tracing.Distributed tracing system in action. Instana Tracing.
Distributed tracing system in action. Instana Tracing.
 
Насорил - убери!
Насорил - убери!Насорил - убери!
Насорил - убери!
 
Styled-components. Что? Когда? И зачем?
Styled-components. Что? Когда? И зачем?Styled-components. Что? Когда? И зачем?
Styled-components. Что? Когда? И зачем?
 
Красные флаги и розовые очки
Красные флаги и розовые очкиКрасные флаги и розовые очки
Красные флаги и розовые очки
 
CSS. Практика
CSS. ПрактикаCSS. Практика
CSS. Практика
 

Эпохи в разработке программного обеспечения

  • 2. 2 • Дадеркин Максим • Ведущий инженер-программист в EPAM Systems • JAVA Developer (Scala, Kotlin, etc.) КТО Я?
  • 3. 3 1. Эпохи в разработке ПО 2. Как выглядят WEB-приложения (взгляд через призму в 10 лет) 3. Куда смотреть и что изучать (или тренды в развитии ПО) ПЛАН
  • 4. 4 2 1 3 4 5 Мейнфрейм • Конец 60-х ЭПОХИ В РАЗРАБОТКЕ ПО ПК Клиент-сервер Интернет & Мобильные Облака & Большие данные • Конец 60-х (ARPANET) • 2001 (Первый телефон с Java) • Начало 2000-х • Конец 60-х • Конец 60-х, середина 70-х
  • 5. 5 ЭПОХИ В РАЗРАБОТКЕ ПО Производительность Время Мейнфрейм ПК Клиент-Сервер Интернет/Мобильные Облака & Большие данные
  • 7. 7 WEB-ПРИЛОЖЕНИЕ (2016) WEB-браузер IOS Windows PhoneAndroid Backend / Frontend Микросервисы Микросервисы Микросервисы SQL SQL SQL SQL NOSQL Bulk load MQ БД Машинное обучение BI/Отчёты Предсказательный анализ Hadoop
  • 10. 10 Интернет вещей (IoT) • Углубленное понимание • Принятия решения • Обслуживание клиента Уменьшить (исключить) необходимость участия человека в процессах. Цель Основные аспекты
  • 14. 14 Blockchain • Криптовалюты (Bitcoin, Litecoin и др.) Область применения • A blockchain – originally, block chain – is a distributed database that maintains a continuously-growing list of data records hardened against tampering and revision. It consists of data structure blocks – which hold exclusively data in initial blockchain implementations, and both data and programs in some (for example, Ethereum) of the more recent implementations – with each block holding batches of individual transactions and the results of any blockchain executables. Each block contains a timestamp and information linking it to a previous block. • The block chain is seen as the main technical innovation of bitcoin, where it serves as the public ledger of all bitcoin transactions. Bitcoin is peer-to-peer; every user is allowed to connect to the network, send new transactions to it, verify transactions, and create new blocks, which is why it is called permissionless. This original design has been the inspiration for other cryptocurrencies and distributed databases. • The block chain consists of blocks that hold timestamped batches of valid transactions. Each block includes the hash of the prior block, linking the blocks together. The linked blocks form a chain, with each additional block reinforcing those before it, thus giving the database type its name. • A block chain implementation consists of two kinds of records: transactions and blocks. • Transactions are the content to be stored in the block chain. Transactions are created by participants using the system. In the case of cryptocurrencies, a transaction is created any time a cryptocurrency owner sends cryptocurrency to someone. • System users create transactions that are passed from node to node on a best-effort basis. The system implementing the block chain defines a valid transaction. In cryptocurrency applications, a valid transaction must be digitally signed, spend one or more unspent outputs of previous transactions, and the sum of transaction outputs must not exceed the sum of inputs. • Blocks record and confirm when and in what sequence transactions enter and are logged in the block chain. Blocks are created by users known as "miners" who use specialized software or equipment designed specifically to create blocks.