Optimiza tus consultas en SQL y ahorra tiempo y dinero

| |
0 comentarios

Optimizar las consultas SQL puede hacernos ahorrar mucho dinero


La mayoría de las bases de datos están mal diseñadas, tablas con datos redundantes, columnas con funciones similares, formatos incorrectos ausencia de índices y un largo etcétera que hacen que tu aplicación o web se ralentice y termine cayendo.

Optimizando base de datos


Las empresas gastan alrededor del 80% del tiempo en corregir y modificar sus consultas SQL, lo que supone mucho dinero. Seguir unos consejos gratis a la hora de escribir nuestras sentencias sql pueden ahorrarnos muchas horas y quebraderos de cabeza. Tener una base de datos bien estructuradas y sobre todo unas consultas lo más optimizadas posibles, pueden suponer la diferencia con nuestros competidores. El analista informático Ricardo Martínez ha realizado un resumen de los mejores tips para optimizar nuestras consultas de sql en Oracle. Optimización-de-Oracle.PDF Además si tienes oportunidad puedes acudir uno de sus talleres y profundizar más en la mejora de nuestras consultas en oracle.
Seguir leyendo

Curso de JavaScript

| |
0 comentarios
En ésta ocasión tenemos la oportunidad de aprender a programar en JavaScript, un lenguaje ampliamente usado en el mundo de la programación web que nos permite insertar en las páginas miles de funciones y características adicionales logrando así una web de calidad, dinámica y por sobre todo útil al visitante. Se trata de unos tutoriales de Javascript, con el transcurso de los mismos verás como te llevaran paso a paso por el mundo de la programacion Java Script sumergiendote en su lenguaje, haciendo que manejes los comandos propios del mismo. Verás que difieren de algunos pero se asemeja a muchos más. Sí lo que deseas es aprender Java Script estás en el lugar indicado para comenzar desde un nivel básico y llegar al intermedio sin problemas, verás como se desarrolla de una manera amena y sin complicaciones. Que lo disfrutes!.







Bien, hasta aquí ya deberías haber ido tomándole la mano, no digo que debas ser un experto ni recordar todo, pero estoy seguro que en ésta altura Java Script ya está dejando de ser un mundo extraño para ti. Incluso en aquellos casos donde no conozcas otro lenguaje de programación con anterioridad. Continua con los siguientes videos y verás cómo logras más y más experiencia en éste apasionante y extenso mundo de la programación. En todos los casos siempre puedes volver a ver los videos, de manera que no te perderás nada, otra ventaja de aprender de ésta manera y no de manera personal donde las palabras se las lleva el viento.













Seguir leyendo

Comunicacion entre formularios a traves de Interfaces .Net

| |
0 comentarios
A veces en nuestros programas necesitamos pasar información entre diferentes clases de nuestro proyecto, este ejemplo va dirigido a la comunicación entre formularios, es decir que variables, arrays, tablas, etc pasen de un form a otro mediante el uso de Interfaces, creandolas e implementandolas según la necesidad del momento.

¿Para que necesitaríamos algo así?

Las necesidades de realizar esto son muchas y muy diversas, en este momento se me viene a la mente una muy común para mi a la hora de desarrollar y es cuando estamos en un formulario de ABM y queremos hacer un Alta nueva, por ejemplo un cliente, la ciudad podemos elejirla llamando a un formulario nuevo (llamado por ejemplo ciudades), luego de elegirla mediante doble clic u otro evento el form ciudades se cierra y se regresa al ABM con la ciudad ya seleccionada.

El ejemplo va a estar realizado en Visual Basic .Net y consta de la comunicación entre 2 formularios frmABMClientes y frmCiudades

A continuación la forma de definirlas:

Interface I
  1. 'Definicion de los metodos que va a contener la interface
  2. '    Sub PasaString(ByVal text As String)
  3. '    Sub PasaDataSet(ByVal text As String)

  4. End Interface

  5. 'Devolución de la informacion

  6. 'Dim _formInterface As IForm = CType(Me.Owner, IForm)
  7. '_formInterface.PasaString(TextBox1.Text)
  8. '
  9. '
  10. 'Implementacion en el formulario que recibe la informacion
  11. 'Implements IForm
  12. 'Public Sub CambiarTextoEnTexBox1(ByVal text As String) Implements IForm.PasaString
  13. '    TextBox1.Text = text
  14. 'End Sub
  15. 'Public Sub sbrActualizarCiudades(ByVal text As String) Implements IForm.PasaDataSet
  16. '    TextBox1.Text = text
  17. 'End Sub
  18. '
  19. 'Llamada al formulario del cual se necesita sacar informacion
  20. 'La llamada se hace desde el que la va  arecibir posteriormente
  21. 'Entre parentesis se establece el Owner del formulario que se esta abriendo
  22. 'Dim _form2 As New Form2
  23. '_form2.Show(Me)



Ejemplo de interface

  1. Public Interface ComunicacionCiudadesI

  2. 'Definicion de los metodos que va a contener la interface
  3. Sub ComunicaString(ByVal Texto As String, ByVal id As String)
  4. Sub ComunicaDataSet(ByVal DataSet As DataSet)
  5. Sub ComunicaListaString(ByVal Lista As List(Of String))

  6. End Interface



Implementacion en el form transmisor

  1. If DevolverSeleccion = True Then 'Si hay que retornar
  2. Dim _formInterface As ComunicacionCiudadesI = _
  3. TryCast(Me.Owner, ComunicacionCiudadesI)
  4. If (Me.Owner IsNot Nothing) Then

  5. If (Me.Owner.GetType Is GetType(frmABMClientes)) Then
  6. 'Si han llamado desde el Formulario de tipo frmABMClientes

  7. 'Devolución de la informacion
  8. 'Envia el listado de ciudades actualizado
  9. Dim Ciudades As New CiudadesBO
  10. _formInterface.ComunicaDataSet(Ciudades.SelectAll())
  11. 'Envia la ciudad seleccionada
  12. _formInterface.ComunicaString( _
  13. dgvCiudades.Item("NOMBRE", dgvCiudades.CurrentRow.Index).Value(), _
  14. dgvCiudades.Item("ID", dgvCiudades.CurrentRow.Index).Value())

  15. End If
  16. End If

  17. End If


En el form receptor

  1. Public Class frmABMClientes

  2. 'Implementacion en el formulario que recibe la informacion
  3. Implements ComunicacionCiudadesI

  4.  

  5. #Region "Implementacion de Interfaces - ComunicacionCiudadesI Members"
  6. 'Implementacion de todos los subs de la interface que se hereda
  7. 'Se usen o no hay que implementarlos igual
  8. Public Sub sbrActualizarCiudades(ByVal DataSet As DataSet) Implements ComunicacionCiudadesI.ComunicaDataSet

  9. '    Asigna el DataSource al combobox
  10. txtCiudad.DataSource = DataSet.Tables(0)
  11. txtCiudad.DisplayMember = "NOMBRE"
  12. txtCiudad.ValueMember = "ID"

  13. End Sub

  14. Public Sub sbrSeleccionaCiudad(ByVal texto As String, _
  15. ByVal codigo As String) Implements ComunicacionCiudadesI.ComunicaString

  16. txtCiudad.Text = texto
  17. txtCiudad.SelectedValue = codigo

  18. End Sub

  19. Public Sub sbrRecibeListaCiudades(ByVal Lista As List(Of String)) Implements ComunicacionCiudadesI.ComunicaListaString
  20. End Sub

  21. #End Region
Seguir leyendo

Ejecución Paso a Paso en Visual Basic 6

| |
0 comentarios
La ejecución paso a paso, como su nombre lo dice nos permite realizar una depuración de nuestro programa paso a paso o mejor dicho ejecutando linea a linea de código. De esta forma nos damos cuenta por donde va pasando la ejecución del programa viendo por ejemplo si "entra" o no en una condición IF o como se comporta en un ciclo FOR, o en cualquier momento. También podemos saber el valor de una variable o una propiedad de un objeto que veamos en nuestro código posicionando el mouse (maus) sobre la misma.

La forma de ejecutarlo paso a paso es presionando F8 o en el menú Depuración -> Paso a paso por instrucciones.

ejecucion paso a paso visual basci 6

Seguir leyendo

Cómo está desarrollado Outlook?

| |
0 comentarios
Muchas consultas llegan con una duda muy particular, cómo será que está desarrollado el nuevo servicio outlook correo electrónico para tener esa fluidez siendo que su antecesor había caído en un bache de lentitud extrema por momentos. Los detalles de su código fuente son, obviamente, un secreto guardado con recelo por Microsoft. Todos sabemos que no es una empresa que se vuelque por la apertura del código fuente y no se encuentra en ello su negocio, tan rentable por cierto.

