Gnu/Linux‎ > ‎

Programación

Apple Swift en GNU/Linux Debian Jessie

publicado a la‎(s)‎ 31 may. 2016 13:22 por Juan Jose Ramirez Lama

Primero aclarar que lo he hecho con la versión estable de Swift la cual se puede descargar en https://swift.org/download/ ya que la versión inestable o beta no se por que no funcionaba, aunque puede que en el momento de que leas esto ya funcione sin problemas.

Primero abrir una terminal como root
# cd /opt
# mkdir -p /opt/swift/build
# cd /opt/swift/build

Ahora descargamos y descomprimimos los paquetes para programar en Swift, el cual no hay que compilar ya que vienen listos para ejecutar (recuerda cambiar el nombre del paquete por el que descargues).
# wget https://swift.org/builds/swift-2.2-release/ubuntu1404/swift-2.2-RELEASE/swift-2.2-RELEASE-ubuntu14.04.tar.gz
# tar zxvf swift-2.2-RELEASE-ubuntu14.04.tar.gz
# mv swift-2.2-RELEASE-ubuntu14.04 /usr /opt/swift/

Ahora verificamos que en /opt/swift/ este el directorio usr
$ ls /opt/swift

Una vez que confirmamos que este dentro, añadiremos el siguiente parámetros, para que cuando escribamos swift en la terminal, se abra el editor (hacer esto como usuario).
$ export PATH=/opt/swift/usr/bin:"${PATH}"

Ahora actualizamos los repositorios e instalamos las dependencias necesarias.
# apt-get update
apt-get install curl gcc sqlite3 git-core libffi-dev python-setuptools  python-dev python-pip

Listo, ahora solo queda ejecutar swift para que se abra el editor y podamos comenzar a ejecutar código o compilar algún archivo .swift.
$ swift
Welcome to Swift version 2.2 (swift-2.2-RELEASE). Type :help for assistance.
  1> 1 + 1  
$R0: Int = 2

Abrir bases de datos Access en Ubuntu

publicado a la‎(s)‎ 13 oct. 2015 13:33 por Juan Jose Ramirez Lama

MDB Viewer es una aplicación realmente interesante, que permite abrir bases de datos Access en Ubuntu y ver las tablas, datos, formularios…. que hay en la base de datos.


Para instalar MDB Viewer en Ubuntu, abrimos el terminal (Aplicaciones/Accesorios/Terminal) y escribimos:


# apt-get install mdbtools-gmb


Una vez realizada la instalación, encontraremos MDB Viewer en el menú Aplicaciones/Oficina.


Para abrir una base de datos Access, tan sólo debemos hacer clic sobre Archivo y después sobre Abrir. En la siguiente imagen se muestran las tablas de una base de datos llamada hospitales.mdb, que contiene tres tablas llamadas “Plantilla”,”Salas” y “Hospitales”.


Si seleccionamos una tabla y hacemos clic sobre el botón “Definition”, podremos ver la estructura de la tabla (campos que forman la tabla, tipo de datos de cada campo, claves primarias y tamaño de cada campo).


Si pulsamos sobre el botón “Data”, veremos los datos que hay en la tabla que tengamos seleccionada en ese momento.


Otra de las posibilidades que tenemos es la de exportar los datos de una tabla en un fichero de texto. Para ello haremos clic sobre el botón “Exportar”.


Con MDB Viewer también podremos ver las consultas, formularios, informes, macros y módulos que tengamos en una base de datos Access.


Si lo que queremos es exportar una base de datos Access a MySQL, Oracle, Sybase o Postgre, tendremos que pulsar el último botón, comenzando por la izquierda, que aparece en la barra de herramientas.


