miércoles, 15 de febrero de 2017

Código Buggy Python: Los 10 Errores más Comunes que Cometen los Desarrolladores Python

jueves, 27 de febrero de 2014

Ajax Solucion al Dominio Cruzado / Ajax Cross Domain Solution | uncaught exception: Permiso denegado al llamar al método XMLHttpRequest.open Solution

Hola A todos

Debido a ciertos problemas que he tenido con Ajax al momento de llamar a un dominio o IP diferente
respecto a los bloqueos que hacen los navegadores  me he decidido a postear aqui una solución diferente a las propuestas de liberar en cada navegador a las llamadas  a otros dominios.



La idea es no hacer ninguna modificacion en nuestro navegador y hacer que nuestra llamada apunte al mismo servidor donde se encuentra nuestra aplicacion y que este se encargue de obtener los datos la pa pagina remota

Ejemplo en Jquery


 function leerDatosBalanza(){
                       var ip_domain = $("#ip").val();
                       $.ajax({
                            type: "POST",
                            url: "include/Ajax.class.php",
                            data: "action=leer_datos_balanza&ip_domain="+ip_domain,
                            async:true,
                            dataType: "html",
                            timeout:8000,
                            beforeSend: function(objeto){
                                $("#msg").html("Conectado con: "+ip_domain+"...    ");
                            },
                            complete: function(objeto, exito){
                                if(exito=="success"){
                                   $("#msg").html("Ok");
                                   $("#kilaje_real").val(objeto.responseText);
                                } else{
                                     $("#msg").html("No se pudo conectar con la maquina de la Balanza!");
                                    alert("Error all leer datos de la Balanza. Verifique la direccion IP de la Balanza!");
                                }
                            }
                        });
                    }



En el Servidor   Ajax.class.php


<?php

        $ip_domain =  $_REQUEST['ip_domain'];
        $datos =  file_get_contents("http://$ip_domain/serial/Indicador_LR22.php");
        echo $datos;

?>




// Maquina Remota

El programa Indicador_LR22.php  que se encuentra en la maquina remota es otro programa PHP
que devuelve un resultado minimo

De esta manera nuestro servidor principal es el que se encarga de hacer la peticion remota en vez de que sea el navegador sin necesidad de configuracion alguna en los Navegadores.








  

martes, 12 de marzo de 2013

Detectar Registros Duplicados MySQL

Hola Esta vez mostraré como hacer consultas en MySQL para detectar registros duplicados

1- Hay dos formas de hacerlo la mas simple es usando count(*)>1 por ejemplo que nos dirá cuantas veces tenemos repetidos los registros pero no nos mostrará el detalle




 SELECT id, codigo,count(codigo) AS REPETICIONES  FROM mi_tabla GROUP BY codigo  HAVING count(codigo) > 1





2-Esta es un poco mas compleja pero nos mostrará realmente los registros duplicados pero tambien puede ser mas lenta que la anterior

SELECT codigo,campo2, campo3 FROM mi_tabla WHERE codigo IN
(SELECT codigo  FROM mi_tabla AS x GROUP BY codigo HAVING count(*)>1 AND mi_tabla.codigo=x.codigo)
ORDER BY codigo ASC






Esto es todo agradezco sus comentarios
atte.









viernes, 5 de octubre de 2012

Medir Performance de un Servidor Linux


A continuación un pequeño truco para medir la performance de un Servidor o cualquier maquina con Sistema Operativo Linux

La información sobre la capacidad de procesamiento se almacena en el archivo /proc/cpuinfo

que contiene información útil sobre la pc, pero el que en este caso nos interesa es solamente los bogomips

un invento de Linus Torvalds  bogo (bogus) y MIPS  (Millons off Instruction Per Second) Millones de Instrucciones Por Segundo

como el archivo /proc/cpuinfo contiene mucha información podemos filtrar con grep solo lo que nos interesa ejecutando en la consola lo siguiente

cat /proc/cpuinfo | grep bogomips

y nos lanzará algo parecido en Red Hat con Procesadores Intel(R) Xeon(R) CPU   E5420  @ 2.50GHz




Otro Ejemplo para Mandriva Linux con Procesadores Intel(R) Core(TM) i7 CPU         960  @ 3.20GHz




También pueden ejecutar cat /proc/cpuinfo  para ver todos los datos




miércoles, 4 de julio de 2012

VNC Linux Windows (Simple)

Este ejemplo fue probado sobre Mandriva 2010 y he buscado la forma mas fácil y rápida de hacer funcionar el Escritorio Remoto.

Paso 1 


En nuestro servidor linux ir al panel de control


Clic en Mandriva Control Center


 Paso 2
Administración de Software y Instalar y Quitar Software
 Paso 3


Buscamos x11vnc tildamos e instalamos, si no aparece debería agregar mas soportes para que baje de internet.
Esperar a que baje y se instalen todos los paquetes y dependencias.
 Paso 4


Una vez instalado puede Abrir un Konsole y escribir como usuario normal   x11vnc para arrancar el servidor
Esto nos Arrancara el servidor en modo muy basico, sin contraseña y le permitira acceso a todo el mundo
No obstante se puede pasarle algunos parámetros para que arranque de una manera mas razonable como por Ej.:

  • -bg: Nos inicia el servidor en segundo plano. Para poder cerrar la consola y que siga en marcha.


  • -passwd
: Establece la contraseña que se pedirá a los clientes al conectar.

  • -gui: Inicia el interfaz gráfico (un poco precario) del servidor.

Ejemplo:




x11vnc -bg -gui -passwd mi_contraseña


Listo ya esta la parte del Servidor
ahora necesitamos un cliente


 Paso 5

Windows

Bajar 

TightVNC   desde aqui   http://www.tightvnc.com/download.php/

Instalar y Ejecutar

Paso 6







Listo

Otras Formas de Instalar es Bajando en tar.gz

tar -xvzf x11vnc-0.7.3.tar.gz
cd cd x11vnc-0.7.3
./configure
make
make install (este como root)


x11vnc -bg -gui -passwd mi_contraseña 

Tambien se puede Instalar TightVNC  para Linux y así controlar desde otra maquina linux.

Espero que sea Útil.












jueves, 23 de septiembre de 2010

Diferencia entre dos Tiempos TimeDiff en PHP

Para que sirve?
Resunen:

Sirve para cuando hacemos un reporte o informe calcular el tiempo que toma finalizar dicho reporte o operacion pesada

Codigo PHP
<?php



// return our current unix time in millis

function current_millis() {

list($usec, $sec) = explode(" ", microtime());

return round(((float)$usec + (float)$sec) * 1000);

}

$inicio = current_millis();







// Alguna operacion muy pesada que ocupa tiempo

for ($i=0;$i< 5;$i++){

echo "Algo que ocupa tiempo. <br>"; flush(); sleep(1);

}

// Fin de la operacion pesada











$t = (current_millis() - $inicio);

if ($t < 1000) {

echo "Reporte generado en :" . $t . " milisegundos...";

}else {

echo "Reporte generado en :" .number_format($t / 1000,2,',','.'). " segundos...";

}



?>

miércoles, 22 de septiembre de 2010

Contraseña modo texto ( Password textmode)

Aqui les muestro como interpolar un campo tipo password.
Resumen: onfocus contraseña visible onblur contraseña oculta

onfocus




onblur



Javascript


<script>

function setBoxToPasswordmode(box) {

box.type = "text";

}

function resetBox(box) {

box.type = "password";

}

</script>




XHTML


<div>
<label class="label"> Contrase&ntilde;a :</label>

<input class="textfield" type="password" id="passw1"
size="20" maxlength="20" value="" onblur="resetBox(this);"
onfocus="setBoxToPasswordmode(this);" >

</div>