JavaScript: tomando una foto de la cámara en una web

2020-04-13 - Categorías: General / JavaScript
Logo de Javascript

Pequeño howto o codekata para tomar una foto desde la webcam en una web. Con este script incrustado en una web, se le preguntará al usuario por el permiso para acceder a los dispositivos de vídeo y audio disponibles en el equipo. Entonces si el usuario da permiso para su uso, se mostrará una caja con el vídeo y audio que se reciben en tiempo real. Sólo se usa puro HTML y JavaScript sin librerías.

Simplemente se pinta en la caja el stream de vídeo con audio en tiempo real. Y tenemos también un canvas en donde podemos pintar una captura de un fotograma del vídeo que estamos viendo. La captura del fotograma que se pinta en el canvas se hace con el botón disponible.

Continuar leyendo..

Javascript: obtener las coordenadas geográficas de una visita a la web

2020-04-10 - Categorías: General / JavaScript

Sencillo codekata para obtener las coordenadas de una visita a una web mediante Javascript. Funciona en navegadores de ordenadores y dispositivos móviles. Mostrará un mensaje emergente cuando se haga la consulta de las coordenadas. Devuelve latitud y longitud según el navegador.

Este script pide al navegador las coordenadas. Si estamos en un móvil con Android con Google Chrome, por ejemplo, el GPS del dispositivo móvil le servirá las coordenadas exactas al navegador, y el navegador a la web, si el usuario da el permiso.

Al grano, el código fuente

<!DOCTYPE html>
<html lang="es" dir="ltr">

    <head>
        <meta charset="utf-8">
        <title>JnjSite.com: Javascript Geolocation</title>
    </head>

    <body>
        <h1>JnjSite.com: Javascript Geolocation</h1>
        <p>Your current location is latitude <span id="spanLatitude"></span> degrees and longitude <span id="spanLongitude"></span> degrees.</p>
        <p id="theError"></p>
        <script type="text/javascript">
            function positionSuccess(position) {
                alert('SUCCESS');
                document.getElementById('spanLatitude').innerHTML = position.coords.latitude;
                document.getElementById('spanLongitude').innerHTML = position.coords.longitude;
                console.log(position);
            }

            function positionError(error) {
                alert('ERROR');
                switch (error.code) {
                    case error.PERMISSION_DENIED:
                        document.getElementById('theError').innerHTML = "User denied the request for Geolocation."
                        break;
                    case error.POSITION_UNAVAILABLE:
                        document.getElementById('theError').innerHTML = "Location information is unavailable."
                        break;
                    case error.TIMEOUT:
                        document.getElementById('theError').innerHTML = "The request to get user location timed out."
                        break;
                    case error.UNKNOWN_ERROR:
                        document.getElementById('theError').innerHTML = "An unknown error occurred."
                        break;
                }
            }
            window.onload = () => {
                if (navigator.geolocation) {
                    alert('Browser has Geolocation');
                    navigator.geolocation.getCurrentPosition(positionSuccess, positionError);
                } else {
                    alert('Browser do not support Geoloation');
                }
            };
        </script>
    </body>

</html>

Hola mundo con VueJS

2020-04-10 - Categorías: General / JavaScript
VueJS hola mundo 2

Uno de los principales frameworks Javascript a fecha de hoy es VueJS. Los más populares, según los resultados en varias páginas encontradas con Google, son Angular, React y VueJS. Y en concreto VueJS me ha sorprendido por lo sencillo de empezar a usarlo.

Es un framework progresivo para desarrollo del frontend, que hace que podamos comenzar a usarlo progresivamente. Es decir, podemos usarlo en parte para hacer algo muy concreto en una parte de la web, o más, incluso llegando a ponerlo a controlar el frontend al 100%. Es una librería muy ligera, que proporciona un sistema, a base de Javascript con el que con directivas y poco más, podemos hacer que la web sea mucho más interactiva sin tener que picar casi código Javascript.

Continuar leyendo..

Javascript: almacenando datos en el navegador de los visitantes

2020-04-08 - Categorías: General / JavaScript

Todos estamos como locos venga a poner mensajes de cookies en las webs ? pero hay otras 4 formas, que aquí dejo en estos codekatas, para guardar información en los navegadores de los visitantes. Estas otras formas, además, permiten guardar incluso más información que con las cookies ? información totalmente segura y única para cada visitante.

