Category Archives: Programacion

Programación BATCH Avanzada

Temario.
1.- Variables y Argumentos.
2.- Imprimir caracteres de comandos.
3.- Algunas otras variables de Entorno.
4.- IF
5.- FOR
6.- Funciones
7.- Includes
8.- Misc
9.- EOF


Variables y Argumentos
El manejo de variables en batch, es muy flexible., y este nos permite hacer desde operaciones matematicas, hasta seleccionar ciertas partes de una variable, asi como reemplazar  cadenas de texto, y obtener archivos.. y sus propiedades, la fecha, hora, generar numeros aleatorios, entre otros.
Los argumentos que recibe un batch, son recibidos de la siguiente forma:
batch argumento1 dos tres
hara que:
%0 = batch
%1 = argumento1
%2 = dos
%3 = tres
en %0 se guardara, el nombre del archivo.
Podemos borrar el contenido de un parametro con el comando shift:

Codigo:

@echo off
echo %0 %1 %2 %3
shift /1
echo %0 %1 %2 %3

al llamar:

Codigo:

C:Documents and SettingsAdministradortempcurso>astring 123 456 789
astring 123 456 789
astring 456 789

shift borro, el primer argumento.
Tambien contamos con los siguientes modificadores para los archivos:

Codigo:

       %~f1        – regresa la ruta y el archivo de %1.
%~d1        – regresa la letra de la unidad de %1.
%~p1        – regresa solo la ruta del archivo %1.
%~n1        – regresa solo el nombre de archivo %1.
%~x1        – regresa solo la extension del archivo %1.
%~s1        – regresa solo la ruta, con directorios, con nombres cortos del archivo %1.
%~a1        – regresa los atributos del archivo.
%~t1        – regresa la hora/fecha del archivo %1
%~z1        – regresa el tamaño del archivo %1.

por ejemplo:
en un directorio donde tenemos:

Codigo:

C:Documents and SettingsAdministradortempcurso>dir
El volumen de la unidad C no tiene etiqueta.
El numero de serie del volumen es: A057-553B
Directorio de C:Documents and SettingsAdministradortempcurso
24/07/2006  12:25a      <DIR>          .
24/07/2006  12:25a      <DIR>          ..
24/07/2006  12:25a                   6 archivo.txt
1 archivos              6 bytes
2 dirs  401,715,161,088 bytes libres

este batch:

Codigo:

@echo off
echo Ruta al archivo: %~f1
echo Disco: %~d1
echo Solo ruta: %~p1
echo Nombre: %~n1
echo Extension: %~x1
echo Ruta Corta: %~s1
echo Atributos: %~a1
echo Fecha: %~t1
echo Tamaño: %~z1

Continue reading

Probando laravel

