Ir al contenido principal

Entradas

Mostrando las entradas de abril, 2012

Averiguar el Id de Proceso en C#

No es raro que necesitemos identificar de forma única algún elemento de nuestros programas, en este caso me toco definir una llave para usar en un servidor de cache (memcached) que fuera la misma durante el tiempo en el que se ejecute un programa, pero que también sea diferente por cada proceso, la solución mas clara es utilizar el PID, valor que identifica a un proceso en el sistema operativo al menos en un periodo de tiempo. para averiguar este valor desde C#, y cualquier lenguaje de la .NET Framework basta con usar la siguiente instrucción. var PID = Process.GetCurrentProcess().Id;

Dibujar Lineas en AutoCAD

Este video muestra dos modos para dibujar lineas en AutoCAD usando la linea de comandos, el primero de estos modos es con coordenadas absolutas en el plano X,Y por ejemplo line 1,1  10,10 line 2,1   5,3 también se puede dibujar lineas utilizando un punto inicial, seguido de la magnitud del segmento y el angulo del mismo por ejemplo line 1,1  @ 10 < 45 este comando dibuja una linea desde 1,1 que tiene 10 unidades de largo, y esta a 45 grados del origen.

AST: (Abstract Syntax Tree)

Es una representación abstracta de la sintaxis de un código fuente y es abstracta por qué representa con detalle la sintaxis de un lenguaje de programación La Idea de una AST es que cada nodo se refiere a una construcción del código fuente por ejemplo existe el nodo If, While, asiganción. etc. Al final de las hojas se encuentran los terminales de una gramática por ejemplo las variables, operadores, literales etc. Ahora, porque AST y no colocar las acciones semánticas en la gramática: que todo necesitamos de las Acciones Semánticas para construir el árbol (pero para nada más) Raramente las herramientas para generar parser soportan atributos heredados y trasformar la gramática o utilizar la una pila es un tanto complicado. si se quiere interpretar un lenguaje la única forma (sin quebrarnos la cabeza) es con el AST. si se tiene N gramáticas es más fácil escribir acciones semánticas para construir el AST que traducir directamente. Así por ejemplo el árbol de la gramá

Apache Apuntar dominio.com a www.dominio.com

Y el pequeño issue del dia fue, www.misitio.com resultando en un Directory Listing sobre mi carpeta raiz (lo que me permitio descubrir un error en la configuracion de seguridad, por el listado de directorios),  pero usando misitio.com todo funcionaba bien. Despues de unos minutos de pensar en posibilidades, la primera que vino a mi mente fue la configuracion del DNS, estaba seguro de haber creado un registro tipo A para mi server, pero no estaba seguro de haber creado un alias para el subdominio www.misitio.com por lo que el primer paso fue confirmar que ambos dominios apuntaran al server correcto, para esto fue suficiente hacer ping a ambos ping midominio.com ping www.midominio.com en caso estos dos comandos no devuelvan la misma direccion ip, podemos asegurar que el problema esta en la configuracion del DNS, este no era el caso ya que se podia ver las carpetas en el directorio raiz, por lo que si estabamos haciendo la request al server correcto (explico esto porque es otro c

Averiguar el primer y último viernes de un mes con Java

A finales del 2011 desarrolle un proyecto que tomaba la asistencia de personas en  una oficina por medio de un dispositivo biometrico de huella digital. A la hora de generar los reportes de porcentaje de asistencia, calculaba un promedio de asistencia, si una persona solo asistía los viernes lo promediaba a 4 veces, pero el tiempo no es fácil de manejar, existe una anomalía, la cual es que ciertos meses una persona asiste 5 veces y en otras ocasiones 4. En febrero 2012 hay 4 viernes, y en Marzo 2012 hay 5 viernes. Esto vuelve el sistema inexacto, así que procede por investigar como averiguar cuantos viernes tiene un determinado mes, la lógica me dicto, saber la fecha del último viernes, y la del primer viernes, para poder encontrar la fórmula.  Calcular el último viernes. Calendar pCal=java.util.GregorianCalendar.getInstance(); pCal.set(GregorianCalendar.YEAR,2012); pCal.set(GregorianCalendar.MONTH,GregorianCalendar.APRIL); pCal.set(GregorianCalendar.DAY_OF_WEEK,GregorianCal