by Olgeddie Ferrer

Hola Chicos!!gusto en saludarles.

Actualmente en las aplicaciones para garantizar una parte de la seguridad de nuestra web se recomienda utilizar algún tipo de Captcha, como el siguiente y aquí te mostrare como:

  • Para comenzar creemos un proyecto web:1
  • Yo por ejemplo utilice esta plantilla para facilitar el demo, pero por supuesto si van a personalizar su web son totalmente libres:2
  • En este caso trabajaremos sobre la vista que esta en : Views/Account/Login.cshtml:3
  • La idea en este caso es que quien se logee coloque el captcha, comenzamos agregando la referencia CaptchaMvc en nuestro proyecto :4

Allí buscamos la referencia solicitada, y la instalamos a nuestro proyecto.

  • Ahora en nuestro controller en el action correspondiente al login(agregan el usign):   7
  • Ahora en mi vista, en mi caso luego del login ya que allí lo deseo colocar:   8
  • @Captcha(5), significa que es un captcha de letras y tendrá 5 caracteres, pueden colocarle mas o menos según lo requieran.
  • y ya con eso tenemos lo siguiente en la vista:

5

  • e incluso funciona la validación del mismo:

6

 

Con eso ya esta listo y tienen implementado la funcionalidad, espero haber ayudado!!

Hola chicos, en este post les explicare como resolver un error que me salía cuando intentaba correr mi app de Xamarin (mi primera app), recuerden que para instalar este complemento deben buscar el instalador aquí.

El error que me salía cuando intentaba compilar mi primera app luego de instalar el paquete de Xamarin era:xam1

Y la solución es la siguiente, se dirigen a las propiedades de su proyecto de la siguiente manera:

xam2

En la última opción encontraran las propiedades y cambiaremos las siguientes opciones:

xam3

Recuerden que eso dependerá de que emulador tengan instalado… yo hice la prueba con v2.3 o v3.1 ya que son los que trae por defecto el SDK y me funciono bien, espero les sirva en su momento la solución. 😀

xam4

Hola amigos, muchas veces se nos presenta la situación en que debemos consolidar información nueva con otra va existente y no tenemos manera rápida de ver cuales registros ya existen y cuáles no, claro hablando desde el escenario que la data este en Excel y quieran hacer la operación allí mismo.

Bueno lo que haremos será tratar de ver que personas no existen en una lista de empleados por ejemplo buscando su cedula por un conjunto de datos, primeramente vemos que tenemos una pequeña lista de empleados:1

Ahora haremos un conjunto de datos, seleccionamos la celda que vamos a comparar que en este caso es la de cedula, nos vamos a la pestaña “formulas”, y seleccionamos “define name”, a ese conjunto le colocaremos el nombre de “cedulas”, tal y como ven en la imagen (recuerden que eso lo hacen en una hoja del documento de Excel, en otra tendrán los datos a comparar):

2

 

Ahora en la hoja 1 de nuestro documento resulta que tenemos el nuevo listado de personas tal y todo vemos, hay personas que existen en la lista vieja y otras que no, como comparar de manera rápida tomando en cuenta que tengamos más de 500 registros?, ya lo veremos:

3

 

Luego nos situamos en una nueva celda en la hoja1, y colocamos la siguiente formula:

=IF(ISNA(VLOOKUP(A6;cedulas;1;FALSE));”Ingreso”;”existente “)

Explicando la formula; estamos diciendo que busque en el conjunto de cedulas si existe el valor de A6.

4

 

Esta es una manera rápida de ubicar valores repetidos o existentes de una data que nos den y queramos hacer el proceso en Excel, si su Excel está en español pueden convertir la formula AQUI.

Saludos y espero les sea útil…

Muy buenos días chicos, esta vez les traigo como migrar los proyectos de desarrollo que tengamos en nuestro server de Team Foundation a un nuevo server, bien sea por una migración de servidor a un nuevo sistema operativo o simplemente un cambio de hardware.

