O Protocolo HTTP/2

Um protocolo é uma sequência bem definida de regras que estabelecem como será feita a comunicação entre dois sistemas. O HTTP (HyperText Transfer Protocol) é um protocolo de comunicação que permite a transferência de hipertexto (páginas html, imagens, etc) com a utilização de dois outros protocolos, o TCP (Transmission Control Protocol) e o IP (Internet Protocol), e que é utilizado na Internet desde a década de 1990. Com o passar do tempo, surgiu a necessidade de aumentar a segurança na transmissão de dados. Assim surgiu o HTTPS (Hyper Text Transfer Protocol Secure), que é uma implementação do protocolo HTTP que adiciona uma camada a mais especializada em segurança que utiliza o protocolo SSL/TLS (Secure Sockets Layer/Transport Layer Security) para criptografar a conexão entre o cliente e o servidor com a utilização de certificados digitais simétricos.

O HTTP/2 substituiu o HTTP e o HTTPS, mas sem modificar a assinatura dos métodos HTTP (GET, POST, DELETE, etc), os códigos de status (301, 404, 500, etc) e a semântica e mantém retrocompatibilidade com o protocolo HTTP/1.x. Ele cumpre duas especificações: a RFC7540 (especificação do protocolo) e a RFC7541 (compressão de cabeçalho – HPACK). O HTTP tem formato textual, mas o HTTP/2 é binário, o que o torna mais simples. A multiplexação completa da solicitação e da resposta e a compressão eficiente do cabeçalho nativas tornam desnecessárias as gambiarras que eram feitas no HTTP, como a técnica de inlining, o sharding, o spriting e concatenação de arquivos Javascript. A priorização de solicitações e o server push são outras duas características importantes do protocolo. Vamos analisar um pouco melhor as características desse protocolo.

Camada de frames binários: a comunicação do HTTP/2 é encapsulada em mensagens e frames codificados em formato binário para ser transferida entre o cliente e o servidor. Assim, os computadores não precisam gastar tempo para traduzir os dados textuais em formato binário. Em contrapartida, desenvolvedores necessitarão de alguma ferramenta para ler esse formato, como o Wireshark.

Streams, mensagens e frames: os frames binários são mapeados para mensagens de um stream que são multiplexados em uma conexão TCP.

Multiplexação: o HTTP abre várias conexões TCP e só trata uma requisição por vez (enfileiramento de requisições). A camada de frame binário do HTTP/2 permite a multiplexação completa de solicitações e respostas: a mensagem é dividida em frames que se intercalam e posteriormente se reagrupam no destino. Essa é a característica mais importante do HTTP/2, pois ela elimina as “soluções paliativas” que eram feitas com HTTP/1.X e que foram citadas anteriormente.

Priorização de stream: cada stream tem pesos e dependências para possibilitar a divisão em frames. O cliente pode enviar uma árvore de priorização que o servidor pode utilizar para alocar recursos. Essa priorização muda dinamicamente.

Uma conexão por origem: como o stream é dividido em frames que podem ser priorizados e intercalados, basta uma conexão HTTP/2 reutilizável por origem, o que diminui o uso da memória e do processamento

Controle de fluxo: cada fluxo abre uma janela para que a outra extremidade envie informações. As extremidades devem informar ao par que possuem espaço suficiente para lidar com os dados de entrada. A extremidade oposta só pode lidar com a quantidade de espaço informada. O controle de fluxo permite, por exemplo, que o navegador apresente uma prévia de uma imagem solicitada e permita que outras buscas de alta prioridade procedam. A busca dessa imagem, que em nosso exemplo tem baixa prioridade, pode prosseguir posteriormente.

Server push: o servidor pode enviar diversas respostas para uma solicitação sem que o cliente às solicite explicitamente, pois ele prevê que o cliente solicitará determinados recursos. Os recursos enviados por essa técnica são: armazenados em cache pelo cliente, reutilizados em diferentes páginas, multiplexados junto com outros recursos, priorizados pelo servidor e recusados pelo cliente.

Compressão do cabeçalho: os cabeçalhos HTTP são metadados que descrevem as propriedades da informação transitada e ocupam algumas centenas de bytes de espaço. O HTTP/2 comprime o cabeçalho utilizando o formato HPACK.

Reset: esse é um mecanismo que facilita o fechamento e a abertura de conexões.

Para finalizar, veremos como habilitar o suporte ao HTTP/2 nos servidores Apache, Nginx e Node.js. Para visualizar o protocolo como uma coluna na aba Network do developer tools do navegador, veja esses procedimentos. No Chrome, o protocolo HTTP/2 é exibido como h2 e no Firefox é exibido como HTTP2.0.

Habilitando o Suporte ao HTTP/2 no Apache

Primeiro, você deve descomentar a linha abaixo nas configurações no httpd.conf:

LoadModule http2_module modules/mod_http2.so

E seguida, crie um virtual host:

<VirtualHost financeiro.atitudereflexiva.com.br:443>
    DocumentRoot "C:/temp/www" 
    ServerName  financeiro.atitudereflexiva.com.br
    ServerAlias  financeiro.atitudereflexiva.com.br
               
    Options FollowSymLinks Indexes MultiViews Includes

    <Directory  "C:/temp/www">
        Require all granted  
    </Directory>  

    SSLProxyEngine on
    SSLEngine on
    SSLCertificateFile "C:/temp/www/server.crt"
    SSLCertificateKeyFile "C:/temp/www/server.key"
    Protocols h2 http/1.1
</VirtualHost>

Habilitamos o suporte ao SSL, passamos a escutar a porta 443 e geramos um certificado auto-assinado, mas o mais importante é a linha abaixo, que de fato define que estamos utilizando HTTP/2. Nessa linha, h2 significa HTTP/2:

Protocols h2 http/1.1

Suba o servidor e acesse a URL:

https://financeiro.atitudereflexiva.com.br

Habilitando o Suporte ao HTTP/2 no Nginx

No arquivo nginx.conf, insira as linhas abaixo:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include mime.types;
    server {
        listen  443 ssl http2;
        server_name  financeiro.atitudereflexiva.com.br;
        ssl_certificate       C:/temp/www/server.crt;
        ssl_certificate_key   C:/temp/www/server.key;
        location /images/ {
            root C:/temp/www;
        }
    }
    server {
        listen 80;
        location / {
            return 301 https://$host$request_uri;
        }
    }
}

O importante nessa configuração, além do certificado auto-assinado, é a linha abaixo, que escuta a porta 443 e define os protocolos SSL e HTTP/2:

listen  443 ssl http2;

Suba o servidor e acesse a URL:

https://financeiro.atitudereflexiva.com.br

Habilitando o Suporte ao HTTP/2 no Node.js

Crie o arquivo abaixo chamado http2.js:

<
const fs = require('fs');
const http2 = require('http2');

const options = {
  key: fs.readFileSync('server.key'),
  cert: fs.readFileSync('server.crt')
};

const server = http2.createSecureServer(options);
server.on('stream', (stream, requestHeaders) => {
  stream.respond();
  stream.end('Hello World!');
});
server.listen(443, () => {
  console.log('Escutando a porta 443');
});

Inicie um novo projeto:

npm init

Instale as dependências:

npm install http2 fs

Suba o servidor

node http2.js

Acesse a URL:

https://financeiro.atitudereflexiva.com.br

Referências

