ITBrowns http://www.itbrowns.com Marrones informáticos Sun, 20 Mar 2016 11:47:03 +0000 es-ES hourly 1 https://wordpress.org/?v=4.8.2 21425610 Monitorizar el servicio de Apache http://www.itbrowns.com/monitorizar-apache/ http://www.itbrowns.com/monitorizar-apache/#respond Sun, 20 Mar 2016 11:10:25 +0000 http://www.itbrowns.com/?p=200 Muchas veces, tenemos aplicativos web corriendo en un servidor Apache y detectamos que van más lento de lo normal, el problema de detectar dichos problemas es muy complicado, dado que hay muchos factores que pueden provocar dicho deterioro del rendimiento. Posibles errores Problema en el servidor web: Hardware, sistema operativo, configuración servidor web Red: Muchas […]

La entrada Monitorizar el servicio de Apache aparece primero en ITBrowns.

]]>
Muchas veces, tenemos aplicativos web corriendo en un servidor Apache y detectamos que van más lento de lo normal, el problema de detectar dichos problemas es muy complicado, dado que hay muchos factores que pueden provocar dicho deterioro del rendimiento.

Posibles errores

  • Problema en el servidor web: Hardware, sistema operativo, configuración servidor web
  • Red: Muchas veces nuestras aplicativos van en redes que no podemos controlar dado que son del cliente, a parte que muchas veces usan conexiones VPN o similar para conectarse haciendo que vayan mucho más lento.. este tema es complicado… mucho :'(
  • Equipos clientes: Temas de Javascript, versiones de los navegadores web
  • Servidor de Base de Datos
  • Integración con otros sistemas: A veces tenemos que compartir datos con otras aplicativos, pueden ser estos últimos los que provoquen la lentitud (creedme me ha pasado… snif snif)
  • Usuario: Si, has leído bien, el mismo usuario puede creer que la aplicativo va más lenta cuando no es cierto, recordar al Dr. House “Siempre mienten!!” 😉

Monitorización Apache

En este POST vamos a ver cómo podemos monitorizar el servicio de Apache para ver como estamos de recursos en el servidor y ver si es necesario modificar la configuración  (asignando más procesos o similar) o añadir más recursos hardware al servidor (Memoria, tarjeta de red, CPU, discos SSD o bien directamente cambio del servidor).

Esta configuración se realiza básicamente desde el fichero httpd.conf (Fichero de configuración de Apache) activando el modulo de monitorización y luego configurando dicho módulo.

El fichero httpd.conf se encuentra en la carpeta conf que está ubicado donde se ha instalado el servicio web.

Para descargar el Apache, podéis hacerlo desde el siguiente link (click en la imagen)

Apache httpd server

Recomendado realizar una copia de los ficheros que se modifiquen antes de empezar.

En otro vídeo os explicaré como modificar el Apache para obtener mejores rendimiento, pero eso es muy “personal” porque vendrá dado por la aplicación web que tengáis y del servidor en el que corra el servicio.

 

La entrada Monitorizar el servicio de Apache aparece primero en ITBrowns.

]]>
http://www.itbrowns.com/monitorizar-apache/feed/ 0 200
Métodos GET y POST en formularios http://www.itbrowns.com/metodos-get-y-post-en-formularios/ http://www.itbrowns.com/metodos-get-y-post-en-formularios/#respond Mon, 04 Jan 2016 23:08:24 +0000 http://www.itbrowns.com/?p=196 En este artículo os voy a explicar como tratar las variables que recibimos por GET y POST. Lo primero de todo es saber las diferencias entre las dos formas de pasar variables. GET Este metodo normalmente, se usa cuando son pocas variables a pasar,no contienen muchos datos y su tipo de datos son string, a […]

La entrada Métodos GET y POST en formularios aparece primero en ITBrowns.

]]>
En este artículo os voy a explicar como tratar las variables que recibimos por GET y POST.

Lo primero de todo es saber las diferencias entre las dos formas de pasar variables.

GET

Este metodo normalmente, se usa cuando son pocas variables a pasar,no contienen muchos datos y su tipo de datos son string, a parte de que no te importa de que se vea la variable y su contenido en la misma URL, un ejemplo sería:

https://www.google.es/search?q=itbrowns.com

En el ejemplo anterior, podemos observar que tenemos una variable llamada q y que el valor de dicha variable es itbrowns.com

POST

Este método se utiliza sobretodo en formularios, la información no se ve por la URL y se pueden enviar varios tipos de datos, incluyendo imágenes.

