Mostrar mensagens com a etiqueta Teste. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Teste. Mostrar todas as mensagens

domingo, 24 de novembro de 2019

Tunel pedonal : Teste de Geração de Vídeo Dinamico




Apresentando um vídeo em página do Blog



Estático

Construído em 1918 este túnel liga o centro de Campinas a Vila Industrial, passando por baixo do complexo ferroviário da Cia Paulista. Se é sua primeira visita em nosso canal, o Complexo FEPASA é a união das diversas ferrovias que co-existiram em Campinas, a saber: Cia Paulista, Cia Mogiana, Cia Funilense e Sorocabana.

Neste enorme complexo existiam inúmeras oficinas, páteos de manobra e grande fluxo de trens, por isso a cidade acabou sendo dividida em duas partes, o que dificultava a circulação das pessoas.

Pensando nisso em 1918 a Cia Paulista construiu um túnel com 200 metros de comprimento interligando a cidade ao bairro de operários e além. Foi um lugar muito concorrido e movimentado ao longo dos seus 100 anos.

Tem inúmeras historias que fazem parte da lenda de Campinas, fantasmas, drogados, mendigos, ladroes e pessoas comuns fizeram parte da sua longa existência.

Como bônus vamos visitar a Estação Cultura bem no dia do Juramento a Bandeiro dos jovens alistados, ouça ao fundo suas vozes em coro.

Visite o Complexo FEPASA valorize a memoria ferroviária Paulista.


#Campinas #EstaçãoCultura #TunelCiaPaulista #TiroDeGuerra #Juramento #Bandeira #Exercito #CiaPaulista #CiaMogiana #MemoriaFerroviaria #Trilhos #Carris #Trem #Estaçao #Jovens #Juventude #Plataforma #Tunel #engenharia




domingo, 13 de setembro de 2015

🧠 Structured Programming (Dijkstra) — A Revolução Silenciosa que Salvou o Software

 

Bellacosa Mainframe fala sobre o legado Dijkstra : Structured Programming

🧠 Structured Programming (Dijkstra) — A Revolução Silenciosa que Salvou o Software

☕ Um Café no Bellacosa Mainframe

Nos primórdios da programação, escrever código era mais parecido com montar uma gambiarra elétrica do que com engenharia. Fios cruzados, saltos imprevisíveis e um único erro podia derrubar tudo. Foi nesse caos que surgiu uma ideia simples — e revolucionária:

💡 Programas deveriam ser estruturados, previsíveis e compreensíveis.

O nome por trás dessa virada?


👉 Edsger W. Dijkstra — um dos maiores gênios da computação.


🏛️ Antes da Revolução: O Velho Oeste do Código

Nos anos 50 e início dos 60:
  • Programas eram gigantescos blocos lineares

  • Cheios de saltos incondicionais

  • Manutenção era um pesadelo

  • Bugs eram quase impossíveis de rastrear

O principal culpado? 😈

👉 O famigerado GOTO

Um comando que dizia:

“Pare o que está fazendo e vá executar ali no meio do programa.”

Resultado: o famoso spaghetti code 🍝


💣 A Carta que Mudou Tudo

Em 1968, Dijkstra publicou uma carta histórica:

👉 “Go To Statement Considered Harmful”

Essa publicação virou um terremoto intelectual na área.

Ele não estava apenas criticando um comando — estava propondo uma nova forma de pensar software.


🧱 O Conceito Central: Programas Devem Ter Estrutura

Structured Programming defende que todo programa pode ser construído usando apenas três estruturas de controle:

1️⃣ Sequência

Executar instruções na ordem.

A
B
C

2️⃣ Seleção (Decisão)

IF condição
A
ELSE
B
END-IF

3️⃣ Iteração (Repetição)

WHILE condição
A
END-WHILE

💡 Só isso. Sem saltos caóticos.


🏗️ O Impacto no Mainframe

https://i.ebayimg.com/images/g/UP4AAOSwjTlnBJCl/s-l1200.png
Folha de Codificacao COBOL
https://www.leapwork.com/hs-fs/hubfs/Blog%20Images/MicrosoftTeams-image.png?height=329&name=MicrosoftTeams-image.png&width=329
Terminal 3270
https://attachment.tapatalk-cdn.com/2988/202003/14238_34a44305c61df33e1c21eb07e30ba66d.png
Programa COBOL

