Translate

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

quarta-feira, 22 de abril de 2026

💣 LAB MASTER 🔥 Storage Não Armazena — Ele Decide o Destino do Dado

 

Bellacosa Mainframe Treine Storage Mainframe

💣 LAB MASTER

🔥 Storage Não Armazena — Ele Decide o Destino do Dado


🎯 Objetivo do LAB

Ao final você será capaz de:

  • Entender como o SMS decide storage
  • Criar datasets com e sem striping
  • Simular impacto de RAID (conceitual)
  • Trabalhar com DASD vs Tape
  • Ver migração automática (HSM ML1/ML2)
  • Executar backup e restore
  • Entender o papel do air gap

🏗️ Cenário

Você é responsável por:

  • Um ambiente com:
    • DASD (disco)
    • Flash (simulado via classe)
    • Tape (ML2)
  • Workloads:
    • Batch pesado
    • Dados críticos
    • Arquivos de archive

🧪 LAB 1 — Alocação sem SMS (controle manual)

🎯 Objetivo

Sentir o “mundo antigo”

//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=USER.TEST.MANUAL,
// DISP=(NEW,CATLG),
// UNIT=3390,
// SPACE=(CYL,(10,5))

🧠 O que observar:

  • Você escolhe tudo manualmente
  • Sem inteligência

🧪 LAB 2 — Alocação com SMS

🎯 Objetivo

Ver o SMS em ação

//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=USER.TEST.SMS,
// DISP=(NEW,CATLG),
// DATACLAS=STANDARD,
// STORCLAS=FAST,
// MGMTCLAS=BACKUP

🧠 O que observar:

  • Nenhum volume definido
  • SMS decide tudo

🧪 LAB 3 — Striping (performance)

🎯 Objetivo

Simular I/O paralelo

👉 Criar Data Class com:

  • Stripe Count = 4
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=USER.TEST.STRIP,
// DISP=(NEW,CATLG),
// DATACLAS=STRIPE4

🧠 Observe:

  • Dataset distribuído
  • Performance maior

🧪 LAB 4 — RAID (conceitual via comportamento)

🎯 Objetivo

Entender impacto sem ver RAID direto

Teste:

  • Dataset pequeno vs grande
  • Com e sem striping

👉 Analise:

  • Tempo de execução
  • I/O count

💡 Insight:

RAID está por baixo — você vê o efeito, não a configuração


🧪 LAB 5 — Tape (gravação)

🎯 Objetivo

Gravar em fita

//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=USER.TEST.SMS,DISP=SHR
//SYSUT2 DD DSN=USER.TEST.TAPE,
// DISP=(NEW,CATLG),
// UNIT=TAPE,
// VOL=SER=TAPE01

🧠 Observe:

  • Acesso sequencial
  • Tempo maior


Bellacosa Mainframe apresenta leitor cartrige com braço robotico

🧪 LAB 6 — HSM (migração automática)

🎯 Objetivo

Ver dados indo para tape

Comando:

HSEND MIGRATE DATASET('USER.TEST.SMS')

🧠 Resultado:

  • ML1 → disco
  • ML2 → tape

Bellacosa Mainframe apresenta antigo leitor tape para mainframe mvs 

🧪 LAB 7 — Recall (volta do tape)

//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=USER.TEST.SMS,DISP=SHR

🧠 Observe:

  • Dataset volta do tape
  • Delay perceptível

🧪 LAB 8 — Backup

🎯 Objetivo

Criar cópia de segurança

