elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16
81  Programación / Desarrollo Web / Diagrama de Despliegue - Para mJSf en: 22 Octubre 2010, 16:17 pm
Diagrama de Despliegue

Esta es un propuesta de despliegue al framework


Detalles

Mi idea es desarrollar el Framework en tres capas, una a nivel de navegador la cual he llamado M_nus (se lee Minus se pronuncia Mainus) donde al desarrollador de software se le brindaran funciones que facilitara el uso y la comprensión del producto final. Básicamente es un interfaz en donde el usuario se sentirá mas agrado al programar en mJSf, como crear clases para maquetacion o componentes mas visuales como ventanas, alertas entre otros.

La segunda capa es el Framework que esta en producción actualmente, que no esta hecho es la parte de adaptadores que comunicara la librería con los diferentes Framework's que existen en la WEB

La ultima capa la denomine Base y contiene librerías ya desarrolladas que nos podrían ser útiles en la incorporación de plug-ins

FUENTE

82  Programación / Desarrollo Web / [javascript] Busco Colaboradores en Proyecto GPL - Minimal JS Framework en: 12 Octubre 2010, 18:01 pm
Hola todos, estoy buscando personas interesadas en el medio para que me colaboren en la construccion de Framewaork en JS, yo se que ya hay bastantes pero la idea es hacernos uns propio, para hispanos !!! ... si se le miden le dejo un version del framework analicenla y comentan ... tan sera recibidas sus sugerencias y criticas

Les dejo el codigo:

Código
  1. /**
  2.  * @author 4ng3r
  3.  */
  4. Min={
  5.    version: '1.0',
  6.    name: 'Minimal JS Framework 2010',
  7.    consola: 1,        
  8. }
  9.  
  10. /**
  11.  * @alias Url
  12.  * @classDescription Clase desarrollada para manejar todas las propiedades del objeto location
  13.  */
  14.  
  15. Min.Url = {
  16.  /**
  17.      * @method ubicacion
  18.      * @return Object
  19.      */
  20.    ubicacion:function(){
  21.    return window.location
  22.  },
  23.    /**
  24.      * @method host
  25.      * @return String
  26.      */
  27.    host:function(){
  28.        return this.ubicacion.host;
  29.    },
  30.    /**
  31.      * @method url
  32.      * @return String
  33.      */
  34.    url:function(){
  35.        return this.ubicacion.href;
  36.    },
  37.    /**
  38.      * @method hostname
  39.      * @return String
  40.      */
  41.    hostname:function(){
  42.        return this.ubicacion.hostname;
  43.    },
  44.    /**
  45.      * @method ruta
  46.      * @return String
  47.      */
  48.    ruta:function(){
  49.        return this.ubicacion.pathname;
  50.    },    
  51.    /**
  52.      * @method hash
  53.      * @return String
  54.      * @Description retorna un String como todo lo que esta despues del # en la URL
  55.      */
  56.    hash:function(){
  57.        return this.ubicacion.hash;
  58.    },    
  59.    /**
  60.      * @method puerto
  61.      * @return String
  62.      */
  63.    puerto:function(){
  64.        return this.ubicacion.port;
  65.    },    
  66.    /**
  67.      * @method protocolo
  68.      * @return String
  69.      */
  70.    protocolo:function(){
  71.        return this.ubicacion.protocol;
  72.    },    
  73.    /**
  74.      * @method variables
  75.      * @return String
  76.      * @Description retorna un String como todo lo que esta despues del ? en la URL
  77.      */
  78.    variables:function(){
  79.        return this.ubicacion.search;
  80.    },
  81.    /**
  82.      * @method obtenerVariables
  83.      * @return Void
  84.      * @Description Retorna las variables con su respectivo valor
  85.      */
  86.    obtenerVariables:function(){
  87.      Url = Min.Url.url();
  88.    Url = Url.replace(/.*\?(.*?)/,"$1");
  89.    Variables = Url.split ("&");
  90.    for (i = 0; i < Variables.length; i++) {
  91.           Separ = Variables[i].split("=");
  92.           eval (Separ[0]+'="'+Separ[1]+'"');
  93.    }
  94.  },
  95.    /**
  96.      * @method verResumen
  97.      * @return String
  98.      * @Description retorna el resumen del objeto Location
  99.      */
  100.    verResumen:function(){
  101.        var cadena = "<b>Nombre del HOST: </b>"+this.host()+"<br>";
  102.        cadena += "<b>Ubicacion: </b>"+this.url()+"<br>";
  103.        cadena += "<b>Ruta: </b>"+this.ruta()+"<br>";
  104.        cadena += "<b>Ver Hash: </b>"+this.hash()+"<br>";
  105.        cadena += "<b>Ver Puerto: </b>"+this.puerto()+"<br>";
  106.        cadena += "<b>Ver Protocolo: </b>"+this.protocolo()+"<br>";
  107.        cadena += "<b>Ver Variables: </b>"+this.variables()+"<br>";
  108.        return cadena;
  109.    },
  110.    /**
  111.      * @method redireccionar
  112.      * @param String url
  113.      */
  114.    redireccionar:function(url){
  115.        if(Min.valiciones.esUrl(url)){
  116.            this.ubicacion.assign(url);    
  117.        }else{
  118.            if(Min.consola){
  119.                alert('URL no valida: '+url);
  120.            }            
  121.        }
  122.    },
  123.    /**
  124.      * @method remplezarURL
  125.      * @param Strin url
  126.      * @Description remplazar la pagina actual a otra, borrandola del historial
  127.      */
  128.    remplezarURL: function(url){
  129.        if(Min.valiciones.esUrl(url)){
  130.            this.ubicacion.replace(url);    
  131.        }else{
  132.            if(Min.consola){
  133.                alert('URL no valida: '+url);
  134.            }            
  135.        }        
  136.    },
  137.    /**
  138.      * @method recargar
  139.      */
  140.    recargar:function(){
  141.        this.ubicacion.reload();
  142.     }    
  143. }
  144.  
  145. Min.valiciones={
  146.    /**
  147.      * @method esString
  148.      * @param Strin str
  149.      * @return Boolean
  150.      */
  151.    esNumero:function(str){
  152.        return !isNaN(str);
  153.    },
  154.  
  155.    /**
  156.      * @method esUrl
  157.      * @param Strin url
  158.      * @return Boolean
  159.      */
  160.    esUrl:function(url){
  161.      var str = new String(url);
  162.        var re=/^http:\/\/\w+(\.\w+)*\.\w{2,3}$/;
  163.        return re.test(str);
  164.    },
  165.    /**
  166.      * @method validarCampoCorreo
  167.      * @param String email
  168.      * @return Booblean
  169.      */
  170.    esEmail:function(email){
  171.      var str = new String(email);
  172.    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str)){
  173.      return true;
  174.    }else {
  175.      return false;
  176.    }
  177.  },
  178.  /**
  179.      * @method esHora
  180.      * @param String hora
  181.      * @return Booblean
  182.      * @example var bool = Min.valiciones.esHora("12:00 AM");    //true
  183.      */
  184.  esHora:function(hora){
  185.    var er_fh = /^(1|01|2|02|3|03|4|04|5|05|6|06|7|07|8|08|9|09|10|11|12)\:([0-5]0|[0-5][1-9])\ (AM|PM)$/
  186.     if( str == "" ){
  187.      return false
  188.     }
  189.     if(!(er_fh.test(hora))){
  190.      return false
  191.     }
  192.     return true
  193.  },
  194.  /**
  195.      * @method esFecha
  196.      * @param String fecha
  197.      * @return Booblean
  198.      * @example var f = Min.valiciones.esFecha("12-11-2009"); //true    
  199.      */
  200.  esFecha:function(fecha){
  201.    var Fecha= new String(fecha);
  202.      var RealFecha= new Date();
  203.      var Ano= new String(Fecha.substring(Fecha.lastIndexOf("-")+1,Fecha.length));
  204.      var Mes= new String(Fecha.substring(Fecha.indexOf("-")+1,Fecha.lastIndexOf("-")));
  205.      var Dia= new String(Fecha.substring(0,Fecha.indexOf("-")));
  206.      if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900){
  207.          return false;
  208.    }
  209.      if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){
  210.          return false;
  211.      }
  212.      if (isNaN(Dia) || parseInt(Dia, 10)<1 || parseInt(Dia, 10)>31){
  213.          return false;
  214.      }
  215.      if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {
  216.          if (Mes==2 && Dia > 28 || Dia>30) {
  217.             return false;
  218.        }
  219.    }
  220.  return true;
  221.  },
  222.  /**
  223.      * @method tieneNumeros
  224.      * @param String str
  225.      * @return Booblean
  226.      */
  227.  tieneNumeros:function(str){
  228.    var numeros="0123456789";
  229.    return this.comparacion(str,numeros);
  230.  },
  231.  /**
  232.      * @method tieneMinusculas
  233.      * @param String str
  234.      * @return Booblean
  235.      */
  236.  tieneMinusculas:function(str){
  237.    var letras="abcdefghyjklmnñopqrstuvwxyz";
  238.    return this.comparacion(str,letras);
  239.  },
  240.  /**
  241.      * @method tieneMayusculas
  242.      * @param String str
  243.      * @return Booblean
  244.      */
  245.  tieneMayusculas:function(str){
  246.    var letras="ABCDEFGHYJKLMNÑOPQRSTUVWXYZ";
  247.    return this.comparacion(str,letras);
  248.  },
  249.  /**
  250.      * @method comparacion
  251.      * @param String str
  252.      * @param String patron    
  253.      * @return Booblean
  254.      * @description Esta funcion busca en la cadena si existe un patron    
  255.      */
  256.  comparacion:function(str,patron){
  257.    for(i=0; i<str.length; i++){
  258.      if (patron.indexOf(str.charAt(i),0)!=-1){
  259.         return true;
  260.      }
  261.    }
  262.    return false;
  263.  }
  264. }
  265.  
  266. Min.vector={
  267.    /**
  268.      * @method crearArreglo
  269.      * @param Object o
  270.      * @return Array
  271.      */
  272.    crearVector:function(o){
  273.        if ((typeof o) == "object") {
  274.            var tmp = new Array()
  275.            for(item in o){
  276.                tmp[item]=o[item];
  277.            }
  278.            return tmp;    
  279.        }
  280.        return null;    
  281.    },
  282.    /**
  283.      * @method agregar
  284.      * @param Array vector
  285.      * @param String Item || Number Item
  286.      * @param Object valor (Number, Boolean, String)
  287.      */
  288.    agregar:function(vector,item,valor){
  289.        if ((typeof vector)=="object"){
  290.            vector[item]=valor;    
  291.        }else{
  292.            return null;
  293.        }        
  294.    },
  295.    /**
  296.      * @method eliminar
  297.      * @param Array arreglo
  298.      * @param String Item || Number Item
  299.      */
  300.    eliminar:function(vector,item){
  301.        if ((typeof vector) == "object") {
  302.            vector[item]=null;
  303.        }        
  304.    },
  305.    /**
  306.      * @method logitud
  307.      * @param Array arreglo
  308.      * @return Number
  309.      */
  310.    logitud:function(vector){
  311.        if ((typeof vector) == "object") {
  312.            return vector.length;
  313.        }
  314.    },    
  315. }
  316.  
  317. Min.DOM={
  318.    documento: document,
  319.    /**
  320.      * @method obtenerElementoID
  321.      * @param String id
  322.      * @return Object
  323.      */
  324.    obtenerElemento:function(id){
  325.        return Min.DOM.documento.getElementById(id);
  326.    },
  327.    /**
  328.      * @method DOMCompleto
  329.      * @param Function f
  330.      */    
  331.    DOMCompleto:function(f){
  332.        Min.Ventana.ventana.onload=function(){
  333.            f();    
  334.        }
  335.    },
  336.    /**
  337.      * @method obtenerPrimerHijo
  338.      * @return Object
  339.      */
  340.    obtenerPrimerHijo: function(){
  341.        return Min.DOM.documento.firstChild;
  342.    },
  343.    /**
  344.      * @method obtenerUltimoHijo
  345.      * @return Object
  346.      */
  347.    obtenerUltimoHijo: function(){
  348.        return Min.DOM.documento.lastChild;
  349.    },
  350.    obtenerPadre:function(el){
  351.        return el.parentNode;
  352.    },
  353.    /**
  354.      * @method obtenerBody
  355.      * @return Object
  356.      */
  357.    obtenerBody:function(){
  358.        return document.getElementsByTagName('body')[0];
  359.    },
  360.    /**
  361.      * @method insertarElemento
  362.      * @param object padre
  363.      * @param object hijo
  364.      */
  365.    insertarElemento:function(padre,hijo){
  366.        return padre.appendChild(hijo);
  367.    },
  368.  
  369.    agregarEvento:function(obj,evento,funcion){
  370.      var n = Min.Navegador.obtenerNavegador();
  371.      if(n==1){
  372.        obj.addEventListener(evento,funcion,false);
  373.      }
  374.  }
  375. }
  376.  
  377. Min.Ventana={
  378.    ventana: window,
  379.    ancho: window.screen.width,
  380.    alto: window.screen.height,
  381.    /**
  382.      * @method moverCapas
  383.      * @param String el
  384.      */    
  385.    moverCapas: function(el){
  386.        this.naveador=Min.Navegador.obtenerNavegador();
  387.        this.elemento=el;
  388.        this.comenzarMovimiento=function(){
  389.            var elMovimiento=document.getElementById(this.getId());
  390.            elMovimiento.style.position="relative";
  391.            elMovimiento.onmousedown=function(event){
  392.                cursorComienzoX=event.clientX+window.scrollX;
  393.                cursorComienzoY=event.clientY+window.scrollY;
  394.                document.addEventListener("mousemove",enMovimiento, true);
  395.                document.addEventListener("mouseup",finMovimiento, true);
  396.                elComienzoX=parseInt(elMovimiento.style.left);
  397.                elComienzoY=parseInt(elMovimiento.style.top);
  398.                function enMovimiento(event){
  399.                    var xActual, yActual;
  400.                    xActual=event.clientX+window.scrollX;
  401.                    yActual=event.clientY+window.scrollY;
  402.                    elMovimiento.style.left=(elComienzoX+xActual-cursorComienzoX)+"px";
  403.                    elMovimiento.style.top=(elComienzoY+yActual-cursorComienzoY)+"px";
  404.                    elMovimiento.style.opacity="0.4";
  405.                    evitaEventos(event);
  406.                }
  407.  
  408.                function finMovimiento(){
  409.                    document.removeEventListener("mousemove", enMovimiento, true);
  410.                    document.removeEventListener("mouseup", finMovimiento, true);
  411.                    elMovimiento.style.opacity="1";
  412.                }
  413.  
  414.                function evitaEventos(){
  415.                    event.preventDefault();
  416.                }
  417.            }
  418.        }
  419.        this.getId=function(){
  420.            return this.elemento;
  421.        }
  422.    },
  423.    crearVentana:function(titulo,ancho,alto){
  424.        alert(alto);
  425.        var b = Min.DOM.obtenerBody();
  426.        var d = document.createElement('div');
  427.        d.setAttribute('id','ventana1');
  428.        d.setAttribute('style','width: '+ancho+'px; height:'+alto+'px;');
  429.        d.setAttribute('class','ventana');
  430.        var panel = Min.DOM.insertarElemento(b,d);
  431.        d = document.createElement('div');
  432.        d.setAttribute('id','titulo');
  433.        d.setAttribute('class','ventana');
  434.    }
  435. }
  436.  
  437. Min.Navegador={
  438.    obtenerNavegador: function(){
  439.        if(navigator.userAgent.indexOf("MSIE")>=0){
  440.            return navegador=0;    
  441.        }
  442.        return navegador=1;    
  443.    },  
  444.  obtenerSistemaOperativo:function(){
  445.  
  446.  }    
  447. }
  448.  
  449. Min.Efectos={
  450.    /**
  451.      * @method iluminarElemento
  452.      * @param Number inicio
  453.      * @param Number fin
  454.      * @param Object el
  455.      */
  456.    iluminarElemento:function(inicio,fin,el){
  457.        if(Min.valiciones.esNumero(inicio)&&Min.valiciones.esNumero(fin)){
  458.  
  459.        }
  460.    }
  461. }
  462.  

Les dejo un Ejemplo:

Código
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2.  <head>
  3.  <script src="framework.js"></script>
  4.  <script>
  5.    Min.DOM.DOMCompleto(function(){
  6.      var obj = Min.DOM.obtenerElemento('a');
  7.      Min.DOM.agregarEvento(obj,"click",function(){
  8.        alert("Este es un evento Click en el Objeto: "+this.id);
  9.      });
  10.    })
  11.  </script>
  12.  </head>
  13.  <body>
  14.  
  15.    <div id="a">
  16.        <h1>HOLA</h1>
  17.    </div>
  18.  
  19.  </body>
  20. </html>
  21.  
83  Programación / Java / Re: ayuda con recepcion de imagenes en: 2 Octubre 2010, 18:26 pm
Entonces el escenario es, la camara toma una imagen y ud quiere que le envie un Buffer para que software lo interprete y muestre la imagen, si es algo asi??
84  Programación / Java / Re: ayuda con recepcion de imagenes en: 2 Octubre 2010, 17:55 pm
Es camara WEB o Fotografica
ha probado con JMF??
85  Programación / ASM / ASM y Robotica en: 2 Octubre 2010, 17:44 pm
Me Meti en un proyecto de mi universidad y es un competencia de Robots y yo soy de la parte de programacion, tengo nociones basicas de ASM pero la verdad no soy tan bueno en este lenguaje, queria perdirles consejo, por donde empiezo?, existen librerias? o si hay otro lenguaje de programacion que me facilite mas el desarrollo !!
86  Programación / ASM / Re: Videotutoriales ASM desde cero [Hablados en Español] en: 2 Octubre 2010, 17:41 pm
Hey lo voy mirar muchas gracias por el aporte !!!
87  Programación / Desarrollo Web / Re: javascript - limpiar array en: 2 Octubre 2010, 15:20 pm
ya probo realizando un for y recorrer cada elemento y asignarle null ???
88  Programación / Desarrollo Web / Re: joomla duda en: 2 Octubre 2010, 15:15 pm
esta usando algún componente en especial??

Por lo general las paginas como megavideo ponen en dispocision el código para que los pueda incrustar en su WEB, y si quiere ponerle fondo al vídeo ya le toca hechar mano a flash ... pille si esto le sirve no lo he revisado y no le garantizo la solución http://aprender-flash.blogspot.com/2008/08/crear-reproductor-flash.html
89  Programación / Desarrollo Web / Re: Posicionar web en: 2 Octubre 2010, 15:08 pm
Depende si es pago lo mejor es usar google addwords y sino usando metadatos con la etiqueta <meta> le dejo esto http://www.guia-buscadores.com/posicionamiento/las-etiquetas-meta.html
90  Programación / Programación General / Re: [Fundamentos] Programación Orientada a Objetos en: 3 Septiembre 2010, 20:16 pm
si básicamente lo que hago es un resumen, pero también hay redacción mía, si y me falta anexar la bibliografía y no todo lo tome del curso de 5 estrellas
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines