Primeramente quiero darle las gracias a todas las personas que están apoyando este proyecto, espero que les siga ayudando de mucho, gracias los buenos comentarios y correos recibo diariamente, debido a esos comentarios he decidido abrir un poco más el Portal, debido a que me he basado en la tecnología Microsoft únicamente, y algunos de nuestros seguidores quieren que implementemos todo tipo de soluciones, ya que conocen que manejo una buena cantidad de lenguajes de programación y entornos de desarrollo; por lo cual he decidido que también empezare a publicar algunos posts de otras tecnologías, pero el portal siempre lo basare en las tecnologías Microsoft, ya que la considero como una de las mas robustas para el tipo de desarrollo que actualmente hacemos.
Cuento con un amplio experticio en el desarrollo de aplicativos tanto para la Web, Escritorio como Móvil, por lo cual estaremos viendo algunas publicaciones relacionadas a esas áreas, aunque también desarrollo con Robotics de Microsoft, solo tocare los temas de Robótica que me lleguen a mi correo, debido a que es un área bastante amplia y necesitaríamos mucho tiempo y espacio para tratar como se hace cada tema.
Mi Proxima publicacion tratara el tema de "Como Mostrar Datos desde MySQL con PHP", esto a petición de uno de nuestros más fieles seguidores, en el mismo explicare como realizar una consulta en MySQL y desplegar la información en un DataGrid de PHP.
Buenas Nuevas!....
6:26 p. m.
Omar Frometa
Posted in
Sigueme por Twitter
9:00 a. m.
Omar Frometa
A todos los amantes de esta Web, les invito a seguirme a través de Twitter, ahi se enterarán de los últimos artículos que he publicado en mi portal, como también las charlas que dicto, los cursos que estaré impartiendo, y los eventos que frecuentemente participo.
http://www.twitter.com/@omarfrometa
Posted in
Agrupando Registros con SQL Server 2008
5:00 p. m.
Omar Frometa
Estaré habciendo mención en las próxima publicaciones de algunas de las nuevas funciones que nos trae SQL Server 2008, me he sentido motivado a escribir sobre los nuevos features de SQL Server 2008, debido al gran numero de preguntas que he recibido a mi correo personal, por lo cual estare listando las mas importantes.
Una característica nueva que tiene la nueva versión de SQL Server, es el nuevo operador GROUPING SETS, que ya existía en otros motores de base de datos tales como Oracle, el cual permite combinar consultas de agrupación distintas en una sola consulta.
Es bueno aclarar que el operador GROUPING SETS es una extensión de la cláusula estándar GROUP BY. Cuando no se requieren todas las agrupaciones posibles que se generan utilizando un operador ROLLUP o CUBE (que ya existían en SQL Server 2005), se debe utilizar GROUPING SETS para especificar sólo las agrupaciones que se deseen. O sea, gracias a GROUPING SETS obtenemos los niveles de agrupación deseados y además nos devuelve el subtotal para cada subconjunto de agrupación.
En pocas palabras podríamos decir que GROUPING SET es mas abarcativo y genérico que ROLLUP o CUBE. Generalmente consultas que usen este tipo de operadores están relacionadas con el análisis de datos, reporting y todo lo relacionado con el mundo la Intelegencias de Negocios.
Les recuero este nuevo operador no viene hacer magia y a solucionar un problema que no se podia solucionar, sino mas bien nos simplifica y optimiza nuestras consultas, por eso es lo importante del mismo, pero quiero aclarar que sin utilizar este operador podiamos generar o encontrar los mismos resultados en SQL Server, pero no con el performance que este nos brinda.
Probemos en una consulta, como siempre utilizare la base de datos de prueba de SQL Server AdventureWorks para realizar este ejemplo:
Lo primero que nos viene a la cabeza para resolver la parte de la agrupación casi siempre es hacer una consulta usando UNION ALL con tres consultas diferentes, una por cada agrupación, seria algo como esto:
Pero podríamos solucionarlo utilizando el operador GROUPING SET, seria algo como esto:
Ahora como podrán ver en este último ejemplo, además de usar el operador GROUPING SETS, hago uso de la función GROUPING en el ORDER BY, esto es para ordenar el resultado por Name y CountryRegionCode.
Esta función (que ya existía en SQL Server 2005), nos indica si una expresión de columna especificada en una lista GROUP BY es agregada o no. GROUPING devuelve 1 para agregado y 0 para no agregado, en el conjunto de resultados.
La ventaja del uso GROUPING SETS no está solo dada por simplificar sintácticamente las consultas, sino también en cuestiones de performance.
Hice unas pruebas para monitorear el uso de recursos (SET STATISTICS IO ON) con 90,000 registros en mi tabla y estos fueron los resultados:
Usando UNION ALL:Table ‘Sales.SalesTerritory’. Scan count 3, logical reads 1728, physical reads 6, read-ahead reads 590, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Usando GROUPING SETS:Table ‘Sales.SalesTerritory’. Scan count 1, logical reads 576, physical reads 6, read-ahead reads 590, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Como se puede ver, GROUPING SETS hace menor uso de recursos de I/O. Esto se debe a que usando la nueva característica de SQL Server, el motor necesita leer menos paginas de datos, ya que hace el cálculo de agregación de más alto nivel sobre las agregaciones de menor nivel.
Posted in
SQL
SERIES
11:45 a. m.
Omar Frometa
Este año 2011 vengo con una serie muy buena de tecnicas que nos ayudaran a fortalecer nuestros estilos de programacion, estare mostrando las ultimas tendencias en la programacion, y como disminuir nuestro codigo en un 90%.
Estare publicando en los proximos dias el primer tema de una serie que he denominado "Desde los Ojos de un Hacker", en esta primera serie estare hablando de como proteger nuestras aplicaciones de intrusos y personas malintensionadas.
Cubriremos la seguridad de nuestras aplicaciones en todos los aspectos basandonos en nuestra Capa de Negocios y Nuestra Capa de Datos, mostraremos las fortalezas y debilidades de nuestras aplicaciones tanto para el ambito web como para el de escritorio.
Les doy gracias a todos nuestros fieles seguidores que nos escriben frecuentemente a nuestra direccion electronica como tambien a todas las personas que visitan estos POST cada vez que son publicados en el portal.
Gracias a Todos......
Attentamente,
Omar Frometa
Posted in
Restaurando una Base de Datos SQL desde un Snapshot
2:44 p. m.
Omar Frometa
En lo particular comenzare este articulo definiendo segun Books Online lo que es un Snapshot, que en lo particular lo considero como uno de los mas interesantes conceptos utilizados en la actualidad.
Snapshop: es una vista estática de sólo lectura de una base de datos denominada base de datos de origen. Pueden existir varias instantáneas en una base de datos de origen y residir siempre en la misma instancia de servidor que la base de datos. Una instantánea de base de datos es coherente en cuanto a las transacciones con la base de datos de origen tal como existía en el momento de la creación de la instantánea. Una instantánea se mantiene hasta que el propietario de la base de datos la quita explícitamente.
En resumen es una fuente de datos estatica de solo lectura, en la cual podemos consultar informacion de la misma e incluso hacer transacciones en la misma.
En esta ocacion procedere a crear una nueva base de datos la cual llamare OmarFrometa_DB, en el cual voy a crear una nueva tabla y le voy a insertar al menos 5 nuevos valores:
Luego procedere a Crear mi Snapshot en mi base de datos OmarFrometa_DB.
Despues de esto voy a realizarle un Select tanto a mi tabla como a al Snapshot creado, para que asi logren notar su comportamiento.
En otro capitulo seguire ampiando todo lo que podemos hacer con estas fotografias de la base de datos (Snapshot) y asi podremos explotar al maximo este concepto que existe desde la version 2005 de SQL pero que muy pocas personas aun lo estan utilizando.
Aqui les dejo todo el Codigo que Utilice.
Posted in
SQL
Como Obtener los Tweets de una Cuenta de Twitter, C#.Net
2:53 p. m.
Omar Frometa
Estaba desarrollando durante el fin de semana un Manejador de Contenidos personalizado para un Portal muy visitado de República Dominicana, lo cual estoy a cargo de su remodelación, dentro de los cambios me pidieron que necesitaban obtener los últimos Tweets publicados en Twitter desde la cuenta del portal.
Redireccionando a una Pagina Segura con C#
1:43 p. m.
Omar Frometa
Muchas veces en las aplicaciones que desarrollamos, tenemos módulos o paginas que deben de estar cifradas dada a su importancia, muchos utilizan un protocolo de conexion seguro como SSL para realizar esta tarea SSL = Security Socket Layer.
Luego que tenemos ya definido en nuestro sitio el método de cifrado que utilizaremos, les mostrare como pueden redireccionar desde una dirección http a una https, utilizando C#.
Para realizar la Redireccion de paginas, lo que haremos es crear un método que se llamara SecurityProtocol(bool isSecure) el cual aceptara un parámetro Boolean.
Entonces en la pagina que queramos redireccionar ponemos el siguiente código en el Page_Load
Y el metodo Security Protocol Tendria lo Siguiente
Posted in
C#
Llamar un WebServices desde un Store Procedure
12:33 p. m.
Omar Frometa
En una ocasión un viejo amigo, estaba programando unas aplicaciones con .Net y Sockets, y necesitaba poder invocar un WebServices desde un procedimiento almacenado.
Aplicaciones Multi-Idiomas
1:23 p. m.
Omar Frometa
Existen varias maneras de nosotros desarrollar una aplicación Multi-Idioma, ahora la mas correcta a mi parecer es utilizar archivos donde tengamos todo nuestro diccionario de etiquetas en las cuales podamos darle un significado correcto a la traducción.
Lamentablemente aunque los traductores que hay hoy en día en Internet son bastante buenos, aun no traducen 100% la mayoría de la información que necesitamos.
En este articulo mostrare paso a paso como crear una aplicacion multi-lenguaje con Visual Studio.
1. Lo primero que haremos es crear una aplicacion C# en Visual Studio.
2. Procederemos a Diseñar en nuestro formulario una pantalla similar a la que mostrare, esta contiene un Lisbox, un Label y 9 Botones.
3. Luego crearemos 4 nuevos Objetos Resources en nuestros proyectos, le pueden poner el nombre que quieran, luego un punto y lo separan por la cultura que utilizaran, ejemplo MiRecuerso.ES-DO y proceden a rellenar sus campos.
Los Objetos Resources tienen 3 campos principales Name que es donde pondremos el Objeto que queremos renombrar, Value ahi pondremos el valor a remplazar y Comment esto es por si desean guardar algún comentario al respecto.
4. A nuestro Lisbox le introducimos las Culturas que vamos a Utilizar en nuestro aplicativo en nuestro caso utilizamos las siguientes: ES-DO (Español, República Dominicana), EN-US (Ingles, Estados Unidos), JA-JP (Japones, Japón).
5. Luego procederemos a Codificar la Aplicacion.
6. Crearemos un Método que se llamara AplicarIdioma, este es el que se encargara de asignarle los nuevos valores a nuestros controles utilizados.
7. Luego de esto Procederemos a habilitar el Evento SelectedIndexChanged de nuestro LisBox, y le indicaremos que cada vez que seleccionen un valor diferente a la lista ejecute el siguiente evento.
8. Ya con esto que construida Nuestra aplicacion Multi-Idiomas y solo tenemos que ponerla a Correr para ver los Resultados.
Posted in
Instalando & Configurando DotNetNuke, Paso a Paso
5:59 p. m.
Omar Frometa
Posted in
RSS FEED
TWITTER




























































