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

terça-feira, 27 de julho de 2021

🐙 GitHub Copilot — o “estagiário Jedi” do código (inclusive no Mainframe)

 

Github Copilot em review para mainframers

Um Café no Bellacosa Mainframe

Tema: 🐙GitHub Copilot — o “estagiário Jedi” do código (inclusive no Mainframe)


🤖 Afinal… o que é o GitHub Copilot?

Padawan, sente-se.
O GitHub Copilot é aquele colega que não dorme, não pede café e completa seu código antes de você terminar de digitar. Criado pelo GitHub em parceria com a OpenAI, ele é um assistente de programação baseado em IA, treinado com bilhões de linhas de código público.

Em termos simples (estilo operador de madrugada):

“Você começa a escrever… o Copilot adivinha o que vem depois.”

Ele funciona como um autocomplete turbinado, mas com cérebro. Não é só completar palavra — ele entende intenção, contexto, padrões e estilo.


O que faz o Github Copilot

🧠 O que o Copilot faz na prática?

  • ✍️ Sugere linhas inteiras de código

  • 🧩 Cria funções completas

  • 🔄 Converte comentários em código

  • 🧪 Ajuda a escrever testes

  • 📚 Sugere uso de APIs e bibliotecas

  • 🧹 Refatora código legado (sim, até aquele que ninguém quer mexer)

Tudo isso em tempo real, direto no editor.


🛠️ Onde ele funciona?

  • VS Code (o queridinho)

  • Visual Studio

  • JetBrains (IntelliJ, PyCharm etc.)

  • Neovim (para os monges do terminal 😄)


🎯 Exemplo simples (para Padawans)

Você digita:

# função que calcula fatorial

O Copilot responde:

def fatorial(n): if n == 0: return 1 return n * fatorial(n-1)

Magia?
Não. Machine Learning com café industrial ☕⚙️


💡 Dicas Bellacosa Mainframe (anota no caderninho)

  1. Comente bem o código
    → O Copilot AMA comentários claros.
    Comentário ruim = sugestão ruim.

  2. Não aceite tudo no automático
    → Ele é um estagiário gênio, não o arquiteto.

  3. Use como par de programação
    → Você pensa no “o quê”, ele sugere o “como”.

  4. Excelente para aprender linguagens novas
    → Ideal para Padawans curiosos.

  5. Ótimo para código repetitivo
    → CRUD, validação, parsing, boilerplate… ele faz sorrindo.


🥚 Easter Eggs & Curiosidades

  • 🐙 O nome Copilot vem da aviação:
    Ele ajuda, mas não pilota sozinho.

  • 👀 Ele aprende o estilo do seu projeto.

  • 🤐 Não tem memória pessoal: cada sugestão é baseada no contexto atual.

  • ⚠️ Já sugeriu código inseguro ou obsoleto — por isso, olho de sysprog!


🧓 E AGORA O QUE INTERESSA: GitHub Copilot no IBM Mainframe 😎

❓ “Bellacosa… isso funciona com COBOL?”

Resposta curta:
👉 SIM, MAS COM ASTERISCOS

Resposta longa (a que gostamos):


🖥️ Copilot + COBOL + Mainframe

✅ Onde ele ajuda MUITO

  • 📄 Escrita de código COBOL padrão

    • PERFORM

    • IF/ELSE

    • READ / WRITE

    • Estrutura de PROGRAM-ID, WORKING-STORAGE, etc.

  • 🧾 Conversão de lógica

    • Pseudocódigo → COBOL

    • Comentários → código

  • 🔁 Refatoração de código legado

    • Reduz GOTO

    • Sugere PERFORMs mais limpos

  • 🧪 Geração de programas de teste

    • Dados fictícios

    • Leitura sequencial simples


⚠️ Onde ele AINDA NÃO é Jedi Master

  • ❌ Não conhece seu layout VSAM específico

  • ❌ Não entende copybooks proprietários

  • ❌ Não sabe suas regras de negócio bancárias dos anos 80

  • ❌ Não substitui conhecimento de:

    • CICS

    • DB2 tuning

    • JCL complexo

    • RACF

    • Performance