Por otro lado disponemos del paquete mdbtools, un conjunto de programas de línea de comandos que brindan más funcionalidad para gestionar bases de datos Access.


  • mdb-tables: muestra las tablas de la base de datos. La salida puede configurarse para mostrar los nombres de las tablas en una fila o una columna , separar las tablas con un separador y mostrar además las tablas de sistema de la base de datos.

  • mdb-schema: permite exportar el esquema de la base de datos entera o un tabla en particular en formatos adecuados para algunos motores de base de datos: AccessSybaseOracle, y Postgresql. Tiene una opción para sanear los nombres (por ejemplo reemplaza espacios por guiones bajos).

  • mdb-sql: un cliente interactivo con un lenguaje SQL minimal y dos comandos útiles, listar y describir tablas.

  • mdb-export: exporta los datos en formato CSV o como sentencias INSERT de SQL (la exportación de gmdb no tiene ésa opción).


Las mdbtools pueden instalarse escribiendo lo siguiente en el terminal:


# apt-get install mdbtools

Como crear un Script

publicado a la‎(s)‎ 13 oct. 2015 7:47 por Juan Jose Ramirez Lama   [ actualizado el 13 oct. 2015 7:54 ]

Un bash script es un pequeño programa escrito en el lenguaje de nuestra consola bash. Es una herramienta muy potente y util que sirve principalmente para automatizar tareas comunes que hacemos de forma manual.

¿Cómo se hacen los bash script?

Lo primero es indicar el lugar donde se encuentra nuestra bash, por defecto se esta en /bin/bash. Esto lo hacemos del siguiente modo #! /bin/bash .#! -> con ésto le decimos a nuestra consola donde se encuentra un determinado programa, en este caso, nuestra propia shell. Tras ésto empezamos con las sentencias.


Podemos usar estructura de control (if, else, while, until ...) y variables al igual que en la mayoria de los lenguajes de programación. Las variables son fuertemente tipadas (una vez definido su tipo no podra cambiarse) y no hay que especificar su tipo (la shell es la encargada de esa labor).


Las instrucciones que podemos emplear son las mismas que empeariamos en nuestra consola, pongo un ejemplo de un script sencillito que nos actualiza el sistema:

#! /bin/bash
sudo aptitude update & sudo aptitude upgrade & sudo aptitude dist-upgrade


Abrimos nuestro editor de texto preferido (por ejemplo gedit) y copiamos ese script, lo guardamos por ejemplo con el nombre de Actualizar.sh

Para ejecutarlo podemos hacer lo siguiente, desde la consola nos situamos en el directorio donde guardamos el script y tecleando sh Actualizar.sh lo ejecutamos. Es posible que no tengamos permisos de ejecucion para ese script y lo solucionamos tecleando en consola:

$ chmod +x Actualiza.sh


Si integrar nuestro script en el sistema de forma que podamos llamarle desde cualquier lugar y poniendo solo su nombre, lo movemos a la carpeta /bin
Hecho eso, bastara con poner Actualiza.sh desde cualquier lugar para que se ejecute.


Al igual que en la consola podemos usar tuberias, esto es pasarle la salida de un comando a otro. Para ello usamos este simbolo | un ejemplo:

ls -F | grep "/"

Este comando mostrara en pantalla sólo directorios. ls -F muestra todos los archivos añadiendo al final de cada directorio el caracter espaciador (/). grep toma la salida de ls -F y filtra todos los archivos que contengan el carácter /


Podemos mostrar la salida de un programa por otro medio que no sea el estándar (pantalla) por ejemplo a un archivo. Para ello usamos el caracter > . Por ejemplo:

ls --all > archivoss.txt

Esto creara un archivo llamado archivos.txt conteniendo el resultado de ls --all

Del mismo modo con el caracter Esta es la estructura de control mas basica. Evalúa una condición y ejecuta un código dependiendo de si la condición es verdadera o falsa. La sitaxis es la siguiente:
if [ condición booleana]; then
sentencias
fi


Adicionalmente podemos usar la sentencia else que ejecuta codigo en caso de que la condicion no se cumpla:

if [condicion booleana]; then
sentencias
else
sentencias
fi

Podemos anidar varios else, del siguiente modo:

if [condicion booleana]; then
sentencias
elif [condicion booleana]; then
sentencias
else
sentencias
fi