Es difícil saber a ciencia cierta que se esconde detrás de su moderna interfaz, además claro de unos potentes servidores para atender las demandas de los usuarios. Podemos adivinar y casi sin lugar a dudas que el correo de outlook o Microsoft, como mas nos guste tiene bases de asp.net en su núcleo, una tecnología que la empresa domina y perfecciona desde hace casi dos décadas. Todo esto interactuando con la interfaz metro y servidores de correo y páginas webs, encargados de entregar cada página que les es requerida.

Las especulaciones sobre cual fue el cambio fundamental desde el servicio anterior son muchas y seguramente nunca las llegaremos a conocer, pero es indudable que el cambio en grande y se nota a la experiencia de usuario. Un punto a favor para la empresa de la ventanita.
Seguir leyendo

Publicar entradas en Twitter Facebook automáticamente

| |
0 comentarios
Si bien hay varios servicios para publicar automáticamente las entradas de nuestro/s blog/s (Network Publisher, dlvr.it ), muchos de ellos son inestables o a veces lentos en publicar, otros en cambio funcionan bien e incluso publican en varias redes sociales simultáneamente.

Acá vamos a ver un sistema que no es tan popular y es hacerlo a través de FeedBurner, de Google, si ya tenés asociados tus RSS a FeedBurner, podés configurarlo automáticamente para que publique en twitter. Vamos a ver paso a paso como hacerlo.

  • Luego hacemos clic en el feed de la web que querríamos empezar a publicar en Twitter 
socialize feedburner
  • Una vez hecho esto vamos a la pestaña superior llamada Publicize

socialize feedburner
  • Dentro de Publicize, nos encontramos con la opción de menú Socialize a la izquierda.
socialize feedburner
  • En Socialize finalmente llegamos a lo que queremos hacer, agregar la cuenta de la red social en la que queremos publicar. Ya tengo una cuenta de Twitter agregada.
socialize feedburner
Con ella podemos configurar: 
  1. "Post content", solo titulo o también contenido.
  2. "Hash tags", permite que si en nuestro titulo o contenido publicado hay palabras que concuerden con los tags que tiene la entrada, estas se convierten en "inline hash tags", es decir tags que están en la misma oración y no aparte.
  3. "Additional text", Si queremos agregar un contenido fijo al principio o al final de la entrada publicada
  4. "Item limit", cuantos posts publicar de los que haya en cada actualización del feed.
  5. "Item order", en que orden publicarlos
  6. "Keyword Filter", si queremos publicar solo las entradas que tengan cierta categoría, las demás no se van a publicar, es decir es un filtro sobre que publicar y que no.
  7. Al presionar en el link "Manage connections", vamos a poder agregar cuentas de otras redes sociales, como Facebook, LinkedIn, etc.
  • Dentro de "Manage connections" podemos agregar las cuentas que queramos presionando "Conectar una cuenta", en todas estas debe ser verificada su propiedad.
socialize feedburner

Conclusión, es un servicio mas, personalmente me funciona muy bien y no corre en forma de plugin en el servidor de nuestra página, consumiendo recursos, sino que la operación la realiza en el servidor de FeedBurner.
Seguir leyendo

Optimizar Eclipse

| |
0 comentarios
Una cosa que puede ser muy molesto para los desarrolladores es Eclipse. Si no se tiene mucha experiencia puede llegar a ser un gran lío correrlo, sobre todo en Ubuntu 12.04.
Voy a compartir algunos tips o consejos para hacer que funcione bien.

Empecemos:

1- Utilizar Oracle Java VM 7. Es increíble la mejora comparado con la versió 6 oficial o cualquiera de las OpenJDK.

Luego de instalarlo, tenés que seleccionar que Eclipse utilice la nueva versión, con el siguiente comando:
  1. sudo update-alternatives --config java
2- Utiliza tu propia configuración de Eclipse. Básicamente, descarga el package desde el sitio web de Eclipse y ponlo en algún lugar como por ejemplo:
  1.  /opt/eclipse
Además, tenés que acordarte de añadir un pequeño script de este modo:
  1. export LIBOVERLAY_SCROLLBAR = 0
  2. /opt/eclipse/eclipse
