hola, tengo esta pregunta por que me ofrecen un trabajo como programador backend, pero yo no soy de españa y no se cuanto es este sueldo en relacion al costo de vivir en españa.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCitarLa función principal de tu aplicación en Facebook (tanto si cuenta con su propia página como si se incluye en la pestaña de una página) no puede ser sacar a los usuarios de Facebook y conducirlos a otro sitio web.
CitarNo deberás incluir anuncios, llevar a cabo promociones cruzadas de otras aplicaciones ni ofrecer funciones de búsqueda en internet en contenido distribuido a través de los canales sociales de Facebook.
b. Solo puedes utilizar publicidad, o productos o servicios de índole comercial similares, de las compañías que aparecen en esta lista de proveedores de publicidad en las aplicaciones de Facebook.com.
Citar$('#procesando').html('<div class="progress progress-striped active"><div class="bar" style="width:100%;">Procesando</div></div>');
Citar$('#procesando').html('');
$('#Fsend').click(function(){
$('#procesando').html('<div class="progress progress-striped active"><div class="bar" style="width:100%;">Procesando</div></div>');
data = new FormData();
data.append('message',$('#message').val())
data.append('access_token',$('#access_token').val())
data.append('source', $('#source')[0].files[0]);
$('.grupo').each(function(){
var grupo = $(this);
if (this.checked) {
var url = '{{url}}'
$.ajax({
async: false,
data: data,
url: url,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function(json){
$(grupo).parent().parent().find('.process-ok').html(<img src="'checked-clip-art.jpg" style="heigth:20px;widht:20px;">')
}
});
}
});
$('#procesando').html('');
});
<tr class='row' id=1>
<td class='precio'> <input type=''....></td>
<td class='precio_iva'><input type=''....></td>
</tr>
<tr class='row' id=2>
<td class='precio'> <input type=''....></td>
<td class='precio_iva'><input type=''....></td>
</tr>
<tr class='row' id=3>
<td class='precio'> <input type=''....></td>
<td class='precio_iva'><input type=''....></td>
</tr>
$('.row>.precio').keyup(function({
$(this).parent().find('.precio_iva>input').val($(this).value())
}))
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"css": [],
"js": ["src/adware/script.js"]
"run_at": "document_start" //desconozco si debe cargarse en este momento
}
]
Citarif filtro in url{
elimina contenido
}
Citarif filtro in url{
elimina contenido
carga este javascript
}
var url = document.write(location.href);
var nuevoContenido ='';
if (test.indexOf("show_ads.js") !=-1){
document.html(nuevoContenido);
document.close();
}
document.write('<a href="addlink"><img src="link"></a>')
while True:
check_if_time()
sleep(60)
<script type="text/javascript" src="http://static.bloqueomental.com/bloqueomental/static/jquery.js"></script>
<script>
$(document).ready(function() {
// I am a flag that will determine if the user is
// currently mousing over a Google AdSense.
var isOverGoogleAd = false;
// When a user mouses over a Google AdSense iFrame, we
// want to track that activity. This way, when the
// current window blurs, we can guesstimate as to
// whether or not the window-blur was due to the user
// clicking the Google ad.
//$( "iframe[ id *= google ]" )
$( "#myframe" )
.mouseover(
function(){
isOverGoogleAd = true;
}
)
.mouseout(
function(){
isOverGoogleAd = false;
}
)
;
// Now that we are tracking the mouse movements over
// the Google AdSense, let's track the window's blur
// event to see if we can guesstimate the AdSesnse
// usage.
$( window ).blur(
function(){
// Check to see if the user was over a Google
// AdSense ad when the window was blurred.
if (isOverGoogleAd){
// Because the user was mousing over a
// Google AdSense iFrame when the window
// was blurred, it is reasonable to
// estimate that the blurring is due to
// the user clicking one of the ads.
alert('click');
}
}
)
// Focus the window by default.
.focus()
;
});</script>
CitarLos colores y tonos de las imágenes de las firmas no deberán ser desagradables a la vista, ni contener imágenes repulsivas u ofensivas, y con unas dimensiones máximas de 500x300px. Tampoco podrán contener vídeos incrustados de Youtube (o cualquier plataforma similar), vídeo y/o sonido. En caso de no cumplir con estas normas se sancionará al usuario de acuerdo a la sección III.C.2.
Citar{%for nota in columnas%}
{%if forloop.first%}<div class='row-fluid'>{%endif%}
<div class='span3' style='text-align:center;' >
<a draggable="false" href='/columna/{{nota.id}}/{{nota.titulo|slugify}}'><div draggable=True ondragstart="dragIt(event);" id='c{{nota.id}}' ondrop="dropIt(event)" ondragover="event.preventDefault();">
<img src='{{MEDIA_URL}}{{nota.columna.imagen}}' draggable=False class="img-polaroid" style='width: 80%;margin-left:9%;margin-right:10%; '>
<h3 style='text-align: center;'>{{nota.columna.nombre}}</h3>
<h4 style='text-align: center;'><i>{{nota.titulo}}</i></h4></div></a>
</div>
{%if forloop.last or forloop.counter|divisibleby:"4" %}</div><br>{%if not forloop.first and not forloop.last%}<div class='row-fluid'>{%endif%} {%endif%}
{%endfor%}
Citar
fix 3.0
soporte para mas sistemas operativos
mejor detección de emails mediante el regex
fix v 2.0
ahora detecta mas tipos de urls internas
ahora detecta si es windows o linux para usar el comando correcto de limpiar pantalla.
# -*- coding: utf-8 -*-
## by kase: kase@boredsoft.com colaboraciones: EleKtro H@cker
import requests,re,os,time,sys
from argparse import ArgumentParser, RawTextHelpFormatter
parser = ArgumentParser(description="email spider", version="3.0", formatter_class=RawTextHelpFormatter)
## -url
parser.add_argument("-url", dest="url", help='url a analizar en formato http://web.com/')
## -max_links links
parser.add_argument("-max_links", dest="max_links", help='maximo de links internos a analizar')
## -max_emails emails
parser.add_argument("-max_emails", dest="max_emails", help='maximo de emails a analizar')
## -external default False
parser.add_argument("-external", dest="external", help='investigar links externos [si|no]')
argumento = parser.parse_args()
url_web = argumento.url
url_web_limpio = argumento.url.replace('http://','').replace('/','').replace('www.','')
links_internos = ['/']
links_visitados = []
emails_capturados = []
mailsrch = re.compile(r"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum|mx|com\.mx|xxx|tv|tk)\b")
#old mailsrch = re.compile(r'[\w\-][\w\-\.]+@[\w\-][\w\-\.]+[a-zA-Z]{2,6}')
urlssrch = re.compile(r'href=[\'"]?([^\'" >]+)')
contador = 0
while links_internos:
try:
## saca el ultimo link de la lista
##print links_internos
link = links_internos.pop()
## añade ese link a visitados, para no volverlo a tener en cuenta
links_visitados.append(link)
if link[0] == '/' or link == '':
r=requests.get(url_web+''+link)
else:
r=requests.get(link)
links = urlssrch.findall( r.text)
##print 'xxxxxxxxxxxxx', links
emails = mailsrch.findall(r.text)
## guarda todos los emails que se topa checando que no existan repeticiones
for email in emails:
if email not in emails_capturados:
emails_capturados.append(email)
## guarda todos los links internos que se tope checando que no existan en la cola o en vistados
for link in links:
if not argumento.external: ## verifica si usar enlaces externos o no
if link[0] == '/' or url_web_limpio in link:
if link not in links_internos and link not in links_visitados:
links_internos.append(link)
elif argumento.external == 'si':
if link not in links_internos and link not in links_visitados:
links_internos.append(link)
contador +=1
## informacion en pantalla
if contador % 50 == 0:
if sys.platform.startswith('win'):
# Windows
os.system('cls')
elif sys.platform.startswith('linux'):
# Linux
os.system('clear')
elif sys.platform.startswith('cygwin'):
# Windows (Cygwin)
os.system('cmd /c cls')
elif sys.platform.startswith('darwin'):
# MacOSX
os.system('clear')
elif sys.platform.startswith('freebsd'):
# FreeBSD
os.system('clear')
print 'web atacada:', url_web
print 'total de emails obtenidos:', len(emails_capturados)
print 'urls recorridas: ', len(links_visitados)
print 'urls faltantes: ', len(links_internos)
print '----- (~._.)~ '
## pequeño arreglo para tener mas chanse de optener emails en web grandes
## primero analiza los enlaces internos mas cortos y despues de un tiempo, analiza los mas largos primero
## en paginas tipo blog, los enlaces mas largos son los de las post con comentarios donde posiblemente existan emails
if contador %10000 == 0:
if contador <= 10000:
links_internos.sort(reverse=True)
else:
links_internos.sort()
## si ahi un maximo de links internos rompe el ciclo y termina
if argumento.max_links:
if contador >= int(argumento.max_links):
break
## si ahi un maximo de emails capturados rompe el ciclo y termina
if argumento.max_emails:
if len(emails_capturados) >= int(argumento.max_emails):
break
## si la conexion se cae duerme el proceso 20 segundos y reintenta
except:
r = os.system('ping -c 1 google.com') ## checa si hay conexion de internet
if r == 0: #si existe conexion elimina el enlace muerto
link = links_internos.pop()
else: ##sino espera 20 segundos a que se reanude la conexion de internet
time.sleep(30)
if sys.platform.startswith('win'):
# Windows
os.system('cls')
elif sys.platform.startswith('linux'):
# Linux
os.system('clear')
elif sys.platform.startswith('cygwin'):
# Windows (Cygwin)
os.system('cmd /c cls')
elif sys.platform.startswith('darwin'):
# MacOSX
os.system('clear')
elif sys.platform.startswith('freebsd'):
# FreeBSD
os.system('clear')
print 'web atacada:', url_web
print 'total de emails obtenidos:', len(emails_capturados)
print 'urls recorridas: ', len(links_visitados)
print 'urls faltantes: ', len(links_internos)
print '----- (~._.)~ CONEXION CAIDA, ESPERANDO 30 SEGUNDOS (X__X)'
f = open('%s.txt' % url_web.replace('http://','').replace('/','').replace('.','_'),'w+')
f.write("\n".join(emails_capturados))
f.close()
CitarUnlimited traffic: No additional costs due to traffic (if average traffic consumption continuously exceeds 20 Mbit/s over a timespan of at least 5 days the connection is switched to 10 Mbit/s).
Citarssh user@host:path/to/script/./script.py
Citarr'^adoptar|se_busca|perdido/(\d+)/[-_A-Za-z0-9]*/$'
Citarr'^(adoptar|se_busca|perdido)/(\d+)/[-_A-Za-z0-9]*/$'
Citardjango.jQuery(function($){
$.fn.gmapAdmin = function(options){
var defaults = {
'zoom':8,
'lat':'53.311',
'lng':'-6.24',
'map_elem' : '#id_map',
'delete_elem' : '#id_delete',
};
var options = $.extend(defaults, options);
var value = null;
var marker = null;
var map = null;
var latlng = null;
var that = this;
var set_field = function(latlng){
if(marker){
$(that).val(latlng.lat()+","+latlng.lng());
}
};
var get_field = function(){
if($(that).val()){
return $(that).val().split(",");
}else{
return "";
}
};
var remove_field = function(){
if(marker!==""){
$(that).removeAttr("value");
}
};
var remove_marker = function(){
marker.setMap(null);
marker = null;
};
var set_marker = function(latlng){
if(!marker){
marker = new google.maps.Marker({
map:map,
draggable:true,
position: latlng,
});
google.maps.event.addListener(marker, 'click', function(new_location) {
map.setZoom(13);
map.setCenter(new_location.latLng);
});
google.maps.event.addListener(marker, 'dragend', function(new_location) {
set_field(new_location.latLng);
});
}else{
marker.setPosition(latlng)
}
};
latlng = new google.maps.LatLng(options.lat,options.lng);
map = new google.maps.Map(document.getElementById($(options.map_elem).attr('id')),{
zoom: options.zoom,
center : latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
});
// If there is a value in the field, load it onto the map
if(get_field()!==""){
set_marker(new google.maps.LatLng(get_field()[0],get_field()[1]));
}
/* Listeners */
google.maps.event.addListener(map, 'rightclick', function(new_location) {
set_marker(new_location.latLng);
set_field(new_location.latLng);
});
$(options.delete_elem).click(function(){
if(marker!==""){
remove_marker();
remove_field();
}
});
};
});
Citar
<input type="hidden" name="geolocation" id="id_geolocation" />
<div class="map_canvas_wrapper" style="display:inline-block;">
<div id="map_id_geolocation" style="width:800px;height:500px"></div>
<script>
django.jQuery(function($) {
$("#id_geolocation").gmapAdmin({
'zoom': 5,
'lat': '22.213709',
'lng': '-98.381109',
'map_elem': '#map_id_geolocation',
'delete_elem': '#map_delete_id_geolocation',
});
});
</script>
</div>
Citar<input type="text" id="address" value=""/>
<a href='javascript:search();'>buscar</a>
Citargeocoder = new google.maps.Geocoder();
function codeAddress() {
//In this case it gets the address from an element on the page, but obviously you could just pass it to the method instead
var address = document.getElementById("address").value;
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
//In this case it creates a marker, but you can get the lat and lng from the location.LatLng
map.setCenter(results[0].geometry.location); //con esto centro el mapa
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
CitarDjango fue extraído de código de la vida real, en lugar de ser un ejercicio académico o un producto comercial, está especialmente enfocado en resolver problemas de desarrollo Web con los que los desarrolladores de Django se han encontrado -- y con los que continúan encontrándose --. Como resultado de eso, Django es activamente mejorado casi diariamente. Los desarrolladores del framework tienen un alto grado de interés en asegurarse de que Django le ahorra tiempo a los desarrolladores, produce aplicaciones que son fáciles de mantener y se desempeña bien con mucha carga.
Aunque existan otras razones, los desarrolladores están motivados por sus propios deseos egoístas de ahorrarse tiempo a ellos mismos y disfrutar de sus trabajos.