Perdiendo la cabeza con tecnologías .NET: ASP.NET,SQL Server, IIS y Seguridad en Internet con XP
Para mí Geek es apasionado y poco más (al final pongo mi definición).
Lo de la obsesión de la primera definición me suena a enfermedad, y yo me considero apasionado de la tecnología, pero no obsesivo o paranoico de ella, vamos, que si me voy unos días a una isla desierta sin cobertura de móvil y sin Internet, no me muero. Me falta algo, ¡lo admito! pero duermo por las noches, no me deprimo y sigo siendo el de siempre. :-)
La segunda definición me parece un poco extrema. Yo he sido de los que he sufrido a veces el acoso hostil de compañeros de clase (en la EGB, BUP, COU y Universidad me fueron mejor porque no se como, había personas con menos centímetros de estatura que yo), quizás por mi tamaño, algo muy diferente al de Rodrigo, pero siempre lo trataba de suplantar con otras virtudes, aunque no encontraba ninguna... :-P
La tercera definición me suena igualmente extraña. De hecho, en mi época de Universidad era de un inconformismo que llegaba a extremos indecentes (lo típico de la edad) y que me llevó a interesarme en temas hack por aquello de hacer algo diferente a lo que hacía la mayoría de compañeros de clase. Hice algunas cosillas, pero siempre con el objetivo de aprender. Luego el día a día, hizo que me centrara en otros temas informáticos que me han llevado a ser hoy día quien soy (si alguien lo sabe que me lo diga please).
Resumiendo: me veo más en la primera definición, aunque hay parte de las otras dos en las que me veo aunque sea ligeramente, identificado, así que para mí, l adefinición de Geek sería algo así como "Apasionado por las tecnologías que busca el bien común de forma altruísta y el aprendizaje continuo, que escucha con admiración las viejas historias tecnológicas de otros geeks y amantes de la tecnología, que miran con nolstalgia su pasado tecnológico, y a quien le gusta investigar todos los campos posibles relacionados con las novedades emergentes, no sólo relacionadas con la informática."
Bueno pues yo podría añadir:
- No repitas lo que otros bloggers han publicado, coméntalo, pero no lo repitas, de esa forma solo tendremos 2 posts iguales.
Y yo la frecuencia de un blog lo ampliaria a 1 post cada 2 dia.
El resto lo comparto y lo practico.
Hombre Eugenio comparto tu opinion pero la verdad es que hay tantisimos post que cuando vas a escribir uno puedes no darte cuenta de que ya hay otro parecido pues no vas a estar leyendolos todos antes de escribir.
Otra cosa es cuando escribes un articulo en una revista como dotnetmania en cuyo caso el editor ya se encarga de verficar que no hay otro articulo similar ya escrito
Saludos
Sergio
No me refiero a esos casos, me refiero a casos de que ves un post, y como te gusta lo publicas tal cual lo leiste mostrando la fuente, eso es lo que veo inútil. Veo mejor poner un link a un post comentando que es lo que ves de ese artículo para que tus lectores lo lean.
Pero eso también depende de la finalidad del blog, ya que por ejemplos webs como www.nuberos.net lo que hace es recolectar artículos, pero entonces estamos hablando de que se dedica exclusivamente a ello.
Se agradece mucho ver un libro escrito por mí como recomendado. ¡Muchas gracias Sergio!.
Sólo como comentario, el libro es sobre ASP.NET 1.0 (no sobre ASP.NET 1.1, aunque este libro ya comenta las cosas que luego añadieron a ASP.NET 1.1), y aunque tiene ya su tiempo, es aún válido e ideal para quien comienza en el mundo de ASP.NET, y si el programador viene de ASP 3.0, es mejor aún.
Muchas gracias por incluirlo en la lista. :-)
Jorge, como ya te dije desayunando contigo los churros en el Code Camp de Madrid , soy admirador tuyo y ese libro forma parte de la biblioteca de mi empresa ;-)
Hubiera sido un pecado no mencionarlo!
¡Jarl!, Sergio, que me vas a sacar los colores por favor...
Gracias por el link, voy a publicar hoy la primera Release de un control en que llevo trabajando unos días (publique en mi blog el progreso), es el Textbox with Watermark, a partir de ahora los publicaré en mi proyecto de www.codeplex.com
Como contaba hoy por la mañana Sergio (adelantandose a la presentación oficial :P) he creado un proyecto
la verdad es q CodePlex, como evolucion de gotdotnet.com, es una alternativa muy piola ... ademas el enfoque que le han dado, nos brinda muchas facilidades para trabajar con el mismo
Hola Sergio,
Me han parecio excelentes los proyectos que recomendas. En el caso de NSK he tenido que bajarme el codigo fuente de:
http://sourceforge.net/projects/nsk
SourceForge.net: Northwind Starter Kit
Saludos.
La verdad es que se me habia olvidado poner la url de descarga de NSK, gracias evelardiez!
La pena para los programadores de VB es que solo esta el codigo fuente en C#
Sergio puedes llamarme Emilio. jejeje
Gracias a ti.
Está curioso, habrá que tenerlo en cuenta :-)
Yo ya lo he usado en varias aplicaciones de mis clientes y la verdad es que el resultado es bastante bueno, vamos que le deja contentillo al usuario.
Salu2.
Me parece muy buen control, ya lo habia visto, con este control el usuario se mantiene informado si la actividad o procedimiento ya se realizo.
shadow
la verdad q tienes razon .. la seguridad es muy importante yo @home tengo mi wifi "segurizada" pero creo q es mas por paranoia q por otra cosa .. sin embargo, hace poco hablando con compañeros de trabajo de las oficinas de holanda, ellos me comentaban que alla todo el mundo tiene las wifi "abiertas", y la ventaja de eso es que en casi todos lados te podes sentar, abrir tu portatil y ponerte a trabajar. La gran diferencia debe estar, es q la gente sabe que estan utilizando una red "prestada" y no abusan de las prestaciones de ella. Yo hice una prueba y debe abierta la mia durante un par de dias y enseguida tenia a unos vecinos "emulando" todo ... lamentablemente por eso decidi cerrarla.
Pero son diferentes conceptos no ?
PD: obvio q esto solo aplica para las redes personales, si es @work o hay informacion sensible de por medio, la cosa cambia.
Estoy totalmente deacuerdo contigo Sergio, esto va aun ritmo vertiginoso y la asimilación de tantos conceptos es casi imposible. Me gustaría ponerme a aprender tantos cosas, tocar allí y aquí pero esta claro que hay que especializarse en algo.
Estoy metido de lleno con ASP.NET 2.0 y todavía me queda un mundo con todo el tema de patrones, providers, nuevos controles, mejoras... además hace casi un mes que empecé con la mudanza a mi nueva casa y todavía no tengo ni el ordenador desembalado y tampoco ADSL.
Esto me está empezando a superar... x(
PingBack desde http://geeks.ms/blogs/sergio/archive/2006/08/01/1056.aspx
PingBack desde http://geeks.ms/blogs/sergio/archive/2006/09/28/_BF00_Como-protejo-mi-software-.net-2.0-de-la-pirater_ED00_a_3F00_.aspx
pues yo estoy contento con el RC1
a ver si m pongo mas contento con la RC2 :D
yo si,
tengo que esperar nomas hasta que alguien me lo preste... =(
Jersson puedes descargarlo de aqui free
http://download.windowsvista.com/preview/rc2/en/download.htm
Saludos ;-)
Pues no es polemizar, pero fíjate que no estoy demasiado de acuerdo contigo.... Eso de separar completamente el correo personal del laboral... hay mejores formas de gestionar el correo. Normalmente, borrándolo. Respecto a las firmas, prefiero las vCards y un link a la politica de privacidad de mi empresa con la fecha de la última actualización.
Por último, ni confidencias ni urgencias. El correo se abre dos veces al día para enviar y recibir y tras ello se procesa y te olvidas. Si alguien tiene prisa mi vCard lleva mis teléfonos y es inmediato.
Todo se resume en no perder ni hacer perder el tiempo. Por no extenderme mucho, voy a recomendar un libro.
[url=http://www.amazon.co.uk/Take-Back-Your-Using-Outlook/dp/0735620407/sr=8-1/qid=1160607268/ref=pd_bbs_1/026-8141195-9133245?ie=UTF8]"Take Back your life (using Outlook)[/url], de Sally McGee. Microsoft Press. Muy recomendable. Yo he tenido que hacer algunos cambios al método propuesto, pero, en general, me parece muy válido.
En fín, sólo una visión complementaria a la tuya.
Vaya, lo siento creí que aceptaba el uso de BBCode.
buen dato!
en un proyecto aproveche la herramienta de backup que tiene el win2k3 y normal, claro, que con herramientas de terceros hay mas seguridad, pero como comienzo y con algo de orden, se puede lograr mucho con lo que trae el win.
Evidentemente todo se puede complementar con sistemas de mensajeria interna , intranets , extranet,CRM, y similares muy adecuados en otras ocasiones. Solo me he ceñido exclusivamente al email.
Tu crees que a tu jefe le gustaría ver que
tratas tus asuntos personales en el trabajo perdiendo las horas que te paga?
Eso es motivo de polémicas y puede llevarte a un despido procedente si se lo preguntas a un abogado. El email del trabajo no es del empleado sino que pertenece por ley a la empresa como medio de trabajo y por tanto no se debe usar para asuntos estrictamente personales tuyos a no ser que lo hayas acordado ya con la dirección de la empresa por cualquier motivo.
Evidentemente la firma de mi correo lleva la política de privacidad de acuerdo a la LOPD ;-)
No todo los gestores de correo pueden leer Vcard por eso prefiero texto plano además de que hay antispam en los servidores de correo que filtran correo html para evitar XSS e inyecciones de codigo html :-) o phishing
Todo esto que comento no quita que puedas usar otras formas de comunicación que te sean más cómodas para ti y tu interlocutor obviamente.Es cuestion de poneros de acuerdo como todo.
Hay personas que no viajan tanto . Los programadores suelen estar casi todo el día con el email abierto recibiendo instrucciones por ejemplo y leen el correo con mucha más frecuencia que por ejemplo uncomercial o director viajando.
Todo esto son opiniones personales libres como todo que cada uno ya aplica e interpreta como quiera :-)
Gracias por tus comentarios complementarios , parece muy interesante el libro que mencionas :-)
Holas Sergio!
Para ASP.NET 1.X creo que esta bien. Pero para ASP.NET 2.0, como que le faltan explotar muchos temas aún.
Saludos,
Sergio, Evidentemente si tuviera 20 h mas meteria master pages, skins, state, y controles de login y mas novedades de la 2.0 ;-) que solo los menciono de pasada para que lo vean ellos.
Me piden empezar desde 0 y muchos ejercicios y practicas y para eso hace falta tiempo pero gracias por tus comentarios. Son obvios.
Muy buen artículo, quería saber si existe un control gratutito para desplegar un datepicker
porque no encontre uno que me conforme
Gracias desde ya
Diego de Argentina
Como CMS creo que DotNetNuke es lo mejor. CommunityServer tambien, pero apunta mas a comunidad que a gestor de contenidos.
Y con respecto a Sharepoint, existe Windows Sharepoint Services (WSS) que es free, distinto a Sharepoint Portal Server (SPS) que no lo es.
Si es desde 0, si debe haber una introducción.
Nose si muchos conocen, pero por siacaso lo dejo, un sitio con Material para el Docente, PPTs, Laboratorio, y Ejercicios: http://www.tutorialparaprofesores.com/.
Rescataría el de C# (imagino que debe pasar lo mismo con el de VB), para enseñar a programar en C#, ya que conceptos como estructuras, POO, se siguen manteniendo, habría uqe agregarle algunas cosas como Generics, para hacerlo mas actual, pero como base sirve bastante.
Cierto Carlos! se me olvidaba WSS que es free y lo tengo instalado en una maquina virtual!
Gracias! :-)
El problema es que ya sabes las limitaciones y ventajas y desventajas con respecto a SPS para montar varios portales distintos en la misma organización por lo que habria que hacer un estudio y comparación exhaustiva antes de decidir por uno de los 2
Lo malo es que todavía no estan actualizados esos cursos para la version 2.0 del framework aunque me han dicho que estarán en breve!
my 2 cents
- DNN es muy buen producto para portales ( es el core de www.elbruno.com ) pero si quieres manejar una comunidad no hay duda, tienes que utilizar Community Server.
Ahora bien, no olvidemos mencionar SPS2007 donde el cambio es radical y ya puedes soportar varios portales dentro del mismo
El Bruno
Chess... eso quería poner en el post :$. Eso pasa por no hacer un review del comentario :D.
El último parrafo es debido a la versión de los cursos :p.
Como administrador de Geeks.ms, que utiliza Community Server y que lo ha trasteado bastante... solo puedo decir que es un producto ACOJONANTE!!! Y viendo por dentro como esta hecho es todo un ejemplo de excelente aplicación.
Estoy de acuerdo contigo, tanto en la separación de correo formal e informal (ya no me meto en el mail del trabajo), yo tengo principalmente 2 cuentas de correo, la de @vbprincipiantes.com que es la que uso como programador, es una cuenta seria y otra @hotmail.com para asuntos personales, registrarme en la infinidad de sitios a los que me registro y para mi perfil en MS.
Con referencia al correo, apoyo tu comentario de que solemos tener el correo abierto constantemente, de hecho, cuando estoy conectado a internet tengo SIEMPRE mi Outlook abierto recibiendo y envíando correos.
Y la verdad yo no mando un mail si no tengo un metodo más directo o no es suficientemente importante.
Por último la VCard la verdad yo no he tenido ningun problema con ella, simplemente los correos que convierten en texto plano los correos, que evidentemente no se verá, pero por el resto siempre se ven.
Estoy totalmente de acuerdo contigo Sergio, de todas formas aunque System.Web.Mail esté obsoleto, se sigo pudiendo utilizar (cosa no muy aconsejable, aunque permite hacer alguna cosa que yo con el nuevo no he conseguido, que es envíar emails sin un servidor SMTP externo).
Estas muy hiperactivo durante el puente!
Me parece muy interesante la lista que has recopilado de novedades y lo mejor es que son totalmente ciertas 100%.
Con todo este arsenal estoy seguro que obtengo una rendicion incondicional de toda mi empresa en futuros proyectos jejeje...
Hes una muy buena lista de las novedades que trae asp.NET 2.0 y si me parece que con esta version, se reduce la cantidad de lineas que se tienen que digitar a la hora de programar, eso a la hora de gestionar un proyecto de desarrollo de software ahora mucho tiempo, que como sule ser en esta clase de proyectos por alguna razon termina haciendo falta TIEMPO.
Shadow
Dentro de ASP.NET podríamos resaltar el siguiente link para empezar: http://www.asp.net/learn/default.aspx?tabid=63.
El cuál tiene Videos, Tutoriales de Acceso a Datos (este es muy bueno, y constantemente esta actualizado), StarterKits (ideal para ejemplos completos de un determinado giro de negocio), y más...
Saludos,”
Muy bueno, jejeje, ¿quién es el nene malo que no sigue estas instrucciones?.
Un Saludo
estos pikoletos, jajajajajjajajaja
Gracias a tí también Sergio, por compartir tu tiempo,... y como bien dices... algo FUNDAMENTAL... saber escuchar. :-)
Encantado de habernos conocido, Sergio :)
Un saludo
Esperemos estar todos de nuevo en el de Sevilla. Espero presentarme cuando esté allí o en alguna reunión de Grupos de usuarios, aquí se lo comenté a Euge pero me tenía que marchar.
Sólo quería agradecerte públicamente el halago inmerecido que me haces. Y dejar constancia de lo mucho q tenemos que aprender de gente como tú que nos enseñan como superar todas las barreras que parecen existir y que en realidad se derriban con el empeño y la profesionalidad que demuestras en tu trabajo día a día y pese a quien a pese.
Y bueno despues de tanto peloteo, decirte que me marcho el martes y a la vuelta de "mi viaje" os contaré como me ha ido.
Un abrazo y hasta enero.
Muy bueno, solo te queda una... paga a tus empleados lo que te gustaria que te pagasen a ti... salu2.
Yo añadiría:
1.- Paga lo que corresponde, nunca por debajo. (se me han adelantado, jo!)
2.- No sólo hay que escucharles sino tener muy en cuenta sus opiniones.
3.- Hazles participes del proyecto en su globalidad desde el principio, pueden dar ideas que nunca se te ocurrirían.
4.- formacion., formacion ,formacion. Si formas a tus empleados estos responderán mejor.
5.- No existe el sofware sin fallos (en las venas tenemos sangre, no bytes), la calidad no reside en el numero minimo de fallos sino en la rapidez en la solución de dichos fallos. Los fallos JAMAS deben penalizar, si no metes la pata, no aprendes.
6.- El responsable del proyecto debe estar a las DURAS y a las maduras, no sólo a las maduras.
y buf! ya vale de desahogarse, jeje!
Jejeje, entonces somos compañeros de Tour, yo voy doy la de ASP.NET/Atlas en Coruña este miércoles :)
Saludos y suerte
Personalmente me gusta más este:
http://www.agapea.com/Ingenieria-del-Software-7-e-n240571i.htm
Pero ya se sabe, para gustos los colores.
José Luis.
Me cuesta creer que en 10 horas se pueda si quiera enunciar todos los temas que indicas.
Cada bloque ya merecería 10 horas o más.
Si es de gestión de proyectos, los dos primeros puntos los dejaría de lado para otro curso, y me centraría en el tercero. En este me ha faltado un concepto que igual englobas dentro de alguno de los que has indicado: la gestión del riesgo. Una vez planteado el proyecto, su gestión se basa en tener este aspecto controlado.
Hola Sergio!
Te he enviado un mensaje al Contacto, me encantaría poder colaborar en algo TAN importante como es "La" Web de Referencia para todo desarrollador de .NET que se precie ;)
Espero poder ser de utilidad!
Aupa Pablo!!!
Sin duda tener asp.net en castellano es de gran interés...
...pero "la web de referencia para todo programador .Net que se precie" es Geeks.ms!!!! :P
Salud!!!
Creo que las dos son webs de referencia interesantes para todos en el .net y reconocidas en todo el mundo.
Haya paz chicos, que corra el aire, hay gustos para todos. Para gustos colores. Enla variedad está el gusto.
Amen :-)
Sergi ... q buena iniciativa !!
y a ver cuando una version de Geeks en ingles :P
Felicitaciones :D
Hola Sergio, te envié al contacto mi dirección y demás para colaborar en lo posible.
Me gusta mucho la idea de que toda web estándar sobre una tecnología en concreto se encuentre en español, y esta no podía ser menos.
Un Saludo.
A mi también me gustaría colaborar :)
Sergio, tienes mal un nombre, es Rafa Vargas no Paco Vargas :)
Un saludo compañero de Tour ;)
UMMM, Sergio, Murphy está siempre presente, pero es muy agradable veros, siempre se saca algo en positivo con vosotros. Dale mi enhorabuena a Paco Martínez, me ha sorprendido, es un tío increíble.
Oscar Montesinos,
Hola,
La verdad que este tema es muy complejo y bastante amplio. Para mí el primer punto que siempre debemos cuestionarnos siempre es si estamos creando correctamente las sentencias SQL.
En la mayoría de los casos se gana más mejorando las sentencias que con índices. Esto no quita que haya que tener unos buenos índices :-)
Ibon.
Hola Sergio:
Un punto importante es que a la hora de hacer un "SELECT" es importante especificar los campo de la BD.
Por ejemplo: "SELECT Codigo, Nombre FROM....", ya que usar "*", es decir seleccionar todo es una mala practica, ya que retarda la respuesta en la consulta.
Muy buenas!
No sé si en versiones anteriores del motor del SQL Server (o en otros RDBMS) esto funcionaría así, pero en SQL Server 2005 hacer un: "AND EXISTS (SELECT IDTABLA FROM TABLA WHERE...)" es exactamente lo mismo que hacer un: "AND EXISTS (SELECT TOP 1 IDTABLA...)". Comprobado con el Plan de Ejecucion.
Hombre yo supongo que los que se dedican a diseñar y optimizar los 'parsers' o intérpretes de las consultas, estas cosas ya las tienen en cuenta... ;P
Ah otra cosa... si queréis acelerar bastante los tiempos de las consultas, no hay nada mejor que añadir la cláusula "WITH(NOLOCK)" al SELECT. Así:
SELECT CAMPO1, CAMPO2, CAMPOn FROM TABLA T WITH(NOLOCK) WHERE ...
Se ahorran muchos valiosos milisegundos de proceso, al no tener que bloquear el motor la fila que se está leyendo en ese momento.
Sergi, me encantó el artículo porque basicamente lo que propone es aplicar un poco de sentido comun, yo creo que simplemente teniendo en cuenta estos conceptos, ya nos ahorraremos muchisimos dolores de cabeza.
Hola Pablo,
Con "WITH(NOLOCK)" lo que haces es decirle que ignore los bloqueos que pueda haber sobre la base de datos y obtenga los datos. La consulta va más rápida, pero cuidado!!! puede que no estés leyendo la información correcta. Por ejemplo, si hay una transacción que se está ejecutando y bloquea la tabla y todavía no se ha hecho el commit, cuando haces la select es como si no si no la transicción no existiese.
Alguna recomendación más..
> Evaluar la desnormalización del E-R para mejorar las sentencias.
> Eliminar los índices que no se usan!!
> Usar procedimientos almacenados.
> Elegir correctamente entre índices agrupados y no agrupados..
> ....
Muy bueno, gracias!
Luis.
Buen aporte, siempre es bueno tener a mano estas herramientas.
Excelente post, como viene siendo habitual en ti...
Saludos crack! ;-)
Estupendo! Alli nos veremos amigo!
Una pregunta por curiosidad... ¿qué zonas se suponen que son el sureste Español?
Q buena data ..
ademas del sp_who agregaría el sp_sho2 !!!
Hola Sergio! (que bonito nombre :D)
Con respecto al atributo Theme, también deberíamos conocer el atributo StylesheetTheme, queda como tarea para los lectores investigar cual es la diferencia entre usar Theme y StylesheetTheme :). Por cierto lo postean, para los demás los lectores ;).
estoy desarrollando una aplicacion la cual tiene validar a los usuarios a traves de un token, especificamente token ikey 2000. el problema es el siguiente:
no puedo visualizar los certificados instalados en el lado del cliente al momento de subir mi aplicacion a un server,he implementado tu codigo pero no me trae los certificados, probe con System.Security.Cryptography.X509Certificates
el cual si me trae los certificados pero los de la maquina en la que se esta ejecutando.
he intentado de todo, por lo que lei instale un certificado en el servidor y active el puerto ssl,pero nada.
si puedes ayudarme te lo agradeceria.
La verdad hace poco me enteré que habia aspnet3.0 y es deprimente ya que recien estoy comenzando a migrar a asp.net 2.0 y resulta que ya es cosa vieja!!! que rabia!!
y ahora no se si me paso directo a la 3.0 o me quedo en la 2.0 que hacer!!!!!
Chau
Hola:
Este control se puede integrar en asp normal?
Como ejecuto el control en el evento onload, ya segui las instrucciones que vienen en la pagina, pero no se muestra el mensaje de espera.
Podrias ayudarme??
Gracias.
Hola tocayo
He probado el codigo de la centralizacion de errores en el global.asax, pero encuentro un caso en el que no puedo utilizar session ahi por que está fuera de contexto, es como si no se permitiera utilizar a session en evento en ciertos tipos de errores.
Por lo que entiendo hay un momento al iniciarse la solicitud en el cual el objeto session no esta disponible y en ese instante al producirse y llegar al Application_Error se produce un segundo error ya que session no está disponible. Por tanto puede haber un "hueco" en esta centralizacion , la pregunta del millón seria como capturas esos errores?
En el caso concreto de mi error resulta que mi proyecto web hacia referencia a una version de assembly donde tengo tableAdapters los que uso para enlazar a grids, y resulta que mi proyecto BLL hace tambien referencia a ese assembly pero dio la casualidad que no era la ultima y se produjo un conflicto de versiones que resultó en la generacion del error
Si me permites cambiaria un poquito el codigo a esta forma,
Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
' Se desencadena cuando ocurre un error
Try
Dim oErr As Exception
oErr = Server.GetLastError.InnerException
Session("Errores") = "Global: " & _
Server.GetLastError.Message & " errrooorr: " & oErr.ToString
Response.Redirect(Request.ApplicationPath & "/ErrorPage.aspx")
Catch ex As Exception
End Try
End Sub
de esta forma no pierdo el error original
salu2
SergioT
no stan mal pro deverias poner mas eske eso son muy pocos pro estan xulo jaja
Pienso de la misma forma, no trabaje nunca en asp.net 1, lo hacia en asp, y ahora recien estoy trabajando es asp.net 2.0 y me a costado tiempo, en trabajarle y dominarlo, me estoy metiendo con Asp.net ajax, y ahora me encuentro y que con CPT, y ASP.net 3.0, definitivamente esta profesion es para ESTUDIAR Y ESTUDIAR.... PERO asp.net 3.0 te deminarè
Al leer estas respuestas me doy cuenta cada dia lo ignorante que sigo siendo...uf, excelente corrección..Voy a implementarla en mis proyectos.
He leido tu comentario acerca del error, y a mi me esta sucediendo lo mismo, con mi proveedor de Internet, y me han abierto una incidencia para mirarlo. Si no es mucha indiscrecion. Cual es tu proveedor ?
hola yo tambien soy sordo y casualmente estudio ingenieria informatica , te entiendo y se por lo que pasates porque yo igual lo estoy pasando , con la diferencia que me acompaña un interprete y el ciego no es mi amigo pues cursa el 4to año y yo el 2do.yo confio en que pronto seremos muchos sordos ingenieros y que para es entonces los profesores nos apoyen mas . ahora depende de nosotros. SUERTE
MI NOMBRE ES MICHEL CASTANEDA PEDROSO Y PUEDES CONTACTARME AL michelcastaneda2007@yahoo.es
HOLA YO TAMBIEN SOY SORDO Y TU EXPERIENCIA ES UN POCO LA MIA , ESTUDIO INGENIERIA INFORMATICA Y SE DE QUE VAN LAS COSAS . CURSO EL 2DO AñO Y EL CIEGO NO ES MI AMIGO POR ESTAR EN AñOS DIFERENTES PERO ESA ES IGUAL MI HISTORIA . CON LA DIFERENCIA QUE TENGO INTERPRETE. SUERTE
Yo opino lo mismos que xpfoxitos,, esta mejor estructurado el libro de Ian Sommerville que el de Pressman
yo bopino que la mejor es:
msdn.microsoft.com/.../vwd de Visual Web Developer Express que uso en los cursos que imparto
los dichos son buenos pero estan muy pasados
pero no esta nada mal
Muy bueno, yo agregaría uno más:
- No les vendas espejitos de colores a tus empleados. Típico ej. Mc Donalds, con "empelado del mes". Si querés premiarlos o incentivarlos hay que hacerlo por la remuneración, lo demás es todo verso.
No me gustan la primera solución que aportas, aunque estoy de acuerdo con el resto.
Hay una cosa que está clarísima: si lo que queremos es mejorar el desempeño de una base de datos a la hora de realizar consultas (hablamos de consultas y no de inserciones, etc. porque éstas últimas involucran a pocos datos, por lo general), lo que hay que hacer es optimizar la base de datos. Esto se consigue mediante dos frentes:
- > Optimizar el diseño físico de la base de datos. Utilizar índices, árboles, tablas hash... lo que más interese, dependiendo el tipo de consultas que se hacen: fijas, por patrones... etc.
- > Optimizar las propias consultas, sobre todo los útiles y malditos JOIN, de los cuales existen tres alternativas (al menos en Oracle): MERGE, HASH, NESTED. El administrador de la base de datos puede jugar un poco con ésto.
¡¡Ale, ya tenéis material para investigar!!
Lourdes, Es arsys y ya abrieron una incidencia con Microsoft, aplicaron el SP en los servidores y ya funciona!
mientras no habia SP tenia que migrar los sitios web a asp.net 2.0
Ninguno de los vinculos funciona, me gustria que lo revises. Gracias de antemano por la ayuda.
Hola Luis
Efectivamente algunos enlaces pueden quedar desactualizados por ser de la version 1.1. En ese caso te recomiendo que vayas al sitio web oficial de asp.net www.asp.net
De todas formas he comprobado el ultimo y si va Es el centro de recursos: www.microsoft.com/.../basico.mspx
Gracias por el aviso
Excelentes cometarios me sirvio bastante
ps creo que deberias poner dichos mas nuevos por que ya stan muy pasados pero estan buenos de igual forma hacen reflexionar...... bueno al menos a mi sip
Espero verte por el curso. Me han dicho que eres bueno dando clases!
estan muy pasados pero ala final sirben y deverian aver nuevos dichos
Hola Sergio
Me tome al atrevimiento de referenciar tu articulo para agregar unos tips mas sobre este tema
Generar HTMLTable on-the-fly. Asignar texto a la celda (HTML, Controles, Texto)
geeks.ms/.../generar-htmltable-on-the-fly-asignar-texto-a-la-celda-html-controles-texto.aspx
Hola José
Interesantes tips
Ya sabes que el conocimiento es un bien que crece a medida que se comparte!!
Perfectosss..
esty de acuerdo con sergio,
coincido contigo..
quería matizar varias cosas de lo que has comentado.
El error no indica modificar el machine.config, si no machineKey, que es algo que podemos cambiar en nuestro Web.config.
El error no viene producido por la sesión, si no porque la clave para encriptar el ViewState no es el mismo de una máquina a otra, con la cuál, una encripta el ViewState y te lo envía pera al hacer un postback e ir a otra máquina no sabe desencriptar el ViewState.
Para ello hay que coger todas las máquinas y para esa aplicación poner el mismo machineKey en todas en el Web.config, para que cuando una encripta, cualquier otra sepa desencriptar.
Espero haber aclarado esto un poco más!
Gracias Maestro por la puntualizacion!
A ver si nos vemos pronto para otra queimada
;-)
Un abrazo desde Murcia
gracias por las definiciones, son de mucha ayuda =)
GRACIAS!!! me brillaron los ojos al ver esto,
sobre todo por q soy una novata.
yo he utilizado DotNetNuke y he salido espantado de lo cutre que está maquetado, demasiadas tablas, y aunque te curres un skin sin tablas.... el contenido es muy jodido adornar con css pq todo son tablas (y muchas), así que me ha tocado buscar otro más accesible.
Super buena...
No dejes de actualizarla
Hola Sergio.
Tengo una duda al respecto. Tu solución termina por especificar los timeout en el web.config, o sea, que especifica los tiempos de espera a nivel de toda la aplicación.
Yo tengo una sola página en concreto, que es la que se encarga de realizar un largo proceso, mientras que las demás páginas tienen un funcionamiento normal.
Entonces, no quisiera modificar el timeout para toda la aplicación, sino solamente para esa página.
¿Como se modifican esos valores desde código?
Un Saludo!
Muy facil MonteZion,escribes en esa pagina por ejemplo en el evento Page_Load session.timeout=X donde X es el tiempo en minutos.
SAludos
La verdad está muy cool este trace, sirve para realizar testing de tiempos, gracias motz!!
Tienes que configurar tu Directorio Virtual como Directorio Seguro (HTTPS) y despues hay una opción para decirle al Directorio Virtual que Acepte Certificados Digitales (Tienes que marcar esa opción).
Un saludo.
Gracias.. la solución es EXACTA
Hola , he leido los comentarios y me paracen muy buena alternativas sobre todo eso de revisar la estructura del ER , pienso que es el diseño de la BD de donde parte todas las soluciones , adicionalmente puedo agregar algo que a mi me sirvio mucho , por ejemplo en las consultas con join normalmente se hacen a una tabla pero tambien se pueden meter aqui querys (complejos)que evitan crear vistas y/o otros querys antes del select principal , esto agiliza mucho el proceso
select codigo, apellidos , nombres
from empleados
inner join
( select id_tipo_empleado
from tipo_empleado
where id_tipo_empleado= 'CONTABILIDAD'
) as tipo on tipo.id_tipo_empleado= empleados.id_tipo_empleado
Excellente
He estado trabajando mucho en la optimización de consultas de mis aplicaciones y mis recomendaciones son las siguientes:
No hacer join entre más de 3 tablas, si es necesario recomiendo la creación de vistas.
No usar subquerys, esto son muy costosos de resolver por el motor de SQL.
Evitar el uso de 'OR' en los filtros, lo mismo para la clausula 'campo in (campolista1, campolista2, campolista3, etc)'
al usar campo que no son llaves o usar funciones para comparar campos, también agrega costo a la consulta, por ejemplo:
...Where cast(codigo as varchar(4)) = 'hola'
o
...where campo1 + campo2 = '200901'
"El sabio escucha más no discute" Mimeo
Gracias por los consejos de optimizacion, aqui les dejo un ejemplo SQL server 2005 que sirve para buscar las coincidencias de nombres o apellidos cuando estos estan en dos campos diferentes y cuando hay mas de un nombre o mas de un apellido;
declare @data as nvarchar(255),
@records as int
set @data = 'carlos javier'
set @records = 20
SET CONCAT_NULL_YIELDS_NULL OFF
SELECT top (@records) CHARINDEX(@data , ' ' + nombre + ' ' + apellidos) ,nombre + ' ' + apellidos
as result, id_usuario as id FROM [dbo].[nombreTabla]
where CHARINDEX(' ' + @data , ' ' + nombre + ' ' + apellidos) > 0
order by nombre
Muchas gracias Sergio, la explicacion me funciono de maravilla...
creo que son muy buenos por que muchas veces nos quitan la palabra de la voca
Ojo que el Session.TimeOut es para la duración de las variables de Sesion, no tiene nada que ver con la duración de la ejecución de un comando de ejecución. Lo correcto es utilizar el executionTimeout en el web.config o en la cadena de conexión a la BD con el connectionTimeout.
Despues de registrar la cuenta si el problema persiste se debe de instalar la cuenta al asp con la misma instruccion -i
aspnet_regiis -i
en el mismo directorio
Buenisimo!!!, gracias a lo q propusieron acelere la consulta de 12 segundos a nada, jejejeje GRAX
Muy bueno el post yo he estado buscando informacion y se debe tener en cuenta también la cuestion hardware.
Cheken este enlace para saber como optimizar el HW para mejor rendimiento de la base de datos
www.sqlmax.com/optimizacion.asp
Gracias por los consejos nunca está demás recordar algunas prácticas triviales que no deben llevarse a cabo, además sirven para aquellas personas que se están integrando al mundo laboral
En realidad para que una aplicación de servidor pueda tener acceso a los certificados de cliente, primero en el servidor web debe instalarse un certificado de servidor SSL. Esto se hace desde el Management console del servidor se añaden los complementos de certificados. Ahí en el repositorio de certificados del equipo local se importa el certificado del sitio SSL y la Autoridad certificadora(AC), además el certificado de la AC debe colocarse en el repositorios de autoridades de confianza.
Posteriormente en el servidor Web como lo es IIS, debe configurarse el certificado importado en el paso anterior. En la cerpeta de la aplicación, entonces se especifica que se requiere de SSL y que se requieren certificados de cliente, por ultimo los certificados utilizados deben ser de la misma AC que se usó para el certificado de la servidor SSL.
Cualquier aclaración escribanme a carlos.solis@cfe.gob.mx
Antivirus: Security Essentials
Hi, excelente dato!!, pero para que sirve el: ConservativeSwapfileUsage=1 ?? :S, sacame esa duda :S
Carlos Solis, muy buena tu explicacion. Solo te comento que no es necesario que el certificado de SSL donde se encuentra el sitio IIS sea otorgado por la misma CA que emite los certificados de cliente.
A mi personalmente me gusta mas como antivirus Avast Home edition. www.avast.com/.../download-avast-home.html
Es también gratuito y se actualiza automáticamente, no como la versión gratuita de AVG que si no recuerdo mal, tienes que acordarte tu de actualizarla. Con Avast solo tienes que registrarte y al cabo del año cuando caduque la clave de licencia, vuelves a aolicitar una y listo, te la vuelven a mandar, la introduces en el programa y ya tienes otro año de actualizaciones automáticas. También me gusta instalar en el PC el spybot search & destroy. Puedes encontrar mas información en la web de Inteco en la sección útiles gratuitos: www.osi.es/.../Utiles_Gratuitos
Salu2 Sergio y adelante, una información interesante.
se puede utilizar un ThreadStart y un Thread para ejecutar un proceso largo:
Protected Sub MiButton_Click(....)
Dim ts as ThreadStart = New ThreadStart(AddressOf ProcesoLargo)
Dim Trabajo as Thread = New Thread(ts)
Trabajo.Start
Sub ProcesoLargo()
'Espera 10 segundos
thread.sleep(10000)
un saludo.
Cierto Antonio con el correspondiente Imports System.Threading sirve para asp.net 1 y 2 pero suele haber un problema: Como le notificas que ha terminado el proceso largo?
Una opcion que se me ocurre es enviar un email cuando haya terminado el proceso porque no vas a poder hacer un response.write.
Se os ocurre otra solucion mejor para notificar find e proceso largo? ;-)
*ojos que no ven corazon que no siente
*ten cerca a tus enemigos pero a tus amigos aun mas
*has bien y no mires a quien
Se puede utilizar una clase compartida. Tengo un pequeño ejemplo en mi blog:
toniogago.wordpress.com/.../realizar-un-proceso-batch-con-asp-net
Excelente explicación compañeros.
Saludos desde México.
Oscar ZoSo.
Dios aprieta, pero no ahorca.
Más vale pájaro en mano que ciento volando.
El que mucho abarca, poco aprieta.
Caminando se aprende a vivir.
Interesante aporte. Es importante conocer las distintas habilidades de dirección para obtener el máximo rédito de todos los empleados.
tenía problemas de timeout al ejecutar desde una web que contiene un reportviewer que ejecuta un procedimiento almacenado que tarda más de 2 minutos en ejecutarse.
Cambiando este tiempo en mi web.config se me ha solucionado el problema.
Ha sido muy útil.
Muchas gracias!!!!
Luz Marcos.
sin duda, opino lo mismo que ambos, Ian Sommerville es un gran libro, y es el que más he utilizado, no descarto a Pressman pero de preferencia me quedo con ingeniería de software de sommerville.
saludos.
mas vale mana que fuerza
Saludos, Sergio, te felicito, y te animo a que continues con tu blog, aunque te hayan enviado poco comentarios, ya que yo cree uno hace mas de un año, y me desencante porque no le di seguimiento, no sabia promocionarlo, ademas que no sacaba tiempo para poner temas, etc. pero que no te pase lo mismo que a mi,
Bendiciones y exitos
Josefina Marcano
Hola, otra herramienta muy buena bajo mi punto de vista, que tiene la opción de poder hacer que rindan mejor nuestras aplicaciones que están corriendo es "TuneUp utilities".
Saludos!
Hola a todos, el ser ANALISTA PROGRAMADOR Implica tener un comportamiento analitico de ver el proceso, es decir saber analizar el flujo de informacion,esto debe estar soportado por una metodologia en la que plasmes lo analizado y si ya hay un proceso aprendelo operativamente primero y luego plasma ese proceso con un lenguaje de programacion que intentas aprender, investiga pregunta utiliza todos los medios que te lleven a saber como hacerlo en conclusion tienes que investigar una vez aprendido esto se te va a ser mas facil el realizar otro proyecto ya que te as enrumbado en la experiencia de ser un programador para que luego subas a otros niveles de conocimiento.
Muy interesante, alguna utilidad más que sea potente y gratuita ? Saludos y gracias.
Me parece un tema a profundizar, CCleaner desde 2009 se sigue manteniendo a 2012 que casi estamos. No sé si en estos años puedes recomendar alguna otra. Saludos.