Con este método se evita modificar la URL y es más “seguro”, dado que no se ve ninguna variable, aunque es muy fácil descubrirlas.

PHP – Trabajar con las variables sin importar de que método

Con este método podrás saber de donde vienen las variables y asi poderlas tratar como sea necesario

switch($_SERVER['REQUEST_METHOD'])  {    
    case 'GET': 
        $the_request = &$_GET; 
        break;    
     case 'POST': 
        $the_request = &$_POST; 
        break;    
    default:
}

De esta forma, podemos tratar las variables de la siguiente forma:

$nombre = $the_request[“nombre”];

Asi en $nombre guardaremos el contenido de la variable pasada o bien por método GET o bien por POST.

PHP – Obtener todas las variables de un método

Aquí os paso un pequeño código para obtener TODAS las variables, tanto por método GET como por POST.

/***VARIABLES POR GET ***/
$numero = count($_GET);
$tags = array_keys($_GET);// obtiene los nombres de las varibles 
$valores = array_values($_GET);// obtiene los valores de las varibles

// crea las variables y les asigna el valor 
for($i=0;$i<$numero;$i++){
     echo $tags[$i] . " -> " . $valores[$i];
     $tags[$i]=$valores[$i];
}

/***VARIABLES POR POST ***/
$numero2 = count($_POST);
$tags2 = array_keys($_POST); // obtiene los nombres de las varibles 
$valores2 = array_values($_POST);// obtiene los valores de las varibles

// crea las variables y les asigna el valor 
for($i=0;$i<$numero2;$i++){
     echo $tags2[$i] . " -> " . $valores2[$i] . "<br>";
     $tags2[$i]=$valores2[$i];
}

 

La entrada Métodos GET y POST en formularios aparece primero en ITBrowns.

]]>
http://www.itbrowns.com/metodos-get-y-post-en-formularios/feed/ 0 196
Software para Desarrolladores http://www.itbrowns.com/software-para-desarrolladores/ http://www.itbrowns.com/software-para-desarrolladores/#respond Fri, 02 Jan 2015 20:27:00 +0000 http://www.itbrowns.com/?p=164 En el mundo del desarrollo hay muchos softwares para poder desarrollar, desde IDE completos hasta el bloc de Notas que ya viene por defecto en los sistemas operativos. Yo voy a poner la lista de los software más útiles que veo (no significa que sean los mejores), soy de los que piensa que es mejor […]

La entrada Software para Desarrolladores aparece primero en ITBrowns.

]]>
En el mundo del desarrollo hay muchos softwares para poder desarrollar, desde IDE completos hasta el bloc de Notas que ya viene por defecto en los sistemas operativos.

Yo voy a poner la lista de los software más útiles que veo (no significa que sean los mejores), soy de los que piensa que es mejor tener pocos softwares, pero conocerlos bien.

MAMP: Creo que no hace falta presentación, un software que lleva todo un servidor Web, con su Apache, PHP y MySQL. En principio es para Mac, por eso la primera M, pero creo que han sacado una versión para Windows, yo he probado XAMPP y WAMP para Windows.
Tanto el MAMPXAMPP y WAMP son gratuitos.

Sublime Text: Uno de los mejores editores de texto del momento, sobretodo por sus numerosos plugins y que es multi plataforma, de este editor haré un POST aparte sobre el Sublime Text.
Tiene un coste de 70$, pero se puede usar sin pagar. Hay otro software llamado Brackets  que es Open Source, lo probé hace un tiempo y aun le faltaba, pero lo tengo que volver a probar.

Dash: Es un gestor de documentación de APIs, se integra con varios editores, como pueden ser Sublime Text,  Brackets o Xcode.
Esta solo para Mac, es gratuito, aunque tiene la opción de comprarlo por 19,99$ para ayudar al desarrollador.

Codekit: Es un complemento para el desarrollo web, tiene un compilador LESS y SASS, refresco de navegador, es decir, cuando modificas el HTML y/o el CSS, al grabar el fichero, el navegador se refrescará automáticamente, permite hacer includes entre ficheros HTML para generar uno único.
Tiene un coste de 29$ y solo esta para Mac

Xcode: El editor de Apple para desarrollo de aplicaciones para Mac y/o iPhone, es gratuito, pero solo esta para Mac. Se que hay plugins para conectarlo con otros lenguajes, como PhP o similar.  Yo lo uso para lenguajes de Objective-C y Swift. Solo lo puedes descargar desde la App Store.