Un ejemplo que ilustra el uso de este tipo de estructuras de control:

#!/bin/bash
A="hola"
B="buenas"
if [ "$A" = "$B" ]; then
echo Ambos son iguales
elif [ "$A" = "Buenos dias"] then
echo -e "$A vale buenos dias"
else
echo Ambos son distintos
fi


Otro tipo de estructura de control es el while. Este bucle se ejecuta indefinidamente mientras la condicion sea cierta. Esta es la sintaxis:

while [condicion booleana]; do
sentencias
done

Ejemplos:

#!/bin/bash
CONTADOR=0
while [ $CONTADOR -lt 10 ]; do
echo El contador es $CONTADOR
let CONTADOR=CONTADOR+1
done

Para que veais lo sencillo que resulta hacer un script os voy a dejar uno que pide una fecha y muestra un calendario de la fecha:

#!/bin/bash
var1="Introduzca un anio"
var2=$(zenity --entry --text "$var1")
var3=$(zenity --entry --text "Introduzca un mes")
var4=$(zenity --entry --text "Introduzca un dia")
zenity --calendar --year "$var2" --day "$var4" --month "$var3"


HolaMundo.sh

#! /bin/bash
clear
echo “Hola mundo ,este es mi primer script!!!!”

ScriptUno.sh
#! /bin/bash
clear
nombre=”Manolo el del”
apellidos=”Bombo”
echo “Te llamas $nombre $apellidos”

Fecha.sh
#! /bin/bash
clear
fecha=`date | cut -d ” ” -f 1,2,3`
hora=`date | cut -d ” ” -f 4`
echo “Hoy es $fecha y son las $hora”

OtroScript.sh
#! /bin/bash
clear
# IFS es una variable de entorno que determina el delimitador de campos
# (que por defecto vale ” “),en este script queremos
# cambiarlo a “,” para escribir por teclado nombre,apellidos
IFS=”,”
read -p “Introduce el nombre,apellidos : ” nombre apellidos
echo “El nombre es $nombre y los apellidos son $apellidos”


Compilador C/C++ para linux

publicado a la‎(s)‎ 19 abr. 2015 15:21 por Juan Jose Ramirez Lama   [ actualizado el 15 oct. 2015 4:59 ]

Desde una terminal debes teclear lo siguiente para poder compilar en C o C++:
# apt-get -y install make build-essential

Para compilar en C:
$ gcc fuente.c -o ejecutable
./ejecutable

Para compilar en C++:
$ g++ fuente.cpp -o ejecutable
./ejecutable

Aumentar Memoria en PHP

publicado a la‎(s)‎ 27 feb. 2015 19:42 por Juan Jose Ramirez Lama   [ actualizado el 13 oct. 2015 8:56 ]

Si alguna vez te aparece un aviso de que la memoria de PHP es demasiado baja, puedes aumentarla siguiendo los siguientes pasos:


Abrimos una terminal y tecleamos:

# gedit /etc/php5/apache2/php.ini


Se nos abrira una un documento y buscamos la linea que diga:

memory_limit = 16M


Pantallazo-php.ini (-etc-php5-apache2) - gedit.png


Luego en esa casilla le cambiamos el valor de 16M (valor por defecto) por uno mas adecuado por ejemplo 64M en mi caso pero otros le dan hasta 128M.


Quedando asi:

memory_limit = 64M

Guardamos y cerramos el archivo y Listo, ya no nos dará mas problemas de memoria.

Manual Instalacion MatLab 7 (R14)

publicado a la‎(s)‎ 27 feb. 2015 19:09 por Juan Jose Ramirez Lama   [ actualizado el 13 oct. 2015 8:58 ]

La Instalación es muy sencilla, cuando revise los documentos dije "Ahora como lo instalo, no entiendo nada (estaban en ingles)" y googleando pille unas guías y la instalación fue mucho mas fácil de lo que imaginaba, aquí les explico como lo instale:


Una vez descargados los 3 CD's, lo primero es crear la carpeta donde deseamos instalar la aplicación:


$ mkdir /ruta_deseada/MatLab #(no es necesario escribir explícitamente MatLab)


Montamos el CD1:


# mount -t iso9660 -o loop nombre_cd1.iso /mnt/ #yo utilizo /mnt/ para montar mis iso's


Copiamos el archivo license.dat a la carpeta donde vamos a instalar MatLab (en el caso del ejemplo es /ruta_deseada/MatLab/)


entramos a la carpeta que hemos creado:


$ cd /ruta_deseada/MatLab/


luego instalamos el programa:


$ sh /mnt/install


En ese momento se iniciará la instalación de Matlab 7.


Continuamos con la instalación de forma gráfica. El instalador nos pedirá introducir el CD2 y más tarde el CD3 para completar la instalación. (debemos montar y desmontar las iso's como ya sabemos)


Ahora, copiamos el archivo license.lic en la carpeta que hemos utilizado /ruta_deseada/MatLab/etc/

Editamos el fichero para sustituir en la primera línea del archivo "your_host_name" por el nombre de tu máquina. Guardamos y cerramos el archivo.


Para finalizar, desde un terminal como root, ejecutamos el script que se encuentra en el directorio de instalación de Matlab. Este script se llama install_matlab

# sh /ruta_deseada/MatLab/install_matlab

Aceptamos todas las pasos dejando las opciones por defecto y ya tenemos completamente instalado Matlab 7.


Ahora, desde un terminal, para ejecutar el programa basta con teclear

matlab

Solucion a algunos errores:


Si no llegases a tener los archivos mencionados puedes descargarlos aqui, pero son para la versión presentada aquí.

Manual Matlab

Ninja IDE: Un IDE Pensado para Python

publicado a la‎(s)‎ 27 feb. 2015 19:04 por Juan Jose Ramirez Lama   [ actualizado el 13 oct. 2015 8:58 ]

Ninja IDE: Un IDE Pensado para Python

Por fin alguien se dignó a escribir un IDE como la gente para Python que cualquier ciudadano de a pie pueda usar sin problemas en Linux. Sí, existen varios IDEs para programar en distintos lenguajes, incluso Python, pero este tiene algunos pequeños trucos bajo la manga...



¿Cómo comenzó NINJA-IDE?

NINJA-IDE nació por unos mails enviados a PyAr, cuya temática suele escucharse con bastante frecuencia: "Qué buen IDE para Python puedo usar?", "Por qué no hay un IDE para Python que tenga tal o cual característica?", y las respuestas a estos mails siempre terminan siendo mas o menos las mismas, ya que los IDEs actuales que encontramos disponibles, en su gran mayoría, no estaban diseñados para Python, sino que brindaban la opción de incorporarlo mediante algún Plugin y de esta forma se solía estar utilizando IDEs muy pesados diseñados para otros fines, donde el soporte para Python en realidad era mínimo, y aquellos que si eran para Python terminaban siendo muy orientados a un Framework especifico o no eran Libres. Entonces, motivados por el desafío que representaba, y por ideas interesantes que se plantearon en la lista de correo, decidimos encarar este proyecto enfocándonos en "qué características debería tener un buen IDE para un programador Python".


Con esto en mente comenzamos el desarrollo de NINJA-IDE, cuyo nombre es un derivado del acrónimo recursivo: "Ninja Is Not Just Another IDE". El IDE tiene apenas poco más de dos meses de desarrollo, pero gracias a las ganas y las horas de programación que le estamos dedicando, ya podemos contar con un IDE con muchas funcionalidades implementadas, hasta el punto de poder continuar con el desarrollo de NINJA-IDE utilizando NINJA-IDE, lo cual a su vez nos ayuda para encontrar bugs y mejorar la usabilidad y practicidad de la aplicación, a través de la experiencia y uso continuo de la misma.


El proyecto esta desarrollado bajo licencia libre GPL y puede conseguirse el código a través de:


Algunas de las características actuales del IDE son:

  • Funcionalidades típicas de cualquier IDE para el manejo de archivos, de Tabs, indentación automática, Zoom en Editor, etc.
  • Al estar escrito en Python y utilizar PyQt, es multiplataforma y fue probado en sistemas Linux, MAC OS X y Windows.
  • Resaltado de Sintaxis para un gran variedad de lenguajes (si bien esta centrado en Python, brinda el resaltado de sintaxis para otros lenguajes más para comodidad del programador).
  • Posibilidad de usar una Consola Python desde el mismo IDE.
  • Permite el manejo de Proyectos en el IDE, reconociendo los mismos como Proyectos Python y a través del IDE crear nuevos archivos y carpetas, borrar archivos existentes, creación automática de archivos "__init__" con la información dentro de ese módulo, etc.
  • Permite ocultar y reubicar todos los paneles de la interfaz de una forma muy simple, permitiendo que sea adaptado a los gustos del usuario.
  • Permite ver más de un Editor al mismo tiempo de forma vertical u horizontal.
  • Extensible a través de la incorporación de Plugins (los cuales pueden crearse utilizando un Plugin de NINJA-IDE para mayor simplicidad).
  • Maneja sesiones del IDE, para recordar que archivos y proyectos se encontraban abiertos cuando se cerró y los recupera al abrir nuevamente una instancia del mismo.
  • Soporte para Auto-completado (siendo un auto-completado especifico del objeto al que se esta accediendo).
  • Actualizaciones automáticas.
  • Y muchas características más!






¿Quiénes desarrollan NINJA-IDE?

NINJA-IDE comenzó siendo desarrollado por Santiago Moreno y Diego Sarmentero, y a las 2 semanas de haber comenzado el proyecto ya estaba siendo utilizado para desarrollar el mismo. Gracias a la gente de la Lista de PyAr, Blogs, etc. en muy poco tiempo la difusión del proyecto hizo que pudiéramos estar contando con Reporte de Bugs por parte de Usuarios, Sugerencias en la lista de correo de NINJA y hasta con aportes de código por parte de usuarios y colaboradores, de los cuales algunos pasaron a formar parte de NINJA-IDE con el rol de commiters, como es el caso de: Martín Alderete, Juan Cabral y Matías Herranz.


Esta fuerte colaboración y participación que estamos recibiendo de la comunidad permite que NINJA-IDE pueda crecer cada día más, mejorando e implementando caracterísitcas que los usuarios necesitan. A su vez los comentarios que recibimos de personas usando actualmente NINJA-IDE, nos motivan a seguir trabajando duro en esta herramienta, con la cual deseamos simplificar aún más el desarrollo de aplicaciones Python.


¿Cómo decididieron qué características agregar?

Al comenzar el proyecto se pensó en una estructura que le permitiera al mismo crecer e incorporar funcionalidades a lo largo del tiempo, teniendo como guía dos factores principales: el Editor de Código y el Manejo de Proyectos. La aplicación comenzó a construirse cuidando estos dos pilares fundamentales y permitiendo que una buena base de los mismos facilitara luego la incorporación de nuevas características. El proyecto fue pasando por distintas etapas, comenzando por un buen editor con resaltado de sintaxis, siguiendo con el manejo de archivos de proyecto, hasta agregar características de plugins, auto-completado, manejo de sesión, etc. Muchas veces se ve a Python como un lenguaje que presenta mayores dificultades para brindar información sobre el código que se esta escribiendo al no poder hacer inferencia de los objetos en el momento de la programación a causa del tipado dinámico, etc.


En algunos casos, es cierto que al contar con un tipado explicito se pueden realizar análisis más simples y detallados, pero también es cierto que actualmente existen muchas herramientas y librerías para Python que ayudan a eliminar este tabú de que no es posible contar con un IDE que brinde real asistencia sobre el código que se esta generando. Es por eso que NINJA-IDE busca permitir que aquellos programadores que utilizan Python para desarrollar sus programas, cuenten con las mismas facilidades y ayudas que se obtienen al desarrollar en Java o .NET con alguno de los IDEs más conocidos actualmente para esos lenguajes. Tomando los resultados y experiencias obtenidas de IDEs para otros lenguajes, se pretende lograr un IDE pensado para Python que genere la misma satisfacción al usarlo.


Para la sugerencia, decisión e incorporación de nuevas características en NINJA-IDE se suele utilizar la lista de correo para lograr una decisión colectiva por parte de los miembros que componen el proyecto, más que nada para saber cual será el objetivo de esta característica, en que etapa debería incorporarse y demás detalles. Muchas veces estas características son motivadas por alguna funcionalidad interesante vista en otro IDE, una idea de alguno de los miembros o sugerencias del grupo de usuarios. De este modo, cualquier persona, tanto usuario como desarrollador, puede plantear que cosas le gustaría ver implementadas en NINJA-IDE y en base a la arquitectura del proyecto se podrá definir si es necesario incorporarla como parte del IDE mismo o como un plugin, permitiendo a la vez conocer que ideas se están trabajando y quienes asumen el control de las mismas para mantener al grupo de trabajo sincronizado.




¿Que podemos esperar de NINJA-IDE?

NINJA-IDE nace para cubrir una necesidad que nos parecía importante, y además veíamos que los enfoques actuales de los IDEs no brindaban la cobertura necesaria.


Nuestra intención al iniciar este proyecto fue crear un entorno centrado en el desarrollo de aplicaciones Python, pero siempre teniendo en cuenta la necesidad de contar con una comunidad de usuarios que nos permitiera mejorar la experiencia de uso de esta herramienta, y actualmente nos pone muy contentos poder estar contando con la comunidad de NINJA-IDE, ya que gracias a la experiencia y conocimiento colectivo de los usuarios es posible, que con sus sugerencias, el desarrollo del proyecto pueda avanzar más rápido y se tengan en cuenta muchos más detalles que de otra forma podrían ser pasados por alto.


Planes para el Futuro

Actualmente con el desarrollo continuo que estamos logrando, nos encontramos próximos a la liberación de la versión 1.0 de NINJA-IDE, la cual recibirá la denominación de 'Kunai'. En esta primera versión estarán presentes varias de las características mencionadas previamente, las que permitirán al desarrollador contar con un IDE robusto y práctico, obviamente como en todo proyecto irán surgiendo mejoras y nuevas features para implementar. Algunas de las cosas que están pensadas para ser incorporadas en NINJA-IDE en futuras versiones son:

  • Debuguer Gráfico
  • Poder ver la navegabilidad y relación de los módulos y clases de un proyecto de forma gráfica (basado en BlueJ)
  • Soportar herramientas de versionado de código.
  • Permitir la edición colaborativa de un documento.
  • Diseñador de interfaces Qt y Gtk integrado en el IDE.
  • Soporte para Frameworks como:
    • Django
    • Google App Engine
  • Y esto apenas está comenzando!


¿Qué herramientas utiliza NINJA-IDE?

El IDE es desarrollado utilizando el framework de PyQt para todo el manejo de la Interfaz Gráfica y algunas otras funcionalidades, aunque se intento abstraer lo más posible ciertas funciones para permitir, de ser necesario el día de mañana, portar NINJA-IDE a otros frameworks como Gtk. Qt permitió contar con una interfaz solida y altamente configurable, lo que hizo posible poder extender de cada elemento necesario para modificar su comportamiento y adecuarlo a las necesidades del IDE.


En cuanto al resaltado de sintaxis, NINJA-IDE hace uso de su propio sistema de resaltado de sintaxis utilizando funcionalidades de Qt, y permitiendo que este sistema de resaltado sea fácilmente extensible en NINJA-IDE con la creación de un simple archivo JSON que describa al lenguaje que se desea incorporar. Este método brinda mejoras en la performance, pero para cubrir aquellos lenguajes que no sean reconocidos a través de este sistema se incorporó el uso de Pygments para el resaltado de sintaxis de una mayor variedad de lenguajes. Aunque actualmente se está plantenado la posibilidad de que Pygments sea reemplazado por GNU Highlight por cuestiones de performance.


Para las funcionalidades de auto-completado, refactoring, y aquellas que se refieren a la inferencia del código, se utiliza Rope, la cual es una excelente librería, muy completa para este tipo de situaciones. Rope es una herramienta que permite llevar a un IDE para Python características de IDEs de lenguajes tipados. Actualmente también estamos trabajando en la incorporación de Chequeo de código utilizando la librería de Pep8, justamente para brindar información acerca del estado del código en relación a las normas de la Pep8.


Extensibilidad de NINJA-IDE

NINJA-IDE cuenta con un sistema de plugins bastante completo que permite la integración de dichos complementos como un elemento nativo del IDE. La escritura de Plugins es bastante sencilla y hasta se puede utilizar un Plugin de NINJA-IDE para la escritura de Plugins para NINJA-IDE (recursivo?). Este Plugin "para escribir Plugins" permite decidir con que partes del IDE el nuevo complemento se va a relacionar y crea de forma automática la estructura del proyecto necesario, junto al descriptor del Plugin para que NINJA-IDE lo pueda interpretar y la clase base de ese Plugin con los métodos que serán necesario reimplementar, a su vez, al terminar con la escritura del Plugin nos permite empaquetarlo para luego poder distribuirlo. Actualmente existen 3 Plugins para NINJA-IDE disponibles:

  • Pastebin: el cual permite enviar código a pastebin.com y devuelve el link resultante para poder compartir ese código.
  • PluginProject: el encargado de crear proyectos Plugins para NINJA-IDE como mencionábamos.
  • ClassCompleter: completa de forma automática algunas estructuras mientras se esta escribiendo código Python, como por ejemplo: crear el constructor de forma automática realizando la llamada a las Clases Padre que sean necesarias, etc.

Para consultar mayor información acerca de como desarrollar un Plugin para NINJA-IDE, se puede visitar la siguiente Wiki: http://code.google.com/p/ninja-ide/wiki/CrearPlugins


Contacto


Descarga

Ninja IDE ya se encuentra disponible en paquetes DEB y RPM. El resto del mundo, claro está, siempre puede descargar el código fuente y compilarlo. :)



