Publicado em Progamação, Tecnologia

MySQL basiquinho

Muitos vão preferir administrar seus bancos de dados usando ferramentas gráficas como o phpMyAdmin ou o Workbench, e isso é ótimo, essas ferramentas facilitam e muito a criação e administração. Mas, é interessante também poder fazer algumas tarefas básicas diretamente na linha de comandos, elas podem ser úteis em algum momento.

Vou passar alguns comandos básicos testados no XAMPP 5.6.23 rodando numa distribuição Ubuntu 16.04. Com esses comandos vamos logar no MySQL, vamos criar um banco de dados, uma tabela e realizar INSERT e SELECT. Continuar lendo “MySQL basiquinho”

Publicado em Progamação, Python, Tecnologia

Python: Uma Brevíssima Introdução à Programação Orientada a Objetos (POO)

O Python conta com algumas estruturas que facilitam o trabalho com dados, um exemplo são as tuplas. Tuplas, são coleções de dados relacionados entre si:

vangogh = ('Vincent', 'pintor', 'holandês', 19, 'ruivo', 1)

Nessa tupla, a gente agrupou um conjunto arbitrário de dados relacionados ao famoso pintor holandês. A gente poderia formatar essa informação para ser apresentada na tela:

van_str = '{} foi um {} {} do século {}. \n' \
          + 'Era {} e tinha {} orelha só'.format(*vangogh)
print(van_str)
Vincent foi um pintor holandês do século 19.
Era ruivo e tinha 1 orelha só

Continuar lendo “Python: Uma Brevíssima Introdução à Programação Orientada a Objetos (POO)”

Publicado em Git, Open Source, Progamação, Tecnologia

Git Simples

Então, devo reconhecer que o título é propaganda enganosa. O Git não é simples. Ele é complexo e difícil de aprender. O Git é uma ferramenta poderosa, e a sua complexidade tem a ver com essa sua potência e flexibilidade.

Mas, não é impossível estabelecer um fluxo de trabalho básico que, prescindindo de várias das suas infinitas possibilidades, permita escrever código com maior eficiência e de forma colaborativa. Essa postagem pretende dar enfase ao processo mais do que aos comandos. Continuar lendo “Git Simples”

Publicado em Ferramentas, GNU/LInux, Open Source, Progamação, Tecnologia, Terminal, Ubuntu

Ubuntu Make: Programando no Linux

Sem entrar em discussões estéreis sobre se o Linux é, ou não é, “a melhor” plataforma de desenvolvimento que existe no Universo e as suas redondezas, o que ninguém pode negar é que o Linux é uma ótima plataforma, e é por isso que muitos programadores tem optado por ela na hora de escrever seus códigos. Isso, independentemente deles continuar a usar outros sistemas para jogar, assistir filmes, escutar música e outras tarefas (o que também pode ser feito no Linux).

Por que optar pelo Linux?

A primeira e mais evidente, Linux é Software Livre. Uma das consequências das suas 4 liberdades, é você poder montar uma plataforma completa de desenvolvimento sem gastar um centavo; e sem precisar recorrer a software pirata infestado de vírus, backdoors e todo tipo de ameaças à estabilidade, performance e segurança do seu sistema, e pior ainda, do seu projeto de código. Até o Red Hat Enterprise Linux, que não é barato, agora é disponibilizado de graça para desenvolvedores. Continuar lendo “Ubuntu Make: Programando no Linux”

Publicado em C/C++, Low level, Tecnologia

The ‘Gangnam Style’ Bug

No momento de começar a escrever essa postagem, o vídeo “Gangnam Style” da estrela pop sul-coreana Psy no Youtube já tinha sido visualizado 2.565.002.912 vezes. Quase tantas vezes como foi acessado esse blog durante a última semana. Nada mal!

O número de visualizações deriva de um contador e, como todo contador, ele deve ter começado do zero e aumentado um por um até chegar aos pouco mais de 2,5 bilhões atuais. Em teoria, as visualizações não deveriam diminuir, pelo menos não em termos absolutos. Mas… Continuar lendo “The ‘Gangnam Style’ Bug”

Publicado em Progamação, Python, Tecnologia

Virtualenv: Isolando a Cobra (Python)

Trabalhando em vários projetos Python ao mesmo tempo? Conflito de dependencias e versões em porta… Normal, não desespera que isso tem solução. O Virtualenv cria um ambiente isolado virtual para cada projeto, com a sua própria versão do Python (2.7, 3.4, etc.) e dos módulos que o projeto precissa. Agora, em vez de ficar tudo junto e conflituando em /usr/lib/python2.7/dist-packages/ (se estamos usando Linux e a versão 2.x do Python), cada projeto vai conter uma pasta com a copia de cada pacote necessário, independente dos outros.
Continuar lendo “Virtualenv: Isolando a Cobra (Python)”

Publicado em GNU/LInux, Open Source, Progamação, Tecnologia, Web

Instalando o XAMPP no Linux

Apache, MySQL (MariaDB) e PHP é um dos combo mais populares no mundo do desenvolvimento para Web. Trata-se de três tecnologias Open Source e multiplataforma, duas características que explicam em grande parte a sua popularidade. Praticamente todo servidor Web pelo mundo as suporta e grande parte dos sites existentes foi implementado acima delas. Para quem nunca tinha escutado falar delas, explicamos rapidamente: o Apache é o servidor HTTP; MySQL (MariaDB) é a linguagem para gestionar os bancos de dados relacionais; PHP é a linguagem de programação que opera do lado do servidor.

Quando estamos trabalhando em um projeto web temos sempre a opção de testar o resultado subindo o código para um servidor de produção. Mas esse enfoque pode resultar inconveniente a maioria das vezes. Uma outra possibilidade seria implementar um servidor local para testes no nosso computador. Esse servidor não ficaria conectado à Internet, evitando assim os riscos de segurança inerentes a um código ainda imaturo, a inconveniência de se fazer público um site ainda não funcional e provavelmente bugado, e poupando do tempo que o upload consome a cada vez que ele precisa ser feito. Continuar lendo “Instalando o XAMPP no Linux”

Publicado em Ferramentas, Progamação, Tecnologia, Web

Sites de Consulta para Desenvolvedores Web

Quem está começando -e quem já fez vários aniversários- no mundo do desenvolvimento para Web, ou a programação em geral, precisa de bons materiais de referência para consulta. Essas referências precisam reunir algumas caraterísticas mínimas desejadas, entre outras:

  • ser atualizadas com regularidade,
  • respeitar os padrões internacionais,
  • vir de uma fonte confiável,
  • informação estruturada para fácil acesso,
  • apresentar exemplos práticos,
  • de graça, preferentemente.

Duas referências online que eu acho interessantes são as da W3Schools e a Mozilla Developer Network (MDN). Continuar lendo “Sites de Consulta para Desenvolvedores Web”