domingo, 28 de febrero de 2016

num2Letras.java

Y bueno! Después de mucho sin publicar nada, por pereza sobre todo. Quiero dejar hoy, un código que pra mi gusto me costo demasiado hacer, pero lo hice!!!!!! El siguiente código toma una una cantidad la escribe con letra.
 Ejemplo:
 101101 : Ciento Un Mil Ciento Uno 
100001 : Cien Mil Uno 
 101010 : Ciento Un Mil Diez 

Este algoritmo descompone la cantidad tomando carácter por carácter y metiendolos en un Array, invierte el array para empezar a procesar las unidades las primeras y finalmente, hace el recorrido comparativo para escribir la cantidad con letra



package Fer.Test;

import java.util.ArrayList;

public class num2Letras {

 public static void main(String[] args) {
  System.out.println(num2Text(101101));
  System.out.println(num2Text(100001));
  System.out.println(num2Text(101010));
 }
 
  public static String num2Text (int cant){
   ArrayList   cantidad  = new ArrayList ();
   ArrayList   xreverse  = new ArrayList ();
         String     smillon   = "";
         String     scmiles   = "";
         String     sdmiles   = "";
         String     smiles    = "";
         String     scientos   = "";
         String     sdecenas  = "";
         String     sunidades   = "";
         int mile = 0;
         int dmil = 0;
         int cmil = 0;
         
         String cantcadena = String.valueOf(cant);
         int m=0;
         for(int i=0;i invertirArray(ArrayList  cantcadena){
   ArrayList reverse =  new ArrayList (); 
   for (int x=cantcadena.size()-1; x > -1; x--){
    reverse.add(cantcadena.get(x));
   }
   return reverse;
  }
 
  private static String escribeMillones (int num) {
  String millon = null;
  switch (num) {
      case 9: millon = "Nueve Millones";
        break;
      case 8: millon = "Ocho Millones";
     break;
      case 7: millon = "Siete Millones";
     break;
      case 6: millon = "Seis Millones";
        break;
      case 5: millon = "Cinco Millones";
        break;
      case 4: millon = "Cuatro Millones";
        break;
      case 3: millon = "Tres Millones";
        break;
      case 2: millon = "Dos Millones";
        break;
      case 1: millon = "Un Millon";
        break;
      //case 0: millon = "";
    // break;
        }
  return millon;
  }

  private static String escribeMilCentenas (int num,int dec, int uni) {
   String centenas = "";
   switch (num) {
       case 9: centenas = " Novecientos";
        break;
       case 8: centenas = " Ochosientos";
      break;
       case 7: centenas = " Setecientos";
      break;
       case 6: centenas = " Seiscientos";
         break;
       case 5: centenas = " Quinientos";
         break;
       case 4: centenas = " Cuatrocientos";
         break;
       case 3: centenas = " Trescientos";
         break;
       case 2: centenas = " Doscientos";
         break;
       case 1: if (dec + uni >0){
           centenas = " Ciento";
           } else
           centenas = " Cien";
         break;
       case 0: centenas = "";
      break;
         }
   return centenas;
  }
        
  private static String escribeMilDecenas (int dec, int uni) {
    String decenas = null;
    switch (dec) {
        case 9: if (uni>0){
      decenas = " Noventa y"+ escribeMilUnidades(uni);
      }else decenas = " Noventa";
      break;
        case 8: if (uni>0){
      decenas = " Ochenta y"+ escribeMilUnidades(uni);
      }else decenas = " Ochenta";
      break;
        case 7: if (uni>0){
      decenas = " Setenta y"+ escribeMilUnidades(uni);
      }else decenas = " Setenta";
      break;
        case 6: if (uni>0){
      decenas = " Sesenta y"+ escribeMilUnidades(uni);
      }else decenas = " Sesenta";
      break;
        case 5: if (uni>0){
      decenas = " Cincuenta y"+ escribeMilUnidades(uni);
      }else decenas = " Cincuenta";
      break;
        case 4: if (uni>0){
      decenas = " Cuarenta y"+ escribeMilUnidades(uni);
      }else decenas = " Cuarenta";
     break;
        case 3: if (uni>0){
           decenas = " treinta y"+ escribeMilUnidades(uni);
          }else decenas = " Treinta";
          break;
        case 2: if (uni>0){
       decenas = " Veinte y"+ escribeMilUnidades(uni);
      }else decenas = " Veinte";
      break;
        case 1: switch (uni){
          case 5: decenas = " Quince";
            break;
          case 4: decenas = " Catorce";
            break;
          case 3: decenas = " Trece";
            break;
          case 2: decenas = " Doce";
            break;
          case 1: decenas = " Once";
            break;
          default: if (uni>0){
            decenas = " Diez y"+ escribeMilUnidades(uni);
            }else decenas = " Diez";
            }
            break;
        case 0: decenas =  escribeMilUnidades(uni);
          break;
          }
   return decenas;
     }
  
  private static String escribeMilUnidades (int num) {
         String unidades = null;
         switch (num) {
           case 9: unidades = " Nueve";
               break;
           case 8: unidades = " Ocho";
          break;
           case 7: unidades = " Siete";
          break;
           case 6: unidades = " Seis";
             break;
           case 5: unidades = " Cinco";
             break;
           case 4: unidades = " Cuatro";
             break;
           case 3: unidades = " Tres";
             break;
           case 2: unidades = " Dos";
             break;
           case 1: unidades = " Un";
             break;
           case 0: unidades = "";
          break;
             }
   return unidades;
        }   
 
  private static String escribeCentenas (int num,int dec, int uni) {
  String centenas = null;
  switch (num) {
      case 9: centenas = " Novecientos";
       break;
      case 8: centenas = " Ochosientos";
     break;
      case 7: centenas = " Setecientos";
     break;
      case 6: centenas = " Seiscientos";
        break;
      case 5: centenas = " Quinientos";
        break;
      case 4: centenas = " Cuatrocientos";
        break;
      case 3: centenas = " Trescientos";
        break;
      case 2: centenas = " Doscientos";
        break;
      case 1: if (dec + uni>0){
        centenas = " Ciento";
        } else
        centenas = " Cien";
        break;
      case 0: centenas = "";
     break;
        }
  return centenas;
 }

  private static String escribeDecenas (int dec, int uni) {
   String decenas = null;
   switch (dec) {
       case 9: if (uni>0){
     decenas = " Noventa y"+ escribeUnidades(uni);
     }else decenas = " Noventa";
     break;
       case 8: if (uni>0){
     decenas = " Ochenta y"+ escribeUnidades(uni);
     }else decenas = " Ochenta";
     break;
       case 7: if (uni>0){
     decenas = " Setenta y"+ escribeUnidades(uni);
     }else decenas = " Setenta";
     break;
       case 6: if (uni>0){
     decenas = " Sesenta y"+ escribeUnidades(uni);
     }else decenas = " Sesenta";
     break;
       case 5: if (uni>0){
     decenas = " Cincuenta y"+ escribeUnidades(uni);
     }else decenas = " Cincuenta";
     break;
       case 4: if (uni>0){
     decenas = " Cuarenta y"+ escribeUnidades(uni);
     }else decenas = " Cuarenta";
    break;
       case 3: if (uni>0){
          decenas = " treinta y"+ escribeUnidades(uni);
         }else decenas = " Treinta";
         break;
       case 2: if (uni>0){
      decenas = " Veinte y"+ escribeUnidades(uni);
     }else decenas = " Veinte";
     break;
       case 1: switch (uni){
         case 5: decenas = " quince";
           break;
         case 4: decenas = " catorce";
           break;
         case 3: decenas = " trece";
           break;
         case 2: decenas = " doce";
           break;
         case 1: decenas = " once";
           break;
         default: if (uni>0){
           decenas = " Diez y"+ escribeUnidades(uni);
            }else decenas = " Diez";
       break;
         }
         break;
       case 0: decenas =  escribeUnidades(uni);
         break;
         }
  return decenas;
    }
  
  private static String escribeUnidades (int num) {
        String unidades = null;
        switch (num) {
          case 9: unidades = " Nueve";
              break;
          case 8: unidades = " Ocho";
         break;
          case 7: unidades = " Siete";
         break;
          case 6: unidades = " Seis";
            break;
          case 5: unidades = " Cinco";
            break;
          case 4: unidades = " Cuatro";
            break;
          case 3: unidades = " Tres";
            break;
          case 2: unidades = " Dos";
            break;
          case 1: unidades = " Uno";
            break;
          case 0: unidades = "";
         break;
            }
  return unidades;
       }       
}

jueves, 25 de julio de 2013

Instalando MariaDB (adios MySQL) en Ubuntu

MariaDB es un sistema de gestión de bases de datos derivado de MySQL con licencia GPL. Es desarrollado por Michael Widenius (fundador de MySQL) y la comunidad de des arrolladores de software libre

MariaDB es un fork directo de MySQL que asegura que permanecerá una versión de este producto con licencia GPL, ya que tras esta compra Oracle cambió la licencia de MySQL por una de tipo privativo, aunque Oracle aún conserva la versión MySQL Community Edition que sigue siendo GPL. Monty decidió crear esta variante porque estaba convencido de que el único interés de Oracle en MySQL era reducir la competencia que MySQL daba al mayor vendedor de bases de datos relacionales del mundo que es Oracle

Como Instalar MAria DB en Ubuntu

Añadimos Repositorios editando el fichero:

$sudo vim /etc/apt/sources.list

#Repositorios para mariaDB
deb http://ftp.osuosl.org/pub/mariadb/repo/5.5/ubuntu precise main
deb-src http://ftp.osuosl.org/pub/mariadb/repo/5.5/ubuntu precise main

Agregamos Repositorio

$sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 1BB943DB

Actualizamos Cache

$sudo apt-get update

Con apt-get instalamos MariaDB con todas sus dependencias

$sudo apt-get install libmariadbclient-dev libmariadbclient18 libmariadbd-dev libmysqlclient18 mariadb-client mariadb-client-5.5 mariadb-client-core-5.5 mariadb-common mariadb-server mariadb-server-5.5 mariadb-server-core-5.5 mariadb-test mariadb-test-5.5 mysql-common


$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 35
Server version: 5.5.32-MariaDB-1~precise-log mariadb.org binary distribution

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>



NOTA: MariaDB y MySQL comparten los mismos comandos


Principales errores de hackers novatos

-Registro e Historial

Lo primero a tener en cuenta para hacer la mayoría de comprobaciones de seguridad serian los registros del sistema o los famosos "logs". Un invasor novato que no tenga cuidado podría dejar un rastro fácil de detectar en ellos

con el comando:
$history

Los invasores precavidos suelen limpiar su rastro modificando o eliminando el fichero ~/.bash_history


#rm ~/.bash_history

o

#history -c

-Un atacante perezoso es fácil de atrapar

Los hackers cautelosos no suelen atacar desde casa. ya que tarde o temprano pueden tener un descuido y esto puede llevarles a modelar un lindo traje anaranjado
El código que ejecuten en el objetivo puede dilatarles. Si compilan el código en la victima pueden dejar un rastro importante en las librerías utilizadas

-Comprobar IP's
Si te has cuenta que tus sistemas han sido penetrados o podrían estarlo siendo, o que algo va mal. Contacta con tu ISP e investiga las IP's. Si el atacante no esta ocultando su IP o esta atacando desde casa, Lo tienes.

-Revisar Foros o Sitios de Interés
Los hackers novatos tienden a firmar sus travesuras y presumir para ganar popularidad y renombre. Esto los vuelve descuidados