La entrada Software para Desarrolladores aparece primero en ITBrowns.

]]>
http://www.itbrowns.com/software-para-desarrolladores/feed/ 0 164
Configurar MAMP con DropBox http://www.itbrowns.com/mamp-dropbox/ http://www.itbrowns.com/mamp-dropbox/#respond Sun, 21 Dec 2014 16:09:38 +0000 http://www.itbrowns.com/?p=141 Hola, Muchos de vosotros tenéis varios Macs y en cada uno de ellos tenéis el MAMP y siempre tenéis que ir de un lado para otro con el código web y/o con las bases de datos de MySQL. En este POST os voy a enseñar a configurar el MAMP para que ubique la carpeta htdocs […]

La entrada Configurar MAMP con DropBox aparece primero en ITBrowns.

]]>
Hola,

Muchos de vosotros tenéis varios Macs y en cada uno de ellos tenéis el MAMP y siempre tenéis que ir de un lado para otro con el código web y/o con las bases de datos de MySQL.

En este POST os voy a enseñar a configurar el MAMP para que ubique la carpeta htdocs y las bases de datos en Dropbox, de tal forma que tengáis siempre la información en todos los ordenadores (aparte de que un backup en la nube nunca va mal  ;-))

¿Que necesitamos?

  1. Tener una cuenta de Dropbox (con la gratuita ya nos vale)
  2. Tener instalado el Software de sincronización de Dropbox
  3. Tener instalado el MAMP (no hace falta tener el PRO con el gratis ya nos vale)
  4. 5 minutos de tu tiempo para configurarlo todo 🙂

Configurar MAMP

Abrimos el MAMP y pulsamos en “Preferencias

Preferencias de MAMP

Preferencias de MAMP

Nos vamos a la primera solapa “Iniciar/Detener” y seleccionamos que al arrancar MAMP se nos arranquen los servicios (no es obligatorio pero normalmente si abres MAMP es porque quieres ejecutar el Apache y el MySQL), la opción que se debe marcar es en “Al arrancar MAMP”, el checkbox “Iniciar Servidores”

MAMP - Arranque Servicios

Arranque de Servicios

En la solapa “Puertos”, yo acostumbro a poner los puertos por defecto, para eso, presionar en el botón “Establecer los puertos 80 y 3306”. OjO, hay que cambiarle el puerto al Apache o al Nginx, dado que dos servicios no pueden tener el mismo puerto. Yo normalmente tengo el Apache en el puerto 80 y en Nginx en el 81.

Configurar puertos MAMP

Configurar puertos MAMP

Cambiar la ubicación de la carpeta htdocs

Para eso en las preferencias del MAMP nos vamos a “Servidor Web” y clickamos en el icono de la carpeta, nos abrirá una ventana de dialogo para seleccionar la nueva ruta, ir al Dropbox y seleccionar la carpeta que queráis tener como repositorio.

Configurar ubicación carpeta de MAMP

Configurar ubicación carpeta de MAMP

Cambiar la ubicación de las bases de datos

Para este punto vamos a necesitar el Terminal, pero primero desde el Finder hacer lo siguiente:

  1. Crear una carpeta en vuestro Dropbox, donde queráis tener las bases de datos
  2. Copiar el contenido de /Applications/MAMP/db en la carpeta creada en el punto anterior
  3. Eliminar la carpeta /Applications/MAMP/db

Luego desde el Terminal ejecutar lo siguiente:

cd ~/Dropbox/[PATH DE LA CARPETA CREADA]
ln -s ~/Dropbox/[PATH DE LA CARPETA CREADA] /Applications/MAMP/db

Y listos.. ya lo tenéis todo en Dropbox.

Si queréis añadir algún equipo más con MAMP, tenéis que hacer todo excepto la copia de la carpeta /Applications/MAMP/db

Espero que os sirva

La entrada Configurar MAMP con DropBox aparece primero en ITBrowns.

]]>
http://www.itbrowns.com/mamp-dropbox/feed/ 0 141
Unity3D – Introducción http://www.itbrowns.com/unity3d-introduccion/ http://www.itbrowns.com/unity3d-introduccion/#respond Mon, 18 Aug 2014 19:21:16 +0000 http://www.itbrowns.com/?p=121 ¿Qué es Unity3D? Unity3D es un motor de videojuegos, disponible para Windows, Linux y Mac, esta desarrollador Unity Tecnhologies Con Unity3D puedes crear videojuegos para las siguientes plataformas: iOS Android Windows BlackBerry Mac Linux Web Player PS3 Xbox Wii Licenciamiento Unity3D tiene una versión gratuita (con limitaciones de la versión Pro) que te permite crear […]