¡Gracias Diego Sarmentero por compartir este excelente IDE con todos nosotros!

CODELITE, IDE para C/C++

publicado a la‎(s)‎ 27 feb. 2015 19:03 por Juan Jose Ramirez Lama   [ actualizado el 13 oct. 2015 8:57 ]

Desde que Anjuta IDE (1.2.x) dejo de ser soportado por ubuntu (desde la versión 6.10) me he tenido que remediar a utilizar la terminar para compilar, ya que la version 2 de Anjuta nunca logre hacer que compilara, pero en fin.


Ahora descubro este nuevo programa opensource, es un editor de codigo para programar en C/C++. CodeLite esta distribuido con licencia GPL. Para Ubuntu podemos descargar un paquete .deb desde el sitio principal. Existen tambien unos VideoTutoriales que nos adentran en el uso del programa.

Tambien es Hardy esta en los repositorios y es tan sencillo instalarlo como escribir en la terminal:

# aptitude install codelite

Diagramas UML

publicado a la‎(s)‎ 27 feb. 2015 19:02 por Juan Jose Ramirez Lama   [ actualizado el 13 oct. 2015 8:58 ]

Existen una gran Variedad de programas para Gnu/Linux para realizar representaciones aqui enlisto las que mas conozco:

UML (wikipedia)


