Dirtycoder

Um pouco de tudo

[EN] Testing a model that have an ImageField — 9 de fevereiro de 2016

[EN] Testing a model that have an ImageField

I have a project where there’s a model with a profile imagem field. This field is required.

I did not want to maintain an image file in the repository just for tests, so I decided to research other solutions.

Imagem file at model’s creation

I’ve created a helper method that returns an ImageField, which then I use at the object’s creation with the model’s manager:

Continuar lendo

[PT] Testar upload de arquivo — 8 de fevereiro de 2016

[PT] Testar upload de arquivo

English version here.

No meu projeto, tenho um modelo que possui uma imagem de perfil. Esse campo é de preenchimento obrigatório.

Como eu não queria manter uma imagem no repositório só para teste, resolvi pesquisar outras soluções.

Arquivo de imagem na criação do modelo

Eu criei um método auxiliar para criar um ImageField que uso quando crio um objeto diretamente pelo manager do modelo:

Continuar lendo

[EN] 30 days of commits on GitHub — 20 de janeiro de 2016

[EN] 30 days of commits on GitHub

So last month I decided to try something different, I decided to try to commit something on GitHub every day for 30 days.

Few days ago I was at my 30th day. In those 30 days I’ve committed around 45 times.

I’ve made a series of small improvements on an open source website I maintain, solved a few exercises from Google’s Python Class, and closed 3 simple bugs for Kuma, the project behind the Mozilla Developer Network.

Continuar lendo

[EN] I’m a web developer now — 27 de dezembro de 2015

[EN] I’m a web developer now

I’m going on an adventure

Bilbo-Baggings-going-on-an-adventure.jpg

Three months ago I quitted my job as a Java developer and move out of desktop development for the first time.

Currently, I’m working as a web developer, both backend and frontend, at a university in my hometown. A lot of new things to learn, a environment completely new.

In this project, we are a team of two developers. The application is almost 15 years old and the source code is a disaster. All the developers that used to work in this project left the company almost at the same time.

When I decide to accept the job, our initial idea was to modernize the frontend stack, that was besides from using old technologies and have a completely messy code; and to restructure the backend code to better separate the responsibilities.

Continuar lendo

[PT] Sou um desenvolvedor web agora —

[PT] Sou um desenvolvedor web agora

A mudança

Bilbo-Baggings-going-on-an-adventure

Três meses atrás sai do meu trabalho como desenvolvedor Java e abandonei o desenvolvimento desktop pela primeira vez.

Atualmente, trabalho como desenvolvedor web, back-end e front-end, em uma universidade da minha cidade. Muita coisa nova, um ambiente completamente diferente.

Nesse projeto somos um time de duas pessoas, a aplicação tem quase 15 anos de existência e o código é simplesmente um desastre.

Os integrantes da antiga equipe de desenvolvimento saíram da empresa praticamente ao mesmo tempo.

Assim que entrei para preencher a vaga, nossa ideia inicial era de modernizar o front-end, que, além de contar com tecnologias antigas, tem um código completamente desorganizado; e de reestruturar o código back-end para separar melhor as responsabilidades.

Continuar lendo

Deixando uma view no Django 35% mais rápida — 15 de agosto de 2015

Deixando uma view no Django 35% mais rápida

Abrir uma conexão com o PostgreSQL não é propriamente a definição da palavra lento, mas é uma coisa que pode ser facilmente otimizada.

Se você usa o banco de dados em um servidor diferente, ou mesmo se usa localmente, abrir uma nova conexão pode demorar alguns milissegundos.

Eu uso o Opbeat para monitorar a performance do meu projeto, observando o breakdown do tempo gasto em cada camada da aplicação, dá pra observar que mesmo 27.5ms representam, na minha Home, 23% do tempo de chamada da requisição.

Continuar lendo

Dropbox na Digital Ocean — 21 de julho de 2015

Dropbox na Digital Ocean

De uns tempos pra cá, comecei a desenvolver um site usando Django, tem alguns meses que estou desenvolvendo no meu tempo livre e recentemente resolvi colocar ele online de verdade.

Como o site vai ter bastante upload de arquivo por parte do usuário queria um jeito simples de fazer backup disso.

Vi um monte de jeito que o pessoal estava usando, até que vi o headless Dropbox e gostei. Seguindo essa linha resolvi dar uma pesquisada melhor nisso e fiz usando ele também.

Continuar lendo

Git tips n’ tricks — 1 de julho de 2015

Git tips n’ tricks

Por um tempo eu usei paralelamente três VCS, o Git, o Mercurial e o SVN, o último basicamente por causa do trabalho. De um tempo pra cá tenho tentado focar mais em uma única coisa e direcionar meus estudos, por assim dizer.

E na questão de VCS a escolha foi o Git. O Git surgiu para substituir o VCS usado anteriormente no desenvolvimento do Linux, que era proprietário.

Tanto o Git quanto o Mercurial, eu usava principalmente em meus projetos particulares, dessa maneira eu acabei não tendo a necessidade de usar alguns recursos, mas como resolvi focar em somente uma ferramenta, achei que seria uma boa dar uma lida melhor sobre o Git. Continuar lendo

Ambientes virtuais Python — 16 de junho de 2015

Ambientes virtuais Python

De um tempo pra cá tenho passado boa parte do meu tempo brincando com Python e Django. Por curiosidade normalmente eu acabo tento várias versões de determinadas bibliotecas, inclusive do próprio Python e também do Django. Isso poderia ser um problema, mas não é.

Eu acho que todo mundo já deve conhecer e usar o virtualenv.

Pra quem não sabe, imagine o seguinte cenário, você tem o projeto A que usa a versão 1 da biblioteca X e começou a desenvolver o projeto B que usa a versão 2. Vamos supor agora que as versões 1 e 2 não possuem uma API compatível, se você atualizar para a versão 2 terá problemas com o projeto A.

Esse é um problema solucionado pelo virtualenv, outra situação que ele é muito útil é caso você não tenha acesso privilegiado para instalar nada no site-packages global.

Continuar lendo

Customizando o Twitter Bootstrap — 2 de abril de 2015

Customizando o Twitter Bootstrap

Se você assim como eu resolveu se aventurar recentemente pelo mundo do desenvolvimento web, existe uma possibilidade de que tenha escolhido começar a usar algum framework frontend, assim como o Foundation ou o Bootstrap.

Ambos são excelentes e te poupam uma boa parte do trabalho e do tempo necessário para criar algo bonito e funcional, porém vou falar somente sobre o Bootstrap.

O negócio começa a ficar um pouco confuso quando você tenta alterar o estilo atual definido pelo framework.

Várias considerações são feitas ao se aplicar estilo a um determinado elemento, a ordem de declaração, a herança de estilos, a especificidade dos estilos, etc. Isso pode ser um problema, por exemplo se você quiser sobreescrever a cor de algum elemento no Bootstrap somente usando CSS, você precisa tomar algumas precauções para que o seu estilo seja declarado de uma maneira mais específica que foi declarado no framework.

Continuar lendo

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.