Me estoy planteando comenzar a utilizar Laravel debido a un articulo que me paso un amigo donde es comparado con codeigniter (http://www.cristalab.com/blog/porque-elegir-laravel-en-vez-de-codeigniter-c111947l/), sin embargo al intentar crear un proyecto con el utilizando el comando “composer” me arroja el siguiente error:

The mcrypt extension is missing. Please check your PHP configuration.

Por lo tanto me doy a la tarea de buscar en internet, y consigo el siguiente articulo donde básicamente la solución radica en tener que instalar la extensión libmcrypt pasando primero por su compilación y en mi caso la instalación del programa autoconf para posteriormente habilitarla dentro del archivo de configuración de php:

http://coolestguidesontheplanet.com/install-mcrypt-php-mac-osx-10-9-mavericks-development-server/

Espero les sirva.

Enjoy it!

Como utilizar funciones JAVA desde PL/SQL

java-plsql

Existe una manera de poder utilizar métodos desarrollados en java desde funciones en PL/SQL con la finalidad de poder aprovechar toda la potencia y flexibilidad de un lenguaje de programación orientado a objetos.

Para esto debemos cumplir con los siguientes puntos:

Crear una clase con un método estático público y que utilice variables de entrada/salida con tipos de datos simples

public class Factorial {
   public static int calcFactorial ( int n ) {
      if ( n == 1 ) return 1;
      else return n* calcFactorial ( n –1 );
   }
}

Cargar la clase java desde su código fuente (.java) o utilizando el archivo compilado (.class)

loadjava

Teniendo en cuenta que oe/oe vendría siendo usuario/password y que el comando debe ser ejecutado desde la carpeta bin de la instalación de oracle (donde se encuentran los binarios)

Como último paso se debe crear una función en la base de datos que sea la encargada de ser el puente entre la base de datos y la clase de java

CREATE OR REPLACE FUNCTION plstojavafac_fun (N NUMBER) 
RETURN NUMBER AS
LANGUAGE JAVA
NAME ‘Factorial.calcFactorial (int) return int’ ;

Finalmente utilizar la función creada desde PL/SQL

SELECT plstojavafac_fun (5)
FROM dual;

PLSTOJAVAFAC_FUN (5)
——————————
120

Para mas información pueden ahondar directamente en la documentación de oracle: http://docs.oracle.com/cd/A87860_01/doc/java.817/a81358/02_load3.htm

Leyes Obligatorias en la Programación

programacion-web-notepad2-separadores-de-texto-html_25421_8_1

 

  1. Cualquier programa, no importa cual, se queda obsoleto nada mas instalarlo.
  2. Es mas fácil cambiar las especificaciones para que se ajusten al programa que viceversa.
  3. Si un programa es útil, alguien te obligara a hacer cambios en el.
  4. Si un programa es inútil, alguien te obligara a documentarlo exhaustivamente.
  5. Solamente el 10 por ciento del código de cualquier programa llegara a ejecutarse en algún momento.
  6. El Software crece siempre hasta consumir todos los recursos disponibles.
  7. Cualquier programa no trivial, contiene al menos un error.
  8. La probabilidad de hacer el ridículo en una demostración publica de tu software es directamente proporcional al numero de gente viéndola, creciendo además de manera exponencial el riesgo cuanto mayor sea la cantidad de dinero invertido en dicha aplicación.
  9. Hasta que un programa no lleve al menos 6 meses en producción no se descubrirá su error mas grave.
  10. Hay una variedad infinita de errores indetectables. Por contra, los detectables son por definición finitos.
  11. El esfuerzo requerido para corregir un error se incrementa de manera exponencial con el tiempo.
  12. La complejidad de un programa siempre crece hasta que excede la capacidad del programador que lo tiene que mantener.
  13. Cualquier código de tu autoría que no hayas revisado en meses, bien podría haberlo escrito cualquier otra persona, porque al volverlo a revisar no te enteraras de nada.
  14. Dentro de cada pequeño programa hay un gran programa pujando por salir a la luz.
  15. Cuanto mas pronto comiences trabajar en tu programa, mas tiempo te llevara.
  16. Un proyecto mal planificado necesita hasta tres veces mas tiempo de lo esperado para terminarlo; un proyecto cuidadosamente planificado solo lleva 2 veces mas tiempo de lo estimado al principio.
  17. Meter mas programadores en un proyecto que va con retraso tan solo consigue retrasarlo mas.
  18. Un programa nunca esta menos de un 90% completo y nunca mas de un 95% completo.
  19. Si tu programa automatiza una porquería, solo conseguirás una porquería automatizada.
  20. Construye un programa que incluso un tonto pueda usar y solamente un tonto querrá usarlo.
  21. Los usuarios en realidad no saben lo que quieren de un programa hasta que lo usan.

Consumir una URL a través de un Proxy usando Certificados

Esta duda surgió ya que en mi trabajo el internet es a través de un proxy, pero por llevar poco tiempo en la empresa aun no tengo privilegios para navegar en internet, así que tuve que crear un proxy y usar el usuario y contraseña de un compañero para poder probar lo que estaba haciendo, uno de los problemas que me encontré es que el certificado no funcionaba y esto fue ya que desde la version 1.1 con un Service Pack especifico si se intenta usar un certificado en una pagina cuya dirección es distinta a la que dice en el certificado da error, es decir, la dirección a la que tenia q acceder era una ip 172.23.233.12 pero en el certificado decía que era una pagina www.mipagina.com, gracias a “San Google” pude encontrar la respuesta…

Aqui les dejo la solución, espero les sirva:

Fases del desarrollo de software

En la ingeniería del software el termino fases de desarrollo expresa como ha progresado el desarrollo de un software y cuanto desarrollo puede requerir. Cada versión importante de un producto pasa generalmente a través de una etapa en la que se agregan las nuevas características (etapa alfa), después una etapa donde se eliminan errores activamente (etapa beta), y finalmente una etapa en donde se han quitado todos los bugs importantes (etapa estable). Las etapas intermedias pueden también ser reconocidas. Las etapas se pueden anunciar y regular formalmente por los desarrolladores del producto, pero los términos se utilizan a veces de manera informal para describir el estado de un producto. Normalmente muchas compañías usan nombres en clave para las versiones antes del lanzamiento de un producto, aunque el producto y las características reales son raramente secretas.

 

Alfa

Para otros usos de este termino, véase Alfa (desambiguacion).

Es la primera versión del programa, la cual es enviada a los verificadores para probarla.

Algunos equipos de desarrollo utilizan el termino alfa informalmente para referirse a una fase donde un producto todavía es inestable, aguarda todavía a que se eliminen los errores o a la puesta en practica completa de toda su funcionalidad, pero satisface la mayoría de los requisitos.

El nombre se deriva de alfa, como se sabe, la primera letra en el alfabeto griego.

Beta

Una versión beta o lanzamiento beta representa generalmente la primera versión completa del programa informático o de otro producto, que es probable que sea inestable pero útil para que las demostraciones internas y las inspecciones previas seleccionen a clientes. Algunos desarrolladores se refieren a esta etapa como inspección previa (preview) o como una inspección previa técnica (technical preview [TP]). Esta etapa comienza a menudo cuando los desarrolladores anuncian una congelación de las características del producto, indicando que no serán agregadas mas características a esta versión y que solamente se harán pequeñas ediciones o se corregirán errores. Las versiones beta están en un paso intermedio en el ciclo de desarrollo completo. Los desarrolladores las lanzan a un grupo de probadores beta o betatesters (a veces el publico en general) para una prueba de usuario. Los probadores divulgan cualquier error que encuentran y características, a veces de menor importancia, que quisieran ver en la versión final.

Continue reading

Recursos en Ajax para tu Blog o Sitio Web

Necesitas darle a tu blog o sitio personal un look moderno?

AjaxBuddy es un repositorio gratis de herramientas web para dar un "Estilo Web 2.0", es genial para dueños de sitios que no tienen tiempo de aprender un lenguaje de programación por completo, o simplemente para tener el código de donde partir para hacer lo que necesitas. Muchos exigen reemplazar pequeños valores para comenzar a funcionar, pero incluso los más complejos son grandes herramientas de aprendizaje.

 

En la web encontraremos herramientas como:

Flickr Like edit

SlideShow Viewer

Ajax instant edit

Ajax Feed

 

Y muchas más, no dejen de visitar esta excelente página, en mi caso va directamente a mis marcadores. xD

Visto en Inglés en: LifeHacker
Link: AjaxBuddy

Instalar IIS despues de Asp .Net

Bueno resulta que por cabeza dura y por no usar casi el IIS, como siempre al formatear mi pc una de las primeras cosas que instalo es el Visual Studio y bueno resulta que hace poco instale el IIS pues necesitaba hacer pruebas con paginas en ASP y el entorno del Visual Studio 2005 no me lo permite, bueno todo perfecto hasta le abrí un puerto a mi router para poder acceder externamente y entonces me doy a la tarea de probar un foro que encontré en la red hecho en ASP .NET y mostrárselo a un amigo y me comienza a fallar y no entendía porque hasta q revisando los errores, me di cuenta que decía: “la Cuenta ASPNET no puede acceder a la metabase de IIS” y no lograba encontrar la solución hasta que di con la siguiente pagina

Modificar permisos de la cuenta de ASPNET

una vez probado eso seguía con el problema y seguí buscando y me encontré con el siguiente blog

Blog de Sergio Vázquez

Y el me decía exactamente donde y cuales son los famosos archivos a los cuales no tiene permiso la cuenta de ASPNET una vez asignado los permisos seguía con el mismo problema

Resulta que había utilizado el comando aspnet_regiis -ga en la consola q trae por defecto el Visual Studio 2005 y no funcionaba, con razón notaba algo raro al usar el comando, me metí en la consola que trae el sdk de el Net framework 2.0 y pude usar el comando correctamente.

Pero el problema persistía, así que seguí buscando y la solución la encontré con el comando aspnet_regiis -i
y listo solucionado el problema, pero bueno de verdad que me ha costado descubrir esto tan sencillo, ya para la próxima se que instalo primero el IIS y luego el Visual Studio así no me dará tantos dolores de Cabeza.

Nos vemos.