DIA:

es una aplicación gráfica de propósito general para la creación de diagramas, desarrollada como parte del proyecto GNOME. Está concebido de forma modular, con diferentes paquetes de formas para diferentes necesidades. 

Dia está diseñado como un sustituto de la aplicación comercial Visio de Microsoft. Se puede utilizar para dibujar diferentes tipos de diagramas. Actualmente se incluyen diagramas entidad-relación, diagramas UMLdiagramas de flujo, diagramas de redes, diagramas de circuitos eléctricos, etc. Nuevas formas pueden ser fácilmente agregadas, dibujándolas con un subconjunto de SVG e incluyéndolas en un archivo XML.

El formato para leer y almacenar gráficos es XML (comprimido con gzip, para ahorrar espacio). Puede producir salida en los formatos EPS, SVG y PNG.

También conviene recordar que Dia, gracias al paquete dia2code, puede generar el esqueleto del código a escribir, si utilizáramos con tal fin un UML.

# apt-get install dia

WEB

KIVIO:

Es una aplicación informática para generar diagramas y organigramas, incluida dentro de la suite ofimática para KDE KOffice. Tiene un interfaz de usuario similar a Microsoft Visio y está completamente integrada a KOffice, pudiéndose por ejemplo utilizarse embebida en KWord.

