
Transcrição:
Trabalhando…
Conversando…
Se divertindo…
ZZZZZZZZ
Uma das melhores coisas do Windows 10 é a possibilidade de instalar um subsistema Linux nele. Com isso, você pode montar o seu servidor Apache direto nesse subsistema, deixando o ambiente local muito mais similar a onde você vai efetivamente publicar, e com muito mais performance e liberdade do que os AMPs disponíveis para o Windows (Xamp, Wamp, Mamp).
Primeiro certifique-se que está usando a versão mais recente do Windows 10. Apesar do susbsistema Linux estar disponível há alguns anos, é interessante manter sempre sua máquina atualizada.
Clique em iniciar e digite Ativar ou Desativar Recursos do Windows, ou acesse a partir do Painel de Controle Clássico.
Ao abrir, desça a barra de rolagem até encontrar a opção Subsistema Linux para Windows. Ative a caixa e pressione em OK.
O Windows pedirá para reiniciar o sistema e fará alguns ajustes, para então permitir que você possa instalar uma distribuição Linux.
Uma vez reiniciado, você já pode fazer a instalação da distribuição. Para isso abra Microsoft Store. Na guia Pesquisar, pesquise por Linux. Uma grande opção contendo várias distribuições será mostrada a você.
Escolha a distribuição que melhor funcionar para você. Nesta demonstração iremos usar o Ubuntu, mas se você preferir uma distribuição baseada em outra distro, fique à vontade. Porém a integração do Ubuntu com o Windows é trabalhada em conjunto entre a Microsoft e a própria Canonical, o que deve garantir, teoricamente, uma integração melhor.
Para você trabalhar com o Subsistema Linux, você pode usar o próprio Prompt de Comando, ou o Power Shell, porém, a Microsoft lançou recentemente um Terminal para o Windows. Esse novo Terminal pode ser baixado diretamente pela Microsoft Store e é altamente recomendável seu uso, pois ele traz muitas melhorias para a usabilidade do WSL (Windows Subsystem Linux).
Para finalizar a instalação, simplesmente abra o Terminal e digite: ubuntu (ou o nome da distribuição que você escolheu) e aguarde a instalação. Ele pedirá para você criar uma conta de administrador e a senha.
Após instalar, se você fechar e abrir o Terminal, notará que apareceu mais uma opção para nova aba. Caso você prefira, você pode editar, em Settings, para que o Ubuntu seja o padrão, simplesmente alterando a configuração em seu json. Porém, se preferir, você também pode abrir o Ubuntu simplesmente digitando pelo OS a partir da barra de pesquisas, mas nesse caso ele abrirá o terminal dentro do console padrão do Windows.
A partir daqui não é diferente de instalar em um Ubuntu completo, porém, como a maioria dos usuários de Windows não possui familiaridade com os sistemas baseados em Linux, vamos detalhar passo a passo.
Obs: Se você quiser copiar o código aqui digitado, você pode digitar ctrl+c aqui e, no terminal, apenas clicar com o botão direito (esta ação será equivalente ao ctrl+v).
Antes de tudo, vamos dar um update para preparar o ambiente.
Para instalar o servidor do Apache, e verificar se a instalação está correta, simplesmente use os comandos abaixo, no Terminal:
Ao iniciar o apache, é possível que você receba a seguinte mensagem:
Windows TerminalProtocol not available: AH00076: Failed to enable APR_TCP_DEFER_ACCEPT
Não se preocupe com esse problema. Simplesmente esse protocolo ainda não está nativamente implementado no WSL. Você pode apenas ignorar ou adicionar as seguintes linhas no arquivo /etc/apache2/apache2.conf :
AcceptFilter https none
AcceptFilter http none
Instalaremos o PHP 7.4 (então versão mais atual na última atualização deste post), mas você pode utilizar qualquer tutorial para Ubuntu para outras versões, ou simplesmente trocar os caminhos aqui associados. Atualizaremos este post conforme forem surgindo novas atualizações. Digite Y (yes) para tudo o que for perguntado.
Instlamos, assim, o cliente e os pacotes mais utilizados, mas você pode, futuramente, instalar pacotes adicionais para funções específicas. A terceira linha apenas verifica a versão do PHP instalada, para checar se está tudo correto.
Por último vamos instalar o MySQL. Você pode trabalhar com outros bancos de dados se quiser, basta, como dito anteriormente, usar qualquer tutorial para Ubuntu (ou a distro que você escolheu), pois, relembrando, o WSL é realmente um subsistema Linux instalado e integrado ao Windows. Ele não é uma máquina virtual ou emulação. Lembre-se de pressionar o Y, quando perguntado.
Caso perguntado, você pode ou não definir uma senha para o root do MySQL. Como você está em um ambiente de desenvolvimento, isso não é importante por hora. Mas lembre-se que em ambientes de produção uma senha forte deve ser usada.
Para você poder gerenciar todos os bancos e não ter que criar um usuário para cada um, você pode criar um usuário administrador e facilitar seu trabalho. Use o código abaixo para acessar o cliente mysql. Use a senha criada anteriormente.
Agora, use o código abaixo para criar o usuário administrador e você poder trabalhar de forma universal.
Digite \q para sair do cliente.
Você pode usar algum cliente externo para administrar o MySQL, mas a opção mais comum usada é instalar o PHPMyAdmin. Simplesmente utilize o seguinte comando:
Obs. A instalação irá perguntar se deseja instalar apache ou nginx, neste caso marque apache. Para marcar pressione espaço, se não fizer isso ele não instalará corretamente e você precisará rodar a instalação novamente.
Durante a instalação, você será questionado para criar uma senha para o PHPMyAdmin, caso deseje.
Uma vez que já instalamos e já inicializamos, podemos testar simplesmente acessando http://localhost. Para o PHPMyAdmin, use http://localhost/phpmyadmin
Para entrar no PHPMyAdmin, utilize o usuário e senha criado acima, com os privilégios:
Para poder funcionar corretamente certas opções, como o habilitar .htaccess, habilitar ou desabilitar determinados módulos, configurar max_*, etc., é ideal que você configure o Apache Virtual Hosts.
Feito isso, você pode configurar o VirtualHost para diversos sites, portas, ou simplesmente especificando configurações específicas para cada site / sistema em que você está trabalhando.
O arquivo de configuração gerado, fica em: /etc/apache2/sites-available/000-default.conf
Você pode iniciar o apache e o mysql a qualquer momento, simplesmente abrindo o Windows Terminal, no Ubuntu (ou direto pelo app Ubuntu) e colocando:
A pasta padrão dos arquivos do Apache é:
/var/www/html
Para você abrir a pasta no Windows Explorer e você ver o os arquivos, digite no Terminal:
Recomendo que, para você poder operar sem problemas, no Windows, você execute, para dar permissão total:
Dependendo do que você estiver programando, pode ser necessário você utilizar uma conexão SSL. Isso geralmente é necessário em testes que irão alimentar diversas APIs ou até para utilizar alguns recursos do HTML5.
O Ubuntu já possui o openssl instalado nativamente no sistema. Então, basta você colocar:
Enquanto você estiver criando o certificado, ele irá fazer algumas perguntas de identificação. Como é algo que vai ser usado localmente, essas informações não precisam ser reais ou fidedignas, basta responder. A ordem é:
Isso vai ser suficiente para criar um certificado auto-assinado, que vai funcionar localmente.
Agora vamos nas configurações do Virtual Hosts do Apache, para SSL.
Dentro do arquivo, cole o seguinte texto (é uma configuração genérica, mas suficiente para nosso caso):
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
# Disable preloading HSTS for now. You can use the commented out header line that includes
# the "preload" directive if you understand the implications.
# Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
# Requires Apache >= 2.4.11
SSLSessionTickets Off
Obs. Digite CTRL+X, seguido de Y, seguido de ENTER, para fechar o nano, salvando.
Agora vamos editar a configuração do SSL.
Com o arquivo aberto, você vai substituir os parâmetros abaixo, de acordo com o demonstrado na lista:
ServerAdmin webmaster@localhost.com
ServerName localhost
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
Por fim, basta colocar no terminal, para ativar o ssl no Apache:
Se estiver tudo configurado corretamente, ele vai responder SINTAX OK.
Antes de recarregar o Apache, teremos que liberar a pasta onde salvamos o certificado. Vamos liberar para 777, para facilitar, apenas porque estamos em ambiente de desenvolvimento. JAMAIS FAÇA ISSO EM AMBIENTE DE PRODUÇÃO.
Por fim, precisamos adicionar o SSL como confiável no Windows. Caso contrário, ao entrar em https://localhost, você vai receber aquela clássica tela de certificado não confiável.
Agora vá até a pasta onde você baixou o certificado e abra a pasta no explorer. Procure pelo arquivo do certificado apache-selfsigned.crt. Clique duas vezes nele para instalar no Windows.
Ao abrir o certificado, clique no botão Instalar Certificado
Simplesmente siga os passos para a instalação do certificado
Na área de Importação, selecione para colocar no repositório de Autoridades de Certificações Confiáveis, como nas imagens abaixo.
Você vai precisar confirmar a instalação do certificado. Marque Sim.
Agora é só acessar o localhost com https e ser feliz!
Foi apresentado nesta segunda-feira (06/05), através do canal oficial Windows Developer, um novo terminal para o Windows 10. O objetivo é melhorar a produtividade em relação à soluções como Prompt de Comando, PowerShell e WSL (porém integrado entre estes).
O novo Windows Terminal poderá ser baixado e atualizado direto pela Microsoft Store, no Windows 10, não estando diretamente ligado ao Windows Update.
Similar aos terminais que vemos em Unix e Linux, o Windows Terminal trará suporte a múltiplas abas e podem ser integradas tanto aos comandos nativos do Windows como às soluções de subsistemas que já estão disponíveis na loja (WSL).
O Windows Terminal será acelerado por GPU a partir do sistema de renderização do DirectX, com um objetivo de criar uma qualidade na tipografia superior ao atual comportamento do ClearType. Com isso, também será possível incluir diferentes tipos de símbolos e glifos, tal como emojis; o que nos leva a crer que a Microsoft pretende mudar seu padrão de ISO para Unicode. Ainda, este terminal trará uma nova fonte, de código aberto.
O novo Windows Terminal quer entregar uma quantidade muito alta de personalizações e ferramentas, além de poder ser criado múltiplos perfis, para facilitar o uso. O mais interessante na verdade é que todo Windows Terminal está disponibilizado em código aberto no Github.
https://github.com/Microsoft/Terminal
A versão preview do Windows Terminal ficará disponível pela Windows Store durante o inverno brasileiro, deste ano. Sua versão 1.0 está programada para ser lançada no verão brasileiro, mas com possibilidades de ter seu lançamento adiantado.
Mais informações sobre ele, você pode encontrar no devblogs, da Microsoft:
https://devblogs.microsoft.com/commandline/introducing-windows-terminal/
Nesta quarta-feira, 13 de Junho, foi realizado um commit no projeto oficial do PHP da Zend. Esse commit, entretanto, tinha algo curioso; comentava sobre a descontinuação dos operadores de comparação == (igual) e != (diferente) a partir da versão 7.3 Alpha 1.
Nas mídias sociais alguns profissionais começaram a se perguntar se poderia ser algum tipo de brincadeira ou uma informação real. Nos comentários do projeto oficial do Github, o tópico foi bloqueado e afirmado que não há planos para realizar essa descontinuação tão cedo. A mudança, apesar de estar no Github oficial, parece ser apenas uma brincadeira dos desenvolvedores.
Você sabia que dá para comparar duas strings no PHP sem o uso do operador? Para isso, basta usar a função strcmp(). Curiosamente, ela vai retornar 0 quando as Strings forem iguais e 1 quando forem diferentes.
<?php $a = "Mario"; $b = "Luigi"; echo strcmp($a, $b); //retorna 1 ?>
Obs. Este artigo foi originalmente escrito no começo de 2014. Foi atualizado recentemente para a realidade de 2017.
Programador é o profissional responsável por resolver, replicar ou adequar soluções de software a fim de que um computador ou equipamento eletrônico com micro-controladores, execute uma tarefa.
O principal custo do programador é, sem dúvida, em educação. Porém, ainda sim, é bem variável, pois baseia-se nas tecnologias que este deseja se especializar.
O lado positivo é que muitas ferramentas para programadores são gratuitas, como o Brackets, Notepad++, assim como muitas linguagens, como o PHP, Java, C e outras.
Desenvolvedores precisam investir muito, muito mesmo, em livros e livros de tecnologia não são nada baratos. Dificilmente é possível encontrar um livro intermediário por menos de 200 reais 250 reais.
Faculdades são um problema à parte. Apesar de várias faculdades de tecnologia aparecerem no país, a maioria focada em desenvolvimento não estão preparadas para preparar um aluno ao mercado de trabalho. Na própria faculdade, muitas vezes, possuem definições distorcidas de lógica e metodologias que não se adequam àqueles que já possuem intimidade com o computador, além de simplesmente ignorar assuntos como história e sociedade. Isso obriga a, mesmo os formados, procurarem especializações mais específicas para suas áreas, o que não é um negócio muito barato. Como é muito comum professores darem preferência a uma linguagem específica ao invés da lógica como um todo, muitos alunos, para conhecerem outras tecnologias, alternativas e métodos, precisam investir em cursos de especialização.
Boas faculdades particulares de tecnologia tem seu custo médio variável entre 300 a 1500 reais 750 a 2000 reais por mês. Sendo que cursos de especialização ou específicos, tem seu custo em média de 900 a 3 mil reais por curso, podendo ter alguns mais baratos se vinculados a cursos de extensão de faculdades (principalmente as públicas). Algumas palestras e workshops, com pessoas importantes na área, podem também chegar ao valor equivalente a um curso.
A certificação é uma prova, muitas vezes mais importante do que um diploma, de que o desenvolvedor tem domínio em uma determinada área ou ferramenta. Geralmente atrelado a uma tecnologia/linguagem específica, a certificação é bem aceita no mercado de trabalho e envolve testes realmente difíceis para passar. As certificações podem variar de 800 a 30 mil reais 1500 a 40 mil reais, dependendo da área escolhida e se esta virá ou não acompanhada de um curso. Geralmente, quando se falha na prova, é necessário pagar novamente para uma segunda tentativa.
A potência da máquina do programador varia da linguagem em que ele desenvolve e o objetivo de sua aplicação. Se ele optar por se especializar em PHP ou ASP, certamente ele não precisará de um computador que seja tão rápido. Entretanto, se ele trabalhar com Java, por exemplo, ele precisará ter um computador com pelo menos 4GB 8GB de RAM (pois é… Java tá pesado). Já aqueles que trabalham com desenvolvimento de jogos ou de aplicativos pesados que exijam opções gráficas, simulação ou alta precisão, precisarão de um computador realmente caro, na faixa dos 8 a 15 mil reais 10 a 21 mil, que possui uma configuração mais robusta. Se ele trabalhar com servidores, além de ter que ter mais de um, ele gastará uma quantia considerável para estudos e testes destes.
Grande parte de soluções e pesquisas podem ser encontradas na internet. O que exige que o programador tenha uma conexão realmente rápida. Hoje em dia, um profissional de TI precisa de uma conexão de pelo menos 20Mbps, o que gera um custo bem maior em comparação a quem tem uma internet comum em casa, e isso pode variar de região do país. Os que trabalham com gerenciamento de servidores a distância gastam muito mais, pois precisam de uma conexão ainda mais rápida para configurar e operar os mesmos sem perda de tempo ou informação. Ligações constantes para dar assistência a programadores e operadores também é comum, o que faz ter um alto custo com telefonia celular e fixa.
É difícil prever os custos exatos para comunicação. Os preços mudam muito de uma região do país para outras. Até mesmo de bairro para bairro o preço e velocidade máxima de conexão é absurdamente diferente.
Como todo o profissional, o programador precisa estar atualizado com as últimas novidades de sua área. Precisa participar de eventos e promover encontros com outros desenvolvedores para criar melhores ações e estratégias para resolver seus problemas.
Porém eventos custam dinheiro principalmente para quem não mora no eixo sul do país, onde estão concentrados a maioria dos encontros. O problema é que, muitas vezes, não são as empresas que enviam os funcionários. Os programadores precisam pedir licença e custear do próprio bolso.
Na melhor das hipóteses, o custo para uma viagem não é menor que 2 mil reais (caso você seja alguém bem econômico e não se importe em dormir em albergues ou Airbnb), se for para uma cidade próxima. Caso seja internacional, prepare-se para um custo na faixa dos 12 mil reais.
Isso varia muito, de acordo com a região do país e de empresa para empresa. A média é que um desenvolvedor ganhe entre 3 mil e 30 mil reais, dependendo de sua função, para mais. Estudantes e programadores Jr, ganham em média de 1500 a 2500 reais (isso não mudou muito de 2013 pra cá).
O problema é que as empresas não estão dispostas a pagar corretamente por seus programadores ou ainda dão condições de trabalho que não correspondem com a área, como computadores ruins ou obrigatoriedade de uniformes e falta de flexibilidade no horário.
Por outro lado, alguns profissionais trabalham como autônomos dando consultorias para empresas. Entretanto, esses profissionais precisam ter uma certa “fama” em seu seguimento. Alguns cobram até 60 mil reais por consultoria de 15 dias. Mas isso não quer dizer que são bons. Muitos programadores famosos são péssimos profissionais, mas vivem de sua fama, cobrando valores absurdos e apresentando soluções não eficientes (ou nenhuma) e mal se entrosam no projeto. Porém essa é uma questão mais ética.
O Programador, ao contrário do que possa parecer, não é um profissional de glória. Diferente do que fez parecer, a partir dos anos 90, raramente pessoas de talento e estudo conseguem receber um valor justo por seu trabalho. Geralmente, os “mestres de cerimônia”, que só tem fama e fazem parecer trabalhar, acabam sendo mais valorizados por causa de seu carisma.
Programador de verdade está sempre trabalhando, sempre estudando, sempre se esforçando. Sempre interessado em evoluir e melhorar os seus projetos. Para um programador legítimo, um projeto quase nunca está perfeito. Mas é sempre incrivelmente gratificante depois de passar horas tentando fazer algo complicado, finalmente conseguir. É uma sensação extasiante e inexplicável.