Postagens

Mostrando postagens de 2017

Sobre aquela de padrões vs flexibilidade

Imagem
Uau, eu acabei de notar que eu perdi o prazo pra entregar-lhes uma nova postagem no blog. Mas é que as festas de fim de ano... tá! Não tem desculpa, eu vacilei... Mas eu tenho estudado e pesquisado sobre aquela coisa de padronização do ambiente de desenvolvimento que eu falei no último post. Eu não fui o primeiro a questionar a padronização vs flexibilidade. Na verdade eu encontrei uma discussão muito boa (em inglês) aqui no StackOverflow . Claro né ;p. Há muitas opiniões interessantes como os... Contras: Padronização que burocratiza demais as coisas. Por isso a gente vê softwares de governo que ainda estão na versão 6 do IE. É.. é basicamente isso mesmo, engessar o ambiente de desenvolvimento de forma que incluir novas tecnologias se torna uma pain in the ass . Porém isso afeta mais empresas que não possuem um foco no desenvolvimento, que faz várias aplicações diferentes. Quando não existe padrão algum entre as aplicações, todo dia é uma novidade. Nesse caso o foco é dentr...

Reflexões sobre o processo de desenvolvimento

Imagem
Como padronizar o ambiente de desenvolvimento para atingir o máximo de produtividade? Comecei com essa pergunta em mente ao escrever esse texto. De onde vejo, padronização de processos, sejam de desenvolvimento de software ou de qualquer outra atividade tem como principal propósito permitir que os envolvidos foquem absolutamente no resultado do trabalho. Na desempenho e utilidade do produto final. Para mim, qualquer tecnologia, digital ou não, deve melhorar a vida, nunca ficar no caminho. Tecnologia deve tornar a vida mais fácil, ela nunca deve ser um obstáculo no processo, qualquer que seja sua natureza. Engraçado é que isso também se aplica ao desenvolvimento de tecnologia em si, como a tecnologia atual pode abrir caminho para uma tecnologia melhor. Mas rapidamente me vem a mente a seguinte questão: como garantir que um ambiente de desenvolvimento projetado para abrir caminho para criatividade e produtividade não se torne exatamente o oposto do seu propósito, ou seja, in...

Wagtail CMS para construção de sites - Apresentação

Imagem
O Wagtail é um CMS (Content Managment System) ou seja, um sistema de gerenciamento de conteúdo, porém, baseado em Django! Yes. Python! <3 O que não é Primeiramente, um pouco de contexto. O Wagtail não é como o Wordpress, ele se comporto muito mais como uma framework, como se fosse um superset de Django focado em CMS. Em outras palavras, é como se Django fosse um lego e o Wagtail já junta algumas peças, que você combina pra formar estruturas maiores ainda. Então, não espere instalar o Wagtail no seu projeto Python e ter um site rodando. Você antes de tudo vai precisar criar pelo menos um app (no modelo do django) e dentro de seu models, criar uma classe e dar vida à uma página. Para entender melhor porque funciona assim, vamos falar sobre o Zen do Wagtail. O Zen do Wagtail Se você nunca ouviu falar, comece com o Zen do Python . Da mesma forma, o Wagtail tem princípios de desenvolvimento para quem usa, como para quem trabalha no código fonte, de maneira simples e resu...

Recomeçando minha vida e ressucitando esse blog.

Imagem
Eu estava cheio de planos para esse vlog e para minha vida. E estava trabalhando duro, pra fazer tudo dar certo. Tava tudo planejando a nível de segundos do relógio. Mas, infelizmente eu descobri que não sou um máquina e tive que criar um hiato abrupto, tanto no blog como na minha vida acadêmica. Tive que recomeçar tudo, quase larguei meu estágio, parei universidade, me isolei por muito para lidar com sérios problemas de saúde oriundos dessa exigência extrema que fiz ao meu corpo. Isso era: Não dormir, trabalhar 60+ horas semanais, não praticar atividades, não dar espaço as emoções e péssima alimentação. Sem perceber ao longo de anos desenvolvi insônia. Isso resultou em depressão e outros problemas psicológicos. Meu rendimento no geral começou a cair e a insatisfação com a vida saiu da orbita como um foguete. E foi uma bola de neve, quanto pior eu ficava, menos eu produzia, quando menos eu produzia pior eu ficava. Ajuda de família e amigos foi decisivo. Isso aqui é um resumo ...

