viernes, 15 de noviembre de 2013

Iconos para tus Aplicaciones

Hoy en día es muy importante tener este tipo de recursos, cuando no se posee de un diseñador que te pueda echar una mano para realizar tus propios iconos.
Aqui algunos sitios que nos pueden ayudar con los Iconos para nuestras Aplicacion:
  • Webiconset, donde hay una categoría con más de 300 iconos gratuitos

  • IconFinder,donde encontraras muchos iconos categorizados por tematicas, de los cuales algunos son pagos otros no. 


jueves, 11 de julio de 2013

Priyanka un virus de WhatsApp que modifica los contactos

Un nuevo virus está afectando a la popular aplicación de mensajería instantánea WhatsApp, cambiando el nombre de todos los contactos.
El virus se llama Priyanka y se presenta como un contacto para agregar mediante una solicitud de contacto.
Cuando se acepta a Priyanka como amigo, todos los contactos que se tengan en WhatsApp tendrán este nombre, causando desorden y confusión en la lista de amigos de la aplicación, informó ABC.es.
Para evitar el virus, es preciso rechazar la solicitud de amistad de cualquier contacto con este nombre. Si su dispositivo móvil ya ha sido afectado, debería borrar WhatsApp y volver a descargarlo.
Si la infección es reciente, se recomienda borrar lo antes posible a Priyanka, entrar a ajustes y forzar el cierre de la aplicación, luego borrar datos; así podrá reiniciar la cuenta y tener el WhatsApp con sus contactos originales.

Como obtener la ruta fisica y la url web en Genexus

Ruta fisica de la aplicacion en genexus
&miRutaWin=GetPathApp.udp()
el valor que devuelve es la ruta fisica de la aplicacion

generador java
C:\Tomcat 6.0\webapps\miAppJavaEnvironment

generador c sharp
C:\Models\mimodelo\CSharpModel\web

Url web de la aplicacion en genexus

&miUrlapp=GetUrlApp.udp()
el valor que devuelve es la url base de la aplicacion

generador java
http://localhost:8080/appJavaEnvironment/

generador c sharp
http://localhost/app.NetEnvironment/

Aqui pueden descargar el xpz con los procedimiento
https://docs.google.com/open?id=0B72G0BdzutieS2tvMlpCRlJjWXM

jueves, 4 de abril de 2013

La Herramienta Agil ScrumDesk


Para la Administración de un Proyecto de Software utilizando la Metodología Ágil SCRUM tenemos diversas Herramientas, entre ellas podemos mencionar: 

ScrumDesk

ScrumDesk ofrece un intuitivo punto de vista sobre las historias (tareas) con vista de la tarjeta de índice y permitir la gestión de proyectos de colaboración.

ScrumDesk no es sólo para los directores de proyectos. ScrumDesk conecta los equipos de proyecto, los miembros del equipo con los clientes y la gestión.

Todo el mundo puede identificar fácilmente el estado del proyecto mediante informes que muestra suelen utilizar SCRUM métrica como una burndown gráfico, liberación métrica, estacionamiento y así sucesivamente.

ScrumDesk proporciona el fácil acceso a herramientas de colaboración incluyendo la mensajería, llamadas a través de Internet, correos electrónicos, páginas web y sistemas de seguimiento de fallos. ScrumDesk facilita la administración de usuarios.

Principales Beneficios:
1 - Para los administradores
·         Miembros del equipo de fácil manejo
·         Soporte para múltiples equipos desplazados aún
·         Comunicados de Prensa y sprints de planificación
·         Instante el estado del proyecto métrica
·         Retrospectiva de ideas para la mejora de proceso de desarrollo
2 - Producto de los propietarios
·         Estrechas relaciones con el equipo de desarrollo
·         Retroalimentación instantánea sobre los cambios
·         Características del producto, fácil de planificación
·         Conexión directa a los desarrolladores
·         Cronología de los principales eventos como el desarrollo de proyectos de demostración, la puesta en libertad, sprints
     3 - Para los desarrolladores y de control de calidad
·         Seguimiento de trabajo
·         Fácil identificación de sprint estado
·         Colaboración con el titular del producto, incluso en melé maestro escenarios distribuidos
·         Últimas historias de cambios 

Características principales: 
1.    Proyectos
2.    Equipos
3.    Historias de a bordo, las tarjetas de historia
4.    Kanban (tarea a bordo), arbóreo.
5.    Planificación sprints y las emisiones
6.    Planificación Poker.
7.    Retrospectiva
8.    Seguimiento de los progresos
9.    Colaboración
10.  Integración

domingo, 24 de marzo de 2013

Conexion a SQL Server con PHP

Bueno aqui muestro un pequeño ejemplo como conectarse al Motor de Bases de Datos SQL Server desde PHP.
Primero que nada debemos tener configurado nuestro Apache para que PHP pueda ejecutar funciones sobre SQL Server.
1-Abrir el archivo "php.ini" (ubicado en mi caso C:/Windows/php.ini), quitar el ";" en la siguiente linea lo cual nos permite ejecutar las funciones mssql:
extension=php_mssql.dll
2-Chequear que disponen de la libreria "php_mssql.dll".
3-Reiniciar Apache.
Ahora paso a mostrar el ejemplo primero tengo una funciones llamada "Conectarse" para conectarme a SQL Server:
1-Archivo conexion.php:
<?php
function Conectarse($bd,$sesion,$pass) {
    if (!($link=@mssql_connect("PC_NAME\SQLEXPRESS",$sesion,$pass))):
        echo "<h5><b>Error:<b><br>";
echo "<center>No se pudo establecer la conexión al servidor.</h5></center>";
       return false;
        die();
    endif;
    if (!(mssql_select_db($bd,$link))):
    echo "Error seleccionando la base de datos.";
return false;
die();
    endif;
    return $link;
};
?> 

2-Archivo ejemplo.php
<?php
//Datos de Prueba
$bd = "BDPrueba";
$sesion = "sa";
$password = "password_sa";
?>
<h3><center>Creación de la de Bases de Datos :<? echo $bd;?></h3>
<?php
include("conexion.php");
  $link=Conectarse("master",$sesion,$password);
  $consulta = 'CREATE DATABASE ' . $bd;
  //Se ejecuta la consulta para crear una BD 
  $result =   @mssql_query($consulta,$link);
?>
<div align="left">
    <table border="0" cellpadding="5">
    <tr>
        <td bgcolor="#D3DCE3"><b>Consulta:<br><? echo $consulta; ?></b><br /></td>
    </tr>     
    </table>
</div><br><br>
<table cellspacing="0" cellpadding="2" border="1" width="60%" align="center" height=50 >
<tr><td bgColor="#CCFFFF" align="center">
<?
  if ($result==FALSE) {
echo "<h4>La Bases de Datos <b>".$bd."</b> NO fue creada<br>\n";
        $error_mensage = mssql_get_last_message();
        $error_mensage = htmlspecialchars($error_mensage);
        $error_mensage = ereg_replace("((\015\012)|(\015)|(\012)){3,}", "\n\n", $error_mensage);
        echo '<pre>' . "\n" . $error_mensage . "\n" . '</pre>' . "\n";       
 }else{
echo "<h4>La Bases de Datos <b><font size='4' color='#0033ff'>".$bd."</b></font> fue creada correctamente<br><br>\n";
}
?></td></tr>
</table>
?> 

lunes, 28 de enero de 2013

Uso de indices en Sql Server

Cuando se construye una aplicación hay un número de cosas que son importantes. 
Una de ella es: Tener un buen diseño de la base de datos. La estructura de una base de datos que sea fácil de usar y de realizar consultas.
Un componente de SQL Server, que permite que se devuelvan los datos rápidamente en una consulta, son los índices de las tablas. Usar índices que sean apropiados para la aplicación, le permite al motor de la base de datos minimizar la cantidad de trabajo necesario para obtener los datos.  Contrariamente, si la base de datos tiene demasiados índices, la actualización y la inserción de datos pueden empeorar, ya que SQL Server consumirá ciclos de CPU y de E/S para actualizar todos los índices que sean necesario. 
El rendimiento es otra de la cosas. Una medición del rendimiento es qué tan rápidamente su aplicación le permite recuperar y actualizar los datos.
Existen diferentes tipos de indices en MSSQL Server:
  1. Indices unicos(Unique)
  2. Indices agrupados(Clustered)
  3. Indices no unicos(Non-Unique)
  4. Indices no agrupados(Non-Clustered)
La sintaxis básica es la siguiente:
CREATE tipo_de_indice INDEX nombre_indice ON tabla(campo_indice);


Indices Unicos(Unique)

La creación de un índice único garantiza que los datos no se dupliquen en la Tabla.
Debe crearse una restricción UNIQUE en la columna cuando el objetivo es la integridad de los datos.

Ejemplo: CREATE UNIQUE INDEX ix_libros_codigo ON libros(codigo);


Indices Agrupados(Clustered)
Se utilizan para campos por los que se realizan busquedas con frecuencia o se accede siguiendo un orden. Los registros con el mismo valor de campo se agrupan juntos. Un índice agrupado determina la secuencia de almacenamiento de los registros en una tabla.
Una tabla sólo puede tener UN índice agrupado.
Los indices agrupados son similares a una guia telefónica.

Ejemplo: CREATE CLUSTERED INDEX ix_libros_codigo ON libros(codigo);


Indices No Unicos(Non-Unique)

Son utilizados cuando no se tiene PRIMARY KEY ni indice UNIQUE, en ese caso se puede crear indices NON Unique  para satisfacer las consultas SQL, y conseguir un buen rendimiento de la base de datos, pero sin tener posibilidad de identificar cada fila de forma unívoca.

Ejemplo: CREATE INDEX ix_libros_codigo ON libros(codigo);



Indices No Agrupados(Non-Clustered)

Un índice no agrupado se emplea cuando se realizan distintos tipos de busquedas frecuentemente, con campos en los que los datos son únicos. Una tabla puede tener hasta 249 índices no agrupados.
Los indices No Agrupados  es como el índice de un libro.

"La diferencia básica entre índices agrupados y no agrupados es que los registros de un índice agrupado están ordenados y almacenados de forma secuencial en función de su clave".

Ejemplo: CREATE NONCLUSTERED INDEX ix_libros_titulo ON libros(titulo);


Otros ejemplos:

- Indices con columnas de una tabla combinada:
 CREATE INDEX ix_libros_autoreditorial ON libros(autor,editorial);

- Puede especificarse que un índice sea agrupado o no agrupado al agregar estas restricciones.

Agregamos una restricción "primary key" al campo "codigo" de la tabla "libros" especificando que cree un índice NO agrupado:
 ALTER TABLE libros ADD CONSTRAINT PK_libros_codigo PRIMARY KEY nonclustered (codigo);