LinuxParty
Lejos de resignarse a ser una reliquia del pasado, el estándar ISO C++ se ha ido actualizando para añadir nuevas funcionalidades. Las últimas grandes actualizaciones tuvieron lugar en 1998 y en 2011. Este 2017 se estrenará C++ 17. Sus características acaban de ser completadas, confirmándose más de 100 cambios y novedades en el popular lenguaje de programación, según uno de los miembros del comite de estándares ISO C++, Herb Sutter.
Leer más: C++ 17, la prometida actualización de C++ ya está aquí. Escribir un comentario
¿Que hemos usado para el proyecto?
-
Anexgrid: para páginar los registros.
-
jQuery UI: basicamente por el tema de autocomplete, el cual me parece bueno y lo he usado bastante tiempo.
-
Arquitectura MVC: ya que es la arquitectura que uso en todos mis proyectos.
Nuestro objeto facturador (Javascript)
Creamos un objeto llamado "facturador" en javascript que implementaba las reglas de negocio necesaria para manipular el DOM y comenzar a facturar, agregando detalle, calculando el monto por cada línea ingresada, el sub total, total y el IVA (IGV en otros países). Este ha sido modificado, ya que ahora los productos que se ingresan los elegimos desde la base de datos usando el autocomplete de jquery ui, adicionalmente, tambíen usamos el autocomplete para seleccionar un cliente.
Nuestro objeto es el siguiente:
var facturador = { detalle: { igv: 0, total: 0, subtotal: 0, cliente_id: 0, items: [] }, /* Encargado de agregar un producto a nuestra colección */ registrar: function(item) { var existe = false; item.total = (item.cantidad * item.precio); this.detalle.items.forEach(function(x){ if(x.producto_id === item.producto_id) { x.cantidad += item.cantidad; x.total += item.total; existe = true; } }); if(!existe) { this.detalle.items.push(item); } this.refrescar(); },
Los lenguajes de programación Web, son cada vez la mejor solución para desarrollar aplicaciones de escritorio, no ya sólo aplicaciones web, además de ser cada vez más preferidas como herramienta para el desarrollo de móviles.
Aquí les muestro los 5 frameworks para crear aplicaciones de escritorio que es una novedad, si tu eres desarrollador web y sientes que no puedes con encargos de software a la medida, o has desaprovechado oportunidades de desarrollo freelance o para tu empresa, por no saber nada de desarrollo para escritorio, aquí está la solución con estos frameworks podrás trabajar con JavaScript, CSS, HTML y por supuesto PHP.
Youtube es la nueva televisión, dicen unos. Youtube es la nueva universidad, dicen otros. Nosotros ni idea, que la túnica de Rappel no nos sienta nada bien (y la macedonia en el pelo de Paco Porras menos), pero lo que sí sabemos es que entre la marabunta de canales que hay en Youtube, entre tanto Rubius, Dalas y Wismichu, hay unos cuantos dedicados al desarrollo y en español. De entre ellos hoy te vamos a seleccionar los 12 canales de Youtube de desarrollo en Español que merece la pena seguir. ¡Al turrón!
Pongamos que por alguna razón, necesitamos tener un contador de días en Shell Script. Bueno, yo no he conseguido hacerlo todo en shell script, aprovechando que también tengo PHP, voy a utilizar los dos lenguajes para llevar ésta tarea a cabo.
Este es script en PHP:
<?php date_default_timezone_set('Europe/Madrid'); // ################################################################## // En el crontab: // */58 * * * * /usr/bin/php /root/contador.php > /root/.contador.dat // */59 * * * * /root/contador.sh // ################################################################## // $cuando = mktime(0,0,0,mes,día,año); $cuando = mktime(0,0,0,06,01,2016); $hoy = time(); $resta = $hoy - $cuando; $total = round($resta/86400); echo "$total"; echo "\n"; ?>
Bueno, hace todo lo que queremos:Le especificamos la fecha desde cuando tiene que empezar a contar hasta hoy.
A lo largo de la vida del desarrollo de un software es muy habitual que se vayan produciendo cambios en el código, realizados por todos los miembros que trabajan en el proyecto. Para un buen funcionamiento y que todos tengan en todo momento las modificaciones que se han llevado a cabo, es necesario contar con una buena herramienta que permita la gestión del control de versiones. En el mercado hay muchas herramientas que ayudan a conseguir este objetivo pero a lo largo de este White Paper nos centraremos en la combinación de Git y GitHub, que ofrecen todo lo necesario para poder desarrollar software de calidad.
¿Qué es el control de versiones?
Uno de los sueños de todo el mundo es poder volver al pasado para solucionar algún tipo de problema que tengamos en el presente. Por desgracia, estos viajes temporales no son posibles en la vida real, pero al menos sí que es posible hacerlo en el desarrollo de software gracias al control de versiones.
Un sistema de control de versiones es una herramienta capaz de registrar todos los cambios que se realizan en uno o más proyectos, guardando a su vez versiones anteriores del proyecto, versiones a las que podemos acudir en caso de haber metido la pata o al no funcionar de la forma correcta.
¿Que es MVC?: Es un patrón de arquitectura de software que busca desacoplar la lógica en 3 capas:
-
El controlador se encarga de recibir las peticiones que manda la vista.
-
El modelo es el que define las reglas de negocio en nuestro caso las consultas a MySQL.
-
La vista es lo que va a ver el usuario que en nuestro caso la maquetación en HTML.
PDO es una capa abstracta para PHP que nos permite realizar consultas a la base de datos y entre sus motores soporta mysql, sqlserver, oracle etc.
https://php.net/manual/en/pdo.drivers.php
Para nuestro ejemplo vamos a dar mantenimiento a la tabla Alumnos
Primero vamos a crear la entidad Alumno, ya que es la data a mapear ya sea para listar o realizar una acción contra la base de datos (registrar/eliminar/actualizar). Por regla esta clase contiene como atributos las columnas de la tabla.
class Alumno { private $id; private $Nombre; private $Apellido; private $Sexo; private $FechaNacimiento; public function __GET($k){ return $this->$k; } public function __SET($k, $v){ return $this->$k = $v; } }
Acaba de ser publicado Anvil, un entorno de desarrollo visual para la Web donde los controles se disponen arrastrando y soltando. Haciendo doble clic en ellos se accede al código asociado. He aquí un vídeo de demostración Es interesante saber que el lenguaje de programación es Python en el cliente y en el servidor. Si el editor tuviera características como depuración paso a paso, etc., estaríamos ante una especie de Visual Basic para la Web.
crea un repositorio nuevo
Crea un directorio nuevo, ábrelo y ejecuta
git init
para crear un nuevo repositorio de git.
hacer checkout a un repositorio
Crea una copia local del repositorio ejecutando
git clone /path/to/repository
Si utilizas un servidor remoto, ejecuta
git clone username@host:/path/to/repository
flujo de trabajo
Tu repositorio local esta compuesto por tres "árboles" administrados por git. El primero es tu Directorio de trabajo
que contiene los archivos, el segundo es el Index
que actua como una zona intermedia, y el último es el HEAD
que apunta al último commit realizado.
"Commit", significa "acometer", "hacer".
___ ' |________ | |__________ +---+--- | |___ | | ' +--- | |___ | | add ' +--- commit | | Working | ---> ' ------> |________ | directory | +---+--- |___ | | ' +--- |___ |______________| ' +--- Working directory Index HEAD

add & commit
Puedes registrar cambios (añadirlos al Index) usando
git add <filename>
git add .
Este es el primer paso en el flujo de trabajo básico. Para hacer commit a estos cambios usa
git commit -m "Commit message"
Ahora el archivo esta incluído en el HEAD, pero aún no en tu repositorio remoto.
-
Linux
- Nueva Version de Coyote Linux Firewall
- Top 15 en Programación y Seguridad
- Presentación kernel-labs.org
- Fundamentos sobre el escalamiento masivo en Linux.
- juegaLinEx disponible en Linux Magazine
- Actualización de la rama 2.6 del kernel de Linux
- Pegatinas Linux !
- Hardware con certificación Linux
- Negroponte exige Linux más ligero para la computadora con manivela
- Se desarrolla un examen de certificación para Ubuntu
- Presentación Oficial de Ututo XS 2006 GNU+Linux
- GNU+Linux en las televisoras más importantes del mundo