47
Programação Aplicada Ao Direito Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br) Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

ProgramaçãoAplicada

Ao Direito

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 2: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Dia 05 - Introdução ao Docassemble

Linguagens Utilizadas: Python, YAML e

Markdown

Exercício Prático: Olá, Mundo! em

Docassemble

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 3: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Dia 05 - Introdução ao Docassemble

Linguagens Utilizadas: Python, YAML e

Markdown

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 4: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Relembrando...

Docassemble

É um sistema em código aberto usado para entrevistas guiadas e montagem de documentos (document assembly).

Baseado na informação coletada, as entrevistas podem gerar documentos em PDF, RTF, ou DOCX, que podem ser baixados ou enviados por e-mail.

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 5: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Linguagens Utilizadas

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 6: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Python

Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos.

Python se destaca por:- Código enxuto e de Fácil leitura do código;- Adequado para processamento de textos e de dados científicos;- Pode ser utilizado na criação de CGIs para páginas dinâmicas para a web.

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 7: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 8: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 9: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

YAML - “YAML Ain’t Markup Language”

YAML é uma linguagem de serialização legível por humanos.

YAML é utilizado para:- Armazenar, transmitir e (re)construir estruturas de dados;- Representar e formatar dados;- Simplificar sintaxe de forma facilmente compreensíveil.

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 10: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

YAML: Serialização

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 11: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

?

Page 12: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Serialização - Exemplo

População?Nome do País?

Regiões?

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 13: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Serialização - Estrutura de Dados

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 14: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Serialização - Estrutura de Dados

{ "Endereco do Objeto": { "Regioes": "Norte, Nordeste, Centro-Oeste, Sudeste, Sul", "Nome": "Brasil", "Populacao": "210.000.000" }}

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 15: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

{ "Endereco do Objeto": { "Regioes": "Norte, Nordeste, Centro-Oeste, Sudeste, Sul", "Nome": "Brasil", "Populacao": "210.000.000" }}

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 16: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

{ "Endereco do Objeto": { "Regioes": "Norte, Nordeste, Centro-Oeste, Sudeste, Sul", "Nome": "Brasil", "Populacao": "210.000.000" }}

Preciso escrever

TUDO isso?!?

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 17: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

NÃO! ;)

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 18: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

YAML: Legível por Humanos

Sintaxe YAML

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 19: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Comparação: YAML x Outras Linguagens

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 20: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Markdown

Markdown é uma linguagem de marcação simplificada para formatar texto.

Markdown possibilita:- Formatação fácil e inteligente a partir de texto simples;- Rápida elaboração de websites com estruturas bem definidas;- Exportar em HTML e outros formados;

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 21: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Resultado: Markdown e HTML

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 22: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Comparação: Markdown x HTMLC

op

yright 2019 R

ob

erto N

ovaes ( w

ww

.rob

erton

ovaes.co

m.b

r)

Page 23: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Vamos fazer um aquecimento?

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 24: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Markdown

Tarefas:1) Acesse o StackEdit

2) Utilize a línguagem Markdown para copiar o modelo (tinyurl.com/yxvkg6rh)

Dica: Use o google.comCopyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 25: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 26: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 27: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 28: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Dia 05 - Introdução ao Docassemble

Exercício Prático: Olá, Mundo! em

Docassemble

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 29: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Exercício Prático: Hello World!

Tarefas:1) Acesse docs.silexsistemas.com.br

2) Crie uma conta de usuário

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 30: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Exercício Prático: Hello World!

Prontos?

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 31: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Exercício Prático: Hello World!

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 32: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Exercício Prático: Hello World!

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 33: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Exercício Prático: Hello World!

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 34: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Exercício Prático: Hello World!C

op

yright 2019 R

ob

erto N

ovaes ( w

ww

.rob

erton

ovaes.co

m.b

r)

Page 35: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Exercício Prático: Hello World!C

op

yright 2019 R

ob

erto N

ovaes ( w

ww

.rob

erton

ovaes.co

m.b

r)

Page 36: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Exercício Prático: Hello World!C

op

yright 2019 R

ob

erto N

ovaes ( w

ww

.rob

erton

ovaes.co

m.b

r)

Page 37: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Exercício Prático: Hello World!

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 38: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Exercício Prático: Hello World!

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 39: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Exercício Prático: Hello World!

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 40: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Exercício Prático: Hello World!

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 41: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Exercício Prático: Hello World!

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 42: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Resultado...

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 43: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 44: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Tarefa Extra

-> Utilize o seu recém-adquirido conhecimento de Markdown para

personalizar o seu Hello World.

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 45: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Tarefa Extra

-> Utilize o seu recém-adquirido conhecimento de Markdown para

personalizar o seu Hello World.

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 46: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Obrigado!

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)

Page 47: Programação Aplicada Ao Direito - da UFMG · 11/18/2019  · Python é uma linguagem de alto nível, que possui forte tipagem dinâmica e suporta o paradigma orientado a objetos

Breaking the Law

Realização:

Copyright 2019 Roberto Novaes ( www.robertonovaes.com.br)Copyright 2019 SiLEX Sistemas (www.silexsistemas.com.br)

Apoio: