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

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 ... 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 [84] 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 ... 456
831  Programación / Desarrollo Web / Re: [Encuesta] ¿Qué editor de código WEB utilizas? (2016) en: 7 Mayo 2016, 18:26 pm
Descripciones básicas de los editores:

Sublime Text
Editor liviano para Windows, Mac y Linux.

Notepad++
Editor liviando para Windows.

Eclipse
Editor todo en uno, hecho principalmente para el desarrollo en Java pero ahora puedes usarlo para el desarrollo WEB común.

Aptana
Versión de Eclipse con algunas modificaciones para el uso exclusivo de desarrollo WEB.

NetBeans
Editor de código creado por Sun Microsystems que ahora le pertenece a Oracle. Similar al eclipse.

Zend Studio
Editor de código diseñado por Zend para el desarrollo web en php.

PhpStorm
Editor de código para paginas web en php creados por jetbrains, los mismos creadores de Android Studio.

Cloud 9 (c9.io)
Editor de código online.

Codeanywhere (codeanywhere.com)
Editor de código online.

Orion (orionhub.org)
Editor de código online.

Codetasty IDE (codetasty.com)
Editor de código online.

Microsoft Visual Studio
Editor multiuso que también sirve para desarrollar paginas WEB en ASP.

Microsoft Visual Studio Online
Visual studio en la nube.

Microsoft Visual Studio Code
Version minimalista de visual studio que no compila, solo edita, está para Windows Linux y Mac. una mala copia de sublime text pero que tiene su par de seguidores.

Microsoft expression Web
Editor visual WEB, similar a Dreamweaver.

Adobe Dreamweaver
Editor que combina la edición gráfica con la edición de código.

Adobe Brackets
Editor WEB de adobe similar a dreamweaver pero que trabaja con plantillas PSD. A pesar de que está disponible para Windows, Mac y Linux las plantillas PSD solo se pueden crear desde Windows o Mac.

Adobe Edge
El reemplazo de Adobe Flash, en ves de crear archivos flv crea archivos html utilizando tecnología HTML5 para crear las animaciones.

AIDE Web
Editor WEB de excelencia para Android.

Quanta plus
Como Kompozer pero exclusivo para KDE (para entornos KDE de gnu/linux o KDE portado)

Kompozer
Similar a Dreamweaver pero gratis. Disponible para Windows, Mac y Linux.

Visual Web Developer
Como el editor Dreamweaver pero de Microsoft.

TextMate
Editor minimalista de OSX (es como usar gedit en gnu/linux).

Coda
Editor minimalista para OSX.

Atom Editor
Buen editor liviano, similar al sublime text. Su slogan es "The hackable text editor"

Komodo Edit
Editor de código multiproposito similar al eclipse en cuanto a algunas funcionalidades pero mucho mas liviano.

Emacs
Editor de texto para nostalgicos creado por Richard stallman.

Editor nativo Notepad
El notepad de Windows, si no tienes un editor a mano y necesitas hacer un cambio muy pequeño este editor te puede salvar el día. Mas de algunos comenzaron aprendiendo a programar en este editor. realmente no hace nada mas que escribir, no identa ni tabula multilineas ni selecciona una linea ni abre multiples archivos ni nada.

Editor nativo Gedit
Editor por defecto en ambientes Gnome de Gnu/Linux, es liviano, tiene soporte para colorear código y todo lo que un editor básico pueda hacer, pero es muy lento y trabaja muy mal con archivos grandes.

Editor nativo Kate
Lo mismo que Gedit pero para entornos KDE de Gnu/Linux.

Editor KWrite
Similar a Kate, es como decir Pepsi y Cocacola.

Editor de terminal nano
Editor para terminales Linux y Unix (OSX).

Editor de terminal vi o vim
Editor nativo de Linux disponible también para Unix (OSX)

832  Programación / Desarrollo Web / Re: [Encuesta] ¿Qué editor de código utilizas? (2015) en: 7 Mayo 2016, 17:56 pm
Finaliza la votación, resultados y nueva encuesta acá:

http://foro.elhacker.net/desarrollo_web/encuesta_iquestque_editor_de_codigo_web_utilizas_2016-t452045.0.html

Saludos.
833  Programación / Desarrollo Web / [Encuesta] ¿Qué editor de código WEB utilizas? [2016] en: 7 Mayo 2016, 17:54 pm
Debido a la antigüedad de la anterior y la falta de algunos editores nuevos se crea una encuesta nueva.

 - Pueden votar por 6 en total.
 - No mencionar depuradores o comandos (echo "hola mundo" > prueba.html).

Los resultados de la anterior encuesta:

[Encuesta] ¿Qué editor de código utilizas? (2015)

NombreVotos
Dreamweaver   30 votos (5.8%)
Aptana   2 votos (0.4%)
NetBeans   41 votos (7.9%)
Eclipse   44 votos (8.5%)
Notepad++   109 votos (21%)
Microsoft expression Web   2 votos (0.4%)
Quanta plus   0 votos (0%)
Sublime Text   120 votos (23.2%)
Atom   12 votos (2.3%)
Vim   16 votos (3.1%)
Geany   13 votos (2.5%)
Bluefish   3 votos (0.6%)
Emacs   4 votos (0.8%)
Gedit   17 votos (3.3%)
Brackets   12 votos (2.3%)
KWrite   2 votos (0.4%)
TextMate   0 votos (0%)
Coda   0 votos (0%)
Komodo Edit   4 votos (0.8%)
Visual Web Developer   0 votos (0%)
Zend Studio   0 votos (0%)
PhpStorm   5 votos (1%)
Otro (comentar)   13 votos (2.5%)
nano   17 votos (3.3%)
Visual Studio   52 votos (10%)

Esta encuesta esta en el subforo de Desarrollo Web, se aplica solo para proyectos de desarrollo web.

Saludos
834  Sistemas Operativos / GNU/Linux / Ayuda con virtualización en: 6 Mayo 2016, 22:03 pm
Hola, he decidido transformar mi servidor dedicado en varias instancias virtuales para separar en red local varios servicios tales como web, correo, archivos en la nube, vpnssl (o socks5 via ssh sobre un puerto personalizado), etc. El problema es que mi maquina no tiene recursos ilimitados, tiene 32gb de ram y una cpu xeon de 8 cores y quiero tener 7 u 8 instancias virtuales, sacando la cuenta de la cantidad de memoria que usa cada servicio mas lo que usa propiamente el sistema operativo me alcanza muy bien, pero estoy en el dilema de la compartición de recursos.

Estoy usando Centos 7, estuve observando KVM pero al crear una instancia necesitas declarar la cantidad de nucleos a usar y ram, si debo repartir estos recursos tendría que disponer de 1 nucleo para cada servicio y 2.5gb de ram para cada instancia, pienso que es muy poco en comparación a lo que tengo hoy (todo en uno).

La ventaja de lo que tengo hoy es que todos los servicios usan el mismo hardware asi que si un servicio no tiene mucha carga y otro tiene una carga elevada este puede hacer uso de la mayor parte de los recursos, esto quiere decir que el sitio web podría recibir una ataque muy bien mientras que los demás servicios estén relajados.

Al no poder hacer esto en KVM Qemu vi algunas alternativas como Openvz que justamente utilizan el hardware bajo demanda, esto quiere decir que ya no asignas un uso de memoria ram para cada instancia virtual sino que utiliza el máximo siempre y este se comparte (eso fue lo que entendí), el problema es que nunca he usado Openvz (pero si virtualbox y vmware workstation) y vi que ofrece un sistema llamado virtuozo pero que al parecer es de pago y mas de encima el sitio web está caido.

Asi que mi pregunta viene así: ¿Es posible utilizar software comunitario o de libre costo para realizar lo que necesito?

Otra pregunta: Esposible que la instancia web y mail hagan uso de todo el hardware pero el servidor de tetsing haga uso solamente de 2gb de ram y 2 cpu como máximo? hay algún software de virtualización que haga esto?

¿Que me recomiendan o que debiera ser lo mas óptimo que debiera hacer?
835  Programación / Programación C/C++ / Re: Ayuda en trabajo de Arreglos/Matrices en: 6 Mayo 2016, 05:06 am
Vamos, acá va:

Código
  1. // Pointer XY
  2. var pointer_x         = 6;                   // X (1 to 11)
  3. var pointer_y         = 6;                   // Y (1 to 11)
  4.  
  5. var payload           = 9;                   // Max number. Total rows * 2 + 1 (xy:9876543210123456789)
  6. var max_rows          = 11;                  // Max width & height rows to show
  7. var current_pointer_x = ((payload * 2) + 1); // Current pointer X
  8. var current_pointer_y = ((payload * 2) + 1); // Current pointer Y
  9. var lines             = [];                  // Array
  10. var floor             = payload;             // Dinamic floor
  11. var clon              = [];                  // Array
  12.  
  13.  
  14. // Buffer
  15. for(var a = 1; a <= payload + 1; a++){
  16.    var line = [];    // Empty line (array)
  17.    for(var b = payload; 1 <= b; b--)
  18.        line.push((b < floor) ? floor : b); // If number is < to floor: number, else: floor
  19.    lines.push(line); // Append line to lines
  20.    floor--;          // Floor reduction
  21. }
  22.  
  23.  
  24. // Horizontal mirror (right)
  25. clon  = lines.slice(0); // Clone array
  26. lines = [];             // Clear array
  27. for(a in clon){
  28.    var final_line = clon[a].slice(0); // Clone line to final line (left half)
  29.    final_line.push((a == (clon.length - 1)) ? 0 : clon[a][clon[a].length - 1]); // Center (n or 0)
  30.    clon[a].reverse();      // Invert line
  31.    for(b in clon[a])       // Append inverted line to final line
  32.        final_line.push(clon[a][b]);
  33.    lines.push(final_line); // Push final line
  34. }
  35.  
  36.  
  37. // Vertical mirror (bottom)
  38. clon = lines.slice(0); // Clone array
  39. clon.pop();            // Remove center line (the pointer)
  40. clon.reverse();        // Invert array
  41. for(a in clon)         // Append array inverted into lines array
  42.    lines.push(clon[a]);
  43.  
  44.  
  45. // Move area [[]]
  46. shift_left = (payload - pointer_x);
  47. shift_top  = (payload - pointer_y);
  48.  
  49. // Cut area
  50. clon = lines.slice(0); // Clone array
  51. lines = [];            // Reset array
  52. for(var a = 0; a <= clon.length - 1; a++){
  53.    var line = [];
  54.    for(var b = 0; b <= clon[a].length - 1; b++){
  55.        if(
  56.            ( a > shift_top)  &&                   // Cut top
  57.            ((a - shift_top)  < (max_rows + 1)) && // Cut bottom
  58.            ( b > shift_left) &&                   // Cut left
  59.            ((b - shift_left) < (max_rows + 1))    // Cut right
  60.        ){
  61.            line.push(clon[a][b]);
  62.        }
  63.    }
  64.    if(line.length)       // Have line?
  65.        lines.push(line); // Append line to lines
  66. }
  67.  
  68.  
  69. // Print result
  70. str = '';
  71. for(a in lines)
  72.    str += lines[a].join(' ') + '\n';
  73. console.log(str);

Código:
5 5 5 5 5 5 5 5 5 5 5
5 4 4 4 4 4 4 4 4 4 5
5 4 3 3 3 3 3 3 3 4 5
5 4 3 2 2 2 2 2 3 4 5
5 4 3 2 1 1 1 2 3 4 5
5 4 3 2 1 0 1 2 3 4 5
5 4 3 2 1 1 1 2 3 4 5
5 4 3 2 2 2 2 2 3 4 5
5 4 3 3 3 3 3 3 3 4 5
5 4 4 4 4 4 4 4 4 4 5
5 5 5 5 5 5 5 5 5 5 5

Si cambio las posiciones XY queda así:

Código
  1. var pointer_x         = 1;                   // X (1 to 11)
  2. var pointer_y         = 1;                   // Y (1 to 11)
Código:
0 1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9
2 2 2 3 4 5 6 7 8 9
3 3 3 3 4 5 6 7 8 9
4 4 4 4 4 5 6 7 8 9
5 5 5 5 5 5 6 7 8 9
6 6 6 6 6 6 6 7 8 9
7 7 7 7 7 7 7 7 8 9
8 8 8 8 8 8 8 8 8 9
9 9 9 9 9 9 9 9 9 9

Código
  1. var pointer_x         = 7;                   // X (1 to 11)
  2. var pointer_y         = 3;                   // Y (1 to 11)
Código:
6 5 4 3 2 2 2 2 2 3 4
6 5 4 3 2 1 1 1 2 3 4
6 5 4 3 2 1 0 1 2 3 4
6 5 4 3 2 1 1 1 2 3 4
6 5 4 3 2 2 2 2 2 3 4
6 5 4 3 3 3 3 3 3 3 4
6 5 4 4 4 4 4 4 4 4 4
6 5 5 5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6 6 6 6
7 7 7 7 7 7 7 7 7 7 7
8 8 8 8 8 8 8 8 8 8 8

Ahora la explicación:

Lo que hace es crear un buffer inicial, un cuarto de todo el cuadrado, luego solamente lo clona vertical y luego horizontal tal como lo expliqué en el post anterior. Se crea un cuadrado de 19 columnas y filas, esto quiere decir del 9 al 9 mas un centro = 18 + 1, después de esto se crea una segunda capa imaginaria de 11x11 (del 5 al 5 mas el centro) y recorta los bordes restantes, de esta manera se obtiene el puntero en la posición requerida. Imagina dos capas donde una capa superior es el recuadro y debajo de ella un cuadrado mucho mas grande con un punto al centro, si mueves la capa que está debajo podrás posicionar el punto donde tu quieras con el tamaño del recuadro de encima.

En esta imagen el puntero se localiza en la posición X:8 Y:7


De todas maneras como dijo MAFUS el resultado no siempre será coherente ya que no existe una mitad exacta, para simular una mitad colocando el cero al centro debes agregar una columna adicional por lo cual cuando quieres posicionar el puntero en X:1 Y:1 te faltará un número después del 9 (y no puede ser 10) ya que en el ejemplo que pusiste dices que el ancho total es de 5 a 1, el centro y luego de 1 a 5 por lo cual son 11, asi que si posicionas el cero en la primera columna te quedan 10 para rellenar, del 1 al 9 y luego que?, falta un número. En mi caso lo omití, si pones el puntero en X:1 Y:1 aparece una columna menos y una fila menos, el cuadrado deja de ser de 11x11 para ser de 10x10 (0 al 9). Para solucionar esto el tamaño del cuadrado a mostrar debiera ser de 9 (4 al 1 mas el centro y del 1 al 4), de esta manera si posiciono el cero en la primera columna solo debo rellenar 8 espacios (del 1 al 8). En el script se soluciona cambiando [payload] de 9 a 8 y [max_rows] de 11 a 9. El problema de raiz está en que el número máximo es impar y debiera ser el mayor par que pueda soportar una area de números del 0 al 9, o sea el 8 y no el 9.

Código:
0 1 2 3 4 5 6 7 8
1 1 2 3 4 5 6 7 8
2 2 2 3 4 5 6 7 8
3 3 3 3 4 5 6 7 8
4 4 4 4 4 5 6 7 8
5 5 5 5 5 5 6 7 8
6 6 6 6 6 6 6 7 8
7 7 7 7 7 7 7 7 8
8 8 8 8 8 8 8 8 8


Espero que hayas podido comprender bien.

Saludos.
836  Programación / Programación C/C++ / Re: Ayuda en trabajo de Arreglos/Matrices en: 5 Mayo 2016, 20:44 pm
Está bien lo de la optimización, pero te has saltado lo de que el usuario entra la coordenada de donde quiere el 0. Si lo pone en una esquina no puede haber espejos y el máximo valor del recuadro es 10.

Esa parte no lo habia leido xD pero se me ocurre que si el cuadro es de un máximo de 10x10 es porque solo puedes escribir hasta el 9, no puedes dibujar un 10 o se te corre la línea, en ese caso lo que yo haría es hacer un cuadrado de 9x9, es solo cuestión de modificar el script que hice y reemplazar el 5 por el 9 y despues hacer un padding xy eliminando lo sobrante dejando el 0 en la posicion donde tu quieras, pero la malla ya está hecha, solo faltaría mover y cortar con un padding y un shift.
837  Programación / Programación C/C++ / Re: Ayuda en trabajo de Arreglos/Matrices en: 5 Mayo 2016, 20:19 pm
Te sirve en javascript?

Código
  1. // Cantidad de numeros a utilizar
  2. var payload = 5;
  3.  
  4. var reverse = false;
  5. // Dos vueltas: superior e inferior, el inferior es un espejo del superior
  6. for(var a = 1; a <= 2; a++){
  7.  
  8.    if(reverse){
  9.        var minimo         = 1;
  10.        var agregar_centro = 0;
  11.    }else{
  12.        var minimo         = payload;
  13.        var agregar_centro = 1;
  14.    }
  15.  
  16.    for(var b = 1; b <= payload + agregar_centro; b++){
  17.  
  18.        var line = '';
  19.  
  20.        for(var c = payload; 1 <= c; c--){
  21.            if(c < minimo)
  22.                line += minimo + '';
  23.            else
  24.                line += '' + c;
  25.        }
  26.  
  27.        // Centro
  28.        if((!reverse) && (b == (payload + agregar_centro))){
  29.            // Última vuelta de la mitad del cuadrado.
  30.            line += '0';
  31.            reverse = true;
  32.        }else{
  33.            line += minimo;
  34.        }
  35.  
  36.        for(var d = 1; d <= payload; d++){
  37.            if(d < minimo)
  38.                line += minimo + '';
  39.            else
  40.                line += '' + d;
  41.        }
  42.  
  43.        if(reverse)
  44.            minimo++;
  45.        else
  46.            minimo--;
  47.  
  48.        console.log(line);
  49.  
  50.    }
  51. }

Código:
55555555555
54444444445
54333333345
54322222345
54321112345
54321012345
54321112345
54322222345
54333333345
54444444445
55555555555


Ahora, como son dos pisos, uno superior y el de abajo un espejo podrias hacer solo la mitad de la cara y luego replicarlo en algún stack ordenado:

Código
  1. var payload = 5;
  2. var lines   = [];
  3. var minimo  = payload
  4.  
  5. for(var b = 1; b <= payload + 1; b++){
  6.  
  7.    var line = '';
  8.  
  9.    for(var c = payload; 1 <= c; c--){
  10.        if(c < minimo)
  11.            line += minimo + '';
  12.        else
  13.            line += '' + c;
  14.    }
  15.  
  16.    if(b == (payload + 1)){
  17.        // Última vuelta de la mitad del cuadrado.
  18.        line += '0';
  19.    }else{
  20.        line += minimo;
  21.    }
  22.  
  23.    for(var d = 1; d <= payload; d++){
  24.        if(d < minimo)
  25.            line += minimo + '';
  26.        else
  27.            line += '' + d;
  28.    }
  29.  
  30.    minimo--;
  31.  
  32.    console.log(line);
  33.    lines.push(line + '\n');
  34. }
  35.  
  36. lines.pop();
  37. lines.reverse();
  38. for(_key in lines)
  39.    console.log(lines[_key]);

Código:
55555555555
54444444445
54333333345
54322222345
54321112345
54321012345
54321112345
54322222345
54333333345
54444444445
55555555555


Ahora, si lo piensas mejor son 4 lados, solo dibujas uno y los demas son espejos del mismo, es como tener una hoja de papel doblado en 4 con el cero en común como único centro pero hacer eso en c++ puede que salga mucho mas trabajoso y largo que invertir los for manualmente como te lo mostré anteriormente.



El primer grupo rojo corresponde a lo que realmente debes hacer, el segundo grupo rojo es la columna que unirá el lado derecho con el lado izquierdo, este debe decir que si no es la última línea entonces debe ser igual al último número de la fila, en caso contrario es cero. Luego de eso el restante derecho es el mismo contenido del izquierdo pero al reves, luego la parte inferior es igual a la superior pero al reves menos la última fila que corresponde al concatenador cero.

De todas maneras acá está el código del papel doblado en 4:

Código
  1. var payload = 5;
  2. var lines   = [];
  3. var min     = payload
  4.  
  5. for(var a = 1; a <= payload + 1; a++){
  6.    var line = [];
  7.    for(var b = payload; 1 <= b; b--)
  8.        line.push((b < min) ? min : b);
  9.    lines.push(line);
  10.    min--;
  11. }
  12.  
  13. var lines_str = [];
  14. for(a in lines){
  15.    var out  = lines[a].join('');
  16.    out += (a == (lines.length - 1)) ? 0 : lines[a][lines[a].length - 1];
  17.    lines[a].reverse();
  18.    out += lines[a].join('');
  19.    lines_str.push(out);
  20. }
  21.  
  22. var tmp = lines_str.slice(0);
  23. lines_str.pop();
  24. lines_str.reverse();
  25. for(a in lines_str)
  26.    tmp.push(lines_str[a]);
  27. lines_str = tmp;
  28.  
  29. for(a in lines_str)
  30.    console.log(lines_str[a]);

Código:
55555555555
54444444445
54333333345
54322222345
54321112345
54321012345
54321112345
54322222345
54333333345
54444444445
55555555555


Lo que puedes hacer es tomar estos códigos como conceptos, estudiarlos y hacer tu propio código en c++. La práctica es la mejor ayuda cuando necesitas estudiar y aprender, por eso no te hice el código en c++, para que lo tengas que hacer tu entendiendo la lógica.

Saludos.
838  Foros Generales / Foro Libre / Re: ¿El cero es par? si es asi se resolveria la Conjetura de Collatz en: 28 Abril 2016, 18:43 pm
Para mi el cero no es un número natural, para mi el cero es nulo o nada, no es un valor representativo por lo cual no es par.

La cantidad exacta de teclados sobre mi cabeza es par? pues no porque no hay, así de simple. Es como querer dividir por cero, si piensas en cero como un número jamás encontrarás la respuesta, pero si piensas en nulo y la representación de la nada entonces todo tiene sentido.
839  Seguridad Informática / Seguridad / Re: facebook en: 10 Abril 2016, 01:42 am
Esos antimalwares son malos, por eso te dije que usaras el avira, con eso te va a eliminar todo y ya.
840  Seguridad Informática / Seguridad / Re: facebook en: 9 Abril 2016, 14:28 pm
Tienes mal configurada la fecha en tu computador?

Entra aca y ve que aparece: https://es.wikipedia.org/ , te da el mismo error?

Por lo general cuando tienes la fecha del computador o celular mal configurada los certificados ssl no pueden funcionar ya que no se puede verificar la fecha de caducidad y generación y esto termina en un mensaje como el que has mostrado.

Si tienes la fecha bien puesta en tu pc y te estas conectando a internet desde tu casa entonces estas infectado, prueba desinstalar tu antivirus e instalar nod32 (de pago) o avira (gratis):

https://install.avira-update.com/package/antivirus/win/es-es/avira_antivirus_es-es.exe
o
http://www.eset-la.com/download/trial-gratuito/nod32-antivirus
Páginas: 1 ... 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 [84] 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 ... 456
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines