All work and no play makes Jack a dull boy

segunda-feira, 2 de junho de 2014

Como aprender Swift - a nova linguagem de programação da Apple


Quer aprender a nova linguagem de programação anunciada pela Apple?

Já está disponível no iBooks

=]

domingo, 1 de junho de 2014

Command Line Tools no XCode 5.1.1

É simples instalar o Command Line Tools no XCode 5.1.1

Após, obviamente, certificar-se de que o XCode está instalado, siga esse passo-a-passo:

Abra o XCode > Clique no menu Xcode > Open Developer Tool > More Developer Tools


Você será levado ao site developer.apple.com e, então basta escolher de acordo com a versão do seu Mac OS.




sexta-feira, 23 de maio de 2014

Limitar número de instâncias num modelo do Django

Como ter apenas um registro num modelo do Django?

É possível fazer através da validação de model do próprio Django.
from django.core.exceptions import ValidationError

def validate_only_one_instance(obj):
    model = obj.__class__
    nome_modelo = model.__name__
    if (model.objects.count() > 0 and obj.id != model.objects.get().id):
        raise ValidationError("Modelo %s limitado a 1 instancia" % nome_modelo)
E no seu modelo:
from django.core.exceptions import models

class Exemplo(models.Model):
    campo = CharField()
    inteiro = IntegerField()

    def clean(self):
        validate_only_one_instance(self)
        
Veja que, dessa forma, você não impede a tentativa de criar, mas evita que a criação prossiga.

Fonte

sábado, 17 de maio de 2014

Destacar linhas do git no Sublime

Um dia, pensando em um pacote ou plugin para o Sublime que mostrasse apenas as linhas que o git destacará, encontrei o GitGutter.

A instalação é o padrão e o resultado...



São destaques diferentes para criação, alteração e exclusão de linhas e ainda possui atalhos para navegar de um ponto a outro.

quinta-feira, 15 de maio de 2014

Serializar formulário sem jquery

Como posso serializar um formulário com javascript?

O javascript não possui o método .serialize() do jQuery para criar uma query string dos valores inseridos em um formulário. Porém há uma solução

(function() {
 function serialize( form ) {
  var data = [];
  var elements = form.querySelectorAll( "input, select, textarea" );
  for( var i = 0; i < elements.length; ++i ) {
   var element = elements[i];
   var name = element.name;
   var value = element.value;
   var str = name + "=" + value;
   data.push( str ); 
  }
  return data.join( "&" );
 }

 document.addEventListener( "DOMContentLoaded", function() {
  var form = document.getElementById( "test" );
  
  form.addEventListener( "submit", function( e ) {
   e.preventDefault();
   var queryString = serialize( this );
  }, false);
 });
})();

Essa técnica se mostra fundamental com AJAX

Traduzido daqui e via @pinceladasweb