👉 Aqui entra o Mainframer raiz 💪


📌 Exemplo prático COBOL

Você escreve:

* Ler arquivo de clientes e somar saldo

O Copilot pode sugerir algo como:

READ CLIENTES-FILE AT END MOVE 'S' TO EOF-FLAG NOT AT END ADD SALDO-CLIENTE TO TOTAL-SALDO END-READ.

É perfeito?
Não.

É um ótimo ponto de partida?
👉 SIM.


🧠 Copilot NÃO substitui o Mainframer

E isso precisa ficar claro no El Jefe Midnight:

O Copilot não sabe o que é um ABEND S0C7 às 2h da manhã.
Você sabe.

Ele acelera, mas não decide.
Ele sugere, mas não responde ao auditor.
Ele gera código, mas não conhece o cliente.


☕ Conclusão Bellacosa Mainframe

  • Para Padawans:
    👉 O Copilot é um mestre paciente, que ensina pelo exemplo.

  • Para Mainframers:
    👉 É um acelerador brutal de produtividade, se usado com juízo.

  • Para o futuro do Mainframe:
    👉 Uma ponte entre o legado respeitado e a nova geração.

O Mainframe não morreu.
Ele só ganhou um copiloto.

 

quinta-feira, 17 de julho de 2014

🚀 CI/CD & DevOps

 

Bellacosa Mainframe apresenta CI CD e DEVOPS 

🚀 CI/CD & DevOps

Uma análise Bellacosa Mainframe (com história, bastidores e verdades inconvenientes)

“Automatize tudo. O que sobrar, automatize de novo.”
— Filosofia não oficial do DevOps

CI/CD não é moda, não é ferramenta, não é YAML bonito no GitHub.
É mudança cultural, redução de sofrimento humano e, principalmente, fim do deploy manual de sexta-feira às 18h.


🧠 CI e CD: irmãos, não gêmeos

🔁 Continuous Integration (CI)

CI nasceu para resolver um problema clássico:

“Funciona na minha máquina.”

CI é integração contínua de código, feita com:

  • branches curtas

  • commits frequentes

  • pull requests pequenos

  • testes automáticos

👉 Resultado?
Menos conflito, menos retrabalho e menos ódio entre desenvolvedores.

📌 Fases clássicas da CI

  • Plan – o que vamos fazer

  • Code – escrever o código

  • Build – compilar / empacotar

  • Test – validar automaticamente

💡 Dica Bellacosa:
Se seu pipeline de CI demora mais que um café passado na hora… algo está errado


🚚 Continuous Delivery (CD)

CD entra depois da CI, quando o código já funciona.

CD garante que:

  • o software esteja sempre pronto para produção

  • o deploy seja repetível, confiável e sem drama

  • humanos não fiquem clicando “Next, Next, Finish”

📌 Fases clássicas da CD

  • Release – versionamento

  • Deploy – entrega automatizada

  • Operate – operação e monitoramento

⚠️ Atenção:
CD ≠ Continuous Deployment

  • Delivery: pronto para produção

  • Deployment: vai direto para produção (sem pedir bênção)


🧬 CI/CD como código: o YAML que manda na sua vida

Quando pipelines viram código:

  • versionamento acontece

  • rollback fica fácil

  • auditoria fica feliz

🧾 GitHub Actions

📅 Lançamento: novembro de 2019

  • Já vem em todo repositório GitHub

  • Usa YAML

  • Marketplace recheado de actions prontas

📂 Estrutura clássica:

.github/ └── workflows/ └── pipeline.yml

💬 Comentário Bellacosa:
“Pipeline que não está versionado é script secreto de sysadmin disfarçado.”


🧑‍🤝‍🧑 Social Coding: menos ego, mais qualidade

CI/CD só funciona bem quando:

  • pull requests são pequenos

  • revisão é colaborativa

  • erro vira aprendizado, não caça às bruxas

📈 Benefícios reais:

  • código melhor

  • menos bugs em produção

  • mais confiança no deploy

🧠 Curiosidade:
Empresas que adotam CI de verdade fazem deploy dezenas de vezes por dia.
Quem não adota… faz change freeze 😬


🧱 Infraestrutura como Código (IaC)

📅 Conceito popularizado: ~2011 (com Puppet, Chef, depois Terraform)

IaC permite:

  • subir ambientes em minutos

  • destruir tudo e recriar sem chorar

  • versionar infraestrutura

💡 Dica de ouro:
Se você não consegue recriar seu ambiente do zero… você não controla seu ambiente.


⚙️ Tekton: CI/CD raiz, Kubernetes feelings

📅 Lançamento: 2018 (Knative Build → Tekton)

Tekton é:

  • CI/CD nativo Kubernetes

  • Declarativo

  • Baseado em CRDs

🧩 Conceitos-chave

  • Task – unidade de trabalho

  • Pipeline – encadeamento

  • Step – comando

  • Trigger – evento externo

  • PipelineRun – execução real

💬 Fofoquinha técnica:
Tekton é poderoso, mas não é para iniciantes.
Quem aprende… vira referência. Quem não aprende… chama de “complicado demais”.


🔄 GitOps & Argo CD: Git manda, cluster obedece

📅 Argo CD: 2018

GitOps segue um princípio simples:

“Se não está no Git, não existe.”

Argo CD:

  • observa o Git

  • compara com o cluster

  • reconcilia automaticamente

🔥 Easter Egg GitOps:
Deletou algo no cluster manualmente?
O Argo recria… sem pedir desculpa 😈


☁️ OpenShift Pipelines & GitOps

OpenShift:

  • integra Tekton nativamente

  • facilita CI/CD corporativo

  • conversa bem com Argo CD

📌 Padrões GitOps suportados:

  • On-Cluster Reconciler

  • External Reconciler

💬 Comentário Bellacosa:
Mainframe tinha controle, rastreabilidade e auditoria antes de ser cool.
DevOps só deu nome bonito.


🔐 Compliance contínua: segurança sem freio de mão

Pipeline moderno inclui:

  • scan de código

  • scan de imagem

  • gestão de segredos

  • trilha de auditoria

💡 Dica de sobrevivência:
Segurança manual não escala.
Compliance contínua sim.


🧨 Verdades inconvenientes (Bellacosa Edition)

  • Ferramenta não salva cultura ruim

  • CI quebrado diariamente não é CI

  • Pipeline lento é gargalo oculto

  • Deploy manual é dívida técnica

  • YAML sem comentário é armadilha futura


🧠 Conclusão Bellacosa Mainframe

CI/CD não é sobre:
❌ Jenkins
❌ GitHub Actions
❌ Tekton
❌ Argo CD

É sobre:
✅ previsibilidade
✅ automação
✅ qualidade
✅ confiança
✅ dormir tranquilo após o deploy

“O melhor deploy é aquele que ninguém percebe.”



quarta-feira, 16 de fevereiro de 2011

🔥 Challenges of Running COBOL with Git – Uma Observação Prática (com cheiro de sala-cofre) 🔥

 

COBOL e os desafios do GITHUB e ECLIPSE

🔥 Challenges of Running COBOL with Git – Uma Observação Prática (com cheiro de sala-cofre) 🔥

Durante décadas, COBOL e z/OS viveram felizes no seu ecossistema fechado, previsível e extremamente confiável. ISPF, PDS/PDSE, JCL, compile noturno, café forte e aquele silêncio respeitoso do data center. Então alguém chegou dizendo:

“Agora tudo é Git. Branch, pull request, rebase e pipeline.”

🤔 Pause dramático de mainframer veterano.

Este artigo nasce de pesquisa, observação prática e muita conversa de corredor — aquele tipo de conhecimento que não aparece em Redbook, mas surge no café das 3h da manhã durante um IPL mal-humorado.


🧬 1. EBCDIC vs UTF-8 – A Guerra Invisível dos Bytes

Aqui começa o primeiro boss final.

Git assume UTF-8. COBOL em z/OS respira EBCDIC. Misture isso sem regras claras e você ganha:

  • Literais corrompidos

  • DISPLAY mostrando hieróglifos

  • Compilação falhando sem erro “óbvio”

💡 Dica Bellacosa:
Defina conversão explícita e obrigatória no pipeline. Nada de “ah, o plugin cuida disso”. Ele não cuida.

🥚 Easter egg:
Muitos bugs “fantasma” em COBOL moderno não são lógicos — são encoding bugs disfarçados.


📚 2. Copybooks – O Efeito Dominó Silencioso

COBOL sem copybook é como mainframe sem SMF: tecnicamente existe, mas ninguém confia.

O problema?
Git não entende dependência semântica.

  • Um copybook alterado

  • 137 programas impactados

  • 12 recompilados

  • 125 esquecidos

  • Produção quebra… só amanhã

💡 Dica de guerra:
Pipeline dependency-aware é obrigatório. Ferramentas como DBB, scripts de impacto ou metadados não são luxo — são sobrevivência.

🗣 Fofoquinha real:
Já vi incidente crítico porque “era só um copybook de comentário”. Spoiler: não era.


📐 3. Diffs, Colunas e a Maldade do Espaço em Branco

Git ama linhas.
COBOL ama colunas.

Um espaço fora do lugar vira:

  • Diff gigante

  • Merge impossível

  • Revisão inútil

Comentários deslocados geram mais conflito que erro lógico.

💡 Dica Bellacosa raiz:

  • Padronize formatação

  • Use ferramentas de pretty-print COBOL

  • Trate espaço em branco como código, não estética

🥚 Easter egg clássico:
Um MOVE perfeito na lógica pode falhar só porque começou na coluna errada. Git não entende isso. O compilador sim — e ele não perdoa.


⚙️ 4. Build, Compile e o “CI/CD de Verdade”

Aqui mora a grande ilusão moderna:

“Ah, só dar git push que compila.”

Não, não compila.

COBOL exige:

  • Compile no z/OS

  • Link-edit

  • Bind DB2

  • Execução JCL

  • Controle de RC

  • Logs rastreáveis

Sem automação real, Git vira apenas um repositório bonito.

💡 Dica prática:
Se o commit não dispara compile, bind e validação automática, você não tem CI/CD — só tem GitHub caro.


🧠 5. Cultura, Pessoas e o Choque de Gerações

Aqui não é tecnologia — é gente.

  • Desenvolvedores COBOL dominam ISPF como ninguém

  • Git traz conceitos novos: rebase, squash, branch strategy

  • Sem cuidado, isso vira atrito desnecessário

💡 Dica de liderança técnica:
Não force Git “goela abaixo”. Traduza conceitos:

  • Branch ≈ versão lógica

  • Pull request ≈ revisão formal

  • Pipeline ≈ JCL automático

🗣 Comentário de bastidor:
Os melhores times são híbridos: mainframers aprendendo Git e devops aprendendo z/OS. Quem só ensina e não aprende falha.


🔐 6. Segurança – RACF não é GitHub (e nunca será)

Git trabalha com:

  • Usuário

  • Token

  • Repo

Mainframe trabalha com:

  • Identidade

  • Perfil

  • Dataset

  • Auditoria pesada

Alinhar RACF/ACF2/TSS com Git não é trivial, principalmente em ambientes regulados.

💡 Dica Bellacosa:
Auditoria e rastreabilidade devem nascer no pipeline, não serem “adaptadas depois”.

🥚 Easter egg corporativo:
Compliance sempre descobre o problema depois que o sistema já está em produção.


🧠 Pensamento Final – Git Funciona com COBOL?

Sim.
Mas não por mágica.

Git funciona com COBOL quando existe:

  • Disciplina

  • Ferramentas corretas

  • Pipeline consciente

  • Respeito à cultura mainframe

Sem isso, você só moderniza o problema — não a solução.

🔥 Provocação final do El Jefe:
Quantos ambientes “modernizados” hoje só trocaram o PDS por Git, mas mantiveram os mesmos riscos de 1989?