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

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

Upload: vitebsk-miniq

Post on 21-Feb-2017

87 views

Category:

Software


3 download

TRANSCRIPT

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

Эпохи в разработке

программного

обеспечения

26.05.2016

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

2

• Дадеркин Максим

• Ведущий инженер-программист в EPAM

Systems

• JAVA Developer (Scala, Kotlin, etc.)

КТО Я?

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

3

1. Эпохи в разработке ПО

2. Как выглядят WEB-приложения (взгляд через призму в 10 лет)

3. Куда смотреть и что изучать (или тренды в развитии ПО)

ПЛАН

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

4

2

1

3

4

5

Мейнфрейм • Конец 60-х

ЭПОХИ В РАЗРАБОТКЕ ПО

ПК

Клиент-сервер

Интернет &

Мобильные

Облака &

Большие данные

• Конец 60-х (ARPANET)

• 2001 (Первый телефон с Java)

• Начало 2000-х

• Конец 60-х

• Конец 60-х, середина 70-х

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

5

ЭПОХИ В РАЗРАБОТКЕ ПО

Производительность

Время

Мейнфрейм

ПК

Клиент-Сервер

Интернет/Мобильные

Облака & Большие данные

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

6

WEB-ПРИЛОЖЕНИЕ (2005)

WEB-браузер

WEB-сервер

Система отчётов

БД

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

7

WEB-ПРИЛОЖЕНИЕ (2016)

WEB-браузер IOS Windows PhoneAndroid

Backend / Frontend

Микросервисы Микросервисы Микросервисы

SQLSQL

SQLSQL

NOSQL

Bulk load MQ

БД

Машинное

обучениеBI/Отчёты

Предсказательный

анализ

Hadoop

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

8

ТОП

ТРЕНДОВ

2016+

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

9

Интернет вещей (IoT)

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

10

Интернет вещей (IoT)

• Углубленное понимание

• Принятия решения

• Обслуживание клиента

Уменьшить (исключить) необходимость участия человека в

процессах.

Цель

Основные аспекты

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

11

Виртуальная / Дополненная реальность

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

12

Виртуальная / Дополненная реальность

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

13

Blockchain

Page 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.

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

15

Blockchain

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

16

СПАСИБО

ЗА ВНИМАНИЕ