miércoles, 29 de junio de 2011

Cambiar el proveedor de búsquedas de Google a Español

Hola.

Cuando añadimos el proveedor de búsquedas de Google en el Internet Explorer, por defecto, sus búsquedas son en inglés.




Para probar esto, hacemos una búsqueda de "Overflow Exception" y nos fijamos en la URL que genera.




Si pudiéramos cambiar la plantilla de Url que tiene guardado el proveedor de búsqueda por "es",  lo tendríamos solucionado.




Para ello, y apoyándonos en San Google, encontramos que estos proveedores se almacenan en el registro.

Así que, arrancamos el RegEdit.
  • En Windows 7, botón inicio, y donde pone "Buscar programas y archivos", teclead Regedit
  • En sistemas anteriores, Botón Inicio, Ejecutar, y teclead Regedit
Sobra decir que seamos cautos cuando modificamos el registro, ya que un borrado accidental puede dejarnos el sistema bastante inestable)

Navegamos hasta la clave:

HKEY_CURRENT_USER \ Software \ Microsoft \ Internet  Explorer \ SearchScopes

Nos encontraremos con los proveedores que tenemos registrados, con un identificador un tanto extraño.
Si los vamos seleccionando uno a uno, veremos en la pantalla de la derecha de qué proveedor se trata.

Cuando localicemos el de Google, sólo tendremos que cambiar la URL del "en" al "es" (doble click sobre la URL)

Con esto, las búsquedas ya aparecerán en español.

Próximamente intentaré hacer un proveedor de bísquedas específico de alguna página


Saludos.

miércoles, 15 de junio de 2011

Conocer el ranking de una página

Hola.

Informándome acerca de qué es SEO y posicionamiento Web, he encontrado algunos enlaces interesantes:
Saludos.

martes, 14 de junio de 2011

Bloqueos en producción

El otro día en la oficina empezamos a tener llamadas de gente que se le estaba quedando bloqueada la aplicación y que no les dejaba entrar.

Antes de darle botonazo al servidor, es conveniente saber la causa.

Buscando el proceso bloqueado
Tenemos que averiguar qué proceso es el causante de los bloqueos.

Para SQL versión 2000 o anterior:
comando "EXEC SP_LOCK" (para SQL anterior a versión 2005)
http://msdn.microsoft.com/en-us/library/ms187749.aspx
Según el MSDN, el comando SP_LOCK se discontinuará en versiones posteriores.

Columnas importantes:
  • SPID: Identificador de la sesión.
  • DBID: Identificador de la base de datos. Puedes usar DB_NAME(el número dbid) para saber el nombre de la base de datos.
  • STATUS:
    • WAIT: Procesos en espera por otros procesos
    • GRANT:Proceso bloqueado.

Para SQL Server versiones 2005 y posteriores
debemos usar "select * from sys.dm_tran_locks"
http://msdn.microsoft.com/en-us/library/ms190345.aspx

Columnas importantes:
  • resource_database_id: Identificador de la base de datos. Puedes usar DB_NAME(el número dbid) para saber el nombre de la base de datos.
  • request_session_id: Identificador de la sesión

  
Con estos comandos, podemos tener una visión de qué proceso es el que está causando el bloqueo.
Habrán procesos que están bloqueados por ptro proceso (Blocked by SPID xx), y también podremos ver que la mayor parte de los bloqueos los causa una sesión determinada

Nos anotamos el identificador de la sesión.
Localizando la sesión que bloquea

Comando "Exec SP_WHO2"
Este comando también nos sirve para ver qué usuarios están conectados actualmente al servidor SQL.
Localizamos la sesión que lanzó el proceso bloqueado, buscando en la columna SPID el identificador de la sesión que vimos anteriormente.

con SP_WHO, podemos ver:
  • SPID: Identificador de la sesión
  • LOGIN: Usuario de dominio que ejecuta la sesión
  • HOSTNAME: Equipo que ejecuta la sesión
  • DBNAME: Base de datos a la que está conectada la sesión
  • ProgramName: Programa que inicia la sesión
Una vez localizada la sesión que genera el bloqueo, debemos de cerrarla.
Lo primero que deberíamos de intentar es cerrar el proceso a través de la aplicación y sesión que está causando el problema.
Si no podemos conectarnos a esa máquina, el plan "b" sería matar el proceso con un "KILL XX", donde XX es el nº de sesión. 

Esto de matar los procesos alegremente tiene su peligro, ya que puedes dejar registros inconsistentes si la aplicación no dispone de procesos transaccionales.

 
Saludos.

jueves, 9 de junio de 2011

Saludos

Hola.

Tras ir acumulando experiencias, formaciones, gambazos, éxitos, despistes y curiosidades en el mundo de la programación en concreto, y de la informática en general, he decidido darles forma en este blog para que no se pierdan en mi memoria ni en notas sueltas, y que sirvan para conocimiento de la comunidad.

Así que... bienvenidos seáis!!!.