La entrada Unity3D – Introducción aparece primero en ITBrowns.

]]>
¿Qué es Unity3D?

Unity3D es un motor de videojuegos, disponible para Windows, Linux y Mac, esta desarrollador Unity Tecnhologies

Con Unity3D puedes crear videojuegos para las siguientes plataformas:

  • iOS
  • Android
  • Windows
  • BlackBerry
  • Mac
  • Linux
  • Web Player
  • PS3
  • Xbox
  • Wii

Licenciamiento

Unity3D tiene una versión gratuita (con limitaciones de la versión Pro) que te permite crear videojuegos para diferentes plataformas y que lo puedas comercializar. Lo único es que si ganas en un año fiscal 100.000$ o más estas obligado a comprar las licencias oportunas (ojala, algún dia pueda comprar la licencia por dicho opción jeje).

Si quieres comprar, tienes dos opciones: la de pagar 1.500$ por licencia de Unity Pro o bien la de pagar 75$/mes por la licencia. Si quieres desarrollar para iOS y para Android, cada una tiene un coste de 1.500$ (75$/mes), mientras que las de BlackBerry y Windows ya van incluida en la licencia de Unity Pro.

Toda la info de licencias aquí

Desarrollo

Unity3D incorpora un editor de programación llamado MonoDevelop, aunque si tú usas otro editor se puede sustituir fácilmente (por ejemplo, aquí encontrareis la ayuda para configurar Sublime Text con Unity3D http://wiki.unity3d.com/index.php/Using_Sublime_Text_as_a_script_editor).

Los lenguajes de Programación que se puede usar son:

  • C#
  • JavaScript
  • Boo (muy parecido a Python)

Ahora que ya os he explicado mínima-mente que es Unity, os recomiendo que veáis la web de Unity3D que allí esta todo mejor explicado 😉 … AHORA AL LÍO!!!

Pantalla Principal

El proceso de instalación no lo he explicado, porque es como cualquier software (en Linux no lo he instalado, pero no creo que diste mucho de los demás software), pero si lo necesitáis, ya me montaré una maquina virtual y os lo mostraré.

Una vez lo tengáis instalado y hagáis doble click en el icono de Unity3D, al ser la primera vez que se abre, os mostrará la ventana de Abrir / Crear Proyectos.

Pantalla Inicial Unity3D

En nuestro caso, seleccionamos “Create New Project”, seleccionamos la carpeta donde queremos guardar el nuevo proyecto, y los paquetes que queremos importar. Los paquetes son un conjunto de objetos diseñados, por ejemplo hay un paquete de imagenes de cielos, para poder poner diferentes tipos de cielos en tus videojuegos.

Unity3D - Crear nuevo Proyecto

Una vez, creamos nuestro proyecto, nos aparece la pantalla principal. Vamos a dar cuatro pinceladas al pantalla principal.

Unity3D - Pantalla Principal

1) Arriba a la derecha, este combo nos permite cambiar la forma de ver la pantalla principal, yo normalmente uso “2 by 3”, pero esto va según gustos.

2) Inspector: Justo debajo del punto 1, es el inspector de objectos, aquí puedes modificar las propiedades de los objectos, en caso de scripts serían las variables públicas.

3) Assets: Abajo en el centro, aquí podrás ver todos los objetos tipo materiales, carpetas, scripts, escena, prefabs (ya hablaremos más adelante de esto), etc…

4) Arriba a la izquierda, opciones para mover, rotar y transformar los objetos de la pantalla

5) A la derecha del punto 4). Formas de ver el editor, en la forma de “Scene” se ve la escena sin ningún tipo de materiales, mientras que en “Game” se ve como quedaría la escena final.

6) Pantalla de escena, aquí podras colocar los objetos, para que quede la escena como se desea.

7) Arriba en el centro, estos controles, permiten ejecutar las escenas, pausar para depurarlas, etc.. Va muy bien para poder ver las posibles animaciones, poder depurar las escenas, etc..

8) A la izquierda,Herencia, aquí puedes ver todos los objetos creados como cubos, esferas, luces u otros objetos (personajes, etc..)

 

En próximos articulos, haremos alguna cosa más interesante.. esto articulo, solo era para hacer una pequeña introducción a este motor de juegos

