IT Training

Todo lo que necesitás saber sobre IT

Acerca de los autores

Francisco Goldenstein: Ingeniero en Informática, socio gerente de Núcleo IT, docente de programación orientada a objetos en Java y .NET a nivel universitario, experiencia en investigación a nivel universitario en el área de Inteligencia Artificial, desarrollador de software en C#.NET, ASP.NET, Java y administración de SQL Server.
Seguime en Twitter

Búsqueda

Tags

Widget Statistics not found.

There is an error in XML document (0, 0).X

ASP.NET MVC Razor: referencia rápida

Les recomiendo este excelente post que explica resumidamente la sintaxis de Razor: http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx
Categorias: C# .NET / VB .NET
Publicado por francisco el miércoles, 25 de abril de 2012 15:12
Permalink | Comentarios (0) | Post RSSRSS comment feed

¿Sigo en ASP.NET WebForms o comienzo con ASP.NET MVC?

Esta es una pregunta muy importante que se tiene que hacer un desarrollador. ¿Por qué? porque el cambio de ASP.NET WebForms a ASP.NET MVC no es inmediato ya que hya una curva de aprendizaje. Cambiar de una tecnología otra requiere mucho tiempo de estudio y práctica. Pero, analicemos que ganaríamos si estamos dispuestos a hacer ese esfuerzo: * Mayor flexibilidad en el manejo de request y response (solicitudes y respuestas HTTP)* Mejor performance* Separar conce... [Mas]
Publicado por francisco el lunes, 02 de abril de 2012 13:45
Permalink | Comentarios (0) | Post RSSRSS comment feed

La tabla periódica de HTML

Todos conocemos la tabla periódica de elementos químicos pero ahora todos vamos a conocer la nueva tabla periódica de elementos... HTML!!! Lo interesante es que no sólo muestra todos los elementos sino que también los describe y los agrupa. Les dejo el link: http://joshduck.com/periodic-table.html
Publicado por francisco el martes, 04 de octubre de 2011 14:56
Permalink | Comentarios (0) | Post RSSRSS comment feed

Problema de CSS con Internet Explorer 9

Nueva versión de un browser y por supuesto, nuevos problemas! Esta vez le toca al IE 9 que tiene problemas con CSS. Veamos el siguiente código: /*Modal Popup*/.modalBackground {   background-color:#F2F2F2;   filter: alpha(opacity=70);   opacity: 0.7;}   Este código no va a funcionar en IE9, es decir, no va a nublar/deshabilitar el fondo al mostrar el pop-up. ¿Por qué? porque IE9 soporta opacity pero no filter y evalú... [Mas]
Publicado por francisco el viernes, 25 de marzo de 2011 10:35
Permalink | Comentarios (0) | Post RSSRSS comment feed

Código fuente de MacPaint y QuickDraw + entrevista a Steve Jobs

Código fuente de MacPaint y QuickDraw + entrevista a Steve Jobs. Imperdible! Digno de estudio y reconocimiento. Y aunque no lo crean, se puede aprender de algo de hace más de 20 años. http://www.computerhistory.org/highlights/macpaint/
Publicado por francisco el viernes, 04 de marzo de 2011 11:44
Permalink | Comentarios (0) | Post RSSRSS comment feed

Envío de e-mails con C# .NET

¿Cómo enviar un e-mail desde C#.NET utilizando una cuenta POP3 o Gmail? Les dejo el código del método que se encarga de hacerlo: public static void SendMail(string mailFrom, string mailFromPassword, string mailFromSmtp, string mailTo, string subject,                                     ... [Mas]
Publicado por francisco el viernes, 25 de febrero de 2011 15:13
Permalink | Comentarios (0) | Post RSSRSS comment feed

.NET y bases de datos: ADO.NET, ODBC, OLEDB, SQL Client, Oracle Client y más

ADO.NET Es un componente de .NET (es parte del Framework .NET). Está compuesto por un conjunto de clases que no permiten comunicarnos con PROVIDERS.   PROVIDERS La función del provider es provee datos de una fuente (datasource). Esta fuente puede ser una base de datos como Microsoft Access, una base de datos de Microsoft SQL Server, etc. Para poder proveernos de datos contiene una interface, también conocida como cliente del provider.   ¿Cóm... [Mas]
Publicado por francisco el lunes, 21 de febrero de 2011 9:19
Permalink | Comentarios (0) | Post RSSRSS comment feed

Dibujando con Graphics sobre controles e imágenes

En este post vamos a aprender a usar Graphics para dibujar sobre controles ya existentes así como también sobre imágenes que tengamos guardadas. Luego de leer este post van a tener los conceptos teóricos y prácticos para tareas como: crear un captcha o escribir marcas de agua sobre imágenes. System.Drawing namespace permite crear figuras en un objeto de tipo Graphics y editar imágenes (se obtiene el Graphics de la imagen y se trabaja sobre dicho ... [Mas]
Publicado por francisco el sábado, 29 de enero de 2011 20:41
Permalink | Comentarios (0) | Post RSSRSS comment feed

Copia & Pegar de Excel a DataGridView

Copiar desde un DataGridView a una planilla de Excel es algo sencillo de realizar, basta con seleccionar lo que queremos, presionar Ctrl + C ir al Excel y pegarlo. Ahora bien... el proceso inverso no es tan trivial, para ello necesitamos "adaptar" los datos del portapapeles al DataGridView. Para llevar adelante nuestro objetivo, debemos capturar la pulsacion del Ctrl-V en nuestro DataGridView (ese es un caso, también se puede mejorar con un menú contextual). Algo a tener en cuen... [Mas]
Categorias: WinForms
Publicado por gabriel el lunes, 17 de enero de 2011 15:52
Permalink | Comentarios (0) | Post RSSRSS comment feed

WPF ComboBox: DisplayMemberPath, SelectedValuePath, SelectedItem, SelectedValue

Los combos nunca fueron lo más intuitivo en .NET y por eso, en WPF tampoco podía ocurrir una excepción :) Vamos a explicar las properties DisplayMemberPath, SelectedValuePath, SelectedItem y SelectedValue que son fundamentales para poder trabajar correctamente. DisplayMemberPath: Se indica la property que se va a llamar para mostrar el texto en el combo. Es decir, si pongo Nombre entonces cuando se agregue un item al combo se va a llamar a la property Nombre. Selected... [Mas]
Publicado por francisco el viernes, 14 de enero de 2011 14:10
Permalink | Comentarios (0) | Post RSSRSS comment feed

Abrir una página determinada en Silverlight desde ASP.NET

Trabajando en un sitio Silverlight montado en un sitio ASP.NET me encontré con la necesidad de abrir una página (XAML) específica de la aplicación Silverlight desde un ASPX. Es decir, no quería abrir la página XAML default sino otra. Para hacerlo es necesario agregar un parámetro en la llamada al objeto Silverlight y luego, en la aplicación Silverlight, interpretar dicho parámetro.         &nb... [Mas]
Publicado por francisco el martes, 28 de diciembre de 2010 12:09
Permalink | Comentarios (0) | Post RSSRSS comment feed

Silverlight 5: nuevas características

Les recomiendo este excelente artículo publicado en CodeProject que habla de Silverlight 5 y sus nuevas características: http://www.codeproject.com/Articles/133987/Silverlight-5-Whats-New-Including-Screenshots-Code.aspx
Categorias: Silverlight
Publicado por francisco el martes, 07 de diciembre de 2010 8:38
Permalink | Comentarios (0) | Post RSSRSS comment feed

Expresiones regulares - Regular Expressions

Conjunto de caracteres que pueden ser comparados con un string para determinar si el string cumple un requerimiento de formato determinado. Tambien se pueden usar para obtener y/o reemplazar una parte de un string. Regex.IsMatch(string, string): el primer string es el texto a validar y el segundo es la regular expression. ^: comienzo del input \d: solo digitos numéricos \d{5}: 5 digitos numéricos consecutivos $: final del input car\b: palabra que tiene “car” al p... [Mas]
Publicado por francisco el domingo, 05 de diciembre de 2010 19:30
Permalink | Comentarios (0) | Post RSSRSS comment feed

Encoding y decoding - Una mirada a ASCII, ANSI y UTF

ASCII (American Standard Codification for Information Interchange) le asigna un número entre 0 y 127 a cada carácter ya que usa 7 bit integer. Contiene todos los caracteres en mayúsculas y minúsculas necesarios para escribir en inglés, así como también signos de puntuación, números y algunos caracteres especiales. Pero, no incluye caracteres necesarios para otros idiomas (no incluye la ñ por ejemplo). Para solucionar este prob... [Mas]
Publicado por francisco el domingo, 05 de diciembre de 2010 19:26
Permalink | Comentarios (0) | Post RSSRSS comment feed

WPF Image - dispose BitmapImage para liberar recurso

Recientemente me encontré con un problema medio extraño y que WPF no debería permitir que ocurra. Resulta que tenía un Image en WPF para representar una imagen del File System y el usuario tenía la posibilidad de cambiarla. Al cambiarla, se eliminaba, en caso de existir, la imagen anteriormente seleccionada y se ponía la nueva. Por que se eliminaba? porque la imagen tenía que tener un nombre específico y tenía que ser siempre el mism... [Mas]
Publicado por francisco el miércoles, 24 de noviembre de 2010 9:33
Permalink | Comentarios (0) | Post RSSRSS comment feed

Excepciones en C#: ¿cómo hacer para saber exactamente que falló?

El manejo de excepciones es fundamental para que una aplicación sea robusta. No importa como la codifiquemos, siempre va a haber excepciones. Y es fundamental tener en cuenta los siguientes puntos: * Nunca dejar un bloque try-catch con el catch vacío. Si se define un bloque catch, se debe escribir el código para manejar dicha excepción o arrojar dicha excepción hacia arriba. NO hacer esto: try {   ...}catch(Exception){} En cambio, hacer esto:try{&... [Mas]
Publicado por francisco el lunes, 22 de noviembre de 2010 16:45
Permalink | Comentarios (0) | Post RSSRSS comment feed

Upload de archivos por FTP

Utilizando .NET es posible subir archivos por FTP de manera rápida y sencilla. Pero, siempre está la posibilidad de que algo en el medio salga mal y no siempre es fácil de solucionar. Y ésto es lo que me pasó a mi, el código estaba todo bien pero me arrojaba una excepción. Vayamos por parte, primero veamos el código y luego destacamos cuál era el problema y cuál fue la solución.       &nbs... [Mas]
Publicado por francisco el miércoles, 17 de noviembre de 2010 10:04
Permalink | Comentarios (0) | Post RSSRSS comment feed

Conversión (casting), boxing y unboxing

Widening conversion: se convierte una variable de un tipo de menor precision a otro de mayor precision. Es implicito y es seguro (no puede arrojar una excepcion). Narrowing conversion: se convierte una variable de un tipo de mayor precision a otro de menor precision. Es explicito y no es seguro (puede arrojar una excepcion).   System.Convert permite convertir tipos que implementen System.IConvertible.   Boxing: convierte un value type en un reference type. Unboxing: convierte un ... [Mas]
Publicado por francisco el viernes, 05 de noviembre de 2010 20:38
Permalink | Comentarios (0) | Post RSSRSS comment feed