Structured Programming influenciou diretamente:

  • COBOL moderno (COBOL-74 em diante)

  • Pascal (projetado para ensino estruturado)

  • C

  • Ada

  • praticamente todas as linguagens posteriores

No COBOL, surgiram práticas como:

  • PERFORM estruturado

  • END-IF, END-PERFORM

  • eliminação de GO TO sempre que possível

💬 Nos ambientes corporativos, isso foi decisivo para sistemas críticos sobreviverem décadas.


☕ Comentário Bellacosa Mainframe

Se você já abriu um programa legado cheio de:

GO TO ERRO-999
GO TO SAIDA
GO TO VOLTA-LOOP
GO TO TRATA-ABEND

Você sabe exatamente por que Dijkstra virou uma lenda 😅

Structured Programming não é frescura acadêmica.

👉 É o que permite um sistema bancário rodar 40 anos sem colapsar.


🕵️ Curiosidades e Bastidores

🧩 1) Dijkstra odiava computadores “bagunçados”

Ele acreditava que programação deveria ser uma disciplina matemática rigorosa.

Chegou a dizer que:

“Testar pode mostrar a presença de bugs, nunca sua ausência.”


✍️ 2) Ele escrevia à mão

Sim — muitos de seus algoritmos eram desenvolvidos no papel antes de qualquer implementação.


🧮 3) Também criou o algoritmo de caminho mínimo

👉 O famoso Algoritmo de Dijkstra, base de roteamento e GPS.


🧨 4) Nem todo mundo gostou da crítica ao GOTO

Programadores da época reagiram com:

  • indignação

  • sarcasmo

  • artigos contra

  • debates acalorados

Hoje parece óbvio. Na época, foi uma guerra cultural.


🐣 Easter Egg Mainframe

Mesmo em sistemas altamente estruturados…

👉 GO TO nunca morreu completamente.

Em COBOL legado, ele aparece como:

  • fuga de erro

  • tratamento de exceções improvisado

  • controle de fluxo antigo

  • patches históricos

É o equivalente ao:

“Não encoste nisso que está funcionando.”


🤫 Fofoquice Histórica

Dijkstra não gostava de popularização excessiva da programação.

Ele acreditava que:

👉 nem todos deveriam programar
👉 programação é atividade intelectual profunda
👉 más práticas se espalham rápido demais

Hoje, com milhões de devs no mundo… imagine o que ele diria 😄


🚀 Por que isso ainda importa HOJE?

Structured Programming é a base de:

  • Clean Code

  • Arquitetura de Software

  • Boas práticas corporativas

  • Programação orientada a objetos

  • Sistemas críticos

  • Segurança e confiabilidade

Sem essa revolução, software moderno seria inviável.


✅ Conclusão

Structured Programming não é apenas um capítulo da história.

👉 É o alicerce invisível de praticamente todo software sério já escrito.

No mundo mainframe, especialmente, ela foi a diferença entre:

💀 sistemas incontroláveis
e
🏦 infraestruturas que sustentam economias inteiras

terça-feira, 12 de maio de 2015

Como Não Se Perder no Mainframe (e Ainda Brilhar em Produção) ☕

 

Bellacosa Mainframe apresenta um manual de sobrevivencia para um padawan em mainframe

🔥 Manual de Sobrevivência do Programador COBOL Iniciante

Como Não Se Perder no Mainframe (e Ainda Brilhar em Produção) ☕

Entrar no mundo COBOL Mainframe é como desembarcar em uma usina nuclear em pleno funcionamento: tudo é estável, poderoso… e absolutamente implacável com erros.

Mas respire.

Milhões de profissionais passaram por isso antes — e sobreviveram muito bem 😄
Este é o guia que eu gostaria que todo iniciante recebesse no primeiro dia.


🧠 1) Entenda onde você está pisando

Você não está em um ambiente comum de desenvolvimento.

Aqui existem:

✔ Sistemas rodando há décadas
✔ Código crítico para negócios bilionários
✔ Processos batch noturnos gigantescos
✔ Auditoria pesada
✔ Zero tolerância para “gambiarras”

No Mainframe:

“Se funciona há 20 anos, mexa com extremo respeito.”


🖥️ 2) Domine o ecossistema antes da linguagem

COBOL sozinho não faz nada.
Você precisa entender o ambiente z/OS:

  • TSO/ISPF

  • JCL

  • Datasetes

  • JOBs batch

  • SDSF

  • Conceitos de spool

  • Bibliotecas PDS/PDSE