Esta es la evolución natural de las webs hacia el mundo de los escritorios de los PC y aplicaciones para móviles. Es el siguiente paso para convertir una web normal, en una aplicación web instalable en PCs y móviles. Estas webs que se pueden instalar, y pueden trabajar sin conexión a Internet, se llaman PWAs (Progressive Web Apps). Además, las PWAs no necesitan instalarse desde la App Store de Google, ni de Apple, ni de Microsoft ? se instalan directamente porque son la misma web.. pero esto es tema para otro post..

Continuar leyendo..

WordPress no publica los posts a la hora programada

2020-04-06 - Categorías: General / GNU/Linux / PHP / WordPress
Logo de WordPress

Este es un howto con la solución, a un problema que me ha costado un poco resolver en un WordPress que administro. Se publicaban los posts en otra hora distinta a la programada. Además, si le daba a publicar inmediatamente, se quedaba como programado para publicar, y se publicaba dos horas más tarde.

No he podido encontrar casi información por Internet, al final encontré el porqué pasaba esto, y aquí que estoy compartiéndolo por si alguien lo necesita también ?

Continuar leyendo..

GNU/Linux: aceleración hardware para el emulador de Android

2020-04-03 - Categorías: General / GNU/Linux
Probando web en el emulador de dispositivos Android.

Hoy traigo un pequeño howto para activar y disfrutar la aceleración hardware con el emulador de móviles Android. Parte del post también sirve para disfrutar de esta aceleración con otro software de virtualización como VirtualBox o VMWare. También traigo cómo tener disponible en el escritorio accesos directos a los móviles emulados que necesites. Así no hay que arrancar el Android Studio completo si estás programando webs, también podrás probar todo el Javascript que use funciones de dispositivos móviles como cámara, GPS, conectividad, etc.. y también sirve para probar PWAs!

Este post contiene los pasos probados para GNU/Linux compatible con Debian, o derivados como Ubuntu, Ubuntu Mate, etc.

Continuar leyendo..

Drupal, un pedrusco de oro en la mina de los CMSs

2020-03-31 - Categorías: Drupal / PHP
Drupal review
Drupal review..

Este CMS reluce como el oro por fuera, y por dentro es oro puro, una joya del software ? Es uno de los mejores CMSs Open Source que tenemos disponibles para los proyectos. Hoy os traigo una review, tratando de remarcar el porqué es uno de los más usados en el mercado, sobretodo en proyectos complejos para universidades, gobiernos y en las empresas más tecnológicas. Es uno de los CMS que hay que conocer. Espero resumir bien las principales características, sobre todo desde el punto de vista de un programador ? aunque trataré también temas para marketeros y agencias.

Es uno de los más flexibles y escalables. Inicialmente tenía su propio framework, pero luego comenzó incorporando Symfony 2, y en las últimas versiones viene incorporando Symfony 3. Ya está integrado con Composer. Internamente, prioriza las mejores técnicas de desarrollo para garantizarte una solución robusta para tus proyectos. Externamente, es de lo más personalizable sin tener que invertir demasiado tiempo. Tiene un gran ecosistema de configuraciones, temas y módulos disponibles. Sobre todo una gran comunidad de desarrolladores con casi 50000 módulos y casi 3000 temas disponibles a fecha de hoy, en el marketplace de Drupal.org.

Continuar leyendo..

Generando un panel de control en pocos minutos con EasyAdmin en Symfony

2020-03-27 - Categorías: General / PHP / Symfony / WordPress
EasyAdmin generando a partir de la BD

¡Hola! Jugando y jugando, probando software, aquí que vengo de nuevo y os traigo un codekata en Symfony. Es para hacer ingeniería inversa de cualquier proyecto en el que tengas una base de datos. También traigo una joya del software que se llama EasyAdmin, un bundle/componente para Symfony. Este codekata se puede aplicar a cualquier base de datos compatible con Symfony, más en concreto, con cualquiera compatible con Doctrine, que es el componente ORM que te conectará con la BD.

Quizá tienes que hacer un panel de control que sólo acceda a la información X del proyecto, a ciertas tablas. También sirve para bases de datos completas. Podría ser un proyecto legacy, de un Symfony antiguo, un Magento, un ERP como Odoo con el que trabajar con Symfony, o un WordPress, un Prestashop, Drupal, etc.. Sea cual sea el proyecto la idea es la misma.

Continuar leyendo..

WordPress multisite: una instalación, infinitos sitios web

2020-03-25 - Categorías: General / PHP / WordPress

Activar la opción de WordPress multisite te puede hacer muy eficiente a la hora de explotar esta herramienta profesionalmente. Por otro lado es brutalmente eficaz para mantener segura y estable a una red de sitios WordPress que tengas que mantener. Los clientes finales te lo agradecerán, ya que no tendrán que realizar tareas muy técnicas para asegurarse de que la web siga online. Y por otro lado no tendremos que recorrer cada sitio, uno a uno, para mantenerlos en buen estado.

Puedes tener una única instalación de WordPress, pero con infinitas páginas web. Todos los websites se podrían administrar desde un panel de control principal. Y los usuarios podrían trabajar, o visitar cada sitio web, como si de sitios independientes se trataran.

Una única instalación de WordPress que mantener actualizada, securizada, optimizada. Un sitio desde donde administrar los plugins y temas disponibles para toda la red de páginas web. Una sola instalación en un único servidor. Ahorrarás en costes de servidor, en costes de mantenimiento, menos problemas y más recursos para todos.

Continuar leyendo..

WordPress: el plugin más ligero y rápido para añadir código en el header de tus proyectos

2020-03-23 - Categorías: PHP / WordPress
Logo de WordPress

¡Hola de nuevo! Aquí que ando poniéndome al día con WordPress, y traigo un simple codekata para hacer un plugin básico para WordPress. Con este plugin se puede añadir contenido en la cabecera del frontend. Podemos usarlo para añadir códigos de Google Analytics, Facebook, Twitter.. editar estilos o añadir librerías Javascript para modificar el frontend.. etc..

Se trata de un plugin básico del tipo ¡Hola mundo! para WordPress. Punto de partida para customizar el frontend en instalaciones de WordPress. Es tan sencillo, que con ficheros como este no necesitas crear una plantilla hija completa para empezar a personalizar el frontend.

Tampoco necesitarás depender de otros módulos. Con lo que a base de pequeños plugins como este con tus personalizaciones, podrás instalar o desintalar los otros tantos módulos que hayas estado usando sin miedo a perder tus cambios ?

Continuar leyendo..

Raspberry Pi & GNU/Linux: montando un sistema embebido con una interfaz web

2020-03-22 - Categorías: GNU/Linux / PHP
Raspberry Pi, montando sistema embebido con una web..

Ya hace tiempo que no escribo con tantos problemas que está habiendo con el COVID19.. así que aquí estoy de nuevo tratando de no perder las buenas costumbres. Aquí que traigo un codekata para la Raspberry Pi. Se trata de un tutorial para montar un sistema embebido con una interfaz web en una Raspberry Pi.

Imaginemos por ejemplo que la Raspberry maneja una serie de relés que encienden y apagan dispositivos, se podrían manejar desde una web. O imaginemos quizá que esta Raspberry te pudiera hacer una encuesta desde una tableta, y en función a tus respuestas, iluminar el café, chocolate o perfume de la tienda que más te va a gustar. O quizá quieres montar una API REST para interactuar con varias Raspberry que tenemos conectadas en la red de tu casa o local, para hacer algo más complejo. Así se podría coordinar las tareas en red que le corresponda a cada Raspberry, desde alguna unidad central. Si te parece interesante, sigue leyendo que este es tu post.. ?

Continuar leyendo..

C++ & Python: comunicando la Raspberry Pi y Arduino por el puerto USB

2020-02-22 - Categorías: C/C++ / GNU/Linux / Python
Conectando Arduino y Raspberry Pi con un cable USB..

Para algunas cosas va muy bien una Raspberry Pi, para otras va muy bien Arduino, con lo que combinarlos es una buena idea.. ? Es decir, en un proyecto en donde haya que tener capacidad de procesamiento, red, hacer programas con bastante lógica, bases de datos, etc.. conviene tener disponible un sistema completo o parcialmente completo similar a un ordenador, la Raspberry Pi. Por otro lado, para trabajar manejando sensores y actuadores, señales analógicas, señales digitales moduladas en pulso o sin modular.. conviene tener disponible un microcontrolador, Arduino ?

Se puede siempre tratar de prototipar todo con una Raspberry, o todo con Arduino, pero no es la mejor idea. Dependerá de las funcionalidades del proyecto que será más sencillo construir con una cosa, con otra, o con las dos.

Continuar leyendo..

© 2024 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.