# apt-get install kivio

UMBRELLO:

Umbrello es una herramienta libre para crear y editar diagramas UML, que ayuda en el proceso del desarrollo de software. Fue desarrollada por Paul Hensgen, y está diseñado principalmente para KDE, aunque funciona en otros entornos de escritorio.

Umbrello maneja gran parte de los diagramas estándar UML pudiendo crearlos, además de manualmente, importándolos a partir de código en C++JavaPythonIDLPascal/DelphiAda, o también Perl (haciendo uso de una aplicación externa). Así mismo, permite crear un diagrama y generar el código automáticamente en los lenguajes antes citados, entre otros. El formato de fichero que utiliza está basado en XMI.

También permite la distribución de los modelos exportándolos en los formatos DocBook y XHTML, lo que facilita los proyectos colaborativos donde los desarrolladores no tienen acceso directo a Umbrello o donde los modelos van a ser publicados vía web.

Umbrello se distribuye en el módulo kdesdk de KDE.

Diagramas soportados

En la actualidad, Umbrello permite la creación de los siguientes tipos de diagramas:

Organización de diagramas

Si el usuario lo desea, puede agrupar varios diagramas relacionados en un solo fichero XMI. Estos esta
rán organizados en diferentes vistas (lógica, de casos de uso, de componentes, etc.), que a su vez pueden contener diagramas o carpetas con las que clasificar aún más estos.