Mysql syntax error: Quando há traço no nome

Hoje eu descobri que não é legal utilizar traços no nome da base de dados no Mysql. Isso gera alguns erros de sintaxe, que você escapar utilizando crases. mysql> drop database `nome-banco`; Da próxima vez, utilizarei underline. :)

Uma série sobre Python - Ambiente de desenvolvimento

Imagem
Esse post não estava nos planos, mas se fez relevante e na verdade é bem objetivo. No meu trabalho eu utilizo Ubuntu e nosso ambiente de desenvolvimento consiste em uma máquina vagrant e dentro dela um virtualenv com o código. A minha IDE é o PyCharm <3, que se conecta e identifica o ambiente de desenvolvimento dentro da máquina virtual. Já em casa, como eu gosto de jogar... utilizo o Windows 10. Mas enquanto levantava meu ambiente de desenvolvimento encontrei uma série de problemas com o Vagrant e o Virtualbox. Que já resolvi mas acabei pensando, "Porque não levantar tudo no windows?" A maneira fácil - em 3 passos Eu recomendo para iniciantes ou pra quem tá com pressa pra já chegar e desenvolver. E é minha configuração atual. Instale o Python e instale o PyCharm, e deixe que ele lide com os ambientes virtuais. Se você é universitário o PyCharm permite que use a versão profissional, você só precisa de um e-mail acadêmico. Então, três passos: Baixe o Python e instal...

Segurança da informação em redes de computadores

Segurança da informação      Quando falamos de segurança da informação estamos falando de um conjunto de estratégias para gerenciar processos, ferramentas, pessoas e políticas necessárias para prevenir, detectar, documentar e confrontar ameaças as informações digitais e não digitais. [1] Ou ainda de uma forma bem simples: "Impedir pessoas com más intenções roubem seus dados". [2]      São duas definições que eu gostei bastante, enquanto a primeira é bem abrangente nas competências envolvidas na segurança da informação, enquanto segunda é bem direta. Existem várias fontes de padronização [3] para esses mecanismos de segurança, mas estarei abordando os produzidos pela ISO/IEC, mais precisamente ISO/IEC 27001, 27002 e 27005. Esta série de posts, será baseada na disciplina de Práticas de segurança de redes do IFPB. Que foca na segurança da informação que trafega ou é transmitida pela rede. Tags: Networks ; InfoSec . Falaremos sobre gestão de risco ...

Usando o spotify sem o facebook

Imagem
Criei uma conta no Spotify utilizando o Facebook e gostaria não ter feito isso. Eu tenho uma solução à oferecida pelo próprio Spotify, que é criar uma nova conta: NONSENSE. Que apostar quando que isso é putaria do Facebook pra te manter preso a rede? Então, é simples. Acesse o Spotify e vá em "Definir senha de dispositivo". Clique no botão "Mandar senha para e-mail". Pronto, é só você ir no seu e-mail, clicar no link que te leva de volta pra sua conta no Spotify e criar uma senha. Dai você usa o seu ID, que é um número de 10 dígitos e utilizar a senha que você criou pra logar em todo canto. Etapa 2 Etapa 1

Uma série sobre Python - Prólogo

Imagem
     <History Time>      Faz quase ano que desenvolvo com Python/Django e eu não me sinto como um bom desenvolvedor. Entre outras coisas o meu início foi conturbado, eu cai diretamente dentro da Framework sem saber o que era um decorator, na verdade, mal consigo utilizar a essa altura. Me inscrevi em um programa do IFPB/Funetech para dar aulas de Linux, cai de paraquedas em processamento de texto (um quasi-webcrawler com o ScriptLattes), mas precisávamos de uma ferramenta.       Inicialmente seria em PHP, que no curso de redes de computadores é visto junto (e amassado) com JS, Html, CSS e SQL. Ou seja, eu tinha uma base, mas era quase nada. E antes mesmo de começar a fazer a análise de requisitos (nem sabia o que era isso) fui introduzido ao Python e Django. Pra ser mais preciso, 5 dias de curso, fui para 3. Eu sai de lá sem saber porque usar 0.0.0.0/8000 no final do runserver.  Não que eu me orgulhe disso, mas eu não conseg...

