<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://fnsperestrelo.org/</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>daily</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/about</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/curriculum</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/quotes</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/contact</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/privacidade</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/27/sgu-stargate-universe</loc>
<lastmod>2026-09-11T21:59:06.999Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/29/supernatural</loc>
<lastmod>2026-09-11T21:59:07.019Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/30/it-s-complicated</loc>
<lastmod>2026-09-11T21:59:07.025Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/31/the-mentalist</loc>
<lastmod>2026-09-11T21:59:07.029Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/43/cop-out</loc>
<lastmod>2026-09-11T21:53:42.557Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/45/green-zone</loc>
<lastmod>2026-09-11T21:59:07.035Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/55/daybreakers</loc>
<lastmod>2026-09-11T21:59:07.040Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/57/planet-51</loc>
<lastmod>2026-09-11T21:59:07.046Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/60/the-book-of-eli</loc>
<lastmod>2026-09-11T21:59:07.051Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/61/kick-ass</loc>
<lastmod>2026-09-11T21:59:07.056Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/73/the-a-team</loc>
<lastmod>2026-09-11T21:59:07.061Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/74/ip-man-1-e-2</loc>
<lastmod>2026-09-11T21:59:07.066Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/75/sherlock-holmes</loc>
<lastmod>2026-09-11T21:59:07.071Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/76/the-losers</loc>
<lastmod>2026-09-11T21:59:07.078Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/77/solomon-kane</loc>
<lastmod>2026-09-11T21:59:07.083Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/78/from-paris-with-love</loc>
<lastmod>2026-09-11T21:59:07.088Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/79/valentine-s-day</loc>
<lastmod>2026-09-11T21:59:07.092Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/108/megamind</loc>
<lastmod>2026-09-11T21:59:07.096Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/111/due-date</loc>
<lastmod>2026-09-11T21:59:07.099Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/112/gulliver-s-travels</loc>
<lastmod>2026-09-11T21:59:07.103Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/151/skyfall</loc>
<lastmod>2026-09-11T21:53:42.577Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/152/taken-2</loc>
<lastmod>2026-09-11T21:59:07.107Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/153/cloud-atlas</loc>
<lastmod>2026-09-11T21:59:07.111Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/156/the-hobbit</loc>
<lastmod>2026-09-11T21:59:07.114Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/163/here-comes-the-boom</loc>
<lastmod>2026-09-11T21:59:07.118Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/578/novos-metodos-no-set</loc>
<lastmod>2026-08-29T13:15:36.804Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/579/temporal-api</loc>
<lastmod>2026-08-29T13:15:36.827Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/580/agrupar-listas-com-object-groupby</loc>
<lastmod>2026-08-29T13:09:49.639Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/581/ordenar-sem-estragar-o-original</loc>
<lastmod>2026-08-29T13:09:49.677Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/582/structuredclone-copias-profundas-sem-truques</loc>
<lastmod>2026-08-29T13:09:49.695Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/583/cancelar-pedidos-com-abortcontroller</loc>
<lastmod>2026-08-29T13:09:49.706Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/584/promise-withresolvers-ou-a-promessa-com-as-redeas-de-fora</loc>
<lastmod>2026-08-31T14:26:34.464Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/585/o-satisfies-ou-como-validar-sem-perder-o-tipo</loc>
<lastmod>2026-08-29T13:37:32.950Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/586/unioes-discriminadas-deixar-o-compilador-contar-os-casos</loc>
<lastmod>2026-08-29T13:37:32.968Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/587/unknown-o-any-que-obriga-a-pensar</loc>
<lastmod>2026-08-29T13:37:32.982Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/588/tipos-derivados-escrever-a-forma-uma-vez</loc>
<lastmod>2026-08-29T13:37:32.992Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/589/porque-e-que-o-vite-arranca-instantaneamente</loc>
<lastmod>2026-08-31T06:27:22.528Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/590/docker-multi-stage-a-imagem-que-nao-leva-o-que-nao-usa</loc>
<lastmod>2026-08-31T06:27:22.548Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/591/o-node-ja-traz-executor-de-testes</loc>
<lastmod>2026-08-31T06:27:22.582Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/592/npm-install-ou-npm-ci-qual-usar-e-onde</loc>
<lastmod>2026-08-31T06:27:22.620Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/593/modais-sem-biblioteca-o-elemento-dialog</loc>
<lastmod>2026-08-31T13:27:21.259Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/594/o-seletor-que-faltava-ao-css-has</loc>
<lastmod>2026-08-31T13:27:21.294Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/595/datas-moedas-e-listas-em-portugues-sem-instalar-nada</loc>
<lastmod>2026-08-31T13:27:21.312Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/596/saber-quando-algo-entra-no-ecra-intersectionobserver</loc>
<lastmod>2026-08-31T13:27:21.330Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/597/ficheiros-grandes-no-node-sem-encher-a-memoria</loc>
<lastmod>2026-08-31T13:27:21.352Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/598/porque-e-que-a-consulta-ficou-lenta-indices-no-postgres</loc>
<lastmod>2026-08-31T13:27:21.368Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/599/o-n-1-uma-consulta-que-se-multiplica-sem-se-notar</loc>
<lastmod>2026-08-31T13:27:21.383Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/600/git-bisect-encontrar-o-commit-que-partiu-tudo</loc>
<lastmod>2026-08-31T13:27:21.395Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/601/cache-de-http-o-pedido-mais-rapido-e-o-que-nao-se-faz</loc>
<lastmod>2026-08-31T13:27:21.407Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/602/lcp-cls-e-inp-as-tres-medidas-que-o-google-olha</loc>
<lastmod>2026-08-31T13:27:21.418Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/603/como-se-guardam-passwords-e-como-nao-se-guardam</loc>
<lastmod>2026-08-31T14:34:31.144Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/604/cors-o-erro-que-toda-a-gente-ja-viu-e-quase-ninguem-explica</loc>
<lastmod>2026-08-31T14:34:31.175Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/605/jwt-o-que-e-e-sobretudo-o-que-nao-e</loc>
<lastmod>2026-08-31T14:34:31.191Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/606/datas-na-base-de-dados-guarde-sempre-em-utc</loc>
<lastmod>2026-08-31T14:34:31.207Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/607/on-delete-o-que-acontece-as-linhas-que-ficam-para-tras</loc>
<lastmod>2026-08-31T14:34:31.221Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/608/migracoes-de-base-de-dados-sem-noites-em-claro</loc>
<lastmod>2026-08-31T14:34:31.235Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/609/os-quatro-erros-classicos-com-async-await</loc>
<lastmod>2026-08-31T14:34:31.249Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/610/debounce-e-throttle-parecidos-e-nao-sao-a-mesma-coisa</loc>
<lastmod>2026-08-31T14:34:31.259Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/611/o-que-o-do-package-json-realmente-permite</loc>
<lastmod>2026-08-31T14:34:31.268Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/612/acessibilidade-cinco-coisas-que-resolvem-a-maioria-dos</loc>
<lastmod>2026-08-31T14:34:31.278Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/613/voltar-atras-no-git-restore-reset-e-revert</loc>
<lastmod>2026-09-01T08:42:33.387Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/614/rebase-ou-merge-a-regra-que-resolve-a-discussao</loc>
<lastmod>2026-09-01T08:42:33.416Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/615/porque-e-que-aparece-a-em-vez-de-c</loc>
<lastmod>2026-09-01T08:42:33.427Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/616/left-join-o-erro-que-o-transforma-num-inner-join</loc>
<lastmod>2026-09-01T08:42:33.436Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/617/transacoes-o-que-acid-quer-dizer-quando-o-codigo-corre</loc>
<lastmod>2026-09-01T08:42:33.446Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/618/copias-de-seguranca-a-regra-3-2-1-e-o-restauro-que-ninguem</loc>
<lastmod>2026-09-01T08:42:33.456Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/619/a-aplicacao-atras-de-um-proxy-os-cabecalhos-que-faltam</loc>
<lastmod>2026-09-01T08:42:33.466Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/620/limitar-pedidos-sem-incomodar-quem-visita</loc>
<lastmod>2026-09-01T08:42:33.477Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/621/websockets-sse-ou-polling-qual-e-que-o-seu-caso-pede</loc>
<lastmod>2026-09-01T08:42:33.488Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/622/big-o-sem-matematica-porque-e-que-ficou-lento</loc>
<lastmod>2026-09-01T08:42:33.498Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/623/injecao-de-sql-a-vulnerabilidade-que-nao-devia-ter</loc>
<lastmod>2026-09-01T16:20:17.321Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/624/xss-escapar-a-saida-nao-a-entrada</loc>
<lastmod>2026-09-01T16:20:17.355Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/625/cookies-httponly-secure-samesite-e-o-csrf</loc>
<lastmod>2026-09-01T16:20:17.370Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/626/o-event-loop-porque-e-que-um-ciclo-bloqueia-a-pagina-inteira</loc>
<lastmod>2026-09-01T16:20:17.382Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/627/dns-o-que-acontece-antes-do-primeiro-byte</loc>
<lastmod>2026-09-01T16:20:17.392Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/628/https-o-que-o-let-s-encrypt-faz-por-si</loc>
<lastmod>2026-09-01T16:20:17.402Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/629/ssh-com-chaves-e-nunca-mais-uma-password</loc>
<lastmod>2026-09-01T16:20:17.413Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/630/tarefas-agendadas-cron-ou-systemd-timer</loc>
<lastmod>2026-09-01T16:20:17.423Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/631/regex-cinco-construcoes-que-resolvem-quase-tudo</loc>
<lastmod>2026-09-01T16:22:30.010Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/632/logs-o-que-registar-e-o-que-nunca</loc>
<lastmod>2026-09-01T16:22:30.044Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/633/paginacao-porque-e-que-a-pagina-500-demora-tanto</loc>
<lastmod>2026-09-01T16:22:30.056Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/634/idempotencia-o-que-acontece-quando-carregam-duas-vezes</loc>
<lastmod>2026-09-01T16:22:30.066Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/635/aceitar-ficheiros-de-estranhos-sem-levar-com-um-susto</loc>
<lastmod>2026-09-01T16:22:30.076Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/636/testes-onde-vale-mesmo-a-pena-gastar-o-tempo</loc>
<lastmod>2026-09-01T16:22:30.086Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/637/um-segredo-foi-comitado-o-que-fazer-e-por-que-ordem</loc>
<lastmod>2026-09-01T16:22:30.097Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/638/decorators-no-typescript-os-antigos-os-novos-e-quando-usar</loc>
<lastmod>2026-09-03T18:35:57.750Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/639/permissoes-no-linux-o-que-os-numeros-do-chmod-querem-mesmo</loc>
<lastmod>2026-09-04T15:58:43.210Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/640/git-rebase-i-arrumar-os-commits-antes-de-alguem-os-ler</loc>
<lastmod>2026-09-05T18:21:55.818Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/641/do-react-18-para-o-19-o-que-se-ganha-e-o-que-parte-pelo</loc>
<lastmod>2026-09-06T07:09:38.091Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/642/useeffect-os-casos-em-que-nao-precisa-de-nenhum</loc>
<lastmod>2026-09-07T21:24:39.349Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/643/refs-no-react-a-caixa-que-nao-provoca-renders</loc>
<lastmod>2026-09-08T18:25:24.301Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/644/usememo-e-usecallback-quando-compensam-e-quando-sao-so-ruido</loc>
<lastmod>2026-09-09T21:47:27.298Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/645/server-components-o-que-muda-quando-o-componente-nao-vai</loc>
<lastmod>2026-09-11T07:58:07.177Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/646/formularios-e-server-actions-o-caminho-todo-do-input-a-base</loc>
<lastmod>2026-09-11T07:58:07.177Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/647/hooks-do-git-o-que-correr-antes-de-commitar-e-o-que-nao</loc>
<lastmod>2026-09-12T19:42:09.337Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/648/volumes-no-docker-a-pasta-que-aparece-a-pertencer-a-ninguem</loc>
<lastmod>2026-09-13T13:18:32.998Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/649/o-teste-que-le-o-codigo-fonte-guardar-uma-regra-em-vez-de</loc>
<lastmod>2026-09-14T13:02:53.762Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/650/disco-cheio-e-ninguem-sabe-porque-as-tres-armadilhas-do</loc>
<lastmod>2026-09-15T18:05:27.310Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/651/commonjs-ou-esm-o-dia-em-que-o-require-deixa-de-funcionar</loc>
<lastmod>2026-09-16T21:33:30.241Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/652/generics-em-typescript-quando-sao-uteis-e-quando-sao</loc>
<lastmod>2026-09-17T13:07:46.386Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/653/a-key-nas-listas-porque-e-que-o-indice-quase-nunca-serve</loc>
<lastmod>2026-09-18T21:28:06.845Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/654/explain-ler-o-plano-em-vez-de-adivinhar</loc>
<lastmod>2026-09-19T21:48:30.980Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/655/o-contentor-nao-arranca-ler-o-que-ele-diz-antes-de-morrer</loc>
<lastmod>2026-09-21T18:46:25.241Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/656/mocks-quando-ajudam-e-quando-escondem-o-bug</loc>
<lastmod>2026-09-21T18:46:25.241Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/657/o-dockerignore-o-ficheiro-que-quase-ninguem-escreve</loc>
<lastmod>2026-09-22T21:45:10.489Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/658/healthchecks-o-contentor-de-pe-que-nao-responde</loc>
<lastmod>2026-09-24T06:08:36.165Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/659/testes-que-falham-de-vez-em-quando-sao-piores-do-que-nenhum</loc>
<lastmod>2026-09-24T06:08:36.165Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/660/compose-quando-vale-a-pena-e-quando-e-um-ficheiro-a-mais</loc>
<lastmod>2026-09-26T15:51:14.352Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/661/testar-contra-a-base-contentor-ou-memoria</loc>
<lastmod>2026-09-26T15:51:14.352Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/662/systemd-transformar-um-script-num-servico-que-arranca</loc>
<lastmod>2026-09-27T14:44:54.182Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/663/o-servidor-esta-lento-cinco-comandos-por-esta-ordem</loc>
<lastmod>2026-09-30T21:42:48.628Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/664/deixar-coisas-a-correr-depois-de-fechar-a-ligacao</loc>
<lastmod>2026-09-30T21:42:48.628Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/665/o-package-lock-existe-por-uma-razao-e-nao-e-a-que-parece</loc>
<lastmod>2026-09-30T21:42:48.628Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/666/node-em-producao-systemd-pm2-ou-contentor</loc>
<lastmod>2026-10-03T19:50:10.237Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/667/variaveis-de-ambiente-o-que-pode-estar-no-env-e-o-que-nunca</loc>
<lastmod>2026-10-03T19:50:10.237Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/668/type-guards-ensinar-o-compilador-a-acompanhar-o-raciocinio</loc>
<lastmod>2026-10-03T19:50:10.237Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/669/context-o-que-resolve-e-o-render-que-provoca-sem-se-dar-por</loc>
<lastmod>2026-10-05T21:36:58.705Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/670/soft-delete-a-coluna-que-parece-boa-ideia-e-complica-tudo-a</loc>
<lastmod>2026-10-05T22:05:08.765Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/671/imagens-o-peso-que-se-poupa-e-o-salto-na-pagina-que-ninguem</loc>
<lastmod>2026-10-07T05:39:03.253Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/672/content-security-policy-o-cabecalho-que-trava-o-xss-que</loc>
<lastmod>2026-10-07T05:39:03.284Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/673/trocar-a-imagem-sem-cortar-ligacoes-e-o-rollback-que-nao</loc>
<lastmod>2026-10-09T15:48:23.652Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/674/o-gitignore-nao-apaga-o-que-ja-foi-comitado</loc>
<lastmod>2026-10-09T15:49:36.164Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/675/connection-pooling-porque-e-que-a-base-cai-sem-ter-tido-um</loc>
<lastmod>2026-10-14T21:41:33.597Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/676/formularios-que-o-html-ja-valida-sozinho-e-onde-isso-nao</loc>
<lastmod>2026-10-14T21:41:33.634Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/677/o-strict-sao-oito-opcoes-e-as-que-ele-nao-liga</loc>
<lastmod>2026-10-14T21:41:33.647Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/678/o-npm-audit-que-ninguem-le-e-a-versao-maior-que-a-correcao</loc>
<lastmod>2026-10-14T21:41:33.661Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/679/monitorizacao-o-minimo-que-vale-a-pena-num-servidor-pessoal</loc>
<lastmod>2026-10-14T21:41:33.671Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/680/chave-primaria-inteiro-uuid-ou-nenhuma</loc>
<lastmod>2026-10-16T21:47:44.935Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/681/fontes-na-web-foit-fout-e-o-salto-que-se-faz-desaparecer</loc>
<lastmod>2026-10-16T21:47:44.968Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/682/git-stash-onde-o-trabalho-vai-e-de-onde-as-vezes-nao-volta</loc>
<lastmod>2026-10-23T21:28:55.298Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/683/segredos-em-producao-ambiente-ficheiros-e-cofres</loc>
<lastmod>2026-10-23T21:28:55.332Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/684/css-moderno-a-cor-calculada-o-is-e-o-aninhamento</loc>
<lastmod>2026-10-23T21:28:55.344Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/685/os-tipos-utilitarios-que-valem-a-pena-e-os-que-so-complicam</loc>
<lastmod>2026-10-23T21:28:55.356Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/686/o-dia-em-que-a-renovacao-do-certificado-falha</loc>
<lastmod>2026-10-23T21:28:55.368Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/687/git-worktree-dois-ramos-abertos-sem-clonar-duas-vezes</loc>
<lastmod>2026-10-23T21:28:55.402Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/artigo/688/estado-do-servidor-guardado-em-usestate-o-erro-mais-caro</loc>
<lastmod>2026-10-23T21:28:55.390Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/bases-de-dados</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/docker</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/filmes</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/git</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/informatica</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/javascript</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/linux</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/node</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/react</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/seguranca</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/servidores</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/series</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/testes</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/typescript</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/blog/web</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/curriculum/3</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/curriculum/1</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/curriculum/2</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://fnsperestrelo.org/curriculum/4</loc>
<lastmod>2026-10-28T14:38:37.654Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
