Trucos sobre manejo de softwarelibre y gnu linux. También a los programas que hago en gambas3, python, java, etc.... Consejos y trucos sobre otros programas: excel, word, internet, instalación de programas, Arduino y demás....
Hoy os traigo una aplicación realizada por "imagomundi", compañero del foro de gambas-es.org, que realiza consultas a la RAE (página online), y nos muestra la información que busquemos en un formulario.
Nos cuenta también su impresión sobre gambas y porque lo usa:
Uno de los motivos por los que me decidí por gambas, es la facilidad para hacer pequeñas aplicaciones que me ayuden en mi trabajo diario, soy editor de libros de ciencias sociales --no vivo de la programación-- y realmente ver lo que se puede hacer (GUI incluida) con unas pocas líneas de código, no para de sorprenderme.
He creado un video para el programa generador de carnets ( http://generadorcarnets.blogspot.com.es/ ), donde explico como hacer nuevas plantillas de carnets. Como veréis es muy sencillo, ya que partimos de las plantillas existentes, para adaptarlo a nuestras necesidades ( colores, textos, etc)
Tema 1. Módulos node.js
Tema 2. Expresiones regulares I. Búsqueda de patrones
Tema 3. Expresiones regulares II. Repetición y alternativa
Tema 4. Expresiones regulares III. Subpatrones y sustituciones
Tema 5. Eventos node.js
Tema 6. Entorno de ejecución de node.js
Tema 7. Gestión de la concurrencia en node.js
Tema 8. Acceso a ficheros
Tema 9. Flujos (streams)
Modulo 2.
Introducción a JavaScript de servidor y a node.js. Bucles, Clases
predefinidas, Objetos, Propiedades y Métodos; Prototipos y Clases;
Arrays; JSON; Funciones como Objetos y Cierres (Closures)
Zram permite hacer mayor uso de la RAM cuando el swap/paginación es requerido, especialmente en viejos ordenadores con poca RAM instalada.
Zram tiene el acceso más rápido hacia la memoria RAM, ya que este módulo se instala sobre la misma RAMcreando memoria adicional comprimida que requiere mayor utilización del CPU para comprimir y descomprimir los datos que contenga.
¿Qué ventajas tengo al usar ZRAM?
Dado que la paginación es llevada en un bloque de la memoria RAM, no tendremos que sufrir la ralentización de nuestro equipo, cosa que sucede al ser llevada la paginación en el disco. ZRAM usa de bloques en la memoria RAM para comprimir la información, liberando así la memoria RAM.
Instalación:
1) Comprobaremos si nuestro kernel soporta el modulo de zram. En mi caso, con Sid no hay problema alguno:
$grep -i zram /boot/config-`uname -r`
El resultado será algo como esto
CONFIG_ZRAM=m # CONFIG_ZRAM_DEBUG is not set
Esa “m” nos indica que zram es soportada como un modulo externo al kernel, así que vamos a cargarlo.
2) Editar el fichero /etc/rc.local con nuestro editor favorito. Yo utilizaré nano
$nano /etc/rc.local
Vamos a crear un zram de 100 MB. Tendremos que pegar estas lineas antes de donde poneexit 0
Ya tiene fecha de inicio el Curso Desarrollo de servicios en la nube con HTML5, Javascript y node.js en Miriada X
Como os comenté en este articulo, sobre el inicio del Curso de Desarrollo de servicios en la nube con HTML5, Javascript y node.js, ya tiene fecha de inicio que es el próximo: 14 de Mayo de 2015
No dejeis de pasar la oportunidad de seguir un curso gratuito sobre desarrollo de servicios en la nube.
Os dejo aqui el desarrollo del curso:
Modulo 0. Introducción al curso, al programa y al Sistema Operativo UNIX
Inicio : 14 may 01:00
Fin : 18 ago 00:59
Actividades
Tema 0: Transparencias del módulo
Tema 1. Introducción al curso y al programa.
Tema 2. Introducción y entrada al sistema UNIX
Tema 2. Cuestionario obligatorio
18 ago 00:59
Tema 3. El Sistema Operativo Unix. El sistema de archivos I
Tema 3. Cuestionario opcional
Tema 4. El Sistema Operativo Unix. El sistema de archivos II
Tema 4. Cuestionario opcional
Tema 5. El Sistema Operativo Unix. El sistema de archivos III
Tema 5. Cuestionario opcional
Tema 6. Sesión práctica sobre el sistema de archivos Unix
Tema 7. El Sistema Operativo Unix. La interfaz de usuario I
Tema 7. Cuestionario opcional
Tema 8. El Sistema Operativo Unix. La interfaz de usuario II
Tema 8. Cuestionario opcional
Tema 9. El Sistema Operativo Unix. La interfaz de usuario III
Tema 9. Cuestionario opcional
Tema 10. Sesión práctica sobre la interfaz de usuario I
Tema 11. Sesión práctica sobre la interfaz de usuario II
Modulo 1. Introducción a JavaScript de servidor y a node.js. Sentencias, Variables, Booleanos, Números, Strings y Funciones
Inicio : 14 may 01:00
Fin : 18 ago 00:59
Actividades
Tema 0: Transparencias del módulo
Tema 1. Introducción a Javascript. Tipos y valores
Tema 1. Cuestionario opcional
Tema 2. Programa, sentencia, variable y comentario
Tema 2. Cuestionario opcional
Tema 3. Expresiones con variables
Tema 3. Cuestionario opcional
Tema 4. Introducción node.js
Tema 5. Booleano, igualdad y otros operadores lógicos
Tema 5. Cuestionario opcional
Tema 6. Sentencia IF/ELSE
Tema 7. Números
Tema 7. Cuestionario obligatorio
18 ago 00:59
Tema 8. Strings e internacionalización (I18N)
Tema 8. Cuestionario opcional
Tema 9. Funciones
Tema 9. Cuestionario obligatorio
18 ago 00:59
Tema 10. Funciones como objetos y cierres
Tema 10. Cuestionario obligatorio
18 ago 00:59
Ejercicio P2P Opcional
Modulo
2. Introducción a JavaScript de servidor y a node.js. Bucles, Clases
predefinidas, Objetos, Propiedades y Métodos; Prototipos y Clases;
Arrays; JSON; Funciones como Objetos y Cierres (Closures)
Inicio : 14 may 01:00
Fin : 18 ago 00:59
Actividades
Tema 0: Transparencias del módulo
Tema 1. Bucles: sentencias while, for y do/while
Tema 2. Objetos, propiedades y métodos
Tema 2. Cuestionario obligatorio
18 ago 00:59
Tema 3. Sentencia for/in de JavaScript
Tema 4. Objetos: propiedades dinámicas y anidadas
Tema 4. Cuestionario obligatorio
18 ago 00:59
Tema 5. Referencias a objetos
Tema 5. Cuestionario obligatorio
18 ago 00:59
Tema 6. La Clase Array
Tema 6. Cuestionario opcional
Tema 7. JSON (JavaScript Object Notation)
Tema 7. Cuestionario opcional
Tema 8. Prototipos y clases JavaScript
Tema 8. Cuestionario obligatorio
18 ago 00:59
Tema 9. Espacios de nombres y cierres (closures)
Tema 10. Objetos como diccionarios: cierres o clases
Ejercicio P2P obligatorio
16 jun 00:59
18 ago 00:59
Modulo 3. Modulos node.js; Expresiones Regulares; Eventos, Entorno de Ejecución y Concurrencia en node.js; Ficheros y Flujos
Inicio : 21 may 01:00
Fin : 18 ago 00:59
Actividades
Tema 0: Transparencias del módulo
Tema 1. Módulos node.js
Tema 2. Expresiones regulares I. Búsqueda de patrones
Tema 3. Expresiones regulares II. Repetición y alternativa
Tema 4. Expresiones regulares III. Subpatrones y sustituciones
Tema 4. Cuestionario obligatorio
18 ago 00:59
Tema 5. Eventos node.js
Tema 6. Entorno de ejecución de node.js
Tema 6. Cuestionario obligatorio
18 ago 00:59
Tema 7. Gestión de la concurrencia en node.js
Tema 8. Acceso a ficheros
Tema 9. Flujos (streams)
Ejercicio P2P opcional
Modulo
4. Introducción a HTTP y a los Servidores Web; Introducción a express y
al Middleware Static; Introducción a REST; Aplicaciones express.js y
Composición de Middlewares; Formularios GET y POST; Parámetros Ocultos
Inicio : 21 may 01:00
Fin : 18 ago 00:59
Tema 0: Transparencias del módulo
Tema 1. introducción a HTTP
Tema 1. Cuestionario obligatorio
18 ago 00:59
Tema 2. Servidor Web
Tema 2. Cuestionario obligatorio
18 ago 00:59
Tema 3. Introducción a express.js y al middelware static
Tema 3. Cuestionario obligatorio
18 ago 00:59
Tema 4. Introducción a REST
Tema 4. Cuestionario obligatorio
18 ago 00:59
Tema 5. Aplicaciones REST con express.js
Tema 5. Cuestionario obligatorio
18 ago 00:59
Tema 6. Acceso a campos de la ruta
Tema 6. Cuestionario obligatorio
18 ago 00:59
Tema 7. Composición y ejecución de middlewares
Tema 8. Formulario GET
Tema 9. URL encode
Tema 10. Formulario POST
Tema 11. Parámetro oculto y method override
Ejercicio P2P Obligatorio
30 jun 00:59
18 ago 00:59
Modulo
5. Gestión de versiones de proyectos con git y GITHUB; Proyecto,
Espacio de Trabajo y Versiones (Commit); Arboles y Ramas de un proyecto;
Repositorios Remoto y colaboración a través de GITHUB
Inicio : 28 may 01:00
Fin : 18 ago 00:59
Actividades
Tema 0: Transparencias del módulo
Tema 1. GIT. Proyecto, directorio y versión
Tema 2. GIT. Proyecto Quiz 2015 en GITHUB
Tema 3. GIT. GITHUB
Tema 4. GIT. Crear proyecto random con GITHUB
Tema 5. GIT. Crear proyecto random con comandos
Tema 6. GIT. Análisis y gestión del área de trabajo
Tema 7. GIT. Ramas
Tema 8. GIT. Unir ramas: Merge
Tema 9. GIT. Repositorios remotos
Ejercicio P2P Obligatorio
11 ago 00:59
18 ago 00:59
Modulo
6. Proyecto Quiz I: Patrón Modelo-Vista-Controlador (MVC); generación
del proyecto con express-generator; Primera Página y Primera Pregunta;
Despliegue en la nube (Heroku)
Inicio : 28 may 01:00
Fin : 18 ago 00:59
Actividades
Tema 0: Transparencias del módulo
Tema 1. El proyecto Quiz y MVC
Tema 2. Esqueleto del proyecto con express-generator
Tema 3. Esqueleto del proyecto
Tema 4. Primera página y favicon
Tema 5. Primera pregunta
Tema 6. Marco de la aplicación
Tema 7. CSS adaptable a móviles
Tema 8. Despliegue en Heroku
Ejercicio P2P Obligatorio
14 jul 00:59
18 ago 00:59
Modulo
7. Proyecto Quiz II: La Base de Datos (DB), Tablas, sequelize.js y
SQLite; Despliegue en Heroku utilizando Postgres; Presentación de
Listas de Quizes y Autoload
Inicio : 04 jun 01:00
Fin : 18 ago 00:59
Actividades
Fecha máxima de entrega de la actividad
Fecha máxima validar compañeros
Tema 0: Transparencias del módulo
Tema 1. La base de datos
Tema 2. Sequelize.js y SQLite
Tema 3. Despliegue DB en Heroku
Tema 4. Lista de preguntas
Tema 5. Autoload
Ejercicio P2P Obligatorio
11 ago 00:59
18 ago 00:59
Modulo 8. Proyecto Quiz III: Gestión de Listas de Quizes, Creación, Edición y Borrado
Inicio : 04 jun 01:00
Fin : 18 ago 00:59
Actividades
Tema 0: Transparencias del módulo
Tema 1. Crear Preguntas
Tema 2. Validación de entradas
Tema 3. Editar preguntas
Tema 4. Borrar preguntas
Ejercicio P2P Obligatorio
28 jul 00:59
18 ago 00:59
Modulo
9. Proyecto Quiz IV: Creación y Moderación de Comentarios a Quizes;
Relaciones entre Tablas de la Base de Datos; Sesiones, Autenticación y
Autorización; HTTP Seguro (HTTPS)
Gambas3: Crear por código una base de datos añadiendo tablas y campos.
He encontrado un ejemplo (ver fuente) de como crear una base de datos desde Gambas3.
El proceso es el siguiente:
1) Si existe, borrauntest.sqlitearchivo en eldirectorio personal del usuario.
2)Crea untest.sqlitebase de datos SQLitey defineuna tabla "sampletable"con doscamposenteros, uno va ha ser autonumerico. Yel otro unnúmero aleatorio.
3) Rellena la tabla con10.000registros 4) Muestra los resultados enungridviewutilizando elcasode manipulaciónde datosya se ha descritoen una sección separada.
En el formulario de Gambas, solo se necesita un gridvew.
' Gambas class file
PRIVATE $hConn AS NEW Connection
PRIVATE $res AS Result
'-------------------------------------------------
PUBLIC SUB Form_Open()
DIM iCount AS Integer
DIM hTable AS Table
DIM rTest AS result
DIM sql AS String
'fill the table with generated data
$hconn.Begin
rTest = $hConn.Create("sampleTable")
FOR iCount = 1 TO 10000
rTest!s_seq = iCount
rTest!s_rndm = Int(Rnd(0, 100))
rTest.Update
NEXT
$hConn.Commit
'read the database
sql = "select s_seq as ID, s_rndm as Value from sampleTable"
$res = $hconn.Exec(sql)
END
'-------------------------------------------------
PUBLIC SUB Form_Activate()
'change the rowcount of the gridview from 0 to the number of records.
'This triggers the data handling event
GridView1.Rows.Count = $res.Count
END
'-------------------------------------------------
PUBLIC SUB GridView1_Data(Row AS Integer, Column AS Integer)
$res.moveTo(row)
GridView1.Data.text = Str($res[GridView1.Columns[column].text])
END
'-------------------------------------------------
PUBLIC SUB Form_Close()
$hconn.Close
END
'-------------------------------------------------
Modificación de plantilla movil de Blogspot para añadir anuncios adsense por código
1. Ingresa a tu cuenta de AdSense y crear un bloque de anuncios, yendo a la pestaña de "mis anuncios". Debes tomar en cuenta el ancho del bloque para que quede bien en el post, y alto para que lo desplace lo suficientemente hacia abajo (el resto del contenido). Yo usé un bloque de 250 x 250 pixeles. Nota: Asegúrate de usar un formato de texto distinto para el texto si es que vas a usar un bloque de texto/imagen.
Una vez teniendo el código del bloque de AdSense listo, tenemos que agregarlo desde el editor de HTML de la plantilla. Antes de comenzar con ésto, te recomiendo guardar una copia de respaldo de tu plantilla, y para ello, vas a la pestaña Plantilla, y haces click en el botón que dice: "Crear-Restablecer copia de seguridad" y descargas la plantilla completa.
4. Tienes que ir a configurar la plantilla del movil (1)
y elegir "Si, mostrar plantilla para móviles en los dispositivos móviles" (2)
Elegir la plantilla "Personalizada" (3) y guardar cambios (4):
5. Ve a la pestaña "Plantilla", luego a "Editar HTML" y haz click en el botón que dice "Plantilla de formato"
luego, presiona las teclasCtrl + F,(1) y busca el siguiente código, poniendo en el campo lo que resalté de azul, (2) para que lo encuentres rápido:
En el siguiente video Antonio Sánchez nos explica como optimizar PicarOS, para reducir el consumo de RAM, y asi por ejemplo, poderlo usar en equipos con poca RAM
Una forma de comprar, vender, enviar o recibir dinero en internet es usando PayPal. Esta página nos permite hacer todo esto, sin que tengamos que exponer nuestro número de cuenta bancaria o nuestras tarjetas de crédito en otras páginas web. Tener una cuenta paypal es gratuita.
En el siguiente video os explico como crear una cuenta en paypal.
Lo primero que tenemos que hacer cuando tenemos internet es crearnos una cuenta de correo para que podamos recibir y enviar correos a amigos, empresas, apuntarnos a foros, etc...
Existen varios servicios gratuitos que os proporcionan una cuenta de correo gratuito, entre ellos:
Para desarrollara varios proyectos, he usado el control de versiones svn alojadolo en Coogle Code. Como este va a desaparecer, pues ellos mismos te dan la herramienta para que los portes a github. Es una herramienta muy cómoda y lo hace todo ella en un rato.
El caso es que ya tengo los proyectos portados a github, y voy a poner una breve guia para poderlos usar en mi ordenador. Sera algo muy básico Y lo pongo como notas para mi, y lo subo al blog, por si a alguién le interesa
1) Instalar git en tu ordenador $sudo apt-get install git
2) Creamos una carpeta para alojar el proyecto $mkdir ProyectoPruebaGitHub $cd ProyectoPruebaGitHub 3) Configuramos git: $git config --global user.name "Nombre que quieras mostrar"
4) Bajamos el proyecto: $ git clone https://github.com/jsbsan/damasinglesas
Y se crea una carpeta llamada "damasinglesas"
5) Hacemos algun cambio, modificando alguna linea, o añadiendo algun archivo.
Con la orden: $ git status
Nos informa de lo que hemos cambiado con respecto al servidor
6)Actualizamos los cambios
$git add .
7) Enviando Cambios: Commit y push
Y para actualilzar la copia del servidor, hacemos commit: $git commit -m "Cambios del dia de hoy"
Y luego $git push
(nos pedirá la nombre de usuario y clave de github)
8) Recibiendo Cambios:
Si han añadido algo al proyecto, otros programadores, debemos actualizarnos y recibir esos cambios $git pull
Nota: 10/12/2016
Ignorar archivos y directorios en la gestión de versiones:
Si tenemos definido un archivo de texto .gitignore, donde le hemos dicho que archivos o directorios no se tengan en cuenta.El comando seria asi: $git config --global core.excludesfile ~/.gitignore El fichero .gitignore que he echo para gambas es el siguiente:
#ignorar este directorio
.gambas/*
.gambas/
#archivos temporales
*~
#ejecutable .gambas
*.gambas
Asi no me sube los ficheros *.gambas, que normalmente son grandes, ni los temporales *~
Si vuestro proyecto ya esta en funcionamiento, y habéis echo varios commit, tendréis que borrar esos directorio/ficheros usando la orden: $ git rm --cached <file>
Sustituirmos <file> por nuestro archivo/directorio
Nota: 26/12/2016
Video donde se explica, teniendo ya un proyecto ya iniciado en nuestro ordenador, usar git y github para tenerlo gestionado y subido a la nube.