La entrada Unity3D – Introducción aparece primero en ITBrowns.

]]>
http://www.itbrowns.com/unity3d-introduccion/feed/ 0 121
InterSystems Cache II – Descarga e Instalación http://www.itbrowns.com/intersystems-cache-ii/ http://www.itbrowns.com/intersystems-cache-ii/#respond Thu, 07 Aug 2014 15:28:58 +0000 http://www.itbrowns.com/?p=98 Hola, Hoy vamos a descargarnos la versión gratuita de InterSystems Cache, pero primero os voy a explicar la limitaciones que tiene dicha versión. El software es totalmente funcional, sin expirar, pero esta permitido a un solo usuario, eso significa que puedes utilizar para desarrollar y demás, pero no se pueden conectar otros equipos (ya sea […]

La entrada InterSystems Cache II – Descarga e Instalación aparece primero en ITBrowns.

]]>
Hola,

Hoy vamos a descargarnos la versión gratuita de InterSystems Cache, pero primero os voy a explicar la limitaciones que tiene dicha versión.

  1. El software es totalmente funcional, sin expirar, pero esta permitido a un solo usuario, eso significa que puedes utilizar para desarrollar y demás, pero no se pueden conectar otros equipos (ya sea por web, terminal, red, etc..) a la base de datos.
  2. Solo se permite la ejecución de 12 procesos concurrentes (sin contar con los del propio sistema)
  3. No se puede comerciar con software hecho por vosotros, si queréis vender un producto realizado con cache, debéis de comprar la licencia oportuna.

Una vez explicada las limitaciones vamos “a por faena”.

Descarga

Nos vamos a la pagina de InterSystems y en sus productos, seleccionamos Cache (link directo).

Una vez estamos en el apartado de Cache, a la derecha, sobre la media página hay un link para la descarga “Free evaluation version of InterSystems Caché”

Descarga InterSystems Caché

 

Lo primero que necesitamos es darnos de Alta en InterSystems, para eso rellenamos los datos del formulario para que nos den acceso, en caso de ya estar registrado, esta la opción de que te puedas loginar para no tener que volver a introducir los datos.

Descarga InterSystms Cache

 

 

Una vez loginados, acceptamos la condiciones de uso, y seleccionamos el producto:

  • Product: Caché (en la fecha que se escribe el POST es la version 2014.1.1)
  • Platform: Escoger la que se adapte a vuestro entorno. ¡¡ OjO en caso de querer desarrollar debeis de tener un Windows, dado que la herramienta de desarrollo (Studio), solo esta para Windows !!
  • Install Type: la mejor forma para instalarlo, en caso de entornos Windows es un .exe.

Luego solo nos queda descargarlo o pedir que nos envíen un DVD gratuíto.

Instalacion InterSystems Cache

 

Instalación

Ahora solo nos queda instarlo, en mi caso lo haré sobre un Windows 8.1 x64.

Hacemos doble click en el instalador (CachePCkit_x64.exe), lo primero que nos presenta es el Acuerdo de Licencia, lo leemos y seleccionamos la opción “Acepto los términos del acuerdo de licencia” y pulsamos en Siguiente

Instalación InterSystems Cache

Seleccionamos la ubicación donde queremos que se  instale Caché, por defecto C:\InterSystems\TryCache\. Podemos cambiar de ubicación si lo creemos oportunos. Luego pulsamos en Siguiente

Instalación InterSystems Cache

En la siguiente pantalla nos pide la contraseña para varios usuarios (_SYSTEM, Admin, SuperUser, CSPSystem y uno creado con tu nombre si lo puede detectar en tu Sistema Operativo).  Poner una que luego la podremos cambiar desde el Portal de Administración. Pulsamos en Siguiente

Instalación InterSystems Cache

Por último nos muestra una revisión de lo escogido en los pasos anteriores, por si te hubieras equivocado en algo, puedas volver a atras. Pulsamos en Instalar.

Instalación InterSystems Cache

Una vez le damos, empezará la instalación…

Instalación InterSystems Cache

Cuando se haya instalado, nos mostrará una ventana indicandolo y si lo has hecho en Windows, en el Systray (donde esta el reloj y los diferentes iconos te tiene que aparecer un cubo de colo azul). Le damos a Finalizar en la última ventana.

Inst_6

Al darle a Finalizar, os debería de aparecer la ayuda para que os familiaricéis con el programa.

¡¡Atención!!

Al terminar de instalar he visto que no aparecía la página de ayuda, ni se podía acceder al Portal de Administración, he visto que no se estaba arrancando el servidor Web Interno de Apache (es un servicio llamado Servidor Web para TRYCACHE), y como dicho servicio no se puede arrancar desde el gestor de servicios me he ido a arrancarlo tal y como explica en la ayuda.