Comencemos, primero que nada ubicarse en el viejo server de Team Foundation, y seleccionar nuestra colección y presionamos “Stop Collection” como podemos apreciar en la siguiente imagen:

tf1

Luego de darle Stop, presionamos “Detach Collection” :

tf2

 

Y presionamos “Detach” y “Next” hasta que finalice el proceso y se muestre la siguiente pantalla:

tf3

Ahora que ya detuvimos la collection, nos dirijimos a SQL Server del servidor (viejo), y nos vamos a la Base de Datos correspondiente al proyecto de grupo que estamos migrando en este caso “Collection2” y generamos un .bak (respaldo completo) de dicha BD:

tf4

Ahora, SI NOS VAMOS AL SERVIDOR NUEVO y desde SQL Server vamos a restaurar la BD que respaldamos (.bak), recuerden copiar el archivo generado en la carpeta  “C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup” y proceden a restaurar.

A continuación, en EL NUEVO SERVIDOR abrimos Team Foundation Server, y vamos a presionar “Atach”, seleccionamos el Servidor y nos saldrán los proyectos de grupo que podemos atachar o incluir:

tf6

Ahora ya está listo podemos ver nuestro proyecto de grupo en el nuevo server, e incluso si accedemos de manera web podemos ver los cambios que tenían:

tf7

 

Eso fue todo, espero les sea muy útil en algún momento que hagan el proceso en sus servidores :D.

 Hola chicos, esta vez les dare una solución al momento de hacer diferente tipos de ranking o muestra de resultados, en algunas oportunidades utilizamos vistas que guardamos con la consulta del ranking y listo solo la consultamos desde nuestra aplicación, pero ya es cuestión de comodidad y forma de trabajar de cada quien.

Les diré la herramienta y sus diferentes formas de mostrar resultados, comenzamos:

  • RANK, devuelve el rango basado en el criterio de ordenación. Cuando dos filas tienen el mismo valor de la orden, se proporcionará mismo valor para las dos filas y el ranking se incrementa después de la misma sumando su posición, el criterio de orden se establece por un order by:

SELECT  RANK () OVER ( order  by  nota desc)  AS  RANK, nombre, profesion, nota FROM asistentes

rank1

SELECT  RANK () OVER ( order  by  nota asc)  AS  RANK, nombre, profesion, nota from asistentes

rank2

SELECT  RANK() OVER (PARTITION by profesion order  by  nota )  AS  RANK, nombre, profesion, nota from asistente

rank4

Otra manera de usar un rank es agrupando por un criterio y por cada criterio colocar el ranking como vemos se agrupan por profesión pero en cada una de ellas hay una posición de sus participantes.

  • DENSE_RANK, es muy similar a la anterior, lo que las hace diferente es que no guarda la posición de las columnas sino que sigue el consecutivo del ranking, como verán:

SELECT  DENSE_RANK() OVER ( order  by  nota asc)  AS  RANK, nombre, profesion, nota from asistentes

rank3

Bueno espero les sea útil en algún momento… 😀

Hola chicos, en este post les daré unos querys que son muy útiles al momento de formatear una tabla para manejarla a nuestra conveniencia y según sea el requerimiento que necesitemos, manos a la obra:

  •  Para comentar algúna línea:

–aqui tu comentario

  •  Regiones en SQL, muchas veces queremos ordenar un poco el código para tener más control y buscarlo más rápido:

 begin –Nombre de tu region

 –codigo correspondiente

  end

  •  Sustituir ID’s, algunas veces debemos consolidar información cruda y para poder lograr la escalabilidad de la aplicación necesitamos relacionar tablas con sus ids, vale destacar que al principio tendremos solo texto que debemos relacionar con sus correspondientes ID’s:

Update a

set a.campo1 =

case a.campo1

when a.campo1 then b.id

end

from tabla1 a, table2 b where a.campo1 = b.descripcion

  •  Sustituir un campo según contenga un contenido, si queremos sustituir un campo según lo que tenga escrito y no compararlo con otra tabla:

