jueves, 29 de diciembre de 2016

Mostrar Errores en Php. GNU/LINUX

Hola,

Siguiendo el post anterior, luego de la instalación de Apache y realizando pruebas, me di cuenta que no mostraba mensaje de error en el navegador si es que tenia uno al momento de codificar.

A proposito genere errores en la sintaxis de Php y al momento de ingresar por el navegador no te muestra nada.


Se soluciona de la siguiente manera.
Nos dirigimos a la ubicación de archivo php.ini y modificamos Display errors de Off a On

Ingresamos a la dirección del archivo


 Nos permite abrir el archivo de configuración de Php.


 Buscamos display_errors que esta en Off, hay que cambiarlo a On
 


Detenemos e iniciamos el servicio para que se actualice los cambios que se han realizado.



Ahora si nos muestra los errores que cometemos.


Saludos!
 

Instalar Php en GNU/LINUX. Distro Fedora.

Hola,

He visto algunos comentarios en el cual no pueden instalar Php o iniciar el servicio de apache.

Primero debemos de tener actualizado nuestro sistema operativo, para eso utilizamos:

yum update

Recordar que debemos de realizar este comando en modo super usuario (su).

Estando logeados como super usuario, procedemos a instalar el servidor Apache, tecleamos:

yum install httpd


yum install php


Esperamos que termine de insalar todos los paquetes, para luego iniciar el servicio con el comando:

service httpd start



Para poder trabajar con Php debemos de tener una carpeta donde estará los archivos, desde donde ejecutara el servidor Apache.
Esa carpeta es /var/www/html
Pero no podemos acceder a ella porque esta protegida solo para el administrador del sistema, para acceder debemos de conceder esos permisos al usuario actual. Lo realizamos con el siguiente comando:

chown -R usuario:usuario /var/www/html


Ya podemos trabajar en esa carpeta y ejecutar nuestros script de php.

Para comprobar que todo salio bien podemos escribir en la barra de direcciones del navegador de tu preferencia: localhost.
 

 Realizamos una prueba.
 
 Y nos muestra:



Espero les sirva. Hasta una próxima oportunidad!





viernes, 23 de diciembre de 2016

Integridad Referencial - MariaDB y MySql

Hola,

Realizando una aplicación de control de almacén y ventas, me surgio la siguiente duda...
¿Que pasa si el cliente trata de borrar un dato desde la tabla "A" que esta tiene referencia con la tabla "B"?. Dicho de otro modo, por ejemplo tengo un cliente Pepito que compra 20 manzanas, se registra la venta y su id como cliente, y por cosas del destino (error de usuario) se elimina a Pepito de la lista de Clientes, si no se tiene cuidado, esto significaría que se elimina el id de Pepito de la venta o ventas ya realizadas anteriormente.

En estos casos y siempre se debe de tener en cuenta la integridad referencial.
Es decir indicar al crear la tabla que es lo que se debe de hacer cuando alguien va a eliminar o editar un dato de tablas referenciadas.

Esta es la sintaxis que encontramos en la web de Mysql:

[CONSTRAINT [symbol]] FOREIGN KEY
    [index_name] (index_col_name, ...)
    REFERENCES tbl_name (index_col_name,...)
    [ON DELETE reference_option]
    [ON UPDATE reference_option]

reference_option:
    RESTRICT | CASCADE | SET NULL | NO ACTION

Donde:
  • ON DELETE/UPDATE RESTRICT: Es la acción predeterminada, y no permite una eliminación si existe un registro asociado.
  • ON DELETE/UPDATE CASCADE: Si se especifica esta opción y una fila de la tabla padre se elimina, entonces también se elimina su clave foranea de la tabla hijo.
  • ON DELETE/UPDATE SET NULL: Las filas en la tabla hijo son actualizadas automáticamente colocando en las claves foraneas el valor Null.
  • ON DELETE/UPDATE NO ACTION:Realiza la misma acción que DELETE RESTRIC
  • ON DELETE/UPDATE SET DEFAULT: Actualmente no funciona en MySQL - se supone que pone el valor de la clave foránea al valor por omisión (DEFAULT) que se definió al momento de crear la tabla.
A continuación el script de ejemplo



 Y el script ejecutado en MariaDB


 Espero le sirva el post.

lunes, 12 de septiembre de 2016

Convertir de Decimal a Binario