He abierto una ventana de CMD (como Administrador), me he ido a la ruta donde esta el Caché, carpeta httpd\bin y he ejecutado lo siguiente:

httpd -k start -n TRYCACHEhttpd -c "Listen 577772"

Y me ha mostrado el error “AH00436: No installed service named “Apache2.4″”.

Así que he ejecutado

httpd -k install

Para que se me instale el servicio Apache2.4, y directamente me ha funcionado.

 

Tengo que revisar si es un problema de mi maquina o bien es un problema entre Apache 2.4 y Windows 8 x64. Ya os mantendré informados 

 

 

La entrada InterSystems Cache II – Descarga e Instalación aparece primero en ITBrowns.

]]>
http://www.itbrowns.com/intersystems-cache-ii/feed/ 0 98
InterSystems Cache I – Introducción http://www.itbrowns.com/intersystems-cache-i/ http://www.itbrowns.com/intersystems-cache-i/#respond Wed, 06 Aug 2014 11:42:13 +0000 http://www.itbrowns.com/?p=75 Desde hace unos años me dedico a administrar una base de datos llamada Cache, normalmente aquí es cuando me preguntan ¿Y eso de Cache que es?, así que he decidido crear una serie de POST sobre esta BD. Comentar que antes de administrar Cache, administraba la base de datos Microsoft SQL Server y utilizaba MySQL […]

La entrada InterSystems Cache I – Introducción aparece primero en ITBrowns.

]]>
Desde hace unos años me dedico a administrar una base de datos llamada Cache, normalmente aquí es cuando me preguntan ¿Y eso de Cache que es?, así que he decidido crear una serie de POST sobre esta BD.

Comentar que antes de administrar Cache, administraba la base de datos Microsoft SQL Server y utilizaba MySQL como usuario avanzado (páginas webs, WordPress y alguna aplicación pequeña. Como mis compis saben de esto, las siguientes preguntas son ¿Cual es mejor?, ¿Cual recomiendas?.

La primera pregunta es más o menos fácil de explicar, las otras preguntas son más complejas, voy a dar mis puntos de vista sobre las bases de datos, para ayudaros a decidir.

¿Que es InterSystems Cache?

Cache es una base de datos multi-plataforma, que tiene como particularidades, el hecho de que es increíblemente rápida el acceso a los datos (ya sea para grabarlos o leerlos), mediante lo que se denominan globlals (en otros POST explicaré dicho termino), otras particularidades son el hecho de tener un lenguaje propio de programación tanto Web (CSP, muy parecido a PHP, o Zen que es un Framework desarrollado por InterSystems para la creación de aplicaciones web de texto enriquecido mediante Ajax y demás), como de propios scripts (llamados rutinas, que es bastante parecido a Visual Basic / JavaScript), también tiene varios tipos de conectores para usar con la mayoría de lenguajes de programación (PhP, Java, .Net, etc..) y sino siempre puedes usar el ODBC / JDBC para conectar a dicha base de datos.

 

¿Cuál es mejor?, ¿Cuál recomiendas?

Como digo, estas preguntas son muy complicadas de responder, dado que depende de muchísimas cosas, tema económico (muy importante en esta época), tema de disponibilidad, temas de acceso a los datos, de documentación, etc..

Descripción Intersystems Cache Microsoft SQL Server MySQL
Puntuación Descripción Puntuación Descripción Puntuación Descripción
Sistema Operativo StarStarStar Multi Plataforma  Star Windows  StarStarStar Multi Plataforma
Herramientas Administrativas  Star Portal Web StarStarStar SQL Server Management Studio StarStarStar MySQL WorkBench
Herramientas Monitorización Rendimiento  StarStar pButtons StarStarStar SQL Server Profiler NS / NC
Alta y modificación de datos StarStarStar Globals
T-SQL
Clases
StarStar T-SQL  StarStar  T-SQL
Licenciamiento StarStar Gratuita con limitaciones StarStar Gratuita con limitaciones StarStarStar Gratuita a excepción de cluster
Disponibilidad StarStarStar Microsoft Cluster
Mirroring 1
StarStar Microsoft Cluster StarStar MySQL Cluster
Herramientas desarrollo StarStar Studio StarStar Business Intelligence Development Studio NS / NC
Documentación Star InterSystems StarStarStar Microsoft
Blogs
Webs especializadas
StarStarStar Oracle
Blogs
Webs especializadas

Comentar que MySQL no lo he tocado mucho a nivel de desarrollo, solamente he usado el MySQL WorkBench (o alguno de otra empresa similar), pero no he tenido que investigar problemas de rendimiento y/o desarrollo profundo dentro del MySQL (Siempre lo he usado desde PHP).

El Mirroring, es como un cluster, pero sin la limitación de tener que estar en una cabina de almacenamiento, todo el cluster se hace por la red, pudiendo tener dos servidores con discos locales con el consiguiente ahorro que esto supone. En versiones antiguas de InterSystems Cache, se llamaba Shadow.

 Conclusión

La selección de un motor de base de datos, es una elección bastante compleja, se tienen que valorar varios puntos:

  • Sistema Operativo que se desea usar
  • Coste de las licencias
  • Velocidad de acceso a los datos.
  • Necesidad de creación de un software propio o bien seleccionar un software existente en el mercado, en este punto normalmente el software de terceros ya te marca la base de datos a usar (por ejemplo WordPress necesita MySQL para funcionar).
  • Tiempo de aprendizaje del motor de base de datos, a veces, según el proyecto prima más el tiempo en que se va a tener todo el entorno preparado que el coste de las licencias (por ejemplo).. lo típico de .. “esto tiene que estar para ayer”  *dash*

Lo que no se debe de hacer (si hay posibilidad) es de quedarse solamente con una opción, así que os animo a que probéis todas las opciones (hay más gestores de base de datos de los que he puesto en el POST) y escojáis el que más se adapte a vuestras necesidades.

Como habréis observado no he hablado de hardware, dado que todos más o menos, necesitan el mismo hardware.

Os pongo los links de las bases de datos habladas en este POST.

InterSystems Cache

Microsoft SQL Server

MySQL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

La entrada InterSystems Cache I – Introducción aparece primero en ITBrowns.

]]>
http://www.itbrowns.com/intersystems-cache-i/feed/ 0 75
Pantalla de Login http://www.itbrowns.com/pantalla-de-login/ http://www.itbrowns.com/pantalla-de-login/#respond Sat, 02 Aug 2014 20:21:44 +0000 http://www.itbrowns.com/?p=72 Hola, Os traigo un script en PHP para poder realizar un login de usuario, mediante usuario / password. Dicha pantalla, esta preparada para cualquier base de datos, solo tenemos que cambiar el fichero de conexión que se encuentra en la carpeta inc (Ver este POST) y en caso necesario tienes que cambiar el nombre de la […]

La entrada Pantalla de Login aparece primero en ITBrowns.

]]>
Hola,

Os traigo un script en PHP para poder realizar un login de usuario, mediante usuario / password.

Dicha pantalla, esta preparada para cualquier base de datos, solo tenemos que cambiar el fichero de conexión que se encuentra en la carpeta inc (Ver este POST) y en caso necesario tienes que cambiar el nombre de la tabla y los nombre de campos.

Se ha añadido un campo llamado status, el cual identifica si el usuario esta activo o no, si el campo es 0, significa que el usuario esta activo, más abajo os explico en que consiste cada fichero y que cambios se podrían  realizar

Por temas de seguridad yo añadiría una encriptación al password, mediante un hash, la forma más sencilla sería usando la función md5 de PHP.

md5("texto")

Pero entonces, tener en cuenta de hacer el cambio en la base de datos, para que los passwords esten todos encrpitados.

En el ZIP que os adjunto, encontrareis los siguientes ficheros:

  • index.php: Página que se mostrará en caso de que el login sea correcto. Si te intentas conectarte directamente y no existe la session, te redirigirá a la pantalla de Login (primero hará un Logout para eliminar cualquier posible rastro)
  • login.php: Página principal, es la que tiene el formulario para acceso, y la que verifica si el acceso es correcto. En caso de ser un acceso correcto, genera una variable de sesión y te redirige a index.php.
  • logout.php: Página que elimina cualquier rastro de las variables de sesión.
  • Users.sql: Sentencia SQL para para creación de la tabla de Usuarios.
  • css/style.css: Hoja de estilos para el login.php. Es un ejemplo, modifícala para adaptarla a tu aplicación web.

El resto de ficheros es la clase de conexión (cbPDO)

Descarga: Login