//STEP1 EXEC PGM=ADRDSSU
//SYSPRINT DD SYSOUT=*
//DUMP DD DSN=USER.BACKUP.TAPE,
// UNIT=TAPE,
// DISP=(NEW,CATLG)
//SYSIN DD *
DUMP DATASET(USER.TEST.SMS) -
OUTDD(DUMP)
/*

🧪 LAB 9 — Simulação de desastre

🎯 Objetivo

Recuperação

//STEP1 EXEC PGM=ADRDSSU
//SYSPRINT DD SYSOUT=*
//DUMP DD DSN=USER.BACKUP.TAPE,DISP=SHR
//SYSIN DD *
RESTORE DATASET(USER.TEST.SMS) -
INDD(DUMP)
/*

🧪 LAB 10 — Air Gap (conceito aplicado)

🎯 Objetivo

Entender proteção real

👉 Cenário:

  • Dataset corrompido
  • Backup online comprometido

👉 Recuperação:

  • Apenas via tape

💡 Insight:

Aqui você entende por que tape ainda existe


🧠 Fechamento técnico

Você acabou de trabalhar com:

  • DASD (3390)
  • SMS (policy-driven storage)
  • Striping (performance)
  • RAID (efeito indireto)
  • Tape (sequencial)
  • HSM (automação)
  • Backup/Restore
  • Air Gap (segurança real)

☕ Bellacosa-style conclusão

“Você não manipulou disco…
você manipulou decisões sobre onde o dado vive, se move… e sobrevive.”

 

quarta-feira, 15 de abril de 2026

🧪 LAB SMP/E — DO CAOS À ORQUESTRAÇÃO

 

Bellacosa Mainframe Laboratorio SMP/E do caos a orquestração

🧪 LAB SMP/E — DO CAOS À ORQUESTRAÇÃO

🎯 Objetivo do Lab

Você vai executar:

  1. 📦 RECEIVE / APPLY (com erro)
  2. 📊 REPORT (diagnóstico)
  3. 🔗 LINK MODULE (correção)
  4. 🏗️ BUILDMCS (empacotamento)

👉 Resultado final:

Um ambiente corrigido, analisado e exportável


🧱 CENÁRIO DO LAB

👉 Situação:

  • Produto instalado parcialmente
  • Módulo faltando no LMOD
  • PTF aplicada sem dependência

💥 Resultado:

Erro de execução + inconsistência SMP/E


🔥 PASSO 1 — RECEIVE (entrada da manutenção)

//RECEIVE JOB (ACCT),'SMP/E LAB',CLASS=A,MSGCLASS=X
//SMPCSI DD DISP=SHR,DSN=SYS1.SMP.CSI
//SMPPTS DD DISP=SHR,DSN=SYS1.SMP.PTS
//SMPCNTL DD *
SET BOUNDARY(GLOBAL).

RECEIVE SYSMODS
FROMDS('USER.PTF.INPUT')
BYPASS(HOLDSYSTEM).
/*

💡 O que está acontecendo

  • Carrega SYSMOD no SMPPTS
  • Ignora HOLD SYSTEM (perigoso 👀)

⚠️ PASSO 2 — APPLY (com erro proposital)

//APPLY JOB (ACCT),'SMP/E APPLY',CLASS=A,MSGCLASS=X
//SMPCSI DD DISP=SHR,DSN=SYS1.SMP.CSI
//SMPCNTL DD *
SET BOUNDARY(TZONE1).

APPLY PTFS(UX12345)
GROUPEXTEND
BYPASS(HOLDCLASS).
/*

💥 Resultado esperado

Erro tipo:

GIM35901E - REQUIRED SYSMOD NOT FOUND

👉 Tradução:

Dependência faltando


🧠 PASSO 3 — REPORT (diagnóstico inteligente)

//REPORT JOB (ACCT),'SMP/E REPORT',CLASS=A,MSGCLASS=X
//SMPCSI DD DISP=SHR,DSN=SYS1.SMP.CSI
//SMPPUNCH DD SYSOUT=*
//SMPCNTL DD *
SET BOUNDARY(TZONE1).

REPORT CROSSZONE.

REPORT ERRSYSMODS.

REPORT SYSMODS.
/*

🔍 O que você vai ver

  • Dependências faltantes
  • PTFs necessárias
  • Conflitos

💡 E mais importante:
👉 SMPPUNCH com comandos prontos


🔗 PASSO 4 — LINK MODULE (cirurgia)

//LINKMOD JOB (ACCT),'SMP/E LINK',CLASS=A,MSGCLASS=X
//SMPCSI DD DISP=SHR,DSN=SYS1.SMP.CSI
//SMPCNTL DD *
SET BOUNDARY(TZONE1).

LINK MODULE(CSAMPLE)
FROMZONE(TZONE2).
/*

🧠 O que acontece

  • Busca módulo em outra zona
  • Rebuild do LMOD
  • Cria TIEDTO

💡 Resultado:

Executável corrigido sem reinstalar tudo


🏗️ PASSO 5 — BUILDMCS (empacotar o ambiente)

//BUILDMCS JOB (ACCT),'SMP/E BUILD',CLASS=A,MSGCLASS=X
//SMPCSI DD DISP=SHR,DSN=SYS1.SMP.CSI
//SMPPUNCH DD SYSOUT=*
//SMPCNTL DD *
SET BOUNDARY(TZONE1).

BUILDMCS FORFMID(CICS123).
/*

📦 Resultado

No SMPPUNCH:

  • ++FUNCTION
  • ++MOD
  • ++JCLIN

👉 Você criou um:

produto instalável do seu ambiente


🔁 PASSO 6 — APPLY CORRIGIDO

//APPLY2 JOB (ACCT),'SMP/E APPLY OK',CLASS=A,MSGCLASS=X
//SMPCSI DD DISP=SHR,DSN=SYS1.SMP.CSI
//SMPCNTL DD *
SET BOUNDARY(TZONE1).

APPLY PTFS(UX12345)
GROUPEXTEND
CHECK.
/*

💡 Agora

  • Sem erro
  • Dependências resolvidas
  • Ambiente consistente

🎯 LIÇÕES DO LAB (ESSENCIAL)

🧠 1. APPLY sem REPORT = risco

🧠 2. LINK MODULE = solução cirúrgica

🧠 3. BUILDMCS = portabilidade

🧠 4. REPORT = prevenção


💥 EASTER EGGS (NÍVEL BELLACOSA)

😈 Se você ignorar HOLDDATA
👉 vai quebrar produção

😈 Se usar LINK demais
👉 cria acoplamento invisível

😈 Se não usar BUILDMCS
👉 não consegue reconstruir ambiente


🚀 DESAFIO (NÍVEL HARDCORE)

Tente:

  1. Rodar APPLY sem GROUPEXTEND
  2. Ver erro
  3. Resolver com REPORT + FIXCAT

🧠 FRASE FINAL DO LAB

“Quem roda SMP/E executa comando…
quem domina SMP/E controla o sistema.”


quarta-feira, 4 de março de 2026

🚀 LABORATÓRIO PYTHON — Missão Padawan: Desafio dos Scripts

 

Bellacosa Mainframe desafia para criação de Scripts em Python

🚀 LABORATÓRIO PYTHON — Missão Padawan: Desafio dos Scripts

Laboratorio Python

Bem-vindo, jovem padawan do código. Aqui não há sabres de luz… apenas teclado, café e determinação. Cada desafio abaixo é um micro-treinamento para despertar a Força do Python dentro de você — no melhor estilo Bellacosa Mainframe: prático, curioso e com histórias do mundo real. ☕


Desafio Python


🧮La001 -  Fatores Primos — O Crivo dos Antigos

Nos tempos dos computadores do tamanho de geladeiras, calcular fatores primos era quase um ritual matemático. 

Este desafio ensina a decompor números como um operador de mainframe desmonta um dump. Use laços, divisão e lógica eficiente — se fizer até √n, você já pensa como engenheiro.

Curiosidade: criptografia moderna depende diretamente de números primos gigantes. Easter egg: teste com 2, 3, 5, 7… a “família real” dos primos. 

Dica Bellacosa: otimize antes de complicar. Python adora soluções elegantes. 

Domine isso e você terá a base para segurança, performance e raciocínio algorítmico. A Força matemática despertará.



🔁La002 -  Palíndromos — O Espelho do Código

Um palíndromo lê igual de frente para trás — como certos logs que insistem em se repetir eternamente. Aqui você aprende slicing, comparação e limpeza de texto.

 História curiosa: operadores antigos testavam rotinas com palavras como “radar” ou “reviver”. 

Easter egg: frases com espaços e pontuação exigem pré-processamento — normalize tudo. Dica de mestre: texto[::-1] é praticamente um truque Jedi do Python. 

Explore frases grandes e descubra padrões ocultos. 

Esse exercício treina percepção, manipulação de strings e atenção a detalhes — habilidades críticas tanto em scripts quanto em análise de dados. 

Padawan que domina strings domina metade do universo Python.


🔤 La003 - Ordenando Palavras — O Bibliotecário Digital

Imagine organizar cartões perfurados ou volumes de logs impressos. Ordenar palavras é a versão moderna disso. 

Você praticará listas, ordenação e funções-chave. Python permite ordenar alfabeticamente, por tamanho ou por critérios personalizados — quase como WLM decidindo prioridades. 

Curiosidade histórica: ordenação foi um dos primeiros grandes problemas da computação. Easter egg: experimente ignorar maiúsculas usando key=str.lower

Dica Bellacosa: sempre pense no critério de negócio, não só no técnico. 

Explore diferentes idiomas e caracteres especiais. Esse exercício ensina organização de dados — habilidade essencial para relatórios, ETL e sistemas corporativos.


🔎Lab004 - Encontrando Índices — Rastreamento de Ocorrências

No mainframe, localizar registros específicos era missão crítica. 

Aqui você aprende a varrer listas e identificar posições exatas. Use enumerate() como se fosse um scanner de spool. 

Curiosidade: muitos algoritmos de busca modernos nasceram de necessidades administrativas simples. Easter egg: encontre todas as ocorrências, não apenas a primeira — isso muda completamente a lógica.

Dica do operador veterano: trate casos onde o item não existe. 

Explore listas grandes e observe desempenho. Esse desafio constrói mentalidade de diagnóstico — fundamental para debug, análise de dados e automação. 

Quem sabe onde algo está, controla o sistema.


⏳ Lab005 - Jogo de Espera — Tempo é Recurso

Mainframes vivem de agendamento e sincronização. Este mini-jogo ensina temporização, aleatoriedade e interação. Use time.sleep() e random para simular eventos imprevisíveis — como jobs aguardando recursos. 

Curiosidade: testes de tempo eram usados para avaliar reflexos humanos em interfaces antigas. Easter egg: variações pequenas de atraso mudam totalmente a experiência. 

Dica Bellacosa: nunca bloqueie sistemas reais com waits desnecessários. 

Explore contadores, pontuação e feedback ao usuário. Esse exercício introduz conceitos de concorrência e UX básica. 

Padawan que controla o tempo controla o fluxo de processamento.


📚 Lab006 - Salvando um Dicionário — Memória Persistente

Guardar dados é essencial — seja em fita magnética ontem ou JSON hoje. Aqui você aprende a serializar estruturas Python em arquivos. 

Dicionários representam registros estruturados, quase como tabelas DB2 simplificadas. Curiosidade: JSON tornou-se padrão universal de troca de dados. 

Easter egg: abra o arquivo salvo em um editor e veja que é legível por humanos. 

Dica de mestre: sempre valide leitura e escrita para evitar corrupção. 

Explore salvar configurações, inventários ou resultados. Esse exercício abre portas para APIs, automação e integração entre sistemas. 

Persistência é o que transforma scripts em soluções reais.


⏰ La007 - Agendando uma Função — O Job Scheduler Caseiro

Antes dos cron jobs e schedulers modernos, operadores controlavam execuções manualmente. Este desafio simula um agendador simples. 

Você aprenderá loops controlados por tempo e execução periódica. 

Curiosidade: sistemas corporativos dependem massivamente de tarefas programadas invisíveis ao usuário. 

Easter egg: tente registrar horários de execução para auditoria. 

Dica Bellacosa: scripts autônomos devem ser resilientes — trate interrupções. 

Explore automações como backups ou verificações de status. Esse exercício é a porta de entrada para DevOps e automação empresarial. Um padawan que agenda tarefas deixa de reagir e passa a orquestrar.


🎯 Lab008 - Jogo de Forca — Projeto Completo

Clássico absoluto. Aqui você integra lógica, estado, entrada e saída. 

É praticamente um mini-sistema interativo. 

Curiosidade: jogos simples sempre foram usados para ensinar programação desde os anos 70. 

Easter egg: implemente categorias de palavras ou níveis de dificuldade. 

Dica de veterano: separe lógica do jogo e interface — arquitetura importa. 

Explore placar, gráficos ASCII e persistência de resultados. Esse desafio mostra como pequenos componentes formam aplicações completas. 

Padawan que termina a Forca está pronto para projetos maiores.


🎲 Lab009 - Simulando Dados — Caos Controlado

Simular dados é como rodar cenários hipotéticos sem afetar produção.

Use geração aleatória para modelar eventos — lançamento de dados, probabilidades, testes estatísticos. 

Curiosidade: Monte Carlo é amplamente usado em finanças e física. 

Easter egg: rode milhares de simulações e observe convergência. 

Dica Bellacosa: números aleatórios são pseudoaleatórios — isso importa. 

Explore gráficos simples ou contagens de frequência. 

Esse exercício treina pensamento probabilístico e análise de resultados. 

Padawan que domina simulação consegue prever comportamentos complexos.


📖 Lab010 - Contando Palavras — Mineração de Texto

Processar texto é como analisar relatórios gigantes de sistema. 

Aqui você aprende a dividir, normalizar e contar ocorrências. 

Curiosidade: motores de busca começaram com técnicas simples de frequência. 

Easter egg: ignore pontuação para resultados mais precisos. 

Dica de mestre: use dicionários como tabelas de contagem. 

Explore livros, logs ou artigos e descubra padrões. 

Esse exercício é a base de NLP e análise de dados textuais. 

Padawan que entende texto entende comunicação digital.


🔐 Lab011 - Criando Senhas — Guardião do Acesso

Segurança começa com boas credenciais. 

Este desafio ensina geração aleatória segura e regras de complexidade. 

Curiosidade: a biblioteca secrets foi criada para substituir métodos inseguros. 

Easter egg: combine letras, números e símbolos para aumentar entropia. 

Dica Bellacosa: nunca armazene senhas em texto puro. 

Explore tamanhos e políticas diferentes. 

Esse exercício conecta programação com cibersegurança — área crítica no mundo moderno. 

Padawan que protege acessos protege sistemas inteiros.


📊 Lab012 - Unindo CSVs — ETL do Dia a Dia

CSV é o “cartão perfurado” do século XXI. 

Aqui você aprende a ler, combinar e consolidar dados tabulares. 

Curiosidade: grande parte da integração empresarial ainda passa por arquivos simples. 

Easter egg: teste arquivos com colunas diferentes e trate inconsistências. 

Dica de veterano: dados sujos são regra, não exceção. 

Explore bibliotecas padrão ou pandas. Esse exercício simula tarefas reais de BI e análise. 

Padawan que domina dados domina decisões.


🧩 Lab013 - Resolvendo Sudoku — O Desafio dos Mestres

Sudoku exige busca sistemática e backtracking — técnica poderosa usada em IA e otimização.

 Curiosidade: problemas de restrição aparecem em logística, planejamento e escalonamento. 

Easter egg: visualize o tabuleiro a cada tentativa para entender o processo. 

Dica Bellacosa: recursão é linda, mas pode consumir recursos — monitore. 

Explore versões maiores ou diferentes heurísticas. Esse exercício eleva seu raciocínio algorítmico a outro nível. 

Padawan que resolve Sudoku com código está próximo do grau Jedi.


📦 Lab014 - Criando Arquivos ZIP — Compactação Operacional

Compactar arquivos economiza espaço e facilita transporte — ontem em fitas, hoje em ZIP. 

Você aprenderá a agrupar e comprimir diretórios automaticamente. 

Curiosidade: backups automatizados dependem muito desse tipo de rotina. 

Easter egg: inclua timestamp no nome do arquivo para versionamento. 

Dica de mestre: verifique integridade após criar o ZIP. 

Explore exclusão de arquivos temporários e logs. Esse exercício é perfeito para scripts administrativos. 

Padawan que automatiza backups dorme tranquilo.


🌐 Lab015 - Baixando Arquivos Sequenciais — Robô da Rede

Aqui nasce o coletor automático de dados. 

Você aprenderá a baixar múltiplos arquivos seguindo um padrão — útil para relatórios diários ou datasets públicos. 

Curiosidade: muitas integrações corporativas ainda dependem de downloads programados. 

Easter egg: trate falhas de conexão e retomada. 

Dica Bellacosa: respeite limites e políticas dos servidores. 

Explore paralelismo leve para acelerar. Esse exercício é a base de scraping e ingestão de dados. 

Padawan que domina downloads domina informação.


🏁 Mensagem Final do Mestre

Padawan, Python não é apenas uma linguagem — é um canivete suíço digital. 

Cada script acima é uma peça do seu sabre de luz profissional. Pratique, quebre, melhore, automatize.

Código bom é código usado. Código excelente é código que resolve problema real.