3- Darle más memoria: Puntaje de más memoria. Abre lo siguiente
  1. Abrir/eclipse.ini 
y buscá -Xmx y cambiá el número a la cantidad que quieras darle. Por ejemplo, 2 GB = 2048MB.

-Xms es el tamaño inicial, pero -Xmx es el máximo permitido a Java, así que lo mejor es tener un buen tamaño inicial para prevenir.

Espero que con ésta combinación logres que corra mejor, funciona para mi al menos.
Seguir leyendo

Mostrar anuncios en ciertas páginas en Wordpress

| |
0 comentarios
Se pueden mostrar anuncios en ciertas páginas u otra información, escribiendo muy poco código y según que queramos hacer, a continuación vamos a enumerar cada una.

Antes de empezar, cada código debe ir en single.php, antes de <?php the_content(); ?>  o después según cada necesidad.

 Posts
  1. <?php if(is_single()) { ?>
  2.    Anuncio u otra cosa
  3. <?php } ?>

Categorías
  1. <?php if(is_category()) { ?>
  2.     Anuncio u otra cosa
  3. <?php } ?>

Principal y en "entradas antiguas"
  1. <?php if(is_home()) { ?>
  2.    Anuncio u otra cosa 
  3. <?php } ?>

Tags
  1. <?php if(is_tag()) { ?>
  2.    Anuncio u otra cosa
  3. <?php } ?>

Solo páginas
  1. <?php if(is_page()) { ?>
  2.    Anuncio u otra cosa
  3. <?php } ?>

Si queremos en solo algunas páginas es de la siguiente manera, obtener el ID de la misma en la dirección de la página en cuestión, luego reemplazar en el código donde dice ID
  1. <?php if(is_page(ID)) { ?>
  2.    Anuncio u otra cosa
  3. <?php } ?>
Espero les sirva, en Wordpress esto es muy bueno y en la documentación hay mas condiciones que les pueden servir, si necesitan alguna especialmente y no la encuentran, comenten y la agrego.
Seguir leyendo

ShellExecute en ASP.Net

| |
0 comentarios
A veces tenemos que ejecutar una aplicación desde una aplicación ASP.Net, para esto podemos usar ShellExecute.
Nos permite realizar una llamada a un programa o un archivo directamente que tenga asociado un programa para abrirlo.

Veamos el ejemplo,
  1. objetoShell = CreateObject("Shell.Application")
  2. objetoShell.ShellExecute("Aplicacion.exe")
Donde "Aplicacion.exe" tiene que tener la ruta de la aplicación que se quiere ejecutar, la aplicación debe estar en el servidor y lo ideal es que el ejecutable esté, si es posible, en el root donde está nuestra aplicación ASP.Net.
Seguir leyendo

Shell en Visual Basic 6

| |
4 comentarios
Podemos ejecutar otra aplicación desde nuestro programa en Visual Basic 6, mediante la instrucción Shell.

Por ejemplo:

'Este código llama c:\programa.exe
  1. Shell "c:\programa.exe", vbNormalFocus
También se puede llamar a cualquier programa en el directorio de Windows, como por ejemplo el bloc de notas
  1. Shell "notepad", vbNormalFocus
O por ejemplo si quisiéramos podemos pasar parámetros al a la aplicación que queremos ejecutar, veamos,
  1. Shell "notepad C:\documentos\listadecompras.txt", vbNormalFocus
Abre el bloc de notas y le dice que abra C:\documentos\lista de compras.txt".

El segundo parámetro especifica la posición de inicio, y puede ser uno de los siguientes:
  • vbHide ventana oculta y el foco en ella.
  • vbNormalFocus ventana normal con foco.
  • vbMinimizedFocus ventana minimizada con foco.
  • vbMaximizedFocus ventana maximizada con foco.
  • vbNormalNoFocus ventana normal sin foco en ella, la ventana activa permanece activa.
  • vbMinimizedNoFocus ventana minimizada y sin foco, la mas discreta.
La función de shell también devuelve un valor tipo Double que indica el ID del proceso de la aplicación que estamos abriendo.

Ejemplo.

  1. dblIDProceso As Double
  2. Private Sub EjecutarBlocDeNotas_Click ()
  3.      dblIDProceso = Shell ("notepad", vbNormalFocus ")
  4. End Sub
Seguir leyendo
Con la tecnología de Blogger.