Buscar este blog

Translate

Mostrando entradas con la etiqueta gpl. Mostrar todas las entradas
thumbnail

Cómo Instalar Correctamente Aplicaciones en Linux




Hoy se me apetecía hablar en m post diario, un tema un tanto recurrente, que me lo veo cuando quiero instalar alguna utilidad o programa vía Git o binarios en Linux, ya sea Ubuntu, Debian o SuSe, y es el tema de la instalación, muchos tutoriales aparecen descargarse nuestro programa en el escritorio o en la carpeta raíz de nuestro usuario, y siento decíroslo, pero así está muy mal hecho.

 /opt

Para quiénes no lo sepáis linux cuenta con una carpeta especial, dedicada a que nosotros instalemos los binarios de GitHub en esta carpeta y operemos a través de ella, llamada /opt, en esta carpeta nosotros podremos crear la carpeta del programa en cuestión y operar con él. Es decir sería algo así

cd /opt
mkdir programa
cd programa
<comando github o wget>
<descomprimimos>
cd ..
chmod -R 777 programa

Para añadir un script que opere en nuestro sistema basta con crear un script en /bin, por ejemplo script, con lo siguiente

!#/bin/bash
echo $1
echo $2
./opt/programa/prog.o $1 $2

Con esto creamos nuestro programa y script para arrancarlo, pues nada hasta aquí mi post de hoy, si os ha gustado lo podéis compartir y si tenéis una opinión o algo, me lo podéis dejar en los comentarios, chao.
thumbnail

FFMPEG El Mejor Conversor... Para Windows ;)




Hola querido lector, hoy quería hablar de uno de los mejores conversores, lo usaba en Linux cuando usaba Linux Mint, y mucha gente no lo sabe, pero también puede usarse en Windows, con una sintaxis de uso muy similar al de linux.

ffmpeg -i archivoEntrada.avi archivoSalida.mp4

La verdad me ha gustado siempre la ínea de comandos en Linux, y parte de esa esencia ha sido llevada a Windows 10, la verdad a nivel de programación hay muchas cosas que hecho de menos de Windows 7, pero a nivel de comandos, es cierto que Windows 10 incluye powershell, y que esta utilidad es muy potente.



Para instalar ffmpeg, básicamente debemos:

1) Descargamos el binario de Windows de su página oficial
2) Lo descomprimimos en una carpeta, por ejemplo c:\ffpmeg
3) Lo añadimos a las variables de entorno
4) Nos vamos donde tenemosel archivo a tratar y samos la sintaxis:

ffmpeg -i archivoEntrada.avi archivoSalida.mp4

Arriba os he dejado un vídeo que os enseña paso a paso cómo configurar esto, espero que os haya gustado, que os haya servido este tutorial, y si queréis, me podéis seguir en mis redes sociales, como Facebook y Twitter, Un saludo y hasta la próxima.

thumbnail

Tipos De Interfaces de Usuario




Hola querido lector, hoy vamos a hablar de interfaces, ya que tienen de gala haber popularizado el mundo de la informática para usuarios que no son informáticos. Hace muchos años los ordenadores eran herramientas muy pesadas con cientos de conectores, todo esto fue cambiando, con la aparición del circuito integrado.

Pero aquí no estamos hoy para hablar del apasionante mundo de la integración, sino de los diferentes interfaces que puede tener un sistema informático, para ello lo primero que debemos de saber qué es una interfaz, y una interfaz no es ni más ni menos que un conector (o bus) con dos direcciones: entrada y salida.

Las interfaces podemos clasificarlas en 3 que son textuales, gráficas y táctiles, cada una desarrolladas en diferentes épocas y según tu nivel de usuario, esa es la que manejarás, por ejemplo las APIs y componentes de programación emplean interfaces textuales ya son las más fáciles de implementar, aquí os muestro los diferentes interfaces:


  • Textuales: estas interfaces van por línea de comandos, un ejemplo de esto es el comando “ls -l /root” que en linux significa listar por permisos la carpeta root, es bastante interesante saber comandos, ya sea en windows como linux (y mac os, si me lo permiten). Hay muchas opciones que sólo están en este tipo de interfaz y suelen ser las que “hablan” directamente con el sistema operativo.
  • Gráficos: Estas interfaces son muy populares en el mundo PC y MAC os debido a que todo va por pestañas de forma gráfica, y da opciones muy intuitivas y de ahorro de tiempo. Usan ratón y mucha gente piensa que el primer ordenador que trajo el PC con gráfica fue apple, lo cierto es que estos se lo plagiaron a otra empresa, y microsoft se lo plagió a apple.
  • Táctiles: Estas interfaces son altamente conocidas debido a que la mayoría usamos móviles, o tablets con pantallas táctiles, con los últimos avances en el mundo de la informática, suelen ser interfaces relativamente baratas, y dan una increíble experiencia de usuario.


Dentro de las interfaces gráficas existen las que tienen los diferentes sistemas operativos, e interfaces creadas por terceros, que interaccionan con la interfaz principal de Sistema Operativo, ejemplos de estos son Qt o Swing en Java.

Como curiosidad diré que con el resurgimiento de las tecnologías y juegos en 3D, están apareciendo nuevos tipos de interfaces gráficas, tales como juegos que dan una experiencia increíble, y con sensaciones nuevas, lo cual hace que veamos el futuro, como un lugar donde la informática será prácticamente el centro de nuestra existencia.

Pues nada esto ha sido todo por este artículo espero que os haya gustado, si es así podéis seguirme en google+ ya que en el resto de RRSS parece que no van bien con mi página web, y nada esto ha sido todo hasta la próxima.
thumbnail

Acceder A Atributos De Elementos Gráficos en Java




Hola querido lector, hoy voy a hablar de un tema bastante interesante, y es que como muchos os habréis imaginado yo hago muchos proyectos en Java, hago algunos retos y proyectos en este lenguaje de programación ya que es sencillo de aprender, apropósito tengo un curso gratis de Java en mi canal de YouTube.

Hoy quería hablar sobre cómo acceder a los elementos gráficos de un elemento gráfico en Java, para ello creo la interfaz con NetBeans, y cuando pongamos el nombre de nuestro elemento gráfico, este empezará a funcionar prácticamente igual que una variable de clase, es en las propiedades del elemento existe la posibilidad de hacerlo público.

Básicamente estas variables no se pueden editar de cualquier forma, hay que respetar la introspección, y para respetarlo, básicamente se hace con los modificadores getter y setter, por ejemplo si queremos cambiar valor a un Spinner se hace de la siguiente forma:

spinnerPeso.setValue(valor);

Y para obtener los valores se hace de la misma forma con get

valor=spinnerPeso.getValue();

Cada elemento tiene sus propios getter y setter, si estamos en NetBeans, te habrás dado cuenta que es muy fácil acceder a la mayor parte de los elementos mediante GUI y modificarlos a nuestro gusto. Simplemente debemos de usar set o get en nuestros elementos bastante sencillo verdad.

Bueno esto ha sido todo por el artículo o tutorial (?¿) de hoy, espero que hayan aprendido algo, y nos vemos por mi página y redes sociales. Saludos
thumbnail

(Programación) Que es un Binding, Características y Propiedades





Hola estimado lector, hoy voy a hablar de los diferentes binding, y sus características comunes, por si quieres ponerte a estudiar alguno que otro. Lo primero de debemos de saber es que un binding, un binding no es ni más ni menos que un “traductor”, es decir un software que nos va a convertir un XML en una interfaz gráfica.

Lo primero que debe quedar claro es que XML sirve para definir la estructura de un documento, y no sirve para crear estructuras de datos. Dicho esto, diré que yo en mi instituto he trabajado con QT Jambi un binding que sirve para crear una aplicación gráfica para Java a partir de una librería que la añades al proyecto Java.

Luego se podría decir que lo que hace básicamente los binding es mapear la información, es decir, convertir de forma automática un documento XML en código de la interfaz que se integrará en la aplicación.



Diré que un binding no tiene porqué ser independiente, es decir puede depender perfectamente de librerías en C, o de otros proyectos aparentemente inconexos entre sí, por ejemplo yo cuando usé QT Jambi, tuve que instalar GCC y las librerías QT, y añadirlos en las variables de entorno.

Ahora voy a explicar los diferentes propiedades, que debéis de saber de los diferentes binding, decir que esto se puede aplicar prácticamente a cualquier binding, la mayoría usa estos conceptos directa e indirectamente, aunque como siempre “el diablo está en los pequeños detalles” ;) .

  • Mecanismo signal/slot o señal/ranura: Es un procedimiento que permite añadir comportamientos a una determinada interfaz
  • Señal: Una señal se produce cuando el objeto emisor, que puede ser una etiqueta o componente, cambia de estado.
  • Ranura: Método que es llamado cuando se emite una señal. Es el desencadenante, algo así como método o función que se ejecuta cuando aparece una señal.
  • Close(): Esta es una ranura, que al menos aparece en QT Jambi, que sirve para cerrar una ventana o diálogo.
  • Buddies: Si queremos hacer que nuestra interfaz tenga atajos de teclados, que si nos fijamos en prácticamente todos los softwares profesionales existe, debemos de hacerlos mediante los buddies.
  • Tab order: Este concepto existe en muchos binding i sirve para definir el orden de nuestros componentes gráficos cuando le demos a tabulación, en muchos binding este concepto no existe, pero en la mayoría que se basan en QT sí es válido, y debemos saberlo.

Hasta aquí ha sido mi introducción al mundo de los binding, que es un mundo bastante interesante, y esta teoría es algo que a mi ma habría gustado conocer antes de ponerme a programar en binding y espero que os haya gustado, pues nada espero que os haya gustado y nos vemos en el siguiente artículo, puedes seguirme en Google+, y nada, esto ha sido todo, hasta la próxima!










thumbnail

Mini-Reto Modificar Precios Tienda en Java




Hola querido lector, hoy he estado buscando un pequeño reto para hacer hoy en un rato, la verdad ahora mismo estoy de exámenes, y apenas puedo dedicarle tiempo a esto, le dedico en mis ratos de ocio. En el tutorial de hoy, el usuario va a poner una determinada cantidad de precios, y en el caso que sea mayor a 100, le restamos un 20% y si es menor a 100 le ponemos un 25%.

Este ejercicio me llama mucho la atención en el sentido que, en mis 6 años trabajando en una tienda de informática es cierto que se ganaba más en los pequeños productos que en los productos más caros. En fin aquí os lo traigo y espero que os guste. Aquí tenéis el ejercicio:


Reto

Escribe un método, de nombre actualizarArchivoPrecios, que reciba por parámetro el nombre de un archivo que almacena un conjunto de valores correspondientes a una referencia de artículo y a su precio. El método actualizará los precios de forma que los superiores a 100 se decremente en un 20% y los inferiores a se incremente un 25%. Intenta capturar y tratar las excepciones.




Aquí tenéis la solución:

  try {
            String archivo = args[0];
            System.out.println("0: " + args[0]);

            float[] precios;
            int numero;
            //    Scanner sca = new Scanner(System.in);

            String[] cadenasTodas;
            String cadena;
            String cadenaTotal = "";
            FileReader f = new FileReader(archivo);
            BufferedReader b = new BufferedReader(f);
            while ((cadena = b.readLine()) != null) {
                cadenaTotal += cadena.toString() + " ";
            }
         
            cadenasTodas = cadenaTotal.split(" ");
            precios = new float[cadenasTodas.length];
            for (int i = 0; i < cadenasTodas.length; i++) {

                precios[i] = Float.parseFloat(cadenasTodas[i]);
                if (precios[i] <= 0) {
                    throw new Exception("Debes poner un número mayor a 0");
                }
            }

            for (int i = 0; i < precios.length; i++) {
                if (precios[i] > 100) {
                    precios[i] = (precios[i] * 80) / 100;
                } else {
                    precios[i] = (precios[i] * 125) / 100;
                }
            }
            for (int i = 0; i < precios.length; i++) {
                System.out.println("El nuevo precio es: " + precios[i]);
            }
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }


Gracias por haber leído este tutorial, puedes dejarme un comentario más abajo, un saludo y hasta pronto

FUENTE:

https://javaparajavatos.wordpress.com/2016/12/02/reto-de-acceso-aleatorio/


thumbnail

Reto del Reloj a Través del Espejo en Java




Hola estimado lector, estaba yo aquí en mi habitación, que se me apetecía hacer un reto de programación en Java, viendo en mi página favoritas de retos www.aceptaelreto.com , vi un reto que la verdad me llamó la atención, que era hacer que un reloj se marque en el espejo, está bastante chulo aquí os dejo el reto:

Hoy te has despertado y al mirar, con legañas en los ojos, el reloj de agujas de tu habitación te has llevado un susto de muerte. ¡Las 8:05! ¡¡Ya llegas tarde!! Afortunadamente enseguida te has dado cuenta de que estabas viendo el reloj a través del espejo. Al mirar al reloj real, has visto que eran solo las 3:55. No sólo no llegas tarde, sino que todavía hay tiempo para otro buen sueñecito...
Reloj visto desde un espejo
¿Eres capaz de hacer un programa que, dada una hora en el espejo, devuelva la hora real?

Os digo lo que hay que hacer, básicamente usar el doble de la hora actual y restarlo y cuando aparezca volver al inicio de la cuenta, es ítem tanto minutos como segundos. Aquí os dejo el algoritmo:

  try {
            int minutos, horas, calculoMinuto, calculoHora;

            String time = "";
            Scanner sca = new Scanner(System.in);

            String[] horasTime;
            System.out.println("Dígame la hora(HH:MM): ");
            time = sca.nextLine();
            horasTime = time.split(":");
            horas = Integer.parseInt(horasTime[0]);
            minutos = Integer.parseInt(horasTime[1]);

            if (horas > 12 | horas < 0) {
                throw new Exception("");
            }
            if (minutos > 59 | minutos < 0) {
                throw new Exception("");
            }
            calculoMinuto = minutos * 2;
            while (calculoMinuto > 0) {

                if (minutos < 0) {
                    minutos = 59;
                }
                minutos = minutos - 1;
                calculoMinuto = calculoMinuto - 1;

            }
            if (minutos < 0) {
                minutos = 59;
            }
            calculoHora = horas * 2;
            while (calculoHora > 0) {

                if (horas <= 0) {
                    horas = 12;
                }
                horas = horas - 1;
                calculoHora = calculoHora - 1;

            }
            if (horas <= 0) {
                horas = 12;
            }
            String hora, minuto;
            hora = horas + "";
            minuto = minutos + "";
            if (hora.length() == 1) {
                hora = "0" + hora;
            }
            if (minuto.length() == 1) {
                minuto = "0" + minuto;
            }
            
            System.out.println("La hora espejo es:\n " + hora + ":" + minuto);
        } catch (Exception ex) {
            System.out.println("Debes de poner un patrón válido HH:MM");
        }

Si os ha gustado déjame tu comentario abajo, que me quiero enterar, un saludo y hasta pronto :)







thumbnail

Reto Suma De Dígitos con FOR en Java




Hola querido lector, el otro día vi en una página web, un reto en Java que consistía en que el usuario insertaba un número entero, y el programa debía de sumar todos y cada uno de los dígitos, he cumplido el reto y aquí lo posteo:



 try{
            Scanner sca =new Scanner(System.in);
            int numero, suma;
            String intermedio="";
            System.out.println("Pongame un numero entero");
            numero =sca.nextInt();
            suma=0;
            intermedio=numero+"";
            
            for (int i=0;i<intermedio.length();i++){
                suma=suma+Integer.parseInt(intermedio.charAt(i)+"");
            }
            System.out.println("El resultado es "+suma);
            
            
            
        }catch(Exception ex){
            System.out.println("Debes de poner un número entero válido");
        }

Pues nada eso ha sido todo el tutorial, espero que os haya gustado, y nada, hasta la próxima.
thumbnail

LAMP; Iniciación en Servidores web en Linux




Hoy voy a hablar de las tecnologías para la creación de web más populares: LAMP, también conocida como GLAMP, ahora explicaré porqué. Si queremos programar en la web generalmente lo haremos con lenguajes de marcado y estilo, como HTML y CSS, o lenguajes en entorno cliente como JavaScript. Si queremos que se guarden datos, como por ejemplo preferencias o email de un usuario, debemos de usar un servidor web y un lenguaje de servidor.

El lenguaje a nivel de servidor más usado es PHP, además si quieres crear tu aplicación web es un lenguaje muchísimo más barato, comparado con ASP o NodeJS, y como lenguaje SQL suele emplearse MySQL.

La arquitectura LAMP viene de las siguientes siglas:

L -> Linux.
A->Apache (servidor web)
M ->MySQL
P -> PHP

Existen varias formas de instalar nuestra versión LAMP en Ubuntu/Linux mint es el siguiente:

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install apache2 php5 php5-cli

Para iniciar Apache:

sudo /etc/init.d/apache2 start  

Para parar Apache:

sudo /etc/init.d/apache2 stop  

Para reiniciar Apache:

sudo /etc/init.d/apache2 restart  

Para editar configuración en Apache:

sudo gedit /etc/apache2/apache2.conf  

Pues nada aquí dejo esta descripción, espero que os haya gustado y hasta la próxima, chao










thumbnail

¿Qué es Linux? Explicado para NO informáticos

Hola estimado lector, he visto uno de los mejores vídeos que visto que explican el desarrollo Open Source de Linux, la verdad explica con la metáfora de coches libres y no libres, y cómo interacciona cada uno de los desarrolladores y su licencia GPL para garantizar la libertad de su Software, sin lugar a dudas super recomendado.


thumbnail

Cómo convertir JSON en array en PHP




Hola, hoy quería compartir aquí en mi blog un tip que me pasó hoy que quería convertir un archivo JSON en un array propiamente dicho en PHP, la verdad al conocer PHP nunca pensé que era un lenguaje de programación tan potente y capaz prácticamente de hacer cosas inimaginables, me quedo yo sorprendido. Evidentemente no sólo de ésto, esto no es ni la punta del iceberg, pero vamos me ha gustado aprender esto y lo comparto aquí con ustedes:


$str='{"a":1,"b":2,"c":3,"d":4,"e":5}';
$Array1 = json_decode($str, true);
var_dump($Array1);


Pues nada esto ha sido mi pequeño tutorial de PHP, espero que os haya ayudado, hasta la próxima.

Popular Posts

Con la tecnología de Blogger.