[{"content":" A inteligência artificial veio para aumentar sobremaneira nossa produtividade. O ChatGPT, por exemplo, tem me ajudado a escrever textos: se você tem uma ideia do caminho que quer que seu texto percorra, pode lhe fazer perguntas em sequência e pedir que responda cada uma em um parágrafo. Claro que a revisão humana é indispensável, mas depois disso você tem um texto pronto em bem menos tempo que se você tivesse que pensar não no roteiro, mas em cada palavra.\nO ChatGPT também consegue ajudar com comandos e programação. Mas como tenho ouvido falar muito do GitHub Copilot e já uso o GitHub e o Visual Studio Code, decidi experimentá-lo. Eu precisava de um script simples para resolver um problema do dia-a-dia e o pedi ao GitHub Copilot, que resolveu meu problema.\nO GitHub Copilot é um assistente de programação baseado em inteligência artificial desenvolvido pelo GitHub em parceria com a OpenAI (aliás, a empresa por trás do ChatGPT). Ele é capaz de sugerir trechos de código, funções completas e até soluções inteiras diretamente no ambiente de desenvolvimento. Utilizando modelos avançados de linguagem treinados em grandes volumes de código (os repositórios públicos no GitHub), ele entende o contexto do que está sendo escrito e oferece sugestões em tempo real, ajudando a aumentar a produtividade, reduzir erros e acelerar o aprendizado de novas linguagens e frameworks.\nÉ possível usar o GitHub Copilot no navegador, assim como o ChatGPT, mas eu estava mais interessado em ver como usá-lo no VS Code.\nO problema a ser resolvido: eu tenho uma pasta com várias fotos que desejo organizar. Para isso, quero agrupar as fotos por data, colocando as fotos batidas em um mesmo dia na mesma pasta. Essas fotos foram batidas por celulares diferentes. Dependendo do celular, ele nomeia o arquivo com a data e a hora da foto (por exemplo, 20251116_174828.jpg), ou com números sequenciais (IMG_2248.JPG, IMG_2249.JPG, IMG_2250.JPG\u0026hellip;) No primeiro caso, é mais fácil descobrir a data em que a foto foi batida: basta olhar para o nome do arquivo. No segundo caso, é necessário examinar os metadados EXIF registrados pelo celular no arquivo de imagem para determinar a data da foto.\nDependendo do modelo de celular, o nome do arquivo não contém a data da foto, é preciso examinar os metadados. Imaginei que um script em Python daria conta do recado. Escolhi essa linguagem de programação por ser natural para o Linux, o sistema que uso.\nPesquisei como começar a usar o GitHub Copilot, encontrei o Quickstart (início rápido), comecei a segui-lo e rapidamente consegui um script que funcionou para resolver meu problema. A seguir, mostro como fiz e você pode fazer também. Modéstia a parte, considero meu exemplo mais interessante.\nPara usar o GitHub Copilot, você precisará de uma conta pessoal do GitHub com acesso a um plano do Copilot. Você pode começar com o plano Free (gratuito), como eu fiz. Tem limitações, mas já te permite ter um primeiro contato com o GitHub Copilot sem precisar gastar dinheiro já em um primeiro momento.\nVocê pode clicar neste link para ativar o plano gratuito do Copilot na sua conta do GitHub.\nEm seguida, você precisará entrar com sua conta do GitHub no seu ambiente de desenvolvimento. Mostrarei como fazer no VS Code, que é o que eu uso, mas tenha em mente que o GitHub Copilot está disponível para outros IDEs, como JetBrains e Eclipse. Se você usa outro IDE, pesquise como fazer no seu IDE, mas deve ser mais ou menos parecido.\nO VS Code já vem com suporte ao GitHub Copilot integrado. Para ativá-lo, abra o VS Code e aponte para o ícone do GitHub Copilot no canto inferior direito da janela. Clique em Usar Recursos de IA e entre com sua conta do GitHub:\nUma vez habilitado o GitHub Copilot, o prompt passa a aparecer no canto inferior direito da janela, onde se lê Descreva o que criar, e já podemos usá-lo:\nFeche o VS Code, crie uma pasta para o projeto e abra o VS Code nessa pasta:\n$ cd ~ $ mkdir organizar-fotos $ cd organizar-fotos $ code . Em seguida, copie e cole esse texto no prompt e tecle Enter:\nCrie um script em Python que agrupe fotos na pasta atual com base na data em que foram tiradas. Essa data pode ser obtida de metadados EXIF, de preferência, quando estiverem disponíveis, ou do nome do arquivo (YYYYMMDD, por exemplo: 20251116_174828.jpg). Para cada foto na pasta atual, o script deve determinar a data em que a foto foi tirada, criar uma pasta YYYY-MM-DD caso não exista e mover a foto para essa pasta.\nApós um tempo \u0026ldquo;pensando\u0026rdquo;, o GitHub Copilot cria o arquivo na pasta do projeto e ainda dá explicações sobre o código à direita:\nClique em Manter para aceitar a sugestão e manter o arquivo.\nNote que você pode pedir para o GitHub Copilot fazer alterações no script.\nCrie um link simbólico para esse script na pasta ~/bin e atribua-lhe permissão de execução, de modo que você consiga invocá-lo de qualquer pasta:\n$ ln -s ~/organizar-fotos/organizar_por_data.py ~/bin/organizar-fotos $ chmod +x ~/bin/organizar-fotos Se precisar de mais informações sobre o que acabei de fazer, consulte:\nComo criar \u0026ldquo;comandos personalizados\u0026rdquo; no Linux - Linux Kamarada Instale a dependência do script (instrução dada pelo próprio GitHub Copilot):\n$ pip install Pillow Note que se você estiver usando o Linux Kamarada ou o Manjaro, o comando é diferente:\n$ pamac install python-pillow (na verdade, provavelmente você já tem essa biblioteca instalada no seu sistema)\nPronto! Feito isso, podemos usar o script. Mude para a pasta que contém as fotos a serem organizadas e invoque-o:\n$ cd ~/Imagens $ organizar-fotos A pasta de fotos que antes estava assim:\nApós a execução do script, passa a estar assim:\nConfira a seguir o script gerado pelo GitHub Copilot:\n#!/usr/bin/env python3 \u0026#34;\u0026#34;\u0026#34;Organizar fotos em subpastas YYYY-MM-DD por data de captura. - EXIF DateTimeOriginal / DateTime são prioridade (quando disponíveis). - Se EXIF não estiver presente, tenta extrair de nome de arquivo YYYYMMDD ou YYYYMMDDHHMMSS. - Se não for possível, usa a data de modificação do arquivo como fallback. \u0026#34;\u0026#34;\u0026#34; import os import re import shutil from datetime import datetime from pathlib import Path try: from PIL import Image from PIL.ExifTags import TAGS except ImportError: Image = None PHOTO_EXTENSIONS = {\u0026#39;.jpg\u0026#39;, \u0026#39;.jpeg\u0026#39;, \u0026#39;.png\u0026#39;, \u0026#39;.heic\u0026#39;, \u0026#39;.heif\u0026#39;, \u0026#39;.tiff\u0026#39;, \u0026#39;.bmp\u0026#39;, \u0026#39;.gif\u0026#39;} EXIF_DATE_KEYS = [\u0026#39;DateTimeOriginal\u0026#39;, \u0026#39;DateTime\u0026#39;, \u0026#39;DateTimeDigitized\u0026#39;] DATEPATTERNS = [ re.compile(r\u0026#34;(?P\u0026lt;y\u0026gt;\\d{4})(?P\u0026lt;m\u0026gt;\\d{2})(?P\u0026lt;d\u0026gt;\\d{2})\u0026#34;), re.compile(r\u0026#34;(?P\u0026lt;y\u0026gt;\\d{4})-(?P\u0026lt;m\u0026gt;\\d{2})-(?P\u0026lt;d\u0026gt;\\d{2})\u0026#34;), ] def get_exif_date(path: Path) -\u0026gt; datetime | None: if Image is None: return None try: with Image.open(path) as img: exif = img._getexif() or {} except Exception: return None if not exif: return None # Map numeric tags to names exif_named = {} for tag, value in exif.items(): name = TAGS.get(tag, tag) exif_named[name] = value for key in EXIF_DATE_KEYS: if key in exif_named: date_str = exif_named[key] if isinstance(date_str, bytes): try: date_str = date_str.decode(\u0026#39;utf-8\u0026#39;, \u0026#39;ignore\u0026#39;) except Exception: continue # EXIF typical format: \u0026#34;YYYY:MM:DD HH:MM:SS\u0026#34; try: return datetime.strptime(date_str, \u0026#39;%Y:%m:%d %H:%M:%S\u0026#39;) except ValueError: # Tentar formatos alternativos for fmt in [\u0026#39;%Y-%m-%d %H:%M:%S\u0026#39;, \u0026#39;%Y%m%d %H:%M:%S\u0026#39;, \u0026#39;%Y:%m:%d\u0026#39;]: try: return datetime.strptime(date_str, fmt) except ValueError: continue return None def get_date_from_filename(filename: str) -\u0026gt; datetime | None: base = Path(filename).stem # buscar um padrão de data simples for pat in DATEPATTERNS: m = pat.search(base) if m: try: return datetime(int(m.group(\u0026#39;y\u0026#39;)), int(m.group(\u0026#39;m\u0026#39;)), int(m.group(\u0026#39;d\u0026#39;))) except ValueError: continue return None def get_file_mod_date(path: Path) -\u0026gt; datetime: ts = path.stat().st_mtime return datetime.fromtimestamp(ts) def process_directory(folder: Path): if not folder.is_dir(): raise ValueError(f\u0026#34;{folder} não é um diretório\u0026#34;) for entry in folder.iterdir(): if entry.is_file(): ext = entry.suffix.lower() if ext not in PHOTO_EXTENSIONS: continue date = get_exif_date(entry) if date is None: date = get_date_from_filename(entry.name) if date is None: date = get_file_mod_date(entry) target_dir = folder / date.strftime(\u0026#39;%Y-%m-%d\u0026#39;) target_dir.mkdir(parents=True, exist_ok=True) dest = target_dir / entry.name if dest.exists(): # evita sobrescrever: cria nome alternativo base = entry.stem i = 1 while True: candidate = target_dir / f\u0026#34;{base}_{i}{entry.suffix}\u0026#34; if not candidate.exists(): dest = candidate break i += 1 shutil.move(str(entry), str(dest)) print(f\u0026#34;Movido: {entry.name} -\u0026gt; {target_dir.name}/{dest.name}\u0026#34;) def main(): folder = Path(\u0026#39;.\u0026#39;) print(f\u0026#34;Processando diretório: {folder.resolve()}\u0026#34;) process_directory(folder) print(\u0026#39;Concluído.\u0026#39;) if __name__ == \u0026#39;__main__\u0026#39;: main() Observe que a IA do GitHub Copilot ainda teve a iniciativa de fazer algo que não pedimos, mas nos ajuda: se não for possível obter a data da foto nem do nome do arquivo, nem dos metadados EXIF, o script vai considerar a data de modificação do arquivo.\nÉ impressionante ver como graças a IA conseguimos conversar com o computador em linguagem humana natural, e como ela pode nos ajudar a resolver problemas do cotidiano. Mas note que, como diz o ditado, \u0026ldquo;até para perguntar, é preciso saber\u0026rdquo;: a resposta da IA só é tão boa quanto é a nossa pergunta. Se eu não soubesse da existência dos metadados EXIF e/ou não explicasse bem o problema a ser resolvido, talvez a IA não teria gerado um script que me atendesse tão perfeitamente.\n","date":"2026-03-25T22:00:00Z","permalink":"/pt-br/artigo/script-em-python-para-organizar-fotos-em-pastas-por-data-minha-primeira-experi%C3%AAncia-com-o-github-copilot/","title":"Script em Python para organizar fotos em pastas por data: minha primeira experiência com o GitHub Copilot"},{"content":"Vimos na parte 1 deste artigo os diferentes tipos de ondas de rádio existentes, como evoluíram os padrões de Wi-Fi, as faixas de frequências usadas por esses padrões e como analisar o uso do espectro na vizinhança usando o aplicativo WiFiAnalyzer para Android e o WinBox, que é o utilitário de configuração do roteador MikroTik. Começamos nossa análise e configuração pela faixa de 2,4 GHz e agora na parte 2 vamos analisar e configurar a faixa de 5 GHz.\nA faixa de 5 GHz é dividida em mais canais e com maior espaçamento do que a faixa de 2,4 GHz, o que reduz bastante a sobreposição e a interferência entre redes. Esses canais são organizados em diferentes blocos, alguns de uso livre e outros sujeitos a regras especiais (como detecção de radar), permitindo larguras maiores e melhor desempenho. Por haver mais canais disponíveis, é mais fácil escolher um canal limpo, tornando o Wi-Fi em 5 GHz mais rápido e estável, especialmente em ambientes com muitas redes próximas. Dependendo do roteador, é possível combinar canais de 20 MHz para formar canais de 40, 80 ou até mesmo 160 MHz.\nNessa faixa, devemos nos atentar aos canais com restrições, que são os canais DFS (Dynamic Frequency Selection, seleção dinâmica de frequência, em inglês). Esses são canais que compartilham a mesma faixa de frequência usada por radares, como os meteorológicos e aeronáuticos. Para evitar interferir nesses sistemas críticos, os roteadores que usam canais DFS são obrigados a monitorar constantemente a presença de sinais de radar e, se detectarem algum, trocar automaticamente de canal. Esses canais costumam ser menos congestionados e podem oferecer melhor desempenho, mas podem causar trocas inesperadas de canal e pequenas interrupções quando essas trocas acontecem.\nSe quiser mais informações sobre os canais e suas frequências, consulte esta página da Wikipedia que tem tabelas bem detalhadas:\nList of WLAN channels - Wikipedia Assim como fizemos na parte 1 com a faixa de 2,4 GHz, vamos analisar a faixa de 5 GHz usando o aplicativo WiFiAnalyzer (lembrando que nas abas Gráfico e Avaliações devemos mudar para a faixa de 5 GHz, há uma opção para fazer essa mudança na parte superior da tela):\nComo há muitos canais possíveis na faixa de 5 GHz, talvez você tenha que virar o celular para ver a lista completa dos Canais melhores:\nCuriosamente, meu roteador MikroTik na configuração padrão não fornecia uma rede de 5 GHz que eu conseguisse conectar pelo computador ou pelo celular. Pode reparar que a rede (AntonioMedeiros-5GHz) não aparece no gráfico acima. Não sei o motivo de isso acontecer (se você souber, por favor, comente), mas depois com a configuração manual consegui selecionar um bom canal sem interferências que consigo usar tanto no computador quanto no celular.\nNo caso da faixa de 5 GHz, também conseguimos usar o Freq. Usage (lembrar de mudar a Interface para wlan2):\nA frequência de 5180 corresponde ao canal 36, a de 5200 ao canal 40, as duas combinadas formam o canal 38, e assim por diante (confira a Wikipedia).\nTambém conseguimos usar o Scanner (lembrar de mudar a Interface):\nAo que parece, ninguém na vizinhança usa frequências mais altas, acima de 5660 MHz. Na faixa de 5 GHz, meu MikroTik é capaz de ir até 5820 MHz.\nDe posse dessas informações, já podemos ajustar as configurações da rede.\nSe quiser fazer comparações depois, lembre-se de anotar a intensidade do sinal em cada cômodo antes e depois de ajustar a configuração.\nNo WinBox, faça duplo-clique na segunda antena (wlan2) para configurá-la.\nDepois de um tanto de tentativa e erro, a configuração que funcionou para mim foi:\nChannel Width (largura do canal) = 20/40MHz eC Frequency (frequência) = 5700 (isso equivale à combinação dos canais 136 e 140 de 20 MHz)\nAqui, quero fazer algumas observações.\nNa lista de frequências para escolher, perceba que algumas estão destacadas em negrito. Isso indica os canais permitidos e recomendados de acordo com o país configurado, que estão em conformidade com as normas regulatórias e são procurados pela maioria dos dispositivos. Esses canais são considerados seguros, oferecem melhor desempenho e menor risco de interferência, enquanto frequências sem negrito podem exigir configuração manual dos dispositivos, causar instabilidade ou até violar regulamentações. Definir corretamente o país garante que apenas canais legais e estáveis sejam usados na rede Wi-Fi.\nO país é definido no campo Country e, no meu caso, já está como brazil.\nJá na lista de larguras de canal para escolher, perceba que é oferecido 20MHz, mas também 20/40MHz com as opções eC, Ce e XX e 20/40/80MHz com as opções Ceee, eCee, eeCe, eeeC e XXXX. O que querem dizer essas letras?\nPelo que pesquisei, o MikroTik permite combinar canais de 20 MHz para fornecer 40 ou 80 MHz de largura de banda. Não apenas isso, ele também permite definir qual será o canal principal (control channel, representado pela letra C) e quais serão os canais estendidos (e) que ampliam a largura total. Você pode ajustar a posição do canal principal para melhorar a compatibilidade com os dispositivos conectados e o desempenho e a interferência da rede. O recomendado é que o canal principal esteja na frequência mais limpa.\nNessa minha configuração, o cliente vai se conectar ao roteador inicialmente na frequência de 5700 MHz e se comunicar com uma largura de banda de 20 MHz (5690 a 5710). Se for suportado pelo cliente, ele pode combinar com o roteador usarem uma largura de banda de 40 MHz (5670 a 5710).\nSe você voltar na tela do Freq. Usage, verá que essas frequências estão todas livres. E esse entendimento pode ser confirmado vendo tanto o gráfico de canais quanto as informações detalhadas sobre a rede no aplicativo WiFiAnalyzer.\nVejamos como está o Gráfico depois da configuração da rede:\nNote que a rede AntonioMedeiros-5GHz agora ocupa frequências livres de interferência com outras redes.\nAqui está o nível de sinal da rede AntonioMedeiros-5GHz reportado pelo aplicativo WiFiAnalyzer em cada cômodo do apartamento depois dos ajustes (infelizmente, não tenho como comparar com a situação anterior, porque, como disse, a rede Wi-Fi não aparecia para mim na configuração padrão do MikroTik):\nFicam evidentes as características da rede de 5 GHz: em comparação com a faixa de 2,4 GHz, permite mais velocidade e sofre menos interferência, porém tem alcance menor. Se o celular está na mesma sala que o roteador, sem paredes, portas nem janelas entre eles, a intensidade do sinal é máxima. Mas se o celular está nos quartos, o sinal é médio ou ruim.\nNeste artigo, analisei apenas as faixas de 2,4 GHz e 5 GHz porque meu roteador não suporta a faixa de 6 GHz. Mas meu celular suporta essa faixa e tive a curiosidade de analisá-la usando o WiFiAnalyzer. Aparentemente, ela está completamente livre na minha vizinhança, não tem ninguém usando ainda. Quem sabe no futuro, quando eu fizer um upgrade de roteador, escrevo sobre a faixa de 6 GHz.\nNote que as configurações que apresentei aqui são específicas para a realidade dos meus aparelhos e das redes Wi-Fi ao redor da minha casa. Para configurar sua rede Wi-Fi da melhor forma, você deve fazer suas próprias análises usando o aplicativo WiFiAnalyzer e configurar seu roteador de acordo.\nTambém note que não temos controle sobre os pontos de acesso Wi-Fi dos vizinhos, que provavelmente estão no modo automático, de modo que com o passar do tempo as frequências das redes podem mudar. Então, vale a pena de tempos em tempos repetir essas análises com o WiFiAnalyzer.\nCaso você tenha lido este artigo porque é o administrador da rede de um prédio, e precisa espalhar pontos de acesso para oferecer cobertura para o prédio todo, faz sentido configurar cada ponto de acesso para usar uma frequência diferente, de modo que sua rede não interfira com ela mesma. Nesse caso, esse artigo da Ubiquiti Brasil tem considerações interessantes para o projeto da rede.\nDiante do cenário apresentado, você configuraria a rede da minha casa de forma diferente, gostaria de sugerir outra configuração? Como você configurou sua rede? Ficou alguma dúvida? Escreva nos comentários! Até a próxima!\n","date":"2026-01-30T20:05:00Z","permalink":"/pt-br/artigo/como-configurar-a-frequ%C3%AAncia-do-ponto-de-acesso-wi-fi-para-reduzir-a-interfer%C3%AAncia-e-melhorar-o-sinal-parte-2-faixa-de-5-ghz/","title":"Como configurar a frequência do ponto de acesso Wi-Fi para reduzir a interferência e melhorar o sinal - parte 2: faixa de 5 GHz"},{"content":" Seu celular lista várias redes Wi-Fi onde você mora? Como saber se as redes dos vizinhos não estão interferindo na sua? Em grandes cidades com cada vez mais prédios, esse cenário é cada vez mais comum. Este artigo apresenta um aplicativo que te permite analisar a ocupação do espectro Wi-Fi e sugere a melhor configuração para o seu roteador.\nAs tecnologias sem fio se tornaram onipresentes: celulares 4G, notebooks com Wi-Fi, TVs analógicas, digitais, fones de ouvido Bluetooth, rádios AM/FM. Certamente você usa no seu dia-a-dia senão todas, algumas dessas tecnologias. No passado, os aparelhos eram conectados principalmente por fios, que geravam bagunça e poluição visual. Hoje, a bagunça e a poluição continuam existindo, só não são mais visíveis: os aparelhos atuais se conectam principalmente por ondas de rádio.\nAs ondas de rádio diferem principalmente quanto à sua frequência (o quão \u0026ldquo;rápida\u0026rdquo; é a onda), que determina seu alcance e a quantidade de dados transmitidos. Ondas de baixa frequência, como as usadas pelas rádios AM, alcançam grandes distâncias (por isso essas rádios são mais comuns no interior), mas transmitem pouca informação (daí a qualidade inferior do som). Ondas de frequência intermediária, como FM e TV, equilibram alcance e qualidade. Já ondas de alta frequência, como Wi-Fi e Bluetooth, permitem transmitir grandes volumes de dados em alta velocidade, porém têm alcance menor e sofrem mais interferências de obstáculos (como paredes e portas).\nQuem organiza essa bagunça e define qual tecnologia pode usar qual frequência? As faixas de frequências destinadas a cada tecnologia são definidas pelos fabricantes conforme sua função, mas também por órgãos reguladores internacionais e nacionais. Padrões técnicos como os do IEEE para Wi-Fi e Bluetooth definem como cada tecnologia funciona. No âmbito internacional, a ITU coordena o uso do espectro para evitar interferências entre países. Já em cada país, uma agência reguladora aplica essas regras localmente, por exemplo o FCC nos Estados Unidos e a Anatel no Brasil.\nAs redes Wi-Fi (definidas pela família de padrões IEEE 802.11) evoluíram ao longo dos anos para oferecer mais velocidade e capacidade, acompanhando o crescimento do número de dispositivos conectados. Desde as primeiras versões, mais lentas e limitadas, o Wi-Fi passou a usar frequências mais altas, canais mais largos, múltiplas antenas e técnicas para reduzir interferências, resultando em conexões mais rápidas, estáveis e capazes de atender ambientes com muitos aparelhos, como as casas modernas com dispositivos IoT e escritórios.\nAs frequências usadas pelas redes Wi-Fis estão nas faixas de 2,4 GHz, 5 GHz e, mais recentemente, 6 GHz:\na faixa de 2,4 GHz oferece maior alcance e compatibilidade com padrões mais antigos \u0026ndash; 802.11 b/g/n (na nova nomenclatura, Wi-Fi 2/3/4) \u0026ndash; porém menor velocidade. Na prática, é a faixa mais usada, principalmente por aparelhos mais antigos e dispositivos IoT, uma vez que consome menos energia e os circuitos eletrônicos que a suportam são mais baratos. Como existem muitos dispositivos que operam nessa frequência (inclusive não apenas Wi-Fi: fornos de microondas, Bluetooth, etc) está bastante poluída. a faixa de 5 GHz \u0026ndash; padrões 802.11 a/n/ac/ax (Wi-Fi 3/4/5/6) \u0026ndash; já é suportada pela maioria dos smartphones e notebooks atuais e tem sido cada vez mais usada. Em comparação com a faixa de 2,4 GHz, permite mais velocidade e sofre menos interferência, porém tem alcance menor. por fim, a faixa de 6 GHz \u0026ndash; padrões 802.11 ax/be (Wi-Fi 6/7) \u0026ndash; permite velocidades muito altas e ainda menos interferência, mas exige aparelhos novos e compatíveis. Cada uma dessas faixas também é subdividida em canais. Em cada rede Wi-Fi, roteador e dispositivos usam um canal comum para se comunicarem. Graças a isso, várias redes Wi-Fi podem coexistir próximas umas das outras, cada uma usando um canal. O problema acontece quando existem mais redes Wi-Fi do que canais disponíveis, algo comum em prédios e áreas densas. Com isso, uma ou mais redes Wi-Fi podem acabar usando o mesmo canal. Isso não quer dizer que uma rede vai conseguir acessar as informações que circulam na outra, mas que aumenta o ruído, com os sinais das redes interferentes \u0026ldquo;disputando espaço\u0026rdquo; no ar. Quando há interferência, os dispositivos precisam repetir transmissões, o que causa lentidão, quedas de conexão e instabilidade.\nQuer ter uma ideia de como está o \u0026ldquo;espaço aéreo\u0026rdquo; na sua vizinhança? Se você tem um celular com Android, pode baixar da Play Store o aplicativo WiFiAnalyzer. Gratuito e de código aberto, esse aplicativo ajuda a analisar as redes Wi-Fi ao seu redor, listando os pontos de acesso próximos, as intensidades dos seus sinais, canais usados e o quão \u0026ldquo;congestionados\u0026rdquo; esses canais estão. Ele ainda sugere quais seriam os melhores canais para seu ponto de acesso, de modo que você possa reconfigurá-lo para otimizar o desempenho da sua rede Wi-Fi.\nA seguir, mostro como usei esse aplicativo para configurar meu roteador MikroTik e melhorar a rede Wi-Fi do meu apartamento.\nComecemos analisando a faixa de 2,4 GHz.\nOs canais da faixa de 2,4 GHz são divididos e numerados no Brasil do 1 ao 13, cada um ocupando uma largura de cerca de 20 MHz. Como esses canais ficam muito próximos uns dos outros, a maioria se sobrepõe, o que causa interferência quando redes vizinhas usam canais próximos. Por isso, na prática, apenas alguns canais não se sobrepõem entre si \u0026ndash; os mais usados são 1, 6 e 11 \u0026ndash; permitindo que redes próximas funcionem com menos interferência quando cada uma escolhe um desses canais. Dependendo do roteador, é possível combinar canais de 20 MHz para formar canais de 40 MHz.\nPor exemplo, o canal 1 corresponde à frequência central de 2412 MHz. Como ele tem 20 MHz de largura, vai da frequência de 2402 a 2422 MHz.\nSe quiser mais informações sobre os canais e suas frequências, consulte esta página da Wikipedia que tem tabelas bem detalhadas:\nList of WLAN channels - Wikipedia Para analisar o uso da faixa de 2,4 GHz na vizinhança, baixe o aplicativo WiFiAnalyzer da Play Store:\nAo abrir o aplicativo pela primeira vez, ele explica porque precisa que você desative a limitação na busca por Wi-Fi e conceda permissão para que ele possa acessar a localização:\nComece permitindo que o aplicativo acesse a localização. Também ative a localização nas configurações do sistema, caso não esteja ativada.\nDepois, ative as opções do desenvolvedor e desative a opção Limitar busca por Wi-Fi:\nEntão, volte ao aplicativo WiFiAnalyzer.\nA tela inicial (aba Redes) lista todas as redes Wi-Fi que o celular consegue perceber na vizinhança, com informações detalhadas sobre cada uma delas, como intensidade do sinal, canal usado, distância aproximada até o roteador, largura de banda e modelo do roteador:\nPara comparação, a rede Wi-Fi à qual o celular está conectado é fixada no topo. Meu roteador fornece as redes AntonioMedeiros-2GHz e AntonioMedeiros-5GHz.\nObserve que a intensidade do sinal Wi-Fi é medida em dBm negativos. Quanto maior for esse número (menos negativo, mais próximo de zero), mais forte é o sinal. Então, por exemplo, -36dBm é melhor que -59dBm.\nA aba Gráfico mostra os canais de Wi-Fi e como cada rede está usando esses canais (inclusive como elas estão interferindo umas nas outras). As redes que aparecem mais acima apresentam sinal mais forte onde está o celular. É possível selecionar na parte superior a faixa de frequência desejada (2,4 GHz, 5 GHz ou 6 GHz):\nA aba Avaliações mostra quantas redes estão usando cada canal e atribui notas a cada canal, também recomenda quais seriam os melhores canais que poderiam ser usados pelo roteador (aqui também é possível selecionar a faixa):\nO MikroTik, que é um roteador bastante completo, também permite que você confira como as redes Wi-Fi próximas estão ocupando o espectro. Para isso, com o WinBox aberto, vá em Wireless \u0026gt; Wireless:\nA janela que abre lista as antenas do roteador (no caso do MikroTik hAP ac³, são duas, a primeira para a faixa de 2,4 GHz e a segunda para a faixa de 5 GHz):\nPara conferir o uso de cada canal, clique no botão Freq. Usage. Na janela que abre, selecione a Interface (nesse caso, a primeira, para a faixa de 2,4 GHz, wlan1) e clique em Start (iniciar). Depois de alguns segundos, o MikroTik mostra a porcentagem de uso (Usage) e o nível de ruído (Noise Floor) para cada frequência (2412 corresponde ao canal 1, 2417 ao canal 2, e assim por diante):\nObserve que a intensidade do ruído Wi-Fi também é medida em dBm negativos. Mas, diferente da intensidade do sinal, aqui nos interessa o menor número (mais negativo, mais longe de zero). Então, por exemplo, -102dBm é melhor que -98dBm.\nQuando terminar, clique em Stop (parar) e feche a janela.\nPara conferir quais redes Wi-Fi o MikroTik consegue enxergar na vizinhança, clique no botão Scanner. Na janela que abre, selecione a Interface (de novo, a da faixa de 2,4 GHz, que é a wlan1). Antes de continuar, certifique-se de estar conectado ao MikroTik usando um cabo de rede, ou, se estiver conectado à rede de 2,4 GHz do MikroTik, ative a opção Background Scan. Quando estiver pronto, clique em Start. Depois de alguns segundos, o MikroTik mostra para cada rede seu SSID, canal (Channel), intensidade do sinal (Signal Strength), intensidade do ruído (Noise Floor) e a relação sinal-ruído (Signal to Noise):\nEu achei interessante ordenar as redes pelo canal (Channel).\nQuando terminar, clique em Stop (parar) e feche a janela.\nDe posse dessas informações, já podemos ajustar as configurações da rede.\nAntes de fazer isso, se você quiser depois comparar o sinal da sua rede antes e depois dos ajustes, convém visitar cada cômodo da casa ou apartamento com o celular e o aplicativo aberto na aba Redes e anotar a intensidade do sinal em cada cômodo. Apresentarei meu \u0026ldquo;antes e depois\u0026rdquo; no final.\nNo WinBox, faça duplo-clique na primeira antena (wlan1) para configurá-la.\nVou seguir a sugestão do aplicativo WiFiAnalyzer e configurar a antena de 2,4 GHz para usar o canal 1:\nChannel Width (largura do canal) = 20MHz Frequency (frequência) = 2412 Clique em OK para aplicar as alterações, que devem surtir efeito em alguns segundos.\nDepois isso, podemos voltar ao aplicativo WiFiAnalyzer e conferir como está o Gráfico (note que você pode tocar em qualquer rede para obter mais informações sobre ela, daí a segunda tela):\nAqui está o nível de sinal da rede AntonioMedeiros-2GHz reportado pelo aplicativo WiFiAnalyzer em cada cômodo do apartamento antes e depois dos ajustes (os testes nos quartos foram feitos com as portas e janelas fechadas):\nComo se vê, na faixa de 2,4 GHz houve uma melhoria, ainda que mínima, em todos os cômodos.\nComeçar ajustando a faixa de 2,4 GHz pode ser bom para entender melhor os conceitos, uma vez que há menos canais e frequências disponíveis. Mas o ajuste mais interessante mesmo está na faixa de 5 GHz, que disponibiliza muito mais canais, portanto há mais possibilidades para configurarmos uma rede Wi-Fi com bom desempenho e livre de interferências. Analisaremos e configuraremos a faixa de 5 GHz na parte 2 deste artigo.\n","date":"2026-01-30T20:00:00Z","permalink":"/pt-br/artigo/como-configurar-a-frequ%C3%AAncia-do-ponto-de-acesso-wi-fi-para-reduzir-a-interfer%C3%AAncia-e-melhorar-o-sinal-parte-1-faixa-de-24-ghz/","title":"Como configurar a frequência do ponto de acesso Wi-Fi para reduzir a interferência e melhorar o sinal - parte 1: faixa de 2,4 GHz"},{"content":"O protocolo NTP (do inglês Network Time Protocol, protocolo de hora para redes) é usado para sincronizar automaticamente os relógios dos dispositivos de uma rede (como servidores, computadores, celulares, roteadores e outros) a partir de referências de tempo confiáveis, que são servidores de tempo na Internet ou na rede local. No Brasil, a data e hora oficiais brasileiras podem ser sincronizadas via NTP com os servidores de hora do NTP.br.\nNo caso dos roteadores, é importante que estejam sempre com a data e a hora corretas porque isso garante o funcionamento adequado da rede. Com o horário certo, os logs registram eventos corretamente, facilitando a identificação de problemas e incidentes de segurança; tecnologias baseadas em certificados de segurança (como HTTPS e VPNs) funcionam sem erros; regras agendadas, atualizações e serviços automáticos funcionam no momento certo; e a administração do roteador fica mais confiável e organizada.\nSe você tem um roteador MikroTik, saiba que ele é capaz tanto de sincronizar sua própria data e hora com servidores de tempo na Internet, quanto de atuar como servidor de tempo fornecendo data e hora para os computadores na rede local. Como configurá-lo como cliente e servidor NTP é o que você verá a seguir.\nConfigurando o cliente NTP Por padrão, o roteador MikroTik obtém o servidor NTP da operadora via DHCP. Para configurar o MikroTik para não usar esse servidor NTP, abra o WinBox e vá em IP \u0026gt; DHCP Client:\nFaça um duplo-clique na primeira e única interface listada e, na janela seguinte, desmarque a opção Use Peer NTP:\nClique em OK e, de volta para a janela DHCP Client, feche-a.\nPara configurar o cliente NTP do MikroTik, vá em System \u0026gt; NTP Client:\nNa janela NTP Client, marque a opção Enabled e preencha o campo Primary NTP Server com o endereço 2001:12ff::8 e Secondary NTP Server com 200.189.40.8 (essa é a configuração recomendada pelo NTP.br e esses servidores correspondem aos servidores a.ntp.br e b.ntp.br, respectivamente):\nClique em Apply para aplicar as alterações e iniciar o cliente NTP.\nSe você mantiver essa janela aberta, verá que depois de um tempo (alguns segundos ou minutos) o campo Status mostra synchronized:\nAgora você pode clicar em OK para fechar a janela.\nConferindo a data e a hora Para conferir a data e a hora do MikroTik, vá em System \u0026gt; Clock:\nVerifique também se o fuso horário (Time Zone Name) está definido corretamente (America/Sao_Paulo). Senão, ajuste-o.\nObserve também que o horário de verão não é mais usado no Brasil desde o Decreto nº 9.772, de 25 de abril de 2019. Assim, a opção DST Active deve estar desmarcada.\nEstando tudo certo nessa janela, clique em OK para fechá-la.\nConfigurando o servidor NTP Para habilitar o servidor NTP do MikroTik, vá em System \u0026gt; NTP Server, marque a opção Enabled e clique em OK:\nFeito isso, o MikroTik já está disponibilizando data e hora para os dispositivos na rede. Nos dispositivos em que a configuração do cliente NTP deve ser feita de forma manual, você já pode configurá-los para sincronizar a data e hora com o MikroTik informando seu endereço IP local (no meu caso, 10.0.0.1).\nVocê também pode configurar o MikroTik para anunciar seu servidor NTP para os demais dispositivos na rede via DHCP (não tenho certeza se algum dispositivo considera essa informação, mas não custa tentar).\nPara isso, vá em IP \u0026gt; DHCP Server. Na janela que abre, mude para a aba Networks, faça um duplo-clique na primeira e única rede listada e, na janela seguinte, preencha o campo NTP Servers com o endereço IP local do MikroTik:\nClique em OK e, de volta para a janela DHCP Server, feche-a.\nQuando terminar, não se esqueça de fazer backup da configuração do MikroTik!\n","date":"2026-01-06T23:30:00Z","permalink":"/pt-br/artigo/mikrotik-sincronizando-e-fornecendo-data-e-hora-com-o-protocolo-ntp/","title":"MikroTik: sincronizando e fornecendo data e hora com o protocolo NTP"},{"content":"O protocolo DHCP (do inglês Dynamic Host Configuration Protocol, protocolo de configuração dinâmica de host) serve para configurar automaticamente dispositivos quando são conectados à rede. Para que um computador (ou celular, ou smart TV, etc.) possa se comunicar com outros computadores na mesma rede e na Internet, precisa de um endereço IP para si, assim como saber os endereços IP do gateway e do DNS. Você pode definir essas configurações manualmente ou, o que é mais comum no caso de redes domésticas, obtê-las automaticamente do modem da operadora. Isso torna a conexão mais simples, evita erros de configuração e permite que vários dispositivos usem a rede ao mesmo tempo de forma organizada.\nNo exemplo anterior, dizemos que o modem da operadora atua como servidor DHCP e o computador, como cliente DHCP.\nSe você faz experimentos com redes, computadores, celulares e máquinas virtuais, como eu, pode achar interessante fixar os endereços IP dos dispositivos. Configurar o servidor DHCP para atribuir sempre os mesmos endereços IP aos mesmos dispositivos evita ter que configurar cada dispositivo manualmente, facilita o gerenciamento da rede, centralizando a configuração, a criação de regras de firewall, e torna a manutenção mais simples e organizada.\nSe você tem um roteador MikroTik, ele atua como cliente DHCP ao obter as configurações de que precisa do modem da operadora (ou de outro equipamento na rede da operadora, se o modem estiver em modo bridge), mas para os dispositivos que estiverem conectados a ele, ele atua como servidor DHCP, fornecendo as configurações da própria rede. Veja a seguir como configurar o roteador MikroTik para fixar os endereços IP dos dispositivos via DHCP.\nPara configurar os endereços IP fornecidos pelo servidor DHCP do MikroTik, abra o WinBox e vá em IP \u0026gt; DHCP Server:\nNa janela DHCP Server, mude para a aba Leases (concessões):\nNo meu caso, por enquanto, vejo apenas meu notebook (coluna Active Host Name igual a predator).\nPara fixar esse endereço IP, selecione a linha dessa concessão e clique no botão Make Static.\nSó que, no momento, ele está com o endereço IP 10.0.0.254 (coluna Active Adress). Eu quero fixar para ele o endereço IP 10.0.0.2.\nPara editar uma concessão, faça duplo-clique na linha dela.\nAltere o campo Address para o endereço IP desejado e clique em OK:\nEm um primeiro momento, as colunas Address e Active Adress diferem. A primeira mostra o endereço IP configurado, enquanto a segunda mostra o endereço IP atual. Mas basta desconectar e conectar o dispositivo novamente para que ele receba o novo endereço IP. E aí as colunas passam a coincidir.\nVocê não precisa conectar previamente um dispositivo à rede Wi-Fi do MikroTik para só depois definir qual endereço IP ele deve receber. Se de antemão você souber o endereço MAC do dispositivo, pode já cadastrá-lo e atribuir-lhe um endereço IP, de modo que na primeira conexão ele já receba o endereço IP certo.\nVocê pode descobrir o endereço MAC acessando as configurações de rede no sistema operacional do dispositivo. Alguns aparelhos também vem com uma etiqueta com o endereço MAC informado nela. Se você tiver acesso ao modem da operadora, caso ele ainda não esteja em modo bridge e os dispositivos de casa estejam conectados a ele, também pode acessá-lo e obter uma lista dos dispositivos, seus endereços IP atuais e seus endereços MAC.\nPara cadastrar uma concessão, use o botão Add (adicionar):\nInforme o endereço MAC (MAC Address) do dispositivo, o endereço IP (Address) que ele deve receber e clique em OK:\nPara ajudar a identificar os diversos dispositivos cadastrados, você pode inserir um comentário em cada um deles. Para isso, clique com o botão direito em uma concessão e clique em Comment:\nDigite algo para identificar essa concessão e clique em OK:\nRepita isso para cada um dos dispositivos cadastrados:\nQuando terminar de cadastrar todos os seus dispositivos e os endereços IP que eles devem receber, lembre-se de fazer backup da configuração do MikroTik.\nNote que, graças à configuração inicial que fizemos (DHCP Server Range = 10.0.0.200-10.0.0.254), sempre que você conectar um dispositivo novo à rede do MikroTik, ele receberá um endereço IP alto:\nIsso facilita a identificação de novos dispositivos, que só tem três possibilidades: ou é um dispositivo novo que você ainda não fixou um endereço IP, ou é um dispositivo de alguém que está visitando a sua casa, ou é um invasor.\nVocê pode conferir um histórico de todos os dispositivos que se conectaram ao MikroTik e obtiveram endereços IP via DHCP na tela Log:\nA tela Log na verdade mostra um histórico de várias coisas que o MikroTik faz. Para filtrar as informações relacionadas a DHCP, defina um filtro como o seguinte (Topics, contains, dhcp):\n","date":"2026-01-03T21:30:00Z","permalink":"/pt-br/artigo/mikrotik-fixando-endere%C3%A7os-ip-via-dhcp/","title":"MikroTik: fixando endereços IP via DHCP"},{"content":"Você pode querer usar um servidor DNS diferente do padrão da sua operadora de Internet por diversos motivos. Alternativas independentes geralmente fornecem respostas mais rápidas, maior privacidade, menos interferência (por exemplo, de governos, censurando sites), menos redirecionamentos, e ainda podem oferecer recursos extras como bloqueio de sites maliciosos ou controles para os pais, melhorando a experiência e a segurança da navegação. Já mostrei em outro tutorial como descobrir qual servidor DNS é mais rápido para a sua conexão. Veja a seguir como configurar o roteador MikroTik para usar esse servidor DNS na sua rede doméstica.\nComo já comentei em outro artigo, uma vez eu tive um problema com o modem da operadora, que foi infectado por um vírus e teve os servidores DNS alterados. Como consequência, diversos sites passaram a exibir anúncios indesejados em russo, já que as requisições destinadas ao Google Analytics (um serviço usado por muitos sites) eram redirecionadas para um servidor falso. Na época, resolvi o problema acessando a interface do modem, trocando a senha de administrador e corrigindo a configuração de DNS.\nVocê pode escolher um servidor DNS para usar com a ajuda de uma ferramenta como o DNS Benchmark. Para mais informações sobre o que é DNS e como usar o DNS Benchmark, consulte o tutorial:\nDNS Benchmark: descubra o servidor DNS mais rápido para a sua conexão No meu caso, o DNS Benchmark apontou que os servidores DNS que respondem mais rápido de onde estou são os da Cloudflare (1.1.1.1 e 1.0.0.1).\nO roteador MikroTik obtém o servidor DNS da operadora via DHCP. Para configurar o MikroTik para não usar esse servidor DNS, abra o WinBox e vá em IP \u0026gt; DHCP Client:\nFaça um duplo-clique na primeira e única interface listada e, na janela seguinte, desmarque a opção Use Peer DNS:\nClique em OK e, de volta para a janela DHCP Client, feche-a.\nAgora, para configurar quais servidores DNS o MikroTik deve usar, vá em IP \u0026gt; DNS. No campo Servers, informe os endereços IP dos servidores DNS (lembrando que, no meu exemplo, vou usar os da Cloudflare, 1.1.1.1 e 1.0.0.1):\nCertifique-se que a opção Allow Remote Requests está marcada (ela já vem marcada por padrão) e clique em OK.\nPara verificar que o MikroTik está usando os servidores DNS e resolvendo nomes corretamente, vá em Tools \u0026gt; Ping:\nEm Ping To, digite o nome de algum site (pode ser, por exemplo, antoniomedeiros.dev, ou instagram.com, ou google.com, etc.) e clique em Start:\nO MikroTik deve resolver o nome para um endereço IP e começar a \u0026ldquo;pingar\u0026rdquo; o site. Interrompa o teste clicando em Stop.\nCom esse teste, vimos que a resolução de nomes do MikroTik está funcionando.\nVale observar que o MikroTik atua como servidor DNS na rede local e se anuncia via DHCP como servidor DNS para os dispositivos conectados a ele. Se você verificar as configurações de rede do seu computador ou celular conectados ao MikroTik, verá que ele está sendo usado como servidor DNS:\n(nessa imagem, estou usando o Linux Kamarada, mas você também pode facilmente verificar as configurações de rede do Windows, Android, etc.)\nVocê também pode testar a resolução de nomes dos dispositivos conectados ao MikroTik:\nPara finalizar, vale observar que o MikroTik possui um cache de DNS: quando alguém na rede acessa um site, o roteador resolve o nome e guarda essa informação por um tempo; se outra pessoa (ou a mesma) acessar o mesmo site depois, o roteador responde mais rápido, sem consultar o servidor DNS de novo. Isso deixa a navegação mais rápida. Se você tiver curiosidade de ver o cache de DNS do MikroTik, vá em IP \u0026gt; DNS e clique no botão Cache:\nVocê também pode definir registros de DNS estáticos para usar na sua rede local. Para isso, clique no botão Static:\nAgora que você configurou o DNS do seu roteador MikroTik, lembre-se de fazer backup da configuração.\n","date":"2025-12-30T02:00:00Z","permalink":"/pt-br/artigo/mikrotik-como-configurar-o-dns/","title":"MikroTik: como configurar o DNS"},{"content":"O roteador MikroTik permite tanto exportar quanto fazer backup da sua configuração. É possível exportar toda a configuração ou parte dela para um arquivo de texto (um script), que pode ser útil para replicar a mesma configuração em outros roteadores, documentar a rede, comparar mudanças ao longo do tempo e diagnosticar problemas (quando você posta uma dúvida no fórum do MikroTik, comumente te pedem esse script para estudar sua configuração). Já o backup é um arquivo binário, que permite recuperar completa e rapidamente a configuração do roteador em caso de falhas.\nEu sempre faço ambos ao mesmo tempo: exporto a configuração como script e também faço backup como arquivo binário, e guardo os dois arquivos juntos. O script é útil para saber o que mudou na configuração de um dia pro outro, e o backup é útil caso eu precise restaurar esse configuração.\nFazendo backup da configuração Para fazer backup da configuração do MikroTik, no WinBox, vá em Files:\nA janela File List lista os arquivos e pastas na memória interna do MikroTik:\nClique no botão Backup.\nTodas as configurações da janela Backup Config são opcionais. Você pode definir um nome para o arquivo (Name), mas por padrão o arquivo é nomeado com a data e a hora do backup. Você também pode criptografar o backup com uma senha, se quiser. Clique no botão Backup Config:\nNesse exemplo, foi gerado um arquivo com o nome de MikroTik-20251204-2101.backup. Clique com o botão direito nesse arquivo e clique em Download:\nIndique onde salvar o arquivo no seu computador:\nSe você estiver usando o WinBox no Linux via Wine, o mais prático é salvar na pasta Documentos e de lá mover para onde quiser.\nExportando a configuração Para exportar a configuração do MikroTik como um script, no WinBox, vá em New Terminal:\nO MikroTik é mesmo muito versátil: todas as configurações que podemos fazer pelo WinBox ou pela interface web, também podemos fazer pelo terminal.\nNo Terminal, digite export file=backup e tecle Enter:\nVá em Files novamente e perceba que foi gerado um arquivo chamado backup.rsc:\nClique com o botão direito nesse arquivo e clique em Download para baixá-lo para o seu computador.\nSe quiser, você consegue abrir esse arquivo com um editor de texto e analisar a configuração do seu roteador:\nSe você usa algum controle de versões como o Git, pode armazenar tanto o backup (arquivo binário) quanto o script (arquivo de texto) em um repositório privado do GitHub, GitLab ou Bitbucket e atualizá-los sempre que fizer alguma modificação na configuração do MikroTik.\nPor exemplo, a tela a seguir mostra o que mudou na configuração do roteador entre restaurar a configuração de fábrica e fazer a configuração inicial:\n","date":"2025-12-05T19:50:00Z","permalink":"/pt-br/artigo/mikrotik-como-exportar-e-fazer-backup-da-configura%C3%A7%C3%A3o/","title":"MikroTik: como exportar e fazer backup da configuração"},{"content":"Restaurar a configuração de fábrica de um roteador MikroTik é útil quando é mais rápido ou seguro começar do zero do que tentar consertar problemas na configuração atual, como configurações antigas ou bagunçadas, erros que quebram o acesso ou a conectividade, ou perda de senha. Também é útil quando se quer preparar o equipamento para outra casa ou pessoa, ou para restaurar a configuração padrão após atualizações.\nQuando me mudo (e isso acontece de tempos em tempos, pareço até um nômade), gosto de atualizar o software do MikroTik, restaurar a configuração de fábrica e refazer a configuração do início. Pode ser perfeccionismo, mas é assim que faço.\nSe você estiver perto do roteador, uma forma de restaurar sua configuração de fábrica, especialmente útil se você não estiver conseguindo se conectar com ele, é usando o botão de Reset que fica no próprio roteador:\nPara restaurar a configuração de fábrica do MikroTik usando o botão de Reset:\nDesconecte o roteador da tomada; Pressione e mantenha pressionado o botão de Reset; Conecte o roteador à tomada; Quando o LED começar a piscar, solte o botão. Se você tiver conexão com o roteador e preferir fazer isso pelo WinBox, vá em System \u0026gt; Reset Configuration:\nClique no botão Reset Configuration:\nNa janela de confirmação, clique em Yes:\nAguarde o MikroTik reiniciar com as configurações padrão de fábrica.\nRelembrando, por padrão ele fornece uma rede Wi-Fi aberta, conecte-se a ela. Depois, acesse-o pelo WinBox (o endereço IP padrão do MikroTik é 192.168.88.1, o Login padrão é admin e a senha padrão é vazia):\nAo entrar no WinBox, ele apresenta um resumo das configurações de fábrica, clique em OK:\nEm seguida, ele pede para mudar a senha. Digite e confirme a nova senha nos dois campos de baixo e clique em Change Now:\nDe certo, você não vai querer manter sua rede Wi-Fi aberta e sem senha. Para fazer as configurações básicas do MikroTik, use o conhecido botão Quick Set:\nContinue pelo primeiro tutorial:\nPrimeiros passos com o MikroTik hAP ac: roteador profissional para a rede de casa ","date":"2025-11-30T22:45:00Z","permalink":"/pt-br/artigo/mikrotik-como-restaurar-a-configura%C3%A7%C3%A3o-de-f%C3%A1brica/","title":"MikroTik: como restaurar a configuração de fábrica"},{"content":"Atualizações de software sempre são importantes para corrigir falhas de segurança e problemas de desempenho que são identificados nos sistemas, além de trazer novas funcionalidades e suporte a novas tecnologias, permitindo que você aproveite o máximo do equipamento, seja ele um computador, um celular, ou\u0026hellip; um roteador Wi-Fi da MikroTik!\nOs equipamentos de rede da MikroTik tem um sistema operacional próprio que é o RouterOS, que garante que todos eles possam todos ser gerenciados pelo WinBox e tenham mais ou menos as mesmas funcionalidades \u0026ndash; roteamento, firewall, gerenciamento de largura de banda, ponto de acesso sem fio, servidor VPN e muito mais.\nTodo equipamento de rede da MikroTik tem dois softwares que podem ser atualizados: o firmware, que é específico de cada equipamento, e o sistema operacional, que é o RouterOS e é comum a todos os dispositivos. A recomendação é atualizar primeiro o sistema operacional e, depois, o firmware. Vejamos a seguir como fazer ambos.\nPara referência futura, estou usando a versão legada do WinBox (v3.43), baixada do site da MikroTik (a mais nova ainda é beta), o roteador MikroTik hAP ac³ e o novo Linux Kamarada baseado no Manjaro, mas o WinBox é feito para Windows e funciona igualmente bem nele. Também deve ser possível realizar essas atualizações pela interface web do MikroTik, os caminhos e telas são parecidos.\nPara atualizar o RouterOS, abra o WinBox e vá em System \u0026gt; Packages:\nNa janela Package List, clique no botão Check For Updates:\nClique no botão Download\u0026amp;Install:\nFeito isso, o MikroTik baixa e instala a atualização e se reinicia. Enquanto isso, o WinBox será desconectado. Quando o MikroTik terminar de reiniciar, o WinBox será reconectado e a janela Check For Updates passará a exibir System is already up to date:\nUma vez atualizado o sistema operacional, na sequência devemos atualizar o firmware do MikroTik. Para isso, vá em System \u0026gt; RouterBOARD e clique no botão Upgrade:\nNa janela de confirmação que pergunta Do you really want to upgrade firmware? confirme clicando em Yes:\nA janela RouterBOARD passa a informar que o firmware foi atualizado com sucesso e pede para reiniciar para aplicar as alterações:\nPara reiniciar (desligar e ligar) o roteador, vá em System \u0026gt; Reboot. Na janela de confirmação que pergunta Do you want to reboot the router? confirme clicando em Yes:\nO roteador reinicia e, enquanto isso, o WinBox é desconectado. Quando o MikroTik terminar de reiniciar, se você reconectar o WinBox e voltar em System \u0026gt; RouterBOARD, verá que as versões indicadas em Current Firmware e Upgrade Firmware coincidem, indicando que o firmware está atualizado:\nAqui eu mostrei a forma mais fácil e comum de atualizar o software do MikroTik, mas na documentação oficial você pode encontrar outras possibilidades, como baixar a atualização usando o computador e enviar para o roteador via FTP:\nUpgrading and installation - RouterOS - MikroTik Documentation ","date":"2025-11-25T08:20:00Z","permalink":"/pt-br/artigo/mikrotik-como-atualizar-o-software-do-roteador/","title":"MikroTik: como atualizar o software do roteador"},{"content":" Se você usava computadores na década de 90 ou início dos anos 2000, certamente conheceu o Windows 98, que marcou sua infância, vida escolar, acadêmica ou profissional. No meu caso, o Windows 98 foi o primeiro sistema operacional que usei e marcou minha infância. Esse mês tivemos o dia das crianças e eu quis revisitar os jogos que joguei quando era criança. Consegui instalar o Windows 98 em uma máquina virtual do VirtualBox e rodar vários jogos. A experiência foi tão boa que decidi escrever esse tutorial para o caso de mais alguém querer me acompanhar nesse momento nostalgia.\nNote que não vou aqui apresentar um passo a passo minucioso como normalmente costumo fazer nos tutoriais deste site e do Linux Kamarada. Em vez disso, vou supor que você sabe instalar e usar tanto o VirtualBox quanto o Windows 98, e vou focar nos detalhes de como fazer o Windows 98 funcionar no VirtualBox em computadores atuais.\nCaso você não conheça o VirtualBox, os seguintes tutoriais podem te ajudar:\nVirtualBox: a forma mais fácil de conhecer o Linux sem precisar instalá-lo Dicas para usar o VirtualBox no dia a dia Para referência futura (se você estiver lendo esse tutorial no futuro, pode ser que precise fazer algo diferente), no momento estou usando o VirtualBox versão 7.2.2 (lançado em 10 de setembro de 2025) instalado no Linux Kamarada. O VirtualBox também pode ser usado no Windows e, se esse é o seu caso, o passo-a-passo a seguir muito provavelmente é parecido. Também observo que esse tutorial serve tanto para o Windows 98 quanto para o Windows 98 SE.\nPara demonstrar que é possível jogar com o Windows 98 no VirtualBox, apresentarei aqui 4 jogos que são considerados abandonware.\nO que é abandonware? Abandonware (um neologismo para \u0026ldquo;sofware abandonado\u0026rdquo;) é como é chamado um programa que não é mais vendido, nem em lojas físicas nem online, e que também não recebe mais suporte do seu criador. Com o tempo, eles acabam deixando de funcionar em sistemas operacionais modernos. Isso acontece com muitos jogos de computador e de videogame, que acabam \u0026ldquo;ficando para trás\u0026rdquo; conforme a tecnologia avança.\nNão existe uma regra exata para dizer se um jogo é ou não abandonware. É mais uma questão de bom senso: o jogo ainda tem direitos autorais, mas o dono não parece mais se importar em vendê-lo ou protegê-lo. Às vezes, a empresa que fez o jogo simplesmente fechou as portas. Outras vezes, o próprio criador decide liberar o jogo ou até mesmo o código-fonte, como aconteceu com o Tyrian.\nNote que muitos jogos que antes eram considerados abandonware foram refeitos para sistemas mais atuais e agora estão disponíveis em plataformas como GOG.com ou Steam. Para jogá-los, você não precisa de uma máquina virtual com Windows 98. Exemplos incluem:\nAge of Empires II Counter-Strike Diablo II Half Life RollerCoaster Tycoon The Sims Tomb Raider Tyrian 2000 Worms 2 Worms: Armageddon O site My Abandonware é uma boa referência: os jogos que eles disponibilizam para download podem ser seguramente considerados abandonware. Quando um jogo é \u0026ldquo;revivido\u0026rdquo;, como os listados acima, eles atualizam a página do jogo com links para lojas, como as citadas GOG.com ou Steam.\nSugestões de jogos para Windows 98 {% include youtube.html id=\u0026ldquo;OK10BIt_2vM\u0026rdquo; %}\nAstérix \u0026amp; Obélix é um jogo de plataforma lançado em 1996 para MS-DOS e Windows, baseado nos famosos personagens das histórias em quadrinhos francesas. Desenvolvido pela Infogrames, o jogo permite controlar Astérix ou Obélix em fases inspiradas nos quadrinhos, viajando pelo Império Romano. O estilo lembra bastante os jogos de plataforma clássicos da época, com gráficos coloridos em 2D e trilha sonora animada. Apesar de simples, ele conquistou fãs por sua fidelidade ao humor e à estética das HQs originais.\n{% include youtube.html id=\u0026ldquo;bmwGe34A8EE\u0026rdquo; %}\nBeast Wars: Transformers é um jogo de ação em 3D lançado em 1998 para Windows (e também para PlayStation), baseado no desenho de mesmo nome da franquia Transformers. Publicado pela Hasbro Interactive, o jogo coloca o jogador no controle de personagens das facções Maximals ou Predacons, podendo alternar entre a forma animal e robô durante as missões. Com gráficos impressionantes para a época, o jogo é lembrado com carinho pelos fãs da série por trazer o universo de Beast Wars para o PC.\n{% include youtube.html id=\u0026ldquo;Nax_ZOdOIIM\u0026rdquo; %}\nMario \u0026amp; Luigi (mais conhecido simplesmente como \u0026ldquo;Mario\u0026rdquo;) é um jogo gratuito para MS-DOS amplamente divulgado nos anos 2000. Criado por Mike Wiering da Wiering Software e inspirado no Super Mario, o jogo apresenta gráficos 2D simples, seis fases e jogabilidade clássica de plataforma, com pulo, corrida e super poderes. Ele não é um jogo oficial licenciado pela Nintendo, mas sim um fangame (jogo criado por fãs). Começou como um projeto pessoal para praticar programação em Turbo Pascal e seu código-fonte está disponível.\nAliás, se você gosta de jogos nesse estilo, a Wiering Software tem outros jogos que vale a pena conferir.\n{% include youtube.html id=\u0026ldquo;SDPhiQEWWcw\u0026rdquo; %}\n3D Pinball: Space Cadet é um clássico jogo de fliperama incluído no Microsoft Plus! for Windows 95 e mais tarde no Windows XP. Publicado pela Microsoft, ele fazia parte do pacote Full Tilt! Pinball, que trazia outras mesas além da Space Cadet. No jogo, o objetivo é subir de patente em uma missão espacial, cumprindo tarefas e acumulando pontos em uma mesa temática cheia de luzes e efeitos sonoros. Apesar de simples, ficou famoso por ser um dos jogos mais populares pré-instalados no Windows.\nLimitações do Windows 98 no VirtualBox Normalmente, quando usamos o VirtualBox, os adicionais para convidado (Guest Additions) são nossos melhores amigos, permitindo uma integração maior entre o sistema hospedeiro e o sistema instalado na máquina virtual. A má notícia é que eles não estão disponíveis para o Windows 98. Isso não impede de usar o Windows 98 no VirtualBox, apenas algumas funcionalidades que tornariam isso mais fácil não estarão disponíveis, como área de transferência compartilhada.\nObserve também que você não vai conseguir abrir a quase totalidade dos sites atuais com o navegador Internet Explorer que vem no Windows 98. Ainda assim, precisaremos instalar drivers, programas e jogos no Windows 98. Portanto, precisaremos baixá-los na máquina real e passá-los para a máquina virtual.\nO que nos leva à próxima limitação: como passar arquivos da máquina real para a máquina virtual (e vice-versa)? Eu, particularmente, quando trabalho com máquinas virtuais, prefiro passar arquivos pela rede. Porém, a versão do protocolo SMB (mais conhecido como \u0026ldquo;compartilhamento de arquivos e impressoras\u0026rdquo;) presente no Windows 98 (SMB 1.0) é antigo e inseguro e não é suportado nas versões mais recentes do Windows e do Linux.\nCom isso, para passar arquivos de/para a VM, nos restam as seguintes opções:\nusar algum programa para criar uma imagem ISO e depois inserir essa imagem ISO no leitor de DVD virtual (exemplos de programas que criam imagens ISO incluem o CDBurnerXP no Windows e o Brasero no Linux) usar um pendrive formatado com FAT32 (é a forma mais fácil, inclusive você pode formatar usando o próprio Windows 98 da máquina virtual, mas note que mesmo que você use um pendrive para passar a maioria dos arquivos, ainda terá que instalar o driver USB antes por meio de uma imagem ISO para poder conseguir usar o pendrive); usar o protocolo FTP: o FileZilla, por exemplo, oferece tanto cliente quanto servidor FTP, você poderia instalar o cliente na máquina virtual (uma versão mais antiga, compatível com o Windows 98, claro) e o servidor no seu computador, ou o contrário; se você manja de servidores web, poderia tentar instalar o Apache ou o nginx no seu computador e baixar os arquivos na máquina virtual usando o Internet Explorer. Nesse tutorial, vou optar por usar o pendrive. Fique a vontade para usar outra solução se preferir e adaptar o tutorial conforme necessário.\nNote que se estivéssemos usando o Windows XP, não teríamos nenhuma dessas limitações. Uma possível limitação seria que muitos aplicativos não funcionam bem mesmo no modo de compatibilidade com o Windows 98. Quem sabe em uma próxima aventura nostálgica não experimento rodar o Windows XP no VirtualBox? Se você gostaria de ver isso, por favor, comente no final.\nO que vamos precisar Antes de começarmos, aqui vai uma lista de arquivos para você baixar e se organizar da forma que achar melhor:\nCD ou imagem ISO do Windows 98: caso você tenha um CD do Windows 98, mas seu computador não tenha uma unidade de CD, não é caro comprar uma pelo Mercado Livre. Também não é difícil encontrar imagens ISO do Windows 98 para download na Internet, só não vou compartilhar o link aqui.\nImagem de disquete do patcher9x: patcher9x-0.9.88-boot.img\nImagem ISO com o driver USB: foi propagandeado na época que uma das novidades do Windows 98 em comparação com o Windows 95 era o suporte a USB, o que não era mentira, mas o Windows 98 não suportava USB 2.0, nem pendrives, o que podia ser conseguido com drivers de terceiros.\nSe você pretende usar um pendrive para passar arquivos para a VM, pode baixar uma imagem ISO com o driver USB aqui: driver-usb-ptbr.iso. Se você pretende criar sua própria imagem ISO com os arquivos, pode baixar o driver USB como um arquivo ZIP aqui: usb33_ptbr.zip. Imagem ISO do Astérix \u0026amp; Obélix (se você quiser jogar esse jogo)\nImagem ISO do Beast Wars: Transformers (se você quiser jogar esse jogo)\nNote que os arquivos que listei até agora ficarão no seu computador, você não passará para dentro da máquina virtual. Os arquivos a seguir você precisará passar para dentro da máquina virtual:\nCompactador: eu recomendo usar a última versão do WinRAR compatível com o Windows 98 (wrar393br.exe), mas você também pode usar uma versão antiga do WinZip (winzip100.exe) ou do 7-Zip (7z920.exe) Driver de vídeo do SoftGPU: softgpu-0.8.2025.53.zip (alternativamente, assim como o driver USB, há uma imagem ISO disponível: softgpu-0.8.2025.53.iso) Driver de áudio do ICH AC97: 0001-VXD_A406.exe Driver do controle de Xbox 360: x360c.w98.x86.en.zip (caso você tenha um controle desse e queira usar com o Windows 98) Mario \u0026amp; Luigi: Mario-Luigi_DOS_EN.zip (se você quiser jogar esse jogo) 3D Pinball: Space Cadet: Space-Cadet-3D-Pinball_Win_EN.exe (se você quiser jogar esse jogo) Recomendações gerais Ainda antes de começarmos, aqui vão algumas recomendações:\nfaça snapshots da máquina virtual conforme vai avançando no tutorial. Assim, se algo der errado, você pode voltar para um ponto em que a máquina virtual estava funcionando e tentar de novo; sempre que um instalador ou o próprio Windows disser que é recomendado reiniciar e perguntar se você deseja fazê-lo, responda que sim; por vezes, você terá que reiniciar a máquina virtual \u0026ldquo;na marra\u0026rdquo; por meio do VirtualBox, isso é esperado, está tudo bem (na verdade, você até já fazia isso com seu computador antigo, não é mesmo?) Sem mais delongas, vamos meter a mão na massa!\nCriando a máquina virtual Inicie o VirtualBox e crie uma máquina virtual com as seguintes configurações:\nSistema operacional: Windows 98 Memória RAM: 128 MB Disco rígido virtual: 16 GB Rede: placa em modo bridge Insira a imagem ISO do Windows 98 no leitor de DVD virtual e inicie a VM.\nInstalando o Windows 98 Instale o Windows 98 como faria normalmente.\nJá no final da instalação, você vai se deparar com um detalhe do Windows 98 no VirtualBox, a mensagem de erro: \u0026ldquo;O arquivo SHELL32.DLL está vinculado ao SHLWAPI.DLL de exportação que não foi encontrado:tFileAttributesA.\u0026rdquo;\nTambém aparece uma mensagem de erro referente ao Explorer: \u0026ldquo;Este programa executou uma operação ilegal e será fechado.\u0026rdquo;\nPode fechar ambas as mensagens de erro e reiniciar a máquina virtual.\nSe você tentar entrar no Windows, receberá as mesmas mensagens de erro.\nInsira a imagem de disquete do patcher9x na unidade de disquete virtual e reinicie a máquina virtual:\nNo prompt do MS-DOS, execute patch9x:\nAceite as respostas padrão para as perguntas teclando Enter e quando perguntado se deseja aplicar os patches, responda que sim com y:\nAo final, remova a imagem de disquete e reinicie a máquina virtual.\nAgora sim você conseguirá iniciar o Windows 98 normalmente:\nMas note que os gráficos estão configurados de forma genérica com 256 cores apenas.\nInstalando o driver USB Remova a imagem ISO do Windows 98 do leitor de DVD virtual e insira a imagem ISO do driver USB. Inicie a instalação fazendo duplo-clique no script _start.bat:\nDepois, reinicie o computador.\nConecte um pendrive no seu computador (certifique-se de que não tenha nenhum arquivo importante nele e que possa formatá-lo) e passe-o para a máquina virtual:\nNa primeira vez, o pendrive não é reconhecido de imediato. Vá em Painel de controle \u0026gt; Sistema \u0026gt; Gerenciador de dispositivos, selecione Outros dispositivos \u0026gt; PCI Universal Serial Bus e clique no botão Propriedades:\nNote: \u0026ldquo;Os drivers para este dispositivo não estão instalados\u0026rdquo;. Para resolver isso, clique em Reinstalar driver. Ordene que o assistente procure o driver na unidade de CD-ROM. O sistema vai encontrar e instalar o driver para o controlador USB e na sequência vai fazer o mesmo para o pendrive:\nQuando terminar, o pendrive já aparecerá no Meu computador:\nPassando arquivos para a máquina virtual Formate o pendrive e ejete-o (primeiro no Windows 98 e depois no VirtualBox).\nAgora o pendrive aparecerá no seu computador, formatado com o sistema de arquivos FAT32.\nPasse os arquivos que vamos precisar para o pendrive.\nDepois, insira-o de novo na máquina virtual:\nCopie esses arquivos para algum lugar como Meus documentos e ejete o pendrive.\nCompactador Na sequência, instale o compactador de sua preferência (WinRAR, WinZip ou 7-Zip, ou todos). Alguns drivers e jogos são arquivos compactados e você vai precisar de um compactador para extrai-los.\nDriver de vídeo Desligue a máquina virtual.\nDepois, faça a seguinte alteração na configuração da máquina virtual:\nSistema operacional: Windows 7 de 32 bits Clique em OK para aplicá-la. Essa alteração por si só não vai mudar nada no hardware da máquina virtual, mas vai nos permitir fazer as alterações seguintes.\nAgora volte na configuração da máquina virtual e faça mais alterações:\nMemória de vídeo: 128 MB Controladora gráfica: VBoxSVGA Recursos: Aceleração 3D Inicie a VM. O Windows 98 vai detectar a nova placa de vídeo. Você pode seguir o assistente, instalar o driver recomendado pelo próprio Windows e reiniciar.\nAgora vamos instalar o driver de vídeo do SoftGPU, que vai conferir aceleração 3D a essa máquina virtual. Vá até Meus documentos, extraia o arquivo ZIP contendo o SoftGPU. Entre na pasta do SoftGPU e rode o softgpu.exe.\nCertifique-se de que a versão do VirtualBox está corretamente selecionada no campo Hypervisor preset e clique no botão Install:\nPrimeiro, é instalado o DirectX e a máquina virtual é reiniciada. Depois, inicie o instalador do SoftGPU, clique no botão Install, aguarde e reinicie mais uma vez.\nDessa vez, o sistema já é iniciado com gráficos melhores. Você também consegue configurar uma resolução maior:\nDriver de áudio Quando criamos a máquina virtual e escolhemos o sistema operacional Windows 98, por padrão o VirtualBox seleciona emular a placa de som SoundBlaster 16. Se quiser, você pode continuar com essa configuração, note inclusive que o som já funciona. No entanto, essa placa de som emulada não é capaz de tocar MIDI, que é necessário para alguns jogos.\nPara mudar o modelo da placa de som, desligue a máquina virtual. Depois, faça a seguinte alteração na configuração da máquina virtual:\nControladora de áudio: ICH AC97 Inicie a máquina virtual. Depois, usando o WinRAR, extraia o conteúdo do instalador do driver de áudio (0001-VXD_A406.exe):\nDentro da pasta extraída, há uma pasta Win95. O driver em si está nela.\nVá no Painel de controle e inicie o assistente para Adicionar novo hardware. Ordene que o assistente procure o driver na pasta Win95.\nQuando terminar, você já terá som novamente, sem precisar reiniciar a VM.\nControle de Xbox 360 (opcional) Opcionalmente, se você tem um controle de Xbox 360 e quer usá-lo, extraia o conteúdo do arquivo ZIP do driver, conecte o controle à máquina virtual (da mesma forma como fez com o pendrive) e instale seu driver usando o assistente para Adicionar novo hardware.\nPronto para a jogatina! Se você chegou até aqui, sua máquina virtual com Windows 98 já está pronta para ser usada, para rodar quaisquer jogos e programas que você queira.\nEspero que faça bom proveito! Se você tiver alguma dúvida ou sugestão, escreva nos comentários. Abraço e até a próxima!\nReferências Para ver como rodar o Windows 98 no VirtualBox e depois para escrever esse tutorial, eu consultei várias páginas. Eu já deixei links para muitas delas no texto, mas consultei também (e principalmente) as seguintes:\nComo baixar, instalar e ativar o Windows 98 | Guia Prático - Canaltech Windows 98se step by step - fórum do VirtualBox How to install Windows 98 SE in VirtualBox VM - January 2025 - 96075d82 - nmariusp - YouTube PENDRIVE NO Windows 98 driver que não muda o idioma par inglês - Vida de Tecnico Ti Retro Hardware - YouTube How to play midi music in VirtualBox Windows 98? - Super User Xbox 360 controller driver install - reddit/windows98 ","date":"2025-10-31T01:20:00Z","permalink":"/pt-br/artigo/como-rodar-o-windows-98-no-virtualbox-em-2025/","title":"Como rodar o Windows 98 no VirtualBox em 2025"},{"content":" Se você é autônomo ou tem um negócio próprio, mesmo que pequeno, ter um e-mail personalizado com domínio próprio (como seunome@suaempresa.com.br) traz diversas vantagens. A principal delas é que transmite uma imagem mais profissional do que um e-mail gratuito como @gmail.com ou @hotmail.com, comumente usados para comunicações pessoais. Também ajuda com a consistência da sua marca, mantendo sua presença digital coerente (redes sociais, site, e-mail com o mesmo nome/dominio). Além de gerar confiança: clientes, parceiros e empregadores costumam confiar mais em e-mails com domínio próprio, pois parecem mais autênticos e menos amadores.\nUm domínio é o nome que identifica um site na internet, como por exemplo suaempresa.com.br. Ele funciona como um \u0026ldquo;endereço\u0026rdquo; que as pessoas digitam no navegador para acessar um site, mais fácil de lembrar do que um número de IP, que é internamente usado pelos computadores para se comunicarem entre si. Por exemplo, google.com é mais fácil de lembrar do que 172.217.29.46. Um domínio também permite criar e-mails personalizados.\nPara usar um domínio, você precisa registrá-lo e renová-lo anualmente, como um aluguel. O custo é baixo, geralmente entre R$ 40 e R$ 80 por ano. Tanto o registro quanto a renovação podem ser feitos pelo Registro.br, que é o órgão do governo responsável pelos domínios com final .br, ou por empresas registradoras (registrars) e de hospedagem, que além de registrar o domínio também oferecem serviços integrados como e-mail e site. Exemplos populares no Brasil incluem HostGator e Locaweb. Se você quiser um domínio internacional (terminado em .com, .net, .org, etc, sem .br) ou um domínio criativo (como .tech, .dev, etc), pode consultar empresas como Namecheap, GoDaddy e Cloudflare.\nDe posse do domínio, para criar seu e-mail você pode levantar um servidor de e-mails por conta própria ou contratar uma empresa para te fornecer esse serviço. Opções incluem grandes conhecidas como Google ou Microsoft, já falei aqui também do ProtonMail, mas essas cobram pelo e-mail com domínio personalizado. Tem uma empresa que oferece uma opção gratuita, ideal para quem está começando, que é o Zoho Mail. Seu plano gratuito permite a criação de até 5 contas para o seu domínio com até 5GB de caixa de entrada cada.\nRecentemente registrei o domínio renatamonte.com.br no Registro.br para a advogada Renata Monte e criei para ela, usando o Zoho Mail, o e-mail personalizado advogada@renatamonte.com.br. Tomei notas, capturei telas e neste tutorial vou te mostrar como você pode fazer o mesmo para você e seu negócio.\nEste tutorial é baseado em grande parte no excelente tutorial em vídeo do Renato Faria - Negócio Digital Produtivo. Se você gosta mais de vídeos, talvez prefira seguir o tutorial dele. Mas se você, assim como eu, prefere textos, siga aqui comigo.\nVocê pode seguir este tutorial mesmo que tenha registrado o domínio em outro lugar que não o Registro.br. Nesse caso, o que pode mudar é a configuração do DNS no seu registrar, mas a configuração do Zoho Mail permanece igual.\nDNS avançado no Registro.br Acesse sua conta no Registro.br e, no Painel, clique no domínio:\nNa seção DNS, clique em Configurar endereçamento:\nA configuração de DNS do Registro.br por padrão é simplificada, tornando mais fácil configurar o DNS:\nEssas opções provavelmente são suficientes para muitas pessoas, mas aqui precisaremos fazer mais configurações. Clique em Modo avançado.\nLeia o alerta apresentado e clique em Confirmar:\nAgora, conforme alertado, aguarde o prazo para a alteração ser feita. Note que essa tela dá uma previsão mais exata, em horas, minutos e segundos:\nNote também que o link Configurar zona DNS está desabilitado (não é possível clicar nele).\nEnquanto aguarda, comece o cadastro no Zoho Mail.\nCadastro no Zoho Mail Acesse a página do Zoho Mail e clique no link Preços:\nEm Plano gratuito vitalício, clique em Inscreva-se já:\nNa tela seguinte, digite seu Nome, um Endereço de e-mail para contato e uma Senha para a conta que está criando e clique em Inscrever-se:\nO Zoho Mail apresenta um assistente para configurar o domínio:\nComo já temos um domínio registrado, clique em Adicionar agora.\nForneça as informações solicitadas (domínio, nome da organização e setor) e clique em Adicionar agora:\nNa tela seguinte, clique em Prosseguir para a verificação do domínio:\nVerificação do domínio Antes de configurar propriamente as entradas DNS para envio e recebimento de e-mails, o Zoho Mail pede que adicionemos uma entrada DNS apenas para verificar que nosso domínio é realmente nosso.\nA tela seguinte apresenta a entrada TXT que precisa ser adicionada no servidor DNS:\nClique no ícone para copiar o Valor/conteúdo do TXT.\nPassado o prazo de 2 horas, volte ao Registro.br e clique em Configurar zona DNS. Clique em Nova entrada:\nEm Tipo, selecione TXT:\nDeixe o campo Nome vazio.\nNo campo seguinte, cole o valor copiado anteriormente.\nPor fim, clique em Adicionar e, depois, em Salvar alterações.\nEssa alteração na configuração do domínio precisa ser propagada para servidores DNS no mundo todo, o que pode levar desde alguns minutos a algumas horas, ou até mesmo dias. Você pode acompanhar a propagação com o auxílio de alguma ferramenta como o whatsmydns.net:\nQuando a propagação estiver concluída (ou, pelo menos, bem adiantada), volte ao Zoho Mail e clique em Verificar registro TXT.\nSe o Zoho Mail conseguiu obter a entrada TXT do servidor DNS, ele informa na tela seguinte que a propriedade do domínio foi verificada:\nDefina o endereço de e-mail da primeira e mais importante conta do domínio, a conta do administrador. Pode ser algo como contato@antoniomedeiros.dev, advogada@renatamonte.com.br ou admin@seudominio.com.\nNote que o plano gratuito do Zoho Mail te dá direito a até 5 usuários, então você pode criar mais endereços depois, se quiser.\nQuando terminar, clique em Criar.\nAs duas telas seguintes do assistente não tem relação com a configuração do domínio, em ambas você pode prosseguir para a tela seguinte:\nConfigurando o e-mail no DNS A tela seguinte traz mais configurações para fazermos no DNS:\nEssas entradas, sim, são responsáveis pelo envio e recebimento de e-mails propriamente. Replique-as no Registro.br e salve as alterações:\nNovamente, aguarde a propagação dessas alterações. Quando terminar, volte ao assistente de configuração do Zoho Mail e clique no botão Verificar todos os registros.\nSe tudo deu certo, o assistente mostra uma mensagem de sucesso:\nNovamente, você pode avançar para as telas seguintes. Essas últimas telas do assistente não tem relação com a configuração do domínio.\nConfiguração concluída, clique em Verifique sua caixa de entrada.\nEis a caixa de entrada do Zoho Mail:\nTestando envio e recebimento de e-mails Se deu tudo certo, já temos um e-mail profissional funcionando, capaz de enviar e receber e-mails. Vamos testá-lo.\nClique em Novo e-mail, redija e envie uma mensagem para outro endereço de e-mail (seu e-mail pessoal, por exemplo):\nVerifique que o e-mail foi recebido do outro lado e o responda:\nVerifique no seu e-mail profissional que a resposta foi recebida:\nConclusão Se no teste você conseguiu enviar e também receber um e-mail, então seu e-mail personalizado com domínio próprio está pronto. Faça bom uso!\nPensei em configurar um endereço personalizado para acessar o e-mail, como mail.renatamonte.com.br, mas essa é uma funcionalidade do Zoho Mail exclusiva para planos pagos. Para facilitar seu acesso, recomendo que você favorite o endereço do Zoho Mail.\nEspero que esse tutorial tenha sido útil para você. Se ficou com alguma dúvida, me escreva nos comentários. Abraço e até a próxima!\n","date":"2025-05-15T22:20:00Z","permalink":"/pt-br/artigo/e-mail-profissional-gratuito-com-dom%C3%ADnio-personalizado-usando-zoho-mail/","title":"E-mail profissional gratuito com domínio personalizado usando Zoho Mail"},{"content":" Você já quis ou precisou baixar vídeos do YouTube? Seja para assistir um vídeo durante uma viagem (onde nem sempre você tem sinal de Internet), seja para guardar consigo uma cópia dos vídeos que você publicou, ou qualquer que seja a sua situação, baixar vídeos do YouTube pode ser bastante conveniente.\nExistem vários aplicativos e serviços que você pode usar para baixar vídeos do YouTube. Mas a forma mais simples e fácil de fazer isso, sem precisar baixar nem instalar nenhum programa, é usar o serviço online SaveFrom.net, diretamente do seu navegador preferido.\nVou te mostrar como você pode usar esse serviço. Aqui, estou usando meu notebook com Linux Kamarada 15.6, mas note que você pode usar o SaveFrom.net em qualquer dispositivo com Windows, Android, iOS, etc.\nIsenção de responsabilidade: este artigo foi escrito e publicado estritamente para fins informativos. Baixar vídeos de sites pode ser contra seus termos de uso e/ou violar os direitos autorais de quem produziu e/ou publicou os vídeos. Se você não tem certeza se um vídeo é protegido por direitos autorais, é melhor pecar pelo excesso de cautela e não baixá-lo. Cabe a você decidir se quer/deve (ou não) baixar vídeos. Use a tecnologia apresentada neste artigo de forma legal e responsável. O autor não aceita qualquer responsabilidade por eventuais danos resultantes da utilização das informações aqui contidas de forma indevida. Se quiser saber mais sobre o assunto, sugiro a leitura:\nÉ crime baixar filme online? O que a lei diz e o que de fato acontece? - Tilt - UOL Continuando\u0026hellip; por exemplo, suponhamos que você queira baixar este vídeo:\nUnboxing e teste do PinePhone - o smartphone que roda Linux - Linux Kamarada Na barra de endereços, adicione ss na frente de youtube.com e tecle Enter:\nA página do serviço SaveFrom.net é aberta, basta clicar em Baixar:\nAgora é só aguardar alguns segundos ou minutos, dependendo da velocidade da sua conexão, e pronto: o vídeo já estará na memória do seu dispositivo e poderá ser assistido offline. Espero que essa dica tenha sido útil. Faça bom proveito!\n","date":"2025-02-24T23:20:00Z","permalink":"/pt-br/artigo/savefrom.net-o-jeito-mais-f%C3%A1cil-de-baixar-v%C3%ADdeos-do-youtube/","title":"SaveFrom.net: o jeito mais fácil de baixar vídeos do YouTube"},{"content":" Você tem um computador velhinho com Windows 10 mas que ainda dá conta do recado? Confira a seguir algumas dicas de manutenções preventivas que você pode fazer para deixá-lo mais rápido, como se fosse novinho em folha. Note que essas dicas, na verdade, se aplicam a quaisquer computadores, tanto antigos, quanto novos com Windows 11.\n1) Limpar arquivos temporários Os programas que usamos no dia-a-dia muitas vezes precisam criar arquivos no disco para fazerem seu trabalho, como quando acessamos uma página em um navegador e ele baixa as imagens para poder exibi-las. Normalmente, os próprios programas excluem esses arquivos, mas nem sempre. O navegador mantém as imagens no disco pro caso de acessarmos aquela página novamente e daí ele não precisa baixá-las de novo. Acontece que esses arquivos consomem espaço em disco e podem, após vários dias, deixar o disco sem espaço e o computador lento. Por isso, convém exclui-los de tempos em tempos.\nFelizmente, existem vários programas que podem nos ajudar com essa tarefa, dos quais provavelmente o mais conhecido e que eu indico é o CCleaner.\nO CCleaner tem versões tanto gratuitas quanto pagas, mas a versão gratuita para uso pessoal no computador de casa já faz bastante coisa.\nAo abrir o programa, a tela principal, Health Check (verificação de saúde), faz uma verificação de diversas limpezas de arquivos que podem ser feitas no computador. Clique em Escaneamento do meu PC para começar:\nO CCleaner consegue limpar cookies, histórico do navegador, arquivos temporários da Internet e do sistema, lixeira e cache de aplicativos:\nIndo em Ferramentas \u0026gt; Registro, é possível fazer outro tipo de limpeza, que é a limpeza do registro do Windows. O registro é um banco de dados onde o sistema e os aplicativos armazenam diversas configurações. Valores desatualizados e inválidos no registro podem fazer com que o computador perca tempo procurando arquivos que não existem e, portanto, fique mais lento. Felizmente, o CCleaner consegue procurar erros no registro do Windows e corrigi-los:\nVocê deve fazer essas limpezas de tempos em tempos para manter seu computador rápido. Uma dica é ir em Opções \u0026gt; Programação de limpeza e programar o CCleaner para te lembrar de fazer essas limpezas:\n2) Desinstalar programas Com o passar do tempo, pode ser que programas que instalamos lá atrás já não façam mais sentido hoje. Pode acontecer também que quando você foi instalar um programa ele ofereceu instalar outro, e você aceitou sem perceber. Seja qual for o motivo, pode ser que seu computador tenha programas desnecessários instalados e que estejam consumindo recursos, como processamento, memória, armazenamento, Internet, etc. deixando, assim, seu computador mais lento.\nVá no menu Iniciar \u0026gt; Configurações \u0026gt; Aplicativos, verifique na lista quais programas você não reconhece ou não usa e desintale-os:\n3) Fazer uma faxina nos arquivos Não apenas os arquivos que o sistema e os programas baixam e geram ocupam espaço, mas também os arquivos que nós mesmos baixamos e criamos. Examinando seus arquivos pessoais, pode ser que você encontre arquivos que não faz mais sentido manter no seu computador e que, portanto, você pode excluir para liberar espaço em disco.\nUm programa que pode te ajudar a identificar quais arquivos e pastas ocupam mais espaço e precisam de mais atenção é o JDiskReport.\nGratuito e escrito na linguagem de programação Java, esse programa pequeno e leve analisa seu disco (ou qualquer caminho que você peça para ele analisar) e mostra suas pastas como uma lista e como um gráfico de pizza, começando pelas que mais ocupam espaço:\nObservação: você deve ter o Java instalado no seu computador antes de instalar o JDiskReport.\nPara que o JDiskReport analise um disco ou pasta, abra o Explorador de Arquivos, localize o disco ou pasta a ser analisado, clique com o botão direito do mouse e, depois, clique em JDiskReport:\n4) Instalar e/ou atualizar o antivírus Vírus, além de ameaçarem sua segurança e privacidade, podem tornar seu computador lento. Principalmente se seu computador é muito exposto (se você costuma acessar sites variados, ou se você costuma usar seu computador na rua e se conectar a diferentes redes Wi-Fi), é essencial que você tenha um bom antivírus instalado e atualizado para detectar as ameaças mais recentes.\nExistem diversos programas antivírus e você pode conferir quais tem se saído melhor em sites que fazem testes e comparações de antivírus, como o AV-TEST e o AV-Comparatives. Note que os antivírus listados nesses sites podem ter versões tanto gratuitas quanto pagas, mas os testes se referem sempre às versões pagas.\nNormalmente, o Microsoft Defender, que já vem com o próprio Windows, está sempre entre os 10 melhores antivírus e já fornece proteção boa o bastante, de modo que você não precisa instalar outro antivírus no computador.\nSe você precisa de ainda mais proteção, pode instalar outro antivírus, e o Windows passará a usar este antivírus em vez do Microsoft Defender. Três antivírus que estão sempre entre os melhores e tem versões gratuitas são o Avast, o AVG e o Avira.\nNormalmente os antivírus incluem alguma opção para escanear arquivos e pastas quando você clica neles com o botão direito no Explorador de Arquivos:\nSe você precisa muito de um bom antivírus, considere pagar por um. Boas opções, além das versões pagas dos já citados, incluem ESET, Kaspersky e McAfee.\n5) Instalar atualizações do Windows Com frequência, a Microsoft libera atualizações para o Windows, que podem trazer correções de bugs e novas funcionalidades. Manter seu sistema sempre atualizado contribui para tornar seu computador mais rápido e seguro.\nNormalmente, o Windows baixa e instala essas atualizações automaticamente em um horário que você não costuma usar o computador. Mas você pode de tempos em tempos verificar se há atualizações pendentes indo no menu Iniciar \u0026gt; Configurações \u0026gt; Atualização e Segurança:\nFaça essa verificação repetidas vezes até que essa tela diga que Você está atualizado:\nConsidere formatar o computador Se você seguiu todas essas dicas e mesmo assim seu computador continua lento, devolvê-lo ao estado de fábrica e reinstalar todos os programas pode ser a única solução.\nNote que em toda formatação você corre o risco de perder arquivos. Por isso, antes de formatar seu computador, se certifique de que o backup dos seus arquivos pessoais esteja em dia.\nPara formatar seu computador, você pode usar alguma mídia fornecida pelo fabricante (consulte o manual do seu computador), ou baixar a mídia de instalação do Windows do site da Microsoft.\nConsidere migrar para o Linux Talvez você já tenha se deparado com essa tela enquanto usa o Windows 10.\nA Microsoft já avisou que vai encerrar o suporte para o Windows 10 em 14 de outubro desse ano de 2025. Isso quer dizer que o Windows 10 não receberá mais atualizações a partir dessa data. Seu computador com Windows 10 continuará funcionando. Mas, sem atualizações, continuar usando esse sistema se tornará, a cada dia que passa, mais inseguro.\nPor outro lado, migrar para o Windows 11 pode exigir que você compre um computador novo.\nSe isso não é uma opção para você nesse momento, considere instalar o Linux no seu computador. O Linux, assim como o Windows, é um sistema operacional, mas é mais leve. Existem distribuições Linux (que são o conjunto do sistema mais aplicativos) as mais variadas, para todos os gostos, em sua maioria gratuitas. É verdade que a transição para um sistema novo pode causar um transtorno no início, mas você vai se surpreender como uma distribuição Linux atualizada hoje pode ser rápida até mesmo em um computador que já tem 10 anos.\nVocê não precisa se desfazer do Windows: pode instalar o Linux no mesmo disco que o Windows, de modo que, ao ligar ou reiniciar, o computador pergunta qual sistema deve usar, uma configuração conhecida como dual boot. Também existem vários programas que você pode usar tanto no Windows quanto no Linux, o que pode facilitar a transição.\nEu indico a distribuição Linux brasileira Linux Kamarada. Espero que se divirta!\n","date":"2025-02-09T04:00:00Z","permalink":"/pt-br/artigo/dicas-de-manuten%C3%A7%C3%B5es-preventivas-que-voc%C3%AA-pode-fazer-no-windows-para-deixar-seu-computador-mais-r%C3%A1pido/","title":"Dicas de manutenções preventivas que você pode fazer no Windows para deixar seu computador mais rápido"},{"content":" Você está tentando resolver um problema com hardware e precisa obter as especificações das peças do seu computador? Ou comprou um computador novo e quer verificar se está tudo no lugar conforme o anúncio? Seja qual for sua situação, confira a seguir alguns programas gratuitos para Windows que listam e descrevem o hardware do seu computador e podem te ajudar.\nRecentemente, aproveitando a Black Friday, eu comprei um notebook Acer Predator Helios Neo 16. Antes de comprar, conferi duas excelentes análises nos sites Qual Notebook Comprar e Notebook Check. Nesta última, me chamaram a atenção algumas capturas de tela de alguns programas, que apresento a seguir.\nAntes: um recurso do próprio Windows Antes de apresentar os programas propriamente ditos, quero mostrar uma tela do próprio Windows que já exibe algumas informações sobre o computador. Dependendo do que você precisa, se é apenas uma referência rápida, já pode obter um resumo das especificações sem precisar baixar nem instalar nada.\nVá no menu Iniciar \u0026gt; Configurações. Na janela que se abre, vá em Sistema \u0026gt; Sobre.\nEsta tela traz algumas informações como modelo e frequência do processador, quantidade de memória RAM, edição e versão do Windows:\nUse os botões Copiar para copiar facilmente essas informações e colá-las onde precisar (em um chat de suporte, por exemplo).\nNome do dispositivo vini-predator Processador Intel(R) Core(TM) i9-14900HX 2.20 GHz RAM instalada 32,0 GB (utilizável: 31,7 GB) ID do dispositivo 178A5DAF-AFEE-4691-BFB8-0E7EE2B91CCA ID do Produto 00342-43510-68645-AAOEM Tipo de sistema Sistema operacional de 64 bits, processador baseado em x64 Caneta e toque Nenhuma entrada à caneta ou por toque disponível para este vídeo Edição Windows 11 Home Single Language Versão 24H2 Instalado em 05/12/2024 Compilação do SO 26100.2314 Experiência Windows Feature Experience Pack 1000.26100.32.0 Agora vamos aos programas.\n1) CPU-Z O CPU-Z é um programa pequeno, com interface simples e intuitiva, que mostra informações sobre o processador (CPU), placa-mãe, memória RAM e placa de vídeo e permite realizar testes de desempenho (benchmarks). Seu site oferece um instalador, mas também o programa e seus arquivos compactados em um arquivo ZIP, de modo que você não precisa instalar o programa para usá-lo.\nIndo em Tools \u0026gt; Save Report as .HTML, você pode gerar um relatório como este, que pode ser enviado para outra pessoa, caso você precise de suporte e ela esteja pedindo informações sobre o hardware do seu computador.\n2) GPU-Z O GPU-Z é igualmente simples, pequeno e intuitivo, mas focado na placa de vídeo (GPU). Sobre esse componente do computador, ele apresenta mais informações que o CPU-Z. Seu site oferece apenas um executável para download, que ao ser iniciado pergunta se quer instalar o programa ou iniciá-lo diretamente sem instalação.\nEsse programa não conta com uma funcionalidade de relatório, mas ele facilita fazer uma captura da tela atual usando o ícone da câmera fotográfica no canto superior direito da tela.\n3) HWiNFO Dos três programas listados até agora, o HWiNFO é o que fornece informações mais detalhadas sobre os componentes do computador. Também é o único com interface traduzida para o português, o que pode facilitar bastante a leitura das informações, se você não domina a língua inglesa. É possível baixar do seu site um instalador ou uma versão portátil (portable) do programa, que é um arquivo ZIP, ou seja, dispensa instalação. Ao ser iniciado, o programa apresenta uma tela com informações resumidas sobre o computador, e outra bipartida mais completa, com os componentes organizados em uma árvore à esquerda e informações mais detalhadas sobre o componente selecionado à direita.\nAssim como o CPU-Z, o HWiNFO permite salvar um relatório em formato HTML clicando no botão Relatório (exemplo).\nExtra: AIDA64 O AIDA64 fornece informações detalhadas não apenas do hardware mas também do software instalado no computador. Também possui interface em português. Listo esse programa como um extra porque ele não é exatamente gratuito: é um programa comercial que é vendido em algumas edições com funcionalidades e preços diferentes. A edição mais simples, o AIDA64 Extreme, pode ser experimentada (trial) gratuitamente por 30 dias \u0026ndash; tempo mais que suficiente para você usá-lo para checar as informações sobre o seu computador e salvá-las em um relatório HTML caso queira conferi-las depois.\nO relatório HTML gerado pelo AIDA64 é o mais completo de todos (exemplo).\nCaso você trabalhe profissionalmente com suporte ou manutenção de computadores, considere adquirir uma licença desse programa.\nConclusão O que achou dos programas? Gostou? Você adicionaria algum programa a essa lista? Ficou alguma dúvida? Comenta aí! Até a próxima!\n","date":"2025-01-11T00:45:00Z","permalink":"/pt-br/artigo/programas-gratuitos-para-obter-informa%C3%A7%C3%B5es-sobre-o-hardware-do-computador-no-windows/","title":"Programas gratuitos para obter informações sobre o hardware do computador no Windows"},{"content":" Vimos o que é VPN, Rede Tor e a forma mais fácil de usá-la no Windows, que é por meio do Navegador Tor (Tor Browser), que é uma versão do Mozilla Firefox modificada para trafegar dados somente dentro da Rede Tor. Como nos computadores (desktops e notebooks) é mais comum acessarmos serviços online por meio do navegador, em vez de aplicativos (como é o caso com dispositivos móveis \u0026ndash; smartphones e tablets), o Navegador Tor é a melhor forma de começar a usar a Rede Tor no Windows.\nNo entanto, se você precisa conectar um ou mais aplicativos no Windows à Internet por meio da Rede Tor, saiba que é possível fazer isso usando o Navegador Tor também. Para se conectar à Rede Tor, o Navegador Tor inicia um cliente Tor interno, que disponibiliza a conexão com a Rede Tor por meio de um proxy, que é usado internamente pelo Navegador Tor, mas pode ser usado por outros aplicativos também. Então, para conectar um aplicativo à Rede Tor, basta configurá-lo para usar esse proxy.\nA seguir, você verá como configurar o Windows para usar o proxy do Navegador Tor, o que deve fazer com que todos os aplicativos usem esse proxy também, ao menos na teoria. Alguns aplicativos podem ter sua própria configuração de proxy. Por exemplo, já mostrei em outro artigo como usar o Telegram via Tor.\nConfigurando o proxy do Navegador Tor no Windows Antes de começar, inicie o Navegador Tor e certifique-se de que ele está conectado à Rede Tor. Se precisar de ajuda com isso, consulte o artigo anterior:\nO que é VPN e a forma mais fácil de usá-la no Windows: por meio do Navegador Tor Com o Navegador Tor iniciado e conectado à Rede Tor, abra o Menu Iniciar, pesquise por Opções da Internet e clique na opção correspondente:\nMude para a aba Conexões e clique no botão Configurações da LAN:\nMarque a opção Usar um servidor proxy para a rede local e clique em Avançadas:\nEm Socks, informe 127.0.0.1. Ao lado, em Porta, informe 9150:\nClique em OK em todas as caixas de diálogo para fechá-las.\nTestando a conexão com a Rede Tor Como vimos, sempre antes de começar a usar a Rede Tor, convém testar se você está de fato conectado à Rede Tor acessando check.torproject.org. No tutorial anterior, fizemos isso no Navegador Tor.\nComo agora qualquer aplicativo do sistema consegue acessar a Rede Tor, podemos fazer esse teste com outro navegador, a exemplo do Microsoft Edge, que já vem instalado de fábrica no Windows:\nUsando outros navegadores com o Tor Observe que a melhor forma de acessar sites usando a Rede Tor é por meio do Navegador Tor, que não apenas só trafega dados dentro da Rede Tor, como também já vem com vários ajustes relacionados a privacidade.\nNão é recomendado usar um navegador comum, como o Microsoft Edge, o Mozilla Firefox ou o Google Chrome, para navegar pela Rede Tor, mesmo que seu tráfego esteja sendo redirecionado pelo proxy do Navegador Tor.\nMas, se por qualquer motivo você precisar fazer isso, saiba que os navegadores Google Chrome e Microsoft Edge usam a configuração do sistema (via Opções da Internet), como fizemos. Portanto, você já pode usar esses navegadores com a Rede Tor. Já o Mozilla Firefox tem sua própria configuração de proxy, veja como configurá-lo aqui (as telas são iguais no Linux e no Windows).\nAvançado: instalando o Tor como um serviço Usar o proxy do Navegador Tor é mais fácil, porque não requer a instalação de mais um programa, mas requer que você sempre abra o Navegador Tor.\nAgora mostrarei outra forma, mais avançada, de se conectar à Rede Tor no Windows, que é instalando o cliente Tor como um serviço do Windows.\nUm serviço é um programa que roda em segundo plano (ao fundo, em background) enquanto você usa outros programas. Normalmente, é iniciado automaticamente junto com o sistema operacional, quando você liga o computador.\nQuando iniciado, o serviço do cliente Tor se conecta à Rede Tor e disponibiliza essa conexão para outros aplicativos por meio de um proxy. Então, para conectar um aplicativo à Rede Tor, basta configurá-lo para usar esse proxy.\nInstalar o cliente Tor como um serviço do Windows faz com que seu sistema se conecte de forma automática à Rede Tor sempre que ligar, e independe do Navegador Tor.\nBaixe o Pacote Tor Expert (Tor Expert Bundle) acessando o site do Tor em:\nhttps://www.torproject.org/pt-BR/download/tor/ Clique no link referente à versão Estável para Windows (x86_64):\nVocê vai baixar um arquivo compactado. Crie uma pasta C:\\Tor e extraia o conteúdo do arquivo baixado para ela usando um programa como o 7-Zip. Ao final, você terá isto:\nNote o executável tor.exe dentro de C:\\Tor\\tor. Esse é o cliente Tor.\nAbra o Menu Iniciar, pesquise por cmd e execute o Prompt de Comando como administrador:\nMude para a pasta C:\\Tor\\tor e execute o tor.exe:\nO cliente Tor pode levar alguns segundos ou minutos para iniciar:\nPerceba ao final: Bootstrapped 100% (done): Done. Isso indica que a conexão com a Rede Tor foi estabelecida e a VPN está pronta para ser usada.\nConfigure o proxy indo nas Opções da Internet, da mesma forma como você fez antes, apenas mude a porta para 9050:\nTeste a conexão com a Rede Tor acessando check.torproject.org no navegador de sua preferência. Se o Navegador Tor estiver aberto, recomendo que você o feche antes de fazer o teste, para se certificar de que a conexão está sendo tunelada pelo cliente Tor, e não pelo Navegador Tor.\nSe o teste foi bem sucedido, é sinal de que o cliente Tor foi instalado e está funcionando corretamente.\nAgora vamos transformá-lo em um serviço do Windows.\nVolte ao Prompt de Comando e tecle Ctrl + C para encerrar o cliente Tor.\nNa sequência, execute:\n\u0026gt; tor.exe --service install Note: Service installed successfully (Serviço instalado com sucesso)\nPara se certificar de que o serviço foi instalado, abra o Menu Iniciar, pesquise por serviços e abra o aplicativo Serviços:\nPerceba o serviço Tor Win32 Service com Status = Em Execução e Tipo de Inicialização = Automático:\nPronto! Feito isso, seu sistema estará sempre pronto para usar a Rede Tor.\nConclusão Para uma experiência mais completa da Rede Tor no Windows, tenha os dois instalados no seu computador: o Navegador Tor, para acessar sites, e o cliente Tor, para conectar aplicativos como um proxy.\nNão encerre o assunto por aqui. Pesquise sobre VPN, inclusive sobre VPNs alternativas ao Tor, porque pode ser que você venha a precisar delas.\nSe você está recorrendo ao Tor para vencer censura, observe que pode acontecer de seu país passar a censurar a Rede Tor. Talvez você queira consultar antecipadamente a seção sobre Censura da documentação do Tor.\nReferências Using The Tor Bundle on Windows for Complete Traffic Proxying | by Jason Jacobs, MSc. | Medium python - How to configure a tor proxy on windows? - Stack Overflow proxy - How to configure Tor as service on windows? - Super User ","date":"2024-10-03T21:10:00Z","permalink":"/pt-br/artigo/tor-configurando-proxy-para-tunelar-aplicativos-no-windows/","title":"Tor: configurando proxy para tunelar aplicativos no Windows"},{"content":" Vimos o que é VPN, Rede Tor e a forma mais fácil de usá-la no iOS, que é por meio do app Orbot. Esse aplicativo roteia todo o tráfego de Internet de todos os aplicativos por dentro do túnel da Rede Tor. Como nos dispositivos móveis é mais comum usarmos aplicativos, em vez de acessar sites pelo navegador, o app Orbot é a melhor forma de começar a usar a Rede Tor no iOS.\nNo entanto, se você precisa acessar um site por meio da Rede Tor no seu iPhone ou iPad, não é recomendado usar um navegador comum, como o Safari, mesmo que seu tráfego esteja sendo redirecionado pelo Orbot. Nesse caso, é recomendado que você use o Onion Browser, que é um navegador baseado no WebKit (mesma tecnologia por trás do Safari) que só trafega dados dentro da Rede Tor e também adiciona melhorias relacionadas a privacidade.\nA seguir, você verá como instalar e usar o Onion Browser no iOS.\nInstalando o Onion Browser Para instalar o Onion Browser no iOS, você pode abrir a App Store e pesquisar por Onion Browser, ou usar o link a seguir:\nNote que o Onion Browser requer que o Orbot também esteja instalado. Se você precisar de ajuda com a instalação e uso do Orbot, consulte:\nO que é VPN e a forma mais fácil de usá-la no iOS: por meio do app Orbot Iniciando o Onion Browser Antes de iniciar o Onion Browser, inicie o Orbot e conecte-se à Rede Tor.\nDepois disso, para iniciar o Onion Browser, toque em seu ícone na tela de início:\nNo primeiro uso, o navegador apresenta uma mensagem de boas vindas. Toque em Próximo:\nTambém no primeiro uso, o Onion Browser explica que precisa ser usado junto do Orbot. Toque em Solicitar acesso para configurar essa integração:\nO aplicativo do Orbot é aberto. Toque em Subvenção:\nDe volta ao Onion Browser, ele mostra sua tela inicial e está pronto para ser usado:\nTestando a conexão com a Rede Tor Sempre antes de começar a usar o Onion Browser, convém testar se ele está de fato conectado à Rede Tor. Para isso, acesse:\nhttps://check.torproject.org/ A página deve informar: \u0026ldquo;Parabéns. Este navegador está configurado para usar Tor.\u0026rdquo; (ou o equivalente a isso em inglês, como na imagem) Se essa mensagem aparece para você, já é seguro usar o Onion Browser para acessar os sites que você precisa acessar.\nSe aparecer uma mensagem diferente dessa, o Onion Browser não está conectado adequadamente à Rede Tor e, portanto, não está pronto para uso. Navegar assim é inseguro. Para mais informações sobre o que pode ser feito para solucionar isso, consulte o suporte da Rede Tor.\nConclusão Para uma experiência mais completa da Rede Tor no iOS, tenha os dois instalados no seu dispositivo: o Orbot, para tunelar todos os aplicativos, e o Onion Browser, para acessar sites especificamente.\nNão encerre o assunto por aqui. Pesquise sobre VPN, inclusive sobre VPNs alternativas ao Tor, porque pode ser que você venha a precisar delas.\nSe você está recorrendo ao Tor para vencer censura, observe que pode acontecer de seu país passar a censurar a Rede Tor. Talvez você queira consultar antecipadamente a seção sobre Censura da documentação do Tor.\n","date":"2024-10-02T21:00:00Z","permalink":"/pt-br/artigo/onion-browser-acessando-sites-pela-rede-tor-com-mais-seguran%C3%A7a-no-ios/","title":"Onion Browser: acessando sites pela Rede Tor com mais segurança no iOS"},{"content":" Vimos o que é VPN, Rede Tor e a forma mais fácil de usá-la no Android, que é por meio do app Orbot. Esse aplicativo roteia todo o tráfego de Internet de todos os aplicativos por dentro do túnel da Rede Tor. Como nos dispositivos móveis é mais comum usarmos aplicativos, em vez de acessar sites pelo navegador, o app Orbot é a melhor forma de começar a usar a Rede Tor no Android.\nNo entanto, se você precisa acessar um site por meio da Rede Tor no seu dispositivo móvel com Android, não é recomendado usar um navegador comum, como o Chrome ou o Firefox, mesmo que seu tráfego esteja sendo redirecionado pelo Orbot. Nesse caso, é preferível que você use o Navegador Tor (Tor Browser), uma versão modificada do Firefox que não apenas só trafega dados dentro da Rede Tor, como também adiciona melhorias relacionadas a privacidade.\nA seguir, você verá como instalar e usar o Navegador Tor no Android.\nInstalando o Navegador Tor Para instalar o Navegador Tor (Tor Browser) no Android, você pode abrir o aplicativo da Play Store e pesquisar por Navegador Tor, ou usar o link a seguir:\nIniciando o Navegador Tor Para iniciar o Navegador Tor no Android, abra o menu de aplicativos e toque no ícone do Tor Browser:\nEssa é a tela inicial do Navegador Tor, ainda não conectado à Rede Tor e, portanto, ainda não pronto para uso:\nToque em Conectar. Aguarde a conexão com a Rede Tor ser estabelecida:\nA tela seguinte indica que o Navegador Tor está conectado à Rede Tor e, portanto, pronto para ser usado:\nTestando a conexão com a Rede Tor Sempre antes de começar a usar o Navegador Tor, convém testar se ele está de fato conectado à Rede Tor. Para isso, acesse:\nhttps://check.torproject.org/ A página deve informar: \u0026ldquo;Parabéns. Este navegador está configurado para usar Tor.\u0026rdquo; (ou o equivalente a isso em inglês, como na imagem) Se essa mensagem aparece para você, já é seguro usar o Navegador Tor para acessar os sites que você precisa acessar.\nSe aparecer uma mensagem diferente dessa, o Navegador Tor não está conectado adequadamente à Rede Tor e, portanto, não está pronto para uso. Navegar assim é inseguro. Para mais informações sobre o que pode ser feito para solucionar isso, consulte o manual ou o suporte do Navegador Tor.\nConclusão Para uma experiência mais completa da Rede Tor no Android, tenha os dois instalados no seu dispositivo: o Orbot, para tunelar todos os aplicativos, e o Navegador Tor, para acessar sites especificamente.\nNão encerre o assunto por aqui. Pesquise sobre VPN, inclusive sobre VPNs alternativas ao Tor, porque pode ser que você venha a precisar delas.\nSe você está recorrendo ao Tor para vencer censura, observe que pode acontecer de seu país passar a censurar a Rede Tor. Talvez você queira consultar antecipadamente a seção sobre Censura da documentação do Tor.\n","date":"2024-10-01T22:50:00Z","permalink":"/pt-br/artigo/navegador-tor-acessando-sites-pela-rede-tor-com-mais-seguran%C3%A7a-no-android/","title":"Navegador Tor: acessando sites pela Rede Tor com mais segurança no Android"},{"content":"Se você já usa a Internet há algum tempo, já deve ter ouvido falar em \u0026ldquo;DNS\u0026rdquo; ou \u0026ldquo;servidores DNS\u0026rdquo;. Mas você sabe exatamente o que é isso e como isso impacta na velocidade da sua conexão? Confira a seguir o que é DNS e uma dica prática de como você pode tornar sua conexão mais rápida usando um servidor DNS melhor.\nO que é DNS? Se você entende minimamente como a Internet funciona, sabe que um computador se comunica com outro por meio do endereço IP, que é uma sequência de números que localiza o computador na Internet. Poderíamos fazer uma analogia com o número do celular ou telefone que você digita para ligar para alguém. Ou, se pensarmos na Internet como uma grande rua, o endereço IP seria análogo ao número da casa onde está o computador.\nPor exemplo, 142.250.218.238 é o endereço IP do Google.\nMas quando você abre o navegador e deseja acessar a busca do Google, você não digita 142.250.218.238, certo? Você digita google.com. E é aí que entra o DNS.\nDNS é a sigla em inglês para Domain Name System ou Sistema de Nomes de Domínio. Ele traduz endereços que são legíveis para nós seres humanos (nomes de domínio, como, por exemplo, google.com) em endereços IP usados pelos computadores na rede (142.250.218.238).\nSe você tem alguma idade e alcançou as listas telefônicas, se lembra de usá-las para consultar os telefones das lojas para ligar para elas. O DNS seria uma espécie de \u0026ldquo;lista da Internet\u0026rdquo;, informando o endereço IP de servidores web.\nQuase todas as comunicações na Internet começam com o computador ou celular (ou outro dispositivo) entrando em contato com um servidor DNS, pedindo para traduzir um nome de um site em seu endereço IP. Portanto, usar um bom servidor DNS é importante para que sua conexão com a Internet seja rápida.\nNormalmente, quando conectamos o computador à rede, seja ela sem fio ou cabeada, ele detecta automaticamente as configurações da rede, dentre elas quais servidores DNS usar, que geralmente são os servidores DNS da operadora.\nNem sempre esses são os servidores DNS que respondem mais rapidamente. Felizmente, você não precisa usá-los. Existem diversos servidores DNS públicos, gratuitos e conhecidos, como os da Cloudflare (1.1.1.1) ou do Google (8.8.8.8).\nMas como você pode descobrir quais são os servidores DNS mais rápidos para você? Existe um pequeno programa que pode te ajudar com essa tarefa.\nConheça o DNS Benchmark O DNS Benchmark é um programa freeware (gratuito) que testa o tempo de resposta de uma lista de servidores DNS conhecidos e te informa ao final quais são os mais rápidos para você usar de onde está. Ele é pequeno (172 kB), leve, rápido, roda sem precisar ser instalado e é compatível com todas as versões do Windows, do Windows 95 ao Windows 11, e também com o Linux e o macOS, podendo ser usado nesses sistemas por meio do Wine.\nNas imagens a seguir, você verá o DNS Benchmark sendo usado no Linux Kamarada 15.5, mas você pode usá-lo em qualquer um desses sistemas.\nBaixando o DNS Benchmark {% capture v2 %}\nQuando eu escrevi este tutorial, o DNS Benchmark estava na versão 1 e era gratuito.\nA versão mais atual do DNS Benchmark, a versão 2, é paga. A página oficial do programa lista as inúmeras novidades da versão mais nova. Se você tiver esse dinheiro sobrando (9,95 dólares, algo como 55 reais, na cotação atual), comprá-la pode ser uma boa opção.\nCaso queira baixar a versão 1, felizmente encontrei no meu computador o exato mesmo programa que usei neste tutorial, você pode baixar uma cópia clicando neste link: DNSBench.exe.\nQuando o download do programa terminar, você já pode abri-lo.\n{% endcapture %}\n{% include update.html date=\u0026ldquo;30/12/2025\u0026rdquo; message=v2 %}\nRodando o DNS Benchmark Essa é a tela inicial do DNS Benchmark, apresentando uma pequena introdução (Introduction) ao programa:\nSe seu inglês for bom e você estiver com tempo, pode ser interessante lê-la.\nPara iniciar os testes, mude para a aba Nameservers (servidores de nomes):\nEssa aba mostra a lista de servidores DNS que serão testados. Note que os servidores DNS atualmente usados pelo seu computador foram adicionados à lista, eles aparecem no topo e em negrito (no meu caso, o meu roteador MikroTik, 10.0.0.1) e também entrarão na comparação, para ver se você poderia estar usando um servidor DNS mais rápido. Opcionalmente, se você quiser adicionar ou remover um servidor DNS da lista, use o botão Add/Remove.\nAntes de iniciar o teste, interrompa qualquer atividade que você esteja fazendo que use a Internet (como, por exemplo, assistir a um vídeo pelo YouTube ou rolar o feed das redes sociais). Durante o teste, evite usar a Internet, para que o resultado seja o mais preciso possível.\nPara iniciar o teste, clique no botão Run Benchmark.\nO teste pode demorar alguns segundos ou minutos. Aguarde sua conclusão.\nO teste padrão envolve 75 servidores DNS. Quando ele terminar, o programa vai sugerir fazer um teste mais completo, considerando quase 5 mil servidores DNS. Se você estiver com tempo e quiser fazê-lo, clique no botão Build Custom List (Criar Lista Personalizada). Senão, clique em Not Now (Não Agora):\nFinalmente, os resultados do teste:\nOs servidores DNS são ordenados pelo tempo de resposta, do menor (mais rápido) para o maior (mais lento).\nFelizmente, no meu caso, o servidor DNS mais rápido para mim é o que já estou usando, que é o roteador da minha casa. Compreensível: meu computador está a apenas uma rede Wi-Fi de distância dele. Estranho seria se ele não encabeçasse a lista.\nNa sequência, podemos identificar os servidores DNS da Cloudflare (1.1.1.1 e 1.0.0.1). Esses são os servidores DNS que respondem mais rápido de onde estou. Eu poderia configurar meu computador e/ou meu roteador para usá-los.\nNote que se você conectar seu computador a outra rede e repetir esse teste, o resultado pode ser diferente, especialmente se você estiver em outra cidade.\nConclusão Se seu inglês for bom e você estiver com tempo, mude para a aba Conclusions (Conclusões) e leia o diagnóstico que o programa fez sobre suas configurações de DNS, assim como recomendações do que você pode fazer para melhorá-la:\nEspero que essa dica tenha sido útil para deixar sua Internet mais rápida. Se ficou com alguma dúvida, não hesite em comentar.\nAté a próxima!\n","date":"2024-09-19T22:00:00Z","permalink":"/pt-br/artigo/dns-benchmark-descubra-o-servidor-dns-mais-r%C3%A1pido-para-a-sua-conex%C3%A3o/","title":"DNS Benchmark: descubra o servidor DNS mais rápido para a sua conexão"},{"content":" A busca por VPNs cresceu recentemente no Brasil, segundo dados do Google Trends. Mas afinal, o que é VPN, e por que alguém iria quer usar isso?\nA sigla VPN vem do inglês Virtual Private Network, que quer dizer Rede Privada Virtual. É uma tecnologia que estabelece uma conexão segura e criptografada sobre uma rede pública, menos segura, como a Internet. Ela serve para proteger seus dados e sua privacidade enquanto você navega, garantindo que suas atividades online permaneçam seguras e confidenciais.\nA VPN funciona assim: dois computadores pertencem, a princípio, a redes diferentes (eles podem estar em prédios, cidades ou até mesmo países diferentes, por exemplo), mas ambos estão conectados à Internet. Então, eles estabelecem na rede mundial um circuito criptografado por onde trocam informações de forma privada. Seria como uma ligação telefônica que não pudesse ser grampeada.\nPara quem usa esses computadores, é imperceptível que eles estão distantes. É como se eles estivessem conectados diretamente por um cabo, apesar de esse cabo não existir de verdade (por isso, essa rede é dita virtual). E a comunicação, apesar de ocorrer pela Internet, não pode ser lida pelos demais computadores da rede, porque esses dois computadores usam criptografia para se comunicar (por isso, rede privada). Porque a informação trafega por esse circuito criptografado que não pode ser interceptado, a VPN também é conhecida como túnel.\nUm uso prático de VPNs é burlar censuras a sites. Normalmente, quando acessamos um site, nossa comunicação com o servidor desse site é roteada pela infraestrutura de rede da operadora, que pode estar bloqueando o acesso ao site (por ordem do governo, por exemplo). Tem VPNs que permitem que o computador na outra ponta, que pode estar em outro país, faça o trabalho do roteador da operadora, então conseguimos, assim, acessar o site como se estivéssemos em outro país.\nEssas VPNs são usadas sobretudo em países com governos autoritários em que os cidadãos são proibidos de ter acesso a sites ou aplicativos considerados impróprios pelo ditador no poder. É preocupante que a busca por VPNs esteja crescendo no Brasil, assim como a menção ao nosso país na Declaração de Westminster, assinada por vários ativistas defensores da liberdade de expressão, incluindo Julian Assange, Edward Snowden, Glenn Greenwald e Jordan Peterson.\nSe você sente necessidade de usar uma VPN, quero te apresentar hoje uma que é baseada em software livre e que pode ser usada gratuitamente por qualquer pessoa em qualquer lugar do mundo.\nO Projeto Tor (sigla de The Onion Router, \u0026ldquo;o roteador cebola\u0026rdquo;, em uma tradução livre) mantém uma rede de túneis ao redor do mundo \u0026ndash; a Rede Tor \u0026ndash; pela qual trafegam dados de seus usuários de forma anônima, criptografada, privada, segura e livre de censura. A menção à cebola vem do fato de que a informação dentro dessa rede circula de forma compartimentada. A Rede Tor emprega várias camadas de criptografia para garantir que cada computador no meio do caminho só saiba o suficiente para levar a informação adiante até o próximo:\nA forma mais fácil de se conectar à Rede Tor e usá-la em dispositivos móveis com iOS (iPhone e iPad) é por meio do aplicativo Orbot, que não faz parte oficialmente do Projeto Tor, mas é recomendado por este, porque é desenvolvido por algumas das mesmas pessoas que participam do Projeto Tor. Após se conectar à Rede Tor, o Orbot faz com que o tráfego de Internet de todos os aplicativos do iOS passem por dentro da rede Tor.\nA seguir, você verá como instalar e usar o Orbot no iOS.\nNota: se, por um acaso, você procurava instruções para outro sistema, mas caiu nesta página, consulte versões deste mesmo tutorial para outros sistemas:\nAndroid: O que é VPN e a forma mais fácil de usá-la no Android: por meio do app Orbot Windows: O que é VPN e a forma mais fácil de usá-la no Windows: por meio do Navegador Tor Linux: O que é VPN e a forma mais fácil de usá-la no Linux: por meio do Navegador Tor - Linux Kamarada Instalando o Orbot Para instalar o Orbot no iOS, você pode abrir a App Store e pesquisar por Orbot, ou usar o link a seguir:\nIniciando o Orbot Para iniciar o Orbot no iOS, toque em seu ícone na tela de início:\nNo primeiro uso, ele vai pedir para adicioná-lo como uma VPN ao iOS. Toque em Instalar e, depois, em Permitir:\nEssa é a tela inicial do Orbot, ainda não conectado à Rede Tor. Portanto, a VPN ainda não está pronta para ser usada. Toque no botão Começar:\nAguarde a conexão com a Rede Tor ser estabelecida:\nA tela seguinte indica que o Orbot está Conectado à Rede Tor e, portanto, a VPN está pronta para ser usada:\nNote que você não precisa fazer nenhuma configuração adicional no sistema ou nos aplicativos para que eles passem a trafegar seus dados pela Rede Tor.\nTestando a conexão com a Rede Tor Sempre antes de começar a usar a Rede Tor, convém testar se o sistema está de fato conectado à Rede Tor. Para isso, usando o seu navegador preferido (por exemplo, eu usei o Safari mesmo, que já vem de fábrica), acesse:\nhttps://check.torproject.org/ A página deve informar: \u0026ldquo;Parabéns. Este navegador está configurado para usar Tor.\u0026rdquo; (ou o equivalente a isso em inglês, como na imagem) Se essa mensagem aparece para você, já é seguro usar a Rede Tor para acessar os sites que você precisa acessar.\nSe aparecer uma mensagem diferente dessa, seu celular não está conectado adequadamente à Rede Tor e, portanto, a VPN não está pronta para ser usada. Navegar assim é inseguro. Para mais informações sobre o que pode ser feito para solucionar isso, consulte o suporte da Rede Tor.\nAlterando a saída Por padrão, o túnel criado pelo Orbot e pela Rede Tor pode sair por qualquer país do mundo, escolhido aleatoriamente. Mas você pode, opcionalmente, selecionar por qual país (ou quais países) deseja sair do túnel.\nPara isso, na tela inicial do Orbot, abra o menu no canto superior direito da tela e toque em Limitar países de saída:\nSelecione um ou mais países na lista:\nFeito isso, a partir de agora as conexões feitas pelo Orbot sairão por um desses países que você selecionou.\nEncerrando o Orbot Quando não precisar usar mais a Rede Tor, volte ao Orbot e toque em Parar.\nLeitura adicional recomendada Conhecimento é poder. E o que você leu neste artigo é o tipo de conhecimento que você precisa ter antes que precise usar de fato. Recomendo que você estude o material dos sites a seguir, que podem te ajudar a navegar com mais segurança e privacidade e menos censura:\nSecurity in-a-box - ferramentas e táticas de segurança digital Privacidade.Digital – Criptografia Contra a Vigilância Global em Massa Guia de Autodefesa contra Vigilância da Electronic Frontier Foundation (EFF) ","date":"2024-09-03T19:13:00Z","permalink":"/pt-br/artigo/o-que-%C3%A9-vpn-e-a-forma-mais-f%C3%A1cil-de-us%C3%A1-la-no-ios-por-meio-do-app-orbot/","title":"O que é VPN e a forma mais fácil de usá-la no iOS: por meio do app Orbot"},{"content":" A busca por VPNs cresceu recentemente no Brasil, segundo dados do Google Trends. Mas afinal, o que é VPN, e por que alguém iria quer usar isso?\nA sigla VPN vem do inglês Virtual Private Network, que quer dizer Rede Privada Virtual. É uma tecnologia que estabelece uma conexão segura e criptografada sobre uma rede pública, menos segura, como a Internet. Ela serve para proteger seus dados e sua privacidade enquanto você navega, garantindo que suas atividades online permaneçam seguras e confidenciais.\nA VPN funciona assim: dois computadores pertencem, a princípio, a redes diferentes (eles podem estar em prédios, cidades ou até mesmo países diferentes, por exemplo), mas ambos estão conectados à Internet. Então, eles estabelecem na rede mundial um circuito criptografado por onde trocam informações de forma privada. Seria como uma ligação telefônica que não pudesse ser grampeada.\nPara quem usa esses computadores, é imperceptível que eles estão distantes. É como se eles estivessem conectados diretamente por um cabo, apesar de esse cabo não existir de verdade (por isso, essa rede é dita virtual). E a comunicação, apesar de ocorrer pela Internet, não pode ser lida pelos demais computadores da rede, porque esses dois computadores usam criptografia para se comunicar (por isso, rede privada). Porque a informação trafega por esse circuito criptografado que não pode ser interceptado, a VPN também é conhecida como túnel.\nUm uso prático de VPNs é burlar censuras a sites. Normalmente, quando acessamos um site, nossa comunicação com o servidor desse site é roteada pela infraestrutura de rede da operadora, que pode estar bloqueando o acesso ao site (por ordem do governo, por exemplo). Tem VPNs que permitem que o computador na outra ponta, que pode estar em outro país, faça o trabalho do roteador da operadora, então conseguimos, assim, acessar o site como se estivéssemos em outro país.\nEssas VPNs são usadas sobretudo em países com governos autoritários em que os cidadãos são proibidos de ter acesso a sites ou aplicativos considerados impróprios pelo ditador no poder. É preocupante que a busca por VPNs esteja crescendo no Brasil, assim como a menção ao nosso país na Declaração de Westminster, assinada por vários ativistas defensores da liberdade de expressão, incluindo Julian Assange, Edward Snowden, Glenn Greenwald e Jordan Peterson.\nSe você sente necessidade de usar uma VPN, quero te apresentar hoje uma que é baseada em software livre e que pode ser usada gratuitamente por qualquer pessoa em qualquer lugar do mundo.\nO Projeto Tor (sigla de The Onion Router, \u0026ldquo;o roteador cebola\u0026rdquo;, em uma tradução livre) mantém uma rede de túneis ao redor do mundo \u0026ndash; a Rede Tor \u0026ndash; pela qual trafegam dados de seus usuários de forma anônima, criptografada, privada, segura e livre de censura. A menção à cebola vem do fato de que a informação dentro dessa rede circula de forma compartimentada. A Rede Tor emprega várias camadas de criptografia para garantir que cada computador no meio do caminho só saiba o suficiente para levar a informação adiante até o próximo:\nA forma mais fácil de se conectar à Rede Tor e usá-la no Android é por meio do aplicativo Orbot, que não faz parte oficialmente do Projeto Tor, mas é recomendado por este, porque é desenvolvido por algumas das mesmas pessoas que participam do Projeto Tor. Após se conectar à Rede Tor, o Orbot faz com que o tráfego de Internet de todos os aplicativos do Android passem por dentro da rede Tor.\nA seguir, você verá como instalar e usar o Orbot no Android.\nNota: se, por um acaso, você procurava instruções para outro sistema, mas caiu nesta página, consulte versões deste mesmo tutorial para outros sistemas:\nWindows: O que é VPN e a forma mais fácil de usá-la no Windows: por meio do Navegador Tor iOS (iPhone e iPad): O que é VPN e a forma mais fácil de usá-la no iOS: por meio do app Orbot Linux: O que é VPN e a forma mais fácil de usá-la no Linux: por meio do Navegador Tor - Linux Kamarada Instalando o Orbot Para instalar o Orbot no Android, você pode abrir o aplicativo da Play Store e pesquisar por Orbot, ou usar o link a seguir:\nIniciando o Orbot Para iniciar o Orbot no Android, abra o menu de aplicativos e toque em seu ícone:\nOpcionalmente (mas eu recomendo), permita que o Orbot mostre notificações:\nEssa é a tela inicial do Orbot, ainda não conectado à Rede Tor. Portanto, a VPN ainda não está pronta para ser usada. Toque no botão Iniciar a VPN:\nAguarde a conexão com a Rede Tor ser estabelecida:\nA tela seguinte indica que o Orbot está Conectado à Rede Tor e, portanto, a VPN está pronta para ser usada:\nNote que você não precisa fazer nenhuma configuração adicional no sistema ou nos aplicativos para que eles passem a trafegar seus dados pela Rede Tor.\nTestando a conexão com a Rede Tor Sempre antes de começar a usar a Rede Tor, convém testar se o sistema está de fato conectado à Rede Tor. Para isso, usando o seu navegador preferido (por exemplo, eu usei o Firefox), acesse:\nhttps://check.torproject.org/ A página deve informar: \u0026ldquo;Parabéns. Este navegador está configurado para usar Tor.\u0026rdquo; (ou o equivalente a isso em inglês, como na imagem) Se essa mensagem aparece para você, já é seguro usar a Rede Tor para acessar os sites que você precisa acessar.\nSe aparecer uma mensagem diferente dessa, seu celular não está conectado adequadamente à Rede Tor e, portanto, a VPN não está pronta para ser usada. Navegar assim é inseguro. Para mais informações sobre o que pode ser feito para solucionar isso, consulte o suporte da Rede Tor.\nConforme você navega na Internet usando aplicativos, perceba pela notificação do Orbot que há tráfego de rede passando pelo túnel estabelecido:\nAlterando a saída Por padrão, o túnel criado pelo Orbot e pela Rede Tor pode sair por qualquer país do mundo, escolhido aleatoriamente.\nOpcionalmente, você pode, na tela inicial do Orbot, tocar em Altere a saída e selecionar por qual país deseja sair do túnel:\nTunelando apenas alguns aplicativos Por padrão, o Orbot roteia todo o tráfego de rede do sistema operacional Android (incluindo o tráfego de rede dos aplicativos) para dentro do túnel.\nSe você deseja que somente alguns aplicativos usem o túnel, enquanto outros aplicativos e o sistema usam a conexão convencional, na tela inicial do Orbot, toque em Escolha os aplicativos e selecione quais aplicativos devem ter seu tráfego de rede redirecionado para a Rede Tor:\nNote que você não precisa fazer nenhuma configuração adicional nesses aplicativos para que eles passem a trafegar seus dados pela Rede Tor.\nEncerrando o Orbot Quando não precisar usar mais a Rede Tor, volte ao Orbot e toque em Desligar o Tor.\nLeitura adicional recomendada Conhecimento é poder. E o que você leu neste artigo é o tipo de conhecimento que você precisa ter antes que precise usar de fato. Recomendo que você estude o material dos sites a seguir, que podem te ajudar a navegar com mais segurança e privacidade e menos censura:\nSecurity in-a-box - ferramentas e táticas de segurança digital Privacidade.Digital – Criptografia Contra a Vigilância Global em Massa Guia de Autodefesa contra Vigilância da Electronic Frontier Foundation (EFF) ","date":"2024-09-03T11:30:00Z","permalink":"/pt-br/artigo/o-que-%C3%A9-vpn-e-a-forma-mais-f%C3%A1cil-de-us%C3%A1-la-no-android-por-meio-do-app-orbot/","title":"O que é VPN e a forma mais fácil de usá-la no Android: por meio do app Orbot"},{"content":" A busca por VPNs cresceu recentemente no Brasil, segundo dados do Google Trends. Mas afinal, o que é VPN, e por que alguém iria quer usar isso?\nA sigla VPN vem do inglês Virtual Private Network, que quer dizer Rede Privada Virtual. É uma tecnologia que estabelece uma conexão segura e criptografada sobre uma rede pública, menos segura, como a Internet. Ela serve para proteger seus dados e sua privacidade enquanto você navega, garantindo que suas atividades online permaneçam seguras e confidenciais.\nA VPN funciona assim: dois computadores pertencem, a princípio, a redes diferentes (eles podem estar em prédios, cidades ou até mesmo países diferentes, por exemplo), mas ambos estão conectados à Internet. Então, eles estabelecem na rede mundial um circuito criptografado por onde trocam informações de forma privada. Seria como uma ligação telefônica que não pudesse ser grampeada.\nPara quem usa esses computadores, é imperceptível que eles estão distantes. É como se eles estivessem conectados diretamente por um cabo, apesar de esse cabo não existir de verdade (por isso, essa rede é dita virtual). E a comunicação, apesar de ocorrer pela Internet, não pode ser lida pelos demais computadores da rede, porque esses dois computadores usam criptografia para se comunicar (por isso, rede privada). Porque a informação trafega por esse circuito criptografado que não pode ser interceptado, a VPN também é conhecida como túnel.\nUm uso prático de VPNs é burlar censuras a sites. Normalmente, quando acessamos um site, nossa comunicação com o servidor desse site é roteada pela infraestrutura de rede da operadora, que pode estar bloqueando o acesso ao site (por ordem do governo, por exemplo). Tem VPNs que permitem que o computador na outra ponta, que pode estar em outro país, faça o trabalho do roteador da operadora, então conseguimos, assim, acessar o site como se estivéssemos em outro país.\nEssas VPNs são usadas sobretudo em países com governos autoritários em que os cidadãos são proibidos de ter acesso a sites ou aplicativos considerados impróprios pelo ditador no poder. É preocupante que a busca por VPNs esteja crescendo no Brasil, assim como a menção ao nosso país na Declaração de Westminster, assinada por vários ativistas defensores da liberdade de expressão, incluindo Julian Assange, Edward Snowden, Glenn Greenwald e Jordan Peterson.\nSe você sente necessidade de usar uma VPN, quero te apresentar hoje uma que é baseada em software livre e que pode ser usada gratuitamente por qualquer pessoa em qualquer lugar do mundo.\nO Projeto Tor (sigla de The Onion Router, \u0026ldquo;o roteador cebola\u0026rdquo;, em uma tradução livre) mantém uma rede de túneis ao redor do mundo \u0026ndash; a Rede Tor \u0026ndash; pela qual trafegam dados de seus usuários de forma anônima, criptografada, privada, segura e livre de censura. A menção à cebola vem do fato de que a informação dentro dessa rede circula de forma compartimentada. A Rede Tor emprega várias camadas de criptografia para garantir que cada computador no meio do caminho só saiba o suficiente para levar a informação adiante até o próximo:\nA forma mais fácil de se conectar à Rede Tor e usá-la no Windows é por meio do Navegador Tor (Tor Browser), que é uma versão do Mozilla Firefox modificada para trafegar dados somente dentro da Rede Tor. Ao usar o Navegador Tor, você navega sem ser identificado ou rastreado, para os sites seu endereço IP aparece diferente, como se estivesse em outro país.\nA seguir, você verá como instalar e usar o Navegador Tor no Windows.\nNota: se, por um acaso, você procurava instruções para outro sistema, mas caiu nesta página, consulte versões deste mesmo tutorial para outros sistemas:\nAndroid: O que é VPN e a forma mais fácil de usá-la no Android: por meio do app Orbot iOS (iPhone e iPad): O que é VPN e a forma mais fácil de usá-la no iOS: por meio do app Orbot Linux: O que é VPN e a forma mais fácil de usá-la no Linux: por meio do Navegador Tor - Linux Kamarada Baixando e instalando o Navegador Tor Para baixar o Navegador Tor, acesse o site oficial do Projeto Tor e clique em Download para Windows:\nhttps://www.torproject.org/pt-BR/download/ O download do instalador do Navegador Tor será iniciado automaticamente.\nQuando o download terminar, abra-o:\nA primeira tela do instalador pede para selecionar um idioma:\nO Português Brasileiro já deve vir selecionado por padrão. Apenas clique em OK.\nFaça a instalação como normalmente é no Windows (famoso Avançar, Avançar, Avançar\u0026hellip;):\nE, por fim, clique em Concluir:\nNa sequência, o Navegador Tor é iniciado automaticamente pela primeira vez.\nUsando o navegador Tor Essa é a tela inicial do Navegador Tor, ainda não conectado à Rede Tor e, portanto, ainda não pronto para uso:\nClique em Conectar. Aguarde a conexão com a Rede Tor ser estabelecida:\nA tela seguinte indica que o Navegador Tor está conectado à Rede Tor e, portanto, pronto para ser usado:\nTestando a conexão com a Rede Tor Sempre antes de começar a usar o Navegador Tor, convém testar se ele está de fato conectado à Rede Tor. Para isso, acesse:\nhttps://check.torproject.org/ A página deve informar: \u0026ldquo;Parabéns. Este navegador está configurado para usar Tor.\u0026rdquo; (ou o equivalente a isso em inglês, como na imagem) Se essa mensagem aparece para você, já é seguro usar o Navegador Tor para acessar os sites que você precisa acessar.\nSe aparecer uma mensagem diferente dessa, o Navegador Tor não está conectado adequadamente à Rede Tor e, portanto, não está pronto para uso. Navegar assim é inseguro. Para mais informações sobre o que pode ser feito para solucionar isso, consulte o manual ou o suporte do Navegador Tor.\nIniciando o Navegador Tor Quando você instala o Navegador Tor no Windows, ele é iniciado automaticamente pelo instalador para que seja usado pela primeira vez.\nSempre que você quiser usar o Navegador Tor novamente, pode iniciá-lo a partir do atalho que é criado pelo instalador na Área de Trabalho:\nVocê também pode iniciá-lo a partir do Menu Iniciar:\nLeitura adicional recomendada Conhecimento é poder. E o que você leu neste artigo é o tipo de conhecimento que você precisa ter antes que precise usar de fato. Recomendo que você estude o material dos sites a seguir, que podem te ajudar a navegar com mais segurança e privacidade e menos censura:\nSecurity in-a-box - ferramentas e táticas de segurança digital Privacidade.Digital – Criptografia Contra a Vigilância Global em Massa Guia de Autodefesa contra Vigilância da Electronic Frontier Foundation (EFF) ","date":"2024-09-03T11:25:00Z","permalink":"/pt-br/artigo/o-que-%C3%A9-vpn-e-a-forma-mais-f%C3%A1cil-de-us%C3%A1-la-no-windows-por-meio-do-navegador-tor/","title":"O que é VPN e a forma mais fácil de usá-la no Windows: por meio do Navegador Tor"},{"content":" Se você trabalha com Git e GitLab, provavelmente já quis usá-lo sem senha, por um motivo ou por outro. Talvez porque é incômodo ter que digitar a senha toda vez que faz um git pull ou git push. Uma vez eu escrevi para o blog do Linux Kamarada um tutorial contendo uma possível solução para isso, que é usar o Git com chaves SSH. Mas nem sempre essa é a melhor solução possível. Se você precisa acessar registros de pacotes privados do PyPI ou registros de contêineres privados do Docker no GitLab, o melhor para isso é criar e usar um personal access token (token de acesso pessoal). Um personal access token é semelhante a uma senha que você cria no GitLab e que lhe permite acessá-lo sem informar a senha da sua conta.\nSe você tem algum script ou automação que precisa acessar o GitLab como se fosse você, você deve criar um personal access token para esse script ou automação, em vez de anotar sua senha em algum arquivo de texto que vai ficar exposto por aí.\nPersonal access tokens são obrigatórios para acessar repositórios do GitLab a partir do terminal (comandos git pull, git push, etc.) se você habilitou autenticação de dois fatores (two-factor authentication, 2FA) para a sua conta ou se você acessa o GitLab de uma organização por meio de single sign-on (SSO).\nVeja a seguir como criar e usar um personal access token.\nCriando um personal access token Usando seu navegador preferido, acesse sua conta do GitLab. Na barra lateral à esquerda, clique no seu avatar e, depois, em Preferences (preferências):\nNa barra lateral à esquerda, clique em Access Tokens. Depois, na página, à direita, clique em Add new token (adicionar novo token):\nDigite um nome para o token (Token name) e defina uma data de expiração (Expiration date) para o token, que não deve ser superior a 1 ano (por exemplo, se hoje estamos em 2024-05-27, você pode digitar 2025-05-26 para que o token tenha validade de 1 ano):\nEm Select scopes (selecione escopos), defina quais ações poderão ser feitas usando esse token. Na dúvida, marque apenas a opção api, mas tenha em mente que esse é o nível de permissão máximo. Se quiser mais informações sobre cada uma dessas opções, consulte a documentação do GitLab.\nMais abaixo, nessa mesma página, clique no botão Create personal access token (criar token de acesso pessoal).\nA página seguinte informa que o token foi criado:\nVocê pode vê-lo clicando no ícone do olho e copiá-lo usando o ícone do lado. Não deixe essa página sem ter copiado esse token para algum outro lugar, pois não terá como vê-lo novamente. Se for preciso, você terá que criar outro token.\nConfigurando a autenticação no Linux Eu criei um personal access token para mim com o intuito de fazer git pull, git push, etc. dos repositórios sem ter que informar login e senha toda vez.\nPara conseguir isso, se você usa Linux, como eu, deve adicionar seu personal access token ao arquivo netrc, que é um arquivo de configuração do Linux que nos permite configurar autenticação automática em servidores de Git, FTP, etc.\nUsando seu editor de texto favorito (como o vim), crie (ou edite, caso já exista) o arquivo .netrc na sua pasta pessoal (portanto, ~/.netrc):\n$ vim ~/.netrc E adicione a seguinte linha:\nmachine \u0026lt;endereco-do-gitlab\u0026gt; login \u0026lt;nome-do-token\u0026gt; password \u0026lt;token\u0026gt; No meu exemplo, ficou assim:\nmachine gitlab.com login my-token password glpat-j-_QJyC8MwzcFHsSfUUu Salve o arquivo e saia do editor de texto.\nVocê deve ser o único usuário a ter permissão para ler e escrever no arquivo .netrc. Certifique-se de que esse é o caso ajustando suas permissões:\n$ chmod 600 ~/.netrc Pronto! Feito isso, você já pode testar seu personal access token fazendo um git pull e percebendo que o Git não pede mais senha.\nReferências Personal access tokens | GitLab git - Using GitLab token to clone without authentication - Stack Overflow .netrc file so you can push/pull to https git repos without entering your creds all the time · GitHub Document ~/.netrc usage (#350582) · Issues · GitLab ","date":"2024-05-28T11:40:00Z","permalink":"/pt-br/artigo/autenticando-sem-senha-no-gitlab-por-meio-de-personal-access-token/","title":"Autenticando sem senha no GitLab por meio de Personal Access Token"},{"content":"TL;DR (resumo): use o comando git tag -a v3.0.0 (sem a opção -m) e o editor de texto será aberto, então você poderá escrever uma mensagem de tag com quantas linhas você quiser.\nVersão completa:\nSempre que lanço uma nova versão de um projeto cujo código-fonte é controlado pelo Git, costumo criar uma tag anotada para marcar o commit daquela versão, e geralmente essa tag contém uma mensagem curta de apenas uma linha. Veja, por exemplo, as tags do projeto material-jekyll, que é o modelo que eu uso para fazer este site e o site do Linux Kamarada:\nMas, para o lançamento da versão 3.0, eu queria escrever uma mensagem mais longa, em algumas linhas, que resumisse as principais alterações e explicasse o porquê do incremento da versão maior.\nTodos os exemplos da documentação do Git usam a opção -m, que define a mensagem da tag, mas em todos esses exemplos a mensagem é curta.\nPor exemplo, para criar uma tag anotada:\n$ git tag -a v3.0.0 -m \u0026#34;Version 3.0.0\u0026#34; Para criar uma tag leve:\n$ git tag v3.0.0 Eis que me veio a pergunta que dá título a este post: como escrever uma mensagem de tag anotada com várias linhas?\nComo bom programador que sou, fiz uma pesquisa no Google e achei alguém com a mesma dúvida no Stack Overflow. Mas, depois, voltando na documentação do Git e lendo-a mais atentamente, percebi que a solução também era dita lá, só não tinha um exemplo acompanhando:\nSe você não especificar uma mensagem para uma tag anotada, o Git abre seu editor para que você possa digitar nele.\nPortanto, o que fiz foi simplesmente:\n$ git tag -a v3.0.0 (mesmo comando que antes, mas sem a opção -m)\nCom esse comando, o Git abriu meu editor de texto (o padrão do Linux, o Vim) e pude digitar minha mensagem com várias linhas:\nDepois, enviei essa tag para o servidor remoto:\n$ git push origin v3.0.0 E agora você pode vê-la listada nas tags do projeto material-jekyll:\n","date":"2023-12-03T13:00:00Z","permalink":"/pt-br/artigo/git-como-escrever-uma-mensagem-de-tag-anotada-com-v%C3%A1rias-linhas/","title":"Git: como escrever uma mensagem de tag anotada com várias linhas"},{"content":"{% capture revisao_links_quebrados %}\nO site passou por uma revisão de links quebrados. Alguns links nessa publicação podem ter sido removidos ou atualizados.\n{% endcapture %}\n{% include update.html date=\u0026ldquo;02/08/2023\u0026rdquo; message=revisao_links_quebrados %}\nUma bridge (\u0026ldquo;ponte\u0026rdquo;, em inglês) é um dispositivo de rede que une duas redes a nível de camada 2 do modelo OSI (camada de enlace). Normalmente, o modem da operadora atua como roteador (router), ou seja, atua na camada 3 (camada de rede), separando a rede de casa e a rede da operadora em espaços de endereços IP diferentes.\nSe você tem outro roteador, como o MikroTik do qual já falei aqui em alguns posts, pode ser interessante mudar o modem da operadora para o modo bridge, o que faz com que seu outro roteador entre em contato direto com a rede da operadora, recebendo um endereço IP desta, e sendo o único responsável por gerenciar toda a rede da sua casa.\nTentando usar uma linguagem menos técnica, tornar o modem da operadora uma bridge na prática seria como anulá-lo, ele passa a fazer apenas o \u0026ldquo;leva e traz\u0026rdquo; de dados na rede, enquanto quem faz o \u0026ldquo;trabalho pesado\u0026rdquo; mesmo é o roteador conectado a ele.\nSe você, assim como eu, confia mais no seu roteador do que no equipamento da operadora, configurar o modem em modo bridge pode trazer mais segurança para a rede da sua casa.\nHoje eu sou cliente da Claro e tenho em minha casa o modem Sagemcom F@ST 3895 e o roteador MikroTik hAP ac³, irmão mais novo do MikroTik anterior.\nVou mostrar como deixar o modem Sagemcom em modo bridge e o MikroTik como único roteador da casa.\nPonto de partida Conecte seu roteador ao modem da operadora, como na imagem acima.\nConecte seu computador ao seu roteador.\nCaso seu roteador seja um MikroTik como o meu e você tenha caído nessa página de paraquedas, talvez queira dar uma conferida nos textos anteriores:\nPrimeiros passos com o MikroTik hAP ac: roteador profissional para a rede de casa MikroTik: modo de segurança (Safe Mode) Acessando a interface web do modem Abra o navegador e acesse a interface web do modem da operadora. O endereço IP, assim como o login e senha que você vai usar para acessar essa interface comumente podem ser encontrados em uma etiqueta no próprio modem ou fazendo uma pesquisa na Internet.\nNo caso do modem Sagemcom F@ST 3895, o endereço IP é 192.168.0.1:\nO login e a senha estavam em uma etiqueta no modem.\nA tela inicial resume as informações da conexão e traz as configurações mais comuns, que são o nome e a senha da rede Wi-Fi.\nFazendo backup da configuração atual No menu à esquerda, expanda Administração e clique em Backup:\nClique em Backup para baixar a configuração atual do modem:\nO navegador vai baixar um arquivo chamado device.cfg. Salve esse arquivo em um local seguro, que você se lembre depois, pro caso de precisar restaurar o backup.\nDesativando a rede Wi-Fi do modem No menu à esquerda, expanda Wi-Fi e clique em Rádio.\nClique na rede de 2.4GHz e desmarque a opção Ativar:\nDesça até o final da página e clique em Aplicar Ajustes:\nDepois, faça o mesmo para a rede de 5GHz.\nAtivando o modo bridge No menu à esquerda, expanda Redes e clique em Configurações Básicas.\nRole a página até encontrar a opção Tipo de conexão WAN e defina-a como Modo Bridge:\nChegamos ao ponto de não retorno. Clique em Aplicar Ajustes para ativar o modo bridge.\nO modem será reiniciado. Você pode fechar a janela do navegador.\nAbra uma janela do terminal e deixe um ping rodando para algum endereço IP na Internet (por exemplo, o servidor de DNS público do Google, 8.8.8.8). Observando o comando ping, é possível saber quando o modem terminou de reiniciar e a conexão com a Internet voltou:\n$ ping 8.8.8.8 ... De 10.0.0.1 icmp_seq=156 Rede de destino inalcançável 64 bytes de 8.8.8.8: icmp_seq=157 ttl=112 tempo=36.6 ms 64 bytes de 8.8.8.8: icmp_seq=158 ttl=112 tempo=40.2 ms 64 bytes de 8.8.8.8: icmp_seq=159 ttl=112 tempo=41.3 ms 64 bytes de 8.8.8.8: icmp_seq=160 ttl=112 tempo=38.0 ms Verificando a conexão do roteador Se seu roteador estava configurado para obter DHCP, deve ter recebido um endereço IP diretamente da rede da operadora (não mais do modem, que agora está em modo bridge).\nNo caso do MikroTik, para verificar o endereço IP obtido, inicie o WinBox. Na janela do WinBox, à esquerda, expanda o menu IP, depois clique no item Addresses (endereços):\nNo meu exemplo, o MikroTik obteve o endereço IP 100.64.174.102/19:\n(se a notação /19 é nova para você — eu só a conheci quando tive a oportunidade de trabalhar com redes — ela quer dizer que os primeiros 19 bits do endereço IP identificam a rede, para mais informações procure saber sobre CIDR)\nAcessando a interface web da bridge No futuro, caso precise usar a interface web do modem, que agora está em modo bridge — por exemplo, para restaurar o backup das configurações do modem, desativando assim o modo bridge — abra o navegador e acesse o endereço IP 192.168.100.1.\nNão sei como a bridge responde por esse endereço IP, dado que ela não atua na camada 3 (camada de rede) do modelo OSI. Só sei que funciona. Parece mágica\u0026hellip;\nNotas sobre carrier-grade NAT O endereço IP 100.64.174.102/19 pertence à rede 100.64.160.0. Não se trata de um endereço IP \u0026ldquo;real\u0026rdquo; (ou público), como seria de se esperar há alguns anos, mas de um endereço IP privado dentro da rede da operadora. Endereços IP como esse passaram a ser distribuídos para roteadores domésticos após o esgotamento dos endereços IPv4. As operadoras adotaram uma prática chamada de carrier-grade NAT (CGNAT), que reserva o bloco 100.64.0.0/10 para a atribuição de endereços IP às residências.\nA carrier-grade NAT impossibilita a hospedagem de serviços e o redirecionamento de portas (com isso, você não pode servir um site para o mundo a partir do seu computador de casa, por exemplo), mas é um \u0026ldquo;mal necessário\u0026rdquo; para viabilizar o uso de redes IPv4 hoje em dia, dado que os endereços IPv4 já se esgotaram. Caso você precise de um endereço IP público, uma alternativa é verificar junto à operadora a possibilidade de alugar um (a um custo adicional). Outra alternativa é ativar o IPv6, que veremos oportunamente como fazer.\nPor que eu uso o modo bridge Em 2015, eu tive um problema com o modem ARRIS TG862 da NET: um vírus invadiu o modem e mudou os endereços dos servidores DNS. Com isso, vários sites passaram a exibir anúncios bastante irritantes e inconvenientes em russo, como os das imagens abaixo.\nIsso acontecia porque o servidor DNS farsante redirecionava as requisições ao Google Analytics (um serviço usado por muitos sites) para outro servidor que não era o do Google, fazendo com que o navegador baixasse o script dos anúncios em russo, em vez do script requisitado pelo site, que era o do Google Analytics.\nA solução foi entrar na interface web do modem, mudar a senha de administrador e mudar a configuração de DNS. Depois disso, os anúncios em russo pararam de aparecer.\nSe tiver curiosidade de ler mais sobre o ocorrido, aqui vão alguns links da época:\nNovo malware sequestra roteador e enche sites de propagandas - TecMundo Android \u0026ldquo;infectado\u0026rdquo; e anúncios \u0026ldquo;estranhos\u0026rdquo; são sinais de ataque a roteador | G1 - Tecnologia e Games Adware Russo que nenhum antivírus elimina - Invasões e infecções - Clube do Hardware Abrindo propagandas e links sozinho - Redes e Internet - Clube do Hardware Adware me enlouquecendo e redirecionando para sites russos - Comunidade do Hardware.com.br This router hack is injecting ads and porn into random websites - The Verge Ad-Fraud Malware Hijacks Router DNS – Injects Ads Via Google Analytics | University of South Wales: Cyber University Desde 2016, quando comprei o MikroTik, já me mudei algumas vezes e sempre o deixo como o roteador da casa, sempre configuro o modem da operadora em modo bridge. Com isso, tenho maior controle sobre a rede da minha casa e mais segurança.\n","date":"2022-10-02T17:30:00Z","permalink":"/pt-br/artigo/configurando-o-modem-sagemcom-f@st-3895-em-modo-bridge/","title":"Configurando o modem Sagemcom F@ST 3895 em modo bridge"},{"content":" Se por qualquer motivo você for impedido de usar o Telegram \u0026ndash; por exemplo, se você está de mudança ou viajando para um dos países que censuram o Telegram \u0026ndash; você verá hoje nessa dica como pode usá-lo por meio da Rede Tor em dispositivos móveis com iOS (iPhone e iPad). Se, por um acaso, você procurava instruções para outro sistema operacional, mas caiu nessa página, consulte os links a seguir:\nWindows: Como usar o Telegram via Tor no Windows Android: Como usar o Telegram via Tor no Android Linux: Dica: como usar o Telegram via Tor no Linux - Linux Kamarada Infelizmente, o Brasil chegou a ser adicionado à lista de países que censuram o Telegram, porque houve uma ordem judicial para bloquear o Telegram na sexta-feira 18 de março de 2022. Mas, felizmente, essa ordem foi revogada 2 dias depois, no domingo 20. No momento em que escrevo esta dica, o uso do Telegram é, legalmente falando, permitido no Brasil, e espero que continue assim.\nO Projeto Tor (sigla de The Onion Router, \u0026ldquo;o roteador cebola\u0026rdquo;, em uma tradução livre) mantém uma rede de túneis ao redor do mundo \u0026ndash; a Rede Tor \u0026ndash; pela qual trafegam dados de seus usuários de forma anônima, criptografada, privada, segura e livre de censura. Usando a Rede Tor, você navega sem ser identificado ou rastreado. Para os sites, seu endereço IP aparece diferente, como se estivesse em outro país.\nA forma mais fácil de se conectar à Rede Tor no iOS é usar o aplicativo Orbot, que não faz parte oficialmente do Projeto Tor, mas é recomendado por este, porque é desenvolvido por algumas das mesmas pessoas que participam do Projeto Tor. Após se conectar à Rede Tor, o Orbot faz com que o tráfego de Internet de todos os aplicativos do iOS, incluindo o Telegram, passe por dentro da rede Tor.\nCaso você ainda não tenha o aplicativo do Telegram para iOS, pode instalá-lo por meio da App Store:\nO Orbot também pode ser instalado pela App Store:\nPara acessar o Telegram via Tor, primeiro abra o Orbot e toque em Start (\u0026ldquo;começar\u0026rdquo;):\nAguarde-o conectar à Rede Tor e estar pronto para uso (note o connected, \u0026ldquo;conectado\u0026rdquo;):\n(note também o ícone de VPN, no canto superior esquerdo da tela)\nCertifique-se de que o sistema está de fato conectado à Rede Tor acessando check.torproject.org usando o seu navegador preferido (por exemplo, eu usei o Safari mesmo):\n(note o This browser is configured to use Tor, \u0026ldquo;Este navegador está configurado para usar o Tor\u0026rdquo;)\nPronto. Feito isso, você pode abrir o Telegram e usá-lo normalmente.\nQuando não precisar usar mais a Rede Tor, volte ao Orbot e toque em Stop (\u0026ldquo;parar\u0026rdquo;).\nEspero que essa dica tenha sido útil. Se ficou com alguma dúvida, não deixe de comentar. Sugestões de outras dicas como essa também são bem-vindas.\n","date":"2022-03-29T09:30:00Z","permalink":"/pt-br/artigo/como-usar-o-telegram-via-tor-no-ios-iphone-e-ipad/","title":"Como usar o Telegram via Tor no iOS (iPhone e iPad)"},{"content":" Se por qualquer motivo você for impedido de usar o Telegram \u0026ndash; por exemplo, se você está de mudança ou viajando para um dos países que censuram o Telegram \u0026ndash; você verá hoje nessa dica como pode usá-lo por meio da Rede Tor no Android. {% capture outros_sos %}\nSe, por um acaso, você procurava instruções para outro sistema operacional, mas caiu nessa página, consulte os links a seguir:\nWindows: Como usar o Telegram via Tor no Windows iOS (iPhone e iPad): Como usar o Telegram via Tor no iOS (iPhone e iPad) Linux: Dica: como usar o Telegram via Tor no Linux - Linux Kamarada {% endcapture %}\n{% include update.html date=\u0026ldquo;29/03/2022\u0026rdquo; message=outros_sos %}\nInfelizmente, o Brasil chegou a ser adicionado à lista de países que censuram o Telegram, porque houve uma ordem judicial para bloquear o Telegram na sexta-feira passada, 18 de março de 2022. Mas, felizmente, essa ordem foi revogada 2 dias depois, no domingo 20. No momento em que escrevo esta dica, o uso do Telegram é, legalmente falando, permitido no Brasil, e espero que continue assim.\nO Projeto Tor (sigla de The Onion Router, \u0026ldquo;o roteador cebola\u0026rdquo;, em uma tradução livre) mantém uma rede de túneis ao redor do mundo \u0026ndash; a Rede Tor \u0026ndash; pela qual trafegam dados de seus usuários de forma anônima, criptografada, privada, segura e livre de censura. Usando a Rede Tor, você navega sem ser identificado ou rastreado. Para os sites, seu endereço IP aparece diferente, como se estivesse em outro país.\nA forma mais fácil de se conectar à Rede Tor no Android é usar o aplicativo Navegador Tor (Tor Browser), que é uma versão do Mozilla Firefox modificada para trafegar dados somente dentro da Rede Tor. Ao se conectar à Rede Tor, o Navegador Tor disponibiliza uma porta que pode ser usada como proxy para conectar também outros aplicativos à Rede Tor.\nCaso você ainda não tenha o aplicativo do Telegram para Android, você pode instalá-lo por meio da Google Play:\nOu pode baixá-lo diretamente do site do Telegram (como APK).\nJá o Navegador Tor também pode ser instalado pela Google Play:\nTambém pode ser instalado pela loja F-Droid ou baixado diretamente do site do Projeto Tor (como APK).\nPara acessar o Telegram via Tor, primeiro abra o Navegador Tor e toque em Conectar:\nAguarde-o conectar à Rede Tor e estar pronto para uso:\nCertifique-se de que o navegador está de fato conectado à Rede Tor acessando:\nhttps://check.torproject.org/ Agora inicie o Telegram, abra o \u0026ldquo;menu hamburguer\u0026rdquo; (ícone com três linhas horizontais, no canto superior esquerdo da tela) e toque em Configurações:\nNas configurações, vá em em Dados e Armazenamento:\nDeslize até o final da tela e toque em Configurações de Proxy:\nAtive a opção Usar Proxy:\nNa tela seguinte, preencha as configurações dessa forma:\nCertifique-se de que a opção Proxy SOCKS5 esteja selecionada; Em Servidor, informe localhost; Em Porta, informe 9150. Por fim, toque no ícone de check no canto superior direito:\nDe volta à tela anterior, certifique-se de que a opção Usar Proxy esteja ativada. Certifique-se também de que o Telegram conseguiu se conectar ao proxy (note o Conectado):\nPronto. Pode voltar à tela inicial do Telegram e seguir usando normalmente.\nUm ícone de escudo no canto superior direito da tela indica que o Telegram está conectado ao proxy (nesse caso, à Rede Tor):\nTocando nele, você pode facilmente acessar as configurações de proxy.\nEspero que essa dica tenha sido útil. Se ficou com alguma dúvida, não deixe de comentar. Sugestões de outras dicas como essa também são bem-vindas.\n","date":"2022-03-24T09:50:00Z","permalink":"/pt-br/artigo/como-usar-o-telegram-via-tor-no-android/","title":"Como usar o Telegram via Tor no Android"},{"content":" Se por qualquer motivo você for impedido de usar o Telegram \u0026ndash; por exemplo, se você está de mudança ou viajando para um dos países que censuram o Telegram \u0026ndash; você verá hoje nessa dica como pode usá-lo por meio da Rede Tor no Windows. {% capture outros_sos %}\nSe, por um acaso, você procurava instruções para outro sistema operacional, mas caiu nessa página, consulte os links a seguir:\nAndroid: Como usar o Telegram via Tor no Android iOS (iPhone e iPad): Como usar o Telegram via Tor no iOS (iPhone e iPad) Linux: Dica: como usar o Telegram via Tor no Linux - Linux Kamarada {% endcapture %}\n{% include update.html date=\u0026ldquo;29/03/2022\u0026rdquo; message=outros_sos %}\nInfelizmente, o Brasil chegou a ser adicionado à lista de países que censuram o Telegram, porque houve uma ordem judicial para bloquear o Telegram na sexta-feira passada, 18 de março de 2022. Mas, felizmente, essa ordem foi revogada 2 dias depois, no domingo 20. No momento em que escrevo esta dica, o uso do Telegram é, legalmente falando, permitido no Brasil, e espero que continue assim.\nO Projeto Tor (sigla de The Onion Router, \u0026ldquo;o roteador cebola\u0026rdquo;, em uma tradução livre) mantém uma rede de túneis ao redor do mundo \u0026ndash; a Rede Tor \u0026ndash; pela qual trafegam dados de seus usuários de forma anônima, criptografada, privada, segura e livre de censura. Usando a Rede Tor, você navega sem ser identificado ou rastreado. Para os sites, seu endereço IP aparece diferente, como se estivesse em outro país.\nA forma mais fácil de se conectar à Rede Tor no Windows é usar o Navegador Tor (Tor Browser), que é uma versão do Mozilla Firefox modificada para trafegar dados somente dentro da Rede Tor. Ao se conectar à Rede Tor, o Navegador Tor disponibiliza uma porta que pode ser usada como proxy para conectar também outros aplicativos à Rede Tor.\nCaso ainda não tenha o aplicativo do Telegram para Windows, baixe-o em:\nhttps://desktop.telegram.org/ Já o Navegador Tor pode ser baixado em:\nhttps://www.torproject.org/download/ Na verdade, no link acima, você baixará a versão original, em inglês.\nPara baixar versões traduzidas \u0026ndash; inclusive há uma tradução para o Português Brasileiro \u0026ndash; use este link em vez daquele:\nhttps://www.torproject.org/download/languages/ Abra o Navegador Tor e aguarde-o conectar à Rede Tor:\nCertifique-se de que o navegador está de fato conectado à Rede Tor acessando:\nhttps://check.torproject.org/ Agora inicie o Telegram e abra o menu clicando no ícone com três linhas horizontais, no canto superior esquerdo da janela:\nNo menu, clique em Configurações:\nNas configurações, clique em Avançado:\nNa seção Dados e Armazenamento, clique em Tipo de conexão:\nNas Configurações de proxy, selecione Usar proxy customizado:\nNa tela seguinte, preencha as configurações dessa forma:\nCertifique-se de que a opção SOCKS5 esteja selecionada; Em Nome do host, informe localhost; Em Porta, informe 9150. Por fim, clique em Salvar.\nDe volta às Configurações de proxy, certifique-se de que o Telegram conseguiu se conectar ao proxy (note o online):\nPronto. Pode fechar todas as configurações e seguir usando o Telegram normalmente.\nUm ícone de escudo no canto inferior esquerdo da janela indica que o Telegram está conectado ao proxy (nesse caso, à Rede Tor):\nClicando nele, você pode facilmente acessar as configurações de proxy.\nEspero que essa dica tenha sido útil. Se ficou com alguma dúvida, não deixe de comentar. Sugestões de outras dicas como essa também são bem-vindas.\n","date":"2022-03-23T21:40:00Z","permalink":"/pt-br/artigo/como-usar-o-telegram-via-tor-no-windows/","title":"Como usar o Telegram via Tor no Windows"},{"content":" Se você tem um controle sem fio para Xbox 360, pode querer usá-lo com o PC também. Como ele possui muitos botões, pode ser compatível com vários jogos. Inclusive, pode ser usado para emular os controles de vários videogames.\nPorém, diferente dos controles com fio, que usam o padrão USB, e dos controles sem fio para modelos mais novos de Xbox, que usam o padrão Bluetooth, esse modelo de controle sem fio para o Xbox 360 usa um protocolo sem fio proprietário de 2,4 GHz, precisando de um receptor sem fio para ser usado no computador.\nEmbora a Microsoft fabrique esse receptor, ela não o vende separadamente. Então, você tem 3 opções: comprar o controle sem fio original da Microsoft que vem com o receptor; comprar apenas o receptor usado, separado do controle sem fio (que você já tem); ou comprar um receptor chinês que é um clone perfeito, indistinguível do receptor oficial.\nEu optei pela terceira opção, que foi a mais barata e funcionou. Você pode encontrar várias opções pesquisando no Google ou Mercado Livre, por exemplo, mas eu achei mais barato comprar pelo AliExpress. Demorou mais porque veio da China, mas chegou em 1 mês.\nO receptor veio com um CD com um driver e um programa para Windows. No entanto, o driver que vinha no CD não servia para o Windows 10. Pesquisando, eu encontrei um tutorial no YouTube que mostra como instalar o driver do receptor, que na verdade já vem até incluído no Windows 10. Como a instalação de novo hardware no Windows 10 costuma ser mais fácil, decidi fazer esse tutorial.\nNesse tutorial, você verá como instalar o driver e testar o controle sem fio para Xbox 360 no Windows 10. Para referência, estou usando o Windows 10 Edição Home, Versão 20H2.\nCaso você tenha se esbarrado nesse tutorial, mas esteja na verdade procurando como usar esse controle no Linux, confira uma versão desse mesmo tutorial para Linux no site do Linux Kamarada:\nComo usar um controle de Xbox 360 sem fio para jogar no Linux - Linux Kamarada Instalando o driver do receptor Plugue o receptor em uma porta USB livre do computador.\nDepois de alguns segundos ou minutos, aparecerá uma notificação do Windows dizendo que o \u0026ldquo;Dispositivo Desconhecido\u0026rdquo; está pronto para uso.\nAté pelo nome que ele recebeu do Windows, por óbvio, não está.\nNa Área de Trabalho, clique com o botão direito do mouse em Este Computador e clique em Propriedades:\nNa janela que abre, Sobre, clique em Gerenciador de Dispositivos, à direita:\nNo Gerenciador de Dispositivos, expanda Outros dispositivos, clique com o botão direito no Dispositivo desconhecido e clique em Propriedades:\nNa tela seguinte, clique no botão Alterar Configurações:\nForneça a senha do usuário administrador.\nO botão Atualizar Driver nessa mesma tela se torna disponível. Clique nele.\nNo assistente que se abre, clique em Procurar drivers no meu computador:\nNa tela seguinte, clique em Permitir que eu escolha em uma lista de drivers disponíveis em meu computador:\nNa lista, selecione o tipo Periféricos do XBOX 360 e clique em Avançar:\nNa tela seguinte, selecione o modelo Xbox 360 Wireless Receiver for Windows:\n(tem alguns com nomes parecidos, na dúvida eu escolhi o mais recente, o último na lista)\nNo aviso que aparece, pode clicar em Sim:\nFinalmente, a instalação do driver foi concluída. Pode Fechar o assistente:\nPode ser necessário reiniciar o computador.\nConectando o controle Se você tiver um Xbox 360 por perto, recomendo desligá-lo e desconectá-lo da energia. O passo a seguir pode fazer com que ele ligue sem necessidade.\nNo controle sem fio, pressione e segure o botão Guia (guide) até que ele ligue No receptor, pressione e solte o botão de conexão (o único botão que ele tem), a luz dele começa a piscar No controle sem fio, pressione e solte o botão de conexão, na parte de cima, a luz dele começa a piscar Ambas as luzes deixam de piscar quando o controle se conecta ao receptor. A luz fixa acesa no controle passa a indicar sua posição (uma de 4 possíveis). Para conectar mais controles, siga esses 4 passos novamente. Em tese, você pode conectar até 4 controles (eu, particularmente, só testei até 2).\nTestando o controle Provavelmente a forma mais fácil de testar o controle é abrir o navegador e acessar o site gamepad-tester.com. Pressione um botão no controle para começar o teste:\nMexa os eixos e aperte os botões e confira a animação na tela.\nCaso não tenha conexão com a Internet, ou caso prefira mesmo, você também pode fazer esse teste pelo próprio Windows.\nAbra o menu Iniciar e clique em Configurações.\nAbra a seção Dispositivos e clique em Dispositivos e impressoras, à direita.\nClique com o botão direito no controle e clique em Configurações do controlador de jogo:\nSelecione o controlador e clique em Propriedades:\nMexa os eixos e aperte os botões e confira a animação na tela:\nOpcional: instalando o programa do receptor Está tudo pronto para usar o receptor e o controle nos jogos.\nMas, opcionalmente, você pode instalar o programa que o acompanha, que simula as luzes na frente do Xbox 360 e indica quando a bateria do controle está baixa.\nDiferente do driver, o programa que veio no CD é compatível com Windows 10.\nInsira o CD no leitor de CD do computador, abra a pasta Software dentro dele e inicie o programa setupstb.exe (o outro não funcionou pra mim):\nMarque a opção Aceito este contrato e toque a instalação no \u0026ldquo;padrão Windows\u0026rdquo; (\u0026ldquo;avançar, avançar, avançar\u0026hellip;\u0026rdquo;):\nQuando a instalação terminar, pode ser necessário reiniciar o computador.\nPara iniciar o programa do controle, abra o menu Iniciar e procure por Status do Microsoft Xbox 360 Accessories:\nEis o programa funcionando:\nCaso o programa do CD não funcione pra você, ou caso seu receptor não tenha vindo com um CD, pesquisando na Internet eu encontrei esse mesmo programa para baixar no site TechSpot. Funciona no Windows 10 (eu testei), só não tem a tradução pro português (é em inglês).\nUsando o controle (ou seja, jogando) Pronto, agora é só usar o controle! Ou seja, jogar!\nA título de curiosidade, se você aperta o botão Guia (guide) no controle, aparece a Barra de Jogos Xbox (Xbox Game Bar) com alguns recursos interessantes para gamers:\nReferências Além das páginas cujos links aparecem ao longo do texto, eu consultei também estas:\nHow to Hook Up a Wireless Xbox 360 Controller to Your Computer - How-To Geek Conectar um controle ao seu Xbox 360 - Suporte do Xbox 360 ","date":"2021-11-15T13:20:00Z","permalink":"/pt-br/artigo/como-usar-um-controle-de-xbox-360-sem-fio-para-jogar-no-windows-10/","title":"Como usar um controle de Xbox 360 sem fio para jogar no Windows 10"},{"content":" O ProtonMail é um serviço de e-mail com foco em privacidade, criptografia, segurança e facilidade de uso. É oferecido pela empresa Proton Technologies AG, sediada em Genebra, na Suíça. O que o torna especial, diferente dos demais, para ser indicado por sites como Privacidade.Digital e Security-in-a-Box? Seu foco em privacidade. Seus criadores o idealizaram após as revelações de Edward Snowden sobre a NSA e ele foi lançado em 2014. Além de contar com recursos como criptografia de ponta a ponta e autenticação dupla, o ProtonMail está na Suíça, país conhecido por suas fortes leis de privacidade.\nO ProtonMail pode ser usado de graça. Nesse caso, ele oferece uma caixa de entrada de até 500MB para que você possa experimentar o serviço. Planos pagos também estão disponíveis com mais capacidade (começando com 5GB) e mais recursos. É possível contratá-los usando cartão de crédito ou Bitcoin. O ProtonMail se sustenta das vendas dos planos e, por isso, não precisa bisbilhotar os e-mails dos usuários a fim de direcionar-lhes propaganda \u0026ndash; como o Gmail faz.\nE se eu te disser que um dos recursos extras do ProtonMail pago é a possibilidade de configurar um domínio personalizado para o seu e-mail? (como contato@meusite.com) Já pensou unir o útil ao agradável? Armazenar suas mensagens em um provedor de e-mail seguro e poder ser contatado por um endereço com ar de profissional.\nFoi o que eu fiz para mim e venho aqui hoje compartilhar um tutorial mostrando como você pode fazer também.\nLembrando que eu registrei meu domínio pela Namecheap, então vou usar esse registrar como exemplo. Mas o que eu vou mostrar você deve ser igualmente capaz de fazer \u0026ndash; talvez um pouco diferente, claro \u0026ndash; se usa outro registrar ou seus próprios servidores de DNS.\nAssinando o ProtonMail Para esse tutorial, vou assumir que você já possui uma conta no ProtonMail e já fez o upgrade para um plano pago. Qualquer um dos planos dá direito a pelo menos um domínio personalizado. Caso queira, você pode contratar mais de um domínio personalizado no momento no upgrade, ou mesmo depois.\nConfigurando o domínio Comece fazendo login no ProtonMail. Em seguida, acesse as configurações:\nNo menu à esquerda, clique em Nomes de domínio. Depois, à direita, clique em Adicionar domínio:\nInforme o Nome do domínio (no meu exemplo, antoniomedeiros.dev) e clique em Próximo:\nA tela seguinte apresenta uma entrada que você deve adicionar à configuração de DNS do seu domínio para que o ProtonMail possa verificar que de fato ele te pertence:\nCopie o valor dessa entrada e adicione-a à configuração de DNS do seu domínio.\nComo exemplo, mostrarei como fazer essa configuração na Namecheap, já que registrei meu domínio por essa empresa.\nComece fazendo login na Namecheap. Depois vá em Account (conta) \u0026gt; Dashboard (painel de controle) \u0026gt; Domain List (lista de domínios). Na linha referente ao domínio que você quer configurar, clique em Manage (gerenciar):\nNa tela seguinte, abra a guia Advanced DNS (DNS avançado), clique em Add New Record (adicionar novo registro) e adicione a entrada de DNS fornecida pelo ProtonMail:\nFeito o ajuste na configuração de DNS, de volta ao ProtonMail, clique em Próximo.\nÉ bem provável que o ProtonMail apresente uma mensagem de erro, porque demora um tempo até a nova configuração de DNS ser propagada em todo o mundo:\nVocê pode acompanhar a propagação \u0026ndash; que pode demorar alguns minutos, horas ou até mesmo dias \u0026ndash; com o auxílio de alguma ferramenta como o whatsmydns.net:\nNo meu caso, tive a impressão que a propagação podia estar demorando mais que o normal. Então, entrei em contato com o suporte da Namecheap \u0026ndash; mais um motivo porque os indico, o suporte nunca me deixou na mão \u0026ndash; e eles sugeriram fazer um ajuste na minha configuração: mudar a entrada de CNAME para ALIAS. Isso não é relacionado ao ProtonMail, mas pensei que poderia ser útil compartilhar:\nAí foi que a nova configuração de DNS começou a propagar para o mundo:\nQuando servidores de DNS da Suíça (em inglês, Switzerland) já conheciam a configuração nova, consegui avançar no ProtonMail. Note que o assistente vai marcando as etapas conforme verifica que deram certo:\nAgora vem a configuração das entradas MX, as mais importantes para os e-mails.\nNa Namecheap, elas podem ser adicionadas naquela mesma tela, mais abaixo:\nRepita isso para as próximas etapas da configuração: avançar no assistente do ProtonMail, copiar as entradas DNS, adicioná-las à configuração do domínio e aguardar a propagação.\nA seguir, mostro as telas do assistente apenas para que você tenha uma ideia do que encontrará pela frente:\nAo final, quando terminar de configurar o domínio, clique em Adicionar Endereço:\nPara referência, eis como ficou a minha configuração de DNS no final:\n(lembrando que nem todas essas entradas são relacionadas ao ProtonMail, algumas são referentes ao GitLab Pages, onde hospedo meus sites)\nConfigurando o endereço Na tela Usuários e endereços, clique em Adicionar endereço:\nDefina o Endereço (por exemplo, contato@antoniomedeiros.dev) e um Nome de exibição (como Antônio Medeiros) e clique em Salvar endereço:\nSelecione um algoritmo (de Alta segurança, Segurança máxima ou Última geração) para gerar as chaves de criptografia para o seu novo endereço de e-mail:\nTenha em mente que as chaves são geradas no seu computador, e que esse processo pode travar o navegador (embora não tenha acontecido comigo), por isso não faça isso em um tablet ou smartphone, mas em um desktop.\nClique em Enviar. Quando o a geração de chaves terminar, clique em Concluído.\nFeito isso, seu novo endereço de e-mail estará pronto para uso:\nTestando o e-mail personalizado Você já pode testar o e-mail personalizado com o seu domínio.\nSe você possui alguma outra conta de e-mail (no Gmail, por exemplo), pode testar enviar um e-mail para o seu novo endereço e recebê-lo no ProtonMail:\nNote que você também pode fazer login no ProtonMail com o endereço de e-mail do seu domínio:\nReferências Se precisar de mais informações, você pode consultar as mesmas páginas que eu consultei para aprender a fazer esse procedimento:\nProtonMail Plans Explained (Free, Paid, Professional, Visionary) - ProtonMail Support\nHow to upgrade or downgrade your subscription - ProtonMail Support\nPaying for ProtonMail with Bitcoin - ProtonMail Support\nWhat are custom domains? - ProtonMail Support\nHow to connect a custom domain? - ProtonMail Support\nVerify your custom domain and set MX record - ProtonMail Support\nOu pode deixar sua dúvida nos comentários.\nEspero que esse tutorial tenha te ajudado. Até o próximo!\n","date":"2021-08-31T23:59:00Z","permalink":"/pt-br/artigo/protonmail-e-mail-com-privacidade-e-dom%C3%ADnio-personalizado/","title":"ProtonMail: e-mail com privacidade e domínio personalizado"},{"content":" Se você usa um dispositivo com iOS (um iPhone ou um iPad) e deseja conectá-lo à VPN do roteador MikroTik que configuramos em um post anterior, siga as instruções a seguir.\nAqui, estou usando um iPhone 8 com iOS 14.6. As telas podem ser um pouco diferentes no seu dispositivo, mas a ideia é a mesma.\nAcesse Ajustes \u0026gt; Geral \u0026gt; VPN:\n{% include ad1.html %}\nToque em Adicionar Configuração de VPN:\nPreencha as informações sobre a VPN de acordo com as orientações a seguir, mas também de acordo com as orientações de quem configurou a VPN (os exemplos se referem ao tutorial sobre como configurar VPN no roteador MikroTik):\nEm Tipo, selecione L2TP Em Descrição, forneça um nome que te permita identificar a VPN, pode ser o nome que você quiser (exemplo: VPN de Teste) Em Servidor, indique o endereço IP (exemplo: 179.216.177.166) ou nome e domínio DNS (exemplo: 6bxxxxxxxxc2.sn.mynetname.net) do servidor da VPN (nesse caso, do roteador MikroTik) Em Conta, informe seu nome de usuário para conectar à VPN (exemplo: teste) Informe sua Senha para conectar à VPN (exemplo: testando) Em Segredo, informe a chave pré-compartilhada IPSec (exemplo: 12345678) Opcionalmente, ative a opção Enviar Todo Tráfego para que todo o tráfego de Internet passe por dentro da VPN, ou desative essa opção para que apenas o que for realmente destinado à rede local da VPN passe por dentro da VPN {% include ad2.html %}\nQuando terminar, toque em OK. Feito isso, a VPN passa a aparecer na lista de VPNs:\nSelecione a VPN recém-criada e ative o slider ao lado de Não Conectado.\nApós alguns segundos, o sistema mostra que está Conectado à VPN:\nSe souber de algum servidor web na rede local da VPN, você também pode testar a conexão abrindo o navegador e acessando esse servidor. Nesse exemplo, eu testo a conexão com a VPN acessando a interface web da minha impressora:\nVocê também pode fazer algum outro teste sugerido pelo administrador da rede.\nQuando não precisar mais usar a VPN, volte aos Ajustes e desative o slider referente à VPN:\nAgora que a VPN já foi configurada, você pode ativá-la ou desativá-la por esse caminho mais curto.\n","date":"2021-06-17T10:40:00Z","permalink":"/pt-br/artigo/mikrotik-como-conectar-%C3%A0-vpn-a-partir-do-ios-iphone-e-ipad/","title":"MikroTik: como conectar à VPN a partir do iOS (iPhone e iPad)"},{"content":" Se você usa Android e deseja conectar seu smartphone ou tablet à VPN do roteador MikroTik que configuramos em um post anterior, siga as instruções a seguir.\nAqui, estou usando um Multilaser MS80X com Android 8.1.0 Oreo. As telas podem ser um pouco diferentes no seu dispositivo, mas a ideia é a mesma.\nAbra o aplicativo Configurar (ou Configurações):\n{% include ad1.html %}\nEntre na seção Rede e Internet:\nEm seguida, entre em VPN:\nToque no botão de adicionar no canto superior direito da tela:\nPreencha as informações sobre a VPN de acordo com as orientações a seguir, mas também de acordo com as orientações de quem configurou a VPN (os exemplos se referem ao tutorial sobre como configurar VPN no roteador MikroTik):\nEm Nome, forneça um nome que te permita identificar a VPN, pode ser o nome que você quiser (exemplo: VPN de Teste) Em Tipo, selecione L2TP/IPsec PSK (pre shared key, chave pré-compartilhada) Em Endereço do servidor, indique o endereço IP (exemplo: 179.216.177.166) ou nome e domínio DNS (exemplo: 6bxxxxxxxxc2.sn.mynetname.net) do servidor da VPN (nesse caso, do roteador MikroTik) Informe a Chave pré-compartilhada IPSec (exemplo: 12345678) Informe seu Nome de usuário para conectar à VPN (exemplo: teste) Informe sua Senha para conectar à VPN (exemplo: testando) {% include ad2.html %}\nQuando terminar, toque em Salvar. Feito isso, a VPN passa a aparecer na lista de VPNs:\nToque na VPN recém-criada e depois em Conectar:\nApós alguns segundos, o sistema mostra que está Conectado à VPN:\nSe souber de algum servidor web na rede local da VPN, você pode testar a conexão abrindo o navegador e acessando esse servidor. Nesse exemplo, eu testo a conexão com a VPN acessando um servidor web Apache que instalei no meu notebook:\nVocê também pode fazer algum outro teste sugerido pelo administrador da rede.\nQuando não precisar mais usar a VPN, volte às configurações de VPN, toque na VPN e depois em Desconectar:\n","date":"2021-04-17T17:45:00Z","permalink":"/pt-br/artigo/mikrotik-como-conectar-%C3%A0-vpn-a-partir-do-android/","title":"MikroTik: como conectar à VPN a partir do Android"},{"content":"Se você usa Windows e deseja conectar seu computador à VPN do roteador MikroTik que configuramos no post anterior, siga as instruções a seguir.\nAbra o menu Iniciar e clique em Configurações:\nEntre na categoria Rede e Internet.\nNa tela seguinte, à esquerda, selecione VPN. À direita, clique em Adicionar uma conexão VPN:\n{% include ad1.html %}\nPreencha as informações sobre a VPN de acordo com as orientações a seguir, mas também de acordo com as orientações de quem configurou a VPN (os exemplos se referem ao tutorial sobre como configurar VPN no roteador MikroTik):\nEm Provedor VPN, você pode deixar Windows (interno), que é a opção padrão Em Nome da conexão, forneça um nome que te permita identificar a VPN, pode ser o nome que você quiser (exemplo: VPN de Teste) Em Nome ou endereço do servidor, indique o endereço IP (exemplo: 179.216.177.166) ou nome e domínio DNS (exemplo: 6bxxxxxxxxc2.sn.mynetname.net) do servidor da VPN (nesse caso, do roteador MikroTik) Em Tipo de VPN, selecione L2TP/IPsec com chave pré-compartilhada Informe a Chave pré-compartilhada (exemplo: 12345678) Em Tipo de informações de entrada, você pode deixar Nome de usuário e senha, que é a opção padrão Informe seu Nome de usuário para conectar à VPN (exemplo: teste) Informe sua Senha para conectar à VPN (exemplo: testando) Quando terminar, clique em Salvar.\n{% include ad2.html %}\nDe volta às Configurações, clique na conexão recém-criada e depois em Conectar:\nApós alguns segundos ou minutos, o Windows mostra que está Conectado à VPN:\nVocê pode testar a conexão com o comando ping, \u0026ldquo;fazendo um pingue\u0026rdquo; para algum endereço na rede local da VPN:\nSe souber de algum servidor web na rede local da VPN, você também pode testar a conexão abrindo o navegador e acessando esse servidor. Nesse exemplo, eu testo a conexão com a VPN acessando a interface web da minha impressora:\nQuando não precisar mais usar a VPN, você pode voltar às Configurações e clicar no botão Desconectar.\nUma vez configurada a VPN, outra forma de conectar e desconectar é usando o ícone de rede próximo do relógio:\n","date":"2021-04-09T11:00:00Z","permalink":"/pt-br/artigo/mikrotik-como-conectar-%C3%A0-vpn-a-partir-do-windows/","title":"MikroTik: como conectar à VPN a partir do Windows"},{"content":"Final de semana chegando, você quer jogar com seus amigos, mas estão todos em suas casas, talvez até mesmo em cidades diferentes. O jogo requer que todos os computadores estejam na mesma rede local. O que fazer nesse caso? Se você tem um roteador MikroTik, como o que já foi assunto de alguns posts aqui no blog, uma opção é levantar uma VPN nele.\nUma VPN (do inglês Virtual Private Network, rede privada virtual) simula uma rede local entre dois ou mais computadores que estão fisicamente distantes, mas conectados pela Internet. Ela cria túneis entre os computadores, criptografando a comunicação — que ocorre, portanto, de forma privada e segura. Já expliquei o que é VPN em outro texto.\nHoje, veremos como criar uma VPN no roteador MikroTik usando o protocolo L2TP (do inglês Layer 2 Tunnelling Protocol, Protocolo de Tunelamento de Camada 2) em conjunto com o protocolo IPsec (do inglês IP Security Protocol, Protocolo de Segurança IP).\nEsse texto é baseado em grande parte no excelente tutorial em vídeo do Leonardo Vieira, que segui para configurar a VPN na minha casa. Meu texto será focado em como configurar uma VPN que permite a computadores de fora se conectarem à rede de casa (uma VPN do tipo point-to-site). O procedimento é parecido se você usa roteadores MikroTik em uma empresa com filiais e quer criar VPNs para conectar os MikroTiks das filiais ao MikroTik da sede (uma VPN do tipo site-to-site). Se esse é o seu caso, recomendo ver o vídeo.\n{% include ad1.html %}\nPré-requisitos O ponto de partida desse tutorial é um roteador MikroTik configurado como mostrado nos tutoriais anteriores:\nPrimeiros passos com o MikroTik hAP ac: roteador profissional para a rede de casa MikroTik: modo de segurança (Safe Mode) Configurando o modem Sagemcom F@ST 3486 em modo bridge Note que se seu roteador MikroTik não possui um IP \u0026ldquo;real\u0026rdquo; (ou público), você não conseguirá se conectar à VPN por meio da Internet (usando seu celular na rua, por exemplo). Informe-se sobre carrier-grade NAT (CGNAT) e verifique o endereço IP que seu roteador recebeu da operadora. Pode ser que ele tenha recebido um endereço IP privado.\nCriando a VPN no roteador MikroTik Acesse o MikroTik pelo WinBox. No menu à esquerda, expanda IP e clique em Pool:\nClique no botão de adicionar. No campo Name (nome), dê um nome para a fila de IPs, pode ser o nome que você quiser (eu vou usar vpn):\nEm Addresses (endereços), informe a faixa de endereços IP que o MikroTik deve fornecer para os computadores que se conectarem à VPN. Essa faixa deve ser necessariamente diferente da faixa da rede local. No meu caso, eu já havia definido a rede local como 10.0.0.0/24, vou definir a VPN como 10.0.1.0/24, para isso vou informar a faixa 10.0.1.2-10.0.1.254. O primeiro endereço (10.0.1.1) será o do roteador e o último é sempre o de broadcast (10.0.1.255). Quando terminar, clique em OK.\nDepois, no menu à esquerda, clique em PPP e, na janela que abre, selecione a aba Profiles (perfis). Dê duplo-clique no perfil já existente default-encryption:\nEm Local Address (endereço local), informe o endereço que o roteador terá dentro da VPN (no meu caso, 10.0.1.1). Em Remote Address (endereço remoto), expanda o menu e selecione a fila de endereços criada antes (vpn). Quando terminar, clique em OK.\nAinda na janela PPP, mude para a aba Secrets (a tradução ao pé da letra seria \u0026ldquo;segredos\u0026rdquo;, mas a ideia aqui é algo como \u0026ldquo;usuários e senhas\u0026rdquo;) e clique no botão de adicionar:\nEm Name, informe um nome de usuário (login). Para o teste, vou usar teste.\nEm Password, informe uma senha para o usuário que você está criando. Nesse teste, vou usar testando, mas claro que na verdade o ideal é usar uma senha mais segura que essa.\nEm Service (serviço), selecione l2tp.\nEm Profile (perfil), selecione default-encryption. Quando terminar, clique em OK.\nAinda na janela PPP, mude para a aba Interface e clique no botão L2TP Server (servidor L2TP):\nMarque Enabled para habilitar o servidor L2TP.\nEm Authentication, desmarque o protocolo PAP (do inglês Password Authentication Protocol, Protocolo de Autenticação por Senha). Esse protocolo é considerado inseguro porque envia os dados (inclusive a senha) em texto claro (não criptografado, pode ser facilmente interceptado). Portanto, é melhor não permitirmos o uso dele em nossa VPN.\nEm Use IPsec, selecione required para obrigar que os clientes usem IPsec.\nEm IPsec Secret, digite um texto que será o segredo do IPsec, também conhecido por chave pré-compartilhada do IPsec. Isso é uma espécie de senha que o cliente informa ao servidor ao se conectar à VPN, antes de propriamente informar o login e senha do usuário. Fornece uma camada a mais de segurança. Nesse teste, vou usar 12345678, mas claro que na verdade o ideal é usar um segredo mais seguro que esse. Quando terminar, clique em OK.\n{% include ad2.html %}\nO que falta para a VPN estar pronta é liberar as portas necessárias no firewall do MikroTik.\nNo menu à esquerda, expanda IP e clique em Firewall. Normalmente a aba Filter Rules (regras de filtragem), a primeira, já vem selecionada. Certifique-se de que está nessa aba.\nClique no botão de adicionar:\nNo campo Chain, selecione input (esse é o mesmo conceito de chain do iptables).\nEm Protocol (protocolo), expanda o menu e selecione ipsec-esp. Com isso, estamos permitindo no firewall o protocolo IPsec.\nMude para a aba Action (ação) e no campo Action certifique-se de que a opção accept está selecionada (já vem por padrão). Quando terminar, clique em OK:\nPerceba que a regra é adicionada ao final da fila. No momento, ela é a regra de número 11.\nClique no botão de adicionar para adicionar mais uma regra.\nNo campo Chain, selecione input.\nNo campo Protocol, expanda o menu e selecione udp.\nNo campo Any. Port (acredito que signifique anywhere port, ou seja, portas de origem ou destino), digite 1701,500,4500. Com isso, estamos permitindo no firewall as portas:\n1701/UDP: protocolo L2TP 500/UDP: protocolo IKE (Internet Key Exchange, Troca de Chaves pela Internet) 4500/UDP: protocolo IPsec NAT traversal Mude para a aba Action e no campo Action certifique-se de que a opção accept está selecionada. Quando terminar, clique em OK. Agora temos 12 regras na fila.\nAssim como o firewall iptables do Linux, o firewall do MikroTik também analisa as regras na ordem em que foram inseridas. Por padrão, o MikroTik tem uma regra que bloqueia todo o tráfego que não vem da rede local (LAN). Porém, precisamos permitir o tráfego que vem da VPN. Para isso, temos que mover as regras recém-criadas acima dessa regra.\nIdentifique na fila de regras a regra que bloqueia todo o tráfego que não vem da rede local (no meu caso, ela é a regra de número 4) e mova as regras recém-criadas (no meu caso, elas são as regras de números 11 e 12) acima dessa regra:\nOpcional: DDNS A MikroTik (empresa, fabricante) oferece alguns serviços na nuvem para os dispositivos RouterBOARD conectados à Internet (como esse que estou mostrando aqui), visando facilitar a configuração, a manutenção, o controle e o monitoramento desses dispositivos.\nUm desses serviços é o DNS dinâmico (Dynamic DNS ou DDNS). Quando ativado, ele atribui um nome e domínio ao seu roteador nos servidores DNS da MikroTik, e mantém o endereço IP externo do seu roteador sempre atualizado nos registros desses servidores. Com isso, sua operadora pode mudar seu endereço IP (ocorre com frequência em casas), mas você sempre é capaz de acessar seu roteador por meio de um endereço com nome e domínio.\nAtivar o DDNS não é necessário para o funcionamento da VPN, mas pode facilitar a conexão dos clientes, uma vez que passam a usar um nome em vez de um endereço IP.\nNote que o DDNS, assim como a VPN, depende de o roteador ter um endereço IP público.\nCaso você queira ativar o DDNS, no menu à esquerda, expanda IP e clique em Cloud. Marque a opção DDNS Enabled (habilitar DDNS) e clique em OK. Abra mais uma vez essa janela seguindo o mesmo caminho para ver o endereço atribuído ao roteador em DNS Name:\nNo meu caso, o endereço ficou assim: 6bxxxxxxxxc2.sn.mynetname.net.\nEu posso usar esse endereço para conectar os clientes ao roteador, em vez do endereço IP, que pode ser mudado com frequência pela operadora.\nUsando a VPN Pronto! Feito isso, nossa VPN está pronta para uso e os clientes já conseguem se conectar.\nPara conectar um dispositivo à VPN, siga um dos tutoriais a seguir, conforme o sistema operacional do dispositivo em questão:\nComo conectar à VPN a partir do Windows Como conectar à VPN a partir do Android Como conectar à VPN a partir do iOS (iPhone e iPad) Como conectar à VPN a partir do Linux: consulte o tutorial no site do Linux Kamarada: Como conectar a uma VPN do tipo L2TP com IPsec - Linux Kamarada {% capture atualizacao %} No WinBox, você pode verificar que um cliente se conectou ao MikroTik indo em PPP \u0026gt; Interface ou em Log:\n{% endcapture %}\n{% include update.html date=\u0026ldquo;17/06/2021\u0026rdquo; message=atualizacao %}\nReferências COMO CRIAR UMA VPN L2TP COM IPSEC - MIKROTIK | LEONARDO VIEIRA Manual:Interface/L2TP - MikroTik Wiki Lista de portas dos protocolos TCP e UDP - Wikipédia Manual:IP/Cloud - MikroTik Wiki ","date":"2021-04-09T10:00:00Z","permalink":"/pt-br/artigo/mikrotik-como-criar-uma-vpn-com-l2tp-e-ipsec/","title":"MikroTik: como criar uma VPN com L2TP e IPsec"},{"content":" Esta é a segunda parte da lista de coisas a fazer depois de mudar um site de endereço. Na primeira parte, vimos como redirecionar as páginas, avisar os visitantes e reconfigurar os serviços do Google: Search Console, AdSense, Analytics e Programmable Search Engine. Agora, veremos como reconfigurar outros serviços: Disqus, AddThis, A-ADS, Brave Rewards e redes sociais. Se você caiu aqui de paraquedas, sugiro que comece pela primeira parte:\nO que fazer depois de mudar o endereço do site — parte 1: visitantes e Google Disqus Disqus é um serviço que adiciona seções de comentários (que ele chama de discussões) às páginas do site. É útil principalmente para sites estáticos, como este, feito com Jekyll e hospedado no GitLab Pages. O Disqus associa as discussões à URL de cada página, de modo que mudar o endereço do site, em um primeiro momento, faz com que os comentários desapareçam. Felizmente, o Disqus oferece ferramentas para migrar as discussões das URLs antigas para as novas. E como configuramos o redirecionamento entre as páginas na parte 1, a migração do Disqus se torna ainda mais fácil.\nAcesse o Disqus e clique em Admin. Em Your Sites (seus sites), selecione o site que mudou de endereço (note que ainda é exibido o endereço antigo).\nNa barra do topo, clique em Moderation (moderação). À esquerda, em Tools (ferramentas), clique em Migration Tools (ferramentas de migração):\nNa página seguinte, em Redirect Crawler (rastreador de redirecionamentos), clique em Start Crawler (iniciar rastreador):\nO Disqus informa que iniciou o rastreamento das páginas:\nO rastreador do Disqus vai visitar todas as páginas com comentários e, se encontrar um redirecionamento HTTP 301, vai seguir esse redirecionamento e armazenar o endereço novo da página. O Disqus diz que essa atualização pode levar até 24 horas para ser concluída, mas dependendo do tamanho do seu site pode levar mais ou menos tempo que isso.\nVocê pode monitorar o progresso verificando os endereços nessa mesma aba Moderation, indo em Tools \u0026gt; Discussions (discussões):\nO Disqus também avisa o fim da migração por e-mail.\nAddThis O AddThis é um serviço que facilita integrar o site a diversas redes sociais, oferecendo, dentre outros recursos, botões de curtir e compartilhar. Você pode ver o AddThis em ação neste site e eu até já fiz tutorial sobre ele.\nDepois de mudar o site de endereço, o AddThis segue funcionando no endereço novo, não é necessário fazer nenhuma mudança no código do site ou na configuração no serviço, o que é muito bom e prático. A má notícia é que os contadores de compartilhamentos se perdem. E a notícia pior ainda é que não há o que fazer.\nIsso acontece porque esses contadores não são armazenados no próprio AddThis, mas nas redes sociais. O AddThis obtém os contadores de cada rede social e calcula o total de compartilhamentos. Se o endereço da página muda, não há como atualizar esse contador em toda e cada rede social.\nO site nRave propõe uma solução de contorno. Como vimos no tutorial do AddThis, é possível configurar o endereço que será compartilhado por meio da variável addthis_share. A solução de contorno seria para páginas que existiam antes da mudança, compartilhar o endereço antigo, e para páginas novas que foram criadas já no endereço novo, compartilhar o endereço novo. Embora fazer isso preservaria os contadores das páginas antigas, fiquei pensando nos possíveis efeitos colaterais e achei melhor abrir mão dos contadores mesmo.\nÉ uma pena perder esses contadores por causa do \u0026ldquo;efeito manada\u0026rdquo;: quanto mais vezes uma página foi compartilhada, maior a probabilidade de um novo visitante compartilhá-la também. Se seu site tem contadores muito altos que você realmente não gostaria de perder, o site nRave sugere outra alternativa que é contratar um serviço mais robusto que o AddThis, como o Social Warfare, que consegue somar os contadores dos endereços antigos e novos.\nA-ADS A-ADS (antes Anonymous Ads, \u0026ldquo;anúncios anônimos\u0026rdquo;, em inglês) é uma rede de anúncios tal qual o Google AdSense, porém menos conhecida. Ela remunera os anúncios exibidos no site em Bitcoin. Você pode se cadastrar no serviço com e-mail e senha, mas é opcional. Se não quiser se cadastrar, você pode começar a exibir anúncios simplesmente fornecendo o endereço da carteira bitcoin onde quer receber (daí o \u0026ldquo;anônimos\u0026rdquo; no nome). Diferente do AdSense, o A-ADS não precisa de aprovação: criado o anúncio, já pode ser exibido no site.\nCada anúncio do A-ADS é vinculado a um site. Ao mudar o endereço do site, você pode acessar sua conta, editar o cadastro do anúncio, fornecer o novo endereço do site e salvar:\nMas observe também que sua conta do A-ADS pode ter vários anúncios, cada um vinculado a um site. Então, outra opção pode ser criar um novo anúncio para o site no novo endereço. Assim, dependendo de como está o site nos dois endereços (antigo e novo), você pode ter anúncios nos dois endereços, monetizando ambos.\nBrave Rewards Em programas de anúncios mais tradicionais, como o Google AdSense, o anunciante paga ao programa, que por sua vez paga aos sites para exibir anúncios. O visitante do site apenas visualiza os anúncios, sem receber por isso.\nO Brave Rewards é o programa do navegador Brave para remunerar criadores de conteúdo pela exibição de anúncios, mas também os usuários do navegador por visualizar anúncios. O usuário do Brave pode optar por receber anúncios e ser remunerado por anúncio visto. Ele recebe todo mês certa quantia de uma criptomoeda própria do navegador, o BAT (Basic Attention Token, \u0026ldquo;token básico de atenção\u0026rdquo;, em uma tradução livre), que pode depois ser convertida para reais, dólares, bitcoins ou doada para criadores de conteúdo cadastrados no Brave Rewards. Essa doação pode ser automática (padrão), de modo que o navegador doa parte dos BATs do usuário para os sites que ele mais acessa, e/ou espontânea, com o usuário informando quantos BATs quer doar para determinado site.\nQue nem no AdSense e no A-ADS, é possível ter vários sites associados à mesma conta do Brave Rewards para criadores de conteúdo. Não é possível mudar o endereço de um site já associado, mas é fácil adicionar o novo endereço do site como se fosse um novo site. O processo de validação é simples, não há análise do conteúdo, o programa apenas verifica se você de fato é o dono do site por meio do upload de um arquivo para o site.\nRedes sociais Por último, mas não menos importante, eu não poderia deixar de lembrar: não se esqueça de atualizar o endereço do seu site nos perfis nas redes sociais! (verifique inclusive as artes)\nReferências dessa segunda parte How to Migrate Disqus Comments after Changing URL Structure - Journey Bytes addthis preserving social sharing counters - Stack Overflow ","date":"2021-04-03T17:20:00Z","permalink":"/pt-br/artigo/o-que-fazer-depois-de-mudar-o-endere%C3%A7o-do-site-parte-2-disqus-addthis-e-outros-servi%C3%A7os/","title":"O que fazer depois de mudar o endereço do site — parte 2: Disqus, AddThis e outros serviços"},{"content":"{% capture revisao_links_quebrados %}\nO site passou por uma revisão de links quebrados. Alguns links nessa publicação podem ter sido removidos ou atualizados.\n{% endcapture %}\n{% include update.html date=\u0026ldquo;02/08/2023\u0026rdquo; message=revisao_links_quebrados %}\nMudar um site de endereço não é fácil se esse site já existe há algum tempo e já tem alguma presença na busca do Google e nas redes sociais. Recentemente mudei dois dos meus sites de hospedagem, do GitHub Pages para o GitLab Pages, e também de endereço: o site do Linux Kamarada mudou de kamarada.github.io para linuxkamarada.com e este site mudou de vinyanalista.github.io para antoniomedeiros.dev. Registrei ambos os domínios pela Namecheap. No site do Linux Kamarada fiz um texto explicando essa mudança.\nMeus sites usam alguns serviços de terceiros: Google Search Console, Google AdSense, Google Analytics, Google Programmable Search Engine, Disqus, AddThis, A-ADS e Brave Rewards. Depois de providenciar que as páginas fossem servidas nos novos endereços, tive que comunicar a mudança aos visitantes e também a cada um desses serviços.\nFiz isso primeiro para o Linux Kamarada, tomei nota, e agora vou fazer o mesmo para este site, capturando telas e mostrando para você como fazer, caso você esteja precisando fazer o mesmo para o seu site que mudou de endereço recentemente também.\nRedirecionando as páginas Para manter os links antigos funcionando e redirecionando para o novo endereço, o ideal é configurar o redirecionamento HTTP 301 no endereço antigo. Pesquise como configurar redirecionamentos 301 no seu servidor web ou serviço de hospedagem.\nSe isso não for possível, ao menos configurar o redirecionamento na própria página HTML usando a tag \u0026lt;meta http-equiv=\u0026quot;refresh\u0026quot;. Quando o navegador se depara com essa tag, ele mesmo redireciona o usuário para o novo endereço. Essa tag também permite configurar o tempo em segundos em que o navegador deve redirecionar, sendo 0 para imediatamente.\nE também informar o URL canônico por meio da tag \u0026lt;link rel=\u0026quot;canonical\u0026quot;. Quando você tem duas páginas idênticas ou muito parecidas, o URL canônico informa para os robôs do Google qual dessas páginas deve ser considerada a principal. A ideia é que tanto o site antigo quanto o novo devem informar o novo como URL canônico.\nAs tags HTML devem ser inseridas dentro da seção \u0026lt;head\u0026gt; de cada página do site.\nNo endereço antigo, usar as duas tags:\n\u0026lt;meta http-equiv=\u0026#34;refresh\u0026#34; content=\u0026#34;0; url=endereco_novo\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;canonical\u0026#34; href=\u0026#34;endereco_novo\u0026#34; /\u0026gt; No endereço antigo, usar apenas a tag \u0026lt;link rel=\u0026quot;canonical\u0026quot;:\n\u0026lt;link rel=\u0026#34;canonical\u0026#34; href=\u0026#34;endereco_novo\u0026#34; /\u0026gt; Veja esse exemplo:\nEndereço antigo: https://kamarada.github.io/pt/2021/03/05/tuxguitar-ja-pensou-aprender-guitarra-com-ajuda-do-linux/ (você pode ver o código-fonte no GitHub) \u0026lt;head\u0026gt; \u0026lt;!-- ... --\u0026gt; \u0026lt;link rel=\u0026#34;canonical\u0026#34; href=\u0026#34;https://linuxkamarada.com/pt/2021/03/05/tuxguitar-ja-pensou-aprender-guitarra-com-ajuda-do-linux/\u0026#34; /\u0026gt; \u0026lt;meta http-equiv=\u0026#34;refresh\u0026#34; content=\u0026#34;10; url=https://linuxkamarada.com/pt/2021/03/05/tuxguitar-ja-pensou-aprender-guitarra-com-ajuda-do-linux/\u0026#34;\u0026gt; \u0026lt;!-- ... --\u0026gt; \u0026lt;/head\u0026gt; Perceba que eu defini o tempo como 10, isso quer dizer que o navegador vai exibir a página e só 10 segundos depois redirecionar. Você pode deixar uma mensagem na página informando ao usuário do redirecionamento, mas isso é opcional, fica a seu critério.\nEndereço novo: https://linuxkamarada.com/pt/2021/03/05/tuxguitar-ja-pensou-aprender-guitarra-com-ajuda-do-linux/ (abra e inspecione para ver o código-fonte) \u0026lt;head\u0026gt; \u0026lt;!-- ... --\u0026gt; \u0026lt;link rel=\u0026#34;canonical\u0026#34; href=\u0026#34;https://linuxkamarada.com/pt/2021/03/05/tuxguitar-ja-pensou-aprender-guitarra-com-ajuda-do-linux/\u0026#34; /\u0026gt; \u0026lt;!-- ... --\u0026gt; \u0026lt;/head\u0026gt; Redirecionamento no GitHub Pages No caso do GitHub Pages, não há uma configuração explícita de redirecionamento 301, mas nada que não possamos resolver com um pouco de criatividade.\nPodemos configurar um domínio personalizado no GitHub Pages. Normalmente esse é o caso quando você deseja que seu site hospedado no GitHub Pages seja servido por esse domínio. Mas na prática você pode fazer essa configuração mesmo quando já configurou esse mesmo domínio personalizado no GitLab Pages. O GitHub \u0026ldquo;reclama\u0026rdquo;, mas não impede. E, na prática, faz o redirecionamento 301 para o endereço novo, que é o efeito desejado.\nAcesse o repositório que hospeda seu site no GitHub (por exemplo, github.com/kamarada/kamarada.github.io), clique em Settings (configurações) e na seção GitHub Pages, em Custom domain (domínio personalizado), insira seu domínio personalizado e clique em Save (salvar).\nO GitHub percebe que o domínio novo não aponta para o GitHub Pages e \u0026ldquo;reclama\u0026rdquo; que seu domínio não está configurado corretamente. Bem, isso não importa realmente. O que realmente importa é que de alguma forma você conseguiu fazer o redirecionamento 301.\nVamos fazer um teste. Abra outra aba no navegador, abra as ferramentas do desenvolvedor (DevTools) teclando F12 e selecione a aba de rede (Network). Tente acessar seu site pelo endereço antigo e veja que acontece o redirecionamento 301 para o endereço novo.\nGoogle Search Console É importante avisar à busca do Google que seu site mudou de endereço para que sua classificação não seja prejudicada e você não perca tráfego orgânico. E você configura como seus sites aparecem na busca do Google por meio do Google Search Console.\nVocê (usando a mesma Conta do Google) precisa estar entre os proprietários verificados do endereço antigo e do endereço novo no Google Search Console. Além disso, você precisa já ter configurado o redirecionamento entre as páginas, como explicado acima.\nComece acessando o Google Search Console, adicionando o novo endereço do seu site como uma nova propriedade e verificando essa propriedade, caso já não tenha feito. Se seu site já era integrado ao Google Analytics no endereço antigo, a verificação é instantânea.\nDepois, no menu à esquerda, selecione o site antigo na lista de propriedades e clique em Configurações. À direita, clique na opção Mudança de endereço:\nNa tela seguinte, selecione o site novo e clique em Validar e atualizar:\nO Google Search Console vai fazer uma verificação rápida e reportar quaisquer problemas encontrados. Para prosseguir, clique em Confirmar mudança:\nFeito isso, a ferramenta de mudança de endereço pelo Google Search Console é concluída:\nO processo de indexação do site novo e de mudança dos links na busca do Google, se eu entendi certo a documentação da ferramenta de mudança de endereço, pode levar até 180 dias. É um processo demorado, é verdade, mas os redirecionamentos devem garantir que o tráfego para o site não seja afetado durante esse período.\nGoogle AdSense O Google AdSense não permite mudar o endereço de sites que já estão cadastrados e exibindo anúncios. Mas permite que você tenha vários sites associados à mesma conta. Portanto, a princípio, não seria necessário remover o endereço anterior (você poderia até continuar exibindo anúncios no endereço anterior) e para exibir anúncios no endereço novo, bastaria adicionar o novo endereço à lista de sites. Mas não é tão simples assim: o AdSense vai revisar de novo seu site, como se fosse um site completamente novo e desconhecido do programa, e não é garantido que será aprovado no endereço novo.\nFoi o que aconteceu com esse usuário e também comigo com o site do Linux Kamarada: não obstante o site tenha sido aprovado no endereço anterior, já exibia anúncios desde 2015, quando enviado para aprovação no endereço novo, foi reprovado com a justificativa \u0026ldquo;Conteúdo de baixo valor\u0026rdquo;. Solicitei revisão e no momento aguardo nova resposta.\nEsse processo do Google AdSense é burocrático, manual, ineficiente e burro. Não houve mudança no conteúdo do site, apenas no endereço, o site já exibia anúncios há anos, não havia porque recusar a exibição de anúncios no endereço novo. Já estou pesquisando redes de anúncios alternativas, se encontrar uma bacana compartilho aqui.\n{% include update.html date=\u0026lsquo;03/04/2021\u0026rsquo; message=\u0026lsquo;Após revisão, o Google AdSense considerou o site do Linux Kamarada pronto para exibir anúncios. No entanto, aconteceu o mesmo com este site (antoniomedeiros.dev), que também foi reprovado, com a mesma justificativa, embora também já exibisse anúncios desde 2015. Vou solicitar revisão, agora deste site.\u0026rsquo; %}\nPara exibir anúncios do AdSense no novo endereço do seu site, adicione o novo endereço como se estivesse adicionando um site novo:\nSegundo o próprio Google AdSense, a verificação do (antigo) site (com novo endereço) geralmente leva alguns dias, mas pode demorar até duas semanas. O resultado da verificação é informado por e-mail.\nGoogle Analytics Mudar o endereço do site no Google Analytics é fácil, rápido, tranquilo e não faz com que ele perca dados ou os corrompa de qualquer forma.\nAcesse o Google Analytics. No menu à esquerda, clique na opção Administrador. À direita, em Propriedade, selecione o site na lista e clique em Configurações da propriedade:\nNo campo URL padrão, substitua o endereço antigo pelo novo:\nNo final da página, clique no botão Salvar. Pronto, simples assim.\nGoogle Programmable Search Engine Se seu site tem uma caixa de pesquisa programável do Google, você precisa adicionar o novo endereço do site à lista de sites que são pesquisados a partir dessa caixa de pesquisa.\nAcesse o Google Programmable Search Engine. À esquerda, em Editar mecanismo de pesquisa, selecione o seu site. À direita, em Sites a pesquisar, clique em Adicionar. Digite o endereço novo e clique em Salvar. Feito, é isso!\nObserve que a pesquisa dentro do site depende da pesquisa maior, do Google. Acompanhe a indexação do endereço novo pelo Google Search Console.\nContinua\u0026hellip; Como o texto é grande, decidi dividi-lo em duas partes. Nessa primeira parte, vimos como redirecionar os visitantes e os serviços do Google para o novo endereço. Na segunda parte, veremos o que fazer com outros serviços, a exemplo dos já citados Disqus e AddThis.\nA segunda parte deve ser publicada em breve. Siga-me para saber assim que for liberada.\n{% capture atualizacao %}[A segunda parte já está aqui! (clique para acessá-la)]({%post_url 2021-04-03-o-que-fazer-depois-de-mudar-o-endereco-do-site-parte-2-disqus-addthis-e-outros-servicos %}){% endcapture %} {% include update.html date=\u0026ldquo;03/04/2021\u0026rdquo; message=atualizacao %}\nReferências dessa primeira parte How I migrated my blog from Wordpress to Octopress — Konrad Podgórski Web Developer / Software Architect Unir URLs duplicados com versões canônicas | Central da Pesquisa Google Redirect Github Pages to custom domain - Stack Overflow Permanent redirect from Github gh-pages - Stack Overflow Changing Domain Names? Learn How To Tell Google About Site Address Change - ShoutMeLoud Ferramenta Alteração de endereço - Ajuda do Google Search Console Changing a Domain in Google Analytics | Zanzi Digital How to Migrate Disqus Comments after Changing URL Structure - Journey Bytes ","date":"2021-03-24T10:00:00Z","permalink":"/pt-br/artigo/o-que-fazer-depois-de-mudar-o-endere%C3%A7o-do-site-parte-1-visitantes-e-google/","title":"O que fazer depois de mudar o endereço do site — parte 1: visitantes e Google"},{"content":"{% capture revisao_links_quebrados %}\nO site passou por uma revisão de links quebrados. Alguns links nessa publicação podem ter sido removidos ou atualizados.\n{% endcapture %}\n{% include update.html date=\u0026ldquo;02/08/2023\u0026rdquo; message=revisao_links_quebrados %}\nUma bridge (\u0026ldquo;ponte\u0026rdquo;, em inglês) é um dispositivo de rede que une duas redes a nível de camada 2 do modelo OSI (camada de enlace). Normalmente, o modem da operadora atua como roteador (router), ou seja, atua na camada 3 (camada de rede), separando a rede de casa e a rede da operadora em espaços de endereços IP diferentes.\nSe você tem outro roteador, como o MikroTik do qual já falei aqui em alguns posts, pode ser interessante mudar o modem da operadora para o modo bridge, o que faz com que seu outro roteador entre em contato direto com a rede da operadora, recebendo um endereço IP desta, e sendo o único responsável por gerenciar toda a rede da sua casa.\nTentando usar uma linguagem menos técnica, tornar o modem da operadora uma bridge na prática seria como anulá-lo, ele passa a fazer apenas o \u0026ldquo;leva e traz\u0026rdquo; de dados na rede, enquanto quem faz o \u0026ldquo;trabalho pesado\u0026rdquo; mesmo é o roteador conectado a ele.\nSe você, assim como eu, confia mais no seu roteador do que no equipamento da operadora, configurar o modem em modo bridge pode trazer mais segurança para a rede da sua casa.\nHoje eu sou cliente da Claro e tenho em minha casa o modem Sagemcom F@ST 3486 e o roteador MikroTik hAP ac lite TC. Vou mostrar como deixar o modem Sagemcom em modo bridge e o MikroTik como único roteador da casa.\nPonto de partida Conecte seu roteador ao modem da operadora, como na imagem acima.\nConecte seu computador ao seu roteador.\nCaso seu roteador seja um MikroTik como o meu e você tenha caído nessa página de paraquedas, talvez queira dar uma conferida nos textos anteriores:\nPrimeiros passos com o MikroTik hAP ac: roteador profissional para a rede de casa MikroTik: modo de segurança (Safe Mode) Acessando a interface web do modem Abra o navegador e acesse a interface web do modem da operadora. O endereço IP, assim como o login e senha que você vai usar para acessar essa interface comumente podem ser encontrados em uma etiqueta no próprio modem ou fazendo uma pesquisa na Internet.\nNo caso do modem Sagemcom F@ST 3486, o endereço IP é 192.168.0.1, o login é admin e a senha também é admin:\nA tela inicial resume as informações da conexão e traz as configurações mais comuns, que são o nome e a senha da rede Wi-Fi. Clique em Configurações avançadas, no canto superior direito da tela:\nFazendo backup da configuração atual Clique em Menu, no canto superior esquerdo da tela, expanda Administração e clique em Backup:\nClique em Backup para baixar a configuração atual do modem:\nO navegador vai baixar um arquivo chamado backupsettings.conf. Salve esse arquivo em um local seguro, que você se lembre depois, pro caso de precisar restaurar o backup.\nDesativando a rede Wi-Fi do modem Na interface web do modem, abra o Menu, expanda Wi-Fi e clique em Rádio.\nA rede de 2.4 GHz já vem selecionada por padrão, desmarque a opção Ativar:\nDepois, selecione a rede de 5 GHz e também desmarque a opção Ativar.\nDesça até o final da página e clique em Aplicar Ajustes.\nAtivando o modo bridge Abra o Menu, expanda Rede e clique em Configurações Básicas. Role a página até encontrar a opção Tipo de conexão WAN e defina-a como Bridge Mode:\nChegamos ao ponto de não retorno. Clique em Aplicar Ajustes para ativar o modo bridge.\nO modem será reiniciado. Você pode fechar a janela do navegador.\nAbra uma janela do terminal e deixe um ping rodando para algum endereço IP na Internet (por exemplo, o servidor de DNS público do Google, 8.8.8.8). Observando o comando ping, é possível saber quando o modem terminou de reiniciar e a conexão com a Internet voltou:\n$ ping 8.8.8.8 ... From 10.0.0.1 icmp_seq=156 Destination Net Unreachable 64 bytes from 8.8.8.8: icmp_seq=157 ttl=114 time=49.0 ms 64 bytes from 8.8.8.8: icmp_seq=158 ttl=114 time=194 ms 64 bytes from 8.8.8.8: icmp_seq=159 ttl=114 time=138 ms 64 bytes from 8.8.8.8: icmp_seq=160 ttl=114 time=52.0 ms Verificando a conexão do roteador Se seu roteador estava configurado para obter DHCP, deve ter recebido um endereço IP diretamente da rede da operadora (não mais do modem, que agora está em modo bridge).\nNo caso do MikroTik, para verificar o endereço IP obtido, inicie o WinBox. Na janela do WinBox, à esquerda, expanda o menu IP, depois clique no item Addresses (endereços):\nNo meu exemplo, o MikroTik obteve o endereço IP 179.216.177.166/21:\n(se a notação /21 é nova para você — eu só a conheci quando tive a oportunidade de trabalhar com redes — ela quer dizer que os primeiros 21 bits do endereço IP identificam a rede, para mais informações procure saber sobre CIDR)\nAcessando a interface web da bridge No futuro, caso precise usar a interface web do modem, que agora está em modo bridge — por exemplo, para restaurar o backup das configurações do modem, desativando assim o modo bridge — abra o navegador e acesse o mesmo endereço IP de antes: 192.168.0.1.\nNão sei como a bridge responde por esse endereço IP, dado que ela não atua na camada 3 (camada de rede) do modelo OSI. Só sei que funciona. Parece mágica\u0026hellip;\nPor que eu uso o modo bridge Em 2015, eu tive um problema com o modem ARRIS TG862 da NET: um vírus invadiu o modem e mudou os endereços dos servidores DNS. Com isso, vários sites passaram a exibir anúncios bastante irritantes e inconvenientes em russo, como os das imagens abaixo.\nIsso acontecia porque o servidor DNS farsante redirecionava as requisições ao Google Analytics (um serviço usado por muitos sites) para outro servidor que não era o do Google, fazendo com que o navegador baixasse o script dos anúncios em russo, em vez do script requisitado pelo site, que era o do Google Analytics.\nA solução foi entrar na interface web do modem, mudar a senha de administrador e mudar a configuração de DNS. Depois disso, os anúncios em russo pararam de aparecer.\nSe tiver curiosidade de ler mais sobre o ocorrido, aqui vão alguns links da época:\nNovo malware sequestra roteador e enche sites de propagandas - TecMundo Android \u0026ldquo;infectado\u0026rdquo; e anúncios \u0026ldquo;estranhos\u0026rdquo; são sinais de ataque a roteador | G1 - Tecnologia e Games Adware Russo que nenhum antivírus elimina - Invasões e infecções - Clube do Hardware Abrindo propagandas e links sozinho - Redes e Internet - Clube do Hardware Adware me enlouquecendo e redirecionando para sites russos - Comunidade do Hardware.com.br This router hack is injecting ads and porn into random websites - The Verge Ad-Fraud Malware Hijacks Router DNS – Injects Ads Via Google Analytics | University of South Wales: Cyber University Desde 2016, quando comprei o MikroTik, já me mudei algumas vezes e sempre o deixo como o roteador da casa, sempre configuro o modem da operadora em modo bridge. Com isso, tenho maior controle sobre a rede da minha casa e mais segurança.\n","date":"2021-03-01T01:00:00Z","permalink":"/pt-br/artigo/configurando-o-modem-sagemcom-f@st-3486-em-modo-bridge/","title":"Configurando o modem Sagemcom F@ST 3486 em modo bridge"},{"content":"{% capture revisao_links_quebrados %}\nO site passou por uma revisão de links quebrados. Alguns links nessa publicação podem ter sido removidos ou atualizados.\n{% endcapture %}\n{% include update.html date=\u0026ldquo;02/08/2023\u0026rdquo; message=revisao_links_quebrados %}\nSe você está pensando em comprar um celular novo, pode ser que esteja se perguntando: compro um smartphone com Android ou um iPhone? Durante um tempo eu usei Android, depois passei um tempo usando iPhone, e agora estou voltando para o Android. Então decidi escrever esse texto para compartilhar minha experiência e possivelmente ajudar quem está em dúvida a se decidir por um ou por outro.\nNote que aqui eu falo por mim, outras pessoas podem te relatar experiências muito parecidas ou muito diferentes. Não é meu objetivo esgotar o assunto, então você pode procurar a opinião de outras pessoas. E, claro, a decisão final é sua.\nOs modelos mencionados abaixo são apenas exemplos, não são recomendações de compra. Faça sua própria pesquisa e decida qual celular é melhor para você.\nMinhas experiências com Android e iPhone Eu sou do tipo que faz de tudo um pouco com o celular: ligo, mando mensagens, uso a Internet na rua, uso GPS, redes sociais, netbanking, bato fotos, filmo, escuto música com fone de ouvido Bluetooth\u0026hellip; instalo muitos aplicativos e exijo muito da bateria e da memória.\nAntes de ter meu primeiro iPhone, eu tive 3 smartphones com Android, usei cada um por um ano ou dois. Cada um terminou sua vida útil de um jeito diferente.\nO LG Optimus Net Dual P698 que usei entre 2012 e 2014 no final travava toda hora, até mesmo parado no bolso sem fazer nada, ele vibrava e reiniciava.\nO Samsung Galaxy S4 Mini Duos que usei entre 2014 e 2016 veio com muitos aplicativos de fábrica que eu não usava e no final a bateria descarregava toda hora.\nEntre 2016 e 2017 eu usei um Motorola Moto G3 que tinha pouca memória RAM e não conseguia abrir dois aplicativos ao mesmo tempo. Eu abri mão da garantia pra formatá-lo com um \u0026ldquo;Android alternativo\u0026rdquo;, o CyanogenMod, mas ao todo usei só por 1 ano.\nEmbora no geral eu conseguisse usar bem os celulares, por um motivo ou outro eu não voltaria a comprar os celulares das mesmas marcas que eu já usei.\nFrustrado com o Android, decidi dar uma chance ao iPhone, do qual até então só tinha ouvido falar bem. Usei um iPhone SE de 2017 a 2019 e um iPhone 8 de 2019 até agora.\nConheço pessoas que fizeram uma viagem de ida sem volta para o mundo da Apple: compraram um dos produtos, gostaram, e daí foram comprando a família inteira — iPhone, iPad, Mac, MacBook, Apple Watch, Apple TV, etc.\nMeu irmão foi o primeiro a ter um gadget da Apple na família: ele usou um iPod touch durante anos até a Apple parar de fornecer atualizações para o sistema operacional, mas os apps ainda funcionavam e bem. Ele vendeu e ainda conseguiu alguns trocados. Um amigo meu também usa um iPhone 6S há anos (o modelo é de 2015). São feitos pra durar.\nNo ecossistema da Apple, tudo funciona muito bem. Por exemplo, após bater uma foto com o iPhone, essa foto é enviada para o iCloud e em questão de segundos já aparece \u0026ldquo;automagicamente\u0026rdquo; no Mac. Não precisa conectar o iPhone ao Mac para transferir as fotos.\nO problema é se você tem um notebook com Linux, como eu. Mesmo quem usa Windows, que é mais popular, tem problemas pra usar seu computador em conjunto com o iPhone, que \u0026ldquo;simplesmente funciona\u0026rdquo; se você tem tudo da Apple, mas se não vira uma novela.\nAo conectar um Android à USB do computador, você pode escolher se ele vai apenas carregar, transferir apenas fotos ou transferir arquivos em geral, nesse caso toda a memória interna aparece como se fosse um pendrive. É fácil mover e copiar fotos e arquivos do Android para o computador e vice-versa. Já ao conectar um iPhone, apenas as fotos aparecem (como uma câmera) e ele também carrega. Usando o cabo USB, é possível copiar e mover fotos do iPhone para o computador, mas não o contrário.\nHá também um problema com o formato das fotos. O Android armazena as fotos no formato JPG, que se tornou praticamente universal, e as fotos são transferidas para o computador assim como estão. O iPhone armazena as fotos no formato HEIC e na transferência converte ou não essas fotos conforme o sistema operacional do computador. Se é um Mac, as fotos são copiadas como HEIC mesmo. Se é Windows ou Linux, as fotos são convertidas para JPG durante a cópia. É assim desde o iOS 11 e o macOS High Sierra.\nOcorre que para mim essa conversão nunca funcionou com o Linux e em algum momento parou de funcionar também com o Windows. Acabou que desativei essa conversão (indo em Ajustes \u0026gt; Fotos) e passei a copiar as fotos como HEIC mesmo. Porém no Windows eu precisaria instalar uma extensão que custa R$ 3,45 para conseguir abrir fotos HEIC. No Linux, instalando alguns pacotes, o GIMP consegue abrir fotos HEIC. Mas ele é pesado, é como se eu tivesse que abrir o Photoshop toda vez que quisesse apenas ver uma foto.\nTransferir arquivos (como PDFs e DOCs) do computador para o iPhone e vice-versa também é complicado. O Android é simples para transferir arquivos como um pendrive e dispõe de apps gerenciadores de arquivos que permitem acessar todos os arquivos e pastas da memória interna. Já no iOS o acesso à memória interna não é transparente. Não há forma de acessar todos os arquivos e pastas, nem via computador, nem via app. O iOS cria uma pasta na memória interna para cada app e cada app consegue ver apenas sua própria pasta.\nNo Windows, é possível copiar arquivos de/para as pastas dos apps do iOS por meio do iTunes. Não há versão do iTunes para Linux e ele não funciona nem usando Wine. No caso do Linux, a solução de contorno é usar algum serviço de armazenamento de arquivos na nuvem, como o Dropbox, que fornece apps para Linux, iOS, Windows e outros sistemas.\nComo os arquivos dos apps são isolados, até transferir arquivos entre apps — por exemplo, responder um e-mail no app Gmail anexando um arquivo que está na pasta do app Dropbox — é complicado. Isso passou a ser possível com a introdução do app Arquivos no iOS 11.\nTransferir músicas do computador para o celular no caso do Android é simples, é o mesmo funcionamento do pendrive. No caso do iOS, só pode ser feito por meio do iTunes. Usuários do Linux então tem que recorrer a mais uma solução de contorno, que pode ser o app do VLC para iOS, que permite iniciar um servidor web no iPhone e então transferir as músicas por meio do navegador do computador. Outra opção, mais simples, é usar um serviço de streaming de música como o Spotify, cujos assinantes podem baixar músicas para o celular.\nPassar fotos, arquivos ou até músicas via Bluetooth não seria uma opção? No Android, sim, seria mais uma opção. No iPhone, se o outro dispositivo é um computador com Windows ou Linux ou um celular com Android, não. O iPhone pareia normalmente com caixas de som e fones de ouvido Bluetooth, mas quando o assunto é transferência de arquivos, dispositivos da Apple só transferem arquivos entre si por meio do AirDrop.\nQuando eu queria trocar fotos com pessoas que usavam celulares Android, eu recorria ao WhatsApp. O ruim dessa solução de contorno é que normalmente o WhatsApp comprime as imagens, que não chegam com toda a qualidade original. Por Bluetooth, a foto original seria transferida com a qualidade preservada.\nPara dados e carregamento, a maioria dos smartphones com Android usa um cabo micro-USB, alguns mais novos estão vindo com cabo USB-C. Enquanto isso, o iPhone usa um cabo Lightning, que só dispositivos da Apple usam. O ruim disso é que eu precisava de um cabo Lightning só pra carregar o iPhone e um cabo micro-USB pra carregar todos os outros gadgets (caixa de som, fone de ouvido, power bank, etc). Também se por acaso eu esquecesse o cabo Lightning em casa, no trabalho tinha que procurar outro usuário de iPhone pra me emprestar o mesmo cabo. A maioria dos colegas só tinha cabo micro-USB.\nCom relação a aplicativos, a loja da Google (a Play Store) tem mais apps que a loja da Apple (a AppStore): 2,56 milhões versus 1,84 milhões, respectivamente.\nClaro que mais apps não significa melhores apps: o processo de aprovação da Apple para que um app apareça na AppStore é manual, mais rigoroso e demora mais, de modo que ela tem menos apps maliciosos que a Play Store. Em ambas há apps maliciosos e o usuário precisa estar sempre atento, mas é mais fácil baixar um app malicioso da Play Store.\nPor outro lado, menos apps também não é necessariamente melhor. Esse maior controle da Apple sobre os apps gera algumas questões legais, filosóficas e até mesmo políticas.\nRecentemente vimos redes sociais alternativas, que se anunciam como defensoras da liberdade de expressão, terem seus apps removidos da AppStore, como foi o caso do Parler em janeiro, ou sequer aceitos, como o Gab em 2016. O Telegram é outro app que já está na mira de grupos políticos. Não é de agora que a Apple remove apps da AppStore por motivos políticos. A Apple baniu apps que foram usados nos protestos de Hong Kong em 2019. A Fundação do Software Livre e a Wikipedia listam outras polêmicas envolvendo a Apple.\nNo Android, se a Google decide banir um app da Play Store, você ainda pode baixá-lo de lojas alternativas, como a F-Droid, ou direto dos desenvolvedores: os apps do Android são arquivos APK e podem ser instalados manualmente pelo usuário. No iOS, não há lojas alternativas à AppStore e o usuário não tem a liberdade de instalar apps manualmente. Se a Apple bane um app da AppStore, é como se ele deixasse de existir para usuários de iOS.\nSe a partir de agora eu vou ter que lidar com lojas que removem apps por motivos políticos, acho melhor usar o Android, que ao menos me permite instalar os apps que eu quiser.\nComo está o mercado hoje Por último, mas não menos importante, não poderia deixar de falar no preço. O modelo de entrada da Apple é o iPhone SE (a segunda edição, de 2020), cuja variação com menor memória interna (64 GB) está à venda em algumas lojas por 2.650 reais. Fazendo uma pesquisa rápida, o Android mais barato que encontrei foi o LG K8+ à venda nas Americanas por 616 reais. Para uso básico (ligações, mensagens e redes sociais), ambos devem servir bem, com a diferença que o Android é muito mais barato que o iPhone.\nClaro que pesquisando é possível encontrar modelos mais baratos, mais antigos e com especificações menores de ambos Android e iPhone. Usei como referência modelos que ainda aparecem nos sites das fabricantes, ou seja, são modelos novos. Tem gente que usa essa estratégia com o iPhone: compra um modelo anterior, que é menos caro mas já atende.\nClaro também que, em termos de especificações, o iPhone SE é muito superior ao LG K8+, o que justificaria a diferença de preço. Comparando especificações, o Android mais próximo do iPhone SE seria o Google Pixel 3, mas ele não vende mais. Dentre os modelos à venda, encontrei por exemplo o Motorola Moto G9 Plus por 1.800 reais nas Casas Bahia. Ele já é igual ou superior ao iPhone SE em muitos quesitos e já é 850 reais mais barato.\nNão apenas o iPhone é caro, mas seus acessórios também. A boa notícia é que, se você não fizer questão que os acessórios sejam originais, é possível encontrar os mesmos acessórios fabricados por marcas alternativas a uma fração do preço da loja oficial da Apple.\nResumo e conclusão Eu já me convenci que não existe smartphone perfeito. Tanto no mundo do Android quanto no mundo do iPhone você pode encontrar smartphones muito bons. O iPhone tende a apresentar melhores hadware e software, maior durabilidade, mas também um preço muito maior. Já o Android tem preços mais em conta, especificações que já atendem, e o usuário tem mais liberdade pra fazer o que bem entende com o celular. Pra mim, liberdade vale mais.\nE por isso decidi dar uma chance ao smartphone Multilaser MS80X. Tenho um tablet da Multilaser que já dura 4 anos e ainda funciona muito bem, o Multilaser M10A. Na época, os tablets Android mais comuns eram os da Samsung, mas esse da Multilaser tinha melhores especificações e era mais em conta. Minha percepção foi a mesma com relação ao MS80X. Comparado com o iPhone 8, ele não é de todo melhor, mas também não é de todo pior.\nQuanto ao iPhone 8, ainda vou segurar mais um pouco. Vai levar um tempo até eu conseguir fazer backup de todas as fotos em um formato que todos os demais aparelhos da casa que não apenas o próprio iPhone consigam abrir\u0026hellip;\n","date":"2021-01-24T11:15:00Z","permalink":"/pt-br/artigo/porque-fui-pro-iphone-e-voltei-pro-android/","title":"Porque fui pro iPhone e voltei pro Android"},{"content":"{% capture revisao_links_quebrados %}\nO site passou por uma revisão de links quebrados. Alguns links nessa publicação podem ter sido removidos ou atualizados.\n{% endcapture %}\n{% include update.html date=\u0026ldquo;02/08/2023\u0026rdquo; message=revisao_links_quebrados %}\nUma bridge (\u0026ldquo;ponte\u0026rdquo;, em inglês) é um dispositivo de rede que une duas redes a nível de camada 2 do modelo OSI (camada de enlace). Normalmente, o modem da operadora atua como roteador (router), ou seja, atua na camada 3 (camada de rede), separando a rede de casa e a rede da operadora em espaços de endereços IP diferentes.\nSe você tem outro roteador, como o MikroTik do qual tenho falado nos meus últimos posts, pode ser interessante mudar o modem da operadora para o modo bridge, o que faz com que seu outro roteador entre em contato direto com a rede da operadora, recebendo um endereço IP desta, e sendo o único responsável por gerenciar toda a rede da sua casa.\nTentando usar uma linguagem menos técnica, tornar o modem da operadora uma bridge na prática seria como anulá-lo, ele passa a fazer apenas o \u0026ldquo;leva e traz\u0026rdquo; de dados na rede, enquanto quem faz o \u0026ldquo;trabalho pesado\u0026rdquo; mesmo é o roteador conectado a ele.\nSe você, assim como eu, confia mais no seu roteador do que no equipamento da operadora, configurar o modem em modo bridge pode trazer mais segurança para a rede da sua casa.\nHoje eu sou cliente da Claro e tenho em minha casa o modem HUMAX HG100R-L4 e o roteador MikroTik hAP ac lite TC. Vou mostrar como deixar o modem HG100R-L4 em modo bridge e o MikroTik como único roteador da casa.\nPonto de partida Conecte seu roteador ao modem da operadora, como na imagem acima.\nConecte seu computador ao seu roteador.\nCaso seu roteador seja um MikroTik como o meu e você tenha caído nessa página de paraquedas, talvez queira dar uma conferida nos textos anteriores:\nPrimeiros passos com o MikroTik hAP ac: roteador profissional para a rede de casa MikroTik: modo de segurança (Safe Mode) Acessando a interface web do modem Abra o navegador e acesse a interface web do modem da operadora. O endereço IP, assim como o login e senha que você vai usar para acessar essa interface comumente podem ser encontrados em uma etiqueta no próprio modem ou fazendo uma pesquisa na Internet.\nNo caso do modem HUMAX HG100R-L4, o endereço IP é 192.168.0.1 e o login e senha estão em uma etiqueta no próprio modem:\nA tela inicial resume as informações da conexão e traz as configurações mais comuns, que são o nome e a senha da rede Wi-Fi. Acesse as configurações avançadas clicando em Advanced Network Settings (configurações avançadas de rede):\nFazendo backup da configuração atual Nas configurações avançadas, selecione básico no menu à esquerda, depois Back Up. Selecione Salve Status Atual e clique em aplicar para baixar a configuração atual do modem:\nO navegador vai baixar um arquivo chamado GatewaySettings.bin. Salve esse arquivo em um local seguro, que você se lembre depois, pro caso de precisar restaurar o backup.\nDesativando a rede Wi-Fi do modem Na interface web do modem, selecione Sem fio no menu à esquerda, depois Rede Primária. À direita, marque a opção Inválido e depois clique em aplicar:\nAtivando o modo bridge Ainda nas configurações avançadas do modem, selecione básico no menu à esquerda, depois Definir. Role a página à direita até encontrar a opção Modo Switch e defina-a como Bridge:\nChegamos ao ponto de não retorno. Clique em aplicar para ativar o modo bridge.\nO modem será reiniciado. Você pode fechar a janela do navegador.\nAbra uma janela do terminal e deixe um ping rodando para algum endereço IP na Internet (por exemplo, o servidor de DNS público do Google, 8.8.8.8). Observando o comando ping, é possível saber quando o modem terminou de reiniciar e a conexão com a Internet voltou:\n$ ping 8.8.8.8 ... From 10.0.0.1 icmp_seq=95 Destination Net Unreachable From 10.0.0.1 icmp_seq=96 Destination Net Unreachable From 10.0.0.1 icmp_seq=97 Destination Net Unreachable 64 bytes from 8.8.8.8: icmp_seq=98 ttl=115 time=28.3 ms 64 bytes from 8.8.8.8: icmp_seq=99 ttl=115 time=30.1 ms 64 bytes from 8.8.8.8: icmp_seq=100 ttl=115 time=25.9 ms 64 bytes from 8.8.8.8: icmp_seq=101 ttl=115 time=31.7 ms Verificando a conexão do roteador Se seu roteador estava configurado para obter DHCP, deve ter recebido um endereço IP diretamente da rede da operadora (não mais do modem, que agora está em modo bridge).\nNo caso do MikroTik, para verificar o endereço IP obtido, inicie o WinBox. Na janela do WinBox, à esquerda, expanda o menu IP, depois clique no item Addresses (endereços):\nNo meu exemplo, o MikroTik obteve o endereço IP 100.64.198.110/19:\n(se a notação /19 é nova para você — eu só a conheci quando tive a oportunidade de trabalhar com redes — ela quer dizer que os primeiros 19 bits do endereço IP identificam a rede, para mais informações procure saber sobre CIDR)\nAcessando a interface web da bridge No futuro, caso precise usar a interface web do modem, que agora está em modo bridge — por exemplo, para restaurar o backup das configurações do modem, desativando assim o modo bridge — abra o navegador e acesse o endereço IP 192.168.100.1.\nNão sei como a bridge responde por esse endereço IP, dado que ela não atua na camada 3 (camada de rede) do modelo OSI. Só sei que funciona. Parece mágica\u0026hellip;\nNotas sobre carrier-grade NAT O endereço IP 100.64.198.110/19 pertence à rede 100.64.192.0. Não se trata de um endereço IP \u0026ldquo;real\u0026rdquo; (ou público), como seria de se esperar há alguns anos, mas de um endereço IP privado dentro da rede da operadora. Endereços IP como esse passaram a ser distribuídos para roteadores domésticos após o esgotamento dos endereços IPv4. As operadoras adotaram uma prática chamada de carrier-grade NAT (CGNAT), que reserva o bloco 100.64.0.0/10 para a atribuição de endereços IP às residências.\nA carrier-grade NAT impossibilita a hospedagem de serviços e o redirecionamento de portas (com isso, você não pode servir um site para o mundo a partir do seu computador de casa, por exemplo), mas é um \u0026ldquo;mal necessário\u0026rdquo; para viabilizar o uso de redes IPv4 hoje em dia, dado que os endereços IPv4 já se esgotaram. Caso você precise de um endereço IP público, uma alternativa é verificar junto à operadora a possibilidade de alugar um (a um custo adicional). Outra alternativa é ativar o IPv6, que veremos oportunamente como fazer.\nPor que eu uso o modo bridge Em 2015, eu tive um problema com o modem ARRIS TG862 da NET: um vírus invadiu o modem e mudou os endereços dos servidores DNS. Com isso, vários sites passaram a exibir anúncios bastante irritantes e inconvenientes em russo, como os das imagens abaixo.\nIsso acontecia porque o servidor DNS farsante redirecionava as requisições ao Google Analytics (um serviço usado por muitos sites) para outro servidor que não era o do Google, fazendo com que o navegador baixasse o script dos anúncios em russo, em vez do script requisitado pelo site, que era o do Google Analytics.\nA solução foi entrar na interface web do modem, mudar a senha de administrador e mudar a configuração de DNS. Depois disso, os anúncios em russo pararam de aparecer.\nSe tiver curiosidade de ler mais sobre o ocorrido, aqui vão alguns links da época:\nNovo malware sequestra roteador e enche sites de propagandas - TecMundo Android \u0026ldquo;infectado\u0026rdquo; e anúncios \u0026ldquo;estranhos\u0026rdquo; são sinais de ataque a roteador | G1 - Tecnologia e Games Adware Russo que nenhum antivírus elimina - Invasões e infecções - Clube do Hardware Abrindo propagandas e links sozinho - Redes e Internet - Clube do Hardware Adware me enlouquecendo e redirecionando para sites russos - Comunidade do Hardware.com.br This router hack is injecting ads and porn into random websites - The Verge Ad-Fraud Malware Hijacks Router DNS – Injects Ads Via Google Analytics | University of South Wales: Cyber University Desde 2016, quando comprei o MikroTik, já me mudei algumas vezes e sempre o deixo como o roteador da casa, sempre configuro o modem da operadora em modo bridge. Com isso, tenho maior controle sobre a rede da minha casa e mais segurança.\n","date":"2020-08-14T00:15:00Z","permalink":"/pt-br/artigo/configurando-o-modem-humax-hg100r-l4-em-modo-bridge/","title":"Configurando o modem HUMAX HG100R-L4 em modo bridge"},{"content":"{% capture revisao_links_quebrados %}\nO site passou por uma revisão de links quebrados. Alguns links nessa publicação podem ter sido removidos ou atualizados.\n{% endcapture %}\n{% include update.html date=\u0026ldquo;02/08/2023\u0026rdquo; message=revisao_links_quebrados %}\nMês passado eu estava usando meu notebook quando de repente os programas começaram a apresentar diversas mensagens de erro. Reiniciei o computador e, para minha surpresa, o sistema operacional não iniciou, apresentando mensagem de erro relacionada ao meu SSD Kingston A400 de 480GB, que agora era reconhecido como SATAFIRM S11.\nNesse post, vou mostrar como resolvi esse problema e informações que podem te ajudar, caso você também possua um SSD desse modelo e tenha se deparado com o mesmo erro.\nComo diagnosticar esse problema? Você pode verificar de algumas formas que seu SSD é reconhecido como SATAFIRM S11.\nVocê pode ver essa informação acessando o setup da BIOS do computador. Como fazer isso varia de modelo para modelo, você pode consultar o manual do seu computador. No caso do meu notebook, um Acer Aspire E 15, eu fico apertando F2 assim que ele liga:\nNo Windows, você pode ver essa informação abrindo o Gerenciador de Dispositivos:\nComo eu não conseguia iniciar o sistema operacional, usei um case para conectar o SSD a uma porta USB de outro computador com Windows. Se isso não é uma opção para você, pode manter o SSD no computador e usar o Hiren\u0026rsquo;s BootCD.\nNo outro computador com Windows, eu tentei usar o programa Kingston SSD Manager da própria fabricante, mas ele não reconhecia o SSD como sendo da Kingston, uma vez que era reportado como SATAFIRM S11. No Hiren\u0026rsquo;s BootCD, eu não consegui instalar esse programa.\nSe você usa uma distribuição Linux com a área de trabalho GNOME, como é o caso do Linux Kamarada, que eu uso, e também do Ubuntu, que é uma das distribuições mais populares, pode ver essa informação abrindo o aplicativo Discos:\nNo caso do Linux, você não precisa remover o SSD do computador para diagnosticar o problema, você pode iniciar o Linux a partir de um LiveUSB.\nOutros comandos do Linux que podem ser usados para detectar o problema são apresentados a seguir (mostro apenas a parte relevante das saídas dos comandos):\ncomando fdisk: # fdisk -l Disco /dev/sda: 447,1 GiB, 480103981056 bytes, 937703088 setores Modelo de disco: SATAFIRM S11 [...] comando hdparm: # hdparm -I /dev/sda /dev/sda: ATA device, with non-removable media Model Number: SATAFIRM S11 Serial Number: 50026B7782026D18 Firmware Revision: SBFK71W1 Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0 Standards: [...] comando smartctl: # smartctl -a /dev/sda smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.12.14-lp151.28.36-default] (SUSE RPM) Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Device Model: SATAFIRM S11 Serial Number: 50026B7782026D18 LU WWN Device Id: 5 0026b7 782026d18 Firmware Version: SBFK71W1 User Capacity: 480.103.981.056 bytes [480 GB] [...] O que ocasiona esse problema? Pesquisando na Internet, o que se tem de informação é que esse problema é comum a modelos de SSD (inclusive de outras marcas, não só da Kingston) que são fabricados com a controladora Phison S11. Dependendo da versão do firmware instalado no SSD (o software que controla o SSD), em algum momento, não se sabe quando ou porque, ele pode se desprogramar e perder a configuração específica do fabricante, passando a se identificar de forma genérica pro computador como sendo do \u0026ldquo;modelo\u0026rdquo; SATAFIRM S11.\nNo caso da série Kingston A400, sabe-se que esse problema pode acontecer em SSDs cujo firmware está na versão SBFK71W1, que foi justamente a que veio de fábrica no meu SSD.\nNos exemplos acima, o aplicativo Discos do Linux, assim como os comandos hdparm e smartctl do Linux mostram a versão do firmware instalada no SSD.\nVocê também pode ver a versão do firmware que veio de fábrica na etiqueta no seu SSD:\nNessa etiqueta, você também pode ver o código do produto: no meu caso, SA400S37/480G.\nÉ possível prevenir esse problema? Talvez sim. Se você possui um SSD Kingston A400 instalado no computador e funcionando, experimente usar o programa Kingston SSD Manager da própria fabricante (disponível apenas para Windows) para verificar se é possível atualizar o firmware do SSD.\nAlém disso, serve para qualquer modelo de SSD de qualquer fabricante e com qualquer versão de firmware: mantenha um backup de seus dados pessoais sempre em dia e armazenado em mídia e local seguros. Em caso de problemas como esse, um backup pode te livrar de perder muitos dos seus dados.\nComo eu resolvi esse problema A Kingston oferece garantia condicional de 3 anos para o modelo de SSD A400.\nFelizmente, eu comprei meu SSD em junho de 2018 na Kabum e, portanto, em junho de 2020, 2 anos depois, ainda estava na garantia da Kingston.\nMeu backup não estava em dia, mas os arquivos mais importantes estavam armazenados em serviços na nuvem, como o Dropbox.\nUsando um LiveUSB do Linux Kamarada, consegui montar as partições do SSD como somente leitura e fazer backup de quase todos os arquivos para um HD externo. Não consegui copiar todos os arquivos, alguns apresentaram erro de entrada e saída.\nAcionei a garantia, enviei meu SSD pelos Correios e a Kingston me enviou um SSD novo do mesmo modelo, também pelos Correios. Eu arquei com os custos do envio do SSD defeituoso, enquanto a Kingston arcou com os custos do envio do SSD novo.\nEsse vídeo, da própria Kingston, mostra como acionar a garantia:\n{% include youtube.html id=\u0026ldquo;xUNBfa9GpmM\u0026rdquo; %}\nA seguir, uma captura de tela do Kingston SSD Manager mostrando o SSD novo:\nSoluções alternativas Caso seu SSD não esteja mais na garantia, ainda assim eu recomendo que você entre em contato com a assistência da fabricante para verificar se eles recomendam alguma solução oficial.\nSe você já deu seu SSD como perdido, não tem nada a perder e se sente a fim de tentar uma solução extraoficial, você pode fazer uma pesquisa no Google e tentar uma das soluções sugeridas por outras pessoas que se depararam com o mesmo problema. Note que eu não testei nenhuma dessas soluções, portanto não me arrisco a indicar uma em específico. Vi que todas sugerem a execução de algum programa no Windows. Alguns desses programas não são nem específicos para o SSD da Kingston. Eu tentaria uma solução dessas só realmente em último caso. Se você possui mais de um HD ou SSD instalado no mesmo computador, tome cuidado para não selecionar o dispositivo errado na hora de executar o procedimento, o que pode levar a perda irreversível de dados. Como precaução, remova do computador qualquer dispositivo que não for necessário à realização do procedimento.\nReferências Eu soube dos comandos para Linux mostrados acima nessas páginas:\nLinux: Find out serial / model number and vendor information for SATA and IDE hard disk - nixCraft How to see disk details like manufacturer in Linux - Unix \u0026amp; Linux Stack Exchange ","date":"2020-07-24T02:00:00Z","permalink":"/pt-br/artigo/como-resolver-o-problema-do-satafirm-s11-do-ssd-kingston-a400-e-outros-modelos/","title":"Como resolver o problema do SATAFIRM S11 do SSD Kingston A400 (e outros modelos)"},{"content":" No post anterior, apresentei o roteador e ponto de acesso sem fio doméstico MikroTik hAP ac lite TC. Hoje, vamos falar sobre um de seus vários recursos: o modo de segurança.\nEnquanto manuseia o MikroTik, pode ocorrer de você alterar alguma configuração e fazer com que ele se torne inacessível. Geralmente, isso ocorre por acidente, mas não há como desfazer a última alteração depois que o acesso é perdido. Por exemplo, você está alterando as configurações do firewall e insere uma nova regra que acaba por impedir seu acesso.\nO MikroTik traz um recurso chamado modo de segurança (safe mode) que pode ser usado para prevenir situações assim. Com o modo de segurança ativado, se o roteador percebe que o acesso ao computador foi perdido, ele automaticamente descarta as alterações feitas após a ativação do modo de segurança e se reinicia.\nO modo de segurança pode ser ativado e desativado pelo botão Safe Mode que fica na barra superior do WinBox:\nQuando o modo de segurança está desativado, o botão tem a aparência normal de um botão, como na figura acima.\nAntes de fazer uma configuração que você desconfia que pode fazer você perder o acesso, ative o modo de segurança clicando no botão Safe Mode.\nQuando o modo de segurança está ativado, o botão aparece pressionado (escuro, fundo):\nApós fazer as configurações que você precisa fazer, se tudo estiver funcionando, lembre-se de desativar o modo de segurança. Para isso, clique de novo no botão Safe Mode, que volta à aparência normal de um botão, indicando que o modo de segurança foi desativado.\nTestando o modo de segurança Para ver na prática como o modo de segurança funciona, vamos ativá-lo e inserir uma regra no firewall do MikroTik para nos bloquear, o que deve fazer com que o roteador se reinicie.\nVerifique qual é o seu endereço IP. No Linux, isso pode ser feito com o comando:\n$ ip -c a No meu caso, o MikroTik forneceu ao meu computador via DHCP o endereço 10.0.0.254.\nAbra uma janela do terminal e deixe um ping rodando para o MikroTik:\n$ ping 10.0.0.1 PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data. 64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=2.21 ms 64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=2.36 ms 64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=2.25 ms 64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=2.77 ms Abra o WinBox e ative o modo de segurança como explicado acima.\nAgora é seguro ajustar as configurações do MikroTik.\nNo menu à esquerda, abra o submenu IP e clique em Firewall:\nNa janela Firewall, que se abre no WinBox, na aba Filter Rules (regras do filtro), clique no botão Add (adicionar):\nNa caixa de diálogo New Firewall Rule (nova regra de firewall), na aba General (geral), no campo Chain selecione input (entrada) e em Src. Address (endereço de origem), informe o endereço IP do seu computador (no meu caso, 10.0.0.254):\nMude para a aba Action (ação). No campo Action, selecione reject (rejeitar) e clique em OK:\nA regra é adicionada ao final da lista. Mova-a para o início da lista:\nFeito isso, o firewall do MikroTik começa a bloquear a comunicação com seu computador, fazendo com que o roteador fique inacessível.\nPelo comando ping, é possível ver a perda de acesso:\n64 bytes from 10.0.0.1: icmp_seq=250 ttl=64 time=19.1 ms 64 bytes from 10.0.0.1: icmp_seq=251 ttl=64 time=6.87 ms From 10.0.0.1 icmp_seq=252 Destination Net Unreachable From 10.0.0.1 icmp_seq=253 Destination Net Unreachable From 10.0.0.1 icmp_seq=254 Destination Net Unreachable From 10.0.0.1 icmp_seq=255 Destination Net Unreachable O WinBox também fechará sua janela e voltará para a tela de login:\nMas nesse caso, como o modo de segurança estava ativado, basta você esperar alguns segundos enquanto o MikroTik se reinicia e logo poderá acessá-lo novamente. Observando o comando ping é possível saber quando o MikroTik voltou:\nFrom 10.0.0.1 icmp_seq=280 Destination Net Unreachable From 10.0.0.1 icmp_seq=281 Destination Net Unreachable 64 bytes from 10.0.0.1: icmp_seq=282 ttl=64 time=9.52 ms 64 bytes from 10.0.0.1: icmp_seq=283 ttl=64 time=16.2 ms Tome cuidado para não fechar a janela do WinBox com o modo de segurança ativado. Nesse caso, o MikroTik perguntará se deseja sair aplicando as alterações:\n","date":"2020-07-21T09:00:00Z","permalink":"/pt-br/artigo/mikrotik-modo-de-seguran%C3%A7a-safe-mode/","title":"MikroTik: modo de segurança (Safe Mode)"},{"content":"{% capture revisao_links_quebrados %}\nO site passou por uma revisão de links quebrados. Alguns links nessa publicação podem ter sido removidos ou atualizados.\n{% endcapture %}\n{% include update.html date=\u0026ldquo;02/08/2023\u0026rdquo; message=revisao_links_quebrados %}\nEntre 2016 e 2017 trabalhei como analista de redes e tive a oportunidade de conhecer os equipamentos da MikroTik, uma fabricante de dispositivos de redes, tais como switches, antenas, roteadores, etc. Provavelmente a MikroTik é mais conhecida pela sua linha de roteadores RouterBOARD. Mas eu fiquei empolgado quando descobri que eles tinham também uma linha doméstica e logo comprei um roteador MikroTik pra mim.\nComo me mudei recentemente, decidi aproveitar a oportunidade para reconfigurá-lo e escrever alguns tutoriais mostrando suas funcionalidades.\nO MikroTik hAP ac lite TC é um roteador e ponto de acesso sem fio (access point) doméstico. Ele fornece 5 portas Ethernet de 10/100Mbps, rede sem fio Wi-Fi 802.11 a/b/g/n/ac em duas frequências (dual band) de 2,4GHz e 5GHz ao mesmo tempo e ainda tem uma porta USB que pode ser usada para conectar um modem 3G/4G. Ele pode ser ligado por PoE (Power over Ethernet) na porta 1, assim como fornece uma porta PoE, a porta 5, que pode ser usada para ligar um dispositivo PoE, como uma câmera IP.\nO padrão de Wi-Fi 802.11ac visa ao desempenho. Além de maior velocidade, a frequência maior de 5GHz também garante que haja menos interferência, seja pela menor quantidade de aparelhos que a utilizam (hoje, por exemplo, telefones sem fio, microondas e dispositivos Bluetooth competem com a Wi-Fi pela frequência de 2,4GHz), seja pelo menor alcance das redes a 5GHz (o comprimento da onda reduz quando aumenta a frequência, na prática isso quer dizer que se a sua Wi-Fi e a do vizinho transmitem a 5GHz, é mais difícil que elas invadam a casa um do outro).\nO MikroTik já vem configurado de fábrica, de modo que você pode simplesmente conectar os cabos e já começar a usar a rede Wi-Fi. Claro, é recomendado pelo menos definir uma senha para a rede Wi-Fi e uma senha para o gerenciamento do próprio MikroTik.\nEsse é o roteador perfeito para o nerd que quer configurar e monitorar cada pequeno detalhe da sua rede doméstica!\nPara os tutoriais, vou usar o Linux Kamarada 15.1, mas note que é possível configurar o MikroTik usando Windows ou outros sistemas operacionais, até mesmo um tablet ou smartphone, porque ele tem uma interface web e pode ser configurado pelo navegador.\nLigando o MikroTik pela primeira vez São poucas as conexões do MikroTik: usando um cabo de rede Ethernet, conecte a porta 1 do MikroTik ao modem da operadora. Também conecte a fonte de alimentação ao MikroTik e a uma fonte de energia (como uma tomada na parede, um filtro de linha ou um nobreak).\nNote que o MikroTik não tem botão de liga/desliga. Então, ao plugar a fonte de alimentação, ele já liga. Se um dia você precisar desligá-lo, basta desconectar a fonte de alimentação.\nConfigurações básicas Após alguns segundos ligando, o MikroTik já fornece uma rede Wi-Fi.\nAbra as configurações de Wi-Fi do sistema e conecte-o à rede do MikroTik (note que ela vem aberta de fábrica, sem senha):\nNo meu caso, ele fornece duas redes: MikroTik-86349A (2,4GHz) e MikroTik-86349B (5GHz).\nUma vez conectado à rede Wi-Fi, note que você já consegue até mesmo acessar a Internet. Pela configuração de fábrica, o MikroTik fornece ao seu computador um endereço IP na rede 192.168.88.0/24 e o endereço IP padrão do próprio MikroTik é 192.168.88.1.\nMas não queremos deixar a rede aberta assim. Vamos ajustar algumas configurações básicas do MikroTik. Para isso, vamos usar sua interface web.\nAbra o navegador e acesse 192.168.88.1.\nNo primeiro acesso, a tela Quick Set (configuração rápida) já vem selecionada:\nO mais importante nessa tela é a seção Wireless (rede sem fio). Forneça um nome para as redes (Network Name) e também uma senha (WiFi Password). A senha deve conter pelo menos 8 caracteres.\nCaso deseje mudar os endereços da rede local, ajuste os campos na seção Local Network:\nIP Address: esse será o endereço do próprio MikroTik (defini como 10.0.0.1) DHCP Server Range: a faixa de endereços IP que o MikroTik deve fornecer via DHCP. Como eu gosto de cadastrar meus dispositivos manualmente e ter maior controle sobre os endereços deles, deixei apenas os últimos endereços para atribuir a dispositivos desconhecidos (10.0.0.200-10.0.0.254) Por convenção, as faixas de endereços IP disponíveis para uso em redes privadas são:\nRede privada Faixa de endereços IP Número de IPs 10.0.0.0/8 10.0.0.0 a 10.255.255.255 16.777.216 172.16.0.0/12 172.16.0.0 a 172.31.255.255 1.048.576 192.168.0.0/16 192.168.0.0 a 192.168.255.255 65.536 169.254.0.0/16 169.254.0.0 a 169.254.255.255 65.536 No meu caso, decidi usar a rede 10.0.0.0/24 simplesmente para economizar digitação (são os endereços mais curtos e, portanto, mais fáceis de digitar).\nNa seção System, defina uma senha para acessar a configuração do MikroTik (Password) e digite essa senha mais uma vez para confirmar que digitou certo (Confirm Password).\nPor fim, clique no botão Apply Configuration (aplicar configuração).\nFeito isso, você já é desconectado da rede padrão e a nova rede passa a estar disponível.\nAgora sim você já pode se conectar à nova rede e usá-la com um mínimo de segurança.\nAcessando o MikroTik pela interface web Já é possível acessar o MikroTik pelo seu novo endereço (10.0.0.1).\nAbra o navegador e acesse 10.0.0.1. Perceba que agora a interface web exige senha:\nDigite a senha que você definiu para a configuração do MikroTik e clique em Login.\nDentro da interface web, selecione WebFig para ter acesso à interface mais completa:\nDownload do programa WinBox Por meio da interface web do MikroTik, é possível acessar praticamente todas as suas configurações. Mas o mais comum é manusear o MikroTik por meio do programa WinBox. Esse sim disponibiliza todas as configurações do MikroTik, além de mais alguns recursos interessantes, como o modo de segurança, que veremos em outro tutorial.\nO WinBox é um programa para Windows, mas pode ser executado no Linux por meio do Wine. No Linux Kamarada, o Wine já vem instalado por padrão. Se você usa outra distribuição Linux, consulte a documentação dela para saber como instalar o Wine.\nPara baixar o WinBox, na interface web do MikroTik, no menu à esquerda, clique em WinBox (é uma das últimas opções):\nCom isso, seu navegador baixará o executável winbox.exe.\nSalve-o em um local fácil de lembrar (por exemplo, Documentos ou Área de Trabalho).\nNo meu caso, vou criar uma pasta programas dentro da minha pasta pessoal (/home/vinicius/programas) e vou salvar o winbox.exe nela.\nIniciando o WinBox Para abrir o WinBox, tanto no Linux Kamarada quanto no Windows, é só dar duplo clique no winbox.exe:\nNo Linux Kamarada, para facilitar iniciar o WinBox pelo menu Atividades, vamos criar um arquivo .desktop para o WinBox.\nSalve a imagem a seguir na mesma pasta onde está o winbox.exe:\nAbra o aplicativo Editor de texto (gedit), copie e cole o seguinte conteúdo:\n[Desktop Entry] Name=WinBox Exec=wine /home/vinicius/programas/winbox.exe Icon=/home/vinicius/programas/winbox.svg Type=Application (substitua /home/vinicius/programas pela pasta onde estão os arquivos)\nSalve esse arquivo em ~/.local/share/applications com o nome de winbox.desktop.\nCom isso, você já deve ser capaz de abrir o menu Atividades e iniciar o WinBox por ele:\nAcessando o MikroTik pelo WinBox Ao ser iniciado, o WinBox busca dispositivos MikroTik no mesmo domínio de broadcast da camada 2 (enlace) e os lista na aba Neighbors (vizinhos):\nSe seu dispositivo MikroTik aparece nessa lista, dê um duplo clique nele.\nSe seu MikroTik não aparece, você pode tentar clicar no botão Refresh (atualizar).\nA depender da configuração do firewall do seu computador, pode ser que o WinBox não consiga encontrar o MikroTik.\nMas essa detecção automática é apenas uma conveniência, não é de fato necessária para que você acesse seu MikroTik. Em último caso, digite no campo Connect To (conectar a) o endereço MAC ou o endereço IP do seu MikroTik.\nDigite a senha (Password) que você definiu para a configuração do MikroTik, opcionalmente marque a opção para lembrar essa senha (Keep Password) e clique em Connect (conectar).\nInterfaces de rede Note como o WinBox é bem semelhante à interface web:\nA janela mostrada na imagem acima é a lista de interfaces de rede do MikroTik. Para abri-la, clique no item Interfaces no menu à esquerda.\nNa lista de interfaces, é possível ver o tráfego transmitido (Tx) e recebido (Rx) em cada interface.\nVerificando a conexão com a Internet Na interface do WinBox, geralmente essas listas fornecem mais informações e opções quando você dá duplo clique em um item.\nComo exemplo, vejamos como o MikroTik pode nos mostrar informações sobre a velocidade da nossa conexão com a Internet.\nDê um duplo clique na interface ether1 (a interface onde está conectado o modem da operadora) e, na janela que aparece, mude para a aba Traffic:\nPara gerar tráfego de rede, abra um vídeo no YouTube ou Netflix, ou use serviços de teste de velocidade como o Minha Conexão ou o Speedtest. Observe no gráfico o tráfego aumentando.\nUma vez, eu já usei uma captura dessa tela para reclamar de conexão lenta à operadora:\nDispositivos conectados à rede Wi-Fi O MikroTik mostra informações detalhadas sobre os dispositivos conectados às redes Wi-Fi. Para vê-las, no menu à esquerda, clique em Wireless (sem fio), depois selecione a aba Registration (registro):\nSe você não consegue identificar um dispositivo, o site MAC Vendors pode ajudar:\nO endereço MAC de cada dispositivo é único, gravado em seu hardware e atribuído pelo fabricante da interface de rede. É formado por um conjunto de 6 bytes. Na representação legível para nós, seres humanos, cada byte é representado por dois algarismos em hexadecimal e separado dos demais por dois pontos (:). Os três primeiros bytes identificam o fabricante e os três últimos, o dispositivo em si.\nNo exemplo da imagem acima, o site MAC Vendors mostra que o endereço MAC A0:56:F3:94:7C:52 pertence a um dispositivo fabricado pela Apple (identificada pelos três primeiros bytes A0:56:F3). Já sei que é o meu iPhone.\nContinua\u0026hellip; Com o que fizemos até aqui, o MikroTik não faz muito mais coisas que qualquer outro roteador comum. Mas você já pode perceber o poder dele reparando na quantidade de opções presentes nas interfaces de configuração (web e WinBox).\nNos próximos dias, compartilharei outros tutoriais que mostram outras funcionalidades desse pequeno mas ousado roteador.\n","date":"2020-07-20T00:30:00Z","permalink":"/pt-br/artigo/primeiros-passos-com-o-mikrotik-hap-ac-roteador-profissional-para-a-rede-de-casa/","title":"Primeiros passos com o MikroTik hAP ac: roteador profissional para a rede de casa"},{"content":"{% capture revisao_links_quebrados %}\nO site passou por uma revisão de links quebrados. Alguns links nessa publicação podem ter sido removidos ou atualizados.\n{% endcapture %}\n{% include update.html date=\u0026ldquo;02/08/2023\u0026rdquo; message=revisao_links_quebrados %}\nEu fico indignado com páginas que demoram pra carregar devido ao tamanho das imagens. Não o tamanho que elas aparentam ter na página, mas o tamanho que elas realmente tem: muitas vezes na página a imagem ocupa um espaço pequeno, mas como é inserida grande do jeito que veio da câmera ou do profissional que fez a arte digital, acaba sendo um arquivo pesado que soma no tempo de carregamento da página.\nAlém de ficar mais tempo que o necessário esperando pelo carregamento da página, o visitante pode ter sua franquia de dados desperdiçada. Imagine você visitando uma página usando o celular consumir 1MB da sua franquia de dados apenas com uma imagem miudinha numa página!\nOutra situação: já recebeu um e-mail que é um informativo ou propaganda e não tem texto, todo o corpo do e-mail é apenas uma imagem? Se essa imagem é desnecessariamente grande, pode lotar sua caixa de entrada e impedir que você receba novos e-mails.\nPor isso, seja você um blogueiro, um fotógrafo, um profissional de TI ou da comunicação ou qualquer outro tipo de pessoa que publica imagens em sites ou envia imagens por e-mail, eu venho aqui hoje te dar dicas de como tratar imagens para publicação na Internet.\nUm (mau) exemplo Essa semana eu estava vendo a programação do festival Florianópolis Audiovisual Mercosul (FAM), quando percebi que as páginas do site demoravam pra carregar. Ele era tão pesado que o navegador chegava a travar, era difícil até rolar a página pra cima ou pra baixo.\nEntão me dei conta que o motivo da lentidão eram as imagens, que demoravam pra carregar:\nEis que decidi abrir uma imagem em uma nova guia, de curiosidade:\nOlha o tamanho da imagem original:\nIsso mesmo, pasme: 5616 x 3744 pixels!\nUma tela de 4K não seria suficiente pra exibir essa imagem com toda a sua qualidade.\nQuem sabe eu poderia baixar essa imagem, mandar fazer um outdoor e colocar na rua.\nNa página, a imagem aparece com o tamanho de 253 x 168 pixels. Ela é reduzida 22 vezes! Então, pra quê usar o arquivo original? Por que não reduzir a imagem para um tamanho mais apropriado?\nAgora o tamanho em bytes: são 868,9 kB em uma única imagem!\nSabe o Prezão da Claro com franquia diária de 100 MB? Aquele que a Anitta faz propaganda?\nNesse ritmo, não daria pra ver a sinopse dos 121 filmes da programação em um dia só\u0026hellip;\nAliás, a página inicial do site levou 2 minutos pra carregar no meu notebook, em uma conexão com largura de banda de 35 Mb/s! Ao todo, foram 18,8 MB transferidos:\nSó pra \u0026ldquo;pisar o pé\u0026rdquo; nesse site, você já queimaria 20% da franquia do seu prezão\u0026hellip;\nBom, a bronca foi dada. Por favor, não façam isso. Agora vamos às boas práticas.\nUse um programa apropriado Vários programas de edição de imagens podem ser usados para tratar imagens antes de publicá-las no seu site. Dois exemplos mais profissionais são o famigerado Photoshop (pago) e o GIMP (gratuito, software livre).\nEu, particularmente, gosto de usar o IrfanView: gratuito (freeware), leve, simples, fácil de usar, apresenta várias funcionalidades e deve ser mais que suficiente para a maioria das pessoas. Funciona no Windows e também no Linux (usando Wine).\nJá falei sobre ele aqui, em outro post, que você pode ler depois:\nDicas para bater bons prints Para baixar o IrfanView, clique nos links a seguir:\nInstalador do IrfanView Instalador dos plugins do IrfanView Instalador da tradução do IrfanView Para referência futura, aqui uso a versão 4.53 de 64 bits, a mais atual no momento da escrita.\nCaso você precise da versão de 32 bits (para computadores mais antigos) ou caso os links quebrem (o que pode acontecer no futuro), baixe o IrfanView do seu site oficial:\nhttps://www.irfanview.com/\nRedimensionando as imagens A resolução do meu notebook é 1366 x 768 pixels, a segunda resolução de tela mais comum no mundo hoje em dia, segundo o serviço StatCounter.\nA menos que você tenha um bom motivo (por exemplo, você está compartilhando um papel de parede), não é razoável inserir qualquer imagem maior que isso em uma página da web.\nA resolução de tela mais comum é 360 x 640 (smartphone na orientação vertical). Mais um motivo para que as imagens não sejam desnecessariamente grandes.\nAbra com o IrfanView a imagem que deseja tratar. Como exemplo, vou usar aquela imagem grande.\nPara redimensioná-la, abra o menu Imagem (Image) e clique na opção Redimensionar/Reamostrar (Resize/Resample), ou, se preferir, tecle Ctrl + F:\nPara não distorcer a imagem ao redimensionar, certifique-se de que a opção Manter proporções (Preserve aspect ratio) esteja marcada:\nSelecione a opção Definir novo tamanho (Set new size) e informe, usando os campos Largura (Width) ou Altura (Height) as dimensões desejadas. Note que, ao mudar uma dimensão, o IrfanView automaticamente calcula a outra para que não haja distorção.\nComo na página ela aparece com o tamanho de 253 x 168 pixels, eu poderia informar esse tamanho aqui. Mas vou informar um tamanho um pouco maior, pro caso de o visitante querer abrir a imagem em uma nova aba e vê-la maior: 640 x 427 pixels.\nQuando terminar, clique em OK.\nSalvando com compressão Já falamos do tamanho em pixels, que reduzimos redimensionando a imagem, agora vamos falar do tamanho em bytes, que reduzimos usando compressão.\nOs formatos de imagem mais apropriados pra web e que suportam compressão são:\nJPEG ou JPG: comumente usado com fotos; GIF: geralmente usado com imagens pequenas que não precisam de grande qualidade (como emoticons), suporta animação e transparência; e PNG: um meio termo, que suporta transparência, como o GIF, mas pode atingir maior qualidade, como o JPEG. O melhor formato vai variar de caso a caso. Eu costumo testar os formatos e selecionar o que gera a imagem com menor tamanho. Pros tipos de imagem que eu costumo tratar (capturas de tela, fotos, artes), normalmente eu acabo usando o JPEG, às vezes o PNG.\nObserve que a compressão tem um preço: para reduzir o tamanho do arquivo, a qualidade da imagem é reduzida. Seu objetivo é tentar achar o melhor custo-benefício entre arquivo pequeno e boa qualidade.\nPara salvar a imagem em um formato apropriado pra web usando compressão, abra o menu Arquivo (File) e clique na opção Salvar para Web (Save for Web):\nInfelizmente, essa tela não tem tradução. A imagem original (Initial image) é exibida à esquerda e a imagem otimizada (Optimized image), à direita. Também aparecem nessa tela o tamanho da imagem original e o tamanho estimado da imagem otimizada:\nComece selecionando um formato, abaixo das imagens: JPEG, GIF ou PNG.\nPara essa imagem, por se tratar de uma foto, selecionei o formato JPEG.\nDepois, ajuste a qualidade (Quality). Note que à medida em que você desliza o controle pra esquerda (reduzindo a porcentagem), o tamanho estimado em bytes reduz, mas também reduz a qualidade da imagem otimizada, que vai ficando embaçada ou pixelizada.\nGeralmente, eu uso uma qualidade igual ou maior que 70%. Menos que isso, a imagem fica muito ruim pra valer a pena a compressão. Nesse exemplo, optei por usar 80%.\nJá reduzi bastante o tamanho do arquivo: de 848,57 KiB para 22,96 KiB é um salto!\nQuando estiver satisfeito com o balanço entre qualidade da imagem e tamanho do arquivo em bytes, clique em salvar (Save). Escolha uma pasta e nome pro arquivo e pronto!\nResultado final Veja como ficou a imagem tratada:\nNa verdade, ela é maior que isso: aqui estou exibindo a imagem tratada no mesmo tamanho em que ela é exibida na página original (253 x 168 pixels), mas você pode abrir a imagem tratada em uma nova guia e ver seu tamanho real (640 x 427 pixels).\nSe você comparar com a página original, não perceberá diferença:\nhttp://www.famdetodos.com.br/programacao/26\nMinto: perceberá que minha página carregou mais rápido! hehehe\nE se você abrir a imagem tratada em uma nova guia, ainda conseguirá vê-la em um tamanho maior. Não tão maior a ponto de travar seu navegador, demorar uma eternidade pra carregar ou acabar com sua franquia, mas suficientemente maior.\nCuriosidade: todas as 10 imagens que compõem esse tutorial somadas dão 824,7 kB — menos que a imagem original de 868,9 kB! É mais informação com a franquia do prezão!\nSe você é grato por eu ter poupado a franquia do seu prezão nesse tutorial, considere compartilhá-lo para que mais pessoas tratem imagens antes de publicá-las e sua franquia possa ser usada para visitar mais sites.\n","date":"2019-09-27T22:00:00Z","permalink":"/pt-br/artigo/bom-senso-na-web-tratando-imagens-para-publica%C3%A7%C3%A3o-em-sites/","title":"Bom senso na web: tratando imagens para publicação em sites"},{"content":" O Google AdSense é o serviço de anúncios do Google. Com ele, se você tem um site ou blog, pode exibir anúncios do Google e receber dinheiro conforme os anúncios são visualizados e clicados (você pode ver anúncios do AdSense aqui no meu blog).\nO único problema é que o Google está nos Estados Unidos e paga em dólar. Para pagar os anunciantes no Brasil, ele faz uma transferência internacional.\nPor bancos tradicionais (como o Banco do Brasil, por exemplo), essas transferências costumam ser caras: eles usam uma taxa de câmbio maior que o dólar comercial (com uma diferença, chamada de spread, que é o lucro do banco), cobram taxa SWIFT, taxa de TED e ainda IOF (Imposto sobre Operações Financeiras).\nPara não ter a monetização do meu blog prejudicada, eu recorri ao serviço Remessa Online.\nA Remessa Online é uma plataforma brasileira online de transferências internacionais. Ela permite a realização dessas transferências de forma mais fácil e barata que um banco tradicional. Isso é possível porque ela é operada pela BeeTech, startup e fintech brasileira especializada em serviços de câmbio.\nAlém de pagamentos do Google AdSense, você pode usá-la para enviar ou receber dinheiro do exterior, se trabalha como freelancer ou investe no exterior, por exemplo.\nVocê pode confiar na Remessa Online: ela atende mais de 63.500 usuários e é credenciada pelo Banco Central do Brasil para intermediar transferências internacionais. Você pode conferir avaliações da Remessa Online em diversos sites, como Reclame Aqui, Google e Facebook. Você também pode simular valores antes de transferir na página inicial:\nO custo (spread) da Remessa Online é menor que o dos bancos, o IOF é o mesmo e no recebimento do exterior não são cobradas quaisquer outras taxas. Na simulação, clique em Veja as Taxas para mais informações.\nPra ficar ainda melhor, vou te dar um cupom de desconto no spread. Leia até o final!\nVisão geral O processo todo pode parecer trabalhoso à primeira vista, mas você verá que na verdade não é. São necessárias apenas configurações iniciais, tanto do AdSense quanto da Remessa Online, e as interfaces de ambos são bastante intuitivas.\nDo cadastro até a entrada do pagamento na conta corrente, faremos:\nSe cadastrar na Remessa Online; Criar uma história; Adicionar a forma de pagamento ao AdSense; Receber um pagamento do AdSense na Remessa Online; e Resgatar o pagamento da Remessa Online para o seu banco. Depois do primeiro pagamento, você só precisará repetir os passos 4 e 5.\n1) Se cadastre na Remessa Online Acesse o site da Remessa Online clicando aqui.\nDepois, clique em Acessar/Cadastrar, no canto superior direito da página.\nPreencha o formulário com seus dados (nome completo, CPF, e-mail, senha), leia e aceite os termos de uso e clique em Cadastrar:\nA Remessa Online vai te pedir que envie seus documentos digitalizados: um documento de identificação com foto (RG ou CNH) frente e verso e um comprovante de residência. Não vou entrar em detalhes sobre o cadastro, porque ele é autoexplicativo. Siga as instruções na tela e você terminará na área cadastrada, chamada de painel (dashboard).\n2) Crie uma história Uma vez que criou e acessou sua conta, você deve criar uma história.\nHistória é como a Remessa Online chama um tipo de transferência. Não se trata de escrever uma redação, mas de informar de forma objetiva à Remessa Online de onde o dinheiro vem e para onde ele vai. Para receber um pagamento do AdSense e transferi-lo para sua conta bancária no Brasil, você cria uma história. No futuro, para receber um segundo pagamento do AdSense, você usa a história já existente, não precisa criar uma nova. Caso precise receber uma transferência de outra empresa, aí sim você cria outra história. Essa é a ideia.\nEm seu painel na Remessa Online, em Histórias, clique em Novo recebimento:\nA Remessa Online explica o passo-a-passo do cadastro da história. Clique em Continuar:\nNa primeira tela, preencha os campos com os dados da sua conta bancária:\nInteressante que a Remessa Online já aceita os novíssimos Banco Inter (código 077) e Nubank (Nu Pagamentos, código 260).\nA conta deve ser sua (em seu nome), não no nome de um parente, amigo ou conhecido.\nQuando terminar de preencher os campos, clique em Continuar.\nNa segunda tela, a Remessa Online questiona sobre quem vai enviar o dinheiro.\nSelecione Uma empresa:\nEm seguida, selecione Google AdSense:\nA Remessa Online explica os limites e prazos das operações:\nLeia-os, marque a opção Concordo com os termos e condições e clique em Continuar.\nSelecione a moeda Dólar Americano, dê um nome para a história (eu dei o nome de Google AdSense) e clique em Continuar:\nNa última tela, com a história criada, a Remessa Online informa os dados que você deve passar para o AdSense para receber seu pagamento:\nLembrando que não é necessário criar novas histórias para os próximos pagamentos: essa história será usada para o primeiro pagamento e todos os seguintes.\n3) Adicione a forma de pagamento ao AdSense Se você já atingiu o limite mínimo para pagamento no AdSense (100 dólares), já pode cadastrar uma forma de pagamento e receber seu primeiro pagamento. Para mais informações, consulte o guia de pagamentos do Google AdSense.\nFaça login na sua conta do AdSense e clique em Pagamentos, à esquerda. Em seguida, clique em Gerenciar formas de pagamento, à direita. Por fim, clique em Adicionar forma de pagamento. Você terminará nesta tela:\nPreencha o campo ID do beneficiário com seu CPF e os demais campos com os dados fornecidos pela Remessa Online. Quando terminar, clique em Salvar.\nAgora é só aguardar o primeiro pagamento do AdSense.\nNão é necessário enviar essas informações novamente para os próximos pagamentos.\n4) Receba um pagamento do AdSense Seus ganhos mensais do AdSense são acumulados até que atinjam o limite mínimo de pagamento (100 dólares). Quando eles passarem desse limite mínimo, você receberá um pagamento no final do mês seguinte, geralmente entre os dias 21 e 26. Para mais informações, consulte o guia de pagamentos do Google AdSense.\nQuando o AdSense te pagar, ele vai te enviar um e-mail:\nQuando receber esse e-mail, faça login na sua conta do AdSense e clique em Pagamentos, à esquerda. Em seguida, clique em Transações, à direita.\nClique no link referente ao pagamento para abrir o recibo (invoice):\nUse o comando Imprimir do navegador para gerar um PDF do recibo:\nAcesse sua conta da Remessa Online e clique na história do AdSense:\nEm seguida, clique em Enviar comprovante:\nPreencha o Valor transferido pelo remetente com o valor informado no recibo do AdSense, anexe o recibo e clique em Enviar comprovante:\nPerceba que sua solicitação agora está Em análise:\nAguarde a Remessa Online confirmar o crédito na conta dela. Pode demorar até 3 dias úteis.\n5) Resgate para sua conta bancária Quando a Remessa Online reconhecer seu pagamento na conta dela, te enviará um e-mail:\nAcesse sua conta da Remessa Online e clique na história do AdSense.\nPerceba que há um Saldo disponível para resgate. Clique em Resgatar saldo.\nDica: a seguir, para ter um desconto no custo (spread) do câmbio feito pela Remessa Online, utilize o meu cupom de desconto informando AV0342 no campo Cupom de desconto!\nSelecione a remessa que quer resgatar à esquerda, verifique o valor e prazo para o resgate à direita (2 dias úteis), informe o Cupom de desconto (AV0342), clique em Validar cupom e, por fim, clique em Resgatar agora:\nVocê verá uma tela parecida com esta mostrando o resumo do resgate:\nAgora é só aguardar o valor do resgate entrar na sua conta bancária até o prazo estimado. Confira seu extrato bancário!\nNo futuro, para novos pagamentos do AdSense, você só precisa repetir os passos 4 e 5.\nReferências AdSense como receber sem pagar altas taxas - Viver de Dividendos A melhor forma para receber pagamentos do Google AdSense: Remessa Online - Fabio Lobo Introdução aos pagamentos do Google AdSense - Ajuda do AdSense ","date":"2018-12-05T23:10:00Z","permalink":"/pt-br/artigo/google-adsense-e-remessa-online-receba-pagamentos-de-forma-barata/","title":"Google Adsense e Remessa Online: receba pagamentos de forma barata"},{"content":"{% capture revisao_links_quebrados %}\nO site passou por uma revisão de links quebrados. Alguns links nessa publicação podem ter sido removidos ou atualizados.\n{% endcapture %}\n{% include update.html date=\u0026ldquo;02/08/2023\u0026rdquo; message=revisao_links_quebrados %}\nDo sábado para o domingo muita gente viu os relógios do computador e do celular se adiantarem em 1 hora sozinhos, com o suposto início do horário de verão. Ocorre que desde o ano passado já é a terceira vez que o governo brasileiro altera a data de início do horário de verão em 2018. Quem estava com seus dispositivos devidamente configurados e atualizados não teve problemas. Nesse post você vai entender o que aconteceu e como se prevenir.\nAqui vou tratar de Windows e iOS (iPhone, iPad e iPod touch).\nPara Linux e Android, consulte os excelentes tutoriais do blog Linux Kamarada:\nAcordou com a hora do computador errada? Entenda o que aconteceu Mantenha a hora do Android sempre certa Observação: se você utiliza Windows e Linux em dual boot, consulte o tutorial acima para Linux para ver como configurar os dois.\nO que aconteceu esse final de semana O horário de verão é a prática de adiantar os relógios em 1 hora durante o verão. Quando foi criado, a ideia era aproveitar a maior duração do dia no verão e economizar energia.\nNo entanto, com o passar dos anos, a mudança na rotina dos brasileiros e o aquecimento do planeta fizeram com que a economia com o horário de verão se tornasse cada vez menor: as pessoas mudaram seus horários de trabalho e passaram a chegar em casa já à noite, além disso o uso de equipamentos que mais consomem energia como ares-condicionados e ventiladores se intensificou justamente durante o dia.\nHá proposta do Senado para extinguir o horário de verão e o governo a estuda. Quem é contra o horário de verão, também alega que o horário de verão pode implicar problemas de saúde. Quem é a favor, alega que o horário de verão incentiva o comércio, o turismo e a prática de esportes nas cidades.\nPor ora, o governo decidiu reduzir a duração do horário de verão.\nEm dezembro de 2017, o presidente Michel Temer assinou o Decreto nº 9.242 que alterou o início do horário de verão do terceiro domingo de outubro (21/10/2018) para o primeiro domingo de novembro (04/11/2018), um fim de semana após o segundo turno das eleições, que está marcado para 28/10/2018.\nEssa alteração foi feita a pedido do Tribunal Superior Eleitoral (TSE). O horário de verão em ano de eleição dificulta a apuração dos votos. Em 2014, por exemplo, a Justiça Eleitoral teve que adiar a divulgação do resultado para esperar a votação acabar no Acre.\nO final do horário de verão foi mantido no terceiro domingo de fevereiro (17/02/2019).\nAcontece que o Ministério da Educação (MEC) pediu que o início do horário de verão fosse adiado para 18 de novembro, a fim de evitar prejuízos aos estudantes que farão o Exame Nacional do Ensino Médio (Enem), cuja primeira prova está marcada para 04 de novembro. A necessidade de adiantar os relógios em uma 1 poderia confundir os candidatos.\nO governo chegou a preparar o decreto e anunciar que faria essa nova alteração, porém depois não a oficializou por meio do Diário Oficial da União (DOU), decidindo finalmente por manter o horário de verão iniciando no dia 04 de novembro.\nA razão para essa última decisão foi um protesto da Associação Brasileira das Empresas Aéreas (Abear), que alertou que a mudança poderia levar passageiros que compraram passagens com antecedência a perderem seus voos. Cerca de 42 mil voos poderiam ser afetados e pelo menos 3 milhões de passageiros poderiam ser prejudicados.\nPortanto, desde o ano passado, o início do horário de verão no Brasil em 2018 já teve 3 mudanças: passou de 21/10 para 04/11, depois para 18/11, e por fim foi mantido em 04/11.\nComo saber a hora certa Você pode verificar se a data e a hora do seu computador ou celular estão corretas acessando o site do projeto NTP.br, que mantém servidores de hora que os computadores podem consultar para sincronizar seus relógios:\nAgora que você já está a par do que aconteceu e conferiu a hora do seu computador e celular, vamos ver como configurá-los.\nWindows em casa Para configurar a data e hora do seu computador Windows em casa, clique no menu Iniciar, depois em Configurações:\nNa tela Configurações do Windows, clique em Hora e Idioma:\nEm Fuso horário, selecione (UTC-03:00) Brasília:\nSe você mora na região Sul, Sudeste ou Centro-Oeste, regiões que adotam o horário de verão, ative a opção Ajustar automaticamente para o horário de verão. Se você mora no Nordeste ou no Norte, desative essa opção.\nDepois, clique em Configurações adicionais de data, hora e região à direita.\nNa janela que aparece, clique em Data e Hora:\nNa caixa de diálogo Data e Hora, selecione a aba Horário na Internet e clique em Alterar configurações:\nPode ser que o sistema peça a senha do usuário administrador. Você deve fornecê-la para continuar.\nCertifique-se de que a opção Sincronizar com um servidor de horário na Internet esteja marcada:\nNo campo Servidor, informe o endereço pool.ntp.br.\nClique em Atualizar agora para já acertar a data e hora do seu computador.\nClique em OK para sair da caixa de diálogo Configurações de Horário na Internet. Depois, clique em OK para sair da caixa de diálogo Data e Hora. Pode fechar as janelas restantes.\nPronto! Seu computador já está com data e hora corretas e configurado para sincronizá-las com a Internet. Com isso, nunca mais você terá que se preocupar em ajustar manualmente a data e a hora no início e no fim do horário de verão.\nAlém disso, há outro detalhe que você precisa se atentar: atualizações. Como vimos, as datas de início e fim do horário de verão podem mudar. Embora a data e hora possam ser obtidas da Internet, o início e o fim do horário de verão são programados no sistema operacional. Por isso, é importante regularmente verificar atualizações para o Windows.\nNormalmente, o Windows já instala quaisquer atualizações disponíveis em um horário que você não costuma utilizar o computador, se ele estiver ligado.\nPara verificar se há atualizações disponíveis, clique no menu Iniciar, depois em Configurações. Na tela Configurações do Windows, clique em Atualização e Segurança.\nInstale todas as atualizações disponíveis até que o Windows informe Você está atualizado:\nWindows na empresa No caso de computadores Windows em empresas, se esses computadores estão ingressados em um domínio do Active Directory (AD), por padrão eles sincronizam a data e a hora com o servidor controlador do domínio, então não há o que configurar.\nSe a data e hora de um desktop da empresa estiverem erradas, experimente forçar a sincronização com o controlador do domínio executando o seguinte comando no Prompt de Comando (esse comando não precisa de permissão de administrador):\n\u0026gt; net time %LOGONSERVER% /set /y A saída desse comando deve ser parecida com:\nA hora atual em \\\\MEU-AD é 22/10/2018 17:35:11 Comando concluído com êxito. Caso depois de executar esse comando a data e hora continuem erradas, provavelmente a data e hora do controlador do domínio estão erradas e é necessário verificá-lo.\nVejamos então como configurar data, hora, fuso horário e sincronização em um servidor com Windows Server.\nWindows Server O fuso horário do controlador do domínio é configurado da mesma forma que o fuso de qualquer computador Windows (ver instruções acima).\nQuanto à data e hora, o servidor deve ser configurado para sincronizar com algum servidor de hora externo. Você pode fazer isso via diretiva de grupo (GPO), para mais informações consulte esse link (em inglês), ou via Windows PowerShell, que é mais rápido, especialmente se seu domínio possui apenas um controlador:\n\u0026gt; w32tm /config /manualpeerlist:\u0026#39;\u0026#39;\u0026#39;pool.ntp.br\u0026#39;\u0026#39;\u0026#39; /syncfromflags:MANUAL \u0026gt; Stop-Service w32time \u0026gt; Start-Service w32time \u0026gt; w32tm /query /status Se sua rede possuir um servidor de hora dedicado, substitua pool.ntp.br por esse servidor.\niOS Antes de ajustar a configuração de data e hora propriamente dita, a Apple recomenda que o seu dispositivo tenha a versão mais recente do iOS.\nPara verificar se esse é o caso, toque em Ajustes \u0026gt; Geral \u0026gt; Atualização de Software. Deve aparecer na tela Seu software está atualizado:\nSe, diferente disso, for informado que há uma atualização disponível, você deve instalá-la.\nNão vou entrar em detalhes de como atualizar seu iOS. Se precisar de ajuda, consulte as instruções no site da Apple em:\nAtualizar o iPhone, iPad ou iPod touch - Suporte da Apple Usando a versão mais recente do iOS, é recomendado que você obtenha as configurações de data e hora automaticamente da sua operadora.\nPara determinar o fuso horário, o iOS utiliza a localização do dispositivo. Vá em Ajustes \u0026gt; Privacidade \u0026gt; Serviços de Localização e ative os Serviços de Localização:\nNa mesma tela, deslize a lista de aplicativos até o final e toque em Serviços do Sistema.\nNa tela seguinte, habilite o Ajuste de Fuso Horário:\nPor fim, toque em Ajustes \u0026gt; Geral \u0026gt; Data e Hora e ative a opção Automaticamente:\nSe você vir um alerta indicando que informações atualizadas de fuso horário estão disponíveis, reinicie o dispositivo para obter as novas informações. Como no meu celular não apareceu essa mensagem, vou tomar a captura de tela emprestada do site da Apple:\nVerifique se o dispositivo mostra o fuso horário correto em Fuso Horário. No meu caso, ele mostra Sâo Paulo porque estou no sul do Brasil, uma região que adota o horário de verão.\nVerifique também se agora sua data e hora estão corretas.\nSe depois de todas essas configurações sua data, hora ou fuso horário ainda estiverem incorretos, você deverá configurá-los manualmente.\nPara isso, desative a opção Automaticamente e configure o fuso horário, a data e a hora conforme sua necessidade:\nProvavelmente você desejará mudar o fuso horário se mora em uma região que não adota o horário de verão. Nesse caso, selecione um fuso horário que também não adote o horário de verão (por exemplo, Fortaleza).\nDica: mapa de fusos horários Você pode usar o mapa de fusos horários disponível em timeanddate.com para encontrar uma cidade com um fuso horário que atenda a suas necessidades. Passe o mouse em uma cidade para ver sua data e hora atuais:\nReferências Relógios de computador e celulares se adiantam antes do horário de verão - Correio Braziliense Planalto informa que não haverá adiamento e que horário de verão começará no próximo dia 4 - Política - G1 Governo voltará a discutir se acaba com horário de verão - Jornal O Globo Senado propõe acabar com o horário de verão no Brasil - Notícias - R7 São Paulo Guia Windows - NTP.br Receber ajuda com a data e a hora no iPhone, iPad e iPod touch - Suporte da Apple Atualizar o iPhone, iPad ou iPod touch - Suporte da Apple Como obter informações atualizadas de fuso horário no dispositivo Apple - Suporte da Apple ","date":"2018-10-22T19:45:00Z","permalink":"/pt-br/artigo/com-hor%C3%A1rio-de-ver%C3%A3o-confuso-hora-de-computadores-e-celulares-foi-adiantada-antes-veja-como-configur%C3%A1-los/","title":"Com horário de verão confuso, hora de computadores e celulares foi adiantada antes, veja como configurá-los"},{"content":"Por vezes pode ser importante verificar um arquivo obtido da Internet, por exemplo, a imagem ISO de uma distribuição Linux - ela contém o sistema operacional que você vai utilizar ou instalar em seu computador, já pensou se o arquivo se corrompeu durante o download ou foi adulterado por um ataque de homem no meio?\nDuas verificações comuns que reduzem a quase zero as chances de usar um arquivo corrompido ou adulterado são a soma de verificação e a assinatura digital:\na soma de verificação (checksum) é uma soma feita antes do envio por quem cria o arquivo e verificada depois por quem baixa o arquivo, há alguns algoritmos para fazer essa soma, mas a ideia geral é somar os bytes do arquivo - ao verificar a soma de um arquivo, se houve modificação do arquivo ou da soma em si, a verificação falha, indicando que não é seguro usar o arquivo; e a assinatura digital certifica um arquivo, tal qual uma assinatura à mão, mas por utilizar mecanismos de criptografia tem a vantagem de ser resistente a fraudes - ao verificar a assinatura de um arquivo, se houve modificação do arquivo ou da assinatura em si, ou se a assinatura foi feita com a chave de outra pessoa, a verificação falha, indicando que não é seguro usar o arquivo. Elas verificam, respectivamente, integridade e autenticidade, duas propriedades básicas da segurança da informação.\nComumente as distribuições Linux disponibilizam somas de verificação SHA-256 e assinaturas digitais GPG.\nNesse post, você verá como fazer essas verificações com o Gpg4win, um software livre gratuito para Windows. Como referência, aqui uso a versão 3.1.3, lançada em 31/08/2018. Como exemplo, verificaremos uma imagem ISO da distribuição openSUSE Leap.\nEmbora usemos aqui o exemplo da imagem ISO, qualquer arquivo pode ser verificado, contanto que a soma de verificação e a assinatura digital estejam disponíveis. É o caso, por exemplo, do instalador do programa VeraCrypt. Curiosamente, é possível usar o Gpg4win para verificar o instalador do próprio Gpg4win (no caso de uma atualização).\nVisão geral Como a verificação de uma imagem ISO não é um processo tão simples, primeiro tenhamos uma visão geral do processo. Antes de começar, teremos uma etapa inicial de configuração do computador, com a instalação do Gpg4win. Depois, a \u0026ldquo;receita de bolo\u0026rdquo; se resume a:\nBaixar a imagem ISO do site da distribuição (como de costume, nenhuma novidade); Baixar a soma de verificação e a assinatura digital do site da distribuição, a depender da distribuição elas podem ser dois arquivos ou pode ser apenas um arquivo de texto contendo ambas (o openSUSE é o segundo caso); Importar a chave pública da distribuição, seja do site da distribuição, seja de um servidor de chaves públicas confiável (obteremos a chave do site do openSUSE, mas o openSUSE também tem um servidor de chaves); Fazer a soma de verificação da imagem ISO baixada e conferir com a soma de verificação esperada; e Verificar a assinatura digital, que pode ter sido feita em relação à imagem ISO, ou em relação à soma de verificação, o que estende a proteção à soma de verificação (o openSUSE é o segundo caso). O processo pode variar de acordo com a distribuição, mas geralmente segue essa linha. Por exemplo, há vários algoritmos de somas de verificação. O algoritmo MD5 era mais popular, mas tem sido substituído pelo SHA-256, que em tese é menos vulnerável. Também há distribuições que não fazem assinatura digital, nesses casos não é possível verificar a autenticidade da imagem ISO.\n1) Download e instalação do Gpg4win Baixe o Gpg4win do seu site oficial: https://www.gpg4win.org/\nEm se tratando de segurança da informação, sempre obtenha os arquivos dos seus respectivos sites oficiais. Nesse post, não vou fornecer nenhum link para download direto.\nTambém pensando na segurança, nos deparamos agora com um dilema: estamos baixando o Gpg4win para verificar arquivos baixados, mas como verificamos o próprio Gpg4win?\nPensando nisso, os desenvolvedores do Gpg4win possibilitaram verificar a integridade e a autenticidade do instalador usando recursos do próprio Windows.\nNa página de download do Gpg4win, clique no link Check integrity (traduzindo: Verificar integridade). Vamos precisar das informações que constam nessa página.\n1.1) Verificando a integridade do Gpg4win No Windows, é possível fazer somas de verificação usando o utilitário de linha de comando CertUtil. Inicie o aplicativo Prompt de Comando pelo menu Iniciar, digite o comando a seguir e tecle Enter (substitua gpg4win-3.1.3.exe pelo nome do arquivo, se for diferente):\nCertUtil -hashfile Downloads\\gpg4win-3.1.3.exe SHA256 1.2) Verificando a autenticidade do Gpg4win Para verificar a assinatura do instalador do Gpg4win, clique com o botão direito do mouse no instalador baixado e clique em Propriedades. Na caixa de diálogo que abre, selecione a aba Assinaturas Digitais e clique no botão Detalhes. Na nova caixa de diálogo, selecione a aba Avançado e depois a opção Número de série.\nCompare os valores informados pelo Windows com os presentes no site do Gpg4win:\nSe os valores conferem, você baixou o instalador corretamente. Execute-o como administrador e faça a instalação, no estivo Avançar, Avançar, Concluir\u0026hellip;\n2) Baixando a imagem ISO do openSUSE Baixe a imagem de instalação via rede do openSUSE Leap, assim como o arquivo da soma de verificação, em:\nhttps://software.opensuse.org/distributions/leap\nEscolhi a imagem de instalação via rede por ser o menor arquivo, apenas para exemplo.\nQuando acabar, você deve ver dois arquivos na pasta Downloads:\na imagem ISO (openSUSE-Leap-15.0-NET-x86_64.iso.sha256) e a soma de verificação (openSUSE-Leap-15.0-NET-x86_64.iso.sha256). 3) Importando a chave pública do openSUSE Mais abaixo na página Baixe o openSUSE, na seção Verifique seu download antes de usar, clique no grande número em hexadecimal:\nNa página seguinte, clique no outro número, menor, também em hexadecimal (curiosamente, não é outro número, são os 8 últimos dígitos do anterior, como se fosse um resumo):\nA página seguinte mostra a chave pública do Projeto openSUSE em formato de texto.\nSelecione tudo entre -----BEGIN PGP PUBLIC KEY BLOCK----- e -----END PGP PUBLIC KEY BLOCK----- e copie:\nInicie o aplicativo Kleopatra, incluso no Gpg4win, vá no menu Ferramentas, aponte para Área de transferência, e clique em Importação do certificado:\nVocê agora deve ver a chave pública do openSUSE importada no Kleopatra, que oferece para assinar a chave, marcando-a como confiável, vamos por enquanto clicar em Não:\nIsso na verdade é opcional, volto a explicar no final.\nFaça um duplo clique na chave e confira a impressão digital (fingerprint) com a presente no site do openSUSE. Se os números conferem, você importou com sucesso a chave pública do openSUSE para o Kleopatra:\n4) Verificando a integridade da imagem ISO Na tela principal do Kleopatra, vá no menu Arquivo e clique em Verificar arquivos de soma de verificação:\nInforme a localização do arquivo que contém a soma de verificação (openSUSE-Leap-15.0-NET-x86_64.iso.sha256).\nNa tela seguinte, se a soma de verificação confere, o arquivo da imagem ISO (openSUSE-Leap-15.0-NET-x86_64.iso) é destacado na cor verde:\nNa parte inferior da janela, aparece Ocorreu um erro. Essa mensagem é exibida provavelmente porque o Kleopatra não interpreta nesse momento as linhas referentes à assinatura GPG. Se tiver curiosidade, você pode ver essas linhas abrindo o arquivo da soma de verificação usando um programa como o Notepad++:\nSe a soma de verificação não confere, o arquivo da imagem ISO é destacado na cor vermelha. Clicando em Mostrar, é possível ver na última linha checksums did NOT match (somas de verificação NÃO conferem):\nSe isso acontecer, você deve tentar baixar a imagem ISO novamente.\n5) Verificando a autentiticade da imagem ISO Na tela principal do Kleopatra, vá no menu Arquivo e clique em Descriptografar/verificar:\nInforme a localização do arquivo que contém a soma de verificação.\nSe a chave não foi assinada (etapa que o Kleopatra nos ofereceu, mas pulamos antes) e a verificação da assinatura confere, o Kleopatra mostra uma mensagem neutra, que não parece uma mensagem nem de sucesso nem de erro:\nO ideal seria assinar a chave, como explicarei a seguir, mas realmente penso que é um passo a mais e opcional. Se você é do tipo tranquilo, pode ficar satisfeito com a mensagem acima e usar a imagem ISO tranquilamente. Veja como uma assinatura inválida parece.\nIndependente de a chave ter sido assinada ou não, se a verificação da assinatura falha, o Kleopatra mostra Assinatura inválida, em vermelho:\nSe isso acontecer, você deve tentar baixar a imagem ISO novamente.\n6) Opcionalidades Até aqui, você fez todos os passos que elencamos na visão geral, no início.\nVocê pode ir um passo além assinando a chave pública do openSUSE com uma chave privada sua, sinalizando para o Kleopatra que você confia que a chave pública do openSUSE pertence de fato ao openSUSE.\nPode parecer burocrático, mas da forma como o GPG foi projetado, idealmente as pessoas trocariam chaves apenas pessoalmente, para formar uma rede de confiança. Na prática, não é assim que funciona. Obter a chave pública do site da distribuição é o máximo que você pode fazer enquanto usuário final que deseja verificar uma imagem ISO. De qualquer forma, já é mais seguro do que baixar a imagem ISO e confiar nela sem fazer nenhuma verificação.\nPara assinar a chave pública do openSUSE, você precisa antes criar um par de chaves seu.\n6.1) Criando um par de chaves pessoal Na tela principal do Kleopatra, vá no menu Arquivo e clique em Novo Par de Chaves:\nNa primeira tela do Assistente de Criação de Pares de Chaves, clique em Criar um par de chaves OpenGPG pessoal:\nNa tela seguinte, preencha os campos Nome e E-mail e clique em Next (Avançar, esqueceram de traduzir esse botão):\nConfirme seus dados e clique em Criar:\nCrie uma senha (passphrase) para a nova chave, digite de novo no campo abaixo para se certificar que não digitou errado, e clique em OK:\nKleopatra informa que O par de chaves foi criado com sucesso. Clique em Terminar:\nSua chave pessoal agora aparece na tela principal do Kleopatra. Agora você pode utilizá-la para assinar a chave pública do openSUSE.\n6.2) Assinando a chave pública do openSUSE Na tela principal do Kleopatra, selecione a chave pública do openSUSE e clique em Certificar:\nNa tela seguinte, selecione a opção Foram verificadas as impressões digitais (de fato, já fizemos isso lá atrás) e clique em Next (Avançar):\nNa tela seguinte, você pode manter a opção padrão marcada (Certificar somente para mim mesmo) e clicar em Certificar:\nDigite a senha da sua chave e clique em OK:\nA última tela do assistente confirma que você certificou a chave pública do Projeto openSUSE. Clique em Terminar:\n6.3) Verificando novamente a autentiticade da imagem ISO Repita a verificação de autentiticade da imagem ISO (seção 5). Veja que agora a mensagem apresentada pelo Kleopatra é bem mais assertiva, transmite bem mais segurança:\nRepare na última frase: A assinatura é válida e a validade do certificado é completamente confiável.\nFinalizando Uma vez instalado, o Gpg4win pode ser usado para verificar as imagens ISO de futuras versões do openSUSE, assim como imagens ISO de outras distribuições, ou quaisquer arquivos que se precise verificar. Como expliquei na visão geral, o processo é semelhante.\nPossivelmente, boa parte do que fizemos aqui você não precisará fazer de novo:\nvocê só precisa baixar e instar de novo o Gpg4win (seção 1) se houver uma atualização do Gpg4win; você só precisa importar de novo a chave pública do openSUSE (seção 3) se no futuro o openSUSE criar uma nova chave; você só precisa assinar de novo a chave pública do openSUSE (seção 6.2) se no futuro importar uma nova chave; e se você só utiliza sua chave GPG pessoal para verificar arquivos baixados, não precisará criar um novo par de chaves (seção 6.1). Caso baixe outra imagem ISO do openSUSE (por exemplo, quando houver uma nova versão da distribuição), você repetirá as seções 2, 4 e 5.\nCaso baixe uma imagem ISO de outra distribuição, aí sim você vai passar novamente por boa parte do processo: seções 2, 3 (e, opcionalmente, a 6.2), 4 e 5.\nEspero que tenha ajudado. Deixo as referências para o caso de você querer ler mais sobre essa ferramenta bem completa que é o Gpg4win.\nReferências HOW TO VERIFY YOUR DOWNLOADED FILES ARE AUTHENTIC - Deep Dot Web PGP Tutorial For Windows (Kleopatra - Gpg4Win) - Deep Dot Web How to Verify a Linux ISO\u0026rsquo;s Checksum and Confirm It Hasn\u0026rsquo;t Been Tampered With How to Verify an Electrum Download on Windows - Bitzuma The GNU Privacy Handbook Gpg4win/CheckIntegrity - GnuPG wiki SDB:Ajuda de download - openSUSE ","date":"2018-10-05T18:30:00Z","permalink":"/pt-br/artigo/verifica%C3%A7%C3%A3o-de-integridade-e-autenticidade-com-o-gpg4win/","title":"Verificação de integridade e autenticidade com o Gpg4win"},{"content":"Servidores são diferentes de desktops em muitos sentidos. Um deles é que eles podem ser configurados para ligar automaticamente assim que percebem a presença de energia: após uma queda, quando a rede elétrica é restabelecida, automaticamente o servidor liga e começa a carregar o sistema operacional. Isso reduz o tempo para restabelecer os serviços, ainda mais em casos onde o servidor está distante e se dirigir até ele para apertar um botão de ligar pode ser inviável.\nEsse recurso, apesar de ajudar bastante, pode se mostrar insuficiente quando o servidor é na verdade um virtualizador, como o XenServer: nesse caso, também é necessário iniciar as máquinas virtuais.\nFelizmente, o XenServer nos permite configurá-lo para iniciar máquinas virtuais logo após a inicialização do virtualizador. Como fazer isso é o que você verá nesse post.\nSe você está acostumado com a interface gráfica de gerenciamento do XenServer para Windows, o XenCenter, saiba que não contará com sua conveniência dessa vez. A documentação do XenServer informa que essa configuração foi removida do XenCenter na versão 6.0 por interferir de forma imprevisível em funcionalidades de alta disponibilidade (high availability). Mas você verá como é fácil fazer essa configuração pela linha de comando.\nSe você utiliza a Xen Orchestra, uma interface web extra oficial, saiba que ela disponibiliza essa configuração de forma gráfica. Nos bastidores, ela faz o que faremos aqui.\nO procedimento a seguir funciona pelo menos nas versões 6.5 e 7.0 do XenServer.\nSem mais conversa, vamos por a mão na massa!\n1) Acesse o console do virtualizador Se você utiliza Linux, pode fazer isso via SSH (substitua 192.168.25.5 pelo endereço IP do seu virtualizador):\n$ ssh root@192.168.25.5 Se você utiliza Windows, pode se conectar ao XenServer via SSH usando o Putty ou acessar o console do virtualizador pelo XenCenter, selecionando o virtualizador e clicando na aba Console.\n2) Liste os pools Pools são agrupamentos de virtualizadores XenServer. Permitem que vários virtualizadores se somem e se comportem como um só.\nListe os pools do seu virtualizador com o comando:\n# xe pool-list Se você não o adicionou a nenhum pool, ele possui apenas o próprio pool e o comando deve retornar algo como:\nuuid ( RO) : 10e52888-52eb-e445-7d8f-0ad7f8396694 name-label ( RW): name-description ( RW): master ( RO): 726d7a9e-3e54-493f-8395-834e5c94d7f5 default-SR ( RW): 0130555a-b493-470a-4e92-29411697ba6f Observe o uuid do pool (primeira linha), vamos utilizá-lo no próximo passo.\n3) Configure o pool para iniciar automaticamente Execute o comando a seguir para habilitar o início automático do seu pool (substitua o uuid pelo do seu pool):\n# xe pool-param-set uuid=10e52888-52eb-e445-7d8f-0ad7f8396694 other-config:auto_poweron=true 4) Liste as máquinas virtuais Agora, vamos habilitar o início automático das máquinas virtuais. Antes, precisamos obter o uuid de cada máquina virtual que desejamos iniciar automaticamente com o virtualizador.\nPara listar as máquinas virtuais, execute o comando a seguir:\n# xe vm-list Ele deve retornar algo parecido com:\nuuid ( RO) : 44397d64-d569-036d-b9f6-eaf23ad2f24b name-label ( RW): firewall.minhacasa.net - pfSense 2.3 power-state ( RO): running uuid ( RO) : de7ac7e8-b0f3-9ee2-19ef-eda6b2b9b368 name-label ( RW): ad.minhacasa.net - Windows Server 2016 power-state ( RO): running Você pode identificar as máquinas virtuais por seu name-label. Anote (ou copie, se possível) o uuid daquelas que devem iniciar automaticamente.\n5) Configure a máquina virtual para iniciar automaticamente Para cada máquina virtual que deve ser iniciada automaticamente, execute o comando a seguir (substitua o uuid pelo da sua máquina virtual):\n# xe vm-param-set uuid=44397d64-d569-036d-b9f6-eaf23ad2f24b other-config:auto_poweron=true Pronto! Feito isso, você pode ficar tranquilo de que, havendo alguma queda de energia, aquele servidor essencial voltará assim que for possível.\nEspero que essa dica possa ser útil. Até a próxima!\nReferências How to Setup XenServer 6.x to Auto-Start Virtual Machines Auto start VM on XenServer boot ","date":"2017-07-03T01:25:00Z","permalink":"/pt-br/artigo/xenserver-iniciando-m%C3%A1quinas-virtuais-automaticamente-ao-ligar/","title":"XenServer iniciando máquinas virtuais automaticamente ao ligar"},{"content":" Se possuímos em uma mesma rede pfSense e Active Directory (AD), algumas possibilidades interessantes surgem, como: permitir que os administradores da rede (e apenas eles) acessem o pfSense com seus logins e senhas do AD; permitir acesso remoto via VPN utilizando os mesmos logins e senhas do AD; e exigir login e senha do AD para que se possa navegar na rede Wi-Fi (ou em qualquer outra rede).\nNesse post, você verá como explorar essas possibilidades.\nwebConfigurator autenticando no AD A interface web utilizada para configurar o pfSense é chamada de webConfigurator.\nPara acessá-la, devemos fornecer nome de usuário (username) e senha (password):\nPodemos configurá-la para que esse acesso utilize as mesmas credenciais do AD.\nPara isso, precisaremos criar uma conta de usuário no AD para o pfSense, para que ele possa se conectar ao AD e validar as credenciais fornecidas na tela de login:\nObserve que o pfSense precisa de uma conta só para ele porque o AD, por padrão, não permite conexão anônima (anonymous bind). Essa conta pode ser uma conta de usuário simples, não precisa de privilégios elevados.\nRecomendo que você utilize uma senha aleatória gerada pelo site RANDOM.ORG. Você pode verificar que ela é segura no site How Secure Is My Password? Desative a alteração de senha no próximo logon e também a expiração da senha:\nAgora acesse a interface web do pfSense com um usuário local (por padrão, caso você não tenha alterado após a instalação, nome de usuário admin e senha pfsense, se você não alterou essa senha, recomendo que altere).\nVá em System, User Manager, aba Authentication Servers e clique no botão Add.\nPreencha o formulário com as informações sobre o seu domínio (a seguir, apresento exemplos, mas você deve alterar de acordo com a sua realidade):\nDescriptive name: AD da MINHACASA Type: selecione LDAP Hostname or IP address: 10.200.1.30 ou ad.minhacasa.net (endereço IP ou nome de máquina completo do controlador de domínio) Search scope: Level: selecione Entire Subtree (pesquisar em toda a árvore do AD) Base DN: DC=minhacasa,DC=net Authentication containers: CN=Users Desmarcar a opção Use anonymous binds to resolve distinguished names Bind credentials: User DN: CN=pfSense,CN=Users,DC=minhacasa,DC=net Password: a senha do usuário criado para o pfSense Initial Template: selecione Microsoft AD Para as demais opções, o padrão deve ser suficiente. Talvez você precise alterá-las de acordo com a configuração do seu controlador de domínio.\nAbaixo você pode ver o formulário completo, depois de preenchido:\nClique em Save.\nAgora, vamos testar se o pfSense consegue autenticar um usuário do AD.\nPara isso, vá em Diagnostics, Authentication.\nEm Authentication Server, selecione o AD que você acabou de cadastrar. Informe um nome de usuário e senha e clique em Test:\nSe você digitou corretamente o nome de usuário e a senha, o pfSense deve mostrar uma mensagem de sucesso e listar os grupos do usuário, como na imagem acima.\nPara que possamos acessar o webConfigurator com nossa conta do AD, ainda faltam mais duas configurações.\nVamos dar permissão a um grupo do AD para acessar todas as configurações (o grupo que contém os administradores de rede, por exemplo, TI-REDES).\nVá em System, User Manager, aba Groups e clique no botão Add.\nPreencha o formulário com as informações sobre o grupo:\nGroup name: TI-REDES Scope: selecione Remote Description: Administradores da rede (um texto apenas para informação) Clique em Save.\nDe volta à tela que lista os grupos, na linha do grupo que acabamos de criar, clique no ícone do lápis para editar o grupo.\nNa sessão Assigned Privileges, clique no botão Add.\nSelecione o privilégio WebCfg - All pages e clique em Save:\nDe volta à tela anterior, clique em Save.\nFinalmente, vamos dizer que o AD é onde o pfSense deve buscar os usuários.\nClique na aba Settings. Em Authentication Server, selecione o AD. Clique em Save:\nFaça log out do webConfigurator e entre de novo, dessa vez utilizando sua conta do AD (deve ser uma conta pertencente ao grupo configurado). Deve funcionar.\nSe você fizer um teste utilizando uma conta do AD sem permissões previamente concedidas, o pfSense informará que não há uma página configurada para o usuário e oferecerá somente a opção de fazer log out:\nVocê pode conceder diferentes permissões a diferentes grupos de usuários, por exemplo:\nTécnicos do Suporte (grupo TI-SUPORTE) podem acessar a lista de concessões DHCP para verificar qual endereço IP determinado computador recebeu, além de poder enviar comandos Wake-on-LAN para ligar computadores pela rede, para isso são necessárias as permissões: WebCfg - Status: DHCP leases WebCfg - Services: Wake-on-LAN Programadores (grupo TI-DESENV, assim nomeado porque o pfSense não aceita um nome de grupo maior que 16 caracteres) podem acessar as configurações do portal de captura (captive portal) para personalizar as páginas HTML do portal de captura, para isso são necessárias as permissões: WebCfg - Services: Captive portal WebCfg - Services: Captive portal: Edit Zones WebCfg - Services: Captive portal: File Manager WebCfg - Services: Captive portal Zones Observe que, depois de tudo isso, ainda é possível entrar no webConfigurator com o usuário local admin do pfSense. Por isso, é importante mudar a senha dele.\nVPN autenticando no AD No post anterior, vimos como configurar uma VPN utilizando pfSense e OpenVPN. Recomendo que você siga todo aquele passo a passo e faça o teste da VPN utilizando o usuário local criado no tutorial especificamente para testar a VPN.\nVejamos agora como ajustar aquela configuração para que seja possível conectar à VPN informando login e senha do AD.\nNo pfSense, vá em VPN, OpenVPN, aba Servers.\nClique no ícone do lápis para editar o servidor OpenVPN.\nNo campo Backend for authentication, em vez de Local Database, selecione o AD:\nClique no botão Save, ao final da página.\nAgora vamos obter a configuração que deve ser usada com o cliente OpenVPN. Diferente do tutorial anterior, em que baixamos do pfSense o instalador com cliente e configuração já prontos, aqui vamos baixar do pfSense apenas a configuração.\nVá em VPN, OpenVPN, aba Client Export.\nNa linha referente a um usuário local qualquer (seguindo o exemplo do post anterior, vinyanalista), clique no botão Others, abaixo de Inline Configurations, para baixar um arquivo contendo a configuração do cliente OpenVPN:\nEle deve se chamar algo como firewall-udp-1194-vinyanalista-config.ovpn. Você pode renomeá-lo para, por exemplo, vpn-da-minhacasa.ovpn.\nNo computador cliente (veremos aqui instruções para Windows), baixe e instale o software cliente do site do OpenVPN. A instalação é bem simples: no famoso estilo next, next, next. Recomendo, se possível, remover qualquer versão mais antiga, incluindo arquivos de configuração (para referência, no momento da escrita o cliente oficial do OpenVPN se encontra na versão 2.4.0, lançada em dezembro de 2016).\nTerminada a instalação, copie o arquivo de configuração para a pasta onde o cliente OpenVPN guarda suas configurações:\nNo computador que eu utilizei, o caminho para essa pasta foi C:\\Arquivos de Programas\\OpenVPN\\config.\nDepois disso, é só iniciar o cliente OpenVPN, como explicado no post anterior, e informar o usuário e a senha do AD para se conectar à VPN.\nDeve funcionar normalmente.\nPara Android, as instruções são bem semelhantes: baixe e instale o software cliente pela Play Store e baixe pelo pfSense o arquivo de configuração clicando no botão Android, abaixo de Inline Configurations. Esse arquivo deve se chamar algo como firewall-udp-1194-vinyanalista-android-config.ovpn. Você pode renomeá-lo para, por exemplo, vpn-da-minhacasa-android.ovpn e utilizá-lo no cliente OpenVPN, como mostrado no post anterior. Lembre-se de agora utilizar usuário e senha do AD.\nRestringindo o acesso à VPN a um grupo do AD Configurando a VPN como foi explicado acima, qualquer pessoa pode se conectar à VPN utilizando suas credenciais do AD. Que tal adicionar um certo controle permitindo que apenas usuários pertencentes a determinado grupo se conectem?\nPara isso, crie no AD um grupo chamado PFSENSE-VPN. Adicione a esse grupo os usuários que poderão se conectar à VPN.\nNo pfSense, vá em System, User Manager, aba Authentication Servers e clique no botão Add.\nPreencha esse formulário com as mesmas informações que você informou antes, como se fosse cadastrar o AD de novo (de certa forma, é o que estamos fazendo, mas aqui seremos mais específicos). Ainda não clique em Save.\nMude o nome (Descriptive name) para AD da MINHACASA - grupo PFSENSE-VPN.\nAtive a opção Enable extended query e preencha o campo Query com:\n\u0026amp;(objectCategory=user)(memberOf=CN=PFSENSE-VPN,CN=Users,DC=minhacasa,DC=net) Agora sim clique em Save.\nVá em VPN, OpenVPN, aba Servers.\nClique no ícone do lápis para editar o servidor OpenVPN.\nNo campo Backend for authentication, selecione AD da MINHACASA - grupo PFSENSE-VPN.\nClique no botão Save, ao final da página.\nTeste essa configuração tentando se conectar à VPN com um usuário que pertence e outro que não pertence ao grupo PFSENSE-VPN. Deve funcionar só no primeiro caso.\nVocê pode no AD tornar o grupo TI-REDES membro do grupo PFSENSE-VPN. Assim, por transitividade, todos os administradores da rede ganham permissão para usar a VPN, sem a necessidade de ter que adicioná-los um por um ao grupo PFSENSE-VPN.\nRede Wi-Fi autenticando no AD Que tal prover para os funcionários da empresa uma rede Wi-Fi, mas só liberar o acesso mediante o fornecimento de login e senha do AD?\nComo ainda não fiz um post sobre como gerenciar uma rede Wi-Fi com o pfSense, decidi deixar esse tópico para o próximo post.\nSiga-me para ser notificado quando ele for publicado.\nNo final das contas, percebi que este post acabou sendo uma atualização do anterior, acrescentando a integração com o Active Directory. No próximo post, teremos como novidade a rede Wi-Fi, incluindo a autenticação dela no AD.\nReferências Muito do que escrevi aqui aprendi na tentativa e erro e evoluindo conforme as demandas que iam surgindo no trabalho. Mas claro que comecei lendo alguns textos:\nTutorial PFFense 2.0: Active Directory -\u0026gt; User Manager (sic) pfSense 2.0 e OpenVPN Autenticando no Windows 2008 : Thiago Melo ldap authentication against security group: PFSENSE ","date":"2017-01-30T08:00:00Z","permalink":"/pt-br/artigo/pfsense-autenticando-no-active-directory-ad/","title":"pfSense autenticando no Active Directory (AD)"},{"content":"{% capture revisao_links_quebrados %}\nO site passou por uma revisão de links quebrados. Alguns links nessa publicação podem ter sido removidos ou atualizados.\n{% endcapture %}\n{% include update.html date=\u0026ldquo;02/08/2023\u0026rdquo; message=revisao_links_quebrados %}\nO pfSense é uma solução de firewall incrível, não só pela quantidade de recursos que oferece, como também pela facilidade para configurá-lo. Ele permite criar VPNs utilizando, dentre outros protocolos, o OpenVPN, que é livre, versátil e seguro sem abrir mão da praticidade, motivos pelos quais é amplamente difundido.\nO que é uma VPN? Uma rede privada virtual (do inglês Virtual Private Network, ou VPN) estabelece uma conexão entre dois computadores distantes, que passam a se comunicar pela Internet como se estivessem conectados a um mesmo switch ou roteador.\nEla funciona assim: os dois computadores pertencem, a princípio, a redes diferentes (eles podem estar em prédios, cidades ou até mesmo países diferentes, por exemplo). Mas eles precisam se comunicar e possuem conexão com a Internet. Então, eles estabelecem na rede mundial um circuito por onde trocam informações de forma privada. É como uma ligação telefônica que não pudesse ser grampeada.\nPara quem utiliza esses computadores, é imperceptível que eles estão distantes. É como se eles estivessem conectados diretamente por um cabo, apesar de esse cabo não existir de verdade (por isso, essa rede é dita virtual). E a comunicação, apesar de ocorrer pela Internet, não pode ser lida pelos computadores no meio do caminho entre um e outro, porque os dois computadores que estabelecem a VPN utilizam criptografia para se comunicar (por isso, essa rede é dita privada).\nPorque a informação trafega por um circuito cujo conteúdo não pode ser lido pelos computadores que ajudam a formar o circuito, nem pelos que estão fora dele, apenas pelos computadores nas pontas (o remetente e o destinatário), a VPN também é conhecida como túnel.\nTentando explicar de forma simples, uma VPN é isso.\nCom VPNs, podemos fazer algumas coisas interessantes, como por exemplo: em casa ou durante uma viagem a negócios utilizar um notebook para acessar um computador do trabalho (como se estivesse dentro do trabalho); na rua, abrir, do celular, um arquivo que está no computador de casa (como se estivesse em casa); compartilhar arquivos e recursos (como impressoras ou servidores) entre sede e filial da empresa ou entre empresas diferentes.\nO Psiphon, que apresentei em outro post, é um exemplo interessante de VPN: ele cria um túnel entre seu computador e algum computador anônimo situado em algum lugar bem distante no mundo e redireciona todo o seu tráfego de Internet por esse computador anônimo. Dessa forma, o Psiphon permite que você utilize a Internet de forma anônima.\nUm uso prático disso é burlar bloqueios e censuras. Recentemente, o WhatsApp foi bloqueado no Brasil e muitos internautas recorreram a VPNs como o Psiphon para conseguir usar o aplicativo nos seus celulares. VPNs como essas são muito utilizadas em países com governos autoritários, como a China.\nO que preciso para criar uma VPN? Os dois computadores que queremos conectar precisam estar conectados à Internet. Um deles vai atuar como servidor, disponibilizando a VPN. O outro, vai atuar como cliente, utilizando a VPN. Eles também precisam de um protocolo para que consigam se comunicar. Existem alguns protocolos que podem ser usados para estabelecer VPNs, exemplos incluem: PPTP, L2TP, SSTP e OpenVPN. Cada protocolo serve a um tipo de VPN e pode ser mais adequado para uma ou outra finalidade.\nAqui, vou explicar como estabelecer uma VPN entre um firewall pfSense (suponho que já esteja instalado e funcionando) e um computador com Windows ou um celular com Android.\nA ideia de escrever foi compartilhar a experiência vivida onde eu trabalho.\nQuero citar o excelente tutorial passo a passo do Thiago Melo, que aqui utilizo como base para escrever uma versão um pouco mais atual e acrescentando alguns comentários meus.\nPara referência futura, a versão do pfSense utilizado aqui é a 2.3, lançada em abril de 2016, e a do OpenVPN é a 2.3.11, lançada em maio de 2016.\nCriando a VPN no pfSense O pfSense vem com um assistente (wizard) que pode ser utilizado para criar VPNs, mais ou menos no famoso estilo next, next, next (avançar, avançar, avançar) do Windows. No entanto, eu o achei um tanto falho. Quando eu o utilizava, ele repetia algumas configurações entre as VPNs. Assim, passei a fazer a maior parte das etapas manualmente, deixando o assistente apenas para configurar a VPN propriamente dita e as regras do firewall, que são as etapas finais.\nVamos configurar manualmente os pré-requisitos para a VPN.\nPrimeiro, precisamos de uma autoridade certificadora (do inglês Certificate Authority, CA) para emitir os certificados do servidor e do cliente. Vá em System, Cert. Manager, aba CAs e clique no botão Add. Preencha o cadastro com as informações a seguir (claro, lembre-se sempre de alterar de acordo com as suas necessidades):\nDescriptive name: MINHACASA_CA Method: Create an internal Certificate Authority Country Code: BR State or Province: Rio Grande do Sul City: Pelotas Organization: Minha Casa Email Address: vinyanalista@minhacasa.net Common Name: minhacasa-ca Clique em Save:\nDepois, precisamos de um certificado para o servidor. De volta à tela Certificate Manager, clique na aba Certificates e clique no botão Add. Preencha o cadastro com as informações a seguir:\nMethod: Create an internal Certificate Descriptive name: VPN de teste Certificate authority: MINHACASA_CA Certificate Type: Server Certificate Country Code: BR State or Province: Rio Grande do Sul City: Pelotas Organization: Minha Casa Email Address: vinyanalista@minhacasa.net Common Name: vpn-de-teste Clique em Save:\nPrecisamos também cadastrar os usuários que utilizarão a VPN (login e senha) e criar certificados para esses usuários. Vá em System, User Manager e clique no botão Add. Preencha o cadastro com as informações a seguir:\nUsername: vinyanalista Password: Alg0$3guro! Full name: Antônio Vinícius Menezes Medeiros Em Certificate, marque Click to create a user certificate para que ele gere um certificado para o usuário que estamos cadastrando. Acrescente as informações:\nDescriptive name: vinyanalista Certificate authority: MINHACASA_CA Clique em Save:\nAgora vamos à configuração da VPN propriamente dita.\nVá em VPN, OpenVPN e clique na aba Wizards. É iniciado então o OpenVPN Remote Access Server Setup. Na primeira tela, Select an Authentication Backend Type, escolha Local User Access, e clique em Next:\nNa segunda tela, Choose a Certificate Authority (CA), selecione a autoridade cerficadora que foi criada anteriormente (MINHACASA_CA) e clique em Next:\nNa terceira tela, Choose a Server Certificate, selecione o certificado de servidor que foi criado anteriormente (VPN de teste) e clique em Next:\nNa tela seguinte, Server Setup, vamos configurar o servidor da VPN. Aqui, você deve preencher de acordo com as configurações da rede do seu servidor (a rede da sua empresa, por exemplo). Vejamos algumas configurações:\nInterface: WAN (interface de rede na qual o servidor aguardará pela conexão do cliente, deve apresentar conexão com a Internet) Local Port: 1194 (porta na qual o servidor aguardará pela conexão do cliente, 1194 é a porta convencional para o protocolo OpenVPN, você pode utilizar essa porta para a primeira VPN, mas se for criar outras, deverá reservar portas diferentes para cada VPN, por exemplo 1195, 1196\u0026hellip;) Description: VPN de teste (descrição da VPN, deve ser um nome informativo, até porque aparecerá na tela do cliente identificando a conexão) Tunnel Network: 192.168.26.0/24 (endereço e máscara da rede virtual privada, no formato de CIDR, observe que o pfSense tomará o primeiro endereço IP para ele, nesse caso 192.168.26.1, e os demais endereços IPs serão atribuídos aos clientes) Local Network: 192.168.25.0/24 (endereço e máscara da rede interna que o cliente conectado pela VPN poderá acessar, é possível especificar mais de uma rede separando as redes por vírgula e até mesmo restringir o acesso a apenas um computador na rede interna, por exemplo 192.168.25.2/32) Com relação ao campo Tunnel Network, devo observar que ele determina a quantidade de computadores que poderão se conectar pela VPN. Obrigatoriamente, o servidor consumirá 1 endereço IP da VPN. Além disso, o pfSense não deixa criarmos uma VPN cujo endereço de rede utilize 30, 31 ou 32 bits do endereço IP. Então, a menor rede virtual privada que podemos criar utiliza 29 bits do endereço IP para se identificar. Com os 3 bits restantes, podemos endereçar 5 clientes.\nPara esclarecer a explicação, se tivéssemos preenchido o campo Tunnel Network com 192.168.26.0/29, os endereços da nossa VPN seriam assim:\n192.168.26.0: endereço da rede 192.168.26.1: endereço do pfSense 192.168.26.2: endereço atribuído ao primeiro cliente que se conectar à VPN 192.168.26.3: endereço atribuído ao segundo cliente 192.168.26.4: endereço atribuído ao terceiro cliente 192.168.26.5: endereço atribuído ao quarto cliente 192.168.26.6: endereço atribuído ao quinto cliente 192.168.26.7: endereço de broadcast Provavelmente os campos Tunnel Network e Local Network são os que merecem mais cuidado nessa tela.\nHá alguns campos que podem ser preenchidos caso você necessite configurar o cliente conectado à VPN usando DHCP. Desses, destaco:\nDNS Default Domain DNS Server 1, DNS Server 2, DNS Server 3 e DNS Server 4 NTP Server e NTP Server 2 WINS Server 1 e WINS Server 2 Perceba que essa tela é extensa, mas nela estão quase todas as configurações da VPN:\nQuando terminar de configurar a VPN, clique em Next.\nNa penúltima tela do assistente, Firewall Rule Configuration, certifique-se de que as duas opções Firewall Rule e OpenVPN rule estejam marcadas. Com isso, o pfSense criará automaticamente as regras de firewall necessárias para que a VPN funcione. Clique em Next:\nA última tela apenas informa que a VPN foi criada. Clique em Finish:\nExportando o software cliente O pfSense é capaz de exportar o software e os arquivos de configuração que devem ser instalados no computador cliente para que ele consiga se conectar à VPN. Para isso, usamos o OpenVPN Client Export Utility. Esse utilitário não acompanha a instalação padrão do pfSense, sendo disponibilizado como um pacote.\nCaso você ainda não o tenha instalado, vá em System, Package Manager, na aba Available Packages, busque por esse pacote e o instale clicando no botão Install:\nCom o utilitário instalado, vá em VPN, OpenVPN, aba Client Export.\nEm Remote Access Server, selecione a VPN (nesse exemplo, VPN de teste).\nMais abaixo, no final da página, na linha correspondente ao usuário que deve acessar a VPN (nesse exemplo, vinyanalista), clique no botão correspondente ao cliente que deseja exportar.\nVou demonstrar como conectar à VPN um computador cujo sistema operacional é o Windows 10 de 64 bits. Nesse caso, clique no botão x64-win6 para exportar o cliente correspondente:\nO download do instalador do cliente é iniciado. Esse arquivo (cujo nome deve ser algo parecido com firewall-udp-1194-vinyanalista-install.exe) deve ser copiado ou movido para o computador cliente.\nTambém vou demonstrar como conectar à VPN um celular com sistema Android. Você pode aproveitar para já baixar também o arquivo de configuração que será necessário. Para isso, clique no botão Android. Esse arquivo (cujo nome deve ser algo parecido com firewall-udp-1194-vinyanalista-android-config.ovpn) deve ser copiado ou movido para o celular. No caso do Android, o software cliente é instalado pela Play Store, por isso o pfSense exporta apenas o arquivo de configuração.\nConectando à VPN pelo Windows 10 No computador cliente, execute o instalador do cliente OpenVPN, baixado do pfSense. A instalação é bem simples. Aqui, mais uma vez, é next, next, next:\nTerminada a instalação, para iniciar o cliente OpenVPN, abra o menu Iniciar, clique em Todos os programas, depois em OpenVPN e, por fim, em OpenVPN GUI:\nO cliente OpenVPN é iniciado. Observe seu ícone na área de notificação:\nDê dois clique nesse ícone. O cliente solicita usuário e senha para se conectar com a VPN. Informe o usuário e a senha que você configurou no pfSense e clique em OK:\nSe conseguir se conectar, o cliente OpenVPN mostra uma notificação com o endereço IP que foi atribuído ao computador dentro da rede privada virtual. Observe também que o ícone do cliente muda sua cor para verde, indicando que está conectado:\nComo teste, você pode abrir o Prompt de comando do Windows e verificar a conectividade com algum computador na rede da outra ponta da VPN:\nMicrosoft Windows [versão 10.0.10240] (c) 2015 Microsoft Corporation. Todos os direitos reservados. C:\\Users\\Vinicius\u0026gt;ping 172.20.0.4 Disparando 172.20.0.4 com 32 bytes de dados: Resposta de 172.20.0.4: bytes=32 tempo=127ms TTL=62 Resposta de 172.20.0.4: bytes=32 tempo=78ms TTL=62 Resposta de 172.20.0.4: bytes=32 tempo=104ms TTL=62 Resposta de 172.20.0.4: bytes=32 tempo=97ms TTL=62 Estatísticas do Ping para 172.20.0.4: Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda), Aproximar um número redondo de vezes em milissegundos: Mínimo = 78ms, Máximo = 127ms, Média = 101ms C:\\Users\\Vinicius\u0026gt; Quando não precisar usar mais a VPN, clique com o botão direito do mouse no ícone do cliente OpenVPN e em seguida clique em Sair:\nSolução de problemas Caso você perceba que não conseguiu se conectar à VPN e o cliente exibe uma mensagem como esta:\nTLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity) Significa que o cliente e o servidor OpenVPN não estão conseguindo se comunicar, podendo a causa do problema estar em uma ponta ou outra da conexão. É provável que seu computador esteja sem conexão com a Internet ou algum firewall esteja impedindo a conexão do seu computador com o servidor da VPN.\nAlgumas verificações que você pode fazer do lado do cliente:\nTentar executar o cliente OpenVPN como administrador; Verificar a hora do computador (para que a conexão segura possa ser estabelecida é um pré-requisito que a hora esteja correta); Verificar no Firewall do Windows se a porta número 1194 está liberada para receber conexões TCP e UDP (se não estiver liberada, adicionar exceção); Verificar no Firewall do Windows se o aplicativo openvpn.exe está sendo bloqueado (se estiver bloqueado, adicionar exceção); Se houver algum firewall entre o computador e o provedor de Internet, verificá-lo também; e Se já havia um cliente OpenVPN instalado no computador e o instalador baixado do pfSense apenas acrescentou a configuração da VPN recém-criada, considere a possibilidade de desinstalar o cliente já instalado na máquina e instalar o fornecido, que pode ser mais novo e conter correções para bugs e falhas de segurança. Falando em bug, pode acontecer de o cliente OpenVPN relatar que conseguiu se conectar, mas não conseguiu configurar rotas para a rede privada virtual:\nTue Jun 14 22:15:09 2016 ROUTE: route addition failed using CreateIpForwardEntry: Acesso negado. [status=5 if_index=4] Tue Jun 14 22:15:09 2016 env_block: add PATH=C:\\Windows\\System32;C:\\Windows;C:\\Windows\\System32\\Wbem Tue Jun 14 22:15:09 2016 ERROR: Windows route add command failed [adaptive]: returned error code 1 Tue Jun 14 22:15:09 2016 ROUTE: route addition failed using CreateIpForwardEntry: Acesso negado. [status=5 if_index=4] Tue Jun 14 22:15:09 2016 env_block: add PATH=C:\\Windows\\System32;C:\\Windows;C:\\Windows\\System32\\Wbem Tue Jun 14 22:15:10 2016 ERROR: Windows route add command failed [adaptive]: returned error code 1 Tue Jun 14 22:15:10 2016 Initialization Sequence Completed Isso é um bug que afetava versões antigas do cliente OpenVPN, mas já foi corrigido. Você pode baixar a versão mais recente do cliente OpenVPN, instalá-la em seu computador e repetir os passos acima para se conectar à VPN normalmente. Ou, se não quiser fazer isso, você pode tentar executar o cliente já instalado em seu computador com permissões de administrador.\nQuando você conseguir se conectar sem problemas, o cliente OpenVPN deve exibir uma sequência de mensagens parecida com esta:\nTue Jun 14 22:18:06 2016 OpenVPN 2.3.11 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [PKCS11] [IPv6] built on May 10 2016 Tue Jun 14 22:18:06 2016 Windows version 6.2 (Windows 8 or greater) 64bit Tue Jun 14 22:18:06 2016 library versions: OpenSSL 1.0.1t 3 May 2016, LZO 2.09 Tue Jun 14 22:19:34 2016 Control Channel Authentication: using \u0026#39;firewall-udp-1194-antonio.medeiros-tls.key\u0026#39; as a OpenVPN static key file Tue Jun 14 22:19:34 2016 UDPv4 link local (bound): [undef] Tue Jun 14 22:19:34 2016 UDPv4 link remote: [AF_INET]187.86.133.121:1194 Tue Jun 14 22:19:35 2016 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this Tue Jun 14 22:19:35 2016 [VPN do HEUFPEL] Peer Connection Initiated with [AF_INET]187.86.133.121:1194 Tue Jun 14 22:19:38 2016 do_ifconfig, tt-\u0026gt;ipv6=0, tt-\u0026gt;did_ifconfig_ipv6_setup=0 Tue Jun 14 22:19:38 2016 open_tun, tt-\u0026gt;ipv6=0 Tue Jun 14 22:19:38 2016 TAP-WIN32 device [Ethernet 3] opened: \\\\.\\Global\\{2D6F99C4-A78C-48F2-A301-AEBFDD5B5E30}.tap Tue Jun 14 22:19:38 2016 Set TAP-Windows TUN subnet mode network/local/netmask = 10.100.201.0/10.100.201.2/255.255.255.0 [SUCCEEDED] Tue Jun 14 22:19:38 2016 Notified TAP-Windows driver to set a DHCP IP/netmask of 10.100.201.2/255.255.255.0 on interface {2D6F99C4-A78C-48F2-A301-AEBFDD5B5E30} [DHCP-serv: 10.100.201.254, lease-time: 31536000] Tue Jun 14 22:19:38 2016 Successful ARP Flush on interface [4] {2D6F99C4-A78C-48F2-A301-AEBFDD5B5E30} Tue Jun 14 22:19:44 2016 Initialization Sequence Completed Conectando à VPN pelo Android Para conectar um celular com Android à VPN que acabamos de criar no nosso firewall pfSense, precisamos instalar um aplicativo cliente no celular. Aqui, vou demonstrar como usar o cliente oficial do OpenVPN, o OpenVPN Connect.\nComece instalando o OpenVPN Connect pela Play Store:\nSe ainda não passou, passe agora para o celular o arquivo de configuração exportado pelo pfSense.\nNo celular, abra o menu de Aplicativos e toque no OpenVPN Connect:\nO cliente OpenVPN para Android é iniciado:\nToque no botão de opções (o com 3 pontos que aparece no canto superior direito da tela), em seguida em Import e, por último, em Import Profile from SD card:\nLocalize o arquivo de configuração na memória interna ou no cartão de memória do seu celular, toque nele e depois em Select:\nO cliente solicita usuário e senha para se conectar com a VPN. Informe o usuário e a senha que você configurou no pfSense. Opcionalmente, marque a opção Save para que ele memorize o usuário e a senha. Por fim, toque em Connect:\nSe conseguir se conectar, o cliente OpenVPN passa a exibir o status da conexão. Observe que ele fixa um ícone na área de notificação, indicando que está conectado:\nQuando não precisar usar mais a VPN, volte ao cliente OpenVPN e toque em Disconnect.\nConclusão É isso. Espero que esse texto possa te ajudar caso necessite. A seguir, listo algumas referências que utilizei além dos links que já apareceram por todo o texto:\nO que é VPN? - TecMundo O que é VPN? - TechNet VPN e IPsec - UFRJ OpenVPN Errors - TLS handshake failed - fórum do pfSense OPENVPN no pfsense conectando cliente windows [RESOLVIDO] [servidores VPN] - Viva o Linux TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity) - FAQ do OpenVPN ","date":"2016-06-26T01:00:00Z","permalink":"/pt-br/artigo/como-criar-uma-vpn-utilizando-pfsense-e-openvpn/","title":"Como criar uma VPN utilizando pfSense e OpenVPN"},{"content":"As funcionalidades de captura de tela que acompanham o Windows são um tanto limitadas. Confira aqui dicas e aplicativos para bater melhores capturas de tela.\nComo capturar a tela com o próprio Windows É possível capturar a tela sem utilizar programa algum no Windows. Para isso, temos a tecla Print Screen. Ela geralmente fica no canto superior direito do teclado. Pode ser que no seu teclado ela esteja abreviada, como, por exemplo, Prt Sc:\nA título de curiosidade, nos computadores mais antigos, que não dispunham de interface gráfica, mas apenas de interface textual, a tecla Print Screen enviava o conteúdo da tela para a impressora. Hoje ela tem outra função, a de \u0026ldquo;bater uma foto\u0026rdquo; da tela (screenshot), o que ficou conhecido, graças a essa tecla, como \u0026ldquo;bater um print\u0026rdquo; ou \u0026ldquo;tirar um print\u0026rdquo; da tela.\nAo pressionar a tecla Print Screen, toda a tela é capturada. Isso inclui a barra de tarefas, a Área de Trabalho e todos os programas visíveis. Se você usa dois ou mais monitores, a imagem de todos os monitores é condensada em uma única captura.\nA captura da tela fica então disponível na área de transferência para ser colada em algum aplicativo, como o Paint ou o Word.\nÉ possível capturar apenas a janela atual utilizando a combinação Alt + Print Screen.\nObserve que em ambos os casos o cursor do mouse não aparece na captura de tela, o que pode parecer estranho em capturas de menus, por exemplo:\nObserve também que capturar a tela dessa forma, apesar de eficaz, não é eficiente: você depende de outro aplicativo para editar e salvar a imagem.\nPaint como fundo branco Algo que costumo fazer antes de capturar uma tela é deixar uma janela maximizada do Paint por trás com um desenho em branco que preenche toda a tela, especialmente se pretendo mostrar um menu ou dica (hint) que foge à janela do aplicativo.\nAssim, evito que conteúdo indesejado que está por trás do aplicativo apareça na captura.\nDropbox para salvar as capturas Se você quiser que automaticamente as capturas sejam salvas como arquivos de imagem, uma boa pedida é habilitar essa função no Dropbox, que de quebra ainda envia as imagens para a nuvem.\nA qualquer momento você pode habilitar ou desabilitar esse recurso nas preferências do Dropbox:\nClique no ícone do Dropbox na área de notificação; Clique no ícone de engrenagem e, no menu que aparece, clique em Preferências; Clique na guia Importar; Marque ou desmarque a opção Compartilhar capturas de tela usando o Dropbox; Clique em OK para aplicar sua configuração e sair das Preferências do Dropbox. Agora sempre que você apertar Print Screen ou Alt + Print Screen, a captura de tela será automaticamente salva no seu Dropbox.\nOneDrive para salvar as capturas Outra opção para salvar as capturas de tela e enviá-las para a nuvem automaticamente é o OneDrive, que também dispõe desse recurso.\nPara habilitar ou desabilitar esse recurso do OneDrive:\nClique com o botão direito do mouse no ícone do OneDrive na área de notificação; Clique no item de menu Configurações; Clique na guia Salvamento automático; Marque ou desmarque a opção Salvar automaticamente no OneDrive as telas que eu capturar; Clique em OK para aplicar sua configuração e sair das configurações do OneDrive. Agora sempre que você apertar Print Screen ou Alt + Print Screen, a captura de tela será automaticamente salva no seu OneDrive.\nFerramenta de Captura do Windows As versões mais atuais do Windows (do Windows 7 em diante) vêm com a Ferramenta de Captura, que é bastante intuitiva e permite um controle um pouco maior sobre as capturas de tela.\nPara iniciar a Ferramenta de Captura, abra o menu Iniciar, digite captura na caixa de pesquisa e depois clique em Ferramenta de Captura.\nPara capturar a tela, clique em Novo e, em seguida, selecione a parte da tela que você deseja capturar:\nA captura da tela aparece na janela da ferramenta. Então, você pode desenhar sobre a captura usando a caneta, salvá-la, copiá-la ou enviá-la por email.\nAntes de capturar a tela, a ferramenta permite a você configurar como deseja fazer a captura. Para isso, verifique as opções que aparecem ao clicar nas setas ao lado de Atraso e Novo.\nObserve que essa ferramenta também não captura o cursor do mouse.\nCapturas com o IrfanView O IrfanView é um pequeno visualizador de imagens para Windows. Ele também oferece alguns recursos básicos de edição, como girar, recortar e borrar a imagem. O IrfanView é compatível com praticamente todas as versões do Windows (do Windows 95 em diante) e é simples, leve e gratuito.\nDepois que descobri a funcionalidade de captura de tela do IrfanView, passei a utilizá-lo para capturar telas. Vejamos como ele pode nos ajudar com essa tarefa.\nPrimeiro, baixe o IrfanView do seu site oficial, na página Download. Observe que há uma versão portátil que dispensa instalação. Ela pode ser obtida clicando no link Other download sites (Mirrors), no final da página de download.\nTambém é possível baixar a tradução para o Português do Brasil e plugins por meio das páginas IrfanView languages e PlugIns, respectivamente. Esses são downloads opcionais, mas recomendo a instalação de pelo menos os plugins.\nSe você utiliza uma versão de 64 bits do Windows, talvez prefira baixar a versão de 64 bits do IrfanView na página IrfanView 64-bit. Nessa página, estão disponíveis para download o instalador, a versão portátil e os plugins de 64 bits.\nPara iniciar o IrfanView, abra o menu Iniciar, digite irfanview na caixa de pesquisa e depois clique em IrfanView (no meu computador, utilizo a versão de 64 bits):\nAqui está a tela inicial do IrfanView:\nPara começar a captura de tela, clique no menu Options e depois no item Capture/Screenshot:\nAparece uma caixa de diálogo na qual é possível configurar vários aspectos da captura de tela:\nObserve que a maioria dos comandos do IrfanView possui teclas de atalho (do inglês shortcut keys ou hot keys) associadas. A tecla de atalho para o comando Capture/Screenshot é C, ou seja, apertar a tecla C na tela principal produziria o mesmo efeito que clicar naquele item de menu: a exibição da caixa de diálogo Capture Setup.\nVejamos as opções dessa caixa de diálogo.\nA seção Capture area nos permite definir que parte da tela queremos capturar. As opções que eu mais utilizo são:\nFull desktop area - all monitors: captura a tela de todos os monitores, o mesmo comportamento da tecla Print Screen; Foreground window: captura apenas a janela em uso, o mesmo comportamento da combinação de teclas Alt + Print Screen; e Desktop area - current monitor (mouse): captura apenas a tela do monitor em uso (o monitor no qual o cursor do mouse se encontra), útil se você tem vários monitores e deseja capturar a tela de apenas um. A seção Capture method nos permite definir com base em que evento a captura será iniciada: após o uso de uma combinação de teclas (Hot key) ou após um determinado período de tempo (Automatic - timer delay). Eu costumo selecionar a primeira opção e alterar a combinação de teclas, que por padrão é Ctrl + F11, para apenas F11.\nSempre deixo a opção Include mouse cursor marcada.\nPor fim, a seção After the capture nos permite definir o que acontecerá após a captura da tela. A opção selecionada por padrão, Show captured image in main window, faz com que a captura de tela seja trazida para a janela do IrfanView, o que permite a você tratar a imagem usando as funcionalidades do IrfanView e salvar.\nA opção Copy captured image to clipboard equivale ao que acontece quando usamos a tecla Print Screen.\nA última opção, Save captured image as file, permite salvar a captura de tela automaticamente. Uma boa ideia pode ser selecionar a última opção e configurar o IrfanView para automaticamente salvar a captura de tela na pasta do Dropbox ou do OneDrive.\nQuando terminar de configurar a captura de tela, clique em Start para começar.\nObserve que o IrfanView some (na verdade, ele é minimizado) e permite que você prepare a tela para a captura. Para realizá-la, pressione a combinação de teclas configurada previamente.\nO que acontece depois que a tela é capturada? Se você deixou marcada a opção Show captured image in main window, o IrfanView aparece novamente com a imagem capturada e você pode então trabalhar nela usando o IrfanView:\nPara salvar a imagem, clique no ícone do disquete ou abra o menu File e clique em Save as (tecla de atalho: S).\nSe você marcou qualquer uma das outras opções na sessão After the capture, após a captura o IrfanView permanecerá minimizado. Nesse caso, você pode algum tempo depois bater uma nova captura de tela usando as mesmas configurações. Para fazer outra captura com configurações diferentes, volte à tela inicial do IrfanView e recomece o passo a passo.\nAqui vão algumas sugestões de ações que você pode realizar sobre a imagem no IrfanView:\nPara selecionar uma área da imagem, arraste o cursor do mouse ao redor da área da imagem que você deseja selecionar (da mesma forma como você faria em outro programa, como o Paint); Para fazer um recorte da área selecionada (crop), abra o menu Edit e clique em Crop selection (Cut out) (tecla de atalho: Ctrl + Y), a imagem então passa a ser apenas a área selecionada, a área que ficou de fora da seleção é descartada; Para girar a imagem para a esquerda, no sentido anti-horário, abra o menu Image e clique em Rotate Left (counter-clockwise) (tecla de atalho: L); Para girar a imagem para a direita, no sentido horário, abra o menu Image e clique em Rotate Right (clockwise) (tecla de atalho: R); Para redimensionar a imagem, abra o menu Image e clique em Resize/Resample (tecla de atalho: Ctrl + R), aparecerá uma caixa de diálogo com várias opções para redimensionar a imagem; Para desenhar, abra o menu Edit e clique em Show Paint dialog (tecla de atalho: F12), uma caixa de ferramentas bastante semelhante com a do Paint aparecerá: Para aplicar efeitos à imagem, abra o menu Image, aponte para Effects e clique em Effects browser, aparecerá uma caixa de diálogo com várias opções de efeitos para aplicar à imagem. Uma dica para a hora de salvar: se você instalou os plugins do IrfanView, abra o menu File e, ao invés de clicar em Save as, clique em Save for Web\u0026hellip; (PlugIn):\nAparecerá então uma caixa de diálogo que oferecerá várias opções para comprimir a imagem:\nIsso é bastante útil se o tamanho final do arquivo de imagem for importante (se ficou confuso, aqui estou falando de bytes e não de pixels). Exemplos desse caso incluem imagens que serão utilizadas em páginas da Internet, enviadas por email ou utilizadas em apresentações de slides.\nTodas as imagens presentes nesse post foram capturadas, tratadas e comprimidas usando o IrfanView. Espero que ele possa te ajudar como tem me ajudado.\nReferências A maior parte do que escrevi aqui veio do que aprendi me aventurando a usar os programas que mencionei. No entanto, é bem verdade que consultei algumas páginas para me certificar de que não escrevi besteira. Então, deixo aqui, para referência, a lista dessas páginas:\nComo salvar automaticamente suas capturas de telas no Dropbox | Dicas e Tutoriais | TechTudo Como compartilhar e salvar capturas de tela com o Dropbox? (Central de ajuda do Dropbox) Salvar automaticamente capturas de tela no OneDrive Abrir a Ferramenta de Captura e tirar uma captura de tela - Ajuda do Windows ","date":"2016-02-18T02:00:00Z","permalink":"/pt-br/artigo/dicas-para-bater-bons-prints/","title":"Dicas para bater bons prints"},{"content":"De uma hora para outra, o WhatsApp foi bloqueado no Brasil. Mas há artifícios que possibilitam a utilização do aplicativo, mesmo com o bloqueio das operadoras. Aqui veremos um deles: o aplicativo Psiphon.\nVale observar que o Psiphon também permite o uso de quaisquer sites e aplicativos bloqueados ou censurados pelo responsável pela rede (seja a empresa, organização, universidade, operadora, etc).\nPorque o WhatsApp deixou de funcionar? A Justiça ordenou que as operadoras de telefonia bloqueassem o uso do aplicativo WhatsApp em todo o Brasil por 48 horas, começando à meia noite (0h) dessa quinta-feira 17 de dezembro de 2015. Esse bloqueio aconteceu porque a empresa responsável pelo WhatsApp descumpriu uma determinação judicial. Como o processo corre em segredo de justiça, quase nenhuma informação é revelada.\nO fato é que, mesmo sem saber ao certo porque, muita gente ficou na mão sem poder usar o WhatsApp de ontem pra hoje. As pessoas já começaram a migrar para outros aplicativos semelhantes.\nUma solução para quem não deseja ficar sem usar o serviço de mensagens é utilizar aplicativos que visam burlar a censura na Internet, a exemplo do Psiphon.\nComo funciona o Psiphon? O Psiphon burla a censura ou bloqueio imposta ao seu computador ou dispositivo móvel (smartphone ou tablet) por meio de uma conexão em forma de túnel que ele estabelece com algum outro computador anônimo em algum outro lugar do mundo. Ele atravessa os dados que chegam e saem de você por esse túnel. Dessa maneira, os dados evitam o caminho comum, que está bloqueado, e passam por outro caminho, que não está censurado.\nInstalando e usando o Psiphon no Android Em smartphones e tablets com Android, o Psiphon pode ser baixado e instalado pela Play Store, como a maioria dos aplicativos:\nObservação: o ideal é que você instale o Psiphon em seu aparelho antes mesmo de precisar, porque pode ser que a rede que você estiver usando no momento em que realmente precisar não permita essa instalação.\nPara iniciá-lo, procure pelo ícone na tela inicial ou na lista de aplicativos:\nAssim que o aplicativo é iniciado, ele já tenta criar o túnel. Diante disso, o Android exibe um alerta. Marque a opção Confio nesse aplicativo e toque em OK:\nQuando a conexão é estabelecida com sucesso, o aplicativo abre no navegador sua página oficial:\nA partir de agora, você já pode acessar sites e usar aplicativos censurados.\nQuando não quiser usar mais o túnel, volte ao aplicativo e clique em Stop:\nUsando o Psiphon no Windows No computador, não é necessário instalar o Psiphon: basta baixar e começar a usar.\nAcesse o site do Psiphon e clique em Download, em seguida clique no link do Psiphon para Windows:\nObservação: o ideal é que você baixe o Psiphon antes mesmo de precisar, porque pode ser que a rede que você estiver usando no momento em que realmente precisar não permita o acesso ao site do Psiphon. Você pode baixá-lo em um computador não censurado e carregá-lo consigo em um pendrive, por exemplo.\nQuando acabar o download, inicie o aplicativo, ele estabelecerá a conexão:\nQuando a conexão é estabelecida com sucesso, o aplicativo abre no navegador sua página oficial. A partir de agora, você já pode acessar sites e usar aplicativos censurados.\nQuando não quiser mais usar o túnel, volte ao aplicativo e clique em Disconnect.\nE se bloquearem o Psiphon também? Nesse caso, não será possível burlar a censura ou bloqueio imposto pela rede usando o Psiphon, mas você pode tentar usar outros aplicativos semelhantes, a exemplo do Tor ou do Hola. Uma pesquisa na Internet pode mostrar mais alternativas.\nHá Psiphon para Linux? No site do Psiphon não há uma opção de download para o Linux. Há evidências de que é possível utilizar a versão para Windows no Linux com o Wine, mas é mais prático utilizar o Tor, que dispõe de uma versão própria para Linux.\nEspero que possa ter ajudado! Dúvidas nos comentários!\n","date":"2015-12-17T08:00:00Z","permalink":"/pt-br/artigo/acesse-sites-e-aplicativos-censurados-com-o-psiphon/","title":"Acesse sites e aplicativos censurados com o Psiphon"},{"content":"Precisou reiniciar o computador, estava com pressa e se esbarrou nas atualizações do Windows 10?\nPior: ele passou um tempão tentando instalar as atualizações, depois falhou e passou mais outra eternidade desfazendo o trabalho?\nVeja aqui como ter um pouco mais de controle sobre as atualizações do Windows.\nPor que elas são tão frequentes? Desde que a Microsoft decidiu oferecer o Windows como um serviço, e não mais como um programa tradicional com número de versão, as atualizações são continua e automaticamente baixadas e instaladas pelo sistema operacional, que não consulta o usuário sobre como ou quando fazer isso. O Windows Update se esforça para que os usuários do Windows tenham sempre a versão mais recente dos componentes do sistema.\nIsso, no entanto, gera um inconveniente para alguns usuários, que podem enfrentar lentidão na conexão com a Internet ou até do computador como um todo. Sem contar com o inconveniente bem conhecido de não poder contar com o computador em um momento de necessidade (como quando o Windows não reinicia imediatamente para instalar atualizações).\nAs versões anteriores do Windows ofereciam maior controle sobre o processo de atualização e suas configurações estavam mais acessíveis. O Windows 10 oferece algum controle sobre as atualizações, mas as configurações não estão tão visíveis, vejamos onde encontrá-las. Note que algumas delas não estão disponíveis em todas as edições do Windows.\nObservação: por mais que seja possível adiar ou ignorar as atualizações do Windows, elas continuam sendo necessárias. É importante que regularmente você reserve um tempo para verificar se há novas atualizações e deixar o computador instalá-las. Pode ser que o sistema solicite a obtenção de atualizações, como já aconteceu comigo:\nConfigurar a conexão como limitada Quando você informa ao Windows que a conexão que você está usando é limitada (Wi-Fi ou rede móvel, por exemplo), ele não baixa atualizações automaticamente usando essa conexão.\nPara isso, clique no botão Iniciar, no canto inferior esquerdo da tela, e depois clique em Configurações. Na tela que aparece, clique em Rede e Internet e depois em Wi-Fi. Depois da lista de redes Wi-Fi disponíveis, clique em Opções avançadas. Você chegará à seguinte tela, na qual pode ativar ou desativar a conexão limitada:\nDepois de ativar a conexão limitada, se você acessar as configurações do Windows Update (menu Iniciar, Configurações, Atualização e segurança, Windows Update), perceberá que o Windows oferece a possibilidade de buscar atualizações apenas quando desejado, clicando no botão Verificar se há atualizações:\nPara baixar e instalar atualizações com essa configuração ativada, você pode:\nOrdenar o download manualmente, como explicado acima; Desativar a conexão limitada (depois que terminar a atualização, você pode ativá-la de novo); ou Conectar a uma rede que não está configurada como limitada. Agendar a reinicialização Com frequência, após a instalação de atualizações, é preciso reiniciar o computador. Normalmente, o Windows tenta perceber um horário em que você não usa o computador (de madrugada, por exemplo) e reinicia nesse horário. Se preferir, você pode agendar um horário para ele reiniciar.\nPara isso, clique no botão Iniciar, no canto inferior esquerdo da tela, e depois clique em Configurações. Na tela que aparece, clique em Atualização e segurança e depois em Windows Update. Clique em Opções avançadas. Você chegará à seguinte tela, na qual pode selecionar Avisar antes de agendar reinicialização em vez de Automático (recomendado):\nFeito isso, quando o Windows começar a instalar atualizações, você será solicitado a informar um horário para que ele possa reiniciar o computador e continuar a atualização:\nBloquear atualizações específicas Se seu problema é causado por apenas uma atualização, uma boa alternativa é impedir que o sistema instale apenas a atualização indesejada. Para isso, a Microsoft lançou o pacote de solução de problemas Mostrar ou ocultar atualizações:\nPara mais informações, consulte a base de dados de conhecimento da Microsoft.\nAdiar atualizações Se você utiliza uma edição profissional do Windows, pode adiar atualizações. Esse recurso é especialmente útil para quem utiliza o Windows na empresa e precisa de estabilidade: atualizações de segurança são sempre instaladas assim que lançadas, mas recursos novos podem ter sua instalação adiada até que tenham sido bastante testados e a Microsoft possa assegurar o seu correto funcionamento.\nPara configurar o Windows Update para adiar atualizações, clique no botão Iniciar, no canto inferior esquerdo da tela, e depois clique em Configurações. Na tela que aparece, clique em Atualização e segurança e depois em Windows Update. Clique em Opções avançadas. Você chegará à seguinte tela, na qual pode ativar a opção Adiar atualizações:\nConfigurar atualizações pela política de grupo Se você utiliza uma edição profissional do Windows, pode configurar as atualizações automáticas por meio da política de grupo da mesma maneira como era possível em versões anteriores do Windows.\nPara acessar o editor de política de grupo, abra o menu Iniciar, pesquise por gpedit.msc e execute o editor de política de grupo como administrador:\nNa estrutura de árvore da esquerda, navegue para Configuração do Computador, Modelos Administrativos, Componentes do Windows, Windows Update. À direita, localize o item Configurar Atualizações Automáticas e clique duas vezes nele:\nNa tela que aparece, selecione Habilitado e em Opções configure como desejar. Você pode selecionar, por exemplo, Avisar antes de baixar e de instalar qualquer atualização:\nObservação: nessa mesma tela, se você selecionar Desabilitado, em vez de Habilitado, desativará as atualizações do Windows por completo.\nClique em OK e feche o editor de política de grupo. Agora acesse as configurações do Windows Update (menu Iniciar, Configurações, Atualização e segurança, Windows Update) e clique em Verificar se há atualizações:\nLogo em seguida, quando o Windows começar a buscar atualizações, clique em Opções avançadas. Observe nessa tela a mensagem Algumas configurações são gerenciadas pela sua organização:\nObserve também que não é possível escolher como as atualizações são instaladas: essa opção está desabilitada, mostrando a configuração escolhida no editor de política de grupo.\nNesse caso, só é possível configurar o Windows Update pelo editor de política de grupo. Caso deseje voltar a configurar o Windows Update por essa tela, volte à tela Configurar Atualizações Automáticas no editor de política de grupo, selecione Não Configurado e clique em OK.\nConfigurar atualizações pelo registro Nas edições profissionais do Windows, também é possível fazer a configuração descrita acima pelo registro. Na verdade, a tela Configurar Atualizações Automáticas é apenas uma interface gráfica para essa configuração.\nAbra o menu Iniciar, pesquise por regedit e execute o editor de registro como administrador:\nNavegue até a chave de registro HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU. Caso essas duas últimas chaves não existam, você terá que criá-las: navegue até a chave HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows, dentro dela crie uma chave WindowsUpdate e, dentro desta, uma chave AU.\nModifique (se necessário, antes, crie) o valor AUOptions, do tipo REG_DWORD para um dos valores a seguir:\n2 - Avisar antes de baixar e de instalar qualquer atualização; 3 - Baixar automaticamente as atualizações e avisar quando elas estiverem prontas para serem instaladas; ou 4 - Baixar automaticamente e agendar a instalação. Clique em OK e feche o editor de registro:\nAgora acesse as configurações do Windows Update (menu Iniciar, Configurações, Atualização e segurança, Windows Update) e clique em Verificar se há atualizações:\nLogo em seguida, quando o Windows começar a buscar atualizações, clique em Opções avançadas. Observe nessa tela a mensagem Algumas configurações são gerenciadas pela sua organização:\nObserve também que não é possível escolher como as atualizações são instaladas: essa opção está desabilitada, mostrando a configuração correspondente ao valor existente na chave de registro.\nDesativar o serviço do Windows Update Uma solução extrema é desativar o serviço do Windows Update, de modo que o Windows não busca nem baixa atualizações. É possível ativar esse serviço novamente em um momento oportuno para que o sistema possa se atualizar.\nObservação: essa não é a melhor opção para contornar problemas com as atualizações do Windows. Fazendo isso, seu sistema não receberá atualização alguma, nem mesmo as relativas a segurança. Considere utilizar uma das alternativas anteriores.\nPara desativar o serviço do Windows Update, abra o menu Iniciar, pesquise por services.msc e execute o gerenciador de serviços como administrador:\nNa lista de serviços, procure pelo serviço Windows Update (ele deve ser um dos últimos) e clique duas vezes nele:\nNa tela que aparece, em Tipo de inicialização selecione Desativado e clique em OK:\nPronto, pode fechar o gerenciador de serviços.\nReferências As páginas nas quais encontrei as informações necessárias para redigir esse tutorial foram:\nWhat You Need to Know About Windows Update on Windows 10 How to Prevent Windows 10 From Automatically Downloading Updates How to turn off Windows Update in Windows 10 What Does \u0026ldquo;Defer Upgrades\u0026rdquo; in Windows 10 Mean? How to block unwanted Windows Updates in Windows 10 Espero que possa ter ajudado! Dúvidas nos comentários!\n","date":"2015-12-15T12:30:00Z","permalink":"/pt-br/artigo/como-configurar-as-atualiza%C3%A7%C3%B5es-autom%C3%A1ticas-do-windows-10/","title":"Como configurar as atualizações automáticas do Windows 10"},{"content":" Começou a Black Friday! Muitos consumidores anseiam pela oportunidade de fazer um bom negócio e adquirir um bom computador com excelente custo benefício. No entanto, como escolher o melhor dentre tantos anúncios aparentemente interessantes? Será que o barato de hoje pode custar caro amanhã?\nReuni aqui algumas dicas que sempre passo a quem me pergunta o que avaliar na hora de comprar um computador. Espero que possam ser úteis para você que visita esta página. Se discordar de algo ou tiver alguma dica a acrescentar, não deixe de comentar!\n1. Defina o que deseja O primeiro passo e o mais importante, pois vai influenciar em toda a avaliação, é definir o que você deseja comprar, o que você espera do seu futuro computador.\nO que farei com meu computador? Você não precisa comprar um computador com grande poder computacional, que geralmente é mais caro, se não pretende utilizá-lo para algo realmente complexo. A intenção é avaliar a relação entre custo e benefício.\nA que me refiro quando falo em \u0026ldquo;algo complexo\u0026rdquo;? Para um computador doméstico, jogos, por exemplo, são atividades complexas: exigem que o computador faça muitos cálculos e processe muitas regras ao mesmo tempo. Além disso, ele deve responder rapidamente (de preferência, em tempo real) aos comandos de quem joga. Se você deseja um computador para jogar, especialmente se está de olho nos últimos lançamentos em jogos (os jogos \u0026ldquo;pesados\u0026rdquo;), se prepare para desembolsar uma boa grana.\nTambém poderia citar como exemplos de atividades complexas, que exigem muito do computador: produção de conteúdo multimídia (edição de sons, fotos e vídeos) e programação (desenvolvimento de aplicativos e sites).\nDo outro lado, existem as atividades \u0026ldquo;leves\u0026rdquo;, que não exigem muito do computador. Dessas qualquer computador dá conta. Felizmente, são também as mais comuns. São exemplos de atividades leves: navegar pela Internet, usar aplicativos de escritório (a exemplo do Microsoft Office ou do LibreOffice), ouvir músicas, assistir a vídeos e filmes (se não forem am alta resolução). Se seu uso diário se restringe a essas atividades, não precisará gastar tanto para adquirir um bom computador que satisfaça as suas necessidades.\nComputador de mesa (desktop) ou notebook? Os notebooks tem se mostrado bastante atraentes devido às suas facilidades: podem ser usados em qualquer lugar (na sala, no quarto, na mesa, no sofá, na cama), podem ser transportados e usados na rua, não ocupam tanto espaço e não possuem tantos fios. Parecem casar com a palavra praticidade.\nNo entanto, vale observar que eles também apresentam inconvenientes: geralmente, possuem menos poder computacional que um computador de mesa do mesmo preço (devido ao tamanho menor e à preocupação em fazer a bateria durar). Além disso, sua manutenção e atualização (trocar componentes por outros melhores) também são mais difíceis. Também não são ergonômicos, sendo menos apropriados que o computador de mesa para uso por várias horas diárias.\nAvalie suas prioridades. Se for comprar um notebook, se imagine utilizando-o por um bom tempo sem atualizá-lo. Um bom notebook pode durar de 2 a 5 anos (ou ainda mais). Quando começar a sentir seu notebook lento, muito provavelmente trocá-lo por outro novo terá um melhor custo benefício do que trocar alguma peça.\nSerá que é melhor um tablet ou smartphone? Se você tem dificuldade em usar computadores, talvez um tablet ou smartphone seja uma melhor opção: eles já servem para as atividades mais corriqueiras que citei acima, oferecem melhor usabilidade e, a depender do aparelho, ainda podem ser usados para fazer ligações ou conectar à Internet móvel 3G ou 4G!\nNote que, em geral, os tablets e smartphones requerem menos poder computacional que os computadores de mesa e os notebooks para realizar suas atividades corriqueiras e, por isso, são mais baratos. No entanto, tablets e smartphones que aguentam atividades mais pesadas (jogos mais sofisticados ou filmagens em alta resolução, por exemplo) são mais caros.\n2. Processador Começarei a falar agora sobre como avaliar os componentes do computador. Se algo aqui não é familiar, recomendo que leia um post meu que fala sobre esses componentes. Se prepare para aprender mais algumas coisas.\nComo sabemos, o processador é o principal componente de um computador. Não apenas o principal, ele é também o mais rápido. Assim, ele é o maior (porém não o único) responsável pelo desempenho do computador. Não podemos esperar muito de um computador se seu processador é lento.\nHá várias características que influenciam o desempenho de um processador, mas, para simplificar, vamos nos ater às que mais aparecem nos anúncios: frequência de operação, memória cache e quantidade de núcleos.\nFrequência de operação A frequência de operação (o termo em inglês talvez seja mais conhecido: clock) determina quantas operações o processador é capaz de realizar em uma unidade de tempo. Ela pode ser entendida como a velocidade em que o processador funciona. A frequência dos processadores atuais é medida em gigahertz (GHz), que significa bilhões de ciclos por segundo. Um processador que opera a 1GHz, por exemplo, é capaz de realizar 1 bilhão de operações por segundo. Outro processador que opera a 2GHz tende a ser duas vezes mais rápido que esse de 1GHz.\nUm processador com maior frequência de operação pode fazer mais coisas simultaneamente. Isso significa que ele é capaz de executar mais programas ao mesmo tempo, ou executar um programa \u0026ldquo;pesado\u0026rdquo; com mais tranquilidade.\nMemória cache A memória cache é uma memória que existe dentro do processador. Ela apresenta uma capacidade menor, porém é ainda mais rápida que a memória RAM. Se pudéssemos comparar um processador a uma pessoa trabalhando em um escritório, a memória RAM seria sua mesa de trabalho, enquanto a memória cache seria sua memória de curto prazo, dentro da sua cabeça.\nA capacidade da memória cache determina a quantidade de dados que ela pode armazenar. Nos computadores atuais, as memórias cache geralmente são capazes de armazenar alguns megabytes (MB), que equivalem a milhões de bytes (unidade mínima de informação). Uma memória de 3MB armazena mais informações que outra de 2MB, por exemplo.\nAlguns anúncios informam a capacidade da memória cache do processador. Se o anúncio não fala sobre a memória cache, experimente procurar as especificações técnicas do processador na Internet pesquisando pelo seu modelo. O processador Intel Core i5 5200U, por exemplo, apresenta memória cache de 3MB.\nUm processador com maior memória cache precisa usar menos a memória RAM. Portanto, tende a ser um processador mais rápido, já que a memória cache é mais rápida que a memória RAM.\nNúcleos de processamento Antigamente, uma forma de aumentar o desempenho de um computador era instalar dois ou mais processadores na placa-mãe, caso ela oferecesse essa possibilidade. Com a evolução da nanotecnologia, uma alternativa mais barata, mas igualmente eficiente: os núcleos de processamento (cores), que apresentam todos os componentes de um processador.\nUm processador comum é considerado um processador de apenas um núcleo (single core). Um processador com dois núcleos (dual core) apresenta todos os seus componentes duplicados. Na prática, equivale a dois processadores. Há também os computadores com quatro núcleos (quad core).\nProcessadores com mais núcleos tendem a ser mais rápidos que outros com menos núcleos.\nDevo fazer uma observação quanto ao processador Celeron, da Intel, que possui fama de \u0026ldquo;processador defeituoso reaproveitado\u0026rdquo;. Não recomendo a compra de computadores com processadores dessa linha, pois, apesar de serem mais baratos, não apresentam desempenho satisfatório. Todos os demais processadores dessa fabricante, assim como os fabricados pela AMD, são bons.\n3. Memória Um computador apresenta, na verdade, vários tipos de memória, que diferem em termos de localização, capacidade e custo. Quando os anúncios usam apenas a palavra memória, eles se referem especificamente à memória principal ou memória RAM.\n{% include image.html caption=\u0026ldquo;Memória RAM\u0026rdquo; src=\u0026quot;/files/2015/11/memoria-ram.jpg\u0026quot; %}\nA característica da memória RAM que mais contribui para o desempenho do computador é a sua capacidade. Nos computadores atuais, as memórias RAM geralmente são capazes de armazenar alguns gigabytes (GB), que equivalem a bilhões de bytes (1GB = 1000MB). Uma memória de 4GB armazena mais informações que outra de 2GB, por exemplo.\nQuando o computador utiliza toda a memória RAM e ainda precisa de mais memória, ele transfere parte dos dados que não está usando (por exemplo, um programa minimizado) para o disco rígido, para liberar espaço na memória RAM (esse processo é conhecido por swap). Depois, ele pode fazer novas trocas de dados entre a memória RAM e o disco rígido, à medida em que uns dados se tornam necessários e outros não. Essas trocas tornam o computador mais lento, pois consomem tempo do processador (que poderia ser melhor aproveitado) e o disco rígido é bem mais lento que a memória RAM. O ideal é que o computador tenha memória RAM suficiente para não precisar fazer essas trocas com frequência.\nUm computador com mais memória RAM pode fazer mais coisas ao mesmo tempo. Isso significa que ele é capaz de executar mais programas ao mesmo tempo, ou executar um programa \u0026ldquo;pesado\u0026rdquo; com mais tranquilidade.\nAtualmente, 2GB de memória RAM é a capacidade mínima aceitável. Se quiser usar o computador com conforto, escolha um modelo com capacidade igual ou superior a 4GB.\n4. Disco rígido O disco rígido (do inglês hard disk, HD) é um tipo de memória secundária, que armazena dados a longo prazo. Usando mais uma vez a analogia do escritório, poderia ser comparado à prateleira do processador.\nA principal característica do HD a ser avaliada ao comparar ofertas é a sua capacidade. Nos computadores atuais, os HDs geralmente são capazes de armazenar vários gigabytes (GB) a alguns terabytes (TB), que equivalem a trilhões de bytes (1TB = 1000GB). Um HD de 500GB, por exemplo, armazena mais informações do que outro de 250GB, mas tem capacidade menor do que um HD de 1TB.\nUm HD com capacidade maior armazena mais dados. Em geral, qualquer HD ofertado é suficiente para armazenar o sistema operacional, os programas e os arquivos pessoais. Claro que quanto maior a capacidade, melhor, isso significa mais programas (ou programas maiores), mais documentos, fotos, músicas, vídeos, etc. No entanto, nem sempre compensa pagar mais caro por um HD com mais capacidade.\nSe por economia de espaço o anúncio traz as capacidades da memória RAM e do HD e não explica qual é qual, de certeza a capacidade do HD é a maior. Exemplo: em um anúncio que diz \u0026ldquo;notebook com 4GB, 500GB\u0026rdquo;, 4GB se refere à memória RAM e 500GB, ao HD.\nEm termos de desempenho, o HD não afeta tanto o desempenho do computador quanto o processador ou a memória RAM. Você pode tornar o computador mais rápido removendo do HD programas e arquivos desnecessários.\nSe alto desempenho para você é uma prioridade, talvez seja mais interessante um computador com disco de estado sólido (do inglês solid state drive, SSD) do que um computador com disco rígido. Os SSDs são fabricados com tecnologia semelhante à dos pendrives e cartões de memória e são muito mais rápidos do que os tradicionais HDs, no entanto apresentam menor capacidade e tendem a ser mais caros.\n{% include image.html caption=\u0026ldquo;Um disco rígido e um disco de estado sólido por dentro\u0026rdquo; src=\u0026quot;/files/2015/11/hd-ssd.jpg\u0026quot; %}\n5. Conexões disponíveis Analise as conexões que o computador disponibiliza. Elas determinam quantos e quais dispositivos você pode utilizar junto com o computador. Isso é especialmente importante se você deseja comprar um notebook, já que geralmente não é possível adicionar recursos a esse tipo de computador. Vejamos alguns exemplos.\nUm notebook com duas portas USB permite a você conectar ao mesmo tempo um mouse e uma impressora ou um pendrive e um celular, mas nunca os quatro ao mesmo tempo, o que seria possível em um notebook com quatro portas USB. As extensões USB (hubs) podem ajudar se as portas USB do notebook não são suficientes, mas nem todos os dispositivos USB funcionam bem quando conectados a extensões.\n{% include image.html caption=\u0026ldquo;Não queira depender de uma extensão USB: nem todos os dispositivos funcionam bem com ela\u0026rdquo; src=\u0026quot;/files/2015/11/hub-usb.jpg\u0026quot; %}\nGeralmente, os notebooks disponibilizam saídas de vídeo para conexão com projetores (datashows). O padrão mais recente é o HDMI, o mesmo usado nas TVs digitais e reprodutores de Blu-ray, mas há também o padrão VGA, que existe há mais tempo. Há notebooks que disponibilizam esses dois tipos de saída de vídeo, permitindo a conexão com uma variedade maior de projetores.\nSe você pretende usar Bluetooth, é melhor comprar um notebook que já ofereça essa conexão. Adaptadores externos são mais baratos, mas não apresentam o mesmo desempenho e nem sempre funcionam bem.\nO notebook Acer Aspire E5-571-52ZK, por exemplo, disponibiliza 1 porta USB 3.0, 2 portas USB 2.0, 1 saída de vídeo HDMI, 1 saída de vídeo VGA, 1 porta de rede padrão RJ45, leitor de cartão de memória, saída para fone de ouvido, entrada para microfone, conexão Wi-Fi e Bluetooth. É um notebook bastante versátil.\n{% include image.html caption=\u0026ldquo;Conexões na lateral do notebook Acer Aspire E5-571-52ZK\u0026rdquo; src=\u0026quot;/files/2015/11/acer-aspire-e5.jpg\u0026quot; %}\n6. Software: sistema operacional e aplicativos É importante verificar qual software é fornecido pelo fabricante junto com o computador. No mínimo, o computador deve vir com um sistema operacional já instalado de fábrica e alguma forma de recuperá-lo em caso de pane (um DVD de recuperação, por exemplo) ou com os drivers dos componentes, que permitirão a configuração do sistema operacional, caso este deva ser instalado à parte.\nNo entanto, não recomendo que os programas de fábrica sejam um fator decisivo na hora da compra, pois eles podem ser baixados ou adquiridos separadamente. É comum computadores virem de fábrica com vários programas já instalados, em sua maioria demonstrações gratuitas de programas cujas versões completas são pagas.\nSe você possui uma mídia de instalação e uma licença do sistema operacional que deseja utilizar, verifique a possibilidade de comprar o computador sem o sistema operacional para instalar você mesmo. Isso reduz o custo do computador. Também são mais baratos computadores com o sistema operacional Linux, que também pode ser obtido gratuitamente pela Internet.\n7. Reputação da fabricante e da loja Para algumas coisas, marca pode ser besteira, mas para outras, não, e computadores são um bom exemplo disso. Geralmente, os computadores de marcas anônimas ou com má fama são tão bons quanto a sorte de quem os compra. Evite comprar computadores de fabricantes ou lojas desconhecidas.\nFabricantes de computadores bons que já usei e não me trouxeram problemas incluem ASUS, Acer e DELL.\nTive problemas recentemente com um notebook da Lenovo: ele apresentou defeitos antes do fim da garantia e o atendimento prestado foi péssimo, o processo de devolução do notebook e restituição do valor está andando no PROCON.\nLojas conhecidas incluem (mas não se limitam a) Americanas, Casas Bahia, Extra, Magazine Luiza e Ricardo Eletro.\nAntes de fechar negócio, pesquise as opiniões de outros consumidores sobre a fabricante e a vendedora do computador. Para isso, existem sites como o Reclame Aqui.\nGarantias Antes de comprar o computador, verifique as garantias oferecidas pela fabricante e pela loja. Produtos de qualidade, fabricados e vendidos por empresas sérias, apresentam garantia maior. Desconfie de produtos com pouca ou nenhuma garantia.\nPoucas pessoas sabem que podem desistir de compras feitas pela Internet no prazo de 7 dias contados a partir da data de recebimento do produto. Nesse caso, o produto é devolvido e a restituição do valor, feita imediatamente. Isso está previsto no Art. 49 do Código de Defesa do Consumidor (CDC).\nSaiba também que, além da garantia contratual, a mais conhecida, dada pela loja (geralmente, 1 ano) e contada a partir da data de emissão da nota fiscal, existe a garantia legal: ela é somada à garantia contratual e no caso dos computadores, que são produtos duráveis, é de 90 dias. Essas garantias são regulamentadas pelos Art. 26 e 50 do CDC.\nEssa informação pode ser muito útil se o computador que você comprar vier a dar problema com 1 ano e 1 mês, como muitas pessoas reclamam que acontece. Se a loja anunciou que a garantia do computador é de 1 ano, essa é a garantia contratual. Some à garantia legal de 90 dias e terá uma garantia total de 1 ano e 3 meses.\nCaso tenha algum problema com o computador adquirido, procure inicialmente a loja ou o serviço autorizado. Guarde consigo o máximo de informações que conseguir, para o caso de vir a precisar: nota fiscal, documentação, contatos, e-mails, ligações, protocolos de atendimento, etc. Caso seu problema não seja resolvido, procure o órgão de Proteção ao Consumidor (PROCON) mais próximo e relate o ocorrido. O órgão saberá o que fazer.\n8. Pronto ou montado? Novo ou usado? Se os computadores novos não cabem no seu bolso ou as ofertas não lhe parecem atraentes, duas alternativas às vitrines são: montar um computador ou comprar um usado.\nVocê pode escolher os componentes que deseja e montar seu próprio computador. Dessa forma, é possível que uma configuração melhor saia por um preço mais em conta. Além disso, você pode personalizar seu computador como quiser. Dê preferência a comprar componentes de fabricantes conhecidos e verifique se eles são compatíveis entre si. Caso não disponha de conhecimento técnico suficiente, procure um profisional competente para auxiliá-lo com a escolha das peças e na montagem do computador.\n{% include image.html caption=\u0026ldquo;Há quem prefira montar seu próprio computador personalizado!\u0026rdquo; src=\u0026quot;/files/2015/11/gabinete-transparente.jpg\u0026quot; %}\nVocê pode achar computadores usados a venda em sites como Mercado Livre ou OLX. Antes de comprar um computador usado, verifique a reputação do vendedor para não ser vítima de fraude.\nPor hora é isso, pessoal. Se lembrar de mais alguma coisa, acrescento e aviso. Não deixem de comentar! Boas compras!\n","date":"2015-11-27T03:00:00Z","permalink":"/pt-br/artigo/como-escolher-um-bom-computador-para-comprar/","title":"Como escolher um bom computador para comprar?"},{"content":" Em primeiro lugar, não se culpe e procure manter a calma. Feito isso, siga as dicas que apresento aqui para tentar restringir ao máximo a ação do bandido, se possível até mesmo recuperar o celular. Você também pode seguir essas dicas se perdeu seu celular. Algumas dicas podem funcionar também com tablets.\nAlgumas medidas apresentadas aqui dependem de ações prévias (você deve reforçar a segurança do seu celular antes de realmente precisar dela), que serão apresentadas em outro post.\nVou me concentrar nos celulares com Android, porque são os que eu conheço. Ao longo do texto, se é do meu conhecimento, disponibilizo soluções genéricas, que funcionam para qualquer celular, ou links para páginas nas quais você pode obter mais informações.\nSe você tiver alguma dica a acrescentar, por favor, não tenha vergonha de usar os comentários.\nSério, não se culpe Você não deve se culpar porque seu celular foi assaltado. \u0026ldquo;Ah, mas eu vacilei, não devia estar passando com ele na mão por aquela rua\u0026hellip;\u0026rdquo; Será mesmo que você poderia ter evitado? Já parou pra pensar que o bandido poderia ter te abordado de qualquer jeito?\nO ideal seria que fôssemos livres para termos e fazermos o que quisermos precisando nos preocupar apenas em agir de acordo com a lei. Infelizmente, moramos no Brasil: aqui, a inteligência é fundamental.\nEntão, sei que não é fácil, mas tente manter a calma, e veja o que você pode fazer após ter seu celular roubado.\nSe você também teve cartões roubados, providencie o bloqueio deles. Agilidade nessa hora é tudo!\n1) Localizar, bloquear e/ou apagar a memória do celular Se seu celular possui algum sistema de localização, talvez seja interessante não bloquear o cartão SIM (vou usar o termo mais conhecido: chip) e o celular de imediato e tentar primeiro recuperá-los. Nesse caso, peça ajuda à polícia, não tente fazer isso por conta própria.\nPara chamar a polícia, você pode discar 190 de qualquer telefone fixo ou celular. A ligação é gratuita e pode ser feita mesmo que você não possua créditos.\nGerenciador de dispositivos Android Uma das ferramentas que podem te ajudar é o Gerenciador de dispositivos Android, que permite localizar seu celular Android pela Internet. Ele está disponível na forma de site ou aplicativo (nesse caso, você pode instalá-lo e usá-lo em outro celular para localizar o seu).\nQuando você entra no site com a sua conta do Google, que deve ser a mesma configurada no celular, o Gerenciador de dispositivos Android começa a procurá-lo. Se ele estiver conectado à Internet, a posição aproximada dele será mostrada no mapa. A ferramenta também indica a última vez em que o celular foi visto conectado:\nSe o seu celular foi localizado com sucesso, é possível fazê-lo tocar, bloquear ou apagar a memória clicando em um dos botões disponíveis na tela.\nNote que você só pode usar o Gerenciador de dispositivos Android se configurou o seu celular antes.\nAplicativo projetado pelo fabricante Alguns fabricantes, a exemplo da Samsung, vendem os celulares com sistemas de localização já instalados de fábrica, como o Find My Mobile.\nSe seu celular possui um sistema como esse, pode ser que ele ofereça mais opções que o Gerenciador de dispositivos Android. Nesse caso, consulte o manual do seu celular para ver o que pode ser feito.\nAvast Anti-Theft Se seu celular possui instalado o Avast Anti-Theft (a solução antifurto gratuita mais completa que conheço, e que uso no meu celular), você pode localizá-lo e/ou controlá-lo remotamente acessando a sua conta do Avast ou enviando mensagens SMS para ele.\nPara indicar ao Avast que seu celular foi perdido (ou roubado), você pode usar outro celular para enviar para o seu celular (para o seu próprio número) um SMS com o seguinte conteúdo:\n1234 LOST (substitua 1234 pelo seu PIN do Avast)\nRecebendo esse comando, o Avast Anti-Theft executará as mesmas ações configuradas para o caso de um chip estranho ser inserido: se você não alterou a configuração padrão, ele irá bloquear o celular, disparar o alarme e enviar uma mensagem de alerta por SMS para os celulares cadastrados como amigos. Um alerta também é enviado para o seu e-mail.\nProvavelmente, ao roubar seu celular, o bandido removeu seu chip e instalou um novo, dele. Nesse caso, por padrão, o Avast Anti-Theft informa a você por e-mail e aos seus amigos por SMS o número do chip que o bandido instalou. A partir daí, os comandos SMS devem ser enviados para esse número (é pelo número do bandido que o celular os receberá).\nOutros comandos que você pode enviar por SMS incluem:\n1234 LOCATE: faz com que o Avast Anti-Theft envie a localização do seu celular; 1234 SIREN ON: ativa o alarme do celular (observe que isso chamará a atenção do ladrão, mas também fará com que ele saiba que o Avast Anti-Theft está instalado); 1234 LOCK: bloqueia o celular, impossibilitando seu uso; 1234 MESSAGE Devolva meu celular!: exibe a mensagem Devolva meu celular! na tela do aparelho; 1234 SET LOCKTEXT Vou pegar voce!: configura o celular para exibir na tela a mensagem Vou pegar voce! quando for bloqueado (use esse comando antes do comando LOCK); 1234 WIPE: apaga todos os dados da memória do celular; 1234 FOUND: indica ao Avast que o celular foi encontrado, desativando o bloqueio e o som de alarme; 1234 SIREN OFF: desativa o alarme do celular; 1234 UNLOCK: desbloqueia o celular e adiciona o chip em uso à lista de chips confiáveis. Também é possível enviar comandos SMS para o celular perdido usando o Avast Mobile Security, caso você consiga outro celular com esse antivírus instalado. Para isso:\nAbra o Avast Mobile Security e selecione mais ferramentas: Selecione Anti-Theft: Selecione Controle remoto via SMS: A lista de comandos possíveis aparece: Clicando em um deles (LOST, por exemplo), o Avast te auxiliará a enviar a mensagem SMS com o comando: Ao utilizar o Avast Anti-Theft para controlar seu celular perdido, você deve estar atento a alguns detalhes:\no celular que você usa para enviar comandos via SMS deve possuir créditos para enviá-los, assim como seu celular deve possuir créditos para poder alertá-lo quando um chip desconhecido for inserido e responder aos comandos recebidos; e se você configurou o Avast Anti-Theft para aceitar apenas mensagens enviadas pelos celulares cadastrados como amigos, certifique-se de utilizar um desses celulares para enviar os comandos, do contrário eles serão ignorados. Para mais informações sobre o Avast Anti-Theft, consulte o manual do Avast Mobile Security:\nAvast User Manuals | Download and Read User Guide or Manual Microsoft Exchange Se você trabalha em uma empresa que utiliza o Microsoft Exchange para prover o e-mail organizacional e seu celular está vinculado a uma conta corporativa, você pode acessar o e-mail da empresa e enviar um comando para limpar remotamente todos os dados da memória do celular. Para isso:\nEntre na sua conta usando o Outlook Web App.\nNo Outlook Web App, no canto superior direito da tela, clique em Opções e depois em Consulte Todas as Opções.\nDo lado esquerdo da tela, clique em Telefone.\nSelecione o celular ou tablet cuja memória você deseja apagar.\nClique em Apagar Dispositivo:\nOutras opções Se você possui um iPhone ou Windows Phone, saiba que esses celulares também possuem aplicativos de fábrica que podem ajudá-lo a localizá-los em caso de perda ou roubo. Para mais informações, recomendo a leitura dessa página:\nAplicativos de fábrica ajudam a localizar smartphone roubado; saiba usar - Notícias - Tecnologia 2) Bloquear o chip Se tentar recuperar o celular não deu certo ou não foi possível, talvez seja melhor aceitar o aparelho como perdido e agir então para limitar o raio de ação do bandido.\nA primeira coisa a fazer é bloquear o chip, para que não consumam seus créditos e/ou franquia de Internet, nem façam ligações se passando por você.\nEsse é um dos procedimentos mais simples e rápidos: entre em contato com a sua operadora e solicite o bloqueio do seu chip. Depois, é possível solicitar outro chip com o mesmo número.\nO procedimento para bloquear o chip varia de operadora para operadora, mas deixo aqui instruções que encontrei na Internet para clientes da Oi e da TIM.\n3) Bloquear a conta do WhatsApp Se você possui outro chip com o mesmo número, então a maneira mais rápida de bloquear sua conta no celular roubado, segundo orientação da Equipe de Suporte do WhatsApp, é acessar sua conta do WhatsApp por outro celular.\nA lógica é simples: como uma conta do WhatsApp pode ser usada apenas em um celular de cada vez, quando você inserir seu chip em outro aparelho e entrar na sua conta do WhatsApp por ele, automaticamente o aparelho roubado é desconectado.\nSe você não tiver como acessar sua conta por outro celular, envie um e-mail para a Equipe de Suporte do WhatsApp (support@whatsapp.com) informando que seu celular foi roubado e solicitando a desativação da conta. No e-mail, informe seu número em formato internacional (por exemplo, +55 79 91234-5678).\nFique atento ao seu e-mail: eles não demoram a responder.\nComo você bloqueou seu chip, mesmo que o celular roubado ainda esteja com seu número, não conseguirá mais entrar na sua conta do WhatsApp, pois não poderá receber a mensagem SMS para verificar a conta.\n4) Revogar acesso do dispositivo ao netbanking Para te tranquilizar um pouco: sei que o momento é tenso, mas não mencionei o netbanking antes porque, a menos que você tenha informado sua senha, a chance de conseguirem acessar sua conta bancária pelo celular é remota.\nNa pior das hipóteses, a depender da política de segurança do seu banco, pode ser que o bandido chute e erre sua senha algumas vezes e o banco bloqueie sua conta, o que, para o momento, pode até te ajudar. Depois, você pode entrar em contato com o banco para mudar a senha e desbloquear a conta.\nSe quiser prevenir qualquer possível dano à sua conta, você pode revogar o acesso do seu celular ao netbanking, caso seu banco ofereça essa possibilidade. Entre em contato com seu banco para saber se isso é possível e como você deve proceder.\nPara mostrar um exemplo, vejamos como é possível bloquear o acesso de um celular pelo netbanking do Banco do Brasil:\nAcesse o site do Banco do Brasil e entre com sua agência e conta corrente.\nNa tela seguinte, entre com sua senha.\nNo menu à esquerda, desça até encontrar a opção Segurança, aponte para ela e, em Autorização/Bloqueio para transações, clique em Smartphone e Tablet.\nNa lista, selecione o celular roubado e clique em Bloquear:\n5) Mudar as senhas das contas e encerrar as sessões abertas Os aplicativos que armazenam suas senhas oferecem bastante comodidade na hora de usar, mas depois que você é assaltado, eles oferecem um sério risco à sua segurança.\nNesse momento, é importante que você altere a senha de todas as suas contas. TODAS mesmo! Não só as contas referentes aos aplicativos (como o Facebook, por exemplo), mas também as contas dos sites. Se você gosta da comodidade, lembre-se que você pode ter autorizado seu navegador a memorizar senhas.\nVocê pode começar alterando as senhas das contas utilizadas pelos aplicativos. Se seu celular é um Android, você pode ver a lista dos seus aplicativos no Google Play para se certificar de não esquecer de nenhum:\nAlguns serviços, a exemplo do Facebook e do Google, permitem que você encerre as sessões abertas em todos os dispositivos, para assegurar que ninguém utiliza sua conta.\nAo mudar a senha do Facebook, ele oferece essa possibilidade:\nAo mudar a senha do Google, automaticamente todas as sessões abertas são desconectadas.\nSe você utiliza o Mozilla Firefox ou o Google Chrome no computador e no celular, e sincroniza todos os seus dados com a nuvem, verificar quais usuários e senhas foram salvos pode te ajudar a não esquecer de nenhum site.\nPara verificar os usuários e senhas salvas no Mozilla Firefox:\nNo canto superior direito da janela, clique no menu do Mozilla Firefox (um botão que apresenta três traços horizontais).\nClique em Preferências.\nClique na aba Segurança.\nClique no botão Senhas memorizadas para que o Gerenciador de Senhas seja aberto:\nPara verificar os usuários e senhas salvas no Google Chrome:\nNo canto superior direito da janela, clique no menu do Google Chrome (um botão que apresenta três traços horizontais).\nClique em Configurações.\nNa parte inferior da página, clique em Mostrar configurações avançadas.\nEm Senhas e formulários, clique em Gerenciar senhas. Uma caixa de diálogo com uma lista de senhas salvas é exibida:\nEssa página apresenta instruções para os navegadores Internet Explorer, Opera e Safari:\nComo exibir senhas de sites salvas no navegador- TecMundo 6) Localizar o número IMEI Bloquear o seu chip impede que o ladrão use o seu número, mas não que ele insira outro chip no celular e continue utilizando o aparelho normalmente. Além de bloquear seu chip, você deve bloquear também o número IMEI do celular.\nO número IMEI (International Mobile Equipment Identity, Identificação Internacional de Equipamento Móvel) é um número único atribuído a cada celular, semelhante a um chassi de carro ou um número de série. Todo celular habilitado tem seu IMEI registrado em um banco de dados central, compartilhado por todas as operadoras.\nQuando um celular possui seu IMEI bloqueado, independente do chip utilizado, todas as operadoras se recusam a oferecer serviços para ele. Então, ele não pode mais realizar chamadas, enviar mensagens SMS ou se conectar à Internet móvel.\nA boa prática diz que devemos localizar o número IMEI do aparelho e guardá-lo em um arquivo ou anotá-lo em um lugar seguro, pro caso de um dia precisar. Se chegou o dia em que você precisou do IMEI e não o tem anotado em lugar nenhum, ainda assim pode tentar descobri-lo. Vejamos algumas opções.\nPara começar, saiba que você pode localizar o número IMEI do seu celular em duas ferramentas já mostradas aqui:\nna conta do Avast (veja na tela acima), clicando em Mais informações; ou no Outlook Web App (veja na tela acima), selecionando o celular na lista e clicando em Detalhes. Observação: se seu celular possui dois ou mais chips, há um número IMEI para cada entrada de chip. O ideal é que você identifique todos os números IMEI associados ao seu celular.\nCaixa do celular Você ainda tem a caixa na qual veio seu aparelho, quando foi comprado? Se sim, busque-a. Deve haver nela um adesivo com um código de barras indicando o número IMEI.\nNem sempre é tão óbvio descobrir qual dos números impressos na caixa é o IMEI. Veja nessa caixa de um Samsung Galaxy S4 Mini Duos que o número IMEI aparece desacompanhado de um rótulo que o identifique:\nAlém disso, já que esse celular suporta o uso de até dois chips, esse adesivo deveria apresentar dois números IMEI.\nPainel do Google O Painel do Google concentra informações relacionadas à sua conta e aos produtos do Google que você usa. Você pode acessá-lo nesse endereço.\nEntre com a conta do Google associada ao seu celular Android e expanda a seção Android para ver informações sobre o(s) seu(s) dispositivo(s) Android. No meio dessas informações, deve estar o número IMEI do seu celular:\nOutros lugares Usuários de iPhone podem descobrir o IMEI do aparelho via iTunes, como mostra essa página:\nEncontre o número de série e outras informações do seu iPhone, iPad e iPod touch - Suporte da Apple 7) Registrar o boletim de ocorrência Procure a delegacia mais próxima para registrar a ocorrência. Em alguns estados, também é possível fazer isso pela Internet (veja, por exemplo, a Delegacia Interativa de Sergipe).\nForneça a maior quantidade de informações possível: data, hora, local, o que você fazia, como te abordaram, como e por onde fugiram, o que levaram\u0026hellip; Em relação ao celular, forneça pelo menos modelo e número(s) IMEI. Ao final, peça providências.\nSe você chegou a usar algum sistema de localização, como o Avast Anti-Theft, pode adicionar quaisquer informações que descobriu ao registro.\nComparecendo pessoalmente a uma delegacia, pode ser que você receba alguma instrução, como tentar obter imagens de câmeras de segurança na cena do crime. Siga as instruções do delegado.\n8) Bloquear o número IMEI Entre em contato com a operadora e verifique como é possível bloquear o(s) número(s) IMEI do aparelho. Possivelmente, será solicitado a você o boletim de ocorrência, por isso falei do bloqueio do IMEI depois do boletim de ocorrência.\nCom o(s) número(s) IMEI bloqueado(s), o celular roubado não poderá mais realizar chamadas, enviar mensagens SMS ou se conectar à Internet móvel.\n9) Comprar um celular novo Naturalmente, depois de toda a dor de cabeça, você vai comprar um celular novo. Hoje é praticamente impossível viver sem um. Além disso, você, diferente do bandido, pode contar com salário no mês seguinte.\nAtenção: se for comprar um celular usado, não feche negócio sem antes verificar todas as suas funções. Se ele não faz ligações, não envia mensagens SMS e não se conecta à Internet móvel, desconfie da sua procedência: não compre!\nSe seu celular anterior era um Android e fazia backup dos dados nos servidores do Google, e seu celular novo também é um Android, ao fazer login em sua conta do Google, os dados armazenados no backup são restaurados automaticamente, economizando um tempo na tarefa de colocar as coisas no lugar novamente.\nVocê pode habilitar a restauração das configurações dos aplicativos quando reinstalá-los:\nAbra o aplicativo Configurações.\nDentre as várias opções, selecione Fazer backup e restaurar.\nMarque a caixa ao lado de Restauração automática:\nUma vez que tudo esteja em ordem, não custa lembrar de reforçar os cuidados. Afinal de contas, moramos no Brasil\u0026hellip;\nTambém não se esqueça de se precaver e reforçar a segurança do seu celular novo: dicas no próximo post!\nAbraço a todos e boa sorte!\n","date":"2015-10-17T23:59:59Z","permalink":"/pt-br/artigo/meu-celular-foi-roubado-e-agora-o-que-fa%C3%A7o/","title":"Meu celular foi roubado: e agora, o que faço?"},{"content":"O Rufus é uma ferramenta bastante versátil quando o objetivo é iniciar o computador (\u0026ldquo;dar o boot\u0026rdquo;, na gíria técnica) pelo pendrive. Isso pode ser útil em diversas situações, como, por exemplo, testar ou instalar um sistema operacional (especialmente em computadores sem unidade de CD/DVD, como os netbooks), restaurar backups, remover vírus, dentre outras.\nVantagens do Rufus em relação a outras ferramentas são seu tamanho reduzido (menos de 1MB), a quantidade de funcionalidades e a tradução para o Português, que é selecionada automaticamente de acordo com a configuração do Windows (e olha como o mundo é pequeno: descobri que ela foi feita por um professor do IFSE, Chateaubriand Vieira Moura).\nTambém não é necessário instalar o Rufus: para usá-lo, basta baixar do site oficial e executar.\nUma desvantagem do Rufus em relação a outras ferramentas é que ele não permite armazenar em um mesmo pendrive vários sistemas operacionais (Windows, Ubuntu e openSUSE, por exemplo). Nesse caso, talvez você possa utilizar o Hiren\u0026rsquo;s BootCD ou o RMPrepUSB.\nOs passos aqui descritos, embora eu só use o termo \u0026ldquo;pendrive\u0026rdquo;, também se aplicam a cartões de memória. Se você vai utilizar um cartão de memória, onde houver \u0026ldquo;pendrive\u0026rdquo;, leia \u0026ldquo;cartão de memória\u0026rdquo;.\nPor segurança, recomendo que você remova todos os pendrives que estão conectados ao computador e depois insira somente o que será utilizado.\nBreve explicação sobre imagens ISO Uma imagem ISO é um arquivo que contém uma cópia de uma mídia ótica (um CD ou DVD) e pode ser utilizado para gravá-la.\nAssim, usando um programa de gravação, como o CDBurnerXP, é possível gravar um DVD com o openSUSE, por exemplo, usando a imagem ISO disponível para download no site do openSUSE. Com esse mesmo programa, você pode criar uma imagem ISO de um CD ou DVD que você possua, como o DVD de instalação do Windows.\nEssa é apenas a utilização mais básica e comum das imagens ISO. É possível fazer muito mais com elas. Usando ferramentas como o DAEMON Tools, por exemplo, podemos acessar o conteúdo dessas imagens como se elas fossem CDs ou DVDs de verdade inseridos em uma unidade de CD/DVD do computador.\nUsando o Rufus, podemos extrair o conteúdo de uma imagem ISO de um sistema operacional (o DVD de instalação do Windows ou o LiveDVD do Ubuntu, por exemplo) para um pendrive e utilizá-lo para iniciar o computador.\nUm CD (ou DVD) que pode ser usado para iniciar o computador é comumente chamado de LiveCD (ou LiveDVD). Da mesma forma, é comum chamar um pendrive que pode ser usado para iniciar o computador de LiveUSB.\nComo criar um pendrive inicializável a partir de qualquer imagem ISO Vejamos como é simples criar um pendrive inicializável (bootable) a partir de uma imagem ISO qualquer (uma que contenha o DVD de instalação do Windows ou o LiveDVD do Ubuntu, como no exemplo anteriormente citado):\nConecte o pendrive que será utilizado ao computador e inicie o Rufus. Possivelmente, ele solicitará permissão de administrador, que você deve conceder. Ele pergunta se deseja procurar atualizações para o Rufus na Internet, você pode clicar em Não e prosseguir. Em Dispositivo, selecione o pendrive que receberá o openSUSE (confira o rótulo e a capacidade para se certificar de que é esse pendrive mesmo que será utilizado).\nCertifique-se de que a opção Criar disco bootável com está marcada, e selecione Imagem ISO.\nClique no ícone do disco ao lado das opções Criar disco bootável com e Imagem ISO e abra o arquivo ISO cujo conteúdo deve ser extraído para o pendrive.\nClique em Iniciar. O Rufus exibirá um aviso:\nLeia-o atentamente e clique em OK para continuar. Ao final do processo, seu pendrive terá os mesmos arquivos que um CD ou DVD apresentaria caso você gravasse a imagem ISO neles. Inclusive, você ainda poderá utilizar o pendrive para armazenar outros arquivos. Só tome o cuidado para não excluir ou renomear algum arquivo que veio da imagem ISO, o que pode prejudicar o bom funcionamento do sistema operacional que está no pendrive.\nAgora, você poderá fechar o Rufus e iniciar o computador usando o pendrive, se quiser.\nComo gravar o openSUSE em um pendrive No caso específico do openSUSE, ao seguir as instruções acima e clicar em Iniciar, você perceberá que o Rufus fará uma pergunta:\nIsso acontece porque a imagem ISO do openSUSE é uma imagem ISO híbrida (hybrid ISO), o que permite a você tratá-la de duas formas:\ncomo uma imagem ISO comum, caso em que o resultado é o mesmo produzido pelas instruções genéricas (os arquivos dentro da imagem ISO são copiados para o pendrive, e você ainda pode utilizá-lo para armazenar outros arquivos); ou como uma imagem DD (imagem de disco, igual a uma produzida pelo comando dd do Linux), o que permite que alterações feitas no sistema (por exemplo, um arquivo que você baixou enquanto usava o Linux a partir do pendrive) sejam mantidas (então, no exemplo, você veria esse arquivo no mesmo lugar após reiniciar o computador pelo pendrive). Nesse caso, o resultado é o mesmo produzido pela ferramenta oficial, o SUSE Studio ImageWriter, antes disponível também para Windows, mas agora feita apenas para o Linux. Se sua intenção é usar o pendrive de modo persistente (mantendo as alterações), marque a opção Gravar no modo Imagem DD. Clique em OK para iniciar o processo. Ao final, você terá um pendrive que poderá ser utilizado para iniciar o computador usando o openSUSE.\nNote que no caso da imagem DD só é possível utilizar o pendrive com o sistema operacional nele contido. Então, seguindo nesse exemplo, em que o pendrive contém o openSUSE, você não pode contectá-lo a um computador com Windows e copiar arquivos para ele ou acessar um arquivo que você baixou enquanto usava o openSUSE do pendrive. Você pode, sim, iniciar qualquer computador usando esse pendrive e acessar um arquivo que você criou em outra vez que você o utilizou.\n","date":"2015-10-08T15:30:00Z","permalink":"/pt-br/artigo/rufus-o-canivete-su%C3%AD%C3%A7o-do-boot-pelo-pendrive-ou-cart%C3%A3o-de-mem%C3%B3ria/","title":"Rufus: o canivete suíço do boot pelo pendrive (ou cartão de memória)"},{"content":"Quem não já teve dúvidas ao usar o sistema de controle de versão Git? Aqui apresento uma compilação de algumas dúvidas que já tive e das soluções que eu encontrei.\nQuase sempre quando tenho uma dúvida, faço uma busca no Google e encontro outras pessoas que já tiveram a mesma dúvida que eu no Stack Overflow. Lá, encontro outras pessoas que propoem soluções para a dúvida apresentada. Nem sempre a solução marcada como a correta é a que resolve meu problema. Aqui, mostrarei apenas as soluções que de fato me foram úteis.\nVale observar que as dicas que eu apresento aqui são para usos um tanto \u0026ldquo;exóticos\u0026rdquo; do Git, que fogem do uso diário, mais básico. Se deseja aprender a usar o Git, recomendo esses cursos (em inglês) da Code School:\nTry Git Git Real Algumas dicas podem depender de qual versão do Git você usa. Para verificar qual versão do Git está instalada no seu computador, execute o comando:\ngit --version A linha de comando do Git no Windows está muito lenta Usar o Git pela linha de comando no Linux é bastante natural. No Windows, na minha opinião, a melhor opção é clicar com o botão direito na pasta e clicar em Git Bash.\nDe uma hora pra outra, talvez você perceba que o Git no Windows se torna lento. A execução de qualquer comando que envolva o Git demora mais do que o normal.\nPara alguns casos, a solução pode ser desinstalar o Git, reiniciar o Windows (a solução clássica para vários problemas do Windows) e instalar o Git de novo. De preferência, instalar a versão mais nova, disponível no site do Git, que pode conter correções para bugs conhecidos.\nNo meu caso, o que tornou o Git um pouco mais ágil no Windows foi executar esses comandos:\ngit config --global core.preloadindex true git config --global core.fscache true git config --global gc.auto 256 Referência:\nGit/Bash is extremely slow in Windows 7 x64 - Stack Overflow Como alterar um commit Se você quer alterar o último commit (arquivos e/ou mensagem), esse é o caso mais simples:\nFaça quaisquer alterações desejadas nos arquivos;\nUse git add -A . para considerá-las; e\nExecute git commit --amend para alterar o último commit incluindo as alterações então feitas. Um editor de texto será apresentado e você terá a oportunidade de alterar a mensagem do commit. Ao salvar e sair do editor de texto, o commit terá sido alterado.\nSe você deseja alterar um commit anterior, terá que usar o comando git rebase.\nAntes de começar, verifique o ID SHA1 do commit que deseja alterar usando git log ou gitk.\nSe você quiser alterar, por exemplo, o commit de ID bbc643cd, execute:\ngit rebase --interactive bbc643cd^ Um editor de texto será apresentado para que você indique as ações que deseja realizar. Procure a linha referente ao commit que deseja alterar e substitua pick por edit. Ao salvar e sair do editor de texto, o Git deixará os arquivos do seu repositório como estavam após esse commit.\nEntão, você pode prosseguir como se esse tivesse sido o último commit (como expliquei acima, fazendo mudanças, adicionando via git add e finalizando com git commit --amend). Quando terminar, execute:\ngit rebase --continue Se você deseja alterar apenas a mensagem do commit, e não os arquivos, simplifique o processo usando a ação reword ao invés de edit. Essa ação está disponível a partir do Git 1.6.6.\nObserve que isso altera o histórico do seu repositório desse commit em diante.\nSe o(s) commit(s) alterado(s) existe(m) apenas localmente (você ainda não executou git push), não é necessário fazer mais nada. Caso contrário, para enviar a(s) alteração(ões) para o repositório remoto, você deve forçar o envio:\ngit push --force Outras pessoas que clonaram seu repositório antes da(s) alteração(ões) podem ter problemas com seus clones, portanto use esse recurso com cuidado.\nReferência:\nHow to modify a specified commit in git? - Stack Overflow Como desfazer um commit Para desfazer um commit (tomemos como exemplo o último, cuja referência é HEAD), há duas opções:\ndesfazer o commit, mas manter os arquivos alterados (soft reset): git reset --soft HEAD~ desfazer o commit descartando também as alterações (hard reset): git reset --hard HEAD~ Para desfazer o penúltimo commit, você pode usar HEAD~2, como em:\ngit reset --soft HEAD~2 Para desfazer o antepenúltimo commit, você pode usar HEAD~3, e assim sucessivamente.\nPara desfazer todos os commits até certo commit, você pode informar seu ID SHA1, como em:\ngit reset --soft id_sha1_do_commit Se os commits desfeitos existem apenas localmente (você ainda não executou git push), caso mais simples, não há mais nada a fazer.\nSe os commits desfeitos já foram enviados previamente para o repositório remoto, você deve forçar o envio das alterações:\ngit push --force Observe que, excluindo commits dessa maneira, você altera o histórico do repositório definitivamente: os commits excluídos de fato deixam de existir no histórico, é como se eles nunca tivessem sequer acontecido. Assim, outras pessoas que clonaram seu repositório antes dessa exclusão podem ter problemas com seus clones.\nUma maneira menos destrutiva de desfazer as alterações de um commit, mantendo esse commit no histórico, é usar o comando git revert, como em:\ngit revert id_sha1_do_commit Assim, tanto o commit como a sua reversão aparecerão no histórico. A reversão pode ser enviada para o repositório remoto normalmente usando o comando git push. Outras pessoas que clonaram seu repositório antes da reversão não terão problemas. Para recebê-la, podem usar normalmente o comando git pull.\nReferências:\nHow do you undo the last commit? - Stack Overflow Delete commits from a branch in Git - Stack Overflow Como criar um branch Criar um branch pode ser útil se você deseja trabalhar isoladamente em uma funcionalidade ou bug, ou ainda se várias pessoas trabalham no mesmo repositório.\nPrimeiro, você deve criar o branch localmente, em seu computador:\ngit checkout -b meu_novo_branch Isso cria um novo branch local chamado meu_novo_branch, sincronizado com o branch no qual você estava trabalhando antes (master, por exemplo).\nEsse branch passa a existir remotamente quando você o envia:\ngit push -u origin meu_novo_branch Nesse exemplo, origin é o nome do repositório remoto, mas pode ser outro nome, como upstream.\nO comando acima cria um branch remoto com o mesmo nome do branch local e já faz a associação entre ambos, de forma que o comando git pull já saberá o que fazer quando for invocado no futuro para atualizar esse branch.\nReferência:\nHow do you create a remote Git branch? - Stack Overflow Como criar um branch a partir de um commit Como eu disse na dica anterior, normalmente quando criamos um novo branch ele é sincronizado com o branch no qual você estava trabalhando antes. No entanto, também podemos criar um branch sincronizado com um commit qualquer.\nPara isso, você pode informar o ID SHA1 do commit ao criar o branch:\ngit branch meu_novo_branch id_sha1_do_commit Ou usar uma referência simbólica (como o penúltimo commit, HEAD~2):\ngit branch meu_novo_branch HEAD~2 O comando acima criará um branch local sincronizado com o penúltimo commit.\nReferência:\nBranch from a previous commit using git - Stack Overflow Como criar um branch vazio A partir do Git 1.7.2, é possível também criar um branch sem nenhuma relação com os demais, começando do zero, com uma linha do tempo nova e independente.\nPara criar um branch vazio chamado meu_novo_branch, execute o comando:\ngit checkout --orphan meu_novo_branch Perceba que os arquivos são deixados pelo Git. Se não quiser esses arquivos no seu novo branch independente, remova-os:\ngit rm -rf . Então, você pode adicionar novos arquivos e fazer o primeiro commit:\ngit add -A . git commit -m \u0026#39;Primeiro commit\u0026#39; Referência:\nIn git, is there a simple way of introducing an unrelated branch to a repository? - Stack Overflow How to Create a New and Empty Branch in Git Como excluir um branch Você pode excluir um branch local e/ou remotamente.\nPara excluir o branch local meu_branch, por exemplo, execute:\ngit branch -D meu_branch Para excluir o branch remoto meu_branch, por exemplo, se você usa o Git 1.7.0 ou mais recente, execute:\ngit push origin --delete meu_branch A exclusão de branches remotos é possível a partir do Git 1.5.0. Se você utiliza uma versão anterior à 1.7.0, o comando é diferente:\ngit push origin :meu_branch Referência:\nDelete a Git branch both locally and remotely Como criar um fork de um projeto meu no GitHub? O GitHub só permite criar forks de projetos de outras pessoas. E se eu quiser criar um fork de um projeto próprio, meu?\nO melhor que podemos fazer é criar um novo repositório para o fork e, localmente, adicionar o repositório do projeto original como um repositório remoto. Esse tutorial (em inglês) explica como fazer isso.\nVejamos, por exemplo, como criar um fork meu_fork do projeto projeto_original, ambos pertencentes ao usuário meu_nome_de_usuario:\nNo GitHub, crie um novo repositório para o fork (no exemplo, chamaremos esse repositório de meu_fork).\nObtenha um clone local desse repositório:\ngit clone https://github.com/meu_nome_de_usuario/meu_fork.git Adicione o repositório do projeto original (no exemplo, projeto_original) como um repositório remoto (vamos chamá-lo de upstream) do repositório local recém clonado: git remote add upstream https://github.com/meu_nome_de_usuario/repositorio_original.git Baixe uma cópia do repositório do projeto original para o seu repositório local: git pull upstream master Envie os arquivos do seu repositório local para o repositório meu_fork no GitHub: git push origin master O GitHub não reconhecerá o projeto meu_fork como um fork de fato do projeto projeto_original, mas, na prática, fizemos ele ser exatamente isso.\nReferência:\nHow can I fork my own GitHub repository? - Stack Overflow Como se livrar de mudanças do tipo \u0026ldquo;old mode 100755 new mode 100644\u0026rdquo; Pode acontecer (na verdade, é bastante comum se você usa Windows e Linux no mesmo computador) de, ao executar git status ou gitk para saber como está seu repositório local, você perceber vários arquivos listados como modificados, quando na verdade você não trabalhou neles. O Git descreve essas alterações como:\nold mode 100755 new mode 100644 Isso acontece quando o Git não consegue determinar com precisão o modo do arquivo (um conceito mais conhecido dos usuários do Linux) e entende que houve uma mudança de modo.\nUma possível solução (a mais prática, na minha opinião) é configurar o Git para ignorar mudanças no modo do arquivo:\ngit config core.filemode false Após a execução desse comando, um novo git status ou gitk deve mostrar somente os arquivos que de fato foram alterados.\nReferência:\nHow do I remove files saying “old mode 100755 new mode 100644” from unstaged changes in Git? - Stack Overflow Como manter o fim de linha dos arquivos de texto Outro problema comum para quem usa diferentes sistemas operacionais (ou para projetos cujos desenvolvedores usam diferentes sistemas) é o fim de linha dos arquivos de texto: no Windows, ele é representado pelos caracteres ASCII CR (Carriage Return) e LF (Line Feed); no Unix, no Linux e no Mac OS X, ele é representando apenas pelo caractere LF.\nPode acontecer de, ao executar git status ou gitk para saber como está seu repositório local, você perceber vários arquivos listados como modificados, quando na verdade você não trabalhou neles. Até mesmo o conteúdo dos arquivos, visualmente falando, é idêntico.\nO que aconteceu debaixo do pano que fez o Git mostrar esses arquivos como modificados foi uma mudança nos caracteres que representam o fim de linha (que comumente acontece após uma mudança de sistema operacional).\nEscrever sobre isso renderia outro post inteiro, mas vou tentar focar aqui na solução.\nEm primeiro lugar, você deve alterar a configuração global do Git em seu computador. Há o comando git config --global core.autocrlf, que é usado para definir como o Git deve tratar os fins de linha:\nNo Mac OS X e no Linux, você deve atribuir a essa configuração o valor input: git config --global core.autocrlf input No Windows, você deve atribuir a essa configuração o valor true: git config --global core.autocrlf true Além disso, se você utiliza o Git 1.7.2 ou mais recente, pode configurar, para cada repositório, e para cada arquivo, como o Git trata os fins de linha. Para isso, você deve adicionar ao repositório um arquivo de texto chamado .gitattributes, que faz lembrar uma tabela com duas colunas. Em cada linha:\nà esquerda, você deve inserir o nome de arquivo (ou padrão de nome de arquivo) que o Git deve identificar; e à direita, você deve configurar como o Git deve tratar esse arquivo (ou padrão de arquivo). Aqui está um arquivo .gitattributes de exemplo, que você pode usar como um ponto de partida para seus repositórios (pode deixar os comentários, o Git os ignora):\n# Configuração padrão * text=auto # Arquivos cujos fins de linha devem sempre ser convertidos para o padrão do # sistema em uso *.c text *.h text # Arquivos cujos fins de linha devem sempre ser CRLF (padrão do Windows) *.bat text eol=crlf # Arquivos cujos fins de linha devem sempre ser LF (padrão do Unix, Linux e Mac # OS X) *.sh text eol=lf # Arquivos binários que não devem ser modificados *.png binary *.jpg binary É uma boa prática que esse arquivo seja sempre adicionado já no primeiro ou segundo commit, de forma a prevenir problemas futuros. Uma vez no repositório, esse arquivo é compartilhado por todos os desenvolvedores, que não mais enfrentarão problemas com os fins de linha dos arquivos.\nSe você tem um repositório com vários arquivos e commits que ainda não tem um arquivo .gitattributes, aqui está a melhor maneira de adicioná-lo (sugerida pela própria ajuda do GitHub, com base em uma resposta no Stack Overflow):\nCrie um arquivo .gitattributes, como o do exemplo acima, e faça um commit com ele: git add .gitattributes git commit -m \u0026#34;Arquivo .gitattributes\u0026#34; Salve quaisquer outros arquivos alterados, para garantir que não perderá trabalho: git add . -u git commit -m \u0026#34;Salvando os arquivos antes de atualizar os fins de linha\u0026#34; Remova cada arquivo do repositório: git rm --cached -r . Reescreva os arquivos, dessa vez com os fins de linha desejados: git reset --hard Adicione todos os seus arquivos de volta (aproveite a oportunidade para verificar se houve arquivos que não tiveram seus fins de linha substituídos, quando deveriam): git add . Faça um commit com as alterações: git commit -m \u0026#34;Problemas com fins de linha nunca mais!\u0026#34; Referências:\nGit - how to keep CRLF endings for specific files only? - Stack Overflow What\u0026rsquo;s the best CRLF (Carriage Return Line Feed) handling strategy with git? - Stack Overflow Trying to fix line-endings with git filter-branch, but having no luck - Stack Overflow Dealing with line endings - User Documentation Mind the End of Your Line ∙ Adaptive Patchwork Como visualizar o histórico de mudanças de um arquivo Para visualizar o histórico do repositório como um todo, os comandos mais básicos são, para linha de comando:\ngit log Ou, para interface gráfica:\ngitk Para visualizar o histórico de um arquivo em particular (nome_do_arquivo, por exemplo), para mim foi suficiente o comando:\ngitk nome_do_arquivo Na referência, há outras sugestões de comandos mais elaborados.\nReferência:\nView the change history of a file using Git versioning - Stack Overflow ","date":"2015-09-27T16:00:00Z","permalink":"/pt-br/artigo/dicas-de-git/","title":"Dicas de Git"},{"content":"Instalou o Windows 8/8.1/10 e não consegue mais acessar suas partições NTFS pelo Linux? Esse problema é comum e é causado pela nova forma como os sistemas mais novos da Microsoft ligam e desligam o computador. O que você precisa fazer para recuperar o acesso a suas partições NTFS é desativar a inicialização rápida do Windows. Aqui apresento 3 maneiras de fazer isso.\nA mensagem de erro que apareceu para mim quando eu tentei acessar a partição NTFS com meus arquivos pessoais foi a seguinte:\nTranscrevendo:\nAn error ocurred while accessing \u0026#39;PESSOAL\u0026#39;, the system responded: The requested operation has failed: Error mounting /dev/sdb2 at /run/media/linux/PESSOAL: Command-line `mount -t \u0026#34;ntfs\u0026#34; -o \u0026#34;uhelper=udisks2,nodev,nosuid,uid=999,gid=100,dmask=0077,fmask=0177\u0026#34; \u0026#34;/dev/sdb2\u0026#34; \u0026#34;/run/media/linux/PESSOAL\u0026#34;\u0026#39; exited with non-zero exit status 14: The disk contains an unclean file system (0, 0). Metadata kept in Windows cache, refused to mount. Failed to mount \u0026#39;/dev/sda4\u0026#39;: Operation not permitted The NTFS partition is in an unsafe state. Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volume read-only with the \u0026#39;ro\u0026#39; mount option. Primeiro, vou apresentar a solução para o problema. Depois, para quem quiser entender o que se passa, mais explicações, ao final.\nComo desativar a inicialização rápida pelo Painel de Controle A maneira mais simples de desativar a inicialização rápida é pelo Painel de Controle:\nAbra o menu Iniciar e digite opções de energia\nClique em Opções de Energia\nClique em Escolher a função dos botões de energia Clique em Alterar configurações não disponíveis no momento Se o Windows pedir permissão para continuar, clique em Sim\nDesmarque a opção Ligar inicialização rápida (recomendado) e clique em Salvar alterações\nPronto! Se desejar, pode fechar a janela. Como desativar a inicialização rápida pelo Editor de Registro Se você é do tipo que gosta de alterar as configurações do Windows à moda antiga, via Editor de Registro:\nAbra o menu Iniciar e digite regedit\nClique com o botão direito em regedit e clique em Executar como administrador\nNavegue até a chave de registro HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Power\nModifique o valor HiberbootEnabled, do tipo REG_DWORD, para 0 (nesse caso, 0 significa inicialização rápida desativada e 1 significa ativada)\nPronto! Se desejar, pode fechar a janela.\nComo desativar a inicialização rápida via arquivo de lote Se você é um administrador de rede e precisa desativar a inicialização rápida em mais de um computador, talvez seja interessante criar um arquivo de lote (extensão .bat) para automatizar a tarefa.\nAbra seu editor de texto preferido (pode ser até mesmo o Bloco de Notas) e crie um novo arquivo com o seguinte conteúdo:\n@echo off REG ADD \u0026#34;HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Power\u0026#34; /V HiberbootEnabled /T REG_dWORD /D 0 /F Salve-o com um nome de arquivo que termine com a extensão .bat (por exemplo, DesativarInicializacaoRapida.bat).\nPara executá-lo, é só dar dois cliques (possivelmente, ao invés disso, você terá que clicar com o botão direito no arquivo de lote e clicar em Executar como administrador).\nO que é a inicialização rápida do Windows Pensando em tornar a inicialização do Windows mais rápida, a Microsoft decidiu transformá-la em uma espécie de hibernação: quando o computador é desligado, todos os programas são encerrados, mas as partes mais essenciais do Windows, não. Em vez disso, elas são armazenadas no disco rígido e são carregadas para a memória novamente quando o computador é ligado (como ocorre na hibernação). Dessa forma, não é necessário processar novamente toda a inicialização do Windows sempre que o computador é ligado. Boa parte desse trabalho é reaproveitado.\nVocê pode ter uma ideia do ganho de desempenho trazido pela inicialização rápida, em comparação à \u0026ldquo;inicialização fria\u0026rdquo; (cold boot, como batizaram a inicialização tradicional), vendo essa imagem, encontrada em um blog da MSDN:\nInfelizmente, o que pode ser muito bom para quem usa apenas o Windows, pode ser um problema para quem usa também o Linux: ao iniciar o Linux após ter desligado o computador pelo Windows 8/8.1/10, o sistema não consegue montar as partições NTFS com permissões de leitura e escrita, pois entende que o computador foi hibernado e o Windows ainda está utilizando essas partições (se você entendeu como funciona a inicialização rápida, deve concordar que a visão do Linux não está de toda errada, não é mesmo?).\nSe quiser saber mais sobre a inicialização rápida do Windows, você pode ler esses posts oficiais da Microsoft (em inglês) ou essa página do TecMundo (em português):\nDelivering fast boot times in Windows 8 - Building Windows 8 - Site Home - MSDN Blogs Designing for PCs that boot faster than ever before - Building Windows 8 - Site Home - MSDN Blogs Windows 8: o que é o modo de inicialização rápida e como desabilitá-lo - TecMundo Referências Eu me deparei com esse erro ontem usando meu computador com Windows 10 e openSUSE. A solução para ele (e a ideia de escrever esse texto em português) eu encontrei nesse tópico de um fórum sobre Windows 10:\nFast Startup - Turn On or Off in Windows 10 - Windows 10 Forums\nTambém encontrei na Internet o que parece ser uma versão mais antiga desse mesmo tópico, voltada para o Windows 8:\nFast Startup - Turn On or Off in Windows 8\nEspero que possa ter ajudado! Dúvidas nos comentários!\n","date":"2015-09-16T21:30:00Z","permalink":"/pt-br/artigo/como-desativar-a-inicializa%C3%A7%C3%A3o-r%C3%A1pida-do-windows/","title":"Como desativar a inicialização rápida do Windows"},{"content":"As redes sociais são ferramentas poderosas para promover um site e manter contato com os visitantes. O interessante é que eles mesmos podem ajudar na divulgação, especialmente se os botões para compartilhar estiverem bem visíveis na página. Mas, com tantas redes sociais que existem hoje, implementar (e manter) os botões de cada uma pode ser uma tarefa trabalhosa.\nE agora, quem poderá nos ajudar?\nEsperava o Chapolin Colorado? Não, dessa vez não será ele, mas o AddThis!\nO AddThis é um serviço que pode ser integrado a um site com o uso de um widget. Ele permite aos visitantes do site compartilhar a página visitada em uma variedade de redes sociais listadas no widget, como Facebook, Google+, Twitter e LinkedIn, apenas para citar alguns exemplos.\nVocê pode perceber o AddThis em ação neste site que visita agora. Experimente procurar os links de compartilhar e seguir, eles estão visíveis, acho que não terá dificuldade em identificá-los:\nO AddThis também fornece estatísticas sobre o desempenho do seu site nas redes sociais (por exemplo, quantos links para o seu site foram compartilhados no Facebook na última semana e quais páginas foram compartilhadas) e outras ferramentas para atrair e cativar os visitantes (como popups que chamam a atenção de volta para o site quando os visitantes estão prestes a deixá-lo).\nAqui veremos como criar uma conta no AddThis e adicionar ao site os mesmos recursos que puderam ser percebidos na imagem acima:\nBarra lateral de compartilhamento; Barra móvel; Botões de compartilhar; e Botões de seguir. Criando uma conta no AddThis O AddThis oferece alguns serviços mediante pagamento, mas pode ser utilizado gratuitamente. Para utilizar seus serviços, é necessário apenas se cadastrar. Acesse o site www.addthis.com e clique em Sign In (entrar), no canto superior direito da página:\nEssa é a página de login, onde você tem acesso ao link para se cadastrar no final da página:\nVocê pode, se achar mais conveniente, entrar no AddThis com uma conta do Google, Facebook ou Twitter. Clicando em um dos três botões, será iniciado o processo de login na conta escolhida e vinculação da conta com o AddThis. Esse processo é muito fácil, não vou explicá-lo aqui. Caso tenha optado pela inscrição mais tradicional, continue lendo. Senão, avance para a próxima seção.\nClique em Create an Account (criar uma conta). Você é então encaminhado para a página de registro:\nDigite seu email em Email Address, uma senha em Password, digite novamente essa senha (uma confirmação, por segurança) em Retype Password, deixe marcada a opção Email me a monthly newsletter (envie-me mensalmente notícias por e-mail) caso deseje acompanhar as novidades do AddThis (ou desmarque, caso contrário) e clique em Registrer (registrar).\nNa tela seguinte, será solicitado a você escolher um plano. Se deseja começar com o plano gratuito, clique em Select plan abaixo de Basic:\nPronto, agora você já tem uma conta no AddThis! Vamos adicionar ao site nosso primeiro serviço! Clique em Tools (ferramentas), na barra de navegação superior, para ver a lista de todos os serviços disponibilizados pelo AddThis.\nJavaScript básico Os widgets do AddThis são adicionados ao site por meio de uma biblioteca JavaScript, que devemos referenciar. Após ter clicado em Tools, e estar na página que lista os serviços do AddThis, clique em Get the Code (obter o código).\nVocê será apresentado a um código como esse:\n\u0026lt;!-- Go to www.addthis.com/dashboard to customize your tools --\u0026gt; \u0026lt;script type=\u0026#34;text/javascript\u0026#34; src=\u0026#34;//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-exemplo123456789\u0026#34; async=\u0026#34;async\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; Você pode copiar esse código e colar em qualquer lugar do código-fonte da sua página. Uma das opções mais comuns é colar dentro da tag \u0026lt;head\u0026gt;:\n\u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html lang=\u0026#34;pt\u0026#34;\u0026gt; \u0026lt;head\u0026gt; \u0026lt;!-- ... --\u0026gt; \u0026lt;!-- Go to www.addthis.com/dashboard to customize your tools --\u0026gt; \u0026lt;script type=\u0026#34;text/javascript\u0026#34; src=\u0026#34;//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-exemplo123456789\u0026#34; async=\u0026#34;async\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;/head\u0026gt; Outra opção comum é colar antes da tag \u0026lt;/body\u0026gt;, ao final da página:\n\u0026lt;body\u0026gt; \u0026lt;!-- ... --\u0026gt; \u0026lt;!-- Go to www.addthis.com/dashboard to customize your tools --\u0026gt; \u0026lt;script type=\u0026#34;text/javascript\u0026#34; src=\u0026#34;//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-exemplo123456789\u0026#34; async=\u0026#34;async\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Pronto, agora sim podemos começar a utilizar o AddThis. Mesmo que você utilize mais de um serviço, esse código deve ser inserido na página apenas uma vez.\nDe volta à página, feche o diálogo com o código para voltar à lista de serviços.\nAdicionando a barra lateral de compartilhamento Vamos começar adicionando a barra lateral de compartilhamento. Ela aparece na lateral esquerda ou direita da página e permite ao visitante compartilhá-la nas redes sociais.\nSe você acessar este site de um computador desktop, verá a barra de compartilhamento em ação:\nNa lista de serviços do AddThis, abaixo de Sharing Sidebar (barra lateral de compartilhamento), clique em Setup (configurar):\nAparecerá um diálogo com várias opções para você personalizar sua barra lateral de compartilhamento:\nChose a side (escolha um lado): aqui você deve definir se a barra aparecerá à esquerda ou à direita; Theme (tema): escolha o tema preto, prata, branco ou transparente. Acredito que isso só se aplica a um botão da barra que permite escondê-la ou exibi-la novamente; Title (título): dê um nome à barra, pode ser o nome do seu site; Services (serviços): escolha quais redes sociais serão apresentadas ao visitante na barra lateral. Você pode deixar o AddThis tomar essa decisão para cada visitante, opção Auto Personalization (que eles recomendam), ou escolher você mesmo, opção Select Your Own, caso em que você poderá escolher quais redes sociais aparecerão na barra e até mesmo alterar a ordem em que elas aparecem; e Number of Buttons (número de botões): defina quantos botões devem aparecer na barra de compartilhamento, o padrão é 5, mas eu uso 7, uma quantidade que é confortável até mesmo para uma tela pequena, como a de um netbook com resolução 1024x600. Caso deseje visualizar mais opções, clique em Show more options, mas vou me ater a explicar essas. Clique em Activate (ativar) e depois em Ok para finalizar.\nProvavelmente, se você acessar seu site agora, já verá o AddThis em ação. Caso ele não apareça, verifique se inseriu corretamente a referência à biblioteca JavaScript no código-fonte da página, atualize a página ou aguarde e faça um novo acesso. Pode ser que ele demore um pouco para começar a funcionar.\nVale lembrar que a barra lateral de compartilhamento é destinada aos computadores desktop, ela não aparece em dispositivos móveis como smartphones e tablets.\nVamos agora configurar uma barra própria para os visitantes que acessarem nosso site por esses dispositivos.\nAdicionando a barra móvel A barra móvel apresenta ao visitante que acessa o site por dispositivos móveis opções para segui-lo nas redes sociais ou compartilhar a página. Ela aparece flutuando acima ou abaixo do conteúdo.\nSe você acessar este site de um smartphone ou tablet, verá a barra móvel em ação:\nNa lista de serviços do AddThis, abaixo de Mobile Toolbar (barra móvel), clique em Setup (configurar).\nAparecerá um diálogo com várias opções para você personalizar sua barra móvel:\nPosition (posição): aqui você deve definir se a barra aparecerá embaixo (Bottom) ou no topo (Top) da tela; Theme (tema): escolha o tema preto, prata ou branco; Share (compartilhar): defina se a barra móvel deve exibir opções para compartilhar a página, opção On (ativado), ou não, opção Off (desativado); Follow (seguir): defina se a barra móvel deve exibir opções para seguir o site nas redes sociais, opção On (ativado), ou não, opção Off (desativado); e Follow Services (serviços para seguir): nessa opção são apresentados vários campos nos quais você deve informar o endereço para os seus perfis em cada uma das redes sociais que serão apresentadas na barra móvel, não é necessário informar todos, apenas os que você possuir. Caso deseje visualizar mais opções, clique em Show more options, mas vou me ater a explicar essas. Clique em Activate (ativar).\nSe você acessar seu site por um smartphone ou tablet, provavelmente já verá a barra móvel do AddThis em ação.\nAdicionando botões de compartilhar Os botões de compartilhar chamam a atenção dos visitantes e os estimula a compartilhar links para o site nas redes sociais.\nNeste site, você pode perceber os botões de compartilhar logo abaixo dos títulos das postagens, em tamanho pequeno, e também nas páginas das postagens após o conteúdo, antes dos comentários, em tamanho grande:\nOs tamanhos disponibilizados pelo AddThis são:\npequeno (16x16), médio (20x20) e grande (32x32). O processo de configuração desses botões é bastante semelhante ao das barras que vimos anteriormente, com a principal diferença que, ao final, você deverá copiar e colar um código como esse no lugar em que deseja que os botões apareçam em sua página:\n\u0026lt;!-- Go to www.addthis.com/dashboard to customize your tools --\u0026gt; \u0026lt;div class=\u0026#34;addthis_sharing_toolbox\u0026#34;\u0026gt;\u0026lt;/div\u0026gt; Aqui estou mais interessado em explicar como configurar os botões de compartilhar manualmente, para obter um maior controle sobre o AddThis.\nNeste site, eu utilizei o seguinte código abaixo dos títulos das postagens, para os botões pequenos:\n\u0026lt;!-- AddThis Button BEGIN --\u0026gt; \u0026lt;div class=\u0026#34;addthis_toolbox addthis_default_style\u0026#34;\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_facebook\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_twitter\u0026#34; data-via=\u0026#34;vinyanalista\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_google_plusone_share\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_favorites\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_compact\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_counter addthis_bubble_style\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;!-- AddThis Button END --\u0026gt; E o seguinte código nas páginas das postagens, para os botões grandes:\n\u0026lt;!-- AddThis Button BEGIN --\u0026gt; \u0026lt;div class=\u0026#34;addthis_toolbox addthis_default_style addthis_32x32_style gap\u0026#34;\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_facebook\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_twitter\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_google_plusone_share\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_email\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_favorites\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis addthis_button_print\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_pdfonline\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_compact\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_counter addthis_bubble_style\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;!-- AddThis Button END --\u0026gt; O AddThis permite integrar o seu site a mais de 350 redes sociais. Uma lista de todas as redes suportadas pelo AddThis pode ser encontrada na página Service Directory.\nPara adicionar o botão de compartilhar de uma rede, procure essa rede na lista e verifique seu código. Por exemplo, no caso do Reddit, é reddit. Então, crie um link (tag \u0026lt;a\u0026gt;) com a classe igual a addthis_button_ mais o código da rede (nesse exemplo, reddit), assim:\n\u0026lt;a class=\u0026#34;addthis_button_reddit\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; Podemos também configurar o que será compartilhado nas redes sociais a partir desses botões usando a variável global addthis_share, reconhecida pela biblioteca JavaScript do AddThis, como no exemplo a seguir:\nvar addthis_share = { url: \u0026#39;https://vinyanalista.github.io/blog/2015/08/06/wordpress-bootstrap/\u0026#39;, title: \u0026#39;Como criar um tema responsivo do WordPress com o Bootstrap - Antônio Vinícius\u0026#39;, description: \u0026#39;Nesse tutorial, você aprenderá a criar um tema responsivo do WordPress usando o Bootstrap. Com um tema responsivo, seu blog ou site com WordPress aparecerá bem na grande variedade de dispositivos (computadores, smartphones e tablets) e navegadores existentes.\u0026#39; } Explicando cada uma dessas opções:\nurl: permite definir manualmente o endereço a ser compartilhado. Por padrão, o AddThis utiliza o endereço encontrado na barra de endereços do navegador; title: permite definir manualmente o título a ser compartilhado. Por padrão, o AddThis utiliza o título encontrado na janela do navegador; e description: permite definir manualmente a descrição a ser compartilhada. O AddThis não possui um padrão para essa configuração, de modo que, se ela não for definida manualmente, cada rede social apresentará à sua maneira uma descrição para a página compartilhada. Também é possível fazer a configuração usando atributos HTML, como no exemplo:\n\u0026lt;!-- AddThis Button BEGIN --\u0026gt; \u0026lt;div class=\u0026#34;addthis_toolbox addthis_default_style\u0026#34; addthis:url=\u0026#34;https://vinyanalista.github.io/blog/2015/08/06/wordpress-bootstrap/\u0026#34; addthis:title=\u0026#34;Como criar um tema responsivo do WordPress com o Bootstrap - Antônio Vinícius\u0026#34; addthis:description=\u0026#34;Nesse tutorial, você aprenderá a criar um tema responsivo do WordPress usando o Bootstrap. Com um tema responsivo, seu blog ou site com WordPress aparecerá bem na grande variedade de dispositivos (computadores, smartphones e tablets) e navegadores existentes.\u0026#34;\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_facebook\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_twitter\u0026#34; data-via=\u0026#34;vinyanalista\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_google_plusone_share\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_favorites\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_compact\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_counter addthis_bubble_style\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;!-- AddThis Button END --\u0026gt; Essa configuração local de cada link por meio dos atributos addthis:url, addthis:title e addthis:description é especialmente útil nos blogs, em páginas onde há uma lista de posts e os botões de compartilhar são exibidos para cada post (veja a página inicial deste site).\nSe estiver preocupado com a validação do HTML do seu site, declare o namespace do AddThis na tag \u0026lt;html\u0026gt;:\n\u0026lt;html xmlns:addthis=\u0026#34;http://www.addthis.com/help/api-spec\u0026#34;\u0026gt; O AddThis também possibilita configurar os botões nativos das redes sociais mais populares, como Facebook, Twitter, Google+, LinkedIn, entre outras. Com esses botões, você pode, por exemplo, exibir os contadores de compartilhamentos em cada uma dessas redes.\nSe quiser conhecer ainda mais opções para personalizar os botões de compartilhar, consulte a documentação da API dos botões de compartilhamento do AddThis.\nAdicionando os botões de seguir Os botões de seguir apresentam links para perfis em redes sociais, por meio dos quais os visitantes podem acompanhar suas postagens. O AddThis disponibiliza três versões desses botões para uso: horizontal, vertical e flutuante.\nVamos aqui nos ater à versão horizontal, a mesma utilizada neste site:\nO recomendado é adicionar esses botões à barra lateral ou ao cabeçalho da página.\nOs tamanhos disponibilizados pelo AddThis para os botões de seguir são os mesmos disponibilizados para os botões de compartilhar:\npequeno (16x16), médio (20x20) e grande (32x32). O processo de configuração dos botões de seguir é bastante semelhante ao das barras que vimos anteriormente, com a principal diferença que, ao final, você deverá copiar e colar um código como esse no lugar em que deseja que os botões apareçam em sua página:\n\u0026lt;!-- Go to www.addthis.com/dashboard to customize your tools --\u0026gt; \u0026lt;div class=\u0026#34;addthis_horizontal_follow_toolbox\u0026#34;\u0026gt;\u0026lt;/div\u0026gt; Aqui estou mais interessado em explicar como configurar os botões de seguir manualmente, para obter um maior controle sobre o AddThis.\nNeste site, eu utilizei o seguinte código:\n\u0026lt;!-- AddThis Follow BEGIN --\u0026gt; \u0026lt;div class=\u0026#34;addthis_toolbox addthis_32x32_style addthis_default_style\u0026#34;\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_facebook_follow\u0026#34; addthis:userid=\u0026#34;pages/vinyanalistacombr/1604841683119097\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_twitter_follow\u0026#34; addthis:userid=\u0026#34;vinyanalista\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_linkedin_follow\u0026#34; addthis:userid=\u0026#34;vinyanalista\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_google_follow\u0026#34; addthis:userid=\u0026#34;112036205302761713933\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_youtube_follow\u0026#34; addthis:userid=\u0026#34;viniciusifse\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_foursquare_follow\u0026#34; addthis:userid=\u0026#34;vinyanalista\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;a class=\u0026#34;addthis_button_github_follow\u0026#34; addthis:userid=\u0026#34;vinyanalista\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;!-- AddThis Follow END --\u0026gt; A lógica é bem semelhante à dos botões de compartilhar: para adicionar o botão de seguir de uma rede, crie um link (tag \u0026lt;a\u0026gt;) com a classe igual a addthis_button_ mais o código da rede mais _follow. Além disso, use o atributo addthis:userid para informar seu usuário na rede social desejada.\nEntão, um botão de seguir para a rede social Instagram, por exemplo, seria assim:\n\u0026lt;a class=\u0026#34;addthis_button_instagram_follow\u0026#34; addthis:userid=\u0026#34;seu_usuario\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; Se estiver preocupado com a validação do HTML do seu site, certifique-se de declarar o namespace do AddThis na tag \u0026lt;html\u0026gt;:\n\u0026lt;html xmlns:addthis=\u0026#34;http://www.addthis.com/help/api-spec\u0026#34;\u0026gt; Pronto! Agora já temos uma boa integração do AddThis com o nosso site. Vamos apenas ver mais alguns detalhes.\nMais alguns detalhes Com relação à tradução, o AddThis suporta mais de 50 idiomas e por padrão utiliza o mesmo idioma da interface do navegador (se você usa o Mozilla Firefox em português, por exemplo, verá tooltips em português ao apontar o cursor para um botão do AddThis). No entanto, também é possível definir o idioma a ser utilizado manualmente.\nPara fazer essa e outras configurações, usamos a variável global addthis_config, reconhecida pela biblioteca JavaScript do AddThis.\nComo exemplo, veja a configuração que eu utilizo neste site:\nvar addthis_config = { \u0026#39;data_track_addressbar\u0026#39;: true, \u0026#39;data_track_clickback\u0026#39;: true, \u0026#39;ui_language\u0026#39;: \u0026#39;pt\u0026#39; }; Explicando cada uma dessas opções:\ndata_track_addressbar: se ativada (true, verdadeiro, é o padrão), faz com que o AddThis adicione um código ao final do endereço presente na barra de endereços do navegador. Esse código permite ao AddThis monitorar os compartilhamentos pela barra de endereços, ou seja, quantas pessoas compartilham seu site copiando e colando o link em um e-mail, mensagem instantânea ou outros canais. Quando alguém clica em um link compartilhado dessa maneira, outras ferramentas reportam incorretamente esse acesso como acesso direito ao site (como se a pessoa que recebeu o link tivesse digitado manualmente o endereço e acessado por iniciativa própria a página), ignorando que houve aí, na verdade, um compartilhamento; data_track_clickback: se ativada (true, verdadeiro, é o padrão), faz com que o AddThis adicione uma variável ao final dos links compartilhados. Essa variável permite ao AddThis monitorar cliques, ou seja, quantas pessoas visitaram seu site clicando em um link compartilhado usando um botão do AddThis. Altamente recomendada; e ui_language: permite definir manualmente o idioma a ser utilizado pela interface do AddThis. Por padrão, o AddThis utiliza o mesmo idioma da interface do navegador. Vale observar que por padrão o AddThis envia semanalmente para o e-mail cadastrado um relatório com o desempenho do site nas redes sociais. Além disso, ele também envia um alerta sempre que seu site recebe de repente um volume de acessos acima do normal.\nO AddThis é tão inteligente, que você pode integrá-lo até mesmo a um serviço personalizado (uma rede social que ele não conhece).\nIsso é tudo, pessoal É isso, espero que este post possa ser útil para o seu site e que o AddThis o auxilie na divulgação do seu site da mesma forma que está me ajudando a divulgar o meu.\nEm caso de dúvidas, não deixe de consultar a rica documentação do AddThis. Não se acanhe de fazer uma pergunta lá (ou aqui, nos comentários).\nSe gostou do post, que tal clicar nos botões do AddThis abaixo e compartilhar este post em todas as redes sociais possíveis?\n","date":"2015-08-29T23:00:00Z","permalink":"/pt-br/artigo/bot%C3%B5es-de-compartilhar-e-seguir-com-o-addthis/","title":"Botões de compartilhar e seguir com o AddThis"},{"content":"Nesse tutorial, você aprenderá a criar um tema responsivo do WordPress usando o Bootstrap. Com um tema responsivo, seu blog ou site com WordPress aparecerá bem na grande variedade de dispositivos (computadores, smartphones e tablets) e navegadores existentes.\nEssa é a segunda parte do tutorial. Se você deseja acessar a primeira parte, então clique aqui. Senão, continue lendo.\nAssumirei que seu código está como o deixamos no post anterior.\nAdicione conteúdo Vamos continuar adicionando outras páginas ao nosso site. Acesse a área administrativa e crie páginas chamadas \u0026ldquo;Sobre\u0026rdquo;, \u0026ldquo;Notícias\u0026rdquo; e \u0026ldquo;Contato\u0026rdquo;. Por hora, você pode escrever qualquer coisa nessas páginas e depois alterá-las, se quiser. Aproveite para também adicionar posts, dois ou três são suficientes.\nNavegação Vamos substituir a barra de navegação estática no topo do site por uma que mostre as páginas que acabamos de adicionar. Localize a div#navbar no arquivo header.php e insira o seguinte código dentro dela, antes da tag \u0026lt;form\u0026gt;:\n\u0026lt;ul class=\u0026#34;nav navbar-nav\u0026#34;\u0026gt; \u0026lt;?php wp_list_pages(array(\u0026#39;title_li\u0026#39; =\u0026gt; \u0026#39;\u0026#39;)); ?\u0026gt; \u0026lt;/ul\u0026gt; Aqui, estamos utilizando a função wp_list_pages() do WordPress para listar as páginas do nosso site. Ela cria um item de lista (tag \u0026lt;li\u0026gt;) e um link (tag \u0026lt;a\u0026gt;) para cada página.\nAproveite para remover o formulário de login, já que vamos fazer login diretamente pela área administrativa do WordPress.\nO código da div#navbar deve estar assim:\n\u0026lt;div id=\u0026#34;navbar\u0026#34; class=\u0026#34;navbar-collapse collapse\u0026#34;\u0026gt; \u0026lt;ul class=\u0026#34;nav navbar-nav\u0026#34;\u0026gt; \u0026lt;?php wp_list_pages(array(\u0026#39;title_li\u0026#39; =\u0026gt; \u0026#39;\u0026#39;)); ?\u0026gt; \u0026lt;/ul\u0026gt; \u0026lt;/div\u0026gt;\u0026lt;!--/.navbar-collapse --\u0026gt; Se você acessar seu site agora, já deve visualizar links para as páginas na barra de navegação do topo, mas ainda temos trabalho a fazer.\nComece excluindo a página \u0026ldquo;Página de Exemplo\u0026rdquo;.\nDepois, mude a ordem em que as páginas aparecem na navegação. Para isso, acesse a área administrativa e vá em Páginas. Então, passe o mouse sobre a página \u0026ldquo;Sobre\u0026rdquo; e clique em \u0026ldquo;Edição rápida\u0026rdquo;. Mude o valor do campo Ordem para 1 e clique em Atualizar.\nMude a ordem da página \u0026ldquo;Notícias\u0026rdquo; para 2 e a da página \u0026ldquo;Contato\u0026rdquo; para 3. A ordem da página \u0026ldquo;Início\u0026rdquo; deve ser mantida como 0.\nSe você visitar seu site agora, as páginas devem ser apresentadas na ordem em que definimos.\nAgora nossa navegação funciona. No entanto, ainda não com todo o estilo do Bootstrap. Se você clicar em um link para uma página, por exemplo, verá que ela não aparece em destaque na barra de navegação. Isso ocorre porque as classes dos elementos HTML gerados pelo WordPress nem sempre correspondem às classes oferecidas pelo Bootstrap.\nVamos copiar as regras de uma classe do Bootstrap para estilizar uma classe do WordPress. Procure no arquivo bootstrap.css as regras para o seletor .navbar-inverse .navbar-nav \u0026gt; .active \u0026gt; a (na versão 3.3.5, essas regras estão na linha 4662) e as copie para o arquivo style.css, aplicando-as aos seletores .navbar-inverse .navbar-nav \u0026gt; .current_page_item \u0026gt; a e .navbar-inverse .navbar-nav \u0026gt; .current_page_parent \u0026gt; a:\n/* lib/bootstrap/3.3.5/css/bootstrap.css, linha 4662 */ /*.navbar-inverse .navbar-nav \u0026gt; .active \u0026gt; a, .navbar-inverse .navbar-nav \u0026gt; .active \u0026gt; a:hover, .navbar-inverse .navbar-nav \u0026gt; .active \u0026gt; a:focus*/ .navbar-inverse .navbar-nav \u0026gt; .current_page_item \u0026gt; a, .navbar-inverse .navbar-nav \u0026gt; .current_page_item \u0026gt; a:hover, .navbar-inverse .navbar-nav \u0026gt; .current_page_item \u0026gt; a:focus, .navbar-inverse .navbar-nav \u0026gt; .current_page_parent \u0026gt; a, .navbar-inverse .navbar-nav \u0026gt; .current_page_parent \u0026gt; a:hover, .navbar-inverse .navbar-nav \u0026gt; .current_page_parent \u0026gt; a:focus { color: #fff; background-color: #080808; } Agora sim nossa barra de navegação está completa:\nVamos seguir criando templates diferenciados para páginas e posts.\nTemplate das páginas Abra o arquivo index.php e salve-o como page.php. Assim, poupamos muita digitação.\nPrimeiro, vamos mudar o texto \u0026ldquo;Desculpe, não há posts a exibir\u0026rdquo; para \u0026ldquo;Desculpe, essa página não existe\u0026rdquo;.\nEm seguida, vamos criar um layout de duas colunas com o Bootstrap. Modifique o arquivo page.php para incluir uma div.row com uma div.col-md-8 e uma div.col-md-4. Vamos utilizar a div.col-md-8 para o conteúdo da página e a div.col-md-4 para a barra lateral:\n\u0026lt;?php get_header(); ?\u0026gt; \u0026lt;div class=\u0026#34;row\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;col-md-8\u0026#34;\u0026gt; \u0026lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;?php the_title(); ?\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;div class=\u0026#34;entry-content\u0026#34;\u0026gt; \u0026lt;?php the_content(); ?\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;?php endwhile; else: ?\u0026gt; \u0026lt;p\u0026gt;\u0026lt;?php _e(\u0026#39;Desculpe, essa página não existe.\u0026#39;); ?\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;?php endif; ?\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;!-- Aqui virá a barra lateral --\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;?php get_footer(); ?\u0026gt; Template da barra lateral Uma vez que vamos usar a barra lateral em alguns templates, vamos aproveitar a função get_sidebar() do WordPress, que funciona de maneira análoga às funções get_header() e get_footer().\nPara isso, abra o arquivo sidebar.php (que até então estava vazio) e salve-o com o seguinte código:\n\u0026lt;h2\u0026gt;Barra lateral\u0026lt;/h2\u0026gt; Agora volte ao arquivo index.php e acrescente uma chamada à função get_sidebar() na div.col-md-4:\n\u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;?php get_sidebar(); ?\u0026gt; \u0026lt;/div\u0026gt; Se agora você acessar uma das páginas do site, verá que temos o título, o conteúdo e a barra lateral sendo exibidos.\nNosso template de páginas está muito bom! Vamos seguir para a página de notícias.\nLista de posts A página de notícias irá funcionar um pouco diferente das outras, porque ela listará as postagens, ao invés de exibir o conteúdo de uma página. Há diversas formas de listar os posts, mas vamos fazer algo simples.\nPara começar, salve o arquivo page.php como home.php. No WordPress, o template home.php é reservado para a página que lista as postagens. No nosso caso, esse é o template que o WordPress utilizará para renderizar a página \u0026ldquo;Notícias\u0026rdquo;.\nA primeira coisa que vamos fazer é fixar no código (hardcode) uma tag \u0026lt;h1\u0026gt; no topo do conteúdo com o dizer \u0026ldquo;Notícias\u0026rdquo;. Nossas postagens aparecerão listadas abaixo desse título:\n\u0026lt;h1\u0026gt;Notícias\u0026lt;/h1\u0026gt; Nesse template, o loop do WordPress vai iterar por todas as postagens. Por isso, vamos utilizar uma tag \u0026lt;h2\u0026gt; para seus títulos, uma vez que já utilizamos uma tag \u0026lt;h1\u0026gt; para o título da página, assim criamos um efeito visual de hierarquia.\nTambém vamos utilizar uma nova função, the_permalink(), para criar links da página de listagem de notícias para as páginas das notícias em si:\n\u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;\u0026lt;?php the_permalink(); ?\u0026gt;\u0026#34;\u0026gt;\u0026lt;?php the_title(); ?\u0026gt;\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; Ao invés de exibir os conteúdos das notícias, vamos exibir a data em que elas foram publicadas usando a função get_the_time(). Ela é baseada na função time() do PHP e nos permite exibir a data e hora no formato que desejarmos.\nPara exibir a data como em \u0026ldquo;Domingo, 16 de agosto de 2015\u0026rdquo;, vamos usar a função get_the_time() da seguinte forma (em conjunto com a função uc_first() do PHP para capitalizar a primeira letra do dia da semana):\n\u0026lt;p\u0026gt;\u0026lt;em\u0026gt;\u0026lt;?php echo ucfirst(get_the_time(\u0026#39;l, j \\d\\e F \\d\\e Y\u0026#39;)); ?\u0026gt;\u0026lt;/em\u0026gt;\u0026lt;/p\u0026gt; Adicione uma tag \u0026lt;hr\u0026gt; após a data para separar os posts uns dos outros e, finalmente, altere o texto que é exibido quando não há posts para \u0026ldquo;Desculpe, não há posts a serem exibidos\u0026rdquo;.\nSeu template home.php deve ficar assim:\n\u0026lt;?php get_header(); ?\u0026gt; \u0026lt;div class=\u0026#34;row\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;col-md-8\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Notícias\u0026lt;/h1\u0026gt; \u0026lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?\u0026gt; \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;\u0026lt;?php the_permalink(); ?\u0026gt;\u0026#34;\u0026gt;\u0026lt;?php the_title(); ?\u0026gt;\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; \u0026lt;p\u0026gt;\u0026lt;em\u0026gt;\u0026lt;?php echo ucfirst(get_the_time(\u0026#39;l, j \\d\\e F \\d\\e Y\u0026#39;)); ?\u0026gt;\u0026lt;/em\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;hr\u0026gt; \u0026lt;?php endwhile; else: ?\u0026gt; \u0026lt;p\u0026gt;\u0026lt;?php _e(\u0026#39;Desculpe, não há posts a serem exibidos.\u0026#39;); ?\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;?php endif; ?\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;?php get_sidebar(); ?\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;?php get_footer(); ?\u0026gt; Para que a página de notícias seja exibida corretamente, volte à tela da área administrativa em que configuramos a página \u0026ldquo;Início\u0026rdquo; para ser exibida como página inicial (Configurações \u0026gt; Leitura). Na opção Página de posts, selecione a página \u0026ldquo;Notícias\u0026rdquo; e clique em Salvar alterações.\nAgora você pode acessar a página \u0026ldquo;Notícias\u0026rdquo; em seu navegador e ver a lista dos posts que você criou.\nTemplate das postagens Agora só nos resta fazer um template: o que exibe uma postagem. Esse template será bastante parecido com o utilizado para exibir páginas. Por isso, vamos começar abrindo o arquivo page.php e salvando-o como single.php. Por convenção, o WordPress utiliza o arquivo chamado single.php para renderizar uma postagem.\nNossa primeira alteração será incluir a data do post logo abaixo do título. Para isso, usaremos o mesmo código que utilizamos antes:\n\u0026lt;p\u0026gt;\u0026lt;em\u0026gt;\u0026lt;?php echo ucfirst(get_the_time(\u0026#39;l, j \\d\\e F \\d\\e Y\u0026#39;)); ?\u0026gt;\u0026lt;/em\u0026gt;\u0026lt;/p\u0026gt; Para os visitantes do nosso site, a maior diferença da postagem para a página será a possibilidade de comentar. Embora a implementação dos comentários por trás dos bastidores seja bastante complexa, na verdade é muito fácil adicioná-los ao template graças à função comments_template(). Basta adicioná-la após o conteúdo para permitir que nossos visitantes deixem comentários.\nPor fim, adicione uma tag \u0026lt;hr\u0026gt; acima dos comentários para separá-los do conteúdo da postagem.\nSeu template single.php deve ficar assim:\n\u0026lt;?php get_header(); ?\u0026gt; \u0026lt;div class=\u0026#34;row\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;col-md-8\u0026#34;\u0026gt; \u0026lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;?php the_title(); ?\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;\u0026lt;em\u0026gt;\u0026lt;?php echo ucfirst(get_the_time(\u0026#39;l, j \\d\\e F \\d\\e Y\u0026#39;)); ?\u0026gt;\u0026lt;/em\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;div class=\u0026#34;entry-content\u0026#34;\u0026gt; \u0026lt;?php the_content(); ?\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;hr\u0026gt; \u0026lt;?php comments_template(); ?\u0026gt; \u0026lt;?php endwhile; else: ?\u0026gt; \u0026lt;p\u0026gt;\u0026lt;?php _e(\u0026#39;Desculpe, essa página não existe.\u0026#39;); ?\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;?php endif; ?\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;?php get_sidebar(); ?\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;?php get_footer(); ?\u0026gt; Agora que temos todos os templates básicos, vamos fazer mais algumas alterações.\nAjutes no arquivo header.php O primeiro ajuste que faremos será em relação ao título da página. O título é uma parte importante da página, especialmente em relação à otimização para mecanismos de busca (mais conhecida como SEO, do inglês search engine optimization). O que se espera é que a tag \u0026lt;title\u0026gt; contenha não só o título da página ou postagem, mas também o nome do site.\nPodemos obter facilmente o título da página ou postagem utilizando a função wp_title(), que imprime o título da página ou postagem da maneira que desejamos.\nO nome do site pode ser obtido pela função bloginfo(), passando como argumento a string name.\nCombinando essas duas funções, podemos obter um título como \u0026ldquo;Notícias | Nome do site\u0026rdquo;:\n\u0026lt;title\u0026gt;\u0026lt;?php wp_title(\u0026#39;|\u0026#39;, true, \u0026#39;right\u0026#39;); ?\u0026gt; \u0026lt;?php bloginfo(\u0026#39;name\u0026#39;); ?\u0026gt;\u0026lt;/title\u0026gt; Substitua a tag \u0026lt;title\u0026gt; no arquivo header.php pela apresentada acima e você perceberá que os títulos das páginas agora serão exibidos conforme o esperado.\nVamos exibir o nome do site também no início da barra de navegação ao topo, com um link que aponte para a página inicial. Para isso, localize a tag a.navbar-brand no arquivo header.php (deve ser a linha 36):\n\u0026lt;a class=\u0026#34;navbar-brand\u0026#34; href=\u0026#34;#\u0026#34;\u0026gt;Project name\u0026lt;/a\u0026gt; E modifique-a para ficar assim:\n\u0026lt;a class=\u0026#34;navbar-brand\u0026#34; href=\u0026#34;\u0026lt;?php echo site_url(); ?\u0026gt;\u0026#34;\u0026gt;\u0026lt;?php bloginfo(\u0026#39;name\u0026#39;); ?\u0026gt;\u0026lt;/a\u0026gt; A função site_url() é nova, mas ela faz exatamente o que você deve ter imaginado: retornar o link para a página inicial do site.\nAgora que temos um link para a página inicial em nossa barra de navegação, podemos remover o link para a página \u0026ldquo;Início\u0026rdquo;. Podemos fazer isso adicionando mais uma opção na chamada à função wp_list_pages(), a opção exclude. Antes de utilizá-la, teremos que descobrir o ID da página \u0026ldquo;Início\u0026rdquo;. Para isso, acesse a página pela área administrativa, como se fosse editá-la, e observe o endereço na barra de endereços do navegador:\nNesse exemplo, a página \u0026ldquo;Início\u0026rdquo; tem o ID igual a 4 (no seu site pode ser diferente). De posse desse ID, atualize a chamada à função wp_list_pages() para (substituindo 4 pelo ID da sua página inicial):\n\u0026lt;?php wp_list_pages(array(\u0026#39;title_li\u0026#39; =\u0026gt; \u0026#39;\u0026#39;, \u0026#39;exclude\u0026#39; =\u0026gt; 4)); ?\u0026gt; Observação: se você utilizar esse código em temas futuros, se lembre de verificar o ID da página inicial e alterar a chamada à função wp_list_pages() conforme necessário.\nAinda no arquivo header.php, vamos fazer mais uma alteração. Vamos chamar as funções do WordPress language_attributes() e bloginfo('charset') para que as páginas do site sejam servidas com as configurações de idioma e codificação do site:\n\u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html \u0026lt;?php language_attributes(); ?\u0026gt;\u0026gt; \u0026lt;head\u0026gt; \u0026lt;meta charset=\u0026#34;\u0026lt;?php bloginfo(\u0026#39;charset\u0026#39;); ?\u0026gt;\u0026#34;\u0026gt; \u0026lt;meta http-equiv=\u0026#34;X-UA-Compatible\u0026#34; content=\u0026#34;IE=edge\u0026#34;\u0026gt; Se você acessar seu site pelo navegador e verificar o código-fonte da página, perceberá algo assim:\n\u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html lang=\u0026#34;pt-BR\u0026#34;\u0026gt; \u0026lt;head\u0026gt; \u0026lt;meta charset=\u0026#34;UTF-8\u0026#34;\u0026gt; \u0026lt;meta http-equiv=\u0026#34;X-UA-Compatible\u0026#34; content=\u0026#34;IE=edge\u0026#34;\u0026gt; Agora seu arquivo header.php deve estar assim:\n\u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html \u0026lt;?php language_attributes(); ?\u0026gt;\u0026gt; \u0026lt;head\u0026gt; \u0026lt;meta charset=\u0026#34;\u0026lt;?php bloginfo(\u0026#39;charset\u0026#39;); ?\u0026gt;\u0026#34;\u0026gt; \u0026lt;meta http-equiv=\u0026#34;X-UA-Compatible\u0026#34; content=\u0026#34;IE=edge\u0026#34;\u0026gt; \u0026lt;meta name=\u0026#34;viewport\u0026#34; content=\u0026#34;width=device-width, initial-scale=1\u0026#34;\u0026gt; \u0026lt;!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --\u0026gt; \u0026lt;meta name=\u0026#34;description\u0026#34; content=\u0026#34;\u0026#34;\u0026gt; \u0026lt;meta name=\u0026#34;author\u0026#34; content=\u0026#34;\u0026#34;\u0026gt; \u0026lt;title\u0026gt;\u0026lt;?php wp_title(\u0026#39;|\u0026#39;, true, \u0026#39;right\u0026#39;); ?\u0026gt; \u0026lt;?php bloginfo(\u0026#39;name\u0026#39;); ?\u0026gt;\u0026lt;/title\u0026gt; \u0026lt;!-- CSS --\u0026gt; \u0026lt;link href=\u0026#34;\u0026lt;?php bloginfo(\u0026#39;stylesheet_url\u0026#39;);?\u0026gt;\u0026#34; rel=\u0026#34;stylesheet\u0026#34;\u0026gt; \u0026lt;!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --\u0026gt; \u0026lt;!--[if lt IE 9]\u0026gt; \u0026lt;script src=\u0026#34;https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;script src=\u0026#34;https://oss.maxcdn.com/respond/1.4.2/respond.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;![endif]--\u0026gt; \u0026lt;?php wp_head(); ?\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;nav class=\u0026#34;navbar navbar-inverse navbar-fixed-top\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;container\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;navbar-header\u0026#34;\u0026gt; \u0026lt;button type=\u0026#34;button\u0026#34; class=\u0026#34;navbar-toggle collapsed\u0026#34; data-toggle=\u0026#34;collapse\u0026#34; data-target=\u0026#34;#navbar\u0026#34; aria-expanded=\u0026#34;false\u0026#34; aria-controls=\u0026#34;navbar\u0026#34;\u0026gt; \u0026lt;span class=\u0026#34;sr-only\u0026#34;\u0026gt;Toggle navigation\u0026lt;/span\u0026gt; \u0026lt;span class=\u0026#34;icon-bar\u0026#34;\u0026gt;\u0026lt;/span\u0026gt; \u0026lt;span class=\u0026#34;icon-bar\u0026#34;\u0026gt;\u0026lt;/span\u0026gt; \u0026lt;span class=\u0026#34;icon-bar\u0026#34;\u0026gt;\u0026lt;/span\u0026gt; \u0026lt;/button\u0026gt; \u0026lt;a class=\u0026#34;navbar-brand\u0026#34; href=\u0026#34;\u0026lt;?php echo site_url(); ?\u0026gt;\u0026#34;\u0026gt;\u0026lt;?php bloginfo(\u0026#39;name\u0026#39;); ?\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div id=\u0026#34;navbar\u0026#34; class=\u0026#34;navbar-collapse collapse\u0026#34;\u0026gt; \u0026lt;ul class=\u0026#34;nav navbar-nav\u0026#34;\u0026gt; \u0026lt;?php wp_list_pages(array(\u0026#39;title_li\u0026#39; =\u0026gt; \u0026#39;\u0026#39;, \u0026#39;exclude\u0026#39; =\u0026gt; 4)); ?\u0026gt; \u0026lt;/ul\u0026gt; \u0026lt;/div\u0026gt;\u0026lt;!--/.navbar-collapse --\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/nav\u0026gt; \u0026lt;div class=\u0026#34;container\u0026#34;\u0026gt; Widgets na barra lateral A última alteração no tema que faremos por hora será \u0026ldquo;widgetizar\u0026rdquo; nosso tema. Isso nos permitirá adicionar widgets do WordPress na nossa barra lateral.\nPara suportar a exibição de widgets nas páginas, precisaremos adicionar um pouco mais de código ao arquivo functions.php.\nAbra o arquivo functions.php e acrescente o seguinte código ao final do arquivo:\nif (function_exists(\u0026#39;register_sidebar\u0026#39;)) { register_sidebar(array( \u0026#39;before_title\u0026#39; =\u0026gt; \u0026#39;\u0026lt;h3\u0026gt;\u0026#39;, \u0026#39;after_title\u0026#39; =\u0026gt; \u0026#39;\u0026lt;/h3\u0026gt;\u0026#39;, \u0026#39;before_widget\u0026#39; =\u0026gt; \u0026#39;\u0026lt;div class=\u0026#34;row\u0026#34;\u0026gt;\u0026lt;div class=\u0026#34;col-md-12\u0026#34;\u0026gt;\u0026#39;, \u0026#39;after_widget\u0026#39; =\u0026gt; \u0026#39;\u0026lt;/div\u0026gt;\u0026lt;/div\u0026gt;\u0026#39;, )); } Feito isso, volte ao arquivo sidebar.php e substitua o conteúdo estático pelo código que nos permitirá gerenciar os widgets da barra lateral pela área administrativa:\n\u0026lt;?php if (!function_exists(\u0026#39;dynamic_sidebar\u0026#39;) || !dynamic_sidebar()): ?\u0026gt; \u0026lt;?php endif; ?\u0026gt; Download do tema Se você teve algum problema em seguir esse tutorial (ou é do tipo que gosta de pegar o código fácil, já pronto), você pode conferir ou baixar o que fizemos até agora.\nAcabou? Ou ainda tem mais? Parabéns! Nesse exato momento nós temos um tema simples, mas funcional, que você pode começar a personalizar adicionando seus próprios estilos e conteúdo (lembrando que os estilos são adicionados ao arquivo styles.css).\nA partir de agora você também deve se sentir confortável em editar por conta própria os templates básicos que criamos nesse tutorial. Se estiver interessado, visite a lista de todas as possíveis tags para templates do WordPress que você pode usar no seu site.\nSe esse é o seu primeiro tema do WordPress, então você começou bem! À medida que vamos aprendendo a construir temas do WordPress, aprendemos como tornar mais e mais coisas dinâmicas e configuráveis a partir da área administrativa, ao invés de fixadas no código.\nO tema que construímos até aqui é bastante semelhante ao desenvolvido a partir do tutorial original em inglês, apresentado no Treehouse Blog e que inspirou a escrita deste em português. Nosso tema difere principalmente por utilizar a versão mais recente do Bootstrap até o momento.\nFarei ainda mais uma parte apresentando algumas dicas de como tornar seu tema ainda mais interessante com o Bootstrap!\nAbraço a todos e até a próxima!\n","date":"2015-08-20T07:00:00Z","permalink":"/pt-br/artigo/como-criar-um-tema-responsivo-do-wordpress-com-o-bootstrap-parte-2/","title":"Como criar um tema responsivo do WordPress com o Bootstrap (parte 2)"},{"content":"Você já reparou que na Wikipédia todos os links para outras páginas aparecem destacados? Em alguns sites, a exemplo do Facebook, esses links são abertos sempre em novas janelas. Nessa dica breve, você aprenderá como tratar os links externos dessa maneira no seu site.\nMilan Aryal em seu blog mostra diversas maneiras de conseguir isso: HTML, JS, jQuery, CSS\u0026hellip; aqui vou mostrar como fiz neste site.\nMeu site utiliza jQuery e Bootstrap (veja o post sobre Bootstrap). Eu simplesmente adicionei as seguintes linhas de código ao arquivo JavaScript que é carregado em todas as páginas do site:\n$(\u0026#39;div.blog-post a\u0026#39;).filter(function() { return (this.hostname \u0026amp;\u0026amp; (this.hostname != location.hostname)); }).append(\u0026#39; \u0026lt;span class=\u0026#34;glyphicon glyphicon-new-window\u0026#34;\u0026gt;\u0026lt;/span\u0026gt;\u0026#39;).attr(\u0026#39;target\u0026#39;, \u0026#39;_blank\u0026#39;) O que esse código basicamente faz é:\nUsando jQuery, ele seleciona todos os links da postagem (eu não trato links na barra lateral, por exemplo); Filtra os links que apontam para sites diferentes do meu; Adiciona ao final do link (imediatamente antes da tag \u0026lt;/a\u0026gt;) esse ícone do Glyphicons, que acompanha o Bootstrap; e Define o valor do atributo target para _blank, fazendo com que esses links sejam abertos em novas janelas (ou abas, a depender do navegador). Se você utiliza os ícones da Font Awesome, o código é bem parecido, só muda a classe da tag \u0026lt;span\u0026gt;:\n$(\u0026#39;div.blog-post a\u0026#39;).filter(function() { return (this.hostname \u0026amp;\u0026amp; (this.hostname != location.hostname)); }).append(\u0026#39; \u0026lt;span class=\u0026#34;fa fa-external-link\u0026#34;\u0026gt;\u0026lt;/span\u0026gt;\u0026#39;).attr(\u0026#39;target\u0026#39;, \u0026#39;_blank\u0026#39;) Se você não utiliza Glyphicons nem Font Awesome, ainda assim pode usar jQuery, CSS e um pequeno ícone (uma imagem de 16 x 16, por exemplo, no Google você encontra várias) para conseguir o mesmo efeito.\nAdicione a seguinte regra ao estilo do seu site (no exemplo, a imagem se chama link_externo.png):\na.externo { background: url(\u0026#34;link_externo.png\u0026#34;) no-repeat scroll right center transparent; padding-right: 20px; } Via jQuery, adicione a classe externo aos links externos:\n$(\u0026#39;div.blog-post a\u0026#39;).filter(function() { return (this.hostname \u0026amp;\u0026amp; (this.hostname != location.hostname)); }).addClass(\u0026#39;externo\u0026#39;).attr(\u0026#39;target\u0026#39;, \u0026#39;_blank\u0026#39;) Pronto! A partir de agora, a imagem link_externo.png deve ser exibida à direita dos seus links externos e esses devem ser abertos em uma nova janela (ou aba).\nNão vou explorar aqui todas as possibilidades. Já expus o que eu fiz e mais duas alternativas. Se nenhuma delas atende às suas necessidades, você pode tentar alguma das várias apresentadas nesse post muito interessante do Milan Aryal ou nessa página do CSS-Tricks. Esse site tem outra página na qual ainda mais opções são apresentadas.\nPra não dizer que só falei de flores Vale observar que, de acordo com a maioria dos especialistas em usabilidade, abrir links em uma nova janela (ou aba) do navegador não é considerada uma boa prática.\nEvite abrir várias janelas do navegador, se possível — impedir que os usuários utilizem o botão \u0026ldquo;Voltar\u0026rdquo; pode tornar suas experiências tão difíceis que normalmente não compensa qualquer benefício que você tente oferecer. Uma teoria comum a favor de abrir uma segunda janela é evitar que os usuários deixem seu site, mas ironicamente isso pode ter justamente o efeito oposto impedindo-os de voltar quando eles querem.\nSecond browser windows, Seven tricks that Web users don\u0026rsquo;t know\nPortanto, usemos com bom senso!\n","date":"2015-08-19T09:30:00Z","permalink":"/pt-br/artigo/como-real%C3%A7ar-links-externos-e-abri-los-em-uma-nova-janela/","title":"Como realçar links externos e abri-los em uma nova janela"},{"content":"Nesse tutorial, você aprenderá a criar um tema responsivo do WordPress usando o Bootstrap. Com um tema responsivo, seu blog ou site com WordPress aparecerá bem na grande variedade de dispositivos (computadores, smartphones e tablets) e navegadores existentes.\nO Bootstrap é um framework para o desenvolvimento de sites e aplicações web responsivos e foi apresentado no post anterior.\nRecentemente eu desenvolvi um tema responsivo para o WordPress usando o excelente tutorial apresentado no Treehouse Blog. Como aquele tutorial parecia estar desatualizado (pelo código dos exemplos, muito provavelmente eles utilizaram uma versão anterior do Bootstrap), tive a ideia de escrever uma versão atualizada e em português. Para referência, aqui utilizo o Bootstrap 3.3.5 e o WordPress 4.2.3, as versões mais recentes até o momento da escrita.\nPara seguir esse tutorial, você não precisa ter experiência anterior em desenvolver temas do WordPress. No entanto, vou assumir que você já tem o mínimo de familiaridade com a ferramenta para instalá-la, adicionar páginas e posts e instalar plugins utilizando a área administrativa.\nO tema que vamos construir será baseado no exemplo Jumbotron (antigamente chamado de Basic marketing site) disponível na página de exemplos do Bootstrap e contará com as seguintes páginas e funcionalidades:\nPágina inicial personalizada Página Sobre Página Notícias, com comentários Página Contato Uma barra lateral com widgets Requisitos Antes de começarmos a desenvolver o tema propriamente dito, você precisa baixar e instalar o WordPress. Para o desenvolvimento, recomendo um servidor web como o XAMPP e um ambiente de desenvolvimento integrado como o Aptana Studio.\nEm nosso tema, utilizaremos o Bootstrap a partir de uma CDN (Content Delivery Network). No entanto, você pode baixar o Bootstrap se desejar servi-lo com seu site.\nSe for desenvolver esse tema utilizando um site do WordPress que já está no ar, recomendo que você utilize o plugin Theme Test Drive para WordPress para que seus visitantes não vejam o tema enquanto desenvolve.\nComeçando Abra a pasta onde instalou o WordPress e navegue para a pasta wp-content/themes. É nessa pasta onde ficam armazenados os temas do WordPress. Se você acabou de instalar o WordPress, verá apenas os temas padrão: Twenty Fifteen, Twenty Fourteen e Twenty Thirteen, cada um em sua pasta.\n$ cd wordpress $ cd wp-content/themes $ ls index.php twentyfifteen twentyfourteen twentythirteen Vamos criar uma pasta para o nosso tema, chamada wpbootstrap.\n$ mkdir wpbootstrap $ cd wpbootstrap Se você optou por baixar o Bootstrap, recomendo adicioná-lo a essa pasta agora. Eu recomendo criar uma pasta lib e colocá-lo dentro de lib/bootstrap/3.3.5, acredito que assim fica mais organizado.\n$ mkdir -p lib/bootstrap/ $ unzip ~/Downloads/bootstrap-3.3.5-dist.zip -d lib/bootstrap/ $ mv lib/bootstrap/bootstrap-3.3.5-dist lib/bootstrap/3.3.5 Dentro da pasta wpbootstrap, crie um novo arquivo de texto chamado index.php:\n$ touch index.php Agora vamos copiar o código-fonte do exemplo Jumbotron e colá-lo no arquivo index.php, fazendo algumas modificações para funcionar com o nosso exemplo. Você também pode ver o arquivo aqui e as alterações destacadas aqui.\n\u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html lang=\u0026#34;en\u0026#34;\u0026gt; \u0026lt;head\u0026gt; \u0026lt;meta charset=\u0026#34;utf-8\u0026#34;\u0026gt; \u0026lt;meta http-equiv=\u0026#34;X-UA-Compatible\u0026#34; content=\u0026#34;IE=edge\u0026#34;\u0026gt; \u0026lt;meta name=\u0026#34;viewport\u0026#34; content=\u0026#34;width=device-width, initial-scale=1\u0026#34;\u0026gt; \u0026lt;!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --\u0026gt; \u0026lt;meta name=\u0026#34;description\u0026#34; content=\u0026#34;\u0026#34;\u0026gt; \u0026lt;meta name=\u0026#34;author\u0026#34; content=\u0026#34;\u0026#34;\u0026gt; \u0026lt;title\u0026gt;Jumbotron Template for Bootstrap\u0026lt;/title\u0026gt; \u0026lt;!-- Bootstrap core CSS --\u0026gt; \u0026lt;link href=\u0026#34;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css\u0026#34; rel=\u0026#34;stylesheet\u0026#34;\u0026gt; \u0026lt;!-- Custom styles for this template --\u0026gt; \u0026lt;style type=\u0026#34;text/css\u0026#34;\u0026gt; body { padding-top: 50px; padding-bottom: 20px; } \u0026lt;/style\u0026gt; \u0026lt;!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --\u0026gt; \u0026lt;!--[if lt IE 9]\u0026gt; \u0026lt;script src=\u0026#34;https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;script src=\u0026#34;https://oss.maxcdn.com/respond/1.4.2/respond.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;![endif]--\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;nav class=\u0026#34;navbar navbar-inverse navbar-fixed-top\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;container\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;navbar-header\u0026#34;\u0026gt; \u0026lt;button type=\u0026#34;button\u0026#34; class=\u0026#34;navbar-toggle collapsed\u0026#34; data-toggle=\u0026#34;collapse\u0026#34; data-target=\u0026#34;#navbar\u0026#34; aria-expanded=\u0026#34;false\u0026#34; aria-controls=\u0026#34;navbar\u0026#34;\u0026gt; \u0026lt;span class=\u0026#34;sr-only\u0026#34;\u0026gt;Toggle navigation\u0026lt;/span\u0026gt; \u0026lt;span class=\u0026#34;icon-bar\u0026#34;\u0026gt;\u0026lt;/span\u0026gt; \u0026lt;span class=\u0026#34;icon-bar\u0026#34;\u0026gt;\u0026lt;/span\u0026gt; \u0026lt;span class=\u0026#34;icon-bar\u0026#34;\u0026gt;\u0026lt;/span\u0026gt; \u0026lt;/button\u0026gt; \u0026lt;a class=\u0026#34;navbar-brand\u0026#34; href=\u0026#34;#\u0026#34;\u0026gt;Project name\u0026lt;/a\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div id=\u0026#34;navbar\u0026#34; class=\u0026#34;navbar-collapse collapse\u0026#34;\u0026gt; \u0026lt;form class=\u0026#34;navbar-form navbar-right\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;form-group\u0026#34;\u0026gt; \u0026lt;input type=\u0026#34;text\u0026#34; placeholder=\u0026#34;Email\u0026#34; class=\u0026#34;form-control\u0026#34;\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;form-group\u0026#34;\u0026gt; \u0026lt;input type=\u0026#34;password\u0026#34; placeholder=\u0026#34;Password\u0026#34; class=\u0026#34;form-control\u0026#34;\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;button type=\u0026#34;submit\u0026#34; class=\u0026#34;btn btn-success\u0026#34;\u0026gt;Sign in\u0026lt;/button\u0026gt; \u0026lt;/form\u0026gt; \u0026lt;/div\u0026gt;\u0026lt;!--/.navbar-collapse --\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/nav\u0026gt; \u0026lt;!-- Main jumbotron for a primary marketing message or call to action --\u0026gt; \u0026lt;div class=\u0026#34;jumbotron\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;container\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Hello, world!\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;This is a template for a simple marketing or informational website. It includes a large callout called a jumbotron and three supporting pieces of content. Use it as a starting point to create something more unique.\u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-primary btn-lg\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;Learn more \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;container\u0026#34;\u0026gt; \u0026lt;!-- Example row of columns --\u0026gt; \u0026lt;div class=\u0026#34;row\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;h2\u0026gt;Heading\u0026lt;/h2\u0026gt; \u0026lt;p\u0026gt;Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. \u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-default\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;View details \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;h2\u0026gt;Heading\u0026lt;/h2\u0026gt; \u0026lt;p\u0026gt;Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. \u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-default\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;View details \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;h2\u0026gt;Heading\u0026lt;/h2\u0026gt; \u0026lt;p\u0026gt;Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.\u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-default\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;View details \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;hr\u0026gt; \u0026lt;footer\u0026gt; \u0026lt;p\u0026gt;\u0026amp;copy; Company 2014\u0026lt;/p\u0026gt; \u0026lt;/footer\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;!-- /container --\u0026gt; \u0026lt;!-- Bootstrap core JavaScript ================================================== --\u0026gt; \u0026lt;!-- Placed at the end of the document so the pages load faster --\u0026gt; \u0026lt;script src=\u0026#34;https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;script src=\u0026#34;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Agora que nós temos uma página de HTML estático, vamos seguir em frente e criar a folha de estilos do tema, o arquivo style.css. O WordPress requer que esse arquivo tenha exatamente esse nome e também apresente um comentário com informações específicas no seu início. Ele usa as informações contidas nesse comentário para apresentar o tema na tela de seleção de tema (Aparência \u0026gt; Temas).\nNa pasta do tema, a mesma onde está o arquivo index.php, crie um novo arquivo chamado style.css com o seguinte conteúdo:\n/* Theme Name: WP Bootstrap Theme URI: https://vinyanalista.github.io/blog/2015/08/06/wordpress-bootstrap/ Description: Tema criado para o tutorial \u0026lt;a href=\u0026#34;https://vinyanalista.github.io/blog/2015/08/06/wordpress-bootstrap/\u0026#34;\u0026gt;Como criar um tema responsivo do WordPress com o Bootstrap\u0026lt;/a\u0026gt;. Author: Antônio Vinícius Menezes Medeiros Author URI: https://vinyanalista.github.io/ Version: 1.0 Tags: responsive, white, bootstrap License: Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) License URI: http://creativecommons.org/licenses/by-sa/3.0/ Este tema simples foi criado usando o exemplo Jumbotron encontrado no site do Bootstrap http://getbootstrap.com/examples/jumbotron/ */ A última coisa que precisamos fazer para que possamos selecionar e utilizar nosso tema é atribuir-lhe uma imagem. O WordPress requer que essa imagem seja chamada screenshot.png (na verdade, os formatos .jpg, .jpeg e .gif também são suportados, embora não recomendados) e apresente resolução mínima de 387x290, sendo que o recomendado é 880x660 (aspecto 4:3). Você pode utilizar esta imagem ou outra de sua preferência:\nSalve essa imagem com o nome de screenshot.png na mesma pasta dos arquivos index.php e style.css.\nAgora estamos prontos para entrar na área de administração do WordPress e selecionar nosso tema. Entre na área administrativa e vá em Aparência \u0026gt; Temas. Você deve ver o nosso tema na lista de temas disponíveis:\nClique no botão Ativar no tema WP Bootstrap (lembre-se de utilizar o plugin Theme Test Drive se estiver desenvolvendo o tema usando um site que já está no ar).\nUma vez com o tema ativado, visite seu site no navegador e verá algo como isso:\nAgora vamos começar a transformar essa página estática em um verdadeiro tema do WordPress.\nTransformando o template do Bootstrap em um tema do WordPress A maioria dos temas do WordPress inclui os seguintes arquivos:\nindex.php style.css header.php footer.php sidebar.php Normalmente eles possuem outros arquivos além desses, mas vamos começar com esses e depois então acrescentar outros.\nCrie novos arquivos de texto chamados header.php, footer.php e sidebar.php.\n$ touch header.php footer.php sidebar.php O que vamos fazer agora é mover todo o código HTML que será incluído no topo de todas as páginas para o arquivo header.php. Mova todo o código acima da div.jumbotron (ou seja, até a tag \u0026lt;/nav\u0026gt;, linhas 1 a 56) para o arquivo header.php (em breve mostrarei como ficará esse arquivo ao final, mas por hora ele deve estar assim).\nDepois, de maneira análoga, moveremos todo o código HTML que será incluído ao final de todas as páginas para o arquivo footer.php. Mova todo o código a partir da tag \u0026lt;hr\u0026gt; (incluindo esta, linhas 87 a 101) para o arquivo footer.php (também mostrarei em breve esse arquivo, mas por hora ele deve estar assim).\nAgora vamos utilizar nossas primeiras tags do WordPress para incluir os códigos HTML presentes nos arquivos header.php e footer.php no arquivo index.php.\nAs duas tags que vamos utilizar são get_header() e get_footer(). Essas são funções que já vêm com o WordPress e inserem os conteúdos dos arquivos header.php e footer.php onde são invocadas. O WordPress é capaz de fazer isso porque nomeamos nossos arquivos seguindo suas convenções (header.php e footer.php). Se eles tivessem nomes diferentes (por exemplo, topo.php e rodape.php), essas funções não funcionariam.\nInsira \u0026lt;?php get_header(); ?\u0026gt; no início do arquivo index.php (antes de todo o código) e \u0026lt;?php get_footer(); ?\u0026gt; no final do arquivo index.php (após todo o código).\nSeu arquivo index.php deve estar assim:\n\u0026lt;?php get_header(); ?\u0026gt; \u0026lt;!-- Main jumbotron for a primary marketing message or call to action --\u0026gt; \u0026lt;div class=\u0026#34;jumbotron\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;container\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Hello, world!\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;This is a template for a simple marketing or informational website. It includes a large callout called a jumbotron and three supporting pieces of content. Use it as a starting point to create something more unique.\u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-primary btn-lg\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;Learn more \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;container\u0026#34;\u0026gt; \u0026lt;!-- Example row of columns --\u0026gt; \u0026lt;div class=\u0026#34;row\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;h2\u0026gt;Heading\u0026lt;/h2\u0026gt; \u0026lt;p\u0026gt;Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. \u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-default\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;View details \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;h2\u0026gt;Heading\u0026lt;/h2\u0026gt; \u0026lt;p\u0026gt;Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. \u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-default\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;View details \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;h2\u0026gt;Heading\u0026lt;/h2\u0026gt; \u0026lt;p\u0026gt;Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.\u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-default\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;View details \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;?php get_footer(); ?\u0026gt; Você deve estar se perguntando porque fizemos isso. O motivo é simples: depois vamos criar várias páginas nas quais desejamos incluir os códigos HTML do topo e do rodapé. Se nós deixássemos esses códigos em todas as páginas e no futuro desejássemos realizar alguma mudança, então teríamos que replicar essa mudança em todas as páginas. Da maneira como vamos fazer, podemos mudar o código do topo da página ou do rodapé em apenas um arquivo, e todas as demais páginas que utilizam esses arquivos receberão as mudanças. Isso é bastante semelhante ao benefício que se obtém ao referenciar um arquivo CSS em todas as páginas ao invés de incluir todas as regras CSS no cabeçalho.\nAliás, falando em CSS, vamos fazer exatamente isso. Localize a parte do arquivo header.php que contém as regras e referências às folhas de estilos (linhas 13 a 22):\n\u0026lt;!-- Bootstrap core CSS --\u0026gt; \u0026lt;link href=\u0026#34;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css\u0026#34; rel=\u0026#34;stylesheet\u0026#34;\u0026gt; \u0026lt;!-- Custom styles for this template --\u0026gt; \u0026lt;style type=\u0026#34;text/css\u0026#34;\u0026gt; body { padding-top: 50px; padding-bottom: 20px; } \u0026lt;/style\u0026gt; Substitua essa parte por isso:\n\u0026lt;!-- CSS --\u0026gt; \u0026lt;link href=\u0026#34;\u0026lt;?php bloginfo(\u0026#39;stylesheet_url\u0026#39;);?\u0026gt;\u0026#34; rel=\u0026#34;stylesheet\u0026#34;\u0026gt; Então, adicione o seguinte ao final do arquivo style.css (ele deve ficar assim):\n/* Bootstrap core CSS */ /* Se preferir utilizar a própria cópia do Bootstrap, descomente a linha a seguir e comente a próxima */ /*@import url(\u0026#39;lib/bootstrap/3.3.5/css/bootstrap.min.css\u0026#39;);*/ @import url(\u0026#39;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css\u0026#39;); /* Custom styles for this template */ body { padding-top: 60px; padding-bottom: 40px; } O que fizemos aqui foi utilizar uma tag do WordPress para automaticamente referenciar o estilo do nosso tema em todas as páginas (já adianto que você verá neste tutorial chamadas à função bloginfo() serem utilizadas das mais diversas formas). Depois, no arquivo styles.css, utilizamos a tag @import para referenciar o arquivo CSS do Bootstrap a partir do estilo do nosso tema.\nAntes de passar para o arquivo footer.php, vamos fazer mais uma mudança no arquivo header.php: insira a tag \u0026lt;?php wp_head(); ?\u0026gt; imediatamente antes da tag \u0026lt;/head\u0026gt;.\nSeu arquivo header.php deve ficar assim:\n\u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html lang=\u0026#34;en\u0026#34;\u0026gt; \u0026lt;head\u0026gt; \u0026lt;meta charset=\u0026#34;utf-8\u0026#34;\u0026gt; \u0026lt;meta http-equiv=\u0026#34;X-UA-Compatible\u0026#34; content=\u0026#34;IE=edge\u0026#34;\u0026gt; \u0026lt;meta name=\u0026#34;viewport\u0026#34; content=\u0026#34;width=device-width, initial-scale=1\u0026#34;\u0026gt; \u0026lt;!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --\u0026gt; \u0026lt;meta name=\u0026#34;description\u0026#34; content=\u0026#34;\u0026#34;\u0026gt; \u0026lt;meta name=\u0026#34;author\u0026#34; content=\u0026#34;\u0026#34;\u0026gt; \u0026lt;title\u0026gt;Jumbotron Template for Bootstrap\u0026lt;/title\u0026gt; \u0026lt;!-- CSS --\u0026gt; \u0026lt;link href=\u0026#34;\u0026lt;?php bloginfo(\u0026#39;stylesheet_url\u0026#39;);?\u0026gt;\u0026#34; rel=\u0026#34;stylesheet\u0026#34;\u0026gt; \u0026lt;!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --\u0026gt; \u0026lt;!--[if lt IE 9]\u0026gt; \u0026lt;script src=\u0026#34;https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;script src=\u0026#34;https://oss.maxcdn.com/respond/1.4.2/respond.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;![endif]--\u0026gt; \u0026lt;?php wp_head(); ?\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;nav class=\u0026#34;navbar navbar-inverse navbar-fixed-top\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;container\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;navbar-header\u0026#34;\u0026gt; \u0026lt;button type=\u0026#34;button\u0026#34; class=\u0026#34;navbar-toggle collapsed\u0026#34; data-toggle=\u0026#34;collapse\u0026#34; data-target=\u0026#34;#navbar\u0026#34; aria-expanded=\u0026#34;false\u0026#34; aria-controls=\u0026#34;navbar\u0026#34;\u0026gt; \u0026lt;span class=\u0026#34;sr-only\u0026#34;\u0026gt;Toggle navigation\u0026lt;/span\u0026gt; \u0026lt;span class=\u0026#34;icon-bar\u0026#34;\u0026gt;\u0026lt;/span\u0026gt; \u0026lt;span class=\u0026#34;icon-bar\u0026#34;\u0026gt;\u0026lt;/span\u0026gt; \u0026lt;span class=\u0026#34;icon-bar\u0026#34;\u0026gt;\u0026lt;/span\u0026gt; \u0026lt;/button\u0026gt; \u0026lt;a class=\u0026#34;navbar-brand\u0026#34; href=\u0026#34;#\u0026#34;\u0026gt;Project name\u0026lt;/a\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div id=\u0026#34;navbar\u0026#34; class=\u0026#34;navbar-collapse collapse\u0026#34;\u0026gt; \u0026lt;form class=\u0026#34;navbar-form navbar-right\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;form-group\u0026#34;\u0026gt; \u0026lt;input type=\u0026#34;text\u0026#34; placeholder=\u0026#34;Email\u0026#34; class=\u0026#34;form-control\u0026#34;\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;form-group\u0026#34;\u0026gt; \u0026lt;input type=\u0026#34;password\u0026#34; placeholder=\u0026#34;Password\u0026#34; class=\u0026#34;form-control\u0026#34;\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;button type=\u0026#34;submit\u0026#34; class=\u0026#34;btn btn-success\u0026#34;\u0026gt;Sign in\u0026lt;/button\u0026gt; \u0026lt;/form\u0026gt; \u0026lt;/div\u0026gt;\u0026lt;!--/.navbar-collapse --\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/nav\u0026gt; A função wp_head() permite que o WordPress insira mais elementos ao cabeçalho da página, como arquivos JavaScript ou CSS requisitados pelo tema ou pelos plugins. Se não incluíssemos essa tag no nosso tema, alguns plugins poderiam não funcionar.\nAgora vamos seguir em frente e fazer uma limpeza no arquivo footer.php. O exemplo do Bootstrap utiliza alguns arquivos JavaScript. Vamos referenciá-los da maneira recomendada pelo WordPress, removendo-os desse arquivo e trazendo-os para o cabeçalho da página. Vamos fazer com que nosso tema os insira na página através da função wp_head().\nPara fazer isso, vamos criar um novo arquivo chamado functions.php e carregar nosso JavaScript dele. Pode parecer trabalho extra para carregar um arquivo JavaScript, mas à medida em que seus temas se tornarem mais complexos esse hábito ajudará a mantê-los limpos e organizados.\nNa mesma pasta do arquivo footer.php, crie e abra um arquivo de texto chamado functions.php. Copie para ele o seguinte código-fonte:\n\u0026lt;?php function scripts_do_template() { // Bootstrap core JavaScript // Se preferir utilizar a própria cópia do Bootstrap, descomente a linha a seguir e comente a próxima //wp_register_script(\u0026#39;bootstrap\u0026#39;, get_template_directory_uri().\u0026#39;/lib/bootstrap/3.3.5/js/bootstrap.min.js\u0026#39;, array(\u0026#39;jquery\u0026#39;)); wp_register_script(\u0026#39;bootstrap\u0026#39;, \u0026#39;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js\u0026#39;, array(\u0026#39;jquery\u0026#39;)); wp_enqueue_script(\u0026#39;jquery\u0026#39;); wp_enqueue_script(\u0026#39;bootstrap\u0026#39;); } add_action(\u0026#39;wp_enqueue_scripts\u0026#39;, \u0026#39;scripts_do_template\u0026#39;); ?\u0026gt; Aqui utilizamos uma chamada à função wp_register_script() para apresentar ao WordPress um novo script, que será incluído posteriormente na página com uma chamada à função wp_enqueue_script().\nObserve que nos preocupamos em registrar apenas o Bootstrap. A biblioteca jQuery, um requisito para o Bootstrap, acompanha o WordPress, de modo que não precisamos registra-la, apenas inclui-la.\nPor fim, com a chamada à função add_action(), determinamos que a nossa função scripts_do_template() implementa a ação wp_enqueue_scripts, invocada pelo WordPress no momento de enfileirar o scripts para renderização.\nVamos agora adicionar ao rodapé a tag wp_footer(), que funciona de maneira análoga à wp_head(). No arquivo footer.php, remova as referências às bibliotecas JavaScript (linhas 9 a 13) e insira a tag \u0026lt;?php wp_head(); ?\u0026gt; imediatamente antes da tag \u0026lt;/body\u0026gt;.\nSeu arquivo footer.php deve ficar assim:\n\u0026lt;hr\u0026gt; \u0026lt;footer\u0026gt; \u0026lt;p\u0026gt;\u0026amp;copy; Company 2014\u0026lt;/p\u0026gt; \u0026lt;/footer\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;!-- /container --\u0026gt; \u0026lt;?php wp_footer(); ?\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Por último, vamos rever nossos arquivos header.php, index.php e footer.php de modo que tenhamos uma div.container em volta do conteúdo, como manda o Bootstrap. Ao final, eles devem ficar assim (você pode ver as mudanças destacadas aqui):\nheader.php \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html lang=\u0026#34;en\u0026#34;\u0026gt; \u0026lt;head\u0026gt; \u0026lt;meta charset=\u0026#34;utf-8\u0026#34;\u0026gt; \u0026lt;meta http-equiv=\u0026#34;X-UA-Compatible\u0026#34; content=\u0026#34;IE=edge\u0026#34;\u0026gt; \u0026lt;meta name=\u0026#34;viewport\u0026#34; content=\u0026#34;width=device-width, initial-scale=1\u0026#34;\u0026gt; \u0026lt;!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --\u0026gt; \u0026lt;meta name=\u0026#34;description\u0026#34; content=\u0026#34;\u0026#34;\u0026gt; \u0026lt;meta name=\u0026#34;author\u0026#34; content=\u0026#34;\u0026#34;\u0026gt; \u0026lt;title\u0026gt;Jumbotron Template for Bootstrap\u0026lt;/title\u0026gt; \u0026lt;!-- CSS --\u0026gt; \u0026lt;link href=\u0026#34;\u0026lt;?php bloginfo(\u0026#39;stylesheet_url\u0026#39;);?\u0026gt;\u0026#34; rel=\u0026#34;stylesheet\u0026#34;\u0026gt; \u0026lt;!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --\u0026gt; \u0026lt;!--[if lt IE 9]\u0026gt; \u0026lt;script src=\u0026#34;https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;script src=\u0026#34;https://oss.maxcdn.com/respond/1.4.2/respond.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;![endif]--\u0026gt; \u0026lt;?php wp_head(); ?\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;nav class=\u0026#34;navbar navbar-inverse navbar-fixed-top\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;container\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;navbar-header\u0026#34;\u0026gt; \u0026lt;button type=\u0026#34;button\u0026#34; class=\u0026#34;navbar-toggle collapsed\u0026#34; data-toggle=\u0026#34;collapse\u0026#34; data-target=\u0026#34;#navbar\u0026#34; aria-expanded=\u0026#34;false\u0026#34; aria-controls=\u0026#34;navbar\u0026#34;\u0026gt; \u0026lt;span class=\u0026#34;sr-only\u0026#34;\u0026gt;Toggle navigation\u0026lt;/span\u0026gt; \u0026lt;span class=\u0026#34;icon-bar\u0026#34;\u0026gt;\u0026lt;/span\u0026gt; \u0026lt;span class=\u0026#34;icon-bar\u0026#34;\u0026gt;\u0026lt;/span\u0026gt; \u0026lt;span class=\u0026#34;icon-bar\u0026#34;\u0026gt;\u0026lt;/span\u0026gt; \u0026lt;/button\u0026gt; \u0026lt;a class=\u0026#34;navbar-brand\u0026#34; href=\u0026#34;#\u0026#34;\u0026gt;Project name\u0026lt;/a\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div id=\u0026#34;navbar\u0026#34; class=\u0026#34;navbar-collapse collapse\u0026#34;\u0026gt; \u0026lt;form class=\u0026#34;navbar-form navbar-right\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;form-group\u0026#34;\u0026gt; \u0026lt;input type=\u0026#34;text\u0026#34; placeholder=\u0026#34;Email\u0026#34; class=\u0026#34;form-control\u0026#34;\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;form-group\u0026#34;\u0026gt; \u0026lt;input type=\u0026#34;password\u0026#34; placeholder=\u0026#34;Password\u0026#34; class=\u0026#34;form-control\u0026#34;\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;button type=\u0026#34;submit\u0026#34; class=\u0026#34;btn btn-success\u0026#34;\u0026gt;Sign in\u0026lt;/button\u0026gt; \u0026lt;/form\u0026gt; \u0026lt;/div\u0026gt;\u0026lt;!--/.navbar-collapse --\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/nav\u0026gt; \u0026lt;div class=\u0026#34;container\u0026#34;\u0026gt; index.php \u0026lt;?php get_header(); ?\u0026gt; \u0026lt;!-- Main jumbotron for a primary marketing message or call to action --\u0026gt; \u0026lt;div class=\u0026#34;jumbotron\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Hello, world!\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;This is a template for a simple marketing or informational website. It includes a large callout called a jumbotron and three supporting pieces of content. Use it as a starting point to create something more unique.\u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-primary btn-lg\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;Learn more \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;!-- Example row of columns --\u0026gt; \u0026lt;div class=\u0026#34;row\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;h2\u0026gt;Heading\u0026lt;/h2\u0026gt; \u0026lt;p\u0026gt;Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. \u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-default\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;View details \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;h2\u0026gt;Heading\u0026lt;/h2\u0026gt; \u0026lt;p\u0026gt;Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. \u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-default\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;View details \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;h2\u0026gt;Heading\u0026lt;/h2\u0026gt; \u0026lt;p\u0026gt;Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.\u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-default\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;View details \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;?php get_footer(); ?\u0026gt; footer.php \u0026lt;hr\u0026gt; \u0026lt;footer\u0026gt; \u0026lt;p\u0026gt;\u0026amp;copy; Company 2014\u0026lt;/p\u0026gt; \u0026lt;/footer\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;!-- /container --\u0026gt; \u0026lt;?php wp_footer(); ?\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Para testar se os arquivos CSS e JS estão sendo carregados adequadamente, abra seu site no navegador e redimensione a tela de modo a parecer um tablet ou smartphone. Clique no menu dropdown e ele deve aparecer assim:\nSe esse menu não estiver funcionando, significa que algo deu errado na hora de referenciar algum arquivo. Certifique-se de que os arquivos estão nos locais corretos e que seu código está correto. Afinal de contas, você não deseja que seu site responsivo não funcione nos smartphones e tablets, não é mesmo?\nSe desejar, pode conferir como estamos até agora, clicando aqui.\nCriando a página inicial do site Agora que nós temos nosso tema minimamente configurado, vamos torná-lo realmente dinâmico criando uma página inicial no WordPress e exibindo seu conteúdo no nosso site, ao invés do conteúdo estático que temos agora, fixo no código (hardcoded).\nPara isso, acesse a área administrativa do WordPress e vá em Páginas \u0026gt; Adicionar Nova. Chame a página de \u0026ldquo;Início\u0026rdquo;. Clique na aba Texto acima do editor e mova o código HTML do arquivo index.php (isso não inclui as tags PHP) para o editor.\nO código da sua página deve parecer com este:\n\u0026lt;!-- Main jumbotron for a primary marketing message or call to action --\u0026gt; \u0026lt;div class=\u0026#34;jumbotron\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Hello, world!\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;This is a template for a simple marketing or informational website. It includes a large callout called a jumbotron and three supporting pieces of content. Use it as a starting point to create something more unique.\u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-primary btn-lg\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;Learn more \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;!-- Example row of columns --\u0026gt; \u0026lt;div class=\u0026#34;row\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;h2\u0026gt;Heading\u0026lt;/h2\u0026gt; \u0026lt;p\u0026gt;Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. \u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-default\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;View details \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;h2\u0026gt;Heading\u0026lt;/h2\u0026gt; \u0026lt;p\u0026gt;Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. \u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-default\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;View details \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-md-4\u0026#34;\u0026gt; \u0026lt;h2\u0026gt;Heading\u0026lt;/h2\u0026gt; \u0026lt;p\u0026gt;Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.\u0026lt;/p\u0026gt; \u0026lt;p\u0026gt;\u0026lt;a class=\u0026#34;btn btn-default\u0026#34; href=\u0026#34;#\u0026#34; role=\u0026#34;button\u0026#34;\u0026gt;View details \u0026amp;raquo;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; Agora, seu arquivo index.php deve conter apenas as chamadas para o topo e o rodapé:\n\u0026lt;?php get_header(); ?\u0026gt; \u0026lt;?php get_footer(); ?\u0026gt; Finalmente, clique em Publicar.\nPara incluir o conteúdo da página que criamos agora no nosso tema dinamicamente, vamos usar a função provavelmente mais famosa do WordPress, chamada loop (laço).\nO loop do WordPress faz exatamente o que parece. Ele itera pelas páginas ou posts a serem exibidos e obtém seus títulos e conteúdos, assim como várias outras informações, como a data de publicação e o autor, e até mesmo os comentários, se houver.\nModifique seu arquivo index.php para realizar o loop entre as chamadas às funções get_header() e get_footer():\n\u0026lt;?php get_header(); ?\u0026gt; \u0026lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;?php the_title(); ?\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;div class=\u0026#34;entry-content\u0026#34;\u0026gt; \u0026lt;?php the_content(); ?\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;?php endwhile; else: ?\u0026gt; \u0026lt;p\u0026gt;\u0026lt;?php _e(\u0026#39;Desculpe, não há posts a exibir.\u0026#39;); ?\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;?php endif; ?\u0026gt; \u0026lt;?php get_footer(); ?\u0026gt; Aqui basicamente verificamos se há posts ou páginas a serem exibidos com a função have_posts(). Se não há nada a exibir, mostramos para o visitante uma mensagem de erro (_e()). Porém, se há posts ou páginas a exibir, e enquanto houver, obtemos um desses posts ou páginas (the_post()) e exibimos seu título (the_title()) e conteúdo (the_content()).\nAntes de testarmos nossa página inicial no navegador, vamos modificar uma configuração no WordPress para exibir a página que criamos como página inicial, ao invés das postagens mais recentes. Para isso, acesse a área administrativa e vá em Configurações \u0026gt; Leitura e na opção A página inicial mostra selecione Uma página estática. Em seguida, em Página inicial, selecione a página \u0026ldquo;Início\u0026rdquo;:\nClique em Salvar alterações e acesse o site. Você deve ver o conteúdo da página que criamos na área administrativa.\nO WordPress nos permite usar um arquivo dedicado a renderizar especificamente a página inicial do site, chamado front-page.php. Salve o arquivo index.php como front-page.php e remova a chamada à função get_title(), uma vez que não desejamos a palavra \u0026ldquo;Início\u0026rdquo; aparecendo no topo da página.\nSeu arquivo front-page.php deve estar assim:\n\u0026lt;?php get_header(); ?\u0026gt; \u0026lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?\u0026gt; \u0026lt;div class=\u0026#34;entry-content\u0026#34;\u0026gt; \u0026lt;?php the_content(); ?\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;?php endwhile; else: ?\u0026gt; \u0026lt;p\u0026gt;\u0026lt;?php _e(\u0026#39;Desculpe, não há posts a exibir.\u0026#39;); ?\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;?php endif; ?\u0026gt; \u0026lt;?php get_footer(); ?\u0026gt; Pode deixar o arquivo index.php como está.\nPara provar que tudo está realmente funcionando, vamos editar a página inicial pela área administrativa do WordPress e ver o conteúdo atualizado no navegador. Acesse a área administrativa e edite a página \u0026ldquo;Início\u0026rdquo;. Faça alguma alteração na página ou substitua o conteúdo por outro de sua preferência e salve as alterações.\nAgora, visite o site. Você perceberá as alterações que fez no editor.\nContinua\u0026hellip; Gostou? Está começando a funcionar? Como esse tutorial é muito grande, decidi dividi-lo em partes. Não deixe de acompanhar o blog para ver as próximas partes!\n{% capture mensagem_2a_parte %}A segunda parte do tutorial já se encontra disponível aqui.{% endcapture %} {% include update.html date=\u0026ldquo;20/08/2015\u0026rdquo; message=mensagem_2a_parte %}\nSe você teve problemas em seguir o tutorial, pode verificar o que fizemos até agora aqui. Também pode deixar sua dúvida nos comentários.\nAbraço e até a próxima!\n","date":"2015-08-06T02:00:00Z","permalink":"/pt-br/artigo/como-criar-um-tema-responsivo-do-wordpress-com-o-bootstrap/","title":"Como criar um tema responsivo do WordPress com o Bootstrap"},{"content":"Nos dispositivos móveis (Android, iOS, BlackBerry, etc.) , aquele site tradicional projetado para PC com resolução 1024x768 não é exibido de maneira adequada. Muitas vezes, os elementos na tela aparecem muito pequenos, obrigando os visitantes a aumentar o zoom e deslizar a tela pra lá e pra cá para visualizar todo o conteúdo. Não raro, o desenvolvedor desse site se preocupou em testá-lo apenas no Internet Explorer, e o resultado disso é que em alguns dispositivos o layout do site pode se tornar uma verdadeira bagunça.\nPensando em facilitar e agilizar a solução desses problemas, os desenvolvedores do Twitter lançaram o Bootstrap, um framework HTML, CSS, e JS que auxilia o desenvolvimento de sites e aplicações web responsivos, voltados principalmente aos dispositivos móveis.\nUm design responsivo, explicado de maneira simples, é aquele que se adapta (responde) ao tamanho da tela do dispositivo em que é renderizado. Se um site é projetado tendo em vista tão somente dispositivos móveis, pode parecer muito grande ou espaçoso em um computador de mesa. Por outro lado, se projetado para computadores de mesa, pode parecer pequeno em dispositivos móveis. Um site responsivo exibe seu conteúdo de uma maneira em computadores de mesa e de outra maneira em dispositivos móveis, ajustando-se da melhor maneira ao espaço disponível na tela.\nNão confunda design responsivo com projetar diferentes interfaces para diferentes dispositivos, como faz, por exemplo, o Facebook, ao disponibilizar uma versão para computadores tradicionais, uma versão para celulares e uma versão para tablets. Estou falando de um código só que serve para todos os dispositivos.\nEsta página que você lê nesse exato momento é responsiva. Experimente abri-la em um celular, em um tablet e em um computador. Ou, mais prático: se estiver usando um computador, experimente redimensionar a janela do navegador. Você verá como o texto se adapta ao espaço disponível.\nSe você utiliza como navegador o Mozilla Firefox, o Google Chrome ou o Opera, outra maneira de verificar como um site aparece em diversos dispositivos é instalar a extensão Web Developer e usar a opção Resize, View Responsive Layouts:\nSem mais conversa, vejamos como utilizar esse framework que é uma verdadeira mão na roda! Não apenas responsividade, o Bootstrap provê componentes e estilos prontos, que podem ser utilizados para tornar o site ou aplicação web mais bonita e funcional.\nPrimeiros passos Vamos partir do modelo de página em conformidade com o HTML 5 (o padrão de HTML mais recente até o momento) fornecido pelo Aptana Studio (meu IDE favorito para desenvolvimento web, recomendo):\n\u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html lang=\u0026#34;en\u0026#34;\u0026gt; \u0026lt;head\u0026gt; \u0026lt;meta charset=\u0026#34;utf-8\u0026#34;\u0026gt; \u0026lt;!-- Always force latest IE rendering engine (even in intranet) \u0026amp; Chrome Frame Remove this if you use the .htaccess --\u0026gt; \u0026lt;meta http-equiv=\u0026#34;X-UA-Compatible\u0026#34; content=\u0026#34;IE=edge,chrome=1\u0026#34;\u0026gt; \u0026lt;title\u0026gt;new_file\u0026lt;/title\u0026gt; \u0026lt;meta name=\u0026#34;description\u0026#34; content=\u0026#34;\u0026#34;\u0026gt; \u0026lt;meta name=\u0026#34;author\u0026#34; content=\u0026#34;Vinicius\u0026#34;\u0026gt; \u0026lt;meta name=\u0026#34;viewport\u0026#34; content=\u0026#34;width=device-width; initial-scale=1.0\u0026#34;\u0026gt; \u0026lt;!-- Replace favicon.ico \u0026amp; apple-touch-icon.png in the root of your domain and delete these references --\u0026gt; \u0026lt;link rel=\u0026#34;shortcut icon\u0026#34; href=\u0026#34;/favicon.ico\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;apple-touch-icon\u0026#34; href=\u0026#34;/apple-touch-icon.png\u0026#34;\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;div\u0026gt; \u0026lt;header\u0026gt; \u0026lt;h1\u0026gt;new_file\u0026lt;/h1\u0026gt; \u0026lt;/header\u0026gt; \u0026lt;nav\u0026gt; \u0026lt;p\u0026gt; \u0026lt;a href=\u0026#34;/\u0026#34;\u0026gt;Home\u0026lt;/a\u0026gt; \u0026lt;/p\u0026gt; \u0026lt;p\u0026gt; \u0026lt;a href=\u0026#34;/contact\u0026#34;\u0026gt;Contact\u0026lt;/a\u0026gt; \u0026lt;/p\u0026gt; \u0026lt;/nav\u0026gt; \u0026lt;div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;footer\u0026gt; \u0026lt;p\u0026gt; \u0026amp;copy; Copyright by Vinicius \u0026lt;/p\u0026gt; \u0026lt;/footer\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Vamos começar adicionando o Bootstrap a essa página. Vale observar que o Bootstrap 3.3.4 requer a biblioteca jQuery versão 1.9.1 ou mais recente. Para começar a usar o jQuery e o Bootstrap, vamos adicionar as seguintes linhas (em destaque):\n1\u0026lt;!DOCTYPE html\u0026gt; 2\u0026lt;html lang=\u0026#34;en\u0026#34;\u0026gt; 3 \u0026lt;head\u0026gt; 4 \u0026lt;meta charset=\u0026#34;utf-8\u0026#34;\u0026gt; 5 6 \u0026lt;!-- Always force latest IE rendering engine (even in intranet) \u0026amp; Chrome Frame 7 Remove this if you use the .htaccess --\u0026gt; 8 \u0026lt;meta http-equiv=\u0026#34;X-UA-Compatible\u0026#34; content=\u0026#34;IE=edge,chrome=1\u0026#34;\u0026gt; 9 10 \u0026lt;title\u0026gt;new_file\u0026lt;/title\u0026gt; 11 \u0026lt;meta name=\u0026#34;description\u0026#34; content=\u0026#34;\u0026#34;\u0026gt; 12 \u0026lt;meta name=\u0026#34;author\u0026#34; content=\u0026#34;Vinicius\u0026#34;\u0026gt; 13 14 \u0026lt;meta name=\u0026#34;viewport\u0026#34; content=\u0026#34;width=device-width; initial-scale=1.0\u0026#34;\u0026gt; 15 16 \u0026lt;!-- Replace favicon.ico \u0026amp; apple-touch-icon.png in the root of your domain and delete these references --\u0026gt; 17 \u0026lt;link rel=\u0026#34;shortcut icon\u0026#34; href=\u0026#34;/favicon.ico\u0026#34;\u0026gt; 18 \u0026lt;link rel=\u0026#34;apple-touch-icon\u0026#34; href=\u0026#34;/apple-touch-icon.png\u0026#34;\u0026gt; 19 20 \u0026lt;!-- Bootstrap --\u0026gt; 21 \u0026lt;link href=\u0026#34;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css\u0026#34; rel=\u0026#34;stylesheet\u0026#34;\u0026gt; 22 23 \u0026lt;!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --\u0026gt; 24 \u0026lt;!-- WARNING: Respond.js doesn\u0026#39;t work if you view the page via file:// --\u0026gt; 25 \u0026lt;!--[if lt IE 9]\u0026gt; 26 \u0026lt;script src=\u0026#34;https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; 27 \u0026lt;script src=\u0026#34;https://oss.maxcdn.com/respond/1.4.2/respond.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; 28 \u0026lt;![endif]--\u0026gt; 29 \u0026lt;/head\u0026gt; 30 31 \u0026lt;body\u0026gt; 32 \u0026lt;div\u0026gt; 33 \u0026lt;header\u0026gt; 34 \u0026lt;h1\u0026gt;new_file\u0026lt;/h1\u0026gt; 35 \u0026lt;/header\u0026gt; 36 \u0026lt;nav\u0026gt; 37 \u0026lt;p\u0026gt; 38 \u0026lt;a href=\u0026#34;/\u0026#34;\u0026gt;Home\u0026lt;/a\u0026gt; 39 \u0026lt;/p\u0026gt; 40 \u0026lt;p\u0026gt; 41 \u0026lt;a href=\u0026#34;/contact\u0026#34;\u0026gt;Contact\u0026lt;/a\u0026gt; 42 \u0026lt;/p\u0026gt; 43 \u0026lt;/nav\u0026gt; 44 45 \u0026lt;div\u0026gt; 46 47 \u0026lt;/div\u0026gt; 48 49 \u0026lt;footer\u0026gt; 50 \u0026lt;p\u0026gt; 51 \u0026amp;copy; Copyright by Vinicius 52 \u0026lt;/p\u0026gt; 53 \u0026lt;/footer\u0026gt; 54 \u0026lt;/div\u0026gt; 55 56 \u0026lt;!-- jQuery (necessary for Bootstrap\u0026#39;s JavaScript plugins) --\u0026gt; 57 \u0026lt;script src=\u0026#34;https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; 58 \u0026lt;!-- Include all compiled plugins (below), or include individual files as needed --\u0026gt; 59 \u0026lt;script src=\u0026#34;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; 60 \u0026lt;/body\u0026gt; 61\u0026lt;/html\u0026gt; Fazendo isso, temos um modelo bem parecido com o modelo básico apresentado no site do Bootstrap. Algumas observações:\nAdicionando o jQuery e o Bootstrap como no exemplo acima, nossos visitantes baixarão essas bibliotecas de CDNs (Content Delivery Networks). É a forma mais fácil para integrá-las ao nosso site, uma vez que não precisamos nos preocupar em hospedá-las, e a forma mais ágil para os visitantes obtê-las, pois cópias dessas bibliotecas estarão replicadas pelo globo e poderão ser baixadas do servidor mais próximo. Utilizamos bibliotecas adicionais (nesse caso, html5shiv e Respond.js para adicionar às versões 8 e 9 do Internet Explorer suporte a algumas propriedades do CSS 3 e alguns elementos do HTML 5, utilizados pelo Bootstrap. Essas bibliotecas só são baixadas pelo visitante caso ele utilize o Internet Explorer 8 ou o 9. As folhas de estilo são listadas no elemento head, enquanto os scripts são listados no final do elemento body. Dizem que assim a página carrega mais rápido. Se não quiser depender de servidores de terceiros para usar o Bootstrap, você também pode baixá-lo e hospedá-lo em seu próprio servidor. Clique aqui para baixar o Bootstrap versão 3.3.4 (a versão mais atual do Bootstrap até o momento). Descompacte-o em algum local no seu servidor e atualize as referências de acordo, por exemplo (supondo que você extraiu o arquivo baixado na mesma pasta do arquivo acima):\n\u0026lt;link href=\u0026#34;bootstrap/css/bootstrap.min.css\u0026#34; rel=\u0026#34;stylesheet\u0026#34;\u0026gt; Mais exemplos do Bootstrap em ação podem ser vistos na página de exemplos do Bootstrap ou na lista de sites feitos com Bootstrap. Vale lembrar que [este site]({{ site.url | append: site.base_url }}) que você lê agora também utiliza o Bootstrap.\nDesign responsivo O design responsivo pode ser conseguido pelo Bootstrap a partir do seu sistema de grids, que provê até 12 colunas que são redimensionadas automaticamente a medida em que o tamanho do dispositivo ou do viewport aumentam. O Bootstrap fornece classes pré-definidas que facilitam a definição do layout da página.\nInicialmente, o Bootstrap requer que o conteúdo da página seja inserido dentro de um container, que pode ser de largura fixa (uma div com a classe .container) ou preencher toda a largura do viewport (uma div com a classe .container-fluid).\nDentro do container, utilizamos linhas (divs com a classe .row) para criar agrupamentos horizontais de colunas, que devem ser, na estrutura da página, as únicas descendentes das linhas.\nO conteúdo deve ser inserido nas colunas. Existem diversas classes para especificar colunas, com base nos tamanhos e dispositivos desejados. Essas classes obedecem ao seguinte padrão:\n.col-xs- para dispositivos muito pequenos (largura \u0026lt; 768px), como celulares; .col-sm- para dispositivos pequenos (768px \u0026lt;= largura \u0026lt; 992px), como tablets; .col-md- para dispositivos médios (992px \u0026lt;= largura \u0026lt; 1200px), como computadores de mesa (desktops); e .col-lg- para dispositivos grandes (largura \u0026gt;= 1200px) A soma dos tamanhos das colunas em uma linha deve, preferencialmente, ser igual a 12.\nO exemplo a seguir define um layout com duas colunas de igual largura (6/12, ou 50%) para um computador ou tablet (telas com largura igual ou superior a 768px). Em telas com largura inferior a 768px (celulares, por exemplo), a primeira coluna é exibida acima da segunda coluna, como se fossem duas linhas.\n\u0026lt;div class=\u0026#34;container exemplo\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;row\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;col-sm-6\u0026#34;\u0026gt; .col-sm-6 \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-sm-6\u0026#34;\u0026gt; .col-sm-6 \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; Nesta página, defini a classe .exemplo para facilitar a visualização dos exemplos:\n.exemplo div { border: 1px solid blue; } Observe que as colunas já definem espaços entre seus conteúdos.\nSe mais de 12 colunas são inseridas em uma única linha, cada grupo de colunas extras irá cair, como se estivesse em uma nova linha. Observe o exemplo a seguir:\n\u0026lt;div class=\u0026#34;container exemplo\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;row\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;col-sm-2\u0026#34;\u0026gt; .col-sm-2 \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-sm-3\u0026#34;\u0026gt; .col-sm-3 \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-sm-4\u0026#34;\u0026gt; .col-sm-4 \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-sm-5\u0026#34;\u0026gt; .col-sm-5 \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-sm-6\u0026#34;\u0026gt; .col-sm-6 \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; Observe também que é possível definir tamanhos diferentes para as colunas a depender do dispositivo. No exemplo a seguir, as duas colunas aparecem numa relação de 1 para 2 em tablets e computadores e numa relação de 1 para 1 em celulares.\n\u0026lt;div class=\u0026#34;container exemplo\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;row\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;col-xs-6 col-sm-4\u0026#34;\u0026gt; .col-xs-6 .col-sm-4 \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-xs-6 col-sm-8\u0026#34;\u0026gt; .col-xs-6 .col-sm-8 \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; Na ausência de uma classe que defina o tamanho para a coluna em um dispositivo particular, se aplica a regra do dispositivo menor. Então, no exemplo acima, ao definir o tamanho da coluna para tablets (.col-sm-) e não definir o tamanho da coluna para computadores (.col-md-), as colunas serão exibidas da mesma maneira nesses dispositivos.\nSe não houver uma regra nem para o dispositivo atual e nem para um menor, cada coluna ocupará sua linha. Vamos modificar o exemplo acima, removendo a definição do tamanho da coluna para celulares (.col-xs-):\n\u0026lt;div class=\u0026#34;container exemplo\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;row\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;col-sm-4\u0026#34;\u0026gt; .col-sm-4 \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;col-sm-8\u0026#34;\u0026gt; .col-sm-8 \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; Nesse novo exemplo, nos celulares as colunas serão exibidas uma em cima da outra, como se fossem linhas. Em computadores e tablets, elas serão exibidas lado a lado, como no exemplo anterior.\nO Bootstrap permite ainda exibir determinado conteúdo apenas em certos dispositivos:\n\u0026lt;div class=\u0026#34;container exemplo\u0026#34;\u0026gt; \u0026lt;p class=\u0026#34;visible-xs-block hidden-print\u0026#34;\u0026gt; Esse parágrafo só aparece em celulares \u0026lt;/p\u0026gt; \u0026lt;p class=\u0026#34;hidden-sm\u0026#34;\u0026gt; Esse parágrafo não aparecerá em \u0026lt;em\u0026gt;tablets\u0026lt;/em\u0026gt; \u0026lt;/p\u0026gt; \u0026lt;p class=\u0026#34;hidden-print\u0026#34;\u0026gt; Esse parágrafo não será impresso (experimente visualizar a impressão) \u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; Nada melhor que ver os exemplos para compreender os princípios desse sistema de grid e aplicá-los ao seu próprio código. Treinar também é importante!\nEstilos e componentes Não apenas responsividade, o Bootstrap provê componentes e estilos prontos, que podem ser utilizados para tornar o site ou aplicação web mais bonita e funcional. Aqui, mostrarei apenas alguns exemplos e dicas.\nEm relação aos estilos prontos, chamo a atenção para os formulários, bastante elegantes e funcionais. Como dicas, recomendo o gerador de forms do Bootstrap e o plugin Bootstrap Validator. Veja abaixo um exemplo de formulário construído com o auxílio do referido gerador.\n\u0026lt;div class=\u0026quot;form-group\u0026quot;\u0026gt; \u0026lt;label class=\u0026quot;col-md-4 control-label\u0026quot; for=\u0026quot;nome\u0026quot;\u0026gt;Nome\u0026lt;/label\u0026gt; \u0026lt;div class=\u0026quot;col-md-8\u0026quot;\u0026gt; \u0026lt;input id=\u0026quot;nome\u0026quot; name=\u0026quot;nome\u0026quot; type=\u0026quot;text\u0026quot; placeholder=\u0026quot;Antônio Vinícius\u0026quot; class=\u0026quot;form-control input-md\u0026quot; required=\u0026quot;\u0026quot;\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026quot;form-group\u0026quot;\u0026gt; \u0026lt;label class=\u0026quot;col-md-4 control-label\u0026quot; for=\u0026quot;email\u0026quot;\u0026gt;E-mail\u0026lt;/label\u0026gt; \u0026lt;div class=\u0026quot;col-md-8\u0026quot;\u0026gt; \u0026lt;input id=\u0026quot;email\u0026quot; name=\u0026quot;email\u0026quot; type=\u0026quot;text\u0026quot; placeholder=\u0026quot;E-mail\u0026quot; class=\u0026quot;form-control input-md\u0026quot; required=\u0026quot;\u0026quot;\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026quot;form-group\u0026quot;\u0026gt; \u0026lt;label class=\u0026quot;col-md-4 control-label\u0026quot; for=\u0026quot;senha\u0026quot;\u0026gt;Senha\u0026lt;/label\u0026gt; \u0026lt;div class=\u0026quot;col-md-8\u0026quot;\u0026gt; \u0026lt;input id=\u0026quot;senha\u0026quot; name=\u0026quot;senha\u0026quot; type=\u0026quot;password\u0026quot; placeholder=\u0026quot;Senha\u0026quot; class=\u0026quot;form-control input-md\u0026quot; required=\u0026quot;\u0026quot;\u0026gt; \u0026lt;span class=\u0026quot;help-block\u0026quot;\u0026gt;Mínimo de 6 caracteres\u0026lt;/span\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026quot;form-group\u0026quot;\u0026gt; \u0026lt;label class=\u0026quot;col-md-4 control-label\u0026quot; for=\u0026quot;botao_enviar\u0026quot;\u0026gt;\u0026lt;/label\u0026gt; \u0026lt;div class=\u0026quot;col-md-8\u0026quot;\u0026gt; \u0026lt;button id=\u0026quot;botao_enviar\u0026quot; name=\u0026quot;botao_enviar\u0026quot; class=\u0026quot;btn btn-primary\u0026quot;\u0026gt;Enviar\u0026lt;/button\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/fieldset\u0026gt; \u0026lt;form class=\u0026#34;form-horizontal\u0026#34;\u0026gt; \u0026lt;fieldset\u0026gt; \u0026lt;legend\u0026gt;Um exemplo de formulário\u0026lt;/legend\u0026gt; \u0026lt;div class=\u0026#34;form-group\u0026#34;\u0026gt; \u0026lt;label class=\u0026#34;col-md-4 control-label\u0026#34; for=\u0026#34;nome\u0026#34;\u0026gt;Nome\u0026lt;/label\u0026gt; \u0026lt;div class=\u0026#34;col-md-8\u0026#34;\u0026gt; \u0026lt;input id=\u0026#34;nome\u0026#34; name=\u0026#34;nome\u0026#34; type=\u0026#34;text\u0026#34; placeholder=\u0026#34;Antônio Vinícius\u0026#34; class=\u0026#34;form-control input-md\u0026#34; required=\u0026#34;\u0026#34;\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;form-group\u0026#34;\u0026gt; \u0026lt;label class=\u0026#34;col-md-4 control-label\u0026#34; for=\u0026#34;email\u0026#34;\u0026gt;E-mail\u0026lt;/label\u0026gt; \u0026lt;div class=\u0026#34;col-md-8\u0026#34;\u0026gt; \u0026lt;input id=\u0026#34;email\u0026#34; name=\u0026#34;email\u0026#34; type=\u0026#34;text\u0026#34; placeholder=\u0026#34;E-mail\u0026#34; class=\u0026#34;form-control input-md\u0026#34; required=\u0026#34;\u0026#34;\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;form-group\u0026#34;\u0026gt; \u0026lt;label class=\u0026#34;col-md-4 control-label\u0026#34; for=\u0026#34;senha\u0026#34;\u0026gt;Senha\u0026lt;/label\u0026gt; \u0026lt;div class=\u0026#34;col-md-8\u0026#34;\u0026gt; \u0026lt;input id=\u0026#34;senha\u0026#34; name=\u0026#34;senha\u0026#34; type=\u0026#34;password\u0026#34; placeholder=\u0026#34;Senha\u0026#34; class=\u0026#34;form-control input-md\u0026#34; required=\u0026#34;\u0026#34;\u0026gt; \u0026lt;span class=\u0026#34;help-block\u0026#34;\u0026gt;Mínimo de 6 caracteres\u0026lt;/span\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;form-group\u0026#34;\u0026gt; \u0026lt;label class=\u0026#34;col-md-4 control-label\u0026#34; for=\u0026#34;botao_enviar\u0026#34;\u0026gt;\u0026lt;/label\u0026gt; \u0026lt;div class=\u0026#34;col-md-8\u0026#34;\u0026gt; \u0026lt;button id=\u0026#34;botao_enviar\u0026#34; name=\u0026#34;botao_enviar\u0026#34; class=\u0026#34;btn btn-primary\u0026#34;\u0026gt;Enviar\u0026lt;/button\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/fieldset\u0026gt; \u0026lt;/form\u0026gt; Em relação aos componentes, posso citar como exemplos os Glyphicons, ícones prontos para uso que acompanham o Bootstrap (são populares também os ícones da Font Awesome, providos por terceiros), e os alertas:\n\u0026lt;div class=\u0026#34;alert alert-info\u0026#34; role=\u0026#34;alert\u0026#34;\u0026gt; \u0026lt;span class=\u0026#34;glyphicon glyphicon-info-sign\u0026#34; aria-hidden=\u0026#34;true\u0026#34;\u0026gt;\u0026lt;/span\u0026gt; \u0026lt;span class=\u0026#34;sr-only\u0026#34;\u0026gt;Aviso:\u0026lt;/span\u0026gt; \u0026lt;strong\u0026gt;Sem JavaScript habilitado, você não consegue utilizar o Bootstrap!\u0026lt;/strong\u0026gt; Veja \u0026lt;a href=\u0026#34;http://enable-javascript.com/pt/\u0026#34;\u0026gt;como habilitar o JavaScript no seu navegador\u0026lt;/a\u0026gt;. \u0026lt;/div\u0026gt; Há ainda outros componentes cuja utilização envolve JavaScript, a exemplo dos diálogos:\n\u0026lt;button type=\u0026#34;button\u0026#34; class=\u0026#34;btn btn-primary btn-lg\u0026#34; id=\u0026#34;meu_botao\u0026#34;\u0026gt; Clique para exibir um exemplo de diálogo \u0026lt;/button\u0026gt; \u0026lt;div class=\u0026#34;modal fade\u0026#34; id=\u0026#34;meu_dialogo\u0026#34; tabindex=\u0026#34;-1\u0026#34; role=\u0026#34;dialog\u0026#34; aria-labelledby=\u0026#34;titulo_do_meu_dialogo\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;modal-dialog\u0026#34; role=\u0026#34;document\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;modal-content\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;modal-header\u0026#34;\u0026gt; \u0026lt;button type=\u0026#34;button\u0026#34; class=\u0026#34;close\u0026#34; data-dismiss=\u0026#34;modal\u0026#34; aria-label=\u0026#34;Fechar\u0026#34;\u0026gt;\u0026lt;span aria-hidden=\u0026#34;true\u0026#34;\u0026gt;\u0026amp;times;\u0026lt;/span\u0026gt;\u0026lt;/button\u0026gt; \u0026lt;h4 class=\u0026#34;modal-title\u0026#34; id=\u0026#34;titulo_do_meu_dialogo\u0026#34;\u0026gt;Um exemplo de diálogo\u0026lt;/h4\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;modal-body\u0026#34;\u0026gt; \u0026lt;p\u0026gt;Dentro do diálogo, você pode exibir o que quiser.\u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#34;modal-footer\u0026#34;\u0026gt; \u0026lt;button type=\u0026#34;button\u0026#34; class=\u0026#34;btn btn-primary\u0026#34; id=\u0026#34;botao_ok\u0026#34;\u0026gt;OK\u0026lt;/button\u0026gt; \u0026lt;button type=\u0026#34;button\u0026#34; class=\u0026#34;btn btn-default\u0026#34; data-dismiss=\u0026#34;modal\u0026#34;\u0026gt;Cancelar\u0026lt;/button\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; $(document).ready(function(){ $(\u0026#39;#meu_dialogo\u0026#39;).modal({ show: false }); $(\u0026#39;#meu_botao\u0026#39;).click(function(event){ event.preventDefault(); $(\u0026#39;#meu_dialogo\u0026#39;).modal(\u0026#39;show\u0026#39;); }); $(\u0026#39;#botao_ok\u0026#39;).click(function(event){ event.preventDefault(); $(\u0026#39;#meu_dialogo\u0026#39;).modal(\u0026#39;hide\u0026#39;); }); }); Suporte a diversos navegadores e dispositivos O Bootstrap suporta as versões mais recentes dos navegadores mais comuns:\nGoogle Chrome Mozilla Firefox Internet Explorer Opera Safari Assim como os dispositivos mais comuns também:\nAndroid iOS Mac OS X Microsoft Windows O Bootstrap não suporta oficialmente os navegadores para Linux, mas espera-se que ele funcione bem também nesses navegadores.\nSe desejar mais informações sobre a compatibilidade do Bootstrap com diversos navegadores, acesse essa página.\nProblemas Pra não dizer que só falei em flores\u0026hellip; vejamos alguns problemas que tive com a utilização do Bootstrap. E o mais importante: como contorná-los!\nInternet Explorer Oficialmente, o Bootstrap suporta o navegador Internet Explorer a partir da versão 8.\nNo entanto, as versões 8 e 9 do Internet Explorer não suportam alguns recursos do CSS e do HTML que o Bootstrap necessita. O contorno para esse problema já vimos: impor a utilização das bibliotecas html5shiv e Respond.js aos visitantes que estiverem utilizando essas versões do Internet Explorer. Para isso, acrescente ao head da página:\n\u0026lt;!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --\u0026gt; \u0026lt;!-- WARNING: Respond.js doesn\u0026#39;t work if you view the page via file:// --\u0026gt; \u0026lt;!--[if lt IE 9]\u0026gt; \u0026lt;script src=\u0026#34;https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;script src=\u0026#34;https://oss.maxcdn.com/respond/1.4.2/respond.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;![endif]--\u0026gt; O site do Bootstrap também relata a existência de um bug no Internet Explorer 10 para Windows 8 e Windows Phone 8 que afeta a exibição de sites construídos com o Bootstrap nesses sistemas operacionais. Para contorná-lo, é suficiente acrescentar os seguintes CSS e JavaScript ao site:\n@-webkit-viewport { width: device-width; } @-moz-viewport { width: device-width; } @-ms-viewport { width: device-width; } @-o-viewport { width: device-width; } @viewport { width: device-width; } /*! * IE10 viewport hack for Surface/desktop Windows 8 bug * Copyright 2014 Twitter, Inc. * Licensed under the Creative Commons Attribution 3.0 Unported License. For * details, see http://creativecommons.org/licenses/by/3.0/. */ // See the Getting Started docs for more information: // http://getbootstrap.com/getting-started/#support-ie10-width (function () { \u0026#39;use strict\u0026#39;; if (navigator.userAgent.match(/IEMobile\\/10\\.0/)) { var msViewportStyle = document.createElement(\u0026#39;style\u0026#39;) msViewportStyle.appendChild( document.createTextNode( \u0026#39;@-ms-viewport{width:auto!important}\u0026#39; ) ) document.querySelector(\u0026#39;head\u0026#39;).appendChild(msViewportStyle) } })(); Componentes de terceiros Os estilos do Bootstrap podem afetar a exibição de componentes de terceiros no seu site. No meu caso, tive problemas com o mecanismo de pesquisa personalizado do Google (Google Custom Search Engine) e o SyntaxHighlighter.\nO site do Bootstrap mostra algumas soluções possíveis. Eu resolvi meus problemas definindo uma classe .reset-box-sizing e aplicando essa classe às divs desses componentes:\n.reset-box-sizing, .reset-box-sizing *, .reset-box-sizing *:before, .reset-box-sizing *:after { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; } Considerações finais Espero que este post tenha apresentado uma boa visão geral do potencial que o Bootstrap tem para melhorar o seu site ou aplicação web. Não tenho a intenção de esgotar o assunto aqui, até porque há muito a falar do Bootstrap. Portanto, recomendo que continue lendo o site oficial do Bootstrap. Ele é realmente a melhor fonte de informações sobre o Bootstrap. Além dele, não há nada que uma busca no Google ou no Stack Overflow não responda.\nSe não quiser utilizar o tema padrão do Bootstrap, você pode encontrar bons temas, tanto pagos quanto gratuitos, nos sites a seguir:\nShapeBootstrap (foi nele que encontrei o tema Xeon, que utilizo no site do Portugol Online) Bootswatch (foi nele que encontrei o tema Paper, que utilizo neste site) Start Bootstrap (já utilizei o modelo SB Admin em um projeto, muito bom para aplicações web) Bootstrap Zero Bootplus (uma versão modificada do Bootstrap inspirada no estilo do Google Plus) ","date":"2015-07-02T02:05:00Z","permalink":"/pt-br/artigo/design-multitelas-com-bootstrap/","title":"Design multitelas com Bootstrap"},{"content":"Sabe como personalizar o ícone do seu site? Aquele que aparece na barra de título, na aba, ou no menu dos favoritos, quando você adiciona seu site aos favoritos. Ele é mais conhecido na Internet por favicon. Antigamente, na época em que o IBM PC, o Windows e o Internet Explorer dominavam seus respectivos mercados, era suficiente criar um arquivo favicon.ico na raiz do site e adicionar a seguinte tag ao cabeçalho da página:\n\u0026lt;link rel=\u0026#34;shortcut icon\u0026#34; href=\u0026#34;favicon.ico\u0026#34;\u0026gt; Agora, com a explosão dos dispositivos móveis (Android, iOS, BlackBerry, etc.) e a guerra dos navegadores (Mozilla Firefox, Google Chrome, Opera, Safari, etc.), é bem verdade que a referida tag ainda é reconhecida pelos navegadores mais utilizados, que exibem corretamente o ícone do seu site para a maioria dos visitantes.\nNo entanto, em alguns casos específicos, o navegador procura o ícone do site em outro arquivo que não o favicon.ico, ou verifica se existe algum ícone com maior resolução, como faz o navegador Safari no iPhone, por exemplo. Alguns sites já provêm vários ícones: o tradicional favicon.ico e outros ícones para esses casos específicos.\nAqui mostro como você pode disponibilizar vários ícones para o seu site, como fiz com o meu. Se não quiser saber como achei a solução, pode pular a seção a seguir.\nDiscussão Isso é realmente necessário? Não, somente se você quiser prover a melhor experiência a seu visitante independente de qual dispositivo ele usa para acessar seu site (foi a conclusão a que vários entendidos no assunto chegaram após essa discussão). Eu considero isso importante, por isso pesquisei como se fazem ícones para sites hoje em dia para aplicar as novas técnicas ao meu site.\nIniciei uma pesquisa em profundidade sobre o assunto, tomando como ponto de partida a referida discussão, o que me levou a outras páginas interessantes:\nEverything you always wanted to know about touch icons · Mathias Bynens Configuring Web Applications Pragmatic Touch Icons rel=\u0026ldquo;shortcut icon\u0026rdquo; considered harmful · Mathias Bynens FAQ audreyr/favicon-cheat-sheet · GitHub Create a favicon for your site in 8 steps | netmag | Creative Bloq Cheguei a conclusão que, para não me preocupar com as diferenças entre dispositivos e navegadores, o melhor seria utilizar uma ferramenta que as trata para mim. Foi então que decidi usar o Real Favicon Generator.\nMão na massa O Real Favicon Generator é uma ferramenta online gratuita capaz de gerar uma variedade de arquivos de ícones para seu site com base em uma imagem que você forneça. Não só as imagens, ele provê também as tags HTML que você deve inserir em suas páginas para que diferentes navegadores e dispositivos determinem e exibam corretamente o ícone do seu site.\nPara começar, acesse o Real Favicon Generator e forneça uma imagem quadrada. A resolução mínima exigida é 70x70, mas ele recomenda que a resolução da imagem seja 260x260 ou maior para melhores resultados. Isso permitirá que a ferramenta gere ícones de alta definição para dispositivos que os suportam.\nNa página seguinte, várias opções são exibidas para que você possa personalizar a aparência do seu ícone em alguns casos específicos. É recomendado colocar os arquivos na raiz do site, pois alguns navegadores os buscam nesse local (por exemplo, www.vinyanalista.com.br/favicon.ico).\nPor fim, a ferramenta fornecerá os arquivos que você deve baixar e salvar no seu e o código HTML que você deve inserir nas suas páginas.\nO código gerado deve ser parecido com este:\n\u0026lt;link rel=\u0026#34;apple-touch-icon\u0026#34; sizes=\u0026#34;57x57\u0026#34; href=\u0026#34;/apple-touch-icon-57x57.png?v=2\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;apple-touch-icon\u0026#34; sizes=\u0026#34;60x60\u0026#34; href=\u0026#34;/apple-touch-icon-60x60.png?v=2\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;apple-touch-icon\u0026#34; sizes=\u0026#34;72x72\u0026#34; href=\u0026#34;/apple-touch-icon-72x72.png?v=2\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;apple-touch-icon\u0026#34; sizes=\u0026#34;76x76\u0026#34; href=\u0026#34;/apple-touch-icon-76x76.png?v=2\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;apple-touch-icon\u0026#34; sizes=\u0026#34;114x114\u0026#34; href=\u0026#34;/apple-touch-icon-114x114.png?v=2\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;apple-touch-icon\u0026#34; sizes=\u0026#34;120x120\u0026#34; href=\u0026#34;/apple-touch-icon-120x120.png?v=2\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;apple-touch-icon\u0026#34; sizes=\u0026#34;144x144\u0026#34; href=\u0026#34;/apple-touch-icon-144x144.png?v=2\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;apple-touch-icon\u0026#34; sizes=\u0026#34;152x152\u0026#34; href=\u0026#34;/apple-touch-icon-152x152.png?v=2\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;apple-touch-icon\u0026#34; sizes=\u0026#34;180x180\u0026#34; href=\u0026#34;/apple-touch-icon-180x180.png?v=2\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;icon\u0026#34; type=\u0026#34;image/png\u0026#34; href=\u0026#34;/favicon-32x32.png?v=2\u0026#34; sizes=\u0026#34;32x32\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;icon\u0026#34; type=\u0026#34;image/png\u0026#34; href=\u0026#34;/favicon-194x194.png?v=2\u0026#34; sizes=\u0026#34;194x194\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;icon\u0026#34; type=\u0026#34;image/png\u0026#34; href=\u0026#34;/favicon-96x96.png?v=2\u0026#34; sizes=\u0026#34;96x96\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;icon\u0026#34; type=\u0026#34;image/png\u0026#34; href=\u0026#34;/android-chrome-192x192.png?v=2\u0026#34; sizes=\u0026#34;192x192\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;icon\u0026#34; type=\u0026#34;image/png\u0026#34; href=\u0026#34;/favicon-16x16.png?v=2\u0026#34; sizes=\u0026#34;16x16\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;manifest\u0026#34; href=\u0026#34;/manifest.json?v=2\u0026#34;\u0026gt; \u0026lt;link rel=\u0026#34;shortcut icon\u0026#34; href=\u0026#34;/favicon.ico?v=2\u0026#34;\u0026gt; \u0026lt;meta name=\u0026#34;msapplication-TileColor\u0026#34; content=\u0026#34;#2d89ef\u0026#34;\u0026gt; \u0026lt;meta name=\u0026#34;msapplication-TileImage\u0026#34; content=\u0026#34;/mstile-144x144.png?v=2\u0026#34;\u0026gt; \u0026lt;meta name=\u0026#34;theme-color\u0026#34; content=\u0026#34;#2196f3\u0026#34;\u0026gt; Depois de alterar as páginas e disponibilizá-las online juntamente com os ícones, a ferramenta também permite verificar se tudo está nos conformes. Para isso, acesse o verificador de favicon e forneça o endereço do seu site.\nNo meu caso, como gerei o ícone do meu site usando a própria ferramenta, obviamente ela não encontrou nenhum erro:\nSe tiver curiosidade de verificar quais dispositivos e navegadores são suportados pelo Real Favicon Generator, acesse essa página. Você também pode tirar quaisquer dúvidas na seção de perguntas frequentes (FAQ, no inglês).\n","date":"2015-06-23T01:00:00Z","permalink":"/pt-br/artigo/como-personalizar-o-%C3%ADcone-do-seu-site/","title":"Como personalizar o ícone do seu site"},{"content":"O VLC é o verdadeiro canivete suíço dos vídeos, é um player com vários recursos interessantes, dentre eles a possibilidade de controlar a reprodução remotamente, através do navegador ou do celular. A depender de como você o usa para reproduzir seus arquivos multimídia, isso pode ser interessante. Veja aqui como fazê-lo.\nVou supor que você já possui o VLC instalado. Senão, pode baixá-lo aqui.\nHabilitando o controle remoto do VLC Inicie o VLC, abra o menu “Ferramentas” e clique em “Preferências”. A caixa de diálogo “Preferências” aparecerá como na imagem abaixo.\nNa caixa de seleção “Exibir configurações”, selecione “Detalhado”, para que todas as opções de configuração sejam exibidas. Na lista da esquerda, procure “Interfaces principais”, dentro de “Interface”. Dentre as opções que aparecem à direita, em “Módulos adicionais de interface”, marque “Web”. Reinicie o VLC para que as configurações tenham efeito. Adicione vídeos à sua lista de reprodução. Para habilitar o controle remoto, abra o menu “Exibir”, depois vá em “Adicionar Interface” e marque “Web”. Agora o controle remoto está disponível no endereço “http://127.0.0.1:8080” (ou, se preferir, “http://localhost:8080/“). Abra seu navegador favorito e acesse esse endereço. Se na lista de reprodução você expandir “Não Definido”, verá os itens que adicionou antes de habilitar a interface Web. Você pode clicar nos controles no controle remoto aberto no navegador e verificar que o VLC responde de acordo.\nAs configurações padrão do VLC, no entanto, permitem apenas o acesso local, feito a partir própria máquina onde ele está sendo executado. Vamos habilitar o controle a partir outros computadores dentro da mesma rede.\nHabilitando o controle a partir de outros computadores na mesma rede O VLC possui uma lista de computadores (hosts) habilitados a controlá-lo remotamente. Essa lista se encontra em “C:\\Arquivos de Programas\\VideoLAN\\VLC\\lua\\http.hosts” (no Windows) ou em “/usr/share/vlc/lua/http/.hosts” (no Linux). Vamos editá-la para permitir que o VLC aceite receber comandos de computadores que estejam na mesma rede que o computador que está reproduzindo os arquivos multimídia.\nAbra seu editor de texto favorito com permissões de administrador. No Windows, recomendo utilizar o WordPad ou o Notepad++. Abra o arquivo “.hosts” no caminho já indicado. Descomente, removendo o caractere de jogo da velha (“#”), as linhas abaixo do comentário “# private addresses” (endereços particulares). Salve o arquivo e reinicie o VLC para que as alterações tenham efeito. A partir de agora, a interface Web pode ser acessada a partir de outros computadores que estejam na mesma rede que o computador que executa o VLC. Lembre-se que para acessá-lo você deve digitar no seu navegador o endereço IP da máquina que executa o VLC acompanhado da porta 8080, que é a porta escutada pelo controle remoto por padrão.\nControlando o VLC a partir de um celular Android O mais interessante de poder controlar o VLC remotamente é comandar a reprodução a partir de um celular Android. Desse jeito, temos a impressão que realmente estamos utilizando um controle remoto, como o de uma TV. Isso pode ser feito habilitando-se a interface Web, como descrito nos procedimentos anteriores, e executando um aplicativo como o VLC Direct ou o VLC Remote. Eles estão disponíveis gratuitamente, mas também apresentam versões pagas que possuem mais recursos.\nTambém deve haver aplicativos como esses para iOS, mas no momento desconheço.\nDica sobre defeito no controle Web A depender de como o controle remoto apareça no seu navegador, uma imagem pode impedi-lo de acessar a lista de reprodução, como na imagem a seguir.\nUm truque de web designer para remover essa imagem é clicar com o botão direito nela e em seguida clicar em “Inspecionar elemento”.\nNo painel que aparece, o código HTML dela deve aparecer em destaque. Clique com o botão direito nele e em seguida clique em “Excluir nó”.\nA imagem deve desaparecer.\nIsso não é uma solução definitiva. Se você recarregar a página, a imagem ainda está lá. Espero que os desenvolvedores do VLC consertem logo esse bug chato\u0026hellip;\nÉ isso, pessoal, espero que vocês tenham gostado. Abraço e até a próxima!\nReferências Documentation:Modules/http intf – VideoLAN Wiki Control VLC via a browser – VideoLAN Wiki Control VLC from an Android Phone – VideoLAN Wiki ","date":"2014-09-23T15:38:39Z","permalink":"/pt-br/artigo/controlando-o-vlc-a-partir-do-navegador-ou-do-celular/","title":"Controlando o VLC a partir do navegador ou do celular"},{"content":"É verdade que quando criamos um disco rígido virtual dinamicamente alocado no VirtualBox, ele cresce à medida em que arquivos são gravados. No entanto, seu tamanho não diminui à medida em que excluímos arquivos. Veja agora como é possível reduzir discos rígidos desse tipo no VirtualBox.\nPrimeiro, é necessário executar um utilitário na máquina virtual (guest), que vai transformar todo o espaço livre em bits zero no disco rígido virtual. Se sua máquina virtual roda Linux, esse utilitário é o zerofree, se roda Windows, há o SDelete.\nA página na qual descobri o zerofree recomenda reiniciar o Linux (da máquina virtual) no modo de recuperação (safe mode ou recovery mode) para executar o zerofree. Pra simplificar a vida, eu prefiro inicializar a máquina virtual utilizando um LiveCD.\nSe você tiver um LiveCD do Ubuntu, o zerofree pode ser instalado nele via:\n# apt-get install zerofree O openSUSE também possui o zerofree nos repositórios oficiais da distribuição:\n# zypper in zerofree Se for usar o LiveCD de outra distribuição, pesquise na Internet como obter o zerofree para a sua distribuição.\nSe você não souber identificar o disco rígido, o utilitário fdisk pode dar uma pista:\n# fdisk -l No meu caso, vou compactar o /dev/sda1.\nMontamos o disco rígido como somente leitura em uma pasta temporária e executamos o zerofree nele:\n# mkdir /mnt/tmp # mount -o ro /dev/sda1 /mnt/tmp # zerofree /dev/sda1 Se sua máquina virtual roda Windows, você deve baixar o SDelete, abrir o Prompt de Comando, ir até a pasta onde o SDelete foi baixado e executar o comando:\n\u0026gt; sdelete -c C:/ Onde C é a letra da unidade cujo espaço livre deseja-se converter em bits zero.\nApós executar o zerofree ou o SDelete, devemos voltar à máquina real (host) e executar o utilitário do VirtualBox que vai de fato compactar o disco rígido virtual, reduzindo seu tamanho fisicamente.\nSe sua máquina real roda Linux:\n$ VBoxManage modifyhd /caminho/para/o/hd/virtual.vdi --compact Se sua máquina real roda Windows, provavelmente você terá que ir até a pasta do VirtualBox para executar o comando:\n\u0026gt; cd \u0026#34;C:\\Program Files\\Oracle\\VirtualBox\u0026#34; \u0026gt; VBoxManage modifyhd \u0026#34;C:\\caminho\\para\\o\\hd\\virtual.vdi\u0026#34; --compact Foi assim que hoje consegui reduzir um disco rígido virtual de 6,5GB para 5GB. Foi uma redução pequena, mas isso varia de um caso para outro. O autor desse post no Make Tech Easier conseguiu uma redução de 45% no espaço que o disco rígido virtual ocupava (de 10GB para 5,5GB).\nAbraço a todos e até mais!\nReferências Shrinking a Dynamic VirtualBox Disk Image | The Linux Daily How To Shrink Your Virtualbox VM And Free Up Space For Your Hard Disk – Make Tech Easier ","date":"2014-01-20T03:53:32Z","permalink":"/pt-br/artigo/reduzindo-o-tamanho-de-discos-r%C3%ADgidos-virtuais-do-virtualbox/","title":"Reduzindo o tamanho de discos rígidos virtuais do VirtualBox"},{"content":"É, pessoal, sei que é uma situação um tanto inusitada, mas aconteceu comigo hoje, quando tentei instalar o openSUSE 12.3 no meu computador, que até então só tinha o Windows 7. O problema mais comum é quando o Linux já está instalado e então instalamos o Windows, que a princípio impede que outros sistemas sejam inicializados, reservando o computador para si. Mas hoje comigo aconteceu isso: após instalar o openSUSE 12.3, o menu do GRUB2 não oferecia a opção de inicializar o Windows. Venho aqui (tentar) descrever a solução.\nInstalação do openSUSE A configuração dos meus HDs é bastante semelhante àquela encontrada ano passado quando escrevi outro post sobre problemas com dual boot. Naquela época, usava Debian e estava pensando em migrar pro openSUSE, o que de fato aconteceu e desde então é a distribuição que uso. Aliás, foi bom reler aquele post e perceber que essa não é a primeira vez que tenho problemas em relação ao dual boot com openSUSE.\nExecutando o comando fdisk, obtenho o seguinte:\nDisk /dev/sda: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xa1a11ae7 Device Boot Start End Blocks Id System /dev/sda1 2048 419432447 209715200 7 HPFS/NTFS/exFAT /dev/sda2 419432448 1468008447 524288000 7 HPFS/NTFS/exFAT /dev/sda3 1468010496 1887440895 209715200 7 HPFS/NTFS/exFAT /dev/sda4 * 1887442942 1953523711 33040385 5 Extended /dev/sda5 1887442944 1953523711 33040384 83 Linux Disk /dev/sdb: 250.1 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x1ba01b9f Device Boot Start End Blocks Id System /dev/sdb1 2048 488396799 244197376 7 HPFS/NTFS/exFAT Durante a instalação do openSUSE 12.3, não alterei as configurações do bootloader. O instalador automaticamente selecionou a melhor configuração para o meu computador (que no caso de o Linux estar em uma partição estendida, é instalar o bootloader na partição estendida).\nRecuperação do bootloader do Windows Na busca por soluções, encontrei este site e tentei algumas alternativas nele apresentadas, que descrevo a seguir (só depois vim perceber que já havia as listado no post anterior, mas tudo bem, não custa repetir):\nIniciei o computador pelo DVD de instalação do Windows 7. Na tela inicial, escolhi meu idioma (que não é inglês, quero reconhecer o crédito do autor das imagens) e cliquei em “Avançar”: Em seguida, cliquei em “Reparar o computador”: Nessa tela, escolhi a primeira opção, não selecionei nada na lista, e cliquei em “Avançar”: Finalmente, nessa tela, diferentemente do autor, escolhi a primeira opção, “Startup Recovery”: A instalação executou seus procedimentos de manutenção, após os quais reiniciei o computador. Ainda nada de Windows, e agora ele não exibia mais nem o menu do GRUB2, acusando que havia múltiplas partições ativas.\nExecutei novamente os passos 1 a 3 acima, até chegar naquela tela em que cliquei em “Startup Recovery”, mas dessa vez escolhi “Command Prompt”. Executei o seguinte comando e reiniciei o computador:\n\u0026gt; bootrec /rebuildbcd Nada mudou: além de não conseguir acessar o Windows, não conseguia acessar o menu do GRUB2, e ainda havia a reclamação de duas partições ativas. Agora vejo no meu post anterior que eu poderia ter tentado outros comandos, mas enfim… hoje o que eu executei foi esse e consegui resolver. Não após ele, ainda falta alguns passos da minha solução\u0026hellip;\nDefinição da partição ativa Reiniciei o computador dessa vez usando o LiveDVD do openSUSE 12.3. Abri o GParted e vi que tanto a partição do Windows (/dev/sda1) quanto a partição estendida (/dev/sda4) estavam definidas como ativas. Defini que apenas a partição estendida deveria ser ativa.\nReiniciei novamente o computador e dessa vez consegui o menu do GRUB2, ainda sem a opção do Windows. Só faltava isso para o problema estar resolvido.\nReconfiguração do GRUB2 Iniciei o computador pelo openSUSE instalado no HD. Após pesquisar e ler um bocadinho, descobri que o comando responsável pela reconfiguração do GRUB2 no openSUSE é o seguinte:\n# grub2-mkconfig -o /boot/grub2/grub.cfg Reiniciei o computador, mas nada mudou\u0026hellip; iniciei o openSUSE novamente. Agora não me perguntem por que cargas d’água, esse comando só funcionou depois que eu montei a partição do Windows (isso pode ser feito pelo Dolphin, ao tentar abrir a partição do Windows, ou, para os mais experientes, usando o comando mount). Montei a partição do Windows, executei a reconfiguração do GRUB2 novamente e, dessa vez, quando reiniciei o computador, tudo estava normal de novo…\nConfigurando o GRUB2 para iniciar o Windows por padrão Aproveito a oportunidade para passar aqui uma dica preciosa para os usuários de Linux que, infelizmente, não são os únicos usuários do computador. Na minha casa, tanto meu irmão quanto minha mãe só usam Windows. Por isso, sempre deixo o Windows iniciando por padrão. No openSUSE, isso pode ser feito de maneira fácil através da interface gráfica do YaST:\nInicie o YaST pelo Kickoff. Forneça a senha de root para que ele possa abrir. Clique em “Carregador de inicialização” (Boot loader, no inglês). Clique em “Opções do carregador de inicialização” (Boot Loader Options). Em “Seção de inicialização padrão” (Default Boot Section), selecione qual sistema deseja que seja iniciado por padrão. Clique em “OK” e depois em “OK” novamente para ativar as mudanças. Considerações finais Pois é, pessoal. Não sei explicar o que ocasionou esse problema no meu computador, mas sei que ele aconteceu, eu tive que buscar uma solução, encontrei e estou compartilhando aqui com vocês. Parece que nem sempre o instalador do openSUSE, apesar de muito inteligente, faz as coisas como deveria… o dual boot será algo que a equipe do openSUSE precisa rever em seu instalador?\nAliás, essa não é a única coisa estranha que percebo no openSUSE: meu netbook (que só eu uso, é um ASUS EeePC 1015PEM) às vezes suspende quando volta da hibernação. Acontece o seguinte: eu paro de usar o netbook e o fecho. Ele inicia a hibernação. Quando o abro e volto a usar (ele volta da hibernação), alguns segundos depois o KDE avisa que a bateria está em nível crítico (0%, que loucura!) e que necessita suspender, e é isso que ele faz. Se conecto o carregador antes de abrir o netbook, consigo evitar a suspensão, mas não sei porque isso acontece, mesmo quando ele tá com a bateria cheia\u0026hellip;\nAbraço a todos e até a próxima!\n","date":"2013-07-30T02:50:45Z","permalink":"/pt-br/artigo/recuperando-o-boot-do-windows-ap%C3%B3s-instala%C3%A7%C3%A3o-do-linux/","title":"Recuperando o boot do Windows após instalação do Linux"},{"content":"O MySQL é um banco de dados de código aberto desenvolvido pela Oracle. Ele se tornou um dos bancos de dados mais utilizados no mundo devido ao fato de se integrar perfeitamente ao PHP, sendo oferecido pela maioria dos serviços de hospedagem de sites em conjunto com o suporte a essa linguagem. Nesse post, você verá como utilizá-lo em conjunto com o servidor de aplicação JBoss AS para satisfazer as necessidades de armazenamento de dados de suas aplicações Java EE.\nAqui também há uma dica para usuários do banco de dados PostgreSQL que quiserem fazer o mesmo: leiam o final do post!\nNo post anterior, você foi apresentado ao JBoss AS. Nesse post, veremos como configurar nele uma conexão com o MySQL, e veremos também como configurar uma aplicação Java EE para utilizar essa conexão. Para fins didáticos, vou supor que você possui o JBoss AS e o MySQL instalados em seu computador, e que você criou uma base de dados chamada “teste” (para esse passo-a-passo a estrutura da base de dados não é importante, focaremos na conexão).\nHá outras páginas na Internet que explicam exatamente o que vou explicar aqui (como essa, essa, essa e essa, e aproveito para dizer que essas foram algumas das minhas referências na elaboração desse post), porém aqui proponho uma abordagem diferente, que só percebi que era possível quando li mais atentamente o guia de administração do JBoss AS (a referência que encerra a lista): realizar toda a configuração da conexão pelo console Web de administração do servidor.\nDividirei a explicação em 3 etapas: fazer deploy do driver JDBC, criação do datasource e configurar a aplicação Web para utilizar esse datasource. As explicações aqui fornecidas se aplicam a qualquer sistema operacional onde seja possível executar o JBoss AS.\nDeploy do driver JDBC do MySQL Em primeiro lugar, precisamos do driver JDBC do MySQL. Ele é distribuído como um pacote no site do MySQL (os desenvolvedores do MySQL chamam seu driver JDBC de “MySQL Connector/J”), juntamente com seus código-fonte e documentação.\nEntre na página de downloads do MySQL Connector/J e baixe um dos pacotes disponíveis. Para os usuários de Windows, eu recomendo o download do arquivo .zip, e para os usuários de Linux, eu recomendo o download do arquivo .tar.gz. Descompacte o conteúdo do arquivo baixado para uma pasta de fácil acesso. Para demonstração, utilizarei o Linux, e baixarei o arquivo para minha pasta pessoal (“/home/vinicius/”):\nQuando o conteúdo do arquivo é extraído, é criada uma pasta “mysql-connector-java-5.1.21″. Dentro dessa pasta, está o arquivo “mysql-connector-java-5.1.21-bin.jar”. Implante esse arquivo no servidor utilizando o console Web de administração do JBoss AS, exatamente como descrito na segunda parte do post anterior.\nAo final do processo, o driver JDBC do MySQL deve aparecer habilitado na lista de aplicações implantadas, como mostra a figura (curiosamente, a aplicação de exemplo que implantamos naquele post ainda está no servidor):\nCriação do datasource No painel superior do console Web, clique em “Profile”, e em seguida, no menu da esquerda, clique em “Datasources”. É exibida uma lista com todos os datasources configurados (nesse caso, só há o datasource de exemplo, que já vem configurado com o servidor de aplicação):\nClique em “Add”. Na caixa de diálogo que aparece, forneça ao datasource um nome (esse nome não afeta a conexão, serve apenas para distinguir o datasource na lista, aqui forneci “TesteDS”) e um nome JNDI (esse sim importa à conexão, é usado para localizar um recurso na rede e deve começar sempre com “java:/” ou “java:jboss/”, aqui digitei “java:/teste”), e em seguida clique em “Next”:\nSelecione um driver JDBC na lista de drivers disponíveis. No nosso caso, devemos selecionar o MySQL Connector/J. Depois clique em “Next”:\nFinalmente, devemos informar os detalhes da conexão: o endereço JDBC de acesso ao banco (aqui, preenchi com “jdbc:mysql://localhost:3306/teste”, o formato desse endereço é “jdbc:mysql://servidor:porta/base”), o usuário e a senha que serão utilizados. Depois de preencher os campos, clique em “Done”:\nO datasource é criado e passa a aparecer na lista, mas ainda não está habilitado:\nAntes de habilitá-lo, tornando-o assim disponível para conexão, vamos permitir que esse datasource seja gerenciado pela API de transações do Java (Java Transaction API, ou JTA). Selecione-o na lista e, descendo na página, clique na aba “Connection”. Perceba que a JTA está desabilitada para esse datasource. Clique em “Edit” para alterar isso:\nMarque as duas últimas opções e clique em “Save”:\nAgora a JTA está habilitada:\nAgora sim vamos habilitar o datasource: ainda com ele selecionado, clique no botão “Enable”, acima da lista. O datasource é então habilitado:\nAinda com o datasource selecionado na lista e a aba “Connection” aberta na parte de baixo, clique no botão “Test Connection”. Se você forneceu os dados corretamente, o servidor de aplicação conseguirá estabelecer uma conexão com o banco de dados, e a seguinte mensagem será exibida:\nDa parte do servidor está tudo OK. Agora é só configurar a aplicação para utilizar o datasource.\nConfiguração da aplicação Agora nós precisamos configurar nossa aplicação para se comunicar com a base de dados utilizando o datasource configurado no servidor de aplicação. O arquivo central da configuração da JPA (Java Persistence API) no projeto, o “META-INF/persistence.xml”, vai sofrer algumas alterações. Observe as linhas destacadas:\n1\u0026lt;?xml version=\u0026#34;1.0\u0026#34; encoding=\u0026#34;UTF-8\u0026#34;?\u0026gt; 2\u0026lt;persistence xmlns=\u0026#34;http://java.sun.com/xml/ns/persistence\u0026#34; 3 xmlns:xsi=\u0026#34;http://www.w3.org/2001/XMLSchema-instance\u0026#34; 4 xsi:schemaLocation=\u0026#34;http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd\u0026#34; 5 version=\u0026#34;2.0\u0026#34;\u0026gt; 6 \u0026lt;persistence-unit name=\u0026#34;TestePU\u0026#34;\u0026gt; 7 \u0026lt;provider\u0026gt;org.hibernate.ejb.HibernatePersistence\u0026lt;/provider\u0026gt; 8 \u0026lt;jta-data-source\u0026gt;java:/teste\u0026lt;/jta-data-source\u0026gt; 9 \u0026lt;properties\u0026gt; 10 \u0026lt;property name=\u0026#34;hibernate.hbm2ddl.auto\u0026#34; value=\u0026#34;create-drop\u0026#34; /\u0026gt; 11 \u0026lt;property name=\u0026#34;hibernate.show_sql\u0026#34; value=\u0026#34;true\u0026#34; /\u0026gt; 12 \u0026lt;/properties\u0026gt; 13 \u0026lt;/persistence-unit\u0026gt; 14\u0026lt;/persistence\u0026gt; Observe que estou utilizando o Hibernate como implementação JPA, já que estamos utilizando o JBoss AS como servidor de aplicação.\nNo código-fonte da aplicação, sempre for necessário um EntityManager para manusear entidades JPA, você pode solicitar ao servidor de aplicação que injete-o (isso significa que você não precisa criar o objeto manualmente, o servidor de aplicação cria o objeto para você) anotando sua variável com @PersistenceContext e especificando o nome da persistence-unit, como definida no arquivo “META-INF/persistence.xml”:\n@PersistenceContext(name=\u0026#34;TestePU\u0026#34;) EntityManager entityManager; Se sua aplicação possui apenas uma persistence-unit, essa informação pode ser omitida:\n@PersistenceContext EntityManager entityManager; Aplicação de exemplo Uma boa pedida é escolher uma das aplicações de exemplo do JBoss AS, alterar suas configurações e executá-la. No post anterior, nós compilamos, empacotamos, implantamos e executamos a aplicação de exemplo helloworld-jsf. Vou aproveitar o arquivo que já baixei e extraí naquele post, mas aqui vamos utilizar a aplicação greeter.\nEntre na pasta da aplicação (no meu caso, “/home/vinicius/jboss-jdf-jboss-as-quickstart-8505020/greeter/”), exclua o arquivo “greeter-quickstart-ds.xml” que está na pasta “src/main/webapp/WEB-INF/” e altere o arquivo “persistence.xml” dentro da pasta “src/main/resources/META-INF/” para que tenha o conteúdo acima.\nPronto! Agora é só implantar a aplicação com o Maven (caso você não tenha o Maven em seu computador, leia esse post):\nmvn package jboss-as:deploy Se tudo ocorrer conforme o esperado, a aplicação de exemplo poderá ser acessada através do endereço “http://localhost:8080/jboss-as-greeter/“.\nDica aos usuários de PostgreSQL As instruções fornecidas aqui podem ser aplicadas sem maiores problemas a outros bancos de dados. Veja, por exemplo, essa página que ensina como configurar um datasource do PostgreSQL no JBoss AS.\nOs passos são bastante parecidos, as diferenças ficam por conta do driver JDBC que será implantado (clique aqui para ir ao site oficial do driver JDBC do PostgreSQL) e do endereço JDBC informado na configuração do datasource (no exemplo desse link, ele informou “jdbc:postgresql://localhost:5432/library”, perceba que é parecido com o endereço que usamos aqui).\nBem, pessoal, vou ficando por aqui, espero que tenham gostado… até a próxima!\n","date":"2012-07-19T04:36:13Z","permalink":"/pt-br/artigo/configurando-um-datasource-do-mysql-no-jboss-as/","title":"Configurando um datasource do MySQL no JBoss AS"},{"content":"O JBoss Application Server (ou, abreviadamente, JBoss AS) é um servidor de aplicação de código aberto desenvolvido pela JBoss (atualmente, uma divisão da Red Hat) para a plataforma Java EE. Ele oferece toda a infraestrutura necessária para executar aplicações Web desenvolvidas sobre essa plataforma. Nesse post, você saberá o necessário para começar a desenvolver aplicações Java para a Web utilizando esse servidor.\nEssa é a segunda parte de dois posts que visam apresentar o JBoss AS 7. Se você desejava acessar a primeira parte, clique aqui. Senão, continue lendo.\nConsole de administração Web do JBoss AS Podemos gerenciar o servidor de aplicação JBoss AS através de um console Web, que nos permite realizar, entre outras configurações, deploy e undeploy de aplicações, iniciar ou interromper a execução de aplicações, verificar o consumo de memória do servidor, configurar datasources, etc. Esse console, por padrão (se você não alterar as configurações de portas) é acessado através do endereço “http://localhost:9990/“.\nNa primeira vez em que você tentar acessar esse console, no entanto, ele emitirá uma mensagem de erro (é bonita, eu sei, mas se você examinar seu conteúdo, verá que é uma mensagem de erro, rsrsrs):\nEsse aviso nos diz que é necessário definir um usuário e uma senha para acessar o console de administração Web. Vamos fazer isso.\nExecute o script “add-user” dentro da pasta “bin” do servidor (“C:\\jboss-as\\bin\\add-user.bat” no Windows, e “/home/vinicius/jboss-as/bin/add-user.sh” no Linux):\n$ /home/vinicius/jboss-as/bin/add-user.sh Após iniciar o script, você será guiado no processo de adicionar um novo usuário:\nWhat type of user do you wish to add? a) Management User (mgmt-users.properties) b) Application User (application-users.properties) (a): Nesse caso, como estamos criando um usuário com a finalidade de administrar o servidor, escolhemos a opção “a”. Ela já é a opção padrão, apenas tecle Enter.\nVocê será solicitado a fornecer informações sobre o novo usuário. Quando questionado sobre o domínio do usuário (Realm), aceite a opção padrão (ManagementRealm), para isso basta teclar Enter quando chegar nesse campo. No mais, digite nome de usuário, senha e confirme a senha.\nEnter the details of the new user to add. Realm (ManagementRealm) : Username : Password : Re-enter Password : Se não houver nada errado, uma mensagem de confirmação será exibida na tela.\nFeito isso, nós já podemos acessar o console de administração Web, informando o usuário e senha criados quando solicitados (lembrando que o endereço é “http://localhost:9990/“):\nVamos fazer undeploy e deploy da aplicação usando o console de administração Web. Para isso, no menu do lado esquerdo, clique em “Manage Deployments”. É exibida uma lista das aplicações instaladas no servidor:\nClicando em “Disable”, interromperíamos a aplicação, fazendo com que ela não ficasse mais disponível ao usuário final, mas ainda permanecesse no servidor. Não é o que queremos aqui. Clique em “Remove” para de fato remover a aplicação do servidor. Aparece uma mensagem de confirmação na tela, clique em “Confirm”.\nFeito isso a aplicação desaparece da lista, ela já não está mais no servidor (e muito menos acessível):\nSe você tentar acessá-la pelo seu endereço (“http://localhost:8080/jboss-as-helloworld-jsf/“), visualizará uma página de erro no navegador.\nDe volta ao console de administração Web, clique no botão “Add Content” para fazermos deploy da aplicação novamente.\nO primeiro passo é selecionar o arquivo que você deseja fazer deploy. Na janela que aparece, clique em “Browse…”, navegue até a pasta do exemplo (aqui, “/home/vinicius/jboss-jdf-jboss-as-quickstart-8505020/helloworld-jsf/”) e, dentro da pasta “target”, escolha o arquivo “jboss-as-helloworld-jsf.war”, que representa a aplicação compilada e empacotada em um formato próprio de aplicação Web (arquivo .war), análogo ao formato de aplicação Desktop (arquivo .jar). Por último, clique em “Next”:\nEle pede para confirmar as informações. Simplesmente clique em “Save”:\nDe volta à lista de aplicações, a aplicação foi instalada no servidor, mas não foi iniciada:\nClique em Enable para iniciá-la. Aparece uma mensagem de confirmação na tela, clique em “Confirm”. Feito isso a aplicação passa a aparecer na lista como habilitada:\nAgora é possível acessá-la novamente pelo endereço “http://localhost:8080/jboss-as-helloworld-jsf/“.\nEncerrando o JBoss AS Encerrar o servidor, tanto no Windows quanto no Linux, é um procedimento bastante simples: basta abortar a execução do comando na janela de terminal onde o servidor está sendo executado. Para isso, basta apertar Ctrl + C (vale para ambos os sistemas).\nAqui ele encerrou o servidor em pequeníssimos 143 milissegundos:\n15:09:21,996 INFO [org.jboss.as.osgi] (MSC service thread 1-1) JBAS011942: Stopping OSGi Framework 15:09:22,034 INFO [org.jboss.as.logging] JBAS011503: Restored bootstrap log handlers 15:09:22,044 INFO [org.jboss.weld.deployer] JBAS016009: Stopping weld service for deployment jboss-as-helloworld-jsf.war 15:09:22,053 INFO [org.apache.coyote.http11.Http11Protocol] Pausing Coyote HTTP/1.1 on http--127.0.0.1-8080 15:09:22,058 INFO [org.apache.coyote.http11.Http11Protocol] Stopping Coyote HTTP/1.1 on http--127.0.0.1-8080 15:09:22,083 INFO [com.arjuna.ats.jbossatx] ARJUNA032018: Destroying TransactionManagerService 15:09:22,111 INFO [com.arjuna.ats.jbossatx] ARJUNA032014: Stopping transaction recovery manager 15:09:22,111 INFO [org.jboss.as.server.deployment] JBAS015877: Stopped deployment jboss-as-helloworld-jsf.war in 132ms 15:09:22,114 INFO [org.jboss.as.controller] JBAS014774: Service status report JBAS014776: Newly corrected services: service jboss.server.controller.management.security_realm.ApplicationRealm.properties_authentication (new available) 15:09:22,121 INFO [org.jboss.as] JBAS015950: JBoss AS 7.1.1.Final \u0026#34;Brontes\u0026#34; stopped in 143ms Mais informações sobre o JBoss AS Pois é, pessoal. Vou encerrando minha apresentação do JBoss AS por aqui. Gostaria apenas de fazer algumas considerações finais e deixar as páginas que usei como referência para escrever esse post.\nTambém é possível administrar o JBoss AS através do terminal (da linha de comando), mas não apresentei essa ferramenta aqui por considerar o console Web muito mais simples de usar. Mais informações sobre essas duas ferramentas (o console Web e o console via terminal) vocês encontram no guia de administração do JBoss AS.\nUm bom ponto de partida para quem quiser conhecer mais o JBoss AS (assim como o Maven e a plataforma Java EE) é explorar as aplicações de exemplo do servidor. Há um guia passo-a-passo que fornece explicações sobre alguns desses exemplos.\nQuem utiliza a IDE Eclipse pode se interessar em instalar o plugin JBoss Tools, que acrescenta funcionalidades no Eclipse próprias para a utilização do JBoss AS como servidor Java EE dentro da IDE (como adicionar o servidor na view Servers, executar aplicações Web desenvolvidas pela IDE no servidor, fazer deploy e undeploy de aplicações, iniciar ou interromper aplicações, realizar depuração remota) e para o desenvolvimento de aplicações Web (acrescenta assistentes para a criação de arquivos próprios dessas aplicações, melhora a compleção de código, entre outras).\nEncerrando as considerações, há um vídeo na Internet que demonstra 5 maneiras de fazer deploy da sua aplicação no JBoss AS 7. Nesse vídeo, ele realiza deploy da aplicação de exemplo helloworld de 5 maneiras diferentes.\nAs páginas da documentação oficial do JBoss AS que utilizei como referência para escrever esse post foram:\nGetting Started Guide Getting Started Developing Applications Guide Admin Guide Abraço a todos e até a próxima!\n","date":"2012-07-18T23:16:17Z","permalink":"/pt-br/artigo/apresentando-o-servidor-de-aplica%C3%A7%C3%A3o-jboss-as-7-parte-2/","title":"Apresentando o servidor de aplicação JBoss AS 7 (parte 2)"},{"content":"O JBoss Application Server (ou, abreviadamente, JBoss AS) é um servidor de aplicação de código aberto desenvolvido pela JBoss (atualmente, uma divisão da Red Hat) para a plataforma Java EE. Ele oferece toda a infraestrutura necessária para executar aplicações Web desenvolvidas sobre essa plataforma. Nesse post, você saberá o necessário para começar a desenvolver aplicações Java para a Web utilizando esse servidor.\nO JBoss AS 7 é completamente compatível com a especificação Java EE 6 (diz-se “Java EE 6 Full Profile”), tendo recebido inclusive certificação da Oracle. Assim, ao executar nossas aplicações Web nesse servidor, se elas foram desenvolvidas obedecendo aos padrões da plataforma, teremos a certeza de que elas funcionarão como desejamos (é claro que eventualmente erros de lógica podem ser cometidos por programadores, o fato de uma aplicação atender à especificação não garante que ela esteja livre desses erros, rsrsrs).\nÉ necessário que o Java Development Kit (JDK) esteja instalado no computador para que o JBoss AS possa ser executado. Também é importante que a variável de ambiente JAVA_HOME esteja configurada, o JBoss AS obtém o valor dessa variável e o utiliza para saber a localização do JDK no sistema. Se precisar de ajuda com relação a isso, leia esse outro post, no qual explico como instalar e testar o JDK.\nPrecisaremos também do Maven, que já foi abordado em outro post. Ele não é necessário à execução do JBoss AS, mas precisaremos dele nesse passo-a-passo para implantar uma aplicação de exemplo no servidor.\nDownload do JBoss AS Na página de downloads do JBoss AS 7 há várias opções de download. Vamos nos concentrar aqui naquelas que se referem à versão mais atual do servidor de aplicação (no momento da escrita deste post, a versão 7.1.1, apelido “Brontes”). Para os usuários de Windows, eu recomendo o download do arquivo .zip, e para os usuários de Linux, eu recomendo o download do arquivo .tar.gz, pois esses formatos são os mais comuns nesses dois sistemas.\nNesse passo-a-passo, precisaremos ainda do código-fonte da aplicação de exemplo que demonstrarei, mas como ela não é necessária à instalação do servidor, deixarei seu download para um momento mais oportuno.\nOs links para download direto dos arquivos mencionados acima são esse e esse. No caso do Linux, é possível baixar este arquivo pelo terminal usando o comando wget:\n$ wget http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.tar.gz Instalação do JBoss AS Tanto no Windows quanto no Linux, basta descompactar o arquivo baixado que o JBoss AS já pode ser executado a partir daquele local. Assim como acontece com o JDK, é possível instalar em uma localização visível a todos os usuários (como “C:\\” no Windows ou “/opt/” no Linux) ou visível apenas ao seu usuário (no meu caso, “C:\\Users\\Vinicius\\Documents” ou “/home/vinicius”). Em ambos os casos, o arquivo descompactado gera uma pasta chamada “jboss-as-7.1.1.Final? e pode ser excluído após a extração.\nÉ necessário prestar atenção a esse local pois sempre que quisermos invocar o JBoss AS, digitaremos o caminho para esse local. Assim, recomendo renomear a pasta para algo menor, como “jboss-as”.\nNo Windows, fiz a extração do arquivo na raiz do disco “C:\\” e renomeei a pasta “jboss-as-7.1.1.Final” para apenas “jboss-as”. O caminho para o JBoss AS no meu sistema é, então, “C:\\jboss-as”.\nNo Linux é mais prático fazer a instalação na pasta home do usuário. Se a finalidade de usar o JBoss AS é didática, recomendo essa instalação, porque é mais fácil de manter (não é necessário obter privilégios de administrador sempre que for necessário alterar algum arquivo à mão, por exemplo). No terminal, os comandos para download e extração seriam (já estou incluindo o comando para renomear a pasta, conforme sugeri):\n$ cd /home/vinicius/ $ wget http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.tar.gz $ tar zxvf jboss-as-7.1.1.Final.tar.gz $ mv jboss-as-7.1.1.Final jboss-as $ rm jboss-as-7.1.1.Final.tar.gz É possível instalar também em uma localização global, visível a todos os usuários. No caso específico do JBoss AS, já que estamos falando de um servidor, talvez essa seja a instalação mais comum. Para fazer isso, o procedimento é parecido, mas é necessário ter permissões de administrador:\n$ cd /home/vinicius/ $ wget http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.tar.gz # mv jboss-as-7.1.1.Final.tar.gz /opt # cd /opt # tar zxvf jboss-as-7.1.1.Final.tar.gz # mv jboss-as-7.1.1.Final jboss-as # rm jboss-as-7.1.1.Final.tar.gz No primeiro caso, o caminho para o JBoss AS passa a ser “/home/vinicius/jboss-as” e, no segundo, “/opt/jboss-as”.\nInicializando o servidor De acordo com a documentação do JBoss AS, há duas maneiras de iniciar o servidor de aplicação: em modo “standalone”, onde cada instância do servidor é um processo que atua de maneira independente; ou em modo de domínio (“domain”), onde várias máquinas (físicas ou virtuais) executando o servidor de aplicação compõem um domínio, no qual há uma máquina central responsável por gerenciar as demais. Para fins de demonstração, nessa página (e nas demais em que eu me referir ao JBoss AS) usarei o servidor em modo “standalone”.\nPara iniciar o servidor dessa maneira, no Windows, usando o Windows Explorer mesmo, você pode ir até a pasta na qual o JBoss AS está instalado (no meu caso, “C:\\jboss-as”), abrir a pasta “bin” e dar um duplo-clique no script “standalone.bat”. Uma nova janela de terminal se abre com a saída do servidor. É interessante criar um atalho para esse arquivo em algum local de fácil acesso, para facilitar sempre que se desejar iniciar o servidor.\nNo Windows, também é possível iniciar o JBoss AS pela linha de comando, invocando esse mesmo script. Nesse caso, a própria janela de terminal na qual o comando é invocado passa a exibir a saída do servidor (é importante observar que não é possível executar nenhum outro comando nessa mesma janela enquanto o servidor estiver em execução). O comando fica:\n\u0026gt; C:\\jboss-as\\bin\\standalone.bat No Linux, para iniciar o JBoss AS em modo standalone, devemos executar em uma janela de terminal o seguinte comando (supondo que o JBoss AS esteja instalado na pasta “/home/vinicius/jboss-as”):\n$ ./home/vinicius/jboss-as/bin/standalone.sh Nesse caso, a própria janela de terminal na qual o comando é invocado passa a exibir a saída do servidor e, assim como acontece no Windows, não é possível executar nenhum outro comando nessa mesma janela enquanto o servidor estiver em execução.\nO terminal deve exibir uma saída parecida com essa, resultado da inicialização do servidor:\n========================================================================= JBoss Bootstrap Environment JBOSS_HOME: /home/vinicius/jboss-as JAVA: /opt/jdk1.7.0/bin/java JAVA_OPTS: -server -XX:+TieredCompilation -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.server.default.config=standalone.xml ========================================================================= 04:35:28,890 INFO [org.jboss.modules] JBoss Modules version 1.1.1.GA 04:35:29,488 INFO [org.jboss.msc] JBoss MSC version 1.0.2.GA 04:35:29,647 INFO [org.jboss.as] JBAS015899: JBoss AS 7.1.1.Final \u0026#34;Brontes\u0026#34; starting 04:35:32,341 INFO [org.xnio] XNIO Version 3.0.3.GA 04:35:32,366 INFO [org.xnio.nio] XNIO NIO Implementation Version 3.0.3.GA 04:35:32,457 INFO [org.jboss.as.server] JBAS015888: Creating http management service using socket-binding (management-http) 04:35:32,468 INFO [org.jboss.remoting] JBoss Remoting version 3.2.3.GA 04:35:32,623 INFO [org.jboss.as.logging] JBAS011502: Removing bootstrap log handlers 04:35:32,662 INFO [org.jboss.as.configadmin] (ServerService Thread Pool -- 26) JBAS016200: Activating ConfigAdmin Subsystem 04:35:32,831 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 31) JBAS010280: Activating Infinispan subsystem. 04:35:33,167 INFO [org.jboss.as.naming] (ServerService Thread Pool -- 38) JBAS011800: Activating Naming Subsystem 04:35:33,193 INFO [org.jboss.as.osgi] (ServerService Thread Pool -- 39) JBAS011940: Activating OSGi Subsystem 04:35:33,269 INFO [org.jboss.as.connector] (MSC service thread 1-2) JBAS010408: Starting JCA Subsystem (JBoss IronJacamar 1.0.9.Final) 04:35:33,393 INFO [org.jboss.as.security] (ServerService Thread Pool -- 44) JBAS013101: Activating Security Subsystem 04:35:33,514 INFO [org.jboss.as.webservices] (ServerService Thread Pool -- 48) JBAS015537: Activating WebServices Extension 04:35:33,515 INFO [org.jboss.as.security] (MSC service thread 1-1) JBAS013100: Current PicketBox version=4.0.7.Final 04:35:33,588 INFO [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3) 04:35:33,549 INFO [org.jboss.as.naming] (MSC service thread 1-2) JBAS011802: Starting Naming Service 04:35:34,470 INFO [org.jboss.as.mail.extension] (MSC service thread 1-1) JBAS015400: Bound mail session 1 04:35:34,530 INFO [org.jboss.ws.common.management.AbstractServerConfig] (MSC service thread 1-2) JBoss Web Services - Stack CXF Server 4.0.2.GA 04:35:35,289 INFO [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-2) Starting Coyote HTTP/1.1 on http--127.0.0.1-8080 04:35:35,866 INFO [org.jboss.as.remoting] (MSC service thread 1-2) JBAS017100: Listening on /127.0.0.1:9999 04:35:36,060 INFO [org.jboss.as.server.deployment.scanner] (MSC service thread 1-2) JBAS015012: Started FileSystemDeploymentService for directory /home/vinicius/jboss-as/standalone/deployments 04:35:36,119 INFO [org.jboss.as.remoting] (MSC service thread 1-2) JBAS017100: Listening on /127.0.0.1:4447 04:35:36,270 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-2) JBAS010400: Bound data source 1 04:35:36,294 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990 04:35:36,295 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss AS 7.1.1.Final \u0026#34;Brontes\u0026#34; started in 8025ms - Started 133 of 208 services (74 services are passive or on-demand) Tanto no Windows quanto no Linux, após iniciado o servidor, abra seu navegador de preferência e acesse o endereço “http://localhost:8080” (a porta 8080 é a utilizada pelo JBoss AS por padrão, mas essa porta pode ser alterada na configuração do servidor). Você deve ver a tela de boas vindas do JBoss AS:\nExecutando uma aplicação Web Para verificar o funcionamento do JBoss AS, vamos instalar e executar (diz-se fazer deploy no servidor) de uma das aplicações de exemplo oferecidas no site do servidor. No caso, vou utilizar a helloworld-jsf, que é simples, mas um pouco mais interessante que a tradicional helloworld.\nAs instruções fornecidas aqui se aplicam tanto ao Windows quanto ao Linux, mas vou utilizar o Linux para explicar as etapas. Necessitaremos do Maven para compilar, empacotar e fazer deploy da aplicação. Se você ainda não possui o Maven em seu computador, prossiga à leitura dessa página antes de continuar.\nVá até a página das aplicações de exemplo do JBoss AS e clique em “Get the source”. Depois, clique em “Source zip”:\nVocê está baixando um arquivo .zip (no momento da escrita deste post, nomeado “jboss-jdf-jboss-as-quickstart-7.1.1.Final-0-gbcbcf69.zip”) com todas as aplicações de exemplo do JBoss AS (se quiser por curiosidade conferir a lista, são todas essas que aparecem listadas nessa mesma página).\nQuando o download acabar, extraia o conteúdo desse arquivo para uma pasta de fácil acesso. No Linux, o comando para extração desse arquivo é:\n$ unzip jboss-jdf-jboss-as-quickstart-7.1.1.Final-0-gbcbcf69.zip Isso cria uma pasta contendo as aplicações de exemplo (aqui se chama “jboss-jdf-jboss-as-quickstart-8505020″), entre nessa pasta e, em seguida, entre na pasta “helloworld-jsf” (usuários de Windows também devem entrar nessa pasta pelo terminal, já que vamos executar um comando do Maven dentro dela):\n$ cd jboss-jdf-jboss-as-quickstart-8505020/helloworld-jsf Certifique-se de que o JBoss AS esteja em execução e invoque o seguinte comando do Maven, que compilará, testará, empacotará e realizará o deploy da aplicação no servidor:\n$ mvn package jboss-as:deploy Ao final do processo, o console do Maven deve mostrar uma saída parecida com essa, informando que tudo ocorreu conforme o esperado:\nJul 18, 2012 1:50:00 PM org.xnio.Xnio INFO: XNIO Version 3.0.3.GA Jul 18, 2012 1:50:00 PM org.xnio.nio.NioXnio INFO: XNIO NIO Implementation Version 3.0.3.GA Jul 18, 2012 1:50:00 PM org.jboss.remoting3.EndpointImpl INFO: JBoss Remoting version 3.2.3.GA [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4:26.810s [INFO] Finished at: Wed Jul 18 13:50:14 GMT+00:00 2012 [INFO] Final Memory: 9M/41M [INFO] ------------------------------------------------------------------------ O console do JBoss AS deve mostrar que o deploy da aplicação foi realizado com sucesso:\n13:50:04,206 INFO [org.jboss.as.repository] (management-handler-thread - 2) JBAS014900: Content added at location /root/jboss-as/standalone/data/content/1d/9f4c3c67cd2fb194ee4aacb3d990ab70da0b48/content 13:50:04,261 INFO [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015876: Starting deployment of \u0026#34;jboss-as-helloworld-jsf.war\u0026#34; 13:50:06,650 INFO [org.jboss.weld.deployer] (MSC service thread 1-2) JBAS016002: Processing weld deployment jboss-as-helloworld-jsf.war 13:50:06,979 INFO [org.jboss.weld.deployer] (MSC service thread 1-1) JBAS016005: Starting Services for CDI deployment: jboss-as-helloworld-jsf.war 13:50:07,045 INFO [org.jboss.weld.Version] (MSC service thread 1-1) WELD-000900 1.1.5 (AS71) 13:50:07,578 INFO [org.jboss.weld.deployer] (MSC service thread 1-2) JBAS016008: Starting weld service for deployment jboss-as-helloworld-jsf.war 13:50:08,753 INFO [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-2) Initializing Mojarra 2.1.7-jbossorg-1 (20120227-1401) for context \u0026#39;/jboss-as-helloworld-jsf\u0026#39; 13:50:11,774 INFO [org.hibernate.validator.util.Version] (MSC service thread 1-2) Hibernate Validator 4.2.0.Final 13:50:14,120 INFO [org.richfaces.log.Cache] (MSC service thread 1-2) Selected fallback cache factory 13:50:14,125 INFO [org.richfaces.log.Cache] (MSC service thread 1-2) Creating LRUMap cache instance using parameters: {javax.faces.PROJECT_STAGE=Development} 13:50:14,186 INFO [org.richfaces.log.Cache] (MSC service thread 1-2) Creating LRUMap cache instance of 512 items capacity 13:50:14,195 INFO [org.richfaces.log.Application] (MSC service thread 1-2) RichFaces Core Implementation by JBoss by Red Hat, version v.4.2.0.Final 13:50:14,428 WARNING [org.richfaces.log.Application] (MSC service thread 1-2) JMS API was found on the classpath; if you want to enable RichFaces Push JMS integration, set context-param \u0026#39;org.richfaces.push.jms.enabled\u0026#39; in web.xml 13:50:14,435 INFO [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-2) Monitoring jndi:/default-host/jboss-as-helloworld-jsf/WEB-INF/faces-config.xml for modifications 13:50:14,487 INFO [org.jboss.web] (MSC service thread 1-2) JBAS018210: Registering web context: /jboss-as-helloworld-jsf 13:50:14,539 INFO [org.jboss.as.server] (management-handler-thread - 2) JBAS018559: Deployed \u0026#34;jboss-as-helloworld-jsf.war\u0026#34; Feito isso, podemos acessar a aplicação usando o navegador através do endereço “http://localhost:8080/jboss-as-helloworld-jsf/“:\nEssa é uma aplicação Web 2.0 com AJAX na qual ao digitar um nome no campo de texto, ele reproduz esse nome em uma mensagem de olá do lado direito desse campo. É realmente a única coisa que essa aplicação faz. Os componentes exibidos na tela são estilizados por causa da utilização do framework de apresentação Richfaces para renderizar esses componentes.\nSe quisermos, podemos remover a aplicação do servidor (diz-se fazer o undeploy) através do Maven, usando o comando (deve ser executado da pasta que contém o código-fonte da aplicação):\n$ mvn jboss-as:undeploy Também podemos fazer deploy e undeploy de aplicações no servidor, entre outras configurações, usando o console de administração do JBoss AS. Examinaremos esse console na segunda parte desse post.\n","date":"2012-07-18T22:18:38Z","permalink":"/pt-br/artigo/apresentando-o-servidor-de-aplica%C3%A7%C3%A3o-jboss-as-7/","title":"Apresentando o servidor de aplicação JBoss AS 7"},{"content":"Olá, pessoal, nesse post vocês vão ver como instalar e executar pela primeira vez o Apache Maven em seus computadores.\nO Maven é uma ferramenta que facilita e automatiza bastante o gerenciamento de projetos em Java, auxiliando os desenvolvedores nas etapas de definição, codificação, compilação, testes, empacotamento, implantação, documentação e distribuição da aplicação.\nNesse post, demonstrarei como instalar o Maven e como criar um pequeno projeto, apenas para dar uma noção de como funciona a ferramenta.\nAntes de começarmos, é necessário que o Java Development Kit (JDK) esteja instalado no computador onde se deseja executar o Maven. Em outro post nesse blog expliquei como instalar o JDK e verificar que ele está funcionando perfeitamente. Se você ainda não possui o JDK, prossiga à leitura daquela página primeiro. Se você não tem certeza se o JDK está instalado em seu computador, execute os testes propostos naquela mesma página e, se for o caso, instale-o.\nSó prossiga à leitura desta página quando tiver certeza de que o JDK está instalado e funcionando no seu computador. Também é importante que a variável de ambiente JAVA_HOME esteja configurada.\nDownload do Maven Instalado o JDK, é hora de baixar o Maven. Na página de downloads do site oficial do Maven estão disponíveis algumas opções. Para os usuários de Windows, eu recomendo o download do arquivo .zip, e para os usuários de Linux, eu recomendo o download do arquivo .tar.gz, pois esses formatos são os mais comuns nesses dois sistemas.\nSe a distribuição Linux que você usa provê um método padrão de instalar o Maven, você pode preferir baixá-lo e instalá-lo por esse método. No tópico seguinte eu forneço instruções para o Debian e o Ubuntu.\nNo momento da escrita deste post, a versão mais atual do Maven é a 3.0.4. Os links para download direto dos arquivos mencionados acima são esse e esse. No caso do Linux, é possível baixar este arquivo pelo terminal usando o comando wget:\n$ wget http://ftp.unicamp.br/pub/apache/maven/binaries/apache-maven-3.0.4-bin.tar.gz Instalação do Maven Tanto no Windows quanto no Linux basta descompactar o arquivo baixado que o Maven já pode ser executado a partir daquele local. Assim como acontece com o JDK, é possível instalar em uma localização visível a todos os usuários (como “C:\\” no Windows ou “/opt/” no Linux) ou visível apenas ao seu usuário (no meu caso, “C:\\Users\\Vinicius\\Documents” ou “/home/vinicius”). Em ambos os casos, o arquivo descompactado gera uma pasta chamada “apache-maven-3.0.4″ e pode ser excluído após a extração.\nÉ necessário prestar atenção a esse local pois, assim como fizemos na instalação do JDK, aqui vamos configurar uma variável de ambiente que aponte para a localização do Maven, chamada de M2_HOME.\nNo Windows, fiz a extração do arquivo na raiz do disco “C:\\” e renomeei a pasta “apache-maven-3.0.4″ para apenas “maven”. O caminho para o Maven no meu sistema é, então, “C:\\maven”.\nNo Linux é mais prático fazer a instalação na pasta home do usuário. No terminal, os comandos para download e extração seriam:\n$ cd /home/vinicius/ $ wget http://ftp.unicamp.br/pub/apache/maven/binaries/apache-maven-3.0.4-bin.tar.gz $ tar zxvf apache-maven-3.0.4-bin.tar.gz $ rm apache-maven-3.0.4-bin.tar.gz É possível instalar também em uma localização global, visível a todos os usuários. Nesse caso, o procedimento é parecido, mas é necessário ter permissões de administrador:\n$ cd /home/vinicius/ $ wget http://ftp.unicamp.br/pub/apache/maven/binaries/apache-maven-3.0.4-bin.tar.gz # mv apache-maven-3.0.4-bin.tar.gz /opt # cd /opt # tar zxvf apache-maven-3.0.4-bin.tar.gz # rm apache-maven-3.0.4-bin.tar.gz No primeiro caso, o caminho para o Maven passa a ser “/home/vinicius/apache-maven-3.0.4″ e, no segundo, “/opt/apache-maven-3.0.4″.\nSe você utiliza a versão mais recente do Ubuntu (no momento da escrita deste post, a 12.04), pode preferir instalar o Maven através do pacote maven usando o utilitário apt-get, incluído na distribuição.\nUsuários do Debian podem obter nos repositórios oficiais da versão estável (atualmente o Debian Squeeze 6.0) uma versão anterior do Maven (não garanto que funcione da mesma maneira que a atual), através do pacote maven2 usando o utilitário apt-get, incluído na distribuição. Usuários mais experientes do Debian podem tentar instalar o Maven 3.0.4 (versão mais recente até o momento da escrita) através do pacote maven dos repositórios da próxima versão do Debian, que ainda está em teste.\nConfiguração da variável M2_HOME De maneira análoga à instalação do JDK, aqui vamos criar uma variável de ambiente M2_HOME que informe para os demais aplicativos do sistema a localização do Maven. Depois vamos atualizar o valor da variável de ambiente PATH para que possamos invocar o Maven diretamente da linha de comando, sem precisar informar sua localização completa sempre que quisermos fazer isso.\nNo Windows, o procedimento é bem semelhante ao descrito no post anterior, só mudando os nomes das variáveis e os valores:\nNo Linux, se você instalou o Maven apenas para o seu usuário, abra com o seu editor de preferência o arquivo “~/.bashrc” e acrescente as seguintes linhas no final do arquivo (você deve substituir, se necessário, a localização do Maven, que no nosso exemplo foi “/home/vinicius/apache-maven-3.0.4″):\nexport M2_HOME=\u0026#34;/home/vinicius/apache-maven-3.0.4\u0026#34; export PATH=\u0026#34;$PATH:$M2_HOME/bin\u0026#34; Se você instalou o Maven para todos os usuários, a alteração deve ocorrer no arquivo “/etc/profile”. Abra esse arquivo com o seu editor de preferência e acrescente as seguintes linhas no final do arquivo (você deve substituir, se necessário, a localização do Maven, que no nosso exemplo foi “/opt/apache-maven-3.0.4″):\nexport M2_HOME=\u0026#34;/opt/apache-maven-3.0.4\u0026#34; export PATH=\u0026#34;$PATH:$M2_HOME/bin\u0026#34; Teste do Maven As instruções a seguir servem para Windows e Linux. Para testar a instalação do Maven, abra uma nova janela de terminal e execute o comando a seguir, que deve exibir informações sobre a instalação do Maven no seu computador:\n$ mvn -v A saída deve ser algo parecido com isso:\nApache Maven 3.0.4 (r1232337; 2012-01-17 08:44:56+0000) Maven home: /home/vinicius/apache-maven-3.0.4 Java version: 1.7.0_147-icedtea, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-7-openjdk-i386/jre Default locale: en_US, platform encoding: UTF-8 OS name: \u0026#34;linux\u0026#34;, version: \u0026#34;3.0.0-12-generic\u0026#34;, arch: \u0026#34;i386\u0026#34;, family: \u0026#34;unix\u0026#34; Como teste, também vamos criar um pequeno projeto Java, compilá-lo, empacotá-lo e executá-lo. Em alguma pasta à qual você tenha acesso (aqui utilizarei minha pasta pessoal no Linux, “/home/vinicius”), execute o seguinte comando:\n$ mvn archetype:generate \\ -DgroupId=br.com.vinyanalista.tutorial \\ -DartifactId=projeto.exemplo \\ -DarchetypeArtifactId=maven-archetype-quickstart \\ -DinteractiveMode=false A primeira execução do Maven demora um pouco. Isso porque ele vai baixar algumas bibliotecas e plugins necessárias ao projeto. No meu computador, esse processo demorou cerca de 6 minutos. Outros projetos reaproveitam as bibliotecas e plugins já baixados, por isso esse é um processo demorado que ocorre apenas uma vez.\nPerceba que foi criada uma pasta “projeto.exemplo”. Essa pasta contém o nosso projeto. Vamos entrar nela e mandar o Maven compilar e empacotar o projeto:\n$ cd projeto.exemplo $ mvn package Na verdade, ordenamos apenas que o Maven empacotasse o projeto. No entanto, como a compilação deve ocorrer antes para que o projeto possa ser empacotado, o Maven executa a compilação automaticamente antes de realizar o empacotamento do projeto de fato. O comando acima deu origem a uma pasta target e, dentro dela, um arquivo .jar contendo o projeto compilado e empacotado.\nVamos executar a classe principal do projeto:\n$ java -cp target/projeto.exemplo-1.0-SNAPSHOT.jar br.com.vinyanalista.tutorial.App Se uma mensagem do tipo “Hello, World!” apareceu na tela, então tudo funcionou conforme o esperado e o Maven está devidamente instalado e funcionando em seu computador.\nEntão, é isso, pessoal. Por hora, vou ficando por aqui. Em outro post, falarei mais sobre o Maven, como gerenciar seus projetos Java utilizando essa ferramenta, explicando inclusive os arquivos gerados nesse exemplo e como alterá-los conforme suas necessidades. Deixo como referências o blog Maven 3 Tutorial, bastante completo e didático, com várias informações sobre o uso do Maven, e o blog da Caelum, também bastante completo e didático, que contém um post dedicado a falar apenas sobre o Maven.\nAbraço a todos, e até a próxima!\n","date":"2012-07-18T02:57:24Z","permalink":"/pt-br/artigo/instala%C3%A7%C3%A3o-do-apache-maven/","title":"Instalação do Apache Maven"},{"content":"Para começar a programar em Java, seja para Desktop, Web ou celular, devemos instalar no computador o Java Development Kit (abreviadamente, JDK), que nada mais é que um conjunto de ferramentas que nos auxilia a compilar, testar e documentar programas escritos na linguagem Java. Ele também traz embutido o Java Runtime Environment (JRE), assim não é necessário instalar os dois para desenvolver e executar programas Java.\nA seguir, forneço instruções para instalar, configurar e executar a versão mais recente do JDK (atualmente, a 1.7.0_05) em sistemas Windows e Linux.\nDownload e instalação do JDK O primeiro passo é baixar o JDK. Vá até a página de downloads do Java SE, aceite o contrato de licença e escolha a versão do JDK apropriada para o seu sistema:\nDownload e instalação do JDK no Windows No Windows, o instalador do JDK facilita bastante o processo de instalação. Baixe do site do JDK a versão do instalador apropriada para o seu sistema (Windows de 32 ou de 64 bits) e execute-o em seguida.\nNormalmente, aceitar as opções padrão, avançando em todas as telas, deve funcionar. Atente-se apenas à pasta na qual o JDK será instalado (no meu computador, o padrão oferecido foi “C:\\Program Files (x86)\\Java\\jdk1.7.0_05″).\nDownload e instalação do JDK no Linux (distribuições específicas) Se a distribuição Linux que você usa provê um método padrão de instalar o JDK, é recomendado você seguir as instruções fornecidas para instalar o JDK na sua distribuição. Se sua distribuição não provê o JDK, ou se você prefere se assegurar de instalar em seu computador a versão oficial mais recente, pode seguir as instruções de instalação genéricas, que devem servir para qualquer distribuição (veja mais adiante).\nA versão estável do Debian (atualmente o Debian Squeeze 6.0) não oferece a versão mais atual do JDK em seus repositórios oficiais. Se desenvolver para a versão mais recente da linguagem não for um requisito, o usuário pode instalar o OpenJDK 6 (equivalente aberto do JDK 6) através do pacote openjdk-6-jdk usando o utilitário apt-get, incluído na distribuição. Usuários mais experientes do Debian podem tentar instalar o OpenJDK 7 (a partir da versão 7, o JDK e o OpenJDK são completamente equivalentes) através do pacote openjdk-7-jdk dos repositórios da próxima versão do Debian, que ainda está em teste.\nDesde a versão 11.10, o Ubuntu já oferece em seus repositórios oficiais o OpenJDK 7, que pode ser instalado através do pacote openjdk-7-jdk usando o utilitário apt-get, incluído na distribuição.\nUsuários de distribuições que utilizam o sistema de empacotamento RPM (como RedHat, CentOS, Fedora, Mandriva, openSUSE, etc.) podem instalar a versão mais recente do JDK através do pacote RPM disponibilizado na página de downloads do Java SE.\nDownload e instalação do JDK no Linux (qualquer distribuição) Se sua distribuição não provê um meio padrão de instalar o JDK (ou se por qualquer motivo você não quer instalá-lo por esse meio), há na página de downloads do Java SE um arquivo .tar.gz que contém o JDK compactado. Uma vez extraído o conteúdo desse arquivo, o JDK já pode ser executado, e esse procedimento de instalação deve funcionar em qualquer distribuição Linux.\nPara instalar o JDK dessa maneira, baixe-o da página de downloads do Java SE utilizando o navegador de sua preferência ou o comando wget no terminal (a seguir, forneço o link para download direto da versão do JDK usada nesse tutorial):\n$ cd /home/vinicius/ $ wget http://download.oracle.com/otn-pub/java/jdk/7u5-b05/jdk-7u5-linux-i586.tar.gz No Linux, é possível instalar o JDK em um local global, de forma que todos os usuários do sistema possam utilizá-lo (requer permissão de administrador), ou na sua pasta pessoal, de forma que apenas você possa utilizá-lo (não requer permissão, além de ser mais simples para iniciantes).\nPara demonstrar como instalar o JDK numa localização global, vou utilizar a pasta “/opt”. Para fazer isso, mova o arquivo baixado (no nosso exemplo aqui, “jdk-7u5-linux-i586.tar.gz”) para essa pasta e lá extraia seu conteúdo. O caminho para o JDK será então “/opt/jdk1.7.0_05″ (se atente a esse caminho). Após a extração, o arquivo baixado pode ser excluído. Os comandos de terminal para realizar esses procedimentos são:\n# mv /home/vinicius/jdk-7u5-linux-i586.tar.gz /opt # cd /opt # tar zxvf jdk-7u5-linux-i586.tar.gz # rm jdk-7u5-linux-i586.tar.gz Para instalar o JDK na sua pasta pessoal o procedimento é parecido. No meu caso, como já baixei o JDK nessa pasta, apenas precisei descompactá-lo. O comando que utilizei para isso foi:\n$ tar zxvf jdk-7u5-linux-i586.tar.gz Nesse caso, o caminho para o JDK será “/home/vinicius/jdk1.7.0_05″.\nConfiguração da variável JAVA_HOME A variável de ambiente JAVA_HOME é utilizada por alguns programas (como o Maven, o Eclipse e o JBoss AS, por exemplo) para determinar a localização do JDK ou do JRE instalado no computador. Essa etapa é opcional a usuários comuns de programas Java que apenas desejam instalar o ambiente de execução (JRE). Mas já que se trata da instalação do JDK, é costume não apenas definir o valor dessa variável, como acrescentar o caminho do JDK na variável de ambiente PATH, para que possamos invocar as ferramentas do JDK de qualquer pasta. Do contrário, todas as vezes em que quisermos invocar essas ferramentas teremos que digitar o caminho completo para elas.\nA seguir, instruções para configurar essas variáveis tanto no Windows quanto no Linux.\nConfiguração da variável JAVA_HOME no Windows Caso sua Área de Trabalho apresente o ícone do Meu Computador, clique com o botão direito nesse ícone e clique em Propriedades. Caso contrário, abra o Menu Iniciar, clique em Painel de Controle e, na janela que se abre, procure a opção Sistema.\nNa janela Sistema, clique na opção Configurações avançadas do sistema, no painel esquerdo.\nNa caixa de diálogo Propriedades do Sistema, clique no botão Variáveis de Ambiente.\nNa caixa de diálogo Variáveis de Ambiente, na seção Variáveis do sistema, clique no botão Novo.\nInforme JAVA_HOME como nome da variável e no campo valor digite a localização do JDK (no meu caso, ele foi instalado em “C:\\Program Files (x86)\\Java\\jdk1.7.0_05″). Quando acabar de digitar esses valores, clique em OK.\nDe volta à caixa de diálogo Variáveis de Ambiente, também na seção Variáveis do sistema, procure na lista a variável Path, selecione-a e clique no botão Editar.\nPosicione o cursor no início do valor da variável, insira o texto “%JAVA_HOME\\bin;” (não inclua as aspas e não esqueça do ponto-e-vírgula) e clique em OK.\nDe volta à caixa de diálogo Variáveis de Ambiente, clique em OK. Em seguida, você pode fechar a janela Sistema. A partir de agora, qualquer nova janela de terminal aberta ou comando invocado refletirá essas alterações.\nConfiguração da variável JAVA_HOME no Linux Se você instalou o JDK utilizando o mecanismo preferido de sua distribuição, é importante verificar se a variável JAVA_HOME já foi definida e se já é possível invocar os utilitários do JDK da linha de comando. Para isso, passe ao próximo tópico, realize os testes, e apenas se encontrar erros, volte a ler este.\nSe você instalou o JDK para todos os usuários, abra com o seu editor de preferência o arquivo “/etc/profile” e acrescente as seguintes linhas no final (você deve substituir, se necessário, a localização do JDK, que no nosso exemplo foi “/opt/jdk1.7.0_05″):\nexport JAVA_HOME=\u0026#34;/opt/jdk1.7.0_05\u0026#34; export CLASSPATH=\u0026#34;$JAVA_HOME/lib\u0026#34; export PATH=\u0026#34;$PATH:$JAVA_HOME/bin\u0026#34; export MANPATH=\u0026#34;$MANPATH:$JAVA_HOME/man\u0026#34; Se você instalou o JDK apenas para o seu usuário, a alteração deve ocorrer no arquivo “~/.bashrc”. Abra esse arquivo com o seu editor de preferência e acrescente as seguintes linhas no final (você deve substituir, se necessário, a localização do JDK, que no nosso exemplo foi “/home/vinicius/jdk1.7.0_05″):\nexport JAVA_HOME=\u0026#34;/home/vinicius/jdk1.7.0_05\u0026#34; export CLASSPATH=\u0026#34;$JAVA_HOME/lib\u0026#34; export PATH=\u0026#34;$PATH:$JAVA_HOME/bin\u0026#34; export MANPATH=\u0026#34;$MANPATH:$JAVA_HOME/man\u0026#34; Em qualquer um dos dois casos, as alterações serão aplicadas a qualquer nova janela de terminal aberta.\nTeste do JDK As instruções a seguir servem para Windows e Linux. Para testar a instalação do JDK, abra uma janela de terminal e execute o comando a seguir, que deve informar a versão do JDK instalado no seu computador:\n$ javac -version Como teste, também podemos criar um pequeno programa Java, compilá-lo e executá-lo. Em alguma pasta à qual você tenha acesso (aqui utilizarei minha pasta pessoal no Linux, “/home/vinicius”), crie um arquivo de texto simples chamado “Teste.java”. Abra esse arquivo com um editor de texto e insira o seguinte conteúdo:\npublic class Teste { public static void main(String args[]) { System.out.println(\u0026#34;Olá!\u0026#34;); } } Agora no terminal, entre nessa pasta e invoque o compilador do Java (javac) passando o arquivo que você acabou de criar como parâmetro:\n$ cd /home/vinicius/ $ javac Teste.java Perceba que um arquivo “Teste.class” é criado como resultado da compilação. Ainda no terminal, invoque a máquina virtual Java (java) passando o nome da classe compilada como parâmetro:\n$ java Teste Se a mensagem “Olá!” apareceu na tela, tudo está funcionando perfeitamente.\nPlugin do Java para o navegador Firefox Se você pretende utilizar o JDK para desenvolver Applets, é interessante verificar se o plugin do Java funciona adequadamente no seu navegador. Aqui, fornecerei instruções para o Firefox.\nNo Windows, o instalador do JDK já se encarrega de instalar e configurar o plugin do Java para o navegador Firefox.\nNo Linux, esse plugin acompanha o JDK, mas é necessário criar um link simbólico na pasta onde o Firefox está instalado para que o navegador consiga localizar o plugin. Para isso, supondo que o JDK encontra-se em “/opt/jdk1.7.0_5/” e o Firefox em “/usr/lib/mozilla”, basta executar o seguinte comando no terminal:\n# ln -s /opt/jdk1.7.0_5/jre/lib/i386/libnpjp2.so /usr/lib/mozilla/plugins/ Para verificar que o navegador reconhece o plugin, digite na aba de endereços “about:plugins” e tecle Enter. O plugin do Java deve aparecer na lista de plugins instalados:\nÉ possível também verificar na página de teste do Java se a versão do plugin instalada no seu sistema corresponde à mais atual:\nEspero que esse post possa ser útil a programadores Java iniciantes de uma maneira em geral. Agradeço previamente opiniões e críticas construtivas. Ofereço o espaço para perguntas também. Abraço a todos e até a próxima!\n","date":"2012-07-10T01:01:10Z","permalink":"/pt-br/artigo/instala%C3%A7%C3%A3o-do-java-development-kit-jdk/","title":"Instalação do Java Development Kit (JDK)"},{"content":"Gente, a tarde de ontem foi um sufoco! Acidentalmente excluí a tabela de partições de um dos meus HDs, pensei que já tinha perdido todos os meus arquivos e passei várias horas tentando recuperá-la. Tentei ferramentas do Windows, do Linux, e acabei conseguindo. Venho compartilhar nesse post o que houve, como resolvi e algumas observações curiosas sobre o ocorrido.\nÉ algo que não desejo a ninguém, mas se algum dia alguém vier a passar pelo que eu passei (ou algo parecido) pode ler as páginas aqui indicadas e ver se alguma das soluções propostas por elas se aplica ao caso.\nO que aconteceu Vou tentar ser breve nessa explicação (realmente é uma longa história, se estiverem mais interessados nas possíveis soluções para o problema, podem pular pros próximos tópicos). Tenho dois HDs, particionados como mostra a saída do comando fdisk no Linux a seguir. Em resumo, são duas partições pros sistemas operacionais (Windows 7 e Debian) e duas partições para arquivos pessoais.\nDisk /dev/sdb: 250.1 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x1ba01b9f Device Boot Start End Blocks Id System /dev/sdb1 2048 488396799 244197376 7 HPFS/NTFS/exFAT Disk /dev/sda: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xa1a11ae7 Device Boot Start End Blocks Id System /dev/sda1 2048 419432447 209715200 7 HPFS/NTFS/exFAT /dev/sda2 419432448 1468008447 524288000 7 HPFS/NTFS/exFAT /dev/sda3 1468010496 1887440895 209715200 7 HPFS/NTFS/exFAT /dev/sda4 * 1887442942 1953523711 33040385 5 Extended /dev/sda5 1887442944 1953523711 33040384 83 Linux Como estou pensando em mudar de distribuição, hoje decidi instalar o openSUSE no lugar do Debian. Gravei o CD do openSUSE, nenhum procedimento de backup, já que estou acostumado a formatações (um erro, admito), iniciei o computador pelo CD, respondi a todas as perguntas do instalador, iniciou-se a cópia dos arquivos, até aí tudo bem.\nO problema começou quando percebi que a cópia dos arquivos estava muito lenta. Imaginei que a causa fosse a mídia, o que confirmei quando reiniciei e executei o teste pelo próprio LiveCD (outro erro: iniciar a instalação sem ter verificado antes a mídia).\nSó que a essa altura do campeonato o instalador já tinha formatado a partição que antes era do Debian, o GRUB tornou-se então inutilizável, o que me impediria de acessar o Windows e gravar um novo CD do openSUSE. Iniciei o computador pelo Slax que tenho em um pendrive e tentei gravar o CD do openSUSE por ele usando o K3B (seria a solução mais prática, já que instalando o openSUSE eu teria o GRUB e o Windows de volta, né?), sem sucesso. Eis que decidi remover o GRUB do HD para que o computador iniciasse diretamente pelo Windows. Aí foi onde eu cometi o erro mais grave de todos.\nO comando que eu queria executar deveria apagar apenas o gerenciador de boot (bootloader) do Linux, o GRUB, no entanto ele apagou a MBR inteira, incluindo a tabela de partições. O comando que eu utilizei foi:\n# dd if=/dev/null of=/dev/sda bs=512 count=1 Quando deveria ser (esses comandos eu obtive aqui, por que o cidadão que escreveu aquele tutorial tinha que ter colocado aquele comando primeiro, hein?):\n# dd if=/dev/null of=/dev/sda bs=446 count=1 Quando reiniciei o computador, aparece na tela a mensagem de sistema operacional ausente. Foi então que executando o GParted através de um LiveCD do Ubuntu percebi o engano: ele informava que o HD não tinha uma tabela de partições (já citei aqui quatro distribuições, perceberam? rsrsrs).\nPrimeiro problema: recuperar a tabela de partições Inseri o DVD de instalação do Windows 7 e tentei a recuperação de inicialização, como sugerido por esse site (lá você encontra o passo-a-passo com imagens, elas são da instalação do Windows Vista, mas as telas permaneceram iguais na instalação do Windows 7, vou copiar apenas a tela que achei mais importante):\nInseri o DVD de instalação do Windows 7 na unidade e iniciei o computador por ele; Na primeira tela, selecionei meu idioma e meu modelo de teclado e cliquei em “Avançar”; Cliquei no link “Reparar seu computador”; Na lista em que ele manda selecionar o sistema operacional, eu não selecionei nenhum (sem a tabela de partições ele não conseguiria identificar o sistema que estava instalado) e cliquei em Avançar; Eis que apareceu a seguinte tela com as opções de recuperação oferecidas pelo DVD de instalação do Windows 7 (volto a falar dela já já): {% include image.html caption=\u0026ldquo;Ferramentas de recuperação disponibilizadas no DVD de instalação do Windows 7\u0026rdquo; src=\u0026quot;/files/2012/04/win7-system-recovery-options.jpg\u0026quot; %}\nEu cliquei em “Startup Repair”, esperei ele concluir o reparo, e após isso, reiniciei o computador, mas nada mudou.\nDepois disso iniciei novamente o computador pelo DVD do Windows 7 e tentei reparar manualmente o MBR, como sugerido nesse outro site. Os primeiros passos são os mesmos, exceto que, chegando na tela da imagem acima, ao invés de clicar em “Startup Repair” eu cliquei em “Command Prompt” para digitar os comandos manualmente. Tentei o seguinte comando, reiniciei pra ver se algo mudou, e vi que o erro permanecia.\n\u0026gt; bootrec /fixmbr Repeti os passos, executei esse outro comando, reiniciei novamente, e nada mudou:\n\u0026gt; bootrec /fixboot Por último, testei esse outro comando de terminal sugerido nessa página, seguindo praticamente os mesmos procedimentos (só mudou o comando, claro), e aparentemente nada mudou, de novo:\n\u0026gt; bootsect /nt60 all Inseri o LiveCD do Ubuntu na unidade e iniciei o Linux por ele. Já estava disposto a tentar alguma ferramenta Linux, quando abri o Nautilus e verifiquei que todas as partições estavam listadas. Eu as abri, abri algumas pastas, abri alguns arquivos, tudo aparentemente estava no lugar.\nApenas a título de curiosidade, gostaria de listar as duas soluções que (talvez) fossem possíveis no Linux (não cheguei a precisar delas, já que consegui me virar com o DVD do Windows 7, e sinceramente, não sei se pretendo repetir as condições necessárias para testá-las): gpart, um programa que você pode instalar no Ubuntu (há essa outra página um tanto desatualizada do Morimoto que também fala dele) que, pelo que eu entendi, lê o HD inteiro e tenta recompor a tabela de partições dele\nBom, que alívio! Algum dos procedimentos anteriores (não sei qual) recuperou minhas partições. Talvez eu tivesse que instalar novamente o Windows e o Linux, mas meus dados ao menos já estavam salvos. Devolvida a tabela de partições ao HD, agora eu tinha que recuperar a outra parte do MBR: o gerenciador de boot (bootloader).\nSegundo problema: recuperar o gerenciador de boot Recuperadas as partições, agora eu poderia gravar o CD do openSUSE e continuar com a instalação, mas antes eu precisaria acessar o sistema operacional. Então, eu precisaria que pelo menos o bootloader do Windows estivesse funcionando. Com a tabela de partições comprovadamente recuperada, voltei a tentar os procedimentos acima descritos usando o DVD de instalação do Windows 7, e nada!\nEis que decidi instalar o Ubuntu para ter ao menos um sistema operacional funcionando no meu disco rígido (no caso, instalei o Ubuntu na partição Linux que antes era do Debian e que eu desejava que fosse então do openSUSE). A instalação devolveu o GRUB ao MBR e, por incrível que pareça, o GRUB listava o Windows 7 juntamente com o Ubuntu como sistemas operacionais disponíveis.\nTerceiro problema: recuperar a inicialização do Windows Imaginava que agora eu conseguiria acessar o Windows, mas esbarrei em um novo problema. A tela exibida quando eu iniciava o computador e escolhia o Windows na lista do GRUB era a seguinte (clique na imagem para ampliar):\n{% include image.html caption=\u0026ldquo;Erro 0xc000000e\u0026rdquo; src=\u0026quot;/files/2012/04/erro-0xc000000e.jpg\u0026quot; %}\nMais uma rodada de tentativas executando aqueles comandos que eu mostrei acima, e dessa vez houve algum resultado: só que o sistema ainda não funcionou, o erro foi que mudou. Agora a tela exibia:\n{% include image.html caption=\u0026ldquo;BOOTMGR is missing\u0026rdquo; src=\u0026quot;/files/2012/04/erro-bootmgr.png\u0026quot; %}\nEncontrei algumas soluções na Internet, mas decidi tentar primeiro a que tinha no site da Microsoft: tentei o método 2 fornecido nessa página, que consiste em executar, da mesma forma que os comandos anteriores, o comando:\n\u0026gt; Bootrec /RebuildBcd Executei, reiniciei o computador e, novamente, nada! Em dois fóruns (aqui e aqui) eu vi a sugestão de desconectar todos os HDs e dispositivos removíveis (pendrives, cartões de memória, etc.) antes de executar o comando acima, deixando apenas o disco que se quer recuperar. Desliguei meu computador, abri o gabinete, retirei o cabo de força do outro HD que eu tenho, tirei o pendrive que tinha o Slax, reiniciei o procedimento e\u0026hellip; nada!\nA última sugestão que eu tentei foi a solução definitiva. Nesse site, eles indicam copiar o arquivo BOOTMGR do DVD de instalação do Windows pro HD no qual ele está faltando. Eu iniciei o computador por esse DVD, abri o terminal (como indicado acima) e executei os seguintes comandos (suponha que D: seja a sua unidade de CD/DVD na qual se encontra o DVD de instalação do Windows 7 e C: seja o disco rígido que você pretende reparar):\n\u0026gt; cd D: \u0026gt; copy bootmgr C: Simples assim! Reiniciei o computador e ele carregou o sistema operacional do mesmo jeito que estava antes.\nQuarto problema: recuperar o GRUB (de novo) Só que essa solução me trouxe dois problemas: o GRUB sumiu (imagina só: agora que eu consegui acessar o Windows, não consigo mais acessar o Linux!) e aquela imagem da bandeira do Windows brilhando não aparece mais na inicialização, ao invés disso, é a barra verde do Vista (isso não chega a ser um problema, mas não deveria acontecer, veja nas imagens a seguir o antes e o depois).\n{% include image.html caption=\u0026ldquo;O que aparecia antes enquanto o Windows 7 era carregado\u0026rdquo; src=\u0026quot;/files/2012/04/win7-boot.jpg\u0026quot; %}\n{% include image.html caption=\u0026ldquo;O que aparece agora\u0026rdquo; src=\u0026quot;/files/2012/04/winvista-boot.jpg\u0026quot; %}\nEu poderia facilmente recuperar o GRUB para conseguir acessar o Linux, mas como a instalação do Ubuntu era provisória, preferi gravar o CD do openSUSE e instalá-lo por cima do Ubuntu, o que devolveu o GRUB ao MBR e o atualizou para fornecer o Windows 7 e o openSUSE como opções. Desliguei o computador, devolvi o cabo de força do outro HD, liguei de novo pra ver se estava tudo bem, ele reconheceu o “novo” disco rígido… Agora está tudo como era antes, e com o Linux novo, como eu queria.\nAntes de instalar o openSUSE, obviamente, eu fiz uma cópia do MBR, já pensou se eu tivesse problemas com isso de novo? Para isso, usei o próprio LiveCD do openSUSE, executando o seguinte comando como root em uma janela de terminal (suponha que /dev/sda seja o caminho para o HD cujo MBR você deseja copiar):\n# dd if=/dev/sda of=backup.mbr bs=512 count=1 Aqui fica uma dica aos que um dia precisarem fazer algum dia o backup de um MBR: por motivos óbvios, você não deve salvar esse backup no mesmo disco (não falo na mesma partição não, é no mesmo disco, mesmo!). Se acidentalmente o MBR desse disco for excluído, como você vai conseguir acessar dentro do disco o arquivo que contém o backup para restaurá-lo? O trauma com essa experiência foi tão grande que o backup que eu fiz do MBR eu salvei nos meus dois pendrives.\nConsiderações finais (e minhas observações) Tudo bem que o problema inicial foi causado por falha humana (e, diga-se de passagem, minha), no entanto, eu observei que alguns dos problemas durante a tentativa de correção foram causados pela insuficiência das soluções propostas em diversos lugares na Internet, seja em termos de eficiência (nenhuma delas corrigia o problema por completo), seja em termos de documentação (cada página poderia explicar o porquê de estarmos usando aquela ou outra solução, ou talvez até haja informação sobre cada uma dessas soluções, mas a urgência em resolver o problema e a falta de tempo em procurar explicações pesaram mais). Isso pode ter me levado a executar um comando ou outro em um momento inapropriado e pode ter adiado o desfecho da história por mais algumas etapas. Mesmo a documentação oficial da Microsoft oferece algumas possíveis soluções para problemas muito semelhantes.\nBem, em relação à documentação, achei bastante interessante a cooperação entre os usuários. Um dos detalhes fundamentais à solução do meu problema eu achei em um fórum e a solução final eu achei em um blog. Fico feliz de ver que as pessoas na Internet estão dispostas a ajudar umas as outras e que a solução do problema de uma pessoa serve para outras, a Internet é um ambiente colaborativo. Por isso estou compartilhando aqui o que aconteceu comigo, talvez esse texto, contendo as indicações dos links que eu visitei, possa servir a alguém.\nOutra observação curiosa que eu fiz foi que as ferramentas da Microsoft só conseguiram recuperar a inicialização do Windows depois que o GRUB voltou a funcionar corretamente, com a instalação do Linux; no entanto, a correção do Windows removeu o GRUB do MBR, impedindo o acesso ao Linux (que bela forma de agradecer o favor, né? rsrsrsrs) Na minha opinião, as ferramentas da Microsoft deveriam ser suficientes para recuperar ao menos o Windows. Se as pessoas que não usam Linux passassem por um problema desses (imagine o MBR sendo destruído por um vírus, por exemplo), talvez não conseguissem recuperar o sistema e acabassem formatando.\nFinalmente, algo inusitado foi a remoção do arquivo BOOTMGR da partição do Windows. Nenhuma das páginas que eu consultei me instruiu a excluí-lo (nem eu o fiz, ao menos não que eu soubesse). Isso significa que alguma das ferramentas que eu utilizei para tentar recuperar o Windows acabou excluindo esse arquivo acidentalmente. Ferramentas que resolvem um problema e criam outro não são realmente de grande utilidade…\nE que esse post sirva para refletir sobre o trabalho e a responsabilidade de um técnico: eu ainda sabia o que provocou o erro (até porque fui eu mesmo que causei), mas imagina tentar entender a explicação de um usuário! Vejam também quanta mão-de-obra e quanta paciência requer resolver um problema desses! Como nada é muito bem documentado, eu tive que resolver meu problema na base da tentativa e erro! Muitos “técnicos” simplesmente se limitariam a formatar o computador e obrigar o usuário a reaver (ou refazer, o que seria pior) tudo aquilo que tinha, quando uma solução menos danosa era possível e ele não tentou o bastante!\nUm abraço a todos, e até a próxima aventura deste técnico que vos escreve! E espero que alguém mais entendido possa me esclarecer o motivo da confusão. Não a confusão “do início”, que fui eu que causei, mas a confusão “do meio”, imagino que a solução do meu problema não deveria ter tantos arrodeios, já que a maioria dos usuários relatam que um ou dois comandos deveriam resolver os problemas (podem conferir nos links que eu mencionei ao longo da resolução)\u0026hellip;\n","date":"2012-04-21T05:42:01Z","permalink":"/pt-br/artigo/problemas-envolvendo-bootloaders-mbr-e-tabela-de-parti%C3%A7%C3%B5es/","title":"Problemas envolvendo bootloaders, MBR e tabela de partições"},{"content":"O que fazer com isso depois que não servir mais? Jogar no lixo? Reciclar? Será que dá pra reciclar? Aonde eu devo levar? São algumas das perguntas que nos fazemos quando nossos eletrônicos não servem mais. Pois bem, algo me chamou a atenção quando estive no Shopping Jardins há um tempo foi um banner da Infranet que dizia que eles reciclavam cartuchos de tinta e toners:\n{% include image.html caption=\u0026ldquo;Reciclagem de cartuchos na Infranet\u0026rdquo; src=\u0026quot;/files/2012/04/reciclagem-infranet.jpg\u0026quot; %}\nAbaixo você confere os endereços e os telefones das lojas Infranet em Aracaju (ambas prestam esse serviço).\nUm abraço a todos e até a próxima!\nInfranet Cartuchos\nAv Min Geraldo Barreto Sobral, 215, loja G8 (para facilitar, fica no Shopping Jardins ao lado do GBarbosa)\nBairro Grageru\nAracaju/SE\nTelefone: (79)3217-4119\nInfranet Suprimentos\nAv Desembargador Maynard, 43 (fica na esquina do cruzamento dessa avenida com a Av Hermes Fontes, indo em direção à Av Beira Mar)\nBairro Cirurgia\nAracaju/SE\nTelefone: (79)3222-3310\n","date":"2012-04-15T19:00:07Z","permalink":"/pt-br/artigo/onde-reciclar-cartuchos-de-tinta-em-aracaju/","title":"Onde reciclar cartuchos de tinta em Aracaju"},{"content":"Quem tem consciência e tenta reduzir o problema do lixo eletrônico (que, aliás, no nosso país já é muito grave) não descarta seus aparelhos no lixo comum. O que fazer então com as pilhas, os celulares e as baterias destes quando eles não têm mais utilidade ou não é possível repassá-los a alguém?\nBem, aqui em Aracaju, pelo menos, eu conheço um lugar. Quando estive hoje de manhã no Shopping Riomar descobri que a C\u0026amp;A realiza coleta desses três tipos de lixo eletrônico. A atendente me informou que a C\u0026amp;A do Shopping Jardins também possui um desse:\n{% include image.html caption=\u0026ldquo;Coleta de baterias\u0026rdquo; src=\u0026quot;/files/2012/04/coleta-de-baterias.jpg\u0026quot; %}\nC\u0026amp;A do Shopping Jardins\nAv Ministro Geraldo Barreto Sobral, 215, loja 103\nBairro Jardins\nTelefone: (79) 2106-0000\nC\u0026amp;A do Shopping Riomar\nAv Luiz Lua Gonzaga, 400\nBairro Coroa do Meio\nAracaju/SE\nTelefone: (79) 3231-8166\nVocê sabe de algum outro lugar onde é possível reciclar pilhas, baterias, celulares? Comente! Compartilhe a informação!\n","date":"2012-04-15T18:42:10Z","permalink":"/pt-br/artigo/onde-reciclar-pilhas-baterias-e-celulares-em-aracaju/","title":"Onde reciclar pilhas, baterias e celulares em Aracaju"},{"content":"Segundo o dicionário Michaelis, computar pode significar calcular, avaliar, contar. Os computadores foram criados a princípio para facilitar operações matemáticas, fornecendo os resultados das mesmas com rapidez e precisão.\nForam também as máquinas que mais evoluíram desde a sua criação, adquirindo várias outras utilidades ao longo do seu desenvolvimento. Hoje, os computadores servem não só para realizar cálculos, eles podem fazer quase tudo que se possa imaginar uma máquina fazendo: textos, imagens, vídeos, músicas, jogos, aplicações multimídia, pesquisas, comunicação instantânea com qualquer lugar do mundo a qualquer dia e qualquer hora.\nPode-se definir então computador como uma máquina que trabalha com grande quantidade de informações, capaz de receber, processar, armazenar e transmitir dados.\nNesse post, veremos rapidamente quais são os principais componentes de um computador e como eles são organizados. Esse post é um resumo do primeiro capítulo de um trabalho mais completo, que visa apresentar os componentes do computador, em especial o processador, e que pode ser acessado aqui.\nBreve história do computador pessoal Há muito tempo os computadores eram feitos de grandes empresas para grandes empresas. Eram máquinas enormes, que ocupavam muito espaço (os primeiros ocupavam uma biblioteca inteira), tinham funcionamento complexo e custavam muito caro. Não eram máquinas que podiam ser usadas por qualquer pessoa.\nCom o passar do tempo, os computadores foram se tornando menores, mais baratos e foram surgindo várias facilidades no uso, como o sistema operacional, a interface gráfica e o mouse, que possibilitaram sua popularização, principalmente após a invenção dos primeiros computadores pessoais na década de 70, como o Altair e o Macintosh.\n{% include image.html caption=\u0026ldquo;O Altair 8800, de 1975, foi o primeiro computador pessoal comercializado\u0026rdquo; src=\u0026quot;/files/2012/04/altair-8800-1975.jpg\u0026quot; %}\n{% include image.html caption=\u0026ldquo;O Macintosh (1984) foi o primeiro computador a usar interface gráfica e mouse.\u0026rdquo; src=\u0026quot;/files/2012/04/macintosh-1984.jpg\u0026quot; %}\nNa década de 80, a IBM, que era então a maior empresa de informática e é, ainda hoje, uma das líderes de mercado, lançou seu modelo de computador pessoal, o IBM PC, que até hoje é o padrão dos computadores pessoais, com vários aperfeiçoamentos, é claro. A sigla PC vem do inglês Personal Computer, que significa “Computador Pessoal”.\nEm pouco tempo, o IBM PC se tornou o padrão para a criação de novos computadores pessoais.\nHá muito tempo a IBM já não é mais a única empresa a fabricar PCs. Foram criados padrões para a fabricação de peças para esses computadores, de sorte que hoje qualquer empresa pequena pode desenvolver produtos para PCs ou mesmo fabricar seus próprios computadores.\nDiferentemente do IBM PC, o Macintosh (também chamado por seus usuários de Mac) continuou sendo fabricado e desenvolvido exclusivamente pela sua fabricante, a Apple. Somente ela fabrica hardware e software para esses computadores (ou se alguma outra empresa fabrica, faz isto sobre o controle da Apple). Assim, a Apple desenvolve uma arquitetura “fechada”, pois os usuários de seus computadores só podem comprar os produtos da fabricante e as pessoas não podem montar seus próprios computadores baseados nessa arquitetura.\nFoquemo-nos então nos computadores de arquitetura aberta, que são os mais usados atualmente, baseados no IBM PC. Os componentes básicos e o funcionamento desses computadores já devem ser conhecidos por alguém que está começando a estudar programação. Vamos revisar rapidamente os conceitos essenciais.\nOs componentes básicos de um computador podem ser divididos em dois grandes grupos: hardware e software.\nHardware – os componentes físicos do computador Hardware é um termo em inglês que não tem uma tradução específica, deriva da palavra hard em inglês, que significa duro. É usado para definir todos os componentes físicos (mecânicos, magnéticos e eletrônicos) de um computador, ou seja, a máquina propriamente dita. O hardware de um computador pode ser dividido basicamente em quatro categorias: processador, placa-mãe, memória e dispositivos de entrada e saída.\n{% include image.html caption=\u0026ldquo;Alguns componentes de um computador: Monitor (1), placa-mãe (2), processador (3), memória RAM (4), placas de expansão (5), fonte de alimentação (6), unidade de CD/DVD (7), disco rígido (8), teclado (9) e mouse (10)\u0026rdquo; src=\u0026quot;/files/2012/04/componentes-do-computador.png\u0026quot; %}\nO processador, também chamado de Unidade Central de Processamento (UCP), do inglês Central Processing Unit (CPU), é o principal componente eletrônico de um computador. Ele fica acoplado na placa-mãe e é o responsável pela execução, com auxílio da memória e dos dispositivos de entrada e saída, de todas as operações no computador. Pode ser considerado o “cérebro” do computador.\n{% include image.html caption=\u0026ldquo;Processadores da Intel e da AMD\u0026rdquo; src=\u0026quot;/files/2012/04/processadores.jpg\u0026quot; %}\nA memória do computador é formada por todos os dispositivos que são utilizados para armazenar dados e instruções, seja de forma temporária ou permanente. Pode-se dizer que depois do processador, a parte mais importante de um computador é a sua memória. Há diversos dispositivos submetidos a uma hierarquia formando a memória do computador, mas para se ter uma visão inicial simplificada, é possível dividi-los em dois grandes grupos principais: a memória principal e a memória secundária.\nA memória principal é aquela que é acessada diretamente pelo processador e armazena os dados de forma eletrônica. Apresenta alta velocidade e baixa capacidade de armazenamento. É formada pela memória RAM (do inglês Random Access Memory, que significa “memória de acesso aleatório”), que armazena as informações que são utilizadas no trabalho do processador; e pela memória ROM (Read Only Memory, “memória somente para leitura”), que armazena as instruções de inicialização do computador.\n{% include image.html caption=\u0026ldquo;Pente de memória RAM\u0026rdquo; src=\u0026quot;/files/2012/04/memoria-ram.jpg\u0026quot; %}\nA memória secundária, também chamada memória de massa, apresenta alta capacidade de armazenamento e baixa velocidade. É usada para gravar grande quantidade de dados por um período longo de tempo e não é acessada diretamente pelo processador. Quando necessita de uma informação armazenada nessa memória, o processador a copia anteriormente para a memória principal. São exemplos de memória de massa as unidades de fita, os disquetes, os discos rígidos, os discos óticos (CDs, DVDs e Blu-rays) e os discos removíveis (pendrives, cartões de memória, etc.).\n{% include image.html caption=\u0026lsquo;O que se pensa ser o disco rígido (abaixo) na verdade é uma \u0026ldquo;caixa\u0026rdquo;, dentro da qual está protegido o disco rígido (acima).\u0026rsquo; src=\u0026quot;/files/2012/04/disco-rigido.jpg\u0026quot; %}\nOs dispositivos de entrada e saída (do inglês input/output devices), também chamados de periféricos, permitem a comunicação entre o processador e os demais componentes do computador, assim como entre o computador e o meio externo (entre o computador e seus usuários ou entre o computador e outros computadores). Podem ser considerados os “olhos, ouvidos e boca” do processador. Exemplos de periféricos são o teclado, o mouse, o microfone, a webcam (ou câmera de vídeo), o monitor, a impressora e as caixas de som.\nFinalmente, há a placa-mãe, do inglês motherboard, também chamada mainboard (inglês para “placa principal”), é a principal placa do computador, responsável pela interconexão de todos os dispositivos que o compõem. Se o processador é o “cérebro” do computador, pode-se comparar a placa-mãe a um “sistema nervoso”.\n{% include image.html caption=\u0026ldquo;Uma placa-mãe\u0026rdquo; src=\u0026quot;/files/2012/04/placa-mae.jpg\u0026quot; %}\nSoftware – a inteligência do computador Para que serviriam todos os circuitos eletrônicos de um computador se não fosse possível fazer nada com eles? Se não receber ordem para realizar alguma atividade, o computador não passa de algumas luzes acesas e circuitos pelos quais passam corrente elétrica. A princípio, os componentes eletrônicos do computador eram operados manualmente, o que era extremamente trabalhoso. Depois, criou-se uma forma de instruí-los a realizar determinada tarefa quando esta lhes fosse solicitada, facilitando o manuseio do computador. Eis que surgiu então o software.\nEm contraposição ao hardware, que são os equipamentos, o software, ou programa, é a parte lógica do computador, ou seja, o conjunto de dados e instruções passadas para os componentes físicos de um computador para que ele possa executar determinada tarefa, para a qual o software foi projetado.\nSoftware, assim como hardware, é um termo em inglês que não tem tradução, derivando da palavra soft em inglês, que significa “mole”. Esse termo surgiu na verdade como uma gíria da informática, sendo usado para distinguir os componentes físicos do computador, as “ferragens” nas quais podemos tocar, dos componentes lógicos do computador, os programas, os quais não podem ser tocados.\nA função do software é facilitar a interação dos usuários com os componentes físicos do computador, transformando-o em algo realmente útil. Existe um programa para cada tarefa que se deseja executar utilizando o computador. Para que um computador seja capaz de editar textos, por exemplo, deve possuir um programa editor de textos. Para que ele seja capaz de reproduzir um DVD, deve possuir um programa reprodutor de mídias. Para acessar sites na Internet, é utilizado um navegador, e assim por diante.\nNem todos os programas de computador, no entanto, realizam tarefas específicas. Estes são os chamados aplicativos. Há programas com funções mais gerais.\nHá o software operacional (também chamado de sistema operacional) que é o software responsável por operacionalizar o computador, ou seja, torná-lo operacional. Ele gerencia a comunicação entre todos os seus componentes (entre hardware e software, entre um aplicativo e outro), e entre estes e o usuário, de forma a tornar o computador uma máquina funcional, capaz de “atender ordens”. Ele também dispõe de recursos para tornar mais fácil a comunicação entre o usuário e o computador, como a interface gráfica.\nHá também o BIOS (do inglês Basic Input/Output System, sistema básico de entrada e saída), que é o primeiro programa a ser executado quando o computador é ligado. Ele reconhece os componentes de hardware instalados, verifica se todos estão funcionando e passa o comando do computador ao sistema operacional, provendo a este informações sobre o hardware da máquina.\nPodemos então classificar o software de um computador em dois grupos, diferentes entre si quanto à importância que eles possuem para o funcionamento da máquina e a sua utilidade: básicos e aplicativos.\nOs softwares básicos de um computador são aqueles essenciais ao seu funcionamento, como o sistema operacional, o BIOS e os programas fornecidos pelo fabricante junto com a máquina. Já os softwares aplicativos, ou simplesmente aplicativos, são desenvolvidos para auxiliar o usuário na execução de alguma tarefa ou na obtenção da solução para algum problema, ou seja, são softwares desenvolvidos para uma aplicação específica. Quase todos os programas que não são softwares básicos são softwares aplicativos.\n{% capture mensagem_novo_post %}Agora que você já conhece os componentes básicos dos computadores, que tal aprender como escolher um bom computador para comprar?{% endcapture %} {% include update.html date=\u0026ldquo;27/11/2015\u0026rdquo; message=mensagem_novo_post %}\nReferências Como esse post é uma parte (na verdade, o resumo de uma parte) da minha pesquisa científica sobre processadores, pode-se dizer que utiliza as mesmas referências dela. Em especial, posso citar esses livros:\nMONTEIRO, Mário A. Introdução à Organização de Computadores. 4ª Edição. Rio de Janeiro: LTC Editora, 2001.\nMORIMOTO, Carlos E. Manual de Hardware Completo. 3ª Edição. Junho de 2002. Disponível na Internet em: http://www.hardware.com.br/livros/hardware-manual/. Acessado em: 09/04/2012.\nVASCONCELOS, Laércio. Hardware Total. 1ª Edição. Editora Makron Books, 2002.\nE também essas páginas da Internet:\nProcessadores: clock, bits, memória cache e múltiplos núcleos (Parte 1)\nMicroinformática – Hardware – Processador\nMicroinformática – Hardware – Memória\nMicroinformática – Hardware – Dispositivos de entrada e/ou saída\nIniciação à Informática (Disciplina de Informática Médica – FMUSP)\n","date":"2012-04-09T16:44:39Z","permalink":"/pt-br/artigo/componentes-de-um-computador-hardware-e-software/","title":"Componentes de um computador: hardware e software"},{"content":"{% capture revisao_links_quebrados %}\nO site passou por uma revisão de links quebrados. Alguns links nessa publicação podem ter sido removidos ou atualizados.\n{% endcapture %}\n{% include update.html date=\u0026ldquo;02/08/2023\u0026rdquo; message=revisao_links_quebrados %}\nEstava apenas aguardando uma oportunidade de divulgar a pesquisa científica que desenvolvi no IFS no período de 2007 a 2009, e penso que a hora é agora (com a prova de Arquitetura de Computadores I chegando aí, hein?), então disponibilizei o trabalho no Scribd e estou aqui para falar um pouco mais sobre ele. O resumo do trabalho diz o seguinte:\nEste trabalho apresenta os processadores para computadores pessoais baseados no IBM PC, seus componentes, seu funcionamento, suas características e sua evolução. O trabalho apresentado tem como objetivo principal auxiliar a compreensão do funcionamento dos componentes do computador, em especial do processador, e esclarecer as diferenças entre as tecnologias que se encontram hoje disponíveis no mercado. São colocadas considerações referentes às características, inovações e funcionamento dos processadores, de modo que seja possível compará-los em termos de avanço tecnológico, desempenho e custo-benefício.\nResumindo ainda mais, o trabalho apresenta os processadores da Intel fabricados para a arquitetura IBM PC. Muitas explicações que servem para essa arquitetura servem também para outras, de maneira geral. Para ler o trabalho completo, clique no link a seguir (também é possível baixar o arquivo em PDF na página do Scribd). Para mais informações sobre o trabalho, continue lendo.\nComo surgiu Em 2007, quando cursava o 1º ano do ensino integrado (ensino médio junto com ensino técnico) de Informática do IFS (Instituto Federal de Educação, Ciência e Tecnologia de Sergipe) fui selecionado juntamente com uma colega para receber uma bolsa de pesquisa do PBICJr (Programa de Bolsas de Iniciação Científica Júnior) pela FAPITEC/SE.\nO objetivo do projeto proposto pelo nosso professor era pesquisar informações sobre os diversos componentes que formam o computador (processador, placa-mãe, memória, placas de expansão, etc.) e sua evolução (os diversos modelos de processadores que foram lançados, suas características e inovações, por exemplo). Idealizava-se construir um site reunindo as informações obtidas, e nesse site seria possível realizar comparações entre os vários modelos listados. Por isso, o projeto se chamava “Museu Web de Tecnologia”.\nA pesquisa teve início pelos processadores. Eu e minha colega pesquisamos inicialmente os componentes que formam o computador, os componentes e o funcionamento geral dos processadores, e em seguida tentamos enumerar os diversos modelos de processadores lançados ao longo do tempo. Minha pesquisa se concentrou nos processadores lançados pela Intel, e a dela, nos processadores da AMD.\nO site não foi construído e o projeto não chegou a ter divulgação fora da instituição de ensino, no entanto eu guardei o último relatório que enviei à FAPITEC/SE e no momento estou disponibilizando-o no meu site, como amostra de um dos trabalhos científicos que já fiz. A data de conclusão consta como 2009 porque a pesquisa foi interrompida por um tempo por falta de verba do CNPq, que era o órgão fomentador da bolsa. Pelo edital, o projeto deveria durar apenas 1 ano.\nPrimeiro trabalho Vale observar que como se tratava de um programa de iniciação científica júnior, a correção do trabalho não foi tão criteriosa. Apesar de apresentar uma formatação formal, esse trabalho não segue as normas da ABNT.\nPrincipais referências Os principais livros utilizados nessa pesquisa foram:\nMONTEIRO, Mário A. Introdução à Organização de Computadores. 4ªEdição. Rio de Janeiro: LTC Editora, 2001.\nMORIMOTO, Carlos E. Manual de Hardware Completo. 3ª Edição. Junho de 2002. Disponível na Internet em: http://www.hardware.com.br/livros/hardware-manual/. Acessado em: 08/04/2012.\nTORRES, Gabriel. HARDWARE Curso Completo. 4ª Edição. Editora AxcelBooks, 2001.\nVASCONCELOS, Laércio. Hardware Total. 1ª Edição. Editora Makron Books,2002.\nOs sites Hardware.com.br (na época, Guia do Hardware, do escritor Carlos Morimoto), Clube do Hardware (do escritor Gabriel Torres) e InfoWester também foram bastante citados nas referências.\n","date":"2012-04-08T16:47:21Z","permalink":"/pt-br/artigo/minha-pesquisa-cient%C3%ADfica-sobre-processadores/","title":"Minha pesquisa científica sobre processadores"},{"content":"Hoje venho ressucitar um post de um dos meus blogs (quem me conhece há algum tempo sabe que já tive alguns, todos eles estão desatualizados hoje), que acho que merece ser relembrado (da série old but gold). Esse trabalho eu fiz seguindo quase todas essas normas (a Instituição de ensino pode definir suas próprias, e você deve seguir). Vale observar também que (ouvi dizer) as normas da ABNT foram atualizadas. Assim que eu tiver o link para as novas normas eu atualizo esse post. Segue o post antigo na íntegra.\nFinal de ano, final de curso\u0026hellip; quem faz curso técnico ou faculdade sabe muito bem o que isso significa: Trabalho de Conclusão de Curso! Eu mesmo estou desenvolvendo um, que vocês podem conhecer nesse site. Uma das observações feitas pelo professor orientador sobre ele foi que a formatação do trabalho não estava de acordo com as normas da ABNT – Associação Brasileira de Normas Técnicas. Foi então que tive que pesquisar na Internet sobre essas normas e venho através desse post compartilhar com vocês o que eu achei.\nOs padrões para trabalhos acadêmicos produzidos no Brasil são regidos pelas seguintes normas da ABNT (se você clicar em um dos links abaixo, será aberta a respectiva norma em uma nova janela):\n{% include image.html caption=\u0026ldquo;ABNT – Associação Brasileira de Normas Técnicas\u0026rdquo; src=\u0026quot;/files/2012/04/abnt2.jpg\u0026quot; %}\nABNT NBR 6023:2002 – Informação e documentação – Referências – Elaboração\nABNT NBR 6024:2003 – Informação e documentação – Numeração progressiva das seções de um documento escrito – Apresentação\nABNT NBR 6027:2003 – Informação e documentação – Sumário – Apresentação\nABNT NBR 6028:2003 – Informação e documentação – Resumo – Apresentação\nABNT NBR 6034:2004 – Informação e documentação – Índice Apresentação\nABNT NBR 10520:2002 – Informação e documentação – Citações em documentos – Apresentação\nABNT NBR 12225:2004 – Informação e documentação – Lombada – Apresentação\nABNT NBR 14724:2005 – Informação e documentação – Trabalhos acadêmicos – Apresentação\nDessas, a mais importante é a última, que engloba normas de formatação para todo o trabalho, mas faz referências constatemente às outras.\nA Internet está recheada de páginas detalhando os padrões determinados pelas normas ABNT. É bem mais prático buscar a informação destrinchada do que ler diretamente todas as normas. Dois textos que considero muito bons nesse sentido são:\nManual para Elaboração Trabalhos Acadêmicos Conforme a NBR 14724:2005, do SENAC/RS; e\nNormas para Referências, Citações e Notas de Rodapé (NBR 6023/NBR 10520 – 2002), da Unit.\nPorém, a melhor opção é procurar no site da própria Instituição de ensino pelas normas exigidas. Muitas vez elas fornecem até os padrões de capa, contra-capa e folha de aprovação já preenchidos.\nUm abraço a todos e boa sorte nos seus trabalhos de conclusão de curso! Até a próxima!\n","date":"2012-04-08T16:33:07Z","permalink":"/pt-br/artigo/normas-abnt-para-trabalhos-acad%C3%AAmicos/","title":"Normas ABNT para trabalhos acadêmicos"},{"content":"Olá, pessoal! É com muito prazer que inauguro esse blog. Espero aqui compartilhar com vocês um pouco do que estudo, um pouco do que faço, um pouco do que acho interessante na Internet, sem muito compromisso em escrever muito elaborado, como faço nos meus artigos e dicas do Viva o Linux, assim posso postar com mais frequência.\nE estou inaugurando o blog em uma data oportuna: 1º de abril, o famoso dia da mentira. Não vou entrar na onda de inventar uma mentirinha, mas já venho então compartilhar com vocês algumas histórias de 1º de abril que achei interessantes.\n{% include image.html caption=\u0026ldquo;1º de abril: dia da mentira\u0026rdquo; src=\u0026quot;/files/2012/04/dia-da-mentira.jpg\u0026quot; %}\nNo primeiro lugar da minha lista está o Google: já virou tradição na empresa divulgar tecnologias mirabolantes todo ano dia 1º de abril. Hoje mesmo o dia começou com o Google anunciando um Google Maps para o Nintendinho de 8 bits, mas se for verdade mesmo o que anuncia a Wikipedia, só hoje já foram 16 piadas. Não quis me dar o trabalho de listá-los, pois esse site já tem uma lista bem completa, que eles estão atualizando desde ontem, aliás (eles levam 1º de abril tão a sério que a piada do Google Maps saiu na verdade ontem, podem conferir a data do vídeo).\n{% youtube rznYifPHxDg %}\nVale à pena relembrar algumas das pegadinhas do Google no 1º de abril. Ano passado mesmo eu morri de rir com o GMail Motion (se vocês quiserem ver mais, o site ainda está no ar):\n{% youtube Bu927_ul_X0 %}\nO pior é que isso acabou virando realidade nas mãos de um nerd que decidiu pôr em prática o GMail Motion usando um Kinect:\n{% youtube Lfso7_i9Ko8 %}\nTambém foi bastante engraçada a história que o Google estava à procura de pessoas para trabalhar no recurso de autocompleção (imagina se aquilas sugestões todas que aparece quando você digita são informadas manualmente!), a empresa já até mudou de nome por um dia e até a INFO já quis entrar na onda anunciando que o Orkut tinha sido vendido para o Facebook!\n{% youtube blB_X38YSxQ %}\nOutro caso que eu particulamente achei interessante é o jornal britânico The Guardian: eles possuem um suposto jornalista que só posta 1º de abril. Todos os anos nessa data há uma notícia dele, mas vale observar: ele só aparece nessa data! Em 2009, esse jornalista anunciou que após 188 anos de jornal impresso, o The Guardian passaria a publicar notícias apenas pelo Twitter. Vale enfatizar: apenas pelo Twitter, sem link nenhum para ler mais. Segundo a notícia, “especialistas dizem que qualquer história pode ser contada em 140 caracteres”.\nAlgumas das pegadinhas do ano passado podem ser encontradas nessa notícia do G1.\nBem, vou ficando por aqui. Quem me conhece pessoalmente sabe que eu sou um tagarela mesmo, não tem jeito. Levei 26 minutos pra redigir isso (ainda vou reduzir essa marca!), fora o tempo necessário para reunir os links. Abraço a todos e até a próxima! Se gostaram, curtam, compartilhem, comentem!\nEDIÇÃO Bom, não sei quantas pessoas já leram, mas eu ia esquecendo de compartilhar um link interessante que eu achei: como provavelmente a data 1º de abril se tornou o dia da mentira. Adicionei também os vídeos ao post, ao invés de deixar só os links para as notícias.\n","date":"2012-04-01T15:09:58Z","permalink":"/pt-br/artigo/primeiros-de-abril-interessantes/","title":"Primeiros de abril interessantes"}]