jueves, 16 de octubre de 2014

Convertir la primera letra de un string en mayúsculas en PHP y Javascript

Si necesitamos convertir la primera letra de un string a mayúsculas tenemos una forma muy sencilla en PHP mediante la función directa ucfirst.

$str = 'micadena';
echo ucfirst($str); // Micadena


En cambio con Javascript no tenemos ninguna función directa y la tenemos que crear nosotros.

var str = 'micadena';
str = str[0].toUpperCase() + str.slice(1);
alert(str); // Micadena

Espero que les sirva.

Función nl2br en Javascript

La función nl2br de PHP nos proporciona una utilidad a la hora de recuperar información de la base de datos que se ha guardado con caracteres de salto de línea o break line. Lo que realiza en definitiva es convertir los caracteres \r\n, \n\r, \r y \n por <br> o <br />.

Para realizar esto mismo en Javascript podemos usar la siguiente función:

function nl2br(str, is_xhtml) {
  var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '< br />' : '< br>'; // Eliminar el espacio antes del br

  return (str + '')
    .replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + breakTag + '$2');
}


Fuente:

http://phpjs.org/functions/nl2br/

Validar formularios con HTML5

Como muchos de vosotros ya sabréis, HTML5 ha aportado nuevas características de validación de formularios con el atributo required de los elementos <input>. Sin embargo sigue siendo necesario realizar la validación clásica ya que ciertos navegadores como Internet Explorer 9 y anteriores y Safari no soportan dicho atributo.

El primer paso que debemos dar sería indicar que un elemento es obligatorio de la siguiente forma:




Con esto conseguiremos que simplemente nos aparezca un mensaje genérico por parte del navegador. Si queremos personalizar dicho mensaje usaremos el atributo title:



Si queremos ir más allá y validar que lo que escribamos en el email tenga un formato correcto añadiremos el atributo pattern:



Con esto ya hemos conseguido validar el formato y mostrar un mensaje personlizado, pero podemos hacérselo un poco más fácil al usuario que debe introducir su email escribiéndole por defecto el formato dentro del mismo texto con el atributo placeholder:



Fuentes:

http://www.w3schools.com/tags/att_input_required.asp

martes, 14 de octubre de 2014

Samsung anuncia que está trabajando en un nuevo estándar de Wifi que multiplicará hasta por 5 la velocidad actual

El gigante surcoreano ha anunciado que está trabajando en un nuevo estándar Wifi, el llamado 802.11ad, que según indican, multiplicará hasta por cinco la velocidad de conexión del estándar actual.

Este nuevo estándar que está desarrollando Samsung utiliza ondas de 60 GHz para la transmisión en lugar de los 2.4 o 5 GHz que se utilizan actualmente. Para ello "Samsung ha superado satisfactoriamente las barreras para la comercialización de la tecnología WiFi de 60 GHz y está deseosa de poder empezar a comercializar esta nueva tecnología", ha explicado en el blog de la empresa, Samsung TomorrowKim Chang Yong, Director del Centro DMC R&D de Samsung Electronics.

Según explican en el mismo blog, a diferencia de las tecnologías Wifi actuales a 2.4GHz y 5GHz, el nuevo estándar 802.11ad de Samsung, mantiene la velocidad máxima eliminando las interferencias del canal de transmisión, independientemente del número de dispositivos que estén utilizando la misma red.

Con todo esto la velocidad de transmisión llegaría hasta los 4.6 Gbps o 575 MB por segundo, cinco veces más que los 866 Mbps o 108 MB por segundo, que es la máxima velocidad posible actualmente. Como resultado, un fichero de 1GB podría enviarse en menos de tres segundos entre dos dispositivos conectados a la misma red Wifi.

Los planes de Samsung Electronics pasan por empezar la comercialización de esta nueva tecnología a partir del 2015 o 2016 y pretenden implantarla en "dispositivos visuales y médicos" así como en el equipamiento de sistemas de telecomunicación, el desarrollo del hogar inteligente de Samsung y otras iniciativas relacionadas con el Internet de las cosas.


Fuentes:

http://global.samsungtomorrow.com/?p=43234
http://www.elmundo.es/tecnologia/2014/10/13/543ba783e2704e23238b457c.html

lunes, 13 de octubre de 2014

Eliminar elemento array Javascript

Si deseamos eliminar un elemento de un array en Javascript tenemos varios métodos que podemos utilizar:

Operador delete


Con el operador delete realmente no estamos eliminando. Si nos fijamos lo que realmente hemos conseguido es establecer el valor undefined al elemento del array.
var myArray = ["A", "B", "C"];
delete myArray[1];  // myArray -> ["A", undefined, "C"]

Método pop()


Si lo que necesitamos es eliminar un elemento al final de un array podemos utilizar este método pop().
var myArray = ["A", "B", "C"];
myArray.pop();  // myArray -> ["A", "B"]


Método shift()


Con este operador shift() lo que conseguimos hacer es eliminar el primer elemento del array.
var myArray = ["A", "B", "C"];
myArray.shift();  // myArray -> ["B", "C"]

Método splice(index, count)


A pesar de que el método splice() sirve también para añadir elementos a un array, si solamente usamos los dos primeros parámetros, lo que estaremos haciendo será eliminar elementos. Con este ejemplo podremos apreciar mejor qué sucede.
var myArray = ["A", "B", "C"];
myArray.splice(1, 1);  // myArray -> ["A", "C"]

Resumen


En resumen, si tenemos un array definido de la siguiente forma: myArray = ["A", "B", "C"] los métodos vistos anteriormente nos devolverán los siguientes resultados:
  • delete myArray[1] -> devuelve ["A", undefined, "C"]
  • myArray.pop() -> devuelve ["A", "B"]
  • myArray.shift() -> devuelve ["B", "C"]
  • myArray.splice(1, 1) -> devuelve ["A", "C"]
  • myArray.splice(0, 2) -> devuelve ["C"]
  • myArray.splice(1, 0, "D", "E") -> devuelve ["A", "D", "E", "B", "C"]


viernes, 26 de septiembre de 2014

Instalar librería mcrypt de PHP en CentOS 6

En Centos 6 no viene por defecto el repositorio para descargarnos la extensión mcrypt para PHP. Para instalar el paquete mcrypt de PHP tenemos que habilitar el repositorio epel e instalar el paquete php-mcrypt.

Para ello realizaremos los siguientes pasos:

1. Conectar con el equipo Linux vía SSH con el usuario root.

2. Descargar el último repositorio epel. Antes hay que averiguar tal y como he explicado en el anterior post si la arquitectura es de 32 o 64 bits.

  • CentOS 6 32 Bit 

          $ wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

  • CentOS 6 64 Bit 

          $ wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm


3. Instalar el repositorio descargado

    $ rpm -ivh epel-release-6-8.noarch.rpm


4. Instalar el paquete mcrypt

    $ yum install php-mcrypt


5. Reiniciar Apache

    $ service httpd restart


6. Comprobar si el paquete está correctamente instalado

    $ php -m | grep -i mcrypt


En el caso en que al instalar el paquete nos dé el siguiente error:

Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

Lo que tenemos que hacer es editar el fichero /etc/yum.repos.d/epel.repo y donde pone https:// cambiarlo por http:// y volver a ejecutar a partir del punto 4.