Hola!

Hoy te mostraré como se realiza la conversión de un número decimal a un número binario.
Como se sabe, un número binario es un numero con dos posibles valores 1 y 0, donde 1 significa verdadero o encendido y 0 significa falso o apagado.
Este lenguaje binario, es también llamado lenguaje máquina ya que solo es comprensible entre equipos electrónicos, aunque también es comprendido y programado por solo algunos "eruditos" en la materia, esto se realiza mediante lenguajes de programación de bajo nivel.

Bueno, a lo que iba....

La teoría para convertir un número decimal a binario es:

- Teniendo un  número, dividirlo entre 2.
- El residuo es el binario.
- El cociente se vuelve a dividir entre 2.
- Se sigue obteniendo residuo.
- Todo este proceso se realiza hasta llegar a dividendo 1
- Luego para saber el número binario, se toma desde el ultimo valor calculado hasta el primero.

Ejemplo: 



PSEINT


JAVA 



Espero te pueda servir, saludos!

domingo, 14 de agosto de 2016

Error de Inicio de Servicio MS SQL SERVER

Hola!

El día de hoy como revisando y recordando un poco del lenguaje SQL, procedí a iniciar mi server de MYSQL (Oracle) además para no olvidarme de las raíces también inicie MS SQL SERVER (Microsoft).

Para iniciar MYSQL no tuve problemas, en realidad el problema surgió en MS SQL SERVER,
El problema era que no había conexión con el servidor, esto quiere decir que no inicia el servicio para poder iniciar el "Management Studio" y así realizar los scritps.

El error es el siguiente:



A continuación muestro los pasos para solucionarlo:

PASO 1:
Botón Windows + R para abrir la ventana de "EJECUTAR". En ella escribimos SERVICES.MSC


PASO 2:
Se abrirá una ventana como muestro a continuación.



En ella buscamos: SQL SERVER (MSSQLSERVER)  y los más seguro es que estado del servicio se encuentre en blanco, eso indica que el servicio no esta en ejecución y tenemos que iniciarlo manualmente.



PASO 3: 
Damos doble clic sobre el servicio y damos clic en INICIAR.


Comenzará a iniciar el servicio.


Aceptamos y se cierra la ventana de propiedades, y nos daremos cuenta que el servicio ya se encuentra en ejecución.


PASO 4:
Volvemos a nuestro MANAGEMENT STUDIO y lo iniciamos normalmente.




Y listo, podemos iniciar correctamente nuestro SGBD 
=)








jueves, 11 de agosto de 2016

Creación de Variables en MySql

Hola!

En esta nueva entrada les enseñare como realizar la creación de variables en MySql.

Una de las maneras de crear una variable es mediante la sentencia SET, de esta manera

SET @nombre_variable ;

Para mostrar la variable, solo tenemos que dar un SELECT.

SELECT @nombre_variable ;

Por ejemplo queremos almacenar la fecha del sistema en una variable y quizás luego utilizarla, pues lo realizamos según el procedimiento mostrado.


También podemos realizar la creación de la variable cuando realizamos el SELECT, veamos a continuación:


EJEMPLO:

Realizaremos una consulta a la tabla Personas que les muestro a continuación, utilizando variables.

  • Todos los datos de la tabla Personas:



  • Creamos nuestra variable para mostrar una fecha especifica y realizamos la consulta.




Si deseamos cambiar el valor de la variable, lo realizo con un SET y lo modifico.





domingo, 24 de julio de 2016

Foreign Key en MySql

Hola, en esta ocasión les mostraré como se debe de realizar una referencia entre tablas en el SGBD MySql.

Revisando algunos manuales pude comprobar que algunos te enseñan que hagas la referencia de esta manera:


En este ejemplo tenemos la tabla Personas y la Tabla Telefonos, la cual se esta realizando la referencia entre Personas y Telefonos.

Utilizando el código de la imagen he notado que no te crea la referencia, esto se comprueba cuando vas al PhpMyAdmin y revisas en modo diseño:



Podemos observar que no ha realizado la referencia y solo muestra las tablas sin relacionar.

Y aca biene lo bueno!!

Con este código funciono, lo ideal es realizar las relaciones entre tablas y crear el Foreign Key de esta manera:


En modo diseño se ve de esta manera:


Esta imagen es un diagrama de la base de datos para los que utilizan Ms Sql Server.
En la próxima publicación se dará el concepto de las ultimas líneas. On Delete - On Update.

sábado, 18 de junio de 2016

Buenas practicas para Identificadores - JAVA


Existen normas básicas para los identificadores que se deben respetar.


  • Los nombres de variables y métodos empiezan con minúsculas. Si se trata de un nombre compuesto cada palabra debe empezar con mayúscula y no se debe utilizar el guión bajo para separar las palabras. Por ejemplo, los identificadores calcularSueldo, setNombre o getNombre son válidos.


  • Los nombres de clases empiezan siempre con mayúsculas. En los nombres compuestos, cada palabra comienza con mayúscula y no se debe utilizar el guión bajo para separar las palabras. Por ejemplo, HolaMundo, PerimetroCircunferencia, Alumno o Profesor son nombres válidos.


  • Los nombres de constantes se escriben en mayúsculas. Para nombres compuestos se utiliza el guión bajo para separar palabras. Por ejemplo, PI, MINIMO, MAXIMO O TOTAL_ELEMENTOS son nombres válidos.



viernes, 3 de junio de 2016

Ejercicio propuesto: Java

Este ejercicio pide:

1) Generar 100 números aleatorios.
2) Calcular el promedio.
3) Calcular cuantos números son mayores al promedio.
RESOLUCIÓN:



jueves, 26 de mayo de 2016

Algoritmos de ordenamiento: Método de Burbuja.

Hola!
En esta entrada les enseñare como funciona uno de los algoritmos de ordenamiento más fáciles y más utilizados por los desarrolladores de software, me refiero al método de burbuja.

Este método compara todos los elementos de una lista contra todos, si se cumple que uno es mayor o menor a otro, en ese caso se cambia de posición.

Como una imagen, vale más que mil palabras escritas, aquí les va una imagen para que puedan entender mejor el concepto.

Primera vuelta:
9 6 5 8 2 1 ) \to ( 6 9 5 8 2 1 ) Intercambia posición del número, si cumple la condición:
( 6 9 5 8 2 1 ) \to ( 6 5 9 8 2 1 ) "posición > posición + 1"
( 6 5 9 8 2 1 ) \to ( 6 5 8 9 2 1 )
( 6 5 8 9 2 1 ) \to ( 6 5 8 2 9 1 )
( 6 5 8 2 9 1 ) \to ( 6 5 8 2 1 9 )

Segunda vuelta:
6 5 8 2 1 9 ) \to ( 5 6 8 2 1 9 )
( 5 6 8 2 1 9 ) \to ( 5 6 8 2 1 9 )
( 5 6 8 2 1 9 ) \to ( 5 6 2 8 1 9 )
( 5 6 2 8 1 9 ) \to ( 5 6 2 1 8 9 )
( 5 6 2 1 8 9 ) \to ( 5 6 2 1 8 9 )

Tercera vuelta:
5 6 2 1 8 9 ) \to ( 5 6 2 1 8 9 )
( 5 6 2 1 8 9 ) \to ( 5 2 6 1 8 9 )
( 5 2 6 1 8 9 ) \to ( 5 2 1 6 8 9 )
( 5 2 1 6 8 9 ) \to ( 5 2 1 6 8 9 )
( 5 2 1 6 8 9 ) \to ( 5 2 1 6 8 9 )

Cuarta vuelta:
5 2 1 6 8 9 ) \to ( 2 5 1 6 8 9 )
( 2 5 1 6 8 9 ) \to ( 2 1 5 6 8 9 )
( 2 1 5 6 8 9 ) \to ( 2 1 5 6 8 9 )
( 2 1 5 6 8 9 ) \to ( 2 1 5 6 8 9 )
( 2 1 5 6 8 9 ) \to ( 2 1 5 6 8 9 )

Quinta vuelta:
2 1 5 6 8 9 ) \to ( 1 2 5 6 8 9 )
( 1 2 5 6 8 9 ) \to ( 1 2 5 6 8 9 )
( 1 2 5 6 8 9 ) \to ( 1 2 5 6 8 9 )
( 1 2 5 6 8 9 ) \to ( 1 2 5 6 8 9 )
( 1 2 5 6 8 9 ) \to ( 1 2 5 6 8 9 )


Pueden ver un ejercicio que realice utilizando este método.