Como encerrar uma conversa com o cliente

Imagem
    Eu tenho esse link guardado faz mais de um ano, e finalmente eu decidi tirar um tempo para ler. Embora eu ainda não trabalhe como um freelancer na maior parte do tempo, eu tenho alguns contatos que recorrem aos meus serviços em contratos de tempo limitado. E no geral, esse post oferece uma coisa importante sobre a comunicação com os clientes e princialmente no "Como encerrar cada etapa da comunicação." O artigo escrito por Robert Williams oferece algumas dicas de como encerrar um e-mail que você vai enviar para um cliente, ele aponta que muitos concluem com a seguinte frase: "Me diga como posso ajudá-lo..."   <- essa pessoa, não seja essa pessoa     Foi nesse ponto que entendi e segundos depois vi que ele diz a mesma coisa: Como você espera que o cliente lhe diga o que fazer quando ele está lhe pagando justamente pra isso. OK, isso não se aplica a todos os casos ou à todos momentos da comunicação e das negociações. Mas pra mim esse é o ponto ...

Instalando o openHAB2 pelo repositório

Depois de ter instalado o Java 8 da Oracle , o negócio agora é instalar o openHAB2. Que eu decidi instalar através do repositório e isso significa adicionar o repositório ao Ubuntu... Ah, outra coisa o openHAB2 tem várias formas de ser instalado, tem essa que explicarei agora que é pelo repositório e tem a instalação manual, elas atualizam de maneiras diferentes e a primeira é mais prática no geral. As duas também se dividem na versão offline e na online. A offline vem com todos os add-ons, que eu vou explicar mais tarde e a online baixa de acordo com a demanda. A única diferença é o tamanho da instalação, no momento tanto faz, mas eu escolhi a offline porque pretendo estudar o código.  E ainda tem duas versões, a BETA e a Snapshot, essa segunda tem alterações diárias. Chave do repositório $ wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add - Adicionar repositório $ echo 'deb http://dl.bintray.com/openhab/apt-r...

Oracle jdk 8 Ubuntu 16.04 - Preparando o terreno para o openHAB2

Contexto Desde o começo da semana eu to arrodeando tipo cachorro querendo cagar  para instalar o openHAB. Inicialmente eu cai na página da instalação do openHAB 1.x, o que me atrasou um pouco, algumas coisas estavam desatualizadas e o openHAB2 é simplesmente mais bem construído. Embora o ainda esteja na versão beta o OH2 tem o núcleo estável o suficiente  para ser utilizado e no meu caso, é para um projeto de pesquisa, então to em casa. Eeeenfim... vou manter o post curto, descrevendo apenas como instalar o Java 8 no ubuntu 16.04 (funcionou no 14.04 também). Bom nesse caso é oficial da Oracle... embora seja simples, bom, vai ficar mais simples... Adicionando PPA da Oracle $ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update Instalando JDK 8 $ sudo apt-get install oracle-java8-installer Testando $ java -version (Isso mesmo, um traço só) Eu encontrei isso no Digital Ocean. Aqui .

USB Bootável no Ubuntu - ddrescue

Há mais de dois anos trabalho apenas com Linux e no uso pessoal já faz quase um um. Decidi migrar pela liberdade de personalizar o sistema operacional, ter mais privacidade e utilizar menos recursos de hardware (Menos de 2Gb agora, contra 4-5Gb no windows+chrome). A única coisa que ainda fica a desejar é o gerenciamento de energia do processador que consome muito mais rápido a bateria do notebook. Mas o foco dessa postagem não é esse, na verdade eu vim me desculpar publicamente pois nesse tempo todo, não havia aprendido a criar uma unidade bootável USB no Linux, não por linha de comando pelo menos. Sem mais delongas, o processo é bem simples. Você vai ter precisar instalar o ddrescue. Para isso, instalei o seguinte pacote, lembrando sempre de: -- sudo apt-get update sudo apt-get install gddrescue -- (Isso, tem um g mesmo) E o uso é muito simples também, é só seguir o seguinte: sudo ddrescue -f <arquivo ou iso origem> <unidade destino>. E aproveitando o que ac...