Sem isso, você fica perdido mesmo sabendo programar.


📜 3) Aprenda a ler código antigo (muito antigo)

Grande parte do seu trabalho inicial será manutenção.

Você verá:

😅 Variáveis com nomes estranhos
😅 GO TO espalhado
😅 Comentários de 1989
😅 Copybooks gigantes
😅 Lógica de negócio implícita

Dica de ouro:

👉 Comece pelo fluxo principal (MAIN-LOGIC)
👉 Siga os PERFORMs
👉 Ignore detalhes até entender o todo


🧱 4) Respeite os padrões da empresa

Cada organização tem seu próprio guia de estilo.

Nunca chegue “modernizando tudo”.

Faça primeiro:

✔ Entenda o padrão local
✔ Copie o estilo existente
✔ Siga nomenclaturas
✔ Use templates corporativos

No Mainframe, consistência vale mais que criatividade.


🧮 5) Entenda arquivos — eles são o coração do batch

Processamento batch gira em torno de datasets.

Você precisa dominar:

  • Sequential files

  • VSAM

  • Leitura e escrita

  • EOF (fim de arquivo)

  • Layouts de registro

  • Controle de erro

Um erro de layout pode destruir dados sem aviso.


🔁 6) PERFORM é seu melhor amigo

Evite ao máximo:

🚫 GO TO
🚫 Lógica confusa
🚫 Saltos imprevisíveis

Prefira fluxo estruturado:

✔ PERFORM UNTIL
✔ PERFORM VARYING
✔ Parágrafos bem nomeados

Código previsível é código seguro.


🧠 7) Use nomes que contam a história

Bons nomes reduzem metade do esforço de manutenção.

Compare:

❌ X1, X2, VARA
✔ WS-SALDO-CONTA
✔ FL-FIM-ARQUIVO
✔ CNT-REG-LIDOS

Se alguém entende sem perguntar, você venceu.


📦 8) COPYBOOKs são contratos

Copybooks definem layouts compartilhados.

Mexer neles pode impactar dezenas ou centenas de programas.

Antes de alterar:

⚠ Verifique dependências
⚠ Consulte responsáveis
⚠ Avalie impacto sistêmico

Alterar copybook sem análise é receita para incidente.


🛑 9) Teste como se produção dependesse disso

(porque depende)

Um JOB errado pode:

💸 Gerar pagamentos indevidos
📉 Corromper base de dados
📊 Produzir relatórios incorretos
🚨 Acionar auditoria

Teste cenários:

✔ Arquivo vazio
✔ Dados inválidos
✔ Limites máximos
✔ Exceções


📊 10) Leia o output do JOB — sempre

Após rodar, verifique:

  • Return codes

  • Mensagens

  • Contagem de registros

  • Warnings

  • Dumps

Nunca assuma que “deu certo”.


🧯 11) Aprenda a interpretar ABENDs

ABEND não é fracasso — é informação.

Códigos como:

  • S0C7 → erro numérico

  • S0C4 → acesso inválido de memória

  • S013 → problema de arquivo

Dominar isso acelera sua evolução absurdamente.


🤝 12) Faça amizade com operadores e analistas experientes

Mainframe é uma cultura colaborativa.

Operadores conhecem o comportamento real dos JOBs.
Veteranos conhecem os sistemas por dentro.

Uma conversa pode economizar dias de tentativa e erro.


⏳ 13) Tenha paciência — aprendizado é cumulativo

No início, tudo parece lento:

  • Compilar leva tempo

  • JOBs entram em fila

  • Ambientes são controlados

  • Mudanças passam por aprovação

Mas isso existe para garantir estabilidade.


☕ Filosofia final de sobrevivência

Ser programador COBOL não é apenas saber sintaxe.

É ser guardião de sistemas críticos.

Você está mantendo a infraestrutura invisível que faz o mundo financeiro e governamental funcionar.

“Se ninguém percebe seu trabalho, provavelmente está perfeito.”


⭐ Conclusão

O iniciante que sobrevive no Mainframe não é o mais brilhante — é o mais disciplinado.

Com o tempo, você descobrirá algo surpreendente:

👉 COBOL não é ultrapassado
👉 É simplesmente implacavelmente confiável

E dominar esse ambiente abre portas raras e valiosas.