La entrada Pantalla de Login aparece primero en ITBrowns.

]]>
http://www.itbrowns.com/pantalla-de-login/feed/ 0 72
PHP – Clase PDO para conectar a diferentes servidores de base de datos http://www.itbrowns.com/cbpdo/ http://www.itbrowns.com/cbpdo/#comments Thu, 31 Jul 2014 08:39:38 +0000 http://www.itbrowns.com/?p=70 Hola, Hoy os traigo una librería desarrollada en PHP que permite la conexión a diferentes servidores de base de datos mediante PDO, por ahora están incluido los siguientes: MySQL Microsoft SQL Server SQLite 2 ODBC Oracle La librería la podéis descargar de GitHub, exactamente desde aquí, en ella tenemos dos ficheros que nos interesan: cbPDO.class.php: Librería […]

La entrada PHP – Clase PDO para conectar a diferentes servidores de base de datos aparece primero en ITBrowns.

]]>
Hola,

Hoy os traigo una librería desarrollada en PHP que permite la conexión a diferentes servidores de base de datos mediante PDO, por ahora están incluido los siguientes:

  • MySQL
  • Microsoft SQL Server
  • SQLite 2
  • ODBC
  • Oracle

La librería la podéis descargar de GitHub, exactamente desde aquí, en ella tenemos dos ficheros que nos interesan:

  1. cbPDO.class.php: Librería para la conexión con la base de datos.
  2. configBD.php: Aquí van la definición del tipo de base de datos, datos del servidor y de la conexión

Tambíen encontraréis un ejemplo para ver como funciona dicha librería, aunque os lo explico aqui tambien.

Pasos para utilizar la libería:

1. Modificamos el fichero configBD.php con los datos de nuestro servidor

define("DB_TYPE", "mysql");
define("DB_SERVER", "localhost");
define("DB_PORT", "3306");
define("DB_USER","root");
define("DB_PWD", "root");
define("DB_NAME", "cbTests");

2. Referenciamos la librería

require_once "cbPDO.class.php";

3. Hacemos una query bindeando los datos  para evitar ataques de seguridad (SQL Injection y similar). En caso de no tener que pasar datos de consulta usaremos null.

$sSQL = "SELECT id, name, es, en FROM languages WHERE name=:name AND en=:english";
$aValues = array("name"=>"OK", "english"=>"OK");
$aLan = $cbPDO->query($sSQL,$aValues);

4. Ahora ya tenemos los datos en el aray aLan, podemos trabajar como queramos con ellos, en este caso los muestros por pantalla

<table border="1">
<tr><th>ID</th><th>Name</th><th>Spanish</th><th>English</th></tr>
<?php
for ($i=0;$i<count($aLan);$i++) {
     echo "<tr>";
          echo "<td>" . $aLan[$i]["id"] . "</td>";
          echo "<td>" . $aLan[$i]["name"] . "</td>";
          echo "<td>" . utf8_encode($aLan[$i]["es"]) . "</td>";
          echo "<td>" . $aLan[$i]["en"] . "</td>";
     echo "</tr>";
}
?>
</table>

 

La entrada PHP – Clase PDO para conectar a diferentes servidores de base de datos aparece primero en ITBrowns.

]]>
http://www.itbrowns.com/cbpdo/feed/ 2 70
Creación Funcion isNumeric http://www.itbrowns.com/creacion-funcion-isnumeric/ http://www.itbrowns.com/creacion-funcion-isnumeric/#respond Wed, 23 Jul 2014 11:35:52 +0000 http://www.itbrowns.com/?p=65 Por defecto, en una sentencia TSQL contra MySQL no se puede verificar si el dato es numérico, por tanto solo tienes dos posibilidades de realizar dicha acción: 1. Atacando a MySQL con algún lenguaje de programación y realizar la consulta TSQL y luego verificar si el dato es numérico. 2. La que a mi más […]

La entrada Creación Funcion isNumeric aparece primero en ITBrowns.

]]>
Por defecto, en una sentencia TSQL contra MySQL no se puede verificar si el dato es numérico, por tanto solo tienes dos posibilidades de realizar dicha acción:

1. Atacando a MySQL con algún lenguaje de programación y realizar la consulta TSQL y luego verificar si el dato es numérico.

2. La que a mi más me gusta, es crear una función en MySQL, para poder ejecutarla en cualquier consulta de MySQL. Os adjunto la función

CREATE FUNCTION isNumeric (sIn VARCHAR(1024)) RETURNS tinyint
  RETURN sIn REGEXP '^(-|+){0,1}([0-9]+.[0-9]*|[0-9]*.[0-9]+|[0-9]+)$';

 

La entrada Creación Funcion isNumeric aparece primero en ITBrowns.

]]>
http://www.itbrowns.com/creacion-funcion-isnumeric/feed/ 0 65