Update a

set a.campo1 =

CASE a.campo1

 WHEN ‘lo que contenga’  THEN ‘0’

 END

from tabla1 a

where a.campo1 = ‘lo que contenga’

  •  Validar si un campo está en NULL y sustituirlo,

Update a

set a.campo1 = ISNULL(a. campo1, ‘por lo que vayas a sustituir’),

from tabla1 a

  •  Colocar la fecha actual en un campo, algunas veces hacemos el proceso automático pero necesitamos la fecha en que fue ejecutado y guardarlo en un campo:

Update a

a.campo1 = ISNULL(a. campo1, GETDATE( )),

from tabla1 a

  • Reiniciar contador de un campo Integer identity, algunas veces tenemos un id autoincrementable, hacemos pruebas insertando y bueno ese id va incrementando y así borres los registros de la tabla el continua la cuenta anterior, para reiniciar ese valor (el 0 es donde quieres comience a contar):

DBCC CHECKIDENT (tabla1, RESEED, 0)

  •  Pasar los registros de una tabla a otra, algunas veces trabajamos con tablas que no son las definitivas con el fin de formatearlas, cuando terminemos el tratamiento de esos datos y queramos pasarlos a su tabla definitiva:

 INSERT INTO tabladef SELECT * FROM tabla_temp

  •  Eliminar registros validando un campo nulo:

 DELETE FROM tabla1 WHERE  (id IS NULL)

  •  Si te sale el error datos truncados, ya sea que estas insertando desde ETL’s o desde query, es porque la longitud en un campo destino es más pequeño que el origen.

 

  •  Si te indica al momento de llenar una tabla el error de conflicto en el campo “tal” es porque tienes una relación y el campo que estas colocando no está asignado al ID de la tabla con que tiene relación, si tienes en la tabla1 el idcampo=2, entonces ese id = 2 debe estar en la tabla con la cual hagas la relación.

Saludos!! espero les sea muy util para mi lo fue!! comenten!!

Hola chicos en esta oportunidad compartiré varias utilidades que son importantes cuando queremos hacer extracción de datos, macros de validación o consolidación de información desde nuestro documento Excel:

  •  Verificar la última fila escrita:

Dim ultima As Integer

ultima = (Cells(Rows.Count, 1).End(xlUp).Row)

  •  Verificar celda vacia:

If IsEmpty(Range(val)) Then

 vacio = True

End If

  • Cambiar color de fondo de un rango de celdas:

  Range(“A1:i1”).Interior.Color = RGB(255, 255, 255)

  •  Cambiar color de letra de un rango de celdas:

 Range(“A1:i1”).Font.Color = RGB(0, 0, 0)

  •  Desbloquear hoja:

ActiveWorkbook.Unprotect (“Password”)

  •  Activar hoja, para seleccionarla:

Dim sheet1 As Worksheet

Set sheet1 = ActiveWorkbook.Sheets(“hojaaseleccionar”)

Ó

sheet1.Activate

  •  Insertar columna:

Columns(“o:o”).Select

  Application.CutCopyMode = False

 Selection.Insert

  •  Eliminar celda y rodar a la izquierda

 Range(“S:s”).Select

    Selection.Delete Shift:=xlToLeft

  •  Copiar y pegar en hojas diferentes:

Worksheets(“hoja1”).Range(“e44”).Copy

 Worksheets(“hoja2”).Range(“e4”).PasteSpecial xlPasteAll

  •  Activar otro libro (abierto):

Windows(“documento.xlsx”).Activate

  • Agregar hoja y renombrarla:

Worksheets.Add.Name = “hojanueva”

  • Utilizar la fecha actual:

Worksheets(“hoja2”).Range(“e4”) = Date

  • Rellenar una celda con un color amarilla:

Range(“s2”).Interior.Color = QBColor(14)

Espero les sea muy util… 😀

Nube de etiquetas