<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://codamos.com.br/sitemap.xsl"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://codamos.com.br/</loc>
</url>
<url>
<loc>https://codamos.com.br/8-dicas-para-aprender-a-programar-em-2023/</loc>
<lastmod>2023-08-01T23:27:39+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/72/8-dicas-aprender-programar-2023.jpg</image:loc>
<image:title><![CDATA[8 dicas para aprender a programar em 2023 por Renata Silva]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/ambiente-de-desenvolvimento-rust/</loc>
<lastmod>2022-01-30T14:05:59+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/26/rust-debugger-vs-code-2.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/26/rust-debugger-vs-code.png</image:loc>
<image:title><![CDATA[Depurador do VS Code, depurando um código Rust.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/aprender-a-programar-online-de-graca-em-2023/</loc>
<lastmod>2022-11-24T03:31:30+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/56/capa-programar-de-graca-online.jpg</image:loc>
<image:title><![CDATA[Capa do artigo: aprender a programar de graça]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/autor/alexander-zlatkov/</loc>
</url>
<url>
<loc>https://codamos.com.br/autor/ana-hoverbear/</loc>
</url>
<url>
<loc>https://codamos.com.br/autor/nawarian/</loc>
</url>
<url>
<loc>https://codamos.com.br/autor/nawarian/pagina/2/</loc>
</url>
<url>
<loc>https://codamos.com.br/autor/nawarian/pagina/3/</loc>
</url>
<url>
<loc>https://codamos.com.br/autor/nawarian/pagina/4/</loc>
</url>
<url>
<loc>https://codamos.com.br/autor/pokemaobr/</loc>
</url>
<url>
<loc>https://codamos.com.br/autor/renata-silva/</loc>
</url>
<url>
<loc>https://codamos.com.br/autor/rouan-wilsenach/</loc>
</url>
<url>
<loc>https://codamos.com.br/basico-sobre-iterators-rust/</loc>
<lastmod>2022-01-24T22:15:30+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/25/mountains_iterator.jpeg</image:loc>
<image:title><![CDATA[Montanhas cobertas de neve]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/benchmark-messagepack-json/</loc>
<lastmod>2021-12-28T16:37:58+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/9/11-messagepack-640-2.webp</image:loc>
<image:title><![CDATA[Uma fotografia de vários chips de CPU.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/capacitacao-net-construdelas-fevereiro-2022/</loc>
<lastmod>2022-04-10T08:32:31+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/28/capa_construdelas.png</image:loc>
<image:title><![CDATA[O programa de formação de mulheres em tecnologia está de volta. Inscreva-se até 25/02/2022]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/codigo-de-conduta/</loc>
<lastmod>2022-11-08T20:51:35+01:00</lastmod>
</url>
<url>
<loc>https://codamos.com.br/como-abrir-vim-sem-plugins/</loc>
<lastmod>2023-08-25T16:35:32+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/73/capa-vim-sem-plugins.jpg</image:loc>
<image:title><![CDATA[Como abrir o VIM sem plugins]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/73/vim-clean.jpg</image:loc>
<image:title><![CDATA[Como abrir o VIM sem plugins: vim --clean]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/73/vim-clean-arquivo.jpg</image:loc>
<image:title><![CDATA[Como abrir um arquivo no VIM sem plugins: vim --clean nomedoarquivo.txt]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/como-atrair-tech-recruiters/</loc>
<lastmod>2022-09-17T05:31:35+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/40/capa-atrair-tech-recruiters.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/como-conectar-mongodb-nodejs-com-mongoose-tdd/</loc>
<lastmod>2022-09-28T19:52:54+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/51/mongodb-node-mongoose-capa.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/51//jest-watch-all-sem-testes.png</image:loc>
<image:title><![CDATA[Terminal rodando Jest e indicando que nenhum teste foi encontrado.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/51//terminal-docker-mongodb.png</image:loc>
<image:title><![CDATA[Terminal exibindo logs do servidor MongoDB]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/51//teste-exemplo-jest-terminal.png</image:loc>
<image:title><![CDATA[Terminal exibindo que o teste de exemplo passou]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/51//tdd-conexao-mongodb.png</image:loc>
<image:title><![CDATA[Terminal indicando que o teste 'Conexão com MongoDB' passou]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/51//tdd-inserir-documento-mongodb.png</image:loc>
<image:title><![CDATA[Terminal indicando que o teste 'Inserção no MongoDB' passou]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/51//tdd-listar-documentos-mongodb.png</image:loc>
<image:title><![CDATA[Terminal indicando que o teste 'Listar todos documentos no MongoDB' passou]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/como-conectar-vpn-dentro-de-container-docker/</loc>
<lastmod>2023-12-25T17:24:45+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/77/capa-tutorial-docker-vpn.jpg</image:loc>
<image:title><![CDATA[VPN dentro do conteiner docker por codamos.com.br]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/77/baixar-imagem-docker-alpine.png</image:loc>
<image:title><![CDATA[Comando docker pull que baixa a imagem alpine:3.17]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/77/rodar-conteiner-docker-com-rede-2.png</image:loc>
<image:title><![CDATA[Dentro do contêiner, visualizando dados do usuário e interfaces de rede.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/77/criar-device-tun-tap-linux.png</image:loc>
<image:title><![CDATA[Criando o device de TUN/TAP conforme o manual do Kernel GNU/Linux]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/77/instalar-cliente-openvpn-2.png</image:loc>
<image:title><![CDATA[Instalação do pacote openvpn através do gerenciador de pacotes apk]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/77/conectar-vpn-via-cli-com-openvpn.png</image:loc>
<image:title><![CDATA[Ilustração do comando que abre o túnel VPN. Repare que o tempo de resposta do ping aumentou após alguns momentos - exatamente quando o túnel foi estabelecido.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/como-configurar-usuario-email-git/</loc>
<lastmod>2023-06-08T09:07:49+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/70/capa-como-configurar-email-usuario-git.jpg</image:loc>
<image:title><![CDATA[Como configurar e-mail e usuário no git]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/70/git-log-assinatura-commit.png</image:loc>
<image:title><![CDATA[git log mostrando o dado “Author: Nawarian &lt;nickolas@phpsp.org.br&gt;”]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/70/git-config-list-exemplo.png</image:loc>
<image:title><![CDATA[Ilustração dos comandos git config e a listagem das configurações]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/como-criar-um-jogo-usando-phaser-e-typescript/</loc>
<lastmod>2023-03-14T10:29:19+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/61/Criar-jogo-Phaser-Typescript.png</image:loc>
<image:title><![CDATA[Gamedev usando Phaser e TypeScript por @nawarian]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/61//phaser-logo.png</image:loc>
<image:title><![CDATA[Logotipo do framework Phaser]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/61//citadels-game-screenshot.png</image:loc>
<image:title><![CDATA[Captura de tela do jogo Citadels, escrito em Phaser]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/61//clone-projeto-nawarian-phaser-typescript.png</image:loc>
<image:title><![CDATA[Clonando o projeto nawarian/phaser-ts-skeleton!]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/61//phaser-typescript-npm-install.png</image:loc>
<image:title><![CDATA[Instalando dependências com npm install.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/61//phaser-typescript-modo-desenvolvimento.png</image:loc>
<image:title><![CDATA[Tela do Webpack após compilar nosso projeto Phaser com TypeScript e tornar disponível em http://localhost:8080.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/61//phaser-ts-altura-largura-configuracao.png</image:loc>
<image:title><![CDATA[Tela do projeto Phaser com Typescript em 800x600 pixels.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/61//phaser-ts-logo-vermelho.png</image:loc>
<image:title><![CDATA[Logotipo do Phaser agora em vermelho!]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/como-encontrar-arquivos-no-vim-sem-plugins/</loc>
<lastmod>2022-09-17T05:20:50+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/49/como-encontrar-arquivos-no-vim.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/49/vim-find-main-2.gif</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/49/vim-find-makefile-2.gif</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/49/find-cpu-c-recursivo-2.gif</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/49/find-cpu-wildmenu-2.gif</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/como-escrever-macros-em-c/</loc>
<lastmod>2023-10-10T09:31:46+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/75/capa-escrever-macros-c.jpg</image:loc>
<image:title><![CDATA[Macros em C]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/como-fazer-um-commit-vazio-no-git-github-ou-gitlab/</loc>
<lastmod>2023-01-16T12:37:03+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/59/commit-vazio-sem-arquivos-capa.jpg</image:loc>
<image:title><![CDATA[Como fazer um commit sem arquivos?]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/59/git-commit-vazio-sem-arquivos-allow-empty.jpg</image:loc>
<image:title><![CDATA[Criando um commit vazio com git commit --allow-empty]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/59/git-log-commit-vazio-sem-arquivos.jpg</image:loc>
<image:title><![CDATA[Listagem de commits (git log) mostrando o novo commit vazio.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/como-ler-variaveis-de-ambiente-na-linguagem-rust/</loc>
<lastmod>2023-12-19T12:35:19+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/76/capa-variaveis-de-ambiente-com-rust.jpg</image:loc>
<image:title><![CDATA[Capa: variaveis de ambiente na linguagem Rust]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/como-php-funciona/</loc>
<lastmod>2021-12-28T16:34:18+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/3/2-engine-640.webp</image:loc>
<image:title><![CDATA[Ilustração de um hack de servidores]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/como-redefinir-a-senha-de-root-mysql-mariadb/</loc>
<lastmod>2023-05-26T13:26:18+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/69/mysql-recuperar-senha.png</image:loc>
<image:title><![CDATA[MySQL: como recuperar a senha em 3 passos]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/como-traduzir-manual-php/</loc>
<lastmod>2022-10-31T21:04:28+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/53/capa-traduzir-documentacao-php.jpg</image:loc>
<image:title><![CDATA[Como traduzir o manual do PHP]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/53/capa-subindo-arquivos-github.jpg</image:loc>
<image:title><![CDATA[Artigo: como subir arquivos no github – um guia para iniciantes.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/53/botao-fork-github.png</image:loc>
<image:title><![CDATA[Captura de tela indicando onde está o botão Fork do Github.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/53/projeto-copiado-php-doc-pt_br.png</image:loc>
<image:title><![CDATA[Captura de tela que ilustra um projeto copiado (fork) agora com o nome nawarian/doc-pt_BR.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/53/issue-manual-php-pt-br.png</image:loc>
<image:title><![CDATA[Uma issue no github para coordenar a tradução do arquivo namespaces.xml]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/53/como-editar-arquivo-github.png</image:loc>
<image:title><![CDATA[Imagem que mostra como abrir o modo de edição de arquivos no Github.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/53/como-fazer-commit-github-web.png</image:loc>
<image:title><![CDATA[Onde realizar um commit na interface web do Gtihub.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/53/como-abrir-novo-pull-request-github.png</image:loc>
<image:title><![CDATA[Onde encontrar o botão New pull request.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/53/confirmar-abertura-do-pull-request-github.png</image:loc>
<image:title><![CDATA[Resumo das alterações antes de abrir um Pull Request.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/como-visualizar-e-editar-arquivos-binarios-com-xxd/</loc>
<lastmod>2022-10-31T21:10:03+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/54/capa-visualizar-editar-arquivos-binarios.jpg</image:loc>
<image:title><![CDATA[Como ler, alterar e salvar arquivos binários e representações hexadecimais]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/54/abrir-binario-no-vim.png</image:loc>
<image:title><![CDATA[Arquivo binário aberto como hexadecimal no VIM: xxd empty.studio3 | vim -.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/54/converter-hex-binario-vim.png</image:loc>
<image:title><![CDATA[Hexadecimal transformado em binário após executar o comando :%!xxd -r no VIM.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/54/mudar-nome-arquivo-vim.png</image:loc>
<image:title><![CDATA[Alterando o arquivo de saída com o comando :file modified.studio3.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/comportamento-trabalho-profissionais-tecnologia/</loc>
<lastmod>2024-08-27T13:20:28+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/78/capa-regras-etiqueta-profissionais-tecnologia.png</image:loc>
<image:title><![CDATA[Comportamento: etiqueta no trabalho]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/comunidades-de-desenvolvimento-de-software-brasileiras/</loc>
<lastmod>2022-04-12T14:03:39+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/38/phpsp-locaweb.jpeg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/38/feministech-logo.webp</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/38/phpsp-logo-2.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/38/perifacode-logo.jpeg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/38/phprio-logo.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/38/logo-he4rt2.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/38/logo-beestrong-code.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/38/totvsdev-logo.jpeg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/crawlers-com-php/</loc>
<lastmod>2022-01-30T14:09:13+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/11/16-many-books-and-magazines-640.webp</image:loc>
<image:title><![CDATA[Muitos livros e revistas.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/devlog-emulador-nes-arquitetura/</loc>
<lastmod>2022-01-30T14:06:41+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/20/pexels-tomasz-filipek-1637439.jpeg</image:loc>
<image:title><![CDATA[Console do Nintendo 8-bits e dois controles.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/20//nes-arquitetura-2.png</image:loc>
<image:title><![CDATA[O barramento (BUS) conecta todos os outros componentes do NES.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/devlog-emulador-nes-emulacao-da-cpu-6502-parte-1/</loc>
<lastmod>2022-09-17T05:22:24+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/48/capa-emulador-nes-cpu-parte-01.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/devlog-emulador-nes-github-e-build-simples-com-github-actions/</loc>
<lastmod>2022-09-17T05:24:00+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47/capa-nes-github-actions.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47//Screenshot-2022-07-05-at-15.23.49.png</image:loc>
<image:title><![CDATA[Clique no botão “New repository” para criar um novo repositório no Github.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47//Screenshot-2022-07-05-at-15.24.40.png</image:loc>
<image:title><![CDATA[Adicionamos informações básicas: nome, licença e visibilidade do projeto.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47//Screenshot-2022-07-05-at-15.25.24.png</image:loc>
<image:title><![CDATA[Na página do repositório, clique em “Code”, na aba “SSH” e em seguida no ícone de cópia para obter o endereço do seu repositório.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47//Screenshot-2022-07-05-at-15.30.17.png</image:loc>
<image:title><![CDATA[Após clonar o projeto, entre na pasta e os seguintes arquivos deverão aparecer: .git e LICENSE.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47//Screenshot-2022-07-05-at-15.35.36.png</image:loc>
<image:title><![CDATA[Novo branch]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47//Screenshot-2022-07-05-at-15.36.08.png</image:loc>
<image:title><![CDATA[Criando arquivo ci.yaml]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47//Screenshot-2022-07-05-at-15.37.52.png</image:loc>
<image:title><![CDATA[Adiciona .github/workflows/ci.yaml ao branch]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47//Screenshot-2022-07-05-at-15.37.18.png</image:loc>
<image:title><![CDATA[Branch criado, podemos criar um Pull Request e ver a pipeline funcionando.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47//Screenshot-2022-07-05-at-15.39.08.png</image:loc>
<image:title><![CDATA[Ao criar o Pull Request, o workflow imediatamente começa a rodar.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47//Screenshot-2022-07-05-at-15.39.22.png</image:loc>
<image:title><![CDATA[O detalhamento daquele workflow mostra quais passos rodaram, e que o nosso passo executou e retornou com sucesso (exit 0).]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47//Screenshot-2022-07-05-at-15.33.06.png</image:loc>
<image:title><![CDATA[Compilação do programa main.c]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47//Screenshot-2022-07-05-at-15.34.36.png</image:loc>
<image:title><![CDATA[Compilação em duas fases: linkedição acontece depois.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47//Screenshot-2022-07-05-at-15.41.31.png</image:loc>
<image:title><![CDATA[Compilando o programa do zero e executando build/qmario.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47//Screenshot-2022-07-05-at-15.41.44.png</image:loc>
<image:title><![CDATA[Compilando o programa do zero e executando build/tests.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/47//Screenshot-2022-07-05-at-16.44.29.png</image:loc>
<image:title><![CDATA[Pull Request com a indicação de que todos os testes rodaram e podemos fazer o merge.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/devlog-sokoban-jogador-movimento/</loc>
<lastmod>2022-02-15T08:37:00+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/29/sokoban_player_cover.jpeg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/29/preview_kenneynl.png</image:loc>
<image:title><![CDATA[Spritesheet do pacote Sokoban, disponível no site kenney.nl]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/29/Screenshot-2022-02-12-at-09.27.34.png</image:loc>
<image:title><![CDATA[Linha de comando apresenta as chamadas de compilador incluindo o arquivo src/player.c e build/player.o]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/29/Screenshot-2022-02-12-at-09.55.42.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/29/sokoban_player_demo.gif</image:loc>
<image:title><![CDATA[GIF animado ilustrando o resultado do post de hoje: um personagem se movendo pela tela.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/devlog-sokoban-raylib-esqueleto/</loc>
<lastmod>2022-02-12T10:44:38+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/27/sokoban_kenney-2.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/27/github_repo_screenshot.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/27/janela_raylib_c.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/27/janela_raylib_c_2.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/27/sokoban_kenney.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/entregar-mostrar-perguntar-branch-git/</loc>
<lastmod>2022-05-10T15:16:19+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/24/mostrar-2.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/24/entregar.png</image:loc>
<image:title><![CDATA[Figura 1: Alteração vai direto para o branch principal]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/24/mostrar.png</image:loc>
<image:title><![CDATA[Figura 2: Abra um Pull Request para receber feedback, mas faça o merge imediatamente]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/24/perguntar.png</image:loc>
<image:title><![CDATA[Figura 3: Abrir um Pull Request para receber feedback e esperar para fazer um merge]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/erro-use-of-undefined-constant-php-como-resolver/</loc>
<lastmod>2023-05-02T09:03:22+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/67/php-notice-use-of-undefined-constant-capa.png</image:loc>
<image:title><![CDATA[Foto de uma criança se perguntando confusa: por quê o código dá erro mas funciona?]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/escutar-podcasts-de-tecnologia-e-programacao-em-portugues/</loc>
<lastmod>2024-08-17T14:57:45+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/capa-podcasts-tecnologia-2023.jpg</image:loc>
<image:title><![CDATA[Ouça: 12 podcasts de tecnologia para acompanhar em 2023]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcast-feministech.jpg</image:loc>
<image:title><![CDATA[Logo do podcast Feministech]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcast-quebradev-2.jpg</image:loc>
<image:title><![CDATA[Logo do podcast QuebraDev]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcast-mlkda-da-deepweb-2.jpg</image:loc>
<image:title><![CDATA[Logo do podcast Mlkda da Deepweb]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcast-devnaestrada-2.jpg</image:loc>
<image:title><![CDATA[Logo do podcast DevNaEstrada]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcast-castalio-podcast.jpg</image:loc>
<image:title><![CDATA[Logo do podcast Castálio Podacast]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcasts-hipsters-ponto-tech-2.jpg</image:loc>
<image:title><![CDATA[Logo do podcast Hipsters ponto Tech]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcast-lambda3.jpg</image:loc>
<image:title><![CDATA[Logo do podcast Lambda3]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcast-p-de-podcast-2.jpg</image:loc>
<image:title><![CDATA[Logo do podcast P de Podcast]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcast-cafe-debug.jpg</image:loc>
<image:title><![CDATA[Logo do podcast Café Debug]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcast-devs-cansados-2.jpg</image:loc>
<image:title><![CDATA[Logo do podcast Devs Cansados]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcast-pod-programar.jpg</image:loc>
<image:title><![CDATA[Logo do podcast PodProgramar]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcast-tecnocast-2.jpg</image:loc>
<image:title><![CDATA[Logo do podcast Tecnocast]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcast-array-cast.jpg</image:loc>
<image:title><![CDATA[Logo do podcast The Array Cast]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcast-php-roundable-2.jpg</image:loc>
<image:title><![CDATA[Logo do podcast PHPRoundtable]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcast-php-ugly.jpg</image:loc>
<image:title><![CDATA[Logo do podcast PHPUgly]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/60/podcast-sudo-show-2.jpg</image:loc>
<image:title><![CDATA[Logo do podcast SudoShow]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/feature-flags/</loc>
<lastmod>2022-05-10T15:52:55+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/42/capa-feature-flags.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/42/feature-flags.png</image:loc>
<image:title><![CDATA[Código exemplificando a utilização de feature flags. Transcrição a seguir.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/42/feature-flag-release-produto.png</image:loc>
<image:title><![CDATA[Código exemplificando a utilização de feature flags para o lançamento de produtos. Transcrição a seguir.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/generators-php/</loc>
<lastmod>2021-12-28T16:35:05+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/4/3-generators-640.webp</image:loc>
<image:title><![CDATA[Um computador sendo parcialmente amplificado pelas lentes de um óculos]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/gerador-de-uuid-v4-online-gratuito/</loc>
<lastmod>2023-03-28T08:24:47+02:00</lastmod>
</url>
<url>
<loc>https://codamos.com.br/git-renomear-mensagens-commit-repositorio/</loc>
<lastmod>2023-06-07T15:14:17+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/63/capa-como-renomear-commits-git.jpg</image:loc>
<image:title><![CDATA[Como renomear commits no GIT]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/63/git-log-3-commits.jpg</image:loc>
<image:title><![CDATA[Resultado do comando 'git log' mostrando 3 commits. Todos escritos em inglês.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/63/git-log-ultimo-commit-traduzido.jpg</image:loc>
<image:title><![CDATA[Resultado do comando 'git log' mostrando 3 commits. O último commit agora está em português.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/63/git-rebase-lista-commits.jpg</image:loc>
<image:title><![CDATA[Tela de edição de commits, resultado do comando 'git rebase -i HEAD~2'.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/63/git-rebase-reword.jpg</image:loc>
<image:title><![CDATA[Commit anterior marcado como 'reword' durante 'git rebase -i HEAD~2'.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/63/git-rebase-reword-alterar-mensagem-commit.jpg</image:loc>
<image:title><![CDATA[Tela de edição da mensagem de commit.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/guia-arrays-no-php/</loc>
<lastmod>2023-01-02T11:51:52+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/57/capa-arrays-php.jpg</image:loc>
<image:title><![CDATA[Guia definitivo: arrays em PHP]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/guia-definitivo-perfil-profissional-linkedin-passo-a-passo/</loc>
<lastmod>2022-04-10T10:16:35+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/linkedin-capa.jpeg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/adicionar-linguas.png</image:loc>
<image:title><![CDATA[Meu perfil no LinkedIn, foco na seção de idiomas.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/selecionar-idioma.png</image:loc>
<image:title><![CDATA[Selecionado o idioma Russo, e proficiência básica.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/sobre-linkedin.png</image:loc>
<image:title><![CDATA[Perfil do LinkedIn mostrando a seção &quot;Sobre&quot;.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/editar-sobre-linkedin.png</image:loc>
<image:title><![CDATA[Perfil do LinkedIn mostrando a tela de edição da descrição do perfil.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/Screenshot-2022-03-14-at-22.26.59.png</image:loc>
<image:title><![CDATA[Tela de edição da foto de perfil no LinkedIn.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/Screenshot-2022-03-14-at-22.28.41.png</image:loc>
<image:title><![CDATA[Ao escolher uma foto de perfil no LinkedIn, ajuste o zoom, posição e filtros corretamente.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/adicionar-habilidade-linkedin.png</image:loc>
<image:title><![CDATA[Seção de habilidades, e o botão &quot;+&quot; em foco.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/adicionar-habilidade-blogging.png</image:loc>
<image:title><![CDATA[Escolhendo a habilidade &quot;Blogging&quot; para adicionar ao meu perfil.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/linkedin-experiencias.png</image:loc>
<image:title><![CDATA[Seção de &quot;Experiências&quot; no perfil do LinkedIn.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/editar-experiencia-linkedin.png</image:loc>
<image:title><![CDATA[Página de edição de experiências profissionais.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/editar-descricao-experiencia-linkedin.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/atividades-linkedin.png</image:loc>
<image:title><![CDATA[Seção de atividades no perfil do LinkedIn.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/titulo-perfil-linkedin.png</image:loc>
<image:title><![CDATA[Perfil do LinkedIn com o título em destaque.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/editar-titulo-linkedin.png</image:loc>
<image:title><![CDATA[Perfil do LinkedIn: clique no lápis para editar seu título.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/tela-editar-titulo-linkedin.png</image:loc>
<image:title><![CDATA[Alterar título do LinkedIn. O título não precisa ser o mesmo que a sua posição atual!]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/recomendacoes-perfil-linkedin.png</image:loc>
<image:title><![CDATA[Tela de recomendações do perfil do LinkedIn.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/perfil-certificacoes-linkedin.png</image:loc>
<image:title><![CDATA[Perfil do LinkedIn: adicionar certificação]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/adicionar-certificacao-linkedin.png</image:loc>
<image:title><![CDATA[Tela: adicionar licença ou certificação ao seu perfil do LinkedIn.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/destaques-perfil-linkedin-2.png</image:loc>
<image:title><![CDATA[Adicionar destaques ao perfil do LinkedIn.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/open-to-work-linkedin.png</image:loc>
<image:title><![CDATA[Menu: aberto a encontrar um novo emprego.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/35/quem-ve-linkedin.png</image:loc>
<image:title><![CDATA[Aberto a encontrar novo emprego, e quem vê que estou disponível.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/guia-estilo-de-codigo-para-iniciantes/</loc>
<lastmod>2023-06-07T15:06:17+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/30/no_comments.jpeg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/30/programador-bicho-social.jpg</image:loc>
<image:title><![CDATA[Um programador, em frente ao computador, socializando com outra pessoa.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/30/estudantes-computacao-confusos.jpg</image:loc>
<image:title><![CDATA[Três estudantes tentando entender algo na tela do computador.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/30/computador-antigo.jpg</image:loc>
<image:title><![CDATA[Um computador antigo, da época em que fazia sentido economizar espaço na tela!!]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/30/code_hadouken-2.jpeg</image:loc>
<image:title><![CDATA[Famoso Hadouken da indentação.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/30/close_parens_early.gif</image:loc>
<image:title><![CDATA[GIF animado exemplificando como devemos sempre abrir e fechar blocos imediatamente e só depois implementar o código.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/30/ide-quebra-de-linha.jpg</image:loc>
<image:title><![CDATA[Imagem mostrando linha vertical guia e exemplos de quebra de linha.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/30/tres-programadoras-felizes.jpg</image:loc>
<image:title><![CDATA[Três programadoras em frente ao computador, felizes que o teste passou!]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/instruct-the-women-capacitacao-python-para-mulheres/</loc>
<lastmod>2022-09-17T05:25:20+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/46/instruct-the-women.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/jogos-em-php/</loc>
<lastmod>2022-01-30T14:12:01+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/10/14-snake-640.webp</image:loc>
<image:title><![CDATA[Uma cobra colorida olhando para a câmera.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/10/raylib_architecture_v4.0.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/linguagem-c-como-escrever-callbacks/</loc>
<lastmod>2023-07-03T13:16:36+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/71/linguagem-c-callbacks.jpg</image:loc>
<image:title><![CDATA[Linguagem C: callbacks]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/livro-refactoring-martin-fowler/</loc>
<lastmod>2022-07-21T10:57:16+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/34/capa.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/34/grafico-bom-design-vs-mau-design-2.png</image:loc>
<image:title><![CDATA[Gráfico: funcionalidades x tempo, comparando bom design e mal design.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/34/sim-nao-meme.jpeg</image:loc>
<image:title><![CDATA[Meme: personagem rejeitando o livro &quot;Working effectively with legacy code&quot; e aprovando o livro &quot;Modernizing Legacy Applications in PHP&quot;]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/meu-ip-descubra-seu-ip-externo/</loc>
<lastmod>2023-03-28T08:43:28+02:00</lastmod>
</url>
<url>
<loc>https://codamos.com.br/migracao-banco-de-dados/</loc>
<lastmod>2022-03-14T10:37:37+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/17/23-safe-code-migration-640.webp</image:loc>
<image:title><![CDATA[Um monte de ferramentas: martelos, chaves...]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/nodejs-v8-fases-do-event-loop/</loc>
<lastmod>2022-03-08T20:57:35+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/33/nodejs-event-loop-capa.jpeg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/33/operacao-a-operacao-b-em-sequencia.png</image:loc>
<image:title><![CDATA[Duas operações executando em sequência. A Operação A leva um pouco mais de tempo que a Operação B.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/33/operacao-a-escreve-arquivo-txt.png</image:loc>
<image:title><![CDATA[Operação A, explicitamente bloqueada pela sub-rotina Escrever &quot;arquivo.txt&quot;. Só depois desta execução, a Operação B irá rodar.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/33/es-bloqueante.png</image:loc>
<image:title><![CDATA[Explicitamente a Operação A executa um pouco, é interrompida pela sub-rotina Escrever &quot;arquivo.txt&quot; e retomada assim que a sub-rotina se encerra. Só depois a Operação B executa.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/33/es-nao-bloqueante-2.png</image:loc>
<image:title><![CDATA[Execução não bloqueante. A Operação A inicia e solicita uma operação de E/S, que roda em paralelo. Imediatamente a Operação B executa. Assim que a operação de E/S está pronta, retomamos a Operação A.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/33/fila-operacoes-es.gif</image:loc>
<image:title><![CDATA[Animação (ultra simplificada) exemplificando como as operações são enviadas à filas específicas.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/33//fases-js-2.png</image:loc>
<image:title><![CDATA[As 5 fases do ciclo de vida do Event Loop no JavaScript.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/novidades-php-81/</loc>
<lastmod>2022-10-29T19:35:57+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/capa-novidades-php-8.1-2.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/php81_performance.svg</image:loc>
<image:title><![CDATA[Tempo de requisição necessário para carregar a aplicação Demo do framework Symfomy. Portanto quanto menor o tempo, melhor. Fonte: https://www.php.net/releases/8.1/pt_BR.php]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/sintaxe-enum-php-8.1-3.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/classes-imutaveis-php-antigo-3.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/sintaxe-propriedade-somente-leitura-php-8.1-2.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/sintaxe-constante-de-classe-3.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/sintaxe-nativa-callables-8.1.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/sintaxe-nativa-callables-php-8.1-exemplo-router.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/sintaxe-php-valor-padrao-argumento.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/sintaxe-php-8.1-valor-padrao-argumento-objeto-2.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/sintaxe-php-8.0-uniao-de-tipos.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/sintaxe-php-8.1-interseccao-de-tipos.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/exemplo-redirect-confuso-com-exit.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/sintaxe-php-8.1-tipo-retorno-never.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/sintaxe-php-numeros-octais.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/36/sintaxe-php-8.1-numeros-octais.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/novidades-php-82/</loc>
<lastmod>2022-11-11T22:54:02+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/52/novidades-php-82.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/o-principio-do-samurai/</loc>
<lastmod>2022-09-17T05:26:36+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/44/capa-principio-do-samurai.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/44//ponteiro-nulo-01.png</image:loc>
<image:title><![CDATA[Utilização e tratamento de um ponteiro potencialmente nulo (condição IF linha 7)]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/44//segmentation-fault.png</image:loc>
<image:title><![CDATA[O ponteiro FILE * é nulo e ao chamar fread() com este ponteiro nulo, a aplicação gera um Segmentation fault.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/44//ponteiro-nulo-com-assert.png</image:loc>
<image:title><![CDATA[Ao utilizar assert() não é mais necessário escrever vários IF statements.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/44//exemplo-principio-do-samurai-com-php.png</image:loc>
<image:title><![CDATA[Em PHP podemos lançar e capturar exceções específicas, para controlar o fluxo do programa.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/44//exemplo-panic-com-rust.png</image:loc>
<image:title><![CDATA[Exemplo de interrupção do programa utilizando a macro panic! do Rust.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/o-que-e-software-livre/</loc>
<lastmod>2023-10-08T11:38:52+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/74/capa-o-que-e-software-livre.jpg</image:loc>
<image:title><![CDATA[Afinal, o que é software livre? Dica: não é open source.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/pagina/2/</loc>
</url>
<url>
<loc>https://codamos.com.br/pagina/3/</loc>
</url>
<url>
<loc>https://codamos.com.br/pagina/4/</loc>
</url>
<url>
<loc>https://codamos.com.br/php-8-features/</loc>
<lastmod>2022-10-29T19:36:43+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/14/19-php-features-640.webp</image:loc>
<image:title><![CDATA[Uma imagem com um elefante gigante e brilhante]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/php-8-jit/</loc>
<lastmod>2021-12-28T16:37:30+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/8/10-php-8-jit-640.webp</image:loc>
<image:title><![CDATA[Um número oito representado por uma correia de motor.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/8/zendvm-no-opcache.png</image:loc>
<image:title><![CDATA[PHP code is transformed into tokens, parsed into an Abstract Syntax Tree and compiled into opcodes. Only after all these steps, code is executed by the virtual machine.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/8/zendvm-opcache.png</image:loc>
<image:title><![CDATA[Com a adição do OpCache, o processo de compilar o código PHP em Abstract Syntax Tree e depois em OpCodes pode ser pulado completamente caso já tenha acontecido uma vez.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/8/zendvm-opcache-jit.png</image:loc>
<image:title><![CDATA[Com JIT habilitado, PHP é capaz de compilar alguns OpCodes para código de máquina em tempo de execução, pulando a máquina virtual.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/php-bitwise/</loc>
<lastmod>2021-12-28T16:43:00+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/15/cover-640.webp</image:loc>
<image:title><![CDATA[Uma silhueta humana pintada com zeros e uns]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/php-docker-setup/</loc>
<lastmod>2021-12-28T16:36:45+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/7/7-container-640.webp</image:loc>
<image:title><![CDATA[Um pulando sobre um conteiner]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/php-ffi/</loc>
<lastmod>2021-12-28T16:43:35+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/16/21-php-ffi-640.webp</image:loc>
<image:title><![CDATA[Uma figura humana pintada com zeros e uns.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/16/raylib-window-c.png</image:loc>
<image:title><![CDATA[Uma janela nativa com dimensões 800 por 600 e o título &quot;Hello raylib from C&quot; apresentando um texto em cor vermelha que diz &quot;Hello raylib!&quot;]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/16/raylib-window-php-ffi.png</image:loc>
<image:title><![CDATA[Uma janela nativa com dimensões 800 por 600 e o título &quot;Hello raylib from PHP&quot; apresentando um texto em cor vermelha que diz &quot;Hello raylib!&quot;]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/phpeste-2023-em-fortaleza-ceara/</loc>
<lastmod>2023-03-15T08:20:51+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/62/capa-phpeste-2023-ceara.png</image:loc>
<image:title><![CDATA[PHPeste 2023, em Fortaleza, Ceará]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/62/phpeste-2022-rio-grande-do-norte.jpg</image:loc>
<image:title><![CDATA[PHPeste 2022 em Natal, Rio Grande do Norte. Espaço oferecido pelo SebraeLab 💙]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/62/phpeste-redes-sociais.png</image:loc>
<image:title><![CDATA[Redes e contatos da organização do evento!]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/62/phpeste-planos-de-patrocinio-2023.png</image:loc>
<image:title><![CDATA[Cotas Bronze (R$ 3.000), Prata (R$ 7.000), Ouro (R$ 10.000) e Diamante (R$ 12.000) e seus benefícios.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/phpeste-natal-rio-grande-do-norte-rn-2022/</loc>
<lastmod>2023-03-14T13:37:35+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/45/phpeste-capa.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/45//phpeste-flyer-submissao.jpeg</image:loc>
<image:title><![CDATA[Flyer de divulgação indicando a data 30/06/2022 como limite para submissões de atividades.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/45/phpeste-modalidades-patrocinio.png</image:loc>
<image:title><![CDATA[Ilustração que mostra os benefícios de cada modalidade de patrocínio.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/phpsp-talks-abril-2023-parceria-alura-fiap/</loc>
<lastmod>2023-07-01T10:54:00+02:00</lastmod>
</url>
<url>
<loc>https://codamos.com.br/primeiro-emprego-como-desenvolvedor/</loc>
<lastmod>2022-09-17T05:30:12+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/43/capa-primeiro-emprego-dev.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/43/todos-olhando-pra-mim-2.jpg</image:loc>
<image:title><![CDATA[Todo o time em torno da mesma mesa olhando para o novo membro da equipe.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/43/primeiro-dia-expectativa-vs-realidade.jpg</image:loc>
<image:title><![CDATA[Meme sobre expectativas vs. realidade para o primeiro emprego como pessoa desenvolvedora]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/programacao-por-coincidencia/</loc>
<lastmod>2023-06-07T14:34:27+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/32/capa-programacao-por-coincidencia-2.jpg</image:loc>
<image:title><![CDATA[Pessoa confusa em frente ao computador e a frase "Tá, a gambeta funcionou... mas por que careilhos?"]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/32/meme-funcionou-por-que.jpg</image:loc>
<image:title><![CDATA[Pessoa confusa em frente ao computador e a frase &quot;Tá, a gambeta funcionou... mas por que careilhos?&quot;]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/32/machado-afiado-2.jpg</image:loc>
<image:title><![CDATA[Um machado afiado sobre uma pilha de lenha cortada.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/32/mise-en-place.jpg</image:loc>
<image:title><![CDATA[Mise en place: tudo cortadinho e preparado para a hora de cozinhar.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/32/phpunit-testes-passando.jpg</image:loc>
<image:title><![CDATA[Captura de tela: uma suíte de testes com PHPUnit pasando.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/32/se-nao-sabe-onde-quer-ir-qualquer-caminho-serve.jpg</image:loc>
<image:title><![CDATA[Se você não sabe onde quer ir, qualquer caminho serve.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/sobre-o-codamoscombr/</loc>
<lastmod>2022-01-04T14:15:41+01:00</lastmod>
</url>
<url>
<loc>https://codamos.com.br/subindo-arquivos-no-github/</loc>
<lastmod>2022-10-31T14:09:31+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/13/capa-subindo-arquivos-github.jpg</image:loc>
<image:title><![CDATA[Uma mulher desenvolvedora de software atrás de um computador com adesivos do mascote do Github]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/13/01-new-repository.png</image:loc>
<image:title><![CDATA[Criando um repositório no Github.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/13/02-git-bash-here.png</image:loc>
<image:title><![CDATA[Git Bash Here no Windows.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/tdd-php-exemplos/</loc>
<lastmod>2022-03-14T10:39:16+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/2/1-test-640.webp</image:loc>
<image:title><![CDATA[Dois carros colidindo]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/tdl-aprendizado-por-testes/</loc>
<lastmod>2022-03-14T10:40:24+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/6/6-tdl-framework-640.webp</image:loc>
<image:title><![CDATA[Uma caixa entreaberta]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/testes-php-phpunit/</loc>
<lastmod>2022-03-14T10:40:04+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/5/4-writing-great-tests-640.webp</image:loc>
<image:title><![CDATA[Vários(as) desenvolvedores(as) olhando para a mesma tela de computador tentando entender o que se passa]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/tipos-em-php/</loc>
<lastmod>2021-12-28T16:40:21+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/12/17-php-type-system-640.webp</image:loc>
<image:title><![CDATA[Uma mulher segurando um livro sobre textos cruéis.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/tutorial-compilar-php/</loc>
<lastmod>2021-12-28T16:46:13+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/cover.png</image:loc>
<image:title><![CDATA[Uma screenshot mostrando o processo de compilação do PHP.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/zend-ext-folders.png</image:loc>
<image:title><![CDATA[Pastas /Zend e /ext colocadas em evidência. Screenshot tomada da página do repositório no Github.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/running-docker-alpine.png</image:loc>
<image:title><![CDATA[Uma screenshot mostrando uma sessão bash utilizando o comando &quot;docker run --rm -it alpine:3.13&quot;]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/install-deps.png</image:loc>
<image:title><![CDATA[Dependências do PHP instaladas.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/php-src-ls-a.png</image:loc>
<image:title><![CDATA[Listando arquivos da pasta /opt/php-src-master que acabamos de baixar usando cURL.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/buildconf.png</image:loc>
<image:title><![CDATA[Resultados da execução do script ./buildconf]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/configure-checking-tools.png</image:loc>
<image:title><![CDATA[Configure está verificando a arquitetura do sistema, ferramentas e bibliotecas instaladas.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/makefile-created.png</image:loc>
<image:title><![CDATA[O passo configure gerou um Makefile no mesmo diretório.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/make-compile.png</image:loc>
<image:title><![CDATA[Ao rodar &quot;make&quot; vários objetos são compilados.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/make-succeeded.png</image:loc>
<image:title><![CDATA[Compilação completa com a mensagem &quot;Build complete&quot;. Podemos rodar os testes agora.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/compiled-targets.png</image:loc>
<image:title><![CDATA[Binários dentro da pasta &quot;sapi/&quot;. A imagem mostra a execução do comando &quot;php -v&quot; utilizando o binário CLI.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/test-failed.png</image:loc>
<image:title><![CDATA[Tela mostrando testes que falharam e a pergunta &quot;Você quer enviar este relatório de testes agora? [Sim/Não]&quot;.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/make-install.png</image:loc>
<image:title><![CDATA[Resultado da tarefa &quot;make install&quot;. Ilustra que &quot;php -v&quot; mostra a versão &quot;8.1.0-dev&quot;, mais atual no momento em que escrevo este tutorial.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/enabling-simplexml.png</image:loc>
<image:title><![CDATA[Rodando &quot;configure&quot; com a opção &quot;--enable-simplexml&quot;.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/configure-libxml-error.png</image:loc>
<image:title><![CDATA[Rodando &quot;configure&quot; com a flag &quot;--enable-simplexml&quot; gera um erro dizendo que a extensão LIBXML não está disponível.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/18/libxml2-dev-configure-passes.png</image:loc>
<image:title><![CDATA[Adicionamos o pacote libxml2-dev e executamos o comando configure com as extensões libxml (&quot;--with-libxml&quot;) e simplexml (&quot;--enable-simplexml&quot;).]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/tutorial-instalar-mysql-55-no-ubuntu-2204-lts/</loc>
<lastmod>2024-08-17T19:30:24+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/79/capa-mysql-5.5-no-ubuntu-22.04-lts.jpg</image:loc>
<image:title><![CDATA[Tutorial: como instalar MySQL 5.5 no Ubuntu 22.04 LTS]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/79/iniciar-ubuntu-22.04.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/79/gallery/apt-update-thumbnail.jpg</image:loc>
<image:title><![CDATA[Comando &#96;apt update&#96;]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/79/gallery/instalando-curl-via-apt-thumbnail.jpg</image:loc>
<image:title><![CDATA[Instalando o &#96;curl&#96;]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/79/download-mysql-5.5.jpg</image:loc>
<image:title><![CDATA[Filtro de versão e sistema operacional da listagem de downloads.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/79/download-mysql-5.5-via-curl.jpg</image:loc>
<image:title><![CDATA[Download do servidor MySQL 5.5 via curl]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/79/dpkg-i-mysql-5.5.jpg</image:loc>
<image:title><![CDATA[Extração dos arquivos do servidor MySQL 5.5 via &#96;dpkg --unpack&#96;]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/79/listar-arquivos-mysql.jpg</image:loc>
<image:title><![CDATA[Listagem de arquivos em /opt/mysql/server-5.5]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/79/instalar-bibliotecas-libaio-libtinfo-libncurses.jpg</image:loc>
<image:title><![CDATA[Download de dependências via curl e instalação via dpkg -i]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/79/link-simbolico-binarios-mysql.jpg</image:loc>
<image:title><![CDATA[Criação de links simbólicos dentro de um loop &#96;for&#96;]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/79/criar-grupo-usuario-permissao-mysql.jpg</image:loc>
<image:title><![CDATA[Criação do grupo e usuário mysql. Atribuição da pasta /opt/mysql/server-5.5 à este grupo e usuário.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/79/copia-arquivos-padrao-mysql-5.5.jpg</image:loc>
<image:title><![CDATA[Cópia dos arquivos padrão da instalação do MySQL 5.5]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/79/basedir-e-datadir-mysql-5.5-my.cnf.jpg</image:loc>
<image:title><![CDATA[Adicionadas as opções basedir e datadir no arquivo &#96;/etc/mysql/my.cnf&#96;]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/79/inicializacao-servidor-mysql-5.5.jpg</image:loc>
<image:title><![CDATA[Inicialização das tabelas do banco MySQL 5.5]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/79/teste-servidor-mysql-5.5.jpg</image:loc>
<image:title><![CDATA[Teste do servidor MySQL 5.5 utilizando o comando SQL show databases]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/vagas-arrombadas/</loc>
<lastmod>2022-04-28T17:43:24+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/37/capa-vagas-arrombadas.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/37/vaga-arrombada-1.png</image:loc>
<image:title><![CDATA[Anúncio de vaga com dezenas de linguagens de programação, e formações superiores aleatórias. Destaque para o requisito &quot;Engenharia civil&quot;.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/37/vaga-arrombada-2-2.png</image:loc>
<image:title><![CDATA[Anúncio de vaga que pede melhoria de produtos e processos, agilidade e 6 linguagens de programação diferentes.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/37/vaga-arrombada-3-2.png</image:loc>
<image:title><![CDATA[Anúncio de vaga que pede avaliação de riscos e tomada de decisão e diversas tecnologias.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/37/vaga-arrombada-4.png</image:loc>
<image:title><![CDATA[Descrição de um teste que pede CRUD de clientes, produtos, pedidos de compra, filtros e busca.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/vagas-time-tecnologia-lacrei/</loc>
<lastmod>2022-04-10T08:32:26+02:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/31/capa-lacrei-3.png</image:loc>
<image:title><![CDATA[Lacrei]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/31//logo-lacrei.svg</image:loc>
<image:title><![CDATA[Logotipo do projeto Lacrei]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/31/gallery/lacrei-saude-thumbnail.png</image:loc>
<image:title><![CDATA[Lacrei Saúde]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/31/gallery/lacrei-juridico-thumbnail.png</image:loc>
<image:title><![CDATA[Lacrei Jurídico]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/31/tech-lead.jpeg</image:loc>
<image:title><![CDATA[Mulher em sessão de pair programming.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/31/reactjs-captura-de-tela.jpeg</image:loc>
<image:title><![CDATA[Captura de tela que mostra um fragmento de código em ReactJS]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/31/pessoa-programadora-python.jpeg</image:loc>
<image:title><![CDATA[Pessoa programadora desenvolvendo em Python.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/31/rede.jpeg</image:loc>
<image:title><![CDATA[Ilustração de vários pinos conectados, formando uma rede.]]></image:title>
</image:image>
</url>
<url>
<loc>https://codamos.com.br/vim-basico/</loc>
<lastmod>2023-01-06T08:55:41+01:00</lastmod>
<image:image>
<image:loc>https://codamos.com.br/media/posts/19/Screenshot-2021-12-30-at-02.58.36.png</image:loc>
<image:title><![CDATA[Uma captura de tela mostrando o editor de texto VIM com o plugin NERDTree ligado e três painéis abertos]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/19//Screenshot-2021-12-29-at-17.29.08.png</image:loc>
<image:title><![CDATA[Um arquivo novo chamado &quot;arquivo.txt&quot; aberto com o editor de textos VIM. O símbolo &quot;~&quot; significa ausência de conteúdo, não é uma linha vazia.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/19/Screenshot-2021-12-29-at-21.11.08.png</image:loc>
<image:title><![CDATA[Screenshot mostrando o resultado dos comandos acima. O último comando, &quot;vim --version | head -n4&quot;, mostra a versão do programa VIM instalado.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/19/Screenshot-2021-12-29-at-21.18.58.png</image:loc>
<image:title><![CDATA[Programa VIM com o arquivo &quot;nawarian.txt&quot; aberto. A palavra [New] na barra de status indica que o arquivo não existia antes.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/19/Screenshot-2021-12-29-at-21.26.58.png</image:loc>
<image:title><![CDATA[Ao fechar VIM com :wq o arquivo nawarian.txt foi gravado em disco, mesmo com 0 bytes.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/19/Screenshot-2021-12-29-at-21.35.19.png</image:loc>
<image:title><![CDATA[Com o VIM já aberto, digite &quot; :o codmaos.com.br&quot; e em seguida pressione enter.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/19/Screenshot-2021-12-29-at-21.35.28.png</image:loc>
<image:title><![CDATA[Ao pressionar enter, um novo arquivo chamado codamos.com.br deverá aparecer em seu buffer no VIM.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/19/Screenshot-2021-12-29-at-21.56.39.png</image:loc>
<image:title><![CDATA[Ao pressionar a tecla i VIM entra no modo de inserção e mostra o texto -- INSERT -- na barra de status, indicando que estamos no modo de inserção.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/19/Screenshot-2021-12-29-at-22.00.06.png</image:loc>
<image:title><![CDATA[O texto &quot;Olá mundo&quot; foi escrito no buffer do vim. Ao pressionar ESC voltamos ao modo de comandos, e iniciamos o comando salvar e sair.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/19/Screenshot-2021-12-29-at-22.02.49.png</image:loc>
<image:title><![CDATA[O comando ls -la mostra o arquivo codamos.com.br e seus 11 bytes. Enquanto o comando cat codamos.com.br mostra seu conteúdo &quot;Olá mundo&quot;.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/19/Screenshot-2021-12-29-at-22.19.36.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/19/Screenshot-2021-12-29-at-22.22.59.png</image:loc>
<image:title><![CDATA[Editor VIM após executar o comando &quot;:set nu&quot; mostra o número de cada linha do arquivo nawarian.txt]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/19/vim-adventures.jpg</image:loc>
<image:title><![CDATA[Captura de tela: jogo VIM adventures, ideal para praticar seus primeiros passos no VIM.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/19/Screenshot-2021-12-29-at-22.40.23.png</image:loc>
<image:title><![CDATA[Iniciando uma busca pela palavra VIM usando o comando :/VIM. Três ocorrências deverão ser encontradas no texto.]]></image:title>
</image:image>
<image:image>
<image:loc>https://codamos.com.br/media/posts/19/Screenshot-2021-12-29-at-22.42.24.png</image:loc>
<image:title><![CDATA[A busca pela palavra VIM indica que a busca chegou ao fim do arquivo e precisou retornar ao topo. O cursor foi movido para o começo da linha 1, onde a palavra VIM aparece pela primeira vez no documento.]]></image:title>
</image:image>
</url>
</urlset>