tag:blogger.com,1999:blog-82629130187805338832024-02-07T13:36:36.612-05:00NeverBit<p>Este blog lo comienzo como una forma de compartir con todos mis experiencias es mis actividades favoritas, La computación, La música, los deportes y el anime.</p>
<p>Espero poder ayudarlos en todas las inquietudes que tengan.</p>Never Bithttp://www.blogger.com/profile/16304435697291020905noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-8262913018780533883.post-16773854676524275472023-11-14T17:22:00.002-05:002023-11-14T17:22:49.431-05:005 Tendencias Emergentes en Desarrollo de Software a Medida para el 2023<p>El mundo del desarrollo de software está en constante evolución, y el 2023 no es la excepción. Este año se perfila como un punto de inflexión en la industria, marcado por innovaciones emocionantes y tendencias emergentes que están transformando la manera en que se crea y se implementa el software a medida. En este artículo, exploraremos cinco tendencias que están dando forma al futuro del desarrollo de software:</p><p><br /></p><p>1. Inteligencia Artificial (IA) en el Desarrollo de Software</p><p>El papel de la inteligencia artificial en el desarrollo de software se está ampliando exponencialmente. Desde la automatización de tareas repetitivas hasta la optimización de procesos de desarrollo, la IA está revolucionando la eficiencia y la precisión en la creación de software a medida.</p><p><br /></p><p>2. Desarrollo Ágil y DevOps</p><p>El enfoque ágil en el desarrollo de software continúa siendo fundamental en el 2023. La integración de DevOps con metodologías ágiles está acelerando los ciclos de desarrollo, permitiendo una entrega más rápida y colaborativa de software de alta calidad.</p><p><br /></p><p>3. Ciberseguridad en el Núcleo del Desarrollo</p><p>Con un aumento en las amenazas cibernéticas, la seguridad se convierte en una prioridad central en el desarrollo de software. Las prácticas de seguridad integradas desde el inicio del proceso de desarrollo son esenciales para proteger los sistemas contra posibles vulnerabilidades.</p><p><br /></p><p>4. Integración de Tecnologías Emergentes: Blockchain e Internet de las Cosas (IoT)</p><p>La adopción de tecnologías emergentes como blockchain e IoT está ganando impulso en el desarrollo de software a medida. Estas tecnologías ofrecen oportunidades emocionantes para la creación de soluciones innovadoras y escalables en diversas industrias.</p><p><br /></p><p>5. Enfoque en la Experiencia del Usuario y la Interfaz de Usuario (UI/UX)</p><p>La experiencia del usuario es clave en el diseño de software a medida. Las empresas están invirtiendo más en el diseño centrado en el usuario y la creación de interfaces intuitivas y atractivas para garantizar una adopción exitosa del software.</p><p><br /></p><p>El 2023 está marcando una era de transformación en el desarrollo de software a medida. Mantenerse al día con estas tendencias emergentes es fundamental para las empresas que buscan mantenerse competitivas y ofrecer soluciones tecnológicas innovadoras y de vanguardia.</p><p><br /></p><p> </p>Never Bithttp://www.blogger.com/profile/16304435697291020905noreply@blogger.com0tag:blogger.com,1999:blog-8262913018780533883.post-54597496402212813602014-03-14T11:44:00.002-05:002014-03-14T12:09:39.403-05:00Reduccion de Particiones LVM, en calienteDe regreso otra vez, esta vez me surgió esta tarea gracias a un compañero de labor, donde para no tener que detener todo un proyecto y cambiar de maquina, sugerí esta solución.<br />
<br />
La tarea es dar espacio adicional a una partición, reduciendo antes otra partición que tiene el espacio que necesitamos.<br />
<br />
<a name='more'></a><br />
<br />
Lo primero que debemos hacer es desmontar la partición que vamos a reducir<br />
<br />
# umount /dev/grupo/volument1<br />
<br />
Muy recomendable, es verificar y des fragmentar la información que esta contenida en la partición que vamos a reducir<br />
<br />
# e2fsck -f /dev/grupo/volumen1<br />
<br />
Ahora si vamos a reducir el tamaño de la particion, recuerden que este es un procedimiento delicado que pude dañar la informacion, es bueno tener antes un backup.<br />
<br />
# e2resize -L 30G /dev/archivos/part1<br />
<br />
Lo siguiente sera reducir el tamaño del volumen lógico, esto nos creara de inmediato el espacio libre para ser asignado, esta operación por ser delicada nos va a pedir confirmación, solo presionamos 'y' y listo<br />
<br />
# lvreduce -L 30G /dev/archivos/part1<br />
<br />
Como ya tenemos el espacio que necesitamos libre, ahora se lo asignamos al otro volumen lógico<br />
<br />
# lvextend -L+20G /dev/archivos/part2<br />
<br />
Ahora solo nos queda aumentar el tamaño del sistema de archivos<br />
<br />
# e2resize /dev/archivos/part2<br />
<br />
Y listo ahora tenemos una partición con 20 Gigas adicionales para poder terminar nuestra tarea, si queremos verificar el tamaño de nuestras particiones podemos usar el siguiente comando.<br />
<br />
# df -h<br />
<br />
Donde el '-h' nos muestra el tamaño de las particiones escrito para que los humanos lo entiendan.<br />
<br />
<br />
<br />
<br />Never Bithttp://www.blogger.com/profile/16304435697291020905noreply@blogger.com0tag:blogger.com,1999:blog-8262913018780533883.post-48150357981215060192013-09-30T11:18:00.002-05:002014-03-14T12:09:54.388-05:00Instalacion y Primeros pasos Oracle Ex (Express) en Centos 6Instalacion y Primeros pasos Oracle Ex (Express) en Centos 6<br />
<br />
Bueno el dia de hoy traigo estas anotaciones, gracias al trabajo en el que estoy metido actualmente, he tenido que trabajar de la mano con bases de datos Oracle, pero como siempre, tener un entorno de desarrollo completo es necesario, y para solicitar que nos creen bases de datos de prueba o nos actualicen las existentes, se toma tiempo, es por eso me gusta tener mi entorno de desarrollo completo para poder manejar todo esto a mi antojo.<br />
<br />
<br />
<a name='more'></a><br /><br />
Estoy en mis primeros pasos con el trabajo y con Oracle, entonces me puse en la tarea de crear un servidor dedicado a las bases de datos de prueba, se preguntaran porque, bueno, resulta en una prueba de instalación en Windows, mi maquina se quedo pensando tanto tiempo que lo mejor fue volver a empezar de cero, y entonces se me paso por la cabeza que se podía tener un servidor liviano con el motor de base de datos, fue donde llego a mi la idea de crear una maquina virtual con Centos, e instalar Oracle, si no me funciona, puedo borrar y volver a empezar fácilmente.<br />
<br />
Bueno sin mas preámbulos aquí vamos.<br />
<br />
Como no se trata de un manual de instalación de Centos 6 pues no hablare de esto, hablare desde el punto en que mi maquina ya esta instalada y solo debo instalar el Oracle,<br />
<br />
Iniciamos con la descarga del paquete de instalación para Centos:<br />
<br />
<a href="http://www.oracle.com/technetwork/products/express-edition/downloads/index.html">http://www.oracle.com/technetwork/products/express-edition/downloads/index.html</a><br />
<br />
En este vinculo encontraran ustedes los vínculos de descarga de los paquetes Express tanto para Windows como para Linux, pero antes de poder dar clic en cualquier vinculo debemos aceptar los "Terminos y Condiciones", para eso se debe dar clic en "Accept License Agreement", Ahora si escogemos el de Linux.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLURlPDVBRyY1OX7QMFfTRYXOttwHyt9MyTiolFm4J9opBQLS-XRx96psb1K3twq4UYqOopLYt0lBxZc1ANH5HsdSz4OXth8EpWTvBbLXPYtjv6KVSrLSna9Hp44NfwRBLY8oUBmSD22nw/s1600/oracleDownload.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLURlPDVBRyY1OX7QMFfTRYXOttwHyt9MyTiolFm4J9opBQLS-XRx96psb1K3twq4UYqOopLYt0lBxZc1ANH5HsdSz4OXth8EpWTvBbLXPYtjv6KVSrLSna9Hp44NfwRBLY8oUBmSD22nw/s320/oracleDownload.png" height="260" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
Ahora nos solicitara credenciales para iniciar la descarga, si no tienen cuenta con Oracle, deben crearla para poder descargar, esta suscripción es gratuita por el momento.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4TVPZqB934dKlYmmjaZqQlNz5cqGJiqpK5lMuVN0pQrmi216oI0c1Tfv1jmeq-cCf7G2giUQt7Xv30Ym4gyciGKzFLdvXRC0uVeacVpmkXJpH7YcnEPogG3nKBER0J61fJ27W7wnd3gGC/s1600/incioOracle.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4TVPZqB934dKlYmmjaZqQlNz5cqGJiqpK5lMuVN0pQrmi216oI0c1Tfv1jmeq-cCf7G2giUQt7Xv30Ym4gyciGKzFLdvXRC0uVeacVpmkXJpH7YcnEPogG3nKBER0J61fJ27W7wnd3gGC/s320/incioOracle.png" height="320" width="318" /></a></div>
Una vez coloquen su usuario y clave, se tardara un momento en iniciar la descarga...<br />
<br />
Bueno una vez descargado el paquete lo descomprimimos con:<br />
<br />
# zip -x oracle-xe-11.2.0-1.0.x86_64.rpm.zip<br />
<br />
Ahora solo debemos instalar el paquete descargado<br />
<br />
# rpm -i oracle-xe-11.2.0-1.0.x86_64.rpm<br />
<br />
Bueno solo nos queda realizar la primera configuración e iniciar el servicio por primera vez, esto lo debemos hacer desde el servicio de Oracle, donde tenemos la opción de configurar.<br />
<br />
# /etc/init.d/oracle-xe configure<br />
<br />
Aquí nos empezara a preguntar una serie de datos para la configuración del servidor, como solo es para desarrollo, lo mantendré como dice, es decir solo Enter, hasta la pregunta sobre la clave del usuario SYS, este usuario es el que nos va a permitir la administración de nuestro servidor de bases de datos, es donde colocamos una clave que no vayamos a olvidar.<br />
<br />
Solo nos queda activar el servicio de Oracle, para que inicie con la maquina, para esto solo hacemos lo siguiente.<br />
<br />
# /etc/init.d/oracle-xe enable<br />
<br />
<br />
Una vez instalado y configurado, deberíamos instalar una herramienta de administración, para esto Oracle, nos provee, el Instant Client, que lo podemos descargar en:<br />
<br />
<a href="http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html">http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html</a><br />
<br />
Nuevamente tenemos todas las posibilidades para todos los sistemas operativos soportados y diferentes versiones, por ser este el cliente podemos usar cualquier versión, teniendo en cuenta que es mejor usar el cliente de la misma versión o superior del servidor instalado.<br />
<br />
Bueno una vez elegido el sistema operativo para el cual vamos a instalar, podemos seleccionar la versión del paquete que queremos descargar, segun la version de paquete que se quiera instalar, primeros debemos descargar la version basica y luego las herramientas que podamos necesitar, para este caso sqlplus, luego solo tenemos que seguir los mimos pasos de la descarga del servidor, colocamos nuestras credenciales, e inicia la descarga.<br />
<br />
Una vez descargado lo instalamos igual que el servidor.<br />
<br />
# rpm -i oracle-instantclient11.2-basic-11.2.0.4.0-1.i386.rpm<br />
<br />
E instalamos el sqlplus<br />
<br />
# rpm -i oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.i386.rpm<br />
<br />
y listo ahora tenemos todo instalado para poder crear nuestras bases de datos.<br />
<br />
Luego de leer por algún tiempo comprendí como funciona Oracle, este maneja una base de datos general, como estamos en la versión express nuestra base de datos puede crecer hasta 5Gb.<br />
<br />
Esta base de datos se divide en varias cosas que hacen que se trabaje en diferentes ambientes de la misma base de datos, estos ambientes se llaman TABLESPACES, estos tienen la informacion de las tablas, cada vez que se hace una transacción Oracle crea una copia de este, cuando hacemos Commit, se actualiza si hacemos un Rollback, este borra la copia que tenia y vuelve a crear una copia.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhopa4jPJo0R62Ktrn8hsDlJ94988pjXEJnM1F45cMRFxtr65w14Qbm50W8y66JmBQGTLe89laWXwhZNLGdwMiLnMqD_b2BKtRlZzXKR7DCz3NwBHGfmIXTanGQ4Fh8N2Js5WM5Twpyn2dg/s1600/oracleDBXE.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhopa4jPJo0R62Ktrn8hsDlJ94988pjXEJnM1F45cMRFxtr65w14Qbm50W8y66JmBQGTLe89laWXwhZNLGdwMiLnMqD_b2BKtRlZzXKR7DCz3NwBHGfmIXTanGQ4Fh8N2Js5WM5Twpyn2dg/s320/oracleDBXE.gif" height="290" width="320" /></a></div>
<br />
<br />
Esta imagen fue la mejor forma que encontré para entender como trabaja esta versión de Oracle.<br />
<br />
Para crear un TABLESPACE se debe ser sysdba, entonces ingresamos por sqlplus a nuestro servicio de Oracle<br />
<br />
# sqlplus sys/<pass>@servidor as SYSDBA<br />
<br />
luego debemos crear un usuario para crear un nuevo contexto<br />
<br />
SQL> CREATE USER pruebauser IDENTIFIED BY clave123 DEFAULT TABLESPACE users;<br />
<span style="background-color: #f7f7f7; font-size: 13px;"><br /></span>
<span style="font-size: x-small;">debemos asignar privilegios al usuario </span><br />
<br />
SQL> GRANT DBA TO pruebauser;<br />
SQL> GRANT CREATE TABLE TO pruebauser;<br />
SQL> GRANT CREATE TRIGGER TO pruebauser;<br />
<br />
Ahora debemos crear el TABLESPACE con le cual vamos a trabajar, ubicando un archivo para este y el tamaño que va a tener;<br />
<br />
SQL> CREATE TABLESPACE prueba DATAFILE '/oracle/tsPruebas.dbf' SIZE 100M;<br />
<br />
y listo, en este momento ya deberiamos podernos conectar con alguna herramienta de administración, como puede ser el mismo sqlplus<br />
<br />
# sqlplus pruebauser/clave123@servidor<br />
<br />
Ahora nos debe mostrar una conexión exitosa, podemos empezar a crear nuestras tablas y demás elementos de nuestra base de datos.<br />
<br />
Espero que estas anotaciones les pueda ser útiles, luego colocare como me conecto desde PHP y PDO a las bases de datos.<br />
<br />
<br />Never Bithttp://www.blogger.com/profile/16304435697291020905noreply@blogger.com0tag:blogger.com,1999:blog-8262913018780533883.post-44282463148468134912013-01-07T14:33:00.000-05:002014-03-14T12:10:40.049-05:00Expadir Tamaño de particion LVM en caliente con Ubuntu / DebianSaludos;<br />
<br />
Este es un problema que he tenido durante meses, donde tenia que esperar a que todos mis usuarios se desconectaran para poder hacer este tipo de arreglos, apagar la maquina agregar el espacio reiniciar, en fin entrar y salir del sistema muchas veces, pero luego de mucho leer e llegado al final de tanto salir y entrar, usando unas lineas demás para poder aumentar el espacio en caliente en mis servidores de archivos debian, entonces sin mas preámbulos empezamos.<br />
<br />
<a name='more'></a><br />
Para empezar, debemos agregar un disco duro a nuestra maquina virtual:<br />
<br />
Imagen<br />
<br />
Revisamos cuales son los host SCSI que tenemos para pedirle a cada uno que busque discos nuevos:<br />
<br />
ls /sys/class/scsi_host<br />
<br />
luego ingresamos a la maquina y en la consola forzamos la detección del nuevo disco:<br />
<br />
echo "- - -" > /sys/class/scsi_host/host#/scan<br />
<br />
es importante que los tres guiones se encuentren separados por un espacio.<br />
<br />
en el lugar de escribir host# debe colocar el nombre de los elementos que salieron enlistados en el comando anterior uno por uno, esto hará que se busquen nuevos discos en cada uno de los host de discos que tenga instalado.<br />
<br />
Con el disco ya reconocido por nuestro equipo debemos crear una partición nueva, para el ejemplo sera un segundo disco "sdb", entonces colocamos así:<br />
<br />
fdisk /dev/sdb<br />
<br />
En la consola de fdisk escribimos "n" para nueva particion, luego "p" para particion primaria, y luego "1" para el numero de la partición, nos va a preguntar los cilindros de inicio y fin para el tamaño de la partición, para este caso yo usare todo el espacio entonces lo dejare con los valores predeterminados, es decir solo presiono "Intro" dos veces y listo, si quiere tener un tamaño especifico de partición, entonces deberá colocar los cilindros de inicio y fin para cada partición, luego de hacer estos pasos, presionamos "w" para escribir los cambios en el disco y salir de fdisk.<br />
<br />
ahora que ya tenemos el disco en la maquina y una partición creada vamos a agregarlo como parte de nuestros volúmenes físicos de la unidad.<br />
<br />
# pvcreate /dev/sdb1<br />
<br />
En este caso pongo "sdb1", recordando que la partición que cree es la numero 1.<br />
<br />
Ahora tenemos que extender nuestro grupo de volúmenes con la partición de nuestro disco duro, en mi caso mi grupo de volúmenes se llama archivos, entonces el comando seria así:<br />
<br />
# vgextend archivos /dev/sdb1<br />
<br />
Queda entonces extender nuestro volumen lógico, agregando el tamaño de nuestra partición.<br />
<br />
# lvextend -L+20G /dev/archivos/archivos<br />
<br />
Por ultimo extendemos la particion para que ocupe el espacio que hemos creado.<br />
<br />
# resize2fs /dev/archivos/archivos<br />
<br />
y listo si miramos el espacio de nuestro sistema de archivos, veremos que tenemos el espacio adicional que agregamos, para eso podemos usar el siguiente comando:<br />
<br />
df -h<br />
<br />
Bueno eso esto todo por ahora, nos veremos en otra oportunidad<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />Never Bithttp://www.blogger.com/profile/16304435697291020905noreply@blogger.com0tag:blogger.com,1999:blog-8262913018780533883.post-78114770619179753702012-02-21T00:43:00.000-05:002012-02-21T00:43:17.394-05:00Poner una alerta validando con Jquery y Validate<div style="color: white;">
<span style="font-size: small;">Bueno gente, este un elemento que he querido colaborar con ustedes, me ha costado un poco, crear este elemento, porque todo esta hay pero no hay un ejemplo claro que esto se pueda hacer, pero si, es posible.</span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<a name='more'></a><div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;">El cuento es que se puede colocar en vez de un aviso al lado del elemento del formulario un <i>alert</i>(), que saldría cada vez que queramos validar el elemento, este lo he creado gracias a mi amiga Nury, que me ha llegado un dia con esta inquietud</span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;">Entonces bueno vamos al codigo.</span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;">para que todo esto nos funcione utilizaremos la libreria basica de jquery</span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script></i></b> </span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;">y la libreria Validate para JQuery, esta libreria nos permite validar los formularios de forma mas simpe y limpia.</span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js" ></script></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;">Ahora si iniciamos el script de validacion de nestro pequeño formulario.</span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;"><script type="text/javascript"></span></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i></script></i></b> </span><br />
<br />
<span style="font-size: small;">Para empezar, usamos el metodo </span><span style="font-size: small;"><i><b>ready</b></i> para iniciar nuestro codigo, este lo usa JQuery para indicar que ya se ha cargado la pagina y esta listo para trabajar.</span></div>
<div style="color: white;">
<span style="font-size: small;"><br style="font-family: Verdana,sans-serif;" /></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;">$(document).ready(function(){...});</span></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-family: Verdana,sans-serif; font-size: small;">Ahora, como es comun en JQuery, colocamos con el simbolo de numero y el id del formulario que vamos a validar </span><span style="font-size: small;"><i><span style="font-family: Verdana,sans-serif;"><br /></span></i></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;">$("#comment").validate({...});</span></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><span style="font-family: Verdana,sans-serif;">Ahora debemos crear las reglas de validacion,</span><b><i><span style="font-family: Verdana,sans-serif;"> </span></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;"><br /></span></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;">rules: {...}</span></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><span style="font-family: Verdana,sans-serif;">llamamos por el nombre cada campo que necesitemos, para este caso usaremos dos campos "nombre" y "apellido", asi podremos ver clara mente como se usa normalmente una validacion y como seria con una alerta</span></span></div>
<div style="color: white;">
<span style="font-size: small;"><span style="font-family: Verdana,sans-serif;"><br /></span></span></div>
<div style="color: white;">
<span style="font-size: small;"><span style="font-family: Verdana,sans-serif;">empecemos por el campo nombre,</span><span style="font-family: Verdana,sans-serif;"> donde indicaremos que es un campo requerido</span><b><i><span style="font-family: Verdana,sans-serif;"><br /></span></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;">nombre:{</span></i></b></span><span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;">required: true</span></i></b></span><span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;">},</span></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><span style="font-family: Verdana,sans-serif;">ahora miremos el campo apellido, repetimos lo mismo que para el campo apellido</span></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;">apellido:{</span></i></b></span><span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;">required: true</span></i></b></span><span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;">}</span></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><br style="font-family: Verdana,sans-serif;" /></span></div>
<div style="color: white;">
<span style="font-size: small;">terminamos con las reglas y empezamos con los mensajes para estas reglas.</span></div>
<div style="color: white;">
<span style="font-size: small;"><br style="font-family: Verdana,sans-serif;" /></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;">messages: {</span>...}</i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;">ahora pondremos un mensaje para el required del campo nombre </span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;">nombre: {</span>requ<span style="font-family: Verdana,sans-serif;">ired: "Este campo es requerido");}</span></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;">y aqui es donde esta la diferencia, ahora pondremos una alerta para el required del campo apellido</span><span style="font-size: small;"><span style="font-family: Verdana,sans-serif;"><br /></span></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;">apellido: {</span>requ<span style="font-family: Verdana,sans-serif;">ired: function(){alert("El campo apellido no puede estar en blanco");}</span></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><span style="font-family: Verdana,sans-serif;">esto es porque el required no solo recibe un texto tambien recibe un CallBack, lo cual nos permite hacer una funcion y regresar un dato diferente o hacer como en este caso una accion diferente.</span></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><span style="font-family: Verdana,sans-serif;">Solo nos queda entonces crear nuestro formulario, supongo que para este punto no requeriran que explique como crear un formulario.</span></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;"><form action="" method="post" id="comment"></span></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;"><label from="nombre" value="Nombre"><br /><input type="text" value="" name="nombre" id="nombre"/></span></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;"><label from="Apellido" value="Apellido"><br />
<input type="text" value="" name="apellido" id="apellido"/></span><br /><span style="font-family: Verdana,sans-serif;"><input type="submit" value="Guardar"/><br /></form> </span></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><span style="font-family: Verdana,sans-serif;">El resultado de este simple proceso quedaria asi</span><b><i><span style="font-family: Verdana,sans-serif;"> </span></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i><span style="font-family: Verdana,sans-serif;"><br /></span></i></b></span></div>
<div style="color: white;">
<style type="text/css">
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
</style>
</div>
<span style="color: white; font-size: small;"><b><i><!DOCTYPE html></i></b></span>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i><html></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <head></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <title></title></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <meta
http-equiv="Content-Type" content="text/html;
charset=UTF-8"></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <link rel="stylesheet"
href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/themes/base/jquery-ui.css"
type="text/css" media="all" /></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <link rel="stylesheet"
href="http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css"
type="text/css" media="all" /></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <script
src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"
type="text/javascript"></script></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <script
src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/jquery-ui.min.js"
type="text/javascript"></script></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <script
type="text/javascript"
src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"
></script></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <script
type="text/javascript"
src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/additional-methods.js"
></script></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <script
type="text/javascript"
src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/additional-methods.min.js"></script></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <script
type="text/javascript"></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i>
$(document).ready(function(){</i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i>
$("#comment").validate({</i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> rules: {</i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i>
nombre:{required: true},</i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i>
apellido:{required: true}</i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> },</i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> messages: {</i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> nombre:
{required: "Este campo es requerido"},</i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> apellido:
{required: function(){alert("El campo apellido no puede estar en
blanco");}}</i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> }</i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> });</i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> });</i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> </script></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> </head></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <body></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <form action=""
method="post" id="comment"></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <label
for="nombre">Nombre</label></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <input type="text"
value="" name="nombre" id="nombre"/></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <label
for="apellido">Apellido</label></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <input type="text"
value="" name="apellido" id="apellido"/></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> <input type="submit"
value="Guardar"/></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> </form></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
</div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i> </body></i></b></span></div>
<div style="color: white; margin-bottom: 0cm;">
<span style="font-size: small;"><b><i></html></i></b></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;">Bueno espero que esto les pueda ayudar a crear proyectos mas acorde a las necesidades de los usuarios, el uso de la alerta es solo un ejemplo basico de como se puede llegar a usar una fucion para la validacion de los fomularios gracias a JQuery y Validate.</span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><br /></span></div>
<div style="color: white;">
<span style="font-size: small;"><b><i></i></b></span></div>Never Bithttp://www.blogger.com/profile/16304435697291020905noreply@blogger.com0tag:blogger.com,1999:blog-8262913018780533883.post-19986409870513404762011-08-18T13:11:00.000-05:002016-01-06T00:26:51.512-05:00MySQL, cambiar datadir<b><span class="Apple-style-span" style="font-size: large;">Saludos;</span></b><br />
<div>
<br /></div>
<div>
Bueno si quieren tener su capeta de base datos de MySQL en otro lugar, como en mi caso, que tengo una partición con el home donde guardo todos mis proyectos, entonces este articulo les puede ser de ayuda, lo e ido actualizando cada vez que cambio de versión de Linux, y hasta el momento me a funcionado en todas.</div>
<div>
<br />
<a name='more'></a></div>
<div>
Pongámonos en contexto, las bases de datos se encuentran almacenadas en el directorio <i style="color: blue;">/var/lib/mysql</i>, y las vamos a mover al directorio <i><span style="color: blue;">/home/mysql</span>,</i> este ultimo lo pueden cambiar por el directorio que ustedes quieran.</div>
<div>
<br />
Debemos empezar abriendo una ventana de terminal, parece ser que en esta versión si funcionan las teclas de acceso rápido, entonces podemos presionar CTRL+ALT+T, y nos mostrara una ventana de terminal, o, si tenemos el UNITY instalado entonces tecla Windows y escribimos terminal, y luego Enter.<br />
<br /></div>
<div>
Para empezar debemos autenticarnos como super usuario:</div>
<div>
<br /></div>
<div>
<i><span class="Apple-style-span" style="color: blue;"># sudo su</span></i></div>
<div>
<br /></div>
<div>
colocamos la clave de usuario y listo.</div>
<div>
<br /></div>
<div>
Lo primero que debemos hacer es detener el servicio MySQL, así podemos tener la ultima versión de las bases de datos:</div>
<div>
<br /></div>
<div>
<i><span class="Apple-style-span" style="color: blue;"># /etc/init.d/mysql stop</span></i></div>
<div>
<i><br />
</i></div>
<div>
Ahora debemos copiar la carpeta de bases de datos, con todos sus archivos, permisos, propietarios y fechas:</div>
<div>
<br /></div>
<div>
<i><span class="Apple-style-span" style="color: blue;"># cp -rfp /var/lib/mysql /home</span></i></div>
<div>
<br /></div>
<div>
ahora que ya se han copiado las bases de datos a nuestro directorio entonces, cambiamos el nombre del directorio de bases de datos, en caso que algo salga mal para poder regresar atrás:</div>
<div>
<br /></div>
<div>
<i><span class="Apple-style-span" style="color: blue;"># mv /var/lib/mysql /var/lib/mysql.bak</span></i></div>
<div>
<br /></div>
<div>
listo, ahora creamos un enlace simbolico a la carpeta donde quedaran nuestras bases de datos.</div>
<div>
<br /></div>
<div>
<i><span class="Apple-style-span" style="color: blue; font-family: Times,'Times New Roman',serif;"># ln -s /home/mysql /var/lib/mysql</span></i></div>
<div>
<br /></div>
<div>
para que sea accesible por MySQL debemos dar la propiedad a mysql:</div>
<div>
<span class="Apple-style-span" style="color: blue;"><br />
</span></div>
<div>
<i><span class="Apple-style-span" style="color: blue; font-family: Times,'Times New Roman',serif;"># chown mysql:mysql /var/lib/mysql -R</span></i></div>
<div>
<i><span class="Apple-style-span" style="color: blue; font-family: Times,'Times New Roman',serif;"># chown mysql:mysql /home/mysql -R</span></i></div>
<div>
<br /></div>
<div>
también debemos dar los permisos para que podamos ingresar en este directorio</div>
<div>
<br /></div>
<div>
<i><span class="Apple-style-span" style="color: blue; font-family: Times,'Times New Roman',serif;"># chmod 777 /var/lib/mysql -R</span></i></div>
<div>
<br /></div>
<div>
y ahora ya podemos iniciar nuestro servicio de MySQL</div>
<div>
<br /></div>
<div>
<i><span class="Apple-style-span" style="color: blue; font-family: Times,'Times New Roman',serif;"># /etc/init.d/mysql start</span></i></div>
<div>
<br /></div>
<div>
y listo ya todo debe funcionar perfectamente, puede entrar y verificar que todas las bases de datos esten en listadas</div>
<div>
<br /></div>
<div>
<i><span class="Apple-style-span" style="color: blue; font-family: Times,'Times New Roman',serif;"># mysql -u [usuario] -p [clave]</span></i></div>
<div>
<br /></div>
<div>
en la linea de comandos de mysql escribimos:</div>
<div>
<br /></div>
<div>
<i><span class="Apple-style-span" style="color: blue; font-family: Times,'Times New Roman',serif;">mysql> Show database;</span></i></div>
<div>
<br /></div>
<div>
el resultado en pantalla seran todas nuestras bases de datos que estén ubicadas en la carpeta /home/mysql.</div>
<div>
<br />
<br /></div>
<div>
<b><span class="Apple-style-span" style="font-size: large;">Bueno y parece que eso es todo por ahora, espero que al algunos les ayude este pequeño tutorial.</span></b><br />
<br />
<b><span class="Apple-style-span" style="font-size: large;">Recuerden comentar no cuesta nada pero nos engrandece todos. </span></b></div>
<div>
<br /></div>
Never Bithttp://www.blogger.com/profile/16304435697291020905noreply@blogger.com7