La creación de un tipo de diagrama está restringida a un tipo de vista determinado, por ejemplo, un diagrama de clases podría aparecer en la vista lógica pero no en la de despliegue. Dentro de una vista, los diagramas pueden ser movidos entre carpetas libremente.

Lenguaje con exportación soportada

# apt-get install umbrello

Java JDK 9 (repositorio)

publicado a la‎(s)‎ 27 feb. 2015 19:01 por Juan Jose Ramirez Lama   [ actualizado el 3 abr. 2016 14:43 ]

Como ya sabrán, Java de Oracle, ya no esta en los repositorios oficiales de ubuntu, pero eso no quiere decir que no sea posible instalarlo, para hacerlo, solo sigue los siguientes pasos, y como es costumbre, necesitaras una terminal.

REPOSITORIOS:
Gracias a la comunidad, se ha creado un repositorio el cual nos facilitara aun mas la vida para instalar Oracle JDK8:

Si teniamos una versión anterior de JDK9 hay que desintalarla:
# apt-get remove oracle-jdk9-installer
Instalamos los repositorios:
    Ubuntu/Mint
# add-apt-repository ppa:webupd8team/java
    Debian

# echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list

# echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list

# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886


Luego Instalamos los paquetes
# apt-get update
# mkdir -p /usr/lib/mozilla/plugins
# apt-get install oracle-jdk9-installer oracle-java9-set-default
Para comprobar que todo esta correcto, solo deben hacer en la terminal los siguientes comandos.
$ java -version 
$ javac -version
Esto, deberia responder algo como java version "1.9.0_45" y javac 1.9.0 

Con esto ya esta todo listo.

Espero les sea útil.

1-10 of 17