All work and no play makes Jack a dull boy

quarta-feira, 18 de fevereiro de 2015

iterar lista dois itens por vez com python


Como iterar um lista e retornar pares dos itens usando python?

O itertools do python é bem versátil:

from itertools import tee, izip
def pares(lista):
    a, b = tee(lista)
    next(b, None)
    return izip(a, b)
Considerando a lista:
lista = [1,2,3,4,5,6,7,8,9,10]

Aplique assim:
for v, w in pares(lista):
    print v, w
1 2
2 3
3 4
...
ou dessa forma:
for i in pares(lista):
    print i
(1, 2)
(2, 3)
(3, 4)
...
Repare que a função não retorna uma lista, mas um objeto de itertools.

Como funciona: primeiro, com o tee() criamos dois iteráveis paralelos, ambos apontando para o primeiro item da lista. Em seguida move-se o segundo, b, para o segundo item com next(). Dessa forma o a está no lista[0] e b está no lista[1].

fonte

quinta-feira, 29 de janeiro de 2015

ping com porta

Como fazer se você quiser dar um ping especificando uma porta?

Não dá.

Veja o que o help do ping mostra:
$ ping google.com 80
usage: ping [-AaDdfnoQqRrv] [-b boundif] [-c count] [-G sweepmaxsize]
            [-g sweepminsize] [-h sweepincrsize] [-i wait] [−k trafficclass]
            [-l preload] [-M mask | time] [-m ttl] [-p pattern]
            [-S src_addr] [-s packetsize] [-t timeout][-W waittime] [-z tos]
            host

Para isso use o telnet.

$ telnet google.com 80
Trying 74.125.226.48...
Connected to google.com.
Escape character is '^]'.

quarta-feira, 28 de janeiro de 2015

sexta-feira, 28 de novembro de 2014

resolver o “Unsupported” no Chrome on iOS

Como resolver o “Unsupported” no Chrome on iOS (específicamente usando Facebook OAuth)?

Embora há quem possa se opor a essa solução, foi a que funcionou para mim:
if( navigator.userAgent.match('CriOS') )
    window.open('https://www.facebook.com/dialog/oauth?client_id='+appID+'&redirect_uri='+ document.location.href +'&scope=email,public_profile', '', null);
else
    FB.login(null, {scope: 'email,public_profile'})

=]

quinta-feira, 27 de novembro de 2014

identificar windows phone com javascript

Eis uma forma simples de verificar se é Windows Phone.

if (/windows phone|lumia/i.test(navigator.userAgent.toLowerCase())) {
// faça suas coisas aqui
}

=]