1. ERES, Blago. How to Enable HTTP/2 in Apache Web Server. How To Forge. Disponível em: [https://www.howtoforge.com/how-to-enable-http-2-in-apache/]. Acesso em 23 abr. 2019.

2. SNELL, James M. Say hello to HTTP/2 for Node.js Core. Medium. Disponível em: [https://medium.com/the-node-js-collection/say-hello-to-http-2-for-node-js-core-261ba493846e]. Acesso em 23 abr. 2019.

3. NODEJS. Node.js v8.16.0 Documentation. Node.js. Disponível em: [https://medium.com/the-node-js-collection/say-hello-to-http-2-for-node-js-core-261ba493846e]. Acesso em 23 abr. 2019.

4. STACKOVERFLOW. Quais são as diferenças entre HTTP 2 e HTTP 1.1?. Stack Overflow. Disponível em: [https://pt.stackoverflow.com/questions/167014/quais-s%C3%A3o-as-diferen%C3%A7as-entre-http-2-e-http-1-1]. Acesso em 23 abr. 2019.

5. GRIGORIK, Ilya; SURMA. Introdução a HTTP/2. Google Developers. Disponível em: [https://developers.google.com/web/fundamentals/performance/http2/?hl=pt-br]. Acesso em 23 abr. 2019.

Anúncios

Client Authentication Básico no Apache

Client Authentication é o processo pelo qual usuários acessam um servidor ou um computador remoto por meio da troca de um certificado digital. Nesse artigo, veremos como configurar o Apache para solicitar as credenciais do usuário no momento em que ele acessar a URL do servidor:

Primeiro, é necessário gerar um certificado digital se você ainda não o possui. Crie um arquivo chamado httpd.passwd que armazenará o usuário/senha admin/admin e rode o comando abaixo para criar usuário e senha:

C:\xampp\apache\bin\htpasswd.exe -b c:\temp\www\httpd.passwd "admin" "admin"

O conteúdo do arquivo será esse:

admin:$apr1$VOWUtTEi$TDtLHgk7CwI8rkqwNMX/T.

Adicione o virtual host abaixo. Esse virtual host escuta a porta 443 e correlaciona o certificado digital utilizado para criptografar o tráfego e aquele usuário e senha definidos:

<VirtualHost financeiro.atitudereflexiva.com.br:443>
    DocumentRoot "C:/temp/www" 
    ServerName  financeiro.atitudereflexiva.com.br
    ServerAlias  financeiro.atitudereflexiva.com.br
               
    Options FollowSymLinks Indexes MultiViews Includes

    <Directory  "C:/temp/www">
        Require all granted  
    </Directory>

    SSLEngine on
    SSLCertificateFile "C:/temp/www/server.crt"
    SSLCertificateKeyFile "C:/temp/www/server.key"

    SSLVerifyDepth 5
    SSLVerifyClient none

    <Location "/teste">
        SSLOptions +FakeBasicAuth +StrictRequire
        SSLRequireSSL
        AuthName             "Minha Autenticacao"
        AuthType             Basic
        AuthBasicProvider    file
        AuthUserFile         "C:/temp/www/httpd.passwd"
        Require              valid-user
    </Location>

</VirtualHost>

Reinicie o Apache e faça os testes. Se você quiser solicitar que o próprio usuário informe o certificado digital para depois validar algum elemento presente no certificado digital, como o e-mail, por exemplo, pode fazer algo assim:

    <Location "/teste">
       SSLVerifyClient require
       SSLVerifyDepth 3
       SSLRequire (%{SSL_CLIENT_S_DN_Email} in 
          {"mail1@teste.com.br","mail2@teste.com.br"}
       )
       SSLRenegBufferSize 31457280
    </Location>

Referências

1. JOHNSON, Kim. What is Client Authentication and Why Do I Need It?. GlobalSign. Disponível em: [https://www.globalsign.com/en/blog/client-authentication-introduction/]. Acesso em 24 abr. 2019.

2. WHEELER, David A. Configuring Apache for Client Certificates (such as DoD CAC cards) on Red Hat Linux/CentOS. David A. Wheeler’s Personal Home Page. Disponível em: [https://dwheeler.com/essays/apache-cac-configuration.html]. Acesso em 24 abr. 2019.

2. WHEELER, David A. SSL/TLS Strong Encryption: How-To. Apache HTTP Server. Disponível em: [http://httpd.apache.org/docs/2.2/ssl/ssl_howto.html]. Acesso em 24 abr. 2019.

Conto: O Sábio Mestre

A professora Lúcia Helena Galvão, da Nova Acrópole, contou a história abaixo em várias palestras [1]. Como todos esses contos Zen, ela encerra uma lição poderosa. O texto abaixo foi extraído de [2]:

Há muito tempo, existia um mestre que vivia com seu discípulos em um templo em ruínas.

Os discípulos eram monges pedintes que sobreviviam do que lhes era dado pelo vilarejo próximo. Os discípulas reclamaram do estado do templo e o mestre respondeu: “Nós devemos reformar as paredes do templo. Desde que nós somente ocupamos o nosso tempo estudando e meditando, não há tempo para que possamos trabalhar e arrecadar o dinheiro que precisamos. Assim, eu pensei numa solução simples”.

Todos os estudantes se reuniam diante do mestre, ansiosos em ouvir suas palavras. O mestre disse: “Cada um de vocês deve ir para a cidade e roubar bens que poderão ser vendidos para a arrecadação de dinheiro. Desta forma, nós seremos capazes de fazer uma boa reforma em nosso templo”.

Os estudantes ficaram espantados por este tipo de sugestão vir do sábio mestre. Mas, desde que todos tinham o maior respeito por ele, não fizeram nenhum protesto. O mestre disse logo a seguir, de modo bastante severo: “No sentido de não manchar a nossa excelente reputação, por estarmos cometendo atos ilegais e imorais, solicito que cometam o roubo somente quando ninguém estiver olhando. Eu não quero que ninguém seja pego”.

Quando o mestre se afastou, os estudantes discutiram o plano entre eles. “É errado roubar”, disse um deles, “Por que nosso mestre nos solicitou para cometermos este ato?”

Outro respondeu em seguida, “Isto permitirá que possamos reformar o nosso templo, na qual é uma boa causa”. Assim, todos concordaram que o mestre era sábio e justo e deveria ter uma razão para fazer tal tipo de requisição. Logo, partiram em direção a cidade, prometendo coletivamente que eles não seriam pegos, para não causarem a desgraça para o templo. “Sejam cuidadosos e não deixe que ninguém os veja roubando”, incentivavam uns aos outros.

Todos os estudantes, com exceção de um, foram para a cidade. O sábio mestre se aproximou dele e perguntou-lhe:

“Por que você ficou para trás?”

O garoto respondeu: “Eu não posso seguir as suas instruções para roubar onde ninguém esteja me vendo. Não importa aonde eu vá, eu sempre estarei olhando para mim mesmo. Meu próprios olhos irão me ver roubando”.

O sábio mestre abraçou o garoto com um sorriso de alegria e disse: “Eu somente estava testando a integridade dos meus estudantes e você é o único que passou no teste!”

Após muitos anos, o garoto se tornou um grande mestre.

Referências

1. GALVÃO, Lúcia Helena. Pequenas lições para desenvolver a VIDA INTERIOR. Nova Acrópole. Disponível em: [https://www.youtube.com/watch?v=bXNxMOwDkWE]. Acesso em 29 mar. 2019.

2. AOIKUWAN. Conto Zen: O Sábio Mestre. Magia Oriental. Disponível em: [https://aoikuwan.com/2014/07/18/conto-zen-o-sabio-mestre/]. Acesso em 29 mar. 2019.

Categorias:Filosofia

A Identidade de Euler: A Beleza da Matemática

Beleza matemática é a ideia de que é possível causar emoções estéticas através da matemática. Como os matemáticos descrevem seus trabalhos como uma forma de arte ou atividade criativa, a matemática, sob esse ponto de vista, pode ser comparada à música ou à poesia.

Uma Igualdade Matemática só pode ser verdadeira sob certas condições, mas uma Identidade Matemática é uma igualdade que permanece verdadeira para quaisquer valores que utilizemos. A Identidade de Euler é a mais famosa das identidades matemáticas.

Essa identidade aparece na obra Introdução, de Leonhard Euler, publicada em Lausanne em 1748. A beleza dessa identidade está em relacionar cinco constantes matemáticas (e, pi, i, 0 e 1) e três operações básicas (adição, multiplicação e exponenciação). A Identidade de Euler é utilizada na análise complexa, que é um ramo da matemática que investiga as funções holomorfas, isto é, as funções que estão definidas em alguma região do plano complexo, e que tomam valores complexos e são diferenciáveis como funções complexas. Nessa identidade:

e (e = 2.71828..): número transcendental que é a base do logaritmo natural e o resultado da soma infinita “1/0! + 1/1! + 1/2! + 1/3! + 1/4! + …”

i (√-1): é a unidade imaginária; é a solução da equação “x² + 1 = 0” e tem a propriedade “i² = -1”. Um número complexo é um número z que pode ser escrito na forma “z = x + yi”, sendo x e y números reais e i a unidade imaginária

π (π = 3.14159…): úmero transcendental obtido pela razão entre o perímetro e o diâmetro de qualquer circunferência

0: representa um número nulo no sistema de numeração, a cardinalidade de um conjunto vazio, o elemento neutro na adição (identidade aditiva) e na subtração e absorvente na multiplicação

1: elemento neutro do produto (identidade multiplicativa)

Como um soneto de Shakespeare que captura a própria essência do amor ou uma pintura que traz à tona a beleza da forma humana mais profunda, a equação de Euler alcança o âmago da existência.

Keith Devlin

Prova Matemática

Nesse artigo, vamos provar a Identidade de Euler. Para fazer isso, primeiro precisamos tecer algumas considerações para termos um ponto de partida. Uma identidade é uma verdade absoluta, mas por que podemos dizer que as duas expressões são iguais? Na verdade, a primeira pergunta que devemos fazer não é “por que e = -1″, mas sim “o que significa e?”. Ou seja, o que significa elevar um número à uma potência imaginária?

A Identidade de Euler é um caso particular da Fórmula de Euler quando θ = π:

e = cos(θ) + isen(θ)

A forma generalizada dessa fórmula é:

einθ = cos(nθ) + isen(nθ)

Que por sua vez é um caso particular da Fórmula de De Moivre:

(cos(x) + isen(x))n = cos(nx) + isen(nx)

A Fórmula de De Moivre é utilizada para calcular potências de números complexos na forma polar. Esta fórmula é importante porque estabelece uma ligação entre os números complexos e a trigonometria: ela ilustra o grau de relacionamento entre as funções exponenciais e as funções trigonométricas.

Sabendo dessa relação, a pergunta muda para “por que eix = cos(x) + isen(x) é a maneira correta de definir o que significa elevar e a uma potência imaginária?” Uma potência imaginária não faz sentido para a definição de exponenciação:

am = {a x a x a x … x a} [m vezes]

Se tentássemos aplicar a definição para i,
não nos moveríamos para lugar algum:

ai = {a x a x a x … x a} [i vezes]

Sendo assim, precisamos expressar as propriedades da exponenciação utilizando algum método que possa ser estendido para as potências complexas. ex pode ser representado como um polinômio na soma infinita abaixo de acordo com o método de Taylor e Maclaurin:

ex = 1 + x/1! + x2/2! + x3/3! + x4/4! + …

Se admitirmos a validade de substituirmos x por iz na equação obteremos:

eiz = 1 + (iz)/1! + (iz)2/2! + (iz)3/3! + (iz)4/4! + …

Sabemos que as potências de i são cíclicas:

Substituindo as potências de i na forma polinomial da exponencial:

eiz = 1 + iz/1! – z2/2! – iz3/3! + z4/4! +
+ iz5/5! – z6/6! – iz7/7! + z8/8! + …

Em seguida, vamos reorganizar esses valores para separar a parte real da parte imaginária:

eiz = (1 – z2/2! + z4/4! – z6/6! + z8/8! -…) +
+ i(z/1! – z3/3! + z5/5! – z7/7! +…)

A parte real e o núcleo da parte imaginária são duas séries infinitas conhecidas:

cos(z) = 1 – z2/2! + z4/4! – z6/6! + z8/8! -…

sen(z) = z/1! – z3/3! + z5/5! – z7/7! +…

O que permite escrever:

eiz = cos(z) + isen(z)

Se assumirmos que z=π:

e = cos(π) + isen(π)

No entanto, a trigonometria nos garante que cos(π)=−1 e sen(π)=0:

e = (-1) + i(0)
e = -1
e + 1 = 0

Resumindo, a prova por Taylor e Maclaurin depende do conhecimento das três séries infinitas que seguem:

Aplicações

A Identidade de Euler, mais especificamente a Fórmula de Euler, é uma ponte entre vários assuntos ligados aos números complexos, como logaritmos complexos, números complexos em suas formas polares, etc. Há vários benefícios em mudar a abordagem do problema para trabalhar com a fórmula de Euler:

1. Diminuir a complexidade de uma equação trabalhando com a forma polar de números complexos

2. Apresenta uma forma mais simples de multiplicar números complexos: na forma retangular, a multiplicação é feita termo a termo, mas com a ajuda da Fórmula de Euler, pode-se multiplicar a magnitude (tamanho do vetor no plano complexo quando representado com suas coordenadas nos eixos imaginário e real) e somar os ângulos.

3. Simplifica a exponenciação de números complexos: para elevar um número complexo à enésima (n) potência, basta elevar sua magnitude à enésima potência e multiplicar seu ângulo por n – Teorema de De Moivre.

4. Possibilita a exponenciação a um número complexo. Esse é o uso principal da própria Identidade de Euler.

5. Permite trabalhar com senos e cossenos hiperbólicos de forma simplificada.

Conhecendo as conexões da Identidade de Euler com o estudo dos números complexos, podemos utilizá-la para auxiliar no estudo da física e na compreensão de fenômenos naturais, como no estudo dos fenômenos harmônicos, mecânica dos fluídos, termodinâmica, eletromagnetismo, propagação de ondas, hidráulica, estruturas dinâmicas, etc.

Exemplo

Como você faria essa operação?

(-1)π = ?

O π é irracional e isso faz com que caia por terra nossa noção de exponenciação uma vez que m ∈ Z:

am = {a x a x a x … x a} [m vezes]

Conhecendo a identidade de Euler, a solução é quase trivial:

e + 1 = 0
-1 = e
(-1)π = (e)π
(-1)π = e2

O que descobrimos já é suficiente, mas se você quiser achar um número que pode ser projetado no plano complexo, pode fazer assim:

(-1)π = (e)π
(-1)π = cos π2 + isen π2
(-1)π ≈ -0,903 – (0,430)i

Referências

1. SPENCER, Philip. Why is e^(pi i) = -1?. University of Toronto, Mathematics Network, Question Corner and Discussion Area. . Disponível em: [https://www.math.toronto.edu/mathnet/questionCorner/epii.html]. Acesso em 13 mar. 2019.

2. KILHIAN, Kleber. Demonstração da Identidade de Euler. O Baricentro da Mente. Disponível em: [https://www.obaricentrodamente.com/2010/07/demonstracao-da-identidade-de-euler.html]. Acesso em 13 mar. 2019.

3. OBMEP. Fórmulas de De Moivre. Clubes de Matemática da OBMEP. Disponível em: [http://clubes.obmep.org.br/blog/formulas-de-moivre/]. Acesso em 14 mar. 2019.

4. SILVA, Luiz Paulo Moreira. Primeira fórmula de Moivre. Mundo Educação. Disponível em: [https://mundoeducacao.bol.uol.com.br/matematica/primeira-formula-moivre.htm]. Acesso em 14 mar. 2019.

5. HANSHA, Ozaner. Understanding Euler’s Formula. Medium. Disponível em: [https://medium.com/@ozanerhansha/understanding-eulers-formula-888e5f58f559]. Acesso em 15 mar. 2019.

6. ______. Applications of Euler’s Formula – Complex Multiplication, Exponentiation, & Trigonometry. Medium. Disponível em: [https://medium.com/@ozanerhansha/applications-of-eulers-formula-857bf60ba32d]. Acesso em 15 mar. 2019.

Categorias:Matemática

A Formação dos Flocos de Neve

Há grandeza nessa visão da vida, de que, com seus vários poderes, tendo sido originalmente soprada em algumas poucas formas, ou em apenas uma, e que, enquanto este planeta tem girado de acordo com a imutável lei da gravidade, a partir de um início tão simples, infinitas formas mais belas e maravilhosas evoluíram, e continuam evoluindo.

Charles Darwin – Origem das Espécies

Um floco de neve nada mais é que um cristal de gelo no qual as moléculas estão alinhadas em um arranjo hexagonal preciso. Essa simetria hexagonal que lembra uma pequena estrela é familiar até mesmo para quem vive nos trópicos. Na região Sul do Brasil, as altas altitudes e as mais baixas latitudes do país permitem o surgimento da neve.

Figura 1 – Um floco de neve

Nesse artigo, trataremos principalmente de um possível processo para a formação dos flocos de neve, mas também explicaremos porque o floco tem formato hexagonal.

O Processo de Formação do Floco de Neve

Para que os flocos de neve sejam formados, duas condições particulares devem ser encontradas nas nuvens: super-saturação (supersaturation) e super-resfriamento (supercooling). A variação dessas condições determina o formato do cristal de neve. A super-saturação ocorre quando há mais vapor d’água no ar do que o limite ordinário de umidade, que é de 100%. O super-resfriamento ocorre quando existe água líquida em temperaturas abaixo de 0°C. Sim, pode existir água líquida abaixo do ponto de congelamento e acima do ponto de ebulição (100°C).

O início do processo de formação de um floco de neve se dá quando há um grão de poeira microscópico flutuando numa nuvem. Quando as condições ideais (super-saturação e super-resfriamento) se apresentam, o vapor d’água presente no interior da nuvem adere ao grão e a gotícula resultante congela. Faces de cristal (faceting) começam a aparecer na gotícula congelada e um prisma de base hexagonal é formado. Os seis ramos (branches) apresentados nas bordas se originam das cavidades formadas em cada face do prisma – o gelo cresce mais rápido perto das bordas. Esses seis ramos formam os vértices de um hexágono porque as próprias moléculas de água se ligam quimicamente em uma rede hexagonal – isso será explicado detalhadamente mais adiante. Quando a temperatura cai para 9°F (-12,78°C) um novo ramo cresce e a 6°F (-14,44°C) brotam ramos laterais (sharpening). Até aqui, foram descritos os três principais subprocessos que determinam o formato final do floco de neve:

1. Faceting (lapidação): causa o aparecimento de estruturas achatadas no cristal como forma de representar a simetria molecular;

2. Branching (ramificação): causa o surgimento de estruturas complexas que se projetam para fora do gelo;

3. Sharpening (afinamento): faz com que os cristais de neve em crescimento se afinem e se achatem em temperaturas próximas à -15°C.

Quando o cristal encontra uma rápida corrente de ar quente seguida de ar frio, mais ramos laterais brotam. O cristal aquece gradualmente tornando as pontas longas. Quando o cristal passa por ar menos frio, o crescimento é retardado e as pontas são ainda mais alongadas.

Figura 2 – Processo de formação de um floco de neve

Flocos de neve maiores dificilmente serão iguais, mas os flocos mais simples e menores que caíram do céu em estágios anteriores não tiveram a chance de se desenvolver completamente. A forma mais simples de um cristal de neve é um prisma hexagonal:

Figura 3 – Formas básicas

O ambiente mutável – principalmente temperatura e umidade – e as diversas maneiras pelas quais a água pode se ligar na superfície do cristal implica que os flocos podem ter uma imensa variedade de formas. O diagrama morfológico do cristal de neve abaixo mostra o formato esperado do floco de neve em virtude das condições ambientais apresentadas. Esse diagrama é conhecido como Diagrama Nakaya, pois esse comportamento foi observado pelo físico japonês Ukichiro Nakaya na década de 1930.

Figura 4 – Diagrama Nakaya

De acordo com o diagrama, os cristais tornam-se mais complexos à medida que a umidade aumenta. Prismas simples surgem quando a umidade é reduzida e as formas ramificadas complexas aparecem quando a umidade é elevada. A morfologia global comporta-se de forma peculiar em função da temperatura – a forma básica achatada se transforma em coluna à medida que a temperatura baixa. Este comportamento é difícil de explicar. Ainda não há um consenso sobre o porquê dos cristais de gelo crescerem de forma diferente quando a temperatura oscila apenas alguns graus.

A Estrutura do Sólido Molecular

O crescimento dos cristais é um problema complexo de dinâmica molecular [7]. A morfologia e o desenvolvimento do cristal dependem do reposicionamento dos átomos que o constituem enquanto solidificam.

Figura 5 – Arranjo molecular nos diferentes estados da água: gelo (sólido), água (líquido) e vapor (gasoso)

Sólidos moleculares são materiais nos quais as moléculas ou os átomos são mantidos juntos por forças intermoleculares como as pontes de hidrogênio e as ligações covalentes polares. O gelo, que é um sólido molecular, é menos denso em sua forma sólida do que na forma líquida e essa é uma propriedade incomum. Em seu estado líquido, as fracas pontes de hidrogênio estão constantemente se restruturando, o que causa uma distribuição aleatória das moléculas de água (H2O). Em seu estado sólido, as pontes formam rígidas tramas com grandes espaços internos que conectam uma molécula a outras quatro.

Figura 6 – Pontes de hidrogênio e ligações covalentes

Por que Estudar Flocos de Neve?

A água possui muitas propriedades incomuns e contra-intuitivas, como o fato de que a água em estado sólido (gelo) é menos densa do que a água em estado líquido. A consequência disso é a flutuabilidade do gelo. A ciência das nuvens é uma das mais importantes áreas da pesquisa sobre mudanças climáticas – os padrões que tornam os flocos de neve tão belos contém a história das nuvens de onde eles vieram.

Estudar a física e a química que regem a interação molecular dos cristais ajuda a construir melhores materiais cristalinos. Entender a forma como os cristais de gelo se desenvolvem pode ajudar a entender como outros cristais se formam e evoluem, como os cristais de silício utilizados para construir os componentes eletrônicos dos computadores. Cristais semicondutores são utilizados em muitas outras aplicações eletrônicas. Cristais com propriedades óticas são utilizados nos lasers e nas telecomunicações.

O Floco de Neve e o Criacionismo

A perfeição de um floco de neve poderia facilmente ser utilizada pela pseudociência como prova do design inteligente ou da vontade divina. Esses indivíduos alegam que a Teoria da Evolução viola a Segunda Lei da Termodinâmica [8].

De acordo com a Segunda Lei da Termodinâmica, “Nenhum processo é possível onde o único resultado seja a transferência de energia de um um corpo mais frio para um corpo mais quente”. Uma outra forma de ler essa lei é que a entropia de um sistema fechado não pode decair. Entropia é um indicador de energia não utilizada, mas às vezes pode ser entendida como desordem. Por isso, os criacionistas afirmam que as coisas sempre progridem da ordem para a desordem.

A vida não é um sistema fechado. Se uma planta receber do sol mais energia do que a contida na semente de onde ela veio, a próxima geração daquela planta receberá mais energia. Muitos sistemas não vivos também são exemplos de ordem proveniente da desordem, como os flocos de neve, as dunas de areia e os tornados. Essa ordem dispensa programação inteligente.

Referências

1. LIBBRECHT, Kenneth G. Snowflake Science. Snow Crystal.com. Disponível em: [http://www.snowcrystals.com/science/science.html]. Acesso em 27 fev. 2019.

2. ______. Snowflake Science. Frequent Asked Questions. Disponível em: [http://www.its.caltech.edu/~atomic/snowcrystals/faqs/faqs.htm]. Acesso em 22 abr. 2019.

3. PROCOPIO, Rafael. A Química do Floco de Neve | Minuto Ciência. Minuto Ciência. Disponível em: [https://www.youtube.com/watch?v=Zj5UKUWvWeQ]. Acesso em 27 fev. 2019.

4. LEARNER, Annenberg. CHEMESTRY: Challenges and Solutions, Section 4: Molecular Solids. Disponível em: [https://www.learner.org/courses/chemistry/text/text.html?dis=U&num=Ym5WdElURS9OQ289&sec=Ym5WdElUQS9OQ289]. Acesso em 27 fev. 2019.

5. GROVE, Kevin. Snow Science. ConXn: ACOCC Campus Forum. Disponível em: [https://cocclib.wordpress.com/2010/03/31/snow-science/]. Acesso em 27 fev. 2019.

6. ZENTILE, Catherine. The Science of Snowflakes: Are Two Snowflakes the Same?. Naked Scientists: Science Features. Disponível em: [https://www.thenakedscientists.com/articles/science-features/science-snowflakes-are-two-snowflakes-same]. Acesso em 27 fev. 2019.

7. TYLER, David. Saber como se formam os flocos de neve. Design Inteligente. Disponível em: [http://designinteligente.blogspot.com/2008/02/saber-como-se-formam-os-flocos-de-neve.html]. Acesso em 27 fev. 2019.

8. ISAAK, Mark. Five Major Misconceptions about Evolution. The TalkOrigins Archive. Disponível em: [http://www.talkorigins.org/faqs/faq-misconceptions.html]. Acesso em 27 fev. 2019.

Categorias:ciência Tags:

Como Habilitar o Protocolo HTTPS no Nginx

Para habilitar o protocolo HTTPS no Nginx, basta definir um virtual host no arquivo de configuração, escutar a porta 443 e criar um certificado auto-assinado para seu server name:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include mime.types;
    server {
        listen  443 ssl;
        server_name  financeiro.atitudereflexiva.com.br;
        ssl_certificate       C:/temp/www/server.crt;
        ssl_certificate_key   C:/temp/www/server.key;
        location /images/ {
            root C:/temp/www;
        }
    }
    server {
        listen 80;
        location / {
            return 301 https://$host$request_uri;
        }
    }
}

A última instrução redireciona todas as chamadas à porta 80 (HTTP) para a porta 443 (HTTPS).

Categorias:Infraestrutura

A Arma de Tchekhov

If you say in the first chapter that there is a rifle hanging on the wall, in the second or third chapter it absolutely must go off. If it’s not going to be fired, it shouldn’t be hanging there.

Anton Tchekhov

Anton Tchekhov (1860-1904) foi um médico, dramaturgo e escritor russo que estabeleceu uma regra utilitarista sobre todas as coisas mostradas em uma obra de entretenimento: um objeto apresentado ao público deve ser utilizado em algum momento da trama, caso contrário, ele deve ser removido para não causar distrações. Claro, se o objeto foi introduzido como uma manobra de diversão, não há problema. Tchekhov utilizou o exemplo da arma que deve ser disparada, mas poderia ser qualquer outro objeto, pessoa, magia, sonho, contexto e etc.

Para o dramaturgo, as histórias deveriam ser enxutas e tudo que fosse apresentado deveria ser muito bem pensado com relação a causas e efeitos. Seria algo como absorver o espectador para dentro da mente criativa do autor sem que ele pudesse escapar devido às distrações causadas por coisas inúteis. Se seguirmos as recomendações de Tchekhov, evitaremos a existência do Deus Ex-Machina, que geralmente é a prova da preguiça ou da falta de imaginação do escritor ou roteirista.

Um bom exemplo de Arma de Tchekhov é o veneno do Basilisco, que foi apresentado em Harry Potter e a Câmara Secreta. No começo da trama, afirmou-se que o veneno do Basilisco era poderosíssimo. Harry se lembra disso no final da história e utiliza uma presa do Basilisco para matar uma Horcrux.

Se analisarmos Harry Potter como uma grande história composta de sete capítulos, também vemos a Arma em ação. Harry utilizou a espada de Gryffindor para matar o Basilisco no capítulo dois. Como a espada absorvia tudo que a tornava mais forte, o veneno do Basilisco fez com que a própria espada pudesse ser utilizada para destruir as Horcruxes que se apresentavam nos últimos capítulos. Em Harry Potter e a Pedra Filosofal, o professor Snape disse, em uma aula de Poções, que “um bezoar era uma pedra retirada do estômago de um bode que atuava como um antídoto para a maioria dos venenos”. Em Harry Potter e o Príncipe Mestiço, sexto capítulo da franquia, Harry utiliza um bezoar para salvar a vida de seu amigo Rony que havia sido envenenado.

Depois de tantos anos sendo utilizada no teatro, no cinema, na literatura e até nos jogos, apareceram derivações da Arma de Tchekhov, mas no final todas querem dizer basicamente a mesma coisa:

1. Bumerangue de Tchekhov: ocorre quando a arma é utilizada em mais de um momento da trama;

2. A Pessoa Armada de Tchekhov: ocorre quando a função da arma é exercida por uma pessoa e não por um objeto;

3. Arsenal de Tchekhov: ocorre quando uma mesma obra apresenta várias armas de Tchekhov;

4. Presente de Tchekhov: ocorre quando a arma se apresenta como um presente dado para algum personagem e que aparentemente não tem função ou importância;

5. Habilidade de Tchekhov: ocorre quando a habilidade que um personagem possui será útil na solução de um problema da trama;

6. Arma de Tchekhov Inversa: ocorre quando o autor apresenta um objeto e dá a entender que aquilo é a arma, mas no momento em que ele é necessário, se mostra inútil;

7. Psicologia da Sala Vazia: ocorre principalmente nos jogos quando os jogadores esperam que todas as áreas de um jogo possuam significado ou razão para estarem ali. Um exemplo é o antigo jogo para computadores Wolfenstein: uma passagem secreta pode estar escondida atrás de uma parede que sequer tem indicações.

Crítica

A arma de Tchekhov deve ser utilizada de forma inteligente pelo autor. Se o elemento for introduzido de forma óbvia ou se o autor descrevê-lo em demasia, o leitor ou espectador poderá antecipar o desfecho da história.

Tchekhov viveu quase toda sua vida no século XIX. Na época dele, a vida era mais simples e as pessoas eram mais rústicas. Naquele tempo, vivia-se com bem menos do que temos hoje e fazia-se uso extensivo do que estivesse disponível. Sendo assim, era muito provável que uma arma apresentada fosse disparada. Se em uma representação artística um objeto apresentado não fosse utilizado, a história não faria muito sentido para o espectador.

A vida no século XXI é muito mais complexa. Temos muitos aparelhos eletrônicos e somos a todo momento bombardeados por informações de todo tipo e qualidade, o que dificulta as nossas escolhas e o nosso foco. Em nosso mundo líquido, os rumos de nossa vida são determinados pelas pequenas escolhas que fazemos a todo o momento. É difícil afirmar que há algo que determine nosso futuro de forma imutável. Sendo assim, basta que uma arma exista naquele universo ficcional para que sua função seja cumprida, pois o objeto também é sua finalidade. Hoje, cada gesto, cada olhar e cada pequeno movimento de um personagem é importante para a trama, que se tornou muito mais complexa do que no tempo de Tchekhov.

Referências

1. DIOGO. A Arma de Chekhov. Boa Noite. Disponível em: [http://umaboanoite.com/a-arma-de-chekhov/]. Acesso em 21 mar. 2019.

2. CLUBEDEAUTORES. 1Q84 e a Lei de Tchekhov. Blog Clube de Autores. Disponível em: [http://blog.clubedeautores.com.br/2017/06/1q84-e-a-anulacao-da-lei-de-tchekhov.html]. Acesso em 22 mar. 2019.

3. GRISCI, Bruno. Analógico: Arma de Chekhov, porque nunca se sabe quando um item será necessário. Nintendo Blast. Disponível em: [https://www.nintendoblast.com.br/2012/04/analogico-arma-de-chekhov-porque-nunca.html]. Acesso em 22 mar. 2019.

4. GOMES, Jonny. O que é a ARMA DE CHEKHOV? | Conceitos do Cinema #8. Câmera 7. Disponível em: [https://www.youtube.com/watch?v=yl-D-NzvMnU]. Acesso em 22 mar. 2019.

Categorias:Geral